mirror of
https://github.com/hex248/ob248.com.git
synced 2026-02-07 18:23:04 +00:00
merge new into master
This commit is contained in:
13
node_modules/@radix-ui/number/README.md
generated
vendored
Normal file
13
node_modules/@radix-ui/number/README.md
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
# `number`
|
||||
|
||||
## Installation
|
||||
|
||||
```sh
|
||||
$ yarn add @radix-ui/number
|
||||
# or
|
||||
$ npm install @radix-ui/number
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
This is an internal utility, not intended for public usage.
|
||||
3
node_modules/@radix-ui/number/dist/index.d.mts
generated
vendored
Normal file
3
node_modules/@radix-ui/number/dist/index.d.mts
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
declare function clamp(value: number, [min, max]: [number, number]): number;
|
||||
|
||||
export { clamp };
|
||||
3
node_modules/@radix-ui/number/dist/index.d.ts
generated
vendored
Normal file
3
node_modules/@radix-ui/number/dist/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
declare function clamp(value: number, [min, max]: [number, number]): number;
|
||||
|
||||
export { clamp };
|
||||
31
node_modules/@radix-ui/number/dist/index.js
generated
vendored
Normal file
31
node_modules/@radix-ui/number/dist/index.js
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// packages/core/number/src/index.ts
|
||||
var index_exports = {};
|
||||
__export(index_exports, {
|
||||
clamp: () => clamp
|
||||
});
|
||||
module.exports = __toCommonJS(index_exports);
|
||||
|
||||
// packages/core/number/src/number.ts
|
||||
function clamp(value, [min, max]) {
|
||||
return Math.min(max, Math.max(min, value));
|
||||
}
|
||||
//# sourceMappingURL=index.js.map
|
||||
7
node_modules/@radix-ui/number/dist/index.js.map
generated
vendored
Normal file
7
node_modules/@radix-ui/number/dist/index.js.map
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../src/index.ts", "../src/number.ts"],
|
||||
"sourcesContent": ["export { clamp } from './number';\n", "function clamp(value: number, [min, max]: [number, number]): number {\n return Math.min(max, Math.max(min, value));\n}\n\nexport { clamp };\n"],
|
||||
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,SAAS,MAAM,OAAe,CAAC,KAAK,GAAG,GAA6B;AAClE,SAAO,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,KAAK,CAAC;AAC3C;",
|
||||
"names": []
|
||||
}
|
||||
8
node_modules/@radix-ui/number/dist/index.mjs
generated
vendored
Normal file
8
node_modules/@radix-ui/number/dist/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
// packages/core/number/src/number.ts
|
||||
function clamp(value, [min, max]) {
|
||||
return Math.min(max, Math.max(min, value));
|
||||
}
|
||||
export {
|
||||
clamp
|
||||
};
|
||||
//# sourceMappingURL=index.mjs.map
|
||||
7
node_modules/@radix-ui/number/dist/index.mjs.map
generated
vendored
Normal file
7
node_modules/@radix-ui/number/dist/index.mjs.map
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../src/number.ts"],
|
||||
"sourcesContent": ["function clamp(value: number, [min, max]: [number, number]): number {\n return Math.min(max, Math.max(min, value));\n}\n\nexport { clamp };\n"],
|
||||
"mappings": ";AAAA,SAAS,MAAM,OAAe,CAAC,KAAK,GAAG,GAA6B;AAClE,SAAO,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,KAAK,CAAC;AAC3C;",
|
||||
"names": []
|
||||
}
|
||||
62
node_modules/@radix-ui/number/package.json
generated
vendored
Normal file
62
node_modules/@radix-ui/number/package.json
generated
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"name": "@radix-ui/number",
|
||||
"version": "1.1.1",
|
||||
"license": "MIT",
|
||||
"source": "./src/index.ts",
|
||||
"main": "./dist/index.js",
|
||||
"module": "./dist/index.mjs",
|
||||
"publishConfig": {
|
||||
"main": "./dist/index.js",
|
||||
"module": "./dist/index.mjs",
|
||||
"types": "./dist/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"import": {
|
||||
"types": "./dist/index.d.mts",
|
||||
"default": "./dist/index.mjs"
|
||||
},
|
||||
"require": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"default": "./dist/index.js"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
"dist",
|
||||
"README.md"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"lint": "eslint --max-warnings 0 src",
|
||||
"clean": "rm -rf dist",
|
||||
"version": "yarn version"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@repo/eslint-config": "0.0.0",
|
||||
"@repo/typescript-config": "0.0.0",
|
||||
"eslint": "^9.18.0",
|
||||
"typescript": "^5.7.3"
|
||||
},
|
||||
"homepage": "https://radix-ui.com/primitives",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/radix-ui/primitives.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/radix-ui/primitives/issues"
|
||||
},
|
||||
"exports": {
|
||||
".": {
|
||||
"import": {
|
||||
"types": "./dist/index.d.mts",
|
||||
"default": "./dist/index.mjs"
|
||||
},
|
||||
"require": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"default": "./dist/index.js"
|
||||
}
|
||||
}
|
||||
},
|
||||
"types": "./dist/index.d.ts"
|
||||
}
|
||||
21
node_modules/@radix-ui/primitive/LICENSE
generated
vendored
Normal file
21
node_modules/@radix-ui/primitive/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 WorkOS
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
3
node_modules/@radix-ui/primitive/README.md
generated
vendored
Normal file
3
node_modules/@radix-ui/primitive/README.md
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# `primitive`
|
||||
|
||||
This is an internal utility, not intended for public usage.
|
||||
20
node_modules/@radix-ui/primitive/dist/index.d.mts
generated
vendored
Normal file
20
node_modules/@radix-ui/primitive/dist/index.d.mts
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
declare const canUseDOM: boolean;
|
||||
declare function composeEventHandlers<E extends {
|
||||
defaultPrevented: boolean;
|
||||
}>(originalEventHandler?: (event: E) => void, ourEventHandler?: (event: E) => void, { checkForDefaultPrevented }?: {
|
||||
checkForDefaultPrevented?: boolean | undefined;
|
||||
}): (event: E) => void;
|
||||
declare function getOwnerWindow(element: Node | null | undefined): Window & typeof globalThis;
|
||||
declare function getOwnerDocument(element: Node | null | undefined): Document;
|
||||
/**
|
||||
* Lifted from https://github.com/ariakit/ariakit/blob/main/packages/ariakit-core/src/utils/dom.ts#L37
|
||||
* MIT License, Copyright (c) AriaKit.
|
||||
*/
|
||||
declare function getActiveElement(node: Node | null | undefined, activeDescendant?: boolean): HTMLElement | null;
|
||||
declare function isFrame(element: Element): element is HTMLIFrameElement;
|
||||
|
||||
type Timeout = ReturnType<typeof setTimeout>;
|
||||
type Interval = ReturnType<typeof setInterval>;
|
||||
type Immediate = ReturnType<typeof setImmediate>;
|
||||
|
||||
export { type Immediate, type Interval, type Timeout, canUseDOM, composeEventHandlers, getActiveElement, getOwnerDocument, getOwnerWindow, isFrame };
|
||||
20
node_modules/@radix-ui/primitive/dist/index.d.ts
generated
vendored
Normal file
20
node_modules/@radix-ui/primitive/dist/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
declare const canUseDOM: boolean;
|
||||
declare function composeEventHandlers<E extends {
|
||||
defaultPrevented: boolean;
|
||||
}>(originalEventHandler?: (event: E) => void, ourEventHandler?: (event: E) => void, { checkForDefaultPrevented }?: {
|
||||
checkForDefaultPrevented?: boolean | undefined;
|
||||
}): (event: E) => void;
|
||||
declare function getOwnerWindow(element: Node | null | undefined): Window & typeof globalThis;
|
||||
declare function getOwnerDocument(element: Node | null | undefined): Document;
|
||||
/**
|
||||
* Lifted from https://github.com/ariakit/ariakit/blob/main/packages/ariakit-core/src/utils/dom.ts#L37
|
||||
* MIT License, Copyright (c) AriaKit.
|
||||
*/
|
||||
declare function getActiveElement(node: Node | null | undefined, activeDescendant?: boolean): HTMLElement | null;
|
||||
declare function isFrame(element: Element): element is HTMLIFrameElement;
|
||||
|
||||
type Timeout = ReturnType<typeof setTimeout>;
|
||||
type Interval = ReturnType<typeof setInterval>;
|
||||
type Immediate = ReturnType<typeof setImmediate>;
|
||||
|
||||
export { type Immediate, type Interval, type Timeout, canUseDOM, composeEventHandlers, getActiveElement, getOwnerDocument, getOwnerWindow, isFrame };
|
||||
76
node_modules/@radix-ui/primitive/dist/index.js
generated
vendored
Normal file
76
node_modules/@radix-ui/primitive/dist/index.js
generated
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/index.ts
|
||||
var index_exports = {};
|
||||
__export(index_exports, {
|
||||
canUseDOM: () => canUseDOM,
|
||||
composeEventHandlers: () => composeEventHandlers,
|
||||
getActiveElement: () => getActiveElement,
|
||||
getOwnerDocument: () => getOwnerDocument,
|
||||
getOwnerWindow: () => getOwnerWindow,
|
||||
isFrame: () => isFrame
|
||||
});
|
||||
module.exports = __toCommonJS(index_exports);
|
||||
|
||||
// src/primitive.tsx
|
||||
var canUseDOM = !!(typeof window !== "undefined" && window.document && window.document.createElement);
|
||||
function composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {
|
||||
return function handleEvent(event) {
|
||||
originalEventHandler?.(event);
|
||||
if (checkForDefaultPrevented === false || !event.defaultPrevented) {
|
||||
return ourEventHandler?.(event);
|
||||
}
|
||||
};
|
||||
}
|
||||
function getOwnerWindow(element) {
|
||||
if (!canUseDOM) {
|
||||
throw new Error("Cannot access window outside of the DOM");
|
||||
}
|
||||
return element?.ownerDocument?.defaultView ?? window;
|
||||
}
|
||||
function getOwnerDocument(element) {
|
||||
if (!canUseDOM) {
|
||||
throw new Error("Cannot access document outside of the DOM");
|
||||
}
|
||||
return element?.ownerDocument ?? document;
|
||||
}
|
||||
function getActiveElement(node, activeDescendant = false) {
|
||||
const { activeElement } = getOwnerDocument(node);
|
||||
if (!activeElement?.nodeName) {
|
||||
return null;
|
||||
}
|
||||
if (isFrame(activeElement) && activeElement.contentDocument) {
|
||||
return getActiveElement(activeElement.contentDocument.body, activeDescendant);
|
||||
}
|
||||
if (activeDescendant) {
|
||||
const id = activeElement.getAttribute("aria-activedescendant");
|
||||
if (id) {
|
||||
const element = getOwnerDocument(activeElement).getElementById(id);
|
||||
if (element) {
|
||||
return element;
|
||||
}
|
||||
}
|
||||
}
|
||||
return activeElement;
|
||||
}
|
||||
function isFrame(element) {
|
||||
return element.tagName === "IFRAME";
|
||||
}
|
||||
//# sourceMappingURL=index.js.map
|
||||
7
node_modules/@radix-ui/primitive/dist/index.js.map
generated
vendored
Normal file
7
node_modules/@radix-ui/primitive/dist/index.js.map
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../src/index.ts", "../src/primitive.tsx"],
|
||||
"sourcesContent": ["export * from './primitive';\nexport type * from './types';\n", "/* eslint-disable no-restricted-properties */\n\n/* eslint-disable no-restricted-globals */\nexport const canUseDOM = !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n/* eslint-enable no-restricted-globals */\n\nexport function composeEventHandlers<E extends { defaultPrevented: boolean }>(\n originalEventHandler?: (event: E) => void,\n ourEventHandler?: (event: E) => void,\n { checkForDefaultPrevented = true } = {}\n) {\n return function handleEvent(event: E) {\n originalEventHandler?.(event);\n\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\n\nexport function getOwnerWindow(element: Node | null | undefined) {\n if (!canUseDOM) {\n throw new Error('Cannot access window outside of the DOM');\n }\n // eslint-disable-next-line no-restricted-globals\n return element?.ownerDocument?.defaultView ?? window;\n}\n\nexport function getOwnerDocument(element: Node | null | undefined) {\n if (!canUseDOM) {\n throw new Error('Cannot access document outside of the DOM');\n }\n // eslint-disable-next-line no-restricted-globals\n return element?.ownerDocument ?? document;\n}\n\n/**\n * Lifted from https://github.com/ariakit/ariakit/blob/main/packages/ariakit-core/src/utils/dom.ts#L37\n * MIT License, Copyright (c) AriaKit.\n */\nexport function getActiveElement(\n node: Node | null | undefined,\n activeDescendant = false\n): HTMLElement | null {\n const { activeElement } = getOwnerDocument(node);\n if (!activeElement?.nodeName) {\n // `activeElement` might be an empty object if we're interacting with elements\n // inside of an iframe.\n return null;\n }\n\n if (isFrame(activeElement) && activeElement.contentDocument) {\n return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n }\n\n if (activeDescendant) {\n const id = activeElement.getAttribute('aria-activedescendant');\n if (id) {\n const element = getOwnerDocument(activeElement).getElementById(id);\n if (element) {\n return element;\n }\n }\n }\n\n return activeElement as HTMLElement | null;\n}\n\nexport function isFrame(element: Element): element is HTMLIFrameElement {\n return element.tagName === 'IFRAME';\n}\n"],
|
||||
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACGO,IAAM,YAAY,CAAC,EACxB,OAAO,WAAW,eAClB,OAAO,YACP,OAAO,SAAS;AAIX,SAAS,qBACd,sBACA,iBACA,EAAE,2BAA2B,KAAK,IAAI,CAAC,GACvC;AACA,SAAO,SAAS,YAAY,OAAU;AACpC,2BAAuB,KAAK;AAE5B,QAAI,6BAA6B,SAAS,CAAC,MAAM,kBAAkB;AACjE,aAAO,kBAAkB,KAAK;AAAA,IAChC;AAAA,EACF;AACF;AAEO,SAAS,eAAe,SAAkC;AAC/D,MAAI,CAAC,WAAW;AACd,UAAM,IAAI,MAAM,yCAAyC;AAAA,EAC3D;AAEA,SAAO,SAAS,eAAe,eAAe;AAChD;AAEO,SAAS,iBAAiB,SAAkC;AACjE,MAAI,CAAC,WAAW;AACd,UAAM,IAAI,MAAM,2CAA2C;AAAA,EAC7D;AAEA,SAAO,SAAS,iBAAiB;AACnC;AAMO,SAAS,iBACd,MACA,mBAAmB,OACC;AACpB,QAAM,EAAE,cAAc,IAAI,iBAAiB,IAAI;AAC/C,MAAI,CAAC,eAAe,UAAU;AAG5B,WAAO;AAAA,EACT;AAEA,MAAI,QAAQ,aAAa,KAAK,cAAc,iBAAiB;AAC3D,WAAO,iBAAiB,cAAc,gBAAgB,MAAM,gBAAgB;AAAA,EAC9E;AAEA,MAAI,kBAAkB;AACpB,UAAM,KAAK,cAAc,aAAa,uBAAuB;AAC7D,QAAI,IAAI;AACN,YAAM,UAAU,iBAAiB,aAAa,EAAE,eAAe,EAAE;AACjE,UAAI,SAAS;AACX,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAEO,SAAS,QAAQ,SAAgD;AACtE,SAAO,QAAQ,YAAY;AAC7B;",
|
||||
"names": []
|
||||
}
|
||||
53
node_modules/@radix-ui/primitive/dist/index.mjs
generated
vendored
Normal file
53
node_modules/@radix-ui/primitive/dist/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
// src/primitive.tsx
|
||||
var canUseDOM = !!(typeof window !== "undefined" && window.document && window.document.createElement);
|
||||
function composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {
|
||||
return function handleEvent(event) {
|
||||
originalEventHandler?.(event);
|
||||
if (checkForDefaultPrevented === false || !event.defaultPrevented) {
|
||||
return ourEventHandler?.(event);
|
||||
}
|
||||
};
|
||||
}
|
||||
function getOwnerWindow(element) {
|
||||
if (!canUseDOM) {
|
||||
throw new Error("Cannot access window outside of the DOM");
|
||||
}
|
||||
return element?.ownerDocument?.defaultView ?? window;
|
||||
}
|
||||
function getOwnerDocument(element) {
|
||||
if (!canUseDOM) {
|
||||
throw new Error("Cannot access document outside of the DOM");
|
||||
}
|
||||
return element?.ownerDocument ?? document;
|
||||
}
|
||||
function getActiveElement(node, activeDescendant = false) {
|
||||
const { activeElement } = getOwnerDocument(node);
|
||||
if (!activeElement?.nodeName) {
|
||||
return null;
|
||||
}
|
||||
if (isFrame(activeElement) && activeElement.contentDocument) {
|
||||
return getActiveElement(activeElement.contentDocument.body, activeDescendant);
|
||||
}
|
||||
if (activeDescendant) {
|
||||
const id = activeElement.getAttribute("aria-activedescendant");
|
||||
if (id) {
|
||||
const element = getOwnerDocument(activeElement).getElementById(id);
|
||||
if (element) {
|
||||
return element;
|
||||
}
|
||||
}
|
||||
}
|
||||
return activeElement;
|
||||
}
|
||||
function isFrame(element) {
|
||||
return element.tagName === "IFRAME";
|
||||
}
|
||||
export {
|
||||
canUseDOM,
|
||||
composeEventHandlers,
|
||||
getActiveElement,
|
||||
getOwnerDocument,
|
||||
getOwnerWindow,
|
||||
isFrame
|
||||
};
|
||||
//# sourceMappingURL=index.mjs.map
|
||||
7
node_modules/@radix-ui/primitive/dist/index.mjs.map
generated
vendored
Normal file
7
node_modules/@radix-ui/primitive/dist/index.mjs.map
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../src/primitive.tsx"],
|
||||
"sourcesContent": ["/* eslint-disable no-restricted-properties */\n\n/* eslint-disable no-restricted-globals */\nexport const canUseDOM = !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n/* eslint-enable no-restricted-globals */\n\nexport function composeEventHandlers<E extends { defaultPrevented: boolean }>(\n originalEventHandler?: (event: E) => void,\n ourEventHandler?: (event: E) => void,\n { checkForDefaultPrevented = true } = {}\n) {\n return function handleEvent(event: E) {\n originalEventHandler?.(event);\n\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\n\nexport function getOwnerWindow(element: Node | null | undefined) {\n if (!canUseDOM) {\n throw new Error('Cannot access window outside of the DOM');\n }\n // eslint-disable-next-line no-restricted-globals\n return element?.ownerDocument?.defaultView ?? window;\n}\n\nexport function getOwnerDocument(element: Node | null | undefined) {\n if (!canUseDOM) {\n throw new Error('Cannot access document outside of the DOM');\n }\n // eslint-disable-next-line no-restricted-globals\n return element?.ownerDocument ?? document;\n}\n\n/**\n * Lifted from https://github.com/ariakit/ariakit/blob/main/packages/ariakit-core/src/utils/dom.ts#L37\n * MIT License, Copyright (c) AriaKit.\n */\nexport function getActiveElement(\n node: Node | null | undefined,\n activeDescendant = false\n): HTMLElement | null {\n const { activeElement } = getOwnerDocument(node);\n if (!activeElement?.nodeName) {\n // `activeElement` might be an empty object if we're interacting with elements\n // inside of an iframe.\n return null;\n }\n\n if (isFrame(activeElement) && activeElement.contentDocument) {\n return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n }\n\n if (activeDescendant) {\n const id = activeElement.getAttribute('aria-activedescendant');\n if (id) {\n const element = getOwnerDocument(activeElement).getElementById(id);\n if (element) {\n return element;\n }\n }\n }\n\n return activeElement as HTMLElement | null;\n}\n\nexport function isFrame(element: Element): element is HTMLIFrameElement {\n return element.tagName === 'IFRAME';\n}\n"],
|
||||
"mappings": ";AAGO,IAAM,YAAY,CAAC,EACxB,OAAO,WAAW,eAClB,OAAO,YACP,OAAO,SAAS;AAIX,SAAS,qBACd,sBACA,iBACA,EAAE,2BAA2B,KAAK,IAAI,CAAC,GACvC;AACA,SAAO,SAAS,YAAY,OAAU;AACpC,2BAAuB,KAAK;AAE5B,QAAI,6BAA6B,SAAS,CAAC,MAAM,kBAAkB;AACjE,aAAO,kBAAkB,KAAK;AAAA,IAChC;AAAA,EACF;AACF;AAEO,SAAS,eAAe,SAAkC;AAC/D,MAAI,CAAC,WAAW;AACd,UAAM,IAAI,MAAM,yCAAyC;AAAA,EAC3D;AAEA,SAAO,SAAS,eAAe,eAAe;AAChD;AAEO,SAAS,iBAAiB,SAAkC;AACjE,MAAI,CAAC,WAAW;AACd,UAAM,IAAI,MAAM,2CAA2C;AAAA,EAC7D;AAEA,SAAO,SAAS,iBAAiB;AACnC;AAMO,SAAS,iBACd,MACA,mBAAmB,OACC;AACpB,QAAM,EAAE,cAAc,IAAI,iBAAiB,IAAI;AAC/C,MAAI,CAAC,eAAe,UAAU;AAG5B,WAAO;AAAA,EACT;AAEA,MAAI,QAAQ,aAAa,KAAK,cAAc,iBAAiB;AAC3D,WAAO,iBAAiB,cAAc,gBAAgB,MAAM,gBAAgB;AAAA,EAC9E;AAEA,MAAI,kBAAkB;AACpB,UAAM,KAAK,cAAc,aAAa,uBAAuB;AAC7D,QAAI,IAAI;AACN,YAAM,UAAU,iBAAiB,aAAa,EAAE,eAAe,EAAE;AACjE,UAAI,SAAS;AACX,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAEO,SAAS,QAAQ,SAAgD;AACtE,SAAO,QAAQ,YAAY;AAC7B;",
|
||||
"names": []
|
||||
}
|
||||
47
node_modules/@radix-ui/primitive/package.json
generated
vendored
Normal file
47
node_modules/@radix-ui/primitive/package.json
generated
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
{
|
||||
"name": "@radix-ui/primitive",
|
||||
"version": "1.1.3",
|
||||
"license": "MIT",
|
||||
"source": "./src/index.ts",
|
||||
"main": "./dist/index.js",
|
||||
"module": "./dist/index.mjs",
|
||||
"files": [
|
||||
"dist",
|
||||
"README.md"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"devDependencies": {
|
||||
"eslint": "^9.18.0",
|
||||
"typescript": "^5.7.3",
|
||||
"@repo/builder": "0.0.0",
|
||||
"@repo/typescript-config": "0.0.0",
|
||||
"@repo/eslint-config": "0.0.0"
|
||||
},
|
||||
"homepage": "https://radix-ui.com/primitives",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/radix-ui/primitives.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/radix-ui/primitives/issues"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint --max-warnings 0 src",
|
||||
"clean": "rm -rf dist",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"build": "radix-build"
|
||||
},
|
||||
"types": "./dist/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"import": {
|
||||
"types": "./dist/index.d.mts",
|
||||
"default": "./dist/index.mjs"
|
||||
},
|
||||
"require": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"default": "./dist/index.js"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
21
node_modules/@radix-ui/react-accessible-icon/LICENSE
generated
vendored
Normal file
21
node_modules/@radix-ui/react-accessible-icon/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 WorkOS
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
3
node_modules/@radix-ui/react-accessible-icon/README.md
generated
vendored
Normal file
3
node_modules/@radix-ui/react-accessible-icon/README.md
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# `react-accessible-icon`
|
||||
|
||||
View docs [here](https://radix-ui.com/primitives/docs/utilities/accessible-icon).
|
||||
14
node_modules/@radix-ui/react-accessible-icon/dist/index.d.mts
generated
vendored
Normal file
14
node_modules/@radix-ui/react-accessible-icon/dist/index.d.mts
generated
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
import * as React from 'react';
|
||||
|
||||
interface AccessibleIconProps {
|
||||
children?: React.ReactNode;
|
||||
/**
|
||||
* The accessible label for the icon. This label will be visually hidden but announced to screen
|
||||
* reader users, similar to `alt` text for `img` tags.
|
||||
*/
|
||||
label: string;
|
||||
}
|
||||
declare const AccessibleIcon: React.FC<AccessibleIconProps>;
|
||||
declare const Root: React.FC<AccessibleIconProps>;
|
||||
|
||||
export { AccessibleIcon, type AccessibleIconProps, Root };
|
||||
14
node_modules/@radix-ui/react-accessible-icon/dist/index.d.ts
generated
vendored
Normal file
14
node_modules/@radix-ui/react-accessible-icon/dist/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
import * as React from 'react';
|
||||
|
||||
interface AccessibleIconProps {
|
||||
children?: React.ReactNode;
|
||||
/**
|
||||
* The accessible label for the icon. This label will be visually hidden but announced to screen
|
||||
* reader users, similar to `alt` text for `img` tags.
|
||||
*/
|
||||
label: string;
|
||||
}
|
||||
declare const AccessibleIcon: React.FC<AccessibleIconProps>;
|
||||
declare const Root: React.FC<AccessibleIconProps>;
|
||||
|
||||
export { AccessibleIcon, type AccessibleIconProps, Root };
|
||||
57
node_modules/@radix-ui/react-accessible-icon/dist/index.js
generated
vendored
Normal file
57
node_modules/@radix-ui/react-accessible-icon/dist/index.js
generated
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
"use strict";
|
||||
var __create = Object.create;
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __getProtoOf = Object.getPrototypeOf;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
||||
// If the importer is in node compatibility mode or this is not an ESM
|
||||
// file that has been converted to a CommonJS file using a Babel-
|
||||
// compatible transform (i.e. "__esModule" has not been set), then set
|
||||
// "default" to the CommonJS "module.exports" for node compatibility.
|
||||
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
||||
mod
|
||||
));
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/index.ts
|
||||
var index_exports = {};
|
||||
__export(index_exports, {
|
||||
AccessibleIcon: () => AccessibleIcon,
|
||||
Root: () => Root2
|
||||
});
|
||||
module.exports = __toCommonJS(index_exports);
|
||||
|
||||
// src/accessible-icon.tsx
|
||||
var React = __toESM(require("react"));
|
||||
var VisuallyHiddenPrimitive = __toESM(require("@radix-ui/react-visually-hidden"));
|
||||
var import_jsx_runtime = require("react/jsx-runtime");
|
||||
var NAME = "AccessibleIcon";
|
||||
var AccessibleIcon = ({ children, label }) => {
|
||||
const child = React.Children.only(children);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
||||
React.cloneElement(child, {
|
||||
// accessibility
|
||||
"aria-hidden": "true",
|
||||
focusable: "false"
|
||||
// See: https://allyjs.io/tutorials/focusing-in-svg.html#making-svg-elements-focusable
|
||||
}),
|
||||
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(VisuallyHiddenPrimitive.Root, { children: label })
|
||||
] });
|
||||
};
|
||||
AccessibleIcon.displayName = NAME;
|
||||
var Root2 = AccessibleIcon;
|
||||
//# sourceMappingURL=index.js.map
|
||||
7
node_modules/@radix-ui/react-accessible-icon/dist/index.js.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-accessible-icon/dist/index.js.map
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../src/index.ts", "../src/accessible-icon.tsx"],
|
||||
"sourcesContent": ["export {\n AccessibleIcon,\n //\n Root,\n} from './accessible-icon';\nexport type { AccessibleIconProps } from './accessible-icon';\n", "import * as React from 'react';\nimport * as VisuallyHiddenPrimitive from '@radix-ui/react-visually-hidden';\n\nconst NAME = 'AccessibleIcon';\n\ninterface AccessibleIconProps {\n children?: React.ReactNode;\n /**\n * The accessible label for the icon. This label will be visually hidden but announced to screen\n * reader users, similar to `alt` text for `img` tags.\n */\n label: string;\n}\n\nconst AccessibleIcon: React.FC<AccessibleIconProps> = ({ children, label }) => {\n const child = React.Children.only(children);\n return (\n <>\n {React.cloneElement(child as React.ReactElement<React.SVGAttributes<SVGElement>>, {\n // accessibility\n 'aria-hidden': 'true',\n focusable: 'false', // See: https://allyjs.io/tutorials/focusing-in-svg.html#making-svg-elements-focusable\n })}\n <VisuallyHiddenPrimitive.Root>{label}</VisuallyHiddenPrimitive.Root>\n </>\n );\n};\n\nAccessibleIcon.displayName = NAME;\n\nconst Root = AccessibleIcon;\n\nexport {\n AccessibleIcon,\n //\n Root,\n};\nexport type { AccessibleIconProps };\n"],
|
||||
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,cAAAA;AAAA;AAAA;;;ACAA,YAAuB;AACvB,8BAAyC;AAgBrC;AAdJ,IAAM,OAAO;AAWb,IAAM,iBAAgD,CAAC,EAAE,UAAU,MAAM,MAAM;AAC7E,QAAM,QAAc,eAAS,KAAK,QAAQ;AAC1C,SACE,4EACG;AAAA,IAAM,mBAAa,OAA8D;AAAA;AAAA,MAEhF,eAAe;AAAA,MACf,WAAW;AAAA;AAAA,IACb,CAAC;AAAA,IACD,4CAAyB,8BAAxB,EAA8B,iBAAM;AAAA,KACvC;AAEJ;AAEA,eAAe,cAAc;AAE7B,IAAMC,QAAO;",
|
||||
"names": ["Root", "Root"]
|
||||
}
|
||||
24
node_modules/@radix-ui/react-accessible-icon/dist/index.mjs
generated
vendored
Normal file
24
node_modules/@radix-ui/react-accessible-icon/dist/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
// src/accessible-icon.tsx
|
||||
import * as React from "react";
|
||||
import * as VisuallyHiddenPrimitive from "@radix-ui/react-visually-hidden";
|
||||
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
||||
var NAME = "AccessibleIcon";
|
||||
var AccessibleIcon = ({ children, label }) => {
|
||||
const child = React.Children.only(children);
|
||||
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
||||
React.cloneElement(child, {
|
||||
// accessibility
|
||||
"aria-hidden": "true",
|
||||
focusable: "false"
|
||||
// See: https://allyjs.io/tutorials/focusing-in-svg.html#making-svg-elements-focusable
|
||||
}),
|
||||
/* @__PURE__ */ jsx(VisuallyHiddenPrimitive.Root, { children: label })
|
||||
] });
|
||||
};
|
||||
AccessibleIcon.displayName = NAME;
|
||||
var Root2 = AccessibleIcon;
|
||||
export {
|
||||
AccessibleIcon,
|
||||
Root2 as Root
|
||||
};
|
||||
//# sourceMappingURL=index.mjs.map
|
||||
7
node_modules/@radix-ui/react-accessible-icon/dist/index.mjs.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-accessible-icon/dist/index.mjs.map
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../src/accessible-icon.tsx"],
|
||||
"sourcesContent": ["import * as React from 'react';\nimport * as VisuallyHiddenPrimitive from '@radix-ui/react-visually-hidden';\n\nconst NAME = 'AccessibleIcon';\n\ninterface AccessibleIconProps {\n children?: React.ReactNode;\n /**\n * The accessible label for the icon. This label will be visually hidden but announced to screen\n * reader users, similar to `alt` text for `img` tags.\n */\n label: string;\n}\n\nconst AccessibleIcon: React.FC<AccessibleIconProps> = ({ children, label }) => {\n const child = React.Children.only(children);\n return (\n <>\n {React.cloneElement(child as React.ReactElement<React.SVGAttributes<SVGElement>>, {\n // accessibility\n 'aria-hidden': 'true',\n focusable: 'false', // See: https://allyjs.io/tutorials/focusing-in-svg.html#making-svg-elements-focusable\n })}\n <VisuallyHiddenPrimitive.Root>{label}</VisuallyHiddenPrimitive.Root>\n </>\n );\n};\n\nAccessibleIcon.displayName = NAME;\n\nconst Root = AccessibleIcon;\n\nexport {\n AccessibleIcon,\n //\n Root,\n};\nexport type { AccessibleIconProps };\n"],
|
||||
"mappings": ";AAAA,YAAY,WAAW;AACvB,YAAY,6BAA6B;AAgBrC,mBAME,KANF;AAdJ,IAAM,OAAO;AAWb,IAAM,iBAAgD,CAAC,EAAE,UAAU,MAAM,MAAM;AAC7E,QAAM,QAAc,eAAS,KAAK,QAAQ;AAC1C,SACE,iCACG;AAAA,IAAM,mBAAa,OAA8D;AAAA;AAAA,MAEhF,eAAe;AAAA,MACf,WAAW;AAAA;AAAA,IACb,CAAC;AAAA,IACD,oBAAyB,8BAAxB,EAA8B,iBAAM;AAAA,KACvC;AAEJ;AAEA,eAAe,cAAc;AAE7B,IAAMA,QAAO;",
|
||||
"names": ["Root"]
|
||||
}
|
||||
68
node_modules/@radix-ui/react-accessible-icon/package.json
generated
vendored
Normal file
68
node_modules/@radix-ui/react-accessible-icon/package.json
generated
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"name": "@radix-ui/react-accessible-icon",
|
||||
"version": "1.1.7",
|
||||
"license": "MIT",
|
||||
"source": "./src/index.ts",
|
||||
"main": "./dist/index.js",
|
||||
"module": "./dist/index.mjs",
|
||||
"files": [
|
||||
"dist",
|
||||
"README.md"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"dependencies": {
|
||||
"@radix-ui/react-visually-hidden": "1.2.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react": "^19.0.7",
|
||||
"@types/react-dom": "^19.0.3",
|
||||
"eslint": "^9.18.0",
|
||||
"react": "^19.1.0",
|
||||
"react-dom": "^19.1.0",
|
||||
"typescript": "^5.7.3",
|
||||
"@repo/typescript-config": "0.0.0",
|
||||
"@repo/builder": "0.0.0",
|
||||
"@repo/eslint-config": "0.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/react": "*",
|
||||
"@types/react-dom": "*",
|
||||
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
|
||||
"react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@types/react": {
|
||||
"optional": true
|
||||
},
|
||||
"@types/react-dom": {
|
||||
"optional": true
|
||||
}
|
||||
},
|
||||
"homepage": "https://radix-ui.com/primitives",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/radix-ui/primitives.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/radix-ui/primitives/issues"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint --max-warnings 0 src",
|
||||
"clean": "rm -rf dist",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"build": "radix-build"
|
||||
},
|
||||
"types": "./dist/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"import": {
|
||||
"types": "./dist/index.d.mts",
|
||||
"default": "./dist/index.mjs"
|
||||
},
|
||||
"require": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"default": "./dist/index.js"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
21
node_modules/@radix-ui/react-accordion/LICENSE
generated
vendored
Normal file
21
node_modules/@radix-ui/react-accordion/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 WorkOS
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
3
node_modules/@radix-ui/react-accordion/README.md
generated
vendored
Normal file
3
node_modules/@radix-ui/react-accordion/README.md
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# `react-accordion`
|
||||
|
||||
View docs [here](https://radix-ui.com/primitives/docs/components/accordion).
|
||||
114
node_modules/@radix-ui/react-accordion/dist/index.d.mts
generated
vendored
Normal file
114
node_modules/@radix-ui/react-accordion/dist/index.d.mts
generated
vendored
Normal file
@@ -0,0 +1,114 @@
|
||||
import * as _radix_ui_react_context from '@radix-ui/react-context';
|
||||
import React from 'react';
|
||||
import { Primitive } from '@radix-ui/react-primitive';
|
||||
import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
|
||||
|
||||
type Direction = 'ltr' | 'rtl';
|
||||
declare const createAccordionScope: _radix_ui_react_context.CreateScope;
|
||||
interface AccordionSingleProps extends AccordionImplSingleProps {
|
||||
type: 'single';
|
||||
}
|
||||
interface AccordionMultipleProps extends AccordionImplMultipleProps {
|
||||
type: 'multiple';
|
||||
}
|
||||
declare const Accordion: React.ForwardRefExoticComponent<(AccordionSingleProps | AccordionMultipleProps) & React.RefAttributes<HTMLDivElement>>;
|
||||
interface AccordionImplSingleProps extends AccordionImplProps {
|
||||
/**
|
||||
* The controlled stateful value of the accordion item whose content is expanded.
|
||||
*/
|
||||
value?: string;
|
||||
/**
|
||||
* The value of the item whose content is expanded when the accordion is initially rendered. Use
|
||||
* `defaultValue` if you do not need to control the state of an accordion.
|
||||
*/
|
||||
defaultValue?: string;
|
||||
/**
|
||||
* The callback that fires when the state of the accordion changes.
|
||||
*/
|
||||
onValueChange?(value: string): void;
|
||||
/**
|
||||
* Whether an accordion item can be collapsed after it has been opened.
|
||||
* @default false
|
||||
*/
|
||||
collapsible?: boolean;
|
||||
}
|
||||
interface AccordionImplMultipleProps extends AccordionImplProps {
|
||||
/**
|
||||
* The controlled stateful value of the accordion items whose contents are expanded.
|
||||
*/
|
||||
value?: string[];
|
||||
/**
|
||||
* The value of the items whose contents are expanded when the accordion is initially rendered. Use
|
||||
* `defaultValue` if you do not need to control the state of an accordion.
|
||||
*/
|
||||
defaultValue?: string[];
|
||||
/**
|
||||
* The callback that fires when the state of the accordion changes.
|
||||
*/
|
||||
onValueChange?(value: string[]): void;
|
||||
}
|
||||
type PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;
|
||||
interface AccordionImplProps extends PrimitiveDivProps {
|
||||
/**
|
||||
* Whether or not an accordion is disabled from user interaction.
|
||||
*
|
||||
* @defaultValue false
|
||||
*/
|
||||
disabled?: boolean;
|
||||
/**
|
||||
* The layout in which the Accordion operates.
|
||||
* @default vertical
|
||||
*/
|
||||
orientation?: React.AriaAttributes['aria-orientation'];
|
||||
/**
|
||||
* The language read direction.
|
||||
*/
|
||||
dir?: Direction;
|
||||
}
|
||||
type CollapsibleProps = React.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Root>;
|
||||
interface AccordionItemProps extends Omit<CollapsibleProps, 'open' | 'defaultOpen' | 'onOpenChange'> {
|
||||
/**
|
||||
* Whether or not an accordion item is disabled from user interaction.
|
||||
*
|
||||
* @defaultValue false
|
||||
*/
|
||||
disabled?: boolean;
|
||||
/**
|
||||
* A string value for the accordion item. All items within an accordion should use a unique value.
|
||||
*/
|
||||
value: string;
|
||||
}
|
||||
/**
|
||||
* `AccordionItem` contains all of the parts of a collapsible section inside of an `Accordion`.
|
||||
*/
|
||||
declare const AccordionItem: React.ForwardRefExoticComponent<AccordionItemProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type PrimitiveHeading3Props = React.ComponentPropsWithoutRef<typeof Primitive.h3>;
|
||||
interface AccordionHeaderProps extends PrimitiveHeading3Props {
|
||||
}
|
||||
/**
|
||||
* `AccordionHeader` contains the content for the parts of an `AccordionItem` that will be visible
|
||||
* whether or not its content is collapsed.
|
||||
*/
|
||||
declare const AccordionHeader: React.ForwardRefExoticComponent<AccordionHeaderProps & React.RefAttributes<HTMLHeadingElement>>;
|
||||
type CollapsibleTriggerProps = React.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Trigger>;
|
||||
interface AccordionTriggerProps extends CollapsibleTriggerProps {
|
||||
}
|
||||
/**
|
||||
* `AccordionTrigger` is the trigger that toggles the collapsed state of an `AccordionItem`. It
|
||||
* should always be nested inside of an `AccordionHeader`.
|
||||
*/
|
||||
declare const AccordionTrigger: React.ForwardRefExoticComponent<AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
type CollapsibleContentProps = React.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Content>;
|
||||
interface AccordionContentProps extends CollapsibleContentProps {
|
||||
}
|
||||
/**
|
||||
* `AccordionContent` contains the collapsible content for an `AccordionItem`.
|
||||
*/
|
||||
declare const AccordionContent: React.ForwardRefExoticComponent<AccordionContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Root: React.ForwardRefExoticComponent<(AccordionSingleProps | AccordionMultipleProps) & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Item: React.ForwardRefExoticComponent<AccordionItemProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Header: React.ForwardRefExoticComponent<AccordionHeaderProps & React.RefAttributes<HTMLHeadingElement>>;
|
||||
declare const Trigger: React.ForwardRefExoticComponent<AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
declare const Content: React.ForwardRefExoticComponent<AccordionContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
|
||||
export { Accordion, AccordionContent, type AccordionContentProps, AccordionHeader, type AccordionHeaderProps, AccordionItem, type AccordionItemProps, type AccordionMultipleProps, type AccordionSingleProps, AccordionTrigger, type AccordionTriggerProps, Content, Header, Item, Root, Trigger, createAccordionScope };
|
||||
114
node_modules/@radix-ui/react-accordion/dist/index.d.ts
generated
vendored
Normal file
114
node_modules/@radix-ui/react-accordion/dist/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,114 @@
|
||||
import * as _radix_ui_react_context from '@radix-ui/react-context';
|
||||
import React from 'react';
|
||||
import { Primitive } from '@radix-ui/react-primitive';
|
||||
import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
|
||||
|
||||
type Direction = 'ltr' | 'rtl';
|
||||
declare const createAccordionScope: _radix_ui_react_context.CreateScope;
|
||||
interface AccordionSingleProps extends AccordionImplSingleProps {
|
||||
type: 'single';
|
||||
}
|
||||
interface AccordionMultipleProps extends AccordionImplMultipleProps {
|
||||
type: 'multiple';
|
||||
}
|
||||
declare const Accordion: React.ForwardRefExoticComponent<(AccordionSingleProps | AccordionMultipleProps) & React.RefAttributes<HTMLDivElement>>;
|
||||
interface AccordionImplSingleProps extends AccordionImplProps {
|
||||
/**
|
||||
* The controlled stateful value of the accordion item whose content is expanded.
|
||||
*/
|
||||
value?: string;
|
||||
/**
|
||||
* The value of the item whose content is expanded when the accordion is initially rendered. Use
|
||||
* `defaultValue` if you do not need to control the state of an accordion.
|
||||
*/
|
||||
defaultValue?: string;
|
||||
/**
|
||||
* The callback that fires when the state of the accordion changes.
|
||||
*/
|
||||
onValueChange?(value: string): void;
|
||||
/**
|
||||
* Whether an accordion item can be collapsed after it has been opened.
|
||||
* @default false
|
||||
*/
|
||||
collapsible?: boolean;
|
||||
}
|
||||
interface AccordionImplMultipleProps extends AccordionImplProps {
|
||||
/**
|
||||
* The controlled stateful value of the accordion items whose contents are expanded.
|
||||
*/
|
||||
value?: string[];
|
||||
/**
|
||||
* The value of the items whose contents are expanded when the accordion is initially rendered. Use
|
||||
* `defaultValue` if you do not need to control the state of an accordion.
|
||||
*/
|
||||
defaultValue?: string[];
|
||||
/**
|
||||
* The callback that fires when the state of the accordion changes.
|
||||
*/
|
||||
onValueChange?(value: string[]): void;
|
||||
}
|
||||
type PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;
|
||||
interface AccordionImplProps extends PrimitiveDivProps {
|
||||
/**
|
||||
* Whether or not an accordion is disabled from user interaction.
|
||||
*
|
||||
* @defaultValue false
|
||||
*/
|
||||
disabled?: boolean;
|
||||
/**
|
||||
* The layout in which the Accordion operates.
|
||||
* @default vertical
|
||||
*/
|
||||
orientation?: React.AriaAttributes['aria-orientation'];
|
||||
/**
|
||||
* The language read direction.
|
||||
*/
|
||||
dir?: Direction;
|
||||
}
|
||||
type CollapsibleProps = React.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Root>;
|
||||
interface AccordionItemProps extends Omit<CollapsibleProps, 'open' | 'defaultOpen' | 'onOpenChange'> {
|
||||
/**
|
||||
* Whether or not an accordion item is disabled from user interaction.
|
||||
*
|
||||
* @defaultValue false
|
||||
*/
|
||||
disabled?: boolean;
|
||||
/**
|
||||
* A string value for the accordion item. All items within an accordion should use a unique value.
|
||||
*/
|
||||
value: string;
|
||||
}
|
||||
/**
|
||||
* `AccordionItem` contains all of the parts of a collapsible section inside of an `Accordion`.
|
||||
*/
|
||||
declare const AccordionItem: React.ForwardRefExoticComponent<AccordionItemProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type PrimitiveHeading3Props = React.ComponentPropsWithoutRef<typeof Primitive.h3>;
|
||||
interface AccordionHeaderProps extends PrimitiveHeading3Props {
|
||||
}
|
||||
/**
|
||||
* `AccordionHeader` contains the content for the parts of an `AccordionItem` that will be visible
|
||||
* whether or not its content is collapsed.
|
||||
*/
|
||||
declare const AccordionHeader: React.ForwardRefExoticComponent<AccordionHeaderProps & React.RefAttributes<HTMLHeadingElement>>;
|
||||
type CollapsibleTriggerProps = React.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Trigger>;
|
||||
interface AccordionTriggerProps extends CollapsibleTriggerProps {
|
||||
}
|
||||
/**
|
||||
* `AccordionTrigger` is the trigger that toggles the collapsed state of an `AccordionItem`. It
|
||||
* should always be nested inside of an `AccordionHeader`.
|
||||
*/
|
||||
declare const AccordionTrigger: React.ForwardRefExoticComponent<AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
type CollapsibleContentProps = React.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Content>;
|
||||
interface AccordionContentProps extends CollapsibleContentProps {
|
||||
}
|
||||
/**
|
||||
* `AccordionContent` contains the collapsible content for an `AccordionItem`.
|
||||
*/
|
||||
declare const AccordionContent: React.ForwardRefExoticComponent<AccordionContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Root: React.ForwardRefExoticComponent<(AccordionSingleProps | AccordionMultipleProps) & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Item: React.ForwardRefExoticComponent<AccordionItemProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Header: React.ForwardRefExoticComponent<AccordionHeaderProps & React.RefAttributes<HTMLHeadingElement>>;
|
||||
declare const Trigger: React.ForwardRefExoticComponent<AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
declare const Content: React.ForwardRefExoticComponent<AccordionContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
|
||||
export { Accordion, AccordionContent, type AccordionContentProps, AccordionHeader, type AccordionHeaderProps, AccordionItem, type AccordionItemProps, type AccordionMultipleProps, type AccordionSingleProps, AccordionTrigger, type AccordionTriggerProps, Content, Header, Item, Root, Trigger, createAccordionScope };
|
||||
352
node_modules/@radix-ui/react-accordion/dist/index.js
generated
vendored
Normal file
352
node_modules/@radix-ui/react-accordion/dist/index.js
generated
vendored
Normal file
@@ -0,0 +1,352 @@
|
||||
"use strict";
|
||||
"use client";
|
||||
var __create = Object.create;
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __getProtoOf = Object.getPrototypeOf;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
||||
// If the importer is in node compatibility mode or this is not an ESM
|
||||
// file that has been converted to a CommonJS file using a Babel-
|
||||
// compatible transform (i.e. "__esModule" has not been set), then set
|
||||
// "default" to the CommonJS "module.exports" for node compatibility.
|
||||
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
||||
mod
|
||||
));
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/index.ts
|
||||
var index_exports = {};
|
||||
__export(index_exports, {
|
||||
Accordion: () => Accordion,
|
||||
AccordionContent: () => AccordionContent,
|
||||
AccordionHeader: () => AccordionHeader,
|
||||
AccordionItem: () => AccordionItem,
|
||||
AccordionTrigger: () => AccordionTrigger,
|
||||
Content: () => Content2,
|
||||
Header: () => Header,
|
||||
Item: () => Item,
|
||||
Root: () => Root2,
|
||||
Trigger: () => Trigger2,
|
||||
createAccordionScope: () => createAccordionScope
|
||||
});
|
||||
module.exports = __toCommonJS(index_exports);
|
||||
|
||||
// src/accordion.tsx
|
||||
var import_react = __toESM(require("react"));
|
||||
var import_react_context = require("@radix-ui/react-context");
|
||||
var import_react_collection = require("@radix-ui/react-collection");
|
||||
var import_react_compose_refs = require("@radix-ui/react-compose-refs");
|
||||
var import_primitive = require("@radix-ui/primitive");
|
||||
var import_react_use_controllable_state = require("@radix-ui/react-use-controllable-state");
|
||||
var import_react_primitive = require("@radix-ui/react-primitive");
|
||||
var CollapsiblePrimitive = __toESM(require("@radix-ui/react-collapsible"));
|
||||
var import_react_collapsible = require("@radix-ui/react-collapsible");
|
||||
var import_react_id = require("@radix-ui/react-id");
|
||||
var import_react_direction = require("@radix-ui/react-direction");
|
||||
var import_jsx_runtime = require("react/jsx-runtime");
|
||||
var ACCORDION_NAME = "Accordion";
|
||||
var ACCORDION_KEYS = ["Home", "End", "ArrowDown", "ArrowUp", "ArrowLeft", "ArrowRight"];
|
||||
var [Collection, useCollection, createCollectionScope] = (0, import_react_collection.createCollection)(ACCORDION_NAME);
|
||||
var [createAccordionContext, createAccordionScope] = (0, import_react_context.createContextScope)(ACCORDION_NAME, [
|
||||
createCollectionScope,
|
||||
import_react_collapsible.createCollapsibleScope
|
||||
]);
|
||||
var useCollapsibleScope = (0, import_react_collapsible.createCollapsibleScope)();
|
||||
var Accordion = import_react.default.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { type, ...accordionProps } = props;
|
||||
const singleProps = accordionProps;
|
||||
const multipleProps = accordionProps;
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.Provider, { scope: props.__scopeAccordion, children: type === "multiple" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionImplMultiple, { ...multipleProps, ref: forwardedRef }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionImplSingle, { ...singleProps, ref: forwardedRef }) });
|
||||
}
|
||||
);
|
||||
Accordion.displayName = ACCORDION_NAME;
|
||||
var [AccordionValueProvider, useAccordionValueContext] = createAccordionContext(ACCORDION_NAME);
|
||||
var [AccordionCollapsibleProvider, useAccordionCollapsibleContext] = createAccordionContext(
|
||||
ACCORDION_NAME,
|
||||
{ collapsible: false }
|
||||
);
|
||||
var AccordionImplSingle = import_react.default.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const {
|
||||
value: valueProp,
|
||||
defaultValue,
|
||||
onValueChange = () => {
|
||||
},
|
||||
collapsible = false,
|
||||
...accordionSingleProps
|
||||
} = props;
|
||||
const [value, setValue] = (0, import_react_use_controllable_state.useControllableState)({
|
||||
prop: valueProp,
|
||||
defaultProp: defaultValue ?? "",
|
||||
onChange: onValueChange,
|
||||
caller: ACCORDION_NAME
|
||||
});
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
AccordionValueProvider,
|
||||
{
|
||||
scope: props.__scopeAccordion,
|
||||
value: import_react.default.useMemo(() => value ? [value] : [], [value]),
|
||||
onItemOpen: setValue,
|
||||
onItemClose: import_react.default.useCallback(() => collapsible && setValue(""), [collapsible, setValue]),
|
||||
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionImpl, { ...accordionSingleProps, ref: forwardedRef }) })
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
var AccordionImplMultiple = import_react.default.forwardRef((props, forwardedRef) => {
|
||||
const {
|
||||
value: valueProp,
|
||||
defaultValue,
|
||||
onValueChange = () => {
|
||||
},
|
||||
...accordionMultipleProps
|
||||
} = props;
|
||||
const [value, setValue] = (0, import_react_use_controllable_state.useControllableState)({
|
||||
prop: valueProp,
|
||||
defaultProp: defaultValue ?? [],
|
||||
onChange: onValueChange,
|
||||
caller: ACCORDION_NAME
|
||||
});
|
||||
const handleItemOpen = import_react.default.useCallback(
|
||||
(itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),
|
||||
[setValue]
|
||||
);
|
||||
const handleItemClose = import_react.default.useCallback(
|
||||
(itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),
|
||||
[setValue]
|
||||
);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
AccordionValueProvider,
|
||||
{
|
||||
scope: props.__scopeAccordion,
|
||||
value,
|
||||
onItemOpen: handleItemOpen,
|
||||
onItemClose: handleItemClose,
|
||||
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible: true, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionImpl, { ...accordionMultipleProps, ref: forwardedRef }) })
|
||||
}
|
||||
);
|
||||
});
|
||||
var [AccordionImplProvider, useAccordionContext] = createAccordionContext(ACCORDION_NAME);
|
||||
var AccordionImpl = import_react.default.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAccordion, disabled, dir, orientation = "vertical", ...accordionProps } = props;
|
||||
const accordionRef = import_react.default.useRef(null);
|
||||
const composedRefs = (0, import_react_compose_refs.useComposedRefs)(accordionRef, forwardedRef);
|
||||
const getItems = useCollection(__scopeAccordion);
|
||||
const direction = (0, import_react_direction.useDirection)(dir);
|
||||
const isDirectionLTR = direction === "ltr";
|
||||
const handleKeyDown = (0, import_primitive.composeEventHandlers)(props.onKeyDown, (event) => {
|
||||
if (!ACCORDION_KEYS.includes(event.key)) return;
|
||||
const target = event.target;
|
||||
const triggerCollection = getItems().filter((item) => !item.ref.current?.disabled);
|
||||
const triggerIndex = triggerCollection.findIndex((item) => item.ref.current === target);
|
||||
const triggerCount = triggerCollection.length;
|
||||
if (triggerIndex === -1) return;
|
||||
event.preventDefault();
|
||||
let nextIndex = triggerIndex;
|
||||
const homeIndex = 0;
|
||||
const endIndex = triggerCount - 1;
|
||||
const moveNext = () => {
|
||||
nextIndex = triggerIndex + 1;
|
||||
if (nextIndex > endIndex) {
|
||||
nextIndex = homeIndex;
|
||||
}
|
||||
};
|
||||
const movePrev = () => {
|
||||
nextIndex = triggerIndex - 1;
|
||||
if (nextIndex < homeIndex) {
|
||||
nextIndex = endIndex;
|
||||
}
|
||||
};
|
||||
switch (event.key) {
|
||||
case "Home":
|
||||
nextIndex = homeIndex;
|
||||
break;
|
||||
case "End":
|
||||
nextIndex = endIndex;
|
||||
break;
|
||||
case "ArrowRight":
|
||||
if (orientation === "horizontal") {
|
||||
if (isDirectionLTR) {
|
||||
moveNext();
|
||||
} else {
|
||||
movePrev();
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "ArrowDown":
|
||||
if (orientation === "vertical") {
|
||||
moveNext();
|
||||
}
|
||||
break;
|
||||
case "ArrowLeft":
|
||||
if (orientation === "horizontal") {
|
||||
if (isDirectionLTR) {
|
||||
movePrev();
|
||||
} else {
|
||||
moveNext();
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "ArrowUp":
|
||||
if (orientation === "vertical") {
|
||||
movePrev();
|
||||
}
|
||||
break;
|
||||
}
|
||||
const clampedIndex = nextIndex % triggerCount;
|
||||
triggerCollection[clampedIndex].ref.current?.focus();
|
||||
});
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
AccordionImplProvider,
|
||||
{
|
||||
scope: __scopeAccordion,
|
||||
disabled,
|
||||
direction: dir,
|
||||
orientation,
|
||||
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.Slot, { scope: __scopeAccordion, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
import_react_primitive.Primitive.div,
|
||||
{
|
||||
...accordionProps,
|
||||
"data-orientation": orientation,
|
||||
ref: composedRefs,
|
||||
onKeyDown: disabled ? void 0 : handleKeyDown
|
||||
}
|
||||
) })
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
var ITEM_NAME = "AccordionItem";
|
||||
var [AccordionItemProvider, useAccordionItemContext] = createAccordionContext(ITEM_NAME);
|
||||
var AccordionItem = import_react.default.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAccordion, value, ...accordionItemProps } = props;
|
||||
const accordionContext = useAccordionContext(ITEM_NAME, __scopeAccordion);
|
||||
const valueContext = useAccordionValueContext(ITEM_NAME, __scopeAccordion);
|
||||
const collapsibleScope = useCollapsibleScope(__scopeAccordion);
|
||||
const triggerId = (0, import_react_id.useId)();
|
||||
const open = value && valueContext.value.includes(value) || false;
|
||||
const disabled = accordionContext.disabled || props.disabled;
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
AccordionItemProvider,
|
||||
{
|
||||
scope: __scopeAccordion,
|
||||
open,
|
||||
disabled,
|
||||
triggerId,
|
||||
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
CollapsiblePrimitive.Root,
|
||||
{
|
||||
"data-orientation": accordionContext.orientation,
|
||||
"data-state": getState(open),
|
||||
...collapsibleScope,
|
||||
...accordionItemProps,
|
||||
ref: forwardedRef,
|
||||
disabled,
|
||||
open,
|
||||
onOpenChange: (open2) => {
|
||||
if (open2) {
|
||||
valueContext.onItemOpen(value);
|
||||
} else {
|
||||
valueContext.onItemClose(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
AccordionItem.displayName = ITEM_NAME;
|
||||
var HEADER_NAME = "AccordionHeader";
|
||||
var AccordionHeader = import_react.default.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAccordion, ...headerProps } = props;
|
||||
const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);
|
||||
const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
import_react_primitive.Primitive.h3,
|
||||
{
|
||||
"data-orientation": accordionContext.orientation,
|
||||
"data-state": getState(itemContext.open),
|
||||
"data-disabled": itemContext.disabled ? "" : void 0,
|
||||
...headerProps,
|
||||
ref: forwardedRef
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
AccordionHeader.displayName = HEADER_NAME;
|
||||
var TRIGGER_NAME = "AccordionTrigger";
|
||||
var AccordionTrigger = import_react.default.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAccordion, ...triggerProps } = props;
|
||||
const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);
|
||||
const itemContext = useAccordionItemContext(TRIGGER_NAME, __scopeAccordion);
|
||||
const collapsibleContext = useAccordionCollapsibleContext(TRIGGER_NAME, __scopeAccordion);
|
||||
const collapsibleScope = useCollapsibleScope(__scopeAccordion);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.ItemSlot, { scope: __scopeAccordion, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
CollapsiblePrimitive.Trigger,
|
||||
{
|
||||
"aria-disabled": itemContext.open && !collapsibleContext.collapsible || void 0,
|
||||
"data-orientation": accordionContext.orientation,
|
||||
id: itemContext.triggerId,
|
||||
...collapsibleScope,
|
||||
...triggerProps,
|
||||
ref: forwardedRef
|
||||
}
|
||||
) });
|
||||
}
|
||||
);
|
||||
AccordionTrigger.displayName = TRIGGER_NAME;
|
||||
var CONTENT_NAME = "AccordionContent";
|
||||
var AccordionContent = import_react.default.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAccordion, ...contentProps } = props;
|
||||
const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);
|
||||
const itemContext = useAccordionItemContext(CONTENT_NAME, __scopeAccordion);
|
||||
const collapsibleScope = useCollapsibleScope(__scopeAccordion);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
CollapsiblePrimitive.Content,
|
||||
{
|
||||
role: "region",
|
||||
"aria-labelledby": itemContext.triggerId,
|
||||
"data-orientation": accordionContext.orientation,
|
||||
...collapsibleScope,
|
||||
...contentProps,
|
||||
ref: forwardedRef,
|
||||
style: {
|
||||
["--radix-accordion-content-height"]: "var(--radix-collapsible-content-height)",
|
||||
["--radix-accordion-content-width"]: "var(--radix-collapsible-content-width)",
|
||||
...props.style
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
AccordionContent.displayName = CONTENT_NAME;
|
||||
function getState(open) {
|
||||
return open ? "open" : "closed";
|
||||
}
|
||||
var Root2 = Accordion;
|
||||
var Item = AccordionItem;
|
||||
var Header = AccordionHeader;
|
||||
var Trigger2 = AccordionTrigger;
|
||||
var Content2 = AccordionContent;
|
||||
//# sourceMappingURL=index.js.map
|
||||
7
node_modules/@radix-ui/react-accordion/dist/index.js.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-accordion/dist/index.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
320
node_modules/@radix-ui/react-accordion/dist/index.mjs
generated
vendored
Normal file
320
node_modules/@radix-ui/react-accordion/dist/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,320 @@
|
||||
"use client";
|
||||
|
||||
// src/accordion.tsx
|
||||
import React from "react";
|
||||
import { createContextScope } from "@radix-ui/react-context";
|
||||
import { createCollection } from "@radix-ui/react-collection";
|
||||
import { useComposedRefs } from "@radix-ui/react-compose-refs";
|
||||
import { composeEventHandlers } from "@radix-ui/primitive";
|
||||
import { useControllableState } from "@radix-ui/react-use-controllable-state";
|
||||
import { Primitive } from "@radix-ui/react-primitive";
|
||||
import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
|
||||
import { createCollapsibleScope } from "@radix-ui/react-collapsible";
|
||||
import { useId } from "@radix-ui/react-id";
|
||||
import { useDirection } from "@radix-ui/react-direction";
|
||||
import { jsx } from "react/jsx-runtime";
|
||||
var ACCORDION_NAME = "Accordion";
|
||||
var ACCORDION_KEYS = ["Home", "End", "ArrowDown", "ArrowUp", "ArrowLeft", "ArrowRight"];
|
||||
var [Collection, useCollection, createCollectionScope] = createCollection(ACCORDION_NAME);
|
||||
var [createAccordionContext, createAccordionScope] = createContextScope(ACCORDION_NAME, [
|
||||
createCollectionScope,
|
||||
createCollapsibleScope
|
||||
]);
|
||||
var useCollapsibleScope = createCollapsibleScope();
|
||||
var Accordion = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { type, ...accordionProps } = props;
|
||||
const singleProps = accordionProps;
|
||||
const multipleProps = accordionProps;
|
||||
return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeAccordion, children: type === "multiple" ? /* @__PURE__ */ jsx(AccordionImplMultiple, { ...multipleProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(AccordionImplSingle, { ...singleProps, ref: forwardedRef }) });
|
||||
}
|
||||
);
|
||||
Accordion.displayName = ACCORDION_NAME;
|
||||
var [AccordionValueProvider, useAccordionValueContext] = createAccordionContext(ACCORDION_NAME);
|
||||
var [AccordionCollapsibleProvider, useAccordionCollapsibleContext] = createAccordionContext(
|
||||
ACCORDION_NAME,
|
||||
{ collapsible: false }
|
||||
);
|
||||
var AccordionImplSingle = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const {
|
||||
value: valueProp,
|
||||
defaultValue,
|
||||
onValueChange = () => {
|
||||
},
|
||||
collapsible = false,
|
||||
...accordionSingleProps
|
||||
} = props;
|
||||
const [value, setValue] = useControllableState({
|
||||
prop: valueProp,
|
||||
defaultProp: defaultValue ?? "",
|
||||
onChange: onValueChange,
|
||||
caller: ACCORDION_NAME
|
||||
});
|
||||
return /* @__PURE__ */ jsx(
|
||||
AccordionValueProvider,
|
||||
{
|
||||
scope: props.__scopeAccordion,
|
||||
value: React.useMemo(() => value ? [value] : [], [value]),
|
||||
onItemOpen: setValue,
|
||||
onItemClose: React.useCallback(() => collapsible && setValue(""), [collapsible, setValue]),
|
||||
children: /* @__PURE__ */ jsx(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible, children: /* @__PURE__ */ jsx(AccordionImpl, { ...accordionSingleProps, ref: forwardedRef }) })
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
var AccordionImplMultiple = React.forwardRef((props, forwardedRef) => {
|
||||
const {
|
||||
value: valueProp,
|
||||
defaultValue,
|
||||
onValueChange = () => {
|
||||
},
|
||||
...accordionMultipleProps
|
||||
} = props;
|
||||
const [value, setValue] = useControllableState({
|
||||
prop: valueProp,
|
||||
defaultProp: defaultValue ?? [],
|
||||
onChange: onValueChange,
|
||||
caller: ACCORDION_NAME
|
||||
});
|
||||
const handleItemOpen = React.useCallback(
|
||||
(itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),
|
||||
[setValue]
|
||||
);
|
||||
const handleItemClose = React.useCallback(
|
||||
(itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),
|
||||
[setValue]
|
||||
);
|
||||
return /* @__PURE__ */ jsx(
|
||||
AccordionValueProvider,
|
||||
{
|
||||
scope: props.__scopeAccordion,
|
||||
value,
|
||||
onItemOpen: handleItemOpen,
|
||||
onItemClose: handleItemClose,
|
||||
children: /* @__PURE__ */ jsx(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible: true, children: /* @__PURE__ */ jsx(AccordionImpl, { ...accordionMultipleProps, ref: forwardedRef }) })
|
||||
}
|
||||
);
|
||||
});
|
||||
var [AccordionImplProvider, useAccordionContext] = createAccordionContext(ACCORDION_NAME);
|
||||
var AccordionImpl = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAccordion, disabled, dir, orientation = "vertical", ...accordionProps } = props;
|
||||
const accordionRef = React.useRef(null);
|
||||
const composedRefs = useComposedRefs(accordionRef, forwardedRef);
|
||||
const getItems = useCollection(__scopeAccordion);
|
||||
const direction = useDirection(dir);
|
||||
const isDirectionLTR = direction === "ltr";
|
||||
const handleKeyDown = composeEventHandlers(props.onKeyDown, (event) => {
|
||||
if (!ACCORDION_KEYS.includes(event.key)) return;
|
||||
const target = event.target;
|
||||
const triggerCollection = getItems().filter((item) => !item.ref.current?.disabled);
|
||||
const triggerIndex = triggerCollection.findIndex((item) => item.ref.current === target);
|
||||
const triggerCount = triggerCollection.length;
|
||||
if (triggerIndex === -1) return;
|
||||
event.preventDefault();
|
||||
let nextIndex = triggerIndex;
|
||||
const homeIndex = 0;
|
||||
const endIndex = triggerCount - 1;
|
||||
const moveNext = () => {
|
||||
nextIndex = triggerIndex + 1;
|
||||
if (nextIndex > endIndex) {
|
||||
nextIndex = homeIndex;
|
||||
}
|
||||
};
|
||||
const movePrev = () => {
|
||||
nextIndex = triggerIndex - 1;
|
||||
if (nextIndex < homeIndex) {
|
||||
nextIndex = endIndex;
|
||||
}
|
||||
};
|
||||
switch (event.key) {
|
||||
case "Home":
|
||||
nextIndex = homeIndex;
|
||||
break;
|
||||
case "End":
|
||||
nextIndex = endIndex;
|
||||
break;
|
||||
case "ArrowRight":
|
||||
if (orientation === "horizontal") {
|
||||
if (isDirectionLTR) {
|
||||
moveNext();
|
||||
} else {
|
||||
movePrev();
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "ArrowDown":
|
||||
if (orientation === "vertical") {
|
||||
moveNext();
|
||||
}
|
||||
break;
|
||||
case "ArrowLeft":
|
||||
if (orientation === "horizontal") {
|
||||
if (isDirectionLTR) {
|
||||
movePrev();
|
||||
} else {
|
||||
moveNext();
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "ArrowUp":
|
||||
if (orientation === "vertical") {
|
||||
movePrev();
|
||||
}
|
||||
break;
|
||||
}
|
||||
const clampedIndex = nextIndex % triggerCount;
|
||||
triggerCollection[clampedIndex].ref.current?.focus();
|
||||
});
|
||||
return /* @__PURE__ */ jsx(
|
||||
AccordionImplProvider,
|
||||
{
|
||||
scope: __scopeAccordion,
|
||||
disabled,
|
||||
direction: dir,
|
||||
orientation,
|
||||
children: /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeAccordion, children: /* @__PURE__ */ jsx(
|
||||
Primitive.div,
|
||||
{
|
||||
...accordionProps,
|
||||
"data-orientation": orientation,
|
||||
ref: composedRefs,
|
||||
onKeyDown: disabled ? void 0 : handleKeyDown
|
||||
}
|
||||
) })
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
var ITEM_NAME = "AccordionItem";
|
||||
var [AccordionItemProvider, useAccordionItemContext] = createAccordionContext(ITEM_NAME);
|
||||
var AccordionItem = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAccordion, value, ...accordionItemProps } = props;
|
||||
const accordionContext = useAccordionContext(ITEM_NAME, __scopeAccordion);
|
||||
const valueContext = useAccordionValueContext(ITEM_NAME, __scopeAccordion);
|
||||
const collapsibleScope = useCollapsibleScope(__scopeAccordion);
|
||||
const triggerId = useId();
|
||||
const open = value && valueContext.value.includes(value) || false;
|
||||
const disabled = accordionContext.disabled || props.disabled;
|
||||
return /* @__PURE__ */ jsx(
|
||||
AccordionItemProvider,
|
||||
{
|
||||
scope: __scopeAccordion,
|
||||
open,
|
||||
disabled,
|
||||
triggerId,
|
||||
children: /* @__PURE__ */ jsx(
|
||||
CollapsiblePrimitive.Root,
|
||||
{
|
||||
"data-orientation": accordionContext.orientation,
|
||||
"data-state": getState(open),
|
||||
...collapsibleScope,
|
||||
...accordionItemProps,
|
||||
ref: forwardedRef,
|
||||
disabled,
|
||||
open,
|
||||
onOpenChange: (open2) => {
|
||||
if (open2) {
|
||||
valueContext.onItemOpen(value);
|
||||
} else {
|
||||
valueContext.onItemClose(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
AccordionItem.displayName = ITEM_NAME;
|
||||
var HEADER_NAME = "AccordionHeader";
|
||||
var AccordionHeader = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAccordion, ...headerProps } = props;
|
||||
const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);
|
||||
const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);
|
||||
return /* @__PURE__ */ jsx(
|
||||
Primitive.h3,
|
||||
{
|
||||
"data-orientation": accordionContext.orientation,
|
||||
"data-state": getState(itemContext.open),
|
||||
"data-disabled": itemContext.disabled ? "" : void 0,
|
||||
...headerProps,
|
||||
ref: forwardedRef
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
AccordionHeader.displayName = HEADER_NAME;
|
||||
var TRIGGER_NAME = "AccordionTrigger";
|
||||
var AccordionTrigger = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAccordion, ...triggerProps } = props;
|
||||
const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);
|
||||
const itemContext = useAccordionItemContext(TRIGGER_NAME, __scopeAccordion);
|
||||
const collapsibleContext = useAccordionCollapsibleContext(TRIGGER_NAME, __scopeAccordion);
|
||||
const collapsibleScope = useCollapsibleScope(__scopeAccordion);
|
||||
return /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: __scopeAccordion, children: /* @__PURE__ */ jsx(
|
||||
CollapsiblePrimitive.Trigger,
|
||||
{
|
||||
"aria-disabled": itemContext.open && !collapsibleContext.collapsible || void 0,
|
||||
"data-orientation": accordionContext.orientation,
|
||||
id: itemContext.triggerId,
|
||||
...collapsibleScope,
|
||||
...triggerProps,
|
||||
ref: forwardedRef
|
||||
}
|
||||
) });
|
||||
}
|
||||
);
|
||||
AccordionTrigger.displayName = TRIGGER_NAME;
|
||||
var CONTENT_NAME = "AccordionContent";
|
||||
var AccordionContent = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAccordion, ...contentProps } = props;
|
||||
const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);
|
||||
const itemContext = useAccordionItemContext(CONTENT_NAME, __scopeAccordion);
|
||||
const collapsibleScope = useCollapsibleScope(__scopeAccordion);
|
||||
return /* @__PURE__ */ jsx(
|
||||
CollapsiblePrimitive.Content,
|
||||
{
|
||||
role: "region",
|
||||
"aria-labelledby": itemContext.triggerId,
|
||||
"data-orientation": accordionContext.orientation,
|
||||
...collapsibleScope,
|
||||
...contentProps,
|
||||
ref: forwardedRef,
|
||||
style: {
|
||||
["--radix-accordion-content-height"]: "var(--radix-collapsible-content-height)",
|
||||
["--radix-accordion-content-width"]: "var(--radix-collapsible-content-width)",
|
||||
...props.style
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
AccordionContent.displayName = CONTENT_NAME;
|
||||
function getState(open) {
|
||||
return open ? "open" : "closed";
|
||||
}
|
||||
var Root2 = Accordion;
|
||||
var Item = AccordionItem;
|
||||
var Header = AccordionHeader;
|
||||
var Trigger2 = AccordionTrigger;
|
||||
var Content2 = AccordionContent;
|
||||
export {
|
||||
Accordion,
|
||||
AccordionContent,
|
||||
AccordionHeader,
|
||||
AccordionItem,
|
||||
AccordionTrigger,
|
||||
Content2 as Content,
|
||||
Header,
|
||||
Item,
|
||||
Root2 as Root,
|
||||
Trigger2 as Trigger,
|
||||
createAccordionScope
|
||||
};
|
||||
//# sourceMappingURL=index.mjs.map
|
||||
7
node_modules/@radix-ui/react-accordion/dist/index.mjs.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-accordion/dist/index.mjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
76
node_modules/@radix-ui/react-accordion/package.json
generated
vendored
Normal file
76
node_modules/@radix-ui/react-accordion/package.json
generated
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
{
|
||||
"name": "@radix-ui/react-accordion",
|
||||
"version": "1.2.12",
|
||||
"license": "MIT",
|
||||
"source": "./src/index.ts",
|
||||
"main": "./dist/index.js",
|
||||
"module": "./dist/index.mjs",
|
||||
"files": [
|
||||
"dist",
|
||||
"README.md"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"dependencies": {
|
||||
"@radix-ui/primitive": "1.1.3",
|
||||
"@radix-ui/react-collapsible": "1.1.12",
|
||||
"@radix-ui/react-collection": "1.1.7",
|
||||
"@radix-ui/react-compose-refs": "1.1.2",
|
||||
"@radix-ui/react-context": "1.1.2",
|
||||
"@radix-ui/react-direction": "1.1.1",
|
||||
"@radix-ui/react-primitive": "2.1.3",
|
||||
"@radix-ui/react-id": "1.1.1",
|
||||
"@radix-ui/react-use-controllable-state": "1.2.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react": "^19.0.7",
|
||||
"@types/react-dom": "^19.0.3",
|
||||
"eslint": "^9.18.0",
|
||||
"react": "^19.1.0",
|
||||
"react-dom": "^19.1.0",
|
||||
"typescript": "^5.7.3",
|
||||
"@repo/builder": "0.0.0",
|
||||
"@repo/eslint-config": "0.0.0",
|
||||
"@repo/typescript-config": "0.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/react": "*",
|
||||
"@types/react-dom": "*",
|
||||
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
|
||||
"react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@types/react": {
|
||||
"optional": true
|
||||
},
|
||||
"@types/react-dom": {
|
||||
"optional": true
|
||||
}
|
||||
},
|
||||
"homepage": "https://radix-ui.com/primitives",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/radix-ui/primitives.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/radix-ui/primitives/issues"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint --max-warnings 0 src",
|
||||
"clean": "rm -rf dist",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"build": "radix-build"
|
||||
},
|
||||
"types": "./dist/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"import": {
|
||||
"types": "./dist/index.d.mts",
|
||||
"default": "./dist/index.mjs"
|
||||
},
|
||||
"require": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"default": "./dist/index.js"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
21
node_modules/@radix-ui/react-alert-dialog/LICENSE
generated
vendored
Normal file
21
node_modules/@radix-ui/react-alert-dialog/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 WorkOS
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
3
node_modules/@radix-ui/react-alert-dialog/README.md
generated
vendored
Normal file
3
node_modules/@radix-ui/react-alert-dialog/README.md
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# `react-alert-dialog`
|
||||
|
||||
View docs [here](https://radix-ui.com/primitives/docs/components/alert-dialog).
|
||||
51
node_modules/@radix-ui/react-alert-dialog/dist/index.d.mts
generated
vendored
Normal file
51
node_modules/@radix-ui/react-alert-dialog/dist/index.d.mts
generated
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
import * as _radix_ui_react_context from '@radix-ui/react-context';
|
||||
import * as React from 'react';
|
||||
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
||||
|
||||
declare const createAlertDialogScope: _radix_ui_react_context.CreateScope;
|
||||
type DialogProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Root>;
|
||||
interface AlertDialogProps extends Omit<DialogProps, 'modal'> {
|
||||
}
|
||||
declare const AlertDialog: React.FC<AlertDialogProps>;
|
||||
type DialogTriggerProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Trigger>;
|
||||
interface AlertDialogTriggerProps extends DialogTriggerProps {
|
||||
}
|
||||
declare const AlertDialogTrigger: React.ForwardRefExoticComponent<AlertDialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
type DialogPortalProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Portal>;
|
||||
interface AlertDialogPortalProps extends DialogPortalProps {
|
||||
}
|
||||
declare const AlertDialogPortal: React.FC<AlertDialogPortalProps>;
|
||||
type DialogOverlayProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>;
|
||||
interface AlertDialogOverlayProps extends DialogOverlayProps {
|
||||
}
|
||||
declare const AlertDialogOverlay: React.ForwardRefExoticComponent<AlertDialogOverlayProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type DialogContentProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>;
|
||||
interface AlertDialogContentProps extends Omit<DialogContentProps, 'onPointerDownOutside' | 'onInteractOutside'> {
|
||||
}
|
||||
declare const AlertDialogContent: React.ForwardRefExoticComponent<AlertDialogContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type DialogTitleProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>;
|
||||
interface AlertDialogTitleProps extends DialogTitleProps {
|
||||
}
|
||||
declare const AlertDialogTitle: React.ForwardRefExoticComponent<AlertDialogTitleProps & React.RefAttributes<HTMLHeadingElement>>;
|
||||
type DialogDescriptionProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>;
|
||||
interface AlertDialogDescriptionProps extends DialogDescriptionProps {
|
||||
}
|
||||
declare const AlertDialogDescription: React.ForwardRefExoticComponent<AlertDialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
|
||||
type DialogCloseProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Close>;
|
||||
interface AlertDialogActionProps extends DialogCloseProps {
|
||||
}
|
||||
declare const AlertDialogAction: React.ForwardRefExoticComponent<AlertDialogActionProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
interface AlertDialogCancelProps extends DialogCloseProps {
|
||||
}
|
||||
declare const AlertDialogCancel: React.ForwardRefExoticComponent<AlertDialogCancelProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
declare const Root: React.FC<AlertDialogProps>;
|
||||
declare const Trigger: React.ForwardRefExoticComponent<AlertDialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
declare const Portal: React.FC<AlertDialogPortalProps>;
|
||||
declare const Overlay: React.ForwardRefExoticComponent<AlertDialogOverlayProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Content: React.ForwardRefExoticComponent<AlertDialogContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Action: React.ForwardRefExoticComponent<AlertDialogActionProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
declare const Cancel: React.ForwardRefExoticComponent<AlertDialogCancelProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
declare const Title: React.ForwardRefExoticComponent<AlertDialogTitleProps & React.RefAttributes<HTMLHeadingElement>>;
|
||||
declare const Description: React.ForwardRefExoticComponent<AlertDialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
|
||||
|
||||
export { Action, AlertDialog, AlertDialogAction, type AlertDialogActionProps, AlertDialogCancel, type AlertDialogCancelProps, AlertDialogContent, type AlertDialogContentProps, AlertDialogDescription, type AlertDialogDescriptionProps, AlertDialogOverlay, type AlertDialogOverlayProps, AlertDialogPortal, type AlertDialogPortalProps, type AlertDialogProps, AlertDialogTitle, type AlertDialogTitleProps, AlertDialogTrigger, type AlertDialogTriggerProps, Cancel, Content, Description, Overlay, Portal, Root, Title, Trigger, createAlertDialogScope };
|
||||
51
node_modules/@radix-ui/react-alert-dialog/dist/index.d.ts
generated
vendored
Normal file
51
node_modules/@radix-ui/react-alert-dialog/dist/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
import * as _radix_ui_react_context from '@radix-ui/react-context';
|
||||
import * as React from 'react';
|
||||
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
||||
|
||||
declare const createAlertDialogScope: _radix_ui_react_context.CreateScope;
|
||||
type DialogProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Root>;
|
||||
interface AlertDialogProps extends Omit<DialogProps, 'modal'> {
|
||||
}
|
||||
declare const AlertDialog: React.FC<AlertDialogProps>;
|
||||
type DialogTriggerProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Trigger>;
|
||||
interface AlertDialogTriggerProps extends DialogTriggerProps {
|
||||
}
|
||||
declare const AlertDialogTrigger: React.ForwardRefExoticComponent<AlertDialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
type DialogPortalProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Portal>;
|
||||
interface AlertDialogPortalProps extends DialogPortalProps {
|
||||
}
|
||||
declare const AlertDialogPortal: React.FC<AlertDialogPortalProps>;
|
||||
type DialogOverlayProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>;
|
||||
interface AlertDialogOverlayProps extends DialogOverlayProps {
|
||||
}
|
||||
declare const AlertDialogOverlay: React.ForwardRefExoticComponent<AlertDialogOverlayProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type DialogContentProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>;
|
||||
interface AlertDialogContentProps extends Omit<DialogContentProps, 'onPointerDownOutside' | 'onInteractOutside'> {
|
||||
}
|
||||
declare const AlertDialogContent: React.ForwardRefExoticComponent<AlertDialogContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type DialogTitleProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>;
|
||||
interface AlertDialogTitleProps extends DialogTitleProps {
|
||||
}
|
||||
declare const AlertDialogTitle: React.ForwardRefExoticComponent<AlertDialogTitleProps & React.RefAttributes<HTMLHeadingElement>>;
|
||||
type DialogDescriptionProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>;
|
||||
interface AlertDialogDescriptionProps extends DialogDescriptionProps {
|
||||
}
|
||||
declare const AlertDialogDescription: React.ForwardRefExoticComponent<AlertDialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
|
||||
type DialogCloseProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Close>;
|
||||
interface AlertDialogActionProps extends DialogCloseProps {
|
||||
}
|
||||
declare const AlertDialogAction: React.ForwardRefExoticComponent<AlertDialogActionProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
interface AlertDialogCancelProps extends DialogCloseProps {
|
||||
}
|
||||
declare const AlertDialogCancel: React.ForwardRefExoticComponent<AlertDialogCancelProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
declare const Root: React.FC<AlertDialogProps>;
|
||||
declare const Trigger: React.ForwardRefExoticComponent<AlertDialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
declare const Portal: React.FC<AlertDialogPortalProps>;
|
||||
declare const Overlay: React.ForwardRefExoticComponent<AlertDialogOverlayProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Content: React.ForwardRefExoticComponent<AlertDialogContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Action: React.ForwardRefExoticComponent<AlertDialogActionProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
declare const Cancel: React.ForwardRefExoticComponent<AlertDialogCancelProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
declare const Title: React.ForwardRefExoticComponent<AlertDialogTitleProps & React.RefAttributes<HTMLHeadingElement>>;
|
||||
declare const Description: React.ForwardRefExoticComponent<AlertDialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
|
||||
|
||||
export { Action, AlertDialog, AlertDialogAction, type AlertDialogActionProps, AlertDialogCancel, type AlertDialogCancelProps, AlertDialogContent, type AlertDialogContentProps, AlertDialogDescription, type AlertDialogDescriptionProps, AlertDialogOverlay, type AlertDialogOverlayProps, AlertDialogPortal, type AlertDialogPortalProps, type AlertDialogProps, AlertDialogTitle, type AlertDialogTitleProps, AlertDialogTrigger, type AlertDialogTriggerProps, Cancel, Content, Description, Overlay, Portal, Root, Title, Trigger, createAlertDialogScope };
|
||||
202
node_modules/@radix-ui/react-alert-dialog/dist/index.js
generated
vendored
Normal file
202
node_modules/@radix-ui/react-alert-dialog/dist/index.js
generated
vendored
Normal file
@@ -0,0 +1,202 @@
|
||||
"use strict";
|
||||
"use client";
|
||||
var __create = Object.create;
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __getProtoOf = Object.getPrototypeOf;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
||||
// If the importer is in node compatibility mode or this is not an ESM
|
||||
// file that has been converted to a CommonJS file using a Babel-
|
||||
// compatible transform (i.e. "__esModule" has not been set), then set
|
||||
// "default" to the CommonJS "module.exports" for node compatibility.
|
||||
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
||||
mod
|
||||
));
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/index.ts
|
||||
var index_exports = {};
|
||||
__export(index_exports, {
|
||||
Action: () => Action,
|
||||
AlertDialog: () => AlertDialog,
|
||||
AlertDialogAction: () => AlertDialogAction,
|
||||
AlertDialogCancel: () => AlertDialogCancel,
|
||||
AlertDialogContent: () => AlertDialogContent,
|
||||
AlertDialogDescription: () => AlertDialogDescription,
|
||||
AlertDialogOverlay: () => AlertDialogOverlay,
|
||||
AlertDialogPortal: () => AlertDialogPortal,
|
||||
AlertDialogTitle: () => AlertDialogTitle,
|
||||
AlertDialogTrigger: () => AlertDialogTrigger,
|
||||
Cancel: () => Cancel,
|
||||
Content: () => Content2,
|
||||
Description: () => Description2,
|
||||
Overlay: () => Overlay2,
|
||||
Portal: () => Portal2,
|
||||
Root: () => Root2,
|
||||
Title: () => Title2,
|
||||
Trigger: () => Trigger2,
|
||||
createAlertDialogScope: () => createAlertDialogScope
|
||||
});
|
||||
module.exports = __toCommonJS(index_exports);
|
||||
|
||||
// src/alert-dialog.tsx
|
||||
var React = __toESM(require("react"));
|
||||
var import_react_context = require("@radix-ui/react-context");
|
||||
var import_react_compose_refs = require("@radix-ui/react-compose-refs");
|
||||
var DialogPrimitive = __toESM(require("@radix-ui/react-dialog"));
|
||||
var import_react_dialog = require("@radix-ui/react-dialog");
|
||||
var import_primitive = require("@radix-ui/primitive");
|
||||
var import_react_slot = require("@radix-ui/react-slot");
|
||||
var import_jsx_runtime = require("react/jsx-runtime");
|
||||
var ROOT_NAME = "AlertDialog";
|
||||
var [createAlertDialogContext, createAlertDialogScope] = (0, import_react_context.createContextScope)(ROOT_NAME, [
|
||||
import_react_dialog.createDialogScope
|
||||
]);
|
||||
var useDialogScope = (0, import_react_dialog.createDialogScope)();
|
||||
var AlertDialog = (props) => {
|
||||
const { __scopeAlertDialog, ...alertDialogProps } = props;
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogPrimitive.Root, { ...dialogScope, ...alertDialogProps, modal: true });
|
||||
};
|
||||
AlertDialog.displayName = ROOT_NAME;
|
||||
var TRIGGER_NAME = "AlertDialogTrigger";
|
||||
var AlertDialogTrigger = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAlertDialog, ...triggerProps } = props;
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogPrimitive.Trigger, { ...dialogScope, ...triggerProps, ref: forwardedRef });
|
||||
}
|
||||
);
|
||||
AlertDialogTrigger.displayName = TRIGGER_NAME;
|
||||
var PORTAL_NAME = "AlertDialogPortal";
|
||||
var AlertDialogPortal = (props) => {
|
||||
const { __scopeAlertDialog, ...portalProps } = props;
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogPrimitive.Portal, { ...dialogScope, ...portalProps });
|
||||
};
|
||||
AlertDialogPortal.displayName = PORTAL_NAME;
|
||||
var OVERLAY_NAME = "AlertDialogOverlay";
|
||||
var AlertDialogOverlay = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAlertDialog, ...overlayProps } = props;
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogPrimitive.Overlay, { ...dialogScope, ...overlayProps, ref: forwardedRef });
|
||||
}
|
||||
);
|
||||
AlertDialogOverlay.displayName = OVERLAY_NAME;
|
||||
var CONTENT_NAME = "AlertDialogContent";
|
||||
var [AlertDialogContentProvider, useAlertDialogContentContext] = createAlertDialogContext(CONTENT_NAME);
|
||||
var Slottable = (0, import_react_slot.createSlottable)("AlertDialogContent");
|
||||
var AlertDialogContent = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAlertDialog, children, ...contentProps } = props;
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
const contentRef = React.useRef(null);
|
||||
const composedRefs = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, contentRef);
|
||||
const cancelRef = React.useRef(null);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
DialogPrimitive.WarningProvider,
|
||||
{
|
||||
contentName: CONTENT_NAME,
|
||||
titleName: TITLE_NAME,
|
||||
docsSlug: "alert-dialog",
|
||||
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AlertDialogContentProvider, { scope: __scopeAlertDialog, cancelRef, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
||||
DialogPrimitive.Content,
|
||||
{
|
||||
role: "alertdialog",
|
||||
...dialogScope,
|
||||
...contentProps,
|
||||
ref: composedRefs,
|
||||
onOpenAutoFocus: (0, import_primitive.composeEventHandlers)(contentProps.onOpenAutoFocus, (event) => {
|
||||
event.preventDefault();
|
||||
cancelRef.current?.focus({ preventScroll: true });
|
||||
}),
|
||||
onPointerDownOutside: (event) => event.preventDefault(),
|
||||
onInteractOutside: (event) => event.preventDefault(),
|
||||
children: [
|
||||
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Slottable, { children }),
|
||||
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DescriptionWarning, { contentRef })
|
||||
]
|
||||
}
|
||||
) })
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
AlertDialogContent.displayName = CONTENT_NAME;
|
||||
var TITLE_NAME = "AlertDialogTitle";
|
||||
var AlertDialogTitle = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAlertDialog, ...titleProps } = props;
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogPrimitive.Title, { ...dialogScope, ...titleProps, ref: forwardedRef });
|
||||
}
|
||||
);
|
||||
AlertDialogTitle.displayName = TITLE_NAME;
|
||||
var DESCRIPTION_NAME = "AlertDialogDescription";
|
||||
var AlertDialogDescription = React.forwardRef((props, forwardedRef) => {
|
||||
const { __scopeAlertDialog, ...descriptionProps } = props;
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogPrimitive.Description, { ...dialogScope, ...descriptionProps, ref: forwardedRef });
|
||||
});
|
||||
AlertDialogDescription.displayName = DESCRIPTION_NAME;
|
||||
var ACTION_NAME = "AlertDialogAction";
|
||||
var AlertDialogAction = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAlertDialog, ...actionProps } = props;
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogPrimitive.Close, { ...dialogScope, ...actionProps, ref: forwardedRef });
|
||||
}
|
||||
);
|
||||
AlertDialogAction.displayName = ACTION_NAME;
|
||||
var CANCEL_NAME = "AlertDialogCancel";
|
||||
var AlertDialogCancel = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAlertDialog, ...cancelProps } = props;
|
||||
const { cancelRef } = useAlertDialogContentContext(CANCEL_NAME, __scopeAlertDialog);
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
const ref = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, cancelRef);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogPrimitive.Close, { ...dialogScope, ...cancelProps, ref });
|
||||
}
|
||||
);
|
||||
AlertDialogCancel.displayName = CANCEL_NAME;
|
||||
var DescriptionWarning = ({ contentRef }) => {
|
||||
const MESSAGE = `\`${CONTENT_NAME}\` requires a description for the component to be accessible for screen reader users.
|
||||
|
||||
You can add a description to the \`${CONTENT_NAME}\` by passing a \`${DESCRIPTION_NAME}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
|
||||
|
||||
Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${CONTENT_NAME}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
|
||||
|
||||
For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;
|
||||
React.useEffect(() => {
|
||||
const hasDescription = document.getElementById(
|
||||
contentRef.current?.getAttribute("aria-describedby")
|
||||
);
|
||||
if (!hasDescription) console.warn(MESSAGE);
|
||||
}, [MESSAGE, contentRef]);
|
||||
return null;
|
||||
};
|
||||
var Root2 = AlertDialog;
|
||||
var Trigger2 = AlertDialogTrigger;
|
||||
var Portal2 = AlertDialogPortal;
|
||||
var Overlay2 = AlertDialogOverlay;
|
||||
var Content2 = AlertDialogContent;
|
||||
var Action = AlertDialogAction;
|
||||
var Cancel = AlertDialogCancel;
|
||||
var Title2 = AlertDialogTitle;
|
||||
var Description2 = AlertDialogDescription;
|
||||
//# sourceMappingURL=index.js.map
|
||||
7
node_modules/@radix-ui/react-alert-dialog/dist/index.js.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-alert-dialog/dist/index.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
170
node_modules/@radix-ui/react-alert-dialog/dist/index.mjs
generated
vendored
Normal file
170
node_modules/@radix-ui/react-alert-dialog/dist/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,170 @@
|
||||
"use client";
|
||||
|
||||
// src/alert-dialog.tsx
|
||||
import * as React from "react";
|
||||
import { createContextScope } from "@radix-ui/react-context";
|
||||
import { useComposedRefs } from "@radix-ui/react-compose-refs";
|
||||
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
||||
import { createDialogScope } from "@radix-ui/react-dialog";
|
||||
import { composeEventHandlers } from "@radix-ui/primitive";
|
||||
import { createSlottable } from "@radix-ui/react-slot";
|
||||
import { jsx, jsxs } from "react/jsx-runtime";
|
||||
var ROOT_NAME = "AlertDialog";
|
||||
var [createAlertDialogContext, createAlertDialogScope] = createContextScope(ROOT_NAME, [
|
||||
createDialogScope
|
||||
]);
|
||||
var useDialogScope = createDialogScope();
|
||||
var AlertDialog = (props) => {
|
||||
const { __scopeAlertDialog, ...alertDialogProps } = props;
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
return /* @__PURE__ */ jsx(DialogPrimitive.Root, { ...dialogScope, ...alertDialogProps, modal: true });
|
||||
};
|
||||
AlertDialog.displayName = ROOT_NAME;
|
||||
var TRIGGER_NAME = "AlertDialogTrigger";
|
||||
var AlertDialogTrigger = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAlertDialog, ...triggerProps } = props;
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
return /* @__PURE__ */ jsx(DialogPrimitive.Trigger, { ...dialogScope, ...triggerProps, ref: forwardedRef });
|
||||
}
|
||||
);
|
||||
AlertDialogTrigger.displayName = TRIGGER_NAME;
|
||||
var PORTAL_NAME = "AlertDialogPortal";
|
||||
var AlertDialogPortal = (props) => {
|
||||
const { __scopeAlertDialog, ...portalProps } = props;
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
return /* @__PURE__ */ jsx(DialogPrimitive.Portal, { ...dialogScope, ...portalProps });
|
||||
};
|
||||
AlertDialogPortal.displayName = PORTAL_NAME;
|
||||
var OVERLAY_NAME = "AlertDialogOverlay";
|
||||
var AlertDialogOverlay = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAlertDialog, ...overlayProps } = props;
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
return /* @__PURE__ */ jsx(DialogPrimitive.Overlay, { ...dialogScope, ...overlayProps, ref: forwardedRef });
|
||||
}
|
||||
);
|
||||
AlertDialogOverlay.displayName = OVERLAY_NAME;
|
||||
var CONTENT_NAME = "AlertDialogContent";
|
||||
var [AlertDialogContentProvider, useAlertDialogContentContext] = createAlertDialogContext(CONTENT_NAME);
|
||||
var Slottable = createSlottable("AlertDialogContent");
|
||||
var AlertDialogContent = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAlertDialog, children, ...contentProps } = props;
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
const contentRef = React.useRef(null);
|
||||
const composedRefs = useComposedRefs(forwardedRef, contentRef);
|
||||
const cancelRef = React.useRef(null);
|
||||
return /* @__PURE__ */ jsx(
|
||||
DialogPrimitive.WarningProvider,
|
||||
{
|
||||
contentName: CONTENT_NAME,
|
||||
titleName: TITLE_NAME,
|
||||
docsSlug: "alert-dialog",
|
||||
children: /* @__PURE__ */ jsx(AlertDialogContentProvider, { scope: __scopeAlertDialog, cancelRef, children: /* @__PURE__ */ jsxs(
|
||||
DialogPrimitive.Content,
|
||||
{
|
||||
role: "alertdialog",
|
||||
...dialogScope,
|
||||
...contentProps,
|
||||
ref: composedRefs,
|
||||
onOpenAutoFocus: composeEventHandlers(contentProps.onOpenAutoFocus, (event) => {
|
||||
event.preventDefault();
|
||||
cancelRef.current?.focus({ preventScroll: true });
|
||||
}),
|
||||
onPointerDownOutside: (event) => event.preventDefault(),
|
||||
onInteractOutside: (event) => event.preventDefault(),
|
||||
children: [
|
||||
/* @__PURE__ */ jsx(Slottable, { children }),
|
||||
/* @__PURE__ */ jsx(DescriptionWarning, { contentRef })
|
||||
]
|
||||
}
|
||||
) })
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
AlertDialogContent.displayName = CONTENT_NAME;
|
||||
var TITLE_NAME = "AlertDialogTitle";
|
||||
var AlertDialogTitle = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAlertDialog, ...titleProps } = props;
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
return /* @__PURE__ */ jsx(DialogPrimitive.Title, { ...dialogScope, ...titleProps, ref: forwardedRef });
|
||||
}
|
||||
);
|
||||
AlertDialogTitle.displayName = TITLE_NAME;
|
||||
var DESCRIPTION_NAME = "AlertDialogDescription";
|
||||
var AlertDialogDescription = React.forwardRef((props, forwardedRef) => {
|
||||
const { __scopeAlertDialog, ...descriptionProps } = props;
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
return /* @__PURE__ */ jsx(DialogPrimitive.Description, { ...dialogScope, ...descriptionProps, ref: forwardedRef });
|
||||
});
|
||||
AlertDialogDescription.displayName = DESCRIPTION_NAME;
|
||||
var ACTION_NAME = "AlertDialogAction";
|
||||
var AlertDialogAction = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAlertDialog, ...actionProps } = props;
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
return /* @__PURE__ */ jsx(DialogPrimitive.Close, { ...dialogScope, ...actionProps, ref: forwardedRef });
|
||||
}
|
||||
);
|
||||
AlertDialogAction.displayName = ACTION_NAME;
|
||||
var CANCEL_NAME = "AlertDialogCancel";
|
||||
var AlertDialogCancel = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAlertDialog, ...cancelProps } = props;
|
||||
const { cancelRef } = useAlertDialogContentContext(CANCEL_NAME, __scopeAlertDialog);
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
const ref = useComposedRefs(forwardedRef, cancelRef);
|
||||
return /* @__PURE__ */ jsx(DialogPrimitive.Close, { ...dialogScope, ...cancelProps, ref });
|
||||
}
|
||||
);
|
||||
AlertDialogCancel.displayName = CANCEL_NAME;
|
||||
var DescriptionWarning = ({ contentRef }) => {
|
||||
const MESSAGE = `\`${CONTENT_NAME}\` requires a description for the component to be accessible for screen reader users.
|
||||
|
||||
You can add a description to the \`${CONTENT_NAME}\` by passing a \`${DESCRIPTION_NAME}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
|
||||
|
||||
Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${CONTENT_NAME}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
|
||||
|
||||
For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;
|
||||
React.useEffect(() => {
|
||||
const hasDescription = document.getElementById(
|
||||
contentRef.current?.getAttribute("aria-describedby")
|
||||
);
|
||||
if (!hasDescription) console.warn(MESSAGE);
|
||||
}, [MESSAGE, contentRef]);
|
||||
return null;
|
||||
};
|
||||
var Root2 = AlertDialog;
|
||||
var Trigger2 = AlertDialogTrigger;
|
||||
var Portal2 = AlertDialogPortal;
|
||||
var Overlay2 = AlertDialogOverlay;
|
||||
var Content2 = AlertDialogContent;
|
||||
var Action = AlertDialogAction;
|
||||
var Cancel = AlertDialogCancel;
|
||||
var Title2 = AlertDialogTitle;
|
||||
var Description2 = AlertDialogDescription;
|
||||
export {
|
||||
Action,
|
||||
AlertDialog,
|
||||
AlertDialogAction,
|
||||
AlertDialogCancel,
|
||||
AlertDialogContent,
|
||||
AlertDialogDescription,
|
||||
AlertDialogOverlay,
|
||||
AlertDialogPortal,
|
||||
AlertDialogTitle,
|
||||
AlertDialogTrigger,
|
||||
Cancel,
|
||||
Content2 as Content,
|
||||
Description2 as Description,
|
||||
Overlay2 as Overlay,
|
||||
Portal2 as Portal,
|
||||
Root2 as Root,
|
||||
Title2 as Title,
|
||||
Trigger2 as Trigger,
|
||||
createAlertDialogScope
|
||||
};
|
||||
//# sourceMappingURL=index.mjs.map
|
||||
7
node_modules/@radix-ui/react-alert-dialog/dist/index.mjs.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-alert-dialog/dist/index.mjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
73
node_modules/@radix-ui/react-alert-dialog/package.json
generated
vendored
Normal file
73
node_modules/@radix-ui/react-alert-dialog/package.json
generated
vendored
Normal file
@@ -0,0 +1,73 @@
|
||||
{
|
||||
"name": "@radix-ui/react-alert-dialog",
|
||||
"version": "1.1.15",
|
||||
"license": "MIT",
|
||||
"source": "./src/index.ts",
|
||||
"main": "./dist/index.js",
|
||||
"module": "./dist/index.mjs",
|
||||
"files": [
|
||||
"src",
|
||||
"dist"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"dependencies": {
|
||||
"@radix-ui/primitive": "1.1.3",
|
||||
"@radix-ui/react-context": "1.1.2",
|
||||
"@radix-ui/react-dialog": "1.1.15",
|
||||
"@radix-ui/react-primitive": "2.1.3",
|
||||
"@radix-ui/react-slot": "1.2.3",
|
||||
"@radix-ui/react-compose-refs": "1.1.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react": "^19.0.7",
|
||||
"@types/react-dom": "^19.0.3",
|
||||
"eslint": "^9.18.0",
|
||||
"react": "^19.1.0",
|
||||
"react-dom": "^19.1.0",
|
||||
"typescript": "^5.7.3",
|
||||
"@repo/builder": "0.0.0",
|
||||
"@repo/eslint-config": "0.0.0",
|
||||
"@repo/typescript-config": "0.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/react": "*",
|
||||
"@types/react-dom": "*",
|
||||
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
|
||||
"react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@types/react": {
|
||||
"optional": true
|
||||
},
|
||||
"@types/react-dom": {
|
||||
"optional": true
|
||||
}
|
||||
},
|
||||
"homepage": "https://radix-ui.com/primitives",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/radix-ui/primitives.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/radix-ui/primitives/issues"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint --max-warnings 0 src",
|
||||
"clean": "rm -rf dist",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"build": "radix-build"
|
||||
},
|
||||
"types": "./dist/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"import": {
|
||||
"types": "./dist/index.d.mts",
|
||||
"default": "./dist/index.mjs"
|
||||
},
|
||||
"require": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"default": "./dist/index.js"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
64
node_modules/@radix-ui/react-alert-dialog/src/alert-dialog.test.tsx
generated
vendored
Normal file
64
node_modules/@radix-ui/react-alert-dialog/src/alert-dialog.test.tsx
generated
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
import React from 'react';
|
||||
import { axe } from 'vitest-axe';
|
||||
import type { RenderResult } from '@testing-library/react';
|
||||
import { cleanup, render, fireEvent } from '@testing-library/react';
|
||||
import * as AlertDialog from './alert-dialog';
|
||||
import { afterEach, describe, it, beforeEach, expect } from 'vitest';
|
||||
|
||||
const OPEN_TEXT = 'Open';
|
||||
const CANCEL_TEXT = 'Cancel';
|
||||
const ACTION_TEXT = 'Do it';
|
||||
const TITLE_TEXT = 'Warning';
|
||||
const DESC_TEXT = 'This is a warning';
|
||||
const OVERLAY_TEST_ID = 'test-overlay';
|
||||
|
||||
const DialogTest = (props: React.ComponentProps<typeof AlertDialog.Root>) => (
|
||||
<AlertDialog.Root {...props}>
|
||||
<AlertDialog.Trigger>{OPEN_TEXT}</AlertDialog.Trigger>
|
||||
<AlertDialog.Overlay data-testid={OVERLAY_TEST_ID} />
|
||||
<AlertDialog.Content>
|
||||
<AlertDialog.Title>{TITLE_TEXT}</AlertDialog.Title>
|
||||
<AlertDialog.Description>{DESC_TEXT}</AlertDialog.Description>
|
||||
<AlertDialog.Cancel>{CANCEL_TEXT}</AlertDialog.Cancel>
|
||||
<AlertDialog.Action>{ACTION_TEXT}</AlertDialog.Action>
|
||||
</AlertDialog.Content>
|
||||
</AlertDialog.Root>
|
||||
);
|
||||
|
||||
describe('given a default Dialog', () => {
|
||||
let rendered: RenderResult;
|
||||
let title: HTMLElement;
|
||||
let trigger: HTMLElement;
|
||||
let cancelButton: HTMLElement;
|
||||
|
||||
afterEach(cleanup);
|
||||
|
||||
beforeEach(() => {
|
||||
rendered = render(<DialogTest />);
|
||||
trigger = rendered.getByText(OPEN_TEXT);
|
||||
});
|
||||
|
||||
it('should have no accessibility violations in default state', async () => {
|
||||
expect(await axe(rendered.container)).toHaveNoViolations();
|
||||
});
|
||||
|
||||
describe('after clicking the trigger', () => {
|
||||
beforeEach(() => {
|
||||
fireEvent.click(trigger);
|
||||
title = rendered.getByText(TITLE_TEXT);
|
||||
cancelButton = rendered.getByText(CANCEL_TEXT);
|
||||
});
|
||||
|
||||
it('should open the content', () => {
|
||||
expect(title).toBeVisible();
|
||||
});
|
||||
|
||||
it('should have no accessibility violations when open', async () => {
|
||||
expect(await axe(rendered.container)).toHaveNoViolations();
|
||||
});
|
||||
|
||||
it('should focus the cancel button', () => {
|
||||
expect(cancelButton).toHaveFocus();
|
||||
});
|
||||
});
|
||||
});
|
||||
308
node_modules/@radix-ui/react-alert-dialog/src/alert-dialog.tsx
generated
vendored
Normal file
308
node_modules/@radix-ui/react-alert-dialog/src/alert-dialog.tsx
generated
vendored
Normal file
@@ -0,0 +1,308 @@
|
||||
import * as React from 'react';
|
||||
import { createContextScope } from '@radix-ui/react-context';
|
||||
import { useComposedRefs } from '@radix-ui/react-compose-refs';
|
||||
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
||||
import { createDialogScope } from '@radix-ui/react-dialog';
|
||||
import { composeEventHandlers } from '@radix-ui/primitive';
|
||||
import { createSlottable } from '@radix-ui/react-slot';
|
||||
|
||||
import type { Scope } from '@radix-ui/react-context';
|
||||
|
||||
/* -------------------------------------------------------------------------------------------------
|
||||
* AlertDialog
|
||||
* -----------------------------------------------------------------------------------------------*/
|
||||
|
||||
const ROOT_NAME = 'AlertDialog';
|
||||
|
||||
type ScopedProps<P> = P & { __scopeAlertDialog?: Scope };
|
||||
const [createAlertDialogContext, createAlertDialogScope] = createContextScope(ROOT_NAME, [
|
||||
createDialogScope,
|
||||
]);
|
||||
const useDialogScope = createDialogScope();
|
||||
|
||||
type DialogProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Root>;
|
||||
interface AlertDialogProps extends Omit<DialogProps, 'modal'> {}
|
||||
|
||||
const AlertDialog: React.FC<AlertDialogProps> = (props: ScopedProps<AlertDialogProps>) => {
|
||||
const { __scopeAlertDialog, ...alertDialogProps } = props;
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
return <DialogPrimitive.Root {...dialogScope} {...alertDialogProps} modal={true} />;
|
||||
};
|
||||
|
||||
AlertDialog.displayName = ROOT_NAME;
|
||||
|
||||
/* -------------------------------------------------------------------------------------------------
|
||||
* AlertDialogTrigger
|
||||
* -----------------------------------------------------------------------------------------------*/
|
||||
const TRIGGER_NAME = 'AlertDialogTrigger';
|
||||
|
||||
type AlertDialogTriggerElement = React.ComponentRef<typeof DialogPrimitive.Trigger>;
|
||||
type DialogTriggerProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Trigger>;
|
||||
interface AlertDialogTriggerProps extends DialogTriggerProps {}
|
||||
|
||||
const AlertDialogTrigger = React.forwardRef<AlertDialogTriggerElement, AlertDialogTriggerProps>(
|
||||
(props: ScopedProps<AlertDialogTriggerProps>, forwardedRef) => {
|
||||
const { __scopeAlertDialog, ...triggerProps } = props;
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
return <DialogPrimitive.Trigger {...dialogScope} {...triggerProps} ref={forwardedRef} />;
|
||||
}
|
||||
);
|
||||
|
||||
AlertDialogTrigger.displayName = TRIGGER_NAME;
|
||||
|
||||
/* -------------------------------------------------------------------------------------------------
|
||||
* AlertDialogPortal
|
||||
* -----------------------------------------------------------------------------------------------*/
|
||||
|
||||
const PORTAL_NAME = 'AlertDialogPortal';
|
||||
|
||||
type DialogPortalProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Portal>;
|
||||
interface AlertDialogPortalProps extends DialogPortalProps {}
|
||||
|
||||
const AlertDialogPortal: React.FC<AlertDialogPortalProps> = (
|
||||
props: ScopedProps<AlertDialogPortalProps>
|
||||
) => {
|
||||
const { __scopeAlertDialog, ...portalProps } = props;
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
return <DialogPrimitive.Portal {...dialogScope} {...portalProps} />;
|
||||
};
|
||||
|
||||
AlertDialogPortal.displayName = PORTAL_NAME;
|
||||
|
||||
/* -------------------------------------------------------------------------------------------------
|
||||
* AlertDialogOverlay
|
||||
* -----------------------------------------------------------------------------------------------*/
|
||||
|
||||
const OVERLAY_NAME = 'AlertDialogOverlay';
|
||||
|
||||
type AlertDialogOverlayElement = React.ComponentRef<typeof DialogPrimitive.Overlay>;
|
||||
type DialogOverlayProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>;
|
||||
interface AlertDialogOverlayProps extends DialogOverlayProps {}
|
||||
|
||||
const AlertDialogOverlay = React.forwardRef<AlertDialogOverlayElement, AlertDialogOverlayProps>(
|
||||
(props: ScopedProps<AlertDialogOverlayProps>, forwardedRef) => {
|
||||
const { __scopeAlertDialog, ...overlayProps } = props;
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
return <DialogPrimitive.Overlay {...dialogScope} {...overlayProps} ref={forwardedRef} />;
|
||||
}
|
||||
);
|
||||
|
||||
AlertDialogOverlay.displayName = OVERLAY_NAME;
|
||||
|
||||
/* -------------------------------------------------------------------------------------------------
|
||||
* AlertDialogContent
|
||||
* -----------------------------------------------------------------------------------------------*/
|
||||
|
||||
const CONTENT_NAME = 'AlertDialogContent';
|
||||
|
||||
type AlertDialogContentContextValue = {
|
||||
cancelRef: React.MutableRefObject<AlertDialogCancelElement | null>;
|
||||
};
|
||||
|
||||
const [AlertDialogContentProvider, useAlertDialogContentContext] =
|
||||
createAlertDialogContext<AlertDialogContentContextValue>(CONTENT_NAME);
|
||||
|
||||
type AlertDialogContentElement = React.ComponentRef<typeof DialogPrimitive.Content>;
|
||||
type DialogContentProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>;
|
||||
interface AlertDialogContentProps
|
||||
extends Omit<DialogContentProps, 'onPointerDownOutside' | 'onInteractOutside'> {}
|
||||
|
||||
const Slottable = createSlottable('AlertDialogContent');
|
||||
|
||||
const AlertDialogContent = React.forwardRef<AlertDialogContentElement, AlertDialogContentProps>(
|
||||
(props: ScopedProps<AlertDialogContentProps>, forwardedRef) => {
|
||||
const { __scopeAlertDialog, children, ...contentProps } = props;
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
const contentRef = React.useRef<AlertDialogContentElement>(null);
|
||||
const composedRefs = useComposedRefs(forwardedRef, contentRef);
|
||||
const cancelRef = React.useRef<AlertDialogCancelElement | null>(null);
|
||||
|
||||
return (
|
||||
<DialogPrimitive.WarningProvider
|
||||
contentName={CONTENT_NAME}
|
||||
titleName={TITLE_NAME}
|
||||
docsSlug="alert-dialog"
|
||||
>
|
||||
<AlertDialogContentProvider scope={__scopeAlertDialog} cancelRef={cancelRef}>
|
||||
<DialogPrimitive.Content
|
||||
role="alertdialog"
|
||||
{...dialogScope}
|
||||
{...contentProps}
|
||||
ref={composedRefs}
|
||||
onOpenAutoFocus={composeEventHandlers(contentProps.onOpenAutoFocus, (event) => {
|
||||
event.preventDefault();
|
||||
cancelRef.current?.focus({ preventScroll: true });
|
||||
})}
|
||||
onPointerDownOutside={(event) => event.preventDefault()}
|
||||
onInteractOutside={(event) => event.preventDefault()}
|
||||
>
|
||||
{/**
|
||||
* We have to use `Slottable` here as we cannot wrap the `AlertDialogContentProvider`
|
||||
* around everything, otherwise the `DescriptionWarning` would be rendered straight away.
|
||||
* This is because we want the accessibility checks to run only once the content is actually
|
||||
* open and that behaviour is already encapsulated in `DialogContent`.
|
||||
*/}
|
||||
<Slottable>{children}</Slottable>
|
||||
{process.env.NODE_ENV === 'development' && (
|
||||
<DescriptionWarning contentRef={contentRef} />
|
||||
)}
|
||||
</DialogPrimitive.Content>
|
||||
</AlertDialogContentProvider>
|
||||
</DialogPrimitive.WarningProvider>
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
AlertDialogContent.displayName = CONTENT_NAME;
|
||||
|
||||
/* -------------------------------------------------------------------------------------------------
|
||||
* AlertDialogTitle
|
||||
* -----------------------------------------------------------------------------------------------*/
|
||||
|
||||
const TITLE_NAME = 'AlertDialogTitle';
|
||||
|
||||
type AlertDialogTitleElement = React.ComponentRef<typeof DialogPrimitive.Title>;
|
||||
type DialogTitleProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>;
|
||||
interface AlertDialogTitleProps extends DialogTitleProps {}
|
||||
|
||||
const AlertDialogTitle = React.forwardRef<AlertDialogTitleElement, AlertDialogTitleProps>(
|
||||
(props: ScopedProps<AlertDialogTitleProps>, forwardedRef) => {
|
||||
const { __scopeAlertDialog, ...titleProps } = props;
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
return <DialogPrimitive.Title {...dialogScope} {...titleProps} ref={forwardedRef} />;
|
||||
}
|
||||
);
|
||||
|
||||
AlertDialogTitle.displayName = TITLE_NAME;
|
||||
|
||||
/* -------------------------------------------------------------------------------------------------
|
||||
* AlertDialogDescription
|
||||
* -----------------------------------------------------------------------------------------------*/
|
||||
|
||||
const DESCRIPTION_NAME = 'AlertDialogDescription';
|
||||
|
||||
type AlertDialogDescriptionElement = React.ComponentRef<typeof DialogPrimitive.Description>;
|
||||
type DialogDescriptionProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>;
|
||||
interface AlertDialogDescriptionProps extends DialogDescriptionProps {}
|
||||
|
||||
const AlertDialogDescription = React.forwardRef<
|
||||
AlertDialogDescriptionElement,
|
||||
AlertDialogDescriptionProps
|
||||
>((props: ScopedProps<AlertDialogDescriptionProps>, forwardedRef) => {
|
||||
const { __scopeAlertDialog, ...descriptionProps } = props;
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
return <DialogPrimitive.Description {...dialogScope} {...descriptionProps} ref={forwardedRef} />;
|
||||
});
|
||||
|
||||
AlertDialogDescription.displayName = DESCRIPTION_NAME;
|
||||
|
||||
/* -------------------------------------------------------------------------------------------------
|
||||
* AlertDialogAction
|
||||
* -----------------------------------------------------------------------------------------------*/
|
||||
|
||||
const ACTION_NAME = 'AlertDialogAction';
|
||||
|
||||
type AlertDialogActionElement = React.ComponentRef<typeof DialogPrimitive.Close>;
|
||||
type DialogCloseProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Close>;
|
||||
interface AlertDialogActionProps extends DialogCloseProps {}
|
||||
|
||||
const AlertDialogAction = React.forwardRef<AlertDialogActionElement, AlertDialogActionProps>(
|
||||
(props: ScopedProps<AlertDialogActionProps>, forwardedRef) => {
|
||||
const { __scopeAlertDialog, ...actionProps } = props;
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
return <DialogPrimitive.Close {...dialogScope} {...actionProps} ref={forwardedRef} />;
|
||||
}
|
||||
);
|
||||
|
||||
AlertDialogAction.displayName = ACTION_NAME;
|
||||
|
||||
/* -------------------------------------------------------------------------------------------------
|
||||
* AlertDialogCancel
|
||||
* -----------------------------------------------------------------------------------------------*/
|
||||
|
||||
const CANCEL_NAME = 'AlertDialogCancel';
|
||||
|
||||
type AlertDialogCancelElement = React.ComponentRef<typeof DialogPrimitive.Close>;
|
||||
interface AlertDialogCancelProps extends DialogCloseProps {}
|
||||
|
||||
const AlertDialogCancel = React.forwardRef<AlertDialogCancelElement, AlertDialogCancelProps>(
|
||||
(props: ScopedProps<AlertDialogCancelProps>, forwardedRef) => {
|
||||
const { __scopeAlertDialog, ...cancelProps } = props;
|
||||
const { cancelRef } = useAlertDialogContentContext(CANCEL_NAME, __scopeAlertDialog);
|
||||
const dialogScope = useDialogScope(__scopeAlertDialog);
|
||||
const ref = useComposedRefs(forwardedRef, cancelRef);
|
||||
return <DialogPrimitive.Close {...dialogScope} {...cancelProps} ref={ref} />;
|
||||
}
|
||||
);
|
||||
|
||||
AlertDialogCancel.displayName = CANCEL_NAME;
|
||||
|
||||
/* ---------------------------------------------------------------------------------------------- */
|
||||
|
||||
type DescriptionWarningProps = {
|
||||
contentRef: React.RefObject<AlertDialogContentElement | null>;
|
||||
};
|
||||
|
||||
const DescriptionWarning: React.FC<DescriptionWarningProps> = ({ contentRef }) => {
|
||||
const MESSAGE = `\`${CONTENT_NAME}\` requires a description for the component to be accessible for screen reader users.
|
||||
|
||||
You can add a description to the \`${CONTENT_NAME}\` by passing a \`${DESCRIPTION_NAME}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
|
||||
|
||||
Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${CONTENT_NAME}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
|
||||
|
||||
For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;
|
||||
|
||||
React.useEffect(() => {
|
||||
const hasDescription = document.getElementById(
|
||||
contentRef.current?.getAttribute('aria-describedby')!
|
||||
);
|
||||
if (!hasDescription) console.warn(MESSAGE);
|
||||
}, [MESSAGE, contentRef]);
|
||||
|
||||
return null;
|
||||
};
|
||||
|
||||
const Root = AlertDialog;
|
||||
const Trigger = AlertDialogTrigger;
|
||||
const Portal = AlertDialogPortal;
|
||||
const Overlay = AlertDialogOverlay;
|
||||
const Content = AlertDialogContent;
|
||||
const Action = AlertDialogAction;
|
||||
const Cancel = AlertDialogCancel;
|
||||
const Title = AlertDialogTitle;
|
||||
const Description = AlertDialogDescription;
|
||||
|
||||
export {
|
||||
createAlertDialogScope,
|
||||
//
|
||||
AlertDialog,
|
||||
AlertDialogTrigger,
|
||||
AlertDialogPortal,
|
||||
AlertDialogOverlay,
|
||||
AlertDialogContent,
|
||||
AlertDialogAction,
|
||||
AlertDialogCancel,
|
||||
AlertDialogTitle,
|
||||
AlertDialogDescription,
|
||||
//
|
||||
Root,
|
||||
Trigger,
|
||||
Portal,
|
||||
Overlay,
|
||||
Content,
|
||||
Action,
|
||||
Cancel,
|
||||
Title,
|
||||
Description,
|
||||
};
|
||||
export type {
|
||||
AlertDialogProps,
|
||||
AlertDialogTriggerProps,
|
||||
AlertDialogPortalProps,
|
||||
AlertDialogOverlayProps,
|
||||
AlertDialogContentProps,
|
||||
AlertDialogActionProps,
|
||||
AlertDialogCancelProps,
|
||||
AlertDialogTitleProps,
|
||||
AlertDialogDescriptionProps,
|
||||
};
|
||||
35
node_modules/@radix-ui/react-alert-dialog/src/index.ts
generated
vendored
Normal file
35
node_modules/@radix-ui/react-alert-dialog/src/index.ts
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
'use client';
|
||||
export {
|
||||
createAlertDialogScope,
|
||||
//
|
||||
AlertDialog,
|
||||
AlertDialogTrigger,
|
||||
AlertDialogPortal,
|
||||
AlertDialogOverlay,
|
||||
AlertDialogContent,
|
||||
AlertDialogAction,
|
||||
AlertDialogCancel,
|
||||
AlertDialogTitle,
|
||||
AlertDialogDescription,
|
||||
//
|
||||
Root,
|
||||
Trigger,
|
||||
Portal,
|
||||
Overlay,
|
||||
Content,
|
||||
Action,
|
||||
Cancel,
|
||||
Title,
|
||||
Description,
|
||||
} from './alert-dialog';
|
||||
export type {
|
||||
AlertDialogProps,
|
||||
AlertDialogTriggerProps,
|
||||
AlertDialogPortalProps,
|
||||
AlertDialogOverlayProps,
|
||||
AlertDialogContentProps,
|
||||
AlertDialogActionProps,
|
||||
AlertDialogCancelProps,
|
||||
AlertDialogTitleProps,
|
||||
AlertDialogDescriptionProps,
|
||||
} from './alert-dialog';
|
||||
21
node_modules/@radix-ui/react-arrow/LICENSE
generated
vendored
Normal file
21
node_modules/@radix-ui/react-arrow/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 WorkOS
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
3
node_modules/@radix-ui/react-arrow/README.md
generated
vendored
Normal file
3
node_modules/@radix-ui/react-arrow/README.md
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# `react-arrow`
|
||||
|
||||
This is an internal utility, not intended for public usage.
|
||||
10
node_modules/@radix-ui/react-arrow/dist/index.d.mts
generated
vendored
Normal file
10
node_modules/@radix-ui/react-arrow/dist/index.d.mts
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
import * as React from 'react';
|
||||
import { Primitive } from '@radix-ui/react-primitive';
|
||||
|
||||
type PrimitiveSvgProps = React.ComponentPropsWithoutRef<typeof Primitive.svg>;
|
||||
interface ArrowProps extends PrimitiveSvgProps {
|
||||
}
|
||||
declare const Arrow: React.ForwardRefExoticComponent<ArrowProps & React.RefAttributes<SVGSVGElement>>;
|
||||
declare const Root: React.ForwardRefExoticComponent<ArrowProps & React.RefAttributes<SVGSVGElement>>;
|
||||
|
||||
export { Arrow, type ArrowProps, Root };
|
||||
10
node_modules/@radix-ui/react-arrow/dist/index.d.ts
generated
vendored
Normal file
10
node_modules/@radix-ui/react-arrow/dist/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
import * as React from 'react';
|
||||
import { Primitive } from '@radix-ui/react-primitive';
|
||||
|
||||
type PrimitiveSvgProps = React.ComponentPropsWithoutRef<typeof Primitive.svg>;
|
||||
interface ArrowProps extends PrimitiveSvgProps {
|
||||
}
|
||||
declare const Arrow: React.ForwardRefExoticComponent<ArrowProps & React.RefAttributes<SVGSVGElement>>;
|
||||
declare const Root: React.ForwardRefExoticComponent<ArrowProps & React.RefAttributes<SVGSVGElement>>;
|
||||
|
||||
export { Arrow, type ArrowProps, Root };
|
||||
60
node_modules/@radix-ui/react-arrow/dist/index.js
generated
vendored
Normal file
60
node_modules/@radix-ui/react-arrow/dist/index.js
generated
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
"use strict";
|
||||
var __create = Object.create;
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __getProtoOf = Object.getPrototypeOf;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
||||
// If the importer is in node compatibility mode or this is not an ESM
|
||||
// file that has been converted to a CommonJS file using a Babel-
|
||||
// compatible transform (i.e. "__esModule" has not been set), then set
|
||||
// "default" to the CommonJS "module.exports" for node compatibility.
|
||||
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
||||
mod
|
||||
));
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/index.ts
|
||||
var index_exports = {};
|
||||
__export(index_exports, {
|
||||
Arrow: () => Arrow,
|
||||
Root: () => Root
|
||||
});
|
||||
module.exports = __toCommonJS(index_exports);
|
||||
|
||||
// src/arrow.tsx
|
||||
var React = __toESM(require("react"));
|
||||
var import_react_primitive = require("@radix-ui/react-primitive");
|
||||
var import_jsx_runtime = require("react/jsx-runtime");
|
||||
var NAME = "Arrow";
|
||||
var Arrow = React.forwardRef((props, forwardedRef) => {
|
||||
const { children, width = 10, height = 5, ...arrowProps } = props;
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
import_react_primitive.Primitive.svg,
|
||||
{
|
||||
...arrowProps,
|
||||
ref: forwardedRef,
|
||||
width,
|
||||
height,
|
||||
viewBox: "0 0 30 10",
|
||||
preserveAspectRatio: "none",
|
||||
children: props.asChild ? children : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("polygon", { points: "0,0 30,0 15,10" })
|
||||
}
|
||||
);
|
||||
});
|
||||
Arrow.displayName = NAME;
|
||||
var Root = Arrow;
|
||||
//# sourceMappingURL=index.js.map
|
||||
7
node_modules/@radix-ui/react-arrow/dist/index.js.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-arrow/dist/index.js.map
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../src/index.ts", "../src/arrow.tsx"],
|
||||
"sourcesContent": ["export {\n Arrow,\n //\n Root,\n} from './arrow';\nexport type { ArrowProps } from './arrow';\n", "import * as React from 'react';\nimport { Primitive } from '@radix-ui/react-primitive';\n\n/* -------------------------------------------------------------------------------------------------\n * Arrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst NAME = 'Arrow';\n\ntype ArrowElement = React.ComponentRef<typeof Primitive.svg>;\ntype PrimitiveSvgProps = React.ComponentPropsWithoutRef<typeof Primitive.svg>;\ninterface ArrowProps extends PrimitiveSvgProps {}\n\nconst Arrow = React.forwardRef<ArrowElement, ArrowProps>((props, forwardedRef) => {\n const { children, width = 10, height = 5, ...arrowProps } = props;\n return (\n <Primitive.svg\n {...arrowProps}\n ref={forwardedRef}\n width={width}\n height={height}\n viewBox=\"0 0 30 10\"\n preserveAspectRatio=\"none\"\n >\n {/* We use their children if they're slotting to replace the whole svg */}\n {props.asChild ? children : <polygon points=\"0,0 30,0 15,10\" />}\n </Primitive.svg>\n );\n});\n\nArrow.displayName = NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = Arrow;\n\nexport {\n Arrow,\n //\n Root,\n};\nexport type { ArrowProps };\n"],
|
||||
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,YAAuB;AACvB,6BAA0B;AAwBQ;AAlBlC,IAAM,OAAO;AAMb,IAAM,QAAc,iBAAqC,CAAC,OAAO,iBAAiB;AAChF,QAAM,EAAE,UAAU,QAAQ,IAAI,SAAS,GAAG,GAAG,WAAW,IAAI;AAC5D,SACE;AAAA,IAAC,iCAAU;AAAA,IAAV;AAAA,MACE,GAAG;AAAA,MACJ,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA,SAAQ;AAAA,MACR,qBAAoB;AAAA,MAGnB,gBAAM,UAAU,WAAW,4CAAC,aAAQ,QAAO,kBAAiB;AAAA;AAAA,EAC/D;AAEJ,CAAC;AAED,MAAM,cAAc;AAIpB,IAAM,OAAO;",
|
||||
"names": []
|
||||
}
|
||||
27
node_modules/@radix-ui/react-arrow/dist/index.mjs
generated
vendored
Normal file
27
node_modules/@radix-ui/react-arrow/dist/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
// src/arrow.tsx
|
||||
import * as React from "react";
|
||||
import { Primitive } from "@radix-ui/react-primitive";
|
||||
import { jsx } from "react/jsx-runtime";
|
||||
var NAME = "Arrow";
|
||||
var Arrow = React.forwardRef((props, forwardedRef) => {
|
||||
const { children, width = 10, height = 5, ...arrowProps } = props;
|
||||
return /* @__PURE__ */ jsx(
|
||||
Primitive.svg,
|
||||
{
|
||||
...arrowProps,
|
||||
ref: forwardedRef,
|
||||
width,
|
||||
height,
|
||||
viewBox: "0 0 30 10",
|
||||
preserveAspectRatio: "none",
|
||||
children: props.asChild ? children : /* @__PURE__ */ jsx("polygon", { points: "0,0 30,0 15,10" })
|
||||
}
|
||||
);
|
||||
});
|
||||
Arrow.displayName = NAME;
|
||||
var Root = Arrow;
|
||||
export {
|
||||
Arrow,
|
||||
Root
|
||||
};
|
||||
//# sourceMappingURL=index.mjs.map
|
||||
7
node_modules/@radix-ui/react-arrow/dist/index.mjs.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-arrow/dist/index.mjs.map
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../src/arrow.tsx"],
|
||||
"sourcesContent": ["import * as React from 'react';\nimport { Primitive } from '@radix-ui/react-primitive';\n\n/* -------------------------------------------------------------------------------------------------\n * Arrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst NAME = 'Arrow';\n\ntype ArrowElement = React.ComponentRef<typeof Primitive.svg>;\ntype PrimitiveSvgProps = React.ComponentPropsWithoutRef<typeof Primitive.svg>;\ninterface ArrowProps extends PrimitiveSvgProps {}\n\nconst Arrow = React.forwardRef<ArrowElement, ArrowProps>((props, forwardedRef) => {\n const { children, width = 10, height = 5, ...arrowProps } = props;\n return (\n <Primitive.svg\n {...arrowProps}\n ref={forwardedRef}\n width={width}\n height={height}\n viewBox=\"0 0 30 10\"\n preserveAspectRatio=\"none\"\n >\n {/* We use their children if they're slotting to replace the whole svg */}\n {props.asChild ? children : <polygon points=\"0,0 30,0 15,10\" />}\n </Primitive.svg>\n );\n});\n\nArrow.displayName = NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = Arrow;\n\nexport {\n Arrow,\n //\n Root,\n};\nexport type { ArrowProps };\n"],
|
||||
"mappings": ";AAAA,YAAY,WAAW;AACvB,SAAS,iBAAiB;AAwBQ;AAlBlC,IAAM,OAAO;AAMb,IAAM,QAAc,iBAAqC,CAAC,OAAO,iBAAiB;AAChF,QAAM,EAAE,UAAU,QAAQ,IAAI,SAAS,GAAG,GAAG,WAAW,IAAI;AAC5D,SACE;AAAA,IAAC,UAAU;AAAA,IAAV;AAAA,MACE,GAAG;AAAA,MACJ,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA,SAAQ;AAAA,MACR,qBAAoB;AAAA,MAGnB,gBAAM,UAAU,WAAW,oBAAC,aAAQ,QAAO,kBAAiB;AAAA;AAAA,EAC/D;AAEJ,CAAC;AAED,MAAM,cAAc;AAIpB,IAAM,OAAO;",
|
||||
"names": []
|
||||
}
|
||||
68
node_modules/@radix-ui/react-arrow/package.json
generated
vendored
Normal file
68
node_modules/@radix-ui/react-arrow/package.json
generated
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"name": "@radix-ui/react-arrow",
|
||||
"version": "1.1.7",
|
||||
"license": "MIT",
|
||||
"source": "./src/index.ts",
|
||||
"main": "./dist/index.js",
|
||||
"module": "./dist/index.mjs",
|
||||
"files": [
|
||||
"dist",
|
||||
"README.md"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"dependencies": {
|
||||
"@radix-ui/react-primitive": "2.1.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react": "^19.0.7",
|
||||
"@types/react-dom": "^19.0.3",
|
||||
"eslint": "^9.18.0",
|
||||
"react": "^19.1.0",
|
||||
"react-dom": "^19.1.0",
|
||||
"typescript": "^5.7.3",
|
||||
"@repo/builder": "0.0.0",
|
||||
"@repo/typescript-config": "0.0.0",
|
||||
"@repo/eslint-config": "0.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/react": "*",
|
||||
"@types/react-dom": "*",
|
||||
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
|
||||
"react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@types/react": {
|
||||
"optional": true
|
||||
},
|
||||
"@types/react-dom": {
|
||||
"optional": true
|
||||
}
|
||||
},
|
||||
"homepage": "https://radix-ui.com/primitives",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/radix-ui/primitives.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/radix-ui/primitives/issues"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint --max-warnings 0 src",
|
||||
"clean": "rm -rf dist",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"build": "radix-build"
|
||||
},
|
||||
"types": "./dist/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"import": {
|
||||
"types": "./dist/index.d.mts",
|
||||
"default": "./dist/index.mjs"
|
||||
},
|
||||
"require": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"default": "./dist/index.js"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
21
node_modules/@radix-ui/react-aspect-ratio/LICENSE
generated
vendored
Normal file
21
node_modules/@radix-ui/react-aspect-ratio/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 WorkOS
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
3
node_modules/@radix-ui/react-aspect-ratio/README.md
generated
vendored
Normal file
3
node_modules/@radix-ui/react-aspect-ratio/README.md
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# `react-aspect-ratio`
|
||||
|
||||
View docs [here](https://radix-ui.com/primitives/docs/utilities/aspect-ratio).
|
||||
11
node_modules/@radix-ui/react-aspect-ratio/dist/index.d.mts
generated
vendored
Normal file
11
node_modules/@radix-ui/react-aspect-ratio/dist/index.d.mts
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
import * as React from 'react';
|
||||
import { Primitive } from '@radix-ui/react-primitive';
|
||||
|
||||
type PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;
|
||||
interface AspectRatioProps extends PrimitiveDivProps {
|
||||
ratio?: number;
|
||||
}
|
||||
declare const AspectRatio: React.ForwardRefExoticComponent<AspectRatioProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Root: React.ForwardRefExoticComponent<AspectRatioProps & React.RefAttributes<HTMLDivElement>>;
|
||||
|
||||
export { AspectRatio, type AspectRatioProps, Root };
|
||||
11
node_modules/@radix-ui/react-aspect-ratio/dist/index.d.ts
generated
vendored
Normal file
11
node_modules/@radix-ui/react-aspect-ratio/dist/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
import * as React from 'react';
|
||||
import { Primitive } from '@radix-ui/react-primitive';
|
||||
|
||||
type PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;
|
||||
interface AspectRatioProps extends PrimitiveDivProps {
|
||||
ratio?: number;
|
||||
}
|
||||
declare const AspectRatio: React.ForwardRefExoticComponent<AspectRatioProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Root: React.ForwardRefExoticComponent<AspectRatioProps & React.RefAttributes<HTMLDivElement>>;
|
||||
|
||||
export { AspectRatio, type AspectRatioProps, Root };
|
||||
79
node_modules/@radix-ui/react-aspect-ratio/dist/index.js
generated
vendored
Normal file
79
node_modules/@radix-ui/react-aspect-ratio/dist/index.js
generated
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
"use strict";
|
||||
var __create = Object.create;
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __getProtoOf = Object.getPrototypeOf;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
||||
// If the importer is in node compatibility mode or this is not an ESM
|
||||
// file that has been converted to a CommonJS file using a Babel-
|
||||
// compatible transform (i.e. "__esModule" has not been set), then set
|
||||
// "default" to the CommonJS "module.exports" for node compatibility.
|
||||
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
||||
mod
|
||||
));
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/index.ts
|
||||
var index_exports = {};
|
||||
__export(index_exports, {
|
||||
AspectRatio: () => AspectRatio,
|
||||
Root: () => Root
|
||||
});
|
||||
module.exports = __toCommonJS(index_exports);
|
||||
|
||||
// src/aspect-ratio.tsx
|
||||
var React = __toESM(require("react"));
|
||||
var import_react_primitive = require("@radix-ui/react-primitive");
|
||||
var import_jsx_runtime = require("react/jsx-runtime");
|
||||
var NAME = "AspectRatio";
|
||||
var AspectRatio = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { ratio = 1 / 1, style, ...aspectRatioProps } = props;
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
"div",
|
||||
{
|
||||
style: {
|
||||
// ensures inner element is contained
|
||||
position: "relative",
|
||||
// ensures padding bottom trick maths works
|
||||
width: "100%",
|
||||
paddingBottom: `${100 / ratio}%`
|
||||
},
|
||||
"data-radix-aspect-ratio-wrapper": "",
|
||||
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
import_react_primitive.Primitive.div,
|
||||
{
|
||||
...aspectRatioProps,
|
||||
ref: forwardedRef,
|
||||
style: {
|
||||
...style,
|
||||
// ensures children expand in ratio
|
||||
position: "absolute",
|
||||
top: 0,
|
||||
right: 0,
|
||||
bottom: 0,
|
||||
left: 0
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
AspectRatio.displayName = NAME;
|
||||
var Root = AspectRatio;
|
||||
//# sourceMappingURL=index.js.map
|
||||
7
node_modules/@radix-ui/react-aspect-ratio/dist/index.js.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-aspect-ratio/dist/index.js.map
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../src/index.ts", "../src/aspect-ratio.tsx"],
|
||||
"sourcesContent": ["export {\n AspectRatio,\n //\n Root,\n} from './aspect-ratio';\nexport type { AspectRatioProps } from './aspect-ratio';\n", "import * as React from 'react';\nimport { Primitive } from '@radix-ui/react-primitive';\n\n/* -------------------------------------------------------------------------------------------------\n * AspectRatio\n * -----------------------------------------------------------------------------------------------*/\n\nconst NAME = 'AspectRatio';\n\ntype AspectRatioElement = React.ComponentRef<typeof Primitive.div>;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface AspectRatioProps extends PrimitiveDivProps {\n ratio?: number;\n}\n\nconst AspectRatio = React.forwardRef<AspectRatioElement, AspectRatioProps>(\n (props, forwardedRef) => {\n const { ratio = 1 / 1, style, ...aspectRatioProps } = props;\n return (\n <div\n style={{\n // ensures inner element is contained\n position: 'relative',\n // ensures padding bottom trick maths works\n width: '100%',\n paddingBottom: `${100 / ratio}%`,\n }}\n data-radix-aspect-ratio-wrapper=\"\"\n >\n <Primitive.div\n {...aspectRatioProps}\n ref={forwardedRef}\n style={{\n ...style,\n // ensures children expand in ratio\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n }}\n />\n </div>\n );\n }\n);\n\nAspectRatio.displayName = NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = AspectRatio;\n\nexport {\n AspectRatio,\n //\n Root,\n};\nexport type { AspectRatioProps };\n"],
|
||||
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,YAAuB;AACvB,6BAA0B;AA4BlB;AAtBR,IAAM,OAAO;AAQb,IAAM,cAAoB;AAAA,EACxB,CAAC,OAAO,iBAAiB;AACvB,UAAM,EAAE,QAAQ,IAAI,GAAG,OAAO,GAAG,iBAAiB,IAAI;AACtD,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA;AAAA,UAEL,UAAU;AAAA;AAAA,UAEV,OAAO;AAAA,UACP,eAAe,GAAG,MAAM,KAAK;AAAA,QAC/B;AAAA,QACA,mCAAgC;AAAA,QAEhC;AAAA,UAAC,iCAAU;AAAA,UAAV;AAAA,YACE,GAAG;AAAA,YACJ,KAAK;AAAA,YACL,OAAO;AAAA,cACL,GAAG;AAAA;AAAA,cAEH,UAAU;AAAA,cACV,KAAK;AAAA,cACL,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,MAAM;AAAA,YACR;AAAA;AAAA,QACF;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,YAAY,cAAc;AAI1B,IAAM,OAAO;",
|
||||
"names": []
|
||||
}
|
||||
46
node_modules/@radix-ui/react-aspect-ratio/dist/index.mjs
generated
vendored
Normal file
46
node_modules/@radix-ui/react-aspect-ratio/dist/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
// src/aspect-ratio.tsx
|
||||
import * as React from "react";
|
||||
import { Primitive } from "@radix-ui/react-primitive";
|
||||
import { jsx } from "react/jsx-runtime";
|
||||
var NAME = "AspectRatio";
|
||||
var AspectRatio = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { ratio = 1 / 1, style, ...aspectRatioProps } = props;
|
||||
return /* @__PURE__ */ jsx(
|
||||
"div",
|
||||
{
|
||||
style: {
|
||||
// ensures inner element is contained
|
||||
position: "relative",
|
||||
// ensures padding bottom trick maths works
|
||||
width: "100%",
|
||||
paddingBottom: `${100 / ratio}%`
|
||||
},
|
||||
"data-radix-aspect-ratio-wrapper": "",
|
||||
children: /* @__PURE__ */ jsx(
|
||||
Primitive.div,
|
||||
{
|
||||
...aspectRatioProps,
|
||||
ref: forwardedRef,
|
||||
style: {
|
||||
...style,
|
||||
// ensures children expand in ratio
|
||||
position: "absolute",
|
||||
top: 0,
|
||||
right: 0,
|
||||
bottom: 0,
|
||||
left: 0
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
AspectRatio.displayName = NAME;
|
||||
var Root = AspectRatio;
|
||||
export {
|
||||
AspectRatio,
|
||||
Root
|
||||
};
|
||||
//# sourceMappingURL=index.mjs.map
|
||||
7
node_modules/@radix-ui/react-aspect-ratio/dist/index.mjs.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-aspect-ratio/dist/index.mjs.map
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../src/aspect-ratio.tsx"],
|
||||
"sourcesContent": ["import * as React from 'react';\nimport { Primitive } from '@radix-ui/react-primitive';\n\n/* -------------------------------------------------------------------------------------------------\n * AspectRatio\n * -----------------------------------------------------------------------------------------------*/\n\nconst NAME = 'AspectRatio';\n\ntype AspectRatioElement = React.ComponentRef<typeof Primitive.div>;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface AspectRatioProps extends PrimitiveDivProps {\n ratio?: number;\n}\n\nconst AspectRatio = React.forwardRef<AspectRatioElement, AspectRatioProps>(\n (props, forwardedRef) => {\n const { ratio = 1 / 1, style, ...aspectRatioProps } = props;\n return (\n <div\n style={{\n // ensures inner element is contained\n position: 'relative',\n // ensures padding bottom trick maths works\n width: '100%',\n paddingBottom: `${100 / ratio}%`,\n }}\n data-radix-aspect-ratio-wrapper=\"\"\n >\n <Primitive.div\n {...aspectRatioProps}\n ref={forwardedRef}\n style={{\n ...style,\n // ensures children expand in ratio\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n }}\n />\n </div>\n );\n }\n);\n\nAspectRatio.displayName = NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = AspectRatio;\n\nexport {\n AspectRatio,\n //\n Root,\n};\nexport type { AspectRatioProps };\n"],
|
||||
"mappings": ";AAAA,YAAY,WAAW;AACvB,SAAS,iBAAiB;AA4BlB;AAtBR,IAAM,OAAO;AAQb,IAAM,cAAoB;AAAA,EACxB,CAAC,OAAO,iBAAiB;AACvB,UAAM,EAAE,QAAQ,IAAI,GAAG,OAAO,GAAG,iBAAiB,IAAI;AACtD,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA;AAAA,UAEL,UAAU;AAAA;AAAA,UAEV,OAAO;AAAA,UACP,eAAe,GAAG,MAAM,KAAK;AAAA,QAC/B;AAAA,QACA,mCAAgC;AAAA,QAEhC;AAAA,UAAC,UAAU;AAAA,UAAV;AAAA,YACE,GAAG;AAAA,YACJ,KAAK;AAAA,YACL,OAAO;AAAA,cACL,GAAG;AAAA;AAAA,cAEH,UAAU;AAAA,cACV,KAAK;AAAA,cACL,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,MAAM;AAAA,YACR;AAAA;AAAA,QACF;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,YAAY,cAAc;AAI1B,IAAM,OAAO;",
|
||||
"names": []
|
||||
}
|
||||
68
node_modules/@radix-ui/react-aspect-ratio/package.json
generated
vendored
Normal file
68
node_modules/@radix-ui/react-aspect-ratio/package.json
generated
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"name": "@radix-ui/react-aspect-ratio",
|
||||
"version": "1.1.7",
|
||||
"license": "MIT",
|
||||
"source": "./src/index.ts",
|
||||
"main": "./dist/index.js",
|
||||
"module": "./dist/index.mjs",
|
||||
"files": [
|
||||
"dist",
|
||||
"README.md"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"dependencies": {
|
||||
"@radix-ui/react-primitive": "2.1.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react": "^19.0.7",
|
||||
"@types/react-dom": "^19.0.3",
|
||||
"eslint": "^9.18.0",
|
||||
"react": "^19.1.0",
|
||||
"react-dom": "^19.1.0",
|
||||
"typescript": "^5.7.3",
|
||||
"@repo/builder": "0.0.0",
|
||||
"@repo/eslint-config": "0.0.0",
|
||||
"@repo/typescript-config": "0.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/react": "*",
|
||||
"@types/react-dom": "*",
|
||||
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
|
||||
"react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@types/react": {
|
||||
"optional": true
|
||||
},
|
||||
"@types/react-dom": {
|
||||
"optional": true
|
||||
}
|
||||
},
|
||||
"homepage": "https://radix-ui.com/primitives",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/radix-ui/primitives.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/radix-ui/primitives/issues"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint --max-warnings 0 src",
|
||||
"clean": "rm -rf dist",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"build": "radix-build"
|
||||
},
|
||||
"types": "./dist/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"import": {
|
||||
"types": "./dist/index.d.mts",
|
||||
"default": "./dist/index.mjs"
|
||||
},
|
||||
"require": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"default": "./dist/index.js"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
21
node_modules/@radix-ui/react-avatar/LICENSE
generated
vendored
Normal file
21
node_modules/@radix-ui/react-avatar/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 WorkOS
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
3
node_modules/@radix-ui/react-avatar/README.md
generated
vendored
Normal file
3
node_modules/@radix-ui/react-avatar/README.md
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# `react-avatar`
|
||||
|
||||
View docs [here](https://radix-ui.com/primitives/docs/components/avatar).
|
||||
24
node_modules/@radix-ui/react-avatar/dist/index.d.mts
generated
vendored
Normal file
24
node_modules/@radix-ui/react-avatar/dist/index.d.mts
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
import * as _radix_ui_react_context from '@radix-ui/react-context';
|
||||
import * as React from 'react';
|
||||
import { Primitive } from '@radix-ui/react-primitive';
|
||||
|
||||
declare const createAvatarScope: _radix_ui_react_context.CreateScope;
|
||||
type ImageLoadingStatus = 'idle' | 'loading' | 'loaded' | 'error';
|
||||
type PrimitiveSpanProps = React.ComponentPropsWithoutRef<typeof Primitive.span>;
|
||||
interface AvatarProps extends PrimitiveSpanProps {
|
||||
}
|
||||
declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLSpanElement>>;
|
||||
type PrimitiveImageProps = React.ComponentPropsWithoutRef<typeof Primitive.img>;
|
||||
interface AvatarImageProps extends PrimitiveImageProps {
|
||||
onLoadingStatusChange?: (status: ImageLoadingStatus) => void;
|
||||
}
|
||||
declare const AvatarImage: React.ForwardRefExoticComponent<AvatarImageProps & React.RefAttributes<HTMLImageElement>>;
|
||||
interface AvatarFallbackProps extends PrimitiveSpanProps {
|
||||
delayMs?: number;
|
||||
}
|
||||
declare const AvatarFallback: React.ForwardRefExoticComponent<AvatarFallbackProps & React.RefAttributes<HTMLSpanElement>>;
|
||||
declare const Root: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLSpanElement>>;
|
||||
declare const Image: React.ForwardRefExoticComponent<AvatarImageProps & React.RefAttributes<HTMLImageElement>>;
|
||||
declare const Fallback: React.ForwardRefExoticComponent<AvatarFallbackProps & React.RefAttributes<HTMLSpanElement>>;
|
||||
|
||||
export { Avatar, AvatarFallback, type AvatarFallbackProps, AvatarImage, type AvatarImageProps, type AvatarProps, Fallback, Image, Root, createAvatarScope };
|
||||
24
node_modules/@radix-ui/react-avatar/dist/index.d.ts
generated
vendored
Normal file
24
node_modules/@radix-ui/react-avatar/dist/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
import * as _radix_ui_react_context from '@radix-ui/react-context';
|
||||
import * as React from 'react';
|
||||
import { Primitive } from '@radix-ui/react-primitive';
|
||||
|
||||
declare const createAvatarScope: _radix_ui_react_context.CreateScope;
|
||||
type ImageLoadingStatus = 'idle' | 'loading' | 'loaded' | 'error';
|
||||
type PrimitiveSpanProps = React.ComponentPropsWithoutRef<typeof Primitive.span>;
|
||||
interface AvatarProps extends PrimitiveSpanProps {
|
||||
}
|
||||
declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLSpanElement>>;
|
||||
type PrimitiveImageProps = React.ComponentPropsWithoutRef<typeof Primitive.img>;
|
||||
interface AvatarImageProps extends PrimitiveImageProps {
|
||||
onLoadingStatusChange?: (status: ImageLoadingStatus) => void;
|
||||
}
|
||||
declare const AvatarImage: React.ForwardRefExoticComponent<AvatarImageProps & React.RefAttributes<HTMLImageElement>>;
|
||||
interface AvatarFallbackProps extends PrimitiveSpanProps {
|
||||
delayMs?: number;
|
||||
}
|
||||
declare const AvatarFallback: React.ForwardRefExoticComponent<AvatarFallbackProps & React.RefAttributes<HTMLSpanElement>>;
|
||||
declare const Root: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLSpanElement>>;
|
||||
declare const Image: React.ForwardRefExoticComponent<AvatarImageProps & React.RefAttributes<HTMLImageElement>>;
|
||||
declare const Fallback: React.ForwardRefExoticComponent<AvatarFallbackProps & React.RefAttributes<HTMLSpanElement>>;
|
||||
|
||||
export { Avatar, AvatarFallback, type AvatarFallbackProps, AvatarImage, type AvatarImageProps, type AvatarProps, Fallback, Image, Root, createAvatarScope };
|
||||
160
node_modules/@radix-ui/react-avatar/dist/index.js
generated
vendored
Normal file
160
node_modules/@radix-ui/react-avatar/dist/index.js
generated
vendored
Normal file
@@ -0,0 +1,160 @@
|
||||
"use strict";
|
||||
"use client";
|
||||
var __create = Object.create;
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __getProtoOf = Object.getPrototypeOf;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
||||
// If the importer is in node compatibility mode or this is not an ESM
|
||||
// file that has been converted to a CommonJS file using a Babel-
|
||||
// compatible transform (i.e. "__esModule" has not been set), then set
|
||||
// "default" to the CommonJS "module.exports" for node compatibility.
|
||||
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
||||
mod
|
||||
));
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/index.ts
|
||||
var index_exports = {};
|
||||
__export(index_exports, {
|
||||
Avatar: () => Avatar,
|
||||
AvatarFallback: () => AvatarFallback,
|
||||
AvatarImage: () => AvatarImage,
|
||||
Fallback: () => Fallback,
|
||||
Image: () => Image,
|
||||
Root: () => Root,
|
||||
createAvatarScope: () => createAvatarScope
|
||||
});
|
||||
module.exports = __toCommonJS(index_exports);
|
||||
|
||||
// src/avatar.tsx
|
||||
var React = __toESM(require("react"));
|
||||
var import_react_context = require("@radix-ui/react-context");
|
||||
var import_react_use_callback_ref = require("@radix-ui/react-use-callback-ref");
|
||||
var import_react_use_layout_effect = require("@radix-ui/react-use-layout-effect");
|
||||
var import_react_primitive = require("@radix-ui/react-primitive");
|
||||
var import_react_use_is_hydrated = require("@radix-ui/react-use-is-hydrated");
|
||||
var import_jsx_runtime = require("react/jsx-runtime");
|
||||
var AVATAR_NAME = "Avatar";
|
||||
var [createAvatarContext, createAvatarScope] = (0, import_react_context.createContextScope)(AVATAR_NAME);
|
||||
var [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME);
|
||||
var Avatar = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAvatar, ...avatarProps } = props;
|
||||
const [imageLoadingStatus, setImageLoadingStatus] = React.useState("idle");
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
AvatarProvider,
|
||||
{
|
||||
scope: __scopeAvatar,
|
||||
imageLoadingStatus,
|
||||
onImageLoadingStatusChange: setImageLoadingStatus,
|
||||
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_primitive.Primitive.span, { ...avatarProps, ref: forwardedRef })
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
Avatar.displayName = AVATAR_NAME;
|
||||
var IMAGE_NAME = "AvatarImage";
|
||||
var AvatarImage = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAvatar, src, onLoadingStatusChange = () => {
|
||||
}, ...imageProps } = props;
|
||||
const context = useAvatarContext(IMAGE_NAME, __scopeAvatar);
|
||||
const imageLoadingStatus = useImageLoadingStatus(src, imageProps);
|
||||
const handleLoadingStatusChange = (0, import_react_use_callback_ref.useCallbackRef)((status) => {
|
||||
onLoadingStatusChange(status);
|
||||
context.onImageLoadingStatusChange(status);
|
||||
});
|
||||
(0, import_react_use_layout_effect.useLayoutEffect)(() => {
|
||||
if (imageLoadingStatus !== "idle") {
|
||||
handleLoadingStatusChange(imageLoadingStatus);
|
||||
}
|
||||
}, [imageLoadingStatus, handleLoadingStatusChange]);
|
||||
return imageLoadingStatus === "loaded" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_primitive.Primitive.img, { ...imageProps, ref: forwardedRef, src }) : null;
|
||||
}
|
||||
);
|
||||
AvatarImage.displayName = IMAGE_NAME;
|
||||
var FALLBACK_NAME = "AvatarFallback";
|
||||
var AvatarFallback = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAvatar, delayMs, ...fallbackProps } = props;
|
||||
const context = useAvatarContext(FALLBACK_NAME, __scopeAvatar);
|
||||
const [canRender, setCanRender] = React.useState(delayMs === void 0);
|
||||
React.useEffect(() => {
|
||||
if (delayMs !== void 0) {
|
||||
const timerId = window.setTimeout(() => setCanRender(true), delayMs);
|
||||
return () => window.clearTimeout(timerId);
|
||||
}
|
||||
}, [delayMs]);
|
||||
return canRender && context.imageLoadingStatus !== "loaded" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_primitive.Primitive.span, { ...fallbackProps, ref: forwardedRef }) : null;
|
||||
}
|
||||
);
|
||||
AvatarFallback.displayName = FALLBACK_NAME;
|
||||
function resolveLoadingStatus(image, src) {
|
||||
if (!image) {
|
||||
return "idle";
|
||||
}
|
||||
if (!src) {
|
||||
return "error";
|
||||
}
|
||||
if (image.src !== src) {
|
||||
image.src = src;
|
||||
}
|
||||
return image.complete && image.naturalWidth > 0 ? "loaded" : "loading";
|
||||
}
|
||||
function useImageLoadingStatus(src, { referrerPolicy, crossOrigin }) {
|
||||
const isHydrated = (0, import_react_use_is_hydrated.useIsHydrated)();
|
||||
const imageRef = React.useRef(null);
|
||||
const image = (() => {
|
||||
if (!isHydrated) return null;
|
||||
if (!imageRef.current) {
|
||||
imageRef.current = new window.Image();
|
||||
}
|
||||
return imageRef.current;
|
||||
})();
|
||||
const [loadingStatus, setLoadingStatus] = React.useState(
|
||||
() => resolveLoadingStatus(image, src)
|
||||
);
|
||||
(0, import_react_use_layout_effect.useLayoutEffect)(() => {
|
||||
setLoadingStatus(resolveLoadingStatus(image, src));
|
||||
}, [image, src]);
|
||||
(0, import_react_use_layout_effect.useLayoutEffect)(() => {
|
||||
const updateStatus = (status) => () => {
|
||||
setLoadingStatus(status);
|
||||
};
|
||||
if (!image) return;
|
||||
const handleLoad = updateStatus("loaded");
|
||||
const handleError = updateStatus("error");
|
||||
image.addEventListener("load", handleLoad);
|
||||
image.addEventListener("error", handleError);
|
||||
if (referrerPolicy) {
|
||||
image.referrerPolicy = referrerPolicy;
|
||||
}
|
||||
if (typeof crossOrigin === "string") {
|
||||
image.crossOrigin = crossOrigin;
|
||||
}
|
||||
return () => {
|
||||
image.removeEventListener("load", handleLoad);
|
||||
image.removeEventListener("error", handleError);
|
||||
};
|
||||
}, [image, crossOrigin, referrerPolicy]);
|
||||
return loadingStatus;
|
||||
}
|
||||
var Root = Avatar;
|
||||
var Image = AvatarImage;
|
||||
var Fallback = AvatarFallback;
|
||||
//# sourceMappingURL=index.js.map
|
||||
7
node_modules/@radix-ui/react-avatar/dist/index.js.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-avatar/dist/index.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
128
node_modules/@radix-ui/react-avatar/dist/index.mjs
generated
vendored
Normal file
128
node_modules/@radix-ui/react-avatar/dist/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,128 @@
|
||||
"use client";
|
||||
|
||||
// src/avatar.tsx
|
||||
import * as React from "react";
|
||||
import { createContextScope } from "@radix-ui/react-context";
|
||||
import { useCallbackRef } from "@radix-ui/react-use-callback-ref";
|
||||
import { useLayoutEffect } from "@radix-ui/react-use-layout-effect";
|
||||
import { Primitive } from "@radix-ui/react-primitive";
|
||||
import { useIsHydrated } from "@radix-ui/react-use-is-hydrated";
|
||||
import { jsx } from "react/jsx-runtime";
|
||||
var AVATAR_NAME = "Avatar";
|
||||
var [createAvatarContext, createAvatarScope] = createContextScope(AVATAR_NAME);
|
||||
var [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME);
|
||||
var Avatar = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAvatar, ...avatarProps } = props;
|
||||
const [imageLoadingStatus, setImageLoadingStatus] = React.useState("idle");
|
||||
return /* @__PURE__ */ jsx(
|
||||
AvatarProvider,
|
||||
{
|
||||
scope: __scopeAvatar,
|
||||
imageLoadingStatus,
|
||||
onImageLoadingStatusChange: setImageLoadingStatus,
|
||||
children: /* @__PURE__ */ jsx(Primitive.span, { ...avatarProps, ref: forwardedRef })
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
Avatar.displayName = AVATAR_NAME;
|
||||
var IMAGE_NAME = "AvatarImage";
|
||||
var AvatarImage = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAvatar, src, onLoadingStatusChange = () => {
|
||||
}, ...imageProps } = props;
|
||||
const context = useAvatarContext(IMAGE_NAME, __scopeAvatar);
|
||||
const imageLoadingStatus = useImageLoadingStatus(src, imageProps);
|
||||
const handleLoadingStatusChange = useCallbackRef((status) => {
|
||||
onLoadingStatusChange(status);
|
||||
context.onImageLoadingStatusChange(status);
|
||||
});
|
||||
useLayoutEffect(() => {
|
||||
if (imageLoadingStatus !== "idle") {
|
||||
handleLoadingStatusChange(imageLoadingStatus);
|
||||
}
|
||||
}, [imageLoadingStatus, handleLoadingStatusChange]);
|
||||
return imageLoadingStatus === "loaded" ? /* @__PURE__ */ jsx(Primitive.img, { ...imageProps, ref: forwardedRef, src }) : null;
|
||||
}
|
||||
);
|
||||
AvatarImage.displayName = IMAGE_NAME;
|
||||
var FALLBACK_NAME = "AvatarFallback";
|
||||
var AvatarFallback = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeAvatar, delayMs, ...fallbackProps } = props;
|
||||
const context = useAvatarContext(FALLBACK_NAME, __scopeAvatar);
|
||||
const [canRender, setCanRender] = React.useState(delayMs === void 0);
|
||||
React.useEffect(() => {
|
||||
if (delayMs !== void 0) {
|
||||
const timerId = window.setTimeout(() => setCanRender(true), delayMs);
|
||||
return () => window.clearTimeout(timerId);
|
||||
}
|
||||
}, [delayMs]);
|
||||
return canRender && context.imageLoadingStatus !== "loaded" ? /* @__PURE__ */ jsx(Primitive.span, { ...fallbackProps, ref: forwardedRef }) : null;
|
||||
}
|
||||
);
|
||||
AvatarFallback.displayName = FALLBACK_NAME;
|
||||
function resolveLoadingStatus(image, src) {
|
||||
if (!image) {
|
||||
return "idle";
|
||||
}
|
||||
if (!src) {
|
||||
return "error";
|
||||
}
|
||||
if (image.src !== src) {
|
||||
image.src = src;
|
||||
}
|
||||
return image.complete && image.naturalWidth > 0 ? "loaded" : "loading";
|
||||
}
|
||||
function useImageLoadingStatus(src, { referrerPolicy, crossOrigin }) {
|
||||
const isHydrated = useIsHydrated();
|
||||
const imageRef = React.useRef(null);
|
||||
const image = (() => {
|
||||
if (!isHydrated) return null;
|
||||
if (!imageRef.current) {
|
||||
imageRef.current = new window.Image();
|
||||
}
|
||||
return imageRef.current;
|
||||
})();
|
||||
const [loadingStatus, setLoadingStatus] = React.useState(
|
||||
() => resolveLoadingStatus(image, src)
|
||||
);
|
||||
useLayoutEffect(() => {
|
||||
setLoadingStatus(resolveLoadingStatus(image, src));
|
||||
}, [image, src]);
|
||||
useLayoutEffect(() => {
|
||||
const updateStatus = (status) => () => {
|
||||
setLoadingStatus(status);
|
||||
};
|
||||
if (!image) return;
|
||||
const handleLoad = updateStatus("loaded");
|
||||
const handleError = updateStatus("error");
|
||||
image.addEventListener("load", handleLoad);
|
||||
image.addEventListener("error", handleError);
|
||||
if (referrerPolicy) {
|
||||
image.referrerPolicy = referrerPolicy;
|
||||
}
|
||||
if (typeof crossOrigin === "string") {
|
||||
image.crossOrigin = crossOrigin;
|
||||
}
|
||||
return () => {
|
||||
image.removeEventListener("load", handleLoad);
|
||||
image.removeEventListener("error", handleError);
|
||||
};
|
||||
}, [image, crossOrigin, referrerPolicy]);
|
||||
return loadingStatus;
|
||||
}
|
||||
var Root = Avatar;
|
||||
var Image = AvatarImage;
|
||||
var Fallback = AvatarFallback;
|
||||
export {
|
||||
Avatar,
|
||||
AvatarFallback,
|
||||
AvatarImage,
|
||||
Fallback,
|
||||
Image,
|
||||
Root,
|
||||
createAvatarScope
|
||||
};
|
||||
//# sourceMappingURL=index.mjs.map
|
||||
7
node_modules/@radix-ui/react-avatar/dist/index.mjs.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-avatar/dist/index.mjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
72
node_modules/@radix-ui/react-avatar/package.json
generated
vendored
Normal file
72
node_modules/@radix-ui/react-avatar/package.json
generated
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
{
|
||||
"name": "@radix-ui/react-avatar",
|
||||
"version": "1.1.10",
|
||||
"license": "MIT",
|
||||
"source": "./src/index.ts",
|
||||
"main": "./dist/index.js",
|
||||
"module": "./dist/index.mjs",
|
||||
"files": [
|
||||
"dist",
|
||||
"README.md"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"dependencies": {
|
||||
"@radix-ui/react-context": "1.1.2",
|
||||
"@radix-ui/react-primitive": "2.1.3",
|
||||
"@radix-ui/react-use-callback-ref": "1.1.1",
|
||||
"@radix-ui/react-use-is-hydrated": "0.1.0",
|
||||
"@radix-ui/react-use-layout-effect": "1.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react": "^19.0.7",
|
||||
"@types/react-dom": "^19.0.3",
|
||||
"eslint": "^9.18.0",
|
||||
"react": "^19.1.0",
|
||||
"react-dom": "^19.1.0",
|
||||
"typescript": "^5.7.3",
|
||||
"@repo/builder": "0.0.0",
|
||||
"@repo/eslint-config": "0.0.0",
|
||||
"@repo/typescript-config": "0.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/react": "*",
|
||||
"@types/react-dom": "*",
|
||||
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
|
||||
"react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@types/react": {
|
||||
"optional": true
|
||||
},
|
||||
"@types/react-dom": {
|
||||
"optional": true
|
||||
}
|
||||
},
|
||||
"homepage": "https://radix-ui.com/primitives",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/radix-ui/primitives.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/radix-ui/primitives/issues"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint --max-warnings 0 src",
|
||||
"clean": "rm -rf dist",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"build": "radix-build"
|
||||
},
|
||||
"types": "./dist/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"import": {
|
||||
"types": "./dist/index.d.mts",
|
||||
"default": "./dist/index.mjs"
|
||||
},
|
||||
"require": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"default": "./dist/index.js"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
21
node_modules/@radix-ui/react-checkbox/LICENSE
generated
vendored
Normal file
21
node_modules/@radix-ui/react-checkbox/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 WorkOS
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
3
node_modules/@radix-ui/react-checkbox/README.md
generated
vendored
Normal file
3
node_modules/@radix-ui/react-checkbox/README.md
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# `react-checkbox`
|
||||
|
||||
View docs [here](https://radix-ui.com/primitives/docs/components/checkbox).
|
||||
50
node_modules/@radix-ui/react-checkbox/dist/index.d.mts
generated
vendored
Normal file
50
node_modules/@radix-ui/react-checkbox/dist/index.d.mts
generated
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
import * as react_jsx_runtime from 'react/jsx-runtime';
|
||||
import * as _radix_ui_react_context from '@radix-ui/react-context';
|
||||
import { Scope } from '@radix-ui/react-context';
|
||||
import * as React from 'react';
|
||||
import { Primitive } from '@radix-ui/react-primitive';
|
||||
|
||||
type ScopedProps<P> = P & {
|
||||
__scopeCheckbox?: Scope;
|
||||
};
|
||||
declare const createCheckboxScope: _radix_ui_react_context.CreateScope;
|
||||
type CheckedState = boolean | 'indeterminate';
|
||||
interface CheckboxProviderProps<State extends CheckedState = CheckedState> {
|
||||
checked?: State | boolean;
|
||||
defaultChecked?: State | boolean;
|
||||
required?: boolean;
|
||||
onCheckedChange?(checked: State | boolean): void;
|
||||
name?: string;
|
||||
form?: string;
|
||||
disabled?: boolean;
|
||||
value?: string | number | readonly string[];
|
||||
children?: React.ReactNode;
|
||||
}
|
||||
declare function CheckboxProvider<State extends CheckedState = CheckedState>(props: ScopedProps<CheckboxProviderProps<State>>): react_jsx_runtime.JSX.Element;
|
||||
interface CheckboxTriggerProps extends Omit<React.ComponentPropsWithoutRef<typeof Primitive.button>, keyof CheckboxProviderProps> {
|
||||
children?: React.ReactNode;
|
||||
}
|
||||
declare const CheckboxTrigger: React.ForwardRefExoticComponent<CheckboxTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
type PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;
|
||||
interface CheckboxProps extends Omit<PrimitiveButtonProps, 'checked' | 'defaultChecked'> {
|
||||
checked?: CheckedState;
|
||||
defaultChecked?: CheckedState;
|
||||
required?: boolean;
|
||||
onCheckedChange?(checked: CheckedState): void;
|
||||
}
|
||||
declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
type PrimitiveSpanProps = React.ComponentPropsWithoutRef<typeof Primitive.span>;
|
||||
interface CheckboxIndicatorProps extends PrimitiveSpanProps {
|
||||
/**
|
||||
* Used to force mounting when more control is needed. Useful when
|
||||
* controlling animation with React animation libraries.
|
||||
*/
|
||||
forceMount?: true;
|
||||
}
|
||||
declare const CheckboxIndicator: React.ForwardRefExoticComponent<CheckboxIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
|
||||
type InputProps = React.ComponentPropsWithoutRef<typeof Primitive.input>;
|
||||
interface CheckboxBubbleInputProps extends Omit<InputProps, 'checked'> {
|
||||
}
|
||||
declare const CheckboxBubbleInput: React.ForwardRefExoticComponent<CheckboxBubbleInputProps & React.RefAttributes<HTMLInputElement>>;
|
||||
|
||||
export { Checkbox, CheckboxIndicator, type CheckboxIndicatorProps, type CheckboxProps, type CheckedState, CheckboxIndicator as Indicator, Checkbox as Root, createCheckboxScope, CheckboxBubbleInput as unstable_BubbleInput, CheckboxBubbleInput as unstable_CheckboxBubbleInput, type CheckboxBubbleInputProps as unstable_CheckboxBubbleInputProps, CheckboxProvider as unstable_CheckboxProvider, type CheckboxProviderProps as unstable_CheckboxProviderProps, CheckboxTrigger as unstable_CheckboxTrigger, type CheckboxTriggerProps as unstable_CheckboxTriggerProps, CheckboxProvider as unstable_Provider, CheckboxTrigger as unstable_Trigger };
|
||||
50
node_modules/@radix-ui/react-checkbox/dist/index.d.ts
generated
vendored
Normal file
50
node_modules/@radix-ui/react-checkbox/dist/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
import * as react_jsx_runtime from 'react/jsx-runtime';
|
||||
import * as _radix_ui_react_context from '@radix-ui/react-context';
|
||||
import { Scope } from '@radix-ui/react-context';
|
||||
import * as React from 'react';
|
||||
import { Primitive } from '@radix-ui/react-primitive';
|
||||
|
||||
type ScopedProps<P> = P & {
|
||||
__scopeCheckbox?: Scope;
|
||||
};
|
||||
declare const createCheckboxScope: _radix_ui_react_context.CreateScope;
|
||||
type CheckedState = boolean | 'indeterminate';
|
||||
interface CheckboxProviderProps<State extends CheckedState = CheckedState> {
|
||||
checked?: State | boolean;
|
||||
defaultChecked?: State | boolean;
|
||||
required?: boolean;
|
||||
onCheckedChange?(checked: State | boolean): void;
|
||||
name?: string;
|
||||
form?: string;
|
||||
disabled?: boolean;
|
||||
value?: string | number | readonly string[];
|
||||
children?: React.ReactNode;
|
||||
}
|
||||
declare function CheckboxProvider<State extends CheckedState = CheckedState>(props: ScopedProps<CheckboxProviderProps<State>>): react_jsx_runtime.JSX.Element;
|
||||
interface CheckboxTriggerProps extends Omit<React.ComponentPropsWithoutRef<typeof Primitive.button>, keyof CheckboxProviderProps> {
|
||||
children?: React.ReactNode;
|
||||
}
|
||||
declare const CheckboxTrigger: React.ForwardRefExoticComponent<CheckboxTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
type PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;
|
||||
interface CheckboxProps extends Omit<PrimitiveButtonProps, 'checked' | 'defaultChecked'> {
|
||||
checked?: CheckedState;
|
||||
defaultChecked?: CheckedState;
|
||||
required?: boolean;
|
||||
onCheckedChange?(checked: CheckedState): void;
|
||||
}
|
||||
declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
type PrimitiveSpanProps = React.ComponentPropsWithoutRef<typeof Primitive.span>;
|
||||
interface CheckboxIndicatorProps extends PrimitiveSpanProps {
|
||||
/**
|
||||
* Used to force mounting when more control is needed. Useful when
|
||||
* controlling animation with React animation libraries.
|
||||
*/
|
||||
forceMount?: true;
|
||||
}
|
||||
declare const CheckboxIndicator: React.ForwardRefExoticComponent<CheckboxIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
|
||||
type InputProps = React.ComponentPropsWithoutRef<typeof Primitive.input>;
|
||||
interface CheckboxBubbleInputProps extends Omit<InputProps, 'checked'> {
|
||||
}
|
||||
declare const CheckboxBubbleInput: React.ForwardRefExoticComponent<CheckboxBubbleInputProps & React.RefAttributes<HTMLInputElement>>;
|
||||
|
||||
export { Checkbox, CheckboxIndicator, type CheckboxIndicatorProps, type CheckboxProps, type CheckedState, CheckboxIndicator as Indicator, Checkbox as Root, createCheckboxScope, CheckboxBubbleInput as unstable_BubbleInput, CheckboxBubbleInput as unstable_CheckboxBubbleInput, type CheckboxBubbleInputProps as unstable_CheckboxBubbleInputProps, CheckboxProvider as unstable_CheckboxProvider, type CheckboxProviderProps as unstable_CheckboxProviderProps, CheckboxTrigger as unstable_CheckboxTrigger, type CheckboxTriggerProps as unstable_CheckboxTriggerProps, CheckboxProvider as unstable_Provider, CheckboxTrigger as unstable_Trigger };
|
||||
316
node_modules/@radix-ui/react-checkbox/dist/index.js
generated
vendored
Normal file
316
node_modules/@radix-ui/react-checkbox/dist/index.js
generated
vendored
Normal file
@@ -0,0 +1,316 @@
|
||||
"use strict";
|
||||
"use client";
|
||||
var __create = Object.create;
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __getProtoOf = Object.getPrototypeOf;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
||||
// If the importer is in node compatibility mode or this is not an ESM
|
||||
// file that has been converted to a CommonJS file using a Babel-
|
||||
// compatible transform (i.e. "__esModule" has not been set), then set
|
||||
// "default" to the CommonJS "module.exports" for node compatibility.
|
||||
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
||||
mod
|
||||
));
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/index.ts
|
||||
var index_exports = {};
|
||||
__export(index_exports, {
|
||||
Checkbox: () => Checkbox,
|
||||
CheckboxIndicator: () => CheckboxIndicator,
|
||||
Indicator: () => CheckboxIndicator,
|
||||
Root: () => Checkbox,
|
||||
createCheckboxScope: () => createCheckboxScope,
|
||||
unstable_BubbleInput: () => CheckboxBubbleInput,
|
||||
unstable_CheckboxBubbleInput: () => CheckboxBubbleInput,
|
||||
unstable_CheckboxProvider: () => CheckboxProvider,
|
||||
unstable_CheckboxTrigger: () => CheckboxTrigger,
|
||||
unstable_Provider: () => CheckboxProvider,
|
||||
unstable_Trigger: () => CheckboxTrigger
|
||||
});
|
||||
module.exports = __toCommonJS(index_exports);
|
||||
|
||||
// src/checkbox.tsx
|
||||
var React = __toESM(require("react"));
|
||||
var import_react_compose_refs = require("@radix-ui/react-compose-refs");
|
||||
var import_react_context = require("@radix-ui/react-context");
|
||||
var import_primitive = require("@radix-ui/primitive");
|
||||
var import_react_use_controllable_state = require("@radix-ui/react-use-controllable-state");
|
||||
var import_react_use_previous = require("@radix-ui/react-use-previous");
|
||||
var import_react_use_size = require("@radix-ui/react-use-size");
|
||||
var import_react_presence = require("@radix-ui/react-presence");
|
||||
var import_react_primitive = require("@radix-ui/react-primitive");
|
||||
var import_jsx_runtime = require("react/jsx-runtime");
|
||||
var CHECKBOX_NAME = "Checkbox";
|
||||
var [createCheckboxContext, createCheckboxScope] = (0, import_react_context.createContextScope)(CHECKBOX_NAME);
|
||||
var [CheckboxProviderImpl, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME);
|
||||
function CheckboxProvider(props) {
|
||||
const {
|
||||
__scopeCheckbox,
|
||||
checked: checkedProp,
|
||||
children,
|
||||
defaultChecked,
|
||||
disabled,
|
||||
form,
|
||||
name,
|
||||
onCheckedChange,
|
||||
required,
|
||||
value = "on",
|
||||
// @ts-expect-error
|
||||
internal_do_not_use_render
|
||||
} = props;
|
||||
const [checked, setChecked] = (0, import_react_use_controllable_state.useControllableState)({
|
||||
prop: checkedProp,
|
||||
defaultProp: defaultChecked ?? false,
|
||||
onChange: onCheckedChange,
|
||||
caller: CHECKBOX_NAME
|
||||
});
|
||||
const [control, setControl] = React.useState(null);
|
||||
const [bubbleInput, setBubbleInput] = React.useState(null);
|
||||
const hasConsumerStoppedPropagationRef = React.useRef(false);
|
||||
const isFormControl = control ? !!form || !!control.closest("form") : (
|
||||
// We set this to true by default so that events bubble to forms without JS (SSR)
|
||||
true
|
||||
);
|
||||
const context = {
|
||||
checked,
|
||||
disabled,
|
||||
setChecked,
|
||||
control,
|
||||
setControl,
|
||||
name,
|
||||
form,
|
||||
value,
|
||||
hasConsumerStoppedPropagationRef,
|
||||
required,
|
||||
defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked,
|
||||
isFormControl,
|
||||
bubbleInput,
|
||||
setBubbleInput
|
||||
};
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
CheckboxProviderImpl,
|
||||
{
|
||||
scope: __scopeCheckbox,
|
||||
...context,
|
||||
children: isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children
|
||||
}
|
||||
);
|
||||
}
|
||||
var TRIGGER_NAME = "CheckboxTrigger";
|
||||
var CheckboxTrigger = React.forwardRef(
|
||||
({ __scopeCheckbox, onKeyDown, onClick, ...checkboxProps }, forwardedRef) => {
|
||||
const {
|
||||
control,
|
||||
value,
|
||||
disabled,
|
||||
checked,
|
||||
required,
|
||||
setControl,
|
||||
setChecked,
|
||||
hasConsumerStoppedPropagationRef,
|
||||
isFormControl,
|
||||
bubbleInput
|
||||
} = useCheckboxContext(TRIGGER_NAME, __scopeCheckbox);
|
||||
const composedRefs = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, setControl);
|
||||
const initialCheckedStateRef = React.useRef(checked);
|
||||
React.useEffect(() => {
|
||||
const form = control?.form;
|
||||
if (form) {
|
||||
const reset = () => setChecked(initialCheckedStateRef.current);
|
||||
form.addEventListener("reset", reset);
|
||||
return () => form.removeEventListener("reset", reset);
|
||||
}
|
||||
}, [control, setChecked]);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
import_react_primitive.Primitive.button,
|
||||
{
|
||||
type: "button",
|
||||
role: "checkbox",
|
||||
"aria-checked": isIndeterminate(checked) ? "mixed" : checked,
|
||||
"aria-required": required,
|
||||
"data-state": getState(checked),
|
||||
"data-disabled": disabled ? "" : void 0,
|
||||
disabled,
|
||||
value,
|
||||
...checkboxProps,
|
||||
ref: composedRefs,
|
||||
onKeyDown: (0, import_primitive.composeEventHandlers)(onKeyDown, (event) => {
|
||||
if (event.key === "Enter") event.preventDefault();
|
||||
}),
|
||||
onClick: (0, import_primitive.composeEventHandlers)(onClick, (event) => {
|
||||
setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked);
|
||||
if (bubbleInput && isFormControl) {
|
||||
hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();
|
||||
if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();
|
||||
}
|
||||
})
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
CheckboxTrigger.displayName = TRIGGER_NAME;
|
||||
var Checkbox = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const {
|
||||
__scopeCheckbox,
|
||||
name,
|
||||
checked,
|
||||
defaultChecked,
|
||||
required,
|
||||
disabled,
|
||||
value,
|
||||
onCheckedChange,
|
||||
form,
|
||||
...checkboxProps
|
||||
} = props;
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
CheckboxProvider,
|
||||
{
|
||||
__scopeCheckbox,
|
||||
checked,
|
||||
defaultChecked,
|
||||
disabled,
|
||||
required,
|
||||
onCheckedChange,
|
||||
name,
|
||||
form,
|
||||
value,
|
||||
internal_do_not_use_render: ({ isFormControl }) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
||||
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
CheckboxTrigger,
|
||||
{
|
||||
...checkboxProps,
|
||||
ref: forwardedRef,
|
||||
__scopeCheckbox
|
||||
}
|
||||
),
|
||||
isFormControl && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
CheckboxBubbleInput,
|
||||
{
|
||||
__scopeCheckbox
|
||||
}
|
||||
)
|
||||
] })
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
Checkbox.displayName = CHECKBOX_NAME;
|
||||
var INDICATOR_NAME = "CheckboxIndicator";
|
||||
var CheckboxIndicator = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeCheckbox, forceMount, ...indicatorProps } = props;
|
||||
const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
import_react_presence.Presence,
|
||||
{
|
||||
present: forceMount || isIndeterminate(context.checked) || context.checked === true,
|
||||
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
import_react_primitive.Primitive.span,
|
||||
{
|
||||
"data-state": getState(context.checked),
|
||||
"data-disabled": context.disabled ? "" : void 0,
|
||||
...indicatorProps,
|
||||
ref: forwardedRef,
|
||||
style: { pointerEvents: "none", ...props.style }
|
||||
}
|
||||
)
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
CheckboxIndicator.displayName = INDICATOR_NAME;
|
||||
var BUBBLE_INPUT_NAME = "CheckboxBubbleInput";
|
||||
var CheckboxBubbleInput = React.forwardRef(
|
||||
({ __scopeCheckbox, ...props }, forwardedRef) => {
|
||||
const {
|
||||
control,
|
||||
hasConsumerStoppedPropagationRef,
|
||||
checked,
|
||||
defaultChecked,
|
||||
required,
|
||||
disabled,
|
||||
name,
|
||||
value,
|
||||
form,
|
||||
bubbleInput,
|
||||
setBubbleInput
|
||||
} = useCheckboxContext(BUBBLE_INPUT_NAME, __scopeCheckbox);
|
||||
const composedRefs = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, setBubbleInput);
|
||||
const prevChecked = (0, import_react_use_previous.usePrevious)(checked);
|
||||
const controlSize = (0, import_react_use_size.useSize)(control);
|
||||
React.useEffect(() => {
|
||||
const input = bubbleInput;
|
||||
if (!input) return;
|
||||
const inputProto = window.HTMLInputElement.prototype;
|
||||
const descriptor = Object.getOwnPropertyDescriptor(
|
||||
inputProto,
|
||||
"checked"
|
||||
);
|
||||
const setChecked = descriptor.set;
|
||||
const bubbles = !hasConsumerStoppedPropagationRef.current;
|
||||
if (prevChecked !== checked && setChecked) {
|
||||
const event = new Event("click", { bubbles });
|
||||
input.indeterminate = isIndeterminate(checked);
|
||||
setChecked.call(input, isIndeterminate(checked) ? false : checked);
|
||||
input.dispatchEvent(event);
|
||||
}
|
||||
}, [bubbleInput, prevChecked, checked, hasConsumerStoppedPropagationRef]);
|
||||
const defaultCheckedRef = React.useRef(isIndeterminate(checked) ? false : checked);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
import_react_primitive.Primitive.input,
|
||||
{
|
||||
type: "checkbox",
|
||||
"aria-hidden": true,
|
||||
defaultChecked: defaultChecked ?? defaultCheckedRef.current,
|
||||
required,
|
||||
disabled,
|
||||
name,
|
||||
value,
|
||||
form,
|
||||
...props,
|
||||
tabIndex: -1,
|
||||
ref: composedRefs,
|
||||
style: {
|
||||
...props.style,
|
||||
...controlSize,
|
||||
position: "absolute",
|
||||
pointerEvents: "none",
|
||||
opacity: 0,
|
||||
margin: 0,
|
||||
// We transform because the input is absolutely positioned but we have
|
||||
// rendered it **after** the button. This pulls it back to sit on top
|
||||
// of the button.
|
||||
transform: "translateX(-100%)"
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
CheckboxBubbleInput.displayName = BUBBLE_INPUT_NAME;
|
||||
function isFunction(value) {
|
||||
return typeof value === "function";
|
||||
}
|
||||
function isIndeterminate(checked) {
|
||||
return checked === "indeterminate";
|
||||
}
|
||||
function getState(checked) {
|
||||
return isIndeterminate(checked) ? "indeterminate" : checked ? "checked" : "unchecked";
|
||||
}
|
||||
//# sourceMappingURL=index.js.map
|
||||
7
node_modules/@radix-ui/react-checkbox/dist/index.js.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-checkbox/dist/index.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
284
node_modules/@radix-ui/react-checkbox/dist/index.mjs
generated
vendored
Normal file
284
node_modules/@radix-ui/react-checkbox/dist/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,284 @@
|
||||
"use client";
|
||||
|
||||
// src/checkbox.tsx
|
||||
import * as React from "react";
|
||||
import { useComposedRefs } from "@radix-ui/react-compose-refs";
|
||||
import { createContextScope } from "@radix-ui/react-context";
|
||||
import { composeEventHandlers } from "@radix-ui/primitive";
|
||||
import { useControllableState } from "@radix-ui/react-use-controllable-state";
|
||||
import { usePrevious } from "@radix-ui/react-use-previous";
|
||||
import { useSize } from "@radix-ui/react-use-size";
|
||||
import { Presence } from "@radix-ui/react-presence";
|
||||
import { Primitive } from "@radix-ui/react-primitive";
|
||||
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
||||
var CHECKBOX_NAME = "Checkbox";
|
||||
var [createCheckboxContext, createCheckboxScope] = createContextScope(CHECKBOX_NAME);
|
||||
var [CheckboxProviderImpl, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME);
|
||||
function CheckboxProvider(props) {
|
||||
const {
|
||||
__scopeCheckbox,
|
||||
checked: checkedProp,
|
||||
children,
|
||||
defaultChecked,
|
||||
disabled,
|
||||
form,
|
||||
name,
|
||||
onCheckedChange,
|
||||
required,
|
||||
value = "on",
|
||||
// @ts-expect-error
|
||||
internal_do_not_use_render
|
||||
} = props;
|
||||
const [checked, setChecked] = useControllableState({
|
||||
prop: checkedProp,
|
||||
defaultProp: defaultChecked ?? false,
|
||||
onChange: onCheckedChange,
|
||||
caller: CHECKBOX_NAME
|
||||
});
|
||||
const [control, setControl] = React.useState(null);
|
||||
const [bubbleInput, setBubbleInput] = React.useState(null);
|
||||
const hasConsumerStoppedPropagationRef = React.useRef(false);
|
||||
const isFormControl = control ? !!form || !!control.closest("form") : (
|
||||
// We set this to true by default so that events bubble to forms without JS (SSR)
|
||||
true
|
||||
);
|
||||
const context = {
|
||||
checked,
|
||||
disabled,
|
||||
setChecked,
|
||||
control,
|
||||
setControl,
|
||||
name,
|
||||
form,
|
||||
value,
|
||||
hasConsumerStoppedPropagationRef,
|
||||
required,
|
||||
defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked,
|
||||
isFormControl,
|
||||
bubbleInput,
|
||||
setBubbleInput
|
||||
};
|
||||
return /* @__PURE__ */ jsx(
|
||||
CheckboxProviderImpl,
|
||||
{
|
||||
scope: __scopeCheckbox,
|
||||
...context,
|
||||
children: isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children
|
||||
}
|
||||
);
|
||||
}
|
||||
var TRIGGER_NAME = "CheckboxTrigger";
|
||||
var CheckboxTrigger = React.forwardRef(
|
||||
({ __scopeCheckbox, onKeyDown, onClick, ...checkboxProps }, forwardedRef) => {
|
||||
const {
|
||||
control,
|
||||
value,
|
||||
disabled,
|
||||
checked,
|
||||
required,
|
||||
setControl,
|
||||
setChecked,
|
||||
hasConsumerStoppedPropagationRef,
|
||||
isFormControl,
|
||||
bubbleInput
|
||||
} = useCheckboxContext(TRIGGER_NAME, __scopeCheckbox);
|
||||
const composedRefs = useComposedRefs(forwardedRef, setControl);
|
||||
const initialCheckedStateRef = React.useRef(checked);
|
||||
React.useEffect(() => {
|
||||
const form = control?.form;
|
||||
if (form) {
|
||||
const reset = () => setChecked(initialCheckedStateRef.current);
|
||||
form.addEventListener("reset", reset);
|
||||
return () => form.removeEventListener("reset", reset);
|
||||
}
|
||||
}, [control, setChecked]);
|
||||
return /* @__PURE__ */ jsx(
|
||||
Primitive.button,
|
||||
{
|
||||
type: "button",
|
||||
role: "checkbox",
|
||||
"aria-checked": isIndeterminate(checked) ? "mixed" : checked,
|
||||
"aria-required": required,
|
||||
"data-state": getState(checked),
|
||||
"data-disabled": disabled ? "" : void 0,
|
||||
disabled,
|
||||
value,
|
||||
...checkboxProps,
|
||||
ref: composedRefs,
|
||||
onKeyDown: composeEventHandlers(onKeyDown, (event) => {
|
||||
if (event.key === "Enter") event.preventDefault();
|
||||
}),
|
||||
onClick: composeEventHandlers(onClick, (event) => {
|
||||
setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked);
|
||||
if (bubbleInput && isFormControl) {
|
||||
hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();
|
||||
if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();
|
||||
}
|
||||
})
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
CheckboxTrigger.displayName = TRIGGER_NAME;
|
||||
var Checkbox = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const {
|
||||
__scopeCheckbox,
|
||||
name,
|
||||
checked,
|
||||
defaultChecked,
|
||||
required,
|
||||
disabled,
|
||||
value,
|
||||
onCheckedChange,
|
||||
form,
|
||||
...checkboxProps
|
||||
} = props;
|
||||
return /* @__PURE__ */ jsx(
|
||||
CheckboxProvider,
|
||||
{
|
||||
__scopeCheckbox,
|
||||
checked,
|
||||
defaultChecked,
|
||||
disabled,
|
||||
required,
|
||||
onCheckedChange,
|
||||
name,
|
||||
form,
|
||||
value,
|
||||
internal_do_not_use_render: ({ isFormControl }) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
||||
/* @__PURE__ */ jsx(
|
||||
CheckboxTrigger,
|
||||
{
|
||||
...checkboxProps,
|
||||
ref: forwardedRef,
|
||||
__scopeCheckbox
|
||||
}
|
||||
),
|
||||
isFormControl && /* @__PURE__ */ jsx(
|
||||
CheckboxBubbleInput,
|
||||
{
|
||||
__scopeCheckbox
|
||||
}
|
||||
)
|
||||
] })
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
Checkbox.displayName = CHECKBOX_NAME;
|
||||
var INDICATOR_NAME = "CheckboxIndicator";
|
||||
var CheckboxIndicator = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeCheckbox, forceMount, ...indicatorProps } = props;
|
||||
const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);
|
||||
return /* @__PURE__ */ jsx(
|
||||
Presence,
|
||||
{
|
||||
present: forceMount || isIndeterminate(context.checked) || context.checked === true,
|
||||
children: /* @__PURE__ */ jsx(
|
||||
Primitive.span,
|
||||
{
|
||||
"data-state": getState(context.checked),
|
||||
"data-disabled": context.disabled ? "" : void 0,
|
||||
...indicatorProps,
|
||||
ref: forwardedRef,
|
||||
style: { pointerEvents: "none", ...props.style }
|
||||
}
|
||||
)
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
CheckboxIndicator.displayName = INDICATOR_NAME;
|
||||
var BUBBLE_INPUT_NAME = "CheckboxBubbleInput";
|
||||
var CheckboxBubbleInput = React.forwardRef(
|
||||
({ __scopeCheckbox, ...props }, forwardedRef) => {
|
||||
const {
|
||||
control,
|
||||
hasConsumerStoppedPropagationRef,
|
||||
checked,
|
||||
defaultChecked,
|
||||
required,
|
||||
disabled,
|
||||
name,
|
||||
value,
|
||||
form,
|
||||
bubbleInput,
|
||||
setBubbleInput
|
||||
} = useCheckboxContext(BUBBLE_INPUT_NAME, __scopeCheckbox);
|
||||
const composedRefs = useComposedRefs(forwardedRef, setBubbleInput);
|
||||
const prevChecked = usePrevious(checked);
|
||||
const controlSize = useSize(control);
|
||||
React.useEffect(() => {
|
||||
const input = bubbleInput;
|
||||
if (!input) return;
|
||||
const inputProto = window.HTMLInputElement.prototype;
|
||||
const descriptor = Object.getOwnPropertyDescriptor(
|
||||
inputProto,
|
||||
"checked"
|
||||
);
|
||||
const setChecked = descriptor.set;
|
||||
const bubbles = !hasConsumerStoppedPropagationRef.current;
|
||||
if (prevChecked !== checked && setChecked) {
|
||||
const event = new Event("click", { bubbles });
|
||||
input.indeterminate = isIndeterminate(checked);
|
||||
setChecked.call(input, isIndeterminate(checked) ? false : checked);
|
||||
input.dispatchEvent(event);
|
||||
}
|
||||
}, [bubbleInput, prevChecked, checked, hasConsumerStoppedPropagationRef]);
|
||||
const defaultCheckedRef = React.useRef(isIndeterminate(checked) ? false : checked);
|
||||
return /* @__PURE__ */ jsx(
|
||||
Primitive.input,
|
||||
{
|
||||
type: "checkbox",
|
||||
"aria-hidden": true,
|
||||
defaultChecked: defaultChecked ?? defaultCheckedRef.current,
|
||||
required,
|
||||
disabled,
|
||||
name,
|
||||
value,
|
||||
form,
|
||||
...props,
|
||||
tabIndex: -1,
|
||||
ref: composedRefs,
|
||||
style: {
|
||||
...props.style,
|
||||
...controlSize,
|
||||
position: "absolute",
|
||||
pointerEvents: "none",
|
||||
opacity: 0,
|
||||
margin: 0,
|
||||
// We transform because the input is absolutely positioned but we have
|
||||
// rendered it **after** the button. This pulls it back to sit on top
|
||||
// of the button.
|
||||
transform: "translateX(-100%)"
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
CheckboxBubbleInput.displayName = BUBBLE_INPUT_NAME;
|
||||
function isFunction(value) {
|
||||
return typeof value === "function";
|
||||
}
|
||||
function isIndeterminate(checked) {
|
||||
return checked === "indeterminate";
|
||||
}
|
||||
function getState(checked) {
|
||||
return isIndeterminate(checked) ? "indeterminate" : checked ? "checked" : "unchecked";
|
||||
}
|
||||
export {
|
||||
Checkbox,
|
||||
CheckboxIndicator,
|
||||
CheckboxIndicator as Indicator,
|
||||
Checkbox as Root,
|
||||
createCheckboxScope,
|
||||
CheckboxBubbleInput as unstable_BubbleInput,
|
||||
CheckboxBubbleInput as unstable_CheckboxBubbleInput,
|
||||
CheckboxProvider as unstable_CheckboxProvider,
|
||||
CheckboxTrigger as unstable_CheckboxTrigger,
|
||||
CheckboxProvider as unstable_Provider,
|
||||
CheckboxTrigger as unstable_Trigger
|
||||
};
|
||||
//# sourceMappingURL=index.mjs.map
|
||||
7
node_modules/@radix-ui/react-checkbox/dist/index.mjs.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-checkbox/dist/index.mjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
75
node_modules/@radix-ui/react-checkbox/package.json
generated
vendored
Normal file
75
node_modules/@radix-ui/react-checkbox/package.json
generated
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"name": "@radix-ui/react-checkbox",
|
||||
"version": "1.3.3",
|
||||
"license": "MIT",
|
||||
"source": "./src/index.ts",
|
||||
"main": "./dist/index.js",
|
||||
"module": "./dist/index.mjs",
|
||||
"files": [
|
||||
"dist",
|
||||
"README.md"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"dependencies": {
|
||||
"@radix-ui/primitive": "1.1.3",
|
||||
"@radix-ui/react-compose-refs": "1.1.2",
|
||||
"@radix-ui/react-context": "1.1.2",
|
||||
"@radix-ui/react-primitive": "2.1.3",
|
||||
"@radix-ui/react-use-previous": "1.1.1",
|
||||
"@radix-ui/react-presence": "1.1.5",
|
||||
"@radix-ui/react-use-controllable-state": "1.2.2",
|
||||
"@radix-ui/react-use-size": "1.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react": "^19.0.7",
|
||||
"@types/react-dom": "^19.0.3",
|
||||
"eslint": "^9.18.0",
|
||||
"react": "^19.1.0",
|
||||
"react-dom": "^19.1.0",
|
||||
"typescript": "^5.7.3",
|
||||
"@repo/builder": "0.0.0",
|
||||
"@repo/eslint-config": "0.0.0",
|
||||
"@repo/typescript-config": "0.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/react": "*",
|
||||
"@types/react-dom": "*",
|
||||
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
|
||||
"react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@types/react": {
|
||||
"optional": true
|
||||
},
|
||||
"@types/react-dom": {
|
||||
"optional": true
|
||||
}
|
||||
},
|
||||
"homepage": "https://radix-ui.com/primitives",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/radix-ui/primitives.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/radix-ui/primitives/issues"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint --max-warnings 0 src",
|
||||
"clean": "rm -rf dist",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"build": "radix-build"
|
||||
},
|
||||
"types": "./dist/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"import": {
|
||||
"types": "./dist/index.d.mts",
|
||||
"default": "./dist/index.mjs"
|
||||
},
|
||||
"require": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"default": "./dist/index.js"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
21
node_modules/@radix-ui/react-collapsible/LICENSE
generated
vendored
Normal file
21
node_modules/@radix-ui/react-collapsible/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 WorkOS
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
3
node_modules/@radix-ui/react-collapsible/README.md
generated
vendored
Normal file
3
node_modules/@radix-ui/react-collapsible/README.md
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# `react-collapsible`
|
||||
|
||||
View docs [here](https://radix-ui.com/primitives/docs/components/collapsible).
|
||||
33
node_modules/@radix-ui/react-collapsible/dist/index.d.mts
generated
vendored
Normal file
33
node_modules/@radix-ui/react-collapsible/dist/index.d.mts
generated
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
import * as _radix_ui_react_context from '@radix-ui/react-context';
|
||||
import * as React from 'react';
|
||||
import { Primitive } from '@radix-ui/react-primitive';
|
||||
|
||||
declare const createCollapsibleScope: _radix_ui_react_context.CreateScope;
|
||||
type PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;
|
||||
interface CollapsibleProps extends PrimitiveDivProps {
|
||||
defaultOpen?: boolean;
|
||||
open?: boolean;
|
||||
disabled?: boolean;
|
||||
onOpenChange?(open: boolean): void;
|
||||
}
|
||||
declare const Collapsible: React.ForwardRefExoticComponent<CollapsibleProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;
|
||||
interface CollapsibleTriggerProps extends PrimitiveButtonProps {
|
||||
}
|
||||
declare const CollapsibleTrigger: React.ForwardRefExoticComponent<CollapsibleTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
interface CollapsibleContentProps extends Omit<CollapsibleContentImplProps, 'present'> {
|
||||
/**
|
||||
* Used to force mounting when more control is needed. Useful when
|
||||
* controlling animation with React animation libraries.
|
||||
*/
|
||||
forceMount?: true;
|
||||
}
|
||||
declare const CollapsibleContent: React.ForwardRefExoticComponent<CollapsibleContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
interface CollapsibleContentImplProps extends PrimitiveDivProps {
|
||||
present: boolean;
|
||||
}
|
||||
declare const Root: React.ForwardRefExoticComponent<CollapsibleProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Trigger: React.ForwardRefExoticComponent<CollapsibleTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
declare const Content: React.ForwardRefExoticComponent<CollapsibleContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
|
||||
export { Collapsible, CollapsibleContent, type CollapsibleContentProps, type CollapsibleProps, CollapsibleTrigger, type CollapsibleTriggerProps, Content, Root, Trigger, createCollapsibleScope };
|
||||
33
node_modules/@radix-ui/react-collapsible/dist/index.d.ts
generated
vendored
Normal file
33
node_modules/@radix-ui/react-collapsible/dist/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
import * as _radix_ui_react_context from '@radix-ui/react-context';
|
||||
import * as React from 'react';
|
||||
import { Primitive } from '@radix-ui/react-primitive';
|
||||
|
||||
declare const createCollapsibleScope: _radix_ui_react_context.CreateScope;
|
||||
type PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;
|
||||
interface CollapsibleProps extends PrimitiveDivProps {
|
||||
defaultOpen?: boolean;
|
||||
open?: boolean;
|
||||
disabled?: boolean;
|
||||
onOpenChange?(open: boolean): void;
|
||||
}
|
||||
declare const Collapsible: React.ForwardRefExoticComponent<CollapsibleProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;
|
||||
interface CollapsibleTriggerProps extends PrimitiveButtonProps {
|
||||
}
|
||||
declare const CollapsibleTrigger: React.ForwardRefExoticComponent<CollapsibleTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
interface CollapsibleContentProps extends Omit<CollapsibleContentImplProps, 'present'> {
|
||||
/**
|
||||
* Used to force mounting when more control is needed. Useful when
|
||||
* controlling animation with React animation libraries.
|
||||
*/
|
||||
forceMount?: true;
|
||||
}
|
||||
declare const CollapsibleContent: React.ForwardRefExoticComponent<CollapsibleContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
interface CollapsibleContentImplProps extends PrimitiveDivProps {
|
||||
present: boolean;
|
||||
}
|
||||
declare const Root: React.ForwardRefExoticComponent<CollapsibleProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Trigger: React.ForwardRefExoticComponent<CollapsibleTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
declare const Content: React.ForwardRefExoticComponent<CollapsibleContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
|
||||
export { Collapsible, CollapsibleContent, type CollapsibleContentProps, type CollapsibleProps, CollapsibleTrigger, type CollapsibleTriggerProps, Content, Root, Trigger, createCollapsibleScope };
|
||||
187
node_modules/@radix-ui/react-collapsible/dist/index.js
generated
vendored
Normal file
187
node_modules/@radix-ui/react-collapsible/dist/index.js
generated
vendored
Normal file
@@ -0,0 +1,187 @@
|
||||
"use strict";
|
||||
"use client";
|
||||
var __create = Object.create;
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __getProtoOf = Object.getPrototypeOf;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
||||
// If the importer is in node compatibility mode or this is not an ESM
|
||||
// file that has been converted to a CommonJS file using a Babel-
|
||||
// compatible transform (i.e. "__esModule" has not been set), then set
|
||||
// "default" to the CommonJS "module.exports" for node compatibility.
|
||||
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
||||
mod
|
||||
));
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/index.ts
|
||||
var index_exports = {};
|
||||
__export(index_exports, {
|
||||
Collapsible: () => Collapsible,
|
||||
CollapsibleContent: () => CollapsibleContent,
|
||||
CollapsibleTrigger: () => CollapsibleTrigger,
|
||||
Content: () => Content,
|
||||
Root: () => Root,
|
||||
Trigger: () => Trigger,
|
||||
createCollapsibleScope: () => createCollapsibleScope
|
||||
});
|
||||
module.exports = __toCommonJS(index_exports);
|
||||
|
||||
// src/collapsible.tsx
|
||||
var React = __toESM(require("react"));
|
||||
var import_primitive = require("@radix-ui/primitive");
|
||||
var import_react_context = require("@radix-ui/react-context");
|
||||
var import_react_use_controllable_state = require("@radix-ui/react-use-controllable-state");
|
||||
var import_react_use_layout_effect = require("@radix-ui/react-use-layout-effect");
|
||||
var import_react_compose_refs = require("@radix-ui/react-compose-refs");
|
||||
var import_react_primitive = require("@radix-ui/react-primitive");
|
||||
var import_react_presence = require("@radix-ui/react-presence");
|
||||
var import_react_id = require("@radix-ui/react-id");
|
||||
var import_jsx_runtime = require("react/jsx-runtime");
|
||||
var COLLAPSIBLE_NAME = "Collapsible";
|
||||
var [createCollapsibleContext, createCollapsibleScope] = (0, import_react_context.createContextScope)(COLLAPSIBLE_NAME);
|
||||
var [CollapsibleProvider, useCollapsibleContext] = createCollapsibleContext(COLLAPSIBLE_NAME);
|
||||
var Collapsible = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const {
|
||||
__scopeCollapsible,
|
||||
open: openProp,
|
||||
defaultOpen,
|
||||
disabled,
|
||||
onOpenChange,
|
||||
...collapsibleProps
|
||||
} = props;
|
||||
const [open, setOpen] = (0, import_react_use_controllable_state.useControllableState)({
|
||||
prop: openProp,
|
||||
defaultProp: defaultOpen ?? false,
|
||||
onChange: onOpenChange,
|
||||
caller: COLLAPSIBLE_NAME
|
||||
});
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
CollapsibleProvider,
|
||||
{
|
||||
scope: __scopeCollapsible,
|
||||
disabled,
|
||||
contentId: (0, import_react_id.useId)(),
|
||||
open,
|
||||
onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
|
||||
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
import_react_primitive.Primitive.div,
|
||||
{
|
||||
"data-state": getState(open),
|
||||
"data-disabled": disabled ? "" : void 0,
|
||||
...collapsibleProps,
|
||||
ref: forwardedRef
|
||||
}
|
||||
)
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
Collapsible.displayName = COLLAPSIBLE_NAME;
|
||||
var TRIGGER_NAME = "CollapsibleTrigger";
|
||||
var CollapsibleTrigger = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeCollapsible, ...triggerProps } = props;
|
||||
const context = useCollapsibleContext(TRIGGER_NAME, __scopeCollapsible);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
import_react_primitive.Primitive.button,
|
||||
{
|
||||
type: "button",
|
||||
"aria-controls": context.contentId,
|
||||
"aria-expanded": context.open || false,
|
||||
"data-state": getState(context.open),
|
||||
"data-disabled": context.disabled ? "" : void 0,
|
||||
disabled: context.disabled,
|
||||
...triggerProps,
|
||||
ref: forwardedRef,
|
||||
onClick: (0, import_primitive.composeEventHandlers)(props.onClick, context.onOpenToggle)
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
CollapsibleTrigger.displayName = TRIGGER_NAME;
|
||||
var CONTENT_NAME = "CollapsibleContent";
|
||||
var CollapsibleContent = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { forceMount, ...contentProps } = props;
|
||||
const context = useCollapsibleContext(CONTENT_NAME, props.__scopeCollapsible);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_presence.Presence, { present: forceMount || context.open, children: ({ present }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CollapsibleContentImpl, { ...contentProps, ref: forwardedRef, present }) });
|
||||
}
|
||||
);
|
||||
CollapsibleContent.displayName = CONTENT_NAME;
|
||||
var CollapsibleContentImpl = React.forwardRef((props, forwardedRef) => {
|
||||
const { __scopeCollapsible, present, children, ...contentProps } = props;
|
||||
const context = useCollapsibleContext(CONTENT_NAME, __scopeCollapsible);
|
||||
const [isPresent, setIsPresent] = React.useState(present);
|
||||
const ref = React.useRef(null);
|
||||
const composedRefs = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, ref);
|
||||
const heightRef = React.useRef(0);
|
||||
const height = heightRef.current;
|
||||
const widthRef = React.useRef(0);
|
||||
const width = widthRef.current;
|
||||
const isOpen = context.open || isPresent;
|
||||
const isMountAnimationPreventedRef = React.useRef(isOpen);
|
||||
const originalStylesRef = React.useRef(void 0);
|
||||
React.useEffect(() => {
|
||||
const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);
|
||||
return () => cancelAnimationFrame(rAF);
|
||||
}, []);
|
||||
(0, import_react_use_layout_effect.useLayoutEffect)(() => {
|
||||
const node = ref.current;
|
||||
if (node) {
|
||||
originalStylesRef.current = originalStylesRef.current || {
|
||||
transitionDuration: node.style.transitionDuration,
|
||||
animationName: node.style.animationName
|
||||
};
|
||||
node.style.transitionDuration = "0s";
|
||||
node.style.animationName = "none";
|
||||
const rect = node.getBoundingClientRect();
|
||||
heightRef.current = rect.height;
|
||||
widthRef.current = rect.width;
|
||||
if (!isMountAnimationPreventedRef.current) {
|
||||
node.style.transitionDuration = originalStylesRef.current.transitionDuration;
|
||||
node.style.animationName = originalStylesRef.current.animationName;
|
||||
}
|
||||
setIsPresent(present);
|
||||
}
|
||||
}, [context.open, present]);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
import_react_primitive.Primitive.div,
|
||||
{
|
||||
"data-state": getState(context.open),
|
||||
"data-disabled": context.disabled ? "" : void 0,
|
||||
id: context.contentId,
|
||||
hidden: !isOpen,
|
||||
...contentProps,
|
||||
ref: composedRefs,
|
||||
style: {
|
||||
[`--radix-collapsible-content-height`]: height ? `${height}px` : void 0,
|
||||
[`--radix-collapsible-content-width`]: width ? `${width}px` : void 0,
|
||||
...props.style
|
||||
},
|
||||
children: isOpen && children
|
||||
}
|
||||
);
|
||||
});
|
||||
function getState(open) {
|
||||
return open ? "open" : "closed";
|
||||
}
|
||||
var Root = Collapsible;
|
||||
var Trigger = CollapsibleTrigger;
|
||||
var Content = CollapsibleContent;
|
||||
//# sourceMappingURL=index.js.map
|
||||
7
node_modules/@radix-ui/react-collapsible/dist/index.js.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-collapsible/dist/index.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
155
node_modules/@radix-ui/react-collapsible/dist/index.mjs
generated
vendored
Normal file
155
node_modules/@radix-ui/react-collapsible/dist/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,155 @@
|
||||
"use client";
|
||||
|
||||
// src/collapsible.tsx
|
||||
import * as React from "react";
|
||||
import { composeEventHandlers } from "@radix-ui/primitive";
|
||||
import { createContextScope } from "@radix-ui/react-context";
|
||||
import { useControllableState } from "@radix-ui/react-use-controllable-state";
|
||||
import { useLayoutEffect } from "@radix-ui/react-use-layout-effect";
|
||||
import { useComposedRefs } from "@radix-ui/react-compose-refs";
|
||||
import { Primitive } from "@radix-ui/react-primitive";
|
||||
import { Presence } from "@radix-ui/react-presence";
|
||||
import { useId } from "@radix-ui/react-id";
|
||||
import { jsx } from "react/jsx-runtime";
|
||||
var COLLAPSIBLE_NAME = "Collapsible";
|
||||
var [createCollapsibleContext, createCollapsibleScope] = createContextScope(COLLAPSIBLE_NAME);
|
||||
var [CollapsibleProvider, useCollapsibleContext] = createCollapsibleContext(COLLAPSIBLE_NAME);
|
||||
var Collapsible = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const {
|
||||
__scopeCollapsible,
|
||||
open: openProp,
|
||||
defaultOpen,
|
||||
disabled,
|
||||
onOpenChange,
|
||||
...collapsibleProps
|
||||
} = props;
|
||||
const [open, setOpen] = useControllableState({
|
||||
prop: openProp,
|
||||
defaultProp: defaultOpen ?? false,
|
||||
onChange: onOpenChange,
|
||||
caller: COLLAPSIBLE_NAME
|
||||
});
|
||||
return /* @__PURE__ */ jsx(
|
||||
CollapsibleProvider,
|
||||
{
|
||||
scope: __scopeCollapsible,
|
||||
disabled,
|
||||
contentId: useId(),
|
||||
open,
|
||||
onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
|
||||
children: /* @__PURE__ */ jsx(
|
||||
Primitive.div,
|
||||
{
|
||||
"data-state": getState(open),
|
||||
"data-disabled": disabled ? "" : void 0,
|
||||
...collapsibleProps,
|
||||
ref: forwardedRef
|
||||
}
|
||||
)
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
Collapsible.displayName = COLLAPSIBLE_NAME;
|
||||
var TRIGGER_NAME = "CollapsibleTrigger";
|
||||
var CollapsibleTrigger = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeCollapsible, ...triggerProps } = props;
|
||||
const context = useCollapsibleContext(TRIGGER_NAME, __scopeCollapsible);
|
||||
return /* @__PURE__ */ jsx(
|
||||
Primitive.button,
|
||||
{
|
||||
type: "button",
|
||||
"aria-controls": context.contentId,
|
||||
"aria-expanded": context.open || false,
|
||||
"data-state": getState(context.open),
|
||||
"data-disabled": context.disabled ? "" : void 0,
|
||||
disabled: context.disabled,
|
||||
...triggerProps,
|
||||
ref: forwardedRef,
|
||||
onClick: composeEventHandlers(props.onClick, context.onOpenToggle)
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
CollapsibleTrigger.displayName = TRIGGER_NAME;
|
||||
var CONTENT_NAME = "CollapsibleContent";
|
||||
var CollapsibleContent = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { forceMount, ...contentProps } = props;
|
||||
const context = useCollapsibleContext(CONTENT_NAME, props.__scopeCollapsible);
|
||||
return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: ({ present }) => /* @__PURE__ */ jsx(CollapsibleContentImpl, { ...contentProps, ref: forwardedRef, present }) });
|
||||
}
|
||||
);
|
||||
CollapsibleContent.displayName = CONTENT_NAME;
|
||||
var CollapsibleContentImpl = React.forwardRef((props, forwardedRef) => {
|
||||
const { __scopeCollapsible, present, children, ...contentProps } = props;
|
||||
const context = useCollapsibleContext(CONTENT_NAME, __scopeCollapsible);
|
||||
const [isPresent, setIsPresent] = React.useState(present);
|
||||
const ref = React.useRef(null);
|
||||
const composedRefs = useComposedRefs(forwardedRef, ref);
|
||||
const heightRef = React.useRef(0);
|
||||
const height = heightRef.current;
|
||||
const widthRef = React.useRef(0);
|
||||
const width = widthRef.current;
|
||||
const isOpen = context.open || isPresent;
|
||||
const isMountAnimationPreventedRef = React.useRef(isOpen);
|
||||
const originalStylesRef = React.useRef(void 0);
|
||||
React.useEffect(() => {
|
||||
const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);
|
||||
return () => cancelAnimationFrame(rAF);
|
||||
}, []);
|
||||
useLayoutEffect(() => {
|
||||
const node = ref.current;
|
||||
if (node) {
|
||||
originalStylesRef.current = originalStylesRef.current || {
|
||||
transitionDuration: node.style.transitionDuration,
|
||||
animationName: node.style.animationName
|
||||
};
|
||||
node.style.transitionDuration = "0s";
|
||||
node.style.animationName = "none";
|
||||
const rect = node.getBoundingClientRect();
|
||||
heightRef.current = rect.height;
|
||||
widthRef.current = rect.width;
|
||||
if (!isMountAnimationPreventedRef.current) {
|
||||
node.style.transitionDuration = originalStylesRef.current.transitionDuration;
|
||||
node.style.animationName = originalStylesRef.current.animationName;
|
||||
}
|
||||
setIsPresent(present);
|
||||
}
|
||||
}, [context.open, present]);
|
||||
return /* @__PURE__ */ jsx(
|
||||
Primitive.div,
|
||||
{
|
||||
"data-state": getState(context.open),
|
||||
"data-disabled": context.disabled ? "" : void 0,
|
||||
id: context.contentId,
|
||||
hidden: !isOpen,
|
||||
...contentProps,
|
||||
ref: composedRefs,
|
||||
style: {
|
||||
[`--radix-collapsible-content-height`]: height ? `${height}px` : void 0,
|
||||
[`--radix-collapsible-content-width`]: width ? `${width}px` : void 0,
|
||||
...props.style
|
||||
},
|
||||
children: isOpen && children
|
||||
}
|
||||
);
|
||||
});
|
||||
function getState(open) {
|
||||
return open ? "open" : "closed";
|
||||
}
|
||||
var Root = Collapsible;
|
||||
var Trigger = CollapsibleTrigger;
|
||||
var Content = CollapsibleContent;
|
||||
export {
|
||||
Collapsible,
|
||||
CollapsibleContent,
|
||||
CollapsibleTrigger,
|
||||
Content,
|
||||
Root,
|
||||
Trigger,
|
||||
createCollapsibleScope
|
||||
};
|
||||
//# sourceMappingURL=index.mjs.map
|
||||
7
node_modules/@radix-ui/react-collapsible/dist/index.mjs.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-collapsible/dist/index.mjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
75
node_modules/@radix-ui/react-collapsible/package.json
generated
vendored
Normal file
75
node_modules/@radix-ui/react-collapsible/package.json
generated
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"name": "@radix-ui/react-collapsible",
|
||||
"version": "1.1.12",
|
||||
"license": "MIT",
|
||||
"source": "./src/index.ts",
|
||||
"main": "./dist/index.js",
|
||||
"module": "./dist/index.mjs",
|
||||
"files": [
|
||||
"dist",
|
||||
"README.md"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"dependencies": {
|
||||
"@radix-ui/primitive": "1.1.3",
|
||||
"@radix-ui/react-compose-refs": "1.1.2",
|
||||
"@radix-ui/react-context": "1.1.2",
|
||||
"@radix-ui/react-id": "1.1.1",
|
||||
"@radix-ui/react-presence": "1.1.5",
|
||||
"@radix-ui/react-primitive": "2.1.3",
|
||||
"@radix-ui/react-use-controllable-state": "1.2.2",
|
||||
"@radix-ui/react-use-layout-effect": "1.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react": "^19.0.7",
|
||||
"@types/react-dom": "^19.0.3",
|
||||
"eslint": "^9.18.0",
|
||||
"react": "^19.1.0",
|
||||
"react-dom": "^19.1.0",
|
||||
"typescript": "^5.7.3",
|
||||
"@repo/builder": "0.0.0",
|
||||
"@repo/eslint-config": "0.0.0",
|
||||
"@repo/typescript-config": "0.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/react": "*",
|
||||
"@types/react-dom": "*",
|
||||
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
|
||||
"react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@types/react": {
|
||||
"optional": true
|
||||
},
|
||||
"@types/react-dom": {
|
||||
"optional": true
|
||||
}
|
||||
},
|
||||
"homepage": "https://radix-ui.com/primitives",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/radix-ui/primitives.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/radix-ui/primitives/issues"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint --max-warnings 0 src",
|
||||
"clean": "rm -rf dist",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"build": "radix-build"
|
||||
},
|
||||
"types": "./dist/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"import": {
|
||||
"types": "./dist/index.d.mts",
|
||||
"default": "./dist/index.mjs"
|
||||
},
|
||||
"require": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"default": "./dist/index.js"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
21
node_modules/@radix-ui/react-collection/LICENSE
generated
vendored
Normal file
21
node_modules/@radix-ui/react-collection/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 WorkOS
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
3
node_modules/@radix-ui/react-collection/README.md
generated
vendored
Normal file
3
node_modules/@radix-ui/react-collection/README.md
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# `react-collection`
|
||||
|
||||
This is an internal utility, not intended for public usage.
|
||||
98
node_modules/@radix-ui/react-collection/dist/index.d.mts
generated
vendored
Normal file
98
node_modules/@radix-ui/react-collection/dist/index.d.mts
generated
vendored
Normal file
@@ -0,0 +1,98 @@
|
||||
import * as _radix_ui_react_context from '@radix-ui/react-context';
|
||||
import React from 'react';
|
||||
import { Slot } from '@radix-ui/react-slot';
|
||||
|
||||
type SlotProps$1 = React.ComponentPropsWithoutRef<typeof Slot>;
|
||||
interface CollectionProps$1 extends SlotProps$1 {
|
||||
scope: any;
|
||||
}
|
||||
declare function createCollection$1<ItemElement extends HTMLElement, ItemData = {}>(name: string): readonly [{
|
||||
readonly Provider: React.FC<{
|
||||
children?: React.ReactNode;
|
||||
scope: any;
|
||||
}>;
|
||||
readonly Slot: React.ForwardRefExoticComponent<CollectionProps$1 & React.RefAttributes<HTMLElement>>;
|
||||
readonly ItemSlot: React.ForwardRefExoticComponent<React.PropsWithoutRef<ItemData & {
|
||||
children: React.ReactNode;
|
||||
scope: any;
|
||||
}> & React.RefAttributes<ItemElement>>;
|
||||
}, (scope: any) => () => ({
|
||||
ref: React.RefObject<ItemElement | null>;
|
||||
} & ItemData)[], _radix_ui_react_context.CreateScope];
|
||||
|
||||
declare class OrderedDict<K, V> extends Map<K, V> {
|
||||
#private;
|
||||
constructor(iterable?: Iterable<readonly [K, V]> | null | undefined);
|
||||
set(key: K, value: V): this;
|
||||
insert(index: number, key: K, value: V): this;
|
||||
with(index: number, key: K, value: V): OrderedDict<K, V>;
|
||||
before(key: K): [K, V] | undefined;
|
||||
/**
|
||||
* Sets a new key-value pair at the position before the given key.
|
||||
*/
|
||||
setBefore(key: K, newKey: K, value: V): this;
|
||||
after(key: K): [K, V] | undefined;
|
||||
/**
|
||||
* Sets a new key-value pair at the position after the given key.
|
||||
*/
|
||||
setAfter(key: K, newKey: K, value: V): this;
|
||||
first(): [K, V] | undefined;
|
||||
last(): [K, V] | undefined;
|
||||
clear(): void;
|
||||
delete(key: K): boolean;
|
||||
deleteAt(index: number): boolean;
|
||||
at(index: number): V | undefined;
|
||||
entryAt(index: number): [K, V] | undefined;
|
||||
indexOf(key: K): number;
|
||||
keyAt(index: number): K | undefined;
|
||||
from(key: K, offset: number): V | undefined;
|
||||
keyFrom(key: K, offset: number): K | undefined;
|
||||
find(predicate: (entry: [K, V], index: number, dictionary: OrderedDict<K, V>) => boolean, thisArg?: any): [K, V] | undefined;
|
||||
findIndex(predicate: (entry: [K, V], index: number, dictionary: OrderedDict<K, V>) => boolean, thisArg?: any): number;
|
||||
filter<KK extends K, VV extends V>(predicate: (entry: [K, V], index: number, dict: OrderedDict<K, V>) => entry is [KK, VV], thisArg?: any): OrderedDict<KK, VV>;
|
||||
filter(predicate: (entry: [K, V], index: number, dictionary: OrderedDict<K, V>) => unknown, thisArg?: any): OrderedDict<K, V>;
|
||||
map<U>(callbackfn: (entry: [K, V], index: number, dictionary: OrderedDict<K, V>) => U, thisArg?: any): OrderedDict<K, U>;
|
||||
reduce(callbackfn: (previousValue: [K, V], currentEntry: [K, V], currentIndex: number, dictionary: OrderedDict<K, V>) => [K, V]): [K, V];
|
||||
reduce(callbackfn: (previousValue: [K, V], currentEntry: [K, V], currentIndex: number, dictionary: OrderedDict<K, V>) => [K, V], initialValue: [K, V]): [K, V];
|
||||
reduce<U>(callbackfn: (previousValue: U, currentEntry: [K, V], currentIndex: number, dictionary: OrderedDict<K, V>) => U, initialValue: U): U;
|
||||
reduceRight(callbackfn: (previousValue: [K, V], currentEntry: [K, V], currentIndex: number, dictionary: OrderedDict<K, V>) => [K, V]): [K, V];
|
||||
reduceRight(callbackfn: (previousValue: [K, V], currentEntry: [K, V], currentIndex: number, dictionary: OrderedDict<K, V>) => [K, V], initialValue: [K, V]): [K, V];
|
||||
reduceRight<U>(callbackfn: (previousValue: [K, V], currentValue: U, currentIndex: number, dictionary: OrderedDict<K, V>) => U, initialValue: U): U;
|
||||
toSorted(compareFn?: (a: [K, V], b: [K, V]) => number): OrderedDict<K, V>;
|
||||
toReversed(): OrderedDict<K, V>;
|
||||
toSpliced(start: number, deleteCount?: number): OrderedDict<K, V>;
|
||||
toSpliced(start: number, deleteCount: number, ...items: [K, V][]): OrderedDict<K, V>;
|
||||
slice(start?: number, end?: number): OrderedDict<K, V>;
|
||||
every(predicate: (entry: [K, V], index: number, dictionary: OrderedDict<K, V>) => unknown, thisArg?: any): boolean;
|
||||
some(predicate: (entry: [K, V], index: number, dictionary: OrderedDict<K, V>) => unknown, thisArg?: any): boolean;
|
||||
}
|
||||
|
||||
type SlotProps = React.ComponentPropsWithoutRef<typeof Slot>;
|
||||
interface CollectionProps extends SlotProps {
|
||||
scope: any;
|
||||
}
|
||||
interface BaseItemData {
|
||||
id?: string;
|
||||
}
|
||||
type ItemDataWithElement<ItemData extends BaseItemData, ItemElement extends HTMLElement> = ItemData & {
|
||||
element: ItemElement;
|
||||
};
|
||||
type ItemMap<ItemElement extends HTMLElement, ItemData extends BaseItemData> = OrderedDict<ItemElement, ItemDataWithElement<ItemData, ItemElement>>;
|
||||
declare function createCollection<ItemElement extends HTMLElement, ItemData extends BaseItemData = BaseItemData>(name: string): readonly [{
|
||||
readonly Provider: React.FC<{
|
||||
children?: React.ReactNode;
|
||||
scope: any;
|
||||
state?: [ItemMap: ItemMap<ItemElement, ItemData>, SetItemMap: React.Dispatch<React.SetStateAction<ItemMap<ItemElement, ItemData>>>];
|
||||
}>;
|
||||
readonly Slot: React.ForwardRefExoticComponent<CollectionProps & React.RefAttributes<HTMLElement>>;
|
||||
readonly ItemSlot: React.ForwardRefExoticComponent<React.PropsWithoutRef<ItemData & {
|
||||
children: React.ReactNode;
|
||||
scope: any;
|
||||
}> & React.RefAttributes<ItemElement>>;
|
||||
}, {
|
||||
createCollectionScope: _radix_ui_react_context.CreateScope;
|
||||
useCollection: (scope: any) => ItemMap<ItemElement, ItemData>;
|
||||
useInitCollection: () => [ItemMap<ItemElement, ItemData>, React.Dispatch<React.SetStateAction<ItemMap<ItemElement, ItemData>>>];
|
||||
}];
|
||||
|
||||
export { type CollectionProps$1 as CollectionProps, createCollection$1 as createCollection, type CollectionProps$1 as unstable_CollectionProps, createCollection as unstable_createCollection };
|
||||
98
node_modules/@radix-ui/react-collection/dist/index.d.ts
generated
vendored
Normal file
98
node_modules/@radix-ui/react-collection/dist/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,98 @@
|
||||
import * as _radix_ui_react_context from '@radix-ui/react-context';
|
||||
import React from 'react';
|
||||
import { Slot } from '@radix-ui/react-slot';
|
||||
|
||||
type SlotProps$1 = React.ComponentPropsWithoutRef<typeof Slot>;
|
||||
interface CollectionProps$1 extends SlotProps$1 {
|
||||
scope: any;
|
||||
}
|
||||
declare function createCollection$1<ItemElement extends HTMLElement, ItemData = {}>(name: string): readonly [{
|
||||
readonly Provider: React.FC<{
|
||||
children?: React.ReactNode;
|
||||
scope: any;
|
||||
}>;
|
||||
readonly Slot: React.ForwardRefExoticComponent<CollectionProps$1 & React.RefAttributes<HTMLElement>>;
|
||||
readonly ItemSlot: React.ForwardRefExoticComponent<React.PropsWithoutRef<ItemData & {
|
||||
children: React.ReactNode;
|
||||
scope: any;
|
||||
}> & React.RefAttributes<ItemElement>>;
|
||||
}, (scope: any) => () => ({
|
||||
ref: React.RefObject<ItemElement | null>;
|
||||
} & ItemData)[], _radix_ui_react_context.CreateScope];
|
||||
|
||||
declare class OrderedDict<K, V> extends Map<K, V> {
|
||||
#private;
|
||||
constructor(iterable?: Iterable<readonly [K, V]> | null | undefined);
|
||||
set(key: K, value: V): this;
|
||||
insert(index: number, key: K, value: V): this;
|
||||
with(index: number, key: K, value: V): OrderedDict<K, V>;
|
||||
before(key: K): [K, V] | undefined;
|
||||
/**
|
||||
* Sets a new key-value pair at the position before the given key.
|
||||
*/
|
||||
setBefore(key: K, newKey: K, value: V): this;
|
||||
after(key: K): [K, V] | undefined;
|
||||
/**
|
||||
* Sets a new key-value pair at the position after the given key.
|
||||
*/
|
||||
setAfter(key: K, newKey: K, value: V): this;
|
||||
first(): [K, V] | undefined;
|
||||
last(): [K, V] | undefined;
|
||||
clear(): void;
|
||||
delete(key: K): boolean;
|
||||
deleteAt(index: number): boolean;
|
||||
at(index: number): V | undefined;
|
||||
entryAt(index: number): [K, V] | undefined;
|
||||
indexOf(key: K): number;
|
||||
keyAt(index: number): K | undefined;
|
||||
from(key: K, offset: number): V | undefined;
|
||||
keyFrom(key: K, offset: number): K | undefined;
|
||||
find(predicate: (entry: [K, V], index: number, dictionary: OrderedDict<K, V>) => boolean, thisArg?: any): [K, V] | undefined;
|
||||
findIndex(predicate: (entry: [K, V], index: number, dictionary: OrderedDict<K, V>) => boolean, thisArg?: any): number;
|
||||
filter<KK extends K, VV extends V>(predicate: (entry: [K, V], index: number, dict: OrderedDict<K, V>) => entry is [KK, VV], thisArg?: any): OrderedDict<KK, VV>;
|
||||
filter(predicate: (entry: [K, V], index: number, dictionary: OrderedDict<K, V>) => unknown, thisArg?: any): OrderedDict<K, V>;
|
||||
map<U>(callbackfn: (entry: [K, V], index: number, dictionary: OrderedDict<K, V>) => U, thisArg?: any): OrderedDict<K, U>;
|
||||
reduce(callbackfn: (previousValue: [K, V], currentEntry: [K, V], currentIndex: number, dictionary: OrderedDict<K, V>) => [K, V]): [K, V];
|
||||
reduce(callbackfn: (previousValue: [K, V], currentEntry: [K, V], currentIndex: number, dictionary: OrderedDict<K, V>) => [K, V], initialValue: [K, V]): [K, V];
|
||||
reduce<U>(callbackfn: (previousValue: U, currentEntry: [K, V], currentIndex: number, dictionary: OrderedDict<K, V>) => U, initialValue: U): U;
|
||||
reduceRight(callbackfn: (previousValue: [K, V], currentEntry: [K, V], currentIndex: number, dictionary: OrderedDict<K, V>) => [K, V]): [K, V];
|
||||
reduceRight(callbackfn: (previousValue: [K, V], currentEntry: [K, V], currentIndex: number, dictionary: OrderedDict<K, V>) => [K, V], initialValue: [K, V]): [K, V];
|
||||
reduceRight<U>(callbackfn: (previousValue: [K, V], currentValue: U, currentIndex: number, dictionary: OrderedDict<K, V>) => U, initialValue: U): U;
|
||||
toSorted(compareFn?: (a: [K, V], b: [K, V]) => number): OrderedDict<K, V>;
|
||||
toReversed(): OrderedDict<K, V>;
|
||||
toSpliced(start: number, deleteCount?: number): OrderedDict<K, V>;
|
||||
toSpliced(start: number, deleteCount: number, ...items: [K, V][]): OrderedDict<K, V>;
|
||||
slice(start?: number, end?: number): OrderedDict<K, V>;
|
||||
every(predicate: (entry: [K, V], index: number, dictionary: OrderedDict<K, V>) => unknown, thisArg?: any): boolean;
|
||||
some(predicate: (entry: [K, V], index: number, dictionary: OrderedDict<K, V>) => unknown, thisArg?: any): boolean;
|
||||
}
|
||||
|
||||
type SlotProps = React.ComponentPropsWithoutRef<typeof Slot>;
|
||||
interface CollectionProps extends SlotProps {
|
||||
scope: any;
|
||||
}
|
||||
interface BaseItemData {
|
||||
id?: string;
|
||||
}
|
||||
type ItemDataWithElement<ItemData extends BaseItemData, ItemElement extends HTMLElement> = ItemData & {
|
||||
element: ItemElement;
|
||||
};
|
||||
type ItemMap<ItemElement extends HTMLElement, ItemData extends BaseItemData> = OrderedDict<ItemElement, ItemDataWithElement<ItemData, ItemElement>>;
|
||||
declare function createCollection<ItemElement extends HTMLElement, ItemData extends BaseItemData = BaseItemData>(name: string): readonly [{
|
||||
readonly Provider: React.FC<{
|
||||
children?: React.ReactNode;
|
||||
scope: any;
|
||||
state?: [ItemMap: ItemMap<ItemElement, ItemData>, SetItemMap: React.Dispatch<React.SetStateAction<ItemMap<ItemElement, ItemData>>>];
|
||||
}>;
|
||||
readonly Slot: React.ForwardRefExoticComponent<CollectionProps & React.RefAttributes<HTMLElement>>;
|
||||
readonly ItemSlot: React.ForwardRefExoticComponent<React.PropsWithoutRef<ItemData & {
|
||||
children: React.ReactNode;
|
||||
scope: any;
|
||||
}> & React.RefAttributes<ItemElement>>;
|
||||
}, {
|
||||
createCollectionScope: _radix_ui_react_context.CreateScope;
|
||||
useCollection: (scope: any) => ItemMap<ItemElement, ItemData>;
|
||||
useInitCollection: () => [ItemMap<ItemElement, ItemData>, React.Dispatch<React.SetStateAction<ItemMap<ItemElement, ItemData>>>];
|
||||
}];
|
||||
|
||||
export { type CollectionProps$1 as CollectionProps, createCollection$1 as createCollection, type CollectionProps$1 as unstable_CollectionProps, createCollection as unstable_createCollection };
|
||||
577
node_modules/@radix-ui/react-collection/dist/index.js
generated
vendored
Normal file
577
node_modules/@radix-ui/react-collection/dist/index.js
generated
vendored
Normal file
@@ -0,0 +1,577 @@
|
||||
"use strict";
|
||||
"use client";
|
||||
var __create = Object.create;
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __getProtoOf = Object.getPrototypeOf;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
||||
// If the importer is in node compatibility mode or this is not an ESM
|
||||
// file that has been converted to a CommonJS file using a Babel-
|
||||
// compatible transform (i.e. "__esModule" has not been set), then set
|
||||
// "default" to the CommonJS "module.exports" for node compatibility.
|
||||
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
||||
mod
|
||||
));
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/index.ts
|
||||
var index_exports = {};
|
||||
__export(index_exports, {
|
||||
createCollection: () => createCollection,
|
||||
unstable_createCollection: () => createCollection2
|
||||
});
|
||||
module.exports = __toCommonJS(index_exports);
|
||||
|
||||
// src/collection-legacy.tsx
|
||||
var import_react = __toESM(require("react"));
|
||||
var import_react_context = require("@radix-ui/react-context");
|
||||
var import_react_compose_refs = require("@radix-ui/react-compose-refs");
|
||||
var import_react_slot = require("@radix-ui/react-slot");
|
||||
var import_jsx_runtime = require("react/jsx-runtime");
|
||||
function createCollection(name) {
|
||||
const PROVIDER_NAME = name + "CollectionProvider";
|
||||
const [createCollectionContext, createCollectionScope] = (0, import_react_context.createContextScope)(PROVIDER_NAME);
|
||||
const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(
|
||||
PROVIDER_NAME,
|
||||
{ collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }
|
||||
);
|
||||
const CollectionProvider = (props) => {
|
||||
const { scope, children } = props;
|
||||
const ref = import_react.default.useRef(null);
|
||||
const itemMap = import_react.default.useRef(/* @__PURE__ */ new Map()).current;
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });
|
||||
};
|
||||
CollectionProvider.displayName = PROVIDER_NAME;
|
||||
const COLLECTION_SLOT_NAME = name + "CollectionSlot";
|
||||
const CollectionSlotImpl = (0, import_react_slot.createSlot)(COLLECTION_SLOT_NAME);
|
||||
const CollectionSlot = import_react.default.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { scope, children } = props;
|
||||
const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);
|
||||
const composedRefs = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, context.collectionRef);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CollectionSlotImpl, { ref: composedRefs, children });
|
||||
}
|
||||
);
|
||||
CollectionSlot.displayName = COLLECTION_SLOT_NAME;
|
||||
const ITEM_SLOT_NAME = name + "CollectionItemSlot";
|
||||
const ITEM_DATA_ATTR = "data-radix-collection-item";
|
||||
const CollectionItemSlotImpl = (0, import_react_slot.createSlot)(ITEM_SLOT_NAME);
|
||||
const CollectionItemSlot = import_react.default.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { scope, children, ...itemData } = props;
|
||||
const ref = import_react.default.useRef(null);
|
||||
const composedRefs = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, ref);
|
||||
const context = useCollectionContext(ITEM_SLOT_NAME, scope);
|
||||
import_react.default.useEffect(() => {
|
||||
context.itemMap.set(ref, { ref, ...itemData });
|
||||
return () => void context.itemMap.delete(ref);
|
||||
});
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: "" }, ref: composedRefs, children });
|
||||
}
|
||||
);
|
||||
CollectionItemSlot.displayName = ITEM_SLOT_NAME;
|
||||
function useCollection(scope) {
|
||||
const context = useCollectionContext(name + "CollectionConsumer", scope);
|
||||
const getItems = import_react.default.useCallback(() => {
|
||||
const collectionNode = context.collectionRef.current;
|
||||
if (!collectionNode) return [];
|
||||
const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));
|
||||
const items = Array.from(context.itemMap.values());
|
||||
const orderedItems = items.sort(
|
||||
(a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)
|
||||
);
|
||||
return orderedItems;
|
||||
}, [context.collectionRef, context.itemMap]);
|
||||
return getItems;
|
||||
}
|
||||
return [
|
||||
{ Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },
|
||||
useCollection,
|
||||
createCollectionScope
|
||||
];
|
||||
}
|
||||
|
||||
// src/collection.tsx
|
||||
var import_react2 = __toESM(require("react"));
|
||||
var import_react_context2 = require("@radix-ui/react-context");
|
||||
var import_react_compose_refs2 = require("@radix-ui/react-compose-refs");
|
||||
var import_react_slot2 = require("@radix-ui/react-slot");
|
||||
|
||||
// src/ordered-dictionary.ts
|
||||
var __instanciated = /* @__PURE__ */ new WeakMap();
|
||||
var OrderedDict = class _OrderedDict extends Map {
|
||||
#keys;
|
||||
constructor(entries) {
|
||||
super(entries);
|
||||
this.#keys = [...super.keys()];
|
||||
__instanciated.set(this, true);
|
||||
}
|
||||
set(key, value) {
|
||||
if (__instanciated.get(this)) {
|
||||
if (this.has(key)) {
|
||||
this.#keys[this.#keys.indexOf(key)] = key;
|
||||
} else {
|
||||
this.#keys.push(key);
|
||||
}
|
||||
}
|
||||
super.set(key, value);
|
||||
return this;
|
||||
}
|
||||
insert(index, key, value) {
|
||||
const has = this.has(key);
|
||||
const length = this.#keys.length;
|
||||
const relativeIndex = toSafeInteger(index);
|
||||
let actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;
|
||||
const safeIndex = actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;
|
||||
if (safeIndex === this.size || has && safeIndex === this.size - 1 || safeIndex === -1) {
|
||||
this.set(key, value);
|
||||
return this;
|
||||
}
|
||||
const size = this.size + (has ? 0 : 1);
|
||||
if (relativeIndex < 0) {
|
||||
actualIndex++;
|
||||
}
|
||||
const keys = [...this.#keys];
|
||||
let nextValue;
|
||||
let shouldSkip = false;
|
||||
for (let i = actualIndex; i < size; i++) {
|
||||
if (actualIndex === i) {
|
||||
let nextKey = keys[i];
|
||||
if (keys[i] === key) {
|
||||
nextKey = keys[i + 1];
|
||||
}
|
||||
if (has) {
|
||||
this.delete(key);
|
||||
}
|
||||
nextValue = this.get(nextKey);
|
||||
this.set(key, value);
|
||||
} else {
|
||||
if (!shouldSkip && keys[i - 1] === key) {
|
||||
shouldSkip = true;
|
||||
}
|
||||
const currentKey = keys[shouldSkip ? i : i - 1];
|
||||
const currentValue = nextValue;
|
||||
nextValue = this.get(currentKey);
|
||||
this.delete(currentKey);
|
||||
this.set(currentKey, currentValue);
|
||||
}
|
||||
}
|
||||
return this;
|
||||
}
|
||||
with(index, key, value) {
|
||||
const copy = new _OrderedDict(this);
|
||||
copy.insert(index, key, value);
|
||||
return copy;
|
||||
}
|
||||
before(key) {
|
||||
const index = this.#keys.indexOf(key) - 1;
|
||||
if (index < 0) {
|
||||
return void 0;
|
||||
}
|
||||
return this.entryAt(index);
|
||||
}
|
||||
/**
|
||||
* Sets a new key-value pair at the position before the given key.
|
||||
*/
|
||||
setBefore(key, newKey, value) {
|
||||
const index = this.#keys.indexOf(key);
|
||||
if (index === -1) {
|
||||
return this;
|
||||
}
|
||||
return this.insert(index, newKey, value);
|
||||
}
|
||||
after(key) {
|
||||
let index = this.#keys.indexOf(key);
|
||||
index = index === -1 || index === this.size - 1 ? -1 : index + 1;
|
||||
if (index === -1) {
|
||||
return void 0;
|
||||
}
|
||||
return this.entryAt(index);
|
||||
}
|
||||
/**
|
||||
* Sets a new key-value pair at the position after the given key.
|
||||
*/
|
||||
setAfter(key, newKey, value) {
|
||||
const index = this.#keys.indexOf(key);
|
||||
if (index === -1) {
|
||||
return this;
|
||||
}
|
||||
return this.insert(index + 1, newKey, value);
|
||||
}
|
||||
first() {
|
||||
return this.entryAt(0);
|
||||
}
|
||||
last() {
|
||||
return this.entryAt(-1);
|
||||
}
|
||||
clear() {
|
||||
this.#keys = [];
|
||||
return super.clear();
|
||||
}
|
||||
delete(key) {
|
||||
const deleted = super.delete(key);
|
||||
if (deleted) {
|
||||
this.#keys.splice(this.#keys.indexOf(key), 1);
|
||||
}
|
||||
return deleted;
|
||||
}
|
||||
deleteAt(index) {
|
||||
const key = this.keyAt(index);
|
||||
if (key !== void 0) {
|
||||
return this.delete(key);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
at(index) {
|
||||
const key = at(this.#keys, index);
|
||||
if (key !== void 0) {
|
||||
return this.get(key);
|
||||
}
|
||||
}
|
||||
entryAt(index) {
|
||||
const key = at(this.#keys, index);
|
||||
if (key !== void 0) {
|
||||
return [key, this.get(key)];
|
||||
}
|
||||
}
|
||||
indexOf(key) {
|
||||
return this.#keys.indexOf(key);
|
||||
}
|
||||
keyAt(index) {
|
||||
return at(this.#keys, index);
|
||||
}
|
||||
from(key, offset) {
|
||||
const index = this.indexOf(key);
|
||||
if (index === -1) {
|
||||
return void 0;
|
||||
}
|
||||
let dest = index + offset;
|
||||
if (dest < 0) dest = 0;
|
||||
if (dest >= this.size) dest = this.size - 1;
|
||||
return this.at(dest);
|
||||
}
|
||||
keyFrom(key, offset) {
|
||||
const index = this.indexOf(key);
|
||||
if (index === -1) {
|
||||
return void 0;
|
||||
}
|
||||
let dest = index + offset;
|
||||
if (dest < 0) dest = 0;
|
||||
if (dest >= this.size) dest = this.size - 1;
|
||||
return this.keyAt(dest);
|
||||
}
|
||||
find(predicate, thisArg) {
|
||||
let index = 0;
|
||||
for (const entry of this) {
|
||||
if (Reflect.apply(predicate, thisArg, [entry, index, this])) {
|
||||
return entry;
|
||||
}
|
||||
index++;
|
||||
}
|
||||
return void 0;
|
||||
}
|
||||
findIndex(predicate, thisArg) {
|
||||
let index = 0;
|
||||
for (const entry of this) {
|
||||
if (Reflect.apply(predicate, thisArg, [entry, index, this])) {
|
||||
return index;
|
||||
}
|
||||
index++;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
filter(predicate, thisArg) {
|
||||
const entries = [];
|
||||
let index = 0;
|
||||
for (const entry of this) {
|
||||
if (Reflect.apply(predicate, thisArg, [entry, index, this])) {
|
||||
entries.push(entry);
|
||||
}
|
||||
index++;
|
||||
}
|
||||
return new _OrderedDict(entries);
|
||||
}
|
||||
map(callbackfn, thisArg) {
|
||||
const entries = [];
|
||||
let index = 0;
|
||||
for (const entry of this) {
|
||||
entries.push([entry[0], Reflect.apply(callbackfn, thisArg, [entry, index, this])]);
|
||||
index++;
|
||||
}
|
||||
return new _OrderedDict(entries);
|
||||
}
|
||||
reduce(...args) {
|
||||
const [callbackfn, initialValue] = args;
|
||||
let index = 0;
|
||||
let accumulator = initialValue ?? this.at(0);
|
||||
for (const entry of this) {
|
||||
if (index === 0 && args.length === 1) {
|
||||
accumulator = entry;
|
||||
} else {
|
||||
accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);
|
||||
}
|
||||
index++;
|
||||
}
|
||||
return accumulator;
|
||||
}
|
||||
reduceRight(...args) {
|
||||
const [callbackfn, initialValue] = args;
|
||||
let accumulator = initialValue ?? this.at(-1);
|
||||
for (let index = this.size - 1; index >= 0; index--) {
|
||||
const entry = this.at(index);
|
||||
if (index === this.size - 1 && args.length === 1) {
|
||||
accumulator = entry;
|
||||
} else {
|
||||
accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);
|
||||
}
|
||||
}
|
||||
return accumulator;
|
||||
}
|
||||
toSorted(compareFn) {
|
||||
const entries = [...this.entries()].sort(compareFn);
|
||||
return new _OrderedDict(entries);
|
||||
}
|
||||
toReversed() {
|
||||
const reversed = new _OrderedDict();
|
||||
for (let index = this.size - 1; index >= 0; index--) {
|
||||
const key = this.keyAt(index);
|
||||
const element = this.get(key);
|
||||
reversed.set(key, element);
|
||||
}
|
||||
return reversed;
|
||||
}
|
||||
toSpliced(...args) {
|
||||
const entries = [...this.entries()];
|
||||
entries.splice(...args);
|
||||
return new _OrderedDict(entries);
|
||||
}
|
||||
slice(start, end) {
|
||||
const result = new _OrderedDict();
|
||||
let stop = this.size - 1;
|
||||
if (start === void 0) {
|
||||
return result;
|
||||
}
|
||||
if (start < 0) {
|
||||
start = start + this.size;
|
||||
}
|
||||
if (end !== void 0 && end > 0) {
|
||||
stop = end - 1;
|
||||
}
|
||||
for (let index = start; index <= stop; index++) {
|
||||
const key = this.keyAt(index);
|
||||
const element = this.get(key);
|
||||
result.set(key, element);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
every(predicate, thisArg) {
|
||||
let index = 0;
|
||||
for (const entry of this) {
|
||||
if (!Reflect.apply(predicate, thisArg, [entry, index, this])) {
|
||||
return false;
|
||||
}
|
||||
index++;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
some(predicate, thisArg) {
|
||||
let index = 0;
|
||||
for (const entry of this) {
|
||||
if (Reflect.apply(predicate, thisArg, [entry, index, this])) {
|
||||
return true;
|
||||
}
|
||||
index++;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
||||
function at(array, index) {
|
||||
if ("at" in Array.prototype) {
|
||||
return Array.prototype.at.call(array, index);
|
||||
}
|
||||
const actualIndex = toSafeIndex(array, index);
|
||||
return actualIndex === -1 ? void 0 : array[actualIndex];
|
||||
}
|
||||
function toSafeIndex(array, index) {
|
||||
const length = array.length;
|
||||
const relativeIndex = toSafeInteger(index);
|
||||
const actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;
|
||||
return actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;
|
||||
}
|
||||
function toSafeInteger(number) {
|
||||
return number !== number || number === 0 ? 0 : Math.trunc(number);
|
||||
}
|
||||
|
||||
// src/collection.tsx
|
||||
var import_jsx_runtime2 = require("react/jsx-runtime");
|
||||
function createCollection2(name) {
|
||||
const PROVIDER_NAME = name + "CollectionProvider";
|
||||
const [createCollectionContext, createCollectionScope] = (0, import_react_context2.createContextScope)(PROVIDER_NAME);
|
||||
const [CollectionContextProvider, useCollectionContext] = createCollectionContext(
|
||||
PROVIDER_NAME,
|
||||
{
|
||||
collectionElement: null,
|
||||
collectionRef: { current: null },
|
||||
collectionRefObject: { current: null },
|
||||
itemMap: new OrderedDict(),
|
||||
setItemMap: () => void 0
|
||||
}
|
||||
);
|
||||
const CollectionProvider = ({ state, ...props }) => {
|
||||
return state ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(CollectionProviderImpl, { ...props, state }) : /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(CollectionInit, { ...props });
|
||||
};
|
||||
CollectionProvider.displayName = PROVIDER_NAME;
|
||||
const CollectionInit = (props) => {
|
||||
const state = useInitCollection();
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(CollectionProviderImpl, { ...props, state });
|
||||
};
|
||||
CollectionInit.displayName = PROVIDER_NAME + "Init";
|
||||
const CollectionProviderImpl = (props) => {
|
||||
const { scope, children, state } = props;
|
||||
const ref = import_react2.default.useRef(null);
|
||||
const [collectionElement, setCollectionElement] = import_react2.default.useState(
|
||||
null
|
||||
);
|
||||
const composeRefs = (0, import_react_compose_refs2.useComposedRefs)(ref, setCollectionElement);
|
||||
const [itemMap, setItemMap] = state;
|
||||
import_react2.default.useEffect(() => {
|
||||
if (!collectionElement) return;
|
||||
const observer = getChildListObserver(() => {
|
||||
});
|
||||
observer.observe(collectionElement, {
|
||||
childList: true,
|
||||
subtree: true
|
||||
});
|
||||
return () => {
|
||||
observer.disconnect();
|
||||
};
|
||||
}, [collectionElement]);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
||||
CollectionContextProvider,
|
||||
{
|
||||
scope,
|
||||
itemMap,
|
||||
setItemMap,
|
||||
collectionRef: composeRefs,
|
||||
collectionRefObject: ref,
|
||||
collectionElement,
|
||||
children
|
||||
}
|
||||
);
|
||||
};
|
||||
CollectionProviderImpl.displayName = PROVIDER_NAME + "Impl";
|
||||
const COLLECTION_SLOT_NAME = name + "CollectionSlot";
|
||||
const CollectionSlotImpl = (0, import_react_slot2.createSlot)(COLLECTION_SLOT_NAME);
|
||||
const CollectionSlot = import_react2.default.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { scope, children } = props;
|
||||
const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);
|
||||
const composedRefs = (0, import_react_compose_refs2.useComposedRefs)(forwardedRef, context.collectionRef);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(CollectionSlotImpl, { ref: composedRefs, children });
|
||||
}
|
||||
);
|
||||
CollectionSlot.displayName = COLLECTION_SLOT_NAME;
|
||||
const ITEM_SLOT_NAME = name + "CollectionItemSlot";
|
||||
const ITEM_DATA_ATTR = "data-radix-collection-item";
|
||||
const CollectionItemSlotImpl = (0, import_react_slot2.createSlot)(ITEM_SLOT_NAME);
|
||||
const CollectionItemSlot = import_react2.default.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { scope, children, ...itemData } = props;
|
||||
const ref = import_react2.default.useRef(null);
|
||||
const [element, setElement] = import_react2.default.useState(null);
|
||||
const composedRefs = (0, import_react_compose_refs2.useComposedRefs)(forwardedRef, ref, setElement);
|
||||
const context = useCollectionContext(ITEM_SLOT_NAME, scope);
|
||||
const { setItemMap } = context;
|
||||
const itemDataRef = import_react2.default.useRef(itemData);
|
||||
if (!shallowEqual(itemDataRef.current, itemData)) {
|
||||
itemDataRef.current = itemData;
|
||||
}
|
||||
const memoizedItemData = itemDataRef.current;
|
||||
import_react2.default.useEffect(() => {
|
||||
const itemData2 = memoizedItemData;
|
||||
setItemMap((map) => {
|
||||
if (!element) {
|
||||
return map;
|
||||
}
|
||||
if (!map.has(element)) {
|
||||
map.set(element, { ...itemData2, element });
|
||||
return map.toSorted(sortByDocumentPosition);
|
||||
}
|
||||
return map.set(element, { ...itemData2, element }).toSorted(sortByDocumentPosition);
|
||||
});
|
||||
return () => {
|
||||
setItemMap((map) => {
|
||||
if (!element || !map.has(element)) {
|
||||
return map;
|
||||
}
|
||||
map.delete(element);
|
||||
return new OrderedDict(map);
|
||||
});
|
||||
};
|
||||
}, [element, memoizedItemData, setItemMap]);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: "" }, ref: composedRefs, children });
|
||||
}
|
||||
);
|
||||
CollectionItemSlot.displayName = ITEM_SLOT_NAME;
|
||||
function useInitCollection() {
|
||||
return import_react2.default.useState(new OrderedDict());
|
||||
}
|
||||
function useCollection(scope) {
|
||||
const { itemMap } = useCollectionContext(name + "CollectionConsumer", scope);
|
||||
return itemMap;
|
||||
}
|
||||
const functions = {
|
||||
createCollectionScope,
|
||||
useCollection,
|
||||
useInitCollection
|
||||
};
|
||||
return [
|
||||
{ Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },
|
||||
functions
|
||||
];
|
||||
}
|
||||
function shallowEqual(a, b) {
|
||||
if (a === b) return true;
|
||||
if (typeof a !== "object" || typeof b !== "object") return false;
|
||||
if (a == null || b == null) return false;
|
||||
const keysA = Object.keys(a);
|
||||
const keysB = Object.keys(b);
|
||||
if (keysA.length !== keysB.length) return false;
|
||||
for (const key of keysA) {
|
||||
if (!Object.prototype.hasOwnProperty.call(b, key)) return false;
|
||||
if (a[key] !== b[key]) return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
function isElementPreceding(a, b) {
|
||||
return !!(b.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_PRECEDING);
|
||||
}
|
||||
function sortByDocumentPosition(a, b) {
|
||||
return !a[1].element || !b[1].element ? 0 : isElementPreceding(a[1].element, b[1].element) ? -1 : 1;
|
||||
}
|
||||
function getChildListObserver(callback) {
|
||||
const observer = new MutationObserver((mutationsList) => {
|
||||
for (const mutation of mutationsList) {
|
||||
if (mutation.type === "childList") {
|
||||
callback();
|
||||
return;
|
||||
}
|
||||
}
|
||||
});
|
||||
return observer;
|
||||
}
|
||||
//# sourceMappingURL=index.js.map
|
||||
7
node_modules/@radix-ui/react-collection/dist/index.js.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-collection/dist/index.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
545
node_modules/@radix-ui/react-collection/dist/index.mjs
generated
vendored
Normal file
545
node_modules/@radix-ui/react-collection/dist/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,545 @@
|
||||
"use client";
|
||||
|
||||
// src/collection-legacy.tsx
|
||||
import React from "react";
|
||||
import { createContextScope } from "@radix-ui/react-context";
|
||||
import { useComposedRefs } from "@radix-ui/react-compose-refs";
|
||||
import { createSlot } from "@radix-ui/react-slot";
|
||||
import { jsx } from "react/jsx-runtime";
|
||||
function createCollection(name) {
|
||||
const PROVIDER_NAME = name + "CollectionProvider";
|
||||
const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);
|
||||
const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(
|
||||
PROVIDER_NAME,
|
||||
{ collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }
|
||||
);
|
||||
const CollectionProvider = (props) => {
|
||||
const { scope, children } = props;
|
||||
const ref = React.useRef(null);
|
||||
const itemMap = React.useRef(/* @__PURE__ */ new Map()).current;
|
||||
return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });
|
||||
};
|
||||
CollectionProvider.displayName = PROVIDER_NAME;
|
||||
const COLLECTION_SLOT_NAME = name + "CollectionSlot";
|
||||
const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);
|
||||
const CollectionSlot = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { scope, children } = props;
|
||||
const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);
|
||||
const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);
|
||||
return /* @__PURE__ */ jsx(CollectionSlotImpl, { ref: composedRefs, children });
|
||||
}
|
||||
);
|
||||
CollectionSlot.displayName = COLLECTION_SLOT_NAME;
|
||||
const ITEM_SLOT_NAME = name + "CollectionItemSlot";
|
||||
const ITEM_DATA_ATTR = "data-radix-collection-item";
|
||||
const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);
|
||||
const CollectionItemSlot = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { scope, children, ...itemData } = props;
|
||||
const ref = React.useRef(null);
|
||||
const composedRefs = useComposedRefs(forwardedRef, ref);
|
||||
const context = useCollectionContext(ITEM_SLOT_NAME, scope);
|
||||
React.useEffect(() => {
|
||||
context.itemMap.set(ref, { ref, ...itemData });
|
||||
return () => void context.itemMap.delete(ref);
|
||||
});
|
||||
return /* @__PURE__ */ jsx(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: "" }, ref: composedRefs, children });
|
||||
}
|
||||
);
|
||||
CollectionItemSlot.displayName = ITEM_SLOT_NAME;
|
||||
function useCollection(scope) {
|
||||
const context = useCollectionContext(name + "CollectionConsumer", scope);
|
||||
const getItems = React.useCallback(() => {
|
||||
const collectionNode = context.collectionRef.current;
|
||||
if (!collectionNode) return [];
|
||||
const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));
|
||||
const items = Array.from(context.itemMap.values());
|
||||
const orderedItems = items.sort(
|
||||
(a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)
|
||||
);
|
||||
return orderedItems;
|
||||
}, [context.collectionRef, context.itemMap]);
|
||||
return getItems;
|
||||
}
|
||||
return [
|
||||
{ Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },
|
||||
useCollection,
|
||||
createCollectionScope
|
||||
];
|
||||
}
|
||||
|
||||
// src/collection.tsx
|
||||
import React2 from "react";
|
||||
import { createContextScope as createContextScope2 } from "@radix-ui/react-context";
|
||||
import { useComposedRefs as useComposedRefs2 } from "@radix-ui/react-compose-refs";
|
||||
import { createSlot as createSlot2 } from "@radix-ui/react-slot";
|
||||
|
||||
// src/ordered-dictionary.ts
|
||||
var __instanciated = /* @__PURE__ */ new WeakMap();
|
||||
var OrderedDict = class _OrderedDict extends Map {
|
||||
#keys;
|
||||
constructor(entries) {
|
||||
super(entries);
|
||||
this.#keys = [...super.keys()];
|
||||
__instanciated.set(this, true);
|
||||
}
|
||||
set(key, value) {
|
||||
if (__instanciated.get(this)) {
|
||||
if (this.has(key)) {
|
||||
this.#keys[this.#keys.indexOf(key)] = key;
|
||||
} else {
|
||||
this.#keys.push(key);
|
||||
}
|
||||
}
|
||||
super.set(key, value);
|
||||
return this;
|
||||
}
|
||||
insert(index, key, value) {
|
||||
const has = this.has(key);
|
||||
const length = this.#keys.length;
|
||||
const relativeIndex = toSafeInteger(index);
|
||||
let actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;
|
||||
const safeIndex = actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;
|
||||
if (safeIndex === this.size || has && safeIndex === this.size - 1 || safeIndex === -1) {
|
||||
this.set(key, value);
|
||||
return this;
|
||||
}
|
||||
const size = this.size + (has ? 0 : 1);
|
||||
if (relativeIndex < 0) {
|
||||
actualIndex++;
|
||||
}
|
||||
const keys = [...this.#keys];
|
||||
let nextValue;
|
||||
let shouldSkip = false;
|
||||
for (let i = actualIndex; i < size; i++) {
|
||||
if (actualIndex === i) {
|
||||
let nextKey = keys[i];
|
||||
if (keys[i] === key) {
|
||||
nextKey = keys[i + 1];
|
||||
}
|
||||
if (has) {
|
||||
this.delete(key);
|
||||
}
|
||||
nextValue = this.get(nextKey);
|
||||
this.set(key, value);
|
||||
} else {
|
||||
if (!shouldSkip && keys[i - 1] === key) {
|
||||
shouldSkip = true;
|
||||
}
|
||||
const currentKey = keys[shouldSkip ? i : i - 1];
|
||||
const currentValue = nextValue;
|
||||
nextValue = this.get(currentKey);
|
||||
this.delete(currentKey);
|
||||
this.set(currentKey, currentValue);
|
||||
}
|
||||
}
|
||||
return this;
|
||||
}
|
||||
with(index, key, value) {
|
||||
const copy = new _OrderedDict(this);
|
||||
copy.insert(index, key, value);
|
||||
return copy;
|
||||
}
|
||||
before(key) {
|
||||
const index = this.#keys.indexOf(key) - 1;
|
||||
if (index < 0) {
|
||||
return void 0;
|
||||
}
|
||||
return this.entryAt(index);
|
||||
}
|
||||
/**
|
||||
* Sets a new key-value pair at the position before the given key.
|
||||
*/
|
||||
setBefore(key, newKey, value) {
|
||||
const index = this.#keys.indexOf(key);
|
||||
if (index === -1) {
|
||||
return this;
|
||||
}
|
||||
return this.insert(index, newKey, value);
|
||||
}
|
||||
after(key) {
|
||||
let index = this.#keys.indexOf(key);
|
||||
index = index === -1 || index === this.size - 1 ? -1 : index + 1;
|
||||
if (index === -1) {
|
||||
return void 0;
|
||||
}
|
||||
return this.entryAt(index);
|
||||
}
|
||||
/**
|
||||
* Sets a new key-value pair at the position after the given key.
|
||||
*/
|
||||
setAfter(key, newKey, value) {
|
||||
const index = this.#keys.indexOf(key);
|
||||
if (index === -1) {
|
||||
return this;
|
||||
}
|
||||
return this.insert(index + 1, newKey, value);
|
||||
}
|
||||
first() {
|
||||
return this.entryAt(0);
|
||||
}
|
||||
last() {
|
||||
return this.entryAt(-1);
|
||||
}
|
||||
clear() {
|
||||
this.#keys = [];
|
||||
return super.clear();
|
||||
}
|
||||
delete(key) {
|
||||
const deleted = super.delete(key);
|
||||
if (deleted) {
|
||||
this.#keys.splice(this.#keys.indexOf(key), 1);
|
||||
}
|
||||
return deleted;
|
||||
}
|
||||
deleteAt(index) {
|
||||
const key = this.keyAt(index);
|
||||
if (key !== void 0) {
|
||||
return this.delete(key);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
at(index) {
|
||||
const key = at(this.#keys, index);
|
||||
if (key !== void 0) {
|
||||
return this.get(key);
|
||||
}
|
||||
}
|
||||
entryAt(index) {
|
||||
const key = at(this.#keys, index);
|
||||
if (key !== void 0) {
|
||||
return [key, this.get(key)];
|
||||
}
|
||||
}
|
||||
indexOf(key) {
|
||||
return this.#keys.indexOf(key);
|
||||
}
|
||||
keyAt(index) {
|
||||
return at(this.#keys, index);
|
||||
}
|
||||
from(key, offset) {
|
||||
const index = this.indexOf(key);
|
||||
if (index === -1) {
|
||||
return void 0;
|
||||
}
|
||||
let dest = index + offset;
|
||||
if (dest < 0) dest = 0;
|
||||
if (dest >= this.size) dest = this.size - 1;
|
||||
return this.at(dest);
|
||||
}
|
||||
keyFrom(key, offset) {
|
||||
const index = this.indexOf(key);
|
||||
if (index === -1) {
|
||||
return void 0;
|
||||
}
|
||||
let dest = index + offset;
|
||||
if (dest < 0) dest = 0;
|
||||
if (dest >= this.size) dest = this.size - 1;
|
||||
return this.keyAt(dest);
|
||||
}
|
||||
find(predicate, thisArg) {
|
||||
let index = 0;
|
||||
for (const entry of this) {
|
||||
if (Reflect.apply(predicate, thisArg, [entry, index, this])) {
|
||||
return entry;
|
||||
}
|
||||
index++;
|
||||
}
|
||||
return void 0;
|
||||
}
|
||||
findIndex(predicate, thisArg) {
|
||||
let index = 0;
|
||||
for (const entry of this) {
|
||||
if (Reflect.apply(predicate, thisArg, [entry, index, this])) {
|
||||
return index;
|
||||
}
|
||||
index++;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
filter(predicate, thisArg) {
|
||||
const entries = [];
|
||||
let index = 0;
|
||||
for (const entry of this) {
|
||||
if (Reflect.apply(predicate, thisArg, [entry, index, this])) {
|
||||
entries.push(entry);
|
||||
}
|
||||
index++;
|
||||
}
|
||||
return new _OrderedDict(entries);
|
||||
}
|
||||
map(callbackfn, thisArg) {
|
||||
const entries = [];
|
||||
let index = 0;
|
||||
for (const entry of this) {
|
||||
entries.push([entry[0], Reflect.apply(callbackfn, thisArg, [entry, index, this])]);
|
||||
index++;
|
||||
}
|
||||
return new _OrderedDict(entries);
|
||||
}
|
||||
reduce(...args) {
|
||||
const [callbackfn, initialValue] = args;
|
||||
let index = 0;
|
||||
let accumulator = initialValue ?? this.at(0);
|
||||
for (const entry of this) {
|
||||
if (index === 0 && args.length === 1) {
|
||||
accumulator = entry;
|
||||
} else {
|
||||
accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);
|
||||
}
|
||||
index++;
|
||||
}
|
||||
return accumulator;
|
||||
}
|
||||
reduceRight(...args) {
|
||||
const [callbackfn, initialValue] = args;
|
||||
let accumulator = initialValue ?? this.at(-1);
|
||||
for (let index = this.size - 1; index >= 0; index--) {
|
||||
const entry = this.at(index);
|
||||
if (index === this.size - 1 && args.length === 1) {
|
||||
accumulator = entry;
|
||||
} else {
|
||||
accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);
|
||||
}
|
||||
}
|
||||
return accumulator;
|
||||
}
|
||||
toSorted(compareFn) {
|
||||
const entries = [...this.entries()].sort(compareFn);
|
||||
return new _OrderedDict(entries);
|
||||
}
|
||||
toReversed() {
|
||||
const reversed = new _OrderedDict();
|
||||
for (let index = this.size - 1; index >= 0; index--) {
|
||||
const key = this.keyAt(index);
|
||||
const element = this.get(key);
|
||||
reversed.set(key, element);
|
||||
}
|
||||
return reversed;
|
||||
}
|
||||
toSpliced(...args) {
|
||||
const entries = [...this.entries()];
|
||||
entries.splice(...args);
|
||||
return new _OrderedDict(entries);
|
||||
}
|
||||
slice(start, end) {
|
||||
const result = new _OrderedDict();
|
||||
let stop = this.size - 1;
|
||||
if (start === void 0) {
|
||||
return result;
|
||||
}
|
||||
if (start < 0) {
|
||||
start = start + this.size;
|
||||
}
|
||||
if (end !== void 0 && end > 0) {
|
||||
stop = end - 1;
|
||||
}
|
||||
for (let index = start; index <= stop; index++) {
|
||||
const key = this.keyAt(index);
|
||||
const element = this.get(key);
|
||||
result.set(key, element);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
every(predicate, thisArg) {
|
||||
let index = 0;
|
||||
for (const entry of this) {
|
||||
if (!Reflect.apply(predicate, thisArg, [entry, index, this])) {
|
||||
return false;
|
||||
}
|
||||
index++;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
some(predicate, thisArg) {
|
||||
let index = 0;
|
||||
for (const entry of this) {
|
||||
if (Reflect.apply(predicate, thisArg, [entry, index, this])) {
|
||||
return true;
|
||||
}
|
||||
index++;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
||||
function at(array, index) {
|
||||
if ("at" in Array.prototype) {
|
||||
return Array.prototype.at.call(array, index);
|
||||
}
|
||||
const actualIndex = toSafeIndex(array, index);
|
||||
return actualIndex === -1 ? void 0 : array[actualIndex];
|
||||
}
|
||||
function toSafeIndex(array, index) {
|
||||
const length = array.length;
|
||||
const relativeIndex = toSafeInteger(index);
|
||||
const actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;
|
||||
return actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;
|
||||
}
|
||||
function toSafeInteger(number) {
|
||||
return number !== number || number === 0 ? 0 : Math.trunc(number);
|
||||
}
|
||||
|
||||
// src/collection.tsx
|
||||
import { jsx as jsx2 } from "react/jsx-runtime";
|
||||
function createCollection2(name) {
|
||||
const PROVIDER_NAME = name + "CollectionProvider";
|
||||
const [createCollectionContext, createCollectionScope] = createContextScope2(PROVIDER_NAME);
|
||||
const [CollectionContextProvider, useCollectionContext] = createCollectionContext(
|
||||
PROVIDER_NAME,
|
||||
{
|
||||
collectionElement: null,
|
||||
collectionRef: { current: null },
|
||||
collectionRefObject: { current: null },
|
||||
itemMap: new OrderedDict(),
|
||||
setItemMap: () => void 0
|
||||
}
|
||||
);
|
||||
const CollectionProvider = ({ state, ...props }) => {
|
||||
return state ? /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state }) : /* @__PURE__ */ jsx2(CollectionInit, { ...props });
|
||||
};
|
||||
CollectionProvider.displayName = PROVIDER_NAME;
|
||||
const CollectionInit = (props) => {
|
||||
const state = useInitCollection();
|
||||
return /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state });
|
||||
};
|
||||
CollectionInit.displayName = PROVIDER_NAME + "Init";
|
||||
const CollectionProviderImpl = (props) => {
|
||||
const { scope, children, state } = props;
|
||||
const ref = React2.useRef(null);
|
||||
const [collectionElement, setCollectionElement] = React2.useState(
|
||||
null
|
||||
);
|
||||
const composeRefs = useComposedRefs2(ref, setCollectionElement);
|
||||
const [itemMap, setItemMap] = state;
|
||||
React2.useEffect(() => {
|
||||
if (!collectionElement) return;
|
||||
const observer = getChildListObserver(() => {
|
||||
});
|
||||
observer.observe(collectionElement, {
|
||||
childList: true,
|
||||
subtree: true
|
||||
});
|
||||
return () => {
|
||||
observer.disconnect();
|
||||
};
|
||||
}, [collectionElement]);
|
||||
return /* @__PURE__ */ jsx2(
|
||||
CollectionContextProvider,
|
||||
{
|
||||
scope,
|
||||
itemMap,
|
||||
setItemMap,
|
||||
collectionRef: composeRefs,
|
||||
collectionRefObject: ref,
|
||||
collectionElement,
|
||||
children
|
||||
}
|
||||
);
|
||||
};
|
||||
CollectionProviderImpl.displayName = PROVIDER_NAME + "Impl";
|
||||
const COLLECTION_SLOT_NAME = name + "CollectionSlot";
|
||||
const CollectionSlotImpl = createSlot2(COLLECTION_SLOT_NAME);
|
||||
const CollectionSlot = React2.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { scope, children } = props;
|
||||
const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);
|
||||
const composedRefs = useComposedRefs2(forwardedRef, context.collectionRef);
|
||||
return /* @__PURE__ */ jsx2(CollectionSlotImpl, { ref: composedRefs, children });
|
||||
}
|
||||
);
|
||||
CollectionSlot.displayName = COLLECTION_SLOT_NAME;
|
||||
const ITEM_SLOT_NAME = name + "CollectionItemSlot";
|
||||
const ITEM_DATA_ATTR = "data-radix-collection-item";
|
||||
const CollectionItemSlotImpl = createSlot2(ITEM_SLOT_NAME);
|
||||
const CollectionItemSlot = React2.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { scope, children, ...itemData } = props;
|
||||
const ref = React2.useRef(null);
|
||||
const [element, setElement] = React2.useState(null);
|
||||
const composedRefs = useComposedRefs2(forwardedRef, ref, setElement);
|
||||
const context = useCollectionContext(ITEM_SLOT_NAME, scope);
|
||||
const { setItemMap } = context;
|
||||
const itemDataRef = React2.useRef(itemData);
|
||||
if (!shallowEqual(itemDataRef.current, itemData)) {
|
||||
itemDataRef.current = itemData;
|
||||
}
|
||||
const memoizedItemData = itemDataRef.current;
|
||||
React2.useEffect(() => {
|
||||
const itemData2 = memoizedItemData;
|
||||
setItemMap((map) => {
|
||||
if (!element) {
|
||||
return map;
|
||||
}
|
||||
if (!map.has(element)) {
|
||||
map.set(element, { ...itemData2, element });
|
||||
return map.toSorted(sortByDocumentPosition);
|
||||
}
|
||||
return map.set(element, { ...itemData2, element }).toSorted(sortByDocumentPosition);
|
||||
});
|
||||
return () => {
|
||||
setItemMap((map) => {
|
||||
if (!element || !map.has(element)) {
|
||||
return map;
|
||||
}
|
||||
map.delete(element);
|
||||
return new OrderedDict(map);
|
||||
});
|
||||
};
|
||||
}, [element, memoizedItemData, setItemMap]);
|
||||
return /* @__PURE__ */ jsx2(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: "" }, ref: composedRefs, children });
|
||||
}
|
||||
);
|
||||
CollectionItemSlot.displayName = ITEM_SLOT_NAME;
|
||||
function useInitCollection() {
|
||||
return React2.useState(new OrderedDict());
|
||||
}
|
||||
function useCollection(scope) {
|
||||
const { itemMap } = useCollectionContext(name + "CollectionConsumer", scope);
|
||||
return itemMap;
|
||||
}
|
||||
const functions = {
|
||||
createCollectionScope,
|
||||
useCollection,
|
||||
useInitCollection
|
||||
};
|
||||
return [
|
||||
{ Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },
|
||||
functions
|
||||
];
|
||||
}
|
||||
function shallowEqual(a, b) {
|
||||
if (a === b) return true;
|
||||
if (typeof a !== "object" || typeof b !== "object") return false;
|
||||
if (a == null || b == null) return false;
|
||||
const keysA = Object.keys(a);
|
||||
const keysB = Object.keys(b);
|
||||
if (keysA.length !== keysB.length) return false;
|
||||
for (const key of keysA) {
|
||||
if (!Object.prototype.hasOwnProperty.call(b, key)) return false;
|
||||
if (a[key] !== b[key]) return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
function isElementPreceding(a, b) {
|
||||
return !!(b.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_PRECEDING);
|
||||
}
|
||||
function sortByDocumentPosition(a, b) {
|
||||
return !a[1].element || !b[1].element ? 0 : isElementPreceding(a[1].element, b[1].element) ? -1 : 1;
|
||||
}
|
||||
function getChildListObserver(callback) {
|
||||
const observer = new MutationObserver((mutationsList) => {
|
||||
for (const mutation of mutationsList) {
|
||||
if (mutation.type === "childList") {
|
||||
callback();
|
||||
return;
|
||||
}
|
||||
}
|
||||
});
|
||||
return observer;
|
||||
}
|
||||
export {
|
||||
createCollection,
|
||||
createCollection2 as unstable_createCollection
|
||||
};
|
||||
//# sourceMappingURL=index.mjs.map
|
||||
7
node_modules/@radix-ui/react-collection/dist/index.mjs.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-collection/dist/index.mjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user