@dust-tt/sparkle 0.2.170 → 0.2.171
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/_index.d.ts +2 -0
- package/dist/cjs/components/ZoomableImageCitationWrapper.d.ts +9 -0
- package/dist/cjs/index.js +3048 -100
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/_index.d.ts +2 -0
- package/dist/esm/components/ZoomableImageCitationWrapper.d.ts +9 -0
- package/dist/esm/index.js +3049 -102
- package/dist/esm/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
package/dist/cjs/index.js
CHANGED
|
@@ -50,7 +50,7 @@ function styleInject(css, ref) {
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
-
var css_248z = ".s-form-checkbox,.s-form-radio {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n padding: 0;\n -webkit-print-color-adjust: exact;\n print-color-adjust: exact;\n display: inline-block;\n vertical-align: middle;\n background-origin: border-box;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n flex-shrink: 0;\n height: 1rem;\n width: 1rem;\n color: #2563eb;\n background-color: #fff;\n border-color: #6b7280;\n border-width: 1px;\n --tw-shadow: 0 0 #0000;\n}\n.s-form-radio {\n border-radius: 100%;\n}\n.s-form-checkbox:focus,.s-form-radio:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: #2563eb;\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n}\n.s-form-checkbox:checked,.s-form-radio:checked {\n border-color: transparent;\n background-color: currentColor;\n background-size: 100% 100%;\n background-position: center;\n background-repeat: no-repeat;\n}\n.s-form-radio:checked {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e\");\n}\n.s-form-checkbox:checked:hover,.s-form-checkbox:checked:focus,.s-form-radio:checked:hover,.s-form-radio:checked:focus {\n border-color: transparent;\n background-color: currentColor;\n}\n.s-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.s-pointer-events-none {\n pointer-events: none;\n}\n.s-pointer-events-auto {\n pointer-events: auto;\n}\n.s-visible {\n visibility: visible;\n}\n.s-invisible {\n visibility: hidden;\n}\n.s-collapse {\n visibility: collapse;\n}\n.s-fixed {\n position: fixed;\n}\n.s-absolute {\n position: absolute;\n}\n.s-relative {\n position: relative;\n}\n.s-inset-0 {\n inset: 0px;\n}\n.s-inset-y-0 {\n top: 0px;\n bottom: 0px;\n}\n.s-bottom-0 {\n bottom: 0px;\n}\n.s-bottom-6 {\n bottom: 1.5rem;\n}\n.s-bottom-full {\n bottom: 100%;\n}\n.s-left-0 {\n left: 0px;\n}\n.s-left-1\\/2 {\n left: 50%;\n}\n.s-right-0 {\n right: 0px;\n}\n.s-right-16 {\n right: 4rem;\n}\n.s-right-2 {\n right: 0.5rem;\n}\n.s-top-0 {\n top: 0px;\n}\n.s-top-2 {\n top: 0.5rem;\n}\n.s-top-full {\n top: 100%;\n}\n.s-z-0 {\n z-index: 0;\n}\n.s-z-10 {\n z-index: 10;\n}\n.s-z-30 {\n z-index: 30;\n}\n.s-z-50 {\n z-index: 50;\n}\n.s-m-0 {\n margin: 0px;\n}\n.s-m-px {\n margin: 1px;\n}\n.s-mx-2 {\n margin-left: 0.5rem;\n margin-right: 0.5rem;\n}\n.s-mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n.s-my-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n}\n.s-my-6 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n}\n.-s-mr-1 {\n margin-right: -0.25rem;\n}\n.-s-mt-1 {\n margin-top: -0.25rem;\n}\n.-s-mt-2 {\n margin-top: -0.5rem;\n}\n.s-mb-0 {\n margin-bottom: 0px;\n}\n.s-mb-0\\.5 {\n margin-bottom: 0.125rem;\n}\n.s-mb-1 {\n margin-bottom: 0.25rem;\n}\n.s-mb-2 {\n margin-bottom: 0.5rem;\n}\n.s-ml-2 {\n margin-left: 0.5rem;\n}\n.s-ml-auto {\n margin-left: auto;\n}\n.s-mt-0 {\n margin-top: 0px;\n}\n.s-mt-0\\.5 {\n margin-top: 0.125rem;\n}\n.s-mt-14 {\n margin-top: 3.5rem;\n}\n.s-mt-16 {\n margin-top: 4rem;\n}\n.s-mt-2 {\n margin-top: 0.5rem;\n}\n.s-mt-4 {\n margin-top: 1rem;\n}\n.s-box-border {\n box-sizing: border-box;\n}\n.s-line-clamp-1 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n}\n.s-line-clamp-2 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n}\n.s-line-clamp-3 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 3;\n}\n.s-block {\n display: block;\n}\n.s-inline-block {\n display: inline-block;\n}\n.s-flex {\n display: flex;\n}\n.s-inline-flex {\n display: inline-flex;\n}\n.s-grid {\n display: grid;\n}\n.s-hidden {\n display: none;\n}\n.s-h-1\\/2 {\n height: 50%;\n}\n.s-h-10 {\n height: 2.5rem;\n}\n.s-h-12 {\n height: 3rem;\n}\n.s-h-16 {\n height: 4rem;\n}\n.s-h-20 {\n height: 5rem;\n}\n.s-h-36 {\n height: 9rem;\n}\n.s-h-4 {\n height: 1rem;\n}\n.s-h-40 {\n height: 10rem;\n}\n.s-h-44 {\n height: 11rem;\n}\n.s-h-5 {\n height: 1.25rem;\n}\n.s-h-6 {\n height: 1.5rem;\n}\n.s-h-7 {\n height: 1.75rem;\n}\n.s-h-72 {\n height: 18rem;\n}\n.s-h-8 {\n height: 2rem;\n}\n.s-h-9 {\n height: 2.25rem;\n}\n.s-h-96 {\n height: 24rem;\n}\n.s-h-\\[100vh\\] {\n height: 100vh;\n}\n.s-h-\\[26px\\] {\n height: 26px;\n}\n.s-h-\\[34px\\] {\n height: 34px;\n}\n.s-h-\\[46px\\] {\n height: 46px;\n}\n.s-h-full {\n height: 100%;\n}\n.s-h-px {\n height: 1px;\n}\n.s-max-h-32 {\n max-height: 8rem;\n}\n.s-max-h-\\[344px\\] {\n max-height: 344px;\n}\n.s-max-h-full {\n max-height: 100%;\n}\n.s-min-h-16 {\n min-height: 4rem;\n}\n.s-min-h-20 {\n min-height: 5rem;\n}\n.s-min-h-60 {\n min-height: 15rem;\n}\n.s-min-h-full {\n min-height: 100%;\n}\n.s-w-1\\/2 {\n width: 50%;\n}\n.s-w-10 {\n width: 2.5rem;\n}\n.s-w-12 {\n width: 3rem;\n}\n.s-w-14 {\n width: 3.5rem;\n}\n.s-w-16 {\n width: 4rem;\n}\n.s-w-20 {\n width: 5rem;\n}\n.s-w-32 {\n width: 8rem;\n}\n.s-w-36 {\n width: 9rem;\n}\n.s-w-4 {\n width: 1rem;\n}\n.s-w-40 {\n width: 10rem;\n}\n.s-w-44 {\n width: 11rem;\n}\n.s-w-48 {\n width: 12rem;\n}\n.s-w-5 {\n width: 1.25rem;\n}\n.s-w-6 {\n width: 1.5rem;\n}\n.s-w-60 {\n width: 15rem;\n}\n.s-w-64 {\n width: 16rem;\n}\n.s-w-8 {\n width: 2rem;\n}\n.s-w-\\[320px\\] {\n width: 320px;\n}\n.s-w-\\[38em\\] {\n width: 38em;\n}\n.s-w-auto {\n width: auto;\n}\n.s-w-fit {\n width: -moz-fit-content;\n width: fit-content;\n}\n.s-w-full {\n width: 100%;\n}\n.s-min-w-0 {\n min-width: 0px;\n}\n.s-max-w-2xl {\n max-width: 42rem;\n}\n.s-max-w-4xl {\n max-width: 56rem;\n}\n.s-max-w-\\[380px\\] {\n max-width: 380px;\n}\n.s-max-w-\\[400px\\] {\n max-width: 400px;\n}\n.s-max-w-\\[500px\\] {\n max-width: 500px;\n}\n.s-max-w-full {\n max-width: 100%;\n}\n.s-max-w-lg {\n max-width: 32rem;\n}\n.s-flex-1 {\n flex: 1 1 0%;\n}\n.s-flex-none {\n flex: none;\n}\n.s-flex-shrink-0 {\n flex-shrink: 0;\n}\n.s-shrink {\n flex-shrink: 1;\n}\n.s-shrink-0 {\n flex-shrink: 0;\n}\n.s-flex-grow {\n flex-grow: 1;\n}\n.s-grow {\n flex-grow: 1;\n}\n.s-basis-0 {\n flex-basis: 0px;\n}\n.s-table-auto {\n table-layout: auto;\n}\n.s-origin-bottom-left {\n transform-origin: bottom left;\n}\n.s-origin-bottom-right {\n transform-origin: bottom right;\n}\n.s-origin-top-left {\n transform-origin: top left;\n}\n.s-origin-top-right {\n transform-origin: top right;\n}\n.-s-translate-x-1\\/2 {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-s-translate-y-0 {\n --tw-translate-y: -0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-s-translate-y-5 {\n --tw-translate-y: -1.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-translate-x-0 {\n --tw-translate-x: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-translate-x-16 {\n --tw-translate-x: 4rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-translate-x-\\[14px\\] {\n --tw-translate-x: 14px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-translate-x-\\[22px\\] {\n --tw-translate-x: 22px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-translate-x-\\[2px\\] {\n --tw-translate-x: 2px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-translate-y-0 {\n --tw-translate-y: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-translate-y-2 {\n --tw-translate-y: 0.5rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-translate-y-4 {\n --tw-translate-y: 1rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-translate-y-5 {\n --tw-translate-y: 1.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-scale-100 {\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-scale-95 {\n --tw-scale-x: .95;\n --tw-scale-y: .95;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-animate-\\[bgblink_500ms_3\\] {\n animation: bgblink 500ms 3;\n}\n@keyframes s-breathing {\n 0%, 100% {\n filter: brightness(105%);\n }\n 50% {\n filter: brightness(80%);\n }\n}\n.s-animate-breathing {\n animation: s-breathing 3s infinite ease-in-out;\n}\n@keyframes s-breathing-scale {\n 0%, 100% {\n filter: brightness(105%);\n transform: scale(1.0);\n }\n 50% {\n filter: brightness(97%);\n transform: scale(0.95);\n }\n}\n.s-animate-breathing-scale {\n animation: s-breathing-scale 3s infinite ease-in-out;\n}\n.s-cursor-default {\n cursor: default;\n}\n.s-cursor-not-allowed {\n cursor: not-allowed;\n}\n.s-cursor-pointer {\n cursor: pointer;\n}\n.s-select-none {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.s-resize-y {\n resize: vertical;\n}\n.s-list-decimal {\n list-style-type: decimal;\n}\n.s-list-disc {\n list-style-type: disc;\n}\n.s-grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n.s-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n.s-grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n}\n.s-grid-cols-8 {\n grid-template-columns: repeat(8, minmax(0, 1fr));\n}\n.s-grid-cols-\\[auto\\,1fr\\,auto\\] {\n grid-template-columns: auto 1fr auto;\n}\n.s-grid-rows-2 {\n grid-template-rows: repeat(2, minmax(0, 1fr));\n}\n.s-grid-rows-3 {\n grid-template-rows: repeat(3, minmax(0, 1fr));\n}\n.s-grid-rows-4 {\n grid-template-rows: repeat(4, minmax(0, 1fr));\n}\n.s-grid-rows-5 {\n grid-template-rows: repeat(5, minmax(0, 1fr));\n}\n.s-flex-row {\n flex-direction: row;\n}\n.s-flex-col {\n flex-direction: column;\n}\n.s-flex-wrap {\n flex-wrap: wrap;\n}\n.s-flex-nowrap {\n flex-wrap: nowrap;\n}\n.s-items-start {\n align-items: flex-start;\n}\n.s-items-end {\n align-items: flex-end;\n}\n.s-items-center {\n align-items: center;\n}\n.s-items-baseline {\n align-items: baseline;\n}\n.s-items-stretch {\n align-items: stretch;\n}\n.s-justify-start {\n justify-content: flex-start;\n}\n.s-justify-end {\n justify-content: flex-end;\n}\n.s-justify-center {\n justify-content: center;\n}\n.s-justify-between {\n justify-content: space-between;\n}\n.s-justify-stretch {\n justify-content: stretch;\n}\n.s-justify-items-center {\n justify-items: center;\n}\n.s-gap-0 {\n gap: 0px;\n}\n.s-gap-0\\.5 {\n gap: 0.125rem;\n}\n.s-gap-1 {\n gap: 0.25rem;\n}\n.s-gap-1\\.5 {\n gap: 0.375rem;\n}\n.s-gap-10 {\n gap: 2.5rem;\n}\n.s-gap-12 {\n gap: 3rem;\n}\n.s-gap-16 {\n gap: 4rem;\n}\n.s-gap-2 {\n gap: 0.5rem;\n}\n.s-gap-2\\.5 {\n gap: 0.625rem;\n}\n.s-gap-20 {\n gap: 5rem;\n}\n.s-gap-3 {\n gap: 0.75rem;\n}\n.s-gap-4 {\n gap: 1rem;\n}\n.s-gap-5 {\n gap: 1.25rem;\n}\n.s-gap-6 {\n gap: 1.5rem;\n}\n.s-gap-8 {\n gap: 2rem;\n}\n.s-gap-x-1 {\n -moz-column-gap: 0.25rem;\n column-gap: 0.25rem;\n}\n.s-gap-x-1\\.5 {\n -moz-column-gap: 0.375rem;\n column-gap: 0.375rem;\n}\n.s-gap-x-2 {\n -moz-column-gap: 0.5rem;\n column-gap: 0.5rem;\n}\n.s-gap-x-3 {\n -moz-column-gap: 0.75rem;\n column-gap: 0.75rem;\n}\n.s-gap-x-4 {\n -moz-column-gap: 1rem;\n column-gap: 1rem;\n}\n.s-gap-y-2 {\n row-gap: 0.5rem;\n}\n.s-gap-y-3 {\n row-gap: 0.75rem;\n}\n.s-gap-y-96 {\n row-gap: 24rem;\n}\n.s-space-x-0 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0px * var(--tw-space-x-reverse));\n margin-left: calc(0px * calc(1 - var(--tw-space-x-reverse)));\n}\n.s-divide-y > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-y-reverse: 0;\n border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));\n border-bottom-width: calc(1px * var(--tw-divide-y-reverse));\n}\n.s-divide-structure-100 > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-opacity: 1;\n border-color: rgb(241 245 249 / var(--tw-divide-opacity));\n}\n.s-divide-structure-200 > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-opacity: 1;\n border-color: rgb(226 232 240 / var(--tw-divide-opacity));\n}\n.s-self-center {\n align-self: center;\n}\n.s-overflow-auto {\n overflow: auto;\n}\n.s-overflow-hidden {\n overflow: hidden;\n}\n.s-overflow-visible {\n overflow: visible;\n}\n.s-overflow-x-auto {\n overflow-x: auto;\n}\n.s-overflow-y-auto {\n overflow-y: auto;\n}\n.s-overflow-x-hidden {\n overflow-x: hidden;\n}\n.s-overflow-y-hidden {\n overflow-y: hidden;\n}\n.s-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.s-text-ellipsis {\n text-overflow: ellipsis;\n}\n.s-whitespace-nowrap {\n white-space: nowrap;\n}\n.s-whitespace-pre-wrap {\n white-space: pre-wrap;\n}\n.s-break-words {\n overflow-wrap: break-word;\n}\n.s-rounded {\n border-radius: 0.25rem;\n}\n.s-rounded-2xl {\n border-radius: 1rem;\n}\n.s-rounded-3xl {\n border-radius: 1.5rem;\n}\n.s-rounded-\\[24px\\] {\n border-radius: 24px;\n}\n.s-rounded-\\[28px\\] {\n border-radius: 28px;\n}\n.s-rounded-\\[30\\%\\] {\n border-radius: 30%;\n}\n.s-rounded-\\[30px\\] {\n border-radius: 30px;\n}\n.s-rounded-\\[32px\\] {\n border-radius: 32px;\n}\n.s-rounded-\\[38px\\] {\n border-radius: 38px;\n}\n.s-rounded-full {\n border-radius: 9999px;\n}\n.s-rounded-lg {\n border-radius: 0.5rem;\n}\n.s-rounded-md {\n border-radius: 0.375rem;\n}\n.s-rounded-xl {\n border-radius: 0.75rem;\n}\n.s-border {\n border-width: 1px;\n}\n.s-border-0 {\n border-width: 0px;\n}\n.s-border-b {\n border-bottom-width: 1px;\n}\n.s-border-b-2 {\n border-bottom-width: 2px;\n}\n.s-border-t {\n border-top-width: 1px;\n}\n.s-border-action-200 {\n --tw-border-opacity: 1;\n border-color: rgb(191 219 254 / var(--tw-border-opacity));\n}\n.s-border-action-500 {\n --tw-border-opacity: 1;\n border-color: rgb(59 130 246 / var(--tw-border-opacity));\n}\n.s-border-action-600 {\n --tw-border-opacity: 1;\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\n}\n.s-border-amber-200 {\n --tw-border-opacity: 1;\n border-color: rgb(253 230 138 / var(--tw-border-opacity));\n}\n.s-border-blue-200 {\n --tw-border-opacity: 1;\n border-color: rgb(191 219 254 / var(--tw-border-opacity));\n}\n.s-border-cyan-200 {\n --tw-border-opacity: 1;\n border-color: rgb(165 243 252 / var(--tw-border-opacity));\n}\n.s-border-element-600 {\n --tw-border-opacity: 1;\n border-color: rgb(148 163 184 / var(--tw-border-opacity));\n}\n.s-border-emerald-200 {\n --tw-border-opacity: 1;\n border-color: rgb(167 243 208 / var(--tw-border-opacity));\n}\n.s-border-fuchsia-200 {\n --tw-border-opacity: 1;\n border-color: rgb(245 208 254 / var(--tw-border-opacity));\n}\n.s-border-gray-200 {\n --tw-border-opacity: 1;\n border-color: rgb(229 231 235 / var(--tw-border-opacity));\n}\n.s-border-green-200 {\n --tw-border-opacity: 1;\n border-color: rgb(187 247 208 / var(--tw-border-opacity));\n}\n.s-border-indigo-200 {\n --tw-border-opacity: 1;\n border-color: rgb(199 210 254 / var(--tw-border-opacity));\n}\n.s-border-lime-200 {\n --tw-border-opacity: 1;\n border-color: rgb(217 249 157 / var(--tw-border-opacity));\n}\n.s-border-orange-200 {\n --tw-border-opacity: 1;\n border-color: rgb(254 215 170 / var(--tw-border-opacity));\n}\n.s-border-pink-100 {\n --tw-border-opacity: 1;\n border-color: rgb(252 231 243 / var(--tw-border-opacity));\n}\n.s-border-pink-200 {\n --tw-border-opacity: 1;\n border-color: rgb(251 207 232 / var(--tw-border-opacity));\n}\n.s-border-purple-200 {\n --tw-border-opacity: 1;\n border-color: rgb(233 213 255 / var(--tw-border-opacity));\n}\n.s-border-red-200 {\n --tw-border-opacity: 1;\n border-color: rgb(254 202 202 / var(--tw-border-opacity));\n}\n.s-border-red-500 {\n --tw-border-opacity: 1;\n border-color: rgb(239 68 68 / var(--tw-border-opacity));\n}\n.s-border-rose-200 {\n --tw-border-opacity: 1;\n border-color: rgb(254 205 211 / var(--tw-border-opacity));\n}\n.s-border-sky-200 {\n --tw-border-opacity: 1;\n border-color: rgb(186 230 253 / var(--tw-border-opacity));\n}\n.s-border-slate-200 {\n --tw-border-opacity: 1;\n border-color: rgb(226 232 240 / var(--tw-border-opacity));\n}\n.s-border-slate-950\\/10 {\n border-color: rgb(2 6 23 / 0.1);\n}\n.s-border-stone-200 {\n --tw-border-opacity: 1;\n border-color: rgb(231 229 228 / var(--tw-border-opacity));\n}\n.s-border-structure-0 {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity));\n}\n.s-border-structure-100 {\n --tw-border-opacity: 1;\n border-color: rgb(241 245 249 / var(--tw-border-opacity));\n}\n.s-border-structure-100\\/0 {\n border-color: rgb(241 245 249 / 0);\n}\n.s-border-structure-200 {\n --tw-border-opacity: 1;\n border-color: rgb(226 232 240 / var(--tw-border-opacity));\n}\n.s-border-structure-300 {\n --tw-border-opacity: 1;\n border-color: rgb(203 213 225 / var(--tw-border-opacity));\n}\n.s-border-structure-300\\/30 {\n border-color: rgb(203 213 225 / 0.3);\n}\n.s-border-structure-50 {\n --tw-border-opacity: 1;\n border-color: rgb(248 250 252 / var(--tw-border-opacity));\n}\n.s-border-teal-200 {\n --tw-border-opacity: 1;\n border-color: rgb(153 246 228 / var(--tw-border-opacity));\n}\n.s-border-transparent {\n border-color: transparent;\n}\n.s-border-violet-200 {\n --tw-border-opacity: 1;\n border-color: rgb(221 214 254 / var(--tw-border-opacity));\n}\n.s-border-warning-200 {\n --tw-border-opacity: 1;\n border-color: rgb(254 202 202 / var(--tw-border-opacity));\n}\n.s-border-warning-600 {\n --tw-border-opacity: 1;\n border-color: rgb(220 38 38 / var(--tw-border-opacity));\n}\n.s-border-white\\/30 {\n border-color: rgb(255 255 255 / 0.3);\n}\n.s-border-yellow-200 {\n --tw-border-opacity: 1;\n border-color: rgb(254 240 138 / var(--tw-border-opacity));\n}\n.s-bg-action-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(219 234 254 / var(--tw-bg-opacity));\n}\n.s-bg-action-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(191 219 254 / var(--tw-bg-opacity));\n}\n.s-bg-action-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(147 197 253 / var(--tw-bg-opacity));\n}\n.s-bg-action-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(96 165 250 / var(--tw-bg-opacity));\n}\n.s-bg-action-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity));\n}\n.s-bg-action-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(37 99 235 / var(--tw-bg-opacity));\n}\n.s-bg-action-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(29 78 216 / var(--tw-bg-opacity));\n}\n.s-bg-action-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(30 64 175 / var(--tw-bg-opacity));\n}\n.s-bg-amber-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 243 199 / var(--tw-bg-opacity));\n}\n.s-bg-amber-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(253 230 138 / var(--tw-bg-opacity));\n}\n.s-bg-amber-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(252 211 77 / var(--tw-bg-opacity));\n}\n.s-bg-amber-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(251 191 36 / var(--tw-bg-opacity));\n}\n.s-bg-amber-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(245 158 11 / var(--tw-bg-opacity));\n}\n.s-bg-amber-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(217 119 6 / var(--tw-bg-opacity));\n}\n.s-bg-amber-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(180 83 9 / var(--tw-bg-opacity));\n}\n.s-bg-amber-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(146 64 14 / var(--tw-bg-opacity));\n}\n.s-bg-blue-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(219 234 254 / var(--tw-bg-opacity));\n}\n.s-bg-blue-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(191 219 254 / var(--tw-bg-opacity));\n}\n.s-bg-blue-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(147 197 253 / var(--tw-bg-opacity));\n}\n.s-bg-blue-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(96 165 250 / var(--tw-bg-opacity));\n}\n.s-bg-blue-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity));\n}\n.s-bg-blue-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(37 99 235 / var(--tw-bg-opacity));\n}\n.s-bg-blue-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(29 78 216 / var(--tw-bg-opacity));\n}\n.s-bg-blue-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(30 64 175 / var(--tw-bg-opacity));\n}\n.s-bg-brand {\n --tw-bg-opacity: 1;\n background-color: rgb(16 185 129 / var(--tw-bg-opacity));\n}\n.s-bg-cyan-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(207 250 254 / var(--tw-bg-opacity));\n}\n.s-bg-cyan-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(165 243 252 / var(--tw-bg-opacity));\n}\n.s-bg-cyan-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(103 232 249 / var(--tw-bg-opacity));\n}\n.s-bg-cyan-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(34 211 238 / var(--tw-bg-opacity));\n}\n.s-bg-cyan-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(6 182 212 / var(--tw-bg-opacity));\n}\n.s-bg-cyan-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(8 145 178 / var(--tw-bg-opacity));\n}\n.s-bg-cyan-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(14 116 144 / var(--tw-bg-opacity));\n}\n.s-bg-cyan-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(21 94 117 / var(--tw-bg-opacity));\n}\n.s-bg-element-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(203 213 225 / var(--tw-bg-opacity));\n}\n.s-bg-element-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(100 116 139 / var(--tw-bg-opacity));\n}\n.s-bg-emerald-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(209 250 229 / var(--tw-bg-opacity));\n}\n.s-bg-emerald-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(167 243 208 / var(--tw-bg-opacity));\n}\n.s-bg-emerald-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(110 231 183 / var(--tw-bg-opacity));\n}\n.s-bg-emerald-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(52 211 153 / var(--tw-bg-opacity));\n}\n.s-bg-emerald-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(16 185 129 / var(--tw-bg-opacity));\n}\n.s-bg-emerald-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(5 150 105 / var(--tw-bg-opacity));\n}\n.s-bg-emerald-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(4 120 87 / var(--tw-bg-opacity));\n}\n.s-bg-emerald-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(6 95 70 / var(--tw-bg-opacity));\n}\n.s-bg-fuchsia-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(250 232 255 / var(--tw-bg-opacity));\n}\n.s-bg-fuchsia-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(245 208 254 / var(--tw-bg-opacity));\n}\n.s-bg-fuchsia-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(240 171 252 / var(--tw-bg-opacity));\n}\n.s-bg-fuchsia-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(232 121 249 / var(--tw-bg-opacity));\n}\n.s-bg-fuchsia-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(217 70 239 / var(--tw-bg-opacity));\n}\n.s-bg-fuchsia-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(192 38 211 / var(--tw-bg-opacity));\n}\n.s-bg-fuchsia-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(162 28 175 / var(--tw-bg-opacity));\n}\n.s-bg-fuchsia-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(134 25 143 / var(--tw-bg-opacity));\n}\n.s-bg-gray-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\n}\n.s-bg-gray-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\n}\n.s-bg-gray-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(209 213 219 / var(--tw-bg-opacity));\n}\n.s-bg-gray-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(156 163 175 / var(--tw-bg-opacity));\n}\n.s-bg-gray-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(107 114 128 / var(--tw-bg-opacity));\n}\n.s-bg-gray-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(75 85 99 / var(--tw-bg-opacity));\n}\n.s-bg-gray-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\n}\n.s-bg-gray-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\n}\n.s-bg-green-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(220 252 231 / var(--tw-bg-opacity));\n}\n.s-bg-green-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(187 247 208 / var(--tw-bg-opacity));\n}\n.s-bg-green-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(134 239 172 / var(--tw-bg-opacity));\n}\n.s-bg-green-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(74 222 128 / var(--tw-bg-opacity));\n}\n.s-bg-green-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(34 197 94 / var(--tw-bg-opacity));\n}\n.s-bg-green-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(22 163 74 / var(--tw-bg-opacity));\n}\n.s-bg-green-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(21 128 61 / var(--tw-bg-opacity));\n}\n.s-bg-green-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(22 101 52 / var(--tw-bg-opacity));\n}\n.s-bg-indigo-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(224 231 255 / var(--tw-bg-opacity));\n}\n.s-bg-indigo-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(199 210 254 / var(--tw-bg-opacity));\n}\n.s-bg-indigo-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(165 180 252 / var(--tw-bg-opacity));\n}\n.s-bg-indigo-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(129 140 248 / var(--tw-bg-opacity));\n}\n.s-bg-indigo-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(99 102 241 / var(--tw-bg-opacity));\n}\n.s-bg-indigo-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(79 70 229 / var(--tw-bg-opacity));\n}\n.s-bg-indigo-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(67 56 202 / var(--tw-bg-opacity));\n}\n.s-bg-indigo-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(55 48 163 / var(--tw-bg-opacity));\n}\n.s-bg-lime-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(236 252 203 / var(--tw-bg-opacity));\n}\n.s-bg-lime-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(217 249 157 / var(--tw-bg-opacity));\n}\n.s-bg-lime-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(190 242 100 / var(--tw-bg-opacity));\n}\n.s-bg-lime-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(163 230 53 / var(--tw-bg-opacity));\n}\n.s-bg-lime-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(132 204 22 / var(--tw-bg-opacity));\n}\n.s-bg-lime-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(101 163 13 / var(--tw-bg-opacity));\n}\n.s-bg-lime-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(77 124 15 / var(--tw-bg-opacity));\n}\n.s-bg-lime-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(63 98 18 / var(--tw-bg-opacity));\n}\n.s-bg-orange-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(255 237 213 / var(--tw-bg-opacity));\n}\n.s-bg-orange-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 215 170 / var(--tw-bg-opacity));\n}\n.s-bg-orange-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(253 186 116 / var(--tw-bg-opacity));\n}\n.s-bg-orange-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(251 146 60 / var(--tw-bg-opacity));\n}\n.s-bg-orange-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(249 115 22 / var(--tw-bg-opacity));\n}\n.s-bg-orange-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(234 88 12 / var(--tw-bg-opacity));\n}\n.s-bg-orange-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(194 65 12 / var(--tw-bg-opacity));\n}\n.s-bg-orange-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(154 52 18 / var(--tw-bg-opacity));\n}\n.s-bg-pink-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(252 231 243 / var(--tw-bg-opacity));\n}\n.s-bg-pink-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(251 207 232 / var(--tw-bg-opacity));\n}\n.s-bg-pink-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(249 168 212 / var(--tw-bg-opacity));\n}\n.s-bg-pink-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(244 114 182 / var(--tw-bg-opacity));\n}\n.s-bg-pink-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(253 242 248 / var(--tw-bg-opacity));\n}\n.s-bg-pink-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(236 72 153 / var(--tw-bg-opacity));\n}\n.s-bg-pink-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(219 39 119 / var(--tw-bg-opacity));\n}\n.s-bg-pink-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(190 24 93 / var(--tw-bg-opacity));\n}\n.s-bg-pink-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(157 23 77 / var(--tw-bg-opacity));\n}\n.s-bg-purple-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(243 232 255 / var(--tw-bg-opacity));\n}\n.s-bg-purple-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(233 213 255 / var(--tw-bg-opacity));\n}\n.s-bg-purple-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(216 180 254 / var(--tw-bg-opacity));\n}\n.s-bg-purple-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(192 132 252 / var(--tw-bg-opacity));\n}\n.s-bg-purple-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(168 85 247 / var(--tw-bg-opacity));\n}\n.s-bg-purple-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(147 51 234 / var(--tw-bg-opacity));\n}\n.s-bg-purple-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(126 34 206 / var(--tw-bg-opacity));\n}\n.s-bg-purple-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(107 33 168 / var(--tw-bg-opacity));\n}\n.s-bg-red-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 226 226 / var(--tw-bg-opacity));\n}\n.s-bg-red-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 202 202 / var(--tw-bg-opacity));\n}\n.s-bg-red-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(252 165 165 / var(--tw-bg-opacity));\n}\n.s-bg-red-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(248 113 113 / var(--tw-bg-opacity));\n}\n.s-bg-red-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(239 68 68 / var(--tw-bg-opacity));\n}\n.s-bg-red-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(220 38 38 / var(--tw-bg-opacity));\n}\n.s-bg-red-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(185 28 28 / var(--tw-bg-opacity));\n}\n.s-bg-red-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(153 27 27 / var(--tw-bg-opacity));\n}\n.s-bg-rose-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(255 228 230 / var(--tw-bg-opacity));\n}\n.s-bg-rose-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 205 211 / var(--tw-bg-opacity));\n}\n.s-bg-rose-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(253 164 175 / var(--tw-bg-opacity));\n}\n.s-bg-rose-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(251 113 133 / var(--tw-bg-opacity));\n}\n.s-bg-rose-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(244 63 94 / var(--tw-bg-opacity));\n}\n.s-bg-rose-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(225 29 72 / var(--tw-bg-opacity));\n}\n.s-bg-rose-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(190 18 60 / var(--tw-bg-opacity));\n}\n.s-bg-rose-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(159 18 57 / var(--tw-bg-opacity));\n}\n.s-bg-sky-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(224 242 254 / var(--tw-bg-opacity));\n}\n.s-bg-sky-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(186 230 253 / var(--tw-bg-opacity));\n}\n.s-bg-sky-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(125 211 252 / var(--tw-bg-opacity));\n}\n.s-bg-sky-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(56 189 248 / var(--tw-bg-opacity));\n}\n.s-bg-sky-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(14 165 233 / var(--tw-bg-opacity));\n}\n.s-bg-sky-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(2 132 199 / var(--tw-bg-opacity));\n}\n.s-bg-sky-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(3 105 161 / var(--tw-bg-opacity));\n}\n.s-bg-sky-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(7 89 133 / var(--tw-bg-opacity));\n}\n.s-bg-slate-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(241 245 249 / var(--tw-bg-opacity));\n}\n.s-bg-slate-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(226 232 240 / var(--tw-bg-opacity));\n}\n.s-bg-slate-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(203 213 225 / var(--tw-bg-opacity));\n}\n.s-bg-slate-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(148 163 184 / var(--tw-bg-opacity));\n}\n.s-bg-slate-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(100 116 139 / var(--tw-bg-opacity));\n}\n.s-bg-slate-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(71 85 105 / var(--tw-bg-opacity));\n}\n.s-bg-slate-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(51 65 85 / var(--tw-bg-opacity));\n}\n.s-bg-slate-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(30 41 59 / var(--tw-bg-opacity));\n}\n.s-bg-slate-900 {\n --tw-bg-opacity: 1;\n background-color: rgb(15 23 42 / var(--tw-bg-opacity));\n}\n.s-bg-slate-950\\/30 {\n background-color: rgb(2 6 23 / 0.3);\n}\n.s-bg-stone-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(245 245 244 / var(--tw-bg-opacity));\n}\n.s-bg-stone-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(231 229 228 / var(--tw-bg-opacity));\n}\n.s-bg-stone-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(214 211 209 / var(--tw-bg-opacity));\n}\n.s-bg-stone-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(168 162 158 / var(--tw-bg-opacity));\n}\n.s-bg-stone-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(120 113 108 / var(--tw-bg-opacity));\n}\n.s-bg-stone-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(87 83 78 / var(--tw-bg-opacity));\n}\n.s-bg-stone-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(68 64 60 / var(--tw-bg-opacity));\n}\n.s-bg-stone-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(41 37 36 / var(--tw-bg-opacity));\n}\n.s-bg-structure-0 {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n.s-bg-structure-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(241 245 249 / var(--tw-bg-opacity));\n}\n.s-bg-structure-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(226 232 240 / var(--tw-bg-opacity));\n}\n.s-bg-structure-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(248 250 252 / var(--tw-bg-opacity));\n}\n.s-bg-structure-50\\/80 {\n background-color: rgb(248 250 252 / 0.8);\n}\n.s-bg-success-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(110 231 183 / var(--tw-bg-opacity));\n}\n.s-bg-teal-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(204 251 241 / var(--tw-bg-opacity));\n}\n.s-bg-teal-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(153 246 228 / var(--tw-bg-opacity));\n}\n.s-bg-teal-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(94 234 212 / var(--tw-bg-opacity));\n}\n.s-bg-teal-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(45 212 191 / var(--tw-bg-opacity));\n}\n.s-bg-teal-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(20 184 166 / var(--tw-bg-opacity));\n}\n.s-bg-teal-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(13 148 136 / var(--tw-bg-opacity));\n}\n.s-bg-teal-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(15 118 110 / var(--tw-bg-opacity));\n}\n.s-bg-teal-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(17 94 89 / var(--tw-bg-opacity));\n}\n.s-bg-violet-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(237 233 254 / var(--tw-bg-opacity));\n}\n.s-bg-violet-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(221 214 254 / var(--tw-bg-opacity));\n}\n.s-bg-violet-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(196 181 253 / var(--tw-bg-opacity));\n}\n.s-bg-violet-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(167 139 250 / var(--tw-bg-opacity));\n}\n.s-bg-violet-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(139 92 246 / var(--tw-bg-opacity));\n}\n.s-bg-violet-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(124 58 237 / var(--tw-bg-opacity));\n}\n.s-bg-violet-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(109 40 217 / var(--tw-bg-opacity));\n}\n.s-bg-violet-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(91 33 182 / var(--tw-bg-opacity));\n}\n.s-bg-warning-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 226 226 / var(--tw-bg-opacity));\n}\n.s-bg-warning-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 202 202 / var(--tw-bg-opacity));\n}\n.s-bg-warning-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(252 165 165 / var(--tw-bg-opacity));\n}\n.s-bg-warning-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(248 113 113 / var(--tw-bg-opacity));\n}\n.s-bg-warning-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(239 68 68 / var(--tw-bg-opacity));\n}\n.s-bg-warning-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(220 38 38 / var(--tw-bg-opacity));\n}\n.s-bg-warning-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(185 28 28 / var(--tw-bg-opacity));\n}\n.s-bg-warning-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(153 27 27 / var(--tw-bg-opacity));\n}\n.s-bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n.s-bg-white\\/80 {\n background-color: rgb(255 255 255 / 0.8);\n}\n.s-bg-yellow-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 249 195 / var(--tw-bg-opacity));\n}\n.s-bg-yellow-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 240 138 / var(--tw-bg-opacity));\n}\n.s-bg-yellow-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(253 224 71 / var(--tw-bg-opacity));\n}\n.s-bg-yellow-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(250 204 21 / var(--tw-bg-opacity));\n}\n.s-bg-yellow-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(234 179 8 / var(--tw-bg-opacity));\n}\n.s-bg-yellow-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(202 138 4 / var(--tw-bg-opacity));\n}\n.s-bg-yellow-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(161 98 7 / var(--tw-bg-opacity));\n}\n.s-bg-yellow-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(133 77 14 / var(--tw-bg-opacity));\n}\n.s-bg-gradient-to-r {\n background-image: linear-gradient(to right, var(--tw-gradient-stops));\n}\n.s-bg-gradient-to-t {\n background-image: linear-gradient(to top, var(--tw-gradient-stops));\n}\n.s-from-amber-400 {\n --tw-gradient-from: #fbbf24 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(251 191 36 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.s-from-blue-400 {\n --tw-gradient-from: #60a5fa var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.s-from-cyan-500 {\n --tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.s-from-emerald-400 {\n --tw-gradient-from: #34d399 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(52 211 153 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.s-from-pink-400 {\n --tw-gradient-from: #f472b6 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(244 114 182 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.s-from-sky-400 {\n --tw-gradient-from: #38bdf8 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(56 189 248 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.s-from-stone-400 {\n --tw-gradient-from: #a8a29e var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(168 162 158 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.s-to-blue-400 {\n --tw-gradient-to: #60a5fa var(--tw-gradient-to-position);\n}\n.s-to-blue-500 {\n --tw-gradient-to: #3b82f6 var(--tw-gradient-to-position);\n}\n.s-to-green-400 {\n --tw-gradient-to: #4ade80 var(--tw-gradient-to-position);\n}\n.s-to-indigo-300 {\n --tw-gradient-to: #a5b4fc var(--tw-gradient-to-position);\n}\n.s-to-red-300 {\n --tw-gradient-to: #fca5a5 var(--tw-gradient-to-position);\n}\n.s-to-stone-300 {\n --tw-gradient-to: #d6d3d1 var(--tw-gradient-to-position);\n}\n.s-to-yellow-300 {\n --tw-gradient-to: #fde047 var(--tw-gradient-to-position);\n}\n.s-object-cover {\n -o-object-fit: cover;\n object-fit: cover;\n}\n.s-object-center {\n -o-object-position: center;\n object-position: center;\n}\n.s-p-0 {\n padding: 0px;\n}\n.s-p-10 {\n padding: 2.5rem;\n}\n.s-p-2 {\n padding: 0.5rem;\n}\n.s-p-2\\.5 {\n padding: 0.625rem;\n}\n.s-p-20 {\n padding: 5rem;\n}\n.s-p-3 {\n padding: 0.75rem;\n}\n.s-p-4 {\n padding: 1rem;\n}\n.s-p-5 {\n padding: 1.25rem;\n}\n.s-p-6 {\n padding: 1.5rem;\n}\n.s-p-8 {\n padding: 2rem;\n}\n.s-p-px {\n padding: 1px;\n}\n.s-px-0 {\n padding-left: 0px;\n padding-right: 0px;\n}\n.s-px-0\\.5 {\n padding-left: 0.125rem;\n padding-right: 0.125rem;\n}\n.s-px-1 {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n}\n.s-px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n.s-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n.s-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n.s-px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n}\n.s-px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n.s-py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n}\n.s-py-0\\.5 {\n padding-top: 0.125rem;\n padding-bottom: 0.125rem;\n}\n.s-py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\n.s-py-1\\.5 {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n}\n.s-py-16 {\n padding-top: 4rem;\n padding-bottom: 4rem;\n}\n.s-py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n.s-py-2\\.5 {\n padding-top: 0.625rem;\n padding-bottom: 0.625rem;\n}\n.s-py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n.s-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n.s-pb-1 {\n padding-bottom: 0.25rem;\n}\n.s-pb-10 {\n padding-bottom: 2.5rem;\n}\n.s-pb-2 {\n padding-bottom: 0.5rem;\n}\n.s-pb-3 {\n padding-bottom: 0.75rem;\n}\n.s-pb-6 {\n padding-bottom: 1.5rem;\n}\n.s-pb-8 {\n padding-bottom: 2rem;\n}\n.s-pl-0 {\n padding-left: 0px;\n}\n.s-pl-0\\.5 {\n padding-left: 0.125rem;\n}\n.s-pl-1 {\n padding-left: 0.25rem;\n}\n.s-pl-2 {\n padding-left: 0.5rem;\n}\n.s-pl-2\\.5 {\n padding-left: 0.625rem;\n}\n.s-pl-3 {\n padding-left: 0.75rem;\n}\n.s-pl-32 {\n padding-left: 8rem;\n}\n.s-pl-4 {\n padding-left: 1rem;\n}\n.s-pl-5 {\n padding-left: 1.25rem;\n}\n.s-pl-6 {\n padding-left: 1.5rem;\n}\n.s-pl-64 {\n padding-left: 16rem;\n}\n.s-pl-7 {\n padding-left: 1.75rem;\n}\n.s-pr-10 {\n padding-right: 2.5rem;\n}\n.s-pr-2 {\n padding-right: 0.5rem;\n}\n.s-pr-3 {\n padding-right: 0.75rem;\n}\n.s-pr-3\\.5 {\n padding-right: 0.875rem;\n}\n.s-pr-4 {\n padding-right: 1rem;\n}\n.s-pr-5 {\n padding-right: 1.25rem;\n}\n.s-pr-6 {\n padding-right: 1.5rem;\n}\n.s-pr-8 {\n padding-right: 2rem;\n}\n.s-pt-0 {\n padding-top: 0px;\n}\n.s-pt-0\\.5 {\n padding-top: 0.125rem;\n}\n.s-pt-1 {\n padding-top: 0.25rem;\n}\n.s-pt-1\\.5 {\n padding-top: 0.375rem;\n}\n.s-pt-10 {\n padding-top: 2.5rem;\n}\n.s-pt-16 {\n padding-top: 4rem;\n}\n.s-pt-3 {\n padding-top: 0.75rem;\n}\n.s-pt-4 {\n padding-top: 1rem;\n}\n.s-pt-6 {\n padding-top: 1.5rem;\n}\n.s-pt-7 {\n padding-top: 1.75rem;\n}\n.s-text-left {\n text-align: left;\n}\n.s-text-right {\n text-align: right;\n}\n.s-text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n.s-text-3xl {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n.s-text-4xl {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n.s-text-5xl {\n font-size: 3rem;\n line-height: 1;\n}\n.s-text-7xl {\n font-size: 4.5rem;\n line-height: 1;\n}\n.s-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n.s-text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n.s-text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.s-text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n.s-text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n.s-font-bold {\n font-weight: 700;\n}\n.s-font-medium {\n font-weight: 500;\n}\n.s-font-normal {\n font-weight: 400;\n}\n.s-font-semibold {\n font-weight: 600;\n}\n.s-uppercase {\n text-transform: uppercase;\n}\n.s-italic {\n font-style: italic;\n}\n.s-tracking-wider {\n letter-spacing: 0.05em;\n}\n.s-text-action-300 {\n --tw-text-opacity: 1;\n color: rgb(147 197 253 / var(--tw-text-opacity));\n}\n.s-text-action-400 {\n --tw-text-opacity: 1;\n color: rgb(96 165 250 / var(--tw-text-opacity));\n}\n.s-text-action-500 {\n --tw-text-opacity: 1;\n color: rgb(59 130 246 / var(--tw-text-opacity));\n}\n.s-text-action-800 {\n --tw-text-opacity: 1;\n color: rgb(30 64 175 / var(--tw-text-opacity));\n}\n.s-text-action-900 {\n --tw-text-opacity: 1;\n color: rgb(30 58 138 / var(--tw-text-opacity));\n}\n.s-text-action-950 {\n --tw-text-opacity: 1;\n color: rgb(23 37 84 / var(--tw-text-opacity));\n}\n.s-text-amber-500 {\n --tw-text-opacity: 1;\n color: rgb(245 158 11 / var(--tw-text-opacity));\n}\n.s-text-amber-700 {\n --tw-text-opacity: 1;\n color: rgb(180 83 9 / var(--tw-text-opacity));\n}\n.s-text-amber-800 {\n --tw-text-opacity: 1;\n color: rgb(146 64 14 / var(--tw-text-opacity));\n}\n.s-text-amber-900 {\n --tw-text-opacity: 1;\n color: rgb(120 53 15 / var(--tw-text-opacity));\n}\n.s-text-amber-950 {\n --tw-text-opacity: 1;\n color: rgb(69 26 3 / var(--tw-text-opacity));\n}\n.s-text-blue-700 {\n --tw-text-opacity: 1;\n color: rgb(29 78 216 / var(--tw-text-opacity));\n}\n.s-text-blue-800 {\n --tw-text-opacity: 1;\n color: rgb(30 64 175 / var(--tw-text-opacity));\n}\n.s-text-blue-900 {\n --tw-text-opacity: 1;\n color: rgb(30 58 138 / var(--tw-text-opacity));\n}\n.s-text-blue-950 {\n --tw-text-opacity: 1;\n color: rgb(23 37 84 / var(--tw-text-opacity));\n}\n.s-text-brand {\n --tw-text-opacity: 1;\n color: rgb(16 185 129 / var(--tw-text-opacity));\n}\n.s-text-cyan-700 {\n --tw-text-opacity: 1;\n color: rgb(14 116 144 / var(--tw-text-opacity));\n}\n.s-text-cyan-800 {\n --tw-text-opacity: 1;\n color: rgb(21 94 117 / var(--tw-text-opacity));\n}\n.s-text-cyan-900 {\n --tw-text-opacity: 1;\n color: rgb(22 78 99 / var(--tw-text-opacity));\n}\n.s-text-cyan-950 {\n --tw-text-opacity: 1;\n color: rgb(8 51 68 / var(--tw-text-opacity));\n}\n.s-text-element-500 {\n --tw-text-opacity: 1;\n color: rgb(203 213 225 / var(--tw-text-opacity));\n}\n.s-text-element-600 {\n --tw-text-opacity: 1;\n color: rgb(148 163 184 / var(--tw-text-opacity));\n}\n.s-text-element-700 {\n --tw-text-opacity: 1;\n color: rgb(100 116 139 / var(--tw-text-opacity));\n}\n.s-text-element-800 {\n --tw-text-opacity: 1;\n color: rgb(51 65 85 / var(--tw-text-opacity));\n}\n.s-text-element-900 {\n --tw-text-opacity: 1;\n color: rgb(15 23 42 / var(--tw-text-opacity));\n}\n.s-text-emerald-500 {\n --tw-text-opacity: 1;\n color: rgb(16 185 129 / var(--tw-text-opacity));\n}\n.s-text-emerald-700 {\n --tw-text-opacity: 1;\n color: rgb(4 120 87 / var(--tw-text-opacity));\n}\n.s-text-emerald-800 {\n --tw-text-opacity: 1;\n color: rgb(6 95 70 / var(--tw-text-opacity));\n}\n.s-text-emerald-900 {\n --tw-text-opacity: 1;\n color: rgb(6 78 59 / var(--tw-text-opacity));\n}\n.s-text-emerald-950 {\n --tw-text-opacity: 1;\n color: rgb(2 44 34 / var(--tw-text-opacity));\n}\n.s-text-fuchsia-700 {\n --tw-text-opacity: 1;\n color: rgb(162 28 175 / var(--tw-text-opacity));\n}\n.s-text-fuchsia-800 {\n --tw-text-opacity: 1;\n color: rgb(134 25 143 / var(--tw-text-opacity));\n}\n.s-text-fuchsia-900 {\n --tw-text-opacity: 1;\n color: rgb(112 26 117 / var(--tw-text-opacity));\n}\n.s-text-fuchsia-950 {\n --tw-text-opacity: 1;\n color: rgb(74 4 78 / var(--tw-text-opacity));\n}\n.s-text-gray-500 {\n --tw-text-opacity: 1;\n color: rgb(107 114 128 / var(--tw-text-opacity));\n}\n.s-text-gray-800 {\n --tw-text-opacity: 1;\n color: rgb(31 41 55 / var(--tw-text-opacity));\n}\n.s-text-gray-900 {\n --tw-text-opacity: 1;\n color: rgb(17 24 39 / var(--tw-text-opacity));\n}\n.s-text-gray-950 {\n --tw-text-opacity: 1;\n color: rgb(3 7 18 / var(--tw-text-opacity));\n}\n.s-text-green-700 {\n --tw-text-opacity: 1;\n color: rgb(21 128 61 / var(--tw-text-opacity));\n}\n.s-text-green-800 {\n --tw-text-opacity: 1;\n color: rgb(22 101 52 / var(--tw-text-opacity));\n}\n.s-text-green-900 {\n --tw-text-opacity: 1;\n color: rgb(20 83 45 / var(--tw-text-opacity));\n}\n.s-text-green-950 {\n --tw-text-opacity: 1;\n color: rgb(5 46 22 / var(--tw-text-opacity));\n}\n.s-text-indigo-700 {\n --tw-text-opacity: 1;\n color: rgb(67 56 202 / var(--tw-text-opacity));\n}\n.s-text-indigo-800 {\n --tw-text-opacity: 1;\n color: rgb(55 48 163 / var(--tw-text-opacity));\n}\n.s-text-indigo-900 {\n --tw-text-opacity: 1;\n color: rgb(49 46 129 / var(--tw-text-opacity));\n}\n.s-text-indigo-950 {\n --tw-text-opacity: 1;\n color: rgb(30 27 75 / var(--tw-text-opacity));\n}\n.s-text-lime-700 {\n --tw-text-opacity: 1;\n color: rgb(77 124 15 / var(--tw-text-opacity));\n}\n.s-text-lime-800 {\n --tw-text-opacity: 1;\n color: rgb(63 98 18 / var(--tw-text-opacity));\n}\n.s-text-lime-900 {\n --tw-text-opacity: 1;\n color: rgb(54 83 20 / var(--tw-text-opacity));\n}\n.s-text-lime-950 {\n --tw-text-opacity: 1;\n color: rgb(26 46 5 / var(--tw-text-opacity));\n}\n.s-text-orange-700 {\n --tw-text-opacity: 1;\n color: rgb(194 65 12 / var(--tw-text-opacity));\n}\n.s-text-orange-800 {\n --tw-text-opacity: 1;\n color: rgb(154 52 18 / var(--tw-text-opacity));\n}\n.s-text-orange-900 {\n --tw-text-opacity: 1;\n color: rgb(124 45 18 / var(--tw-text-opacity));\n}\n.s-text-orange-950 {\n --tw-text-opacity: 1;\n color: rgb(67 20 7 / var(--tw-text-opacity));\n}\n.s-text-pink-800 {\n --tw-text-opacity: 1;\n color: rgb(157 23 77 / var(--tw-text-opacity));\n}\n.s-text-pink-900 {\n --tw-text-opacity: 1;\n color: rgb(131 24 67 / var(--tw-text-opacity));\n}\n.s-text-pink-950 {\n --tw-text-opacity: 1;\n color: rgb(80 7 36 / var(--tw-text-opacity));\n}\n.s-text-purple-700 {\n --tw-text-opacity: 1;\n color: rgb(126 34 206 / var(--tw-text-opacity));\n}\n.s-text-purple-800 {\n --tw-text-opacity: 1;\n color: rgb(107 33 168 / var(--tw-text-opacity));\n}\n.s-text-purple-900 {\n --tw-text-opacity: 1;\n color: rgb(88 28 135 / var(--tw-text-opacity));\n}\n.s-text-purple-950 {\n --tw-text-opacity: 1;\n color: rgb(59 7 100 / var(--tw-text-opacity));\n}\n.s-text-red-500 {\n --tw-text-opacity: 1;\n color: rgb(239 68 68 / var(--tw-text-opacity));\n}\n.s-text-red-700 {\n --tw-text-opacity: 1;\n color: rgb(185 28 28 / var(--tw-text-opacity));\n}\n.s-text-red-800 {\n --tw-text-opacity: 1;\n color: rgb(153 27 27 / var(--tw-text-opacity));\n}\n.s-text-red-900 {\n --tw-text-opacity: 1;\n color: rgb(127 29 29 / var(--tw-text-opacity));\n}\n.s-text-red-950 {\n --tw-text-opacity: 1;\n color: rgb(69 10 10 / var(--tw-text-opacity));\n}\n.s-text-rose-700 {\n --tw-text-opacity: 1;\n color: rgb(190 18 60 / var(--tw-text-opacity));\n}\n.s-text-rose-800 {\n --tw-text-opacity: 1;\n color: rgb(159 18 57 / var(--tw-text-opacity));\n}\n.s-text-rose-900 {\n --tw-text-opacity: 1;\n color: rgb(136 19 55 / var(--tw-text-opacity));\n}\n.s-text-rose-950 {\n --tw-text-opacity: 1;\n color: rgb(76 5 25 / var(--tw-text-opacity));\n}\n.s-text-sky-700 {\n --tw-text-opacity: 1;\n color: rgb(3 105 161 / var(--tw-text-opacity));\n}\n.s-text-sky-800 {\n --tw-text-opacity: 1;\n color: rgb(7 89 133 / var(--tw-text-opacity));\n}\n.s-text-sky-900 {\n --tw-text-opacity: 1;\n color: rgb(12 74 110 / var(--tw-text-opacity));\n}\n.s-text-sky-950 {\n --tw-text-opacity: 1;\n color: rgb(8 47 73 / var(--tw-text-opacity));\n}\n.s-text-slate-400 {\n --tw-text-opacity: 1;\n color: rgb(148 163 184 / var(--tw-text-opacity));\n}\n.s-text-slate-700 {\n --tw-text-opacity: 1;\n color: rgb(51 65 85 / var(--tw-text-opacity));\n}\n.s-text-slate-800 {\n --tw-text-opacity: 1;\n color: rgb(30 41 59 / var(--tw-text-opacity));\n}\n.s-text-slate-900 {\n --tw-text-opacity: 1;\n color: rgb(15 23 42 / var(--tw-text-opacity));\n}\n.s-text-slate-950 {\n --tw-text-opacity: 1;\n color: rgb(2 6 23 / var(--tw-text-opacity));\n}\n.s-text-stone-800 {\n --tw-text-opacity: 1;\n color: rgb(41 37 36 / var(--tw-text-opacity));\n}\n.s-text-stone-900 {\n --tw-text-opacity: 1;\n color: rgb(28 25 23 / var(--tw-text-opacity));\n}\n.s-text-stone-950 {\n --tw-text-opacity: 1;\n color: rgb(12 10 9 / var(--tw-text-opacity));\n}\n.s-text-structure-0 {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n.s-text-success-500 {\n --tw-text-opacity: 1;\n color: rgb(16 185 129 / var(--tw-text-opacity));\n}\n.s-text-teal-700 {\n --tw-text-opacity: 1;\n color: rgb(15 118 110 / var(--tw-text-opacity));\n}\n.s-text-teal-800 {\n --tw-text-opacity: 1;\n color: rgb(17 94 89 / var(--tw-text-opacity));\n}\n.s-text-teal-900 {\n --tw-text-opacity: 1;\n color: rgb(19 78 74 / var(--tw-text-opacity));\n}\n.s-text-teal-950 {\n --tw-text-opacity: 1;\n color: rgb(4 47 46 / var(--tw-text-opacity));\n}\n.s-text-violet-700 {\n --tw-text-opacity: 1;\n color: rgb(109 40 217 / var(--tw-text-opacity));\n}\n.s-text-violet-800 {\n --tw-text-opacity: 1;\n color: rgb(91 33 182 / var(--tw-text-opacity));\n}\n.s-text-violet-900 {\n --tw-text-opacity: 1;\n color: rgb(76 29 149 / var(--tw-text-opacity));\n}\n.s-text-violet-950 {\n --tw-text-opacity: 1;\n color: rgb(46 16 101 / var(--tw-text-opacity));\n}\n.s-text-warning-300 {\n --tw-text-opacity: 1;\n color: rgb(252 165 165 / var(--tw-text-opacity));\n}\n.s-text-warning-400 {\n --tw-text-opacity: 1;\n color: rgb(248 113 113 / var(--tw-text-opacity));\n}\n.s-text-warning-500 {\n --tw-text-opacity: 1;\n color: rgb(239 68 68 / var(--tw-text-opacity));\n}\n.s-text-warning-800 {\n --tw-text-opacity: 1;\n color: rgb(153 27 27 / var(--tw-text-opacity));\n}\n.s-text-warning-900 {\n --tw-text-opacity: 1;\n color: rgb(127 29 29 / var(--tw-text-opacity));\n}\n.s-text-warning-950 {\n --tw-text-opacity: 1;\n color: rgb(69 10 10 / var(--tw-text-opacity));\n}\n.s-text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n.s-text-white\\/50 {\n color: rgb(255 255 255 / 0.5);\n}\n.s-text-white\\/70 {\n color: rgb(255 255 255 / 0.7);\n}\n.s-text-yellow-700 {\n --tw-text-opacity: 1;\n color: rgb(161 98 7 / var(--tw-text-opacity));\n}\n.s-text-yellow-800 {\n --tw-text-opacity: 1;\n color: rgb(133 77 14 / var(--tw-text-opacity));\n}\n.s-text-yellow-900 {\n --tw-text-opacity: 1;\n color: rgb(113 63 18 / var(--tw-text-opacity));\n}\n.s-text-yellow-950 {\n --tw-text-opacity: 1;\n color: rgb(66 32 6 / var(--tw-text-opacity));\n}\n.s-underline {\n text-decoration-line: underline;\n}\n.s-placeholder-element-600::-moz-placeholder {\n --tw-placeholder-opacity: 1;\n color: rgb(148 163 184 / var(--tw-placeholder-opacity));\n}\n.s-placeholder-element-600::placeholder {\n --tw-placeholder-opacity: 1;\n color: rgb(148 163 184 / var(--tw-placeholder-opacity));\n}\n.s-opacity-0 {\n opacity: 0;\n}\n.s-opacity-100 {\n opacity: 1;\n}\n.s-opacity-20 {\n opacity: 0.2;\n}\n.s-opacity-50 {\n opacity: 0.5;\n}\n.s-opacity-60 {\n opacity: 0.6;\n}\n.s-shadow {\n --tw-shadow: 0 2px 6px 0 rgba(15, 23, 42, 0.1);\n --tw-shadow-colored: 0 2px 6px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.s-shadow-2xl {\n --tw-shadow: 0 25px 50px rgba(15, 23, 42, 0.12);\n --tw-shadow-colored: 0 25px 50px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.s-shadow-lg {\n --tw-shadow: 0 10px 20px rgba(15, 23, 42, 0.12);\n --tw-shadow-colored: 0 10px 20px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.s-shadow-md {\n --tw-shadow: 0 4px 12px rgba(15, 23, 42, 0.12);\n --tw-shadow-colored: 0 4px 12px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.s-shadow-sm {\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.s-shadow-xl {\n --tw-shadow: 0 20px 25px rgba(15, 23, 42, 0.12);\n --tw-shadow-colored: 0 20px 25px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.s-outline-none {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.s-ring-0 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.s-ring-1 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.s-ring-structure-200 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(226 232 240 / var(--tw-ring-opacity));\n}\n.s-ring-warning-200 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(254 202 202 / var(--tw-ring-opacity));\n}\n.s-brightness-90 {\n --tw-brightness: brightness(.9);\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.s-drop-shadow {\n --tw-drop-shadow: drop-shadow(0 2px 4px rgba(15, 23, 42, 0.1));\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.s-drop-shadow-2xl {\n --tw-drop-shadow: drop-shadow(0 25px 35px rgba(15, 23, 42, 0.12));\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.s-drop-shadow-lg {\n --tw-drop-shadow: drop-shadow(0 10px 15px rgba(15, 23, 42, 0.12));\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.s-drop-shadow-md {\n --tw-drop-shadow: drop-shadow(0 4px 6px rgba(15, 23, 42, 0.12));\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.s-drop-shadow-sm {\n --tw-drop-shadow: drop-shadow(0 1px 2px rgba(15, 23, 42, 0.08));\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.s-drop-shadow-xl {\n --tw-drop-shadow: drop-shadow(0 20px 20px rgba(15, 23, 42, 0.12));\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.s-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.s-backdrop-blur {\n --tw-backdrop-blur: blur(8px);\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.s-backdrop-blur-sm {\n --tw-backdrop-blur: blur(4px);\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.s-transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.s-transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.s-transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.s-transition-opacity {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.s-transition-transform {\n transition-property: transform;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.s-duration-100 {\n transition-duration: 100ms;\n}\n.s-duration-150 {\n transition-duration: 150ms;\n}\n.s-duration-200 {\n transition-duration: 200ms;\n}\n.s-duration-300 {\n transition-duration: 300ms;\n}\n.s-duration-500 {\n transition-duration: 500ms;\n}\n.s-duration-75 {\n transition-duration: 75ms;\n}\n.s-ease-in {\n transition-timing-function: cubic-bezier(0.4, 0, 1, 1);\n}\n.s-ease-in-out {\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n.s-ease-out {\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n.s-scrollbar-hide {\n -ms-overflow-style: none;\n scrollbar-width: none;\n}\n.s-scrollbar-hide::-webkit-scrollbar {\n display: none;\n}\n\n@keyframes bgblink {\n 0%,\n 100% {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n }\n 50% {\n --tw-bg-opacity: 1;\n background-color: rgb(243 232 255 / var(--tw-bg-opacity));\n }\n}\n\n.first\\:s-pt-0:first-child {\n padding-top: 0px;\n}\n\n.last\\:s-border-none:last-child {\n border-style: none;\n}\n\n.last\\:s-pb-0:last-child {\n padding-bottom: 0px;\n}\n\n.checked\\:s-bg-action-500:checked {\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity));\n}\n\n.checked\\:s-ring-0:checked {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.hover\\:s-scale-100:hover {\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.hover\\:s-scale-105:hover {\n --tw-scale-x: 1.05;\n --tw-scale-y: 1.05;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.hover\\:s-scale-110:hover {\n --tw-scale-x: 1.1;\n --tw-scale-y: 1.1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.hover\\:s-cursor-not-allowed:hover {\n cursor: not-allowed;\n}\n\n.hover\\:s-border-action-200:hover {\n --tw-border-opacity: 1;\n border-color: rgb(191 219 254 / var(--tw-border-opacity));\n}\n\n.hover\\:s-border-action-300:hover {\n --tw-border-opacity: 1;\n border-color: rgb(147 197 253 / var(--tw-border-opacity));\n}\n\n.hover\\:s-border-action-500:hover {\n --tw-border-opacity: 1;\n border-color: rgb(59 130 246 / var(--tw-border-opacity));\n}\n\n.hover\\:s-border-structure-100:hover {\n --tw-border-opacity: 1;\n border-color: rgb(241 245 249 / var(--tw-border-opacity));\n}\n\n.hover\\:s-border-structure-200:hover {\n --tw-border-opacity: 1;\n border-color: rgb(226 232 240 / var(--tw-border-opacity));\n}\n\n.hover\\:s-border-warning-200:hover {\n --tw-border-opacity: 1;\n border-color: rgb(254 202 202 / var(--tw-border-opacity));\n}\n\n.hover\\:s-border-warning-500:hover {\n --tw-border-opacity: 1;\n border-color: rgb(239 68 68 / var(--tw-border-opacity));\n}\n\n.hover\\:s-bg-action-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(219 234 254 / var(--tw-bg-opacity));\n}\n\n.hover\\:s-bg-action-200:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(191 219 254 / var(--tw-bg-opacity));\n}\n\n.hover\\:s-bg-action-400:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(96 165 250 / var(--tw-bg-opacity));\n}\n\n.hover\\:s-bg-action-50:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(239 246 255 / var(--tw-bg-opacity));\n}\n\n.hover\\:s-bg-structure-200:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(226 232 240 / var(--tw-bg-opacity));\n}\n\n.hover\\:s-bg-structure-50:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(248 250 252 / var(--tw-bg-opacity));\n}\n\n.hover\\:s-bg-success-200:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(167 243 208 / var(--tw-bg-opacity));\n}\n\n.hover\\:s-bg-warning-400:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(248 113 113 / var(--tw-bg-opacity));\n}\n\n.hover\\:s-bg-warning-50:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(254 242 242 / var(--tw-bg-opacity));\n}\n\n.hover\\:s-bg-white:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.hover\\:s-text-action-400:hover {\n --tw-text-opacity: 1;\n color: rgb(96 165 250 / var(--tw-text-opacity));\n}\n\n.hover\\:s-text-action-500:hover {\n --tw-text-opacity: 1;\n color: rgb(59 130 246 / var(--tw-text-opacity));\n}\n\n.hover\\:s-text-slate-100:hover {\n --tw-text-opacity: 1;\n color: rgb(241 245 249 / var(--tw-text-opacity));\n}\n\n.hover\\:s-text-warning-400:hover {\n --tw-text-opacity: 1;\n color: rgb(248 113 113 / var(--tw-text-opacity));\n}\n\n.hover\\:s-brightness-110:hover {\n --tw-brightness: brightness(1.1);\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\n.hover\\:s-drop-shadow-md:hover {\n --tw-drop-shadow: drop-shadow(0 4px 6px rgba(15, 23, 42, 0.12));\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\n.hover\\:s-filter:hover {\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\n.focus\\:s-border-action-300:focus {\n --tw-border-opacity: 1;\n border-color: rgb(147 197 253 / var(--tw-border-opacity));\n}\n\n.focus\\:s-border-red-500:focus {\n --tw-border-opacity: 1;\n border-color: rgb(239 68 68 / var(--tw-border-opacity));\n}\n\n.focus\\:s-outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n.focus\\:s-ring-0:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.focus\\:s-ring-2:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.focus\\:s-ring-action-300:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(147 197 253 / var(--tw-ring-opacity));\n}\n\n.focus\\:s-ring-red-500:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity));\n}\n\n.focus\\:s-ring-warning-300:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(252 165 165 / var(--tw-ring-opacity));\n}\n\n.active\\:s-scale-100:active {\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.active\\:s-border-action-400:active {\n --tw-border-opacity: 1;\n border-color: rgb(96 165 250 / var(--tw-border-opacity));\n}\n\n.active\\:s-border-action-500:active {\n --tw-border-opacity: 1;\n border-color: rgb(59 130 246 / var(--tw-border-opacity));\n}\n\n.active\\:s-border-action-700:active {\n --tw-border-opacity: 1;\n border-color: rgb(29 78 216 / var(--tw-border-opacity));\n}\n\n.active\\:s-border-structure-200:active {\n --tw-border-opacity: 1;\n border-color: rgb(226 232 240 / var(--tw-border-opacity));\n}\n\n.active\\:s-border-structure-300:active {\n --tw-border-opacity: 1;\n border-color: rgb(203 213 225 / var(--tw-border-opacity));\n}\n\n.active\\:s-border-warning-500:active {\n --tw-border-opacity: 1;\n border-color: rgb(239 68 68 / var(--tw-border-opacity));\n}\n\n.active\\:s-border-warning-700:active {\n --tw-border-opacity: 1;\n border-color: rgb(185 28 28 / var(--tw-border-opacity));\n}\n\n.active\\:s-bg-action-100:active {\n --tw-bg-opacity: 1;\n background-color: rgb(219 234 254 / var(--tw-bg-opacity));\n}\n\n.active\\:s-bg-action-200:active {\n --tw-bg-opacity: 1;\n background-color: rgb(191 219 254 / var(--tw-bg-opacity));\n}\n\n.active\\:s-bg-action-600:active {\n --tw-bg-opacity: 1;\n background-color: rgb(37 99 235 / var(--tw-bg-opacity));\n}\n\n.active\\:s-bg-structure-100:active {\n --tw-bg-opacity: 1;\n background-color: rgb(241 245 249 / var(--tw-bg-opacity));\n}\n\n.active\\:s-bg-warning-100:active {\n --tw-bg-opacity: 1;\n background-color: rgb(254 226 226 / var(--tw-bg-opacity));\n}\n\n.active\\:s-bg-warning-600:active {\n --tw-bg-opacity: 1;\n background-color: rgb(220 38 38 / var(--tw-bg-opacity));\n}\n\n.active\\:s-text-action-600:active {\n --tw-text-opacity: 1;\n color: rgb(37 99 235 / var(--tw-text-opacity));\n}\n\n.active\\:s-text-action-700:active {\n --tw-text-opacity: 1;\n color: rgb(29 78 216 / var(--tw-text-opacity));\n}\n\n.active\\:s-text-slate-200:active {\n --tw-text-opacity: 1;\n color: rgb(226 232 240 / var(--tw-text-opacity));\n}\n\n.active\\:s-text-warning-600:active {\n --tw-text-opacity: 1;\n color: rgb(220 38 38 / var(--tw-text-opacity));\n}\n\n.active\\:s-ring-0:active {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.active\\:s-brightness-100:active {\n --tw-brightness: brightness(1);\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\n.active\\:s-brightness-90:active {\n --tw-brightness: brightness(.9);\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\n.active\\:s-drop-shadow-none:active {\n --tw-drop-shadow: drop-shadow(0 0 #0000);\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\n.s-group:hover .group-hover\\:s-text-action-400 {\n --tw-text-opacity: 1;\n color: rgb(96 165 250 / var(--tw-text-opacity));\n}\n\n.s-group:hover .group-hover\\:s-text-action-500 {\n --tw-text-opacity: 1;\n color: rgb(59 130 246 / var(--tw-text-opacity));\n}\n\n.s-group:hover .group-hover\\:s-text-warning-300 {\n --tw-text-opacity: 1;\n color: rgb(252 165 165 / var(--tw-text-opacity));\n}\n\n.s-group:hover .group-hover\\:s-text-warning-400 {\n --tw-text-opacity: 1;\n color: rgb(248 113 113 / var(--tw-text-opacity));\n}\n\n.s-group:hover .group-hover\\:s-opacity-100 {\n opacity: 1;\n}\n\n.s-group:hover .group-hover\\:s-brightness-110 {\n --tw-brightness: brightness(1.1);\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\n.s-group:hover .group-hover\\:s-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\n.s-group:active .group-active\\:s-text-action-700 {\n --tw-text-opacity: 1;\n color: rgb(29 78 216 / var(--tw-text-opacity));\n}\n\n.s-group:active .group-active\\:s-text-warning-700 {\n --tw-text-opacity: 1;\n color: rgb(185 28 28 / var(--tw-text-opacity));\n}\n\n.s-group:active .group-active\\:s-brightness-100 {\n --tw-brightness: brightness(1);\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\n.s-group:active .group-active\\:s-brightness-90 {\n --tw-brightness: brightness(.9);\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\n:is(.s-dark .dark\\:s-border-action-200-dark) {\n --tw-border-opacity: 1;\n border-color: rgb(30 64 175 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:s-border-action-500-dark) {\n --tw-border-opacity: 1;\n border-color: rgb(59 130 246 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:s-border-element-500-dark) {\n --tw-border-opacity: 1;\n border-color: rgb(100 116 139 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:s-border-structure-100-dark) {\n --tw-border-opacity: 1;\n border-color: rgb(30 41 59 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:s-border-structure-200-dark) {\n --tw-border-opacity: 1;\n border-color: rgb(51 65 85 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:s-border-structure-200-dark\\/50) {\n border-color: rgb(51 65 85 / 0.5);\n}\n\n:is(.s-dark .dark\\:s-border-structure-300-dark) {\n --tw-border-opacity: 1;\n border-color: rgb(71 85 105 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:s-border-structure-300-dark\\/30) {\n border-color: rgb(71 85 105 / 0.3);\n}\n\n:is(.s-dark .dark\\:s-border-structure-50-dark) {\n --tw-border-opacity: 1;\n border-color: rgb(15 23 42 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:s-border-warning-200-dark) {\n --tw-border-opacity: 1;\n border-color: rgb(153 27 27 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-action-100-dark) {\n --tw-bg-opacity: 1;\n background-color: rgb(30 58 138 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-action-500-dark) {\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-amber-500) {\n --tw-bg-opacity: 1;\n background-color: rgb(245 158 11 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-blue-500) {\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-element-500-dark) {\n --tw-bg-opacity: 1;\n background-color: rgb(100 116 139 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-element-700-dark) {\n --tw-bg-opacity: 1;\n background-color: rgb(203 213 225 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-emerald-500) {\n --tw-bg-opacity: 1;\n background-color: rgb(16 185 129 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-pink-500) {\n --tw-bg-opacity: 1;\n background-color: rgb(236 72 153 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-sky-500) {\n --tw-bg-opacity: 1;\n background-color: rgb(14 165 233 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-structure-0-dark) {\n --tw-bg-opacity: 1;\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-structure-100-dark) {\n --tw-bg-opacity: 1;\n background-color: rgb(30 41 59 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-structure-200-dark) {\n --tw-bg-opacity: 1;\n background-color: rgb(51 65 85 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-structure-300-dark) {\n --tw-bg-opacity: 1;\n background-color: rgb(71 85 105 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-structure-50-dark) {\n --tw-bg-opacity: 1;\n background-color: rgb(15 23 42 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-structure-50-dark\\/80) {\n background-color: rgb(15 23 42 / 0.8);\n}\n\n:is(.s-dark .dark\\:s-bg-success-400-dark) {\n --tw-bg-opacity: 1;\n background-color: rgb(5 150 105 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-warning-100-dark) {\n --tw-bg-opacity: 1;\n background-color: rgb(127 29 29 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark :is(.s-dark .dark\\:dark\\:s-text-action-500-dark)) {\n --tw-text-opacity: 1;\n color: rgb(59 130 246 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-action-500-dark) {\n --tw-text-opacity: 1;\n color: rgb(59 130 246 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-action-600-dark) {\n --tw-text-opacity: 1;\n color: rgb(96 165 250 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-action-700-dark) {\n --tw-text-opacity: 1;\n color: rgb(147 197 253 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-amber-950) {\n --tw-text-opacity: 1;\n color: rgb(69 26 3 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-blue-950) {\n --tw-text-opacity: 1;\n color: rgb(23 37 84 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-element-500-dark) {\n --tw-text-opacity: 1;\n color: rgb(100 116 139 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-element-600-dark) {\n --tw-text-opacity: 1;\n color: rgb(148 163 184 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-element-700-dark) {\n --tw-text-opacity: 1;\n color: rgb(203 213 225 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-element-800-dark) {\n --tw-text-opacity: 1;\n color: rgb(226 232 240 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-element-900-dark) {\n --tw-text-opacity: 1;\n color: rgb(248 250 252 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-emerald-950) {\n --tw-text-opacity: 1;\n color: rgb(2 44 34 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-pink-950) {\n --tw-text-opacity: 1;\n color: rgb(80 7 36 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-sky-950) {\n --tw-text-opacity: 1;\n color: rgb(8 47 73 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-warning-400-dark) {\n --tw-text-opacity: 1;\n color: rgb(220 38 38 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-warning-500-dark) {\n --tw-text-opacity: 1;\n color: rgb(239 68 68 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-warning-600-dark) {\n --tw-text-opacity: 1;\n color: rgb(248 113 113 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-warning-700-dark) {\n --tw-text-opacity: 1;\n color: rgb(252 165 165 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-placeholder-element-600-dark)::-moz-placeholder {\n --tw-placeholder-opacity: 1;\n color: rgb(148 163 184 / var(--tw-placeholder-opacity));\n}\n\n:is(.s-dark .dark\\:s-placeholder-element-600-dark)::placeholder {\n --tw-placeholder-opacity: 1;\n color: rgb(148 163 184 / var(--tw-placeholder-opacity));\n}\n\n:is(.s-dark .dark\\:s-ring-structure-300-dark) {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(71 85 105 / var(--tw-ring-opacity));\n}\n\n:is(.s-dark .dark\\:s-ring-warning-200-dark) {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(153 27 27 / var(--tw-ring-opacity));\n}\n\n:is(.s-dark .dark\\:s-saturate-50) {\n --tw-saturate: saturate(.5);\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\n:is(.s-dark .dark\\:hover\\:s-border-action-300-dark:hover) {\n --tw-border-opacity: 1;\n border-color: rgb(29 78 216 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-border-action-500-dark:hover) {\n --tw-border-opacity: 1;\n border-color: rgb(59 130 246 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-border-action-600-dark:hover) {\n --tw-border-opacity: 1;\n border-color: rgb(96 165 250 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-border-warning-300-dark:hover) {\n --tw-border-opacity: 1;\n border-color: rgb(185 28 28 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-bg-action-200-dark:hover) {\n --tw-bg-opacity: 1;\n background-color: rgb(30 64 175 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-bg-action-400:hover) {\n --tw-bg-opacity: 1;\n background-color: rgb(96 165 250 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-bg-action-50-dark:hover) {\n --tw-bg-opacity: 1;\n background-color: rgb(23 37 84 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-bg-structure-200-dark:hover) {\n --tw-bg-opacity: 1;\n background-color: rgb(51 65 85 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-bg-warning-50-dark:hover) {\n --tw-bg-opacity: 1;\n background-color: rgb(69 10 10 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-text-action-300:hover) {\n --tw-text-opacity: 1;\n color: rgb(147 197 253 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-text-action-500-dark:hover) {\n --tw-text-opacity: 1;\n color: rgb(59 130 246 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-text-action-600-dark:hover) {\n --tw-text-opacity: 1;\n color: rgb(96 165 250 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-text-action-700-dark:hover) {\n --tw-text-opacity: 1;\n color: rgb(147 197 253 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-text-warning-500-dark:hover) {\n --tw-text-opacity: 1;\n color: rgb(239 68 68 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:focus\\:s-ring-action-300-dark:focus) {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(29 78 216 / var(--tw-ring-opacity));\n}\n\n:is(.s-dark .dark\\:focus\\:s-ring-warning-300-dark:focus) {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(185 28 28 / var(--tw-ring-opacity));\n}\n\n:is(.s-dark .dark\\:active\\:s-border-action-500-dark:active) {\n --tw-border-opacity: 1;\n border-color: rgb(59 130 246 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:active\\:s-border-warning-500-dark:active) {\n --tw-border-opacity: 1;\n border-color: rgb(239 68 68 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:active\\:s-bg-action-100-dark:active) {\n --tw-bg-opacity: 1;\n background-color: rgb(30 58 138 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:active\\:s-bg-warning-100-dark:active) {\n --tw-bg-opacity: 1;\n background-color: rgb(127 29 29 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:active\\:s-text-action-600:active) {\n --tw-text-opacity: 1;\n color: rgb(37 99 235 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:active\\:s-text-action-600-dark:active) {\n --tw-text-opacity: 1;\n color: rgb(96 165 250 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:active\\:s-text-action-700-dark:active) {\n --tw-text-opacity: 1;\n color: rgb(147 197 253 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:active\\:s-text-warning-600-dark:active) {\n --tw-text-opacity: 1;\n color: rgb(248 113 113 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .s-group:hover .dark\\:group-hover\\:s-text-action-400) {\n --tw-text-opacity: 1;\n color: rgb(96 165 250 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .s-group:hover .dark\\:group-hover\\:s-text-action-400-dark) {\n --tw-text-opacity: 1;\n color: rgb(37 99 235 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .s-group:hover .dark\\:group-hover\\:s-text-action-500-dark) {\n --tw-text-opacity: 1;\n color: rgb(59 130 246 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .s-group:hover .dark\\:group-hover\\:s-text-action-600-dark) {\n --tw-text-opacity: 1;\n color: rgb(96 165 250 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .s-group:hover .dark\\:group-hover\\:s-text-warning-600-dark) {\n --tw-text-opacity: 1;\n color: rgb(248 113 113 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .s-group:active .dark\\:group-active\\:s-text-action-400-dark) {\n --tw-text-opacity: 1;\n color: rgb(37 99 235 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .s-group:active .dark\\:group-active\\:s-text-warning-400-dark) {\n --tw-text-opacity: 1;\n color: rgb(220 38 38 / var(--tw-text-opacity));\n}\n\n@media (min-width: 640px) {\n .sm\\:s-block {\n display: block;\n }\n .sm\\:s-w-64 {\n width: 16rem;\n }\n .sm\\:s-w-\\[448px\\] {\n width: 448px;\n }\n .sm\\:s-w-\\[50rem\\] {\n width: 50rem;\n }\n .sm\\:s-flex-row {\n flex-direction: row;\n }\n .sm\\:s-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n }\n .sm\\:s-px-3\\.5 {\n padding-left: 0.875rem;\n padding-right: 0.875rem;\n }\n .sm\\:s-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n }\n}\n\n@media (min-width: 768px) {\n .md\\:s-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n}\n\n@media (min-width: 1024px) {\n .lg\\:s-grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n}\n";
|
|
53
|
+
var css_248z = ".s-form-checkbox,.s-form-radio {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n padding: 0;\n -webkit-print-color-adjust: exact;\n print-color-adjust: exact;\n display: inline-block;\n vertical-align: middle;\n background-origin: border-box;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n flex-shrink: 0;\n height: 1rem;\n width: 1rem;\n color: #2563eb;\n background-color: #fff;\n border-color: #6b7280;\n border-width: 1px;\n --tw-shadow: 0 0 #0000;\n}\n.s-form-radio {\n border-radius: 100%;\n}\n.s-form-checkbox:focus,.s-form-radio:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: #2563eb;\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n}\n.s-form-checkbox:checked,.s-form-radio:checked {\n border-color: transparent;\n background-color: currentColor;\n background-size: 100% 100%;\n background-position: center;\n background-repeat: no-repeat;\n}\n.s-form-radio:checked {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e\");\n}\n.s-form-checkbox:checked:hover,.s-form-checkbox:checked:focus,.s-form-radio:checked:hover,.s-form-radio:checked:focus {\n border-color: transparent;\n background-color: currentColor;\n}\n.s-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.s-pointer-events-none {\n pointer-events: none;\n}\n.s-pointer-events-auto {\n pointer-events: auto;\n}\n.s-visible {\n visibility: visible;\n}\n.s-invisible {\n visibility: hidden;\n}\n.s-collapse {\n visibility: collapse;\n}\n.s-fixed {\n position: fixed;\n}\n.s-absolute {\n position: absolute;\n}\n.s-relative {\n position: relative;\n}\n.s-inset-0 {\n inset: 0px;\n}\n.s-inset-8 {\n inset: 2rem;\n}\n.s-inset-y-0 {\n top: 0px;\n bottom: 0px;\n}\n.s-bottom-0 {\n bottom: 0px;\n}\n.s-bottom-6 {\n bottom: 1.5rem;\n}\n.s-bottom-full {\n bottom: 100%;\n}\n.s-left-0 {\n left: 0px;\n}\n.s-left-1\\/2 {\n left: 50%;\n}\n.s-right-0 {\n right: 0px;\n}\n.s-right-16 {\n right: 4rem;\n}\n.s-right-2 {\n right: 0.5rem;\n}\n.s-top-0 {\n top: 0px;\n}\n.s-top-2 {\n top: 0.5rem;\n}\n.s-top-full {\n top: 100%;\n}\n.s-z-0 {\n z-index: 0;\n}\n.s-z-10 {\n z-index: 10;\n}\n.s-z-30 {\n z-index: 30;\n}\n.s-z-50 {\n z-index: 50;\n}\n.s-m-0 {\n margin: 0px;\n}\n.s-m-px {\n margin: 1px;\n}\n.s-mx-2 {\n margin-left: 0.5rem;\n margin-right: 0.5rem;\n}\n.s-mx-auto {\n margin-left: auto;\n margin-right: auto;\n}\n.s-my-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n}\n.s-my-6 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n}\n.-s-mr-1 {\n margin-right: -0.25rem;\n}\n.-s-mt-1 {\n margin-top: -0.25rem;\n}\n.-s-mt-2 {\n margin-top: -0.5rem;\n}\n.s-mb-0 {\n margin-bottom: 0px;\n}\n.s-mb-0\\.5 {\n margin-bottom: 0.125rem;\n}\n.s-mb-1 {\n margin-bottom: 0.25rem;\n}\n.s-mb-2 {\n margin-bottom: 0.5rem;\n}\n.s-ml-2 {\n margin-left: 0.5rem;\n}\n.s-ml-auto {\n margin-left: auto;\n}\n.s-mt-0 {\n margin-top: 0px;\n}\n.s-mt-0\\.5 {\n margin-top: 0.125rem;\n}\n.s-mt-14 {\n margin-top: 3.5rem;\n}\n.s-mt-16 {\n margin-top: 4rem;\n}\n.s-mt-2 {\n margin-top: 0.5rem;\n}\n.s-mt-4 {\n margin-top: 1rem;\n}\n.s-box-border {\n box-sizing: border-box;\n}\n.s-line-clamp-1 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n}\n.s-line-clamp-2 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n}\n.s-line-clamp-3 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 3;\n}\n.s-block {\n display: block;\n}\n.s-inline-block {\n display: inline-block;\n}\n.s-flex {\n display: flex;\n}\n.s-inline-flex {\n display: inline-flex;\n}\n.s-grid {\n display: grid;\n}\n.s-hidden {\n display: none;\n}\n.s-h-1\\/2 {\n height: 50%;\n}\n.s-h-10 {\n height: 2.5rem;\n}\n.s-h-12 {\n height: 3rem;\n}\n.s-h-16 {\n height: 4rem;\n}\n.s-h-20 {\n height: 5rem;\n}\n.s-h-36 {\n height: 9rem;\n}\n.s-h-4 {\n height: 1rem;\n}\n.s-h-40 {\n height: 10rem;\n}\n.s-h-44 {\n height: 11rem;\n}\n.s-h-5 {\n height: 1.25rem;\n}\n.s-h-6 {\n height: 1.5rem;\n}\n.s-h-7 {\n height: 1.75rem;\n}\n.s-h-72 {\n height: 18rem;\n}\n.s-h-8 {\n height: 2rem;\n}\n.s-h-9 {\n height: 2.25rem;\n}\n.s-h-96 {\n height: 24rem;\n}\n.s-h-\\[100vh\\] {\n height: 100vh;\n}\n.s-h-\\[26px\\] {\n height: 26px;\n}\n.s-h-\\[34px\\] {\n height: 34px;\n}\n.s-h-\\[46px\\] {\n height: 46px;\n}\n.s-h-full {\n height: 100%;\n}\n.s-h-px {\n height: 1px;\n}\n.s-max-h-32 {\n max-height: 8rem;\n}\n.s-max-h-\\[344px\\] {\n max-height: 344px;\n}\n.s-max-h-full {\n max-height: 100%;\n}\n.s-min-h-16 {\n min-height: 4rem;\n}\n.s-min-h-20 {\n min-height: 5rem;\n}\n.s-min-h-60 {\n min-height: 15rem;\n}\n.s-min-h-full {\n min-height: 100%;\n}\n.s-w-1\\/2 {\n width: 50%;\n}\n.s-w-10 {\n width: 2.5rem;\n}\n.s-w-12 {\n width: 3rem;\n}\n.s-w-14 {\n width: 3.5rem;\n}\n.s-w-16 {\n width: 4rem;\n}\n.s-w-20 {\n width: 5rem;\n}\n.s-w-32 {\n width: 8rem;\n}\n.s-w-36 {\n width: 9rem;\n}\n.s-w-4 {\n width: 1rem;\n}\n.s-w-40 {\n width: 10rem;\n}\n.s-w-44 {\n width: 11rem;\n}\n.s-w-48 {\n width: 12rem;\n}\n.s-w-5 {\n width: 1.25rem;\n}\n.s-w-6 {\n width: 1.5rem;\n}\n.s-w-60 {\n width: 15rem;\n}\n.s-w-64 {\n width: 16rem;\n}\n.s-w-8 {\n width: 2rem;\n}\n.s-w-\\[320px\\] {\n width: 320px;\n}\n.s-w-\\[38em\\] {\n width: 38em;\n}\n.s-w-auto {\n width: auto;\n}\n.s-w-fit {\n width: -moz-fit-content;\n width: fit-content;\n}\n.s-w-full {\n width: 100%;\n}\n.s-w-screen {\n width: 100vw;\n}\n.s-min-w-0 {\n min-width: 0px;\n}\n.s-max-w-2xl {\n max-width: 42rem;\n}\n.s-max-w-4xl {\n max-width: 56rem;\n}\n.s-max-w-\\[380px\\] {\n max-width: 380px;\n}\n.s-max-w-\\[400px\\] {\n max-width: 400px;\n}\n.s-max-w-\\[500px\\] {\n max-width: 500px;\n}\n.s-max-w-full {\n max-width: 100%;\n}\n.s-max-w-lg {\n max-width: 32rem;\n}\n.s-flex-1 {\n flex: 1 1 0%;\n}\n.s-flex-none {\n flex: none;\n}\n.s-flex-shrink-0 {\n flex-shrink: 0;\n}\n.s-shrink {\n flex-shrink: 1;\n}\n.s-shrink-0 {\n flex-shrink: 0;\n}\n.s-flex-grow {\n flex-grow: 1;\n}\n.s-grow {\n flex-grow: 1;\n}\n.s-basis-0 {\n flex-basis: 0px;\n}\n.s-table-auto {\n table-layout: auto;\n}\n.s-origin-bottom-left {\n transform-origin: bottom left;\n}\n.s-origin-bottom-right {\n transform-origin: bottom right;\n}\n.s-origin-top-left {\n transform-origin: top left;\n}\n.s-origin-top-right {\n transform-origin: top right;\n}\n.-s-translate-x-1\\/2 {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-s-translate-y-0 {\n --tw-translate-y: -0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.-s-translate-y-5 {\n --tw-translate-y: -1.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-translate-x-0 {\n --tw-translate-x: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-translate-x-16 {\n --tw-translate-x: 4rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-translate-x-\\[14px\\] {\n --tw-translate-x: 14px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-translate-x-\\[22px\\] {\n --tw-translate-x: 22px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-translate-x-\\[2px\\] {\n --tw-translate-x: 2px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-translate-y-0 {\n --tw-translate-y: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-translate-y-2 {\n --tw-translate-y: 0.5rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-translate-y-4 {\n --tw-translate-y: 1rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-translate-y-5 {\n --tw-translate-y: 1.25rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-scale-100 {\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-scale-95 {\n --tw-scale-x: .95;\n --tw-scale-y: .95;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.s-animate-\\[bgblink_500ms_3\\] {\n animation: bgblink 500ms 3;\n}\n@keyframes s-breathing {\n 0%, 100% {\n filter: brightness(105%);\n }\n 50% {\n filter: brightness(80%);\n }\n}\n.s-animate-breathing {\n animation: s-breathing 3s infinite ease-in-out;\n}\n@keyframes s-breathing-scale {\n 0%, 100% {\n filter: brightness(105%);\n transform: scale(1.0);\n }\n 50% {\n filter: brightness(97%);\n transform: scale(0.95);\n }\n}\n.s-animate-breathing-scale {\n animation: s-breathing-scale 3s infinite ease-in-out;\n}\n.s-cursor-default {\n cursor: default;\n}\n.s-cursor-not-allowed {\n cursor: not-allowed;\n}\n.s-cursor-pointer {\n cursor: pointer;\n}\n.s-select-none {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n.s-resize-y {\n resize: vertical;\n}\n.s-list-decimal {\n list-style-type: decimal;\n}\n.s-list-disc {\n list-style-type: disc;\n}\n.s-grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n.s-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n.s-grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n}\n.s-grid-cols-8 {\n grid-template-columns: repeat(8, minmax(0, 1fr));\n}\n.s-grid-cols-\\[auto\\,1fr\\,auto\\] {\n grid-template-columns: auto 1fr auto;\n}\n.s-grid-rows-2 {\n grid-template-rows: repeat(2, minmax(0, 1fr));\n}\n.s-grid-rows-3 {\n grid-template-rows: repeat(3, minmax(0, 1fr));\n}\n.s-grid-rows-4 {\n grid-template-rows: repeat(4, minmax(0, 1fr));\n}\n.s-grid-rows-5 {\n grid-template-rows: repeat(5, minmax(0, 1fr));\n}\n.s-flex-row {\n flex-direction: row;\n}\n.s-flex-col {\n flex-direction: column;\n}\n.s-flex-wrap {\n flex-wrap: wrap;\n}\n.s-flex-nowrap {\n flex-wrap: nowrap;\n}\n.s-items-start {\n align-items: flex-start;\n}\n.s-items-end {\n align-items: flex-end;\n}\n.s-items-center {\n align-items: center;\n}\n.s-items-baseline {\n align-items: baseline;\n}\n.s-items-stretch {\n align-items: stretch;\n}\n.s-justify-start {\n justify-content: flex-start;\n}\n.s-justify-end {\n justify-content: flex-end;\n}\n.s-justify-center {\n justify-content: center;\n}\n.s-justify-between {\n justify-content: space-between;\n}\n.s-justify-stretch {\n justify-content: stretch;\n}\n.s-justify-items-center {\n justify-items: center;\n}\n.s-gap-0 {\n gap: 0px;\n}\n.s-gap-0\\.5 {\n gap: 0.125rem;\n}\n.s-gap-1 {\n gap: 0.25rem;\n}\n.s-gap-1\\.5 {\n gap: 0.375rem;\n}\n.s-gap-10 {\n gap: 2.5rem;\n}\n.s-gap-12 {\n gap: 3rem;\n}\n.s-gap-16 {\n gap: 4rem;\n}\n.s-gap-2 {\n gap: 0.5rem;\n}\n.s-gap-2\\.5 {\n gap: 0.625rem;\n}\n.s-gap-20 {\n gap: 5rem;\n}\n.s-gap-3 {\n gap: 0.75rem;\n}\n.s-gap-4 {\n gap: 1rem;\n}\n.s-gap-5 {\n gap: 1.25rem;\n}\n.s-gap-6 {\n gap: 1.5rem;\n}\n.s-gap-8 {\n gap: 2rem;\n}\n.s-gap-x-1 {\n -moz-column-gap: 0.25rem;\n column-gap: 0.25rem;\n}\n.s-gap-x-1\\.5 {\n -moz-column-gap: 0.375rem;\n column-gap: 0.375rem;\n}\n.s-gap-x-2 {\n -moz-column-gap: 0.5rem;\n column-gap: 0.5rem;\n}\n.s-gap-x-3 {\n -moz-column-gap: 0.75rem;\n column-gap: 0.75rem;\n}\n.s-gap-x-4 {\n -moz-column-gap: 1rem;\n column-gap: 1rem;\n}\n.s-gap-y-2 {\n row-gap: 0.5rem;\n}\n.s-gap-y-3 {\n row-gap: 0.75rem;\n}\n.s-gap-y-96 {\n row-gap: 24rem;\n}\n.s-space-x-0 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0px * var(--tw-space-x-reverse));\n margin-left: calc(0px * calc(1 - var(--tw-space-x-reverse)));\n}\n.s-space-y-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1rem * var(--tw-space-y-reverse));\n}\n.s-divide-y > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-y-reverse: 0;\n border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));\n border-bottom-width: calc(1px * var(--tw-divide-y-reverse));\n}\n.s-divide-structure-100 > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-opacity: 1;\n border-color: rgb(241 245 249 / var(--tw-divide-opacity));\n}\n.s-divide-structure-200 > :not([hidden]) ~ :not([hidden]) {\n --tw-divide-opacity: 1;\n border-color: rgb(226 232 240 / var(--tw-divide-opacity));\n}\n.s-self-center {\n align-self: center;\n}\n.s-overflow-auto {\n overflow: auto;\n}\n.s-overflow-hidden {\n overflow: hidden;\n}\n.s-overflow-visible {\n overflow: visible;\n}\n.s-overflow-x-auto {\n overflow-x: auto;\n}\n.s-overflow-y-auto {\n overflow-y: auto;\n}\n.s-overflow-x-hidden {\n overflow-x: hidden;\n}\n.s-overflow-y-hidden {\n overflow-y: hidden;\n}\n.s-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.s-text-ellipsis {\n text-overflow: ellipsis;\n}\n.s-whitespace-nowrap {\n white-space: nowrap;\n}\n.s-whitespace-pre-wrap {\n white-space: pre-wrap;\n}\n.s-break-words {\n overflow-wrap: break-word;\n}\n.s-rounded {\n border-radius: 0.25rem;\n}\n.s-rounded-2xl {\n border-radius: 1rem;\n}\n.s-rounded-3xl {\n border-radius: 1.5rem;\n}\n.s-rounded-\\[24px\\] {\n border-radius: 24px;\n}\n.s-rounded-\\[28px\\] {\n border-radius: 28px;\n}\n.s-rounded-\\[30\\%\\] {\n border-radius: 30%;\n}\n.s-rounded-\\[30px\\] {\n border-radius: 30px;\n}\n.s-rounded-\\[32px\\] {\n border-radius: 32px;\n}\n.s-rounded-\\[38px\\] {\n border-radius: 38px;\n}\n.s-rounded-full {\n border-radius: 9999px;\n}\n.s-rounded-lg {\n border-radius: 0.5rem;\n}\n.s-rounded-md {\n border-radius: 0.375rem;\n}\n.s-rounded-xl {\n border-radius: 0.75rem;\n}\n.s-border {\n border-width: 1px;\n}\n.s-border-0 {\n border-width: 0px;\n}\n.s-border-b {\n border-bottom-width: 1px;\n}\n.s-border-b-2 {\n border-bottom-width: 2px;\n}\n.s-border-t {\n border-top-width: 1px;\n}\n.s-border-action-200 {\n --tw-border-opacity: 1;\n border-color: rgb(191 219 254 / var(--tw-border-opacity));\n}\n.s-border-action-500 {\n --tw-border-opacity: 1;\n border-color: rgb(59 130 246 / var(--tw-border-opacity));\n}\n.s-border-action-600 {\n --tw-border-opacity: 1;\n border-color: rgb(37 99 235 / var(--tw-border-opacity));\n}\n.s-border-amber-200 {\n --tw-border-opacity: 1;\n border-color: rgb(253 230 138 / var(--tw-border-opacity));\n}\n.s-border-blue-200 {\n --tw-border-opacity: 1;\n border-color: rgb(191 219 254 / var(--tw-border-opacity));\n}\n.s-border-cyan-200 {\n --tw-border-opacity: 1;\n border-color: rgb(165 243 252 / var(--tw-border-opacity));\n}\n.s-border-element-600 {\n --tw-border-opacity: 1;\n border-color: rgb(148 163 184 / var(--tw-border-opacity));\n}\n.s-border-emerald-200 {\n --tw-border-opacity: 1;\n border-color: rgb(167 243 208 / var(--tw-border-opacity));\n}\n.s-border-fuchsia-200 {\n --tw-border-opacity: 1;\n border-color: rgb(245 208 254 / var(--tw-border-opacity));\n}\n.s-border-gray-200 {\n --tw-border-opacity: 1;\n border-color: rgb(229 231 235 / var(--tw-border-opacity));\n}\n.s-border-green-200 {\n --tw-border-opacity: 1;\n border-color: rgb(187 247 208 / var(--tw-border-opacity));\n}\n.s-border-indigo-200 {\n --tw-border-opacity: 1;\n border-color: rgb(199 210 254 / var(--tw-border-opacity));\n}\n.s-border-lime-200 {\n --tw-border-opacity: 1;\n border-color: rgb(217 249 157 / var(--tw-border-opacity));\n}\n.s-border-orange-200 {\n --tw-border-opacity: 1;\n border-color: rgb(254 215 170 / var(--tw-border-opacity));\n}\n.s-border-pink-100 {\n --tw-border-opacity: 1;\n border-color: rgb(252 231 243 / var(--tw-border-opacity));\n}\n.s-border-pink-200 {\n --tw-border-opacity: 1;\n border-color: rgb(251 207 232 / var(--tw-border-opacity));\n}\n.s-border-purple-200 {\n --tw-border-opacity: 1;\n border-color: rgb(233 213 255 / var(--tw-border-opacity));\n}\n.s-border-red-200 {\n --tw-border-opacity: 1;\n border-color: rgb(254 202 202 / var(--tw-border-opacity));\n}\n.s-border-red-500 {\n --tw-border-opacity: 1;\n border-color: rgb(239 68 68 / var(--tw-border-opacity));\n}\n.s-border-rose-200 {\n --tw-border-opacity: 1;\n border-color: rgb(254 205 211 / var(--tw-border-opacity));\n}\n.s-border-sky-200 {\n --tw-border-opacity: 1;\n border-color: rgb(186 230 253 / var(--tw-border-opacity));\n}\n.s-border-slate-200 {\n --tw-border-opacity: 1;\n border-color: rgb(226 232 240 / var(--tw-border-opacity));\n}\n.s-border-slate-950\\/10 {\n border-color: rgb(2 6 23 / 0.1);\n}\n.s-border-stone-200 {\n --tw-border-opacity: 1;\n border-color: rgb(231 229 228 / var(--tw-border-opacity));\n}\n.s-border-structure-0 {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity));\n}\n.s-border-structure-100 {\n --tw-border-opacity: 1;\n border-color: rgb(241 245 249 / var(--tw-border-opacity));\n}\n.s-border-structure-100\\/0 {\n border-color: rgb(241 245 249 / 0);\n}\n.s-border-structure-200 {\n --tw-border-opacity: 1;\n border-color: rgb(226 232 240 / var(--tw-border-opacity));\n}\n.s-border-structure-300 {\n --tw-border-opacity: 1;\n border-color: rgb(203 213 225 / var(--tw-border-opacity));\n}\n.s-border-structure-300\\/30 {\n border-color: rgb(203 213 225 / 0.3);\n}\n.s-border-structure-50 {\n --tw-border-opacity: 1;\n border-color: rgb(248 250 252 / var(--tw-border-opacity));\n}\n.s-border-teal-200 {\n --tw-border-opacity: 1;\n border-color: rgb(153 246 228 / var(--tw-border-opacity));\n}\n.s-border-transparent {\n border-color: transparent;\n}\n.s-border-violet-200 {\n --tw-border-opacity: 1;\n border-color: rgb(221 214 254 / var(--tw-border-opacity));\n}\n.s-border-warning-200 {\n --tw-border-opacity: 1;\n border-color: rgb(254 202 202 / var(--tw-border-opacity));\n}\n.s-border-warning-600 {\n --tw-border-opacity: 1;\n border-color: rgb(220 38 38 / var(--tw-border-opacity));\n}\n.s-border-white\\/30 {\n border-color: rgb(255 255 255 / 0.3);\n}\n.s-border-yellow-200 {\n --tw-border-opacity: 1;\n border-color: rgb(254 240 138 / var(--tw-border-opacity));\n}\n.s-bg-action-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(219 234 254 / var(--tw-bg-opacity));\n}\n.s-bg-action-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(191 219 254 / var(--tw-bg-opacity));\n}\n.s-bg-action-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(147 197 253 / var(--tw-bg-opacity));\n}\n.s-bg-action-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(96 165 250 / var(--tw-bg-opacity));\n}\n.s-bg-action-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity));\n}\n.s-bg-action-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(37 99 235 / var(--tw-bg-opacity));\n}\n.s-bg-action-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(29 78 216 / var(--tw-bg-opacity));\n}\n.s-bg-action-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(30 64 175 / var(--tw-bg-opacity));\n}\n.s-bg-amber-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 243 199 / var(--tw-bg-opacity));\n}\n.s-bg-amber-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(253 230 138 / var(--tw-bg-opacity));\n}\n.s-bg-amber-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(252 211 77 / var(--tw-bg-opacity));\n}\n.s-bg-amber-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(251 191 36 / var(--tw-bg-opacity));\n}\n.s-bg-amber-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(245 158 11 / var(--tw-bg-opacity));\n}\n.s-bg-amber-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(217 119 6 / var(--tw-bg-opacity));\n}\n.s-bg-amber-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(180 83 9 / var(--tw-bg-opacity));\n}\n.s-bg-amber-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(146 64 14 / var(--tw-bg-opacity));\n}\n.s-bg-black\\/70 {\n background-color: rgb(0 0 0 / 0.7);\n}\n.s-bg-blue-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(219 234 254 / var(--tw-bg-opacity));\n}\n.s-bg-blue-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(191 219 254 / var(--tw-bg-opacity));\n}\n.s-bg-blue-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(147 197 253 / var(--tw-bg-opacity));\n}\n.s-bg-blue-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(96 165 250 / var(--tw-bg-opacity));\n}\n.s-bg-blue-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity));\n}\n.s-bg-blue-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(37 99 235 / var(--tw-bg-opacity));\n}\n.s-bg-blue-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(29 78 216 / var(--tw-bg-opacity));\n}\n.s-bg-blue-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(30 64 175 / var(--tw-bg-opacity));\n}\n.s-bg-brand {\n --tw-bg-opacity: 1;\n background-color: rgb(16 185 129 / var(--tw-bg-opacity));\n}\n.s-bg-cyan-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(207 250 254 / var(--tw-bg-opacity));\n}\n.s-bg-cyan-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(165 243 252 / var(--tw-bg-opacity));\n}\n.s-bg-cyan-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(103 232 249 / var(--tw-bg-opacity));\n}\n.s-bg-cyan-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(34 211 238 / var(--tw-bg-opacity));\n}\n.s-bg-cyan-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(6 182 212 / var(--tw-bg-opacity));\n}\n.s-bg-cyan-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(8 145 178 / var(--tw-bg-opacity));\n}\n.s-bg-cyan-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(14 116 144 / var(--tw-bg-opacity));\n}\n.s-bg-cyan-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(21 94 117 / var(--tw-bg-opacity));\n}\n.s-bg-element-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(203 213 225 / var(--tw-bg-opacity));\n}\n.s-bg-element-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(100 116 139 / var(--tw-bg-opacity));\n}\n.s-bg-emerald-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(209 250 229 / var(--tw-bg-opacity));\n}\n.s-bg-emerald-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(167 243 208 / var(--tw-bg-opacity));\n}\n.s-bg-emerald-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(110 231 183 / var(--tw-bg-opacity));\n}\n.s-bg-emerald-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(52 211 153 / var(--tw-bg-opacity));\n}\n.s-bg-emerald-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(16 185 129 / var(--tw-bg-opacity));\n}\n.s-bg-emerald-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(5 150 105 / var(--tw-bg-opacity));\n}\n.s-bg-emerald-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(4 120 87 / var(--tw-bg-opacity));\n}\n.s-bg-emerald-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(6 95 70 / var(--tw-bg-opacity));\n}\n.s-bg-fuchsia-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(250 232 255 / var(--tw-bg-opacity));\n}\n.s-bg-fuchsia-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(245 208 254 / var(--tw-bg-opacity));\n}\n.s-bg-fuchsia-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(240 171 252 / var(--tw-bg-opacity));\n}\n.s-bg-fuchsia-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(232 121 249 / var(--tw-bg-opacity));\n}\n.s-bg-fuchsia-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(217 70 239 / var(--tw-bg-opacity));\n}\n.s-bg-fuchsia-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(192 38 211 / var(--tw-bg-opacity));\n}\n.s-bg-fuchsia-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(162 28 175 / var(--tw-bg-opacity));\n}\n.s-bg-fuchsia-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(134 25 143 / var(--tw-bg-opacity));\n}\n.s-bg-gray-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\n}\n.s-bg-gray-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(229 231 235 / var(--tw-bg-opacity));\n}\n.s-bg-gray-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(209 213 219 / var(--tw-bg-opacity));\n}\n.s-bg-gray-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(156 163 175 / var(--tw-bg-opacity));\n}\n.s-bg-gray-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(107 114 128 / var(--tw-bg-opacity));\n}\n.s-bg-gray-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(75 85 99 / var(--tw-bg-opacity));\n}\n.s-bg-gray-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(55 65 81 / var(--tw-bg-opacity));\n}\n.s-bg-gray-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(31 41 55 / var(--tw-bg-opacity));\n}\n.s-bg-green-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(220 252 231 / var(--tw-bg-opacity));\n}\n.s-bg-green-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(187 247 208 / var(--tw-bg-opacity));\n}\n.s-bg-green-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(134 239 172 / var(--tw-bg-opacity));\n}\n.s-bg-green-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(74 222 128 / var(--tw-bg-opacity));\n}\n.s-bg-green-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(34 197 94 / var(--tw-bg-opacity));\n}\n.s-bg-green-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(22 163 74 / var(--tw-bg-opacity));\n}\n.s-bg-green-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(21 128 61 / var(--tw-bg-opacity));\n}\n.s-bg-green-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(22 101 52 / var(--tw-bg-opacity));\n}\n.s-bg-indigo-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(224 231 255 / var(--tw-bg-opacity));\n}\n.s-bg-indigo-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(199 210 254 / var(--tw-bg-opacity));\n}\n.s-bg-indigo-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(165 180 252 / var(--tw-bg-opacity));\n}\n.s-bg-indigo-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(129 140 248 / var(--tw-bg-opacity));\n}\n.s-bg-indigo-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(99 102 241 / var(--tw-bg-opacity));\n}\n.s-bg-indigo-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(79 70 229 / var(--tw-bg-opacity));\n}\n.s-bg-indigo-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(67 56 202 / var(--tw-bg-opacity));\n}\n.s-bg-indigo-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(55 48 163 / var(--tw-bg-opacity));\n}\n.s-bg-lime-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(236 252 203 / var(--tw-bg-opacity));\n}\n.s-bg-lime-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(217 249 157 / var(--tw-bg-opacity));\n}\n.s-bg-lime-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(190 242 100 / var(--tw-bg-opacity));\n}\n.s-bg-lime-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(163 230 53 / var(--tw-bg-opacity));\n}\n.s-bg-lime-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(132 204 22 / var(--tw-bg-opacity));\n}\n.s-bg-lime-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(101 163 13 / var(--tw-bg-opacity));\n}\n.s-bg-lime-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(77 124 15 / var(--tw-bg-opacity));\n}\n.s-bg-lime-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(63 98 18 / var(--tw-bg-opacity));\n}\n.s-bg-orange-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(255 237 213 / var(--tw-bg-opacity));\n}\n.s-bg-orange-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 215 170 / var(--tw-bg-opacity));\n}\n.s-bg-orange-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(253 186 116 / var(--tw-bg-opacity));\n}\n.s-bg-orange-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(251 146 60 / var(--tw-bg-opacity));\n}\n.s-bg-orange-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(249 115 22 / var(--tw-bg-opacity));\n}\n.s-bg-orange-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(234 88 12 / var(--tw-bg-opacity));\n}\n.s-bg-orange-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(194 65 12 / var(--tw-bg-opacity));\n}\n.s-bg-orange-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(154 52 18 / var(--tw-bg-opacity));\n}\n.s-bg-pink-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(252 231 243 / var(--tw-bg-opacity));\n}\n.s-bg-pink-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(251 207 232 / var(--tw-bg-opacity));\n}\n.s-bg-pink-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(249 168 212 / var(--tw-bg-opacity));\n}\n.s-bg-pink-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(244 114 182 / var(--tw-bg-opacity));\n}\n.s-bg-pink-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(253 242 248 / var(--tw-bg-opacity));\n}\n.s-bg-pink-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(236 72 153 / var(--tw-bg-opacity));\n}\n.s-bg-pink-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(219 39 119 / var(--tw-bg-opacity));\n}\n.s-bg-pink-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(190 24 93 / var(--tw-bg-opacity));\n}\n.s-bg-pink-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(157 23 77 / var(--tw-bg-opacity));\n}\n.s-bg-purple-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(243 232 255 / var(--tw-bg-opacity));\n}\n.s-bg-purple-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(233 213 255 / var(--tw-bg-opacity));\n}\n.s-bg-purple-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(216 180 254 / var(--tw-bg-opacity));\n}\n.s-bg-purple-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(192 132 252 / var(--tw-bg-opacity));\n}\n.s-bg-purple-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(168 85 247 / var(--tw-bg-opacity));\n}\n.s-bg-purple-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(147 51 234 / var(--tw-bg-opacity));\n}\n.s-bg-purple-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(126 34 206 / var(--tw-bg-opacity));\n}\n.s-bg-purple-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(107 33 168 / var(--tw-bg-opacity));\n}\n.s-bg-red-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 226 226 / var(--tw-bg-opacity));\n}\n.s-bg-red-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 202 202 / var(--tw-bg-opacity));\n}\n.s-bg-red-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(252 165 165 / var(--tw-bg-opacity));\n}\n.s-bg-red-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(248 113 113 / var(--tw-bg-opacity));\n}\n.s-bg-red-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(239 68 68 / var(--tw-bg-opacity));\n}\n.s-bg-red-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(220 38 38 / var(--tw-bg-opacity));\n}\n.s-bg-red-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(185 28 28 / var(--tw-bg-opacity));\n}\n.s-bg-red-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(153 27 27 / var(--tw-bg-opacity));\n}\n.s-bg-rose-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(255 228 230 / var(--tw-bg-opacity));\n}\n.s-bg-rose-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 205 211 / var(--tw-bg-opacity));\n}\n.s-bg-rose-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(253 164 175 / var(--tw-bg-opacity));\n}\n.s-bg-rose-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(251 113 133 / var(--tw-bg-opacity));\n}\n.s-bg-rose-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(244 63 94 / var(--tw-bg-opacity));\n}\n.s-bg-rose-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(225 29 72 / var(--tw-bg-opacity));\n}\n.s-bg-rose-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(190 18 60 / var(--tw-bg-opacity));\n}\n.s-bg-rose-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(159 18 57 / var(--tw-bg-opacity));\n}\n.s-bg-sky-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(224 242 254 / var(--tw-bg-opacity));\n}\n.s-bg-sky-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(186 230 253 / var(--tw-bg-opacity));\n}\n.s-bg-sky-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(125 211 252 / var(--tw-bg-opacity));\n}\n.s-bg-sky-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(56 189 248 / var(--tw-bg-opacity));\n}\n.s-bg-sky-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(14 165 233 / var(--tw-bg-opacity));\n}\n.s-bg-sky-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(2 132 199 / var(--tw-bg-opacity));\n}\n.s-bg-sky-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(3 105 161 / var(--tw-bg-opacity));\n}\n.s-bg-sky-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(7 89 133 / var(--tw-bg-opacity));\n}\n.s-bg-slate-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(241 245 249 / var(--tw-bg-opacity));\n}\n.s-bg-slate-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(226 232 240 / var(--tw-bg-opacity));\n}\n.s-bg-slate-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(203 213 225 / var(--tw-bg-opacity));\n}\n.s-bg-slate-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(148 163 184 / var(--tw-bg-opacity));\n}\n.s-bg-slate-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(100 116 139 / var(--tw-bg-opacity));\n}\n.s-bg-slate-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(71 85 105 / var(--tw-bg-opacity));\n}\n.s-bg-slate-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(51 65 85 / var(--tw-bg-opacity));\n}\n.s-bg-slate-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(30 41 59 / var(--tw-bg-opacity));\n}\n.s-bg-slate-900 {\n --tw-bg-opacity: 1;\n background-color: rgb(15 23 42 / var(--tw-bg-opacity));\n}\n.s-bg-slate-950\\/30 {\n background-color: rgb(2 6 23 / 0.3);\n}\n.s-bg-stone-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(245 245 244 / var(--tw-bg-opacity));\n}\n.s-bg-stone-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(231 229 228 / var(--tw-bg-opacity));\n}\n.s-bg-stone-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(214 211 209 / var(--tw-bg-opacity));\n}\n.s-bg-stone-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(168 162 158 / var(--tw-bg-opacity));\n}\n.s-bg-stone-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(120 113 108 / var(--tw-bg-opacity));\n}\n.s-bg-stone-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(87 83 78 / var(--tw-bg-opacity));\n}\n.s-bg-stone-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(68 64 60 / var(--tw-bg-opacity));\n}\n.s-bg-stone-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(41 37 36 / var(--tw-bg-opacity));\n}\n.s-bg-structure-0 {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n.s-bg-structure-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(241 245 249 / var(--tw-bg-opacity));\n}\n.s-bg-structure-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(226 232 240 / var(--tw-bg-opacity));\n}\n.s-bg-structure-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(248 250 252 / var(--tw-bg-opacity));\n}\n.s-bg-structure-50\\/80 {\n background-color: rgb(248 250 252 / 0.8);\n}\n.s-bg-success-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(110 231 183 / var(--tw-bg-opacity));\n}\n.s-bg-teal-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(204 251 241 / var(--tw-bg-opacity));\n}\n.s-bg-teal-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(153 246 228 / var(--tw-bg-opacity));\n}\n.s-bg-teal-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(94 234 212 / var(--tw-bg-opacity));\n}\n.s-bg-teal-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(45 212 191 / var(--tw-bg-opacity));\n}\n.s-bg-teal-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(20 184 166 / var(--tw-bg-opacity));\n}\n.s-bg-teal-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(13 148 136 / var(--tw-bg-opacity));\n}\n.s-bg-teal-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(15 118 110 / var(--tw-bg-opacity));\n}\n.s-bg-teal-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(17 94 89 / var(--tw-bg-opacity));\n}\n.s-bg-violet-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(237 233 254 / var(--tw-bg-opacity));\n}\n.s-bg-violet-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(221 214 254 / var(--tw-bg-opacity));\n}\n.s-bg-violet-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(196 181 253 / var(--tw-bg-opacity));\n}\n.s-bg-violet-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(167 139 250 / var(--tw-bg-opacity));\n}\n.s-bg-violet-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(139 92 246 / var(--tw-bg-opacity));\n}\n.s-bg-violet-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(124 58 237 / var(--tw-bg-opacity));\n}\n.s-bg-violet-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(109 40 217 / var(--tw-bg-opacity));\n}\n.s-bg-violet-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(91 33 182 / var(--tw-bg-opacity));\n}\n.s-bg-warning-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 226 226 / var(--tw-bg-opacity));\n}\n.s-bg-warning-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 202 202 / var(--tw-bg-opacity));\n}\n.s-bg-warning-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(252 165 165 / var(--tw-bg-opacity));\n}\n.s-bg-warning-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(248 113 113 / var(--tw-bg-opacity));\n}\n.s-bg-warning-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(239 68 68 / var(--tw-bg-opacity));\n}\n.s-bg-warning-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(220 38 38 / var(--tw-bg-opacity));\n}\n.s-bg-warning-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(185 28 28 / var(--tw-bg-opacity));\n}\n.s-bg-warning-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(153 27 27 / var(--tw-bg-opacity));\n}\n.s-bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n.s-bg-white\\/80 {\n background-color: rgb(255 255 255 / 0.8);\n}\n.s-bg-yellow-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 249 195 / var(--tw-bg-opacity));\n}\n.s-bg-yellow-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 240 138 / var(--tw-bg-opacity));\n}\n.s-bg-yellow-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(253 224 71 / var(--tw-bg-opacity));\n}\n.s-bg-yellow-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(250 204 21 / var(--tw-bg-opacity));\n}\n.s-bg-yellow-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(234 179 8 / var(--tw-bg-opacity));\n}\n.s-bg-yellow-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(202 138 4 / var(--tw-bg-opacity));\n}\n.s-bg-yellow-700 {\n --tw-bg-opacity: 1;\n background-color: rgb(161 98 7 / var(--tw-bg-opacity));\n}\n.s-bg-yellow-800 {\n --tw-bg-opacity: 1;\n background-color: rgb(133 77 14 / var(--tw-bg-opacity));\n}\n.s-bg-gradient-to-r {\n background-image: linear-gradient(to right, var(--tw-gradient-stops));\n}\n.s-bg-gradient-to-t {\n background-image: linear-gradient(to top, var(--tw-gradient-stops));\n}\n.s-from-amber-400 {\n --tw-gradient-from: #fbbf24 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(251 191 36 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.s-from-blue-400 {\n --tw-gradient-from: #60a5fa var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.s-from-cyan-500 {\n --tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.s-from-emerald-400 {\n --tw-gradient-from: #34d399 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(52 211 153 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.s-from-pink-400 {\n --tw-gradient-from: #f472b6 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(244 114 182 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.s-from-sky-400 {\n --tw-gradient-from: #38bdf8 var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(56 189 248 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.s-from-stone-400 {\n --tw-gradient-from: #a8a29e var(--tw-gradient-from-position);\n --tw-gradient-to: rgb(168 162 158 / 0) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);\n}\n.s-to-blue-400 {\n --tw-gradient-to: #60a5fa var(--tw-gradient-to-position);\n}\n.s-to-blue-500 {\n --tw-gradient-to: #3b82f6 var(--tw-gradient-to-position);\n}\n.s-to-green-400 {\n --tw-gradient-to: #4ade80 var(--tw-gradient-to-position);\n}\n.s-to-indigo-300 {\n --tw-gradient-to: #a5b4fc var(--tw-gradient-to-position);\n}\n.s-to-red-300 {\n --tw-gradient-to: #fca5a5 var(--tw-gradient-to-position);\n}\n.s-to-stone-300 {\n --tw-gradient-to: #d6d3d1 var(--tw-gradient-to-position);\n}\n.s-to-yellow-300 {\n --tw-gradient-to: #fde047 var(--tw-gradient-to-position);\n}\n.s-object-cover {\n -o-object-fit: cover;\n object-fit: cover;\n}\n.s-object-center {\n -o-object-position: center;\n object-position: center;\n}\n.s-p-0 {\n padding: 0px;\n}\n.s-p-10 {\n padding: 2.5rem;\n}\n.s-p-2 {\n padding: 0.5rem;\n}\n.s-p-2\\.5 {\n padding: 0.625rem;\n}\n.s-p-20 {\n padding: 5rem;\n}\n.s-p-3 {\n padding: 0.75rem;\n}\n.s-p-4 {\n padding: 1rem;\n}\n.s-p-5 {\n padding: 1.25rem;\n}\n.s-p-6 {\n padding: 1.5rem;\n}\n.s-p-8 {\n padding: 2rem;\n}\n.s-p-px {\n padding: 1px;\n}\n.s-px-0 {\n padding-left: 0px;\n padding-right: 0px;\n}\n.s-px-0\\.5 {\n padding-left: 0.125rem;\n padding-right: 0.125rem;\n}\n.s-px-1 {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n}\n.s-px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n.s-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n.s-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n.s-px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n}\n.s-px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n.s-py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n}\n.s-py-0\\.5 {\n padding-top: 0.125rem;\n padding-bottom: 0.125rem;\n}\n.s-py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\n.s-py-1\\.5 {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n}\n.s-py-16 {\n padding-top: 4rem;\n padding-bottom: 4rem;\n}\n.s-py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n.s-py-2\\.5 {\n padding-top: 0.625rem;\n padding-bottom: 0.625rem;\n}\n.s-py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n.s-py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n.s-pb-1 {\n padding-bottom: 0.25rem;\n}\n.s-pb-10 {\n padding-bottom: 2.5rem;\n}\n.s-pb-2 {\n padding-bottom: 0.5rem;\n}\n.s-pb-3 {\n padding-bottom: 0.75rem;\n}\n.s-pb-6 {\n padding-bottom: 1.5rem;\n}\n.s-pb-8 {\n padding-bottom: 2rem;\n}\n.s-pl-0 {\n padding-left: 0px;\n}\n.s-pl-0\\.5 {\n padding-left: 0.125rem;\n}\n.s-pl-1 {\n padding-left: 0.25rem;\n}\n.s-pl-2 {\n padding-left: 0.5rem;\n}\n.s-pl-2\\.5 {\n padding-left: 0.625rem;\n}\n.s-pl-3 {\n padding-left: 0.75rem;\n}\n.s-pl-32 {\n padding-left: 8rem;\n}\n.s-pl-4 {\n padding-left: 1rem;\n}\n.s-pl-5 {\n padding-left: 1.25rem;\n}\n.s-pl-6 {\n padding-left: 1.5rem;\n}\n.s-pl-64 {\n padding-left: 16rem;\n}\n.s-pl-7 {\n padding-left: 1.75rem;\n}\n.s-pr-10 {\n padding-right: 2.5rem;\n}\n.s-pr-2 {\n padding-right: 0.5rem;\n}\n.s-pr-3 {\n padding-right: 0.75rem;\n}\n.s-pr-3\\.5 {\n padding-right: 0.875rem;\n}\n.s-pr-4 {\n padding-right: 1rem;\n}\n.s-pr-5 {\n padding-right: 1.25rem;\n}\n.s-pr-6 {\n padding-right: 1.5rem;\n}\n.s-pr-8 {\n padding-right: 2rem;\n}\n.s-pt-0 {\n padding-top: 0px;\n}\n.s-pt-0\\.5 {\n padding-top: 0.125rem;\n}\n.s-pt-1 {\n padding-top: 0.25rem;\n}\n.s-pt-1\\.5 {\n padding-top: 0.375rem;\n}\n.s-pt-10 {\n padding-top: 2.5rem;\n}\n.s-pt-16 {\n padding-top: 4rem;\n}\n.s-pt-3 {\n padding-top: 0.75rem;\n}\n.s-pt-4 {\n padding-top: 1rem;\n}\n.s-pt-6 {\n padding-top: 1.5rem;\n}\n.s-pt-7 {\n padding-top: 1.75rem;\n}\n.s-text-left {\n text-align: left;\n}\n.s-text-right {\n text-align: right;\n}\n.s-text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n.s-text-3xl {\n font-size: 1.875rem;\n line-height: 2.25rem;\n}\n.s-text-4xl {\n font-size: 2.25rem;\n line-height: 2.5rem;\n}\n.s-text-5xl {\n font-size: 3rem;\n line-height: 1;\n}\n.s-text-7xl {\n font-size: 4.5rem;\n line-height: 1;\n}\n.s-text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n}\n.s-text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n.s-text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.s-text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n.s-text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n.s-font-bold {\n font-weight: 700;\n}\n.s-font-medium {\n font-weight: 500;\n}\n.s-font-normal {\n font-weight: 400;\n}\n.s-font-semibold {\n font-weight: 600;\n}\n.s-uppercase {\n text-transform: uppercase;\n}\n.s-italic {\n font-style: italic;\n}\n.s-tracking-wider {\n letter-spacing: 0.05em;\n}\n.s-text-action-300 {\n --tw-text-opacity: 1;\n color: rgb(147 197 253 / var(--tw-text-opacity));\n}\n.s-text-action-400 {\n --tw-text-opacity: 1;\n color: rgb(96 165 250 / var(--tw-text-opacity));\n}\n.s-text-action-500 {\n --tw-text-opacity: 1;\n color: rgb(59 130 246 / var(--tw-text-opacity));\n}\n.s-text-action-800 {\n --tw-text-opacity: 1;\n color: rgb(30 64 175 / var(--tw-text-opacity));\n}\n.s-text-action-900 {\n --tw-text-opacity: 1;\n color: rgb(30 58 138 / var(--tw-text-opacity));\n}\n.s-text-action-950 {\n --tw-text-opacity: 1;\n color: rgb(23 37 84 / var(--tw-text-opacity));\n}\n.s-text-amber-500 {\n --tw-text-opacity: 1;\n color: rgb(245 158 11 / var(--tw-text-opacity));\n}\n.s-text-amber-700 {\n --tw-text-opacity: 1;\n color: rgb(180 83 9 / var(--tw-text-opacity));\n}\n.s-text-amber-800 {\n --tw-text-opacity: 1;\n color: rgb(146 64 14 / var(--tw-text-opacity));\n}\n.s-text-amber-900 {\n --tw-text-opacity: 1;\n color: rgb(120 53 15 / var(--tw-text-opacity));\n}\n.s-text-amber-950 {\n --tw-text-opacity: 1;\n color: rgb(69 26 3 / var(--tw-text-opacity));\n}\n.s-text-blue-700 {\n --tw-text-opacity: 1;\n color: rgb(29 78 216 / var(--tw-text-opacity));\n}\n.s-text-blue-800 {\n --tw-text-opacity: 1;\n color: rgb(30 64 175 / var(--tw-text-opacity));\n}\n.s-text-blue-900 {\n --tw-text-opacity: 1;\n color: rgb(30 58 138 / var(--tw-text-opacity));\n}\n.s-text-blue-950 {\n --tw-text-opacity: 1;\n color: rgb(23 37 84 / var(--tw-text-opacity));\n}\n.s-text-brand {\n --tw-text-opacity: 1;\n color: rgb(16 185 129 / var(--tw-text-opacity));\n}\n.s-text-cyan-700 {\n --tw-text-opacity: 1;\n color: rgb(14 116 144 / var(--tw-text-opacity));\n}\n.s-text-cyan-800 {\n --tw-text-opacity: 1;\n color: rgb(21 94 117 / var(--tw-text-opacity));\n}\n.s-text-cyan-900 {\n --tw-text-opacity: 1;\n color: rgb(22 78 99 / var(--tw-text-opacity));\n}\n.s-text-cyan-950 {\n --tw-text-opacity: 1;\n color: rgb(8 51 68 / var(--tw-text-opacity));\n}\n.s-text-element-500 {\n --tw-text-opacity: 1;\n color: rgb(203 213 225 / var(--tw-text-opacity));\n}\n.s-text-element-600 {\n --tw-text-opacity: 1;\n color: rgb(148 163 184 / var(--tw-text-opacity));\n}\n.s-text-element-700 {\n --tw-text-opacity: 1;\n color: rgb(100 116 139 / var(--tw-text-opacity));\n}\n.s-text-element-800 {\n --tw-text-opacity: 1;\n color: rgb(51 65 85 / var(--tw-text-opacity));\n}\n.s-text-element-900 {\n --tw-text-opacity: 1;\n color: rgb(15 23 42 / var(--tw-text-opacity));\n}\n.s-text-emerald-500 {\n --tw-text-opacity: 1;\n color: rgb(16 185 129 / var(--tw-text-opacity));\n}\n.s-text-emerald-700 {\n --tw-text-opacity: 1;\n color: rgb(4 120 87 / var(--tw-text-opacity));\n}\n.s-text-emerald-800 {\n --tw-text-opacity: 1;\n color: rgb(6 95 70 / var(--tw-text-opacity));\n}\n.s-text-emerald-900 {\n --tw-text-opacity: 1;\n color: rgb(6 78 59 / var(--tw-text-opacity));\n}\n.s-text-emerald-950 {\n --tw-text-opacity: 1;\n color: rgb(2 44 34 / var(--tw-text-opacity));\n}\n.s-text-fuchsia-700 {\n --tw-text-opacity: 1;\n color: rgb(162 28 175 / var(--tw-text-opacity));\n}\n.s-text-fuchsia-800 {\n --tw-text-opacity: 1;\n color: rgb(134 25 143 / var(--tw-text-opacity));\n}\n.s-text-fuchsia-900 {\n --tw-text-opacity: 1;\n color: rgb(112 26 117 / var(--tw-text-opacity));\n}\n.s-text-fuchsia-950 {\n --tw-text-opacity: 1;\n color: rgb(74 4 78 / var(--tw-text-opacity));\n}\n.s-text-gray-500 {\n --tw-text-opacity: 1;\n color: rgb(107 114 128 / var(--tw-text-opacity));\n}\n.s-text-gray-800 {\n --tw-text-opacity: 1;\n color: rgb(31 41 55 / var(--tw-text-opacity));\n}\n.s-text-gray-900 {\n --tw-text-opacity: 1;\n color: rgb(17 24 39 / var(--tw-text-opacity));\n}\n.s-text-gray-950 {\n --tw-text-opacity: 1;\n color: rgb(3 7 18 / var(--tw-text-opacity));\n}\n.s-text-green-700 {\n --tw-text-opacity: 1;\n color: rgb(21 128 61 / var(--tw-text-opacity));\n}\n.s-text-green-800 {\n --tw-text-opacity: 1;\n color: rgb(22 101 52 / var(--tw-text-opacity));\n}\n.s-text-green-900 {\n --tw-text-opacity: 1;\n color: rgb(20 83 45 / var(--tw-text-opacity));\n}\n.s-text-green-950 {\n --tw-text-opacity: 1;\n color: rgb(5 46 22 / var(--tw-text-opacity));\n}\n.s-text-indigo-700 {\n --tw-text-opacity: 1;\n color: rgb(67 56 202 / var(--tw-text-opacity));\n}\n.s-text-indigo-800 {\n --tw-text-opacity: 1;\n color: rgb(55 48 163 / var(--tw-text-opacity));\n}\n.s-text-indigo-900 {\n --tw-text-opacity: 1;\n color: rgb(49 46 129 / var(--tw-text-opacity));\n}\n.s-text-indigo-950 {\n --tw-text-opacity: 1;\n color: rgb(30 27 75 / var(--tw-text-opacity));\n}\n.s-text-lime-700 {\n --tw-text-opacity: 1;\n color: rgb(77 124 15 / var(--tw-text-opacity));\n}\n.s-text-lime-800 {\n --tw-text-opacity: 1;\n color: rgb(63 98 18 / var(--tw-text-opacity));\n}\n.s-text-lime-900 {\n --tw-text-opacity: 1;\n color: rgb(54 83 20 / var(--tw-text-opacity));\n}\n.s-text-lime-950 {\n --tw-text-opacity: 1;\n color: rgb(26 46 5 / var(--tw-text-opacity));\n}\n.s-text-orange-700 {\n --tw-text-opacity: 1;\n color: rgb(194 65 12 / var(--tw-text-opacity));\n}\n.s-text-orange-800 {\n --tw-text-opacity: 1;\n color: rgb(154 52 18 / var(--tw-text-opacity));\n}\n.s-text-orange-900 {\n --tw-text-opacity: 1;\n color: rgb(124 45 18 / var(--tw-text-opacity));\n}\n.s-text-orange-950 {\n --tw-text-opacity: 1;\n color: rgb(67 20 7 / var(--tw-text-opacity));\n}\n.s-text-pink-800 {\n --tw-text-opacity: 1;\n color: rgb(157 23 77 / var(--tw-text-opacity));\n}\n.s-text-pink-900 {\n --tw-text-opacity: 1;\n color: rgb(131 24 67 / var(--tw-text-opacity));\n}\n.s-text-pink-950 {\n --tw-text-opacity: 1;\n color: rgb(80 7 36 / var(--tw-text-opacity));\n}\n.s-text-purple-700 {\n --tw-text-opacity: 1;\n color: rgb(126 34 206 / var(--tw-text-opacity));\n}\n.s-text-purple-800 {\n --tw-text-opacity: 1;\n color: rgb(107 33 168 / var(--tw-text-opacity));\n}\n.s-text-purple-900 {\n --tw-text-opacity: 1;\n color: rgb(88 28 135 / var(--tw-text-opacity));\n}\n.s-text-purple-950 {\n --tw-text-opacity: 1;\n color: rgb(59 7 100 / var(--tw-text-opacity));\n}\n.s-text-red-500 {\n --tw-text-opacity: 1;\n color: rgb(239 68 68 / var(--tw-text-opacity));\n}\n.s-text-red-700 {\n --tw-text-opacity: 1;\n color: rgb(185 28 28 / var(--tw-text-opacity));\n}\n.s-text-red-800 {\n --tw-text-opacity: 1;\n color: rgb(153 27 27 / var(--tw-text-opacity));\n}\n.s-text-red-900 {\n --tw-text-opacity: 1;\n color: rgb(127 29 29 / var(--tw-text-opacity));\n}\n.s-text-red-950 {\n --tw-text-opacity: 1;\n color: rgb(69 10 10 / var(--tw-text-opacity));\n}\n.s-text-rose-700 {\n --tw-text-opacity: 1;\n color: rgb(190 18 60 / var(--tw-text-opacity));\n}\n.s-text-rose-800 {\n --tw-text-opacity: 1;\n color: rgb(159 18 57 / var(--tw-text-opacity));\n}\n.s-text-rose-900 {\n --tw-text-opacity: 1;\n color: rgb(136 19 55 / var(--tw-text-opacity));\n}\n.s-text-rose-950 {\n --tw-text-opacity: 1;\n color: rgb(76 5 25 / var(--tw-text-opacity));\n}\n.s-text-sky-700 {\n --tw-text-opacity: 1;\n color: rgb(3 105 161 / var(--tw-text-opacity));\n}\n.s-text-sky-800 {\n --tw-text-opacity: 1;\n color: rgb(7 89 133 / var(--tw-text-opacity));\n}\n.s-text-sky-900 {\n --tw-text-opacity: 1;\n color: rgb(12 74 110 / var(--tw-text-opacity));\n}\n.s-text-sky-950 {\n --tw-text-opacity: 1;\n color: rgb(8 47 73 / var(--tw-text-opacity));\n}\n.s-text-slate-400 {\n --tw-text-opacity: 1;\n color: rgb(148 163 184 / var(--tw-text-opacity));\n}\n.s-text-slate-700 {\n --tw-text-opacity: 1;\n color: rgb(51 65 85 / var(--tw-text-opacity));\n}\n.s-text-slate-800 {\n --tw-text-opacity: 1;\n color: rgb(30 41 59 / var(--tw-text-opacity));\n}\n.s-text-slate-900 {\n --tw-text-opacity: 1;\n color: rgb(15 23 42 / var(--tw-text-opacity));\n}\n.s-text-slate-950 {\n --tw-text-opacity: 1;\n color: rgb(2 6 23 / var(--tw-text-opacity));\n}\n.s-text-stone-800 {\n --tw-text-opacity: 1;\n color: rgb(41 37 36 / var(--tw-text-opacity));\n}\n.s-text-stone-900 {\n --tw-text-opacity: 1;\n color: rgb(28 25 23 / var(--tw-text-opacity));\n}\n.s-text-stone-950 {\n --tw-text-opacity: 1;\n color: rgb(12 10 9 / var(--tw-text-opacity));\n}\n.s-text-structure-0 {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n.s-text-success-500 {\n --tw-text-opacity: 1;\n color: rgb(16 185 129 / var(--tw-text-opacity));\n}\n.s-text-teal-700 {\n --tw-text-opacity: 1;\n color: rgb(15 118 110 / var(--tw-text-opacity));\n}\n.s-text-teal-800 {\n --tw-text-opacity: 1;\n color: rgb(17 94 89 / var(--tw-text-opacity));\n}\n.s-text-teal-900 {\n --tw-text-opacity: 1;\n color: rgb(19 78 74 / var(--tw-text-opacity));\n}\n.s-text-teal-950 {\n --tw-text-opacity: 1;\n color: rgb(4 47 46 / var(--tw-text-opacity));\n}\n.s-text-violet-700 {\n --tw-text-opacity: 1;\n color: rgb(109 40 217 / var(--tw-text-opacity));\n}\n.s-text-violet-800 {\n --tw-text-opacity: 1;\n color: rgb(91 33 182 / var(--tw-text-opacity));\n}\n.s-text-violet-900 {\n --tw-text-opacity: 1;\n color: rgb(76 29 149 / var(--tw-text-opacity));\n}\n.s-text-violet-950 {\n --tw-text-opacity: 1;\n color: rgb(46 16 101 / var(--tw-text-opacity));\n}\n.s-text-warning-300 {\n --tw-text-opacity: 1;\n color: rgb(252 165 165 / var(--tw-text-opacity));\n}\n.s-text-warning-400 {\n --tw-text-opacity: 1;\n color: rgb(248 113 113 / var(--tw-text-opacity));\n}\n.s-text-warning-500 {\n --tw-text-opacity: 1;\n color: rgb(239 68 68 / var(--tw-text-opacity));\n}\n.s-text-warning-800 {\n --tw-text-opacity: 1;\n color: rgb(153 27 27 / var(--tw-text-opacity));\n}\n.s-text-warning-900 {\n --tw-text-opacity: 1;\n color: rgb(127 29 29 / var(--tw-text-opacity));\n}\n.s-text-warning-950 {\n --tw-text-opacity: 1;\n color: rgb(69 10 10 / var(--tw-text-opacity));\n}\n.s-text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n}\n.s-text-white\\/50 {\n color: rgb(255 255 255 / 0.5);\n}\n.s-text-white\\/70 {\n color: rgb(255 255 255 / 0.7);\n}\n.s-text-yellow-700 {\n --tw-text-opacity: 1;\n color: rgb(161 98 7 / var(--tw-text-opacity));\n}\n.s-text-yellow-800 {\n --tw-text-opacity: 1;\n color: rgb(133 77 14 / var(--tw-text-opacity));\n}\n.s-text-yellow-900 {\n --tw-text-opacity: 1;\n color: rgb(113 63 18 / var(--tw-text-opacity));\n}\n.s-text-yellow-950 {\n --tw-text-opacity: 1;\n color: rgb(66 32 6 / var(--tw-text-opacity));\n}\n.s-underline {\n text-decoration-line: underline;\n}\n.s-placeholder-element-600::-moz-placeholder {\n --tw-placeholder-opacity: 1;\n color: rgb(148 163 184 / var(--tw-placeholder-opacity));\n}\n.s-placeholder-element-600::placeholder {\n --tw-placeholder-opacity: 1;\n color: rgb(148 163 184 / var(--tw-placeholder-opacity));\n}\n.s-opacity-0 {\n opacity: 0;\n}\n.s-opacity-100 {\n opacity: 1;\n}\n.s-opacity-20 {\n opacity: 0.2;\n}\n.s-opacity-50 {\n opacity: 0.5;\n}\n.s-opacity-60 {\n opacity: 0.6;\n}\n.s-shadow {\n --tw-shadow: 0 2px 6px 0 rgba(15, 23, 42, 0.1);\n --tw-shadow-colored: 0 2px 6px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.s-shadow-2xl {\n --tw-shadow: 0 25px 50px rgba(15, 23, 42, 0.12);\n --tw-shadow-colored: 0 25px 50px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.s-shadow-lg {\n --tw-shadow: 0 10px 20px rgba(15, 23, 42, 0.12);\n --tw-shadow-colored: 0 10px 20px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.s-shadow-md {\n --tw-shadow: 0 4px 12px rgba(15, 23, 42, 0.12);\n --tw-shadow-colored: 0 4px 12px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.s-shadow-sm {\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.s-shadow-xl {\n --tw-shadow: 0 20px 25px rgba(15, 23, 42, 0.12);\n --tw-shadow-colored: 0 20px 25px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.s-outline-none {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.s-ring-0 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.s-ring-1 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n.s-ring-structure-200 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(226 232 240 / var(--tw-ring-opacity));\n}\n.s-ring-warning-200 {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(254 202 202 / var(--tw-ring-opacity));\n}\n.s-brightness-90 {\n --tw-brightness: brightness(.9);\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.s-drop-shadow {\n --tw-drop-shadow: drop-shadow(0 2px 4px rgba(15, 23, 42, 0.1));\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.s-drop-shadow-2xl {\n --tw-drop-shadow: drop-shadow(0 25px 35px rgba(15, 23, 42, 0.12));\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.s-drop-shadow-lg {\n --tw-drop-shadow: drop-shadow(0 10px 15px rgba(15, 23, 42, 0.12));\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.s-drop-shadow-md {\n --tw-drop-shadow: drop-shadow(0 4px 6px rgba(15, 23, 42, 0.12));\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.s-drop-shadow-sm {\n --tw-drop-shadow: drop-shadow(0 1px 2px rgba(15, 23, 42, 0.08));\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.s-drop-shadow-xl {\n --tw-drop-shadow: drop-shadow(0 20px 20px rgba(15, 23, 42, 0.12));\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.s-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.s-backdrop-blur {\n --tw-backdrop-blur: blur(8px);\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.s-backdrop-blur-sm {\n --tw-backdrop-blur: blur(4px);\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.s-transition {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.s-transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.s-transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.s-transition-opacity {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.s-transition-transform {\n transition-property: transform;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.s-duration-100 {\n transition-duration: 100ms;\n}\n.s-duration-150 {\n transition-duration: 150ms;\n}\n.s-duration-200 {\n transition-duration: 200ms;\n}\n.s-duration-300 {\n transition-duration: 300ms;\n}\n.s-duration-500 {\n transition-duration: 500ms;\n}\n.s-duration-75 {\n transition-duration: 75ms;\n}\n.s-ease-in {\n transition-timing-function: cubic-bezier(0.4, 0, 1, 1);\n}\n.s-ease-in-out {\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n}\n.s-ease-out {\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n}\n.s-scrollbar-hide {\n -ms-overflow-style: none;\n scrollbar-width: none;\n}\n.s-scrollbar-hide::-webkit-scrollbar {\n display: none;\n}\n\n@keyframes bgblink {\n 0%,\n 100% {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n }\n 50% {\n --tw-bg-opacity: 1;\n background-color: rgb(243 232 255 / var(--tw-bg-opacity));\n }\n}\n\n.first\\:s-pt-0:first-child {\n padding-top: 0px;\n}\n\n.last\\:s-border-none:last-child {\n border-style: none;\n}\n\n.last\\:s-pb-0:last-child {\n padding-bottom: 0px;\n}\n\n.checked\\:s-bg-action-500:checked {\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity));\n}\n\n.checked\\:s-ring-0:checked {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.hover\\:s-scale-100:hover {\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.hover\\:s-scale-105:hover {\n --tw-scale-x: 1.05;\n --tw-scale-y: 1.05;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.hover\\:s-scale-110:hover {\n --tw-scale-x: 1.1;\n --tw-scale-y: 1.1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.hover\\:s-cursor-not-allowed:hover {\n cursor: not-allowed;\n}\n\n.hover\\:s-border-action-200:hover {\n --tw-border-opacity: 1;\n border-color: rgb(191 219 254 / var(--tw-border-opacity));\n}\n\n.hover\\:s-border-action-300:hover {\n --tw-border-opacity: 1;\n border-color: rgb(147 197 253 / var(--tw-border-opacity));\n}\n\n.hover\\:s-border-action-500:hover {\n --tw-border-opacity: 1;\n border-color: rgb(59 130 246 / var(--tw-border-opacity));\n}\n\n.hover\\:s-border-structure-100:hover {\n --tw-border-opacity: 1;\n border-color: rgb(241 245 249 / var(--tw-border-opacity));\n}\n\n.hover\\:s-border-structure-200:hover {\n --tw-border-opacity: 1;\n border-color: rgb(226 232 240 / var(--tw-border-opacity));\n}\n\n.hover\\:s-border-warning-200:hover {\n --tw-border-opacity: 1;\n border-color: rgb(254 202 202 / var(--tw-border-opacity));\n}\n\n.hover\\:s-border-warning-500:hover {\n --tw-border-opacity: 1;\n border-color: rgb(239 68 68 / var(--tw-border-opacity));\n}\n\n.hover\\:s-bg-action-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(219 234 254 / var(--tw-bg-opacity));\n}\n\n.hover\\:s-bg-action-200:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(191 219 254 / var(--tw-bg-opacity));\n}\n\n.hover\\:s-bg-action-400:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(96 165 250 / var(--tw-bg-opacity));\n}\n\n.hover\\:s-bg-action-50:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(239 246 255 / var(--tw-bg-opacity));\n}\n\n.hover\\:s-bg-structure-200:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(226 232 240 / var(--tw-bg-opacity));\n}\n\n.hover\\:s-bg-structure-50:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(248 250 252 / var(--tw-bg-opacity));\n}\n\n.hover\\:s-bg-success-200:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(167 243 208 / var(--tw-bg-opacity));\n}\n\n.hover\\:s-bg-warning-400:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(248 113 113 / var(--tw-bg-opacity));\n}\n\n.hover\\:s-bg-warning-50:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(254 242 242 / var(--tw-bg-opacity));\n}\n\n.hover\\:s-bg-white:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n\n.hover\\:s-text-action-400:hover {\n --tw-text-opacity: 1;\n color: rgb(96 165 250 / var(--tw-text-opacity));\n}\n\n.hover\\:s-text-action-500:hover {\n --tw-text-opacity: 1;\n color: rgb(59 130 246 / var(--tw-text-opacity));\n}\n\n.hover\\:s-text-slate-100:hover {\n --tw-text-opacity: 1;\n color: rgb(241 245 249 / var(--tw-text-opacity));\n}\n\n.hover\\:s-text-warning-400:hover {\n --tw-text-opacity: 1;\n color: rgb(248 113 113 / var(--tw-text-opacity));\n}\n\n.hover\\:s-brightness-110:hover {\n --tw-brightness: brightness(1.1);\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\n.hover\\:s-drop-shadow-md:hover {\n --tw-drop-shadow: drop-shadow(0 4px 6px rgba(15, 23, 42, 0.12));\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\n.hover\\:s-filter:hover {\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\n.focus\\:s-border-action-300:focus {\n --tw-border-opacity: 1;\n border-color: rgb(147 197 253 / var(--tw-border-opacity));\n}\n\n.focus\\:s-border-red-500:focus {\n --tw-border-opacity: 1;\n border-color: rgb(239 68 68 / var(--tw-border-opacity));\n}\n\n.focus\\:s-outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n.focus\\:s-ring-0:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.focus\\:s-ring-2:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.focus\\:s-ring-action-300:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(147 197 253 / var(--tw-ring-opacity));\n}\n\n.focus\\:s-ring-red-500:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity));\n}\n\n.focus\\:s-ring-warning-300:focus {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(252 165 165 / var(--tw-ring-opacity));\n}\n\n.active\\:s-scale-100:active {\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n\n.active\\:s-border-action-400:active {\n --tw-border-opacity: 1;\n border-color: rgb(96 165 250 / var(--tw-border-opacity));\n}\n\n.active\\:s-border-action-500:active {\n --tw-border-opacity: 1;\n border-color: rgb(59 130 246 / var(--tw-border-opacity));\n}\n\n.active\\:s-border-action-700:active {\n --tw-border-opacity: 1;\n border-color: rgb(29 78 216 / var(--tw-border-opacity));\n}\n\n.active\\:s-border-structure-200:active {\n --tw-border-opacity: 1;\n border-color: rgb(226 232 240 / var(--tw-border-opacity));\n}\n\n.active\\:s-border-structure-300:active {\n --tw-border-opacity: 1;\n border-color: rgb(203 213 225 / var(--tw-border-opacity));\n}\n\n.active\\:s-border-warning-500:active {\n --tw-border-opacity: 1;\n border-color: rgb(239 68 68 / var(--tw-border-opacity));\n}\n\n.active\\:s-border-warning-700:active {\n --tw-border-opacity: 1;\n border-color: rgb(185 28 28 / var(--tw-border-opacity));\n}\n\n.active\\:s-bg-action-100:active {\n --tw-bg-opacity: 1;\n background-color: rgb(219 234 254 / var(--tw-bg-opacity));\n}\n\n.active\\:s-bg-action-200:active {\n --tw-bg-opacity: 1;\n background-color: rgb(191 219 254 / var(--tw-bg-opacity));\n}\n\n.active\\:s-bg-action-600:active {\n --tw-bg-opacity: 1;\n background-color: rgb(37 99 235 / var(--tw-bg-opacity));\n}\n\n.active\\:s-bg-structure-100:active {\n --tw-bg-opacity: 1;\n background-color: rgb(241 245 249 / var(--tw-bg-opacity));\n}\n\n.active\\:s-bg-warning-100:active {\n --tw-bg-opacity: 1;\n background-color: rgb(254 226 226 / var(--tw-bg-opacity));\n}\n\n.active\\:s-bg-warning-600:active {\n --tw-bg-opacity: 1;\n background-color: rgb(220 38 38 / var(--tw-bg-opacity));\n}\n\n.active\\:s-text-action-600:active {\n --tw-text-opacity: 1;\n color: rgb(37 99 235 / var(--tw-text-opacity));\n}\n\n.active\\:s-text-action-700:active {\n --tw-text-opacity: 1;\n color: rgb(29 78 216 / var(--tw-text-opacity));\n}\n\n.active\\:s-text-slate-200:active {\n --tw-text-opacity: 1;\n color: rgb(226 232 240 / var(--tw-text-opacity));\n}\n\n.active\\:s-text-warning-600:active {\n --tw-text-opacity: 1;\n color: rgb(220 38 38 / var(--tw-text-opacity));\n}\n\n.active\\:s-ring-0:active {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);\n}\n\n.active\\:s-brightness-100:active {\n --tw-brightness: brightness(1);\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\n.active\\:s-brightness-90:active {\n --tw-brightness: brightness(.9);\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\n.active\\:s-drop-shadow-none:active {\n --tw-drop-shadow: drop-shadow(0 0 #0000);\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\n.s-group:hover .group-hover\\:s-text-action-400 {\n --tw-text-opacity: 1;\n color: rgb(96 165 250 / var(--tw-text-opacity));\n}\n\n.s-group:hover .group-hover\\:s-text-action-500 {\n --tw-text-opacity: 1;\n color: rgb(59 130 246 / var(--tw-text-opacity));\n}\n\n.s-group:hover .group-hover\\:s-text-warning-300 {\n --tw-text-opacity: 1;\n color: rgb(252 165 165 / var(--tw-text-opacity));\n}\n\n.s-group:hover .group-hover\\:s-text-warning-400 {\n --tw-text-opacity: 1;\n color: rgb(248 113 113 / var(--tw-text-opacity));\n}\n\n.s-group:hover .group-hover\\:s-opacity-100 {\n opacity: 1;\n}\n\n.s-group:hover .group-hover\\:s-brightness-110 {\n --tw-brightness: brightness(1.1);\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\n.s-group:hover .group-hover\\:s-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\n.s-group:active .group-active\\:s-text-action-700 {\n --tw-text-opacity: 1;\n color: rgb(29 78 216 / var(--tw-text-opacity));\n}\n\n.s-group:active .group-active\\:s-text-warning-700 {\n --tw-text-opacity: 1;\n color: rgb(185 28 28 / var(--tw-text-opacity));\n}\n\n.s-group:active .group-active\\:s-brightness-100 {\n --tw-brightness: brightness(1);\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\n.s-group:active .group-active\\:s-brightness-90 {\n --tw-brightness: brightness(.9);\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\n.data-\\[closed\\]\\:s-opacity-0[data-closed] {\n opacity: 0;\n}\n\n:is(.s-dark .dark\\:s-border-action-200-dark) {\n --tw-border-opacity: 1;\n border-color: rgb(30 64 175 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:s-border-action-500-dark) {\n --tw-border-opacity: 1;\n border-color: rgb(59 130 246 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:s-border-element-500-dark) {\n --tw-border-opacity: 1;\n border-color: rgb(100 116 139 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:s-border-structure-100-dark) {\n --tw-border-opacity: 1;\n border-color: rgb(30 41 59 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:s-border-structure-200-dark) {\n --tw-border-opacity: 1;\n border-color: rgb(51 65 85 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:s-border-structure-200-dark\\/50) {\n border-color: rgb(51 65 85 / 0.5);\n}\n\n:is(.s-dark .dark\\:s-border-structure-300-dark) {\n --tw-border-opacity: 1;\n border-color: rgb(71 85 105 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:s-border-structure-300-dark\\/30) {\n border-color: rgb(71 85 105 / 0.3);\n}\n\n:is(.s-dark .dark\\:s-border-structure-50-dark) {\n --tw-border-opacity: 1;\n border-color: rgb(15 23 42 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:s-border-warning-200-dark) {\n --tw-border-opacity: 1;\n border-color: rgb(153 27 27 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-action-100-dark) {\n --tw-bg-opacity: 1;\n background-color: rgb(30 58 138 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-action-500-dark) {\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-amber-500) {\n --tw-bg-opacity: 1;\n background-color: rgb(245 158 11 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-blue-500) {\n --tw-bg-opacity: 1;\n background-color: rgb(59 130 246 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-element-500-dark) {\n --tw-bg-opacity: 1;\n background-color: rgb(100 116 139 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-element-700-dark) {\n --tw-bg-opacity: 1;\n background-color: rgb(203 213 225 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-emerald-500) {\n --tw-bg-opacity: 1;\n background-color: rgb(16 185 129 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-pink-500) {\n --tw-bg-opacity: 1;\n background-color: rgb(236 72 153 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-sky-500) {\n --tw-bg-opacity: 1;\n background-color: rgb(14 165 233 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-structure-0-dark) {\n --tw-bg-opacity: 1;\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-structure-100-dark) {\n --tw-bg-opacity: 1;\n background-color: rgb(30 41 59 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-structure-200-dark) {\n --tw-bg-opacity: 1;\n background-color: rgb(51 65 85 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-structure-300-dark) {\n --tw-bg-opacity: 1;\n background-color: rgb(71 85 105 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-structure-50-dark) {\n --tw-bg-opacity: 1;\n background-color: rgb(15 23 42 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-structure-50-dark\\/80) {\n background-color: rgb(15 23 42 / 0.8);\n}\n\n:is(.s-dark .dark\\:s-bg-success-400-dark) {\n --tw-bg-opacity: 1;\n background-color: rgb(5 150 105 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:s-bg-warning-100-dark) {\n --tw-bg-opacity: 1;\n background-color: rgb(127 29 29 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark :is(.s-dark .dark\\:dark\\:s-text-action-500-dark)) {\n --tw-text-opacity: 1;\n color: rgb(59 130 246 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-action-500-dark) {\n --tw-text-opacity: 1;\n color: rgb(59 130 246 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-action-600-dark) {\n --tw-text-opacity: 1;\n color: rgb(96 165 250 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-action-700-dark) {\n --tw-text-opacity: 1;\n color: rgb(147 197 253 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-amber-950) {\n --tw-text-opacity: 1;\n color: rgb(69 26 3 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-blue-950) {\n --tw-text-opacity: 1;\n color: rgb(23 37 84 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-element-500-dark) {\n --tw-text-opacity: 1;\n color: rgb(100 116 139 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-element-600-dark) {\n --tw-text-opacity: 1;\n color: rgb(148 163 184 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-element-700-dark) {\n --tw-text-opacity: 1;\n color: rgb(203 213 225 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-element-800-dark) {\n --tw-text-opacity: 1;\n color: rgb(226 232 240 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-element-900-dark) {\n --tw-text-opacity: 1;\n color: rgb(248 250 252 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-emerald-950) {\n --tw-text-opacity: 1;\n color: rgb(2 44 34 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-pink-950) {\n --tw-text-opacity: 1;\n color: rgb(80 7 36 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-sky-950) {\n --tw-text-opacity: 1;\n color: rgb(8 47 73 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-warning-400-dark) {\n --tw-text-opacity: 1;\n color: rgb(220 38 38 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-warning-500-dark) {\n --tw-text-opacity: 1;\n color: rgb(239 68 68 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-warning-600-dark) {\n --tw-text-opacity: 1;\n color: rgb(248 113 113 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-text-warning-700-dark) {\n --tw-text-opacity: 1;\n color: rgb(252 165 165 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:s-placeholder-element-600-dark)::-moz-placeholder {\n --tw-placeholder-opacity: 1;\n color: rgb(148 163 184 / var(--tw-placeholder-opacity));\n}\n\n:is(.s-dark .dark\\:s-placeholder-element-600-dark)::placeholder {\n --tw-placeholder-opacity: 1;\n color: rgb(148 163 184 / var(--tw-placeholder-opacity));\n}\n\n:is(.s-dark .dark\\:s-ring-structure-300-dark) {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(71 85 105 / var(--tw-ring-opacity));\n}\n\n:is(.s-dark .dark\\:s-ring-warning-200-dark) {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(153 27 27 / var(--tw-ring-opacity));\n}\n\n:is(.s-dark .dark\\:s-saturate-50) {\n --tw-saturate: saturate(.5);\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\n:is(.s-dark .dark\\:hover\\:s-border-action-300-dark:hover) {\n --tw-border-opacity: 1;\n border-color: rgb(29 78 216 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-border-action-500-dark:hover) {\n --tw-border-opacity: 1;\n border-color: rgb(59 130 246 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-border-action-600-dark:hover) {\n --tw-border-opacity: 1;\n border-color: rgb(96 165 250 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-border-warning-300-dark:hover) {\n --tw-border-opacity: 1;\n border-color: rgb(185 28 28 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-bg-action-200-dark:hover) {\n --tw-bg-opacity: 1;\n background-color: rgb(30 64 175 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-bg-action-400:hover) {\n --tw-bg-opacity: 1;\n background-color: rgb(96 165 250 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-bg-action-50-dark:hover) {\n --tw-bg-opacity: 1;\n background-color: rgb(23 37 84 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-bg-structure-200-dark:hover) {\n --tw-bg-opacity: 1;\n background-color: rgb(51 65 85 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-bg-warning-50-dark:hover) {\n --tw-bg-opacity: 1;\n background-color: rgb(69 10 10 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-text-action-300:hover) {\n --tw-text-opacity: 1;\n color: rgb(147 197 253 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-text-action-500-dark:hover) {\n --tw-text-opacity: 1;\n color: rgb(59 130 246 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-text-action-600-dark:hover) {\n --tw-text-opacity: 1;\n color: rgb(96 165 250 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-text-action-700-dark:hover) {\n --tw-text-opacity: 1;\n color: rgb(147 197 253 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:hover\\:s-text-warning-500-dark:hover) {\n --tw-text-opacity: 1;\n color: rgb(239 68 68 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:focus\\:s-ring-action-300-dark:focus) {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(29 78 216 / var(--tw-ring-opacity));\n}\n\n:is(.s-dark .dark\\:focus\\:s-ring-warning-300-dark:focus) {\n --tw-ring-opacity: 1;\n --tw-ring-color: rgb(185 28 28 / var(--tw-ring-opacity));\n}\n\n:is(.s-dark .dark\\:active\\:s-border-action-500-dark:active) {\n --tw-border-opacity: 1;\n border-color: rgb(59 130 246 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:active\\:s-border-warning-500-dark:active) {\n --tw-border-opacity: 1;\n border-color: rgb(239 68 68 / var(--tw-border-opacity));\n}\n\n:is(.s-dark .dark\\:active\\:s-bg-action-100-dark:active) {\n --tw-bg-opacity: 1;\n background-color: rgb(30 58 138 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:active\\:s-bg-warning-100-dark:active) {\n --tw-bg-opacity: 1;\n background-color: rgb(127 29 29 / var(--tw-bg-opacity));\n}\n\n:is(.s-dark .dark\\:active\\:s-text-action-600:active) {\n --tw-text-opacity: 1;\n color: rgb(37 99 235 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:active\\:s-text-action-600-dark:active) {\n --tw-text-opacity: 1;\n color: rgb(96 165 250 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:active\\:s-text-action-700-dark:active) {\n --tw-text-opacity: 1;\n color: rgb(147 197 253 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .dark\\:active\\:s-text-warning-600-dark:active) {\n --tw-text-opacity: 1;\n color: rgb(248 113 113 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .s-group:hover .dark\\:group-hover\\:s-text-action-400) {\n --tw-text-opacity: 1;\n color: rgb(96 165 250 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .s-group:hover .dark\\:group-hover\\:s-text-action-400-dark) {\n --tw-text-opacity: 1;\n color: rgb(37 99 235 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .s-group:hover .dark\\:group-hover\\:s-text-action-500-dark) {\n --tw-text-opacity: 1;\n color: rgb(59 130 246 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .s-group:hover .dark\\:group-hover\\:s-text-action-600-dark) {\n --tw-text-opacity: 1;\n color: rgb(96 165 250 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .s-group:hover .dark\\:group-hover\\:s-text-warning-600-dark) {\n --tw-text-opacity: 1;\n color: rgb(248 113 113 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .s-group:active .dark\\:group-active\\:s-text-action-400-dark) {\n --tw-text-opacity: 1;\n color: rgb(37 99 235 / var(--tw-text-opacity));\n}\n\n:is(.s-dark .s-group:active .dark\\:group-active\\:s-text-warning-400-dark) {\n --tw-text-opacity: 1;\n color: rgb(220 38 38 / var(--tw-text-opacity));\n}\n\n@media (min-width: 640px) {\n .sm\\:s-block {\n display: block;\n }\n .sm\\:s-w-64 {\n width: 16rem;\n }\n .sm\\:s-w-\\[448px\\] {\n width: 448px;\n }\n .sm\\:s-w-\\[50rem\\] {\n width: 50rem;\n }\n .sm\\:s-flex-row {\n flex-direction: row;\n }\n .sm\\:s-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n }\n .sm\\:s-px-3\\.5 {\n padding-left: 0.875rem;\n padding-right: 0.875rem;\n }\n .sm\\:s-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n }\n}\n\n@media (min-width: 768px) {\n .md\\:s-grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n}\n\n@media (min-width: 1024px) {\n .lg\\:s-grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n}\n";
|
|
54
54
|
styleInject(css_248z);
|
|
55
55
|
|
|
56
56
|
var aLink = function (_a) {
|
|
@@ -43378,78 +43378,720 @@ function SliderToggle(_a) {
|
|
|
43378
43378
|
return SliderToggleContent;
|
|
43379
43379
|
}
|
|
43380
43380
|
|
|
43381
|
-
|
|
43382
|
-
|
|
43383
|
-
|
|
43384
|
-
|
|
43385
|
-
|
|
43386
|
-
|
|
43387
|
-
|
|
43388
|
-
|
|
43389
|
-
|
|
43390
|
-
|
|
43391
|
-
|
|
43392
|
-
|
|
43393
|
-
|
|
43394
|
-
|
|
43395
|
-
|
|
43396
|
-
|
|
43397
|
-
|
|
43398
|
-
|
|
43399
|
-
|
|
43400
|
-
|
|
43401
|
-
|
|
43381
|
+
/*
|
|
43382
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
43383
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
43384
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
43385
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
43386
|
+
*
|
|
43387
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
43388
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
43389
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
43390
|
+
* governing permissions and limitations under the License.
|
|
43391
|
+
*/
|
|
43392
|
+
const $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c = typeof document !== 'undefined' ? (React).useLayoutEffect : ()=>{};
|
|
43393
|
+
|
|
43394
|
+
/*
|
|
43395
|
+
* Copyright 2023 Adobe. All rights reserved.
|
|
43396
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
43397
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
43398
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
43399
|
+
*
|
|
43400
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
43401
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
43402
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
43403
|
+
* governing permissions and limitations under the License.
|
|
43404
|
+
*/
|
|
43402
43405
|
|
|
43403
|
-
|
|
43406
|
+
function $8ae05eaa5c114e9c$export$7f54fc3180508a52(fn) {
|
|
43407
|
+
const ref = (React.useRef)(null);
|
|
43408
|
+
($f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{
|
|
43409
|
+
ref.current = fn;
|
|
43410
|
+
}, [
|
|
43411
|
+
fn
|
|
43412
|
+
]);
|
|
43413
|
+
// @ts-ignore
|
|
43414
|
+
return (React.useCallback)((...args)=>{
|
|
43415
|
+
const f = ref.current;
|
|
43416
|
+
return f === null || f === void 0 ? void 0 : f(...args);
|
|
43417
|
+
}, []);
|
|
43418
|
+
}
|
|
43404
43419
|
|
|
43405
|
-
|
|
43420
|
+
const $431fbd86ca7dc216$export$b204af158042fbac = (el)=>{
|
|
43421
|
+
var _el_ownerDocument;
|
|
43422
|
+
return (_el_ownerDocument = el === null || el === void 0 ? void 0 : el.ownerDocument) !== null && _el_ownerDocument !== void 0 ? _el_ownerDocument : document;
|
|
43423
|
+
};
|
|
43424
|
+
const $431fbd86ca7dc216$export$f21a1ffae260145a = (el)=>{
|
|
43425
|
+
if (el && 'window' in el && el.window === el) return el;
|
|
43426
|
+
const doc = $431fbd86ca7dc216$export$b204af158042fbac(el);
|
|
43427
|
+
return doc.defaultView || window;
|
|
43428
|
+
};
|
|
43406
43429
|
|
|
43407
|
-
|
|
43430
|
+
/*
|
|
43431
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
43432
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
43433
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
43434
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
43435
|
+
*
|
|
43436
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
43437
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
43438
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
43439
|
+
* governing permissions and limitations under the License.
|
|
43440
|
+
*/ function $c87311424ea30a05$var$testUserAgent(re) {
|
|
43441
|
+
var _window_navigator_userAgentData;
|
|
43442
|
+
if (typeof window === 'undefined' || window.navigator == null) return false;
|
|
43443
|
+
return ((_window_navigator_userAgentData = window.navigator['userAgentData']) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.brands.some((brand)=>re.test(brand.brand))) || re.test(window.navigator.userAgent);
|
|
43444
|
+
}
|
|
43445
|
+
function $c87311424ea30a05$var$testPlatform(re) {
|
|
43446
|
+
var _window_navigator_userAgentData;
|
|
43447
|
+
return typeof window !== 'undefined' && window.navigator != null ? re.test(((_window_navigator_userAgentData = window.navigator['userAgentData']) === null || _window_navigator_userAgentData === void 0 ? void 0 : _window_navigator_userAgentData.platform) || window.navigator.platform) : false;
|
|
43448
|
+
}
|
|
43449
|
+
function $c87311424ea30a05$export$9ac100e40613ea10() {
|
|
43450
|
+
return $c87311424ea30a05$var$testPlatform(/^Mac/i);
|
|
43451
|
+
}
|
|
43452
|
+
function $c87311424ea30a05$export$a11b0059900ceec8() {
|
|
43453
|
+
return $c87311424ea30a05$var$testUserAgent(/Android/i);
|
|
43454
|
+
}
|
|
43408
43455
|
|
|
43409
|
-
|
|
43456
|
+
/*
|
|
43457
|
+
* Copyright 2022 Adobe. All rights reserved.
|
|
43458
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
43459
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
43460
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
43461
|
+
*
|
|
43462
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
43463
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
43464
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
43465
|
+
* governing permissions and limitations under the License.
|
|
43466
|
+
*/
|
|
43467
|
+
function $6a7db85432448f7f$export$60278871457622de(event) {
|
|
43468
|
+
// JAWS/NVDA with Firefox.
|
|
43469
|
+
if (event.mozInputSource === 0 && event.isTrusted) return true;
|
|
43470
|
+
// Android TalkBack's detail value varies depending on the event listener providing the event so we have specific logic here instead
|
|
43471
|
+
// If pointerType is defined, event is from a click listener. For events from mousedown listener, detail === 0 is a sufficient check
|
|
43472
|
+
// to detect TalkBack virtual clicks.
|
|
43473
|
+
if (($c87311424ea30a05$export$a11b0059900ceec8)() && event.pointerType) return event.type === 'click' && event.buttons === 1;
|
|
43474
|
+
return event.detail === 0 && !event.pointerType;
|
|
43475
|
+
}
|
|
43410
43476
|
|
|
43411
|
-
|
|
43477
|
+
/*
|
|
43478
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
43479
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
43480
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
43481
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
43482
|
+
*
|
|
43483
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
43484
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
43485
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
43486
|
+
* governing permissions and limitations under the License.
|
|
43487
|
+
*/
|
|
43412
43488
|
|
|
43413
|
-
|
|
43489
|
+
class $8a9cb279dc87e130$export$905e7fc544a71f36 {
|
|
43490
|
+
isDefaultPrevented() {
|
|
43491
|
+
return this.nativeEvent.defaultPrevented;
|
|
43492
|
+
}
|
|
43493
|
+
preventDefault() {
|
|
43494
|
+
this.defaultPrevented = true;
|
|
43495
|
+
this.nativeEvent.preventDefault();
|
|
43496
|
+
}
|
|
43497
|
+
stopPropagation() {
|
|
43498
|
+
this.nativeEvent.stopPropagation();
|
|
43499
|
+
this.isPropagationStopped = ()=>true;
|
|
43500
|
+
}
|
|
43501
|
+
isPropagationStopped() {
|
|
43502
|
+
return false;
|
|
43503
|
+
}
|
|
43504
|
+
persist() {}
|
|
43505
|
+
constructor(type, nativeEvent){
|
|
43506
|
+
this.nativeEvent = nativeEvent;
|
|
43507
|
+
this.target = nativeEvent.target;
|
|
43508
|
+
this.currentTarget = nativeEvent.currentTarget;
|
|
43509
|
+
this.relatedTarget = nativeEvent.relatedTarget;
|
|
43510
|
+
this.bubbles = nativeEvent.bubbles;
|
|
43511
|
+
this.cancelable = nativeEvent.cancelable;
|
|
43512
|
+
this.defaultPrevented = nativeEvent.defaultPrevented;
|
|
43513
|
+
this.eventPhase = nativeEvent.eventPhase;
|
|
43514
|
+
this.isTrusted = nativeEvent.isTrusted;
|
|
43515
|
+
this.timeStamp = nativeEvent.timeStamp;
|
|
43516
|
+
this.type = type;
|
|
43517
|
+
}
|
|
43518
|
+
}
|
|
43519
|
+
function $8a9cb279dc87e130$export$715c682d09d639cc(onBlur) {
|
|
43520
|
+
let stateRef = (React.useRef)({
|
|
43521
|
+
isFocused: false,
|
|
43522
|
+
observer: null
|
|
43523
|
+
});
|
|
43524
|
+
// Clean up MutationObserver on unmount. See below.
|
|
43525
|
+
// eslint-disable-next-line arrow-body-style
|
|
43526
|
+
($f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{
|
|
43527
|
+
const state = stateRef.current;
|
|
43528
|
+
return ()=>{
|
|
43529
|
+
if (state.observer) {
|
|
43530
|
+
state.observer.disconnect();
|
|
43531
|
+
state.observer = null;
|
|
43532
|
+
}
|
|
43533
|
+
};
|
|
43534
|
+
}, []);
|
|
43535
|
+
let dispatchBlur = ($8ae05eaa5c114e9c$export$7f54fc3180508a52)((e)=>{
|
|
43536
|
+
onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);
|
|
43537
|
+
});
|
|
43538
|
+
// This function is called during a React onFocus event.
|
|
43539
|
+
return (React.useCallback)((e)=>{
|
|
43540
|
+
// React does not fire onBlur when an element is disabled. https://github.com/facebook/react/issues/9142
|
|
43541
|
+
// Most browsers fire a native focusout event in this case, except for Firefox. In that case, we use a
|
|
43542
|
+
// MutationObserver to watch for the disabled attribute, and dispatch these events ourselves.
|
|
43543
|
+
// For browsers that do, focusout fires before the MutationObserver, so onBlur should not fire twice.
|
|
43544
|
+
if (e.target instanceof HTMLButtonElement || e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement || e.target instanceof HTMLSelectElement) {
|
|
43545
|
+
stateRef.current.isFocused = true;
|
|
43546
|
+
let target = e.target;
|
|
43547
|
+
let onBlurHandler = (e)=>{
|
|
43548
|
+
stateRef.current.isFocused = false;
|
|
43549
|
+
if (target.disabled) // For backward compatibility, dispatch a (fake) React synthetic event.
|
|
43550
|
+
dispatchBlur(new $8a9cb279dc87e130$export$905e7fc544a71f36('blur', e));
|
|
43551
|
+
// We no longer need the MutationObserver once the target is blurred.
|
|
43552
|
+
if (stateRef.current.observer) {
|
|
43553
|
+
stateRef.current.observer.disconnect();
|
|
43554
|
+
stateRef.current.observer = null;
|
|
43555
|
+
}
|
|
43556
|
+
};
|
|
43557
|
+
target.addEventListener('focusout', onBlurHandler, {
|
|
43558
|
+
once: true
|
|
43559
|
+
});
|
|
43560
|
+
stateRef.current.observer = new MutationObserver(()=>{
|
|
43561
|
+
if (stateRef.current.isFocused && target.disabled) {
|
|
43562
|
+
var _stateRef_current_observer;
|
|
43563
|
+
(_stateRef_current_observer = stateRef.current.observer) === null || _stateRef_current_observer === void 0 ? void 0 : _stateRef_current_observer.disconnect();
|
|
43564
|
+
let relatedTargetEl = target === document.activeElement ? null : document.activeElement;
|
|
43565
|
+
target.dispatchEvent(new FocusEvent('blur', {
|
|
43566
|
+
relatedTarget: relatedTargetEl
|
|
43567
|
+
}));
|
|
43568
|
+
target.dispatchEvent(new FocusEvent('focusout', {
|
|
43569
|
+
bubbles: true,
|
|
43570
|
+
relatedTarget: relatedTargetEl
|
|
43571
|
+
}));
|
|
43572
|
+
}
|
|
43573
|
+
});
|
|
43574
|
+
stateRef.current.observer.observe(target, {
|
|
43575
|
+
attributes: true,
|
|
43576
|
+
attributeFilter: [
|
|
43577
|
+
'disabled'
|
|
43578
|
+
]
|
|
43579
|
+
});
|
|
43580
|
+
}
|
|
43581
|
+
}, [
|
|
43582
|
+
dispatchBlur
|
|
43583
|
+
]);
|
|
43584
|
+
}
|
|
43414
43585
|
|
|
43415
|
-
|
|
43586
|
+
/*
|
|
43587
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
43588
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
43589
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
43590
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
43591
|
+
*
|
|
43592
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
43593
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
43594
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
43595
|
+
* governing permissions and limitations under the License.
|
|
43596
|
+
*/ // Portions of the code in this file are based on code from react.
|
|
43597
|
+
// Original licensing for the following can be found in the
|
|
43598
|
+
// NOTICE file in the root directory of this source tree.
|
|
43599
|
+
// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions
|
|
43600
|
+
|
|
43601
|
+
|
|
43602
|
+
|
|
43603
|
+
function $a1ea59d68270f0dd$export$f8168d8dd8fd66e6(props) {
|
|
43604
|
+
let { isDisabled: isDisabled, onFocus: onFocusProp, onBlur: onBlurProp, onFocusChange: onFocusChange } = props;
|
|
43605
|
+
const onBlur = (React.useCallback)((e)=>{
|
|
43606
|
+
if (e.target === e.currentTarget) {
|
|
43607
|
+
if (onBlurProp) onBlurProp(e);
|
|
43608
|
+
if (onFocusChange) onFocusChange(false);
|
|
43609
|
+
return true;
|
|
43610
|
+
}
|
|
43611
|
+
}, [
|
|
43612
|
+
onBlurProp,
|
|
43613
|
+
onFocusChange
|
|
43614
|
+
]);
|
|
43615
|
+
const onSyntheticFocus = ($8a9cb279dc87e130$export$715c682d09d639cc)(onBlur);
|
|
43616
|
+
const onFocus = (React.useCallback)((e)=>{
|
|
43617
|
+
// Double check that document.activeElement actually matches e.target in case a previously chained
|
|
43618
|
+
// focus handler already moved focus somewhere else.
|
|
43619
|
+
const ownerDocument = ($431fbd86ca7dc216$export$b204af158042fbac)(e.target);
|
|
43620
|
+
if (e.target === e.currentTarget && ownerDocument.activeElement === e.target) {
|
|
43621
|
+
if (onFocusProp) onFocusProp(e);
|
|
43622
|
+
if (onFocusChange) onFocusChange(true);
|
|
43623
|
+
onSyntheticFocus(e);
|
|
43624
|
+
}
|
|
43625
|
+
}, [
|
|
43626
|
+
onFocusChange,
|
|
43627
|
+
onFocusProp,
|
|
43628
|
+
onSyntheticFocus
|
|
43629
|
+
]);
|
|
43630
|
+
return {
|
|
43631
|
+
focusProps: {
|
|
43632
|
+
onFocus: !isDisabled && (onFocusProp || onFocusChange || onBlurProp) ? onFocus : undefined,
|
|
43633
|
+
onBlur: !isDisabled && (onBlurProp || onFocusChange) ? onBlur : undefined
|
|
43634
|
+
}
|
|
43635
|
+
};
|
|
43636
|
+
}
|
|
43416
43637
|
|
|
43417
|
-
|
|
43638
|
+
/*
|
|
43639
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
43640
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
43641
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
43642
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
43643
|
+
*
|
|
43644
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
43645
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
43646
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
43647
|
+
* governing permissions and limitations under the License.
|
|
43648
|
+
*/ // Portions of the code in this file are based on code from react.
|
|
43649
|
+
// Original licensing for the following can be found in the
|
|
43650
|
+
// NOTICE file in the root directory of this source tree.
|
|
43651
|
+
// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions
|
|
43652
|
+
|
|
43653
|
+
|
|
43654
|
+
|
|
43655
|
+
let $507fabe10e71c6fb$var$currentModality = null;
|
|
43656
|
+
let $507fabe10e71c6fb$var$changeHandlers = new Set();
|
|
43657
|
+
let $507fabe10e71c6fb$export$d90243b58daecda7 = new Map(); // We use a map here to support setting event listeners across multiple document objects.
|
|
43658
|
+
let $507fabe10e71c6fb$var$hasEventBeforeFocus = false;
|
|
43659
|
+
let $507fabe10e71c6fb$var$hasBlurredWindowRecently = false;
|
|
43660
|
+
// Only Tab or Esc keys will make focus visible on text input elements
|
|
43661
|
+
const $507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS = {
|
|
43662
|
+
Tab: true,
|
|
43663
|
+
Escape: true
|
|
43664
|
+
};
|
|
43665
|
+
function $507fabe10e71c6fb$var$triggerChangeHandlers(modality, e) {
|
|
43666
|
+
for (let handler of $507fabe10e71c6fb$var$changeHandlers)handler(modality, e);
|
|
43667
|
+
}
|
|
43668
|
+
/**
|
|
43669
|
+
* Helper function to determine if a KeyboardEvent is unmodified and could make keyboard focus styles visible.
|
|
43670
|
+
*/ function $507fabe10e71c6fb$var$isValidKey(e) {
|
|
43671
|
+
// Control and Shift keys trigger when navigating back to the tab with keyboard.
|
|
43672
|
+
return !(e.metaKey || !($c87311424ea30a05$export$9ac100e40613ea10)() && e.altKey || e.ctrlKey || e.key === 'Control' || e.key === 'Shift' || e.key === 'Meta');
|
|
43673
|
+
}
|
|
43674
|
+
function $507fabe10e71c6fb$var$handleKeyboardEvent(e) {
|
|
43675
|
+
$507fabe10e71c6fb$var$hasEventBeforeFocus = true;
|
|
43676
|
+
if ($507fabe10e71c6fb$var$isValidKey(e)) {
|
|
43677
|
+
$507fabe10e71c6fb$var$currentModality = 'keyboard';
|
|
43678
|
+
$507fabe10e71c6fb$var$triggerChangeHandlers('keyboard', e);
|
|
43679
|
+
}
|
|
43680
|
+
}
|
|
43681
|
+
function $507fabe10e71c6fb$var$handlePointerEvent(e) {
|
|
43682
|
+
$507fabe10e71c6fb$var$currentModality = 'pointer';
|
|
43683
|
+
if (e.type === 'mousedown' || e.type === 'pointerdown') {
|
|
43684
|
+
$507fabe10e71c6fb$var$hasEventBeforeFocus = true;
|
|
43685
|
+
$507fabe10e71c6fb$var$triggerChangeHandlers('pointer', e);
|
|
43686
|
+
}
|
|
43687
|
+
}
|
|
43688
|
+
function $507fabe10e71c6fb$var$handleClickEvent(e) {
|
|
43689
|
+
if (($6a7db85432448f7f$export$60278871457622de)(e)) {
|
|
43690
|
+
$507fabe10e71c6fb$var$hasEventBeforeFocus = true;
|
|
43691
|
+
$507fabe10e71c6fb$var$currentModality = 'virtual';
|
|
43692
|
+
}
|
|
43693
|
+
}
|
|
43694
|
+
function $507fabe10e71c6fb$var$handleFocusEvent(e) {
|
|
43695
|
+
// Firefox fires two extra focus events when the user first clicks into an iframe:
|
|
43696
|
+
// first on the window, then on the document. We ignore these events so they don't
|
|
43697
|
+
// cause keyboard focus rings to appear.
|
|
43698
|
+
if (e.target === window || e.target === document) return;
|
|
43699
|
+
// If a focus event occurs without a preceding keyboard or pointer event, switch to virtual modality.
|
|
43700
|
+
// This occurs, for example, when navigating a form with the next/previous buttons on iOS.
|
|
43701
|
+
if (!$507fabe10e71c6fb$var$hasEventBeforeFocus && !$507fabe10e71c6fb$var$hasBlurredWindowRecently) {
|
|
43702
|
+
$507fabe10e71c6fb$var$currentModality = 'virtual';
|
|
43703
|
+
$507fabe10e71c6fb$var$triggerChangeHandlers('virtual', e);
|
|
43704
|
+
}
|
|
43705
|
+
$507fabe10e71c6fb$var$hasEventBeforeFocus = false;
|
|
43706
|
+
$507fabe10e71c6fb$var$hasBlurredWindowRecently = false;
|
|
43707
|
+
}
|
|
43708
|
+
function $507fabe10e71c6fb$var$handleWindowBlur() {
|
|
43709
|
+
// When the window is blurred, reset state. This is necessary when tabbing out of the window,
|
|
43710
|
+
// for example, since a subsequent focus event won't be fired.
|
|
43711
|
+
$507fabe10e71c6fb$var$hasEventBeforeFocus = false;
|
|
43712
|
+
$507fabe10e71c6fb$var$hasBlurredWindowRecently = true;
|
|
43713
|
+
}
|
|
43714
|
+
/**
|
|
43715
|
+
* Setup global event listeners to control when keyboard focus style should be visible.
|
|
43716
|
+
*/ function $507fabe10e71c6fb$var$setupGlobalFocusEvents(element) {
|
|
43717
|
+
if (typeof window === 'undefined' || $507fabe10e71c6fb$export$d90243b58daecda7.get(($431fbd86ca7dc216$export$f21a1ffae260145a)(element))) return;
|
|
43718
|
+
const windowObject = ($431fbd86ca7dc216$export$f21a1ffae260145a)(element);
|
|
43719
|
+
const documentObject = ($431fbd86ca7dc216$export$b204af158042fbac)(element);
|
|
43720
|
+
// Programmatic focus() calls shouldn't affect the current input modality.
|
|
43721
|
+
// However, we need to detect other cases when a focus event occurs without
|
|
43722
|
+
// a preceding user event (e.g. screen reader focus). Overriding the focus
|
|
43723
|
+
// method on HTMLElement.prototype is a bit hacky, but works.
|
|
43724
|
+
let focus = windowObject.HTMLElement.prototype.focus;
|
|
43725
|
+
windowObject.HTMLElement.prototype.focus = function() {
|
|
43726
|
+
$507fabe10e71c6fb$var$hasEventBeforeFocus = true;
|
|
43727
|
+
focus.apply(this, arguments);
|
|
43728
|
+
};
|
|
43729
|
+
documentObject.addEventListener('keydown', $507fabe10e71c6fb$var$handleKeyboardEvent, true);
|
|
43730
|
+
documentObject.addEventListener('keyup', $507fabe10e71c6fb$var$handleKeyboardEvent, true);
|
|
43731
|
+
documentObject.addEventListener('click', $507fabe10e71c6fb$var$handleClickEvent, true);
|
|
43732
|
+
// Register focus events on the window so they are sure to happen
|
|
43733
|
+
// before React's event listeners (registered on the document).
|
|
43734
|
+
windowObject.addEventListener('focus', $507fabe10e71c6fb$var$handleFocusEvent, true);
|
|
43735
|
+
windowObject.addEventListener('blur', $507fabe10e71c6fb$var$handleWindowBlur, false);
|
|
43736
|
+
if (typeof PointerEvent !== 'undefined') {
|
|
43737
|
+
documentObject.addEventListener('pointerdown', $507fabe10e71c6fb$var$handlePointerEvent, true);
|
|
43738
|
+
documentObject.addEventListener('pointermove', $507fabe10e71c6fb$var$handlePointerEvent, true);
|
|
43739
|
+
documentObject.addEventListener('pointerup', $507fabe10e71c6fb$var$handlePointerEvent, true);
|
|
43740
|
+
} else {
|
|
43741
|
+
documentObject.addEventListener('mousedown', $507fabe10e71c6fb$var$handlePointerEvent, true);
|
|
43742
|
+
documentObject.addEventListener('mousemove', $507fabe10e71c6fb$var$handlePointerEvent, true);
|
|
43743
|
+
documentObject.addEventListener('mouseup', $507fabe10e71c6fb$var$handlePointerEvent, true);
|
|
43744
|
+
}
|
|
43745
|
+
// Add unmount handler
|
|
43746
|
+
windowObject.addEventListener('beforeunload', ()=>{
|
|
43747
|
+
$507fabe10e71c6fb$var$tearDownWindowFocusTracking(element);
|
|
43748
|
+
}, {
|
|
43749
|
+
once: true
|
|
43750
|
+
});
|
|
43751
|
+
$507fabe10e71c6fb$export$d90243b58daecda7.set(windowObject, {
|
|
43752
|
+
focus: focus
|
|
43753
|
+
});
|
|
43754
|
+
}
|
|
43755
|
+
const $507fabe10e71c6fb$var$tearDownWindowFocusTracking = (element, loadListener)=>{
|
|
43756
|
+
const windowObject = ($431fbd86ca7dc216$export$f21a1ffae260145a)(element);
|
|
43757
|
+
const documentObject = ($431fbd86ca7dc216$export$b204af158042fbac)(element);
|
|
43758
|
+
if (loadListener) documentObject.removeEventListener('DOMContentLoaded', loadListener);
|
|
43759
|
+
if (!$507fabe10e71c6fb$export$d90243b58daecda7.has(windowObject)) return;
|
|
43760
|
+
windowObject.HTMLElement.prototype.focus = $507fabe10e71c6fb$export$d90243b58daecda7.get(windowObject).focus;
|
|
43761
|
+
documentObject.removeEventListener('keydown', $507fabe10e71c6fb$var$handleKeyboardEvent, true);
|
|
43762
|
+
documentObject.removeEventListener('keyup', $507fabe10e71c6fb$var$handleKeyboardEvent, true);
|
|
43763
|
+
documentObject.removeEventListener('click', $507fabe10e71c6fb$var$handleClickEvent, true);
|
|
43764
|
+
windowObject.removeEventListener('focus', $507fabe10e71c6fb$var$handleFocusEvent, true);
|
|
43765
|
+
windowObject.removeEventListener('blur', $507fabe10e71c6fb$var$handleWindowBlur, false);
|
|
43766
|
+
if (typeof PointerEvent !== 'undefined') {
|
|
43767
|
+
documentObject.removeEventListener('pointerdown', $507fabe10e71c6fb$var$handlePointerEvent, true);
|
|
43768
|
+
documentObject.removeEventListener('pointermove', $507fabe10e71c6fb$var$handlePointerEvent, true);
|
|
43769
|
+
documentObject.removeEventListener('pointerup', $507fabe10e71c6fb$var$handlePointerEvent, true);
|
|
43770
|
+
} else {
|
|
43771
|
+
documentObject.removeEventListener('mousedown', $507fabe10e71c6fb$var$handlePointerEvent, true);
|
|
43772
|
+
documentObject.removeEventListener('mousemove', $507fabe10e71c6fb$var$handlePointerEvent, true);
|
|
43773
|
+
documentObject.removeEventListener('mouseup', $507fabe10e71c6fb$var$handlePointerEvent, true);
|
|
43774
|
+
}
|
|
43775
|
+
$507fabe10e71c6fb$export$d90243b58daecda7.delete(windowObject);
|
|
43776
|
+
};
|
|
43777
|
+
function $507fabe10e71c6fb$export$2f1888112f558a7d(element) {
|
|
43778
|
+
const documentObject = ($431fbd86ca7dc216$export$b204af158042fbac)(element);
|
|
43779
|
+
let loadListener;
|
|
43780
|
+
if (documentObject.readyState !== 'loading') $507fabe10e71c6fb$var$setupGlobalFocusEvents(element);
|
|
43781
|
+
else {
|
|
43782
|
+
loadListener = ()=>{
|
|
43783
|
+
$507fabe10e71c6fb$var$setupGlobalFocusEvents(element);
|
|
43784
|
+
};
|
|
43785
|
+
documentObject.addEventListener('DOMContentLoaded', loadListener);
|
|
43786
|
+
}
|
|
43787
|
+
return ()=>$507fabe10e71c6fb$var$tearDownWindowFocusTracking(element, loadListener);
|
|
43788
|
+
}
|
|
43789
|
+
// Server-side rendering does not have the document object defined
|
|
43790
|
+
// eslint-disable-next-line no-restricted-globals
|
|
43791
|
+
if (typeof document !== 'undefined') $507fabe10e71c6fb$export$2f1888112f558a7d();
|
|
43792
|
+
function $507fabe10e71c6fb$export$b9b3dfddab17db27() {
|
|
43793
|
+
return $507fabe10e71c6fb$var$currentModality !== 'pointer';
|
|
43794
|
+
}
|
|
43795
|
+
const $507fabe10e71c6fb$var$nonTextInputTypes = new Set([
|
|
43796
|
+
'checkbox',
|
|
43797
|
+
'radio',
|
|
43798
|
+
'range',
|
|
43799
|
+
'color',
|
|
43800
|
+
'file',
|
|
43801
|
+
'image',
|
|
43802
|
+
'button',
|
|
43803
|
+
'submit',
|
|
43804
|
+
'reset'
|
|
43805
|
+
]);
|
|
43806
|
+
/**
|
|
43807
|
+
* If this is attached to text input component, return if the event is a focus event (Tab/Escape keys pressed) so that
|
|
43808
|
+
* focus visible style can be properly set.
|
|
43809
|
+
*/ function $507fabe10e71c6fb$var$isKeyboardFocusEvent(isTextInput, modality, e) {
|
|
43810
|
+
var _e_target;
|
|
43811
|
+
const IHTMLInputElement = typeof window !== 'undefined' ? ($431fbd86ca7dc216$export$f21a1ffae260145a)(e === null || e === void 0 ? void 0 : e.target).HTMLInputElement : HTMLInputElement;
|
|
43812
|
+
const IHTMLTextAreaElement = typeof window !== 'undefined' ? ($431fbd86ca7dc216$export$f21a1ffae260145a)(e === null || e === void 0 ? void 0 : e.target).HTMLTextAreaElement : HTMLTextAreaElement;
|
|
43813
|
+
const IHTMLElement = typeof window !== 'undefined' ? ($431fbd86ca7dc216$export$f21a1ffae260145a)(e === null || e === void 0 ? void 0 : e.target).HTMLElement : HTMLElement;
|
|
43814
|
+
const IKeyboardEvent = typeof window !== 'undefined' ? ($431fbd86ca7dc216$export$f21a1ffae260145a)(e === null || e === void 0 ? void 0 : e.target).KeyboardEvent : KeyboardEvent;
|
|
43815
|
+
isTextInput = isTextInput || (e === null || e === void 0 ? void 0 : e.target) instanceof IHTMLInputElement && !$507fabe10e71c6fb$var$nonTextInputTypes.has(e === null || e === void 0 ? void 0 : (_e_target = e.target) === null || _e_target === void 0 ? void 0 : _e_target.type) || (e === null || e === void 0 ? void 0 : e.target) instanceof IHTMLTextAreaElement || (e === null || e === void 0 ? void 0 : e.target) instanceof IHTMLElement && (e === null || e === void 0 ? void 0 : e.target.isContentEditable);
|
|
43816
|
+
return !(isTextInput && modality === 'keyboard' && e instanceof IKeyboardEvent && !$507fabe10e71c6fb$var$FOCUS_VISIBLE_INPUT_KEYS[e.key]);
|
|
43817
|
+
}
|
|
43818
|
+
function $507fabe10e71c6fb$export$ec71b4b83ac08ec3(fn, deps, opts) {
|
|
43819
|
+
$507fabe10e71c6fb$var$setupGlobalFocusEvents();
|
|
43820
|
+
(React.useEffect)(()=>{
|
|
43821
|
+
let handler = (modality, e)=>{
|
|
43822
|
+
if (!$507fabe10e71c6fb$var$isKeyboardFocusEvent(!!(opts === null || opts === void 0 ? void 0 : opts.isTextInput), modality, e)) return;
|
|
43823
|
+
fn($507fabe10e71c6fb$export$b9b3dfddab17db27());
|
|
43824
|
+
};
|
|
43825
|
+
$507fabe10e71c6fb$var$changeHandlers.add(handler);
|
|
43826
|
+
return ()=>{
|
|
43827
|
+
$507fabe10e71c6fb$var$changeHandlers.delete(handler);
|
|
43828
|
+
};
|
|
43829
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
43830
|
+
}, deps);
|
|
43831
|
+
}
|
|
43418
43832
|
|
|
43419
|
-
|
|
43833
|
+
/*
|
|
43834
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
43835
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
43836
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
43837
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
43838
|
+
*
|
|
43839
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
43840
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
43841
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
43842
|
+
* governing permissions and limitations under the License.
|
|
43843
|
+
*/ // Portions of the code in this file are based on code from react.
|
|
43844
|
+
// Original licensing for the following can be found in the
|
|
43845
|
+
// NOTICE file in the root directory of this source tree.
|
|
43846
|
+
// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions
|
|
43847
|
+
|
|
43848
|
+
|
|
43849
|
+
function $9ab94262bd0047c7$export$420e68273165f4ec(props) {
|
|
43850
|
+
let { isDisabled: isDisabled, onBlurWithin: onBlurWithin, onFocusWithin: onFocusWithin, onFocusWithinChange: onFocusWithinChange } = props;
|
|
43851
|
+
let state = (React.useRef)({
|
|
43852
|
+
isFocusWithin: false
|
|
43853
|
+
});
|
|
43854
|
+
let onBlur = (React.useCallback)((e)=>{
|
|
43855
|
+
// We don't want to trigger onBlurWithin and then immediately onFocusWithin again
|
|
43856
|
+
// when moving focus inside the element. Only trigger if the currentTarget doesn't
|
|
43857
|
+
// include the relatedTarget (where focus is moving).
|
|
43858
|
+
if (state.current.isFocusWithin && !e.currentTarget.contains(e.relatedTarget)) {
|
|
43859
|
+
state.current.isFocusWithin = false;
|
|
43860
|
+
if (onBlurWithin) onBlurWithin(e);
|
|
43861
|
+
if (onFocusWithinChange) onFocusWithinChange(false);
|
|
43862
|
+
}
|
|
43863
|
+
}, [
|
|
43864
|
+
onBlurWithin,
|
|
43865
|
+
onFocusWithinChange,
|
|
43866
|
+
state
|
|
43867
|
+
]);
|
|
43868
|
+
let onSyntheticFocus = ($8a9cb279dc87e130$export$715c682d09d639cc)(onBlur);
|
|
43869
|
+
let onFocus = (React.useCallback)((e)=>{
|
|
43870
|
+
// Double check that document.activeElement actually matches e.target in case a previously chained
|
|
43871
|
+
// focus handler already moved focus somewhere else.
|
|
43872
|
+
if (!state.current.isFocusWithin && document.activeElement === e.target) {
|
|
43873
|
+
if (onFocusWithin) onFocusWithin(e);
|
|
43874
|
+
if (onFocusWithinChange) onFocusWithinChange(true);
|
|
43875
|
+
state.current.isFocusWithin = true;
|
|
43876
|
+
onSyntheticFocus(e);
|
|
43877
|
+
}
|
|
43878
|
+
}, [
|
|
43879
|
+
onFocusWithin,
|
|
43880
|
+
onFocusWithinChange,
|
|
43881
|
+
onSyntheticFocus
|
|
43882
|
+
]);
|
|
43883
|
+
if (isDisabled) return {
|
|
43884
|
+
focusWithinProps: {
|
|
43885
|
+
// These should not have been null, that would conflict in mergeProps
|
|
43886
|
+
onFocus: undefined,
|
|
43887
|
+
onBlur: undefined
|
|
43888
|
+
}
|
|
43889
|
+
};
|
|
43890
|
+
return {
|
|
43891
|
+
focusWithinProps: {
|
|
43892
|
+
onFocus: onFocus,
|
|
43893
|
+
onBlur: onBlur
|
|
43894
|
+
}
|
|
43895
|
+
};
|
|
43896
|
+
}
|
|
43420
43897
|
|
|
43421
|
-
|
|
43422
|
-
|
|
43423
|
-
|
|
43424
|
-
|
|
43898
|
+
/*
|
|
43899
|
+
* Copyright 2020 Adobe. All rights reserved.
|
|
43900
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
43901
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
43902
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
43903
|
+
*
|
|
43904
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
43905
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
43906
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
43907
|
+
* governing permissions and limitations under the License.
|
|
43908
|
+
*/ // Portions of the code in this file are based on code from react.
|
|
43909
|
+
// Original licensing for the following can be found in the
|
|
43910
|
+
// NOTICE file in the root directory of this source tree.
|
|
43911
|
+
// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions
|
|
43912
|
+
|
|
43913
|
+
// iOS fires onPointerEnter twice: once with pointerType="touch" and again with pointerType="mouse".
|
|
43914
|
+
// We want to ignore these emulated events so they do not trigger hover behavior.
|
|
43915
|
+
// See https://bugs.webkit.org/show_bug.cgi?id=214609.
|
|
43916
|
+
let $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;
|
|
43917
|
+
let $6179b936705e76d3$var$hoverCount = 0;
|
|
43918
|
+
function $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents() {
|
|
43919
|
+
$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = true;
|
|
43920
|
+
// Clear globalIgnoreEmulatedMouseEvents after a short timeout. iOS fires onPointerEnter
|
|
43921
|
+
// with pointerType="mouse" immediately after onPointerUp and before onFocus. On other
|
|
43922
|
+
// devices that don't have this quirk, we don't want to ignore a mouse hover sometime in
|
|
43923
|
+
// the distant future because a user previously touched the element.
|
|
43924
|
+
setTimeout(()=>{
|
|
43925
|
+
$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;
|
|
43926
|
+
}, 50);
|
|
43927
|
+
}
|
|
43928
|
+
function $6179b936705e76d3$var$handleGlobalPointerEvent(e) {
|
|
43929
|
+
if (e.pointerType === 'touch') $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents();
|
|
43930
|
+
}
|
|
43931
|
+
function $6179b936705e76d3$var$setupGlobalTouchEvents() {
|
|
43932
|
+
if (typeof document === 'undefined') return;
|
|
43933
|
+
if (typeof PointerEvent !== 'undefined') document.addEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);
|
|
43934
|
+
else document.addEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);
|
|
43935
|
+
$6179b936705e76d3$var$hoverCount++;
|
|
43936
|
+
return ()=>{
|
|
43937
|
+
$6179b936705e76d3$var$hoverCount--;
|
|
43938
|
+
if ($6179b936705e76d3$var$hoverCount > 0) return;
|
|
43939
|
+
if (typeof PointerEvent !== 'undefined') document.removeEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);
|
|
43940
|
+
else document.removeEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);
|
|
43941
|
+
};
|
|
43942
|
+
}
|
|
43943
|
+
function $6179b936705e76d3$export$ae780daf29e6d456(props) {
|
|
43944
|
+
let { onHoverStart: onHoverStart, onHoverChange: onHoverChange, onHoverEnd: onHoverEnd, isDisabled: isDisabled } = props;
|
|
43945
|
+
let [isHovered, setHovered] = (React.useState)(false);
|
|
43946
|
+
let state = (React.useRef)({
|
|
43947
|
+
isHovered: false,
|
|
43948
|
+
ignoreEmulatedMouseEvents: false,
|
|
43949
|
+
pointerType: '',
|
|
43950
|
+
target: null
|
|
43951
|
+
}).current;
|
|
43952
|
+
(React.useEffect)($6179b936705e76d3$var$setupGlobalTouchEvents, []);
|
|
43953
|
+
let { hoverProps: hoverProps, triggerHoverEnd: triggerHoverEnd } = (React.useMemo)(()=>{
|
|
43954
|
+
let triggerHoverStart = (event, pointerType)=>{
|
|
43955
|
+
state.pointerType = pointerType;
|
|
43956
|
+
if (isDisabled || pointerType === 'touch' || state.isHovered || !event.currentTarget.contains(event.target)) return;
|
|
43957
|
+
state.isHovered = true;
|
|
43958
|
+
let target = event.currentTarget;
|
|
43959
|
+
state.target = target;
|
|
43960
|
+
if (onHoverStart) onHoverStart({
|
|
43961
|
+
type: 'hoverstart',
|
|
43962
|
+
target: target,
|
|
43963
|
+
pointerType: pointerType
|
|
43964
|
+
});
|
|
43965
|
+
if (onHoverChange) onHoverChange(true);
|
|
43966
|
+
setHovered(true);
|
|
43967
|
+
};
|
|
43968
|
+
let triggerHoverEnd = (event, pointerType)=>{
|
|
43969
|
+
state.pointerType = '';
|
|
43970
|
+
state.target = null;
|
|
43971
|
+
if (pointerType === 'touch' || !state.isHovered) return;
|
|
43972
|
+
state.isHovered = false;
|
|
43973
|
+
let target = event.currentTarget;
|
|
43974
|
+
if (onHoverEnd) onHoverEnd({
|
|
43975
|
+
type: 'hoverend',
|
|
43976
|
+
target: target,
|
|
43977
|
+
pointerType: pointerType
|
|
43978
|
+
});
|
|
43979
|
+
if (onHoverChange) onHoverChange(false);
|
|
43980
|
+
setHovered(false);
|
|
43981
|
+
};
|
|
43982
|
+
let hoverProps = {};
|
|
43983
|
+
if (typeof PointerEvent !== 'undefined') {
|
|
43984
|
+
hoverProps.onPointerEnter = (e)=>{
|
|
43985
|
+
if ($6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents && e.pointerType === 'mouse') return;
|
|
43986
|
+
triggerHoverStart(e, e.pointerType);
|
|
43987
|
+
};
|
|
43988
|
+
hoverProps.onPointerLeave = (e)=>{
|
|
43989
|
+
if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, e.pointerType);
|
|
43990
|
+
};
|
|
43991
|
+
} else {
|
|
43992
|
+
hoverProps.onTouchStart = ()=>{
|
|
43993
|
+
state.ignoreEmulatedMouseEvents = true;
|
|
43994
|
+
};
|
|
43995
|
+
hoverProps.onMouseEnter = (e)=>{
|
|
43996
|
+
if (!state.ignoreEmulatedMouseEvents && !$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents) triggerHoverStart(e, 'mouse');
|
|
43997
|
+
state.ignoreEmulatedMouseEvents = false;
|
|
43998
|
+
};
|
|
43999
|
+
hoverProps.onMouseLeave = (e)=>{
|
|
44000
|
+
if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, 'mouse');
|
|
44001
|
+
};
|
|
44002
|
+
}
|
|
44003
|
+
return {
|
|
44004
|
+
hoverProps: hoverProps,
|
|
44005
|
+
triggerHoverEnd: triggerHoverEnd
|
|
44006
|
+
};
|
|
44007
|
+
}, [
|
|
44008
|
+
onHoverStart,
|
|
44009
|
+
onHoverChange,
|
|
44010
|
+
onHoverEnd,
|
|
44011
|
+
isDisabled,
|
|
44012
|
+
state
|
|
44013
|
+
]);
|
|
44014
|
+
(React.useEffect)(()=>{
|
|
44015
|
+
// Call the triggerHoverEnd as soon as isDisabled changes to true
|
|
44016
|
+
// Safe to call triggerHoverEnd, it will early return if we aren't currently hovering
|
|
44017
|
+
if (isDisabled) triggerHoverEnd({
|
|
44018
|
+
currentTarget: state.target
|
|
44019
|
+
}, state.pointerType);
|
|
44020
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
44021
|
+
}, [
|
|
44022
|
+
isDisabled
|
|
44023
|
+
]);
|
|
44024
|
+
return {
|
|
44025
|
+
hoverProps: hoverProps,
|
|
44026
|
+
isHovered: isHovered
|
|
44027
|
+
};
|
|
44028
|
+
}
|
|
43425
44029
|
|
|
43426
|
-
function
|
|
44030
|
+
function $f7dceffc5ad7768b$export$4e328f61c538687f(props = {}) {
|
|
44031
|
+
let { autoFocus: autoFocus = false, isTextInput: isTextInput, within: within } = props;
|
|
44032
|
+
let state = (React.useRef)({
|
|
44033
|
+
isFocused: false,
|
|
44034
|
+
isFocusVisible: autoFocus || ($507fabe10e71c6fb$export$b9b3dfddab17db27)()
|
|
44035
|
+
});
|
|
44036
|
+
let [isFocused, setFocused] = (React.useState)(false);
|
|
44037
|
+
let [isFocusVisibleState, setFocusVisible] = (React.useState)(()=>state.current.isFocused && state.current.isFocusVisible);
|
|
44038
|
+
let updateState = (React.useCallback)(()=>setFocusVisible(state.current.isFocused && state.current.isFocusVisible), []);
|
|
44039
|
+
let onFocusChange = (React.useCallback)((isFocused)=>{
|
|
44040
|
+
state.current.isFocused = isFocused;
|
|
44041
|
+
setFocused(isFocused);
|
|
44042
|
+
updateState();
|
|
44043
|
+
}, [
|
|
44044
|
+
updateState
|
|
44045
|
+
]);
|
|
44046
|
+
($507fabe10e71c6fb$export$ec71b4b83ac08ec3)((isFocusVisible)=>{
|
|
44047
|
+
state.current.isFocusVisible = isFocusVisible;
|
|
44048
|
+
updateState();
|
|
44049
|
+
}, [], {
|
|
44050
|
+
isTextInput: isTextInput
|
|
44051
|
+
});
|
|
44052
|
+
let { focusProps: focusProps } = ($a1ea59d68270f0dd$export$f8168d8dd8fd66e6)({
|
|
44053
|
+
isDisabled: within,
|
|
44054
|
+
onFocusChange: onFocusChange
|
|
44055
|
+
});
|
|
44056
|
+
let { focusWithinProps: focusWithinProps } = ($9ab94262bd0047c7$export$420e68273165f4ec)({
|
|
44057
|
+
isDisabled: !within,
|
|
44058
|
+
onFocusWithinChange: onFocusChange
|
|
44059
|
+
});
|
|
44060
|
+
return {
|
|
44061
|
+
isFocused: isFocused,
|
|
44062
|
+
isFocusVisible: isFocusVisibleState,
|
|
44063
|
+
focusProps: within ? focusWithinProps : focusProps
|
|
44064
|
+
};
|
|
44065
|
+
}
|
|
43427
44066
|
|
|
43428
|
-
|
|
44067
|
+
var i$5=Object.defineProperty;var d$3=(t,e,n)=>e in t?i$5(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var r$2=(t,e,n)=>(d$3(t,typeof e!="symbol"?e+"":e,n),n);let o$5 = class o{constructor(){r$2(this,"current",this.detect());r$2(this,"handoffState","pending");r$2(this,"currentId",0);}set(e){this.current!==e&&(this.handoffState="pending",this.currentId=0,this.current=e);}reset(){this.set(this.detect());}nextId(){return ++this.currentId}get isServer(){return this.current==="server"}get isClient(){return this.current==="client"}detect(){return typeof window=="undefined"||typeof document=="undefined"?"server":"client"}handoff(){this.handoffState==="pending"&&(this.handoffState="complete");}get isHandoffComplete(){return this.handoffState==="complete"}};let s$7=new o$5;
|
|
43429
44068
|
|
|
43430
|
-
|
|
44069
|
+
function u$9(r){return s$7.isServer?null:r instanceof Node?r.ownerDocument:r!=null&&r.hasOwnProperty("current")&&r.current instanceof Node?r.current.ownerDocument:document}
|
|
43431
44070
|
|
|
43432
|
-
|
|
44071
|
+
function t$6(e){typeof queueMicrotask=="function"?queueMicrotask(e):Promise.resolve().then(e).catch(o=>setTimeout(()=>{throw o}));}
|
|
43433
44072
|
|
|
43434
|
-
function
|
|
44073
|
+
function o$4(){let n=[],r={addEventListener(e,t,s,a){return e.addEventListener(t,s,a),r.add(()=>e.removeEventListener(t,s,a))},requestAnimationFrame(...e){let t=requestAnimationFrame(...e);return r.add(()=>cancelAnimationFrame(t))},nextFrame(...e){return r.requestAnimationFrame(()=>r.requestAnimationFrame(...e))},setTimeout(...e){let t=setTimeout(...e);return r.add(()=>clearTimeout(t))},microTask(...e){let t={current:!0};return t$6(()=>{t.current&&e[0]();}),r.add(()=>{t.current=!1;})},style(e,t,s){let a=e.style.getPropertyValue(t);return Object.assign(e.style,{[t]:s}),this.add(()=>{Object.assign(e.style,{[t]:a});})},group(e){let t=o$4();return e(t),this.add(()=>t.dispose())},add(e){return n.includes(e)||n.push(e),()=>{let t=n.indexOf(e);if(t>=0)for(let s of n.splice(t,1))s();}},dispose(){for(let e of n.splice(0))e();}};return r}
|
|
43435
44074
|
|
|
43436
|
-
function
|
|
44075
|
+
function p$3(){let[e]=React.useState(o$4);return React.useEffect(()=>()=>e.dispose(),[e]),e}
|
|
43437
44076
|
|
|
43438
|
-
|
|
44077
|
+
let n$3=(e,t)=>{s$7.isServer?React.useEffect(e,t):React.useLayoutEffect(e,t);};
|
|
43439
44078
|
|
|
43440
|
-
function
|
|
44079
|
+
function s$6(e){let r=React.useRef(e);return n$3(()=>{r.current=e;},[e]),r}
|
|
43441
44080
|
|
|
43442
|
-
|
|
44081
|
+
let o$3=function(t){let e=s$6(t);return React.useCallback((...r)=>e.current(...r),[e])};
|
|
43443
44082
|
|
|
43444
|
-
function
|
|
44083
|
+
function E$1(e){let t=e.width/2,n=e.height/2;return {top:e.clientY-n,right:e.clientX+t,bottom:e.clientY+n,left:e.clientX-t}}function P$2(e,t){return !(!e||!t||e.right<t.left||e.left>t.right||e.bottom<t.top||e.top>t.bottom)}function w$4({disabled:e=!1}={}){let t=React.useRef(null),[n,l]=React.useState(!1),r=p$3(),o=o$3(()=>{t.current=null,l(!1),r.dispose();}),f=o$3(s=>{if(r.dispose(),t.current===null){t.current=s.currentTarget,l(!0);{let i=u$9(s.currentTarget);r.addEventListener(i,"pointerup",o,!1),r.addEventListener(i,"pointermove",c=>{if(t.current){let p=E$1(c);l(P$2(p,t.current.getBoundingClientRect()));}},!1),r.addEventListener(i,"pointercancel",o,!1);}}});return {pressed:n,pressProps:e?{}:{onPointerDown:f,onPointerUp:o,onClick:o}}}
|
|
43445
44084
|
|
|
43446
|
-
|
|
44085
|
+
let e$3=React.createContext(void 0);function a$b(){return React.useContext(e$3)}
|
|
43447
44086
|
|
|
43448
|
-
function t$
|
|
44087
|
+
function t$5(...r){return Array.from(new Set(r.flatMap(n=>typeof n=="string"?n.split(" "):[]))).filter(Boolean).join(" ")}
|
|
43449
44088
|
|
|
43450
|
-
function
|
|
44089
|
+
function u$8(r,n,...a){if(r in n){let e=n[r];return typeof e=="function"?e(...a):e}let t=new Error(`Tried to handle "${r}" but there is no handler defined. Only defined handlers are: ${Object.keys(n).map(e=>`"${e}"`).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,u$8),t}
|
|
43451
44090
|
|
|
43452
|
-
|
|
44091
|
+
var O$1=(a=>(a[a.None=0]="None",a[a.RenderStrategy=1]="RenderStrategy",a[a.Static=2]="Static",a))(O$1||{}),M$4=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(M$4||{});function H$2({ourProps:r,theirProps:n,slot:e,defaultTag:a,features:s,visible:t=!0,name:l,mergeRefs:i}){i=i!=null?i:A$2;let o=N$2(n,r);if(t)return b$1(o,e,a,l,i);let y=s!=null?s:0;if(y&2){let{static:f=!1,...u}=o;if(f)return b$1(u,e,a,l,i)}if(y&1){let{unmount:f=!0,...u}=o;return u$8(f?0:1,{[0](){return null},[1](){return b$1({...u,hidden:!0,style:{display:"none"}},e,a,l,i)}})}return b$1(o,e,a,l,i)}function b$1(r,n={},e,a,s){let{as:t=e,children:l,refName:i="ref",...o}=h$2(r,["unmount","static"]),y=r.ref!==void 0?{[i]:r.ref}:{},f=typeof l=="function"?l(n):l;"className"in o&&o.className&&typeof o.className=="function"&&(o.className=o.className(n)),o["aria-labelledby"]&&o["aria-labelledby"]===o.id&&(o["aria-labelledby"]=void 0);let u={};if(n){let d=!1,p=[];for(let[c,T]of Object.entries(n))typeof T=="boolean"&&(d=!0),T===!0&&p.push(c.replace(/([A-Z])/g,g=>`-${g.toLowerCase()}`));if(d){u["data-headlessui-state"]=p.join(" ");for(let c of p)u[`data-${c}`]="";}}if(t===React.Fragment&&(Object.keys(m$4(o)).length>0||Object.keys(m$4(u)).length>0))if(!React.isValidElement(f)||Array.isArray(f)&&f.length>1){if(Object.keys(m$4(o)).length>0)throw new Error(['Passing props on "Fragment"!',"",`The current component <${a} /> is rendering a "Fragment".`,"However we need to passthrough the following props:",Object.keys(m$4(o)).concat(Object.keys(m$4(u))).map(d=>` - ${d}`).join(`
|
|
44092
|
+
`),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".',"Render a single element as the child so that we can forward the props onto that element."].map(d=>` - ${d}`).join(`
|
|
44093
|
+
`)].join(`
|
|
44094
|
+
`))}else {let d=f.props,p=d==null?void 0:d.className,c=typeof p=="function"?(...F)=>t$5(p(...F),o.className):t$5(p,o.className),T=c?{className:c}:{},g=N$2(f.props,m$4(h$2(o,["ref"])));for(let F in u)F in g&&delete u[F];return React.cloneElement(f,Object.assign({},g,u,y,{ref:s(f.ref,y.ref)},T))}return React.createElement(t,Object.assign({},h$2(o,["ref"]),t!==React.Fragment&&y,t!==React.Fragment&&u),f)}function U$3(){let r=React.useRef([]),n=React.useCallback(e=>{for(let a of r.current)a!=null&&(typeof a=="function"?a(e):a.current=e);},[]);return (...e)=>{if(!e.every(a=>a==null))return r.current=e,n}}function A$2(...r){return r.every(n=>n==null)?void 0:n=>{for(let e of r)e!=null&&(typeof e=="function"?e(n):e.current=n);}}function N$2(...r){if(r.length===0)return {};if(r.length===1)return r[0];let n={},e={};for(let s of r)for(let t in s)t.startsWith("on")&&typeof s[t]=="function"?((e[t])!=null||(e[t]=[]),e[t].push(s[t])):n[t]=s[t];if(n.disabled||n["aria-disabled"])for(let s in e)/^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(s)&&(e[s]=[t=>{var l;return (l=t==null?void 0:t.preventDefault)==null?void 0:l.call(t)}]);for(let s in e)Object.assign(n,{[s](t,...l){let i=e[s];for(let o of i){if((t instanceof Event||(t==null?void 0:t.nativeEvent)instanceof Event)&&t.defaultPrevented)return;o(t,...l);}}});return n}function D$4(...r){if(r.length===0)return {};if(r.length===1)return r[0];let n={},e={};for(let s of r)for(let t in s)t.startsWith("on")&&typeof s[t]=="function"?((e[t])!=null||(e[t]=[]),e[t].push(s[t])):n[t]=s[t];for(let s in e)Object.assign(n,{[s](...t){let l=e[s];for(let i of l)i==null||i(...t);}});return n}function I$5(r){var n;return Object.assign(React.forwardRef(r),{displayName:(n=r.displayName)!=null?n:r.name})}function m$4(r){let n=Object.assign({},r);for(let e in n)n[e]===void 0&&delete n[e];return n}function h$2(r,n=[]){let e=Object.assign({},r);for(let a of n)a in e&&delete e[a];return e}
|
|
43453
44095
|
|
|
43454
44096
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
43455
44097
|
|
|
@@ -74358,59 +75000,2345 @@ if (process.env.NODE_ENV === 'production') {
|
|
|
74358
75000
|
|
|
74359
75001
|
var reactDomExports = reactDom.exports;
|
|
74360
75002
|
|
|
74361
|
-
let e=
|
|
75003
|
+
let a$a="div";var s$5=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(s$5||{});function l$3(t,r){var n;let{features:d=1,...e}=t,o={ref:r,"aria-hidden":(d&2)===2?!0:(n=e["aria-hidden"])!=null?n:void 0,hidden:(d&4)===4?!0:void 0,style:{position:"fixed",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...(d&4)===4&&(d&2)!==2&&{display:"none"}}};return H$2({ourProps:o,theirProps:e,slot:{},defaultTag:a$a,name:"Hidden"})}let T$3=I$5(l$3);
|
|
74362
75004
|
|
|
74363
|
-
|
|
75005
|
+
let f$8=React.createContext(null);function c$5({children:t}){let e=React.useContext(f$8);if(!e)return React.createElement(React.Fragment,null,t);let{target:r}=e;return r?reactDomExports.createPortal(React.createElement(React.Fragment,null,t),r):null}
|
|
74364
75006
|
|
|
74365
|
-
let
|
|
75007
|
+
let e$2=React.createContext(void 0);function u$7(){return React.useContext(e$2)}
|
|
74366
75008
|
|
|
74367
|
-
|
|
75009
|
+
function r$1(n){let e=n.parentElement,l=null;for(;e&&!(e instanceof HTMLFieldSetElement);)e instanceof HTMLLegendElement&&(l=e),e=e.parentElement;let t=(e==null?void 0:e.getAttribute("disabled"))==="";return t&&i$4(l)?!1:t}function i$4(n){if(!n)return !1;let e=n.previousElementSibling;for(;e!==null;){if(e instanceof HTMLLegendElement)return !1;e=e.previousElementSibling;}return !0}
|
|
74368
75010
|
|
|
74369
|
-
function
|
|
75011
|
+
let u$6=Symbol();function T$2(t,n=!0){return Object.assign(t,{[u$6]:n})}function y$4(...t){let n=React.useRef(t);React.useEffect(()=>{n.current=t;},[t]);let c=o$3(e=>{for(let o of n.current)o!=null&&(typeof o=="function"?o(e):o.current=e);});return t.every(e=>e==null||(e==null?void 0:e[u$6]))?void 0:c}
|
|
74370
75012
|
|
|
74371
|
-
function
|
|
75013
|
+
let a$9=React.createContext(null);a$9.displayName="DescriptionContext";function f$7(){let r=React.useContext(a$9);if(r===null){let e=new Error("You used a <Description /> component, but it is not inside a relevant parent.");throw Error.captureStackTrace&&Error.captureStackTrace(e,f$7),e}return r}function U$2(){let[r,e]=React.useState([]);return [r.length>0?r.join(" "):void 0,React.useMemo(()=>function(t){let i=o$3(n=>(e(s=>[...s,n]),()=>e(s=>{let o=s.slice(),p=o.indexOf(n);return p!==-1&&o.splice(p,1),o}))),l=React.useMemo(()=>({register:i,slot:t.slot,name:t.name,props:t.props,value:t.value}),[i,t.slot,t.name,t.props,t.value]);return React.createElement(a$9.Provider,{value:l},t.children)},[e])]}let S$3="p";function C(r,e){let d=React.useId(),t=a$b(),{id:i=`headlessui-description-${d}`,...l}=r,n=f$7(),s=y$4(e);n$3(()=>n.register(i),[i,n.register]);let o=t||!1,p=React.useMemo(()=>({...n.slot,disabled:o}),[n.slot,o]),D={ref:s,...n.props,id:i};return H$2({ourProps:D,theirProps:l,slot:p,defaultTag:S$3,name:n.name||"Description"})}let _$1=I$5(C),w$3=Object.assign(_$1,{});
|
|
74372
75014
|
|
|
74373
|
-
|
|
75015
|
+
var o$2=(r=>(r.Space=" ",r.Enter="Enter",r.Escape="Escape",r.Backspace="Backspace",r.Delete="Delete",r.ArrowLeft="ArrowLeft",r.ArrowUp="ArrowUp",r.ArrowRight="ArrowRight",r.ArrowDown="ArrowDown",r.Home="Home",r.End="End",r.PageUp="PageUp",r.PageDown="PageDown",r.Tab="Tab",r))(o$2||{});
|
|
74374
75016
|
|
|
74375
|
-
function
|
|
75017
|
+
let c$4=React.createContext(null);c$4.displayName="LabelContext";function P$1(){let r=React.useContext(c$4);if(r===null){let l=new Error("You used a <Label /> component, but it is not inside a relevant parent.");throw Error.captureStackTrace&&Error.captureStackTrace(l,P$1),l}return r}function I$4(r){var a,e,o;let l=(e=(a=React.useContext(c$4))==null?void 0:a.value)!=null?e:void 0;return ((o=r==null?void 0:r.length)!=null?o:0)>0?[l,...r].filter(Boolean).join(" "):l}function z({inherit:r=!1}={}){let l=I$4(),[a,e]=React.useState([]),o=r?[l,...a].filter(Boolean):a;return [o.length>0?o.join(" "):void 0,React.useMemo(()=>function(t){let s=o$3(i=>(e(p=>[...p,i]),()=>e(p=>{let u=p.slice(),d=u.indexOf(i);return d!==-1&&u.splice(d,1),u}))),m=React.useMemo(()=>({register:s,slot:t.slot,name:t.name,props:t.props,value:t.value}),[s,t.slot,t.name,t.props,t.value]);return React.createElement(c$4.Provider,{value:m},t.children)},[e])]}let N$1="label";function G$1(r,l){var y;let a=React.useId(),e=P$1(),o=u$7(),g=a$b(),{id:t=`headlessui-label-${a}`,htmlFor:s=o!=null?o:(y=e.props)==null?void 0:y.htmlFor,passive:m=!1,...i}=r,p=y$4(l);n$3(()=>e.register(t),[t,e.register]);let u=o$3(L=>{let b=L.currentTarget;if(b instanceof HTMLLabelElement&&L.preventDefault(),e.props&&"onClick"in e.props&&typeof e.props.onClick=="function"&&e.props.onClick(L),b instanceof HTMLLabelElement){let n=document.getElementById(b.htmlFor);if(n){let E=n.getAttribute("disabled");if(E==="true"||E==="")return;let x=n.getAttribute("aria-disabled");if(x==="true"||x==="")return;(n instanceof HTMLInputElement&&(n.type==="radio"||n.type==="checkbox")||n.role==="radio"||n.role==="checkbox"||n.role==="switch")&&n.click(),n.focus({preventScroll:!0});}}}),d=g||!1,C=React.useMemo(()=>({...e.slot,disabled:d}),[e.slot,d]),f={ref:p,...e.props,id:t,htmlFor:s,onClick:u};return m&&("onClick"in f&&(delete f.htmlFor,delete f.onClick),"onClick"in i&&delete i.onClick),H$2({ourProps:f,theirProps:i,slot:C,defaultTag:s?N$1:"div",name:e.name||"Label"})}let U$1=I$5(G$1);Object.assign(U$1,{});
|
|
74376
75018
|
|
|
74377
|
-
|
|
75019
|
+
let e$1=React.createContext(()=>{});function u$5({value:o,children:t}){return React.createElement(e$1.Provider,{value:o},t)}
|
|
74378
75020
|
|
|
74379
|
-
function
|
|
75021
|
+
function s$4(e){if(e===null)return {width:0,height:0};let{width:n,height:t}=e.getBoundingClientRect();return {width:n,height:t}}function f$6(e,n=!1){let t=e===null?null:"current"in e?e.current:e,[l,u]=React.useReducer(()=>({}),{}),r=React.useMemo(()=>s$4(t),[t,l]);return n$3(()=>{if(!t)return;let i=new ResizeObserver(u);return i.observe(t),()=>{i.disconnect();}},[t]),n?{width:`${r.width}px`,height:`${r.height}px`}:r}
|
|
74380
75022
|
|
|
74381
|
-
|
|
75023
|
+
let a$8 = class a extends Map{constructor(t){super();this.factory=t;}get(t){let e=super.get(t);return e===void 0&&(e=this.factory(t),this.set(t,e)),e}};
|
|
74382
75024
|
|
|
74383
|
-
function
|
|
75025
|
+
function a$7(o,r){let t=o(),n=new Set;return {getSnapshot(){return t},subscribe(e){return n.add(e),()=>n.delete(e)},dispatch(e,...s){let i=r[e].call(t,...s);i&&(t=i,n.forEach(c=>c()));}}}
|
|
74384
75026
|
|
|
74385
|
-
function
|
|
75027
|
+
function o$1(t){return React.useSyncExternalStore(t.subscribe,t.getSnapshot,t.getSnapshot)}
|
|
74386
75028
|
|
|
74387
|
-
|
|
75029
|
+
let p$2=new a$8(()=>a$7(()=>[],{ADD(r){return this.includes(r)?this:[...this,r]},REMOVE(r){let e=this.indexOf(r);if(e===-1)return this;let t=this.slice();return t.splice(e,1),t}}));function x$2(r,e){let t=p$2.get(e),i=React.useId(),h=o$1(t);if(n$3(()=>{if(r)return t.dispatch("ADD",i),()=>t.dispatch("REMOVE",i)},[t,r]),!r)return !1;let s=h.indexOf(i),o=h.length;return s===-1&&(s=o,o+=1),s===o-1}
|
|
74388
75030
|
|
|
74389
|
-
let
|
|
75031
|
+
let f$5=new Map,u$4=new Map;function h$1(t){var e;let r=(e=u$4.get(t))!=null?e:0;return u$4.set(t,r+1),r!==0?()=>m$3(t):(f$5.set(t,{"aria-hidden":t.getAttribute("aria-hidden"),inert:t.inert}),t.setAttribute("aria-hidden","true"),t.inert=!0,()=>m$3(t))}function m$3(t){var i;let r=(i=u$4.get(t))!=null?i:1;if(r===1?u$4.delete(t):u$4.set(t,r-1),r!==1)return;let e=f$5.get(t);e&&(e["aria-hidden"]===null?t.removeAttribute("aria-hidden"):t.setAttribute("aria-hidden",e["aria-hidden"]),t.inert=e.inert,f$5.delete(t));}function y$3(t,{allowed:r,disallowed:e}={}){let i=x$2(t,"inert-others");n$3(()=>{var d,c;if(!i)return;let a=o$4();for(let n of (d=e==null?void 0:e())!=null?d:[])n&&a.add(h$1(n));let s=(c=r==null?void 0:r())!=null?c:[];for(let n of s){if(!n)continue;let l=u$9(n);if(!l)continue;let o=n.parentElement;for(;o&&o!==l.body;){for(let p of o.children)s.some(E=>p.contains(E))||a.add(h$1(p));o=o.parentElement;}}return a.dispose},[i,r,e]);}
|
|
74390
75032
|
|
|
74391
|
-
function
|
|
75033
|
+
function m$2(s,n,l){let i=s$6(t=>{let e=t.getBoundingClientRect();e.x===0&&e.y===0&&e.width===0&&e.height===0&&l();});React.useEffect(()=>{if(!s)return;let t=n===null?null:n instanceof HTMLElement?n:n.current;if(!t)return;let e=o$4();if(typeof ResizeObserver!="undefined"){let r=new ResizeObserver(()=>i.current(t));r.observe(t),e.add(()=>r.disconnect());}if(typeof IntersectionObserver!="undefined"){let r=new IntersectionObserver(()=>i.current(t));r.observe(t),e.add(()=>r.disconnect());}return ()=>e.dispose()},[n,i,s]);}
|
|
74392
75034
|
|
|
74393
|
-
|
|
75035
|
+
let f$4=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map(e=>`${e}:not([tabindex='-1'])`).join(","),p$1=["[data-autofocus]"].map(e=>`${e}:not([tabindex='-1'])`).join(",");var F$4=(n=>(n[n.First=1]="First",n[n.Previous=2]="Previous",n[n.Next=4]="Next",n[n.Last=8]="Last",n[n.WrapAround=16]="WrapAround",n[n.NoScroll=32]="NoScroll",n[n.AutoFocus=64]="AutoFocus",n))(F$4||{}),T$1=(o=>(o[o.Error=0]="Error",o[o.Overflow=1]="Overflow",o[o.Success=2]="Success",o[o.Underflow=3]="Underflow",o))(T$1||{}),y$2=(t=>(t[t.Previous=-1]="Previous",t[t.Next=1]="Next",t))(y$2||{});function b(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(f$4)).sort((r,t)=>Math.sign((r.tabIndex||Number.MAX_SAFE_INTEGER)-(t.tabIndex||Number.MAX_SAFE_INTEGER)))}function S$2(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(p$1)).sort((r,t)=>Math.sign((r.tabIndex||Number.MAX_SAFE_INTEGER)-(t.tabIndex||Number.MAX_SAFE_INTEGER)))}var h=(t=>(t[t.Strict=0]="Strict",t[t.Loose=1]="Loose",t))(h||{});function A$1(e,r=0){var t;return e===((t=u$9(e))==null?void 0:t.body)?!1:u$8(r,{[0](){return e.matches(f$4)},[1](){let u=e;for(;u!==null;){if(u.matches(f$4))return !0;u=u.parentElement;}return !1}})}function G(e){let r=u$9(e);o$4().nextFrame(()=>{r&&!A$1(r.activeElement,0)&&I$3(e);});}var H$1=(t=>(t[t.Keyboard=0]="Keyboard",t[t.Mouse=1]="Mouse",t))(H$1||{});typeof window!="undefined"&&typeof document!="undefined"&&(document.addEventListener("keydown",e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible="");},!0),document.addEventListener("click",e=>{e.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:e.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible="");},!0));function I$3(e){e==null||e.focus({preventScroll:!0});}let w$2=["textarea","input"].join(",");function O(e){var r,t;return (t=(r=e==null?void 0:e.matches)==null?void 0:r.call(e,w$2))!=null?t:!1}function _(e,r=t=>t){return e.slice().sort((t,u)=>{let o=r(t),c=r(u);if(o===null||c===null)return 0;let l=o.compareDocumentPosition(c);return l&Node.DOCUMENT_POSITION_FOLLOWING?-1:l&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function j$3(e,r){return P(b(),r,{relativeTo:e})}function P(e,r,{sorted:t=!0,relativeTo:u=null,skipElements:o=[]}={}){let c=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e.ownerDocument,l=Array.isArray(e)?t?_(e):e:r&64?S$2(e):b(e);o.length>0&&l.length>1&&(l=l.filter(s=>!o.some(a=>a!=null&&"current"in a?(a==null?void 0:a.current)===s:a===s))),u=u!=null?u:c.activeElement;let n=(()=>{if(r&5)return 1;if(r&10)return -1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),x=(()=>{if(r&1)return 0;if(r&2)return Math.max(0,l.indexOf(u))-1;if(r&4)return Math.max(0,l.indexOf(u))+1;if(r&8)return l.length-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),M=r&32?{preventScroll:!0}:{},m=0,d=l.length,i;do{if(m>=d||m+d<=0)return 0;let s=x+m;if(r&16)s=(s+d)%d;else {if(s<0)return 3;if(s>=d)return 1}i=l[s],i==null||i.focus(M),m+=n;}while(i!==c.activeElement);return r&6&&O(i)&&i.select(),2}
|
|
74394
75036
|
|
|
74395
|
-
|
|
75037
|
+
function t$4(){return /iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function i$3(){return /Android/gi.test(window.navigator.userAgent)}function n$2(){return t$4()||i$3()}
|
|
75038
|
+
|
|
75039
|
+
function i$2(t,e,o,n){let u=s$6(o);React.useEffect(()=>{if(!t)return;function r(m){u.current(m);}return document.addEventListener(e,r,n),()=>document.removeEventListener(e,r,n)},[t,e,n]);}
|
|
75040
|
+
|
|
75041
|
+
function s$3(t,e,o,n){let i=s$6(o);React.useEffect(()=>{if(!t)return;function r(d){i.current(d);}return window.addEventListener(e,r,n),()=>window.removeEventListener(e,r,n)},[t,e,n]);}
|
|
75042
|
+
|
|
75043
|
+
const d$2=30;function F$3(E,p,C){let u=x$2(E,"outside-click"),f=s$6(C),s=React.useCallback(function(e,o){if(e.defaultPrevented)return;let r=o(e);if(r===null||!r.getRootNode().contains(r)||!r.isConnected)return;let T=function i(n){return typeof n=="function"?i(n()):Array.isArray(n)||n instanceof Set?n:[n]}(p);for(let i of T){if(i===null)continue;let n=i instanceof HTMLElement?i:i.current;if(n!=null&&n.contains(r)||e.composed&&e.composedPath().includes(n))return}return !A$1(r,h.Loose)&&r.tabIndex!==-1&&e.preventDefault(),f.current(e,r)},[f]),l=React.useRef(null);i$2(u,"pointerdown",t=>{var e,o;l.current=((o=(e=t.composedPath)==null?void 0:e.call(t))==null?void 0:o[0])||t.target;},!0),i$2(u,"mousedown",t=>{var e,o;l.current=((o=(e=t.composedPath)==null?void 0:e.call(t))==null?void 0:o[0])||t.target;},!0),i$2(u,"click",t=>{n$2()||l.current&&(s(t,()=>l.current),l.current=null);},!0);let a=React.useRef({x:0,y:0});i$2(u,"touchstart",t=>{a.current.x=t.touches[0].clientX,a.current.y=t.touches[0].clientY;},!0),i$2(u,"touchend",t=>{let e={x:t.changedTouches[0].clientX,y:t.changedTouches[0].clientY};if(!(Math.abs(e.x-a.current.x)>=d$2||Math.abs(e.y-a.current.y)>=d$2))return s(t,()=>t.target instanceof HTMLElement?t.target:null)},!0),s$3(u,"blur",t=>s(t,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0);}
|
|
75044
|
+
|
|
75045
|
+
function n$1(...e){return React.useMemo(()=>u$9(...e),[...e])}
|
|
75046
|
+
|
|
75047
|
+
function E(n,e,a,t){let i=s$6(a);React.useEffect(()=>{n=n!=null?n:window;function r(o){i.current(o);}return n.addEventListener(e,r,t),()=>n.removeEventListener(e,r,t)},[n,e,t]);}
|
|
74396
75048
|
|
|
74397
|
-
|
|
75049
|
+
function i$1(t){var n;if(t.type)return t.type;let e=(n=t.as)!=null?n:"button";if(typeof e=="string"&&e.toLowerCase()==="button")return "button"}function T(t,e){let[n,u]=React.useState(()=>i$1(t));return n$3(()=>{u(i$1(t));},[t.type,t.as]),n$3(()=>{n||e.current&&e.current instanceof HTMLButtonElement&&!e.current.hasAttribute("type")&&u("button");},[n,e]),n}
|
|
74398
75050
|
|
|
74399
|
-
|
|
75051
|
+
function d$1(){let r;return {before({doc:e}){var l;let o=e.documentElement,t=(l=e.defaultView)!=null?l:window;r=Math.max(0,t.innerWidth-o.clientWidth);},after({doc:e,d:o}){let t=e.documentElement,l=Math.max(0,t.clientWidth-t.offsetWidth),n=Math.max(0,r-l);o.style(t,"paddingRight",`${n}px`);}}}
|
|
74400
75052
|
|
|
74401
|
-
function
|
|
75053
|
+
function d(){return t$4()?{before({doc:r,d:n,meta:c}){function o(a){return c.containers.flatMap(l=>l()).some(l=>l.contains(a))}n.microTask(()=>{var s;if(window.getComputedStyle(r.documentElement).scrollBehavior!=="auto"){let t=o$4();t.style(r.documentElement,"scrollBehavior","auto"),n.add(()=>n.microTask(()=>t.dispose()));}let a=(s=window.scrollY)!=null?s:window.pageYOffset,l=null;n.addEventListener(r,"click",t=>{if(t.target instanceof HTMLElement)try{let e=t.target.closest("a");if(!e)return;let{hash:f}=new URL(e.href),i=r.querySelector(f);i&&!o(i)&&(l=i);}catch{}},!0),n.addEventListener(r,"touchstart",t=>{if(t.target instanceof HTMLElement)if(o(t.target)){let e=t.target;for(;e.parentElement&&o(e.parentElement);)e=e.parentElement;n.style(e,"overscrollBehavior","contain");}else n.style(t.target,"touchAction","none");}),n.addEventListener(r,"touchmove",t=>{if(t.target instanceof HTMLElement){if(t.target.tagName==="INPUT")return;if(o(t.target)){let e=t.target;for(;e.parentElement&&e.dataset.headlessuiPortal!==""&&!(e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth);)e=e.parentElement;e.dataset.headlessuiPortal===""&&t.preventDefault();}else t.preventDefault();}},{passive:!1}),n.add(()=>{var e;let t=(e=window.scrollY)!=null?e:window.pageYOffset;a!==t&&window.scrollTo(0,a),l&&l.isConnected&&(l.scrollIntoView({block:"nearest"}),l=null);});});}}:{}}
|
|
74402
75054
|
|
|
74403
|
-
|
|
75055
|
+
function r(){return {before({doc:e,d:o}){o.style(e.documentElement,"overflow","hidden");}}}
|
|
74404
75056
|
|
|
74405
|
-
function
|
|
75057
|
+
function m$1(e){let n={};for(let t of e)Object.assign(n,t(n));return n}let a$6=a$7(()=>new Map,{PUSH(e,n){var o;let t=(o=this.get(e))!=null?o:{doc:e,count:0,d:o$4(),meta:new Set};return t.count++,t.meta.add(n),this.set(e,t),this},POP(e,n){let t=this.get(e);return t&&(t.count--,t.meta.delete(n)),this},SCROLL_PREVENT({doc:e,d:n,meta:t}){let o={doc:e,d:n,meta:m$1(t)},c=[d(),d$1(),r()];c.forEach(({before:r})=>r==null?void 0:r(o)),c.forEach(({after:r})=>r==null?void 0:r(o));},SCROLL_ALLOW({d:e}){e.dispose();},TEARDOWN({doc:e}){this.delete(e);}});a$6.subscribe(()=>{let e=a$6.getSnapshot(),n=new Map;for(let[t]of e)n.set(t,t.documentElement.style.overflow);for(let t of e.values()){let o=n.get(t.doc)==="hidden",c=t.count!==0;(c&&!o||!c&&o)&&a$6.dispatch(t.count>0?"SCROLL_PREVENT":"SCROLL_ALLOW",t),t.count===0&&a$6.dispatch("TEARDOWN",t);}});
|
|
74406
75058
|
|
|
74407
|
-
function
|
|
75059
|
+
function a$5(r,e,n=()=>({containers:[]})){let f=o$1(a$6),o=e?f.get(e):void 0,i=o?o.count>0:!1;return n$3(()=>{if(!(!e||!r))return a$6.dispatch("PUSH",e,n),()=>a$6.dispatch("POP",e,n)},[r,e]),i}
|
|
74408
75060
|
|
|
74409
|
-
function
|
|
75061
|
+
function f$3(e,c,n=()=>[document.body]){let r=x$2(e,"scroll-lock");a$5(r,c,t=>{var o;return {containers:[...(o=t.containers)!=null?o:[],n]}});}
|
|
74410
75062
|
|
|
74411
|
-
function
|
|
75063
|
+
function t$3(e){return [e.screenX,e.screenY]}function u$3(){let e=React.useRef([-1,-1]);return {wasMoved(r){let n=t$3(r);return e.current[0]===n[0]&&e.current[1]===n[1]?!1:(e.current=n,!0)},update(r){e.current=t$3(r);}}}
|
|
74412
75064
|
|
|
74413
|
-
function
|
|
75065
|
+
function l$2(r){let e={called:!1};return (...t)=>{if(!e.called)return e.called=!0,r(...t)}}
|
|
75066
|
+
|
|
75067
|
+
function c$3(u=0){let[t,l]=React.useState(u),g=React.useCallback(e=>l(e),[t]),s=React.useCallback(e=>l(a=>a|e),[t]),m=React.useCallback(e=>(t&e)===e,[t]),n=React.useCallback(e=>l(a=>a&~e),[l]),F=React.useCallback(e=>l(a=>a^e),[l]);return {flags:t,setFlag:g,addFlag:s,hasFlag:m,removeFlag:n,toggleFlag:F}}
|
|
75068
|
+
|
|
75069
|
+
var D$3=(i=>(i[i.None=0]="None",i[i.Closed=1]="Closed",i[i.Enter=2]="Enter",i[i.Leave=4]="Leave",i))(D$3||{});function A(e){let a={};for(let t in e)e[t]===!0&&(a[`data-${t}`]="");return a}function V$2(e,a,t,r){let[i,u]=React.useState(t),{hasFlag:d,addFlag:f,removeFlag:s}=c$3(e&&i?3:0),l=React.useRef(!1),n=React.useRef(!1),o=p$3();return n$3(function p(){var T;if(!e)return;t&&u(!0);let c=a.current;return c?((T=r==null?void 0:r.start)==null||T.call(r,t),M$3(c,{inFlight:l,prepare(){n.current?n.current=!1:n.current=l.current,l.current=!0,!n.current&&(t?(f(3),s(4)):(f(4),s(2)));},run(){n.current?t?(s(3),f(4)):(s(4),f(3)):t?s(1):f(1);},done(){var m;n.current&&typeof c.getAnimations=="function"&&c.getAnimations().length>0||(l.current=!1,s(7),t||u(!1),(m=r==null?void 0:r.end)==null||m.call(r,t));}})):t?(f(3),o.nextFrame(()=>p())):void 0},[e,t,a,o]),e?[i,{closed:d(1),enter:d(2),leave:d(4),transition:d(2)||d(4)}]:[t,{closed:void 0,enter:void 0,leave:void 0,transition:void 0}]}function M$3(e,{prepare:a,run:t,done:r,inFlight:i}){let u=o$4();return R(e,{prepare:a,inFlight:i}),u.nextFrame(()=>{u.add(F$2(e,r)),t();}),u.dispose}function F$2(e,a){let t=l$2(a),r=o$4();if(!e)return r.dispose;let{transitionDuration:i,transitionDelay:u}=getComputedStyle(e),[d,f]=[i,u].map(l=>{let[n=0]=l.split(",").filter(Boolean).map(o=>o.includes("ms")?parseFloat(o):parseFloat(o)*1e3).sort((o,p)=>p-o);return n}),s=d+f;if(s!==0){let l=r.group(n=>{let o=n.setTimeout(()=>{t(),n.dispose();},s);n.addEventListener(e,"transitionrun",p=>{p.target===p.currentTarget&&(o(),n.addEventListener(e,"transitioncancel",c=>{c.target===c.currentTarget&&(t(),l());}));});});r.addEventListener(e,"transitionend",n=>{n.target===n.currentTarget&&(t(),r.dispose());});}else t();return r.dispose}function R(e,{inFlight:a,prepare:t}){if(a!=null&&a.current){t();return}let r=e.style.transition;e.style.transition="none",t(),e.offsetHeight,e.style.transition=r;}
|
|
75070
|
+
|
|
75071
|
+
function F$1(c,{container:e,accept:t,walk:r}){let o=React.useRef(t),l=React.useRef(r);React.useEffect(()=>{o.current=t,l.current=r;},[t,r]),n$3(()=>{if(!e||!c)return;let n=u$9(e);if(!n)return;let f=o.current,p=l.current,i=Object.assign(m=>f(m),{acceptNode:f}),u=n.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,i,!1);for(;u.nextNode();)p(u.currentNode);},[e,c,o,l]);}
|
|
75072
|
+
|
|
75073
|
+
function m(u,t){let e=React.useRef([]),r=o$3(u);React.useEffect(()=>{let o=[...e.current];for(let[a,l]of t.entries())if(e.current[a]!==l){let n=r(t,o);return e.current=t,n}},[r,...t]);}
|
|
75074
|
+
|
|
75075
|
+
function getWindow$1(node) {
|
|
75076
|
+
var _node$ownerDocument;
|
|
75077
|
+
return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
|
|
75078
|
+
}
|
|
75079
|
+
function isElement$1(value) {
|
|
75080
|
+
return value instanceof Element || value instanceof getWindow$1(value).Element;
|
|
75081
|
+
}
|
|
75082
|
+
|
|
75083
|
+
function getUserAgent() {
|
|
75084
|
+
const uaData = navigator.userAgentData;
|
|
75085
|
+
if (uaData && Array.isArray(uaData.brands)) {
|
|
75086
|
+
return uaData.brands.map(_ref => {
|
|
75087
|
+
let {
|
|
75088
|
+
brand,
|
|
75089
|
+
version
|
|
75090
|
+
} = _ref;
|
|
75091
|
+
return brand + "/" + version;
|
|
75092
|
+
}).join(' ');
|
|
75093
|
+
}
|
|
75094
|
+
return navigator.userAgent;
|
|
75095
|
+
}
|
|
75096
|
+
|
|
75097
|
+
/**
|
|
75098
|
+
* Custom positioning reference element.
|
|
75099
|
+
* @see https://floating-ui.com/docs/virtual-elements
|
|
75100
|
+
*/
|
|
75101
|
+
|
|
75102
|
+
function evaluate$1(value, param) {
|
|
75103
|
+
return typeof value === 'function' ? value(param) : value;
|
|
75104
|
+
}
|
|
75105
|
+
|
|
75106
|
+
const min = Math.min;
|
|
75107
|
+
const max = Math.max;
|
|
75108
|
+
const round = Math.round;
|
|
75109
|
+
const floor = Math.floor;
|
|
75110
|
+
const createCoords = v => ({
|
|
75111
|
+
x: v,
|
|
75112
|
+
y: v
|
|
75113
|
+
});
|
|
75114
|
+
const oppositeSideMap = {
|
|
75115
|
+
left: 'right',
|
|
75116
|
+
right: 'left',
|
|
75117
|
+
bottom: 'top',
|
|
75118
|
+
top: 'bottom'
|
|
75119
|
+
};
|
|
75120
|
+
const oppositeAlignmentMap = {
|
|
75121
|
+
start: 'end',
|
|
75122
|
+
end: 'start'
|
|
75123
|
+
};
|
|
75124
|
+
function clamp(start, value, end) {
|
|
75125
|
+
return max(start, min(value, end));
|
|
75126
|
+
}
|
|
75127
|
+
function evaluate(value, param) {
|
|
75128
|
+
return typeof value === 'function' ? value(param) : value;
|
|
75129
|
+
}
|
|
75130
|
+
function getSide(placement) {
|
|
75131
|
+
return placement.split('-')[0];
|
|
75132
|
+
}
|
|
75133
|
+
function getAlignment(placement) {
|
|
75134
|
+
return placement.split('-')[1];
|
|
75135
|
+
}
|
|
75136
|
+
function getOppositeAxis(axis) {
|
|
75137
|
+
return axis === 'x' ? 'y' : 'x';
|
|
75138
|
+
}
|
|
75139
|
+
function getAxisLength(axis) {
|
|
75140
|
+
return axis === 'y' ? 'height' : 'width';
|
|
75141
|
+
}
|
|
75142
|
+
function getSideAxis(placement) {
|
|
75143
|
+
return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';
|
|
75144
|
+
}
|
|
75145
|
+
function getAlignmentAxis(placement) {
|
|
75146
|
+
return getOppositeAxis(getSideAxis(placement));
|
|
75147
|
+
}
|
|
75148
|
+
function getAlignmentSides(placement, rects, rtl) {
|
|
75149
|
+
if (rtl === void 0) {
|
|
75150
|
+
rtl = false;
|
|
75151
|
+
}
|
|
75152
|
+
const alignment = getAlignment(placement);
|
|
75153
|
+
const alignmentAxis = getAlignmentAxis(placement);
|
|
75154
|
+
const length = getAxisLength(alignmentAxis);
|
|
75155
|
+
let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';
|
|
75156
|
+
if (rects.reference[length] > rects.floating[length]) {
|
|
75157
|
+
mainAlignmentSide = getOppositePlacement(mainAlignmentSide);
|
|
75158
|
+
}
|
|
75159
|
+
return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];
|
|
75160
|
+
}
|
|
75161
|
+
function getExpandedPlacements(placement) {
|
|
75162
|
+
const oppositePlacement = getOppositePlacement(placement);
|
|
75163
|
+
return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];
|
|
75164
|
+
}
|
|
75165
|
+
function getOppositeAlignmentPlacement(placement) {
|
|
75166
|
+
return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);
|
|
75167
|
+
}
|
|
75168
|
+
function getSideList(side, isStart, rtl) {
|
|
75169
|
+
const lr = ['left', 'right'];
|
|
75170
|
+
const rl = ['right', 'left'];
|
|
75171
|
+
const tb = ['top', 'bottom'];
|
|
75172
|
+
const bt = ['bottom', 'top'];
|
|
75173
|
+
switch (side) {
|
|
75174
|
+
case 'top':
|
|
75175
|
+
case 'bottom':
|
|
75176
|
+
if (rtl) return isStart ? rl : lr;
|
|
75177
|
+
return isStart ? lr : rl;
|
|
75178
|
+
case 'left':
|
|
75179
|
+
case 'right':
|
|
75180
|
+
return isStart ? tb : bt;
|
|
75181
|
+
default:
|
|
75182
|
+
return [];
|
|
75183
|
+
}
|
|
75184
|
+
}
|
|
75185
|
+
function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
|
|
75186
|
+
const alignment = getAlignment(placement);
|
|
75187
|
+
let list = getSideList(getSide(placement), direction === 'start', rtl);
|
|
75188
|
+
if (alignment) {
|
|
75189
|
+
list = list.map(side => side + "-" + alignment);
|
|
75190
|
+
if (flipAlignment) {
|
|
75191
|
+
list = list.concat(list.map(getOppositeAlignmentPlacement));
|
|
75192
|
+
}
|
|
75193
|
+
}
|
|
75194
|
+
return list;
|
|
75195
|
+
}
|
|
75196
|
+
function getOppositePlacement(placement) {
|
|
75197
|
+
return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);
|
|
75198
|
+
}
|
|
75199
|
+
function expandPaddingObject(padding) {
|
|
75200
|
+
return {
|
|
75201
|
+
top: 0,
|
|
75202
|
+
right: 0,
|
|
75203
|
+
bottom: 0,
|
|
75204
|
+
left: 0,
|
|
75205
|
+
...padding
|
|
75206
|
+
};
|
|
75207
|
+
}
|
|
75208
|
+
function getPaddingObject(padding) {
|
|
75209
|
+
return typeof padding !== 'number' ? expandPaddingObject(padding) : {
|
|
75210
|
+
top: padding,
|
|
75211
|
+
right: padding,
|
|
75212
|
+
bottom: padding,
|
|
75213
|
+
left: padding
|
|
75214
|
+
};
|
|
75215
|
+
}
|
|
75216
|
+
function rectToClientRect(rect) {
|
|
75217
|
+
return {
|
|
75218
|
+
...rect,
|
|
75219
|
+
top: rect.y,
|
|
75220
|
+
left: rect.x,
|
|
75221
|
+
right: rect.x + rect.width,
|
|
75222
|
+
bottom: rect.y + rect.height
|
|
75223
|
+
};
|
|
75224
|
+
}
|
|
75225
|
+
|
|
75226
|
+
function computeCoordsFromPlacement(_ref, placement, rtl) {
|
|
75227
|
+
let {
|
|
75228
|
+
reference,
|
|
75229
|
+
floating
|
|
75230
|
+
} = _ref;
|
|
75231
|
+
const sideAxis = getSideAxis(placement);
|
|
75232
|
+
const alignmentAxis = getAlignmentAxis(placement);
|
|
75233
|
+
const alignLength = getAxisLength(alignmentAxis);
|
|
75234
|
+
const side = getSide(placement);
|
|
75235
|
+
const isVertical = sideAxis === 'y';
|
|
75236
|
+
const commonX = reference.x + reference.width / 2 - floating.width / 2;
|
|
75237
|
+
const commonY = reference.y + reference.height / 2 - floating.height / 2;
|
|
75238
|
+
const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;
|
|
75239
|
+
let coords;
|
|
75240
|
+
switch (side) {
|
|
75241
|
+
case 'top':
|
|
75242
|
+
coords = {
|
|
75243
|
+
x: commonX,
|
|
75244
|
+
y: reference.y - floating.height
|
|
75245
|
+
};
|
|
75246
|
+
break;
|
|
75247
|
+
case 'bottom':
|
|
75248
|
+
coords = {
|
|
75249
|
+
x: commonX,
|
|
75250
|
+
y: reference.y + reference.height
|
|
75251
|
+
};
|
|
75252
|
+
break;
|
|
75253
|
+
case 'right':
|
|
75254
|
+
coords = {
|
|
75255
|
+
x: reference.x + reference.width,
|
|
75256
|
+
y: commonY
|
|
75257
|
+
};
|
|
75258
|
+
break;
|
|
75259
|
+
case 'left':
|
|
75260
|
+
coords = {
|
|
75261
|
+
x: reference.x - floating.width,
|
|
75262
|
+
y: commonY
|
|
75263
|
+
};
|
|
75264
|
+
break;
|
|
75265
|
+
default:
|
|
75266
|
+
coords = {
|
|
75267
|
+
x: reference.x,
|
|
75268
|
+
y: reference.y
|
|
75269
|
+
};
|
|
75270
|
+
}
|
|
75271
|
+
switch (getAlignment(placement)) {
|
|
75272
|
+
case 'start':
|
|
75273
|
+
coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);
|
|
75274
|
+
break;
|
|
75275
|
+
case 'end':
|
|
75276
|
+
coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);
|
|
75277
|
+
break;
|
|
75278
|
+
}
|
|
75279
|
+
return coords;
|
|
75280
|
+
}
|
|
75281
|
+
|
|
75282
|
+
/**
|
|
75283
|
+
* Computes the `x` and `y` coordinates that will place the floating element
|
|
75284
|
+
* next to a reference element when it is given a certain positioning strategy.
|
|
75285
|
+
*
|
|
75286
|
+
* This export does not have any `platform` interface logic. You will need to
|
|
75287
|
+
* write one for the platform you are using Floating UI with.
|
|
75288
|
+
*/
|
|
75289
|
+
const computePosition$1 = async (reference, floating, config) => {
|
|
75290
|
+
const {
|
|
75291
|
+
placement = 'bottom',
|
|
75292
|
+
strategy = 'absolute',
|
|
75293
|
+
middleware = [],
|
|
75294
|
+
platform
|
|
75295
|
+
} = config;
|
|
75296
|
+
const validMiddleware = middleware.filter(Boolean);
|
|
75297
|
+
const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));
|
|
75298
|
+
let rects = await platform.getElementRects({
|
|
75299
|
+
reference,
|
|
75300
|
+
floating,
|
|
75301
|
+
strategy
|
|
75302
|
+
});
|
|
75303
|
+
let {
|
|
75304
|
+
x,
|
|
75305
|
+
y
|
|
75306
|
+
} = computeCoordsFromPlacement(rects, placement, rtl);
|
|
75307
|
+
let statefulPlacement = placement;
|
|
75308
|
+
let middlewareData = {};
|
|
75309
|
+
let resetCount = 0;
|
|
75310
|
+
for (let i = 0; i < validMiddleware.length; i++) {
|
|
75311
|
+
const {
|
|
75312
|
+
name,
|
|
75313
|
+
fn
|
|
75314
|
+
} = validMiddleware[i];
|
|
75315
|
+
const {
|
|
75316
|
+
x: nextX,
|
|
75317
|
+
y: nextY,
|
|
75318
|
+
data,
|
|
75319
|
+
reset
|
|
75320
|
+
} = await fn({
|
|
75321
|
+
x,
|
|
75322
|
+
y,
|
|
75323
|
+
initialPlacement: placement,
|
|
75324
|
+
placement: statefulPlacement,
|
|
75325
|
+
strategy,
|
|
75326
|
+
middlewareData,
|
|
75327
|
+
rects,
|
|
75328
|
+
platform,
|
|
75329
|
+
elements: {
|
|
75330
|
+
reference,
|
|
75331
|
+
floating
|
|
75332
|
+
}
|
|
75333
|
+
});
|
|
75334
|
+
x = nextX != null ? nextX : x;
|
|
75335
|
+
y = nextY != null ? nextY : y;
|
|
75336
|
+
middlewareData = {
|
|
75337
|
+
...middlewareData,
|
|
75338
|
+
[name]: {
|
|
75339
|
+
...middlewareData[name],
|
|
75340
|
+
...data
|
|
75341
|
+
}
|
|
75342
|
+
};
|
|
75343
|
+
if (reset && resetCount <= 50) {
|
|
75344
|
+
resetCount++;
|
|
75345
|
+
if (typeof reset === 'object') {
|
|
75346
|
+
if (reset.placement) {
|
|
75347
|
+
statefulPlacement = reset.placement;
|
|
75348
|
+
}
|
|
75349
|
+
if (reset.rects) {
|
|
75350
|
+
rects = reset.rects === true ? await platform.getElementRects({
|
|
75351
|
+
reference,
|
|
75352
|
+
floating,
|
|
75353
|
+
strategy
|
|
75354
|
+
}) : reset.rects;
|
|
75355
|
+
}
|
|
75356
|
+
({
|
|
75357
|
+
x,
|
|
75358
|
+
y
|
|
75359
|
+
} = computeCoordsFromPlacement(rects, statefulPlacement, rtl));
|
|
75360
|
+
}
|
|
75361
|
+
i = -1;
|
|
75362
|
+
continue;
|
|
75363
|
+
}
|
|
75364
|
+
}
|
|
75365
|
+
return {
|
|
75366
|
+
x,
|
|
75367
|
+
y,
|
|
75368
|
+
placement: statefulPlacement,
|
|
75369
|
+
strategy,
|
|
75370
|
+
middlewareData
|
|
75371
|
+
};
|
|
75372
|
+
};
|
|
75373
|
+
|
|
75374
|
+
/**
|
|
75375
|
+
* Resolves with an object of overflow side offsets that determine how much the
|
|
75376
|
+
* element is overflowing a given clipping boundary on each side.
|
|
75377
|
+
* - positive = overflowing the boundary by that number of pixels
|
|
75378
|
+
* - negative = how many pixels left before it will overflow
|
|
75379
|
+
* - 0 = lies flush with the boundary
|
|
75380
|
+
* @see https://floating-ui.com/docs/detectOverflow
|
|
75381
|
+
*/
|
|
75382
|
+
async function detectOverflow(state, options) {
|
|
75383
|
+
var _await$platform$isEle;
|
|
75384
|
+
if (options === void 0) {
|
|
75385
|
+
options = {};
|
|
75386
|
+
}
|
|
75387
|
+
const {
|
|
75388
|
+
x,
|
|
75389
|
+
y,
|
|
75390
|
+
platform,
|
|
75391
|
+
rects,
|
|
75392
|
+
elements,
|
|
75393
|
+
strategy
|
|
75394
|
+
} = state;
|
|
75395
|
+
const {
|
|
75396
|
+
boundary = 'clippingAncestors',
|
|
75397
|
+
rootBoundary = 'viewport',
|
|
75398
|
+
elementContext = 'floating',
|
|
75399
|
+
altBoundary = false,
|
|
75400
|
+
padding = 0
|
|
75401
|
+
} = evaluate(options, state);
|
|
75402
|
+
const paddingObject = getPaddingObject(padding);
|
|
75403
|
+
const altContext = elementContext === 'floating' ? 'reference' : 'floating';
|
|
75404
|
+
const element = elements[altBoundary ? altContext : elementContext];
|
|
75405
|
+
const clippingClientRect = rectToClientRect(await platform.getClippingRect({
|
|
75406
|
+
element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),
|
|
75407
|
+
boundary,
|
|
75408
|
+
rootBoundary,
|
|
75409
|
+
strategy
|
|
75410
|
+
}));
|
|
75411
|
+
const rect = elementContext === 'floating' ? {
|
|
75412
|
+
...rects.floating,
|
|
75413
|
+
x,
|
|
75414
|
+
y
|
|
75415
|
+
} : rects.reference;
|
|
75416
|
+
const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));
|
|
75417
|
+
const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {
|
|
75418
|
+
x: 1,
|
|
75419
|
+
y: 1
|
|
75420
|
+
} : {
|
|
75421
|
+
x: 1,
|
|
75422
|
+
y: 1
|
|
75423
|
+
};
|
|
75424
|
+
const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({
|
|
75425
|
+
rect,
|
|
75426
|
+
offsetParent,
|
|
75427
|
+
strategy
|
|
75428
|
+
}) : rect);
|
|
75429
|
+
return {
|
|
75430
|
+
top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
|
|
75431
|
+
bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
|
|
75432
|
+
left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
|
|
75433
|
+
right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
|
|
75434
|
+
};
|
|
75435
|
+
}
|
|
75436
|
+
|
|
75437
|
+
/**
|
|
75438
|
+
* Optimizes the visibility of the floating element by flipping the `placement`
|
|
75439
|
+
* in order to keep it in view when the preferred placement(s) will overflow the
|
|
75440
|
+
* clipping boundary. Alternative to `autoPlacement`.
|
|
75441
|
+
* @see https://floating-ui.com/docs/flip
|
|
75442
|
+
*/
|
|
75443
|
+
const flip$1 = function (options) {
|
|
75444
|
+
if (options === void 0) {
|
|
75445
|
+
options = {};
|
|
75446
|
+
}
|
|
75447
|
+
return {
|
|
75448
|
+
name: 'flip',
|
|
75449
|
+
options,
|
|
75450
|
+
async fn(state) {
|
|
75451
|
+
var _middlewareData$arrow, _middlewareData$flip;
|
|
75452
|
+
const {
|
|
75453
|
+
placement,
|
|
75454
|
+
middlewareData,
|
|
75455
|
+
rects,
|
|
75456
|
+
initialPlacement,
|
|
75457
|
+
platform,
|
|
75458
|
+
elements
|
|
75459
|
+
} = state;
|
|
75460
|
+
const {
|
|
75461
|
+
mainAxis: checkMainAxis = true,
|
|
75462
|
+
crossAxis: checkCrossAxis = true,
|
|
75463
|
+
fallbackPlacements: specifiedFallbackPlacements,
|
|
75464
|
+
fallbackStrategy = 'bestFit',
|
|
75465
|
+
fallbackAxisSideDirection = 'none',
|
|
75466
|
+
flipAlignment = true,
|
|
75467
|
+
...detectOverflowOptions
|
|
75468
|
+
} = evaluate(options, state);
|
|
75469
|
+
|
|
75470
|
+
// If a reset by the arrow was caused due to an alignment offset being
|
|
75471
|
+
// added, we should skip any logic now since `flip()` has already done its
|
|
75472
|
+
// work.
|
|
75473
|
+
// https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643
|
|
75474
|
+
if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
|
|
75475
|
+
return {};
|
|
75476
|
+
}
|
|
75477
|
+
const side = getSide(placement);
|
|
75478
|
+
const isBasePlacement = getSide(initialPlacement) === initialPlacement;
|
|
75479
|
+
const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
|
|
75480
|
+
const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));
|
|
75481
|
+
if (!specifiedFallbackPlacements && fallbackAxisSideDirection !== 'none') {
|
|
75482
|
+
fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
|
|
75483
|
+
}
|
|
75484
|
+
const placements = [initialPlacement, ...fallbackPlacements];
|
|
75485
|
+
const overflow = await detectOverflow(state, detectOverflowOptions);
|
|
75486
|
+
const overflows = [];
|
|
75487
|
+
let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];
|
|
75488
|
+
if (checkMainAxis) {
|
|
75489
|
+
overflows.push(overflow[side]);
|
|
75490
|
+
}
|
|
75491
|
+
if (checkCrossAxis) {
|
|
75492
|
+
const sides = getAlignmentSides(placement, rects, rtl);
|
|
75493
|
+
overflows.push(overflow[sides[0]], overflow[sides[1]]);
|
|
75494
|
+
}
|
|
75495
|
+
overflowsData = [...overflowsData, {
|
|
75496
|
+
placement,
|
|
75497
|
+
overflows
|
|
75498
|
+
}];
|
|
75499
|
+
|
|
75500
|
+
// One or more sides is overflowing.
|
|
75501
|
+
if (!overflows.every(side => side <= 0)) {
|
|
75502
|
+
var _middlewareData$flip2, _overflowsData$filter;
|
|
75503
|
+
const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
|
|
75504
|
+
const nextPlacement = placements[nextIndex];
|
|
75505
|
+
if (nextPlacement) {
|
|
75506
|
+
// Try next placement and re-run the lifecycle.
|
|
75507
|
+
return {
|
|
75508
|
+
data: {
|
|
75509
|
+
index: nextIndex,
|
|
75510
|
+
overflows: overflowsData
|
|
75511
|
+
},
|
|
75512
|
+
reset: {
|
|
75513
|
+
placement: nextPlacement
|
|
75514
|
+
}
|
|
75515
|
+
};
|
|
75516
|
+
}
|
|
75517
|
+
|
|
75518
|
+
// First, find the candidates that fit on the mainAxis side of overflow,
|
|
75519
|
+
// then find the placement that fits the best on the main crossAxis side.
|
|
75520
|
+
let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;
|
|
75521
|
+
|
|
75522
|
+
// Otherwise fallback.
|
|
75523
|
+
if (!resetPlacement) {
|
|
75524
|
+
switch (fallbackStrategy) {
|
|
75525
|
+
case 'bestFit':
|
|
75526
|
+
{
|
|
75527
|
+
var _overflowsData$map$so;
|
|
75528
|
+
const placement = (_overflowsData$map$so = overflowsData.map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$map$so[0];
|
|
75529
|
+
if (placement) {
|
|
75530
|
+
resetPlacement = placement;
|
|
75531
|
+
}
|
|
75532
|
+
break;
|
|
75533
|
+
}
|
|
75534
|
+
case 'initialPlacement':
|
|
75535
|
+
resetPlacement = initialPlacement;
|
|
75536
|
+
break;
|
|
75537
|
+
}
|
|
75538
|
+
}
|
|
75539
|
+
if (placement !== resetPlacement) {
|
|
75540
|
+
return {
|
|
75541
|
+
reset: {
|
|
75542
|
+
placement: resetPlacement
|
|
75543
|
+
}
|
|
75544
|
+
};
|
|
75545
|
+
}
|
|
75546
|
+
}
|
|
75547
|
+
return {};
|
|
75548
|
+
}
|
|
75549
|
+
};
|
|
75550
|
+
};
|
|
75551
|
+
|
|
75552
|
+
// For type backwards-compatibility, the `OffsetOptions` type was also
|
|
75553
|
+
// Derivable.
|
|
75554
|
+
async function convertValueToCoords(state, options) {
|
|
75555
|
+
const {
|
|
75556
|
+
placement,
|
|
75557
|
+
platform,
|
|
75558
|
+
elements
|
|
75559
|
+
} = state;
|
|
75560
|
+
const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
|
|
75561
|
+
const side = getSide(placement);
|
|
75562
|
+
const alignment = getAlignment(placement);
|
|
75563
|
+
const isVertical = getSideAxis(placement) === 'y';
|
|
75564
|
+
const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;
|
|
75565
|
+
const crossAxisMulti = rtl && isVertical ? -1 : 1;
|
|
75566
|
+
const rawValue = evaluate(options, state);
|
|
75567
|
+
|
|
75568
|
+
// eslint-disable-next-line prefer-const
|
|
75569
|
+
let {
|
|
75570
|
+
mainAxis,
|
|
75571
|
+
crossAxis,
|
|
75572
|
+
alignmentAxis
|
|
75573
|
+
} = typeof rawValue === 'number' ? {
|
|
75574
|
+
mainAxis: rawValue,
|
|
75575
|
+
crossAxis: 0,
|
|
75576
|
+
alignmentAxis: null
|
|
75577
|
+
} : {
|
|
75578
|
+
mainAxis: 0,
|
|
75579
|
+
crossAxis: 0,
|
|
75580
|
+
alignmentAxis: null,
|
|
75581
|
+
...rawValue
|
|
75582
|
+
};
|
|
75583
|
+
if (alignment && typeof alignmentAxis === 'number') {
|
|
75584
|
+
crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;
|
|
75585
|
+
}
|
|
75586
|
+
return isVertical ? {
|
|
75587
|
+
x: crossAxis * crossAxisMulti,
|
|
75588
|
+
y: mainAxis * mainAxisMulti
|
|
75589
|
+
} : {
|
|
75590
|
+
x: mainAxis * mainAxisMulti,
|
|
75591
|
+
y: crossAxis * crossAxisMulti
|
|
75592
|
+
};
|
|
75593
|
+
}
|
|
75594
|
+
|
|
75595
|
+
/**
|
|
75596
|
+
* Modifies the placement by translating the floating element along the
|
|
75597
|
+
* specified axes.
|
|
75598
|
+
* A number (shorthand for `mainAxis` or distance), or an axes configuration
|
|
75599
|
+
* object may be passed.
|
|
75600
|
+
* @see https://floating-ui.com/docs/offset
|
|
75601
|
+
*/
|
|
75602
|
+
const offset$1 = function (options) {
|
|
75603
|
+
if (options === void 0) {
|
|
75604
|
+
options = 0;
|
|
75605
|
+
}
|
|
75606
|
+
return {
|
|
75607
|
+
name: 'offset',
|
|
75608
|
+
options,
|
|
75609
|
+
async fn(state) {
|
|
75610
|
+
const {
|
|
75611
|
+
x,
|
|
75612
|
+
y
|
|
75613
|
+
} = state;
|
|
75614
|
+
const diffCoords = await convertValueToCoords(state, options);
|
|
75615
|
+
return {
|
|
75616
|
+
x: x + diffCoords.x,
|
|
75617
|
+
y: y + diffCoords.y,
|
|
75618
|
+
data: diffCoords
|
|
75619
|
+
};
|
|
75620
|
+
}
|
|
75621
|
+
};
|
|
75622
|
+
};
|
|
75623
|
+
|
|
75624
|
+
/**
|
|
75625
|
+
* Optimizes the visibility of the floating element by shifting it in order to
|
|
75626
|
+
* keep it in view when it will overflow the clipping boundary.
|
|
75627
|
+
* @see https://floating-ui.com/docs/shift
|
|
75628
|
+
*/
|
|
75629
|
+
const shift$1 = function (options) {
|
|
75630
|
+
if (options === void 0) {
|
|
75631
|
+
options = {};
|
|
75632
|
+
}
|
|
75633
|
+
return {
|
|
75634
|
+
name: 'shift',
|
|
75635
|
+
options,
|
|
75636
|
+
async fn(state) {
|
|
75637
|
+
const {
|
|
75638
|
+
x,
|
|
75639
|
+
y,
|
|
75640
|
+
placement
|
|
75641
|
+
} = state;
|
|
75642
|
+
const {
|
|
75643
|
+
mainAxis: checkMainAxis = true,
|
|
75644
|
+
crossAxis: checkCrossAxis = false,
|
|
75645
|
+
limiter = {
|
|
75646
|
+
fn: _ref => {
|
|
75647
|
+
let {
|
|
75648
|
+
x,
|
|
75649
|
+
y
|
|
75650
|
+
} = _ref;
|
|
75651
|
+
return {
|
|
75652
|
+
x,
|
|
75653
|
+
y
|
|
75654
|
+
};
|
|
75655
|
+
}
|
|
75656
|
+
},
|
|
75657
|
+
...detectOverflowOptions
|
|
75658
|
+
} = evaluate(options, state);
|
|
75659
|
+
const coords = {
|
|
75660
|
+
x,
|
|
75661
|
+
y
|
|
75662
|
+
};
|
|
75663
|
+
const overflow = await detectOverflow(state, detectOverflowOptions);
|
|
75664
|
+
const crossAxis = getSideAxis(getSide(placement));
|
|
75665
|
+
const mainAxis = getOppositeAxis(crossAxis);
|
|
75666
|
+
let mainAxisCoord = coords[mainAxis];
|
|
75667
|
+
let crossAxisCoord = coords[crossAxis];
|
|
75668
|
+
if (checkMainAxis) {
|
|
75669
|
+
const minSide = mainAxis === 'y' ? 'top' : 'left';
|
|
75670
|
+
const maxSide = mainAxis === 'y' ? 'bottom' : 'right';
|
|
75671
|
+
const min = mainAxisCoord + overflow[minSide];
|
|
75672
|
+
const max = mainAxisCoord - overflow[maxSide];
|
|
75673
|
+
mainAxisCoord = clamp(min, mainAxisCoord, max);
|
|
75674
|
+
}
|
|
75675
|
+
if (checkCrossAxis) {
|
|
75676
|
+
const minSide = crossAxis === 'y' ? 'top' : 'left';
|
|
75677
|
+
const maxSide = crossAxis === 'y' ? 'bottom' : 'right';
|
|
75678
|
+
const min = crossAxisCoord + overflow[minSide];
|
|
75679
|
+
const max = crossAxisCoord - overflow[maxSide];
|
|
75680
|
+
crossAxisCoord = clamp(min, crossAxisCoord, max);
|
|
75681
|
+
}
|
|
75682
|
+
const limitedCoords = limiter.fn({
|
|
75683
|
+
...state,
|
|
75684
|
+
[mainAxis]: mainAxisCoord,
|
|
75685
|
+
[crossAxis]: crossAxisCoord
|
|
75686
|
+
});
|
|
75687
|
+
return {
|
|
75688
|
+
...limitedCoords,
|
|
75689
|
+
data: {
|
|
75690
|
+
x: limitedCoords.x - x,
|
|
75691
|
+
y: limitedCoords.y - y
|
|
75692
|
+
}
|
|
75693
|
+
};
|
|
75694
|
+
}
|
|
75695
|
+
};
|
|
75696
|
+
};
|
|
75697
|
+
|
|
75698
|
+
/**
|
|
75699
|
+
* Provides data that allows you to change the size of the floating element —
|
|
75700
|
+
* for instance, prevent it from overflowing the clipping boundary or match the
|
|
75701
|
+
* width of the reference element.
|
|
75702
|
+
* @see https://floating-ui.com/docs/size
|
|
75703
|
+
*/
|
|
75704
|
+
const size$1 = function (options) {
|
|
75705
|
+
if (options === void 0) {
|
|
75706
|
+
options = {};
|
|
75707
|
+
}
|
|
75708
|
+
return {
|
|
75709
|
+
name: 'size',
|
|
75710
|
+
options,
|
|
75711
|
+
async fn(state) {
|
|
75712
|
+
const {
|
|
75713
|
+
placement,
|
|
75714
|
+
rects,
|
|
75715
|
+
platform,
|
|
75716
|
+
elements
|
|
75717
|
+
} = state;
|
|
75718
|
+
const {
|
|
75719
|
+
apply = () => {},
|
|
75720
|
+
...detectOverflowOptions
|
|
75721
|
+
} = evaluate(options, state);
|
|
75722
|
+
const overflow = await detectOverflow(state, detectOverflowOptions);
|
|
75723
|
+
const side = getSide(placement);
|
|
75724
|
+
const alignment = getAlignment(placement);
|
|
75725
|
+
const isYAxis = getSideAxis(placement) === 'y';
|
|
75726
|
+
const {
|
|
75727
|
+
width,
|
|
75728
|
+
height
|
|
75729
|
+
} = rects.floating;
|
|
75730
|
+
let heightSide;
|
|
75731
|
+
let widthSide;
|
|
75732
|
+
if (side === 'top' || side === 'bottom') {
|
|
75733
|
+
heightSide = side;
|
|
75734
|
+
widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';
|
|
75735
|
+
} else {
|
|
75736
|
+
widthSide = side;
|
|
75737
|
+
heightSide = alignment === 'end' ? 'top' : 'bottom';
|
|
75738
|
+
}
|
|
75739
|
+
const overflowAvailableHeight = height - overflow[heightSide];
|
|
75740
|
+
const overflowAvailableWidth = width - overflow[widthSide];
|
|
75741
|
+
const noShift = !state.middlewareData.shift;
|
|
75742
|
+
let availableHeight = overflowAvailableHeight;
|
|
75743
|
+
let availableWidth = overflowAvailableWidth;
|
|
75744
|
+
if (isYAxis) {
|
|
75745
|
+
const maximumClippingWidth = width - overflow.left - overflow.right;
|
|
75746
|
+
availableWidth = alignment || noShift ? min(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth;
|
|
75747
|
+
} else {
|
|
75748
|
+
const maximumClippingHeight = height - overflow.top - overflow.bottom;
|
|
75749
|
+
availableHeight = alignment || noShift ? min(overflowAvailableHeight, maximumClippingHeight) : maximumClippingHeight;
|
|
75750
|
+
}
|
|
75751
|
+
if (noShift && !alignment) {
|
|
75752
|
+
const xMin = max(overflow.left, 0);
|
|
75753
|
+
const xMax = max(overflow.right, 0);
|
|
75754
|
+
const yMin = max(overflow.top, 0);
|
|
75755
|
+
const yMax = max(overflow.bottom, 0);
|
|
75756
|
+
if (isYAxis) {
|
|
75757
|
+
availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));
|
|
75758
|
+
} else {
|
|
75759
|
+
availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));
|
|
75760
|
+
}
|
|
75761
|
+
}
|
|
75762
|
+
await apply({
|
|
75763
|
+
...state,
|
|
75764
|
+
availableWidth,
|
|
75765
|
+
availableHeight
|
|
75766
|
+
});
|
|
75767
|
+
const nextDimensions = await platform.getDimensions(elements.floating);
|
|
75768
|
+
if (width !== nextDimensions.width || height !== nextDimensions.height) {
|
|
75769
|
+
return {
|
|
75770
|
+
reset: {
|
|
75771
|
+
rects: true
|
|
75772
|
+
}
|
|
75773
|
+
};
|
|
75774
|
+
}
|
|
75775
|
+
return {};
|
|
75776
|
+
}
|
|
75777
|
+
};
|
|
75778
|
+
};
|
|
75779
|
+
|
|
75780
|
+
function getNodeName(node) {
|
|
75781
|
+
if (isNode(node)) {
|
|
75782
|
+
return (node.nodeName || '').toLowerCase();
|
|
75783
|
+
}
|
|
75784
|
+
// Mocked nodes in testing environments may not be instances of Node. By
|
|
75785
|
+
// returning `#document` an infinite loop won't occur.
|
|
75786
|
+
// https://github.com/floating-ui/floating-ui/issues/2317
|
|
75787
|
+
return '#document';
|
|
75788
|
+
}
|
|
75789
|
+
function getWindow(node) {
|
|
75790
|
+
var _node$ownerDocument;
|
|
75791
|
+
return (node == null ? void 0 : (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
|
|
75792
|
+
}
|
|
75793
|
+
function getDocumentElement(node) {
|
|
75794
|
+
var _ref;
|
|
75795
|
+
return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;
|
|
75796
|
+
}
|
|
75797
|
+
function isNode(value) {
|
|
75798
|
+
return value instanceof Node || value instanceof getWindow(value).Node;
|
|
75799
|
+
}
|
|
75800
|
+
function isElement(value) {
|
|
75801
|
+
return value instanceof Element || value instanceof getWindow(value).Element;
|
|
75802
|
+
}
|
|
75803
|
+
function isHTMLElement(value) {
|
|
75804
|
+
return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;
|
|
75805
|
+
}
|
|
75806
|
+
function isShadowRoot(value) {
|
|
75807
|
+
// Browsers without `ShadowRoot` support.
|
|
75808
|
+
if (typeof ShadowRoot === 'undefined') {
|
|
75809
|
+
return false;
|
|
75810
|
+
}
|
|
75811
|
+
return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
|
|
75812
|
+
}
|
|
75813
|
+
function isOverflowElement(element) {
|
|
75814
|
+
const {
|
|
75815
|
+
overflow,
|
|
75816
|
+
overflowX,
|
|
75817
|
+
overflowY,
|
|
75818
|
+
display
|
|
75819
|
+
} = getComputedStyle$1(element);
|
|
75820
|
+
return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);
|
|
75821
|
+
}
|
|
75822
|
+
function isTableElement(element) {
|
|
75823
|
+
return ['table', 'td', 'th'].includes(getNodeName(element));
|
|
75824
|
+
}
|
|
75825
|
+
function isContainingBlock(element) {
|
|
75826
|
+
const webkit = isWebKit();
|
|
75827
|
+
const css = getComputedStyle$1(element);
|
|
75828
|
+
|
|
75829
|
+
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
|
|
75830
|
+
return css.transform !== 'none' || css.perspective !== 'none' || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));
|
|
75831
|
+
}
|
|
75832
|
+
function getContainingBlock(element) {
|
|
75833
|
+
let currentNode = getParentNode(element);
|
|
75834
|
+
while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {
|
|
75835
|
+
if (isContainingBlock(currentNode)) {
|
|
75836
|
+
return currentNode;
|
|
75837
|
+
} else {
|
|
75838
|
+
currentNode = getParentNode(currentNode);
|
|
75839
|
+
}
|
|
75840
|
+
}
|
|
75841
|
+
return null;
|
|
75842
|
+
}
|
|
75843
|
+
function isWebKit() {
|
|
75844
|
+
if (typeof CSS === 'undefined' || !CSS.supports) return false;
|
|
75845
|
+
return CSS.supports('-webkit-backdrop-filter', 'none');
|
|
75846
|
+
}
|
|
75847
|
+
function isLastTraversableNode(node) {
|
|
75848
|
+
return ['html', 'body', '#document'].includes(getNodeName(node));
|
|
75849
|
+
}
|
|
75850
|
+
function getComputedStyle$1(element) {
|
|
75851
|
+
return getWindow(element).getComputedStyle(element);
|
|
75852
|
+
}
|
|
75853
|
+
function getNodeScroll(element) {
|
|
75854
|
+
if (isElement(element)) {
|
|
75855
|
+
return {
|
|
75856
|
+
scrollLeft: element.scrollLeft,
|
|
75857
|
+
scrollTop: element.scrollTop
|
|
75858
|
+
};
|
|
75859
|
+
}
|
|
75860
|
+
return {
|
|
75861
|
+
scrollLeft: element.pageXOffset,
|
|
75862
|
+
scrollTop: element.pageYOffset
|
|
75863
|
+
};
|
|
75864
|
+
}
|
|
75865
|
+
function getParentNode(node) {
|
|
75866
|
+
if (getNodeName(node) === 'html') {
|
|
75867
|
+
return node;
|
|
75868
|
+
}
|
|
75869
|
+
const result =
|
|
75870
|
+
// Step into the shadow DOM of the parent of a slotted node.
|
|
75871
|
+
node.assignedSlot ||
|
|
75872
|
+
// DOM Element detected.
|
|
75873
|
+
node.parentNode ||
|
|
75874
|
+
// ShadowRoot detected.
|
|
75875
|
+
isShadowRoot(node) && node.host ||
|
|
75876
|
+
// Fallback.
|
|
75877
|
+
getDocumentElement(node);
|
|
75878
|
+
return isShadowRoot(result) ? result.host : result;
|
|
75879
|
+
}
|
|
75880
|
+
function getNearestOverflowAncestor(node) {
|
|
75881
|
+
const parentNode = getParentNode(node);
|
|
75882
|
+
if (isLastTraversableNode(parentNode)) {
|
|
75883
|
+
return node.ownerDocument ? node.ownerDocument.body : node.body;
|
|
75884
|
+
}
|
|
75885
|
+
if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {
|
|
75886
|
+
return parentNode;
|
|
75887
|
+
}
|
|
75888
|
+
return getNearestOverflowAncestor(parentNode);
|
|
75889
|
+
}
|
|
75890
|
+
function getOverflowAncestors(node, list, traverseIframes) {
|
|
75891
|
+
var _node$ownerDocument2;
|
|
75892
|
+
if (list === void 0) {
|
|
75893
|
+
list = [];
|
|
75894
|
+
}
|
|
75895
|
+
if (traverseIframes === void 0) {
|
|
75896
|
+
traverseIframes = true;
|
|
75897
|
+
}
|
|
75898
|
+
const scrollableAncestor = getNearestOverflowAncestor(node);
|
|
75899
|
+
const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);
|
|
75900
|
+
const win = getWindow(scrollableAncestor);
|
|
75901
|
+
if (isBody) {
|
|
75902
|
+
return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], win.frameElement && traverseIframes ? getOverflowAncestors(win.frameElement) : []);
|
|
75903
|
+
}
|
|
75904
|
+
return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
|
|
75905
|
+
}
|
|
75906
|
+
|
|
75907
|
+
function getCssDimensions(element) {
|
|
75908
|
+
const css = getComputedStyle$1(element);
|
|
75909
|
+
// In testing environments, the `width` and `height` properties are empty
|
|
75910
|
+
// strings for SVG elements, returning NaN. Fallback to `0` in this case.
|
|
75911
|
+
let width = parseFloat(css.width) || 0;
|
|
75912
|
+
let height = parseFloat(css.height) || 0;
|
|
75913
|
+
const hasOffset = isHTMLElement(element);
|
|
75914
|
+
const offsetWidth = hasOffset ? element.offsetWidth : width;
|
|
75915
|
+
const offsetHeight = hasOffset ? element.offsetHeight : height;
|
|
75916
|
+
const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;
|
|
75917
|
+
if (shouldFallback) {
|
|
75918
|
+
width = offsetWidth;
|
|
75919
|
+
height = offsetHeight;
|
|
75920
|
+
}
|
|
75921
|
+
return {
|
|
75922
|
+
width,
|
|
75923
|
+
height,
|
|
75924
|
+
$: shouldFallback
|
|
75925
|
+
};
|
|
75926
|
+
}
|
|
75927
|
+
|
|
75928
|
+
function unwrapElement(element) {
|
|
75929
|
+
return !isElement(element) ? element.contextElement : element;
|
|
75930
|
+
}
|
|
75931
|
+
|
|
75932
|
+
function getScale(element) {
|
|
75933
|
+
const domElement = unwrapElement(element);
|
|
75934
|
+
if (!isHTMLElement(domElement)) {
|
|
75935
|
+
return createCoords(1);
|
|
75936
|
+
}
|
|
75937
|
+
const rect = domElement.getBoundingClientRect();
|
|
75938
|
+
const {
|
|
75939
|
+
width,
|
|
75940
|
+
height,
|
|
75941
|
+
$
|
|
75942
|
+
} = getCssDimensions(domElement);
|
|
75943
|
+
let x = ($ ? round(rect.width) : rect.width) / width;
|
|
75944
|
+
let y = ($ ? round(rect.height) : rect.height) / height;
|
|
75945
|
+
|
|
75946
|
+
// 0, NaN, or Infinity should always fallback to 1.
|
|
75947
|
+
|
|
75948
|
+
if (!x || !Number.isFinite(x)) {
|
|
75949
|
+
x = 1;
|
|
75950
|
+
}
|
|
75951
|
+
if (!y || !Number.isFinite(y)) {
|
|
75952
|
+
y = 1;
|
|
75953
|
+
}
|
|
75954
|
+
return {
|
|
75955
|
+
x,
|
|
75956
|
+
y
|
|
75957
|
+
};
|
|
75958
|
+
}
|
|
75959
|
+
|
|
75960
|
+
const noOffsets = /*#__PURE__*/createCoords(0);
|
|
75961
|
+
function getVisualOffsets(element) {
|
|
75962
|
+
const win = getWindow(element);
|
|
75963
|
+
if (!isWebKit() || !win.visualViewport) {
|
|
75964
|
+
return noOffsets;
|
|
75965
|
+
}
|
|
75966
|
+
return {
|
|
75967
|
+
x: win.visualViewport.offsetLeft,
|
|
75968
|
+
y: win.visualViewport.offsetTop
|
|
75969
|
+
};
|
|
75970
|
+
}
|
|
75971
|
+
function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
|
|
75972
|
+
if (isFixed === void 0) {
|
|
75973
|
+
isFixed = false;
|
|
75974
|
+
}
|
|
75975
|
+
if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {
|
|
75976
|
+
return false;
|
|
75977
|
+
}
|
|
75978
|
+
return isFixed;
|
|
75979
|
+
}
|
|
75980
|
+
|
|
75981
|
+
function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
|
|
75982
|
+
if (includeScale === void 0) {
|
|
75983
|
+
includeScale = false;
|
|
75984
|
+
}
|
|
75985
|
+
if (isFixedStrategy === void 0) {
|
|
75986
|
+
isFixedStrategy = false;
|
|
75987
|
+
}
|
|
75988
|
+
const clientRect = element.getBoundingClientRect();
|
|
75989
|
+
const domElement = unwrapElement(element);
|
|
75990
|
+
let scale = createCoords(1);
|
|
75991
|
+
if (includeScale) {
|
|
75992
|
+
if (offsetParent) {
|
|
75993
|
+
if (isElement(offsetParent)) {
|
|
75994
|
+
scale = getScale(offsetParent);
|
|
75995
|
+
}
|
|
75996
|
+
} else {
|
|
75997
|
+
scale = getScale(element);
|
|
75998
|
+
}
|
|
75999
|
+
}
|
|
76000
|
+
const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);
|
|
76001
|
+
let x = (clientRect.left + visualOffsets.x) / scale.x;
|
|
76002
|
+
let y = (clientRect.top + visualOffsets.y) / scale.y;
|
|
76003
|
+
let width = clientRect.width / scale.x;
|
|
76004
|
+
let height = clientRect.height / scale.y;
|
|
76005
|
+
if (domElement) {
|
|
76006
|
+
const win = getWindow(domElement);
|
|
76007
|
+
const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
|
|
76008
|
+
let currentIFrame = win.frameElement;
|
|
76009
|
+
while (currentIFrame && offsetParent && offsetWin !== win) {
|
|
76010
|
+
const iframeScale = getScale(currentIFrame);
|
|
76011
|
+
const iframeRect = currentIFrame.getBoundingClientRect();
|
|
76012
|
+
const css = getComputedStyle$1(currentIFrame);
|
|
76013
|
+
const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;
|
|
76014
|
+
const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;
|
|
76015
|
+
x *= iframeScale.x;
|
|
76016
|
+
y *= iframeScale.y;
|
|
76017
|
+
width *= iframeScale.x;
|
|
76018
|
+
height *= iframeScale.y;
|
|
76019
|
+
x += left;
|
|
76020
|
+
y += top;
|
|
76021
|
+
currentIFrame = getWindow(currentIFrame).frameElement;
|
|
76022
|
+
}
|
|
76023
|
+
}
|
|
76024
|
+
return rectToClientRect({
|
|
76025
|
+
width,
|
|
76026
|
+
height,
|
|
76027
|
+
x,
|
|
76028
|
+
y
|
|
76029
|
+
});
|
|
76030
|
+
}
|
|
76031
|
+
|
|
76032
|
+
function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
|
|
76033
|
+
let {
|
|
76034
|
+
rect,
|
|
76035
|
+
offsetParent,
|
|
76036
|
+
strategy
|
|
76037
|
+
} = _ref;
|
|
76038
|
+
const isOffsetParentAnElement = isHTMLElement(offsetParent);
|
|
76039
|
+
const documentElement = getDocumentElement(offsetParent);
|
|
76040
|
+
if (offsetParent === documentElement) {
|
|
76041
|
+
return rect;
|
|
76042
|
+
}
|
|
76043
|
+
let scroll = {
|
|
76044
|
+
scrollLeft: 0,
|
|
76045
|
+
scrollTop: 0
|
|
76046
|
+
};
|
|
76047
|
+
let scale = createCoords(1);
|
|
76048
|
+
const offsets = createCoords(0);
|
|
76049
|
+
if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {
|
|
76050
|
+
if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
|
|
76051
|
+
scroll = getNodeScroll(offsetParent);
|
|
76052
|
+
}
|
|
76053
|
+
if (isHTMLElement(offsetParent)) {
|
|
76054
|
+
const offsetRect = getBoundingClientRect(offsetParent);
|
|
76055
|
+
scale = getScale(offsetParent);
|
|
76056
|
+
offsets.x = offsetRect.x + offsetParent.clientLeft;
|
|
76057
|
+
offsets.y = offsetRect.y + offsetParent.clientTop;
|
|
76058
|
+
}
|
|
76059
|
+
}
|
|
76060
|
+
return {
|
|
76061
|
+
width: rect.width * scale.x,
|
|
76062
|
+
height: rect.height * scale.y,
|
|
76063
|
+
x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x,
|
|
76064
|
+
y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y
|
|
76065
|
+
};
|
|
76066
|
+
}
|
|
76067
|
+
|
|
76068
|
+
function getClientRects(element) {
|
|
76069
|
+
return Array.from(element.getClientRects());
|
|
76070
|
+
}
|
|
76071
|
+
|
|
76072
|
+
function getWindowScrollBarX(element) {
|
|
76073
|
+
// If <html> has a CSS width greater than the viewport, then this will be
|
|
76074
|
+
// incorrect for RTL.
|
|
76075
|
+
return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;
|
|
76076
|
+
}
|
|
76077
|
+
|
|
76078
|
+
// Gets the entire size of the scrollable document area, even extending outside
|
|
76079
|
+
// of the `<html>` and `<body>` rect bounds if horizontally scrollable.
|
|
76080
|
+
function getDocumentRect(element) {
|
|
76081
|
+
const html = getDocumentElement(element);
|
|
76082
|
+
const scroll = getNodeScroll(element);
|
|
76083
|
+
const body = element.ownerDocument.body;
|
|
76084
|
+
const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);
|
|
76085
|
+
const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
|
|
76086
|
+
let x = -scroll.scrollLeft + getWindowScrollBarX(element);
|
|
76087
|
+
const y = -scroll.scrollTop;
|
|
76088
|
+
if (getComputedStyle$1(body).direction === 'rtl') {
|
|
76089
|
+
x += max(html.clientWidth, body.clientWidth) - width;
|
|
76090
|
+
}
|
|
76091
|
+
return {
|
|
76092
|
+
width,
|
|
76093
|
+
height,
|
|
76094
|
+
x,
|
|
76095
|
+
y
|
|
76096
|
+
};
|
|
76097
|
+
}
|
|
76098
|
+
|
|
76099
|
+
function getViewportRect(element, strategy) {
|
|
76100
|
+
const win = getWindow(element);
|
|
76101
|
+
const html = getDocumentElement(element);
|
|
76102
|
+
const visualViewport = win.visualViewport;
|
|
76103
|
+
let width = html.clientWidth;
|
|
76104
|
+
let height = html.clientHeight;
|
|
76105
|
+
let x = 0;
|
|
76106
|
+
let y = 0;
|
|
76107
|
+
if (visualViewport) {
|
|
76108
|
+
width = visualViewport.width;
|
|
76109
|
+
height = visualViewport.height;
|
|
76110
|
+
const visualViewportBased = isWebKit();
|
|
76111
|
+
if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {
|
|
76112
|
+
x = visualViewport.offsetLeft;
|
|
76113
|
+
y = visualViewport.offsetTop;
|
|
76114
|
+
}
|
|
76115
|
+
}
|
|
76116
|
+
return {
|
|
76117
|
+
width,
|
|
76118
|
+
height,
|
|
76119
|
+
x,
|
|
76120
|
+
y
|
|
76121
|
+
};
|
|
76122
|
+
}
|
|
76123
|
+
|
|
76124
|
+
// Returns the inner client rect, subtracting scrollbars if present.
|
|
76125
|
+
function getInnerBoundingClientRect(element, strategy) {
|
|
76126
|
+
const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');
|
|
76127
|
+
const top = clientRect.top + element.clientTop;
|
|
76128
|
+
const left = clientRect.left + element.clientLeft;
|
|
76129
|
+
const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);
|
|
76130
|
+
const width = element.clientWidth * scale.x;
|
|
76131
|
+
const height = element.clientHeight * scale.y;
|
|
76132
|
+
const x = left * scale.x;
|
|
76133
|
+
const y = top * scale.y;
|
|
76134
|
+
return {
|
|
76135
|
+
width,
|
|
76136
|
+
height,
|
|
76137
|
+
x,
|
|
76138
|
+
y
|
|
76139
|
+
};
|
|
76140
|
+
}
|
|
76141
|
+
function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {
|
|
76142
|
+
let rect;
|
|
76143
|
+
if (clippingAncestor === 'viewport') {
|
|
76144
|
+
rect = getViewportRect(element, strategy);
|
|
76145
|
+
} else if (clippingAncestor === 'document') {
|
|
76146
|
+
rect = getDocumentRect(getDocumentElement(element));
|
|
76147
|
+
} else if (isElement(clippingAncestor)) {
|
|
76148
|
+
rect = getInnerBoundingClientRect(clippingAncestor, strategy);
|
|
76149
|
+
} else {
|
|
76150
|
+
const visualOffsets = getVisualOffsets(element);
|
|
76151
|
+
rect = {
|
|
76152
|
+
...clippingAncestor,
|
|
76153
|
+
x: clippingAncestor.x - visualOffsets.x,
|
|
76154
|
+
y: clippingAncestor.y - visualOffsets.y
|
|
76155
|
+
};
|
|
76156
|
+
}
|
|
76157
|
+
return rectToClientRect(rect);
|
|
76158
|
+
}
|
|
76159
|
+
function hasFixedPositionAncestor(element, stopNode) {
|
|
76160
|
+
const parentNode = getParentNode(element);
|
|
76161
|
+
if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {
|
|
76162
|
+
return false;
|
|
76163
|
+
}
|
|
76164
|
+
return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);
|
|
76165
|
+
}
|
|
76166
|
+
|
|
76167
|
+
// A "clipping ancestor" is an `overflow` element with the characteristic of
|
|
76168
|
+
// clipping (or hiding) child elements. This returns all clipping ancestors
|
|
76169
|
+
// of the given element up the tree.
|
|
76170
|
+
function getClippingElementAncestors(element, cache) {
|
|
76171
|
+
const cachedResult = cache.get(element);
|
|
76172
|
+
if (cachedResult) {
|
|
76173
|
+
return cachedResult;
|
|
76174
|
+
}
|
|
76175
|
+
let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');
|
|
76176
|
+
let currentContainingBlockComputedStyle = null;
|
|
76177
|
+
const elementIsFixed = getComputedStyle$1(element).position === 'fixed';
|
|
76178
|
+
let currentNode = elementIsFixed ? getParentNode(element) : element;
|
|
76179
|
+
|
|
76180
|
+
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
|
|
76181
|
+
while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {
|
|
76182
|
+
const computedStyle = getComputedStyle$1(currentNode);
|
|
76183
|
+
const currentNodeIsContaining = isContainingBlock(currentNode);
|
|
76184
|
+
if (!currentNodeIsContaining && computedStyle.position === 'fixed') {
|
|
76185
|
+
currentContainingBlockComputedStyle = null;
|
|
76186
|
+
}
|
|
76187
|
+
const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
|
|
76188
|
+
if (shouldDropCurrentNode) {
|
|
76189
|
+
// Drop non-containing blocks.
|
|
76190
|
+
result = result.filter(ancestor => ancestor !== currentNode);
|
|
76191
|
+
} else {
|
|
76192
|
+
// Record last containing block for next iteration.
|
|
76193
|
+
currentContainingBlockComputedStyle = computedStyle;
|
|
76194
|
+
}
|
|
76195
|
+
currentNode = getParentNode(currentNode);
|
|
76196
|
+
}
|
|
76197
|
+
cache.set(element, result);
|
|
76198
|
+
return result;
|
|
76199
|
+
}
|
|
76200
|
+
|
|
76201
|
+
// Gets the maximum area that the element is visible in due to any number of
|
|
76202
|
+
// clipping ancestors.
|
|
76203
|
+
function getClippingRect(_ref) {
|
|
76204
|
+
let {
|
|
76205
|
+
element,
|
|
76206
|
+
boundary,
|
|
76207
|
+
rootBoundary,
|
|
76208
|
+
strategy
|
|
76209
|
+
} = _ref;
|
|
76210
|
+
const elementClippingAncestors = boundary === 'clippingAncestors' ? getClippingElementAncestors(element, this._c) : [].concat(boundary);
|
|
76211
|
+
const clippingAncestors = [...elementClippingAncestors, rootBoundary];
|
|
76212
|
+
const firstClippingAncestor = clippingAncestors[0];
|
|
76213
|
+
const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {
|
|
76214
|
+
const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);
|
|
76215
|
+
accRect.top = max(rect.top, accRect.top);
|
|
76216
|
+
accRect.right = min(rect.right, accRect.right);
|
|
76217
|
+
accRect.bottom = min(rect.bottom, accRect.bottom);
|
|
76218
|
+
accRect.left = max(rect.left, accRect.left);
|
|
76219
|
+
return accRect;
|
|
76220
|
+
}, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));
|
|
76221
|
+
return {
|
|
76222
|
+
width: clippingRect.right - clippingRect.left,
|
|
76223
|
+
height: clippingRect.bottom - clippingRect.top,
|
|
76224
|
+
x: clippingRect.left,
|
|
76225
|
+
y: clippingRect.top
|
|
76226
|
+
};
|
|
76227
|
+
}
|
|
76228
|
+
|
|
76229
|
+
function getDimensions(element) {
|
|
76230
|
+
return getCssDimensions(element);
|
|
76231
|
+
}
|
|
76232
|
+
|
|
76233
|
+
function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
|
|
76234
|
+
const isOffsetParentAnElement = isHTMLElement(offsetParent);
|
|
76235
|
+
const documentElement = getDocumentElement(offsetParent);
|
|
76236
|
+
const isFixed = strategy === 'fixed';
|
|
76237
|
+
const rect = getBoundingClientRect(element, true, isFixed, offsetParent);
|
|
76238
|
+
let scroll = {
|
|
76239
|
+
scrollLeft: 0,
|
|
76240
|
+
scrollTop: 0
|
|
76241
|
+
};
|
|
76242
|
+
const offsets = createCoords(0);
|
|
76243
|
+
if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
|
|
76244
|
+
if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
|
|
76245
|
+
scroll = getNodeScroll(offsetParent);
|
|
76246
|
+
}
|
|
76247
|
+
if (isOffsetParentAnElement) {
|
|
76248
|
+
const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);
|
|
76249
|
+
offsets.x = offsetRect.x + offsetParent.clientLeft;
|
|
76250
|
+
offsets.y = offsetRect.y + offsetParent.clientTop;
|
|
76251
|
+
} else if (documentElement) {
|
|
76252
|
+
offsets.x = getWindowScrollBarX(documentElement);
|
|
76253
|
+
}
|
|
76254
|
+
}
|
|
76255
|
+
return {
|
|
76256
|
+
x: rect.left + scroll.scrollLeft - offsets.x,
|
|
76257
|
+
y: rect.top + scroll.scrollTop - offsets.y,
|
|
76258
|
+
width: rect.width,
|
|
76259
|
+
height: rect.height
|
|
76260
|
+
};
|
|
76261
|
+
}
|
|
76262
|
+
|
|
76263
|
+
function getTrueOffsetParent(element, polyfill) {
|
|
76264
|
+
if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {
|
|
76265
|
+
return null;
|
|
76266
|
+
}
|
|
76267
|
+
if (polyfill) {
|
|
76268
|
+
return polyfill(element);
|
|
76269
|
+
}
|
|
76270
|
+
return element.offsetParent;
|
|
76271
|
+
}
|
|
76272
|
+
|
|
76273
|
+
// Gets the closest ancestor positioned element. Handles some edge cases,
|
|
76274
|
+
// such as table ancestors and cross browser bugs.
|
|
76275
|
+
function getOffsetParent(element, polyfill) {
|
|
76276
|
+
const window = getWindow(element);
|
|
76277
|
+
if (!isHTMLElement(element)) {
|
|
76278
|
+
return window;
|
|
76279
|
+
}
|
|
76280
|
+
let offsetParent = getTrueOffsetParent(element, polyfill);
|
|
76281
|
+
while (offsetParent && isTableElement(offsetParent) && getComputedStyle$1(offsetParent).position === 'static') {
|
|
76282
|
+
offsetParent = getTrueOffsetParent(offsetParent, polyfill);
|
|
76283
|
+
}
|
|
76284
|
+
if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle$1(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {
|
|
76285
|
+
return window;
|
|
76286
|
+
}
|
|
76287
|
+
return offsetParent || getContainingBlock(element) || window;
|
|
76288
|
+
}
|
|
76289
|
+
|
|
76290
|
+
const getElementRects = async function (_ref) {
|
|
76291
|
+
let {
|
|
76292
|
+
reference,
|
|
76293
|
+
floating,
|
|
76294
|
+
strategy
|
|
76295
|
+
} = _ref;
|
|
76296
|
+
const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
|
|
76297
|
+
const getDimensionsFn = this.getDimensions;
|
|
76298
|
+
return {
|
|
76299
|
+
reference: getRectRelativeToOffsetParent(reference, await getOffsetParentFn(floating), strategy),
|
|
76300
|
+
floating: {
|
|
76301
|
+
x: 0,
|
|
76302
|
+
y: 0,
|
|
76303
|
+
...(await getDimensionsFn(floating))
|
|
76304
|
+
}
|
|
76305
|
+
};
|
|
76306
|
+
};
|
|
76307
|
+
|
|
76308
|
+
function isRTL(element) {
|
|
76309
|
+
return getComputedStyle$1(element).direction === 'rtl';
|
|
76310
|
+
}
|
|
76311
|
+
|
|
76312
|
+
const platform = {
|
|
76313
|
+
convertOffsetParentRelativeRectToViewportRelativeRect,
|
|
76314
|
+
getDocumentElement,
|
|
76315
|
+
getClippingRect,
|
|
76316
|
+
getOffsetParent,
|
|
76317
|
+
getElementRects,
|
|
76318
|
+
getClientRects,
|
|
76319
|
+
getDimensions,
|
|
76320
|
+
getScale,
|
|
76321
|
+
isElement,
|
|
76322
|
+
isRTL
|
|
76323
|
+
};
|
|
76324
|
+
|
|
76325
|
+
// https://samthor.au/2021/observing-dom/
|
|
76326
|
+
function observeMove(element, onMove) {
|
|
76327
|
+
let io = null;
|
|
76328
|
+
let timeoutId;
|
|
76329
|
+
const root = getDocumentElement(element);
|
|
76330
|
+
function cleanup() {
|
|
76331
|
+
clearTimeout(timeoutId);
|
|
76332
|
+
io && io.disconnect();
|
|
76333
|
+
io = null;
|
|
76334
|
+
}
|
|
76335
|
+
function refresh(skip, threshold) {
|
|
76336
|
+
if (skip === void 0) {
|
|
76337
|
+
skip = false;
|
|
76338
|
+
}
|
|
76339
|
+
if (threshold === void 0) {
|
|
76340
|
+
threshold = 1;
|
|
76341
|
+
}
|
|
76342
|
+
cleanup();
|
|
76343
|
+
const {
|
|
76344
|
+
left,
|
|
76345
|
+
top,
|
|
76346
|
+
width,
|
|
76347
|
+
height
|
|
76348
|
+
} = element.getBoundingClientRect();
|
|
76349
|
+
if (!skip) {
|
|
76350
|
+
onMove();
|
|
76351
|
+
}
|
|
76352
|
+
if (!width || !height) {
|
|
76353
|
+
return;
|
|
76354
|
+
}
|
|
76355
|
+
const insetTop = floor(top);
|
|
76356
|
+
const insetRight = floor(root.clientWidth - (left + width));
|
|
76357
|
+
const insetBottom = floor(root.clientHeight - (top + height));
|
|
76358
|
+
const insetLeft = floor(left);
|
|
76359
|
+
const rootMargin = -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px";
|
|
76360
|
+
const options = {
|
|
76361
|
+
rootMargin,
|
|
76362
|
+
threshold: max(0, min(1, threshold)) || 1
|
|
76363
|
+
};
|
|
76364
|
+
let isFirstUpdate = true;
|
|
76365
|
+
function handleObserve(entries) {
|
|
76366
|
+
const ratio = entries[0].intersectionRatio;
|
|
76367
|
+
if (ratio !== threshold) {
|
|
76368
|
+
if (!isFirstUpdate) {
|
|
76369
|
+
return refresh();
|
|
76370
|
+
}
|
|
76371
|
+
if (!ratio) {
|
|
76372
|
+
timeoutId = setTimeout(() => {
|
|
76373
|
+
refresh(false, 1e-7);
|
|
76374
|
+
}, 100);
|
|
76375
|
+
} else {
|
|
76376
|
+
refresh(false, ratio);
|
|
76377
|
+
}
|
|
76378
|
+
}
|
|
76379
|
+
isFirstUpdate = false;
|
|
76380
|
+
}
|
|
76381
|
+
|
|
76382
|
+
// Older browsers don't support a `document` as the root and will throw an
|
|
76383
|
+
// error.
|
|
76384
|
+
try {
|
|
76385
|
+
io = new IntersectionObserver(handleObserve, {
|
|
76386
|
+
...options,
|
|
76387
|
+
// Handle <iframe>s
|
|
76388
|
+
root: root.ownerDocument
|
|
76389
|
+
});
|
|
76390
|
+
} catch (e) {
|
|
76391
|
+
io = new IntersectionObserver(handleObserve, options);
|
|
76392
|
+
}
|
|
76393
|
+
io.observe(element);
|
|
76394
|
+
}
|
|
76395
|
+
refresh(true);
|
|
76396
|
+
return cleanup;
|
|
76397
|
+
}
|
|
76398
|
+
|
|
76399
|
+
/**
|
|
76400
|
+
* Automatically updates the position of the floating element when necessary.
|
|
76401
|
+
* Should only be called when the floating element is mounted on the DOM or
|
|
76402
|
+
* visible on the screen.
|
|
76403
|
+
* @returns cleanup function that should be invoked when the floating element is
|
|
76404
|
+
* removed from the DOM or hidden from the screen.
|
|
76405
|
+
* @see https://floating-ui.com/docs/autoUpdate
|
|
76406
|
+
*/
|
|
76407
|
+
function autoUpdate(reference, floating, update, options) {
|
|
76408
|
+
if (options === void 0) {
|
|
76409
|
+
options = {};
|
|
76410
|
+
}
|
|
76411
|
+
const {
|
|
76412
|
+
ancestorScroll = true,
|
|
76413
|
+
ancestorResize = true,
|
|
76414
|
+
elementResize = typeof ResizeObserver === 'function',
|
|
76415
|
+
layoutShift = typeof IntersectionObserver === 'function',
|
|
76416
|
+
animationFrame = false
|
|
76417
|
+
} = options;
|
|
76418
|
+
const referenceEl = unwrapElement(reference);
|
|
76419
|
+
const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];
|
|
76420
|
+
ancestors.forEach(ancestor => {
|
|
76421
|
+
ancestorScroll && ancestor.addEventListener('scroll', update, {
|
|
76422
|
+
passive: true
|
|
76423
|
+
});
|
|
76424
|
+
ancestorResize && ancestor.addEventListener('resize', update);
|
|
76425
|
+
});
|
|
76426
|
+
const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;
|
|
76427
|
+
let reobserveFrame = -1;
|
|
76428
|
+
let resizeObserver = null;
|
|
76429
|
+
if (elementResize) {
|
|
76430
|
+
resizeObserver = new ResizeObserver(_ref => {
|
|
76431
|
+
let [firstEntry] = _ref;
|
|
76432
|
+
if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {
|
|
76433
|
+
// Prevent update loops when using the `size` middleware.
|
|
76434
|
+
// https://github.com/floating-ui/floating-ui/issues/1740
|
|
76435
|
+
resizeObserver.unobserve(floating);
|
|
76436
|
+
cancelAnimationFrame(reobserveFrame);
|
|
76437
|
+
reobserveFrame = requestAnimationFrame(() => {
|
|
76438
|
+
resizeObserver && resizeObserver.observe(floating);
|
|
76439
|
+
});
|
|
76440
|
+
}
|
|
76441
|
+
update();
|
|
76442
|
+
});
|
|
76443
|
+
if (referenceEl && !animationFrame) {
|
|
76444
|
+
resizeObserver.observe(referenceEl);
|
|
76445
|
+
}
|
|
76446
|
+
resizeObserver.observe(floating);
|
|
76447
|
+
}
|
|
76448
|
+
let frameId;
|
|
76449
|
+
let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
|
|
76450
|
+
if (animationFrame) {
|
|
76451
|
+
frameLoop();
|
|
76452
|
+
}
|
|
76453
|
+
function frameLoop() {
|
|
76454
|
+
const nextRefRect = getBoundingClientRect(reference);
|
|
76455
|
+
if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {
|
|
76456
|
+
update();
|
|
76457
|
+
}
|
|
76458
|
+
prevRefRect = nextRefRect;
|
|
76459
|
+
frameId = requestAnimationFrame(frameLoop);
|
|
76460
|
+
}
|
|
76461
|
+
update();
|
|
76462
|
+
return () => {
|
|
76463
|
+
ancestors.forEach(ancestor => {
|
|
76464
|
+
ancestorScroll && ancestor.removeEventListener('scroll', update);
|
|
76465
|
+
ancestorResize && ancestor.removeEventListener('resize', update);
|
|
76466
|
+
});
|
|
76467
|
+
cleanupIo && cleanupIo();
|
|
76468
|
+
resizeObserver && resizeObserver.disconnect();
|
|
76469
|
+
resizeObserver = null;
|
|
76470
|
+
if (animationFrame) {
|
|
76471
|
+
cancelAnimationFrame(frameId);
|
|
76472
|
+
}
|
|
76473
|
+
};
|
|
76474
|
+
}
|
|
76475
|
+
|
|
76476
|
+
/**
|
|
76477
|
+
* Computes the `x` and `y` coordinates that will place the floating element
|
|
76478
|
+
* next to a reference element when it is given a certain CSS positioning
|
|
76479
|
+
* strategy.
|
|
76480
|
+
*/
|
|
76481
|
+
const computePosition = (reference, floating, options) => {
|
|
76482
|
+
// This caches the expensive `getClippingElementAncestors` function so that
|
|
76483
|
+
// multiple lifecycle resets re-use the same result. It only lives for a
|
|
76484
|
+
// single call. If other functions become expensive, we can add them as well.
|
|
76485
|
+
const cache = new Map();
|
|
76486
|
+
const mergedOptions = {
|
|
76487
|
+
platform,
|
|
76488
|
+
...options
|
|
76489
|
+
};
|
|
76490
|
+
const platformWithCache = {
|
|
76491
|
+
...mergedOptions.platform,
|
|
76492
|
+
_c: cache
|
|
76493
|
+
};
|
|
76494
|
+
return computePosition$1(reference, floating, {
|
|
76495
|
+
...mergedOptions,
|
|
76496
|
+
platform: platformWithCache
|
|
76497
|
+
});
|
|
76498
|
+
};
|
|
76499
|
+
|
|
76500
|
+
var index$4 = typeof document !== 'undefined' ? React.useLayoutEffect : React.useEffect;
|
|
76501
|
+
|
|
76502
|
+
// Fork of `fast-deep-equal` that only does the comparisons we need and compares
|
|
76503
|
+
// functions
|
|
76504
|
+
function deepEqual(a, b) {
|
|
76505
|
+
if (a === b) {
|
|
76506
|
+
return true;
|
|
76507
|
+
}
|
|
76508
|
+
if (typeof a !== typeof b) {
|
|
76509
|
+
return false;
|
|
76510
|
+
}
|
|
76511
|
+
if (typeof a === 'function' && a.toString() === b.toString()) {
|
|
76512
|
+
return true;
|
|
76513
|
+
}
|
|
76514
|
+
let length;
|
|
76515
|
+
let i;
|
|
76516
|
+
let keys;
|
|
76517
|
+
if (a && b && typeof a === 'object') {
|
|
76518
|
+
if (Array.isArray(a)) {
|
|
76519
|
+
length = a.length;
|
|
76520
|
+
if (length !== b.length) return false;
|
|
76521
|
+
for (i = length; i-- !== 0;) {
|
|
76522
|
+
if (!deepEqual(a[i], b[i])) {
|
|
76523
|
+
return false;
|
|
76524
|
+
}
|
|
76525
|
+
}
|
|
76526
|
+
return true;
|
|
76527
|
+
}
|
|
76528
|
+
keys = Object.keys(a);
|
|
76529
|
+
length = keys.length;
|
|
76530
|
+
if (length !== Object.keys(b).length) {
|
|
76531
|
+
return false;
|
|
76532
|
+
}
|
|
76533
|
+
for (i = length; i-- !== 0;) {
|
|
76534
|
+
if (!{}.hasOwnProperty.call(b, keys[i])) {
|
|
76535
|
+
return false;
|
|
76536
|
+
}
|
|
76537
|
+
}
|
|
76538
|
+
for (i = length; i-- !== 0;) {
|
|
76539
|
+
const key = keys[i];
|
|
76540
|
+
if (key === '_owner' && a.$$typeof) {
|
|
76541
|
+
continue;
|
|
76542
|
+
}
|
|
76543
|
+
if (!deepEqual(a[key], b[key])) {
|
|
76544
|
+
return false;
|
|
76545
|
+
}
|
|
76546
|
+
}
|
|
76547
|
+
return true;
|
|
76548
|
+
}
|
|
76549
|
+
return a !== a && b !== b;
|
|
76550
|
+
}
|
|
76551
|
+
|
|
76552
|
+
function getDPR(element) {
|
|
76553
|
+
if (typeof window === 'undefined') {
|
|
76554
|
+
return 1;
|
|
76555
|
+
}
|
|
76556
|
+
const win = element.ownerDocument.defaultView || window;
|
|
76557
|
+
return win.devicePixelRatio || 1;
|
|
76558
|
+
}
|
|
76559
|
+
|
|
76560
|
+
function roundByDPR(element, value) {
|
|
76561
|
+
const dpr = getDPR(element);
|
|
76562
|
+
return Math.round(value * dpr) / dpr;
|
|
76563
|
+
}
|
|
76564
|
+
|
|
76565
|
+
function useLatestRef(value) {
|
|
76566
|
+
const ref = React__namespace.useRef(value);
|
|
76567
|
+
index$4(() => {
|
|
76568
|
+
ref.current = value;
|
|
76569
|
+
});
|
|
76570
|
+
return ref;
|
|
76571
|
+
}
|
|
76572
|
+
|
|
76573
|
+
/**
|
|
76574
|
+
* Provides data to position a floating element.
|
|
76575
|
+
* @see https://floating-ui.com/docs/useFloating
|
|
76576
|
+
*/
|
|
76577
|
+
function useFloating$1(options) {
|
|
76578
|
+
if (options === void 0) {
|
|
76579
|
+
options = {};
|
|
76580
|
+
}
|
|
76581
|
+
const {
|
|
76582
|
+
placement = 'bottom',
|
|
76583
|
+
strategy = 'absolute',
|
|
76584
|
+
middleware = [],
|
|
76585
|
+
platform,
|
|
76586
|
+
elements: {
|
|
76587
|
+
reference: externalReference,
|
|
76588
|
+
floating: externalFloating
|
|
76589
|
+
} = {},
|
|
76590
|
+
transform = true,
|
|
76591
|
+
whileElementsMounted,
|
|
76592
|
+
open
|
|
76593
|
+
} = options;
|
|
76594
|
+
const [data, setData] = React__namespace.useState({
|
|
76595
|
+
x: 0,
|
|
76596
|
+
y: 0,
|
|
76597
|
+
strategy,
|
|
76598
|
+
placement,
|
|
76599
|
+
middlewareData: {},
|
|
76600
|
+
isPositioned: false
|
|
76601
|
+
});
|
|
76602
|
+
const [latestMiddleware, setLatestMiddleware] = React__namespace.useState(middleware);
|
|
76603
|
+
if (!deepEqual(latestMiddleware, middleware)) {
|
|
76604
|
+
setLatestMiddleware(middleware);
|
|
76605
|
+
}
|
|
76606
|
+
const [_reference, _setReference] = React__namespace.useState(null);
|
|
76607
|
+
const [_floating, _setFloating] = React__namespace.useState(null);
|
|
76608
|
+
const setReference = React__namespace.useCallback(node => {
|
|
76609
|
+
if (node !== referenceRef.current) {
|
|
76610
|
+
referenceRef.current = node;
|
|
76611
|
+
_setReference(node);
|
|
76612
|
+
}
|
|
76613
|
+
}, []);
|
|
76614
|
+
const setFloating = React__namespace.useCallback(node => {
|
|
76615
|
+
if (node !== floatingRef.current) {
|
|
76616
|
+
floatingRef.current = node;
|
|
76617
|
+
_setFloating(node);
|
|
76618
|
+
}
|
|
76619
|
+
}, []);
|
|
76620
|
+
const referenceEl = externalReference || _reference;
|
|
76621
|
+
const floatingEl = externalFloating || _floating;
|
|
76622
|
+
const referenceRef = React__namespace.useRef(null);
|
|
76623
|
+
const floatingRef = React__namespace.useRef(null);
|
|
76624
|
+
const dataRef = React__namespace.useRef(data);
|
|
76625
|
+
const hasWhileElementsMounted = whileElementsMounted != null;
|
|
76626
|
+
const whileElementsMountedRef = useLatestRef(whileElementsMounted);
|
|
76627
|
+
const platformRef = useLatestRef(platform);
|
|
76628
|
+
const update = React__namespace.useCallback(() => {
|
|
76629
|
+
if (!referenceRef.current || !floatingRef.current) {
|
|
76630
|
+
return;
|
|
76631
|
+
}
|
|
76632
|
+
const config = {
|
|
76633
|
+
placement,
|
|
76634
|
+
strategy,
|
|
76635
|
+
middleware: latestMiddleware
|
|
76636
|
+
};
|
|
76637
|
+
if (platformRef.current) {
|
|
76638
|
+
config.platform = platformRef.current;
|
|
76639
|
+
}
|
|
76640
|
+
computePosition(referenceRef.current, floatingRef.current, config).then(data => {
|
|
76641
|
+
const fullData = {
|
|
76642
|
+
...data,
|
|
76643
|
+
isPositioned: true
|
|
76644
|
+
};
|
|
76645
|
+
if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {
|
|
76646
|
+
dataRef.current = fullData;
|
|
76647
|
+
reactDomExports.flushSync(() => {
|
|
76648
|
+
setData(fullData);
|
|
76649
|
+
});
|
|
76650
|
+
}
|
|
76651
|
+
});
|
|
76652
|
+
}, [latestMiddleware, placement, strategy, platformRef]);
|
|
76653
|
+
index$4(() => {
|
|
76654
|
+
if (open === false && dataRef.current.isPositioned) {
|
|
76655
|
+
dataRef.current.isPositioned = false;
|
|
76656
|
+
setData(data => ({
|
|
76657
|
+
...data,
|
|
76658
|
+
isPositioned: false
|
|
76659
|
+
}));
|
|
76660
|
+
}
|
|
76661
|
+
}, [open]);
|
|
76662
|
+
const isMountedRef = React__namespace.useRef(false);
|
|
76663
|
+
index$4(() => {
|
|
76664
|
+
isMountedRef.current = true;
|
|
76665
|
+
return () => {
|
|
76666
|
+
isMountedRef.current = false;
|
|
76667
|
+
};
|
|
76668
|
+
}, []);
|
|
76669
|
+
index$4(() => {
|
|
76670
|
+
if (referenceEl) referenceRef.current = referenceEl;
|
|
76671
|
+
if (floatingEl) floatingRef.current = floatingEl;
|
|
76672
|
+
if (referenceEl && floatingEl) {
|
|
76673
|
+
if (whileElementsMountedRef.current) {
|
|
76674
|
+
return whileElementsMountedRef.current(referenceEl, floatingEl, update);
|
|
76675
|
+
}
|
|
76676
|
+
update();
|
|
76677
|
+
}
|
|
76678
|
+
}, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);
|
|
76679
|
+
const refs = React__namespace.useMemo(() => ({
|
|
76680
|
+
reference: referenceRef,
|
|
76681
|
+
floating: floatingRef,
|
|
76682
|
+
setReference,
|
|
76683
|
+
setFloating
|
|
76684
|
+
}), [setReference, setFloating]);
|
|
76685
|
+
const elements = React__namespace.useMemo(() => ({
|
|
76686
|
+
reference: referenceEl,
|
|
76687
|
+
floating: floatingEl
|
|
76688
|
+
}), [referenceEl, floatingEl]);
|
|
76689
|
+
const floatingStyles = React__namespace.useMemo(() => {
|
|
76690
|
+
const initialStyles = {
|
|
76691
|
+
position: strategy,
|
|
76692
|
+
left: 0,
|
|
76693
|
+
top: 0
|
|
76694
|
+
};
|
|
76695
|
+
if (!elements.floating) {
|
|
76696
|
+
return initialStyles;
|
|
76697
|
+
}
|
|
76698
|
+
const x = roundByDPR(elements.floating, data.x);
|
|
76699
|
+
const y = roundByDPR(elements.floating, data.y);
|
|
76700
|
+
if (transform) {
|
|
76701
|
+
return {
|
|
76702
|
+
...initialStyles,
|
|
76703
|
+
transform: "translate(" + x + "px, " + y + "px)",
|
|
76704
|
+
...(getDPR(elements.floating) >= 1.5 && {
|
|
76705
|
+
willChange: 'transform'
|
|
76706
|
+
})
|
|
76707
|
+
};
|
|
76708
|
+
}
|
|
76709
|
+
return {
|
|
76710
|
+
position: strategy,
|
|
76711
|
+
left: x,
|
|
76712
|
+
top: y
|
|
76713
|
+
};
|
|
76714
|
+
}, [strategy, transform, elements.floating, data.x, data.y]);
|
|
76715
|
+
return React__namespace.useMemo(() => ({
|
|
76716
|
+
...data,
|
|
76717
|
+
update,
|
|
76718
|
+
refs,
|
|
76719
|
+
elements,
|
|
76720
|
+
floatingStyles
|
|
76721
|
+
}), [data, update, refs, elements, floatingStyles]);
|
|
76722
|
+
}
|
|
76723
|
+
|
|
76724
|
+
/**
|
|
76725
|
+
* Modifies the placement by translating the floating element along the
|
|
76726
|
+
* specified axes.
|
|
76727
|
+
* A number (shorthand for `mainAxis` or distance), or an axes configuration
|
|
76728
|
+
* object may be passed.
|
|
76729
|
+
* @see https://floating-ui.com/docs/offset
|
|
76730
|
+
*/
|
|
76731
|
+
const offset = (options, deps) => ({
|
|
76732
|
+
...offset$1(options),
|
|
76733
|
+
options: [options, deps]
|
|
76734
|
+
});
|
|
76735
|
+
|
|
76736
|
+
/**
|
|
76737
|
+
* Optimizes the visibility of the floating element by shifting it in order to
|
|
76738
|
+
* keep it in view when it will overflow the clipping boundary.
|
|
76739
|
+
* @see https://floating-ui.com/docs/shift
|
|
76740
|
+
*/
|
|
76741
|
+
const shift = (options, deps) => ({
|
|
76742
|
+
...shift$1(options),
|
|
76743
|
+
options: [options, deps]
|
|
76744
|
+
});
|
|
76745
|
+
|
|
76746
|
+
/**
|
|
76747
|
+
* Optimizes the visibility of the floating element by flipping the `placement`
|
|
76748
|
+
* in order to keep it in view when the preferred placement(s) will overflow the
|
|
76749
|
+
* clipping boundary. Alternative to `autoPlacement`.
|
|
76750
|
+
* @see https://floating-ui.com/docs/flip
|
|
76751
|
+
*/
|
|
76752
|
+
const flip = (options, deps) => ({
|
|
76753
|
+
...flip$1(options),
|
|
76754
|
+
options: [options, deps]
|
|
76755
|
+
});
|
|
76756
|
+
|
|
76757
|
+
/**
|
|
76758
|
+
* Provides data that allows you to change the size of the floating element —
|
|
76759
|
+
* for instance, prevent it from overflowing the clipping boundary or match the
|
|
76760
|
+
* width of the reference element.
|
|
76761
|
+
* @see https://floating-ui.com/docs/size
|
|
76762
|
+
*/
|
|
76763
|
+
const size = (options, deps) => ({
|
|
76764
|
+
...size$1(options),
|
|
76765
|
+
options: [options, deps]
|
|
76766
|
+
});
|
|
76767
|
+
|
|
76768
|
+
// https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379
|
|
76769
|
+
const SafeReact = {
|
|
76770
|
+
...React__namespace
|
|
76771
|
+
};
|
|
76772
|
+
|
|
76773
|
+
const useInsertionEffect = SafeReact.useInsertionEffect;
|
|
76774
|
+
const useSafeInsertionEffect = useInsertionEffect || (fn => fn());
|
|
76775
|
+
function useEffectEvent(callback) {
|
|
76776
|
+
const ref = React__namespace.useRef(() => {
|
|
76777
|
+
if (process.env.NODE_ENV !== "production") {
|
|
76778
|
+
throw new Error('Cannot call an event handler while rendering.');
|
|
76779
|
+
}
|
|
76780
|
+
});
|
|
76781
|
+
useSafeInsertionEffect(() => {
|
|
76782
|
+
ref.current = callback;
|
|
76783
|
+
});
|
|
76784
|
+
return React__namespace.useCallback(function () {
|
|
76785
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
76786
|
+
args[_key] = arguments[_key];
|
|
76787
|
+
}
|
|
76788
|
+
return ref.current == null ? void 0 : ref.current(...args);
|
|
76789
|
+
}, []);
|
|
76790
|
+
}
|
|
76791
|
+
|
|
76792
|
+
var index$3 = typeof document !== 'undefined' ? React.useLayoutEffect : React.useEffect;
|
|
76793
|
+
|
|
76794
|
+
let serverHandoffComplete = false;
|
|
76795
|
+
let count = 0;
|
|
76796
|
+
const genId = () => // Ensure the id is unique with multiple independent versions of Floating UI
|
|
76797
|
+
// on <React 18
|
|
76798
|
+
"floating-ui-" + Math.random().toString(36).slice(2, 6) + count++;
|
|
76799
|
+
function useFloatingId() {
|
|
76800
|
+
const [id, setId] = React__namespace.useState(() => serverHandoffComplete ? genId() : undefined);
|
|
76801
|
+
index$3(() => {
|
|
76802
|
+
if (id == null) {
|
|
76803
|
+
setId(genId());
|
|
76804
|
+
}
|
|
76805
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
76806
|
+
}, []);
|
|
76807
|
+
React__namespace.useEffect(() => {
|
|
76808
|
+
serverHandoffComplete = true;
|
|
76809
|
+
}, []);
|
|
76810
|
+
return id;
|
|
76811
|
+
}
|
|
76812
|
+
const useReactId = SafeReact.useId;
|
|
76813
|
+
|
|
76814
|
+
/**
|
|
76815
|
+
* Uses React 18's built-in `useId()` when available, or falls back to a
|
|
76816
|
+
* slightly less performant (requiring a double render) implementation for
|
|
76817
|
+
* earlier React versions.
|
|
76818
|
+
* @see https://floating-ui.com/docs/react-utils#useid
|
|
76819
|
+
*/
|
|
76820
|
+
const useId = useReactId || useFloatingId;
|
|
76821
|
+
|
|
76822
|
+
let devMessageSet;
|
|
76823
|
+
if (process.env.NODE_ENV !== "production") {
|
|
76824
|
+
devMessageSet = /*#__PURE__*/new Set();
|
|
76825
|
+
}
|
|
76826
|
+
function warn() {
|
|
76827
|
+
var _devMessageSet;
|
|
76828
|
+
for (var _len = arguments.length, messages = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
76829
|
+
messages[_key] = arguments[_key];
|
|
76830
|
+
}
|
|
76831
|
+
const message = "Floating UI: " + messages.join(' ');
|
|
76832
|
+
if (!((_devMessageSet = devMessageSet) != null && _devMessageSet.has(message))) {
|
|
76833
|
+
var _devMessageSet2;
|
|
76834
|
+
(_devMessageSet2 = devMessageSet) == null || _devMessageSet2.add(message);
|
|
76835
|
+
console.warn(message);
|
|
76836
|
+
}
|
|
76837
|
+
}
|
|
76838
|
+
function error() {
|
|
76839
|
+
var _devMessageSet3;
|
|
76840
|
+
for (var _len2 = arguments.length, messages = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
76841
|
+
messages[_key2] = arguments[_key2];
|
|
76842
|
+
}
|
|
76843
|
+
const message = "Floating UI: " + messages.join(' ');
|
|
76844
|
+
if (!((_devMessageSet3 = devMessageSet) != null && _devMessageSet3.has(message))) {
|
|
76845
|
+
var _devMessageSet4;
|
|
76846
|
+
(_devMessageSet4 = devMessageSet) == null || _devMessageSet4.add(message);
|
|
76847
|
+
console.error(message);
|
|
76848
|
+
}
|
|
76849
|
+
}
|
|
76850
|
+
|
|
76851
|
+
function createPubSub() {
|
|
76852
|
+
const map = new Map();
|
|
76853
|
+
return {
|
|
76854
|
+
emit(event, data) {
|
|
76855
|
+
var _map$get;
|
|
76856
|
+
(_map$get = map.get(event)) == null || _map$get.forEach(handler => handler(data));
|
|
76857
|
+
},
|
|
76858
|
+
on(event, listener) {
|
|
76859
|
+
map.set(event, [...(map.get(event) || []), listener]);
|
|
76860
|
+
},
|
|
76861
|
+
off(event, listener) {
|
|
76862
|
+
var _map$get2;
|
|
76863
|
+
map.set(event, ((_map$get2 = map.get(event)) == null ? void 0 : _map$get2.filter(l => l !== listener)) || []);
|
|
76864
|
+
}
|
|
76865
|
+
};
|
|
76866
|
+
}
|
|
76867
|
+
|
|
76868
|
+
const FloatingNodeContext = /*#__PURE__*/React__namespace.createContext(null);
|
|
76869
|
+
const FloatingTreeContext = /*#__PURE__*/React__namespace.createContext(null);
|
|
76870
|
+
|
|
76871
|
+
/**
|
|
76872
|
+
* Returns the parent node id for nested floating elements, if available.
|
|
76873
|
+
* Returns `null` for top-level floating elements.
|
|
76874
|
+
*/
|
|
76875
|
+
const useFloatingParentNodeId = () => {
|
|
76876
|
+
var _React$useContext;
|
|
76877
|
+
return ((_React$useContext = React__namespace.useContext(FloatingNodeContext)) == null ? void 0 : _React$useContext.id) || null;
|
|
76878
|
+
};
|
|
76879
|
+
|
|
76880
|
+
/**
|
|
76881
|
+
* Returns the nearest floating tree context, if available.
|
|
76882
|
+
*/
|
|
76883
|
+
const useFloatingTree = () => React__namespace.useContext(FloatingTreeContext);
|
|
76884
|
+
|
|
76885
|
+
function useFloatingRootContext(options) {
|
|
76886
|
+
const {
|
|
76887
|
+
open = false,
|
|
76888
|
+
onOpenChange: onOpenChangeProp,
|
|
76889
|
+
elements: elementsProp
|
|
76890
|
+
} = options;
|
|
76891
|
+
const floatingId = useId();
|
|
76892
|
+
const dataRef = React__namespace.useRef({});
|
|
76893
|
+
const [events] = React__namespace.useState(() => createPubSub());
|
|
76894
|
+
const nested = useFloatingParentNodeId() != null;
|
|
76895
|
+
if (process.env.NODE_ENV !== "production") {
|
|
76896
|
+
const optionDomReference = elementsProp.reference;
|
|
76897
|
+
if (optionDomReference && !isElement$1(optionDomReference)) {
|
|
76898
|
+
error('Cannot pass a virtual element to the `elements.reference` option,', 'as it must be a real DOM element. Use `refs.setPositionReference()`', 'instead.');
|
|
76899
|
+
}
|
|
76900
|
+
}
|
|
76901
|
+
const [positionReference, setPositionReference] = React__namespace.useState(elementsProp.reference);
|
|
76902
|
+
const onOpenChange = useEffectEvent((open, event, reason) => {
|
|
76903
|
+
dataRef.current.openEvent = open ? event : undefined;
|
|
76904
|
+
events.emit('openchange', {
|
|
76905
|
+
open,
|
|
76906
|
+
event,
|
|
76907
|
+
reason,
|
|
76908
|
+
nested
|
|
76909
|
+
});
|
|
76910
|
+
onOpenChangeProp == null || onOpenChangeProp(open, event, reason);
|
|
76911
|
+
});
|
|
76912
|
+
const refs = React__namespace.useMemo(() => ({
|
|
76913
|
+
setPositionReference
|
|
76914
|
+
}), []);
|
|
76915
|
+
const elements = React__namespace.useMemo(() => ({
|
|
76916
|
+
reference: positionReference || elementsProp.reference || null,
|
|
76917
|
+
floating: elementsProp.floating || null,
|
|
76918
|
+
domReference: elementsProp.reference
|
|
76919
|
+
}), [positionReference, elementsProp.reference, elementsProp.floating]);
|
|
76920
|
+
return React__namespace.useMemo(() => ({
|
|
76921
|
+
dataRef,
|
|
76922
|
+
open,
|
|
76923
|
+
onOpenChange,
|
|
76924
|
+
elements,
|
|
76925
|
+
events,
|
|
76926
|
+
floatingId,
|
|
76927
|
+
refs
|
|
76928
|
+
}), [open, onOpenChange, elements, events, floatingId, refs]);
|
|
76929
|
+
}
|
|
76930
|
+
|
|
76931
|
+
/**
|
|
76932
|
+
* Provides data to position a floating element and context to add interactions.
|
|
76933
|
+
* @see https://floating-ui.com/docs/useFloating
|
|
76934
|
+
*/
|
|
76935
|
+
function useFloating(options) {
|
|
76936
|
+
if (options === void 0) {
|
|
76937
|
+
options = {};
|
|
76938
|
+
}
|
|
76939
|
+
const {
|
|
76940
|
+
nodeId
|
|
76941
|
+
} = options;
|
|
76942
|
+
const internalRootContext = useFloatingRootContext({
|
|
76943
|
+
...options,
|
|
76944
|
+
elements: {
|
|
76945
|
+
reference: null,
|
|
76946
|
+
floating: null,
|
|
76947
|
+
...options.elements
|
|
76948
|
+
}
|
|
76949
|
+
});
|
|
76950
|
+
const rootContext = options.rootContext || internalRootContext;
|
|
76951
|
+
const computedElements = rootContext.elements;
|
|
76952
|
+
const [_domReference, setDomReference] = React__namespace.useState(null);
|
|
76953
|
+
const [positionReference, _setPositionReference] = React__namespace.useState(null);
|
|
76954
|
+
const optionDomReference = computedElements == null ? void 0 : computedElements.reference;
|
|
76955
|
+
const domReference = optionDomReference || _domReference;
|
|
76956
|
+
const domReferenceRef = React__namespace.useRef(null);
|
|
76957
|
+
const tree = useFloatingTree();
|
|
76958
|
+
index$3(() => {
|
|
76959
|
+
if (domReference) {
|
|
76960
|
+
domReferenceRef.current = domReference;
|
|
76961
|
+
}
|
|
76962
|
+
}, [domReference]);
|
|
76963
|
+
const position = useFloating$1({
|
|
76964
|
+
...options,
|
|
76965
|
+
elements: {
|
|
76966
|
+
...computedElements,
|
|
76967
|
+
...(positionReference && {
|
|
76968
|
+
reference: positionReference
|
|
76969
|
+
})
|
|
76970
|
+
}
|
|
76971
|
+
});
|
|
76972
|
+
const setPositionReference = React__namespace.useCallback(node => {
|
|
76973
|
+
const computedPositionReference = isElement$1(node) ? {
|
|
76974
|
+
getBoundingClientRect: () => node.getBoundingClientRect(),
|
|
76975
|
+
contextElement: node
|
|
76976
|
+
} : node;
|
|
76977
|
+
// Store the positionReference in state if the DOM reference is specified externally via the
|
|
76978
|
+
// `elements.reference` option. This ensures that it won't be overridden on future renders.
|
|
76979
|
+
_setPositionReference(computedPositionReference);
|
|
76980
|
+
position.refs.setReference(computedPositionReference);
|
|
76981
|
+
}, [position.refs]);
|
|
76982
|
+
const setReference = React__namespace.useCallback(node => {
|
|
76983
|
+
if (isElement$1(node) || node === null) {
|
|
76984
|
+
domReferenceRef.current = node;
|
|
76985
|
+
setDomReference(node);
|
|
76986
|
+
}
|
|
76987
|
+
|
|
76988
|
+
// Backwards-compatibility for passing a virtual element to `reference`
|
|
76989
|
+
// after it has set the DOM reference.
|
|
76990
|
+
if (isElement$1(position.refs.reference.current) || position.refs.reference.current === null ||
|
|
76991
|
+
// Don't allow setting virtual elements using the old technique back to
|
|
76992
|
+
// `null` to support `positionReference` + an unstable `reference`
|
|
76993
|
+
// callback ref.
|
|
76994
|
+
node !== null && !isElement$1(node)) {
|
|
76995
|
+
position.refs.setReference(node);
|
|
76996
|
+
}
|
|
76997
|
+
}, [position.refs]);
|
|
76998
|
+
const refs = React__namespace.useMemo(() => ({
|
|
76999
|
+
...position.refs,
|
|
77000
|
+
setReference,
|
|
77001
|
+
setPositionReference,
|
|
77002
|
+
domReference: domReferenceRef
|
|
77003
|
+
}), [position.refs, setReference, setPositionReference]);
|
|
77004
|
+
const elements = React__namespace.useMemo(() => ({
|
|
77005
|
+
...position.elements,
|
|
77006
|
+
domReference: domReference
|
|
77007
|
+
}), [position.elements, domReference]);
|
|
77008
|
+
const context = React__namespace.useMemo(() => ({
|
|
77009
|
+
...position,
|
|
77010
|
+
...rootContext,
|
|
77011
|
+
refs,
|
|
77012
|
+
elements,
|
|
77013
|
+
nodeId
|
|
77014
|
+
}), [position, refs, elements, nodeId, rootContext]);
|
|
77015
|
+
index$3(() => {
|
|
77016
|
+
rootContext.dataRef.current.floatingContext = context;
|
|
77017
|
+
const node = tree == null ? void 0 : tree.nodesRef.current.find(node => node.id === nodeId);
|
|
77018
|
+
if (node) {
|
|
77019
|
+
node.context = context;
|
|
77020
|
+
}
|
|
77021
|
+
});
|
|
77022
|
+
return React__namespace.useMemo(() => ({
|
|
77023
|
+
...position,
|
|
77024
|
+
context,
|
|
77025
|
+
refs,
|
|
77026
|
+
elements
|
|
77027
|
+
}), [position, refs, elements, context]);
|
|
77028
|
+
}
|
|
77029
|
+
|
|
77030
|
+
const ACTIVE_KEY = 'active';
|
|
77031
|
+
const SELECTED_KEY = 'selected';
|
|
77032
|
+
function mergeProps(userProps, propsList, elementKey) {
|
|
77033
|
+
const map = new Map();
|
|
77034
|
+
const isItem = elementKey === 'item';
|
|
77035
|
+
let domUserProps = userProps;
|
|
77036
|
+
if (isItem && userProps) {
|
|
77037
|
+
const {
|
|
77038
|
+
[ACTIVE_KEY]: _,
|
|
77039
|
+
[SELECTED_KEY]: __,
|
|
77040
|
+
...validProps
|
|
77041
|
+
} = userProps;
|
|
77042
|
+
domUserProps = validProps;
|
|
77043
|
+
}
|
|
77044
|
+
return {
|
|
77045
|
+
...(elementKey === 'floating' && {
|
|
77046
|
+
tabIndex: -1
|
|
77047
|
+
}),
|
|
77048
|
+
...domUserProps,
|
|
77049
|
+
...propsList.map(value => {
|
|
77050
|
+
const propsOrGetProps = value ? value[elementKey] : null;
|
|
77051
|
+
if (typeof propsOrGetProps === 'function') {
|
|
77052
|
+
return userProps ? propsOrGetProps(userProps) : null;
|
|
77053
|
+
}
|
|
77054
|
+
return propsOrGetProps;
|
|
77055
|
+
}).concat(userProps).reduce((acc, props) => {
|
|
77056
|
+
if (!props) {
|
|
77057
|
+
return acc;
|
|
77058
|
+
}
|
|
77059
|
+
Object.entries(props).forEach(_ref => {
|
|
77060
|
+
let [key, value] = _ref;
|
|
77061
|
+
if (isItem && [ACTIVE_KEY, SELECTED_KEY].includes(key)) {
|
|
77062
|
+
return;
|
|
77063
|
+
}
|
|
77064
|
+
if (key.indexOf('on') === 0) {
|
|
77065
|
+
if (!map.has(key)) {
|
|
77066
|
+
map.set(key, []);
|
|
77067
|
+
}
|
|
77068
|
+
if (typeof value === 'function') {
|
|
77069
|
+
var _map$get;
|
|
77070
|
+
(_map$get = map.get(key)) == null || _map$get.push(value);
|
|
77071
|
+
acc[key] = function () {
|
|
77072
|
+
var _map$get2;
|
|
77073
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
77074
|
+
args[_key] = arguments[_key];
|
|
77075
|
+
}
|
|
77076
|
+
return (_map$get2 = map.get(key)) == null ? void 0 : _map$get2.map(fn => fn(...args)).find(val => val !== undefined);
|
|
77077
|
+
};
|
|
77078
|
+
}
|
|
77079
|
+
} else {
|
|
77080
|
+
acc[key] = value;
|
|
77081
|
+
}
|
|
77082
|
+
});
|
|
77083
|
+
return acc;
|
|
77084
|
+
}, {})
|
|
77085
|
+
};
|
|
77086
|
+
}
|
|
77087
|
+
/**
|
|
77088
|
+
* Merges an array of interaction hooks' props into prop getters, allowing
|
|
77089
|
+
* event handler functions to be composed together without overwriting one
|
|
77090
|
+
* another.
|
|
77091
|
+
* @see https://floating-ui.com/docs/useInteractions
|
|
77092
|
+
*/
|
|
77093
|
+
function useInteractions(propsList) {
|
|
77094
|
+
if (propsList === void 0) {
|
|
77095
|
+
propsList = [];
|
|
77096
|
+
}
|
|
77097
|
+
const referenceDeps = propsList.map(key => key == null ? void 0 : key.reference);
|
|
77098
|
+
const floatingDeps = propsList.map(key => key == null ? void 0 : key.floating);
|
|
77099
|
+
const itemDeps = propsList.map(key => key == null ? void 0 : key.item);
|
|
77100
|
+
const getReferenceProps = React__namespace.useCallback(userProps => mergeProps(userProps, propsList, 'reference'),
|
|
77101
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
77102
|
+
referenceDeps);
|
|
77103
|
+
const getFloatingProps = React__namespace.useCallback(userProps => mergeProps(userProps, propsList, 'floating'),
|
|
77104
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
77105
|
+
floatingDeps);
|
|
77106
|
+
const getItemProps = React__namespace.useCallback(userProps => mergeProps(userProps, propsList, 'item'),
|
|
77107
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
77108
|
+
itemDeps);
|
|
77109
|
+
return React__namespace.useMemo(() => ({
|
|
77110
|
+
getReferenceProps,
|
|
77111
|
+
getFloatingProps,
|
|
77112
|
+
getItemProps
|
|
77113
|
+
}), [getReferenceProps, getFloatingProps, getItemProps]);
|
|
77114
|
+
}
|
|
77115
|
+
|
|
77116
|
+
function getArgsWithCustomFloatingHeight(state, height) {
|
|
77117
|
+
return {
|
|
77118
|
+
...state,
|
|
77119
|
+
rects: {
|
|
77120
|
+
...state.rects,
|
|
77121
|
+
floating: {
|
|
77122
|
+
...state.rects.floating,
|
|
77123
|
+
height
|
|
77124
|
+
}
|
|
77125
|
+
}
|
|
77126
|
+
};
|
|
77127
|
+
}
|
|
77128
|
+
/**
|
|
77129
|
+
* Positions the floating element such that an inner element inside of it is
|
|
77130
|
+
* anchored to the reference element.
|
|
77131
|
+
* @see https://floating-ui.com/docs/inner
|
|
77132
|
+
*/
|
|
77133
|
+
const inner = props => ({
|
|
77134
|
+
name: 'inner',
|
|
77135
|
+
options: props,
|
|
77136
|
+
async fn(state) {
|
|
77137
|
+
const {
|
|
77138
|
+
listRef,
|
|
77139
|
+
overflowRef,
|
|
77140
|
+
onFallbackChange,
|
|
77141
|
+
offset: innerOffset = 0,
|
|
77142
|
+
index = 0,
|
|
77143
|
+
minItemsVisible = 4,
|
|
77144
|
+
referenceOverflowThreshold = 0,
|
|
77145
|
+
scrollRef,
|
|
77146
|
+
...detectOverflowOptions
|
|
77147
|
+
} = evaluate$1(props, state);
|
|
77148
|
+
const {
|
|
77149
|
+
rects,
|
|
77150
|
+
elements: {
|
|
77151
|
+
floating
|
|
77152
|
+
}
|
|
77153
|
+
} = state;
|
|
77154
|
+
const item = listRef.current[index];
|
|
77155
|
+
if (process.env.NODE_ENV !== "production") {
|
|
77156
|
+
if (!state.placement.startsWith('bottom')) {
|
|
77157
|
+
warn('`placement` side must be "bottom" when using the `inner`', 'middleware.');
|
|
77158
|
+
}
|
|
77159
|
+
}
|
|
77160
|
+
if (!item) {
|
|
77161
|
+
return {};
|
|
77162
|
+
}
|
|
77163
|
+
const nextArgs = {
|
|
77164
|
+
...state,
|
|
77165
|
+
...(await offset(-item.offsetTop - floating.clientTop - rects.reference.height / 2 - item.offsetHeight / 2 - innerOffset).fn(state))
|
|
77166
|
+
};
|
|
77167
|
+
const el = (scrollRef == null ? void 0 : scrollRef.current) || floating;
|
|
77168
|
+
const overflow = await detectOverflow(getArgsWithCustomFloatingHeight(nextArgs, el.scrollHeight), detectOverflowOptions);
|
|
77169
|
+
const refOverflow = await detectOverflow(nextArgs, {
|
|
77170
|
+
...detectOverflowOptions,
|
|
77171
|
+
elementContext: 'reference'
|
|
77172
|
+
});
|
|
77173
|
+
const diffY = Math.max(0, overflow.top);
|
|
77174
|
+
const nextY = nextArgs.y + diffY;
|
|
77175
|
+
const maxHeight = Math.max(0, el.scrollHeight - diffY - Math.max(0, overflow.bottom));
|
|
77176
|
+
el.style.maxHeight = maxHeight + "px";
|
|
77177
|
+
el.scrollTop = diffY;
|
|
77178
|
+
|
|
77179
|
+
// There is not enough space, fallback to standard anchored positioning
|
|
77180
|
+
if (onFallbackChange) {
|
|
77181
|
+
if (el.offsetHeight < item.offsetHeight * Math.min(minItemsVisible, listRef.current.length - 1) - 1 || refOverflow.top >= -referenceOverflowThreshold || refOverflow.bottom >= -referenceOverflowThreshold) {
|
|
77182
|
+
reactDomExports.flushSync(() => onFallbackChange(true));
|
|
77183
|
+
} else {
|
|
77184
|
+
reactDomExports.flushSync(() => onFallbackChange(false));
|
|
77185
|
+
}
|
|
77186
|
+
}
|
|
77187
|
+
if (overflowRef) {
|
|
77188
|
+
overflowRef.current = await detectOverflow(getArgsWithCustomFloatingHeight({
|
|
77189
|
+
...nextArgs,
|
|
77190
|
+
y: nextY
|
|
77191
|
+
}, el.offsetHeight), detectOverflowOptions);
|
|
77192
|
+
}
|
|
77193
|
+
return {
|
|
77194
|
+
y: nextY
|
|
77195
|
+
};
|
|
77196
|
+
}
|
|
77197
|
+
});
|
|
77198
|
+
/**
|
|
77199
|
+
* Changes the `inner` middleware's `offset` upon a `wheel` event to
|
|
77200
|
+
* expand the floating element's height, revealing more list items.
|
|
77201
|
+
* @see https://floating-ui.com/docs/inner
|
|
77202
|
+
*/
|
|
77203
|
+
function useInnerOffset(context, props) {
|
|
77204
|
+
const {
|
|
77205
|
+
open,
|
|
77206
|
+
elements
|
|
77207
|
+
} = context;
|
|
77208
|
+
const {
|
|
77209
|
+
enabled = true,
|
|
77210
|
+
overflowRef,
|
|
77211
|
+
scrollRef,
|
|
77212
|
+
onChange: unstable_onChange
|
|
77213
|
+
} = props;
|
|
77214
|
+
const onChange = useEffectEvent(unstable_onChange);
|
|
77215
|
+
const controlledScrollingRef = React__namespace.useRef(false);
|
|
77216
|
+
const prevScrollTopRef = React__namespace.useRef(null);
|
|
77217
|
+
const initialOverflowRef = React__namespace.useRef(null);
|
|
77218
|
+
React__namespace.useEffect(() => {
|
|
77219
|
+
if (!enabled) return;
|
|
77220
|
+
function onWheel(e) {
|
|
77221
|
+
if (e.ctrlKey || !el || overflowRef.current == null) {
|
|
77222
|
+
return;
|
|
77223
|
+
}
|
|
77224
|
+
const dY = e.deltaY;
|
|
77225
|
+
const isAtTop = overflowRef.current.top >= -0.5;
|
|
77226
|
+
const isAtBottom = overflowRef.current.bottom >= -0.5;
|
|
77227
|
+
const remainingScroll = el.scrollHeight - el.clientHeight;
|
|
77228
|
+
const sign = dY < 0 ? -1 : 1;
|
|
77229
|
+
const method = dY < 0 ? 'max' : 'min';
|
|
77230
|
+
if (el.scrollHeight <= el.clientHeight) {
|
|
77231
|
+
return;
|
|
77232
|
+
}
|
|
77233
|
+
if (!isAtTop && dY > 0 || !isAtBottom && dY < 0) {
|
|
77234
|
+
e.preventDefault();
|
|
77235
|
+
reactDomExports.flushSync(() => {
|
|
77236
|
+
onChange(d => d + Math[method](dY, remainingScroll * sign));
|
|
77237
|
+
});
|
|
77238
|
+
} else if (/firefox/i.test(getUserAgent())) {
|
|
77239
|
+
// Needed to propagate scrolling during momentum scrolling phase once
|
|
77240
|
+
// it gets limited by the boundary. UX improvement, not critical.
|
|
77241
|
+
el.scrollTop += dY;
|
|
77242
|
+
}
|
|
77243
|
+
}
|
|
77244
|
+
const el = (scrollRef == null ? void 0 : scrollRef.current) || elements.floating;
|
|
77245
|
+
if (open && el) {
|
|
77246
|
+
el.addEventListener('wheel', onWheel);
|
|
77247
|
+
|
|
77248
|
+
// Wait for the position to be ready.
|
|
77249
|
+
requestAnimationFrame(() => {
|
|
77250
|
+
prevScrollTopRef.current = el.scrollTop;
|
|
77251
|
+
if (overflowRef.current != null) {
|
|
77252
|
+
initialOverflowRef.current = {
|
|
77253
|
+
...overflowRef.current
|
|
77254
|
+
};
|
|
77255
|
+
}
|
|
77256
|
+
});
|
|
77257
|
+
return () => {
|
|
77258
|
+
prevScrollTopRef.current = null;
|
|
77259
|
+
initialOverflowRef.current = null;
|
|
77260
|
+
el.removeEventListener('wheel', onWheel);
|
|
77261
|
+
};
|
|
77262
|
+
}
|
|
77263
|
+
}, [enabled, open, elements.floating, overflowRef, scrollRef, onChange]);
|
|
77264
|
+
const floating = React__namespace.useMemo(() => ({
|
|
77265
|
+
onKeyDown() {
|
|
77266
|
+
controlledScrollingRef.current = true;
|
|
77267
|
+
},
|
|
77268
|
+
onWheel() {
|
|
77269
|
+
controlledScrollingRef.current = false;
|
|
77270
|
+
},
|
|
77271
|
+
onPointerMove() {
|
|
77272
|
+
controlledScrollingRef.current = false;
|
|
77273
|
+
},
|
|
77274
|
+
onScroll() {
|
|
77275
|
+
const el = (scrollRef == null ? void 0 : scrollRef.current) || elements.floating;
|
|
77276
|
+
if (!overflowRef.current || !el || !controlledScrollingRef.current) {
|
|
77277
|
+
return;
|
|
77278
|
+
}
|
|
77279
|
+
if (prevScrollTopRef.current !== null) {
|
|
77280
|
+
const scrollDiff = el.scrollTop - prevScrollTopRef.current;
|
|
77281
|
+
if (overflowRef.current.bottom < -0.5 && scrollDiff < -1 || overflowRef.current.top < -0.5 && scrollDiff > 1) {
|
|
77282
|
+
reactDomExports.flushSync(() => onChange(d => d + scrollDiff));
|
|
77283
|
+
}
|
|
77284
|
+
}
|
|
77285
|
+
|
|
77286
|
+
// [Firefox] Wait for the height change to have been applied.
|
|
77287
|
+
requestAnimationFrame(() => {
|
|
77288
|
+
prevScrollTopRef.current = el.scrollTop;
|
|
77289
|
+
});
|
|
77290
|
+
}
|
|
77291
|
+
}), [elements.floating, onChange, overflowRef, scrollRef]);
|
|
77292
|
+
return React__namespace.useMemo(() => enabled ? {
|
|
77293
|
+
floating
|
|
77294
|
+
} : {}, [enabled, floating]);
|
|
77295
|
+
}
|
|
77296
|
+
|
|
77297
|
+
let y$1=React.createContext({styles:void 0,setReference:()=>{},setFloating:()=>{},getReferenceProps:()=>({}),getFloatingProps:()=>({}),slot:{}});y$1.displayName="FloatingContext";let S$1=React.createContext(null);S$1.displayName="PlacementContext";function xe$2(e){return React.useMemo(()=>e?typeof e=="string"?{to:e}:e:null,[e])}function ye$1(){return React.useContext(y$1).setReference}function Fe$1(){return React.useContext(y$1).getReferenceProps}function be$1(){let{getFloatingProps:e,slot:t}=React.useContext(y$1);return React.useCallback((...n)=>Object.assign({},e(...n),{"data-anchor":t.anchor}),[e,t])}function Re$1(e=null){e===!1&&(e=null),typeof e=="string"&&(e={to:e});let t=React.useContext(S$1),n=React.useMemo(()=>e,[JSON.stringify(e,typeof HTMLElement!="undefined"?(a,r)=>r instanceof HTMLElement?r.outerHTML:r:void 0)]);n$3(()=>{t==null||t(n!=null?n:null);},[t,n]);let l=React.useContext(y$1);return React.useMemo(()=>[l.setFloating,e?l.styles:{}],[l.setFloating,e,l.styles])}let q=4;function ve({children:e,enabled:t=!0}){let[n,l]=React.useState(null),[a,r]=React.useState(0),c=React.useRef(null),[u,i]=React.useState(null);pe(u);let o=t&&n!==null&&u!==null,{to:F="bottom",gap:C=0,offset:M=0,padding:p=0,inner:P}=ce(n,u),[s,f="center"]=F.split(" ");n$3(()=>{o&&r(0);},[o]);let{refs:b,floatingStyles:$,context:g}=useFloating({open:o,placement:s==="selection"?f==="center"?"bottom":`bottom-${f}`:f==="center"?`${s}`:`${s}-${f}`,strategy:"absolute",transform:!1,middleware:[offset({mainAxis:s==="selection"?0:C,crossAxis:M}),shift({padding:p}),s!=="selection"&&flip({padding:p}),s==="selection"&&P?inner({...P,padding:p,overflowRef:c,offset:a,minItemsVisible:q,referenceOverflowThreshold:p,onFallbackChange(h){var W,k;if(!h)return;let d=g.elements.floating;if(!d)return;let T=parseFloat(getComputedStyle(d).scrollPaddingBottom)||0,w=Math.min(q,d.childElementCount),B=0,O=0;for(let m of (k=(W=g.elements.floating)==null?void 0:W.childNodes)!=null?k:[])if(m instanceof HTMLElement){let x=m.offsetTop,N=x+m.clientHeight+T,H=d.scrollTop,U=H+d.clientHeight;if(x>=H&&N<=U)w--;else {O=Math.max(0,Math.min(N,U)-Math.max(x,H)),B=m.clientHeight;break}}w>=1&&r(m=>{let x=B*w-O+T;return m>=x?m:x});}}):null,size({padding:p,apply({availableWidth:h,availableHeight:d,elements:T}){Object.assign(T.floating.style,{overflow:"auto",maxWidth:`${h}px`,maxHeight:`min(var(--anchor-max-height, 100vh), ${d}px)`});}})].filter(Boolean),whileElementsMounted:autoUpdate}),[I=s,V=f]=g.placement.split("-");s==="selection"&&(I="selection");let G=React.useMemo(()=>({anchor:[I,V].filter(Boolean).join(" ")}),[I,V]),K=useInnerOffset(g,{overflowRef:c,onChange:r}),{getReferenceProps:Q,getFloatingProps:X}=useInteractions([K]),Y=o$3(h=>{i(h),b.setFloating(h);});return React__namespace.createElement(S$1.Provider,{value:l},React__namespace.createElement(y$1.Provider,{value:{setFloating:Y,setReference:b.setReference,styles:$,getReferenceProps:Q,getFloatingProps:X,slot:G}},e))}function pe(e){n$3(()=>{if(!e)return;let t=new MutationObserver(()=>{let n=e.style.maxHeight;parseFloat(n)!==parseInt(n)&&(e.style.maxHeight=`${Math.ceil(parseFloat(n))}px`);});return t.observe(e,{attributes:!0,attributeFilter:["style"]}),()=>{t.disconnect();}},[e]);}function ce(e,t){var r,c,u;let n=L((r=e==null?void 0:e.gap)!=null?r:"var(--anchor-gap, 0)",t),l=L((c=e==null?void 0:e.offset)!=null?c:"var(--anchor-offset, 0)",t),a=L((u=e==null?void 0:e.padding)!=null?u:"var(--anchor-padding, 0)",t);return {...e,gap:n,offset:l,padding:a}}function L(e,t,n=void 0){let l=p$3(),a=o$3((i,o)=>{if(i==null)return [n,null];if(typeof i=="number")return [i,null];if(typeof i=="string"){if(!o)return [n,null];let F=J$2(i,o);return [F,C=>{let M=D$2(i);{let p=M.map(P=>window.getComputedStyle(o).getPropertyValue(P));l.requestAnimationFrame(function P(){l.nextFrame(P);let s=!1;for(let[b,$]of M.entries()){let g=window.getComputedStyle(o).getPropertyValue($);if(p[b]!==g){p[b]=g,s=!0;break}}if(!s)return;let f=J$2(i,o);F!==f&&(C(f),F=f);});}return l.dispose}]}return [n,null]}),r=React.useMemo(()=>a(e,t)[0],[e,t]),[c=r,u]=React.useState();return n$3(()=>{let[i,o]=a(e,t);if(u(i),!!o)return o(u)},[e,t]),c}function D$2(e){let t=/var\((.*)\)/.exec(e);if(t){let n=t[1].indexOf(",");if(n===-1)return [t[1]];let l=t[1].slice(0,n).trim(),a=t[1].slice(n+1).trim();return a?[l,...D$2(a)]:[l]}return []}function J$2(e,t){let n=document.createElement("div");t.appendChild(n),n.style.setProperty("margin-top","0px","important"),n.style.setProperty("margin-top",e,"important");let l=parseFloat(window.getComputedStyle(n).marginTop)||0;return t.removeChild(n),l}
|
|
77298
|
+
|
|
77299
|
+
let n=React.createContext(null);n.displayName="OpenClosedContext";var i=(e=>(e[e.Open=1]="Open",e[e.Closed=2]="Closed",e[e.Closing=4]="Closing",e[e.Opening=8]="Opening",e))(i||{});function u$2(){return React.useContext(n)}function c$2({value:o,children:t}){return React.createElement(n.Provider,{value:o},t)}function s$2({children:o}){return React.createElement(n.Provider,{value:null},o)}
|
|
77300
|
+
|
|
77301
|
+
function t$2(n){function e(){document.readyState!=="loading"&&(n(),document.removeEventListener("DOMContentLoaded",e));}typeof window!="undefined"&&typeof document!="undefined"&&(document.addEventListener("DOMContentLoaded",e),e());}
|
|
77302
|
+
|
|
77303
|
+
let t$1=[];t$2(()=>{function e(n){n.target instanceof HTMLElement&&n.target!==document.body&&t$1[0]!==n.target&&(t$1.unshift(n.target),t$1=t$1.filter(r=>r!=null&&r.isConnected),t$1.splice(10));}window.addEventListener("click",e,{capture:!0}),window.addEventListener("mousedown",e,{capture:!0}),window.addEventListener("focus",e,{capture:!0}),document.body.addEventListener("click",e,{capture:!0}),document.body.addEventListener("mousedown",e,{capture:!0}),document.body.addEventListener("focus",e,{capture:!0});});
|
|
77304
|
+
|
|
77305
|
+
function u$1(l){throw new Error("Unexpected object: "+l)}var c$1=(i=>(i[i.First=0]="First",i[i.Previous=1]="Previous",i[i.Next=2]="Next",i[i.Last=3]="Last",i[i.Specific=4]="Specific",i[i.Nothing=5]="Nothing",i))(c$1||{});function f$2(l,n){let t=n.resolveItems();if(t.length<=0)return null;let r=n.resolveActiveIndex(),s=r!=null?r:-1;switch(l.focus){case 0:{for(let e=0;e<t.length;++e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 1:{s===-1&&(s=t.length);for(let e=s-1;e>=0;--e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 2:{for(let e=s+1;e<t.length;++e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 3:{for(let e=t.length-1;e>=0;--e)if(!n.resolveDisabled(t[e],e,t))return e;return r}case 4:{for(let e=0;e<t.length;++e)if(n.resolveId(t[e],e,t)===l.id)return e;return r}case 5:return null;default:u$1(l);}}
|
|
77306
|
+
|
|
77307
|
+
function c(t){let r=o$3(t),e=React.useRef(!1);React.useEffect(()=>(e.current=!1,()=>{e.current=!0,t$6(()=>{e.current&&r();});}),[r]);}
|
|
77308
|
+
|
|
77309
|
+
function s$1(){let r=typeof document=="undefined";return "useSyncExternalStore"in React__namespace?(o=>o.useSyncExternalStore)(React__namespace)(()=>()=>{},()=>!1,()=>!r):!1}function l$1(){let r=s$1(),[e,n]=React__namespace.useState(s$7.isHandoffComplete);return e&&s$7.isHandoffComplete===!1&&n(!1),React__namespace.useEffect(()=>{e!==!0&&n(!0);},[e]),React__namespace.useEffect(()=>s$7.handoff(),[]),r?!1:e}
|
|
77310
|
+
|
|
77311
|
+
let e=React.createContext(!1);function a$4(){return React.useContext(e)}function l(o){return React.createElement(e.Provider,{value:o.force},o.children)}
|
|
77312
|
+
|
|
77313
|
+
function D$1(p){let r=a$4(),l=React.useContext(v),e=n$1(p),[o,n]=React.useState(()=>{var t;if(!r&&l!==null)return (t=l.current)!=null?t:null;if(s$7.isServer)return null;let u=e==null?void 0:e.getElementById("headlessui-portal-root");if(u)return u;if(e===null)return null;let a=e.createElement("div");return a.setAttribute("id","headlessui-portal-root"),e.body.appendChild(a)});return React.useEffect(()=>{o!==null&&(e!=null&&e.body.contains(o)||e==null||e.body.appendChild(o));},[o,e]),React.useEffect(()=>{r||l!==null&&n(l.current);},[l,n,r]),o}let M$2=React.Fragment,N=I$5(function(r,l){let e=r,o=React.useRef(null),n=y$4(T$2(i=>{o.current=i;}),l),u=n$1(o),a=D$1(o),[t]=React.useState(()=>{var i;return s$7.isServer?null:(i=u==null?void 0:u.createElement("div"))!=null?i:null}),s=React.useContext(y),b=l$1();return n$3(()=>{!a||!t||a.contains(t)||(t.setAttribute("data-headlessui-portal",""),a.appendChild(t));},[a,t]),n$3(()=>{if(t&&s)return s.register(t)},[s,t]),c(()=>{var i;!a||!t||(t instanceof Node&&a.contains(t)&&a.removeChild(t),a.childNodes.length<=0&&((i=a.parentElement)==null||i.removeChild(a)));}),b?!a||!t?null:reactDomExports.createPortal(H$2({ourProps:{ref:n},theirProps:e,slot:{},defaultTag:M$2,name:"Portal"}),t):null});function S(p,r){let l=y$4(r),{enabled:e=!0,...o}=p;return e?React.createElement(N,{...o,ref:l}):H$2({ourProps:{ref:l},theirProps:o,slot:{},defaultTag:M$2,name:"Portal"})}let j$2=React.Fragment,v=React.createContext(null);function W$1(p,r){let{target:l,...e}=p,n={ref:y$4(r)};return React.createElement(v.Provider,{value:l},H$2({ourProps:n,theirProps:e,defaultTag:j$2,name:"Popover.Group"}))}let y=React.createContext(null);function ee$1(){let p=React.useContext(y),r=React.useRef([]),l=o$3(n=>(r.current.push(n),p&&p.register(n),()=>e(n))),e=o$3(n=>{let u=r.current.indexOf(n);u!==-1&&r.current.splice(u,1),p&&p.unregister(n);}),o=React.useMemo(()=>({register:l,unregister:e,portals:r}),[l,e,r]);return [r,React.useMemo(()=>function({children:u}){return React.createElement(y.Provider,{value:o},u)},[o])]}let I$2=I$5(S),J$1=I$5(W$1),te$1=Object.assign(I$2,{Group:J$1});
|
|
77314
|
+
|
|
77315
|
+
function a$3(o,r=typeof document!="undefined"?document.defaultView:null,t){let n=x$2(o,"escape");E(r,"keydown",e=>{n&&(e.defaultPrevented||e.key===o$2.Escape&&t(e));});}
|
|
77316
|
+
|
|
77317
|
+
function f$1(){var t;let[e]=React.useState(()=>typeof window!="undefined"&&typeof window.matchMedia=="function"?window.matchMedia("(pointer: coarse)"):null),[o,c]=React.useState((t=e==null?void 0:e.matches)!=null?t:!1);return n$3(()=>{if(!e)return;function n(r){c(r.matches);}return e.addEventListener("change",n),()=>e.removeEventListener("change",n)},[e]),o}
|
|
77318
|
+
|
|
77319
|
+
function j$1({defaultContainers:o=[],portals:r,mainTreeNodeRef:u}={}){var f;let t=React.useRef((f=u==null?void 0:u.current)!=null?f:null),l=n$1(t),c=o$3(()=>{var i,s,a;let n=[];for(let e of o)e!==null&&(e instanceof HTMLElement?n.push(e):"current"in e&&e.current instanceof HTMLElement&&n.push(e.current));if(r!=null&&r.current)for(let e of r.current)n.push(e);for(let e of (i=l==null?void 0:l.querySelectorAll("html > *, body > *"))!=null?i:[])e!==document.body&&e!==document.head&&e instanceof HTMLElement&&e.id!=="headlessui-portal-root"&&(e.contains(t.current)||e.contains((a=(s=t.current)==null?void 0:s.getRootNode())==null?void 0:a.host)||n.some(L=>e.contains(L))||n.push(e));return n});return {resolveContainers:c,contains:o$3(n=>c().some(i=>i.contains(n))),mainTreeNodeRef:t,MainTreeNode:React.useMemo(()=>function(){return u!=null?null:React.createElement(T$3,{features:s$5.Hidden,ref:t})},[t,u])}}
|
|
77320
|
+
|
|
77321
|
+
function f(){let e=React.useRef(!1);return n$3(()=>(e.current=!0,()=>{e.current=!1;}),[]),e}
|
|
77322
|
+
|
|
77323
|
+
var a$2=(r=>(r[r.Forwards=0]="Forwards",r[r.Backwards=1]="Backwards",r))(a$2||{});function u(){let e=React.useRef(0);return s$3(!0,"keydown",r=>{r.key==="Tab"&&(e.current=r.shiftKey?1:0);},!0),e}
|
|
77324
|
+
|
|
77325
|
+
function U(o){if(!o)return new Set;if(typeof o=="function")return new Set(o());let e=new Set;for(let t of o.current)t.current instanceof HTMLElement&&e.add(t.current);return e}let Y$1="div";var x$1=(n=>(n[n.None=0]="None",n[n.InitialFocus=1]="InitialFocus",n[n.TabLock=2]="TabLock",n[n.FocusLock=4]="FocusLock",n[n.RestoreFocus=8]="RestoreFocus",n[n.AutoFocus=16]="AutoFocus",n))(x$1||{});function Z(o,e){let t=React.useRef(null),r=y$4(t,e),{initialFocus:s,initialFocusFallback:a,containers:n,features:u$1=15,...f}=o;l$1()||(u$1=0);let l=n$1(t);w$1(u$1,{ownerDocument:l});let i=ee(u$1,{ownerDocument:l,container:t,initialFocus:s,initialFocusFallback:a});te(u$1,{ownerDocument:l,container:t,containers:n,previousActiveElement:i});let R=u(),g=o$3(c=>{let m=t.current;if(!m)return;(B=>B())(()=>{u$8(R.current,{[a$2.Forwards]:()=>{P(m,F$4.First,{skipElements:[c.relatedTarget,a]});},[a$2.Backwards]:()=>{P(m,F$4.Last,{skipElements:[c.relatedTarget,a]});}});});}),v=x$2(!!(u$1&2),"focus-trap#tab-lock"),N=p$3(),F=React.useRef(!1),k={ref:r,onKeyDown(c){c.key=="Tab"&&(F.current=!0,N.requestAnimationFrame(()=>{F.current=!1;}));},onBlur(c){if(!(u$1&4))return;let m=U(n);t.current instanceof HTMLElement&&m.add(t.current);let d=c.relatedTarget;d instanceof HTMLElement&&d.dataset.headlessuiFocusGuard!=="true"&&(I$1(m,d)||(F.current?P(t.current,u$8(R.current,{[a$2.Forwards]:()=>F$4.Next,[a$2.Backwards]:()=>F$4.Previous})|F$4.WrapAround,{relativeTo:c.target}):c.target instanceof HTMLElement&&I$3(c.target)));}};return React.createElement(React.Fragment,null,v&&React.createElement(T$3,{as:"button",type:"button","data-headlessui-focus-guard":!0,onFocus:g,features:s$5.Focusable}),H$2({ourProps:k,theirProps:f,defaultTag:Y$1,name:"FocusTrap"}),v&&React.createElement(T$3,{as:"button",type:"button","data-headlessui-focus-guard":!0,onFocus:g,features:s$5.Focusable}))}let $=I$5(Z),Fe=Object.assign($,{features:x$1});function D(o=!0){let e=React.useRef(t$1.slice());return m(([t],[r])=>{r===!0&&t===!1&&t$6(()=>{e.current.splice(0);}),r===!1&&t===!0&&(e.current=t$1.slice());},[o,t$1,e]),o$3(()=>{var t;return (t=e.current.find(r=>r!=null&&r.isConnected))!=null?t:null})}function w$1(o,{ownerDocument:e}){let t=!!(o&8),r=D(t);m(()=>{t||(e==null?void 0:e.activeElement)===(e==null?void 0:e.body)&&I$3(r());},[t]),c(()=>{t&&I$3(r());});}function ee(o,{ownerDocument:e,container:t,initialFocus:r,initialFocusFallback:s}){let a=React.useRef(null),n=x$2(!!(o&1),"focus-trap#initial-focus"),u=f();return m(()=>{if(o===0)return;if(!n){s!=null&&s.current&&I$3(s.current);return}let f=t.current;f&&t$6(()=>{if(!u.current)return;let l=e==null?void 0:e.activeElement;if(r!=null&&r.current){if((r==null?void 0:r.current)===l){a.current=l;return}}else if(f.contains(l)){a.current=l;return}if(r!=null&&r.current)I$3(r.current);else {if(o&16){if(P(f,F$4.First|F$4.AutoFocus)!==T$1.Error)return}else if(P(f,F$4.First)!==T$1.Error)return;if(s!=null&&s.current&&(I$3(s.current),(e==null?void 0:e.activeElement)===s.current))return;console.warn("There are no focusable elements inside the <FocusTrap />");}a.current=e==null?void 0:e.activeElement;});},[s,n,o]),a}function te(o,{ownerDocument:e,container:t,containers:r,previousActiveElement:s}){let a=f(),n=!!(o&4);E(e==null?void 0:e.defaultView,"focus",u=>{if(!n||!a.current)return;let f=U(r);t.current instanceof HTMLElement&&f.add(t.current);let l=s.current;if(!l)return;let i=u.target;i&&i instanceof HTMLElement?I$1(f,i)?(s.current=i,I$3(i)):(u.preventDefault(),u.stopPropagation(),I$3(l)):I$3(s.current);},!0);}function I$1(o,e){for(let t of o)if(t.contains(e))return !0;return !1}
|
|
77326
|
+
|
|
77327
|
+
function le(e){var t;return !!(e.enter||e.enterFrom||e.enterTo||e.leave||e.leaveFrom||e.leaveTo)||((t=e.as)!=null?t:ue)!==React.Fragment||React.Children.count(e.children)===1}let V$1=React.createContext(null);V$1.displayName="TransitionContext";var xe$1=(i=>(i.Visible="visible",i.Hidden="hidden",i))(xe$1||{});function Ne$1(){let e=React.useContext(V$1);if(e===null)throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");return e}function _e(){let e=React.useContext(w);if(e===null)throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");return e}let w=React.createContext(null);w.displayName="NestingContext";function M$1(e){return "children"in e?M$1(e.children):e.current.filter(({el:t})=>t.current!==null).filter(({state:t})=>t==="visible").length>0}function ae(e,t){let i=s$6(e),l=React.useRef([]),S=f(),E=p$3(),u=o$3((s,r=M$4.Hidden)=>{let n=l.current.findIndex(({el:o})=>o===s);n!==-1&&(u$8(r,{[M$4.Unmount](){l.current.splice(n,1);},[M$4.Hidden](){l.current[n].state="hidden";}}),E.microTask(()=>{var o;!M$1(l)&&S.current&&((o=i.current)==null||o.call(i));}));}),y=o$3(s=>{let r=l.current.find(({el:n})=>n===s);return r?r.state!=="visible"&&(r.state="visible"):l.current.push({el:s,state:"visible"}),()=>u(s,M$4.Unmount)}),c=React.useRef([]),f$1=React.useRef(Promise.resolve()),p=React.useRef({enter:[],leave:[]}),m=o$3((s,r,n)=>{c.current.splice(0),t&&(t.chains.current[r]=t.chains.current[r].filter(([o])=>o!==s)),t==null||t.chains.current[r].push([s,new Promise(o=>{c.current.push(o);})]),t==null||t.chains.current[r].push([s,new Promise(o=>{Promise.all(p.current[r].map(([R,x])=>x)).then(()=>o());})]),r==="enter"?f$1.current=f$1.current.then(()=>t==null?void 0:t.wait.current).then(()=>n(r)):n(r);}),C=o$3((s,r,n)=>{Promise.all(p.current[r].splice(0).map(([o,R])=>R)).then(()=>{var o;(o=c.current.shift())==null||o();}).then(()=>n(r));});return React.useMemo(()=>({children:l,register:y,unregister:u,onStart:m,onStop:C,wait:f$1,chains:p}),[y,u,l,m,C,p,f$1])}let ue=React.Fragment,Te$1=O$1.RenderStrategy;function De$1(e,t){var Z,$;let{transition:i$1=!0,beforeEnter:l,afterEnter:S,beforeLeave:E,afterLeave:u,enter:y,enterFrom:c,enterTo:f,entered:p,leave:m,leaveFrom:C,leaveTo:s,...r}=e,n=React.useRef(null),o=le(e),R=y$4(...o?[n,t]:t===null?[]:[t]),x=(Z=r.unmount)==null||Z?M$4.Unmount:M$4.Hidden,{show:T,appear:h,initial:X}=Ne$1(),[g,U]=React.useState(T?"visible":"hidden"),z=_e(),{register:A$1,unregister:I}=z;n$3(()=>A$1(n),[A$1,n]),n$3(()=>{if(x===M$4.Hidden&&n.current){if(T&&g!=="visible"){U("visible");return}return u$8(g,{["hidden"]:()=>I(n),["visible"]:()=>A$1(n)})}},[g,n,A$1,I,T,x]);let j=l$1();n$3(()=>{if(o&&j&&g==="visible"&&n.current===null)throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?")},[n,g,j,o]);let fe=X&&!h,K=h&&T&&X,G=React.useRef(!1),F=ae(()=>{G.current||(U("hidden"),I(n));},z),Q=o$3(B=>{G.current=!0;let L=B?"enter":"leave";F.onStart(n,L,D=>{D==="enter"?l==null||l():D==="leave"&&(E==null||E());});}),Y=o$3(B=>{let L=B?"enter":"leave";G.current=!1,F.onStop(n,L,D=>{D==="enter"?S==null||S():D==="leave"&&(u==null||u());}),L==="leave"&&!M$1(F)&&(U("hidden"),I(n));});React.useEffect(()=>{o&&i$1||(Q(T),Y(T));},[T,o,i$1]);let me=(()=>!(!i$1||!o||!j||fe))(),[,a]=V$2(me,n,T,{start:Q,end:Y}),ce=m$4({ref:R,className:(($=t$5(r.className,K&&y,K&&c,a.enter&&y,a.enter&&a.closed&&c,a.enter&&!a.closed&&f,a.leave&&m,a.leave&&!a.closed&&C,a.leave&&a.closed&&s,!a.transition&&T&&p))==null?void 0:$.trim())||void 0,...A(a)}),_=0;return g==="visible"&&(_|=i.Open),g==="hidden"&&(_|=i.Closed),a.enter&&(_|=i.Opening),a.leave&&(_|=i.Closing),React.createElement(w.Provider,{value:F},React.createElement(c$2,{value:_},H$2({ourProps:ce,theirProps:r,defaultTag:ue,features:Te$1,visible:g==="visible",name:"Transition.Child"})))}function He$1(e,t){let{show:i$1,appear:l=!1,unmount:S=!0,...E}=e,u=React.useRef(null),y=le(e),c=y$4(...y?[u,t]:t===null?[]:[t]);l$1();let f=u$2();if(i$1===void 0&&f!==null&&(i$1=(f&i.Open)===i.Open),i$1===void 0)throw new Error("A <Transition /> is used but it is missing a `show={true | false}` prop.");let[p,m]=React.useState(i$1?"visible":"hidden"),C=ae(()=>{i$1||m("hidden");}),[s,r]=React.useState(!0),n=React.useRef([i$1]);n$3(()=>{s!==!1&&n.current[n.current.length-1]!==i$1&&(n.current.push(i$1),r(!1));},[n,i$1]);let o=React.useMemo(()=>({show:i$1,appear:l,initial:s}),[i$1,l,s]);m$2(i$1,u,()=>m("hidden")),n$3(()=>{i$1?m("visible"):!M$1(C)&&u.current!==null&&m("hidden");},[i$1,C]);let R={unmount:S},x=o$3(()=>{var h;s&&r(!1),(h=e.beforeEnter)==null||h.call(e);}),T=o$3(()=>{var h;s&&r(!1),(h=e.beforeLeave)==null||h.call(e);});return React.createElement(w.Provider,{value:C},React.createElement(V$1.Provider,{value:o},H$2({ourProps:{...R,as:React.Fragment,children:React.createElement(de$1,{ref:c,...R,...E,beforeEnter:x,beforeLeave:T})},theirProps:{},defaultTag:React.Fragment,features:Te$1,visible:p==="visible",name:"Transition"})))}function Ae$1(e,t){let i=React.useContext(V$1)!==null,l=u$2()!==null;return React.createElement(React.Fragment,null,!i&&l?React.createElement(J,{ref:t,...e}):React.createElement(de$1,{ref:t,...e}))}let J=I$5(He$1),de$1=I$5(De$1),Ie$2=I$5(Ae$1),Xe$1=Object.assign(J,{Child:Ie$2,Root:J});
|
|
77328
|
+
|
|
77329
|
+
var xe=(o=>(o[o.Open=0]="Open",o[o.Closed=1]="Closed",o))(xe||{}),Le=(t=>(t[t.SetTitleId=0]="SetTitleId",t))(Le||{});let Oe={[0](e,t){return e.titleId===t.id?e:{...e,titleId:t.id}}},I=React.createContext(null);I.displayName="DialogContext";function x(e){let t=React.useContext(I);if(t===null){let o=new Error(`<${e} /> is missing a parent <Dialog /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(o,x),o}return t}function he(e,t){return u$8(t.type,Oe,e,t)}let Y=I$5(function(t,o){let a=React.useId(),{id:i$1=`headlessui-dialog-${a}`,open:l$2,onClose:p,initialFocus:d,role:s="dialog",autoFocus:C=!0,__demoMode:f=!1,...G}=t,L=React.useRef(!1);s=function(){return s==="dialog"||s==="alertdialog"?s:(L.current||(L.current=!0,console.warn(`Invalid role [${s}] passed to <Dialog />. Only \`dialog\` and and \`alertdialog\` are supported. Using \`dialog\` instead.`)),"dialog")}();let g=u$2();l$2===void 0&&g!==null&&(l$2=(g&i.Open)===i.Open);let u=React.useRef(null),J=y$4(u,o),F=n$1(u),T=l$2?0:1,[b,K]=React.useReducer(he,{titleId:null,descriptionId:null,panelRef:React.createRef()}),m=o$3(()=>p(!1)),k=o$3(r=>K({type:0,id:r})),c=l$1()?T===0:!1,[X,V]=ee$1(),q={get current(){var r;return (r=b.panelRef.current)!=null?r:u.current}},{resolveContainers:O,mainTreeNodeRef:z,MainTreeNode:Q}=j$1({portals:X,defaultContainers:[q]}),M=g!==null?(g&i.Closing)===i.Closing:!1;y$3(f||M?!1:c,{allowed:o$3(()=>{var r,P;return [(P=(r=u.current)==null?void 0:r.closest("[data-headlessui-portal]"))!=null?P:null]}),disallowed:o$3(()=>{var r,P;return [(P=(r=z.current)==null?void 0:r.closest("body > *:not(#headlessui-portal-root)"))!=null?P:null]})}),F$3(c,O,r=>{r.preventDefault(),m();}),a$3(c,F==null?void 0:F.defaultView,r=>{r.preventDefault(),r.stopPropagation(),document.activeElement&&"blur"in document.activeElement&&typeof document.activeElement.blur=="function"&&document.activeElement.blur(),m();}),f$3(f||M?!1:c,F,O),m$2(c,u,m);let[Z,ee]=U$2(),te=React.useMemo(()=>[{dialogState:T,close:m,setTitleId:k},b],[T,b,m,k]),w=React.useMemo(()=>({open:T===0}),[T]),oe={ref:J,id:i$1,role:s,tabIndex:-1,"aria-modal":f?void 0:T===0?!0:void 0,"aria-labelledby":b.titleId,"aria-describedby":Z},ne=!f$1(),D=x$1.None;return c&&!f&&(D|=x$1.RestoreFocus,D|=x$1.TabLock,C&&(D|=x$1.AutoFocus),ne&&(D|=x$1.InitialFocus)),React.createElement(s$2,null,React.createElement(l,{force:!0},React.createElement(te$1,null,React.createElement(I.Provider,{value:te},React.createElement(J$1,{target:u},React.createElement(l,{force:!1},React.createElement(ee,{slot:w},React.createElement(V,null,React.createElement(Fe,{initialFocus:d,initialFocusFallback:u,containers:O,features:D},React.createElement(u$5,{value:m},H$2({ourProps:oe,theirProps:G,slot:w,defaultTag:Se$1,features:Ie$1,visible:T===0,name:"Dialog"})))))))))),React.createElement(c$5,null,React.createElement(Q,null)))}),Se$1="div",Ie$1=O$1.RenderStrategy|O$1.Static;function Ge(e,t){let{transition:o=!1,open:a,...i}=e,l=u$2(),p=e.hasOwnProperty("open")||l!==null,d=e.hasOwnProperty("onClose");if(!p&&!d)throw new Error("You have to provide an `open` and an `onClose` prop to the `Dialog` component.");if(!p)throw new Error("You provided an `onClose` prop to the `Dialog`, but forgot an `open` prop.");if(!d)throw new Error("You provided an `open` prop to the `Dialog`, but forgot an `onClose` prop.");if(!l&&typeof e.open!="boolean")throw new Error(`You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${e.open}`);if(typeof e.onClose!="function")throw new Error(`You provided an \`onClose\` prop to the \`Dialog\`, but the value is not a function. Received: ${e.onClose}`);return !(l!==null)&&a!==void 0&&!i.static?React.createElement(Xe$1,{show:a,transition:o,unmount:i.unmount},React.createElement(Y,{ref:t,...i})):React.createElement(Y,{ref:t,open:a,...i})}let ke="div";function Me(e,t){let o=React.useId(),{id:a=`headlessui-dialog-panel-${o}`,transition:i=!1,...l}=e,[{dialogState:p},d]=x("Dialog.Panel"),s=y$4(t,d.panelRef),C=React.useMemo(()=>({open:p===0}),[p]),f=o$3(g=>{g.stopPropagation();});return React.createElement(i?Ie$2:React.Fragment,null,H$2({ourProps:{ref:s,id:a,onClick:f},theirProps:l,slot:C,defaultTag:ke,name:"Dialog.Panel"}))}let we="div";function He(e,t){let{transition:o=!1,...a}=e,[{dialogState:i}]=x("Dialog.Backdrop"),l=React.useMemo(()=>({open:i===0}),[i]);return React.createElement(o?Ie$2:React.Fragment,null,H$2({ourProps:{ref:t,"aria-hidden":!0},theirProps:a,slot:l,defaultTag:we,name:"Dialog.Backdrop"}))}let Be="h2";function Ue(e,t){let o=React.useId(),{id:a=`headlessui-dialog-title-${o}`,...i}=e,[{dialogState:l,setTitleId:p}]=x("Dialog.Title"),d=y$4(t);React.useEffect(()=>(p(a),()=>p(null)),[a,p]);let s=React.useMemo(()=>({open:l===0}),[l]);return H$2({ourProps:{ref:d,id:a},theirProps:i,slot:s,defaultTag:Be,name:"Dialog.Title"})}let Ne=I$5(Ge),We$1=I$5(Me),ct$1=I$5(He),$e$1=I$5(Ue),Pt=Object.assign(Ne,{Panel:We$1,Title:$e$1,Description:w$3});
|
|
77330
|
+
|
|
77331
|
+
var t;let a$1=(t=React.startTransition)!=null?t:function(i){i();};
|
|
77332
|
+
|
|
77333
|
+
var de=(r=>(r[r.Open=0]="Open",r[r.Closed=1]="Closed",r))(de||{}),fe=(t=>(t[t.ToggleDisclosure=0]="ToggleDisclosure",t[t.CloseDisclosure=1]="CloseDisclosure",t[t.SetButtonId=2]="SetButtonId",t[t.SetPanelId=3]="SetPanelId",t[t.LinkPanel=4]="LinkPanel",t[t.UnlinkPanel=5]="UnlinkPanel",t))(fe||{});let Te={[0]:e=>({...e,disclosureState:u$8(e.disclosureState,{[0]:1,[1]:0})}),[1]:e=>e.disclosureState===1?e:{...e,disclosureState:1},[4](e){return e.linkedPanel===!0?e:{...e,linkedPanel:!0}},[5](e){return e.linkedPanel===!1?e:{...e,linkedPanel:!1}},[2](e,n){return e.buttonId===n.buttonId?e:{...e,buttonId:n.buttonId}},[3](e,n){return e.panelId===n.panelId?e:{...e,panelId:n.panelId}}},M=React.createContext(null);M.displayName="DisclosureContext";function F(e){let n=React.useContext(M);if(n===null){let r=new Error(`<${e} /> is missing a parent <Disclosure /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,F),r}return n}let k=React.createContext(null);k.displayName="DisclosureAPIContext";function V(e){let n=React.useContext(k);if(n===null){let r=new Error(`<${e} /> is missing a parent <Disclosure /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,V),r}return n}let H=React.createContext(null);H.displayName="DisclosurePanelContext";function De(){return React.useContext(H)}function Pe(e,n){return u$8(n.type,Te,e,n)}let ye=React.Fragment;function me(e,n){let{defaultOpen:r=!1,...c}=e,s=React.useRef(null),d=y$4(n,T$2(u=>{s.current=u;},e.as===void 0||e.as===React.Fragment)),t=React.useRef(null),o=React.useRef(null),l=React.useReducer(Pe,{disclosureState:r?0:1,linkedPanel:!1,buttonRef:o,panelRef:t,buttonId:null,panelId:null}),[{disclosureState:f,buttonId:i$1},T]=l,p=o$3(u=>{T({type:1});let P=u$9(s);if(!P||!i$1)return;let y=(()=>u?u instanceof HTMLElement?u:u.current instanceof HTMLElement?u.current:P.getElementById(i$1):P.getElementById(i$1))();y==null||y.focus();}),E=React.useMemo(()=>({close:p}),[p]),D=React.useMemo(()=>({open:f===0,close:p}),[f,p]),g={ref:d};return React.createElement(M.Provider,{value:l},React.createElement(k.Provider,{value:E},React.createElement(u$5,{value:p},React.createElement(c$2,{value:u$8(f,{[0]:i.Open,[1]:i.Closed})},H$2({ourProps:g,theirProps:c,slot:D,defaultTag:ye,name:"Disclosure"})))))}let Ee="button";function ge(e,n){let r=React.useId(),{id:c=`headlessui-disclosure-button-${r}`,disabled:s=!1,autoFocus:d=!1,...t}=e,[o,l]=F("Disclosure.Button"),f=De(),i=f===null?!1:f===o.panelId,T$1=React.useRef(null),p=y$4(T$1,n,i?null:o.buttonRef),E=U$3();React.useEffect(()=>{if(!i)return l({type:2,buttonId:c}),()=>{l({type:2,buttonId:null});}},[c,l,i]);let D=o$3(a=>{var S;if(i){if(o.disclosureState===1)return;switch(a.key){case o$2.Space:case o$2.Enter:a.preventDefault(),a.stopPropagation(),l({type:0}),(S=o.buttonRef.current)==null||S.focus();break}}else switch(a.key){case o$2.Space:case o$2.Enter:a.preventDefault(),a.stopPropagation(),l({type:0});break}}),g=o$3(a=>{switch(a.key){case o$2.Space:a.preventDefault();break}}),u=o$3(a=>{var S;r$1(a.currentTarget)||s||(i?(l({type:0}),(S=o.buttonRef.current)==null||S.focus()):l({type:0}));}),{isFocusVisible:P,focusProps:y}=$f7dceffc5ad7768b$export$4e328f61c538687f({autoFocus:d}),{isHovered:U,hoverProps:h}=$6179b936705e76d3$export$ae780daf29e6d456({isDisabled:s}),{pressed:N,pressProps:w}=w$4({disabled:s}),q=React.useMemo(()=>({open:o.disclosureState===0,hover:U,active:N,disabled:s,focus:P,autofocus:d}),[o,U,N,P,s,d]),G=T(e,T$1),z=i?D$4({ref:p,type:G,disabled:s||void 0,autoFocus:d,onKeyDown:D,onClick:u},y,h,w):D$4({ref:p,id:c,type:G,"aria-expanded":o.disclosureState===0,"aria-controls":o.linkedPanel?o.panelId:void 0,disabled:s||void 0,autoFocus:d,onKeyDown:D,onKeyUp:g,onClick:u},y,h,w);return H$2({mergeRefs:E,ourProps:z,theirProps:t,slot:q,defaultTag:Ee,name:"Disclosure.Button"})}let Se="div",be=O$1.RenderStrategy|O$1.Static;function Re(e,n){let r=React.useId(),{id:c=`headlessui-disclosure-panel-${r}`,transition:s=!1,...d}=e,[t,o]=F("Disclosure.Panel"),{close:l}=V("Disclosure.Panel"),f=U$3(),i$1=y$4(n,t.panelRef,u=>{a$1(()=>o({type:u?4:5}));});React.useEffect(()=>(o({type:3,panelId:c}),()=>{o({type:3,panelId:null});}),[c,o]);let T=u$2(),[p,E]=V$2(s,t.panelRef,T!==null?(T&i.Open)===i.Open:t.disclosureState===0),D=React.useMemo(()=>({open:t.disclosureState===0,close:l}),[t.disclosureState,l]),g={ref:i$1,id:c,...A(E)};return React.createElement(s$2,null,React.createElement(H.Provider,{value:t.panelId},H$2({mergeRefs:f,ourProps:g,theirProps:d,slot:D,defaultTag:Se,features:be,visible:p,name:"Disclosure.Panel"})))}let Ae=I$5(me),Ce=I$5(ge),Ie=I$5(Re),We=Object.assign(Ae,{Button:Ce,Panel:Ie});
|
|
77334
|
+
|
|
77335
|
+
function p(r,e){let t=React.useRef({left:0,top:0});if(n$3(()=>{let u=e.current;if(!u)return;let l=u.getBoundingClientRect();l&&(t.current=l);},[r]),e.current==null||!r||e.current===document.activeElement)return !1;let n=e.current.getBoundingClientRect();return n.top!==t.current.top||n.left!==t.current.left}
|
|
77336
|
+
|
|
77337
|
+
let a=/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;function o(e){var r,i;let n=(r=e.innerText)!=null?r:"",t=e.cloneNode(!0);if(!(t instanceof HTMLElement))return n;let u=!1;for(let f of t.querySelectorAll('[hidden],[aria-hidden],[role="img"]'))f.remove(),u=!0;let l=u?(i=t.innerText)!=null?i:"":n;return a.test(l)&&(l=l.replace(a,"")),l}function g(e){let n=e.getAttribute("aria-label");if(typeof n=="string")return n.trim();let t=e.getAttribute("aria-labelledby");if(t){let u=t.split(" ").map(l=>{let r=document.getElementById(l);if(r){let i=r.getAttribute("aria-label");return typeof i=="string"?i.trim():o(r).trim()}return null}).filter(Boolean);if(u.length>0)return u.join(", ")}return o(e).trim()}
|
|
77338
|
+
|
|
77339
|
+
function s(c){let t=React.useRef(""),r=React.useRef("");return o$3(()=>{let e=c.current;if(!e)return "";let u=e.innerText;if(t.current===u)return r.current;let n=g(e).trim().toLowerCase();return t.current=u,r.current=n,n})}
|
|
77340
|
+
|
|
77341
|
+
var Je=(r=>(r[r.Open=0]="Open",r[r.Closed=1]="Closed",r))(Je||{}),Ve=(r=>(r[r.Pointer=0]="Pointer",r[r.Other=1]="Other",r))(Ve||{}),Xe=(n=>(n[n.OpenMenu=0]="OpenMenu",n[n.CloseMenu=1]="CloseMenu",n[n.GoToItem=2]="GoToItem",n[n.Search=3]="Search",n[n.ClearSearch=4]="ClearSearch",n[n.RegisterItem=5]="RegisterItem",n[n.UnregisterItem=6]="UnregisterItem",n))(Xe||{});function W(e,a=r=>r){let r=e.activeItemIndex!==null?e.items[e.activeItemIndex]:null,i=_(a(e.items.slice()),l=>l.dataRef.current.domRef.current),o=r?i.indexOf(r):null;return o===-1&&(o=null),{items:i,activeItemIndex:o}}let $e={[1](e){return e.menuState===1?e:{...e,activeItemIndex:null,menuState:1}},[0](e){return e.menuState===0?e:{...e,__demoMode:!1,menuState:0}},[2]:(e,a)=>{var l,p,n,u,c;if(e.menuState===1)return e;let r={...e,searchQuery:"",activationTrigger:(l=a.trigger)!=null?l:1,__demoMode:!1};if(a.focus===c$1.Nothing)return {...r,activeItemIndex:null};if(a.focus===c$1.Specific)return {...r,activeItemIndex:e.items.findIndex(t=>t.id===a.id)};if(a.focus===c$1.Previous){let t=e.activeItemIndex;if(t!==null){let d=e.items[t].dataRef.current.domRef,f=f$2(a,{resolveItems:()=>e.items,resolveActiveIndex:()=>e.activeItemIndex,resolveId:m=>m.id,resolveDisabled:m=>m.dataRef.current.disabled});if(f!==null){let m=e.items[f].dataRef.current.domRef;if(((p=d.current)==null?void 0:p.previousElementSibling)===m.current||((n=m.current)==null?void 0:n.previousElementSibling)===null)return {...r,activeItemIndex:f}}}}else if(a.focus===c$1.Next){let t=e.activeItemIndex;if(t!==null){let d=e.items[t].dataRef.current.domRef,f=f$2(a,{resolveItems:()=>e.items,resolveActiveIndex:()=>e.activeItemIndex,resolveId:m=>m.id,resolveDisabled:m=>m.dataRef.current.disabled});if(f!==null){let m=e.items[f].dataRef.current.domRef;if(((u=d.current)==null?void 0:u.nextElementSibling)===m.current||((c=m.current)==null?void 0:c.nextElementSibling)===null)return {...r,activeItemIndex:f}}}}let i=W(e),o=f$2(a,{resolveItems:()=>i.items,resolveActiveIndex:()=>i.activeItemIndex,resolveId:t=>t.id,resolveDisabled:t=>t.dataRef.current.disabled});return {...r,...i,activeItemIndex:o}},[3]:(e,a)=>{let i=e.searchQuery!==""?0:1,o=e.searchQuery+a.value.toLowerCase(),p=(e.activeItemIndex!==null?e.items.slice(e.activeItemIndex+i).concat(e.items.slice(0,e.activeItemIndex+i)):e.items).find(u=>{var c;return ((c=u.dataRef.current.textValue)==null?void 0:c.startsWith(o))&&!u.dataRef.current.disabled}),n=p?e.items.indexOf(p):-1;return n===-1||n===e.activeItemIndex?{...e,searchQuery:o}:{...e,searchQuery:o,activeItemIndex:n,activationTrigger:1}},[4](e){return e.searchQuery===""?e:{...e,searchQuery:"",searchActiveItemIndex:null}},[5]:(e,a)=>{let r=W(e,i=>[...i,{id:a.id,dataRef:a.dataRef}]);return {...e,...r}},[6]:(e,a)=>{let r=W(e,i=>{let o=i.findIndex(l=>l.id===a.id);return o!==-1&&i.splice(o,1),i});return {...e,...r,activationTrigger:1}}},j=React.createContext(null);j.displayName="MenuContext";function B(e){let a=React.useContext(j);if(a===null){let r=new Error(`<${e} /> is missing a parent <Menu /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,B),r}return a}function qe(e,a){return u$8(a.type,$e,e,a)}let ze=React.Fragment;function Ye(e,a){let{__demoMode:r=!1,...i$1}=e,o=React.useReducer(qe,{__demoMode:r,menuState:r?0:1,buttonRef:React.createRef(),itemsRef:React.createRef(),items:[],searchQuery:"",activeItemIndex:null,activationTrigger:1}),[{menuState:l,itemsRef:p,buttonRef:n},u]=o,c=y$4(a);F$3(l===0,[n,p],(S,b)=>{var y;u({type:1}),A$1(b,h.Loose)||(S.preventDefault(),(y=n.current)==null||y.focus());});let d=o$3(()=>{u({type:1});}),f=React.useMemo(()=>({open:l===0,close:d}),[l,d]),m={ref:c};return React.createElement(ve,null,React.createElement(j.Provider,{value:o},React.createElement(c$2,{value:u$8(l,{[0]:i.Open,[1]:i.Closed})},H$2({ourProps:m,theirProps:i$1,slot:f,defaultTag:ze,name:"Menu"}))))}let Ze="button";function et(e,a){var D;let r=React.useId(),{id:i=`headlessui-menu-button-${r}`,disabled:o=!1,autoFocus:l=!1,...p}=e,[n,u]=B("Menu.Button"),c=Fe$1(),t=y$4(n.buttonRef,a,ye$1()),d=o$3(g=>{switch(g.key){case o$2.Space:case o$2.Enter:case o$2.ArrowDown:g.preventDefault(),g.stopPropagation(),reactDomExports.flushSync(()=>u({type:0})),u({type:2,focus:c$1.First});break;case o$2.ArrowUp:g.preventDefault(),g.stopPropagation(),reactDomExports.flushSync(()=>u({type:0})),u({type:2,focus:c$1.Last});break}}),f=o$3(g=>{switch(g.key){case o$2.Space:g.preventDefault();break}}),m=o$3(g=>{var h;if(r$1(g.currentTarget))return g.preventDefault();o||(n.menuState===0?(reactDomExports.flushSync(()=>u({type:1})),(h=n.buttonRef.current)==null||h.focus({preventScroll:!0})):(g.preventDefault(),u({type:0})));}),{isFocusVisible:S,focusProps:b}=$f7dceffc5ad7768b$export$4e328f61c538687f({autoFocus:l}),{isHovered:y,hoverProps:E}=$6179b936705e76d3$export$ae780daf29e6d456({isDisabled:o}),{pressed:P,pressProps:_}=w$4({disabled:o}),C=React.useMemo(()=>({open:n.menuState===0,active:P||n.menuState===0,disabled:o,hover:y,focus:S,autofocus:l}),[n,y,S,P,o,l]),F=D$4(c(),{ref:t,id:i,type:T(e,n.buttonRef),"aria-haspopup":"menu","aria-controls":(D=n.itemsRef.current)==null?void 0:D.id,"aria-expanded":n.menuState===0,disabled:o||void 0,autoFocus:l,onKeyDown:d,onKeyUp:f,onClick:m},b,E,_);return H$2({ourProps:F,theirProps:p,slot:C,defaultTag:Ze,name:"Menu.Button"})}let tt="div",nt=O$1.RenderStrategy|O$1.Static;function rt(e,a){var Q,J;let r=React.useId(),{id:i$1=`headlessui-menu-items-${r}`,anchor:o,portal:l=!1,modal:p$1=!0,transition:n=!1,...u}=e,c=xe$2(o),[t,d]=B("Menu.Items"),[f,m]=Re$1(c),S=be$1(),b=y$4(t.itemsRef,a,c?f:null),y=n$1(t.itemsRef);c&&(l=!0);let E=u$2(),[P,_]=V$2(n,t.itemsRef,E!==null?(E&i.Open)===i.Open:t.menuState===0);m$2(P,t.buttonRef,()=>{d({type:1});});let C=t.__demoMode?!1:p$1&&t.menuState===0;f$3(C,y);let F=t.__demoMode?!1:p$1&&t.menuState===0;y$3(F,{allowed:o$3(()=>[t.buttonRef.current,t.itemsRef.current])});let D=t.menuState!==0,h=p(D,t.buttonRef)?!1:P;React.useEffect(()=>{let s=t.itemsRef.current;s&&t.menuState===0&&s!==(y==null?void 0:y.activeElement)&&s.focus({preventScroll:!0});},[t.menuState,t.itemsRef,y,t.itemsRef.current]),F$1(t.menuState===0,{container:t.itemsRef.current,accept(s){return s.getAttribute("role")==="menuitem"?NodeFilter.FILTER_REJECT:s.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(s){s.setAttribute("role","none");}});let w=p$3(),M=o$3(s=>{var V,X,$;switch(w.dispose(),s.key){case o$2.Space:if(t.searchQuery!=="")return s.preventDefault(),s.stopPropagation(),d({type:3,value:s.key});case o$2.Enter:if(s.preventDefault(),s.stopPropagation(),d({type:1}),t.activeItemIndex!==null){let{dataRef:se}=t.items[t.activeItemIndex];(X=(V=se.current)==null?void 0:V.domRef.current)==null||X.click();}G(t.buttonRef.current);break;case o$2.ArrowDown:return s.preventDefault(),s.stopPropagation(),d({type:2,focus:c$1.Next});case o$2.ArrowUp:return s.preventDefault(),s.stopPropagation(),d({type:2,focus:c$1.Previous});case o$2.Home:case o$2.PageUp:return s.preventDefault(),s.stopPropagation(),d({type:2,focus:c$1.First});case o$2.End:case o$2.PageDown:return s.preventDefault(),s.stopPropagation(),d({type:2,focus:c$1.Last});case o$2.Escape:s.preventDefault(),s.stopPropagation(),reactDomExports.flushSync(()=>d({type:1})),($=t.buttonRef.current)==null||$.focus({preventScroll:!0});break;case o$2.Tab:s.preventDefault(),s.stopPropagation(),reactDomExports.flushSync(()=>d({type:1})),j$3(t.buttonRef.current,s.shiftKey?F$4.Previous:F$4.Next);break;default:s.key.length===1&&(d({type:3,value:s.key}),w.setTimeout(()=>d({type:4}),350));break}}),L=o$3(s=>{switch(s.key){case o$2.Space:s.preventDefault();break}}),ae=React.useMemo(()=>({open:t.menuState===0}),[t.menuState]),ie=D$4(c?S():{},{"aria-activedescendant":t.activeItemIndex===null||(Q=t.items[t.activeItemIndex])==null?void 0:Q.id,"aria-labelledby":(J=t.buttonRef.current)==null?void 0:J.id,id:i$1,onKeyDown:M,onKeyUp:L,role:"menu",tabIndex:t.menuState===0?0:void 0,ref:b,style:{...u.style,...m,"--button-width":f$6(t.buttonRef,!0).width},...A(_)});return React.createElement(te$1,{enabled:l?e.static||P:!1},H$2({ourProps:ie,theirProps:u,slot:ae,defaultTag:tt,features:nt,visible:h,name:"Menu.Items"}))}let ot=React.Fragment;function at(e,a){let r=React.useId(),{id:i=`headlessui-menu-item-${r}`,disabled:o=!1,...l}=e,[p,n]=B("Menu.Item"),u=p.activeItemIndex!==null?p.items[p.activeItemIndex].id===i:!1,c=React.useRef(null),t=y$4(a,c);n$3(()=>{if(!p.__demoMode&&p.menuState===0&&u&&p.activationTrigger!==0)return o$4().requestAnimationFrame(()=>{var M,L;(L=(M=c.current)==null?void 0:M.scrollIntoView)==null||L.call(M,{block:"nearest"});})},[p.__demoMode,c,u,p.menuState,p.activationTrigger,p.activeItemIndex]);let d=s(c),f=React.useRef({disabled:o,domRef:c,get textValue(){return d()}});n$3(()=>{f.current.disabled=o;},[f,o]),n$3(()=>(n({type:5,id:i,dataRef:f}),()=>n({type:6,id:i})),[f,i]);let m=o$3(()=>{n({type:1});}),S=o$3(M=>{if(o)return M.preventDefault();n({type:1}),G(p.buttonRef.current);}),b=o$3(()=>{if(o)return n({type:2,focus:c$1.Nothing});n({type:2,focus:c$1.Specific,id:i});}),y=u$3(),E=o$3(M=>{y.update(M),!o&&(u||n({type:2,focus:c$1.Specific,id:i,trigger:0}));}),P=o$3(M=>{y.wasMoved(M)&&(o||u||n({type:2,focus:c$1.Specific,id:i,trigger:0}));}),_=o$3(M=>{y.wasMoved(M)&&(o||u&&n({type:2,focus:c$1.Nothing}));}),[C,F]=z(),[D,g]=U$2(),h=React.useMemo(()=>({active:u,focus:u,disabled:o,close:m}),[u,o,m]);return React.createElement(F,null,React.createElement(g,null,H$2({ourProps:{id:i,ref:t,role:"menuitem",tabIndex:o===!0?void 0:-1,"aria-disabled":o===!0?!0:void 0,"aria-labelledby":C,"aria-describedby":D,disabled:void 0,onClick:S,onFocus:b,onPointerEnter:E,onMouseEnter:E,onPointerMove:P,onMouseMove:P,onPointerLeave:_,onMouseLeave:_},theirProps:l,slot:h,defaultTag:ot,name:"Menu.Item"})))}let it="div";function st(e,a){let[r,i]=z();return React.createElement(i,null,H$2({ourProps:{ref:a,"aria-labelledby":r,role:"group"},theirProps:e,slot:{},defaultTag:it,name:"Menu.Section"}))}let lt="header";function ut(e,a){let r=React.useId(),{id:i=`headlessui-menu-heading-${r}`,...o}=e,l=P$1();n$3(()=>l.register(i),[i,l.register]);let p={id:i,ref:a,role:"presentation",...l.props};return H$2({ourProps:p,theirProps:o,slot:{},defaultTag:lt,name:"Menu.Heading"})}let pt="div";function dt(e,a){return H$2({ourProps:{ref:a,role:"separator"},theirProps:e,slot:{},defaultTag:pt,name:"Menu.Separator"})}let mt=I$5(Ye),ct=I$5(et),ft=I$5(rt),Tt=I$5(at),yt=I$5(st),gt=I$5(ut),It=I$5(dt),Zt=Object.assign(mt,{Button:ct,Items:ft,Item:Tt,Section:yt,Heading:gt,Separator:It});
|
|
74414
77342
|
|
|
74415
77343
|
var OpenStateContext = React.createContext(undefined);
|
|
74416
77344
|
var useOpenState = function () {
|
|
@@ -74422,7 +77350,7 @@ var useOpenState = function () {
|
|
|
74422
77350
|
};
|
|
74423
77351
|
var Collapsible = function (_a) {
|
|
74424
77352
|
var children = _a.children, defaultOpen = _a.defaultOpen;
|
|
74425
|
-
return (React.createElement(
|
|
77353
|
+
return (React.createElement(We, { defaultOpen: defaultOpen }, function (_a) {
|
|
74426
77354
|
var open = _a.open;
|
|
74427
77355
|
return (React.createElement(OpenStateContext.Provider, { value: open }, children));
|
|
74428
77356
|
}));
|
|
@@ -74484,14 +77412,14 @@ Collapsible.Button = function (_a) {
|
|
|
74484
77412
|
};
|
|
74485
77413
|
var finalLabelClasses = classNames(labelClasses[variant].base, labelClasses[variant].dark.base, !disabled ? labelClasses[variant].active : "", !disabled ? labelClasses[variant].dark.active : "", !disabled ? labelClasses[variant].hover : "", !disabled ? labelClasses[variant].dark.hover : "", disabled ? labelClasses[variant].disabled : "");
|
|
74486
77414
|
var finalChevronClasses = classNames(chevronClasses[variant].base, chevronClasses[variant].dark.base, !disabled ? chevronClasses[variant].active : "", !disabled ? chevronClasses[variant].dark.active : "", !disabled ? chevronClasses[variant].hover : "", !disabled ? chevronClasses[variant].dark.hover : "", disabled ? chevronClasses[variant].disabled : "");
|
|
74487
|
-
return (React.createElement(
|
|
77415
|
+
return (React.createElement(We.Button, { disabled: disabled, className: classNames(disabled ? "s-cursor-default" : "s-cursor-pointer", className, "s-group s-flex s-items-center s-justify-items-center s-gap-1 s-text-sm s-font-medium focus:s-outline-none focus:s-ring-0") },
|
|
74488
77416
|
React.createElement(Icon, { visual: open ? SvgChevronDown$1 : SvgChevronRight$1, size: "sm", className: finalChevronClasses }),
|
|
74489
77417
|
children ? children : React.createElement("span", { className: finalLabelClasses }, label)));
|
|
74490
77418
|
};
|
|
74491
77419
|
Collapsible.Panel = function (_a) {
|
|
74492
77420
|
var children = _a.children;
|
|
74493
|
-
return (React.createElement(
|
|
74494
|
-
React.createElement(
|
|
77421
|
+
return (React.createElement(Xe$1, { enter: "s-transition s-duration-300 s-ease-out", enterFrom: "s-transform s-scale-95 s-opacity-0", enterTo: "s-transform s-scale-100 s-opacity-100", leave: "s-transition s-duration-300 s-ease-out", leaveFrom: "s-transform s-scale-100 s-opacity-100", leaveTo: "s-transform s-scale-95 s-opacity-0" },
|
|
77422
|
+
React.createElement(We.Panel, null,
|
|
74495
77423
|
React.createElement("div", { className: "s-text-gray-500" }, children))));
|
|
74496
77424
|
};
|
|
74497
77425
|
|
|
@@ -75699,6 +78627,25 @@ function Citation(_a) {
|
|
|
75699
78627
|
}
|
|
75700
78628
|
}
|
|
75701
78629
|
|
|
78630
|
+
function ZoomableImageCitationWrapper(_a) {
|
|
78631
|
+
var alt = _a.alt, imgSrc = _a.imgSrc, title = _a.title, _b = _a.size, size = _b === void 0 ? "sm" : _b;
|
|
78632
|
+
var _c = __read(React.useState(false), 2), isZoomed = _c[0], setIsZoomed = _c[1];
|
|
78633
|
+
var handleZoomToggle = function () {
|
|
78634
|
+
setIsZoomed(!isZoomed);
|
|
78635
|
+
};
|
|
78636
|
+
return (React.createElement(React.Fragment, null,
|
|
78637
|
+
React.createElement("div", { onClick: handleZoomToggle, className: "s-min-h-76 s-group s-h-full" },
|
|
78638
|
+
React.createElement(Citation, { title: title, size: size, type: "image", imgSrc: imgSrc })),
|
|
78639
|
+
React.createElement(Pt, { transition: true, open: isZoomed, onClose: handleZoomToggle, className: "s-relative s-z-50 s-transition s-duration-300 s-ease-out data-[closed]:s-opacity-0" },
|
|
78640
|
+
React.createElement(ct$1, { className: "s-fixed s-inset-0 s-bg-black/70" }),
|
|
78641
|
+
React.createElement("div", { className: "s-fixed s-inset-8 s-flex s-w-screen s-items-center s-justify-center s-p-4" },
|
|
78642
|
+
React.createElement(We$1, { className: "s-max-w-lg s-space-y-4" },
|
|
78643
|
+
React.createElement($e$1, null,
|
|
78644
|
+
React.createElement("div", { className: "s-flex s-justify-end" },
|
|
78645
|
+
React.createElement(IconButton, { icon: SvgXCircle$1, onClick: handleZoomToggle, variant: "white" }))),
|
|
78646
|
+
React.createElement("img", { src: imgSrc, alt: alt }))))));
|
|
78647
|
+
}
|
|
78648
|
+
|
|
75702
78649
|
var ButtonRefContext = React.createContext(null);
|
|
75703
78650
|
var labelClasses$1 = {
|
|
75704
78651
|
base: "s-text-element-900 s-inline-flex s-transition-colors s-ease-out s-duration-400 s-box-border s-gap-x-2 s-select-none",
|
|
@@ -75741,7 +78688,7 @@ function DropdownMenu(_a) {
|
|
|
75741
78688
|
var children = _a.children, _b = _a.className, className = _b === void 0 ? "" : _b;
|
|
75742
78689
|
var buttonRef = React.useRef(null);
|
|
75743
78690
|
return (React.createElement(ButtonRefContext.Provider, { value: buttonRef },
|
|
75744
|
-
React.createElement(
|
|
78691
|
+
React.createElement(Zt, { as: "div", className: classNames(className, "s-relative s-inline-block") }, children)));
|
|
75745
78692
|
}
|
|
75746
78693
|
DropdownMenu.Button = function (_a) {
|
|
75747
78694
|
var label = _a.label, _b = _a.type, type = _b === void 0 ? "menu" : _b, _c = _a.size, size = _c === void 0 ? "sm" : _c, tooltip = _a.tooltip, icon = _a.icon, children = _a.children, _d = _a.tooltipPosition, tooltipPosition = _d === void 0 ? "above" : _d, _e = _a.className, className = _e === void 0 ? "" : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f, onClick = _a.onClick;
|
|
@@ -75750,7 +78697,7 @@ DropdownMenu.Button = function (_a) {
|
|
|
75750
78697
|
var finalChevronClasses = classNames(chevronClasses.base, !disabled ? chevronClasses.hover : "", chevronClasses.dark.base, !disabled ? chevronClasses.dark.hover : "", disabled ? chevronClasses.disabled : "");
|
|
75751
78698
|
var buttonRef = React.useContext(ButtonRefContext);
|
|
75752
78699
|
if (children) {
|
|
75753
|
-
return (React.createElement(
|
|
78700
|
+
return (React.createElement(Zt.Button, { as: "div", disabled: disabled, ref: buttonRef, className: classNames(disabled ? "s-cursor-default" : "s-cursor-pointer", className, "s-group s-flex s-justify-items-center s-text-sm s-font-medium focus:s-outline-none focus:s-ring-0", label ? "s-gap-1.5" : "s-gap-0"), onClick: onClick }, tooltip ? (React.createElement(Tooltip, { position: tooltipPosition, label: tooltip }, children)) : (children)));
|
|
75754
78701
|
}
|
|
75755
78702
|
var chevronIcon = type === "select"
|
|
75756
78703
|
? SvgChevronUpDown$1
|
|
@@ -75758,9 +78705,9 @@ DropdownMenu.Button = function (_a) {
|
|
|
75758
78705
|
? SvgChevronRight$1
|
|
75759
78706
|
: SvgChevronDown$1;
|
|
75760
78707
|
return (React.createElement(React.Fragment, null, tooltip ? (React.createElement(Tooltip, { label: tooltip, position: tooltipPosition },
|
|
75761
|
-
React.createElement(
|
|
78708
|
+
React.createElement(Zt.Button, { disabled: disabled, ref: buttonRef, className: classNames(disabled ? "s-cursor-default" : "s-cursor-pointer", className, "s-group s-flex s-justify-items-center s-text-sm s-font-medium focus:s-outline-none focus:s-ring-0", label ? (size === "md" ? "s-gap-2" : "s-gap-1.5") : "s-gap-0.5") },
|
|
75762
78709
|
React.createElement(Icon, { visual: icon, size: size, className: finalIconClasses }),
|
|
75763
|
-
React.createElement(Icon, { visual: chevronIcon, size: size === "sm" ? "xs" : "sm", className: finalChevronClasses })))) : (React.createElement(
|
|
78710
|
+
React.createElement(Icon, { visual: chevronIcon, size: size === "sm" ? "xs" : "sm", className: finalChevronClasses })))) : (React.createElement(Zt.Button, { disabled: disabled, ref: buttonRef, className: classNames(disabled ? "s-cursor-default" : "s-cursor-pointer", className, "s-group s-flex s-justify-items-center s-text-sm s-font-medium focus:s-outline-none focus:s-ring-0", label ? (size === "md" ? "s-gap-2" : "s-gap-1.5") : "s-gap-0.5", type === "submenu" ? "s-opacity-50" : "") },
|
|
75764
78711
|
React.createElement(Icon, { visual: icon, size: size, className: finalIconClasses }),
|
|
75765
78712
|
React.createElement("span", { className: classNames(finalLabelClasses, type === "submenu" ? "s-w-full" : "") }, label),
|
|
75766
78713
|
React.createElement(Icon, { visual: chevronIcon, size: size === "sm" ? "xs" : "sm", className: finalChevronClasses })))));
|
|
@@ -75769,7 +78716,7 @@ DropdownMenu.Item = function (_a) {
|
|
|
75769
78716
|
var _b = _a.variant, variant = _b === void 0 ? "default" : _b, label = _a.label, description = _a.description, href = _a.href, disabled = _a.disabled, visual = _a.visual, icon = _a.icon, onClick = _a.onClick, hasChildren = _a.hasChildren, children = _a.children, _c = _a.selected, selected = _c === void 0 ? false : _c;
|
|
75770
78717
|
return (
|
|
75771
78718
|
// need to use as="div" -- otherwise we get a "forwardRef" error in the console
|
|
75772
|
-
React.createElement(
|
|
78719
|
+
React.createElement(Zt.Item, { disabled: disabled, as: "div" }, hasChildren ? (React.createElement(DropdownMenu, { className: "s-w-full s-gap-x-2 s-py-2" },
|
|
75773
78720
|
React.createElement(DropdownMenu.Button, { label: label, type: "submenu", className: "s-w-full" }),
|
|
75774
78721
|
children)) : (React.createElement(Item.Dropdown, { style: variant, className: "s-w-full", href: href, onClick: onClick, label: label, visual: visual, icon: icon, description: description, selected: selected }))));
|
|
75775
78722
|
};
|
|
@@ -75777,7 +78724,7 @@ DropdownMenu.SectionHeader = function (_a) {
|
|
|
75777
78724
|
var label = _a.label;
|
|
75778
78725
|
return (
|
|
75779
78726
|
// need to use as="div" -- otherwise we get a "forwardRef" error in the console
|
|
75780
|
-
React.createElement(
|
|
78727
|
+
React.createElement(Zt.Item, { as: "div" },
|
|
75781
78728
|
React.createElement("div", { className: classNames("s-w-full", "s-text-element-600 dark:s-text-element-600-dark", "s-pb-3 s-pt-4 s-text-xs s-font-medium s-uppercase") }, label)));
|
|
75782
78729
|
};
|
|
75783
78730
|
var classNamesForVariant = function (variant, hasDropdownItem) {
|
|
@@ -75856,8 +78803,8 @@ DropdownMenu.Items = function (_a) {
|
|
|
75856
78803
|
}
|
|
75857
78804
|
return style;
|
|
75858
78805
|
};
|
|
75859
|
-
return (React.createElement(
|
|
75860
|
-
React.createElement(
|
|
78806
|
+
return (React.createElement(Xe$1, { as: React.Fragment, enter: "s-transition s-ease-out s-duration-200", enterFrom: getOriginTransClass(origin), enterTo: "s-transform s-opacity-100 s-scale-100 s-translate-y-0", leave: "s-transition s-ease-in s-duration-75", leaveFrom: "s-transform s-opacity-100 s-scale-100 s-translate-y-0", leaveTo: getOriginTransClass(origin) },
|
|
78807
|
+
React.createElement(Zt.Items, { onKeyDown: onKeyDown, className: classNames("s-absolute s-z-10", getOriginClass(origin), "s-rounded-xl s-border s-border-structure-100 s-bg-structure-0 s-shadow-lg focus:s-outline-none dark:s-border-structure-100-dark dark:s-bg-structure-0-dark"), style: styleInsert(origin, marginLeft) },
|
|
75861
78808
|
topBar,
|
|
75862
78809
|
React.createElement("div", { className: classNames(classNamesForVariant(variant, hasDropdownItem), getOverflowClass(overflow)) },
|
|
75863
78810
|
React.createElement(Item.List, null, children)),
|
|
@@ -97769,13 +100716,13 @@ function Modal(_a) {
|
|
|
97769
100716
|
onClose: onClose,
|
|
97770
100717
|
};
|
|
97771
100718
|
var _d = getModalClasses(type), containerClasses = _d.containerClasses, transitionEnterFrom = _d.transitionEnterFrom, transitionLeaveFrom = _d.transitionLeaveFrom, transitionEnterTo = _d.transitionEnterTo, transitionLeaveTo = _d.transitionLeaveTo, panelClasses = _d.panelClasses, innerContainerClasses = _d.innerContainerClasses;
|
|
97772
|
-
return (React.createElement(
|
|
97773
|
-
React.createElement(
|
|
97774
|
-
React.createElement(
|
|
100719
|
+
return (React.createElement(Xe$1, { show: isOpen, as: React.Fragment, appear: true },
|
|
100720
|
+
React.createElement(Pt, { as: "div", className: "s-fixed s-absolute s-inset-0 s-z-50 s-overflow-hidden", onClose: onClose },
|
|
100721
|
+
React.createElement(Xe$1.Child, { as: React.Fragment, enter: "s-ease-out s-duration-150", enterFrom: "s-opacity-0", enterTo: "s-opacity-100", leave: "s-ease-in s-duration-150", leaveFrom: "s-opacity-100", leaveTo: "s-opacity-0" },
|
|
97775
100722
|
React.createElement("div", { className: "s-fixed s-inset-0 s-bg-structure-50/80 s-backdrop-blur-sm s-transition-opacity" })),
|
|
97776
100723
|
React.createElement("div", { className: classNames(containerClasses, variantSize[variant]) },
|
|
97777
|
-
React.createElement(
|
|
97778
|
-
React.createElement(
|
|
100724
|
+
React.createElement(Xe$1.Child, { as: React.Fragment, enter: "s-ease-out s-duration-300", enterFrom: transitionEnterFrom, enterTo: transitionEnterTo, leave: "s-ease-in s-duration-200", leaveFrom: transitionLeaveFrom, leaveTo: transitionLeaveTo },
|
|
100725
|
+
React.createElement(Pt.Panel, { className: classNames("s-absolute s-transform s-bg-structure-0 s-px-3 s-transition-all sm:s-px-4", panelClasses, variantSize[variant]) },
|
|
97779
100726
|
React.createElement(BarHeader, { title: title || "", leftActions: action ? React.createElement(Button, __assign({}, action)) : undefined, rightActions: React.createElement(BarHeader.ButtonBar, __assign({}, buttonBarProps)) }),
|
|
97780
100727
|
React.createElement("div", { className: classNames("s-pb-6 s-pt-16", innerContainerClasses, className !== null && className !== void 0 ? className : "") }, children)))))));
|
|
97781
100728
|
}
|
|
@@ -97885,15 +100832,15 @@ function ElementModal(_a) {
|
|
|
97885
100832
|
function Dialog(_a) {
|
|
97886
100833
|
var isOpen = _a.isOpen, children = _a.children, onCancel = _a.onCancel, onValidate = _a.onValidate, _b = _a.cancelLabel, cancelLabel = _b === void 0 ? "Cancel" : _b, _c = _a.validateLabel, validateLabel = _c === void 0 ? "Ok" : _c, _d = _a.validateVariant, validateVariant = _d === void 0 ? "primary" : _d, title = _a.title, isSaving = _a.isSaving, _e = _a.backgroundType, backgroundType = _e === void 0 ? "none" : _e;
|
|
97887
100834
|
var referentRef = React.useRef(null);
|
|
97888
|
-
return (React.createElement(
|
|
97889
|
-
React.createElement(
|
|
97890
|
-
React.createElement(
|
|
100835
|
+
return (React.createElement(Xe$1, { show: isOpen, as: React.Fragment, appear: true },
|
|
100836
|
+
React.createElement(Pt, { as: "div", className: "s-relative s-z-50", onClose: onCancel },
|
|
100837
|
+
React.createElement(Xe$1.Child, { as: React.Fragment, enter: "s-ease-out s-duration-150", enterFrom: "s-opacity-0", enterTo: "s-opacity-100", leave: "s-ease-in s-duration-150", leaveFrom: "s-opacity-100", leaveTo: "s-opacity-0" },
|
|
97891
100838
|
React.createElement("div", { className: "s-fixed s-inset-0 s-bg-structure-50/80 s-backdrop-blur-sm s-transition-opacity" })),
|
|
97892
100839
|
React.createElement("div", { className: "s-fixed s-inset-0 s-z-50" },
|
|
97893
100840
|
React.createElement("div", { className: "s-flex s-min-h-full s-items-center s-justify-center" },
|
|
97894
|
-
React.createElement(
|
|
97895
|
-
React.createElement(
|
|
97896
|
-
React.createElement(
|
|
100841
|
+
React.createElement(Xe$1.Child, { as: React.Fragment, enter: "s-ease-out s-duration-300", enterFrom: "s-opacity-0 s-translate-y-4 s-scale-95", enterTo: "s-opacity-100 s-translate-y-0 s-scale-100", leave: "s-ease-in s-duration-200", leaveFrom: "s-opacity-100 s-translate-y-0 s-scale-100", leaveTo: "s-opacity-0 s-translate-y-4 s-scale-95" },
|
|
100842
|
+
React.createElement(Pt.Panel, { className: classNames("s-relative s-rounded-xl s-border s-border-structure-100 s-bg-structure-0 s-p-4 s-shadow-xl s-transition-all", "s-w-full sm:s-w-[448px]", "s-flex s-flex-col s-gap-6"), ref: referentRef },
|
|
100843
|
+
React.createElement(Pt.Title, { className: "s-text-element-950 s-truncate s-text-lg s-font-medium" }, title),
|
|
97897
100844
|
React.createElement("div", { className: "s-z-10 s-text-base s-text-element-700" }, children),
|
|
97898
100845
|
React.createElement("div", { className: "s-z-10 s-flex s-w-full s-justify-end" },
|
|
97899
100846
|
React.createElement(Button.List, null,
|
|
@@ -97986,7 +100933,7 @@ function RadioButton(_a) {
|
|
|
97986
100933
|
|
|
97987
100934
|
function Popup(_a) {
|
|
97988
100935
|
var show = _a.show, chipLabel = _a.chipLabel, description = _a.description, buttonLabel = _a.buttonLabel, buttonClick = _a.buttonClick, className = _a.className, onClose = _a.onClose;
|
|
97989
|
-
return (React.createElement(
|
|
100936
|
+
return (React.createElement(Xe$1, { show: show, enter: "s-transition-opacity s-duration-300", appear: true, enterFrom: "s-opacity-0", enterTo: "s-opacity-100", leave: "s-transition-opacity s-duration-300", leaveFrom: "s-opacity-100", leaveTo: "s-opacity-0", className: classNames("s-z-30 s-flex s-w-64 s-flex-col s-gap-3 s-rounded-xl s-border s-border-pink-100 s-bg-pink-50 s-p-4 s-shadow-xl", className || "") },
|
|
97990
100937
|
React.createElement("div", { className: "s-flex" },
|
|
97991
100938
|
React.createElement(Chip, { color: "pink" }, chipLabel),
|
|
97992
100939
|
onClose && (React.createElement("div", { className: "-s-mr-1 -s-mt-1 s-flex s-grow s-items-start s-justify-end" },
|
|
@@ -120003,5 +122950,6 @@ exports.XCircleStrokeIcon = SvgXCircle;
|
|
|
120003
122950
|
exports.XMarkIcon = SvgXMark$1;
|
|
120004
122951
|
exports.XMarkStrokeIcon = SvgXMark;
|
|
120005
122952
|
exports.ZapierLogo = SvgZapier;
|
|
122953
|
+
exports.ZoomableImageCitationWrapper = ZoomableImageCitationWrapper;
|
|
120006
122954
|
exports.avatarUtils = utils;
|
|
120007
122955
|
//# sourceMappingURL=index.js.map
|