draft-components 1.13.0 → 2.0.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 (591) hide show
  1. package/{css → dist/css}/draft-components.css +553 -558
  2. package/{css → dist/css}/draft-components.dark.css +185 -113
  3. package/dist/esm/components/alert/alert.d.ts +15 -0
  4. package/dist/esm/components/alert/alert.js +12 -0
  5. package/dist/esm/components/alert/index.d.ts +1 -0
  6. package/dist/esm/components/alert/index.js +1 -0
  7. package/{types → dist/esm}/components/avatar/avatar.d.ts +8 -7
  8. package/dist/esm/components/avatar/avatar.js +41 -0
  9. package/dist/esm/components/avatar/index.d.ts +1 -0
  10. package/dist/esm/components/avatar/index.js +1 -0
  11. package/dist/esm/components/avatar-group/avatar-group.js +5 -0
  12. package/dist/esm/components/avatar-group/index.d.ts +1 -0
  13. package/dist/esm/components/avatar-group/index.js +1 -0
  14. package/{esm → dist/esm}/components/badge/badge.js +3 -6
  15. package/dist/esm/components/badge/index.d.ts +1 -0
  16. package/dist/esm/components/badge/index.js +1 -0
  17. package/dist/esm/components/breadcrumbs/breadcrumbs-context.js +13 -0
  18. package/dist/esm/components/breadcrumbs/breadcrumbs-item.js +16 -0
  19. package/dist/esm/components/breadcrumbs/breadcrumbs.js +7 -0
  20. package/dist/esm/components/breadcrumbs/index.d.ts +2 -0
  21. package/dist/esm/components/breadcrumbs/index.js +2 -0
  22. package/{types → dist/esm}/components/button/button.d.ts +12 -10
  23. package/dist/esm/components/button/button.js +22 -0
  24. package/dist/esm/components/button/icon-button.d.ts +4 -0
  25. package/dist/esm/components/button/icon-button.js +7 -0
  26. package/dist/esm/components/button/index.d.ts +2 -0
  27. package/dist/esm/components/button/index.js +2 -0
  28. package/dist/esm/components/button-group/button-group.js +5 -0
  29. package/dist/esm/components/button-group/index.d.ts +1 -0
  30. package/dist/esm/components/button-group/index.js +1 -0
  31. package/dist/esm/components/caption/caption.d.ts +10 -0
  32. package/dist/esm/components/caption/caption.js +10 -0
  33. package/dist/esm/components/caption/index.d.ts +1 -0
  34. package/dist/esm/components/caption/index.js +1 -0
  35. package/dist/esm/components/checkbox/checkbox.js +15 -0
  36. package/dist/esm/components/checkbox/index.d.ts +1 -0
  37. package/dist/esm/components/checkbox/index.js +1 -0
  38. package/dist/esm/components/color-picker/color-picker-button.js +11 -0
  39. package/{esm → dist/esm}/components/color-picker/color-picker.js +4 -7
  40. package/dist/esm/components/color-picker/index.d.ts +1 -0
  41. package/dist/esm/components/color-picker/index.js +1 -0
  42. package/{esm → dist/esm}/components/date-picker/calendar-day.js +4 -7
  43. package/{types → dist/esm}/components/date-picker/calendar-grid-head.d.ts +1 -1
  44. package/dist/esm/components/date-picker/calendar-grid-head.js +11 -0
  45. package/{types → dist/esm}/components/date-picker/calendar-grid.d.ts +2 -2
  46. package/{esm → dist/esm}/components/date-picker/calendar-grid.js +7 -10
  47. package/dist/esm/components/date-picker/calendar-header.js +43 -0
  48. package/{types → dist/esm}/components/date-picker/calendar.d.ts +3 -3
  49. package/dist/esm/components/date-picker/calendar.js +19 -0
  50. package/{esm → dist/esm}/components/date-picker/date-helpers.js +20 -22
  51. package/{types → dist/esm}/components/date-picker/date-picker.d.ts +2 -2
  52. package/dist/esm/components/date-picker/date-picker.js +15 -0
  53. package/{types → dist/esm}/components/date-picker/date-range-picker.d.ts +3 -3
  54. package/{esm → dist/esm}/components/date-picker/date-range-picker.js +4 -7
  55. package/{types → dist/esm}/components/date-picker/date-range.d.ts +1 -1
  56. package/{esm → dist/esm}/components/date-picker/date-range.js +1 -4
  57. package/dist/esm/components/date-picker/index.d.ts +2 -0
  58. package/dist/esm/components/date-picker/index.js +2 -0
  59. package/{types → dist/esm}/components/date-picker/parse-min-max-props.d.ts +1 -1
  60. package/{esm → dist/esm}/components/date-picker/parse-min-max-props.js +1 -4
  61. package/{types → dist/esm}/components/date-picker-popover/date-picker-popover.d.ts +2 -2
  62. package/dist/esm/components/date-picker-popover/date-picker-popover.js +15 -0
  63. package/dist/esm/components/date-picker-popover/index.d.ts +1 -0
  64. package/dist/esm/components/date-picker-popover/index.js +1 -0
  65. package/dist/esm/components/date-range-picker-popover/date-range-picker-popover-footer.js +5 -0
  66. package/{types → dist/esm}/components/date-range-picker-popover/date-range-picker-popover-presets.d.ts +1 -1
  67. package/dist/esm/components/date-range-picker-popover/date-range-picker-popover-presets.js +30 -0
  68. package/{types → dist/esm}/components/date-range-picker-popover/date-range-picker-popover.d.ts +3 -3
  69. package/{esm → dist/esm}/components/date-range-picker-popover/date-range-picker-popover.js +7 -14
  70. package/{types → dist/esm}/components/date-range-picker-popover/helpers.d.ts +1 -1
  71. package/{esm → dist/esm}/components/date-range-picker-popover/helpers.js +1 -3
  72. package/dist/esm/components/date-range-picker-popover/index.d.ts +2 -0
  73. package/dist/esm/components/date-range-picker-popover/index.js +2 -0
  74. package/{types → dist/esm}/components/date-range-picker-popover/types.d.ts +1 -1
  75. package/dist/esm/components/date-range-picker-popover/types.js +1 -0
  76. package/{esm → dist/esm}/components/date-range-picker-popover/use-is-compact-view.js +2 -5
  77. package/dist/esm/components/dialog/dialog-body.js +7 -0
  78. package/{esm → dist/esm}/components/dialog/dialog-context.js +4 -7
  79. package/dist/esm/components/dialog/dialog-footer.js +8 -0
  80. package/dist/esm/components/dialog/dialog-header.js +15 -0
  81. package/{esm → dist/esm}/components/dialog/dialog.js +9 -15
  82. package/dist/esm/components/dialog/index.d.ts +4 -0
  83. package/dist/esm/components/dialog/index.js +4 -0
  84. package/dist/esm/components/empty-state/empty-state.d.ts +12 -0
  85. package/dist/esm/components/empty-state/empty-state.js +17 -0
  86. package/dist/esm/components/empty-state/index.d.ts +1 -0
  87. package/dist/esm/components/empty-state/index.js +1 -0
  88. package/{esm → dist/esm}/components/file-picker/file-picker.js +6 -10
  89. package/dist/esm/components/file-picker/index.d.ts +1 -0
  90. package/dist/esm/components/file-picker/index.js +1 -0
  91. package/dist/esm/components/filter-buttons/filter-button.js +6 -0
  92. package/{esm → dist/esm}/components/filter-buttons/filter-buttons.js +4 -7
  93. package/dist/esm/components/filter-buttons/index.d.ts +2 -0
  94. package/dist/esm/components/filter-buttons/index.js +2 -0
  95. package/{types → dist/esm}/components/filtered-search/filter-item.d.ts +1 -1
  96. package/dist/esm/components/filtered-search/filter-item.js +17 -0
  97. package/dist/esm/components/filtered-search/filter-operator-select.js +12 -0
  98. package/dist/esm/components/filtered-search/filter-token.js +12 -0
  99. package/dist/esm/components/filtered-search/filter-value-list.js +15 -0
  100. package/{types → dist/esm}/components/filtered-search/filtered-search.d.ts +1 -1
  101. package/{esm → dist/esm}/components/filtered-search/filtered-search.js +11 -16
  102. package/{types → dist/esm}/components/filtered-search/index.d.ts +4 -4
  103. package/dist/esm/components/filtered-search/index.js +3 -0
  104. package/dist/esm/components/filtered-search/model/abstract-filter.js +2 -0
  105. package/{types → dist/esm}/components/filtered-search/model/string-filter.d.ts +2 -2
  106. package/{esm → dist/esm}/components/filtered-search/model/string-filter.js +1 -4
  107. package/{types → dist/esm}/components/filtered-search/model/string-set-filter.d.ts +1 -1
  108. package/{esm → dist/esm}/components/filtered-search/model/string-set-filter.js +1 -4
  109. package/dist/esm/components/filtered-search/model/validation-result.js +1 -0
  110. package/dist/esm/components/filtered-search/string-filter-input.js +15 -0
  111. package/{types → dist/esm}/components/filtered-search/string-filter-item.d.ts +1 -1
  112. package/{esm → dist/esm}/components/filtered-search/string-filter-item.js +6 -10
  113. package/{types → dist/esm}/components/filtered-search/string-set-filter-item.d.ts +1 -1
  114. package/{esm → dist/esm}/components/filtered-search/string-set-filter-item.js +6 -10
  115. package/{types → dist/esm}/components/filtered-search/types.d.ts +2 -2
  116. package/dist/esm/components/filtered-search/types.js +1 -0
  117. package/{esm → dist/esm}/components/filtered-search/use-combobox-ids.js +2 -5
  118. package/{esm → dist/esm}/components/filtered-search/use-translations.js +4 -7
  119. package/{types → dist/esm}/components/form-field/form-field.d.ts +7 -3
  120. package/dist/esm/components/form-field/form-field.js +37 -0
  121. package/dist/esm/components/form-field/index.d.ts +1 -0
  122. package/dist/esm/components/form-field/index.js +1 -0
  123. package/dist/esm/components/hero-icons/24/outline/arrow-small-down-icon.d.ts +4 -0
  124. package/dist/esm/components/hero-icons/24/outline/arrow-small-down-icon.js +5 -0
  125. package/dist/esm/components/hero-icons/24/outline/arrow-small-up-icon.d.ts +4 -0
  126. package/dist/esm/components/hero-icons/24/outline/arrow-small-up-icon.js +5 -0
  127. package/dist/esm/components/hero-icons/24/outline/arrows-up-down-icon.d.ts +4 -0
  128. package/dist/esm/components/hero-icons/24/outline/arrows-up-down-icon.js +5 -0
  129. package/dist/esm/components/hero-icons/24/outline/chevron-left-icon.d.ts +4 -0
  130. package/dist/esm/components/hero-icons/24/outline/chevron-left-icon.js +5 -0
  131. package/dist/esm/components/hero-icons/24/outline/chevron-right-icon.d.ts +4 -0
  132. package/dist/esm/components/hero-icons/24/outline/chevron-right-icon.js +5 -0
  133. package/dist/esm/components/hero-icons/24/outline/eye-icon.d.ts +4 -0
  134. package/dist/esm/components/hero-icons/24/outline/eye-icon.js +5 -0
  135. package/dist/esm/components/hero-icons/24/outline/eye-slash-icon.d.ts +4 -0
  136. package/dist/esm/components/hero-icons/24/outline/eye-slash-icon.js +5 -0
  137. package/dist/esm/components/hero-icons/24/outline/magnifying-glass-icon.d.ts +4 -0
  138. package/dist/esm/components/hero-icons/24/outline/magnifying-glass-icon.js +5 -0
  139. package/dist/esm/components/hero-icons/24/outline/trash-icon.d.ts +4 -0
  140. package/dist/esm/components/hero-icons/24/outline/trash-icon.js +5 -0
  141. package/dist/esm/components/hero-icons/24/outline/x-mark-icon.d.ts +4 -0
  142. package/dist/esm/components/hero-icons/24/outline/x-mark-icon.js +5 -0
  143. package/dist/esm/components/hero-icons/24/solid/exclamation-triangle-icon.d.ts +4 -0
  144. package/dist/esm/components/hero-icons/24/solid/exclamation-triangle-icon.js +5 -0
  145. package/dist/esm/components/index.d.ts +42 -0
  146. package/dist/esm/components/index.js +42 -0
  147. package/dist/esm/components/label/index.d.ts +1 -0
  148. package/dist/esm/components/label/index.js +1 -0
  149. package/dist/esm/components/label/label.js +8 -0
  150. package/dist/esm/components/menu/index.d.ts +3 -0
  151. package/dist/esm/components/menu/index.js +3 -0
  152. package/{types → dist/esm}/components/menu/menu-item.d.ts +4 -6
  153. package/dist/esm/components/menu/menu-item.js +16 -0
  154. package/dist/esm/components/menu/menu-separator.js +5 -0
  155. package/{types → dist/esm}/components/menu/menu.d.ts +6 -5
  156. package/{esm → dist/esm}/components/menu/menu.js +7 -11
  157. package/dist/esm/components/nav-list/index.d.ts +3 -0
  158. package/dist/esm/components/nav-list/index.js +3 -0
  159. package/dist/esm/components/nav-list/nav-list-item.js +15 -0
  160. package/dist/esm/components/nav-list/nav-list-title.js +5 -0
  161. package/dist/esm/components/nav-list/nav-list.js +5 -0
  162. package/dist/esm/components/password-input/index.d.ts +1 -0
  163. package/dist/esm/components/password-input/index.js +1 -0
  164. package/dist/esm/components/password-input/password-input.d.ts +9 -0
  165. package/dist/esm/components/password-input/password-input.js +17 -0
  166. package/dist/esm/components/popover/index.d.ts +1 -0
  167. package/dist/esm/components/popover/index.js +1 -0
  168. package/{types → dist/esm}/components/popover/popover.d.ts +1 -1
  169. package/{esm → dist/esm}/components/popover/popover.js +8 -11
  170. package/{esm → dist/esm}/components/popover/use-page-click.js +2 -5
  171. package/dist/esm/components/portal/index.d.ts +1 -0
  172. package/dist/esm/components/portal/index.js +1 -0
  173. package/{esm → dist/esm}/components/portal/portal-context.js +6 -5
  174. package/{esm → dist/esm}/components/portal/portal.js +1 -4
  175. package/{types → dist/esm}/components/positioner/calc-position.d.ts +1 -1
  176. package/{esm → dist/esm}/components/positioner/calc-position.js +2 -4
  177. package/dist/esm/components/positioner/index.d.ts +1 -0
  178. package/dist/esm/components/positioner/index.js +1 -0
  179. package/{types → dist/esm}/components/positioner/positioner.d.ts +1 -1
  180. package/{esm → dist/esm}/components/positioner/positioner.js +5 -8
  181. package/dist/esm/components/positioner/types.js +1 -0
  182. package/dist/esm/components/radio/index.d.ts +1 -0
  183. package/dist/esm/components/radio/index.js +1 -0
  184. package/dist/esm/components/radio/radio.js +23 -0
  185. package/dist/esm/components/segmented-control/index.d.ts +1 -0
  186. package/dist/esm/components/segmented-control/index.js +1 -0
  187. package/dist/esm/components/segmented-control/segmented-button.d.ts +11 -0
  188. package/dist/esm/components/segmented-control/segmented-button.js +10 -0
  189. package/{types → dist/esm}/components/segmented-control/segmented-control.d.ts +5 -3
  190. package/dist/esm/components/segmented-control/segmented-control.js +15 -0
  191. package/dist/esm/components/select/index.d.ts +1 -0
  192. package/dist/esm/components/select/index.js +1 -0
  193. package/{types → dist/esm}/components/select/select.d.ts +9 -9
  194. package/dist/esm/components/select/select.js +34 -0
  195. package/dist/esm/components/selection-control/index.d.ts +1 -0
  196. package/dist/esm/components/selection-control/index.js +1 -0
  197. package/dist/esm/components/selection-control/selection-control.js +15 -0
  198. package/{types → dist/esm}/components/slide-over/index.d.ts +4 -4
  199. package/dist/esm/components/slide-over/index.js +3 -0
  200. package/dist/esm/components/slide-over/slide-over-body.js +5 -0
  201. package/{types → dist/esm}/components/slide-over/slide-over-context.d.ts +1 -1
  202. package/dist/esm/components/slide-over/slide-over-context.js +18 -0
  203. package/dist/esm/components/slide-over/slide-over-header.js +13 -0
  204. package/{types → dist/esm}/components/slide-over/slide-over.d.ts +3 -3
  205. package/{esm → dist/esm}/components/slide-over/slide-over.js +7 -12
  206. package/dist/esm/components/slide-over/types.js +1 -0
  207. package/dist/esm/components/slider/index.d.ts +2 -0
  208. package/dist/esm/components/slider/index.js +2 -0
  209. package/dist/esm/components/slider/slider-tick-marks.js +12 -0
  210. package/{types → dist/esm}/components/slider/slider.d.ts +1 -1
  211. package/{esm → dist/esm}/components/slider/slider.js +5 -8
  212. package/dist/esm/components/spinner/index.d.ts +1 -0
  213. package/dist/esm/components/spinner/index.js +1 -0
  214. package/dist/esm/components/spinner/spinner.js +6 -0
  215. package/dist/esm/components/switch/index.d.ts +1 -0
  216. package/dist/esm/components/switch/index.js +1 -0
  217. package/dist/esm/components/switch/switch.js +12 -0
  218. package/dist/esm/components/table/index.d.ts +7 -0
  219. package/dist/esm/components/table/index.js +7 -0
  220. package/dist/esm/components/table/table-body.js +6 -0
  221. package/dist/esm/components/table/table-cell.js +6 -0
  222. package/{esm → dist/esm}/components/table/table-container.js +3 -6
  223. package/{types → dist/esm}/components/table/table-head-cell.d.ts +1 -1
  224. package/dist/esm/components/table/table-head-cell.js +27 -0
  225. package/dist/esm/components/table/table-head.js +9 -0
  226. package/dist/esm/components/table/table-row.js +9 -0
  227. package/{esm → dist/esm}/components/table/table.js +3 -6
  228. package/dist/esm/components/tabs/index.d.ts +4 -0
  229. package/dist/esm/components/tabs/index.js +4 -0
  230. package/{esm → dist/esm}/components/tabs/tab-list.js +3 -6
  231. package/{types → dist/esm}/components/tabs/tab-panel.d.ts +1 -1
  232. package/dist/esm/components/tabs/tab-panel.js +11 -0
  233. package/dist/esm/components/tabs/tab.js +14 -0
  234. package/{types → dist/esm}/components/tabs/tabs-context.d.ts +1 -1
  235. package/{esm → dist/esm}/components/tabs/tabs-context.js +5 -8
  236. package/{types → dist/esm}/components/tabs/tabs.d.ts +1 -1
  237. package/dist/esm/components/tabs/tabs.js +6 -0
  238. package/dist/esm/components/tabs/types.js +1 -0
  239. package/dist/esm/components/tag/index.d.ts +1 -0
  240. package/dist/esm/components/tag/index.js +1 -0
  241. package/dist/esm/components/tag/tag.d.ts +15 -0
  242. package/dist/esm/components/tag/tag.js +11 -0
  243. package/dist/esm/components/text-input/index.d.ts +1 -0
  244. package/dist/esm/components/text-input/index.js +1 -0
  245. package/{types → dist/esm}/components/text-input/text-input.d.ts +12 -13
  246. package/dist/esm/components/text-input/text-input.js +42 -0
  247. package/dist/esm/components/textarea/index.d.ts +1 -0
  248. package/dist/esm/components/textarea/index.js +1 -0
  249. package/dist/esm/components/textarea/textarea.d.ts +12 -0
  250. package/dist/esm/components/textarea/textarea.js +19 -0
  251. package/dist/esm/components/toast/index.d.ts +2 -0
  252. package/dist/esm/components/toast/index.js +2 -0
  253. package/dist/esm/components/toast/toast-button.js +6 -0
  254. package/dist/esm/components/toast/toast.js +6 -0
  255. package/dist/esm/components/toaster/index.d.ts +1 -0
  256. package/dist/esm/components/toaster/index.js +1 -0
  257. package/{esm → dist/esm}/components/toaster/toaster.js +9 -13
  258. package/dist/esm/components/tooltip/index.d.ts +1 -0
  259. package/dist/esm/components/tooltip/index.js +1 -0
  260. package/{types → dist/esm}/components/tooltip/tooltip.d.ts +1 -1
  261. package/{esm → dist/esm}/components/tooltip/tooltip.js +8 -11
  262. package/dist/esm/hooks/index.d.ts +4 -0
  263. package/dist/esm/hooks/index.js +4 -0
  264. package/{esm → dist/esm}/hooks/use-disable-body-scroll.js +1 -4
  265. package/{esm → dist/esm}/hooks/use-esc-key-down.js +2 -5
  266. package/{esm → dist/esm}/hooks/use-focus-trap.js +1 -4
  267. package/{esm → dist/esm}/hooks/use-mount-transition.js +2 -5
  268. package/dist/esm/index.d.ts +3 -0
  269. package/dist/esm/index.js +3 -0
  270. package/{esm → dist/esm}/lib/helpers.js +3 -5
  271. package/dist/esm/lib/index.d.ts +3 -0
  272. package/dist/esm/lib/index.js +3 -0
  273. package/{esm → dist/esm}/lib/keyboard-keys.js +1 -3
  274. package/{esm → dist/esm}/lib/react-helpers.js +6 -9
  275. package/package.json +41 -55
  276. package/cjs/components/alert/alert.cjs +0 -19
  277. package/cjs/components/avatar/avatar.cjs +0 -31
  278. package/cjs/components/avatar-group/avatar-group.cjs +0 -10
  279. package/cjs/components/badge/badge.cjs +0 -23
  280. package/cjs/components/breadcrumbs/breadcrumbs-context.cjs +0 -19
  281. package/cjs/components/breadcrumbs/breadcrumbs-item.cjs +0 -21
  282. package/cjs/components/breadcrumbs/breadcrumbs.cjs +0 -12
  283. package/cjs/components/button/button.cjs +0 -41
  284. package/cjs/components/button/icon-button.cjs +0 -12
  285. package/cjs/components/button-group/button-group.cjs +0 -10
  286. package/cjs/components/caption/caption.cjs +0 -27
  287. package/cjs/components/caption/icons.cjs +0 -21
  288. package/cjs/components/checkbox/checkbox.cjs +0 -20
  289. package/cjs/components/color-picker/color-picker-button.cjs +0 -16
  290. package/cjs/components/color-picker/color-picker.cjs +0 -24
  291. package/cjs/components/date-picker/calendar-day.cjs +0 -17
  292. package/cjs/components/date-picker/calendar-grid-head.cjs +0 -16
  293. package/cjs/components/date-picker/calendar-grid.cjs +0 -106
  294. package/cjs/components/date-picker/calendar-header.cjs +0 -48
  295. package/cjs/components/date-picker/calendar.cjs +0 -24
  296. package/cjs/components/date-picker/date-helpers.cjs +0 -112
  297. package/cjs/components/date-picker/date-picker.cjs +0 -20
  298. package/cjs/components/date-picker/date-range-picker.cjs +0 -61
  299. package/cjs/components/date-picker/date-range.cjs +0 -28
  300. package/cjs/components/date-picker/icons.cjs +0 -13
  301. package/cjs/components/date-picker/parse-min-max-props.cjs +0 -20
  302. package/cjs/components/date-picker-popover/date-picker-popover.cjs +0 -24
  303. package/cjs/components/date-range-picker-popover/date-range-picker-popover-footer.cjs +0 -11
  304. package/cjs/components/date-range-picker-popover/date-range-picker-popover-presets.cjs +0 -35
  305. package/cjs/components/date-range-picker-popover/date-range-picker-popover.cjs +0 -59
  306. package/cjs/components/date-range-picker-popover/helpers.cjs +0 -15
  307. package/cjs/components/date-range-picker-popover/use-is-compact-view.cjs +0 -27
  308. package/cjs/components/dialog/dialog-body.cjs +0 -12
  309. package/cjs/components/dialog/dialog-context.cjs +0 -24
  310. package/cjs/components/dialog/dialog-footer.cjs +0 -13
  311. package/cjs/components/dialog/dialog-header.cjs +0 -21
  312. package/cjs/components/dialog/dialog.cjs +0 -50
  313. package/cjs/components/dialog/x-mark-icon.cjs +0 -9
  314. package/cjs/components/empty-state/empty-state.cjs +0 -10
  315. package/cjs/components/file-picker/file-picker.cjs +0 -47
  316. package/cjs/components/filter-buttons/filter-button.cjs +0 -11
  317. package/cjs/components/filter-buttons/filter-buttons.cjs +0 -27
  318. package/cjs/components/filtered-search/filter-item.cjs +0 -23
  319. package/cjs/components/filtered-search/filter-operator-select.cjs +0 -17
  320. package/cjs/components/filtered-search/filter-token.cjs +0 -17
  321. package/cjs/components/filtered-search/filter-value-list.cjs +0 -20
  322. package/cjs/components/filtered-search/filtered-search.cjs +0 -225
  323. package/cjs/components/filtered-search/icons.cjs +0 -21
  324. package/cjs/components/filtered-search/model/abstract-filter.cjs +0 -6
  325. package/cjs/components/filtered-search/model/string-filter.cjs +0 -46
  326. package/cjs/components/filtered-search/model/string-set-filter.cjs +0 -44
  327. package/cjs/components/filtered-search/string-filter-input.cjs +0 -17
  328. package/cjs/components/filtered-search/string-filter-item.cjs +0 -68
  329. package/cjs/components/filtered-search/string-set-filter-item.cjs +0 -77
  330. package/cjs/components/filtered-search/use-combobox-ids.cjs +0 -17
  331. package/cjs/components/filtered-search/use-translations.cjs +0 -24
  332. package/cjs/components/form-field/form-field.cjs +0 -26
  333. package/cjs/components/index.cjs +0 -141
  334. package/cjs/components/label/label.cjs +0 -13
  335. package/cjs/components/menu/menu-item.cjs +0 -21
  336. package/cjs/components/menu/menu-separator.cjs +0 -10
  337. package/cjs/components/menu/menu.cjs +0 -191
  338. package/cjs/components/nav-list/nav-list-item.cjs +0 -20
  339. package/cjs/components/nav-list/nav-list-title.cjs +0 -10
  340. package/cjs/components/nav-list/nav-list.cjs +0 -10
  341. package/cjs/components/password-input/icons.cjs +0 -13
  342. package/cjs/components/password-input/password-input.cjs +0 -30
  343. package/cjs/components/popover/popover.cjs +0 -96
  344. package/cjs/components/popover/use-page-click.cjs +0 -51
  345. package/cjs/components/portal/portal-context.cjs +0 -22
  346. package/cjs/components/portal/portal.cjs +0 -11
  347. package/cjs/components/positioner/calc-position.cjs +0 -117
  348. package/cjs/components/positioner/positioner.cjs +0 -64
  349. package/cjs/components/radio/radio.cjs +0 -28
  350. package/cjs/components/segmented-control/segmented-control-button.cjs +0 -15
  351. package/cjs/components/segmented-control/segmented-control.cjs +0 -48
  352. package/cjs/components/select/select.cjs +0 -39
  353. package/cjs/components/selection-control/selection-control.cjs +0 -18
  354. package/cjs/components/slide-over/slide-over-body.cjs +0 -10
  355. package/cjs/components/slide-over/slide-over-context.cjs +0 -24
  356. package/cjs/components/slide-over/slide-over-header.cjs +0 -21
  357. package/cjs/components/slide-over/slide-over.cjs +0 -113
  358. package/cjs/components/slider/slider-tick-marks.cjs +0 -17
  359. package/cjs/components/slider/slider.cjs +0 -41
  360. package/cjs/components/spinner/spinner.cjs +0 -11
  361. package/cjs/components/switch/switch.cjs +0 -17
  362. package/cjs/components/table/icons.cjs +0 -17
  363. package/cjs/components/table/table-body.cjs +0 -11
  364. package/cjs/components/table/table-cell.cjs +0 -11
  365. package/cjs/components/table/table-container.cjs +0 -23
  366. package/cjs/components/table/table-head-cell.cjs +0 -30
  367. package/cjs/components/table/table-head.cjs +0 -14
  368. package/cjs/components/table/table-row.cjs +0 -14
  369. package/cjs/components/table/table.cjs +0 -16
  370. package/cjs/components/tabs/tab-list.cjs +0 -67
  371. package/cjs/components/tabs/tab-panel.cjs +0 -16
  372. package/cjs/components/tabs/tab.cjs +0 -19
  373. package/cjs/components/tabs/tabs-context.cjs +0 -31
  374. package/cjs/components/tabs/tabs.cjs +0 -11
  375. package/cjs/components/tag/tag.cjs +0 -16
  376. package/cjs/components/text-input/text-input.cjs +0 -42
  377. package/cjs/components/textarea/textarea.cjs +0 -40
  378. package/cjs/components/toast/toast-button.cjs +0 -11
  379. package/cjs/components/toast/toast.cjs +0 -11
  380. package/cjs/components/toast/x-mark-icon.cjs +0 -9
  381. package/cjs/components/toaster/toaster.cjs +0 -115
  382. package/cjs/components/tooltip/tooltip.cjs +0 -75
  383. package/cjs/hooks/index.cjs +0 -13
  384. package/cjs/hooks/use-disable-body-scroll.cjs +0 -37
  385. package/cjs/hooks/use-esc-key-down.cjs +0 -56
  386. package/cjs/hooks/use-focus-trap.cjs +0 -89
  387. package/cjs/hooks/use-mount-transition.cjs +0 -41
  388. package/cjs/index.cjs +0 -161
  389. package/cjs/lib/helpers.cjs +0 -25
  390. package/cjs/lib/index.cjs +0 -17
  391. package/cjs/lib/keyboard-keys.cjs +0 -19
  392. package/cjs/lib/react-helpers.cjs +0 -58
  393. package/esm/components/alert/alert.js +0 -17
  394. package/esm/components/avatar/avatar.js +0 -29
  395. package/esm/components/avatar-group/avatar-group.js +0 -8
  396. package/esm/components/breadcrumbs/breadcrumbs-context.js +0 -16
  397. package/esm/components/breadcrumbs/breadcrumbs-item.js +0 -19
  398. package/esm/components/breadcrumbs/breadcrumbs.js +0 -10
  399. package/esm/components/button/button.js +0 -39
  400. package/esm/components/button/icon-button.js +0 -10
  401. package/esm/components/button-group/button-group.js +0 -8
  402. package/esm/components/caption/caption.js +0 -25
  403. package/esm/components/caption/icons.js +0 -16
  404. package/esm/components/checkbox/checkbox.js +0 -18
  405. package/esm/components/color-picker/color-picker-button.js +0 -14
  406. package/esm/components/date-picker/calendar-grid-head.js +0 -14
  407. package/esm/components/date-picker/calendar-header.js +0 -46
  408. package/esm/components/date-picker/calendar.js +0 -22
  409. package/esm/components/date-picker/date-picker.js +0 -18
  410. package/esm/components/date-picker/icons.js +0 -10
  411. package/esm/components/date-picker-popover/date-picker-popover.js +0 -22
  412. package/esm/components/date-range-picker-popover/date-range-picker-popover-footer.js +0 -9
  413. package/esm/components/date-range-picker-popover/date-range-picker-popover-presets.js +0 -33
  414. package/esm/components/dialog/dialog-body.js +0 -10
  415. package/esm/components/dialog/dialog-footer.js +0 -11
  416. package/esm/components/dialog/dialog-header.js +0 -19
  417. package/esm/components/dialog/x-mark-icon.js +0 -7
  418. package/esm/components/empty-state/empty-state.js +0 -8
  419. package/esm/components/filter-buttons/filter-button.js +0 -9
  420. package/esm/components/filtered-search/filter-item.js +0 -21
  421. package/esm/components/filtered-search/filter-operator-select.js +0 -15
  422. package/esm/components/filtered-search/filter-token.js +0 -15
  423. package/esm/components/filtered-search/filter-value-list.js +0 -18
  424. package/esm/components/filtered-search/icons.js +0 -16
  425. package/esm/components/filtered-search/model/abstract-filter.js +0 -4
  426. package/esm/components/filtered-search/string-filter-input.js +0 -15
  427. package/esm/components/form-field/form-field.js +0 -24
  428. package/esm/components/index.js +0 -68
  429. package/esm/components/label/label.js +0 -11
  430. package/esm/components/menu/menu-item.js +0 -19
  431. package/esm/components/menu/menu-separator.js +0 -8
  432. package/esm/components/nav-list/nav-list-item.js +0 -18
  433. package/esm/components/nav-list/nav-list-title.js +0 -8
  434. package/esm/components/nav-list/nav-list.js +0 -8
  435. package/esm/components/password-input/icons.js +0 -10
  436. package/esm/components/password-input/password-input.js +0 -28
  437. package/esm/components/radio/radio.js +0 -26
  438. package/esm/components/segmented-control/segmented-control-button.js +0 -13
  439. package/esm/components/segmented-control/segmented-control.js +0 -46
  440. package/esm/components/select/select.js +0 -37
  441. package/esm/components/selection-control/selection-control.js +0 -16
  442. package/esm/components/slide-over/slide-over-body.js +0 -8
  443. package/esm/components/slide-over/slide-over-context.js +0 -21
  444. package/esm/components/slide-over/slide-over-header.js +0 -19
  445. package/esm/components/slider/slider-tick-marks.js +0 -15
  446. package/esm/components/spinner/spinner.js +0 -9
  447. package/esm/components/switch/switch.js +0 -15
  448. package/esm/components/table/icons.js +0 -13
  449. package/esm/components/table/table-body.js +0 -9
  450. package/esm/components/table/table-cell.js +0 -9
  451. package/esm/components/table/table-head-cell.js +0 -28
  452. package/esm/components/table/table-head.js +0 -12
  453. package/esm/components/table/table-row.js +0 -12
  454. package/esm/components/tabs/tab-panel.js +0 -14
  455. package/esm/components/tabs/tab.js +0 -17
  456. package/esm/components/tabs/tabs.js +0 -9
  457. package/esm/components/tag/tag.js +0 -14
  458. package/esm/components/text-input/text-input.js +0 -40
  459. package/esm/components/textarea/textarea.js +0 -38
  460. package/esm/components/toast/toast-button.js +0 -9
  461. package/esm/components/toast/toast.js +0 -9
  462. package/esm/components/toast/x-mark-icon.js +0 -7
  463. package/esm/hooks/index.js +0 -4
  464. package/esm/index.js +0 -75
  465. package/esm/lib/index.js +0 -3
  466. package/types/components/alert/alert.d.ts +0 -12
  467. package/types/components/alert/index.d.ts +0 -1
  468. package/types/components/avatar/index.d.ts +0 -1
  469. package/types/components/avatar-group/index.d.ts +0 -1
  470. package/types/components/badge/index.d.ts +0 -1
  471. package/types/components/breadcrumbs/index.d.ts +0 -2
  472. package/types/components/button/icon-button.d.ts +0 -7
  473. package/types/components/button/index.d.ts +0 -2
  474. package/types/components/button-group/index.d.ts +0 -1
  475. package/types/components/caption/caption.d.ts +0 -7
  476. package/types/components/caption/icons.d.ts +0 -5
  477. package/types/components/caption/index.d.ts +0 -1
  478. package/types/components/checkbox/index.d.ts +0 -1
  479. package/types/components/color-picker/index.d.ts +0 -1
  480. package/types/components/date-picker/icons.d.ts +0 -3
  481. package/types/components/date-picker/index.d.ts +0 -2
  482. package/types/components/date-picker-popover/index.d.ts +0 -1
  483. package/types/components/date-range-picker-popover/index.d.ts +0 -2
  484. package/types/components/dialog/index.d.ts +0 -4
  485. package/types/components/dialog/x-mark-icon.d.ts +0 -2
  486. package/types/components/empty-state/empty-state.d.ts +0 -11
  487. package/types/components/empty-state/index.d.ts +0 -1
  488. package/types/components/file-picker/index.d.ts +0 -1
  489. package/types/components/filter-buttons/index.d.ts +0 -2
  490. package/types/components/filtered-search/icons.d.ts +0 -5
  491. package/types/components/form-field/index.d.ts +0 -1
  492. package/types/components/index.d.ts +0 -42
  493. package/types/components/label/index.d.ts +0 -1
  494. package/types/components/menu/index.d.ts +0 -3
  495. package/types/components/nav-list/index.d.ts +0 -3
  496. package/types/components/password-input/icons.d.ts +0 -3
  497. package/types/components/password-input/index.d.ts +0 -1
  498. package/types/components/password-input/password-input.d.ts +0 -10
  499. package/types/components/popover/index.d.ts +0 -1
  500. package/types/components/portal/index.d.ts +0 -1
  501. package/types/components/positioner/index.d.ts +0 -1
  502. package/types/components/radio/index.d.ts +0 -1
  503. package/types/components/segmented-control/index.d.ts +0 -1
  504. package/types/components/segmented-control/segmented-control-button.d.ts +0 -10
  505. package/types/components/select/index.d.ts +0 -1
  506. package/types/components/selection-control/index.d.ts +0 -1
  507. package/types/components/slider/index.d.ts +0 -2
  508. package/types/components/spinner/index.d.ts +0 -1
  509. package/types/components/switch/index.d.ts +0 -1
  510. package/types/components/table/icons.d.ts +0 -4
  511. package/types/components/table/index.d.ts +0 -7
  512. package/types/components/tabs/index.d.ts +0 -4
  513. package/types/components/tag/index.d.ts +0 -1
  514. package/types/components/tag/tag.d.ts +0 -18
  515. package/types/components/text-input/index.d.ts +0 -1
  516. package/types/components/textarea/index.d.ts +0 -1
  517. package/types/components/textarea/textarea.d.ts +0 -20
  518. package/types/components/toast/index.d.ts +0 -2
  519. package/types/components/toast/x-mark-icon.d.ts +0 -2
  520. package/types/components/toaster/index.d.ts +0 -1
  521. package/types/components/tooltip/index.d.ts +0 -1
  522. package/types/hooks/index.d.ts +0 -4
  523. package/types/index.d.ts +0 -3
  524. package/types/lib/index.d.ts +0 -3
  525. /package/{css → dist/css}/draft-components-utilities.css +0 -0
  526. /package/{types → dist/esm}/components/avatar-group/avatar-group.d.ts +0 -0
  527. /package/{types → dist/esm}/components/badge/badge.d.ts +0 -0
  528. /package/{types → dist/esm}/components/breadcrumbs/breadcrumbs-context.d.ts +0 -0
  529. /package/{types → dist/esm}/components/breadcrumbs/breadcrumbs-item.d.ts +0 -0
  530. /package/{types → dist/esm}/components/breadcrumbs/breadcrumbs.d.ts +0 -0
  531. /package/{types → dist/esm}/components/button-group/button-group.d.ts +0 -0
  532. /package/{types → dist/esm}/components/checkbox/checkbox.d.ts +0 -0
  533. /package/{types → dist/esm}/components/color-picker/color-picker-button.d.ts +0 -0
  534. /package/{types → dist/esm}/components/color-picker/color-picker.d.ts +0 -0
  535. /package/{types → dist/esm}/components/date-picker/calendar-day.d.ts +0 -0
  536. /package/{types → dist/esm}/components/date-picker/calendar-header.d.ts +0 -0
  537. /package/{types → dist/esm}/components/date-picker/date-helpers.d.ts +0 -0
  538. /package/{types → dist/esm}/components/date-range-picker-popover/date-range-picker-popover-footer.d.ts +0 -0
  539. /package/{types → dist/esm}/components/date-range-picker-popover/use-is-compact-view.d.ts +0 -0
  540. /package/{types → dist/esm}/components/dialog/dialog-body.d.ts +0 -0
  541. /package/{types → dist/esm}/components/dialog/dialog-context.d.ts +0 -0
  542. /package/{types → dist/esm}/components/dialog/dialog-footer.d.ts +0 -0
  543. /package/{types → dist/esm}/components/dialog/dialog-header.d.ts +0 -0
  544. /package/{types → dist/esm}/components/dialog/dialog.d.ts +0 -0
  545. /package/{types → dist/esm}/components/file-picker/file-picker.d.ts +0 -0
  546. /package/{types → dist/esm}/components/filter-buttons/filter-button.d.ts +0 -0
  547. /package/{types → dist/esm}/components/filter-buttons/filter-buttons.d.ts +0 -0
  548. /package/{types → dist/esm}/components/filtered-search/filter-operator-select.d.ts +0 -0
  549. /package/{types → dist/esm}/components/filtered-search/filter-token.d.ts +0 -0
  550. /package/{types → dist/esm}/components/filtered-search/filter-value-list.d.ts +0 -0
  551. /package/{types → dist/esm}/components/filtered-search/model/abstract-filter.d.ts +0 -0
  552. /package/{types → dist/esm}/components/filtered-search/model/validation-result.d.ts +0 -0
  553. /package/{types → dist/esm}/components/filtered-search/string-filter-input.d.ts +0 -0
  554. /package/{types → dist/esm}/components/filtered-search/use-combobox-ids.d.ts +0 -0
  555. /package/{types → dist/esm}/components/filtered-search/use-translations.d.ts +0 -0
  556. /package/{types → dist/esm}/components/label/label.d.ts +0 -0
  557. /package/{types → dist/esm}/components/menu/menu-separator.d.ts +0 -0
  558. /package/{types → dist/esm}/components/nav-list/nav-list-item.d.ts +0 -0
  559. /package/{types → dist/esm}/components/nav-list/nav-list-title.d.ts +0 -0
  560. /package/{types → dist/esm}/components/nav-list/nav-list.d.ts +0 -0
  561. /package/{types → dist/esm}/components/popover/use-page-click.d.ts +0 -0
  562. /package/{types → dist/esm}/components/portal/portal-context.d.ts +0 -0
  563. /package/{types → dist/esm}/components/portal/portal.d.ts +0 -0
  564. /package/{types → dist/esm}/components/positioner/types.d.ts +0 -0
  565. /package/{types → dist/esm}/components/radio/radio.d.ts +0 -0
  566. /package/{types → dist/esm}/components/selection-control/selection-control.d.ts +0 -0
  567. /package/{types → dist/esm}/components/slide-over/slide-over-body.d.ts +0 -0
  568. /package/{types → dist/esm}/components/slide-over/slide-over-header.d.ts +0 -0
  569. /package/{types → dist/esm}/components/slide-over/types.d.ts +0 -0
  570. /package/{types → dist/esm}/components/slider/slider-tick-marks.d.ts +0 -0
  571. /package/{types → dist/esm}/components/spinner/spinner.d.ts +0 -0
  572. /package/{types → dist/esm}/components/switch/switch.d.ts +0 -0
  573. /package/{types → dist/esm}/components/table/table-body.d.ts +0 -0
  574. /package/{types → dist/esm}/components/table/table-cell.d.ts +0 -0
  575. /package/{types → dist/esm}/components/table/table-container.d.ts +0 -0
  576. /package/{types → dist/esm}/components/table/table-head.d.ts +0 -0
  577. /package/{types → dist/esm}/components/table/table-row.d.ts +0 -0
  578. /package/{types → dist/esm}/components/table/table.d.ts +0 -0
  579. /package/{types → dist/esm}/components/tabs/tab-list.d.ts +0 -0
  580. /package/{types → dist/esm}/components/tabs/tab.d.ts +0 -0
  581. /package/{types → dist/esm}/components/tabs/types.d.ts +0 -0
  582. /package/{types → dist/esm}/components/toast/toast-button.d.ts +0 -0
  583. /package/{types → dist/esm}/components/toast/toast.d.ts +0 -0
  584. /package/{types → dist/esm}/components/toaster/toaster.d.ts +0 -0
  585. /package/{types → dist/esm}/hooks/use-disable-body-scroll.d.ts +0 -0
  586. /package/{types → dist/esm}/hooks/use-esc-key-down.d.ts +0 -0
  587. /package/{types → dist/esm}/hooks/use-focus-trap.d.ts +0 -0
  588. /package/{types → dist/esm}/hooks/use-mount-transition.d.ts +0 -0
  589. /package/{types → dist/esm}/lib/helpers.d.ts +0 -0
  590. /package/{types → dist/esm}/lib/keyboard-keys.d.ts +0 -0
  591. /package/{types → dist/esm}/lib/react-helpers.d.ts +0 -0
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useId } from 'react';
3
+ import { findSelectedOption } from './helpers.js';
4
+ import { Select } from '../select/index.js';
5
+ import { Radio } from '../radio/index.js';
6
+ import { SelectionControl } from '../selection-control/index.js';
7
+ export function DateRangePickerPopoverPresets({ isCompactView, customPresetLabel, options, value, onChangeValue, }) {
8
+ const id = useId();
9
+ const name = `${id}-date-preset`;
10
+ const selectedOption = findSelectedOption(value, options);
11
+ const selectedPreset = selectedOption ? selectedOption.preset : '';
12
+ function handleChange(event) {
13
+ const value = event.target.value;
14
+ const option = options.find((option) => option.preset === value);
15
+ if (option) {
16
+ onChangeValue({
17
+ preset: option.preset,
18
+ range: option.range,
19
+ });
20
+ }
21
+ }
22
+ if (isCompactView) {
23
+ return (_jsx("div", { className: "dc-date-range-picker-popover__presets", children: _jsxs(Select, { size: "md", fullWidth: true, value: selectedPreset, onChange: handleChange, children: [_jsx("option", { value: "", disabled: true, children: customPresetLabel }), options.map((option) => (_jsx("option", { value: option.preset, children: option.label }, option.preset)))] }) }));
24
+ }
25
+ return (_jsx("ul", { className: "dc-date-range-picker-popover__presets", children: options.map((option) => {
26
+ const preset = option.preset;
27
+ const id = `${name}-${preset}`;
28
+ return (_jsx("li", { children: _jsx(SelectionControl, { label: option.label, labelFor: id, children: _jsx(Radio, { icon: "check", id: id, name: name, value: preset, checked: preset === selectedPreset, onChange: handleChange }) }) }, option.preset));
29
+ }) }));
30
+ }
@@ -1,7 +1,7 @@
1
- import { DateRangePickerPopoverOption, DateRangePickerPopoverSelection } from './types';
1
+ import { DateRangePickerPopoverOption, DateRangePickerPopoverSelection } from './types.js';
2
2
  import { JSX, ReactNode } from 'react';
3
- import { PopoverAlignment, PopoverPlacement } from '../popover';
4
- import { DateRangePickerProps } from '../date-picker';
3
+ import { PopoverAlignment, PopoverPlacement } from '../popover/index.js';
4
+ import { DateRangePickerProps } from '../date-picker/index.js';
5
5
  export type DateRangePickerPopoverPlacement = PopoverPlacement;
6
6
  export type DateRangePickerPopoverAlignment = PopoverAlignment;
7
7
  export type DateRangePickerPopoverRenderFooter = (context: {
@@ -1,19 +1,14 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { classNames } from '../../lib/react-helpers.js';
3
3
  import { assertIfNullable } from '../../lib/helpers.js';
4
4
  import { findSelectedOption } from './helpers.js';
5
- import { useState, useRef } from 'react';
5
+ import { useRef, useState } from 'react';
6
6
  import { useIsCompactView } from './use-is-compact-view.js';
7
- import { Popover } from '../popover/popover.js';
8
- import '../button/button.js';
9
- import '../button/icon-button.js';
10
- import '../select/select.js';
11
- import '../text-input/text-input.js';
12
- import { DateRangePicker } from '../date-picker/date-range-picker.js';
7
+ import { Popover } from '../popover/index.js';
8
+ import { DateRangePicker } from '../date-picker/index.js';
13
9
  import { DateRangePickerPopoverFooter } from './date-range-picker-popover-footer.js';
14
10
  import { DateRangePickerPopoverPresets } from './date-range-picker-popover-presets.js';
15
-
16
- function DateRangePickerPopover({ defaultIsOpen = false, compactViewBreakpoint = '(max-width: 599px)', customPreset = 'custom', customPresetLabel = 'Custom date preset', placement = 'bottom', alignment = 'start', cancelButtonLabel = 'Cancel', confirmButtonLabel = 'Confirm', footer = null, className, options = [], children, value, onChangeValue,
11
+ export function DateRangePickerPopover({ defaultIsOpen = false, compactViewBreakpoint = '(max-width: 599px)', customPreset = 'custom', customPresetLabel = 'Custom date preset', placement = 'bottom', alignment = 'start', cancelButtonLabel = 'Cancel', confirmButtonLabel = 'Confirm', footer = null, className, options = [], children, value, onChangeValue,
17
12
  // DateRangePickerProps
18
13
  min, max, locale, weekStartsOn, prevMonthButtonLabel, nextMonthButtonLabel, monthSelectLabel, yearInputLabel, }) {
19
14
  const [selection, setSelection] = useState(value);
@@ -46,12 +41,10 @@ min, max, locale, weekStartsOn, prevMonthButtonLabel, nextMonthButtonLabel, mont
46
41
  setSelection(selection);
47
42
  }
48
43
  }
49
- return (jsxs(Popover, { className: classNames(className, {
44
+ return (_jsxs(Popover, { className: classNames(className, {
50
45
  'dc-date-range-picker-popover': true,
51
46
  'dc-date-range-picker-popover_compact': isCompactView,
52
- }), ref: popoverRef, placement: placement, alignment: alignment, anchor: children, defaultIsOpen: defaultIsOpen, onOpen: () => setSelection(value), children: [options.length > 0 && (jsx(DateRangePickerPopoverPresets, { isCompactView: isCompactView, customPresetLabel: customPresetLabel, options: options, value: selection, onChangeValue: setSelection })), jsx(DateRangePicker, { className: "dc-date-range-picker-popover__calendar", min: min, max: max, locale: locale, weekStartsOn: weekStartsOn, prevMonthButtonLabel: prevMonthButtonLabel, nextMonthButtonLabel: nextMonthButtonLabel, monthSelectLabel: monthSelectLabel, yearInputLabel: yearInputLabel, value: selection && selection.range, onChangeValue: handleChangeDateRange }), jsx(DateRangePickerPopoverFooter, { cancelButtonLabel: cancelButtonLabel, confirmButtonLabel: confirmButtonLabel, onClickCancelButton: handleClickCancelButton, onClickConfirmButton: handleClickConfirmButton, children: typeof footer === 'function'
47
+ }), ref: popoverRef, placement: placement, alignment: alignment, anchor: children, defaultIsOpen: defaultIsOpen, onOpen: () => setSelection(value), children: [options.length > 0 && (_jsx(DateRangePickerPopoverPresets, { isCompactView: isCompactView, customPresetLabel: customPresetLabel, options: options, value: selection, onChangeValue: setSelection })), _jsx(DateRangePicker, { className: "dc-date-range-picker-popover__calendar", min: min, max: max, locale: locale, weekStartsOn: weekStartsOn, prevMonthButtonLabel: prevMonthButtonLabel, nextMonthButtonLabel: nextMonthButtonLabel, monthSelectLabel: monthSelectLabel, yearInputLabel: yearInputLabel, value: selection && selection.range, onChangeValue: handleChangeDateRange }), _jsx(DateRangePickerPopoverFooter, { cancelButtonLabel: cancelButtonLabel, confirmButtonLabel: confirmButtonLabel, onClickCancelButton: handleClickCancelButton, onClickConfirmButton: handleClickConfirmButton, children: typeof footer === 'function'
53
48
  ? footer({ selection })
54
49
  : footer })] }));
55
50
  }
56
-
57
- export { DateRangePickerPopover };
@@ -1,2 +1,2 @@
1
- import { DateRangePickerPopoverOption, DateRangePickerPopoverSelection } from './types';
1
+ import { DateRangePickerPopoverOption, DateRangePickerPopoverSelection } from './types.js';
2
2
  export declare function findSelectedOption(selection: DateRangePickerPopoverSelection | null, options: DateRangePickerPopoverOption[]): DateRangePickerPopoverOption | null;
@@ -1,4 +1,4 @@
1
- function findSelectedOption(selection, options) {
1
+ export function findSelectedOption(selection, options) {
2
2
  if (!selection) {
3
3
  return null;
4
4
  }
@@ -9,5 +9,3 @@ function findSelectedOption(selection, options) {
9
9
  });
10
10
  return selectedOption || null;
11
11
  }
12
-
13
- export { findSelectedOption };
@@ -0,0 +1,2 @@
1
+ export * from './types.js';
2
+ export * from './date-range-picker-popover.js';
@@ -0,0 +1,2 @@
1
+ export * from './types.js';
2
+ export * from './date-range-picker-popover.js';
@@ -1,4 +1,4 @@
1
- import { DateISORange } from '../date-picker/date-range';
1
+ import { DateISORange } from '../date-picker/date-range.js';
2
2
  export type DateRangePickerPopoverSelection = {
3
3
  preset: string;
4
4
  range: DateISORange;
@@ -1,6 +1,5 @@
1
- import { useMemo, useState, useEffect } from 'react';
2
-
3
- function useIsCompactView(breakpoint) {
1
+ import { useEffect, useMemo, useState } from 'react';
2
+ export function useIsCompactView(breakpoint) {
4
3
  const compactViewMediaQuery = useMemo(() => {
5
4
  if (typeof document !== 'undefined') {
6
5
  return window.matchMedia(breakpoint);
@@ -21,5 +20,3 @@ function useIsCompactView(breakpoint) {
21
20
  }, [compactViewMediaQuery]);
22
21
  return isCompactView;
23
22
  }
24
-
25
- export { useIsCompactView };
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useRef } from 'react';
3
+ import { classNames } from '../../lib/react-helpers.js';
4
+ export function DialogBody({ className, children, }) {
5
+ const ref = useRef(null);
6
+ return (_jsx("div", { ref: ref, className: classNames('dc-dialog-body', className), children: children }));
7
+ }
@@ -1,21 +1,18 @@
1
- import { jsx } from 'react/jsx-runtime';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { createContext, useContext } from 'react';
3
-
4
3
  const DialogContext = createContext(null);
5
- function useDialogContext() {
4
+ export function useDialogContext() {
6
5
  const context = useContext(DialogContext);
7
6
  if (!context) {
8
7
  throw new Error('useDialogContext must be used within DialogProvider');
9
8
  }
10
9
  return context;
11
10
  }
12
- function DialogContextProvider(props) {
13
- return (jsx(DialogContext.Provider, { value: {
11
+ export function DialogContextProvider(props) {
12
+ return (_jsx(DialogContext.Provider, { value: {
14
13
  titleId: props.titleId,
15
14
  descriptionId: props.descriptionId,
16
15
  isOpen: props.isOpen,
17
16
  onClose: props.onClose,
18
17
  }, children: props.children }));
19
18
  }
20
-
21
- export { DialogContextProvider, useDialogContext };
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { classNames } from '../../lib/react-helpers.js';
3
+ export function DialogFooter({ hasBorder, className, children, }) {
4
+ return (_jsx("div", { className: classNames(className, {
5
+ 'dc-dialog-footer': true,
6
+ 'dc-dialog-footer_has_border': hasBorder,
7
+ }), children: children }));
8
+ }
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { classNames } from '../../lib/react-helpers.js';
3
+ import { useDialogContext } from './dialog-context.js';
4
+ import { IconButton } from '../button/index.js';
5
+ import { XMarkIcon } from '../hero-icons/24/outline/x-mark-icon.js';
6
+ export function DialogHeader({ hasBorder, heading, subheading, className, children, }) {
7
+ const { titleId, descriptionId, onClose, } = useDialogContext();
8
+ const shouldRenderHeading = Boolean(heading);
9
+ const shouldRenderDescription = Boolean(subheading);
10
+ const shouldRenderChildren = Boolean(children);
11
+ return (_jsxs("div", { className: classNames(className, {
12
+ 'dc-dialog-header': true,
13
+ 'dc-dialog-header_has_border': hasBorder,
14
+ }), children: [_jsxs("div", { className: "dc-dialog-header__title-bar", children: [shouldRenderHeading && (_jsx("h2", { id: titleId, className: "dc-dialog-header__heading", children: heading })), _jsx(IconButton, { className: "dc-dialog-header__close-btn", buttonStyle: "plain", onClick: () => onClose(), children: _jsx(XMarkIcon, { width: 18, height: 18, strokeWidth: 2 }) })] }), shouldRenderDescription && (_jsx("div", { id: descriptionId, className: "dc-dialog-header__subheading", children: subheading })), shouldRenderChildren && (_jsx("div", { className: "dc-dialog-header__body", children: children }))] }));
15
+ }
@@ -1,14 +1,10 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { useId, useRef, useEffect } from 'react';
3
- import { focusElement, classNames } from '../../lib/react-helpers.js';
4
- import { useDisableBodyScroll } from '../../hooks/use-disable-body-scroll.js';
5
- import { useEscKeyDown } from '../../hooks/use-esc-key-down.js';
6
- import { useFocusTrap } from '../../hooks/use-focus-trap.js';
7
- import { useMountTransition } from '../../hooks/use-mount-transition.js';
8
- import { Portal } from '../portal/portal.js';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useId, useRef } from 'react';
3
+ import { classNames, focusElement } from '../../lib/react-helpers.js';
4
+ import { useDisableBodyScroll, useEscKeyDown, useFocusTrap, useMountTransition } from '../../hooks/index.js';
5
+ import { Portal } from '../portal/index.js';
9
6
  import { DialogContextProvider } from './dialog-context.js';
10
-
11
- function Dialog({ width = 'md', isOpen = false, openFocusRef, closeFocusRef, onClose, className, children, ...props }) {
7
+ export function Dialog({ width = 'md', isOpen = false, openFocusRef, closeFocusRef, onClose, className, children, ...props }) {
12
8
  const defaultId = useId();
13
9
  const dialogRef = useRef(null);
14
10
  const durationMs = 200;
@@ -37,12 +33,10 @@ function Dialog({ width = 'md', isOpen = false, openFocusRef, closeFocusRef, onC
37
33
  const id = props.id || defaultId;
38
34
  const titleId = `dialog-title-${id}`;
39
35
  const descriptionId = `dialog-description-${id}`;
40
- return (jsx(Portal, { children: jsxs("div", { style: {
36
+ return (_jsx(Portal, { children: _jsxs("div", { style: {
41
37
  '--dc-dialog-transition-duration': `${durationMs}ms`,
42
- }, className: classNames('dc-dialog', transitionClass), children: [jsx("div", { className: "dc-dialog-backdrop" }), jsx("div", { ...props, ref: dialogRef, className: classNames(className, {
38
+ }, className: classNames('dc-dialog', transitionClass), children: [_jsx("div", { className: "dc-dialog-backdrop" }), _jsx("div", { ...props, ref: dialogRef, className: classNames(className, {
43
39
  'dc-dialog-modal': true,
44
40
  [`dc-dialog-modal_${width}`]: width,
45
- }), role: "dialog", id: id, "aria-labelledby": titleId, "aria-describedby": descriptionId, "aria-modal": true, children: jsx(DialogContextProvider, { titleId: titleId, descriptionId: descriptionId, isOpen: isOpen, onClose: onClose, children: children }) })] }) }));
41
+ }), role: "dialog", id: id, "aria-labelledby": titleId, "aria-describedby": descriptionId, "aria-modal": true, children: _jsx(DialogContextProvider, { titleId: titleId, descriptionId: descriptionId, isOpen: isOpen, onClose: onClose, children: children }) })] }) }));
46
42
  }
47
-
48
- export { Dialog };
@@ -0,0 +1,4 @@
1
+ export * from './dialog.js';
2
+ export * from './dialog-header.js';
3
+ export * from './dialog-body.js';
4
+ export * from './dialog-footer.js';
@@ -0,0 +1,4 @@
1
+ export * from './dialog.js';
2
+ export * from './dialog-header.js';
3
+ export * from './dialog-body.js';
4
+ export * from './dialog-footer.js';
@@ -0,0 +1,12 @@
1
+ import { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ type EmptyStateHTMLProps = ComponentPropsWithoutRef<'div'>;
3
+ type EmptyStateBaseProps = Omit<EmptyStateHTMLProps, 'title'>;
4
+ export type EmptyStateProps = {
5
+ image?: ReactNode;
6
+ title?: ReactNode;
7
+ message?: ReactNode;
8
+ primaryAction?: ReactNode;
9
+ secondaryAction?: ReactNode;
10
+ } & EmptyStateBaseProps;
11
+ export declare function EmptyState({ className, image, title, message, primaryAction, secondaryAction, children, }: EmptyStateProps): import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { classNames } from '../../lib/react-helpers.js';
3
+ export function EmptyState({ className, image, title, message, primaryAction, secondaryAction, children, }) {
4
+ return (_jsxs("section", { className: classNames('dc-empty-state', className), children: [image
5
+ ? _jsx("div", { className: "dc-empty-state__image", children: image })
6
+ : null, title
7
+ ? _jsx("h2", { className: "dc-empty-state__title", children: title })
8
+ : null, message
9
+ ? _jsx("div", { className: "dc-empty-state__message", children: message })
10
+ : null, primaryAction
11
+ ? _jsx("div", { className: "dc-empty-state__primary-action", children: primaryAction })
12
+ : null, secondaryAction
13
+ ? _jsx("div", { className: "dc-empty-state__secondary-action", children: secondaryAction })
14
+ : null, children
15
+ ? _jsx("div", { className: "dc-empty-state__content", children: children })
16
+ : null] }));
17
+ }
@@ -0,0 +1 @@
1
+ export * from './empty-state.js';
@@ -0,0 +1 @@
1
+ export * from './empty-state.js';
@@ -1,10 +1,8 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { forwardRef, useId, useRef, useState } from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { forwardRef, useId, useRef, useState, } from 'react';
3
3
  import { classNames, mergeRefs } from '../../lib/react-helpers.js';
4
- import { Button } from '../button/button.js';
5
- import '../button/icon-button.js';
6
-
7
- const FilePicker = forwardRef(function FilePicker({ label, icon, caption, buttonLabel = 'Browse', id, style, className, disabled, onSelectFiles, ...props }, ref) {
4
+ import { Button } from '../button/index.js';
5
+ export const FilePicker = forwardRef(function FilePicker({ label, icon, caption, buttonLabel = 'Browse', id, style, className, disabled, onSelectFiles, ...props }, ref) {
8
6
  const defaultId = useId();
9
7
  const inputId = id || defaultId;
10
8
  const inputRef = useRef(null);
@@ -36,10 +34,8 @@ const FilePicker = forwardRef(function FilePicker({ label, icon, caption, button
36
34
  onSelectFiles?.(fileList ? Array.from(fileList) : []);
37
35
  }
38
36
  };
39
- return (jsxs("div", { style: style, className: classNames(className, 'dc-file-picker', {
37
+ return (_jsxs("div", { style: style, className: classNames(className, 'dc-file-picker', {
40
38
  'dc-file-picker_disabled': disabled,
41
39
  'dc-file-picker_dragging-over': draggingOver,
42
- }), onDragOver: handleDragOver, onDragLeave: handleDragEnd, onDrop: handleDrop, "data-testid": "file-picker", children: [jsx("input", { ...props, id: inputId, ref: mergeRefs(ref, inputRef), className: "dc-file-picker__input", type: "file", disabled: disabled, onChange: handleChange }), jsxs("div", { className: "dc-file-picker__body", children: [Boolean(icon) && (jsx("div", { className: "dc-file-picker__icon", children: icon })), jsxs("div", { children: [jsx("label", { className: "dc-file-picker__label", htmlFor: inputId, children: label }), Boolean(caption) && (jsx("div", { className: "dc-file-picker__caption", children: caption }))] })] }), jsx(Button, { className: "dc-file-picker__button", onClick: () => inputRef.current?.click(), children: buttonLabel })] }));
40
+ }), onDragOver: handleDragOver, onDragLeave: handleDragEnd, onDrop: handleDrop, "data-testid": "file-picker", children: [_jsx("input", { ...props, id: inputId, ref: mergeRefs(ref, inputRef), className: "dc-file-picker__input", type: "file", disabled: disabled, onChange: handleChange }), _jsxs("div", { className: "dc-file-picker__body", children: [Boolean(icon) && (_jsx("div", { className: "dc-file-picker__icon", children: icon })), _jsxs("div", { children: [_jsx("label", { className: "dc-file-picker__label", htmlFor: inputId, children: label }), Boolean(caption) && (_jsx("div", { className: "dc-file-picker__caption", children: caption }))] })] }), _jsx(Button, { className: "dc-file-picker__button", onClick: () => inputRef.current?.click(), children: buttonLabel })] }));
43
41
  });
44
-
45
- export { FilePicker };
@@ -0,0 +1 @@
1
+ export * from './file-picker.js';
@@ -0,0 +1 @@
1
+ export * from './file-picker.js';
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from 'react';
3
+ import { classNames } from '../../lib/react-helpers.js';
4
+ export const FilterButton = forwardRef(function FilterButton({ isActive = false, 'aria-pressed': ariaPressed = isActive, className, children, ...props }, ref) {
5
+ return (_jsx("button", { ...props, ref: ref, className: classNames('dc-filter-button', isActive && 'active', className), "data-active": isActive, "aria-pressed": ariaPressed, children: children }));
6
+ });
@@ -1,9 +1,8 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { useRef, useLayoutEffect } from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useLayoutEffect, useRef } from 'react';
3
3
  import { assertIfNullable } from '../../lib/helpers.js';
4
4
  import { classNames } from '../../lib/react-helpers.js';
5
-
6
- function FilterButtons({ className, children, ...props }) {
5
+ export function FilterButtons({ className, children, ...props }) {
7
6
  const ref = useRef(null);
8
7
  useLayoutEffect(() => {
9
8
  const el = ref.current;
@@ -19,7 +18,5 @@ function FilterButtons({ className, children, ...props }) {
19
18
  }
20
19
  }
21
20
  }, []);
22
- return (jsx("div", { ...props, ref: ref, role: "group", className: classNames(className, 'dc-filter-buttons'), children: children }));
21
+ return (_jsx("div", { ...props, ref: ref, role: "group", className: classNames(className, 'dc-filter-buttons'), children: children }));
23
22
  }
24
-
25
- export { FilterButtons };
@@ -0,0 +1,2 @@
1
+ export * from './filter-buttons.js';
2
+ export * from './filter-button.js';
@@ -0,0 +1,2 @@
1
+ export * from './filter-buttons.js';
2
+ export * from './filter-button.js';
@@ -1,4 +1,4 @@
1
- import { Filter } from './types';
1
+ import { Filter } from './types.js';
2
2
  export type FilterItemProps = {
3
3
  filter: Filter;
4
4
  isEditing: boolean;
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { StringFilter } from './model/string-filter.js';
3
+ import { StringSetFilter } from './model/string-set-filter.js';
4
+ import { exhaustiveCheck } from '../../lib/index.js';
5
+ import { StringFilterItem } from './string-filter-item.js';
6
+ import { StringSetFilterItem } from './string-set-filter-item.js';
7
+ export function FilterItem({ filter, isEditing, onEditStart, onEditCancel, onRemove, onChange, }) {
8
+ const filterType = filter.type;
9
+ switch (filterType) {
10
+ case StringFilter.Type:
11
+ return (_jsx(StringFilterItem, { filter: filter, isEditing: isEditing, onEditStart: onEditStart, onEditCancel: onEditCancel, onRemove: onRemove, onChange: onChange }));
12
+ case StringSetFilter.Type:
13
+ return (_jsx(StringSetFilterItem, { filter: filter, isEditing: isEditing, onEditStart: onEditStart, onEditCancel: onEditCancel, onRemove: onRemove, onChange: onChange }));
14
+ default:
15
+ exhaustiveCheck(filterType, `Unable to render filter type ${filterType}.`);
16
+ }
17
+ }
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { classNames } from '../../lib/index.js';
3
+ import { Select } from '../select/index.js';
4
+ export function FilterOperatorSelect({ accessibleName, className, label, values, value, onChange, formatValue, }) {
5
+ const shouldRenderSelect = values.length > 1;
6
+ const onValueChanged = (newValue) => {
7
+ onChange(newValue);
8
+ };
9
+ return (_jsxs("div", { className: classNames('dc-filter-operator-select', className), children: [_jsx("span", { children: shouldRenderSelect
10
+ ? label
11
+ : `${label} ${formatValue(value)}` }), shouldRenderSelect && (_jsx(Select, { size: "sm", "data-testid": "filter-operator-select", "aria-label": accessibleName, value: value, onChangeValue: onValueChanged, children: values.map((value) => (_jsx("option", { value: value, children: formatValue(value) }, value))) }))] }));
12
+ }
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { forwardRef } from 'react';
3
+ import { classNames } from '../../lib/index.js';
4
+ import { useTranslations } from './use-translations.js';
5
+ import { XMarkIcon } from '../hero-icons/24/outline/x-mark-icon.js';
6
+ export const FilterToken = forwardRef(function FilterToken({ className, isHighlighted, children, onClickLabel, onClickCloseButton, }, ref) {
7
+ const { removeFilterButton } = useTranslations();
8
+ return (_jsxs("div", { ref: ref, "data-testid": "filter-token", className: classNames(className, {
9
+ 'dc-filter-token': true,
10
+ 'dc-filter-token_highlighted': isHighlighted,
11
+ }), children: [_jsx("button", { className: "dc-filter-token__label", onClick: onClickLabel, children: children }), _jsx("button", { className: "dc-filter-token__button", type: "button", "aria-label": removeFilterButton, onClick: onClickCloseButton, children: _jsx(XMarkIcon, { width: 16, height: 16 }) })] }));
12
+ });
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { classNames } from '../../lib/index.js';
3
+ import { SelectionControl } from '../selection-control/index.js';
4
+ import { Checkbox } from '../checkbox/index.js';
5
+ export function FilterValueList({ className, values, checkedValues, onChangeCheckedValues, formatValue, }) {
6
+ const onChange = (event) => {
7
+ const checkboxElement = event.currentTarget;
8
+ const value = checkboxElement.value;
9
+ const checked = checkboxElement.checked;
10
+ onChangeCheckedValues(checked
11
+ ? [...checkedValues, value]
12
+ : checkedValues.filter((prevValue) => prevValue !== value));
13
+ };
14
+ return (_jsx("ul", { className: classNames('dc-filter-value-list', className), children: values.map((value) => (_jsx("li", { children: _jsx(SelectionControl, { label: formatValue(value), children: _jsx(Checkbox, { value: value, checked: checkedValues.includes(value), onChange: onChange }) }) }, value))) }));
15
+ }
@@ -1,5 +1,5 @@
1
1
  import { ComponentPropsWithoutRef } from 'react';
2
- import { Filter, FilterConfig } from './types';
2
+ import { Filter, FilterConfig } from './types.js';
3
3
  export type FilteredSearchHTMLProps = ComponentPropsWithoutRef<'div'>;
4
4
  export type FilteredSearchBaseProps = Omit<FilteredSearchHTMLProps, 'children' | 'placeholder'>;
5
5
  export type FilteredSearchProps = FilteredSearchBaseProps & {
@@ -1,18 +1,15 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { useRef, useState, useMemo } from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useMemo, useRef, useState, } from 'react';
3
3
  import { StringFilter } from './model/string-filter.js';
4
4
  import { StringSetFilter } from './model/string-set-filter.js';
5
5
  import { TranslationsProvider } from './use-translations.js';
6
6
  import { useComboboxIds } from './use-combobox-ids.js';
7
- import '../button/button.js';
8
- import { IconButton } from '../button/icon-button.js';
7
+ import { IconButton } from '../button/index.js';
9
8
  import { FilterItem } from './filter-item.js';
10
- import { MagnifyingGlassIcon, TrashIcon } from './icons.js';
11
- import { KeyboardKeys } from '../../lib/keyboard-keys.js';
12
- import { exhaustiveCheck } from '../../lib/helpers.js';
13
- import { classNames } from '../../lib/react-helpers.js';
14
-
15
- function FilteredSearch({ filters: appliedFilters, className, placeholder = 'Search and filter', applyButtonLabel = 'Apply', cancelButtonLabel = 'Cancel', clearButtonAccessibleName = 'Clear', removeFilterButtonAccessibleName = 'Remove filter', filtersConfig, onChangeFilters, onMouseDown, ...props }) {
9
+ import { TrashIcon } from '../hero-icons/24/outline/trash-icon.js';
10
+ import { MagnifyingGlassIcon } from '../hero-icons/24/outline/magnifying-glass-icon.js';
11
+ import { KeyboardKeys, classNames, exhaustiveCheck } from '../../lib/index.js';
12
+ export function FilteredSearch({ filters: appliedFilters, className, placeholder = 'Search and filter', applyButtonLabel = 'Apply', cancelButtonLabel = 'Cancel', clearButtonAccessibleName = 'Clear', removeFilterButtonAccessibleName = 'Remove filter', filtersConfig, onChangeFilters, onMouseDown, ...props }) {
16
13
  const containerRef = useRef(null);
17
14
  const [newFilter, setNewFilter] = useState(null);
18
15
  const [query, setQuery] = useState('');
@@ -84,7 +81,7 @@ function FilteredSearch({ filters: appliedFilters, className, placeholder = 'Sea
84
81
  for (const filter of filters) {
85
82
  const field = filter.field;
86
83
  fieldsWithAppliedFilters.add(field);
87
- renderedFilters.push(jsx(FilterItem, { filter: filter, isEditing: activeField === field, onEditStart: onFilterEditStarted, onEditCancel: onFilterEditCanceled, onChange: onFilterChanged, onRemove: removeFilter }, field));
84
+ renderedFilters.push(_jsx(FilterItem, { filter: filter, isEditing: activeField === field, onEditStart: onFilterEditStarted, onEditCancel: onFilterEditCanceled, onChange: onFilterChanged, onRemove: removeFilter }, field));
88
85
  }
89
86
  const onOptionSelected = (config) => {
90
87
  const filter = createFilter(config);
@@ -116,7 +113,7 @@ function FilteredSearch({ filters: appliedFilters, className, placeholder = 'Sea
116
113
  if (!config.label.toLowerCase().includes(search)) {
117
114
  continue;
118
115
  }
119
- renderedOptions.push(jsx("li", { id: id, role: "option", "data-field": config.field, "aria-selected": selectedId === id, onMouseEnter: onOptionHovered, onMouseDown: onOptionPressed, children: config.label }, id));
116
+ renderedOptions.push(_jsx("li", { id: id, role: "option", "data-field": config.field, "aria-selected": selectedId === id, onMouseEnter: onOptionHovered, onMouseDown: onOptionPressed, children: config.label }, id));
120
117
  }
121
118
  const onInputFocused = () => {
122
119
  setHasFocus(true);
@@ -197,10 +194,10 @@ function FilteredSearch({ filters: appliedFilters, className, placeholder = 'Sea
197
194
  onMouseDown(event);
198
195
  }
199
196
  };
200
- return (jsx(TranslationsProvider, { applyButton: applyButtonLabel, cancelButton: cancelButtonLabel, removeFilterButton: removeFilterButtonAccessibleName, children: jsxs("div", { ref: containerRef, "data-testid": "combobox-container", className: classNames(className, {
197
+ return (_jsx(TranslationsProvider, { applyButton: applyButtonLabel, cancelButton: cancelButtonLabel, removeFilterButton: removeFilterButtonAccessibleName, children: _jsxs("div", { ref: containerRef, "data-testid": "combobox-container", className: classNames(className, {
201
198
  'dc-filtered-search': true,
202
199
  'dc-filtered-search_has_focus': hasFocus,
203
- }), onMouseDown: onContainerPressed, ...props, children: [jsx(MagnifyingGlassIcon, { className: "dc-filtered-search__icon" }), jsxs("div", { className: "dc-filtered-search__filters", children: [renderedFilters, jsx("input", { className: "dc-filtered-search__input", id: textBoxId, placeholder: placeholder, type: "text", role: "combobox", "aria-autocomplete": "list", "aria-expanded": expanded, "aria-controls": listBoxId, "aria-activedescendant": selectedId, value: query, onFocus: onInputFocused, onBlur: onInputBlurred, onKeyDown: onInputKeyPressed, onChange: onInputChanged })] }), jsx(IconButton, { className: "dc-filtered-search__clear-button", "aria-label": clearButtonAccessibleName, icon: jsx(TrashIcon, {}), size: "sm", variant: "plain", appearance: "primary", onClick: onClearButtonPressed }), expanded && renderedOptions.length > 0 && (jsx("ul", { className: "dc-filtered-search__list-box", id: listBoxId, role: "listbox", children: renderedOptions }))] }) }));
200
+ }), role: "presentation", onMouseDown: onContainerPressed, ...props, children: [_jsx(MagnifyingGlassIcon, { className: "dc-filtered-search__icon", width: 18, height: 18 }), _jsxs("div", { className: "dc-filtered-search__filters", children: [renderedFilters, _jsx("input", { className: "dc-filtered-search__input", id: textBoxId, placeholder: placeholder, type: "text", role: "combobox", "aria-autocomplete": "list", "aria-expanded": expanded, "aria-controls": listBoxId, "aria-activedescendant": selectedId, value: query, onFocus: onInputFocused, onBlur: onInputBlurred, onKeyDown: onInputKeyPressed, onChange: onInputChanged })] }), _jsx(IconButton, { className: "dc-filtered-search__clear-button", "aria-label": clearButtonAccessibleName, buttonStyle: "plain", tint: "blue", size: "sm", onClick: onClearButtonPressed, children: _jsx(TrashIcon, { width: 18, height: 18 }) }), expanded && renderedOptions.length > 0 && (_jsx("ul", { className: "dc-filtered-search__list-box", id: listBoxId, role: "listbox", children: renderedOptions }))] }) }));
204
201
  }
205
202
  function createFilter(config) {
206
203
  const filterType = config.type;
@@ -219,5 +216,3 @@ function createFilter(config) {
219
216
  exhaustiveCheck(filterType, `Unable to create a filter with ${filterType} type.`);
220
217
  }
221
218
  }
222
-
223
- export { FilteredSearch };
@@ -1,4 +1,4 @@
1
- export { FilteredSearch, type FilteredSearchProps, type FilteredSearchBaseProps, type FilteredSearchHTMLProps, } from './filtered-search';
2
- export { type Filter, type FilterConfig, } from './types';
3
- export { StringFilter, type StringFilterState, type StringFilterConfig, type StringFilterOperator, } from './model/string-filter';
4
- export { StringSetFilter, type StringSetFilterState, type StringSetFilterConfig, type StringSetFilterOperator, } from './model/string-set-filter';
1
+ export { FilteredSearch, type FilteredSearchProps, type FilteredSearchBaseProps, type FilteredSearchHTMLProps, } from './filtered-search.js';
2
+ export { type Filter, type FilterConfig, } from './types.js';
3
+ export { StringFilter, type StringFilterState, type StringFilterConfig, type StringFilterOperator, } from './model/string-filter.js';
4
+ export { StringSetFilter, type StringSetFilterState, type StringSetFilterConfig, type StringSetFilterOperator, } from './model/string-set-filter.js';
@@ -0,0 +1,3 @@
1
+ export { FilteredSearch, } from './filtered-search.js';
2
+ export { StringFilter, } from './model/string-filter.js';
3
+ export { StringSetFilter, } from './model/string-set-filter.js';
@@ -0,0 +1,2 @@
1
+ export class AbstractFilter {
2
+ }
@@ -1,5 +1,5 @@
1
- import { AbstractFilter } from './abstract-filter';
2
- import { ValidationResult } from './validation-result';
1
+ import { AbstractFilter } from './abstract-filter.js';
2
+ import { ValidationResult } from './validation-result.js';
3
3
  declare const TYPE: "STRING";
4
4
  declare const OPERATORS: {
5
5
  readonly equal: "EQUAL";
@@ -1,5 +1,4 @@
1
1
  import { AbstractFilter } from './abstract-filter.js';
2
-
3
2
  const TYPE = 'STRING';
4
3
  const OPERATORS = {
5
4
  equal: 'EQUAL',
@@ -7,7 +6,7 @@ const OPERATORS = {
7
6
  contain: 'CONTAIN',
8
7
  notContain: 'NOT_CONTAIN',
9
8
  };
10
- class StringFilter extends AbstractFilter {
9
+ export class StringFilter extends AbstractFilter {
11
10
  constructor(config, state) {
12
11
  super();
13
12
  this.config = config;
@@ -40,5 +39,3 @@ class StringFilter extends AbstractFilter {
40
39
  }
41
40
  StringFilter.Type = TYPE;
42
41
  StringFilter.Operators = OPERATORS;
43
-
44
- export { StringFilter };
@@ -1,4 +1,4 @@
1
- import { AbstractFilter } from './abstract-filter';
1
+ import { AbstractFilter } from './abstract-filter.js';
2
2
  declare const TYPE: "STRING_SET";
3
3
  declare const OPERATORS: {
4
4
  readonly in: "IN";
@@ -1,11 +1,10 @@
1
1
  import { AbstractFilter } from './abstract-filter.js';
2
-
3
2
  const TYPE = 'STRING_SET';
4
3
  const OPERATORS = {
5
4
  in: 'IN',
6
5
  notIn: 'NOT_IN',
7
6
  };
8
- class StringSetFilter extends AbstractFilter {
7
+ export class StringSetFilter extends AbstractFilter {
9
8
  constructor(config, state) {
10
9
  super();
11
10
  this.config = config;
@@ -38,5 +37,3 @@ class StringSetFilter extends AbstractFilter {
38
37
  }
39
38
  StringSetFilter.Type = TYPE;
40
39
  StringSetFilter.Operators = OPERATORS;
41
-
42
- export { StringSetFilter };