@alkimi.org/ui-kit 0.1.18 → 0.1.20

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.
Files changed (66) hide show
  1. package/README.github.md +147 -1
  2. package/dist/chunk-HGY6TDJ2.js +3 -0
  3. package/dist/chunk-HGY6TDJ2.js.map +1 -0
  4. package/dist/chunk-KPAOPUY2.mjs +3 -0
  5. package/dist/chunk-KPAOPUY2.mjs.map +1 -0
  6. package/dist/chunk-MLULTZDS.js +3 -0
  7. package/dist/chunk-MLULTZDS.js.map +1 -0
  8. package/dist/chunk-NLKTP7EJ.mjs +3 -0
  9. package/dist/chunk-NLKTP7EJ.mjs.map +1 -0
  10. package/dist/chunk-NZDJHFEG.js +3 -0
  11. package/dist/chunk-NZDJHFEG.js.map +1 -0
  12. package/dist/chunk-P7ACUHYG.mjs +3 -0
  13. package/dist/chunk-P7ACUHYG.mjs.map +1 -0
  14. package/dist/chunk-RTHCEJYC.mjs +3 -0
  15. package/dist/chunk-RTHCEJYC.mjs.map +1 -0
  16. package/dist/chunk-XYO4VLMF.js +3 -0
  17. package/dist/chunk-XYO4VLMF.js.map +1 -0
  18. package/dist/components/GeometricFluidGrid.d.mts +5 -0
  19. package/dist/components/GeometricFluidGrid.d.ts +5 -0
  20. package/dist/components/GeometricFluidGrid.js +3 -0
  21. package/dist/components/GeometricFluidGrid.js.map +1 -0
  22. package/dist/components/GeometricFluidGrid.mjs +3 -0
  23. package/dist/components/GeometricFluidGrid.mjs.map +1 -0
  24. package/dist/components/GlitchLink.d.mts +6 -5
  25. package/dist/components/GlitchLink.d.ts +6 -5
  26. package/dist/components/GlitchLink.js +1 -1
  27. package/dist/components/GlitchLink.js.map +1 -1
  28. package/dist/components/GlitchLink.mjs +1 -1
  29. package/dist/components/PixelLoad.js +1 -1
  30. package/dist/components/PixelLoad.js.map +1 -1
  31. package/dist/components/PixelLoad.mjs +1 -1
  32. package/dist/components/TextDecoder.d.mts +3 -1
  33. package/dist/components/TextDecoder.d.ts +3 -1
  34. package/dist/components/TextDecoder.js +1 -1
  35. package/dist/components/TextDecoder.js.map +1 -1
  36. package/dist/components/TextDecoder.mjs +1 -1
  37. package/dist/components/button.d.mts +1 -1
  38. package/dist/components/button.d.ts +1 -1
  39. package/dist/components/button.js +1 -1
  40. package/dist/components/button.js.map +1 -1
  41. package/dist/components/button.mjs +1 -1
  42. package/dist/components/card.js +1 -1
  43. package/dist/components/card.js.map +1 -1
  44. package/dist/components/card.mjs +1 -1
  45. package/dist/components/card.mjs.map +1 -1
  46. package/dist/components/tabs.js +1 -1
  47. package/dist/components/tabs.js.map +1 -1
  48. package/dist/components/tabs.mjs +1 -1
  49. package/dist/index.css +1 -1
  50. package/dist/index.css.map +1 -1
  51. package/dist/index.d.mts +1 -0
  52. package/dist/index.d.ts +1 -0
  53. package/dist/index.js +1 -1
  54. package/dist/index.js.map +1 -1
  55. package/dist/index.mjs +1 -1
  56. package/dist/styles.css +1 -1
  57. package/dist/styles.css.map +1 -1
  58. package/package.json +1 -1
  59. package/dist/chunk-5CDUAMIG.js +0 -3
  60. package/dist/chunk-5CDUAMIG.js.map +0 -1
  61. package/dist/chunk-AXL7HSZW.mjs +0 -3
  62. package/dist/chunk-AXL7HSZW.mjs.map +0 -1
  63. package/dist/chunk-IK3C7KV5.mjs +0 -3
  64. package/dist/chunk-IK3C7KV5.mjs.map +0 -1
  65. package/dist/chunk-JNEIOQGF.js +0 -3
  66. package/dist/chunk-JNEIOQGF.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/styles.css"],"sourcesContent":["/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-blue-600: oklch(54.6% 0.245 262.881);\n --color-gray-100: oklch(96.7% 0.003 264.542);\n --spacing: 0.25rem;\n --container-md: 28rem;\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-base: 1rem;\n --text-base--line-height: calc(1.5 / 1);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-2xl: 1.5rem;\n --text-2xl--line-height: calc(2 / 1.5);\n --text-4xl: 2.25rem;\n --text-4xl--line-height: calc(2.5 / 2.25);\n --text-6xl: 3.75rem;\n --text-6xl--line-height: 1;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --tracking-tight: -0.025em;\n --radius-lg: calc(var(--radius) + 2px);\n --radius-3xl: 3.75rem;\n --ease-out: cubic-bezier(0, 0, 0.2, 1);\n --animate-spin: spin 1s linear infinite;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n --radius: var(--radius);\n --font-family: \"Helvetica Now Display\", system-ui, -apple-system, sans-serif;\n --color-border: hsl(var(--border));\n --color-input: hsl(var(--input));\n --color-ring: hsl(var(--ring));\n --color-background: hsl(var(--background));\n --color-foreground: hsl(var(--foreground));\n --color-primary: hsl(var(--primary));\n --color-primary-foreground: hsl(var(--primary-foreground));\n --color-secondary: hsl(var(--secondary));\n --color-destructive: hsl(var(--destructive));\n --color-destructive-foreground: hsl(var(--destructive-foreground));\n --color-muted: hsl(var(--muted));\n --color-muted-foreground: hsl(var(--muted-foreground));\n --color-accent: hsl(var(--accent));\n --color-accent-foreground: hsl(var(--accent-foreground));\n --color-card-foreground: hsl(var(--card-foreground));\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::-moz-placeholder {\n opacity: 1;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::-moz-placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n -webkit-appearance: button;\n -moz-appearance: button;\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .visible {\n visibility: visible;\n }\n .absolute {\n position: absolute;\n }\n .relative {\n position: relative;\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .left-0 {\n left: calc(var(--spacing) * 0);\n }\n .z-10 {\n z-index: 10;\n }\n .z-\\[1\\] {\n z-index: 1;\n }\n .container {\n width: 100%;\n @media (width >= 40rem) {\n max-width: 40rem;\n }\n @media (width >= 48rem) {\n max-width: 48rem;\n }\n @media (width >= 64rem) {\n max-width: 64rem;\n }\n @media (width >= 80rem) {\n max-width: 80rem;\n }\n @media (width >= 96rem) {\n max-width: 96rem;\n }\n }\n .mx-auto {\n margin-inline: auto;\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .mt-12 {\n margin-top: calc(var(--spacing) * 12);\n }\n .mr-2 {\n margin-right: calc(var(--spacing) * 2);\n }\n .mb-4 {\n margin-bottom: calc(var(--spacing) * 4);\n }\n .mb-8 {\n margin-bottom: calc(var(--spacing) * 8);\n }\n .flex {\n display: flex;\n }\n .grid {\n display: grid;\n }\n .inline-flex {\n display: inline-flex;\n }\n .h-4 {\n height: calc(var(--spacing) * 4);\n }\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .h-9 {\n height: calc(var(--spacing) * 9);\n }\n .h-10 {\n height: calc(var(--spacing) * 10);\n }\n .h-\\[150px\\] {\n height: 150px;\n }\n .h-\\[300px\\] {\n height: 300px;\n }\n .h-\\[400px\\] {\n height: 400px;\n }\n .h-\\[calc\\(100\\%-0\\.5rem\\)\\] {\n height: calc(100% - 0.5rem);\n }\n .h-full {\n height: 100%;\n }\n .min-h-screen {\n min-height: 100vh;\n }\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n .w-9 {\n width: calc(var(--spacing) * 9);\n }\n .w-\\[200px\\] {\n width: 200px;\n }\n .w-\\[300px\\] {\n width: 300px;\n }\n .w-\\[400px\\] {\n width: 400px;\n }\n .w-\\[500px\\] {\n width: 500px;\n }\n .w-full {\n width: 100%;\n }\n .max-w-md {\n max-width: var(--container-md);\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .cursor-pointer {\n cursor: pointer;\n }\n .resize {\n resize: both;\n }\n .list-inside {\n list-style-position: inside;\n }\n .list-disc {\n list-style-type: disc;\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .items-center {\n align-items: center;\n }\n .justify-between {\n justify-content: space-between;\n }\n .justify-center {\n justify-content: center;\n }\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n .space-y-1\\.5 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-2 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-8 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .rounded-3xl {\n border-radius: var(--radius-3xl);\n }\n .rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-border {\n border-color: var(--color-border);\n }\n .border-input {\n border-color: var(--color-input);\n }\n .border-primary-foreground {\n border-color: var(--color-primary-foreground);\n }\n .border-t-transparent {\n border-top-color: transparent;\n }\n .bg-background {\n background-color: var(--color-background);\n }\n .bg-destructive {\n background-color: var(--color-destructive);\n }\n .bg-gray-100 {\n background-color: var(--color-gray-100);\n }\n .bg-primary {\n background-color: var(--color-primary);\n }\n .bg-secondary {\n background-color: var(--color-secondary);\n }\n .bg-transparent {\n background-color: transparent;\n }\n .p-1 {\n padding: calc(var(--spacing) * 1);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .p-6 {\n padding: calc(var(--spacing) * 6);\n }\n .p-8 {\n padding: calc(var(--spacing) * 8);\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .px-8 {\n padding-inline: calc(var(--spacing) * 8);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .py-8 {\n padding-block: calc(var(--spacing) * 8);\n }\n .pt-0 {\n padding-top: calc(var(--spacing) * 0);\n }\n .text-center {\n text-align: center;\n }\n .text-2xl {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n }\n .text-4xl {\n font-size: var(--text-4xl);\n line-height: var(--tw-leading, var(--text-4xl--line-height));\n }\n .text-6xl {\n font-size: var(--text-6xl);\n line-height: var(--tw-leading, var(--text-6xl--line-height));\n }\n .text-base {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n .text-xl {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n .leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .tracking-tight {\n --tw-tracking: var(--tracking-tight);\n letter-spacing: var(--tracking-tight);\n }\n .whitespace-nowrap {\n white-space: nowrap;\n }\n .text-blue-600 {\n color: var(--color-blue-600);\n }\n .text-card-foreground {\n color: var(--color-card-foreground);\n }\n .text-destructive-foreground {\n color: var(--color-destructive-foreground);\n }\n .text-foreground {\n color: var(--color-foreground);\n }\n .text-muted-foreground {\n color: var(--color-muted-foreground);\n }\n .text-primary {\n color: var(--color-primary);\n }\n .text-primary-foreground {\n color: var(--color-primary-foreground);\n }\n .text-primary-foreground\\/80 {\n color: color-mix(in srgb, hsl(var(--primary-foreground)) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-primary-foreground) 80%, transparent);\n }\n }\n .italic {\n font-style: italic;\n }\n .no-underline {\n text-decoration-line: none;\n }\n .underline-offset-4 {\n text-underline-offset: 4px;\n }\n .opacity-0 {\n opacity: 0%;\n }\n .opacity-100 {\n opacity: 100%;\n }\n .shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-offset-background {\n --tw-ring-offset-color: var(--color-background);\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .blur {\n --tw-blur: blur(8px);\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 .transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .duration-150 {\n --tw-duration: 150ms;\n transition-duration: 150ms;\n }\n .duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .duration-300 {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n .ease-out {\n --tw-ease: var(--ease-out);\n transition-timing-function: var(--ease-out);\n }\n .\\*\\:col-start-1 {\n :is(& > *) {\n grid-column-start: 1;\n }\n }\n .\\*\\:row-start-1 {\n :is(& > *) {\n grid-row-start: 1;\n }\n }\n .hover\\:bg-accent {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-accent);\n }\n }\n }\n .hover\\:bg-destructive\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, hsl(var(--destructive)) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 90%, transparent);\n }\n }\n }\n }\n .hover\\:bg-muted {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-muted);\n }\n }\n }\n .hover\\:bg-primary\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, hsl(var(--primary)) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 90%, transparent);\n }\n }\n }\n }\n .hover\\:text-accent-foreground {\n &:hover {\n @media (hover: hover) {\n color: var(--color-accent-foreground);\n }\n }\n }\n .hover\\:underline {\n &:hover {\n @media (hover: hover) {\n text-decoration-line: underline;\n }\n }\n }\n .focus-visible\\:ring-2 {\n &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-visible\\:ring-ring {\n &:focus-visible {\n --tw-ring-color: var(--color-ring);\n }\n }\n .focus-visible\\:ring-offset-2 {\n &:focus-visible {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus-visible\\:outline-none {\n &:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .disabled\\:pointer-events-none {\n &:disabled {\n pointer-events: none;\n }\n }\n .disabled\\:opacity-50 {\n &:disabled {\n opacity: 50%;\n }\n }\n .data-\\[state\\=active\\]\\:text-foreground {\n &[data-state=\"active\"] {\n color: var(--color-foreground);\n }\n }\n}\n@font-face {\n font-family: \"Helvetica Now Display\";\n src: url(\"./fonts/HelveticaNowDisplay-Regular.ttf\") format(\"truetype\");\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n}\n@font-face {\n font-family: \"Helvetica Now Display\";\n src: url(\"./fonts/HelveticaNowDisplay-Medium.ttf\") format(\"truetype\");\n font-weight: 500;\n font-style: normal;\n font-display: swap;\n}\n@keyframes accordion-down {\n from {\n height: 0;\n }\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n@keyframes accordion-up {\n from {\n height: var(--radix-accordion-content-height);\n }\n to {\n height: 0;\n }\n}\n@layer base {\n :root {\n --background: 240 10% 4%;\n --foreground: 144 100% 97%;\n --card: 0 0% 3.5%;\n --card-foreground: 140 100% 97.1%;\n --popover: 0 0% 3.5%;\n --popover-foreground: 140 100% 97.1%;\n --primary: 140 100% 97.1%;\n --primary-foreground: 240 6% 10%;\n --primary-accent: 140 100% 97.1%;\n --secondary: 240 4.5% 15.88%;\n --secondary-foreground: 140 100% 97.1%;\n --muted: 240 10% 3.92%;\n --muted-foreground: 144 4.3% 54.9%;\n --accent: 0 0% 15.3%;\n --accent-foreground: 140 100% 97.1%;\n --destructive: 0 62.8% 30.6%;\n --destructive-foreground: 140 100% 97.1%;\n --border: 240 3.7% 27.6%;\n --input: 240 3.7% 27.6%;\n --ring: 140 100% 97.1%;\n --radius: 0.625rem;\n }\n}\n@layer base {\n * {\n border-color: var(--color-border);\n }\n body {\n background-color: var(--color-background);\n color: var(--color-foreground);\n font-family: var(--font-family);\n }\n}\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-tracking {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-drop-shadow-size {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-space-y-reverse: 0;\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-tracking: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-duration: initial;\n --tw-ease: initial;\n }\n }\n}\n"],"mappings":"AACA,kBACA,uCACA,aACE,MAAO,MACL,aAAa,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EACpE,gBAAgB,EAAE,iBAAiB,EAAE,mBACvC,aAAa,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EACnF,aAAa,EAAE,UACjB,kBAAkB,MAAM,MAAM,KAAM,SACpC,kBAAkB,MAAM,MAAM,KAAM,SACpC,WAAW,OACX,gBAAgB,MAChB,WAAW,QACX,wBAAwB,KAAK,KAAK,EAAE,MACpC,aAAa,KACb,0BAA0B,KAC1B,WAAW,SACX,wBAAwB,KAAK,KAAK,EAAE,OACpC,WAAW,QACX,wBAAwB,KAAK,KAAK,EAAE,MACpC,YAAY,OACZ,yBAAyB,KAAK,EAAE,EAAE,KAClC,YAAY,QACZ,yBAAyB,KAAK,IAAI,EAAE,MACpC,YAAY,QACZ,yBAAyB,EACzB,sBAAsB,IACtB,wBAAwB,IACxB,oBAAoB,IACpB,kBAAkB,QAClB,aAAa,KAAK,IAAI,UAAU,EAAE,KAClC,cAAc,QACd,YAAY,aAAa,CAAC,EAAE,CAAC,EAAE,EAAG,EAAE,GACpC,gBAAgB,KAAK,GAAG,OAAO,SAC/B,+BAA+B,KAC/B,sCAAsC,aAAa,EAAG,EAAE,CAAC,EAAE,EAAG,EAAE,GAChE,uBAAuB,IAAI,aAC3B,4BAA4B,IAAI,aAChC,UAAU,IAAI,UACd,eAAe,uBAAuB,EAAE,SAAS,EAAE,aAAa,EAAE,WAClE,gBAAgB,IAAI,IAAI,WACxB,eAAe,IAAI,IAAI,UACvB,cAAc,IAAI,IAAI,SACtB,oBAAoB,IAAI,IAAI,eAC5B,oBAAoB,IAAI,IAAI,eAC5B,iBAAiB,IAAI,IAAI,YACzB,4BAA4B,IAAI,IAAI,uBACpC,mBAAmB,IAAI,IAAI,cAC3B,qBAAqB,IAAI,IAAI,gBAC7B,gCAAgC,IAAI,IAAI,2BACxC,eAAe,IAAI,IAAI,UACvB,0BAA0B,IAAI,IAAI,qBAClC,gBAAgB,IAAI,IAAI,WACxB,2BAA2B,IAAI,IAAI,sBACnC,yBAAyB,IAAI,IAAI,mBACnC,CACF,CACA,YACE,EAAG,OAAS,QAAU,WAAY,uBAChC,WAAY,WA5DhB,OA6DY,EA7DZ,QA8Da,EACT,OAAQ,EAAE,KACZ,CACA,KAAM,MACJ,YAAa,IACb,yBAA0B,KAC1B,cAAe,EACb,YAAa,EACV,SAAU,EACf,YAAa,IAAI,qBAAqB,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,oBACxI,sBAAuB,IAAI,+BAA+B,EAAE,QAC5D,wBAAyB,IAAI,iCAAiC,EAAE,QAChE,4BAA6B,WAC/B,CACA,GACE,OAAQ,EACR,MAAO,QACP,iBAAkB,GACpB,CACA,IAAI,OAAO,CAAC,QACV,wBAAyB,UAAU,OACnC,gBAAiB,UAAU,MAC7B,CACA,GAAI,GAAI,GAAI,GAAI,GAAI,GAClB,UAAW,QACX,YAAa,OACf,CACA,EACE,MAAO,QACP,wBAAyB,QACzB,gBAAiB,OACnB,CACA,EAAG,OACD,YAAa,MACf,CACA,KAAM,IAAK,KAAM,IACf,YAAa,IAAI,0BAA0B,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAE,WACtI,sBAAuB,IAAI,oCAAoC,EAAE,QACjE,wBAAyB,IAAI,sCAAsC,EAAE,QACrE,UAAW,GACb,CACA,MACE,UAAW,GACb,CACA,IAAK,IACH,UAAW,IACX,YAAa,EACb,SAAU,SACV,eAAgB,QAClB,CACA,IACE,OAAQ,MACV,CACA,IACE,IAAK,KACP,CACA,MACE,YAAa,EACb,aAAc,QACd,gBAAiB,QACnB,CACA,gBACE,QAAS,IACX,CACA,SACE,eAAgB,QAClB,CACA,QACE,QAAS,SACX,CACA,GAAI,GAAI,KACN,WAAY,IACd,CACA,IAAK,IAAK,MAAO,OAAQ,MAAO,OAAQ,MAAO,OAC7C,QAAS,MACT,eAAgB,MAClB,CACA,IAAK,MACH,UAAW,KACX,OAAQ,IACV,CACA,OAAQ,MAAO,OAAQ,SAAU,SAAU,uBACzC,KAAM,QACN,sBAAuB,QACvB,wBAAyB,QACzB,eAAgB,QAChB,MAAO,QApJX,cAqJmB,EACf,iBAAkB,YAClB,QAAS,CACX,CACA,OAAO,MAAM,IAAI,CAAC,UAAW,CAAC,QAAQ,SACpC,YAAa,MACf,CACA,OAAO,MAAM,IAAI,CAAC,UAAW,CAAC,QAAQ,SAAS,OAC7C,qBAAsB,IACxB,CACA,uBACE,kBAAmB,GACrB,CACA,mBACE,QAAS,CACX,CACA,cACE,QAAS,CACX,CACA,UAAU,CAAC,IAAI,CAAC,kBAAkB,EAAE,oBAAqB,GAAG,CAAC,sBAAsB,EAAE,KACnF,mBACE,MAAO,aACP,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,GAAG,CAAE,GAAG,CAAE,MACvC,MAAO,UAAU,GAAG,KAAK,CAAE,aAAa,GAAG,CAAE,YAC/C,CACF,CACA,cACE,MAAO,aACP,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,GAAG,CAAE,GAAG,CAAE,MACvC,MAAO,UAAU,GAAG,KAAK,CAAE,aAAa,GAAG,CAAE,YAC/C,CACF,CACF,CACA,SACE,OAAQ,QACV,CACA,4BACE,mBAAoB,IACtB,CACA,8BACE,WAAY,IACZ,WAAY,OACd,CACA,wBACE,QAAS,WACX,CACA,uCAnMF,QAoMa,CACX,CACA,wBAAyB,mCAAoC,oCAAqC,kCAAmC,mCAAoC,qCAAsC,qCAAsC,0CAA2C,uCAC9R,cAAe,CACjB,CACA,oCACE,YAAa,CACf,CACA,iBACE,WAAY,IACd,CACA,OAAQ,KAAK,OAAO,CAAC,aAAgB,CAAC,YAAe,CAAC,cAAiB,uBACrE,mBAAoB,OACjB,gBAAiB,OACZ,WAAY,MACtB,CACA,4BAA6B,4BAC3B,OAAQ,IACV,CACA,CAAC,OAAO,OAAO,KAAK,CAAC,sBACnB,QAAS,cACX,CACF,CACA,iBACE,CAAC,QACC,WAAY,OACd,CACA,CAAC,SACC,SAAU,QACZ,CACA,CAAC,SACC,SAAU,QACZ,CACA,CAAC,MACC,IAAK,KAAK,IAAI,WAAW,EAAE,EAC7B,CACA,CAAC,OACC,KAAM,KAAK,IAAI,WAAW,EAAE,EAC9B,CACA,CAAC,KACC,QAAS,EACX,CACA,CAAC,QACC,QAAS,CACX,CACA,CAAC,UACC,MAAO,KACP,OAAQ,OAAS,OACf,UAAW,KACb,CACA,OAAQ,OAAS,OACf,UAAW,KACb,CACA,OAAQ,OAAS,OACf,UAAW,KACb,CACA,OAAQ,OAAS,OACf,UAAW,KACb,CACA,OAAQ,OAAS,OACf,UAAW,KACb,CACF,CACA,CAAC,QACC,cAAe,IACjB,CACA,CAAC,KACC,WAAY,KAAK,IAAI,WAAW,EAAE,EACpC,CACA,CAAC,MACC,WAAY,KAAK,IAAI,WAAW,EAAE,GACpC,CACA,CAAC,KACC,aAAc,KAAK,IAAI,WAAW,EAAE,EACtC,CACA,CAAC,KACC,cAAe,KAAK,IAAI,WAAW,EAAE,EACvC,CACA,CAAC,KACC,cAAe,KAAK,IAAI,WAAW,EAAE,EACvC,CACA,CAAC,KACC,QAAS,IACX,CACA,CAAC,KACC,QAAS,IACX,CACA,CAAC,YACC,QAAS,WACX,CACA,CAAC,IACC,OAAQ,KAAK,IAAI,WAAW,EAAE,EAChC,CACA,CAAC,IACC,OAAQ,KAAK,IAAI,WAAW,EAAE,EAChC,CACA,CAAC,IACC,OAAQ,KAAK,IAAI,WAAW,EAAE,EAChC,CACA,CAAC,KACC,OAAQ,KAAK,IAAI,WAAW,EAAE,GAChC,CACA,CAAC,YACC,OAAQ,KACV,CACA,CAAC,YACC,OAAQ,KACV,CACA,CAAC,YACC,OAAQ,KACV,CACA,CAAC,4BACC,OAAQ,KAAK,KAAK,EAAE,MACtB,CACA,CAAC,OACC,OAAQ,IACV,CACA,CAAC,aACC,WAAY,KACd,CACA,CAAC,IACC,MAAO,KAAK,IAAI,WAAW,EAAE,EAC/B,CACA,CAAC,IACC,MAAO,KAAK,IAAI,WAAW,EAAE,EAC/B,CACA,CAAC,YACC,MAAO,KACT,CACA,CAAC,YACC,MAAO,KACT,CACA,CAAC,YACC,MAAO,KACT,CACA,CAAC,YACC,MAAO,KACT,CACA,CAAC,OACC,MAAO,IACT,CACA,CAAC,SACC,UAAW,IAAI,eACjB,CACA,CAAC,aACC,UAAW,IAAI,eACjB,CACA,CAAC,eACC,OAAQ,OACV,CACA,CAAC,OACC,OAAQ,IACV,CACA,CAAC,YACC,oBAAqB,MACvB,CACA,CAAC,UACC,gBAAiB,IACnB,CACA,CAAC,YACC,sBAAuB,OAAO,CAAC,CAAE,OAAO,CAAC,CAAE,KAC7C,CACA,CAAC,YACC,sBAAuB,OAAO,CAAC,CAAE,OAAO,CAAC,CAAE,KAC7C,CACA,CAAC,SACC,eAAgB,MAClB,CACA,CAAC,UACC,UAAW,IACb,CACA,CAAC,aACC,YAAa,MACf,CACA,CAAC,gBACC,gBAAiB,aACnB,CACA,CAAC,eACC,gBAAiB,MACnB,CACA,CAAC,MACC,IAAK,KAAK,IAAI,WAAW,EAAE,EAC7B,CACA,CAAC,MACC,IAAK,KAAK,IAAI,WAAW,EAAE,EAC7B,CACA,CAAC,aACC,OAAO,CAAE,CAAE,KAAK,cACd,sBAAsB,EACtB,mBAAoB,KAAK,KAAK,IAAI,WAAW,EAAE,KAAK,EAAE,IAAI,uBAC1D,iBAAkB,KAAK,KAAK,IAAI,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,uBACnE,CACF,CACA,CAAC,UACC,OAAO,CAAE,CAAE,KAAK,cACd,sBAAsB,EACtB,mBAAoB,KAAK,KAAK,IAAI,WAAW,EAAE,GAAG,EAAE,IAAI,uBACxD,iBAAkB,KAAK,KAAK,IAAI,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,uBACjE,CACF,CACA,CAAC,UACC,OAAO,CAAE,CAAE,KAAK,cACd,sBAAsB,EACtB,mBAAoB,KAAK,KAAK,IAAI,WAAW,EAAE,GAAG,EAAE,IAAI,uBACxD,iBAAkB,KAAK,KAAK,IAAI,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,uBACjE,CACF,CACA,CAAC,UACC,OAAO,CAAE,CAAE,KAAK,cACd,sBAAsB,EACtB,mBAAoB,KAAK,KAAK,IAAI,WAAW,EAAE,GAAG,EAAE,IAAI,uBACxD,iBAAkB,KAAK,KAAK,IAAI,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,uBACjE,CACF,CACA,CAAC,gBACC,SAAU,MACZ,CACA,CAAC,YACC,cAAe,IAAI,aACrB,CACA,CAAC,aACC,cAAe,KAAK,SAAS,EAAE,IACjC,CACA,CAAC,WACC,cAAe,IAAI,YACrB,CACA,CAAC,OACC,aAAc,IAAI,mBAClB,aAAc,GAChB,CACA,CAAC,cACC,aAAc,IAAI,eACpB,CACA,CAAC,aACC,aAAc,IAAI,cACpB,CACA,CAAC,0BACC,aAAc,IAAI,2BACpB,CACA,CAAC,qBACC,iBAAkB,WACpB,CACA,CAAC,cACC,iBAAkB,IAAI,mBACxB,CACA,CAAC,eACC,iBAAkB,IAAI,oBACxB,CACA,CAAC,YACC,iBAAkB,IAAI,iBACxB,CACA,CAAC,WACC,iBAAkB,IAAI,gBACxB,CACA,CAAC,aACC,iBAAkB,IAAI,kBACxB,CACA,CAAC,eACC,iBAAkB,WACpB,CACA,CAAC,IACC,QAAS,KAAK,IAAI,WAAW,EAAE,EACjC,CACA,CAAC,IACC,QAAS,KAAK,IAAI,WAAW,EAAE,EACjC,CACA,CAAC,IACC,QAAS,KAAK,IAAI,WAAW,EAAE,EACjC,CACA,CAAC,IACC,QAAS,KAAK,IAAI,WAAW,EAAE,EACjC,CACA,CAAC,KACC,eAAgB,KAAK,IAAI,WAAW,EAAE,EACxC,CACA,CAAC,KACC,eAAgB,KAAK,IAAI,WAAW,EAAE,EACxC,CACA,CAAC,KACC,eAAgB,KAAK,IAAI,WAAW,EAAE,EACxC,CACA,CAAC,KACC,cAAe,KAAK,IAAI,WAAW,EAAE,EACvC,CACA,CAAC,KACC,cAAe,KAAK,IAAI,WAAW,EAAE,EACvC,CACA,CAAC,KACC,cAAe,KAAK,IAAI,WAAW,EAAE,EACvC,CACA,CAAC,KACC,YAAa,KAAK,IAAI,WAAW,EAAE,EACrC,CACA,CAAC,YACC,WAAY,MACd,CACA,CAAC,SACC,UAAW,IAAI,YACf,YAAa,IAAI,YAAY,EAAE,IAAI,yBACrC,CACA,CAAC,SACC,UAAW,IAAI,YACf,YAAa,IAAI,YAAY,EAAE,IAAI,yBACrC,CACA,CAAC,SACC,UAAW,IAAI,YACf,YAAa,IAAI,YAAY,EAAE,IAAI,yBACrC,CACA,CAAC,UACC,UAAW,IAAI,aACf,YAAa,IAAI,YAAY,EAAE,IAAI,0BACrC,CACA,CAAC,QACC,UAAW,IAAI,WACf,YAAa,IAAI,YAAY,EAAE,IAAI,wBACrC,CACA,CAAC,QACC,UAAW,IAAI,WACf,YAAa,IAAI,YAAY,EAAE,IAAI,wBACrC,CACA,CAAC,QACC,UAAW,IAAI,WACf,YAAa,IAAI,YAAY,EAAE,IAAI,wBACrC,CACA,CAAC,aACC,cAAc,EACd,YAAa,CACf,CACA,CAAC,UACC,kBAAkB,IAAI,oBACtB,YAAa,IAAI,mBACnB,CACA,CAAC,YACC,kBAAkB,IAAI,sBACtB,YAAa,IAAI,qBACnB,CACA,CAAC,cACC,kBAAkB,IAAI,wBACtB,YAAa,IAAI,uBACnB,CACA,CAAC,eACC,eAAe,IAAI,kBACnB,eAAgB,IAAI,iBACtB,CACA,CAAC,kBACC,YAAa,MACf,CACA,CAAC,cACC,MAAO,IAAI,iBACb,CACA,CAAC,qBACC,MAAO,IAAI,wBACb,CACA,CAAC,4BACC,MAAO,IAAI,+BACb,CACA,CAAC,gBACC,MAAO,IAAI,mBACb,CACA,CAAC,sBACC,MAAO,IAAI,yBACb,CACA,CAAC,aACC,MAAO,IAAI,gBACb,CACA,CAAC,wBACC,MAAO,IAAI,2BACb,CACA,CAAC,4BACC,MAAO,UAAU,GAAG,IAAI,CAAE,IAAI,IAAI,uBAAuB,GAAG,CAAE,aAC9D,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,GAAG,CAAE,GAAG,CAAE,MACvC,MAAO,UAAU,GAAG,KAAK,CAAE,IAAI,4BAA4B,GAAG,CAAE,YAClE,CACF,CACA,CAAC,OACC,WAAY,MACd,CACA,CAAC,aACC,qBAAsB,IACxB,CACA,CAAC,mBACC,sBAAuB,GACzB,CACA,CAAC,UACC,QAAS,EACX,CACA,CAAC,YACC,QAAS,IACX,CACA,CAAC,UACC,aAAa,EAAE,IAAI,IAAI,EAAE,IAAI,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAK,EAAE,EAAE,IAAI,IAAI,KAAK,IAAI,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KACrH,WAAY,IAAI,kBAAkB,CAAE,IAAI,uBAAuB,CAAE,IAAI,wBAAwB,CAAE,IAAI,iBAAiB,CAAE,IAAI,YAC5H,CACA,CAAC,KACC,kBAAkB,IAAI,eAAe,GAAG,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,IAAI,yBAAyB,IAAI,eAAe,EAAE,cAC3G,WAAY,IAAI,kBAAkB,CAAE,IAAI,uBAAuB,CAAE,IAAI,wBAAwB,CAAE,IAAI,iBAAiB,CAAE,IAAI,YAC5H,CACA,CAAC,uBACC,wBAAwB,IAAI,mBAC9B,CACA,CAAC,QACC,cAAe,IAAI,oBACnB,cAAe,GACjB,CACA,CAAC,KACC,WAAW,KAAK,KAChB,OAAQ,IAAI,SAAS,GAAG,IAAI,eAAe,GAAG,IAAI,aAAa,GAAG,IAAI,cAAc,GAAG,IAAI,eAAe,GAAG,IAAI,WAAW,GAAG,IAAI,aAAa,GAAG,IAAI,UAAU,GAAG,IAAI,gBAAgB,EAC1L,CACA,CAAC,eACC,oBAAqB,IACrB,2BAA4B,IAAI,SAAS,EAAE,IAAI,uCAC/C,oBAAqB,IAAI,aAAa,EAAE,IAAI,+BAC9C,CACA,CAAC,kBACC,oBAAqB,KAAK,CAAE,gBAAgB,CAAE,YAAY,CAAE,aAAa,CAAE,qBAAqB,CAAE,IAAI,CAAE,MAAM,CAAE,kBAAkB,CAAE,iBAAiB,CAAE,iBACvJ,2BAA4B,IAAI,SAAS,EAAE,IAAI,uCAC/C,oBAAqB,IAAI,aAAa,EAAE,IAAI,+BAC9C,CACA,CAAC,mBACC,oBAAqB,QACrB,2BAA4B,IAAI,SAAS,EAAE,IAAI,uCAC/C,oBAAqB,IAAI,aAAa,EAAE,IAAI,+BAC9C,CACA,CAAC,aACC,eAAe,KACf,oBAAqB,IACvB,CACA,CAAC,aACC,eAAe,IACf,oBAAqB,GACvB,CACA,CAAC,aACC,eAAe,IACf,oBAAqB,GACvB,CACA,CAAC,SACC,WAAW,IAAI,YACf,2BAA4B,IAAI,WAClC,CACA,CAAC,gBACC,IAAI,CAAE,CAAE,GACN,kBAAmB,CACrB,CACF,CACA,CAAC,gBACC,IAAI,CAAE,CAAE,GACN,eAAgB,CAClB,CACF,CACA,CAAC,iBACC,CAAC,OACC,OAAO,MAAQ,OACb,iBAAkB,IAAI,eACxB,CACF,CACF,CACA,CAAC,0BACC,CAAC,OACC,OAAO,MAAQ,OACb,iBAAkB,UAAU,GAAG,IAAI,CAAE,IAAI,IAAI,gBAAgB,GAAG,CAAE,aAClE,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,GAAG,CAAE,GAAG,CAAE,MACvC,iBAAkB,UAAU,GAAG,KAAK,CAAE,IAAI,qBAAqB,GAAG,CAAE,YACtE,CACF,CACF,CACF,CACA,CAAC,gBACC,CAAC,OACC,OAAO,MAAQ,OACb,iBAAkB,IAAI,cACxB,CACF,CACF,CACA,CAAC,sBACC,CAAC,OACC,OAAO,MAAQ,OACb,iBAAkB,UAAU,GAAG,IAAI,CAAE,IAAI,IAAI,YAAY,GAAG,CAAE,aAC9D,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,GAAG,CAAE,GAAG,CAAE,MACvC,iBAAkB,UAAU,GAAG,KAAK,CAAE,IAAI,iBAAiB,GAAG,CAAE,YAClE,CACF,CACF,CACF,CACA,CAAC,8BACC,CAAC,OACC,OAAO,MAAQ,OACb,MAAO,IAAI,0BACb,CACF,CACF,CACA,CAAC,iBACC,CAAC,OACC,OAAO,MAAQ,OACb,qBAAsB,SACxB,CACF,CACF,CACA,CAAC,sBACC,CAAC,eACC,kBAAkB,IAAI,eAAe,GAAG,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,IAAI,yBAAyB,IAAI,eAAe,EAAE,cAC3G,WAAY,IAAI,kBAAkB,CAAE,IAAI,uBAAuB,CAAE,IAAI,wBAAwB,CAAE,IAAI,iBAAiB,CAAE,IAAI,YAC5H,CACF,CACA,CAAC,yBACC,CAAC,eACC,iBAAiB,IAAI,aACvB,CACF,CACA,CAAC,6BACC,CAAC,eACC,wBAAwB,IACxB,yBAAyB,IAAI,eAAe,GAAG,EAAE,EAAE,EAAE,IAAI,wBAAwB,IAAI,uBACvF,CACF,CACA,CAAC,4BACC,CAAC,eACC,oBAAoB,KACpB,cAAe,IACjB,CACF,CACA,CAAC,8BACC,CAAC,UACC,eAAgB,IAClB,CACF,CACA,CAAC,qBACC,CAAC,UACC,QAAS,GACX,CACF,CACA,CAAC,wCACC,CAAC,CAAC,mBACA,MAAO,IAAI,mBACb,CACF,CACF,CACA,WACE,YAAa,sBACb,IAAK,kDAA+C,OAAO,YAC3D,YAAa,IACb,WAAY,OACZ,aAAc,IAChB,CACA,WACE,YAAa,sBACb,IAAK,iDAA8C,OAAO,YAC1D,YAAa,IACb,WAAY,OACZ,aAAc,IAChB,CACA,WAAW,eACT,GACE,OAAQ,CACV,CACA,GACE,OAAQ,IAAI,iCACd,CACF,CACA,WAAW,aACT,GACE,OAAQ,IAAI,iCACd,CACA,GACE,OAAQ,CACV,CACF,CACA,YACE,MACE,cAAc,IAAI,IAAI,GACtB,cAAc,IAAI,KAAK,IACvB,QAAQ,EAAE,GAAG,KACb,mBAAmB,IAAI,KAAK,MAC5B,WAAW,EAAE,GAAG,KAChB,sBAAsB,IAAI,KAAK,MAC/B,WAAW,IAAI,KAAK,MACpB,sBAAsB,IAAI,GAAG,IAC7B,kBAAkB,IAAI,KAAK,MAC3B,aAAa,IAAI,KAAK,OACtB,wBAAwB,IAAI,KAAK,MACjC,SAAS,IAAI,IAAI,MACjB,oBAAoB,IAAI,KAAK,MAC7B,UAAU,EAAE,GAAG,MACf,qBAAqB,IAAI,KAAK,MAC9B,eAAe,EAAE,MAAM,MACvB,0BAA0B,IAAI,KAAK,MACnC,UAAU,IAAI,KAAK,MACnB,SAAS,IAAI,KAAK,MAClB,QAAQ,IAAI,KAAK,MACjB,UAAU,OACZ,CACF,CACA,YACE,EACE,aAAc,IAAI,eACpB,CACA,KACE,iBAAkB,IAAI,oBACtB,MAAO,IAAI,oBACX,YAAa,IAAI,cACnB,CACF,CACA,UAAU,oBAAqB,CAC7B,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EACf,aAAa,EAAE,CAAC,EAElB,UAAU,iBAAkB,CAC1B,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EACf,aAAa,EAAE,KAAK,EAEtB,UAAU,YAAa,CACrB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EAEjB,UAAU,gBAAiB,CACzB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EAEjB,UAAU,aAAc,CACtB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EAEjB,UAAU,WAAY,CACpB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EACf,aAAa,EAAE,EAAE,EAAE,KAAK,EAE1B,UAAU,iBAAkB,CAC1B,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EAEjB,UAAU,iBAAkB,CAC1B,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,KAAK,EACf,aAAa,EAAE,IAAI,EAErB,UAAU,iBAAkB,CAC1B,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EACf,aAAa,EAAE,EAAE,EAAE,KAAK,EAE1B,UAAU,uBAAwB,CAChC,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EAEjB,UAAU,uBAAwB,CAChC,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,KAAK,EACf,aAAa,EAAE,IAAI,EAErB,UAAU,eAAgB,CACxB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EAEjB,UAAU,gBAAiB,CACzB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EACf,aAAa,EAAE,EAAE,EAAE,KAAK,EAE1B,UAAU,qBAAsB,CAC9B,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EAEjB,UAAU,sBAAuB,CAC/B,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EACf,aAAa,EAAE,EAAE,EAAE,KAAK,EAE1B,UAAU,eAAgB,CACxB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EAEjB,UAAU,sBAAuB,CAC/B,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,KAAK,EACf,aAAa,EAAE,GAAG,EAEpB,UAAU,sBAAuB,CAC/B,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EACf,aAAa,EAAE,IAAI,EAErB,UAAU,uBAAwB,CAChC,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EACf,aAAa,EAAE,EAAE,EAAE,KAAK,EAE1B,UAAU,kBAAmB,CAC3B,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EACf,aAAa,EAAE,KAAK,EAEtB,UAAU,SAAU,CAClB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EAEjB,UAAU,eAAgB,CACxB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EAEjB,UAAU,aAAc,CACtB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EAEjB,UAAU,cAAe,CACvB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EAEjB,UAAU,eAAgB,CACxB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EAEjB,UAAU,WAAY,CACpB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EAEjB,UAAU,YAAa,CACrB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EAEjB,UAAU,aAAc,CACtB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EAEjB,UAAU,UAAW,CACnB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EAEjB,UAAU,gBAAiB,CACzB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EAEjB,UAAU,sBAAuB,CAC/B,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EAEjB,UAAU,sBAAuB,CAC/B,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,KAAK,EACf,aAAa,EAAE,IAAI,EAErB,UAAU,qBAAsB,CAC9B,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EAEjB,UAAU,aAAc,CACtB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EAEjB,UAAU,SAAU,CAClB,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,KAAK,EAEjB,WAAW,KACT,GACE,UAAW,OAAO,OACpB,CACF,CACA,kBACE,UAAU,CAAC,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,CAAC,CAAC,WAAW,EAAE,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,EAAE,MAC7H,EAAG,QAAU,OAAS,WACpB,sBAAsB,EACtB,mBAAmB,MACnB,cAAc,QACd,kBAAkB,QAClB,eAAe,QACf,aAAa,EAAE,EAAE,MACjB,mBAAmB,QACnB,mBAAmB,KACnB,mBAAmB,EAAE,EAAE,MACvB,yBAAyB,QACzB,yBAAyB,KACzB,iBAAiB,QACjB,kBAAkB,EAAE,EAAE,MACtB,uBAAuB,QACvB,wBAAwB,EAAE,EAAE,MAC5B,iBAAiB,QACjB,wBAAwB,IACxB,wBAAwB,KACxB,yBAAyB,EAAE,EAAE,MAC7B,oBAAoB,MACpB,WAAW,QACX,iBAAiB,QACjB,eAAe,QACf,gBAAgB,QAChB,iBAAiB,QACjB,aAAa,QACb,cAAc,QACd,eAAe,QACf,YAAY,QACZ,kBAAkB,QAClB,wBAAwB,QACxB,wBAAwB,KACxB,uBAAuB,QACvB,eAAe,QACf,WAAW,OACb,CACF,CACF","names":[]}
1
+ {"version":3,"sources":["../src/styles.css"],"sourcesContent":["/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-blue-600: oklch(54.6% 0.245 262.881);\n --color-gray-100: oklch(96.7% 0.003 264.542);\n --color-gray-300: oklch(87.2% 0.01 258.338);\n --color-white: #fff;\n --spacing: 0.25rem;\n --container-md: 28rem;\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-base: 1rem;\n --text-base--line-height: calc(1.5 / 1);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-2xl: 1.5rem;\n --text-2xl--line-height: calc(2 / 1.5);\n --text-4xl: 2.25rem;\n --text-4xl--line-height: calc(2.5 / 2.25);\n --text-5xl: 3rem;\n --text-5xl--line-height: 1;\n --text-6xl: 3.75rem;\n --text-6xl--line-height: 1;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --tracking-tight: -0.025em;\n --radius-lg: calc(var(--radius) + 2px);\n --radius-3xl: 3.75rem;\n --ease-out: cubic-bezier(0, 0, 0.2, 1);\n --animate-spin: spin 1s linear infinite;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n --radius: var(--radius);\n --font-family: \"Helvetica Now Display\", system-ui, -apple-system, sans-serif;\n --color-border: hsl(var(--border));\n --color-input: hsl(var(--input));\n --color-ring: hsl(var(--ring));\n --color-background: hsl(var(--background));\n --color-foreground: hsl(var(--foreground));\n --color-primary: hsl(var(--primary));\n --color-primary-foreground: hsl(var(--primary-foreground));\n --color-secondary: hsl(var(--secondary));\n --color-destructive: hsl(var(--destructive));\n --color-destructive-foreground: hsl(var(--destructive-foreground));\n --color-muted: hsl(var(--muted));\n --color-muted-foreground: hsl(var(--muted-foreground));\n --color-accent: hsl(var(--accent));\n --color-accent-foreground: hsl(var(--accent-foreground));\n --color-card-foreground: hsl(var(--card-foreground));\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::-moz-placeholder {\n opacity: 1;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::-moz-placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n -webkit-appearance: button;\n -moz-appearance: button;\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .pointer-events-none {\n pointer-events: none;\n }\n .invisible {\n visibility: hidden;\n }\n .absolute {\n position: absolute;\n }\n .fixed {\n position: fixed;\n }\n .relative {\n position: relative;\n }\n .static {\n position: static;\n }\n .inset-0 {\n inset: calc(var(--spacing) * 0);\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .left-0 {\n left: calc(var(--spacing) * 0);\n }\n .-z-10 {\n z-index: calc(10 * -1);\n }\n .z-0 {\n z-index: 0;\n }\n .z-10 {\n z-index: 10;\n }\n .z-\\[1\\] {\n z-index: 1;\n }\n .container {\n width: 100%;\n @media (width >= 40rem) {\n max-width: 40rem;\n }\n @media (width >= 48rem) {\n max-width: 48rem;\n }\n @media (width >= 64rem) {\n max-width: 64rem;\n }\n @media (width >= 80rem) {\n max-width: 80rem;\n }\n @media (width >= 96rem) {\n max-width: 96rem;\n }\n }\n .mx-auto {\n margin-inline: auto;\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .mt-12 {\n margin-top: calc(var(--spacing) * 12);\n }\n .mr-2 {\n margin-right: calc(var(--spacing) * 2);\n }\n .mb-4 {\n margin-bottom: calc(var(--spacing) * 4);\n }\n .mb-8 {\n margin-bottom: calc(var(--spacing) * 8);\n }\n .flex {\n display: flex;\n }\n .grid {\n display: grid;\n }\n .inline-block {\n display: inline-block;\n }\n .inline-flex {\n display: inline-flex;\n }\n .h-4 {\n height: calc(var(--spacing) * 4);\n }\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .h-9 {\n height: calc(var(--spacing) * 9);\n }\n .h-10 {\n height: calc(var(--spacing) * 10);\n }\n .h-\\[150px\\] {\n height: 150px;\n }\n .h-\\[300px\\] {\n height: 300px;\n }\n .h-\\[400px\\] {\n height: 400px;\n }\n .h-\\[calc\\(100\\%-0\\.5rem\\)\\] {\n height: calc(100% - 0.5rem);\n }\n .h-full {\n height: 100%;\n }\n .h-screen {\n height: 100vh;\n }\n .min-h-screen {\n min-height: 100vh;\n }\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n .w-9 {\n width: calc(var(--spacing) * 9);\n }\n .w-\\[200px\\] {\n width: 200px;\n }\n .w-\\[300px\\] {\n width: 300px;\n }\n .w-\\[400px\\] {\n width: 400px;\n }\n .w-\\[500px\\] {\n width: 500px;\n }\n .w-full {\n width: 100%;\n }\n .max-w-\\[500px\\] {\n max-width: 500px;\n }\n .max-w-md {\n max-width: var(--container-md);\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .cursor-pointer {\n cursor: pointer;\n }\n .resize {\n resize: both;\n }\n .list-inside {\n list-style-position: inside;\n }\n .list-disc {\n list-style-type: disc;\n }\n .grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .grid-cols-3 {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .items-center {\n align-items: center;\n }\n .justify-between {\n justify-content: space-between;\n }\n .justify-center {\n justify-content: center;\n }\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n .gap-6 {\n gap: calc(var(--spacing) * 6);\n }\n .space-y-1\\.5 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-2 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-8 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .rounded-3xl {\n border-radius: var(--radius-3xl);\n }\n .rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-border {\n border-color: var(--color-border);\n }\n .border-input {\n border-color: var(--color-input);\n }\n .border-primary-foreground {\n border-color: var(--color-primary-foreground);\n }\n .border-white\\/50 {\n border-color: color-mix(in srgb, #fff 50%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--color-white) 50%, transparent);\n }\n }\n .border-t-transparent {\n border-top-color: transparent;\n }\n .bg-background {\n background-color: var(--color-background);\n }\n .bg-destructive {\n background-color: var(--color-destructive);\n }\n .bg-gray-100 {\n background-color: var(--color-gray-100);\n }\n .bg-primary {\n background-color: var(--color-primary);\n }\n .bg-primary\\/10 {\n background-color: color-mix(in srgb, hsl(var(--primary)) 10%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 10%, transparent);\n }\n }\n .bg-secondary {\n background-color: var(--color-secondary);\n }\n .bg-transparent {\n background-color: transparent;\n }\n .p-1 {\n padding: calc(var(--spacing) * 1);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .p-6 {\n padding: calc(var(--spacing) * 6);\n }\n .p-8 {\n padding: calc(var(--spacing) * 8);\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .px-8 {\n padding-inline: calc(var(--spacing) * 8);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .py-8 {\n padding-block: calc(var(--spacing) * 8);\n }\n .pt-0 {\n padding-top: calc(var(--spacing) * 0);\n }\n .text-center {\n text-align: center;\n }\n .text-left {\n text-align: left;\n }\n .font-mono {\n font-family: var(--font-mono);\n }\n .text-2xl {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n }\n .text-4xl {\n font-size: var(--text-4xl);\n line-height: var(--tw-leading, var(--text-4xl--line-height));\n }\n .text-5xl {\n font-size: var(--text-5xl);\n line-height: var(--tw-leading, var(--text-5xl--line-height));\n }\n .text-6xl {\n font-size: var(--text-6xl);\n line-height: var(--tw-leading, var(--text-6xl--line-height));\n }\n .text-base {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n .text-xl {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n .text-\\[1em\\] {\n font-size: 1em;\n }\n .leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .tracking-tight {\n --tw-tracking: var(--tracking-tight);\n letter-spacing: var(--tracking-tight);\n }\n .whitespace-nowrap {\n white-space: nowrap;\n }\n .whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n .text-blue-600 {\n color: var(--color-blue-600);\n }\n .text-card-foreground {\n color: var(--color-card-foreground);\n }\n .text-destructive-foreground {\n color: var(--color-destructive-foreground);\n }\n .text-foreground {\n color: var(--color-foreground);\n }\n .text-gray-300 {\n color: var(--color-gray-300);\n }\n .text-muted-foreground {\n color: var(--color-muted-foreground);\n }\n .text-primary {\n color: var(--color-primary);\n }\n .text-primary-foreground {\n color: var(--color-primary-foreground);\n }\n .text-primary-foreground\\/80 {\n color: color-mix(in srgb, hsl(var(--primary-foreground)) 80%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--color-primary-foreground) 80%, transparent);\n }\n }\n .text-white {\n color: var(--color-white);\n }\n .italic {\n font-style: italic;\n }\n .no-underline {\n text-decoration-line: none;\n }\n .underline-offset-4 {\n text-underline-offset: 4px;\n }\n .opacity-0 {\n opacity: 0%;\n }\n .opacity-50 {\n opacity: 50%;\n }\n .opacity-100 {\n opacity: 100%;\n }\n .shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-offset-background {\n --tw-ring-offset-color: var(--color-background);\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .blur {\n --tw-blur: blur(8px);\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 .transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n }\n .duration-150 {\n --tw-duration: 150ms;\n transition-duration: 150ms;\n }\n .duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .ease-out {\n --tw-ease: var(--ease-out);\n transition-timing-function: var(--ease-out);\n }\n .select-none {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n }\n .hover\\:bg-accent {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-accent);\n }\n }\n }\n .hover\\:bg-destructive\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, hsl(var(--destructive)) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-destructive) 90%, transparent);\n }\n }\n }\n }\n .hover\\:bg-muted {\n &:hover {\n @media (hover: hover) {\n background-color: var(--color-muted);\n }\n }\n }\n .hover\\:bg-primary\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in srgb, hsl(var(--primary)) 90%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-primary) 90%, transparent);\n }\n }\n }\n }\n .hover\\:text-accent-foreground {\n &:hover {\n @media (hover: hover) {\n color: var(--color-accent-foreground);\n }\n }\n }\n .hover\\:underline {\n &:hover {\n @media (hover: hover) {\n text-decoration-line: underline;\n }\n }\n }\n .focus-visible\\:ring-2 {\n &:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus-visible\\:ring-ring {\n &:focus-visible {\n --tw-ring-color: var(--color-ring);\n }\n }\n .focus-visible\\:ring-offset-2 {\n &:focus-visible {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .focus-visible\\:outline-none {\n &:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .disabled\\:pointer-events-none {\n &:disabled {\n pointer-events: none;\n }\n }\n .disabled\\:opacity-50 {\n &:disabled {\n opacity: 50%;\n }\n }\n .data-\\[state\\=active\\]\\:text-foreground {\n &[data-state=\"active\"] {\n color: var(--color-foreground);\n }\n }\n}\n@font-face {\n font-family: \"Helvetica Now Display\";\n src: url(\"./fonts/HelveticaNowDisplay-Regular.ttf\") format(\"truetype\");\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n}\n@font-face {\n font-family: \"Helvetica Now Display\";\n src: url(\"./fonts/HelveticaNowDisplay-Medium.ttf\") format(\"truetype\");\n font-weight: 500;\n font-style: normal;\n font-display: swap;\n}\n@keyframes accordion-down {\n from {\n height: 0;\n }\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n@keyframes accordion-up {\n from {\n height: var(--radix-accordion-content-height);\n }\n to {\n height: 0;\n }\n}\n@layer base {\n :root {\n --background: 240 10% 4%;\n --foreground: 144 100% 97%;\n --card: 0 0% 3.5%;\n --card-foreground: 140 100% 97.1%;\n --popover: 0 0% 3.5%;\n --popover-foreground: 140 100% 97.1%;\n --primary: 140 100% 97.1%;\n --primary-foreground: 240 6% 10%;\n --primary-accent: 140 100% 97.1%;\n --secondary: 240 4.5% 15.88%;\n --secondary-foreground: 140 100% 97.1%;\n --muted: 240 10% 3.92%;\n --muted-foreground: 144 4.3% 54.9%;\n --accent: 0 0% 15.3%;\n --accent-foreground: 140 100% 97.1%;\n --destructive: 0 62.8% 30.6%;\n --destructive-foreground: 140 100% 97.1%;\n --border: 240 3.7% 27.6%;\n --input: 240 3.7% 27.6%;\n --ring: 140 100% 97.1%;\n --radius: 0.625rem;\n }\n}\n@layer base {\n * {\n border-color: var(--color-border);\n }\n body {\n background-color: var(--color-background);\n color: var(--color-foreground);\n font-family: var(--font-family);\n }\n}\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-tracking {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-drop-shadow-size {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-space-y-reverse: 0;\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-tracking: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-duration: initial;\n --tw-ease: initial;\n }\n }\n}\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alkimi.org/ui-kit",
3
- "version": "0.1.18",
3
+ "version": "0.1.20",
4
4
  "packageManager": "pnpm@10.26.0",
5
5
  "description": "A React component library built with shadcn/ui and Tailwind CSS",
6
6
  "main": "./dist/index.js",
@@ -1,3 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }"use client";
2
- var _chunkFUYXCJOQjs = require('./chunk-FUYXCJOQ.js');var _react = require('react'); var _react2 = _interopRequireDefault(_react);var _jsxruntime = require('react/jsx-runtime');var D=["\\","-","?","/","#","!","_","+","<",">"],O=3,H=200,v=e=>e?e.split(" ").map(n=>n?D[Math.floor(Math.random()*D.length)].repeat(n.length):"").join(" "):"",d=e=>{if(typeof e=="string"||typeof e=="number")return String(e);if(Array.isArray(e))return e.map(d).join("");if(_react2.default.isValidElement(e)){let n=e.props,r="";return typeof n.text=="string"&&(r+=n.text),typeof n.label=="string"&&(r+=n.label),typeof n.title=="string"&&(r+=n.title),n.children&&(r+=d(n.children)),r}return""},p=(e,n,r)=>{if(typeof e=="string"||typeof e=="number"){let s=String(e),i="";for(let t=0;t<s.length;t++)r.current<n.length?(i+=n[r.current],r.current++):i+=s[t];return i}if(Array.isArray(e))return e.map((s,i)=>{let t=p(s,n,r);if(_react2.default.isValidElement(t)){let l=_react2.default.isValidElement(s)?s.key:null;if(t.key==null&&l==null)return _react2.default.cloneElement(t,{key:`decoded-${i}`});if(t.key==null&&l!=null)return _react2.default.cloneElement(t,{key:l})}return t});if(_react2.default.isValidElement(e)){let s=e.props,i={...s};if(typeof s.text=="string"){let t=s.text,l="";for(let o=0;o<t.length;o++)r.current<n.length?(l+=n[r.current],r.current++):l+=t[o];i.text=l}if(typeof s.label=="string"){let t=s.label,l="";for(let o=0;o<t.length;o++)r.current<n.length?(l+=n[r.current],r.current++):l+=t[o];i.label=l}if(typeof s.title=="string"){let t=s.title,l="";for(let o=0;o<t.length;o++)r.current<n.length?(l+=n[r.current],r.current++):l+=t[o];i.title=l}return s.children&&(i.children=p(s.children,n,r)),_react2.default.cloneElement(e,i)}return e},I=({children:e,className:n,delay:r=0})=>{let[s,i]=_react.useState.call(void 0, null),[t,l]=_react.useState.call(void 0, !1),[o,u]=_react.useState.call(void 0, !0),k=_react.useRef.call(void 0, null),c=_react.useMemo.call(void 0, ()=>d(e),[e]),g=_react.useMemo.call(void 0, ()=>v(c),[c]);_react.useEffect.call(void 0, ()=>{if(!t&&c){let y=p(e,g,{current:0});i(y),u(!0)}},[e,g,t,c]),_react.useEffect.call(void 0, ()=>{if(!c){i(null),u(!1);return}if(t){u(!1);return}let N=k.current;if(!N)return;let y=0,f=null,h=null,R=new IntersectionObserver(T=>{T[0].isIntersecting&&!t&&(h=setTimeout(()=>{let C=p(e,g,{current:0});i(C),u(!0),f=setInterval(()=>{if(y++,y>=O)l(!0),u(!1),f&&clearInterval(f);else{let M=v(c),P=p(e,M,{current:0});i(P)}},H)},r),R.disconnect())},{threshold:.1});return R.observe(N),()=>{R.disconnect(),f&&clearInterval(f),h&&clearTimeout(h)}},[e,c,g,t,r]);let w=_react.useMemo.call(void 0, ()=>d(e),[e]);return _jsxruntime.jsxs.call(void 0, "span",{ref:k,"aria-label":w,className:_chunkFUYXCJOQjs.a.call(void 0, "grid *:col-start-1 *:row-start-1",n),children:[_jsxruntime.jsx.call(void 0, "span",{className:_chunkFUYXCJOQjs.a.call(void 0, "transition-opacity duration-300",t?"opacity-100":"opacity-0"),children:e}),o&&s&&_jsxruntime.jsx.call(void 0, "span",{className:"transition-opacity duration-300",children:s})]})},J=e=>_jsxruntime.jsx.call(void 0, _react.Suspense,{fallback:_jsxruntime.jsx.call(void 0, "span",{className:_chunkFUYXCJOQjs.a.call(void 0, "opacity-0",e.className),children:e.children}),children:_jsxruntime.jsx.call(void 0, I,{...e})}),q= exports.a =J;exports.a = q;
3
- //# sourceMappingURL=chunk-5CDUAMIG.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/chunk-5CDUAMIG.js","../src/components/TextDecoder.tsx"],"names":["SYMBOLS","MAX_ITERATIONS","SPEED","scrambleText","input","word","extractText","node","React","props","result","scrambleReactNode","scrambledText","textStartIndex","text","scrambled","i","child","index","scrambledChild","originalKey"],"mappings":"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","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/chunk-5CDUAMIG.js","sourcesContent":[null,"\"use client\"\nimport { cn } from \"@/lib/utils\"\nimport React, {\n useState,\n useEffect,\n useMemo,\n useRef,\n Suspense,\n ReactNode,\n} from \"react\"\n\n// The symbols to use for the scrambling effect (moved outside to avoid recreation)\nconst SYMBOLS = [\"\\\\\", \"-\", \"?\", \"/\", \"#\", \"!\", \"_\", \"+\", \"<\", \">\"]\nconst MAX_ITERATIONS = 3 // How many times to scramble\nconst SPEED = 200 // Speed in milliseconds between scrambles\n\n// Helper function moved outside component to avoid recreation\nconst scrambleText = (input: string): string => {\n if (!input) return \"\"\n\n return input\n .split(\" \")\n .map((word: string) => {\n if (!word) return \"\"\n const randomSymbol = SYMBOLS[Math.floor(Math.random() * SYMBOLS.length)]\n return randomSymbol.repeat(word.length)\n })\n .join(\" \")\n}\n\n// Extract text content from React nodes recursively\n// Also checks common text props like 'text', 'label', 'title', etc.\nconst extractText = (node: ReactNode): string => {\n if (typeof node === \"string\" || typeof node === \"number\") {\n return String(node)\n }\n\n if (Array.isArray(node)) {\n return node.map(extractText).join(\"\")\n }\n\n if (React.isValidElement(node)) {\n const props = node.props as {\n children?: ReactNode\n text?: string\n label?: string\n title?: string\n [key: string]: unknown\n }\n\n let result = \"\"\n\n // Extract text from props first (in order: text, label, title)\n if (typeof props.text === \"string\") {\n result += props.text\n }\n if (typeof props.label === \"string\") {\n result += props.label\n }\n if (typeof props.title === \"string\") {\n result += props.title\n }\n\n // Then extract from children\n if (props.children) {\n result += extractText(props.children)\n }\n\n return result\n }\n\n return \"\"\n}\n\n// Clone React nodes and replace text content with scrambled text\n// This function maps scrambled text back to the original structure\nconst scrambleReactNode = (\n node: ReactNode,\n scrambledText: string,\n textStartIndex: { current: number }\n): ReactNode => {\n if (typeof node === \"string\" || typeof node === \"number\") {\n const text = String(node)\n // For each character in the original text, take the corresponding scrambled character\n // This preserves the length and structure\n let scrambled = \"\"\n for (let i = 0; i < text.length; i++) {\n if (textStartIndex.current < scrambledText.length) {\n scrambled += scrambledText[textStartIndex.current]\n textStartIndex.current++\n } else {\n // Fallback if scrambled text is shorter (shouldn't happen, but safety check)\n scrambled += text[i]\n }\n }\n return scrambled\n }\n\n if (Array.isArray(node)) {\n return node.map((child, index) => {\n const scrambledChild = scrambleReactNode(\n child,\n scrambledText,\n textStartIndex\n )\n // Preserve original key if it exists, otherwise add one for React elements\n if (React.isValidElement(scrambledChild)) {\n const originalKey = React.isValidElement(child) ? child.key : null\n if (scrambledChild.key == null && originalKey == null) {\n return React.cloneElement(scrambledChild, { key: `decoded-${index}` })\n }\n // If original had a key but scrambled doesn't, preserve it\n if (scrambledChild.key == null && originalKey != null) {\n return React.cloneElement(scrambledChild, { key: originalKey })\n }\n }\n return scrambledChild\n })\n }\n\n if (React.isValidElement(node)) {\n // Regular element handling - works for all components\n const props = node.props as {\n children?: ReactNode\n text?: string\n label?: string\n title?: string\n [key: string]: unknown\n }\n const newProps = { ...props }\n\n // Handle text props in the same order as extraction (text, label, title)\n if (typeof props.text === \"string\") {\n const text = props.text\n let scrambled = \"\"\n for (let i = 0; i < text.length; i++) {\n if (textStartIndex.current < scrambledText.length) {\n scrambled += scrambledText[textStartIndex.current]\n textStartIndex.current++\n } else {\n scrambled += text[i]\n }\n }\n newProps.text = scrambled\n }\n\n if (typeof props.label === \"string\") {\n const label = props.label\n let scrambled = \"\"\n for (let i = 0; i < label.length; i++) {\n if (textStartIndex.current < scrambledText.length) {\n scrambled += scrambledText[textStartIndex.current]\n textStartIndex.current++\n } else {\n scrambled += label[i]\n }\n }\n newProps.label = scrambled\n }\n\n if (typeof props.title === \"string\") {\n const title = props.title\n let scrambled = \"\"\n for (let i = 0; i < title.length; i++) {\n if (textStartIndex.current < scrambledText.length) {\n scrambled += scrambledText[textStartIndex.current]\n textStartIndex.current++\n } else {\n scrambled += title[i]\n }\n }\n newProps.title = scrambled\n }\n\n // Handle children after props\n if (props.children) {\n newProps.children = scrambleReactNode(\n props.children,\n scrambledText,\n textStartIndex\n )\n }\n return React.cloneElement(node, newProps)\n }\n\n return node\n}\n\nexport interface TextDecoderProps {\n children: ReactNode\n className?: string\n delay?: number // Delay in milliseconds before starting animation\n}\n\nconst TextDecoder = ({ children, className, delay = 0 }: TextDecoderProps) => {\n const [displayContent, setDisplayContent] = useState<ReactNode>(null)\n const [hasAnimated, setHasAnimated] = useState(false)\n const [showDecoded, setShowDecoded] = useState(true)\n const elementRef = useRef<HTMLSpanElement>(null)\n\n // Extract full text for scrambling\n const fullText = useMemo(() => extractText(children), [children])\n\n // Memoize initial scrambled text\n const initialScrambled = useMemo(() => scrambleText(fullText), [fullText])\n\n // Initialize with scrambled content to prevent layout shift\n useEffect(() => {\n if (!hasAnimated && fullText) {\n const textStartIndex = { current: 0 }\n const scrambledContent = scrambleReactNode(\n children,\n initialScrambled,\n textStartIndex\n )\n setDisplayContent(scrambledContent)\n setShowDecoded(true)\n }\n }, [children, initialScrambled, hasAnimated, fullText])\n\n useEffect(() => {\n if (!fullText) {\n setDisplayContent(null)\n setShowDecoded(false)\n return\n }\n\n // If already animated, hide decoded and show children\n if (hasAnimated) {\n setShowDecoded(false)\n return\n }\n\n const element = elementRef.current\n if (!element) return\n\n let iteration = 0\n let intervalId: NodeJS.Timeout | null = null\n let delayTimeoutId: NodeJS.Timeout | null = null\n\n // Intersection Observer to detect when element is visible\n const observer = new IntersectionObserver(\n (entries) => {\n const entry = entries[0]\n if (entry.isIntersecting && !hasAnimated) {\n // Start animation after delay\n delayTimeoutId = setTimeout(() => {\n // 1. Initial scramble\n const textStartIndex = { current: 0 }\n const scrambledContent = scrambleReactNode(\n children,\n initialScrambled,\n textStartIndex\n )\n setDisplayContent(scrambledContent)\n setShowDecoded(true)\n\n // 2. Set up the interval\n intervalId = setInterval(() => {\n iteration++\n\n if (iteration >= MAX_ITERATIONS) {\n // Stop scrambling, fade out decoded and fade in children\n setHasAnimated(true)\n setShowDecoded(false)\n if (intervalId) clearInterval(intervalId)\n } else {\n // Continue scrambling\n const newScrambled = scrambleText(fullText)\n const textStartIndex = { current: 0 }\n const scrambledContent = scrambleReactNode(\n children,\n newScrambled,\n textStartIndex\n )\n setDisplayContent(scrambledContent)\n }\n }, SPEED)\n }, delay)\n\n // Disconnect observer once animation starts\n observer.disconnect()\n }\n },\n {\n threshold: 0.1, // Trigger when 10% of the element is visible\n }\n )\n\n observer.observe(element)\n\n // Cleanup function\n return () => {\n observer.disconnect()\n if (intervalId) clearInterval(intervalId)\n if (delayTimeoutId) clearTimeout(delayTimeoutId)\n }\n }, [children, fullText, initialScrambled, hasAnimated, delay])\n\n const ariaLabel = useMemo(() => extractText(children), [children])\n\n return (\n <span\n ref={elementRef}\n aria-label={ariaLabel} // Accessibility: Screen readers read the real text\n className={cn(\"grid *:col-start-1 *:row-start-1\", className)}\n >\n {/* Both elements in the same grid cell - prevents width changes */}\n <span\n className={cn(\n \"transition-opacity duration-300\",\n hasAnimated ? \"opacity-100\" : \"opacity-0\"\n )}\n >\n {children}\n </span>\n {/* Decoded animation overlay in the same grid cell */}\n {showDecoded && displayContent && (\n <span className=\"transition-opacity duration-300\">\n {displayContent}\n </span>\n )}\n </span>\n )\n}\n\nconst SuspenseDecodedText = (props: TextDecoderProps) => {\n return (\n <Suspense\n fallback={\n <span className={cn(\"opacity-0\", props.className)}>\n {props.children}\n </span>\n }\n >\n <TextDecoder {...props} />\n </Suspense>\n )\n}\n\nexport default SuspenseDecodedText\n"]}
@@ -1,3 +0,0 @@
1
- "use client";
2
- import{a as b}from"./chunk-S5TKCF6T.mjs";import a,{useState as E,useEffect as A,useMemo as S,useRef as V,Suspense as L}from"react";import{jsx as m,jsxs as _}from"react/jsx-runtime";var D=["\\","-","?","/","#","!","_","+","<",">"],O=3,H=200,v=e=>e?e.split(" ").map(n=>n?D[Math.floor(Math.random()*D.length)].repeat(n.length):"").join(" "):"",d=e=>{if(typeof e=="string"||typeof e=="number")return String(e);if(Array.isArray(e))return e.map(d).join("");if(a.isValidElement(e)){let n=e.props,r="";return typeof n.text=="string"&&(r+=n.text),typeof n.label=="string"&&(r+=n.label),typeof n.title=="string"&&(r+=n.title),n.children&&(r+=d(n.children)),r}return""},p=(e,n,r)=>{if(typeof e=="string"||typeof e=="number"){let s=String(e),i="";for(let t=0;t<s.length;t++)r.current<n.length?(i+=n[r.current],r.current++):i+=s[t];return i}if(Array.isArray(e))return e.map((s,i)=>{let t=p(s,n,r);if(a.isValidElement(t)){let l=a.isValidElement(s)?s.key:null;if(t.key==null&&l==null)return a.cloneElement(t,{key:`decoded-${i}`});if(t.key==null&&l!=null)return a.cloneElement(t,{key:l})}return t});if(a.isValidElement(e)){let s=e.props,i={...s};if(typeof s.text=="string"){let t=s.text,l="";for(let o=0;o<t.length;o++)r.current<n.length?(l+=n[r.current],r.current++):l+=t[o];i.text=l}if(typeof s.label=="string"){let t=s.label,l="";for(let o=0;o<t.length;o++)r.current<n.length?(l+=n[r.current],r.current++):l+=t[o];i.label=l}if(typeof s.title=="string"){let t=s.title,l="";for(let o=0;o<t.length;o++)r.current<n.length?(l+=n[r.current],r.current++):l+=t[o];i.title=l}return s.children&&(i.children=p(s.children,n,r)),a.cloneElement(e,i)}return e},I=({children:e,className:n,delay:r=0})=>{let[s,i]=E(null),[t,l]=E(!1),[o,u]=E(!0),k=V(null),c=S(()=>d(e),[e]),g=S(()=>v(c),[c]);A(()=>{if(!t&&c){let y=p(e,g,{current:0});i(y),u(!0)}},[e,g,t,c]),A(()=>{if(!c){i(null),u(!1);return}if(t){u(!1);return}let N=k.current;if(!N)return;let y=0,f=null,h=null,R=new IntersectionObserver(T=>{T[0].isIntersecting&&!t&&(h=setTimeout(()=>{let C=p(e,g,{current:0});i(C),u(!0),f=setInterval(()=>{if(y++,y>=O)l(!0),u(!1),f&&clearInterval(f);else{let M=v(c),P=p(e,M,{current:0});i(P)}},H)},r),R.disconnect())},{threshold:.1});return R.observe(N),()=>{R.disconnect(),f&&clearInterval(f),h&&clearTimeout(h)}},[e,c,g,t,r]);let w=S(()=>d(e),[e]);return _("span",{ref:k,"aria-label":w,className:b("grid *:col-start-1 *:row-start-1",n),children:[m("span",{className:b("transition-opacity duration-300",t?"opacity-100":"opacity-0"),children:e}),o&&s&&m("span",{className:"transition-opacity duration-300",children:s})]})},J=e=>m(L,{fallback:m("span",{className:b("opacity-0",e.className),children:e.children}),children:m(I,{...e})}),q=J;export{q as a};
3
- //# sourceMappingURL=chunk-AXL7HSZW.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/TextDecoder.tsx"],"sourcesContent":["\"use client\"\nimport { cn } from \"@/lib/utils\"\nimport React, {\n useState,\n useEffect,\n useMemo,\n useRef,\n Suspense,\n ReactNode,\n} from \"react\"\n\n// The symbols to use for the scrambling effect (moved outside to avoid recreation)\nconst SYMBOLS = [\"\\\\\", \"-\", \"?\", \"/\", \"#\", \"!\", \"_\", \"+\", \"<\", \">\"]\nconst MAX_ITERATIONS = 3 // How many times to scramble\nconst SPEED = 200 // Speed in milliseconds between scrambles\n\n// Helper function moved outside component to avoid recreation\nconst scrambleText = (input: string): string => {\n if (!input) return \"\"\n\n return input\n .split(\" \")\n .map((word: string) => {\n if (!word) return \"\"\n const randomSymbol = SYMBOLS[Math.floor(Math.random() * SYMBOLS.length)]\n return randomSymbol.repeat(word.length)\n })\n .join(\" \")\n}\n\n// Extract text content from React nodes recursively\n// Also checks common text props like 'text', 'label', 'title', etc.\nconst extractText = (node: ReactNode): string => {\n if (typeof node === \"string\" || typeof node === \"number\") {\n return String(node)\n }\n\n if (Array.isArray(node)) {\n return node.map(extractText).join(\"\")\n }\n\n if (React.isValidElement(node)) {\n const props = node.props as {\n children?: ReactNode\n text?: string\n label?: string\n title?: string\n [key: string]: unknown\n }\n\n let result = \"\"\n\n // Extract text from props first (in order: text, label, title)\n if (typeof props.text === \"string\") {\n result += props.text\n }\n if (typeof props.label === \"string\") {\n result += props.label\n }\n if (typeof props.title === \"string\") {\n result += props.title\n }\n\n // Then extract from children\n if (props.children) {\n result += extractText(props.children)\n }\n\n return result\n }\n\n return \"\"\n}\n\n// Clone React nodes and replace text content with scrambled text\n// This function maps scrambled text back to the original structure\nconst scrambleReactNode = (\n node: ReactNode,\n scrambledText: string,\n textStartIndex: { current: number }\n): ReactNode => {\n if (typeof node === \"string\" || typeof node === \"number\") {\n const text = String(node)\n // For each character in the original text, take the corresponding scrambled character\n // This preserves the length and structure\n let scrambled = \"\"\n for (let i = 0; i < text.length; i++) {\n if (textStartIndex.current < scrambledText.length) {\n scrambled += scrambledText[textStartIndex.current]\n textStartIndex.current++\n } else {\n // Fallback if scrambled text is shorter (shouldn't happen, but safety check)\n scrambled += text[i]\n }\n }\n return scrambled\n }\n\n if (Array.isArray(node)) {\n return node.map((child, index) => {\n const scrambledChild = scrambleReactNode(\n child,\n scrambledText,\n textStartIndex\n )\n // Preserve original key if it exists, otherwise add one for React elements\n if (React.isValidElement(scrambledChild)) {\n const originalKey = React.isValidElement(child) ? child.key : null\n if (scrambledChild.key == null && originalKey == null) {\n return React.cloneElement(scrambledChild, { key: `decoded-${index}` })\n }\n // If original had a key but scrambled doesn't, preserve it\n if (scrambledChild.key == null && originalKey != null) {\n return React.cloneElement(scrambledChild, { key: originalKey })\n }\n }\n return scrambledChild\n })\n }\n\n if (React.isValidElement(node)) {\n // Regular element handling - works for all components\n const props = node.props as {\n children?: ReactNode\n text?: string\n label?: string\n title?: string\n [key: string]: unknown\n }\n const newProps = { ...props }\n\n // Handle text props in the same order as extraction (text, label, title)\n if (typeof props.text === \"string\") {\n const text = props.text\n let scrambled = \"\"\n for (let i = 0; i < text.length; i++) {\n if (textStartIndex.current < scrambledText.length) {\n scrambled += scrambledText[textStartIndex.current]\n textStartIndex.current++\n } else {\n scrambled += text[i]\n }\n }\n newProps.text = scrambled\n }\n\n if (typeof props.label === \"string\") {\n const label = props.label\n let scrambled = \"\"\n for (let i = 0; i < label.length; i++) {\n if (textStartIndex.current < scrambledText.length) {\n scrambled += scrambledText[textStartIndex.current]\n textStartIndex.current++\n } else {\n scrambled += label[i]\n }\n }\n newProps.label = scrambled\n }\n\n if (typeof props.title === \"string\") {\n const title = props.title\n let scrambled = \"\"\n for (let i = 0; i < title.length; i++) {\n if (textStartIndex.current < scrambledText.length) {\n scrambled += scrambledText[textStartIndex.current]\n textStartIndex.current++\n } else {\n scrambled += title[i]\n }\n }\n newProps.title = scrambled\n }\n\n // Handle children after props\n if (props.children) {\n newProps.children = scrambleReactNode(\n props.children,\n scrambledText,\n textStartIndex\n )\n }\n return React.cloneElement(node, newProps)\n }\n\n return node\n}\n\nexport interface TextDecoderProps {\n children: ReactNode\n className?: string\n delay?: number // Delay in milliseconds before starting animation\n}\n\nconst TextDecoder = ({ children, className, delay = 0 }: TextDecoderProps) => {\n const [displayContent, setDisplayContent] = useState<ReactNode>(null)\n const [hasAnimated, setHasAnimated] = useState(false)\n const [showDecoded, setShowDecoded] = useState(true)\n const elementRef = useRef<HTMLSpanElement>(null)\n\n // Extract full text for scrambling\n const fullText = useMemo(() => extractText(children), [children])\n\n // Memoize initial scrambled text\n const initialScrambled = useMemo(() => scrambleText(fullText), [fullText])\n\n // Initialize with scrambled content to prevent layout shift\n useEffect(() => {\n if (!hasAnimated && fullText) {\n const textStartIndex = { current: 0 }\n const scrambledContent = scrambleReactNode(\n children,\n initialScrambled,\n textStartIndex\n )\n setDisplayContent(scrambledContent)\n setShowDecoded(true)\n }\n }, [children, initialScrambled, hasAnimated, fullText])\n\n useEffect(() => {\n if (!fullText) {\n setDisplayContent(null)\n setShowDecoded(false)\n return\n }\n\n // If already animated, hide decoded and show children\n if (hasAnimated) {\n setShowDecoded(false)\n return\n }\n\n const element = elementRef.current\n if (!element) return\n\n let iteration = 0\n let intervalId: NodeJS.Timeout | null = null\n let delayTimeoutId: NodeJS.Timeout | null = null\n\n // Intersection Observer to detect when element is visible\n const observer = new IntersectionObserver(\n (entries) => {\n const entry = entries[0]\n if (entry.isIntersecting && !hasAnimated) {\n // Start animation after delay\n delayTimeoutId = setTimeout(() => {\n // 1. Initial scramble\n const textStartIndex = { current: 0 }\n const scrambledContent = scrambleReactNode(\n children,\n initialScrambled,\n textStartIndex\n )\n setDisplayContent(scrambledContent)\n setShowDecoded(true)\n\n // 2. Set up the interval\n intervalId = setInterval(() => {\n iteration++\n\n if (iteration >= MAX_ITERATIONS) {\n // Stop scrambling, fade out decoded and fade in children\n setHasAnimated(true)\n setShowDecoded(false)\n if (intervalId) clearInterval(intervalId)\n } else {\n // Continue scrambling\n const newScrambled = scrambleText(fullText)\n const textStartIndex = { current: 0 }\n const scrambledContent = scrambleReactNode(\n children,\n newScrambled,\n textStartIndex\n )\n setDisplayContent(scrambledContent)\n }\n }, SPEED)\n }, delay)\n\n // Disconnect observer once animation starts\n observer.disconnect()\n }\n },\n {\n threshold: 0.1, // Trigger when 10% of the element is visible\n }\n )\n\n observer.observe(element)\n\n // Cleanup function\n return () => {\n observer.disconnect()\n if (intervalId) clearInterval(intervalId)\n if (delayTimeoutId) clearTimeout(delayTimeoutId)\n }\n }, [children, fullText, initialScrambled, hasAnimated, delay])\n\n const ariaLabel = useMemo(() => extractText(children), [children])\n\n return (\n <span\n ref={elementRef}\n aria-label={ariaLabel} // Accessibility: Screen readers read the real text\n className={cn(\"grid *:col-start-1 *:row-start-1\", className)}\n >\n {/* Both elements in the same grid cell - prevents width changes */}\n <span\n className={cn(\n \"transition-opacity duration-300\",\n hasAnimated ? \"opacity-100\" : \"opacity-0\"\n )}\n >\n {children}\n </span>\n {/* Decoded animation overlay in the same grid cell */}\n {showDecoded && displayContent && (\n <span className=\"transition-opacity duration-300\">\n {displayContent}\n </span>\n )}\n </span>\n )\n}\n\nconst SuspenseDecodedText = (props: TextDecoderProps) => {\n return (\n <Suspense\n fallback={\n <span className={cn(\"opacity-0\", props.className)}>\n {props.children}\n </span>\n }\n >\n <TextDecoder {...props} />\n </Suspense>\n )\n}\n\nexport default SuspenseDecodedText\n"],"mappings":"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","names":["React","useState","useEffect","useMemo","useRef","Suspense","jsx","jsxs","SYMBOLS","MAX_ITERATIONS","SPEED","scrambleText","input","word","extractText","node","props","result","scrambleReactNode","scrambledText","textStartIndex","text","scrambled","i","child","index","scrambledChild","originalKey","newProps","label","title","TextDecoder","children","className","delay","displayContent","setDisplayContent","hasAnimated","setHasAnimated","showDecoded","setShowDecoded","elementRef","fullText","initialScrambled","scrambledContent","element","iteration","intervalId","delayTimeoutId","observer","entries","newScrambled","ariaLabel","cn","SuspenseDecodedText","TextDecoder_default"]}
@@ -1,3 +0,0 @@
1
- "use client";
2
- import M from"next/link";import{useState as R,cloneElement as E,isValidElement as l}from"react";import{Slot as k}from"@radix-ui/react-slot";import{jsx as f}from"react/jsx-runtime";var S=["/","#","*"],x=({href:m,children:e,symbols:r=S,className:p,asChild:u=!1,...g})=>{let[o,s]=R(!1),i=t=>typeof t=="string"?t:l(t)&&t.props.children?i(t.props.children):"",n=i(e),a=()=>!o||!n?n:n.split(" ").map(t=>{let L=Math.floor(Math.random()*t.length);return t.replace(t[L],r[Math.floor(Math.random()*r.length)])}).join(" "),c={className:p,onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),...g};if(u&&l(e)){let t=n?o?a():n:e;return f(k,{...c,children:E(e,{},t)})}let h=n&&o?a():e;return f(M,{href:m||"#",...c,children:h})},v=x;export{S as a,v as b};
3
- //# sourceMappingURL=chunk-IK3C7KV5.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/GlitchLink.tsx"],"sourcesContent":["\"use client\"\nimport Link from \"next/link\"\nimport {\n RefAttributes,\n useState,\n ReactNode,\n cloneElement,\n isValidElement,\n} from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\n\nexport const DEFAULT_SYMBOLS = [\"/\", \"#\", \"*\"]\n\ntype GlitchLinkProps = RefAttributes<HTMLAnchorElement> & {\n href?: string\n children: ReactNode\n symbols?: string[]\n className?: string\n asChild?: boolean\n}\n\nconst GlitchLink = ({\n href,\n children,\n symbols = DEFAULT_SYMBOLS,\n className,\n asChild = false,\n ...props\n}: GlitchLinkProps) => {\n const [isHovering, setIsHovering] = useState(false)\n\n // Extract text from children - either direct string or from child element\n const getTextContent = (node: ReactNode): string => {\n if (typeof node === \"string\") return node\n if (isValidElement(node) && node.props.children) {\n return getTextContent(node.props.children)\n }\n return \"\"\n }\n\n const text = getTextContent(children)\n\n const getRandomGlitch = () => {\n if (!isHovering || !text) return text\n return text\n .split(\" \")\n .map((word: string) => {\n // take one random letter from the word\n const randomLetterIndex = Math.floor(Math.random() * word.length)\n\n // replace the letter with a random symbol\n return word.replace(\n word[randomLetterIndex],\n symbols[Math.floor(Math.random() * symbols.length)]\n )\n })\n .join(\" \")\n }\n\n const commonProps = {\n className,\n onMouseEnter: () => setIsHovering(true),\n onMouseLeave: () => setIsHovering(false),\n ...props,\n }\n\n if (asChild && isValidElement(children)) {\n const content = text ? (isHovering ? getRandomGlitch() : text) : children\n return (\n <Slot {...commonProps}>\n {cloneElement(children as React.ReactElement, {}, content)}\n </Slot>\n )\n }\n\n const content = text ? (isHovering ? getRandomGlitch() : children) : children\n\n return (\n <Link href={href || \"#\"} {...commonProps}>\n {content}\n </Link>\n )\n}\n\nexport default GlitchLink\n"],"mappings":";AACA,OAAOA,MAAU,YACjB,OAEE,YAAAC,EAEA,gBAAAC,EACA,kBAAAC,MACK,QACP,OAAS,QAAAC,MAAY,uBA4Df,cAAAC,MAAA,oBA1DC,IAAMC,EAAkB,CAAC,IAAK,IAAK,GAAG,EAUvCC,EAAa,CAAC,CAClB,KAAAC,EACA,SAAAC,EACA,QAAAC,EAAUJ,EACV,UAAAK,EACA,QAAAC,EAAU,GACV,GAAGC,CACL,IAAuB,CACrB,GAAM,CAACC,EAAYC,CAAa,EAAId,EAAS,EAAK,EAG5Ce,EAAkBC,GAClB,OAAOA,GAAS,SAAiBA,EACjCd,EAAec,CAAI,GAAKA,EAAK,MAAM,SAC9BD,EAAeC,EAAK,MAAM,QAAQ,EAEpC,GAGHC,EAAOF,EAAeP,CAAQ,EAE9BU,EAAkB,IAClB,CAACL,GAAc,CAACI,EAAaA,EAC1BA,EACJ,MAAM,GAAG,EACT,IAAKE,GAAiB,CAErB,IAAMC,EAAoB,KAAK,MAAM,KAAK,OAAO,EAAID,EAAK,MAAM,EAGhE,OAAOA,EAAK,QACVA,EAAKC,CAAiB,EACtBX,EAAQ,KAAK,MAAM,KAAK,OAAO,EAAIA,EAAQ,MAAM,CAAC,CACpD,CACF,CAAC,EACA,KAAK,GAAG,EAGPY,EAAc,CAClB,UAAAX,EACA,aAAc,IAAMI,EAAc,EAAI,EACtC,aAAc,IAAMA,EAAc,EAAK,EACvC,GAAGF,CACL,EAEA,GAAID,GAAWT,EAAeM,CAAQ,EAAG,CACvC,IAAMc,EAAUL,EAAQJ,EAAaK,EAAgB,EAAID,EAAQT,EACjE,OACEJ,EAACD,EAAA,CAAM,GAAGkB,EACP,SAAApB,EAAaO,EAAgC,CAAC,EAAGc,CAAO,EAC3D,CAEJ,CAEA,IAAMA,EAAUL,GAAQJ,EAAaK,EAAgB,EAAgBV,EAErE,OACEJ,EAACL,EAAA,CAAK,KAAMQ,GAAQ,IAAM,GAAGc,EAC1B,SAAAC,EACH,CAEJ,EAEOC,EAAQjB","names":["Link","useState","cloneElement","isValidElement","Slot","jsx","DEFAULT_SYMBOLS","GlitchLink","href","children","symbols","className","asChild","props","isHovering","setIsHovering","getTextContent","node","text","getRandomGlitch","word","randomLetterIndex","commonProps","content","GlitchLink_default"]}
@@ -1,3 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }"use client";
2
- var _link = require('next/link'); var _link2 = _interopRequireDefault(_link);var _react = require('react');var _reactslot = require('@radix-ui/react-slot');var _jsxruntime = require('react/jsx-runtime');var S=["/","#","*"],x=({href:m,children:e,symbols:r=S,className:p,asChild:u=!1,...g})=>{let[o,s]=_react.useState.call(void 0, !1),i=t=>typeof t=="string"?t:_react.isValidElement.call(void 0, t)&&t.props.children?i(t.props.children):"",n=i(e),a=()=>!o||!n?n:n.split(" ").map(t=>{let L=Math.floor(Math.random()*t.length);return t.replace(t[L],r[Math.floor(Math.random()*r.length)])}).join(" "),c={className:p,onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),...g};if(u&&_react.isValidElement.call(void 0, e)){let t=n?o?a():n:e;return _jsxruntime.jsx.call(void 0, _reactslot.Slot,{...c,children:_react.cloneElement.call(void 0, e,{},t)})}let h=n&&o?a():e;return _jsxruntime.jsx.call(void 0, _link2.default,{href:m||"#",...c,children:h})},v= exports.b =x;exports.a = S; exports.b = v;
3
- //# sourceMappingURL=chunk-JNEIOQGF.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/chunk-JNEIOQGF.js","../src/components/GlitchLink.tsx"],"names":["DEFAULT_SYMBOLS","GlitchLink","href","children","symbols","className","asChild","props","isHovering","setIsHovering","useState","getTextContent","node","isValidElement","text","getRandomGlitch","word","randomLetterIndex","commonProps","content","jsx","Slot","cloneElement","Link","GlitchLink_default"],"mappings":"AAAA,qLAAY;ACCZ,6EAAiB,8BAOV,iDACc,+CA4Df,IA1DOA,CAAAA,CAAkB,CAAC,GAAA,CAAK,GAAA,CAAK,GAAG,CAAA,CAUvCC,CAAAA,CAAa,CAAC,CAClB,IAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CAAUJ,CAAAA,CACV,SAAA,CAAAK,CAAAA,CACA,OAAA,CAAAC,CAAAA,CAAU,CAAA,CAAA,CACV,GAAGC,CACL,CAAA,CAAA,EAAuB,CACrB,GAAM,CAACC,CAAAA,CAAYC,CAAa,CAAA,CAAIC,6BAAAA,CAAS,CAAK,CAAA,CAG5CC,CAAAA,CAAkBC,CAAAA,EAClB,OAAOA,CAAAA,EAAS,QAAA,CAAiBA,CAAAA,CACjCC,mCAAAA,CAAmB,CAAA,EAAKD,CAAAA,CAAK,KAAA,CAAM,QAAA,CAC9BD,CAAAA,CAAeC,CAAAA,CAAK,KAAA,CAAM,QAAQ,CAAA,CAEpC,EAAA,CAGHE,CAAAA,CAAOH,CAAAA,CAAeR,CAAQ,CAAA,CAE9BY,CAAAA,CAAkB,CAAA,CAAA,EAClB,CAACP,CAAAA,EAAc,CAACM,CAAAA,CAAaA,CAAAA,CAC1BA,CAAAA,CACJ,KAAA,CAAM,GAAG,CAAA,CACT,GAAA,CAAKE,CAAAA,EAAiB,CAErB,IAAMC,CAAAA,CAAoB,IAAA,CAAK,KAAA,CAAM,IAAA,CAAK,MAAA,CAAO,CAAA,CAAID,CAAAA,CAAK,MAAM,CAAA,CAGhE,OAAOA,CAAAA,CAAK,OAAA,CACVA,CAAAA,CAAKC,CAAiB,CAAA,CACtBb,CAAAA,CAAQ,IAAA,CAAK,KAAA,CAAM,IAAA,CAAK,MAAA,CAAO,CAAA,CAAIA,CAAAA,CAAQ,MAAM,CAAC,CACpD,CACF,CAAC,CAAA,CACA,IAAA,CAAK,GAAG,CAAA,CAGPc,CAAAA,CAAc,CAClB,SAAA,CAAAb,CAAAA,CACA,YAAA,CAAc,CAAA,CAAA,EAAMI,CAAAA,CAAc,CAAA,CAAI,CAAA,CACtC,YAAA,CAAc,CAAA,CAAA,EAAMA,CAAAA,CAAc,CAAA,CAAK,CAAA,CACvC,GAAGF,CACL,CAAA,CAEA,EAAA,CAAID,CAAAA,EAAWO,mCAAAA,CAAuB,CAAA,CAAG,CACvC,IAAMM,CAAAA,CAAUL,CAAAA,CAAQN,CAAAA,CAAaO,CAAAA,CAAgB,CAAA,CAAID,CAAAA,CAAQX,CAAAA,CACjE,OACEiB,6BAAAA,eAACC,CAAA,CAAM,GAAGH,CAAAA,CACP,QAAA,CAAAI,iCAAAA,CAAanB,CAAgC,CAAC,CAAA,CAAGgB,CAAO,CAAA,CAC3D,CAEJ,CAEA,IAAMA,CAAAA,CAAUL,CAAAA,EAAQN,CAAAA,CAAaO,CAAAA,CAAgB,CAAA,CAAgBZ,CAAAA,CAErE,OACEiB,6BAAAA,cAACG,CAAA,CAAK,IAAA,CAAMrB,CAAAA,EAAQ,GAAA,CAAM,GAAGgB,CAAAA,CAC1B,QAAA,CAAAC,CAAAA,CACH,CAEJ,CAAA,CAEOK,CAAAA,aAAQvB,CAAAA,CAAAA,6BAAAA","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/chunk-JNEIOQGF.js","sourcesContent":[null,"\"use client\"\nimport Link from \"next/link\"\nimport {\n RefAttributes,\n useState,\n ReactNode,\n cloneElement,\n isValidElement,\n} from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\n\nexport const DEFAULT_SYMBOLS = [\"/\", \"#\", \"*\"]\n\ntype GlitchLinkProps = RefAttributes<HTMLAnchorElement> & {\n href?: string\n children: ReactNode\n symbols?: string[]\n className?: string\n asChild?: boolean\n}\n\nconst GlitchLink = ({\n href,\n children,\n symbols = DEFAULT_SYMBOLS,\n className,\n asChild = false,\n ...props\n}: GlitchLinkProps) => {\n const [isHovering, setIsHovering] = useState(false)\n\n // Extract text from children - either direct string or from child element\n const getTextContent = (node: ReactNode): string => {\n if (typeof node === \"string\") return node\n if (isValidElement(node) && node.props.children) {\n return getTextContent(node.props.children)\n }\n return \"\"\n }\n\n const text = getTextContent(children)\n\n const getRandomGlitch = () => {\n if (!isHovering || !text) return text\n return text\n .split(\" \")\n .map((word: string) => {\n // take one random letter from the word\n const randomLetterIndex = Math.floor(Math.random() * word.length)\n\n // replace the letter with a random symbol\n return word.replace(\n word[randomLetterIndex],\n symbols[Math.floor(Math.random() * symbols.length)]\n )\n })\n .join(\" \")\n }\n\n const commonProps = {\n className,\n onMouseEnter: () => setIsHovering(true),\n onMouseLeave: () => setIsHovering(false),\n ...props,\n }\n\n if (asChild && isValidElement(children)) {\n const content = text ? (isHovering ? getRandomGlitch() : text) : children\n return (\n <Slot {...commonProps}>\n {cloneElement(children as React.ReactElement, {}, content)}\n </Slot>\n )\n }\n\n const content = text ? (isHovering ? getRandomGlitch() : children) : children\n\n return (\n <Link href={href || \"#\"} {...commonProps}>\n {content}\n </Link>\n )\n}\n\nexport default GlitchLink\n"]}