@navikt/ds-react 8.2.2 → 8.4.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 (1012) hide show
  1. package/cjs/accordion/AccordionContent.js.map +1 -1
  2. package/cjs/accordion/AccordionHeader.js.map +1 -1
  3. package/cjs/{overlays/action-menu → action-menu}/ActionMenu.d.ts +2 -2
  4. package/cjs/{overlays/action-menu → action-menu}/ActionMenu.js +12 -9
  5. package/cjs/action-menu/ActionMenu.js.map +1 -0
  6. package/cjs/action-menu/index.js.map +1 -0
  7. package/cjs/alert/global-alert/root/GlobalAlertRoot.js.map +1 -1
  8. package/cjs/alert/info-card/root/InfoCardRoot.js.map +1 -1
  9. package/cjs/alert/local-alert/root/LocalAlertRoot.js.map +1 -1
  10. package/cjs/button/Button.js.map +1 -1
  11. package/cjs/chips/Removable.js.map +1 -1
  12. package/cjs/chips/Toggle.js.map +1 -1
  13. package/cjs/collapsible/{parts/Collapsible.Content.js → content/CollapsibleContent.js} +3 -3
  14. package/cjs/collapsible/{parts/Collapsible.Content.js.map → content/CollapsibleContent.js.map} +1 -1
  15. package/cjs/collapsible/index.d.ts +2 -2
  16. package/cjs/collapsible/index.js +4 -4
  17. package/cjs/collapsible/index.js.map +1 -1
  18. package/cjs/collapsible/{Collapsible.context.d.ts → root/CollapsibleRoot.context.d.ts} +5 -23
  19. package/cjs/collapsible/{Collapsible.context.js → root/CollapsibleRoot.context.js} +2 -2
  20. package/cjs/collapsible/root/CollapsibleRoot.context.js.map +1 -0
  21. package/{esm/collapsible/Collapsible.d.ts → cjs/collapsible/root/CollapsibleRoot.d.ts} +20 -4
  22. package/cjs/collapsible/{Collapsible.js → root/CollapsibleRoot.js} +11 -11
  23. package/cjs/collapsible/root/CollapsibleRoot.js.map +1 -0
  24. package/cjs/collapsible/{parts/Collapsible.Trigger.js → trigger/CollapsibleTrigger.js} +3 -3
  25. package/cjs/collapsible/{parts/Collapsible.Trigger.js.map → trigger/CollapsibleTrigger.js.map} +1 -1
  26. package/cjs/copybutton/CopyButton.js.map +1 -1
  27. package/cjs/data/action-bar/root/DataActionBarRoot.js +2 -2
  28. package/cjs/data/action-bar/root/DataActionBarRoot.js.map +1 -1
  29. package/cjs/data/stories/DataTableProfiler.d.ts +6 -0
  30. package/cjs/data/stories/DataTableProfiler.js +124 -0
  31. package/cjs/data/stories/DataTableProfiler.js.map +1 -0
  32. package/cjs/data/stories/dummy-data.d.ts +2 -3
  33. package/cjs/data/stories/dummy-data.js +30 -9
  34. package/cjs/data/stories/dummy-data.js.map +1 -1
  35. package/cjs/data/table/helpers/table-cell.d.ts +3 -0
  36. package/cjs/data/table/helpers/table-cell.js +19 -0
  37. package/cjs/data/table/helpers/table-cell.js.map +1 -0
  38. package/cjs/data/table/helpers/table-focus.d.ts +14 -0
  39. package/cjs/data/table/helpers/table-focus.js +84 -0
  40. package/cjs/data/table/helpers/table-focus.js.map +1 -0
  41. package/cjs/data/table/helpers/table-grid-nav.d.ts +33 -0
  42. package/cjs/data/table/helpers/table-grid-nav.js +84 -0
  43. package/cjs/data/table/helpers/table-grid-nav.js.map +1 -0
  44. package/cjs/data/table/helpers/table-keyboard.d.ts +15 -0
  45. package/cjs/data/table/helpers/table-keyboard.js +98 -0
  46. package/cjs/data/table/helpers/table-keyboard.js.map +1 -0
  47. package/cjs/data/table/index.d.ts +2 -2
  48. package/cjs/data/table/index.js +2 -1
  49. package/cjs/data/table/index.js.map +1 -1
  50. package/cjs/data/table/root/DataTableRoot.d.ts +27 -2
  51. package/cjs/data/table/root/DataTableRoot.js +18 -4
  52. package/cjs/data/table/root/DataTableRoot.js.map +1 -1
  53. package/cjs/data/table/root/useTableKeyboardNav.d.ts +7 -0
  54. package/cjs/data/table/root/useTableKeyboardNav.js +153 -0
  55. package/cjs/data/table/root/useTableKeyboardNav.js.map +1 -0
  56. package/cjs/data/table/td/DataTableTd.d.ts +7 -1
  57. package/cjs/data/table/td/DataTableTd.js.map +1 -1
  58. package/cjs/data/table/tfoot/DataTableTfoot.d.ts +5 -0
  59. package/cjs/data/table/tfoot/DataTableTfoot.js +55 -0
  60. package/cjs/data/table/tfoot/DataTableTfoot.js.map +1 -0
  61. package/cjs/data/table/th/DataTableTh.d.ts +20 -10
  62. package/cjs/data/table/th/DataTableTh.js +24 -6
  63. package/cjs/data/table/th/DataTableTh.js.map +1 -1
  64. package/cjs/data/table/th/DataTableThActions.d.ts +5 -0
  65. package/cjs/data/table/th/DataTableThActions.js +23 -0
  66. package/cjs/data/table/th/DataTableThActions.js.map +1 -0
  67. package/cjs/data/table/th/DataTableThSortHandle.d.ts +6 -0
  68. package/cjs/data/table/th/DataTableThSortHandle.js +82 -0
  69. package/cjs/data/table/th/DataTableThSortHandle.js.map +1 -0
  70. package/cjs/date/Date.Input.js.map +1 -1
  71. package/cjs/date/datepicker/hooks/useDatepicker.js.map +1 -1
  72. package/cjs/date/datepicker/hooks/useRangeDatepicker.js.map +1 -1
  73. package/cjs/date/datepicker/parts/DatePicker.RDP.js +1 -1
  74. package/cjs/date/datepicker/parts/DatePicker.RDP.js.map +1 -1
  75. package/cjs/date/datepicker/parts/DatePicker.Standalone.js.map +1 -1
  76. package/cjs/date/datepicker/parts/DatePicker.WeekNumber.js +1 -1
  77. package/cjs/date/datepicker/parts/DatePicker.WeekNumber.js.map +1 -1
  78. package/cjs/date/datepicker/parts/DatePicker.WeekRow.js +1 -1
  79. package/cjs/date/datepicker/parts/DatePicker.WeekRow.js.map +1 -1
  80. package/cjs/date/monthpicker/hooks/useMonthPicker.js.map +1 -1
  81. package/cjs/date/monthpicker/parts/MonthPicker.Standalone.js.map +1 -1
  82. package/cjs/dialog/close-trigger/DialogCloseTrigger.js.map +1 -1
  83. package/cjs/dialog/popup/DialogPopupInternal.js +2 -2
  84. package/cjs/dialog/popup/DialogPopupInternal.js.map +1 -1
  85. package/cjs/dropdown/Menu/GroupedList/GroupedHeading.js.map +1 -1
  86. package/cjs/dropdown/Menu/GroupedList/GroupedItem.js.map +1 -1
  87. package/cjs/dropdown/Menu/GroupedList/index.js.map +1 -1
  88. package/cjs/dropdown/Menu/List/index.js.map +1 -1
  89. package/cjs/dropdown/Menu/index.js.map +1 -1
  90. package/cjs/dropdown/Toggle.js.map +1 -1
  91. package/cjs/expansion-card/ExpansionCardContent.js.map +1 -1
  92. package/cjs/expansion-card/ExpansionCardDescription.js.map +1 -1
  93. package/cjs/expansion-card/ExpansionCardHeader.js.map +1 -1
  94. package/cjs/expansion-card/ExpansionCardTitle.js.map +1 -1
  95. package/cjs/form/checkbox/CheckboxGroup.js.map +1 -1
  96. package/cjs/form/combobox/Combobox.js +1 -1
  97. package/cjs/form/combobox/Combobox.js.map +1 -1
  98. package/cjs/form/combobox/FilteredOptions/FilteredOptions.js +2 -2
  99. package/cjs/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
  100. package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js +20 -6
  101. package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
  102. package/cjs/form/combobox/Input/Input.js.map +1 -1
  103. package/cjs/form/combobox/Input/InputController.js +1 -1
  104. package/cjs/form/combobox/Input/InputController.js.map +1 -1
  105. package/cjs/form/confirmation-panel/ConfirmationPanel.js.map +1 -1
  106. package/cjs/form/error-summary/ErrorSummary.js.map +1 -1
  107. package/cjs/form/error-summary/ErrorSummaryItem.js.map +1 -1
  108. package/cjs/form/fieldset/Fieldset.js.map +1 -1
  109. package/cjs/form/file-upload/dropzone/FileUploadDropzone.d.ts +6 -0
  110. package/cjs/form/file-upload/{parts/dropzone/Dropzone.js → dropzone/FileUploadDropzone.js} +14 -12
  111. package/cjs/form/file-upload/dropzone/FileUploadDropzone.js.map +1 -0
  112. package/cjs/form/file-upload/{parts/dropzone → dropzone}/dropzone.types.d.ts +3 -3
  113. package/cjs/form/file-upload/dropzone/dropzone.types.js.map +1 -0
  114. package/cjs/form/file-upload/{parts/dropzone → dropzone}/useDropzone.d.ts +1 -1
  115. package/cjs/form/file-upload/dropzone/useDropzone.js.map +1 -0
  116. package/cjs/form/file-upload/helpers/download-file.js.map +1 -0
  117. package/cjs/form/file-upload/{parts/item/utils → helpers}/file-type-checker.d.ts +1 -1
  118. package/cjs/form/file-upload/helpers/file-type-checker.js.map +1 -0
  119. package/cjs/form/file-upload/{parts/item/utils → helpers}/format-file-size.d.ts +1 -1
  120. package/cjs/form/file-upload/helpers/format-file-size.js.map +1 -0
  121. package/cjs/form/file-upload/helpers/is-accepted-file-type.js.map +1 -0
  122. package/cjs/form/file-upload/helpers/is-accepted-size.js.map +1 -0
  123. package/cjs/form/file-upload/helpers/validate-files.js.map +1 -0
  124. package/cjs/form/file-upload/{useFileUpload.d.ts → hooks/useFileUpload.d.ts} +1 -1
  125. package/cjs/form/file-upload/{useFileUpload.js → hooks/useFileUpload.js} +2 -2
  126. package/cjs/form/file-upload/hooks/useFileUpload.js.map +1 -0
  127. package/cjs/form/file-upload/index.d.ts +3 -6
  128. package/cjs/form/file-upload/index.js +6 -9
  129. package/cjs/form/file-upload/index.js.map +1 -1
  130. package/cjs/form/file-upload/{parts/item/Item.d.ts → item/FileUploadItem.d.ts} +7 -6
  131. package/cjs/form/file-upload/{parts/item/Item.js → item/FileUploadItem.js} +12 -12
  132. package/cjs/form/file-upload/item/FileUploadItem.js.map +1 -0
  133. package/cjs/{collapsible/Collapsible.types.js → form/file-upload/item/FileUploadItem.types.js} +1 -1
  134. package/cjs/form/file-upload/item/FileUploadItem.types.js.map +1 -0
  135. package/{esm/form/file-upload/parts/item → cjs/form/file-upload/item-action-field}/ItemActionField.d.ts +1 -1
  136. package/cjs/form/file-upload/{parts/item → item-action-field}/ItemActionField.js +6 -6
  137. package/cjs/form/file-upload/item-action-field/ItemActionField.js.map +1 -0
  138. package/cjs/form/file-upload/{parts/item → item-header}/ItemHeader.d.ts +1 -1
  139. package/cjs/form/file-upload/{parts/item → item-header}/ItemHeader.js +5 -5
  140. package/cjs/form/file-upload/item-header/ItemHeader.js.map +1 -0
  141. package/cjs/form/file-upload/{parts/item → item-icon}/ItemIcon.d.ts +1 -1
  142. package/cjs/form/file-upload/item-icon/ItemIcon.js.map +1 -0
  143. package/cjs/form/file-upload/{FileUpload.context.d.ts → root/FileUploadRoot.context.d.ts} +1 -1
  144. package/cjs/form/file-upload/{FileUpload.context.js → root/FileUploadRoot.context.js} +2 -2
  145. package/cjs/form/file-upload/root/FileUploadRoot.context.js.map +1 -0
  146. package/cjs/form/file-upload/{FileUpload.d.ts → root/FileUploadRoot.d.ts} +12 -7
  147. package/cjs/form/file-upload/{FileUpload.js → root/FileUploadRoot.js} +14 -14
  148. package/cjs/form/file-upload/root/FileUploadRoot.js.map +1 -0
  149. package/cjs/form/file-upload/trigger/FileUploadTrigger.d.ts +9 -0
  150. package/cjs/form/file-upload/{parts/Trigger.js → trigger/FileUploadTrigger.js} +6 -4
  151. package/cjs/form/file-upload/trigger/FileUploadTrigger.js.map +1 -0
  152. package/cjs/form/form-progress/FormProgress.js +7 -10
  153. package/cjs/form/form-progress/FormProgress.js.map +1 -1
  154. package/cjs/form/form-summary/FormSummary.js.map +1 -1
  155. package/cjs/form/form-summary/FormSummaryAnswer.js.map +1 -1
  156. package/cjs/form/form-summary/FormSummaryAnswers.js.map +1 -1
  157. package/cjs/form/form-summary/FormSummaryEditLink.js.map +1 -1
  158. package/cjs/form/form-summary/FormSummaryFooter.js.map +1 -1
  159. package/cjs/form/form-summary/FormSummaryHeader.js.map +1 -1
  160. package/cjs/form/form-summary/FormSummaryHeading.js.map +1 -1
  161. package/cjs/form/form-summary/FormSummaryLabel.js.map +1 -1
  162. package/cjs/form/form-summary/FormSummaryValue.js.map +1 -1
  163. package/cjs/form/radio/RadioGroup.js.map +1 -1
  164. package/cjs/form/search/SearchButton.js.map +1 -1
  165. package/cjs/form/select/Select.js.map +1 -1
  166. package/cjs/form/switch/Switch.js +3 -3
  167. package/cjs/form/switch/Switch.js.map +1 -1
  168. package/cjs/form/textarea/Textarea.js.map +1 -1
  169. package/cjs/form/textfield/TextField.js.map +1 -1
  170. package/cjs/help-text/HelpText.js.map +1 -1
  171. package/cjs/index.d.ts +7 -7
  172. package/cjs/index.js +7 -7
  173. package/cjs/index.js.map +1 -1
  174. package/cjs/internal-header/InternalHeaderButton.js.map +1 -1
  175. package/cjs/internal-header/InternalHeaderTitle.js.map +1 -1
  176. package/cjs/internal-header/InternalHeaderUser.js.map +1 -1
  177. package/cjs/internal-header/InternalHeaderUserButton.js.map +1 -1
  178. package/cjs/link/Link.js.map +1 -1
  179. package/cjs/link-card/LinkCard.js.map +1 -1
  180. package/cjs/link-panel/LinkPanelDescription.js.map +1 -1
  181. package/cjs/link-panel/LinkPanelTitle.js.map +1 -1
  182. package/cjs/modal/Modal.js.map +1 -1
  183. package/cjs/pagination/Pagination.js.map +1 -1
  184. package/cjs/popover/Popover.js +1 -1
  185. package/cjs/popover/Popover.js.map +1 -1
  186. package/cjs/popover/PopoverContent.js.map +1 -1
  187. package/cjs/primitives/base/BasePrimitive.js.map +1 -0
  188. package/cjs/primitives/base/PrimitiveAsChildProps.js.map +1 -0
  189. package/cjs/primitives/bleed/Bleed.js.map +1 -0
  190. package/cjs/primitives/bleed/index.js.map +1 -0
  191. package/cjs/primitives/box/Box.darkside.js.map +1 -0
  192. package/cjs/primitives/box/Box.js.map +1 -0
  193. package/cjs/primitives/box/index.js.map +1 -0
  194. package/cjs/primitives/grid/HGrid.js.map +1 -0
  195. package/cjs/primitives/grid/index.js.map +1 -0
  196. package/cjs/primitives/page/Page.js.map +1 -0
  197. package/cjs/primitives/page/index.js.map +1 -0
  198. package/cjs/primitives/page/parts/PageBlock.js.map +1 -0
  199. package/cjs/primitives/responsive/Responsive.js.map +1 -0
  200. package/cjs/primitives/responsive/index.js.map +1 -0
  201. package/cjs/primitives/stack/HStack.js.map +1 -0
  202. package/cjs/primitives/stack/Spacer.js.map +1 -0
  203. package/cjs/primitives/stack/Stack.js.map +1 -0
  204. package/cjs/primitives/stack/VStack.js.map +1 -0
  205. package/cjs/primitives/stack/index.js.map +1 -0
  206. package/cjs/primitives/utilities/css.js.map +1 -0
  207. package/cjs/primitives/utilities/types.js.map +1 -0
  208. package/cjs/process/Process.js.map +1 -1
  209. package/cjs/progress-bar/ProgressBar.js.map +1 -1
  210. package/cjs/read-more/ReadMore.js.map +1 -1
  211. package/cjs/stepper/Step.js.map +1 -1
  212. package/cjs/table/DataCell.js.map +1 -1
  213. package/cjs/table/ExpandableRow.js.map +1 -1
  214. package/cjs/table/HeaderCell.js.map +1 -1
  215. package/cjs/table/Table.js.map +1 -1
  216. package/cjs/tabs/parts/tab/Tab.js.map +1 -1
  217. package/cjs/timeline/Timeline.js.map +1 -1
  218. package/cjs/timeline/TimelineRow.d.ts +11 -3
  219. package/cjs/timeline/TimelineRow.js +5 -4
  220. package/cjs/timeline/TimelineRow.js.map +1 -1
  221. package/cjs/timeline/period/index.js.map +1 -1
  222. package/cjs/timeline/pin/Pin.js.map +1 -1
  223. package/cjs/timeline/pin/PinInternal.js.map +1 -1
  224. package/cjs/timeline/utils/timeline.d.ts +1 -1
  225. package/cjs/timeline/zoom/index.js.map +1 -1
  226. package/cjs/toggle-group/useToggleGroup.js +4 -8
  227. package/cjs/toggle-group/useToggleGroup.js.map +1 -1
  228. package/cjs/tooltip/Tooltip.d.ts +1 -1
  229. package/cjs/tooltip/Tooltip.js +35 -2
  230. package/cjs/tooltip/Tooltip.js.map +1 -1
  231. package/cjs/typography/BodyLong.js.map +1 -1
  232. package/cjs/typography/BodyShort.js.map +1 -1
  233. package/cjs/typography/Detail.js.map +1 -1
  234. package/cjs/typography/ErrorMessage.js.map +1 -1
  235. package/cjs/typography/Heading.js.map +1 -1
  236. package/cjs/typography/Ingress.js.map +1 -1
  237. package/cjs/typography/Label.js.map +1 -1
  238. package/cjs/{overlays → utils/components}/dismissablelayer/DismissableLayer.d.ts +1 -1
  239. package/cjs/{overlays → utils/components}/dismissablelayer/DismissableLayer.js +3 -3
  240. package/cjs/utils/components/dismissablelayer/DismissableLayer.js.map +1 -0
  241. package/cjs/utils/components/dismissablelayer/util/dispatchCustomEvent.js.map +1 -0
  242. package/cjs/utils/components/dismissablelayer/util/sort-layers.js.map +1 -0
  243. package/cjs/{overlays → utils/components}/dismissablelayer/util/useEscapeKeydown.js +1 -1
  244. package/cjs/utils/components/dismissablelayer/util/useEscapeKeydown.js.map +1 -0
  245. package/cjs/{overlays → utils/components}/dismissablelayer/util/useFocusOutside.js +1 -1
  246. package/cjs/utils/components/dismissablelayer/util/useFocusOutside.js.map +1 -0
  247. package/cjs/{overlays → utils/components}/dismissablelayer/util/usePointerDownOutside.js +1 -1
  248. package/cjs/utils/components/dismissablelayer/util/usePointerDownOutside.js.map +1 -0
  249. package/cjs/{overlays → utils/components}/dismissablelayer/util/usePointerUpOutside.js +1 -1
  250. package/cjs/utils/components/dismissablelayer/util/usePointerUpOutside.js.map +1 -0
  251. package/cjs/{overlays → utils/components}/floating/Floating.d.ts +1 -1
  252. package/cjs/{overlays → utils/components}/floating/Floating.js +5 -5
  253. package/cjs/utils/components/floating/Floating.js.map +1 -0
  254. package/{esm/overlays → cjs/utils/components}/floating/Floating.utils.d.ts +1 -1
  255. package/cjs/utils/components/floating/Floating.utils.js.map +1 -0
  256. package/cjs/{overlays → utils/components}/floating-menu/Menu.d.ts +3 -3
  257. package/cjs/{overlays → utils/components}/floating-menu/Menu.js +5 -5
  258. package/cjs/utils/components/floating-menu/Menu.js.map +1 -0
  259. package/cjs/{overlays → utils/components}/floating-menu/parts/RovingFocus.d.ts +1 -1
  260. package/cjs/{overlays → utils/components}/floating-menu/parts/RovingFocus.js +3 -3
  261. package/cjs/utils/components/floating-menu/parts/RovingFocus.js.map +1 -0
  262. package/cjs/{overlays → utils/components}/floating-menu/parts/SlottedDivElement.js +1 -1
  263. package/cjs/utils/components/floating-menu/parts/SlottedDivElement.js.map +1 -0
  264. package/cjs/utils/components/textarea-autosize/TextareaAutoSize.js.map +1 -1
  265. package/cjs/utils/components/virtualfocus/parts/VirtualFocusAnchor.js.map +1 -1
  266. package/cjs/utils/components/virtualfocus/parts/VirtualFocusItem.js.map +1 -1
  267. package/cjs/utils/i18n/locales/en.d.ts +3 -0
  268. package/cjs/utils/i18n/locales/en.js +3 -0
  269. package/cjs/utils/i18n/locales/en.js.map +1 -1
  270. package/cjs/utils/i18n/locales/nb.d.ts +4 -0
  271. package/cjs/utils/i18n/locales/nb.js +4 -0
  272. package/cjs/utils/i18n/locales/nb.js.map +1 -1
  273. package/cjs/utils/i18n/locales/nn.d.ts +3 -0
  274. package/cjs/utils/i18n/locales/nn.js +3 -0
  275. package/cjs/utils/i18n/locales/nn.js.map +1 -1
  276. package/cjs/utils-external/hooks/useEventListener.d.ts +2 -2
  277. package/esm/accordion/AccordionContent.js.map +1 -1
  278. package/esm/accordion/AccordionHeader.js.map +1 -1
  279. package/esm/{overlays/action-menu → action-menu}/ActionMenu.d.ts +2 -2
  280. package/esm/{overlays/action-menu → action-menu}/ActionMenu.js +12 -9
  281. package/esm/action-menu/ActionMenu.js.map +1 -0
  282. package/esm/action-menu/index.js.map +1 -0
  283. package/esm/alert/global-alert/root/GlobalAlertRoot.js.map +1 -1
  284. package/esm/alert/info-card/root/InfoCardRoot.js.map +1 -1
  285. package/esm/alert/local-alert/root/LocalAlertRoot.js.map +1 -1
  286. package/esm/button/Button.js.map +1 -1
  287. package/esm/chips/Removable.js.map +1 -1
  288. package/esm/chips/Toggle.js.map +1 -1
  289. package/esm/collapsible/{parts/Collapsible.Content.js → content/CollapsibleContent.js} +2 -2
  290. package/esm/collapsible/{parts/Collapsible.Content.js.map → content/CollapsibleContent.js.map} +1 -1
  291. package/esm/collapsible/index.d.ts +2 -2
  292. package/esm/collapsible/index.js +1 -1
  293. package/esm/collapsible/index.js.map +1 -1
  294. package/esm/collapsible/{Collapsible.context.d.ts → root/CollapsibleRoot.context.d.ts} +5 -23
  295. package/esm/collapsible/{Collapsible.context.js → root/CollapsibleRoot.context.js} +2 -2
  296. package/esm/collapsible/root/CollapsibleRoot.context.js.map +1 -0
  297. package/{cjs/collapsible/Collapsible.d.ts → esm/collapsible/root/CollapsibleRoot.d.ts} +20 -4
  298. package/esm/collapsible/{Collapsible.js → root/CollapsibleRoot.js} +6 -6
  299. package/esm/collapsible/root/CollapsibleRoot.js.map +1 -0
  300. package/esm/collapsible/{parts/Collapsible.Trigger.js → trigger/CollapsibleTrigger.js} +2 -2
  301. package/esm/collapsible/{parts/Collapsible.Trigger.js.map → trigger/CollapsibleTrigger.js.map} +1 -1
  302. package/esm/copybutton/CopyButton.js.map +1 -1
  303. package/esm/data/action-bar/root/DataActionBarRoot.js +2 -2
  304. package/esm/data/action-bar/root/DataActionBarRoot.js.map +1 -1
  305. package/esm/data/stories/DataTableProfiler.d.ts +6 -0
  306. package/esm/data/stories/DataTableProfiler.js +89 -0
  307. package/esm/data/stories/DataTableProfiler.js.map +1 -0
  308. package/esm/data/stories/dummy-data.d.ts +2 -3
  309. package/esm/data/stories/dummy-data.js +30 -9
  310. package/esm/data/stories/dummy-data.js.map +1 -1
  311. package/esm/data/table/helpers/table-cell.d.ts +3 -0
  312. package/esm/data/table/helpers/table-cell.js +16 -0
  313. package/esm/data/table/helpers/table-cell.js.map +1 -0
  314. package/esm/data/table/helpers/table-focus.d.ts +14 -0
  315. package/esm/data/table/helpers/table-focus.js +80 -0
  316. package/esm/data/table/helpers/table-focus.js.map +1 -0
  317. package/esm/data/table/helpers/table-grid-nav.d.ts +33 -0
  318. package/esm/data/table/helpers/table-grid-nav.js +80 -0
  319. package/esm/data/table/helpers/table-grid-nav.js.map +1 -0
  320. package/esm/data/table/helpers/table-keyboard.d.ts +15 -0
  321. package/esm/data/table/helpers/table-keyboard.js +95 -0
  322. package/esm/data/table/helpers/table-keyboard.js.map +1 -0
  323. package/esm/data/table/index.d.ts +2 -2
  324. package/esm/data/table/index.js +1 -1
  325. package/esm/data/table/index.js.map +1 -1
  326. package/esm/data/table/root/DataTableRoot.d.ts +27 -2
  327. package/esm/data/table/root/DataTableRoot.js +18 -5
  328. package/esm/data/table/root/DataTableRoot.js.map +1 -1
  329. package/esm/data/table/root/useTableKeyboardNav.d.ts +7 -0
  330. package/esm/data/table/root/useTableKeyboardNav.js +151 -0
  331. package/esm/data/table/root/useTableKeyboardNav.js.map +1 -0
  332. package/esm/data/table/td/DataTableTd.d.ts +7 -1
  333. package/esm/data/table/td/DataTableTd.js.map +1 -1
  334. package/esm/data/table/tfoot/DataTableTfoot.d.ts +5 -0
  335. package/esm/data/table/tfoot/DataTableTfoot.js +19 -0
  336. package/esm/data/table/tfoot/DataTableTfoot.js.map +1 -0
  337. package/esm/data/table/th/DataTableTh.d.ts +20 -10
  338. package/esm/data/table/th/DataTableTh.js +25 -7
  339. package/esm/data/table/th/DataTableTh.js.map +1 -1
  340. package/esm/data/table/th/DataTableThActions.d.ts +5 -0
  341. package/esm/data/table/th/DataTableThActions.js +18 -0
  342. package/esm/data/table/th/DataTableThActions.js.map +1 -0
  343. package/esm/data/table/th/DataTableThSortHandle.d.ts +6 -0
  344. package/esm/data/table/th/DataTableThSortHandle.js +47 -0
  345. package/esm/data/table/th/DataTableThSortHandle.js.map +1 -0
  346. package/esm/date/Date.Input.js.map +1 -1
  347. package/esm/date/datepicker/hooks/useDatepicker.js.map +1 -1
  348. package/esm/date/datepicker/hooks/useRangeDatepicker.js.map +1 -1
  349. package/esm/date/datepicker/parts/DatePicker.RDP.js +1 -1
  350. package/esm/date/datepicker/parts/DatePicker.RDP.js.map +1 -1
  351. package/esm/date/datepicker/parts/DatePicker.Standalone.js.map +1 -1
  352. package/esm/date/datepicker/parts/DatePicker.WeekNumber.js +1 -1
  353. package/esm/date/datepicker/parts/DatePicker.WeekNumber.js.map +1 -1
  354. package/esm/date/datepicker/parts/DatePicker.WeekRow.js +1 -1
  355. package/esm/date/datepicker/parts/DatePicker.WeekRow.js.map +1 -1
  356. package/esm/date/monthpicker/hooks/useMonthPicker.js.map +1 -1
  357. package/esm/date/monthpicker/parts/MonthPicker.Standalone.js.map +1 -1
  358. package/esm/dialog/close-trigger/DialogCloseTrigger.js.map +1 -1
  359. package/esm/dialog/popup/DialogPopupInternal.js +2 -2
  360. package/esm/dialog/popup/DialogPopupInternal.js.map +1 -1
  361. package/esm/dropdown/Menu/GroupedList/GroupedHeading.js.map +1 -1
  362. package/esm/dropdown/Menu/GroupedList/GroupedItem.js.map +1 -1
  363. package/esm/dropdown/Menu/GroupedList/index.js.map +1 -1
  364. package/esm/dropdown/Menu/List/index.js.map +1 -1
  365. package/esm/dropdown/Menu/index.js.map +1 -1
  366. package/esm/dropdown/Toggle.js.map +1 -1
  367. package/esm/expansion-card/ExpansionCardContent.js.map +1 -1
  368. package/esm/expansion-card/ExpansionCardDescription.js.map +1 -1
  369. package/esm/expansion-card/ExpansionCardHeader.js.map +1 -1
  370. package/esm/expansion-card/ExpansionCardTitle.js.map +1 -1
  371. package/esm/form/checkbox/CheckboxGroup.js.map +1 -1
  372. package/esm/form/combobox/Combobox.js +1 -1
  373. package/esm/form/combobox/Combobox.js.map +1 -1
  374. package/esm/form/combobox/FilteredOptions/FilteredOptions.js +2 -2
  375. package/esm/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
  376. package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js +20 -6
  377. package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
  378. package/esm/form/combobox/Input/Input.js.map +1 -1
  379. package/esm/form/combobox/Input/InputController.js +1 -1
  380. package/esm/form/combobox/Input/InputController.js.map +1 -1
  381. package/esm/form/confirmation-panel/ConfirmationPanel.js.map +1 -1
  382. package/esm/form/error-summary/ErrorSummary.js.map +1 -1
  383. package/esm/form/error-summary/ErrorSummaryItem.js.map +1 -1
  384. package/esm/form/fieldset/Fieldset.js.map +1 -1
  385. package/esm/form/file-upload/dropzone/FileUploadDropzone.d.ts +6 -0
  386. package/esm/form/file-upload/{parts/dropzone/Dropzone.js → dropzone/FileUploadDropzone.js} +12 -11
  387. package/esm/form/file-upload/dropzone/FileUploadDropzone.js.map +1 -0
  388. package/esm/form/file-upload/{parts/dropzone → dropzone}/dropzone.types.d.ts +3 -3
  389. package/esm/form/file-upload/dropzone/dropzone.types.js.map +1 -0
  390. package/esm/form/file-upload/{parts/dropzone → dropzone}/useDropzone.d.ts +1 -1
  391. package/esm/form/file-upload/dropzone/useDropzone.js.map +1 -0
  392. package/esm/form/file-upload/helpers/download-file.js.map +1 -0
  393. package/esm/form/file-upload/{parts/item/utils → helpers}/file-type-checker.d.ts +1 -1
  394. package/esm/form/file-upload/helpers/file-type-checker.js.map +1 -0
  395. package/esm/form/file-upload/{parts/item/utils → helpers}/format-file-size.d.ts +1 -1
  396. package/esm/form/file-upload/helpers/format-file-size.js.map +1 -0
  397. package/esm/form/file-upload/helpers/is-accepted-file-type.js.map +1 -0
  398. package/esm/form/file-upload/helpers/is-accepted-size.js.map +1 -0
  399. package/esm/form/file-upload/helpers/validate-files.js.map +1 -0
  400. package/esm/form/file-upload/{useFileUpload.d.ts → hooks/useFileUpload.d.ts} +1 -1
  401. package/esm/form/file-upload/{useFileUpload.js → hooks/useFileUpload.js} +2 -2
  402. package/esm/form/file-upload/hooks/useFileUpload.js.map +1 -0
  403. package/esm/form/file-upload/index.d.ts +3 -6
  404. package/esm/form/file-upload/index.js +1 -4
  405. package/esm/form/file-upload/index.js.map +1 -1
  406. package/esm/form/file-upload/{parts/item/Item.d.ts → item/FileUploadItem.d.ts} +7 -6
  407. package/esm/form/file-upload/{parts/item/Item.js → item/FileUploadItem.js} +10 -10
  408. package/esm/form/file-upload/item/FileUploadItem.js.map +1 -0
  409. package/esm/form/file-upload/item/FileUploadItem.types.js +2 -0
  410. package/esm/form/file-upload/item/FileUploadItem.types.js.map +1 -0
  411. package/{cjs/form/file-upload/parts/item → esm/form/file-upload/item-action-field}/ItemActionField.d.ts +1 -1
  412. package/esm/form/file-upload/{parts/item → item-action-field}/ItemActionField.js +3 -3
  413. package/esm/form/file-upload/item-action-field/ItemActionField.js.map +1 -0
  414. package/esm/form/file-upload/{parts/item → item-header}/ItemHeader.d.ts +1 -1
  415. package/esm/form/file-upload/{parts/item → item-header}/ItemHeader.js +5 -5
  416. package/esm/form/file-upload/{parts/item → item-header}/ItemHeader.js.map +1 -1
  417. package/esm/form/file-upload/{parts/item → item-icon}/ItemIcon.d.ts +1 -1
  418. package/esm/form/file-upload/item-icon/ItemIcon.js.map +1 -0
  419. package/esm/form/file-upload/{FileUpload.context.d.ts → root/FileUploadRoot.context.d.ts} +1 -1
  420. package/esm/form/file-upload/{FileUpload.context.js → root/FileUploadRoot.context.js} +2 -2
  421. package/esm/form/file-upload/root/FileUploadRoot.context.js.map +1 -0
  422. package/esm/form/file-upload/{FileUpload.d.ts → root/FileUploadRoot.d.ts} +12 -7
  423. package/esm/form/file-upload/{FileUpload.js → root/FileUploadRoot.js} +10 -9
  424. package/esm/form/file-upload/root/FileUploadRoot.js.map +1 -0
  425. package/esm/form/file-upload/trigger/FileUploadTrigger.d.ts +9 -0
  426. package/esm/form/file-upload/{parts/Trigger.js → trigger/FileUploadTrigger.js} +5 -4
  427. package/esm/form/file-upload/trigger/FileUploadTrigger.js.map +1 -0
  428. package/esm/form/form-progress/FormProgress.js +3 -3
  429. package/esm/form/form-progress/FormProgress.js.map +1 -1
  430. package/esm/form/form-summary/FormSummary.js.map +1 -1
  431. package/esm/form/form-summary/FormSummaryAnswer.js.map +1 -1
  432. package/esm/form/form-summary/FormSummaryAnswers.js.map +1 -1
  433. package/esm/form/form-summary/FormSummaryEditLink.js.map +1 -1
  434. package/esm/form/form-summary/FormSummaryFooter.js.map +1 -1
  435. package/esm/form/form-summary/FormSummaryHeader.js.map +1 -1
  436. package/esm/form/form-summary/FormSummaryHeading.js.map +1 -1
  437. package/esm/form/form-summary/FormSummaryLabel.js.map +1 -1
  438. package/esm/form/form-summary/FormSummaryValue.js.map +1 -1
  439. package/esm/form/radio/RadioGroup.js.map +1 -1
  440. package/esm/form/search/SearchButton.js.map +1 -1
  441. package/esm/form/select/Select.js.map +1 -1
  442. package/esm/form/switch/Switch.js +4 -4
  443. package/esm/form/switch/Switch.js.map +1 -1
  444. package/esm/form/textarea/Textarea.js.map +1 -1
  445. package/esm/form/textfield/TextField.js.map +1 -1
  446. package/esm/help-text/HelpText.js.map +1 -1
  447. package/esm/index.d.ts +7 -7
  448. package/esm/index.js +7 -7
  449. package/esm/index.js.map +1 -1
  450. package/esm/internal-header/InternalHeaderButton.js.map +1 -1
  451. package/esm/internal-header/InternalHeaderTitle.js.map +1 -1
  452. package/esm/internal-header/InternalHeaderUser.js.map +1 -1
  453. package/esm/internal-header/InternalHeaderUserButton.js.map +1 -1
  454. package/esm/link/Link.js.map +1 -1
  455. package/esm/link-card/LinkCard.js.map +1 -1
  456. package/esm/link-panel/LinkPanelDescription.js.map +1 -1
  457. package/esm/link-panel/LinkPanelTitle.js.map +1 -1
  458. package/esm/modal/Modal.js.map +1 -1
  459. package/esm/pagination/Pagination.js.map +1 -1
  460. package/esm/popover/Popover.js +1 -1
  461. package/esm/popover/Popover.js.map +1 -1
  462. package/esm/popover/PopoverContent.js.map +1 -1
  463. package/esm/primitives/base/BasePrimitive.js.map +1 -0
  464. package/esm/primitives/base/PrimitiveAsChildProps.js.map +1 -0
  465. package/esm/primitives/bleed/Bleed.js.map +1 -0
  466. package/esm/primitives/bleed/index.js.map +1 -0
  467. package/esm/primitives/box/Box.darkside.js.map +1 -0
  468. package/esm/primitives/box/Box.js.map +1 -0
  469. package/esm/primitives/box/index.js.map +1 -0
  470. package/esm/primitives/grid/HGrid.js.map +1 -0
  471. package/esm/primitives/grid/index.js.map +1 -0
  472. package/esm/primitives/page/Page.js.map +1 -0
  473. package/esm/primitives/page/index.js.map +1 -0
  474. package/esm/primitives/page/parts/PageBlock.js.map +1 -0
  475. package/esm/primitives/responsive/Responsive.js.map +1 -0
  476. package/esm/primitives/responsive/index.js.map +1 -0
  477. package/esm/primitives/stack/HStack.js.map +1 -0
  478. package/esm/primitives/stack/Spacer.js.map +1 -0
  479. package/esm/primitives/stack/Stack.js.map +1 -0
  480. package/esm/primitives/stack/VStack.js.map +1 -0
  481. package/esm/primitives/stack/index.js.map +1 -0
  482. package/esm/primitives/utilities/css.js.map +1 -0
  483. package/esm/primitives/utilities/types.js.map +1 -0
  484. package/esm/process/Process.js.map +1 -1
  485. package/esm/progress-bar/ProgressBar.js.map +1 -1
  486. package/esm/read-more/ReadMore.js.map +1 -1
  487. package/esm/stepper/Step.js.map +1 -1
  488. package/esm/table/DataCell.js.map +1 -1
  489. package/esm/table/ExpandableRow.js.map +1 -1
  490. package/esm/table/HeaderCell.js.map +1 -1
  491. package/esm/table/Table.js.map +1 -1
  492. package/esm/tabs/parts/tab/Tab.js.map +1 -1
  493. package/esm/timeline/Timeline.js.map +1 -1
  494. package/esm/timeline/TimelineRow.d.ts +11 -3
  495. package/esm/timeline/TimelineRow.js +5 -4
  496. package/esm/timeline/TimelineRow.js.map +1 -1
  497. package/esm/timeline/period/index.js.map +1 -1
  498. package/esm/timeline/pin/Pin.js.map +1 -1
  499. package/esm/timeline/pin/PinInternal.js.map +1 -1
  500. package/esm/timeline/utils/timeline.d.ts +1 -1
  501. package/esm/timeline/zoom/index.js.map +1 -1
  502. package/esm/toggle-group/useToggleGroup.js +5 -9
  503. package/esm/toggle-group/useToggleGroup.js.map +1 -1
  504. package/esm/tooltip/Tooltip.d.ts +1 -1
  505. package/esm/tooltip/Tooltip.js +35 -2
  506. package/esm/tooltip/Tooltip.js.map +1 -1
  507. package/esm/typography/BodyLong.js.map +1 -1
  508. package/esm/typography/BodyShort.js.map +1 -1
  509. package/esm/typography/Detail.js.map +1 -1
  510. package/esm/typography/ErrorMessage.js.map +1 -1
  511. package/esm/typography/Heading.js.map +1 -1
  512. package/esm/typography/Ingress.js.map +1 -1
  513. package/esm/typography/Label.js.map +1 -1
  514. package/esm/{overlays → utils/components}/dismissablelayer/DismissableLayer.d.ts +1 -1
  515. package/esm/{overlays → utils/components}/dismissablelayer/DismissableLayer.js +3 -3
  516. package/esm/utils/components/dismissablelayer/DismissableLayer.js.map +1 -0
  517. package/esm/utils/components/dismissablelayer/util/dispatchCustomEvent.js.map +1 -0
  518. package/esm/utils/components/dismissablelayer/util/sort-layers.js.map +1 -0
  519. package/esm/{overlays → utils/components}/dismissablelayer/util/useEscapeKeydown.js +1 -1
  520. package/esm/utils/components/dismissablelayer/util/useEscapeKeydown.js.map +1 -0
  521. package/esm/{overlays → utils/components}/dismissablelayer/util/useFocusOutside.js +1 -1
  522. package/esm/utils/components/dismissablelayer/util/useFocusOutside.js.map +1 -0
  523. package/esm/{overlays → utils/components}/dismissablelayer/util/usePointerDownOutside.js +1 -1
  524. package/esm/utils/components/dismissablelayer/util/usePointerDownOutside.js.map +1 -0
  525. package/esm/{overlays → utils/components}/dismissablelayer/util/usePointerUpOutside.js +1 -1
  526. package/esm/utils/components/dismissablelayer/util/usePointerUpOutside.js.map +1 -0
  527. package/esm/{overlays → utils/components}/floating/Floating.d.ts +1 -1
  528. package/esm/{overlays → utils/components}/floating/Floating.js +5 -5
  529. package/esm/utils/components/floating/Floating.js.map +1 -0
  530. package/{cjs/overlays → esm/utils/components}/floating/Floating.utils.d.ts +1 -1
  531. package/esm/utils/components/floating/Floating.utils.js.map +1 -0
  532. package/esm/{overlays → utils/components}/floating-menu/Menu.d.ts +3 -3
  533. package/esm/{overlays → utils/components}/floating-menu/Menu.js +5 -5
  534. package/esm/utils/components/floating-menu/Menu.js.map +1 -0
  535. package/esm/{overlays → utils/components}/floating-menu/parts/RovingFocus.d.ts +1 -1
  536. package/esm/{overlays → utils/components}/floating-menu/parts/RovingFocus.js +3 -3
  537. package/esm/utils/components/floating-menu/parts/RovingFocus.js.map +1 -0
  538. package/esm/{overlays → utils/components}/floating-menu/parts/SlottedDivElement.js +1 -1
  539. package/esm/utils/components/floating-menu/parts/SlottedDivElement.js.map +1 -0
  540. package/esm/utils/components/textarea-autosize/TextareaAutoSize.js.map +1 -1
  541. package/esm/utils/components/virtualfocus/parts/VirtualFocusAnchor.js.map +1 -1
  542. package/esm/utils/components/virtualfocus/parts/VirtualFocusItem.js.map +1 -1
  543. package/esm/utils/i18n/locales/en.d.ts +3 -0
  544. package/esm/utils/i18n/locales/en.js +3 -0
  545. package/esm/utils/i18n/locales/en.js.map +1 -1
  546. package/esm/utils/i18n/locales/nb.d.ts +4 -0
  547. package/esm/utils/i18n/locales/nb.js +4 -0
  548. package/esm/utils/i18n/locales/nb.js.map +1 -1
  549. package/esm/utils/i18n/locales/nn.d.ts +3 -0
  550. package/esm/utils/i18n/locales/nn.js +3 -0
  551. package/esm/utils/i18n/locales/nn.js.map +1 -1
  552. package/esm/utils-external/hooks/useEventListener.d.ts +2 -2
  553. package/package.json +32 -32
  554. package/src/accordion/AccordionContent.tsx +1 -2
  555. package/src/accordion/AccordionHeader.tsx +1 -2
  556. package/src/{overlays/action-menu → action-menu}/ActionMenu.tsx +18 -9
  557. package/src/alert/global-alert/root/GlobalAlertRoot.tsx +7 -6
  558. package/src/alert/info-card/root/InfoCardRoot.tsx +3 -4
  559. package/src/alert/local-alert/root/LocalAlertRoot.tsx +7 -6
  560. package/src/button/Button.tsx +1 -2
  561. package/src/chips/Removable.tsx +1 -2
  562. package/src/chips/Toggle.tsx +1 -2
  563. package/src/collapsible/{parts/Collapsible.Content.tsx → content/CollapsibleContent.tsx} +5 -6
  564. package/src/collapsible/index.ts +2 -2
  565. package/src/collapsible/{Collapsible.context.tsx → root/CollapsibleRoot.context.tsx} +6 -3
  566. package/src/collapsible/{Collapsible.tsx → root/CollapsibleRoot.tsx} +24 -8
  567. package/src/collapsible/{parts/Collapsible.Trigger.tsx → trigger/CollapsibleTrigger.tsx} +5 -6
  568. package/src/copybutton/CopyButton.tsx +2 -1
  569. package/src/data/action-bar/root/DataActionBarRoot.tsx +2 -2
  570. package/src/data/stories/DataTableProfiler.tsx +215 -0
  571. package/src/data/stories/dummy-data.tsx +39 -17
  572. package/src/data/table/helpers/table-cell.ts +23 -0
  573. package/src/data/table/helpers/table-focus.ts +105 -0
  574. package/src/data/table/helpers/table-grid-nav.ts +112 -0
  575. package/src/data/table/helpers/table-keyboard.test.ts +247 -0
  576. package/src/data/table/helpers/table-keyboard.ts +126 -0
  577. package/src/data/table/index.tsx +2 -0
  578. package/src/data/table/root/DataTableRoot.tsx +68 -10
  579. package/src/data/table/root/useTableKeyboardNav.ts +197 -0
  580. package/src/data/table/td/DataTableTd.tsx +7 -1
  581. package/src/data/table/tfoot/DataTableTfoot.tsx +21 -0
  582. package/src/data/table/th/DataTableTh.tsx +78 -35
  583. package/src/data/table/th/DataTableThActions.tsx +32 -0
  584. package/src/data/table/th/DataTableThSortHandle.tsx +67 -0
  585. package/src/date/Date.Input.tsx +1 -2
  586. package/src/date/datepicker/DatePicker.types.ts +2 -1
  587. package/src/date/datepicker/hooks/useDatepicker.tsx +12 -13
  588. package/src/date/datepicker/hooks/useRangeDatepicker.tsx +4 -5
  589. package/src/date/datepicker/parts/DatePicker.RDP.tsx +1 -1
  590. package/src/date/datepicker/parts/DatePicker.Standalone.tsx +4 -5
  591. package/src/date/datepicker/parts/DatePicker.WeekNumber.tsx +1 -1
  592. package/src/date/datepicker/parts/DatePicker.WeekRow.tsx +1 -1
  593. package/src/date/monthpicker/hooks/useMonthPicker.tsx +4 -5
  594. package/src/date/monthpicker/parts/MonthPicker.Standalone.tsx +4 -5
  595. package/src/dialog/close-trigger/DialogCloseTrigger.tsx +1 -2
  596. package/src/dialog/popup/DialogPopupInternal.tsx +3 -4
  597. package/src/dropdown/Menu/GroupedList/GroupedHeading.tsx +1 -2
  598. package/src/dropdown/Menu/GroupedList/GroupedItem.tsx +1 -2
  599. package/src/dropdown/Menu/GroupedList/index.tsx +4 -6
  600. package/src/dropdown/Menu/List/index.tsx +3 -4
  601. package/src/dropdown/Menu/index.tsx +5 -4
  602. package/src/dropdown/Toggle.tsx +1 -2
  603. package/src/expansion-card/ExpansionCardContent.tsx +1 -2
  604. package/src/expansion-card/ExpansionCardDescription.tsx +1 -2
  605. package/src/expansion-card/ExpansionCardHeader.tsx +1 -2
  606. package/src/expansion-card/ExpansionCardTitle.tsx +1 -2
  607. package/src/form/checkbox/CheckboxGroup.tsx +4 -5
  608. package/src/form/checkbox/types.ts +2 -1
  609. package/src/form/combobox/Combobox.tsx +1 -1
  610. package/src/form/combobox/FilteredOptions/FilteredOptions.tsx +2 -2
  611. package/src/form/combobox/FilteredOptions/filteredOptionsContext.tsx +23 -9
  612. package/src/form/combobox/Input/Input.tsx +12 -13
  613. package/src/form/combobox/Input/InputController.tsx +1 -1
  614. package/src/form/combobox/types.ts +2 -1
  615. package/src/form/confirmation-panel/ConfirmationPanel.tsx +4 -5
  616. package/src/form/error-summary/ErrorSummary.tsx +7 -6
  617. package/src/form/error-summary/ErrorSummaryItem.tsx +1 -2
  618. package/src/form/fieldset/Fieldset.tsx +1 -2
  619. package/src/form/file-upload/dropzone/FileUploadDropzone.tsx +183 -0
  620. package/src/form/file-upload/{parts/dropzone → dropzone}/dropzone.types.ts +5 -4
  621. package/src/form/file-upload/{parts/dropzone → dropzone}/useDropzone.ts +1 -1
  622. package/src/form/file-upload/{parts/item/utils → helpers}/file-type-checker.ts +1 -1
  623. package/src/form/file-upload/{parts/item/utils → helpers}/format-file-size.ts +1 -1
  624. package/src/form/file-upload/{useFileUpload.ts → hooks/useFileUpload.ts} +8 -6
  625. package/src/form/file-upload/index.ts +11 -11
  626. package/src/form/file-upload/item/FileUploadItem.tsx +142 -0
  627. package/src/form/file-upload/{parts/item → item-action-field}/ItemActionField.tsx +4 -4
  628. package/src/form/file-upload/{parts/item → item-header}/ItemHeader.tsx +6 -6
  629. package/src/form/file-upload/{parts/item → item-icon}/ItemIcon.tsx +1 -1
  630. package/src/form/file-upload/{FileUpload.context.tsx → root/FileUploadRoot.context.tsx} +2 -2
  631. package/src/form/file-upload/{FileUpload.tsx → root/FileUploadRoot.tsx} +31 -12
  632. package/src/form/file-upload/{parts/Trigger.tsx → trigger/FileUploadTrigger.tsx} +9 -5
  633. package/src/form/form-progress/FormProgress.tsx +7 -9
  634. package/src/form/form-summary/FormSummary.tsx +3 -4
  635. package/src/form/form-summary/FormSummaryAnswer.tsx +1 -2
  636. package/src/form/form-summary/FormSummaryAnswers.tsx +1 -2
  637. package/src/form/form-summary/FormSummaryEditLink.tsx +1 -2
  638. package/src/form/form-summary/FormSummaryFooter.tsx +1 -2
  639. package/src/form/form-summary/FormSummaryHeader.tsx +1 -2
  640. package/src/form/form-summary/FormSummaryHeading.tsx +1 -2
  641. package/src/form/form-summary/FormSummaryLabel.tsx +1 -2
  642. package/src/form/form-summary/FormSummaryValue.tsx +1 -2
  643. package/src/form/radio/RadioGroup.tsx +4 -5
  644. package/src/form/radio/types.ts +2 -1
  645. package/src/form/search/SearchButton.tsx +4 -2
  646. package/src/form/select/Select.tsx +2 -1
  647. package/src/form/switch/Switch.tsx +6 -10
  648. package/src/form/textarea/Textarea.tsx +1 -2
  649. package/src/form/textfield/TextField.tsx +1 -2
  650. package/src/help-text/HelpText.tsx +2 -1
  651. package/src/index.ts +7 -7
  652. package/src/internal-header/InternalHeaderButton.tsx +1 -2
  653. package/src/internal-header/InternalHeaderTitle.tsx +1 -2
  654. package/src/internal-header/InternalHeaderUser.tsx +1 -2
  655. package/src/internal-header/InternalHeaderUserButton.tsx +1 -2
  656. package/src/link/Link.tsx +1 -2
  657. package/src/link-card/LinkCard.tsx +3 -4
  658. package/src/link-panel/LinkPanelDescription.tsx +1 -2
  659. package/src/link-panel/LinkPanelTitle.tsx +1 -2
  660. package/src/modal/Modal.tsx +3 -4
  661. package/src/pagination/Pagination.tsx +7 -9
  662. package/src/popover/Popover.tsx +4 -5
  663. package/src/popover/PopoverContent.tsx +1 -2
  664. package/src/{layout → primitives}/box/Box.tsx +4 -2
  665. package/src/{layout → primitives}/page/Page.tsx +4 -2
  666. package/src/process/Process.tsx +3 -4
  667. package/src/progress-bar/ProgressBar.tsx +4 -2
  668. package/src/read-more/ReadMore.tsx +1 -2
  669. package/src/stepper/Step.tsx +1 -2
  670. package/src/table/DataCell.tsx +1 -2
  671. package/src/table/ExpandableRow.tsx +4 -2
  672. package/src/table/HeaderCell.tsx +1 -2
  673. package/src/table/Table.tsx +4 -6
  674. package/src/tabs/Tabs.types.ts +4 -2
  675. package/src/tabs/parts/tab/Tab.tsx +4 -2
  676. package/src/timeline/Timeline.tsx +1 -2
  677. package/src/timeline/TimelineRow.tsx +45 -32
  678. package/src/timeline/period/index.tsx +4 -7
  679. package/src/timeline/pin/Pin.tsx +3 -4
  680. package/src/timeline/pin/PinInternal.tsx +1 -2
  681. package/src/timeline/utils/timeline.ts +1 -1
  682. package/src/timeline/zoom/index.tsx +5 -4
  683. package/src/toggle-group/ToggleGroup.types.ts +4 -2
  684. package/src/toggle-group/useToggleGroup.ts +5 -9
  685. package/src/tooltip/Tooltip.tsx +66 -11
  686. package/src/typography/BodyLong.tsx +1 -2
  687. package/src/typography/BodyShort.tsx +1 -2
  688. package/src/typography/Detail.tsx +1 -2
  689. package/src/typography/ErrorMessage.tsx +2 -1
  690. package/src/typography/Heading.tsx +2 -1
  691. package/src/typography/Ingress.tsx +1 -2
  692. package/src/typography/Label.tsx +2 -1
  693. package/src/{overlays → utils/components}/dismissablelayer/DismissableLayer.tsx +5 -6
  694. package/src/{overlays → utils/components}/dismissablelayer/util/useEscapeKeydown.ts +1 -1
  695. package/src/{overlays → utils/components}/dismissablelayer/util/useFocusOutside.ts +1 -1
  696. package/src/{overlays → utils/components}/dismissablelayer/util/usePointerDownOutside.ts +1 -1
  697. package/src/{overlays → utils/components}/dismissablelayer/util/usePointerUpOutside.ts +1 -1
  698. package/src/{overlays → utils/components}/floating/Floating.tsx +7 -6
  699. package/src/{overlays → utils/components}/floating/Floating.utils.ts +1 -1
  700. package/src/{overlays → utils/components}/floating-menu/Menu.tsx +7 -6
  701. package/src/{overlays → utils/components}/floating-menu/parts/RovingFocus.tsx +9 -7
  702. package/src/{overlays → utils/components}/floating-menu/parts/SlottedDivElement.tsx +1 -1
  703. package/src/utils/components/textarea-autosize/TextareaAutoSize.tsx +4 -5
  704. package/src/utils/components/virtualfocus/parts/VirtualFocusAnchor.tsx +4 -2
  705. package/src/utils/components/virtualfocus/parts/VirtualFocusItem.tsx +4 -2
  706. package/src/utils/i18n/locales/en.ts +3 -0
  707. package/src/utils/i18n/locales/nb.ts +3 -0
  708. package/src/utils/i18n/locales/nn.ts +3 -0
  709. package/src/utils-external/hooks/useEventListener.ts +2 -2
  710. package/cjs/collapsible/Collapsible.context.js.map +0 -1
  711. package/cjs/collapsible/Collapsible.js.map +0 -1
  712. package/cjs/collapsible/Collapsible.types.d.ts +0 -19
  713. package/cjs/collapsible/Collapsible.types.js.map +0 -1
  714. package/cjs/form/file-upload/FileUpload.context.js.map +0 -1
  715. package/cjs/form/file-upload/FileUpload.js.map +0 -1
  716. package/cjs/form/file-upload/parts/Trigger.d.ts +0 -7
  717. package/cjs/form/file-upload/parts/Trigger.js.map +0 -1
  718. package/cjs/form/file-upload/parts/dropzone/Dropzone.d.ts +0 -4
  719. package/cjs/form/file-upload/parts/dropzone/Dropzone.js.map +0 -1
  720. package/cjs/form/file-upload/parts/dropzone/dropzone.types.js.map +0 -1
  721. package/cjs/form/file-upload/parts/dropzone/useDropzone.js.map +0 -1
  722. package/cjs/form/file-upload/parts/item/Item.js.map +0 -1
  723. package/cjs/form/file-upload/parts/item/Item.types.js +0 -3
  724. package/cjs/form/file-upload/parts/item/Item.types.js.map +0 -1
  725. package/cjs/form/file-upload/parts/item/ItemActionField.js.map +0 -1
  726. package/cjs/form/file-upload/parts/item/ItemButton.d.ts +0 -9
  727. package/cjs/form/file-upload/parts/item/ItemButton.js +0 -14
  728. package/cjs/form/file-upload/parts/item/ItemButton.js.map +0 -1
  729. package/cjs/form/file-upload/parts/item/ItemHeader.js.map +0 -1
  730. package/cjs/form/file-upload/parts/item/ItemIcon.js.map +0 -1
  731. package/cjs/form/file-upload/parts/item/utils/download-file.js.map +0 -1
  732. package/cjs/form/file-upload/parts/item/utils/file-type-checker.js.map +0 -1
  733. package/cjs/form/file-upload/parts/item/utils/format-file-size.js.map +0 -1
  734. package/cjs/form/file-upload/useFileUpload.js.map +0 -1
  735. package/cjs/form/file-upload/utils/is-accepted-file-type.js.map +0 -1
  736. package/cjs/form/file-upload/utils/is-accepted-size.js.map +0 -1
  737. package/cjs/form/file-upload/utils/validate-files.js.map +0 -1
  738. package/cjs/layout/base/BasePrimitive.js.map +0 -1
  739. package/cjs/layout/base/PrimitiveAsChildProps.js.map +0 -1
  740. package/cjs/layout/bleed/Bleed.js.map +0 -1
  741. package/cjs/layout/bleed/index.js.map +0 -1
  742. package/cjs/layout/box/Box.darkside.js.map +0 -1
  743. package/cjs/layout/box/Box.js.map +0 -1
  744. package/cjs/layout/box/index.js.map +0 -1
  745. package/cjs/layout/grid/HGrid.js.map +0 -1
  746. package/cjs/layout/grid/index.js.map +0 -1
  747. package/cjs/layout/page/Page.js.map +0 -1
  748. package/cjs/layout/page/index.js.map +0 -1
  749. package/cjs/layout/page/parts/PageBlock.js.map +0 -1
  750. package/cjs/layout/responsive/Responsive.js.map +0 -1
  751. package/cjs/layout/responsive/index.js.map +0 -1
  752. package/cjs/layout/stack/HStack.js.map +0 -1
  753. package/cjs/layout/stack/Spacer.js.map +0 -1
  754. package/cjs/layout/stack/Stack.js.map +0 -1
  755. package/cjs/layout/stack/VStack.js.map +0 -1
  756. package/cjs/layout/stack/index.js.map +0 -1
  757. package/cjs/layout/utilities/css.js.map +0 -1
  758. package/cjs/layout/utilities/types.js.map +0 -1
  759. package/cjs/overlays/action-menu/ActionMenu.js.map +0 -1
  760. package/cjs/overlays/action-menu/index.js.map +0 -1
  761. package/cjs/overlays/dismissablelayer/DismissableLayer.js.map +0 -1
  762. package/cjs/overlays/dismissablelayer/util/dispatchCustomEvent.js.map +0 -1
  763. package/cjs/overlays/dismissablelayer/util/sort-layers.js.map +0 -1
  764. package/cjs/overlays/dismissablelayer/util/useEscapeKeydown.js.map +0 -1
  765. package/cjs/overlays/dismissablelayer/util/useFocusOutside.js.map +0 -1
  766. package/cjs/overlays/dismissablelayer/util/usePointerDownOutside.js.map +0 -1
  767. package/cjs/overlays/dismissablelayer/util/usePointerUpOutside.js.map +0 -1
  768. package/cjs/overlays/floating/Floating.js.map +0 -1
  769. package/cjs/overlays/floating/Floating.utils.js.map +0 -1
  770. package/cjs/overlays/floating-menu/Menu.js.map +0 -1
  771. package/cjs/overlays/floating-menu/parts/RovingFocus.js.map +0 -1
  772. package/cjs/overlays/floating-menu/parts/SlottedDivElement.js.map +0 -1
  773. package/esm/collapsible/Collapsible.context.js.map +0 -1
  774. package/esm/collapsible/Collapsible.js.map +0 -1
  775. package/esm/collapsible/Collapsible.types.d.ts +0 -19
  776. package/esm/collapsible/Collapsible.types.js +0 -2
  777. package/esm/collapsible/Collapsible.types.js.map +0 -1
  778. package/esm/form/file-upload/FileUpload.context.js.map +0 -1
  779. package/esm/form/file-upload/FileUpload.js.map +0 -1
  780. package/esm/form/file-upload/parts/Trigger.d.ts +0 -7
  781. package/esm/form/file-upload/parts/Trigger.js.map +0 -1
  782. package/esm/form/file-upload/parts/dropzone/Dropzone.d.ts +0 -4
  783. package/esm/form/file-upload/parts/dropzone/Dropzone.js.map +0 -1
  784. package/esm/form/file-upload/parts/dropzone/dropzone.types.js.map +0 -1
  785. package/esm/form/file-upload/parts/dropzone/useDropzone.js.map +0 -1
  786. package/esm/form/file-upload/parts/item/Item.js.map +0 -1
  787. package/esm/form/file-upload/parts/item/Item.types.js +0 -2
  788. package/esm/form/file-upload/parts/item/Item.types.js.map +0 -1
  789. package/esm/form/file-upload/parts/item/ItemActionField.js.map +0 -1
  790. package/esm/form/file-upload/parts/item/ItemButton.d.ts +0 -9
  791. package/esm/form/file-upload/parts/item/ItemButton.js +0 -9
  792. package/esm/form/file-upload/parts/item/ItemButton.js.map +0 -1
  793. package/esm/form/file-upload/parts/item/ItemIcon.js.map +0 -1
  794. package/esm/form/file-upload/parts/item/utils/download-file.js.map +0 -1
  795. package/esm/form/file-upload/parts/item/utils/file-type-checker.js.map +0 -1
  796. package/esm/form/file-upload/parts/item/utils/format-file-size.js.map +0 -1
  797. package/esm/form/file-upload/useFileUpload.js.map +0 -1
  798. package/esm/form/file-upload/utils/is-accepted-file-type.js.map +0 -1
  799. package/esm/form/file-upload/utils/is-accepted-size.js.map +0 -1
  800. package/esm/form/file-upload/utils/validate-files.js.map +0 -1
  801. package/esm/layout/base/BasePrimitive.js.map +0 -1
  802. package/esm/layout/base/PrimitiveAsChildProps.js.map +0 -1
  803. package/esm/layout/bleed/Bleed.js.map +0 -1
  804. package/esm/layout/bleed/index.js.map +0 -1
  805. package/esm/layout/box/Box.darkside.js.map +0 -1
  806. package/esm/layout/box/Box.js.map +0 -1
  807. package/esm/layout/box/index.js.map +0 -1
  808. package/esm/layout/grid/HGrid.js.map +0 -1
  809. package/esm/layout/grid/index.js.map +0 -1
  810. package/esm/layout/page/Page.js.map +0 -1
  811. package/esm/layout/page/index.js.map +0 -1
  812. package/esm/layout/page/parts/PageBlock.js.map +0 -1
  813. package/esm/layout/responsive/Responsive.js.map +0 -1
  814. package/esm/layout/responsive/index.js.map +0 -1
  815. package/esm/layout/stack/HStack.js.map +0 -1
  816. package/esm/layout/stack/Spacer.js.map +0 -1
  817. package/esm/layout/stack/Stack.js.map +0 -1
  818. package/esm/layout/stack/VStack.js.map +0 -1
  819. package/esm/layout/stack/index.js.map +0 -1
  820. package/esm/layout/utilities/css.js.map +0 -1
  821. package/esm/layout/utilities/types.js.map +0 -1
  822. package/esm/overlays/action-menu/ActionMenu.js.map +0 -1
  823. package/esm/overlays/action-menu/index.js.map +0 -1
  824. package/esm/overlays/dismissablelayer/DismissableLayer.js.map +0 -1
  825. package/esm/overlays/dismissablelayer/util/dispatchCustomEvent.js.map +0 -1
  826. package/esm/overlays/dismissablelayer/util/sort-layers.js.map +0 -1
  827. package/esm/overlays/dismissablelayer/util/useEscapeKeydown.js.map +0 -1
  828. package/esm/overlays/dismissablelayer/util/useFocusOutside.js.map +0 -1
  829. package/esm/overlays/dismissablelayer/util/usePointerDownOutside.js.map +0 -1
  830. package/esm/overlays/dismissablelayer/util/usePointerUpOutside.js.map +0 -1
  831. package/esm/overlays/floating/Floating.js.map +0 -1
  832. package/esm/overlays/floating/Floating.utils.js.map +0 -1
  833. package/esm/overlays/floating-menu/Menu.js.map +0 -1
  834. package/esm/overlays/floating-menu/parts/RovingFocus.js.map +0 -1
  835. package/esm/overlays/floating-menu/parts/SlottedDivElement.js.map +0 -1
  836. package/src/collapsible/Collapsible.types.ts +0 -19
  837. package/src/form/file-upload/parts/dropzone/Dropzone.tsx +0 -189
  838. package/src/form/file-upload/parts/item/Item.tsx +0 -140
  839. package/src/form/file-upload/parts/item/ItemButton.tsx +0 -27
  840. /package/cjs/{overlays/action-menu → action-menu}/index.d.ts +0 -0
  841. /package/cjs/{overlays/action-menu → action-menu}/index.js +0 -0
  842. /package/cjs/collapsible/{parts/Collapsible.Content.d.ts → content/CollapsibleContent.d.ts} +0 -0
  843. /package/cjs/collapsible/{parts/Collapsible.Trigger.d.ts → trigger/CollapsibleTrigger.d.ts} +0 -0
  844. /package/cjs/form/file-upload/{parts/dropzone → dropzone}/dropzone.types.js +0 -0
  845. /package/cjs/form/file-upload/{parts/dropzone → dropzone}/useDropzone.js +0 -0
  846. /package/cjs/form/file-upload/{parts/item/utils → helpers}/download-file.d.ts +0 -0
  847. /package/cjs/form/file-upload/{parts/item/utils → helpers}/download-file.js +0 -0
  848. /package/cjs/form/file-upload/{parts/item/utils → helpers}/file-type-checker.js +0 -0
  849. /package/cjs/form/file-upload/{parts/item/utils → helpers}/format-file-size.js +0 -0
  850. /package/cjs/form/file-upload/{utils → helpers}/is-accepted-file-type.d.ts +0 -0
  851. /package/cjs/form/file-upload/{utils → helpers}/is-accepted-file-type.js +0 -0
  852. /package/cjs/form/file-upload/{utils → helpers}/is-accepted-size.d.ts +0 -0
  853. /package/cjs/form/file-upload/{utils → helpers}/is-accepted-size.js +0 -0
  854. /package/cjs/form/file-upload/{utils → helpers}/validate-files.d.ts +0 -0
  855. /package/cjs/form/file-upload/{utils → helpers}/validate-files.js +0 -0
  856. /package/cjs/form/file-upload/{parts/item/Item.types.d.ts → item/FileUploadItem.types.d.ts} +0 -0
  857. /package/cjs/form/file-upload/{parts/item → item-icon}/ItemIcon.js +0 -0
  858. /package/cjs/{layout → primitives}/base/BasePrimitive.d.ts +0 -0
  859. /package/cjs/{layout → primitives}/base/BasePrimitive.js +0 -0
  860. /package/cjs/{layout → primitives}/base/PrimitiveAsChildProps.d.ts +0 -0
  861. /package/cjs/{layout → primitives}/base/PrimitiveAsChildProps.js +0 -0
  862. /package/cjs/{layout → primitives}/bleed/Bleed.d.ts +0 -0
  863. /package/cjs/{layout → primitives}/bleed/Bleed.js +0 -0
  864. /package/cjs/{layout → primitives}/bleed/index.d.ts +0 -0
  865. /package/cjs/{layout → primitives}/bleed/index.js +0 -0
  866. /package/cjs/{layout → primitives}/box/Box.d.ts +0 -0
  867. /package/cjs/{layout → primitives}/box/Box.darkside.d.ts +0 -0
  868. /package/cjs/{layout → primitives}/box/Box.darkside.js +0 -0
  869. /package/cjs/{layout → primitives}/box/Box.js +0 -0
  870. /package/cjs/{layout → primitives}/box/index.d.ts +0 -0
  871. /package/cjs/{layout → primitives}/box/index.js +0 -0
  872. /package/cjs/{layout → primitives}/grid/HGrid.d.ts +0 -0
  873. /package/cjs/{layout → primitives}/grid/HGrid.js +0 -0
  874. /package/cjs/{layout → primitives}/grid/index.d.ts +0 -0
  875. /package/cjs/{layout → primitives}/grid/index.js +0 -0
  876. /package/cjs/{layout → primitives}/page/Page.d.ts +0 -0
  877. /package/cjs/{layout → primitives}/page/Page.js +0 -0
  878. /package/cjs/{layout → primitives}/page/index.d.ts +0 -0
  879. /package/cjs/{layout → primitives}/page/index.js +0 -0
  880. /package/cjs/{layout → primitives}/page/parts/PageBlock.d.ts +0 -0
  881. /package/cjs/{layout → primitives}/page/parts/PageBlock.js +0 -0
  882. /package/cjs/{layout → primitives}/responsive/Responsive.d.ts +0 -0
  883. /package/cjs/{layout → primitives}/responsive/Responsive.js +0 -0
  884. /package/cjs/{layout → primitives}/responsive/index.d.ts +0 -0
  885. /package/cjs/{layout → primitives}/responsive/index.js +0 -0
  886. /package/cjs/{layout → primitives}/stack/HStack.d.ts +0 -0
  887. /package/cjs/{layout → primitives}/stack/HStack.js +0 -0
  888. /package/cjs/{layout → primitives}/stack/Spacer.d.ts +0 -0
  889. /package/cjs/{layout → primitives}/stack/Spacer.js +0 -0
  890. /package/cjs/{layout → primitives}/stack/Stack.d.ts +0 -0
  891. /package/cjs/{layout → primitives}/stack/Stack.js +0 -0
  892. /package/cjs/{layout → primitives}/stack/VStack.d.ts +0 -0
  893. /package/cjs/{layout → primitives}/stack/VStack.js +0 -0
  894. /package/cjs/{layout → primitives}/stack/index.d.ts +0 -0
  895. /package/cjs/{layout → primitives}/stack/index.js +0 -0
  896. /package/cjs/{layout → primitives}/utilities/css.d.ts +0 -0
  897. /package/cjs/{layout → primitives}/utilities/css.js +0 -0
  898. /package/cjs/{layout → primitives}/utilities/types.d.ts +0 -0
  899. /package/cjs/{layout → primitives}/utilities/types.js +0 -0
  900. /package/cjs/{overlays → utils/components}/dismissablelayer/util/dispatchCustomEvent.d.ts +0 -0
  901. /package/cjs/{overlays → utils/components}/dismissablelayer/util/dispatchCustomEvent.js +0 -0
  902. /package/cjs/{overlays → utils/components}/dismissablelayer/util/sort-layers.d.ts +0 -0
  903. /package/cjs/{overlays → utils/components}/dismissablelayer/util/sort-layers.js +0 -0
  904. /package/cjs/{overlays → utils/components}/dismissablelayer/util/useEscapeKeydown.d.ts +0 -0
  905. /package/cjs/{overlays → utils/components}/dismissablelayer/util/useFocusOutside.d.ts +0 -0
  906. /package/cjs/{overlays → utils/components}/dismissablelayer/util/usePointerDownOutside.d.ts +0 -0
  907. /package/cjs/{overlays → utils/components}/dismissablelayer/util/usePointerUpOutside.d.ts +0 -0
  908. /package/cjs/{overlays → utils/components}/floating/Floating.utils.js +0 -0
  909. /package/cjs/{overlays → utils/components}/floating-menu/parts/SlottedDivElement.d.ts +0 -0
  910. /package/esm/{overlays/action-menu → action-menu}/index.d.ts +0 -0
  911. /package/esm/{overlays/action-menu → action-menu}/index.js +0 -0
  912. /package/esm/collapsible/{parts/Collapsible.Content.d.ts → content/CollapsibleContent.d.ts} +0 -0
  913. /package/esm/collapsible/{parts/Collapsible.Trigger.d.ts → trigger/CollapsibleTrigger.d.ts} +0 -0
  914. /package/esm/form/file-upload/{parts/dropzone → dropzone}/dropzone.types.js +0 -0
  915. /package/esm/form/file-upload/{parts/dropzone → dropzone}/useDropzone.js +0 -0
  916. /package/esm/form/file-upload/{parts/item/utils → helpers}/download-file.d.ts +0 -0
  917. /package/esm/form/file-upload/{parts/item/utils → helpers}/download-file.js +0 -0
  918. /package/esm/form/file-upload/{parts/item/utils → helpers}/file-type-checker.js +0 -0
  919. /package/esm/form/file-upload/{parts/item/utils → helpers}/format-file-size.js +0 -0
  920. /package/esm/form/file-upload/{utils → helpers}/is-accepted-file-type.d.ts +0 -0
  921. /package/esm/form/file-upload/{utils → helpers}/is-accepted-file-type.js +0 -0
  922. /package/esm/form/file-upload/{utils → helpers}/is-accepted-size.d.ts +0 -0
  923. /package/esm/form/file-upload/{utils → helpers}/is-accepted-size.js +0 -0
  924. /package/esm/form/file-upload/{utils → helpers}/validate-files.d.ts +0 -0
  925. /package/esm/form/file-upload/{utils → helpers}/validate-files.js +0 -0
  926. /package/esm/form/file-upload/{parts/item/Item.types.d.ts → item/FileUploadItem.types.d.ts} +0 -0
  927. /package/esm/form/file-upload/{parts/item → item-icon}/ItemIcon.js +0 -0
  928. /package/esm/{layout → primitives}/base/BasePrimitive.d.ts +0 -0
  929. /package/esm/{layout → primitives}/base/BasePrimitive.js +0 -0
  930. /package/esm/{layout → primitives}/base/PrimitiveAsChildProps.d.ts +0 -0
  931. /package/esm/{layout → primitives}/base/PrimitiveAsChildProps.js +0 -0
  932. /package/esm/{layout → primitives}/bleed/Bleed.d.ts +0 -0
  933. /package/esm/{layout → primitives}/bleed/Bleed.js +0 -0
  934. /package/esm/{layout → primitives}/bleed/index.d.ts +0 -0
  935. /package/esm/{layout → primitives}/bleed/index.js +0 -0
  936. /package/esm/{layout → primitives}/box/Box.d.ts +0 -0
  937. /package/esm/{layout → primitives}/box/Box.darkside.d.ts +0 -0
  938. /package/esm/{layout → primitives}/box/Box.darkside.js +0 -0
  939. /package/esm/{layout → primitives}/box/Box.js +0 -0
  940. /package/esm/{layout → primitives}/box/index.d.ts +0 -0
  941. /package/esm/{layout → primitives}/box/index.js +0 -0
  942. /package/esm/{layout → primitives}/grid/HGrid.d.ts +0 -0
  943. /package/esm/{layout → primitives}/grid/HGrid.js +0 -0
  944. /package/esm/{layout → primitives}/grid/index.d.ts +0 -0
  945. /package/esm/{layout → primitives}/grid/index.js +0 -0
  946. /package/esm/{layout → primitives}/page/Page.d.ts +0 -0
  947. /package/esm/{layout → primitives}/page/Page.js +0 -0
  948. /package/esm/{layout → primitives}/page/index.d.ts +0 -0
  949. /package/esm/{layout → primitives}/page/index.js +0 -0
  950. /package/esm/{layout → primitives}/page/parts/PageBlock.d.ts +0 -0
  951. /package/esm/{layout → primitives}/page/parts/PageBlock.js +0 -0
  952. /package/esm/{layout → primitives}/responsive/Responsive.d.ts +0 -0
  953. /package/esm/{layout → primitives}/responsive/Responsive.js +0 -0
  954. /package/esm/{layout → primitives}/responsive/index.d.ts +0 -0
  955. /package/esm/{layout → primitives}/responsive/index.js +0 -0
  956. /package/esm/{layout → primitives}/stack/HStack.d.ts +0 -0
  957. /package/esm/{layout → primitives}/stack/HStack.js +0 -0
  958. /package/esm/{layout → primitives}/stack/Spacer.d.ts +0 -0
  959. /package/esm/{layout → primitives}/stack/Spacer.js +0 -0
  960. /package/esm/{layout → primitives}/stack/Stack.d.ts +0 -0
  961. /package/esm/{layout → primitives}/stack/Stack.js +0 -0
  962. /package/esm/{layout → primitives}/stack/VStack.d.ts +0 -0
  963. /package/esm/{layout → primitives}/stack/VStack.js +0 -0
  964. /package/esm/{layout → primitives}/stack/index.d.ts +0 -0
  965. /package/esm/{layout → primitives}/stack/index.js +0 -0
  966. /package/esm/{layout → primitives}/utilities/css.d.ts +0 -0
  967. /package/esm/{layout → primitives}/utilities/css.js +0 -0
  968. /package/esm/{layout → primitives}/utilities/types.d.ts +0 -0
  969. /package/esm/{layout → primitives}/utilities/types.js +0 -0
  970. /package/esm/{overlays → utils/components}/dismissablelayer/util/dispatchCustomEvent.d.ts +0 -0
  971. /package/esm/{overlays → utils/components}/dismissablelayer/util/dispatchCustomEvent.js +0 -0
  972. /package/esm/{overlays → utils/components}/dismissablelayer/util/sort-layers.d.ts +0 -0
  973. /package/esm/{overlays → utils/components}/dismissablelayer/util/sort-layers.js +0 -0
  974. /package/esm/{overlays → utils/components}/dismissablelayer/util/useEscapeKeydown.d.ts +0 -0
  975. /package/esm/{overlays → utils/components}/dismissablelayer/util/useFocusOutside.d.ts +0 -0
  976. /package/esm/{overlays → utils/components}/dismissablelayer/util/usePointerDownOutside.d.ts +0 -0
  977. /package/esm/{overlays → utils/components}/dismissablelayer/util/usePointerUpOutside.d.ts +0 -0
  978. /package/esm/{overlays → utils/components}/floating/Floating.utils.js +0 -0
  979. /package/esm/{overlays → utils/components}/floating-menu/parts/SlottedDivElement.d.ts +0 -0
  980. /package/src/{overlays/action-menu → action-menu}/index.ts +0 -0
  981. /package/src/form/file-upload/{parts/item/utils → helpers}/download-file.ts +0 -0
  982. /package/src/form/file-upload/{parts/item/utils → helpers}/format-file-size.test.ts +0 -0
  983. /package/src/form/file-upload/{utils → helpers}/is-accepted-file-type.test.ts +0 -0
  984. /package/src/form/file-upload/{utils → helpers}/is-accepted-file-type.ts +0 -0
  985. /package/src/form/file-upload/{utils → helpers}/is-accepted-size.test.ts +0 -0
  986. /package/src/form/file-upload/{utils → helpers}/is-accepted-size.ts +0 -0
  987. /package/src/form/file-upload/{utils → helpers}/validate-files.test.ts +0 -0
  988. /package/src/form/file-upload/{utils → helpers}/validate-files.ts +0 -0
  989. /package/src/form/file-upload/{parts/item/Item.types.ts → item/FileUploadItem.types.ts} +0 -0
  990. /package/src/{layout → primitives}/base/BasePrimitive.tsx +0 -0
  991. /package/src/{layout → primitives}/base/PrimitiveAsChildProps.ts +0 -0
  992. /package/src/{layout → primitives}/bleed/Bleed.tsx +0 -0
  993. /package/src/{layout → primitives}/bleed/index.ts +0 -0
  994. /package/src/{layout → primitives}/box/Box.darkside.tsx +0 -0
  995. /package/src/{layout → primitives}/box/index.ts +0 -0
  996. /package/src/{layout → primitives}/grid/HGrid.tsx +0 -0
  997. /package/src/{layout → primitives}/grid/index.ts +0 -0
  998. /package/src/{layout → primitives}/page/index.ts +0 -0
  999. /package/src/{layout → primitives}/page/parts/PageBlock.tsx +0 -0
  1000. /package/src/{layout → primitives}/responsive/Responsive.tsx +0 -0
  1001. /package/src/{layout → primitives}/responsive/index.ts +0 -0
  1002. /package/src/{layout → primitives}/stack/HStack.tsx +0 -0
  1003. /package/src/{layout → primitives}/stack/Spacer.tsx +0 -0
  1004. /package/src/{layout → primitives}/stack/Stack.tsx +0 -0
  1005. /package/src/{layout → primitives}/stack/VStack.tsx +0 -0
  1006. /package/src/{layout → primitives}/stack/index.ts +0 -0
  1007. /package/src/{layout → primitives}/utilities/css.ts +0 -0
  1008. /package/src/{layout → primitives}/utilities/types.ts +0 -0
  1009. /package/src/{overlays → utils/components}/dismissablelayer/README.md +0 -0
  1010. /package/src/{overlays → utils/components}/dismissablelayer/util/dispatchCustomEvent.ts +0 -0
  1011. /package/src/{overlays → utils/components}/dismissablelayer/util/sort-layers.test.ts +0 -0
  1012. /package/src/{overlays → utils/components}/dismissablelayer/util/sort-layers.ts +0 -0
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Builds a utility grid allowing for easier keyboard-navigation between cells on columns and rows
3
+ */
4
+ declare function buildTableGrid(tableRef: HTMLTableElement): {
5
+ grid: (Element | undefined)[][];
6
+ positions: Map<Element, {
7
+ x: number;
8
+ y: number;
9
+ }>;
10
+ maxCols: number;
11
+ };
12
+ type TableGrid = ReturnType<typeof buildTableGrid>;
13
+ type GridCache = {
14
+ grid: TableGrid | null;
15
+ dirty: boolean;
16
+ };
17
+ /**
18
+ * Makes sure to keep a cached version of the table grid, and only rebuild it when necessary (when "dirty" flag is set)
19
+ */
20
+ declare function ensureTableGrid(tableRef: HTMLTableElement, tableGridCache: GridCache): TableGrid;
21
+ /**
22
+ * Finds the next cell in the given direction, starting from the current position.
23
+ * Skips over cells that are not focusable or are the same as the current cell.
24
+ * Returns null if no next cell is found in the given direction.
25
+ */
26
+ declare function findNextCell(grid: (Element | undefined)[][], currentPos: {
27
+ x: number;
28
+ y: number;
29
+ }, delta: {
30
+ x: number;
31
+ y: number;
32
+ }, currentCell: Element, maxCols: number): Element | null;
33
+ export { buildTableGrid, ensureTableGrid, findNextCell, type GridCache };
@@ -0,0 +1,80 @@
1
+ import { getFocusableTarget } from "./table-focus.js";
2
+ /**
3
+ * Builds a utility grid allowing for easier keyboard-navigation between cells on columns and rows
4
+ */
5
+ function buildTableGrid(tableRef) {
6
+ const rows = tableRef.rows;
7
+ const grid = [];
8
+ const positions = new Map();
9
+ let maxCols = 0;
10
+ /* Walk trough each row in order */
11
+ for (let rowIndex = 0; rowIndex < rows.length; rowIndex += 1) {
12
+ const row = rows[rowIndex];
13
+ const cells = row.cells;
14
+ if (!grid[rowIndex]) {
15
+ grid[rowIndex] = [];
16
+ }
17
+ let colIndex = 0;
18
+ /* Walk trough each cell in row */
19
+ for (let cellIndex = 0; cellIndex < cells.length; cellIndex += 1) {
20
+ const cell = cells[cellIndex];
21
+ /* Skip over slots already occupied by previous row/col spans. */
22
+ while (grid[rowIndex][colIndex]) {
23
+ colIndex += 1;
24
+ }
25
+ const colSpan = Math.max(cell.colSpan || 1, 1);
26
+ const rowSpan = Math.max(cell.rowSpan || 1, 1);
27
+ /* Fill the grid with references to this cell for its row/col span. */
28
+ for (let y = rowIndex; y < rowIndex + rowSpan; y += 1) {
29
+ if (!grid[y]) {
30
+ grid[y] = [];
31
+ }
32
+ for (let x = colIndex; x < colIndex + colSpan; x += 1) {
33
+ grid[y][x] = cell;
34
+ }
35
+ }
36
+ /* Track the top-left coordinate for each unique cell. */
37
+ if (!positions.has(cell)) {
38
+ positions.set(cell, { x: colIndex, y: rowIndex });
39
+ }
40
+ colIndex += colSpan;
41
+ if (colIndex > maxCols) {
42
+ maxCols = colIndex;
43
+ }
44
+ }
45
+ }
46
+ return { grid, positions, maxCols };
47
+ }
48
+ /**
49
+ * Makes sure to keep a cached version of the table grid, and only rebuild it when necessary (when "dirty" flag is set)
50
+ */
51
+ function ensureTableGrid(tableRef, tableGridCache) {
52
+ if (tableGridCache.dirty || !tableGridCache.grid) {
53
+ tableGridCache.grid = buildTableGrid(tableRef);
54
+ tableGridCache.dirty = false;
55
+ }
56
+ return tableGridCache.grid;
57
+ }
58
+ /**
59
+ * Finds the next cell in the given direction, starting from the current position.
60
+ * Skips over cells that are not focusable or are the same as the current cell.
61
+ * Returns null if no next cell is found in the given direction.
62
+ */
63
+ function findNextCell(grid, currentPos, delta, currentCell, maxCols) {
64
+ var _a;
65
+ let x = currentPos.x + delta.x;
66
+ let y = currentPos.y + delta.y;
67
+ const maxRows = grid.length;
68
+ while (y >= 0 && y < maxRows && x >= 0 && x < maxCols) {
69
+ const row = (_a = grid[y]) !== null && _a !== void 0 ? _a : [];
70
+ const cell = row[x];
71
+ if (cell && cell !== currentCell && !!getFocusableTarget(cell)) {
72
+ return cell;
73
+ }
74
+ x += delta.x;
75
+ y += delta.y;
76
+ }
77
+ return null;
78
+ }
79
+ export { buildTableGrid, ensureTableGrid, findNextCell };
80
+ //# sourceMappingURL=table-grid-nav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-grid-nav.js","sourceRoot":"","sources":["../../../../src/data/table/helpers/table-grid-nav.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ type Delta = {
2
+ x: number;
3
+ y: number;
4
+ };
5
+ declare function getDeltaFromKey(key: string): Delta | null;
6
+ /**
7
+ * Tries to make assumptions of what the user is currently doing inside a table cell
8
+ * Should block navigation if:
9
+ * - Input has selection, caret is not at start/end
10
+ * - Select arrow down/up for opening popup
11
+ * - User is navigating inside multiline textarea
12
+ * - contenteditable attrb is in use
13
+ */
14
+ declare function shouldBlockArrowKeyNavigation(event: KeyboardEvent): boolean;
15
+ export { getDeltaFromKey, shouldBlockArrowKeyNavigation };
@@ -0,0 +1,95 @@
1
+ const keyToCoord = {
2
+ ArrowUp: { x: 0, y: -1 },
3
+ ArrowDown: { x: 0, y: 1 },
4
+ ArrowLeft: { x: -1, y: 0 },
5
+ ArrowRight: { x: 1, y: 0 },
6
+ };
7
+ function getDeltaFromKey(key) {
8
+ if (key in keyToCoord) {
9
+ return keyToCoord[key];
10
+ }
11
+ return null;
12
+ }
13
+ /**
14
+ * Tries to make assumptions of what the user is currently doing inside a table cell
15
+ * Should block navigation if:
16
+ * - Input has selection, caret is not at start/end
17
+ * - Select arrow down/up for opening popup
18
+ * - User is navigating inside multiline textarea
19
+ * - contenteditable attrb is in use
20
+ */
21
+ function shouldBlockArrowKeyNavigation(event) {
22
+ const key = event.key;
23
+ if (!(key in keyToCoord)) {
24
+ return false;
25
+ }
26
+ const el = event.target;
27
+ if (!el) {
28
+ return false;
29
+ }
30
+ if (el.isContentEditable) {
31
+ return true;
32
+ }
33
+ /* If not any of these elements, assueme "safe" to navigate */
34
+ const editable = el.closest('input, textarea, select, [contenteditable="true"]');
35
+ if (!editable) {
36
+ return false;
37
+ }
38
+ if (editable instanceof HTMLInputElement) {
39
+ return shouldBlockInputArrow(editable, key);
40
+ }
41
+ if (editable instanceof HTMLTextAreaElement) {
42
+ return shouldBlockTextAreaArrow(editable, key);
43
+ }
44
+ if (editable instanceof HTMLSelectElement) {
45
+ if (key === "ArrowDown" || key === "ArrowUp") {
46
+ return true;
47
+ }
48
+ return false;
49
+ }
50
+ return editable.hasAttribute("contenteditable");
51
+ }
52
+ function shouldBlockInputArrow(input, key) {
53
+ if (input.type === "checkbox" || input.type === "radio") {
54
+ return false;
55
+ }
56
+ if (!isTextInputType(input.type)) {
57
+ return false;
58
+ }
59
+ const start = input.selectionStart;
60
+ const end = input.selectionEnd;
61
+ if (start === null || end === null) {
62
+ return true;
63
+ }
64
+ return shouldBlockBySelection(key, start, end, input.value.length);
65
+ }
66
+ function shouldBlockTextAreaArrow(textarea, key) {
67
+ const start = textarea.selectionStart;
68
+ const end = textarea.selectionEnd;
69
+ return shouldBlockBySelection(key, start, end, textarea.value.length);
70
+ }
71
+ function shouldBlockBySelection(key, start, end, valueLength) {
72
+ if (key === "ArrowLeft" || key === "ArrowUp") {
73
+ return start > 0 || end > 0;
74
+ }
75
+ if (key === "ArrowRight" || key === "ArrowDown") {
76
+ return end < valueLength;
77
+ }
78
+ return false;
79
+ }
80
+ function isTextInputType(type) {
81
+ switch (type) {
82
+ case "text":
83
+ case "search":
84
+ case "url":
85
+ case "tel":
86
+ case "password":
87
+ case "email":
88
+ case "number":
89
+ return true;
90
+ default:
91
+ return false;
92
+ }
93
+ }
94
+ export { getDeltaFromKey, shouldBlockArrowKeyNavigation };
95
+ //# sourceMappingURL=table-keyboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-keyboard.js","sourceRoot":"","sources":["../../../../src/data/table/helpers/table-keyboard.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { default as DataTable, DataTableCaption, DataTableThead, DataTableTbody, DataTableTr, DataTableTh, DataTableTd, } from "./root/DataTableRoot.js";
2
- export type { DataTableProps, DataTableCaptionProps, DataTableTheadProps, DataTableTbodyProps, DataTableTrProps, DataTableThProps, DataTableTdProps, } from "./root/DataTableRoot.js";
1
+ export { default as DataTable, DataTableCaption, DataTableThead, DataTableTbody, DataTableTr, DataTableTh, DataTableTd, DataTableTfoot, } from "./root/DataTableRoot.js";
2
+ export type { DataTableProps, DataTableCaptionProps, DataTableTheadProps, DataTableTbodyProps, DataTableTrProps, DataTableThProps, DataTableTdProps, DataTableTfootProps, } from "./root/DataTableRoot.js";
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- export { default as DataTable, DataTableCaption, DataTableThead, DataTableTbody, DataTableTr, DataTableTh, DataTableTd, } from "./root/DataTableRoot.js";
2
+ export { default as DataTable, DataTableCaption, DataTableThead, DataTableTbody, DataTableTr, DataTableTh, DataTableTd, DataTableTfoot, } from "./root/DataTableRoot.js";
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/table/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EACL,OAAO,IAAI,SAAS,EACpB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,GACZ,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/table/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EACL,OAAO,IAAI,SAAS,EACpB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACX,cAAc,GACf,MAAM,sBAAsB,CAAC"}
@@ -2,11 +2,24 @@ import React from "react";
2
2
  import { DataTableCaption, type DataTableCaptionProps } from "../caption/DataTableCaption.js";
3
3
  import { DataTableTbody, type DataTableTbodyProps } from "../tbody/DataTableTbody.js";
4
4
  import { DataTableTd, type DataTableTdProps } from "../td/DataTableTd.js";
5
+ import { DataTableTfoot, type DataTableTfootProps } from "../tfoot/DataTableTfoot.js";
5
6
  import { DataTableTh, type DataTableThProps } from "../th/DataTableTh.js";
6
7
  import { DataTableThead, type DataTableTheadProps } from "../thead/DataTableThead.js";
7
8
  import { DataTableTr, type DataTableTrProps } from "../tr/DataTableTr.js";
8
9
  interface DataTableProps extends React.HTMLAttributes<HTMLTableElement> {
9
10
  children: React.ReactNode;
11
+ rowDensity?: "condensed" | "normal" | "spacious";
12
+ /**
13
+ * Enables keyboard navigation for table rows and cells.
14
+ * @default false
15
+ */
16
+ withKeyboardNav?: boolean;
17
+ /**
18
+ * Zebra striped table
19
+ * @default false
20
+ */
21
+ zebraStripes?: boolean;
22
+ truncateContent?: boolean;
10
23
  }
11
24
  interface DataTableRootComponent extends React.ForwardRefExoticComponent<DataTableProps & React.RefAttributes<HTMLDialogElement>> {
12
25
  /**
@@ -87,8 +100,20 @@ interface DataTableRootComponent extends React.ForwardRefExoticComponent<DataTab
87
100
  * ```
88
101
  */
89
102
  Td: typeof DataTableTd;
103
+ /**
104
+ * @see 🏷️ {@link DataTableTfootProps}
105
+ * @example
106
+ * ```jsx
107
+ * <DataTable>
108
+ * <DataTable.Tfoot>
109
+ * ...
110
+ * </DataTable.Tfoot>
111
+ * </DataTable>
112
+ * ```
113
+ */
114
+ Tfoot: typeof DataTableTfoot;
90
115
  }
91
116
  declare const DataTable: DataTableRootComponent;
92
- export { DataTable, DataTableCaption, DataTableTbody, DataTableTd, DataTableTh, DataTableThead, DataTableTr, };
117
+ export { DataTable, DataTableCaption, DataTableTbody, DataTableTd, DataTableTfoot, DataTableTh, DataTableThead, DataTableTr, };
93
118
  export default DataTable;
94
- export type { DataTableProps, DataTableCaptionProps, DataTableTbodyProps, DataTableTdProps, DataTableThProps, DataTableTheadProps, DataTableTrProps, };
119
+ export type { DataTableCaptionProps, DataTableProps, DataTableTbodyProps, DataTableTdProps, DataTableTfootProps, DataTableTheadProps, DataTableThProps, DataTableTrProps, };
@@ -9,18 +9,30 @@ var __rest = (this && this.__rest) || function (s, e) {
9
9
  }
10
10
  return t;
11
11
  };
12
- import React, { forwardRef } from "react";
12
+ import React, { forwardRef, useState } from "react";
13
13
  import { cl } from "../../../utils/helpers/index.js";
14
+ import { useMergeRefs } from "../../../utils/hooks/index.js";
14
15
  import { DataTableCaption, } from "../caption/DataTableCaption.js";
15
16
  import { DataTableTbody, } from "../tbody/DataTableTbody.js";
16
17
  import { DataTableTd } from "../td/DataTableTd.js";
18
+ import { DataTableTfoot, } from "../tfoot/DataTableTfoot.js";
17
19
  import { DataTableTh } from "../th/DataTableTh.js";
18
20
  import { DataTableThead, } from "../thead/DataTableThead.js";
19
21
  import { DataTableTr } from "../tr/DataTableTr.js";
22
+ import { useTableKeyboardNav } from "./useTableKeyboardNav.js";
20
23
  const DataTable = forwardRef((_a, forwardedRef) => {
21
- var { className } = _a, rest = __rest(_a, ["className"]);
22
- return (React.createElement("div", { className: "aksel-data-table__wrapper" },
23
- React.createElement("table", Object.assign({}, rest, { ref: forwardedRef, className: cl("aksel-data-table", className) }))));
24
+ var { className, rowDensity = "normal", withKeyboardNav = false, zebraStripes = false, truncateContent = true } = _a, rest = __rest(_a, ["className", "rowDensity", "withKeyboardNav", "zebraStripes", "truncateContent"]);
25
+ const [tableRef, setTableRef] = useState(null);
26
+ const mergedRef = useMergeRefs(forwardedRef, setTableRef);
27
+ const { onFocus, tableTabIndex } = useTableKeyboardNav(tableRef, {
28
+ enabled: withKeyboardNav,
29
+ });
30
+ return (React.createElement("div", { className: "aksel-data-table__border-wrapper" },
31
+ React.createElement("div", { className: "aksel-data-table__scroll-wrapper" },
32
+ React.createElement("table", Object.assign({}, rest, { ref: mergedRef, className: cl("aksel-data-table", className, {
33
+ "aksel-data-table--zebra-stripes": zebraStripes,
34
+ "aksel-data-table--truncate-content": truncateContent,
35
+ }), "data-density": rowDensity, tabIndex: tableTabIndex, onFocus: onFocus })))));
24
36
  });
25
37
  DataTable.Caption = DataTableCaption;
26
38
  DataTable.Thead = DataTableThead;
@@ -28,6 +40,7 @@ DataTable.Tbody = DataTableTbody;
28
40
  DataTable.Th = DataTableTh;
29
41
  DataTable.Tr = DataTableTr;
30
42
  DataTable.Td = DataTableTd;
31
- export { DataTable, DataTableCaption, DataTableTbody, DataTableTd, DataTableTh, DataTableThead, DataTableTr, };
43
+ DataTable.Tfoot = DataTableTfoot;
44
+ export { DataTable, DataTableCaption, DataTableTbody, DataTableTd, DataTableTfoot, DataTableTh, DataTableThead, DataTableTr, };
32
45
  export default DataTable;
33
46
  //# sourceMappingURL=DataTableRoot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableRoot.js","sourceRoot":"","sources":["../../../../src/data/table/root/DataTableRoot.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EACL,gBAAgB,GAEjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,cAAc,GAEf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAyB,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAyB,MAAM,mBAAmB,CAAC;AACvE,OAAO,EACL,cAAc,GAEf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAyB,MAAM,mBAAmB,CAAC;AAyFvE,MAAM,SAAS,GAAG,UAAU,CAC1B,CAAC,EAAsB,EAAE,YAAY,EAAE,EAAE;QAAxC,EAAE,SAAS,OAAW,EAAN,IAAI,cAApB,aAAsB,CAAF;IACnB,OAAO,CACL,6BAAK,SAAS,EAAC,2BAA2B;QACxC,+CACM,IAAI,IACR,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC,IAC5C,CACE,CACP,CAAC;AACJ,CAAC,CACwB,CAAC;AAE5B,SAAS,CAAC,OAAO,GAAG,gBAAgB,CAAC;AACrC,SAAS,CAAC,KAAK,GAAG,cAAc,CAAC;AACjC,SAAS,CAAC,KAAK,GAAG,cAAc,CAAC;AACjC,SAAS,CAAC,EAAE,GAAG,WAAW,CAAC;AAC3B,SAAS,CAAC,EAAE,GAAG,WAAW,CAAC;AAC3B,SAAS,CAAC,EAAE,GAAG,WAAW,CAAC;AAE3B,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,WAAW,EACX,cAAc,EACd,WAAW,GACZ,CAAC;AACF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"DataTableRoot.js","sourceRoot":"","sources":["../../../../src/data/table/root/DataTableRoot.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACL,gBAAgB,GAEjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,cAAc,GAEf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAyB,MAAM,mBAAmB,CAAC;AACvE,OAAO,EACL,cAAc,GAEf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAyB,MAAM,mBAAmB,CAAC;AACvE,OAAO,EACL,cAAc,GAEf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAyB,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAiH5D,MAAM,SAAS,GAAG,UAAU,CAC1B,CACE,EAOC,EACD,YAAY,EACZ,EAAE;QATF,EACE,SAAS,EACT,UAAU,GAAG,QAAQ,EACrB,eAAe,GAAG,KAAK,EACvB,YAAY,GAAG,KAAK,EACpB,eAAe,GAAG,IAAI,OAEvB,EADI,IAAI,cANT,iFAOC,CADQ;IAIT,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAA0B,IAAI,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAE1D,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,mBAAmB,CAAC,QAAQ,EAAE;QAC/D,OAAO,EAAE,eAAe;KACzB,CAAC,CAAC;IAEH,OAAO,CACL,6BAAK,SAAS,EAAC,kCAAkC;QAC/C,6BAAK,SAAS,EAAC,kCAAkC;YAC/C,+CACM,IAAI,IACR,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,SAAS,EAAE;oBAC3C,iCAAiC,EAAE,YAAY;oBAC/C,oCAAoC,EAAE,eAAe;iBACtD,CAAC,kBACY,UAAU,EACxB,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,OAAO,IAChB,CACE,CACF,CACP,CAAC;AACJ,CAAC,CACwB,CAAC;AAE5B,SAAS,CAAC,OAAO,GAAG,gBAAgB,CAAC;AACrC,SAAS,CAAC,KAAK,GAAG,cAAc,CAAC;AACjC,SAAS,CAAC,KAAK,GAAG,cAAc,CAAC;AACjC,SAAS,CAAC,EAAE,GAAG,WAAW,CAAC;AAC3B,SAAS,CAAC,EAAE,GAAG,WAAW,CAAC;AAC3B,SAAS,CAAC,EAAE,GAAG,WAAW,CAAC;AAC3B,SAAS,CAAC,KAAK,GAAG,cAAc,CAAC;AAEjC,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,cAAc,EACd,WAAW,EACX,cAAc,EACd,WAAW,GACZ,CAAC;AACF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,7 @@
1
+ declare function useTableKeyboardNav(tableRef: HTMLTableElement | null, { enabled }: {
2
+ enabled: boolean;
3
+ }): {
4
+ tableTabIndex: number | undefined;
5
+ onFocus: () => Element | null | undefined;
6
+ };
7
+ export { useTableKeyboardNav };
@@ -0,0 +1,151 @@
1
+ import { useEffect, useRef, useState } from "react";
2
+ import { useEventCallback } from "../../../utils/hooks/index.js";
3
+ import { getActiveCell, getFirstCell } from "../helpers/table-cell.js";
4
+ import { focusCell, focusCellAndUpdateTabIndex } from "../helpers/table-focus.js";
5
+ import { ensureTableGrid, findNextCell, } from "../helpers/table-grid-nav.js";
6
+ import { getDeltaFromKey, shouldBlockArrowKeyNavigation, } from "../helpers/table-keyboard.js";
7
+ function useTableKeyboardNav(tableRef, { enabled }) {
8
+ const [activeCell, setActiveCell] = useState(null);
9
+ const activeCellRef = useRef(null);
10
+ activeCellRef.current = activeCell;
11
+ const observerRef = useRef(null);
12
+ const gridCacheRef = useRef({
13
+ grid: null,
14
+ dirty: true,
15
+ });
16
+ /**
17
+ * TODO:
18
+ * - Save original tabIndex of cells and restore when navigating away?
19
+ */
20
+ const navigateByArrowKey = useEventCallback((delta) => {
21
+ const currentCell = getActiveCell(tableRef, activeCell);
22
+ if (!currentCell || !tableRef) {
23
+ return null;
24
+ }
25
+ const { grid, positions, maxCols } = ensureTableGrid(tableRef, gridCacheRef.current);
26
+ const currentPos = positions.get(currentCell);
27
+ if (!currentPos) {
28
+ return null;
29
+ }
30
+ const nextCell = findNextCell(grid, currentPos, delta, currentCell, maxCols);
31
+ return nextCell
32
+ ? focusCellAndUpdateTabIndex(nextCell, currentCell)
33
+ : null;
34
+ });
35
+ /**
36
+ * Handles keyboard navigation with arrow keys.
37
+ * We check if the key is an arrow key, and if so, we calculate the next cell to focus based on the current active cell and the grid structure.
38
+ *
39
+ * TODO:
40
+ * - Check for other "blocking" scenarios, like actionmenus, dropdown etc
41
+ * - Consider having acallback user can hook into to determine if navigation should be blocked
42
+ * - Consider adding Home, End, PageUp, PageDown navigation
43
+ *
44
+ */
45
+ const onKeyDown = useEventCallback((event) => {
46
+ /* Stops keydown from moving if we can assume that you are currently editing input, select etc */
47
+ if (shouldBlockArrowKeyNavigation(event)) {
48
+ return;
49
+ }
50
+ let newCell = null;
51
+ const delta = getDeltaFromKey(event.key);
52
+ if (delta) {
53
+ event.preventDefault();
54
+ newCell = navigateByArrowKey(delta);
55
+ }
56
+ newCell && setActiveCell(newCell);
57
+ });
58
+ /**
59
+ * When focus is moved to elements inside a cell like inputs, checkbox etc
60
+ * we want to update the active cell to the parent td/th, so that keyboard navigation continues to work as expected from there.
61
+ */
62
+ const onFocusIn = useEventCallback((event) => {
63
+ var _a;
64
+ const target = event.target;
65
+ const newCell = (_a = target === null || target === void 0 ? void 0 : target.closest("td, th")) !== null && _a !== void 0 ? _a : null;
66
+ if (!newCell || newCell === activeCell) {
67
+ return;
68
+ }
69
+ const updatedCell = focusCellAndUpdateTabIndex(newCell, activeCell, {
70
+ shouldFocus: false,
71
+ });
72
+ if (updatedCell) {
73
+ setActiveCell(updatedCell);
74
+ }
75
+ });
76
+ /**
77
+ * Observes changes is table structure and updates the grid cache accordingly.
78
+ * - We want to check if elements are removed/added, like when filtering table, pagination etc
79
+ * - Changes in colspan/rowspan that can affect the grid structure
80
+ * - Hidden attribute or styles that can affect focusability of cells
81
+ *
82
+ * We also check if the active cell is removed from the DOM, and clear it if so.
83
+ */
84
+ useEffect(() => {
85
+ if (!tableRef || !enabled) {
86
+ return;
87
+ }
88
+ observerRef.current = new MutationObserver(() => {
89
+ gridCacheRef.current.dirty = true;
90
+ if (activeCellRef.current && !activeCellRef.current.isConnected) {
91
+ setActiveCell(null);
92
+ }
93
+ });
94
+ observerRef.current.observe(tableRef, {
95
+ subtree: true,
96
+ childList: true,
97
+ attributes: true,
98
+ attributeFilter: ["colspan", "rowspan", "hidden", "style"],
99
+ });
100
+ return () => {
101
+ if (observerRef.current) {
102
+ observerRef.current.disconnect();
103
+ observerRef.current = null;
104
+ }
105
+ };
106
+ }, [tableRef, enabled]);
107
+ useEffect(() => {
108
+ if (!tableRef || !enabled) {
109
+ return;
110
+ }
111
+ tableRef.addEventListener("keydown", onKeyDown);
112
+ tableRef.addEventListener("focusin", onFocusIn);
113
+ return () => {
114
+ tableRef.removeEventListener("keydown", onKeyDown);
115
+ tableRef.removeEventListener("focusin", onFocusIn);
116
+ };
117
+ }, [tableRef, onKeyDown, onFocusIn, enabled]);
118
+ /*
119
+ * If keyboard-nav is re-enabled, we need to make sure to update the grid cache,
120
+ * since the table might have changed while it was disabled.
121
+ */
122
+ useEffect(() => {
123
+ if (!enabled) {
124
+ return;
125
+ }
126
+ gridCacheRef.current.dirty = true;
127
+ }, [enabled]);
128
+ return {
129
+ /* Table should only have tabIndex until the focus is moved inside and is enabled */
130
+ tableTabIndex: enabled ? (activeCell ? undefined : 0) : undefined,
131
+ /*
132
+ * Allows us to capture focus on the table when navigating with Tab from outside, and move it to the first cell.
133
+ * We only want to do this if no cell is already focused.
134
+ */
135
+ onFocus: () => {
136
+ if (!tableRef) {
137
+ return;
138
+ }
139
+ const focusedElement = document.activeElement;
140
+ const cellInTable = focusedElement === null || focusedElement === void 0 ? void 0 : focusedElement.closest("td, th");
141
+ /* Assume onFocusIn handler has updates cell */
142
+ if (cellInTable && tableRef.contains(cellInTable)) {
143
+ return;
144
+ }
145
+ const firstCell = getFirstCell(tableRef);
146
+ return firstCell ? focusCell(firstCell) : null;
147
+ },
148
+ };
149
+ }
150
+ export { useTableKeyboardNav };
151
+ //# sourceMappingURL=useTableKeyboardNav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableKeyboardNav.js","sourceRoot":"","sources":["../../../../src/data/table/root/useTableKeyboardNav.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,11 @@
1
1
  import React from "react";
2
- type DataTableTdProps = React.HTMLAttributes<HTMLTableCellElement>;
2
+ interface DataTableTdProps extends React.HTMLAttributes<HTMLTableCellElement> {
3
+ /**
4
+ * TODO: Shouldnt be needed to declare these here... But getting type-errors if not
5
+ */
6
+ colSpan?: number;
7
+ rowSpan?: number;
8
+ }
3
9
  declare const DataTableTd: React.ForwardRefExoticComponent<DataTableTdProps & React.RefAttributes<HTMLTableCellElement>>;
4
10
  export { DataTableTd };
5
11
  export type { DataTableTdProps };
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableTd.js","sourceRoot":"","sources":["../../../../src/data/table/td/DataTableTd.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAI5C,MAAM,WAAW,GAAG,UAAU,CAC5B,CAAC,EAAgC,EAAE,YAAY,EAAE,EAAE;QAAlD,EAAE,SAAS,EAAE,QAAQ,OAAW,EAAN,IAAI,cAA9B,yBAAgC,CAAF;IAC7B,OAAO,CACL,4CACM,IAAI,IACR,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,EAAE,CAAC,sBAAsB,EAAE,SAAS,CAAC;QAEhD,iCAAM,QAAQ,CAAO,CAClB,CACN,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"DataTableTd.js","sourceRoot":"","sources":["../../../../src/data/table/td/DataTableTd.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAU5C,MAAM,WAAW,GAAG,UAAU,CAC5B,CAAC,EAAgC,EAAE,YAAY,EAAE,EAAE;QAAlD,EAAE,SAAS,EAAE,QAAQ,OAAW,EAAN,IAAI,cAA9B,yBAAgC,CAAF;IAC7B,OAAO,CACL,4CACM,IAAI,IACR,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,EAAE,CAAC,sBAAsB,EAAE,SAAS,CAAC;QAEhD,iCAAM,QAAQ,CAAO,CAClB,CACN,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ type DataTableTfootProps = React.HTMLAttributes<HTMLTableSectionElement>;
3
+ declare const DataTableTfoot: React.ForwardRefExoticComponent<DataTableTfootProps & React.RefAttributes<HTMLTableSectionElement>>;
4
+ export { DataTableTfoot };
5
+ export type { DataTableTfootProps };
@@ -0,0 +1,19 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import React, { forwardRef } from "react";
13
+ import { cl } from "../../../utils/helpers/index.js";
14
+ const DataTableTfoot = forwardRef((_a, forwardedRef) => {
15
+ var { className, children } = _a, rest = __rest(_a, ["className", "children"]);
16
+ return (React.createElement("tfoot", Object.assign({}, rest, { ref: forwardedRef, className: cl("aksel-data-table__tfoot", className) }), children));
17
+ });
18
+ export { DataTableTfoot };
19
+ //# sourceMappingURL=DataTableTfoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTableTfoot.js","sourceRoot":"","sources":["../../../../src/data/table/tfoot/DataTableTfoot.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAI5C,MAAM,cAAc,GAAG,UAAU,CAC/B,CAAC,EAAgC,EAAE,YAAY,EAAE,EAAE;QAAlD,EAAE,SAAS,EAAE,QAAQ,OAAW,EAAN,IAAI,cAA9B,yBAAgC,CAAF;IAC7B,OAAO,CACL,+CACM,IAAI,IACR,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC,KAElD,QAAQ,CACH,CACT,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1,15 +1,25 @@
1
1
  import React from "react";
2
- type DataTableThProps = React.HTMLAttributes<HTMLTableCellElement> & {
2
+ interface DataTableThProps extends React.HTMLAttributes<HTMLTableCellElement> {
3
3
  resizeHandler?: React.MouseEventHandler<HTMLButtonElement>;
4
- isPinned?: boolean;
5
- pinningHandler?: React.MouseEventHandler<HTMLButtonElement>;
6
4
  size?: number;
7
- };
8
- declare const DataTableTh: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableCellElement> & {
9
- resizeHandler?: React.MouseEventHandler<HTMLButtonElement>;
10
- isPinned?: boolean;
11
- pinningHandler?: React.MouseEventHandler<HTMLButtonElement>;
12
- size?: number;
13
- } & React.RefAttributes<HTMLTableCellElement>>;
5
+ sortDirection?: "asc" | "desc" | "none" | false;
6
+ onSortChange?: (direction: "asc" | "desc" | "none", event: Event) => void;
7
+ render?: {
8
+ filterMenu?: {
9
+ title: string;
10
+ content: React.ReactNode;
11
+ };
12
+ };
13
+ /**
14
+ * TODO: Shouldnt be needed to declare these here... But getting type-errors if not
15
+ */
16
+ colSpan?: number;
17
+ rowSpan?: number;
18
+ }
19
+ /**
20
+ * TODO:
21
+ * - Plan for pinning: Move it into "settings" dialog like here: https://cloudscape.design/examples/react/table.html
22
+ */
23
+ declare const DataTableTh: React.ForwardRefExoticComponent<DataTableThProps & React.RefAttributes<HTMLTableCellElement>>;
14
24
  export { DataTableTh };
15
25
  export type { DataTableThProps };