@vite-mf-monorepo/ui 0.0.2

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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/styles.css"],"sourcesContent":["/*! tailwindcss v4.1.0 | MIT License | https://tailwindcss.com */\n@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n @layer base {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n --tw-scroll-snap-strictness: proximity;\n --tw-border-style: solid;\n --tw-gradient-position: initial;\n --tw-gradient-from: #0000;\n --tw-gradient-via: #0000;\n --tw-gradient-to: #0000;\n --tw-gradient-stops: initial;\n --tw-gradient-via-stops: initial;\n --tw-gradient-from-position: 0%;\n --tw-gradient-via-position: 50%;\n --tw-gradient-to-position: 100%;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-ordinal: initial;\n --tw-slashed-zero: initial;\n --tw-numeric-figure: initial;\n --tw-numeric-spacing: initial;\n --tw-numeric-fraction: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-duration: initial;\n }\n }\n}\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --ui-font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --ui-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --ui-color-red-50: oklch(97.1% 0.013 17.38);\n --ui-color-red-200: oklch(88.5% 0.062 18.334);\n --ui-color-red-500: oklch(63.7% 0.237 25.331);\n --ui-color-red-700: oklch(50.5% 0.213 27.518);\n --ui-color-red-900: oklch(39.6% 0.141 25.723);\n --ui-color-amber-600: oklch(66.6% 0.179 58.318);\n --ui-color-yellow-400: oklch(85.2% 0.199 91.936);\n --ui-color-green-600: oklch(62.7% 0.194 149.214);\n --ui-color-gray-200: oklch(92.8% 0.006 264.531);\n --ui-color-gray-300: oklch(87.2% 0.01 258.338);\n --ui-color-gray-400: oklch(70.7% 0.022 261.325);\n --ui-color-black: #000;\n --ui-color-white: #ffffff;\n --ui-container-4xl: 56rem;\n --ui-text-xs: 0.75rem;\n --ui-text-xs--line-height: calc(1 / 0.75);\n --ui-text-sm: 0.875rem;\n --ui-text-sm--line-height: calc(1.25 / 0.875);\n --ui-text-base: 1rem;\n --ui-text-base--line-height: calc(1.5 / 1);\n --ui-text-lg: 1.125rem;\n --ui-text-lg--line-height: calc(1.75 / 1.125);\n --ui-text-xl: 1.25rem;\n --ui-text-xl--line-height: calc(1.75 / 1.25);\n --ui-text-2xl: 1.5rem;\n --ui-text-2xl--line-height: calc(2 / 1.5);\n --ui-text-3xl: 1.875rem;\n --ui-text-3xl--line-height: calc(2.25 / 1.875);\n --ui-text-4xl: 2.25rem;\n --ui-text-4xl--line-height: calc(2.5 / 2.25);\n --ui-font-weight-medium: 500;\n --ui-font-weight-semibold: 600;\n --ui-font-weight-bold: 700;\n --ui-leading-tight: 1.25;\n --ui-leading-snug: 1.375;\n --ui-leading-normal: 1.5;\n --ui-leading-relaxed: 1.625;\n --ui-radius-md: 0.5rem;\n --ui-radius-lg: 0.75rem;\n --ui-animate-spin: spin 1s linear infinite;\n --ui-aspect-video: 16 / 9;\n --ui-default-transition-duration: 150ms;\n --ui-default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --ui-default-font-family: var(--ui-font-sans);\n --ui-default-mono-font-family: var(--ui-font-mono);\n --ui-color-white-80: rgba(255, 255, 255, 0.8);\n --ui-color-background: #ffffff;\n --ui-color-foreground: #171717;\n --ui-color-primary: #f59e0b;\n --ui-color-primary-foreground: #171717;\n --ui-color-secondary: #f5f5f5;\n --ui-color-secondary-foreground: #171717;\n --ui-color-card: #ffffff;\n --ui-color-card-foreground: #171717;\n --ui-color-border: #e5e5e5;\n --ui-color-input: #d4d4d4;\n --ui-color-ring: #a3a3a3;\n --ui-color-badge-foreground: #404040;\n --ui-color-destructive: #ef4444;\n --ui-color-destructive-foreground: #ffffff;\n --ui-color-muted: #f5f5f5;\n --ui-color-muted-foreground: #737373;\n --ui-color-accent: #f5f5f5;\n --ui-color-accent-foreground: #171717;\n --ui-font-roboto: 'Roboto', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n --ui-font-inter: 'Inter', 'Roboto', ui-sans-serif, system-ui, sans-serif;\n --ui-radius-full: 9999px;\n --ui-spacing-0: 0;\n --ui-spacing-1: 0.25rem;\n --ui-spacing-2: 0.5rem;\n --ui-spacing-3: 0.75rem;\n --ui-spacing-4: 1rem;\n --ui-spacing-6: 1.5rem;\n --ui-spacing-8: 2rem;\n --ui-spacing-10: 2.5rem;\n --ui-spacing-12: 3rem;\n --ui-spacing-16: 4rem;\n --ui-spacing-24: 6rem;\n --ui-spacing-32: 8rem;\n --ui-spacing-px: 1px;\n --ui-spacing-0\\.5: 0.125rem;\n --ui-spacing-2\\.5: 0.625rem;\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(--ui-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(--ui-default-font-feature-settings, normal);\n font-variation-settings: var(--ui-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(--ui-default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--ui-default-mono-font-feature-settings, normal);\n font-variation-settings: var(--ui-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: color-mix(in oklab, currentColor 50%, transparent);\n }\n ::placeholder {\n color: color-mix(in oklab, currentColor 50%, transparent);\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 :-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 .ui\\:absolute {\n position: absolute;\n }\n .ui\\:relative {\n position: relative;\n }\n .ui\\:inset-0 {\n inset: var(--ui-spacing-0);\n }\n .ui\\:top-0 {\n top: var(--ui-spacing-0);\n }\n .ui\\:top-1\\/2 {\n top: calc(1/2 * 100%);\n }\n .ui\\:top-4 {\n top: var(--ui-spacing-4);\n }\n .ui\\:right-0 {\n right: var(--ui-spacing-0);\n }\n .ui\\:right-2 {\n right: var(--ui-spacing-2);\n }\n .ui\\:right-4 {\n right: var(--ui-spacing-4);\n }\n .ui\\:bottom-0 {\n bottom: var(--ui-spacing-0);\n }\n .ui\\:bottom-2 {\n bottom: var(--ui-spacing-2);\n }\n .ui\\:bottom-4 {\n bottom: var(--ui-spacing-4);\n }\n .ui\\:left-0 {\n left: var(--ui-spacing-0);\n }\n .ui\\:left-1\\/2 {\n left: calc(1/2 * 100%);\n }\n .ui\\:left-2 {\n left: var(--ui-spacing-2);\n }\n .ui\\:left-4 {\n left: var(--ui-spacing-4);\n }\n .ui\\:z-0 {\n z-index: 0;\n }\n .ui\\:z-1 {\n z-index: 1;\n }\n .ui\\:z-10 {\n z-index: 10;\n }\n .ui\\:mt-2 {\n margin-top: var(--ui-spacing-2);\n }\n .ui\\:mt-4 {\n margin-top: var(--ui-spacing-4);\n }\n .ui\\:-mb-px {\n margin-bottom: -1px;\n }\n .ui\\:-mb-px {\n margin-bottom: calc(var(--ui-spacing-px) * -1);\n }\n .ui\\:ml-1 {\n margin-left: var(--ui-spacing-1);\n }\n .ui\\:line-clamp-2 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n .ui\\:block {\n display: block;\n }\n .ui\\:flex {\n display: flex;\n }\n .ui\\:inline-flex {\n display: inline-flex;\n }\n .ui\\:aspect-\\[2\\/3\\] {\n aspect-ratio: 2/3;\n }\n .ui\\:aspect-video {\n aspect-ratio: var(--ui-aspect-video);\n }\n .ui\\:size-12 {\n width: var(--ui-spacing-12);\n height: var(--ui-spacing-12);\n }\n .ui\\:h-2 {\n height: var(--ui-spacing-2);\n }\n .ui\\:h-6 {\n height: var(--ui-spacing-6);\n }\n .ui\\:h-8 {\n height: var(--ui-spacing-8);\n }\n .ui\\:h-10 {\n height: var(--ui-spacing-10);\n }\n .ui\\:h-12 {\n height: var(--ui-spacing-12);\n }\n .ui\\:h-16 {\n height: var(--ui-spacing-16);\n }\n .ui\\:h-24 {\n height: var(--ui-spacing-24);\n }\n .ui\\:h-32 {\n height: var(--ui-spacing-32);\n }\n .ui\\:h-full {\n height: 100%;\n }\n .ui\\:max-h-none {\n max-height: none;\n }\n .ui\\:w-2 {\n width: var(--ui-spacing-2);\n }\n .ui\\:w-6 {\n width: var(--ui-spacing-6);\n }\n .ui\\:w-8 {\n width: var(--ui-spacing-8);\n }\n .ui\\:w-10 {\n width: var(--ui-spacing-10);\n }\n .ui\\:w-12 {\n width: var(--ui-spacing-12);\n }\n .ui\\:w-16 {\n width: var(--ui-spacing-16);\n }\n .ui\\:w-24 {\n width: var(--ui-spacing-24);\n }\n .ui\\:w-32 {\n width: var(--ui-spacing-32);\n }\n .ui\\:w-fit {\n width: -moz-fit-content;\n width: fit-content;\n }\n .ui\\:w-full {\n width: 100%;\n }\n .ui\\:max-w-4xl {\n max-width: var(--ui-container-4xl);\n }\n .ui\\:max-w-none {\n max-width: none;\n }\n .ui\\:flex-1 {\n flex: 1;\n }\n .ui\\:flex-shrink-0 {\n flex-shrink: 0;\n }\n .ui\\:-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .ui\\:translate-x-1\\/2 {\n --tw-translate-x: calc(1/2 * 100%);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .ui\\:-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .ui\\:scale-105 {\n --tw-scale-x: 105%;\n --tw-scale-y: 105%;\n --tw-scale-z: 105%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .ui\\:-rotate-90 {\n rotate: calc(90deg * -1);\n }\n .ui\\:animate-spin {\n animation: var(--ui-animate-spin);\n }\n .ui\\:cursor-not-allowed {\n cursor: not-allowed;\n }\n .ui\\:cursor-pointer {\n cursor: pointer;\n }\n .ui\\:snap-x {\n scroll-snap-type: x var(--tw-scroll-snap-strictness);\n }\n .ui\\:snap-mandatory {\n --tw-scroll-snap-strictness: mandatory;\n }\n .ui\\:snap-center {\n scroll-snap-align: center;\n }\n .ui\\:flex-col {\n flex-direction: column;\n }\n .ui\\:flex-row {\n flex-direction: row;\n }\n .ui\\:flex-row-reverse {\n flex-direction: row-reverse;\n }\n .ui\\:items-center {\n align-items: center;\n }\n .ui\\:items-end {\n align-items: flex-end;\n }\n .ui\\:justify-center {\n justify-content: center;\n }\n .ui\\:justify-end {\n justify-content: flex-end;\n }\n .ui\\:gap-0\\.5 {\n gap: var(--ui-spacing-0\\.5);\n }\n .ui\\:gap-1 {\n gap: var(--ui-spacing-1);\n }\n .ui\\:gap-2 {\n gap: var(--ui-spacing-2);\n }\n .ui\\:gap-3 {\n gap: var(--ui-spacing-3);\n }\n .ui\\:gap-4 {\n gap: var(--ui-spacing-4);\n }\n .ui\\:overflow-hidden {\n overflow: hidden;\n }\n .ui\\:overflow-x-auto {\n overflow-x: auto;\n }\n .ui\\:scroll-smooth {\n scroll-behavior: smooth;\n }\n .ui\\:rounded {\n border-radius: 0.25rem;\n }\n .ui\\:rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .ui\\:rounded-full {\n border-radius: var(--ui-radius-full);\n }\n .ui\\:rounded-lg {\n border-radius: var(--ui-radius-lg);\n }\n .ui\\:rounded-md {\n border-radius: var(--ui-radius-md);\n }\n .ui\\:border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .ui\\:border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .ui\\:border-4 {\n border-style: var(--tw-border-style);\n border-width: 4px;\n }\n .ui\\:border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .ui\\:border-b-2 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 2px;\n }\n .ui\\:border-l-4 {\n border-left-style: var(--tw-border-style);\n border-left-width: 4px;\n }\n .ui\\:border-border {\n border-color: var(--ui-color-border);\n }\n .ui\\:border-input {\n border-color: var(--ui-color-input);\n }\n .ui\\:border-primary {\n border-color: var(--ui-color-primary);\n }\n .ui\\:border-red-200 {\n border-color: var(--ui-color-red-200);\n }\n .ui\\:border-transparent {\n border-color: transparent;\n }\n .ui\\:border-white\\/20 {\n border-color: color-mix(in oklab, var(--ui-color-white) 20%, transparent);\n }\n .ui\\:border-t-white {\n border-top-color: var(--ui-color-white);\n }\n .ui\\:bg-background {\n background-color: var(--ui-color-background);\n }\n .ui\\:bg-black\\/30 {\n background-color: color-mix(in oklab, var(--ui-color-black) 30%, transparent);\n }\n .ui\\:bg-black\\/50 {\n background-color: color-mix(in oklab, var(--ui-color-black) 50%, transparent);\n }\n .ui\\:bg-black\\/80 {\n background-color: color-mix(in oklab, var(--ui-color-black) 80%, transparent);\n }\n .ui\\:bg-card {\n background-color: var(--ui-color-card);\n }\n .ui\\:bg-destructive {\n background-color: var(--ui-color-destructive);\n }\n .ui\\:bg-gray-200 {\n background-color: var(--ui-color-gray-200);\n }\n .ui\\:bg-gray-400 {\n background-color: var(--ui-color-gray-400);\n }\n .ui\\:bg-muted {\n background-color: var(--ui-color-muted);\n }\n .ui\\:bg-primary {\n background-color: var(--ui-color-primary);\n }\n .ui\\:bg-red-50 {\n background-color: var(--ui-color-red-50);\n }\n .ui\\:bg-secondary {\n background-color: var(--ui-color-secondary);\n }\n .ui\\:bg-transparent {\n background-color: transparent;\n }\n .ui\\:bg-white {\n background-color: var(--ui-color-white);\n }\n .ui\\:bg-white\\/20 {\n background-color: color-mix(in oklab, var(--ui-color-white) 20%, transparent);\n }\n .ui\\:bg-white\\/50 {\n background-color: color-mix(in oklab, var(--ui-color-white) 50%, transparent);\n }\n .ui\\:bg-white\\/80 {\n background-color: color-mix(in oklab, var(--ui-color-white) 80%, transparent);\n }\n .ui\\:bg-white\\/90 {\n background-color: color-mix(in oklab, var(--ui-color-white) 90%, transparent);\n }\n .ui\\:bg-gradient-to-t {\n --tw-gradient-position: to top in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .ui\\:from-black\\/80 {\n --tw-gradient-from: color-mix(in oklab, var(--ui-color-black) 80%, transparent);\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .ui\\:via-black\\/40 {\n --tw-gradient-via: color-mix(in oklab, var(--ui-color-black) 40%, transparent);\n --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);\n --tw-gradient-stops: var(--tw-gradient-via-stops);\n }\n .ui\\:to-transparent {\n --tw-gradient-to: transparent;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .ui\\:object-cover {\n -o-object-fit: cover;\n object-fit: cover;\n }\n .ui\\:object-center {\n -o-object-position: center;\n object-position: center;\n }\n .ui\\:p-0 {\n padding: var(--ui-spacing-0);\n }\n .ui\\:p-1 {\n padding: var(--ui-spacing-1);\n }\n .ui\\:p-4 {\n padding: var(--ui-spacing-4);\n }\n .ui\\:p-6 {\n padding: var(--ui-spacing-6);\n }\n .ui\\:p-8 {\n padding: var(--ui-spacing-8);\n }\n .ui\\:px-1 {\n padding-inline: var(--ui-spacing-1);\n }\n .ui\\:px-2 {\n padding-inline: var(--ui-spacing-2);\n }\n .ui\\:px-2\\.5 {\n padding-inline: var(--ui-spacing-2\\.5);\n }\n .ui\\:px-3 {\n padding-inline: var(--ui-spacing-3);\n }\n .ui\\:px-4 {\n padding-inline: var(--ui-spacing-4);\n }\n .ui\\:px-6 {\n padding-inline: var(--ui-spacing-6);\n }\n .ui\\:py-0\\.5 {\n padding-block: var(--ui-spacing-0\\.5);\n }\n .ui\\:py-1 {\n padding-block: var(--ui-spacing-1);\n }\n .ui\\:py-2 {\n padding-block: var(--ui-spacing-2);\n }\n .ui\\:pl-4 {\n padding-left: var(--ui-spacing-4);\n }\n .ui\\:text-center {\n text-align: center;\n }\n .ui\\:font-inter {\n font-family: var(--ui-font-inter);\n }\n .ui\\:font-roboto {\n font-family: var(--ui-font-roboto);\n }\n .ui\\:text-2xl {\n font-size: var(--ui-text-2xl);\n line-height: var(--tw-leading, var(--ui-text-2xl--line-height));\n }\n .ui\\:text-3xl {\n font-size: var(--ui-text-3xl);\n line-height: var(--tw-leading, var(--ui-text-3xl--line-height));\n }\n .ui\\:text-base {\n font-size: var(--ui-text-base);\n line-height: var(--tw-leading, var(--ui-text-base--line-height));\n }\n .ui\\:text-lg {\n font-size: var(--ui-text-lg);\n line-height: var(--tw-leading, var(--ui-text-lg--line-height));\n }\n .ui\\:text-sm {\n font-size: var(--ui-text-sm);\n line-height: var(--tw-leading, var(--ui-text-sm--line-height));\n }\n .ui\\:text-xl {\n font-size: var(--ui-text-xl);\n line-height: var(--tw-leading, var(--ui-text-xl--line-height));\n }\n .ui\\:text-xs {\n font-size: var(--ui-text-xs);\n line-height: var(--tw-leading, var(--ui-text-xs--line-height));\n }\n .ui\\:leading-normal {\n --tw-leading: var(--ui-leading-normal);\n line-height: var(--ui-leading-normal);\n }\n .ui\\:leading-relaxed {\n --tw-leading: var(--ui-leading-relaxed);\n line-height: var(--ui-leading-relaxed);\n }\n .ui\\:leading-snug {\n --tw-leading: var(--ui-leading-snug);\n line-height: var(--ui-leading-snug);\n }\n .ui\\:leading-tight {\n --tw-leading: var(--ui-leading-tight);\n line-height: var(--ui-leading-tight);\n }\n .ui\\:font-bold {\n --tw-font-weight: var(--ui-font-weight-bold);\n font-weight: var(--ui-font-weight-bold);\n }\n .ui\\:font-medium {\n --tw-font-weight: var(--ui-font-weight-medium);\n font-weight: var(--ui-font-weight-medium);\n }\n .ui\\:font-semibold {\n --tw-font-weight: var(--ui-font-weight-semibold);\n font-weight: var(--ui-font-weight-semibold);\n }\n .ui\\:text-amber-600 {\n color: var(--ui-color-amber-600);\n }\n .ui\\:text-card-foreground {\n color: var(--ui-color-card-foreground);\n }\n .ui\\:text-destructive-foreground {\n color: var(--ui-color-destructive-foreground);\n }\n .ui\\:text-foreground {\n color: var(--ui-color-foreground);\n }\n .ui\\:text-gray-200 {\n color: var(--ui-color-gray-200);\n }\n .ui\\:text-gray-300 {\n color: var(--ui-color-gray-300);\n }\n .ui\\:text-green-600 {\n color: var(--ui-color-green-600);\n }\n .ui\\:text-inherit {\n color: inherit;\n }\n .ui\\:text-muted-foreground {\n color: var(--ui-color-muted-foreground);\n }\n .ui\\:text-muted-foreground\\/50 {\n color: color-mix(in oklab, var(--ui-color-muted-foreground) 50%, transparent);\n }\n .ui\\:text-primary {\n color: var(--ui-color-primary);\n }\n .ui\\:text-primary-foreground {\n color: var(--ui-color-primary-foreground);\n }\n .ui\\:text-red-500 {\n color: var(--ui-color-red-500);\n }\n .ui\\:text-red-700 {\n color: var(--ui-color-red-700);\n }\n .ui\\:text-red-900 {\n color: var(--ui-color-red-900);\n }\n .ui\\:text-secondary-foreground {\n color: var(--ui-color-secondary-foreground);\n }\n .ui\\:text-white {\n color: var(--ui-color-white);\n }\n .ui\\:text-white\\/90 {\n color: color-mix(in oklab, var(--ui-color-white) 90%, transparent);\n }\n .ui\\:text-yellow-400 {\n color: var(--ui-color-yellow-400);\n }\n .ui\\:uppercase {\n text-transform: uppercase;\n }\n .ui\\:italic {\n font-style: italic;\n }\n .ui\\:tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n .ui\\:no-underline {\n text-decoration-line: none;\n }\n .ui\\:opacity-0 {\n opacity: 0%;\n }\n .ui\\:opacity-100 {\n opacity: 100%;\n }\n .ui\\:shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ui\\:shadow-md {\n --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ui\\:shadow-sm {\n --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ui\\:drop-shadow {\n --tw-drop-shadow-size: drop-shadow(0 1px 2px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.1))) drop-shadow(0 1px 1px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.06)));\n --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1), 0 1px 1px rgb(0 0 0 / 0.06));\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 .ui\\:transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--ui-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--ui-default-transition-duration));\n }\n .ui\\: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(--ui-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--ui-default-transition-duration));\n }\n .ui\\:transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--ui-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--ui-default-transition-duration));\n }\n .ui\\:transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--ui-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--ui-default-transition-duration));\n }\n .ui\\:duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .ui\\:duration-300 {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n .ui\\:duration-500 {\n --tw-duration: 500ms;\n transition-duration: 500ms;\n }\n .ui\\:backdrop\\:bg-black\\/80 {\n &::backdrop {\n background-color: color-mix(in oklab, var(--ui-color-black) 80%, transparent);\n }\n }\n .ui\\:hover\\:bg-accent {\n &:hover {\n @media (hover: hover) {\n background-color: var(--ui-color-accent);\n }\n }\n }\n .ui\\:hover\\:bg-destructive\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in oklab, var(--ui-color-destructive) 90%, transparent);\n }\n }\n }\n .ui\\:hover\\:bg-primary\\/90 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in oklab, var(--ui-color-primary) 90%, transparent);\n }\n }\n }\n .ui\\:hover\\:bg-secondary\\/80 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in oklab, var(--ui-color-secondary) 80%, transparent);\n }\n }\n }\n .ui\\:hover\\:bg-white\\/55 {\n &:hover {\n @media (hover: hover) {\n background-color: color-mix(in oklab, var(--ui-color-white) 55%, transparent);\n }\n }\n }\n .ui\\:hover\\:text-accent-foreground {\n &:hover {\n @media (hover: hover) {\n color: var(--ui-color-accent-foreground);\n }\n }\n }\n .ui\\:focus\\:border-none {\n &:focus {\n --tw-border-style: none;\n border-style: none;\n }\n }\n .ui\\:focus\\:ring-2 {\n &:focus {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentColor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .ui\\:focus\\:ring-ring {\n &:focus {\n --tw-ring-color: var(--ui-color-ring);\n }\n }\n .ui\\:focus\\:ring-offset-2 {\n &:focus {\n --tw-ring-offset-width: 2px;\n --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n }\n }\n .ui\\:focus\\:outline-none {\n &:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n }\n .ui\\:disabled\\:pointer-events-none {\n &:disabled {\n pointer-events: none;\n }\n }\n .ui\\:disabled\\:opacity-50 {\n &:disabled {\n opacity: 50%;\n }\n }\n .ui\\:sm\\:text-2xl {\n @media (width >= 40rem) {\n font-size: var(--ui-text-2xl);\n line-height: var(--tw-leading, var(--ui-text-2xl--line-height));\n }\n }\n .ui\\:sm\\:text-base {\n @media (width >= 40rem) {\n font-size: var(--ui-text-base);\n line-height: var(--tw-leading, var(--ui-text-base--line-height));\n }\n }\n .ui\\:sm\\:text-lg {\n @media (width >= 40rem) {\n font-size: var(--ui-text-lg);\n line-height: var(--tw-leading, var(--ui-text-lg--line-height));\n }\n }\n .ui\\:sm\\:text-sm {\n @media (width >= 40rem) {\n font-size: var(--ui-text-sm);\n line-height: var(--tw-leading, var(--ui-text-sm--line-height));\n }\n }\n .ui\\:sm\\:text-xl {\n @media (width >= 40rem) {\n font-size: var(--ui-text-xl);\n line-height: var(--tw-leading, var(--ui-text-xl--line-height));\n }\n }\n .ui\\:md\\:text-2xl {\n @media (width >= 48rem) {\n font-size: var(--ui-text-2xl);\n line-height: var(--tw-leading, var(--ui-text-2xl--line-height));\n }\n }\n .ui\\:md\\:text-3xl {\n @media (width >= 48rem) {\n font-size: var(--ui-text-3xl);\n line-height: var(--tw-leading, var(--ui-text-3xl--line-height));\n }\n }\n .ui\\:md\\:text-base {\n @media (width >= 48rem) {\n font-size: var(--ui-text-base);\n line-height: var(--tw-leading, var(--ui-text-base--line-height));\n }\n }\n .ui\\:md\\:text-lg {\n @media (width >= 48rem) {\n font-size: var(--ui-text-lg);\n line-height: var(--tw-leading, var(--ui-text-lg--line-height));\n }\n }\n .ui\\:md\\:text-xl {\n @media (width >= 48rem) {\n font-size: var(--ui-text-xl);\n line-height: var(--tw-leading, var(--ui-text-xl--line-height));\n }\n }\n .ui\\:lg\\:text-2xl {\n @media (width >= 64rem) {\n font-size: var(--ui-text-2xl);\n line-height: var(--tw-leading, var(--ui-text-2xl--line-height));\n }\n }\n .ui\\:lg\\:text-3xl {\n @media (width >= 64rem) {\n font-size: var(--ui-text-3xl);\n line-height: var(--tw-leading, var(--ui-text-3xl--line-height));\n }\n }\n .ui\\:lg\\:text-4xl {\n @media (width >= 64rem) {\n font-size: var(--ui-text-4xl);\n line-height: var(--tw-leading, var(--ui-text-4xl--line-height));\n }\n }\n .ui\\:lg\\:text-xl {\n @media (width >= 64rem) {\n font-size: var(--ui-text-xl);\n line-height: var(--tw-leading, var(--ui-text-xl--line-height));\n }\n }\n .ui\\:\\[\\.media-section\\:nth-of-type\\(odd\\)_\\&\\]\\:bg-white {\n .media-section:nth-of-type(odd) & {\n background-color: var(--ui-color-white);\n }\n }\n .ui\\:\\[\\.media-section\\:nth-of-type\\(odd\\)_\\&\\]\\:text-badge-foreground {\n .media-section:nth-of-type(odd) & {\n color: var(--ui-color-badge-foreground);\n }\n }\n}\n@layer utilities {\n .text-shadow-strong {\n text-shadow: 0 0 10px rgb(0 0 0 / 0.75);\n }\n .text-shadow-medium {\n text-shadow: 0 0 5px rgb(0 0 0 / 0.5);\n }\n}\n@layer base {\n @keyframes shimmer {\n 0% {\n transform: translateX(-100%);\n }\n 100% {\n transform: translateX(100%);\n }\n }\n}\n@layer components {\n .ui-skeleton-shimmer::before {\n content: '';\n position: absolute;\n inset: 0;\n transform: translateX(-100%);\n background: linear-gradient(90deg, transparent, var(--ui-color-white-80), transparent);\n animation: shimmer 2s infinite;\n }\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-scale-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scroll-snap-strictness {\n syntax: \"*\";\n inherits: false;\n initial-value: proximity;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-gradient-position {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-gradient-from {\n syntax: \"<color>\";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-via {\n syntax: \"<color>\";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-to {\n syntax: \"<color>\";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-stops {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-gradient-via-stops {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-gradient-from-position {\n syntax: \"<length-percentage>\";\n inherits: false;\n initial-value: 0%;\n}\n@property --tw-gradient-via-position {\n syntax: \"<length-percentage>\";\n inherits: false;\n initial-value: 50%;\n}\n@property --tw-gradient-to-position {\n syntax: \"<length-percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ordinal {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-slashed-zero {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-figure {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-spacing {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-fraction {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-drop-shadow-size {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,472 @@
1
+ import { FC, ComponentProps, ReactNode, ButtonHTMLAttributes, ImgHTMLAttributes, HTMLAttributes, ElementType } from 'react';
2
+ import { IconName } from './Icon/index.js';
3
+ export { Icon, IconProps, IconSize } from './Icon/index.js';
4
+ export { Button, ButtonProps } from './Button/index.js';
5
+ export { Card, CardProps, CardVariant } from './Card/index.js';
6
+ import 'react-router-dom';
7
+
8
+ type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';
9
+ interface AvatarProps extends Omit<ComponentProps<'img'>, 'src'> {
10
+ /** Image source URL */
11
+ src?: string | null;
12
+ /** Alt text for the image */
13
+ alt: string;
14
+ /** Size of the avatar */
15
+ size?: AvatarSize;
16
+ /** Fallback initials to display when no image */
17
+ initials?: string;
18
+ /** For testing purposes */
19
+ testId?: string;
20
+ }
21
+ declare const Avatar: FC<AvatarProps>;
22
+
23
+ type BadgeVariant = 'default' | 'secondary' | 'outline' | 'destructive';
24
+ type BadgeSize = 'sm' | 'md' | 'lg';
25
+ interface BadgeProps {
26
+ /** Badge content */
27
+ children: ReactNode;
28
+ /** Visual variant */
29
+ variant?: BadgeVariant;
30
+ /** Size */
31
+ size?: BadgeSize;
32
+ /** Optional icon (left) */
33
+ icon?: IconName;
34
+ /** Custom text color class (overrides variant color) */
35
+ textClassName?: string;
36
+ /** Additional class name */
37
+ className?: string;
38
+ }
39
+ declare const Badge: FC<BadgeProps>;
40
+
41
+ interface IconButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
42
+ /** Icon name to display */
43
+ icon: IconName;
44
+ /** Visual variant of the button */
45
+ variant?: 'primary' | 'secondary' | 'ghost' | 'outline';
46
+ /** Size of the button */
47
+ size?: 'sm' | 'md' | 'lg';
48
+ /** Accessible label for screen readers */
49
+ 'aria-label': string;
50
+ }
51
+ declare const IconButton: FC<IconButtonProps>;
52
+
53
+ type ImageState = 'loading' | 'loaded' | 'error';
54
+ type AspectRatio = '2/3' | '16/9' | '1/1' | '4/3' | '3/2';
55
+ type ImageLoading = 'lazy' | 'eager';
56
+ interface ImageProps extends Omit<ImgHTMLAttributes<HTMLImageElement>, 'placeholder'> {
57
+ /** Image source URL */
58
+ src: string;
59
+ /** Alt text for accessibility */
60
+ alt: string;
61
+ /** Pre-generated blur data URL (base64) */
62
+ blurDataUrl?: string;
63
+ /** Auto-generate blur placeholder from src using Canvas API */
64
+ autoBlur?: boolean;
65
+ /** Size of blur canvas (smaller = more blur). Default: 16 */
66
+ blurSize?: number;
67
+ /** JPEG quality for blur (0-1). Default: 0.3 */
68
+ blurQuality?: number;
69
+ /** Aspect ratio of the image container */
70
+ aspectRatio?: AspectRatio | (string & {});
71
+ /** Fallback content when image fails to load */
72
+ fallback?: ReactNode;
73
+ /** Callback when image loads successfully */
74
+ onLoad?: () => void;
75
+ /** Callback when image fails to load */
76
+ onError?: () => void;
77
+ /** Load strategy: 'lazy' waits for viewport visibility, 'eager' loads immediately. Default: 'eager' */
78
+ loading?: ImageLoading;
79
+ }
80
+ declare const Image: FC<ImageProps>;
81
+
82
+ interface HeroImageProps {
83
+ /** Backdrop path from TMDB API */
84
+ backdropPath?: string | null;
85
+ /** Alt text for the image */
86
+ title?: string | null;
87
+ }
88
+ /**
89
+ * HeroImage component for displaying optimized backdrop images with responsive sources
90
+ * and gradient overlay. Used in hero sections across the application.
91
+ */
92
+ declare const HeroImage: FC<HeroImageProps>;
93
+
94
+ interface ModalProps {
95
+ /** Whether the modal is open */
96
+ isOpen: boolean;
97
+ /** Callback when modal should close (ESC key, backdrop click) */
98
+ onClose: () => void;
99
+ /** Modal content */
100
+ children: ReactNode;
101
+ /** Accessible label for screen readers (required) */
102
+ 'aria-label': string;
103
+ /** Additional class name for the dialog element */
104
+ className?: string;
105
+ /** Optional callback for backdrop click. Falls back to onClose if not provided. */
106
+ onOverlayClick?: () => void;
107
+ }
108
+ declare const Modal: FC<ModalProps>;
109
+
110
+ type RatingVariant = 'circle' | 'stars';
111
+ type RatingSize = 'sm' | 'md' | 'lg';
112
+ interface RatingProps {
113
+ /** Rating value (0-10 by default, or 0-100 if max=100) */
114
+ value: number;
115
+ /** Maximum value (default: 10 for TMDB scores) */
116
+ max?: number;
117
+ /** Visual variant */
118
+ variant?: RatingVariant;
119
+ /** Size of the rating */
120
+ size?: RatingSize;
121
+ /** Show the numeric value */
122
+ showValue?: boolean;
123
+ /** Custom class for the background track circle (circle variant only) */
124
+ trackClassName?: string;
125
+ /** Additional class name */
126
+ className?: string;
127
+ }
128
+ declare const Rating: FC<RatingProps>;
129
+
130
+ /**
131
+ * MovieCard component types with discriminated union for type-safe variants
132
+ */
133
+
134
+ /**
135
+ * Base props shared across all MovieCard variants
136
+ */
137
+ interface MovieCardBaseProps {
138
+ /** Media ID */
139
+ id: number;
140
+ /** Media title */
141
+ title: string;
142
+ /** Poster URL (full URL or TMDB path) */
143
+ posterUrl: string;
144
+ /** Vote average (0-10) */
145
+ voteAverage: number;
146
+ /** Release year */
147
+ year?: number | null;
148
+ /** Additional class name */
149
+ className?: string;
150
+ /** Image loading strategy ('lazy' | 'eager'). Default: 'lazy' */
151
+ imageLoading?: ImageLoading;
152
+ }
153
+ /**
154
+ * MovieCard as a simple card (default, non-interactive)
155
+ */
156
+ interface MovieCardAsCard extends MovieCardBaseProps {
157
+ /** Render as simple card (default) */
158
+ as?: 'card' | undefined;
159
+ /** Not allowed when as="card" */
160
+ to?: never;
161
+ /** Not allowed when as="card" */
162
+ onClick?: never;
163
+ }
164
+ /**
165
+ * MovieCard as a navigable link (React Router Link)
166
+ */
167
+ interface MovieCardAsLink extends MovieCardBaseProps {
168
+ /** Render as React Router Link */
169
+ as: 'link';
170
+ /** Navigation path (required when as="link") */
171
+ to: string;
172
+ /** Not allowed when as="link" */
173
+ onClick?: never;
174
+ }
175
+ /**
176
+ * MovieCard as a clickable button with custom action
177
+ */
178
+ interface MovieCardAsButton extends MovieCardBaseProps {
179
+ /** Render as button with onClick */
180
+ as: 'button';
181
+ /** Click handler (required when as="button") */
182
+ onClick: () => void;
183
+ /** Not allowed when as="button" */
184
+ to?: never;
185
+ }
186
+ /**
187
+ * MovieCard props - discriminated union by 'as' prop
188
+ *
189
+ * @example
190
+ * // Simple card (default)
191
+ * <MovieCard id={1} title="..." posterUrl="..." voteAverage={8} />
192
+ *
193
+ * @example
194
+ * // Navigable link
195
+ * <MovieCard as="link" to="/movie/1" id={1} title="..." posterUrl="..." voteAverage={8} />
196
+ *
197
+ * @example
198
+ * // Button with custom action
199
+ * <MovieCard as="button" onClick={() => console.log('clicked')} id={1} title="..." posterUrl="..." voteAverage={8} />
200
+ */
201
+ type MovieCardProps = MovieCardAsCard | MovieCardAsLink | MovieCardAsButton;
202
+
203
+ declare const MovieCard: FC<MovieCardProps>;
204
+
205
+ interface TrailerCardProps {
206
+ /** YouTube video ID */
207
+ videoKey: string;
208
+ /** Trailer title/name */
209
+ title: string;
210
+ /** Video type (Trailer, Clip, Featurette, etc.) */
211
+ type?: string;
212
+ /** Additional className for the card */
213
+ className?: string;
214
+ }
215
+ declare const TrailerCard: FC<TrailerCardProps>;
216
+
217
+ /** Carousel visual variant */
218
+ type CarouselVariant = 'standard' | 'hero' | 'lightbox';
219
+ /** Arrow position for navigation buttons */
220
+ type CarouselArrowPosition = 'sides' | 'bottom-right';
221
+ interface CarouselProps {
222
+ /** Carousel items */
223
+ children?: ReactNode;
224
+ /** Visual variant */
225
+ variant?: CarouselVariant;
226
+ /** Show pagination dots (ignored for lightbox — counter is shown instead) */
227
+ showPagination?: boolean;
228
+ /** Show navigation arrows */
229
+ showArrows?: boolean;
230
+ /** Arrow position */
231
+ arrowPosition?: CarouselArrowPosition;
232
+ /** Gap between items in pixels */
233
+ gap?: number;
234
+ /** Additional class name */
235
+ className?: string;
236
+ /** Class name for the hero controls container (pagination + arrows) — use to constrain width/padding */
237
+ heroControlsClassName?: string;
238
+ /** Error message to display instead of carousel content */
239
+ errorMessage?: string;
240
+ /** Apply rounded corners to viewport */
241
+ rounded?: boolean;
242
+ /**
243
+ * Initial scroll index — jumps to this item on mount without animation.
244
+ * Use with key={index} on Carousel for URL-based navigation (lightbox).
245
+ */
246
+ initialIndex?: number;
247
+ /**
248
+ * Override internal prev navigation (e.g. navigate to previous URL in lightbox).
249
+ * When provided, replaces internal scrollPrev.
250
+ */
251
+ onPrev?: () => void;
252
+ /**
253
+ * Override internal next navigation (e.g. navigate to next URL in lightbox).
254
+ * When provided, replaces internal scrollNext.
255
+ */
256
+ onNext?: () => void;
257
+ /**
258
+ * When true, all internal scroll transitions are instant (no smooth animation).
259
+ * Use for lightbox with URL-based navigation where the Carousel remounts each time.
260
+ */
261
+ disableAnimation?: boolean;
262
+ /**
263
+ * When true, user-initiated wheel/trackpad scroll is blocked on the container,
264
+ * and currentIndex is driven entirely by initialIndex (no scroll tracking).
265
+ * Use for URL-driven carousels (lightbox) to avoid scroll/resize desync.
266
+ */
267
+ disableScroll?: boolean;
268
+ }
269
+ /**
270
+ * Carousel component with horizontal scroll, pagination, and navigation.
271
+ * Supports three variants:
272
+ * - standard: multi-items horizontal scroll
273
+ * - hero: single panoramic item with snap
274
+ * - lightbox: single item per view, ghost arrows, counter (for PhotoViewer)
275
+ */
276
+ declare const Carousel: FC<CarouselProps>;
277
+
278
+ interface CarouselItemProps extends HTMLAttributes<HTMLDivElement> {
279
+ /** Whether this is a hero item (full width with snap) */
280
+ isHero?: boolean;
281
+ /** Whether this is a lightbox item (full width with snap, same layout as hero) */
282
+ isLightbox?: boolean;
283
+ }
284
+ /**
285
+ * Wrapper for individual carousel items.
286
+ * For hero and lightbox variants, items take full width and snap to center.
287
+ */
288
+ declare const CarouselItem: FC<CarouselItemProps>;
289
+
290
+ /** Position mode for navigation buttons */
291
+ type CarouselNavigationPosition = 'inline' | 'sides' | 'sides-inset';
292
+ interface CarouselNavigationProps {
293
+ /** Callback for previous button */
294
+ onPrev: () => void;
295
+ /** Callback for next button */
296
+ onNext: () => void;
297
+ /** Whether previous is disabled */
298
+ canPrev: boolean;
299
+ /** Whether next is disabled */
300
+ canNext: boolean;
301
+ /** Button size */
302
+ size?: 'sm' | 'md';
303
+ /** Position mode */
304
+ position?: CarouselNavigationPosition;
305
+ /** Icon button visual variant — ghost for lightbox (white arrows on dark bg) */
306
+ iconVariant?: 'secondary' | 'ghost';
307
+ /** Additional class name */
308
+ className?: string;
309
+ }
310
+ /**
311
+ * Navigation buttons for Carousel (previous/next).
312
+ * - inline: side by side (for bottom-right layout)
313
+ * - sides: absolute, centered on the carousel edges (overhangs container — standard carousel)
314
+ * - sides-inset: absolute, inside the container with padding (lightbox, fullscreen contexts)
315
+ */
316
+ declare const CarouselNavigation: FC<CarouselNavigationProps>;
317
+
318
+ interface CarouselPaginationProps {
319
+ /** Total number of items */
320
+ total: number;
321
+ /** Current active index */
322
+ current: number;
323
+ /** Use light colors (for dark backgrounds) */
324
+ light?: boolean;
325
+ /** Additional class name */
326
+ className?: string;
327
+ }
328
+ /**
329
+ * Pagination dots for Carousel.
330
+ * Active dot is displayed as a capsule (wider), inactive dots are circles.
331
+ * Supports light mode for dark backgrounds (white dots).
332
+ */
333
+ declare const CarouselPagination: FC<CarouselPaginationProps>;
334
+
335
+ interface CarouselCounterProps {
336
+ /** Current index (0-based) — displayed as 1-based */
337
+ current: number;
338
+ /** Total number of items */
339
+ total: number;
340
+ /** Additional class name */
341
+ className?: string;
342
+ }
343
+ /**
344
+ * Counter for Carousel lightbox variant.
345
+ * Displays current position as "3 / 20" (1-indexed).
346
+ */
347
+ declare const CarouselCounter: FC<CarouselCounterProps>;
348
+
349
+ interface CarouselLoadingProps {
350
+ /** Number of skeleton cards to display */
351
+ count?: number;
352
+ /** Width of each card in pixels */
353
+ cardWidth?: number;
354
+ /** Height of each card in pixels */
355
+ cardHeight?: number;
356
+ /** Show skeleton for title */
357
+ showTitle?: boolean;
358
+ /** Show skeleton for subtitle/date */
359
+ showSubtitle?: boolean;
360
+ /** Apply rounded corners to skeleton */
361
+ rounded?: boolean;
362
+ }
363
+ /**
364
+ * CarouselLoading - Loading state for carousel with skeleton cards
365
+ *
366
+ * Displays a horizontal scrollable list of skeleton placeholders
367
+ * matching the structure of MovieCard components.
368
+ */
369
+ declare const CarouselLoading: FC<CarouselLoadingProps>;
370
+
371
+ type TabsListProps = HTMLAttributes<HTMLDivElement>;
372
+ declare const TabsList: FC<TabsListProps>;
373
+
374
+ interface TabsPanelProps extends HTMLAttributes<HTMLDivElement> {
375
+ /** Value that identifies this panel (must match a Tabs.Trigger value) */
376
+ value: string;
377
+ /** Panel content */
378
+ children: ReactNode;
379
+ }
380
+ /**
381
+ * Tabpanel for Tabs component.
382
+ * Automatically hidden/shown based on active tab value.
383
+ * Provides proper ARIA attributes for accessibility.
384
+ */
385
+ declare const TabsPanel: FC<TabsPanelProps>;
386
+
387
+ interface TabsTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
388
+ /** Value that identifies this tab */
389
+ value: string;
390
+ /** Optional icon component */
391
+ icon?: ReactNode;
392
+ }
393
+ declare const TabsTrigger: FC<TabsTriggerProps>;
394
+
395
+ /** Tabs visual variant */
396
+ type TabsVariant = 'underline' | 'pills';
397
+ interface TabsProps extends HTMLAttributes<HTMLDivElement> {
398
+ /** Default active tab value (uncontrolled) */
399
+ defaultValue?: string;
400
+ /** Controlled active tab value */
401
+ value?: string;
402
+ /** Callback when tab changes */
403
+ onValueChange?: (value: string) => void;
404
+ /** Visual variant */
405
+ variant?: TabsVariant;
406
+ /** Optional prefix for ID generation (e.g., "popular" generates ids: popular-{value}) */
407
+ prefix?: string;
408
+ }
409
+ /**
410
+ * Tabs component for navigation between content sections.
411
+ * Implements ARIA tabs pattern for accessibility.
412
+ * Supports underline and pills variants.
413
+ * Uses Compound Component pattern.
414
+ */
415
+ declare const Tabs: FC<TabsProps> & {
416
+ List: typeof TabsList;
417
+ Trigger: typeof TabsTrigger;
418
+ Panel: typeof TabsPanel;
419
+ };
420
+
421
+ interface SkeletonProps extends ComponentProps<'div'> {
422
+ /** Shape variant */
423
+ variant?: 'rectangle' | 'circle' | 'line';
424
+ /** Width (Tailwind class or custom value) */
425
+ width?: string;
426
+ /** Height (Tailwind class or custom value) */
427
+ height?: string;
428
+ /** Aspect ratio (e.g., "2/3", "16/9", "1/1") */
429
+ aspectRatio?: string;
430
+ /** Apply rounded corners (default: true for rectangle/line, always true for circle) */
431
+ rounded?: boolean;
432
+ }
433
+ /**
434
+ * Skeleton - Atomic loading placeholder component
435
+ *
436
+ * Composable primitive for building loading states with shimmer effect.
437
+ */
438
+ declare const Skeleton: FC<SkeletonProps>;
439
+
440
+ interface TalentProps extends HTMLAttributes<HTMLDivElement> {
441
+ /** Full name of the talent (actor, director, writer, etc.) */
442
+ name?: string;
443
+ /** Role or job title (e.g., "Director", "Screenplay", "Character Name") */
444
+ role?: string;
445
+ /** Optional profile image URL */
446
+ imageSrc?: string;
447
+ /** Layout variant - vertical for crew/cast cards, horizontal for lists */
448
+ variant?: 'vertical' | 'horizontal';
449
+ /** Avatar size */
450
+ size?: AvatarSize;
451
+ }
452
+ declare const Talent: FC<TalentProps>;
453
+
454
+ type TypographyVariant = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'body' | 'body-sm' | 'body-lg' | 'lead' | 'caption' | 'caption-xs' | 'label' | 'muted' | 'blockquote';
455
+ interface TypographyProps extends HTMLAttributes<HTMLElement> {
456
+ /** Visual style variant */
457
+ variant: TypographyVariant;
458
+ /** Override semantic HTML tag */
459
+ as?: ElementType;
460
+ /** Additional CSS classes */
461
+ className?: string;
462
+ /** Content */
463
+ children: ReactNode;
464
+ }
465
+ declare const Typography: FC<TypographyProps>;
466
+
467
+ interface SpinnerProps {
468
+ className?: string;
469
+ }
470
+ declare const Spinner: FC<SpinnerProps>;
471
+
472
+ export { type AspectRatio, Avatar, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type BadgeSize, type BadgeVariant, Carousel, type CarouselArrowPosition, CarouselCounter, type CarouselCounterProps, CarouselItem, type CarouselItemProps, CarouselLoading, type CarouselLoadingProps, CarouselNavigation, type CarouselNavigationPosition, type CarouselNavigationProps, CarouselPagination, type CarouselPaginationProps, type CarouselProps, type CarouselVariant, HeroImage, type HeroImageProps, IconButton, type IconButtonProps, IconName, Image, type ImageProps, type ImageState, Modal, type ModalProps, MovieCard, type MovieCardProps, Rating, type RatingProps, type RatingSize, type RatingVariant, Skeleton, type SkeletonProps, Spinner, type SpinnerProps, Tabs, type TabsProps, type TabsVariant, Talent, type TalentProps, TrailerCard, type TrailerCardProps, Typography, type TypographyProps, type TypographyVariant };