@spark-ui/components 16.0.3 → 16.1.1-beta.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 (106) hide show
  1. package/dist/{Button-B6rA3-e5.js → Button-BIAkZTRR.js} +2 -2
  2. package/dist/{Button-B6rA3-e5.js.map → Button-BIAkZTRR.js.map} +1 -1
  3. package/dist/{Button-C3C0aixy.mjs → Button-DggC4GFM.mjs} +4 -4
  4. package/dist/{Button-C3C0aixy.mjs.map → Button-DggC4GFM.mjs.map} +1 -1
  5. package/dist/{Icon-Ck-dhfLd.mjs → Icon-C23-htlD.mjs} +2 -2
  6. package/dist/{Icon-Ck-dhfLd.mjs.map → Icon-C23-htlD.mjs.map} +1 -1
  7. package/dist/IconButton-D5fk89W-.js +2 -0
  8. package/dist/IconButton-D5fk89W-.js.map +1 -0
  9. package/dist/{IconButton-C62-axzv.mjs → IconButton-Mv9tO1ZH.mjs} +14 -14
  10. package/dist/IconButton-Mv9tO1ZH.mjs.map +1 -0
  11. package/dist/{Slot-D2Bbf8Gw.mjs → Slot-DLY1rJrG.mjs} +5 -5
  12. package/dist/{Slot-D2Bbf8Gw.mjs.map → Slot-DLY1rJrG.mjs.map} +1 -1
  13. package/dist/{Spinner-jF3-zoh_.mjs → Spinner-aLrtE2JN.mjs} +2 -2
  14. package/dist/{Spinner-jF3-zoh_.mjs.map → Spinner-aLrtE2JN.mjs.map} +1 -1
  15. package/dist/{TextLink-BuzFRWO6.mjs → TextLink-D7mOCjY_.mjs} +2 -2
  16. package/dist/{TextLink-BuzFRWO6.mjs.map → TextLink-D7mOCjY_.mjs.map} +1 -1
  17. package/dist/{VisuallyHidden-KH1biLx-.mjs → VisuallyHidden-DjlV0-CW.mjs} +7 -7
  18. package/dist/{VisuallyHidden-KH1biLx-.mjs.map → VisuallyHidden-DjlV0-CW.mjs.map} +1 -1
  19. package/dist/accordion/index.mjs +5 -5
  20. package/dist/alert-dialog/index.mjs +6 -6
  21. package/dist/avatar/index.js +1 -1
  22. package/dist/avatar/index.mjs +4 -4
  23. package/dist/breadcrumb/index.mjs +3 -3
  24. package/dist/button/index.js +1 -1
  25. package/dist/button/index.mjs +1 -1
  26. package/dist/card/index.mjs +1 -1
  27. package/dist/carousel/index.js +1 -1
  28. package/dist/carousel/index.mjs +4 -4
  29. package/dist/checkbox/index.mjs +1 -1
  30. package/dist/chip/index.js +1 -1
  31. package/dist/chip/index.js.map +1 -1
  32. package/dist/chip/index.mjs +3 -3
  33. package/dist/chip/index.mjs.map +1 -1
  34. package/dist/collapsible/index.mjs +1 -1
  35. package/dist/combobox/index.js +1 -1
  36. package/dist/combobox/index.js.map +1 -1
  37. package/dist/combobox/index.mjs +42 -42
  38. package/dist/combobox/index.mjs.map +1 -1
  39. package/dist/dialog/index.js +1 -1
  40. package/dist/dialog/index.mjs +3 -3
  41. package/dist/drawer/index.js +1 -1
  42. package/dist/drawer/index.mjs +3 -3
  43. package/dist/dropdown/index.js +1 -1
  44. package/dist/dropdown/index.js.map +1 -1
  45. package/dist/dropdown/index.mjs +3 -3
  46. package/dist/dropdown/index.mjs.map +1 -1
  47. package/dist/file-upload/index.js +1 -1
  48. package/dist/file-upload/index.mjs +4 -4
  49. package/dist/form-field/index.mjs +2 -2
  50. package/dist/icon/index.mjs +1 -1
  51. package/dist/icon-button/index.js +1 -1
  52. package/dist/icon-button/index.mjs +1 -1
  53. package/dist/input/index.js +1 -1
  54. package/dist/input/index.js.map +1 -1
  55. package/dist/input/index.mjs +16 -16
  56. package/dist/input/index.mjs.map +1 -1
  57. package/dist/link-box/index.mjs +7 -7
  58. package/dist/pagination/PaginationFirstPageTrigger.d.ts +12 -6
  59. package/dist/pagination/PaginationItem.d.ts +25 -11
  60. package/dist/pagination/PaginationLastPageTrigger.d.ts +12 -6
  61. package/dist/pagination/PaginationNextTrigger.d.ts +12 -6
  62. package/dist/pagination/PaginationPrevTrigger.d.ts +12 -6
  63. package/dist/pagination/index.js +1 -1
  64. package/dist/pagination/index.js.map +1 -1
  65. package/dist/pagination/index.mjs +20 -20
  66. package/dist/pagination/index.mjs.map +1 -1
  67. package/dist/popover/index.js +1 -1
  68. package/dist/popover/index.mjs +2 -2
  69. package/dist/progress-tracker/index.mjs +1 -1
  70. package/dist/rating/index.mjs +1 -1
  71. package/dist/rating-display/index.mjs +2 -2
  72. package/dist/scrolling-list/index.js +1 -1
  73. package/dist/scrolling-list/index.mjs +6 -6
  74. package/dist/select/index.js +1 -1
  75. package/dist/select/index.js.map +1 -1
  76. package/dist/select/index.mjs +2 -2
  77. package/dist/select/index.mjs.map +1 -1
  78. package/dist/skeleton/index.mjs +1 -1
  79. package/dist/slider/index.mjs +9 -9
  80. package/dist/slot/index.mjs +1 -1
  81. package/dist/snackbar/index.js +1 -1
  82. package/dist/snackbar/index.mjs +3 -3
  83. package/dist/spinner/index.mjs +1 -1
  84. package/dist/stepper/index.js +1 -1
  85. package/dist/stepper/index.mjs +2 -2
  86. package/dist/switch/index.mjs +1 -1
  87. package/dist/tabs/index.js +1 -1
  88. package/dist/tabs/index.mjs +3 -3
  89. package/dist/tag/index.js +1 -1
  90. package/dist/tag/index.js.map +1 -1
  91. package/dist/tag/index.mjs +9 -9
  92. package/dist/tag/index.mjs.map +1 -1
  93. package/dist/text-link/index.mjs +1 -1
  94. package/dist/textarea/index.js +1 -1
  95. package/dist/textarea/index.js.map +1 -1
  96. package/dist/textarea/index.mjs +10 -14
  97. package/dist/textarea/index.mjs.map +1 -1
  98. package/dist/toast/index.js +1 -1
  99. package/dist/toast/index.mjs +10 -10
  100. package/dist/{useRenderSlot-LwWj8QbC.mjs → useRenderSlot-Bta2kdp4.mjs} +2 -2
  101. package/dist/{useRenderSlot-LwWj8QbC.mjs.map → useRenderSlot-Bta2kdp4.mjs.map} +1 -1
  102. package/dist/visually-hidden/index.mjs +1 -1
  103. package/package.json +5 -4
  104. package/dist/IconButton-C62-axzv.mjs.map +0 -1
  105. package/dist/IconButton-D3g86WpZ.js +0 -2
  106. package/dist/IconButton-D3g86WpZ.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/chip/variants/outlined.ts","../../src/chip/variants/tinted.ts","../../src/chip/variants/dashed.ts","../../src/chip/Chip.styles.tsx","../../src/chip/useChipContext.tsx","../../src/chip/useChipElement.tsx","../../src/chip/Chip.tsx","../../src/chip/ChipClearButton.styles.tsx","../../src/chip/ChipClearButton.tsx","../../src/chip/ChipContent.tsx","../../src/chip/ChipIcon.tsx","../../src/chip/ChipLeadingIcon.tsx","../../src/chip/ChipTrailingIcon.tsx","../../src/chip/index.ts"],"sourcesContent":["import { tw } from '@spark-ui/internal-utils'\n\nexport const outlinedVariants = [\n /** Intents **/\n {\n design: 'outlined',\n intent: 'main',\n class: tw([\n 'enabled:hover:bg-main/dim-5',\n 'enabled:active:bg-main/dim-5',\n 'focus-visible:bg-main/dim-5',\n 'aria-pressed:bg-main-container aria-pressed:text-on-main-container aria-pressed:enabled:hover:bg-main-container/dim-1',\n 'text-main',\n ]),\n },\n {\n design: 'outlined',\n intent: 'support',\n class: tw([\n 'enabled:hover:bg-support/dim-5',\n 'enabled:active:bg-support/dim-5',\n 'focus-visible:bg-support/dim-5',\n 'aria-pressed:bg-support-container aria-pressed:text-on-support-container aria-pressed:enabled:hover:bg-support-container/dim-1',\n 'text-support',\n ]),\n },\n {\n design: 'outlined',\n intent: 'basic',\n class: tw([\n 'enabled:hover:bg-basic/dim-5',\n 'enabled:active:bg-basic/dim-5',\n 'focus-visible:bg-basic/dim-5',\n 'aria-pressed:bg-basic-container aria-pressed:text-on-basic-container aria-pressed:enabled:hover:bg-basic-container/dim-1',\n 'text-basic',\n ]),\n },\n {\n intent: 'accent',\n design: 'outlined',\n class: tw([\n 'enabled:hover:bg-accent/dim-5',\n 'enabled:active:bg-accent/dim-5',\n 'focus-visible:bg-accent/dim-5',\n 'aria-pressed:bg-accent-container',\n 'aria-pressed:bg-accent-container aria-pressed:text-on-accent-container aria-pressed:enabled:hover:bg-accent-container/dim-1',\n 'text-accent',\n ]),\n },\n {\n design: 'outlined',\n intent: 'success',\n class: tw([\n 'enabled:hover:bg-success/dim-5',\n 'enabled:active:bg-success/dim-5',\n 'focus-visible:bg-success/dim-5',\n 'aria-pressed:bg-success-container aria-pressed:text-on-success-container aria-pressed:enabled:hover:bg-success-container/dim-1',\n 'text-success',\n ]),\n },\n {\n intent: 'alert',\n design: 'outlined',\n class: tw([\n 'enabled:hover:bg-alert/dim-5',\n 'enabled:active:bg-alert/dim-5',\n 'focus-visible:bg-alert/dim-5',\n 'aria-pressed:bg-alert-container aria-pressed:text-on-alert-container aria-pressed:enabled:hover:bg-alert-container/dim-1',\n 'text-alert',\n ]),\n },\n {\n design: 'outlined',\n intent: 'danger',\n class: tw([\n 'enabled:hover:bg-error/dim-5',\n 'enabled:active:bg-error/dim-5',\n 'focus-visible:bg-error/dim-5',\n 'aria-pressed:bg-error-container aria-pressed:text-on-error-container aria-pressed:enabled:hover:bg-error-container/dim-1',\n 'text-error',\n ]),\n },\n {\n design: 'outlined',\n intent: 'info',\n class: tw([\n 'enabled:hover:bg-info/dim-5',\n 'enabled:active:bg-info/dim-5',\n 'focus-visible:bg-info/dim-5',\n 'aria-pressed:bg-info-container aria-pressed:text-on-info-container aria-pressed:enabled:hover:bg-info-container/dim-1',\n 'text-info',\n ]),\n },\n {\n design: 'outlined',\n intent: 'neutral',\n class: tw([\n 'enabled:hover:bg-neutral/dim-5',\n 'enabled:active:bg-neutral/dim-5',\n 'focus-visible:bg-neutral/dim-5',\n 'aria-pressed:bg-neutral-container aria-pressed:text-on-neutral-container aria-pressed:enabled:hover:bg-neutral-container/dim-1',\n 'text-neutral',\n ]),\n },\n {\n design: 'outlined',\n intent: 'surface',\n class: tw([\n 'enabled:hover:bg-surface/dim-5',\n 'enabled:active:bg-surface/dim-5',\n 'focus-visible:bg-surface/dim-5',\n 'aria-pressed:bg-surface aria-pressed:text-on-surface aria-pressed:enabled:hover:bg-surface-hovered',\n 'text-surface',\n ]),\n },\n /** Spacings **/\n {\n design: 'outlined',\n hasClearButton: false,\n class: tw(['px-[calc(var(--spacing-md)-var(--border-width-sm))]']),\n },\n {\n design: 'outlined',\n hasClearButton: true,\n class: tw(['pl-[calc(var(--spacing-md)-var(--border-width-sm))]']),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const tintedVariants = [\n /** Intents **/\n {\n intent: 'main',\n design: 'tinted',\n class: tw([\n 'bg-main-container',\n 'enabled:hover:bg-main-container-hovered',\n 'enabled:active:bg-main-container-hovered',\n 'focus-visible:bg-main-container-hovered',\n 'aria-pressed:bg-main aria-pressed:text-on-main aria-pressed:enabled:hover:bg-main/dim-1',\n 'text-on-main-container',\n ]),\n },\n {\n intent: 'support',\n design: 'tinted',\n class: tw([\n 'bg-support-container',\n 'enabled:hover:bg-support-container-hovered',\n 'enabled:active:bg-support-container-hovered',\n 'focus-visible:bg-support-container-hovered',\n 'aria-pressed:bg-support aria-pressed:text-on-support aria-pressed:enabled:hover:bg-support/dim-1',\n 'text-on-support-container',\n ]),\n },\n {\n intent: 'basic',\n design: 'tinted',\n class: tw([\n 'bg-basic-container',\n 'enabled:hover:bg-basic-container-hovered',\n 'enabled:active:bg-basic-container-hovered',\n 'focus-visible:bg-basic-container-hovered',\n 'aria-pressed:bg-basic aria-pressed:text-on-basic aria-pressed:enabled:hover:bg-basic/dim-1',\n 'text-on-basic-container',\n ]),\n },\n {\n intent: 'accent',\n design: 'tinted',\n class: tw([\n 'bg-accent-container',\n 'enabled:hover:bg-accent-container-hovered',\n 'enabled:active:bg-accent-container-hovered',\n 'focus-visible:bg-accent-container-hovered',\n 'aria-pressed:bg-accent aria-pressed:text-on-accent aria-pressed:enabled:hover:bg-accent/dim-1',\n 'text-on-accent-container',\n ]),\n },\n {\n intent: 'success',\n design: 'tinted',\n class: tw([\n 'bg-success-container',\n 'enabled:hover:bg-success-container-hovered',\n 'enabled:active:bg-success-container-hovered',\n 'focus-visible:bg-success-container-hovered',\n 'aria-pressed:bg-success aria-pressed:text-on-success aria-pressed:enabled:hover:bg-success/dim-1',\n 'text-on-success-container',\n ]),\n },\n {\n intent: 'alert',\n design: 'tinted',\n class: tw([\n 'bg-alert-container',\n 'enabled:hover:bg-alert-container-hovered',\n 'enabled:active:bg-alert-container-hovered',\n 'focus-visible:bg-alert-container-hovered',\n 'aria-pressed:bg-alert aria-pressed:text-on-alert aria-pressed:enabled:hover:bg-alert/dim-1',\n 'text-on-alert-container',\n ]),\n },\n {\n intent: 'danger',\n design: 'tinted',\n class: tw([\n 'bg-error-container',\n 'enabled:hover:bg-error-container-hovered',\n 'enabled:active:bg-error-container-hovered',\n 'focus-visible:bg-error-container-hovered',\n 'aria-pressed:bg-error aria-pressed:text-on-error aria-pressed:enabled:hover:bg-error/dim-1',\n 'text-on-error-container',\n ]),\n },\n {\n intent: 'info',\n design: 'tinted',\n class: tw([\n 'bg-info-container',\n 'enabled:hover:bg-info-container-hovered',\n 'enabled:active:bg-info-container-hovered',\n 'focus-visible:bg-info-container-hovered',\n 'aria-pressed:bg-info aria-pressed:text-on-info aria-pressed:enabled:hover:bg-info/dim-1',\n 'text-on-info-container',\n ]),\n },\n {\n intent: 'neutral',\n design: 'tinted',\n class: tw([\n 'bg-neutral-container',\n 'enabled:hover:bg-neutral-container-hovered',\n 'enabled:active:bg-neutral-container-hovered',\n 'focus-visible:bg-neutral-container-hovered',\n 'aria-pressed:bg-neutral aria-pressed:text-on-neutral aria-pressed:enabled:hover:bg-neutral/dim-1',\n 'text-on-neutral-container',\n ]),\n },\n {\n intent: 'surface',\n design: 'tinted',\n class: tw([\n 'bg-surface/dim-1',\n 'enabled:hover:bg-surface-hovered/dim-1',\n 'enabled:active:bg-surface-hovered/dim-1',\n 'focus-visible:bg-surface-hovered/dim-1',\n 'aria-pressed:bg-surface aria-pressed:text-on-surface aria-pressed:enabled:hover:bg-surface-hovered',\n 'text-on-surface/dim-1',\n ]),\n },\n /** Spacings **/\n {\n design: 'tinted',\n hasClearButton: false,\n class: tw(['px-md']),\n },\n {\n design: 'tinted',\n hasClearButton: true,\n class: tw(['pl-md']),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const dashedVariants = [\n /** Intents **/\n {\n intent: 'main',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-main/dim-5',\n 'enabled:active:bg-main/dim-5',\n 'focus-visible:bg-main/dim-5',\n 'aria-pressed:bg-main-container aria-pressed:text-on-main-container aria-pressed:enabled:hover:bg-main-container/dim-1',\n 'text-main',\n ]),\n },\n {\n intent: 'support',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-support/dim-5',\n 'enabled:active:bg-support/dim-5',\n 'focus-visible:bg-support/dim-5',\n 'aria-pressed:bg-support-container aria-pressed:text-on-support-container aria-pressed:enabled:hover:bg-support-container/dim-1',\n 'text-support',\n ]),\n },\n {\n intent: 'basic',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-basic/dim-5',\n 'enabled:active:bg-basic/dim-5',\n 'focus-visible:bg-basic/dim-5',\n 'aria-pressed:bg-basic-container aria-pressed:text-on-basic-container aria-pressed:enabled:hover:bg-basic-container/dim-1',\n 'text-basic',\n ]),\n },\n {\n intent: 'accent',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-accent/dim-5',\n 'enabled:active:bg-accent/dim-5',\n 'focus-visible:bg-accent/dim-5',\n 'aria-pressed:bg-accent-container aria-pressed:text-on-accent-container aria-pressed:enabled:hover:bg-accent-container/dim-1',\n 'text-accent',\n ]),\n },\n {\n intent: 'success',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-success/dim-5',\n 'enabled:active:bg-success/dim-5',\n 'focus-visible:bg-success/dim-5',\n 'aria-pressed:bg-success-container aria-pressed:text-on-success-container aria-pressed:enabled:hover:bg-success-container/dim-1',\n 'text-success',\n ]),\n },\n {\n intent: 'alert',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-alert/dim-5',\n 'enabled:active:bg-alert/dim-5',\n 'focus-visible:bg-alert/dim-5',\n 'aria-pressed:bg-alert-container aria-pressed:text-on-alert-container aria-pressed:enabled:hover:bg-alert-container/dim-1',\n 'text-alert',\n ]),\n },\n {\n intent: 'danger',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-error/dim-5',\n 'enabled:active:bg-error/dim-5',\n 'focus-visible:bg-error/dim-5',\n 'aria-pressed:bg-error-container aria-pressed:text-on-error-container aria-pressed:enabled:hover:bg-error-container/dim-1',\n 'text-error',\n ]),\n },\n {\n intent: 'info',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-info/dim-5',\n 'enabled:active:bg-info/dim-5',\n 'focus-visible:bg-info/dim-5',\n 'aria-pressed:bg-info-container aria-pressed:text-on-info-container aria-pressed:enabled:hover:bg-info-container/dim-1',\n 'text-info',\n ]),\n },\n {\n intent: 'neutral',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-neutral/dim-5',\n 'enabled:active:bg-neutral/dim-5',\n 'focus-visible:bg-neutral/dim-5',\n 'aria-pressed:bg-neutral-container aria-pressed:text-on-neutral-container aria-pressed:enabled:hover:bg-neutral-container/dim-1',\n 'text-neutral',\n ]),\n },\n {\n intent: 'surface',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-surface/dim-5',\n 'enabled:active:bg-surface/dim-5',\n 'focus-visible:bg-surface/dim-5',\n 'aria-pressed:bg-surface aria-pressed:text-on-surface aria-pressed:enabled:hover:bg-surface-hovered',\n 'text-surface',\n ]),\n },\n /** Spacings **/\n {\n design: 'dashed',\n hasClearButton: false,\n class: tw(['px-[calc(var(--spacing-md)-var(--border-width-sm))]']),\n },\n {\n design: 'dashed',\n hasClearButton: true,\n class: tw(['pl-[calc(var(--spacing-md)-var(--border-width-sm))]']),\n },\n] as const\n","import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nimport { dashedVariants, outlinedVariants, tintedVariants } from './variants'\n\nexport const chipStyles = cva(\n [\n 'box-border inline-flex h-sz-32 flex-nowrap items-center justify-center rounded-md text-body-1 font-regular',\n 'focus-visible:u-outline',\n 'ease-out duration-150',\n ],\n {\n variants: {\n /**\n * Main style of the chip.\n *\n * - `filled`: Chip will be plain.\n *\n * - `outlined`: Chip will be transparent with an outline.\n *\n * - `tinted`: Chip will be filled but using a lighter color scheme.\n *\n * - `dashed`: Chip will be transparent with an outline dashed.\n */\n design: makeVariants<'design', ['outlined', 'tinted', 'dashed']>({\n outlined: ['bg-transparent border-sm border-solid border-current'],\n tinted: [''],\n dashed: [\n 'bg-transparent border-sm border-dashed shadow-none focus-visible:border-outline-high',\n ],\n }),\n /**\n * Color scheme of the chip.\n */\n intent: makeVariants<\n 'intent',\n [\n 'main',\n 'support',\n 'basic',\n 'accent',\n 'success',\n 'alert',\n 'danger',\n 'info',\n 'neutral',\n 'surface',\n ]\n >({\n main: [],\n support: [],\n basic: [],\n accent: [],\n success: [],\n alert: [],\n danger: [],\n info: [],\n neutral: [],\n surface: [],\n }),\n /**\n * Disable the chip, preventing user interaction and adding opacity.\n */\n disabled: {\n true: ['cursor-not-allowed', 'opacity-dim-3'],\n },\n hasClearButton: {\n true: [],\n false: [],\n },\n // 'pl-[calc(var(--spacing-md)-(var(--border-width-sm)))]'\n },\n compoundVariants: [...outlinedVariants, ...tintedVariants, ...dashedVariants],\n defaultVariants: {\n design: 'outlined',\n intent: 'basic',\n },\n }\n)\n\nexport type ChipStylesProps = VariantProps<typeof chipStyles>\n","import { createContext, useContext } from 'react'\n\nimport { type ChipProps } from './Chip'\n\nexport type ChipsContextType = Pick<ChipProps, 'disabled' | 'design' | 'intent' | 'onClear'>\n\nexport const ChipContext = createContext<ChipsContextType>({} as ChipsContextType)\nexport const useChipContext = () => useContext(ChipContext) || {}\n","import { useCombinedState } from '@spark-ui/hooks/use-combined-state'\nimport { emulateTab } from 'emulate-tab'\nimport {\n Children,\n ElementType,\n FC,\n ForwardRefExoticComponent,\n HTMLAttributes,\n isValidElement,\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n ReactNode,\n RefAttributes,\n} from 'react'\n\nimport { Slot } from '../slot'\n\ninterface ReturnedValue {\n Element:\n | ForwardRefExoticComponent<\n HTMLAttributes<HTMLElement> & {\n children?: ReactNode\n } & RefAttributes<HTMLElement>\n >\n | ElementType\n chipProps:\n | {\n type: 'button'\n 'aria-pressed'?: boolean\n 'data-state'?: 'on' | 'off'\n onClick: (event: MouseEvent<HTMLButtonElement>) => void\n onKeyDown?: (event: KeyboardEvent<HTMLButtonElement>) => void\n disabled?: boolean\n children: ReactNode\n }\n | {\n 'aria-disabled'?: boolean\n children: ReactNode\n onKeyDown?: (event: KeyboardEvent<HTMLButtonElement>) => void\n }\n compoundElements: {\n leadingIcon: ReactNode\n trailingIcon: ReactNode\n content: ReactNode\n clearButton: ReactNode\n }\n}\n\nconst getDisplayName = (element?: ReactElement) => {\n return element ? (element.type as FC).displayName : ''\n}\n\nconst findElement =\n (children: ReactNode) =>\n (...values: string[]) => {\n const validChildren = Children.toArray(children).filter(isValidElement)\n\n return validChildren.find(child => {\n const displayName = getDisplayName(child)\n\n return values.includes(displayName || '')\n })\n }\n\nexport const useChipElement = ({\n onClick,\n asChild,\n pressed,\n defaultPressed,\n disabled,\n value,\n defaultValue,\n children,\n onClear,\n}: {\n onClick?: (\n event: MouseEvent<HTMLButtonElement>,\n args: { pressed: boolean; value?: string | number | readonly string[] }\n ) => void\n onKeyDown?: (event: KeyboardEvent<HTMLButtonElement>) => void\n asChild?: boolean\n pressed?: boolean\n defaultPressed?: boolean\n value?: string | number | readonly string[]\n defaultValue?: string | number | readonly string[]\n disabled?: boolean\n children?: ReactNode\n onClear?: (event?: MouseEvent<HTMLButtonElement>) => void\n}): ReturnedValue => {\n const [isPressed, setIsPressed] = useCombinedState<boolean | undefined>(pressed, defaultPressed)\n const [innerValue] = useCombinedState<string | number | readonly string[] | undefined>(\n value,\n defaultValue\n )\n\n const findChipElement = findElement(children)\n\n const leadingIcon = findChipElement('Chip.LeadingIcon')\n const trailingIcon = findChipElement('Chip.TrailingIcon')\n const content = findChipElement('Chip.Content')\n const clearButton = findChipElement('Chip.ClearButton')\n\n const isButton = (onClick || isPressed) !== undefined\n\n const formattedChildren = [leadingIcon, content, clearButton].every(\n element => element === undefined\n ) ? (\n <span className=\"inline-block grow truncate\">{children}</span>\n ) : (\n <>\n {leadingIcon}\n {content}\n {leadingIcon === undefined ? trailingIcon : null}\n {clearButton}\n </>\n )\n\n const onKeyDown = (event: KeyboardEvent<HTMLButtonElement>): void => {\n if (!!clearButton && !disabled && ['Delete', 'Backspace'].includes(event.key)) {\n if (onClear) {\n onClear()\n event.key === 'Delete' && emulateTab()\n event.key === 'Backspace' && emulateTab.backwards()\n }\n }\n }\n\n if (isButton) {\n return {\n Element: asChild ? Slot : 'button',\n chipProps: {\n type: 'button',\n ...(isPressed !== undefined && {\n 'aria-pressed': isPressed,\n 'data-state': isPressed ? 'on' : 'off',\n }),\n onClick: (event: MouseEvent<HTMLButtonElement>): void => {\n isPressed !== undefined && setIsPressed(!isPressed)\n onClick && onClick(event, { pressed: isPressed as boolean, value: innerValue })\n },\n onKeyDown,\n disabled,\n children: formattedChildren,\n },\n compoundElements: {\n leadingIcon,\n trailingIcon,\n content,\n clearButton,\n },\n }\n }\n\n return {\n Element: asChild ? Slot : 'div',\n chipProps: {\n 'aria-disabled': disabled,\n children: formattedChildren,\n onKeyDown,\n },\n compoundElements: {\n leadingIcon,\n trailingIcon,\n content,\n clearButton,\n },\n }\n}\n","import { ComponentPropsWithoutRef, MouseEvent, Ref } from 'react'\n\nimport { chipStyles, type ChipStylesProps } from './Chip.styles'\nimport { ChipContext } from './useChipContext'\nimport { useChipElement } from './useChipElement'\n\ntype ChipPrimitiveProps = Omit<ComponentPropsWithoutRef<'button'>, 'onClick' | 'disabled' | 'type'>\n\nexport interface ChipProps extends ChipPrimitiveProps, Omit<ChipStylesProps, 'hasClearButton'> {\n /**\n * Configures a toggleButton aria-pressed initial value\n */\n defaultPressed?: boolean\n /**\n * Configures a toggleButton aria-pressed value\n */\n pressed?: boolean\n /**\n * Change the component to the HTML tag or custom component of the only child.\n */\n asChild?: boolean\n /**\n * Event handler fired each clicking event\n */\n onClick?: (\n event: MouseEvent<HTMLButtonElement>,\n args: { pressed: boolean; value?: number | string | readonly string[] }\n ) => void\n /**\n * Clear chip handler\n */\n onClear?: (event?: MouseEvent<HTMLButtonElement>) => void\n ref?: Ref<HTMLButtonElement | HTMLDivElement>\n}\n\nexport const Chip = ({\n design = 'outlined',\n disabled,\n children,\n intent = 'basic',\n defaultPressed,\n pressed,\n asChild,\n className,\n onClick,\n onClear,\n ref: forwardedRef,\n ...otherProps\n}: ChipProps) => {\n const {\n Element: ChipElement,\n chipProps: { children: formattedChildren, ...chipProps },\n compoundElements,\n } = useChipElement({\n asChild,\n pressed,\n defaultPressed,\n onClick,\n disabled: !!disabled,\n value: otherProps.value,\n defaultValue: otherProps.defaultValue,\n children,\n onClear,\n })\n\n const { clearButton } = compoundElements\n\n return (\n <ChipContext.Provider value={{ disabled, design, intent, onClear }}>\n <ChipElement\n ref={forwardedRef}\n className={chipStyles({\n className,\n design,\n disabled,\n intent,\n hasClearButton: !!clearButton,\n })}\n {...{\n ...chipProps,\n ...otherProps,\n }}\n data-spark-component=\"chip\"\n >\n {formattedChildren}\n </ChipElement>\n </ChipContext.Provider>\n )\n}\n\nChip.displayName = 'Chip'\n","import { tw } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nexport const chipClearButtonWrapperStyles = cva(\n ['ml-md flex h-full items-center justify-center focus-visible:outline-hidden'],\n {\n variants: {\n disabled: {\n false: ['cursor-pointer'],\n true: ['cursor-not-allowed'],\n },\n isBordered: {\n false: ['pr-md'],\n true: ['pr-[7px]'],\n },\n design: {\n outlined: [],\n tinted: [],\n dashed: [],\n },\n },\n compoundVariants: [\n {\n design: 'outlined',\n disabled: false,\n class: tw(['hover:opacity-dim-1']),\n },\n {\n design: 'outlined',\n disabled: true,\n class: tw(['opacity-dim-3']),\n },\n {\n design: 'tinted',\n disabled: false,\n class: tw(['hover:opacity-dim-1']),\n },\n {\n design: 'tinted',\n disabled: true,\n class: tw(['opacity-dim-3']),\n },\n {\n design: 'dashed',\n disabled: false,\n class: tw(['hover:opacity-dim-1']),\n },\n {\n design: 'dashed',\n disabled: true,\n class: tw(['opacity-dim-3']),\n },\n ],\n }\n)\n\nexport const chipClearButtonStyles = cva(\n ['rounded-full p-sz-2 [font-size:var(--spacing-sz-8)] border-sm', 'focus-visible:u-outline'],\n {\n variants: {\n disabled: {\n true: ['cursor-not-allowed'],\n false: ['cursor-pointer'],\n },\n },\n defaultVariants: {\n disabled: false,\n },\n }\n)\n\nexport type ChipClearButtonStylesProps = VariantProps<typeof chipClearButtonWrapperStyles>\n","import { Close } from '@spark-ui/icons/Close'\nimport {\n cloneElement,\n ComponentPropsWithoutRef,\n MouseEvent,\n ReactElement,\n Ref,\n useCallback,\n} from 'react'\n\nimport { Icon } from '../icon'\nimport {\n chipClearButtonStyles,\n type ChipClearButtonStylesProps,\n chipClearButtonWrapperStyles,\n} from './ChipClearButton.styles'\nimport { useChipContext } from './useChipContext'\n\nexport interface ChipClearButtonProps\n extends ComponentPropsWithoutRef<'span'>,\n ChipClearButtonStylesProps {\n label: string\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipClearButton = ({\n children = (\n <Icon>\n <Close />\n </Icon>\n ),\n tabIndex = 0,\n label,\n ref: forwardedRef,\n}: ChipClearButtonProps) => {\n const { design, disabled, onClear } = useChipContext()\n\n const onClearHandler = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation()\n !disabled && onClear && onClear(event)\n },\n [disabled, onClear]\n )\n\n return (\n <span\n className={chipClearButtonWrapperStyles({\n isBordered: ['outline', 'dashed'].includes(`${design}`),\n disabled: !!disabled,\n design,\n })}\n onClick={onClearHandler}\n ref={forwardedRef}\n >\n <button\n tabIndex={tabIndex}\n type=\"button\"\n disabled={!!disabled}\n className={chipClearButtonStyles({ disabled })}\n aria-label={label}\n >\n {children && cloneElement(children as ReactElement<HTMLElement>, { ariaLabel: label })}\n </button>\n </span>\n )\n}\n\nChipClearButton.displayName = 'Chip.ClearButton'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nexport type ChipContentProps = ComponentPropsWithoutRef<'span'> & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipContent = ({ children, className, ref: forwardedRef }: ChipContentProps) => {\n return (\n <span className={cx('inline-block grow truncate', className)} ref={forwardedRef}>\n {children}\n </span>\n )\n}\n\nChipContent.displayName = 'Chip.Content'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nexport type ChipIconProps = ComponentPropsWithoutRef<'span'> & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipIcon = ({ children, className, ref: forwardedRef }: ChipIconProps) => {\n return (\n <span className={cx('flex h-full items-center justify-center', className)} ref={forwardedRef}>\n {children}\n </span>\n )\n}\n\nChipIcon.displayName = 'Chip.Icon'\n","import { cx } from 'class-variance-authority'\nimport { Ref } from 'react'\n\nimport { ChipIcon, type ChipIconProps } from './ChipIcon'\n\nexport type ChipLeadingIconProps = ChipIconProps & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipLeadingIcon = ({\n className,\n ref: forwardedRef,\n ...props\n}: ChipLeadingIconProps) => (\n <ChipIcon className={cx('mr-sm', className)} ref={forwardedRef} {...props} />\n)\n\nChipLeadingIcon.displayName = 'Chip.LeadingIcon'\n","import { cx } from 'class-variance-authority'\nimport { Ref } from 'react'\n\nimport { ChipIcon, type ChipIconProps } from './ChipIcon'\n\nexport type ChipTrailingIconProps = ChipIconProps & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipTrailingIcon = ({\n className,\n ref: forwardedRef,\n ...props\n}: ChipTrailingIconProps) => (\n <ChipIcon className={cx('ml-md', className)} ref={forwardedRef} {...props} />\n)\n\nChipTrailingIcon.displayName = 'Chip.TrailingIcon'\n","import { Chip as Root } from './Chip'\nimport { ChipClearButton } from './ChipClearButton'\nimport { ChipContent } from './ChipContent'\nimport { ChipLeadingIcon } from './ChipLeadingIcon'\nimport { ChipTrailingIcon } from './ChipTrailingIcon'\n\nexport const Chip: typeof Root & {\n Content: typeof ChipContent\n LeadingIcon: typeof ChipLeadingIcon\n TrailingIcon: typeof ChipTrailingIcon\n ClearButton: typeof ChipClearButton\n} = Object.assign(Root, {\n Content: ChipContent,\n LeadingIcon: ChipLeadingIcon,\n TrailingIcon: ChipTrailingIcon,\n ClearButton: ChipClearButton,\n})\n\nChip.displayName = 'Chip'\nChip.ClearButton.displayName = 'Chip.ClearButton'\nChip.Content.displayName = 'Chip.Content'\nChip.LeadingIcon.displayName = 'Chip.LeadingIcon'\nChip.TrailingIcon.displayName = 'Chip.TrailingIcon'\n\nexport { type ChipClearButtonProps } from './ChipClearButton'\nexport { type ChipContentProps } from './ChipContent'\nexport { type ChipLeadingIconProps } from './ChipLeadingIcon'\nexport { type ChipTrailingIconProps } from './ChipTrailingIcon'\n"],"names":["outlinedVariants","tw","tintedVariants","dashedVariants","chipStyles","cva","makeVariants","ChipContext","createContext","useChipContext","useContext","getDisplayName","element","findElement","children","values","Children","isValidElement","child","displayName","useChipElement","onClick","asChild","pressed","defaultPressed","disabled","value","defaultValue","onClear","isPressed","setIsPressed","useCombinedState","innerValue","findChipElement","leadingIcon","trailingIcon","content","clearButton","isButton","formattedChildren","jsx","jsxs","Fragment","onKeyDown","event","emulateTab","Slot","Chip","design","intent","className","forwardedRef","otherProps","ChipElement","chipProps","compoundElements","chipClearButtonWrapperStyles","chipClearButtonStyles","ChipClearButton","Icon","Close","tabIndex","label","onClearHandler","useCallback","cloneElement","ChipContent","cx","ChipIcon","ChipLeadingIcon","props","ChipTrailingIcon","Root"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/chip/variants/outlined.ts","../../src/chip/variants/tinted.ts","../../src/chip/variants/dashed.ts","../../src/chip/Chip.styles.tsx","../../src/chip/useChipContext.tsx","../../src/chip/useChipElement.tsx","../../src/chip/Chip.tsx","../../src/chip/ChipClearButton.styles.tsx","../../src/chip/ChipClearButton.tsx","../../src/chip/ChipContent.tsx","../../src/chip/ChipIcon.tsx","../../src/chip/ChipLeadingIcon.tsx","../../src/chip/ChipTrailingIcon.tsx","../../src/chip/index.ts"],"sourcesContent":["import { tw } from '@spark-ui/internal-utils'\n\nexport const outlinedVariants = [\n /** Intents **/\n {\n design: 'outlined',\n intent: 'main',\n class: tw([\n 'enabled:hover:bg-main/dim-5',\n 'enabled:active:bg-main/dim-5',\n 'focus-visible:bg-main/dim-5',\n 'aria-pressed:bg-main-container aria-pressed:text-on-main-container aria-pressed:enabled:hover:bg-main-container/dim-1',\n 'text-main',\n ]),\n },\n {\n design: 'outlined',\n intent: 'support',\n class: tw([\n 'enabled:hover:bg-support/dim-5',\n 'enabled:active:bg-support/dim-5',\n 'focus-visible:bg-support/dim-5',\n 'aria-pressed:bg-support-container aria-pressed:text-on-support-container aria-pressed:enabled:hover:bg-support-container/dim-1',\n 'text-support',\n ]),\n },\n {\n design: 'outlined',\n intent: 'basic',\n class: tw([\n 'enabled:hover:bg-basic/dim-5',\n 'enabled:active:bg-basic/dim-5',\n 'focus-visible:bg-basic/dim-5',\n 'aria-pressed:bg-basic-container aria-pressed:text-on-basic-container aria-pressed:enabled:hover:bg-basic-container/dim-1',\n 'text-basic',\n ]),\n },\n {\n intent: 'accent',\n design: 'outlined',\n class: tw([\n 'enabled:hover:bg-accent/dim-5',\n 'enabled:active:bg-accent/dim-5',\n 'focus-visible:bg-accent/dim-5',\n 'aria-pressed:bg-accent-container',\n 'aria-pressed:bg-accent-container aria-pressed:text-on-accent-container aria-pressed:enabled:hover:bg-accent-container/dim-1',\n 'text-accent',\n ]),\n },\n {\n design: 'outlined',\n intent: 'success',\n class: tw([\n 'enabled:hover:bg-success/dim-5',\n 'enabled:active:bg-success/dim-5',\n 'focus-visible:bg-success/dim-5',\n 'aria-pressed:bg-success-container aria-pressed:text-on-success-container aria-pressed:enabled:hover:bg-success-container/dim-1',\n 'text-success',\n ]),\n },\n {\n intent: 'alert',\n design: 'outlined',\n class: tw([\n 'enabled:hover:bg-alert/dim-5',\n 'enabled:active:bg-alert/dim-5',\n 'focus-visible:bg-alert/dim-5',\n 'aria-pressed:bg-alert-container aria-pressed:text-on-alert-container aria-pressed:enabled:hover:bg-alert-container/dim-1',\n 'text-alert',\n ]),\n },\n {\n design: 'outlined',\n intent: 'danger',\n class: tw([\n 'enabled:hover:bg-error/dim-5',\n 'enabled:active:bg-error/dim-5',\n 'focus-visible:bg-error/dim-5',\n 'aria-pressed:bg-error-container aria-pressed:text-on-error-container aria-pressed:enabled:hover:bg-error-container/dim-1',\n 'text-error',\n ]),\n },\n {\n design: 'outlined',\n intent: 'info',\n class: tw([\n 'enabled:hover:bg-info/dim-5',\n 'enabled:active:bg-info/dim-5',\n 'focus-visible:bg-info/dim-5',\n 'aria-pressed:bg-info-container aria-pressed:text-on-info-container aria-pressed:enabled:hover:bg-info-container/dim-1',\n 'text-info',\n ]),\n },\n {\n design: 'outlined',\n intent: 'neutral',\n class: tw([\n 'enabled:hover:bg-neutral/dim-5',\n 'enabled:active:bg-neutral/dim-5',\n 'focus-visible:bg-neutral/dim-5',\n 'aria-pressed:bg-neutral-container aria-pressed:text-on-neutral-container aria-pressed:enabled:hover:bg-neutral-container/dim-1',\n 'text-neutral',\n ]),\n },\n {\n design: 'outlined',\n intent: 'surface',\n class: tw([\n 'enabled:hover:bg-surface/dim-5',\n 'enabled:active:bg-surface/dim-5',\n 'focus-visible:bg-surface/dim-5',\n 'aria-pressed:bg-surface aria-pressed:text-on-surface aria-pressed:enabled:hover:bg-surface-hovered',\n 'text-surface',\n ]),\n },\n /** Spacings **/\n {\n design: 'outlined',\n hasClearButton: false,\n class: tw(['px-[calc(var(--spacing-md)-var(--border-width-sm))]']),\n },\n {\n design: 'outlined',\n hasClearButton: true,\n class: tw(['pl-[calc(var(--spacing-md)-var(--border-width-sm))]']),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const tintedVariants = [\n /** Intents **/\n {\n intent: 'main',\n design: 'tinted',\n class: tw([\n 'bg-main-container',\n 'enabled:hover:bg-main-container-hovered',\n 'enabled:active:bg-main-container-hovered',\n 'focus-visible:bg-main-container-hovered',\n 'aria-pressed:bg-main aria-pressed:text-on-main aria-pressed:enabled:hover:bg-main/dim-1',\n 'text-on-main-container',\n ]),\n },\n {\n intent: 'support',\n design: 'tinted',\n class: tw([\n 'bg-support-container',\n 'enabled:hover:bg-support-container-hovered',\n 'enabled:active:bg-support-container-hovered',\n 'focus-visible:bg-support-container-hovered',\n 'aria-pressed:bg-support aria-pressed:text-on-support aria-pressed:enabled:hover:bg-support/dim-1',\n 'text-on-support-container',\n ]),\n },\n {\n intent: 'basic',\n design: 'tinted',\n class: tw([\n 'bg-basic-container',\n 'enabled:hover:bg-basic-container-hovered',\n 'enabled:active:bg-basic-container-hovered',\n 'focus-visible:bg-basic-container-hovered',\n 'aria-pressed:bg-basic aria-pressed:text-on-basic aria-pressed:enabled:hover:bg-basic/dim-1',\n 'text-on-basic-container',\n ]),\n },\n {\n intent: 'accent',\n design: 'tinted',\n class: tw([\n 'bg-accent-container',\n 'enabled:hover:bg-accent-container-hovered',\n 'enabled:active:bg-accent-container-hovered',\n 'focus-visible:bg-accent-container-hovered',\n 'aria-pressed:bg-accent aria-pressed:text-on-accent aria-pressed:enabled:hover:bg-accent/dim-1',\n 'text-on-accent-container',\n ]),\n },\n {\n intent: 'success',\n design: 'tinted',\n class: tw([\n 'bg-success-container',\n 'enabled:hover:bg-success-container-hovered',\n 'enabled:active:bg-success-container-hovered',\n 'focus-visible:bg-success-container-hovered',\n 'aria-pressed:bg-success aria-pressed:text-on-success aria-pressed:enabled:hover:bg-success/dim-1',\n 'text-on-success-container',\n ]),\n },\n {\n intent: 'alert',\n design: 'tinted',\n class: tw([\n 'bg-alert-container',\n 'enabled:hover:bg-alert-container-hovered',\n 'enabled:active:bg-alert-container-hovered',\n 'focus-visible:bg-alert-container-hovered',\n 'aria-pressed:bg-alert aria-pressed:text-on-alert aria-pressed:enabled:hover:bg-alert/dim-1',\n 'text-on-alert-container',\n ]),\n },\n {\n intent: 'danger',\n design: 'tinted',\n class: tw([\n 'bg-error-container',\n 'enabled:hover:bg-error-container-hovered',\n 'enabled:active:bg-error-container-hovered',\n 'focus-visible:bg-error-container-hovered',\n 'aria-pressed:bg-error aria-pressed:text-on-error aria-pressed:enabled:hover:bg-error/dim-1',\n 'text-on-error-container',\n ]),\n },\n {\n intent: 'info',\n design: 'tinted',\n class: tw([\n 'bg-info-container',\n 'enabled:hover:bg-info-container-hovered',\n 'enabled:active:bg-info-container-hovered',\n 'focus-visible:bg-info-container-hovered',\n 'aria-pressed:bg-info aria-pressed:text-on-info aria-pressed:enabled:hover:bg-info/dim-1',\n 'text-on-info-container',\n ]),\n },\n {\n intent: 'neutral',\n design: 'tinted',\n class: tw([\n 'bg-neutral-container',\n 'enabled:hover:bg-neutral-container-hovered',\n 'enabled:active:bg-neutral-container-hovered',\n 'focus-visible:bg-neutral-container-hovered',\n 'aria-pressed:bg-neutral aria-pressed:text-on-neutral aria-pressed:enabled:hover:bg-neutral/dim-1',\n 'text-on-neutral-container',\n ]),\n },\n {\n intent: 'surface',\n design: 'tinted',\n class: tw([\n 'bg-surface/dim-1',\n 'enabled:hover:bg-surface-hovered/dim-1',\n 'enabled:active:bg-surface-hovered/dim-1',\n 'focus-visible:bg-surface-hovered/dim-1',\n 'aria-pressed:bg-surface aria-pressed:text-on-surface aria-pressed:enabled:hover:bg-surface-hovered',\n 'text-on-surface/dim-1',\n ]),\n },\n /** Spacings **/\n {\n design: 'tinted',\n hasClearButton: false,\n class: tw(['px-md']),\n },\n {\n design: 'tinted',\n hasClearButton: true,\n class: tw(['pl-md']),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const dashedVariants = [\n /** Intents **/\n {\n intent: 'main',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-main/dim-5',\n 'enabled:active:bg-main/dim-5',\n 'focus-visible:bg-main/dim-5',\n 'aria-pressed:bg-main-container aria-pressed:text-on-main-container aria-pressed:enabled:hover:bg-main-container/dim-1',\n 'text-main',\n ]),\n },\n {\n intent: 'support',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-support/dim-5',\n 'enabled:active:bg-support/dim-5',\n 'focus-visible:bg-support/dim-5',\n 'aria-pressed:bg-support-container aria-pressed:text-on-support-container aria-pressed:enabled:hover:bg-support-container/dim-1',\n 'text-support',\n ]),\n },\n {\n intent: 'basic',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-basic/dim-5',\n 'enabled:active:bg-basic/dim-5',\n 'focus-visible:bg-basic/dim-5',\n 'aria-pressed:bg-basic-container aria-pressed:text-on-basic-container aria-pressed:enabled:hover:bg-basic-container/dim-1',\n 'text-basic',\n ]),\n },\n {\n intent: 'accent',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-accent/dim-5',\n 'enabled:active:bg-accent/dim-5',\n 'focus-visible:bg-accent/dim-5',\n 'aria-pressed:bg-accent-container aria-pressed:text-on-accent-container aria-pressed:enabled:hover:bg-accent-container/dim-1',\n 'text-accent',\n ]),\n },\n {\n intent: 'success',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-success/dim-5',\n 'enabled:active:bg-success/dim-5',\n 'focus-visible:bg-success/dim-5',\n 'aria-pressed:bg-success-container aria-pressed:text-on-success-container aria-pressed:enabled:hover:bg-success-container/dim-1',\n 'text-success',\n ]),\n },\n {\n intent: 'alert',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-alert/dim-5',\n 'enabled:active:bg-alert/dim-5',\n 'focus-visible:bg-alert/dim-5',\n 'aria-pressed:bg-alert-container aria-pressed:text-on-alert-container aria-pressed:enabled:hover:bg-alert-container/dim-1',\n 'text-alert',\n ]),\n },\n {\n intent: 'danger',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-error/dim-5',\n 'enabled:active:bg-error/dim-5',\n 'focus-visible:bg-error/dim-5',\n 'aria-pressed:bg-error-container aria-pressed:text-on-error-container aria-pressed:enabled:hover:bg-error-container/dim-1',\n 'text-error',\n ]),\n },\n {\n intent: 'info',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-info/dim-5',\n 'enabled:active:bg-info/dim-5',\n 'focus-visible:bg-info/dim-5',\n 'aria-pressed:bg-info-container aria-pressed:text-on-info-container aria-pressed:enabled:hover:bg-info-container/dim-1',\n 'text-info',\n ]),\n },\n {\n intent: 'neutral',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-neutral/dim-5',\n 'enabled:active:bg-neutral/dim-5',\n 'focus-visible:bg-neutral/dim-5',\n 'aria-pressed:bg-neutral-container aria-pressed:text-on-neutral-container aria-pressed:enabled:hover:bg-neutral-container/dim-1',\n 'text-neutral',\n ]),\n },\n {\n intent: 'surface',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-surface/dim-5',\n 'enabled:active:bg-surface/dim-5',\n 'focus-visible:bg-surface/dim-5',\n 'aria-pressed:bg-surface aria-pressed:text-on-surface aria-pressed:enabled:hover:bg-surface-hovered',\n 'text-surface',\n ]),\n },\n /** Spacings **/\n {\n design: 'dashed',\n hasClearButton: false,\n class: tw(['px-[calc(var(--spacing-md)-var(--border-width-sm))]']),\n },\n {\n design: 'dashed',\n hasClearButton: true,\n class: tw(['pl-[calc(var(--spacing-md)-var(--border-width-sm))]']),\n },\n] as const\n","import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nimport { dashedVariants, outlinedVariants, tintedVariants } from './variants'\n\nexport const chipStyles = cva(\n [\n 'box-border inline-flex h-sz-32 flex-nowrap items-center justify-center rounded-full text-body-1 font-regular',\n 'focus-visible:u-outline',\n 'ease-out duration-150',\n ],\n {\n variants: {\n /**\n * Main style of the chip.\n *\n * - `filled`: Chip will be plain.\n *\n * - `outlined`: Chip will be transparent with an outline.\n *\n * - `tinted`: Chip will be filled but using a lighter color scheme.\n *\n * - `dashed`: Chip will be transparent with an outline dashed.\n */\n design: makeVariants<'design', ['outlined', 'tinted', 'dashed']>({\n outlined: ['bg-transparent border-sm border-solid border-current'],\n tinted: [''],\n dashed: [\n 'bg-transparent border-sm border-dashed shadow-none focus-visible:border-outline-high',\n ],\n }),\n /**\n * Color scheme of the chip.\n */\n intent: makeVariants<\n 'intent',\n [\n 'main',\n 'support',\n 'basic',\n 'accent',\n 'success',\n 'alert',\n 'danger',\n 'info',\n 'neutral',\n 'surface',\n ]\n >({\n main: [],\n support: [],\n basic: [],\n accent: [],\n success: [],\n alert: [],\n danger: [],\n info: [],\n neutral: [],\n surface: [],\n }),\n /**\n * Disable the chip, preventing user interaction and adding opacity.\n */\n disabled: {\n true: ['cursor-not-allowed', 'opacity-dim-3'],\n },\n hasClearButton: {\n true: [],\n false: [],\n },\n // 'pl-[calc(var(--spacing-md)-(var(--border-width-sm)))]'\n },\n compoundVariants: [...outlinedVariants, ...tintedVariants, ...dashedVariants],\n defaultVariants: {\n design: 'outlined',\n intent: 'basic',\n },\n }\n)\n\nexport type ChipStylesProps = VariantProps<typeof chipStyles>\n","import { createContext, useContext } from 'react'\n\nimport { type ChipProps } from './Chip'\n\nexport type ChipsContextType = Pick<ChipProps, 'disabled' | 'design' | 'intent' | 'onClear'>\n\nexport const ChipContext = createContext<ChipsContextType>({} as ChipsContextType)\nexport const useChipContext = () => useContext(ChipContext) || {}\n","import { useCombinedState } from '@spark-ui/hooks/use-combined-state'\nimport { emulateTab } from 'emulate-tab'\nimport {\n Children,\n ElementType,\n FC,\n ForwardRefExoticComponent,\n HTMLAttributes,\n isValidElement,\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n ReactNode,\n RefAttributes,\n} from 'react'\n\nimport { Slot } from '../slot'\n\ninterface ReturnedValue {\n Element:\n | ForwardRefExoticComponent<\n HTMLAttributes<HTMLElement> & {\n children?: ReactNode\n } & RefAttributes<HTMLElement>\n >\n | ElementType\n chipProps:\n | {\n type: 'button'\n 'aria-pressed'?: boolean\n 'data-state'?: 'on' | 'off'\n onClick: (event: MouseEvent<HTMLButtonElement>) => void\n onKeyDown?: (event: KeyboardEvent<HTMLButtonElement>) => void\n disabled?: boolean\n children: ReactNode\n }\n | {\n 'aria-disabled'?: boolean\n children: ReactNode\n onKeyDown?: (event: KeyboardEvent<HTMLButtonElement>) => void\n }\n compoundElements: {\n leadingIcon: ReactNode\n trailingIcon: ReactNode\n content: ReactNode\n clearButton: ReactNode\n }\n}\n\nconst getDisplayName = (element?: ReactElement) => {\n return element ? (element.type as FC).displayName : ''\n}\n\nconst findElement =\n (children: ReactNode) =>\n (...values: string[]) => {\n const validChildren = Children.toArray(children).filter(isValidElement)\n\n return validChildren.find(child => {\n const displayName = getDisplayName(child)\n\n return values.includes(displayName || '')\n })\n }\n\nexport const useChipElement = ({\n onClick,\n asChild,\n pressed,\n defaultPressed,\n disabled,\n value,\n defaultValue,\n children,\n onClear,\n}: {\n onClick?: (\n event: MouseEvent<HTMLButtonElement>,\n args: { pressed: boolean; value?: string | number | readonly string[] }\n ) => void\n onKeyDown?: (event: KeyboardEvent<HTMLButtonElement>) => void\n asChild?: boolean\n pressed?: boolean\n defaultPressed?: boolean\n value?: string | number | readonly string[]\n defaultValue?: string | number | readonly string[]\n disabled?: boolean\n children?: ReactNode\n onClear?: (event?: MouseEvent<HTMLButtonElement>) => void\n}): ReturnedValue => {\n const [isPressed, setIsPressed] = useCombinedState<boolean | undefined>(pressed, defaultPressed)\n const [innerValue] = useCombinedState<string | number | readonly string[] | undefined>(\n value,\n defaultValue\n )\n\n const findChipElement = findElement(children)\n\n const leadingIcon = findChipElement('Chip.LeadingIcon')\n const trailingIcon = findChipElement('Chip.TrailingIcon')\n const content = findChipElement('Chip.Content')\n const clearButton = findChipElement('Chip.ClearButton')\n\n const isButton = (onClick || isPressed) !== undefined\n\n const formattedChildren = [leadingIcon, content, clearButton].every(\n element => element === undefined\n ) ? (\n <span className=\"inline-block grow truncate\">{children}</span>\n ) : (\n <>\n {leadingIcon}\n {content}\n {leadingIcon === undefined ? trailingIcon : null}\n {clearButton}\n </>\n )\n\n const onKeyDown = (event: KeyboardEvent<HTMLButtonElement>): void => {\n if (!!clearButton && !disabled && ['Delete', 'Backspace'].includes(event.key)) {\n if (onClear) {\n onClear()\n event.key === 'Delete' && emulateTab()\n event.key === 'Backspace' && emulateTab.backwards()\n }\n }\n }\n\n if (isButton) {\n return {\n Element: asChild ? Slot : 'button',\n chipProps: {\n type: 'button',\n ...(isPressed !== undefined && {\n 'aria-pressed': isPressed,\n 'data-state': isPressed ? 'on' : 'off',\n }),\n onClick: (event: MouseEvent<HTMLButtonElement>): void => {\n isPressed !== undefined && setIsPressed(!isPressed)\n onClick && onClick(event, { pressed: isPressed as boolean, value: innerValue })\n },\n onKeyDown,\n disabled,\n children: formattedChildren,\n },\n compoundElements: {\n leadingIcon,\n trailingIcon,\n content,\n clearButton,\n },\n }\n }\n\n return {\n Element: asChild ? Slot : 'div',\n chipProps: {\n 'aria-disabled': disabled,\n children: formattedChildren,\n onKeyDown,\n },\n compoundElements: {\n leadingIcon,\n trailingIcon,\n content,\n clearButton,\n },\n }\n}\n","import { ComponentPropsWithoutRef, MouseEvent, Ref } from 'react'\n\nimport { chipStyles, type ChipStylesProps } from './Chip.styles'\nimport { ChipContext } from './useChipContext'\nimport { useChipElement } from './useChipElement'\n\ntype ChipPrimitiveProps = Omit<ComponentPropsWithoutRef<'button'>, 'onClick' | 'disabled' | 'type'>\n\nexport interface ChipProps extends ChipPrimitiveProps, Omit<ChipStylesProps, 'hasClearButton'> {\n /**\n * Configures a toggleButton aria-pressed initial value\n */\n defaultPressed?: boolean\n /**\n * Configures a toggleButton aria-pressed value\n */\n pressed?: boolean\n /**\n * Change the component to the HTML tag or custom component of the only child.\n */\n asChild?: boolean\n /**\n * Event handler fired each clicking event\n */\n onClick?: (\n event: MouseEvent<HTMLButtonElement>,\n args: { pressed: boolean; value?: number | string | readonly string[] }\n ) => void\n /**\n * Clear chip handler\n */\n onClear?: (event?: MouseEvent<HTMLButtonElement>) => void\n ref?: Ref<HTMLButtonElement | HTMLDivElement>\n}\n\nexport const Chip = ({\n design = 'outlined',\n disabled,\n children,\n intent = 'basic',\n defaultPressed,\n pressed,\n asChild,\n className,\n onClick,\n onClear,\n ref: forwardedRef,\n ...otherProps\n}: ChipProps) => {\n const {\n Element: ChipElement,\n chipProps: { children: formattedChildren, ...chipProps },\n compoundElements,\n } = useChipElement({\n asChild,\n pressed,\n defaultPressed,\n onClick,\n disabled: !!disabled,\n value: otherProps.value,\n defaultValue: otherProps.defaultValue,\n children,\n onClear,\n })\n\n const { clearButton } = compoundElements\n\n return (\n <ChipContext.Provider value={{ disabled, design, intent, onClear }}>\n <ChipElement\n ref={forwardedRef}\n className={chipStyles({\n className,\n design,\n disabled,\n intent,\n hasClearButton: !!clearButton,\n })}\n {...{\n ...chipProps,\n ...otherProps,\n }}\n data-spark-component=\"chip\"\n >\n {formattedChildren}\n </ChipElement>\n </ChipContext.Provider>\n )\n}\n\nChip.displayName = 'Chip'\n","import { tw } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nexport const chipClearButtonWrapperStyles = cva(\n ['ml-md flex h-full items-center justify-center focus-visible:outline-hidden'],\n {\n variants: {\n disabled: {\n false: ['cursor-pointer'],\n true: ['cursor-not-allowed'],\n },\n isBordered: {\n false: ['pr-md'],\n true: ['pr-[7px]'],\n },\n design: {\n outlined: [],\n tinted: [],\n dashed: [],\n },\n },\n compoundVariants: [\n {\n design: 'outlined',\n disabled: false,\n class: tw(['hover:opacity-dim-1']),\n },\n {\n design: 'outlined',\n disabled: true,\n class: tw(['opacity-dim-3']),\n },\n {\n design: 'tinted',\n disabled: false,\n class: tw(['hover:opacity-dim-1']),\n },\n {\n design: 'tinted',\n disabled: true,\n class: tw(['opacity-dim-3']),\n },\n {\n design: 'dashed',\n disabled: false,\n class: tw(['hover:opacity-dim-1']),\n },\n {\n design: 'dashed',\n disabled: true,\n class: tw(['opacity-dim-3']),\n },\n ],\n }\n)\n\nexport const chipClearButtonStyles = cva(\n ['rounded-full p-sz-2 [font-size:var(--spacing-sz-8)] border-sm', 'focus-visible:u-outline'],\n {\n variants: {\n disabled: {\n true: ['cursor-not-allowed'],\n false: ['cursor-pointer'],\n },\n },\n defaultVariants: {\n disabled: false,\n },\n }\n)\n\nexport type ChipClearButtonStylesProps = VariantProps<typeof chipClearButtonWrapperStyles>\n","import { Close } from '@spark-ui/icons/Close'\nimport {\n cloneElement,\n ComponentPropsWithoutRef,\n MouseEvent,\n ReactElement,\n Ref,\n useCallback,\n} from 'react'\n\nimport { Icon } from '../icon'\nimport {\n chipClearButtonStyles,\n type ChipClearButtonStylesProps,\n chipClearButtonWrapperStyles,\n} from './ChipClearButton.styles'\nimport { useChipContext } from './useChipContext'\n\nexport interface ChipClearButtonProps\n extends ComponentPropsWithoutRef<'span'>,\n ChipClearButtonStylesProps {\n label: string\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipClearButton = ({\n children = (\n <Icon>\n <Close />\n </Icon>\n ),\n tabIndex = 0,\n label,\n ref: forwardedRef,\n}: ChipClearButtonProps) => {\n const { design, disabled, onClear } = useChipContext()\n\n const onClearHandler = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation()\n !disabled && onClear && onClear(event)\n },\n [disabled, onClear]\n )\n\n return (\n <span\n className={chipClearButtonWrapperStyles({\n isBordered: ['outline', 'dashed'].includes(`${design}`),\n disabled: !!disabled,\n design,\n })}\n onClick={onClearHandler}\n ref={forwardedRef}\n >\n <button\n tabIndex={tabIndex}\n type=\"button\"\n disabled={!!disabled}\n className={chipClearButtonStyles({ disabled })}\n aria-label={label}\n >\n {children && cloneElement(children as ReactElement<HTMLElement>, { ariaLabel: label })}\n </button>\n </span>\n )\n}\n\nChipClearButton.displayName = 'Chip.ClearButton'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nexport type ChipContentProps = ComponentPropsWithoutRef<'span'> & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipContent = ({ children, className, ref: forwardedRef }: ChipContentProps) => {\n return (\n <span className={cx('inline-block grow truncate', className)} ref={forwardedRef}>\n {children}\n </span>\n )\n}\n\nChipContent.displayName = 'Chip.Content'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nexport type ChipIconProps = ComponentPropsWithoutRef<'span'> & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipIcon = ({ children, className, ref: forwardedRef }: ChipIconProps) => {\n return (\n <span className={cx('flex h-full items-center justify-center', className)} ref={forwardedRef}>\n {children}\n </span>\n )\n}\n\nChipIcon.displayName = 'Chip.Icon'\n","import { cx } from 'class-variance-authority'\nimport { Ref } from 'react'\n\nimport { ChipIcon, type ChipIconProps } from './ChipIcon'\n\nexport type ChipLeadingIconProps = ChipIconProps & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipLeadingIcon = ({\n className,\n ref: forwardedRef,\n ...props\n}: ChipLeadingIconProps) => (\n <ChipIcon className={cx('mr-sm', className)} ref={forwardedRef} {...props} />\n)\n\nChipLeadingIcon.displayName = 'Chip.LeadingIcon'\n","import { cx } from 'class-variance-authority'\nimport { Ref } from 'react'\n\nimport { ChipIcon, type ChipIconProps } from './ChipIcon'\n\nexport type ChipTrailingIconProps = ChipIconProps & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipTrailingIcon = ({\n className,\n ref: forwardedRef,\n ...props\n}: ChipTrailingIconProps) => (\n <ChipIcon className={cx('ml-md', className)} ref={forwardedRef} {...props} />\n)\n\nChipTrailingIcon.displayName = 'Chip.TrailingIcon'\n","import { Chip as Root } from './Chip'\nimport { ChipClearButton } from './ChipClearButton'\nimport { ChipContent } from './ChipContent'\nimport { ChipLeadingIcon } from './ChipLeadingIcon'\nimport { ChipTrailingIcon } from './ChipTrailingIcon'\n\nexport const Chip: typeof Root & {\n Content: typeof ChipContent\n LeadingIcon: typeof ChipLeadingIcon\n TrailingIcon: typeof ChipTrailingIcon\n ClearButton: typeof ChipClearButton\n} = Object.assign(Root, {\n Content: ChipContent,\n LeadingIcon: ChipLeadingIcon,\n TrailingIcon: ChipTrailingIcon,\n ClearButton: ChipClearButton,\n})\n\nChip.displayName = 'Chip'\nChip.ClearButton.displayName = 'Chip.ClearButton'\nChip.Content.displayName = 'Chip.Content'\nChip.LeadingIcon.displayName = 'Chip.LeadingIcon'\nChip.TrailingIcon.displayName = 'Chip.TrailingIcon'\n\nexport { type ChipClearButtonProps } from './ChipClearButton'\nexport { type ChipContentProps } from './ChipContent'\nexport { type ChipLeadingIconProps } from './ChipLeadingIcon'\nexport { type ChipTrailingIconProps } from './ChipTrailingIcon'\n"],"names":["outlinedVariants","tw","tintedVariants","dashedVariants","chipStyles","cva","makeVariants","ChipContext","createContext","useChipContext","useContext","getDisplayName","element","findElement","children","values","Children","isValidElement","child","displayName","useChipElement","onClick","asChild","pressed","defaultPressed","disabled","value","defaultValue","onClear","isPressed","setIsPressed","useCombinedState","innerValue","findChipElement","leadingIcon","trailingIcon","content","clearButton","isButton","formattedChildren","jsx","jsxs","Fragment","onKeyDown","event","emulateTab","Slot","Chip","design","intent","className","forwardedRef","otherProps","ChipElement","chipProps","compoundElements","chipClearButtonWrapperStyles","chipClearButtonStyles","ChipClearButton","Icon","Close","tabIndex","label","onClearHandler","useCallback","cloneElement","ChipContent","cx","ChipIcon","ChipLeadingIcon","props","ChipTrailingIcon","Root"],"mappings":"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"}
@@ -4,9 +4,9 @@ import { cva as B, cx as C } from "class-variance-authority";
4
4
  import { createContext as H, useContext as K, Children as O, isValidElement as W, useCallback as q, cloneElement as G } from "react";
5
5
  import { useCombinedState as V } from "@spark-ui/hooks/use-combined-state";
6
6
  import { emulateTab as k } from "emulate-tab";
7
- import { a as L } from "../Slot-D2Bbf8Gw.mjs";
7
+ import { S as L } from "../Slot-DLY1rJrG.mjs";
8
8
  import { Close as J } from "@spark-ui/icons/Close";
9
- import { I as M } from "../Icon-Ck-dhfLd.mjs";
9
+ import { I as M } from "../Icon-C23-htlD.mjs";
10
10
  const Q = [
11
11
  /** Intents **/
12
12
  {
@@ -389,7 +389,7 @@ const Q = [
389
389
  }
390
390
  ], X = B(
391
391
  [
392
- "box-border inline-flex h-sz-32 flex-nowrap items-center justify-center rounded-md text-body-1 font-regular",
392
+ "box-border inline-flex h-sz-32 flex-nowrap items-center justify-center rounded-full text-body-1 font-regular",
393
393
  "focus-visible:u-outline",
394
394
  "ease-out duration-150"
395
395
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/chip/variants/outlined.ts","../../src/chip/variants/tinted.ts","../../src/chip/variants/dashed.ts","../../src/chip/Chip.styles.tsx","../../src/chip/useChipContext.tsx","../../src/chip/useChipElement.tsx","../../src/chip/Chip.tsx","../../src/chip/ChipClearButton.styles.tsx","../../src/chip/ChipClearButton.tsx","../../src/chip/ChipContent.tsx","../../src/chip/ChipIcon.tsx","../../src/chip/ChipLeadingIcon.tsx","../../src/chip/ChipTrailingIcon.tsx","../../src/chip/index.ts"],"sourcesContent":["import { tw } from '@spark-ui/internal-utils'\n\nexport const outlinedVariants = [\n /** Intents **/\n {\n design: 'outlined',\n intent: 'main',\n class: tw([\n 'enabled:hover:bg-main/dim-5',\n 'enabled:active:bg-main/dim-5',\n 'focus-visible:bg-main/dim-5',\n 'aria-pressed:bg-main-container aria-pressed:text-on-main-container aria-pressed:enabled:hover:bg-main-container/dim-1',\n 'text-main',\n ]),\n },\n {\n design: 'outlined',\n intent: 'support',\n class: tw([\n 'enabled:hover:bg-support/dim-5',\n 'enabled:active:bg-support/dim-5',\n 'focus-visible:bg-support/dim-5',\n 'aria-pressed:bg-support-container aria-pressed:text-on-support-container aria-pressed:enabled:hover:bg-support-container/dim-1',\n 'text-support',\n ]),\n },\n {\n design: 'outlined',\n intent: 'basic',\n class: tw([\n 'enabled:hover:bg-basic/dim-5',\n 'enabled:active:bg-basic/dim-5',\n 'focus-visible:bg-basic/dim-5',\n 'aria-pressed:bg-basic-container aria-pressed:text-on-basic-container aria-pressed:enabled:hover:bg-basic-container/dim-1',\n 'text-basic',\n ]),\n },\n {\n intent: 'accent',\n design: 'outlined',\n class: tw([\n 'enabled:hover:bg-accent/dim-5',\n 'enabled:active:bg-accent/dim-5',\n 'focus-visible:bg-accent/dim-5',\n 'aria-pressed:bg-accent-container',\n 'aria-pressed:bg-accent-container aria-pressed:text-on-accent-container aria-pressed:enabled:hover:bg-accent-container/dim-1',\n 'text-accent',\n ]),\n },\n {\n design: 'outlined',\n intent: 'success',\n class: tw([\n 'enabled:hover:bg-success/dim-5',\n 'enabled:active:bg-success/dim-5',\n 'focus-visible:bg-success/dim-5',\n 'aria-pressed:bg-success-container aria-pressed:text-on-success-container aria-pressed:enabled:hover:bg-success-container/dim-1',\n 'text-success',\n ]),\n },\n {\n intent: 'alert',\n design: 'outlined',\n class: tw([\n 'enabled:hover:bg-alert/dim-5',\n 'enabled:active:bg-alert/dim-5',\n 'focus-visible:bg-alert/dim-5',\n 'aria-pressed:bg-alert-container aria-pressed:text-on-alert-container aria-pressed:enabled:hover:bg-alert-container/dim-1',\n 'text-alert',\n ]),\n },\n {\n design: 'outlined',\n intent: 'danger',\n class: tw([\n 'enabled:hover:bg-error/dim-5',\n 'enabled:active:bg-error/dim-5',\n 'focus-visible:bg-error/dim-5',\n 'aria-pressed:bg-error-container aria-pressed:text-on-error-container aria-pressed:enabled:hover:bg-error-container/dim-1',\n 'text-error',\n ]),\n },\n {\n design: 'outlined',\n intent: 'info',\n class: tw([\n 'enabled:hover:bg-info/dim-5',\n 'enabled:active:bg-info/dim-5',\n 'focus-visible:bg-info/dim-5',\n 'aria-pressed:bg-info-container aria-pressed:text-on-info-container aria-pressed:enabled:hover:bg-info-container/dim-1',\n 'text-info',\n ]),\n },\n {\n design: 'outlined',\n intent: 'neutral',\n class: tw([\n 'enabled:hover:bg-neutral/dim-5',\n 'enabled:active:bg-neutral/dim-5',\n 'focus-visible:bg-neutral/dim-5',\n 'aria-pressed:bg-neutral-container aria-pressed:text-on-neutral-container aria-pressed:enabled:hover:bg-neutral-container/dim-1',\n 'text-neutral',\n ]),\n },\n {\n design: 'outlined',\n intent: 'surface',\n class: tw([\n 'enabled:hover:bg-surface/dim-5',\n 'enabled:active:bg-surface/dim-5',\n 'focus-visible:bg-surface/dim-5',\n 'aria-pressed:bg-surface aria-pressed:text-on-surface aria-pressed:enabled:hover:bg-surface-hovered',\n 'text-surface',\n ]),\n },\n /** Spacings **/\n {\n design: 'outlined',\n hasClearButton: false,\n class: tw(['px-[calc(var(--spacing-md)-var(--border-width-sm))]']),\n },\n {\n design: 'outlined',\n hasClearButton: true,\n class: tw(['pl-[calc(var(--spacing-md)-var(--border-width-sm))]']),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const tintedVariants = [\n /** Intents **/\n {\n intent: 'main',\n design: 'tinted',\n class: tw([\n 'bg-main-container',\n 'enabled:hover:bg-main-container-hovered',\n 'enabled:active:bg-main-container-hovered',\n 'focus-visible:bg-main-container-hovered',\n 'aria-pressed:bg-main aria-pressed:text-on-main aria-pressed:enabled:hover:bg-main/dim-1',\n 'text-on-main-container',\n ]),\n },\n {\n intent: 'support',\n design: 'tinted',\n class: tw([\n 'bg-support-container',\n 'enabled:hover:bg-support-container-hovered',\n 'enabled:active:bg-support-container-hovered',\n 'focus-visible:bg-support-container-hovered',\n 'aria-pressed:bg-support aria-pressed:text-on-support aria-pressed:enabled:hover:bg-support/dim-1',\n 'text-on-support-container',\n ]),\n },\n {\n intent: 'basic',\n design: 'tinted',\n class: tw([\n 'bg-basic-container',\n 'enabled:hover:bg-basic-container-hovered',\n 'enabled:active:bg-basic-container-hovered',\n 'focus-visible:bg-basic-container-hovered',\n 'aria-pressed:bg-basic aria-pressed:text-on-basic aria-pressed:enabled:hover:bg-basic/dim-1',\n 'text-on-basic-container',\n ]),\n },\n {\n intent: 'accent',\n design: 'tinted',\n class: tw([\n 'bg-accent-container',\n 'enabled:hover:bg-accent-container-hovered',\n 'enabled:active:bg-accent-container-hovered',\n 'focus-visible:bg-accent-container-hovered',\n 'aria-pressed:bg-accent aria-pressed:text-on-accent aria-pressed:enabled:hover:bg-accent/dim-1',\n 'text-on-accent-container',\n ]),\n },\n {\n intent: 'success',\n design: 'tinted',\n class: tw([\n 'bg-success-container',\n 'enabled:hover:bg-success-container-hovered',\n 'enabled:active:bg-success-container-hovered',\n 'focus-visible:bg-success-container-hovered',\n 'aria-pressed:bg-success aria-pressed:text-on-success aria-pressed:enabled:hover:bg-success/dim-1',\n 'text-on-success-container',\n ]),\n },\n {\n intent: 'alert',\n design: 'tinted',\n class: tw([\n 'bg-alert-container',\n 'enabled:hover:bg-alert-container-hovered',\n 'enabled:active:bg-alert-container-hovered',\n 'focus-visible:bg-alert-container-hovered',\n 'aria-pressed:bg-alert aria-pressed:text-on-alert aria-pressed:enabled:hover:bg-alert/dim-1',\n 'text-on-alert-container',\n ]),\n },\n {\n intent: 'danger',\n design: 'tinted',\n class: tw([\n 'bg-error-container',\n 'enabled:hover:bg-error-container-hovered',\n 'enabled:active:bg-error-container-hovered',\n 'focus-visible:bg-error-container-hovered',\n 'aria-pressed:bg-error aria-pressed:text-on-error aria-pressed:enabled:hover:bg-error/dim-1',\n 'text-on-error-container',\n ]),\n },\n {\n intent: 'info',\n design: 'tinted',\n class: tw([\n 'bg-info-container',\n 'enabled:hover:bg-info-container-hovered',\n 'enabled:active:bg-info-container-hovered',\n 'focus-visible:bg-info-container-hovered',\n 'aria-pressed:bg-info aria-pressed:text-on-info aria-pressed:enabled:hover:bg-info/dim-1',\n 'text-on-info-container',\n ]),\n },\n {\n intent: 'neutral',\n design: 'tinted',\n class: tw([\n 'bg-neutral-container',\n 'enabled:hover:bg-neutral-container-hovered',\n 'enabled:active:bg-neutral-container-hovered',\n 'focus-visible:bg-neutral-container-hovered',\n 'aria-pressed:bg-neutral aria-pressed:text-on-neutral aria-pressed:enabled:hover:bg-neutral/dim-1',\n 'text-on-neutral-container',\n ]),\n },\n {\n intent: 'surface',\n design: 'tinted',\n class: tw([\n 'bg-surface/dim-1',\n 'enabled:hover:bg-surface-hovered/dim-1',\n 'enabled:active:bg-surface-hovered/dim-1',\n 'focus-visible:bg-surface-hovered/dim-1',\n 'aria-pressed:bg-surface aria-pressed:text-on-surface aria-pressed:enabled:hover:bg-surface-hovered',\n 'text-on-surface/dim-1',\n ]),\n },\n /** Spacings **/\n {\n design: 'tinted',\n hasClearButton: false,\n class: tw(['px-md']),\n },\n {\n design: 'tinted',\n hasClearButton: true,\n class: tw(['pl-md']),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const dashedVariants = [\n /** Intents **/\n {\n intent: 'main',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-main/dim-5',\n 'enabled:active:bg-main/dim-5',\n 'focus-visible:bg-main/dim-5',\n 'aria-pressed:bg-main-container aria-pressed:text-on-main-container aria-pressed:enabled:hover:bg-main-container/dim-1',\n 'text-main',\n ]),\n },\n {\n intent: 'support',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-support/dim-5',\n 'enabled:active:bg-support/dim-5',\n 'focus-visible:bg-support/dim-5',\n 'aria-pressed:bg-support-container aria-pressed:text-on-support-container aria-pressed:enabled:hover:bg-support-container/dim-1',\n 'text-support',\n ]),\n },\n {\n intent: 'basic',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-basic/dim-5',\n 'enabled:active:bg-basic/dim-5',\n 'focus-visible:bg-basic/dim-5',\n 'aria-pressed:bg-basic-container aria-pressed:text-on-basic-container aria-pressed:enabled:hover:bg-basic-container/dim-1',\n 'text-basic',\n ]),\n },\n {\n intent: 'accent',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-accent/dim-5',\n 'enabled:active:bg-accent/dim-5',\n 'focus-visible:bg-accent/dim-5',\n 'aria-pressed:bg-accent-container aria-pressed:text-on-accent-container aria-pressed:enabled:hover:bg-accent-container/dim-1',\n 'text-accent',\n ]),\n },\n {\n intent: 'success',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-success/dim-5',\n 'enabled:active:bg-success/dim-5',\n 'focus-visible:bg-success/dim-5',\n 'aria-pressed:bg-success-container aria-pressed:text-on-success-container aria-pressed:enabled:hover:bg-success-container/dim-1',\n 'text-success',\n ]),\n },\n {\n intent: 'alert',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-alert/dim-5',\n 'enabled:active:bg-alert/dim-5',\n 'focus-visible:bg-alert/dim-5',\n 'aria-pressed:bg-alert-container aria-pressed:text-on-alert-container aria-pressed:enabled:hover:bg-alert-container/dim-1',\n 'text-alert',\n ]),\n },\n {\n intent: 'danger',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-error/dim-5',\n 'enabled:active:bg-error/dim-5',\n 'focus-visible:bg-error/dim-5',\n 'aria-pressed:bg-error-container aria-pressed:text-on-error-container aria-pressed:enabled:hover:bg-error-container/dim-1',\n 'text-error',\n ]),\n },\n {\n intent: 'info',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-info/dim-5',\n 'enabled:active:bg-info/dim-5',\n 'focus-visible:bg-info/dim-5',\n 'aria-pressed:bg-info-container aria-pressed:text-on-info-container aria-pressed:enabled:hover:bg-info-container/dim-1',\n 'text-info',\n ]),\n },\n {\n intent: 'neutral',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-neutral/dim-5',\n 'enabled:active:bg-neutral/dim-5',\n 'focus-visible:bg-neutral/dim-5',\n 'aria-pressed:bg-neutral-container aria-pressed:text-on-neutral-container aria-pressed:enabled:hover:bg-neutral-container/dim-1',\n 'text-neutral',\n ]),\n },\n {\n intent: 'surface',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-surface/dim-5',\n 'enabled:active:bg-surface/dim-5',\n 'focus-visible:bg-surface/dim-5',\n 'aria-pressed:bg-surface aria-pressed:text-on-surface aria-pressed:enabled:hover:bg-surface-hovered',\n 'text-surface',\n ]),\n },\n /** Spacings **/\n {\n design: 'dashed',\n hasClearButton: false,\n class: tw(['px-[calc(var(--spacing-md)-var(--border-width-sm))]']),\n },\n {\n design: 'dashed',\n hasClearButton: true,\n class: tw(['pl-[calc(var(--spacing-md)-var(--border-width-sm))]']),\n },\n] as const\n","import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nimport { dashedVariants, outlinedVariants, tintedVariants } from './variants'\n\nexport const chipStyles = cva(\n [\n 'box-border inline-flex h-sz-32 flex-nowrap items-center justify-center rounded-md text-body-1 font-regular',\n 'focus-visible:u-outline',\n 'ease-out duration-150',\n ],\n {\n variants: {\n /**\n * Main style of the chip.\n *\n * - `filled`: Chip will be plain.\n *\n * - `outlined`: Chip will be transparent with an outline.\n *\n * - `tinted`: Chip will be filled but using a lighter color scheme.\n *\n * - `dashed`: Chip will be transparent with an outline dashed.\n */\n design: makeVariants<'design', ['outlined', 'tinted', 'dashed']>({\n outlined: ['bg-transparent border-sm border-solid border-current'],\n tinted: [''],\n dashed: [\n 'bg-transparent border-sm border-dashed shadow-none focus-visible:border-outline-high',\n ],\n }),\n /**\n * Color scheme of the chip.\n */\n intent: makeVariants<\n 'intent',\n [\n 'main',\n 'support',\n 'basic',\n 'accent',\n 'success',\n 'alert',\n 'danger',\n 'info',\n 'neutral',\n 'surface',\n ]\n >({\n main: [],\n support: [],\n basic: [],\n accent: [],\n success: [],\n alert: [],\n danger: [],\n info: [],\n neutral: [],\n surface: [],\n }),\n /**\n * Disable the chip, preventing user interaction and adding opacity.\n */\n disabled: {\n true: ['cursor-not-allowed', 'opacity-dim-3'],\n },\n hasClearButton: {\n true: [],\n false: [],\n },\n // 'pl-[calc(var(--spacing-md)-(var(--border-width-sm)))]'\n },\n compoundVariants: [...outlinedVariants, ...tintedVariants, ...dashedVariants],\n defaultVariants: {\n design: 'outlined',\n intent: 'basic',\n },\n }\n)\n\nexport type ChipStylesProps = VariantProps<typeof chipStyles>\n","import { createContext, useContext } from 'react'\n\nimport { type ChipProps } from './Chip'\n\nexport type ChipsContextType = Pick<ChipProps, 'disabled' | 'design' | 'intent' | 'onClear'>\n\nexport const ChipContext = createContext<ChipsContextType>({} as ChipsContextType)\nexport const useChipContext = () => useContext(ChipContext) || {}\n","import { useCombinedState } from '@spark-ui/hooks/use-combined-state'\nimport { emulateTab } from 'emulate-tab'\nimport {\n Children,\n ElementType,\n FC,\n ForwardRefExoticComponent,\n HTMLAttributes,\n isValidElement,\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n ReactNode,\n RefAttributes,\n} from 'react'\n\nimport { Slot } from '../slot'\n\ninterface ReturnedValue {\n Element:\n | ForwardRefExoticComponent<\n HTMLAttributes<HTMLElement> & {\n children?: ReactNode\n } & RefAttributes<HTMLElement>\n >\n | ElementType\n chipProps:\n | {\n type: 'button'\n 'aria-pressed'?: boolean\n 'data-state'?: 'on' | 'off'\n onClick: (event: MouseEvent<HTMLButtonElement>) => void\n onKeyDown?: (event: KeyboardEvent<HTMLButtonElement>) => void\n disabled?: boolean\n children: ReactNode\n }\n | {\n 'aria-disabled'?: boolean\n children: ReactNode\n onKeyDown?: (event: KeyboardEvent<HTMLButtonElement>) => void\n }\n compoundElements: {\n leadingIcon: ReactNode\n trailingIcon: ReactNode\n content: ReactNode\n clearButton: ReactNode\n }\n}\n\nconst getDisplayName = (element?: ReactElement) => {\n return element ? (element.type as FC).displayName : ''\n}\n\nconst findElement =\n (children: ReactNode) =>\n (...values: string[]) => {\n const validChildren = Children.toArray(children).filter(isValidElement)\n\n return validChildren.find(child => {\n const displayName = getDisplayName(child)\n\n return values.includes(displayName || '')\n })\n }\n\nexport const useChipElement = ({\n onClick,\n asChild,\n pressed,\n defaultPressed,\n disabled,\n value,\n defaultValue,\n children,\n onClear,\n}: {\n onClick?: (\n event: MouseEvent<HTMLButtonElement>,\n args: { pressed: boolean; value?: string | number | readonly string[] }\n ) => void\n onKeyDown?: (event: KeyboardEvent<HTMLButtonElement>) => void\n asChild?: boolean\n pressed?: boolean\n defaultPressed?: boolean\n value?: string | number | readonly string[]\n defaultValue?: string | number | readonly string[]\n disabled?: boolean\n children?: ReactNode\n onClear?: (event?: MouseEvent<HTMLButtonElement>) => void\n}): ReturnedValue => {\n const [isPressed, setIsPressed] = useCombinedState<boolean | undefined>(pressed, defaultPressed)\n const [innerValue] = useCombinedState<string | number | readonly string[] | undefined>(\n value,\n defaultValue\n )\n\n const findChipElement = findElement(children)\n\n const leadingIcon = findChipElement('Chip.LeadingIcon')\n const trailingIcon = findChipElement('Chip.TrailingIcon')\n const content = findChipElement('Chip.Content')\n const clearButton = findChipElement('Chip.ClearButton')\n\n const isButton = (onClick || isPressed) !== undefined\n\n const formattedChildren = [leadingIcon, content, clearButton].every(\n element => element === undefined\n ) ? (\n <span className=\"inline-block grow truncate\">{children}</span>\n ) : (\n <>\n {leadingIcon}\n {content}\n {leadingIcon === undefined ? trailingIcon : null}\n {clearButton}\n </>\n )\n\n const onKeyDown = (event: KeyboardEvent<HTMLButtonElement>): void => {\n if (!!clearButton && !disabled && ['Delete', 'Backspace'].includes(event.key)) {\n if (onClear) {\n onClear()\n event.key === 'Delete' && emulateTab()\n event.key === 'Backspace' && emulateTab.backwards()\n }\n }\n }\n\n if (isButton) {\n return {\n Element: asChild ? Slot : 'button',\n chipProps: {\n type: 'button',\n ...(isPressed !== undefined && {\n 'aria-pressed': isPressed,\n 'data-state': isPressed ? 'on' : 'off',\n }),\n onClick: (event: MouseEvent<HTMLButtonElement>): void => {\n isPressed !== undefined && setIsPressed(!isPressed)\n onClick && onClick(event, { pressed: isPressed as boolean, value: innerValue })\n },\n onKeyDown,\n disabled,\n children: formattedChildren,\n },\n compoundElements: {\n leadingIcon,\n trailingIcon,\n content,\n clearButton,\n },\n }\n }\n\n return {\n Element: asChild ? Slot : 'div',\n chipProps: {\n 'aria-disabled': disabled,\n children: formattedChildren,\n onKeyDown,\n },\n compoundElements: {\n leadingIcon,\n trailingIcon,\n content,\n clearButton,\n },\n }\n}\n","import { ComponentPropsWithoutRef, MouseEvent, Ref } from 'react'\n\nimport { chipStyles, type ChipStylesProps } from './Chip.styles'\nimport { ChipContext } from './useChipContext'\nimport { useChipElement } from './useChipElement'\n\ntype ChipPrimitiveProps = Omit<ComponentPropsWithoutRef<'button'>, 'onClick' | 'disabled' | 'type'>\n\nexport interface ChipProps extends ChipPrimitiveProps, Omit<ChipStylesProps, 'hasClearButton'> {\n /**\n * Configures a toggleButton aria-pressed initial value\n */\n defaultPressed?: boolean\n /**\n * Configures a toggleButton aria-pressed value\n */\n pressed?: boolean\n /**\n * Change the component to the HTML tag or custom component of the only child.\n */\n asChild?: boolean\n /**\n * Event handler fired each clicking event\n */\n onClick?: (\n event: MouseEvent<HTMLButtonElement>,\n args: { pressed: boolean; value?: number | string | readonly string[] }\n ) => void\n /**\n * Clear chip handler\n */\n onClear?: (event?: MouseEvent<HTMLButtonElement>) => void\n ref?: Ref<HTMLButtonElement | HTMLDivElement>\n}\n\nexport const Chip = ({\n design = 'outlined',\n disabled,\n children,\n intent = 'basic',\n defaultPressed,\n pressed,\n asChild,\n className,\n onClick,\n onClear,\n ref: forwardedRef,\n ...otherProps\n}: ChipProps) => {\n const {\n Element: ChipElement,\n chipProps: { children: formattedChildren, ...chipProps },\n compoundElements,\n } = useChipElement({\n asChild,\n pressed,\n defaultPressed,\n onClick,\n disabled: !!disabled,\n value: otherProps.value,\n defaultValue: otherProps.defaultValue,\n children,\n onClear,\n })\n\n const { clearButton } = compoundElements\n\n return (\n <ChipContext.Provider value={{ disabled, design, intent, onClear }}>\n <ChipElement\n ref={forwardedRef}\n className={chipStyles({\n className,\n design,\n disabled,\n intent,\n hasClearButton: !!clearButton,\n })}\n {...{\n ...chipProps,\n ...otherProps,\n }}\n data-spark-component=\"chip\"\n >\n {formattedChildren}\n </ChipElement>\n </ChipContext.Provider>\n )\n}\n\nChip.displayName = 'Chip'\n","import { tw } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nexport const chipClearButtonWrapperStyles = cva(\n ['ml-md flex h-full items-center justify-center focus-visible:outline-hidden'],\n {\n variants: {\n disabled: {\n false: ['cursor-pointer'],\n true: ['cursor-not-allowed'],\n },\n isBordered: {\n false: ['pr-md'],\n true: ['pr-[7px]'],\n },\n design: {\n outlined: [],\n tinted: [],\n dashed: [],\n },\n },\n compoundVariants: [\n {\n design: 'outlined',\n disabled: false,\n class: tw(['hover:opacity-dim-1']),\n },\n {\n design: 'outlined',\n disabled: true,\n class: tw(['opacity-dim-3']),\n },\n {\n design: 'tinted',\n disabled: false,\n class: tw(['hover:opacity-dim-1']),\n },\n {\n design: 'tinted',\n disabled: true,\n class: tw(['opacity-dim-3']),\n },\n {\n design: 'dashed',\n disabled: false,\n class: tw(['hover:opacity-dim-1']),\n },\n {\n design: 'dashed',\n disabled: true,\n class: tw(['opacity-dim-3']),\n },\n ],\n }\n)\n\nexport const chipClearButtonStyles = cva(\n ['rounded-full p-sz-2 [font-size:var(--spacing-sz-8)] border-sm', 'focus-visible:u-outline'],\n {\n variants: {\n disabled: {\n true: ['cursor-not-allowed'],\n false: ['cursor-pointer'],\n },\n },\n defaultVariants: {\n disabled: false,\n },\n }\n)\n\nexport type ChipClearButtonStylesProps = VariantProps<typeof chipClearButtonWrapperStyles>\n","import { Close } from '@spark-ui/icons/Close'\nimport {\n cloneElement,\n ComponentPropsWithoutRef,\n MouseEvent,\n ReactElement,\n Ref,\n useCallback,\n} from 'react'\n\nimport { Icon } from '../icon'\nimport {\n chipClearButtonStyles,\n type ChipClearButtonStylesProps,\n chipClearButtonWrapperStyles,\n} from './ChipClearButton.styles'\nimport { useChipContext } from './useChipContext'\n\nexport interface ChipClearButtonProps\n extends ComponentPropsWithoutRef<'span'>,\n ChipClearButtonStylesProps {\n label: string\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipClearButton = ({\n children = (\n <Icon>\n <Close />\n </Icon>\n ),\n tabIndex = 0,\n label,\n ref: forwardedRef,\n}: ChipClearButtonProps) => {\n const { design, disabled, onClear } = useChipContext()\n\n const onClearHandler = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation()\n !disabled && onClear && onClear(event)\n },\n [disabled, onClear]\n )\n\n return (\n <span\n className={chipClearButtonWrapperStyles({\n isBordered: ['outline', 'dashed'].includes(`${design}`),\n disabled: !!disabled,\n design,\n })}\n onClick={onClearHandler}\n ref={forwardedRef}\n >\n <button\n tabIndex={tabIndex}\n type=\"button\"\n disabled={!!disabled}\n className={chipClearButtonStyles({ disabled })}\n aria-label={label}\n >\n {children && cloneElement(children as ReactElement<HTMLElement>, { ariaLabel: label })}\n </button>\n </span>\n )\n}\n\nChipClearButton.displayName = 'Chip.ClearButton'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nexport type ChipContentProps = ComponentPropsWithoutRef<'span'> & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipContent = ({ children, className, ref: forwardedRef }: ChipContentProps) => {\n return (\n <span className={cx('inline-block grow truncate', className)} ref={forwardedRef}>\n {children}\n </span>\n )\n}\n\nChipContent.displayName = 'Chip.Content'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nexport type ChipIconProps = ComponentPropsWithoutRef<'span'> & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipIcon = ({ children, className, ref: forwardedRef }: ChipIconProps) => {\n return (\n <span className={cx('flex h-full items-center justify-center', className)} ref={forwardedRef}>\n {children}\n </span>\n )\n}\n\nChipIcon.displayName = 'Chip.Icon'\n","import { cx } from 'class-variance-authority'\nimport { Ref } from 'react'\n\nimport { ChipIcon, type ChipIconProps } from './ChipIcon'\n\nexport type ChipLeadingIconProps = ChipIconProps & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipLeadingIcon = ({\n className,\n ref: forwardedRef,\n ...props\n}: ChipLeadingIconProps) => (\n <ChipIcon className={cx('mr-sm', className)} ref={forwardedRef} {...props} />\n)\n\nChipLeadingIcon.displayName = 'Chip.LeadingIcon'\n","import { cx } from 'class-variance-authority'\nimport { Ref } from 'react'\n\nimport { ChipIcon, type ChipIconProps } from './ChipIcon'\n\nexport type ChipTrailingIconProps = ChipIconProps & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipTrailingIcon = ({\n className,\n ref: forwardedRef,\n ...props\n}: ChipTrailingIconProps) => (\n <ChipIcon className={cx('ml-md', className)} ref={forwardedRef} {...props} />\n)\n\nChipTrailingIcon.displayName = 'Chip.TrailingIcon'\n","import { Chip as Root } from './Chip'\nimport { ChipClearButton } from './ChipClearButton'\nimport { ChipContent } from './ChipContent'\nimport { ChipLeadingIcon } from './ChipLeadingIcon'\nimport { ChipTrailingIcon } from './ChipTrailingIcon'\n\nexport const Chip: typeof Root & {\n Content: typeof ChipContent\n LeadingIcon: typeof ChipLeadingIcon\n TrailingIcon: typeof ChipTrailingIcon\n ClearButton: typeof ChipClearButton\n} = Object.assign(Root, {\n Content: ChipContent,\n LeadingIcon: ChipLeadingIcon,\n TrailingIcon: ChipTrailingIcon,\n ClearButton: ChipClearButton,\n})\n\nChip.displayName = 'Chip'\nChip.ClearButton.displayName = 'Chip.ClearButton'\nChip.Content.displayName = 'Chip.Content'\nChip.LeadingIcon.displayName = 'Chip.LeadingIcon'\nChip.TrailingIcon.displayName = 'Chip.TrailingIcon'\n\nexport { type ChipClearButtonProps } from './ChipClearButton'\nexport { type ChipContentProps } from './ChipContent'\nexport { type ChipLeadingIconProps } from './ChipLeadingIcon'\nexport { type ChipTrailingIconProps } from './ChipTrailingIcon'\n"],"names":["outlinedVariants","tw","tintedVariants","dashedVariants","chipStyles","cva","makeVariants","ChipContext","createContext","useChipContext","useContext","getDisplayName","element","findElement","children","values","Children","isValidElement","child","displayName","useChipElement","onClick","asChild","pressed","defaultPressed","disabled","value","defaultValue","onClear","isPressed","setIsPressed","useCombinedState","innerValue","findChipElement","leadingIcon","trailingIcon","content","clearButton","isButton","formattedChildren","jsx","jsxs","Fragment","onKeyDown","event","emulateTab","Slot","Chip","design","intent","className","forwardedRef","otherProps","ChipElement","chipProps","compoundElements","chipClearButtonWrapperStyles","chipClearButtonStyles","ChipClearButton","Icon","Close","tabIndex","label","onClearHandler","useCallback","cloneElement","ChipContent","cx","ChipIcon","ChipLeadingIcon","props","ChipTrailingIcon","Root"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/chip/variants/outlined.ts","../../src/chip/variants/tinted.ts","../../src/chip/variants/dashed.ts","../../src/chip/Chip.styles.tsx","../../src/chip/useChipContext.tsx","../../src/chip/useChipElement.tsx","../../src/chip/Chip.tsx","../../src/chip/ChipClearButton.styles.tsx","../../src/chip/ChipClearButton.tsx","../../src/chip/ChipContent.tsx","../../src/chip/ChipIcon.tsx","../../src/chip/ChipLeadingIcon.tsx","../../src/chip/ChipTrailingIcon.tsx","../../src/chip/index.ts"],"sourcesContent":["import { tw } from '@spark-ui/internal-utils'\n\nexport const outlinedVariants = [\n /** Intents **/\n {\n design: 'outlined',\n intent: 'main',\n class: tw([\n 'enabled:hover:bg-main/dim-5',\n 'enabled:active:bg-main/dim-5',\n 'focus-visible:bg-main/dim-5',\n 'aria-pressed:bg-main-container aria-pressed:text-on-main-container aria-pressed:enabled:hover:bg-main-container/dim-1',\n 'text-main',\n ]),\n },\n {\n design: 'outlined',\n intent: 'support',\n class: tw([\n 'enabled:hover:bg-support/dim-5',\n 'enabled:active:bg-support/dim-5',\n 'focus-visible:bg-support/dim-5',\n 'aria-pressed:bg-support-container aria-pressed:text-on-support-container aria-pressed:enabled:hover:bg-support-container/dim-1',\n 'text-support',\n ]),\n },\n {\n design: 'outlined',\n intent: 'basic',\n class: tw([\n 'enabled:hover:bg-basic/dim-5',\n 'enabled:active:bg-basic/dim-5',\n 'focus-visible:bg-basic/dim-5',\n 'aria-pressed:bg-basic-container aria-pressed:text-on-basic-container aria-pressed:enabled:hover:bg-basic-container/dim-1',\n 'text-basic',\n ]),\n },\n {\n intent: 'accent',\n design: 'outlined',\n class: tw([\n 'enabled:hover:bg-accent/dim-5',\n 'enabled:active:bg-accent/dim-5',\n 'focus-visible:bg-accent/dim-5',\n 'aria-pressed:bg-accent-container',\n 'aria-pressed:bg-accent-container aria-pressed:text-on-accent-container aria-pressed:enabled:hover:bg-accent-container/dim-1',\n 'text-accent',\n ]),\n },\n {\n design: 'outlined',\n intent: 'success',\n class: tw([\n 'enabled:hover:bg-success/dim-5',\n 'enabled:active:bg-success/dim-5',\n 'focus-visible:bg-success/dim-5',\n 'aria-pressed:bg-success-container aria-pressed:text-on-success-container aria-pressed:enabled:hover:bg-success-container/dim-1',\n 'text-success',\n ]),\n },\n {\n intent: 'alert',\n design: 'outlined',\n class: tw([\n 'enabled:hover:bg-alert/dim-5',\n 'enabled:active:bg-alert/dim-5',\n 'focus-visible:bg-alert/dim-5',\n 'aria-pressed:bg-alert-container aria-pressed:text-on-alert-container aria-pressed:enabled:hover:bg-alert-container/dim-1',\n 'text-alert',\n ]),\n },\n {\n design: 'outlined',\n intent: 'danger',\n class: tw([\n 'enabled:hover:bg-error/dim-5',\n 'enabled:active:bg-error/dim-5',\n 'focus-visible:bg-error/dim-5',\n 'aria-pressed:bg-error-container aria-pressed:text-on-error-container aria-pressed:enabled:hover:bg-error-container/dim-1',\n 'text-error',\n ]),\n },\n {\n design: 'outlined',\n intent: 'info',\n class: tw([\n 'enabled:hover:bg-info/dim-5',\n 'enabled:active:bg-info/dim-5',\n 'focus-visible:bg-info/dim-5',\n 'aria-pressed:bg-info-container aria-pressed:text-on-info-container aria-pressed:enabled:hover:bg-info-container/dim-1',\n 'text-info',\n ]),\n },\n {\n design: 'outlined',\n intent: 'neutral',\n class: tw([\n 'enabled:hover:bg-neutral/dim-5',\n 'enabled:active:bg-neutral/dim-5',\n 'focus-visible:bg-neutral/dim-5',\n 'aria-pressed:bg-neutral-container aria-pressed:text-on-neutral-container aria-pressed:enabled:hover:bg-neutral-container/dim-1',\n 'text-neutral',\n ]),\n },\n {\n design: 'outlined',\n intent: 'surface',\n class: tw([\n 'enabled:hover:bg-surface/dim-5',\n 'enabled:active:bg-surface/dim-5',\n 'focus-visible:bg-surface/dim-5',\n 'aria-pressed:bg-surface aria-pressed:text-on-surface aria-pressed:enabled:hover:bg-surface-hovered',\n 'text-surface',\n ]),\n },\n /** Spacings **/\n {\n design: 'outlined',\n hasClearButton: false,\n class: tw(['px-[calc(var(--spacing-md)-var(--border-width-sm))]']),\n },\n {\n design: 'outlined',\n hasClearButton: true,\n class: tw(['pl-[calc(var(--spacing-md)-var(--border-width-sm))]']),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const tintedVariants = [\n /** Intents **/\n {\n intent: 'main',\n design: 'tinted',\n class: tw([\n 'bg-main-container',\n 'enabled:hover:bg-main-container-hovered',\n 'enabled:active:bg-main-container-hovered',\n 'focus-visible:bg-main-container-hovered',\n 'aria-pressed:bg-main aria-pressed:text-on-main aria-pressed:enabled:hover:bg-main/dim-1',\n 'text-on-main-container',\n ]),\n },\n {\n intent: 'support',\n design: 'tinted',\n class: tw([\n 'bg-support-container',\n 'enabled:hover:bg-support-container-hovered',\n 'enabled:active:bg-support-container-hovered',\n 'focus-visible:bg-support-container-hovered',\n 'aria-pressed:bg-support aria-pressed:text-on-support aria-pressed:enabled:hover:bg-support/dim-1',\n 'text-on-support-container',\n ]),\n },\n {\n intent: 'basic',\n design: 'tinted',\n class: tw([\n 'bg-basic-container',\n 'enabled:hover:bg-basic-container-hovered',\n 'enabled:active:bg-basic-container-hovered',\n 'focus-visible:bg-basic-container-hovered',\n 'aria-pressed:bg-basic aria-pressed:text-on-basic aria-pressed:enabled:hover:bg-basic/dim-1',\n 'text-on-basic-container',\n ]),\n },\n {\n intent: 'accent',\n design: 'tinted',\n class: tw([\n 'bg-accent-container',\n 'enabled:hover:bg-accent-container-hovered',\n 'enabled:active:bg-accent-container-hovered',\n 'focus-visible:bg-accent-container-hovered',\n 'aria-pressed:bg-accent aria-pressed:text-on-accent aria-pressed:enabled:hover:bg-accent/dim-1',\n 'text-on-accent-container',\n ]),\n },\n {\n intent: 'success',\n design: 'tinted',\n class: tw([\n 'bg-success-container',\n 'enabled:hover:bg-success-container-hovered',\n 'enabled:active:bg-success-container-hovered',\n 'focus-visible:bg-success-container-hovered',\n 'aria-pressed:bg-success aria-pressed:text-on-success aria-pressed:enabled:hover:bg-success/dim-1',\n 'text-on-success-container',\n ]),\n },\n {\n intent: 'alert',\n design: 'tinted',\n class: tw([\n 'bg-alert-container',\n 'enabled:hover:bg-alert-container-hovered',\n 'enabled:active:bg-alert-container-hovered',\n 'focus-visible:bg-alert-container-hovered',\n 'aria-pressed:bg-alert aria-pressed:text-on-alert aria-pressed:enabled:hover:bg-alert/dim-1',\n 'text-on-alert-container',\n ]),\n },\n {\n intent: 'danger',\n design: 'tinted',\n class: tw([\n 'bg-error-container',\n 'enabled:hover:bg-error-container-hovered',\n 'enabled:active:bg-error-container-hovered',\n 'focus-visible:bg-error-container-hovered',\n 'aria-pressed:bg-error aria-pressed:text-on-error aria-pressed:enabled:hover:bg-error/dim-1',\n 'text-on-error-container',\n ]),\n },\n {\n intent: 'info',\n design: 'tinted',\n class: tw([\n 'bg-info-container',\n 'enabled:hover:bg-info-container-hovered',\n 'enabled:active:bg-info-container-hovered',\n 'focus-visible:bg-info-container-hovered',\n 'aria-pressed:bg-info aria-pressed:text-on-info aria-pressed:enabled:hover:bg-info/dim-1',\n 'text-on-info-container',\n ]),\n },\n {\n intent: 'neutral',\n design: 'tinted',\n class: tw([\n 'bg-neutral-container',\n 'enabled:hover:bg-neutral-container-hovered',\n 'enabled:active:bg-neutral-container-hovered',\n 'focus-visible:bg-neutral-container-hovered',\n 'aria-pressed:bg-neutral aria-pressed:text-on-neutral aria-pressed:enabled:hover:bg-neutral/dim-1',\n 'text-on-neutral-container',\n ]),\n },\n {\n intent: 'surface',\n design: 'tinted',\n class: tw([\n 'bg-surface/dim-1',\n 'enabled:hover:bg-surface-hovered/dim-1',\n 'enabled:active:bg-surface-hovered/dim-1',\n 'focus-visible:bg-surface-hovered/dim-1',\n 'aria-pressed:bg-surface aria-pressed:text-on-surface aria-pressed:enabled:hover:bg-surface-hovered',\n 'text-on-surface/dim-1',\n ]),\n },\n /** Spacings **/\n {\n design: 'tinted',\n hasClearButton: false,\n class: tw(['px-md']),\n },\n {\n design: 'tinted',\n hasClearButton: true,\n class: tw(['pl-md']),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const dashedVariants = [\n /** Intents **/\n {\n intent: 'main',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-main/dim-5',\n 'enabled:active:bg-main/dim-5',\n 'focus-visible:bg-main/dim-5',\n 'aria-pressed:bg-main-container aria-pressed:text-on-main-container aria-pressed:enabled:hover:bg-main-container/dim-1',\n 'text-main',\n ]),\n },\n {\n intent: 'support',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-support/dim-5',\n 'enabled:active:bg-support/dim-5',\n 'focus-visible:bg-support/dim-5',\n 'aria-pressed:bg-support-container aria-pressed:text-on-support-container aria-pressed:enabled:hover:bg-support-container/dim-1',\n 'text-support',\n ]),\n },\n {\n intent: 'basic',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-basic/dim-5',\n 'enabled:active:bg-basic/dim-5',\n 'focus-visible:bg-basic/dim-5',\n 'aria-pressed:bg-basic-container aria-pressed:text-on-basic-container aria-pressed:enabled:hover:bg-basic-container/dim-1',\n 'text-basic',\n ]),\n },\n {\n intent: 'accent',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-accent/dim-5',\n 'enabled:active:bg-accent/dim-5',\n 'focus-visible:bg-accent/dim-5',\n 'aria-pressed:bg-accent-container aria-pressed:text-on-accent-container aria-pressed:enabled:hover:bg-accent-container/dim-1',\n 'text-accent',\n ]),\n },\n {\n intent: 'success',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-success/dim-5',\n 'enabled:active:bg-success/dim-5',\n 'focus-visible:bg-success/dim-5',\n 'aria-pressed:bg-success-container aria-pressed:text-on-success-container aria-pressed:enabled:hover:bg-success-container/dim-1',\n 'text-success',\n ]),\n },\n {\n intent: 'alert',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-alert/dim-5',\n 'enabled:active:bg-alert/dim-5',\n 'focus-visible:bg-alert/dim-5',\n 'aria-pressed:bg-alert-container aria-pressed:text-on-alert-container aria-pressed:enabled:hover:bg-alert-container/dim-1',\n 'text-alert',\n ]),\n },\n {\n intent: 'danger',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-error/dim-5',\n 'enabled:active:bg-error/dim-5',\n 'focus-visible:bg-error/dim-5',\n 'aria-pressed:bg-error-container aria-pressed:text-on-error-container aria-pressed:enabled:hover:bg-error-container/dim-1',\n 'text-error',\n ]),\n },\n {\n intent: 'info',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-info/dim-5',\n 'enabled:active:bg-info/dim-5',\n 'focus-visible:bg-info/dim-5',\n 'aria-pressed:bg-info-container aria-pressed:text-on-info-container aria-pressed:enabled:hover:bg-info-container/dim-1',\n 'text-info',\n ]),\n },\n {\n intent: 'neutral',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-neutral/dim-5',\n 'enabled:active:bg-neutral/dim-5',\n 'focus-visible:bg-neutral/dim-5',\n 'aria-pressed:bg-neutral-container aria-pressed:text-on-neutral-container aria-pressed:enabled:hover:bg-neutral-container/dim-1',\n 'text-neutral',\n ]),\n },\n {\n intent: 'surface',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-surface/dim-5',\n 'enabled:active:bg-surface/dim-5',\n 'focus-visible:bg-surface/dim-5',\n 'aria-pressed:bg-surface aria-pressed:text-on-surface aria-pressed:enabled:hover:bg-surface-hovered',\n 'text-surface',\n ]),\n },\n /** Spacings **/\n {\n design: 'dashed',\n hasClearButton: false,\n class: tw(['px-[calc(var(--spacing-md)-var(--border-width-sm))]']),\n },\n {\n design: 'dashed',\n hasClearButton: true,\n class: tw(['pl-[calc(var(--spacing-md)-var(--border-width-sm))]']),\n },\n] as const\n","import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nimport { dashedVariants, outlinedVariants, tintedVariants } from './variants'\n\nexport const chipStyles = cva(\n [\n 'box-border inline-flex h-sz-32 flex-nowrap items-center justify-center rounded-full text-body-1 font-regular',\n 'focus-visible:u-outline',\n 'ease-out duration-150',\n ],\n {\n variants: {\n /**\n * Main style of the chip.\n *\n * - `filled`: Chip will be plain.\n *\n * - `outlined`: Chip will be transparent with an outline.\n *\n * - `tinted`: Chip will be filled but using a lighter color scheme.\n *\n * - `dashed`: Chip will be transparent with an outline dashed.\n */\n design: makeVariants<'design', ['outlined', 'tinted', 'dashed']>({\n outlined: ['bg-transparent border-sm border-solid border-current'],\n tinted: [''],\n dashed: [\n 'bg-transparent border-sm border-dashed shadow-none focus-visible:border-outline-high',\n ],\n }),\n /**\n * Color scheme of the chip.\n */\n intent: makeVariants<\n 'intent',\n [\n 'main',\n 'support',\n 'basic',\n 'accent',\n 'success',\n 'alert',\n 'danger',\n 'info',\n 'neutral',\n 'surface',\n ]\n >({\n main: [],\n support: [],\n basic: [],\n accent: [],\n success: [],\n alert: [],\n danger: [],\n info: [],\n neutral: [],\n surface: [],\n }),\n /**\n * Disable the chip, preventing user interaction and adding opacity.\n */\n disabled: {\n true: ['cursor-not-allowed', 'opacity-dim-3'],\n },\n hasClearButton: {\n true: [],\n false: [],\n },\n // 'pl-[calc(var(--spacing-md)-(var(--border-width-sm)))]'\n },\n compoundVariants: [...outlinedVariants, ...tintedVariants, ...dashedVariants],\n defaultVariants: {\n design: 'outlined',\n intent: 'basic',\n },\n }\n)\n\nexport type ChipStylesProps = VariantProps<typeof chipStyles>\n","import { createContext, useContext } from 'react'\n\nimport { type ChipProps } from './Chip'\n\nexport type ChipsContextType = Pick<ChipProps, 'disabled' | 'design' | 'intent' | 'onClear'>\n\nexport const ChipContext = createContext<ChipsContextType>({} as ChipsContextType)\nexport const useChipContext = () => useContext(ChipContext) || {}\n","import { useCombinedState } from '@spark-ui/hooks/use-combined-state'\nimport { emulateTab } from 'emulate-tab'\nimport {\n Children,\n ElementType,\n FC,\n ForwardRefExoticComponent,\n HTMLAttributes,\n isValidElement,\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n ReactNode,\n RefAttributes,\n} from 'react'\n\nimport { Slot } from '../slot'\n\ninterface ReturnedValue {\n Element:\n | ForwardRefExoticComponent<\n HTMLAttributes<HTMLElement> & {\n children?: ReactNode\n } & RefAttributes<HTMLElement>\n >\n | ElementType\n chipProps:\n | {\n type: 'button'\n 'aria-pressed'?: boolean\n 'data-state'?: 'on' | 'off'\n onClick: (event: MouseEvent<HTMLButtonElement>) => void\n onKeyDown?: (event: KeyboardEvent<HTMLButtonElement>) => void\n disabled?: boolean\n children: ReactNode\n }\n | {\n 'aria-disabled'?: boolean\n children: ReactNode\n onKeyDown?: (event: KeyboardEvent<HTMLButtonElement>) => void\n }\n compoundElements: {\n leadingIcon: ReactNode\n trailingIcon: ReactNode\n content: ReactNode\n clearButton: ReactNode\n }\n}\n\nconst getDisplayName = (element?: ReactElement) => {\n return element ? (element.type as FC).displayName : ''\n}\n\nconst findElement =\n (children: ReactNode) =>\n (...values: string[]) => {\n const validChildren = Children.toArray(children).filter(isValidElement)\n\n return validChildren.find(child => {\n const displayName = getDisplayName(child)\n\n return values.includes(displayName || '')\n })\n }\n\nexport const useChipElement = ({\n onClick,\n asChild,\n pressed,\n defaultPressed,\n disabled,\n value,\n defaultValue,\n children,\n onClear,\n}: {\n onClick?: (\n event: MouseEvent<HTMLButtonElement>,\n args: { pressed: boolean; value?: string | number | readonly string[] }\n ) => void\n onKeyDown?: (event: KeyboardEvent<HTMLButtonElement>) => void\n asChild?: boolean\n pressed?: boolean\n defaultPressed?: boolean\n value?: string | number | readonly string[]\n defaultValue?: string | number | readonly string[]\n disabled?: boolean\n children?: ReactNode\n onClear?: (event?: MouseEvent<HTMLButtonElement>) => void\n}): ReturnedValue => {\n const [isPressed, setIsPressed] = useCombinedState<boolean | undefined>(pressed, defaultPressed)\n const [innerValue] = useCombinedState<string | number | readonly string[] | undefined>(\n value,\n defaultValue\n )\n\n const findChipElement = findElement(children)\n\n const leadingIcon = findChipElement('Chip.LeadingIcon')\n const trailingIcon = findChipElement('Chip.TrailingIcon')\n const content = findChipElement('Chip.Content')\n const clearButton = findChipElement('Chip.ClearButton')\n\n const isButton = (onClick || isPressed) !== undefined\n\n const formattedChildren = [leadingIcon, content, clearButton].every(\n element => element === undefined\n ) ? (\n <span className=\"inline-block grow truncate\">{children}</span>\n ) : (\n <>\n {leadingIcon}\n {content}\n {leadingIcon === undefined ? trailingIcon : null}\n {clearButton}\n </>\n )\n\n const onKeyDown = (event: KeyboardEvent<HTMLButtonElement>): void => {\n if (!!clearButton && !disabled && ['Delete', 'Backspace'].includes(event.key)) {\n if (onClear) {\n onClear()\n event.key === 'Delete' && emulateTab()\n event.key === 'Backspace' && emulateTab.backwards()\n }\n }\n }\n\n if (isButton) {\n return {\n Element: asChild ? Slot : 'button',\n chipProps: {\n type: 'button',\n ...(isPressed !== undefined && {\n 'aria-pressed': isPressed,\n 'data-state': isPressed ? 'on' : 'off',\n }),\n onClick: (event: MouseEvent<HTMLButtonElement>): void => {\n isPressed !== undefined && setIsPressed(!isPressed)\n onClick && onClick(event, { pressed: isPressed as boolean, value: innerValue })\n },\n onKeyDown,\n disabled,\n children: formattedChildren,\n },\n compoundElements: {\n leadingIcon,\n trailingIcon,\n content,\n clearButton,\n },\n }\n }\n\n return {\n Element: asChild ? Slot : 'div',\n chipProps: {\n 'aria-disabled': disabled,\n children: formattedChildren,\n onKeyDown,\n },\n compoundElements: {\n leadingIcon,\n trailingIcon,\n content,\n clearButton,\n },\n }\n}\n","import { ComponentPropsWithoutRef, MouseEvent, Ref } from 'react'\n\nimport { chipStyles, type ChipStylesProps } from './Chip.styles'\nimport { ChipContext } from './useChipContext'\nimport { useChipElement } from './useChipElement'\n\ntype ChipPrimitiveProps = Omit<ComponentPropsWithoutRef<'button'>, 'onClick' | 'disabled' | 'type'>\n\nexport interface ChipProps extends ChipPrimitiveProps, Omit<ChipStylesProps, 'hasClearButton'> {\n /**\n * Configures a toggleButton aria-pressed initial value\n */\n defaultPressed?: boolean\n /**\n * Configures a toggleButton aria-pressed value\n */\n pressed?: boolean\n /**\n * Change the component to the HTML tag or custom component of the only child.\n */\n asChild?: boolean\n /**\n * Event handler fired each clicking event\n */\n onClick?: (\n event: MouseEvent<HTMLButtonElement>,\n args: { pressed: boolean; value?: number | string | readonly string[] }\n ) => void\n /**\n * Clear chip handler\n */\n onClear?: (event?: MouseEvent<HTMLButtonElement>) => void\n ref?: Ref<HTMLButtonElement | HTMLDivElement>\n}\n\nexport const Chip = ({\n design = 'outlined',\n disabled,\n children,\n intent = 'basic',\n defaultPressed,\n pressed,\n asChild,\n className,\n onClick,\n onClear,\n ref: forwardedRef,\n ...otherProps\n}: ChipProps) => {\n const {\n Element: ChipElement,\n chipProps: { children: formattedChildren, ...chipProps },\n compoundElements,\n } = useChipElement({\n asChild,\n pressed,\n defaultPressed,\n onClick,\n disabled: !!disabled,\n value: otherProps.value,\n defaultValue: otherProps.defaultValue,\n children,\n onClear,\n })\n\n const { clearButton } = compoundElements\n\n return (\n <ChipContext.Provider value={{ disabled, design, intent, onClear }}>\n <ChipElement\n ref={forwardedRef}\n className={chipStyles({\n className,\n design,\n disabled,\n intent,\n hasClearButton: !!clearButton,\n })}\n {...{\n ...chipProps,\n ...otherProps,\n }}\n data-spark-component=\"chip\"\n >\n {formattedChildren}\n </ChipElement>\n </ChipContext.Provider>\n )\n}\n\nChip.displayName = 'Chip'\n","import { tw } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nexport const chipClearButtonWrapperStyles = cva(\n ['ml-md flex h-full items-center justify-center focus-visible:outline-hidden'],\n {\n variants: {\n disabled: {\n false: ['cursor-pointer'],\n true: ['cursor-not-allowed'],\n },\n isBordered: {\n false: ['pr-md'],\n true: ['pr-[7px]'],\n },\n design: {\n outlined: [],\n tinted: [],\n dashed: [],\n },\n },\n compoundVariants: [\n {\n design: 'outlined',\n disabled: false,\n class: tw(['hover:opacity-dim-1']),\n },\n {\n design: 'outlined',\n disabled: true,\n class: tw(['opacity-dim-3']),\n },\n {\n design: 'tinted',\n disabled: false,\n class: tw(['hover:opacity-dim-1']),\n },\n {\n design: 'tinted',\n disabled: true,\n class: tw(['opacity-dim-3']),\n },\n {\n design: 'dashed',\n disabled: false,\n class: tw(['hover:opacity-dim-1']),\n },\n {\n design: 'dashed',\n disabled: true,\n class: tw(['opacity-dim-3']),\n },\n ],\n }\n)\n\nexport const chipClearButtonStyles = cva(\n ['rounded-full p-sz-2 [font-size:var(--spacing-sz-8)] border-sm', 'focus-visible:u-outline'],\n {\n variants: {\n disabled: {\n true: ['cursor-not-allowed'],\n false: ['cursor-pointer'],\n },\n },\n defaultVariants: {\n disabled: false,\n },\n }\n)\n\nexport type ChipClearButtonStylesProps = VariantProps<typeof chipClearButtonWrapperStyles>\n","import { Close } from '@spark-ui/icons/Close'\nimport {\n cloneElement,\n ComponentPropsWithoutRef,\n MouseEvent,\n ReactElement,\n Ref,\n useCallback,\n} from 'react'\n\nimport { Icon } from '../icon'\nimport {\n chipClearButtonStyles,\n type ChipClearButtonStylesProps,\n chipClearButtonWrapperStyles,\n} from './ChipClearButton.styles'\nimport { useChipContext } from './useChipContext'\n\nexport interface ChipClearButtonProps\n extends ComponentPropsWithoutRef<'span'>,\n ChipClearButtonStylesProps {\n label: string\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipClearButton = ({\n children = (\n <Icon>\n <Close />\n </Icon>\n ),\n tabIndex = 0,\n label,\n ref: forwardedRef,\n}: ChipClearButtonProps) => {\n const { design, disabled, onClear } = useChipContext()\n\n const onClearHandler = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation()\n !disabled && onClear && onClear(event)\n },\n [disabled, onClear]\n )\n\n return (\n <span\n className={chipClearButtonWrapperStyles({\n isBordered: ['outline', 'dashed'].includes(`${design}`),\n disabled: !!disabled,\n design,\n })}\n onClick={onClearHandler}\n ref={forwardedRef}\n >\n <button\n tabIndex={tabIndex}\n type=\"button\"\n disabled={!!disabled}\n className={chipClearButtonStyles({ disabled })}\n aria-label={label}\n >\n {children && cloneElement(children as ReactElement<HTMLElement>, { ariaLabel: label })}\n </button>\n </span>\n )\n}\n\nChipClearButton.displayName = 'Chip.ClearButton'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nexport type ChipContentProps = ComponentPropsWithoutRef<'span'> & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipContent = ({ children, className, ref: forwardedRef }: ChipContentProps) => {\n return (\n <span className={cx('inline-block grow truncate', className)} ref={forwardedRef}>\n {children}\n </span>\n )\n}\n\nChipContent.displayName = 'Chip.Content'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nexport type ChipIconProps = ComponentPropsWithoutRef<'span'> & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipIcon = ({ children, className, ref: forwardedRef }: ChipIconProps) => {\n return (\n <span className={cx('flex h-full items-center justify-center', className)} ref={forwardedRef}>\n {children}\n </span>\n )\n}\n\nChipIcon.displayName = 'Chip.Icon'\n","import { cx } from 'class-variance-authority'\nimport { Ref } from 'react'\n\nimport { ChipIcon, type ChipIconProps } from './ChipIcon'\n\nexport type ChipLeadingIconProps = ChipIconProps & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipLeadingIcon = ({\n className,\n ref: forwardedRef,\n ...props\n}: ChipLeadingIconProps) => (\n <ChipIcon className={cx('mr-sm', className)} ref={forwardedRef} {...props} />\n)\n\nChipLeadingIcon.displayName = 'Chip.LeadingIcon'\n","import { cx } from 'class-variance-authority'\nimport { Ref } from 'react'\n\nimport { ChipIcon, type ChipIconProps } from './ChipIcon'\n\nexport type ChipTrailingIconProps = ChipIconProps & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipTrailingIcon = ({\n className,\n ref: forwardedRef,\n ...props\n}: ChipTrailingIconProps) => (\n <ChipIcon className={cx('ml-md', className)} ref={forwardedRef} {...props} />\n)\n\nChipTrailingIcon.displayName = 'Chip.TrailingIcon'\n","import { Chip as Root } from './Chip'\nimport { ChipClearButton } from './ChipClearButton'\nimport { ChipContent } from './ChipContent'\nimport { ChipLeadingIcon } from './ChipLeadingIcon'\nimport { ChipTrailingIcon } from './ChipTrailingIcon'\n\nexport const Chip: typeof Root & {\n Content: typeof ChipContent\n LeadingIcon: typeof ChipLeadingIcon\n TrailingIcon: typeof ChipTrailingIcon\n ClearButton: typeof ChipClearButton\n} = Object.assign(Root, {\n Content: ChipContent,\n LeadingIcon: ChipLeadingIcon,\n TrailingIcon: ChipTrailingIcon,\n ClearButton: ChipClearButton,\n})\n\nChip.displayName = 'Chip'\nChip.ClearButton.displayName = 'Chip.ClearButton'\nChip.Content.displayName = 'Chip.Content'\nChip.LeadingIcon.displayName = 'Chip.LeadingIcon'\nChip.TrailingIcon.displayName = 'Chip.TrailingIcon'\n\nexport { type ChipClearButtonProps } from './ChipClearButton'\nexport { type ChipContentProps } from './ChipContent'\nexport { type ChipLeadingIconProps } from './ChipLeadingIcon'\nexport { type ChipTrailingIconProps } from './ChipTrailingIcon'\n"],"names":["outlinedVariants","tw","tintedVariants","dashedVariants","chipStyles","cva","makeVariants","ChipContext","createContext","useChipContext","useContext","getDisplayName","element","findElement","children","values","Children","isValidElement","child","displayName","useChipElement","onClick","asChild","pressed","defaultPressed","disabled","value","defaultValue","onClear","isPressed","setIsPressed","useCombinedState","innerValue","findChipElement","leadingIcon","trailingIcon","content","clearButton","isButton","formattedChildren","jsx","jsxs","Fragment","onKeyDown","event","emulateTab","Slot","Chip","design","intent","className","forwardedRef","otherProps","ChipElement","chipProps","compoundElements","chipClearButtonWrapperStyles","chipClearButtonStyles","ChipClearButton","Icon","Close","tabIndex","label","onClearHandler","useCallback","cloneElement","ChipContent","cx","ChipIcon","ChipLeadingIcon","props","ChipTrailingIcon","Root"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
2
  import { Collapsible as n } from "@base-ui/react/collapsible";
3
3
  import { cx as m } from "class-variance-authority";
4
- import { a as b } from "../Slot-D2Bbf8Gw.mjs";
4
+ import { S as b } from "../Slot-DLY1rJrG.mjs";
5
5
  function r(e, o) {
6
6
  const l = e ? b : o;
7
7
  return e ? ({ ...t }) => /* @__PURE__ */ a(l, { ...t }) : void 0;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),J=require("@spark-ui/components/form-field"),we=require("@spark-ui/hooks/use-combined-state"),I=require("downshift"),l=require("react"),M=require("../popover/index.js"),Pe=require("@spark-ui/icons/DeleteOutline"),x=require("class-variance-authority"),A=require("../Icon-CF0W0LKr.js"),L=require("@spark-ui/hooks/use-merge-refs"),Ze=require("@spark-ui/icons/ArrowHorizontalDown"),et=require("../IconButton-D3g86WpZ.js"),tt=require("../VisuallyHidden-CB6Nx76j.js"),ot=require("@spark-ui/icons/Check"),st=require("../Spinner-_Kffli3B.js");function Ne(e,o){let t=0;for(const[s]of e.entries()){if(s===o)return t;t++}return-1}const nt=(e,o)=>{let t=0;for(const s of e.keys()){if(t===o)return s;t++}},rt=(e,o)=>{const t=nt(e,o);return t!==void 0?e.get(t):void 0},$=e=>e?e.type.displayName:"",Se=(e,o=[])=>(l.Children.forEach(e,t=>{if(l.isValidElement(t)){if($(t)==="Combobox.Item"){const s=t.props;o.push({value:s.value,disabled:!!s.disabled,text:je(s.children)})}t.props.children&&Se(t.props.children,o)}}),o),Te=e=>{if(!e)return"";for(const o of l.Children.toArray(e))if(l.isValidElement(o)){const t=o;if($(t)==="Combobox.ItemText")return t.props.children;const s=Te(t.props.children);if(s)return s}return""},je=e=>typeof e=="string"?e:Te(e),ve=e=>{const o=new Map;return Se(e).forEach(t=>{o.set(t.value,t)}),o},Ee=(e,o)=>l.Children.toArray(e).some(t=>l.isValidElement(t)?$(t)===o?!0:t.props.children?Ee(t.props.children,o):!1:!1),F=(e,o)=>l.Children.toArray(e).filter(l.isValidElement).find(t=>o===$(t)||""),lt=({multiselect:e,selectedItems:o,allowCustomValue:t=!1,setSelectedItems:s,triggerAreaRef:a,items:r})=>(c,{changes:n,type:p})=>{const m=a.current?.contains?.(document.activeElement);switch(p){case I.useCombobox.stateChangeTypes.InputClick:return{...n,isOpen:!0};case I.useCombobox.stateChangeTypes.InputKeyDownEnter:case I.useCombobox.stateChangeTypes.ItemClick:{const f={...n};if(n.selectedItem!=null){f.inputValue="",f.isOpen=!0;const T=Ne(r,n.selectedItem.value);f.highlightedIndex=T;const j=e.selectedItems.some(y=>y.value===n.selectedItem?.value)?o.filter(y=>y.value!==n.selectedItem?.value):[...o,n.selectedItem];s(j)}return f}case I.useCombobox.stateChangeTypes.ToggleButtonClick:return{...n,inputValue:t?n.inputValue:""};case I.useCombobox.stateChangeTypes.InputChange:return{...n,selectedItem:n.highlightedIndex===-1?null:n.selectedItem};case I.useCombobox.stateChangeTypes.InputBlur:return{...n,inputValue:t?n.inputValue:"",isOpen:m};default:return n}},at=({filteredItems:e,allowCustomValue:o=!1,setSelectedItem:t})=>(a,{changes:r,type:u})=>{const c=e.find(n=>n.text.toLowerCase()===a.inputValue.toLowerCase());switch(u){case I.useCombobox.stateChangeTypes.InputKeyDownEscape:return r.selectedItem||t(null),r;case I.useCombobox.stateChangeTypes.ItemClick:case I.useCombobox.stateChangeTypes.InputKeyDownEnter:return r.selectedItem&&t(r.selectedItem),r;case I.useCombobox.stateChangeTypes.InputClick:return{...r,isOpen:!0};case I.useCombobox.stateChangeTypes.ToggleButtonClick:case I.useCombobox.stateChangeTypes.InputBlur:return o?r:a.inputValue===""?(t(null),{...r,selectedItem:null}):c?(t(c),{...r,selectedItem:c,inputValue:c.text}):a.selectedItem?{...r,inputValue:a.selectedItem.text}:{...r,inputValue:""};default:return r}},Oe=l.createContext(null),U=(e,o)=>o?new Map(Array.from(e).filter(([t,{text:s}])=>s.toLowerCase().includes(o.toLowerCase()))):e,K=":combobox",ke=({children:e,state:o,allowCustomValue:t=!1,filtering:s="auto",disabled:a=!1,multiple:r=!1,readOnly:u=!1,wrap:c=!0,value:n,defaultValue:p,onValueChange:m,open:f,defaultOpen:T,onOpenChange:C,isLoading:j})=>{const y=l.useRef(!1),[P,N]=l.useState(""),[k,w]=l.useState(s==="strict"),R=l.useRef(null),E=l.useRef(null),[W,B]=l.useState(null),[O]=we.useCombinedState(n,p),G=s==="strict"||s==="auto"&&k,[h,Ae]=l.useState(ve(e)),[z,me]=l.useState(G?U(h,P):h),[pe,be]=l.useState(h.get(O)||null),[xe,fe]=l.useState(O?[...h.values()].filter(d=>O.includes(d.value)):[]),Ie=d=>{w(!1),d?.value!==pe?.value&&(be(d),setTimeout(()=>{m?.(d?.value)},0))},H=d=>{fe(d),setTimeout(()=>{m?.(d.map(g=>g.value))},0)};l.useEffect(()=>{if(!y.current){y.current=!0;return}if(r){const d=O.reduce((g,b)=>{const S=h.get(b);return S?[...g,S]:g},[]);fe(O?d:[])}else be(h.get(O)||null)},[r?JSON.stringify(O):O]);const D=J.useFormFieldControl(),Le=`${K}-label-${l.useId()}`,Be=`${K}-field-${l.useId()}`,Ce=D.id||Be,ze=D.labelId||Le,qe=D.state||o,Ke=D.disabled??a,$e=D.readOnly??u,[ye,We]=l.useState(Ee(e,"Combobox.Popover")),[Ge,He]=l.useState(!1),[_e,Ue]=l.useState("mouse");l.useEffect(()=>{me(G?U(h,P):h)},[P,h]);const ge=I.useMultipleSelection({selectedItems:xe,stateReducer:(d,{type:g,changes:b})=>{const S=I.useMultipleSelection.stateChangeTypes;switch(g){case S.SelectedItemKeyDownBackspace:case S.SelectedItemKeyDownDelete:{H(b.selectedItems||[]);let V;return g===S.SelectedItemKeyDownDelete?V=d?.activeIndex===b.selectedItems?.length?-1:d.activeIndex:V=(b?.activeIndex||0)-1>=0?d.activeIndex-1:b?.activeIndex,{...b,activeIndex:V}}case S.SelectedItemClick:return E.current&&E.current.focus(),{...b,activeIndex:-1};case S.FunctionRemoveSelectedItem:return{...b,activeIndex:-1};case S.DropdownKeyDownNavigationPrevious:return _.closeMenu(),b;default:return b}}}),he=Array.from(z.values());l.useEffect(()=>{W?.(P||"")},[P]);const _=I.useCombobox({inputId:Ce,items:he,selectedItem:r?void 0:pe,id:Ce,labelId:ze,inputValue:P,onInputValueChange:({inputValue:d})=>{if(N(d),G){const g=U(h,d||"");me(g)}},initialIsOpen:T,...f!=null&&{isOpen:f},onIsOpenChange:d=>{d.isOpen!=null&&C?.(d.isOpen)},itemToString:d=>d?.text,isItemDisabled:d=>{const g=!!P&&!he.some(b=>d.value===b.value);return d.disabled||g},stateReducer:r?lt({multiselect:ge,selectedItems:xe,allowCustomValue:t,setSelectedItems:H,triggerAreaRef:R,items:h}):at({allowCustomValue:t,setSelectedItem:Ie,filteredItems:[...z.values()]}),scrollIntoView:d=>{d&&d.scrollIntoView({block:"nearest"})}});l.useEffect(()=>{const d=ve(e),g=[...h.values()],b=[...d.values()];(g.length!==b.length||g.some((V,q)=>{const Qe=V.value!==b[q]?.value,Ye=V.text!==b[q]?.text;return Qe||Ye}))&&Ae(d)},[e]);const[Je,Xe]=ye?[M.Popover,{open:!0}]:[l.Fragment,{}];return i.jsx(Oe.Provider,{value:{itemsMap:h,filteredItemsMap:z,highlightedItem:rt(z,_.highlightedIndex),multiple:r,disabled:Ke,readOnly:$e,areSelectedItemsInTrigger:Ge,setAreSelectedItemsInTrigger:He,hasPopover:ye,setHasPopover:We,state:qe,lastInteractionType:_e,setLastInteractionType:Ue,wrap:c,innerInputRef:E,triggerAreaRef:R,..._,...ge,setInputValue:N,selectItem:Ie,setSelectedItems:H,isLoading:j,setOnInputValueChange:B,isTyping:k,setIsTyping:w},children:i.jsx(Je,{...Xe,children:e})})},v=()=>{const e=l.useContext(Oe);if(!e)throw Error("useComboboxContext must be used within a Combobox provider");return e},Re=({children:e,...o})=>i.jsx(ke,{...o,children:e});Re.displayName="Combobox";const X=({className:e,tabIndex:o=-1,onClick:t,ref:s,...a})=>{const r=v(),u=c=>{c.stopPropagation(),r.multiple?r.setSelectedItems([]):r.selectItem(null),r.setInputValue(""),r.innerInputRef.current&&r.innerInputRef.current.focus(),t&&t(c)};return i.jsx("button",{ref:s,className:x.cx(e,"h-sz-44 text-neutral hover:text-neutral-hovered"),tabIndex:o,onClick:u,type:"button",...a,children:i.jsx(A.Icon,{size:"sm",children:i.jsx(Pe.DeleteOutline,{})})})};X.displayName="Combobox.ClearButton";const Q=({className:e,closedLabel:o,openedLabel:t,intent:s="neutral",design:a="ghost",size:r="sm",ref:u,...c})=>{const n=v(),{ref:p,...m}=n.getToggleButtonProps({disabled:n.disabled||n.readOnly,onClick:C=>{C.stopPropagation()}}),f=m["aria-expanded"],T=L.useMergeRefs(u,p);return i.jsx(et.IconButton,{ref:T,className:x.cx(e,"ml-sm mt-[calc((44px-32px)/2)]"),intent:s,design:a,size:r,...m,...c,"aria-label":f?t:o,disabled:n.disabled,children:i.jsx(A.Icon,{className:x.cx("shrink-0","rotate-0 transition duration-100 ease-in",{"rotate-180":f}),size:"sm",children:i.jsx(Ze.ArrowHorizontalDown,{})})})};Q.displayName="Combobox.Disclosure";const Y=({className:e,children:o,ref:t})=>v().filteredItemsMap.size===0?i.jsx("div",{ref:t,className:x.cx("px-lg py-md text-body-1 text-on-surface/dim-1",e),children:o}):null;Y.displayName="Combobox.Empty";const Ve=l.createContext(null),it=({children:e})=>{const o=`${K}-group-label-${l.useId()}`;return i.jsx(Ve.Provider,{value:{groupLabelId:o},children:e})},De=()=>{const e=l.useContext(Ve);if(!e)throw Error("useComboboxGroupContext must be used within a ComboboxGroup provider");return e},Z=({children:e,ref:o,...t})=>i.jsx(it,{children:i.jsx(ct,{ref:o,...t,children:e})}),ct=({children:e,className:o,ref:t})=>{const s=v(),a=De();return l.Children.toArray(e).some(u=>l.isValidElement(u)&&s.filteredItemsMap.get(u.props.value))?i.jsx("div",{ref:t,role:"group","aria-labelledby":a.groupLabelId,className:x.cx(o),children:e}):null};Z.displayName="Combobox.Group";const ee=({"aria-label":e,className:o,placeholder:t,value:s,defaultValue:a,onValueChange:r,ref:u,...c})=>{const n=v(),p=J.useFormFieldControl(),[m]=we.useCombinedState(s,a),{isInvalid:f,description:T}=p;l.useEffect(()=>{m!=null&&n.setInputValue(m)},[m]),l.useEffect(()=>{r&&n.setOnInputValueChange(()=>r),!n.multiple&&n.selectedItem&&n.setInputValue(n.selectedItem.text)},[]);const C=n.hasPopover?M.Popover.Trigger:l.Fragment,j=n.hasPopover?{asChild:!0,type:void 0}:{},y=n.getDropdownProps(),P=L.useMergeRefs(u,n.innerInputRef,y.ref),N=n.getInputProps({disabled:n.disabled||n.readOnly,...y,onKeyDown:E=>{y.onKeyDown?.(E),n.setLastInteractionType("keyboard"),n.setIsTyping(!0)},onChange:E=>{n.setInputValue(E.target.value)},ref:P}),k=n.multiple?!n.areSelectedItemsInTrigger||n.selectedItems.length===0:n.selectedItem===null;function w(E,W){return B=>{E?.(B),W?.(B)}}const R={onBlur:w(c.onBlur,N.onBlur),onChange:w(c.onChange,N.onChange),onClick:w(c.onClick,N.onClick),onKeyDown:w(c.onKeyDown,N.onKeyDown)};return i.jsxs(i.Fragment,{children:[e&&i.jsx(tt.VisuallyHidden,{children:i.jsx("label",{...n.getLabelProps(),children:e})}),i.jsx(C,{...j,children:i.jsx("input",{"data-spark-component":"combobox-input",type:"text",...k&&{placeholder:t},className:x.cx("max-w-full shrink-0 grow basis-[80px]","h-sz-28 bg-surface px-sm text-body-1 text-ellipsis outline-hidden","disabled:text-on-surface/dim-3 disabled:cursor-not-allowed disabled:bg-transparent","read-only:text-on-surface read-only:cursor-default read-only:bg-transparent",o),...c,...N,...R,value:n.inputValue,"aria-label":e,disabled:n.disabled,readOnly:n.readOnly,"aria-invalid":f,"aria-describedby":T})})]})};ee.displayName="Combobox.Input";const Fe=l.createContext(null),ut=({value:e,disabled:o=!1,children:t})=>{const s=v(),[a,r]=l.useState(void 0),u=Ne(s.filteredItemsMap,e),c={disabled:o,value:e,text:je(t)},n=s.multiple?s.selectedItems.some(p=>p.value===e):s.selectedItem?.value===e;return i.jsx(Fe.Provider,{value:{textId:a,setTextId:r,isSelected:n,itemData:c,index:u,disabled:o},children:t})},te=()=>{const e=l.useContext(Fe);if(!e)throw Error("useComboboxItemContext must be used within a ComboboxItem provider");return e},oe=({children:e,ref:o,...t})=>{const{value:s,disabled:a}=t;return i.jsx(ut,{value:s,disabled:a,children:i.jsx(mt,{ref:o,...t,children:e})})},dt=x.cva("px-lg py-md text-body-1",{variants:{selected:{true:"font-bold"},disabled:{true:"opacity-dim-3 cursor-not-allowed",false:"cursor-pointer"},highlighted:{true:""},interactionType:{mouse:"",keyboard:""}},compoundVariants:[{highlighted:!0,interactionType:"mouse",class:"bg-surface-hovered"},{highlighted:!0,interactionType:"keyboard",class:"u-outline"}]}),mt=({className:e,disabled:o=!1,value:t,children:s,ref:a,...r})=>{const u=v(),c=te(),n=!!u.filteredItemsMap.get(t),{ref:p,...m}=u.getItemProps({item:c.itemData,index:c.index}),f=L.useMergeRefs(a,p);return n?i.jsx("li",{ref:f,className:x.cx(dt({selected:c.isSelected,disabled:o,highlighted:u.highlightedItem?.value===t,interactionType:u.lastInteractionType,className:e})),...m,...r,"aria-selected":c.isSelected,"aria-labelledby":c.textId,children:s},t):null};oe.displayName="Combobox.Item";const se=({className:e,children:o,label:t,ref:s})=>{const{disabled:a,isSelected:r}=te(),u=o||i.jsx(A.Icon,{size:"sm",children:i.jsx(ot.Check,{"aria-label":t})});return i.jsx("span",{ref:s,className:x.cx("min-h-sz-16 min-w-sz-16 flex",a&&"opacity-dim-3",e),children:r&&u})};se.displayName="Combobox.ItemIndicator";const ne=({children:e,className:o,ref:t,...s})=>{const a=v(),{ref:r,...u}=a.getMenuProps({onMouseMove:()=>{a.setLastInteractionType("mouse")}}),c=l.useRef(null),n=L.useMergeRefs(t,r,c),p=a.hasPopover?a.isOpen:!0,m=a.hasPopover&&!p;return l.useLayoutEffect(()=>{c.current?.parentElement&&(c.current.parentElement.style.pointerEvents=m?"none":"",c.current.style.pointerEvents=m?"none":"")},[m]),i.jsx("ul",{ref:n,className:x.cx(o,"flex flex-col",p?"block":"pointer-events-none invisible opacity-0",a.hasPopover&&"p-lg",a.isLoading&&"items-center overflow-y-auto"),...s,...u,"aria-busy":a.isLoading,"data-spark-component":"combobox-items",children:a.isLoading?i.jsx(st.Spinner,{size:"sm"}):e})};ne.displayName="Combobox.Items";const re=({children:e,className:o,ref:t})=>{const s=`${K}-item-text-${l.useId()}`,{setTextId:a}=te();return l.useEffect(()=>(a(s),()=>a(void 0))),i.jsx("span",{id:s,className:x.cx("inline",o),ref:t,children:e})};re.displayName="Combobox.ItemText";const le=({children:e,className:o,ref:t})=>{const s=De();return i.jsx("div",{ref:t,id:s.groupLabelId,className:x.cx("px-md py-sm text-body-2 text-neutral italic",o),children:e})};le.displayName="Combobox.Label";const ae=({children:e})=>i.jsx(A.Icon,{size:"sm",className:"h-sz-44 shrink-0",children:e});ae.displayName="Combobox.LeadingIcon";const ie=({children:e,matchTriggerWidth:o=!0,sideOffset:t=4,className:s,ref:a,...r})=>{const u=v();return l.useEffect(()=>(u.setHasPopover(!0),()=>u.setHasPopover(!1)),[]),i.jsx(M.Popover.Content,{ref:a,inset:!0,asChild:!0,matchTriggerWidth:o,className:x.cx("z-dropdown! relative",s),sideOffset:t,onOpenAutoFocus:c=>{c.preventDefault()},...r,"data-spark-component":"combobox-popover",children:e})};ie.displayName="Combobox.Popover";const ce=({children:e,...o})=>i.jsx(M.Popover.Portal,{...o,children:e});ce.displayName="Combobox.Portal";const pt=({item:e,index:o})=>{const t=v(),s=!t.disabled&&!t.readOnly,a=n=>{const p=n.target;t.lastInteractionType==="keyboard"&&p.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})},{disabled:r,...u}=t.getSelectedItemProps({disabled:t.disabled||t.readOnly,selectedItem:e,index:o}),c=r?"button":"span";return i.jsxs(c,{role:"presentation","data-spark-component":"combobox-selected-item",className:x.cx("h-sz-28 bg-neutral-container flex items-center rounded-md align-middle","text-body-2 text-on-neutral-container","disabled:opacity-dim-3 disabled:cursor-not-allowed","focus-visible:u-outline-inset outline-hidden",{"px-md":!s,"pl-md":s}),...u,tabIndex:-1,...r&&{disabled:!0},onFocus:a,children:[i.jsx("span",{className:x.cx("line-clamp-1 overflow-x-hidden leading-normal break-all text-ellipsis",{"w-max":!t.wrap}),children:e.text}),t.disabled,s&&i.jsx("button",{type:"button",tabIndex:-1,"aria-hidden":!0,className:"px-md h-full cursor-pointer",onClick:n=>{n.stopPropagation();const p=t.selectedItems.filter(m=>m.value!==e.value);t.setSelectedItems(p),t.innerInputRef.current&&t.innerInputRef.current.focus({preventScroll:!0})},children:i.jsx(A.Icon,{size:"sm",children:i.jsx(Pe.DeleteOutline,{})})})]},`selected-item-${o}`)},ue=()=>{const e=v();return e.multiple&&e.selectedItems.length?i.jsx(i.Fragment,{children:e.selectedItems.map((o,t)=>i.jsx(pt,{item:o,index:t},o.value))}):null};ue.displayName="Combobox.SelectedItems";const bt=x.cva(["flex items-start gap-md min-h-sz-44 text-body-1","h-fit rounded-lg px-lg","ring-1 outline-hidden ring-inset focus-within:ring-2 focus-within:ring-focus"],{variants:{allowWrap:{true:"",false:"h-sz-44"},state:{undefined:"ring-outline",error:"ring-error",alert:"ring-alert",success:"ring-success"},disabled:{true:"cursor-not-allowed border-outline bg-on-surface/dim-5 text-on-surface/dim-3"},readOnly:{true:"cursor-default bg-on-surface/dim-5 text-on-surface"}},compoundVariants:[{disabled:!1,state:void 0,class:"default:hover:ring-outline-high"},{disabled:!1,readOnly:!1,class:"bg-surface text-on-surface cursor-text"}],defaultVariants:{state:void 0,disabled:!1,readOnly:!1}}),xt=(e,o)=>{const t=l.useRef(null);l.useEffect(()=>{const s=()=>{const r=e.current?.scrollWidth||null;t.current&&r&&r>t.current&&o(),t.current=r,requestAnimationFrame(s)},a=requestAnimationFrame(s);return()=>cancelAnimationFrame(a)},[e])},de=({className:e,children:o,ref:t})=>{const s=v(),a=J.useFormFieldControl(),r=F(o,"Combobox.LeadingIcon"),u=F(o,"Combobox.SelectedItems"),c=F(o,"Combobox.Input"),n=F(o,"Combobox.ClearButton"),p=F(o,"Combobox.Disclosure"),[m,f]=s.hasPopover?[M.Popover.Anchor,{asChild:!0,type:void 0}]:[l.Fragment,{}],T=L.useMergeRefs(t,s.triggerAreaRef),C=l.useRef(null),j=a.disabled||s.disabled,y=a.readOnly||s.readOnly,P=!!n&&!j&&!y,N=()=>{if(C.current&&!s.wrap){const{scrollWidth:w,clientWidth:R}=C.current;C.current.scrollLeft=w-R}};xt(C,N);const k=!!u;return l.useEffect(()=>{s.setAreSelectedItemsInTrigger(k)},[k]),l.useEffect(()=>{const w=new ResizeObserver(N);return C.current&&w.observe(C.current),()=>{w.disconnect()}},[]),i.jsx(i.Fragment,{children:i.jsx(m,{...f,children:i.jsxs("div",{ref:T,className:bt({className:e,state:s.state,disabled:j,readOnly:y,allowWrap:s.wrap}),onClick:()=>{!s.isOpen&&!j&&!y&&(s.openMenu(),s.innerInputRef.current&&s.innerInputRef.current.focus())},children:[r,i.jsxs("div",{ref:C,className:x.cx("min-w-none gap-sm py-md inline-flex grow items-start",s.wrap?"flex-wrap":"u-no-scrollbar overflow-x-auto p-[2px]"),children:[u,c]}),P&&n,p]})})})};de.displayName="Combobox.Trigger";const Me=Object.assign(Re,{Group:Z,Item:oe,Items:ne,ItemText:re,ItemIndicator:se,Label:le,Popover:ie,Trigger:de,LeadingIcon:ae,Empty:Y,Input:ee,Disclosure:Q,SelectedItems:ue,ClearButton:X,Portal:ce});Me.displayName="Combobox";Z.displayName="Combobox.Group";ne.displayName="Combobox.Items";oe.displayName="Combobox.Item";re.displayName="Combobox.ItemText";se.displayName="Combobox.ItemIndicator";le.displayName="Combobox.Label";ie.displayName="Combobox.Popover";de.displayName="Combobox.Trigger";ae.displayName="Combobox.LeadingIcon";Y.displayName="Combobox.Empty";ee.displayName="Combobox.Input";Q.displayName="Combobox.Disclosure";ue.displayName="Combobox.SelectedItems";X.displayName="Combobox.ClearButton";ce.displayName="Combobox.Portal";exports.Combobox=Me;exports.ComboboxProvider=ke;exports.useComboboxContext=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),J=require("@spark-ui/components/form-field"),we=require("@spark-ui/hooks/use-combined-state"),I=require("downshift"),l=require("react"),M=require("../popover/index.js"),Pe=require("@spark-ui/icons/DeleteOutline"),x=require("class-variance-authority"),A=require("../Icon-CF0W0LKr.js"),L=require("@spark-ui/hooks/use-merge-refs"),Ze=require("@spark-ui/icons/ArrowHorizontalDown"),et=require("../IconButton-D5fk89W-.js"),tt=require("../VisuallyHidden-CB6Nx76j.js"),ot=require("@spark-ui/icons/Check"),st=require("../Spinner-_Kffli3B.js");function Ne(e,o){let t=0;for(const[s]of e.entries()){if(s===o)return t;t++}return-1}const nt=(e,o)=>{let t=0;for(const s of e.keys()){if(t===o)return s;t++}},rt=(e,o)=>{const t=nt(e,o);return t!==void 0?e.get(t):void 0},$=e=>e?e.type.displayName:"",Se=(e,o=[])=>(l.Children.forEach(e,t=>{if(l.isValidElement(t)){if($(t)==="Combobox.Item"){const s=t.props;o.push({value:s.value,disabled:!!s.disabled,text:je(s.children)})}t.props.children&&Se(t.props.children,o)}}),o),Te=e=>{if(!e)return"";for(const o of l.Children.toArray(e))if(l.isValidElement(o)){const t=o;if($(t)==="Combobox.ItemText")return t.props.children;const s=Te(t.props.children);if(s)return s}return""},je=e=>typeof e=="string"?e:Te(e),ve=e=>{const o=new Map;return Se(e).forEach(t=>{o.set(t.value,t)}),o},Ee=(e,o)=>l.Children.toArray(e).some(t=>l.isValidElement(t)?$(t)===o?!0:t.props.children?Ee(t.props.children,o):!1:!1),F=(e,o)=>l.Children.toArray(e).filter(l.isValidElement).find(t=>o===$(t)||""),lt=({multiselect:e,selectedItems:o,allowCustomValue:t=!1,setSelectedItems:s,triggerAreaRef:a,items:r})=>(c,{changes:n,type:p})=>{const m=a.current?.contains?.(document.activeElement);switch(p){case I.useCombobox.stateChangeTypes.InputClick:return{...n,isOpen:!0};case I.useCombobox.stateChangeTypes.InputKeyDownEnter:case I.useCombobox.stateChangeTypes.ItemClick:{const f={...n};if(n.selectedItem!=null){f.inputValue="",f.isOpen=!0;const T=Ne(r,n.selectedItem.value);f.highlightedIndex=T;const j=e.selectedItems.some(y=>y.value===n.selectedItem?.value)?o.filter(y=>y.value!==n.selectedItem?.value):[...o,n.selectedItem];s(j)}return f}case I.useCombobox.stateChangeTypes.ToggleButtonClick:return{...n,inputValue:t?n.inputValue:""};case I.useCombobox.stateChangeTypes.InputChange:return{...n,selectedItem:n.highlightedIndex===-1?null:n.selectedItem};case I.useCombobox.stateChangeTypes.InputBlur:return{...n,inputValue:t?n.inputValue:"",isOpen:m};default:return n}},at=({filteredItems:e,allowCustomValue:o=!1,setSelectedItem:t})=>(a,{changes:r,type:u})=>{const c=e.find(n=>n.text.toLowerCase()===a.inputValue.toLowerCase());switch(u){case I.useCombobox.stateChangeTypes.InputKeyDownEscape:return r.selectedItem||t(null),r;case I.useCombobox.stateChangeTypes.ItemClick:case I.useCombobox.stateChangeTypes.InputKeyDownEnter:return r.selectedItem&&t(r.selectedItem),r;case I.useCombobox.stateChangeTypes.InputClick:return{...r,isOpen:!0};case I.useCombobox.stateChangeTypes.ToggleButtonClick:case I.useCombobox.stateChangeTypes.InputBlur:return o?r:a.inputValue===""?(t(null),{...r,selectedItem:null}):c?(t(c),{...r,selectedItem:c,inputValue:c.text}):a.selectedItem?{...r,inputValue:a.selectedItem.text}:{...r,inputValue:""};default:return r}},Oe=l.createContext(null),U=(e,o)=>o?new Map(Array.from(e).filter(([t,{text:s}])=>s.toLowerCase().includes(o.toLowerCase()))):e,K=":combobox",ke=({children:e,state:o,allowCustomValue:t=!1,filtering:s="auto",disabled:a=!1,multiple:r=!1,readOnly:u=!1,wrap:c=!0,value:n,defaultValue:p,onValueChange:m,open:f,defaultOpen:T,onOpenChange:C,isLoading:j})=>{const y=l.useRef(!1),[P,N]=l.useState(""),[k,w]=l.useState(s==="strict"),R=l.useRef(null),E=l.useRef(null),[W,B]=l.useState(null),[O]=we.useCombinedState(n,p),G=s==="strict"||s==="auto"&&k,[h,Ae]=l.useState(ve(e)),[z,me]=l.useState(G?U(h,P):h),[pe,be]=l.useState(h.get(O)||null),[xe,fe]=l.useState(O?[...h.values()].filter(d=>O.includes(d.value)):[]),Ie=d=>{w(!1),d?.value!==pe?.value&&(be(d),setTimeout(()=>{m?.(d?.value)},0))},H=d=>{fe(d),setTimeout(()=>{m?.(d.map(g=>g.value))},0)};l.useEffect(()=>{if(!y.current){y.current=!0;return}if(r){const d=O.reduce((g,b)=>{const S=h.get(b);return S?[...g,S]:g},[]);fe(O?d:[])}else be(h.get(O)||null)},[r?JSON.stringify(O):O]);const D=J.useFormFieldControl(),Le=`${K}-label-${l.useId()}`,Be=`${K}-field-${l.useId()}`,Ce=D.id||Be,ze=D.labelId||Le,qe=D.state||o,Ke=D.disabled??a,$e=D.readOnly??u,[ye,We]=l.useState(Ee(e,"Combobox.Popover")),[Ge,He]=l.useState(!1),[_e,Ue]=l.useState("mouse");l.useEffect(()=>{me(G?U(h,P):h)},[P,h]);const ge=I.useMultipleSelection({selectedItems:xe,stateReducer:(d,{type:g,changes:b})=>{const S=I.useMultipleSelection.stateChangeTypes;switch(g){case S.SelectedItemKeyDownBackspace:case S.SelectedItemKeyDownDelete:{H(b.selectedItems||[]);let V;return g===S.SelectedItemKeyDownDelete?V=d?.activeIndex===b.selectedItems?.length?-1:d.activeIndex:V=(b?.activeIndex||0)-1>=0?d.activeIndex-1:b?.activeIndex,{...b,activeIndex:V}}case S.SelectedItemClick:return E.current&&E.current.focus(),{...b,activeIndex:-1};case S.FunctionRemoveSelectedItem:return{...b,activeIndex:-1};case S.DropdownKeyDownNavigationPrevious:return _.closeMenu(),b;default:return b}}}),he=Array.from(z.values());l.useEffect(()=>{W?.(P||"")},[P]);const _=I.useCombobox({inputId:Ce,items:he,selectedItem:r?void 0:pe,id:Ce,labelId:ze,inputValue:P,onInputValueChange:({inputValue:d})=>{if(N(d),G){const g=U(h,d||"");me(g)}},initialIsOpen:T,...f!=null&&{isOpen:f},onIsOpenChange:d=>{d.isOpen!=null&&C?.(d.isOpen)},itemToString:d=>d?.text,isItemDisabled:d=>{const g=!!P&&!he.some(b=>d.value===b.value);return d.disabled||g},stateReducer:r?lt({multiselect:ge,selectedItems:xe,allowCustomValue:t,setSelectedItems:H,triggerAreaRef:R,items:h}):at({allowCustomValue:t,setSelectedItem:Ie,filteredItems:[...z.values()]}),scrollIntoView:d=>{d&&d.scrollIntoView({block:"nearest"})}});l.useEffect(()=>{const d=ve(e),g=[...h.values()],b=[...d.values()];(g.length!==b.length||g.some((V,q)=>{const Qe=V.value!==b[q]?.value,Ye=V.text!==b[q]?.text;return Qe||Ye}))&&Ae(d)},[e]);const[Je,Xe]=ye?[M.Popover,{open:!0}]:[l.Fragment,{}];return i.jsx(Oe.Provider,{value:{itemsMap:h,filteredItemsMap:z,highlightedItem:rt(z,_.highlightedIndex),multiple:r,disabled:Ke,readOnly:$e,areSelectedItemsInTrigger:Ge,setAreSelectedItemsInTrigger:He,hasPopover:ye,setHasPopover:We,state:qe,lastInteractionType:_e,setLastInteractionType:Ue,wrap:c,innerInputRef:E,triggerAreaRef:R,..._,...ge,setInputValue:N,selectItem:Ie,setSelectedItems:H,isLoading:j,setOnInputValueChange:B,isTyping:k,setIsTyping:w},children:i.jsx(Je,{...Xe,children:e})})},v=()=>{const e=l.useContext(Oe);if(!e)throw Error("useComboboxContext must be used within a Combobox provider");return e},Re=({children:e,...o})=>i.jsx(ke,{...o,children:e});Re.displayName="Combobox";const X=({className:e,tabIndex:o=-1,onClick:t,ref:s,...a})=>{const r=v(),u=c=>{c.stopPropagation(),r.multiple?r.setSelectedItems([]):r.selectItem(null),r.setInputValue(""),r.innerInputRef.current&&r.innerInputRef.current.focus(),t&&t(c)};return i.jsx("button",{ref:s,className:x.cx(e,"h-sz-44 text-neutral hover:text-neutral-hovered"),tabIndex:o,onClick:u,type:"button",...a,children:i.jsx(A.Icon,{size:"sm",children:i.jsx(Pe.DeleteOutline,{})})})};X.displayName="Combobox.ClearButton";const Q=({className:e,closedLabel:o,openedLabel:t,intent:s="neutral",design:a="ghost",size:r="sm",ref:u,...c})=>{const n=v(),{ref:p,...m}=n.getToggleButtonProps({disabled:n.disabled||n.readOnly,onClick:C=>{C.stopPropagation()}}),f=m["aria-expanded"],T=L.useMergeRefs(u,p);return i.jsx(et.IconButton,{ref:T,className:x.cx(e,"ml-sm mt-[calc((44px-32px)/2)]"),intent:s,design:a,size:r,...m,...c,"aria-label":f?t:o,disabled:n.disabled,children:i.jsx(A.Icon,{className:x.cx("shrink-0","rotate-0 transition duration-100 ease-in",{"rotate-180":f}),size:"sm",children:i.jsx(Ze.ArrowHorizontalDown,{})})})};Q.displayName="Combobox.Disclosure";const Y=({className:e,children:o,ref:t})=>v().filteredItemsMap.size===0?i.jsx("div",{ref:t,className:x.cx("px-lg py-md text-body-1 text-on-surface/dim-1",e),children:o}):null;Y.displayName="Combobox.Empty";const Ve=l.createContext(null),it=({children:e})=>{const o=`${K}-group-label-${l.useId()}`;return i.jsx(Ve.Provider,{value:{groupLabelId:o},children:e})},De=()=>{const e=l.useContext(Ve);if(!e)throw Error("useComboboxGroupContext must be used within a ComboboxGroup provider");return e},Z=({children:e,ref:o,...t})=>i.jsx(it,{children:i.jsx(ct,{ref:o,...t,children:e})}),ct=({children:e,className:o,ref:t})=>{const s=v(),a=De();return l.Children.toArray(e).some(u=>l.isValidElement(u)&&s.filteredItemsMap.get(u.props.value))?i.jsx("div",{ref:t,role:"group","aria-labelledby":a.groupLabelId,className:x.cx(o),children:e}):null};Z.displayName="Combobox.Group";const ee=({"aria-label":e,className:o,placeholder:t,value:s,defaultValue:a,onValueChange:r,ref:u,...c})=>{const n=v(),p=J.useFormFieldControl(),[m]=we.useCombinedState(s,a),{isInvalid:f,description:T}=p;l.useEffect(()=>{m!=null&&n.setInputValue(m)},[m]),l.useEffect(()=>{r&&n.setOnInputValueChange(()=>r),!n.multiple&&n.selectedItem&&n.setInputValue(n.selectedItem.text)},[]);const C=n.hasPopover?M.Popover.Trigger:l.Fragment,j=n.hasPopover?{asChild:!0,type:void 0}:{},y=n.getDropdownProps(),P=L.useMergeRefs(u,n.innerInputRef,y.ref),N=n.getInputProps({disabled:n.disabled||n.readOnly,...y,onKeyDown:E=>{y.onKeyDown?.(E),n.setLastInteractionType("keyboard"),n.setIsTyping(!0)},onChange:E=>{n.setInputValue(E.target.value)},ref:P}),k=n.multiple?!n.areSelectedItemsInTrigger||n.selectedItems.length===0:n.selectedItem===null;function w(E,W){return B=>{E?.(B),W?.(B)}}const R={onBlur:w(c.onBlur,N.onBlur),onChange:w(c.onChange,N.onChange),onClick:w(c.onClick,N.onClick),onKeyDown:w(c.onKeyDown,N.onKeyDown)};return i.jsxs(i.Fragment,{children:[e&&i.jsx(tt.VisuallyHidden,{children:i.jsx("label",{...n.getLabelProps(),children:e})}),i.jsx(C,{...j,children:i.jsx("input",{"data-spark-component":"combobox-input",type:"text",...k&&{placeholder:t},className:x.cx("max-w-full shrink-0 grow basis-[80px]","h-sz-28 bg-surface px-sm text-body-1 text-ellipsis outline-hidden","disabled:text-on-surface/dim-3 disabled:cursor-not-allowed disabled:bg-transparent","read-only:text-on-surface read-only:cursor-default read-only:bg-transparent",o),...c,...N,...R,value:n.inputValue,"aria-label":e,disabled:n.disabled,readOnly:n.readOnly,"aria-invalid":f,"aria-describedby":T})})]})};ee.displayName="Combobox.Input";const Fe=l.createContext(null),ut=({value:e,disabled:o=!1,children:t})=>{const s=v(),[a,r]=l.useState(void 0),u=Ne(s.filteredItemsMap,e),c={disabled:o,value:e,text:je(t)},n=s.multiple?s.selectedItems.some(p=>p.value===e):s.selectedItem?.value===e;return i.jsx(Fe.Provider,{value:{textId:a,setTextId:r,isSelected:n,itemData:c,index:u,disabled:o},children:t})},te=()=>{const e=l.useContext(Fe);if(!e)throw Error("useComboboxItemContext must be used within a ComboboxItem provider");return e},oe=({children:e,ref:o,...t})=>{const{value:s,disabled:a}=t;return i.jsx(ut,{value:s,disabled:a,children:i.jsx(mt,{ref:o,...t,children:e})})},dt=x.cva("px-lg py-md text-body-1",{variants:{selected:{true:"font-bold"},disabled:{true:"opacity-dim-3 cursor-not-allowed",false:"cursor-pointer"},highlighted:{true:""},interactionType:{mouse:"",keyboard:""}},compoundVariants:[{highlighted:!0,interactionType:"mouse",class:"bg-surface-hovered"},{highlighted:!0,interactionType:"keyboard",class:"u-outline"}]}),mt=({className:e,disabled:o=!1,value:t,children:s,ref:a,...r})=>{const u=v(),c=te(),n=!!u.filteredItemsMap.get(t),{ref:p,...m}=u.getItemProps({item:c.itemData,index:c.index}),f=L.useMergeRefs(a,p);return n?i.jsx("li",{ref:f,className:x.cx(dt({selected:c.isSelected,disabled:o,highlighted:u.highlightedItem?.value===t,interactionType:u.lastInteractionType,className:e})),...m,...r,"aria-selected":c.isSelected,"aria-labelledby":c.textId,children:s},t):null};oe.displayName="Combobox.Item";const se=({className:e,children:o,label:t,ref:s})=>{const{disabled:a,isSelected:r}=te(),u=o||i.jsx(A.Icon,{size:"sm",children:i.jsx(ot.Check,{"aria-label":t})});return i.jsx("span",{ref:s,className:x.cx("min-h-sz-16 min-w-sz-16 flex",a&&"opacity-dim-3",e),children:r&&u})};se.displayName="Combobox.ItemIndicator";const ne=({children:e,className:o,ref:t,...s})=>{const a=v(),{ref:r,...u}=a.getMenuProps({onMouseMove:()=>{a.setLastInteractionType("mouse")}}),c=l.useRef(null),n=L.useMergeRefs(t,r,c),p=a.hasPopover?a.isOpen:!0,m=a.hasPopover&&!p;return l.useLayoutEffect(()=>{c.current?.parentElement&&(c.current.parentElement.style.pointerEvents=m?"none":"",c.current.style.pointerEvents=m?"none":"")},[m]),i.jsx("ul",{ref:n,className:x.cx(o,"flex flex-col",p?"block":"pointer-events-none invisible opacity-0",a.hasPopover&&"p-lg",a.isLoading&&"items-center overflow-y-auto"),...s,...u,"aria-busy":a.isLoading,"data-spark-component":"combobox-items",children:a.isLoading?i.jsx(st.Spinner,{size:"sm"}):e})};ne.displayName="Combobox.Items";const re=({children:e,className:o,ref:t})=>{const s=`${K}-item-text-${l.useId()}`,{setTextId:a}=te();return l.useEffect(()=>(a(s),()=>a(void 0))),i.jsx("span",{id:s,className:x.cx("inline",o),ref:t,children:e})};re.displayName="Combobox.ItemText";const le=({children:e,className:o,ref:t})=>{const s=De();return i.jsx("div",{ref:t,id:s.groupLabelId,className:x.cx("px-md py-sm text-body-2 text-neutral italic",o),children:e})};le.displayName="Combobox.Label";const ae=({children:e})=>i.jsx(A.Icon,{size:"sm",className:"h-sz-44 shrink-0",children:e});ae.displayName="Combobox.LeadingIcon";const ie=({children:e,matchTriggerWidth:o=!0,sideOffset:t=4,className:s,ref:a,...r})=>{const u=v();return l.useEffect(()=>(u.setHasPopover(!0),()=>u.setHasPopover(!1)),[]),i.jsx(M.Popover.Content,{ref:a,inset:!0,asChild:!0,matchTriggerWidth:o,className:x.cx("z-dropdown! relative",s),sideOffset:t,onOpenAutoFocus:c=>{c.preventDefault()},...r,"data-spark-component":"combobox-popover",children:e})};ie.displayName="Combobox.Popover";const ce=({children:e,...o})=>i.jsx(M.Popover.Portal,{...o,children:e});ce.displayName="Combobox.Portal";const pt=({item:e,index:o})=>{const t=v(),s=!t.disabled&&!t.readOnly,a=n=>{const p=n.target;t.lastInteractionType==="keyboard"&&p.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})},{disabled:r,...u}=t.getSelectedItemProps({disabled:t.disabled||t.readOnly,selectedItem:e,index:o}),c=r?"button":"span";return i.jsxs(c,{role:"presentation","data-spark-component":"combobox-selected-item",className:x.cx("h-sz-28 bg-neutral-container flex items-center rounded-md align-middle","text-body-2 text-on-neutral-container","disabled:opacity-dim-3 disabled:cursor-not-allowed","focus-visible:u-outline-inset outline-hidden",{"px-md":!s,"pl-md":s}),...u,tabIndex:-1,...r&&{disabled:!0},onFocus:a,children:[i.jsx("span",{className:x.cx("line-clamp-1 overflow-x-hidden leading-normal break-all text-ellipsis",{"w-max":!t.wrap}),children:e.text}),t.disabled,s&&i.jsx("button",{type:"button",tabIndex:-1,"aria-hidden":!0,className:"px-md h-full cursor-pointer",onClick:n=>{n.stopPropagation();const p=t.selectedItems.filter(m=>m.value!==e.value);t.setSelectedItems(p),t.innerInputRef.current&&t.innerInputRef.current.focus({preventScroll:!0})},children:i.jsx(A.Icon,{size:"sm",children:i.jsx(Pe.DeleteOutline,{})})})]},`selected-item-${o}`)},ue=()=>{const e=v();return e.multiple&&e.selectedItems.length?i.jsx(i.Fragment,{children:e.selectedItems.map((o,t)=>i.jsx(pt,{item:o,index:t},o.value))}):null};ue.displayName="Combobox.SelectedItems";const bt=x.cva(["flex items-start gap-md min-h-sz-44 text-body-1","h-fit rounded-xl px-lg","ring-1 outline-hidden ring-inset focus-within:ring-2 focus-within:ring-focus"],{variants:{allowWrap:{true:"",false:"h-sz-44"},state:{undefined:"ring-outline",error:"ring-error",alert:"ring-alert",success:"ring-success"},disabled:{true:"cursor-not-allowed border-outline bg-on-surface/dim-5 text-on-surface/dim-3"},readOnly:{true:"cursor-default bg-on-surface/dim-5 text-on-surface"}},compoundVariants:[{disabled:!1,state:void 0,class:"default:hover:ring-outline-high"},{disabled:!1,readOnly:!1,class:"bg-surface text-on-surface cursor-text"}],defaultVariants:{state:void 0,disabled:!1,readOnly:!1}}),xt=(e,o)=>{const t=l.useRef(null);l.useEffect(()=>{const s=()=>{const r=e.current?.scrollWidth||null;t.current&&r&&r>t.current&&o(),t.current=r,requestAnimationFrame(s)},a=requestAnimationFrame(s);return()=>cancelAnimationFrame(a)},[e])},de=({className:e,children:o,ref:t})=>{const s=v(),a=J.useFormFieldControl(),r=F(o,"Combobox.LeadingIcon"),u=F(o,"Combobox.SelectedItems"),c=F(o,"Combobox.Input"),n=F(o,"Combobox.ClearButton"),p=F(o,"Combobox.Disclosure"),[m,f]=s.hasPopover?[M.Popover.Anchor,{asChild:!0,type:void 0}]:[l.Fragment,{}],T=L.useMergeRefs(t,s.triggerAreaRef),C=l.useRef(null),j=a.disabled||s.disabled,y=a.readOnly||s.readOnly,P=!!n&&!j&&!y,N=()=>{if(C.current&&!s.wrap){const{scrollWidth:w,clientWidth:R}=C.current;C.current.scrollLeft=w-R}};xt(C,N);const k=!!u;return l.useEffect(()=>{s.setAreSelectedItemsInTrigger(k)},[k]),l.useEffect(()=>{const w=new ResizeObserver(N);return C.current&&w.observe(C.current),()=>{w.disconnect()}},[]),i.jsx(i.Fragment,{children:i.jsx(m,{...f,children:i.jsxs("div",{ref:T,className:bt({className:e,state:s.state,disabled:j,readOnly:y,allowWrap:s.wrap}),onClick:()=>{!s.isOpen&&!j&&!y&&(s.openMenu(),s.innerInputRef.current&&s.innerInputRef.current.focus())},children:[r,i.jsxs("div",{ref:C,className:x.cx("min-w-none gap-sm py-md inline-flex grow items-start",s.wrap?"flex-wrap":"u-no-scrollbar overflow-x-auto p-[2px]"),children:[u,c]}),P&&n,p]})})})};de.displayName="Combobox.Trigger";const Me=Object.assign(Re,{Group:Z,Item:oe,Items:ne,ItemText:re,ItemIndicator:se,Label:le,Popover:ie,Trigger:de,LeadingIcon:ae,Empty:Y,Input:ee,Disclosure:Q,SelectedItems:ue,ClearButton:X,Portal:ce});Me.displayName="Combobox";Z.displayName="Combobox.Group";ne.displayName="Combobox.Items";oe.displayName="Combobox.Item";re.displayName="Combobox.ItemText";se.displayName="Combobox.ItemIndicator";le.displayName="Combobox.Label";ie.displayName="Combobox.Popover";de.displayName="Combobox.Trigger";ae.displayName="Combobox.LeadingIcon";Y.displayName="Combobox.Empty";ee.displayName="Combobox.Input";Q.displayName="Combobox.Disclosure";ue.displayName="Combobox.SelectedItems";X.displayName="Combobox.ClearButton";ce.displayName="Combobox.Portal";exports.Combobox=Me;exports.ComboboxProvider=ke;exports.useComboboxContext=v;
2
2
  //# sourceMappingURL=index.js.map