@proveanything/smartlinks-utils-ui 0.3.7 → 0.3.9
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/chunk-IGFYMNKL.js +28 -0
- package/dist/chunk-IGFYMNKL.js.map +1 -0
- package/dist/components/AssetPicker/index.js +1 -1
- package/dist/components/ConditionsEditor/index.js +1 -1
- package/dist/components/FontPicker/index.js +1 -1
- package/dist/components/IconPicker/index.js +1 -1
- package/dist/components/RecordsAdmin/index.d.ts +248 -13
- package/dist/components/RecordsAdmin/index.js +987 -58
- package/dist/components/RecordsAdmin/index.js.map +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-WFNEZQCD.js +0 -28
- package/dist/chunk-WFNEZQCD.js.map +0 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// #style-inject:#style-inject
|
|
2
|
+
function styleInject(css, { insertAt } = {}) {
|
|
3
|
+
if (!css || typeof document === "undefined") return;
|
|
4
|
+
const head = document.head || document.getElementsByTagName("head")[0];
|
|
5
|
+
const style = document.createElement("style");
|
|
6
|
+
style.type = "text/css";
|
|
7
|
+
if (insertAt === "top") {
|
|
8
|
+
if (head.firstChild) {
|
|
9
|
+
head.insertBefore(style, head.firstChild);
|
|
10
|
+
} else {
|
|
11
|
+
head.appendChild(style);
|
|
12
|
+
}
|
|
13
|
+
} else {
|
|
14
|
+
head.appendChild(style);
|
|
15
|
+
}
|
|
16
|
+
if (style.styleSheet) {
|
|
17
|
+
style.styleSheet.cssText = css;
|
|
18
|
+
} else {
|
|
19
|
+
style.appendChild(document.createTextNode(css));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// src/styles.css
|
|
24
|
+
styleInject('.pointer-events-none {\n pointer-events: none;\n}\n.visible {\n visibility: visible;\n}\n.collapse {\n visibility: collapse;\n}\n.fixed {\n position: fixed;\n}\n.absolute {\n position: absolute;\n}\n.relative {\n position: relative;\n}\n.sticky {\n position: sticky;\n}\n.inset-0 {\n inset: 0px;\n}\n.inset-x-0 {\n left: 0px;\n right: 0px;\n}\n.bottom-0 {\n bottom: 0px;\n}\n.left-0 {\n left: 0px;\n}\n.left-1\\.5 {\n left: 0.375rem;\n}\n.left-2 {\n left: 0.5rem;\n}\n.left-2\\.5 {\n left: 0.625rem;\n}\n.left-3 {\n left: 0.75rem;\n}\n.right-0 {\n right: 0px;\n}\n.right-1\\.5 {\n right: 0.375rem;\n}\n.right-2 {\n right: 0.5rem;\n}\n.right-3 {\n right: 0.75rem;\n}\n.top-0 {\n top: 0px;\n}\n.top-0\\.5 {\n top: 0.125rem;\n}\n.top-1\\.5 {\n top: 0.375rem;\n}\n.top-1\\/2 {\n top: 50%;\n}\n.top-2 {\n top: 0.5rem;\n}\n.z-10 {\n z-index: 10;\n}\n.z-20 {\n z-index: 20;\n}\n.z-40 {\n z-index: 40;\n}\n.z-50 {\n z-index: 50;\n}\n.col-span-2 {\n grid-column: span 2 / span 2;\n}\n.mx-4 {\n margin-left: 1rem;\n margin-right: 1rem;\n}\n.mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n.-mb-px {\n margin-bottom: -1px;\n}\n.mb-1 {\n margin-bottom: 0.25rem;\n}\n.mb-2 {\n margin-bottom: 0.5rem;\n}\n.mb-3 {\n margin-bottom: 0.75rem;\n}\n.mb-4 {\n margin-bottom: 1rem;\n}\n.ml-1 {\n margin-left: 0.25rem;\n}\n.ml-1\\.5 {\n margin-left: 0.375rem;\n}\n.ml-2 {\n margin-left: 0.5rem;\n}\n.ml-auto {\n margin-left: auto;\n}\n.mt-0\\.5 {\n margin-top: 0.125rem;\n}\n.mt-1 {\n margin-top: 0.25rem;\n}\n.mt-1\\.5 {\n margin-top: 0.375rem;\n}\n.mt-2 {\n margin-top: 0.5rem;\n}\n.mt-4 {\n margin-top: 1rem;\n}\n.block {\n display: block;\n}\n.inline-block {\n display: inline-block;\n}\n.inline {\n display: inline;\n}\n.flex {\n display: flex;\n}\n.inline-flex {\n display: inline-flex;\n}\n.table {\n display: table;\n}\n.grid {\n display: grid;\n}\n.contents {\n display: contents;\n}\n.hidden {\n display: none;\n}\n.aspect-square {\n aspect-ratio: 1 / 1;\n}\n.aspect-video {\n aspect-ratio: 16 / 9;\n}\n.h-1\\.5 {\n height: 0.375rem;\n}\n.h-10 {\n height: 2.5rem;\n}\n.h-11 {\n height: 2.75rem;\n}\n.h-16 {\n height: 4rem;\n}\n.h-2 {\n height: 0.5rem;\n}\n.h-2\\.5 {\n height: 0.625rem;\n}\n.h-3 {\n height: 0.75rem;\n}\n.h-3\\.5 {\n height: 0.875rem;\n}\n.h-4 {\n height: 1rem;\n}\n.h-5 {\n height: 1.25rem;\n}\n.h-6 {\n height: 1.5rem;\n}\n.h-7 {\n height: 1.75rem;\n}\n.h-8 {\n height: 2rem;\n}\n.h-9 {\n height: 2.25rem;\n}\n.h-full {\n height: 100%;\n}\n.max-h-32 {\n max-height: 8rem;\n}\n.max-h-80 {\n max-height: 20rem;\n}\n.max-h-\\[300px\\] {\n max-height: 300px;\n}\n.max-h-\\[400px\\] {\n max-height: 400px;\n}\n.max-h-\\[80vh\\] {\n max-height: 80vh;\n}\n.max-h-\\[85vh\\] {\n max-height: 85vh;\n}\n.min-h-0 {\n min-height: 0px;\n}\n.w-1\\.5 {\n width: 0.375rem;\n}\n.w-10 {\n width: 2.5rem;\n}\n.w-16 {\n width: 4rem;\n}\n.w-2 {\n width: 0.5rem;\n}\n.w-2\\.5 {\n width: 0.625rem;\n}\n.w-3 {\n width: 0.75rem;\n}\n.w-3\\.5 {\n width: 0.875rem;\n}\n.w-36 {\n width: 9rem;\n}\n.w-4 {\n width: 1rem;\n}\n.w-5 {\n width: 1.25rem;\n}\n.w-6 {\n width: 1.5rem;\n}\n.w-7 {\n width: 1.75rem;\n}\n.w-8 {\n width: 2rem;\n}\n.w-9 {\n width: 2.25rem;\n}\n.w-full {\n width: 100%;\n}\n.min-w-0 {\n min-width: 0px;\n}\n.min-w-\\[12rem\\] {\n min-width: 12rem;\n}\n.min-w-\\[200px\\] {\n min-width: 200px;\n}\n.max-w-2xl {\n max-width: 42rem;\n}\n.max-w-4xl {\n max-width: 56rem;\n}\n.max-w-\\[12rem\\] {\n max-width: 12rem;\n}\n.max-w-\\[14rem\\] {\n max-width: 14rem;\n}\n.max-w-\\[160px\\] {\n max-width: 160px;\n}\n.max-w-\\[200px\\] {\n max-width: 200px;\n}\n.max-w-full {\n max-width: 100%;\n}\n.max-w-lg {\n max-width: 32rem;\n}\n.max-w-xl {\n max-width: 36rem;\n}\n.max-w-xs {\n max-width: 20rem;\n}\n.flex-1 {\n flex: 1 1 0%;\n}\n.flex-shrink-0 {\n flex-shrink: 0;\n}\n.shrink-0 {\n flex-shrink: 0;\n}\n.-translate-y-1\\/2 {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.translate-x-0\\.5 {\n --tw-translate-x: 0.125rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.translate-x-4 {\n --tw-translate-x: 1rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.scale-110 {\n --tw-scale-x: 1.1;\n --tw-scale-y: 1.1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n@keyframes pulse {\n 50% {\n opacity: .5;\n }\n}\n.animate-pulse {\n animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n.animate-spin {\n animation: spin 1s linear infinite;\n}\n.cursor-not-allowed {\n cursor: not-allowed;\n}\n.cursor-pointer {\n cursor: pointer;\n}\n.select-none {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.resize-none {\n resize: none;\n}\n.appearance-none {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n.grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n.grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n.grid-cols-8 {\n grid-template-columns: repeat(8, minmax(0, 1fr));\n}\n.flex-col {\n flex-direction: column;\n}\n.flex-wrap {\n flex-wrap: wrap;\n}\n.items-start {\n align-items: flex-start;\n}\n.items-end {\n align-items: flex-end;\n}\n.items-center {\n align-items: center;\n}\n.justify-end {\n justify-content: flex-end;\n}\n.justify-center {\n justify-content: center;\n}\n.justify-between {\n justify-content: space-between;\n}\n.gap-0\\.5 {\n gap: 0.125rem;\n}\n.gap-1 {\n gap: 0.25rem;\n}\n.gap-1\\.5 {\n gap: 0.375rem;\n}\n.gap-2 {\n gap: 0.5rem;\n}\n.gap-3 {\n gap: 0.75rem;\n}\n.space-y-0\\.5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));\n}\n.space-y-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));\n}\n.space-y-1\\.5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));\n}\n.space-y-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));\n}\n.space-y-2\\.5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));\n}\n.space-y-3 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));\n}\n.space-y-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1rem * var(--tw-space-y-reverse));\n}\n.divide-y > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-y-reverse: 0;\n border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));\n border-bottom-width: calc(1px * var(--tw-divide-y-reverse));\n}\n.self-start {\n align-self: flex-start;\n}\n.overflow-hidden {\n overflow: hidden;\n}\n.overflow-y-auto {\n overflow-y: auto;\n}\n.truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.rounded {\n border-radius: 0.25rem;\n}\n.rounded-full {\n border-radius: 9999px;\n}\n.rounded-lg {\n border-radius: var(--radius);\n}\n.rounded-md {\n border-radius: calc(var(--radius) - 2px);\n}\n.rounded-xl {\n border-radius: 0.75rem;\n}\n.border {\n border-width: 1px;\n}\n.border-2 {\n border-width: 2px;\n}\n.border-b {\n border-bottom-width: 1px;\n}\n.border-b-2 {\n border-bottom-width: 2px;\n}\n.border-r {\n border-right-width: 1px;\n}\n.border-t {\n border-top-width: 1px;\n}\n.border-solid {\n border-style: solid;\n}\n.border-dashed {\n border-style: dashed;\n}\n.border-blue-600 {\n --tw-border-opacity: 1;\n border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));\n}\n.border-border {\n border-color: hsl(var(--border));\n}\n.border-destructive {\n border-color: hsl(var(--destructive));\n}\n.border-destructive\\/50 {\n border-color: hsl(var(--destructive) / 0.5);\n}\n.border-gray-100 {\n --tw-border-opacity: 1;\n border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));\n}\n.border-gray-200 {\n --tw-border-opacity: 1;\n border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));\n}\n.border-gray-300 {\n --tw-border-opacity: 1;\n border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));\n}\n.border-primary {\n border-color: hsl(var(--primary));\n}\n.border-primary\\/50 {\n border-color: hsl(var(--primary) / 0.5);\n}\n.border-transparent {\n border-color: transparent;\n}\n.bg-\\[hsl\\(var\\(--ra-text\\)\\)\\] {\n background-color: hsl(var(--ra-text));\n}\n.bg-accent {\n background-color: hsl(var(--accent));\n}\n.bg-amber-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));\n}\n.bg-background {\n background-color: hsl(var(--background));\n}\n.bg-background\\/80 {\n background-color: hsl(var(--background) / 0.8);\n}\n.bg-black\\/50 {\n background-color: rgb(0 0 0 / 0.5);\n}\n.bg-blue-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));\n}\n.bg-blue-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));\n}\n.bg-blue-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));\n}\n.bg-blue-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));\n}\n.bg-card {\n background-color: hsl(var(--card));\n}\n.bg-destructive {\n background-color: hsl(var(--destructive));\n}\n.bg-destructive\\/10 {\n background-color: hsl(var(--destructive) / 0.1);\n}\n.bg-destructive\\/5 {\n background-color: hsl(var(--destructive) / 0.05);\n}\n.bg-destructive\\/80 {\n background-color: hsl(var(--destructive) / 0.8);\n}\n.bg-emerald-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));\n}\n.bg-foreground {\n background-color: hsl(var(--foreground));\n}\n.bg-foreground\\/60 {\n background-color: hsl(var(--foreground) / 0.6);\n}\n.bg-gray-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\n.bg-gray-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));\n}\n.bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));\n}\n.bg-muted {\n background-color: hsl(var(--muted));\n}\n.bg-muted\\/20 {\n background-color: hsl(var(--muted) / 0.2);\n}\n.bg-muted\\/30 {\n background-color: hsl(var(--muted) / 0.3);\n}\n.bg-primary {\n background-color: hsl(var(--primary));\n}\n.bg-primary\\/10 {\n background-color: hsl(var(--primary) / 0.1);\n}\n.bg-primary\\/5 {\n background-color: hsl(var(--primary) / 0.05);\n}\n.bg-red-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));\n}\n.bg-transparent {\n background-color: transparent;\n}\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\n}\n.fill-current {\n fill: currentColor;\n}\n.object-contain {\n -o-object-fit: contain;\n object-fit: contain;\n}\n.object-cover {\n -o-object-fit: cover;\n object-fit: cover;\n}\n.p-0\\.5 {\n padding: 0.125rem;\n}\n.p-1 {\n padding: 0.25rem;\n}\n.p-1\\.5 {\n padding: 0.375rem;\n}\n.p-2 {\n padding: 0.5rem;\n}\n.p-2\\.5 {\n padding: 0.625rem;\n}\n.p-3 {\n padding: 0.75rem;\n}\n.p-4 {\n padding: 1rem;\n}\n.p-6 {\n padding: 1.5rem;\n}\n.px-1 {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n}\n.px-1\\.5 {\n padding-left: 0.375rem;\n padding-right: 0.375rem;\n}\n.px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n.px-2\\.5 {\n padding-left: 0.625rem;\n padding-right: 0.625rem;\n}\n.px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n.px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n.px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n}\n.py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n}\n.py-0\\.5 {\n padding-top: 0.125rem;\n padding-bottom: 0.125rem;\n}\n.py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\n.py-1\\.5 {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n}\n.py-10 {\n padding-top: 2.5rem;\n padding-bottom: 2.5rem;\n}\n.py-12 {\n padding-top: 3rem;\n padding-bottom: 3rem;\n}\n.py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n.py-2\\.5 {\n padding-top: 0.625rem;\n padding-bottom: 0.625rem;\n}\n.py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n.py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n.pb-1 {\n padding-bottom: 0.25rem;\n}\n.pb-2 {\n padding-bottom: 0.5rem;\n}\n.pl-1 {\n padding-left: 0.25rem;\n}\n.pl-7 {\n padding-left: 1.75rem;\n}\n.pl-8 {\n padding-left: 2rem;\n}\n.pl-9 {\n padding-left: 2.25rem;\n}\n.pr-2 {\n padding-right: 0.5rem;\n}\n.pr-3 {\n padding-right: 0.75rem;\n}\n.pr-5 {\n padding-right: 1.25rem;\n}\n.pr-9 {\n padding-right: 2.25rem;\n}\n.pt-1 {\n padding-top: 0.25rem;\n}\n.pt-2 {\n padding-top: 0.5rem;\n}\n.pt-3 {\n padding-top: 0.75rem;\n}\n.pt-4 {\n padding-top: 1rem;\n}\n.text-left {\n text-align: left;\n}\n.text-center {\n text-align: center;\n}\n.font-mono {\n font-family:\n ui-monospace,\n SFMono-Regular,\n Menlo,\n Monaco,\n Consolas,\n "Liberation Mono",\n "Courier New",\n monospace;\n}\n.text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n.text-\\[10px\\] {\n font-size: 10px;\n}\n.text-\\[11px\\] {\n font-size: 11px;\n}\n.text-\\[9px\\] {\n font-size: 9px;\n}\n.text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n.text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n.font-bold {\n font-weight: 700;\n}\n.font-medium {\n font-weight: 500;\n}\n.font-semibold {\n font-weight: 600;\n}\n.uppercase {\n text-transform: uppercase;\n}\n.capitalize {\n text-transform: capitalize;\n}\n.\\!italic {\n font-style: italic !important;\n}\n.italic {\n font-style: italic;\n}\n.tracking-wide {\n letter-spacing: 0.025em;\n}\n.tracking-wider {\n letter-spacing: 0.05em;\n}\n.text-\\[hsl\\(var\\(--ra-surface\\)\\)\\] {\n color: hsl(var(--ra-surface));\n}\n.text-accent-foreground {\n color: hsl(var(--accent-foreground));\n}\n.text-amber-600 {\n --tw-text-opacity: 1;\n color: rgb(217 119 6 / var(--tw-text-opacity, 1));\n}\n.text-amber-700 {\n --tw-text-opacity: 1;\n color: rgb(180 83 9 / var(--tw-text-opacity, 1));\n}\n.text-background {\n color: hsl(var(--background));\n}\n.text-blue-700 {\n --tw-text-opacity: 1;\n color: rgb(29 78 216 / var(--tw-text-opacity, 1));\n}\n.text-destructive {\n color: hsl(var(--destructive));\n}\n.text-destructive-foreground {\n color: hsl(var(--destructive-foreground));\n}\n.text-emerald-700 {\n --tw-text-opacity: 1;\n color: rgb(4 120 87 / var(--tw-text-opacity, 1));\n}\n.text-foreground {\n color: hsl(var(--foreground));\n}\n.text-gray-400 {\n --tw-text-opacity: 1;\n color: rgb(156 163 175 / var(--tw-text-opacity, 1));\n}\n.text-gray-500 {\n --tw-text-opacity: 1;\n color: rgb(107 114 128 / var(--tw-text-opacity, 1));\n}\n.text-gray-600 {\n --tw-text-opacity: 1;\n color: rgb(75 85 99 / var(--tw-text-opacity, 1));\n}\n.text-gray-700 {\n --tw-text-opacity: 1;\n color: rgb(55 65 81 / var(--tw-text-opacity, 1));\n}\n.text-gray-800 {\n --tw-text-opacity: 1;\n color: rgb(31 41 55 / var(--tw-text-opacity, 1));\n}\n.text-gray-900 {\n --tw-text-opacity: 1;\n color: rgb(17 24 39 / var(--tw-text-opacity, 1));\n}\n.text-muted-foreground {\n color: hsl(var(--muted-foreground));\n}\n.text-muted-foreground\\/40 {\n color: hsl(var(--muted-foreground) / 0.4);\n}\n.text-primary {\n color: hsl(var(--primary));\n}\n.text-primary-foreground {\n color: hsl(var(--primary-foreground));\n}\n.text-red-400 {\n --tw-text-opacity: 1;\n color: rgb(248 113 113 / var(--tw-text-opacity, 1));\n}\n.text-red-700 {\n --tw-text-opacity: 1;\n color: rgb(185 28 28 / var(--tw-text-opacity, 1));\n}\n.text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\n}\n.underline {\n text-decoration-line: underline;\n}\n.opacity-0 {\n opacity: 0;\n}\n.opacity-100 {\n opacity: 1;\n}\n.opacity-50 {\n opacity: 0.5;\n}\n.opacity-60 {\n opacity: 0.6;\n}\n.opacity-70 {\n opacity: 0.7;\n}\n.opacity-80 {\n opacity: 0.8;\n}\n.shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.shadow-2xl {\n --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.shadow-lg {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.shadow-sm {\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.shadow-xl {\n --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.outline {\n outline-style: solid;\n}\n.ring-1 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow:\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow, 0 0 #0000);\n}\n.ring-2 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow:\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow, 0 0 #0000);\n}\n.ring-primary {\n --tw-ring-color: hsl(var(--primary)) ;\n}\n.filter {\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n.backdrop-blur-sm {\n --tw-backdrop-blur: blur(4px);\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\n}\n.transition {\n transition-property:\n color,\n background-color,\n border-color,\n text-decoration-color,\n fill,\n stroke,\n opacity,\n box-shadow,\n transform,\n filter,\n backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.transition-colors {\n transition-property:\n color,\n background-color,\n border-color,\n text-decoration-color,\n fill,\n stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.transition-opacity {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.transition-shadow {\n transition-property: box-shadow;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.transition-transform {\n transition-property: transform;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.duration-300 {\n transition-duration: 300ms;\n}\n.placeholder\\:text-muted-foreground::-moz-placeholder {\n color: hsl(var(--muted-foreground));\n}\n.placeholder\\:text-muted-foreground::placeholder {\n color: hsl(var(--muted-foreground));\n}\n.hover\\:border-blue-400:hover {\n --tw-border-opacity: 1;\n border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));\n}\n.hover\\:border-gray-300:hover {\n --tw-border-opacity: 1;\n border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));\n}\n.hover\\:border-muted-foreground:hover {\n border-color: hsl(var(--muted-foreground));\n}\n.hover\\:border-muted-foreground\\/40:hover {\n border-color: hsl(var(--muted-foreground) / 0.4);\n}\n.hover\\:border-ring:hover {\n border-color: hsl(var(--ring));\n}\n.hover\\:bg-\\[hsl\\(var\\(--ra-muted\\)\\)\\]:hover {\n background-color: hsl(var(--ra-muted));\n}\n.hover\\:bg-accent:hover {\n background-color: hsl(var(--accent));\n}\n.hover\\:bg-accent\\/30:hover {\n background-color: hsl(var(--accent) / 0.3);\n}\n.hover\\:bg-accent\\/50:hover {\n background-color: hsl(var(--accent) / 0.5);\n}\n.hover\\:bg-blue-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-blue-50\\/50:hover {\n background-color: rgb(239 246 255 / 0.5);\n}\n.hover\\:bg-blue-700:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-destructive:hover {\n background-color: hsl(var(--destructive));\n}\n.hover\\:bg-destructive\\/10:hover {\n background-color: hsl(var(--destructive) / 0.1);\n}\n.hover\\:bg-gray-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-gray-200:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-gray-50:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-muted:hover {\n background-color: hsl(var(--muted));\n}\n.hover\\:bg-primary\\/90:hover {\n background-color: hsl(var(--primary) / 0.9);\n}\n.hover\\:bg-red-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));\n}\n.hover\\:bg-red-50:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));\n}\n.hover\\:text-accent-foreground:hover {\n color: hsl(var(--accent-foreground));\n}\n.hover\\:text-blue-500:hover {\n --tw-text-opacity: 1;\n color: rgb(59 130 246 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-blue-600:hover {\n --tw-text-opacity: 1;\n color: rgb(37 99 235 / var(--tw-text-opacity, 1));\n}\n.hover\\:text-destructive:hover {\n color: hsl(var(--destructive));\n}\n.hover\\:text-destructive\\/80:hover {\n color: hsl(var(--destructive) / 0.8);\n}\n.hover\\:text-foreground:hover {\n color: hsl(var(--foreground));\n}\n.hover\\:text-red-600:hover {\n --tw-text-opacity: 1;\n color: rgb(220 38 38 / var(--tw-text-opacity, 1));\n}\n.hover\\:underline:hover {\n text-decoration-line: underline;\n}\n.hover\\:opacity-100:hover {\n opacity: 1;\n}\n.hover\\:shadow-md:hover {\n --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.hover\\:shadow-sm:hover {\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.focus\\:outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.focus\\:ring-1:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow:\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow, 0 0 #0000);\n}\n.focus\\:ring-2:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow:\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow, 0 0 #0000);\n}\n.focus\\:ring-blue-500:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1)) ;\n}\n.focus\\:ring-ring:focus {\n --tw-ring-color: hsl(var(--ring)) ;\n}\n.disabled\\:cursor-not-allowed:disabled {\n cursor: not-allowed;\n}\n.disabled\\:opacity-30:disabled {\n opacity: 0.3;\n}\n.disabled\\:opacity-40:disabled {\n opacity: 0.4;\n}\n.disabled\\:opacity-50:disabled {\n opacity: 0.5;\n}\n.disabled\\:opacity-60:disabled {\n opacity: 0.6;\n}\n.disabled\\:opacity-70:disabled {\n opacity: 0.7;\n}\n.group:hover .group-hover\\:opacity-100 {\n opacity: 1;\n}\n@media (min-width: 640px) {\n .sm\\:grid-cols-10 {\n grid-template-columns: repeat(10, minmax(0, 1fr));\n }\n .sm\\:grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n .sm\\:grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n}\n@media (min-width: 768px) {\n .md\\:grid-cols-12 {\n grid-template-columns: repeat(12, minmax(0, 1fr));\n }\n .md\\:grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n .md\\:grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n }\n}\n@media (min-width: 1024px) {\n .lg\\:grid-cols-6 {\n grid-template-columns: repeat(6, minmax(0, 1fr));\n }\n}\n@media (prefers-color-scheme: dark) {\n .dark\\:border-gray-600 {\n --tw-border-opacity: 1;\n border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));\n }\n .dark\\:border-gray-700 {\n --tw-border-opacity: 1;\n border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));\n }\n .dark\\:border-gray-800 {\n --tw-border-opacity: 1;\n border-color: rgb(31 41 55 / var(--tw-border-opacity, 1));\n }\n .dark\\:bg-amber-900\\/30 {\n background-color: rgb(120 53 15 / 0.3);\n }\n .dark\\:bg-blue-900\\/30 {\n background-color: rgb(30 58 138 / 0.3);\n }\n .dark\\:bg-blue-900\\/40 {\n background-color: rgb(30 58 138 / 0.4);\n }\n .dark\\:bg-emerald-900\\/30 {\n background-color: rgb(6 78 59 / 0.3);\n }\n .dark\\:bg-gray-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));\n }\n .dark\\:bg-gray-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));\n }\n .dark\\:bg-gray-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));\n }\n .dark\\:bg-gray-800\\/50 {\n background-color: rgb(31 41 55 / 0.5);\n }\n .dark\\:bg-gray-900 {\n --tw-bg-opacity: 1;\n background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));\n }\n .dark\\:bg-red-900\\/30 {\n background-color: rgb(127 29 29 / 0.3);\n }\n .dark\\:text-amber-300 {\n --tw-text-opacity: 1;\n color: rgb(252 211 77 / var(--tw-text-opacity, 1));\n }\n .dark\\:text-amber-400 {\n --tw-text-opacity: 1;\n color: rgb(251 191 36 / var(--tw-text-opacity, 1));\n }\n .dark\\:text-blue-300 {\n --tw-text-opacity: 1;\n color: rgb(147 197 253 / var(--tw-text-opacity, 1));\n }\n .dark\\:text-emerald-300 {\n --tw-text-opacity: 1;\n color: rgb(110 231 183 / var(--tw-text-opacity, 1));\n }\n .dark\\:text-gray-100 {\n --tw-text-opacity: 1;\n color: rgb(243 244 246 / var(--tw-text-opacity, 1));\n }\n .dark\\:text-gray-200 {\n --tw-text-opacity: 1;\n color: rgb(229 231 235 / var(--tw-text-opacity, 1));\n }\n .dark\\:text-gray-300 {\n --tw-text-opacity: 1;\n color: rgb(209 213 219 / var(--tw-text-opacity, 1));\n }\n .dark\\:text-gray-400 {\n --tw-text-opacity: 1;\n color: rgb(156 163 175 / var(--tw-text-opacity, 1));\n }\n .dark\\:text-gray-500 {\n --tw-text-opacity: 1;\n color: rgb(107 114 128 / var(--tw-text-opacity, 1));\n }\n .dark\\:text-red-300 {\n --tw-text-opacity: 1;\n color: rgb(252 165 165 / var(--tw-text-opacity, 1));\n }\n .dark\\:hover\\:border-blue-500:hover {\n --tw-border-opacity: 1;\n border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));\n }\n .dark\\:hover\\:border-gray-600:hover {\n --tw-border-opacity: 1;\n border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));\n }\n .dark\\:hover\\:bg-blue-900\\/50:hover {\n background-color: rgb(30 58 138 / 0.5);\n }\n .dark\\:hover\\:bg-blue-950\\/20:hover {\n background-color: rgb(23 37 84 / 0.2);\n }\n .dark\\:hover\\:bg-gray-700:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));\n }\n .dark\\:hover\\:bg-gray-800:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));\n }\n .dark\\:hover\\:bg-gray-800\\/50:hover {\n background-color: rgb(31 41 55 / 0.5);\n }\n .dark\\:hover\\:bg-red-900\\/20:hover {\n background-color: rgb(127 29 29 / 0.2);\n }\n .dark\\:hover\\:bg-red-900\\/30:hover {\n background-color: rgb(127 29 29 / 0.3);\n }\n .dark\\:hover\\:text-blue-400:hover {\n --tw-text-opacity: 1;\n color: rgb(96 165 250 / var(--tw-text-opacity, 1));\n }\n}\n');
|
|
25
|
+
|
|
26
|
+
export { styleInject };
|
|
27
|
+
//# sourceMappingURL=chunk-IGFYMNKL.js.map
|
|
28
|
+
//# sourceMappingURL=chunk-IGFYMNKL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["#style-inject:#style-inject","../src/styles.css"],"names":[],"mappings":";AACyB,SAAR,YAA6B,GAAA,EAAK,EAAE,QAAA,EAAS,GAAI,EAAC,EAAG;AAC1D,EAAA,IAAI,CAAC,GAAA,IAAO,OAAO,QAAA,KAAa,WAAA,EAAa;AAE7C,EAAA,MAAM,OAAO,QAAA,CAAS,IAAA,IAAQ,SAAS,oBAAA,CAAqB,MAAM,EAAE,CAAC,CAAA;AACrE,EAAA,MAAM,KAAA,GAAQ,QAAA,CAAS,aAAA,CAAc,OAAO,CAAA;AAC5C,EAAA,KAAA,CAAM,IAAA,GAAO,UAAA;AAEb,EAAA,IAAI,aAAa,KAAA,EAAO;AACtB,IAAA,IAAI,KAAK,UAAA,EAAY;AACnB,MAAA,IAAA,CAAK,YAAA,CAAa,KAAA,EAAO,IAAA,CAAK,UAAU,CAAA;AAAA,IAC1C,CAAA,MAAO;AACL,MAAA,IAAA,CAAK,YAAY,KAAK,CAAA;AAAA,IACxB;AAAA,EACF,CAAA,MAAO;AACL,IAAA,IAAA,CAAK,YAAY,KAAK,CAAA;AAAA,EACxB;AAEA,EAAA,IAAI,MAAM,UAAA,EAAY;AACpB,IAAA,KAAA,CAAM,WAAW,OAAA,GAAU,GAAA;AAAA,EAC7B,CAAA,MAAO;AACL,IAAA,KAAA,CAAM,WAAA,CAAY,QAAA,CAAS,cAAA,CAAe,GAAG,CAAC,CAAA;AAAA,EAChD;AACF;;;ACvB8B,WAAA,CAAY,q58BAAy58B,CAAA","file":"chunk-IGFYMNKL.js","sourcesContent":["\n export default function styleInject(css, { insertAt } = {}) {\n if (!css || typeof document === 'undefined') return\n \n const head = document.head || document.getElementsByTagName('head')[0]\n const style = document.createElement('style')\n style.type = 'text/css'\n \n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild)\n } else {\n head.appendChild(style)\n }\n } else {\n head.appendChild(style)\n }\n \n if (style.styleSheet) {\n style.styleSheet.cssText = css\n } else {\n style.appendChild(document.createTextNode(css))\n }\n }\n ","import styleInject from '#style-inject';styleInject(\".pointer-events-none {\\n pointer-events: none;\\n}\\n.visible {\\n visibility: visible;\\n}\\n.collapse {\\n visibility: collapse;\\n}\\n.fixed {\\n position: fixed;\\n}\\n.absolute {\\n position: absolute;\\n}\\n.relative {\\n position: relative;\\n}\\n.sticky {\\n position: sticky;\\n}\\n.inset-0 {\\n inset: 0px;\\n}\\n.inset-x-0 {\\n left: 0px;\\n right: 0px;\\n}\\n.bottom-0 {\\n bottom: 0px;\\n}\\n.left-0 {\\n left: 0px;\\n}\\n.left-1\\\\.5 {\\n left: 0.375rem;\\n}\\n.left-2 {\\n left: 0.5rem;\\n}\\n.left-2\\\\.5 {\\n left: 0.625rem;\\n}\\n.left-3 {\\n left: 0.75rem;\\n}\\n.right-0 {\\n right: 0px;\\n}\\n.right-1\\\\.5 {\\n right: 0.375rem;\\n}\\n.right-2 {\\n right: 0.5rem;\\n}\\n.right-3 {\\n right: 0.75rem;\\n}\\n.top-0 {\\n top: 0px;\\n}\\n.top-0\\\\.5 {\\n top: 0.125rem;\\n}\\n.top-1\\\\.5 {\\n top: 0.375rem;\\n}\\n.top-1\\\\/2 {\\n top: 50%;\\n}\\n.top-2 {\\n top: 0.5rem;\\n}\\n.z-10 {\\n z-index: 10;\\n}\\n.z-20 {\\n z-index: 20;\\n}\\n.z-40 {\\n z-index: 40;\\n}\\n.z-50 {\\n z-index: 50;\\n}\\n.col-span-2 {\\n grid-column: span 2 / span 2;\\n}\\n.mx-4 {\\n margin-left: 1rem;\\n margin-right: 1rem;\\n}\\n.mx-auto {\\n margin-left: auto;\\n margin-right: auto;\\n}\\n.-mb-px {\\n margin-bottom: -1px;\\n}\\n.mb-1 {\\n margin-bottom: 0.25rem;\\n}\\n.mb-2 {\\n margin-bottom: 0.5rem;\\n}\\n.mb-3 {\\n margin-bottom: 0.75rem;\\n}\\n.mb-4 {\\n margin-bottom: 1rem;\\n}\\n.ml-1 {\\n margin-left: 0.25rem;\\n}\\n.ml-1\\\\.5 {\\n margin-left: 0.375rem;\\n}\\n.ml-2 {\\n margin-left: 0.5rem;\\n}\\n.ml-auto {\\n margin-left: auto;\\n}\\n.mt-0\\\\.5 {\\n margin-top: 0.125rem;\\n}\\n.mt-1 {\\n margin-top: 0.25rem;\\n}\\n.mt-1\\\\.5 {\\n margin-top: 0.375rem;\\n}\\n.mt-2 {\\n margin-top: 0.5rem;\\n}\\n.mt-4 {\\n margin-top: 1rem;\\n}\\n.block {\\n display: block;\\n}\\n.inline-block {\\n display: inline-block;\\n}\\n.inline {\\n display: inline;\\n}\\n.flex {\\n display: flex;\\n}\\n.inline-flex {\\n display: inline-flex;\\n}\\n.table {\\n display: table;\\n}\\n.grid {\\n display: grid;\\n}\\n.contents {\\n display: contents;\\n}\\n.hidden {\\n display: none;\\n}\\n.aspect-square {\\n aspect-ratio: 1 / 1;\\n}\\n.aspect-video {\\n aspect-ratio: 16 / 9;\\n}\\n.h-1\\\\.5 {\\n height: 0.375rem;\\n}\\n.h-10 {\\n height: 2.5rem;\\n}\\n.h-11 {\\n height: 2.75rem;\\n}\\n.h-16 {\\n height: 4rem;\\n}\\n.h-2 {\\n height: 0.5rem;\\n}\\n.h-2\\\\.5 {\\n height: 0.625rem;\\n}\\n.h-3 {\\n height: 0.75rem;\\n}\\n.h-3\\\\.5 {\\n height: 0.875rem;\\n}\\n.h-4 {\\n height: 1rem;\\n}\\n.h-5 {\\n height: 1.25rem;\\n}\\n.h-6 {\\n height: 1.5rem;\\n}\\n.h-7 {\\n height: 1.75rem;\\n}\\n.h-8 {\\n height: 2rem;\\n}\\n.h-9 {\\n height: 2.25rem;\\n}\\n.h-full {\\n height: 100%;\\n}\\n.max-h-32 {\\n max-height: 8rem;\\n}\\n.max-h-80 {\\n max-height: 20rem;\\n}\\n.max-h-\\\\[300px\\\\] {\\n max-height: 300px;\\n}\\n.max-h-\\\\[400px\\\\] {\\n max-height: 400px;\\n}\\n.max-h-\\\\[80vh\\\\] {\\n max-height: 80vh;\\n}\\n.max-h-\\\\[85vh\\\\] {\\n max-height: 85vh;\\n}\\n.min-h-0 {\\n min-height: 0px;\\n}\\n.w-1\\\\.5 {\\n width: 0.375rem;\\n}\\n.w-10 {\\n width: 2.5rem;\\n}\\n.w-16 {\\n width: 4rem;\\n}\\n.w-2 {\\n width: 0.5rem;\\n}\\n.w-2\\\\.5 {\\n width: 0.625rem;\\n}\\n.w-3 {\\n width: 0.75rem;\\n}\\n.w-3\\\\.5 {\\n width: 0.875rem;\\n}\\n.w-36 {\\n width: 9rem;\\n}\\n.w-4 {\\n width: 1rem;\\n}\\n.w-5 {\\n width: 1.25rem;\\n}\\n.w-6 {\\n width: 1.5rem;\\n}\\n.w-7 {\\n width: 1.75rem;\\n}\\n.w-8 {\\n width: 2rem;\\n}\\n.w-9 {\\n width: 2.25rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.min-w-0 {\\n min-width: 0px;\\n}\\n.min-w-\\\\[12rem\\\\] {\\n min-width: 12rem;\\n}\\n.min-w-\\\\[200px\\\\] {\\n min-width: 200px;\\n}\\n.max-w-2xl {\\n max-width: 42rem;\\n}\\n.max-w-4xl {\\n max-width: 56rem;\\n}\\n.max-w-\\\\[12rem\\\\] {\\n max-width: 12rem;\\n}\\n.max-w-\\\\[14rem\\\\] {\\n max-width: 14rem;\\n}\\n.max-w-\\\\[160px\\\\] {\\n max-width: 160px;\\n}\\n.max-w-\\\\[200px\\\\] {\\n max-width: 200px;\\n}\\n.max-w-full {\\n max-width: 100%;\\n}\\n.max-w-lg {\\n max-width: 32rem;\\n}\\n.max-w-xl {\\n max-width: 36rem;\\n}\\n.max-w-xs {\\n max-width: 20rem;\\n}\\n.flex-1 {\\n flex: 1 1 0%;\\n}\\n.flex-shrink-0 {\\n flex-shrink: 0;\\n}\\n.shrink-0 {\\n flex-shrink: 0;\\n}\\n.-translate-y-1\\\\/2 {\\n --tw-translate-y: -50%;\\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\\n}\\n.translate-x-0\\\\.5 {\\n --tw-translate-x: 0.125rem;\\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\\n}\\n.translate-x-4 {\\n --tw-translate-x: 1rem;\\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\\n}\\n.scale-110 {\\n --tw-scale-x: 1.1;\\n --tw-scale-y: 1.1;\\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\\n}\\n.transform {\\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\\n}\\n@keyframes pulse {\\n 50% {\\n opacity: .5;\\n }\\n}\\n.animate-pulse {\\n animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\\n}\\n@keyframes spin {\\n to {\\n transform: rotate(360deg);\\n }\\n}\\n.animate-spin {\\n animation: spin 1s linear infinite;\\n}\\n.cursor-not-allowed {\\n cursor: not-allowed;\\n}\\n.cursor-pointer {\\n cursor: pointer;\\n}\\n.select-none {\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n user-select: none;\\n}\\n.resize-none {\\n resize: none;\\n}\\n.appearance-none {\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n}\\n.grid-cols-2 {\\n grid-template-columns: repeat(2, minmax(0, 1fr));\\n}\\n.grid-cols-3 {\\n grid-template-columns: repeat(3, minmax(0, 1fr));\\n}\\n.grid-cols-8 {\\n grid-template-columns: repeat(8, minmax(0, 1fr));\\n}\\n.flex-col {\\n flex-direction: column;\\n}\\n.flex-wrap {\\n flex-wrap: wrap;\\n}\\n.items-start {\\n align-items: flex-start;\\n}\\n.items-end {\\n align-items: flex-end;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-end {\\n justify-content: flex-end;\\n}\\n.justify-center {\\n justify-content: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-0\\\\.5 {\\n gap: 0.125rem;\\n}\\n.gap-1 {\\n gap: 0.25rem;\\n}\\n.gap-1\\\\.5 {\\n gap: 0.375rem;\\n}\\n.gap-2 {\\n gap: 0.5rem;\\n}\\n.gap-3 {\\n gap: 0.75rem;\\n}\\n.space-y-0\\\\.5 > :not([hidden]) ~ :not([hidden]) {\\n --tw-space-y-reverse: 0;\\n margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));\\n margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));\\n}\\n.space-y-1 > :not([hidden]) ~ :not([hidden]) {\\n --tw-space-y-reverse: 0;\\n margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));\\n margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));\\n}\\n.space-y-1\\\\.5 > :not([hidden]) ~ :not([hidden]) {\\n --tw-space-y-reverse: 0;\\n margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));\\n margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));\\n}\\n.space-y-2 > :not([hidden]) ~ :not([hidden]) {\\n --tw-space-y-reverse: 0;\\n margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));\\n margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));\\n}\\n.space-y-2\\\\.5 > :not([hidden]) ~ :not([hidden]) {\\n --tw-space-y-reverse: 0;\\n margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));\\n margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));\\n}\\n.space-y-3 > :not([hidden]) ~ :not([hidden]) {\\n --tw-space-y-reverse: 0;\\n margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));\\n margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));\\n}\\n.space-y-4 > :not([hidden]) ~ :not([hidden]) {\\n --tw-space-y-reverse: 0;\\n margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));\\n margin-bottom: calc(1rem * var(--tw-space-y-reverse));\\n}\\n.divide-y > :not([hidden]) ~ :not([hidden]) {\\n --tw-divide-y-reverse: 0;\\n border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));\\n border-bottom-width: calc(1px * var(--tw-divide-y-reverse));\\n}\\n.self-start {\\n align-self: flex-start;\\n}\\n.overflow-hidden {\\n overflow: hidden;\\n}\\n.overflow-y-auto {\\n overflow-y: auto;\\n}\\n.truncate {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n.rounded {\\n border-radius: 0.25rem;\\n}\\n.rounded-full {\\n border-radius: 9999px;\\n}\\n.rounded-lg {\\n border-radius: var(--radius);\\n}\\n.rounded-md {\\n border-radius: calc(var(--radius) - 2px);\\n}\\n.rounded-xl {\\n border-radius: 0.75rem;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-2 {\\n border-width: 2px;\\n}\\n.border-b {\\n border-bottom-width: 1px;\\n}\\n.border-b-2 {\\n border-bottom-width: 2px;\\n}\\n.border-r {\\n border-right-width: 1px;\\n}\\n.border-t {\\n border-top-width: 1px;\\n}\\n.border-solid {\\n border-style: solid;\\n}\\n.border-dashed {\\n border-style: dashed;\\n}\\n.border-blue-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));\\n}\\n.border-border {\\n border-color: hsl(var(--border));\\n}\\n.border-destructive {\\n border-color: hsl(var(--destructive));\\n}\\n.border-destructive\\\\/50 {\\n border-color: hsl(var(--destructive) / 0.5);\\n}\\n.border-gray-100 {\\n --tw-border-opacity: 1;\\n border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));\\n}\\n.border-gray-200 {\\n --tw-border-opacity: 1;\\n border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));\\n}\\n.border-gray-300 {\\n --tw-border-opacity: 1;\\n border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));\\n}\\n.border-primary {\\n border-color: hsl(var(--primary));\\n}\\n.border-primary\\\\/50 {\\n border-color: hsl(var(--primary) / 0.5);\\n}\\n.border-transparent {\\n border-color: transparent;\\n}\\n.bg-\\\\[hsl\\\\(var\\\\(--ra-text\\\\)\\\\)\\\\] {\\n background-color: hsl(var(--ra-text));\\n}\\n.bg-accent {\\n background-color: hsl(var(--accent));\\n}\\n.bg-amber-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));\\n}\\n.bg-background {\\n background-color: hsl(var(--background));\\n}\\n.bg-background\\\\/80 {\\n background-color: hsl(var(--background) / 0.8);\\n}\\n.bg-black\\\\/50 {\\n background-color: rgb(0 0 0 / 0.5);\\n}\\n.bg-blue-100 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));\\n}\\n.bg-blue-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));\\n}\\n.bg-blue-500 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));\\n}\\n.bg-blue-600 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));\\n}\\n.bg-card {\\n background-color: hsl(var(--card));\\n}\\n.bg-destructive {\\n background-color: hsl(var(--destructive));\\n}\\n.bg-destructive\\\\/10 {\\n background-color: hsl(var(--destructive) / 0.1);\\n}\\n.bg-destructive\\\\/5 {\\n background-color: hsl(var(--destructive) / 0.05);\\n}\\n.bg-destructive\\\\/80 {\\n background-color: hsl(var(--destructive) / 0.8);\\n}\\n.bg-emerald-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));\\n}\\n.bg-foreground {\\n background-color: hsl(var(--foreground));\\n}\\n.bg-foreground\\\\/60 {\\n background-color: hsl(var(--foreground) / 0.6);\\n}\\n.bg-gray-100 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\\n}\\n.bg-gray-300 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));\\n}\\n.bg-gray-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));\\n}\\n.bg-muted {\\n background-color: hsl(var(--muted));\\n}\\n.bg-muted\\\\/20 {\\n background-color: hsl(var(--muted) / 0.2);\\n}\\n.bg-muted\\\\/30 {\\n background-color: hsl(var(--muted) / 0.3);\\n}\\n.bg-primary {\\n background-color: hsl(var(--primary));\\n}\\n.bg-primary\\\\/10 {\\n background-color: hsl(var(--primary) / 0.1);\\n}\\n.bg-primary\\\\/5 {\\n background-color: hsl(var(--primary) / 0.05);\\n}\\n.bg-red-50 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));\\n}\\n.bg-transparent {\\n background-color: transparent;\\n}\\n.bg-white {\\n --tw-bg-opacity: 1;\\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));\\n}\\n.fill-current {\\n fill: currentColor;\\n}\\n.object-contain {\\n -o-object-fit: contain;\\n object-fit: contain;\\n}\\n.object-cover {\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n.p-0\\\\.5 {\\n padding: 0.125rem;\\n}\\n.p-1 {\\n padding: 0.25rem;\\n}\\n.p-1\\\\.5 {\\n padding: 0.375rem;\\n}\\n.p-2 {\\n padding: 0.5rem;\\n}\\n.p-2\\\\.5 {\\n padding: 0.625rem;\\n}\\n.p-3 {\\n padding: 0.75rem;\\n}\\n.p-4 {\\n padding: 1rem;\\n}\\n.p-6 {\\n padding: 1.5rem;\\n}\\n.px-1 {\\n padding-left: 0.25rem;\\n padding-right: 0.25rem;\\n}\\n.px-1\\\\.5 {\\n padding-left: 0.375rem;\\n padding-right: 0.375rem;\\n}\\n.px-2 {\\n padding-left: 0.5rem;\\n padding-right: 0.5rem;\\n}\\n.px-2\\\\.5 {\\n padding-left: 0.625rem;\\n padding-right: 0.625rem;\\n}\\n.px-3 {\\n padding-left: 0.75rem;\\n padding-right: 0.75rem;\\n}\\n.px-4 {\\n padding-left: 1rem;\\n padding-right: 1rem;\\n}\\n.px-5 {\\n padding-left: 1.25rem;\\n padding-right: 1.25rem;\\n}\\n.py-0 {\\n padding-top: 0px;\\n padding-bottom: 0px;\\n}\\n.py-0\\\\.5 {\\n padding-top: 0.125rem;\\n padding-bottom: 0.125rem;\\n}\\n.py-1 {\\n padding-top: 0.25rem;\\n padding-bottom: 0.25rem;\\n}\\n.py-1\\\\.5 {\\n padding-top: 0.375rem;\\n padding-bottom: 0.375rem;\\n}\\n.py-10 {\\n padding-top: 2.5rem;\\n padding-bottom: 2.5rem;\\n}\\n.py-12 {\\n padding-top: 3rem;\\n padding-bottom: 3rem;\\n}\\n.py-2 {\\n padding-top: 0.5rem;\\n padding-bottom: 0.5rem;\\n}\\n.py-2\\\\.5 {\\n padding-top: 0.625rem;\\n padding-bottom: 0.625rem;\\n}\\n.py-3 {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n}\\n.py-4 {\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n}\\n.pb-1 {\\n padding-bottom: 0.25rem;\\n}\\n.pb-2 {\\n padding-bottom: 0.5rem;\\n}\\n.pl-1 {\\n padding-left: 0.25rem;\\n}\\n.pl-7 {\\n padding-left: 1.75rem;\\n}\\n.pl-8 {\\n padding-left: 2rem;\\n}\\n.pl-9 {\\n padding-left: 2.25rem;\\n}\\n.pr-2 {\\n padding-right: 0.5rem;\\n}\\n.pr-3 {\\n padding-right: 0.75rem;\\n}\\n.pr-5 {\\n padding-right: 1.25rem;\\n}\\n.pr-9 {\\n padding-right: 2.25rem;\\n}\\n.pt-1 {\\n padding-top: 0.25rem;\\n}\\n.pt-2 {\\n padding-top: 0.5rem;\\n}\\n.pt-3 {\\n padding-top: 0.75rem;\\n}\\n.pt-4 {\\n padding-top: 1rem;\\n}\\n.text-left {\\n text-align: left;\\n}\\n.text-center {\\n text-align: center;\\n}\\n.font-mono {\\n font-family:\\n ui-monospace,\\n SFMono-Regular,\\n Menlo,\\n Monaco,\\n Consolas,\\n \\\"Liberation Mono\\\",\\n \\\"Courier New\\\",\\n monospace;\\n}\\n.text-2xl {\\n font-size: 1.5rem;\\n line-height: 2rem;\\n}\\n.text-\\\\[10px\\\\] {\\n font-size: 10px;\\n}\\n.text-\\\\[11px\\\\] {\\n font-size: 11px;\\n}\\n.text-\\\\[9px\\\\] {\\n font-size: 9px;\\n}\\n.text-base {\\n font-size: 1rem;\\n line-height: 1.5rem;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.text-xs {\\n font-size: 0.75rem;\\n line-height: 1rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.font-semibold {\\n font-weight: 600;\\n}\\n.uppercase {\\n text-transform: uppercase;\\n}\\n.capitalize {\\n text-transform: capitalize;\\n}\\n.\\\\!italic {\\n font-style: italic !important;\\n}\\n.italic {\\n font-style: italic;\\n}\\n.tracking-wide {\\n letter-spacing: 0.025em;\\n}\\n.tracking-wider {\\n letter-spacing: 0.05em;\\n}\\n.text-\\\\[hsl\\\\(var\\\\(--ra-surface\\\\)\\\\)\\\\] {\\n color: hsl(var(--ra-surface));\\n}\\n.text-accent-foreground {\\n color: hsl(var(--accent-foreground));\\n}\\n.text-amber-600 {\\n --tw-text-opacity: 1;\\n color: rgb(217 119 6 / var(--tw-text-opacity, 1));\\n}\\n.text-amber-700 {\\n --tw-text-opacity: 1;\\n color: rgb(180 83 9 / var(--tw-text-opacity, 1));\\n}\\n.text-background {\\n color: hsl(var(--background));\\n}\\n.text-blue-700 {\\n --tw-text-opacity: 1;\\n color: rgb(29 78 216 / var(--tw-text-opacity, 1));\\n}\\n.text-destructive {\\n color: hsl(var(--destructive));\\n}\\n.text-destructive-foreground {\\n color: hsl(var(--destructive-foreground));\\n}\\n.text-emerald-700 {\\n --tw-text-opacity: 1;\\n color: rgb(4 120 87 / var(--tw-text-opacity, 1));\\n}\\n.text-foreground {\\n color: hsl(var(--foreground));\\n}\\n.text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity, 1));\\n}\\n.text-gray-500 {\\n --tw-text-opacity: 1;\\n color: rgb(107 114 128 / var(--tw-text-opacity, 1));\\n}\\n.text-gray-600 {\\n --tw-text-opacity: 1;\\n color: rgb(75 85 99 / var(--tw-text-opacity, 1));\\n}\\n.text-gray-700 {\\n --tw-text-opacity: 1;\\n color: rgb(55 65 81 / var(--tw-text-opacity, 1));\\n}\\n.text-gray-800 {\\n --tw-text-opacity: 1;\\n color: rgb(31 41 55 / var(--tw-text-opacity, 1));\\n}\\n.text-gray-900 {\\n --tw-text-opacity: 1;\\n color: rgb(17 24 39 / var(--tw-text-opacity, 1));\\n}\\n.text-muted-foreground {\\n color: hsl(var(--muted-foreground));\\n}\\n.text-muted-foreground\\\\/40 {\\n color: hsl(var(--muted-foreground) / 0.4);\\n}\\n.text-primary {\\n color: hsl(var(--primary));\\n}\\n.text-primary-foreground {\\n color: hsl(var(--primary-foreground));\\n}\\n.text-red-400 {\\n --tw-text-opacity: 1;\\n color: rgb(248 113 113 / var(--tw-text-opacity, 1));\\n}\\n.text-red-700 {\\n --tw-text-opacity: 1;\\n color: rgb(185 28 28 / var(--tw-text-opacity, 1));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\\n}\\n.underline {\\n text-decoration-line: underline;\\n}\\n.opacity-0 {\\n opacity: 0;\\n}\\n.opacity-100 {\\n opacity: 1;\\n}\\n.opacity-50 {\\n opacity: 0.5;\\n}\\n.opacity-60 {\\n opacity: 0.6;\\n}\\n.opacity-70 {\\n opacity: 0.7;\\n}\\n.opacity-80 {\\n opacity: 0.8;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow:\\n var(--tw-ring-offset-shadow, 0 0 #0000),\\n var(--tw-ring-shadow, 0 0 #0000),\\n var(--tw-shadow);\\n}\\n.shadow-2xl {\\n --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\\n --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);\\n box-shadow:\\n var(--tw-ring-offset-shadow, 0 0 #0000),\\n var(--tw-ring-shadow, 0 0 #0000),\\n var(--tw-shadow);\\n}\\n.shadow-lg {\\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\\n box-shadow:\\n var(--tw-ring-offset-shadow, 0 0 #0000),\\n var(--tw-ring-shadow, 0 0 #0000),\\n var(--tw-shadow);\\n}\\n.shadow-sm {\\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\\n box-shadow:\\n var(--tw-ring-offset-shadow, 0 0 #0000),\\n var(--tw-ring-shadow, 0 0 #0000),\\n var(--tw-shadow);\\n}\\n.shadow-xl {\\n --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);\\n box-shadow:\\n var(--tw-ring-offset-shadow, 0 0 #0000),\\n var(--tw-ring-shadow, 0 0 #0000),\\n var(--tw-shadow);\\n}\\n.outline {\\n outline-style: solid;\\n}\\n.ring-1 {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow:\\n var(--tw-ring-offset-shadow),\\n var(--tw-ring-shadow),\\n var(--tw-shadow, 0 0 #0000);\\n}\\n.ring-2 {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow:\\n var(--tw-ring-offset-shadow),\\n var(--tw-ring-shadow),\\n var(--tw-shadow, 0 0 #0000);\\n}\\n.ring-primary {\\n --tw-ring-color: hsl(var(--primary)) ;\\n}\\n.filter {\\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\\n}\\n.backdrop-blur-sm {\\n --tw-backdrop-blur: blur(4px);\\n backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);\\n}\\n.transition {\\n transition-property:\\n color,\\n background-color,\\n border-color,\\n text-decoration-color,\\n fill,\\n stroke,\\n opacity,\\n box-shadow,\\n transform,\\n filter,\\n backdrop-filter;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transition-duration: 150ms;\\n}\\n.transition-all {\\n transition-property: all;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transition-duration: 150ms;\\n}\\n.transition-colors {\\n transition-property:\\n color,\\n background-color,\\n border-color,\\n text-decoration-color,\\n fill,\\n stroke;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transition-duration: 150ms;\\n}\\n.transition-opacity {\\n transition-property: opacity;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transition-duration: 150ms;\\n}\\n.transition-shadow {\\n transition-property: box-shadow;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transition-duration: 150ms;\\n}\\n.transition-transform {\\n transition-property: transform;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transition-duration: 150ms;\\n}\\n.duration-300 {\\n transition-duration: 300ms;\\n}\\n.placeholder\\\\:text-muted-foreground::-moz-placeholder {\\n color: hsl(var(--muted-foreground));\\n}\\n.placeholder\\\\:text-muted-foreground::placeholder {\\n color: hsl(var(--muted-foreground));\\n}\\n.hover\\\\:border-blue-400:hover {\\n --tw-border-opacity: 1;\\n border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));\\n}\\n.hover\\\\:border-gray-300:hover {\\n --tw-border-opacity: 1;\\n border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));\\n}\\n.hover\\\\:border-muted-foreground:hover {\\n border-color: hsl(var(--muted-foreground));\\n}\\n.hover\\\\:border-muted-foreground\\\\/40:hover {\\n border-color: hsl(var(--muted-foreground) / 0.4);\\n}\\n.hover\\\\:border-ring:hover {\\n border-color: hsl(var(--ring));\\n}\\n.hover\\\\:bg-\\\\[hsl\\\\(var\\\\(--ra-muted\\\\)\\\\)\\\\]:hover {\\n background-color: hsl(var(--ra-muted));\\n}\\n.hover\\\\:bg-accent:hover {\\n background-color: hsl(var(--accent));\\n}\\n.hover\\\\:bg-accent\\\\/30:hover {\\n background-color: hsl(var(--accent) / 0.3);\\n}\\n.hover\\\\:bg-accent\\\\/50:hover {\\n background-color: hsl(var(--accent) / 0.5);\\n}\\n.hover\\\\:bg-blue-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));\\n}\\n.hover\\\\:bg-blue-50\\\\/50:hover {\\n background-color: rgb(239 246 255 / 0.5);\\n}\\n.hover\\\\:bg-blue-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));\\n}\\n.hover\\\\:bg-destructive:hover {\\n background-color: hsl(var(--destructive));\\n}\\n.hover\\\\:bg-destructive\\\\/10:hover {\\n background-color: hsl(var(--destructive) / 0.1);\\n}\\n.hover\\\\:bg-gray-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));\\n}\\n.hover\\\\:bg-gray-200:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));\\n}\\n.hover\\\\:bg-gray-50:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));\\n}\\n.hover\\\\:bg-muted:hover {\\n background-color: hsl(var(--muted));\\n}\\n.hover\\\\:bg-primary\\\\/90:hover {\\n background-color: hsl(var(--primary) / 0.9);\\n}\\n.hover\\\\:bg-red-100:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));\\n}\\n.hover\\\\:bg-red-50:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));\\n}\\n.hover\\\\:text-accent-foreground:hover {\\n color: hsl(var(--accent-foreground));\\n}\\n.hover\\\\:text-blue-500:hover {\\n --tw-text-opacity: 1;\\n color: rgb(59 130 246 / var(--tw-text-opacity, 1));\\n}\\n.hover\\\\:text-blue-600:hover {\\n --tw-text-opacity: 1;\\n color: rgb(37 99 235 / var(--tw-text-opacity, 1));\\n}\\n.hover\\\\:text-destructive:hover {\\n color: hsl(var(--destructive));\\n}\\n.hover\\\\:text-destructive\\\\/80:hover {\\n color: hsl(var(--destructive) / 0.8);\\n}\\n.hover\\\\:text-foreground:hover {\\n color: hsl(var(--foreground));\\n}\\n.hover\\\\:text-red-600:hover {\\n --tw-text-opacity: 1;\\n color: rgb(220 38 38 / var(--tw-text-opacity, 1));\\n}\\n.hover\\\\:underline:hover {\\n text-decoration-line: underline;\\n}\\n.hover\\\\:opacity-100:hover {\\n opacity: 1;\\n}\\n.hover\\\\:shadow-md:hover {\\n --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);\\n box-shadow:\\n var(--tw-ring-offset-shadow, 0 0 #0000),\\n var(--tw-ring-shadow, 0 0 #0000),\\n var(--tw-shadow);\\n}\\n.hover\\\\:shadow-sm:hover {\\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\\n box-shadow:\\n var(--tw-ring-offset-shadow, 0 0 #0000),\\n var(--tw-ring-shadow, 0 0 #0000),\\n var(--tw-shadow);\\n}\\n.focus\\\\:outline-none:focus {\\n outline: 2px solid transparent;\\n outline-offset: 2px;\\n}\\n.focus\\\\:ring-1:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow:\\n var(--tw-ring-offset-shadow),\\n var(--tw-ring-shadow),\\n var(--tw-shadow, 0 0 #0000);\\n}\\n.focus\\\\:ring-2:focus {\\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\\n box-shadow:\\n var(--tw-ring-offset-shadow),\\n var(--tw-ring-shadow),\\n var(--tw-shadow, 0 0 #0000);\\n}\\n.focus\\\\:ring-blue-500:focus {\\n --tw-ring-opacity: 1;\\n --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1)) ;\\n}\\n.focus\\\\:ring-ring:focus {\\n --tw-ring-color: hsl(var(--ring)) ;\\n}\\n.disabled\\\\:cursor-not-allowed:disabled {\\n cursor: not-allowed;\\n}\\n.disabled\\\\:opacity-30:disabled {\\n opacity: 0.3;\\n}\\n.disabled\\\\:opacity-40:disabled {\\n opacity: 0.4;\\n}\\n.disabled\\\\:opacity-50:disabled {\\n opacity: 0.5;\\n}\\n.disabled\\\\:opacity-60:disabled {\\n opacity: 0.6;\\n}\\n.disabled\\\\:opacity-70:disabled {\\n opacity: 0.7;\\n}\\n.group:hover .group-hover\\\\:opacity-100 {\\n opacity: 1;\\n}\\n@media (min-width: 640px) {\\n .sm\\\\:grid-cols-10 {\\n grid-template-columns: repeat(10, minmax(0, 1fr));\\n }\\n .sm\\\\:grid-cols-3 {\\n grid-template-columns: repeat(3, minmax(0, 1fr));\\n }\\n .sm\\\\:grid-cols-4 {\\n grid-template-columns: repeat(4, minmax(0, 1fr));\\n }\\n}\\n@media (min-width: 768px) {\\n .md\\\\:grid-cols-12 {\\n grid-template-columns: repeat(12, minmax(0, 1fr));\\n }\\n .md\\\\:grid-cols-4 {\\n grid-template-columns: repeat(4, minmax(0, 1fr));\\n }\\n .md\\\\:grid-cols-5 {\\n grid-template-columns: repeat(5, minmax(0, 1fr));\\n }\\n}\\n@media (min-width: 1024px) {\\n .lg\\\\:grid-cols-6 {\\n grid-template-columns: repeat(6, minmax(0, 1fr));\\n }\\n}\\n@media (prefers-color-scheme: dark) {\\n .dark\\\\:border-gray-600 {\\n --tw-border-opacity: 1;\\n border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));\\n }\\n .dark\\\\:border-gray-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));\\n }\\n .dark\\\\:border-gray-800 {\\n --tw-border-opacity: 1;\\n border-color: rgb(31 41 55 / var(--tw-border-opacity, 1));\\n }\\n .dark\\\\:bg-amber-900\\\\/30 {\\n background-color: rgb(120 53 15 / 0.3);\\n }\\n .dark\\\\:bg-blue-900\\\\/30 {\\n background-color: rgb(30 58 138 / 0.3);\\n }\\n .dark\\\\:bg-blue-900\\\\/40 {\\n background-color: rgb(30 58 138 / 0.4);\\n }\\n .dark\\\\:bg-emerald-900\\\\/30 {\\n background-color: rgb(6 78 59 / 0.3);\\n }\\n .dark\\\\:bg-gray-600 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));\\n }\\n .dark\\\\:bg-gray-700 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));\\n }\\n .dark\\\\:bg-gray-800 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));\\n }\\n .dark\\\\:bg-gray-800\\\\/50 {\\n background-color: rgb(31 41 55 / 0.5);\\n }\\n .dark\\\\:bg-gray-900 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));\\n }\\n .dark\\\\:bg-red-900\\\\/30 {\\n background-color: rgb(127 29 29 / 0.3);\\n }\\n .dark\\\\:text-amber-300 {\\n --tw-text-opacity: 1;\\n color: rgb(252 211 77 / var(--tw-text-opacity, 1));\\n }\\n .dark\\\\:text-amber-400 {\\n --tw-text-opacity: 1;\\n color: rgb(251 191 36 / var(--tw-text-opacity, 1));\\n }\\n .dark\\\\:text-blue-300 {\\n --tw-text-opacity: 1;\\n color: rgb(147 197 253 / var(--tw-text-opacity, 1));\\n }\\n .dark\\\\:text-emerald-300 {\\n --tw-text-opacity: 1;\\n color: rgb(110 231 183 / var(--tw-text-opacity, 1));\\n }\\n .dark\\\\:text-gray-100 {\\n --tw-text-opacity: 1;\\n color: rgb(243 244 246 / var(--tw-text-opacity, 1));\\n }\\n .dark\\\\:text-gray-200 {\\n --tw-text-opacity: 1;\\n color: rgb(229 231 235 / var(--tw-text-opacity, 1));\\n }\\n .dark\\\\:text-gray-300 {\\n --tw-text-opacity: 1;\\n color: rgb(209 213 219 / var(--tw-text-opacity, 1));\\n }\\n .dark\\\\:text-gray-400 {\\n --tw-text-opacity: 1;\\n color: rgb(156 163 175 / var(--tw-text-opacity, 1));\\n }\\n .dark\\\\:text-gray-500 {\\n --tw-text-opacity: 1;\\n color: rgb(107 114 128 / var(--tw-text-opacity, 1));\\n }\\n .dark\\\\:text-red-300 {\\n --tw-text-opacity: 1;\\n color: rgb(252 165 165 / var(--tw-text-opacity, 1));\\n }\\n .dark\\\\:hover\\\\:border-blue-500:hover {\\n --tw-border-opacity: 1;\\n border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));\\n }\\n .dark\\\\:hover\\\\:border-gray-600:hover {\\n --tw-border-opacity: 1;\\n border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));\\n }\\n .dark\\\\:hover\\\\:bg-blue-900\\\\/50:hover {\\n background-color: rgb(30 58 138 / 0.5);\\n }\\n .dark\\\\:hover\\\\:bg-blue-950\\\\/20:hover {\\n background-color: rgb(23 37 84 / 0.2);\\n }\\n .dark\\\\:hover\\\\:bg-gray-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));\\n }\\n .dark\\\\:hover\\\\:bg-gray-800:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));\\n }\\n .dark\\\\:hover\\\\:bg-gray-800\\\\/50:hover {\\n background-color: rgb(31 41 55 / 0.5);\\n }\\n .dark\\\\:hover\\\\:bg-red-900\\\\/20:hover {\\n background-color: rgb(127 29 29 / 0.2);\\n }\\n .dark\\\\:hover\\\\:bg-red-900\\\\/30:hover {\\n background-color: rgb(127 29 29 / 0.3);\\n }\\n .dark\\\\:hover\\\\:text-blue-400:hover {\\n --tw-text-opacity: 1;\\n color: rgb(96 165 250 / var(--tw-text-opacity, 1));\\n }\\n}\\n\")"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { CATEGORY_FALLBACKS, CATEGORY_LABELS, FontPicker, GOOGLE_FONTS_CATALOG, getGoogleFontUrl } from '../../chunk-OTJV62XV.js';
|
|
2
|
-
import '../../chunk-
|
|
2
|
+
import '../../chunk-IGFYMNKL.js';
|
|
3
3
|
import '../../chunk-L7FQ52F5.js';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { ReactNode } from 'react';
|
|
2
|
+
import { ComponentType, ReactNode } from 'react';
|
|
3
3
|
import * as _proveanything_smartlinks_dist_types_appObjects from '@proveanything/smartlinks/dist/types/appObjects';
|
|
4
4
|
import { MatchedAt, FacetRule, RecordScope, AppRecord, RecordTarget, MatchResult, MatchEntry } from '@proveanything/smartlinks/dist/types/appObjects';
|
|
5
5
|
import { LucideIcon } from 'lucide-react';
|
|
@@ -171,6 +171,16 @@ type TelemetryEvent = {
|
|
|
171
171
|
type: 'item.create';
|
|
172
172
|
recordType?: string;
|
|
173
173
|
scopeRef: string;
|
|
174
|
+
} | {
|
|
175
|
+
type: 'clipboard.copy';
|
|
176
|
+
recordType?: string;
|
|
177
|
+
sourceRef: string;
|
|
178
|
+
} | {
|
|
179
|
+
type: 'clipboard.paste';
|
|
180
|
+
recordType?: string;
|
|
181
|
+
sourceRef: string;
|
|
182
|
+
destinationRef: string;
|
|
183
|
+
replaced: boolean;
|
|
174
184
|
};
|
|
175
185
|
|
|
176
186
|
interface RecordsAdminI18n {
|
|
@@ -211,6 +221,11 @@ interface RecordsAdminI18n {
|
|
|
211
221
|
unsavedPromptDiscard: string;
|
|
212
222
|
unsavedPromptCancel: string;
|
|
213
223
|
unsavedPromptSave: string;
|
|
224
|
+
/**
|
|
225
|
+
* Inline banner shown at the top of the shell while the editor is dirty.
|
|
226
|
+
* `{name}` is replaced with the friendly label of the dirty record.
|
|
227
|
+
*/
|
|
228
|
+
unsavedBannerBody: string;
|
|
214
229
|
/** Presentation mode switcher labels. */
|
|
215
230
|
presentationList: string;
|
|
216
231
|
presentationGrid: string;
|
|
@@ -227,6 +242,22 @@ interface RecordsAdminI18n {
|
|
|
227
242
|
*/
|
|
228
243
|
railEmptyTitle: string;
|
|
229
244
|
railEmptyBody: string;
|
|
245
|
+
/** Clipboard / copy-paste affordance. */
|
|
246
|
+
copy: string;
|
|
247
|
+
paste: string;
|
|
248
|
+
pasteFrom: string;
|
|
249
|
+
pasteReplace: string;
|
|
250
|
+
clipboardEmpty: string;
|
|
251
|
+
copyToast: string;
|
|
252
|
+
pasteToast: string;
|
|
253
|
+
/** Confirm dialog when pasting onto a destination with an existing saved value. */
|
|
254
|
+
pasteConfirmTitle: string;
|
|
255
|
+
pasteConfirmBody: string;
|
|
256
|
+
pasteConfirmReplace: string;
|
|
257
|
+
pasteConfirmCancel: string;
|
|
258
|
+
/** Cross-scope warning copy (e.g. variant → product). */
|
|
259
|
+
pasteWarnTitle: string;
|
|
260
|
+
pasteWarnContinue: string;
|
|
230
261
|
}
|
|
231
262
|
declare const DEFAULT_I18N: RecordsAdminI18n;
|
|
232
263
|
|
|
@@ -276,6 +307,17 @@ declare function mergeIcons(override?: Partial<RecordsAdminIcons>): RecordsAdmin
|
|
|
276
307
|
* explicit `headerIcon` > `icons.header.byRecordType[type]` > `icons.header.default`. */
|
|
277
308
|
declare function pickHeaderIcon(icons: RecordsAdminIcons, recordType?: string): LucideIcon;
|
|
278
309
|
|
|
310
|
+
/**
|
|
311
|
+
* Footer / banner action keys whose label and icon can be customised by
|
|
312
|
+
* the host. `save`, `discard`, `delete` are wired today. `saveAll` /
|
|
313
|
+
* `revertAll` are reserved for future "all dirty" affordances; passing
|
|
314
|
+
* them now is harmless and forward-compatible.
|
|
315
|
+
*/
|
|
316
|
+
type RecordsAdminActionKey = 'save' | 'discard' | 'delete' | 'saveAll' | 'revertAll';
|
|
317
|
+
/** Lightweight icon contract — matches Lucide's component signature. */
|
|
318
|
+
type RecordsAdminActionIcon = ComponentType<{
|
|
319
|
+
className?: string;
|
|
320
|
+
}>;
|
|
279
321
|
/** Minimal SDK shape consumed by the shell. */
|
|
280
322
|
type SmartLinksSDK = any;
|
|
281
323
|
/** Slot context passed to renderCard / renderListRow. */
|
|
@@ -283,6 +325,28 @@ interface RecordSlotContext {
|
|
|
283
325
|
selected: boolean;
|
|
284
326
|
onSelect: () => void;
|
|
285
327
|
isDirty?: boolean;
|
|
328
|
+
/**
|
|
329
|
+
* When the host enables `enableClipboard`, the row context menu uses this
|
|
330
|
+
* callback to copy the row's resolved value into the shell-managed
|
|
331
|
+
* clipboard. Wired by the shell — apps don't need to implement it.
|
|
332
|
+
*/
|
|
333
|
+
onCopy?: () => void;
|
|
334
|
+
/**
|
|
335
|
+
* Paste the current clipboard entry onto this row. Disabled when there is
|
|
336
|
+
* nothing to paste, when the source ref equals this row, or when the
|
|
337
|
+
* cross-scope rules deny it.
|
|
338
|
+
*/
|
|
339
|
+
onPaste?: () => void;
|
|
340
|
+
/**
|
|
341
|
+
* Whether `onPaste` will succeed without a confirm. Lets the row menu
|
|
342
|
+
* label the action accurately (e.g. "Paste (replace)" when destination
|
|
343
|
+
* already has a saved value).
|
|
344
|
+
*/
|
|
345
|
+
pasteWillReplace?: boolean;
|
|
346
|
+
/** True when the clipboard is non-empty — drives Paste menu visibility. */
|
|
347
|
+
canPaste?: boolean;
|
|
348
|
+
/** Friendly label for "Paste from {sourceLabel}" in row menus. */
|
|
349
|
+
clipboardSourceLabel?: string;
|
|
286
350
|
}
|
|
287
351
|
interface RecordsAdminShellProps<TData = unknown> {
|
|
288
352
|
SL: SmartLinksSDK;
|
|
@@ -334,6 +398,12 @@ interface RecordsAdminShellProps<TData = unknown> {
|
|
|
334
398
|
* Default false.
|
|
335
399
|
*/
|
|
336
400
|
previewScopePicker?: boolean;
|
|
401
|
+
/**
|
|
402
|
+
* Editor tab strip behaviour. See {@link RecordsAdminEditorTabsMode}.
|
|
403
|
+
* Default `'off'` — the redundant single-tab strip is hidden when the
|
|
404
|
+
* product has no variants/batches.
|
|
405
|
+
*/
|
|
406
|
+
editorTabs?: RecordsAdminEditorTabsMode;
|
|
337
407
|
/**
|
|
338
408
|
* How to handle unsaved edits when the user navigates to a different
|
|
339
409
|
* record/scope/tab.
|
|
@@ -454,7 +524,68 @@ interface RecordsAdminShellProps<TData = unknown> {
|
|
|
454
524
|
i18n?: Partial<RecordsAdminI18n>;
|
|
455
525
|
onTelemetry?: (event: TelemetryEvent) => void;
|
|
456
526
|
className?: string;
|
|
527
|
+
/**
|
|
528
|
+
* Override the resting label for footer / banner actions. When a key is
|
|
529
|
+
* omitted the shell falls back to the i18n default ("Save", "Discard",
|
|
530
|
+
* "Delete"). Loading / disabled states (e.g. "Saving…") remain owned by
|
|
531
|
+
* the shell — only the resting label is customisable here.
|
|
532
|
+
*
|
|
533
|
+
* Hosts that need translated labels should pass already-translated
|
|
534
|
+
* strings; the shell stays locale-agnostic.
|
|
535
|
+
*/
|
|
536
|
+
actionLabels?: Partial<Record<RecordsAdminActionKey, string>>;
|
|
537
|
+
/**
|
|
538
|
+
* Optional icon component rendered before each action label (sized
|
|
539
|
+
* `h-4 w-4`). Omit a key to preserve current look — the editor footer
|
|
540
|
+
* renders Save/Discard without icons by default. Delete retains its
|
|
541
|
+
* built-in `Trash2` unless overridden here.
|
|
542
|
+
*/
|
|
543
|
+
actionIcons?: Partial<Record<RecordsAdminActionKey, RecordsAdminActionIcon>>;
|
|
544
|
+
/**
|
|
545
|
+
* Enable in-shell Copy / Paste between scopes for the current `recordType`.
|
|
546
|
+
* Default `true`. The clipboard is scoped per `(appId, recordType)` and
|
|
547
|
+
* persists in `sessionStorage` so it survives host route changes.
|
|
548
|
+
*/
|
|
549
|
+
enableClipboard?: boolean;
|
|
550
|
+
/**
|
|
551
|
+
* Optional transform on Copy. Receives the resolved value at the source
|
|
552
|
+
* scope and returns what should be stored in the clipboard. Use this to
|
|
553
|
+
* strip per-scope-only fields (e.g. country of origin) that shouldn't
|
|
554
|
+
* propagate. Defaults to a deep clone of the resolved value.
|
|
555
|
+
*/
|
|
556
|
+
onCopy?: (source: {
|
|
557
|
+
value: TData;
|
|
558
|
+
scope: ParsedRef;
|
|
559
|
+
}) => TData;
|
|
560
|
+
/**
|
|
561
|
+
* Optional transform on Paste. Receives the clipboard payload and the
|
|
562
|
+
* destination scope/current value. Return the value to apply, or `null`
|
|
563
|
+
* to abort the paste. Defaults to replacing the destination's value with
|
|
564
|
+
* the clipboard's.
|
|
565
|
+
*/
|
|
566
|
+
onPaste?: (clipboard: {
|
|
567
|
+
value: TData;
|
|
568
|
+
sourceScope: ParsedRef;
|
|
569
|
+
}, destination: {
|
|
570
|
+
scope: ParsedRef;
|
|
571
|
+
currentValue: TData | null;
|
|
572
|
+
}) => TData | null;
|
|
457
573
|
}
|
|
574
|
+
/**
|
|
575
|
+
* Controls the small tab strip that appears above the editor body inside the
|
|
576
|
+
* product drill-down.
|
|
577
|
+
*
|
|
578
|
+
* - `'off'` *(default)* — single-tab strip is hidden when the current product
|
|
579
|
+
* has no variants and no batches (the editor header below already names the
|
|
580
|
+
* record, so the strip is redundant). The strip still renders whenever
|
|
581
|
+
* variants or batches exist — at that point it's a real navigational
|
|
582
|
+
* choice between the product, its variants, and its batches.
|
|
583
|
+
* - `'multi'` — *reserved for a future release.* Will allow multiple records
|
|
584
|
+
* to be open at once with per-tab close buttons and a Save-all banner.
|
|
585
|
+
* Today this value behaves like `'off'` and emits a one-time console
|
|
586
|
+
* warning so consumers can opt in early without breaking when it ships.
|
|
587
|
+
*/
|
|
588
|
+
type RecordsAdminEditorTabsMode = 'off' | 'multi';
|
|
458
589
|
|
|
459
590
|
declare function RecordsAdminShell<TData = unknown>(props: RecordsAdminShellProps<TData>): react_jsx_runtime.JSX.Element;
|
|
460
591
|
|
|
@@ -516,8 +647,12 @@ interface Props$7 {
|
|
|
516
647
|
empty: number;
|
|
517
648
|
};
|
|
518
649
|
i18n: RecordsAdminI18n;
|
|
650
|
+
/** Status keys to omit when their count is 0 — e.g. `['partial']` keeps the
|
|
651
|
+
* pill row on a single line while no records are partially configured. The
|
|
652
|
+
* active filter is always rendered so users never lose context. */
|
|
653
|
+
hideZero?: Array<'all' | RecordStatus>;
|
|
519
654
|
}
|
|
520
|
-
declare const StatusFilterPills: ({ value, onChange, counts, i18n }: Props$7) => react_jsx_runtime.JSX.Element;
|
|
655
|
+
declare const StatusFilterPills: ({ value, onChange, counts, i18n, hideZero }: Props$7) => react_jsx_runtime.JSX.Element;
|
|
521
656
|
|
|
522
657
|
interface Props$6 {
|
|
523
658
|
items: RecordSummary[];
|
|
@@ -537,12 +672,24 @@ interface Props$6 {
|
|
|
537
672
|
label: string;
|
|
538
673
|
icon?: ReactNode;
|
|
539
674
|
} | null;
|
|
675
|
+
/**
|
|
676
|
+
* Optional clipboard wiring per row. When provided the shell's Copy /
|
|
677
|
+
* Paste affordance appears in each row's context menu. Returning `null`
|
|
678
|
+
* for a row hides the menu for that row.
|
|
679
|
+
*/
|
|
680
|
+
rowClipboard?: (record: RecordSummary) => {
|
|
681
|
+
onCopy?: () => void;
|
|
682
|
+
onPaste?: () => void;
|
|
683
|
+
canPaste?: boolean;
|
|
684
|
+
pasteWillReplace?: boolean;
|
|
685
|
+
clipboardSourceLabel?: string;
|
|
686
|
+
} | null;
|
|
540
687
|
}
|
|
541
|
-
declare const RecordList: ({ items, selectedRef, onSelect, dirtyRef, presentation, renderListRow, renderCard, groupBy, }: Props$6) => react_jsx_runtime.JSX.Element;
|
|
542
|
-
declare const ProductList: ({ items, selectedRef, onSelect, dirtyRef, presentation, renderListRow, renderCard, groupBy, }: Props$6) => react_jsx_runtime.JSX.Element;
|
|
543
|
-
declare const FacetList: ({ items, selectedRef, onSelect, dirtyRef, presentation, renderListRow, renderCard, groupBy, }: Props$6) => react_jsx_runtime.JSX.Element;
|
|
544
|
-
declare const VariantList: ({ items, selectedRef, onSelect, dirtyRef, presentation, renderListRow, renderCard, groupBy, }: Props$6) => react_jsx_runtime.JSX.Element;
|
|
545
|
-
declare const BatchList: ({ items, selectedRef, onSelect, dirtyRef, presentation, renderListRow, renderCard, groupBy, }: Props$6) => react_jsx_runtime.JSX.Element;
|
|
688
|
+
declare const RecordList: ({ items, selectedRef, onSelect, dirtyRef, presentation, renderListRow, renderCard, groupBy, rowClipboard, }: Props$6) => react_jsx_runtime.JSX.Element;
|
|
689
|
+
declare const ProductList: ({ items, selectedRef, onSelect, dirtyRef, presentation, renderListRow, renderCard, groupBy, rowClipboard, }: Props$6) => react_jsx_runtime.JSX.Element;
|
|
690
|
+
declare const FacetList: ({ items, selectedRef, onSelect, dirtyRef, presentation, renderListRow, renderCard, groupBy, rowClipboard, }: Props$6) => react_jsx_runtime.JSX.Element;
|
|
691
|
+
declare const VariantList: ({ items, selectedRef, onSelect, dirtyRef, presentation, renderListRow, renderCard, groupBy, rowClipboard, }: Props$6) => react_jsx_runtime.JSX.Element;
|
|
692
|
+
declare const BatchList: ({ items, selectedRef, onSelect, dirtyRef, presentation, renderListRow, renderCard, groupBy, rowClipboard, }: Props$6) => react_jsx_runtime.JSX.Element;
|
|
546
693
|
|
|
547
694
|
interface DefaultRecordRowProps {
|
|
548
695
|
record: RecordSummary;
|
|
@@ -604,8 +751,40 @@ interface Props$4<T> {
|
|
|
604
751
|
footerExtra?: ReactNode;
|
|
605
752
|
/** Optional pre-delete hook (see DeleteButton). */
|
|
606
753
|
onBeforeDelete?: () => boolean | Promise<boolean>;
|
|
754
|
+
/**
|
|
755
|
+
* Friendly title for the editor header (e.g. the selected record's pretty
|
|
756
|
+
* `label` from its `RecordSummary`). Falls back to the raw scope breadcrumb
|
|
757
|
+
* when omitted, but consumers should pass this so admins see the
|
|
758
|
+
* human-readable name rather than internal keys.
|
|
759
|
+
*/
|
|
760
|
+
headerLabel?: string;
|
|
761
|
+
/** Optional subtitle shown beneath `headerLabel` (e.g. facet name). */
|
|
762
|
+
headerSubtitle?: string;
|
|
763
|
+
/**
|
|
764
|
+
* Optional technical reference (e.g. productId / SKU) shown as a tiny muted
|
|
765
|
+
* caption pinned to the top-right of the header. Power users can scan it
|
|
766
|
+
* without it competing with the friendly name as a subtitle.
|
|
767
|
+
*/
|
|
768
|
+
headerMeta?: string;
|
|
769
|
+
/**
|
|
770
|
+
* Clipboard footer actions. The shell wires these when `enableClipboard`
|
|
771
|
+
* is on. Copy is always offered when there's an editing scope; Paste is
|
|
772
|
+
* disabled when the clipboard is empty or the cross-scope rules deny it.
|
|
773
|
+
*/
|
|
774
|
+
clipboard?: {
|
|
775
|
+
onCopy: () => void;
|
|
776
|
+
onPaste: () => void;
|
|
777
|
+
canCopy: boolean;
|
|
778
|
+
canPaste: boolean;
|
|
779
|
+
pasteSourceLabel?: string;
|
|
780
|
+
pasteWillReplace?: boolean;
|
|
781
|
+
};
|
|
782
|
+
/** Host-provided labels for save / discard / delete (resting state only). */
|
|
783
|
+
actionLabels?: Partial<Record<RecordsAdminActionKey, string>>;
|
|
784
|
+
/** Host-provided icons rendered before save / discard / delete labels. */
|
|
785
|
+
actionIcons?: Partial<Record<RecordsAdminActionKey, RecordsAdminActionIcon>>;
|
|
607
786
|
}
|
|
608
|
-
declare function RecordEditor<T>({ ctx, i18n, children, preview, bulkActions, footerExtra, onBeforeDelete, }: Props$4<T>): react_jsx_runtime.JSX.Element;
|
|
787
|
+
declare function RecordEditor<T>({ ctx, i18n, children, preview, bulkActions, footerExtra, onBeforeDelete, headerLabel, headerSubtitle, headerMeta, clipboard, actionLabels, actionIcons, }: Props$4<T>): react_jsx_runtime.JSX.Element;
|
|
609
788
|
|
|
610
789
|
interface InheritanceCtx {
|
|
611
790
|
parentValue?: Record<string, unknown> | null;
|
|
@@ -673,8 +852,16 @@ interface Props$2 {
|
|
|
673
852
|
batchesLoading: boolean;
|
|
674
853
|
/** Editor body rendered to the right of the picker. */
|
|
675
854
|
children: ReactNode;
|
|
855
|
+
/**
|
|
856
|
+
* When true, the drill-down tab strip is hidden even when only the
|
|
857
|
+
* `product` tab would render (i.e. no variants / batches). The editor
|
|
858
|
+
* header below already names the record so the single-tab strip is
|
|
859
|
+
* redundant. The strip still appears whenever variants or batches are
|
|
860
|
+
* available — at that point it's a real navigational choice.
|
|
861
|
+
*/
|
|
862
|
+
hideSingleTab?: boolean;
|
|
676
863
|
}
|
|
677
|
-
declare const ProductDrillDown: ({ productLabel, showVariants, showBatches, active, onChange, selectedChildId, onSelectChild, variants, batches, variantsLoading, batchesLoading, children, }: Props$2) => react_jsx_runtime.JSX.Element;
|
|
864
|
+
declare const ProductDrillDown: ({ productLabel, showVariants, showBatches, active, onChange, selectedChildId, onSelectChild, variants, batches, variantsLoading, batchesLoading, children, hideSingleTab, }: Props$2) => react_jsx_runtime.JSX.Element;
|
|
678
865
|
|
|
679
866
|
type PreviewMode = 'inline' | 'side' | 'tab' | 'drawer';
|
|
680
867
|
interface CommonProps {
|
|
@@ -686,7 +873,13 @@ interface CommonProps {
|
|
|
686
873
|
label?: string;
|
|
687
874
|
}
|
|
688
875
|
declare const InlinePreview: ({ children, scopePicker, label }: CommonProps) => react_jsx_runtime.JSX.Element;
|
|
689
|
-
|
|
876
|
+
interface SidePreviewProps extends CommonProps {
|
|
877
|
+
/** When provided, renders an inline close button so admins can collapse
|
|
878
|
+
* the preview pane on narrow screens. Caller is responsible for hiding
|
|
879
|
+
* the pane afterwards. */
|
|
880
|
+
onClose?: () => void;
|
|
881
|
+
}
|
|
882
|
+
declare const SidePreview: ({ children, scopePicker, label, onClose, }: SidePreviewProps) => react_jsx_runtime.JSX.Element;
|
|
690
883
|
interface TabbedPreviewProps {
|
|
691
884
|
editor: ReactNode;
|
|
692
885
|
preview: ReactNode;
|
|
@@ -728,7 +921,7 @@ interface PreviewScopePickerProps {
|
|
|
728
921
|
previewAsDefault?: string;
|
|
729
922
|
};
|
|
730
923
|
}
|
|
731
|
-
declare const PreviewScopePicker: ({ SL, collectionId, editingScope, value, onChange, showVariants, showBatches, i18n, }: PreviewScopePickerProps) => react_jsx_runtime.JSX.Element;
|
|
924
|
+
declare const PreviewScopePicker: ({ SL, collectionId, editingScope, value, onChange, showVariants, showBatches, i18n, }: PreviewScopePickerProps) => react_jsx_runtime.JSX.Element | null;
|
|
732
925
|
|
|
733
926
|
declare const ScopeBreadcrumb: ({ scope }: {
|
|
734
927
|
scope: ParsedRef;
|
|
@@ -1242,6 +1435,40 @@ declare function usePresentationPref(args: {
|
|
|
1242
1435
|
defaultValue: RecordPresentation;
|
|
1243
1436
|
}): [RecordPresentation, (next: RecordPresentation) => void];
|
|
1244
1437
|
|
|
1438
|
+
interface ClipboardEntry<T = unknown> {
|
|
1439
|
+
value: T;
|
|
1440
|
+
sourceScope: ScopeKind | 'collection';
|
|
1441
|
+
sourceRef: string;
|
|
1442
|
+
/** Friendly label captured at copy time so paste targets can show
|
|
1443
|
+
* "Paste from {sourceLabel}" without re-fetching the source. */
|
|
1444
|
+
sourceLabel?: string;
|
|
1445
|
+
/** ISO timestamp — debug/telemetry only. */
|
|
1446
|
+
copiedAt: string;
|
|
1447
|
+
}
|
|
1448
|
+
interface UseRecordClipboardArgs {
|
|
1449
|
+
/** Required — clipboard is scoped per app to prevent cross-app paste. */
|
|
1450
|
+
appId: string;
|
|
1451
|
+
/** Required — also scoped per record type within the app. */
|
|
1452
|
+
recordType: string;
|
|
1453
|
+
}
|
|
1454
|
+
interface UseRecordClipboardReturn<T = unknown> {
|
|
1455
|
+
entry: ClipboardEntry<T> | null;
|
|
1456
|
+
hasEntry: boolean;
|
|
1457
|
+
set: (entry: Omit<ClipboardEntry<T>, 'copiedAt'>) => void;
|
|
1458
|
+
clear: () => void;
|
|
1459
|
+
}
|
|
1460
|
+
declare function useRecordClipboard<T = unknown>(args: UseRecordClipboardArgs): UseRecordClipboardReturn<T>;
|
|
1461
|
+
type PasteCompatibility = 'allowed' | 'warn' | 'denied';
|
|
1462
|
+
interface PasteCompatibilityResult {
|
|
1463
|
+
status: PasteCompatibility;
|
|
1464
|
+
/** Optional short reason — surfaced as a tooltip on the Paste button. */
|
|
1465
|
+
reason?: string;
|
|
1466
|
+
}
|
|
1467
|
+
/** Sane defaults — host can override entirely via `onPaste` returning null. */
|
|
1468
|
+
declare function checkPasteCompatibility(source: ParsedRef, destination: ParsedRef): PasteCompatibilityResult;
|
|
1469
|
+
/** Deep clone — uses `structuredClone` when available, JSON fallback otherwise. */
|
|
1470
|
+
declare function cloneValue<T>(value: T): T;
|
|
1471
|
+
|
|
1245
1472
|
interface DeleteButtonProps {
|
|
1246
1473
|
/** Performs the delete. Should resolve when the SDK call completes. */
|
|
1247
1474
|
onConfirm: () => void | Promise<void>;
|
|
@@ -1257,8 +1484,16 @@ interface DeleteButtonProps {
|
|
|
1257
1484
|
/** Auto-revert timeout in ms (default 3000). */
|
|
1258
1485
|
revertMs?: number;
|
|
1259
1486
|
disabled?: boolean;
|
|
1487
|
+
/**
|
|
1488
|
+
* Optional icon override for the resting state. Defaults to Lucide
|
|
1489
|
+
* `Trash2`. The confirm-state icon stays `Trash2` so the destructive
|
|
1490
|
+
* intent reads consistently regardless of the host's branding.
|
|
1491
|
+
*/
|
|
1492
|
+
icon?: ComponentType<{
|
|
1493
|
+
className?: string;
|
|
1494
|
+
}>;
|
|
1260
1495
|
}
|
|
1261
|
-
declare const DeleteButton: ({ onConfirm, onBeforeDelete, label, confirmLabel, revertMs, disabled, }: DeleteButtonProps) => react_jsx_runtime.JSX.Element;
|
|
1496
|
+
declare const DeleteButton: ({ onConfirm, onBeforeDelete, label, confirmLabel, revertMs, disabled, icon, }: DeleteButtonProps) => react_jsx_runtime.JSX.Element;
|
|
1262
1497
|
|
|
1263
1498
|
declare const parseRef: (raw: string) => ParsedRef;
|
|
1264
1499
|
interface BuildRefArgs {
|
|
@@ -1315,4 +1550,4 @@ declare const exportCsv: <T>(records: RecordSummary<T>[], schema: CsvSchema<T>)
|
|
|
1315
1550
|
declare const importCsv: <T>(file: File, schema: CsvSchema<T>, ctx: RecordsCtx) => Promise<ImportReport>;
|
|
1316
1551
|
declare const downloadBlob: (blob: Blob, filename: string) => void;
|
|
1317
1552
|
|
|
1318
|
-
export { ALL_PRESENTATIONS, BatchList, BulkActionsMenu, type CollectedRecord, type CollectedSort, type CsvSchema, type CsvSchemaColumn, DEFAULT_I18N, DEFAULT_ICONS, DefaultRecordCard, DefaultRecordRow, DeleteButton, type DirtyStrategy, DrawerPreview, type EditorContext, EmptyState, ErrorState, FacetList, InheritanceMarker, InheritanceProvider, InlinePreview, IntroCard, LoadingState, type MergeStrategy, type MergedRecord, type NavConfirmI18n, type ParsedRef, PresentationSwitcher, type PreviewMode, PreviewScopePicker, PreviewToggleButton, type ProductBrowseItem, type ProductChildItem, ProductDrillDown, ProductList, type RecordBadge, RecordBrowser, type RecordCardinality, RecordEditor, RecordList, type RecordPresentation, type RecordSlotContext, type RecordSource, type RecordStatus, type RecordSummary, type RecordsAdminI18n, type RecordsAdminIcons, RecordsAdminShell, type RecordsAdminShellProps, ResolvedPreview, type ResolvedRecord, ScopeBreadcrumb, type ScopeKind, ScopeTabs, SidePreview, type SmartLinksSDK, StatusDot, StatusFilterPills, TabbedPreview, type TelemetryEvent, type UseResolveAllRecordsArgs, type UseResolveAllResult, type UseRulePreviewArgs, type UseRulePreviewResult, UtilityRow, VariantList, buildRef, bulkDelete, bulkUpsert, deleteRecord, downloadBlob, exportCsv, getRecordByRef, importCsv, listRecords, matchRecords, mergeIcons, parseRef, parsedRefToScope, parsedRefToTarget, pickHeaderIcon, resolutionChain, resolveRecord, restoreRecord, scopesEqual, upsertRecord, useCollectedRecords, useDirtyNavigation, useFacetBrowse, useIntroDismissed, useMergedRecord, usePresentationPref, useProductBrowse, useProductChildren, useRecordEditor, useRecordList, useResolveAllRecords, useResolvedRecord, useRulePreview, useScopeProbe, useUnsavedGuard };
|
|
1553
|
+
export { ALL_PRESENTATIONS, BatchList, BulkActionsMenu, type ClipboardEntry, type CollectedRecord, type CollectedSort, type CsvSchema, type CsvSchemaColumn, DEFAULT_I18N, DEFAULT_ICONS, DefaultRecordCard, DefaultRecordRow, DeleteButton, type DirtyStrategy, DrawerPreview, type EditorContext, EmptyState, ErrorState, FacetList, InheritanceMarker, InheritanceProvider, InlinePreview, IntroCard, LoadingState, type MergeStrategy, type MergedRecord, type NavConfirmI18n, type ParsedRef, type PasteCompatibility, type PasteCompatibilityResult, PresentationSwitcher, type PreviewMode, PreviewScopePicker, PreviewToggleButton, type ProductBrowseItem, type ProductChildItem, ProductDrillDown, ProductList, type RecordBadge, RecordBrowser, type RecordCardinality, RecordEditor, RecordList, type RecordPresentation, type RecordSlotContext, type RecordSource, type RecordStatus, type RecordSummary, type RecordsAdminI18n, type RecordsAdminIcons, RecordsAdminShell, type RecordsAdminShellProps, ResolvedPreview, type ResolvedRecord, ScopeBreadcrumb, type ScopeKind, ScopeTabs, SidePreview, type SmartLinksSDK, StatusDot, StatusFilterPills, TabbedPreview, type TelemetryEvent, type UseRecordClipboardArgs, type UseRecordClipboardReturn, type UseResolveAllRecordsArgs, type UseResolveAllResult, type UseRulePreviewArgs, type UseRulePreviewResult, UtilityRow, VariantList, buildRef, bulkDelete, bulkUpsert, checkPasteCompatibility, cloneValue, deleteRecord, downloadBlob, exportCsv, getRecordByRef, importCsv, listRecords, matchRecords, mergeIcons, parseRef, parsedRefToScope, parsedRefToTarget, pickHeaderIcon, resolutionChain, resolveRecord, restoreRecord, scopesEqual, upsertRecord, useCollectedRecords, useDirtyNavigation, useFacetBrowse, useIntroDismissed, useMergedRecord, usePresentationPref, useProductBrowse, useProductChildren, useRecordClipboard, useRecordEditor, useRecordList, useResolveAllRecords, useResolvedRecord, useRulePreview, useScopeProbe, useUnsavedGuard };
|