@drivenets/design-system 0.0.3 → 0.0.5

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 (247) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +51 -0
  3. package/dist/components/ds-alert-banner/ds-alert-banner.cjs +157 -52
  4. package/dist/components/ds-alert-banner/ds-alert-banner.d.cts +5 -5
  5. package/dist/components/ds-alert-banner/ds-alert-banner.d.cts.map +1 -1
  6. package/dist/components/ds-alert-banner/ds-alert-banner.js +157 -52
  7. package/dist/components/ds-alert-banner/ds-alert-banner.js.map +1 -1
  8. package/dist/components/ds-alert-banner/ds-alert-banner.types.d.cts.map +1 -1
  9. package/dist/components/ds-alert-banner/ds-alert-banner.types.js.map +1 -1
  10. package/dist/components/ds-breadcrumb/ds-breadcrumb.cjs +59 -16
  11. package/dist/components/ds-breadcrumb/ds-breadcrumb.js +59 -16
  12. package/dist/components/ds-breadcrumb/ds-breadcrumb.js.map +1 -1
  13. package/dist/components/ds-button/ds-button.cjs +18 -2
  14. package/dist/components/ds-button/ds-button.d.cts +2 -2
  15. package/dist/components/ds-button/ds-button.d.cts.map +1 -1
  16. package/dist/components/ds-button/ds-button.d.ts +2 -2
  17. package/dist/components/ds-button/ds-button.js +18 -2
  18. package/dist/components/ds-button/ds-button.js.map +1 -1
  19. package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.cjs +79 -10
  20. package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.js +79 -10
  21. package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.js.map +1 -1
  22. package/dist/components/ds-button/versions/ds-button-new/ds-button-new.cjs +78 -10
  23. package/dist/components/ds-button/versions/ds-button-new/ds-button-new.js +78 -10
  24. package/dist/components/ds-button/versions/ds-button-new/ds-button-new.js.map +1 -1
  25. package/dist/components/ds-checkbox/ds-checkbox.cjs +89 -18
  26. package/dist/components/ds-checkbox/ds-checkbox.js +89 -18
  27. package/dist/components/ds-checkbox/ds-checkbox.js.map +1 -1
  28. package/dist/components/ds-chip/ds-chip.cjs +100 -30
  29. package/dist/components/ds-chip/ds-chip.js +100 -30
  30. package/dist/components/ds-chip/ds-chip.js.map +1 -1
  31. package/dist/components/ds-chip-group/ds-chip-group.cjs +6 -6
  32. package/dist/components/ds-chip-group/ds-chip-group.js +6 -6
  33. package/dist/components/ds-chip-group/ds-chip-group.js.map +1 -1
  34. package/dist/components/ds-chip-group/hooks/use-chip-row-calculation.js.map +1 -1
  35. package/dist/components/ds-confirmation/ds-confirmation.cjs +210 -56
  36. package/dist/components/ds-confirmation/ds-confirmation.d.cts +8 -8
  37. package/dist/components/ds-confirmation/ds-confirmation.d.ts +8 -8
  38. package/dist/components/ds-confirmation/ds-confirmation.js +210 -56
  39. package/dist/components/ds-confirmation/ds-confirmation.js.map +1 -1
  40. package/dist/components/ds-dialog/ds-dialog.js.map +1 -1
  41. package/dist/components/ds-drawer/ds-drawer.cjs +261 -61
  42. package/dist/components/ds-drawer/ds-drawer.d.cts +9 -9
  43. package/dist/components/ds-drawer/ds-drawer.d.ts +9 -9
  44. package/dist/components/ds-drawer/ds-drawer.js +261 -61
  45. package/dist/components/ds-drawer/ds-drawer.js.map +1 -1
  46. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.cjs +481 -135
  47. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.js +481 -135
  48. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.js.map +1 -1
  49. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.cjs +146 -56
  50. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.cts +2 -2
  51. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.ts +2 -2
  52. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.js +146 -56
  53. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.js.map +1 -1
  54. package/dist/components/ds-file-upload/components/file-upload/file-upload.cjs +190 -69
  55. package/dist/components/ds-file-upload/components/file-upload/file-upload.js +190 -69
  56. package/dist/components/ds-file-upload/components/file-upload/file-upload.js.map +1 -1
  57. package/dist/components/ds-file-upload/components/file-upload-item/file-upload-item.cjs +273 -132
  58. package/dist/components/ds-file-upload/components/file-upload-item/file-upload-item.js +273 -132
  59. package/dist/components/ds-file-upload/components/file-upload-item/file-upload-item.js.map +1 -1
  60. package/dist/components/ds-file-upload/ds-file-upload.cjs +96 -16
  61. package/dist/components/ds-file-upload/ds-file-upload.js +96 -16
  62. package/dist/components/ds-file-upload/ds-file-upload.js.map +1 -1
  63. package/dist/components/ds-file-upload/errors/file-upload-errors.js.map +1 -1
  64. package/dist/components/ds-file-upload/hooks/use-file-upload.cjs +93 -93
  65. package/dist/components/ds-file-upload/hooks/use-file-upload.js +93 -93
  66. package/dist/components/ds-file-upload/hooks/use-file-upload.js.map +1 -1
  67. package/dist/components/ds-file-upload/types/accept-types.js.map +1 -1
  68. package/dist/components/ds-file-upload/utils/accept-utils.js.map +1 -1
  69. package/dist/components/ds-file-upload/utils/constants.js.map +1 -1
  70. package/dist/components/ds-file-upload/utils/file-factory.js.map +1 -1
  71. package/dist/components/ds-file-upload/utils/format-file-size.js.map +1 -1
  72. package/dist/components/ds-file-upload/utils/generate-helper-text.js.map +1 -1
  73. package/dist/components/ds-file-upload/utils/get-error-message.js.map +1 -1
  74. package/dist/components/ds-file-upload/utils/is-file-equal.js.map +1 -1
  75. package/dist/components/ds-form-control/ds-form-control.cjs +119 -34
  76. package/dist/components/ds-form-control/ds-form-control.d.cts +7 -7
  77. package/dist/components/ds-form-control/ds-form-control.d.ts +7 -7
  78. package/dist/components/ds-form-control/ds-form-control.d.ts.map +1 -1
  79. package/dist/components/ds-form-control/ds-form-control.js +119 -34
  80. package/dist/components/ds-form-control/ds-form-control.js.map +1 -1
  81. package/dist/components/ds-form-control/ds-form-control.types.js.map +1 -1
  82. package/dist/components/ds-grid/ds-grid.js.map +1 -1
  83. package/dist/components/ds-icon/ds-icon.cjs +84 -13
  84. package/dist/components/ds-icon/ds-icon.js +84 -13
  85. package/dist/components/ds-icon/ds-icon.js.map +1 -1
  86. package/dist/components/ds-icon/ds-icon.types.d.cts.map +1 -1
  87. package/dist/components/ds-icon/ds-icon.types.js.map +1 -1
  88. package/dist/components/ds-modal/ds-modal.cjs +222 -55
  89. package/dist/components/ds-modal/ds-modal.d.cts +8 -8
  90. package/dist/components/ds-modal/ds-modal.d.ts +8 -8
  91. package/dist/components/ds-modal/ds-modal.d.ts.map +1 -1
  92. package/dist/components/ds-modal/ds-modal.js +222 -55
  93. package/dist/components/ds-modal/ds-modal.js.map +1 -1
  94. package/dist/components/ds-number-input/ds-number-input.cjs +136 -49
  95. package/dist/components/ds-number-input/ds-number-input.js +136 -49
  96. package/dist/components/ds-number-input/ds-number-input.js.map +1 -1
  97. package/dist/components/ds-panel/ds-panel.cjs +111 -19
  98. package/dist/components/ds-panel/ds-panel.d.cts +2 -2
  99. package/dist/components/ds-panel/ds-panel.d.cts.map +1 -1
  100. package/dist/components/ds-panel/ds-panel.d.ts +2 -2
  101. package/dist/components/ds-panel/ds-panel.js +111 -19
  102. package/dist/components/ds-panel/ds-panel.js.map +1 -1
  103. package/dist/components/ds-password-input/ds-password-input.cjs +108 -41
  104. package/dist/components/ds-password-input/ds-password-input.js +108 -41
  105. package/dist/components/ds-password-input/ds-password-input.js.map +1 -1
  106. package/dist/components/ds-popover/ds-popover.cjs +50 -12
  107. package/dist/components/ds-popover/ds-popover.js +50 -12
  108. package/dist/components/ds-popover/ds-popover.js.map +1 -1
  109. package/dist/components/ds-radio-group/ds-radio-group.cjs +209 -53
  110. package/dist/components/ds-radio-group/ds-radio-group.js +209 -53
  111. package/dist/components/ds-radio-group/ds-radio-group.js.map +1 -1
  112. package/dist/components/ds-segment-group/ds-segment-group.cjs +215 -0
  113. package/dist/components/ds-segment-group/ds-segment-group.d.cts +26 -0
  114. package/dist/components/ds-segment-group/ds-segment-group.d.cts.map +1 -0
  115. package/dist/components/ds-segment-group/ds-segment-group.d.ts +26 -0
  116. package/dist/components/ds-segment-group/ds-segment-group.d.ts.map +1 -0
  117. package/dist/components/ds-segment-group/ds-segment-group.js +214 -0
  118. package/dist/components/ds-segment-group/ds-segment-group.js.map +1 -0
  119. package/dist/components/ds-segment-group/ds-segment-group.module.cjs +12 -0
  120. package/dist/components/ds-segment-group/ds-segment-group.module.js +12 -0
  121. package/dist/components/ds-segment-group/ds-segment-group.module.js.map +1 -0
  122. package/dist/components/ds-segment-group/ds-segment-group.types.cjs +2 -0
  123. package/dist/components/ds-segment-group/ds-segment-group.types.d.cts +52 -0
  124. package/dist/components/ds-segment-group/ds-segment-group.types.d.cts.map +1 -0
  125. package/dist/components/ds-segment-group/ds-segment-group.types.d.ts +52 -0
  126. package/dist/components/ds-segment-group/ds-segment-group.types.d.ts.map +1 -0
  127. package/dist/components/ds-segment-group/ds-segment-group.types.js +2 -0
  128. package/dist/components/ds-segment-group/index.cjs +2 -0
  129. package/dist/components/ds-segment-group/index.d.ts +2 -0
  130. package/dist/components/ds-segment-group/index.js +2 -0
  131. package/dist/components/ds-select/ds-select.cjs +198 -89
  132. package/dist/components/ds-select/ds-select.d.cts +2 -2
  133. package/dist/components/ds-select/ds-select.d.cts.map +1 -1
  134. package/dist/components/ds-select/ds-select.d.ts +2 -2
  135. package/dist/components/ds-select/ds-select.js +198 -89
  136. package/dist/components/ds-select/ds-select.js.map +1 -1
  137. package/dist/components/ds-select/select-items-chips.cjs +73 -22
  138. package/dist/components/ds-select/select-items-chips.js +73 -22
  139. package/dist/components/ds-select/select-items-chips.js.map +1 -1
  140. package/dist/components/ds-smart-tabs/ds-smart-tabs.cjs +208 -46
  141. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.cts +2 -2
  142. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.cts.map +1 -1
  143. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts +2 -2
  144. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts.map +1 -1
  145. package/dist/components/ds-smart-tabs/ds-smart-tabs.js +208 -46
  146. package/dist/components/ds-smart-tabs/ds-smart-tabs.js.map +1 -1
  147. package/dist/components/ds-smart-tabs/ds-smart-tabs.types.js.map +1 -1
  148. package/dist/components/ds-spinner/ds-spinner.cjs +90 -20
  149. package/dist/components/ds-spinner/ds-spinner.js +90 -20
  150. package/dist/components/ds-spinner/ds-spinner.js.map +1 -1
  151. package/dist/components/ds-spinner/ds-spinner.types.js.map +1 -1
  152. package/dist/components/ds-status-badge/ds-status-badge.cjs +54 -11
  153. package/dist/components/ds-status-badge/ds-status-badge.js +54 -11
  154. package/dist/components/ds-status-badge/ds-status-badge.js.map +1 -1
  155. package/dist/components/ds-stepper/components/ds-step-content.cjs +59 -13
  156. package/dist/components/ds-stepper/components/ds-step-content.d.cts +2 -2
  157. package/dist/components/ds-stepper/components/ds-step-content.js +59 -13
  158. package/dist/components/ds-stepper/components/ds-step-content.js.map +1 -1
  159. package/dist/components/ds-stepper/components/ds-step-description.cjs +14 -5
  160. package/dist/components/ds-stepper/components/ds-step-description.js +14 -5
  161. package/dist/components/ds-stepper/components/ds-step-description.js.map +1 -1
  162. package/dist/components/ds-stepper/components/ds-step-label.cjs +14 -5
  163. package/dist/components/ds-stepper/components/ds-step-label.js +14 -5
  164. package/dist/components/ds-stepper/components/ds-step-label.js.map +1 -1
  165. package/dist/components/ds-stepper/components/ds-step-next-button.cjs +23 -6
  166. package/dist/components/ds-stepper/components/ds-step-next-button.d.cts +2 -2
  167. package/dist/components/ds-stepper/components/ds-step-next-button.js +23 -6
  168. package/dist/components/ds-stepper/components/ds-step-next-button.js.map +1 -1
  169. package/dist/components/ds-stepper/components/ds-step.cjs +106 -25
  170. package/dist/components/ds-stepper/components/ds-step.d.cts +2 -2
  171. package/dist/components/ds-stepper/components/ds-step.js +106 -25
  172. package/dist/components/ds-stepper/components/ds-step.js.map +1 -1
  173. package/dist/components/ds-stepper/ds-stepper.cjs +62 -15
  174. package/dist/components/ds-stepper/ds-stepper.d.cts +2 -2
  175. package/dist/components/ds-stepper/ds-stepper.d.cts.map +1 -1
  176. package/dist/components/ds-stepper/ds-stepper.js +62 -15
  177. package/dist/components/ds-stepper/ds-stepper.js.map +1 -1
  178. package/dist/components/ds-stepper/hooks/use-stepper.js.map +1 -1
  179. package/dist/components/ds-stepper/hooks/use-steps.cjs +29 -9
  180. package/dist/components/ds-stepper/hooks/use-steps.js +29 -9
  181. package/dist/components/ds-stepper/hooks/use-steps.js.map +1 -1
  182. package/dist/components/ds-system-status/ds-system-status.cjs +37 -7
  183. package/dist/components/ds-system-status/ds-system-status.js +37 -7
  184. package/dist/components/ds-system-status/ds-system-status.js.map +1 -1
  185. package/dist/components/ds-system-status/ds-system-status.types.js.map +1 -1
  186. package/dist/components/ds-table/components/core-table/core-table.cjs +281 -48
  187. package/dist/components/ds-table/components/core-table/core-table.js +281 -48
  188. package/dist/components/ds-table/components/core-table/core-table.js.map +1 -1
  189. package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.cjs +134 -50
  190. package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.js +134 -50
  191. package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.js.map +1 -1
  192. package/dist/components/ds-table/components/ds-table-cell/ds-table-cell.cjs +140 -43
  193. package/dist/components/ds-table/components/ds-table-cell/ds-table-cell.js +140 -43
  194. package/dist/components/ds-table/components/ds-table-cell/ds-table-cell.js.map +1 -1
  195. package/dist/components/ds-table/components/ds-table-header/ds-table-header.cjs +37 -6
  196. package/dist/components/ds-table/components/ds-table-header/ds-table-header.js +37 -6
  197. package/dist/components/ds-table/components/ds-table-header/ds-table-header.js.map +1 -1
  198. package/dist/components/ds-table/components/ds-table-row/ds-table-row.cjs +272 -100
  199. package/dist/components/ds-table/components/ds-table-row/ds-table-row.js +272 -100
  200. package/dist/components/ds-table/components/ds-table-row/ds-table-row.js.map +1 -1
  201. package/dist/components/ds-table/context/ds-table-context.js.map +1 -1
  202. package/dist/components/ds-table/ds-table.cjs +15 -15
  203. package/dist/components/ds-table/ds-table.d.cts +2 -2
  204. package/dist/components/ds-table/ds-table.js +15 -15
  205. package/dist/components/ds-table/ds-table.js.map +1 -1
  206. package/dist/components/ds-table/hooks/use-drag-and-drop.cjs +126 -38
  207. package/dist/components/ds-table/hooks/use-drag-and-drop.js +126 -38
  208. package/dist/components/ds-table/hooks/use-drag-and-drop.js.map +1 -1
  209. package/dist/components/ds-table/utils/column-styling.js.map +1 -1
  210. package/dist/components/ds-table/utils/create-columns-grid-template.js.map +1 -1
  211. package/dist/components/ds-table/utils/merge-refs.js.map +1 -1
  212. package/dist/components/ds-text-input/ds-text-input.cjs +128 -43
  213. package/dist/components/ds-text-input/ds-text-input.js +128 -43
  214. package/dist/components/ds-text-input/ds-text-input.js.map +1 -1
  215. package/dist/components/ds-text-input/ds-text-input.types.js.map +1 -1
  216. package/dist/components/ds-textarea/ds-textarea.cjs +66 -22
  217. package/dist/components/ds-textarea/ds-textarea.js +66 -22
  218. package/dist/components/ds-textarea/ds-textarea.js.map +1 -1
  219. package/dist/components/ds-toast/ds-toast-context.cjs +62 -17
  220. package/dist/components/ds-toast/ds-toast-context.js +62 -17
  221. package/dist/components/ds-toast/ds-toast-context.js.map +1 -1
  222. package/dist/components/ds-toast/ds-toast.cjs +90 -26
  223. package/dist/components/ds-toast/ds-toast.js +90 -26
  224. package/dist/components/ds-toast/ds-toast.js.map +1 -1
  225. package/dist/components/ds-tooltip/ds-tooltip.cjs +51 -13
  226. package/dist/components/ds-tooltip/ds-tooltip.js +51 -13
  227. package/dist/components/ds-tooltip/ds-tooltip.js.map +1 -1
  228. package/dist/components/ds-typography/ds-typography.cjs +51 -7
  229. package/dist/components/ds-typography/ds-typography.config.js.map +1 -1
  230. package/dist/components/ds-typography/ds-typography.js +51 -7
  231. package/dist/components/ds-typography/ds-typography.js.map +1 -1
  232. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.cjs +91 -30
  233. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.cts +5 -5
  234. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.ts +5 -5
  235. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.js +91 -30
  236. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.js.map +1 -1
  237. package/dist/index.cjs +3 -0
  238. package/dist/index.d.cts +3 -1
  239. package/dist/index.d.ts +4 -1
  240. package/dist/index.js +3 -1
  241. package/dist/index.min.css +1 -1
  242. package/package.json +8 -2
  243. package/src/components/ds-segment-group/ds-segment-group.module.scss +99 -0
  244. package/src/components/ds-segment-group/ds-segment-group.tsx +76 -0
  245. package/src/components/ds-segment-group/ds-segment-group.types.tsx +64 -0
  246. package/src/components/ds-segment-group/index.tsx +2 -0
  247. package/src/index.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ds-dropdown-menu.js","names":["DEFAULT_POSITIONING: DsDropdownMenuPositioning","Root: React.FC<DsDropdownMenuRootProps>","Trigger: React.FC<DsDropdownMenuTriggerProps>","Content: React.FC<DsDropdownMenuContentProps>","styles","Item: React.FC<DsDropdownMenuItemProps>","ItemIndicator: React.FC<DsDropdownMenuItemIndicatorProps>","DsIcon","Header: React.FC<DsDropdownMenuHeaderProps>","Actions: React.FC<DsDropdownMenuActionsProps>","ItemGroup: React.FC<DsDropdownMenuItemGroupProps>","ItemGroupLabel: React.FC<DsDropdownMenuItemGroupLabelProps>","DsTypography","ItemGroupContent: React.FC<DsDropdownMenuItemGroupContentProps>","Separator: React.FC<DsDropdownMenuSeparatorProps>","DsDropdownMenuLegacy: React.FC<DsDropdownMenuLegacyProps>","DsTextInput"],"sources":["../../../src/components/ds-dropdown-menu/ds-dropdown-menu.tsx"],"sourcesContent":["import type React from 'react';\nimport { createContext, Fragment, useContext, useState } from 'react';\nimport * as DropdownMenu from '@radix-ui/react-dropdown-menu';\nimport { Menu } from '@ark-ui/react/menu';\nimport { Portal } from '@ark-ui/react/portal';\nimport classNames from 'classnames';\nimport styles from './ds-dropdown-menu.module.scss';\nimport { DsIcon } from '../ds-icon';\nimport DsTypography from '../ds-typography/ds-typography';\nimport DsTextInput from '../ds-text-input/ds-text-input';\nimport type {\n\tDsDropdownMenuActionsProps,\n\tDsDropdownMenuContentProps,\n\tDsDropdownMenuHeaderProps,\n\tDsDropdownMenuItemGroupContentProps,\n\tDsDropdownMenuItemGroupLabelProps,\n\tDsDropdownMenuItemGroupProps,\n\tDsDropdownMenuItemIndicatorProps,\n\tDsDropdownMenuItemProps,\n\tDsDropdownMenuLegacyProps,\n\tDsDropdownMenuPositioning,\n\tDsDropdownMenuRootProps,\n\tDsDropdownMenuSeparatorProps,\n\tDsDropdownMenuTriggerProps,\n} from './ds-dropdown-menu.types';\n\n/**\n * Context to share state between Group and GroupLabel\n */\ninterface GroupContextValue {\n\tcollapsed: boolean;\n\ttoggle: () => void;\n}\n\nconst GroupContext = createContext<GroupContextValue | null>(null);\n\nconst DEFAULT_POSITIONING: DsDropdownMenuPositioning = {\n\tplacement: 'bottom-start' as const,\n\tgutter: 4,\n};\n\n/**\n * Root component - manages dropdown state\n */\nconst Root: React.FC<DsDropdownMenuRootProps> = ({\n\topen,\n\tonOpenChange,\n\tonSelect,\n\tonHighlightChange,\n\tpositioning: customPositioning,\n\tpreventCloseOnSelect = false,\n\tchildren,\n}) => {\n\tconst positioning = {\n\t\t...DEFAULT_POSITIONING,\n\t\t...customPositioning,\n\t};\n\n\treturn (\n\t\t<Menu.Root\n\t\t\topen={open}\n\t\t\tonOpenChange={(details) => onOpenChange?.(details.open)}\n\t\t\tonSelect={(details) => onSelect?.(details.value)}\n\t\t\tonHighlightChange={(details) => onHighlightChange?.(details.highlightedValue)}\n\t\t\tpositioning={positioning}\n\t\t\tcloseOnSelect={!preventCloseOnSelect}\n\t\t>\n\t\t\t{children}\n\t\t</Menu.Root>\n\t);\n};\n\n/**\n * Trigger component - wraps the trigger element\n */\nconst Trigger: React.FC<DsDropdownMenuTriggerProps> = Menu.Trigger;\n\n/**\n * Content component - wraps the dropdown content\n */\nconst Content: React.FC<DsDropdownMenuContentProps> = ({\n\tdisablePortal = false,\n\tchildren,\n\tclassName,\n\tstyle,\n}) => {\n\tconst Wrapper = disablePortal ? Fragment : Portal;\n\n\treturn (\n\t\t<Wrapper>\n\t\t\t<Menu.Positioner>\n\t\t\t\t<Menu.Content className={classNames(styles.content, className)} style={style}>\n\t\t\t\t\t{children}\n\t\t\t\t</Menu.Content>\n\t\t\t</Menu.Positioner>\n\t\t</Wrapper>\n\t);\n};\n\n/**\n * Item component - renders a menu item\n */\nconst Item: React.FC<DsDropdownMenuItemProps> = ({\n\tdisabled,\n\tselected,\n\tvalue,\n\tasChild,\n\tonClick,\n\tonSelect,\n\tchildren,\n\tclassName,\n\tstyle,\n}) => {\n\treturn (\n\t\t<Menu.Item\n\t\t\tdisabled={disabled}\n\t\t\tclassName={classNames(\n\t\t\t\tstyles.item,\n\t\t\t\t{\n\t\t\t\t\t[styles.selected]: selected,\n\t\t\t\t},\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tstyle={style}\n\t\t\tvalue={value}\n\t\t\tasChild={asChild}\n\t\t\tonClick={onClick}\n\t\t\tonSelect={onSelect}\n\t\t>\n\t\t\t{children}\n\t\t</Menu.Item>\n\t);\n};\n\n/**\n * ItemIndicator component - renders a selection indicator (check icon by default)\n */\nconst ItemIndicator: React.FC<DsDropdownMenuItemIndicatorProps> = ({ children, className, style }) => {\n\treturn (\n\t\t<span className={classNames(styles.indicator, className)} style={style}>\n\t\t\t{children ?? <DsIcon icon=\"check\" />}\n\t\t</span>\n\t);\n};\n\n/**\n * Header component - sticky header container for search, filters, or other controls\n */\nconst Header: React.FC<DsDropdownMenuHeaderProps> = ({ children, className, style }) => {\n\treturn (\n\t\t<div className={classNames(styles.header, className)} style={style}>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n\n/**\n * Actions component - footer container for action buttons\n */\nconst Actions: React.FC<DsDropdownMenuActionsProps> = ({ children, className, style }) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(styles.actions, className)}\n\t\t\tstyle={style}\n\t\t\trole=\"menu\"\n\t\t\taria-label=\"Menu actions\"\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n\n/**\n * ItemGroup component - collapsible group container\n */\nconst ItemGroup: React.FC<DsDropdownMenuItemGroupProps> = ({\n\tchildren,\n\tcollapsed: controlledCollapsed,\n\tonCollapsedChange,\n\tclassName,\n\tstyle,\n}) => {\n\tconst [internalCollapsed, setInternalCollapsed] = useState(false);\n\n\tconst isControlled = controlledCollapsed !== undefined;\n\tconst collapsed = isControlled ? controlledCollapsed : internalCollapsed;\n\n\tconst toggle = () => {\n\t\tconst newCollapsed = !collapsed;\n\t\tif (!isControlled) {\n\t\t\tsetInternalCollapsed(newCollapsed);\n\t\t}\n\t\tonCollapsedChange?.(newCollapsed);\n\t};\n\n\treturn (\n\t\t<GroupContext.Provider value={{ collapsed, toggle }}>\n\t\t\t<Menu.ItemGroup className={classNames(styles.group, className)} style={style}>\n\t\t\t\t{children}\n\t\t\t</Menu.ItemGroup>\n\t\t</GroupContext.Provider>\n\t);\n};\n\n/**\n * ItemGroupLabel component - clickable group header with collapse indicator\n */\nconst ItemGroupLabel: React.FC<DsDropdownMenuItemGroupLabelProps> = ({ children, className, style }) => {\n\tconst context = useContext(GroupContext);\n\n\tif (!context) {\n\t\t// If not inside a Group, just render static label\n\t\treturn (\n\t\t\t<Menu.ItemGroupLabel className={classNames(styles.groupLabel, className)} style={style}>\n\t\t\t\t<DsTypography variant=\"body-sm-md\">{children}</DsTypography>\n\t\t\t</Menu.ItemGroupLabel>\n\t\t);\n\t}\n\n\tconst { collapsed, toggle } = context;\n\n\treturn (\n\t\t<Menu.ItemGroupLabel asChild>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={classNames(styles.groupLabel, styles.groupLabelCollapsible, className)}\n\t\t\t\tstyle={style}\n\t\t\t\tonClick={toggle}\n\t\t\t\tonKeyDown={(e) => e.stopPropagation()}\n\t\t\t>\n\t\t\t\t<DsTypography variant=\"body-sm-md\">{children}</DsTypography>\n\t\t\t\t<DsIcon\n\t\t\t\t\ticon=\"keyboard_arrow_down\"\n\t\t\t\t\tclassName={classNames(styles.groupLabelIcon, {\n\t\t\t\t\t\t[styles.groupLabelIconRotated]: !collapsed,\n\t\t\t\t\t})}\n\t\t\t\t/>\n\t\t\t</button>\n\t\t</Menu.ItemGroupLabel>\n\t);\n};\n\n/**\n * ItemGroupContent component - collapsible content container\n */\nconst ItemGroupContent: React.FC<DsDropdownMenuItemGroupContentProps> = ({ children, className, style }) => {\n\tconst context = useContext(GroupContext);\n\n\tif (context?.collapsed) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className={className} style={style}>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n\n/**\n * Separator component - renders a visual divider\n */\nconst Separator: React.FC<DsDropdownMenuSeparatorProps> = ({ className, style }) => {\n\treturn <Menu.Separator className={classNames(styles.separator, className)} style={style} />;\n};\n\n/**\n * DEPRECATED: Legacy DsDropdownMenu component with options array\n * Use compound component pattern instead\n * @deprecated\n */\nexport const DsDropdownMenuLegacy: React.FC<DsDropdownMenuLegacyProps> = ({\n\toptions,\n\tchildren,\n\tcontentGap = 0,\n\tclassName,\n\tstyle,\n\talign = 'center',\n\tside = 'bottom',\n\tdisablePortal = false,\n\tdisableSearch = true,\n\tselected,\n\tonSelect,\n}) => {\n\tconst [open, setOpen] = useState(false);\n\tconst [searchTerm, setSearchTerm] = useState('');\n\n\tconst Wrapper = disablePortal ? Fragment : DropdownMenu.Portal;\n\n\tconst filteredOptions = disableSearch\n\t\t? options\n\t\t: options.filter((option) => option.label.toLowerCase().includes(searchTerm.toLowerCase()));\n\n\treturn (\n\t\t<DropdownMenu.Root open={open} onOpenChange={setOpen}>\n\t\t\t<DropdownMenu.Trigger asChild>{children}</DropdownMenu.Trigger>\n\t\t\t<Wrapper>\n\t\t\t\t<DropdownMenu.Content\n\t\t\t\t\tclassName={classNames(styles.contentLegacy, styles.viewportLegacy)}\n\t\t\t\t\tsideOffset={contentGap}\n\t\t\t\t\talign={align}\n\t\t\t\t\tside={side}\n\t\t\t\t>\n\t\t\t\t\t{!disableSearch && (\n\t\t\t\t\t\t<DsTextInput\n\t\t\t\t\t\t\tplaceholder=\"Search\"\n\t\t\t\t\t\t\tvalue={searchTerm}\n\t\t\t\t\t\t\tonValueChange={setSearchTerm}\n\t\t\t\t\t\t\tslots={{\n\t\t\t\t\t\t\t\tstartAdornment: <DsIcon icon=\"search\" size=\"tiny\" />,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonKeyDown={(e) => e.stopPropagation()}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{filteredOptions.map((option, i) => (\n\t\t\t\t\t\t<DropdownMenu.Item\n\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\tdisabled={option.disabled}\n\t\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t\tstyles.itemLegacy,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t[styles.selected]: selected === option.value,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tstyle={style}\n\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\te.stopPropagation();\n\n\t\t\t\t\t\t\t\tif (!option.disabled) {\n\t\t\t\t\t\t\t\t\tif (option.value) {\n\t\t\t\t\t\t\t\t\t\tonSelect?.(option.value);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\toption.onClick?.(e);\n\t\t\t\t\t\t\t\t\tsetOpen(false);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{option.icon && <DsIcon icon={option.icon} className={styles.itemIcon} />}\n\t\t\t\t\t\t\t<span className={styles.label}>{option.label}</span>\n\t\t\t\t\t\t\t{option.value && selected === option.value && (\n\t\t\t\t\t\t\t\t<span className={styles.indicator}>\n\t\t\t\t\t\t\t\t\t<DsIcon icon=\"check\" />\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</DropdownMenu.Item>\n\t\t\t\t\t))}\n\t\t\t\t</DropdownMenu.Content>\n\t\t\t</Wrapper>\n\t\t</DropdownMenu.Root>\n\t);\n};\n\n/**\n * Design system DsDropdownMenu component\n *\n * @example\n * <DsDropdownMenu.Root>\n * <DsDropdownMenu.Trigger>\n * <button>Open</button>\n * </DsDropdownMenu.Trigger>\n * <DsDropdownMenu.Content>\n * <DsDropdownMenu.Header>\n * <DsTextInput placeholder=\"Search...\" />\n * </DsDropdownMenu.Header>\n * <DsDropdownMenu.Item value=\"item1\">\n * Item 1\n * <DsDropdownMenu.ItemIndicator />\n * </DsDropdownMenu.Item>\n * <DsDropdownMenu.ItemGroup>\n * <DsDropdownMenu.ItemGroupLabel>Group Name</DsDropdownMenu.ItemGroupLabel>\n * <DsDropdownMenu.ItemGroupContent>\n * <DsDropdownMenu.Item value=\"item2\">Item 2</DsDropdownMenu.Item>\n * </DsDropdownMenu.ItemGroupContent>\n * </DsDropdownMenu.ItemGroup>\n * <DsDropdownMenu.Separator />\n * <DsDropdownMenu.Actions>\n * <DsButton>Cancel</DsButton>\n * <DsButton>Apply</DsButton>\n * </DsDropdownMenu.Actions>\n * </DsDropdownMenu.Content>\n * </DsDropdownMenu.Root>\n */\nexport const DsDropdownMenu = {\n\tRoot,\n\tTrigger,\n\tContent,\n\tItem,\n\tItemIndicator,\n\tHeader,\n\tActions,\n\tItemGroup,\n\tItemGroupLabel,\n\tItemGroupContent,\n\tSeparator,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"ds-dropdown-menu.js","names":["React","createContext","Fragment","useContext","useState","DropdownMenu","Menu","Portal","classNames","styles","DsIcon","DsTypography","DsTextInput","DsDropdownMenuActionsProps","DsDropdownMenuContentProps","DsDropdownMenuHeaderProps","DsDropdownMenuItemGroupContentProps","DsDropdownMenuItemGroupLabelProps","DsDropdownMenuItemGroupProps","DsDropdownMenuItemIndicatorProps","DsDropdownMenuItemProps","DsDropdownMenuLegacyProps","DsDropdownMenuPositioning","DsDropdownMenuRootProps","DsDropdownMenuSeparatorProps","DsDropdownMenuTriggerProps","GroupContextValue","collapsed","toggle","GroupContext","DEFAULT_POSITIONING","placement","const","gutter","Root","FC","t0","$","_c","open","onOpenChange","onSelect","onHighlightChange","positioning","customPositioning","preventCloseOnSelect","t1","children","undefined","t2","t3","details","t4","details_0","value","t5","details_1","highlightedValue","t6","t7","Trigger","Content","disablePortal","className","style","Wrapper","content","Item","disabled","selected","asChild","onClick","item","ItemIndicator","indicator","Header","header","Actions","actions","ItemGroup","controlledCollapsed","onCollapsedChange","internalCollapsed","setInternalCollapsed","isControlled","newCollapsed","group","ItemGroupLabel","context","groupLabel","groupLabelCollapsible","groupLabelIcon","groupLabelIconRotated","_temp","ItemGroupContent","Separator","separator","DsDropdownMenuLegacy","options","contentGap","align","side","disableSearch","setOpen","searchTerm","setSearchTerm","filter","option","label","toLowerCase","includes","filteredOptions","t8","Symbol","for","contentLegacy","viewportLegacy","t9","startAdornment","_temp2","t10","t11","option_0","i","itemLegacy","e_0","e","stopPropagation","icon","itemIcon","map","t12","t13","DsDropdownMenu"],"sources":["../../../src/components/ds-dropdown-menu/ds-dropdown-menu.tsx"],"sourcesContent":["import type React from 'react';\nimport { createContext, Fragment, useContext, useState } from 'react';\nimport * as DropdownMenu from '@radix-ui/react-dropdown-menu';\nimport { Menu } from '@ark-ui/react/menu';\nimport { Portal } from '@ark-ui/react/portal';\nimport classNames from 'classnames';\nimport styles from './ds-dropdown-menu.module.scss';\nimport { DsIcon } from '../ds-icon';\nimport DsTypography from '../ds-typography/ds-typography';\nimport DsTextInput from '../ds-text-input/ds-text-input';\nimport type {\n\tDsDropdownMenuActionsProps,\n\tDsDropdownMenuContentProps,\n\tDsDropdownMenuHeaderProps,\n\tDsDropdownMenuItemGroupContentProps,\n\tDsDropdownMenuItemGroupLabelProps,\n\tDsDropdownMenuItemGroupProps,\n\tDsDropdownMenuItemIndicatorProps,\n\tDsDropdownMenuItemProps,\n\tDsDropdownMenuLegacyProps,\n\tDsDropdownMenuPositioning,\n\tDsDropdownMenuRootProps,\n\tDsDropdownMenuSeparatorProps,\n\tDsDropdownMenuTriggerProps,\n} from './ds-dropdown-menu.types';\n\n/**\n * Context to share state between Group and GroupLabel\n */\ninterface GroupContextValue {\n\tcollapsed: boolean;\n\ttoggle: () => void;\n}\n\nconst GroupContext = createContext<GroupContextValue | null>(null);\n\nconst DEFAULT_POSITIONING: DsDropdownMenuPositioning = {\n\tplacement: 'bottom-start' as const,\n\tgutter: 4,\n};\n\n/**\n * Root component - manages dropdown state\n */\nconst Root: React.FC<DsDropdownMenuRootProps> = ({\n\topen,\n\tonOpenChange,\n\tonSelect,\n\tonHighlightChange,\n\tpositioning: customPositioning,\n\tpreventCloseOnSelect = false,\n\tchildren,\n}) => {\n\tconst positioning = {\n\t\t...DEFAULT_POSITIONING,\n\t\t...customPositioning,\n\t};\n\n\treturn (\n\t\t<Menu.Root\n\t\t\topen={open}\n\t\t\tonOpenChange={(details) => onOpenChange?.(details.open)}\n\t\t\tonSelect={(details) => onSelect?.(details.value)}\n\t\t\tonHighlightChange={(details) => onHighlightChange?.(details.highlightedValue)}\n\t\t\tpositioning={positioning}\n\t\t\tcloseOnSelect={!preventCloseOnSelect}\n\t\t>\n\t\t\t{children}\n\t\t</Menu.Root>\n\t);\n};\n\n/**\n * Trigger component - wraps the trigger element\n */\nconst Trigger: React.FC<DsDropdownMenuTriggerProps> = Menu.Trigger;\n\n/**\n * Content component - wraps the dropdown content\n */\nconst Content: React.FC<DsDropdownMenuContentProps> = ({\n\tdisablePortal = false,\n\tchildren,\n\tclassName,\n\tstyle,\n}) => {\n\tconst Wrapper = disablePortal ? Fragment : Portal;\n\n\treturn (\n\t\t<Wrapper>\n\t\t\t<Menu.Positioner>\n\t\t\t\t<Menu.Content className={classNames(styles.content, className)} style={style}>\n\t\t\t\t\t{children}\n\t\t\t\t</Menu.Content>\n\t\t\t</Menu.Positioner>\n\t\t</Wrapper>\n\t);\n};\n\n/**\n * Item component - renders a menu item\n */\nconst Item: React.FC<DsDropdownMenuItemProps> = ({\n\tdisabled,\n\tselected,\n\tvalue,\n\tasChild,\n\tonClick,\n\tonSelect,\n\tchildren,\n\tclassName,\n\tstyle,\n}) => {\n\treturn (\n\t\t<Menu.Item\n\t\t\tdisabled={disabled}\n\t\t\tclassName={classNames(\n\t\t\t\tstyles.item,\n\t\t\t\t{\n\t\t\t\t\t[styles.selected]: selected,\n\t\t\t\t},\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tstyle={style}\n\t\t\tvalue={value}\n\t\t\tasChild={asChild}\n\t\t\tonClick={onClick}\n\t\t\tonSelect={onSelect}\n\t\t>\n\t\t\t{children}\n\t\t</Menu.Item>\n\t);\n};\n\n/**\n * ItemIndicator component - renders a selection indicator (check icon by default)\n */\nconst ItemIndicator: React.FC<DsDropdownMenuItemIndicatorProps> = ({ children, className, style }) => {\n\treturn (\n\t\t<span className={classNames(styles.indicator, className)} style={style}>\n\t\t\t{children ?? <DsIcon icon=\"check\" />}\n\t\t</span>\n\t);\n};\n\n/**\n * Header component - sticky header container for search, filters, or other controls\n */\nconst Header: React.FC<DsDropdownMenuHeaderProps> = ({ children, className, style }) => {\n\treturn (\n\t\t<div className={classNames(styles.header, className)} style={style}>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n\n/**\n * Actions component - footer container for action buttons\n */\nconst Actions: React.FC<DsDropdownMenuActionsProps> = ({ children, className, style }) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(styles.actions, className)}\n\t\t\tstyle={style}\n\t\t\trole=\"menu\"\n\t\t\taria-label=\"Menu actions\"\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n\n/**\n * ItemGroup component - collapsible group container\n */\nconst ItemGroup: React.FC<DsDropdownMenuItemGroupProps> = ({\n\tchildren,\n\tcollapsed: controlledCollapsed,\n\tonCollapsedChange,\n\tclassName,\n\tstyle,\n}) => {\n\tconst [internalCollapsed, setInternalCollapsed] = useState(false);\n\n\tconst isControlled = controlledCollapsed !== undefined;\n\tconst collapsed = isControlled ? controlledCollapsed : internalCollapsed;\n\n\tconst toggle = () => {\n\t\tconst newCollapsed = !collapsed;\n\t\tif (!isControlled) {\n\t\t\tsetInternalCollapsed(newCollapsed);\n\t\t}\n\t\tonCollapsedChange?.(newCollapsed);\n\t};\n\n\treturn (\n\t\t<GroupContext.Provider value={{ collapsed, toggle }}>\n\t\t\t<Menu.ItemGroup className={classNames(styles.group, className)} style={style}>\n\t\t\t\t{children}\n\t\t\t</Menu.ItemGroup>\n\t\t</GroupContext.Provider>\n\t);\n};\n\n/**\n * ItemGroupLabel component - clickable group header with collapse indicator\n */\nconst ItemGroupLabel: React.FC<DsDropdownMenuItemGroupLabelProps> = ({ children, className, style }) => {\n\tconst context = useContext(GroupContext);\n\n\tif (!context) {\n\t\t// If not inside a Group, just render static label\n\t\treturn (\n\t\t\t<Menu.ItemGroupLabel className={classNames(styles.groupLabel, className)} style={style}>\n\t\t\t\t<DsTypography variant=\"body-sm-md\">{children}</DsTypography>\n\t\t\t</Menu.ItemGroupLabel>\n\t\t);\n\t}\n\n\tconst { collapsed, toggle } = context;\n\n\treturn (\n\t\t<Menu.ItemGroupLabel asChild>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={classNames(styles.groupLabel, styles.groupLabelCollapsible, className)}\n\t\t\t\tstyle={style}\n\t\t\t\tonClick={toggle}\n\t\t\t\tonKeyDown={(e) => e.stopPropagation()}\n\t\t\t>\n\t\t\t\t<DsTypography variant=\"body-sm-md\">{children}</DsTypography>\n\t\t\t\t<DsIcon\n\t\t\t\t\ticon=\"keyboard_arrow_down\"\n\t\t\t\t\tclassName={classNames(styles.groupLabelIcon, {\n\t\t\t\t\t\t[styles.groupLabelIconRotated]: !collapsed,\n\t\t\t\t\t})}\n\t\t\t\t/>\n\t\t\t</button>\n\t\t</Menu.ItemGroupLabel>\n\t);\n};\n\n/**\n * ItemGroupContent component - collapsible content container\n */\nconst ItemGroupContent: React.FC<DsDropdownMenuItemGroupContentProps> = ({ children, className, style }) => {\n\tconst context = useContext(GroupContext);\n\n\tif (context?.collapsed) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className={className} style={style}>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n\n/**\n * Separator component - renders a visual divider\n */\nconst Separator: React.FC<DsDropdownMenuSeparatorProps> = ({ className, style }) => {\n\treturn <Menu.Separator className={classNames(styles.separator, className)} style={style} />;\n};\n\n/**\n * DEPRECATED: Legacy DsDropdownMenu component with options array\n * Use compound component pattern instead\n * @deprecated\n */\nexport const DsDropdownMenuLegacy: React.FC<DsDropdownMenuLegacyProps> = ({\n\toptions,\n\tchildren,\n\tcontentGap = 0,\n\tclassName,\n\tstyle,\n\talign = 'center',\n\tside = 'bottom',\n\tdisablePortal = false,\n\tdisableSearch = true,\n\tselected,\n\tonSelect,\n}) => {\n\tconst [open, setOpen] = useState(false);\n\tconst [searchTerm, setSearchTerm] = useState('');\n\n\tconst Wrapper = disablePortal ? Fragment : DropdownMenu.Portal;\n\n\tconst filteredOptions = disableSearch\n\t\t? options\n\t\t: options.filter((option) => option.label.toLowerCase().includes(searchTerm.toLowerCase()));\n\n\treturn (\n\t\t<DropdownMenu.Root open={open} onOpenChange={setOpen}>\n\t\t\t<DropdownMenu.Trigger asChild>{children}</DropdownMenu.Trigger>\n\t\t\t<Wrapper>\n\t\t\t\t<DropdownMenu.Content\n\t\t\t\t\tclassName={classNames(styles.contentLegacy, styles.viewportLegacy)}\n\t\t\t\t\tsideOffset={contentGap}\n\t\t\t\t\talign={align}\n\t\t\t\t\tside={side}\n\t\t\t\t>\n\t\t\t\t\t{!disableSearch && (\n\t\t\t\t\t\t<DsTextInput\n\t\t\t\t\t\t\tplaceholder=\"Search\"\n\t\t\t\t\t\t\tvalue={searchTerm}\n\t\t\t\t\t\t\tonValueChange={setSearchTerm}\n\t\t\t\t\t\t\tslots={{\n\t\t\t\t\t\t\t\tstartAdornment: <DsIcon icon=\"search\" size=\"tiny\" />,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonKeyDown={(e) => e.stopPropagation()}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{filteredOptions.map((option, i) => (\n\t\t\t\t\t\t<DropdownMenu.Item\n\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\tdisabled={option.disabled}\n\t\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t\tstyles.itemLegacy,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t[styles.selected]: selected === option.value,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tstyle={style}\n\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\te.stopPropagation();\n\n\t\t\t\t\t\t\t\tif (!option.disabled) {\n\t\t\t\t\t\t\t\t\tif (option.value) {\n\t\t\t\t\t\t\t\t\t\tonSelect?.(option.value);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\toption.onClick?.(e);\n\t\t\t\t\t\t\t\t\tsetOpen(false);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{option.icon && <DsIcon icon={option.icon} className={styles.itemIcon} />}\n\t\t\t\t\t\t\t<span className={styles.label}>{option.label}</span>\n\t\t\t\t\t\t\t{option.value && selected === option.value && (\n\t\t\t\t\t\t\t\t<span className={styles.indicator}>\n\t\t\t\t\t\t\t\t\t<DsIcon icon=\"check\" />\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</DropdownMenu.Item>\n\t\t\t\t\t))}\n\t\t\t\t</DropdownMenu.Content>\n\t\t\t</Wrapper>\n\t\t</DropdownMenu.Root>\n\t);\n};\n\n/**\n * Design system DsDropdownMenu component\n *\n * @example\n * <DsDropdownMenu.Root>\n * <DsDropdownMenu.Trigger>\n * <button>Open</button>\n * </DsDropdownMenu.Trigger>\n * <DsDropdownMenu.Content>\n * <DsDropdownMenu.Header>\n * <DsTextInput placeholder=\"Search...\" />\n * </DsDropdownMenu.Header>\n * <DsDropdownMenu.Item value=\"item1\">\n * Item 1\n * <DsDropdownMenu.ItemIndicator />\n * </DsDropdownMenu.Item>\n * <DsDropdownMenu.ItemGroup>\n * <DsDropdownMenu.ItemGroupLabel>Group Name</DsDropdownMenu.ItemGroupLabel>\n * <DsDropdownMenu.ItemGroupContent>\n * <DsDropdownMenu.Item value=\"item2\">Item 2</DsDropdownMenu.Item>\n * </DsDropdownMenu.ItemGroupContent>\n * </DsDropdownMenu.ItemGroup>\n * <DsDropdownMenu.Separator />\n * <DsDropdownMenu.Actions>\n * <DsButton>Cancel</DsButton>\n * <DsButton>Apply</DsButton>\n * </DsDropdownMenu.Actions>\n * </DsDropdownMenu.Content>\n * </DsDropdownMenu.Root>\n */\nexport const DsDropdownMenu = {\n\tRoot,\n\tTrigger,\n\tContent,\n\tItem,\n\tItemIndicator,\n\tHeader,\n\tActions,\n\tItemGroup,\n\tItemGroupLabel,\n\tItemGroupContent,\n\tSeparator,\n};\n"],"mappings":"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"}
@@ -7,76 +7,166 @@ const require_ds_button = require('../ds-button/ds-button.cjs');
7
7
  require('../ds-button/index.cjs');
8
8
  const require_ds_expandable_text_input_module = require('./ds-expandable-text-input.module.cjs');
9
9
  const require_merge_refs = require('../ds-table/utils/merge-refs.cjs');
10
+ let react_compiler_runtime = require("react/compiler-runtime");
10
11
  let classnames = require("classnames");
11
12
  classnames = require_rolldown_runtime.__toESM(classnames);
12
13
  let react_jsx_runtime = require("react/jsx-runtime");
13
14
  let react = require("react");
14
15
 
15
16
  //#region src/components/ds-expandable-text-input/ds-expandable-text-input.tsx
16
- function DsExpandableTextInput({ onClear, onExpandChange, icon, ...props }) {
17
+ function DsExpandableTextInput(t0) {
18
+ const $ = (0, react_compiler_runtime.c)(38);
19
+ const { onClear, onExpandChange, icon, ...props } = t0;
17
20
  const [expanded, _setExpanded] = (0, react.useState)(false);
18
21
  const [dirty, setDirty] = (0, react.useState)(false);
19
22
  const ref = (0, react.useRef)(null);
20
- const setExpanded = (newExpanded) => {
21
- _setExpanded(newExpanded);
22
- onExpandChange?.(newExpanded);
23
- if (!newExpanded) setDirty(false);
24
- };
25
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ds_text_input.default, {
26
- ...props,
27
- ref: require_merge_refs.mergeRefs(ref, props.ref),
28
- tabIndex: expanded ? 0 : -1,
29
- className: (0, classnames.default)(props.className, require_ds_expandable_text_input_module.default.expandableInput, expanded && require_ds_expandable_text_input_module.default.expanded, dirty && require_ds_expandable_text_input_module.default.dirty),
30
- onChange: (e) => {
23
+ let t1;
24
+ if ($[0] !== onExpandChange || $[1] !== setDirty) {
25
+ t1 = (newExpanded) => {
26
+ _setExpanded(newExpanded);
27
+ onExpandChange?.(newExpanded);
28
+ if (!newExpanded) setDirty(false);
29
+ };
30
+ $[0] = onExpandChange;
31
+ $[1] = setDirty;
32
+ $[2] = t1;
33
+ } else t1 = $[2];
34
+ const setExpanded = t1;
35
+ const T0 = require_ds_text_input.default;
36
+ const t2 = require_merge_refs.mergeRefs(ref, props.ref);
37
+ const t3 = expanded ? 0 : -1;
38
+ const t4 = (0, classnames.default)(props.className, require_ds_expandable_text_input_module.default.expandableInput, expanded && require_ds_expandable_text_input_module.default.expanded, dirty && require_ds_expandable_text_input_module.default.dirty);
39
+ let t5;
40
+ if ($[3] !== props || $[4] !== setDirty) {
41
+ t5 = (e) => {
31
42
  props.onChange?.(e);
32
43
  setDirty(true);
33
- },
34
- onBlur: (e) => {
35
- props.onBlur?.(e);
44
+ };
45
+ $[3] = props;
46
+ $[4] = setDirty;
47
+ $[5] = t5;
48
+ } else t5 = $[5];
49
+ let t6;
50
+ if ($[6] !== dirty || $[7] !== props || $[8] !== ref || $[9] !== setExpanded) {
51
+ t6 = (e_0) => {
52
+ props.onBlur?.(e_0);
36
53
  if (!dirty && !ref.current?.value) setExpanded(false);
37
- },
38
- slots: {
54
+ };
55
+ $[6] = dirty;
56
+ $[7] = props;
57
+ $[8] = ref;
58
+ $[9] = setExpanded;
59
+ $[10] = t6;
60
+ } else t6 = $[10];
61
+ const t7 = expanded ? -1 : 0;
62
+ let t8;
63
+ if ($[11] !== props.disabled || $[12] !== ref || $[13] !== setExpanded) {
64
+ t8 = () => {
65
+ if (props.disabled) return;
66
+ setExpanded(true);
67
+ ref.current?.focus();
68
+ };
69
+ $[11] = props.disabled;
70
+ $[12] = ref;
71
+ $[13] = setExpanded;
72
+ $[14] = t8;
73
+ } else t8 = $[14];
74
+ let t9;
75
+ if ($[15] !== icon) {
76
+ t9 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ds_icon.default, {
77
+ icon,
78
+ size: "small"
79
+ });
80
+ $[15] = icon;
81
+ $[16] = t9;
82
+ } else t9 = $[16];
83
+ let t10;
84
+ if ($[17] !== expanded || $[18] !== t7 || $[19] !== t8 || $[20] !== t9) {
85
+ t10 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
86
+ type: "button",
87
+ className: require_ds_expandable_text_input_module.default.trigger,
88
+ "aria-label": "Open text input",
89
+ "aria-hidden": expanded,
90
+ tabIndex: t7,
91
+ onClick: t8,
92
+ children: t9
93
+ });
94
+ $[17] = expanded;
95
+ $[18] = t7;
96
+ $[19] = t8;
97
+ $[20] = t9;
98
+ $[21] = t10;
99
+ } else t10 = $[21];
100
+ let t11;
101
+ if ($[22] !== onClear || $[23] !== ref || $[24] !== setExpanded) {
102
+ t11 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ds_button.default, {
103
+ design: "v1.2",
104
+ size: "small",
105
+ buttonType: "tertiary",
106
+ variant: "filled",
107
+ className: require_ds_expandable_text_input_module.default.clearTrigger,
108
+ onClick: () => {
109
+ setExpanded(false);
110
+ if (ref.current) {
111
+ ref.current.blur();
112
+ ref.current.value = "";
113
+ }
114
+ onClear?.();
115
+ },
116
+ children: "Clear"
117
+ });
118
+ $[22] = onClear;
119
+ $[23] = ref;
120
+ $[24] = setExpanded;
121
+ $[25] = t11;
122
+ } else t11 = $[25];
123
+ let t12;
124
+ if ($[26] !== t10 || $[27] !== t11) {
125
+ t12 = {
39
126
  inputWrapper: InputExpander,
40
- startAdornment: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
41
- type: "button",
42
- className: require_ds_expandable_text_input_module.default.trigger,
43
- "aria-label": "Open text input",
44
- "aria-hidden": expanded,
45
- tabIndex: expanded ? -1 : 0,
46
- onClick: () => {
47
- if (props.disabled) return;
48
- setExpanded(true);
49
- ref.current?.focus();
50
- },
51
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ds_icon.default, {
52
- icon,
53
- size: "small"
54
- })
55
- }),
56
- endAdornment: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ds_button.default, {
57
- design: "v1.2",
58
- size: "small",
59
- buttonType: "tertiary",
60
- variant: "filled",
61
- className: require_ds_expandable_text_input_module.default.clearTrigger,
62
- onClick: () => {
63
- setExpanded(false);
64
- if (ref.current) {
65
- ref.current.blur();
66
- ref.current.value = "";
67
- }
68
- onClear?.();
69
- },
70
- children: "Clear"
71
- })
72
- }
73
- });
127
+ startAdornment: t10,
128
+ endAdornment: t11
129
+ };
130
+ $[26] = t10;
131
+ $[27] = t11;
132
+ $[28] = t12;
133
+ } else t12 = $[28];
134
+ let t13;
135
+ if ($[29] !== T0 || $[30] !== props || $[31] !== t12 || $[32] !== t2 || $[33] !== t3 || $[34] !== t4 || $[35] !== t5 || $[36] !== t6) {
136
+ t13 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(T0, {
137
+ ...props,
138
+ ref: t2,
139
+ tabIndex: t3,
140
+ className: t4,
141
+ onChange: t5,
142
+ onBlur: t6,
143
+ slots: t12
144
+ });
145
+ $[29] = T0;
146
+ $[30] = props;
147
+ $[31] = t12;
148
+ $[32] = t2;
149
+ $[33] = t3;
150
+ $[34] = t4;
151
+ $[35] = t5;
152
+ $[36] = t6;
153
+ $[37] = t13;
154
+ } else t13 = $[37];
155
+ return t13;
74
156
  }
75
- function InputExpander({ children }) {
76
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
77
- className: require_ds_expandable_text_input_module.default.inputExpander,
78
- children
79
- });
157
+ function InputExpander(t0) {
158
+ const $ = (0, react_compiler_runtime.c)(2);
159
+ const { children } = t0;
160
+ let t1;
161
+ if ($[0] !== children) {
162
+ t1 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
163
+ className: require_ds_expandable_text_input_module.default.inputExpander,
164
+ children
165
+ });
166
+ $[0] = children;
167
+ $[1] = t1;
168
+ } else t1 = $[1];
169
+ return t1;
80
170
  }
81
171
 
82
172
  //#endregion
@@ -1,5 +1,5 @@
1
1
  import { DsExpandableTextInputProps } from "./ds-expandable-text-input.types.cjs";
2
- import * as react_jsx_runtime38 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime33 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/ds-expandable-text-input/ds-expandable-text-input.d.ts
5
5
  declare function DsExpandableTextInput({
@@ -7,7 +7,7 @@ declare function DsExpandableTextInput({
7
7
  onExpandChange,
8
8
  icon,
9
9
  ...props
10
- }: DsExpandableTextInputProps): react_jsx_runtime38.JSX.Element;
10
+ }: DsExpandableTextInputProps): react_jsx_runtime33.JSX.Element;
11
11
  //#endregion
12
12
  export { DsExpandableTextInput };
13
13
  //# sourceMappingURL=ds-expandable-text-input.d.cts.map
@@ -1,5 +1,5 @@
1
1
  import { DsExpandableTextInputProps } from "./ds-expandable-text-input.types.js";
2
- import * as react_jsx_runtime37 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime26 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/ds-expandable-text-input/ds-expandable-text-input.d.ts
5
5
  declare function DsExpandableTextInput({
@@ -7,7 +7,7 @@ declare function DsExpandableTextInput({
7
7
  onExpandChange,
8
8
  icon,
9
9
  ...props
10
- }: DsExpandableTextInputProps): react_jsx_runtime37.JSX.Element;
10
+ }: DsExpandableTextInputProps): react_jsx_runtime26.JSX.Element;
11
11
  //#endregion
12
12
  export { DsExpandableTextInput };
13
13
  //# sourceMappingURL=ds-expandable-text-input.d.ts.map
@@ -6,75 +6,165 @@ import ds_button_default from "../ds-button/ds-button.js";
6
6
  import "../ds-button/index.js";
7
7
  import ds_expandable_text_input_module_default from "./ds-expandable-text-input.module.js";
8
8
  import { mergeRefs } from "../ds-table/utils/merge-refs.js";
9
+ import { c } from "react/compiler-runtime";
9
10
  import classNames from "classnames";
10
11
  import { jsx } from "react/jsx-runtime";
11
12
  import { useRef, useState } from "react";
12
13
 
13
14
  //#region src/components/ds-expandable-text-input/ds-expandable-text-input.tsx
14
- function DsExpandableTextInput({ onClear, onExpandChange, icon, ...props }) {
15
+ function DsExpandableTextInput(t0) {
16
+ const $ = c(38);
17
+ const { onClear, onExpandChange, icon, ...props } = t0;
15
18
  const [expanded, _setExpanded] = useState(false);
16
19
  const [dirty, setDirty] = useState(false);
17
20
  const ref = useRef(null);
18
- const setExpanded = (newExpanded) => {
19
- _setExpanded(newExpanded);
20
- onExpandChange?.(newExpanded);
21
- if (!newExpanded) setDirty(false);
22
- };
23
- return /* @__PURE__ */ jsx(ds_text_input_default, {
24
- ...props,
25
- ref: mergeRefs(ref, props.ref),
26
- tabIndex: expanded ? 0 : -1,
27
- className: classNames(props.className, ds_expandable_text_input_module_default.expandableInput, expanded && ds_expandable_text_input_module_default.expanded, dirty && ds_expandable_text_input_module_default.dirty),
28
- onChange: (e) => {
21
+ let t1;
22
+ if ($[0] !== onExpandChange || $[1] !== setDirty) {
23
+ t1 = (newExpanded) => {
24
+ _setExpanded(newExpanded);
25
+ onExpandChange?.(newExpanded);
26
+ if (!newExpanded) setDirty(false);
27
+ };
28
+ $[0] = onExpandChange;
29
+ $[1] = setDirty;
30
+ $[2] = t1;
31
+ } else t1 = $[2];
32
+ const setExpanded = t1;
33
+ const T0 = ds_text_input_default;
34
+ const t2 = mergeRefs(ref, props.ref);
35
+ const t3 = expanded ? 0 : -1;
36
+ const t4 = classNames(props.className, ds_expandable_text_input_module_default.expandableInput, expanded && ds_expandable_text_input_module_default.expanded, dirty && ds_expandable_text_input_module_default.dirty);
37
+ let t5;
38
+ if ($[3] !== props || $[4] !== setDirty) {
39
+ t5 = (e) => {
29
40
  props.onChange?.(e);
30
41
  setDirty(true);
31
- },
32
- onBlur: (e) => {
33
- props.onBlur?.(e);
42
+ };
43
+ $[3] = props;
44
+ $[4] = setDirty;
45
+ $[5] = t5;
46
+ } else t5 = $[5];
47
+ let t6;
48
+ if ($[6] !== dirty || $[7] !== props || $[8] !== ref || $[9] !== setExpanded) {
49
+ t6 = (e_0) => {
50
+ props.onBlur?.(e_0);
34
51
  if (!dirty && !ref.current?.value) setExpanded(false);
35
- },
36
- slots: {
52
+ };
53
+ $[6] = dirty;
54
+ $[7] = props;
55
+ $[8] = ref;
56
+ $[9] = setExpanded;
57
+ $[10] = t6;
58
+ } else t6 = $[10];
59
+ const t7 = expanded ? -1 : 0;
60
+ let t8;
61
+ if ($[11] !== props.disabled || $[12] !== ref || $[13] !== setExpanded) {
62
+ t8 = () => {
63
+ if (props.disabled) return;
64
+ setExpanded(true);
65
+ ref.current?.focus();
66
+ };
67
+ $[11] = props.disabled;
68
+ $[12] = ref;
69
+ $[13] = setExpanded;
70
+ $[14] = t8;
71
+ } else t8 = $[14];
72
+ let t9;
73
+ if ($[15] !== icon) {
74
+ t9 = /* @__PURE__ */ jsx(ds_icon_default, {
75
+ icon,
76
+ size: "small"
77
+ });
78
+ $[15] = icon;
79
+ $[16] = t9;
80
+ } else t9 = $[16];
81
+ let t10;
82
+ if ($[17] !== expanded || $[18] !== t7 || $[19] !== t8 || $[20] !== t9) {
83
+ t10 = /* @__PURE__ */ jsx("button", {
84
+ type: "button",
85
+ className: ds_expandable_text_input_module_default.trigger,
86
+ "aria-label": "Open text input",
87
+ "aria-hidden": expanded,
88
+ tabIndex: t7,
89
+ onClick: t8,
90
+ children: t9
91
+ });
92
+ $[17] = expanded;
93
+ $[18] = t7;
94
+ $[19] = t8;
95
+ $[20] = t9;
96
+ $[21] = t10;
97
+ } else t10 = $[21];
98
+ let t11;
99
+ if ($[22] !== onClear || $[23] !== ref || $[24] !== setExpanded) {
100
+ t11 = /* @__PURE__ */ jsx(ds_button_default, {
101
+ design: "v1.2",
102
+ size: "small",
103
+ buttonType: "tertiary",
104
+ variant: "filled",
105
+ className: ds_expandable_text_input_module_default.clearTrigger,
106
+ onClick: () => {
107
+ setExpanded(false);
108
+ if (ref.current) {
109
+ ref.current.blur();
110
+ ref.current.value = "";
111
+ }
112
+ onClear?.();
113
+ },
114
+ children: "Clear"
115
+ });
116
+ $[22] = onClear;
117
+ $[23] = ref;
118
+ $[24] = setExpanded;
119
+ $[25] = t11;
120
+ } else t11 = $[25];
121
+ let t12;
122
+ if ($[26] !== t10 || $[27] !== t11) {
123
+ t12 = {
37
124
  inputWrapper: InputExpander,
38
- startAdornment: /* @__PURE__ */ jsx("button", {
39
- type: "button",
40
- className: ds_expandable_text_input_module_default.trigger,
41
- "aria-label": "Open text input",
42
- "aria-hidden": expanded,
43
- tabIndex: expanded ? -1 : 0,
44
- onClick: () => {
45
- if (props.disabled) return;
46
- setExpanded(true);
47
- ref.current?.focus();
48
- },
49
- children: /* @__PURE__ */ jsx(ds_icon_default, {
50
- icon,
51
- size: "small"
52
- })
53
- }),
54
- endAdornment: /* @__PURE__ */ jsx(ds_button_default, {
55
- design: "v1.2",
56
- size: "small",
57
- buttonType: "tertiary",
58
- variant: "filled",
59
- className: ds_expandable_text_input_module_default.clearTrigger,
60
- onClick: () => {
61
- setExpanded(false);
62
- if (ref.current) {
63
- ref.current.blur();
64
- ref.current.value = "";
65
- }
66
- onClear?.();
67
- },
68
- children: "Clear"
69
- })
70
- }
71
- });
125
+ startAdornment: t10,
126
+ endAdornment: t11
127
+ };
128
+ $[26] = t10;
129
+ $[27] = t11;
130
+ $[28] = t12;
131
+ } else t12 = $[28];
132
+ let t13;
133
+ if ($[29] !== T0 || $[30] !== props || $[31] !== t12 || $[32] !== t2 || $[33] !== t3 || $[34] !== t4 || $[35] !== t5 || $[36] !== t6) {
134
+ t13 = /* @__PURE__ */ jsx(T0, {
135
+ ...props,
136
+ ref: t2,
137
+ tabIndex: t3,
138
+ className: t4,
139
+ onChange: t5,
140
+ onBlur: t6,
141
+ slots: t12
142
+ });
143
+ $[29] = T0;
144
+ $[30] = props;
145
+ $[31] = t12;
146
+ $[32] = t2;
147
+ $[33] = t3;
148
+ $[34] = t4;
149
+ $[35] = t5;
150
+ $[36] = t6;
151
+ $[37] = t13;
152
+ } else t13 = $[37];
153
+ return t13;
72
154
  }
73
- function InputExpander({ children }) {
74
- return /* @__PURE__ */ jsx("div", {
75
- className: ds_expandable_text_input_module_default.inputExpander,
76
- children
77
- });
155
+ function InputExpander(t0) {
156
+ const $ = c(2);
157
+ const { children } = t0;
158
+ let t1;
159
+ if ($[0] !== children) {
160
+ t1 = /* @__PURE__ */ jsx("div", {
161
+ className: ds_expandable_text_input_module_default.inputExpander,
162
+ children
163
+ });
164
+ $[0] = children;
165
+ $[1] = t1;
166
+ } else t1 = $[1];
167
+ return t1;
78
168
  }
79
169
 
80
170
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"ds-expandable-text-input.js","names":["DsTextInput","styles","DsIcon","DsButton"],"sources":["../../../src/components/ds-expandable-text-input/ds-expandable-text-input.tsx"],"sourcesContent":["import { type ReactNode, useRef, useState } from 'react';\nimport { DsTextInput } from '../ds-text-input';\nimport { DsIcon } from '../ds-icon';\nimport classNames from 'classnames';\nimport styles from './ds-expandable-text-input.module.scss';\nimport { mergeRefs } from '../ds-table/utils/merge-refs';\nimport type { DsExpandableTextInputProps } from './ds-expandable-text-input.types';\nimport { DsButton } from '../ds-button';\n\nexport function DsExpandableTextInput({\n\tonClear,\n\tonExpandChange,\n\ticon,\n\t...props\n}: DsExpandableTextInputProps) {\n\tconst [expanded, _setExpanded] = useState(false);\n\tconst [dirty, setDirty] = useState(false);\n\tconst ref = useRef<HTMLInputElement>(null);\n\n\tconst setExpanded = (newExpanded: boolean) => {\n\t\t_setExpanded(newExpanded);\n\n\t\tonExpandChange?.(newExpanded);\n\n\t\tif (!newExpanded) {\n\t\t\tsetDirty(false);\n\t\t}\n\t};\n\n\treturn (\n\t\t<DsTextInput\n\t\t\t{...props}\n\t\t\tref={mergeRefs(ref, props.ref)}\n\t\t\ttabIndex={expanded ? 0 : -1}\n\t\t\tclassName={classNames(\n\t\t\t\tprops.className,\n\t\t\t\tstyles.expandableInput,\n\t\t\t\texpanded && styles.expanded,\n\t\t\t\tdirty && styles.dirty,\n\t\t\t)}\n\t\t\tonChange={(e) => {\n\t\t\t\tprops.onChange?.(e);\n\n\t\t\t\tsetDirty(true);\n\t\t\t}}\n\t\t\tonBlur={(e) => {\n\t\t\t\tprops.onBlur?.(e);\n\n\t\t\t\tif (!dirty && !ref.current?.value) {\n\t\t\t\t\tsetExpanded(false);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tslots={{\n\t\t\t\tinputWrapper: InputExpander,\n\t\t\t\tstartAdornment: (\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={styles.trigger}\n\t\t\t\t\t\taria-label=\"Open text input\"\n\t\t\t\t\t\taria-hidden={expanded}\n\t\t\t\t\t\ttabIndex={expanded ? -1 : 0}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tif (props.disabled) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tsetExpanded(true);\n\n\t\t\t\t\t\t\tref.current?.focus();\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<DsIcon icon={icon} size=\"small\" />\n\t\t\t\t\t</button>\n\t\t\t\t),\n\n\t\t\t\tendAdornment: (\n\t\t\t\t\t<DsButton\n\t\t\t\t\t\tdesign=\"v1.2\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tbuttonType=\"tertiary\"\n\t\t\t\t\t\tvariant=\"filled\"\n\t\t\t\t\t\tclassName={styles.clearTrigger}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tsetExpanded(false);\n\n\t\t\t\t\t\t\tif (ref.current) {\n\t\t\t\t\t\t\t\tref.current.blur();\n\n\t\t\t\t\t\t\t\t// Manually clear the input in uncontrolled mode.\n\t\t\t\t\t\t\t\tref.current.value = '';\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tonClear?.();\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tClear\n\t\t\t\t\t</DsButton>\n\t\t\t\t),\n\t\t\t}}\n\t\t/>\n\t);\n}\n\nfunction InputExpander({ children }: { children: ReactNode }) {\n\treturn <div className={styles.inputExpander}>{children}</div>;\n}\n"],"mappings":";;;;;;;;;;;;;AASA,SAAgB,sBAAsB,EACrC,SACA,gBACA,MACA,GAAG,SAC2B;CAC9B,MAAM,CAAC,UAAU,gBAAgB,SAAS,MAAM;CAChD,MAAM,CAAC,OAAO,YAAY,SAAS,MAAM;CACzC,MAAM,MAAM,OAAyB,KAAK;CAE1C,MAAM,eAAe,gBAAyB;AAC7C,eAAa,YAAY;AAEzB,mBAAiB,YAAY;AAE7B,MAAI,CAAC,YACJ,UAAS,MAAM;;AAIjB,QACC,oBAACA;EACA,GAAI;EACJ,KAAK,UAAU,KAAK,MAAM,IAAI;EAC9B,UAAU,WAAW,IAAI;EACzB,WAAW,WACV,MAAM,WACNC,wCAAO,iBACP,YAAYA,wCAAO,UACnB,SAASA,wCAAO,MAChB;EACD,WAAW,MAAM;AAChB,SAAM,WAAW,EAAE;AAEnB,YAAS,KAAK;;EAEf,SAAS,MAAM;AACd,SAAM,SAAS,EAAE;AAEjB,OAAI,CAAC,SAAS,CAAC,IAAI,SAAS,MAC3B,aAAY,MAAM;;EAGpB,OAAO;GACN,cAAc;GACd,gBACC,oBAAC;IACA,MAAK;IACL,WAAWA,wCAAO;IAClB,cAAW;IACX,eAAa;IACb,UAAU,WAAW,KAAK;IAC1B,eAAe;AACd,SAAI,MAAM,SACT;AAGD,iBAAY,KAAK;AAEjB,SAAI,SAAS,OAAO;;cAGrB,oBAACC;KAAa;KAAM,MAAK;MAAU;KAC3B;GAGV,cACC,oBAACC;IACA,QAAO;IACP,MAAK;IACL,YAAW;IACX,SAAQ;IACR,WAAWF,wCAAO;IAClB,eAAe;AACd,iBAAY,MAAM;AAElB,SAAI,IAAI,SAAS;AAChB,UAAI,QAAQ,MAAM;AAGlB,UAAI,QAAQ,QAAQ;;AAGrB,gBAAW;;cAEZ;KAEU;GAEZ;GACA;;AAIJ,SAAS,cAAc,EAAE,YAAqC;AAC7D,QAAO,oBAAC;EAAI,WAAWA,wCAAO;EAAgB;GAAe"}
1
+ {"version":3,"file":"ds-expandable-text-input.js","names":["ReactNode","useRef","useState","DsTextInput","DsIcon","classNames","styles","mergeRefs","DsExpandableTextInputProps","DsButton","DsExpandableTextInput","t0","$","_c","onClear","onExpandChange","icon","props","expanded","_setExpanded","dirty","setDirty","ref","t1","newExpanded","setExpanded","T0","t2","t3","t4","className","expandableInput","t5","e","onChange","t6","e_0","onBlur","current","value","t7","t8","disabled","focus","t9","t10","trigger","t11","clearTrigger","blur","t12","inputWrapper","InputExpander","startAdornment","endAdornment","t13","children","inputExpander"],"sources":["../../../src/components/ds-expandable-text-input/ds-expandable-text-input.tsx"],"sourcesContent":["import { type ReactNode, useRef, useState } from 'react';\nimport { DsTextInput } from '../ds-text-input';\nimport { DsIcon } from '../ds-icon';\nimport classNames from 'classnames';\nimport styles from './ds-expandable-text-input.module.scss';\nimport { mergeRefs } from '../ds-table/utils/merge-refs';\nimport type { DsExpandableTextInputProps } from './ds-expandable-text-input.types';\nimport { DsButton } from '../ds-button';\n\nexport function DsExpandableTextInput({\n\tonClear,\n\tonExpandChange,\n\ticon,\n\t...props\n}: DsExpandableTextInputProps) {\n\tconst [expanded, _setExpanded] = useState(false);\n\tconst [dirty, setDirty] = useState(false);\n\tconst ref = useRef<HTMLInputElement>(null);\n\n\tconst setExpanded = (newExpanded: boolean) => {\n\t\t_setExpanded(newExpanded);\n\n\t\tonExpandChange?.(newExpanded);\n\n\t\tif (!newExpanded) {\n\t\t\tsetDirty(false);\n\t\t}\n\t};\n\n\treturn (\n\t\t<DsTextInput\n\t\t\t{...props}\n\t\t\tref={mergeRefs(ref, props.ref)}\n\t\t\ttabIndex={expanded ? 0 : -1}\n\t\t\tclassName={classNames(\n\t\t\t\tprops.className,\n\t\t\t\tstyles.expandableInput,\n\t\t\t\texpanded && styles.expanded,\n\t\t\t\tdirty && styles.dirty,\n\t\t\t)}\n\t\t\tonChange={(e) => {\n\t\t\t\tprops.onChange?.(e);\n\n\t\t\t\tsetDirty(true);\n\t\t\t}}\n\t\t\tonBlur={(e) => {\n\t\t\t\tprops.onBlur?.(e);\n\n\t\t\t\tif (!dirty && !ref.current?.value) {\n\t\t\t\t\tsetExpanded(false);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tslots={{\n\t\t\t\tinputWrapper: InputExpander,\n\t\t\t\tstartAdornment: (\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={styles.trigger}\n\t\t\t\t\t\taria-label=\"Open text input\"\n\t\t\t\t\t\taria-hidden={expanded}\n\t\t\t\t\t\ttabIndex={expanded ? -1 : 0}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tif (props.disabled) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tsetExpanded(true);\n\n\t\t\t\t\t\t\tref.current?.focus();\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<DsIcon icon={icon} size=\"small\" />\n\t\t\t\t\t</button>\n\t\t\t\t),\n\n\t\t\t\tendAdornment: (\n\t\t\t\t\t<DsButton\n\t\t\t\t\t\tdesign=\"v1.2\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tbuttonType=\"tertiary\"\n\t\t\t\t\t\tvariant=\"filled\"\n\t\t\t\t\t\tclassName={styles.clearTrigger}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tsetExpanded(false);\n\n\t\t\t\t\t\t\tif (ref.current) {\n\t\t\t\t\t\t\t\tref.current.blur();\n\n\t\t\t\t\t\t\t\t// Manually clear the input in uncontrolled mode.\n\t\t\t\t\t\t\t\tref.current.value = '';\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tonClear?.();\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tClear\n\t\t\t\t\t</DsButton>\n\t\t\t\t),\n\t\t\t}}\n\t\t/>\n\t);\n}\n\nfunction InputExpander({ children }: { children: ReactNode }) {\n\treturn <div className={styles.inputExpander}>{children}</div>;\n}\n"],"mappings":"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"}