Mission Control Dashboard - Initial implementation
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-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-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
21
node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/LICENSE
generated
vendored
Normal file
21
node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/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/node_modules/@radix-ui/react-slot/README.md
generated
vendored
Normal file
3
node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/README.md
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# `react-slot`
|
||||
|
||||
View docs [here](https://radix-ui.com/primitives/docs/utilities/slot).
|
||||
17
node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.d.mts
generated
vendored
Normal file
17
node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.d.mts
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
import * as React from 'react';
|
||||
|
||||
interface SlotProps extends React.HTMLAttributes<HTMLElement> {
|
||||
children?: React.ReactNode;
|
||||
}
|
||||
declare function createSlot(ownerName: string): React.ForwardRefExoticComponent<SlotProps & React.RefAttributes<HTMLElement>>;
|
||||
declare const Slot: React.ForwardRefExoticComponent<SlotProps & React.RefAttributes<HTMLElement>>;
|
||||
interface SlottableProps {
|
||||
children: React.ReactNode;
|
||||
}
|
||||
interface SlottableComponent extends React.FC<SlottableProps> {
|
||||
__radixId: symbol;
|
||||
}
|
||||
declare function createSlottable(ownerName: string): SlottableComponent;
|
||||
declare const Slottable: SlottableComponent;
|
||||
|
||||
export { Slot as Root, Slot, type SlotProps, Slottable, createSlot, createSlottable };
|
||||
17
node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.d.ts
generated
vendored
Normal file
17
node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
import * as React from 'react';
|
||||
|
||||
interface SlotProps extends React.HTMLAttributes<HTMLElement> {
|
||||
children?: React.ReactNode;
|
||||
}
|
||||
declare function createSlot(ownerName: string): React.ForwardRefExoticComponent<SlotProps & React.RefAttributes<HTMLElement>>;
|
||||
declare const Slot: React.ForwardRefExoticComponent<SlotProps & React.RefAttributes<HTMLElement>>;
|
||||
interface SlottableProps {
|
||||
children: React.ReactNode;
|
||||
}
|
||||
interface SlottableComponent extends React.FC<SlottableProps> {
|
||||
__radixId: symbol;
|
||||
}
|
||||
declare function createSlottable(ownerName: string): SlottableComponent;
|
||||
declare const Slottable: SlottableComponent;
|
||||
|
||||
export { Slot as Root, Slot, type SlotProps, Slottable, createSlot, createSlottable };
|
||||
138
node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.js
generated
vendored
Normal file
138
node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.js
generated
vendored
Normal file
@@ -0,0 +1,138 @@
|
||||
"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, {
|
||||
Root: () => Slot,
|
||||
Slot: () => Slot,
|
||||
Slottable: () => Slottable,
|
||||
createSlot: () => createSlot,
|
||||
createSlottable: () => createSlottable
|
||||
});
|
||||
module.exports = __toCommonJS(index_exports);
|
||||
|
||||
// src/slot.tsx
|
||||
var React = __toESM(require("react"));
|
||||
var import_react_compose_refs = require("@radix-ui/react-compose-refs");
|
||||
var import_jsx_runtime = require("react/jsx-runtime");
|
||||
// @__NO_SIDE_EFFECTS__
|
||||
function createSlot(ownerName) {
|
||||
const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
|
||||
const Slot2 = React.forwardRef((props, forwardedRef) => {
|
||||
const { children, ...slotProps } = props;
|
||||
const childrenArray = React.Children.toArray(children);
|
||||
const slottable = childrenArray.find(isSlottable);
|
||||
if (slottable) {
|
||||
const newElement = slottable.props.children;
|
||||
const newChildren = childrenArray.map((child) => {
|
||||
if (child === slottable) {
|
||||
if (React.Children.count(newElement) > 1) return React.Children.only(null);
|
||||
return React.isValidElement(newElement) ? newElement.props.children : null;
|
||||
} else {
|
||||
return child;
|
||||
}
|
||||
});
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });
|
||||
}
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children });
|
||||
});
|
||||
Slot2.displayName = `${ownerName}.Slot`;
|
||||
return Slot2;
|
||||
}
|
||||
var Slot = /* @__PURE__ */ createSlot("Slot");
|
||||
// @__NO_SIDE_EFFECTS__
|
||||
function createSlotClone(ownerName) {
|
||||
const SlotClone = React.forwardRef((props, forwardedRef) => {
|
||||
const { children, ...slotProps } = props;
|
||||
if (React.isValidElement(children)) {
|
||||
const childrenRef = getElementRef(children);
|
||||
const props2 = mergeProps(slotProps, children.props);
|
||||
if (children.type !== React.Fragment) {
|
||||
props2.ref = forwardedRef ? (0, import_react_compose_refs.composeRefs)(forwardedRef, childrenRef) : childrenRef;
|
||||
}
|
||||
return React.cloneElement(children, props2);
|
||||
}
|
||||
return React.Children.count(children) > 1 ? React.Children.only(null) : null;
|
||||
});
|
||||
SlotClone.displayName = `${ownerName}.SlotClone`;
|
||||
return SlotClone;
|
||||
}
|
||||
var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
|
||||
// @__NO_SIDE_EFFECTS__
|
||||
function createSlottable(ownerName) {
|
||||
const Slottable2 = ({ children }) => {
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
|
||||
};
|
||||
Slottable2.displayName = `${ownerName}.Slottable`;
|
||||
Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
|
||||
return Slottable2;
|
||||
}
|
||||
var Slottable = /* @__PURE__ */ createSlottable("Slottable");
|
||||
function isSlottable(child) {
|
||||
return React.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
|
||||
}
|
||||
function mergeProps(slotProps, childProps) {
|
||||
const overrideProps = { ...childProps };
|
||||
for (const propName in childProps) {
|
||||
const slotPropValue = slotProps[propName];
|
||||
const childPropValue = childProps[propName];
|
||||
const isHandler = /^on[A-Z]/.test(propName);
|
||||
if (isHandler) {
|
||||
if (slotPropValue && childPropValue) {
|
||||
overrideProps[propName] = (...args) => {
|
||||
const result = childPropValue(...args);
|
||||
slotPropValue(...args);
|
||||
return result;
|
||||
};
|
||||
} else if (slotPropValue) {
|
||||
overrideProps[propName] = slotPropValue;
|
||||
}
|
||||
} else if (propName === "style") {
|
||||
overrideProps[propName] = { ...slotPropValue, ...childPropValue };
|
||||
} else if (propName === "className") {
|
||||
overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
|
||||
}
|
||||
}
|
||||
return { ...slotProps, ...overrideProps };
|
||||
}
|
||||
function getElementRef(element) {
|
||||
let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
|
||||
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
||||
if (mayWarn) {
|
||||
return element.ref;
|
||||
}
|
||||
getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
|
||||
mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
||||
if (mayWarn) {
|
||||
return element.props.ref;
|
||||
}
|
||||
return element.props.ref || element.ref;
|
||||
}
|
||||
//# sourceMappingURL=index.js.map
|
||||
7
node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.js.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
105
node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.mjs
generated
vendored
Normal file
105
node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,105 @@
|
||||
// src/slot.tsx
|
||||
import * as React from "react";
|
||||
import { composeRefs } from "@radix-ui/react-compose-refs";
|
||||
import { Fragment as Fragment2, jsx } from "react/jsx-runtime";
|
||||
// @__NO_SIDE_EFFECTS__
|
||||
function createSlot(ownerName) {
|
||||
const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
|
||||
const Slot2 = React.forwardRef((props, forwardedRef) => {
|
||||
const { children, ...slotProps } = props;
|
||||
const childrenArray = React.Children.toArray(children);
|
||||
const slottable = childrenArray.find(isSlottable);
|
||||
if (slottable) {
|
||||
const newElement = slottable.props.children;
|
||||
const newChildren = childrenArray.map((child) => {
|
||||
if (child === slottable) {
|
||||
if (React.Children.count(newElement) > 1) return React.Children.only(null);
|
||||
return React.isValidElement(newElement) ? newElement.props.children : null;
|
||||
} else {
|
||||
return child;
|
||||
}
|
||||
});
|
||||
return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });
|
||||
}
|
||||
return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });
|
||||
});
|
||||
Slot2.displayName = `${ownerName}.Slot`;
|
||||
return Slot2;
|
||||
}
|
||||
var Slot = /* @__PURE__ */ createSlot("Slot");
|
||||
// @__NO_SIDE_EFFECTS__
|
||||
function createSlotClone(ownerName) {
|
||||
const SlotClone = React.forwardRef((props, forwardedRef) => {
|
||||
const { children, ...slotProps } = props;
|
||||
if (React.isValidElement(children)) {
|
||||
const childrenRef = getElementRef(children);
|
||||
const props2 = mergeProps(slotProps, children.props);
|
||||
if (children.type !== React.Fragment) {
|
||||
props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
|
||||
}
|
||||
return React.cloneElement(children, props2);
|
||||
}
|
||||
return React.Children.count(children) > 1 ? React.Children.only(null) : null;
|
||||
});
|
||||
SlotClone.displayName = `${ownerName}.SlotClone`;
|
||||
return SlotClone;
|
||||
}
|
||||
var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
|
||||
// @__NO_SIDE_EFFECTS__
|
||||
function createSlottable(ownerName) {
|
||||
const Slottable2 = ({ children }) => {
|
||||
return /* @__PURE__ */ jsx(Fragment2, { children });
|
||||
};
|
||||
Slottable2.displayName = `${ownerName}.Slottable`;
|
||||
Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
|
||||
return Slottable2;
|
||||
}
|
||||
var Slottable = /* @__PURE__ */ createSlottable("Slottable");
|
||||
function isSlottable(child) {
|
||||
return React.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
|
||||
}
|
||||
function mergeProps(slotProps, childProps) {
|
||||
const overrideProps = { ...childProps };
|
||||
for (const propName in childProps) {
|
||||
const slotPropValue = slotProps[propName];
|
||||
const childPropValue = childProps[propName];
|
||||
const isHandler = /^on[A-Z]/.test(propName);
|
||||
if (isHandler) {
|
||||
if (slotPropValue && childPropValue) {
|
||||
overrideProps[propName] = (...args) => {
|
||||
const result = childPropValue(...args);
|
||||
slotPropValue(...args);
|
||||
return result;
|
||||
};
|
||||
} else if (slotPropValue) {
|
||||
overrideProps[propName] = slotPropValue;
|
||||
}
|
||||
} else if (propName === "style") {
|
||||
overrideProps[propName] = { ...slotPropValue, ...childPropValue };
|
||||
} else if (propName === "className") {
|
||||
overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
|
||||
}
|
||||
}
|
||||
return { ...slotProps, ...overrideProps };
|
||||
}
|
||||
function getElementRef(element) {
|
||||
let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
|
||||
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
||||
if (mayWarn) {
|
||||
return element.ref;
|
||||
}
|
||||
getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
|
||||
mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
||||
if (mayWarn) {
|
||||
return element.props.ref;
|
||||
}
|
||||
return element.props.ref || element.ref;
|
||||
}
|
||||
export {
|
||||
Slot as Root,
|
||||
Slot,
|
||||
Slottable,
|
||||
createSlot,
|
||||
createSlottable
|
||||
};
|
||||
//# sourceMappingURL=index.mjs.map
|
||||
7
node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.mjs.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.mjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
63
node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/package.json
generated
vendored
Normal file
63
node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/package.json
generated
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
{
|
||||
"name": "@radix-ui/react-slot",
|
||||
"version": "1.2.3",
|
||||
"license": "MIT",
|
||||
"source": "./src/index.ts",
|
||||
"main": "./dist/index.js",
|
||||
"module": "./dist/index.mjs",
|
||||
"files": [
|
||||
"dist",
|
||||
"README.md"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"dependencies": {
|
||||
"@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/eslint-config": "0.0.0",
|
||||
"@repo/typescript-config": "0.0.0",
|
||||
"@repo/builder": "0.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/react": "*",
|
||||
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@types/react": {
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
71
node_modules/@radix-ui/react-collection/package.json
generated
vendored
Normal file
71
node_modules/@radix-ui/react-collection/package.json
generated
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
{
|
||||
"name": "@radix-ui/react-collection",
|
||||
"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-compose-refs": "1.1.2",
|
||||
"@radix-ui/react-context": "1.1.2",
|
||||
"@radix-ui/react-primitive": "2.1.3",
|
||||
"@radix-ui/react-slot": "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/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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
13
node_modules/@radix-ui/react-compose-refs/README.md
generated
vendored
Normal file
13
node_modules/@radix-ui/react-compose-refs/README.md
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
# `react-compose-refs`
|
||||
|
||||
## Installation
|
||||
|
||||
```sh
|
||||
$ yarn add @radix-ui/react-compose-refs
|
||||
# or
|
||||
$ npm install @radix-ui/react-compose-refs
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
This is an internal utility, not intended for public usage.
|
||||
15
node_modules/@radix-ui/react-compose-refs/dist/index.d.mts
generated
vendored
Normal file
15
node_modules/@radix-ui/react-compose-refs/dist/index.d.mts
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
import * as React from 'react';
|
||||
|
||||
type PossibleRef<T> = React.Ref<T> | undefined;
|
||||
/**
|
||||
* A utility to compose multiple refs together
|
||||
* Accepts callback refs and RefObject(s)
|
||||
*/
|
||||
declare function composeRefs<T>(...refs: PossibleRef<T>[]): React.RefCallback<T>;
|
||||
/**
|
||||
* A custom hook that composes multiple refs
|
||||
* Accepts callback refs and RefObject(s)
|
||||
*/
|
||||
declare function useComposedRefs<T>(...refs: PossibleRef<T>[]): React.RefCallback<T>;
|
||||
|
||||
export { composeRefs, useComposedRefs };
|
||||
15
node_modules/@radix-ui/react-compose-refs/dist/index.d.ts
generated
vendored
Normal file
15
node_modules/@radix-ui/react-compose-refs/dist/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
import * as React from 'react';
|
||||
|
||||
type PossibleRef<T> = React.Ref<T> | undefined;
|
||||
/**
|
||||
* A utility to compose multiple refs together
|
||||
* Accepts callback refs and RefObject(s)
|
||||
*/
|
||||
declare function composeRefs<T>(...refs: PossibleRef<T>[]): React.RefCallback<T>;
|
||||
/**
|
||||
* A custom hook that composes multiple refs
|
||||
* Accepts callback refs and RefObject(s)
|
||||
*/
|
||||
declare function useComposedRefs<T>(...refs: PossibleRef<T>[]): React.RefCallback<T>;
|
||||
|
||||
export { composeRefs, useComposedRefs };
|
||||
74
node_modules/@radix-ui/react-compose-refs/dist/index.js
generated
vendored
Normal file
74
node_modules/@radix-ui/react-compose-refs/dist/index.js
generated
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
"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);
|
||||
|
||||
// packages/react/compose-refs/src/index.ts
|
||||
var index_exports = {};
|
||||
__export(index_exports, {
|
||||
composeRefs: () => composeRefs,
|
||||
useComposedRefs: () => useComposedRefs
|
||||
});
|
||||
module.exports = __toCommonJS(index_exports);
|
||||
|
||||
// packages/react/compose-refs/src/compose-refs.tsx
|
||||
var React = __toESM(require("react"));
|
||||
function setRef(ref, value) {
|
||||
if (typeof ref === "function") {
|
||||
return ref(value);
|
||||
} else if (ref !== null && ref !== void 0) {
|
||||
ref.current = value;
|
||||
}
|
||||
}
|
||||
function composeRefs(...refs) {
|
||||
return (node) => {
|
||||
let hasCleanup = false;
|
||||
const cleanups = refs.map((ref) => {
|
||||
const cleanup = setRef(ref, node);
|
||||
if (!hasCleanup && typeof cleanup == "function") {
|
||||
hasCleanup = true;
|
||||
}
|
||||
return cleanup;
|
||||
});
|
||||
if (hasCleanup) {
|
||||
return () => {
|
||||
for (let i = 0; i < cleanups.length; i++) {
|
||||
const cleanup = cleanups[i];
|
||||
if (typeof cleanup == "function") {
|
||||
cleanup();
|
||||
} else {
|
||||
setRef(refs[i], null);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
function useComposedRefs(...refs) {
|
||||
return React.useCallback(composeRefs(...refs), refs);
|
||||
}
|
||||
//# sourceMappingURL=index.js.map
|
||||
7
node_modules/@radix-ui/react-compose-refs/dist/index.js.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-compose-refs/dist/index.js.map
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../src/index.ts", "../src/compose-refs.tsx"],
|
||||
"sourcesContent": ["export { composeRefs, useComposedRefs } from './compose-refs';\n", "import * as React from 'react';\n\ntype PossibleRef<T> = React.Ref<T> | undefined;\n\n/**\n * Set a given ref to a given value\n * This utility takes care of different types of refs: callback refs and RefObject(s)\n */\nfunction setRef<T>(ref: PossibleRef<T>, value: T) {\n if (typeof ref === 'function') {\n return ref(value);\n } else if (ref !== null && ref !== undefined) {\n ref.current = value;\n }\n}\n\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n */\nfunction composeRefs<T>(...refs: PossibleRef<T>[]): React.RefCallback<T> {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == 'function') {\n hasCleanup = true;\n }\n return cleanup;\n });\n\n // React <19 will log an error to the console if a callback ref returns a\n // value. We don't use ref cleanups internally so this will only happen if a\n // user's ref callback returns a value, which we only expect if they are\n // using the cleanup functionality added in React 19.\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == 'function') {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\n\n/**\n * A custom hook that composes multiple refs\n * Accepts callback refs and RefObject(s)\n */\nfunction useComposedRefs<T>(...refs: PossibleRef<T>[]): React.RefCallback<T> {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return React.useCallback(composeRefs(...refs), refs);\n}\n\nexport { composeRefs, useComposedRefs };\n"],
|
||||
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,YAAuB;AAQvB,SAAS,OAAU,KAAqB,OAAU;AAChD,MAAI,OAAO,QAAQ,YAAY;AAC7B,WAAO,IAAI,KAAK;AAAA,EAClB,WAAW,QAAQ,QAAQ,QAAQ,QAAW;AAC5C,QAAI,UAAU;AAAA,EAChB;AACF;AAMA,SAAS,eAAkB,MAA8C;AACvE,SAAO,CAAC,SAAS;AACf,QAAI,aAAa;AACjB,UAAM,WAAW,KAAK,IAAI,CAAC,QAAQ;AACjC,YAAM,UAAU,OAAO,KAAK,IAAI;AAChC,UAAI,CAAC,cAAc,OAAO,WAAW,YAAY;AAC/C,qBAAa;AAAA,MACf;AACA,aAAO;AAAA,IACT,CAAC;AAMD,QAAI,YAAY;AACd,aAAO,MAAM;AACX,iBAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACxC,gBAAM,UAAU,SAAS,CAAC;AAC1B,cAAI,OAAO,WAAW,YAAY;AAChC,oBAAQ;AAAA,UACV,OAAO;AACL,mBAAO,KAAK,CAAC,GAAG,IAAI;AAAA,UACtB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAMA,SAAS,mBAAsB,MAA8C;AAE3E,SAAa,kBAAY,YAAY,GAAG,IAAI,GAAG,IAAI;AACrD;",
|
||||
"names": []
|
||||
}
|
||||
41
node_modules/@radix-ui/react-compose-refs/dist/index.mjs
generated
vendored
Normal file
41
node_modules/@radix-ui/react-compose-refs/dist/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
// packages/react/compose-refs/src/compose-refs.tsx
|
||||
import * as React from "react";
|
||||
function setRef(ref, value) {
|
||||
if (typeof ref === "function") {
|
||||
return ref(value);
|
||||
} else if (ref !== null && ref !== void 0) {
|
||||
ref.current = value;
|
||||
}
|
||||
}
|
||||
function composeRefs(...refs) {
|
||||
return (node) => {
|
||||
let hasCleanup = false;
|
||||
const cleanups = refs.map((ref) => {
|
||||
const cleanup = setRef(ref, node);
|
||||
if (!hasCleanup && typeof cleanup == "function") {
|
||||
hasCleanup = true;
|
||||
}
|
||||
return cleanup;
|
||||
});
|
||||
if (hasCleanup) {
|
||||
return () => {
|
||||
for (let i = 0; i < cleanups.length; i++) {
|
||||
const cleanup = cleanups[i];
|
||||
if (typeof cleanup == "function") {
|
||||
cleanup();
|
||||
} else {
|
||||
setRef(refs[i], null);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
function useComposedRefs(...refs) {
|
||||
return React.useCallback(composeRefs(...refs), refs);
|
||||
}
|
||||
export {
|
||||
composeRefs,
|
||||
useComposedRefs
|
||||
};
|
||||
//# sourceMappingURL=index.mjs.map
|
||||
7
node_modules/@radix-ui/react-compose-refs/dist/index.mjs.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-compose-refs/dist/index.mjs.map
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../src/compose-refs.tsx"],
|
||||
"sourcesContent": ["import * as React from 'react';\n\ntype PossibleRef<T> = React.Ref<T> | undefined;\n\n/**\n * Set a given ref to a given value\n * This utility takes care of different types of refs: callback refs and RefObject(s)\n */\nfunction setRef<T>(ref: PossibleRef<T>, value: T) {\n if (typeof ref === 'function') {\n return ref(value);\n } else if (ref !== null && ref !== undefined) {\n ref.current = value;\n }\n}\n\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n */\nfunction composeRefs<T>(...refs: PossibleRef<T>[]): React.RefCallback<T> {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == 'function') {\n hasCleanup = true;\n }\n return cleanup;\n });\n\n // React <19 will log an error to the console if a callback ref returns a\n // value. We don't use ref cleanups internally so this will only happen if a\n // user's ref callback returns a value, which we only expect if they are\n // using the cleanup functionality added in React 19.\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == 'function') {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\n\n/**\n * A custom hook that composes multiple refs\n * Accepts callback refs and RefObject(s)\n */\nfunction useComposedRefs<T>(...refs: PossibleRef<T>[]): React.RefCallback<T> {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return React.useCallback(composeRefs(...refs), refs);\n}\n\nexport { composeRefs, useComposedRefs };\n"],
|
||||
"mappings": ";AAAA,YAAY,WAAW;AAQvB,SAAS,OAAU,KAAqB,OAAU;AAChD,MAAI,OAAO,QAAQ,YAAY;AAC7B,WAAO,IAAI,KAAK;AAAA,EAClB,WAAW,QAAQ,QAAQ,QAAQ,QAAW;AAC5C,QAAI,UAAU;AAAA,EAChB;AACF;AAMA,SAAS,eAAkB,MAA8C;AACvE,SAAO,CAAC,SAAS;AACf,QAAI,aAAa;AACjB,UAAM,WAAW,KAAK,IAAI,CAAC,QAAQ;AACjC,YAAM,UAAU,OAAO,KAAK,IAAI;AAChC,UAAI,CAAC,cAAc,OAAO,WAAW,YAAY;AAC/C,qBAAa;AAAA,MACf;AACA,aAAO;AAAA,IACT,CAAC;AAMD,QAAI,YAAY;AACd,aAAO,MAAM;AACX,iBAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACxC,gBAAM,UAAU,SAAS,CAAC;AAC1B,cAAI,OAAO,WAAW,YAAY;AAChC,oBAAQ;AAAA,UACV,OAAO;AACL,mBAAO,KAAK,CAAC,GAAG,IAAI;AAAA,UACtB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAMA,SAAS,mBAAsB,MAA8C;AAE3E,SAAa,kBAAY,YAAY,GAAG,IAAI,GAAG,IAAI;AACrD;",
|
||||
"names": []
|
||||
}
|
||||
75
node_modules/@radix-ui/react-compose-refs/package.json
generated
vendored
Normal file
75
node_modules/@radix-ui/react-compose-refs/package.json
generated
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"name": "@radix-ui/react-compose-refs",
|
||||
"version": "1.1.2",
|
||||
"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",
|
||||
"@types/react": "^19.0.7",
|
||||
"@types/react-dom": "^19.0.3",
|
||||
"eslint": "^9.18.0",
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0",
|
||||
"typescript": "^5.7.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/react": "*",
|
||||
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@types/react": {
|
||||
"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"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
13
node_modules/@radix-ui/react-context/README.md
generated
vendored
Normal file
13
node_modules/@radix-ui/react-context/README.md
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
# `react-context`
|
||||
|
||||
## Installation
|
||||
|
||||
```sh
|
||||
$ yarn add @radix-ui/react-context
|
||||
# or
|
||||
$ npm install @radix-ui/react-context
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
This is an internal utility, not intended for public usage.
|
||||
21
node_modules/@radix-ui/react-context/dist/index.d.mts
generated
vendored
Normal file
21
node_modules/@radix-ui/react-context/dist/index.d.mts
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
import * as React from 'react';
|
||||
|
||||
declare function createContext<ContextValueType extends object | null>(rootComponentName: string, defaultContext?: ContextValueType): readonly [React.FC<ContextValueType & {
|
||||
children: React.ReactNode;
|
||||
}>, (consumerName: string) => ContextValueType];
|
||||
type Scope<C = any> = {
|
||||
[scopeName: string]: React.Context<C>[];
|
||||
} | undefined;
|
||||
type ScopeHook = (scope: Scope) => {
|
||||
[__scopeProp: string]: Scope;
|
||||
};
|
||||
interface CreateScope {
|
||||
scopeName: string;
|
||||
(): ScopeHook;
|
||||
}
|
||||
declare function createContextScope(scopeName: string, createContextScopeDeps?: CreateScope[]): readonly [<ContextValueType extends object | null>(rootComponentName: string, defaultContext?: ContextValueType) => readonly [React.FC<ContextValueType & {
|
||||
scope: Scope<ContextValueType>;
|
||||
children: React.ReactNode;
|
||||
}>, (consumerName: string, scope: Scope<ContextValueType | undefined>) => ContextValueType], CreateScope];
|
||||
|
||||
export { type CreateScope, type Scope, createContext, createContextScope };
|
||||
21
node_modules/@radix-ui/react-context/dist/index.d.ts
generated
vendored
Normal file
21
node_modules/@radix-ui/react-context/dist/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
import * as React from 'react';
|
||||
|
||||
declare function createContext<ContextValueType extends object | null>(rootComponentName: string, defaultContext?: ContextValueType): readonly [React.FC<ContextValueType & {
|
||||
children: React.ReactNode;
|
||||
}>, (consumerName: string) => ContextValueType];
|
||||
type Scope<C = any> = {
|
||||
[scopeName: string]: React.Context<C>[];
|
||||
} | undefined;
|
||||
type ScopeHook = (scope: Scope) => {
|
||||
[__scopeProp: string]: Scope;
|
||||
};
|
||||
interface CreateScope {
|
||||
scopeName: string;
|
||||
(): ScopeHook;
|
||||
}
|
||||
declare function createContextScope(scopeName: string, createContextScopeDeps?: CreateScope[]): readonly [<ContextValueType extends object | null>(rootComponentName: string, defaultContext?: ContextValueType) => readonly [React.FC<ContextValueType & {
|
||||
scope: Scope<ContextValueType>;
|
||||
children: React.ReactNode;
|
||||
}>, (consumerName: string, scope: Scope<ContextValueType | undefined>) => ContextValueType], CreateScope];
|
||||
|
||||
export { type CreateScope, type Scope, createContext, createContextScope };
|
||||
114
node_modules/@radix-ui/react-context/dist/index.js
generated
vendored
Normal file
114
node_modules/@radix-ui/react-context/dist/index.js
generated
vendored
Normal file
@@ -0,0 +1,114 @@
|
||||
"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);
|
||||
|
||||
// packages/react/context/src/index.ts
|
||||
var index_exports = {};
|
||||
__export(index_exports, {
|
||||
createContext: () => createContext2,
|
||||
createContextScope: () => createContextScope
|
||||
});
|
||||
module.exports = __toCommonJS(index_exports);
|
||||
|
||||
// packages/react/context/src/create-context.tsx
|
||||
var React = __toESM(require("react"));
|
||||
var import_jsx_runtime = require("react/jsx-runtime");
|
||||
function createContext2(rootComponentName, defaultContext) {
|
||||
const Context = React.createContext(defaultContext);
|
||||
const Provider = (props) => {
|
||||
const { children, ...context } = props;
|
||||
const value = React.useMemo(() => context, Object.values(context));
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Context.Provider, { value, children });
|
||||
};
|
||||
Provider.displayName = rootComponentName + "Provider";
|
||||
function useContext2(consumerName) {
|
||||
const context = React.useContext(Context);
|
||||
if (context) return context;
|
||||
if (defaultContext !== void 0) return defaultContext;
|
||||
throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
|
||||
}
|
||||
return [Provider, useContext2];
|
||||
}
|
||||
function createContextScope(scopeName, createContextScopeDeps = []) {
|
||||
let defaultContexts = [];
|
||||
function createContext3(rootComponentName, defaultContext) {
|
||||
const BaseContext = React.createContext(defaultContext);
|
||||
const index = defaultContexts.length;
|
||||
defaultContexts = [...defaultContexts, defaultContext];
|
||||
const Provider = (props) => {
|
||||
const { scope, children, ...context } = props;
|
||||
const Context = scope?.[scopeName]?.[index] || BaseContext;
|
||||
const value = React.useMemo(() => context, Object.values(context));
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Context.Provider, { value, children });
|
||||
};
|
||||
Provider.displayName = rootComponentName + "Provider";
|
||||
function useContext2(consumerName, scope) {
|
||||
const Context = scope?.[scopeName]?.[index] || BaseContext;
|
||||
const context = React.useContext(Context);
|
||||
if (context) return context;
|
||||
if (defaultContext !== void 0) return defaultContext;
|
||||
throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
|
||||
}
|
||||
return [Provider, useContext2];
|
||||
}
|
||||
const createScope = () => {
|
||||
const scopeContexts = defaultContexts.map((defaultContext) => {
|
||||
return React.createContext(defaultContext);
|
||||
});
|
||||
return function useScope(scope) {
|
||||
const contexts = scope?.[scopeName] || scopeContexts;
|
||||
return React.useMemo(
|
||||
() => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),
|
||||
[scope, contexts]
|
||||
);
|
||||
};
|
||||
};
|
||||
createScope.scopeName = scopeName;
|
||||
return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];
|
||||
}
|
||||
function composeContextScopes(...scopes) {
|
||||
const baseScope = scopes[0];
|
||||
if (scopes.length === 1) return baseScope;
|
||||
const createScope = () => {
|
||||
const scopeHooks = scopes.map((createScope2) => ({
|
||||
useScope: createScope2(),
|
||||
scopeName: createScope2.scopeName
|
||||
}));
|
||||
return function useComposedScopes(overrideScopes) {
|
||||
const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {
|
||||
const scopeProps = useScope(overrideScopes);
|
||||
const currentScope = scopeProps[`__scope${scopeName}`];
|
||||
return { ...nextScopes2, ...currentScope };
|
||||
}, {});
|
||||
return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);
|
||||
};
|
||||
};
|
||||
createScope.scopeName = baseScope.scopeName;
|
||||
return createScope;
|
||||
}
|
||||
//# sourceMappingURL=index.js.map
|
||||
7
node_modules/@radix-ui/react-context/dist/index.js.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-context/dist/index.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
81
node_modules/@radix-ui/react-context/dist/index.mjs
generated
vendored
Normal file
81
node_modules/@radix-ui/react-context/dist/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,81 @@
|
||||
// packages/react/context/src/create-context.tsx
|
||||
import * as React from "react";
|
||||
import { jsx } from "react/jsx-runtime";
|
||||
function createContext2(rootComponentName, defaultContext) {
|
||||
const Context = React.createContext(defaultContext);
|
||||
const Provider = (props) => {
|
||||
const { children, ...context } = props;
|
||||
const value = React.useMemo(() => context, Object.values(context));
|
||||
return /* @__PURE__ */ jsx(Context.Provider, { value, children });
|
||||
};
|
||||
Provider.displayName = rootComponentName + "Provider";
|
||||
function useContext2(consumerName) {
|
||||
const context = React.useContext(Context);
|
||||
if (context) return context;
|
||||
if (defaultContext !== void 0) return defaultContext;
|
||||
throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
|
||||
}
|
||||
return [Provider, useContext2];
|
||||
}
|
||||
function createContextScope(scopeName, createContextScopeDeps = []) {
|
||||
let defaultContexts = [];
|
||||
function createContext3(rootComponentName, defaultContext) {
|
||||
const BaseContext = React.createContext(defaultContext);
|
||||
const index = defaultContexts.length;
|
||||
defaultContexts = [...defaultContexts, defaultContext];
|
||||
const Provider = (props) => {
|
||||
const { scope, children, ...context } = props;
|
||||
const Context = scope?.[scopeName]?.[index] || BaseContext;
|
||||
const value = React.useMemo(() => context, Object.values(context));
|
||||
return /* @__PURE__ */ jsx(Context.Provider, { value, children });
|
||||
};
|
||||
Provider.displayName = rootComponentName + "Provider";
|
||||
function useContext2(consumerName, scope) {
|
||||
const Context = scope?.[scopeName]?.[index] || BaseContext;
|
||||
const context = React.useContext(Context);
|
||||
if (context) return context;
|
||||
if (defaultContext !== void 0) return defaultContext;
|
||||
throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
|
||||
}
|
||||
return [Provider, useContext2];
|
||||
}
|
||||
const createScope = () => {
|
||||
const scopeContexts = defaultContexts.map((defaultContext) => {
|
||||
return React.createContext(defaultContext);
|
||||
});
|
||||
return function useScope(scope) {
|
||||
const contexts = scope?.[scopeName] || scopeContexts;
|
||||
return React.useMemo(
|
||||
() => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),
|
||||
[scope, contexts]
|
||||
);
|
||||
};
|
||||
};
|
||||
createScope.scopeName = scopeName;
|
||||
return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];
|
||||
}
|
||||
function composeContextScopes(...scopes) {
|
||||
const baseScope = scopes[0];
|
||||
if (scopes.length === 1) return baseScope;
|
||||
const createScope = () => {
|
||||
const scopeHooks = scopes.map((createScope2) => ({
|
||||
useScope: createScope2(),
|
||||
scopeName: createScope2.scopeName
|
||||
}));
|
||||
return function useComposedScopes(overrideScopes) {
|
||||
const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {
|
||||
const scopeProps = useScope(overrideScopes);
|
||||
const currentScope = scopeProps[`__scope${scopeName}`];
|
||||
return { ...nextScopes2, ...currentScope };
|
||||
}, {});
|
||||
return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);
|
||||
};
|
||||
};
|
||||
createScope.scopeName = baseScope.scopeName;
|
||||
return createScope;
|
||||
}
|
||||
export {
|
||||
createContext2 as createContext,
|
||||
createContextScope
|
||||
};
|
||||
//# sourceMappingURL=index.mjs.map
|
||||
7
node_modules/@radix-ui/react-context/dist/index.mjs.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-context/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-context/package.json
generated
vendored
Normal file
75
node_modules/@radix-ui/react-context/package.json
generated
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"name": "@radix-ui/react-context",
|
||||
"version": "1.1.2",
|
||||
"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",
|
||||
"@types/react": "^19.0.7",
|
||||
"@types/react-dom": "^19.0.3",
|
||||
"eslint": "^9.18.0",
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0",
|
||||
"typescript": "^5.7.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/react": "*",
|
||||
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@types/react": {
|
||||
"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"
|
||||
},
|
||||
"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/react-dialog/LICENSE
generated
vendored
Normal file
21
node_modules/@radix-ui/react-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-dialog/README.md
generated
vendored
Normal file
3
node_modules/@radix-ui/react-dialog/README.md
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# `react-dialog`
|
||||
|
||||
View docs [here](https://radix-ui.com/primitives/docs/components/dialog).
|
||||
103
node_modules/@radix-ui/react-dialog/dist/index.d.mts
generated
vendored
Normal file
103
node_modules/@radix-ui/react-dialog/dist/index.d.mts
generated
vendored
Normal file
@@ -0,0 +1,103 @@
|
||||
import * as _radix_ui_react_context from '@radix-ui/react-context';
|
||||
import * as React from 'react';
|
||||
import { DismissableLayer } from '@radix-ui/react-dismissable-layer';
|
||||
import { FocusScope } from '@radix-ui/react-focus-scope';
|
||||
import { Portal as Portal$1 } from '@radix-ui/react-portal';
|
||||
import { Primitive } from '@radix-ui/react-primitive';
|
||||
|
||||
declare const createDialogScope: _radix_ui_react_context.CreateScope;
|
||||
interface DialogProps {
|
||||
children?: React.ReactNode;
|
||||
open?: boolean;
|
||||
defaultOpen?: boolean;
|
||||
onOpenChange?(open: boolean): void;
|
||||
modal?: boolean;
|
||||
}
|
||||
declare const Dialog: React.FC<DialogProps>;
|
||||
type PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;
|
||||
interface DialogTriggerProps extends PrimitiveButtonProps {
|
||||
}
|
||||
declare const DialogTrigger: React.ForwardRefExoticComponent<DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
type PortalProps = React.ComponentPropsWithoutRef<typeof Portal$1>;
|
||||
interface DialogPortalProps {
|
||||
children?: React.ReactNode;
|
||||
/**
|
||||
* Specify a container element to portal the content into.
|
||||
*/
|
||||
container?: PortalProps['container'];
|
||||
/**
|
||||
* Used to force mounting when more control is needed. Useful when
|
||||
* controlling animation with React animation libraries.
|
||||
*/
|
||||
forceMount?: true;
|
||||
}
|
||||
declare const DialogPortal: React.FC<DialogPortalProps>;
|
||||
interface DialogOverlayProps extends DialogOverlayImplProps {
|
||||
/**
|
||||
* Used to force mounting when more control is needed. Useful when
|
||||
* controlling animation with React animation libraries.
|
||||
*/
|
||||
forceMount?: true;
|
||||
}
|
||||
declare const DialogOverlay: React.ForwardRefExoticComponent<DialogOverlayProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;
|
||||
interface DialogOverlayImplProps extends PrimitiveDivProps {
|
||||
}
|
||||
interface DialogContentProps extends DialogContentTypeProps {
|
||||
/**
|
||||
* Used to force mounting when more control is needed. Useful when
|
||||
* controlling animation with React animation libraries.
|
||||
*/
|
||||
forceMount?: true;
|
||||
}
|
||||
declare const DialogContent: React.ForwardRefExoticComponent<DialogContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
interface DialogContentTypeProps extends Omit<DialogContentImplProps, 'trapFocus' | 'disableOutsidePointerEvents'> {
|
||||
}
|
||||
type DismissableLayerProps = React.ComponentPropsWithoutRef<typeof DismissableLayer>;
|
||||
type FocusScopeProps = React.ComponentPropsWithoutRef<typeof FocusScope>;
|
||||
interface DialogContentImplProps extends Omit<DismissableLayerProps, 'onDismiss'> {
|
||||
/**
|
||||
* When `true`, focus cannot escape the `Content` via keyboard,
|
||||
* pointer, or a programmatic focus.
|
||||
* @defaultValue false
|
||||
*/
|
||||
trapFocus?: FocusScopeProps['trapped'];
|
||||
/**
|
||||
* Event handler called when auto-focusing on open.
|
||||
* Can be prevented.
|
||||
*/
|
||||
onOpenAutoFocus?: FocusScopeProps['onMountAutoFocus'];
|
||||
/**
|
||||
* Event handler called when auto-focusing on close.
|
||||
* Can be prevented.
|
||||
*/
|
||||
onCloseAutoFocus?: FocusScopeProps['onUnmountAutoFocus'];
|
||||
}
|
||||
type PrimitiveHeading2Props = React.ComponentPropsWithoutRef<typeof Primitive.h2>;
|
||||
interface DialogTitleProps extends PrimitiveHeading2Props {
|
||||
}
|
||||
declare const DialogTitle: React.ForwardRefExoticComponent<DialogTitleProps & React.RefAttributes<HTMLHeadingElement>>;
|
||||
type PrimitiveParagraphProps = React.ComponentPropsWithoutRef<typeof Primitive.p>;
|
||||
interface DialogDescriptionProps extends PrimitiveParagraphProps {
|
||||
}
|
||||
declare const DialogDescription: React.ForwardRefExoticComponent<DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
|
||||
interface DialogCloseProps extends PrimitiveButtonProps {
|
||||
}
|
||||
declare const DialogClose: React.ForwardRefExoticComponent<DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
declare const WarningProvider: React.FC<{
|
||||
contentName: string;
|
||||
titleName: string;
|
||||
docsSlug: string;
|
||||
} & {
|
||||
children: React.ReactNode;
|
||||
}>;
|
||||
declare const Root: React.FC<DialogProps>;
|
||||
declare const Trigger: React.ForwardRefExoticComponent<DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
declare const Portal: React.FC<DialogPortalProps>;
|
||||
declare const Overlay: React.ForwardRefExoticComponent<DialogOverlayProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Content: React.ForwardRefExoticComponent<DialogContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Title: React.ForwardRefExoticComponent<DialogTitleProps & React.RefAttributes<HTMLHeadingElement>>;
|
||||
declare const Description: React.ForwardRefExoticComponent<DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
|
||||
declare const Close: React.ForwardRefExoticComponent<DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
|
||||
export { Close, Content, Description, Dialog, DialogClose, type DialogCloseProps, DialogContent, type DialogContentProps, DialogDescription, type DialogDescriptionProps, DialogOverlay, type DialogOverlayProps, DialogPortal, type DialogPortalProps, type DialogProps, DialogTitle, type DialogTitleProps, DialogTrigger, type DialogTriggerProps, Overlay, Portal, Root, Title, Trigger, WarningProvider, createDialogScope };
|
||||
103
node_modules/@radix-ui/react-dialog/dist/index.d.ts
generated
vendored
Normal file
103
node_modules/@radix-ui/react-dialog/dist/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,103 @@
|
||||
import * as _radix_ui_react_context from '@radix-ui/react-context';
|
||||
import * as React from 'react';
|
||||
import { DismissableLayer } from '@radix-ui/react-dismissable-layer';
|
||||
import { FocusScope } from '@radix-ui/react-focus-scope';
|
||||
import { Portal as Portal$1 } from '@radix-ui/react-portal';
|
||||
import { Primitive } from '@radix-ui/react-primitive';
|
||||
|
||||
declare const createDialogScope: _radix_ui_react_context.CreateScope;
|
||||
interface DialogProps {
|
||||
children?: React.ReactNode;
|
||||
open?: boolean;
|
||||
defaultOpen?: boolean;
|
||||
onOpenChange?(open: boolean): void;
|
||||
modal?: boolean;
|
||||
}
|
||||
declare const Dialog: React.FC<DialogProps>;
|
||||
type PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;
|
||||
interface DialogTriggerProps extends PrimitiveButtonProps {
|
||||
}
|
||||
declare const DialogTrigger: React.ForwardRefExoticComponent<DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
type PortalProps = React.ComponentPropsWithoutRef<typeof Portal$1>;
|
||||
interface DialogPortalProps {
|
||||
children?: React.ReactNode;
|
||||
/**
|
||||
* Specify a container element to portal the content into.
|
||||
*/
|
||||
container?: PortalProps['container'];
|
||||
/**
|
||||
* Used to force mounting when more control is needed. Useful when
|
||||
* controlling animation with React animation libraries.
|
||||
*/
|
||||
forceMount?: true;
|
||||
}
|
||||
declare const DialogPortal: React.FC<DialogPortalProps>;
|
||||
interface DialogOverlayProps extends DialogOverlayImplProps {
|
||||
/**
|
||||
* Used to force mounting when more control is needed. Useful when
|
||||
* controlling animation with React animation libraries.
|
||||
*/
|
||||
forceMount?: true;
|
||||
}
|
||||
declare const DialogOverlay: React.ForwardRefExoticComponent<DialogOverlayProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;
|
||||
interface DialogOverlayImplProps extends PrimitiveDivProps {
|
||||
}
|
||||
interface DialogContentProps extends DialogContentTypeProps {
|
||||
/**
|
||||
* Used to force mounting when more control is needed. Useful when
|
||||
* controlling animation with React animation libraries.
|
||||
*/
|
||||
forceMount?: true;
|
||||
}
|
||||
declare const DialogContent: React.ForwardRefExoticComponent<DialogContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
interface DialogContentTypeProps extends Omit<DialogContentImplProps, 'trapFocus' | 'disableOutsidePointerEvents'> {
|
||||
}
|
||||
type DismissableLayerProps = React.ComponentPropsWithoutRef<typeof DismissableLayer>;
|
||||
type FocusScopeProps = React.ComponentPropsWithoutRef<typeof FocusScope>;
|
||||
interface DialogContentImplProps extends Omit<DismissableLayerProps, 'onDismiss'> {
|
||||
/**
|
||||
* When `true`, focus cannot escape the `Content` via keyboard,
|
||||
* pointer, or a programmatic focus.
|
||||
* @defaultValue false
|
||||
*/
|
||||
trapFocus?: FocusScopeProps['trapped'];
|
||||
/**
|
||||
* Event handler called when auto-focusing on open.
|
||||
* Can be prevented.
|
||||
*/
|
||||
onOpenAutoFocus?: FocusScopeProps['onMountAutoFocus'];
|
||||
/**
|
||||
* Event handler called when auto-focusing on close.
|
||||
* Can be prevented.
|
||||
*/
|
||||
onCloseAutoFocus?: FocusScopeProps['onUnmountAutoFocus'];
|
||||
}
|
||||
type PrimitiveHeading2Props = React.ComponentPropsWithoutRef<typeof Primitive.h2>;
|
||||
interface DialogTitleProps extends PrimitiveHeading2Props {
|
||||
}
|
||||
declare const DialogTitle: React.ForwardRefExoticComponent<DialogTitleProps & React.RefAttributes<HTMLHeadingElement>>;
|
||||
type PrimitiveParagraphProps = React.ComponentPropsWithoutRef<typeof Primitive.p>;
|
||||
interface DialogDescriptionProps extends PrimitiveParagraphProps {
|
||||
}
|
||||
declare const DialogDescription: React.ForwardRefExoticComponent<DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
|
||||
interface DialogCloseProps extends PrimitiveButtonProps {
|
||||
}
|
||||
declare const DialogClose: React.ForwardRefExoticComponent<DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
declare const WarningProvider: React.FC<{
|
||||
contentName: string;
|
||||
titleName: string;
|
||||
docsSlug: string;
|
||||
} & {
|
||||
children: React.ReactNode;
|
||||
}>;
|
||||
declare const Root: React.FC<DialogProps>;
|
||||
declare const Trigger: React.ForwardRefExoticComponent<DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
declare const Portal: React.FC<DialogPortalProps>;
|
||||
declare const Overlay: React.ForwardRefExoticComponent<DialogOverlayProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Content: React.ForwardRefExoticComponent<DialogContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Title: React.ForwardRefExoticComponent<DialogTitleProps & React.RefAttributes<HTMLHeadingElement>>;
|
||||
declare const Description: React.ForwardRefExoticComponent<DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
|
||||
declare const Close: React.ForwardRefExoticComponent<DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
|
||||
export { Close, Content, Description, Dialog, DialogClose, type DialogCloseProps, DialogContent, type DialogContentProps, DialogDescription, type DialogDescriptionProps, DialogOverlay, type DialogOverlayProps, DialogPortal, type DialogPortalProps, type DialogProps, DialogTitle, type DialogTitleProps, DialogTrigger, type DialogTriggerProps, Overlay, Portal, Root, Title, Trigger, WarningProvider, createDialogScope };
|
||||
374
node_modules/@radix-ui/react-dialog/dist/index.js
generated
vendored
Normal file
374
node_modules/@radix-ui/react-dialog/dist/index.js
generated
vendored
Normal file
@@ -0,0 +1,374 @@
|
||||
"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, {
|
||||
Close: () => Close,
|
||||
Content: () => Content,
|
||||
Description: () => Description,
|
||||
Dialog: () => Dialog,
|
||||
DialogClose: () => DialogClose,
|
||||
DialogContent: () => DialogContent,
|
||||
DialogDescription: () => DialogDescription,
|
||||
DialogOverlay: () => DialogOverlay,
|
||||
DialogPortal: () => DialogPortal,
|
||||
DialogTitle: () => DialogTitle,
|
||||
DialogTrigger: () => DialogTrigger,
|
||||
Overlay: () => Overlay,
|
||||
Portal: () => Portal,
|
||||
Root: () => Root,
|
||||
Title: () => Title,
|
||||
Trigger: () => Trigger,
|
||||
WarningProvider: () => WarningProvider,
|
||||
createDialogScope: () => createDialogScope
|
||||
});
|
||||
module.exports = __toCommonJS(index_exports);
|
||||
|
||||
// src/dialog.tsx
|
||||
var React = __toESM(require("react"));
|
||||
var import_primitive = require("@radix-ui/primitive");
|
||||
var import_react_compose_refs = require("@radix-ui/react-compose-refs");
|
||||
var import_react_context = require("@radix-ui/react-context");
|
||||
var import_react_id = require("@radix-ui/react-id");
|
||||
var import_react_use_controllable_state = require("@radix-ui/react-use-controllable-state");
|
||||
var import_react_dismissable_layer = require("@radix-ui/react-dismissable-layer");
|
||||
var import_react_focus_scope = require("@radix-ui/react-focus-scope");
|
||||
var import_react_portal = require("@radix-ui/react-portal");
|
||||
var import_react_presence = require("@radix-ui/react-presence");
|
||||
var import_react_primitive = require("@radix-ui/react-primitive");
|
||||
var import_react_focus_guards = require("@radix-ui/react-focus-guards");
|
||||
var import_react_remove_scroll = require("react-remove-scroll");
|
||||
var import_aria_hidden = require("aria-hidden");
|
||||
var import_react_slot = require("@radix-ui/react-slot");
|
||||
var import_jsx_runtime = require("react/jsx-runtime");
|
||||
var DIALOG_NAME = "Dialog";
|
||||
var [createDialogContext, createDialogScope] = (0, import_react_context.createContextScope)(DIALOG_NAME);
|
||||
var [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);
|
||||
var Dialog = (props) => {
|
||||
const {
|
||||
__scopeDialog,
|
||||
children,
|
||||
open: openProp,
|
||||
defaultOpen,
|
||||
onOpenChange,
|
||||
modal = true
|
||||
} = props;
|
||||
const triggerRef = React.useRef(null);
|
||||
const contentRef = React.useRef(null);
|
||||
const [open, setOpen] = (0, import_react_use_controllable_state.useControllableState)({
|
||||
prop: openProp,
|
||||
defaultProp: defaultOpen ?? false,
|
||||
onChange: onOpenChange,
|
||||
caller: DIALOG_NAME
|
||||
});
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
DialogProvider,
|
||||
{
|
||||
scope: __scopeDialog,
|
||||
triggerRef,
|
||||
contentRef,
|
||||
contentId: (0, import_react_id.useId)(),
|
||||
titleId: (0, import_react_id.useId)(),
|
||||
descriptionId: (0, import_react_id.useId)(),
|
||||
open,
|
||||
onOpenChange: setOpen,
|
||||
onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
|
||||
modal,
|
||||
children
|
||||
}
|
||||
);
|
||||
};
|
||||
Dialog.displayName = DIALOG_NAME;
|
||||
var TRIGGER_NAME = "DialogTrigger";
|
||||
var DialogTrigger = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeDialog, ...triggerProps } = props;
|
||||
const context = useDialogContext(TRIGGER_NAME, __scopeDialog);
|
||||
const composedTriggerRef = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, context.triggerRef);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
import_react_primitive.Primitive.button,
|
||||
{
|
||||
type: "button",
|
||||
"aria-haspopup": "dialog",
|
||||
"aria-expanded": context.open,
|
||||
"aria-controls": context.contentId,
|
||||
"data-state": getState(context.open),
|
||||
...triggerProps,
|
||||
ref: composedTriggerRef,
|
||||
onClick: (0, import_primitive.composeEventHandlers)(props.onClick, context.onOpenToggle)
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
DialogTrigger.displayName = TRIGGER_NAME;
|
||||
var PORTAL_NAME = "DialogPortal";
|
||||
var [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {
|
||||
forceMount: void 0
|
||||
});
|
||||
var DialogPortal = (props) => {
|
||||
const { __scopeDialog, forceMount, children, container } = props;
|
||||
const context = useDialogContext(PORTAL_NAME, __scopeDialog);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalProvider, { scope: __scopeDialog, forceMount, children: React.Children.map(children, (child) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_presence.Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_portal.Portal, { asChild: true, container, children: child }) })) });
|
||||
};
|
||||
DialogPortal.displayName = PORTAL_NAME;
|
||||
var OVERLAY_NAME = "DialogOverlay";
|
||||
var DialogOverlay = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);
|
||||
const { forceMount = portalContext.forceMount, ...overlayProps } = props;
|
||||
const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);
|
||||
return context.modal ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_presence.Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;
|
||||
}
|
||||
);
|
||||
DialogOverlay.displayName = OVERLAY_NAME;
|
||||
var Slot = (0, import_react_slot.createSlot)("DialogOverlay.RemoveScroll");
|
||||
var DialogOverlayImpl = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeDialog, ...overlayProps } = props;
|
||||
const context = useDialogContext(OVERLAY_NAME, __scopeDialog);
|
||||
return (
|
||||
// Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
|
||||
// ie. when `Overlay` and `Content` are siblings
|
||||
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_remove_scroll.RemoveScroll, { as: Slot, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
import_react_primitive.Primitive.div,
|
||||
{
|
||||
"data-state": getState(context.open),
|
||||
...overlayProps,
|
||||
ref: forwardedRef,
|
||||
style: { pointerEvents: "auto", ...overlayProps.style }
|
||||
}
|
||||
) })
|
||||
);
|
||||
}
|
||||
);
|
||||
var CONTENT_NAME = "DialogContent";
|
||||
var DialogContent = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);
|
||||
const { forceMount = portalContext.forceMount, ...contentProps } = props;
|
||||
const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_presence.Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });
|
||||
}
|
||||
);
|
||||
DialogContent.displayName = CONTENT_NAME;
|
||||
var DialogContentModal = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);
|
||||
const contentRef = React.useRef(null);
|
||||
const composedRefs = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, context.contentRef, contentRef);
|
||||
React.useEffect(() => {
|
||||
const content = contentRef.current;
|
||||
if (content) return (0, import_aria_hidden.hideOthers)(content);
|
||||
}, []);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
DialogContentImpl,
|
||||
{
|
||||
...props,
|
||||
ref: composedRefs,
|
||||
trapFocus: context.open,
|
||||
disableOutsidePointerEvents: true,
|
||||
onCloseAutoFocus: (0, import_primitive.composeEventHandlers)(props.onCloseAutoFocus, (event) => {
|
||||
event.preventDefault();
|
||||
context.triggerRef.current?.focus();
|
||||
}),
|
||||
onPointerDownOutside: (0, import_primitive.composeEventHandlers)(props.onPointerDownOutside, (event) => {
|
||||
const originalEvent = event.detail.originalEvent;
|
||||
const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
|
||||
const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
|
||||
if (isRightClick) event.preventDefault();
|
||||
}),
|
||||
onFocusOutside: (0, import_primitive.composeEventHandlers)(
|
||||
props.onFocusOutside,
|
||||
(event) => event.preventDefault()
|
||||
)
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
var DialogContentNonModal = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);
|
||||
const hasInteractedOutsideRef = React.useRef(false);
|
||||
const hasPointerDownOutsideRef = React.useRef(false);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
DialogContentImpl,
|
||||
{
|
||||
...props,
|
||||
ref: forwardedRef,
|
||||
trapFocus: false,
|
||||
disableOutsidePointerEvents: false,
|
||||
onCloseAutoFocus: (event) => {
|
||||
props.onCloseAutoFocus?.(event);
|
||||
if (!event.defaultPrevented) {
|
||||
if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();
|
||||
event.preventDefault();
|
||||
}
|
||||
hasInteractedOutsideRef.current = false;
|
||||
hasPointerDownOutsideRef.current = false;
|
||||
},
|
||||
onInteractOutside: (event) => {
|
||||
props.onInteractOutside?.(event);
|
||||
if (!event.defaultPrevented) {
|
||||
hasInteractedOutsideRef.current = true;
|
||||
if (event.detail.originalEvent.type === "pointerdown") {
|
||||
hasPointerDownOutsideRef.current = true;
|
||||
}
|
||||
}
|
||||
const target = event.target;
|
||||
const targetIsTrigger = context.triggerRef.current?.contains(target);
|
||||
if (targetIsTrigger) event.preventDefault();
|
||||
if (event.detail.originalEvent.type === "focusin" && hasPointerDownOutsideRef.current) {
|
||||
event.preventDefault();
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
var DialogContentImpl = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;
|
||||
const context = useDialogContext(CONTENT_NAME, __scopeDialog);
|
||||
const contentRef = React.useRef(null);
|
||||
const composedRefs = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, contentRef);
|
||||
(0, import_react_focus_guards.useFocusGuards)();
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
||||
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
import_react_focus_scope.FocusScope,
|
||||
{
|
||||
asChild: true,
|
||||
loop: true,
|
||||
trapped: trapFocus,
|
||||
onMountAutoFocus: onOpenAutoFocus,
|
||||
onUnmountAutoFocus: onCloseAutoFocus,
|
||||
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
import_react_dismissable_layer.DismissableLayer,
|
||||
{
|
||||
role: "dialog",
|
||||
id: context.contentId,
|
||||
"aria-describedby": context.descriptionId,
|
||||
"aria-labelledby": context.titleId,
|
||||
"data-state": getState(context.open),
|
||||
...contentProps,
|
||||
ref: composedRefs,
|
||||
onDismiss: () => context.onOpenChange(false)
|
||||
}
|
||||
)
|
||||
}
|
||||
),
|
||||
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
||||
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(TitleWarning, { titleId: context.titleId }),
|
||||
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })
|
||||
] })
|
||||
] });
|
||||
}
|
||||
);
|
||||
var TITLE_NAME = "DialogTitle";
|
||||
var DialogTitle = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeDialog, ...titleProps } = props;
|
||||
const context = useDialogContext(TITLE_NAME, __scopeDialog);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_primitive.Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });
|
||||
}
|
||||
);
|
||||
DialogTitle.displayName = TITLE_NAME;
|
||||
var DESCRIPTION_NAME = "DialogDescription";
|
||||
var DialogDescription = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeDialog, ...descriptionProps } = props;
|
||||
const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_primitive.Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });
|
||||
}
|
||||
);
|
||||
DialogDescription.displayName = DESCRIPTION_NAME;
|
||||
var CLOSE_NAME = "DialogClose";
|
||||
var DialogClose = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeDialog, ...closeProps } = props;
|
||||
const context = useDialogContext(CLOSE_NAME, __scopeDialog);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
import_react_primitive.Primitive.button,
|
||||
{
|
||||
type: "button",
|
||||
...closeProps,
|
||||
ref: forwardedRef,
|
||||
onClick: (0, import_primitive.composeEventHandlers)(props.onClick, () => context.onOpenChange(false))
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
DialogClose.displayName = CLOSE_NAME;
|
||||
function getState(open) {
|
||||
return open ? "open" : "closed";
|
||||
}
|
||||
var TITLE_WARNING_NAME = "DialogTitleWarning";
|
||||
var [WarningProvider, useWarningContext] = (0, import_react_context.createContext)(TITLE_WARNING_NAME, {
|
||||
contentName: CONTENT_NAME,
|
||||
titleName: TITLE_NAME,
|
||||
docsSlug: "dialog"
|
||||
});
|
||||
var TitleWarning = ({ titleId }) => {
|
||||
const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);
|
||||
const MESSAGE = `\`${titleWarningContext.contentName}\` requires a \`${titleWarningContext.titleName}\` for the component to be accessible for screen reader users.
|
||||
|
||||
If you want to hide the \`${titleWarningContext.titleName}\`, you can wrap it with our VisuallyHidden component.
|
||||
|
||||
For more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;
|
||||
React.useEffect(() => {
|
||||
if (titleId) {
|
||||
const hasTitle = document.getElementById(titleId);
|
||||
if (!hasTitle) console.error(MESSAGE);
|
||||
}
|
||||
}, [MESSAGE, titleId]);
|
||||
return null;
|
||||
};
|
||||
var DESCRIPTION_WARNING_NAME = "DialogDescriptionWarning";
|
||||
var DescriptionWarning = ({ contentRef, descriptionId }) => {
|
||||
const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);
|
||||
const MESSAGE = `Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${descriptionWarningContext.contentName}}.`;
|
||||
React.useEffect(() => {
|
||||
const describedById = contentRef.current?.getAttribute("aria-describedby");
|
||||
if (descriptionId && describedById) {
|
||||
const hasDescription = document.getElementById(descriptionId);
|
||||
if (!hasDescription) console.warn(MESSAGE);
|
||||
}
|
||||
}, [MESSAGE, contentRef, descriptionId]);
|
||||
return null;
|
||||
};
|
||||
var Root = Dialog;
|
||||
var Trigger = DialogTrigger;
|
||||
var Portal = DialogPortal;
|
||||
var Overlay = DialogOverlay;
|
||||
var Content = DialogContent;
|
||||
var Title = DialogTitle;
|
||||
var Description = DialogDescription;
|
||||
var Close = DialogClose;
|
||||
//# sourceMappingURL=index.js.map
|
||||
7
node_modules/@radix-ui/react-dialog/dist/index.js.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-dialog/dist/index.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
342
node_modules/@radix-ui/react-dialog/dist/index.mjs
generated
vendored
Normal file
342
node_modules/@radix-ui/react-dialog/dist/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,342 @@
|
||||
"use client";
|
||||
|
||||
// src/dialog.tsx
|
||||
import * as React from "react";
|
||||
import { composeEventHandlers } from "@radix-ui/primitive";
|
||||
import { useComposedRefs } from "@radix-ui/react-compose-refs";
|
||||
import { createContext, createContextScope } from "@radix-ui/react-context";
|
||||
import { useId } from "@radix-ui/react-id";
|
||||
import { useControllableState } from "@radix-ui/react-use-controllable-state";
|
||||
import { DismissableLayer } from "@radix-ui/react-dismissable-layer";
|
||||
import { FocusScope } from "@radix-ui/react-focus-scope";
|
||||
import { Portal as PortalPrimitive } from "@radix-ui/react-portal";
|
||||
import { Presence } from "@radix-ui/react-presence";
|
||||
import { Primitive } from "@radix-ui/react-primitive";
|
||||
import { useFocusGuards } from "@radix-ui/react-focus-guards";
|
||||
import { RemoveScroll } from "react-remove-scroll";
|
||||
import { hideOthers } from "aria-hidden";
|
||||
import { createSlot } from "@radix-ui/react-slot";
|
||||
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
||||
var DIALOG_NAME = "Dialog";
|
||||
var [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);
|
||||
var [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);
|
||||
var Dialog = (props) => {
|
||||
const {
|
||||
__scopeDialog,
|
||||
children,
|
||||
open: openProp,
|
||||
defaultOpen,
|
||||
onOpenChange,
|
||||
modal = true
|
||||
} = props;
|
||||
const triggerRef = React.useRef(null);
|
||||
const contentRef = React.useRef(null);
|
||||
const [open, setOpen] = useControllableState({
|
||||
prop: openProp,
|
||||
defaultProp: defaultOpen ?? false,
|
||||
onChange: onOpenChange,
|
||||
caller: DIALOG_NAME
|
||||
});
|
||||
return /* @__PURE__ */ jsx(
|
||||
DialogProvider,
|
||||
{
|
||||
scope: __scopeDialog,
|
||||
triggerRef,
|
||||
contentRef,
|
||||
contentId: useId(),
|
||||
titleId: useId(),
|
||||
descriptionId: useId(),
|
||||
open,
|
||||
onOpenChange: setOpen,
|
||||
onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
|
||||
modal,
|
||||
children
|
||||
}
|
||||
);
|
||||
};
|
||||
Dialog.displayName = DIALOG_NAME;
|
||||
var TRIGGER_NAME = "DialogTrigger";
|
||||
var DialogTrigger = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeDialog, ...triggerProps } = props;
|
||||
const context = useDialogContext(TRIGGER_NAME, __scopeDialog);
|
||||
const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);
|
||||
return /* @__PURE__ */ jsx(
|
||||
Primitive.button,
|
||||
{
|
||||
type: "button",
|
||||
"aria-haspopup": "dialog",
|
||||
"aria-expanded": context.open,
|
||||
"aria-controls": context.contentId,
|
||||
"data-state": getState(context.open),
|
||||
...triggerProps,
|
||||
ref: composedTriggerRef,
|
||||
onClick: composeEventHandlers(props.onClick, context.onOpenToggle)
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
DialogTrigger.displayName = TRIGGER_NAME;
|
||||
var PORTAL_NAME = "DialogPortal";
|
||||
var [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {
|
||||
forceMount: void 0
|
||||
});
|
||||
var DialogPortal = (props) => {
|
||||
const { __scopeDialog, forceMount, children, container } = props;
|
||||
const context = useDialogContext(PORTAL_NAME, __scopeDialog);
|
||||
return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeDialog, forceMount, children: React.Children.map(children, (child) => /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children: child }) })) });
|
||||
};
|
||||
DialogPortal.displayName = PORTAL_NAME;
|
||||
var OVERLAY_NAME = "DialogOverlay";
|
||||
var DialogOverlay = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);
|
||||
const { forceMount = portalContext.forceMount, ...overlayProps } = props;
|
||||
const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);
|
||||
return context.modal ? /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;
|
||||
}
|
||||
);
|
||||
DialogOverlay.displayName = OVERLAY_NAME;
|
||||
var Slot = createSlot("DialogOverlay.RemoveScroll");
|
||||
var DialogOverlayImpl = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeDialog, ...overlayProps } = props;
|
||||
const context = useDialogContext(OVERLAY_NAME, __scopeDialog);
|
||||
return (
|
||||
// Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
|
||||
// ie. when `Overlay` and `Content` are siblings
|
||||
/* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsx(
|
||||
Primitive.div,
|
||||
{
|
||||
"data-state": getState(context.open),
|
||||
...overlayProps,
|
||||
ref: forwardedRef,
|
||||
style: { pointerEvents: "auto", ...overlayProps.style }
|
||||
}
|
||||
) })
|
||||
);
|
||||
}
|
||||
);
|
||||
var CONTENT_NAME = "DialogContent";
|
||||
var DialogContent = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);
|
||||
const { forceMount = portalContext.forceMount, ...contentProps } = props;
|
||||
const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);
|
||||
return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });
|
||||
}
|
||||
);
|
||||
DialogContent.displayName = CONTENT_NAME;
|
||||
var DialogContentModal = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);
|
||||
const contentRef = React.useRef(null);
|
||||
const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);
|
||||
React.useEffect(() => {
|
||||
const content = contentRef.current;
|
||||
if (content) return hideOthers(content);
|
||||
}, []);
|
||||
return /* @__PURE__ */ jsx(
|
||||
DialogContentImpl,
|
||||
{
|
||||
...props,
|
||||
ref: composedRefs,
|
||||
trapFocus: context.open,
|
||||
disableOutsidePointerEvents: true,
|
||||
onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {
|
||||
event.preventDefault();
|
||||
context.triggerRef.current?.focus();
|
||||
}),
|
||||
onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {
|
||||
const originalEvent = event.detail.originalEvent;
|
||||
const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
|
||||
const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
|
||||
if (isRightClick) event.preventDefault();
|
||||
}),
|
||||
onFocusOutside: composeEventHandlers(
|
||||
props.onFocusOutside,
|
||||
(event) => event.preventDefault()
|
||||
)
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
var DialogContentNonModal = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);
|
||||
const hasInteractedOutsideRef = React.useRef(false);
|
||||
const hasPointerDownOutsideRef = React.useRef(false);
|
||||
return /* @__PURE__ */ jsx(
|
||||
DialogContentImpl,
|
||||
{
|
||||
...props,
|
||||
ref: forwardedRef,
|
||||
trapFocus: false,
|
||||
disableOutsidePointerEvents: false,
|
||||
onCloseAutoFocus: (event) => {
|
||||
props.onCloseAutoFocus?.(event);
|
||||
if (!event.defaultPrevented) {
|
||||
if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();
|
||||
event.preventDefault();
|
||||
}
|
||||
hasInteractedOutsideRef.current = false;
|
||||
hasPointerDownOutsideRef.current = false;
|
||||
},
|
||||
onInteractOutside: (event) => {
|
||||
props.onInteractOutside?.(event);
|
||||
if (!event.defaultPrevented) {
|
||||
hasInteractedOutsideRef.current = true;
|
||||
if (event.detail.originalEvent.type === "pointerdown") {
|
||||
hasPointerDownOutsideRef.current = true;
|
||||
}
|
||||
}
|
||||
const target = event.target;
|
||||
const targetIsTrigger = context.triggerRef.current?.contains(target);
|
||||
if (targetIsTrigger) event.preventDefault();
|
||||
if (event.detail.originalEvent.type === "focusin" && hasPointerDownOutsideRef.current) {
|
||||
event.preventDefault();
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
var DialogContentImpl = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;
|
||||
const context = useDialogContext(CONTENT_NAME, __scopeDialog);
|
||||
const contentRef = React.useRef(null);
|
||||
const composedRefs = useComposedRefs(forwardedRef, contentRef);
|
||||
useFocusGuards();
|
||||
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
||||
/* @__PURE__ */ jsx(
|
||||
FocusScope,
|
||||
{
|
||||
asChild: true,
|
||||
loop: true,
|
||||
trapped: trapFocus,
|
||||
onMountAutoFocus: onOpenAutoFocus,
|
||||
onUnmountAutoFocus: onCloseAutoFocus,
|
||||
children: /* @__PURE__ */ jsx(
|
||||
DismissableLayer,
|
||||
{
|
||||
role: "dialog",
|
||||
id: context.contentId,
|
||||
"aria-describedby": context.descriptionId,
|
||||
"aria-labelledby": context.titleId,
|
||||
"data-state": getState(context.open),
|
||||
...contentProps,
|
||||
ref: composedRefs,
|
||||
onDismiss: () => context.onOpenChange(false)
|
||||
}
|
||||
)
|
||||
}
|
||||
),
|
||||
/* @__PURE__ */ jsxs(Fragment, { children: [
|
||||
/* @__PURE__ */ jsx(TitleWarning, { titleId: context.titleId }),
|
||||
/* @__PURE__ */ jsx(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })
|
||||
] })
|
||||
] });
|
||||
}
|
||||
);
|
||||
var TITLE_NAME = "DialogTitle";
|
||||
var DialogTitle = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeDialog, ...titleProps } = props;
|
||||
const context = useDialogContext(TITLE_NAME, __scopeDialog);
|
||||
return /* @__PURE__ */ jsx(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });
|
||||
}
|
||||
);
|
||||
DialogTitle.displayName = TITLE_NAME;
|
||||
var DESCRIPTION_NAME = "DialogDescription";
|
||||
var DialogDescription = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeDialog, ...descriptionProps } = props;
|
||||
const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);
|
||||
return /* @__PURE__ */ jsx(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });
|
||||
}
|
||||
);
|
||||
DialogDescription.displayName = DESCRIPTION_NAME;
|
||||
var CLOSE_NAME = "DialogClose";
|
||||
var DialogClose = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeDialog, ...closeProps } = props;
|
||||
const context = useDialogContext(CLOSE_NAME, __scopeDialog);
|
||||
return /* @__PURE__ */ jsx(
|
||||
Primitive.button,
|
||||
{
|
||||
type: "button",
|
||||
...closeProps,
|
||||
ref: forwardedRef,
|
||||
onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
DialogClose.displayName = CLOSE_NAME;
|
||||
function getState(open) {
|
||||
return open ? "open" : "closed";
|
||||
}
|
||||
var TITLE_WARNING_NAME = "DialogTitleWarning";
|
||||
var [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {
|
||||
contentName: CONTENT_NAME,
|
||||
titleName: TITLE_NAME,
|
||||
docsSlug: "dialog"
|
||||
});
|
||||
var TitleWarning = ({ titleId }) => {
|
||||
const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);
|
||||
const MESSAGE = `\`${titleWarningContext.contentName}\` requires a \`${titleWarningContext.titleName}\` for the component to be accessible for screen reader users.
|
||||
|
||||
If you want to hide the \`${titleWarningContext.titleName}\`, you can wrap it with our VisuallyHidden component.
|
||||
|
||||
For more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;
|
||||
React.useEffect(() => {
|
||||
if (titleId) {
|
||||
const hasTitle = document.getElementById(titleId);
|
||||
if (!hasTitle) console.error(MESSAGE);
|
||||
}
|
||||
}, [MESSAGE, titleId]);
|
||||
return null;
|
||||
};
|
||||
var DESCRIPTION_WARNING_NAME = "DialogDescriptionWarning";
|
||||
var DescriptionWarning = ({ contentRef, descriptionId }) => {
|
||||
const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);
|
||||
const MESSAGE = `Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${descriptionWarningContext.contentName}}.`;
|
||||
React.useEffect(() => {
|
||||
const describedById = contentRef.current?.getAttribute("aria-describedby");
|
||||
if (descriptionId && describedById) {
|
||||
const hasDescription = document.getElementById(descriptionId);
|
||||
if (!hasDescription) console.warn(MESSAGE);
|
||||
}
|
||||
}, [MESSAGE, contentRef, descriptionId]);
|
||||
return null;
|
||||
};
|
||||
var Root = Dialog;
|
||||
var Trigger = DialogTrigger;
|
||||
var Portal = DialogPortal;
|
||||
var Overlay = DialogOverlay;
|
||||
var Content = DialogContent;
|
||||
var Title = DialogTitle;
|
||||
var Description = DialogDescription;
|
||||
var Close = DialogClose;
|
||||
export {
|
||||
Close,
|
||||
Content,
|
||||
Description,
|
||||
Dialog,
|
||||
DialogClose,
|
||||
DialogContent,
|
||||
DialogDescription,
|
||||
DialogOverlay,
|
||||
DialogPortal,
|
||||
DialogTitle,
|
||||
DialogTrigger,
|
||||
Overlay,
|
||||
Portal,
|
||||
Root,
|
||||
Title,
|
||||
Trigger,
|
||||
WarningProvider,
|
||||
createDialogScope
|
||||
};
|
||||
//# sourceMappingURL=index.mjs.map
|
||||
7
node_modules/@radix-ui/react-dialog/dist/index.mjs.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-dialog/dist/index.mjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
21
node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/LICENSE
generated
vendored
Normal file
21
node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/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-dialog/node_modules/@radix-ui/react-slot/README.md
generated
vendored
Normal file
3
node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/README.md
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# `react-slot`
|
||||
|
||||
View docs [here](https://radix-ui.com/primitives/docs/utilities/slot).
|
||||
17
node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/dist/index.d.mts
generated
vendored
Normal file
17
node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/dist/index.d.mts
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
import * as React from 'react';
|
||||
|
||||
interface SlotProps extends React.HTMLAttributes<HTMLElement> {
|
||||
children?: React.ReactNode;
|
||||
}
|
||||
declare function createSlot(ownerName: string): React.ForwardRefExoticComponent<SlotProps & React.RefAttributes<HTMLElement>>;
|
||||
declare const Slot: React.ForwardRefExoticComponent<SlotProps & React.RefAttributes<HTMLElement>>;
|
||||
interface SlottableProps {
|
||||
children: React.ReactNode;
|
||||
}
|
||||
interface SlottableComponent extends React.FC<SlottableProps> {
|
||||
__radixId: symbol;
|
||||
}
|
||||
declare function createSlottable(ownerName: string): SlottableComponent;
|
||||
declare const Slottable: SlottableComponent;
|
||||
|
||||
export { Slot as Root, Slot, type SlotProps, Slottable, createSlot, createSlottable };
|
||||
17
node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/dist/index.d.ts
generated
vendored
Normal file
17
node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/dist/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
import * as React from 'react';
|
||||
|
||||
interface SlotProps extends React.HTMLAttributes<HTMLElement> {
|
||||
children?: React.ReactNode;
|
||||
}
|
||||
declare function createSlot(ownerName: string): React.ForwardRefExoticComponent<SlotProps & React.RefAttributes<HTMLElement>>;
|
||||
declare const Slot: React.ForwardRefExoticComponent<SlotProps & React.RefAttributes<HTMLElement>>;
|
||||
interface SlottableProps {
|
||||
children: React.ReactNode;
|
||||
}
|
||||
interface SlottableComponent extends React.FC<SlottableProps> {
|
||||
__radixId: symbol;
|
||||
}
|
||||
declare function createSlottable(ownerName: string): SlottableComponent;
|
||||
declare const Slottable: SlottableComponent;
|
||||
|
||||
export { Slot as Root, Slot, type SlotProps, Slottable, createSlot, createSlottable };
|
||||
138
node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/dist/index.js
generated
vendored
Normal file
138
node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/dist/index.js
generated
vendored
Normal file
@@ -0,0 +1,138 @@
|
||||
"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, {
|
||||
Root: () => Slot,
|
||||
Slot: () => Slot,
|
||||
Slottable: () => Slottable,
|
||||
createSlot: () => createSlot,
|
||||
createSlottable: () => createSlottable
|
||||
});
|
||||
module.exports = __toCommonJS(index_exports);
|
||||
|
||||
// src/slot.tsx
|
||||
var React = __toESM(require("react"));
|
||||
var import_react_compose_refs = require("@radix-ui/react-compose-refs");
|
||||
var import_jsx_runtime = require("react/jsx-runtime");
|
||||
// @__NO_SIDE_EFFECTS__
|
||||
function createSlot(ownerName) {
|
||||
const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
|
||||
const Slot2 = React.forwardRef((props, forwardedRef) => {
|
||||
const { children, ...slotProps } = props;
|
||||
const childrenArray = React.Children.toArray(children);
|
||||
const slottable = childrenArray.find(isSlottable);
|
||||
if (slottable) {
|
||||
const newElement = slottable.props.children;
|
||||
const newChildren = childrenArray.map((child) => {
|
||||
if (child === slottable) {
|
||||
if (React.Children.count(newElement) > 1) return React.Children.only(null);
|
||||
return React.isValidElement(newElement) ? newElement.props.children : null;
|
||||
} else {
|
||||
return child;
|
||||
}
|
||||
});
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });
|
||||
}
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SlotClone, { ...slotProps, ref: forwardedRef, children });
|
||||
});
|
||||
Slot2.displayName = `${ownerName}.Slot`;
|
||||
return Slot2;
|
||||
}
|
||||
var Slot = /* @__PURE__ */ createSlot("Slot");
|
||||
// @__NO_SIDE_EFFECTS__
|
||||
function createSlotClone(ownerName) {
|
||||
const SlotClone = React.forwardRef((props, forwardedRef) => {
|
||||
const { children, ...slotProps } = props;
|
||||
if (React.isValidElement(children)) {
|
||||
const childrenRef = getElementRef(children);
|
||||
const props2 = mergeProps(slotProps, children.props);
|
||||
if (children.type !== React.Fragment) {
|
||||
props2.ref = forwardedRef ? (0, import_react_compose_refs.composeRefs)(forwardedRef, childrenRef) : childrenRef;
|
||||
}
|
||||
return React.cloneElement(children, props2);
|
||||
}
|
||||
return React.Children.count(children) > 1 ? React.Children.only(null) : null;
|
||||
});
|
||||
SlotClone.displayName = `${ownerName}.SlotClone`;
|
||||
return SlotClone;
|
||||
}
|
||||
var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
|
||||
// @__NO_SIDE_EFFECTS__
|
||||
function createSlottable(ownerName) {
|
||||
const Slottable2 = ({ children }) => {
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
|
||||
};
|
||||
Slottable2.displayName = `${ownerName}.Slottable`;
|
||||
Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
|
||||
return Slottable2;
|
||||
}
|
||||
var Slottable = /* @__PURE__ */ createSlottable("Slottable");
|
||||
function isSlottable(child) {
|
||||
return React.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
|
||||
}
|
||||
function mergeProps(slotProps, childProps) {
|
||||
const overrideProps = { ...childProps };
|
||||
for (const propName in childProps) {
|
||||
const slotPropValue = slotProps[propName];
|
||||
const childPropValue = childProps[propName];
|
||||
const isHandler = /^on[A-Z]/.test(propName);
|
||||
if (isHandler) {
|
||||
if (slotPropValue && childPropValue) {
|
||||
overrideProps[propName] = (...args) => {
|
||||
const result = childPropValue(...args);
|
||||
slotPropValue(...args);
|
||||
return result;
|
||||
};
|
||||
} else if (slotPropValue) {
|
||||
overrideProps[propName] = slotPropValue;
|
||||
}
|
||||
} else if (propName === "style") {
|
||||
overrideProps[propName] = { ...slotPropValue, ...childPropValue };
|
||||
} else if (propName === "className") {
|
||||
overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
|
||||
}
|
||||
}
|
||||
return { ...slotProps, ...overrideProps };
|
||||
}
|
||||
function getElementRef(element) {
|
||||
let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
|
||||
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
||||
if (mayWarn) {
|
||||
return element.ref;
|
||||
}
|
||||
getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
|
||||
mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
||||
if (mayWarn) {
|
||||
return element.props.ref;
|
||||
}
|
||||
return element.props.ref || element.ref;
|
||||
}
|
||||
//# sourceMappingURL=index.js.map
|
||||
7
node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/dist/index.js.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/dist/index.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
105
node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/dist/index.mjs
generated
vendored
Normal file
105
node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/dist/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,105 @@
|
||||
// src/slot.tsx
|
||||
import * as React from "react";
|
||||
import { composeRefs } from "@radix-ui/react-compose-refs";
|
||||
import { Fragment as Fragment2, jsx } from "react/jsx-runtime";
|
||||
// @__NO_SIDE_EFFECTS__
|
||||
function createSlot(ownerName) {
|
||||
const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
|
||||
const Slot2 = React.forwardRef((props, forwardedRef) => {
|
||||
const { children, ...slotProps } = props;
|
||||
const childrenArray = React.Children.toArray(children);
|
||||
const slottable = childrenArray.find(isSlottable);
|
||||
if (slottable) {
|
||||
const newElement = slottable.props.children;
|
||||
const newChildren = childrenArray.map((child) => {
|
||||
if (child === slottable) {
|
||||
if (React.Children.count(newElement) > 1) return React.Children.only(null);
|
||||
return React.isValidElement(newElement) ? newElement.props.children : null;
|
||||
} else {
|
||||
return child;
|
||||
}
|
||||
});
|
||||
return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });
|
||||
}
|
||||
return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });
|
||||
});
|
||||
Slot2.displayName = `${ownerName}.Slot`;
|
||||
return Slot2;
|
||||
}
|
||||
var Slot = /* @__PURE__ */ createSlot("Slot");
|
||||
// @__NO_SIDE_EFFECTS__
|
||||
function createSlotClone(ownerName) {
|
||||
const SlotClone = React.forwardRef((props, forwardedRef) => {
|
||||
const { children, ...slotProps } = props;
|
||||
if (React.isValidElement(children)) {
|
||||
const childrenRef = getElementRef(children);
|
||||
const props2 = mergeProps(slotProps, children.props);
|
||||
if (children.type !== React.Fragment) {
|
||||
props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
|
||||
}
|
||||
return React.cloneElement(children, props2);
|
||||
}
|
||||
return React.Children.count(children) > 1 ? React.Children.only(null) : null;
|
||||
});
|
||||
SlotClone.displayName = `${ownerName}.SlotClone`;
|
||||
return SlotClone;
|
||||
}
|
||||
var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
|
||||
// @__NO_SIDE_EFFECTS__
|
||||
function createSlottable(ownerName) {
|
||||
const Slottable2 = ({ children }) => {
|
||||
return /* @__PURE__ */ jsx(Fragment2, { children });
|
||||
};
|
||||
Slottable2.displayName = `${ownerName}.Slottable`;
|
||||
Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
|
||||
return Slottable2;
|
||||
}
|
||||
var Slottable = /* @__PURE__ */ createSlottable("Slottable");
|
||||
function isSlottable(child) {
|
||||
return React.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
|
||||
}
|
||||
function mergeProps(slotProps, childProps) {
|
||||
const overrideProps = { ...childProps };
|
||||
for (const propName in childProps) {
|
||||
const slotPropValue = slotProps[propName];
|
||||
const childPropValue = childProps[propName];
|
||||
const isHandler = /^on[A-Z]/.test(propName);
|
||||
if (isHandler) {
|
||||
if (slotPropValue && childPropValue) {
|
||||
overrideProps[propName] = (...args) => {
|
||||
const result = childPropValue(...args);
|
||||
slotPropValue(...args);
|
||||
return result;
|
||||
};
|
||||
} else if (slotPropValue) {
|
||||
overrideProps[propName] = slotPropValue;
|
||||
}
|
||||
} else if (propName === "style") {
|
||||
overrideProps[propName] = { ...slotPropValue, ...childPropValue };
|
||||
} else if (propName === "className") {
|
||||
overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
|
||||
}
|
||||
}
|
||||
return { ...slotProps, ...overrideProps };
|
||||
}
|
||||
function getElementRef(element) {
|
||||
let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
|
||||
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
||||
if (mayWarn) {
|
||||
return element.ref;
|
||||
}
|
||||
getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
|
||||
mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
||||
if (mayWarn) {
|
||||
return element.props.ref;
|
||||
}
|
||||
return element.props.ref || element.ref;
|
||||
}
|
||||
export {
|
||||
Slot as Root,
|
||||
Slot,
|
||||
Slottable,
|
||||
createSlot,
|
||||
createSlottable
|
||||
};
|
||||
//# sourceMappingURL=index.mjs.map
|
||||
7
node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/dist/index.mjs.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/dist/index.mjs.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
63
node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/package.json
generated
vendored
Normal file
63
node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/package.json
generated
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
{
|
||||
"name": "@radix-ui/react-slot",
|
||||
"version": "1.2.3",
|
||||
"license": "MIT",
|
||||
"source": "./src/index.ts",
|
||||
"main": "./dist/index.js",
|
||||
"module": "./dist/index.mjs",
|
||||
"files": [
|
||||
"dist",
|
||||
"README.md"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"dependencies": {
|
||||
"@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/eslint-config": "0.0.0",
|
||||
"@repo/typescript-config": "0.0.0",
|
||||
"@repo/builder": "0.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/react": "*",
|
||||
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@types/react": {
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
81
node_modules/@radix-ui/react-dialog/package.json
generated
vendored
Normal file
81
node_modules/@radix-ui/react-dialog/package.json
generated
vendored
Normal file
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"name": "@radix-ui/react-dialog",
|
||||
"version": "1.1.15",
|
||||
"license": "MIT",
|
||||
"source": "./src/index.ts",
|
||||
"main": "./dist/index.js",
|
||||
"module": "./dist/index.mjs",
|
||||
"files": [
|
||||
"dist",
|
||||
"README.md"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"dependencies": {
|
||||
"aria-hidden": "^1.2.4",
|
||||
"react-remove-scroll": "^2.6.3",
|
||||
"@radix-ui/primitive": "1.1.3",
|
||||
"@radix-ui/react-compose-refs": "1.1.2",
|
||||
"@radix-ui/react-dismissable-layer": "1.1.11",
|
||||
"@radix-ui/react-focus-scope": "1.1.7",
|
||||
"@radix-ui/react-id": "1.1.1",
|
||||
"@radix-ui/react-focus-guards": "1.1.3",
|
||||
"@radix-ui/react-context": "1.1.2",
|
||||
"@radix-ui/react-portal": "1.1.9",
|
||||
"@radix-ui/react-presence": "1.1.5",
|
||||
"@radix-ui/react-primitive": "2.1.3",
|
||||
"@radix-ui/react-slot": "1.2.3",
|
||||
"@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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
13
node_modules/@radix-ui/react-direction/README.md
generated
vendored
Normal file
13
node_modules/@radix-ui/react-direction/README.md
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
# `react-direction`
|
||||
|
||||
## Installation
|
||||
|
||||
```sh
|
||||
$ yarn add @radix-ui/react-direction
|
||||
# or
|
||||
$ npm install @radix-ui/react-direction
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
View docs [here](https://radix-ui.com/primitives/docs/utilities/direction).
|
||||
12
node_modules/@radix-ui/react-direction/dist/index.d.mts
generated
vendored
Normal file
12
node_modules/@radix-ui/react-direction/dist/index.d.mts
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
import * as React from 'react';
|
||||
|
||||
type Direction = 'ltr' | 'rtl';
|
||||
interface DirectionProviderProps {
|
||||
children?: React.ReactNode;
|
||||
dir: Direction;
|
||||
}
|
||||
declare const DirectionProvider: React.FC<DirectionProviderProps>;
|
||||
declare function useDirection(localDir?: Direction): Direction;
|
||||
declare const Provider: React.FC<DirectionProviderProps>;
|
||||
|
||||
export { DirectionProvider, Provider, useDirection };
|
||||
12
node_modules/@radix-ui/react-direction/dist/index.d.ts
generated
vendored
Normal file
12
node_modules/@radix-ui/react-direction/dist/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
import * as React from 'react';
|
||||
|
||||
type Direction = 'ltr' | 'rtl';
|
||||
interface DirectionProviderProps {
|
||||
children?: React.ReactNode;
|
||||
dir: Direction;
|
||||
}
|
||||
declare const DirectionProvider: React.FC<DirectionProviderProps>;
|
||||
declare function useDirection(localDir?: Direction): Direction;
|
||||
declare const Provider: React.FC<DirectionProviderProps>;
|
||||
|
||||
export { DirectionProvider, Provider, useDirection };
|
||||
52
node_modules/@radix-ui/react-direction/dist/index.js
generated
vendored
Normal file
52
node_modules/@radix-ui/react-direction/dist/index.js
generated
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
"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);
|
||||
|
||||
// packages/react/direction/src/index.ts
|
||||
var index_exports = {};
|
||||
__export(index_exports, {
|
||||
DirectionProvider: () => DirectionProvider,
|
||||
Provider: () => Provider,
|
||||
useDirection: () => useDirection
|
||||
});
|
||||
module.exports = __toCommonJS(index_exports);
|
||||
|
||||
// packages/react/direction/src/direction.tsx
|
||||
var React = __toESM(require("react"));
|
||||
var import_jsx_runtime = require("react/jsx-runtime");
|
||||
var DirectionContext = React.createContext(void 0);
|
||||
var DirectionProvider = (props) => {
|
||||
const { dir, children } = props;
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DirectionContext.Provider, { value: dir, children });
|
||||
};
|
||||
function useDirection(localDir) {
|
||||
const globalDir = React.useContext(DirectionContext);
|
||||
return localDir || globalDir || "ltr";
|
||||
}
|
||||
var Provider = DirectionProvider;
|
||||
//# sourceMappingURL=index.js.map
|
||||
7
node_modules/@radix-ui/react-direction/dist/index.js.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-direction/dist/index.js.map
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../src/index.ts", "../src/direction.tsx"],
|
||||
"sourcesContent": ["export {\n useDirection,\n //\n Provider,\n //\n DirectionProvider,\n} from './direction';\n", "import * as React from 'react';\n\ntype Direction = 'ltr' | 'rtl';\nconst DirectionContext = React.createContext<Direction | undefined>(undefined);\n\n/* -------------------------------------------------------------------------------------------------\n * Direction\n * -----------------------------------------------------------------------------------------------*/\n\ninterface DirectionProviderProps {\n children?: React.ReactNode;\n dir: Direction;\n}\nconst DirectionProvider: React.FC<DirectionProviderProps> = (props) => {\n const { dir, children } = props;\n return <DirectionContext.Provider value={dir}>{children}</DirectionContext.Provider>;\n};\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction useDirection(localDir?: Direction) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || 'ltr';\n}\n\nconst Provider = DirectionProvider;\n\nexport {\n useDirection,\n //\n Provider,\n //\n DirectionProvider,\n};\n"],
|
||||
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,YAAuB;AAed;AAZT,IAAM,mBAAyB,oBAAqC,MAAS;AAU7E,IAAM,oBAAsD,CAAC,UAAU;AACrE,QAAM,EAAE,KAAK,SAAS,IAAI;AAC1B,SAAO,4CAAC,iBAAiB,UAAjB,EAA0B,OAAO,KAAM,UAAS;AAC1D;AAIA,SAAS,aAAa,UAAsB;AAC1C,QAAM,YAAkB,iBAAW,gBAAgB;AACnD,SAAO,YAAY,aAAa;AAClC;AAEA,IAAM,WAAW;",
|
||||
"names": []
|
||||
}
|
||||
19
node_modules/@radix-ui/react-direction/dist/index.mjs
generated
vendored
Normal file
19
node_modules/@radix-ui/react-direction/dist/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
// packages/react/direction/src/direction.tsx
|
||||
import * as React from "react";
|
||||
import { jsx } from "react/jsx-runtime";
|
||||
var DirectionContext = React.createContext(void 0);
|
||||
var DirectionProvider = (props) => {
|
||||
const { dir, children } = props;
|
||||
return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });
|
||||
};
|
||||
function useDirection(localDir) {
|
||||
const globalDir = React.useContext(DirectionContext);
|
||||
return localDir || globalDir || "ltr";
|
||||
}
|
||||
var Provider = DirectionProvider;
|
||||
export {
|
||||
DirectionProvider,
|
||||
Provider,
|
||||
useDirection
|
||||
};
|
||||
//# sourceMappingURL=index.mjs.map
|
||||
7
node_modules/@radix-ui/react-direction/dist/index.mjs.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-direction/dist/index.mjs.map
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../src/direction.tsx"],
|
||||
"sourcesContent": ["import * as React from 'react';\n\ntype Direction = 'ltr' | 'rtl';\nconst DirectionContext = React.createContext<Direction | undefined>(undefined);\n\n/* -------------------------------------------------------------------------------------------------\n * Direction\n * -----------------------------------------------------------------------------------------------*/\n\ninterface DirectionProviderProps {\n children?: React.ReactNode;\n dir: Direction;\n}\nconst DirectionProvider: React.FC<DirectionProviderProps> = (props) => {\n const { dir, children } = props;\n return <DirectionContext.Provider value={dir}>{children}</DirectionContext.Provider>;\n};\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction useDirection(localDir?: Direction) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || 'ltr';\n}\n\nconst Provider = DirectionProvider;\n\nexport {\n useDirection,\n //\n Provider,\n //\n DirectionProvider,\n};\n"],
|
||||
"mappings": ";AAAA,YAAY,WAAW;AAed;AAZT,IAAM,mBAAyB,oBAAqC,MAAS;AAU7E,IAAM,oBAAsD,CAAC,UAAU;AACrE,QAAM,EAAE,KAAK,SAAS,IAAI;AAC1B,SAAO,oBAAC,iBAAiB,UAAjB,EAA0B,OAAO,KAAM,UAAS;AAC1D;AAIA,SAAS,aAAa,UAAsB;AAC1C,QAAM,YAAkB,iBAAW,gBAAgB;AACnD,SAAO,YAAY,aAAa;AAClC;AAEA,IAAM,WAAW;",
|
||||
"names": []
|
||||
}
|
||||
75
node_modules/@radix-ui/react-direction/package.json
generated
vendored
Normal file
75
node_modules/@radix-ui/react-direction/package.json
generated
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"name": "@radix-ui/react-direction",
|
||||
"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",
|
||||
"@types/react": "^19.0.7",
|
||||
"@types/react-dom": "^19.0.3",
|
||||
"eslint": "^9.18.0",
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0",
|
||||
"typescript": "^5.7.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/react": "*",
|
||||
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@types/react": {
|
||||
"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"
|
||||
},
|
||||
"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/react-dismissable-layer/LICENSE
generated
vendored
Normal file
21
node_modules/@radix-ui/react-dismissable-layer/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-dismissable-layer/README.md
generated
vendored
Normal file
3
node_modules/@radix-ui/react-dismissable-layer/README.md
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# `react-dismissable-layer`
|
||||
|
||||
This is an internal utility, not intended for public usage.
|
||||
51
node_modules/@radix-ui/react-dismissable-layer/dist/index.d.mts
generated
vendored
Normal file
51
node_modules/@radix-ui/react-dismissable-layer/dist/index.d.mts
generated
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
import * as React from 'react';
|
||||
import { Primitive } from '@radix-ui/react-primitive';
|
||||
|
||||
type PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;
|
||||
interface DismissableLayerProps extends PrimitiveDivProps {
|
||||
/**
|
||||
* When `true`, hover/focus/click interactions will be disabled on elements outside
|
||||
* the `DismissableLayer`. Users will need to click twice on outside elements to
|
||||
* interact with them: once to close the `DismissableLayer`, and again to trigger the element.
|
||||
*/
|
||||
disableOutsidePointerEvents?: boolean;
|
||||
/**
|
||||
* Event handler called when the escape key is down.
|
||||
* Can be prevented.
|
||||
*/
|
||||
onEscapeKeyDown?: (event: KeyboardEvent) => void;
|
||||
/**
|
||||
* Event handler called when the a `pointerdown` event happens outside of the `DismissableLayer`.
|
||||
* Can be prevented.
|
||||
*/
|
||||
onPointerDownOutside?: (event: PointerDownOutsideEvent) => void;
|
||||
/**
|
||||
* Event handler called when the focus moves outside of the `DismissableLayer`.
|
||||
* Can be prevented.
|
||||
*/
|
||||
onFocusOutside?: (event: FocusOutsideEvent) => void;
|
||||
/**
|
||||
* Event handler called when an interaction happens outside the `DismissableLayer`.
|
||||
* Specifically, when a `pointerdown` event happens outside or focus moves outside of it.
|
||||
* Can be prevented.
|
||||
*/
|
||||
onInteractOutside?: (event: PointerDownOutsideEvent | FocusOutsideEvent) => void;
|
||||
/**
|
||||
* Handler called when the `DismissableLayer` should be dismissed
|
||||
*/
|
||||
onDismiss?: () => void;
|
||||
}
|
||||
declare const DismissableLayer: React.ForwardRefExoticComponent<DismissableLayerProps & React.RefAttributes<HTMLDivElement>>;
|
||||
interface DismissableLayerBranchProps extends PrimitiveDivProps {
|
||||
}
|
||||
declare const DismissableLayerBranch: React.ForwardRefExoticComponent<DismissableLayerBranchProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type PointerDownOutsideEvent = CustomEvent<{
|
||||
originalEvent: PointerEvent;
|
||||
}>;
|
||||
type FocusOutsideEvent = CustomEvent<{
|
||||
originalEvent: FocusEvent;
|
||||
}>;
|
||||
declare const Root: React.ForwardRefExoticComponent<DismissableLayerProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Branch: React.ForwardRefExoticComponent<DismissableLayerBranchProps & React.RefAttributes<HTMLDivElement>>;
|
||||
|
||||
export { Branch, DismissableLayer, DismissableLayerBranch, type DismissableLayerProps, Root };
|
||||
51
node_modules/@radix-ui/react-dismissable-layer/dist/index.d.ts
generated
vendored
Normal file
51
node_modules/@radix-ui/react-dismissable-layer/dist/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
import * as React from 'react';
|
||||
import { Primitive } from '@radix-ui/react-primitive';
|
||||
|
||||
type PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;
|
||||
interface DismissableLayerProps extends PrimitiveDivProps {
|
||||
/**
|
||||
* When `true`, hover/focus/click interactions will be disabled on elements outside
|
||||
* the `DismissableLayer`. Users will need to click twice on outside elements to
|
||||
* interact with them: once to close the `DismissableLayer`, and again to trigger the element.
|
||||
*/
|
||||
disableOutsidePointerEvents?: boolean;
|
||||
/**
|
||||
* Event handler called when the escape key is down.
|
||||
* Can be prevented.
|
||||
*/
|
||||
onEscapeKeyDown?: (event: KeyboardEvent) => void;
|
||||
/**
|
||||
* Event handler called when the a `pointerdown` event happens outside of the `DismissableLayer`.
|
||||
* Can be prevented.
|
||||
*/
|
||||
onPointerDownOutside?: (event: PointerDownOutsideEvent) => void;
|
||||
/**
|
||||
* Event handler called when the focus moves outside of the `DismissableLayer`.
|
||||
* Can be prevented.
|
||||
*/
|
||||
onFocusOutside?: (event: FocusOutsideEvent) => void;
|
||||
/**
|
||||
* Event handler called when an interaction happens outside the `DismissableLayer`.
|
||||
* Specifically, when a `pointerdown` event happens outside or focus moves outside of it.
|
||||
* Can be prevented.
|
||||
*/
|
||||
onInteractOutside?: (event: PointerDownOutsideEvent | FocusOutsideEvent) => void;
|
||||
/**
|
||||
* Handler called when the `DismissableLayer` should be dismissed
|
||||
*/
|
||||
onDismiss?: () => void;
|
||||
}
|
||||
declare const DismissableLayer: React.ForwardRefExoticComponent<DismissableLayerProps & React.RefAttributes<HTMLDivElement>>;
|
||||
interface DismissableLayerBranchProps extends PrimitiveDivProps {
|
||||
}
|
||||
declare const DismissableLayerBranch: React.ForwardRefExoticComponent<DismissableLayerBranchProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type PointerDownOutsideEvent = CustomEvent<{
|
||||
originalEvent: PointerEvent;
|
||||
}>;
|
||||
type FocusOutsideEvent = CustomEvent<{
|
||||
originalEvent: FocusEvent;
|
||||
}>;
|
||||
declare const Root: React.ForwardRefExoticComponent<DismissableLayerProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Branch: React.ForwardRefExoticComponent<DismissableLayerBranchProps & React.RefAttributes<HTMLDivElement>>;
|
||||
|
||||
export { Branch, DismissableLayer, DismissableLayerBranch, type DismissableLayerProps, Root };
|
||||
253
node_modules/@radix-ui/react-dismissable-layer/dist/index.js
generated
vendored
Normal file
253
node_modules/@radix-ui/react-dismissable-layer/dist/index.js
generated
vendored
Normal file
@@ -0,0 +1,253 @@
|
||||
"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, {
|
||||
Branch: () => Branch,
|
||||
DismissableLayer: () => DismissableLayer,
|
||||
DismissableLayerBranch: () => DismissableLayerBranch,
|
||||
Root: () => Root
|
||||
});
|
||||
module.exports = __toCommonJS(index_exports);
|
||||
|
||||
// src/dismissable-layer.tsx
|
||||
var React = __toESM(require("react"));
|
||||
var import_primitive = require("@radix-ui/primitive");
|
||||
var import_react_primitive = require("@radix-ui/react-primitive");
|
||||
var import_react_compose_refs = require("@radix-ui/react-compose-refs");
|
||||
var import_react_use_callback_ref = require("@radix-ui/react-use-callback-ref");
|
||||
var import_react_use_escape_keydown = require("@radix-ui/react-use-escape-keydown");
|
||||
var import_jsx_runtime = require("react/jsx-runtime");
|
||||
var DISMISSABLE_LAYER_NAME = "DismissableLayer";
|
||||
var CONTEXT_UPDATE = "dismissableLayer.update";
|
||||
var POINTER_DOWN_OUTSIDE = "dismissableLayer.pointerDownOutside";
|
||||
var FOCUS_OUTSIDE = "dismissableLayer.focusOutside";
|
||||
var originalBodyPointerEvents;
|
||||
var DismissableLayerContext = React.createContext({
|
||||
layers: /* @__PURE__ */ new Set(),
|
||||
layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
|
||||
branches: /* @__PURE__ */ new Set()
|
||||
});
|
||||
var DismissableLayer = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const {
|
||||
disableOutsidePointerEvents = false,
|
||||
onEscapeKeyDown,
|
||||
onPointerDownOutside,
|
||||
onFocusOutside,
|
||||
onInteractOutside,
|
||||
onDismiss,
|
||||
...layerProps
|
||||
} = props;
|
||||
const context = React.useContext(DismissableLayerContext);
|
||||
const [node, setNode] = React.useState(null);
|
||||
const ownerDocument = node?.ownerDocument ?? globalThis?.document;
|
||||
const [, force] = React.useState({});
|
||||
const composedRefs = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, (node2) => setNode(node2));
|
||||
const layers = Array.from(context.layers);
|
||||
const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);
|
||||
const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);
|
||||
const index = node ? layers.indexOf(node) : -1;
|
||||
const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;
|
||||
const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;
|
||||
const pointerDownOutside = usePointerDownOutside((event) => {
|
||||
const target = event.target;
|
||||
const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));
|
||||
if (!isPointerEventsEnabled || isPointerDownOnBranch) return;
|
||||
onPointerDownOutside?.(event);
|
||||
onInteractOutside?.(event);
|
||||
if (!event.defaultPrevented) onDismiss?.();
|
||||
}, ownerDocument);
|
||||
const focusOutside = useFocusOutside((event) => {
|
||||
const target = event.target;
|
||||
const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));
|
||||
if (isFocusInBranch) return;
|
||||
onFocusOutside?.(event);
|
||||
onInteractOutside?.(event);
|
||||
if (!event.defaultPrevented) onDismiss?.();
|
||||
}, ownerDocument);
|
||||
(0, import_react_use_escape_keydown.useEscapeKeydown)((event) => {
|
||||
const isHighestLayer = index === context.layers.size - 1;
|
||||
if (!isHighestLayer) return;
|
||||
onEscapeKeyDown?.(event);
|
||||
if (!event.defaultPrevented && onDismiss) {
|
||||
event.preventDefault();
|
||||
onDismiss();
|
||||
}
|
||||
}, ownerDocument);
|
||||
React.useEffect(() => {
|
||||
if (!node) return;
|
||||
if (disableOutsidePointerEvents) {
|
||||
if (context.layersWithOutsidePointerEventsDisabled.size === 0) {
|
||||
originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;
|
||||
ownerDocument.body.style.pointerEvents = "none";
|
||||
}
|
||||
context.layersWithOutsidePointerEventsDisabled.add(node);
|
||||
}
|
||||
context.layers.add(node);
|
||||
dispatchUpdate();
|
||||
return () => {
|
||||
if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {
|
||||
ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;
|
||||
}
|
||||
};
|
||||
}, [node, ownerDocument, disableOutsidePointerEvents, context]);
|
||||
React.useEffect(() => {
|
||||
return () => {
|
||||
if (!node) return;
|
||||
context.layers.delete(node);
|
||||
context.layersWithOutsidePointerEventsDisabled.delete(node);
|
||||
dispatchUpdate();
|
||||
};
|
||||
}, [node, context]);
|
||||
React.useEffect(() => {
|
||||
const handleUpdate = () => force({});
|
||||
document.addEventListener(CONTEXT_UPDATE, handleUpdate);
|
||||
return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
|
||||
}, []);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
import_react_primitive.Primitive.div,
|
||||
{
|
||||
...layerProps,
|
||||
ref: composedRefs,
|
||||
style: {
|
||||
pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? "auto" : "none" : void 0,
|
||||
...props.style
|
||||
},
|
||||
onFocusCapture: (0, import_primitive.composeEventHandlers)(props.onFocusCapture, focusOutside.onFocusCapture),
|
||||
onBlurCapture: (0, import_primitive.composeEventHandlers)(props.onBlurCapture, focusOutside.onBlurCapture),
|
||||
onPointerDownCapture: (0, import_primitive.composeEventHandlers)(
|
||||
props.onPointerDownCapture,
|
||||
pointerDownOutside.onPointerDownCapture
|
||||
)
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
DismissableLayer.displayName = DISMISSABLE_LAYER_NAME;
|
||||
var BRANCH_NAME = "DismissableLayerBranch";
|
||||
var DismissableLayerBranch = React.forwardRef((props, forwardedRef) => {
|
||||
const context = React.useContext(DismissableLayerContext);
|
||||
const ref = React.useRef(null);
|
||||
const composedRefs = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, ref);
|
||||
React.useEffect(() => {
|
||||
const node = ref.current;
|
||||
if (node) {
|
||||
context.branches.add(node);
|
||||
return () => {
|
||||
context.branches.delete(node);
|
||||
};
|
||||
}
|
||||
}, [context.branches]);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_primitive.Primitive.div, { ...props, ref: composedRefs });
|
||||
});
|
||||
DismissableLayerBranch.displayName = BRANCH_NAME;
|
||||
function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {
|
||||
const handlePointerDownOutside = (0, import_react_use_callback_ref.useCallbackRef)(onPointerDownOutside);
|
||||
const isPointerInsideReactTreeRef = React.useRef(false);
|
||||
const handleClickRef = React.useRef(() => {
|
||||
});
|
||||
React.useEffect(() => {
|
||||
const handlePointerDown = (event) => {
|
||||
if (event.target && !isPointerInsideReactTreeRef.current) {
|
||||
let handleAndDispatchPointerDownOutsideEvent2 = function() {
|
||||
handleAndDispatchCustomEvent(
|
||||
POINTER_DOWN_OUTSIDE,
|
||||
handlePointerDownOutside,
|
||||
eventDetail,
|
||||
{ discrete: true }
|
||||
);
|
||||
};
|
||||
var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;
|
||||
const eventDetail = { originalEvent: event };
|
||||
if (event.pointerType === "touch") {
|
||||
ownerDocument.removeEventListener("click", handleClickRef.current);
|
||||
handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;
|
||||
ownerDocument.addEventListener("click", handleClickRef.current, { once: true });
|
||||
} else {
|
||||
handleAndDispatchPointerDownOutsideEvent2();
|
||||
}
|
||||
} else {
|
||||
ownerDocument.removeEventListener("click", handleClickRef.current);
|
||||
}
|
||||
isPointerInsideReactTreeRef.current = false;
|
||||
};
|
||||
const timerId = window.setTimeout(() => {
|
||||
ownerDocument.addEventListener("pointerdown", handlePointerDown);
|
||||
}, 0);
|
||||
return () => {
|
||||
window.clearTimeout(timerId);
|
||||
ownerDocument.removeEventListener("pointerdown", handlePointerDown);
|
||||
ownerDocument.removeEventListener("click", handleClickRef.current);
|
||||
};
|
||||
}, [ownerDocument, handlePointerDownOutside]);
|
||||
return {
|
||||
// ensures we check React component tree (not just DOM tree)
|
||||
onPointerDownCapture: () => isPointerInsideReactTreeRef.current = true
|
||||
};
|
||||
}
|
||||
function useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {
|
||||
const handleFocusOutside = (0, import_react_use_callback_ref.useCallbackRef)(onFocusOutside);
|
||||
const isFocusInsideReactTreeRef = React.useRef(false);
|
||||
React.useEffect(() => {
|
||||
const handleFocus = (event) => {
|
||||
if (event.target && !isFocusInsideReactTreeRef.current) {
|
||||
const eventDetail = { originalEvent: event };
|
||||
handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {
|
||||
discrete: false
|
||||
});
|
||||
}
|
||||
};
|
||||
ownerDocument.addEventListener("focusin", handleFocus);
|
||||
return () => ownerDocument.removeEventListener("focusin", handleFocus);
|
||||
}, [ownerDocument, handleFocusOutside]);
|
||||
return {
|
||||
onFocusCapture: () => isFocusInsideReactTreeRef.current = true,
|
||||
onBlurCapture: () => isFocusInsideReactTreeRef.current = false
|
||||
};
|
||||
}
|
||||
function dispatchUpdate() {
|
||||
const event = new CustomEvent(CONTEXT_UPDATE);
|
||||
document.dispatchEvent(event);
|
||||
}
|
||||
function handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {
|
||||
const target = detail.originalEvent.target;
|
||||
const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });
|
||||
if (handler) target.addEventListener(name, handler, { once: true });
|
||||
if (discrete) {
|
||||
(0, import_react_primitive.dispatchDiscreteCustomEvent)(target, event);
|
||||
} else {
|
||||
target.dispatchEvent(event);
|
||||
}
|
||||
}
|
||||
var Root = DismissableLayer;
|
||||
var Branch = DismissableLayerBranch;
|
||||
//# sourceMappingURL=index.js.map
|
||||
7
node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
221
node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs
generated
vendored
Normal file
221
node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,221 @@
|
||||
"use client";
|
||||
|
||||
// src/dismissable-layer.tsx
|
||||
import * as React from "react";
|
||||
import { composeEventHandlers } from "@radix-ui/primitive";
|
||||
import { Primitive, dispatchDiscreteCustomEvent } from "@radix-ui/react-primitive";
|
||||
import { useComposedRefs } from "@radix-ui/react-compose-refs";
|
||||
import { useCallbackRef } from "@radix-ui/react-use-callback-ref";
|
||||
import { useEscapeKeydown } from "@radix-ui/react-use-escape-keydown";
|
||||
import { jsx } from "react/jsx-runtime";
|
||||
var DISMISSABLE_LAYER_NAME = "DismissableLayer";
|
||||
var CONTEXT_UPDATE = "dismissableLayer.update";
|
||||
var POINTER_DOWN_OUTSIDE = "dismissableLayer.pointerDownOutside";
|
||||
var FOCUS_OUTSIDE = "dismissableLayer.focusOutside";
|
||||
var originalBodyPointerEvents;
|
||||
var DismissableLayerContext = React.createContext({
|
||||
layers: /* @__PURE__ */ new Set(),
|
||||
layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
|
||||
branches: /* @__PURE__ */ new Set()
|
||||
});
|
||||
var DismissableLayer = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const {
|
||||
disableOutsidePointerEvents = false,
|
||||
onEscapeKeyDown,
|
||||
onPointerDownOutside,
|
||||
onFocusOutside,
|
||||
onInteractOutside,
|
||||
onDismiss,
|
||||
...layerProps
|
||||
} = props;
|
||||
const context = React.useContext(DismissableLayerContext);
|
||||
const [node, setNode] = React.useState(null);
|
||||
const ownerDocument = node?.ownerDocument ?? globalThis?.document;
|
||||
const [, force] = React.useState({});
|
||||
const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));
|
||||
const layers = Array.from(context.layers);
|
||||
const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);
|
||||
const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);
|
||||
const index = node ? layers.indexOf(node) : -1;
|
||||
const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;
|
||||
const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;
|
||||
const pointerDownOutside = usePointerDownOutside((event) => {
|
||||
const target = event.target;
|
||||
const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));
|
||||
if (!isPointerEventsEnabled || isPointerDownOnBranch) return;
|
||||
onPointerDownOutside?.(event);
|
||||
onInteractOutside?.(event);
|
||||
if (!event.defaultPrevented) onDismiss?.();
|
||||
}, ownerDocument);
|
||||
const focusOutside = useFocusOutside((event) => {
|
||||
const target = event.target;
|
||||
const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));
|
||||
if (isFocusInBranch) return;
|
||||
onFocusOutside?.(event);
|
||||
onInteractOutside?.(event);
|
||||
if (!event.defaultPrevented) onDismiss?.();
|
||||
}, ownerDocument);
|
||||
useEscapeKeydown((event) => {
|
||||
const isHighestLayer = index === context.layers.size - 1;
|
||||
if (!isHighestLayer) return;
|
||||
onEscapeKeyDown?.(event);
|
||||
if (!event.defaultPrevented && onDismiss) {
|
||||
event.preventDefault();
|
||||
onDismiss();
|
||||
}
|
||||
}, ownerDocument);
|
||||
React.useEffect(() => {
|
||||
if (!node) return;
|
||||
if (disableOutsidePointerEvents) {
|
||||
if (context.layersWithOutsidePointerEventsDisabled.size === 0) {
|
||||
originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;
|
||||
ownerDocument.body.style.pointerEvents = "none";
|
||||
}
|
||||
context.layersWithOutsidePointerEventsDisabled.add(node);
|
||||
}
|
||||
context.layers.add(node);
|
||||
dispatchUpdate();
|
||||
return () => {
|
||||
if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {
|
||||
ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;
|
||||
}
|
||||
};
|
||||
}, [node, ownerDocument, disableOutsidePointerEvents, context]);
|
||||
React.useEffect(() => {
|
||||
return () => {
|
||||
if (!node) return;
|
||||
context.layers.delete(node);
|
||||
context.layersWithOutsidePointerEventsDisabled.delete(node);
|
||||
dispatchUpdate();
|
||||
};
|
||||
}, [node, context]);
|
||||
React.useEffect(() => {
|
||||
const handleUpdate = () => force({});
|
||||
document.addEventListener(CONTEXT_UPDATE, handleUpdate);
|
||||
return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
|
||||
}, []);
|
||||
return /* @__PURE__ */ jsx(
|
||||
Primitive.div,
|
||||
{
|
||||
...layerProps,
|
||||
ref: composedRefs,
|
||||
style: {
|
||||
pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? "auto" : "none" : void 0,
|
||||
...props.style
|
||||
},
|
||||
onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),
|
||||
onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),
|
||||
onPointerDownCapture: composeEventHandlers(
|
||||
props.onPointerDownCapture,
|
||||
pointerDownOutside.onPointerDownCapture
|
||||
)
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
DismissableLayer.displayName = DISMISSABLE_LAYER_NAME;
|
||||
var BRANCH_NAME = "DismissableLayerBranch";
|
||||
var DismissableLayerBranch = React.forwardRef((props, forwardedRef) => {
|
||||
const context = React.useContext(DismissableLayerContext);
|
||||
const ref = React.useRef(null);
|
||||
const composedRefs = useComposedRefs(forwardedRef, ref);
|
||||
React.useEffect(() => {
|
||||
const node = ref.current;
|
||||
if (node) {
|
||||
context.branches.add(node);
|
||||
return () => {
|
||||
context.branches.delete(node);
|
||||
};
|
||||
}
|
||||
}, [context.branches]);
|
||||
return /* @__PURE__ */ jsx(Primitive.div, { ...props, ref: composedRefs });
|
||||
});
|
||||
DismissableLayerBranch.displayName = BRANCH_NAME;
|
||||
function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {
|
||||
const handlePointerDownOutside = useCallbackRef(onPointerDownOutside);
|
||||
const isPointerInsideReactTreeRef = React.useRef(false);
|
||||
const handleClickRef = React.useRef(() => {
|
||||
});
|
||||
React.useEffect(() => {
|
||||
const handlePointerDown = (event) => {
|
||||
if (event.target && !isPointerInsideReactTreeRef.current) {
|
||||
let handleAndDispatchPointerDownOutsideEvent2 = function() {
|
||||
handleAndDispatchCustomEvent(
|
||||
POINTER_DOWN_OUTSIDE,
|
||||
handlePointerDownOutside,
|
||||
eventDetail,
|
||||
{ discrete: true }
|
||||
);
|
||||
};
|
||||
var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;
|
||||
const eventDetail = { originalEvent: event };
|
||||
if (event.pointerType === "touch") {
|
||||
ownerDocument.removeEventListener("click", handleClickRef.current);
|
||||
handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;
|
||||
ownerDocument.addEventListener("click", handleClickRef.current, { once: true });
|
||||
} else {
|
||||
handleAndDispatchPointerDownOutsideEvent2();
|
||||
}
|
||||
} else {
|
||||
ownerDocument.removeEventListener("click", handleClickRef.current);
|
||||
}
|
||||
isPointerInsideReactTreeRef.current = false;
|
||||
};
|
||||
const timerId = window.setTimeout(() => {
|
||||
ownerDocument.addEventListener("pointerdown", handlePointerDown);
|
||||
}, 0);
|
||||
return () => {
|
||||
window.clearTimeout(timerId);
|
||||
ownerDocument.removeEventListener("pointerdown", handlePointerDown);
|
||||
ownerDocument.removeEventListener("click", handleClickRef.current);
|
||||
};
|
||||
}, [ownerDocument, handlePointerDownOutside]);
|
||||
return {
|
||||
// ensures we check React component tree (not just DOM tree)
|
||||
onPointerDownCapture: () => isPointerInsideReactTreeRef.current = true
|
||||
};
|
||||
}
|
||||
function useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {
|
||||
const handleFocusOutside = useCallbackRef(onFocusOutside);
|
||||
const isFocusInsideReactTreeRef = React.useRef(false);
|
||||
React.useEffect(() => {
|
||||
const handleFocus = (event) => {
|
||||
if (event.target && !isFocusInsideReactTreeRef.current) {
|
||||
const eventDetail = { originalEvent: event };
|
||||
handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {
|
||||
discrete: false
|
||||
});
|
||||
}
|
||||
};
|
||||
ownerDocument.addEventListener("focusin", handleFocus);
|
||||
return () => ownerDocument.removeEventListener("focusin", handleFocus);
|
||||
}, [ownerDocument, handleFocusOutside]);
|
||||
return {
|
||||
onFocusCapture: () => isFocusInsideReactTreeRef.current = true,
|
||||
onBlurCapture: () => isFocusInsideReactTreeRef.current = false
|
||||
};
|
||||
}
|
||||
function dispatchUpdate() {
|
||||
const event = new CustomEvent(CONTEXT_UPDATE);
|
||||
document.dispatchEvent(event);
|
||||
}
|
||||
function handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {
|
||||
const target = detail.originalEvent.target;
|
||||
const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });
|
||||
if (handler) target.addEventListener(name, handler, { once: true });
|
||||
if (discrete) {
|
||||
dispatchDiscreteCustomEvent(target, event);
|
||||
} else {
|
||||
target.dispatchEvent(event);
|
||||
}
|
||||
}
|
||||
var Root = DismissableLayer;
|
||||
var Branch = DismissableLayerBranch;
|
||||
export {
|
||||
Branch,
|
||||
DismissableLayer,
|
||||
DismissableLayerBranch,
|
||||
Root
|
||||
};
|
||||
//# sourceMappingURL=index.mjs.map
|
||||
7
node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs.map
generated
vendored
Normal file
7
node_modules/@radix-ui/react-dismissable-layer/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-dismissable-layer/package.json
generated
vendored
Normal file
73
node_modules/@radix-ui/react-dismissable-layer/package.json
generated
vendored
Normal file
@@ -0,0 +1,73 @@
|
||||
{
|
||||
"name": "@radix-ui/react-dismissable-layer",
|
||||
"version": "1.1.11",
|
||||
"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-use-escape-keydown": "1.1.1",
|
||||
"@radix-ui/react-primitive": "2.1.3",
|
||||
"@radix-ui/react-compose-refs": "1.1.2",
|
||||
"@radix-ui/react-use-callback-ref": "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",
|
||||
"react-remove-scroll": "^2.6.3",
|
||||
"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-dropdown-menu/LICENSE
generated
vendored
Normal file
21
node_modules/@radix-ui/react-dropdown-menu/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-dropdown-menu/README.md
generated
vendored
Normal file
3
node_modules/@radix-ui/react-dropdown-menu/README.md
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# `react-dropdown-menu`
|
||||
|
||||
View docs [here](https://radix-ui.com/primitives/docs/components/dropdown-menu).
|
||||
97
node_modules/@radix-ui/react-dropdown-menu/dist/index.d.mts
generated
vendored
Normal file
97
node_modules/@radix-ui/react-dropdown-menu/dist/index.d.mts
generated
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
import * as _radix_ui_react_context from '@radix-ui/react-context';
|
||||
import * as React from 'react';
|
||||
import { Primitive } from '@radix-ui/react-primitive';
|
||||
import * as MenuPrimitive from '@radix-ui/react-menu';
|
||||
|
||||
type Direction = 'ltr' | 'rtl';
|
||||
declare const createDropdownMenuScope: _radix_ui_react_context.CreateScope;
|
||||
interface DropdownMenuProps {
|
||||
children?: React.ReactNode;
|
||||
dir?: Direction;
|
||||
open?: boolean;
|
||||
defaultOpen?: boolean;
|
||||
onOpenChange?(open: boolean): void;
|
||||
modal?: boolean;
|
||||
}
|
||||
declare const DropdownMenu: React.FC<DropdownMenuProps>;
|
||||
type PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;
|
||||
interface DropdownMenuTriggerProps extends PrimitiveButtonProps {
|
||||
}
|
||||
declare const DropdownMenuTrigger: React.ForwardRefExoticComponent<DropdownMenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
type MenuPortalProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Portal>;
|
||||
interface DropdownMenuPortalProps extends MenuPortalProps {
|
||||
}
|
||||
declare const DropdownMenuPortal: React.FC<DropdownMenuPortalProps>;
|
||||
type MenuContentProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Content>;
|
||||
interface DropdownMenuContentProps extends Omit<MenuContentProps, 'onEntryFocus'> {
|
||||
}
|
||||
declare const DropdownMenuContent: React.ForwardRefExoticComponent<DropdownMenuContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type MenuGroupProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Group>;
|
||||
interface DropdownMenuGroupProps extends MenuGroupProps {
|
||||
}
|
||||
declare const DropdownMenuGroup: React.ForwardRefExoticComponent<DropdownMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type MenuLabelProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Label>;
|
||||
interface DropdownMenuLabelProps extends MenuLabelProps {
|
||||
}
|
||||
declare const DropdownMenuLabel: React.ForwardRefExoticComponent<DropdownMenuLabelProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type MenuItemProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Item>;
|
||||
interface DropdownMenuItemProps extends MenuItemProps {
|
||||
}
|
||||
declare const DropdownMenuItem: React.ForwardRefExoticComponent<DropdownMenuItemProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type MenuCheckboxItemProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.CheckboxItem>;
|
||||
interface DropdownMenuCheckboxItemProps extends MenuCheckboxItemProps {
|
||||
}
|
||||
declare const DropdownMenuCheckboxItem: React.ForwardRefExoticComponent<DropdownMenuCheckboxItemProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type MenuRadioGroupProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.RadioGroup>;
|
||||
interface DropdownMenuRadioGroupProps extends MenuRadioGroupProps {
|
||||
}
|
||||
declare const DropdownMenuRadioGroup: React.ForwardRefExoticComponent<DropdownMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type MenuRadioItemProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.RadioItem>;
|
||||
interface DropdownMenuRadioItemProps extends MenuRadioItemProps {
|
||||
}
|
||||
declare const DropdownMenuRadioItem: React.ForwardRefExoticComponent<DropdownMenuRadioItemProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type MenuItemIndicatorProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.ItemIndicator>;
|
||||
interface DropdownMenuItemIndicatorProps extends MenuItemIndicatorProps {
|
||||
}
|
||||
declare const DropdownMenuItemIndicator: React.ForwardRefExoticComponent<DropdownMenuItemIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
|
||||
type MenuSeparatorProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Separator>;
|
||||
interface DropdownMenuSeparatorProps extends MenuSeparatorProps {
|
||||
}
|
||||
declare const DropdownMenuSeparator: React.ForwardRefExoticComponent<DropdownMenuSeparatorProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type MenuArrowProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Arrow>;
|
||||
interface DropdownMenuArrowProps extends MenuArrowProps {
|
||||
}
|
||||
declare const DropdownMenuArrow: React.ForwardRefExoticComponent<DropdownMenuArrowProps & React.RefAttributes<SVGSVGElement>>;
|
||||
interface DropdownMenuSubProps {
|
||||
children?: React.ReactNode;
|
||||
open?: boolean;
|
||||
defaultOpen?: boolean;
|
||||
onOpenChange?(open: boolean): void;
|
||||
}
|
||||
declare const DropdownMenuSub: React.FC<DropdownMenuSubProps>;
|
||||
type MenuSubTriggerProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.SubTrigger>;
|
||||
interface DropdownMenuSubTriggerProps extends MenuSubTriggerProps {
|
||||
}
|
||||
declare const DropdownMenuSubTrigger: React.ForwardRefExoticComponent<DropdownMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type MenuSubContentProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.SubContent>;
|
||||
interface DropdownMenuSubContentProps extends MenuSubContentProps {
|
||||
}
|
||||
declare const DropdownMenuSubContent: React.ForwardRefExoticComponent<DropdownMenuSubContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Root: React.FC<DropdownMenuProps>;
|
||||
declare const Trigger: React.ForwardRefExoticComponent<DropdownMenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
declare const Portal: React.FC<DropdownMenuPortalProps>;
|
||||
declare const Content: React.ForwardRefExoticComponent<DropdownMenuContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Group: React.ForwardRefExoticComponent<DropdownMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Label: React.ForwardRefExoticComponent<DropdownMenuLabelProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Item: React.ForwardRefExoticComponent<DropdownMenuItemProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const CheckboxItem: React.ForwardRefExoticComponent<DropdownMenuCheckboxItemProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const RadioGroup: React.ForwardRefExoticComponent<DropdownMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const RadioItem: React.ForwardRefExoticComponent<DropdownMenuRadioItemProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const ItemIndicator: React.ForwardRefExoticComponent<DropdownMenuItemIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
|
||||
declare const Separator: React.ForwardRefExoticComponent<DropdownMenuSeparatorProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Arrow: React.ForwardRefExoticComponent<DropdownMenuArrowProps & React.RefAttributes<SVGSVGElement>>;
|
||||
declare const Sub: React.FC<DropdownMenuSubProps>;
|
||||
declare const SubTrigger: React.ForwardRefExoticComponent<DropdownMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const SubContent: React.ForwardRefExoticComponent<DropdownMenuSubContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
|
||||
export { Arrow, CheckboxItem, Content, DropdownMenu, DropdownMenuArrow, type DropdownMenuArrowProps, DropdownMenuCheckboxItem, type DropdownMenuCheckboxItemProps, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, type DropdownMenuGroupProps, DropdownMenuItem, DropdownMenuItemIndicator, type DropdownMenuItemIndicatorProps, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, DropdownMenuPortal, type DropdownMenuPortalProps, type DropdownMenuProps, DropdownMenuRadioGroup, type DropdownMenuRadioGroupProps, DropdownMenuRadioItem, type DropdownMenuRadioItemProps, DropdownMenuSeparator, type DropdownMenuSeparatorProps, DropdownMenuSub, DropdownMenuSubContent, type DropdownMenuSubContentProps, type DropdownMenuSubProps, DropdownMenuSubTrigger, type DropdownMenuSubTriggerProps, DropdownMenuTrigger, type DropdownMenuTriggerProps, Group, Item, ItemIndicator, Label, Portal, RadioGroup, RadioItem, Root, Separator, Sub, SubContent, SubTrigger, Trigger, createDropdownMenuScope };
|
||||
97
node_modules/@radix-ui/react-dropdown-menu/dist/index.d.ts
generated
vendored
Normal file
97
node_modules/@radix-ui/react-dropdown-menu/dist/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
import * as _radix_ui_react_context from '@radix-ui/react-context';
|
||||
import * as React from 'react';
|
||||
import { Primitive } from '@radix-ui/react-primitive';
|
||||
import * as MenuPrimitive from '@radix-ui/react-menu';
|
||||
|
||||
type Direction = 'ltr' | 'rtl';
|
||||
declare const createDropdownMenuScope: _radix_ui_react_context.CreateScope;
|
||||
interface DropdownMenuProps {
|
||||
children?: React.ReactNode;
|
||||
dir?: Direction;
|
||||
open?: boolean;
|
||||
defaultOpen?: boolean;
|
||||
onOpenChange?(open: boolean): void;
|
||||
modal?: boolean;
|
||||
}
|
||||
declare const DropdownMenu: React.FC<DropdownMenuProps>;
|
||||
type PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;
|
||||
interface DropdownMenuTriggerProps extends PrimitiveButtonProps {
|
||||
}
|
||||
declare const DropdownMenuTrigger: React.ForwardRefExoticComponent<DropdownMenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
type MenuPortalProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Portal>;
|
||||
interface DropdownMenuPortalProps extends MenuPortalProps {
|
||||
}
|
||||
declare const DropdownMenuPortal: React.FC<DropdownMenuPortalProps>;
|
||||
type MenuContentProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Content>;
|
||||
interface DropdownMenuContentProps extends Omit<MenuContentProps, 'onEntryFocus'> {
|
||||
}
|
||||
declare const DropdownMenuContent: React.ForwardRefExoticComponent<DropdownMenuContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type MenuGroupProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Group>;
|
||||
interface DropdownMenuGroupProps extends MenuGroupProps {
|
||||
}
|
||||
declare const DropdownMenuGroup: React.ForwardRefExoticComponent<DropdownMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type MenuLabelProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Label>;
|
||||
interface DropdownMenuLabelProps extends MenuLabelProps {
|
||||
}
|
||||
declare const DropdownMenuLabel: React.ForwardRefExoticComponent<DropdownMenuLabelProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type MenuItemProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Item>;
|
||||
interface DropdownMenuItemProps extends MenuItemProps {
|
||||
}
|
||||
declare const DropdownMenuItem: React.ForwardRefExoticComponent<DropdownMenuItemProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type MenuCheckboxItemProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.CheckboxItem>;
|
||||
interface DropdownMenuCheckboxItemProps extends MenuCheckboxItemProps {
|
||||
}
|
||||
declare const DropdownMenuCheckboxItem: React.ForwardRefExoticComponent<DropdownMenuCheckboxItemProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type MenuRadioGroupProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.RadioGroup>;
|
||||
interface DropdownMenuRadioGroupProps extends MenuRadioGroupProps {
|
||||
}
|
||||
declare const DropdownMenuRadioGroup: React.ForwardRefExoticComponent<DropdownMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type MenuRadioItemProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.RadioItem>;
|
||||
interface DropdownMenuRadioItemProps extends MenuRadioItemProps {
|
||||
}
|
||||
declare const DropdownMenuRadioItem: React.ForwardRefExoticComponent<DropdownMenuRadioItemProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type MenuItemIndicatorProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.ItemIndicator>;
|
||||
interface DropdownMenuItemIndicatorProps extends MenuItemIndicatorProps {
|
||||
}
|
||||
declare const DropdownMenuItemIndicator: React.ForwardRefExoticComponent<DropdownMenuItemIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
|
||||
type MenuSeparatorProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Separator>;
|
||||
interface DropdownMenuSeparatorProps extends MenuSeparatorProps {
|
||||
}
|
||||
declare const DropdownMenuSeparator: React.ForwardRefExoticComponent<DropdownMenuSeparatorProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type MenuArrowProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Arrow>;
|
||||
interface DropdownMenuArrowProps extends MenuArrowProps {
|
||||
}
|
||||
declare const DropdownMenuArrow: React.ForwardRefExoticComponent<DropdownMenuArrowProps & React.RefAttributes<SVGSVGElement>>;
|
||||
interface DropdownMenuSubProps {
|
||||
children?: React.ReactNode;
|
||||
open?: boolean;
|
||||
defaultOpen?: boolean;
|
||||
onOpenChange?(open: boolean): void;
|
||||
}
|
||||
declare const DropdownMenuSub: React.FC<DropdownMenuSubProps>;
|
||||
type MenuSubTriggerProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.SubTrigger>;
|
||||
interface DropdownMenuSubTriggerProps extends MenuSubTriggerProps {
|
||||
}
|
||||
declare const DropdownMenuSubTrigger: React.ForwardRefExoticComponent<DropdownMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>>;
|
||||
type MenuSubContentProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.SubContent>;
|
||||
interface DropdownMenuSubContentProps extends MenuSubContentProps {
|
||||
}
|
||||
declare const DropdownMenuSubContent: React.ForwardRefExoticComponent<DropdownMenuSubContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Root: React.FC<DropdownMenuProps>;
|
||||
declare const Trigger: React.ForwardRefExoticComponent<DropdownMenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
||||
declare const Portal: React.FC<DropdownMenuPortalProps>;
|
||||
declare const Content: React.ForwardRefExoticComponent<DropdownMenuContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Group: React.ForwardRefExoticComponent<DropdownMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Label: React.ForwardRefExoticComponent<DropdownMenuLabelProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Item: React.ForwardRefExoticComponent<DropdownMenuItemProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const CheckboxItem: React.ForwardRefExoticComponent<DropdownMenuCheckboxItemProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const RadioGroup: React.ForwardRefExoticComponent<DropdownMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const RadioItem: React.ForwardRefExoticComponent<DropdownMenuRadioItemProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const ItemIndicator: React.ForwardRefExoticComponent<DropdownMenuItemIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
|
||||
declare const Separator: React.ForwardRefExoticComponent<DropdownMenuSeparatorProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const Arrow: React.ForwardRefExoticComponent<DropdownMenuArrowProps & React.RefAttributes<SVGSVGElement>>;
|
||||
declare const Sub: React.FC<DropdownMenuSubProps>;
|
||||
declare const SubTrigger: React.ForwardRefExoticComponent<DropdownMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>>;
|
||||
declare const SubContent: React.ForwardRefExoticComponent<DropdownMenuSubContentProps & React.RefAttributes<HTMLDivElement>>;
|
||||
|
||||
export { Arrow, CheckboxItem, Content, DropdownMenu, DropdownMenuArrow, type DropdownMenuArrowProps, DropdownMenuCheckboxItem, type DropdownMenuCheckboxItemProps, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, type DropdownMenuGroupProps, DropdownMenuItem, DropdownMenuItemIndicator, type DropdownMenuItemIndicatorProps, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, DropdownMenuPortal, type DropdownMenuPortalProps, type DropdownMenuProps, DropdownMenuRadioGroup, type DropdownMenuRadioGroupProps, DropdownMenuRadioItem, type DropdownMenuRadioItemProps, DropdownMenuSeparator, type DropdownMenuSeparatorProps, DropdownMenuSub, DropdownMenuSubContent, type DropdownMenuSubContentProps, type DropdownMenuSubProps, DropdownMenuSubTrigger, type DropdownMenuSubTriggerProps, DropdownMenuTrigger, type DropdownMenuTriggerProps, Group, Item, ItemIndicator, Label, Portal, RadioGroup, RadioItem, Root, Separator, Sub, SubContent, SubTrigger, Trigger, createDropdownMenuScope };
|
||||
337
node_modules/@radix-ui/react-dropdown-menu/dist/index.js
generated
vendored
Normal file
337
node_modules/@radix-ui/react-dropdown-menu/dist/index.js
generated
vendored
Normal file
@@ -0,0 +1,337 @@
|
||||
"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, {
|
||||
Arrow: () => Arrow2,
|
||||
CheckboxItem: () => CheckboxItem2,
|
||||
Content: () => Content2,
|
||||
DropdownMenu: () => DropdownMenu,
|
||||
DropdownMenuArrow: () => DropdownMenuArrow,
|
||||
DropdownMenuCheckboxItem: () => DropdownMenuCheckboxItem,
|
||||
DropdownMenuContent: () => DropdownMenuContent,
|
||||
DropdownMenuGroup: () => DropdownMenuGroup,
|
||||
DropdownMenuItem: () => DropdownMenuItem,
|
||||
DropdownMenuItemIndicator: () => DropdownMenuItemIndicator,
|
||||
DropdownMenuLabel: () => DropdownMenuLabel,
|
||||
DropdownMenuPortal: () => DropdownMenuPortal,
|
||||
DropdownMenuRadioGroup: () => DropdownMenuRadioGroup,
|
||||
DropdownMenuRadioItem: () => DropdownMenuRadioItem,
|
||||
DropdownMenuSeparator: () => DropdownMenuSeparator,
|
||||
DropdownMenuSub: () => DropdownMenuSub,
|
||||
DropdownMenuSubContent: () => DropdownMenuSubContent,
|
||||
DropdownMenuSubTrigger: () => DropdownMenuSubTrigger,
|
||||
DropdownMenuTrigger: () => DropdownMenuTrigger,
|
||||
Group: () => Group2,
|
||||
Item: () => Item2,
|
||||
ItemIndicator: () => ItemIndicator2,
|
||||
Label: () => Label2,
|
||||
Portal: () => Portal2,
|
||||
RadioGroup: () => RadioGroup2,
|
||||
RadioItem: () => RadioItem2,
|
||||
Root: () => Root2,
|
||||
Separator: () => Separator2,
|
||||
Sub: () => Sub2,
|
||||
SubContent: () => SubContent2,
|
||||
SubTrigger: () => SubTrigger2,
|
||||
Trigger: () => Trigger,
|
||||
createDropdownMenuScope: () => createDropdownMenuScope
|
||||
});
|
||||
module.exports = __toCommonJS(index_exports);
|
||||
|
||||
// src/dropdown-menu.tsx
|
||||
var React = __toESM(require("react"));
|
||||
var import_primitive = require("@radix-ui/primitive");
|
||||
var import_react_compose_refs = require("@radix-ui/react-compose-refs");
|
||||
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_primitive = require("@radix-ui/react-primitive");
|
||||
var MenuPrimitive = __toESM(require("@radix-ui/react-menu"));
|
||||
var import_react_menu = require("@radix-ui/react-menu");
|
||||
var import_react_id = require("@radix-ui/react-id");
|
||||
var import_jsx_runtime = require("react/jsx-runtime");
|
||||
var DROPDOWN_MENU_NAME = "DropdownMenu";
|
||||
var [createDropdownMenuContext, createDropdownMenuScope] = (0, import_react_context.createContextScope)(
|
||||
DROPDOWN_MENU_NAME,
|
||||
[import_react_menu.createMenuScope]
|
||||
);
|
||||
var useMenuScope = (0, import_react_menu.createMenuScope)();
|
||||
var [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);
|
||||
var DropdownMenu = (props) => {
|
||||
const {
|
||||
__scopeDropdownMenu,
|
||||
children,
|
||||
dir,
|
||||
open: openProp,
|
||||
defaultOpen,
|
||||
onOpenChange,
|
||||
modal = true
|
||||
} = props;
|
||||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||||
const triggerRef = React.useRef(null);
|
||||
const [open, setOpen] = (0, import_react_use_controllable_state.useControllableState)({
|
||||
prop: openProp,
|
||||
defaultProp: defaultOpen ?? false,
|
||||
onChange: onOpenChange,
|
||||
caller: DROPDOWN_MENU_NAME
|
||||
});
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
DropdownMenuProvider,
|
||||
{
|
||||
scope: __scopeDropdownMenu,
|
||||
triggerId: (0, import_react_id.useId)(),
|
||||
triggerRef,
|
||||
contentId: (0, import_react_id.useId)(),
|
||||
open,
|
||||
onOpenChange: setOpen,
|
||||
onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
|
||||
modal,
|
||||
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Root, { ...menuScope, open, onOpenChange: setOpen, dir, modal, children })
|
||||
}
|
||||
);
|
||||
};
|
||||
DropdownMenu.displayName = DROPDOWN_MENU_NAME;
|
||||
var TRIGGER_NAME = "DropdownMenuTrigger";
|
||||
var DropdownMenuTrigger = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;
|
||||
const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);
|
||||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Anchor, { asChild: true, ...menuScope, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
import_react_primitive.Primitive.button,
|
||||
{
|
||||
type: "button",
|
||||
id: context.triggerId,
|
||||
"aria-haspopup": "menu",
|
||||
"aria-expanded": context.open,
|
||||
"aria-controls": context.open ? context.contentId : void 0,
|
||||
"data-state": context.open ? "open" : "closed",
|
||||
"data-disabled": disabled ? "" : void 0,
|
||||
disabled,
|
||||
...triggerProps,
|
||||
ref: (0, import_react_compose_refs.composeRefs)(forwardedRef, context.triggerRef),
|
||||
onPointerDown: (0, import_primitive.composeEventHandlers)(props.onPointerDown, (event) => {
|
||||
if (!disabled && event.button === 0 && event.ctrlKey === false) {
|
||||
context.onOpenToggle();
|
||||
if (!context.open) event.preventDefault();
|
||||
}
|
||||
}),
|
||||
onKeyDown: (0, import_primitive.composeEventHandlers)(props.onKeyDown, (event) => {
|
||||
if (disabled) return;
|
||||
if (["Enter", " "].includes(event.key)) context.onOpenToggle();
|
||||
if (event.key === "ArrowDown") context.onOpenChange(true);
|
||||
if (["Enter", " ", "ArrowDown"].includes(event.key)) event.preventDefault();
|
||||
})
|
||||
}
|
||||
) });
|
||||
}
|
||||
);
|
||||
DropdownMenuTrigger.displayName = TRIGGER_NAME;
|
||||
var PORTAL_NAME = "DropdownMenuPortal";
|
||||
var DropdownMenuPortal = (props) => {
|
||||
const { __scopeDropdownMenu, ...portalProps } = props;
|
||||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Portal, { ...menuScope, ...portalProps });
|
||||
};
|
||||
DropdownMenuPortal.displayName = PORTAL_NAME;
|
||||
var CONTENT_NAME = "DropdownMenuContent";
|
||||
var DropdownMenuContent = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeDropdownMenu, ...contentProps } = props;
|
||||
const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);
|
||||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||||
const hasInteractedOutsideRef = React.useRef(false);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
MenuPrimitive.Content,
|
||||
{
|
||||
id: context.contentId,
|
||||
"aria-labelledby": context.triggerId,
|
||||
...menuScope,
|
||||
...contentProps,
|
||||
ref: forwardedRef,
|
||||
onCloseAutoFocus: (0, import_primitive.composeEventHandlers)(props.onCloseAutoFocus, (event) => {
|
||||
if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();
|
||||
hasInteractedOutsideRef.current = false;
|
||||
event.preventDefault();
|
||||
}),
|
||||
onInteractOutside: (0, import_primitive.composeEventHandlers)(props.onInteractOutside, (event) => {
|
||||
const originalEvent = event.detail.originalEvent;
|
||||
const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
|
||||
const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
|
||||
if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;
|
||||
}),
|
||||
style: {
|
||||
...props.style,
|
||||
// re-namespace exposed content custom properties
|
||||
...{
|
||||
"--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)",
|
||||
"--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)",
|
||||
"--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)",
|
||||
"--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)",
|
||||
"--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)"
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
DropdownMenuContent.displayName = CONTENT_NAME;
|
||||
var GROUP_NAME = "DropdownMenuGroup";
|
||||
var DropdownMenuGroup = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeDropdownMenu, ...groupProps } = props;
|
||||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });
|
||||
}
|
||||
);
|
||||
DropdownMenuGroup.displayName = GROUP_NAME;
|
||||
var LABEL_NAME = "DropdownMenuLabel";
|
||||
var DropdownMenuLabel = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeDropdownMenu, ...labelProps } = props;
|
||||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });
|
||||
}
|
||||
);
|
||||
DropdownMenuLabel.displayName = LABEL_NAME;
|
||||
var ITEM_NAME = "DropdownMenuItem";
|
||||
var DropdownMenuItem = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeDropdownMenu, ...itemProps } = props;
|
||||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });
|
||||
}
|
||||
);
|
||||
DropdownMenuItem.displayName = ITEM_NAME;
|
||||
var CHECKBOX_ITEM_NAME = "DropdownMenuCheckboxItem";
|
||||
var DropdownMenuCheckboxItem = React.forwardRef((props, forwardedRef) => {
|
||||
const { __scopeDropdownMenu, ...checkboxItemProps } = props;
|
||||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });
|
||||
});
|
||||
DropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;
|
||||
var RADIO_GROUP_NAME = "DropdownMenuRadioGroup";
|
||||
var DropdownMenuRadioGroup = React.forwardRef((props, forwardedRef) => {
|
||||
const { __scopeDropdownMenu, ...radioGroupProps } = props;
|
||||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });
|
||||
});
|
||||
DropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;
|
||||
var RADIO_ITEM_NAME = "DropdownMenuRadioItem";
|
||||
var DropdownMenuRadioItem = React.forwardRef((props, forwardedRef) => {
|
||||
const { __scopeDropdownMenu, ...radioItemProps } = props;
|
||||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });
|
||||
});
|
||||
DropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;
|
||||
var INDICATOR_NAME = "DropdownMenuItemIndicator";
|
||||
var DropdownMenuItemIndicator = React.forwardRef((props, forwardedRef) => {
|
||||
const { __scopeDropdownMenu, ...itemIndicatorProps } = props;
|
||||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });
|
||||
});
|
||||
DropdownMenuItemIndicator.displayName = INDICATOR_NAME;
|
||||
var SEPARATOR_NAME = "DropdownMenuSeparator";
|
||||
var DropdownMenuSeparator = React.forwardRef((props, forwardedRef) => {
|
||||
const { __scopeDropdownMenu, ...separatorProps } = props;
|
||||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });
|
||||
});
|
||||
DropdownMenuSeparator.displayName = SEPARATOR_NAME;
|
||||
var ARROW_NAME = "DropdownMenuArrow";
|
||||
var DropdownMenuArrow = React.forwardRef(
|
||||
(props, forwardedRef) => {
|
||||
const { __scopeDropdownMenu, ...arrowProps } = props;
|
||||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });
|
||||
}
|
||||
);
|
||||
DropdownMenuArrow.displayName = ARROW_NAME;
|
||||
var DropdownMenuSub = (props) => {
|
||||
const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;
|
||||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||||
const [open, setOpen] = (0, import_react_use_controllable_state.useControllableState)({
|
||||
prop: openProp,
|
||||
defaultProp: defaultOpen ?? false,
|
||||
onChange: onOpenChange,
|
||||
caller: "DropdownMenuSub"
|
||||
});
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });
|
||||
};
|
||||
var SUB_TRIGGER_NAME = "DropdownMenuSubTrigger";
|
||||
var DropdownMenuSubTrigger = React.forwardRef((props, forwardedRef) => {
|
||||
const { __scopeDropdownMenu, ...subTriggerProps } = props;
|
||||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.SubTrigger, { ...menuScope, ...subTriggerProps, ref: forwardedRef });
|
||||
});
|
||||
DropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;
|
||||
var SUB_CONTENT_NAME = "DropdownMenuSubContent";
|
||||
var DropdownMenuSubContent = React.forwardRef((props, forwardedRef) => {
|
||||
const { __scopeDropdownMenu, ...subContentProps } = props;
|
||||
const menuScope = useMenuScope(__scopeDropdownMenu);
|
||||
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
||||
MenuPrimitive.SubContent,
|
||||
{
|
||||
...menuScope,
|
||||
...subContentProps,
|
||||
ref: forwardedRef,
|
||||
style: {
|
||||
...props.style,
|
||||
// re-namespace exposed content custom properties
|
||||
...{
|
||||
"--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)",
|
||||
"--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)",
|
||||
"--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)",
|
||||
"--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)",
|
||||
"--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)"
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
});
|
||||
DropdownMenuSubContent.displayName = SUB_CONTENT_NAME;
|
||||
var Root2 = DropdownMenu;
|
||||
var Trigger = DropdownMenuTrigger;
|
||||
var Portal2 = DropdownMenuPortal;
|
||||
var Content2 = DropdownMenuContent;
|
||||
var Group2 = DropdownMenuGroup;
|
||||
var Label2 = DropdownMenuLabel;
|
||||
var Item2 = DropdownMenuItem;
|
||||
var CheckboxItem2 = DropdownMenuCheckboxItem;
|
||||
var RadioGroup2 = DropdownMenuRadioGroup;
|
||||
var RadioItem2 = DropdownMenuRadioItem;
|
||||
var ItemIndicator2 = DropdownMenuItemIndicator;
|
||||
var Separator2 = DropdownMenuSeparator;
|
||||
var Arrow2 = DropdownMenuArrow;
|
||||
var Sub2 = DropdownMenuSub;
|
||||
var SubTrigger2 = DropdownMenuSubTrigger;
|
||||
var SubContent2 = DropdownMenuSubContent;
|
||||
//# sourceMappingURL=index.js.map
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user