@navikt/ds-react 8.9.1 → 8.10.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 (399) hide show
  1. package/cjs/alert/base-alert/content/BaseAlertContent.js +4 -1
  2. package/cjs/alert/base-alert/content/BaseAlertContent.js.map +1 -1
  3. package/cjs/data/drag-and-drop/drag-handler/DragAndDropDragHandler.d.ts +3 -1
  4. package/cjs/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js +38 -19
  5. package/cjs/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js.map +1 -1
  6. package/cjs/data/drag-and-drop/item/DragAndDropItem.d.ts +3 -2
  7. package/cjs/data/drag-and-drop/item/DragAndDropItem.js +6 -4
  8. package/cjs/data/drag-and-drop/item/DragAndDropItem.js.map +1 -1
  9. package/cjs/data/drag-and-drop/root/DragAndDrop.context.d.ts +2 -2
  10. package/cjs/data/drag-and-drop/root/DragAndDropRoot.d.ts +7 -32
  11. package/cjs/data/drag-and-drop/root/DragAndDropRoot.js +73 -46
  12. package/cjs/data/drag-and-drop/root/DragAndDropRoot.js.map +1 -1
  13. package/cjs/data/drag-and-drop/types.d.ts +4 -0
  14. package/cjs/data/table/base-cell/DataTableBaseCell.d.ts +46 -0
  15. package/cjs/data/table/base-cell/DataTableBaseCell.js +63 -0
  16. package/cjs/data/table/base-cell/DataTableBaseCell.js.map +1 -0
  17. package/cjs/data/table/column-header/DataTableColumnHeader.d.ts +32 -0
  18. package/cjs/data/table/column-header/DataTableColumnHeader.js +108 -0
  19. package/cjs/data/table/column-header/DataTableColumnHeader.js.map +1 -0
  20. package/cjs/data/table/column-header/useTableColumnResize.js.map +1 -0
  21. package/cjs/data/table/empty-state/DataTableEmptyState.d.ts +6 -2
  22. package/cjs/data/table/empty-state/DataTableEmptyState.js +2 -2
  23. package/cjs/data/table/empty-state/DataTableEmptyState.js.map +1 -1
  24. package/cjs/data/table/helpers/selection/getMultipleSelectProps.d.ts +7 -7
  25. package/cjs/data/table/helpers/selection/getMultipleSelectProps.js +29 -28
  26. package/cjs/data/table/helpers/selection/getMultipleSelectProps.js.map +1 -1
  27. package/cjs/data/table/helpers/selection/getSingleSelectProps.d.ts +5 -3
  28. package/cjs/data/table/helpers/selection/getSingleSelectProps.js +8 -12
  29. package/cjs/data/table/helpers/selection/getSingleSelectProps.js.map +1 -1
  30. package/cjs/data/table/helpers/selection/selection.types.d.ts +39 -16
  31. package/cjs/data/table/hooks/useColumnOptions.d.ts +19 -0
  32. package/cjs/data/table/hooks/useColumnOptions.js +19 -0
  33. package/cjs/data/table/hooks/useColumnOptions.js.map +1 -0
  34. package/cjs/data/table/hooks/useTableExpansion.d.ts +26 -0
  35. package/cjs/data/table/hooks/useTableExpansion.js +68 -0
  36. package/cjs/data/table/hooks/useTableExpansion.js.map +1 -0
  37. package/cjs/data/table/hooks/useTableKeyboardNav.d.ts +2 -1
  38. package/cjs/data/table/hooks/useTableKeyboardNav.js +3 -1
  39. package/cjs/data/table/hooks/useTableKeyboardNav.js.map +1 -1
  40. package/cjs/data/table/hooks/useTableSelection.d.ts +14 -7
  41. package/cjs/data/table/hooks/useTableSelection.js +40 -27
  42. package/cjs/data/table/hooks/useTableSelection.js.map +1 -1
  43. package/cjs/data/table/hooks/useTableSort.d.ts +37 -0
  44. package/cjs/data/table/hooks/useTableSort.js +49 -0
  45. package/cjs/data/table/hooks/useTableSort.js.map +1 -0
  46. package/cjs/data/table/loading-state/DataTableLoadingState.d.ts +6 -2
  47. package/cjs/data/table/loading-state/DataTableLoadingState.js +2 -2
  48. package/cjs/data/table/loading-state/DataTableLoadingState.js.map +1 -1
  49. package/cjs/data/table/root/DataTable.types.d.ts +55 -4
  50. package/cjs/data/table/root/DataTableAuto.d.ts +97 -1
  51. package/cjs/data/table/root/DataTableAuto.js +92 -39
  52. package/cjs/data/table/root/DataTableAuto.js.map +1 -1
  53. package/cjs/data/table/root/DataTableRoot.context.d.ts +22 -1
  54. package/cjs/data/table/root/DataTableRoot.context.js +7 -1
  55. package/cjs/data/table/root/DataTableRoot.context.js.map +1 -1
  56. package/cjs/data/table/root/DataTableRoot.d.ts +0 -6
  57. package/cjs/data/table/root/DataTableRoot.js +5 -4
  58. package/cjs/data/table/root/DataTableRoot.js.map +1 -1
  59. package/cjs/data/table/tbody/DataTableTbody.js +7 -1
  60. package/cjs/data/table/tbody/DataTableTbody.js.map +1 -1
  61. package/cjs/data/table/td/DataTableTd.d.ts +3 -23
  62. package/cjs/data/table/td/DataTableTd.js +3 -7
  63. package/cjs/data/table/td/DataTableTd.js.map +1 -1
  64. package/cjs/data/table/tfoot/DataTableTfoot.js +3 -1
  65. package/cjs/data/table/tfoot/DataTableTfoot.js.map +1 -1
  66. package/cjs/data/table/th/DataTableTh.d.ts +3 -48
  67. package/cjs/data/table/th/DataTableTh.js +3 -57
  68. package/cjs/data/table/th/DataTableTh.js.map +1 -1
  69. package/cjs/data/table/thead/DataTableThead.js +2 -2
  70. package/cjs/data/table/thead/DataTableThead.js.map +1 -1
  71. package/cjs/data/table/tr/DataTableTr.d.ts +8 -0
  72. package/cjs/data/table/tr/DataTableTr.js +131 -9
  73. package/cjs/data/table/tr/DataTableTr.js.map +1 -1
  74. package/cjs/date/datepicker/hooks/useRangeDatepicker.js +1 -1
  75. package/cjs/date/datepicker/hooks/useRangeDatepicker.js.map +1 -1
  76. package/cjs/date/datepicker/parts/DatePicker.DayButton.js +3 -1
  77. package/cjs/date/datepicker/parts/DatePicker.DayButton.js.map +1 -1
  78. package/cjs/date/datepicker/parts/DatePicker.RDP.d.ts +1 -1
  79. package/cjs/date/datepicker/parts/DatePicker.RDP.js +26 -11
  80. package/cjs/date/datepicker/parts/DatePicker.RDP.js.map +1 -1
  81. package/cjs/date/monthpicker/parts/MonthPicker.Button.js +7 -5
  82. package/cjs/date/monthpicker/parts/MonthPicker.Button.js.map +1 -1
  83. package/cjs/date/monthpicker/parts/MonthPicker.Standalone.d.ts +1 -1
  84. package/cjs/dialog/popup/DialogPopupInternal.js +1 -1
  85. package/cjs/dialog/popup/DialogPopupInternal.js.map +1 -1
  86. package/cjs/form/checkbox/CheckboxGroup.context.d.ts +6 -0
  87. package/cjs/form/checkbox/CheckboxGroup.context.js +6 -0
  88. package/cjs/form/checkbox/CheckboxGroup.context.js.map +1 -0
  89. package/cjs/form/checkbox/CheckboxGroup.d.ts +0 -6
  90. package/cjs/form/checkbox/CheckboxGroup.js +8 -8
  91. package/cjs/form/checkbox/CheckboxGroup.js.map +1 -1
  92. package/cjs/form/checkbox/useCheckbox.js +2 -2
  93. package/cjs/form/checkbox/useCheckbox.js.map +1 -1
  94. package/cjs/form/combobox/ComboboxWrapper.js +1 -3
  95. package/cjs/form/combobox/ComboboxWrapper.js.map +1 -1
  96. package/cjs/form/error-summary/ErrorSummary.js +1 -3
  97. package/cjs/form/error-summary/ErrorSummary.js.map +1 -1
  98. package/cjs/form/fieldset/Fieldset.d.ts +0 -4
  99. package/cjs/form/fieldset/Fieldset.js +3 -3
  100. package/cjs/form/fieldset/Fieldset.js.map +1 -1
  101. package/cjs/form/fieldset/useFieldset.d.ts +5 -3
  102. package/cjs/form/fieldset/useFieldset.js +9 -4
  103. package/cjs/form/fieldset/useFieldset.js.map +1 -1
  104. package/cjs/form/radio/RadioGroup.context.d.ts +8 -0
  105. package/cjs/form/radio/RadioGroup.context.js +6 -0
  106. package/cjs/form/radio/RadioGroup.context.js.map +1 -0
  107. package/cjs/form/radio/RadioGroup.d.ts +0 -8
  108. package/cjs/form/radio/RadioGroup.js +10 -10
  109. package/cjs/form/radio/RadioGroup.js.map +1 -1
  110. package/cjs/form/radio/useRadio.js +2 -2
  111. package/cjs/form/radio/useRadio.js.map +1 -1
  112. package/cjs/form/search/Search.js +1 -3
  113. package/cjs/form/search/Search.js.map +1 -1
  114. package/cjs/inline-message/root/InlineMessage.js +2 -5
  115. package/cjs/inline-message/root/InlineMessage.js.map +1 -1
  116. package/cjs/modal/Modal.js +1 -3
  117. package/cjs/modal/Modal.js.map +1 -1
  118. package/cjs/modal/ModalUtils.js +1 -1
  119. package/cjs/modal/ModalUtils.js.map +1 -1
  120. package/cjs/primitives/box/Box.d.ts +1 -1
  121. package/cjs/process/Process.js +1 -5
  122. package/cjs/process/Process.js.map +1 -1
  123. package/cjs/tabs/useTabs.js +3 -7
  124. package/cjs/tabs/useTabs.js.map +1 -1
  125. package/cjs/timeline/Timeline.js +25 -62
  126. package/cjs/timeline/Timeline.js.map +1 -1
  127. package/cjs/timeline/TimelineRow.js +10 -14
  128. package/cjs/timeline/TimelineRow.js.map +1 -1
  129. package/cjs/timeline/hooks/TimelineKeyboardNavProvider.d.ts +16 -0
  130. package/cjs/timeline/hooks/TimelineKeyboardNavProvider.js +179 -0
  131. package/cjs/timeline/hooks/TimelineKeyboardNavProvider.js.map +1 -0
  132. package/cjs/timeline/hooks/usePeriodContext.d.ts +0 -1
  133. package/cjs/timeline/hooks/usePeriodContext.js +0 -1
  134. package/cjs/timeline/hooks/usePeriodContext.js.map +1 -1
  135. package/cjs/timeline/hooks/useRowContext.d.ts +0 -1
  136. package/cjs/timeline/hooks/useRowContext.js +0 -1
  137. package/cjs/timeline/hooks/useRowContext.js.map +1 -1
  138. package/cjs/timeline/hooks/useTimelineContext.d.ts +0 -4
  139. package/cjs/timeline/hooks/useTimelineContext.js +0 -4
  140. package/cjs/timeline/hooks/useTimelineContext.js.map +1 -1
  141. package/cjs/timeline/period/ClickablePeriod.js +6 -20
  142. package/cjs/timeline/period/ClickablePeriod.js.map +1 -1
  143. package/cjs/timeline/period/NonClickablePeriod.js +1 -1
  144. package/cjs/timeline/period/NonClickablePeriod.js.map +1 -1
  145. package/cjs/timeline/pin/PinInternal.js +9 -10
  146. package/cjs/timeline/pin/PinInternal.js.map +1 -1
  147. package/cjs/toggle-group/useToggleGroup.js +1 -1
  148. package/cjs/toggle-group/useToggleGroup.js.map +1 -1
  149. package/cjs/utils/components/HighlightText/HighlightText.js +1 -4
  150. package/cjs/utils/components/HighlightText/HighlightText.js.map +1 -1
  151. package/cjs/utils/components/dismissablelayer/DismissableLayer.js +1 -1
  152. package/cjs/utils/components/dismissablelayer/DismissableLayer.js.map +1 -1
  153. package/cjs/utils/helpers/create-strict-context.js +1 -1
  154. package/cjs/utils/helpers/create-strict-context.js.map +1 -1
  155. package/cjs/utils/hooks/useEventCallback.js +1 -1
  156. package/cjs/utils/hooks/useEventCallback.js.map +1 -1
  157. package/cjs/utils/hooks/useMedia.js +1 -1
  158. package/cjs/utils/hooks/useMedia.js.map +1 -1
  159. package/esm/alert/base-alert/content/BaseAlertContent.js +4 -1
  160. package/esm/alert/base-alert/content/BaseAlertContent.js.map +1 -1
  161. package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.d.ts +3 -1
  162. package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js +38 -19
  163. package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js.map +1 -1
  164. package/esm/data/drag-and-drop/item/DragAndDropItem.d.ts +3 -2
  165. package/esm/data/drag-and-drop/item/DragAndDropItem.js +6 -4
  166. package/esm/data/drag-and-drop/item/DragAndDropItem.js.map +1 -1
  167. package/esm/data/drag-and-drop/root/DragAndDrop.context.d.ts +2 -2
  168. package/esm/data/drag-and-drop/root/DragAndDropRoot.d.ts +7 -32
  169. package/esm/data/drag-and-drop/root/DragAndDropRoot.js +74 -47
  170. package/esm/data/drag-and-drop/root/DragAndDropRoot.js.map +1 -1
  171. package/esm/data/drag-and-drop/types.d.ts +4 -0
  172. package/esm/data/table/base-cell/DataTableBaseCell.d.ts +46 -0
  173. package/esm/data/table/base-cell/DataTableBaseCell.js +27 -0
  174. package/esm/data/table/base-cell/DataTableBaseCell.js.map +1 -0
  175. package/esm/data/table/column-header/DataTableColumnHeader.d.ts +32 -0
  176. package/esm/data/table/column-header/DataTableColumnHeader.js +72 -0
  177. package/esm/data/table/column-header/DataTableColumnHeader.js.map +1 -0
  178. package/esm/data/table/column-header/useTableColumnResize.js.map +1 -0
  179. package/esm/data/table/empty-state/DataTableEmptyState.d.ts +6 -2
  180. package/esm/data/table/empty-state/DataTableEmptyState.js +2 -2
  181. package/esm/data/table/empty-state/DataTableEmptyState.js.map +1 -1
  182. package/esm/data/table/helpers/selection/getMultipleSelectProps.d.ts +7 -7
  183. package/esm/data/table/helpers/selection/getMultipleSelectProps.js +29 -28
  184. package/esm/data/table/helpers/selection/getMultipleSelectProps.js.map +1 -1
  185. package/esm/data/table/helpers/selection/getSingleSelectProps.d.ts +5 -3
  186. package/esm/data/table/helpers/selection/getSingleSelectProps.js +8 -12
  187. package/esm/data/table/helpers/selection/getSingleSelectProps.js.map +1 -1
  188. package/esm/data/table/helpers/selection/selection.types.d.ts +39 -16
  189. package/esm/data/table/hooks/useColumnOptions.d.ts +19 -0
  190. package/esm/data/table/hooks/useColumnOptions.js +17 -0
  191. package/esm/data/table/hooks/useColumnOptions.js.map +1 -0
  192. package/esm/data/table/hooks/useTableExpansion.d.ts +26 -0
  193. package/esm/data/table/hooks/useTableExpansion.js +31 -0
  194. package/esm/data/table/hooks/useTableExpansion.js.map +1 -0
  195. package/esm/data/table/hooks/useTableKeyboardNav.d.ts +2 -1
  196. package/esm/data/table/hooks/useTableKeyboardNav.js +4 -2
  197. package/esm/data/table/hooks/useTableKeyboardNav.js.map +1 -1
  198. package/esm/data/table/hooks/useTableSelection.d.ts +14 -7
  199. package/esm/data/table/hooks/useTableSelection.js +40 -29
  200. package/esm/data/table/hooks/useTableSelection.js.map +1 -1
  201. package/esm/data/table/hooks/useTableSort.d.ts +37 -0
  202. package/esm/data/table/hooks/useTableSort.js +47 -0
  203. package/esm/data/table/hooks/useTableSort.js.map +1 -0
  204. package/esm/data/table/loading-state/DataTableLoadingState.d.ts +6 -2
  205. package/esm/data/table/loading-state/DataTableLoadingState.js +2 -2
  206. package/esm/data/table/loading-state/DataTableLoadingState.js.map +1 -1
  207. package/esm/data/table/root/DataTable.types.d.ts +55 -4
  208. package/esm/data/table/root/DataTableAuto.d.ts +97 -1
  209. package/esm/data/table/root/DataTableAuto.js +94 -41
  210. package/esm/data/table/root/DataTableAuto.js.map +1 -1
  211. package/esm/data/table/root/DataTableRoot.context.d.ts +22 -1
  212. package/esm/data/table/root/DataTableRoot.context.js +5 -1
  213. package/esm/data/table/root/DataTableRoot.context.js.map +1 -1
  214. package/esm/data/table/root/DataTableRoot.d.ts +0 -6
  215. package/esm/data/table/root/DataTableRoot.js +6 -5
  216. package/esm/data/table/root/DataTableRoot.js.map +1 -1
  217. package/esm/data/table/tbody/DataTableTbody.js +8 -2
  218. package/esm/data/table/tbody/DataTableTbody.js.map +1 -1
  219. package/esm/data/table/td/DataTableTd.d.ts +3 -23
  220. package/esm/data/table/td/DataTableTd.js +3 -7
  221. package/esm/data/table/td/DataTableTd.js.map +1 -1
  222. package/esm/data/table/tfoot/DataTableTfoot.js +3 -1
  223. package/esm/data/table/tfoot/DataTableTfoot.js.map +1 -1
  224. package/esm/data/table/th/DataTableTh.d.ts +3 -48
  225. package/esm/data/table/th/DataTableTh.js +4 -58
  226. package/esm/data/table/th/DataTableTh.js.map +1 -1
  227. package/esm/data/table/thead/DataTableThead.js +2 -2
  228. package/esm/data/table/thead/DataTableThead.js.map +1 -1
  229. package/esm/data/table/tr/DataTableTr.d.ts +8 -0
  230. package/esm/data/table/tr/DataTableTr.js +134 -12
  231. package/esm/data/table/tr/DataTableTr.js.map +1 -1
  232. package/esm/date/datepicker/hooks/useRangeDatepicker.js +1 -1
  233. package/esm/date/datepicker/hooks/useRangeDatepicker.js.map +1 -1
  234. package/esm/date/datepicker/parts/DatePicker.DayButton.js +3 -1
  235. package/esm/date/datepicker/parts/DatePicker.DayButton.js.map +1 -1
  236. package/esm/date/datepicker/parts/DatePicker.RDP.d.ts +1 -1
  237. package/esm/date/datepicker/parts/DatePicker.RDP.js +27 -12
  238. package/esm/date/datepicker/parts/DatePicker.RDP.js.map +1 -1
  239. package/esm/date/monthpicker/parts/MonthPicker.Button.js +7 -5
  240. package/esm/date/monthpicker/parts/MonthPicker.Button.js.map +1 -1
  241. package/esm/date/monthpicker/parts/MonthPicker.Standalone.d.ts +1 -1
  242. package/esm/dialog/popup/DialogPopupInternal.js +1 -1
  243. package/esm/dialog/popup/DialogPopupInternal.js.map +1 -1
  244. package/esm/form/checkbox/CheckboxGroup.context.d.ts +6 -0
  245. package/esm/form/checkbox/CheckboxGroup.context.js +3 -0
  246. package/esm/form/checkbox/CheckboxGroup.context.js.map +1 -0
  247. package/esm/form/checkbox/CheckboxGroup.d.ts +0 -6
  248. package/esm/form/checkbox/CheckboxGroup.js +8 -8
  249. package/esm/form/checkbox/CheckboxGroup.js.map +1 -1
  250. package/esm/form/checkbox/useCheckbox.js +1 -1
  251. package/esm/form/checkbox/useCheckbox.js.map +1 -1
  252. package/esm/form/combobox/ComboboxWrapper.js +1 -3
  253. package/esm/form/combobox/ComboboxWrapper.js.map +1 -1
  254. package/esm/form/error-summary/ErrorSummary.js +1 -3
  255. package/esm/form/error-summary/ErrorSummary.js.map +1 -1
  256. package/esm/form/fieldset/Fieldset.d.ts +0 -4
  257. package/esm/form/fieldset/Fieldset.js +3 -3
  258. package/esm/form/fieldset/Fieldset.js.map +1 -1
  259. package/esm/form/fieldset/useFieldset.d.ts +5 -3
  260. package/esm/form/fieldset/useFieldset.js +10 -5
  261. package/esm/form/fieldset/useFieldset.js.map +1 -1
  262. package/esm/form/radio/RadioGroup.context.d.ts +8 -0
  263. package/esm/form/radio/RadioGroup.context.js +3 -0
  264. package/esm/form/radio/RadioGroup.context.js.map +1 -0
  265. package/esm/form/radio/RadioGroup.d.ts +0 -8
  266. package/esm/form/radio/RadioGroup.js +9 -9
  267. package/esm/form/radio/RadioGroup.js.map +1 -1
  268. package/esm/form/radio/useRadio.js +1 -1
  269. package/esm/form/radio/useRadio.js.map +1 -1
  270. package/esm/form/search/Search.js +1 -3
  271. package/esm/form/search/Search.js.map +1 -1
  272. package/esm/inline-message/root/InlineMessage.js +2 -5
  273. package/esm/inline-message/root/InlineMessage.js.map +1 -1
  274. package/esm/modal/Modal.js +1 -3
  275. package/esm/modal/Modal.js.map +1 -1
  276. package/esm/modal/ModalUtils.js +1 -1
  277. package/esm/modal/ModalUtils.js.map +1 -1
  278. package/esm/primitives/box/Box.d.ts +1 -1
  279. package/esm/process/Process.js +1 -5
  280. package/esm/process/Process.js.map +1 -1
  281. package/esm/tabs/useTabs.js +3 -7
  282. package/esm/tabs/useTabs.js.map +1 -1
  283. package/esm/timeline/Timeline.js +26 -63
  284. package/esm/timeline/Timeline.js.map +1 -1
  285. package/esm/timeline/TimelineRow.js +10 -14
  286. package/esm/timeline/TimelineRow.js.map +1 -1
  287. package/esm/timeline/hooks/TimelineKeyboardNavProvider.d.ts +16 -0
  288. package/esm/timeline/hooks/TimelineKeyboardNavProvider.js +141 -0
  289. package/esm/timeline/hooks/TimelineKeyboardNavProvider.js.map +1 -0
  290. package/esm/timeline/hooks/usePeriodContext.d.ts +0 -1
  291. package/esm/timeline/hooks/usePeriodContext.js +0 -1
  292. package/esm/timeline/hooks/usePeriodContext.js.map +1 -1
  293. package/esm/timeline/hooks/useRowContext.d.ts +0 -1
  294. package/esm/timeline/hooks/useRowContext.js +0 -1
  295. package/esm/timeline/hooks/useRowContext.js.map +1 -1
  296. package/esm/timeline/hooks/useTimelineContext.d.ts +0 -4
  297. package/esm/timeline/hooks/useTimelineContext.js +0 -4
  298. package/esm/timeline/hooks/useTimelineContext.js.map +1 -1
  299. package/esm/timeline/period/ClickablePeriod.js +7 -21
  300. package/esm/timeline/period/ClickablePeriod.js.map +1 -1
  301. package/esm/timeline/period/NonClickablePeriod.js +1 -1
  302. package/esm/timeline/period/NonClickablePeriod.js.map +1 -1
  303. package/esm/timeline/pin/PinInternal.js +10 -11
  304. package/esm/timeline/pin/PinInternal.js.map +1 -1
  305. package/esm/toggle-group/useToggleGroup.js +1 -1
  306. package/esm/toggle-group/useToggleGroup.js.map +1 -1
  307. package/esm/utils/components/HighlightText/HighlightText.js +1 -4
  308. package/esm/utils/components/HighlightText/HighlightText.js.map +1 -1
  309. package/esm/utils/components/dismissablelayer/DismissableLayer.js +1 -1
  310. package/esm/utils/components/dismissablelayer/DismissableLayer.js.map +1 -1
  311. package/esm/utils/helpers/create-strict-context.js +1 -1
  312. package/esm/utils/helpers/create-strict-context.js.map +1 -1
  313. package/esm/utils/hooks/useEventCallback.js +1 -1
  314. package/esm/utils/hooks/useEventCallback.js.map +1 -1
  315. package/esm/utils/hooks/useMedia.js +1 -1
  316. package/esm/utils/hooks/useMedia.js.map +1 -1
  317. package/package.json +9 -7
  318. package/src/alert/base-alert/content/BaseAlertContent.tsx +7 -2
  319. package/src/data/drag-and-drop/drag-handler/DragAndDropDragHandler.tsx +69 -29
  320. package/src/data/drag-and-drop/item/DragAndDropItem.tsx +16 -10
  321. package/src/data/drag-and-drop/root/DragAndDrop.context.tsx +2 -2
  322. package/src/data/drag-and-drop/root/DragAndDropRoot.tsx +291 -246
  323. package/src/data/drag-and-drop/types.ts +5 -0
  324. package/src/data/table/base-cell/DataTableBaseCell.tsx +92 -0
  325. package/src/data/table/column-header/DataTableColumnHeader.tsx +180 -0
  326. package/src/data/table/empty-state/DataTableEmptyState.tsx +5 -3
  327. package/src/data/table/helpers/selection/getMultipleSelectProps.ts +47 -43
  328. package/src/data/table/helpers/selection/getSingleSelectProps.ts +13 -14
  329. package/src/data/table/helpers/selection/selection.types.ts +41 -16
  330. package/src/data/table/hooks/__tests__/useTableSelection.test.ts +93 -56
  331. package/src/data/table/hooks/useColumnOptions.ts +48 -0
  332. package/src/data/table/hooks/useTableExpansion.tsx +100 -0
  333. package/src/data/table/hooks/useTableKeyboardNav.ts +7 -5
  334. package/src/data/table/hooks/useTableSelection.ts +77 -46
  335. package/src/data/table/hooks/useTableSort.ts +103 -0
  336. package/src/data/table/loading-state/DataTableLoadingState.tsx +5 -3
  337. package/src/data/table/root/DataTable.types.ts +64 -5
  338. package/src/data/table/root/DataTableAuto.tsx +382 -104
  339. package/src/data/table/root/DataTableRoot.context.ts +30 -1
  340. package/src/data/table/root/DataTableRoot.tsx +14 -11
  341. package/src/data/table/tbody/DataTableTbody.tsx +17 -6
  342. package/src/data/table/td/DataTableTd.tsx +11 -47
  343. package/src/data/table/tfoot/DataTableTfoot.tsx +10 -7
  344. package/src/data/table/th/DataTableTh.tsx +11 -183
  345. package/src/data/table/thead/DataTableThead.tsx +3 -3
  346. package/src/data/table/tr/DataTableTr.tsx +300 -11
  347. package/src/date/datepicker/hooks/useRangeDatepicker.tsx +1 -1
  348. package/src/date/datepicker/parts/DatePicker.DayButton.tsx +2 -1
  349. package/src/date/datepicker/parts/DatePicker.RDP.tsx +34 -15
  350. package/src/date/monthpicker/parts/MonthPicker.Button.tsx +11 -9
  351. package/src/date/monthpicker/parts/MonthPicker.Standalone.tsx +1 -1
  352. package/src/dialog/popup/DialogPopupInternal.tsx +1 -1
  353. package/src/form/checkbox/CheckboxGroup.context.ts +10 -0
  354. package/src/form/checkbox/CheckboxGroup.tsx +18 -28
  355. package/src/form/checkbox/useCheckbox.ts +1 -1
  356. package/src/form/fieldset/Fieldset.tsx +4 -8
  357. package/src/form/fieldset/useFieldset.ts +13 -6
  358. package/src/form/radio/RadioGroup.context.ts +13 -0
  359. package/src/form/radio/RadioGroup.tsx +22 -31
  360. package/src/form/radio/useRadio.ts +1 -1
  361. package/src/inline-message/root/InlineMessage.tsx +3 -13
  362. package/src/modal/ModalUtils.ts +1 -1
  363. package/src/primitives/box/Box.tsx +1 -1
  364. package/src/tabs/useTabs.ts +3 -7
  365. package/src/timeline/Timeline.tsx +62 -91
  366. package/src/timeline/TimelineRow.tsx +19 -17
  367. package/src/timeline/hooks/TimelineKeyboardNavProvider.tsx +237 -0
  368. package/src/timeline/hooks/usePeriodContext.tsx +0 -2
  369. package/src/timeline/hooks/useRowContext.tsx +0 -2
  370. package/src/timeline/hooks/useTimelineContext.tsx +0 -8
  371. package/src/timeline/period/ClickablePeriod.tsx +8 -19
  372. package/src/timeline/period/NonClickablePeriod.tsx +2 -0
  373. package/src/timeline/pin/PinInternal.tsx +10 -13
  374. package/src/toggle-group/useToggleGroup.ts +1 -1
  375. package/src/utils/components/dismissablelayer/DismissableLayer.tsx +1 -1
  376. package/src/utils/helpers/create-strict-context.tsx +1 -1
  377. package/src/utils/hooks/useEventCallback.ts +1 -1
  378. package/src/utils/hooks/useMedia.ts +1 -1
  379. package/cjs/data/table/th/DataTableThActions.d.ts +0 -5
  380. package/cjs/data/table/th/DataTableThActions.js +0 -23
  381. package/cjs/data/table/th/DataTableThActions.js.map +0 -1
  382. package/cjs/data/table/th/useTableColumnResize.js.map +0 -1
  383. package/cjs/data/table/thead/DataTableThead.context.d.ts +0 -4
  384. package/cjs/data/table/thead/DataTableThead.context.js +0 -45
  385. package/cjs/data/table/thead/DataTableThead.context.js.map +0 -1
  386. package/esm/data/table/th/DataTableThActions.d.ts +0 -5
  387. package/esm/data/table/th/DataTableThActions.js +0 -18
  388. package/esm/data/table/th/DataTableThActions.js.map +0 -1
  389. package/esm/data/table/th/useTableColumnResize.js.map +0 -1
  390. package/esm/data/table/thead/DataTableThead.context.d.ts +0 -4
  391. package/esm/data/table/thead/DataTableThead.context.js +0 -8
  392. package/esm/data/table/thead/DataTableThead.context.js.map +0 -1
  393. package/src/data/table/th/DataTableThActions.tsx +0 -32
  394. package/src/data/table/thead/DataTableThead.context.ts +0 -10
  395. /package/cjs/data/table/{th → column-header}/useTableColumnResize.d.ts +0 -0
  396. /package/cjs/data/table/{th → column-header}/useTableColumnResize.js +0 -0
  397. /package/esm/data/table/{th → column-header}/useTableColumnResize.d.ts +0 -0
  398. /package/esm/data/table/{th → column-header}/useTableColumnResize.js +0 -0
  399. /package/src/data/table/{th → column-header}/useTableColumnResize.ts +0 -0
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __rest = (this && this.__rest) || function (s, e) {
36
+ var t = {};
37
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
38
+ t[p] = s[p];
39
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
40
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
41
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
42
+ t[p[i]] = s[p[i]];
43
+ }
44
+ return t;
45
+ };
46
+ Object.defineProperty(exports, "__esModule", { value: true });
47
+ exports.DataTableBaseCell = void 0;
48
+ const react_1 = __importStar(require("react"));
49
+ const helpers_1 = require("../../../utils/helpers");
50
+ const DataTableRoot_context_1 = require("../root/DataTableRoot.context");
51
+ /**
52
+ * TODO:
53
+ * - Need a "type" or something that centers content instead of relying on isSelection prop.
54
+ * - Need a separate prop do disabled resizing instead of relying on isSelection prop.
55
+ */
56
+ const DataTableBaseCell = (0, react_1.forwardRef)((_a, forwardedRef) => {
57
+ var { className, children, as: Component, textAlign = "left", colSpan, UNSAFE_isSelection, preventRowClick, contentMaxWidth, rowSpan, isSticky } = _a, rest = __rest(_a, ["className", "children", "as", "textAlign", "colSpan", "UNSAFE_isSelection", "preventRowClick", "contentMaxWidth", "rowSpan", "isSticky"]);
58
+ const { withKeyboardNav } = (0, DataTableRoot_context_1.useDataTableContext)();
59
+ return (react_1.default.createElement(Component, Object.assign({}, rest, { ref: forwardedRef, className: (0, helpers_1.cl)("aksel-data-table__cell", className), tabIndex: withKeyboardNav ? -1 : undefined, "data-align": textAlign, "data-selectable": UNSAFE_isSelection, "data-prevent-row-click": preventRowClick || UNSAFE_isSelection || undefined, "data-sticky": isSticky || undefined, colSpan: colSpan, rowSpan: rowSpan }),
60
+ react_1.default.createElement("div", { style: { maxWidth: contentMaxWidth } }, children)));
61
+ });
62
+ exports.DataTableBaseCell = DataTableBaseCell;
63
+ //# sourceMappingURL=DataTableBaseCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTableBaseCell.js","sourceRoot":"","sources":["../../../../src/data/table/base-cell/DataTableBaseCell.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAC1C,oDAA4C;AAC5C,yEAAoE;AAmCpE;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,IAAA,kBAAU,EASlC,CACE,EAYC,EACD,YAAY,EACZ,EAAE;QAdF,EACE,SAAS,EACT,QAAQ,EACR,EAAE,EAAE,SAAS,EACb,SAAS,GAAG,MAAM,EAClB,OAAO,EACP,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,OAAO,EACP,QAAQ,OAET,EADI,IAAI,cAXT,0IAYC,CADQ;IAIT,MAAM,EAAE,eAAe,EAAE,GAAG,IAAA,2CAAmB,GAAE,CAAC;IAElD,OAAO,CACL,8BAAC,SAAS,oBACJ,IAAI,IACR,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,IAAA,YAAE,EAAC,wBAAwB,EAAE,SAAS,CAAC,EAClD,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,gBAC9B,SAAS,qBACJ,kBAAkB,4BAEjC,eAAe,IAAI,kBAAkB,IAAI,SAAS,iBAEvC,QAAQ,IAAI,SAAS,EAClC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO;QAEhB,uCAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAG,QAAQ,CAAO,CACjD,CACb,CAAC;AACJ,CAAC,CACF,CAAC;AAEO,8CAAiB"}
@@ -0,0 +1,32 @@
1
+ import React from "react";
2
+ import { type DataTableBaseCellProps } from "../base-cell/DataTableBaseCell";
3
+ import type { SortDirection } from "../root/DataTable.types";
4
+ import { type ResizeProps } from "./useTableColumnResize";
5
+ interface DataTableColumnHeaderProps extends ResizeProps, DataTableBaseCellProps {
6
+ resizeHandler?: (event: React.MouseEvent<HTMLButtonElement> | React.TouchEvent<HTMLButtonElement>) => void;
7
+ /**
8
+ * Makes the column header sortable. The entire header cell content becomes
9
+ * a clickable button when true.
10
+ */
11
+ sortable?: boolean;
12
+ /**
13
+ * Current sort direction. Only relevant when `sortable` is true.
14
+ * Uses values matching the `aria-sort` attribute directly.
15
+ * @default "none"
16
+ */
17
+ sortDirection?: SortDirection;
18
+ /**
19
+ * Called when the user clicks the sortable header.
20
+ * The consumer is responsible for determining and setting the next sort state.
21
+ */
22
+ onSortClick?: (event: React.MouseEvent<HTMLElement>) => void;
23
+ }
24
+ /**
25
+ * TODO:
26
+ * - Plan for pinning: Move it into "settings" dialog like here: https://cloudscape.design/examples/react/table.html
27
+ * - Keyboard-nav breaks in headers now because of the resize-handles.
28
+ * Toggling `data-block-keyboard-nav` does not work since the created "grid" does not update when toggling this attribute.
29
+ */
30
+ declare const DataTableColumnHeader: React.ForwardRefExoticComponent<Omit<DataTableColumnHeaderProps, "ref"> & React.RefAttributes<HTMLTableCellElement>>;
31
+ export { DataTableColumnHeader };
32
+ export type { DataTableColumnHeaderProps };
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __rest = (this && this.__rest) || function (s, e) {
36
+ var t = {};
37
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
38
+ t[p] = s[p];
39
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
40
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
41
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
42
+ t[p[i]] = s[p[i]];
43
+ }
44
+ return t;
45
+ };
46
+ Object.defineProperty(exports, "__esModule", { value: true });
47
+ exports.DataTableColumnHeader = void 0;
48
+ const react_1 = __importStar(require("react"));
49
+ const aksel_icons_1 = require("@navikt/aksel-icons");
50
+ const helpers_1 = require("../../../utils/helpers");
51
+ const hooks_1 = require("../../../utils/hooks");
52
+ const DataTableBaseCell_1 = require("../base-cell/DataTableBaseCell");
53
+ const useTableColumnResize_1 = require("./useTableColumnResize");
54
+ const SORT_ICON = {
55
+ asc: aksel_icons_1.SortUpIcon,
56
+ desc: aksel_icons_1.SortDownIcon,
57
+ none: aksel_icons_1.ArrowsUpDownIcon,
58
+ };
59
+ /**
60
+ * TODO:
61
+ * - Plan for pinning: Move it into "settings" dialog like here: https://cloudscape.design/examples/react/table.html
62
+ * - Keyboard-nav breaks in headers now because of the resize-handles.
63
+ * Toggling `data-block-keyboard-nav` does not work since the created "grid" does not update when toggling this attribute.
64
+ */
65
+ const DataTableColumnHeader = (0, react_1.forwardRef)((_a, forwardedRef) => {
66
+ var { className, children, sortable = false, sortDirection = "none", onSortClick, style, width, minWidth, maxWidth, onWidthChange, defaultWidth, colSpan, rowSpan, UNSAFE_isSelection } = _a, rest = __rest(_a, ["className", "children", "sortable", "sortDirection", "onSortClick", "style", "width", "minWidth", "maxWidth", "onWidthChange", "defaultWidth", "colSpan", "rowSpan", "UNSAFE_isSelection"]);
67
+ const [isOverflowing, setIsOverflowing] = react_1.default.useState(false);
68
+ const contentRef = react_1.default.useRef(null);
69
+ const [thRefState, setThRefState] = (0, react_1.useState)(null);
70
+ const mergedRef = (0, hooks_1.useMergeRefs)(forwardedRef, setThRefState);
71
+ const resizeResult = (0, useTableColumnResize_1.useTableColumnResize)({
72
+ ref: thRefState,
73
+ width,
74
+ defaultWidth,
75
+ minWidth,
76
+ maxWidth,
77
+ onWidthChange,
78
+ style,
79
+ colSpan,
80
+ });
81
+ const SortIcon = sortable ? SORT_ICON[sortDirection] : null;
82
+ return (react_1.default.createElement(DataTableBaseCell_1.DataTableBaseCell, Object.assign({ as: "th" }, rest, { ref: mergedRef, className: (0, helpers_1.cl)("aksel-data-table__column-header", className), "data-sortable": sortable, style: resizeResult.style, "aria-sort": sortable ? getAriaSort(sortDirection) : undefined, onPointerEnter: () => {
83
+ const el = contentRef.current;
84
+ setIsOverflowing(el ? el.scrollWidth > el.offsetWidth : false);
85
+ console.info("is overflowing", isOverflowing);
86
+ }, onPointerLeave: () => setIsOverflowing(false), UNSAFE_isSelection: UNSAFE_isSelection, colSpan: colSpan, rowSpan: rowSpan }),
87
+ sortable ? (react_1.default.createElement("button", { className: "aksel-data-table__th-sort-button", onClick: onSortClick },
88
+ react_1.default.createElement("div", { ref: contentRef, className: "aksel-data-table__th-content" }, children),
89
+ SortIcon && (react_1.default.createElement(SortIcon, { "aria-hidden": true, "data-sort-direction": sortDirection, className: "aksel-data-table__th-sort-icon", fontSize: "1.25rem" })))) : (react_1.default.createElement("div", { ref: contentRef, className: (0, helpers_1.cl)({
90
+ "aksel-data-table__th-content": !UNSAFE_isSelection,
91
+ }) }, children)),
92
+ resizeResult.enabled && !UNSAFE_isSelection && (react_1.default.createElement("button", Object.assign({}, resizeResult.resizeHandlerProps, { className: "aksel-data-table__th-resize-handle", "data-active": resizeResult.isResizingWithKeyboard, "data-block-keyboard-nav": true }), resizeResult.isResizingWithKeyboard && (react_1.default.createElement(react_1.default.Fragment, null,
93
+ react_1.default.createElement("span", { className: "aksel-data-table__th-resize-handle-indicator aksel-data-table__th-resize-handle-indicator--start" },
94
+ react_1.default.createElement(aksel_icons_1.CaretLeftCircleFillIcon, { "aria-hidden": true, fontSize: "1.5rem" })),
95
+ react_1.default.createElement("span", { className: "aksel-data-table__th-resize-handle-indicator aksel-data-table__th-resize-handle-indicator--end" },
96
+ react_1.default.createElement(aksel_icons_1.CaretRightCircleFillIcon, { "aria-hidden": true, fontSize: "1.5rem" }))))))));
97
+ });
98
+ exports.DataTableColumnHeader = DataTableColumnHeader;
99
+ function getAriaSort(sortDirection) {
100
+ if (sortDirection === "asc")
101
+ return "ascending";
102
+ if (sortDirection === "desc")
103
+ return "descending";
104
+ if (sortDirection === "none")
105
+ return "none";
106
+ return undefined;
107
+ }
108
+ //# sourceMappingURL=DataTableColumnHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTableColumnHeader.js","sourceRoot":"","sources":["../../../../src/data/table/column-header/DataTableColumnHeader.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAoD;AACpD,qDAM6B;AAC7B,oDAA4C;AAC5C,gDAAoD;AACpD,sEAGwC;AAExC,iEAAgF;AA2BhF,MAAM,SAAS,GAAoD;IACjE,GAAG,EAAE,wBAAU;IACf,IAAI,EAAE,0BAAY;IAClB,IAAI,EAAE,8BAAgB;CACvB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,qBAAqB,GAAG,IAAA,kBAAU,EAItC,CACE,EAgBC,EACD,YAAY,EACZ,EAAE;QAlBF,EACE,SAAS,EACT,QAAQ,EACR,QAAQ,GAAG,KAAK,EAChB,aAAa,GAAG,MAAM,EACtB,WAAW,EACX,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,OAAO,EACP,OAAO,EACP,kBAAkB,OAEnB,EADI,IAAI,cAfT,4LAgBC,CADQ;IAIT,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,eAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IACtD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAC1C,IAAI,CACL,CAAC;IACF,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAE5D,MAAM,YAAY,GAAG,IAAA,2CAAoB,EAAC;QACxC,GAAG,EAAE,UAAU;QACf,KAAK;QACL,YAAY;QACZ,QAAQ;QACR,QAAQ;QACR,aAAa;QACb,KAAK;QACL,OAAO;KACR,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE5D,OAAO,CACL,8BAAC,qCAAiB,kBAChB,EAAE,EAAC,IAAI,IACH,IAAI,IACR,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,IAAA,YAAE,EAAC,iCAAiC,EAAE,SAAS,CAAC,mBAC5C,QAAQ,EACvB,KAAK,EAAE,YAAY,CAAC,KAAK,eACd,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,EAC5D,cAAc,EAAE,GAAG,EAAE;YACnB,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC;YAC9B,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;QAChD,CAAC,EACD,cAAc,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAC7C,kBAAkB,EAAE,kBAAkB,EACtC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO;QAEf,QAAQ,CAAC,CAAC,CAAC,CACV,0CACE,SAAS,EAAC,kCAAkC,EAC5C,OAAO,EAAE,WAAW;YAEpB,uCAAK,GAAG,EAAE,UAAU,EAAE,SAAS,EAAC,8BAA8B,IAC3D,QAAQ,CACL;YACL,QAAQ,IAAI,CACX,8BAAC,QAAQ,gDAEc,aAAa,EAClC,SAAS,EAAC,gCAAgC,EAC1C,QAAQ,EAAC,SAAS,GAClB,CACH,CACM,CACV,CAAC,CAAC,CAAC,CACF,uCACE,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,IAAA,YAAE,EAAC;gBACZ,8BAA8B,EAAE,CAAC,kBAAkB;aACpD,CAAC,IAED,QAAQ,CACL,CACP;QAEA,YAAY,CAAC,OAAO,IAAI,CAAC,kBAAkB,IAAI,CAC9C,0DACM,YAAY,CAAC,kBAAkB,IACnC,SAAS,EAAC,oCAAoC,iBACjC,YAAY,CAAC,sBAAsB,sCAG/C,YAAY,CAAC,sBAAsB,IAAI,CACtC;YACE,wCAAM,SAAS,EAAC,kGAAkG;gBAChH,8BAAC,qCAAuB,yBAAa,QAAQ,EAAC,QAAQ,GAAG,CACpD;YACP,wCAAM,SAAS,EAAC,gGAAgG;gBAC9G,8BAAC,sCAAwB,yBAAa,QAAQ,EAAC,QAAQ,GAAG,CACrD,CACN,CACJ,CACM,CACV,CACiB,CACrB,CAAC;AACJ,CAAC,CACF,CAAC;AAWO,sDAAqB;AAT9B,SAAS,WAAW,CAClB,aAAwC;IAExC,IAAI,aAAa,KAAK,KAAK;QAAE,OAAO,WAAW,CAAC;IAChD,IAAI,aAAa,KAAK,MAAM;QAAE,OAAO,YAAY,CAAC;IAClD,IAAI,aAAa,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAC5C,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableColumnResize.js","sourceRoot":"","sources":["../../../../src/data/table/column-header/useTableColumnResize.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
1
  import React from "react";
2
- type DataTableEmptyStateProps = React.HTMLAttributes<HTMLDivElement>;
3
- declare const DataTableEmptyState: React.ForwardRefExoticComponent<DataTableEmptyStateProps & React.RefAttributes<HTMLDivElement>>;
2
+ type DataTableEmptyStateProps = React.HTMLAttributes<HTMLDivElement> & {
3
+ colSpan?: number;
4
+ };
5
+ declare const DataTableEmptyState: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
6
+ colSpan?: number;
7
+ } & React.RefAttributes<HTMLDivElement>>;
4
8
  export { DataTableEmptyState };
5
9
  export type { DataTableEmptyStateProps };
@@ -48,9 +48,9 @@ exports.DataTableEmptyState = void 0;
48
48
  const react_1 = __importStar(require("react"));
49
49
  const helpers_1 = require("../../../utils/helpers");
50
50
  const DataTableEmptyState = (0, react_1.forwardRef)((_a, forwardedRef) => {
51
- var { className, children } = _a, rest = __rest(_a, ["className", "children"]);
51
+ var { className, children, colSpan = 999 } = _a, rest = __rest(_a, ["className", "children", "colSpan"]);
52
52
  return (react_1.default.createElement("tr", null,
53
- react_1.default.createElement("td", { colSpan: 999 },
53
+ react_1.default.createElement("td", { colSpan: colSpan },
54
54
  react_1.default.createElement("div", Object.assign({}, rest, { ref: forwardedRef, className: (0, helpers_1.cl)("aksel-data-table__empty-state", className) }), children))));
55
55
  });
56
56
  exports.DataTableEmptyState = DataTableEmptyState;
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableEmptyState.js","sourceRoot":"","sources":["../../../../src/data/table/empty-state/DataTableEmptyState.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAC1C,oDAA4C;AAI5C,MAAM,mBAAmB,GAAG,IAAA,kBAAU,EAGpC,CAAC,EAAgC,EAAE,YAAY,EAAE,EAAE;QAAlD,EAAE,SAAS,EAAE,QAAQ,OAAW,EAAN,IAAI,cAA9B,yBAAgC,CAAF;IAC/B,OAAO,CACL;QACE,sCAAI,OAAO,EAAE,GAAG;YACd,uDACM,IAAI,IACR,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,IAAA,YAAE,EAAC,+BAA+B,EAAE,SAAS,CAAC,KAExD,QAAQ,CACL,CACH,CACF,CACN,CAAC;AACJ,CAAC,CAAC,CAAC;AAEM,kDAAmB"}
1
+ {"version":3,"file":"DataTableEmptyState.js","sourceRoot":"","sources":["../../../../src/data/table/empty-state/DataTableEmptyState.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAC1C,oDAA4C;AAM5C,MAAM,mBAAmB,GAAG,IAAA,kBAAU,EAGpC,CAAC,EAA+C,EAAE,YAAY,EAAE,EAAE;QAAjE,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,GAAG,GAAG,OAAW,EAAN,IAAI,cAA7C,oCAA+C,CAAF;IAC9C,OAAO,CACL;QACE,sCAAI,OAAO,EAAE,OAAO;YAClB,uDACM,IAAI,IACR,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,IAAA,YAAE,EAAC,+BAA+B,EAAE,SAAS,CAAC,KAExD,QAAQ,CACL,CACH,CACF,CACN,CAAC;AACJ,CAAC,CAAC,CAAC;AAEM,kDAAmB"}
@@ -1,14 +1,14 @@
1
1
  import type { CheckboxInputProps } from "../../../../form/checkbox/checkbox-input/CheckboxInput";
2
- import type { SelectionT } from "./selection.types";
3
2
  type GetMultipleSelectPropsArgs = {
4
- selectedKeys: SelectionT;
5
- setSelectedKeys: (keys: SelectionT) => void;
6
- disabledKeys: (string | number)[];
7
- allKeys: (string | number)[];
8
- totalCount: number;
3
+ selectedKeysSet: Set<string | number>;
4
+ selectedKeys: (string | number)[];
5
+ setSelectedKeys: (keys: (string | number)[]) => void;
6
+ disabledKeysSet: Set<string | number>;
7
+ allRowKeys: (string | number)[];
9
8
  };
10
- declare function getMultipleSelectProps({ selectedKeys, setSelectedKeys, disabledKeys, allKeys, totalCount, }: GetMultipleSelectPropsArgs): {
9
+ declare function getMultipleSelectProps({ selectedKeysSet, selectedKeys, setSelectedKeys, disabledKeysSet, allRowKeys, }: GetMultipleSelectPropsArgs): {
11
10
  getTheadCheckboxProps: () => CheckboxInputProps;
12
11
  getRowCheckboxProps: (key: string | number) => CheckboxInputProps;
12
+ toggleSelection: (key: string | number) => void;
13
13
  };
14
14
  export { getMultipleSelectProps };
@@ -1,48 +1,49 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getMultipleSelectProps = getMultipleSelectProps;
4
- function getMultipleSelectProps({ selectedKeys, setSelectedKeys, disabledKeys, allKeys, totalCount, }) {
4
+ function getMultipleSelectProps({ selectedKeysSet, selectedKeys, setSelectedKeys, disabledKeysSet, allRowKeys, }) {
5
+ const allRowKeysSet = new Set(allRowKeys);
6
+ const selectableKeys = allRowKeys.filter((k) => !disabledKeysSet.has(k));
7
+ const selectedSelectableCount = selectableKeys.filter((k) => selectedKeysSet.has(k)).length;
8
+ const allSelectableSelected = selectableKeys.length > 0 &&
9
+ selectedSelectableCount === selectableKeys.length;
10
+ const indeterminate = selectedSelectableCount > 0 &&
11
+ selectedSelectableCount < selectableKeys.length;
12
+ const selectedKeysNotInView = selectedKeys.filter((k) => !allRowKeysSet.has(k));
13
+ const disabledSelected = selectedKeys.filter((k) => disabledKeysSet.has(k));
14
+ const preservedKeys = [...selectedKeysNotInView, ...disabledSelected];
5
15
  const handleToggleAll = () => {
6
- const allSelected = selectedKeys === "all" ||
7
- (Array.isArray(selectedKeys) && selectedKeys.length === totalCount);
8
- setSelectedKeys(allSelected ? [] : allKeys);
16
+ if (allSelectableSelected) {
17
+ setSelectedKeys(preservedKeys);
18
+ }
19
+ else {
20
+ setSelectedKeys([...new Set([...preservedKeys, ...selectableKeys])]);
21
+ }
9
22
  };
10
23
  const handleToggleRow = (key) => {
11
- if (selectedKeys === "all") {
12
- setSelectedKeys(allKeys.filter((id) => id !== key));
24
+ if (disabledKeysSet.has(key)) {
25
+ return;
13
26
  }
14
- else if (selectedKeys.includes(key)) {
27
+ if (selectedKeysSet.has(key)) {
15
28
  setSelectedKeys(selectedKeys.filter((k) => k !== key));
16
29
  }
17
30
  else {
18
31
  setSelectedKeys([...selectedKeys, key]);
19
32
  }
20
33
  };
21
- const isChecked = (key) => selectedKeys === "all" ||
22
- (Array.isArray(selectedKeys) && selectedKeys.includes(key));
23
34
  return {
24
- getTheadCheckboxProps: () => {
25
- const indeterminate = Array.isArray(selectedKeys) &&
26
- selectedKeys.length > 0 &&
27
- selectedKeys.length < totalCount;
28
- return {
29
- /* TODO: Add support for label visuallyhidden */
30
- /* children: "Select all rows", */
31
- onChange: handleToggleAll,
32
- checked: (selectedKeys === "all" ||
33
- (Array.isArray(selectedKeys) && selectedKeys.length > 0)) &&
34
- !indeterminate,
35
- indeterminate,
36
- disabled: disabledKeys.length === totalCount,
37
- };
38
- },
35
+ getTheadCheckboxProps: () => ({
36
+ onChange: handleToggleAll,
37
+ checked: allSelectableSelected,
38
+ indeterminate,
39
+ disabled: selectableKeys.length === 0,
40
+ }),
39
41
  getRowCheckboxProps: (key) => ({
40
- /* TODO: Add support for label visuallyhidden */
41
- /* children: `Select row with id ${key}`, */
42
42
  onChange: () => handleToggleRow(key),
43
- checked: isChecked(key),
44
- disabled: disabledKeys.includes(key),
43
+ checked: selectedKeysSet.has(key),
44
+ disabled: disabledKeysSet.has(key),
45
45
  }),
46
+ toggleSelection: handleToggleRow,
46
47
  };
47
48
  }
48
49
  //# sourceMappingURL=getMultipleSelectProps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getMultipleSelectProps.js","sourceRoot":"","sources":["../../../../../src/data/table/helpers/selection/getMultipleSelectProps.ts"],"names":[],"mappings":";;AAqES,wDAAsB;AA1D/B,SAAS,sBAAsB,CAAC,EAC9B,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,OAAO,EACP,UAAU,GACiB;IAC3B,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,MAAM,WAAW,GACf,YAAY,KAAK,KAAK;YACtB,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;QAEtE,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,GAAoB,EAAE,EAAE;QAC/C,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;YAC3B,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,GAAoB,EAAE,EAAE,CACzC,YAAY,KAAK,KAAK;QACtB,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAE9D,OAAO;QACL,qBAAqB,EAAE,GAAuB,EAAE;YAC9C,MAAM,aAAa,GACjB,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;gBAC3B,YAAY,CAAC,MAAM,GAAG,CAAC;gBACvB,YAAY,CAAC,MAAM,GAAG,UAAU,CAAC;YAEnC,OAAO;gBACL,gDAAgD;gBAChD,kCAAkC;gBAClC,QAAQ,EAAE,eAAe;gBACzB,OAAO,EACL,CAAC,YAAY,KAAK,KAAK;oBACrB,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC3D,CAAC,aAAa;gBAChB,aAAa;gBACb,QAAQ,EAAE,YAAY,CAAC,MAAM,KAAK,UAAU;aAC7C,CAAC;QACJ,CAAC;QACD,mBAAmB,EAAE,CAAC,GAAoB,EAAsB,EAAE,CAAC,CAAC;YAClE,gDAAgD;YAChD,4CAA4C;YAC5C,QAAQ,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC;YACpC,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC;YACvB,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;SACrC,CAAC;KACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"getMultipleSelectProps.js","sourceRoot":"","sources":["../../../../../src/data/table/helpers/selection/getMultipleSelectProps.ts"],"names":[],"mappings":";;AAyES,wDAAsB;AA/D/B,SAAS,sBAAsB,CAAC,EAC9B,eAAe,EACf,YAAY,EACZ,eAAe,EACf,eAAe,EACf,UAAU,GACiB;IAC3B,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzE,MAAM,uBAAuB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1D,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CACvB,CAAC,MAAM,CAAC;IAET,MAAM,qBAAqB,GACzB,cAAc,CAAC,MAAM,GAAG,CAAC;QACzB,uBAAuB,KAAK,cAAc,CAAC,MAAM,CAAC;IAEpD,MAAM,aAAa,GACjB,uBAAuB,GAAG,CAAC;QAC3B,uBAAuB,GAAG,cAAc,CAAC,MAAM,CAAC;IAElD,MAAM,qBAAqB,GAAG,YAAY,CAAC,MAAM,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAC7B,CAAC;IACF,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,aAAa,GAAG,CAAC,GAAG,qBAAqB,EAAE,GAAG,gBAAgB,CAAC,CAAC;IAEtE,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,IAAI,qBAAqB,EAAE,CAAC;YAC1B,eAAe,CAAC,aAAa,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,aAAa,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,GAAoB,EAAE,EAAE;QAC/C,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,qBAAqB,EAAE,GAAuB,EAAE,CAAC,CAAC;YAChD,QAAQ,EAAE,eAAe;YACzB,OAAO,EAAE,qBAAqB;YAC9B,aAAa;YACb,QAAQ,EAAE,cAAc,CAAC,MAAM,KAAK,CAAC;SACtC,CAAC;QACF,mBAAmB,EAAE,CAAC,GAAoB,EAAsB,EAAE,CAAC,CAAC;YAClE,QAAQ,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC;YACpC,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC;YACjC,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC;SACnC,CAAC;QACF,eAAe,EAAE,eAAe;KACjC,CAAC;AACJ,CAAC"}
@@ -1,10 +1,12 @@
1
1
  import type { RadioInputProps } from "../../../../form/radio/radio-input/RadioInput";
2
2
  type GetSingleSelectPropsArgs = {
3
- selectedKeys: (string | number)[];
3
+ selectedKeysSet: Set<string | number>;
4
4
  setSelectedKeys: (keys: (string | number)[]) => void;
5
- disabledKeys: (string | number)[];
5
+ disabledKeysSet: Set<string | number>;
6
+ name: string;
6
7
  };
7
- declare function getSingleSelectProps({ selectedKeys, setSelectedKeys, disabledKeys, }: GetSingleSelectPropsArgs): {
8
+ declare function getSingleSelectProps({ selectedKeysSet, setSelectedKeys, disabledKeysSet, name, }: GetSingleSelectPropsArgs): {
8
9
  getRowRadioProps: (key: string | number) => RadioInputProps;
10
+ toggleSelection: (key: string | number) => void;
9
11
  };
10
12
  export { getSingleSelectProps };
@@ -1,26 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getSingleSelectProps = getSingleSelectProps;
4
- function getSingleSelectProps({ selectedKeys, setSelectedKeys, disabledKeys, }) {
4
+ function getSingleSelectProps({ selectedKeysSet, setSelectedKeys, disabledKeysSet, name, }) {
5
5
  const handleSelectionChange = (key) => {
6
- if (selectedKeys.includes(key)) {
7
- setSelectedKeys([]);
8
- }
9
- else {
10
- setSelectedKeys([key]);
6
+ if (disabledKeysSet.has(key)) {
7
+ return;
11
8
  }
9
+ setSelectedKeys([key]);
12
10
  };
13
11
  return {
14
12
  getRowRadioProps: (key) => ({
15
- /* TODO: Add support for label visuallyhidden */
16
- /* children: `Select row with id ${key}`, */
17
- checked: selectedKeys.includes(key),
13
+ checked: selectedKeysSet.has(key),
18
14
  onChange: () => handleSelectionChange(key),
19
- disabled: disabledKeys.includes(key),
15
+ disabled: disabledKeysSet.has(key),
20
16
  value: key,
21
- /* TODO: Make this unique to avoid issue with multipe tables */
22
- name: "data-table-single-select",
17
+ name,
23
18
  }),
19
+ toggleSelection: handleSelectionChange,
24
20
  };
25
21
  }
26
22
  //# sourceMappingURL=getSingleSelectProps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getSingleSelectProps.js","sourceRoot":"","sources":["../../../../../src/data/table/helpers/selection/getSingleSelectProps.ts"],"names":[],"mappings":";;AAmCS,oDAAoB;AA3B7B,SAAS,oBAAoB,CAAC,EAC5B,YAAY,EACZ,eAAe,EACf,YAAY,GACa;IACzB,MAAM,qBAAqB,GAAG,CAAC,GAAoB,EAAE,EAAE;QACrD,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,eAAe,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,gBAAgB,EAAE,CAAC,GAAoB,EAAmB,EAAE,CAAC,CAAC;YAC5D,gDAAgD;YAChD,4CAA4C;YAC5C,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;YACnC,QAAQ,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC;YAC1C,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;YACpC,KAAK,EAAE,GAAG;YACV,+DAA+D;YAC/D,IAAI,EAAE,0BAA0B;SACjC,CAAC;KACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"getSingleSelectProps.js","sourceRoot":"","sources":["../../../../../src/data/table/helpers/selection/getSingleSelectProps.ts"],"names":[],"mappings":";;AAkCS,oDAAoB;AAzB7B,SAAS,oBAAoB,CAAC,EAC5B,eAAe,EACf,eAAe,EACf,eAAe,EACf,IAAI,GACqB;IACzB,MAAM,qBAAqB,GAAG,CAAC,GAAoB,EAAE,EAAE;QACrD,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,OAAO;QACL,gBAAgB,EAAE,CAAC,GAAoB,EAAmB,EAAE,CAAC,CAAC;YAC5D,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC;YACjC,QAAQ,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC;YAC1C,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC;YAClC,KAAK,EAAE,GAAG;YACV,IAAI;SACL,CAAC;QACF,eAAe,EAAE,qBAAqB;KACvC,CAAC;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { CheckboxInputProps } from "../../../../form/checkbox/checkbox-input/CheckboxInput";
2
2
  import type { RadioInputProps } from "../../../../form/radio/radio-input/RadioInput";
3
- type SelectionT = (string | number)[] | "all";
3
+ type SelectedKeysT = (string | number)[];
4
4
  type SelectionProps = {
5
5
  /**
6
6
  * Enables selection of rows.
@@ -12,31 +12,54 @@ type SelectionProps = {
12
12
  * @default "none"
13
13
  */
14
14
  selectionMode?: "none" | "single" | "multiple";
15
- selectedKeys?: SelectionT;
16
- defaultSelectedKeys?: SelectionT;
17
- onSelectionChange?: (keys: SelectionT) => void;
18
- disabledKeys?: (string | number)[];
15
+ /**
16
+ * Controlled selected keys. Should be used in conjunction with `onSelectionChange`.
17
+ */
18
+ selectedKeys?: SelectedKeysT;
19
+ /**
20
+ * Default selected keys when using uncontrolled selection. Should not be used together with `selectedKeys`.
21
+ */
22
+ defaultSelectedKeys?: SelectedKeysT;
23
+ /**
24
+ * Callback with array of selected keys.
25
+ */
26
+ onSelectionChange?: (keys: SelectedKeysT) => void;
27
+ /**
28
+ * Keys that should be disabled for selection. These keys will not be selectable and will be styled as disabled.
29
+ *
30
+ *
31
+ * TODO: Consider making this optionally a callback with (rowData:T) => boolean, to allow for more dynamic disabling of selection based on row data.
32
+ */
33
+ disabledSelectionKeys?: SelectedKeysT;
34
+ /**
35
+ * If true, stops clicking a row from toggling its selection state. This can be used if you want to only allow selection through the checkboxes/radios, and not have the entire row be clickable for selection.
36
+ *
37
+ * @default false
38
+ */
39
+ disableRowSelectionOnClick?: boolean;
19
40
  };
20
41
  type NoneSelection = {
21
42
  selectionMode: "none";
22
- allKeys: (string | number)[];
23
- selectedKeys: (string | number)[];
24
- disabledKeys: (string | number)[];
43
+ selectedKeys: SelectedKeysT;
44
+ disabledSelectionKeys: SelectedKeysT;
25
45
  };
26
46
  type SingleSelection = {
27
47
  selectionMode: "single";
28
- allKeys: (string | number)[];
29
- selectedKeys: (string | number)[];
30
- disabledKeys: (string | number)[];
48
+ selectedKeys: SelectedKeysT;
49
+ disabledSelectionKeys: SelectedKeysT;
31
50
  getRowRadioProps: (key: string | number) => RadioInputProps;
51
+ toggleSelection: (key: string | number) => void;
32
52
  };
33
53
  type MultipleSelection = {
34
54
  selectionMode: "multiple";
35
- allKeys: (string | number)[];
36
- selectedKeys: SelectionT;
37
- disabledKeys: (string | number)[];
55
+ selectedKeys: SelectedKeysT;
56
+ disabledSelectionKeys: SelectedKeysT;
38
57
  getTheadCheckboxProps: () => CheckboxInputProps;
39
58
  getRowCheckboxProps: (key: string | number) => CheckboxInputProps;
59
+ toggleSelection: (key: string | number) => void;
60
+ };
61
+ type TableSelectionBase = {
62
+ isRowSelected: (rowId: string | number) => boolean;
40
63
  };
41
- type TableSelection = NoneSelection | SingleSelection | MultipleSelection;
42
- export type { MultipleSelection, NoneSelection, SelectionProps, SelectionT, SingleSelection, TableSelection, };
64
+ type TableSelection = TableSelectionBase & (NoneSelection | SingleSelection | MultipleSelection);
65
+ export type { MultipleSelection, NoneSelection, SelectionProps, SingleSelection, TableSelection, SelectedKeysT, };
@@ -0,0 +1,19 @@
1
+ import type { ColumnDefinition, ColumnDefinitions } from "../root/DataTable.types";
2
+ import type { SelectionProps } from "./useTableSelection";
3
+ type UseColumnOptions = {
4
+ stickyColumns?: {
5
+ first?: "1";
6
+ last?: "1";
7
+ };
8
+ selectionMode: SelectionProps["selectionMode"];
9
+ };
10
+ type UseColumnOptionsResult<T> = {
11
+ columns: {
12
+ isSticky: "start" | "end" | false;
13
+ colDef: ColumnDefinition<T>;
14
+ }[];
15
+ stickySelection: boolean;
16
+ };
17
+ declare function useColumnOptions<T>(columnDefinitions: ColumnDefinitions<T>, options: UseColumnOptions): UseColumnOptionsResult<T>;
18
+ export { useColumnOptions };
19
+ export type { UseColumnOptionsResult };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useColumnOptions = useColumnOptions;
4
+ function useColumnOptions(columnDefinitions, options) {
5
+ const { stickyColumns, selectionMode } = options;
6
+ const hasSelection = selectionMode !== "none";
7
+ return {
8
+ stickySelection: selectionMode !== "none" && (stickyColumns === null || stickyColumns === void 0 ? void 0 : stickyColumns.first) === "1",
9
+ columns: columnDefinitions.map((colDef, index) => {
10
+ const isFirstSticky = (stickyColumns === null || stickyColumns === void 0 ? void 0 : stickyColumns.first) === "1" && index === 0 && !hasSelection;
11
+ const isLastSticky = (stickyColumns === null || stickyColumns === void 0 ? void 0 : stickyColumns.last) === "1" && index === columnDefinitions.length - 1;
12
+ return {
13
+ isSticky: isFirstSticky ? "start" : isLastSticky ? "end" : false,
14
+ colDef,
15
+ };
16
+ }),
17
+ };
18
+ }
19
+ //# sourceMappingURL=useColumnOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useColumnOptions.js","sourceRoot":"","sources":["../../../../src/data/table/hooks/useColumnOptions.ts"],"names":[],"mappings":";;AA8CS,4CAAgB;AAxBzB,SAAS,gBAAgB,CACvB,iBAAuC,EACvC,OAAyB;IAEzB,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAEjD,MAAM,YAAY,GAAG,aAAa,KAAK,MAAM,CAAC;IAE9C,OAAO;QACL,eAAe,EAAE,aAAa,KAAK,MAAM,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,MAAK,GAAG;QACzE,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAC/C,MAAM,aAAa,GACjB,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,MAAK,GAAG,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;YAC/D,MAAM,YAAY,GAChB,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,MAAK,GAAG,IAAI,KAAK,KAAK,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;YAExE,OAAO;gBACL,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;gBAChE,MAAM;aACP,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,26 @@
1
+ import React from "react";
2
+ type DataTableExpansionContextT = {
3
+ expandedIds: (string | number)[];
4
+ isExpanded: (id: string | number) => boolean;
5
+ toggleExpansion: (id: string | number) => void;
6
+ toggleAll: () => void;
7
+ isAllExpanded: boolean;
8
+ getDetailsPanelContent?: (row: unknown) => React.ReactNode;
9
+ getDetailsPanelHeight?: (row: unknown) => number | "auto";
10
+ showExpandAll?: boolean;
11
+ enableExpansion: boolean;
12
+ };
13
+ declare const useDataTableExpansion: <S extends boolean = true>(strict?: S | undefined) => S extends true ? DataTableExpansionContextT : DataTableExpansionContextT | undefined;
14
+ type TableExpansionOptions<T> = {
15
+ detailsPanelRowIds?: (string | number)[];
16
+ defaultDetailsPanelRowIds?: (string | number)[];
17
+ onDetailsPanelChange?: (ids: (string | number)[]) => void;
18
+ allRowKeys: (string | number)[];
19
+ getDetailsPanelContent?: (row: T) => React.ReactNode;
20
+ getDetailsPanelHeight?: (row: T) => number | "auto";
21
+ showExpandAll?: boolean;
22
+ };
23
+ declare function DataTableExpansionProvider<T>({ children, detailsPanelRowIds, defaultDetailsPanelRowIds, onDetailsPanelChange, allRowKeys, getDetailsPanelContent, getDetailsPanelHeight, showExpandAll, }: TableExpansionOptions<T> & {
24
+ children: React.ReactNode;
25
+ }): React.JSX.Element;
26
+ export { DataTableExpansionProvider, useDataTableExpansion };