@mieweb/forms-editor 1.0.1 → 1.1.0
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/README.md +16 -117
- package/dist/index.js +1486 -1262
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -5,14 +5,15 @@
|
|
|
5
5
|
if (!document.querySelector('#questionnaire-editor-styles')) {
|
|
6
6
|
const style = document.createElement('style');
|
|
7
7
|
style.id = 'questionnaire-editor-styles';
|
|
8
|
-
style.textContent = "/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */\n@import url('https://fonts.googleapis.com/css2?family=Titillium+Web:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700&display=swap');\n@layer properties;\n.pointer-events-none {\n pointer-events: none;\n}\n.visible {\n visibility: visible;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border-width: 0;\n}\n.absolute {\n position: absolute;\n}\n.fixed {\n position: fixed;\n}\n.relative {\n position: relative;\n}\n.static {\n position: static;\n}\n.sticky {\n position: sticky;\n}\n.inset-0 {\n inset: calc(var(--spacing) * 0);\n}\n.top-0 {\n top: calc(var(--spacing) * 0);\n}\n.top-1\\/2 {\n top: calc(1/2 * 100%);\n}\n.top-2 {\n top: calc(var(--spacing) * 2);\n}\n.top-3 {\n top: calc(var(--spacing) * 3);\n}\n.top-5 {\n top: calc(var(--spacing) * 5);\n}\n.top-11 {\n top: calc(var(--spacing) * 11);\n}\n.top-full {\n top: 100%;\n}\n.right-0 {\n right: calc(var(--spacing) * 0);\n}\n.right-2 {\n right: calc(var(--spacing) * 2);\n}\n.right-3 {\n right: calc(var(--spacing) * 3);\n}\n.right-5 {\n right: calc(var(--spacing) * 5);\n}\n.bottom-0 {\n bottom: calc(var(--spacing) * 0);\n}\n.bottom-5 {\n bottom: calc(var(--spacing) * 5);\n}\n.bottom-full {\n bottom: 100%;\n}\n.-left-2 {\n left: calc(var(--spacing) * -2);\n}\n.left-0 {\n left: calc(var(--spacing) * 0);\n}\n.left-5 {\n left: calc(var(--spacing) * 5);\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.z-\\[60\\] {\n z-index: 60;\n}\n.container {\n width: 100%;\n @media (width >= 40rem) {\n max-width: 40rem;\n }\n @media (width >= 48rem) {\n max-width: 48rem;\n }\n @media (width >= 64rem) {\n max-width: 64rem;\n }\n @media (width >= 80rem) {\n max-width: 80rem;\n }\n @media (width >= 96rem) {\n max-width: 96rem;\n }\n}\n.m-0 {\n margin: calc(var(--spacing) * 0);\n}\n.-mx-6 {\n margin-inline: calc(var(--spacing) * -6);\n}\n.mx-auto {\n margin-inline: auto;\n}\n.my-2 {\n margin-block: calc(var(--spacing) * 2);\n}\n.my-9 {\n margin-block: calc(var(--spacing) * 9);\n}\n.-mt-6 {\n margin-top: calc(var(--spacing) * -6);\n}\n.mt-1 {\n margin-top: calc(var(--spacing) * 1);\n}\n.mt-2 {\n margin-top: calc(var(--spacing) * 2);\n}\n.mt-3 {\n margin-top: calc(var(--spacing) * 3);\n}\n.mt-4 {\n margin-top: calc(var(--spacing) * 4);\n}\n.mt-5 {\n margin-top: calc(var(--spacing) * 5);\n}\n.mt-8 {\n margin-top: calc(var(--spacing) * 8);\n}\n.mt-12 {\n margin-top: calc(var(--spacing) * 12);\n}\n.mr-2 {\n margin-right: calc(var(--spacing) * 2);\n}\n.mb-1 {\n margin-bottom: calc(var(--spacing) * 1);\n}\n.mb-1\\.5 {\n margin-bottom: calc(var(--spacing) * 1.5);\n}\n.mb-2 {\n margin-bottom: calc(var(--spacing) * 2);\n}\n.mb-2\\.5 {\n margin-bottom: calc(var(--spacing) * 2.5);\n}\n.mb-3 {\n margin-bottom: calc(var(--spacing) * 3);\n}\n.mb-4 {\n margin-bottom: calc(var(--spacing) * 4);\n}\n.mb-5 {\n margin-bottom: calc(var(--spacing) * 5);\n}\n.mb-6 {\n margin-bottom: calc(var(--spacing) * 6);\n}\n.mb-10 {\n margin-bottom: calc(var(--spacing) * 10);\n}\n.mb-12 {\n margin-bottom: calc(var(--spacing) * 12);\n}\n.mb-14 {\n margin-bottom: calc(var(--spacing) * 14);\n}\n.ml-2 {\n margin-left: calc(var(--spacing) * 2);\n}\n.ml-auto {\n margin-left: auto;\n}\n.block {\n display: block;\n}\n.flex {\n display: flex;\n}\n.grid {\n display: grid;\n}\n.hidden {\n display: none;\n}\n.inline {\n display: inline;\n}\n.inline-flex {\n display: inline-flex;\n}\n.h-1 {\n height: calc(var(--spacing) * 1);\n}\n.h-3 {\n height: calc(var(--spacing) * 3);\n}\n.h-3\\.5 {\n height: calc(var(--spacing) * 3.5);\n}\n.h-4 {\n height: calc(var(--spacing) * 4);\n}\n.h-5 {\n height: calc(var(--spacing) * 5);\n}\n.h-6 {\n height: calc(var(--spacing) * 6);\n}\n.h-7 {\n height: calc(var(--spacing) * 7);\n}\n.h-8 {\n height: calc(var(--spacing) * 8);\n}\n.h-9 {\n height: calc(var(--spacing) * 9);\n}\n.h-10 {\n height: calc(var(--spacing) * 10);\n}\n.h-11 {\n height: calc(var(--spacing) * 11);\n}\n.h-12 {\n height: calc(var(--spacing) * 12);\n}\n.h-24 {\n height: calc(var(--spacing) * 24);\n}\n.h-72 {\n height: calc(var(--spacing) * 72);\n}\n.h-auto {\n height: auto;\n}\n.h-dvh {\n height: 100dvh;\n}\n.h-fit {\n height: fit-content;\n}\n.h-full {\n height: 100%;\n}\n.h-screen {\n height: 100vh;\n}\n.max-h-48 {\n max-height: calc(var(--spacing) * 48);\n}\n.max-h-56 {\n max-height: calc(var(--spacing) * 56);\n}\n.max-h-60 {\n max-height: calc(var(--spacing) * 60);\n}\n.max-h-96 {\n max-height: calc(var(--spacing) * 96);\n}\n.max-h-\\[60vh\\] {\n max-height: 60vh;\n}\n.max-h-\\[70vh\\] {\n max-height: 70vh;\n}\n.max-h-\\[80vh\\] {\n max-height: 80vh;\n}\n.max-h-\\[300px\\] {\n max-height: 300px;\n}\n.max-h-\\[calc\\(100svh-13rem\\)\\] {\n max-height: calc(100svh - 13rem);\n}\n.max-h-\\[calc\\(100svh-24rem\\)\\] {\n max-height: calc(100svh - 24rem);\n}\n.max-h-screen {\n max-height: 100vh;\n}\n.min-h-10 {\n min-height: calc(var(--spacing) * 10);\n}\n.min-h-24 {\n min-height: calc(var(--spacing) * 24);\n}\n.min-h-64 {\n min-height: calc(var(--spacing) * 64);\n}\n.min-h-\\[calc\\(100vh-10rem\\)\\] {\n min-height: calc(100vh - 10rem);\n}\n.min-h-dvh {\n min-height: 100dvh;\n}\n.min-h-screen {\n min-height: 100vh;\n}\n.w-1\\/2 {\n width: calc(1/2 * 100%);\n}\n.w-3 {\n width: calc(var(--spacing) * 3);\n}\n.w-3\\.5 {\n width: calc(var(--spacing) * 3.5);\n}\n.w-3\\/4 {\n width: calc(3/4 * 100%);\n}\n.w-4 {\n width: calc(var(--spacing) * 4);\n}\n.w-5 {\n width: calc(var(--spacing) * 5);\n}\n.w-6 {\n width: calc(var(--spacing) * 6);\n}\n.w-7 {\n width: calc(var(--spacing) * 7);\n}\n.w-8 {\n width: calc(var(--spacing) * 8);\n}\n.w-9 {\n width: calc(var(--spacing) * 9);\n}\n.w-12 {\n width: calc(var(--spacing) * 12);\n}\n.w-32 {\n width: calc(var(--spacing) * 32);\n}\n.w-48 {\n width: calc(var(--spacing) * 48);\n}\n.w-fit {\n width: fit-content;\n}\n.w-full {\n width: 100%;\n}\n.w-px {\n width: 1px;\n}\n.max-w-3xl {\n max-width: var(--container-3xl);\n}\n.max-w-4xl {\n max-width: var(--container-4xl);\n}\n.max-w-5xl {\n max-width: var(--container-5xl);\n}\n.max-w-7xl {\n max-width: var(--container-7xl);\n}\n.max-w-\\[80vw\\] {\n max-width: 80vw;\n}\n.max-w-full {\n max-width: 100%;\n}\n.max-w-md {\n max-width: var(--container-md);\n}\n.max-w-xl {\n max-width: var(--container-xl);\n}\n.min-w-0 {\n min-width: calc(var(--spacing) * 0);\n}\n.min-w-\\[44px\\] {\n min-width: 44px;\n}\n.min-w-fit {\n min-width: fit-content;\n}\n.flex-1 {\n flex: 1;\n}\n.flex-shrink-0 {\n flex-shrink: 0;\n}\n.-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n}\n.scale-105 {\n --tw-scale-x: 105%;\n --tw-scale-y: 105%;\n --tw-scale-z: 105%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n}\n.rotate-180 {\n rotate: 180deg;\n}\n.transform {\n transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);\n}\n.cursor-not-allowed {\n cursor: not-allowed;\n}\n.cursor-pointer {\n cursor: pointer;\n}\n.touch-manipulation {\n touch-action: manipulation;\n}\n.resize {\n resize: both;\n}\n.resize-y {\n resize: vertical;\n}\n.appearance-none {\n appearance: none;\n}\n.grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n}\n.grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n.flex-col {\n flex-direction: column;\n}\n.flex-wrap {\n flex-wrap: wrap;\n}\n.items-center {\n align-items: center;\n}\n.items-end {\n align-items: flex-end;\n}\n.items-start {\n align-items: flex-start;\n}\n.justify-between {\n justify-content: space-between;\n}\n.justify-center {\n justify-content: center;\n}\n.justify-end {\n justify-content: flex-end;\n}\n.justify-evenly {\n justify-content: space-evenly;\n}\n.justify-start {\n justify-content: flex-start;\n}\n.gap-0 {\n gap: calc(var(--spacing) * 0);\n}\n.gap-1 {\n gap: calc(var(--spacing) * 1);\n}\n.gap-1\\.5 {\n gap: calc(var(--spacing) * 1.5);\n}\n.gap-2 {\n gap: calc(var(--spacing) * 2);\n}\n.gap-2\\.5 {\n gap: calc(var(--spacing) * 2.5);\n}\n.gap-3 {\n gap: calc(var(--spacing) * 3);\n}\n.gap-4 {\n gap: calc(var(--spacing) * 4);\n}\n.gap-5 {\n gap: calc(var(--spacing) * 5);\n}\n.gap-6 {\n gap: calc(var(--spacing) * 6);\n}\n.space-y-1 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));\n }\n}\n.space-y-2 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));\n }\n}\n.space-y-3 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));\n }\n}\n.space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n}\n.truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.overflow-auto {\n overflow: auto;\n}\n.overflow-hidden {\n overflow: hidden;\n}\n.overflow-y-auto {\n overflow-y: auto;\n}\n.overflow-y-visible {\n overflow-y: visible;\n}\n.rounded {\n border-radius: 0.25rem;\n}\n.rounded-2xl {\n border-radius: var(--radius-2xl);\n}\n.rounded-3xl {\n border-radius: var(--radius-3xl);\n}\n.rounded-full {\n border-radius: calc(infinity * 1px);\n}\n.rounded-lg {\n border-radius: var(--radius-lg);\n}\n.rounded-md {\n border-radius: var(--radius-md);\n}\n.rounded-xl {\n border-radius: var(--radius-xl);\n}\n.rounded-t-2xl {\n border-top-left-radius: var(--radius-2xl);\n border-top-right-radius: var(--radius-2xl);\n}\n.rounded-t-lg {\n border-top-left-radius: var(--radius-lg);\n border-top-right-radius: var(--radius-lg);\n}\n.border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n}\n.border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n}\n.border-2 {\n border-style: var(--tw-border-style);\n border-width: 2px;\n}\n.border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n}\n.border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n}\n.border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n}\n.border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n}\n.border-black\\/10 {\n border-color: color-mix(in srgb, #000 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-black) 10%, transparent);\n }\n}\n.border-black\\/15 {\n border-color: color-mix(in srgb, #000 15%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-black) 15%, transparent);\n }\n}\n.border-black\\/20 {\n border-color: color-mix(in srgb, #000 20%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-black) 20%, transparent);\n }\n}\n.border-blue-200 {\n border-color: var(--color-blue-200);\n}\n.border-blue-200\\/60 {\n border-color: color-mix(in srgb, oklch(88.2% 0.059 254.128) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-blue-200) 60%, transparent);\n }\n}\n.border-blue-300 {\n border-color: var(--color-blue-300);\n}\n.border-blue-400 {\n border-color: var(--color-blue-400);\n}\n.border-blue-600 {\n border-color: var(--color-blue-600);\n}\n.border-gray-100 {\n border-color: var(--color-gray-100);\n}\n.border-gray-200 {\n border-color: var(--color-gray-200);\n}\n.border-gray-300 {\n border-color: var(--color-gray-300);\n}\n.border-orange-500 {\n border-color: var(--color-orange-500);\n}\n.border-red-300 {\n border-color: var(--color-red-300);\n}\n.border-slate-100\\/80 {\n border-color: color-mix(in srgb, oklch(96.8% 0.007 247.896) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-slate-100) 80%, transparent);\n }\n}\n.border-slate-200 {\n border-color: var(--color-slate-200);\n}\n.border-slate-300 {\n border-color: var(--color-slate-300);\n}\n.border-transparent {\n border-color: transparent;\n}\n.border-white\\/30 {\n border-color: color-mix(in srgb, #fff 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 30%, transparent);\n }\n}\n.border-white\\/40 {\n border-color: color-mix(in srgb, #fff 40%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 40%, transparent);\n }\n}\n.bg-black\\/5 {\n background-color: color-mix(in srgb, #000 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 5%, transparent);\n }\n}\n.bg-black\\/6 {\n background-color: color-mix(in srgb, #000 6%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 6%, transparent);\n }\n}\n.bg-black\\/30 {\n background-color: color-mix(in srgb, #000 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 30%, transparent);\n }\n}\n.bg-black\\/50 {\n background-color: color-mix(in srgb, #000 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 50%, transparent);\n }\n}\n.bg-blue-100 {\n background-color: var(--color-blue-100);\n}\n.bg-blue-100\\/50 {\n background-color: color-mix(in srgb, oklch(93.2% 0.032 255.585) 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-blue-100) 50%, transparent);\n }\n}\n.bg-blue-100\\/70 {\n background-color: color-mix(in srgb, oklch(93.2% 0.032 255.585) 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-blue-100) 70%, transparent);\n }\n}\n.bg-blue-400 {\n background-color: var(--color-blue-400);\n}\n.bg-blue-500 {\n background-color: var(--color-blue-500);\n}\n.bg-blue-600 {\n background-color: var(--color-blue-600);\n}\n.bg-gray-50 {\n background-color: var(--color-gray-50);\n}\n.bg-gray-100 {\n background-color: var(--color-gray-100);\n}\n.bg-gray-200 {\n background-color: var(--color-gray-200);\n}\n.bg-gray-300 {\n background-color: var(--color-gray-300);\n}\n.bg-gray-700 {\n background-color: var(--color-gray-700);\n}\n.bg-indigo-100 {\n background-color: var(--color-indigo-100);\n}\n.bg-neutral-100 {\n background-color: var(--color-neutral-100);\n}\n.bg-orange-50 {\n background-color: var(--color-orange-50);\n}\n.bg-orange-500 {\n background-color: var(--color-orange-500);\n}\n.bg-red-50 {\n background-color: var(--color-red-50);\n}\n.bg-red-100 {\n background-color: var(--color-red-100);\n}\n.bg-slate-50\\/60 {\n background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-slate-50) 60%, transparent);\n }\n}\n.bg-slate-100 {\n background-color: var(--color-slate-100);\n}\n.bg-transparent {\n background-color: transparent;\n}\n.bg-white {\n background-color: var(--color-white);\n}\n.bg-white\\/70 {\n background-color: color-mix(in srgb, #fff 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 70%, transparent);\n }\n}\n.bg-white\\/75 {\n background-color: color-mix(in srgb, #fff 75%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 75%, transparent);\n }\n}\n.bg-gradient-to-b {\n --tw-gradient-position: to bottom in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n}\n.bg-gradient-to-br {\n --tw-gradient-position: to bottom right in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n}\n.bg-gradient-to-r {\n --tw-gradient-position: to right in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n}\n.from-blue-50 {\n --tw-gradient-from: var(--color-blue-50);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n}\n.from-gray-50 {\n --tw-gradient-from: var(--color-gray-50);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n}\n.from-white {\n --tw-gradient-from: var(--color-white);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n}\n.to-gray-50 {\n --tw-gradient-to: var(--color-gray-50);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n}\n.to-gray-100 {\n --tw-gradient-to: var(--color-gray-100);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n}\n.to-slate-50 {\n --tw-gradient-to: var(--color-slate-50);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n}\n.object-contain {\n object-fit: contain;\n}\n.p-0 {\n padding: calc(var(--spacing) * 0);\n}\n.p-1 {\n padding: calc(var(--spacing) * 1);\n}\n.p-1\\.5 {\n padding: calc(var(--spacing) * 1.5);\n}\n.p-2 {\n padding: calc(var(--spacing) * 2);\n}\n.p-3 {\n padding: calc(var(--spacing) * 3);\n}\n.p-4 {\n padding: calc(var(--spacing) * 4);\n}\n.p-6 {\n padding: calc(var(--spacing) * 6);\n}\n.p-7 {\n padding: calc(var(--spacing) * 7);\n}\n.p-8 {\n padding: calc(var(--spacing) * 8);\n}\n.px-0\\.5 {\n padding-inline: calc(var(--spacing) * 0.5);\n}\n.px-2 {\n padding-inline: calc(var(--spacing) * 2);\n}\n.px-2\\.5 {\n padding-inline: calc(var(--spacing) * 2.5);\n}\n.px-3 {\n padding-inline: calc(var(--spacing) * 3);\n}\n.px-4 {\n padding-inline: calc(var(--spacing) * 4);\n}\n.px-5 {\n padding-inline: calc(var(--spacing) * 5);\n}\n.px-6 {\n padding-inline: calc(var(--spacing) * 6);\n}\n.px-8 {\n padding-inline: calc(var(--spacing) * 8);\n}\n.py-0\\.5 {\n padding-block: calc(var(--spacing) * 0.5);\n}\n.py-1 {\n padding-block: calc(var(--spacing) * 1);\n}\n.py-1\\.5 {\n padding-block: calc(var(--spacing) * 1.5);\n}\n.py-2 {\n padding-block: calc(var(--spacing) * 2);\n}\n.py-2\\.5 {\n padding-block: calc(var(--spacing) * 2.5);\n}\n.py-3 {\n padding-block: calc(var(--spacing) * 3);\n}\n.py-4 {\n padding-block: calc(var(--spacing) * 4);\n}\n.py-10 {\n padding-block: calc(var(--spacing) * 10);\n}\n.py-16 {\n padding-block: calc(var(--spacing) * 16);\n}\n.pt-1 {\n padding-top: calc(var(--spacing) * 1);\n}\n.pt-2 {\n padding-top: calc(var(--spacing) * 2);\n}\n.pt-3 {\n padding-top: calc(var(--spacing) * 3);\n}\n.pt-4 {\n padding-top: calc(var(--spacing) * 4);\n}\n.pt-5 {\n padding-top: calc(var(--spacing) * 5);\n}\n.pt-6 {\n padding-top: calc(var(--spacing) * 6);\n}\n.pt-8 {\n padding-top: calc(var(--spacing) * 8);\n}\n.pt-20 {\n padding-top: calc(var(--spacing) * 20);\n}\n.pr-10 {\n padding-right: calc(var(--spacing) * 10);\n}\n.pb-2 {\n padding-bottom: calc(var(--spacing) * 2);\n}\n.pb-4 {\n padding-bottom: calc(var(--spacing) * 4);\n}\n.pb-8 {\n padding-bottom: calc(var(--spacing) * 8);\n}\n.pb-20 {\n padding-bottom: calc(var(--spacing) * 20);\n}\n.pl-32 {\n padding-left: calc(var(--spacing) * 32);\n}\n.text-center {\n text-align: center;\n}\n.text-left {\n text-align: left;\n}\n.font-mono {\n font-family: var(--font-mono);\n}\n.font-sans {\n font-family: var(--font-sans);\n}\n.font-titillium {\n font-family: var(--font-titillium);\n}\n.text-2xl {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n}\n.text-4xl {\n font-size: var(--text-4xl);\n line-height: var(--tw-leading, var(--text-4xl--line-height));\n}\n.text-base {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n}\n.text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n}\n.text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n}\n.text-xl {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n}\n.text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n}\n.leading-relaxed {\n --tw-leading: var(--leading-relaxed);\n line-height: var(--leading-relaxed);\n}\n.leading-tight {\n --tw-leading: var(--leading-tight);\n line-height: var(--leading-tight);\n}\n.font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n}\n.font-light {\n --tw-font-weight: var(--font-weight-light);\n font-weight: var(--font-weight-light);\n}\n.font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n}\n.font-normal {\n --tw-font-weight: var(--font-weight-normal);\n font-weight: var(--font-weight-normal);\n}\n.font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n}\n.tracking-tight {\n --tw-tracking: var(--tracking-tight);\n letter-spacing: var(--tracking-tight);\n}\n.tracking-wide {\n --tw-tracking: var(--tracking-wide);\n letter-spacing: var(--tracking-wide);\n}\n.break-words {\n overflow-wrap: break-word;\n}\n.whitespace-nowrap {\n white-space: nowrap;\n}\n.whitespace-pre-wrap {\n white-space: pre-wrap;\n}\n.text-blue-500 {\n color: var(--color-blue-500);\n}\n.text-blue-600 {\n color: var(--color-blue-600);\n}\n.text-blue-800 {\n color: var(--color-blue-800);\n}\n.text-blue-900 {\n color: var(--color-blue-900);\n}\n.text-gray-300 {\n color: var(--color-gray-300);\n}\n.text-gray-400 {\n color: var(--color-gray-400);\n}\n.text-gray-500 {\n color: var(--color-gray-500);\n}\n.text-gray-600 {\n color: var(--color-gray-600);\n}\n.text-gray-700 {\n color: var(--color-gray-700);\n}\n.text-gray-800 {\n color: var(--color-gray-800);\n}\n.text-green-600 {\n color: var(--color-green-600);\n}\n.text-indigo-700 {\n color: var(--color-indigo-700);\n}\n.text-orange-700 {\n color: var(--color-orange-700);\n}\n.text-red-600 {\n color: var(--color-red-600);\n}\n.text-red-700 {\n color: var(--color-red-700);\n}\n.text-slate-500 {\n color: var(--color-slate-500);\n}\n.text-slate-600 {\n color: var(--color-slate-600);\n}\n.text-slate-700 {\n color: var(--color-slate-700);\n}\n.text-slate-900 {\n color: var(--color-slate-900);\n}\n.text-white {\n color: var(--color-white);\n}\n.uppercase {\n text-transform: uppercase;\n}\n.italic {\n font-style: italic;\n}\n.opacity-0 {\n opacity: 0%;\n}\n.opacity-70 {\n opacity: 70%;\n}\n.shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n}\n.shadow-2xl {\n --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n}\n.shadow-2xs {\n --tw-shadow: 0 1px var(--tw-shadow-color, rgb(0 0 0 / 0.05));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n}\n.shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n}\n.shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n}\n.shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n}\n.shadow-xl {\n --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n}\n.ring-2 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n}\n.ring-blue-500 {\n --tw-ring-color: var(--color-blue-500);\n}\n.ring-offset-2 {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n}\n.invert {\n --tw-invert: invert(100%);\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-2xl {\n --tw-backdrop-blur: blur(var(--blur-2xl));\n -webkit-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 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.backdrop-blur-lg {\n --tw-backdrop-blur: blur(var(--blur-lg));\n -webkit-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 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.backdrop-blur-xl {\n --tw-backdrop-blur: blur(var(--blur-xl));\n -webkit-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 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.backdrop-saturate-150 {\n --tw-backdrop-saturate: saturate(150%);\n -webkit-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 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: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n}\n.transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n}\n.transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n}\n.transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n}\n.duration-150 {\n --tw-duration: 150ms;\n transition-duration: 150ms;\n}\n.duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n}\n.outline-none {\n --tw-outline-style: none;\n outline-style: none;\n}\n.select-none {\n -webkit-user-select: none;\n user-select: none;\n}\n.hover\\:scale-105 {\n &:hover {\n @media (hover: hover) {\n --tw-scale-x: 105%;\n --tw-scale-y: 105%;\n --tw-scale-z: 105%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n}\n.hover\\:border-blue-300 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-blue-300);\n }\n }\n}\n.hover\\:border-blue-400 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-blue-400);\n }\n }\n}\n.hover\\:border-gray-400 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-gray-400);\n }\n }\n}\n.hover\\:border-slate-300\\/60 {\n &:hover {\n @media (hover: hover) {\n border-color: color-mix(in srgb, oklch(86.9% 0.022 252.894) 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-slate-300) 60%, transparent);\n }\n }\n }\n}\n.hover\\:border-white\\/50 {\n &:hover {\n @media (hover: hover) {\n border-color: color-mix(in srgb, #fff 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 50%, transparent);\n }\n }\n }\n}\n.hover\\:border-white\\/60 {\n &:hover {\n @media (hover: hover) {\n border-color: color-mix(in srgb, #fff 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 60%, transparent);\n }\n }\n }\n}\n.hover\\:bg-black\\/5 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #000 5%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 5%, transparent);\n }\n }\n }\n}\n.hover\\:bg-blue-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-blue-50);\n }\n }\n}\n.hover\\:bg-blue-200\\/70 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, oklch(88.2% 0.059 254.128) 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-blue-200) 70%, transparent);\n }\n }\n }\n}\n.hover\\:bg-blue-600 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-blue-600);\n }\n }\n}\n.hover\\:bg-blue-700 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-blue-700);\n }\n }\n}\n.hover\\:bg-gray-200 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-200);\n }\n }\n}\n.hover\\:bg-orange-600 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-orange-600);\n }\n }\n}\n.hover\\:bg-red-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-red-50);\n }\n }\n}\n.hover\\:bg-red-200 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-red-200);\n }\n }\n}\n.hover\\:bg-slate-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-slate-50);\n }\n }\n}\n.hover\\:bg-white {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-white);\n }\n }\n}\n.hover\\:bg-white\\/60 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #fff 60%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 60%, transparent);\n }\n }\n }\n}\n.hover\\:bg-white\\/80 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #fff 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 80%, transparent);\n }\n }\n }\n}\n.hover\\:bg-white\\/85 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #fff 85%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 85%, transparent);\n }\n }\n }\n}\n.hover\\:bg-white\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, #fff 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-white) 90%, transparent);\n }\n }\n }\n}\n.hover\\:from-blue-100 {\n &:hover {\n @media (hover: hover) {\n --tw-gradient-from: var(--color-blue-100);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n }\n}\n.hover\\:to-gray-100 {\n &:hover {\n @media (hover: hover) {\n --tw-gradient-to: var(--color-gray-100);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n }\n}\n.hover\\:text-blue-600 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-600);\n }\n }\n}\n.hover\\:text-blue-700 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-700);\n }\n }\n}\n.hover\\:text-red-600 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-red-600);\n }\n }\n}\n.hover\\:text-red-700 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-red-700);\n }\n }\n}\n.hover\\:text-slate-900 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-slate-900);\n }\n }\n}\n.hover\\:shadow {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n}\n.hover\\:shadow-\\[0_4px_16px_rgba\\(0\\,0\\,0\\,0\\.06\\)\\,inset_0_1px_0_rgba\\(255\\,255\\,255\\,0\\.9\\)\\] {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 4px 16px var(--tw-shadow-color, rgba(0,0,0,0.06)), inset 0 1px 0 var(--tw-shadow-color, rgba(255,255,255,0.9));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n}\n.hover\\:shadow-\\[0_12px_48px_rgba\\(0\\,0\\,0\\,0\\.12\\)\\,0_4px_12px_rgba\\(0\\,0\\,0\\,0\\.06\\)\\,inset_0_1px_0_rgba\\(255\\,255\\,255\\,0\\.8\\)\\] {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 12px 48px var(--tw-shadow-color, rgba(0,0,0,0.12)), 0 4px 12px var(--tw-shadow-color, rgba(0,0,0,0.06)), inset 0 1px 0 var(--tw-shadow-color, rgba(255,255,255,0.8));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n}\n.hover\\:shadow-\\[0_20px_48px_-12px_rgba\\(0\\,0\\,0\\,0\\.15\\)\\,0_4px_12px_rgba\\(0\\,0\\,0\\,0\\.06\\)\\,inset_0_1px_0_rgba\\(255\\,255\\,255\\,1\\)\\] {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 20px 48px -12px var(--tw-shadow-color, rgba(0,0,0,0.15)), 0 4px 12px var(--tw-shadow-color, rgba(0,0,0,0.06)), inset 0 1px 0 var(--tw-shadow-color, rgba(255,255,255,1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n}\n.hover\\:shadow-xl {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n}\n.hover\\:ring-2 {\n &:hover {\n @media (hover: hover) {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n}\n.hover\\:ring-gray-300 {\n &:hover {\n @media (hover: hover) {\n --tw-ring-color: var(--color-gray-300);\n }\n }\n}\n.focus\\:border-blue-400 {\n &:focus {\n border-color: var(--color-blue-400);\n }\n}\n.focus\\:ring-0 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n}\n.focus\\:ring-1 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n}\n.focus\\:ring-blue-400 {\n &:focus {\n --tw-ring-color: var(--color-blue-400);\n }\n}\n.disabled\\:cursor-not-allowed {\n &:disabled {\n cursor: not-allowed;\n }\n}\n.disabled\\:opacity-40 {\n &:disabled {\n opacity: 40%;\n }\n}\n.disabled\\:opacity-50 {\n &:disabled {\n opacity: 50%;\n }\n}\n.max-\\[474px\\]\\:h-\\[4\\.5rem\\] {\n @media (width < 474px) {\n height: 4.5rem;\n }\n}\n.max-\\[474px\\]\\:items-start {\n @media (width < 474px) {\n align-items: flex-start;\n }\n}\n.min-\\[475px\\]\\:flex-row {\n @media (width >= 475px) {\n flex-direction: row;\n }\n}\n.min-\\[475px\\]\\:items-center {\n @media (width >= 475px) {\n align-items: center;\n }\n}\n.min-\\[540px\\]\\:inline {\n @media (width >= 540px) {\n display: inline;\n }\n}\n.sm\\:max-w-2xl {\n @media (width >= 40rem) {\n max-width: var(--container-2xl);\n }\n}\n.sm\\:max-w-4xl {\n @media (width >= 40rem) {\n max-width: var(--container-4xl);\n }\n}\n.sm\\:grid-cols-2 {\n @media (width >= 40rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n.sm\\:items-center {\n @media (width >= 40rem) {\n align-items: center;\n }\n}\n.sm\\:rounded-2xl {\n @media (width >= 40rem) {\n border-radius: var(--radius-2xl);\n }\n}\n.md\\:mt-4 {\n @media (width >= 48rem) {\n margin-top: calc(var(--spacing) * 4);\n }\n}\n.md\\:w-80 {\n @media (width >= 48rem) {\n width: calc(var(--spacing) * 80);\n }\n}\n.md\\:max-w-\\[75vw\\] {\n @media (width >= 48rem) {\n max-width: 75vw;\n }\n}\n.md\\:grid-cols-2 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n.md\\:flex-row {\n @media (width >= 48rem) {\n flex-direction: row;\n }\n}\n.md\\:px-12 {\n @media (width >= 48rem) {\n padding-inline: calc(var(--spacing) * 12);\n }\n}\n.md\\:text-5xl {\n @media (width >= 48rem) {\n font-size: var(--text-5xl);\n line-height: var(--tw-leading, var(--text-5xl--line-height));\n }\n}\n.lg\\:mt-6 {\n @media (width >= 64rem) {\n margin-top: calc(var(--spacing) * 6);\n }\n}\n.lg\\:block {\n @media (width >= 64rem) {\n display: block;\n }\n}\n.lg\\:flex {\n @media (width >= 64rem) {\n display: flex;\n }\n}\n.lg\\:hidden {\n @media (width >= 64rem) {\n display: none;\n }\n}\n.lg\\:h-4 {\n @media (width >= 64rem) {\n height: calc(var(--spacing) * 4);\n }\n}\n.lg\\:max-h-\\[calc\\(100dvh-11rem\\)\\] {\n @media (width >= 64rem) {\n max-height: calc(100dvh - 11rem);\n }\n}\n.lg\\:max-h-\\[calc\\(100dvh-20rem\\)\\] {\n @media (width >= 64rem) {\n max-height: calc(100dvh - 20rem);\n }\n}\n.lg\\:w-4 {\n @media (width >= 64rem) {\n width: calc(var(--spacing) * 4);\n }\n}\n.lg\\:w-72 {\n @media (width >= 64rem) {\n width: calc(var(--spacing) * 72);\n }\n}\n.lg\\:w-90 {\n @media (width >= 64rem) {\n width: calc(var(--spacing) * 90);\n }\n}\n.lg\\:max-w-full {\n @media (width >= 64rem) {\n max-width: 100%;\n }\n}\n.lg\\:grid-cols-2 {\n @media (width >= 64rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n.lg\\:flex-row {\n @media (width >= 64rem) {\n flex-direction: row;\n }\n}\n.lg\\:items-center {\n @media (width >= 64rem) {\n align-items: center;\n }\n}\n.lg\\:justify-center {\n @media (width >= 64rem) {\n justify-content: center;\n }\n}\n.lg\\:gap-2 {\n @media (width >= 64rem) {\n gap: calc(var(--spacing) * 2);\n }\n}\n.lg\\:gap-3 {\n @media (width >= 64rem) {\n gap: calc(var(--spacing) * 3);\n }\n}\n.lg\\:px-3 {\n @media (width >= 64rem) {\n padding-inline: calc(var(--spacing) * 3);\n }\n}\n.lg\\:px-4 {\n @media (width >= 64rem) {\n padding-inline: calc(var(--spacing) * 4);\n }\n}\n.lg\\:px-6 {\n @media (width >= 64rem) {\n padding-inline: calc(var(--spacing) * 6);\n }\n}\n.lg\\:py-2 {\n @media (width >= 64rem) {\n padding-block: calc(var(--spacing) * 2);\n }\n}\n.lg\\:pr-2 {\n @media (width >= 64rem) {\n padding-right: calc(var(--spacing) * 2);\n }\n}\n.lg\\:pb-4 {\n @media (width >= 64rem) {\n padding-bottom: calc(var(--spacing) * 4);\n }\n}\n.lg\\:text-2xl {\n @media (width >= 64rem) {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n }\n}\n.lg\\:text-sm {\n @media (width >= 64rem) {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n}\n.\\[\\&_\\.edit-panel-container\\]\\:max-h-none {\n & .edit-panel-container {\n max-height: none;\n }\n}\n.\\[\\&_\\.edit-panel-container\\]\\:overflow-visible {\n & .edit-panel-container {\n overflow: visible;\n }\n}\n:root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n 'Noto Color Emoji';\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',\n monospace;\n --color-red-50: oklch(97.1% 0.013 17.38);\n --color-red-100: oklch(93.6% 0.032 17.717);\n --color-red-200: oklch(88.5% 0.062 18.334);\n --color-red-300: oklch(80.8% 0.114 19.571);\n --color-red-600: oklch(57.7% 0.245 27.325);\n --color-red-700: oklch(50.5% 0.213 27.518);\n --color-orange-50: oklch(98% 0.016 73.684);\n --color-orange-500: oklch(70.5% 0.213 47.604);\n --color-orange-600: oklch(64.6% 0.222 41.116);\n --color-orange-700: oklch(55.3% 0.195 38.402);\n --color-green-600: oklch(62.7% 0.194 149.214);\n --color-blue-50: oklch(97% 0.014 254.604);\n --color-blue-100: oklch(93.2% 0.032 255.585);\n --color-blue-200: oklch(88.2% 0.059 254.128);\n --color-blue-300: oklch(80.9% 0.105 251.813);\n --color-blue-400: oklch(70.7% 0.165 254.624);\n --color-blue-500: oklch(62.3% 0.214 259.815);\n --color-blue-600: oklch(54.6% 0.245 262.881);\n --color-blue-700: oklch(48.8% 0.243 264.376);\n --color-blue-800: oklch(42.4% 0.199 265.638);\n --color-blue-900: oklch(37.9% 0.146 265.522);\n --color-indigo-100: oklch(93% 0.034 272.788);\n --color-indigo-700: oklch(45.7% 0.24 277.023);\n --color-slate-50: oklch(98.4% 0.003 247.858);\n --color-slate-100: oklch(96.8% 0.007 247.896);\n --color-slate-200: oklch(92.9% 0.013 255.508);\n --color-slate-300: oklch(86.9% 0.022 252.894);\n --color-slate-500: oklch(55.4% 0.046 257.417);\n --color-slate-600: oklch(44.6% 0.043 257.281);\n --color-slate-700: oklch(37.2% 0.044 257.287);\n --color-slate-900: oklch(20.8% 0.042 265.755);\n --color-gray-50: oklch(98.5% 0.002 247.839);\n --color-gray-100: oklch(96.7% 0.003 264.542);\n --color-gray-200: oklch(92.8% 0.006 264.531);\n --color-gray-300: oklch(87.2% 0.01 258.338);\n --color-gray-400: oklch(70.7% 0.022 261.325);\n --color-gray-500: oklch(55.1% 0.027 264.364);\n --color-gray-600: oklch(44.6% 0.03 256.802);\n --color-gray-700: oklch(37.3% 0.034 259.733);\n --color-gray-800: oklch(27.8% 0.033 256.848);\n --color-neutral-100: oklch(97% 0 0);\n --color-black: #000;\n --color-white: #fff;\n --spacing: 0.25rem;\n --container-md: 28rem;\n --container-xl: 36rem;\n --container-2xl: 42rem;\n --container-3xl: 48rem;\n --container-4xl: 56rem;\n --container-5xl: 64rem;\n --container-7xl: 80rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-base: 1rem;\n --text-base--line-height: calc(1.5 / 1);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-2xl: 1.5rem;\n --text-2xl--line-height: calc(2 / 1.5);\n --text-4xl: 2.25rem;\n --text-4xl--line-height: calc(2.5 / 2.25);\n --text-5xl: 3rem;\n --text-5xl--line-height: 1;\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --tracking-tight: -0.025em;\n --tracking-wide: 0.025em;\n --leading-tight: 1.25;\n --leading-relaxed: 1.625;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-xl: 0.75rem;\n --radius-2xl: 1rem;\n --radius-3xl: 1.5rem;\n --blur-lg: 16px;\n --blur-xl: 24px;\n --blur-2xl: 40px;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --font-titillium: \"Titillium Web\", sans-serif;\n}\ndiv:focus-visible, button:focus-visible {\n outline: none;\n}\n[data-bs-theme=\"dark\"] .qb-editor-root {\n color-scheme: dark;\n}\n[data-bs-theme=\"dark\"] .qb-editor-root .bg-white {\n background-color: #2B3036 !important;\n}\n[data-bs-theme=\"dark\"] .qb-editor-root .bg-gray-50 {\n background-color: #2B3036 !important;\n}\n[data-bs-theme=\"dark\"] .qb-editor-root .bg-gray-100 {\n background-color: #363c42 !important;\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-scale-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-gradient-position {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-gradient-from {\n syntax: \"<color>\";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-via {\n syntax: \"<color>\";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-to {\n syntax: \"<color>\";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-stops {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-gradient-via-stops {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-gradient-from-position {\n syntax: \"<length-percentage>\";\n inherits: false;\n initial-value: 0%;\n}\n@property --tw-gradient-via-position {\n syntax: \"<length-percentage>\";\n inherits: false;\n initial-value: 50%;\n}\n@property --tw-gradient-to-position {\n syntax: \"<length-percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-tracking {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-drop-shadow-size {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-space-y-reverse: 0;\n --tw-border-style: solid;\n --tw-gradient-position: initial;\n --tw-gradient-from: #0000;\n --tw-gradient-via: #0000;\n --tw-gradient-to: #0000;\n --tw-gradient-stops: initial;\n --tw-gradient-via-stops: initial;\n --tw-gradient-from-position: 0%;\n --tw-gradient-via-position: 50%;\n --tw-gradient-to-position: 100%;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-tracking: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-backdrop-blur: initial;\n --tw-backdrop-brightness: initial;\n --tw-backdrop-contrast: initial;\n --tw-backdrop-grayscale: initial;\n --tw-backdrop-hue-rotate: initial;\n --tw-backdrop-invert: initial;\n --tw-backdrop-opacity: initial;\n --tw-backdrop-saturate: initial;\n --tw-backdrop-sepia: initial;\n --tw-duration: initial;\n }\n }\n}\n";
|
|
8
|
+
style.textContent = "/*! tailwindcss v4.0.6 | MIT License | https://tailwindcss.com */\n@import url('https://fonts.googleapis.com/css2?family=Titillium+Web:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700&display=swap');\n.pointer-events-none {\n pointer-events: none;\n}\n.\\!visible {\n visibility: visible !important;\n}\n.collapse {\n visibility: collapse;\n}\n.visible {\n visibility: visible;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n.absolute {\n position: absolute;\n}\n.fixed {\n position: fixed;\n}\n.relative {\n position: relative;\n}\n.static {\n position: static;\n}\n.sticky {\n position: sticky;\n}\n.inset-0 {\n inset: calc(var(--spacing) * 0);\n}\n.-top-\\[20\\%\\] {\n top: calc(20% * -1);\n}\n.top-0 {\n top: calc(var(--spacing) * 0);\n}\n.top-1\\/2 {\n top: calc(1/2 * 100%);\n}\n.top-2 {\n top: calc(var(--spacing) * 2);\n}\n.top-3 {\n top: calc(var(--spacing) * 3);\n}\n.top-4 {\n top: calc(var(--spacing) * 4);\n}\n.top-6 {\n top: calc(var(--spacing) * 6);\n}\n.top-11 {\n top: calc(var(--spacing) * 11);\n}\n.top-\\[10\\%\\] {\n top: 10%;\n}\n.top-full {\n top: 100%;\n}\n.-right-\\[10\\%\\] {\n right: calc(10% * -1);\n}\n.right-0 {\n right: calc(var(--spacing) * 0);\n}\n.right-2 {\n right: calc(var(--spacing) * 2);\n}\n.right-3 {\n right: calc(var(--spacing) * 3);\n}\n.right-4 {\n right: calc(var(--spacing) * 4);\n}\n.bottom-0 {\n bottom: calc(var(--spacing) * 0);\n}\n.bottom-5 {\n bottom: calc(var(--spacing) * 5);\n}\n.bottom-full {\n bottom: 100%;\n}\n.-left-2 {\n left: calc(var(--spacing) * -2);\n}\n.-left-\\[10\\%\\] {\n left: calc(10% * -1);\n}\n.left-0 {\n left: calc(var(--spacing) * 0);\n}\n.left-5 {\n left: calc(var(--spacing) * 5);\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.z-60 {\n z-index: 60;\n}\n.z-9999 {\n z-index: 9999;\n}\n.z-\\[9999\\] {\n z-index: 9999;\n}\n.\\!container {\n width: 100% !important;\n @media (width >= 40rem) {\n max-width: 40rem !important;\n }\n @media (width >= 48rem) {\n max-width: 48rem !important;\n }\n @media (width >= 64rem) {\n max-width: 64rem !important;\n }\n @media (width >= 80rem) {\n max-width: 80rem !important;\n }\n @media (width >= 96rem) {\n max-width: 96rem !important;\n }\n}\n.container {\n width: 100%;\n @media (width >= 40rem) {\n max-width: 40rem;\n }\n @media (width >= 48rem) {\n max-width: 48rem;\n }\n @media (width >= 64rem) {\n max-width: 64rem;\n }\n @media (width >= 80rem) {\n max-width: 80rem;\n }\n @media (width >= 96rem) {\n max-width: 96rem;\n }\n}\n.m-0 {\n margin: calc(var(--spacing) * 0);\n}\n.-mx-6 {\n margin-inline: calc(var(--spacing) * -6);\n}\n.mx-4 {\n margin-inline: calc(var(--spacing) * 4);\n}\n.mx-auto {\n margin-inline: auto;\n}\n.my-2 {\n margin-block: calc(var(--spacing) * 2);\n}\n.my-9 {\n margin-block: calc(var(--spacing) * 9);\n}\n.-mt-6 {\n margin-top: calc(var(--spacing) * -6);\n}\n.mt-0 {\n margin-top: calc(var(--spacing) * 0);\n}\n.mt-1 {\n margin-top: calc(var(--spacing) * 1);\n}\n.mt-2 {\n margin-top: calc(var(--spacing) * 2);\n}\n.mt-3 {\n margin-top: calc(var(--spacing) * 3);\n}\n.mt-4 {\n margin-top: calc(var(--spacing) * 4);\n}\n.mt-5 {\n margin-top: calc(var(--spacing) * 5);\n}\n.mt-8 {\n margin-top: calc(var(--spacing) * 8);\n}\n.mt-12 {\n margin-top: calc(var(--spacing) * 12);\n}\n.mr-2 {\n margin-right: calc(var(--spacing) * 2);\n}\n.mb-0 {\n margin-bottom: calc(var(--spacing) * 0);\n}\n.mb-1 {\n margin-bottom: calc(var(--spacing) * 1);\n}\n.mb-1\\.5 {\n margin-bottom: calc(var(--spacing) * 1.5);\n}\n.mb-2 {\n margin-bottom: calc(var(--spacing) * 2);\n}\n.mb-2\\.5 {\n margin-bottom: calc(var(--spacing) * 2.5);\n}\n.mb-3 {\n margin-bottom: calc(var(--spacing) * 3);\n}\n.mb-4 {\n margin-bottom: calc(var(--spacing) * 4);\n}\n.mb-5 {\n margin-bottom: calc(var(--spacing) * 5);\n}\n.mb-6 {\n margin-bottom: calc(var(--spacing) * 6);\n}\n.mb-8 {\n margin-bottom: calc(var(--spacing) * 8);\n}\n.mb-10 {\n margin-bottom: calc(var(--spacing) * 10);\n}\n.mb-12 {\n margin-bottom: calc(var(--spacing) * 12);\n}\n.mb-14 {\n margin-bottom: calc(var(--spacing) * 14);\n}\n.mb-16 {\n margin-bottom: calc(var(--spacing) * 16);\n}\n.mb-20 {\n margin-bottom: calc(var(--spacing) * 20);\n}\n.ml-2 {\n margin-left: calc(var(--spacing) * 2);\n}\n.ml-auto {\n margin-left: auto;\n}\n.block {\n display: block;\n}\n.contents {\n display: contents;\n}\n.flex {\n display: flex;\n}\n.grid {\n display: grid;\n}\n.hidden {\n display: none;\n}\n.inline {\n display: inline;\n}\n.inline-block {\n display: inline-block;\n}\n.inline-flex {\n display: inline-flex;\n}\n.table {\n display: table;\n}\n.h-1 {\n height: calc(var(--spacing) * 1);\n}\n.h-3 {\n height: calc(var(--spacing) * 3);\n}\n.h-3\\.5 {\n height: calc(var(--spacing) * 3.5);\n}\n.h-4 {\n height: calc(var(--spacing) * 4);\n}\n.h-5 {\n height: calc(var(--spacing) * 5);\n}\n.h-6 {\n height: calc(var(--spacing) * 6);\n}\n.h-7 {\n height: calc(var(--spacing) * 7);\n}\n.h-8 {\n height: calc(var(--spacing) * 8);\n}\n.h-9 {\n height: calc(var(--spacing) * 9);\n}\n.h-10 {\n height: calc(var(--spacing) * 10);\n}\n.h-11 {\n height: calc(var(--spacing) * 11);\n}\n.h-12 {\n height: calc(var(--spacing) * 12);\n}\n.h-16 {\n height: calc(var(--spacing) * 16);\n}\n.h-24 {\n height: calc(var(--spacing) * 24);\n}\n.h-72 {\n height: calc(var(--spacing) * 72);\n}\n.h-\\[60\\%\\] {\n height: 60%;\n}\n.h-\\[80\\%\\] {\n height: 80%;\n}\n.h-auto {\n height: auto;\n}\n.h-fit {\n height: fit-content;\n}\n.h-full {\n height: 100%;\n}\n.h-screen {\n height: 100vh;\n}\n.max-h-48 {\n max-height: calc(var(--spacing) * 48);\n}\n.max-h-56 {\n max-height: calc(var(--spacing) * 56);\n}\n.max-h-60 {\n max-height: calc(var(--spacing) * 60);\n}\n.max-h-64 {\n max-height: calc(var(--spacing) * 64);\n}\n.max-h-75 {\n max-height: calc(var(--spacing) * 75);\n}\n.max-h-96 {\n max-height: calc(var(--spacing) * 96);\n}\n.max-h-\\[60vh\\] {\n max-height: 60vh;\n}\n.max-h-\\[calc\\(100svh-13rem\\)\\] {\n max-height: calc(100svh - 13rem);\n}\n.max-h-\\[calc\\(100svh-24rem\\)\\] {\n max-height: calc(100svh - 24rem);\n}\n.max-h-screen {\n max-height: 100vh;\n}\n.min-h-10 {\n min-height: calc(var(--spacing) * 10);\n}\n.min-h-24 {\n min-height: calc(var(--spacing) * 24);\n}\n.min-h-64 {\n min-height: calc(var(--spacing) * 64);\n}\n.min-h-\\[calc\\(100vh-10rem\\)\\] {\n min-height: calc(100vh - 10rem);\n}\n.min-h-\\[calc\\(100vh-85px\\)\\] {\n min-height: calc(100vh - 85px);\n}\n.min-h-dvh {\n min-height: 100dvh;\n}\n.min-h-screen {\n min-height: 100vh;\n}\n.w-1\\/2 {\n width: calc(1/2 * 100%);\n}\n.w-3 {\n width: calc(var(--spacing) * 3);\n}\n.w-3\\.5 {\n width: calc(var(--spacing) * 3.5);\n}\n.w-3\\/4 {\n width: calc(3/4 * 100%);\n}\n.w-4 {\n width: calc(var(--spacing) * 4);\n}\n.w-5 {\n width: calc(var(--spacing) * 5);\n}\n.w-6 {\n width: calc(var(--spacing) * 6);\n}\n.w-7 {\n width: calc(var(--spacing) * 7);\n}\n.w-8 {\n width: calc(var(--spacing) * 8);\n}\n.w-9 {\n width: calc(var(--spacing) * 9);\n}\n.w-12 {\n width: calc(var(--spacing) * 12);\n}\n.w-16 {\n width: calc(var(--spacing) * 16);\n}\n.w-20 {\n width: calc(var(--spacing) * 20);\n}\n.w-32 {\n width: calc(var(--spacing) * 32);\n}\n.w-48 {\n width: calc(var(--spacing) * 48);\n}\n.w-\\[40\\%\\] {\n width: 40%;\n}\n.w-\\[50\\%\\] {\n width: 50%;\n}\n.w-fit {\n width: fit-content;\n}\n.w-full {\n width: 100%;\n}\n.w-px {\n width: 1px;\n}\n.max-w-2xl {\n max-width: var(--container-2xl);\n}\n.max-w-3xl {\n max-width: var(--container-3xl);\n}\n.max-w-4xl {\n max-width: var(--container-4xl);\n}\n.max-w-5xl {\n max-width: var(--container-5xl);\n}\n.max-w-7xl {\n max-width: var(--container-7xl);\n}\n.max-w-\\[80vw\\] {\n max-width: 80vw;\n}\n.max-w-full {\n max-width: 100%;\n}\n.max-w-md {\n max-width: var(--container-md);\n}\n.max-w-xl {\n max-width: var(--container-xl);\n}\n.min-w-0 {\n min-width: calc(var(--spacing) * 0);\n}\n.min-w-\\[44px\\] {\n min-width: 44px;\n}\n.min-w-fit {\n min-width: fit-content;\n}\n.flex-1 {\n flex: 1;\n}\n.flex-shrink-0 {\n flex-shrink: 0;\n}\n.shrink-0 {\n flex-shrink: 0;\n}\n.border-collapse {\n border-collapse: collapse;\n}\n.-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n}\n.scale-105 {\n --tw-scale-x: 105%;\n --tw-scale-y: 105%;\n --tw-scale-z: 105%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n}\n.rotate-180 {\n rotate: 180deg;\n}\n.transform {\n transform: var(--tw-rotate-x) var(--tw-rotate-y) var(--tw-rotate-z) var(--tw-skew-x) var(--tw-skew-y);\n}\n.cursor-not-allowed {\n cursor: not-allowed;\n}\n.cursor-pointer {\n cursor: pointer;\n}\n.touch-manipulation {\n touch-action: manipulation;\n}\n.resize {\n resize: both;\n}\n.resize-y {\n resize: vertical;\n}\n.appearance-none {\n appearance: none;\n}\n.grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n}\n.grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n.flex-col {\n flex-direction: column;\n}\n.flex-wrap {\n flex-wrap: wrap;\n}\n.items-center {\n align-items: center;\n}\n.items-end {\n align-items: flex-end;\n}\n.items-start {\n align-items: flex-start;\n}\n.justify-between {\n justify-content: space-between;\n}\n.justify-center {\n justify-content: center;\n}\n.justify-end {\n justify-content: flex-end;\n}\n.justify-evenly {\n justify-content: space-evenly;\n}\n.justify-start {\n justify-content: flex-start;\n}\n.gap-0 {\n gap: calc(var(--spacing) * 0);\n}\n.gap-1 {\n gap: calc(var(--spacing) * 1);\n}\n.gap-1\\.5 {\n gap: calc(var(--spacing) * 1.5);\n}\n.gap-2 {\n gap: calc(var(--spacing) * 2);\n}\n.gap-3 {\n gap: calc(var(--spacing) * 3);\n}\n.gap-4 {\n gap: calc(var(--spacing) * 4);\n}\n.gap-5 {\n gap: calc(var(--spacing) * 5);\n}\n.gap-6 {\n gap: calc(var(--spacing) * 6);\n}\n.gap-8 {\n gap: calc(var(--spacing) * 8);\n}\n.space-y-1 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));\n }\n}\n.space-y-2 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));\n }\n}\n.space-y-3 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));\n }\n}\n.space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n}\n.space-y-6 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));\n }\n}\n.truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.overflow-auto {\n overflow: auto;\n}\n.overflow-hidden {\n overflow: hidden;\n}\n.overflow-visible {\n overflow: visible;\n}\n.overflow-y-auto {\n overflow-y: auto;\n}\n.overflow-y-visible {\n overflow-y: visible;\n}\n.rounded {\n border-radius: 0.25rem;\n}\n.rounded-2xl {\n border-radius: var(--radius-2xl);\n}\n.rounded-3xl {\n border-radius: var(--radius-3xl);\n}\n.rounded-full {\n border-radius: calc(infinity * 1px);\n}\n.rounded-lg {\n border-radius: var(--radius-lg);\n}\n.rounded-md {\n border-radius: var(--radius-md);\n}\n.rounded-xl {\n border-radius: var(--radius-xl);\n}\n.rounded-t-2xl {\n border-top-left-radius: var(--radius-2xl);\n border-top-right-radius: var(--radius-2xl);\n}\n.rounded-t-lg {\n border-top-left-radius: var(--radius-lg);\n border-top-right-radius: var(--radius-lg);\n}\n.border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n}\n.border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n}\n.border-2 {\n border-style: var(--tw-border-style);\n border-width: 2px;\n}\n.border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n}\n.border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n}\n.border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n}\n.border-black\\/10 {\n border-color: color-mix(in oklab, var(--color-black) 10%, transparent);\n}\n.border-black\\/15 {\n border-color: color-mix(in oklab, var(--color-black) 15%, transparent);\n}\n.border-black\\/20 {\n border-color: color-mix(in oklab, var(--color-black) 20%, transparent);\n}\n.border-blue-200 {\n border-color: var(--color-blue-200);\n}\n.border-blue-200\\/60 {\n border-color: color-mix(in oklab, var(--color-blue-200) 60%, transparent);\n}\n.border-blue-300 {\n border-color: var(--color-blue-300);\n}\n.border-blue-400 {\n border-color: var(--color-blue-400);\n}\n.border-blue-600 {\n border-color: var(--color-blue-600);\n}\n.border-gray-100 {\n border-color: var(--color-gray-100);\n}\n.border-gray-200 {\n border-color: var(--color-gray-200);\n}\n.border-gray-300 {\n border-color: var(--color-gray-300);\n}\n.border-green-200 {\n border-color: var(--color-green-200);\n}\n.border-orange-500 {\n border-color: var(--color-orange-500);\n}\n.border-red-200 {\n border-color: var(--color-red-200);\n}\n.border-red-300 {\n border-color: var(--color-red-300);\n}\n.border-slate-100\\/80 {\n border-color: color-mix(in oklab, var(--color-slate-100) 80%, transparent);\n}\n.border-slate-200 {\n border-color: var(--color-slate-200);\n}\n.border-slate-300 {\n border-color: var(--color-slate-300);\n}\n.border-slate-700 {\n border-color: var(--color-slate-700);\n}\n.border-transparent {\n border-color: transparent;\n}\n.border-white\\/30 {\n border-color: color-mix(in oklab, var(--color-white) 30%, transparent);\n}\n.border-white\\/40 {\n border-color: color-mix(in oklab, var(--color-white) 40%, transparent);\n}\n.bg-black\\/5 {\n background-color: color-mix(in oklab, var(--color-black) 5%, transparent);\n}\n.bg-black\\/30 {\n background-color: color-mix(in oklab, var(--color-black) 30%, transparent);\n}\n.bg-black\\/50 {\n background-color: color-mix(in oklab, var(--color-black) 50%, transparent);\n}\n.bg-blue-50 {\n background-color: var(--color-blue-50);\n}\n.bg-blue-100 {\n background-color: var(--color-blue-100);\n}\n.bg-blue-100\\/50 {\n background-color: color-mix(in oklab, var(--color-blue-100) 50%, transparent);\n}\n.bg-blue-100\\/70 {\n background-color: color-mix(in oklab, var(--color-blue-100) 70%, transparent);\n}\n.bg-blue-200\\/40 {\n background-color: color-mix(in oklab, var(--color-blue-200) 40%, transparent);\n}\n.bg-blue-400 {\n background-color: var(--color-blue-400);\n}\n.bg-blue-500 {\n background-color: var(--color-blue-500);\n}\n.bg-blue-600 {\n background-color: var(--color-blue-600);\n}\n.bg-gray-50 {\n background-color: var(--color-gray-50);\n}\n.bg-gray-100 {\n background-color: var(--color-gray-100);\n}\n.bg-gray-200 {\n background-color: var(--color-gray-200);\n}\n.bg-gray-300 {\n background-color: var(--color-gray-300);\n}\n.bg-gray-700 {\n background-color: var(--color-gray-700);\n}\n.bg-green-50 {\n background-color: var(--color-green-50);\n}\n.bg-green-100 {\n background-color: var(--color-green-100);\n}\n.bg-green-200\\/40 {\n background-color: color-mix(in oklab, var(--color-green-200) 40%, transparent);\n}\n.bg-indigo-100 {\n background-color: var(--color-indigo-100);\n}\n.bg-neutral-100 {\n background-color: var(--color-neutral-100);\n}\n.bg-orange-50 {\n background-color: var(--color-orange-50);\n}\n.bg-orange-500 {\n background-color: var(--color-orange-500);\n}\n.bg-red-50 {\n background-color: var(--color-red-50);\n}\n.bg-red-100 {\n background-color: var(--color-red-100);\n}\n.bg-slate-50 {\n background-color: var(--color-slate-50);\n}\n.bg-slate-50\\/60 {\n background-color: color-mix(in oklab, var(--color-slate-50) 60%, transparent);\n}\n.bg-slate-100 {\n background-color: var(--color-slate-100);\n}\n.bg-slate-800 {\n background-color: var(--color-slate-800);\n}\n.bg-slate-900 {\n background-color: var(--color-slate-900);\n}\n.bg-transparent {\n background-color: transparent;\n}\n.bg-white {\n background-color: var(--color-white);\n}\n.bg-white\\/70 {\n background-color: color-mix(in oklab, var(--color-white) 70%, transparent);\n}\n.bg-white\\/75 {\n background-color: color-mix(in oklab, var(--color-white) 75%, transparent);\n}\n.bg-linear-\\[to_right\\,\\#059669\\,\\#0891b2_30\\%\\,\\#f59e0b_60\\%\\,\\#22c55e\\] {\n --tw-gradient-position: to right,#059669,#0891b2 30%,#f59e0b 60%,#22c55e;\n background-image: linear-gradient(var(--tw-gradient-stops,to right,#059669,#0891b2 30%,#f59e0b 60%,#22c55e));\n}\n.bg-linear-to-b {\n --tw-gradient-position: to bottom in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n}\n.bg-linear-to-br {\n --tw-gradient-position: to bottom right in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n}\n.bg-linear-to-r {\n --tw-gradient-position: to right in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n}\n.from-blue-50 {\n --tw-gradient-from: var(--color-blue-50);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n}\n.from-gray-50 {\n --tw-gradient-from: var(--color-gray-50);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n}\n.from-slate-50 {\n --tw-gradient-from: var(--color-slate-50);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n}\n.from-white {\n --tw-gradient-from: var(--color-white);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n}\n.to-gray-50 {\n --tw-gradient-to: var(--color-gray-50);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n}\n.to-gray-100 {\n --tw-gradient-to: var(--color-gray-100);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n}\n.to-slate-50 {\n --tw-gradient-to: var(--color-slate-50);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n}\n.to-white {\n --tw-gradient-to: var(--color-white);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n}\n.bg-clip-text {\n background-clip: text;\n}\n.object-contain {\n object-fit: contain;\n}\n.p-0 {\n padding: calc(var(--spacing) * 0);\n}\n.p-1 {\n padding: calc(var(--spacing) * 1);\n}\n.p-1\\.5 {\n padding: calc(var(--spacing) * 1.5);\n}\n.p-2 {\n padding: calc(var(--spacing) * 2);\n}\n.p-3 {\n padding: calc(var(--spacing) * 3);\n}\n.p-4 {\n padding: calc(var(--spacing) * 4);\n}\n.p-6 {\n padding: calc(var(--spacing) * 6);\n}\n.p-7 {\n padding: calc(var(--spacing) * 7);\n}\n.p-8 {\n padding: calc(var(--spacing) * 8);\n}\n.px-0 {\n padding-inline: calc(var(--spacing) * 0);\n}\n.px-0\\.5 {\n padding-inline: calc(var(--spacing) * 0.5);\n}\n.px-2 {\n padding-inline: calc(var(--spacing) * 2);\n}\n.px-2\\.5 {\n padding-inline: calc(var(--spacing) * 2.5);\n}\n.px-3 {\n padding-inline: calc(var(--spacing) * 3);\n}\n.px-4 {\n padding-inline: calc(var(--spacing) * 4);\n}\n.px-5 {\n padding-inline: calc(var(--spacing) * 5);\n}\n.px-6 {\n padding-inline: calc(var(--spacing) * 6);\n}\n.px-8 {\n padding-inline: calc(var(--spacing) * 8);\n}\n.py-0\\.5 {\n padding-block: calc(var(--spacing) * 0.5);\n}\n.py-1 {\n padding-block: calc(var(--spacing) * 1);\n}\n.py-1\\.5 {\n padding-block: calc(var(--spacing) * 1.5);\n}\n.py-2 {\n padding-block: calc(var(--spacing) * 2);\n}\n.py-2\\.5 {\n padding-block: calc(var(--spacing) * 2.5);\n}\n.py-3 {\n padding-block: calc(var(--spacing) * 3);\n}\n.py-4 {\n padding-block: calc(var(--spacing) * 4);\n}\n.py-5 {\n padding-block: calc(var(--spacing) * 5);\n}\n.py-10 {\n padding-block: calc(var(--spacing) * 10);\n}\n.py-16 {\n padding-block: calc(var(--spacing) * 16);\n}\n.py-20 {\n padding-block: calc(var(--spacing) * 20);\n}\n.pt-1 {\n padding-top: calc(var(--spacing) * 1);\n}\n.pt-2 {\n padding-top: calc(var(--spacing) * 2);\n}\n.pt-3 {\n padding-top: calc(var(--spacing) * 3);\n}\n.pt-4 {\n padding-top: calc(var(--spacing) * 4);\n}\n.pt-5 {\n padding-top: calc(var(--spacing) * 5);\n}\n.pt-6 {\n padding-top: calc(var(--spacing) * 6);\n}\n.pt-8 {\n padding-top: calc(var(--spacing) * 8);\n}\n.pt-20 {\n padding-top: calc(var(--spacing) * 20);\n}\n.pt-32 {\n padding-top: calc(var(--spacing) * 32);\n}\n.pr-10 {\n padding-right: calc(var(--spacing) * 10);\n}\n.pr-16 {\n padding-right: calc(var(--spacing) * 16);\n}\n.pr-28 {\n padding-right: calc(var(--spacing) * 28);\n}\n.pb-2 {\n padding-bottom: calc(var(--spacing) * 2);\n}\n.pb-4 {\n padding-bottom: calc(var(--spacing) * 4);\n}\n.pb-8 {\n padding-bottom: calc(var(--spacing) * 8);\n}\n.pb-20 {\n padding-bottom: calc(var(--spacing) * 20);\n}\n.pl-32 {\n padding-left: calc(var(--spacing) * 32);\n}\n.text-center {\n text-align: center;\n}\n.text-left {\n text-align: left;\n}\n.font-mono {\n font-family: var(--font-mono);\n}\n.font-sans {\n font-family: var(--font-sans);\n}\n.font-titillium {\n font-family: var(--font-titillium);\n}\n.text-2xl {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n}\n.text-4xl {\n font-size: var(--text-4xl);\n line-height: var(--tw-leading, var(--text-4xl--line-height));\n}\n.text-7xl {\n font-size: var(--text-7xl);\n line-height: var(--tw-leading, var(--text-7xl--line-height));\n}\n.text-base {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n}\n.text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n}\n.text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n}\n.text-xl {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n}\n.text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n}\n.text-\\[14px\\] {\n font-size: 14px;\n}\n.leading-none {\n --tw-leading: 1;\n line-height: 1;\n}\n.leading-relaxed {\n --tw-leading: var(--leading-relaxed);\n line-height: var(--leading-relaxed);\n}\n.leading-tight {\n --tw-leading: var(--leading-tight);\n line-height: var(--leading-tight);\n}\n.font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n}\n.font-extrabold {\n --tw-font-weight: var(--font-weight-extrabold);\n font-weight: var(--font-weight-extrabold);\n}\n.font-light {\n --tw-font-weight: var(--font-weight-light);\n font-weight: var(--font-weight-light);\n}\n.font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n}\n.font-normal {\n --tw-font-weight: var(--font-weight-normal);\n font-weight: var(--font-weight-normal);\n}\n.font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n}\n.tracking-tight {\n --tw-tracking: var(--tracking-tight);\n letter-spacing: var(--tracking-tight);\n}\n.tracking-wide {\n --tw-tracking: var(--tracking-wide);\n letter-spacing: var(--tracking-wide);\n}\n.break-words {\n overflow-wrap: break-word;\n}\n.whitespace-nowrap {\n white-space: nowrap;\n}\n.whitespace-pre-line {\n white-space: pre-line;\n}\n.text-blue-500 {\n color: var(--color-blue-500);\n}\n.text-blue-600 {\n color: var(--color-blue-600);\n}\n.text-blue-800 {\n color: var(--color-blue-800);\n}\n.text-blue-900 {\n color: var(--color-blue-900);\n}\n.text-gray-300 {\n color: var(--color-gray-300);\n}\n.text-gray-400 {\n color: var(--color-gray-400);\n}\n.text-gray-500 {\n color: var(--color-gray-500);\n}\n.text-gray-600 {\n color: var(--color-gray-600);\n}\n.text-gray-700 {\n color: var(--color-gray-700);\n}\n.text-gray-800 {\n color: var(--color-gray-800);\n}\n.text-gray-900 {\n color: var(--color-gray-900);\n}\n.text-green-600 {\n color: var(--color-green-600);\n}\n.text-green-700 {\n color: var(--color-green-700);\n}\n.text-indigo-700 {\n color: var(--color-indigo-700);\n}\n.text-orange-700 {\n color: var(--color-orange-700);\n}\n.text-red-600 {\n color: var(--color-red-600);\n}\n.text-red-700 {\n color: var(--color-red-700);\n}\n.text-slate-100 {\n color: var(--color-slate-100);\n}\n.text-slate-300 {\n color: var(--color-slate-300);\n}\n.text-slate-400 {\n color: var(--color-slate-400);\n}\n.text-slate-500 {\n color: var(--color-slate-500);\n}\n.text-slate-600 {\n color: var(--color-slate-600);\n}\n.text-slate-700 {\n color: var(--color-slate-700);\n}\n.text-slate-800 {\n color: var(--color-slate-800);\n}\n.text-slate-900 {\n color: var(--color-slate-900);\n}\n.text-transparent {\n color: transparent;\n}\n.text-white {\n color: var(--color-white);\n}\n.uppercase {\n text-transform: uppercase;\n}\n.italic {\n font-style: italic;\n}\n.no-underline {\n text-decoration-line: none;\n}\n.opacity-0 {\n opacity: 0%;\n}\n.opacity-50 {\n opacity: 50%;\n}\n.ring-2 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentColor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n}\n.shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n}\n.shadow-2xl {\n --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n}\n.shadow-\\[\\.\\.\\.\\] {\n --tw-shadow: ...;\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n}\n.shadow-\\[0_12px_48px_rgba\\(0\\,0\\,0\\,0\\.12\\)\\] {\n --tw-shadow: 0 12px 48px var(--tw-shadow-color, rgba(0,0,0,0.12));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n}\n.shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n}\n.shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n}\n.shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n}\n.shadow-xl {\n --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n}\n.ring-blue-500 {\n --tw-ring-color: var(--color-blue-500);\n}\n.ring-offset-2 {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n}\n.blur-\\[96px\\] {\n --tw-blur: blur(96px);\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.invert {\n --tw-invert: invert(100%);\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.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-2xl {\n --tw-backdrop-blur: blur(var(--blur-2xl));\n -webkit-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 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.backdrop-blur-lg {\n --tw-backdrop-blur: blur(var(--blur-lg));\n -webkit-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 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.backdrop-blur-xl {\n --tw-backdrop-blur: blur(var(--blur-xl));\n -webkit-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 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.backdrop-saturate-150 {\n --tw-backdrop-saturate: saturate(150%);\n -webkit-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 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: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n}\n.transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n}\n.transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n}\n.transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n}\n.duration-150 {\n --tw-duration: 150ms;\n transition-duration: 150ms;\n}\n.duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n}\n.outline-none {\n --tw-outline-style: none;\n outline-style: none;\n}\n.select-none {\n -webkit-user-select: none;\n user-select: none;\n}\n.group-hover\\:text-green-600 {\n &:is(:where(.group):hover *) {\n @media (hover: hover) {\n color: var(--color-green-600);\n }\n }\n}\n.hover\\:translate-y-1 {\n &:hover {\n @media (hover: hover) {\n --tw-translate-y: calc(var(--spacing) * 1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n }\n}\n.hover\\:scale-105 {\n &:hover {\n @media (hover: hover) {\n --tw-scale-x: 105%;\n --tw-scale-y: 105%;\n --tw-scale-z: 105%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n}\n.hover\\:border-blue-300 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-blue-300);\n }\n }\n}\n.hover\\:border-blue-400 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-blue-400);\n }\n }\n}\n.hover\\:border-gray-400 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-gray-400);\n }\n }\n}\n.hover\\:border-green-500 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-green-500);\n }\n }\n}\n.hover\\:border-slate-300\\/60 {\n &:hover {\n @media (hover: hover) {\n border-color: color-mix(in oklab, var(--color-slate-300) 60%, transparent);\n }\n }\n}\n.hover\\:border-slate-600 {\n &:hover {\n @media (hover: hover) {\n border-color: var(--color-slate-600);\n }\n }\n}\n.hover\\:border-white\\/50 {\n &:hover {\n @media (hover: hover) {\n border-color: color-mix(in oklab, var(--color-white) 50%, transparent);\n }\n }\n}\n.hover\\:border-white\\/60 {\n &:hover {\n @media (hover: hover) {\n border-color: color-mix(in oklab, var(--color-white) 60%, transparent);\n }\n }\n}\n.hover\\:bg-black\\/5 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in oklab, var(--color-black) 5%, transparent);\n }\n }\n}\n.hover\\:bg-blue-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-blue-50);\n }\n }\n}\n.hover\\:bg-blue-200\\/70 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in oklab, var(--color-blue-200) 70%, transparent);\n }\n }\n}\n.hover\\:bg-blue-600 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-blue-600);\n }\n }\n}\n.hover\\:bg-blue-700 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-blue-700);\n }\n }\n}\n.hover\\:bg-gray-200 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-200);\n }\n }\n}\n.hover\\:bg-gray-300 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-gray-300);\n }\n }\n}\n.hover\\:bg-orange-600 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-orange-600);\n }\n }\n}\n.hover\\:bg-red-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-red-50);\n }\n }\n}\n.hover\\:bg-red-200 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-red-200);\n }\n }\n}\n.hover\\:bg-slate-50 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-slate-50);\n }\n }\n}\n.hover\\:bg-slate-700 {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-slate-700);\n }\n }\n}\n.hover\\:bg-white {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-white);\n }\n }\n}\n.hover\\:bg-white\\/60 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in oklab, var(--color-white) 60%, transparent);\n }\n }\n}\n.hover\\:bg-white\\/80 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in oklab, var(--color-white) 80%, transparent);\n }\n }\n}\n.hover\\:bg-white\\/85 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in oklab, var(--color-white) 85%, transparent);\n }\n }\n}\n.hover\\:bg-white\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in oklab, var(--color-white) 90%, transparent);\n }\n }\n}\n.hover\\:from-blue-100 {\n &:hover {\n @media (hover: hover) {\n --tw-gradient-from: var(--color-blue-100);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n }\n}\n.hover\\:to-gray-100 {\n &:hover {\n @media (hover: hover) {\n --tw-gradient-to: var(--color-gray-100);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n }\n}\n.hover\\:text-blue-600 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-600);\n }\n }\n}\n.hover\\:text-blue-700 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-blue-700);\n }\n }\n}\n.hover\\:text-green-700 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-green-700);\n }\n }\n}\n.hover\\:text-red-600 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-red-600);\n }\n }\n}\n.hover\\:text-red-700 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-red-700);\n }\n }\n}\n.hover\\:text-slate-100 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-slate-100);\n }\n }\n}\n.hover\\:text-slate-900 {\n &:hover {\n @media (hover: hover) {\n color: var(--color-slate-900);\n }\n }\n}\n.hover\\:ring-2 {\n &:hover {\n @media (hover: hover) {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentColor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n}\n.hover\\:shadow {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n}\n.hover\\:shadow-2xl {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n}\n.hover\\:shadow-\\[0_4px_16px_rgba\\(0\\,0\\,0\\,0\\.06\\)\\,inset_0_1px_0_rgba\\(255\\,255\\,255\\,0\\.9\\)\\] {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 4px 16px var(--tw-shadow-color, rgba(0,0,0,0.06)), inset 0 1px 0 var(--tw-shadow-color, rgba(255,255,255,0.9));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n}\n.hover\\:shadow-\\[0_20px_48px_-12px_rgba\\(0\\,0\\,0\\,0\\.15\\)\\,0_4px_12px_rgba\\(0\\,0\\,0\\,0\\.06\\)\\,inset_0_1px_0_rgba\\(255\\,255\\,255\\,1\\)\\] {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 20px 48px -12px var(--tw-shadow-color, rgba(0,0,0,0.15)), 0 4px 12px var(--tw-shadow-color, rgba(0,0,0,0.06)), inset 0 1px 0 var(--tw-shadow-color, rgba(255,255,255,1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n}\n.hover\\:shadow-lg {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n}\n.hover\\:shadow-xl {\n &:hover {\n @media (hover: hover) {\n --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n}\n.hover\\:ring-gray-300 {\n &:hover {\n @media (hover: hover) {\n --tw-ring-color: var(--color-gray-300);\n }\n }\n}\n.focus\\:border-blue-400 {\n &:focus {\n border-color: var(--color-blue-400);\n }\n}\n.focus\\:ring-1 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentColor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n}\n.focus\\:ring-2 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentColor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n}\n.focus\\:ring-blue-400 {\n &:focus {\n --tw-ring-color: var(--color-blue-400);\n }\n}\n.focus\\:ring-blue-500 {\n &:focus {\n --tw-ring-color: var(--color-blue-500);\n }\n}\n.focus\\:ring-slate-500 {\n &:focus {\n --tw-ring-color: var(--color-slate-500);\n }\n}\n.focus\\:ring-offset-2 {\n &:focus {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n}\n.focus\\:outline-none {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n}\n.active\\:bg-slate-600 {\n &:active {\n background-color: var(--color-slate-600);\n }\n}\n.disabled\\:cursor-not-allowed {\n &:disabled {\n cursor: not-allowed;\n }\n}\n.disabled\\:opacity-40 {\n &:disabled {\n opacity: 40%;\n }\n}\n.disabled\\:opacity-50 {\n &:disabled {\n opacity: 50%;\n }\n}\n.min-\\[445px\\]\\:inline {\n @media (width >= 445px) {\n display: inline;\n }\n}\n.sm\\:grid-cols-2 {\n @media (width >= 40rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n.md\\:mt-4 {\n @media (width >= 48rem) {\n margin-top: calc(var(--spacing) * 4);\n }\n}\n.md\\:w-80 {\n @media (width >= 48rem) {\n width: calc(var(--spacing) * 80);\n }\n}\n.md\\:max-w-\\[75vw\\] {\n @media (width >= 48rem) {\n max-width: 75vw;\n }\n}\n.md\\:grid-cols-2 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n.md\\:grid-cols-3 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n}\n.md\\:flex-row {\n @media (width >= 48rem) {\n flex-direction: row;\n }\n}\n.md\\:px-12 {\n @media (width >= 48rem) {\n padding-inline: calc(var(--spacing) * 12);\n }\n}\n.md\\:text-5xl {\n @media (width >= 48rem) {\n font-size: var(--text-5xl);\n line-height: var(--tw-leading, var(--text-5xl--line-height));\n }\n}\n.lg\\:mt-6 {\n @media (width >= 64rem) {\n margin-top: calc(var(--spacing) * 6);\n }\n}\n.lg\\:block {\n @media (width >= 64rem) {\n display: block;\n }\n}\n.lg\\:flex {\n @media (width >= 64rem) {\n display: flex;\n }\n}\n.lg\\:hidden {\n @media (width >= 64rem) {\n display: none;\n }\n}\n.lg\\:h-4 {\n @media (width >= 64rem) {\n height: calc(var(--spacing) * 4);\n }\n}\n.lg\\:max-h-\\[calc\\(100dvh-11rem\\)\\] {\n @media (width >= 64rem) {\n max-height: calc(100dvh - 11rem);\n }\n}\n.lg\\:max-h-\\[calc\\(100dvh-20rem\\)\\] {\n @media (width >= 64rem) {\n max-height: calc(100dvh - 20rem);\n }\n}\n.lg\\:w-4 {\n @media (width >= 64rem) {\n width: calc(var(--spacing) * 4);\n }\n}\n.lg\\:w-72 {\n @media (width >= 64rem) {\n width: calc(var(--spacing) * 72);\n }\n}\n.lg\\:w-90 {\n @media (width >= 64rem) {\n width: calc(var(--spacing) * 90);\n }\n}\n.lg\\:max-w-full {\n @media (width >= 64rem) {\n max-width: 100%;\n }\n}\n.lg\\:grid-cols-2 {\n @media (width >= 64rem) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n.lg\\:flex-row {\n @media (width >= 64rem) {\n flex-direction: row;\n }\n}\n.lg\\:items-center {\n @media (width >= 64rem) {\n align-items: center;\n }\n}\n.lg\\:justify-center {\n @media (width >= 64rem) {\n justify-content: center;\n }\n}\n.lg\\:gap-2 {\n @media (width >= 64rem) {\n gap: calc(var(--spacing) * 2);\n }\n}\n.lg\\:gap-3 {\n @media (width >= 64rem) {\n gap: calc(var(--spacing) * 3);\n }\n}\n.lg\\:px-3 {\n @media (width >= 64rem) {\n padding-inline: calc(var(--spacing) * 3);\n }\n}\n.lg\\:px-4 {\n @media (width >= 64rem) {\n padding-inline: calc(var(--spacing) * 4);\n }\n}\n.lg\\:px-6 {\n @media (width >= 64rem) {\n padding-inline: calc(var(--spacing) * 6);\n }\n}\n.lg\\:py-2 {\n @media (width >= 64rem) {\n padding-block: calc(var(--spacing) * 2);\n }\n}\n.lg\\:pr-2 {\n @media (width >= 64rem) {\n padding-right: calc(var(--spacing) * 2);\n }\n}\n.lg\\:pb-4 {\n @media (width >= 64rem) {\n padding-bottom: calc(var(--spacing) * 4);\n }\n}\n.lg\\:text-2xl {\n @media (width >= 64rem) {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n }\n}\n.lg\\:text-9xl {\n @media (width >= 64rem) {\n font-size: var(--text-9xl);\n line-height: var(--tw-leading, var(--text-9xl--line-height));\n }\n}\n.lg\\:text-sm {\n @media (width >= 64rem) {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n}\n.\\[\\&_\\.edit-panel-container\\]\\:max-h-none {\n & .edit-panel-container {\n max-height: none;\n }\n}\n.\\[\\&_\\.edit-panel-container\\]\\:overflow-visible {\n & .edit-panel-container {\n overflow: visible;\n }\n}\n:root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n 'Noto Color Emoji';\n --font-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',\n monospace;\n --color-red-50: oklch(97.1% 0.013 17.38);\n --color-red-100: oklch(93.6% 0.032 17.717);\n --color-red-200: oklch(88.5% 0.062 18.334);\n --color-red-300: oklch(80.8% 0.114 19.571);\n --color-red-400: oklch(70.4% 0.191 22.216);\n --color-red-500: oklch(63.7% 0.237 25.331);\n --color-red-600: oklch(57.7% 0.245 27.325);\n --color-red-700: oklch(50.5% 0.213 27.518);\n --color-red-800: oklch(44.4% 0.177 26.899);\n --color-red-900: oklch(39.6% 0.141 25.723);\n --color-red-950: oklch(25.8% 0.092 26.042);\n --color-orange-50: oklch(98% 0.016 73.684);\n --color-orange-100: oklch(95.4% 0.038 75.164);\n --color-orange-200: oklch(90.1% 0.076 70.697);\n --color-orange-300: oklch(83.7% 0.128 66.29);\n --color-orange-400: oklch(75% 0.183 55.934);\n --color-orange-500: oklch(70.5% 0.213 47.604);\n --color-orange-600: oklch(64.6% 0.222 41.116);\n --color-orange-700: oklch(55.3% 0.195 38.402);\n --color-orange-800: oklch(47% 0.157 37.304);\n --color-orange-900: oklch(40.8% 0.123 38.172);\n --color-orange-950: oklch(26.6% 0.079 36.259);\n --color-amber-50: oklch(98.7% 0.022 95.277);\n --color-amber-100: oklch(96.2% 0.059 95.617);\n --color-amber-200: oklch(92.4% 0.12 95.746);\n --color-amber-300: oklch(87.9% 0.169 91.605);\n --color-amber-400: oklch(82.8% 0.189 84.429);\n --color-amber-500: oklch(76.9% 0.188 70.08);\n --color-amber-600: oklch(66.6% 0.179 58.318);\n --color-amber-700: oklch(55.5% 0.163 48.998);\n --color-amber-800: oklch(47.3% 0.137 46.201);\n --color-amber-900: oklch(41.4% 0.112 45.904);\n --color-amber-950: oklch(27.9% 0.077 45.635);\n --color-yellow-50: oklch(98.7% 0.026 102.212);\n --color-yellow-100: oklch(97.3% 0.071 103.193);\n --color-yellow-200: oklch(94.5% 0.129 101.54);\n --color-yellow-300: oklch(90.5% 0.182 98.111);\n --color-yellow-400: oklch(85.2% 0.199 91.936);\n --color-yellow-500: oklch(79.5% 0.184 86.047);\n --color-yellow-600: oklch(68.1% 0.162 75.834);\n --color-yellow-700: oklch(55.4% 0.135 66.442);\n --color-yellow-800: oklch(47.6% 0.114 61.907);\n --color-yellow-900: oklch(42.1% 0.095 57.708);\n --color-yellow-950: oklch(28.6% 0.066 53.813);\n --color-lime-50: oklch(98.6% 0.031 120.757);\n --color-lime-100: oklch(96.7% 0.067 122.328);\n --color-lime-200: oklch(93.8% 0.127 124.321);\n --color-lime-300: oklch(89.7% 0.196 126.665);\n --color-lime-400: oklch(84.1% 0.238 128.85);\n --color-lime-500: oklch(76.8% 0.233 130.85);\n --color-lime-600: oklch(64.8% 0.2 131.684);\n --color-lime-700: oklch(53.2% 0.157 131.589);\n --color-lime-800: oklch(45.3% 0.124 130.933);\n --color-lime-900: oklch(40.5% 0.101 131.063);\n --color-lime-950: oklch(27.4% 0.072 132.109);\n --color-green-50: oklch(98.2% 0.018 155.826);\n --color-green-100: oklch(96.2% 0.044 156.743);\n --color-green-200: oklch(92.5% 0.084 155.995);\n --color-green-300: oklch(87.1% 0.15 154.449);\n --color-green-400: oklch(79.2% 0.209 151.711);\n --color-green-500: oklch(72.3% 0.219 149.579);\n --color-green-600: oklch(62.7% 0.194 149.214);\n --color-green-700: oklch(52.7% 0.154 150.069);\n --color-green-800: oklch(44.8% 0.119 151.328);\n --color-green-900: oklch(39.3% 0.095 152.535);\n --color-green-950: oklch(26.6% 0.065 152.934);\n --color-emerald-50: oklch(97.9% 0.021 166.113);\n --color-emerald-100: oklch(95% 0.052 163.051);\n --color-emerald-200: oklch(90.5% 0.093 164.15);\n --color-emerald-300: oklch(84.5% 0.143 164.978);\n --color-emerald-400: oklch(76.5% 0.177 163.223);\n --color-emerald-500: oklch(69.6% 0.17 162.48);\n --color-emerald-600: oklch(59.6% 0.145 163.225);\n --color-emerald-700: oklch(50.8% 0.118 165.612);\n --color-emerald-800: oklch(43.2% 0.095 166.913);\n --color-emerald-900: oklch(37.8% 0.077 168.94);\n --color-emerald-950: oklch(26.2% 0.051 172.552);\n --color-teal-50: oklch(98.4% 0.014 180.72);\n --color-teal-100: oklch(95.3% 0.051 180.801);\n --color-teal-200: oklch(91% 0.096 180.426);\n --color-teal-300: oklch(85.5% 0.138 181.071);\n --color-teal-400: oklch(77.7% 0.152 181.912);\n --color-teal-500: oklch(70.4% 0.14 182.503);\n --color-teal-600: oklch(60% 0.118 184.704);\n --color-teal-700: oklch(51.1% 0.096 186.391);\n --color-teal-800: oklch(43.7% 0.078 188.216);\n --color-teal-900: oklch(38.6% 0.063 188.416);\n --color-teal-950: oklch(27.7% 0.046 192.524);\n --color-cyan-50: oklch(98.4% 0.019 200.873);\n --color-cyan-100: oklch(95.6% 0.045 203.388);\n --color-cyan-200: oklch(91.7% 0.08 205.041);\n --color-cyan-300: oklch(86.5% 0.127 207.078);\n --color-cyan-400: oklch(78.9% 0.154 211.53);\n --color-cyan-500: oklch(71.5% 0.143 215.221);\n --color-cyan-600: oklch(60.9% 0.126 221.723);\n --color-cyan-700: oklch(52% 0.105 223.128);\n --color-cyan-800: oklch(45% 0.085 224.283);\n --color-cyan-900: oklch(39.8% 0.07 227.392);\n --color-cyan-950: oklch(30.2% 0.056 229.695);\n --color-sky-50: oklch(97.7% 0.013 236.62);\n --color-sky-100: oklch(95.1% 0.026 236.824);\n --color-sky-200: oklch(90.1% 0.058 230.902);\n --color-sky-300: oklch(82.8% 0.111 230.318);\n --color-sky-400: oklch(74.6% 0.16 232.661);\n --color-sky-500: oklch(68.5% 0.169 237.323);\n --color-sky-600: oklch(58.8% 0.158 241.966);\n --color-sky-700: oklch(50% 0.134 242.749);\n --color-sky-800: oklch(44.3% 0.11 240.79);\n --color-sky-900: oklch(39.1% 0.09 240.876);\n --color-sky-950: oklch(29.3% 0.066 243.157);\n --color-blue-50: oklch(97% 0.014 254.604);\n --color-blue-100: oklch(93.2% 0.032 255.585);\n --color-blue-200: oklch(88.2% 0.059 254.128);\n --color-blue-300: oklch(80.9% 0.105 251.813);\n --color-blue-400: oklch(70.7% 0.165 254.624);\n --color-blue-500: oklch(62.3% 0.214 259.815);\n --color-blue-600: oklch(54.6% 0.245 262.881);\n --color-blue-700: oklch(48.8% 0.243 264.376);\n --color-blue-800: oklch(42.4% 0.199 265.638);\n --color-blue-900: oklch(37.9% 0.146 265.522);\n --color-blue-950: oklch(28.2% 0.091 267.935);\n --color-indigo-50: oklch(96.2% 0.018 272.314);\n --color-indigo-100: oklch(93% 0.034 272.788);\n --color-indigo-200: oklch(87% 0.065 274.039);\n --color-indigo-300: oklch(78.5% 0.115 274.713);\n --color-indigo-400: oklch(67.3% 0.182 276.935);\n --color-indigo-500: oklch(58.5% 0.233 277.117);\n --color-indigo-600: oklch(51.1% 0.262 276.966);\n --color-indigo-700: oklch(45.7% 0.24 277.023);\n --color-indigo-800: oklch(39.8% 0.195 277.366);\n --color-indigo-900: oklch(35.9% 0.144 278.697);\n --color-indigo-950: oklch(25.7% 0.09 281.288);\n --color-violet-50: oklch(96.9% 0.016 293.756);\n --color-violet-100: oklch(94.3% 0.029 294.588);\n --color-violet-200: oklch(89.4% 0.057 293.283);\n --color-violet-300: oklch(81.1% 0.111 293.571);\n --color-violet-400: oklch(70.2% 0.183 293.541);\n --color-violet-500: oklch(60.6% 0.25 292.717);\n --color-violet-600: oklch(54.1% 0.281 293.009);\n --color-violet-700: oklch(49.1% 0.27 292.581);\n --color-violet-800: oklch(43.2% 0.232 292.759);\n --color-violet-900: oklch(38% 0.189 293.745);\n --color-violet-950: oklch(28.3% 0.141 291.089);\n --color-purple-50: oklch(97.7% 0.014 308.299);\n --color-purple-100: oklch(94.6% 0.033 307.174);\n --color-purple-200: oklch(90.2% 0.063 306.703);\n --color-purple-300: oklch(82.7% 0.119 306.383);\n --color-purple-400: oklch(71.4% 0.203 305.504);\n --color-purple-500: oklch(62.7% 0.265 303.9);\n --color-purple-600: oklch(55.8% 0.288 302.321);\n --color-purple-700: oklch(49.6% 0.265 301.924);\n --color-purple-800: oklch(43.8% 0.218 303.724);\n --color-purple-900: oklch(38.1% 0.176 304.987);\n --color-purple-950: oklch(29.1% 0.149 302.717);\n --color-fuchsia-50: oklch(97.7% 0.017 320.058);\n --color-fuchsia-100: oklch(95.2% 0.037 318.852);\n --color-fuchsia-200: oklch(90.3% 0.076 319.62);\n --color-fuchsia-300: oklch(83.3% 0.145 321.434);\n --color-fuchsia-400: oklch(74% 0.238 322.16);\n --color-fuchsia-500: oklch(66.7% 0.295 322.15);\n --color-fuchsia-600: oklch(59.1% 0.293 322.896);\n --color-fuchsia-700: oklch(51.8% 0.253 323.949);\n --color-fuchsia-800: oklch(45.2% 0.211 324.591);\n --color-fuchsia-900: oklch(40.1% 0.17 325.612);\n --color-fuchsia-950: oklch(29.3% 0.136 325.661);\n --color-pink-50: oklch(97.1% 0.014 343.198);\n --color-pink-100: oklch(94.8% 0.028 342.258);\n --color-pink-200: oklch(89.9% 0.061 343.231);\n --color-pink-300: oklch(82.3% 0.12 346.018);\n --color-pink-400: oklch(71.8% 0.202 349.761);\n --color-pink-500: oklch(65.6% 0.241 354.308);\n --color-pink-600: oklch(59.2% 0.249 0.584);\n --color-pink-700: oklch(52.5% 0.223 3.958);\n --color-pink-800: oklch(45.9% 0.187 3.815);\n --color-pink-900: oklch(40.8% 0.153 2.432);\n --color-pink-950: oklch(28.4% 0.109 3.907);\n --color-rose-50: oklch(96.9% 0.015 12.422);\n --color-rose-100: oklch(94.1% 0.03 12.58);\n --color-rose-200: oklch(89.2% 0.058 10.001);\n --color-rose-300: oklch(81% 0.117 11.638);\n --color-rose-400: oklch(71.2% 0.194 13.428);\n --color-rose-500: oklch(64.5% 0.246 16.439);\n --color-rose-600: oklch(58.6% 0.253 17.585);\n --color-rose-700: oklch(51.4% 0.222 16.935);\n --color-rose-800: oklch(45.5% 0.188 13.697);\n --color-rose-900: oklch(41% 0.159 10.272);\n --color-rose-950: oklch(27.1% 0.105 12.094);\n --color-slate-50: oklch(98.4% 0.003 247.858);\n --color-slate-100: oklch(96.8% 0.007 247.896);\n --color-slate-200: oklch(92.9% 0.013 255.508);\n --color-slate-300: oklch(86.9% 0.022 252.894);\n --color-slate-400: oklch(70.4% 0.04 256.788);\n --color-slate-500: oklch(55.4% 0.046 257.417);\n --color-slate-600: oklch(44.6% 0.043 257.281);\n --color-slate-700: oklch(37.2% 0.044 257.287);\n --color-slate-800: oklch(27.9% 0.041 260.031);\n --color-slate-900: oklch(20.8% 0.042 265.755);\n --color-slate-950: oklch(12.9% 0.042 264.695);\n --color-gray-50: oklch(98.5% 0.002 247.839);\n --color-gray-100: oklch(96.7% 0.003 264.542);\n --color-gray-200: oklch(92.8% 0.006 264.531);\n --color-gray-300: oklch(87.2% 0.01 258.338);\n --color-gray-400: oklch(70.7% 0.022 261.325);\n --color-gray-500: oklch(55.1% 0.027 264.364);\n --color-gray-600: oklch(44.6% 0.03 256.802);\n --color-gray-700: oklch(37.3% 0.034 259.733);\n --color-gray-800: oklch(27.8% 0.033 256.848);\n --color-gray-900: oklch(21% 0.034 264.665);\n --color-gray-950: oklch(13% 0.028 261.692);\n --color-zinc-50: oklch(98.5% 0 0);\n --color-zinc-100: oklch(96.7% 0.001 286.375);\n --color-zinc-200: oklch(92% 0.004 286.32);\n --color-zinc-300: oklch(87.1% 0.006 286.286);\n --color-zinc-400: oklch(70.5% 0.015 286.067);\n --color-zinc-500: oklch(55.2% 0.016 285.938);\n --color-zinc-600: oklch(44.2% 0.017 285.786);\n --color-zinc-700: oklch(37% 0.013 285.805);\n --color-zinc-800: oklch(27.4% 0.006 286.033);\n --color-zinc-900: oklch(21% 0.006 285.885);\n --color-zinc-950: oklch(14.1% 0.005 285.823);\n --color-neutral-50: oklch(98.5% 0 0);\n --color-neutral-100: oklch(97% 0 0);\n --color-neutral-200: oklch(92.2% 0 0);\n --color-neutral-300: oklch(87% 0 0);\n --color-neutral-400: oklch(70.8% 0 0);\n --color-neutral-500: oklch(55.6% 0 0);\n --color-neutral-600: oklch(43.9% 0 0);\n --color-neutral-700: oklch(37.1% 0 0);\n --color-neutral-800: oklch(26.9% 0 0);\n --color-neutral-900: oklch(20.5% 0 0);\n --color-neutral-950: oklch(14.5% 0 0);\n --color-stone-50: oklch(98.5% 0.001 106.423);\n --color-stone-100: oklch(97% 0.001 106.424);\n --color-stone-200: oklch(92.3% 0.003 48.717);\n --color-stone-300: oklch(86.9% 0.005 56.366);\n --color-stone-400: oklch(70.9% 0.01 56.259);\n --color-stone-500: oklch(55.3% 0.013 58.071);\n --color-stone-600: oklch(44.4% 0.011 73.639);\n --color-stone-700: oklch(37.4% 0.01 67.558);\n --color-stone-800: oklch(26.8% 0.007 34.298);\n --color-stone-900: oklch(21.6% 0.006 56.043);\n --color-stone-950: oklch(14.7% 0.004 49.25);\n --color-black: #000;\n --color-white: #fff;\n --spacing: 0.25rem;\n --breakpoint-sm: 40rem;\n --breakpoint-md: 48rem;\n --breakpoint-lg: 64rem;\n --breakpoint-xl: 80rem;\n --breakpoint-2xl: 96rem;\n --container-3xs: 16rem;\n --container-2xs: 18rem;\n --container-xs: 20rem;\n --container-sm: 24rem;\n --container-md: 28rem;\n --container-lg: 32rem;\n --container-xl: 36rem;\n --container-2xl: 42rem;\n --container-3xl: 48rem;\n --container-4xl: 56rem;\n --container-5xl: 64rem;\n --container-6xl: 72rem;\n --container-7xl: 80rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-base: 1rem;\n --text-base--line-height: calc(1.5 / 1);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-2xl: 1.5rem;\n --text-2xl--line-height: calc(2 / 1.5);\n --text-3xl: 1.875rem;\n --text-3xl--line-height: calc(2.25 / 1.875);\n --text-4xl: 2.25rem;\n --text-4xl--line-height: calc(2.5 / 2.25);\n --text-5xl: 3rem;\n --text-5xl--line-height: 1;\n --text-6xl: 3.75rem;\n --text-6xl--line-height: 1;\n --text-7xl: 4.5rem;\n --text-7xl--line-height: 1;\n --text-8xl: 6rem;\n --text-8xl--line-height: 1;\n --text-9xl: 8rem;\n --text-9xl--line-height: 1;\n --font-weight-thin: 100;\n --font-weight-extralight: 200;\n --font-weight-light: 300;\n --font-weight-normal: 400;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --font-weight-extrabold: 800;\n --font-weight-black: 900;\n --tracking-tighter: -0.05em;\n --tracking-tight: -0.025em;\n --tracking-normal: 0em;\n --tracking-wide: 0.025em;\n --tracking-wider: 0.05em;\n --tracking-widest: 0.1em;\n --leading-tight: 1.25;\n --leading-snug: 1.375;\n --leading-normal: 1.5;\n --leading-relaxed: 1.625;\n --leading-loose: 2;\n --radius-xs: 0.125rem;\n --radius-sm: 0.25rem;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --radius-xl: 0.75rem;\n --radius-2xl: 1rem;\n --radius-3xl: 1.5rem;\n --radius-4xl: 2rem;\n --shadow-2xs: 0 1px rgb(0 0 0 / 0.05);\n --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / 0.05);\n --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / 0.05);\n --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / 0.05);\n --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / 0.05);\n --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.15);\n --drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12);\n --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / 0.15);\n --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / 0.1);\n --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / 0.15);\n --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / 0.15);\n --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / 0.2);\n --text-shadow-sm: 0px 1px 0px rgb(0 0 0 / 0.075), 0px 1px 1px rgb(0 0 0 / 0.075), 0px 2px 2px rgb(0 0 0 / 0.075);\n --text-shadow-md: 0px 1px 1px rgb(0 0 0 / 0.1), 0px 1px 2px rgb(0 0 0 / 0.1), 0px 2px 4px rgb(0 0 0 / 0.1);\n --text-shadow-lg: 0px 1px 2px rgb(0 0 0 / 0.1), 0px 3px 2px rgb(0 0 0 / 0.1), 0px 4px 8px rgb(0 0 0 / 0.1);\n --ease-in: cubic-bezier(0.4, 0, 1, 1);\n --ease-out: cubic-bezier(0, 0, 0.2, 1);\n --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\n --animate-spin: spin 1s linear infinite;\n --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;\n --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n --animate-bounce: bounce 1s infinite;\n --blur-xs: 4px;\n --blur-sm: 8px;\n --blur-md: 12px;\n --blur-lg: 16px;\n --blur-xl: 24px;\n --blur-2xl: 40px;\n --blur-3xl: 64px;\n --perspective-dramatic: 100px;\n --perspective-near: 300px;\n --perspective-normal: 500px;\n --perspective-midrange: 800px;\n --perspective-distant: 1200px;\n --aspect-video: 16 / 9;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n 'Noto Color Emoji';\n --default-font-feature-settings: initial;\n --default-font-variation-settings: initial;\n --default-mono-font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',\n monospace;\n --default-mono-font-feature-settings: initial;\n --default-mono-font-variation-settings: initial;\n --font-titillium: \"Titillium Web\", sans-serif;\n}\ndiv:focus-visible, button:focus-visible {\n outline: none;\n}\n[data-bs-theme=\"dark\"] .qb-editor-root {\n color-scheme: dark;\n}\n[data-bs-theme=\"dark\"] .qb-editor-root .bg-white {\n background-color: #2B3036 !important;\n}\n[data-bs-theme=\"dark\"] .qb-editor-root .bg-gray-50 {\n background-color: #2B3036 !important;\n}\n[data-bs-theme=\"dark\"] .qb-editor-root .bg-gray-100 {\n background-color: #363c42 !important;\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-scale-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: rotateX(0);\n}\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: rotateY(0);\n}\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: rotateZ(0);\n}\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false;\n initial-value: skewX(0);\n}\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false;\n initial-value: skewY(0);\n}\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-gradient-position {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-gradient-from {\n syntax: \"<color>\";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-via {\n syntax: \"<color>\";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-to {\n syntax: \"<color>\";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-stops {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-gradient-via-stops {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-gradient-from-position {\n syntax: \"<length-percentage>\";\n inherits: false;\n initial-value: 0%;\n}\n@property --tw-gradient-via-position {\n syntax: \"<length-percentage>\";\n inherits: false;\n initial-value: 50%;\n}\n@property --tw-gradient-to-position {\n syntax: \"<length-percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-tracking {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-backdrop-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes ping {\n 75%, 100% {\n transform: scale(2);\n opacity: 0;\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes bounce {\n 0%, 100% {\n transform: translateY(-25%);\n animation-timing-function: cubic-bezier(0.8, 0, 1, 1);\n }\n 50% {\n transform: none;\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n }\n}\n";
|
|
9
9
|
document.head.appendChild(style);
|
|
10
10
|
}
|
|
11
11
|
window.__QUESTIONNAIRE_EDITOR_CSS_INJECTED = true;
|
|
12
12
|
})();
|
|
13
|
-
import m, { useCallback as
|
|
14
|
-
import { useFormStore as
|
|
15
|
-
import
|
|
13
|
+
import m, { useCallback as ke, useMemo as Be, memo as Ge, useState as Pe, useRef as Q, useEffect as le } from "react";
|
|
14
|
+
import { useFormStore as ae, useFormData as Ot, useAlert as Tt, useUIApi as ie, VEDITOR_ICON as dr, CODE_ICON as fr, PICTURE_ICON as mr, UPLOAD_ICON as hr, DOWNLOAD_ICON as pr, parseAndDetect as Ae, adaptSchema as _e, fieldTypes as de, TOOLS_ICON as gr, X_ICON as br, PAPERCLIP_ICON as vr, MATRIX_ICON as xr, RANKING_ICON as yr, SELECTINPUT_ICON as jr, FOLDERS_ICON as wr, TEXTINPUT_ICON as Er, TRASHCANTWO_ICON as ye, useFormApi as Ke, FormStoreContext as Xe, ARROWDOWN_ICON as Cr, NUMERIC_EXPRESSION_FORMATS as Nr, EDIT_ICON as Or, EYEEDIT_ICON as Tr, useVisibleFields as Sr, useUIStore as Ir, getFieldComponent as Rr, MIE_FORMS_SCHEMA_TYPE as ze, createFormStore as kr, createUIStore as Pr, AlertProvider as Ar, UIStoreContext as _r } from "@mieweb/forms-engine";
|
|
15
|
+
import Te from "js-yaml";
|
|
16
|
+
import { useStore as Mr } from "zustand";
|
|
16
17
|
var Se = { exports: {} }, ge = {};
|
|
17
18
|
/**
|
|
18
19
|
* @license React
|
|
@@ -23,19 +24,19 @@ var Se = { exports: {} }, ge = {};
|
|
|
23
24
|
* This source code is licensed under the MIT license found in the
|
|
24
25
|
* LICENSE file in the root directory of this source tree.
|
|
25
26
|
*/
|
|
26
|
-
var
|
|
27
|
-
function
|
|
28
|
-
if (
|
|
29
|
-
|
|
30
|
-
var e = m, r = Symbol.for("react.element"),
|
|
31
|
-
function
|
|
32
|
-
var v,
|
|
33
|
-
|
|
34
|
-
for (v in u)
|
|
35
|
-
if (
|
|
36
|
-
return { $$typeof: r, type:
|
|
27
|
+
var mt;
|
|
28
|
+
function Fr() {
|
|
29
|
+
if (mt) return ge;
|
|
30
|
+
mt = 1;
|
|
31
|
+
var e = m, r = Symbol.for("react.element"), n = Symbol.for("react.fragment"), a = Object.prototype.hasOwnProperty, o = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, i = { key: !0, ref: !0, __self: !0, __source: !0 };
|
|
32
|
+
function h(l, u, p) {
|
|
33
|
+
var v, x = {}, P = null, A = null;
|
|
34
|
+
p !== void 0 && (P = "" + p), u.key !== void 0 && (P = "" + u.key), u.ref !== void 0 && (A = u.ref);
|
|
35
|
+
for (v in u) a.call(u, v) && !i.hasOwnProperty(v) && (x[v] = u[v]);
|
|
36
|
+
if (l && l.defaultProps) for (v in u = l.defaultProps, u) x[v] === void 0 && (x[v] = u[v]);
|
|
37
|
+
return { $$typeof: r, type: l, key: P, ref: A, props: x, _owner: o.current };
|
|
37
38
|
}
|
|
38
|
-
return ge.Fragment =
|
|
39
|
+
return ge.Fragment = n, ge.jsx = h, ge.jsxs = h, ge;
|
|
39
40
|
}
|
|
40
41
|
var be = {};
|
|
41
42
|
/**
|
|
@@ -47,91 +48,91 @@ var be = {};
|
|
|
47
48
|
* This source code is licensed under the MIT license found in the
|
|
48
49
|
* LICENSE file in the root directory of this source tree.
|
|
49
50
|
*/
|
|
50
|
-
var
|
|
51
|
-
function
|
|
52
|
-
return
|
|
53
|
-
var e = m, r = Symbol.for("react.element"),
|
|
54
|
-
function
|
|
55
|
-
if (
|
|
51
|
+
var ht;
|
|
52
|
+
function Dr() {
|
|
53
|
+
return ht || (ht = 1, process.env.NODE_ENV !== "production" && (function() {
|
|
54
|
+
var e = m, r = Symbol.for("react.element"), n = Symbol.for("react.portal"), a = Symbol.for("react.fragment"), o = Symbol.for("react.strict_mode"), i = Symbol.for("react.profiler"), h = Symbol.for("react.provider"), l = Symbol.for("react.context"), u = Symbol.for("react.forward_ref"), p = Symbol.for("react.suspense"), v = Symbol.for("react.suspense_list"), x = Symbol.for("react.memo"), P = Symbol.for("react.lazy"), A = Symbol.for("react.offscreen"), z = Symbol.iterator, E = "@@iterator";
|
|
55
|
+
function F(s) {
|
|
56
|
+
if (s === null || typeof s != "object")
|
|
56
57
|
return null;
|
|
57
|
-
var d =
|
|
58
|
+
var d = z && s[z] || s[E];
|
|
58
59
|
return typeof d == "function" ? d : null;
|
|
59
60
|
}
|
|
60
|
-
var
|
|
61
|
-
function
|
|
61
|
+
var R = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
|
|
62
|
+
function j(s) {
|
|
62
63
|
{
|
|
63
|
-
for (var d = arguments.length, b = new Array(d > 1 ? d - 1 : 0),
|
|
64
|
-
b[
|
|
65
|
-
|
|
64
|
+
for (var d = arguments.length, b = new Array(d > 1 ? d - 1 : 0), O = 1; O < d; O++)
|
|
65
|
+
b[O - 1] = arguments[O];
|
|
66
|
+
L("error", s, b);
|
|
66
67
|
}
|
|
67
68
|
}
|
|
68
|
-
function
|
|
69
|
+
function L(s, d, b) {
|
|
69
70
|
{
|
|
70
|
-
var
|
|
71
|
-
|
|
72
|
-
var
|
|
73
|
-
return String(
|
|
71
|
+
var O = R.ReactDebugCurrentFrame, q = O.getStackAddendum();
|
|
72
|
+
q !== "" && (d += "%s", b = b.concat([q]));
|
|
73
|
+
var U = b.map(function(M) {
|
|
74
|
+
return String(M);
|
|
74
75
|
});
|
|
75
|
-
|
|
76
|
+
U.unshift("Warning: " + d), Function.prototype.apply.call(console[s], console, U);
|
|
76
77
|
}
|
|
77
78
|
}
|
|
78
|
-
var
|
|
79
|
-
|
|
80
|
-
function
|
|
81
|
-
return !!(typeof
|
|
79
|
+
var I = !1, f = !1, C = !1, g = !1, D = !1, T;
|
|
80
|
+
T = Symbol.for("react.module.reference");
|
|
81
|
+
function N(s) {
|
|
82
|
+
return !!(typeof s == "string" || typeof s == "function" || s === a || s === i || D || s === o || s === p || s === v || g || s === A || I || f || C || typeof s == "object" && s !== null && (s.$$typeof === P || s.$$typeof === x || s.$$typeof === h || s.$$typeof === l || s.$$typeof === u || // This needs to include all possible module reference object
|
|
82
83
|
// types supported by any Flight configuration anywhere since
|
|
83
84
|
// we don't know which Flight build this will end up being used
|
|
84
85
|
// with.
|
|
85
|
-
|
|
86
|
+
s.$$typeof === T || s.getModuleId !== void 0));
|
|
86
87
|
}
|
|
87
|
-
function
|
|
88
|
-
var
|
|
89
|
-
if (
|
|
90
|
-
return
|
|
91
|
-
var
|
|
92
|
-
return
|
|
88
|
+
function V(s, d, b) {
|
|
89
|
+
var O = s.displayName;
|
|
90
|
+
if (O)
|
|
91
|
+
return O;
|
|
92
|
+
var q = d.displayName || d.name || "";
|
|
93
|
+
return q !== "" ? b + "(" + q + ")" : b;
|
|
93
94
|
}
|
|
94
|
-
function
|
|
95
|
-
return
|
|
95
|
+
function H(s) {
|
|
96
|
+
return s.displayName || "Context";
|
|
96
97
|
}
|
|
97
|
-
function G(
|
|
98
|
-
if (
|
|
98
|
+
function G(s) {
|
|
99
|
+
if (s == null)
|
|
99
100
|
return null;
|
|
100
|
-
if (typeof
|
|
101
|
-
return
|
|
102
|
-
if (typeof
|
|
103
|
-
return
|
|
104
|
-
switch (
|
|
105
|
-
case
|
|
101
|
+
if (typeof s.tag == "number" && j("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof s == "function")
|
|
102
|
+
return s.displayName || s.name || null;
|
|
103
|
+
if (typeof s == "string")
|
|
104
|
+
return s;
|
|
105
|
+
switch (s) {
|
|
106
|
+
case a:
|
|
106
107
|
return "Fragment";
|
|
107
|
-
case
|
|
108
|
+
case n:
|
|
108
109
|
return "Portal";
|
|
109
|
-
case
|
|
110
|
+
case i:
|
|
110
111
|
return "Profiler";
|
|
111
|
-
case
|
|
112
|
+
case o:
|
|
112
113
|
return "StrictMode";
|
|
113
|
-
case
|
|
114
|
+
case p:
|
|
114
115
|
return "Suspense";
|
|
115
116
|
case v:
|
|
116
117
|
return "SuspenseList";
|
|
117
118
|
}
|
|
118
|
-
if (typeof
|
|
119
|
-
switch (
|
|
120
|
-
case
|
|
121
|
-
var d =
|
|
122
|
-
return
|
|
123
|
-
case
|
|
124
|
-
var b =
|
|
125
|
-
return
|
|
119
|
+
if (typeof s == "object")
|
|
120
|
+
switch (s.$$typeof) {
|
|
121
|
+
case l:
|
|
122
|
+
var d = s;
|
|
123
|
+
return H(d) + ".Consumer";
|
|
124
|
+
case h:
|
|
125
|
+
var b = s;
|
|
126
|
+
return H(b._context) + ".Provider";
|
|
126
127
|
case u:
|
|
127
|
-
return
|
|
128
|
-
case
|
|
129
|
-
var
|
|
130
|
-
return
|
|
131
|
-
case
|
|
132
|
-
var
|
|
128
|
+
return V(s, s.render, "ForwardRef");
|
|
129
|
+
case x:
|
|
130
|
+
var O = s.displayName || null;
|
|
131
|
+
return O !== null ? O : G(s.type) || "Memo";
|
|
132
|
+
case P: {
|
|
133
|
+
var q = s, U = q._payload, M = q._init;
|
|
133
134
|
try {
|
|
134
|
-
return G(
|
|
135
|
+
return G(M(U));
|
|
135
136
|
} catch {
|
|
136
137
|
return null;
|
|
137
138
|
}
|
|
@@ -139,373 +140,373 @@ function Pr() {
|
|
|
139
140
|
}
|
|
140
141
|
return null;
|
|
141
142
|
}
|
|
142
|
-
var
|
|
143
|
-
function
|
|
143
|
+
var B = Object.assign, c = 0, w, S, X, W, Z, y, _;
|
|
144
|
+
function Y() {
|
|
144
145
|
}
|
|
145
|
-
|
|
146
|
-
function
|
|
146
|
+
Y.__reactDisabledLog = !0;
|
|
147
|
+
function oe() {
|
|
147
148
|
{
|
|
148
|
-
if (
|
|
149
|
-
w = console.log,
|
|
150
|
-
var
|
|
149
|
+
if (c === 0) {
|
|
150
|
+
w = console.log, S = console.info, X = console.warn, W = console.error, Z = console.group, y = console.groupCollapsed, _ = console.groupEnd;
|
|
151
|
+
var s = {
|
|
151
152
|
configurable: !0,
|
|
152
153
|
enumerable: !0,
|
|
153
|
-
value:
|
|
154
|
+
value: Y,
|
|
154
155
|
writable: !0
|
|
155
156
|
};
|
|
156
157
|
Object.defineProperties(console, {
|
|
157
|
-
info:
|
|
158
|
-
log:
|
|
159
|
-
warn:
|
|
160
|
-
error:
|
|
161
|
-
group:
|
|
162
|
-
groupCollapsed:
|
|
163
|
-
groupEnd:
|
|
158
|
+
info: s,
|
|
159
|
+
log: s,
|
|
160
|
+
warn: s,
|
|
161
|
+
error: s,
|
|
162
|
+
group: s,
|
|
163
|
+
groupCollapsed: s,
|
|
164
|
+
groupEnd: s
|
|
164
165
|
});
|
|
165
166
|
}
|
|
166
|
-
|
|
167
|
+
c++;
|
|
167
168
|
}
|
|
168
169
|
}
|
|
169
|
-
function
|
|
170
|
+
function te() {
|
|
170
171
|
{
|
|
171
|
-
if (
|
|
172
|
-
var
|
|
172
|
+
if (c--, c === 0) {
|
|
173
|
+
var s = {
|
|
173
174
|
configurable: !0,
|
|
174
175
|
enumerable: !0,
|
|
175
176
|
writable: !0
|
|
176
177
|
};
|
|
177
178
|
Object.defineProperties(console, {
|
|
178
|
-
log:
|
|
179
|
+
log: B({}, s, {
|
|
179
180
|
value: w
|
|
180
181
|
}),
|
|
181
|
-
info:
|
|
182
|
-
value:
|
|
182
|
+
info: B({}, s, {
|
|
183
|
+
value: S
|
|
183
184
|
}),
|
|
184
|
-
warn:
|
|
185
|
-
value:
|
|
185
|
+
warn: B({}, s, {
|
|
186
|
+
value: X
|
|
186
187
|
}),
|
|
187
|
-
error:
|
|
188
|
-
value:
|
|
188
|
+
error: B({}, s, {
|
|
189
|
+
value: W
|
|
189
190
|
}),
|
|
190
|
-
group:
|
|
191
|
-
value:
|
|
191
|
+
group: B({}, s, {
|
|
192
|
+
value: Z
|
|
192
193
|
}),
|
|
193
|
-
groupCollapsed:
|
|
194
|
-
value:
|
|
194
|
+
groupCollapsed: B({}, s, {
|
|
195
|
+
value: y
|
|
195
196
|
}),
|
|
196
|
-
groupEnd:
|
|
197
|
-
value:
|
|
197
|
+
groupEnd: B({}, s, {
|
|
198
|
+
value: _
|
|
198
199
|
})
|
|
199
200
|
});
|
|
200
201
|
}
|
|
201
|
-
|
|
202
|
+
c < 0 && j("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
|
|
202
203
|
}
|
|
203
204
|
}
|
|
204
|
-
var
|
|
205
|
-
function
|
|
205
|
+
var $ = R.ReactCurrentDispatcher, De;
|
|
206
|
+
function Ee(s, d, b) {
|
|
206
207
|
{
|
|
207
|
-
if (
|
|
208
|
+
if (De === void 0)
|
|
208
209
|
try {
|
|
209
210
|
throw Error();
|
|
210
|
-
} catch (
|
|
211
|
-
var
|
|
212
|
-
|
|
211
|
+
} catch (q) {
|
|
212
|
+
var O = q.stack.trim().match(/\n( *(at )?)/);
|
|
213
|
+
De = O && O[1] || "";
|
|
213
214
|
}
|
|
214
215
|
return `
|
|
215
|
-
` +
|
|
216
|
+
` + De + s;
|
|
216
217
|
}
|
|
217
218
|
}
|
|
218
|
-
var
|
|
219
|
+
var Le = !1, Ce;
|
|
219
220
|
{
|
|
220
|
-
var
|
|
221
|
-
|
|
221
|
+
var qt = typeof WeakMap == "function" ? WeakMap : Map;
|
|
222
|
+
Ce = new qt();
|
|
222
223
|
}
|
|
223
|
-
function
|
|
224
|
-
if (!
|
|
224
|
+
function Qe(s, d) {
|
|
225
|
+
if (!s || Le)
|
|
225
226
|
return "";
|
|
226
227
|
{
|
|
227
|
-
var b =
|
|
228
|
+
var b = Ce.get(s);
|
|
228
229
|
if (b !== void 0)
|
|
229
230
|
return b;
|
|
230
231
|
}
|
|
231
|
-
var
|
|
232
|
-
|
|
233
|
-
var
|
|
232
|
+
var O;
|
|
233
|
+
Le = !0;
|
|
234
|
+
var q = Error.prepareStackTrace;
|
|
234
235
|
Error.prepareStackTrace = void 0;
|
|
235
|
-
var
|
|
236
|
-
|
|
236
|
+
var U;
|
|
237
|
+
U = $.current, $.current = null, oe();
|
|
237
238
|
try {
|
|
238
239
|
if (d) {
|
|
239
|
-
var
|
|
240
|
+
var M = function() {
|
|
240
241
|
throw Error();
|
|
241
242
|
};
|
|
242
|
-
if (Object.defineProperty(
|
|
243
|
+
if (Object.defineProperty(M.prototype, "props", {
|
|
243
244
|
set: function() {
|
|
244
245
|
throw Error();
|
|
245
246
|
}
|
|
246
247
|
}), typeof Reflect == "object" && Reflect.construct) {
|
|
247
248
|
try {
|
|
248
|
-
Reflect.construct(
|
|
249
|
-
} catch (
|
|
250
|
-
|
|
249
|
+
Reflect.construct(M, []);
|
|
250
|
+
} catch (re) {
|
|
251
|
+
O = re;
|
|
251
252
|
}
|
|
252
|
-
Reflect.construct(
|
|
253
|
+
Reflect.construct(s, [], M);
|
|
253
254
|
} else {
|
|
254
255
|
try {
|
|
255
|
-
|
|
256
|
-
} catch (
|
|
257
|
-
|
|
256
|
+
M.call();
|
|
257
|
+
} catch (re) {
|
|
258
|
+
O = re;
|
|
258
259
|
}
|
|
259
|
-
|
|
260
|
+
s.call(M.prototype);
|
|
260
261
|
}
|
|
261
262
|
} else {
|
|
262
263
|
try {
|
|
263
264
|
throw Error();
|
|
264
|
-
} catch (
|
|
265
|
-
|
|
265
|
+
} catch (re) {
|
|
266
|
+
O = re;
|
|
266
267
|
}
|
|
267
|
-
|
|
268
|
+
s();
|
|
268
269
|
}
|
|
269
|
-
} catch (
|
|
270
|
-
if (
|
|
271
|
-
for (var
|
|
272
|
-
`),
|
|
273
|
-
`),
|
|
274
|
-
|
|
275
|
-
for (;
|
|
276
|
-
if (
|
|
277
|
-
if (
|
|
270
|
+
} catch (re) {
|
|
271
|
+
if (re && O && typeof re.stack == "string") {
|
|
272
|
+
for (var k = re.stack.split(`
|
|
273
|
+
`), ee = O.stack.split(`
|
|
274
|
+
`), J = k.length - 1, K = ee.length - 1; J >= 1 && K >= 0 && k[J] !== ee[K]; )
|
|
275
|
+
K--;
|
|
276
|
+
for (; J >= 1 && K >= 0; J--, K--)
|
|
277
|
+
if (k[J] !== ee[K]) {
|
|
278
|
+
if (J !== 1 || K !== 1)
|
|
278
279
|
do
|
|
279
|
-
if (
|
|
280
|
-
var
|
|
281
|
-
` +
|
|
282
|
-
return
|
|
280
|
+
if (J--, K--, K < 0 || k[J] !== ee[K]) {
|
|
281
|
+
var se = `
|
|
282
|
+
` + k[J].replace(" at new ", " at ");
|
|
283
|
+
return s.displayName && se.includes("<anonymous>") && (se = se.replace("<anonymous>", s.displayName)), typeof s == "function" && Ce.set(s, se), se;
|
|
283
284
|
}
|
|
284
|
-
while (
|
|
285
|
+
while (J >= 1 && K >= 0);
|
|
285
286
|
break;
|
|
286
287
|
}
|
|
287
288
|
}
|
|
288
289
|
} finally {
|
|
289
|
-
|
|
290
|
+
Le = !1, $.current = U, te(), Error.prepareStackTrace = q;
|
|
290
291
|
}
|
|
291
|
-
var
|
|
292
|
-
return typeof
|
|
292
|
+
var me = s ? s.displayName || s.name : "", ue = me ? Ee(me) : "";
|
|
293
|
+
return typeof s == "function" && Ce.set(s, ue), ue;
|
|
293
294
|
}
|
|
294
|
-
function
|
|
295
|
-
return
|
|
295
|
+
function Wt(s, d, b) {
|
|
296
|
+
return Qe(s, !1);
|
|
296
297
|
}
|
|
297
|
-
function
|
|
298
|
-
var d =
|
|
298
|
+
function Vt(s) {
|
|
299
|
+
var d = s.prototype;
|
|
299
300
|
return !!(d && d.isReactComponent);
|
|
300
301
|
}
|
|
301
|
-
function Ne(
|
|
302
|
-
if (
|
|
302
|
+
function Ne(s, d, b) {
|
|
303
|
+
if (s == null)
|
|
303
304
|
return "";
|
|
304
|
-
if (typeof
|
|
305
|
-
return
|
|
306
|
-
if (typeof
|
|
307
|
-
return
|
|
308
|
-
switch (
|
|
309
|
-
case
|
|
310
|
-
return
|
|
305
|
+
if (typeof s == "function")
|
|
306
|
+
return Qe(s, Vt(s));
|
|
307
|
+
if (typeof s == "string")
|
|
308
|
+
return Ee(s);
|
|
309
|
+
switch (s) {
|
|
310
|
+
case p:
|
|
311
|
+
return Ee("Suspense");
|
|
311
312
|
case v:
|
|
312
|
-
return
|
|
313
|
+
return Ee("SuspenseList");
|
|
313
314
|
}
|
|
314
|
-
if (typeof
|
|
315
|
-
switch (
|
|
315
|
+
if (typeof s == "object")
|
|
316
|
+
switch (s.$$typeof) {
|
|
316
317
|
case u:
|
|
317
|
-
return
|
|
318
|
-
case
|
|
319
|
-
return Ne(
|
|
320
|
-
case
|
|
321
|
-
var
|
|
318
|
+
return Wt(s.render);
|
|
319
|
+
case x:
|
|
320
|
+
return Ne(s.type, d, b);
|
|
321
|
+
case P: {
|
|
322
|
+
var O = s, q = O._payload, U = O._init;
|
|
322
323
|
try {
|
|
323
|
-
return Ne(
|
|
324
|
+
return Ne(U(q), d, b);
|
|
324
325
|
} catch {
|
|
325
326
|
}
|
|
326
327
|
}
|
|
327
328
|
}
|
|
328
329
|
return "";
|
|
329
330
|
}
|
|
330
|
-
var
|
|
331
|
-
function Oe(
|
|
332
|
-
if (
|
|
333
|
-
var d =
|
|
334
|
-
|
|
331
|
+
var pe = Object.prototype.hasOwnProperty, Ze = {}, et = R.ReactDebugCurrentFrame;
|
|
332
|
+
function Oe(s) {
|
|
333
|
+
if (s) {
|
|
334
|
+
var d = s._owner, b = Ne(s.type, s._source, d ? d.type : null);
|
|
335
|
+
et.setExtraStackFrame(b);
|
|
335
336
|
} else
|
|
336
|
-
|
|
337
|
+
et.setExtraStackFrame(null);
|
|
337
338
|
}
|
|
338
|
-
function
|
|
339
|
+
function Ut(s, d, b, O, q) {
|
|
339
340
|
{
|
|
340
|
-
var
|
|
341
|
-
for (var
|
|
342
|
-
if (
|
|
343
|
-
var
|
|
341
|
+
var U = Function.call.bind(pe);
|
|
342
|
+
for (var M in s)
|
|
343
|
+
if (U(s, M)) {
|
|
344
|
+
var k = void 0;
|
|
344
345
|
try {
|
|
345
|
-
if (typeof
|
|
346
|
-
var
|
|
347
|
-
throw
|
|
346
|
+
if (typeof s[M] != "function") {
|
|
347
|
+
var ee = Error((O || "React class") + ": " + b + " type `" + M + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof s[M] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
|
|
348
|
+
throw ee.name = "Invariant Violation", ee;
|
|
348
349
|
}
|
|
349
|
-
|
|
350
|
-
} catch (
|
|
351
|
-
|
|
350
|
+
k = s[M](d, M, O, b, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
|
|
351
|
+
} catch (J) {
|
|
352
|
+
k = J;
|
|
352
353
|
}
|
|
353
|
-
|
|
354
|
+
k && !(k instanceof Error) && (Oe(q), j("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", O || "React class", b, M, typeof k), Oe(null)), k instanceof Error && !(k.message in Ze) && (Ze[k.message] = !0, Oe(q), j("Failed %s type: %s", b, k.message), Oe(null));
|
|
354
355
|
}
|
|
355
356
|
}
|
|
356
357
|
}
|
|
357
|
-
var
|
|
358
|
-
function
|
|
359
|
-
return
|
|
358
|
+
var zt = Array.isArray;
|
|
359
|
+
function $e(s) {
|
|
360
|
+
return zt(s);
|
|
360
361
|
}
|
|
361
|
-
function
|
|
362
|
+
function Ht(s) {
|
|
362
363
|
{
|
|
363
|
-
var d = typeof Symbol == "function" && Symbol.toStringTag, b = d &&
|
|
364
|
+
var d = typeof Symbol == "function" && Symbol.toStringTag, b = d && s[Symbol.toStringTag] || s.constructor.name || "Object";
|
|
364
365
|
return b;
|
|
365
366
|
}
|
|
366
367
|
}
|
|
367
|
-
function
|
|
368
|
+
function Yt(s) {
|
|
368
369
|
try {
|
|
369
|
-
return
|
|
370
|
+
return tt(s), !1;
|
|
370
371
|
} catch {
|
|
371
372
|
return !0;
|
|
372
373
|
}
|
|
373
374
|
}
|
|
374
|
-
function
|
|
375
|
-
return "" +
|
|
375
|
+
function tt(s) {
|
|
376
|
+
return "" + s;
|
|
376
377
|
}
|
|
377
|
-
function
|
|
378
|
-
if (
|
|
379
|
-
return
|
|
378
|
+
function rt(s) {
|
|
379
|
+
if (Yt(s))
|
|
380
|
+
return j("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", Ht(s)), tt(s);
|
|
380
381
|
}
|
|
381
|
-
var
|
|
382
|
+
var nt = R.ReactCurrentOwner, Jt = {
|
|
382
383
|
key: !0,
|
|
383
384
|
ref: !0,
|
|
384
385
|
__self: !0,
|
|
385
386
|
__source: !0
|
|
386
|
-
},
|
|
387
|
-
function
|
|
388
|
-
if (
|
|
389
|
-
var d = Object.getOwnPropertyDescriptor(
|
|
387
|
+
}, st, at;
|
|
388
|
+
function Bt(s) {
|
|
389
|
+
if (pe.call(s, "ref")) {
|
|
390
|
+
var d = Object.getOwnPropertyDescriptor(s, "ref").get;
|
|
390
391
|
if (d && d.isReactWarning)
|
|
391
392
|
return !1;
|
|
392
393
|
}
|
|
393
|
-
return
|
|
394
|
+
return s.ref !== void 0;
|
|
394
395
|
}
|
|
395
|
-
function
|
|
396
|
-
if (
|
|
397
|
-
var d = Object.getOwnPropertyDescriptor(
|
|
396
|
+
function Kt(s) {
|
|
397
|
+
if (pe.call(s, "key")) {
|
|
398
|
+
var d = Object.getOwnPropertyDescriptor(s, "key").get;
|
|
398
399
|
if (d && d.isReactWarning)
|
|
399
400
|
return !1;
|
|
400
401
|
}
|
|
401
|
-
return
|
|
402
|
+
return s.key !== void 0;
|
|
402
403
|
}
|
|
403
|
-
function
|
|
404
|
-
typeof
|
|
404
|
+
function Gt(s, d) {
|
|
405
|
+
typeof s.ref == "string" && nt.current;
|
|
405
406
|
}
|
|
406
|
-
function
|
|
407
|
+
function Xt(s, d) {
|
|
407
408
|
{
|
|
408
409
|
var b = function() {
|
|
409
|
-
|
|
410
|
+
st || (st = !0, j("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", d));
|
|
410
411
|
};
|
|
411
|
-
b.isReactWarning = !0, Object.defineProperty(
|
|
412
|
+
b.isReactWarning = !0, Object.defineProperty(s, "key", {
|
|
412
413
|
get: b,
|
|
413
414
|
configurable: !0
|
|
414
415
|
});
|
|
415
416
|
}
|
|
416
417
|
}
|
|
417
|
-
function
|
|
418
|
+
function Qt(s, d) {
|
|
418
419
|
{
|
|
419
420
|
var b = function() {
|
|
420
|
-
|
|
421
|
+
at || (at = !0, j("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", d));
|
|
421
422
|
};
|
|
422
|
-
b.isReactWarning = !0, Object.defineProperty(
|
|
423
|
+
b.isReactWarning = !0, Object.defineProperty(s, "ref", {
|
|
423
424
|
get: b,
|
|
424
425
|
configurable: !0
|
|
425
426
|
});
|
|
426
427
|
}
|
|
427
428
|
}
|
|
428
|
-
var
|
|
429
|
-
var
|
|
429
|
+
var Zt = function(s, d, b, O, q, U, M) {
|
|
430
|
+
var k = {
|
|
430
431
|
// This tag allows us to uniquely identify this as a React Element
|
|
431
432
|
$$typeof: r,
|
|
432
433
|
// Built-in properties that belong on the element
|
|
433
|
-
type:
|
|
434
|
+
type: s,
|
|
434
435
|
key: d,
|
|
435
436
|
ref: b,
|
|
436
|
-
props:
|
|
437
|
+
props: M,
|
|
437
438
|
// Record the component responsible for creating this element.
|
|
438
|
-
_owner:
|
|
439
|
+
_owner: U
|
|
439
440
|
};
|
|
440
|
-
return
|
|
441
|
+
return k._store = {}, Object.defineProperty(k._store, "validated", {
|
|
441
442
|
configurable: !1,
|
|
442
443
|
enumerable: !1,
|
|
443
444
|
writable: !0,
|
|
444
445
|
value: !1
|
|
445
|
-
}), Object.defineProperty(
|
|
446
|
+
}), Object.defineProperty(k, "_self", {
|
|
446
447
|
configurable: !1,
|
|
447
448
|
enumerable: !1,
|
|
448
449
|
writable: !1,
|
|
449
|
-
value:
|
|
450
|
-
}), Object.defineProperty(
|
|
450
|
+
value: O
|
|
451
|
+
}), Object.defineProperty(k, "_source", {
|
|
451
452
|
configurable: !1,
|
|
452
453
|
enumerable: !1,
|
|
453
454
|
writable: !1,
|
|
454
|
-
value:
|
|
455
|
-
}), Object.freeze && (Object.freeze(
|
|
455
|
+
value: q
|
|
456
|
+
}), Object.freeze && (Object.freeze(k.props), Object.freeze(k)), k;
|
|
456
457
|
};
|
|
457
|
-
function
|
|
458
|
+
function er(s, d, b, O, q) {
|
|
458
459
|
{
|
|
459
|
-
var
|
|
460
|
-
b !== void 0 && (
|
|
461
|
-
for (
|
|
462
|
-
|
|
463
|
-
if (
|
|
464
|
-
var
|
|
465
|
-
for (
|
|
466
|
-
|
|
460
|
+
var U, M = {}, k = null, ee = null;
|
|
461
|
+
b !== void 0 && (rt(b), k = "" + b), Kt(d) && (rt(d.key), k = "" + d.key), Bt(d) && (ee = d.ref, Gt(d, q));
|
|
462
|
+
for (U in d)
|
|
463
|
+
pe.call(d, U) && !Jt.hasOwnProperty(U) && (M[U] = d[U]);
|
|
464
|
+
if (s && s.defaultProps) {
|
|
465
|
+
var J = s.defaultProps;
|
|
466
|
+
for (U in J)
|
|
467
|
+
M[U] === void 0 && (M[U] = J[U]);
|
|
467
468
|
}
|
|
468
|
-
if (
|
|
469
|
-
var
|
|
470
|
-
|
|
469
|
+
if (k || ee) {
|
|
470
|
+
var K = typeof s == "function" ? s.displayName || s.name || "Unknown" : s;
|
|
471
|
+
k && Xt(M, K), ee && Qt(M, K);
|
|
471
472
|
}
|
|
472
|
-
return
|
|
473
|
+
return Zt(s, k, ee, q, O, nt.current, M);
|
|
473
474
|
}
|
|
474
475
|
}
|
|
475
|
-
var
|
|
476
|
-
function
|
|
477
|
-
if (
|
|
478
|
-
var d =
|
|
479
|
-
|
|
476
|
+
var qe = R.ReactCurrentOwner, ot = R.ReactDebugCurrentFrame;
|
|
477
|
+
function fe(s) {
|
|
478
|
+
if (s) {
|
|
479
|
+
var d = s._owner, b = Ne(s.type, s._source, d ? d.type : null);
|
|
480
|
+
ot.setExtraStackFrame(b);
|
|
480
481
|
} else
|
|
481
|
-
|
|
482
|
+
ot.setExtraStackFrame(null);
|
|
482
483
|
}
|
|
483
|
-
var
|
|
484
|
-
|
|
485
|
-
function
|
|
486
|
-
return typeof
|
|
484
|
+
var We;
|
|
485
|
+
We = !1;
|
|
486
|
+
function Ve(s) {
|
|
487
|
+
return typeof s == "object" && s !== null && s.$$typeof === r;
|
|
487
488
|
}
|
|
488
|
-
function
|
|
489
|
+
function lt() {
|
|
489
490
|
{
|
|
490
|
-
if (
|
|
491
|
-
var
|
|
492
|
-
if (
|
|
491
|
+
if (qe.current) {
|
|
492
|
+
var s = G(qe.current.type);
|
|
493
|
+
if (s)
|
|
493
494
|
return `
|
|
494
495
|
|
|
495
|
-
Check the render method of \`` +
|
|
496
|
+
Check the render method of \`` + s + "`.";
|
|
496
497
|
}
|
|
497
498
|
return "";
|
|
498
499
|
}
|
|
499
500
|
}
|
|
500
|
-
function
|
|
501
|
+
function tr(s) {
|
|
501
502
|
return "";
|
|
502
503
|
}
|
|
503
|
-
var
|
|
504
|
-
function
|
|
504
|
+
var it = {};
|
|
505
|
+
function rr(s) {
|
|
505
506
|
{
|
|
506
|
-
var d =
|
|
507
|
+
var d = lt();
|
|
507
508
|
if (!d) {
|
|
508
|
-
var b = typeof
|
|
509
|
+
var b = typeof s == "string" ? s : s.displayName || s.name;
|
|
509
510
|
b && (d = `
|
|
510
511
|
|
|
511
512
|
Check the top-level render call using <` + b + ">.");
|
|
@@ -513,41 +514,41 @@ Check the top-level render call using <` + b + ">.");
|
|
|
513
514
|
return d;
|
|
514
515
|
}
|
|
515
516
|
}
|
|
516
|
-
function
|
|
517
|
+
function ct(s, d) {
|
|
517
518
|
{
|
|
518
|
-
if (!
|
|
519
|
+
if (!s._store || s._store.validated || s.key != null)
|
|
519
520
|
return;
|
|
520
|
-
|
|
521
|
-
var b =
|
|
522
|
-
if (
|
|
521
|
+
s._store.validated = !0;
|
|
522
|
+
var b = rr(d);
|
|
523
|
+
if (it[b])
|
|
523
524
|
return;
|
|
524
|
-
|
|
525
|
-
var
|
|
526
|
-
|
|
525
|
+
it[b] = !0;
|
|
526
|
+
var O = "";
|
|
527
|
+
s && s._owner && s._owner !== qe.current && (O = " It was passed a child from " + G(s._owner.type) + "."), fe(s), j('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', b, O), fe(null);
|
|
527
528
|
}
|
|
528
529
|
}
|
|
529
|
-
function
|
|
530
|
+
function ut(s, d) {
|
|
530
531
|
{
|
|
531
|
-
if (typeof
|
|
532
|
+
if (typeof s != "object")
|
|
532
533
|
return;
|
|
533
|
-
if (
|
|
534
|
-
for (var b = 0; b <
|
|
535
|
-
var
|
|
536
|
-
|
|
534
|
+
if ($e(s))
|
|
535
|
+
for (var b = 0; b < s.length; b++) {
|
|
536
|
+
var O = s[b];
|
|
537
|
+
Ve(O) && ct(O, d);
|
|
537
538
|
}
|
|
538
|
-
else if (
|
|
539
|
-
|
|
540
|
-
else if (
|
|
541
|
-
var
|
|
542
|
-
if (typeof
|
|
543
|
-
for (var
|
|
544
|
-
|
|
539
|
+
else if (Ve(s))
|
|
540
|
+
s._store && (s._store.validated = !0);
|
|
541
|
+
else if (s) {
|
|
542
|
+
var q = F(s);
|
|
543
|
+
if (typeof q == "function" && q !== s.entries)
|
|
544
|
+
for (var U = q.call(s), M; !(M = U.next()).done; )
|
|
545
|
+
Ve(M.value) && ct(M.value, d);
|
|
545
546
|
}
|
|
546
547
|
}
|
|
547
548
|
}
|
|
548
|
-
function
|
|
549
|
+
function nr(s) {
|
|
549
550
|
{
|
|
550
|
-
var d =
|
|
551
|
+
var d = s.type;
|
|
551
552
|
if (d == null || typeof d == "string")
|
|
552
553
|
return;
|
|
553
554
|
var b;
|
|
@@ -555,210 +556,226 @@ Check the top-level render call using <` + b + ">.");
|
|
|
555
556
|
b = d.propTypes;
|
|
556
557
|
else if (typeof d == "object" && (d.$$typeof === u || // Note: Memo only checks outer props here.
|
|
557
558
|
// Inner props are checked in the reconciler.
|
|
558
|
-
d.$$typeof ===
|
|
559
|
+
d.$$typeof === x))
|
|
559
560
|
b = d.propTypes;
|
|
560
561
|
else
|
|
561
562
|
return;
|
|
562
563
|
if (b) {
|
|
563
|
-
var
|
|
564
|
-
|
|
565
|
-
} else if (d.PropTypes !== void 0 &&
|
|
566
|
-
|
|
567
|
-
var
|
|
568
|
-
|
|
564
|
+
var O = G(d);
|
|
565
|
+
Ut(b, s.props, "prop", O, s);
|
|
566
|
+
} else if (d.PropTypes !== void 0 && !We) {
|
|
567
|
+
We = !0;
|
|
568
|
+
var q = G(d);
|
|
569
|
+
j("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", q || "Unknown");
|
|
569
570
|
}
|
|
570
|
-
typeof d.getDefaultProps == "function" && !d.getDefaultProps.isReactClassApproved &&
|
|
571
|
+
typeof d.getDefaultProps == "function" && !d.getDefaultProps.isReactClassApproved && j("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
|
|
571
572
|
}
|
|
572
573
|
}
|
|
573
|
-
function
|
|
574
|
+
function sr(s) {
|
|
574
575
|
{
|
|
575
|
-
for (var d = Object.keys(
|
|
576
|
-
var
|
|
577
|
-
if (
|
|
578
|
-
|
|
576
|
+
for (var d = Object.keys(s.props), b = 0; b < d.length; b++) {
|
|
577
|
+
var O = d[b];
|
|
578
|
+
if (O !== "children" && O !== "key") {
|
|
579
|
+
fe(s), j("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", O), fe(null);
|
|
579
580
|
break;
|
|
580
581
|
}
|
|
581
582
|
}
|
|
582
|
-
|
|
583
|
+
s.ref !== null && (fe(s), j("Invalid attribute `ref` supplied to `React.Fragment`."), fe(null));
|
|
583
584
|
}
|
|
584
585
|
}
|
|
585
|
-
var
|
|
586
|
-
function
|
|
586
|
+
var dt = {};
|
|
587
|
+
function ft(s, d, b, O, q, U) {
|
|
587
588
|
{
|
|
588
|
-
var
|
|
589
|
-
if (!
|
|
590
|
-
var
|
|
591
|
-
(
|
|
592
|
-
var
|
|
593
|
-
|
|
594
|
-
var
|
|
595
|
-
|
|
589
|
+
var M = N(s);
|
|
590
|
+
if (!M) {
|
|
591
|
+
var k = "";
|
|
592
|
+
(s === void 0 || typeof s == "object" && s !== null && Object.keys(s).length === 0) && (k += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
|
|
593
|
+
var ee = tr();
|
|
594
|
+
ee ? k += ee : k += lt();
|
|
595
|
+
var J;
|
|
596
|
+
s === null ? J = "null" : $e(s) ? J = "array" : s !== void 0 && s.$$typeof === r ? (J = "<" + (G(s.type) || "Unknown") + " />", k = " Did you accidentally export a JSX literal instead of a component?") : J = typeof s, j("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", J, k);
|
|
596
597
|
}
|
|
597
|
-
var
|
|
598
|
-
if (
|
|
599
|
-
return
|
|
600
|
-
if (
|
|
601
|
-
var
|
|
602
|
-
if (
|
|
603
|
-
if (
|
|
604
|
-
if (
|
|
605
|
-
for (var
|
|
606
|
-
|
|
607
|
-
Object.freeze && Object.freeze(
|
|
598
|
+
var K = er(s, d, b, q, U);
|
|
599
|
+
if (K == null)
|
|
600
|
+
return K;
|
|
601
|
+
if (M) {
|
|
602
|
+
var se = d.children;
|
|
603
|
+
if (se !== void 0)
|
|
604
|
+
if (O)
|
|
605
|
+
if ($e(se)) {
|
|
606
|
+
for (var me = 0; me < se.length; me++)
|
|
607
|
+
ut(se[me], s);
|
|
608
|
+
Object.freeze && Object.freeze(se);
|
|
608
609
|
} else
|
|
609
|
-
|
|
610
|
+
j("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
|
|
610
611
|
else
|
|
611
|
-
|
|
612
|
+
ut(se, s);
|
|
612
613
|
}
|
|
613
|
-
if (
|
|
614
|
-
var
|
|
615
|
-
return
|
|
616
|
-
}),
|
|
617
|
-
if (!
|
|
618
|
-
var
|
|
619
|
-
|
|
614
|
+
if (pe.call(d, "key")) {
|
|
615
|
+
var ue = G(s), re = Object.keys(d).filter(function(ur) {
|
|
616
|
+
return ur !== "key";
|
|
617
|
+
}), Ue = re.length > 0 ? "{key: someKey, " + re.join(": ..., ") + ": ...}" : "{key: someKey}";
|
|
618
|
+
if (!dt[ue + Ue]) {
|
|
619
|
+
var cr = re.length > 0 ? "{" + re.join(": ..., ") + ": ...}" : "{}";
|
|
620
|
+
j(`A props object containing a "key" prop is being spread into JSX:
|
|
620
621
|
let props = %s;
|
|
621
622
|
<%s {...props} />
|
|
622
623
|
React keys must be passed directly to JSX without using spread:
|
|
623
624
|
let props = %s;
|
|
624
|
-
<%s key={someKey} {...props} />`,
|
|
625
|
+
<%s key={someKey} {...props} />`, Ue, ue, cr, ue), dt[ue + Ue] = !0;
|
|
625
626
|
}
|
|
626
627
|
}
|
|
627
|
-
return
|
|
628
|
+
return s === a ? sr(K) : nr(K), K;
|
|
628
629
|
}
|
|
629
630
|
}
|
|
630
|
-
function
|
|
631
|
-
return
|
|
631
|
+
function ar(s, d, b) {
|
|
632
|
+
return ft(s, d, b, !0);
|
|
632
633
|
}
|
|
633
|
-
function
|
|
634
|
-
return
|
|
634
|
+
function or(s, d, b) {
|
|
635
|
+
return ft(s, d, b, !1);
|
|
635
636
|
}
|
|
636
|
-
var
|
|
637
|
-
be.Fragment =
|
|
637
|
+
var lr = or, ir = ar;
|
|
638
|
+
be.Fragment = a, be.jsx = lr, be.jsxs = ir;
|
|
638
639
|
})()), be;
|
|
639
640
|
}
|
|
640
|
-
var
|
|
641
|
-
function
|
|
642
|
-
return
|
|
641
|
+
var pt;
|
|
642
|
+
function Lr() {
|
|
643
|
+
return pt || (pt = 1, process.env.NODE_ENV === "production" ? Se.exports = Fr() : Se.exports = Dr()), Se.exports;
|
|
643
644
|
}
|
|
644
|
-
var t =
|
|
645
|
-
function
|
|
646
|
-
const [e, r] = m.useState(!1), [
|
|
645
|
+
var t = Lr();
|
|
646
|
+
function $r() {
|
|
647
|
+
const [e, r] = m.useState(!1), [n, a] = m.useState(null), o = ae((j) => j.replaceAll), i = Ot(), { showAlert: h } = Tt(), l = ie(), u = l.state.isPreview, p = l.state.isCodeEditor ?? !1, v = l.state.codeEditorHasError ?? !1, x = (j) => {
|
|
647
648
|
try {
|
|
648
|
-
const
|
|
649
|
-
if (
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
649
|
+
const L = String(j).replace(/^\uFEFF/, "").trim(), { data: I, schemaType: f } = Ae(L);
|
|
650
|
+
if (f !== "mieforms" && f !== "surveyjs") {
|
|
651
|
+
h(
|
|
652
|
+
`Expected: MIE Forms or SurveyJS
|
|
653
|
+
Detected: ${f}`,
|
|
654
|
+
{ title: "Unsupported Schema Format" }
|
|
655
|
+
);
|
|
654
656
|
return;
|
|
655
657
|
}
|
|
656
|
-
|
|
657
|
-
} catch (
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
658
|
+
a({ data: I, detectedSchemaType: f }), r(!0);
|
|
659
|
+
} catch (L) {
|
|
660
|
+
h(
|
|
661
|
+
(L == null ? void 0 : L.message) || "Invalid file format",
|
|
662
|
+
{ title: "Failed to Parse File" }
|
|
663
|
+
);
|
|
664
|
+
}
|
|
665
|
+
}, P = (j) => {
|
|
666
|
+
var L, I;
|
|
667
|
+
if (n)
|
|
665
668
|
try {
|
|
666
|
-
const { data:
|
|
667
|
-
if (!Array.isArray(
|
|
669
|
+
const { data: f } = n, C = _e(f, j), g = C.fields || [];
|
|
670
|
+
if (!Array.isArray(g))
|
|
668
671
|
throw new Error("Expected array of fields");
|
|
669
|
-
|
|
670
|
-
const
|
|
671
|
-
schemaType:
|
|
672
|
-
|
|
672
|
+
C.conversionReport && l.setConversionReport(C.conversionReport);
|
|
673
|
+
const D = {
|
|
674
|
+
schemaType: j === "surveyjs" ? "mieforms-v1.0" : f.schemaType || "mieforms-v1.0",
|
|
675
|
+
...((L = C.conversionReport) == null ? void 0 : L.surveyMetadata) || {},
|
|
676
|
+
fields: g
|
|
673
677
|
};
|
|
674
|
-
if (
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
const { fields: L, schemaType: W, ...B } = y;
|
|
678
|
-
Object.keys(B).length > 0 && Object.assign(N, B);
|
|
678
|
+
if (j === "mieforms") {
|
|
679
|
+
const { fields: T, schemaType: N, ...V } = f;
|
|
680
|
+
Object.keys(V).length > 0 && Object.assign(D, V);
|
|
679
681
|
}
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
} catch (y) {
|
|
685
|
-
alert(`Import failed:
|
|
682
|
+
if (o(D), l.selectedFieldId.clear(), l.preview.set(!1), j === "surveyjs" && C.conversionReport) {
|
|
683
|
+
const T = C.conversionReport, N = ((I = T.unsupportedFields) == null ? void 0 : I.length) || 0;
|
|
684
|
+
h(
|
|
685
|
+
`Format: SurveyJS → MIE Forms
|
|
686
686
|
|
|
687
|
-
${
|
|
687
|
+
Converted: ${T.convertedFields || 0} field(s)
|
|
688
|
+
Unsupported: ${N} field(s)${N > 0 ? " ⚠️" : ""}`,
|
|
689
|
+
{ title: "✅ Import Successful" }
|
|
690
|
+
);
|
|
691
|
+
} else
|
|
692
|
+
h(
|
|
693
|
+
`Format: ${j === "surveyjs" ? "SurveyJS" : "MIE Forms"}
|
|
694
|
+
Loaded ${g.length} field(s)`,
|
|
695
|
+
{ title: "✅ Import Successful" }
|
|
696
|
+
);
|
|
697
|
+
r(!1), a(null);
|
|
698
|
+
} catch (f) {
|
|
699
|
+
h(
|
|
700
|
+
(f == null ? void 0 : f.message) || "Invalid format",
|
|
701
|
+
{ title: "Import Failed" }
|
|
702
|
+
), r(!1), a(null);
|
|
688
703
|
}
|
|
689
|
-
}, i = () => {
|
|
690
|
-
r(!1), o(null);
|
|
691
704
|
}, A = () => {
|
|
692
|
-
|
|
693
|
-
},
|
|
694
|
-
|
|
695
|
-
},
|
|
696
|
-
|
|
697
|
-
},
|
|
698
|
-
|
|
699
|
-
|
|
705
|
+
r(!1), a(null);
|
|
706
|
+
}, z = () => {
|
|
707
|
+
l.preview.set(!1), l.codeEditor.set(!1);
|
|
708
|
+
}, E = () => {
|
|
709
|
+
l.preview.set(!1), l.codeEditor.set(!0);
|
|
710
|
+
}, F = () => {
|
|
711
|
+
l.preview.set(!0), l.codeEditor.set(!1), l.selectedFieldId.clear();
|
|
712
|
+
}, R = () => {
|
|
713
|
+
const j = JSON.stringify(i, null, 2), L = new Blob([j], { type: "application/json" }), I = URL.createObjectURL(L), f = document.createElement("a");
|
|
714
|
+
f.href = I, f.download = "questionnaire.json", f.click(), URL.revokeObjectURL(I);
|
|
700
715
|
};
|
|
701
716
|
return /* @__PURE__ */ t.jsxs("header", { className: "editor-header w-full bg-white border border-gray-200 rounded-lg shadow-sm", children: [
|
|
702
717
|
/* @__PURE__ */ t.jsxs("div", { className: "px-4 py-4", children: [
|
|
703
718
|
/* @__PURE__ */ t.jsx("div", { className: "mb-4", children: /* @__PURE__ */ t.jsx("h1", { className: "text-lg lg:text-2xl font-bold text-slate-900", children: "Editor" }) }),
|
|
704
|
-
/* @__PURE__ */ t.jsxs("div", { className: "flex
|
|
705
|
-
/* @__PURE__ */ t.jsxs("div", { className: "header-mode-toggle flex gap-1 rounded-lg border border-black/10 bg-black/5 p-1 w-fit
|
|
719
|
+
/* @__PURE__ */ t.jsxs("div", { className: "flex flex-wrap items-center justify-between gap-3", children: [
|
|
720
|
+
/* @__PURE__ */ t.jsxs("div", { className: "header-mode-toggle flex gap-1 rounded-lg border border-black/10 bg-black/5 p-1 w-fit", children: [
|
|
706
721
|
/* @__PURE__ */ t.jsxs(
|
|
707
722
|
"button",
|
|
708
723
|
{
|
|
709
|
-
className: `flex items-center justify-center gap-2 px-2 lg:px-4 py-2 lg:py-2 rounded-lg text-xs lg:text-sm font-medium transition-colors ${!
|
|
710
|
-
onClick:
|
|
711
|
-
|
|
724
|
+
className: `flex items-center justify-center gap-2 px-2 lg:px-4 py-2 lg:py-2 rounded-lg text-xs lg:text-sm font-medium transition-colors ${!u && !p ? "bg-white text-slate-900 shadow-sm" : v ? "text-slate-400 cursor-not-allowed" : "text-slate-600 hover:text-slate-900"}`,
|
|
725
|
+
onClick: z,
|
|
726
|
+
disabled: v,
|
|
727
|
+
title: v ? "Fix code errors before switching" : "Visual Editor",
|
|
712
728
|
children: [
|
|
713
|
-
/* @__PURE__ */ t.jsx(
|
|
714
|
-
/* @__PURE__ */ t.jsx("span", { children: "
|
|
729
|
+
/* @__PURE__ */ t.jsx(dr, { className: "w-5 h-5" }),
|
|
730
|
+
/* @__PURE__ */ t.jsx("span", { children: "Build" })
|
|
715
731
|
]
|
|
716
732
|
}
|
|
717
733
|
),
|
|
718
734
|
/* @__PURE__ */ t.jsxs(
|
|
719
735
|
"button",
|
|
720
736
|
{
|
|
721
|
-
className: `flex items-center justify-center gap-2 px-2 lg:px-4 py-2 lg:py-2 rounded-lg text-xs lg:text-sm font-medium transition-colors ${
|
|
722
|
-
onClick:
|
|
737
|
+
className: `flex items-center justify-center gap-2 px-2 lg:px-4 py-2 lg:py-2 rounded-lg text-xs lg:text-sm font-medium transition-colors ${p ? "bg-white text-slate-900 shadow-sm" : "text-slate-600 hover:text-slate-900"}`,
|
|
738
|
+
onClick: E,
|
|
723
739
|
title: "Code Editor",
|
|
724
740
|
children: [
|
|
725
|
-
/* @__PURE__ */ t.jsx(
|
|
726
|
-
/* @__PURE__ */ t.jsx("span", { children: "Code
|
|
741
|
+
/* @__PURE__ */ t.jsx(fr, { className: "w-5 h-5" }),
|
|
742
|
+
/* @__PURE__ */ t.jsx("span", { children: "Code" })
|
|
727
743
|
]
|
|
728
744
|
}
|
|
729
745
|
),
|
|
730
746
|
/* @__PURE__ */ t.jsxs(
|
|
731
747
|
"button",
|
|
732
748
|
{
|
|
733
|
-
className: `flex items-center justify-center gap-2 px-2 lg:px-4 py-2 lg:py-2 rounded-lg text-xs lg:text-sm font-medium transition-colors ${
|
|
734
|
-
onClick:
|
|
735
|
-
|
|
749
|
+
className: `flex items-center justify-center gap-2 px-2 lg:px-4 py-2 lg:py-2 rounded-lg text-xs lg:text-sm font-medium transition-colors ${u ? "bg-white text-slate-900 shadow-sm" : v ? "text-slate-400 cursor-not-allowed" : "text-slate-600 hover:text-slate-900"}`,
|
|
750
|
+
onClick: F,
|
|
751
|
+
disabled: v,
|
|
752
|
+
title: v ? "Fix code errors before switching" : "Preview Form",
|
|
736
753
|
children: [
|
|
737
|
-
/* @__PURE__ */ t.jsx(
|
|
754
|
+
/* @__PURE__ */ t.jsx(mr, { className: "w-5 h-5" }),
|
|
738
755
|
/* @__PURE__ */ t.jsx("span", { children: "Preview" })
|
|
739
756
|
]
|
|
740
757
|
}
|
|
741
758
|
)
|
|
742
759
|
] }),
|
|
743
|
-
/* @__PURE__ */ t.jsxs("div", { className: "header-actions flex
|
|
760
|
+
/* @__PURE__ */ t.jsxs("div", { className: "header-actions flex gap-1 items-center", children: [
|
|
744
761
|
/* @__PURE__ */ t.jsxs("label", { className: "header-import-label px-2 py-2 lg:px-3 lg:py-2 rounded-lg border border-black/15 bg-white hover:bg-black/5 cursor-pointer text-xs lg:text-sm font-medium transition-colors flex items-center lg:gap-2 gap-0", children: [
|
|
745
|
-
/* @__PURE__ */ t.jsx(
|
|
746
|
-
/* @__PURE__ */ t.jsx("span", { className: "hidden min-[
|
|
762
|
+
/* @__PURE__ */ t.jsx(hr, { className: "w-4 h-4 lg:w-4 lg:h-4" }),
|
|
763
|
+
/* @__PURE__ */ t.jsx("span", { className: "hidden min-[445px]:inline", children: "Import" }),
|
|
747
764
|
/* @__PURE__ */ t.jsx(
|
|
748
765
|
"input",
|
|
749
766
|
{
|
|
750
767
|
className: "hidden",
|
|
751
768
|
type: "file",
|
|
752
769
|
accept: ".json,.yaml,.yml,application/json,text/yaml",
|
|
753
|
-
onChange: (
|
|
754
|
-
var
|
|
755
|
-
const
|
|
756
|
-
if (!
|
|
757
|
-
const
|
|
758
|
-
|
|
759
|
-
var
|
|
760
|
-
return
|
|
761
|
-
},
|
|
770
|
+
onChange: (j) => {
|
|
771
|
+
var f;
|
|
772
|
+
const L = (f = j.target.files) == null ? void 0 : f[0];
|
|
773
|
+
if (!L) return;
|
|
774
|
+
const I = new FileReader();
|
|
775
|
+
I.onload = (C) => {
|
|
776
|
+
var g;
|
|
777
|
+
return x(((g = C.target) == null ? void 0 : g.result) ?? "");
|
|
778
|
+
}, I.readAsText(L), j.target.value = "";
|
|
762
779
|
}
|
|
763
780
|
}
|
|
764
781
|
)
|
|
@@ -767,32 +784,32 @@ ${(y == null ? void 0 : y.message) || "Invalid format"}`), r(!1), o(null);
|
|
|
767
784
|
"button",
|
|
768
785
|
{
|
|
769
786
|
className: "px-2 py-2 lg:px-3 lg:py-2 rounded-lg border border-black/15 bg-white hover:bg-black/5 text-xs lg:text-sm font-medium transition-colors flex items-center lg:gap-2 gap-0",
|
|
770
|
-
onClick:
|
|
787
|
+
onClick: R,
|
|
771
788
|
title: "Export",
|
|
772
789
|
children: [
|
|
773
|
-
/* @__PURE__ */ t.jsx(
|
|
774
|
-
/* @__PURE__ */ t.jsx("span", { className: "hidden min-[
|
|
790
|
+
/* @__PURE__ */ t.jsx(pr, { className: "w-4 h-4 lg:w-4 lg:h-4" }),
|
|
791
|
+
/* @__PURE__ */ t.jsx("span", { className: "hidden min-[445px]:inline", children: "Export" })
|
|
775
792
|
]
|
|
776
793
|
}
|
|
777
794
|
)
|
|
778
795
|
] })
|
|
779
796
|
] })
|
|
780
797
|
] }),
|
|
781
|
-
e &&
|
|
798
|
+
e && n && /* @__PURE__ */ t.jsx("div", { className: "import-modal-overlay fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4", children: /* @__PURE__ */ t.jsxs("div", { className: "import-modal-content bg-white rounded-2xl shadow-2xl max-w-md w-full p-6", children: [
|
|
782
799
|
/* @__PURE__ */ t.jsxs("div", { className: "import-modal-header mb-6", children: [
|
|
783
800
|
/* @__PURE__ */ t.jsx("h3", { className: "text-xl font-semibold text-slate-900 mb-2", children: "Confirm Schema Type" }),
|
|
784
801
|
/* @__PURE__ */ t.jsxs("p", { className: "text-sm text-slate-600", children: [
|
|
785
802
|
"Is this a ",
|
|
786
|
-
/* @__PURE__ */ t.jsx("strong", { className: "text-slate-900", children:
|
|
803
|
+
/* @__PURE__ */ t.jsx("strong", { className: "text-slate-900", children: n.detectedSchemaType === "surveyjs" ? "SurveyJS" : "MIE Forms" }),
|
|
787
804
|
" schema?"
|
|
788
805
|
] }),
|
|
789
|
-
|
|
806
|
+
n.detectedSchemaType === "surveyjs" && /* @__PURE__ */ t.jsx("p", { className: "text-xs text-slate-500 mt-2", children: "SurveyJS schemas will be converted to MIE Forms format." })
|
|
790
807
|
] }),
|
|
791
808
|
/* @__PURE__ */ t.jsxs("div", { className: "import-modal-actions flex gap-3", children: [
|
|
792
809
|
/* @__PURE__ */ t.jsx(
|
|
793
810
|
"button",
|
|
794
811
|
{
|
|
795
|
-
onClick: () =>
|
|
812
|
+
onClick: () => P(n.detectedSchemaType),
|
|
796
813
|
className: "flex-1 px-6 py-3 rounded-xl bg-blue-500 text-white font-semibold hover:bg-blue-600 transition-colors shadow-sm hover:shadow",
|
|
797
814
|
children: "Yes, Import"
|
|
798
815
|
}
|
|
@@ -800,7 +817,7 @@ ${(y == null ? void 0 : y.message) || "Invalid format"}`), r(!1), o(null);
|
|
|
800
817
|
/* @__PURE__ */ t.jsx(
|
|
801
818
|
"button",
|
|
802
819
|
{
|
|
803
|
-
onClick:
|
|
820
|
+
onClick: A,
|
|
804
821
|
className: "flex-1 px-6 py-3 rounded-xl border-2 border-slate-300 bg-white hover:bg-slate-50 text-slate-700 font-semibold transition-colors",
|
|
805
822
|
children: "Abort"
|
|
806
823
|
}
|
|
@@ -809,58 +826,58 @@ ${(y == null ? void 0 : y.message) || "Invalid format"}`), r(!1), o(null);
|
|
|
809
826
|
] }) })
|
|
810
827
|
] });
|
|
811
828
|
}
|
|
812
|
-
const
|
|
829
|
+
const qr = (e) => {
|
|
813
830
|
switch (e) {
|
|
814
831
|
case "Text Fields":
|
|
815
|
-
return
|
|
832
|
+
return Er;
|
|
816
833
|
case "Organization":
|
|
817
|
-
return
|
|
834
|
+
return wr;
|
|
818
835
|
case "Selection Fields":
|
|
819
|
-
return
|
|
836
|
+
return jr;
|
|
820
837
|
case "Rating & Ranking":
|
|
821
|
-
return
|
|
838
|
+
return yr;
|
|
822
839
|
case "Matrix Fields":
|
|
823
|
-
return
|
|
840
|
+
return xr;
|
|
824
841
|
case "Rich Content":
|
|
825
|
-
return
|
|
842
|
+
return vr;
|
|
826
843
|
default:
|
|
827
844
|
return null;
|
|
828
845
|
}
|
|
829
|
-
},
|
|
846
|
+
}, Wr = ({ isPreview: e = !1 }) => {
|
|
830
847
|
if (e) return null;
|
|
831
|
-
const r =
|
|
832
|
-
|
|
833
|
-
(
|
|
834
|
-
[
|
|
848
|
+
const r = ae((p) => p.addField), n = ie(), a = ae(
|
|
849
|
+
ke(
|
|
850
|
+
(p) => n.selectedFieldId.value ? p.byId[n.selectedFieldId.value] : null,
|
|
851
|
+
[n.selectedFieldId.value]
|
|
835
852
|
)
|
|
836
|
-
),
|
|
837
|
-
|
|
838
|
-
}, [
|
|
853
|
+
), o = (a == null ? void 0 : a.fieldType) === "section", i = (a == null ? void 0 : a.title) || "Section", h = m.useCallback(() => {
|
|
854
|
+
n.selectedFieldId.set(null);
|
|
855
|
+
}, [n.selectedFieldId]);
|
|
839
856
|
m.useEffect(() => {
|
|
840
|
-
const
|
|
841
|
-
v.key === "Escape" && (v.preventDefault(), v.stopPropagation(),
|
|
857
|
+
const p = (v) => {
|
|
858
|
+
v.key === "Escape" && (v.preventDefault(), v.stopPropagation(), h());
|
|
842
859
|
};
|
|
843
|
-
return window.addEventListener("keydown",
|
|
844
|
-
}, [
|
|
845
|
-
const
|
|
846
|
-
const
|
|
847
|
-
return Object.entries(de).filter(([v]) => v !== "unsupported").forEach(([v,
|
|
848
|
-
const
|
|
849
|
-
|
|
860
|
+
return window.addEventListener("keydown", p), () => window.removeEventListener("keydown", p);
|
|
861
|
+
}, [h]);
|
|
862
|
+
const l = Be(() => {
|
|
863
|
+
const p = {};
|
|
864
|
+
return Object.entries(de).filter(([v]) => v !== "unsupported").forEach(([v, x]) => {
|
|
865
|
+
const P = x.category || "Other";
|
|
866
|
+
p[P] || (p[P] = []), p[P].push({
|
|
850
867
|
type: v,
|
|
851
|
-
label:
|
|
868
|
+
label: x.label
|
|
852
869
|
});
|
|
853
|
-
}),
|
|
854
|
-
}, []), u =
|
|
855
|
-
const
|
|
856
|
-
return Object.values(
|
|
857
|
-
v.forEach(({ type:
|
|
858
|
-
|
|
859
|
-
|
|
870
|
+
}), p;
|
|
871
|
+
}, []), u = Be(() => {
|
|
872
|
+
const p = {};
|
|
873
|
+
return Object.values(l).forEach((v) => {
|
|
874
|
+
v.forEach(({ type: x }) => {
|
|
875
|
+
p[x] = () => {
|
|
876
|
+
o && (a != null && a.id) ? r(x, { sectionId: a.id }) : r(x);
|
|
860
877
|
};
|
|
861
878
|
});
|
|
862
|
-
}),
|
|
863
|
-
}, [
|
|
879
|
+
}), p;
|
|
880
|
+
}, [l, r, o, a == null ? void 0 : a.id]);
|
|
864
881
|
return /* @__PURE__ */ t.jsx(
|
|
865
882
|
"div",
|
|
866
883
|
{
|
|
@@ -869,114 +886,194 @@ const Mr = (e) => {
|
|
|
869
886
|
children: /* @__PURE__ */ t.jsxs("div", { className: "tool-panel-container pb-4 rounded-lg shadow-sm", children: [
|
|
870
887
|
/* @__PURE__ */ t.jsxs("h3", { className: "tool-panel-title sticky top-0 z-20 bg-white text-base font-semibold pb-2 pt-3 px-4 border-b border-gray-200 flex items-center justify-between gap-2", children: [
|
|
871
888
|
/* @__PURE__ */ t.jsxs("span", { className: "flex items-center gap-2 min-w-0", children: [
|
|
872
|
-
/* @__PURE__ */ t.jsx(
|
|
873
|
-
/* @__PURE__ */ t.jsx("span", { className: "truncate", children:
|
|
889
|
+
/* @__PURE__ */ t.jsx(gr, { className: "w-5 h-5 text-gray-700 shrink-0" }),
|
|
890
|
+
/* @__PURE__ */ t.jsx("span", { className: "truncate", children: o ? `Add to "${i}"` : "Tools" })
|
|
874
891
|
] }),
|
|
875
|
-
|
|
892
|
+
o && /* @__PURE__ */ t.jsx(
|
|
876
893
|
"button",
|
|
877
894
|
{
|
|
878
|
-
onClick:
|
|
879
|
-
className: "text-gray-600 hover:text-red-600 hover:bg-red-50 p-1 rounded transition-colors
|
|
895
|
+
onClick: h,
|
|
896
|
+
className: "text-gray-600 hover:text-red-600 hover:bg-red-50 p-1 rounded transition-colors shrink-0",
|
|
880
897
|
title: "Unselect section",
|
|
881
|
-
children: /* @__PURE__ */ t.jsx(
|
|
898
|
+
children: /* @__PURE__ */ t.jsx(br, { className: "w-5 h-5" })
|
|
882
899
|
}
|
|
883
900
|
)
|
|
884
901
|
] }),
|
|
885
|
-
Object.entries(
|
|
902
|
+
Object.entries(l).map(([p, v]) => /* @__PURE__ */ t.jsxs("div", { className: "tool-category", children: [
|
|
886
903
|
/* @__PURE__ */ t.jsxs("h4", { className: "sticky top-11 z-10 bg-gray-50 text-sm font-semibold text-gray-700 px-4 py-3 border-b border-gray-100 uppercase tracking-wide flex items-center gap-2", children: [
|
|
887
904
|
(() => {
|
|
888
|
-
const
|
|
889
|
-
return
|
|
905
|
+
const x = qr(p);
|
|
906
|
+
return x ? /* @__PURE__ */ t.jsx(x, { className: "w-4 h-4 text-gray-600" }) : null;
|
|
890
907
|
})(),
|
|
891
|
-
|
|
908
|
+
p
|
|
892
909
|
] }),
|
|
893
|
-
/* @__PURE__ */ t.jsx("div", { className: "tool-items grid grid-cols-1 gap-2 px-4 py-3", children: v.map(({ type:
|
|
894
|
-
const
|
|
910
|
+
/* @__PURE__ */ t.jsx("div", { className: "tool-items grid grid-cols-1 gap-2 px-4 py-3", children: v.map(({ type: x, label: P }) => {
|
|
911
|
+
const A = o && x === "section";
|
|
895
912
|
return /* @__PURE__ */ t.jsxs(
|
|
896
913
|
"button",
|
|
897
914
|
{
|
|
898
|
-
disabled:
|
|
899
|
-
className: `px-3 py-2 text-sm text-left border rounded-md transition-colors duration-150 ${
|
|
900
|
-
onClick: u[
|
|
901
|
-
title:
|
|
915
|
+
disabled: A,
|
|
916
|
+
className: `px-3 py-2 text-sm text-left border rounded-md transition-colors duration-150 ${A ? "border-gray-200 bg-gray-50 text-gray-400 cursor-not-allowed" : "border-gray-300 hover:bg-blue-50 hover:border-blue-400 hover:text-blue-700"}`,
|
|
917
|
+
onClick: u[x],
|
|
918
|
+
title: A ? "Cannot add section to a section" : `Add ${P}`,
|
|
902
919
|
children: [
|
|
903
920
|
"+ ",
|
|
904
|
-
|
|
921
|
+
P
|
|
905
922
|
]
|
|
906
923
|
},
|
|
907
|
-
|
|
924
|
+
x
|
|
908
925
|
);
|
|
909
926
|
}) })
|
|
910
|
-
] },
|
|
927
|
+
] }, p))
|
|
911
928
|
] })
|
|
912
929
|
}
|
|
913
930
|
);
|
|
914
|
-
},
|
|
915
|
-
function
|
|
931
|
+
}, gt = m.memo(Wr, (e, r) => e.isPreview === r.isPreview);
|
|
932
|
+
function St({
|
|
916
933
|
id: e = "",
|
|
917
934
|
label: r = "ID",
|
|
918
|
-
onCommit:
|
|
919
|
-
validate:
|
|
920
|
-
placeholder:
|
|
921
|
-
className:
|
|
935
|
+
onCommit: n,
|
|
936
|
+
validate: a,
|
|
937
|
+
placeholder: o = "Enter unique ID…",
|
|
938
|
+
className: i = ""
|
|
922
939
|
}) {
|
|
923
|
-
const [
|
|
940
|
+
const [h, l] = m.useState(e ?? ""), [u, p] = m.useState("");
|
|
924
941
|
m.useEffect(() => {
|
|
925
|
-
|
|
942
|
+
l(e ?? ""), p("");
|
|
926
943
|
}, [e]);
|
|
927
944
|
const v = m.useCallback(() => {
|
|
928
|
-
const
|
|
929
|
-
if (!
|
|
930
|
-
|
|
945
|
+
const x = String(h ?? "").trim();
|
|
946
|
+
if (!x) {
|
|
947
|
+
p("ID cannot be empty."), l(e ?? "");
|
|
931
948
|
return;
|
|
932
949
|
}
|
|
933
|
-
if (
|
|
934
|
-
if (typeof
|
|
935
|
-
const
|
|
936
|
-
if (
|
|
937
|
-
|
|
950
|
+
if (x !== (e ?? "")) {
|
|
951
|
+
if (typeof a == "function") {
|
|
952
|
+
const P = a(x, e ?? "");
|
|
953
|
+
if (P) {
|
|
954
|
+
p(P);
|
|
938
955
|
return;
|
|
939
956
|
}
|
|
940
957
|
}
|
|
941
|
-
|
|
958
|
+
n == null || n(x);
|
|
942
959
|
}
|
|
943
|
-
}, [
|
|
944
|
-
return /* @__PURE__ */ t.jsxs("div", { className:
|
|
960
|
+
}, [h, e, n, a]);
|
|
961
|
+
return /* @__PURE__ */ t.jsxs("div", { className: i ? `draft-id-editor-container ${i}` : "draft-id-editor-container", children: [
|
|
945
962
|
/* @__PURE__ */ t.jsx("label", { className: "block text-sm mb-1", children: r }),
|
|
946
963
|
/* @__PURE__ */ t.jsx(
|
|
947
964
|
"input",
|
|
948
965
|
{
|
|
949
966
|
className: "w-full px-3 py-2 border border-black/20 rounded",
|
|
950
|
-
value:
|
|
951
|
-
onChange: (
|
|
952
|
-
u &&
|
|
967
|
+
value: h,
|
|
968
|
+
onChange: (x) => {
|
|
969
|
+
u && p(""), l(x.target.value);
|
|
953
970
|
},
|
|
954
971
|
onBlur: v,
|
|
955
|
-
onKeyDown: (
|
|
956
|
-
|
|
972
|
+
onKeyDown: (x) => {
|
|
973
|
+
x.key === "Enter" && (x.preventDefault(), v());
|
|
957
974
|
},
|
|
958
|
-
placeholder:
|
|
975
|
+
placeholder: o
|
|
959
976
|
}
|
|
960
977
|
),
|
|
961
978
|
u ? /* @__PURE__ */ t.jsx("p", { className: "text-xs text-red-600 mt-1", children: u }) : null
|
|
962
979
|
] });
|
|
963
980
|
}
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
},
|
|
981
|
+
const Vr = [
|
|
982
|
+
{ value: "text", label: "Text" },
|
|
983
|
+
{ value: "number", label: "Number" },
|
|
984
|
+
{ value: "email", label: "Email" },
|
|
985
|
+
{ value: "tel", label: "Phone Number" },
|
|
986
|
+
{ value: "date", label: "Date" },
|
|
987
|
+
{ value: "datetime-local", label: "Date & Time" },
|
|
988
|
+
{ value: "month", label: "Month" },
|
|
989
|
+
{ value: "time", label: "Time" },
|
|
990
|
+
{ value: "range", label: "Range" }
|
|
991
|
+
], Ur = {
|
|
992
|
+
Length: [
|
|
993
|
+
{ value: "mm", label: "Millimeters (mm)" },
|
|
994
|
+
{ value: "cm", label: "Centimeters (cm)" },
|
|
995
|
+
{ value: "m", label: "Meters (m)" },
|
|
996
|
+
{ value: "km", label: "Kilometers (km)" },
|
|
997
|
+
{ value: "in", label: "Inches (in)" },
|
|
998
|
+
{ value: "ft", label: "Feet (ft)" },
|
|
999
|
+
{ value: "yd", label: "Yards (yd)" },
|
|
1000
|
+
{ value: "mi", label: "Miles (mi)" }
|
|
1001
|
+
],
|
|
1002
|
+
Weight: [
|
|
1003
|
+
{ value: "mg", label: "Milligrams (mg)" },
|
|
1004
|
+
{ value: "g", label: "Grams (g)" },
|
|
1005
|
+
{ value: "kg", label: "Kilograms (kg)" },
|
|
1006
|
+
{ value: "oz", label: "Ounces (oz)" },
|
|
1007
|
+
{ value: "lb", label: "Pounds (lb)" }
|
|
1008
|
+
],
|
|
1009
|
+
Volume: [
|
|
1010
|
+
{ value: "ml", label: "Milliliters (ml)" },
|
|
1011
|
+
{ value: "l", label: "Liters (l)" },
|
|
1012
|
+
{ value: "fl-oz", label: "Fluid Ounces (fl oz)" },
|
|
1013
|
+
{ value: "cup", label: "Cups" },
|
|
1014
|
+
{ value: "pt", label: "Pints (pt)" },
|
|
1015
|
+
{ value: "qt", label: "Quarts (qt)" },
|
|
1016
|
+
{ value: "gal", label: "Gallons (gal)" }
|
|
1017
|
+
],
|
|
1018
|
+
Temperature: [
|
|
1019
|
+
{ value: "c", label: "Celsius (°C)" },
|
|
1020
|
+
{ value: "f", label: "Fahrenheit (°F)" },
|
|
1021
|
+
{ value: "k", label: "Kelvin (K)" }
|
|
1022
|
+
],
|
|
1023
|
+
Other: [
|
|
1024
|
+
{ value: "percent", label: "Percent (%)" },
|
|
1025
|
+
{ value: "bpm", label: "Beats per minute (bpm)" },
|
|
1026
|
+
{ value: "mmHg", label: "mmHg (blood pressure)" }
|
|
1027
|
+
]
|
|
1028
|
+
};
|
|
1029
|
+
function zr({ field: e, onUpdate: r }) {
|
|
1030
|
+
const n = e.inputType || "text", a = e.unit || "", o = n === "number" || n === "range";
|
|
1031
|
+
return /* @__PURE__ */ t.jsxs("div", { className: "space-y-3", children: [
|
|
1032
|
+
/* @__PURE__ */ t.jsxs("div", { children: [
|
|
1033
|
+
/* @__PURE__ */ t.jsx("label", { className: "block text-sm mb-1", children: "Input Type" }),
|
|
1034
|
+
/* @__PURE__ */ t.jsx(
|
|
1035
|
+
"select",
|
|
1036
|
+
{
|
|
1037
|
+
className: "w-full px-3 py-2 border border-black/20 rounded",
|
|
1038
|
+
value: n,
|
|
1039
|
+
onChange: (i) => r("inputType", i.target.value),
|
|
1040
|
+
children: Vr.map((i) => /* @__PURE__ */ t.jsx("option", { value: i.value, children: i.label }, i.value))
|
|
1041
|
+
}
|
|
1042
|
+
)
|
|
1043
|
+
] }),
|
|
1044
|
+
o && /* @__PURE__ */ t.jsxs("div", { children: [
|
|
1045
|
+
/* @__PURE__ */ t.jsx("label", { className: "block text-sm mb-1", children: "Unit (optional)" }),
|
|
1046
|
+
/* @__PURE__ */ t.jsxs(
|
|
1047
|
+
"select",
|
|
1048
|
+
{
|
|
1049
|
+
className: "w-full px-3 py-2 border border-black/20 rounded",
|
|
1050
|
+
value: a,
|
|
1051
|
+
onChange: (i) => r("unit", i.target.value),
|
|
1052
|
+
children: [
|
|
1053
|
+
/* @__PURE__ */ t.jsx("option", { value: "", children: "None" }),
|
|
1054
|
+
Object.entries(Ur).map(([i, h]) => /* @__PURE__ */ t.jsx("optgroup", { label: i, children: h.map((l) => /* @__PURE__ */ t.jsx("option", { value: l.value, children: l.label }, l.value)) }, i))
|
|
1055
|
+
]
|
|
1056
|
+
}
|
|
1057
|
+
)
|
|
1058
|
+
] })
|
|
1059
|
+
] });
|
|
1060
|
+
}
|
|
1061
|
+
function It({ f: e, onUpdateField: r }) {
|
|
1062
|
+
const n = ae(m.useCallback((o) => o.byId, [])), a = m.useCallback((o, i) => {
|
|
1063
|
+
if (!(o != null && o.trim())) return "ID cannot be empty.";
|
|
1064
|
+
if (o === i) return "";
|
|
1065
|
+
const h = new Set(Object.keys(n));
|
|
1066
|
+
return Object.values(n).forEach((l) => {
|
|
1067
|
+
(l == null ? void 0 : l.fieldType) === "section" && Array.isArray(l.fields) && l.fields.forEach((u) => h.add(u.id));
|
|
1068
|
+
}), h.has(o) ? `ID "${o}" already exists.` : "";
|
|
1069
|
+
}, [n]);
|
|
973
1070
|
return /* @__PURE__ */ t.jsxs("div", { className: "common-editor-container space-y-3", children: [
|
|
974
1071
|
/* @__PURE__ */ t.jsx(
|
|
975
|
-
|
|
1072
|
+
St,
|
|
976
1073
|
{
|
|
977
1074
|
id: e.id ?? "",
|
|
978
|
-
validate:
|
|
979
|
-
onCommit: (
|
|
1075
|
+
validate: a,
|
|
1076
|
+
onCommit: (o) => r == null ? void 0 : r("id", o)
|
|
980
1077
|
}
|
|
981
1078
|
),
|
|
982
1079
|
/* @__PURE__ */ t.jsxs("div", { children: [
|
|
@@ -986,22 +1083,12 @@ function St({ f: e, onUpdateField: r }) {
|
|
|
986
1083
|
{
|
|
987
1084
|
className: "w-full px-3 py-2 border border-black/20 rounded",
|
|
988
1085
|
value: e.question || "",
|
|
989
|
-
onChange: (
|
|
1086
|
+
onChange: (o) => r == null ? void 0 : r("question", o.target.value),
|
|
990
1087
|
placeholder: "Enter question text"
|
|
991
1088
|
}
|
|
992
1089
|
)
|
|
993
1090
|
] }),
|
|
994
|
-
|
|
995
|
-
/* @__PURE__ */ t.jsx(
|
|
996
|
-
"input",
|
|
997
|
-
{
|
|
998
|
-
type: "checkbox",
|
|
999
|
-
checked: !!e.required,
|
|
1000
|
-
onChange: (a) => r("required", a.target.checked)
|
|
1001
|
-
}
|
|
1002
|
-
),
|
|
1003
|
-
"Required"
|
|
1004
|
-
] }) }),
|
|
1091
|
+
(e.fieldType === "text" || e.fieldType === "longtext") && /* @__PURE__ */ t.jsx(zr, { field: e, onUpdate: r }),
|
|
1005
1092
|
/* @__PURE__ */ t.jsxs("div", { children: [
|
|
1006
1093
|
/* @__PURE__ */ t.jsx("label", { className: "block text-sm mb-1", children: "Sublabel (optional)" }),
|
|
1007
1094
|
/* @__PURE__ */ t.jsx(
|
|
@@ -1009,34 +1096,45 @@ function St({ f: e, onUpdateField: r }) {
|
|
|
1009
1096
|
{
|
|
1010
1097
|
className: "w-full px-3 py-2 border border-black/20 rounded",
|
|
1011
1098
|
value: e.sublabel || "",
|
|
1012
|
-
onChange: (
|
|
1099
|
+
onChange: (o) => r("sublabel", o.target.value),
|
|
1013
1100
|
placeholder: "Helper text / description"
|
|
1014
1101
|
}
|
|
1015
1102
|
)
|
|
1016
|
-
] })
|
|
1103
|
+
] }),
|
|
1104
|
+
/* @__PURE__ */ t.jsx("div", { children: /* @__PURE__ */ t.jsxs("label", { className: "inline-flex items-center gap-2 text-sm", children: [
|
|
1105
|
+
/* @__PURE__ */ t.jsx(
|
|
1106
|
+
"input",
|
|
1107
|
+
{
|
|
1108
|
+
type: "checkbox",
|
|
1109
|
+
checked: !!e.required,
|
|
1110
|
+
onChange: (o) => r == null ? void 0 : r("required", o.target.checked)
|
|
1111
|
+
}
|
|
1112
|
+
),
|
|
1113
|
+
"Required"
|
|
1114
|
+
] }) })
|
|
1017
1115
|
] });
|
|
1018
1116
|
}
|
|
1019
|
-
function
|
|
1020
|
-
const
|
|
1117
|
+
function Rt({ field: e, api: r }) {
|
|
1118
|
+
const n = e.options || [], a = e.fieldType === "boolean", o = e.fieldType === "multitext", i = m.useRef(null), h = m.useRef(n.length), l = o ? "Text Inputs" : "Options", u = o ? "Text Input" : "Option", p = o ? "Input label" : "Option text";
|
|
1021
1119
|
return m.useEffect(() => {
|
|
1022
|
-
if (
|
|
1023
|
-
const v =
|
|
1120
|
+
if (n.length > h.current && i.current) {
|
|
1121
|
+
const v = i.current.lastElementChild;
|
|
1024
1122
|
v && v.scrollIntoView({ behavior: "smooth", block: "nearest" });
|
|
1025
1123
|
}
|
|
1026
|
-
|
|
1027
|
-
}, [
|
|
1028
|
-
/* @__PURE__ */ t.jsx("label", { className: "block text-sm font-medium text-gray-700", children:
|
|
1029
|
-
/* @__PURE__ */ t.jsx("div", { ref:
|
|
1124
|
+
h.current = n.length;
|
|
1125
|
+
}, [n.length]), /* @__PURE__ */ t.jsxs("div", { className: "space-y-3", children: [
|
|
1126
|
+
/* @__PURE__ */ t.jsx("label", { className: "block text-sm font-medium text-gray-700", children: l }),
|
|
1127
|
+
/* @__PURE__ */ t.jsx("div", { ref: i, className: "space-y-2", children: n.map((v) => /* @__PURE__ */ t.jsxs("div", { className: "flex items-center gap-2 px-3 py-2 border border-gray-300 rounded-lg shadow-sm hover:border-gray-400 transition-colors", children: [
|
|
1030
1128
|
/* @__PURE__ */ t.jsx(
|
|
1031
1129
|
"input",
|
|
1032
1130
|
{
|
|
1033
1131
|
className: "flex-1 min-w-0 outline-none bg-transparent",
|
|
1034
1132
|
value: v.value,
|
|
1035
|
-
onChange: (
|
|
1036
|
-
placeholder:
|
|
1133
|
+
onChange: (x) => r.option.update(v.id, x.target.value),
|
|
1134
|
+
placeholder: p
|
|
1037
1135
|
}
|
|
1038
1136
|
),
|
|
1039
|
-
!
|
|
1137
|
+
!a && /* @__PURE__ */ t.jsx(
|
|
1040
1138
|
"button",
|
|
1041
1139
|
{
|
|
1042
1140
|
onClick: () => r.option.remove(v.id),
|
|
@@ -1046,7 +1144,7 @@ function It({ field: e, api: r }) {
|
|
|
1046
1144
|
}
|
|
1047
1145
|
)
|
|
1048
1146
|
] }, v.id)) }),
|
|
1049
|
-
!
|
|
1147
|
+
!a && /* @__PURE__ */ t.jsxs(
|
|
1050
1148
|
"button",
|
|
1051
1149
|
{
|
|
1052
1150
|
onClick: () => r.option.add(""),
|
|
@@ -1059,30 +1157,30 @@ function It({ field: e, api: r }) {
|
|
|
1059
1157
|
)
|
|
1060
1158
|
] });
|
|
1061
1159
|
}
|
|
1062
|
-
function
|
|
1063
|
-
const
|
|
1160
|
+
function kt({ field: e, api: r }) {
|
|
1161
|
+
const n = e.rows || [], a = e.columns || [], o = m.useRef(null), i = m.useRef(null), h = m.useRef(n.length), l = m.useRef(a.length);
|
|
1064
1162
|
return m.useEffect(() => {
|
|
1065
|
-
if (
|
|
1066
|
-
const u =
|
|
1163
|
+
if (n.length > h.current && o.current) {
|
|
1164
|
+
const u = o.current.lastElementChild;
|
|
1067
1165
|
u && u.scrollIntoView({ behavior: "smooth", block: "nearest" });
|
|
1068
1166
|
}
|
|
1069
|
-
|
|
1070
|
-
}, [
|
|
1071
|
-
if (
|
|
1072
|
-
const u =
|
|
1167
|
+
h.current = n.length;
|
|
1168
|
+
}, [n.length]), m.useEffect(() => {
|
|
1169
|
+
if (a.length > l.current && i.current) {
|
|
1170
|
+
const u = i.current.lastElementChild;
|
|
1073
1171
|
u && u.scrollIntoView({ behavior: "smooth", block: "nearest" });
|
|
1074
1172
|
}
|
|
1075
|
-
|
|
1076
|
-
}, [
|
|
1173
|
+
l.current = a.length;
|
|
1174
|
+
}, [a.length]), /* @__PURE__ */ t.jsxs("div", { className: "space-y-4", children: [
|
|
1077
1175
|
/* @__PURE__ */ t.jsxs("div", { className: "space-y-3", children: [
|
|
1078
1176
|
/* @__PURE__ */ t.jsx("label", { className: "block text-sm font-medium text-gray-700", children: "Rows" }),
|
|
1079
|
-
/* @__PURE__ */ t.jsx("div", { ref:
|
|
1177
|
+
/* @__PURE__ */ t.jsx("div", { ref: o, className: "space-y-2", children: n.map((u) => /* @__PURE__ */ t.jsxs("div", { className: "flex items-center gap-2 px-3 py-2 border border-gray-300 rounded-lg shadow-sm hover:border-gray-400 transition-colors", children: [
|
|
1080
1178
|
/* @__PURE__ */ t.jsx(
|
|
1081
1179
|
"input",
|
|
1082
1180
|
{
|
|
1083
1181
|
className: "flex-1 min-w-0 outline-none bg-transparent",
|
|
1084
1182
|
value: u.value,
|
|
1085
|
-
onChange: (
|
|
1183
|
+
onChange: (p) => r.row.update(u.id, p.target.value),
|
|
1086
1184
|
placeholder: "Row text"
|
|
1087
1185
|
}
|
|
1088
1186
|
),
|
|
@@ -1090,13 +1188,13 @@ function Rt({ field: e, api: r }) {
|
|
|
1090
1188
|
"button",
|
|
1091
1189
|
{
|
|
1092
1190
|
onClick: () => r.row.remove(u.id),
|
|
1093
|
-
className: "
|
|
1191
|
+
className: "shrink-0 text-gray-400 hover:text-red-600 transition-colors",
|
|
1094
1192
|
title: "Remove row",
|
|
1095
1193
|
children: /* @__PURE__ */ t.jsx(ye, { className: "w-5 h-5" })
|
|
1096
1194
|
}
|
|
1097
1195
|
)
|
|
1098
1196
|
] }, u.id)) }),
|
|
1099
|
-
|
|
1197
|
+
n.length >= 10 ? /* @__PURE__ */ t.jsx("div", { className: "px-3 py-2 text-sm text-gray-500 text-center bg-gray-50 rounded-lg", children: "Max rows reached (10)" }) : /* @__PURE__ */ t.jsx(
|
|
1100
1198
|
"button",
|
|
1101
1199
|
{
|
|
1102
1200
|
onClick: () => r.row.add(""),
|
|
@@ -1107,13 +1205,13 @@ function Rt({ field: e, api: r }) {
|
|
|
1107
1205
|
] }),
|
|
1108
1206
|
/* @__PURE__ */ t.jsxs("div", { className: "space-y-3", children: [
|
|
1109
1207
|
/* @__PURE__ */ t.jsx("label", { className: "block text-sm font-medium text-gray-700", children: "Columns" }),
|
|
1110
|
-
/* @__PURE__ */ t.jsx("div", { ref:
|
|
1208
|
+
/* @__PURE__ */ t.jsx("div", { ref: i, className: "space-y-2", children: a.map((u) => /* @__PURE__ */ t.jsxs("div", { className: "flex items-center gap-2 px-3 py-2 border border-gray-300 rounded-lg shadow-sm hover:border-gray-400 transition-colors", children: [
|
|
1111
1209
|
/* @__PURE__ */ t.jsx(
|
|
1112
1210
|
"input",
|
|
1113
1211
|
{
|
|
1114
1212
|
className: "flex-1 min-w-0 outline-none bg-transparent",
|
|
1115
1213
|
value: u.value,
|
|
1116
|
-
onChange: (
|
|
1214
|
+
onChange: (p) => r.column.update(u.id, p.target.value),
|
|
1117
1215
|
placeholder: "Column text"
|
|
1118
1216
|
}
|
|
1119
1217
|
),
|
|
@@ -1121,13 +1219,13 @@ function Rt({ field: e, api: r }) {
|
|
|
1121
1219
|
"button",
|
|
1122
1220
|
{
|
|
1123
1221
|
onClick: () => r.column.remove(u.id),
|
|
1124
|
-
className: "
|
|
1222
|
+
className: "shrink-0 text-gray-400 hover:text-red-600 transition-colors",
|
|
1125
1223
|
title: "Remove column",
|
|
1126
1224
|
children: /* @__PURE__ */ t.jsx(ye, { className: "w-5 h-5" })
|
|
1127
1225
|
}
|
|
1128
1226
|
)
|
|
1129
1227
|
] }, u.id)) }),
|
|
1130
|
-
|
|
1228
|
+
a.length >= 10 ? /* @__PURE__ */ t.jsx("div", { className: "px-3 py-2 text-sm text-gray-500 text-center bg-gray-50 rounded-lg", children: "Max columns reached (10)" }) : /* @__PURE__ */ t.jsx(
|
|
1131
1229
|
"button",
|
|
1132
1230
|
{
|
|
1133
1231
|
onClick: () => r.column.add(""),
|
|
@@ -1138,14 +1236,13 @@ function Rt({ field: e, api: r }) {
|
|
|
1138
1236
|
] })
|
|
1139
1237
|
] });
|
|
1140
1238
|
}
|
|
1141
|
-
function
|
|
1142
|
-
const r =
|
|
1143
|
-
(
|
|
1239
|
+
function Hr({ f: e }) {
|
|
1240
|
+
const r = Ke(e.id), n = m.useCallback(
|
|
1241
|
+
(h, l) => r.field.update(h, l),
|
|
1144
1242
|
[r]
|
|
1145
|
-
),
|
|
1243
|
+
), a = de[e.fieldType] || {}, o = a.hasOptions || !1, i = a.hasMatrix || !1;
|
|
1146
1244
|
return /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
|
|
1147
|
-
/* @__PURE__ */ t.jsx(
|
|
1148
|
-
/* @__PURE__ */ t.jsx(St, { f: e, onUpdateField: s }),
|
|
1245
|
+
/* @__PURE__ */ t.jsx(It, { f: e, onUpdateField: n }),
|
|
1149
1246
|
e.fieldType === "input" && /* @__PURE__ */ t.jsxs("div", { className: "non-section-editor-default-answer mt-4", children: [
|
|
1150
1247
|
/* @__PURE__ */ t.jsx("div", { className: "text-sm font-medium mb-1", children: "Default Answer" }),
|
|
1151
1248
|
/* @__PURE__ */ t.jsx(
|
|
@@ -1153,92 +1250,91 @@ function Dr({ f: e }) {
|
|
|
1153
1250
|
{
|
|
1154
1251
|
className: "w-full px-3 py-2 border border-black/20 rounded",
|
|
1155
1252
|
value: e.answer || "",
|
|
1156
|
-
onChange: (
|
|
1253
|
+
onChange: (h) => n("answer", h.target.value),
|
|
1157
1254
|
placeholder: "Default value"
|
|
1158
1255
|
}
|
|
1159
1256
|
)
|
|
1160
1257
|
] }),
|
|
1161
|
-
|
|
1162
|
-
|
|
1258
|
+
o && /* @__PURE__ */ t.jsx(Rt, { field: e, api: r }),
|
|
1259
|
+
i && /* @__PURE__ */ t.jsx(kt, { field: e, api: r })
|
|
1163
1260
|
] });
|
|
1164
1261
|
}
|
|
1165
|
-
function
|
|
1166
|
-
var
|
|
1167
|
-
const
|
|
1168
|
-
if (!
|
|
1169
|
-
const
|
|
1262
|
+
function Yr({ section: e, onActiveChildChange: r }) {
|
|
1263
|
+
var C;
|
|
1264
|
+
const n = Ke(e.id), a = m.useContext(Xe), o = ie();
|
|
1265
|
+
if (!a) throw new Error("Missing FormStoreContext.Provider in the tree");
|
|
1266
|
+
const i = Array.isArray(e.fields) ? e.fields : [], h = o.selectedChildId.ParentId, l = o.selectedChildId.ChildId, u = m.useMemo(() => {
|
|
1267
|
+
var g;
|
|
1268
|
+
return h === e.id && l && i.some((D) => D.id === l) ? l : ((g = i[0]) == null ? void 0 : g.id) || null;
|
|
1269
|
+
}, []), [p, v] = m.useState(u), x = m.useRef(l);
|
|
1170
1270
|
m.useEffect(() => {
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
f(((p = l[0]) == null ? void 0 : p.id) || null);
|
|
1176
|
-
}, [e.id]), m.useEffect(() => {
|
|
1177
|
-
if (!l.length) {
|
|
1178
|
-
c !== null && f(null);
|
|
1271
|
+
x.current !== l && (x.current = l, h === e.id && l && l !== p && v(l));
|
|
1272
|
+
}, [h, l, e.id, p]), m.useEffect(() => {
|
|
1273
|
+
if (!i.length) {
|
|
1274
|
+
p !== null && v(null);
|
|
1179
1275
|
return;
|
|
1180
1276
|
}
|
|
1181
|
-
|
|
1182
|
-
}, [
|
|
1183
|
-
r == null || r(e.id,
|
|
1184
|
-
}, [e.id,
|
|
1185
|
-
const
|
|
1186
|
-
(
|
|
1187
|
-
|
|
1277
|
+
i.some((D) => D.id === p) || v(i[0].id);
|
|
1278
|
+
}, [i, p]), m.useEffect(() => {
|
|
1279
|
+
r == null || r(e.id, p || null);
|
|
1280
|
+
}, [e.id, p, r]);
|
|
1281
|
+
const P = m.useCallback(
|
|
1282
|
+
(g) => {
|
|
1283
|
+
v(g), o.selectedChildId.set(e.id, g);
|
|
1188
1284
|
},
|
|
1189
|
-
[e.id,
|
|
1190
|
-
),
|
|
1191
|
-
var
|
|
1192
|
-
return ((
|
|
1193
|
-
}, []),
|
|
1194
|
-
(
|
|
1195
|
-
[
|
|
1196
|
-
),
|
|
1197
|
-
() =>
|
|
1198
|
-
[
|
|
1199
|
-
),
|
|
1200
|
-
(
|
|
1201
|
-
if (
|
|
1202
|
-
if (
|
|
1203
|
-
const
|
|
1204
|
-
if (!
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
{ id:
|
|
1285
|
+
[e.id, o.selectedChildId]
|
|
1286
|
+
), A = m.useCallback((g) => {
|
|
1287
|
+
var D, T;
|
|
1288
|
+
return ((D = g.question) == null ? void 0 : D.trim()) || ((T = de[g.fieldType]) == null ? void 0 : T.label) || "Untitled";
|
|
1289
|
+
}, []), z = m.useCallback(
|
|
1290
|
+
(g, D) => n.field.update(g, D),
|
|
1291
|
+
[n]
|
|
1292
|
+
), E = m.useMemo(
|
|
1293
|
+
() => i.find((g) => g.id === p) || null,
|
|
1294
|
+
[i, p]
|
|
1295
|
+
), F = Ke((E == null ? void 0 : E.id) || "", e.id), R = E && F ? F : null, j = m.useCallback(
|
|
1296
|
+
(g, D) => {
|
|
1297
|
+
if (E) {
|
|
1298
|
+
if (g === "id") {
|
|
1299
|
+
const T = String(D ?? "").trim();
|
|
1300
|
+
if (!T) return;
|
|
1301
|
+
a.getState().updateField(
|
|
1302
|
+
E.id,
|
|
1303
|
+
{ id: T },
|
|
1208
1304
|
{
|
|
1209
1305
|
sectionId: e.id,
|
|
1210
|
-
onIdChange: (
|
|
1211
|
-
|
|
1306
|
+
onIdChange: (N, V) => {
|
|
1307
|
+
v((H) => H === V ? N : H);
|
|
1212
1308
|
}
|
|
1213
1309
|
}
|
|
1214
1310
|
);
|
|
1215
1311
|
return;
|
|
1216
1312
|
}
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
{ [
|
|
1313
|
+
a.getState().updateField(
|
|
1314
|
+
E.id,
|
|
1315
|
+
{ [g]: D },
|
|
1220
1316
|
{ sectionId: e.id }
|
|
1221
1317
|
);
|
|
1222
1318
|
}
|
|
1223
1319
|
},
|
|
1224
|
-
[
|
|
1225
|
-
),
|
|
1226
|
-
|
|
1227
|
-
}, [
|
|
1228
|
-
() =>
|
|
1229
|
-
[
|
|
1230
|
-
),
|
|
1231
|
-
() =>
|
|
1232
|
-
[
|
|
1320
|
+
[E, e.id, a]
|
|
1321
|
+
), L = m.useCallback(() => {
|
|
1322
|
+
E && a.getState().deleteField(E.id, { sectionId: e.id });
|
|
1323
|
+
}, [E, e.id, a]), I = m.useMemo(
|
|
1324
|
+
() => E && (de[E.fieldType] || {}).hasOptions || !1,
|
|
1325
|
+
[E]
|
|
1326
|
+
), f = m.useMemo(
|
|
1327
|
+
() => E && (de[E.fieldType] || {}).hasMatrix || !1,
|
|
1328
|
+
[E]
|
|
1233
1329
|
);
|
|
1234
1330
|
return /* @__PURE__ */ t.jsxs("div", { className: "space-y-4", children: [
|
|
1235
1331
|
/* @__PURE__ */ t.jsxs("div", { className: "space-y-3", children: [
|
|
1236
1332
|
/* @__PURE__ */ t.jsx("h3", { className: "text-sm font-semibold text-gray-700 uppercase tracking-wide", children: "Section Properties" }),
|
|
1237
1333
|
/* @__PURE__ */ t.jsx(
|
|
1238
|
-
|
|
1334
|
+
St,
|
|
1239
1335
|
{
|
|
1240
1336
|
id: e.id,
|
|
1241
|
-
onCommit: (
|
|
1337
|
+
onCommit: (g) => n.field.renameId(g)
|
|
1242
1338
|
}
|
|
1243
1339
|
),
|
|
1244
1340
|
/* @__PURE__ */ t.jsxs("div", { className: "section-editor-title", children: [
|
|
@@ -1248,7 +1344,7 @@ function Lr({ section: e, onActiveChildChange: r }) {
|
|
|
1248
1344
|
{
|
|
1249
1345
|
className: "w-full px-3 py-2 border border-gray-300 rounded focus:border-blue-400 focus:ring-1 focus:ring-blue-400 outline-none",
|
|
1250
1346
|
value: e.title || "",
|
|
1251
|
-
onChange: (
|
|
1347
|
+
onChange: (g) => z("title", g.target.value),
|
|
1252
1348
|
placeholder: "e.g., Patient Information"
|
|
1253
1349
|
}
|
|
1254
1350
|
)
|
|
@@ -1257,10 +1353,10 @@ function Lr({ section: e, onActiveChildChange: r }) {
|
|
|
1257
1353
|
/* @__PURE__ */ t.jsxs("div", { className: "space-y-3", children: [
|
|
1258
1354
|
/* @__PURE__ */ t.jsxs("h3", { className: "text-sm font-semibold text-gray-700 uppercase tracking-wide", children: [
|
|
1259
1355
|
"Fields (",
|
|
1260
|
-
|
|
1356
|
+
i.length,
|
|
1261
1357
|
")"
|
|
1262
1358
|
] }),
|
|
1263
|
-
|
|
1359
|
+
i.length === 0 ? /* @__PURE__ */ t.jsxs("div", { className: "flex flex-col items-center justify-center p-6 bg-gray-50 border-2 border-dashed border-gray-200 rounded-lg text-center", children: [
|
|
1264
1360
|
/* @__PURE__ */ t.jsx("p", { className: "text-sm text-gray-500", children: "No fields in this section" }),
|
|
1265
1361
|
/* @__PURE__ */ t.jsx("p", { className: "text-xs text-gray-400 mt-1", children: "Use the Tool Panel to add fields" })
|
|
1266
1362
|
] }) : /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
|
|
@@ -1269,28 +1365,28 @@ function Lr({ section: e, onActiveChildChange: r }) {
|
|
|
1269
1365
|
"select",
|
|
1270
1366
|
{
|
|
1271
1367
|
className: "w-full px-3 py-2 pr-10 border border-gray-300 rounded bg-white focus:border-blue-400 focus:ring-1 focus:ring-blue-400 outline-none appearance-none cursor-pointer",
|
|
1272
|
-
value:
|
|
1273
|
-
onChange: (
|
|
1274
|
-
children:
|
|
1275
|
-
var
|
|
1276
|
-
return /* @__PURE__ */ t.jsxs("option", { value:
|
|
1277
|
-
|
|
1368
|
+
value: p || "",
|
|
1369
|
+
onChange: (g) => P(g.target.value),
|
|
1370
|
+
children: i.map((g) => {
|
|
1371
|
+
var D;
|
|
1372
|
+
return /* @__PURE__ */ t.jsxs("option", { value: g.id, children: [
|
|
1373
|
+
A(g),
|
|
1278
1374
|
" — ",
|
|
1279
|
-
(
|
|
1280
|
-
] },
|
|
1375
|
+
(D = de[g.fieldType]) == null ? void 0 : D.label
|
|
1376
|
+
] }, g.id);
|
|
1281
1377
|
})
|
|
1282
1378
|
}
|
|
1283
1379
|
),
|
|
1284
|
-
/* @__PURE__ */ t.jsx(
|
|
1380
|
+
/* @__PURE__ */ t.jsx(Cr, { className: "absolute right-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-500 pointer-events-none" })
|
|
1285
1381
|
] }),
|
|
1286
|
-
|
|
1382
|
+
E && /* @__PURE__ */ t.jsxs("div", { className: "space-y-4 p-4 bg-gray-50 border border-gray-200 rounded-lg", children: [
|
|
1287
1383
|
/* @__PURE__ */ t.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
1288
|
-
/* @__PURE__ */ t.jsx("span", { className: "inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-blue-100 text-blue-800", children: ((
|
|
1384
|
+
/* @__PURE__ */ t.jsx("span", { className: "inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-blue-100 text-blue-800", children: ((C = de[E.fieldType]) == null ? void 0 : C.label) || E.fieldType }),
|
|
1289
1385
|
/* @__PURE__ */ t.jsxs(
|
|
1290
1386
|
"button",
|
|
1291
1387
|
{
|
|
1292
1388
|
className: "flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-red-600 hover:text-red-700 hover:bg-red-50 border border-red-300 rounded transition-colors",
|
|
1293
|
-
onClick:
|
|
1389
|
+
onClick: L,
|
|
1294
1390
|
title: "Delete this field",
|
|
1295
1391
|
children: [
|
|
1296
1392
|
/* @__PURE__ */ t.jsx(ye, { className: "w-3.5 h-3.5" }),
|
|
@@ -1299,143 +1395,193 @@ function Lr({ section: e, onActiveChildChange: r }) {
|
|
|
1299
1395
|
}
|
|
1300
1396
|
)
|
|
1301
1397
|
] }),
|
|
1302
|
-
/* @__PURE__ */ t.jsx(
|
|
1303
|
-
|
|
1398
|
+
/* @__PURE__ */ t.jsx(It, { f: E, onUpdateField: j }),
|
|
1399
|
+
E.fieldType === "input" && /* @__PURE__ */ t.jsxs("div", { className: "section-editor-default-answer", children: [
|
|
1304
1400
|
/* @__PURE__ */ t.jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: "Default Answer" }),
|
|
1305
1401
|
/* @__PURE__ */ t.jsx(
|
|
1306
1402
|
"input",
|
|
1307
1403
|
{
|
|
1308
1404
|
className: "w-full px-3 py-2 border border-gray-300 rounded focus:border-blue-400 focus:ring-1 focus:ring-blue-400 outline-none",
|
|
1309
|
-
value:
|
|
1310
|
-
onChange: (
|
|
1405
|
+
value: E.answer || "",
|
|
1406
|
+
onChange: (g) => j("answer", g.target.value),
|
|
1311
1407
|
placeholder: "Default value"
|
|
1312
1408
|
}
|
|
1313
1409
|
)
|
|
1314
1410
|
] }),
|
|
1315
|
-
|
|
1316
|
-
|
|
1411
|
+
I && R && /* @__PURE__ */ t.jsx(Rt, { field: E, api: R }),
|
|
1412
|
+
f && R && /* @__PURE__ */ t.jsx(kt, { field: E, api: R })
|
|
1317
1413
|
] })
|
|
1318
1414
|
] })
|
|
1319
1415
|
] })
|
|
1320
1416
|
] });
|
|
1321
1417
|
}
|
|
1322
|
-
function
|
|
1418
|
+
function bt(e, r, n) {
|
|
1419
|
+
if (e === "expression")
|
|
1420
|
+
return Nr.includes(r) ? ["equals", "notEquals", "greaterThan", "greaterThanOrEqual", "lessThan", "lessThanOrEqual"] : ["equals", "notEquals", "contains", "empty", "notEmpty"];
|
|
1323
1421
|
switch (e) {
|
|
1324
|
-
case "
|
|
1325
|
-
|
|
1422
|
+
case "text":
|
|
1423
|
+
case "longtext":
|
|
1424
|
+
return n === "number" || n === "range" ? ["equals", "notEquals", "greaterThan", "greaterThanOrEqual", "lessThan", "lessThanOrEqual", "empty", "notEmpty"] : n === "date" || n === "datetime-local" || n === "month" || n === "time" ? ["equals", "notEquals", "greaterThan", "greaterThanOrEqual", "lessThan", "lessThanOrEqual", "empty", "notEmpty"] : ["equals", "notEquals", "contains", "empty", "notEmpty"];
|
|
1326
1425
|
case "radio":
|
|
1327
|
-
case "
|
|
1328
|
-
|
|
1426
|
+
case "dropdown":
|
|
1427
|
+
case "boolean":
|
|
1428
|
+
return ["equals", "notEquals"];
|
|
1329
1429
|
case "check":
|
|
1330
|
-
|
|
1430
|
+
case "multiselectdropdown":
|
|
1431
|
+
return ["includes", "empty", "notEmpty"];
|
|
1432
|
+
case "rating":
|
|
1433
|
+
case "slider":
|
|
1434
|
+
case "ranking":
|
|
1435
|
+
return ["equals", "notEquals", "greaterThan", "greaterThanOrEqual", "lessThan", "lessThanOrEqual"];
|
|
1436
|
+
default:
|
|
1437
|
+
return ["equals", "notEquals"];
|
|
1438
|
+
}
|
|
1439
|
+
}
|
|
1440
|
+
function Jr(e) {
|
|
1441
|
+
switch (e) {
|
|
1442
|
+
case "check":
|
|
1443
|
+
case "multiselectdropdown":
|
|
1444
|
+
case "ranking":
|
|
1445
|
+
return ["length", "count"];
|
|
1446
|
+
case "text":
|
|
1447
|
+
case "longtext":
|
|
1448
|
+
return ["length"];
|
|
1449
|
+
default:
|
|
1450
|
+
return [];
|
|
1451
|
+
}
|
|
1452
|
+
}
|
|
1453
|
+
function Br(e) {
|
|
1454
|
+
switch (e) {
|
|
1455
|
+
case "equals":
|
|
1456
|
+
return "= (equals)";
|
|
1457
|
+
case "notEquals":
|
|
1458
|
+
return "≠ (not equals)";
|
|
1459
|
+
case "greaterThan":
|
|
1460
|
+
return "> (greater than)";
|
|
1461
|
+
case "greaterThanOrEqual":
|
|
1462
|
+
return "≥ (greater than or equal)";
|
|
1463
|
+
case "lessThan":
|
|
1464
|
+
return "< (less than)";
|
|
1465
|
+
case "lessThanOrEqual":
|
|
1466
|
+
return "≤ (less than or equal)";
|
|
1467
|
+
case "contains":
|
|
1468
|
+
return "contains";
|
|
1469
|
+
case "includes":
|
|
1470
|
+
return "includes";
|
|
1471
|
+
case "empty":
|
|
1472
|
+
return "is empty";
|
|
1473
|
+
case "notEmpty":
|
|
1474
|
+
return "is not empty";
|
|
1331
1475
|
default:
|
|
1332
|
-
return
|
|
1476
|
+
return e;
|
|
1333
1477
|
}
|
|
1334
1478
|
}
|
|
1335
|
-
function
|
|
1479
|
+
function vt(e) {
|
|
1336
1480
|
if (e && typeof e == "object") {
|
|
1337
|
-
const
|
|
1338
|
-
return { id:
|
|
1481
|
+
const n = e.id ?? String(e.value ?? ""), a = String(e.value ?? e.label ?? e.id ?? "");
|
|
1482
|
+
return { id: n, value: a };
|
|
1339
1483
|
}
|
|
1340
1484
|
const r = String(e ?? "");
|
|
1341
1485
|
return { id: r, value: r };
|
|
1342
1486
|
}
|
|
1343
|
-
function
|
|
1344
|
-
var
|
|
1345
|
-
const e =
|
|
1346
|
-
(
|
|
1347
|
-
const
|
|
1487
|
+
function Kr() {
|
|
1488
|
+
var H, G, B;
|
|
1489
|
+
const e = ie(), r = ae((c) => c.byId), n = ae((c) => c.setEnableWhen), a = ae((c) => c.updateField), o = ((H = e == null ? void 0 : e.selectedFieldId) == null ? void 0 : H.value) ?? null;
|
|
1490
|
+
(G = e == null ? void 0 : e.selectedChildId) == null || G.ParentId;
|
|
1491
|
+
const i = ((B = e == null ? void 0 : e.selectedChildId) == null ? void 0 : B.ChildId) ?? null, h = o ? r[o] : null, l = (h == null ? void 0 : h.fieldType) === "section", u = m.useMemo(() => l ? Array.isArray(h == null ? void 0 : h.fields) ? h.fields : [] : [], [l, h]), p = m.useMemo(() => !l || !i ? !1 : u.some((c) => c.id === i), [l, i, u]), v = m.useMemo(() => l && p ? `child:${i}` : "", [l, p, i]), [x, P] = m.useState(v);
|
|
1348
1492
|
m.useEffect(() => {
|
|
1349
|
-
|
|
1350
|
-
}, [v])
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1493
|
+
P(v);
|
|
1494
|
+
}, [v]);
|
|
1495
|
+
const A = m.useCallback((c) => {
|
|
1496
|
+
if (P(c), !!l)
|
|
1497
|
+
if (c && c.startsWith("child:")) {
|
|
1498
|
+
const w = c.slice(6);
|
|
1499
|
+
e.selectedChildId.set(o, w);
|
|
1355
1500
|
} else
|
|
1356
1501
|
e.selectedChildId.set(null, null);
|
|
1357
|
-
}, [
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
const
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
options: Array.isArray(
|
|
1502
|
+
}, [l, o, e]), z = !!(l && x && x.startsWith("child:")), E = z ? x.slice(6) : null, F = z ? E : o, R = m.useMemo(() => F ? z ? u.find((c) => c.id === E) ?? null : r[F] ?? null : null, [r, F, z, E, u]), j = m.useMemo(() => {
|
|
1503
|
+
var w, S, X;
|
|
1504
|
+
const c = [];
|
|
1505
|
+
for (const W of Object.values(r))
|
|
1506
|
+
if (W)
|
|
1507
|
+
if (W.fieldType === "section" && Array.isArray(W.fields)) {
|
|
1508
|
+
const Z = ((w = W.title) == null ? void 0 : w.trim()) || "Section";
|
|
1509
|
+
W.fields.forEach((y) => {
|
|
1510
|
+
var _;
|
|
1511
|
+
c.push({
|
|
1512
|
+
id: y.id,
|
|
1513
|
+
parentId: W.id,
|
|
1514
|
+
label: `${Z} › ${((_ = y.question) == null ? void 0 : _.trim()) || y.id}`,
|
|
1515
|
+
fieldType: y.fieldType,
|
|
1516
|
+
displayFormat: y.displayFormat,
|
|
1517
|
+
options: Array.isArray(y.options) ? y.options : []
|
|
1373
1518
|
});
|
|
1374
1519
|
});
|
|
1375
1520
|
} else
|
|
1376
|
-
|
|
1377
|
-
id:
|
|
1521
|
+
c.push({
|
|
1522
|
+
id: W.id,
|
|
1378
1523
|
parentId: null,
|
|
1379
|
-
label: ((
|
|
1380
|
-
fieldType:
|
|
1381
|
-
|
|
1524
|
+
label: ((S = W.question) == null ? void 0 : S.trim()) || ((X = W.title) == null ? void 0 : X.trim()) || W.id,
|
|
1525
|
+
fieldType: W.fieldType,
|
|
1526
|
+
displayFormat: W.displayFormat,
|
|
1527
|
+
options: Array.isArray(W.options) ? W.options : []
|
|
1382
1528
|
});
|
|
1383
|
-
return
|
|
1384
|
-
}, [r]),
|
|
1385
|
-
(
|
|
1386
|
-
[
|
|
1387
|
-
),
|
|
1388
|
-
(
|
|
1389
|
-
if (!
|
|
1390
|
-
const
|
|
1391
|
-
|
|
1529
|
+
return c;
|
|
1530
|
+
}, [r]), L = m.useCallback(
|
|
1531
|
+
(c) => j.find((w) => w.id === c) || null,
|
|
1532
|
+
[j]
|
|
1533
|
+
), I = m.useCallback(
|
|
1534
|
+
(c) => {
|
|
1535
|
+
if (!F) return;
|
|
1536
|
+
const w = c && Array.isArray(c.conditions) ? { logic: c.logic || "AND", conditions: c.conditions } : void 0;
|
|
1537
|
+
z && o ? a(F, { enableWhen: w }, { sectionId: o }) : n(F, w);
|
|
1392
1538
|
},
|
|
1393
|
-
[
|
|
1394
|
-
),
|
|
1395
|
-
const
|
|
1396
|
-
logic:
|
|
1539
|
+
[F, z, o, n, a]
|
|
1540
|
+
), f = m.useMemo(() => R != null && R.enableWhen && Array.isArray(R.enableWhen.conditions) ? { logic: R.enableWhen.logic || "AND", conditions: R.enableWhen.conditions } : { logic: "AND", conditions: [] }, [R]), C = m.useCallback(() => {
|
|
1541
|
+
const c = {
|
|
1542
|
+
logic: f.logic || "AND",
|
|
1397
1543
|
conditions: [
|
|
1398
|
-
...Array.isArray(
|
|
1544
|
+
...Array.isArray(f.conditions) ? f.conditions : [],
|
|
1399
1545
|
{ targetId: "", operator: "equals", value: "" }
|
|
1400
1546
|
]
|
|
1401
1547
|
};
|
|
1402
|
-
|
|
1403
|
-
}, [
|
|
1404
|
-
(
|
|
1405
|
-
const
|
|
1406
|
-
|
|
1548
|
+
I(c);
|
|
1549
|
+
}, [f, I]), g = m.useCallback(() => I(null), [I]), D = m.useCallback(
|
|
1550
|
+
(c) => {
|
|
1551
|
+
const S = (Array.isArray(f.conditions) ? f.conditions : []).filter((X, W) => W !== c);
|
|
1552
|
+
I({ ...f, conditions: S });
|
|
1407
1553
|
},
|
|
1408
|
-
[
|
|
1409
|
-
),
|
|
1410
|
-
(
|
|
1411
|
-
const
|
|
1412
|
-
if ("targetId" in
|
|
1413
|
-
const
|
|
1414
|
-
|
|
1415
|
-
const
|
|
1416
|
-
|
|
1554
|
+
[f, I]
|
|
1555
|
+
), T = m.useCallback(
|
|
1556
|
+
(c, w) => {
|
|
1557
|
+
const X = [...Array.isArray(f.conditions) ? f.conditions : []], Z = { ...X[c] || { targetId: "", operator: "equals", value: "" }, ...w };
|
|
1558
|
+
if ("targetId" in w) {
|
|
1559
|
+
const y = L(Z.targetId), _ = bt(y == null ? void 0 : y.fieldType, y == null ? void 0 : y.displayFormat, y == null ? void 0 : y.inputType);
|
|
1560
|
+
_.includes(Z.operator) || (Z.operator = _[0] || "equals");
|
|
1561
|
+
const Y = Array.isArray(y == null ? void 0 : y.options) ? y.options.map(vt) : [];
|
|
1562
|
+
Y.length > 0 && (new Set(Y.map((te) => te.id)).has(Z.value) || (Z.value = ""));
|
|
1417
1563
|
}
|
|
1418
|
-
|
|
1564
|
+
X[c] = Z, I({ ...f, conditions: X });
|
|
1419
1565
|
},
|
|
1420
|
-
[
|
|
1421
|
-
),
|
|
1422
|
-
() =>
|
|
1423
|
-
[
|
|
1424
|
-
),
|
|
1566
|
+
[f, L, I]
|
|
1567
|
+
), N = m.useMemo(
|
|
1568
|
+
() => j.filter((c) => c.id !== F),
|
|
1569
|
+
[j, F]
|
|
1570
|
+
), V = !R || !F;
|
|
1425
1571
|
return /* @__PURE__ */ t.jsxs("div", { className: "logic-editor-container space-y-4", children: [
|
|
1426
|
-
|
|
1572
|
+
l && /* @__PURE__ */ t.jsxs("div", { className: "space-y-2", children: [
|
|
1427
1573
|
/* @__PURE__ */ t.jsx("label", { className: "block text-sm font-medium text-gray-700", children: "Target Field" }),
|
|
1428
1574
|
/* @__PURE__ */ t.jsxs(
|
|
1429
1575
|
"select",
|
|
1430
1576
|
{
|
|
1431
1577
|
className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:border-blue-400 focus:ring-1 focus:ring-blue-400 outline-none bg-white",
|
|
1432
|
-
value:
|
|
1433
|
-
onChange: (
|
|
1578
|
+
value: x,
|
|
1579
|
+
onChange: (c) => A(c.target.value),
|
|
1434
1580
|
children: [
|
|
1435
1581
|
/* @__PURE__ */ t.jsx("option", { value: "", children: "Section (this)" }),
|
|
1436
|
-
u.map((
|
|
1437
|
-
var
|
|
1438
|
-
return /* @__PURE__ */ t.jsx("option", { value: `child:${
|
|
1582
|
+
u.map((c) => {
|
|
1583
|
+
var w, S;
|
|
1584
|
+
return /* @__PURE__ */ t.jsx("option", { value: `child:${c.id}`, children: ((w = c.question) == null ? void 0 : w.trim()) || ((S = c.title) == null ? void 0 : S.trim()) || c.id }, c.id);
|
|
1439
1585
|
})
|
|
1440
1586
|
]
|
|
1441
1587
|
}
|
|
@@ -1447,10 +1593,10 @@ function $r() {
|
|
|
1447
1593
|
/* @__PURE__ */ t.jsxs(
|
|
1448
1594
|
"select",
|
|
1449
1595
|
{
|
|
1450
|
-
value:
|
|
1451
|
-
onChange: (
|
|
1596
|
+
value: f.logic || "AND",
|
|
1597
|
+
onChange: (c) => I({ ...f, logic: c.target.value }),
|
|
1452
1598
|
className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:border-blue-400 focus:ring-1 focus:ring-blue-400 outline-none bg-white",
|
|
1453
|
-
disabled:
|
|
1599
|
+
disabled: V,
|
|
1454
1600
|
children: [
|
|
1455
1601
|
/* @__PURE__ */ t.jsx("option", { value: "AND", children: "AND — All conditions must be true" }),
|
|
1456
1602
|
/* @__PURE__ */ t.jsx("option", { value: "OR", children: "OR — Any condition must be true" })
|
|
@@ -1464,8 +1610,8 @@ function $r() {
|
|
|
1464
1610
|
{
|
|
1465
1611
|
type: "button",
|
|
1466
1612
|
className: "flex-1 px-3 py-2 text-sm font-medium text-blue-600 border border-blue-300 rounded-lg hover:bg-blue-50 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
|
|
1467
|
-
onClick:
|
|
1468
|
-
disabled:
|
|
1613
|
+
onClick: C,
|
|
1614
|
+
disabled: V,
|
|
1469
1615
|
children: "+ Add Condition"
|
|
1470
1616
|
}
|
|
1471
1617
|
),
|
|
@@ -1474,35 +1620,35 @@ function $r() {
|
|
|
1474
1620
|
{
|
|
1475
1621
|
type: "button",
|
|
1476
1622
|
className: "px-3 py-2 text-sm font-medium text-red-600 border border-red-300 rounded-lg hover:bg-red-50 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
|
|
1477
|
-
onClick:
|
|
1478
|
-
disabled:
|
|
1623
|
+
onClick: g,
|
|
1624
|
+
disabled: V,
|
|
1479
1625
|
children: "Clear All"
|
|
1480
1626
|
}
|
|
1481
1627
|
)
|
|
1482
1628
|
] })
|
|
1483
1629
|
] }),
|
|
1484
|
-
|
|
1630
|
+
f.conditions.length > 0 && /* @__PURE__ */ t.jsxs("div", { className: "space-y-3", children: [
|
|
1485
1631
|
/* @__PURE__ */ t.jsxs("h4", { className: "text-sm font-medium text-gray-700", children: [
|
|
1486
1632
|
"Conditions (",
|
|
1487
|
-
|
|
1633
|
+
f.conditions.length,
|
|
1488
1634
|
")"
|
|
1489
1635
|
] }),
|
|
1490
|
-
/* @__PURE__ */ t.jsx("div", { className: "space-y-3", children:
|
|
1491
|
-
const
|
|
1636
|
+
/* @__PURE__ */ t.jsx("div", { className: "space-y-3", children: f.conditions.map((c, w) => {
|
|
1637
|
+
const S = L(c.targetId), X = bt(S == null ? void 0 : S.fieldType, S == null ? void 0 : S.displayFormat, S == null ? void 0 : S.inputType), W = S ? Jr(S.fieldType) : [], Z = W.length > 0, y = Array.isArray(S == null ? void 0 : S.options) ? S.options.map(vt) : [], _ = y.length > 0, Y = !["empty", "notEmpty"].includes(c.operator), te = ["greaterThan", "greaterThanOrEqual", "lessThan", "lessThanOrEqual"].includes(c.operator);
|
|
1492
1638
|
return /* @__PURE__ */ t.jsxs("div", { className: "p-3 bg-gray-50 border border-gray-200 rounded-lg space-y-2", children: [
|
|
1493
1639
|
/* @__PURE__ */ t.jsxs("div", { className: "flex items-center justify-between mb-2", children: [
|
|
1494
1640
|
/* @__PURE__ */ t.jsxs("span", { className: "text-xs font-semibold text-gray-500 uppercase tracking-wide", children: [
|
|
1495
1641
|
"Condition ",
|
|
1496
|
-
|
|
1642
|
+
w + 1
|
|
1497
1643
|
] }),
|
|
1498
1644
|
/* @__PURE__ */ t.jsx(
|
|
1499
1645
|
"button",
|
|
1500
1646
|
{
|
|
1501
1647
|
type: "button",
|
|
1502
|
-
onClick: () =>
|
|
1648
|
+
onClick: () => D(w),
|
|
1503
1649
|
className: "text-gray-400 hover:text-red-600 transition-colors",
|
|
1504
1650
|
title: "Remove condition",
|
|
1505
|
-
disabled:
|
|
1651
|
+
disabled: V,
|
|
1506
1652
|
children: /* @__PURE__ */ t.jsx(ye, { className: "w-4 h-4" })
|
|
1507
1653
|
}
|
|
1508
1654
|
)
|
|
@@ -1514,16 +1660,39 @@ function $r() {
|
|
|
1514
1660
|
"select",
|
|
1515
1661
|
{
|
|
1516
1662
|
className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:border-blue-400 focus:ring-1 focus:ring-blue-400 outline-none bg-white text-sm",
|
|
1517
|
-
value:
|
|
1518
|
-
onChange: (
|
|
1519
|
-
disabled:
|
|
1663
|
+
value: c.targetId,
|
|
1664
|
+
onChange: ($) => T(w, { targetId: $.target.value }),
|
|
1665
|
+
disabled: V,
|
|
1520
1666
|
children: [
|
|
1521
1667
|
/* @__PURE__ */ t.jsx("option", { value: "", children: "— Select field —" }),
|
|
1522
|
-
|
|
1668
|
+
N.map(($) => /* @__PURE__ */ t.jsx("option", { value: $.id, children: $.label }, $.id))
|
|
1523
1669
|
]
|
|
1524
1670
|
}
|
|
1525
1671
|
)
|
|
1526
1672
|
] }),
|
|
1673
|
+
Z && /* @__PURE__ */ t.jsxs("div", { children: [
|
|
1674
|
+
/* @__PURE__ */ t.jsx("label", { className: "block text-xs font-medium text-gray-600 mb-1", children: "Property (optional)" }),
|
|
1675
|
+
/* @__PURE__ */ t.jsxs(
|
|
1676
|
+
"select",
|
|
1677
|
+
{
|
|
1678
|
+
className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:border-blue-400 focus:ring-1 focus:ring-blue-400 outline-none bg-white text-sm",
|
|
1679
|
+
value: c.propertyAccessor || "",
|
|
1680
|
+
onChange: ($) => T(w, { propertyAccessor: $.target.value || void 0 }),
|
|
1681
|
+
disabled: V || !S,
|
|
1682
|
+
children: [
|
|
1683
|
+
/* @__PURE__ */ t.jsx("option", { value: "", children: "— Direct value —" }),
|
|
1684
|
+
W.map(($) => /* @__PURE__ */ t.jsxs("option", { value: $, children: [
|
|
1685
|
+
".",
|
|
1686
|
+
$,
|
|
1687
|
+
" (get ",
|
|
1688
|
+
$,
|
|
1689
|
+
")"
|
|
1690
|
+
] }, $))
|
|
1691
|
+
]
|
|
1692
|
+
}
|
|
1693
|
+
),
|
|
1694
|
+
/* @__PURE__ */ t.jsx("p", { className: "text-xs text-gray-500 mt-1", children: "Use .length or .count to compare the number of items" })
|
|
1695
|
+
] }),
|
|
1527
1696
|
/* @__PURE__ */ t.jsxs("div", { className: "grid grid-cols-2 gap-2", children: [
|
|
1528
1697
|
/* @__PURE__ */ t.jsxs("div", { children: [
|
|
1529
1698
|
/* @__PURE__ */ t.jsx("label", { className: "block text-xs font-medium text-gray-600 mb-1", children: "Operator" }),
|
|
@@ -1531,61 +1700,62 @@ function $r() {
|
|
|
1531
1700
|
"select",
|
|
1532
1701
|
{
|
|
1533
1702
|
className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:border-blue-400 focus:ring-1 focus:ring-blue-400 outline-none bg-white text-sm",
|
|
1534
|
-
value:
|
|
1535
|
-
onChange: (
|
|
1536
|
-
disabled:
|
|
1537
|
-
children: (
|
|
1703
|
+
value: c.operator,
|
|
1704
|
+
onChange: ($) => T(w, { operator: $.target.value }),
|
|
1705
|
+
disabled: V || !S,
|
|
1706
|
+
children: (S ? X : ["equals"]).map(($) => /* @__PURE__ */ t.jsx("option", { value: $, children: Br($) }, $))
|
|
1538
1707
|
}
|
|
1539
1708
|
)
|
|
1540
1709
|
] }),
|
|
1541
1710
|
/* @__PURE__ */ t.jsxs("div", { children: [
|
|
1542
1711
|
/* @__PURE__ */ t.jsx("label", { className: "block text-xs font-medium text-gray-600 mb-1", children: "Value" }),
|
|
1543
|
-
|
|
1712
|
+
Y ? _ && !c.propertyAccessor && !te ? /* @__PURE__ */ t.jsxs(
|
|
1544
1713
|
"select",
|
|
1545
1714
|
{
|
|
1546
1715
|
className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:border-blue-400 focus:ring-1 focus:ring-blue-400 outline-none bg-white text-sm",
|
|
1547
|
-
value:
|
|
1548
|
-
onChange: (
|
|
1549
|
-
disabled:
|
|
1716
|
+
value: c.value,
|
|
1717
|
+
onChange: ($) => T(w, { value: $.target.value }),
|
|
1718
|
+
disabled: V || !S,
|
|
1550
1719
|
children: [
|
|
1551
1720
|
/* @__PURE__ */ t.jsx("option", { value: "", children: "— Select option —" }),
|
|
1552
|
-
|
|
1721
|
+
y.map(($) => /* @__PURE__ */ t.jsx("option", { value: $.id, children: $.value }, $.id))
|
|
1553
1722
|
]
|
|
1554
1723
|
}
|
|
1555
1724
|
) : /* @__PURE__ */ t.jsx(
|
|
1556
1725
|
"input",
|
|
1557
1726
|
{
|
|
1558
1727
|
className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:border-blue-400 focus:ring-1 focus:ring-blue-400 outline-none text-sm",
|
|
1559
|
-
placeholder: "Enter value",
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1728
|
+
placeholder: c.propertyAccessor || te ? "Enter number" : "Enter value",
|
|
1729
|
+
type: c.propertyAccessor || te ? "number" : "text",
|
|
1730
|
+
value: c.value,
|
|
1731
|
+
onChange: ($) => T(w, { value: $.target.value }),
|
|
1732
|
+
disabled: V || !S
|
|
1563
1733
|
}
|
|
1564
|
-
)
|
|
1734
|
+
) : /* @__PURE__ */ t.jsx("div", { className: "w-full px-3 py-2 border border-gray-200 rounded-lg bg-gray-100 text-sm text-gray-500 flex items-center", children: "(no value needed)" })
|
|
1565
1735
|
] })
|
|
1566
1736
|
] })
|
|
1567
1737
|
] })
|
|
1568
|
-
] },
|
|
1738
|
+
] }, w);
|
|
1569
1739
|
}) })
|
|
1570
1740
|
] })
|
|
1571
1741
|
] });
|
|
1572
1742
|
}
|
|
1573
|
-
function
|
|
1574
|
-
const e =
|
|
1743
|
+
function xt() {
|
|
1744
|
+
const e = ie(), r = ae(
|
|
1575
1745
|
m.useCallback(
|
|
1576
|
-
(
|
|
1746
|
+
(l) => e.selectedFieldId.value ? l.byId[e.selectedFieldId.value] : null,
|
|
1577
1747
|
[e.selectedFieldId.value]
|
|
1578
1748
|
)
|
|
1579
|
-
), [
|
|
1580
|
-
(
|
|
1581
|
-
e.selectedChildId.set(
|
|
1749
|
+
), [n, a] = m.useState("EDIT"), o = m.useCallback(
|
|
1750
|
+
(l, u) => {
|
|
1751
|
+
e.selectedChildId.set(l, u);
|
|
1582
1752
|
},
|
|
1583
1753
|
[e.selectedChildId.set]
|
|
1584
1754
|
);
|
|
1585
1755
|
if (m.useEffect(() => {
|
|
1586
|
-
e.selectedChildId.set(null, null),
|
|
1756
|
+
e.selectedChildId.set(null, null), a("EDIT");
|
|
1587
1757
|
}, [e.selectedFieldId.value]), e.state.isPreview) return null;
|
|
1588
|
-
const
|
|
1758
|
+
const i = !r, h = (r == null ? void 0 : r.fieldType) === "section";
|
|
1589
1759
|
return /* @__PURE__ */ t.jsxs(
|
|
1590
1760
|
"div",
|
|
1591
1761
|
{
|
|
@@ -1596,10 +1766,10 @@ function gt() {
|
|
|
1596
1766
|
"button",
|
|
1597
1767
|
{
|
|
1598
1768
|
type: "button",
|
|
1599
|
-
onClick: () =>
|
|
1600
|
-
className: `flex-1 flex items-center justify-center gap-2 px-3 py-2 rounded-lg text-xs font-medium transition-colors ${
|
|
1769
|
+
onClick: () => a("EDIT"),
|
|
1770
|
+
className: `flex-1 flex items-center justify-center gap-2 px-3 py-2 rounded-lg text-xs font-medium transition-colors ${n === "EDIT" ? "bg-white text-slate-900 shadow-sm" : "text-slate-600 hover:text-slate-900"}`,
|
|
1601
1771
|
children: [
|
|
1602
|
-
/* @__PURE__ */ t.jsx(
|
|
1772
|
+
/* @__PURE__ */ t.jsx(Or, { className: "w-4 h-4" }),
|
|
1603
1773
|
/* @__PURE__ */ t.jsx("span", { children: "Edit" })
|
|
1604
1774
|
]
|
|
1605
1775
|
}
|
|
@@ -1608,68 +1778,68 @@ function gt() {
|
|
|
1608
1778
|
"button",
|
|
1609
1779
|
{
|
|
1610
1780
|
type: "button",
|
|
1611
|
-
onClick: () =>
|
|
1612
|
-
className: `flex-1 flex items-center justify-center gap-2 px-3 py-2 rounded-lg text-xs font-medium transition-colors ${
|
|
1781
|
+
onClick: () => a("LOGIC"),
|
|
1782
|
+
className: `flex-1 flex items-center justify-center gap-2 px-3 py-2 rounded-lg text-xs font-medium transition-colors ${n === "LOGIC" ? "bg-white text-slate-900 shadow-sm" : "text-slate-600 hover:text-slate-900"}`,
|
|
1613
1783
|
children: [
|
|
1614
|
-
/* @__PURE__ */ t.jsx(
|
|
1784
|
+
/* @__PURE__ */ t.jsx(Tr, { className: "w-4 h-4" }),
|
|
1615
1785
|
/* @__PURE__ */ t.jsx("span", { children: "Logic" })
|
|
1616
1786
|
]
|
|
1617
1787
|
}
|
|
1618
1788
|
)
|
|
1619
1789
|
] }) }),
|
|
1620
1790
|
/* @__PURE__ */ t.jsxs("div", { className: "p-4", children: [
|
|
1621
|
-
|
|
1622
|
-
!
|
|
1623
|
-
!
|
|
1624
|
-
|
|
1625
|
-
|
|
1791
|
+
i && /* @__PURE__ */ t.jsx("div", { className: "edit-panel-empty text-gray-600", children: /* @__PURE__ */ t.jsx("p", { children: "Select a field in the center panel to edit its properties." }) }),
|
|
1792
|
+
!i && n === "EDIT" && /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
|
|
1793
|
+
!h && /* @__PURE__ */ t.jsx(Hr, { f: r }),
|
|
1794
|
+
h && /* @__PURE__ */ t.jsx(
|
|
1795
|
+
Yr,
|
|
1626
1796
|
{
|
|
1627
1797
|
section: r,
|
|
1628
|
-
onActiveChildChange:
|
|
1798
|
+
onActiveChildChange: o
|
|
1629
1799
|
}
|
|
1630
1800
|
)
|
|
1631
1801
|
] }),
|
|
1632
|
-
!
|
|
1802
|
+
!i && n === "LOGIC" && /* @__PURE__ */ t.jsx(Kr, {})
|
|
1633
1803
|
] })
|
|
1634
1804
|
]
|
|
1635
1805
|
}
|
|
1636
1806
|
);
|
|
1637
1807
|
}
|
|
1638
|
-
function
|
|
1639
|
-
const e =
|
|
1808
|
+
function Gr() {
|
|
1809
|
+
const e = ie(), { fields: r } = Sr(e.state.isPreview), n = Ir((l) => l.hideUnsupportedFields), a = ae((l) => l.order), o = m.useRef(null), i = m.useRef(0), h = Be(() => (n ? r.filter((u) => u.fieldType !== "unsupported") : r).map((u) => u.id), [r, n]);
|
|
1640
1810
|
return m.useEffect(() => {
|
|
1641
|
-
var
|
|
1811
|
+
var l;
|
|
1642
1812
|
if (!e.state.isPreview) {
|
|
1643
|
-
if (
|
|
1644
|
-
const u =
|
|
1645
|
-
|
|
1813
|
+
if (a.length > i.current) {
|
|
1814
|
+
const u = a[a.length - 1], p = (l = o.current) == null ? void 0 : l.querySelector(`[data-field-id="${u}"]`);
|
|
1815
|
+
p && (p.scrollIntoView({ behavior: "smooth", block: "nearest" }), e.selectedFieldId.set(u));
|
|
1646
1816
|
}
|
|
1647
|
-
|
|
1817
|
+
i.current = a.length;
|
|
1648
1818
|
}
|
|
1649
|
-
}, [
|
|
1819
|
+
}, [a, e.selectedFieldId, e.state.isPreview]), /* @__PURE__ */ t.jsx(
|
|
1650
1820
|
"div",
|
|
1651
1821
|
{
|
|
1652
|
-
ref:
|
|
1822
|
+
ref: o,
|
|
1653
1823
|
className: `form-builder-main
|
|
1654
1824
|
${e.state.isPreview ? "max-w-4xl" : "max-w-xl"}
|
|
1655
1825
|
mx-auto rounded-lg overflow-y-auto max-h-[calc(100svh-13rem)] lg:max-h-[calc(100dvh-11rem)] custom-scrollbar lg:pr-2`,
|
|
1656
1826
|
onClick: () => !e.state.isPreview && e.selectedFieldId.clear(),
|
|
1657
|
-
children:
|
|
1827
|
+
children: h.length === 0 ? /* @__PURE__ */ t.jsx(Qr, {}) : h.map((l) => /* @__PURE__ */ t.jsx(Xr, { id: l }, l))
|
|
1658
1828
|
}
|
|
1659
1829
|
);
|
|
1660
1830
|
}
|
|
1661
|
-
const
|
|
1662
|
-
const
|
|
1663
|
-
if (!
|
|
1664
|
-
const
|
|
1665
|
-
return
|
|
1831
|
+
const Xr = m.memo(function({ id: r }) {
|
|
1832
|
+
const n = ae(m.useCallback((o) => o.byId[r], [r]));
|
|
1833
|
+
if (!n) return null;
|
|
1834
|
+
const a = Rr(n.fieldType);
|
|
1835
|
+
return a ? /* @__PURE__ */ t.jsx("div", { className: "mb-1.5", "data-field-type": n.fieldType, "data-field-id": n.id, children: /* @__PURE__ */ t.jsx(a, { field: n }) }) : null;
|
|
1666
1836
|
});
|
|
1667
|
-
function
|
|
1837
|
+
function Qr() {
|
|
1668
1838
|
return /* @__PURE__ */ t.jsxs(
|
|
1669
1839
|
"div",
|
|
1670
1840
|
{
|
|
1671
1841
|
className: `form-builder-empty-state flex flex-col\r
|
|
1672
|
-
items-center justify-center h-72 bg-
|
|
1842
|
+
items-center justify-center h-72 bg-linear-to-br from-gray-50 \r
|
|
1673
1843
|
to-gray-100 border-2 border-dashed border-blue-200 rounded-xl \r
|
|
1674
1844
|
shadow-md text-center px-8 py-10`,
|
|
1675
1845
|
children: [
|
|
@@ -1694,188 +1864,188 @@ function Ur() {
|
|
|
1694
1864
|
}
|
|
1695
1865
|
);
|
|
1696
1866
|
}
|
|
1697
|
-
function
|
|
1867
|
+
function yt(e, r) {
|
|
1698
1868
|
(r == null || r > e.length) && (r = e.length);
|
|
1699
|
-
for (var
|
|
1700
|
-
return
|
|
1869
|
+
for (var n = 0, a = Array(r); n < r; n++) a[n] = e[n];
|
|
1870
|
+
return a;
|
|
1701
1871
|
}
|
|
1702
|
-
function
|
|
1872
|
+
function Zr(e) {
|
|
1703
1873
|
if (Array.isArray(e)) return e;
|
|
1704
1874
|
}
|
|
1705
|
-
function
|
|
1706
|
-
return (r =
|
|
1707
|
-
value:
|
|
1875
|
+
function en(e, r, n) {
|
|
1876
|
+
return (r = ln(r)) in e ? Object.defineProperty(e, r, {
|
|
1877
|
+
value: n,
|
|
1708
1878
|
enumerable: !0,
|
|
1709
1879
|
configurable: !0,
|
|
1710
1880
|
writable: !0
|
|
1711
|
-
}) : e[r] =
|
|
1881
|
+
}) : e[r] = n, e;
|
|
1712
1882
|
}
|
|
1713
|
-
function
|
|
1714
|
-
var
|
|
1715
|
-
if (
|
|
1716
|
-
var
|
|
1883
|
+
function tn(e, r) {
|
|
1884
|
+
var n = e == null ? null : typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
|
|
1885
|
+
if (n != null) {
|
|
1886
|
+
var a, o, i, h, l = [], u = !0, p = !1;
|
|
1717
1887
|
try {
|
|
1718
|
-
if (
|
|
1888
|
+
if (i = (n = n.call(e)).next, r !== 0) for (; !(u = (a = i.call(n)).done) && (l.push(a.value), l.length !== r); u = !0) ;
|
|
1719
1889
|
} catch (v) {
|
|
1720
|
-
|
|
1890
|
+
p = !0, o = v;
|
|
1721
1891
|
} finally {
|
|
1722
1892
|
try {
|
|
1723
|
-
if (!u &&
|
|
1893
|
+
if (!u && n.return != null && (h = n.return(), Object(h) !== h)) return;
|
|
1724
1894
|
} finally {
|
|
1725
|
-
if (
|
|
1895
|
+
if (p) throw o;
|
|
1726
1896
|
}
|
|
1727
1897
|
}
|
|
1728
|
-
return
|
|
1898
|
+
return l;
|
|
1729
1899
|
}
|
|
1730
1900
|
}
|
|
1731
|
-
function
|
|
1901
|
+
function rn() {
|
|
1732
1902
|
throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
1733
1903
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
|
|
1734
1904
|
}
|
|
1735
|
-
function
|
|
1736
|
-
var
|
|
1905
|
+
function jt(e, r) {
|
|
1906
|
+
var n = Object.keys(e);
|
|
1737
1907
|
if (Object.getOwnPropertySymbols) {
|
|
1738
|
-
var
|
|
1739
|
-
r && (
|
|
1740
|
-
return Object.getOwnPropertyDescriptor(e,
|
|
1741
|
-
})),
|
|
1908
|
+
var a = Object.getOwnPropertySymbols(e);
|
|
1909
|
+
r && (a = a.filter(function(o) {
|
|
1910
|
+
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
1911
|
+
})), n.push.apply(n, a);
|
|
1742
1912
|
}
|
|
1743
|
-
return
|
|
1913
|
+
return n;
|
|
1744
1914
|
}
|
|
1745
|
-
function
|
|
1915
|
+
function wt(e) {
|
|
1746
1916
|
for (var r = 1; r < arguments.length; r++) {
|
|
1747
|
-
var
|
|
1748
|
-
r % 2 ?
|
|
1749
|
-
|
|
1750
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(
|
|
1751
|
-
Object.defineProperty(e,
|
|
1917
|
+
var n = arguments[r] != null ? arguments[r] : {};
|
|
1918
|
+
r % 2 ? jt(Object(n), !0).forEach(function(a) {
|
|
1919
|
+
en(e, a, n[a]);
|
|
1920
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : jt(Object(n)).forEach(function(a) {
|
|
1921
|
+
Object.defineProperty(e, a, Object.getOwnPropertyDescriptor(n, a));
|
|
1752
1922
|
});
|
|
1753
1923
|
}
|
|
1754
1924
|
return e;
|
|
1755
1925
|
}
|
|
1756
|
-
function
|
|
1926
|
+
function nn(e, r) {
|
|
1757
1927
|
if (e == null) return {};
|
|
1758
|
-
var
|
|
1928
|
+
var n, a, o = sn(e, r);
|
|
1759
1929
|
if (Object.getOwnPropertySymbols) {
|
|
1760
|
-
var
|
|
1761
|
-
for (
|
|
1930
|
+
var i = Object.getOwnPropertySymbols(e);
|
|
1931
|
+
for (a = 0; a < i.length; a++) n = i[a], r.indexOf(n) === -1 && {}.propertyIsEnumerable.call(e, n) && (o[n] = e[n]);
|
|
1762
1932
|
}
|
|
1763
|
-
return
|
|
1933
|
+
return o;
|
|
1764
1934
|
}
|
|
1765
|
-
function
|
|
1935
|
+
function sn(e, r) {
|
|
1766
1936
|
if (e == null) return {};
|
|
1767
|
-
var
|
|
1768
|
-
for (var
|
|
1769
|
-
if (r.indexOf(
|
|
1770
|
-
|
|
1937
|
+
var n = {};
|
|
1938
|
+
for (var a in e) if ({}.hasOwnProperty.call(e, a)) {
|
|
1939
|
+
if (r.indexOf(a) !== -1) continue;
|
|
1940
|
+
n[a] = e[a];
|
|
1771
1941
|
}
|
|
1772
|
-
return
|
|
1942
|
+
return n;
|
|
1773
1943
|
}
|
|
1774
|
-
function
|
|
1775
|
-
return
|
|
1944
|
+
function an(e, r) {
|
|
1945
|
+
return Zr(e) || tn(e, r) || cn(e, r) || rn();
|
|
1776
1946
|
}
|
|
1777
|
-
function
|
|
1947
|
+
function on(e, r) {
|
|
1778
1948
|
if (typeof e != "object" || !e) return e;
|
|
1779
|
-
var
|
|
1780
|
-
if (
|
|
1781
|
-
var
|
|
1782
|
-
if (typeof
|
|
1949
|
+
var n = e[Symbol.toPrimitive];
|
|
1950
|
+
if (n !== void 0) {
|
|
1951
|
+
var a = n.call(e, r);
|
|
1952
|
+
if (typeof a != "object") return a;
|
|
1783
1953
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
1784
1954
|
}
|
|
1785
1955
|
return (r === "string" ? String : Number)(e);
|
|
1786
1956
|
}
|
|
1787
|
-
function
|
|
1788
|
-
var r =
|
|
1957
|
+
function ln(e) {
|
|
1958
|
+
var r = on(e, "string");
|
|
1789
1959
|
return typeof r == "symbol" ? r : r + "";
|
|
1790
1960
|
}
|
|
1791
|
-
function
|
|
1961
|
+
function cn(e, r) {
|
|
1792
1962
|
if (e) {
|
|
1793
|
-
if (typeof e == "string") return
|
|
1794
|
-
var
|
|
1795
|
-
return
|
|
1963
|
+
if (typeof e == "string") return yt(e, r);
|
|
1964
|
+
var n = {}.toString.call(e).slice(8, -1);
|
|
1965
|
+
return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? yt(e, r) : void 0;
|
|
1796
1966
|
}
|
|
1797
1967
|
}
|
|
1798
|
-
function
|
|
1968
|
+
function un(e, r, n) {
|
|
1799
1969
|
return r in e ? Object.defineProperty(e, r, {
|
|
1800
|
-
value:
|
|
1970
|
+
value: n,
|
|
1801
1971
|
enumerable: !0,
|
|
1802
1972
|
configurable: !0,
|
|
1803
1973
|
writable: !0
|
|
1804
|
-
}) : e[r] =
|
|
1974
|
+
}) : e[r] = n, e;
|
|
1805
1975
|
}
|
|
1806
|
-
function
|
|
1807
|
-
var
|
|
1976
|
+
function Et(e, r) {
|
|
1977
|
+
var n = Object.keys(e);
|
|
1808
1978
|
if (Object.getOwnPropertySymbols) {
|
|
1809
|
-
var
|
|
1810
|
-
r && (
|
|
1811
|
-
return Object.getOwnPropertyDescriptor(e,
|
|
1812
|
-
})),
|
|
1979
|
+
var a = Object.getOwnPropertySymbols(e);
|
|
1980
|
+
r && (a = a.filter(function(o) {
|
|
1981
|
+
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
1982
|
+
})), n.push.apply(n, a);
|
|
1813
1983
|
}
|
|
1814
|
-
return
|
|
1984
|
+
return n;
|
|
1815
1985
|
}
|
|
1816
|
-
function
|
|
1986
|
+
function Ct(e) {
|
|
1817
1987
|
for (var r = 1; r < arguments.length; r++) {
|
|
1818
|
-
var
|
|
1819
|
-
r % 2 ?
|
|
1820
|
-
|
|
1821
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(
|
|
1822
|
-
Object.defineProperty(e,
|
|
1988
|
+
var n = arguments[r] != null ? arguments[r] : {};
|
|
1989
|
+
r % 2 ? Et(Object(n), !0).forEach(function(a) {
|
|
1990
|
+
un(e, a, n[a]);
|
|
1991
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : Et(Object(n)).forEach(function(a) {
|
|
1992
|
+
Object.defineProperty(e, a, Object.getOwnPropertyDescriptor(n, a));
|
|
1823
1993
|
});
|
|
1824
1994
|
}
|
|
1825
1995
|
return e;
|
|
1826
1996
|
}
|
|
1827
|
-
function
|
|
1828
|
-
for (var e = arguments.length, r = new Array(e),
|
|
1829
|
-
r[
|
|
1830
|
-
return function(
|
|
1831
|
-
return r.reduceRight(function(
|
|
1832
|
-
return
|
|
1833
|
-
},
|
|
1997
|
+
function dn() {
|
|
1998
|
+
for (var e = arguments.length, r = new Array(e), n = 0; n < e; n++)
|
|
1999
|
+
r[n] = arguments[n];
|
|
2000
|
+
return function(a) {
|
|
2001
|
+
return r.reduceRight(function(o, i) {
|
|
2002
|
+
return i(o);
|
|
2003
|
+
}, a);
|
|
1834
2004
|
};
|
|
1835
2005
|
}
|
|
1836
|
-
function
|
|
2006
|
+
function ve(e) {
|
|
1837
2007
|
return function r() {
|
|
1838
|
-
for (var
|
|
1839
|
-
|
|
1840
|
-
return
|
|
1841
|
-
for (var
|
|
1842
|
-
|
|
1843
|
-
return r.apply(
|
|
2008
|
+
for (var n = this, a = arguments.length, o = new Array(a), i = 0; i < a; i++)
|
|
2009
|
+
o[i] = arguments[i];
|
|
2010
|
+
return o.length >= e.length ? e.apply(this, o) : function() {
|
|
2011
|
+
for (var h = arguments.length, l = new Array(h), u = 0; u < h; u++)
|
|
2012
|
+
l[u] = arguments[u];
|
|
2013
|
+
return r.apply(n, [].concat(o, l));
|
|
1844
2014
|
};
|
|
1845
2015
|
};
|
|
1846
2016
|
}
|
|
1847
|
-
function
|
|
2017
|
+
function Me(e) {
|
|
1848
2018
|
return {}.toString.call(e).includes("Object");
|
|
1849
2019
|
}
|
|
1850
|
-
function
|
|
2020
|
+
function fn(e) {
|
|
1851
2021
|
return !Object.keys(e).length;
|
|
1852
2022
|
}
|
|
1853
2023
|
function je(e) {
|
|
1854
2024
|
return typeof e == "function";
|
|
1855
2025
|
}
|
|
1856
|
-
function
|
|
2026
|
+
function mn(e, r) {
|
|
1857
2027
|
return Object.prototype.hasOwnProperty.call(e, r);
|
|
1858
2028
|
}
|
|
1859
|
-
function
|
|
1860
|
-
return
|
|
1861
|
-
return !
|
|
1862
|
-
}) &&
|
|
2029
|
+
function hn(e, r) {
|
|
2030
|
+
return Me(r) || ce("changeType"), Object.keys(r).some(function(n) {
|
|
2031
|
+
return !mn(e, n);
|
|
2032
|
+
}) && ce("changeField"), r;
|
|
1863
2033
|
}
|
|
1864
|
-
function
|
|
1865
|
-
je(e) ||
|
|
2034
|
+
function pn(e) {
|
|
2035
|
+
je(e) || ce("selectorType");
|
|
1866
2036
|
}
|
|
1867
|
-
function
|
|
1868
|
-
je(e) ||
|
|
2037
|
+
function gn(e) {
|
|
2038
|
+
je(e) || Me(e) || ce("handlerType"), Me(e) && Object.values(e).some(function(r) {
|
|
1869
2039
|
return !je(r);
|
|
1870
|
-
}) &&
|
|
2040
|
+
}) && ce("handlersType");
|
|
1871
2041
|
}
|
|
1872
|
-
function
|
|
1873
|
-
e ||
|
|
2042
|
+
function bn(e) {
|
|
2043
|
+
e || ce("initialIsRequired"), Me(e) || ce("initialType"), fn(e) && ce("initialContent");
|
|
1874
2044
|
}
|
|
1875
|
-
function
|
|
2045
|
+
function vn(e, r) {
|
|
1876
2046
|
throw new Error(e[r] || e.default);
|
|
1877
2047
|
}
|
|
1878
|
-
var
|
|
2048
|
+
var xn = {
|
|
1879
2049
|
initialIsRequired: "initial state is required",
|
|
1880
2050
|
initialType: "initial state should be an object",
|
|
1881
2051
|
initialContent: "initial state shouldn't be an empty object",
|
|
@@ -1885,76 +2055,76 @@ var cn = {
|
|
|
1885
2055
|
changeType: "provided value of changes should be an object",
|
|
1886
2056
|
changeField: 'it seams you want to change a field in the state which is not specified in the "initial" state',
|
|
1887
2057
|
default: "an unknown error accured in `state-local` package"
|
|
1888
|
-
},
|
|
1889
|
-
changes:
|
|
1890
|
-
selector:
|
|
1891
|
-
handler:
|
|
1892
|
-
initial:
|
|
2058
|
+
}, ce = ve(vn)(xn), Ie = {
|
|
2059
|
+
changes: hn,
|
|
2060
|
+
selector: pn,
|
|
2061
|
+
handler: gn,
|
|
2062
|
+
initial: bn
|
|
1893
2063
|
};
|
|
1894
|
-
function
|
|
2064
|
+
function yn(e) {
|
|
1895
2065
|
var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
1896
2066
|
Ie.initial(e), Ie.handler(r);
|
|
1897
|
-
var
|
|
2067
|
+
var n = {
|
|
1898
2068
|
current: e
|
|
1899
|
-
},
|
|
1900
|
-
function
|
|
1901
|
-
var
|
|
2069
|
+
}, a = ve(En)(n, r), o = ve(wn)(n), i = ve(Ie.changes)(e), h = ve(jn)(n);
|
|
2070
|
+
function l() {
|
|
2071
|
+
var p = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function(v) {
|
|
1902
2072
|
return v;
|
|
1903
2073
|
};
|
|
1904
|
-
return Ie.selector(
|
|
2074
|
+
return Ie.selector(p), p(n.current);
|
|
1905
2075
|
}
|
|
1906
|
-
function u(
|
|
1907
|
-
|
|
2076
|
+
function u(p) {
|
|
2077
|
+
dn(a, o, i, h)(p);
|
|
1908
2078
|
}
|
|
1909
|
-
return [
|
|
2079
|
+
return [l, u];
|
|
1910
2080
|
}
|
|
1911
|
-
function
|
|
2081
|
+
function jn(e, r) {
|
|
1912
2082
|
return je(r) ? r(e.current) : r;
|
|
1913
2083
|
}
|
|
1914
|
-
function
|
|
1915
|
-
return e.current =
|
|
2084
|
+
function wn(e, r) {
|
|
2085
|
+
return e.current = Ct(Ct({}, e.current), r), r;
|
|
1916
2086
|
}
|
|
1917
|
-
function
|
|
1918
|
-
return je(r) ? r(e.current) : Object.keys(
|
|
1919
|
-
var
|
|
1920
|
-
return (
|
|
1921
|
-
}),
|
|
2087
|
+
function En(e, r, n) {
|
|
2088
|
+
return je(r) ? r(e.current) : Object.keys(n).forEach(function(a) {
|
|
2089
|
+
var o;
|
|
2090
|
+
return (o = r[a]) === null || o === void 0 ? void 0 : o.call(r, e.current[a]);
|
|
2091
|
+
}), n;
|
|
1922
2092
|
}
|
|
1923
|
-
var
|
|
1924
|
-
create:
|
|
1925
|
-
},
|
|
2093
|
+
var Cn = {
|
|
2094
|
+
create: yn
|
|
2095
|
+
}, Nn = {
|
|
1926
2096
|
paths: {
|
|
1927
2097
|
vs: "https://cdn.jsdelivr.net/npm/monaco-editor@0.54.0/min/vs"
|
|
1928
2098
|
}
|
|
1929
2099
|
};
|
|
1930
|
-
function
|
|
2100
|
+
function On(e) {
|
|
1931
2101
|
return function r() {
|
|
1932
|
-
for (var
|
|
1933
|
-
|
|
1934
|
-
return
|
|
1935
|
-
for (var
|
|
1936
|
-
|
|
1937
|
-
return r.apply(
|
|
2102
|
+
for (var n = this, a = arguments.length, o = new Array(a), i = 0; i < a; i++)
|
|
2103
|
+
o[i] = arguments[i];
|
|
2104
|
+
return o.length >= e.length ? e.apply(this, o) : function() {
|
|
2105
|
+
for (var h = arguments.length, l = new Array(h), u = 0; u < h; u++)
|
|
2106
|
+
l[u] = arguments[u];
|
|
2107
|
+
return r.apply(n, [].concat(o, l));
|
|
1938
2108
|
};
|
|
1939
2109
|
};
|
|
1940
2110
|
}
|
|
1941
|
-
function
|
|
2111
|
+
function Tn(e) {
|
|
1942
2112
|
return {}.toString.call(e).includes("Object");
|
|
1943
2113
|
}
|
|
1944
|
-
function
|
|
1945
|
-
return e ||
|
|
2114
|
+
function Sn(e) {
|
|
2115
|
+
return e || Nt("configIsRequired"), Tn(e) || Nt("configType"), e.urls ? (In(), {
|
|
1946
2116
|
paths: {
|
|
1947
2117
|
vs: e.urls.monacoBase
|
|
1948
2118
|
}
|
|
1949
2119
|
}) : e;
|
|
1950
2120
|
}
|
|
1951
|
-
function
|
|
1952
|
-
console.warn(
|
|
2121
|
+
function In() {
|
|
2122
|
+
console.warn(Pt.deprecation);
|
|
1953
2123
|
}
|
|
1954
|
-
function
|
|
2124
|
+
function Rn(e, r) {
|
|
1955
2125
|
throw new Error(e[r] || e.default);
|
|
1956
2126
|
}
|
|
1957
|
-
var
|
|
2127
|
+
var Pt = {
|
|
1958
2128
|
configIsRequired: "the configuration object is required",
|
|
1959
2129
|
configType: "the configuration object should be an object",
|
|
1960
2130
|
default: "an unknown error accured in `@monaco-editor/loader` package",
|
|
@@ -1968,372 +2138,434 @@ var Tt = {
|
|
|
1968
2138
|
|
|
1969
2139
|
For more please check the link https://github.com/suren-atoyan/monaco-loader#config
|
|
1970
2140
|
`
|
|
1971
|
-
},
|
|
1972
|
-
config:
|
|
1973
|
-
},
|
|
1974
|
-
for (var r = arguments.length,
|
|
1975
|
-
|
|
1976
|
-
return function(
|
|
1977
|
-
return
|
|
1978
|
-
return
|
|
1979
|
-
},
|
|
2141
|
+
}, Nt = On(Rn)(Pt), kn = {
|
|
2142
|
+
config: Sn
|
|
2143
|
+
}, Pn = function() {
|
|
2144
|
+
for (var r = arguments.length, n = new Array(r), a = 0; a < r; a++)
|
|
2145
|
+
n[a] = arguments[a];
|
|
2146
|
+
return function(o) {
|
|
2147
|
+
return n.reduceRight(function(i, h) {
|
|
2148
|
+
return h(i);
|
|
2149
|
+
}, o);
|
|
1980
2150
|
};
|
|
1981
2151
|
};
|
|
1982
|
-
function
|
|
1983
|
-
return Object.keys(r).forEach(function(
|
|
1984
|
-
r[
|
|
1985
|
-
}),
|
|
2152
|
+
function At(e, r) {
|
|
2153
|
+
return Object.keys(r).forEach(function(n) {
|
|
2154
|
+
r[n] instanceof Object && e[n] && Object.assign(r[n], At(e[n], r[n]));
|
|
2155
|
+
}), wt(wt({}, e), r);
|
|
1986
2156
|
}
|
|
1987
|
-
var
|
|
2157
|
+
var An = {
|
|
1988
2158
|
type: "cancelation",
|
|
1989
2159
|
msg: "operation is manually canceled"
|
|
1990
2160
|
};
|
|
1991
|
-
function
|
|
1992
|
-
var r = !1,
|
|
1993
|
-
e.then(function(
|
|
1994
|
-
return r ?
|
|
1995
|
-
}), e.catch(
|
|
2161
|
+
function He(e) {
|
|
2162
|
+
var r = !1, n = new Promise(function(a, o) {
|
|
2163
|
+
e.then(function(i) {
|
|
2164
|
+
return r ? o(An) : a(i);
|
|
2165
|
+
}), e.catch(o);
|
|
1996
2166
|
});
|
|
1997
|
-
return
|
|
2167
|
+
return n.cancel = function() {
|
|
1998
2168
|
return r = !0;
|
|
1999
|
-
},
|
|
2169
|
+
}, n;
|
|
2000
2170
|
}
|
|
2001
|
-
var
|
|
2002
|
-
config:
|
|
2171
|
+
var _n = ["monaco"], Mn = Cn.create({
|
|
2172
|
+
config: Nn,
|
|
2003
2173
|
isInitialized: !1,
|
|
2004
2174
|
resolve: null,
|
|
2005
2175
|
reject: null,
|
|
2006
2176
|
monaco: null
|
|
2007
|
-
}),
|
|
2008
|
-
function
|
|
2009
|
-
var r =
|
|
2010
|
-
|
|
2177
|
+
}), _t = an(Mn, 2), we = _t[0], Fe = _t[1];
|
|
2178
|
+
function Fn(e) {
|
|
2179
|
+
var r = kn.config(e), n = r.monaco, a = nn(r, _n);
|
|
2180
|
+
Fe(function(o) {
|
|
2011
2181
|
return {
|
|
2012
|
-
config:
|
|
2013
|
-
monaco:
|
|
2182
|
+
config: At(o.config, a),
|
|
2183
|
+
monaco: n
|
|
2014
2184
|
};
|
|
2015
2185
|
});
|
|
2016
2186
|
}
|
|
2017
|
-
function
|
|
2187
|
+
function Dn() {
|
|
2018
2188
|
var e = we(function(r) {
|
|
2019
|
-
var
|
|
2189
|
+
var n = r.monaco, a = r.isInitialized, o = r.resolve;
|
|
2020
2190
|
return {
|
|
2021
|
-
monaco:
|
|
2022
|
-
isInitialized:
|
|
2023
|
-
resolve:
|
|
2191
|
+
monaco: n,
|
|
2192
|
+
isInitialized: a,
|
|
2193
|
+
resolve: o
|
|
2024
2194
|
};
|
|
2025
2195
|
});
|
|
2026
2196
|
if (!e.isInitialized) {
|
|
2027
|
-
if (
|
|
2197
|
+
if (Fe({
|
|
2028
2198
|
isInitialized: !0
|
|
2029
2199
|
}), e.monaco)
|
|
2030
|
-
return e.resolve(e.monaco),
|
|
2200
|
+
return e.resolve(e.monaco), He(Ye);
|
|
2031
2201
|
if (window.monaco && window.monaco.editor)
|
|
2032
|
-
return
|
|
2033
|
-
|
|
2202
|
+
return Mt(window.monaco), e.resolve(window.monaco), He(Ye);
|
|
2203
|
+
Pn(Ln, qn)(Wn);
|
|
2034
2204
|
}
|
|
2035
|
-
return
|
|
2205
|
+
return He(Ye);
|
|
2036
2206
|
}
|
|
2037
|
-
function
|
|
2207
|
+
function Ln(e) {
|
|
2038
2208
|
return document.body.appendChild(e);
|
|
2039
2209
|
}
|
|
2040
|
-
function
|
|
2210
|
+
function $n(e) {
|
|
2041
2211
|
var r = document.createElement("script");
|
|
2042
2212
|
return e && (r.src = e), r;
|
|
2043
2213
|
}
|
|
2044
|
-
function
|
|
2045
|
-
var r = we(function(
|
|
2046
|
-
var
|
|
2214
|
+
function qn(e) {
|
|
2215
|
+
var r = we(function(a) {
|
|
2216
|
+
var o = a.config, i = a.reject;
|
|
2047
2217
|
return {
|
|
2048
|
-
config:
|
|
2049
|
-
reject:
|
|
2218
|
+
config: o,
|
|
2219
|
+
reject: i
|
|
2050
2220
|
};
|
|
2051
|
-
}),
|
|
2052
|
-
return
|
|
2221
|
+
}), n = $n("".concat(r.config.paths.vs, "/loader.js"));
|
|
2222
|
+
return n.onload = function() {
|
|
2053
2223
|
return e();
|
|
2054
|
-
},
|
|
2224
|
+
}, n.onerror = r.reject, n;
|
|
2055
2225
|
}
|
|
2056
|
-
function
|
|
2057
|
-
var e = we(function(
|
|
2058
|
-
var
|
|
2226
|
+
function Wn() {
|
|
2227
|
+
var e = we(function(n) {
|
|
2228
|
+
var a = n.config, o = n.resolve, i = n.reject;
|
|
2059
2229
|
return {
|
|
2060
|
-
config:
|
|
2061
|
-
resolve:
|
|
2062
|
-
reject:
|
|
2230
|
+
config: a,
|
|
2231
|
+
resolve: o,
|
|
2232
|
+
reject: i
|
|
2063
2233
|
};
|
|
2064
2234
|
}), r = window.require;
|
|
2065
|
-
r.config(e.config), r(["vs/editor/editor.main"], function(
|
|
2066
|
-
var
|
|
2067
|
-
|
|
2068
|
-
}, function(
|
|
2069
|
-
e.reject(
|
|
2235
|
+
r.config(e.config), r(["vs/editor/editor.main"], function(n) {
|
|
2236
|
+
var a = n.m;
|
|
2237
|
+
Mt(a), e.resolve(a);
|
|
2238
|
+
}, function(n) {
|
|
2239
|
+
e.reject(n);
|
|
2070
2240
|
});
|
|
2071
2241
|
}
|
|
2072
|
-
function
|
|
2073
|
-
we().monaco ||
|
|
2242
|
+
function Mt(e) {
|
|
2243
|
+
we().monaco || Fe({
|
|
2074
2244
|
monaco: e
|
|
2075
2245
|
});
|
|
2076
2246
|
}
|
|
2077
|
-
function
|
|
2247
|
+
function Vn() {
|
|
2078
2248
|
return we(function(e) {
|
|
2079
2249
|
var r = e.monaco;
|
|
2080
2250
|
return r;
|
|
2081
2251
|
});
|
|
2082
2252
|
}
|
|
2083
|
-
var
|
|
2084
|
-
return
|
|
2253
|
+
var Ye = new Promise(function(e, r) {
|
|
2254
|
+
return Fe({
|
|
2085
2255
|
resolve: e,
|
|
2086
2256
|
reject: r
|
|
2087
2257
|
});
|
|
2088
|
-
}),
|
|
2089
|
-
config:
|
|
2090
|
-
init:
|
|
2091
|
-
__getMonacoInstance:
|
|
2092
|
-
},
|
|
2093
|
-
function
|
|
2094
|
-
return m.createElement("div", { style:
|
|
2095
|
-
}
|
|
2096
|
-
var
|
|
2097
|
-
function
|
|
2098
|
-
return m.createElement("section", { style: { ...
|
|
2099
|
-
}
|
|
2100
|
-
var
|
|
2101
|
-
function
|
|
2102
|
-
|
|
2103
|
-
}
|
|
2104
|
-
var
|
|
2105
|
-
function
|
|
2106
|
-
let
|
|
2107
|
-
|
|
2108
|
-
|
|
2258
|
+
}), Ft = {
|
|
2259
|
+
config: Fn,
|
|
2260
|
+
init: Dn,
|
|
2261
|
+
__getMonacoInstance: Vn
|
|
2262
|
+
}, Un = { wrapper: { display: "flex", position: "relative", textAlign: "initial" }, fullWidth: { width: "100%" }, hide: { display: "none" } }, Je = Un, zn = { container: { display: "flex", height: "100%", width: "100%", justifyContent: "center", alignItems: "center" } }, Hn = zn;
|
|
2263
|
+
function Yn({ children: e }) {
|
|
2264
|
+
return m.createElement("div", { style: Hn.container }, e);
|
|
2265
|
+
}
|
|
2266
|
+
var Jn = Yn, Bn = Jn;
|
|
2267
|
+
function Kn({ width: e, height: r, isEditorReady: n, loading: a, _ref: o, className: i, wrapperProps: h }) {
|
|
2268
|
+
return m.createElement("section", { style: { ...Je.wrapper, width: e, height: r }, ...h }, !n && m.createElement(Bn, null, a), m.createElement("div", { ref: o, style: { ...Je.fullWidth, ...!n && Je.hide }, className: i }));
|
|
2269
|
+
}
|
|
2270
|
+
var Gn = Kn, Dt = Ge(Gn);
|
|
2271
|
+
function Xn(e) {
|
|
2272
|
+
le(e, []);
|
|
2273
|
+
}
|
|
2274
|
+
var Lt = Xn;
|
|
2275
|
+
function Qn(e, r, n = !0) {
|
|
2276
|
+
let a = Q(!0);
|
|
2277
|
+
le(a.current || !n ? () => {
|
|
2278
|
+
a.current = !1;
|
|
2109
2279
|
} : e, r);
|
|
2110
2280
|
}
|
|
2111
|
-
var
|
|
2112
|
-
function
|
|
2281
|
+
var ne = Qn;
|
|
2282
|
+
function xe() {
|
|
2113
2283
|
}
|
|
2114
|
-
function
|
|
2115
|
-
return
|
|
2284
|
+
function he(e, r, n, a) {
|
|
2285
|
+
return Zn(e, a) || es(e, r, n, a);
|
|
2116
2286
|
}
|
|
2117
|
-
function
|
|
2118
|
-
return e.editor.getModel(
|
|
2287
|
+
function Zn(e, r) {
|
|
2288
|
+
return e.editor.getModel($t(e, r));
|
|
2119
2289
|
}
|
|
2120
|
-
function
|
|
2121
|
-
return e.editor.createModel(r,
|
|
2290
|
+
function es(e, r, n, a) {
|
|
2291
|
+
return e.editor.createModel(r, n, a ? $t(e, a) : void 0);
|
|
2122
2292
|
}
|
|
2123
|
-
function
|
|
2293
|
+
function $t(e, r) {
|
|
2124
2294
|
return e.Uri.parse(r);
|
|
2125
2295
|
}
|
|
2126
|
-
function
|
|
2127
|
-
let [
|
|
2128
|
-
|
|
2129
|
-
let
|
|
2130
|
-
return
|
|
2131
|
-
}),
|
|
2132
|
-
if (
|
|
2133
|
-
let
|
|
2134
|
-
w !==
|
|
2135
|
-
}
|
|
2136
|
-
}, [
|
|
2137
|
-
if (
|
|
2138
|
-
let
|
|
2139
|
-
w !==
|
|
2140
|
-
}
|
|
2141
|
-
}, [
|
|
2142
|
-
let
|
|
2143
|
-
|
|
2144
|
-
}, [r],
|
|
2145
|
-
var
|
|
2146
|
-
(w = (
|
|
2147
|
-
}, [e],
|
|
2148
|
-
let { original:
|
|
2149
|
-
|
|
2150
|
-
}, [
|
|
2151
|
-
var
|
|
2152
|
-
(
|
|
2153
|
-
}, [
|
|
2154
|
-
var
|
|
2155
|
-
(
|
|
2156
|
-
}, [
|
|
2157
|
-
let
|
|
2158
|
-
var
|
|
2159
|
-
if (!
|
|
2160
|
-
|
|
2161
|
-
let
|
|
2162
|
-
(
|
|
2163
|
-
}, [
|
|
2164
|
-
var
|
|
2165
|
-
!
|
|
2166
|
-
}, [
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
}, [
|
|
2170
|
-
!
|
|
2171
|
-
}, [
|
|
2172
|
-
function
|
|
2173
|
-
var w,
|
|
2174
|
-
let
|
|
2175
|
-
|
|
2296
|
+
function ts({ original: e, modified: r, language: n, originalLanguage: a, modifiedLanguage: o, originalModelPath: i, modifiedModelPath: h, keepCurrentOriginalModel: l = !1, keepCurrentModifiedModel: u = !1, theme: p = "light", loading: v = "Loading...", options: x = {}, height: P = "100%", width: A = "100%", className: z, wrapperProps: E = {}, beforeMount: F = xe, onMount: R = xe }) {
|
|
2297
|
+
let [j, L] = Pe(!1), [I, f] = Pe(!0), C = Q(null), g = Q(null), D = Q(null), T = Q(R), N = Q(F), V = Q(!1);
|
|
2298
|
+
Lt(() => {
|
|
2299
|
+
let c = Ft.init();
|
|
2300
|
+
return c.then((w) => (g.current = w) && f(!1)).catch((w) => (w == null ? void 0 : w.type) !== "cancelation" && console.error("Monaco initialization: error:", w)), () => C.current ? B() : c.cancel();
|
|
2301
|
+
}), ne(() => {
|
|
2302
|
+
if (C.current && g.current) {
|
|
2303
|
+
let c = C.current.getOriginalEditor(), w = he(g.current, e || "", a || n || "text", i || "");
|
|
2304
|
+
w !== c.getModel() && c.setModel(w);
|
|
2305
|
+
}
|
|
2306
|
+
}, [i], j), ne(() => {
|
|
2307
|
+
if (C.current && g.current) {
|
|
2308
|
+
let c = C.current.getModifiedEditor(), w = he(g.current, r || "", o || n || "text", h || "");
|
|
2309
|
+
w !== c.getModel() && c.setModel(w);
|
|
2310
|
+
}
|
|
2311
|
+
}, [h], j), ne(() => {
|
|
2312
|
+
let c = C.current.getModifiedEditor();
|
|
2313
|
+
c.getOption(g.current.editor.EditorOption.readOnly) ? c.setValue(r || "") : r !== c.getValue() && (c.executeEdits("", [{ range: c.getModel().getFullModelRange(), text: r || "", forceMoveMarkers: !0 }]), c.pushUndoStop());
|
|
2314
|
+
}, [r], j), ne(() => {
|
|
2315
|
+
var c, w;
|
|
2316
|
+
(w = (c = C.current) == null ? void 0 : c.getModel()) == null || w.original.setValue(e || "");
|
|
2317
|
+
}, [e], j), ne(() => {
|
|
2318
|
+
let { original: c, modified: w } = C.current.getModel();
|
|
2319
|
+
g.current.editor.setModelLanguage(c, a || n || "text"), g.current.editor.setModelLanguage(w, o || n || "text");
|
|
2320
|
+
}, [n, a, o], j), ne(() => {
|
|
2321
|
+
var c;
|
|
2322
|
+
(c = g.current) == null || c.editor.setTheme(p);
|
|
2323
|
+
}, [p], j), ne(() => {
|
|
2324
|
+
var c;
|
|
2325
|
+
(c = C.current) == null || c.updateOptions(x);
|
|
2326
|
+
}, [x], j);
|
|
2327
|
+
let H = ke(() => {
|
|
2328
|
+
var S;
|
|
2329
|
+
if (!g.current) return;
|
|
2330
|
+
N.current(g.current);
|
|
2331
|
+
let c = he(g.current, e || "", a || n || "text", i || ""), w = he(g.current, r || "", o || n || "text", h || "");
|
|
2332
|
+
(S = C.current) == null || S.setModel({ original: c, modified: w });
|
|
2333
|
+
}, [n, r, o, e, a, i, h]), G = ke(() => {
|
|
2334
|
+
var c;
|
|
2335
|
+
!V.current && D.current && (C.current = g.current.editor.createDiffEditor(D.current, { automaticLayout: !0, ...x }), H(), (c = g.current) == null || c.editor.setTheme(p), L(!0), V.current = !0);
|
|
2336
|
+
}, [x, p, H]);
|
|
2337
|
+
le(() => {
|
|
2338
|
+
j && T.current(C.current, g.current);
|
|
2339
|
+
}, [j]), le(() => {
|
|
2340
|
+
!I && !j && G();
|
|
2341
|
+
}, [I, j, G]);
|
|
2342
|
+
function B() {
|
|
2343
|
+
var w, S, X, W;
|
|
2344
|
+
let c = (w = C.current) == null ? void 0 : w.getModel();
|
|
2345
|
+
l || ((S = c == null ? void 0 : c.original) == null || S.dispose()), u || ((X = c == null ? void 0 : c.modified) == null || X.dispose()), (W = C.current) == null || W.dispose();
|
|
2176
2346
|
}
|
|
2177
|
-
return m.createElement(
|
|
2347
|
+
return m.createElement(Dt, { width: A, height: P, isEditorReady: j, loading: v, _ref: D, className: z, wrapperProps: E });
|
|
2178
2348
|
}
|
|
2179
|
-
var
|
|
2180
|
-
|
|
2181
|
-
function
|
|
2182
|
-
let r =
|
|
2183
|
-
return
|
|
2349
|
+
var rs = ts;
|
|
2350
|
+
Ge(rs);
|
|
2351
|
+
function ns(e) {
|
|
2352
|
+
let r = Q();
|
|
2353
|
+
return le(() => {
|
|
2184
2354
|
r.current = e;
|
|
2185
2355
|
}, [e]), r.current;
|
|
2186
2356
|
}
|
|
2187
|
-
var
|
|
2188
|
-
function
|
|
2189
|
-
let [
|
|
2190
|
-
|
|
2191
|
-
let
|
|
2192
|
-
return
|
|
2193
|
-
}),
|
|
2194
|
-
var
|
|
2195
|
-
let
|
|
2196
|
-
|
|
2197
|
-
}, [
|
|
2198
|
-
var
|
|
2199
|
-
(
|
|
2200
|
-
}, [
|
|
2201
|
-
!
|
|
2202
|
-
}, [
|
|
2203
|
-
var
|
|
2204
|
-
let
|
|
2205
|
-
|
|
2206
|
-
}, [
|
|
2207
|
-
var
|
|
2208
|
-
|
|
2209
|
-
}, [
|
|
2210
|
-
var
|
|
2211
|
-
(
|
|
2212
|
-
}, [
|
|
2213
|
-
let
|
|
2214
|
-
var
|
|
2215
|
-
if (!(!
|
|
2216
|
-
G.current(
|
|
2217
|
-
let
|
|
2218
|
-
|
|
2219
|
-
}
|
|
2220
|
-
}, [e, r,
|
|
2221
|
-
|
|
2222
|
-
|
|
2223
|
-
}, [
|
|
2224
|
-
!
|
|
2225
|
-
}, [
|
|
2226
|
-
var
|
|
2227
|
-
|
|
2228
|
-
|
|
2357
|
+
var ss = ns, Re = /* @__PURE__ */ new Map();
|
|
2358
|
+
function as({ defaultValue: e, defaultLanguage: r, defaultPath: n, value: a, language: o, path: i, theme: h = "light", line: l, loading: u = "Loading...", options: p = {}, overrideServices: v = {}, saveViewState: x = !0, keepCurrentModel: P = !1, width: A = "100%", height: z = "100%", className: E, wrapperProps: F = {}, beforeMount: R = xe, onMount: j = xe, onChange: L, onValidate: I = xe }) {
|
|
2359
|
+
let [f, C] = Pe(!1), [g, D] = Pe(!0), T = Q(null), N = Q(null), V = Q(null), H = Q(j), G = Q(R), B = Q(), c = Q(a), w = ss(i), S = Q(!1), X = Q(!1);
|
|
2360
|
+
Lt(() => {
|
|
2361
|
+
let y = Ft.init();
|
|
2362
|
+
return y.then((_) => (T.current = _) && D(!1)).catch((_) => (_ == null ? void 0 : _.type) !== "cancelation" && console.error("Monaco initialization: error:", _)), () => N.current ? Z() : y.cancel();
|
|
2363
|
+
}), ne(() => {
|
|
2364
|
+
var _, Y, oe, te;
|
|
2365
|
+
let y = he(T.current, e || a || "", r || o || "", i || n || "");
|
|
2366
|
+
y !== ((_ = N.current) == null ? void 0 : _.getModel()) && (x && Re.set(w, (Y = N.current) == null ? void 0 : Y.saveViewState()), (oe = N.current) == null || oe.setModel(y), x && ((te = N.current) == null || te.restoreViewState(Re.get(i))));
|
|
2367
|
+
}, [i], f), ne(() => {
|
|
2368
|
+
var y;
|
|
2369
|
+
(y = N.current) == null || y.updateOptions(p);
|
|
2370
|
+
}, [p], f), ne(() => {
|
|
2371
|
+
!N.current || a === void 0 || (N.current.getOption(T.current.editor.EditorOption.readOnly) ? N.current.setValue(a) : a !== N.current.getValue() && (X.current = !0, N.current.executeEdits("", [{ range: N.current.getModel().getFullModelRange(), text: a, forceMoveMarkers: !0 }]), N.current.pushUndoStop(), X.current = !1));
|
|
2372
|
+
}, [a], f), ne(() => {
|
|
2373
|
+
var _, Y;
|
|
2374
|
+
let y = (_ = N.current) == null ? void 0 : _.getModel();
|
|
2375
|
+
y && o && ((Y = T.current) == null || Y.editor.setModelLanguage(y, o));
|
|
2376
|
+
}, [o], f), ne(() => {
|
|
2377
|
+
var y;
|
|
2378
|
+
l !== void 0 && ((y = N.current) == null || y.revealLine(l));
|
|
2379
|
+
}, [l], f), ne(() => {
|
|
2380
|
+
var y;
|
|
2381
|
+
(y = T.current) == null || y.editor.setTheme(h);
|
|
2382
|
+
}, [h], f);
|
|
2383
|
+
let W = ke(() => {
|
|
2384
|
+
var y;
|
|
2385
|
+
if (!(!V.current || !T.current) && !S.current) {
|
|
2386
|
+
G.current(T.current);
|
|
2387
|
+
let _ = i || n, Y = he(T.current, a || e || "", r || o || "", _ || "");
|
|
2388
|
+
N.current = (y = T.current) == null ? void 0 : y.editor.create(V.current, { model: Y, automaticLayout: !0, ...p }, v), x && N.current.restoreViewState(Re.get(_)), T.current.editor.setTheme(h), l !== void 0 && N.current.revealLine(l), C(!0), S.current = !0;
|
|
2389
|
+
}
|
|
2390
|
+
}, [e, r, n, a, o, i, p, v, x, h, l]);
|
|
2391
|
+
le(() => {
|
|
2392
|
+
f && H.current(N.current, T.current);
|
|
2393
|
+
}, [f]), le(() => {
|
|
2394
|
+
!g && !f && W();
|
|
2395
|
+
}, [g, f, W]), c.current = a, le(() => {
|
|
2396
|
+
var y, _;
|
|
2397
|
+
f && L && ((y = B.current) == null || y.dispose(), B.current = (_ = N.current) == null ? void 0 : _.onDidChangeModelContent((Y) => {
|
|
2398
|
+
X.current || L(N.current.getValue(), Y);
|
|
2229
2399
|
}));
|
|
2230
|
-
}, [
|
|
2231
|
-
if (
|
|
2232
|
-
let
|
|
2233
|
-
var
|
|
2234
|
-
let
|
|
2235
|
-
if (
|
|
2236
|
-
let
|
|
2237
|
-
|
|
2400
|
+
}, [f, L]), le(() => {
|
|
2401
|
+
if (f) {
|
|
2402
|
+
let y = T.current.editor.onDidChangeMarkers((_) => {
|
|
2403
|
+
var oe;
|
|
2404
|
+
let Y = (oe = N.current.getModel()) == null ? void 0 : oe.uri;
|
|
2405
|
+
if (Y && _.find((te) => te.path === Y.path)) {
|
|
2406
|
+
let te = T.current.editor.getModelMarkers({ resource: Y });
|
|
2407
|
+
I == null || I(te);
|
|
2238
2408
|
}
|
|
2239
2409
|
});
|
|
2240
2410
|
return () => {
|
|
2241
|
-
|
|
2411
|
+
y == null || y.dispose();
|
|
2242
2412
|
};
|
|
2243
2413
|
}
|
|
2244
2414
|
return () => {
|
|
2245
2415
|
};
|
|
2246
|
-
}, [
|
|
2247
|
-
function
|
|
2248
|
-
var
|
|
2249
|
-
(
|
|
2416
|
+
}, [f, I]);
|
|
2417
|
+
function Z() {
|
|
2418
|
+
var y, _;
|
|
2419
|
+
(y = B.current) == null || y.dispose(), P ? x && Re.set(i, N.current.saveViewState()) : (_ = N.current.getModel()) == null || _.dispose(), N.current.dispose();
|
|
2250
2420
|
}
|
|
2251
|
-
return m.createElement(
|
|
2421
|
+
return m.createElement(Dt, { width: A, height: z, isEditorReady: f, loading: u, _ref: V, className: E, wrapperProps: F });
|
|
2252
2422
|
}
|
|
2253
|
-
var
|
|
2254
|
-
function
|
|
2255
|
-
const e =
|
|
2423
|
+
var os = as, ls = Ge(os), is = ls;
|
|
2424
|
+
function cs() {
|
|
2425
|
+
const e = Ot(), r = ae((f) => f.replaceAll), n = ie(), { showAlert: a } = Tt(), o = m.useRef(null), i = m.useRef(""), h = m.useRef(null), l = m.useRef(!1), [u, p] = m.useState("yaml"), [v, x] = m.useState(640), [P, A] = m.useState(() => {
|
|
2256
2426
|
try {
|
|
2257
|
-
return
|
|
2427
|
+
return Te.dump(e, { indent: 2, lineWidth: -1 });
|
|
2258
2428
|
} catch {
|
|
2259
2429
|
return "";
|
|
2260
2430
|
}
|
|
2261
|
-
}), [
|
|
2431
|
+
}), [z, E] = m.useState("");
|
|
2432
|
+
m.useEffect(() => {
|
|
2433
|
+
n.setCodeEditorHasError(!1);
|
|
2434
|
+
}, []);
|
|
2435
|
+
const F = m.useCallback((f) => u === "json" ? JSON.parse(f) : Te.load(f), [u]), R = m.useCallback((f) => u === "json" ? JSON.stringify(f, null, 2) : Te.dump(f, { indent: 2, lineWidth: -1 }), [u]);
|
|
2262
2436
|
m.useEffect(() => {
|
|
2263
|
-
const
|
|
2437
|
+
const f = () => {
|
|
2264
2438
|
if (o.current) {
|
|
2265
|
-
const
|
|
2266
|
-
|
|
2439
|
+
const C = o.current.getBoundingClientRect().top, g = window.innerHeight - C - 20;
|
|
2440
|
+
x(Math.max(400, g));
|
|
2267
2441
|
}
|
|
2268
2442
|
};
|
|
2269
|
-
return
|
|
2443
|
+
return f(), window.addEventListener("resize", f), () => window.removeEventListener("resize", f);
|
|
2270
2444
|
}, []), m.useEffect(() => {
|
|
2445
|
+
if (!l.current)
|
|
2446
|
+
try {
|
|
2447
|
+
const f = R(e);
|
|
2448
|
+
A(f), i.current = f, E(""), n.setCodeEditorHasError(!1);
|
|
2449
|
+
} catch (f) {
|
|
2450
|
+
E(`Failed to serialize: ${f.message}`), n.setCodeEditorHasError(!0);
|
|
2451
|
+
}
|
|
2452
|
+
}, [e, R, n]);
|
|
2453
|
+
const j = (f) => {
|
|
2454
|
+
A(f || ""), i.current = f || "", l.current = !0;
|
|
2271
2455
|
try {
|
|
2272
|
-
const
|
|
2273
|
-
|
|
2274
|
-
} catch (j) {
|
|
2275
|
-
i(`Failed to serialize: ${j.message}`);
|
|
2276
|
-
}
|
|
2277
|
-
}, [e, a]);
|
|
2278
|
-
const A = (j) => {
|
|
2279
|
-
h(j || ""), i("");
|
|
2280
|
-
}, T = () => {
|
|
2281
|
-
try {
|
|
2282
|
-
let j;
|
|
2283
|
-
if (a === "json" ? j = JSON.parse(u) : j = pe.load(u), !j || typeof j != "object")
|
|
2456
|
+
const C = F(f || "{}");
|
|
2457
|
+
if (!C || typeof C != "object")
|
|
2284
2458
|
throw new Error("Invalid form data: must be an object");
|
|
2285
|
-
|
|
2286
|
-
} catch (
|
|
2287
|
-
|
|
2288
|
-
|
|
2289
|
-
|
|
2459
|
+
E(""), n.setCodeEditorHasError(!1);
|
|
2460
|
+
} catch (C) {
|
|
2461
|
+
const g = `Invalid ${u.toUpperCase()}: ${C.message}`;
|
|
2462
|
+
E(g), n.setCodeEditorHasError(!0);
|
|
2463
|
+
}
|
|
2464
|
+
}, L = (f) => {
|
|
2465
|
+
h.current = f, f.onDidPaste((C) => {
|
|
2466
|
+
const g = P, D = f.getModel().getValue();
|
|
2467
|
+
try {
|
|
2468
|
+
const T = F(D);
|
|
2469
|
+
if (T && typeof T == "object") {
|
|
2470
|
+
const { schemaType: N } = Ae(T);
|
|
2471
|
+
N === "surveyjs" && a(
|
|
2472
|
+
`This SurveyJS schema will be converted to MIE Forms format.
|
|
2473
|
+
|
|
2474
|
+
Do you want to proceed with the conversion?`,
|
|
2475
|
+
{
|
|
2476
|
+
title: "ℹ️ SurveyJS Schema Detected",
|
|
2477
|
+
confirmText: "Yes, Convert",
|
|
2478
|
+
cancelText: "No, Cancel Paste",
|
|
2479
|
+
onConfirm: () => {
|
|
2480
|
+
const { fields: V, conversionReport: H } = _e(T, N), G = {
|
|
2481
|
+
schemaType: T.schemaType || ze,
|
|
2482
|
+
...(H == null ? void 0 : H.surveyMetadata) || {},
|
|
2483
|
+
fields: V
|
|
2484
|
+
};
|
|
2485
|
+
r(G);
|
|
2486
|
+
const B = R(G);
|
|
2487
|
+
A(B), i.current = B, f.setValue(B), E(""), l.current = !1, H && (n.setConversionReport(H), setTimeout(() => {
|
|
2488
|
+
var w;
|
|
2489
|
+
const c = ((w = H == null ? void 0 : H.unsupportedFields) == null ? void 0 : w.length) || 0;
|
|
2490
|
+
a(
|
|
2491
|
+
`This schema has been converted to MIE Forms format.
|
|
2492
|
+
|
|
2493
|
+
Converted: ${(H == null ? void 0 : H.convertedFields) || 0} field(s)
|
|
2494
|
+
Unsupported: ${c} field(s)${c > 0 ? " ⚠️" : ""}
|
|
2495
|
+
|
|
2496
|
+
Please use MIE Forms schema inside of code editor for the best experience in the future.`,
|
|
2497
|
+
{ title: "ℹ️ SurveyJS Schema Detected" }
|
|
2498
|
+
);
|
|
2499
|
+
}, 100));
|
|
2500
|
+
},
|
|
2501
|
+
onCancel: () => {
|
|
2502
|
+
f.setValue(g), A(g), i.current = g;
|
|
2503
|
+
}
|
|
2504
|
+
}
|
|
2505
|
+
);
|
|
2506
|
+
}
|
|
2507
|
+
} catch {
|
|
2508
|
+
}
|
|
2509
|
+
});
|
|
2510
|
+
}, I = (f) => {
|
|
2290
2511
|
try {
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
i(`Cannot convert: ${E.message}`);
|
|
2512
|
+
const C = F(P), g = f === "json" ? JSON.stringify(C, null, 2) : Te.dump(C, { indent: 2, lineWidth: -1 });
|
|
2513
|
+
A(g), i.current = g, p(f), E(""), n.setCodeEditorHasError(!1);
|
|
2514
|
+
} catch (C) {
|
|
2515
|
+
E(`Cannot convert: ${C.message}`), n.setCodeEditorHasError(!0);
|
|
2296
2516
|
}
|
|
2297
2517
|
};
|
|
2298
|
-
return
|
|
2518
|
+
return m.useEffect(() => () => {
|
|
2519
|
+
var C;
|
|
2520
|
+
const f = (C = i.current) == null ? void 0 : C.trim();
|
|
2521
|
+
if (!f) {
|
|
2522
|
+
r({ schemaType: ze, fields: [] }), l.current = !1;
|
|
2523
|
+
return;
|
|
2524
|
+
}
|
|
2525
|
+
try {
|
|
2526
|
+
const g = F(f);
|
|
2527
|
+
if (!g || typeof g != "object" || JSON.stringify(e) === JSON.stringify(g)) return;
|
|
2528
|
+
const { schemaType: D } = Ae(g), { fields: T, conversionReport: N } = _e(g, D), V = {
|
|
2529
|
+
schemaType: g.schemaType || ze,
|
|
2530
|
+
...(N == null ? void 0 : N.surveyMetadata) || {},
|
|
2531
|
+
fields: T
|
|
2532
|
+
};
|
|
2533
|
+
N && n.setConversionReport(N), r(V), n.setCodeEditorHasError(!1), l.current = !1;
|
|
2534
|
+
} catch {
|
|
2535
|
+
}
|
|
2536
|
+
}, [F, r, n, e]), /* @__PURE__ */ t.jsxs("div", { ref: o, className: "code-editor-container flex flex-col bg-gray-50 max-w-7xl w-full", style: { height: `${v}px` }, children: [
|
|
2299
2537
|
/* @__PURE__ */ t.jsxs("div", { className: "code-editor-header flex items-center justify-between gap-3 p-4 bg-white border-b border-black/10", children: [
|
|
2300
2538
|
/* @__PURE__ */ t.jsx("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ t.jsxs("div", { className: "flex gap-1 rounded-lg border border-black/10 bg-black/5 p-1", children: [
|
|
2301
2539
|
/* @__PURE__ */ t.jsx(
|
|
2302
2540
|
"button",
|
|
2303
2541
|
{
|
|
2304
|
-
onClick: () =>
|
|
2305
|
-
className: `px-3 py-1 rounded-md text-sm font-medium transition-colors ${
|
|
2542
|
+
onClick: () => I("yaml"),
|
|
2543
|
+
className: `px-3 py-1 rounded-md text-sm font-medium transition-colors ${u === "yaml" ? "bg-white text-slate-900 shadow-sm" : "text-slate-600 hover:text-slate-900"}`,
|
|
2306
2544
|
children: "YAML"
|
|
2307
2545
|
}
|
|
2308
2546
|
),
|
|
2309
2547
|
/* @__PURE__ */ t.jsx(
|
|
2310
2548
|
"button",
|
|
2311
2549
|
{
|
|
2312
|
-
onClick: () =>
|
|
2313
|
-
className: `px-3 py-1 rounded-md text-sm font-medium transition-colors ${
|
|
2550
|
+
onClick: () => I("json"),
|
|
2551
|
+
className: `px-3 py-1 rounded-md text-sm font-medium transition-colors ${u === "json" ? "bg-white text-slate-900 shadow-sm" : "text-slate-600 hover:text-slate-900"}`,
|
|
2314
2552
|
children: "JSON"
|
|
2315
2553
|
}
|
|
2316
2554
|
)
|
|
2317
2555
|
] }) }),
|
|
2318
2556
|
/* @__PURE__ */ t.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
2319
|
-
|
|
2320
|
-
/* @__PURE__ */ t.jsx(
|
|
2321
|
-
"button",
|
|
2322
|
-
{
|
|
2323
|
-
onClick: T,
|
|
2324
|
-
className: "px-4 py-2 rounded-lg border border-black/15 bg-white hover:bg-black/5 text-sm font-medium transition-colors",
|
|
2325
|
-
children: "Apply Changes"
|
|
2326
|
-
}
|
|
2327
|
-
)
|
|
2557
|
+
/* @__PURE__ */ t.jsx("div", { className: "text-xs text-gray-500 px-3 py-1", children: "Auto-saves when switching tabs" }),
|
|
2558
|
+
z && /* @__PURE__ */ t.jsx("div", { className: "text-xs text-red-600 bg-red-50 px-3 py-1 rounded-lg", children: z })
|
|
2328
2559
|
] })
|
|
2329
2560
|
] }),
|
|
2330
2561
|
/* @__PURE__ */ t.jsx("div", { className: "code-editor-content flex-1 overflow-hidden", children: /* @__PURE__ */ t.jsx(
|
|
2331
|
-
|
|
2562
|
+
is,
|
|
2332
2563
|
{
|
|
2333
2564
|
height: "100%",
|
|
2334
|
-
language:
|
|
2335
|
-
value:
|
|
2336
|
-
onChange:
|
|
2565
|
+
language: u,
|
|
2566
|
+
value: P,
|
|
2567
|
+
onChange: j,
|
|
2568
|
+
onMount: L,
|
|
2337
2569
|
theme: "light",
|
|
2338
2570
|
options: {
|
|
2339
2571
|
minimap: { enabled: !1 },
|
|
@@ -2345,20 +2577,21 @@ function Zn() {
|
|
|
2345
2577
|
tabSize: 2,
|
|
2346
2578
|
automaticLayout: !0,
|
|
2347
2579
|
scrollBeyondLastLine: !1,
|
|
2348
|
-
padding: { top: 16 }
|
|
2580
|
+
padding: { top: 16 },
|
|
2581
|
+
contextmenu: !0
|
|
2349
2582
|
}
|
|
2350
2583
|
}
|
|
2351
2584
|
) })
|
|
2352
2585
|
] });
|
|
2353
2586
|
}
|
|
2354
|
-
function
|
|
2355
|
-
const r =
|
|
2587
|
+
function us({ selectedField: e }) {
|
|
2588
|
+
const r = ie(), [n, a] = m.useState(!1), o = r.state.isPreview, i = r.state.isCodeEditor, h = r.state.isEditModalOpen, l = r.state.panelResetKey, u = !o;
|
|
2356
2589
|
return /* @__PURE__ */ t.jsxs("div", { className: "layout-container w-full h-fit rounded-lg mt-2 md:mt-4 lg:mt-6", children: [
|
|
2357
|
-
|
|
2358
|
-
u && /* @__PURE__ */ t.jsx("div", { className: "layout-tool-panel hidden lg:block lg:w-72", children: /* @__PURE__ */ t.jsx(
|
|
2359
|
-
/* @__PURE__ */ t.jsx("div", { className: "layout-main-content flex-1 ", children: /* @__PURE__ */ t.jsx(
|
|
2360
|
-
u && /* @__PURE__ */ t.jsx("div", { className: "layout-edit-panel hidden lg:block lg:w-90 md:w-80", children: /* @__PURE__ */ t.jsx(
|
|
2361
|
-
u && /* @__PURE__ */ t.jsx("div", { className: "layout-mobile-modal lg:hidden", children:
|
|
2590
|
+
i ? /* @__PURE__ */ t.jsx("div", { className: "border border-gray-200 rounded-lg", children: /* @__PURE__ */ t.jsx(cs, {}) }) : /* @__PURE__ */ t.jsxs("div", { className: "layout-grid flex lg:gap-3 h-full", children: [
|
|
2591
|
+
u && /* @__PURE__ */ t.jsx("div", { className: "layout-tool-panel hidden lg:block lg:w-72", children: /* @__PURE__ */ t.jsx(gt, {}) }),
|
|
2592
|
+
/* @__PURE__ */ t.jsx("div", { className: "layout-main-content flex-1 min-w-0", children: /* @__PURE__ */ t.jsx(Gr, {}) }),
|
|
2593
|
+
u && /* @__PURE__ */ t.jsx("div", { className: "layout-edit-panel hidden lg:block lg:w-90 md:w-80", children: /* @__PURE__ */ t.jsx(xt, {}, l) }),
|
|
2594
|
+
u && /* @__PURE__ */ t.jsx("div", { className: "layout-mobile-modal lg:hidden", children: h && e && /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
|
|
2362
2595
|
/* @__PURE__ */ t.jsx(
|
|
2363
2596
|
"div",
|
|
2364
2597
|
{
|
|
@@ -2366,100 +2599,91 @@ function es({ selectedField: e }) {
|
|
|
2366
2599
|
onClick: () => r.modal.set(!1)
|
|
2367
2600
|
}
|
|
2368
2601
|
),
|
|
2369
|
-
/* @__PURE__ */ t.jsx("div", { className: "fixed bottom-0 left-0 right-0 z-50 bg-white rounded-t-2xl shadow-2xl max-h-[60vh] overflow-y-auto custom-scrollbar lg:hidden", children: /* @__PURE__ */ t.jsx("div", { className: "[&_.edit-panel-container]:overflow-visible [&_.edit-panel-container]:max-h-none", children: /* @__PURE__ */ t.jsx(
|
|
2602
|
+
/* @__PURE__ */ t.jsx("div", { className: "fixed bottom-0 left-0 right-0 z-50 bg-white rounded-t-2xl shadow-2xl max-h-[60vh] overflow-y-auto custom-scrollbar lg:hidden", children: /* @__PURE__ */ t.jsx("div", { className: "[&_.edit-panel-container]:overflow-visible [&_.edit-panel-container]:max-h-none", children: /* @__PURE__ */ t.jsx(xt, {}, l) }) })
|
|
2370
2603
|
] }) })
|
|
2371
2604
|
] }),
|
|
2372
|
-
u && !
|
|
2605
|
+
u && !i && /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
|
|
2373
2606
|
/* @__PURE__ */ t.jsx(
|
|
2374
2607
|
"button",
|
|
2375
2608
|
{
|
|
2376
|
-
onClick: () =>
|
|
2609
|
+
onClick: () => a(!n),
|
|
2377
2610
|
className: "lg:hidden fixed bottom-5 left-5 z-40 bg-blue-500 hover:bg-blue-600 text-white rounded-full w-12 h-12 flex items-center justify-center shadow-lg transition-all",
|
|
2378
2611
|
title: "Add field",
|
|
2379
2612
|
children: /* @__PURE__ */ t.jsx("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ t.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 4v16m8-8H4" }) })
|
|
2380
2613
|
}
|
|
2381
2614
|
),
|
|
2382
|
-
|
|
2615
|
+
n && /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
|
|
2383
2616
|
/* @__PURE__ */ t.jsx(
|
|
2384
2617
|
"div",
|
|
2385
2618
|
{
|
|
2386
2619
|
className: "fixed inset-0 z-40 bg-black/30 lg:hidden",
|
|
2387
|
-
onClick: () =>
|
|
2620
|
+
onClick: () => a(!1)
|
|
2388
2621
|
}
|
|
2389
2622
|
),
|
|
2390
|
-
/* @__PURE__ */ t.jsx("div", { className: "fixed bottom-0 left-0 right-0 z-50 bg-white rounded-t-2xl shadow-2xl max-h-[60vh] overflow-y-auto custom-scrollbar lg:hidden", children: /* @__PURE__ */ t.jsx(
|
|
2623
|
+
/* @__PURE__ */ t.jsx("div", { className: "fixed bottom-0 left-0 right-0 z-50 bg-white rounded-t-2xl shadow-2xl max-h-[60vh] overflow-y-auto custom-scrollbar lg:hidden", children: /* @__PURE__ */ t.jsx(gt, {}) })
|
|
2391
2624
|
] })
|
|
2392
2625
|
] })
|
|
2393
2626
|
] });
|
|
2394
2627
|
}
|
|
2395
|
-
|
|
2396
|
-
function rs(e, r = ts) {
|
|
2397
|
-
const s = m.useSyncExternalStore(
|
|
2398
|
-
e.subscribe,
|
|
2399
|
-
m.useCallback(() => r(e.getState()), [e, r]),
|
|
2400
|
-
m.useCallback(() => r(e.getInitialState()), [e, r])
|
|
2401
|
-
);
|
|
2402
|
-
return m.useDebugValue(s), s;
|
|
2403
|
-
}
|
|
2404
|
-
function ns({
|
|
2628
|
+
function ds({
|
|
2405
2629
|
initialFormData: e,
|
|
2406
2630
|
schemaType: r,
|
|
2407
|
-
onChange:
|
|
2408
|
-
className:
|
|
2409
|
-
showHeader:
|
|
2410
|
-
startInPreview:
|
|
2411
|
-
hideUnsupportedFields:
|
|
2631
|
+
onChange: n,
|
|
2632
|
+
className: a = "",
|
|
2633
|
+
showHeader: o = !0,
|
|
2634
|
+
startInPreview: i = !1,
|
|
2635
|
+
hideUnsupportedFields: h = !1
|
|
2412
2636
|
}) {
|
|
2413
|
-
const [
|
|
2637
|
+
const [l, u] = m.useState("json"), p = ie(), v = m.useRef(!1), x = m.useContext(Xe);
|
|
2414
2638
|
m.useEffect(() => {
|
|
2415
|
-
var
|
|
2416
|
-
if (!(v.current || !
|
|
2639
|
+
var A;
|
|
2640
|
+
if (!(v.current || !x)) {
|
|
2417
2641
|
if (e)
|
|
2418
2642
|
try {
|
|
2419
|
-
const { data:
|
|
2420
|
-
|
|
2421
|
-
const
|
|
2422
|
-
schemaType:
|
|
2423
|
-
fields:
|
|
2643
|
+
const { data: z, schemaType: E } = Ae(e, r), F = _e(z, E);
|
|
2644
|
+
F.conversionReport && p.setConversionReport(F.conversionReport);
|
|
2645
|
+
const R = {
|
|
2646
|
+
schemaType: E === "surveyjs" ? "mieforms-v1.0" : z.schemaType || "mieforms-v1.0",
|
|
2647
|
+
fields: F.fields || []
|
|
2424
2648
|
};
|
|
2425
|
-
if (
|
|
2426
|
-
Object.assign(
|
|
2427
|
-
else if (
|
|
2428
|
-
const { fields:
|
|
2429
|
-
Object.keys(
|
|
2649
|
+
if (E === "surveyjs" && ((A = F.conversionReport) != null && A.surveyMetadata))
|
|
2650
|
+
Object.assign(R, F.conversionReport.surveyMetadata);
|
|
2651
|
+
else if (E === "mieforms") {
|
|
2652
|
+
const { fields: j, schemaType: L, ...I } = z;
|
|
2653
|
+
Object.keys(I).length > 0 && Object.assign(R, I);
|
|
2430
2654
|
}
|
|
2431
|
-
Array.isArray(
|
|
2655
|
+
Array.isArray(R.fields) && R.fields.length && x.getState().replaceAll(R);
|
|
2432
2656
|
} catch {
|
|
2433
|
-
|
|
2657
|
+
x.getState().replaceAll({ schemaType: "mieforms-v1.0", fields: [] });
|
|
2434
2658
|
}
|
|
2435
|
-
|
|
2436
|
-
}
|
|
2437
|
-
}, [e, r,
|
|
2438
|
-
|
|
2439
|
-
}, [
|
|
2440
|
-
if (!(!
|
|
2441
|
-
return
|
|
2442
|
-
|
|
2443
|
-
schemaType:
|
|
2444
|
-
...
|
|
2445
|
-
fields:
|
|
2659
|
+
p.preview.set(!!i), v.current = !0;
|
|
2660
|
+
}
|
|
2661
|
+
}, [e, r, i, p, x]), m.useEffect(() => {
|
|
2662
|
+
p.setHideUnsupportedFields(h);
|
|
2663
|
+
}, [h, p]), m.useEffect(() => {
|
|
2664
|
+
if (!(!n || !x))
|
|
2665
|
+
return x.subscribe((A) => {
|
|
2666
|
+
n({
|
|
2667
|
+
schemaType: A.schemaType || "mieforms-v1.0",
|
|
2668
|
+
...A.schemaMetadata,
|
|
2669
|
+
fields: A.order.map((z) => A.byId[z])
|
|
2446
2670
|
});
|
|
2447
2671
|
});
|
|
2448
|
-
}, [
|
|
2449
|
-
const
|
|
2450
|
-
|
|
2451
|
-
(
|
|
2672
|
+
}, [n, x]);
|
|
2673
|
+
const P = Mr(
|
|
2674
|
+
x,
|
|
2675
|
+
(A) => p.selectedFieldId.value ? A.byId[p.selectedFieldId.value] : null
|
|
2452
2676
|
);
|
|
2453
|
-
return /* @__PURE__ */ t.jsxs("div", { className: `qb-editor-root editor-container w-full max-w-7xl mx-auto bg-gray-100 font-titillium ${
|
|
2454
|
-
|
|
2455
|
-
/* @__PURE__ */ t.jsx(
|
|
2677
|
+
return /* @__PURE__ */ t.jsxs("div", { className: `qb-editor-root editor-container w-full max-w-7xl mx-auto bg-gray-100 font-titillium ${a}`, children: [
|
|
2678
|
+
o && /* @__PURE__ */ t.jsx($r, { codeFormat: l, onCodeFormatChange: u }),
|
|
2679
|
+
/* @__PURE__ */ t.jsx(us, { selectedField: P, codeFormat: l })
|
|
2456
2680
|
] });
|
|
2457
2681
|
}
|
|
2458
|
-
function
|
|
2459
|
-
const r = m.useRef(
|
|
2460
|
-
return /* @__PURE__ */ t.jsx(
|
|
2682
|
+
function gs(e) {
|
|
2683
|
+
const r = m.useRef(kr()).current, n = m.useRef(Pr()).current;
|
|
2684
|
+
return /* @__PURE__ */ t.jsx(Ar, { children: /* @__PURE__ */ t.jsx(Xe.Provider, { value: r, children: /* @__PURE__ */ t.jsx(_r.Provider, { value: n, children: /* @__PURE__ */ t.jsx(ds, { ...e }) }) }) });
|
|
2461
2685
|
}
|
|
2462
2686
|
export {
|
|
2463
|
-
|
|
2687
|
+
gs as QuestionnaireEditor
|
|
2464
2688
|
};
|
|
2465
2689
|
//# sourceMappingURL=index.js.map
|