@spark-ui/components 10.9.0 → 10.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/accordion/index.d.mts +13 -25
  3. package/dist/accordion/index.d.ts +13 -25
  4. package/dist/accordion/index.js +114 -250
  5. package/dist/accordion/index.js.map +1 -1
  6. package/dist/accordion/index.mjs +92 -134
  7. package/dist/accordion/index.mjs.map +1 -1
  8. package/dist/alert-dialog/index.js +65 -12
  9. package/dist/alert-dialog/index.js.map +1 -1
  10. package/dist/alert-dialog/index.mjs +3 -3
  11. package/dist/avatar/index.js +65 -12
  12. package/dist/avatar/index.js.map +1 -1
  13. package/dist/avatar/index.mjs +2 -2
  14. package/dist/button/index.d.mts +1 -1
  15. package/dist/button/index.d.ts +1 -1
  16. package/dist/button/index.js +65 -12
  17. package/dist/button/index.js.map +1 -1
  18. package/dist/button/index.mjs +1 -1
  19. package/dist/carousel/index.js +65 -12
  20. package/dist/carousel/index.js.map +1 -1
  21. package/dist/carousel/index.mjs +2 -2
  22. package/dist/{chunk-7A5MVJB3.mjs → chunk-3PTXYZYN.mjs} +66 -13
  23. package/dist/chunk-3PTXYZYN.mjs.map +1 -0
  24. package/dist/{chunk-I7UIKCZK.mjs → chunk-5VKP2RR6.mjs} +2 -2
  25. package/dist/{chunk-QNYSDG6F.mjs → chunk-MKN2Y3W6.mjs} +2 -2
  26. package/dist/{chunk-ESSJY557.mjs → chunk-Z45YCYPH.mjs} +2 -2
  27. package/dist/collapsible/index.d.mts +18 -35
  28. package/dist/collapsible/index.d.ts +18 -35
  29. package/dist/collapsible/index.js +47 -78
  30. package/dist/collapsible/index.js.map +1 -1
  31. package/dist/collapsible/index.mjs +73 -4
  32. package/dist/collapsible/index.mjs.map +1 -1
  33. package/dist/combobox/index.js +65 -12
  34. package/dist/combobox/index.js.map +1 -1
  35. package/dist/combobox/index.mjs +3 -3
  36. package/dist/dialog/index.js +65 -12
  37. package/dist/dialog/index.js.map +1 -1
  38. package/dist/dialog/index.mjs +3 -3
  39. package/dist/drawer/index.js +65 -12
  40. package/dist/drawer/index.js.map +1 -1
  41. package/dist/drawer/index.mjs +2 -2
  42. package/dist/dropdown/index.js +65 -12
  43. package/dist/dropdown/index.js.map +1 -1
  44. package/dist/dropdown/index.mjs +3 -3
  45. package/dist/icon-button/index.js +65 -12
  46. package/dist/icon-button/index.js.map +1 -1
  47. package/dist/icon-button/index.mjs +2 -2
  48. package/dist/pagination/index.js +65 -12
  49. package/dist/pagination/index.js.map +1 -1
  50. package/dist/pagination/index.mjs +2 -2
  51. package/dist/popover/index.js +65 -12
  52. package/dist/popover/index.js.map +1 -1
  53. package/dist/popover/index.mjs +3 -3
  54. package/dist/scrolling-list/index.js +65 -12
  55. package/dist/scrolling-list/index.js.map +1 -1
  56. package/dist/scrolling-list/index.mjs +2 -2
  57. package/dist/snackbar/index.js +65 -12
  58. package/dist/snackbar/index.js.map +1 -1
  59. package/dist/snackbar/index.mjs +2 -2
  60. package/dist/stepper/index.js +65 -12
  61. package/dist/stepper/index.js.map +1 -1
  62. package/dist/stepper/index.mjs +2 -2
  63. package/dist/tabs/index.js +65 -12
  64. package/dist/tabs/index.js.map +1 -1
  65. package/dist/tabs/index.mjs +1 -1
  66. package/package.json +6 -7
  67. package/dist/chunk-3LEFXZNI.mjs +0 -97
  68. package/dist/chunk-3LEFXZNI.mjs.map +0 -1
  69. package/dist/chunk-7A5MVJB3.mjs.map +0 -1
  70. /package/dist/{chunk-I7UIKCZK.mjs.map → chunk-5VKP2RR6.mjs.map} +0 -0
  71. /package/dist/{chunk-QNYSDG6F.mjs.map → chunk-MKN2Y3W6.mjs.map} +0 -0
  72. /package/dist/{chunk-ESSJY557.mjs.map → chunk-Z45YCYPH.mjs.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/collapsible/index.ts","../../src/collapsible/Collapsible.tsx","../../src/slot/Slot.tsx","../../src/collapsible/CollapsibleContent.tsx","../../src/collapsible/CollapsibleTrigger.tsx"],"sourcesContent":["import { Collapsible as Root } from './Collapsible'\nimport { Content } from './CollapsibleContent'\nimport { Trigger } from './CollapsibleTrigger'\n\nexport const Collapsible: typeof Root & {\n Trigger: typeof Trigger\n Content: typeof Content\n} = Object.assign(Root, {\n Trigger,\n Content,\n})\n\nCollapsible.displayName = 'Collapsible'\nTrigger.displayName = 'Collapsible.Trigger'\nContent.displayName = 'Collapsible.Content'\n\nexport { type CollapsibleProps } from './Collapsible'\nexport { type CollapsibleContentProps } from './CollapsibleContent'\nexport { type CollapsibleTriggerProps } from './CollapsibleTrigger'\n","import * as collapsible from '@zag-js/collapsible'\nimport { mergeProps, normalizeProps, type PropTypes, useMachine } from '@zag-js/react'\nimport { type ComponentProps, createContext, Ref, useContext, useId } from 'react'\n\nimport { Slot } from '../slot'\n\nexport interface CollapsibleProps extends ComponentProps<'div'> {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean\n /**\n * The open state of the collapsible when it is initially rendered. Use when you do not need to control its open state.\n */\n defaultOpen?: boolean\n /**\n * When `true`, prevents the user from interacting with the collapsible.\n */\n disabled?: boolean\n /**\n * Event handler called when the open state of the collapsible changes.\n */\n onOpenChange?: (open: boolean) => void\n /**\n * The controlled open state of the collapsible. Must be used in conjunction with `onOpenChange`.\n */\n open?: boolean\n /**\n * The ids of the elements in the collapsible. Useful for composition\n */\n ids?: collapsible.Props['ids']\n ref?: Ref<HTMLDivElement>\n}\n\nconst CollapsibleContext = createContext<collapsible.Api<PropTypes> | null>(null)\n\nexport const Collapsible = ({\n asChild = false,\n children,\n defaultOpen = false,\n disabled = false,\n onOpenChange,\n open,\n ids,\n ref,\n ...props\n}: CollapsibleProps) => {\n const service = useMachine(collapsible.machine, {\n open,\n defaultOpen,\n disabled,\n id: useId(),\n ids,\n onOpenChange(details) {\n onOpenChange?.(details.open)\n },\n })\n const api = collapsible.connect(service, normalizeProps)\n const Component = asChild ? Slot : 'div'\n\n const mergedProps = mergeProps(api.getRootProps(), props)\n\n return (\n <CollapsibleContext.Provider value={api}>\n <Component data-spark-component=\"collapsible\" ref={ref} {...mergedProps}>\n {children}\n </Component>\n </CollapsibleContext.Provider>\n )\n}\n\nCollapsible.displayName = 'Collapsible'\n\nexport const useCollapsibleContext = () => {\n const context = useContext(CollapsibleContext)\n\n if (!context) {\n throw Error('useCollapsibleContext must be used within a Collapsible provider')\n }\n\n return context\n}\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 { mergeProps } from '@zag-js/react'\nimport { cx } from 'class-variance-authority'\nimport { type ComponentPropsWithoutRef, Ref } from 'react'\n\nimport { Slot } from '../slot'\nimport { useCollapsibleContext } from './Collapsible'\n\nexport interface CollapsibleContentProps extends ComponentPropsWithoutRef<'div'> {\n asChild?: boolean\n ref?: Ref<HTMLDivElement>\n}\n\nexport const Content = ({\n asChild = false,\n className,\n children,\n ref,\n ...props\n}: CollapsibleContentProps) => {\n const { getContentProps } = useCollapsibleContext()\n\n const Component = asChild ? Slot : 'div'\n const contentProps = getContentProps()\n const mergedProps = mergeProps(contentProps, {\n className: cx(\n 'overflow-hidden',\n 'motion-reduce:animate-none!',\n '[&[hidden]]:hidden',\n 'data-[state=open]:animate-standalone-collapse-in data-[state=closed]:animate-standalone-collapse-out',\n className\n ),\n ...props,\n })\n\n return (\n <Component ref={ref} data-spark-component=\"collapsible-content\" {...mergedProps}>\n {children}\n </Component>\n )\n}\n\nContent.displayName = 'Collapsible.Content'\n","import { mergeProps } from '@zag-js/react'\nimport { type ComponentPropsWithoutRef, Ref } from 'react'\n\nimport { Slot } from '../slot'\nimport { useCollapsibleContext } from './Collapsible'\n\nexport interface CollapsibleTriggerProps extends ComponentPropsWithoutRef<'button'> {\n asChild?: boolean\n ref?: Ref<HTMLButtonElement>\n}\n\nexport const Trigger = ({ asChild = false, children, ref, ...props }: CollapsibleTriggerProps) => {\n const collapsibleContext = useCollapsibleContext()\n const Component = asChild ? Slot : 'button'\n const mergedProps = mergeProps(collapsibleContext.getTriggerProps(), props)\n\n return (\n <Component ref={ref} data-spark-component=\"collapsible-trigger\" {...mergedProps}>\n {children}\n </Component>\n )\n}\n\nTrigger.displayName = 'Collapsible.Trigger'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,qBAAAA;AAAA;AAAA;;;ACAA,kBAA6B;AAC7B,IAAAC,gBAAuE;AACvE,IAAAA,gBAA2E;;;ACF3E,sBAAkC;AAClC,mBAOO;AASE;AAPF,IAAM,YAAwC,gBAAAC,KAAU;AAMxD,IAAM,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,MAAiB;AACpD,SAAO,4CAAC,gBAAAA,KAAU,MAAV,EAAe,KAAW,GAAG,OAAO;AAC9C;;;AD8CM,IAAAC,sBAAA;AA9BN,IAAM,yBAAqB,6BAAiD,IAAI;AAEzE,IAAM,cAAc,CAAC;AAAA,EAC1B,UAAU;AAAA,EACV;AAAA,EACA,cAAc;AAAA,EACd,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAwB;AACtB,QAAM,cAAU,0BAAuB,qBAAS;AAAA,IAC9C;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAI,qBAAM;AAAA,IACV;AAAA,IACA,aAAa,SAAS;AACpB,qBAAe,QAAQ,IAAI;AAAA,IAC7B;AAAA,EACF,CAAC;AACD,QAAM,MAAkB,oBAAQ,SAAS,4BAAc;AACvD,QAAM,YAAY,UAAU,OAAO;AAEnC,QAAM,kBAAc,0BAAW,IAAI,aAAa,GAAG,KAAK;AAExD,SACE,6CAAC,mBAAmB,UAAnB,EAA4B,OAAO,KAClC,uDAAC,aAAU,wBAAqB,eAAc,KAAW,GAAG,aACzD,UACH,GACF;AAEJ;AAEA,YAAY,cAAc;AAEnB,IAAM,wBAAwB,MAAM;AACzC,QAAM,cAAU,0BAAW,kBAAkB;AAE7C,MAAI,CAAC,SAAS;AACZ,UAAM,MAAM,kEAAkE;AAAA,EAChF;AAEA,SAAO;AACT;;;AEjFA,IAAAC,gBAA2B;AAC3B,sCAAmB;AAkCf,IAAAC,sBAAA;AAvBG,IAAM,UAAU,CAAC;AAAA,EACtB,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAA+B;AAC7B,QAAM,EAAE,gBAAgB,IAAI,sBAAsB;AAElD,QAAM,YAAY,UAAU,OAAO;AACnC,QAAM,eAAe,gBAAgB;AACrC,QAAM,kBAAc,0BAAW,cAAc;AAAA,IAC3C,eAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,GAAG;AAAA,EACL,CAAC;AAED,SACE,6CAAC,aAAU,KAAU,wBAAqB,uBAAuB,GAAG,aACjE,UACH;AAEJ;AAEA,QAAQ,cAAc;;;ACzCtB,IAAAC,gBAA2B;AAiBvB,IAAAC,sBAAA;AANG,IAAM,UAAU,CAAC,EAAE,UAAU,OAAO,UAAU,KAAK,GAAG,MAAM,MAA+B;AAChG,QAAM,qBAAqB,sBAAsB;AACjD,QAAM,YAAY,UAAU,OAAO;AACnC,QAAM,kBAAc,0BAAW,mBAAmB,gBAAgB,GAAG,KAAK;AAE1E,SACE,6CAAC,aAAU,KAAU,wBAAqB,uBAAuB,GAAG,aACjE,UACH;AAEJ;AAEA,QAAQ,cAAc;;;AJnBf,IAAMC,eAGT,OAAO,OAAO,aAAM;AAAA,EACtB;AAAA,EACA;AACF,CAAC;AAEDA,aAAY,cAAc;AAC1B,QAAQ,cAAc;AACtB,QAAQ,cAAc;","names":["Collapsible","import_react","RadixSlot","import_jsx_runtime","import_react","import_jsx_runtime","import_react","import_jsx_runtime","Collapsible"]}
1
+ {"version":3,"sources":["../../src/collapsible/index.ts","../../src/collapsible/Content.tsx","../../src/slot/Slot.tsx","../../src/collapsible/useRenderSlot.tsx","../../src/collapsible/Root.tsx","../../src/collapsible/Trigger.tsx"],"sourcesContent":["import { Content } from './Content'\nimport { Root } from './Root'\nimport { Trigger } from './Trigger'\n\nexport const Collapsible: typeof Root & {\n Trigger: typeof Trigger\n Content: typeof Content\n} = Object.assign(Root, {\n Trigger,\n Content,\n})\n\nCollapsible.displayName = 'Collapsible'\nTrigger.displayName = 'Collapsible.Trigger'\nContent.displayName = 'Collapsible.Content'\n","import { Collapsible } from '@base-ui-components/react/collapsible'\nimport { cx } from 'class-variance-authority'\nimport { type ComponentProps } from 'react'\n\nimport { useRenderSlot } from './useRenderSlot'\n\nexport interface ContentProps extends ComponentProps<typeof Collapsible.Panel> {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean\n}\n\nexport const Content = ({\n asChild = false,\n className,\n children,\n hiddenUntilFound = true,\n ...props\n}: ContentProps) => {\n const renderSlot = useRenderSlot(asChild, 'div')\n\n return (\n <Collapsible.Panel\n data-spark-component=\"collapsible-content\"\n className={cx(\n 'overflow-hidden',\n 'h-[var(--collapsible-panel-height)]',\n 'transition-all duration-200',\n 'motion-reduce:transition-none',\n 'data-[starting-style]:h-0',\n 'data-[ending-style]:h-0',\n className\n )}\n render={renderSlot}\n hiddenUntilFound={hiddenUntilFound}\n {...props}\n >\n {children}\n </Collapsible.Panel>\n )\n}\n\nContent.displayName = 'Collapsible.Content'\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 { Slot } from '../slot'\n\nexport function useRenderSlot(asChild: boolean, defaultTag: string) {\n const Component = asChild ? Slot : defaultTag\n\n return asChild ? ({ ...props }) => <Component {...props} /> : undefined\n}\n","import { Collapsible } from '@base-ui-components/react/collapsible'\nimport { type ComponentProps } from 'react'\n\nimport { useRenderSlot } from './useRenderSlot'\n\nexport interface RootProps extends ComponentProps<typeof Collapsible.Root> {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean\n}\n\nexport const Root = ({ asChild = false, children, ...props }: RootProps) => {\n const renderSlot = useRenderSlot(asChild, 'div')\n\n return (\n <Collapsible.Root data-spark-component=\"collapsible\" render={renderSlot} {...props}>\n {children}\n </Collapsible.Root>\n )\n}\n\nRoot.displayName = 'Collapsible'\n","import { Collapsible } from '@base-ui-components/react/collapsible'\nimport { type ComponentProps } from 'react'\n\nimport { useRenderSlot } from './useRenderSlot'\n\nexport interface TriggerProps extends ComponentProps<'button'> {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean\n}\n\nexport const Trigger = ({ asChild = false, children, ...props }: TriggerProps) => {\n const renderSlot = useRenderSlot(asChild, 'button')\n\n return (\n <Collapsible.Trigger data-spark-component=\"collapsible-trigger\" render={renderSlot} {...props}>\n {children}\n </Collapsible.Trigger>\n )\n}\n\nTrigger.displayName = 'Collapsible.Trigger'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,qBAAAA;AAAA;AAAA;;;ACAA,yBAA4B;AAC5B,sCAAmB;;;ACDnB,sBAAkC;AAClC,mBAOO;AASE;AAPF,IAAM,YAAwC,gBAAAC,KAAU;AAMxD,IAAM,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,MAAiB;AACpD,SAAO,4CAAC,gBAAAA,KAAU,MAAV,EAAe,KAAW,GAAG,OAAO;AAC9C;;;ACbqC,IAAAC,sBAAA;AAH9B,SAAS,cAAc,SAAkB,YAAoB;AAClE,QAAM,YAAY,UAAU,OAAO;AAEnC,SAAO,UAAU,CAAC,EAAE,GAAG,MAAM,MAAM,6CAAC,aAAW,GAAG,OAAO,IAAK;AAChE;;;AFiBI,IAAAC,sBAAA;AAVG,IAAM,UAAU,CAAC;AAAA,EACtB,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,EACnB,GAAG;AACL,MAAoB;AAClB,QAAM,aAAa,cAAc,SAAS,KAAK;AAE/C,SACE;AAAA,IAAC,+BAAY;AAAA,IAAZ;AAAA,MACC,wBAAqB;AAAA,MACrB,eAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,QAAQ;AAAA,MACR;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,EACH;AAEJ;AAEA,QAAQ,cAAc;;;AG3CtB,IAAAC,sBAA4B;AAgBxB,IAAAC,sBAAA;AAJG,IAAM,OAAO,CAAC,EAAE,UAAU,OAAO,UAAU,GAAG,MAAM,MAAiB;AAC1E,QAAM,aAAa,cAAc,SAAS,KAAK;AAE/C,SACE,6CAAC,gCAAY,MAAZ,EAAiB,wBAAqB,eAAc,QAAQ,YAAa,GAAG,OAC1E,UACH;AAEJ;AAEA,KAAK,cAAc;;;ACtBnB,IAAAC,sBAA4B;AAgBxB,IAAAC,sBAAA;AAJG,IAAM,UAAU,CAAC,EAAE,UAAU,OAAO,UAAU,GAAG,MAAM,MAAoB;AAChF,QAAM,aAAa,cAAc,SAAS,QAAQ;AAElD,SACE,6CAAC,gCAAY,SAAZ,EAAoB,wBAAqB,uBAAsB,QAAQ,YAAa,GAAG,OACrF,UACH;AAEJ;AAEA,QAAQ,cAAc;;;ALlBf,IAAMC,eAGT,OAAO,OAAO,MAAM;AAAA,EACtB;AAAA,EACA;AACF,CAAC;AAEDA,aAAY,cAAc;AAC1B,QAAQ,cAAc;AACtB,QAAQ,cAAc;","names":["Collapsible","RadixSlot","import_jsx_runtime","import_jsx_runtime","import_collapsible","import_jsx_runtime","import_collapsible","import_jsx_runtime","Collapsible"]}
@@ -1,8 +1,77 @@
1
1
  import {
2
- Collapsible
3
- } from "../chunk-3LEFXZNI.mjs";
4
- import "../chunk-6QCEPQ3U.mjs";
2
+ Slot
3
+ } from "../chunk-6QCEPQ3U.mjs";
4
+
5
+ // src/collapsible/Content.tsx
6
+ import { Collapsible } from "@base-ui-components/react/collapsible";
7
+ import { cx } from "class-variance-authority";
8
+
9
+ // src/collapsible/useRenderSlot.tsx
10
+ import { jsx } from "react/jsx-runtime";
11
+ function useRenderSlot(asChild, defaultTag) {
12
+ const Component = asChild ? Slot : defaultTag;
13
+ return asChild ? ({ ...props }) => /* @__PURE__ */ jsx(Component, { ...props }) : void 0;
14
+ }
15
+
16
+ // src/collapsible/Content.tsx
17
+ import { jsx as jsx2 } from "react/jsx-runtime";
18
+ var Content = ({
19
+ asChild = false,
20
+ className,
21
+ children,
22
+ hiddenUntilFound = true,
23
+ ...props
24
+ }) => {
25
+ const renderSlot = useRenderSlot(asChild, "div");
26
+ return /* @__PURE__ */ jsx2(
27
+ Collapsible.Panel,
28
+ {
29
+ "data-spark-component": "collapsible-content",
30
+ className: cx(
31
+ "overflow-hidden",
32
+ "h-[var(--collapsible-panel-height)]",
33
+ "transition-all duration-200",
34
+ "motion-reduce:transition-none",
35
+ "data-[starting-style]:h-0",
36
+ "data-[ending-style]:h-0",
37
+ className
38
+ ),
39
+ render: renderSlot,
40
+ hiddenUntilFound,
41
+ ...props,
42
+ children
43
+ }
44
+ );
45
+ };
46
+ Content.displayName = "Collapsible.Content";
47
+
48
+ // src/collapsible/Root.tsx
49
+ import { Collapsible as Collapsible2 } from "@base-ui-components/react/collapsible";
50
+ import { jsx as jsx3 } from "react/jsx-runtime";
51
+ var Root = ({ asChild = false, children, ...props }) => {
52
+ const renderSlot = useRenderSlot(asChild, "div");
53
+ return /* @__PURE__ */ jsx3(Collapsible2.Root, { "data-spark-component": "collapsible", render: renderSlot, ...props, children });
54
+ };
55
+ Root.displayName = "Collapsible";
56
+
57
+ // src/collapsible/Trigger.tsx
58
+ import { Collapsible as Collapsible3 } from "@base-ui-components/react/collapsible";
59
+ import { jsx as jsx4 } from "react/jsx-runtime";
60
+ var Trigger = ({ asChild = false, children, ...props }) => {
61
+ const renderSlot = useRenderSlot(asChild, "button");
62
+ return /* @__PURE__ */ jsx4(Collapsible3.Trigger, { "data-spark-component": "collapsible-trigger", render: renderSlot, ...props, children });
63
+ };
64
+ Trigger.displayName = "Collapsible.Trigger";
65
+
66
+ // src/collapsible/index.ts
67
+ var Collapsible4 = Object.assign(Root, {
68
+ Trigger,
69
+ Content
70
+ });
71
+ Collapsible4.displayName = "Collapsible";
72
+ Trigger.displayName = "Collapsible.Trigger";
73
+ Content.displayName = "Collapsible.Content";
5
74
  export {
6
- Collapsible
75
+ Collapsible4 as Collapsible
7
76
  };
8
77
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":["../../src/collapsible/Content.tsx","../../src/collapsible/useRenderSlot.tsx","../../src/collapsible/Root.tsx","../../src/collapsible/Trigger.tsx","../../src/collapsible/index.ts"],"sourcesContent":["import { Collapsible } from '@base-ui-components/react/collapsible'\nimport { cx } from 'class-variance-authority'\nimport { type ComponentProps } from 'react'\n\nimport { useRenderSlot } from './useRenderSlot'\n\nexport interface ContentProps extends ComponentProps<typeof Collapsible.Panel> {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean\n}\n\nexport const Content = ({\n asChild = false,\n className,\n children,\n hiddenUntilFound = true,\n ...props\n}: ContentProps) => {\n const renderSlot = useRenderSlot(asChild, 'div')\n\n return (\n <Collapsible.Panel\n data-spark-component=\"collapsible-content\"\n className={cx(\n 'overflow-hidden',\n 'h-[var(--collapsible-panel-height)]',\n 'transition-all duration-200',\n 'motion-reduce:transition-none',\n 'data-[starting-style]:h-0',\n 'data-[ending-style]:h-0',\n className\n )}\n render={renderSlot}\n hiddenUntilFound={hiddenUntilFound}\n {...props}\n >\n {children}\n </Collapsible.Panel>\n )\n}\n\nContent.displayName = 'Collapsible.Content'\n","import { Slot } from '../slot'\n\nexport function useRenderSlot(asChild: boolean, defaultTag: string) {\n const Component = asChild ? Slot : defaultTag\n\n return asChild ? ({ ...props }) => <Component {...props} /> : undefined\n}\n","import { Collapsible } from '@base-ui-components/react/collapsible'\nimport { type ComponentProps } from 'react'\n\nimport { useRenderSlot } from './useRenderSlot'\n\nexport interface RootProps extends ComponentProps<typeof Collapsible.Root> {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean\n}\n\nexport const Root = ({ asChild = false, children, ...props }: RootProps) => {\n const renderSlot = useRenderSlot(asChild, 'div')\n\n return (\n <Collapsible.Root data-spark-component=\"collapsible\" render={renderSlot} {...props}>\n {children}\n </Collapsible.Root>\n )\n}\n\nRoot.displayName = 'Collapsible'\n","import { Collapsible } from '@base-ui-components/react/collapsible'\nimport { type ComponentProps } from 'react'\n\nimport { useRenderSlot } from './useRenderSlot'\n\nexport interface TriggerProps extends ComponentProps<'button'> {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean\n}\n\nexport const Trigger = ({ asChild = false, children, ...props }: TriggerProps) => {\n const renderSlot = useRenderSlot(asChild, 'button')\n\n return (\n <Collapsible.Trigger data-spark-component=\"collapsible-trigger\" render={renderSlot} {...props}>\n {children}\n </Collapsible.Trigger>\n )\n}\n\nTrigger.displayName = 'Collapsible.Trigger'\n","import { Content } from './Content'\nimport { Root } from './Root'\nimport { Trigger } from './Trigger'\n\nexport const Collapsible: typeof Root & {\n Trigger: typeof Trigger\n Content: typeof Content\n} = Object.assign(Root, {\n Trigger,\n Content,\n})\n\nCollapsible.displayName = 'Collapsible'\nTrigger.displayName = 'Collapsible.Trigger'\nContent.displayName = 'Collapsible.Content'\n"],"mappings":";;;;;AAAA,SAAS,mBAAmB;AAC5B,SAAS,UAAU;;;ACIkB;AAH9B,SAAS,cAAc,SAAkB,YAAoB;AAClE,QAAM,YAAY,UAAU,OAAO;AAEnC,SAAO,UAAU,CAAC,EAAE,GAAG,MAAM,MAAM,oBAAC,aAAW,GAAG,OAAO,IAAK;AAChE;;;ADiBI,gBAAAA,YAAA;AAVG,IAAM,UAAU,CAAC;AAAA,EACtB,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,EACnB,GAAG;AACL,MAAoB;AAClB,QAAM,aAAa,cAAc,SAAS,KAAK;AAE/C,SACE,gBAAAA;AAAA,IAAC,YAAY;AAAA,IAAZ;AAAA,MACC,wBAAqB;AAAA,MACrB,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,QAAQ;AAAA,MACR;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,EACH;AAEJ;AAEA,QAAQ,cAAc;;;AE3CtB,SAAS,eAAAC,oBAAmB;AAgBxB,gBAAAC,YAAA;AAJG,IAAM,OAAO,CAAC,EAAE,UAAU,OAAO,UAAU,GAAG,MAAM,MAAiB;AAC1E,QAAM,aAAa,cAAc,SAAS,KAAK;AAE/C,SACE,gBAAAA,KAACC,aAAY,MAAZ,EAAiB,wBAAqB,eAAc,QAAQ,YAAa,GAAG,OAC1E,UACH;AAEJ;AAEA,KAAK,cAAc;;;ACtBnB,SAAS,eAAAC,oBAAmB;AAgBxB,gBAAAC,YAAA;AAJG,IAAM,UAAU,CAAC,EAAE,UAAU,OAAO,UAAU,GAAG,MAAM,MAAoB;AAChF,QAAM,aAAa,cAAc,SAAS,QAAQ;AAElD,SACE,gBAAAA,KAACC,aAAY,SAAZ,EAAoB,wBAAqB,uBAAsB,QAAQ,YAAa,GAAG,OACrF,UACH;AAEJ;AAEA,QAAQ,cAAc;;;AClBf,IAAMC,eAGT,OAAO,OAAO,MAAM;AAAA,EACtB;AAAA,EACA;AACF,CAAC;AAEDA,aAAY,cAAc;AAC1B,QAAQ,cAAc;AACtB,QAAQ,cAAc;","names":["jsx","Collapsible","jsx","Collapsible","Collapsible","jsx","Collapsible","Collapsible"]}
@@ -433,6 +433,17 @@ var filledVariants = [
433
433
  "enabled:active:bg-surface-hovered",
434
434
  "focus-visible:bg-surface-hovered"
435
435
  ])
436
+ },
437
+ {
438
+ intent: "surfaceInverse",
439
+ design: "filled",
440
+ class: (0, import_internal_utils3.tw)([
441
+ "bg-surface-inverse",
442
+ "text-on-surface-inverse",
443
+ "hover:bg-surface-inverse-hovered",
444
+ "enabled:active:bg-surface-inverse-hovered",
445
+ "focus-visible:bg-surface-inverse-hovered"
446
+ ])
436
447
  }
437
448
  ];
438
449
 
@@ -538,6 +549,16 @@ var ghostVariants = [
538
549
  "enabled:active:bg-surface/dim-5",
539
550
  "focus-visible:bg-surface/dim-5"
540
551
  ])
552
+ },
553
+ {
554
+ intent: "surfaceInverse",
555
+ design: "ghost",
556
+ class: (0, import_internal_utils4.tw)([
557
+ "text-surface-inverse",
558
+ "hover:bg-surface-inverse/dim-5",
559
+ "enabled:active:bg-surface-inverse/dim-5",
560
+ "focus-visible:bg-surface-inverse/dim-5"
561
+ ])
541
562
  }
542
563
  ];
543
564
 
@@ -643,6 +664,16 @@ var outlinedVariants = [
643
664
  "focus-visible:bg-surface/dim-5",
644
665
  "text-surface"
645
666
  ])
667
+ },
668
+ {
669
+ intent: "surfaceInverse",
670
+ design: "outlined",
671
+ class: (0, import_internal_utils5.tw)([
672
+ "hover:bg-surface-inverse/dim-5",
673
+ "enabled:active:bg-surface-inverse/dim-5",
674
+ "focus-visible:bg-surface-inverse/dim-5",
675
+ "text-surface-inverse"
676
+ ])
646
677
  }
647
678
  ];
648
679
 
@@ -758,6 +789,17 @@ var tintedVariants = [
758
789
  "enabled:active:bg-surface-hovered",
759
790
  "focus-visible:bg-surface-hovered"
760
791
  ])
792
+ },
793
+ {
794
+ intent: "surfaceInverse",
795
+ design: "tinted",
796
+ class: (0, import_internal_utils6.tw)([
797
+ "bg-surface-inverse",
798
+ "text-on-surface-inverse",
799
+ "hover:bg-surface-inverse-hovered",
800
+ "enabled:active:bg-surface-inverse-hovered",
801
+ "focus-visible:bg-surface-inverse-hovered"
802
+ ])
761
803
  }
762
804
  ];
763
805
 
@@ -768,7 +810,7 @@ var contrastVariants = [
768
810
  intent: "main",
769
811
  design: "contrast",
770
812
  class: (0, import_internal_utils7.tw)([
771
- "text-main",
813
+ "text-main bg-surface",
772
814
  "hover:bg-main-container-hovered",
773
815
  "enabled:active:bg-main-container-hovered",
774
816
  "focus-visible:bg-main-container-hovered"
@@ -778,7 +820,7 @@ var contrastVariants = [
778
820
  intent: "support",
779
821
  design: "contrast",
780
822
  class: (0, import_internal_utils7.tw)([
781
- "text-support",
823
+ "text-support bg-surface",
782
824
  "hover:bg-support-container-hovered",
783
825
  "enabled:active:bg-support-container-hovered",
784
826
  "focus-visible:bg-support-container-hovered"
@@ -788,7 +830,7 @@ var contrastVariants = [
788
830
  intent: "accent",
789
831
  design: "contrast",
790
832
  class: (0, import_internal_utils7.tw)([
791
- "text-accent",
833
+ "text-accent bg-surface",
792
834
  "hover:bg-accent-container-hovered",
793
835
  "enabled:active:bg-accent-container-hovered",
794
836
  "focus-visible:bg-accent-container-hovered"
@@ -798,7 +840,7 @@ var contrastVariants = [
798
840
  intent: "basic",
799
841
  design: "contrast",
800
842
  class: (0, import_internal_utils7.tw)([
801
- "text-basic",
843
+ "text-basic bg-surface",
802
844
  "hover:bg-basic-container-hovered",
803
845
  "enabled:active:bg-basic-container-hovered",
804
846
  "focus-visible:bg-basic-container-hovered"
@@ -808,7 +850,7 @@ var contrastVariants = [
808
850
  intent: "success",
809
851
  design: "contrast",
810
852
  class: (0, import_internal_utils7.tw)([
811
- "text-success",
853
+ "text-success bg-surface",
812
854
  "hover:bg-success-container-hovered",
813
855
  "enabled:active:bg-success-container-hovered",
814
856
  "focus-visible:bg-success-container-hovered"
@@ -818,7 +860,7 @@ var contrastVariants = [
818
860
  intent: "alert",
819
861
  design: "contrast",
820
862
  class: (0, import_internal_utils7.tw)([
821
- "text-alert",
863
+ "text-alert bg-surface",
822
864
  "hover:bg-alert-container-hovered",
823
865
  "enabled:active:bg-alert-container-hovered",
824
866
  "focus-visible:bg-alert-container-hovered"
@@ -828,7 +870,7 @@ var contrastVariants = [
828
870
  intent: "danger",
829
871
  design: "contrast",
830
872
  class: (0, import_internal_utils7.tw)([
831
- "text-error",
873
+ "text-error bg-surface",
832
874
  "hover:bg-error-container-hovered",
833
875
  "enabled:active:bg-error-container-hovered",
834
876
  "focus-visible:bg-error-container-hovered"
@@ -838,7 +880,7 @@ var contrastVariants = [
838
880
  intent: "info",
839
881
  design: "contrast",
840
882
  class: (0, import_internal_utils7.tw)([
841
- "text-info",
883
+ "text-info bg-surface",
842
884
  "hover:bg-info-container-hovered",
843
885
  "enabled:active:bg-info-container-hovered",
844
886
  "focus-visible:bg-info-container-hovered"
@@ -848,7 +890,7 @@ var contrastVariants = [
848
890
  intent: "neutral",
849
891
  design: "contrast",
850
892
  class: (0, import_internal_utils7.tw)([
851
- "text-neutral",
893
+ "text-neutral bg-surface",
852
894
  "hover:bg-neutral-container-hovered",
853
895
  "enabled:active:bg-neutral-container-hovered",
854
896
  "focus-visible:bg-neutral-container-hovered"
@@ -858,11 +900,21 @@ var contrastVariants = [
858
900
  intent: "surface",
859
901
  design: "contrast",
860
902
  class: (0, import_internal_utils7.tw)([
861
- "text-on-surface",
903
+ "text-on-surface bg-surface",
862
904
  "hover:bg-surface-hovered",
863
905
  "enabled:active:bg-surface-hovered",
864
906
  "focus-visible:bg-surface-hovered"
865
907
  ])
908
+ },
909
+ {
910
+ intent: "surfaceInverse",
911
+ design: "contrast",
912
+ class: (0, import_internal_utils7.tw)([
913
+ "text-on-surface-inverse bg-surface-inverse",
914
+ "hover:bg-surface-inverse-hovered",
915
+ "enabled:active:bg-surface-inverse-hovered",
916
+ "focus-visible:bg-surface-inverse-hovered"
917
+ ])
866
918
  }
867
919
  ];
868
920
 
@@ -896,7 +948,7 @@ var buttonStyles = (0, import_class_variance_authority4.cva)(
896
948
  outlined: ["bg-transparent", "border-sm", "border-current"],
897
949
  tinted: [],
898
950
  ghost: ["default:-mx-md px-md hover:bg-main/dim-5"],
899
- contrast: ["bg-surface"]
951
+ contrast: []
900
952
  }),
901
953
  underline: {
902
954
  true: ["underline"]
@@ -914,7 +966,8 @@ var buttonStyles = (0, import_class_variance_authority4.cva)(
914
966
  danger: [],
915
967
  info: [],
916
968
  neutral: [],
917
- surface: []
969
+ surface: [],
970
+ surfaceInverse: []
918
971
  }),
919
972
  /**
920
973
  * Size of the button.