@yoopta/themes-shadcn 6.0.1 → 6.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/embed/elements/embed/embed-element.d.ts +1 -1
- package/dist/embed/elements/embed/embed-element.d.ts.map +1 -1
- package/dist/embed/elements/embed/embed-render.d.ts.map +1 -1
- package/dist/embed/index.d.ts +1 -1
- package/dist/embed.js +2 -2
- package/dist/file/elements/file/file-element.d.ts +1 -1
- package/dist/file/elements/file/file-element.d.ts.map +1 -1
- package/dist/file/index.d.ts +1 -1
- package/dist/file.js +2 -2
- package/dist/image/elements/image/image-element.d.ts +1 -1
- package/dist/image/elements/image/image-element.d.ts.map +1 -1
- package/dist/image/elements/image/image-render.d.ts.map +1 -1
- package/dist/image/index.d.ts +1 -1
- package/dist/image.js +2 -2
- package/dist/index.js +1 -1
- package/dist/steps/elements/steps-list-item.d.ts.map +1 -1
- package/dist/steps.js +1 -1
- package/dist/video/elements/video/video-element.d.ts +1 -1
- package/dist/video/elements/video/video-element.d.ts.map +1 -1
- package/dist/video/elements/video/video-render.d.ts.map +1 -1
- package/dist/video/index.d.ts +1 -1
- package/dist/video.js +2 -2
- package/package.json +13 -13
- package/dist/accordion.js.map +0 -1
- package/dist/blockquote.js.map +0 -1
- package/dist/callout.js.map +0 -1
- package/dist/carousel.js.map +0 -1
- package/dist/chunks/Combination-3c924518.js +0 -1080
- package/dist/chunks/Combination-3c924518.js.map +0 -1
- package/dist/chunks/_tslib-514d60fe.js +0 -67
- package/dist/chunks/_tslib-514d60fe.js.map +0 -1
- package/dist/chunks/arrow-right-5ddace59.js +0 -30
- package/dist/chunks/arrow-right-5ddace59.js.map +0 -1
- package/dist/chunks/button-27a1fbc2.js +0 -76
- package/dist/chunks/button-27a1fbc2.js.map +0 -1
- package/dist/chunks/card-12ed876a.js +0 -38
- package/dist/chunks/card-12ed876a.js.map +0 -1
- package/dist/chunks/check-9acc031a.js +0 -14
- package/dist/chunks/check-9acc031a.js.map +0 -1
- package/dist/chunks/chevron-down-7424d0c3.js +0 -16
- package/dist/chunks/chevron-down-7424d0c3.js.map +0 -1
- package/dist/chunks/chevron-up-546faa64.js +0 -14
- package/dist/chunks/chevron-up-546faa64.js.map +0 -1
- package/dist/chunks/code-5407bf8e.js +0 -17
- package/dist/chunks/code-5407bf8e.js.map +0 -1
- package/dist/chunks/createLucideIcon-6ba35914.js +0 -56
- package/dist/chunks/createLucideIcon-6ba35914.js.map +0 -1
- package/dist/chunks/dropdown-menu-9ba446af.js +0 -1250
- package/dist/chunks/dropdown-menu-9ba446af.js.map +0 -1
- package/dist/chunks/external-link-1bf3c7a2.js +0 -18
- package/dist/chunks/external-link-1bf3c7a2.js.map +0 -1
- package/dist/chunks/file-text-9e348575.js +0 -23
- package/dist/chunks/file-text-9e348575.js.map +0 -1
- package/dist/chunks/hover-card-22a4067b.js +0 -258
- package/dist/chunks/hover-card-22a4067b.js.map +0 -1
- package/dist/chunks/index-0c94b090.js +0 -222
- package/dist/chunks/index-0c94b090.js.map +0 -1
- package/dist/chunks/index-12e7c5fd.js +0 -155
- package/dist/chunks/index-12e7c5fd.js.map +0 -1
- package/dist/chunks/index-26994c9d.js +0 -131
- package/dist/chunks/index-26994c9d.js.map +0 -1
- package/dist/chunks/index-600be8f8.js +0 -190
- package/dist/chunks/index-600be8f8.js.map +0 -1
- package/dist/chunks/index-7e966ec9.js +0 -16
- package/dist/chunks/index-7e966ec9.js.map +0 -1
- package/dist/chunks/index-9ac5afe2.js +0 -201
- package/dist/chunks/index-9ac5afe2.js.map +0 -1
- package/dist/chunks/index-9bb7ddb4.js +0 -104
- package/dist/chunks/index-9bb7ddb4.js.map +0 -1
- package/dist/chunks/index-ae9b48d5.js +0 -12
- package/dist/chunks/index-ae9b48d5.js.map +0 -1
- package/dist/chunks/index-b26053ec.js +0 -3805
- package/dist/chunks/index-b26053ec.js.map +0 -1
- package/dist/chunks/index-b8f2908d.js +0 -40
- package/dist/chunks/index-b8f2908d.js.map +0 -1
- package/dist/chunks/index-c655a86f.js +0 -7
- package/dist/chunks/index-c655a86f.js.map +0 -1
- package/dist/chunks/index-d9171717.js +0 -13
- package/dist/chunks/index-d9171717.js.map +0 -1
- package/dist/chunks/index-e42d0aaf.js +0 -36
- package/dist/chunks/index-e42d0aaf.js.map +0 -1
- package/dist/chunks/index-ebc47eac.js +0 -2765
- package/dist/chunks/index-ebc47eac.js.map +0 -1
- package/dist/chunks/index-ffe23855.js +0 -71
- package/dist/chunks/index-ffe23855.js.map +0 -1
- package/dist/chunks/input-7c5e4260.js +0 -13
- package/dist/chunks/input-7c5e4260.js.map +0 -1
- package/dist/chunks/label-2a076b3f.js +0 -70
- package/dist/chunks/label-2a076b3f.js.map +0 -1
- package/dist/chunks/language-select-b35256ab.js +0 -12
- package/dist/chunks/language-select-b35256ab.js.map +0 -1
- package/dist/chunks/play-c2a06e4e.js +0 -16
- package/dist/chunks/play-c2a06e4e.js.map +0 -1
- package/dist/chunks/plus-f36f52e8.js +0 -17
- package/dist/chunks/plus-f36f52e8.js.map +0 -1
- package/dist/chunks/popover-4b5c0941.js +0 -385
- package/dist/chunks/popover-4b5c0941.js.map +0 -1
- package/dist/chunks/scroll-area-8dc03d8f.js +0 -727
- package/dist/chunks/scroll-area-8dc03d8f.js.map +0 -1
- package/dist/chunks/select-88f1b66c.js +0 -1281
- package/dist/chunks/select-88f1b66c.js.map +0 -1
- package/dist/chunks/separator-a6b3e5d2.js +0 -74
- package/dist/chunks/separator-a6b3e5d2.js.map +0 -1
- package/dist/chunks/settings-2-8e53118c.js +0 -19
- package/dist/chunks/settings-2-8e53118c.js.map +0 -1
- package/dist/chunks/sparkles-a0316be3.js +0 -26
- package/dist/chunks/sparkles-a0316be3.js.map +0 -1
- package/dist/chunks/style-inject.es-746bb8ed.js +0 -29
- package/dist/chunks/style-inject.es-746bb8ed.js.map +0 -1
- package/dist/chunks/tabs-38ee85c4.js +0 -205
- package/dist/chunks/tabs-38ee85c4.js.map +0 -1
- package/dist/chunks/tooltip-eb8a0f63.js +0 -1671
- package/dist/chunks/tooltip-eb8a0f63.js.map +0 -1
- package/dist/chunks/trash-2-41ddec45.js +0 -20
- package/dist/chunks/trash-2-41ddec45.js.map +0 -1
- package/dist/chunks/upload-b987996c.js +0 -44
- package/dist/chunks/upload-b987996c.js.map +0 -1
- package/dist/chunks/utils-208f599b.js +0 -2500
- package/dist/chunks/utils-208f599b.js.map +0 -1
- package/dist/chunks/x-f7edc87d.js +0 -17
- package/dist/chunks/x-f7edc87d.js.map +0 -1
- package/dist/code-group.js.map +0 -1
- package/dist/code.js.map +0 -1
- package/dist/divider.js.map +0 -1
- package/dist/embed.js.map +0 -1
- package/dist/emoji.js.map +0 -1
- package/dist/file.js.map +0 -1
- package/dist/headings.js.map +0 -1
- package/dist/image.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/link.js.map +0 -1
- package/dist/lists.js.map +0 -1
- package/dist/mention.js.map +0 -1
- package/dist/paragraph.js.map +0 -1
- package/dist/steps.js.map +0 -1
- package/dist/table-of-contents.js.map +0 -1
- package/dist/table.js.map +0 -1
- package/dist/tabs.js.map +0 -1
- package/dist/video.js.map +0 -1
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import React__default from 'react';
|
|
3
|
-
import { c as createContextScope } from './index-9ac5afe2.js';
|
|
4
|
-
import { c as composeRefs, u as useComposedRefs } from './index-b8f2908d.js';
|
|
5
|
-
import { jsx } from 'react/jsx-runtime';
|
|
6
|
-
|
|
7
|
-
// src/slot.tsx
|
|
8
|
-
// @__NO_SIDE_EFFECTS__
|
|
9
|
-
function createSlot(ownerName) {
|
|
10
|
-
const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
|
|
11
|
-
const Slot2 = React.forwardRef((props, forwardedRef) => {
|
|
12
|
-
const { children, ...slotProps } = props;
|
|
13
|
-
const childrenArray = React.Children.toArray(children);
|
|
14
|
-
const slottable = childrenArray.find(isSlottable);
|
|
15
|
-
if (slottable) {
|
|
16
|
-
const newElement = slottable.props.children;
|
|
17
|
-
const newChildren = childrenArray.map((child) => {
|
|
18
|
-
if (child === slottable) {
|
|
19
|
-
if (React.Children.count(newElement) > 1) return React.Children.only(null);
|
|
20
|
-
return React.isValidElement(newElement) ? newElement.props.children : null;
|
|
21
|
-
} else {
|
|
22
|
-
return child;
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });
|
|
26
|
-
}
|
|
27
|
-
return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });
|
|
28
|
-
});
|
|
29
|
-
Slot2.displayName = `${ownerName}.Slot`;
|
|
30
|
-
return Slot2;
|
|
31
|
-
}
|
|
32
|
-
// @__NO_SIDE_EFFECTS__
|
|
33
|
-
function createSlotClone(ownerName) {
|
|
34
|
-
const SlotClone = React.forwardRef((props, forwardedRef) => {
|
|
35
|
-
const { children, ...slotProps } = props;
|
|
36
|
-
if (React.isValidElement(children)) {
|
|
37
|
-
const childrenRef = getElementRef(children);
|
|
38
|
-
const props2 = mergeProps(slotProps, children.props);
|
|
39
|
-
if (children.type !== React.Fragment) {
|
|
40
|
-
props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
|
|
41
|
-
}
|
|
42
|
-
return React.cloneElement(children, props2);
|
|
43
|
-
}
|
|
44
|
-
return React.Children.count(children) > 1 ? React.Children.only(null) : null;
|
|
45
|
-
});
|
|
46
|
-
SlotClone.displayName = `${ownerName}.SlotClone`;
|
|
47
|
-
return SlotClone;
|
|
48
|
-
}
|
|
49
|
-
var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
|
|
50
|
-
function isSlottable(child) {
|
|
51
|
-
return React.isValidElement(child) && typeof child.type === "function" && "__radixId" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;
|
|
52
|
-
}
|
|
53
|
-
function mergeProps(slotProps, childProps) {
|
|
54
|
-
const overrideProps = { ...childProps };
|
|
55
|
-
for (const propName in childProps) {
|
|
56
|
-
const slotPropValue = slotProps[propName];
|
|
57
|
-
const childPropValue = childProps[propName];
|
|
58
|
-
const isHandler = /^on[A-Z]/.test(propName);
|
|
59
|
-
if (isHandler) {
|
|
60
|
-
if (slotPropValue && childPropValue) {
|
|
61
|
-
overrideProps[propName] = (...args) => {
|
|
62
|
-
const result = childPropValue(...args);
|
|
63
|
-
slotPropValue(...args);
|
|
64
|
-
return result;
|
|
65
|
-
};
|
|
66
|
-
} else if (slotPropValue) {
|
|
67
|
-
overrideProps[propName] = slotPropValue;
|
|
68
|
-
}
|
|
69
|
-
} else if (propName === "style") {
|
|
70
|
-
overrideProps[propName] = { ...slotPropValue, ...childPropValue };
|
|
71
|
-
} else if (propName === "className") {
|
|
72
|
-
overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(" ");
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
return { ...slotProps, ...overrideProps };
|
|
76
|
-
}
|
|
77
|
-
function getElementRef(element) {
|
|
78
|
-
let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
|
|
79
|
-
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
|
80
|
-
if (mayWarn) {
|
|
81
|
-
return element.ref;
|
|
82
|
-
}
|
|
83
|
-
getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
|
|
84
|
-
mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
|
85
|
-
if (mayWarn) {
|
|
86
|
-
return element.props.ref;
|
|
87
|
-
}
|
|
88
|
-
return element.props.ref || element.ref;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
function createCollection(name) {
|
|
92
|
-
const PROVIDER_NAME = name + "CollectionProvider";
|
|
93
|
-
const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);
|
|
94
|
-
const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(
|
|
95
|
-
PROVIDER_NAME,
|
|
96
|
-
{ collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }
|
|
97
|
-
);
|
|
98
|
-
const CollectionProvider = (props) => {
|
|
99
|
-
const { scope, children } = props;
|
|
100
|
-
const ref = React__default.useRef(null);
|
|
101
|
-
const itemMap = React__default.useRef(/* @__PURE__ */ new Map()).current;
|
|
102
|
-
return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });
|
|
103
|
-
};
|
|
104
|
-
CollectionProvider.displayName = PROVIDER_NAME;
|
|
105
|
-
const COLLECTION_SLOT_NAME = name + "CollectionSlot";
|
|
106
|
-
const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);
|
|
107
|
-
const CollectionSlot = React__default.forwardRef(
|
|
108
|
-
(props, forwardedRef) => {
|
|
109
|
-
const { scope, children } = props;
|
|
110
|
-
const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);
|
|
111
|
-
const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);
|
|
112
|
-
return /* @__PURE__ */ jsx(CollectionSlotImpl, { ref: composedRefs, children });
|
|
113
|
-
}
|
|
114
|
-
);
|
|
115
|
-
CollectionSlot.displayName = COLLECTION_SLOT_NAME;
|
|
116
|
-
const ITEM_SLOT_NAME = name + "CollectionItemSlot";
|
|
117
|
-
const ITEM_DATA_ATTR = "data-radix-collection-item";
|
|
118
|
-
const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);
|
|
119
|
-
const CollectionItemSlot = React__default.forwardRef(
|
|
120
|
-
(props, forwardedRef) => {
|
|
121
|
-
const { scope, children, ...itemData } = props;
|
|
122
|
-
const ref = React__default.useRef(null);
|
|
123
|
-
const composedRefs = useComposedRefs(forwardedRef, ref);
|
|
124
|
-
const context = useCollectionContext(ITEM_SLOT_NAME, scope);
|
|
125
|
-
React__default.useEffect(() => {
|
|
126
|
-
context.itemMap.set(ref, { ref, ...itemData });
|
|
127
|
-
return () => void context.itemMap.delete(ref);
|
|
128
|
-
});
|
|
129
|
-
return /* @__PURE__ */ jsx(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: "" }, ref: composedRefs, children });
|
|
130
|
-
}
|
|
131
|
-
);
|
|
132
|
-
CollectionItemSlot.displayName = ITEM_SLOT_NAME;
|
|
133
|
-
function useCollection(scope) {
|
|
134
|
-
const context = useCollectionContext(name + "CollectionConsumer", scope);
|
|
135
|
-
const getItems = React__default.useCallback(() => {
|
|
136
|
-
const collectionNode = context.collectionRef.current;
|
|
137
|
-
if (!collectionNode) return [];
|
|
138
|
-
const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));
|
|
139
|
-
const items = Array.from(context.itemMap.values());
|
|
140
|
-
const orderedItems = items.sort(
|
|
141
|
-
(a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)
|
|
142
|
-
);
|
|
143
|
-
return orderedItems;
|
|
144
|
-
}, [context.collectionRef, context.itemMap]);
|
|
145
|
-
return getItems;
|
|
146
|
-
}
|
|
147
|
-
return [
|
|
148
|
-
{ Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },
|
|
149
|
-
useCollection,
|
|
150
|
-
createCollectionScope
|
|
151
|
-
];
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
export { createCollection as c };
|
|
155
|
-
//# sourceMappingURL=index-12e7c5fd.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-12e7c5fd.js","sources":["../../../../../node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/src/slot.tsx","../../../../../node_modules/@radix-ui/react-collection/src/collection-legacy.tsx"],"sourcesContent":["import * as React from 'react';\nimport { composeRefs } from '@radix-ui/react-compose-refs';\n\n/* -------------------------------------------------------------------------------------------------\n * Slot\n * -----------------------------------------------------------------------------------------------*/\n\ninterface SlotProps extends React.HTMLAttributes<HTMLElement> {\n children?: React.ReactNode;\n}\n\n/* @__NO_SIDE_EFFECTS__ */ export function createSlot(ownerName: string) {\n const SlotClone = createSlotClone(ownerName);\n const Slot = React.forwardRef<HTMLElement, SlotProps>((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n\n if (slottable) {\n // the new element to render is the one passed as a child of `Slottable`\n const newElement = slottable.props.children;\n\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n // because the new element will be the one rendered, we are only interested\n // in grabbing its children (`newElement.props.children`)\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement)\n ? (newElement.props as { children: React.ReactNode }).children\n : null;\n } else {\n return child;\n }\n });\n\n return (\n <SlotClone {...slotProps} ref={forwardedRef}>\n {React.isValidElement(newElement)\n ? React.cloneElement(newElement, undefined, newChildren)\n : null}\n </SlotClone>\n );\n }\n\n return (\n <SlotClone {...slotProps} ref={forwardedRef}>\n {children}\n </SlotClone>\n );\n });\n\n Slot.displayName = `${ownerName}.Slot`;\n return Slot;\n}\n\nconst Slot = createSlot('Slot');\n\n/* -------------------------------------------------------------------------------------------------\n * SlotClone\n * -----------------------------------------------------------------------------------------------*/\n\ninterface SlotCloneProps {\n children: React.ReactNode;\n}\n\n/* @__NO_SIDE_EFFECTS__ */ function createSlotClone(ownerName: string) {\n const SlotClone = React.forwardRef<any, SlotCloneProps>((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props = mergeProps(slotProps, children.props as AnyProps);\n // do not pass ref to React.Fragment for React 19 compatibility\n if (children.type !== React.Fragment) {\n props.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props);\n }\n\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Slottable\n * -----------------------------------------------------------------------------------------------*/\n\nconst SLOTTABLE_IDENTIFIER = Symbol('radix.slottable');\n\ninterface SlottableProps {\n children: React.ReactNode;\n}\n\ninterface SlottableComponent extends React.FC<SlottableProps> {\n __radixId: symbol;\n}\n\n/* @__NO_SIDE_EFFECTS__ */ export function createSlottable(ownerName: string) {\n const Slottable: SlottableComponent = ({ children }) => {\n return <>{children}</>;\n };\n Slottable.displayName = `${ownerName}.Slottable`;\n Slottable.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable;\n}\n\nconst Slottable = createSlottable('Slottable');\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype AnyProps = Record<string, any>;\n\nfunction isSlottable(\n child: React.ReactNode\n): child is React.ReactElement<SlottableProps, typeof Slottable> {\n return (\n React.isValidElement(child) &&\n typeof child.type === 'function' &&\n '__radixId' in child.type &&\n child.type.__radixId === SLOTTABLE_IDENTIFIER\n );\n}\n\nfunction mergeProps(slotProps: AnyProps, childProps: AnyProps) {\n // all child props should override\n const overrideProps = { ...childProps };\n\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n // if the handler exists on both, we compose them\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args: unknown[]) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n }\n // but if it exists only on the slot, we use only this one\n else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n }\n // if it's `style`, we merge them\n else if (propName === 'style') {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === 'className') {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(' ');\n }\n }\n\n return { ...slotProps, ...overrideProps };\n}\n\n// Before React 19 accessing `element.props.ref` will throw a warning and suggest using `element.ref`\n// After React 19 accessing `element.ref` does the opposite.\n// https://github.com/facebook/react/pull/28348\n//\n// Access the ref using the method that doesn't yield a warning.\nfunction getElementRef(element: React.ReactElement) {\n // React <=18 in DEV\n let getter = Object.getOwnPropertyDescriptor(element.props, 'ref')?.get;\n let mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning;\n if (mayWarn) {\n return (element as any).ref;\n }\n\n // React 19 in DEV\n getter = Object.getOwnPropertyDescriptor(element, 'ref')?.get;\n mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning;\n if (mayWarn) {\n return (element.props as { ref?: React.Ref<unknown> }).ref;\n }\n\n // Not DEV\n return (element.props as { ref?: React.Ref<unknown> }).ref || (element as any).ref;\n}\n\nexport {\n Slot,\n Slottable,\n //\n Slot as Root,\n};\nexport type { SlotProps };\n","import React from 'react';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createSlot, type Slot } from '@radix-ui/react-slot';\n\ntype SlotProps = React.ComponentPropsWithoutRef<typeof Slot>;\ntype CollectionElement = HTMLElement;\ninterface CollectionProps extends SlotProps {\n scope: any;\n}\n\n// We have resorted to returning slots directly rather than exposing primitives that can then\n// be slotted like `<CollectionItem as={Slot}>…</CollectionItem>`.\n// This is because we encountered issues with generic types that cannot be statically analysed\n// due to creating them dynamically via createCollection.\n\nfunction createCollection<ItemElement extends HTMLElement, ItemData = {}>(name: string) {\n /* -----------------------------------------------------------------------------------------------\n * CollectionProvider\n * ---------------------------------------------------------------------------------------------*/\n\n const PROVIDER_NAME = name + 'CollectionProvider';\n const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n\n type ContextValue = {\n collectionRef: React.RefObject<CollectionElement | null>;\n itemMap: Map<\n React.RefObject<ItemElement | null>,\n { ref: React.RefObject<ItemElement | null> } & ItemData\n >;\n };\n\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext<ContextValue>(\n PROVIDER_NAME,\n { collectionRef: { current: null }, itemMap: new Map() }\n );\n\n const CollectionProvider: React.FC<{ children?: React.ReactNode; scope: any }> = (props) => {\n const { scope, children } = props;\n const ref = React.useRef<CollectionElement>(null);\n const itemMap = React.useRef<ContextValue['itemMap']>(new Map()).current;\n return (\n <CollectionProviderImpl scope={scope} itemMap={itemMap} collectionRef={ref}>\n {children}\n </CollectionProviderImpl>\n );\n };\n\n CollectionProvider.displayName = PROVIDER_NAME;\n\n /* -----------------------------------------------------------------------------------------------\n * CollectionSlot\n * ---------------------------------------------------------------------------------------------*/\n\n const COLLECTION_SLOT_NAME = name + 'CollectionSlot';\n\n const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);\n const CollectionSlot = React.forwardRef<CollectionElement, CollectionProps>(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return <CollectionSlotImpl ref={composedRefs}>{children}</CollectionSlotImpl>;\n }\n );\n\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n\n /* -----------------------------------------------------------------------------------------------\n * CollectionItem\n * ---------------------------------------------------------------------------------------------*/\n\n const ITEM_SLOT_NAME = name + 'CollectionItemSlot';\n const ITEM_DATA_ATTR = 'data-radix-collection-item';\n\n type CollectionItemSlotProps = ItemData & {\n children: React.ReactNode;\n scope: any;\n };\n\n const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);\n const CollectionItemSlot = React.forwardRef<ItemElement, CollectionItemSlotProps>(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React.useRef<ItemElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n\n React.useEffect(() => {\n context.itemMap.set(ref, { ref, ...(itemData as unknown as ItemData) });\n return () => void context.itemMap.delete(ref);\n });\n\n return (\n <CollectionItemSlotImpl {...{ [ITEM_DATA_ATTR]: '' }} ref={composedRefs}>\n {children}\n </CollectionItemSlotImpl>\n );\n }\n );\n\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n\n /* -----------------------------------------------------------------------------------------------\n * useCollection\n * ---------------------------------------------------------------------------------------------*/\n\n function useCollection(scope: any) {\n const context = useCollectionContext(name + 'CollectionConsumer', scope);\n\n const getItems = React.useCallback(() => {\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref.current!) - orderedNodes.indexOf(b.ref.current!)\n );\n return orderedItems;\n }, [context.collectionRef, context.itemMap]);\n\n return getItems;\n }\n\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n useCollection,\n createCollectionScope,\n ] as const;\n}\n\nexport { createCollection };\nexport type { CollectionProps };\n"],"names":["Slot","props","React"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { u as useComposedRefs } from './index-b8f2908d.js';
|
|
3
|
-
import { u as useLayoutEffect2 } from './index-9ac5afe2.js';
|
|
4
|
-
|
|
5
|
-
function useStateMachine(initialState, machine) {
|
|
6
|
-
return React.useReducer((state, event) => {
|
|
7
|
-
const nextState = machine[state][event];
|
|
8
|
-
return nextState ?? state;
|
|
9
|
-
}, initialState);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
// src/presence.tsx
|
|
13
|
-
var Presence = (props) => {
|
|
14
|
-
const { present, children } = props;
|
|
15
|
-
const presence = usePresence(present);
|
|
16
|
-
const child = typeof children === "function" ? children({ present: presence.isPresent }) : React.Children.only(children);
|
|
17
|
-
const ref = useComposedRefs(presence.ref, getElementRef(child));
|
|
18
|
-
const forceMount = typeof children === "function";
|
|
19
|
-
return forceMount || presence.isPresent ? React.cloneElement(child, { ref }) : null;
|
|
20
|
-
};
|
|
21
|
-
Presence.displayName = "Presence";
|
|
22
|
-
function usePresence(present) {
|
|
23
|
-
const [node, setNode] = React.useState();
|
|
24
|
-
const stylesRef = React.useRef(null);
|
|
25
|
-
const prevPresentRef = React.useRef(present);
|
|
26
|
-
const prevAnimationNameRef = React.useRef("none");
|
|
27
|
-
const initialState = present ? "mounted" : "unmounted";
|
|
28
|
-
const [state, send] = useStateMachine(initialState, {
|
|
29
|
-
mounted: {
|
|
30
|
-
UNMOUNT: "unmounted",
|
|
31
|
-
ANIMATION_OUT: "unmountSuspended"
|
|
32
|
-
},
|
|
33
|
-
unmountSuspended: {
|
|
34
|
-
MOUNT: "mounted",
|
|
35
|
-
ANIMATION_END: "unmounted"
|
|
36
|
-
},
|
|
37
|
-
unmounted: {
|
|
38
|
-
MOUNT: "mounted"
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
React.useEffect(() => {
|
|
42
|
-
const currentAnimationName = getAnimationName(stylesRef.current);
|
|
43
|
-
prevAnimationNameRef.current = state === "mounted" ? currentAnimationName : "none";
|
|
44
|
-
}, [state]);
|
|
45
|
-
useLayoutEffect2(() => {
|
|
46
|
-
const styles = stylesRef.current;
|
|
47
|
-
const wasPresent = prevPresentRef.current;
|
|
48
|
-
const hasPresentChanged = wasPresent !== present;
|
|
49
|
-
if (hasPresentChanged) {
|
|
50
|
-
const prevAnimationName = prevAnimationNameRef.current;
|
|
51
|
-
const currentAnimationName = getAnimationName(styles);
|
|
52
|
-
if (present) {
|
|
53
|
-
send("MOUNT");
|
|
54
|
-
} else if (currentAnimationName === "none" || styles?.display === "none") {
|
|
55
|
-
send("UNMOUNT");
|
|
56
|
-
} else {
|
|
57
|
-
const isAnimating = prevAnimationName !== currentAnimationName;
|
|
58
|
-
if (wasPresent && isAnimating) {
|
|
59
|
-
send("ANIMATION_OUT");
|
|
60
|
-
} else {
|
|
61
|
-
send("UNMOUNT");
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
prevPresentRef.current = present;
|
|
65
|
-
}
|
|
66
|
-
}, [present, send]);
|
|
67
|
-
useLayoutEffect2(() => {
|
|
68
|
-
if (node) {
|
|
69
|
-
let timeoutId;
|
|
70
|
-
const ownerWindow = node.ownerDocument.defaultView ?? window;
|
|
71
|
-
const handleAnimationEnd = (event) => {
|
|
72
|
-
const currentAnimationName = getAnimationName(stylesRef.current);
|
|
73
|
-
const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));
|
|
74
|
-
if (event.target === node && isCurrentAnimation) {
|
|
75
|
-
send("ANIMATION_END");
|
|
76
|
-
if (!prevPresentRef.current) {
|
|
77
|
-
const currentFillMode = node.style.animationFillMode;
|
|
78
|
-
node.style.animationFillMode = "forwards";
|
|
79
|
-
timeoutId = ownerWindow.setTimeout(() => {
|
|
80
|
-
if (node.style.animationFillMode === "forwards") {
|
|
81
|
-
node.style.animationFillMode = currentFillMode;
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
const handleAnimationStart = (event) => {
|
|
88
|
-
if (event.target === node) {
|
|
89
|
-
prevAnimationNameRef.current = getAnimationName(stylesRef.current);
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
node.addEventListener("animationstart", handleAnimationStart);
|
|
93
|
-
node.addEventListener("animationcancel", handleAnimationEnd);
|
|
94
|
-
node.addEventListener("animationend", handleAnimationEnd);
|
|
95
|
-
return () => {
|
|
96
|
-
ownerWindow.clearTimeout(timeoutId);
|
|
97
|
-
node.removeEventListener("animationstart", handleAnimationStart);
|
|
98
|
-
node.removeEventListener("animationcancel", handleAnimationEnd);
|
|
99
|
-
node.removeEventListener("animationend", handleAnimationEnd);
|
|
100
|
-
};
|
|
101
|
-
} else {
|
|
102
|
-
send("ANIMATION_END");
|
|
103
|
-
}
|
|
104
|
-
}, [node, send]);
|
|
105
|
-
return {
|
|
106
|
-
isPresent: ["mounted", "unmountSuspended"].includes(state),
|
|
107
|
-
ref: React.useCallback((node2) => {
|
|
108
|
-
stylesRef.current = node2 ? getComputedStyle(node2) : null;
|
|
109
|
-
setNode(node2);
|
|
110
|
-
}, [])
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
function getAnimationName(styles) {
|
|
114
|
-
return styles?.animationName || "none";
|
|
115
|
-
}
|
|
116
|
-
function getElementRef(element) {
|
|
117
|
-
let getter = Object.getOwnPropertyDescriptor(element.props, "ref")?.get;
|
|
118
|
-
let mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
|
119
|
-
if (mayWarn) {
|
|
120
|
-
return element.ref;
|
|
121
|
-
}
|
|
122
|
-
getter = Object.getOwnPropertyDescriptor(element, "ref")?.get;
|
|
123
|
-
mayWarn = getter && "isReactWarning" in getter && getter.isReactWarning;
|
|
124
|
-
if (mayWarn) {
|
|
125
|
-
return element.props.ref;
|
|
126
|
-
}
|
|
127
|
-
return element.props.ref || element.ref;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
export { Presence as P };
|
|
131
|
-
//# sourceMappingURL=index-26994c9d.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-26994c9d.js","sources":["../../../../../node_modules/@radix-ui/react-presence/src/use-state-machine.tsx","../../../../../node_modules/@radix-ui/react-presence/src/presence.tsx"],"sourcesContent":["import * as React from 'react';\n\ntype Machine<S> = { [k: string]: { [k: string]: S } };\ntype MachineState<T> = keyof T;\ntype MachineEvent<T> = keyof UnionToIntersection<T[keyof T]>;\n\n// 🤯 https://fettblog.eu/typescript-union-to-intersection/\ntype UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends (x: infer R) => any\n ? R\n : never;\n\nexport function useStateMachine<M>(\n initialState: MachineState<M>,\n machine: M & Machine<MachineState<M>>\n) {\n return React.useReducer((state: MachineState<M>, event: MachineEvent<M>): MachineState<M> => {\n const nextState = (machine[state] as any)[event];\n return nextState ?? state;\n }, initialState);\n}\n","import * as React from 'react';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { useStateMachine } from './use-state-machine';\n\ninterface PresenceProps {\n children: React.ReactElement | ((props: { present: boolean }) => React.ReactElement);\n present: boolean;\n}\n\nconst Presence: React.FC<PresenceProps> = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n\n const child = (\n typeof children === 'function'\n ? children({ present: presence.isPresent })\n : React.Children.only(children)\n ) as React.ReactElement<{ ref?: React.Ref<HTMLElement> }>;\n\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === 'function';\n return forceMount || presence.isPresent ? React.cloneElement(child, { ref }) : null;\n};\n\nPresence.displayName = 'Presence';\n\n/* -------------------------------------------------------------------------------------------------\n * usePresence\n * -----------------------------------------------------------------------------------------------*/\n\nfunction usePresence(present: boolean) {\n const [node, setNode] = React.useState<HTMLElement>();\n const stylesRef = React.useRef<CSSStyleDeclaration | null>(null);\n const prevPresentRef = React.useRef(present);\n const prevAnimationNameRef = React.useRef<string>('none');\n const initialState = present ? 'mounted' : 'unmounted';\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: 'unmounted',\n ANIMATION_OUT: 'unmountSuspended',\n },\n unmountSuspended: {\n MOUNT: 'mounted',\n ANIMATION_END: 'unmounted',\n },\n unmounted: {\n MOUNT: 'mounted',\n },\n });\n\n React.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === 'mounted' ? currentAnimationName : 'none';\n }, [state]);\n\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n\n if (present) {\n send('MOUNT');\n } else if (currentAnimationName === 'none' || styles?.display === 'none') {\n // If there is no exit animation or the element is hidden, animations won't run\n // so we unmount instantly\n send('UNMOUNT');\n } else {\n /**\n * When `present` changes to `false`, we check changes to animation-name to\n * determine whether an animation has started. We chose this approach (reading\n * computed styles) because there is no `animationrun` event and `animationstart`\n * fires after `animation-delay` has expired which would be too late.\n */\n const isAnimating = prevAnimationName !== currentAnimationName;\n\n if (wasPresent && isAnimating) {\n send('ANIMATION_OUT');\n } else {\n send('UNMOUNT');\n }\n }\n\n prevPresentRef.current = present;\n }\n }, [present, send]);\n\n useLayoutEffect(() => {\n if (node) {\n let timeoutId: number;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n /**\n * Triggering an ANIMATION_OUT during an ANIMATION_IN will fire an `animationcancel`\n * event for ANIMATION_IN after we have entered `unmountSuspended` state. So, we\n * make sure we only trigger ANIMATION_END for the currently active animation.\n */\n const handleAnimationEnd = (event: AnimationEvent) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n // The event.animationName is unescaped for CSS syntax,\n // so we need to escape it to compare with the animationName computed from the style.\n const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n if (event.target === node && isCurrentAnimation) {\n // With React 18 concurrency this update is applied a frame after the\n // animation ends, creating a flash of visible content. By setting the\n // animation fill mode to \"forwards\", we force the node to keep the\n // styles of the last keyframe, removing the flash.\n //\n // Previously we flushed the update via ReactDom.flushSync, but with\n // exit animations this resulted in the node being removed from the\n // DOM before the synthetic animationEnd event was dispatched, meaning\n // user-provided event handlers would not be called.\n // https://github.com/radix-ui/primitives/pull/1849\n send('ANIMATION_END');\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = 'forwards';\n // Reset the style after the node had time to unmount (for cases\n // where the component chooses not to unmount). Doing this any\n // sooner than `setTimeout` (e.g. with `requestAnimationFrame`)\n // still causes a flash.\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === 'forwards') {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event: AnimationEvent) => {\n if (event.target === node) {\n // if animation occurred, store its name as the previous animation.\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener('animationstart', handleAnimationStart);\n node.addEventListener('animationcancel', handleAnimationEnd);\n node.addEventListener('animationend', handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener('animationstart', handleAnimationStart);\n node.removeEventListener('animationcancel', handleAnimationEnd);\n node.removeEventListener('animationend', handleAnimationEnd);\n };\n } else {\n // Transition to the unmounted state if the node is removed prematurely.\n // We avoid doing so during cleanup as the node may change but still exist.\n send('ANIMATION_END');\n }\n }, [node, send]);\n\n return {\n isPresent: ['mounted', 'unmountSuspended'].includes(state),\n ref: React.useCallback((node: HTMLElement) => {\n stylesRef.current = node ? getComputedStyle(node) : null;\n setNode(node);\n }, []),\n };\n}\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getAnimationName(styles: CSSStyleDeclaration | null) {\n return styles?.animationName || 'none';\n}\n\n// Before React 19 accessing `element.props.ref` will throw a warning and suggest using `element.ref`\n// After React 19 accessing `element.ref` does the opposite.\n// https://github.com/facebook/react/pull/28348\n//\n// Access the ref using the method that doesn't yield a warning.\nfunction getElementRef(element: React.ReactElement<{ ref?: React.Ref<unknown> }>) {\n // React <=18 in DEV\n let getter = Object.getOwnPropertyDescriptor(element.props, 'ref')?.get;\n let mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning;\n if (mayWarn) {\n return (element as any).ref;\n }\n\n // React 19 in DEV\n getter = Object.getOwnPropertyDescriptor(element, 'ref')?.get;\n mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n\n // Not DEV\n return element.props.ref || (element as any).ref;\n}\n\nconst Root = Presence;\n\nexport {\n Presence,\n //\n Root,\n};\nexport type { PresenceProps };\n"],"names":["React2","useLayoutEffect","node"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
import { c as createLucideIcon } from './createLucideIcon-6ba35914.js';
|
|
2
|
-
|
|
3
|
-
function _mergeNamespaces(n, m) {
|
|
4
|
-
m.forEach(function (e) {
|
|
5
|
-
e && typeof e !== 'string' && !Array.isArray(e) && Object.keys(e).forEach(function (k) {
|
|
6
|
-
if (k !== 'default' && !(k in n)) {
|
|
7
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
8
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
9
|
-
enumerable: true,
|
|
10
|
-
get: function () { return e[k]; }
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
});
|
|
14
|
-
});
|
|
15
|
-
return Object.freeze(n);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* @license lucide-react v0.294.0 - ISC
|
|
20
|
-
*
|
|
21
|
-
* This source code is licensed under the ISC license.
|
|
22
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
23
|
-
*/
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const Copy = createLucideIcon("Copy", [
|
|
27
|
-
["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
|
|
28
|
-
["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
|
|
29
|
-
]);
|
|
30
|
-
|
|
31
|
-
var toggleSelection = function () {
|
|
32
|
-
var selection = document.getSelection();
|
|
33
|
-
if (!selection.rangeCount) {
|
|
34
|
-
return function () {};
|
|
35
|
-
}
|
|
36
|
-
var active = document.activeElement;
|
|
37
|
-
|
|
38
|
-
var ranges = [];
|
|
39
|
-
for (var i = 0; i < selection.rangeCount; i++) {
|
|
40
|
-
ranges.push(selection.getRangeAt(i));
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML
|
|
44
|
-
case 'INPUT':
|
|
45
|
-
case 'TEXTAREA':
|
|
46
|
-
active.blur();
|
|
47
|
-
break;
|
|
48
|
-
|
|
49
|
-
default:
|
|
50
|
-
active = null;
|
|
51
|
-
break;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
selection.removeAllRanges();
|
|
55
|
-
return function () {
|
|
56
|
-
selection.type === 'Caret' &&
|
|
57
|
-
selection.removeAllRanges();
|
|
58
|
-
|
|
59
|
-
if (!selection.rangeCount) {
|
|
60
|
-
ranges.forEach(function(range) {
|
|
61
|
-
selection.addRange(range);
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
active &&
|
|
66
|
-
active.focus();
|
|
67
|
-
};
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
var deselectCurrent = toggleSelection;
|
|
71
|
-
|
|
72
|
-
var clipboardToIE11Formatting = {
|
|
73
|
-
"text/plain": "Text",
|
|
74
|
-
"text/html": "Url",
|
|
75
|
-
"default": "Text"
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
var defaultMessage = "Copy to clipboard: #{key}, Enter";
|
|
79
|
-
|
|
80
|
-
function format(message) {
|
|
81
|
-
var copyKey = (/mac os x/i.test(navigator.userAgent) ? "⌘" : "Ctrl") + "+C";
|
|
82
|
-
return message.replace(/#{\s*key\s*}/g, copyKey);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
function copy(text, options) {
|
|
86
|
-
var debug,
|
|
87
|
-
message,
|
|
88
|
-
reselectPrevious,
|
|
89
|
-
range,
|
|
90
|
-
selection,
|
|
91
|
-
mark,
|
|
92
|
-
success = false;
|
|
93
|
-
if (!options) {
|
|
94
|
-
options = {};
|
|
95
|
-
}
|
|
96
|
-
debug = options.debug || false;
|
|
97
|
-
try {
|
|
98
|
-
reselectPrevious = deselectCurrent();
|
|
99
|
-
|
|
100
|
-
range = document.createRange();
|
|
101
|
-
selection = document.getSelection();
|
|
102
|
-
|
|
103
|
-
mark = document.createElement("span");
|
|
104
|
-
mark.textContent = text;
|
|
105
|
-
// avoid screen readers from reading out loud the text
|
|
106
|
-
mark.ariaHidden = "true";
|
|
107
|
-
// reset user styles for span element
|
|
108
|
-
mark.style.all = "unset";
|
|
109
|
-
// prevents scrolling to the end of the page
|
|
110
|
-
mark.style.position = "fixed";
|
|
111
|
-
mark.style.top = 0;
|
|
112
|
-
mark.style.clip = "rect(0, 0, 0, 0)";
|
|
113
|
-
// used to preserve spaces and line breaks
|
|
114
|
-
mark.style.whiteSpace = "pre";
|
|
115
|
-
// do not inherit user-select (it may be `none`)
|
|
116
|
-
mark.style.webkitUserSelect = "text";
|
|
117
|
-
mark.style.MozUserSelect = "text";
|
|
118
|
-
mark.style.msUserSelect = "text";
|
|
119
|
-
mark.style.userSelect = "text";
|
|
120
|
-
mark.addEventListener("copy", function(e) {
|
|
121
|
-
e.stopPropagation();
|
|
122
|
-
if (options.format) {
|
|
123
|
-
e.preventDefault();
|
|
124
|
-
if (typeof e.clipboardData === "undefined") { // IE 11
|
|
125
|
-
debug && console.warn("unable to use e.clipboardData");
|
|
126
|
-
debug && console.warn("trying IE specific stuff");
|
|
127
|
-
window.clipboardData.clearData();
|
|
128
|
-
var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting["default"];
|
|
129
|
-
window.clipboardData.setData(format, text);
|
|
130
|
-
} else { // all other browsers
|
|
131
|
-
e.clipboardData.clearData();
|
|
132
|
-
e.clipboardData.setData(options.format, text);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
if (options.onCopy) {
|
|
136
|
-
e.preventDefault();
|
|
137
|
-
options.onCopy(e.clipboardData);
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
|
|
141
|
-
document.body.appendChild(mark);
|
|
142
|
-
|
|
143
|
-
range.selectNodeContents(mark);
|
|
144
|
-
selection.addRange(range);
|
|
145
|
-
|
|
146
|
-
var successful = document.execCommand("copy");
|
|
147
|
-
if (!successful) {
|
|
148
|
-
throw new Error("copy command was unsuccessful");
|
|
149
|
-
}
|
|
150
|
-
success = true;
|
|
151
|
-
} catch (err) {
|
|
152
|
-
debug && console.error("unable to copy using execCommand: ", err);
|
|
153
|
-
debug && console.warn("trying IE specific stuff");
|
|
154
|
-
try {
|
|
155
|
-
window.clipboardData.setData(options.format || "text", text);
|
|
156
|
-
options.onCopy && options.onCopy(window.clipboardData);
|
|
157
|
-
success = true;
|
|
158
|
-
} catch (err) {
|
|
159
|
-
debug && console.error("unable to copy using clipboardData: ", err);
|
|
160
|
-
debug && console.error("falling back to prompt");
|
|
161
|
-
message = format("message" in options ? options.message : defaultMessage);
|
|
162
|
-
window.prompt(message, text);
|
|
163
|
-
}
|
|
164
|
-
} finally {
|
|
165
|
-
if (selection) {
|
|
166
|
-
if (typeof selection.removeRange == "function") {
|
|
167
|
-
selection.removeRange(range);
|
|
168
|
-
} else {
|
|
169
|
-
selection.removeAllRanges();
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
if (mark) {
|
|
174
|
-
document.body.removeChild(mark);
|
|
175
|
-
}
|
|
176
|
-
reselectPrevious();
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
return success;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
var copyToClipboard = copy;
|
|
183
|
-
|
|
184
|
-
var index = /*#__PURE__*/_mergeNamespaces({
|
|
185
|
-
__proto__: null,
|
|
186
|
-
default: copyToClipboard
|
|
187
|
-
}, [copyToClipboard]);
|
|
188
|
-
|
|
189
|
-
export { Copy as C, copyToClipboard as c, index as i };
|
|
190
|
-
//# sourceMappingURL=index-600be8f8.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-600be8f8.js","sources":["../../../../../node_modules/lucide-react/src/icons/copy.ts","../../../../../node_modules/toggle-selection/index.js","../../../../../node_modules/copy-to-clipboard/index.js"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Copy\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/copy\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Copy = createLucideIcon('Copy', [\n ['rect', { width: '14', height: '14', x: '8', y: '8', rx: '2', ry: '2', key: '17jyea' }],\n ['path', { d: 'M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2', key: 'zix9uf' }],\n]);\n\nexport default Copy;\n","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n"],"names":["require$$0"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { u as useLayoutEffect2 } from './index-9ac5afe2.js';
|
|
3
|
-
|
|
4
|
-
// packages/react/id/src/id.tsx
|
|
5
|
-
var useReactId = React[" useId ".trim().toString()] || (() => void 0);
|
|
6
|
-
var count = 0;
|
|
7
|
-
function useId(deterministicId) {
|
|
8
|
-
const [id, setId] = React.useState(useReactId());
|
|
9
|
-
useLayoutEffect2(() => {
|
|
10
|
-
if (!deterministicId) setId((reactId) => reactId ?? String(count++));
|
|
11
|
-
}, [deterministicId]);
|
|
12
|
-
return deterministicId || (id ? `radix-${id}` : "");
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export { useId as u };
|
|
16
|
-
//# sourceMappingURL=index-7e966ec9.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-7e966ec9.js","sources":["../../../../../node_modules/@radix-ui/react-id/src/id.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\n\n// We spaces with `.trim().toString()` to prevent bundlers from trying to `import { useId } from 'react';`\nconst useReactId = (React as any)[' useId '.trim().toString()] || (() => undefined);\nlet count = 0;\n\nfunction useId(deterministicId?: string): string {\n const [id, setId] = React.useState<string | undefined>(useReactId());\n // React versions older than 18 will have client-side ids only.\n useLayoutEffect(() => {\n if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : '');\n}\n\nexport { useId };\n"],"names":["useLayoutEffect"],"mappings":";;;;AAIA,IAAM,UAAA,GAAc,MAAc,SAAU,CAAA,IAAA,GAAO,QAAS,EAAC,MAAM,MAAM,KAAA,CAAA,CAAA,CAAA;AACzE,IAAI,KAAQ,GAAA,CAAA,CAAA;AAEZ,SAAS,MAAM,eAAkC,EAAA;AAC/C,EAAA,MAAM,CAAC,EAAI,EAAA,KAAK,CAAU,GAAA,KAAA,CAAA,QAAA,CAA6B,YAAY,CAAA,CAAA;AAEnE,EAAAA,gBAAA,CAAgB,MAAM;AACpB,IAAI,IAAA,CAAC,iBAAuB,KAAA,CAAA,CAAC,YAAY,OAAW,IAAA,MAAA,CAAO,OAAO,CAAC,CAAA,CAAA;AAAA,GACrE,EAAG,CAAC,eAAe,CAAC,CAAA,CAAA;AACpB,EAAA,OAAO,eAAoB,KAAA,EAAA,GAAK,CAAS,MAAA,EAAA,EAAE,CAAK,CAAA,GAAA,EAAA,CAAA,CAAA;AAClD;;;;","x_google_ignoreList":[0]}
|