@mieweb/forms-editor 1.0.2 → 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 +6 -6
- package/dist/index.js +1412 -1204
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
package/dist/index.js
CHANGED
|
@@ -5,16 +5,16 @@
|
|
|
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.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.\\!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-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-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-r {\n --tw-gradient-position: to right in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\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.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-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-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.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.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-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-\\[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-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-blue-400 {\n &:focus {\n --tw-ring-color: var(--color-blue-400);\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";
|
|
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
|
|
16
|
-
import { useStore as
|
|
17
|
-
var
|
|
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";
|
|
17
|
+
var Se = { exports: {} }, ge = {};
|
|
18
18
|
/**
|
|
19
19
|
* @license React
|
|
20
20
|
* react-jsx-runtime.production.min.js
|
|
@@ -24,19 +24,19 @@ var Ie = { exports: {} }, ge = {};
|
|
|
24
24
|
* This source code is licensed under the MIT license found in the
|
|
25
25
|
* LICENSE file in the root directory of this source tree.
|
|
26
26
|
*/
|
|
27
|
-
var
|
|
28
|
-
function
|
|
29
|
-
if (
|
|
30
|
-
|
|
31
|
-
var e = m, r = Symbol.for("react.element"),
|
|
32
|
-
function
|
|
33
|
-
var
|
|
34
|
-
|
|
35
|
-
for (
|
|
36
|
-
if (
|
|
37
|
-
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 };
|
|
38
38
|
}
|
|
39
|
-
return ge.Fragment =
|
|
39
|
+
return ge.Fragment = n, ge.jsx = h, ge.jsxs = h, ge;
|
|
40
40
|
}
|
|
41
41
|
var be = {};
|
|
42
42
|
/**
|
|
@@ -48,91 +48,91 @@ var be = {};
|
|
|
48
48
|
* This source code is licensed under the MIT license found in the
|
|
49
49
|
* LICENSE file in the root directory of this source tree.
|
|
50
50
|
*/
|
|
51
|
-
var
|
|
52
|
-
function
|
|
53
|
-
return
|
|
54
|
-
var e = m, r = Symbol.for("react.element"),
|
|
55
|
-
function
|
|
56
|
-
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")
|
|
57
57
|
return null;
|
|
58
|
-
var d =
|
|
58
|
+
var d = z && s[z] || s[E];
|
|
59
59
|
return typeof d == "function" ? d : null;
|
|
60
60
|
}
|
|
61
|
-
var
|
|
62
|
-
function
|
|
61
|
+
var R = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
|
|
62
|
+
function j(s) {
|
|
63
63
|
{
|
|
64
|
-
for (var d = arguments.length, b = new Array(d > 1 ? d - 1 : 0),
|
|
65
|
-
b[
|
|
66
|
-
|
|
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);
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
|
-
function
|
|
69
|
+
function L(s, d, b) {
|
|
70
70
|
{
|
|
71
|
-
var
|
|
72
|
-
|
|
73
|
-
var
|
|
74
|
-
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);
|
|
75
75
|
});
|
|
76
|
-
|
|
76
|
+
U.unshift("Warning: " + d), Function.prototype.apply.call(console[s], console, U);
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
|
-
var
|
|
80
|
-
|
|
81
|
-
function
|
|
82
|
-
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
|
|
83
83
|
// types supported by any Flight configuration anywhere since
|
|
84
84
|
// we don't know which Flight build this will end up being used
|
|
85
85
|
// with.
|
|
86
|
-
|
|
86
|
+
s.$$typeof === T || s.getModuleId !== void 0));
|
|
87
87
|
}
|
|
88
|
-
function
|
|
89
|
-
var
|
|
90
|
-
if (
|
|
91
|
-
return
|
|
92
|
-
var
|
|
93
|
-
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;
|
|
94
94
|
}
|
|
95
|
-
function
|
|
96
|
-
return
|
|
95
|
+
function H(s) {
|
|
96
|
+
return s.displayName || "Context";
|
|
97
97
|
}
|
|
98
|
-
function G(
|
|
99
|
-
if (
|
|
98
|
+
function G(s) {
|
|
99
|
+
if (s == null)
|
|
100
100
|
return null;
|
|
101
|
-
if (typeof
|
|
102
|
-
return
|
|
103
|
-
if (typeof
|
|
104
|
-
return
|
|
105
|
-
switch (
|
|
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
106
|
case a:
|
|
107
107
|
return "Fragment";
|
|
108
|
-
case
|
|
108
|
+
case n:
|
|
109
109
|
return "Portal";
|
|
110
|
-
case
|
|
110
|
+
case i:
|
|
111
111
|
return "Profiler";
|
|
112
112
|
case o:
|
|
113
113
|
return "StrictMode";
|
|
114
|
-
case
|
|
114
|
+
case p:
|
|
115
115
|
return "Suspense";
|
|
116
|
-
case
|
|
116
|
+
case v:
|
|
117
117
|
return "SuspenseList";
|
|
118
118
|
}
|
|
119
|
-
if (typeof
|
|
120
|
-
switch (
|
|
121
|
-
case
|
|
122
|
-
var d =
|
|
123
|
-
return
|
|
124
|
-
case
|
|
125
|
-
var b =
|
|
126
|
-
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";
|
|
127
127
|
case u:
|
|
128
|
-
return
|
|
129
|
-
case
|
|
130
|
-
var
|
|
131
|
-
return
|
|
132
|
-
case
|
|
133
|
-
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;
|
|
134
134
|
try {
|
|
135
|
-
return G(
|
|
135
|
+
return G(M(U));
|
|
136
136
|
} catch {
|
|
137
137
|
return null;
|
|
138
138
|
}
|
|
@@ -140,373 +140,373 @@ function Ar() {
|
|
|
140
140
|
}
|
|
141
141
|
return null;
|
|
142
142
|
}
|
|
143
|
-
var
|
|
144
|
-
function
|
|
143
|
+
var B = Object.assign, c = 0, w, S, X, W, Z, y, _;
|
|
144
|
+
function Y() {
|
|
145
145
|
}
|
|
146
|
-
|
|
147
|
-
function
|
|
146
|
+
Y.__reactDisabledLog = !0;
|
|
147
|
+
function oe() {
|
|
148
148
|
{
|
|
149
|
-
if (
|
|
150
|
-
w = console.log,
|
|
151
|
-
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 = {
|
|
152
152
|
configurable: !0,
|
|
153
153
|
enumerable: !0,
|
|
154
|
-
value:
|
|
154
|
+
value: Y,
|
|
155
155
|
writable: !0
|
|
156
156
|
};
|
|
157
157
|
Object.defineProperties(console, {
|
|
158
|
-
info:
|
|
159
|
-
log:
|
|
160
|
-
warn:
|
|
161
|
-
error:
|
|
162
|
-
group:
|
|
163
|
-
groupCollapsed:
|
|
164
|
-
groupEnd:
|
|
158
|
+
info: s,
|
|
159
|
+
log: s,
|
|
160
|
+
warn: s,
|
|
161
|
+
error: s,
|
|
162
|
+
group: s,
|
|
163
|
+
groupCollapsed: s,
|
|
164
|
+
groupEnd: s
|
|
165
165
|
});
|
|
166
166
|
}
|
|
167
|
-
|
|
167
|
+
c++;
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
|
-
function
|
|
170
|
+
function te() {
|
|
171
171
|
{
|
|
172
|
-
if (
|
|
173
|
-
var
|
|
172
|
+
if (c--, c === 0) {
|
|
173
|
+
var s = {
|
|
174
174
|
configurable: !0,
|
|
175
175
|
enumerable: !0,
|
|
176
176
|
writable: !0
|
|
177
177
|
};
|
|
178
178
|
Object.defineProperties(console, {
|
|
179
|
-
log:
|
|
179
|
+
log: B({}, s, {
|
|
180
180
|
value: w
|
|
181
181
|
}),
|
|
182
|
-
info:
|
|
183
|
-
value:
|
|
182
|
+
info: B({}, s, {
|
|
183
|
+
value: S
|
|
184
184
|
}),
|
|
185
|
-
warn:
|
|
186
|
-
value:
|
|
185
|
+
warn: B({}, s, {
|
|
186
|
+
value: X
|
|
187
187
|
}),
|
|
188
|
-
error:
|
|
189
|
-
value:
|
|
188
|
+
error: B({}, s, {
|
|
189
|
+
value: W
|
|
190
190
|
}),
|
|
191
|
-
group:
|
|
192
|
-
value:
|
|
191
|
+
group: B({}, s, {
|
|
192
|
+
value: Z
|
|
193
193
|
}),
|
|
194
|
-
groupCollapsed:
|
|
195
|
-
value:
|
|
194
|
+
groupCollapsed: B({}, s, {
|
|
195
|
+
value: y
|
|
196
196
|
}),
|
|
197
|
-
groupEnd:
|
|
198
|
-
value:
|
|
197
|
+
groupEnd: B({}, s, {
|
|
198
|
+
value: _
|
|
199
199
|
})
|
|
200
200
|
});
|
|
201
201
|
}
|
|
202
|
-
|
|
202
|
+
c < 0 && j("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
|
|
203
203
|
}
|
|
204
204
|
}
|
|
205
|
-
var
|
|
206
|
-
function
|
|
205
|
+
var $ = R.ReactCurrentDispatcher, De;
|
|
206
|
+
function Ee(s, d, b) {
|
|
207
207
|
{
|
|
208
|
-
if (
|
|
208
|
+
if (De === void 0)
|
|
209
209
|
try {
|
|
210
210
|
throw Error();
|
|
211
|
-
} catch (
|
|
212
|
-
var
|
|
213
|
-
|
|
211
|
+
} catch (q) {
|
|
212
|
+
var O = q.stack.trim().match(/\n( *(at )?)/);
|
|
213
|
+
De = O && O[1] || "";
|
|
214
214
|
}
|
|
215
215
|
return `
|
|
216
|
-
` +
|
|
216
|
+
` + De + s;
|
|
217
217
|
}
|
|
218
218
|
}
|
|
219
|
-
var
|
|
219
|
+
var Le = !1, Ce;
|
|
220
220
|
{
|
|
221
|
-
var
|
|
222
|
-
|
|
221
|
+
var qt = typeof WeakMap == "function" ? WeakMap : Map;
|
|
222
|
+
Ce = new qt();
|
|
223
223
|
}
|
|
224
|
-
function
|
|
225
|
-
if (!
|
|
224
|
+
function Qe(s, d) {
|
|
225
|
+
if (!s || Le)
|
|
226
226
|
return "";
|
|
227
227
|
{
|
|
228
|
-
var b =
|
|
228
|
+
var b = Ce.get(s);
|
|
229
229
|
if (b !== void 0)
|
|
230
230
|
return b;
|
|
231
231
|
}
|
|
232
|
-
var
|
|
233
|
-
|
|
234
|
-
var
|
|
232
|
+
var O;
|
|
233
|
+
Le = !0;
|
|
234
|
+
var q = Error.prepareStackTrace;
|
|
235
235
|
Error.prepareStackTrace = void 0;
|
|
236
|
-
var
|
|
237
|
-
|
|
236
|
+
var U;
|
|
237
|
+
U = $.current, $.current = null, oe();
|
|
238
238
|
try {
|
|
239
239
|
if (d) {
|
|
240
|
-
var
|
|
240
|
+
var M = function() {
|
|
241
241
|
throw Error();
|
|
242
242
|
};
|
|
243
|
-
if (Object.defineProperty(
|
|
243
|
+
if (Object.defineProperty(M.prototype, "props", {
|
|
244
244
|
set: function() {
|
|
245
245
|
throw Error();
|
|
246
246
|
}
|
|
247
247
|
}), typeof Reflect == "object" && Reflect.construct) {
|
|
248
248
|
try {
|
|
249
|
-
Reflect.construct(
|
|
250
|
-
} catch (
|
|
251
|
-
|
|
249
|
+
Reflect.construct(M, []);
|
|
250
|
+
} catch (re) {
|
|
251
|
+
O = re;
|
|
252
252
|
}
|
|
253
|
-
Reflect.construct(
|
|
253
|
+
Reflect.construct(s, [], M);
|
|
254
254
|
} else {
|
|
255
255
|
try {
|
|
256
|
-
|
|
257
|
-
} catch (
|
|
258
|
-
|
|
256
|
+
M.call();
|
|
257
|
+
} catch (re) {
|
|
258
|
+
O = re;
|
|
259
259
|
}
|
|
260
|
-
|
|
260
|
+
s.call(M.prototype);
|
|
261
261
|
}
|
|
262
262
|
} else {
|
|
263
263
|
try {
|
|
264
264
|
throw Error();
|
|
265
|
-
} catch (
|
|
266
|
-
|
|
265
|
+
} catch (re) {
|
|
266
|
+
O = re;
|
|
267
267
|
}
|
|
268
|
-
|
|
268
|
+
s();
|
|
269
269
|
}
|
|
270
|
-
} catch (
|
|
271
|
-
if (
|
|
272
|
-
for (var
|
|
273
|
-
`),
|
|
274
|
-
`),
|
|
275
|
-
|
|
276
|
-
for (;
|
|
277
|
-
if (
|
|
278
|
-
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)
|
|
279
279
|
do
|
|
280
|
-
if (
|
|
281
|
-
var
|
|
282
|
-
` +
|
|
283
|
-
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;
|
|
284
284
|
}
|
|
285
|
-
while (
|
|
285
|
+
while (J >= 1 && K >= 0);
|
|
286
286
|
break;
|
|
287
287
|
}
|
|
288
288
|
}
|
|
289
289
|
} finally {
|
|
290
|
-
|
|
290
|
+
Le = !1, $.current = U, te(), Error.prepareStackTrace = q;
|
|
291
291
|
}
|
|
292
|
-
var
|
|
293
|
-
return typeof
|
|
292
|
+
var me = s ? s.displayName || s.name : "", ue = me ? Ee(me) : "";
|
|
293
|
+
return typeof s == "function" && Ce.set(s, ue), ue;
|
|
294
294
|
}
|
|
295
|
-
function
|
|
296
|
-
return
|
|
295
|
+
function Wt(s, d, b) {
|
|
296
|
+
return Qe(s, !1);
|
|
297
297
|
}
|
|
298
|
-
function
|
|
299
|
-
var d =
|
|
298
|
+
function Vt(s) {
|
|
299
|
+
var d = s.prototype;
|
|
300
300
|
return !!(d && d.isReactComponent);
|
|
301
301
|
}
|
|
302
|
-
function Ne(
|
|
303
|
-
if (
|
|
302
|
+
function Ne(s, d, b) {
|
|
303
|
+
if (s == null)
|
|
304
304
|
return "";
|
|
305
|
-
if (typeof
|
|
306
|
-
return
|
|
307
|
-
if (typeof
|
|
308
|
-
return
|
|
309
|
-
switch (
|
|
310
|
-
case
|
|
311
|
-
return
|
|
312
|
-
case
|
|
313
|
-
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");
|
|
312
|
+
case v:
|
|
313
|
+
return Ee("SuspenseList");
|
|
314
314
|
}
|
|
315
|
-
if (typeof
|
|
316
|
-
switch (
|
|
315
|
+
if (typeof s == "object")
|
|
316
|
+
switch (s.$$typeof) {
|
|
317
317
|
case u:
|
|
318
|
-
return
|
|
319
|
-
case
|
|
320
|
-
return Ne(
|
|
321
|
-
case
|
|
322
|
-
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;
|
|
323
323
|
try {
|
|
324
|
-
return Ne(
|
|
324
|
+
return Ne(U(q), d, b);
|
|
325
325
|
} catch {
|
|
326
326
|
}
|
|
327
327
|
}
|
|
328
328
|
}
|
|
329
329
|
return "";
|
|
330
330
|
}
|
|
331
|
-
var
|
|
332
|
-
function Oe(
|
|
333
|
-
if (
|
|
334
|
-
var d =
|
|
335
|
-
|
|
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);
|
|
336
336
|
} else
|
|
337
|
-
|
|
337
|
+
et.setExtraStackFrame(null);
|
|
338
338
|
}
|
|
339
|
-
function
|
|
339
|
+
function Ut(s, d, b, O, q) {
|
|
340
340
|
{
|
|
341
|
-
var
|
|
342
|
-
for (var
|
|
343
|
-
if (
|
|
344
|
-
var
|
|
341
|
+
var U = Function.call.bind(pe);
|
|
342
|
+
for (var M in s)
|
|
343
|
+
if (U(s, M)) {
|
|
344
|
+
var k = void 0;
|
|
345
345
|
try {
|
|
346
|
-
if (typeof
|
|
347
|
-
var
|
|
348
|
-
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;
|
|
349
349
|
}
|
|
350
|
-
|
|
351
|
-
} catch (
|
|
352
|
-
|
|
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;
|
|
353
353
|
}
|
|
354
|
-
|
|
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));
|
|
355
355
|
}
|
|
356
356
|
}
|
|
357
357
|
}
|
|
358
|
-
var
|
|
359
|
-
function
|
|
360
|
-
return
|
|
358
|
+
var zt = Array.isArray;
|
|
359
|
+
function $e(s) {
|
|
360
|
+
return zt(s);
|
|
361
361
|
}
|
|
362
|
-
function
|
|
362
|
+
function Ht(s) {
|
|
363
363
|
{
|
|
364
|
-
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";
|
|
365
365
|
return b;
|
|
366
366
|
}
|
|
367
367
|
}
|
|
368
|
-
function
|
|
368
|
+
function Yt(s) {
|
|
369
369
|
try {
|
|
370
|
-
return
|
|
370
|
+
return tt(s), !1;
|
|
371
371
|
} catch {
|
|
372
372
|
return !0;
|
|
373
373
|
}
|
|
374
374
|
}
|
|
375
|
-
function
|
|
376
|
-
return "" +
|
|
375
|
+
function tt(s) {
|
|
376
|
+
return "" + s;
|
|
377
377
|
}
|
|
378
|
-
function
|
|
379
|
-
if (
|
|
380
|
-
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);
|
|
381
381
|
}
|
|
382
|
-
var
|
|
382
|
+
var nt = R.ReactCurrentOwner, Jt = {
|
|
383
383
|
key: !0,
|
|
384
384
|
ref: !0,
|
|
385
385
|
__self: !0,
|
|
386
386
|
__source: !0
|
|
387
|
-
},
|
|
388
|
-
function
|
|
389
|
-
if (
|
|
390
|
-
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;
|
|
391
391
|
if (d && d.isReactWarning)
|
|
392
392
|
return !1;
|
|
393
393
|
}
|
|
394
|
-
return
|
|
394
|
+
return s.ref !== void 0;
|
|
395
395
|
}
|
|
396
|
-
function
|
|
397
|
-
if (
|
|
398
|
-
var d = Object.getOwnPropertyDescriptor(
|
|
396
|
+
function Kt(s) {
|
|
397
|
+
if (pe.call(s, "key")) {
|
|
398
|
+
var d = Object.getOwnPropertyDescriptor(s, "key").get;
|
|
399
399
|
if (d && d.isReactWarning)
|
|
400
400
|
return !1;
|
|
401
401
|
}
|
|
402
|
-
return
|
|
402
|
+
return s.key !== void 0;
|
|
403
403
|
}
|
|
404
|
-
function
|
|
405
|
-
typeof
|
|
404
|
+
function Gt(s, d) {
|
|
405
|
+
typeof s.ref == "string" && nt.current;
|
|
406
406
|
}
|
|
407
|
-
function
|
|
407
|
+
function Xt(s, d) {
|
|
408
408
|
{
|
|
409
409
|
var b = function() {
|
|
410
|
-
|
|
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));
|
|
411
411
|
};
|
|
412
|
-
b.isReactWarning = !0, Object.defineProperty(
|
|
412
|
+
b.isReactWarning = !0, Object.defineProperty(s, "key", {
|
|
413
413
|
get: b,
|
|
414
414
|
configurable: !0
|
|
415
415
|
});
|
|
416
416
|
}
|
|
417
417
|
}
|
|
418
|
-
function
|
|
418
|
+
function Qt(s, d) {
|
|
419
419
|
{
|
|
420
420
|
var b = function() {
|
|
421
|
-
|
|
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));
|
|
422
422
|
};
|
|
423
|
-
b.isReactWarning = !0, Object.defineProperty(
|
|
423
|
+
b.isReactWarning = !0, Object.defineProperty(s, "ref", {
|
|
424
424
|
get: b,
|
|
425
425
|
configurable: !0
|
|
426
426
|
});
|
|
427
427
|
}
|
|
428
428
|
}
|
|
429
|
-
var
|
|
430
|
-
var
|
|
429
|
+
var Zt = function(s, d, b, O, q, U, M) {
|
|
430
|
+
var k = {
|
|
431
431
|
// This tag allows us to uniquely identify this as a React Element
|
|
432
432
|
$$typeof: r,
|
|
433
433
|
// Built-in properties that belong on the element
|
|
434
|
-
type:
|
|
434
|
+
type: s,
|
|
435
435
|
key: d,
|
|
436
436
|
ref: b,
|
|
437
|
-
props:
|
|
437
|
+
props: M,
|
|
438
438
|
// Record the component responsible for creating this element.
|
|
439
|
-
_owner:
|
|
439
|
+
_owner: U
|
|
440
440
|
};
|
|
441
|
-
return
|
|
441
|
+
return k._store = {}, Object.defineProperty(k._store, "validated", {
|
|
442
442
|
configurable: !1,
|
|
443
443
|
enumerable: !1,
|
|
444
444
|
writable: !0,
|
|
445
445
|
value: !1
|
|
446
|
-
}), Object.defineProperty(
|
|
446
|
+
}), Object.defineProperty(k, "_self", {
|
|
447
447
|
configurable: !1,
|
|
448
448
|
enumerable: !1,
|
|
449
449
|
writable: !1,
|
|
450
|
-
value:
|
|
451
|
-
}), Object.defineProperty(
|
|
450
|
+
value: O
|
|
451
|
+
}), Object.defineProperty(k, "_source", {
|
|
452
452
|
configurable: !1,
|
|
453
453
|
enumerable: !1,
|
|
454
454
|
writable: !1,
|
|
455
|
-
value:
|
|
456
|
-
}), Object.freeze && (Object.freeze(
|
|
455
|
+
value: q
|
|
456
|
+
}), Object.freeze && (Object.freeze(k.props), Object.freeze(k)), k;
|
|
457
457
|
};
|
|
458
|
-
function
|
|
458
|
+
function er(s, d, b, O, q) {
|
|
459
459
|
{
|
|
460
|
-
var
|
|
461
|
-
b !== void 0 && (
|
|
462
|
-
for (
|
|
463
|
-
|
|
464
|
-
if (
|
|
465
|
-
var
|
|
466
|
-
for (
|
|
467
|
-
|
|
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]);
|
|
468
468
|
}
|
|
469
|
-
if (
|
|
470
|
-
var
|
|
471
|
-
|
|
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);
|
|
472
472
|
}
|
|
473
|
-
return
|
|
473
|
+
return Zt(s, k, ee, q, O, nt.current, M);
|
|
474
474
|
}
|
|
475
475
|
}
|
|
476
|
-
var
|
|
477
|
-
function
|
|
478
|
-
if (
|
|
479
|
-
var d =
|
|
480
|
-
|
|
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);
|
|
481
481
|
} else
|
|
482
|
-
|
|
482
|
+
ot.setExtraStackFrame(null);
|
|
483
483
|
}
|
|
484
|
-
var
|
|
485
|
-
|
|
486
|
-
function
|
|
487
|
-
return typeof
|
|
484
|
+
var We;
|
|
485
|
+
We = !1;
|
|
486
|
+
function Ve(s) {
|
|
487
|
+
return typeof s == "object" && s !== null && s.$$typeof === r;
|
|
488
488
|
}
|
|
489
|
-
function
|
|
489
|
+
function lt() {
|
|
490
490
|
{
|
|
491
|
-
if (
|
|
492
|
-
var
|
|
493
|
-
if (
|
|
491
|
+
if (qe.current) {
|
|
492
|
+
var s = G(qe.current.type);
|
|
493
|
+
if (s)
|
|
494
494
|
return `
|
|
495
495
|
|
|
496
|
-
Check the render method of \`` +
|
|
496
|
+
Check the render method of \`` + s + "`.";
|
|
497
497
|
}
|
|
498
498
|
return "";
|
|
499
499
|
}
|
|
500
500
|
}
|
|
501
|
-
function
|
|
501
|
+
function tr(s) {
|
|
502
502
|
return "";
|
|
503
503
|
}
|
|
504
|
-
var
|
|
505
|
-
function
|
|
504
|
+
var it = {};
|
|
505
|
+
function rr(s) {
|
|
506
506
|
{
|
|
507
|
-
var d =
|
|
507
|
+
var d = lt();
|
|
508
508
|
if (!d) {
|
|
509
|
-
var b = typeof
|
|
509
|
+
var b = typeof s == "string" ? s : s.displayName || s.name;
|
|
510
510
|
b && (d = `
|
|
511
511
|
|
|
512
512
|
Check the top-level render call using <` + b + ">.");
|
|
@@ -514,41 +514,41 @@ Check the top-level render call using <` + b + ">.");
|
|
|
514
514
|
return d;
|
|
515
515
|
}
|
|
516
516
|
}
|
|
517
|
-
function
|
|
517
|
+
function ct(s, d) {
|
|
518
518
|
{
|
|
519
|
-
if (!
|
|
519
|
+
if (!s._store || s._store.validated || s.key != null)
|
|
520
520
|
return;
|
|
521
|
-
|
|
522
|
-
var b =
|
|
523
|
-
if (
|
|
521
|
+
s._store.validated = !0;
|
|
522
|
+
var b = rr(d);
|
|
523
|
+
if (it[b])
|
|
524
524
|
return;
|
|
525
|
-
|
|
526
|
-
var
|
|
527
|
-
|
|
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);
|
|
528
528
|
}
|
|
529
529
|
}
|
|
530
|
-
function
|
|
530
|
+
function ut(s, d) {
|
|
531
531
|
{
|
|
532
|
-
if (typeof
|
|
532
|
+
if (typeof s != "object")
|
|
533
533
|
return;
|
|
534
|
-
if (
|
|
535
|
-
for (var b = 0; b <
|
|
536
|
-
var
|
|
537
|
-
|
|
534
|
+
if ($e(s))
|
|
535
|
+
for (var b = 0; b < s.length; b++) {
|
|
536
|
+
var O = s[b];
|
|
537
|
+
Ve(O) && ct(O, d);
|
|
538
538
|
}
|
|
539
|
-
else if (
|
|
540
|
-
|
|
541
|
-
else if (
|
|
542
|
-
var
|
|
543
|
-
if (typeof
|
|
544
|
-
for (var
|
|
545
|
-
|
|
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);
|
|
546
546
|
}
|
|
547
547
|
}
|
|
548
548
|
}
|
|
549
|
-
function
|
|
549
|
+
function nr(s) {
|
|
550
550
|
{
|
|
551
|
-
var d =
|
|
551
|
+
var d = s.type;
|
|
552
552
|
if (d == null || typeof d == "string")
|
|
553
553
|
return;
|
|
554
554
|
var b;
|
|
@@ -556,148 +556,162 @@ Check the top-level render call using <` + b + ">.");
|
|
|
556
556
|
b = d.propTypes;
|
|
557
557
|
else if (typeof d == "object" && (d.$$typeof === u || // Note: Memo only checks outer props here.
|
|
558
558
|
// Inner props are checked in the reconciler.
|
|
559
|
-
d.$$typeof ===
|
|
559
|
+
d.$$typeof === x))
|
|
560
560
|
b = d.propTypes;
|
|
561
561
|
else
|
|
562
562
|
return;
|
|
563
563
|
if (b) {
|
|
564
|
-
var
|
|
565
|
-
|
|
566
|
-
} else if (d.PropTypes !== void 0 &&
|
|
567
|
-
|
|
568
|
-
var
|
|
569
|
-
|
|
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");
|
|
570
570
|
}
|
|
571
|
-
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.");
|
|
572
572
|
}
|
|
573
573
|
}
|
|
574
|
-
function
|
|
574
|
+
function sr(s) {
|
|
575
575
|
{
|
|
576
|
-
for (var d = Object.keys(
|
|
577
|
-
var
|
|
578
|
-
if (
|
|
579
|
-
|
|
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);
|
|
580
580
|
break;
|
|
581
581
|
}
|
|
582
582
|
}
|
|
583
|
-
|
|
583
|
+
s.ref !== null && (fe(s), j("Invalid attribute `ref` supplied to `React.Fragment`."), fe(null));
|
|
584
584
|
}
|
|
585
585
|
}
|
|
586
|
-
var
|
|
587
|
-
function
|
|
586
|
+
var dt = {};
|
|
587
|
+
function ft(s, d, b, O, q, U) {
|
|
588
588
|
{
|
|
589
|
-
var
|
|
590
|
-
if (!
|
|
591
|
-
var
|
|
592
|
-
(
|
|
593
|
-
var
|
|
594
|
-
|
|
595
|
-
var
|
|
596
|
-
|
|
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);
|
|
597
597
|
}
|
|
598
|
-
var
|
|
599
|
-
if (
|
|
600
|
-
return
|
|
601
|
-
if (
|
|
602
|
-
var
|
|
603
|
-
if (
|
|
604
|
-
if (
|
|
605
|
-
if (
|
|
606
|
-
for (var
|
|
607
|
-
|
|
608
|
-
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);
|
|
609
609
|
} else
|
|
610
|
-
|
|
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.");
|
|
611
611
|
else
|
|
612
|
-
|
|
612
|
+
ut(se, s);
|
|
613
613
|
}
|
|
614
|
-
if (
|
|
615
|
-
var
|
|
616
|
-
return
|
|
617
|
-
}),
|
|
618
|
-
if (!
|
|
619
|
-
var
|
|
620
|
-
|
|
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:
|
|
621
621
|
let props = %s;
|
|
622
622
|
<%s {...props} />
|
|
623
623
|
React keys must be passed directly to JSX without using spread:
|
|
624
624
|
let props = %s;
|
|
625
|
-
<%s key={someKey} {...props} />`,
|
|
625
|
+
<%s key={someKey} {...props} />`, Ue, ue, cr, ue), dt[ue + Ue] = !0;
|
|
626
626
|
}
|
|
627
627
|
}
|
|
628
|
-
return
|
|
628
|
+
return s === a ? sr(K) : nr(K), K;
|
|
629
629
|
}
|
|
630
630
|
}
|
|
631
|
-
function
|
|
632
|
-
return
|
|
631
|
+
function ar(s, d, b) {
|
|
632
|
+
return ft(s, d, b, !0);
|
|
633
633
|
}
|
|
634
|
-
function
|
|
635
|
-
return
|
|
634
|
+
function or(s, d, b) {
|
|
635
|
+
return ft(s, d, b, !1);
|
|
636
636
|
}
|
|
637
|
-
var
|
|
638
|
-
be.Fragment = a, be.jsx =
|
|
637
|
+
var lr = or, ir = ar;
|
|
638
|
+
be.Fragment = a, be.jsx = lr, be.jsxs = ir;
|
|
639
639
|
})()), be;
|
|
640
640
|
}
|
|
641
|
-
var
|
|
642
|
-
function
|
|
643
|
-
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;
|
|
644
644
|
}
|
|
645
|
-
var t =
|
|
646
|
-
function
|
|
647
|
-
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) => {
|
|
648
648
|
try {
|
|
649
|
-
const
|
|
650
|
-
if (
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
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
|
+
);
|
|
655
656
|
return;
|
|
656
657
|
}
|
|
657
|
-
a({ data:
|
|
658
|
-
} catch (
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
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)
|
|
666
668
|
try {
|
|
667
|
-
const { data:
|
|
668
|
-
if (!Array.isArray(
|
|
669
|
+
const { data: f } = n, C = _e(f, j), g = C.fields || [];
|
|
670
|
+
if (!Array.isArray(g))
|
|
669
671
|
throw new Error("Expected array of fields");
|
|
670
|
-
|
|
671
|
-
const
|
|
672
|
-
schemaType:
|
|
673
|
-
|
|
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
|
|
674
677
|
};
|
|
675
|
-
if (
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
const { fields: L, schemaType: q, ...B } = y;
|
|
679
|
-
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);
|
|
680
681
|
}
|
|
681
|
-
o(
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
} catch (y) {
|
|
686
|
-
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
|
|
687
686
|
|
|
688
|
-
${
|
|
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);
|
|
689
703
|
}
|
|
690
|
-
}, i = () => {
|
|
691
|
-
r(!1), a(null);
|
|
692
704
|
}, A = () => {
|
|
693
|
-
|
|
694
|
-
},
|
|
695
|
-
|
|
696
|
-
},
|
|
697
|
-
|
|
698
|
-
},
|
|
699
|
-
|
|
700
|
-
|
|
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);
|
|
701
715
|
};
|
|
702
716
|
return /* @__PURE__ */ t.jsxs("header", { className: "editor-header w-full bg-white border border-gray-200 rounded-lg shadow-sm", children: [
|
|
703
717
|
/* @__PURE__ */ t.jsxs("div", { className: "px-4 py-4", children: [
|
|
@@ -707,11 +721,12 @@ ${(y == null ? void 0 : y.message) || "Invalid format"}`), r(!1), a(null);
|
|
|
707
721
|
/* @__PURE__ */ t.jsxs(
|
|
708
722
|
"button",
|
|
709
723
|
{
|
|
710
|
-
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 ${!
|
|
711
|
-
onClick:
|
|
712
|
-
|
|
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",
|
|
713
728
|
children: [
|
|
714
|
-
/* @__PURE__ */ t.jsx(
|
|
729
|
+
/* @__PURE__ */ t.jsx(dr, { className: "w-5 h-5" }),
|
|
715
730
|
/* @__PURE__ */ t.jsx("span", { children: "Build" })
|
|
716
731
|
]
|
|
717
732
|
}
|
|
@@ -719,11 +734,11 @@ ${(y == null ? void 0 : y.message) || "Invalid format"}`), r(!1), a(null);
|
|
|
719
734
|
/* @__PURE__ */ t.jsxs(
|
|
720
735
|
"button",
|
|
721
736
|
{
|
|
722
|
-
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 ${
|
|
723
|
-
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,
|
|
724
739
|
title: "Code Editor",
|
|
725
740
|
children: [
|
|
726
|
-
/* @__PURE__ */ t.jsx(
|
|
741
|
+
/* @__PURE__ */ t.jsx(fr, { className: "w-5 h-5" }),
|
|
727
742
|
/* @__PURE__ */ t.jsx("span", { children: "Code" })
|
|
728
743
|
]
|
|
729
744
|
}
|
|
@@ -731,11 +746,12 @@ ${(y == null ? void 0 : y.message) || "Invalid format"}`), r(!1), a(null);
|
|
|
731
746
|
/* @__PURE__ */ t.jsxs(
|
|
732
747
|
"button",
|
|
733
748
|
{
|
|
734
|
-
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 ${
|
|
735
|
-
onClick:
|
|
736
|
-
|
|
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",
|
|
737
753
|
children: [
|
|
738
|
-
/* @__PURE__ */ t.jsx(
|
|
754
|
+
/* @__PURE__ */ t.jsx(mr, { className: "w-5 h-5" }),
|
|
739
755
|
/* @__PURE__ */ t.jsx("span", { children: "Preview" })
|
|
740
756
|
]
|
|
741
757
|
}
|
|
@@ -743,7 +759,7 @@ ${(y == null ? void 0 : y.message) || "Invalid format"}`), r(!1), a(null);
|
|
|
743
759
|
] }),
|
|
744
760
|
/* @__PURE__ */ t.jsxs("div", { className: "header-actions flex gap-1 items-center", children: [
|
|
745
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: [
|
|
746
|
-
/* @__PURE__ */ t.jsx(
|
|
762
|
+
/* @__PURE__ */ t.jsx(hr, { className: "w-4 h-4 lg:w-4 lg:h-4" }),
|
|
747
763
|
/* @__PURE__ */ t.jsx("span", { className: "hidden min-[445px]:inline", children: "Import" }),
|
|
748
764
|
/* @__PURE__ */ t.jsx(
|
|
749
765
|
"input",
|
|
@@ -751,15 +767,15 @@ ${(y == null ? void 0 : y.message) || "Invalid format"}`), r(!1), a(null);
|
|
|
751
767
|
className: "hidden",
|
|
752
768
|
type: "file",
|
|
753
769
|
accept: ".json,.yaml,.yml,application/json,text/yaml",
|
|
754
|
-
onChange: (
|
|
755
|
-
var
|
|
756
|
-
const
|
|
757
|
-
if (!
|
|
758
|
-
const
|
|
759
|
-
|
|
760
|
-
var
|
|
761
|
-
return
|
|
762
|
-
},
|
|
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 = "";
|
|
763
779
|
}
|
|
764
780
|
}
|
|
765
781
|
)
|
|
@@ -768,10 +784,10 @@ ${(y == null ? void 0 : y.message) || "Invalid format"}`), r(!1), a(null);
|
|
|
768
784
|
"button",
|
|
769
785
|
{
|
|
770
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",
|
|
771
|
-
onClick:
|
|
787
|
+
onClick: R,
|
|
772
788
|
title: "Export",
|
|
773
789
|
children: [
|
|
774
|
-
/* @__PURE__ */ t.jsx(
|
|
790
|
+
/* @__PURE__ */ t.jsx(pr, { className: "w-4 h-4 lg:w-4 lg:h-4" }),
|
|
775
791
|
/* @__PURE__ */ t.jsx("span", { className: "hidden min-[445px]:inline", children: "Export" })
|
|
776
792
|
]
|
|
777
793
|
}
|
|
@@ -779,21 +795,21 @@ ${(y == null ? void 0 : y.message) || "Invalid format"}`), r(!1), a(null);
|
|
|
779
795
|
] })
|
|
780
796
|
] })
|
|
781
797
|
] }),
|
|
782
|
-
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: [
|
|
783
799
|
/* @__PURE__ */ t.jsxs("div", { className: "import-modal-header mb-6", children: [
|
|
784
800
|
/* @__PURE__ */ t.jsx("h3", { className: "text-xl font-semibold text-slate-900 mb-2", children: "Confirm Schema Type" }),
|
|
785
801
|
/* @__PURE__ */ t.jsxs("p", { className: "text-sm text-slate-600", children: [
|
|
786
802
|
"Is this a ",
|
|
787
|
-
/* @__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" }),
|
|
788
804
|
" schema?"
|
|
789
805
|
] }),
|
|
790
|
-
|
|
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." })
|
|
791
807
|
] }),
|
|
792
808
|
/* @__PURE__ */ t.jsxs("div", { className: "import-modal-actions flex gap-3", children: [
|
|
793
809
|
/* @__PURE__ */ t.jsx(
|
|
794
810
|
"button",
|
|
795
811
|
{
|
|
796
|
-
onClick: () =>
|
|
812
|
+
onClick: () => P(n.detectedSchemaType),
|
|
797
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",
|
|
798
814
|
children: "Yes, Import"
|
|
799
815
|
}
|
|
@@ -801,7 +817,7 @@ ${(y == null ? void 0 : y.message) || "Invalid format"}`), r(!1), a(null);
|
|
|
801
817
|
/* @__PURE__ */ t.jsx(
|
|
802
818
|
"button",
|
|
803
819
|
{
|
|
804
|
-
onClick:
|
|
820
|
+
onClick: A,
|
|
805
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",
|
|
806
822
|
children: "Abort"
|
|
807
823
|
}
|
|
@@ -810,58 +826,58 @@ ${(y == null ? void 0 : y.message) || "Invalid format"}`), r(!1), a(null);
|
|
|
810
826
|
] }) })
|
|
811
827
|
] });
|
|
812
828
|
}
|
|
813
|
-
const
|
|
829
|
+
const qr = (e) => {
|
|
814
830
|
switch (e) {
|
|
815
831
|
case "Text Fields":
|
|
816
|
-
return
|
|
832
|
+
return Er;
|
|
817
833
|
case "Organization":
|
|
818
|
-
return
|
|
834
|
+
return wr;
|
|
819
835
|
case "Selection Fields":
|
|
820
|
-
return
|
|
836
|
+
return jr;
|
|
821
837
|
case "Rating & Ranking":
|
|
822
|
-
return
|
|
838
|
+
return yr;
|
|
823
839
|
case "Matrix Fields":
|
|
824
|
-
return
|
|
840
|
+
return xr;
|
|
825
841
|
case "Rich Content":
|
|
826
|
-
return
|
|
842
|
+
return vr;
|
|
827
843
|
default:
|
|
828
844
|
return null;
|
|
829
845
|
}
|
|
830
|
-
},
|
|
846
|
+
}, Wr = ({ isPreview: e = !1 }) => {
|
|
831
847
|
if (e) return null;
|
|
832
|
-
const r =
|
|
833
|
-
|
|
834
|
-
(
|
|
835
|
-
[
|
|
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]
|
|
836
852
|
)
|
|
837
|
-
), o = (a == null ? void 0 : a.fieldType) === "section",
|
|
838
|
-
|
|
839
|
-
}, [
|
|
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]);
|
|
840
856
|
m.useEffect(() => {
|
|
841
|
-
const
|
|
842
|
-
|
|
857
|
+
const p = (v) => {
|
|
858
|
+
v.key === "Escape" && (v.preventDefault(), v.stopPropagation(), h());
|
|
843
859
|
};
|
|
844
|
-
return window.addEventListener("keydown",
|
|
845
|
-
}, [
|
|
846
|
-
const
|
|
847
|
-
const
|
|
848
|
-
return Object.entries(de).filter(([
|
|
849
|
-
const
|
|
850
|
-
|
|
851
|
-
type:
|
|
852
|
-
label:
|
|
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({
|
|
867
|
+
type: v,
|
|
868
|
+
label: x.label
|
|
853
869
|
});
|
|
854
|
-
}),
|
|
855
|
-
}, []), u =
|
|
856
|
-
const
|
|
857
|
-
return Object.values(
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
o && (a != null && a.id) ? r(
|
|
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);
|
|
861
877
|
};
|
|
862
878
|
});
|
|
863
|
-
}),
|
|
864
|
-
}, [
|
|
879
|
+
}), p;
|
|
880
|
+
}, [l, r, o, a == null ? void 0 : a.id]);
|
|
865
881
|
return /* @__PURE__ */ t.jsx(
|
|
866
882
|
"div",
|
|
867
883
|
{
|
|
@@ -870,91 +886,91 @@ const Dr = (e) => {
|
|
|
870
886
|
children: /* @__PURE__ */ t.jsxs("div", { className: "tool-panel-container pb-4 rounded-lg shadow-sm", children: [
|
|
871
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: [
|
|
872
888
|
/* @__PURE__ */ t.jsxs("span", { className: "flex items-center gap-2 min-w-0", children: [
|
|
873
|
-
/* @__PURE__ */ t.jsx(
|
|
874
|
-
/* @__PURE__ */ t.jsx("span", { className: "truncate", children: o ? `Add to "${
|
|
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" })
|
|
875
891
|
] }),
|
|
876
892
|
o && /* @__PURE__ */ t.jsx(
|
|
877
893
|
"button",
|
|
878
894
|
{
|
|
879
|
-
onClick:
|
|
895
|
+
onClick: h,
|
|
880
896
|
className: "text-gray-600 hover:text-red-600 hover:bg-red-50 p-1 rounded transition-colors shrink-0",
|
|
881
897
|
title: "Unselect section",
|
|
882
|
-
children: /* @__PURE__ */ t.jsx(
|
|
898
|
+
children: /* @__PURE__ */ t.jsx(br, { className: "w-5 h-5" })
|
|
883
899
|
}
|
|
884
900
|
)
|
|
885
901
|
] }),
|
|
886
|
-
Object.entries(
|
|
902
|
+
Object.entries(l).map(([p, v]) => /* @__PURE__ */ t.jsxs("div", { className: "tool-category", children: [
|
|
887
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: [
|
|
888
904
|
(() => {
|
|
889
|
-
const
|
|
890
|
-
return
|
|
905
|
+
const x = qr(p);
|
|
906
|
+
return x ? /* @__PURE__ */ t.jsx(x, { className: "w-4 h-4 text-gray-600" }) : null;
|
|
891
907
|
})(),
|
|
892
|
-
|
|
908
|
+
p
|
|
893
909
|
] }),
|
|
894
|
-
/* @__PURE__ */ t.jsx("div", { className: "tool-items grid grid-cols-1 gap-2 px-4 py-3", children:
|
|
895
|
-
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";
|
|
896
912
|
return /* @__PURE__ */ t.jsxs(
|
|
897
913
|
"button",
|
|
898
914
|
{
|
|
899
|
-
disabled:
|
|
900
|
-
className: `px-3 py-2 text-sm text-left border rounded-md transition-colors duration-150 ${
|
|
901
|
-
onClick: u[
|
|
902
|
-
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}`,
|
|
903
919
|
children: [
|
|
904
920
|
"+ ",
|
|
905
|
-
|
|
921
|
+
P
|
|
906
922
|
]
|
|
907
923
|
},
|
|
908
|
-
|
|
924
|
+
x
|
|
909
925
|
);
|
|
910
926
|
}) })
|
|
911
|
-
] },
|
|
927
|
+
] }, p))
|
|
912
928
|
] })
|
|
913
929
|
}
|
|
914
930
|
);
|
|
915
|
-
},
|
|
916
|
-
function
|
|
931
|
+
}, gt = m.memo(Wr, (e, r) => e.isPreview === r.isPreview);
|
|
932
|
+
function St({
|
|
917
933
|
id: e = "",
|
|
918
934
|
label: r = "ID",
|
|
919
|
-
onCommit:
|
|
935
|
+
onCommit: n,
|
|
920
936
|
validate: a,
|
|
921
937
|
placeholder: o = "Enter unique ID…",
|
|
922
|
-
className:
|
|
938
|
+
className: i = ""
|
|
923
939
|
}) {
|
|
924
|
-
const [
|
|
940
|
+
const [h, l] = m.useState(e ?? ""), [u, p] = m.useState("");
|
|
925
941
|
m.useEffect(() => {
|
|
926
|
-
|
|
942
|
+
l(e ?? ""), p("");
|
|
927
943
|
}, [e]);
|
|
928
|
-
const
|
|
929
|
-
const
|
|
930
|
-
if (!
|
|
931
|
-
|
|
944
|
+
const v = m.useCallback(() => {
|
|
945
|
+
const x = String(h ?? "").trim();
|
|
946
|
+
if (!x) {
|
|
947
|
+
p("ID cannot be empty."), l(e ?? "");
|
|
932
948
|
return;
|
|
933
949
|
}
|
|
934
|
-
if (
|
|
950
|
+
if (x !== (e ?? "")) {
|
|
935
951
|
if (typeof a == "function") {
|
|
936
|
-
const
|
|
937
|
-
if (
|
|
938
|
-
|
|
952
|
+
const P = a(x, e ?? "");
|
|
953
|
+
if (P) {
|
|
954
|
+
p(P);
|
|
939
955
|
return;
|
|
940
956
|
}
|
|
941
957
|
}
|
|
942
|
-
|
|
958
|
+
n == null || n(x);
|
|
943
959
|
}
|
|
944
|
-
}, [
|
|
945
|
-
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: [
|
|
946
962
|
/* @__PURE__ */ t.jsx("label", { className: "block text-sm mb-1", children: r }),
|
|
947
963
|
/* @__PURE__ */ t.jsx(
|
|
948
964
|
"input",
|
|
949
965
|
{
|
|
950
966
|
className: "w-full px-3 py-2 border border-black/20 rounded",
|
|
951
|
-
value:
|
|
952
|
-
onChange: (
|
|
953
|
-
u &&
|
|
967
|
+
value: h,
|
|
968
|
+
onChange: (x) => {
|
|
969
|
+
u && p(""), l(x.target.value);
|
|
954
970
|
},
|
|
955
|
-
onBlur:
|
|
956
|
-
onKeyDown: (
|
|
957
|
-
|
|
971
|
+
onBlur: v,
|
|
972
|
+
onKeyDown: (x) => {
|
|
973
|
+
x.key === "Enter" && (x.preventDefault(), v());
|
|
958
974
|
},
|
|
959
975
|
placeholder: o
|
|
960
976
|
}
|
|
@@ -962,18 +978,98 @@ function Ot({
|
|
|
962
978
|
u ? /* @__PURE__ */ t.jsx("p", { className: "text-xs text-red-600 mt-1", children: u }) : null
|
|
963
979
|
] });
|
|
964
980
|
}
|
|
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
|
+
}
|
|
965
1061
|
function It({ f: e, onUpdateField: r }) {
|
|
966
|
-
const
|
|
1062
|
+
const n = ae(m.useCallback((o) => o.byId, [])), a = m.useCallback((o, i) => {
|
|
967
1063
|
if (!(o != null && o.trim())) return "ID cannot be empty.";
|
|
968
|
-
if (o ===
|
|
969
|
-
const
|
|
970
|
-
return Object.values(
|
|
971
|
-
(
|
|
972
|
-
}),
|
|
973
|
-
}, [
|
|
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]);
|
|
974
1070
|
return /* @__PURE__ */ t.jsxs("div", { className: "common-editor-container space-y-3", children: [
|
|
975
1071
|
/* @__PURE__ */ t.jsx(
|
|
976
|
-
|
|
1072
|
+
St,
|
|
977
1073
|
{
|
|
978
1074
|
id: e.id ?? "",
|
|
979
1075
|
validate: a,
|
|
@@ -987,22 +1083,12 @@ function It({ f: e, onUpdateField: r }) {
|
|
|
987
1083
|
{
|
|
988
1084
|
className: "w-full px-3 py-2 border border-black/20 rounded",
|
|
989
1085
|
value: e.question || "",
|
|
990
|
-
onChange: (o) => r("question", o.target.value),
|
|
1086
|
+
onChange: (o) => r == null ? void 0 : r("question", o.target.value),
|
|
991
1087
|
placeholder: "Enter question text"
|
|
992
1088
|
}
|
|
993
1089
|
)
|
|
994
1090
|
] }),
|
|
995
|
-
|
|
996
|
-
/* @__PURE__ */ t.jsx(
|
|
997
|
-
"input",
|
|
998
|
-
{
|
|
999
|
-
type: "checkbox",
|
|
1000
|
-
checked: !!e.required,
|
|
1001
|
-
onChange: (o) => r("required", o.target.checked)
|
|
1002
|
-
}
|
|
1003
|
-
),
|
|
1004
|
-
"Required"
|
|
1005
|
-
] }) }),
|
|
1091
|
+
(e.fieldType === "text" || e.fieldType === "longtext") && /* @__PURE__ */ t.jsx(zr, { field: e, onUpdate: r }),
|
|
1006
1092
|
/* @__PURE__ */ t.jsxs("div", { children: [
|
|
1007
1093
|
/* @__PURE__ */ t.jsx("label", { className: "block text-sm mb-1", children: "Sublabel (optional)" }),
|
|
1008
1094
|
/* @__PURE__ */ t.jsx(
|
|
@@ -1014,39 +1100,50 @@ function It({ f: e, onUpdateField: r }) {
|
|
|
1014
1100
|
placeholder: "Helper text / description"
|
|
1015
1101
|
}
|
|
1016
1102
|
)
|
|
1017
|
-
] })
|
|
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
|
+
] }) })
|
|
1018
1115
|
] });
|
|
1019
1116
|
}
|
|
1020
|
-
function
|
|
1021
|
-
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";
|
|
1022
1119
|
return m.useEffect(() => {
|
|
1023
|
-
if (
|
|
1024
|
-
const
|
|
1025
|
-
|
|
1026
|
-
}
|
|
1027
|
-
|
|
1028
|
-
}, [
|
|
1029
|
-
/* @__PURE__ */ t.jsx("label", { className: "block text-sm font-medium text-gray-700", children:
|
|
1030
|
-
/* @__PURE__ */ t.jsx("div", { ref:
|
|
1120
|
+
if (n.length > h.current && i.current) {
|
|
1121
|
+
const v = i.current.lastElementChild;
|
|
1122
|
+
v && v.scrollIntoView({ behavior: "smooth", block: "nearest" });
|
|
1123
|
+
}
|
|
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: [
|
|
1031
1128
|
/* @__PURE__ */ t.jsx(
|
|
1032
1129
|
"input",
|
|
1033
1130
|
{
|
|
1034
1131
|
className: "flex-1 min-w-0 outline-none bg-transparent",
|
|
1035
|
-
value:
|
|
1036
|
-
onChange: (
|
|
1037
|
-
placeholder:
|
|
1132
|
+
value: v.value,
|
|
1133
|
+
onChange: (x) => r.option.update(v.id, x.target.value),
|
|
1134
|
+
placeholder: p
|
|
1038
1135
|
}
|
|
1039
1136
|
),
|
|
1040
1137
|
!a && /* @__PURE__ */ t.jsx(
|
|
1041
1138
|
"button",
|
|
1042
1139
|
{
|
|
1043
|
-
onClick: () => r.option.remove(
|
|
1140
|
+
onClick: () => r.option.remove(v.id),
|
|
1044
1141
|
className: "flex-shrink-0 text-gray-400 hover:text-red-600 transition-colors",
|
|
1045
1142
|
title: "Remove option",
|
|
1046
1143
|
children: /* @__PURE__ */ t.jsx(ye, { className: "w-5 h-5" })
|
|
1047
1144
|
}
|
|
1048
1145
|
)
|
|
1049
|
-
] },
|
|
1146
|
+
] }, v.id)) }),
|
|
1050
1147
|
!a && /* @__PURE__ */ t.jsxs(
|
|
1051
1148
|
"button",
|
|
1052
1149
|
{
|
|
@@ -1060,30 +1157,30 @@ function St({ field: e, api: r }) {
|
|
|
1060
1157
|
)
|
|
1061
1158
|
] });
|
|
1062
1159
|
}
|
|
1063
|
-
function
|
|
1064
|
-
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);
|
|
1065
1162
|
return m.useEffect(() => {
|
|
1066
|
-
if (
|
|
1163
|
+
if (n.length > h.current && o.current) {
|
|
1067
1164
|
const u = o.current.lastElementChild;
|
|
1068
1165
|
u && u.scrollIntoView({ behavior: "smooth", block: "nearest" });
|
|
1069
1166
|
}
|
|
1070
|
-
|
|
1071
|
-
}, [
|
|
1072
|
-
if (a.length >
|
|
1073
|
-
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;
|
|
1074
1171
|
u && u.scrollIntoView({ behavior: "smooth", block: "nearest" });
|
|
1075
1172
|
}
|
|
1076
|
-
|
|
1173
|
+
l.current = a.length;
|
|
1077
1174
|
}, [a.length]), /* @__PURE__ */ t.jsxs("div", { className: "space-y-4", children: [
|
|
1078
1175
|
/* @__PURE__ */ t.jsxs("div", { className: "space-y-3", children: [
|
|
1079
1176
|
/* @__PURE__ */ t.jsx("label", { className: "block text-sm font-medium text-gray-700", children: "Rows" }),
|
|
1080
|
-
/* @__PURE__ */ t.jsx("div", { ref: o, className: "space-y-2", children:
|
|
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: [
|
|
1081
1178
|
/* @__PURE__ */ t.jsx(
|
|
1082
1179
|
"input",
|
|
1083
1180
|
{
|
|
1084
1181
|
className: "flex-1 min-w-0 outline-none bg-transparent",
|
|
1085
1182
|
value: u.value,
|
|
1086
|
-
onChange: (
|
|
1183
|
+
onChange: (p) => r.row.update(u.id, p.target.value),
|
|
1087
1184
|
placeholder: "Row text"
|
|
1088
1185
|
}
|
|
1089
1186
|
),
|
|
@@ -1091,13 +1188,13 @@ function Rt({ field: e, api: r }) {
|
|
|
1091
1188
|
"button",
|
|
1092
1189
|
{
|
|
1093
1190
|
onClick: () => r.row.remove(u.id),
|
|
1094
|
-
className: "
|
|
1191
|
+
className: "shrink-0 text-gray-400 hover:text-red-600 transition-colors",
|
|
1095
1192
|
title: "Remove row",
|
|
1096
1193
|
children: /* @__PURE__ */ t.jsx(ye, { className: "w-5 h-5" })
|
|
1097
1194
|
}
|
|
1098
1195
|
)
|
|
1099
1196
|
] }, u.id)) }),
|
|
1100
|
-
|
|
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(
|
|
1101
1198
|
"button",
|
|
1102
1199
|
{
|
|
1103
1200
|
onClick: () => r.row.add(""),
|
|
@@ -1108,13 +1205,13 @@ function Rt({ field: e, api: r }) {
|
|
|
1108
1205
|
] }),
|
|
1109
1206
|
/* @__PURE__ */ t.jsxs("div", { className: "space-y-3", children: [
|
|
1110
1207
|
/* @__PURE__ */ t.jsx("label", { className: "block text-sm font-medium text-gray-700", children: "Columns" }),
|
|
1111
|
-
/* @__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: [
|
|
1112
1209
|
/* @__PURE__ */ t.jsx(
|
|
1113
1210
|
"input",
|
|
1114
1211
|
{
|
|
1115
1212
|
className: "flex-1 min-w-0 outline-none bg-transparent",
|
|
1116
1213
|
value: u.value,
|
|
1117
|
-
onChange: (
|
|
1214
|
+
onChange: (p) => r.column.update(u.id, p.target.value),
|
|
1118
1215
|
placeholder: "Column text"
|
|
1119
1216
|
}
|
|
1120
1217
|
),
|
|
@@ -1122,7 +1219,7 @@ function Rt({ field: e, api: r }) {
|
|
|
1122
1219
|
"button",
|
|
1123
1220
|
{
|
|
1124
1221
|
onClick: () => r.column.remove(u.id),
|
|
1125
|
-
className: "
|
|
1222
|
+
className: "shrink-0 text-gray-400 hover:text-red-600 transition-colors",
|
|
1126
1223
|
title: "Remove column",
|
|
1127
1224
|
children: /* @__PURE__ */ t.jsx(ye, { className: "w-5 h-5" })
|
|
1128
1225
|
}
|
|
@@ -1139,14 +1236,13 @@ function Rt({ field: e, api: r }) {
|
|
|
1139
1236
|
] })
|
|
1140
1237
|
] });
|
|
1141
1238
|
}
|
|
1142
|
-
function
|
|
1143
|
-
const r =
|
|
1144
|
-
(
|
|
1239
|
+
function Hr({ f: e }) {
|
|
1240
|
+
const r = Ke(e.id), n = m.useCallback(
|
|
1241
|
+
(h, l) => r.field.update(h, l),
|
|
1145
1242
|
[r]
|
|
1146
|
-
), a = de[e.fieldType] || {}, o = a.hasOptions || !1,
|
|
1243
|
+
), a = de[e.fieldType] || {}, o = a.hasOptions || !1, i = a.hasMatrix || !1;
|
|
1147
1244
|
return /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
|
|
1148
|
-
/* @__PURE__ */ t.jsx(
|
|
1149
|
-
/* @__PURE__ */ t.jsx(It, { f: e, onUpdateField: s }),
|
|
1245
|
+
/* @__PURE__ */ t.jsx(It, { f: e, onUpdateField: n }),
|
|
1150
1246
|
e.fieldType === "input" && /* @__PURE__ */ t.jsxs("div", { className: "non-section-editor-default-answer mt-4", children: [
|
|
1151
1247
|
/* @__PURE__ */ t.jsx("div", { className: "text-sm font-medium mb-1", children: "Default Answer" }),
|
|
1152
1248
|
/* @__PURE__ */ t.jsx(
|
|
@@ -1154,92 +1250,91 @@ function $r({ f: e }) {
|
|
|
1154
1250
|
{
|
|
1155
1251
|
className: "w-full px-3 py-2 border border-black/20 rounded",
|
|
1156
1252
|
value: e.answer || "",
|
|
1157
|
-
onChange: (
|
|
1253
|
+
onChange: (h) => n("answer", h.target.value),
|
|
1158
1254
|
placeholder: "Default value"
|
|
1159
1255
|
}
|
|
1160
1256
|
)
|
|
1161
1257
|
] }),
|
|
1162
|
-
o && /* @__PURE__ */ t.jsx(
|
|
1163
|
-
|
|
1258
|
+
o && /* @__PURE__ */ t.jsx(Rt, { field: e, api: r }),
|
|
1259
|
+
i && /* @__PURE__ */ t.jsx(kt, { field: e, api: r })
|
|
1164
1260
|
] });
|
|
1165
1261
|
}
|
|
1166
|
-
function
|
|
1167
|
-
var
|
|
1168
|
-
const
|
|
1262
|
+
function Yr({ section: e, onActiveChildChange: r }) {
|
|
1263
|
+
var C;
|
|
1264
|
+
const n = Ke(e.id), a = m.useContext(Xe), o = ie();
|
|
1169
1265
|
if (!a) throw new Error("Missing FormStoreContext.Provider in the tree");
|
|
1170
|
-
const
|
|
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);
|
|
1171
1270
|
m.useEffect(() => {
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
f(((p = l[0]) == null ? void 0 : p.id) || null);
|
|
1177
|
-
}, [e.id]), m.useEffect(() => {
|
|
1178
|
-
if (!l.length) {
|
|
1179
|
-
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);
|
|
1180
1275
|
return;
|
|
1181
1276
|
}
|
|
1182
|
-
|
|
1183
|
-
}, [
|
|
1184
|
-
r == null || r(e.id,
|
|
1185
|
-
}, [e.id,
|
|
1186
|
-
const
|
|
1187
|
-
(
|
|
1188
|
-
|
|
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);
|
|
1189
1284
|
},
|
|
1190
1285
|
[e.id, o.selectedChildId]
|
|
1191
|
-
),
|
|
1192
|
-
var
|
|
1193
|
-
return ((
|
|
1194
|
-
}, []),
|
|
1195
|
-
(
|
|
1196
|
-
[
|
|
1197
|
-
),
|
|
1198
|
-
() =>
|
|
1199
|
-
[
|
|
1200
|
-
),
|
|
1201
|
-
(
|
|
1202
|
-
if (
|
|
1203
|
-
if (
|
|
1204
|
-
const
|
|
1205
|
-
if (!
|
|
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;
|
|
1206
1301
|
a.getState().updateField(
|
|
1207
|
-
|
|
1208
|
-
{ id:
|
|
1302
|
+
E.id,
|
|
1303
|
+
{ id: T },
|
|
1209
1304
|
{
|
|
1210
1305
|
sectionId: e.id,
|
|
1211
|
-
onIdChange: (
|
|
1212
|
-
|
|
1306
|
+
onIdChange: (N, V) => {
|
|
1307
|
+
v((H) => H === V ? N : H);
|
|
1213
1308
|
}
|
|
1214
1309
|
}
|
|
1215
1310
|
);
|
|
1216
1311
|
return;
|
|
1217
1312
|
}
|
|
1218
1313
|
a.getState().updateField(
|
|
1219
|
-
|
|
1220
|
-
{ [
|
|
1314
|
+
E.id,
|
|
1315
|
+
{ [g]: D },
|
|
1221
1316
|
{ sectionId: e.id }
|
|
1222
1317
|
);
|
|
1223
1318
|
}
|
|
1224
1319
|
},
|
|
1225
|
-
[
|
|
1226
|
-
),
|
|
1227
|
-
|
|
1228
|
-
}, [
|
|
1229
|
-
() =>
|
|
1230
|
-
[
|
|
1231
|
-
),
|
|
1232
|
-
() =>
|
|
1233
|
-
[
|
|
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]
|
|
1234
1329
|
);
|
|
1235
1330
|
return /* @__PURE__ */ t.jsxs("div", { className: "space-y-4", children: [
|
|
1236
1331
|
/* @__PURE__ */ t.jsxs("div", { className: "space-y-3", children: [
|
|
1237
1332
|
/* @__PURE__ */ t.jsx("h3", { className: "text-sm font-semibold text-gray-700 uppercase tracking-wide", children: "Section Properties" }),
|
|
1238
1333
|
/* @__PURE__ */ t.jsx(
|
|
1239
|
-
|
|
1334
|
+
St,
|
|
1240
1335
|
{
|
|
1241
1336
|
id: e.id,
|
|
1242
|
-
onCommit: (
|
|
1337
|
+
onCommit: (g) => n.field.renameId(g)
|
|
1243
1338
|
}
|
|
1244
1339
|
),
|
|
1245
1340
|
/* @__PURE__ */ t.jsxs("div", { className: "section-editor-title", children: [
|
|
@@ -1249,7 +1344,7 @@ function qr({ section: e, onActiveChildChange: r }) {
|
|
|
1249
1344
|
{
|
|
1250
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",
|
|
1251
1346
|
value: e.title || "",
|
|
1252
|
-
onChange: (
|
|
1347
|
+
onChange: (g) => z("title", g.target.value),
|
|
1253
1348
|
placeholder: "e.g., Patient Information"
|
|
1254
1349
|
}
|
|
1255
1350
|
)
|
|
@@ -1258,10 +1353,10 @@ function qr({ section: e, onActiveChildChange: r }) {
|
|
|
1258
1353
|
/* @__PURE__ */ t.jsxs("div", { className: "space-y-3", children: [
|
|
1259
1354
|
/* @__PURE__ */ t.jsxs("h3", { className: "text-sm font-semibold text-gray-700 uppercase tracking-wide", children: [
|
|
1260
1355
|
"Fields (",
|
|
1261
|
-
|
|
1356
|
+
i.length,
|
|
1262
1357
|
")"
|
|
1263
1358
|
] }),
|
|
1264
|
-
|
|
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: [
|
|
1265
1360
|
/* @__PURE__ */ t.jsx("p", { className: "text-sm text-gray-500", children: "No fields in this section" }),
|
|
1266
1361
|
/* @__PURE__ */ t.jsx("p", { className: "text-xs text-gray-400 mt-1", children: "Use the Tool Panel to add fields" })
|
|
1267
1362
|
] }) : /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
|
|
@@ -1270,28 +1365,28 @@ function qr({ section: e, onActiveChildChange: r }) {
|
|
|
1270
1365
|
"select",
|
|
1271
1366
|
{
|
|
1272
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",
|
|
1273
|
-
value:
|
|
1274
|
-
onChange: (
|
|
1275
|
-
children:
|
|
1276
|
-
var
|
|
1277
|
-
return /* @__PURE__ */ t.jsxs("option", { value:
|
|
1278
|
-
|
|
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),
|
|
1279
1374
|
" — ",
|
|
1280
|
-
(
|
|
1281
|
-
] },
|
|
1375
|
+
(D = de[g.fieldType]) == null ? void 0 : D.label
|
|
1376
|
+
] }, g.id);
|
|
1282
1377
|
})
|
|
1283
1378
|
}
|
|
1284
1379
|
),
|
|
1285
|
-
/* @__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" })
|
|
1286
1381
|
] }),
|
|
1287
|
-
|
|
1382
|
+
E && /* @__PURE__ */ t.jsxs("div", { className: "space-y-4 p-4 bg-gray-50 border border-gray-200 rounded-lg", children: [
|
|
1288
1383
|
/* @__PURE__ */ t.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
1289
|
-
/* @__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 }),
|
|
1290
1385
|
/* @__PURE__ */ t.jsxs(
|
|
1291
1386
|
"button",
|
|
1292
1387
|
{
|
|
1293
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",
|
|
1294
|
-
onClick:
|
|
1389
|
+
onClick: L,
|
|
1295
1390
|
title: "Delete this field",
|
|
1296
1391
|
children: [
|
|
1297
1392
|
/* @__PURE__ */ t.jsx(ye, { className: "w-3.5 h-3.5" }),
|
|
@@ -1300,45 +1395,67 @@ function qr({ section: e, onActiveChildChange: r }) {
|
|
|
1300
1395
|
}
|
|
1301
1396
|
)
|
|
1302
1397
|
] }),
|
|
1303
|
-
/* @__PURE__ */ t.jsx(It, { f:
|
|
1304
|
-
|
|
1398
|
+
/* @__PURE__ */ t.jsx(It, { f: E, onUpdateField: j }),
|
|
1399
|
+
E.fieldType === "input" && /* @__PURE__ */ t.jsxs("div", { className: "section-editor-default-answer", children: [
|
|
1305
1400
|
/* @__PURE__ */ t.jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: "Default Answer" }),
|
|
1306
1401
|
/* @__PURE__ */ t.jsx(
|
|
1307
1402
|
"input",
|
|
1308
1403
|
{
|
|
1309
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",
|
|
1310
|
-
value:
|
|
1311
|
-
onChange: (
|
|
1405
|
+
value: E.answer || "",
|
|
1406
|
+
onChange: (g) => j("answer", g.target.value),
|
|
1312
1407
|
placeholder: "Default value"
|
|
1313
1408
|
}
|
|
1314
1409
|
)
|
|
1315
1410
|
] }),
|
|
1316
|
-
|
|
1317
|
-
|
|
1411
|
+
I && R && /* @__PURE__ */ t.jsx(Rt, { field: E, api: R }),
|
|
1412
|
+
f && R && /* @__PURE__ */ t.jsx(kt, { field: E, api: R })
|
|
1318
1413
|
] })
|
|
1319
1414
|
] })
|
|
1320
1415
|
] })
|
|
1321
1416
|
] });
|
|
1322
1417
|
}
|
|
1323
|
-
function
|
|
1418
|
+
function bt(e, r, n) {
|
|
1324
1419
|
if (e === "expression")
|
|
1325
|
-
return
|
|
1420
|
+
return Nr.includes(r) ? ["equals", "notEquals", "greaterThan", "greaterThanOrEqual", "lessThan", "lessThanOrEqual"] : ["equals", "notEquals", "contains", "empty", "notEmpty"];
|
|
1326
1421
|
switch (e) {
|
|
1327
|
-
case "
|
|
1328
|
-
|
|
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"];
|
|
1329
1425
|
case "radio":
|
|
1330
|
-
case "
|
|
1331
|
-
|
|
1426
|
+
case "dropdown":
|
|
1427
|
+
case "boolean":
|
|
1428
|
+
return ["equals", "notEquals"];
|
|
1332
1429
|
case "check":
|
|
1333
|
-
|
|
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"];
|
|
1334
1436
|
default:
|
|
1335
|
-
return ["equals"];
|
|
1437
|
+
return ["equals", "notEquals"];
|
|
1336
1438
|
}
|
|
1337
1439
|
}
|
|
1338
|
-
function
|
|
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) {
|
|
1339
1454
|
switch (e) {
|
|
1340
1455
|
case "equals":
|
|
1341
1456
|
return "= (equals)";
|
|
1457
|
+
case "notEquals":
|
|
1458
|
+
return "≠ (not equals)";
|
|
1342
1459
|
case "greaterThan":
|
|
1343
1460
|
return "> (greater than)";
|
|
1344
1461
|
case "greaterThanOrEqual":
|
|
@@ -1351,116 +1468,120 @@ function Wr(e) {
|
|
|
1351
1468
|
return "contains";
|
|
1352
1469
|
case "includes":
|
|
1353
1470
|
return "includes";
|
|
1471
|
+
case "empty":
|
|
1472
|
+
return "is empty";
|
|
1473
|
+
case "notEmpty":
|
|
1474
|
+
return "is not empty";
|
|
1354
1475
|
default:
|
|
1355
1476
|
return e;
|
|
1356
1477
|
}
|
|
1357
1478
|
}
|
|
1358
|
-
function
|
|
1479
|
+
function vt(e) {
|
|
1359
1480
|
if (e && typeof e == "object") {
|
|
1360
|
-
const
|
|
1361
|
-
return { id:
|
|
1481
|
+
const n = e.id ?? String(e.value ?? ""), a = String(e.value ?? e.label ?? e.id ?? "");
|
|
1482
|
+
return { id: n, value: a };
|
|
1362
1483
|
}
|
|
1363
1484
|
const r = String(e ?? "");
|
|
1364
1485
|
return { id: r, value: r };
|
|
1365
1486
|
}
|
|
1366
|
-
function
|
|
1367
|
-
var
|
|
1368
|
-
const e =
|
|
1369
|
-
(
|
|
1370
|
-
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);
|
|
1371
1492
|
m.useEffect(() => {
|
|
1372
|
-
|
|
1373
|
-
}, [
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
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);
|
|
1378
1500
|
} else
|
|
1379
1501
|
e.selectedChildId.set(null, null);
|
|
1380
|
-
}, [
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
const
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
options: Array.isArray(O.options) ? O.options : []
|
|
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 : []
|
|
1397
1518
|
});
|
|
1398
1519
|
});
|
|
1399
1520
|
} else
|
|
1400
|
-
|
|
1401
|
-
id:
|
|
1521
|
+
c.push({
|
|
1522
|
+
id: W.id,
|
|
1402
1523
|
parentId: null,
|
|
1403
|
-
label: ((
|
|
1404
|
-
fieldType:
|
|
1405
|
-
displayFormat:
|
|
1406
|
-
options: Array.isArray(
|
|
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 : []
|
|
1407
1528
|
});
|
|
1408
|
-
return
|
|
1409
|
-
}, [r]),
|
|
1410
|
-
(
|
|
1411
|
-
[
|
|
1412
|
-
),
|
|
1413
|
-
(
|
|
1414
|
-
if (!
|
|
1415
|
-
const
|
|
1416
|
-
|
|
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);
|
|
1417
1538
|
},
|
|
1418
|
-
[
|
|
1419
|
-
),
|
|
1420
|
-
const
|
|
1421
|
-
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",
|
|
1422
1543
|
conditions: [
|
|
1423
|
-
...Array.isArray(
|
|
1544
|
+
...Array.isArray(f.conditions) ? f.conditions : [],
|
|
1424
1545
|
{ targetId: "", operator: "equals", value: "" }
|
|
1425
1546
|
]
|
|
1426
1547
|
};
|
|
1427
|
-
|
|
1428
|
-
}, [
|
|
1429
|
-
(
|
|
1430
|
-
const
|
|
1431
|
-
|
|
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 });
|
|
1432
1553
|
},
|
|
1433
|
-
[
|
|
1434
|
-
),
|
|
1435
|
-
(
|
|
1436
|
-
const
|
|
1437
|
-
if ("targetId" in
|
|
1438
|
-
const
|
|
1439
|
-
|
|
1440
|
-
const
|
|
1441
|
-
|
|
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 = ""));
|
|
1442
1563
|
}
|
|
1443
|
-
|
|
1564
|
+
X[c] = Z, I({ ...f, conditions: X });
|
|
1444
1565
|
},
|
|
1445
|
-
[
|
|
1446
|
-
),
|
|
1447
|
-
() =>
|
|
1448
|
-
[
|
|
1449
|
-
),
|
|
1566
|
+
[f, L, I]
|
|
1567
|
+
), N = m.useMemo(
|
|
1568
|
+
() => j.filter((c) => c.id !== F),
|
|
1569
|
+
[j, F]
|
|
1570
|
+
), V = !R || !F;
|
|
1450
1571
|
return /* @__PURE__ */ t.jsxs("div", { className: "logic-editor-container space-y-4", children: [
|
|
1451
|
-
|
|
1572
|
+
l && /* @__PURE__ */ t.jsxs("div", { className: "space-y-2", children: [
|
|
1452
1573
|
/* @__PURE__ */ t.jsx("label", { className: "block text-sm font-medium text-gray-700", children: "Target Field" }),
|
|
1453
1574
|
/* @__PURE__ */ t.jsxs(
|
|
1454
1575
|
"select",
|
|
1455
1576
|
{
|
|
1456
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",
|
|
1457
|
-
value:
|
|
1458
|
-
onChange: (
|
|
1578
|
+
value: x,
|
|
1579
|
+
onChange: (c) => A(c.target.value),
|
|
1459
1580
|
children: [
|
|
1460
1581
|
/* @__PURE__ */ t.jsx("option", { value: "", children: "Section (this)" }),
|
|
1461
|
-
u.map((
|
|
1462
|
-
var
|
|
1463
|
-
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);
|
|
1464
1585
|
})
|
|
1465
1586
|
]
|
|
1466
1587
|
}
|
|
@@ -1472,10 +1593,10 @@ function Ur() {
|
|
|
1472
1593
|
/* @__PURE__ */ t.jsxs(
|
|
1473
1594
|
"select",
|
|
1474
1595
|
{
|
|
1475
|
-
value:
|
|
1476
|
-
onChange: (
|
|
1596
|
+
value: f.logic || "AND",
|
|
1597
|
+
onChange: (c) => I({ ...f, logic: c.target.value }),
|
|
1477
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",
|
|
1478
|
-
disabled:
|
|
1599
|
+
disabled: V,
|
|
1479
1600
|
children: [
|
|
1480
1601
|
/* @__PURE__ */ t.jsx("option", { value: "AND", children: "AND — All conditions must be true" }),
|
|
1481
1602
|
/* @__PURE__ */ t.jsx("option", { value: "OR", children: "OR — Any condition must be true" })
|
|
@@ -1489,8 +1610,8 @@ function Ur() {
|
|
|
1489
1610
|
{
|
|
1490
1611
|
type: "button",
|
|
1491
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",
|
|
1492
|
-
onClick:
|
|
1493
|
-
disabled:
|
|
1613
|
+
onClick: C,
|
|
1614
|
+
disabled: V,
|
|
1494
1615
|
children: "+ Add Condition"
|
|
1495
1616
|
}
|
|
1496
1617
|
),
|
|
@@ -1499,35 +1620,35 @@ function Ur() {
|
|
|
1499
1620
|
{
|
|
1500
1621
|
type: "button",
|
|
1501
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",
|
|
1502
|
-
onClick:
|
|
1503
|
-
disabled:
|
|
1623
|
+
onClick: g,
|
|
1624
|
+
disabled: V,
|
|
1504
1625
|
children: "Clear All"
|
|
1505
1626
|
}
|
|
1506
1627
|
)
|
|
1507
1628
|
] })
|
|
1508
1629
|
] }),
|
|
1509
|
-
|
|
1630
|
+
f.conditions.length > 0 && /* @__PURE__ */ t.jsxs("div", { className: "space-y-3", children: [
|
|
1510
1631
|
/* @__PURE__ */ t.jsxs("h4", { className: "text-sm font-medium text-gray-700", children: [
|
|
1511
1632
|
"Conditions (",
|
|
1512
|
-
|
|
1633
|
+
f.conditions.length,
|
|
1513
1634
|
")"
|
|
1514
1635
|
] }),
|
|
1515
|
-
/* @__PURE__ */ t.jsx("div", { className: "space-y-3", children:
|
|
1516
|
-
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);
|
|
1517
1638
|
return /* @__PURE__ */ t.jsxs("div", { className: "p-3 bg-gray-50 border border-gray-200 rounded-lg space-y-2", children: [
|
|
1518
1639
|
/* @__PURE__ */ t.jsxs("div", { className: "flex items-center justify-between mb-2", children: [
|
|
1519
1640
|
/* @__PURE__ */ t.jsxs("span", { className: "text-xs font-semibold text-gray-500 uppercase tracking-wide", children: [
|
|
1520
1641
|
"Condition ",
|
|
1521
|
-
|
|
1642
|
+
w + 1
|
|
1522
1643
|
] }),
|
|
1523
1644
|
/* @__PURE__ */ t.jsx(
|
|
1524
1645
|
"button",
|
|
1525
1646
|
{
|
|
1526
1647
|
type: "button",
|
|
1527
|
-
onClick: () =>
|
|
1648
|
+
onClick: () => D(w),
|
|
1528
1649
|
className: "text-gray-400 hover:text-red-600 transition-colors",
|
|
1529
1650
|
title: "Remove condition",
|
|
1530
|
-
disabled:
|
|
1651
|
+
disabled: V,
|
|
1531
1652
|
children: /* @__PURE__ */ t.jsx(ye, { className: "w-4 h-4" })
|
|
1532
1653
|
}
|
|
1533
1654
|
)
|
|
@@ -1539,16 +1660,39 @@ function Ur() {
|
|
|
1539
1660
|
"select",
|
|
1540
1661
|
{
|
|
1541
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",
|
|
1542
|
-
value:
|
|
1543
|
-
onChange: (
|
|
1544
|
-
disabled:
|
|
1663
|
+
value: c.targetId,
|
|
1664
|
+
onChange: ($) => T(w, { targetId: $.target.value }),
|
|
1665
|
+
disabled: V,
|
|
1545
1666
|
children: [
|
|
1546
1667
|
/* @__PURE__ */ t.jsx("option", { value: "", children: "— Select field —" }),
|
|
1547
|
-
|
|
1668
|
+
N.map(($) => /* @__PURE__ */ t.jsx("option", { value: $.id, children: $.label }, $.id))
|
|
1548
1669
|
]
|
|
1549
1670
|
}
|
|
1550
1671
|
)
|
|
1551
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
|
+
] }),
|
|
1552
1696
|
/* @__PURE__ */ t.jsxs("div", { className: "grid grid-cols-2 gap-2", children: [
|
|
1553
1697
|
/* @__PURE__ */ t.jsxs("div", { children: [
|
|
1554
1698
|
/* @__PURE__ */ t.jsx("label", { className: "block text-xs font-medium text-gray-600 mb-1", children: "Operator" }),
|
|
@@ -1556,61 +1700,62 @@ function Ur() {
|
|
|
1556
1700
|
"select",
|
|
1557
1701
|
{
|
|
1558
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",
|
|
1559
|
-
value:
|
|
1560
|
-
onChange: (
|
|
1561
|
-
disabled:
|
|
1562
|
-
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($) }, $))
|
|
1563
1707
|
}
|
|
1564
1708
|
)
|
|
1565
1709
|
] }),
|
|
1566
1710
|
/* @__PURE__ */ t.jsxs("div", { children: [
|
|
1567
1711
|
/* @__PURE__ */ t.jsx("label", { className: "block text-xs font-medium text-gray-600 mb-1", children: "Value" }),
|
|
1568
|
-
|
|
1712
|
+
Y ? _ && !c.propertyAccessor && !te ? /* @__PURE__ */ t.jsxs(
|
|
1569
1713
|
"select",
|
|
1570
1714
|
{
|
|
1571
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",
|
|
1572
|
-
value:
|
|
1573
|
-
onChange: (
|
|
1574
|
-
disabled:
|
|
1716
|
+
value: c.value,
|
|
1717
|
+
onChange: ($) => T(w, { value: $.target.value }),
|
|
1718
|
+
disabled: V || !S,
|
|
1575
1719
|
children: [
|
|
1576
1720
|
/* @__PURE__ */ t.jsx("option", { value: "", children: "— Select option —" }),
|
|
1577
|
-
|
|
1721
|
+
y.map(($) => /* @__PURE__ */ t.jsx("option", { value: $.id, children: $.value }, $.id))
|
|
1578
1722
|
]
|
|
1579
1723
|
}
|
|
1580
1724
|
) : /* @__PURE__ */ t.jsx(
|
|
1581
1725
|
"input",
|
|
1582
1726
|
{
|
|
1583
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",
|
|
1584
|
-
placeholder: "Enter value",
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
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
|
|
1588
1733
|
}
|
|
1589
|
-
)
|
|
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)" })
|
|
1590
1735
|
] })
|
|
1591
1736
|
] })
|
|
1592
1737
|
] })
|
|
1593
|
-
] },
|
|
1738
|
+
] }, w);
|
|
1594
1739
|
}) })
|
|
1595
1740
|
] })
|
|
1596
1741
|
] });
|
|
1597
1742
|
}
|
|
1598
|
-
function
|
|
1599
|
-
const e =
|
|
1743
|
+
function xt() {
|
|
1744
|
+
const e = ie(), r = ae(
|
|
1600
1745
|
m.useCallback(
|
|
1601
|
-
(
|
|
1746
|
+
(l) => e.selectedFieldId.value ? l.byId[e.selectedFieldId.value] : null,
|
|
1602
1747
|
[e.selectedFieldId.value]
|
|
1603
1748
|
)
|
|
1604
|
-
), [
|
|
1605
|
-
(
|
|
1606
|
-
e.selectedChildId.set(
|
|
1749
|
+
), [n, a] = m.useState("EDIT"), o = m.useCallback(
|
|
1750
|
+
(l, u) => {
|
|
1751
|
+
e.selectedChildId.set(l, u);
|
|
1607
1752
|
},
|
|
1608
1753
|
[e.selectedChildId.set]
|
|
1609
1754
|
);
|
|
1610
1755
|
if (m.useEffect(() => {
|
|
1611
1756
|
e.selectedChildId.set(null, null), a("EDIT");
|
|
1612
1757
|
}, [e.selectedFieldId.value]), e.state.isPreview) return null;
|
|
1613
|
-
const
|
|
1758
|
+
const i = !r, h = (r == null ? void 0 : r.fieldType) === "section";
|
|
1614
1759
|
return /* @__PURE__ */ t.jsxs(
|
|
1615
1760
|
"div",
|
|
1616
1761
|
{
|
|
@@ -1622,9 +1767,9 @@ function gt() {
|
|
|
1622
1767
|
{
|
|
1623
1768
|
type: "button",
|
|
1624
1769
|
onClick: () => a("EDIT"),
|
|
1625
|
-
className: `flex-1 flex items-center justify-center gap-2 px-3 py-2 rounded-lg text-xs font-medium transition-colors ${
|
|
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"}`,
|
|
1626
1771
|
children: [
|
|
1627
|
-
/* @__PURE__ */ t.jsx(
|
|
1772
|
+
/* @__PURE__ */ t.jsx(Or, { className: "w-4 h-4" }),
|
|
1628
1773
|
/* @__PURE__ */ t.jsx("span", { children: "Edit" })
|
|
1629
1774
|
]
|
|
1630
1775
|
}
|
|
@@ -1634,42 +1779,42 @@ function gt() {
|
|
|
1634
1779
|
{
|
|
1635
1780
|
type: "button",
|
|
1636
1781
|
onClick: () => a("LOGIC"),
|
|
1637
|
-
className: `flex-1 flex items-center justify-center gap-2 px-3 py-2 rounded-lg text-xs font-medium transition-colors ${
|
|
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"}`,
|
|
1638
1783
|
children: [
|
|
1639
|
-
/* @__PURE__ */ t.jsx(
|
|
1784
|
+
/* @__PURE__ */ t.jsx(Tr, { className: "w-4 h-4" }),
|
|
1640
1785
|
/* @__PURE__ */ t.jsx("span", { children: "Logic" })
|
|
1641
1786
|
]
|
|
1642
1787
|
}
|
|
1643
1788
|
)
|
|
1644
1789
|
] }) }),
|
|
1645
1790
|
/* @__PURE__ */ t.jsxs("div", { className: "p-4", children: [
|
|
1646
|
-
|
|
1647
|
-
!
|
|
1648
|
-
!
|
|
1649
|
-
|
|
1650
|
-
|
|
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,
|
|
1651
1796
|
{
|
|
1652
1797
|
section: r,
|
|
1653
1798
|
onActiveChildChange: o
|
|
1654
1799
|
}
|
|
1655
1800
|
)
|
|
1656
1801
|
] }),
|
|
1657
|
-
!
|
|
1802
|
+
!i && n === "LOGIC" && /* @__PURE__ */ t.jsx(Kr, {})
|
|
1658
1803
|
] })
|
|
1659
1804
|
]
|
|
1660
1805
|
}
|
|
1661
1806
|
);
|
|
1662
1807
|
}
|
|
1663
|
-
function
|
|
1664
|
-
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]);
|
|
1665
1810
|
return m.useEffect(() => {
|
|
1666
|
-
var
|
|
1811
|
+
var l;
|
|
1667
1812
|
if (!e.state.isPreview) {
|
|
1668
|
-
if (a.length >
|
|
1669
|
-
const u = a[a.length - 1],
|
|
1670
|
-
|
|
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));
|
|
1671
1816
|
}
|
|
1672
|
-
|
|
1817
|
+
i.current = a.length;
|
|
1673
1818
|
}
|
|
1674
1819
|
}, [a, e.selectedFieldId, e.state.isPreview]), /* @__PURE__ */ t.jsx(
|
|
1675
1820
|
"div",
|
|
@@ -1679,17 +1824,17 @@ function Vr() {
|
|
|
1679
1824
|
${e.state.isPreview ? "max-w-4xl" : "max-w-xl"}
|
|
1680
1825
|
mx-auto rounded-lg overflow-y-auto max-h-[calc(100svh-13rem)] lg:max-h-[calc(100dvh-11rem)] custom-scrollbar lg:pr-2`,
|
|
1681
1826
|
onClick: () => !e.state.isPreview && e.selectedFieldId.clear(),
|
|
1682
|
-
children:
|
|
1827
|
+
children: h.length === 0 ? /* @__PURE__ */ t.jsx(Qr, {}) : h.map((l) => /* @__PURE__ */ t.jsx(Xr, { id: l }, l))
|
|
1683
1828
|
}
|
|
1684
1829
|
);
|
|
1685
1830
|
}
|
|
1686
|
-
const
|
|
1687
|
-
const
|
|
1688
|
-
if (!
|
|
1689
|
-
const a =
|
|
1690
|
-
return a ? /* @__PURE__ */ t.jsx("div", { className: "mb-1.5", "data-field-type":
|
|
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;
|
|
1691
1836
|
});
|
|
1692
|
-
function
|
|
1837
|
+
function Qr() {
|
|
1693
1838
|
return /* @__PURE__ */ t.jsxs(
|
|
1694
1839
|
"div",
|
|
1695
1840
|
{
|
|
@@ -1719,188 +1864,188 @@ function Yr() {
|
|
|
1719
1864
|
}
|
|
1720
1865
|
);
|
|
1721
1866
|
}
|
|
1722
|
-
function
|
|
1867
|
+
function yt(e, r) {
|
|
1723
1868
|
(r == null || r > e.length) && (r = e.length);
|
|
1724
|
-
for (var
|
|
1869
|
+
for (var n = 0, a = Array(r); n < r; n++) a[n] = e[n];
|
|
1725
1870
|
return a;
|
|
1726
1871
|
}
|
|
1727
|
-
function
|
|
1872
|
+
function Zr(e) {
|
|
1728
1873
|
if (Array.isArray(e)) return e;
|
|
1729
1874
|
}
|
|
1730
|
-
function
|
|
1731
|
-
return (r =
|
|
1732
|
-
value:
|
|
1875
|
+
function en(e, r, n) {
|
|
1876
|
+
return (r = ln(r)) in e ? Object.defineProperty(e, r, {
|
|
1877
|
+
value: n,
|
|
1733
1878
|
enumerable: !0,
|
|
1734
1879
|
configurable: !0,
|
|
1735
1880
|
writable: !0
|
|
1736
|
-
}) : e[r] =
|
|
1881
|
+
}) : e[r] = n, e;
|
|
1737
1882
|
}
|
|
1738
|
-
function
|
|
1739
|
-
var
|
|
1740
|
-
if (
|
|
1741
|
-
var a, o,
|
|
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;
|
|
1742
1887
|
try {
|
|
1743
|
-
if (
|
|
1744
|
-
} catch (
|
|
1745
|
-
|
|
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) ;
|
|
1889
|
+
} catch (v) {
|
|
1890
|
+
p = !0, o = v;
|
|
1746
1891
|
} finally {
|
|
1747
1892
|
try {
|
|
1748
|
-
if (!u &&
|
|
1893
|
+
if (!u && n.return != null && (h = n.return(), Object(h) !== h)) return;
|
|
1749
1894
|
} finally {
|
|
1750
|
-
if (
|
|
1895
|
+
if (p) throw o;
|
|
1751
1896
|
}
|
|
1752
1897
|
}
|
|
1753
|
-
return
|
|
1898
|
+
return l;
|
|
1754
1899
|
}
|
|
1755
1900
|
}
|
|
1756
|
-
function
|
|
1901
|
+
function rn() {
|
|
1757
1902
|
throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
1758
1903
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
|
|
1759
1904
|
}
|
|
1760
|
-
function
|
|
1761
|
-
var
|
|
1905
|
+
function jt(e, r) {
|
|
1906
|
+
var n = Object.keys(e);
|
|
1762
1907
|
if (Object.getOwnPropertySymbols) {
|
|
1763
1908
|
var a = Object.getOwnPropertySymbols(e);
|
|
1764
1909
|
r && (a = a.filter(function(o) {
|
|
1765
1910
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
1766
|
-
})),
|
|
1911
|
+
})), n.push.apply(n, a);
|
|
1767
1912
|
}
|
|
1768
|
-
return
|
|
1913
|
+
return n;
|
|
1769
1914
|
}
|
|
1770
|
-
function
|
|
1915
|
+
function wt(e) {
|
|
1771
1916
|
for (var r = 1; r < arguments.length; r++) {
|
|
1772
|
-
var
|
|
1773
|
-
r % 2 ?
|
|
1774
|
-
|
|
1775
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(
|
|
1776
|
-
Object.defineProperty(e, a, Object.getOwnPropertyDescriptor(
|
|
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));
|
|
1777
1922
|
});
|
|
1778
1923
|
}
|
|
1779
1924
|
return e;
|
|
1780
1925
|
}
|
|
1781
|
-
function
|
|
1926
|
+
function nn(e, r) {
|
|
1782
1927
|
if (e == null) return {};
|
|
1783
|
-
var
|
|
1928
|
+
var n, a, o = sn(e, r);
|
|
1784
1929
|
if (Object.getOwnPropertySymbols) {
|
|
1785
|
-
var
|
|
1786
|
-
for (a = 0; a <
|
|
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]);
|
|
1787
1932
|
}
|
|
1788
1933
|
return o;
|
|
1789
1934
|
}
|
|
1790
|
-
function
|
|
1935
|
+
function sn(e, r) {
|
|
1791
1936
|
if (e == null) return {};
|
|
1792
|
-
var
|
|
1937
|
+
var n = {};
|
|
1793
1938
|
for (var a in e) if ({}.hasOwnProperty.call(e, a)) {
|
|
1794
1939
|
if (r.indexOf(a) !== -1) continue;
|
|
1795
|
-
|
|
1940
|
+
n[a] = e[a];
|
|
1796
1941
|
}
|
|
1797
|
-
return
|
|
1942
|
+
return n;
|
|
1798
1943
|
}
|
|
1799
|
-
function
|
|
1800
|
-
return
|
|
1944
|
+
function an(e, r) {
|
|
1945
|
+
return Zr(e) || tn(e, r) || cn(e, r) || rn();
|
|
1801
1946
|
}
|
|
1802
|
-
function
|
|
1947
|
+
function on(e, r) {
|
|
1803
1948
|
if (typeof e != "object" || !e) return e;
|
|
1804
|
-
var
|
|
1805
|
-
if (
|
|
1806
|
-
var a =
|
|
1949
|
+
var n = e[Symbol.toPrimitive];
|
|
1950
|
+
if (n !== void 0) {
|
|
1951
|
+
var a = n.call(e, r);
|
|
1807
1952
|
if (typeof a != "object") return a;
|
|
1808
1953
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
1809
1954
|
}
|
|
1810
1955
|
return (r === "string" ? String : Number)(e);
|
|
1811
1956
|
}
|
|
1812
|
-
function
|
|
1813
|
-
var r =
|
|
1957
|
+
function ln(e) {
|
|
1958
|
+
var r = on(e, "string");
|
|
1814
1959
|
return typeof r == "symbol" ? r : r + "";
|
|
1815
1960
|
}
|
|
1816
|
-
function
|
|
1961
|
+
function cn(e, r) {
|
|
1817
1962
|
if (e) {
|
|
1818
|
-
if (typeof e == "string") return
|
|
1819
|
-
var
|
|
1820
|
-
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;
|
|
1821
1966
|
}
|
|
1822
1967
|
}
|
|
1823
|
-
function
|
|
1968
|
+
function un(e, r, n) {
|
|
1824
1969
|
return r in e ? Object.defineProperty(e, r, {
|
|
1825
|
-
value:
|
|
1970
|
+
value: n,
|
|
1826
1971
|
enumerable: !0,
|
|
1827
1972
|
configurable: !0,
|
|
1828
1973
|
writable: !0
|
|
1829
|
-
}) : e[r] =
|
|
1974
|
+
}) : e[r] = n, e;
|
|
1830
1975
|
}
|
|
1831
|
-
function
|
|
1832
|
-
var
|
|
1976
|
+
function Et(e, r) {
|
|
1977
|
+
var n = Object.keys(e);
|
|
1833
1978
|
if (Object.getOwnPropertySymbols) {
|
|
1834
1979
|
var a = Object.getOwnPropertySymbols(e);
|
|
1835
1980
|
r && (a = a.filter(function(o) {
|
|
1836
1981
|
return Object.getOwnPropertyDescriptor(e, o).enumerable;
|
|
1837
|
-
})),
|
|
1982
|
+
})), n.push.apply(n, a);
|
|
1838
1983
|
}
|
|
1839
|
-
return
|
|
1984
|
+
return n;
|
|
1840
1985
|
}
|
|
1841
|
-
function
|
|
1986
|
+
function Ct(e) {
|
|
1842
1987
|
for (var r = 1; r < arguments.length; r++) {
|
|
1843
|
-
var
|
|
1844
|
-
r % 2 ?
|
|
1845
|
-
|
|
1846
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(
|
|
1847
|
-
Object.defineProperty(e, a, Object.getOwnPropertyDescriptor(
|
|
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));
|
|
1848
1993
|
});
|
|
1849
1994
|
}
|
|
1850
1995
|
return e;
|
|
1851
1996
|
}
|
|
1852
|
-
function
|
|
1853
|
-
for (var e = arguments.length, r = new Array(e),
|
|
1854
|
-
r[
|
|
1997
|
+
function dn() {
|
|
1998
|
+
for (var e = arguments.length, r = new Array(e), n = 0; n < e; n++)
|
|
1999
|
+
r[n] = arguments[n];
|
|
1855
2000
|
return function(a) {
|
|
1856
|
-
return r.reduceRight(function(o,
|
|
1857
|
-
return
|
|
2001
|
+
return r.reduceRight(function(o, i) {
|
|
2002
|
+
return i(o);
|
|
1858
2003
|
}, a);
|
|
1859
2004
|
};
|
|
1860
2005
|
}
|
|
1861
2006
|
function ve(e) {
|
|
1862
2007
|
return function r() {
|
|
1863
|
-
for (var
|
|
1864
|
-
o[
|
|
2008
|
+
for (var n = this, a = arguments.length, o = new Array(a), i = 0; i < a; i++)
|
|
2009
|
+
o[i] = arguments[i];
|
|
1865
2010
|
return o.length >= e.length ? e.apply(this, o) : function() {
|
|
1866
|
-
for (var
|
|
1867
|
-
|
|
1868
|
-
return r.apply(
|
|
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));
|
|
1869
2014
|
};
|
|
1870
2015
|
};
|
|
1871
2016
|
}
|
|
1872
|
-
function
|
|
2017
|
+
function Me(e) {
|
|
1873
2018
|
return {}.toString.call(e).includes("Object");
|
|
1874
2019
|
}
|
|
1875
|
-
function
|
|
2020
|
+
function fn(e) {
|
|
1876
2021
|
return !Object.keys(e).length;
|
|
1877
2022
|
}
|
|
1878
2023
|
function je(e) {
|
|
1879
2024
|
return typeof e == "function";
|
|
1880
2025
|
}
|
|
1881
|
-
function
|
|
2026
|
+
function mn(e, r) {
|
|
1882
2027
|
return Object.prototype.hasOwnProperty.call(e, r);
|
|
1883
2028
|
}
|
|
1884
|
-
function
|
|
1885
|
-
return
|
|
1886
|
-
return !
|
|
1887
|
-
}) &&
|
|
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;
|
|
1888
2033
|
}
|
|
1889
|
-
function
|
|
1890
|
-
je(e) ||
|
|
2034
|
+
function pn(e) {
|
|
2035
|
+
je(e) || ce("selectorType");
|
|
1891
2036
|
}
|
|
1892
|
-
function
|
|
1893
|
-
je(e) ||
|
|
2037
|
+
function gn(e) {
|
|
2038
|
+
je(e) || Me(e) || ce("handlerType"), Me(e) && Object.values(e).some(function(r) {
|
|
1894
2039
|
return !je(r);
|
|
1895
|
-
}) &&
|
|
2040
|
+
}) && ce("handlersType");
|
|
1896
2041
|
}
|
|
1897
|
-
function
|
|
1898
|
-
e ||
|
|
2042
|
+
function bn(e) {
|
|
2043
|
+
e || ce("initialIsRequired"), Me(e) || ce("initialType"), fn(e) && ce("initialContent");
|
|
1899
2044
|
}
|
|
1900
|
-
function
|
|
2045
|
+
function vn(e, r) {
|
|
1901
2046
|
throw new Error(e[r] || e.default);
|
|
1902
2047
|
}
|
|
1903
|
-
var
|
|
2048
|
+
var xn = {
|
|
1904
2049
|
initialIsRequired: "initial state is required",
|
|
1905
2050
|
initialType: "initial state should be an object",
|
|
1906
2051
|
initialContent: "initial state shouldn't be an empty object",
|
|
@@ -1910,76 +2055,76 @@ var fn = {
|
|
|
1910
2055
|
changeType: "provided value of changes should be an object",
|
|
1911
2056
|
changeField: 'it seams you want to change a field in the state which is not specified in the "initial" state',
|
|
1912
2057
|
default: "an unknown error accured in `state-local` package"
|
|
1913
|
-
},
|
|
1914
|
-
changes:
|
|
1915
|
-
selector:
|
|
1916
|
-
handler:
|
|
1917
|
-
initial:
|
|
2058
|
+
}, ce = ve(vn)(xn), Ie = {
|
|
2059
|
+
changes: hn,
|
|
2060
|
+
selector: pn,
|
|
2061
|
+
handler: gn,
|
|
2062
|
+
initial: bn
|
|
1918
2063
|
};
|
|
1919
|
-
function
|
|
2064
|
+
function yn(e) {
|
|
1920
2065
|
var r = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
1921
|
-
|
|
1922
|
-
var
|
|
2066
|
+
Ie.initial(e), Ie.handler(r);
|
|
2067
|
+
var n = {
|
|
1923
2068
|
current: e
|
|
1924
|
-
}, a = ve(
|
|
1925
|
-
function
|
|
1926
|
-
var
|
|
1927
|
-
return
|
|
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) {
|
|
2072
|
+
return v;
|
|
1928
2073
|
};
|
|
1929
|
-
return
|
|
2074
|
+
return Ie.selector(p), p(n.current);
|
|
1930
2075
|
}
|
|
1931
|
-
function u(
|
|
1932
|
-
|
|
2076
|
+
function u(p) {
|
|
2077
|
+
dn(a, o, i, h)(p);
|
|
1933
2078
|
}
|
|
1934
|
-
return [
|
|
2079
|
+
return [l, u];
|
|
1935
2080
|
}
|
|
1936
|
-
function
|
|
2081
|
+
function jn(e, r) {
|
|
1937
2082
|
return je(r) ? r(e.current) : r;
|
|
1938
2083
|
}
|
|
1939
|
-
function
|
|
1940
|
-
return e.current =
|
|
2084
|
+
function wn(e, r) {
|
|
2085
|
+
return e.current = Ct(Ct({}, e.current), r), r;
|
|
1941
2086
|
}
|
|
1942
|
-
function
|
|
1943
|
-
return je(r) ? r(e.current) : Object.keys(
|
|
2087
|
+
function En(e, r, n) {
|
|
2088
|
+
return je(r) ? r(e.current) : Object.keys(n).forEach(function(a) {
|
|
1944
2089
|
var o;
|
|
1945
2090
|
return (o = r[a]) === null || o === void 0 ? void 0 : o.call(r, e.current[a]);
|
|
1946
|
-
}),
|
|
2091
|
+
}), n;
|
|
1947
2092
|
}
|
|
1948
|
-
var
|
|
1949
|
-
create:
|
|
1950
|
-
},
|
|
2093
|
+
var Cn = {
|
|
2094
|
+
create: yn
|
|
2095
|
+
}, Nn = {
|
|
1951
2096
|
paths: {
|
|
1952
2097
|
vs: "https://cdn.jsdelivr.net/npm/monaco-editor@0.54.0/min/vs"
|
|
1953
2098
|
}
|
|
1954
2099
|
};
|
|
1955
|
-
function
|
|
2100
|
+
function On(e) {
|
|
1956
2101
|
return function r() {
|
|
1957
|
-
for (var
|
|
1958
|
-
o[
|
|
2102
|
+
for (var n = this, a = arguments.length, o = new Array(a), i = 0; i < a; i++)
|
|
2103
|
+
o[i] = arguments[i];
|
|
1959
2104
|
return o.length >= e.length ? e.apply(this, o) : function() {
|
|
1960
|
-
for (var
|
|
1961
|
-
|
|
1962
|
-
return r.apply(
|
|
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));
|
|
1963
2108
|
};
|
|
1964
2109
|
};
|
|
1965
2110
|
}
|
|
1966
|
-
function
|
|
2111
|
+
function Tn(e) {
|
|
1967
2112
|
return {}.toString.call(e).includes("Object");
|
|
1968
2113
|
}
|
|
1969
|
-
function
|
|
1970
|
-
return e ||
|
|
2114
|
+
function Sn(e) {
|
|
2115
|
+
return e || Nt("configIsRequired"), Tn(e) || Nt("configType"), e.urls ? (In(), {
|
|
1971
2116
|
paths: {
|
|
1972
2117
|
vs: e.urls.monacoBase
|
|
1973
2118
|
}
|
|
1974
2119
|
}) : e;
|
|
1975
2120
|
}
|
|
1976
|
-
function
|
|
1977
|
-
console.warn(
|
|
2121
|
+
function In() {
|
|
2122
|
+
console.warn(Pt.deprecation);
|
|
1978
2123
|
}
|
|
1979
|
-
function
|
|
2124
|
+
function Rn(e, r) {
|
|
1980
2125
|
throw new Error(e[r] || e.default);
|
|
1981
2126
|
}
|
|
1982
|
-
var
|
|
2127
|
+
var Pt = {
|
|
1983
2128
|
configIsRequired: "the configuration object is required",
|
|
1984
2129
|
configType: "the configuration object should be an object",
|
|
1985
2130
|
default: "an unknown error accured in `@monaco-editor/loader` package",
|
|
@@ -1993,372 +2138,434 @@ var Tt = {
|
|
|
1993
2138
|
|
|
1994
2139
|
For more please check the link https://github.com/suren-atoyan/monaco-loader#config
|
|
1995
2140
|
`
|
|
1996
|
-
},
|
|
1997
|
-
config:
|
|
1998
|
-
},
|
|
1999
|
-
for (var r = arguments.length,
|
|
2000
|
-
|
|
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];
|
|
2001
2146
|
return function(o) {
|
|
2002
|
-
return
|
|
2003
|
-
return
|
|
2147
|
+
return n.reduceRight(function(i, h) {
|
|
2148
|
+
return h(i);
|
|
2004
2149
|
}, o);
|
|
2005
2150
|
};
|
|
2006
2151
|
};
|
|
2007
|
-
function
|
|
2008
|
-
return Object.keys(r).forEach(function(
|
|
2009
|
-
r[
|
|
2010
|
-
}),
|
|
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);
|
|
2011
2156
|
}
|
|
2012
|
-
var
|
|
2157
|
+
var An = {
|
|
2013
2158
|
type: "cancelation",
|
|
2014
2159
|
msg: "operation is manually canceled"
|
|
2015
2160
|
};
|
|
2016
|
-
function
|
|
2017
|
-
var r = !1,
|
|
2018
|
-
e.then(function(
|
|
2019
|
-
return r ? o(
|
|
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);
|
|
2020
2165
|
}), e.catch(o);
|
|
2021
2166
|
});
|
|
2022
|
-
return
|
|
2167
|
+
return n.cancel = function() {
|
|
2023
2168
|
return r = !0;
|
|
2024
|
-
},
|
|
2169
|
+
}, n;
|
|
2025
2170
|
}
|
|
2026
|
-
var
|
|
2027
|
-
config:
|
|
2171
|
+
var _n = ["monaco"], Mn = Cn.create({
|
|
2172
|
+
config: Nn,
|
|
2028
2173
|
isInitialized: !1,
|
|
2029
2174
|
resolve: null,
|
|
2030
2175
|
reject: null,
|
|
2031
2176
|
monaco: null
|
|
2032
|
-
}),
|
|
2033
|
-
function
|
|
2034
|
-
var r =
|
|
2035
|
-
|
|
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) {
|
|
2036
2181
|
return {
|
|
2037
|
-
config:
|
|
2038
|
-
monaco:
|
|
2182
|
+
config: At(o.config, a),
|
|
2183
|
+
monaco: n
|
|
2039
2184
|
};
|
|
2040
2185
|
});
|
|
2041
2186
|
}
|
|
2042
|
-
function
|
|
2187
|
+
function Dn() {
|
|
2043
2188
|
var e = we(function(r) {
|
|
2044
|
-
var
|
|
2189
|
+
var n = r.monaco, a = r.isInitialized, o = r.resolve;
|
|
2045
2190
|
return {
|
|
2046
|
-
monaco:
|
|
2191
|
+
monaco: n,
|
|
2047
2192
|
isInitialized: a,
|
|
2048
2193
|
resolve: o
|
|
2049
2194
|
};
|
|
2050
2195
|
});
|
|
2051
2196
|
if (!e.isInitialized) {
|
|
2052
|
-
if (
|
|
2197
|
+
if (Fe({
|
|
2053
2198
|
isInitialized: !0
|
|
2054
2199
|
}), e.monaco)
|
|
2055
|
-
return e.resolve(e.monaco),
|
|
2200
|
+
return e.resolve(e.monaco), He(Ye);
|
|
2056
2201
|
if (window.monaco && window.monaco.editor)
|
|
2057
|
-
return
|
|
2058
|
-
|
|
2202
|
+
return Mt(window.monaco), e.resolve(window.monaco), He(Ye);
|
|
2203
|
+
Pn(Ln, qn)(Wn);
|
|
2059
2204
|
}
|
|
2060
|
-
return
|
|
2205
|
+
return He(Ye);
|
|
2061
2206
|
}
|
|
2062
|
-
function
|
|
2207
|
+
function Ln(e) {
|
|
2063
2208
|
return document.body.appendChild(e);
|
|
2064
2209
|
}
|
|
2065
|
-
function
|
|
2210
|
+
function $n(e) {
|
|
2066
2211
|
var r = document.createElement("script");
|
|
2067
2212
|
return e && (r.src = e), r;
|
|
2068
2213
|
}
|
|
2069
|
-
function
|
|
2214
|
+
function qn(e) {
|
|
2070
2215
|
var r = we(function(a) {
|
|
2071
|
-
var o = a.config,
|
|
2216
|
+
var o = a.config, i = a.reject;
|
|
2072
2217
|
return {
|
|
2073
2218
|
config: o,
|
|
2074
|
-
reject:
|
|
2219
|
+
reject: i
|
|
2075
2220
|
};
|
|
2076
|
-
}),
|
|
2077
|
-
return
|
|
2221
|
+
}), n = $n("".concat(r.config.paths.vs, "/loader.js"));
|
|
2222
|
+
return n.onload = function() {
|
|
2078
2223
|
return e();
|
|
2079
|
-
},
|
|
2224
|
+
}, n.onerror = r.reject, n;
|
|
2080
2225
|
}
|
|
2081
|
-
function
|
|
2082
|
-
var e = we(function(
|
|
2083
|
-
var a =
|
|
2226
|
+
function Wn() {
|
|
2227
|
+
var e = we(function(n) {
|
|
2228
|
+
var a = n.config, o = n.resolve, i = n.reject;
|
|
2084
2229
|
return {
|
|
2085
2230
|
config: a,
|
|
2086
2231
|
resolve: o,
|
|
2087
|
-
reject:
|
|
2232
|
+
reject: i
|
|
2088
2233
|
};
|
|
2089
2234
|
}), r = window.require;
|
|
2090
|
-
r.config(e.config), r(["vs/editor/editor.main"], function(
|
|
2091
|
-
var a =
|
|
2092
|
-
|
|
2093
|
-
}, function(
|
|
2094
|
-
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);
|
|
2095
2240
|
});
|
|
2096
2241
|
}
|
|
2097
|
-
function
|
|
2098
|
-
we().monaco ||
|
|
2242
|
+
function Mt(e) {
|
|
2243
|
+
we().monaco || Fe({
|
|
2099
2244
|
monaco: e
|
|
2100
2245
|
});
|
|
2101
2246
|
}
|
|
2102
|
-
function
|
|
2247
|
+
function Vn() {
|
|
2103
2248
|
return we(function(e) {
|
|
2104
2249
|
var r = e.monaco;
|
|
2105
2250
|
return r;
|
|
2106
2251
|
});
|
|
2107
2252
|
}
|
|
2108
|
-
var
|
|
2109
|
-
return
|
|
2253
|
+
var Ye = new Promise(function(e, r) {
|
|
2254
|
+
return Fe({
|
|
2110
2255
|
resolve: e,
|
|
2111
2256
|
reject: r
|
|
2112
2257
|
});
|
|
2113
|
-
}),
|
|
2114
|
-
config:
|
|
2115
|
-
init:
|
|
2116
|
-
__getMonacoInstance:
|
|
2117
|
-
},
|
|
2118
|
-
function
|
|
2119
|
-
return m.createElement("div", { style:
|
|
2120
|
-
}
|
|
2121
|
-
var
|
|
2122
|
-
function
|
|
2123
|
-
return m.createElement("section", { style: { ...
|
|
2124
|
-
}
|
|
2125
|
-
var
|
|
2126
|
-
function
|
|
2127
|
-
|
|
2128
|
-
}
|
|
2129
|
-
var
|
|
2130
|
-
function
|
|
2131
|
-
let a =
|
|
2132
|
-
|
|
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 ? () => {
|
|
2133
2278
|
a.current = !1;
|
|
2134
2279
|
} : e, r);
|
|
2135
2280
|
}
|
|
2136
|
-
var
|
|
2281
|
+
var ne = Qn;
|
|
2137
2282
|
function xe() {
|
|
2138
2283
|
}
|
|
2139
|
-
function
|
|
2140
|
-
return
|
|
2284
|
+
function he(e, r, n, a) {
|
|
2285
|
+
return Zn(e, a) || es(e, r, n, a);
|
|
2141
2286
|
}
|
|
2142
|
-
function
|
|
2143
|
-
return e.editor.getModel(
|
|
2287
|
+
function Zn(e, r) {
|
|
2288
|
+
return e.editor.getModel($t(e, r));
|
|
2144
2289
|
}
|
|
2145
|
-
function
|
|
2146
|
-
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);
|
|
2147
2292
|
}
|
|
2148
|
-
function
|
|
2293
|
+
function $t(e, r) {
|
|
2149
2294
|
return e.Uri.parse(r);
|
|
2150
2295
|
}
|
|
2151
|
-
function
|
|
2152
|
-
let [
|
|
2153
|
-
|
|
2154
|
-
let
|
|
2155
|
-
return
|
|
2156
|
-
}),
|
|
2157
|
-
if (
|
|
2158
|
-
let
|
|
2159
|
-
w !==
|
|
2160
|
-
}
|
|
2161
|
-
}, [
|
|
2162
|
-
if (
|
|
2163
|
-
let
|
|
2164
|
-
w !==
|
|
2165
|
-
}
|
|
2166
|
-
}, [
|
|
2167
|
-
let
|
|
2168
|
-
|
|
2169
|
-
}, [r],
|
|
2170
|
-
var
|
|
2171
|
-
(w = (
|
|
2172
|
-
}, [e],
|
|
2173
|
-
let { original:
|
|
2174
|
-
|
|
2175
|
-
}, [
|
|
2176
|
-
var
|
|
2177
|
-
(
|
|
2178
|
-
}, [
|
|
2179
|
-
var
|
|
2180
|
-
(
|
|
2181
|
-
}, [
|
|
2182
|
-
let
|
|
2183
|
-
var
|
|
2184
|
-
if (!
|
|
2185
|
-
|
|
2186
|
-
let
|
|
2187
|
-
(
|
|
2188
|
-
}, [
|
|
2189
|
-
var
|
|
2190
|
-
!
|
|
2191
|
-
}, [
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
}, [
|
|
2195
|
-
!
|
|
2196
|
-
}, [
|
|
2197
|
-
function
|
|
2198
|
-
var w,
|
|
2199
|
-
let
|
|
2200
|
-
|
|
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();
|
|
2201
2346
|
}
|
|
2202
|
-
return m.createElement(
|
|
2347
|
+
return m.createElement(Dt, { width: A, height: P, isEditorReady: j, loading: v, _ref: D, className: z, wrapperProps: E });
|
|
2203
2348
|
}
|
|
2204
|
-
var
|
|
2205
|
-
|
|
2206
|
-
function
|
|
2207
|
-
let r =
|
|
2208
|
-
return
|
|
2349
|
+
var rs = ts;
|
|
2350
|
+
Ge(rs);
|
|
2351
|
+
function ns(e) {
|
|
2352
|
+
let r = Q();
|
|
2353
|
+
return le(() => {
|
|
2209
2354
|
r.current = e;
|
|
2210
2355
|
}, [e]), r.current;
|
|
2211
2356
|
}
|
|
2212
|
-
var
|
|
2213
|
-
function
|
|
2214
|
-
let [
|
|
2215
|
-
|
|
2216
|
-
let
|
|
2217
|
-
return
|
|
2218
|
-
}),
|
|
2219
|
-
var
|
|
2220
|
-
let
|
|
2221
|
-
|
|
2222
|
-
}, [
|
|
2223
|
-
var
|
|
2224
|
-
(
|
|
2225
|
-
}, [
|
|
2226
|
-
!
|
|
2227
|
-
}, [a],
|
|
2228
|
-
var
|
|
2229
|
-
let
|
|
2230
|
-
|
|
2231
|
-
}, [o],
|
|
2232
|
-
var
|
|
2233
|
-
|
|
2234
|
-
}, [
|
|
2235
|
-
var
|
|
2236
|
-
(
|
|
2237
|
-
}, [
|
|
2238
|
-
let
|
|
2239
|
-
var
|
|
2240
|
-
if (!(!
|
|
2241
|
-
G.current(
|
|
2242
|
-
let
|
|
2243
|
-
|
|
2244
|
-
}
|
|
2245
|
-
}, [e, r,
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
}, [
|
|
2249
|
-
!
|
|
2250
|
-
}, [
|
|
2251
|
-
var
|
|
2252
|
-
|
|
2253
|
-
|
|
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);
|
|
2254
2399
|
}));
|
|
2255
|
-
}, [
|
|
2256
|
-
if (
|
|
2257
|
-
let
|
|
2258
|
-
var
|
|
2259
|
-
let
|
|
2260
|
-
if (
|
|
2261
|
-
let
|
|
2262
|
-
|
|
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);
|
|
2263
2408
|
}
|
|
2264
2409
|
});
|
|
2265
2410
|
return () => {
|
|
2266
|
-
|
|
2411
|
+
y == null || y.dispose();
|
|
2267
2412
|
};
|
|
2268
2413
|
}
|
|
2269
2414
|
return () => {
|
|
2270
2415
|
};
|
|
2271
|
-
}, [
|
|
2272
|
-
function
|
|
2273
|
-
var
|
|
2274
|
-
(
|
|
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();
|
|
2275
2420
|
}
|
|
2276
|
-
return m.createElement(
|
|
2421
|
+
return m.createElement(Dt, { width: A, height: z, isEditorReady: f, loading: u, _ref: V, className: E, wrapperProps: F });
|
|
2277
2422
|
}
|
|
2278
|
-
var
|
|
2279
|
-
function
|
|
2280
|
-
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(() => {
|
|
2281
2426
|
try {
|
|
2282
|
-
return
|
|
2427
|
+
return Te.dump(e, { indent: 2, lineWidth: -1 });
|
|
2283
2428
|
} catch {
|
|
2284
2429
|
return "";
|
|
2285
2430
|
}
|
|
2286
|
-
}), [
|
|
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]);
|
|
2287
2436
|
m.useEffect(() => {
|
|
2288
|
-
const
|
|
2289
|
-
if (
|
|
2290
|
-
const
|
|
2291
|
-
|
|
2437
|
+
const f = () => {
|
|
2438
|
+
if (o.current) {
|
|
2439
|
+
const C = o.current.getBoundingClientRect().top, g = window.innerHeight - C - 20;
|
|
2440
|
+
x(Math.max(400, g));
|
|
2292
2441
|
}
|
|
2293
2442
|
};
|
|
2294
|
-
return
|
|
2443
|
+
return f(), window.addEventListener("resize", f), () => window.removeEventListener("resize", f);
|
|
2295
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;
|
|
2296
2455
|
try {
|
|
2297
|
-
const
|
|
2298
|
-
|
|
2299
|
-
} catch (j) {
|
|
2300
|
-
i(`Failed to serialize: ${j.message}`);
|
|
2301
|
-
}
|
|
2302
|
-
}, [e, o]);
|
|
2303
|
-
const A = (j) => {
|
|
2304
|
-
h(j || ""), i("");
|
|
2305
|
-
}, T = () => {
|
|
2306
|
-
try {
|
|
2307
|
-
let j;
|
|
2308
|
-
if (o === "json" ? j = JSON.parse(u) : j = pe.load(u), !j || typeof j != "object")
|
|
2456
|
+
const C = F(f || "{}");
|
|
2457
|
+
if (!C || typeof C != "object")
|
|
2309
2458
|
throw new Error("Invalid form data: must be an object");
|
|
2310
|
-
|
|
2311
|
-
} catch (
|
|
2312
|
-
|
|
2313
|
-
|
|
2314
|
-
|
|
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) => {
|
|
2315
2511
|
try {
|
|
2316
|
-
|
|
2317
|
-
|
|
2318
|
-
|
|
2319
|
-
|
|
2320
|
-
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);
|
|
2321
2516
|
}
|
|
2322
2517
|
};
|
|
2323
|
-
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: [
|
|
2324
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: [
|
|
2325
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: [
|
|
2326
2539
|
/* @__PURE__ */ t.jsx(
|
|
2327
2540
|
"button",
|
|
2328
2541
|
{
|
|
2329
|
-
onClick: () =>
|
|
2330
|
-
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"}`,
|
|
2331
2544
|
children: "YAML"
|
|
2332
2545
|
}
|
|
2333
2546
|
),
|
|
2334
2547
|
/* @__PURE__ */ t.jsx(
|
|
2335
2548
|
"button",
|
|
2336
2549
|
{
|
|
2337
|
-
onClick: () =>
|
|
2338
|
-
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"}`,
|
|
2339
2552
|
children: "JSON"
|
|
2340
2553
|
}
|
|
2341
2554
|
)
|
|
2342
2555
|
] }) }),
|
|
2343
2556
|
/* @__PURE__ */ t.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
2344
|
-
|
|
2345
|
-
/* @__PURE__ */ t.jsx(
|
|
2346
|
-
"button",
|
|
2347
|
-
{
|
|
2348
|
-
onClick: T,
|
|
2349
|
-
className: "px-4 py-2 rounded-lg border border-black/15 bg-white hover:bg-black/5 text-sm font-medium transition-colors",
|
|
2350
|
-
children: "Apply Changes"
|
|
2351
|
-
}
|
|
2352
|
-
)
|
|
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 })
|
|
2353
2559
|
] })
|
|
2354
2560
|
] }),
|
|
2355
2561
|
/* @__PURE__ */ t.jsx("div", { className: "code-editor-content flex-1 overflow-hidden", children: /* @__PURE__ */ t.jsx(
|
|
2356
|
-
|
|
2562
|
+
is,
|
|
2357
2563
|
{
|
|
2358
2564
|
height: "100%",
|
|
2359
|
-
language:
|
|
2360
|
-
value:
|
|
2361
|
-
onChange:
|
|
2565
|
+
language: u,
|
|
2566
|
+
value: P,
|
|
2567
|
+
onChange: j,
|
|
2568
|
+
onMount: L,
|
|
2362
2569
|
theme: "light",
|
|
2363
2570
|
options: {
|
|
2364
2571
|
minimap: { enabled: !1 },
|
|
@@ -2370,20 +2577,21 @@ function rs() {
|
|
|
2370
2577
|
tabSize: 2,
|
|
2371
2578
|
automaticLayout: !0,
|
|
2372
2579
|
scrollBeyondLastLine: !1,
|
|
2373
|
-
padding: { top: 16 }
|
|
2580
|
+
padding: { top: 16 },
|
|
2581
|
+
contextmenu: !0
|
|
2374
2582
|
}
|
|
2375
2583
|
}
|
|
2376
2584
|
) })
|
|
2377
2585
|
] });
|
|
2378
2586
|
}
|
|
2379
|
-
function
|
|
2380
|
-
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;
|
|
2381
2589
|
return /* @__PURE__ */ t.jsxs("div", { className: "layout-container w-full h-fit rounded-lg mt-2 md:mt-4 lg:mt-6", children: [
|
|
2382
|
-
|
|
2383
|
-
u && /* @__PURE__ */ t.jsx("div", { className: "layout-tool-panel hidden lg:block lg:w-72", children: /* @__PURE__ */ t.jsx(
|
|
2384
|
-
/* @__PURE__ */ t.jsx("div", { className: "layout-main-content flex-1 min-w-0", children: /* @__PURE__ */ t.jsx(
|
|
2385
|
-
u && /* @__PURE__ */ t.jsx("div", { className: "layout-edit-panel hidden lg:block lg:w-90 md:w-80", children: /* @__PURE__ */ t.jsx(
|
|
2386
|
-
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: [
|
|
2387
2595
|
/* @__PURE__ */ t.jsx(
|
|
2388
2596
|
"div",
|
|
2389
2597
|
{
|
|
@@ -2391,20 +2599,20 @@ function ns({ selectedField: e }) {
|
|
|
2391
2599
|
onClick: () => r.modal.set(!1)
|
|
2392
2600
|
}
|
|
2393
2601
|
),
|
|
2394
|
-
/* @__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) }) })
|
|
2395
2603
|
] }) })
|
|
2396
2604
|
] }),
|
|
2397
|
-
u && !
|
|
2605
|
+
u && !i && /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
|
|
2398
2606
|
/* @__PURE__ */ t.jsx(
|
|
2399
2607
|
"button",
|
|
2400
2608
|
{
|
|
2401
|
-
onClick: () => a(!
|
|
2609
|
+
onClick: () => a(!n),
|
|
2402
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",
|
|
2403
2611
|
title: "Add field",
|
|
2404
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" }) })
|
|
2405
2613
|
}
|
|
2406
2614
|
),
|
|
2407
|
-
|
|
2615
|
+
n && /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
|
|
2408
2616
|
/* @__PURE__ */ t.jsx(
|
|
2409
2617
|
"div",
|
|
2410
2618
|
{
|
|
@@ -2412,70 +2620,70 @@ function ns({ selectedField: e }) {
|
|
|
2412
2620
|
onClick: () => a(!1)
|
|
2413
2621
|
}
|
|
2414
2622
|
),
|
|
2415
|
-
/* @__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, {}) })
|
|
2416
2624
|
] })
|
|
2417
2625
|
] })
|
|
2418
2626
|
] });
|
|
2419
2627
|
}
|
|
2420
|
-
function
|
|
2628
|
+
function ds({
|
|
2421
2629
|
initialFormData: e,
|
|
2422
2630
|
schemaType: r,
|
|
2423
|
-
onChange:
|
|
2631
|
+
onChange: n,
|
|
2424
2632
|
className: a = "",
|
|
2425
2633
|
showHeader: o = !0,
|
|
2426
|
-
startInPreview:
|
|
2427
|
-
hideUnsupportedFields:
|
|
2634
|
+
startInPreview: i = !1,
|
|
2635
|
+
hideUnsupportedFields: h = !1
|
|
2428
2636
|
}) {
|
|
2429
|
-
const [
|
|
2637
|
+
const [l, u] = m.useState("json"), p = ie(), v = m.useRef(!1), x = m.useContext(Xe);
|
|
2430
2638
|
m.useEffect(() => {
|
|
2431
|
-
var
|
|
2432
|
-
if (!(
|
|
2639
|
+
var A;
|
|
2640
|
+
if (!(v.current || !x)) {
|
|
2433
2641
|
if (e)
|
|
2434
2642
|
try {
|
|
2435
|
-
const { data:
|
|
2436
|
-
|
|
2437
|
-
const
|
|
2438
|
-
schemaType:
|
|
2439
|
-
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 || []
|
|
2440
2648
|
};
|
|
2441
|
-
if (
|
|
2442
|
-
Object.assign(
|
|
2443
|
-
else if (
|
|
2444
|
-
const { fields:
|
|
2445
|
-
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);
|
|
2446
2654
|
}
|
|
2447
|
-
Array.isArray(
|
|
2655
|
+
Array.isArray(R.fields) && R.fields.length && x.getState().replaceAll(R);
|
|
2448
2656
|
} catch {
|
|
2449
|
-
|
|
2657
|
+
x.getState().replaceAll({ schemaType: "mieforms-v1.0", fields: [] });
|
|
2450
2658
|
}
|
|
2451
|
-
|
|
2452
|
-
}
|
|
2453
|
-
}, [e, r,
|
|
2454
|
-
|
|
2455
|
-
}, [
|
|
2456
|
-
if (!(!
|
|
2457
|
-
return
|
|
2458
|
-
|
|
2459
|
-
schemaType:
|
|
2460
|
-
...
|
|
2461
|
-
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])
|
|
2462
2670
|
});
|
|
2463
2671
|
});
|
|
2464
|
-
}, [
|
|
2465
|
-
const
|
|
2466
|
-
|
|
2467
|
-
(
|
|
2672
|
+
}, [n, x]);
|
|
2673
|
+
const P = Mr(
|
|
2674
|
+
x,
|
|
2675
|
+
(A) => p.selectedFieldId.value ? A.byId[p.selectedFieldId.value] : null
|
|
2468
2676
|
);
|
|
2469
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: [
|
|
2470
|
-
o && /* @__PURE__ */ t.jsx(
|
|
2471
|
-
/* @__PURE__ */ t.jsx(
|
|
2678
|
+
o && /* @__PURE__ */ t.jsx($r, { codeFormat: l, onCodeFormatChange: u }),
|
|
2679
|
+
/* @__PURE__ */ t.jsx(us, { selectedField: P, codeFormat: l })
|
|
2472
2680
|
] });
|
|
2473
2681
|
}
|
|
2474
|
-
function
|
|
2475
|
-
const r = m.useRef(
|
|
2476
|
-
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 }) }) }) });
|
|
2477
2685
|
}
|
|
2478
2686
|
export {
|
|
2479
|
-
|
|
2687
|
+
gs as QuestionnaireEditor
|
|
2480
2688
|
};
|
|
2481
2689
|
//# sourceMappingURL=index.js.map
|