@navikt/ds-react 8.9.1 → 8.10.1

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 (408) 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 +31 -0
  18. package/cjs/data/table/column-header/DataTableColumnHeader.js +107 -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/helpers/table-keyboard.js +3 -0
  32. package/cjs/data/table/helpers/table-keyboard.js.map +1 -1
  33. package/cjs/data/table/hooks/useColumnOptions.d.ts +19 -0
  34. package/cjs/data/table/hooks/useColumnOptions.js +19 -0
  35. package/cjs/data/table/hooks/useColumnOptions.js.map +1 -0
  36. package/cjs/data/table/hooks/useTableExpansion.d.ts +26 -0
  37. package/cjs/data/table/hooks/useTableExpansion.js +68 -0
  38. package/cjs/data/table/hooks/useTableExpansion.js.map +1 -0
  39. package/cjs/data/table/hooks/useTableKeyboardNav.d.ts +2 -1
  40. package/cjs/data/table/hooks/useTableKeyboardNav.js +3 -1
  41. package/cjs/data/table/hooks/useTableKeyboardNav.js.map +1 -1
  42. package/cjs/data/table/hooks/useTableSelection.d.ts +14 -7
  43. package/cjs/data/table/hooks/useTableSelection.js +40 -27
  44. package/cjs/data/table/hooks/useTableSelection.js.map +1 -1
  45. package/cjs/data/table/hooks/useTableSort.d.ts +37 -0
  46. package/cjs/data/table/hooks/useTableSort.js +49 -0
  47. package/cjs/data/table/hooks/useTableSort.js.map +1 -0
  48. package/cjs/data/table/loading-state/DataTableLoadingState.d.ts +6 -2
  49. package/cjs/data/table/loading-state/DataTableLoadingState.js +2 -2
  50. package/cjs/data/table/loading-state/DataTableLoadingState.js.map +1 -1
  51. package/cjs/data/table/root/DataTable.types.d.ts +55 -4
  52. package/cjs/data/table/root/DataTableAuto.d.ts +97 -1
  53. package/cjs/data/table/root/DataTableAuto.js +92 -39
  54. package/cjs/data/table/root/DataTableAuto.js.map +1 -1
  55. package/cjs/data/table/root/DataTableRoot.context.d.ts +22 -1
  56. package/cjs/data/table/root/DataTableRoot.context.js +7 -1
  57. package/cjs/data/table/root/DataTableRoot.context.js.map +1 -1
  58. package/cjs/data/table/root/DataTableRoot.d.ts +0 -6
  59. package/cjs/data/table/root/DataTableRoot.js +5 -4
  60. package/cjs/data/table/root/DataTableRoot.js.map +1 -1
  61. package/cjs/data/table/tbody/DataTableTbody.js +7 -1
  62. package/cjs/data/table/tbody/DataTableTbody.js.map +1 -1
  63. package/cjs/data/table/td/DataTableTd.d.ts +3 -23
  64. package/cjs/data/table/td/DataTableTd.js +3 -7
  65. package/cjs/data/table/td/DataTableTd.js.map +1 -1
  66. package/cjs/data/table/tfoot/DataTableTfoot.js +3 -1
  67. package/cjs/data/table/tfoot/DataTableTfoot.js.map +1 -1
  68. package/cjs/data/table/th/DataTableTh.d.ts +3 -48
  69. package/cjs/data/table/th/DataTableTh.js +3 -57
  70. package/cjs/data/table/th/DataTableTh.js.map +1 -1
  71. package/cjs/data/table/thead/DataTableThead.js +2 -2
  72. package/cjs/data/table/thead/DataTableThead.js.map +1 -1
  73. package/cjs/data/table/tr/DataTableTr.d.ts +8 -0
  74. package/cjs/data/table/tr/DataTableTr.js +131 -9
  75. package/cjs/data/table/tr/DataTableTr.js.map +1 -1
  76. package/cjs/date/datepicker/hooks/useRangeDatepicker.js +1 -1
  77. package/cjs/date/datepicker/hooks/useRangeDatepicker.js.map +1 -1
  78. package/cjs/date/datepicker/parts/DatePicker.DayButton.js +3 -1
  79. package/cjs/date/datepicker/parts/DatePicker.DayButton.js.map +1 -1
  80. package/cjs/date/datepicker/parts/DatePicker.RDP.d.ts +1 -1
  81. package/cjs/date/datepicker/parts/DatePicker.RDP.js +26 -11
  82. package/cjs/date/datepicker/parts/DatePicker.RDP.js.map +1 -1
  83. package/cjs/date/monthpicker/parts/MonthPicker.Button.js +7 -5
  84. package/cjs/date/monthpicker/parts/MonthPicker.Button.js.map +1 -1
  85. package/cjs/date/monthpicker/parts/MonthPicker.Standalone.d.ts +1 -1
  86. package/cjs/dialog/popup/DialogPopupInternal.js +1 -1
  87. package/cjs/dialog/popup/DialogPopupInternal.js.map +1 -1
  88. package/cjs/form/checkbox/CheckboxGroup.context.d.ts +6 -0
  89. package/cjs/form/checkbox/CheckboxGroup.context.js +6 -0
  90. package/cjs/form/checkbox/CheckboxGroup.context.js.map +1 -0
  91. package/cjs/form/checkbox/CheckboxGroup.d.ts +0 -6
  92. package/cjs/form/checkbox/CheckboxGroup.js +8 -8
  93. package/cjs/form/checkbox/CheckboxGroup.js.map +1 -1
  94. package/cjs/form/checkbox/useCheckbox.js +2 -2
  95. package/cjs/form/checkbox/useCheckbox.js.map +1 -1
  96. package/cjs/form/combobox/ComboboxWrapper.js +1 -3
  97. package/cjs/form/combobox/ComboboxWrapper.js.map +1 -1
  98. package/cjs/form/error-summary/ErrorSummary.js +1 -3
  99. package/cjs/form/error-summary/ErrorSummary.js.map +1 -1
  100. package/cjs/form/fieldset/Fieldset.d.ts +0 -4
  101. package/cjs/form/fieldset/Fieldset.js +3 -3
  102. package/cjs/form/fieldset/Fieldset.js.map +1 -1
  103. package/cjs/form/fieldset/useFieldset.d.ts +5 -3
  104. package/cjs/form/fieldset/useFieldset.js +9 -4
  105. package/cjs/form/fieldset/useFieldset.js.map +1 -1
  106. package/cjs/form/radio/RadioGroup.context.d.ts +8 -0
  107. package/cjs/form/radio/RadioGroup.context.js +6 -0
  108. package/cjs/form/radio/RadioGroup.context.js.map +1 -0
  109. package/cjs/form/radio/RadioGroup.d.ts +0 -8
  110. package/cjs/form/radio/RadioGroup.js +10 -10
  111. package/cjs/form/radio/RadioGroup.js.map +1 -1
  112. package/cjs/form/radio/useRadio.js +2 -2
  113. package/cjs/form/radio/useRadio.js.map +1 -1
  114. package/cjs/form/search/Search.js +1 -3
  115. package/cjs/form/search/Search.js.map +1 -1
  116. package/cjs/inline-message/root/InlineMessage.js +2 -5
  117. package/cjs/inline-message/root/InlineMessage.js.map +1 -1
  118. package/cjs/modal/Modal.js +4 -6
  119. package/cjs/modal/Modal.js.map +1 -1
  120. package/cjs/modal/ModalUtils.js +1 -1
  121. package/cjs/modal/ModalUtils.js.map +1 -1
  122. package/cjs/modal/types.d.ts +1 -0
  123. package/cjs/primitives/box/Box.d.ts +1 -1
  124. package/cjs/process/Process.js +1 -5
  125. package/cjs/process/Process.js.map +1 -1
  126. package/cjs/tabs/useTabs.js +3 -7
  127. package/cjs/tabs/useTabs.js.map +1 -1
  128. package/cjs/timeline/Timeline.js +25 -62
  129. package/cjs/timeline/Timeline.js.map +1 -1
  130. package/cjs/timeline/TimelineRow.js +10 -14
  131. package/cjs/timeline/TimelineRow.js.map +1 -1
  132. package/cjs/timeline/hooks/TimelineKeyboardNavProvider.d.ts +16 -0
  133. package/cjs/timeline/hooks/TimelineKeyboardNavProvider.js +179 -0
  134. package/cjs/timeline/hooks/TimelineKeyboardNavProvider.js.map +1 -0
  135. package/cjs/timeline/hooks/usePeriodContext.d.ts +0 -1
  136. package/cjs/timeline/hooks/usePeriodContext.js +0 -1
  137. package/cjs/timeline/hooks/usePeriodContext.js.map +1 -1
  138. package/cjs/timeline/hooks/useRowContext.d.ts +0 -1
  139. package/cjs/timeline/hooks/useRowContext.js +0 -1
  140. package/cjs/timeline/hooks/useRowContext.js.map +1 -1
  141. package/cjs/timeline/hooks/useTimelineContext.d.ts +0 -4
  142. package/cjs/timeline/hooks/useTimelineContext.js +0 -4
  143. package/cjs/timeline/hooks/useTimelineContext.js.map +1 -1
  144. package/cjs/timeline/period/ClickablePeriod.js +6 -20
  145. package/cjs/timeline/period/ClickablePeriod.js.map +1 -1
  146. package/cjs/timeline/period/NonClickablePeriod.js +1 -1
  147. package/cjs/timeline/period/NonClickablePeriod.js.map +1 -1
  148. package/cjs/timeline/pin/PinInternal.js +9 -10
  149. package/cjs/timeline/pin/PinInternal.js.map +1 -1
  150. package/cjs/toggle-group/useToggleGroup.js +1 -1
  151. package/cjs/toggle-group/useToggleGroup.js.map +1 -1
  152. package/cjs/utils/components/HighlightText/HighlightText.js +1 -4
  153. package/cjs/utils/components/HighlightText/HighlightText.js.map +1 -1
  154. package/cjs/utils/components/dismissablelayer/DismissableLayer.js +1 -1
  155. package/cjs/utils/components/dismissablelayer/DismissableLayer.js.map +1 -1
  156. package/cjs/utils/helpers/create-strict-context.js +1 -1
  157. package/cjs/utils/helpers/create-strict-context.js.map +1 -1
  158. package/cjs/utils/hooks/useEventCallback.js +1 -1
  159. package/cjs/utils/hooks/useEventCallback.js.map +1 -1
  160. package/cjs/utils/hooks/useMedia.js +1 -1
  161. package/cjs/utils/hooks/useMedia.js.map +1 -1
  162. package/esm/alert/base-alert/content/BaseAlertContent.js +4 -1
  163. package/esm/alert/base-alert/content/BaseAlertContent.js.map +1 -1
  164. package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.d.ts +3 -1
  165. package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js +38 -19
  166. package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js.map +1 -1
  167. package/esm/data/drag-and-drop/item/DragAndDropItem.d.ts +3 -2
  168. package/esm/data/drag-and-drop/item/DragAndDropItem.js +6 -4
  169. package/esm/data/drag-and-drop/item/DragAndDropItem.js.map +1 -1
  170. package/esm/data/drag-and-drop/root/DragAndDrop.context.d.ts +2 -2
  171. package/esm/data/drag-and-drop/root/DragAndDropRoot.d.ts +7 -32
  172. package/esm/data/drag-and-drop/root/DragAndDropRoot.js +74 -47
  173. package/esm/data/drag-and-drop/root/DragAndDropRoot.js.map +1 -1
  174. package/esm/data/drag-and-drop/types.d.ts +4 -0
  175. package/esm/data/table/base-cell/DataTableBaseCell.d.ts +46 -0
  176. package/esm/data/table/base-cell/DataTableBaseCell.js +27 -0
  177. package/esm/data/table/base-cell/DataTableBaseCell.js.map +1 -0
  178. package/esm/data/table/column-header/DataTableColumnHeader.d.ts +31 -0
  179. package/esm/data/table/column-header/DataTableColumnHeader.js +71 -0
  180. package/esm/data/table/column-header/DataTableColumnHeader.js.map +1 -0
  181. package/esm/data/table/column-header/useTableColumnResize.js.map +1 -0
  182. package/esm/data/table/empty-state/DataTableEmptyState.d.ts +6 -2
  183. package/esm/data/table/empty-state/DataTableEmptyState.js +2 -2
  184. package/esm/data/table/empty-state/DataTableEmptyState.js.map +1 -1
  185. package/esm/data/table/helpers/selection/getMultipleSelectProps.d.ts +7 -7
  186. package/esm/data/table/helpers/selection/getMultipleSelectProps.js +29 -28
  187. package/esm/data/table/helpers/selection/getMultipleSelectProps.js.map +1 -1
  188. package/esm/data/table/helpers/selection/getSingleSelectProps.d.ts +5 -3
  189. package/esm/data/table/helpers/selection/getSingleSelectProps.js +8 -12
  190. package/esm/data/table/helpers/selection/getSingleSelectProps.js.map +1 -1
  191. package/esm/data/table/helpers/selection/selection.types.d.ts +39 -16
  192. package/esm/data/table/helpers/table-keyboard.js +3 -0
  193. package/esm/data/table/helpers/table-keyboard.js.map +1 -1
  194. package/esm/data/table/hooks/useColumnOptions.d.ts +19 -0
  195. package/esm/data/table/hooks/useColumnOptions.js +17 -0
  196. package/esm/data/table/hooks/useColumnOptions.js.map +1 -0
  197. package/esm/data/table/hooks/useTableExpansion.d.ts +26 -0
  198. package/esm/data/table/hooks/useTableExpansion.js +31 -0
  199. package/esm/data/table/hooks/useTableExpansion.js.map +1 -0
  200. package/esm/data/table/hooks/useTableKeyboardNav.d.ts +2 -1
  201. package/esm/data/table/hooks/useTableKeyboardNav.js +4 -2
  202. package/esm/data/table/hooks/useTableKeyboardNav.js.map +1 -1
  203. package/esm/data/table/hooks/useTableSelection.d.ts +14 -7
  204. package/esm/data/table/hooks/useTableSelection.js +40 -29
  205. package/esm/data/table/hooks/useTableSelection.js.map +1 -1
  206. package/esm/data/table/hooks/useTableSort.d.ts +37 -0
  207. package/esm/data/table/hooks/useTableSort.js +47 -0
  208. package/esm/data/table/hooks/useTableSort.js.map +1 -0
  209. package/esm/data/table/loading-state/DataTableLoadingState.d.ts +6 -2
  210. package/esm/data/table/loading-state/DataTableLoadingState.js +2 -2
  211. package/esm/data/table/loading-state/DataTableLoadingState.js.map +1 -1
  212. package/esm/data/table/root/DataTable.types.d.ts +55 -4
  213. package/esm/data/table/root/DataTableAuto.d.ts +97 -1
  214. package/esm/data/table/root/DataTableAuto.js +94 -41
  215. package/esm/data/table/root/DataTableAuto.js.map +1 -1
  216. package/esm/data/table/root/DataTableRoot.context.d.ts +22 -1
  217. package/esm/data/table/root/DataTableRoot.context.js +5 -1
  218. package/esm/data/table/root/DataTableRoot.context.js.map +1 -1
  219. package/esm/data/table/root/DataTableRoot.d.ts +0 -6
  220. package/esm/data/table/root/DataTableRoot.js +6 -5
  221. package/esm/data/table/root/DataTableRoot.js.map +1 -1
  222. package/esm/data/table/tbody/DataTableTbody.js +8 -2
  223. package/esm/data/table/tbody/DataTableTbody.js.map +1 -1
  224. package/esm/data/table/td/DataTableTd.d.ts +3 -23
  225. package/esm/data/table/td/DataTableTd.js +3 -7
  226. package/esm/data/table/td/DataTableTd.js.map +1 -1
  227. package/esm/data/table/tfoot/DataTableTfoot.js +3 -1
  228. package/esm/data/table/tfoot/DataTableTfoot.js.map +1 -1
  229. package/esm/data/table/th/DataTableTh.d.ts +3 -48
  230. package/esm/data/table/th/DataTableTh.js +4 -58
  231. package/esm/data/table/th/DataTableTh.js.map +1 -1
  232. package/esm/data/table/thead/DataTableThead.js +2 -2
  233. package/esm/data/table/thead/DataTableThead.js.map +1 -1
  234. package/esm/data/table/tr/DataTableTr.d.ts +8 -0
  235. package/esm/data/table/tr/DataTableTr.js +134 -12
  236. package/esm/data/table/tr/DataTableTr.js.map +1 -1
  237. package/esm/date/datepicker/hooks/useRangeDatepicker.js +1 -1
  238. package/esm/date/datepicker/hooks/useRangeDatepicker.js.map +1 -1
  239. package/esm/date/datepicker/parts/DatePicker.DayButton.js +3 -1
  240. package/esm/date/datepicker/parts/DatePicker.DayButton.js.map +1 -1
  241. package/esm/date/datepicker/parts/DatePicker.RDP.d.ts +1 -1
  242. package/esm/date/datepicker/parts/DatePicker.RDP.js +27 -12
  243. package/esm/date/datepicker/parts/DatePicker.RDP.js.map +1 -1
  244. package/esm/date/monthpicker/parts/MonthPicker.Button.js +7 -5
  245. package/esm/date/monthpicker/parts/MonthPicker.Button.js.map +1 -1
  246. package/esm/date/monthpicker/parts/MonthPicker.Standalone.d.ts +1 -1
  247. package/esm/dialog/popup/DialogPopupInternal.js +1 -1
  248. package/esm/dialog/popup/DialogPopupInternal.js.map +1 -1
  249. package/esm/form/checkbox/CheckboxGroup.context.d.ts +6 -0
  250. package/esm/form/checkbox/CheckboxGroup.context.js +3 -0
  251. package/esm/form/checkbox/CheckboxGroup.context.js.map +1 -0
  252. package/esm/form/checkbox/CheckboxGroup.d.ts +0 -6
  253. package/esm/form/checkbox/CheckboxGroup.js +8 -8
  254. package/esm/form/checkbox/CheckboxGroup.js.map +1 -1
  255. package/esm/form/checkbox/useCheckbox.js +1 -1
  256. package/esm/form/checkbox/useCheckbox.js.map +1 -1
  257. package/esm/form/combobox/ComboboxWrapper.js +1 -3
  258. package/esm/form/combobox/ComboboxWrapper.js.map +1 -1
  259. package/esm/form/error-summary/ErrorSummary.js +1 -3
  260. package/esm/form/error-summary/ErrorSummary.js.map +1 -1
  261. package/esm/form/fieldset/Fieldset.d.ts +0 -4
  262. package/esm/form/fieldset/Fieldset.js +3 -3
  263. package/esm/form/fieldset/Fieldset.js.map +1 -1
  264. package/esm/form/fieldset/useFieldset.d.ts +5 -3
  265. package/esm/form/fieldset/useFieldset.js +10 -5
  266. package/esm/form/fieldset/useFieldset.js.map +1 -1
  267. package/esm/form/radio/RadioGroup.context.d.ts +8 -0
  268. package/esm/form/radio/RadioGroup.context.js +3 -0
  269. package/esm/form/radio/RadioGroup.context.js.map +1 -0
  270. package/esm/form/radio/RadioGroup.d.ts +0 -8
  271. package/esm/form/radio/RadioGroup.js +9 -9
  272. package/esm/form/radio/RadioGroup.js.map +1 -1
  273. package/esm/form/radio/useRadio.js +1 -1
  274. package/esm/form/radio/useRadio.js.map +1 -1
  275. package/esm/form/search/Search.js +1 -3
  276. package/esm/form/search/Search.js.map +1 -1
  277. package/esm/inline-message/root/InlineMessage.js +2 -5
  278. package/esm/inline-message/root/InlineMessage.js.map +1 -1
  279. package/esm/modal/Modal.js +4 -6
  280. package/esm/modal/Modal.js.map +1 -1
  281. package/esm/modal/ModalUtils.js +1 -1
  282. package/esm/modal/ModalUtils.js.map +1 -1
  283. package/esm/modal/types.d.ts +1 -0
  284. package/esm/primitives/box/Box.d.ts +1 -1
  285. package/esm/process/Process.js +1 -5
  286. package/esm/process/Process.js.map +1 -1
  287. package/esm/tabs/useTabs.js +3 -7
  288. package/esm/tabs/useTabs.js.map +1 -1
  289. package/esm/timeline/Timeline.js +26 -63
  290. package/esm/timeline/Timeline.js.map +1 -1
  291. package/esm/timeline/TimelineRow.js +10 -14
  292. package/esm/timeline/TimelineRow.js.map +1 -1
  293. package/esm/timeline/hooks/TimelineKeyboardNavProvider.d.ts +16 -0
  294. package/esm/timeline/hooks/TimelineKeyboardNavProvider.js +141 -0
  295. package/esm/timeline/hooks/TimelineKeyboardNavProvider.js.map +1 -0
  296. package/esm/timeline/hooks/usePeriodContext.d.ts +0 -1
  297. package/esm/timeline/hooks/usePeriodContext.js +0 -1
  298. package/esm/timeline/hooks/usePeriodContext.js.map +1 -1
  299. package/esm/timeline/hooks/useRowContext.d.ts +0 -1
  300. package/esm/timeline/hooks/useRowContext.js +0 -1
  301. package/esm/timeline/hooks/useRowContext.js.map +1 -1
  302. package/esm/timeline/hooks/useTimelineContext.d.ts +0 -4
  303. package/esm/timeline/hooks/useTimelineContext.js +0 -4
  304. package/esm/timeline/hooks/useTimelineContext.js.map +1 -1
  305. package/esm/timeline/period/ClickablePeriod.js +7 -21
  306. package/esm/timeline/period/ClickablePeriod.js.map +1 -1
  307. package/esm/timeline/period/NonClickablePeriod.js +1 -1
  308. package/esm/timeline/period/NonClickablePeriod.js.map +1 -1
  309. package/esm/timeline/pin/PinInternal.js +10 -11
  310. package/esm/timeline/pin/PinInternal.js.map +1 -1
  311. package/esm/toggle-group/useToggleGroup.js +1 -1
  312. package/esm/toggle-group/useToggleGroup.js.map +1 -1
  313. package/esm/utils/components/HighlightText/HighlightText.js +1 -4
  314. package/esm/utils/components/HighlightText/HighlightText.js.map +1 -1
  315. package/esm/utils/components/dismissablelayer/DismissableLayer.js +1 -1
  316. package/esm/utils/components/dismissablelayer/DismissableLayer.js.map +1 -1
  317. package/esm/utils/helpers/create-strict-context.js +1 -1
  318. package/esm/utils/helpers/create-strict-context.js.map +1 -1
  319. package/esm/utils/hooks/useEventCallback.js +1 -1
  320. package/esm/utils/hooks/useEventCallback.js.map +1 -1
  321. package/esm/utils/hooks/useMedia.js +1 -1
  322. package/esm/utils/hooks/useMedia.js.map +1 -1
  323. package/package.json +9 -7
  324. package/src/alert/base-alert/content/BaseAlertContent.tsx +7 -2
  325. package/src/data/drag-and-drop/drag-handler/DragAndDropDragHandler.tsx +69 -29
  326. package/src/data/drag-and-drop/item/DragAndDropItem.tsx +16 -10
  327. package/src/data/drag-and-drop/root/DragAndDrop.context.tsx +2 -2
  328. package/src/data/drag-and-drop/root/DragAndDropRoot.tsx +291 -246
  329. package/src/data/drag-and-drop/types.ts +5 -0
  330. package/src/data/table/base-cell/DataTableBaseCell.tsx +92 -0
  331. package/src/data/table/column-header/DataTableColumnHeader.tsx +180 -0
  332. package/src/data/table/empty-state/DataTableEmptyState.tsx +5 -3
  333. package/src/data/table/helpers/selection/getMultipleSelectProps.ts +47 -43
  334. package/src/data/table/helpers/selection/getSingleSelectProps.ts +13 -14
  335. package/src/data/table/helpers/selection/selection.types.ts +41 -16
  336. package/src/data/table/helpers/table-keyboard.ts +4 -0
  337. package/src/data/table/hooks/__tests__/useTableSelection.test.ts +93 -56
  338. package/src/data/table/hooks/useColumnOptions.ts +48 -0
  339. package/src/data/table/hooks/useTableExpansion.tsx +100 -0
  340. package/src/data/table/hooks/useTableKeyboardNav.ts +7 -5
  341. package/src/data/table/hooks/useTableSelection.ts +77 -46
  342. package/src/data/table/hooks/useTableSort.ts +103 -0
  343. package/src/data/table/loading-state/DataTableLoadingState.tsx +5 -3
  344. package/src/data/table/root/DataTable.types.ts +64 -5
  345. package/src/data/table/root/DataTableAuto.tsx +382 -104
  346. package/src/data/table/root/DataTableRoot.context.ts +30 -1
  347. package/src/data/table/root/DataTableRoot.tsx +14 -11
  348. package/src/data/table/tbody/DataTableTbody.tsx +17 -6
  349. package/src/data/table/td/DataTableTd.tsx +11 -47
  350. package/src/data/table/tfoot/DataTableTfoot.tsx +10 -7
  351. package/src/data/table/th/DataTableTh.tsx +11 -183
  352. package/src/data/table/thead/DataTableThead.tsx +3 -3
  353. package/src/data/table/tr/DataTableTr.tsx +300 -11
  354. package/src/date/datepicker/hooks/useRangeDatepicker.tsx +1 -1
  355. package/src/date/datepicker/parts/DatePicker.DayButton.tsx +2 -1
  356. package/src/date/datepicker/parts/DatePicker.RDP.tsx +34 -15
  357. package/src/date/monthpicker/parts/MonthPicker.Button.tsx +11 -9
  358. package/src/date/monthpicker/parts/MonthPicker.Standalone.tsx +1 -1
  359. package/src/dialog/popup/DialogPopupInternal.tsx +1 -1
  360. package/src/form/checkbox/CheckboxGroup.context.ts +10 -0
  361. package/src/form/checkbox/CheckboxGroup.tsx +18 -28
  362. package/src/form/checkbox/useCheckbox.ts +1 -1
  363. package/src/form/fieldset/Fieldset.tsx +4 -8
  364. package/src/form/fieldset/useFieldset.ts +13 -6
  365. package/src/form/radio/RadioGroup.context.ts +13 -0
  366. package/src/form/radio/RadioGroup.tsx +22 -31
  367. package/src/form/radio/useRadio.ts +1 -1
  368. package/src/inline-message/root/InlineMessage.tsx +3 -13
  369. package/src/modal/Modal.tsx +12 -6
  370. package/src/modal/ModalUtils.ts +1 -1
  371. package/src/modal/types.ts +1 -0
  372. package/src/primitives/box/Box.tsx +1 -1
  373. package/src/tabs/useTabs.ts +3 -7
  374. package/src/timeline/Timeline.tsx +62 -91
  375. package/src/timeline/TimelineRow.tsx +19 -17
  376. package/src/timeline/hooks/TimelineKeyboardNavProvider.tsx +237 -0
  377. package/src/timeline/hooks/usePeriodContext.tsx +0 -2
  378. package/src/timeline/hooks/useRowContext.tsx +0 -2
  379. package/src/timeline/hooks/useTimelineContext.tsx +0 -8
  380. package/src/timeline/period/ClickablePeriod.tsx +8 -19
  381. package/src/timeline/period/NonClickablePeriod.tsx +2 -0
  382. package/src/timeline/pin/PinInternal.tsx +10 -13
  383. package/src/toggle-group/useToggleGroup.ts +1 -1
  384. package/src/utils/components/dismissablelayer/DismissableLayer.tsx +1 -1
  385. package/src/utils/helpers/create-strict-context.tsx +1 -1
  386. package/src/utils/hooks/useEventCallback.ts +1 -1
  387. package/src/utils/hooks/useMedia.ts +1 -1
  388. package/cjs/data/table/th/DataTableThActions.d.ts +0 -5
  389. package/cjs/data/table/th/DataTableThActions.js +0 -23
  390. package/cjs/data/table/th/DataTableThActions.js.map +0 -1
  391. package/cjs/data/table/th/useTableColumnResize.js.map +0 -1
  392. package/cjs/data/table/thead/DataTableThead.context.d.ts +0 -4
  393. package/cjs/data/table/thead/DataTableThead.context.js +0 -45
  394. package/cjs/data/table/thead/DataTableThead.context.js.map +0 -1
  395. package/esm/data/table/th/DataTableThActions.d.ts +0 -5
  396. package/esm/data/table/th/DataTableThActions.js +0 -18
  397. package/esm/data/table/th/DataTableThActions.js.map +0 -1
  398. package/esm/data/table/th/useTableColumnResize.js.map +0 -1
  399. package/esm/data/table/thead/DataTableThead.context.d.ts +0 -4
  400. package/esm/data/table/thead/DataTableThead.context.js +0 -8
  401. package/esm/data/table/thead/DataTableThead.context.js.map +0 -1
  402. package/src/data/table/th/DataTableThActions.tsx +0 -32
  403. package/src/data/table/thead/DataTableThead.context.ts +0 -10
  404. /package/cjs/data/table/{th → column-header}/useTableColumnResize.d.ts +0 -0
  405. /package/cjs/data/table/{th → column-header}/useTableColumnResize.js +0 -0
  406. /package/esm/data/table/{th → column-header}/useTableColumnResize.d.ts +0 -0
  407. /package/esm/data/table/{th → column-header}/useTableColumnResize.js +0 -0
  408. /package/src/data/table/{th → column-header}/useTableColumnResize.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Process.js","sourceRoot":"","sources":["../../src/process/Process.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Process.js","sourceRoot":"","sources":["../../src/process/Process.tsx"],"names":[],"mappings":"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"}
@@ -8,17 +8,13 @@ export function useTabs({ onChange, value, defaultValue = "", id, }) {
8
8
  value,
9
9
  onChange,
10
10
  });
11
- /**
12
- * Sync focused `value` with controlled `selectedValue`
13
- */
11
+ /* Sync focused `value` with controlled `selectedValue` */
14
12
  useEffect(() => {
15
13
  if (value != null) {
16
- setFocusedValue(value);
14
+ setFocusedValue(value); // eslint-disable-line react-hooks/set-state-in-effect
17
15
  }
18
16
  }, [value]);
19
- /**
20
- * Scope ids for better tracking
21
- */
17
+ /* Scope ids for better tracking */
22
18
  const uuid = useId();
23
19
  return {
24
20
  id: `tabs-${id !== null && id !== void 0 ? id : uuid}`,
@@ -1 +1 @@
1
- {"version":3,"file":"useTabs.js","sourceRoot":"","sources":["../../src/tabs/useTabs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGtD,MAAM,UAAU,OAAO,CAAC,EACtB,QAAQ,EACR,KAAK,EACL,YAAY,GAAG,EAAE,EACjB,EAAE,GAC4D;IAC9D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IAE/D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,oBAAoB,CAAC;QAC7D,YAAY;QACZ,KAAK;QACL,QAAQ;KACT,CAAC,CAAC;IAEH;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ;;OAEG;IACH,MAAM,IAAI,GAAG,KAAK,EAAE,CAAC;IAErB,OAAO;QACL,EAAE,EAAE,QAAQ,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,IAAI,EAAE;QACxB,aAAa;QACb,gBAAgB;QAChB,YAAY;QACZ,eAAe;QACf,SAAS;QACT,cAAc;KACf,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,EAAU,EAAE,KAAa;IAC1C,OAAO,GAAG,EAAE,SAAS,KAAK,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,cAAc,CAAC,EAAU,EAAE,KAAa;IAC/C,OAAO,GAAG,EAAE,cAAc,KAAK,EAAE,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"useTabs.js","sourceRoot":"","sources":["../../src/tabs/useTabs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGtD,MAAM,UAAU,OAAO,CAAC,EACtB,QAAQ,EACR,KAAK,EACL,YAAY,GAAG,EAAE,EACjB,EAAE,GAC4D;IAC9D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IAE/D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,oBAAoB,CAAC;QAC7D,YAAY;QACZ,KAAK;QACL,QAAQ;KACT,CAAC,CAAC;IAEH,0DAA0D;IAC1D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,sDAAsD;QAChF,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,mCAAmC;IACnC,MAAM,IAAI,GAAG,KAAK,EAAE,CAAC;IAErB,OAAO;QACL,EAAE,EAAE,QAAQ,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,IAAI,EAAE;QACxB,aAAa;QACb,gBAAgB;QAChB,YAAY;QACZ,eAAe;QACf,SAAS;QACT,cAAc;KACf,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,EAAU,EAAE,KAAa;IAC1C,OAAO,GAAG,EAAE,SAAS,KAAK,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,cAAc,CAAC,EAAU,EAAE,KAAa;IAC/C,OAAO,GAAG,EAAE,cAAc,KAAK,EAAE,CAAC;AACpC,CAAC"}
@@ -10,9 +10,10 @@ var __rest = (this && this.__rest) || function (s, e) {
10
10
  return t;
11
11
  };
12
12
  import { endOfDay, isSameDay, startOfDay } from "date-fns";
13
- import React, { forwardRef, useMemo, useRef, useState } from "react";
13
+ import React, { forwardRef, useMemo, useState } from "react";
14
14
  import { AxisLabels } from "./AxisLabels.js";
15
15
  import TimelineRow from "./TimelineRow.js";
16
+ import { TimelineKeyboardNavProvider } from "./hooks/TimelineKeyboardNavProvider.js";
16
17
  import { RowContext } from "./hooks/useRowContext.js";
17
18
  import { TimelineContext } from "./hooks/useTimelineContext.js";
18
19
  import { useEarliestDate, useLatestDate, useTimelineRows, } from "./hooks/useTimelineRows.js";
@@ -39,30 +40,27 @@ import Zoom from "./zoom/index.js";
39
40
  * </Timeline>
40
41
  * ```
41
42
  */
42
- export const Timeline = forwardRef((_a, ref) => {
43
+ export const Timeline = forwardRef((_a, forwardedRef) => {
43
44
  var { children, startDate, endDate, direction = "left", axisLabelTemplates } = _a, rest = __rest(_a, ["children", "startDate", "endDate", "direction", "axisLabelTemplates"]);
44
- const isMultipleRows = Array.isArray(children);
45
- const firstFocusabled = useRef([]);
46
- if (!isMultipleRows) {
47
- children = [children];
48
- }
49
- const rowChildren = React.Children.toArray(children).filter((c) => { var _a; return ((_a = c === null || c === void 0 ? void 0 : c.type) === null || _a === void 0 ? void 0 : _a.componentType) === "row"; });
50
- const pins = React.Children.toArray(children)
45
+ const childArray = useMemo(() => React.Children.toArray(Array.isArray(children) ? children : [children]), [children]);
46
+ const rowChildren = useMemo(() => {
47
+ return childArray.filter((c) => { var _a; return ((_a = c === null || c === void 0 ? void 0 : c.type) === null || _a === void 0 ? void 0 : _a.componentType) === "row"; });
48
+ }, [childArray]);
49
+ const pins = useMemo(() => childArray
51
50
  .filter((c) => { var _a; return ((_a = c === null || c === void 0 ? void 0 : c.type) === null || _a === void 0 ? void 0 : _a.componentType) === "pin"; })
52
- .map((x) => () => x);
53
- const zoomComponent = React.Children.toArray(children).find((c) => { var _a; return ((_a = c === null || c === void 0 ? void 0 : c.type) === null || _a === void 0 ? void 0 : _a.componentType) === "zoom"; });
51
+ .map((x) => () => x), [childArray]);
52
+ const zoomComponent = useMemo(() => childArray.find((c) => { var _a; return ((_a = c === null || c === void 0 ? void 0 : c.type) === null || _a === void 0 ? void 0 : _a.componentType) === "zoom"; }), [childArray]);
54
53
  const rowsRaw = useMemo(() => {
55
54
  return parseRows(rowChildren);
56
55
  }, [rowChildren]);
57
- const rows = rowsRaw.map((r) => {
56
+ const rows = useMemo(() => rowsRaw.map((r) => {
58
57
  if (r === null || r === void 0 ? void 0 : r.periods) {
59
58
  return r.periods;
60
59
  }
61
60
  return [];
62
- });
61
+ }), [rowsRaw]);
63
62
  const initialStartDate = startOfDay(useEarliestDate({ startDate, rows }));
64
63
  const [start, setStart] = useState(initialStartDate);
65
- const [activeRow, setActiveRow] = useState(null);
66
64
  const [endInclusive, setEndInclusive] = useState(endOfDay(useLatestDate({ endDate, rows })));
67
65
  const initialEndDate = endOfDay(useLatestDate({ endDate, rows }));
68
66
  const processedRows = useTimelineRows(rowsRaw, startDate !== null && startDate !== void 0 ? startDate : start, endDate !== null && endDate !== void 0 ? endDate : endInclusive, direction);
@@ -88,62 +86,27 @@ export const Timeline = forwardRef((_a, ref) => {
88
86
  setEndInclusive(zoomStart);
89
87
  }
90
88
  };
91
- const handleActiveRowChange = (key) => {
92
- var _a, _b, _c, _d;
93
- if (activeRow !== null && key === "ArrowDown") {
94
- for (let i = activeRow + 1; i < processedRows.length; i++) {
95
- const row = processedRows[i];
96
- if (row.periods.find((p) => !!p.children || !!p.onSelectPeriod)) {
97
- setActiveRow(i);
98
- (_b = (_a = firstFocusabled.current.find((x) => x.id === i)) === null || _a === void 0 ? void 0 : _a.ref) === null || _b === void 0 ? void 0 : _b.focus();
99
- break;
100
- }
101
- }
102
- return;
103
- }
104
- if (activeRow !== null && key === "ArrowUp") {
105
- for (let i = activeRow - 1; i >= 0; i--) {
106
- const row = processedRows[i];
107
- if (row.periods.find((p) => !!p.children || !!p.onSelectPeriod)) {
108
- setActiveRow(i);
109
- (_d = (_c = firstFocusabled.current.find((x) => x.id === i)) === null || _c === void 0 ? void 0 : _c.ref) === null || _d === void 0 ? void 0 : _d.focus();
110
- break;
111
- }
112
- }
113
- return;
114
- }
115
- };
116
- const addFocusable = (btnRef, id) => {
117
- let items = firstFocusabled.current;
118
- items = items.filter((x) => x.id !== id);
119
- items.push({ ref: btnRef, id });
120
- firstFocusabled.current = items;
121
- };
122
89
  return (React.createElement(TimelineContext.Provider, { value: {
123
90
  startDate: startDate !== null && startDate !== void 0 ? startDate : start,
124
91
  endDate: endDate !== null && endDate !== void 0 ? endDate : endInclusive,
125
92
  direction,
126
93
  setStart: (d) => handleZoomChange(d),
127
94
  setEndInclusive: (d) => setEndInclusive(d),
128
- activeRow,
129
- setActiveRow: (key) => handleActiveRowChange(key),
130
- initiate: (i) => setActiveRow(i),
131
- addFocusable,
132
95
  } },
133
- React.createElement("div", Object.assign({}, rest, { ref: ref }),
134
- React.createElement("div", { className: "aksel-timeline" },
135
- React.createElement(AxisLabels, { templates: axisLabelTemplates }),
136
- pins.map((PinChild, i) => (React.createElement(PinChild, { key: `pin-${i}` }))),
137
- processedRows.map((row, i) => {
138
- return (React.createElement(RowContext.Provider, { key: `row-${row.id}`, value: {
139
- periods: row.periods,
140
- id: row.id,
141
- active: activeRow === i,
142
- index: i,
143
- } },
144
- React.createElement(TimelineRow, Object.assign({}, row === null || row === void 0 ? void 0 : row.restProps, { ref: row === null || row === void 0 ? void 0 : row.ref, label: row.label, icon: row.icon, headingTag: row.headingTag }))));
145
- })),
146
- zoomComponent)));
96
+ React.createElement(TimelineKeyboardNavProvider, null,
97
+ React.createElement("div", Object.assign({}, rest, { ref: forwardedRef }),
98
+ React.createElement("div", { className: "aksel-timeline" },
99
+ React.createElement(AxisLabels, { templates: axisLabelTemplates }),
100
+ pins.map((PinChild, i) => (React.createElement(PinChild, { key: `pin-${i}` }))),
101
+ processedRows.map((row, i) => {
102
+ return (React.createElement(RowContext.Provider, { key: `row-${row.id}`, value: {
103
+ periods: row.periods,
104
+ id: row.id,
105
+ index: i,
106
+ } },
107
+ React.createElement(TimelineRow, Object.assign({}, row === null || row === void 0 ? void 0 : row.restProps, { ref: row === null || row === void 0 ? void 0 : row.ref, label: row.label, icon: row.icon, headingTag: row.headingTag }))));
108
+ })),
109
+ zoomComponent))));
147
110
  });
148
111
  Timeline.Row = TimelineRow;
149
112
  Timeline.Period = Period;
@@ -1 +1 @@
1
- {"version":3,"file":"Timeline.js","sourceRoot":"","sources":["../../src/timeline/Timeline.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Timeline.js","sourceRoot":"","sources":["../../src/timeline/Timeline.tsx"],"names":[],"mappings":"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"}
@@ -9,50 +9,46 @@ var __rest = (this && this.__rest) || function (s, e) {
9
9
  }
10
10
  return t;
11
11
  };
12
+ /* eslint-disable jsx-a11y/no-static-element-interactions */
12
13
  import { format } from "date-fns";
13
14
  import React, { forwardRef } from "react";
14
15
  import { BodyShort } from "../typography/BodyShort.js";
15
16
  import { cl } from "../utils/helpers/index.js";
16
17
  import { useI18n } from "../utils/i18n/i18n.hooks.js";
18
+ import { useTimelineKeyboardActiveRow, useTimelineKeyboardContext, } from "./hooks/TimelineKeyboardNavProvider.js";
17
19
  import { PeriodContext } from "./hooks/usePeriodContext.js";
18
20
  import { useRowContext } from "./hooks/useRowContext.js";
19
- import { useTimelineContext } from "./hooks/useTimelineContext.js";
20
21
  import Period from "./period/index.js";
21
22
  export const TimelineRow = forwardRef((_a, ref) => {
22
23
  var { label, className, headingTag = "h3", icon } = _a, rest = __rest(_a, ["label", "className", "headingTag", "icon"]);
23
- const { periods, active } = useRowContext();
24
- const { setActiveRow } = useTimelineContext();
24
+ const { periods } = useRowContext();
25
+ const { updateActiveRow, handleRowKeyDown } = useTimelineKeyboardContext();
26
+ const { activeRow } = useTimelineKeyboardActiveRow();
25
27
  const translate = useI18n("Timeline");
28
+ const [elementRefState, setElementRefState] = React.useState(null);
26
29
  const latest = periods.reduce((a, b) => {
27
30
  return a.end > b.end ? a : b;
28
31
  }, {});
29
32
  const earliest = periods.reduce((a, b) => {
30
33
  return a.end < b.end ? a : b;
31
34
  }, {});
32
- const firstFocusable = periods.find((p) => !!p.children || !!p.onSelectPeriod);
33
35
  return (React.createElement(React.Fragment, null,
34
36
  label &&
35
37
  (typeof label === "string" ? (React.createElement(BodyShort, { as: headingTag, className: "aksel-timeline__row-label", size: "small" },
36
38
  icon,
37
39
  label)) : (React.createElement("div", { className: "aksel-timeline__row-label" }, label))),
38
40
  React.createElement("div", { className: cl("aksel-timeline__row", {
39
- "aksel-timeline__row--active": active,
40
- }) },
41
- React.createElement("ol", Object.assign({}, rest, { tabIndex: -1, ref: ref, "aria-label": periods.length === 0
41
+ "aksel-timeline__row--active": activeRow === elementRefState,
42
+ }), ref: setElementRefState, tabIndex: -1, onFocusCapture: () => updateActiveRow(elementRefState), onKeyDown: handleRowKeyDown, "data-timeline-row": true },
43
+ React.createElement("ol", Object.assign({}, rest, { ref: ref, "aria-label": periods.length === 0
42
44
  ? translate("Row.noPeriods")
43
45
  : translate("Row.period", {
44
46
  start: format(earliest.start, translate("dateFormat")),
45
47
  end: format(latest.end, translate("dateFormat")),
46
- }), className: cl("aksel-timeline__row-periods", className), onKeyDown: (e) => {
47
- if (e.key === "ArrowDown" || e.key === "ArrowUp") {
48
- e.preventDefault();
49
- setActiveRow(e.key);
50
- }
51
- } }), periods === null || periods === void 0 ? void 0 : periods.map((period) => {
48
+ }), className: cl("aksel-timeline__row-periods", className) }), periods === null || periods === void 0 ? void 0 : periods.map((period) => {
52
49
  return (React.createElement("li", { key: `period-${period.id}` },
53
50
  React.createElement(PeriodContext.Provider, { value: {
54
51
  periodId: period.id,
55
- firstFocus: (firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.id) === period.id,
56
52
  restProps: period === null || period === void 0 ? void 0 : period.restProps,
57
53
  } },
58
54
  React.createElement(Period, { start: period.start, end: period.endInclusive, icon: period.icon, ref: period === null || period === void 0 ? void 0 : period.ref }))));
@@ -1 +1 @@
1
- {"version":3,"file":"TimelineRow.js","sourceRoot":"","sources":["../../src/timeline/TimelineRow.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TimelineRow.js","sourceRoot":"","sources":["../../src/timeline/TimelineRow.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ type TimelineKeyboardNavStableContextType = {
3
+ updateActiveRow: (element: HTMLElement | null) => void;
4
+ handleRowKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;
5
+ handlePinKeyDown: (event: React.KeyboardEvent<Element>) => void;
6
+ };
7
+ type TimelineKeyboardNavActiveRowContextType = {
8
+ activeRow: HTMLElement | null;
9
+ };
10
+ declare const useTimelineKeyboardContext: <S extends boolean = true>(strict?: S | undefined) => S extends true ? TimelineKeyboardNavStableContextType : TimelineKeyboardNavStableContextType | undefined;
11
+ declare const useTimelineKeyboardActiveRow: <S extends boolean = true>(strict?: S | undefined) => S extends true ? TimelineKeyboardNavActiveRowContextType : TimelineKeyboardNavActiveRowContextType | undefined;
12
+ type TimelineKeyboardNavProviderProps = {
13
+ children: React.ReactElement;
14
+ };
15
+ declare function TimelineKeyboardNavProvider({ children, }: TimelineKeyboardNavProviderProps): React.JSX.Element;
16
+ export { TimelineKeyboardNavProvider, useTimelineKeyboardContext, useTimelineKeyboardActiveRow, };
@@ -0,0 +1,141 @@
1
+ import React, { useCallback, useRef } from "react";
2
+ import { Slot } from "../../utils/components/slot/Slot.js";
3
+ import { createStrictContext } from "../../utils/helpers/index.js";
4
+ const { Provider: TimelineKeyboardNavStableContextProvider, useContext: useTimelineKeyboardContext, } = createStrictContext({
5
+ name: "TimelineKeyboardNavStableContext",
6
+ errorMessage: "useTimelineKeyboardContext must be used within a TimelineKeyboardNavProvider",
7
+ });
8
+ const { Provider: TimelineKeyboardNavActiveRowContextProvider, useContext: useTimelineKeyboardActiveRow, } = createStrictContext({
9
+ name: "TimelineKeyboardNavActiveRowContext",
10
+ errorMessage: "useTimelineKeyboardActiveRow must be used within a TimelineKeyboardNavProvider",
11
+ });
12
+ function TimelineKeyboardNavProvider({ children, }) {
13
+ const [activeRow, setActiveRow] = React.useState(null);
14
+ const activeRowRef = React.useRef(null);
15
+ const timelineElementRef = useRef(null);
16
+ const updateActiveRow = React.useCallback((element) => {
17
+ activeRowRef.current = element;
18
+ setActiveRow(element);
19
+ }, []);
20
+ const handleRowKeyDown = useCallback((event) => {
21
+ var _a, _b, _c;
22
+ const currentActiveRow = activeRowRef.current;
23
+ if (!currentActiveRow) {
24
+ return;
25
+ }
26
+ /* Skip interaction if focus is inside popover */
27
+ if ((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.closest("[data-timeline-popover]")) {
28
+ return;
29
+ }
30
+ const { key } = event;
31
+ if (key === "ArrowDown" || key === "ArrowUp") {
32
+ const rows = (_b = currentActiveRow.parentElement) === null || _b === void 0 ? void 0 : _b.querySelectorAll("[data-timeline-row]");
33
+ const firstPin = (_c = currentActiveRow.parentElement) === null || _c === void 0 ? void 0 : _c.querySelector("[data-timeline-pin]");
34
+ if (!rows || rows.length === 0) {
35
+ return;
36
+ }
37
+ const currentIndex = Array.from(rows).indexOf(currentActiveRow);
38
+ if (currentIndex === -1) {
39
+ return;
40
+ }
41
+ const atBoundary = currentIndex === 0 && key === "ArrowUp";
42
+ if (atBoundary && firstPin) {
43
+ focusElement(firstPin, event);
44
+ return;
45
+ }
46
+ const nextIndex = key === "ArrowDown" ? currentIndex + 1 : currentIndex - 1;
47
+ /* We want to avoid looping */
48
+ if (nextIndex < 0 || nextIndex >= rows.length) {
49
+ return;
50
+ }
51
+ const nextRow = rows[nextIndex];
52
+ const periods = nextRow === null || nextRow === void 0 ? void 0 : nextRow.querySelectorAll("[data-timeline-period]");
53
+ if ((periods === null || periods === void 0 ? void 0 : periods.length) > 0) {
54
+ focusElement(periods[0], event);
55
+ }
56
+ else if (nextRow) {
57
+ focusElement(nextRow, event);
58
+ }
59
+ return;
60
+ }
61
+ if (key === "ArrowRight" || key === "ArrowLeft") {
62
+ event.preventDefault();
63
+ const periods = currentActiveRow.querySelectorAll("[data-timeline-period]");
64
+ if (periods.length === 0) {
65
+ return;
66
+ }
67
+ const currentIndex = Array.from(periods).indexOf(document.activeElement);
68
+ if (currentIndex === -1) {
69
+ /* If just the row has focus, we want to focus either the first or last period inside based on key */
70
+ focusElement(periods[key === "ArrowRight" ? 0 : periods.length - 1], event);
71
+ return;
72
+ }
73
+ const nextIndex = key === "ArrowRight" ? currentIndex + 1 : currentIndex - 1;
74
+ /* We want to avoid looping */
75
+ if (nextIndex < 0 || nextIndex >= periods.length) {
76
+ return;
77
+ }
78
+ focusElement(periods[nextIndex], event);
79
+ }
80
+ }, []);
81
+ const handlePinKeyDown = useCallback((event) => {
82
+ var _a;
83
+ const timelineElement = timelineElementRef.current;
84
+ if (!timelineElement) {
85
+ return;
86
+ }
87
+ /* Skip interaction if focus is inside popover */
88
+ if ((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.closest("[data-timeline-popover]")) {
89
+ return;
90
+ }
91
+ const { key } = event;
92
+ if (key === "ArrowDown") {
93
+ const rows = timelineElement.querySelectorAll("[data-timeline-row]");
94
+ if (rows.length === 0) {
95
+ return;
96
+ }
97
+ const rowToFocus = rows[0];
98
+ if (rowToFocus) {
99
+ const periods = rowToFocus === null || rowToFocus === void 0 ? void 0 : rowToFocus.querySelectorAll("[data-timeline-period]");
100
+ if ((periods === null || periods === void 0 ? void 0 : periods.length) > 0) {
101
+ focusElement(periods[0], event);
102
+ }
103
+ else if (rowToFocus) {
104
+ focusElement(rowToFocus, event);
105
+ }
106
+ }
107
+ }
108
+ if (key === "ArrowRight" || key === "ArrowLeft") {
109
+ event.preventDefault();
110
+ const pins = timelineElement.querySelectorAll("[data-timeline-pin]");
111
+ if (pins.length === 0) {
112
+ return;
113
+ }
114
+ const currentIndex = Array.from(pins).indexOf(document.activeElement);
115
+ if (currentIndex === -1) {
116
+ return;
117
+ }
118
+ const nextIndex = key === "ArrowRight" ? currentIndex + 1 : currentIndex - 1;
119
+ /* We want to avoid looping */
120
+ if (nextIndex < 0 || nextIndex >= pins.length) {
121
+ return;
122
+ }
123
+ focusElement(pins[nextIndex], event);
124
+ }
125
+ }, []);
126
+ return (React.createElement(TimelineKeyboardNavStableContextProvider, { updateActiveRow: updateActiveRow, handleRowKeyDown: handleRowKeyDown, handlePinKeyDown: handlePinKeyDown },
127
+ React.createElement(TimelineKeyboardNavActiveRowContextProvider, { activeRow: activeRow },
128
+ React.createElement(Slot, { ref: timelineElementRef }, children))));
129
+ }
130
+ /**
131
+ * Focuses the given element and prevents default behavior of the event if focus is called.
132
+ */
133
+ function focusElement(element, event) {
134
+ if (!element) {
135
+ return;
136
+ }
137
+ event.preventDefault();
138
+ element.focus();
139
+ }
140
+ export { TimelineKeyboardNavProvider, useTimelineKeyboardContext, useTimelineKeyboardActiveRow, };
141
+ //# sourceMappingURL=TimelineKeyboardNavProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimelineKeyboardNavProvider.js","sourceRoot":"","sources":["../../../src/timeline/hooks/TimelineKeyboardNavProvider.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  interface PeriodContextProps {
2
2
  periodId: string;
3
- firstFocus: boolean;
4
3
  restProps?: any;
5
4
  }
6
5
  export declare const PeriodContext: import("react").Context<PeriodContextProps>;
@@ -1,7 +1,6 @@
1
1
  import { createContext, useContext } from "react";
2
2
  export const PeriodContext = createContext({
3
3
  periodId: "",
4
- firstFocus: false,
5
4
  });
6
5
  export const usePeriodContext = () => {
7
6
  const context = useContext(PeriodContext);
@@ -1 +1 @@
1
- {"version":3,"file":"usePeriodContext.js","sourceRoot":"","sources":["../../../src/timeline/hooks/usePeriodContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAQlD,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAqB;IAC7D,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,KAAK;CAClB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"usePeriodContext.js","sourceRoot":"","sources":["../../../src/timeline/hooks/usePeriodContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAOlD,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAqB;IAC7D,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -2,7 +2,6 @@ import { PositionedPeriod } from "../utils/types.internal.js";
2
2
  interface RowContextProps {
3
3
  periods: PositionedPeriod[];
4
4
  id: string;
5
- active: boolean;
6
5
  index: number;
7
6
  }
8
7
  export declare const RowContext: import("react").Context<RowContextProps>;
@@ -2,7 +2,6 @@ import { createContext, useContext } from "react";
2
2
  export const RowContext = createContext({
3
3
  periods: [],
4
4
  id: "",
5
- active: false,
6
5
  index: 0,
7
6
  });
8
7
  export const useRowContext = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"useRowContext.js","sourceRoot":"","sources":["../../../src/timeline/hooks/useRowContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAUlD,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAkB;IACvD,OAAO,EAAE,EAAE;IACX,EAAE,EAAE,EAAE;IACN,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,CAAC;CACT,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAEvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"useRowContext.js","sourceRoot":"","sources":["../../../src/timeline/hooks/useRowContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AASlD,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAkB;IACvD,OAAO,EAAE,EAAE;IACX,EAAE,EAAE,EAAE;IACN,KAAK,EAAE,CAAC;CACT,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAEvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -4,10 +4,6 @@ interface TimelineContextProps {
4
4
  direction: "left" | "right";
5
5
  setStart: (d: Date) => void;
6
6
  setEndInclusive: (d: Date) => void;
7
- activeRow: number | null;
8
- setActiveRow: (i: string) => void;
9
- initiate: (i: number) => void;
10
- addFocusable: (ref: HTMLButtonElement | null, id: number) => void;
11
7
  }
12
8
  export declare const TimelineContext: import("react").Context<TimelineContextProps>;
13
9
  export declare const useTimelineContext: () => TimelineContextProps;
@@ -5,10 +5,6 @@ export const TimelineContext = createContext({
5
5
  direction: "left",
6
6
  setStart: () => null,
7
7
  setEndInclusive: () => null,
8
- activeRow: 0,
9
- setActiveRow: () => null,
10
- initiate: () => null,
11
- addFocusable: () => null,
12
8
  });
13
9
  export const useTimelineContext = () => {
14
10
  const context = useContext(TimelineContext);
@@ -1 +1 @@
1
- {"version":3,"file":"useTimelineContext.js","sourceRoot":"","sources":["../../../src/timeline/hooks/useTimelineContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAclD,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAuB;IACjE,SAAS,EAAE,IAAI,IAAI,EAAE;IACrB,OAAO,EAAE,IAAI,IAAI,EAAE;IACnB,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;IACpB,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI;IAC3B,SAAS,EAAE,CAAC;IACZ,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI;IACxB,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;IACpB,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI;CACzB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAE5C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CACV,qEAAqE,CACtE,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"useTimelineContext.js","sourceRoot":"","sources":["../../../src/timeline/hooks/useTimelineContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAUlD,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAuB;IACjE,SAAS,EAAE,IAAI,IAAI,EAAE;IACrB,OAAO,EAAE,IAAI,IAAI,EAAE;IACnB,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;IACpB,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI;CAC5B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAE5C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CACV,qEAAqE,CACtE,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -1,18 +1,12 @@
1
- import { FloatingFocusManager, autoUpdate, flip, offset, safePolygon, shift, useDismiss, useFloating, useFocus, useHover, useInteractions, } from "@floating-ui/react";
1
+ import { FloatingFocusManager, autoUpdate, flip, offset, safePolygon, shift, useClick, useDismiss, useFloating, useFocus, useHover, useInteractions, } from "@floating-ui/react";
2
2
  import React, { useState } from "react";
3
3
  import { cl } from "../../utils/helpers/index.js";
4
4
  import { useMergeRefs } from "../../utils/hooks/index.js";
5
5
  import { useI18n } from "../../utils/i18n/i18n.hooks.js";
6
- import { usePeriodContext } from "../hooks/usePeriodContext.js";
7
- import { useRowContext } from "../hooks/useRowContext.js";
8
- import { useTimelineContext } from "../hooks/useTimelineContext.js";
9
6
  import { ariaLabel, getConditionalClasses } from "../utils/period.js";
10
7
  const ClickablePeriod = React.memo(({ onSelectPeriod, start, end, status, cropped, direction, left, width, icon, children, isActive, statusLabel, restProps, periodRef, }) => {
11
8
  var _a, _b;
12
9
  const [open, setOpen] = useState(false);
13
- const { index } = useRowContext();
14
- const { firstFocus } = usePeriodContext();
15
- const { initiate, addFocusable } = useTimelineContext();
16
10
  const translate = useI18n("Timeline");
17
11
  const { context, placement, refs, floatingStyles } = useFloating({
18
12
  placement: (_a = restProps === null || restProps === void 0 ? void 0 : restProps.placement) !== null && _a !== void 0 ? _a : "top",
@@ -33,7 +27,9 @@ const ClickablePeriod = React.memo(({ onSelectPeriod, start, end, status, croppe
33
27
  });
34
28
  const focus = useFocus(context);
35
29
  const dismiss = useDismiss(context);
30
+ const click = useClick(context);
36
31
  const { getFloatingProps, getReferenceProps } = useInteractions([
32
+ click,
37
33
  hover,
38
34
  focus,
39
35
  dismiss,
@@ -41,24 +37,14 @@ const ClickablePeriod = React.memo(({ onSelectPeriod, start, end, status, croppe
41
37
  const mergedRef = useMergeRefs(refs.setReference, periodRef);
42
38
  const label = ariaLabel(start, end, status, statusLabel, translate);
43
39
  return (React.createElement(React.Fragment, null,
44
- React.createElement("button", Object.assign({}, restProps, { "data-color": (_b = restProps === null || restProps === void 0 ? void 0 : restProps["data-color"]) !== null && _b !== void 0 ? _b : status, type: "button", ref: (r) => {
45
- firstFocus && addFocusable(r, index);
46
- mergedRef === null || mergedRef === void 0 ? void 0 : mergedRef(r);
47
- }, "aria-label": label, className: cl("aksel-timeline__period--clickable", getConditionalClasses(cropped, direction, status), restProps === null || restProps === void 0 ? void 0 : restProps.className, {
40
+ React.createElement("button", Object.assign({ "data-timeline-period": true }, restProps, { "data-color": (_b = restProps === null || restProps === void 0 ? void 0 : restProps["data-color"]) !== null && _b !== void 0 ? _b : status, type: "button", ref: mergedRef, "aria-label": label, className: cl("aksel-timeline__period--clickable", getConditionalClasses(cropped, direction, status), restProps === null || restProps === void 0 ? void 0 : restProps.className, {
48
41
  "aksel-timeline__period--selected": isActive,
49
42
  }), "aria-expanded": children ? open : undefined, "aria-current": isActive || undefined }, getReferenceProps({
50
- onFocus: () => {
51
- initiate(index);
52
- },
53
43
  onKeyDown: (e) => {
54
44
  var _a;
55
- (_a = restProps === null || restProps === void 0 ? void 0 : restProps.onKeydown) === null || _a === void 0 ? void 0 : _a.call(restProps, e);
56
- if (e.key === "Enter") {
57
- setOpen((prev) => !prev);
58
- }
45
+ (_a = restProps === null || restProps === void 0 ? void 0 : restProps.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(restProps, e);
59
46
  if (e.key === " ") {
60
47
  onSelectPeriod === null || onSelectPeriod === void 0 ? void 0 : onSelectPeriod(e);
61
- setOpen(false);
62
48
  }
63
49
  },
64
50
  style: {
@@ -75,8 +61,8 @@ const ClickablePeriod = React.memo(({ onSelectPeriod, start, end, status, croppe
75
61
  },
76
62
  })),
77
63
  React.createElement("span", { className: "aksel-timeline__period--inner" }, icon)),
78
- children && open && (React.createElement(FloatingFocusManager, { context: context, modal: false, initialFocus: -1, returnFocus: false },
79
- React.createElement("div", Object.assign({ className: "aksel-timeline__popover", "data-placement": placement, ref: refs.setFloating, role: "dialog", "aria-label": label }, getFloatingProps(), { style: floatingStyles }), children)))));
64
+ children && open && (React.createElement(FloatingFocusManager, { context: context, modal: false, initialFocus: -1, returnFocus: true },
65
+ React.createElement("div", Object.assign({ className: "aksel-timeline__popover", "data-timeline-popover": true, "data-placement": placement, ref: refs.setFloating, role: "dialog", "aria-label": label }, getFloatingProps(), { style: floatingStyles }), children)))));
80
66
  });
81
67
  export default ClickablePeriod;
82
68
  //# sourceMappingURL=ClickablePeriod.js.map