@spark-ui/components 11.1.0 → 11.1.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.
Files changed (146) hide show
  1. package/dist/DialogTrigger-woU7vsJi.d.ts +142 -0
  2. package/dist/Input-N8AWWSmt.d.ts +41 -0
  3. package/dist/InputTrailingIcon-ZZx8PoJy.d.ts +20 -0
  4. package/dist/LabelRequiredIndicator-DRnCzHMU.d.ts +19 -0
  5. package/dist/accordion/index.d.ts +73 -0
  6. package/dist/accordion/index.js +325 -0
  7. package/dist/accordion/index.js.map +1 -0
  8. package/dist/alert-dialog/index.d.ts +119 -0
  9. package/dist/alert-dialog/index.js +1554 -0
  10. package/dist/alert-dialog/index.js.map +1 -0
  11. package/dist/avatar/index.d.ts +66 -0
  12. package/dist/avatar/index.js +1303 -0
  13. package/dist/avatar/index.js.map +1 -0
  14. package/dist/badge/index.d.ts +47 -0
  15. package/dist/badge/index.js +122 -0
  16. package/dist/badge/index.js.map +1 -0
  17. package/dist/breadcrumb/index.d.ts +64 -0
  18. package/dist/breadcrumb/index.js +327 -0
  19. package/dist/breadcrumb/index.js.map +1 -0
  20. package/dist/button/index.d.ts +41 -0
  21. package/dist/button/index.js +935 -0
  22. package/dist/button/index.js.map +1 -0
  23. package/dist/card/index.d.ts +61 -0
  24. package/dist/card/index.js +502 -0
  25. package/dist/card/index.js.map +1 -0
  26. package/dist/carousel/index.d.ts +261 -0
  27. package/dist/carousel/index.js +1801 -0
  28. package/dist/carousel/index.js.map +1 -0
  29. package/dist/checkbox/index.d.ts +120 -0
  30. package/dist/checkbox/index.js +511 -0
  31. package/dist/checkbox/index.js.map +1 -0
  32. package/dist/chip/index.d.ts +97 -0
  33. package/dist/chip/index.js +908 -0
  34. package/dist/chip/index.js.map +1 -0
  35. package/dist/collapsible/index.d.ts +43 -0
  36. package/dist/collapsible/index.js +109 -0
  37. package/dist/collapsible/index.js.map +1 -0
  38. package/dist/combobox/index.d.ts +287 -0
  39. package/dist/combobox/index.js +2588 -0
  40. package/dist/combobox/index.js.map +1 -0
  41. package/dist/dialog/index.d.ts +33 -0
  42. package/dist/dialog/index.js +1389 -0
  43. package/dist/dialog/index.js.map +1 -0
  44. package/dist/divider/index.d.ts +61 -0
  45. package/dist/divider/index.js +224 -0
  46. package/dist/divider/index.js.map +1 -0
  47. package/dist/drawer/index.d.ts +152 -0
  48. package/dist/drawer/index.js +1400 -0
  49. package/dist/drawer/index.js.map +1 -0
  50. package/dist/dropdown/index.d.ts +233 -0
  51. package/dist/dropdown/index.js +2051 -0
  52. package/dist/dropdown/index.js.map +1 -0
  53. package/dist/form-field/index.d.ts +186 -0
  54. package/dist/form-field/index.js +553 -0
  55. package/dist/form-field/index.js.map +1 -0
  56. package/dist/icon/index.d.ts +28 -0
  57. package/dist/icon/index.js +127 -0
  58. package/dist/icon/index.js.map +1 -0
  59. package/dist/icon-button/index.d.ts +16 -0
  60. package/dist/icon-button/index.js +980 -0
  61. package/dist/icon-button/index.js.map +1 -0
  62. package/dist/input/index.d.ts +78 -0
  63. package/dist/input/index.js +724 -0
  64. package/dist/input/index.js.map +1 -0
  65. package/dist/kbd/index.d.ts +9 -0
  66. package/dist/kbd/index.js +47 -0
  67. package/dist/kbd/index.js.map +1 -0
  68. package/dist/label/index.d.ts +11 -0
  69. package/dist/label/index.js +78 -0
  70. package/dist/label/index.js.map +1 -0
  71. package/dist/link-box/index.d.ts +34 -0
  72. package/dist/link-box/index.js +92 -0
  73. package/dist/link-box/index.js.map +1 -0
  74. package/dist/pagination/index.d.ts +143 -0
  75. package/dist/pagination/index.js +1353 -0
  76. package/dist/pagination/index.js.map +1 -0
  77. package/dist/popover/index.d.ts +93 -0
  78. package/dist/popover/index.js +1339 -0
  79. package/dist/popover/index.js.map +1 -0
  80. package/dist/portal/index.d.ts +13 -0
  81. package/dist/portal/index.js +37 -0
  82. package/dist/portal/index.js.map +1 -0
  83. package/dist/progress/index.d.ts +48 -0
  84. package/dist/progress/index.js +223 -0
  85. package/dist/progress/index.js.map +1 -0
  86. package/dist/progress-tracker/index.d.ts +80 -0
  87. package/dist/progress-tracker/index.js +571 -0
  88. package/dist/progress-tracker/index.js.map +1 -0
  89. package/dist/radio-group/index.d.ts +100 -0
  90. package/dist/radio-group/index.js +318 -0
  91. package/dist/radio-group/index.js.map +1 -0
  92. package/dist/rating/index.d.ts +78 -0
  93. package/dist/rating/index.js +363 -0
  94. package/dist/rating/index.js.map +1 -0
  95. package/dist/scrolling-list/index.d.ts +118 -0
  96. package/dist/scrolling-list/index.js +1426 -0
  97. package/dist/scrolling-list/index.js.map +1 -0
  98. package/dist/segmented-gauge/index.d.ts +100 -0
  99. package/dist/segmented-gauge/index.js +277 -0
  100. package/dist/segmented-gauge/index.js.map +1 -0
  101. package/dist/select/index.d.ts +167 -0
  102. package/dist/select/index.js +581 -0
  103. package/dist/select/index.js.map +1 -0
  104. package/dist/skeleton/index.d.ts +67 -0
  105. package/dist/skeleton/index.js +206 -0
  106. package/dist/skeleton/index.js.map +1 -0
  107. package/dist/slider/index.d.ts +97 -0
  108. package/dist/slider/index.js +220 -0
  109. package/dist/slider/index.js.map +1 -0
  110. package/dist/slot/index.d.ts +16 -0
  111. package/dist/slot/index.js +51 -0
  112. package/dist/slot/index.js.map +1 -0
  113. package/dist/snackbar/index.d.ts +158 -0
  114. package/dist/snackbar/index.js +1756 -0
  115. package/dist/snackbar/index.js.map +1 -0
  116. package/dist/spinner/index.d.mts +1 -1
  117. package/dist/spinner/index.d.ts +21 -0
  118. package/dist/spinner/index.js +139 -0
  119. package/dist/spinner/index.js.map +1 -0
  120. package/dist/stepper/index.d.ts +81 -0
  121. package/dist/stepper/index.js +1847 -0
  122. package/dist/stepper/index.js.map +1 -0
  123. package/dist/switch/index.d.ts +64 -0
  124. package/dist/switch/index.js +327 -0
  125. package/dist/switch/index.js.map +1 -0
  126. package/dist/tabs/index.d.ts +103 -0
  127. package/dist/tabs/index.js +1376 -0
  128. package/dist/tabs/index.js.map +1 -0
  129. package/dist/tag/index.d.ts +29 -0
  130. package/dist/tag/index.js +283 -0
  131. package/dist/tag/index.js.map +1 -0
  132. package/dist/text-link/index.d.ts +20 -0
  133. package/dist/text-link/index.js +100 -0
  134. package/dist/text-link/index.js.map +1 -0
  135. package/dist/textarea/index.d.ts +57 -0
  136. package/dist/textarea/index.js +797 -0
  137. package/dist/textarea/index.js.map +1 -0
  138. package/dist/toast/index.d.ts +56 -0
  139. package/dist/toast/index.js +1412 -0
  140. package/dist/toast/index.js.map +1 -0
  141. package/dist/toast/index.mjs +1 -1
  142. package/dist/toast/index.mjs.map +1 -1
  143. package/dist/visually-hidden/index.d.ts +16 -0
  144. package/dist/visually-hidden/index.js +67 -0
  145. package/dist/visually-hidden/index.js.map +1 -0
  146. package/package.json +5 -5
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/card/index.ts","../../src/card/Backdrop.tsx","../../src/slot/Slot.tsx","../../src/card/Card.styles.tsx","../../src/card/context.tsx","../../src/card/utils.ts","../../src/card/Card.tsx","../../src/card/Content.styles.tsx","../../src/card/Content.tsx"],"sourcesContent":["import { Backdrop } from './Backdrop'\nimport { Card as Root } from './Card'\nimport { Content } from './Content'\n\nexport const Card: typeof Root & {\n Content: typeof Content\n Backdrop: typeof Backdrop\n} = Object.assign(Root, {\n Content,\n Backdrop,\n})\n\nCard.displayName = 'Card'\nContent.displayName = 'Card.Content'\nBackdrop.displayName = 'Card.Backdrop'\n\nexport { type CardProps } from './Card'\n","import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nexport const backdropStyles = cva(\n [\n 'default:bg-surface default:bg-gradient-to-r absolute inset-x-0 top-0',\n 'h-sz-16',\n 'default:rounded-t-lg',\n 'bg-[length:200%_100%] bg-position-[0%_0%]',\n ],\n {\n variants: {\n animation: {\n none: '',\n pulse: 'animate-standalone-backdrop-pulse',\n },\n intent: makeVariants<\n 'intent',\n [\n 'main',\n 'support',\n 'accent',\n 'basic',\n 'success',\n 'alert',\n 'danger',\n 'info',\n 'neutral',\n 'surface',\n 'surfaceInverse',\n ]\n >({\n main: ['default:from-main/dim-4 default:via-main/dim-2 default:to-main/dim-4'],\n support: ['default:from-support/dim-4 default:via-support/dim-2 default:to-support/dim-4'],\n accent: ['default:from-accent/dim-4 default:via-accent/dim-2 default:to-accent/dim-4'],\n basic: ['default:from-basic/dim-4 default:via-basic/dim-2 default:to-basic/dim-4'],\n success: ['default:from-success/dim-4 default:via-success/dim-2 default:to-success/dim-4'],\n alert: ['default:from-alert/dim-4 default:via-alert/dim-2 default:to-alert/dim-4'],\n danger: ['default:from-error/dim-4 default:via-error/dim-2 default:to-error/dim-4'],\n info: ['default:from-info/dim-4 default:via-info/dim-2 default:to-info/dim-4'],\n neutral: ['default:from-neutral/dim-4 default:via-neutral/dim-2 default:to-neutral/dim-4'],\n surface: ['default:from-outline/dim-4 default:via-outline/dim-2 default:to-outline/dim-4'],\n surfaceInverse: [\n 'default:from-surface/dim-4 default:via-surface/dim-2 default:to-surface/dim-4',\n ],\n }),\n },\n defaultVariants: {\n intent: 'main',\n animation: 'none',\n },\n }\n)\n\nexport type BackdropStylesProps = VariantProps<typeof backdropStyles>\n\ninterface BackdropProps extends BackdropStylesProps {\n className?: string\n}\n\nexport const Backdrop = ({ intent = 'main', animation = 'none', ...props }: BackdropProps) => {\n return <div className={backdropStyles({ intent, animation })} {...props} />\n}\n\nBackdrop.displayName = 'Card.Backdrop'\n","import { Slot as RadixSlot } from 'radix-ui'\nimport {\n cloneElement,\n HTMLAttributes,\n isValidElement,\n PropsWithChildren,\n ReactNode,\n Ref,\n} from 'react'\n\nexport const Slottable: typeof RadixSlot.Slottable = RadixSlot.Slottable\n\nexport type SlotProps = PropsWithChildren<HTMLAttributes<HTMLElement>> & {\n ref?: Ref<HTMLElement>\n}\n\nexport const Slot = ({ ref, ...props }: SlotProps) => {\n return <RadixSlot.Root ref={ref} {...props} />\n}\n\n/**\n * When using Radix `Slot` component, it will consider its first child to merge its props with.\n * In some cases, you might need to wrap the top child with additional markup without breaking this behaviour.\n */\nexport const wrapPolymorphicSlot = (\n asChild: boolean | undefined,\n children: ReactNode,\n callback: (children: ReactNode) => ReactNode\n) => {\n if (!asChild) return callback(children) // If polymorphic behaviour is not used, we keep the original children\n\n return isValidElement(children)\n ? cloneElement(\n children,\n undefined,\n callback((children.props as { children: ReactNode }).children)\n )\n : null\n}\n","import { makeVariants, tw } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nexport const cardStyles = cva(\n [\n 'group relative bg-clip-padding default:rounded-lg focus-visible:u-outline',\n 'disabled:opacity-dim-3 disabled:cursor-not-allowed',\n ],\n {\n variants: {\n design: {\n filled: [],\n outlined: ['border-sm'],\n tinted: [],\n },\n hasBackdrop: {\n true: ['pt-md'],\n },\n /**\n * Color scheme of the button.\n */\n intent: makeVariants<\n 'intent',\n [\n 'main',\n 'support',\n 'accent',\n 'basic',\n 'success',\n 'alert',\n 'danger',\n 'info',\n 'neutral',\n 'surface',\n 'surfaceInverse',\n ]\n >({\n main: [],\n support: [],\n accent: [],\n basic: [],\n success: [],\n alert: [],\n danger: [],\n info: [],\n neutral: [],\n surface: [],\n surfaceInverse: [],\n }),\n },\n compoundVariants: [\n // OUTLINED\n { intent: 'main', design: 'outlined', class: tw(['border-main']) },\n { intent: 'support', design: 'outlined', class: tw(['border-support']) },\n { intent: 'accent', design: 'outlined', class: tw(['border-accent']) },\n { intent: 'basic', design: 'outlined', class: tw(['border-basic']) },\n { intent: 'success', design: 'outlined', class: tw(['border-success']) },\n { intent: 'alert', design: 'outlined', class: tw(['border-alert']) },\n { intent: 'danger', design: 'outlined', class: tw(['border-error']) },\n { intent: 'info', design: 'outlined', class: tw(['border-info']) },\n { intent: 'neutral', design: 'outlined', class: tw(['border-neutral']) },\n { intent: 'surface', design: 'outlined', class: tw(['border-outline']) },\n ],\n defaultVariants: {\n design: 'filled',\n intent: 'surface',\n },\n }\n)\n\nexport type CardStylesProps = VariantProps<typeof cardStyles>\n","import { createContext, useContext } from 'react'\n\nimport type { CardStylesProps } from './Card.styles'\n\nexport interface CardContextValue {\n design: CardStylesProps['design']\n intent: CardStylesProps['intent']\n hasBackdrop: boolean\n inset: boolean\n isInteractive: boolean\n}\n\nconst CardContext = createContext<CardContextValue | undefined>(undefined)\n\nexport const useCardContext = () => {\n const context = useContext(CardContext)\n if (!context) {\n throw new Error('useCardContext must be used within a Card component')\n }\n\n return context\n}\n\nexport { CardContext }\n","import { Children, isValidElement, ReactNode } from 'react'\n\nconst MOUSE_EVENTS = [\n 'onClick',\n 'onMouseDown',\n 'onMouseUp',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOver',\n 'onMouseOut',\n 'onDoubleClick',\n 'onContextMenu',\n] as const\n\nexport const hasBackdrop = (children: ReactNode): boolean => {\n let backdropFound = false\n\n const searchForBackdrop = (node: ReactNode): void => {\n if (backdropFound) return\n\n Children.forEach(node, child => {\n if (backdropFound) return\n\n if (isValidElement(child)) {\n const isBackdropComponent =\n typeof child.type === 'function' &&\n (child.type as { displayName?: string }).displayName === 'Card.Backdrop'\n\n if (isBackdropComponent) {\n backdropFound = true\n\n return\n }\n\n const hasChildren =\n child.props && typeof child.props === 'object' && 'children' in child.props\n\n if (hasChildren) {\n const childChildren = (child.props as { children: ReactNode }).children\n if (childChildren !== undefined && childChildren !== null) {\n searchForBackdrop(childChildren)\n }\n }\n }\n })\n }\n\n searchForBackdrop(children)\n\n return backdropFound\n}\n\nexport const isInteractive = (\n children: ReactNode,\n asChild: boolean | undefined,\n props: Record<string, any>\n): boolean => {\n const hasMouseEventHandlers = MOUSE_EVENTS.some(event => event in props)\n\n if (hasMouseEventHandlers) {\n return true\n }\n\n if (!asChild) {\n return false\n }\n\n const child = Children.only(children)\n\n if (!isValidElement(child)) {\n return false\n }\n\n const interactiveElements = ['a', 'button']\n const isInteractiveElement =\n typeof child.type === 'string' && interactiveElements.includes(child.type)\n\n if (isInteractiveElement) {\n return true\n }\n\n const childProps = child.props as Record<string, any>\n const hasChildEventHandlers = MOUSE_EVENTS.some(event => event in childProps)\n\n return hasChildEventHandlers\n}\n","import { ComponentProps } from 'react'\n\nimport { Slot } from '../slot'\nimport { cardStyles, type CardStylesProps } from './Card.styles'\nimport { CardContext } from './context'\nimport { hasBackdrop, isInteractive } from './utils'\n\nexport interface CardProps extends ComponentProps<'div'>, CardStylesProps {\n /**\n * Change the component to the HTML tag or custom component of the only child.\n */\n asChild?: boolean\n /**\n * Whether the card should have an inset padding.\n */\n inset?: boolean\n}\n\nexport const Card = ({\n children,\n design = 'filled',\n intent = 'surface',\n inset = false,\n asChild,\n className,\n ref,\n ...props\n}: CardProps) => {\n const Component = asChild ? Slot : 'div'\n const backdropDetected = hasBackdrop(children)\n const interactiveDetected = isInteractive(children, asChild, props)\n\n return (\n <CardContext.Provider\n value={{\n design,\n intent,\n hasBackdrop: backdropDetected,\n inset,\n isInteractive: interactiveDetected,\n }}\n >\n <Component\n data-spark-component=\"card\"\n data-interactive={interactiveDetected}\n ref={ref}\n className={cardStyles({\n className,\n design,\n intent,\n hasBackdrop: backdropDetected,\n })}\n {...props}\n >\n {children}\n </Component>\n </CardContext.Provider>\n )\n}\n\nCard.displayName = 'Card'\n","import { makeVariants, tw } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nexport const contentStyles = cva(\n [\n 'relative h-full default:rounded-lg w-full focus-visible:u-outline',\n 'default:transition-colors default:duration-200 ease-linear',\n ],\n {\n variants: {\n inset: {\n false: ['default:p-lg'],\n },\n design: {\n filled: [],\n outlined: [\n 'default:bg-surface group-focus:bg-surface-hovered group-not-disabled:group-data-[interactive=true]:group-hover:bg-surface-hovered',\n ],\n tinted: [],\n },\n hasBackdrop: {\n true: ['rounded-t-[16px_8px] '],\n },\n intent: makeVariants<\n 'intent',\n [\n 'main',\n 'support',\n 'accent',\n 'basic',\n 'success',\n 'alert',\n 'danger',\n 'info',\n 'neutral',\n 'surface',\n 'surfaceInverse',\n ]\n >({\n main: [],\n support: [],\n accent: [],\n basic: [],\n success: [],\n alert: [],\n danger: [],\n info: [],\n neutral: [],\n surface: [],\n surfaceInverse: [],\n }),\n },\n compoundVariants: [\n // FILLED\n {\n intent: 'main',\n design: 'filled',\n class: tw([\n 'bg-main text-on-main group-focus:bg-main-hovered',\n 'group-not-disabled:group-data-[interactive=true]:group-hover:bg-main-hovered',\n ]),\n },\n {\n intent: 'support',\n design: 'filled',\n class: tw([\n 'bg-support text-on-support group-focus:bg-support-hovered',\n 'group-not-disabled:group-data-[interactive=true]:group-hover:bg-support-hovered',\n ]),\n },\n {\n intent: 'accent',\n design: 'filled',\n class: tw([\n 'bg-accent text-on-accent group-focus:bg-accent-hovered',\n 'group-not-disabled:group-data-[interactive=true]:group-hover:bg-accent-hovered',\n ]),\n },\n {\n intent: 'basic',\n design: 'filled',\n class: tw([\n 'bg-basic text-on-basic group-focus:bg-basic-hovered',\n 'group-not-disabled:group-data-[interactive=true]:group-hover:bg-basic-hovered',\n ]),\n },\n {\n intent: 'success',\n design: 'filled',\n class: tw([\n 'bg-success text-on-success group-focus:bg-success-hovered',\n 'group-not-disabled:group-data-[interactive=true]:group-hover:bg-success-hovered',\n ]),\n },\n {\n intent: 'alert',\n design: 'filled',\n class: tw([\n 'bg-alert text-on-alert group-focus:bg-alert-hovered',\n 'group-not-disabled:group-data-[interactive=true]:group-hover:bg-alert-hovered',\n ]),\n },\n {\n intent: 'danger',\n design: 'filled',\n class: tw([\n 'text-on-error bg-error group-focus:bg-error-hovered',\n 'group-not-disabled:group-data-[interactive=true]:group-hover:bg-error-hovered',\n ]),\n },\n {\n intent: 'info',\n design: 'filled',\n class: tw([\n 'text-on-error bg-info group-focus:bg-info-hovered',\n 'group-not-disabled:group-data-[interactive=true]:group-hover:bg-info-hovered',\n ]),\n },\n {\n intent: 'neutral',\n design: 'filled',\n class: tw([\n 'bg-neutral text-on-neutral group-focus:bg-neutral-hovered',\n 'group-not-disabled:group-data-[interactive=true]:group-hover:bg-neutral-hovered',\n ]),\n },\n {\n intent: 'surface',\n design: 'filled',\n class: tw([\n 'bg-surface text-on-surface group-focus:bg-surface-hovered',\n 'group-not-disabled:group-data-[interactive=true]:group-hover:bg-surface-hovered',\n ]),\n },\n // OUTLINED\n /**\n * Outlined styles are handled by the Card component (parent)\n */\n // TINTED\n {\n intent: 'main',\n design: 'tinted',\n class: tw([\n 'bg-main-container text-on-main-container group-focus:bg-main-container-hovered',\n 'group-not-disabled:group-data-[interactive=true]:group-hover:bg-main-container-hovered',\n ]),\n },\n {\n intent: 'support',\n design: 'tinted',\n class: tw([\n 'bg-support-container text-on-support-container group-focus:bg-support-container-hovered',\n 'group-not-disabled:group-data-[interactive=true]:group-hover:bg-support-container-hovered',\n ]),\n },\n {\n intent: 'accent',\n design: 'tinted',\n class: tw([\n 'bg-accent-container text-on-accent-container group-focus:bg-accent-container-hovered',\n 'group-not-disabled:group-data-[interactive=true]:group-hover:bg-accent-container-hovered',\n ]),\n },\n {\n intent: 'basic',\n design: 'tinted',\n class: tw([\n 'bg-basic-container text-on-basic-container group-focus:bg-basic-container-hovered',\n ]),\n },\n {\n intent: 'success',\n design: 'tinted',\n class: tw([\n 'bg-success-container text-on-success-container group-focus:bg-success-container-hovered',\n 'group-not-disabled:group-data-[interactive=true]:group-hover:bg-success-container-hovered',\n ]),\n },\n {\n intent: 'alert',\n design: 'tinted',\n class: tw([\n 'bg-alert-container text-on-alert-container group-focus:bg-alert-container-hovered',\n 'group-not-disabled:group-data-[interactive=true]:group-hover:bg-alert-container-hovered',\n ]),\n },\n {\n intent: 'danger',\n design: 'tinted',\n class: tw([\n 'bg-error-container text-on-error-container group-focus:bg-error-container-hovered',\n 'group-not-disabled:group-data-[interactive=true]:group-hover:bg-error-container-hovered',\n ]),\n },\n {\n intent: 'info',\n design: 'tinted',\n class: tw([\n 'bg-info-container text-on-info-container group-focus:bg-info-container-hovered',\n 'group-not-disabled:group-data-[interactive=true]:group-hover:bg-info-container-hovered',\n ]),\n },\n {\n intent: 'neutral',\n design: 'tinted',\n class: tw([\n 'bg-neutral-container text-on-neutral-container group-focus:bg-neutral-container-hovered',\n 'group-not-disabled:group-data-[interactive=true]:group-hover:bg-neutral-container-hovered',\n ]),\n },\n {\n intent: 'surface',\n design: 'tinted',\n class: tw([\n 'bg-surface text-on-surface group-focus:bg-surface-hovered',\n 'group-not-disabled:group-data-[interactive=true]:group-hover:bg-surface-hovered',\n ]),\n },\n ],\n defaultVariants: {\n design: 'filled',\n intent: 'surface',\n inset: false,\n hasBackdrop: true,\n },\n }\n)\n\nexport type ContentStylesProps = VariantProps<typeof contentStyles>\n","import { ComponentProps } from 'react'\n\nimport { Slot } from '../slot'\nimport { contentStyles } from './Content.styles'\nimport { useCardContext } from './context'\n\nexport interface ContentProps extends ComponentProps<'div'> {\n /**\n * Change the component to the HTML tag or custom component of the only child.\n */\n asChild?: boolean\n /**\n * Whether the card should have an inset padding.\n */\n inset?: boolean\n}\n\nexport const Content = ({ children, inset, asChild, className, ref, ...props }: ContentProps) => {\n const Component = asChild ? Slot : 'div'\n const { design, intent, hasBackdrop } = useCardContext()\n\n return (\n <Component\n data-spark-component=\"card-content\"\n ref={ref}\n className={contentStyles({\n className,\n design,\n intent,\n inset,\n hasBackdrop,\n })}\n {...props}\n >\n {children}\n </Component>\n )\n}\n\nContent.displayName = 'Content'\n"],"mappings":"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","names":["Card","import_jsx_runtime","RadixSlot","import_internal_utils","import_class_variance_authority","import_react","import_react","import_jsx_runtime","import_internal_utils","import_class_variance_authority","import_jsx_runtime","hasBackdrop","Card"]}
@@ -0,0 +1,261 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { CSSProperties, Ref, KeyboardEvent, RefObject, ComponentProps, ReactNode, HTMLAttributes } from 'react';
3
+ import { IconButtonProps } from '../icon-button/index.js';
4
+ import '../button/index.js';
5
+ import 'class-variance-authority/types';
6
+ import 'class-variance-authority';
7
+
8
+ declare const DATA_SCOPE: "carousel";
9
+ declare const DIRECTION: "ltr";
10
+ interface UseCarouselProps {
11
+ /**
12
+ * Opens the carousel on a predefined page index.
13
+ */
14
+ defaultPage?: number;
15
+ /**
16
+ * Active page of the carousel.
17
+ * Use it to control the carousel with your own state.
18
+ */
19
+ page?: number;
20
+ /**
21
+ * Space (in pixels) between slides.
22
+ */
23
+ gap?: number;
24
+ /**
25
+ * CSS scroll snap behavior.
26
+ * - `mandatory` to force snapping on each "page".
27
+ * - `proximity` to force snapping only when scroll position is near the edge of a "page". Behavior can change depending on each browser.
28
+ */
29
+ snapType?: 'proximity' | 'mandatory';
30
+ /**
31
+ * Defines whether or not the scroll container is allowed to "pass over" possible snap positions.
32
+ */
33
+ snapStop?: 'always' | 'normal';
34
+ /**
35
+ * Offset (in pixels) of the left of the optimal viewing region of the list.
36
+ */
37
+ scrollPadding?: number;
38
+ /**
39
+ * Number of slides to display in the carousel viewport.
40
+ */
41
+ slidesPerPage?: number;
42
+ /**
43
+ * By default, the carousel scroll N slides per move, N being the number of slides in the carousel viewport.
44
+ * Use this prop if you prefer to scroll by a smaller amount of slides each time.
45
+ */
46
+ slidesPerMove?: number | 'auto';
47
+ /**
48
+ * When `true`, allow previous and next buttons to be used when reaching the edges of the carousel.
49
+ */
50
+ loop?: boolean;
51
+ scrollBehavior?: 'instant' | 'smooth';
52
+ onPageChange?: (pageIndex: number) => void;
53
+ pagePickerInset?: boolean;
54
+ /**
55
+ * Maximum number of dots to display in the page picker.
56
+ */
57
+ maxDots?: number;
58
+ }
59
+ interface ComputedRootProps {
60
+ id: string;
61
+ role: 'region';
62
+ 'aria-roledescription': 'carousel';
63
+ 'data-scope': typeof DATA_SCOPE;
64
+ 'data-part': 'root';
65
+ 'data-orientation': 'horizontal';
66
+ dir: typeof DIRECTION;
67
+ style: CSSProperties & {
68
+ '--slides-per-page': number;
69
+ '--slide-spacing': string;
70
+ '--slide-item-size': string;
71
+ };
72
+ }
73
+ interface ComputedControlProps {
74
+ 'data-scope': typeof DATA_SCOPE;
75
+ 'data-part': 'control';
76
+ 'data-orientation': 'horizontal';
77
+ }
78
+ interface ComputedTriggerProps<T extends 'prev-trigger' | 'next-trigger'> {
79
+ id: string;
80
+ 'aria-controls': string;
81
+ 'data-scope': typeof DATA_SCOPE;
82
+ 'data-part': T;
83
+ 'data-orientation': 'horizontal';
84
+ type: 'button';
85
+ dir: typeof DIRECTION;
86
+ disabled: boolean;
87
+ onClick: () => void;
88
+ }
89
+ interface ComputedSlideGroupProps {
90
+ id: string;
91
+ 'aria-live': 'polite' | 'off';
92
+ 'data-scope': typeof DATA_SCOPE;
93
+ 'data-part': 'item-group';
94
+ 'data-orientation': 'horizontal';
95
+ dir: typeof DIRECTION;
96
+ tabIndex: 0;
97
+ style: CSSProperties;
98
+ ref: Ref<HTMLDivElement | null>;
99
+ }
100
+ interface ComputedSlideProps {
101
+ id: string;
102
+ role: 'group';
103
+ 'aria-roledescription': 'slide';
104
+ 'data-scope': typeof DATA_SCOPE;
105
+ 'data-part': 'item';
106
+ 'data-index': number;
107
+ 'data-orientation': 'horizontal';
108
+ dir: typeof DIRECTION;
109
+ style: CSSProperties;
110
+ }
111
+ interface ComputedIndicatorGroupProps {
112
+ role: 'radiogroup';
113
+ id: string;
114
+ 'data-scope': typeof DATA_SCOPE;
115
+ 'data-part': 'indicator-group';
116
+ 'data-orientation': 'horizontal';
117
+ dir: typeof DIRECTION;
118
+ }
119
+ interface ComputedIndicatorProps {
120
+ role: 'radio';
121
+ id: string;
122
+ 'aria-checked': boolean;
123
+ 'data-scope': typeof DATA_SCOPE;
124
+ 'data-part': 'indicator';
125
+ 'data-orientation': 'horizontal';
126
+ 'data-index': number;
127
+ 'data-state': 'active' | 'edge' | 'hidden' | 'idle';
128
+ tabIndex: 0 | -1;
129
+ onClick: () => void;
130
+ onKeyDown: (event: KeyboardEvent) => void;
131
+ }
132
+ interface AnatomyPropsSetters {
133
+ getRootProps: () => ComputedRootProps;
134
+ getControlProps: () => ComputedControlProps;
135
+ getPrevTriggerProps: () => ComputedTriggerProps<'prev-trigger'>;
136
+ getNextTriggerProps: () => ComputedTriggerProps<'next-trigger'>;
137
+ getSlidesContainerProps: () => ComputedSlideGroupProps;
138
+ getSlideProps: (props: {
139
+ index: number;
140
+ totalSlides: number;
141
+ }) => ComputedSlideProps;
142
+ getIndicatorGroupProps: () => ComputedIndicatorGroupProps;
143
+ getIndicatorProps: (props: {
144
+ index: number;
145
+ }) => ComputedIndicatorProps;
146
+ }
147
+ interface CarouselAPI extends AnatomyPropsSetters {
148
+ ref: RefObject<HTMLElement | null>;
149
+ pageIndicatorsRefs: RefObject<(HTMLElement | null)[] | null>;
150
+ gap: number;
151
+ page: number;
152
+ pageSnapPoints: number[];
153
+ pagePickerInset: boolean;
154
+ canScrollNext: boolean;
155
+ canScrollPrev: boolean;
156
+ scrollTo: (pageIndex: number, behavior: 'instant' | 'smooth') => void;
157
+ scrollPrev: () => void;
158
+ scrollNext: () => void;
159
+ loop: boolean;
160
+ scrollPadding: number;
161
+ slidesPerPage: number;
162
+ slidesPerMove: number | 'auto';
163
+ snapType: UseCarouselProps['snapType'];
164
+ snapStop: UseCarouselProps['snapStop'];
165
+ scrollBehavior: UseCarouselProps['scrollBehavior'];
166
+ maxDots: number;
167
+ }
168
+
169
+ interface Props$4 extends UseCarouselProps, ComponentProps<'div'> {
170
+ children?: ReactNode;
171
+ className?: string;
172
+ }
173
+ declare const Carousel$1: {
174
+ ({ className, snapType, snapStop, scrollBehavior, slidesPerMove, pagePickerInset, slidesPerPage, loop, children, gap, defaultPage, page, onPageChange, maxDots, ...props }: Props$4): react_jsx_runtime.JSX.Element;
175
+ displayName: string;
176
+ };
177
+
178
+ interface ControlsProps extends HTMLAttributes<HTMLDivElement> {
179
+ children: ReactNode;
180
+ }
181
+ declare const CarouselControls: {
182
+ ({ children, className, ...props }: ControlsProps): react_jsx_runtime.JSX.Element;
183
+ displayName: string;
184
+ };
185
+
186
+ declare const CarouselNextButton: {
187
+ ({ "aria-label": ariaLabel, ...buttonProps }: IconButtonProps): react_jsx_runtime.JSX.Element;
188
+ displayName: string;
189
+ };
190
+
191
+ interface Props$3 {
192
+ children?: ReactNode;
193
+ 'aria-label': string;
194
+ index: number;
195
+ className?: string;
196
+ unstyled?: boolean;
197
+ intent?: 'basic' | 'surface';
198
+ }
199
+ declare const CarouselPageIndicator: {
200
+ ({ children, unstyled, index, "aria-label": ariaLabel, className, intent, }: Props$3): react_jsx_runtime.JSX.Element;
201
+ displayName: string;
202
+ };
203
+
204
+ interface RenderProps extends CarouselAPI {
205
+ pages: number[];
206
+ }
207
+ interface Props$2 {
208
+ children: (renderProps: RenderProps) => ReactNode;
209
+ className?: string;
210
+ }
211
+ declare const CarouselPagePicker: {
212
+ ({ children, className }: Props$2): react_jsx_runtime.JSX.Element;
213
+ displayName: string;
214
+ };
215
+
216
+ declare const CarouselPrevButton: {
217
+ ({ "aria-label": ariaLabel, ...buttonProps }: IconButtonProps): react_jsx_runtime.JSX.Element;
218
+ displayName: string;
219
+ };
220
+
221
+ interface CarouselSlideProps extends ComponentProps<'div'> {
222
+ isSnapPoint?: boolean;
223
+ children?: ReactNode;
224
+ index?: number;
225
+ totalSlides?: number;
226
+ className?: string;
227
+ }
228
+ declare const CarouselSlide: {
229
+ ({ children, index, totalSlides, className, ...props }: CarouselSlideProps): react_jsx_runtime.JSX.Element;
230
+ displayName: string;
231
+ };
232
+
233
+ interface Props$1 extends ComponentProps<'div'> {
234
+ children?: ReactNode;
235
+ className?: string;
236
+ }
237
+ declare const CarouselSlides: {
238
+ ({ children, className }: Props$1): react_jsx_runtime.JSX.Element;
239
+ displayName: string;
240
+ };
241
+
242
+ interface Props {
243
+ children: ReactNode;
244
+ }
245
+ declare const CarouselViewport: {
246
+ ({ children }: Props): react_jsx_runtime.JSX.Element;
247
+ displayName: string;
248
+ };
249
+
250
+ declare const Carousel: typeof Carousel$1 & {
251
+ Controls: typeof CarouselControls;
252
+ NextButton: typeof CarouselNextButton;
253
+ PrevButton: typeof CarouselPrevButton;
254
+ Slide: typeof CarouselSlide;
255
+ Slides: typeof CarouselSlides;
256
+ Viewport: typeof CarouselViewport;
257
+ PagePicker: typeof CarouselPagePicker;
258
+ PageIndicator: typeof CarouselPageIndicator;
259
+ };
260
+
261
+ export { Carousel };