@navikt/ds-react 8.7.0 → 8.9.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 (408) hide show
  1. package/cjs/alert/base-alert/root/BaseAlertRoot.js +1 -2
  2. package/cjs/alert/base-alert/root/BaseAlertRoot.js.map +1 -1
  3. package/cjs/alert/info-card/index.d.ts +2 -2
  4. package/cjs/alert/info-card/index.js +2 -1
  5. package/cjs/alert/info-card/index.js.map +1 -1
  6. package/cjs/alert/info-card/message/InfoCardMessage.d.ts +23 -0
  7. package/cjs/alert/info-card/message/InfoCardMessage.js +73 -0
  8. package/cjs/alert/info-card/message/InfoCardMessage.js.map +1 -0
  9. package/cjs/alert/info-card/root/InfoCardRoot.d.ts +15 -2
  10. package/cjs/alert/info-card/root/InfoCardRoot.js +4 -1
  11. package/cjs/alert/info-card/root/InfoCardRoot.js.map +1 -1
  12. package/cjs/data/drag-and-drop/drag-handler/DragAndDropDragHandler.d.ts +12 -0
  13. package/cjs/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js +57 -0
  14. package/cjs/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js.map +1 -0
  15. package/cjs/data/drag-and-drop/item/DragAndDropItem.d.ts +27 -0
  16. package/cjs/data/drag-and-drop/item/DragAndDropItem.js +52 -0
  17. package/cjs/data/drag-and-drop/item/DragAndDropItem.js.map +1 -0
  18. package/cjs/data/drag-and-drop/root/DragAndDrop.context.d.ts +16 -0
  19. package/cjs/data/drag-and-drop/root/DragAndDrop.context.js +10 -0
  20. package/cjs/data/drag-and-drop/root/DragAndDrop.context.js.map +1 -0
  21. package/cjs/data/drag-and-drop/root/DragAndDropRoot.d.ts +36 -0
  22. package/cjs/data/drag-and-drop/root/DragAndDropRoot.js +187 -0
  23. package/cjs/data/drag-and-drop/root/DragAndDropRoot.js.map +1 -0
  24. package/cjs/data/drag-and-drop/types.d.ts +4 -0
  25. package/cjs/data/drag-and-drop/types.js +3 -0
  26. package/cjs/data/drag-and-drop/types.js.map +1 -0
  27. package/cjs/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.d.ts +22 -0
  28. package/cjs/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js +35 -0
  29. package/cjs/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js.map +1 -0
  30. package/cjs/data/{drag-and-drop → drag-and-drop-old}/item/DataDragAndDropItem.js +2 -7
  31. package/cjs/data/drag-and-drop-old/item/DataDragAndDropItem.js.map +1 -0
  32. package/cjs/data/drag-and-drop-old/root/DataDragAndDrop.context.js.map +1 -0
  33. package/cjs/data/{drag-and-drop → drag-and-drop-old}/root/DataDragAndDropRoot.d.ts +2 -2
  34. package/cjs/data/{drag-and-drop → drag-and-drop-old}/root/DataDragAndDropRoot.js +5 -8
  35. package/cjs/data/drag-and-drop-old/root/DataDragAndDropRoot.js.map +1 -0
  36. package/cjs/data/table/empty-state/DataTableEmptyState.d.ts +5 -0
  37. package/cjs/data/table/empty-state/DataTableEmptyState.js +57 -0
  38. package/cjs/data/table/empty-state/DataTableEmptyState.js.map +1 -0
  39. package/cjs/data/table/helpers/selection/getMultipleSelectProps.d.ts +14 -0
  40. package/cjs/data/table/helpers/selection/getMultipleSelectProps.js +48 -0
  41. package/cjs/data/table/helpers/selection/getMultipleSelectProps.js.map +1 -0
  42. package/cjs/data/table/helpers/selection/getSingleSelectProps.d.ts +10 -0
  43. package/cjs/data/table/helpers/selection/getSingleSelectProps.js +23 -0
  44. package/cjs/data/table/helpers/selection/getSingleSelectProps.js.map +1 -0
  45. package/cjs/data/table/helpers/selection/selection.types.d.ts +42 -0
  46. package/cjs/data/table/helpers/selection/selection.types.js +3 -0
  47. package/cjs/data/table/helpers/selection/selection.types.js.map +1 -0
  48. package/cjs/data/table/helpers/table-focus.js +7 -1
  49. package/cjs/data/table/helpers/table-focus.js.map +1 -1
  50. package/cjs/data/table/helpers/table-keyboard.d.ts +0 -1
  51. package/cjs/data/table/helpers/table-keyboard.js +2 -4
  52. package/cjs/data/table/helpers/table-keyboard.js.map +1 -1
  53. package/cjs/data/table/{root → hooks}/useTableKeyboardNav.js +2 -1
  54. package/cjs/data/table/hooks/useTableKeyboardNav.js.map +1 -0
  55. package/cjs/data/table/hooks/useTableSelection.d.ts +8 -0
  56. package/cjs/data/table/hooks/useTableSelection.js +49 -0
  57. package/cjs/data/table/hooks/useTableSelection.js.map +1 -0
  58. package/cjs/data/table/loading-state/DataTableLoadingState.d.ts +5 -0
  59. package/cjs/data/table/loading-state/DataTableLoadingState.js +57 -0
  60. package/cjs/data/table/loading-state/DataTableLoadingState.js.map +1 -0
  61. package/cjs/data/table/root/DataTable.types.d.ts +13 -0
  62. package/cjs/data/table/root/DataTable.types.js +3 -0
  63. package/cjs/data/table/root/DataTable.types.js.map +1 -0
  64. package/cjs/data/table/root/DataTableAuto.d.ts +60 -0
  65. package/cjs/data/table/root/DataTableAuto.js +113 -0
  66. package/cjs/data/table/root/DataTableAuto.js.map +1 -0
  67. package/cjs/data/table/root/DataTableRoot.context.d.ts +3 -2
  68. package/cjs/data/table/root/DataTableRoot.context.js.map +1 -1
  69. package/cjs/data/table/root/DataTableRoot.d.ts +30 -3
  70. package/cjs/data/table/root/DataTableRoot.js +9 -3
  71. package/cjs/data/table/root/DataTableRoot.js.map +1 -1
  72. package/cjs/data/table/td/DataTableTd.d.ts +10 -0
  73. package/cjs/data/table/td/DataTableTd.js +4 -2
  74. package/cjs/data/table/td/DataTableTd.js.map +1 -1
  75. package/cjs/data/table/th/DataTableTh.d.ts +10 -4
  76. package/cjs/data/table/th/DataTableTh.js +24 -22
  77. package/cjs/data/table/th/DataTableTh.js.map +1 -1
  78. package/cjs/data/table/th/useTableColumnResize.d.ts +64 -0
  79. package/cjs/data/table/th/useTableColumnResize.js +144 -0
  80. package/cjs/data/table/th/useTableColumnResize.js.map +1 -0
  81. package/cjs/data/table/thead/DataTableThead.context.d.ts +4 -0
  82. package/cjs/data/table/thead/DataTableThead.context.js +45 -0
  83. package/cjs/data/table/thead/DataTableThead.context.js.map +1 -0
  84. package/cjs/data/table/thead/DataTableThead.js +3 -1
  85. package/cjs/data/table/thead/DataTableThead.js.map +1 -1
  86. package/cjs/data/table/tr/DataTableTr.js +4 -3
  87. package/cjs/data/table/tr/DataTableTr.js.map +1 -1
  88. package/cjs/data/token-filter/AutoSuggest.js +40 -9
  89. package/cjs/data/token-filter/AutoSuggest.js.map +1 -1
  90. package/cjs/data/token-filter/TokenFilter.d.ts +1 -0
  91. package/cjs/data/token-filter/TokenFilter.js +1 -0
  92. package/cjs/data/token-filter/TokenFilter.js.map +1 -1
  93. package/cjs/data/toolbar/root/DataToolbarRoot.d.ts +6 -23
  94. package/cjs/data/toolbar/root/DataToolbarRoot.js +42 -7
  95. package/cjs/data/toolbar/root/DataToolbarRoot.js.map +1 -1
  96. package/cjs/date/Date.Input.js +8 -9
  97. package/cjs/date/Date.Input.js.map +1 -1
  98. package/cjs/date/datepicker/hooks/useDatepicker.d.ts +12 -1
  99. package/cjs/date/datepicker/hooks/useDatepicker.js +4 -3
  100. package/cjs/date/datepicker/hooks/useDatepicker.js.map +1 -1
  101. package/cjs/date/monthpicker/hooks/useMonthPicker.d.ts +11 -1
  102. package/cjs/date/monthpicker/hooks/useMonthPicker.js +3 -2
  103. package/cjs/date/monthpicker/hooks/useMonthPicker.js.map +1 -1
  104. package/cjs/form/checkbox/CheckboxGroup.js +1 -1
  105. package/cjs/form/checkbox/CheckboxGroup.js.map +1 -1
  106. package/cjs/form/fieldset/Fieldset.d.ts +25 -5
  107. package/cjs/form/fieldset/Fieldset.js +19 -2
  108. package/cjs/form/fieldset/Fieldset.js.map +1 -1
  109. package/cjs/form/radio/RadioGroup.js +1 -1
  110. package/cjs/form/radio/RadioGroup.js.map +1 -1
  111. package/cjs/index.d.ts +1 -1
  112. package/cjs/index.js.map +1 -1
  113. package/cjs/internal-header/InternalHeaderButton.d.ts +5 -0
  114. package/cjs/internal-header/InternalHeaderButton.js +2 -2
  115. package/cjs/internal-header/InternalHeaderButton.js.map +1 -1
  116. package/cjs/read-more/ReadMore.d.ts +10 -0
  117. package/cjs/read-more/ReadMore.js +4 -6
  118. package/cjs/read-more/ReadMore.js.map +1 -1
  119. package/cjs/types/index.d.ts +1 -1
  120. package/cjs/types/index.js +0 -15
  121. package/cjs/types/index.js.map +1 -1
  122. package/cjs/utils/components/Listbox/group/ListboxGroup.js +2 -1
  123. package/cjs/utils/components/Listbox/group/ListboxGroup.js.map +1 -1
  124. package/cjs/utils/components/Listbox/input-slot/ListboxInputSlot.js +1 -1
  125. package/cjs/utils/components/Listbox/input-slot/ListboxInputSlot.js.map +1 -1
  126. package/cjs/utils/components/Listbox/option/ListboxOption.d.ts +24 -0
  127. package/cjs/utils/components/Listbox/{item/ListboxItem.js → option/ListboxOption.js} +8 -8
  128. package/cjs/utils/components/Listbox/option/ListboxOption.js.map +1 -0
  129. package/cjs/utils/components/Listbox/options/ListboxOptions.d.ts +8 -0
  130. package/cjs/utils/components/Listbox/{list/ListboxList.js → options/ListboxOptions.js} +8 -8
  131. package/cjs/utils/components/Listbox/options/ListboxOptions.js.map +1 -0
  132. package/cjs/utils/components/Listbox/root/ListboxRoot.d.ts +6 -6
  133. package/cjs/utils/components/Listbox/root/ListboxRoot.js +28 -28
  134. package/cjs/utils/components/Listbox/root/ListboxRoot.js.map +1 -1
  135. package/cjs/utils/components/Listbox/root/domHelpers.d.ts +3 -3
  136. package/cjs/utils/components/Listbox/root/domHelpers.js +8 -8
  137. package/cjs/utils/components/Listbox/root/domHelpers.js.map +1 -1
  138. package/cjs/utils/components/floating/Floating.d.ts +1 -1
  139. package/cjs/utils/components/floating/Floating.js +1 -1
  140. package/cjs/utils/components/floating/Floating.js.map +1 -1
  141. package/cjs/utils/components/focus-boundary/FocusBoundary.d.ts +0 -1
  142. package/cjs/utils/components/focus-boundary/FocusBoundary.js +1 -1
  143. package/cjs/utils/components/focus-boundary/FocusBoundary.js.map +1 -1
  144. package/cjs/utils/components/link-anchor/LinkAnchor.js +10 -0
  145. package/cjs/utils/components/link-anchor/LinkAnchor.js.map +1 -1
  146. package/cjs/utils/helpers/className.js +1 -1
  147. package/cjs/utils/helpers/className.js.map +1 -1
  148. package/cjs/utils/helpers/focus.d.ts +3 -1
  149. package/cjs/utils/helpers/focus.js +2 -2
  150. package/cjs/utils/helpers/focus.js.map +1 -1
  151. package/cjs/utils/helpers/index.d.ts +9 -9
  152. package/cjs/utils/helpers/index.js +22 -23
  153. package/cjs/utils/helpers/index.js.map +1 -1
  154. package/cjs/utils/hooks/index.d.ts +13 -13
  155. package/cjs/utils/hooks/index.js +31 -28
  156. package/cjs/utils/hooks/index.js.map +1 -1
  157. package/cjs/utils/hooks/useScrollLock.js +41 -11
  158. package/cjs/utils/hooks/useScrollLock.js.map +1 -1
  159. package/esm/alert/base-alert/root/BaseAlertRoot.js +1 -2
  160. package/esm/alert/base-alert/root/BaseAlertRoot.js.map +1 -1
  161. package/esm/alert/info-card/index.d.ts +2 -2
  162. package/esm/alert/info-card/index.js +1 -1
  163. package/esm/alert/info-card/index.js.map +1 -1
  164. package/esm/alert/info-card/message/InfoCardMessage.d.ts +23 -0
  165. package/esm/alert/info-card/message/InfoCardMessage.js +37 -0
  166. package/esm/alert/info-card/message/InfoCardMessage.js.map +1 -0
  167. package/esm/alert/info-card/root/InfoCardRoot.d.ts +15 -2
  168. package/esm/alert/info-card/root/InfoCardRoot.js +3 -1
  169. package/esm/alert/info-card/root/InfoCardRoot.js.map +1 -1
  170. package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.d.ts +12 -0
  171. package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js +51 -0
  172. package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js.map +1 -0
  173. package/esm/data/drag-and-drop/item/DragAndDropItem.d.ts +27 -0
  174. package/esm/data/drag-and-drop/item/DragAndDropItem.js +46 -0
  175. package/esm/data/drag-and-drop/item/DragAndDropItem.js.map +1 -0
  176. package/esm/data/drag-and-drop/root/DragAndDrop.context.d.ts +16 -0
  177. package/esm/data/drag-and-drop/root/DragAndDrop.context.js +6 -0
  178. package/esm/data/drag-and-drop/root/DragAndDrop.context.js.map +1 -0
  179. package/esm/data/drag-and-drop/root/DragAndDropRoot.d.ts +36 -0
  180. package/esm/data/drag-and-drop/root/DragAndDropRoot.js +147 -0
  181. package/esm/data/drag-and-drop/root/DragAndDropRoot.js.map +1 -0
  182. package/esm/data/drag-and-drop/types.d.ts +4 -0
  183. package/esm/data/drag-and-drop/types.js +2 -0
  184. package/esm/data/drag-and-drop/types.js.map +1 -0
  185. package/esm/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.d.ts +22 -0
  186. package/esm/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js +29 -0
  187. package/esm/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.js.map +1 -0
  188. package/esm/data/{drag-and-drop → drag-and-drop-old}/item/DataDragAndDropItem.js +2 -7
  189. package/esm/data/drag-and-drop-old/item/DataDragAndDropItem.js.map +1 -0
  190. package/esm/data/drag-and-drop-old/root/DataDragAndDrop.context.js.map +1 -0
  191. package/esm/data/{drag-and-drop → drag-and-drop-old}/root/DataDragAndDropRoot.d.ts +2 -2
  192. package/esm/data/{drag-and-drop → drag-and-drop-old}/root/DataDragAndDropRoot.js +5 -8
  193. package/esm/data/drag-and-drop-old/root/DataDragAndDropRoot.js.map +1 -0
  194. package/esm/data/table/empty-state/DataTableEmptyState.d.ts +5 -0
  195. package/esm/data/table/empty-state/DataTableEmptyState.js +21 -0
  196. package/esm/data/table/empty-state/DataTableEmptyState.js.map +1 -0
  197. package/esm/data/table/helpers/selection/getMultipleSelectProps.d.ts +14 -0
  198. package/esm/data/table/helpers/selection/getMultipleSelectProps.js +46 -0
  199. package/esm/data/table/helpers/selection/getMultipleSelectProps.js.map +1 -0
  200. package/esm/data/table/helpers/selection/getSingleSelectProps.d.ts +10 -0
  201. package/esm/data/table/helpers/selection/getSingleSelectProps.js +21 -0
  202. package/esm/data/table/helpers/selection/getSingleSelectProps.js.map +1 -0
  203. package/esm/data/table/helpers/selection/selection.types.d.ts +42 -0
  204. package/esm/data/table/helpers/selection/selection.types.js +2 -0
  205. package/esm/data/table/helpers/selection/selection.types.js.map +1 -0
  206. package/esm/data/table/helpers/table-focus.js +7 -1
  207. package/esm/data/table/helpers/table-focus.js.map +1 -1
  208. package/esm/data/table/helpers/table-keyboard.d.ts +0 -1
  209. package/esm/data/table/helpers/table-keyboard.js +2 -4
  210. package/esm/data/table/helpers/table-keyboard.js.map +1 -1
  211. package/esm/data/table/{root → hooks}/useTableKeyboardNav.js +2 -1
  212. package/esm/data/table/hooks/useTableKeyboardNav.js.map +1 -0
  213. package/esm/data/table/hooks/useTableSelection.d.ts +8 -0
  214. package/esm/data/table/hooks/useTableSelection.js +47 -0
  215. package/esm/data/table/hooks/useTableSelection.js.map +1 -0
  216. package/esm/data/table/loading-state/DataTableLoadingState.d.ts +5 -0
  217. package/esm/data/table/loading-state/DataTableLoadingState.js +21 -0
  218. package/esm/data/table/loading-state/DataTableLoadingState.js.map +1 -0
  219. package/esm/data/table/root/DataTable.types.d.ts +13 -0
  220. package/esm/data/table/root/DataTable.types.js +2 -0
  221. package/esm/data/table/root/DataTable.types.js.map +1 -0
  222. package/esm/data/table/root/DataTableAuto.d.ts +60 -0
  223. package/esm/data/table/root/DataTableAuto.js +77 -0
  224. package/esm/data/table/root/DataTableAuto.js.map +1 -0
  225. package/esm/data/table/root/DataTableRoot.context.d.ts +3 -2
  226. package/esm/data/table/root/DataTableRoot.context.js.map +1 -1
  227. package/esm/data/table/root/DataTableRoot.d.ts +30 -3
  228. package/esm/data/table/root/DataTableRoot.js +7 -3
  229. package/esm/data/table/root/DataTableRoot.js.map +1 -1
  230. package/esm/data/table/td/DataTableTd.d.ts +10 -0
  231. package/esm/data/table/td/DataTableTd.js +4 -2
  232. package/esm/data/table/td/DataTableTd.js.map +1 -1
  233. package/esm/data/table/th/DataTableTh.d.ts +10 -4
  234. package/esm/data/table/th/DataTableTh.js +25 -23
  235. package/esm/data/table/th/DataTableTh.js.map +1 -1
  236. package/esm/data/table/th/useTableColumnResize.d.ts +64 -0
  237. package/esm/data/table/th/useTableColumnResize.js +142 -0
  238. package/esm/data/table/th/useTableColumnResize.js.map +1 -0
  239. package/esm/data/table/thead/DataTableThead.context.d.ts +4 -0
  240. package/esm/data/table/thead/DataTableThead.context.js +8 -0
  241. package/esm/data/table/thead/DataTableThead.context.js.map +1 -0
  242. package/esm/data/table/thead/DataTableThead.js +3 -1
  243. package/esm/data/table/thead/DataTableThead.js.map +1 -1
  244. package/esm/data/table/tr/DataTableTr.js +4 -3
  245. package/esm/data/table/tr/DataTableTr.js.map +1 -1
  246. package/esm/data/token-filter/AutoSuggest.js +41 -10
  247. package/esm/data/token-filter/AutoSuggest.js.map +1 -1
  248. package/esm/data/token-filter/TokenFilter.d.ts +1 -0
  249. package/esm/data/token-filter/TokenFilter.js +1 -0
  250. package/esm/data/token-filter/TokenFilter.js.map +1 -1
  251. package/esm/data/toolbar/root/DataToolbarRoot.d.ts +6 -23
  252. package/esm/data/toolbar/root/DataToolbarRoot.js +9 -7
  253. package/esm/data/toolbar/root/DataToolbarRoot.js.map +1 -1
  254. package/esm/date/Date.Input.js +9 -10
  255. package/esm/date/Date.Input.js.map +1 -1
  256. package/esm/date/datepicker/hooks/useDatepicker.d.ts +12 -1
  257. package/esm/date/datepicker/hooks/useDatepicker.js +4 -3
  258. package/esm/date/datepicker/hooks/useDatepicker.js.map +1 -1
  259. package/esm/date/monthpicker/hooks/useMonthPicker.d.ts +11 -1
  260. package/esm/date/monthpicker/hooks/useMonthPicker.js +3 -2
  261. package/esm/date/monthpicker/hooks/useMonthPicker.js.map +1 -1
  262. package/esm/form/checkbox/CheckboxGroup.js +1 -1
  263. package/esm/form/checkbox/CheckboxGroup.js.map +1 -1
  264. package/esm/form/fieldset/Fieldset.d.ts +25 -5
  265. package/esm/form/fieldset/Fieldset.js +19 -2
  266. package/esm/form/fieldset/Fieldset.js.map +1 -1
  267. package/esm/form/radio/RadioGroup.js +1 -1
  268. package/esm/form/radio/RadioGroup.js.map +1 -1
  269. package/esm/index.d.ts +1 -1
  270. package/esm/index.js.map +1 -1
  271. package/esm/internal-header/InternalHeaderButton.d.ts +5 -0
  272. package/esm/internal-header/InternalHeaderButton.js +2 -2
  273. package/esm/internal-header/InternalHeaderButton.js.map +1 -1
  274. package/esm/read-more/ReadMore.d.ts +10 -0
  275. package/esm/read-more/ReadMore.js +4 -6
  276. package/esm/read-more/ReadMore.js.map +1 -1
  277. package/esm/types/index.d.ts +1 -1
  278. package/esm/types/index.js +1 -1
  279. package/esm/types/index.js.map +1 -1
  280. package/esm/utils/components/Listbox/group/ListboxGroup.js +2 -1
  281. package/esm/utils/components/Listbox/group/ListboxGroup.js.map +1 -1
  282. package/esm/utils/components/Listbox/input-slot/ListboxInputSlot.js +1 -1
  283. package/esm/utils/components/Listbox/input-slot/ListboxInputSlot.js.map +1 -1
  284. package/esm/utils/components/Listbox/option/ListboxOption.d.ts +24 -0
  285. package/esm/utils/components/Listbox/{item/ListboxItem.js → option/ListboxOption.js} +7 -7
  286. package/esm/utils/components/Listbox/option/ListboxOption.js.map +1 -0
  287. package/esm/utils/components/Listbox/options/ListboxOptions.d.ts +8 -0
  288. package/esm/utils/components/Listbox/{list/ListboxList.js → options/ListboxOptions.js} +8 -8
  289. package/esm/utils/components/Listbox/options/ListboxOptions.js.map +1 -0
  290. package/esm/utils/components/Listbox/root/ListboxRoot.d.ts +6 -6
  291. package/esm/utils/components/Listbox/root/ListboxRoot.js +29 -29
  292. package/esm/utils/components/Listbox/root/ListboxRoot.js.map +1 -1
  293. package/esm/utils/components/Listbox/root/domHelpers.d.ts +3 -3
  294. package/esm/utils/components/Listbox/root/domHelpers.js +7 -7
  295. package/esm/utils/components/Listbox/root/domHelpers.js.map +1 -1
  296. package/esm/utils/components/floating/Floating.d.ts +1 -1
  297. package/esm/utils/components/floating/Floating.js +1 -1
  298. package/esm/utils/components/floating/Floating.js.map +1 -1
  299. package/esm/utils/components/focus-boundary/FocusBoundary.d.ts +0 -1
  300. package/esm/utils/components/focus-boundary/FocusBoundary.js +1 -1
  301. package/esm/utils/components/focus-boundary/FocusBoundary.js.map +1 -1
  302. package/esm/utils/components/link-anchor/LinkAnchor.js +10 -0
  303. package/esm/utils/components/link-anchor/LinkAnchor.js.map +1 -1
  304. package/esm/utils/helpers/className.js +1 -1
  305. package/esm/utils/helpers/className.js.map +1 -1
  306. package/esm/utils/helpers/focus.d.ts +3 -1
  307. package/esm/utils/helpers/focus.js +2 -2
  308. package/esm/utils/helpers/focus.js.map +1 -1
  309. package/esm/utils/helpers/index.d.ts +9 -9
  310. package/esm/utils/helpers/index.js +9 -9
  311. package/esm/utils/helpers/index.js.map +1 -1
  312. package/esm/utils/hooks/index.d.ts +13 -13
  313. package/esm/utils/hooks/index.js +13 -13
  314. package/esm/utils/hooks/index.js.map +1 -1
  315. package/esm/utils/hooks/useScrollLock.js +41 -11
  316. package/esm/utils/hooks/useScrollLock.js.map +1 -1
  317. package/package.json +6 -6
  318. package/src/alert/base-alert/root/BaseAlertRoot.tsx +1 -1
  319. package/src/alert/info-card/index.ts +2 -0
  320. package/src/alert/info-card/message/InfoCardMessage.tsx +48 -0
  321. package/src/alert/info-card/root/InfoCardRoot.tsx +20 -1
  322. package/src/data/drag-and-drop/drag-handler/DragAndDropDragHandler.tsx +90 -0
  323. package/src/data/drag-and-drop/item/DragAndDropItem.tsx +71 -0
  324. package/src/data/drag-and-drop/root/DragAndDrop.context.tsx +25 -0
  325. package/src/data/drag-and-drop/root/DragAndDropRoot.tsx +245 -0
  326. package/src/data/drag-and-drop/types.ts +4 -0
  327. package/src/data/drag-and-drop-old/drag-handler/DataDragAndDropDragHandler.tsx +104 -0
  328. package/src/data/{drag-and-drop → drag-and-drop-old}/item/DataDragAndDropItem.tsx +6 -33
  329. package/src/data/{drag-and-drop → drag-and-drop-old}/root/DataDragAndDrop.context.tsx +2 -0
  330. package/src/data/{drag-and-drop → drag-and-drop-old}/root/DataDragAndDropRoot.tsx +6 -8
  331. package/src/data/table/empty-state/DataTableEmptyState.tsx +26 -0
  332. package/src/data/table/helpers/selection/getMultipleSelectProps.ts +70 -0
  333. package/src/data/table/helpers/selection/getSingleSelectProps.ts +33 -0
  334. package/src/data/table/helpers/selection/selection.types.ts +56 -0
  335. package/src/data/table/helpers/table-focus.ts +10 -1
  336. package/src/data/table/helpers/table-keyboard.ts +2 -6
  337. package/src/data/table/hooks/__tests__/useTableSelection.test.ts +327 -0
  338. package/src/data/table/{root → hooks}/useTableKeyboardNav.ts +2 -1
  339. package/src/data/table/hooks/useTableSelection.ts +78 -0
  340. package/src/data/table/loading-state/DataTableLoadingState.tsx +26 -0
  341. package/src/data/table/root/DataTable.types.ts +16 -0
  342. package/src/data/table/root/DataTableAuto.tsx +205 -0
  343. package/src/data/table/root/DataTableRoot.context.ts +3 -2
  344. package/src/data/table/root/DataTableRoot.tsx +46 -3
  345. package/src/data/table/td/DataTableTd.tsx +14 -1
  346. package/src/data/table/th/DataTableTh.tsx +48 -36
  347. package/src/data/table/th/useTableColumnResize.ts +276 -0
  348. package/src/data/table/thead/DataTableThead.context.ts +10 -0
  349. package/src/data/table/thead/DataTableThead.tsx +8 -5
  350. package/src/data/table/tr/DataTableTr.tsx +8 -3
  351. package/src/data/token-filter/AutoSuggest.tsx +76 -15
  352. package/src/data/token-filter/TokenFilter.tsx +1 -0
  353. package/src/data/toolbar/root/DataToolbarRoot.tsx +29 -32
  354. package/src/date/Date.Input.tsx +18 -17
  355. package/src/date/datepicker/hooks/useDatepicker.tsx +16 -6
  356. package/src/date/monthpicker/hooks/useMonthPicker.tsx +14 -5
  357. package/src/form/checkbox/CheckboxGroup.tsx +1 -1
  358. package/src/form/fieldset/Fieldset.tsx +31 -7
  359. package/src/form/radio/RadioGroup.tsx +1 -1
  360. package/src/index.ts +1 -0
  361. package/src/internal-header/InternalHeaderButton.tsx +18 -9
  362. package/src/read-more/ReadMore.tsx +15 -16
  363. package/src/types/index.ts +1 -1
  364. package/src/utils/components/Listbox/group/ListboxGroup.tsx +9 -2
  365. package/src/utils/components/Listbox/input-slot/ListboxInputSlot.tsx +1 -1
  366. package/src/utils/components/Listbox/{item/ListboxItem.tsx → option/ListboxOption.tsx} +14 -14
  367. package/src/utils/components/Listbox/{list/ListboxList.tsx → options/ListboxOptions.tsx} +10 -10
  368. package/src/utils/components/Listbox/root/ListboxRoot.tsx +31 -31
  369. package/src/utils/components/Listbox/root/domHelpers.ts +8 -7
  370. package/src/utils/components/floating/Floating.tsx +2 -2
  371. package/src/utils/components/focus-boundary/FocusBoundary.tsx +1 -2
  372. package/src/utils/components/link-anchor/LinkAnchor.tsx +11 -0
  373. package/src/utils/helpers/className.ts +1 -1
  374. package/src/utils/helpers/focus.ts +5 -2
  375. package/src/utils/helpers/index.ts +9 -9
  376. package/src/utils/hooks/index.ts +20 -13
  377. package/src/utils/hooks/useScrollLock.ts +57 -13
  378. package/cjs/data/action-bar/root/DataActionBarRoot.d.ts +0 -27
  379. package/cjs/data/action-bar/root/DataActionBarRoot.js +0 -49
  380. package/cjs/data/action-bar/root/DataActionBarRoot.js.map +0 -1
  381. package/cjs/data/drag-and-drop/item/DataDragAndDropItem.js.map +0 -1
  382. package/cjs/data/drag-and-drop/root/DataDragAndDrop.context.js.map +0 -1
  383. package/cjs/data/drag-and-drop/root/DataDragAndDropRoot.js.map +0 -1
  384. package/cjs/data/table/root/useTableKeyboardNav.js.map +0 -1
  385. package/cjs/utils/components/Listbox/item/ListboxItem.d.ts +0 -24
  386. package/cjs/utils/components/Listbox/item/ListboxItem.js.map +0 -1
  387. package/cjs/utils/components/Listbox/list/ListboxList.d.ts +0 -8
  388. package/cjs/utils/components/Listbox/list/ListboxList.js.map +0 -1
  389. package/esm/data/action-bar/root/DataActionBarRoot.d.ts +0 -27
  390. package/esm/data/action-bar/root/DataActionBarRoot.js +0 -43
  391. package/esm/data/action-bar/root/DataActionBarRoot.js.map +0 -1
  392. package/esm/data/drag-and-drop/item/DataDragAndDropItem.js.map +0 -1
  393. package/esm/data/drag-and-drop/root/DataDragAndDrop.context.js.map +0 -1
  394. package/esm/data/drag-and-drop/root/DataDragAndDropRoot.js.map +0 -1
  395. package/esm/data/table/root/useTableKeyboardNav.js.map +0 -1
  396. package/esm/utils/components/Listbox/item/ListboxItem.d.ts +0 -24
  397. package/esm/utils/components/Listbox/item/ListboxItem.js.map +0 -1
  398. package/esm/utils/components/Listbox/list/ListboxList.d.ts +0 -8
  399. package/esm/utils/components/Listbox/list/ListboxList.js.map +0 -1
  400. package/src/data/action-bar/root/DataActionBarRoot.tsx +0 -59
  401. /package/cjs/data/{drag-and-drop → drag-and-drop-old}/item/DataDragAndDropItem.d.ts +0 -0
  402. /package/cjs/data/{drag-and-drop → drag-and-drop-old}/root/DataDragAndDrop.context.d.ts +0 -0
  403. /package/cjs/data/{drag-and-drop → drag-and-drop-old}/root/DataDragAndDrop.context.js +0 -0
  404. /package/cjs/data/table/{root → hooks}/useTableKeyboardNav.d.ts +0 -0
  405. /package/esm/data/{drag-and-drop → drag-and-drop-old}/item/DataDragAndDropItem.d.ts +0 -0
  406. /package/esm/data/{drag-and-drop → drag-and-drop-old}/root/DataDragAndDrop.context.d.ts +0 -0
  407. /package/esm/data/{drag-and-drop → drag-and-drop-old}/root/DataDragAndDrop.context.js +0 -0
  408. /package/esm/data/table/{root → hooks}/useTableKeyboardNav.d.ts +0 -0
@@ -57,8 +57,7 @@ const BaseAlert = (0, react_1.forwardRef)((_a, forwardedRef) => {
57
57
  const translate = (0, i18n_hooks_1.useI18n)("global");
58
58
  const alertColor = status ? (0, BaseAlertRoot_utils_1.baseAlertStatusToDataColor)(status) : dataColor;
59
59
  return (react_1.default.createElement(BaseAlertRoot_context_1.BaseAlertProvider, { size: size, status: status, color: alertColor, statusId: type === "strong" ? statusId : undefined },
60
- react_1.default.createElement(Component, Object.assign({ "aria-label": ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : (!status || Component === "div" ? undefined : translate(status)), ref: forwardedRef }, restProps, { className: (0, helpers_1.cl)(className, "aksel-base-alert"), "data-size": size, "data-color": alertColor, "data-variant": type, "data-global": global }),
61
- react_1.default.createElement("div", { role: role }, children))));
60
+ react_1.default.createElement(Component, Object.assign({ "aria-label": ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : (!status || Component === "div" ? undefined : translate(status)), ref: forwardedRef }, restProps, { className: (0, helpers_1.cl)(className, "aksel-base-alert"), "data-size": size, "data-color": alertColor, "data-variant": type, "data-global": global }), role ? react_1.default.createElement("div", { role: role }, children) : children)));
62
61
  });
63
62
  exports.BaseAlert = BaseAlert;
64
63
  //# sourceMappingURL=BaseAlertRoot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAlertRoot.js","sourceRoot":"","sources":["../../../../src/alert/base-alert/root/BaseAlertRoot.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAE1C,4DAAgD;AAChD,oDAA4C;AAC5C,+DAAyD;AACzD,mEAGiC;AACjC,+DAAmE;AA0CnE,MAAM,SAAS,GAAG,IAAA,kBAAU,EAC1B,CACE,EAYiB,EACjB,YAAY,EACZ,EAAE;QAdF,EACE,QAAQ,EACR,SAAS,EACT,IAAI,GAAG,QAAQ,EACf,YAAY,EAAE,SAAS,EACvB,IAAI,EACJ,MAAM,GAAG,KAAK,EACd,MAAM,EACN,EAAE,EAAE,SAAS,GAAG,SAAS,EACzB,YAAY,EAAE,SAAS,EACvB,IAAI,OAEW,EADZ,SAAS,cAXd,uGAYC,CADa;IAId,MAAM,QAAQ,GAAG,IAAA,sBAAK,GAAE,CAAC;IACzB,MAAM,SAAS,GAAG,IAAA,oBAAO,EAAC,QAAQ,CAAC,CAAC;IAEpC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,gDAA0B,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE3E,OAAO,CACL,8BAAC,yCAAiB,IAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAElD,8BAAC,SAAS,gCAEN,SAAS,aAAT,SAAS,cAAT,SAAS,GACT,CAAC,CAAC,MAAM,IAAI,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAElE,GAAG,EAAE,YAAY,IACb,SAAS,IACb,SAAS,EAAE,IAAA,YAAE,EAAC,SAAS,EAAE,kBAAkB,CAAC,eACjC,IAAI,gBACH,UAAU,kBACR,IAAI,iBACL,MAAM;YAEnB,uCAAK,IAAI,EAAE,IAAI,IAAG,QAAQ,CAAO,CACvB,CACM,CACrB,CAAC;AACJ,CAAC,CACF,CAAC;AAEO,8BAAS"}
1
+ {"version":3,"file":"BaseAlertRoot.js","sourceRoot":"","sources":["../../../../src/alert/base-alert/root/BaseAlertRoot.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAE1C,4DAAgD;AAChD,oDAA4C;AAC5C,+DAAyD;AACzD,mEAGiC;AACjC,+DAAmE;AA0CnE,MAAM,SAAS,GAAG,IAAA,kBAAU,EAC1B,CACE,EAYiB,EACjB,YAAY,EACZ,EAAE;QAdF,EACE,QAAQ,EACR,SAAS,EACT,IAAI,GAAG,QAAQ,EACf,YAAY,EAAE,SAAS,EACvB,IAAI,EACJ,MAAM,GAAG,KAAK,EACd,MAAM,EACN,EAAE,EAAE,SAAS,GAAG,SAAS,EACzB,YAAY,EAAE,SAAS,EACvB,IAAI,OAEW,EADZ,SAAS,cAXd,uGAYC,CADa;IAId,MAAM,QAAQ,GAAG,IAAA,sBAAK,GAAE,CAAC;IACzB,MAAM,SAAS,GAAG,IAAA,oBAAO,EAAC,QAAQ,CAAC,CAAC;IAEpC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,gDAA0B,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE3E,OAAO,CACL,8BAAC,yCAAiB,IAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAElD,8BAAC,SAAS,gCAEN,SAAS,aAAT,SAAS,cAAT,SAAS,GACT,CAAC,CAAC,MAAM,IAAI,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAElE,GAAG,EAAE,YAAY,IACb,SAAS,IACb,SAAS,EAAE,IAAA,YAAE,EAAC,SAAS,EAAE,kBAAkB,CAAC,eACjC,IAAI,gBACH,UAAU,kBACR,IAAI,iBACL,MAAM,KAElB,IAAI,CAAC,CAAC,CAAC,uCAAK,IAAI,EAAE,IAAI,IAAG,QAAQ,CAAO,CAAC,CAAC,CAAC,QAAQ,CAC1C,CACM,CACrB,CAAC;AACJ,CAAC,CACF,CAAC;AAEO,8BAAS"}
@@ -1,2 +1,2 @@
1
- export { InfoCard, InfoCardHeader, InfoCardTitle, InfoCardContent, } from "./root/InfoCardRoot";
2
- export type { InfoCardProps, InfoCardHeaderProps, InfoCardTitleProps, InfoCardContentProps, } from "./root/InfoCardRoot";
1
+ export { InfoCard, InfoCardHeader, InfoCardTitle, InfoCardContent, InfoCardMessage, } from "./root/InfoCardRoot";
2
+ export type { InfoCardProps, InfoCardHeaderProps, InfoCardTitleProps, InfoCardContentProps, InfoCardMessageProps, } from "./root/InfoCardRoot";
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  "use client";
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.InfoCardContent = exports.InfoCardTitle = exports.InfoCardHeader = exports.InfoCard = void 0;
4
+ exports.InfoCardMessage = exports.InfoCardContent = exports.InfoCardTitle = exports.InfoCardHeader = exports.InfoCard = void 0;
5
5
  var InfoCardRoot_1 = require("./root/InfoCardRoot");
6
6
  Object.defineProperty(exports, "InfoCard", { enumerable: true, get: function () { return InfoCardRoot_1.InfoCard; } });
7
7
  Object.defineProperty(exports, "InfoCardHeader", { enumerable: true, get: function () { return InfoCardRoot_1.InfoCardHeader; } });
8
8
  Object.defineProperty(exports, "InfoCardTitle", { enumerable: true, get: function () { return InfoCardRoot_1.InfoCardTitle; } });
9
9
  Object.defineProperty(exports, "InfoCardContent", { enumerable: true, get: function () { return InfoCardRoot_1.InfoCardContent; } });
10
+ Object.defineProperty(exports, "InfoCardMessage", { enumerable: true, get: function () { return InfoCardRoot_1.InfoCardMessage; } });
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/alert/info-card/index.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;AACb,oDAK6B;AAJ3B,wGAAA,QAAQ,OAAA;AACR,8GAAA,cAAc,OAAA;AACd,6GAAA,aAAa,OAAA;AACb,+GAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/alert/info-card/index.ts"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;AACb,oDAM6B;AAL3B,wGAAA,QAAQ,OAAA;AACR,8GAAA,cAAc,OAAA;AACd,6GAAA,aAAa,OAAA;AACb,+GAAA,eAAe,OAAA;AACf,+GAAA,eAAe,OAAA"}
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ interface InfoCardMessageProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ /**
4
+ * Icon to display in message.
5
+ */
6
+ icon: React.ReactNode;
7
+ }
8
+ /**
9
+ * A component for displaying informational messages.
10
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/infocard)
11
+ * @see 🏷️ {@link InfoCardMessageProps}
12
+ * @example
13
+ * ```jsx
14
+ * <InfoCard data-color="info">
15
+ * <InfoCard.Message icon={<InformationSquareIcon aria-hidden />}>
16
+ * Message contents
17
+ * </InfoCard.Message>
18
+ * </InfoCard>
19
+ * ```
20
+ */
21
+ declare const InfoCardMessage: React.ForwardRefExoticComponent<InfoCardMessageProps & React.RefAttributes<HTMLDivElement>>;
22
+ export { InfoCardMessage };
23
+ export type { InfoCardMessageProps };
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __rest = (this && this.__rest) || function (s, e) {
36
+ var t = {};
37
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
38
+ t[p] = s[p];
39
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
40
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
41
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
42
+ t[p[i]] = s[p[i]];
43
+ }
44
+ return t;
45
+ };
46
+ Object.defineProperty(exports, "__esModule", { value: true });
47
+ exports.InfoCardMessage = void 0;
48
+ const react_1 = __importStar(require("react"));
49
+ const typography_1 = require("../../../typography");
50
+ const helpers_1 = require("../../../utils/helpers");
51
+ const BaseAlertRoot_context_1 = require("../../base-alert/root/BaseAlertRoot.context");
52
+ /**
53
+ * A component for displaying informational messages.
54
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/infocard)
55
+ * @see 🏷️ {@link InfoCardMessageProps}
56
+ * @example
57
+ * ```jsx
58
+ * <InfoCard data-color="info">
59
+ * <InfoCard.Message icon={<InformationSquareIcon aria-hidden />}>
60
+ * Message contents
61
+ * </InfoCard.Message>
62
+ * </InfoCard>
63
+ * ```
64
+ */
65
+ const InfoCardMessage = (0, react_1.forwardRef)((_a, forwardedRef) => {
66
+ var { children, className, icon } = _a, restProps = __rest(_a, ["children", "className", "icon"]);
67
+ const context = (0, BaseAlertRoot_context_1.useBaseAlert)();
68
+ return (react_1.default.createElement("div", Object.assign({ ref: forwardedRef, className: (0, helpers_1.cl)(className, "aksel-base-alert__message") }, restProps),
69
+ react_1.default.createElement("div", { className: "aksel-base-alert__icon" }, icon),
70
+ react_1.default.createElement(typography_1.BodyLong, { size: context.size, as: "div", textColor: "default" }, children)));
71
+ });
72
+ exports.InfoCardMessage = InfoCardMessage;
73
+ //# sourceMappingURL=InfoCardMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InfoCardMessage.js","sourceRoot":"","sources":["../../../../src/alert/info-card/message/InfoCardMessage.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAC1C,oDAA+C;AAC/C,oDAA4C;AAC5C,uFAA2E;AAS3E;;;;;;;;;;;;GAYG;AACH,MAAM,eAAe,GAAG,IAAA,kBAAU,EAChC,CACE,EAAiE,EACjE,YAAY,EACZ,EAAE;QAFF,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,OAAsC,EAAjC,SAAS,cAAzC,iCAA2C,CAAF;IAGzC,MAAM,OAAO,GAAG,IAAA,oCAAY,GAAE,CAAC;IAC/B,OAAO,CACL,qDACE,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,IAAA,YAAE,EAAC,SAAS,EAAE,2BAA2B,CAAC,IACjD,SAAS;QAEb,uCAAK,SAAS,EAAC,wBAAwB,IAAE,IAAI,CAAO;QACpD,8BAAC,qBAAQ,IAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,EAAC,KAAK,EAAC,SAAS,EAAC,SAAS,IACvD,QAAQ,CACA,CACP,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEO,0CAAe"}
@@ -2,6 +2,7 @@ import React from "react";
2
2
  import { BaseAlert } from "../../base-alert";
3
3
  import { InfoCardContent, type InfoCardContentProps } from "../content/InfoCardContent";
4
4
  import { InfoCardHeader, type InfoCardHeaderProps } from "../header/InfoCardHeader";
5
+ import { InfoCardMessage, type InfoCardMessageProps } from "../message/InfoCardMessage";
5
6
  import { InfoCardTitle, type InfoCardTitleProps } from "../title/InfoCardTitle";
6
7
  type InfoCardProps = Omit<BaseAlert.RootProps, "type" | "global" | "status" | "as"> & {
7
8
  /**
@@ -55,6 +56,18 @@ interface InfoCardComponent extends React.ForwardRefExoticComponent<InfoCardProp
55
56
  * ```
56
57
  */
57
58
  Content: typeof InfoCardContent;
59
+ /**
60
+ * @see 🏷️ {@link InfoCardMessageProps}
61
+ * @example
62
+ * ```jsx
63
+ * <InfoCard data-color="info">
64
+ * <InfoCard.Message icon={<InformationSquareIcon aria-hidden />}>
65
+ * Message contents
66
+ * </InfoCard.Message>
67
+ * </InfoCard>
68
+ * ```
69
+ */
70
+ Message: typeof InfoCardMessage;
58
71
  }
59
72
  /**
60
73
  * A component for displaying informational content in a card format.
@@ -72,5 +85,5 @@ interface InfoCardComponent extends React.ForwardRefExoticComponent<InfoCardProp
72
85
  */
73
86
  export declare const InfoCard: InfoCardComponent;
74
87
  export default InfoCard;
75
- export { InfoCardContent, InfoCardHeader, InfoCardTitle };
76
- export type { InfoCardProps, InfoCardHeaderProps, InfoCardTitleProps, InfoCardContentProps, };
88
+ export { InfoCardContent, InfoCardHeader, InfoCardTitle, InfoCardMessage };
89
+ export type { InfoCardProps, InfoCardHeaderProps, InfoCardTitleProps, InfoCardContentProps, InfoCardMessageProps, };
@@ -44,13 +44,15 @@ var __rest = (this && this.__rest) || function (s, e) {
44
44
  return t;
45
45
  };
46
46
  Object.defineProperty(exports, "__esModule", { value: true });
47
- exports.InfoCardTitle = exports.InfoCardHeader = exports.InfoCardContent = exports.InfoCard = void 0;
47
+ exports.InfoCardMessage = exports.InfoCardTitle = exports.InfoCardHeader = exports.InfoCardContent = exports.InfoCard = void 0;
48
48
  const react_1 = __importStar(require("react"));
49
49
  const base_alert_1 = require("../../base-alert");
50
50
  const InfoCardContent_1 = require("../content/InfoCardContent");
51
51
  Object.defineProperty(exports, "InfoCardContent", { enumerable: true, get: function () { return InfoCardContent_1.InfoCardContent; } });
52
52
  const InfoCardHeader_1 = require("../header/InfoCardHeader");
53
53
  Object.defineProperty(exports, "InfoCardHeader", { enumerable: true, get: function () { return InfoCardHeader_1.InfoCardHeader; } });
54
+ const InfoCardMessage_1 = require("../message/InfoCardMessage");
55
+ Object.defineProperty(exports, "InfoCardMessage", { enumerable: true, get: function () { return InfoCardMessage_1.InfoCardMessage; } });
54
56
  const InfoCardTitle_1 = require("../title/InfoCardTitle");
55
57
  Object.defineProperty(exports, "InfoCardTitle", { enumerable: true, get: function () { return InfoCardTitle_1.InfoCardTitle; } });
56
58
  /**
@@ -74,5 +76,6 @@ exports.InfoCard = (0, react_1.forwardRef)((_a, forwardedRef) => {
74
76
  exports.InfoCard.Header = InfoCardHeader_1.InfoCardHeader;
75
77
  exports.InfoCard.Title = InfoCardTitle_1.InfoCardTitle;
76
78
  exports.InfoCard.Content = InfoCardContent_1.InfoCardContent;
79
+ exports.InfoCard.Message = InfoCardMessage_1.InfoCardMessage;
77
80
  exports.default = exports.InfoCard;
78
81
  //# sourceMappingURL=InfoCardRoot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InfoCardRoot.js","sourceRoot":"","sources":["../../../../src/alert/info-card/root/InfoCardRoot.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAC1C,iDAA6C;AAC7C,gEAGoC;AA8G3B,gGAhHP,iCAAe,OAgHO;AA7GxB,6DAGkC;AA0GR,+FA5GxB,+BAAc,OA4GwB;AAzGxC,0DAAgF;AAyGtC,8FAzGjC,6BAAa,OAyGiC;AAzCvD;;;;;;;;;;;;;GAaG;AACU,QAAA,QAAQ,GAAG,IAAA,kBAAU,EAChC,CACE,EAIgB,EAChB,YAAY,EACZ,EAAE;QANF,EACE,YAAY,EAAE,SAAS,GAAG,MAAM,EAChC,EAAE,GAAG,KAAK,OAEI,EADX,SAAS,cAHd,oBAIC,CADa;IAId,OAAO,CACL,8BAAC,sBAAS,CAAC,IAAI,kBACb,GAAG,EAAE,YAAY,gBACL,SAAS,IACjB,SAAS,IACb,IAAI,EAAC,UAAU,EACf,MAAM,EAAE,KAAK,EACb,EAAE,EAAE,EAAE,IACN,CACH,CAAC;AACJ,CAAC,CACmB,CAAC;AAEvB,gBAAQ,CAAC,MAAM,GAAG,+BAAc,CAAC;AACjC,gBAAQ,CAAC,KAAK,GAAG,6BAAa,CAAC;AAC/B,gBAAQ,CAAC,OAAO,GAAG,iCAAe,CAAC;AAEnC,kBAAe,gBAAQ,CAAC"}
1
+ {"version":3,"file":"InfoCardRoot.js","sourceRoot":"","sources":["../../../../src/alert/info-card/root/InfoCardRoot.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAC1C,iDAA6C;AAC7C,gEAGoC;AAgI3B,gGAlIP,iCAAe,OAkIO;AA/HxB,6DAGkC;AA4HR,+FA9HxB,+BAAc,OA8HwB;AA3HxC,gEAGoC;AAwHqB,gGA1HvD,iCAAe,OA0HuD;AAvHxE,0DAAgF;AAuHtC,8FAvHjC,6BAAa,OAuHiC;AA1CvD;;;;;;;;;;;;;GAaG;AACU,QAAA,QAAQ,GAAG,IAAA,kBAAU,EAChC,CACE,EAIgB,EAChB,YAAY,EACZ,EAAE;QANF,EACE,YAAY,EAAE,SAAS,GAAG,MAAM,EAChC,EAAE,GAAG,KAAK,OAEI,EADX,SAAS,cAHd,oBAIC,CADa;IAId,OAAO,CACL,8BAAC,sBAAS,CAAC,IAAI,kBACb,GAAG,EAAE,YAAY,gBACL,SAAS,IACjB,SAAS,IACb,IAAI,EAAC,UAAU,EACf,MAAM,EAAE,KAAK,EACb,EAAE,EAAE,EAAE,IACN,CACH,CAAC;AACJ,CAAC,CACmB,CAAC;AAEvB,gBAAQ,CAAC,MAAM,GAAG,+BAAc,CAAC;AACjC,gBAAQ,CAAC,KAAK,GAAG,6BAAa,CAAC;AAC/B,gBAAQ,CAAC,OAAO,GAAG,iCAAe,CAAC;AACnC,gBAAQ,CAAC,OAAO,GAAG,iCAAe,CAAC;AAEnC,kBAAe,gBAAQ,CAAC"}
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import { DragAndDropElement } from "../types";
3
+ export interface DragAndDropDragHandlerProps {
4
+ item: DragAndDropElement;
5
+ }
6
+ /**
7
+ * DragAndDropDragHandler
8
+ *
9
+ * A button component that serves as a drag handle for drag and drop operations.
10
+ * Can be used to initiate dragging of elements in a data table or list.
11
+ */
12
+ export declare const DragAndDropDragHandler: React.ForwardRefExoticComponent<DragAndDropDragHandlerProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DragAndDropDragHandler = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const aksel_icons_1 = require("@navikt/aksel-icons");
9
+ const DragAndDrop_context_1 = require("../root/DragAndDrop.context");
10
+ /**
11
+ * DragAndDropDragHandler
12
+ *
13
+ * A button component that serves as a drag handle for drag and drop operations.
14
+ * Can be used to initiate dragging of elements in a data table or list.
15
+ */
16
+ exports.DragAndDropDragHandler = react_1.default.forwardRef(({ item }, forwardedRef) => {
17
+ var _a;
18
+ const context = (0, DragAndDrop_context_1.useDragAndDropContext)();
19
+ const active = ((_a = context === null || context === void 0 ? void 0 : context.dragHandlerActive) === null || _a === void 0 ? void 0 : _a.id) === item.id;
20
+ return (react_1.default.createElement("div", { className: "aksel-data-drag-and-drop__drag-handler", ref: forwardedRef },
21
+ active && (react_1.default.createElement("span", { className: "aksel-data-drag-and-drop__drag-handler__arrow", "data-direction": "up" },
22
+ react_1.default.createElement(aksel_icons_1.CaretUpCircleFillIcon, { "aria-hidden": true, fontSize: "1.2rem" }))),
23
+ react_1.default.createElement("button", { "aria-label": "Dra for \u00E5 flytte", className: "aksel-data-drag-and-drop__drag-handler__button", "data-drag-handler-active": active, onPointerDown: (event) => {
24
+ event.stopPropagation();
25
+ context === null || context === void 0 ? void 0 : context.onDragStart(event, item);
26
+ }, onClick: () => context === null || context === void 0 ? void 0 : context.setDragHandlerActive(item), onKeyDown: (event) => {
27
+ if ((event.key === "Enter" || event.key === " ") &&
28
+ (context === null || context === void 0 ? void 0 : context.dragHandlerActive)) {
29
+ // Enter or space, currently active item - end keyboard dragging
30
+ event.preventDefault();
31
+ context === null || context === void 0 ? void 0 : context.setDragHandlerActive(null);
32
+ }
33
+ else if ((event.key === "Enter" || event.key === " ") &&
34
+ !(context === null || context === void 0 ? void 0 : context.dragHandlerActive)) {
35
+ // Enter or space, not currently active item - start keyboard dragging
36
+ event.preventDefault();
37
+ context === null || context === void 0 ? void 0 : context.setDragHandlerActive(item);
38
+ }
39
+ else if (event.key === "Escape") {
40
+ // Cancel dragging
41
+ // TODO Handle reset
42
+ context === null || context === void 0 ? void 0 : context.setDragHandlerActive(null);
43
+ }
44
+ else if (event.key === "ArrowUp") {
45
+ // Move item up
46
+ context === null || context === void 0 ? void 0 : context.onKeyboardDragEnd(-1);
47
+ }
48
+ else if (event.key === "ArrowDown") {
49
+ // Move item down
50
+ context === null || context === void 0 ? void 0 : context.onKeyboardDragEnd(1);
51
+ }
52
+ } },
53
+ react_1.default.createElement(aksel_icons_1.DragVerticalIcon, { "aria-hidden": true, title: "Dra for \u00E5 flytte", fontSize: "1.5rem" })),
54
+ active && (react_1.default.createElement("span", { className: "aksel-data-drag-and-drop__drag-handler__arrow", "data-direction": "down" },
55
+ react_1.default.createElement(aksel_icons_1.CaretDownCircleFillIcon, { "aria-hidden": true, fontSize: "1.2rem" })))));
56
+ });
57
+ //# sourceMappingURL=DragAndDropDragHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DragAndDropDragHandler.js","sourceRoot":"","sources":["../../../../src/data/drag-and-drop/drag-handler/DragAndDropDragHandler.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,qDAI6B;AAC7B,qEAAoE;AAOpE;;;;;GAKG;AACU,QAAA,sBAAsB,GAAG,eAAK,CAAC,UAAU,CAGpD,CAAC,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,EAAE;;IAC3B,MAAM,OAAO,GAAG,IAAA,2CAAqB,GAAE,CAAC;IACxC,MAAM,MAAM,GAAG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,0CAAE,EAAE,MAAK,IAAI,CAAC,EAAE,CAAC;IAE1D,OAAO,CACL,uCAAK,SAAS,EAAC,wCAAwC,EAAC,GAAG,EAAE,YAAY;QACtE,MAAM,IAAI,CACT,wCACE,SAAS,EAAC,+CAA+C,oBAC1C,IAAI;YAEnB,8BAAC,mCAAqB,yBAAa,QAAQ,EAAC,QAAQ,GAAG,CAClD,CACR;QACD,wDACa,uBAAkB,EAC7B,SAAS,EAAC,gDAAgD,8BAChC,MAAM,EAChC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;gBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,CAAC,IAAI,CAAC,EAClD,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnB,IACE,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC;qBAC5C,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,CAAA,EAC1B,CAAC;oBACD,gEAAgE;oBAChE,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBACtC,CAAC;qBAAM,IACL,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC;oBAC5C,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,CAAA,EAC3B,CAAC;oBACD,sEAAsE;oBACtE,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBACtC,CAAC;qBAAM,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAClC,kBAAkB;oBAClB,oBAAoB;oBACpB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBACtC,CAAC;qBAAM,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBACnC,eAAe;oBACf,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,CAAC;qBAAM,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;oBACrC,iBAAiB;oBACjB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;YAED,8BAAC,8BAAgB,yBAEf,KAAK,EAAC,uBAAkB,EACxB,QAAQ,EAAC,QAAQ,GACjB,CACK;QACR,MAAM,IAAI,CACT,wCACE,SAAS,EAAC,+CAA+C,oBAC1C,MAAM;YAErB,8BAAC,qCAAuB,yBAAa,QAAQ,EAAC,QAAQ,GAAG,CACpD,CACR,CACG,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,27 @@
1
+ import React from "react";
2
+ interface DragAndDropItemProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ children: React.ReactNode;
4
+ /**
5
+ * Unique id
6
+ */
7
+ id: string;
8
+ /**
9
+ * Index of the item being dragged
10
+ */
11
+ index: number;
12
+ }
13
+ /**
14
+ * TODO
15
+ *
16
+ * @see 🏷️ {@link DragAndDropItemProps}
17
+ * @example
18
+ * ```tsx
19
+ * <DragAndDrop.Item numOfSelectedRows={selectedRows.length} onClear={handleClear}>
20
+ * TODO
21
+ * </DragAndDrop.Item>
22
+ * ```
23
+ */
24
+ declare const DragAndDropItem: React.ForwardRefExoticComponent<DragAndDropItemProps & React.RefAttributes<HTMLDivElement>>;
25
+ export default DragAndDropItem;
26
+ export { DragAndDropItem };
27
+ export type { DragAndDropItemProps };
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.DragAndDropItem = void 0;
18
+ const react_1 = __importDefault(require("react"));
19
+ const stack_1 = require("../../../primitives/stack");
20
+ const helpers_1 = require("../../../utils/helpers");
21
+ const DragAndDropDragHandler_1 = require("../drag-handler/DragAndDropDragHandler");
22
+ const DragAndDrop_context_1 = require("../root/DragAndDrop.context");
23
+ /**
24
+ * TODO
25
+ *
26
+ * @see 🏷️ {@link DragAndDropItemProps}
27
+ * @example
28
+ * ```tsx
29
+ * <DragAndDrop.Item numOfSelectedRows={selectedRows.length} onClear={handleClear}>
30
+ * TODO
31
+ * </DragAndDrop.Item>
32
+ * ```
33
+ */
34
+ const DragAndDropItem = react_1.default.forwardRef((_a, forwardedRef) => {
35
+ var _b;
36
+ var { children, id, index, className } = _a, rest = __rest(_a, ["children", "id", "index", "className"]);
37
+ const ref = react_1.default.useRef(null);
38
+ const context = (0, DragAndDrop_context_1.useDragAndDropContext)();
39
+ const item = { id, index };
40
+ const isDropTarget = ((_b = context === null || context === void 0 ? void 0 : context.dropTarget) === null || _b === void 0 ? void 0 : _b.id) === id;
41
+ return (react_1.default.createElement(stack_1.HStack, { gap: "space-8", align: "center", wrap: false, asChild: true, ref: forwardedRef, padding: "space-4" },
42
+ react_1.default.createElement("div", Object.assign({ id: id, ref: ref }, rest, { "data-dnd-id": id, "data-dnd-index": index, role: "button", className: (0, helpers_1.cl)("aksel-data-table__drag-and-drop-item", className), "data-drop-target": isDropTarget,
43
+ /*
44
+ data-keyboard-dragging={keyboardDragging}
45
+ */
46
+ tabIndex: -1 }),
47
+ react_1.default.createElement(DragAndDropDragHandler_1.DragAndDropDragHandler, { item: item }),
48
+ react_1.default.createElement("div", null, children))));
49
+ });
50
+ exports.DragAndDropItem = DragAndDropItem;
51
+ exports.default = DragAndDropItem;
52
+ //# sourceMappingURL=DragAndDropItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DragAndDropItem.js","sourceRoot":"","sources":["../../../../src/data/drag-and-drop/item/DragAndDropItem.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,qDAAmD;AACnD,oDAA4C;AAC5C,mFAAgF;AAChF,qEAAoE;AAcpE;;;;;;;;;;GAUG;AACH,MAAM,eAAe,GAAG,eAAK,CAAC,UAAU,CACtC,CAAC,EAA2C,EAAE,YAAY,EAAE,EAAE;;QAA7D,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,OAAW,EAAN,IAAI,cAAzC,wCAA2C,CAAF;IACxC,MAAM,GAAG,GAAG,eAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAA,2CAAqB,GAAE,CAAC;IACxC,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IAC3B,MAAM,YAAY,GAAG,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,0CAAE,EAAE,MAAK,EAAE,CAAC;IAEpD,OAAO,CACL,8BAAC,cAAM,IACL,GAAG,EAAC,SAAS,EACb,KAAK,EAAC,QAAQ,EACd,IAAI,EAAE,KAAK,EACX,OAAO,QACP,GAAG,EAAE,YAAY,EACjB,OAAO,EAAC,SAAS;QAGjB,qDACE,EAAE,EAAE,EAAE,EACN,GAAG,EAAE,GAAG,IACJ,IAAI,mBACK,EAAE,oBACC,KAAK,EACrB,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,IAAA,YAAE,EAAC,sCAAsC,EAAE,SAAS,CAAC,sBAC9C,YAAY;YAC9B;;cAEE;YACF,QAAQ,EAAE,CAAC,CAAC;YAEZ,8BAAC,+CAAsB,IAAC,IAAI,EAAE,IAAI,GAAI;YACtC,2CAAM,QAAQ,CAAO,CACjB,CACC,CACV,CAAC;AACJ,CAAC,CACF,CAAC;AAGO,0CAAe;AADxB,kBAAe,eAAe,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { DragAndDropElement } from "../types";
2
+ interface DragAndDropContextType {
3
+ activeItem: DragAndDropElement | null;
4
+ setActiveItem: (id: DragAndDropElement | null) => void;
5
+ dropTarget: DragAndDropElement | null;
6
+ setDropTarget: (id: DragAndDropElement | null) => void;
7
+ dragHandlerActive: DragAndDropElement | null;
8
+ setDragHandlerActive: (active: DragAndDropElement | null) => void;
9
+ onKeyboardDragEnd: (diff: number) => void;
10
+ onDragStart: (event: React.PointerEvent | React.MouseEvent, item: DragAndDropElement) => void;
11
+ }
12
+ export declare const DragAndDropProvider: import("react").FC<DragAndDropContextType & {
13
+ children: React.ReactNode;
14
+ ref?: never;
15
+ }>, useDragAndDropContext: <S extends boolean = true>(strict?: S | undefined) => S extends true ? DragAndDropContextType | undefined : DragAndDropContextType | undefined;
16
+ export {};
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.useDragAndDropContext = exports.DragAndDropProvider = void 0;
5
+ const helpers_1 = require("../../../utils/helpers");
6
+ _a = (0, helpers_1.createStrictContext)({
7
+ errorMessage: "useDragAndDropContext must be used within a DragAndDropProvider",
8
+ name: "DragAndDropContext",
9
+ }), exports.DragAndDropProvider = _a.Provider, exports.useDragAndDropContext = _a.useContext;
10
+ //# sourceMappingURL=DragAndDrop.context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DragAndDrop.context.js","sourceRoot":"","sources":["../../../../src/data/drag-and-drop/root/DragAndDrop.context.tsx"],"names":[],"mappings":";;;;AAAA,oDAA6D;AAiBhD,KAGT,IAAA,6BAAmB,EAAqC;IAC1D,YAAY,EACV,iEAAiE;IACnE,IAAI,EAAE,oBAAoB;CAC3B,CAAC,EANU,2BAAmB,gBACjB,6BAAqB,iBAKhC"}
@@ -0,0 +1,36 @@
1
+ import React from "react";
2
+ import DragAndDropItem, { DragAndDropItemProps } from "../item/DragAndDropItem";
3
+ interface DragAndDropProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ children: any[];
5
+ setItems: React.Dispatch<React.SetStateAction<any[]>>;
6
+ }
7
+ interface DataDragAndDropRootComponent extends React.ForwardRefExoticComponent<DragAndDropProps & React.RefAttributes<HTMLDivElement>> {
8
+ /**
9
+ * @see 🏷️ {@link DragAndDropItemProps}
10
+ * * @example
11
+ * ```jsx
12
+ * <DragAndDrop>
13
+ * <DragAndDrop.Item id="1" index={0}>
14
+ * ...
15
+ * </DragAndDrop.Item>
16
+ * </DragAndDrop>
17
+ * ```
18
+ */
19
+ Item: typeof DragAndDropItem;
20
+ }
21
+ /**
22
+ * TODO
23
+ * setItems on root
24
+ * state : active element
25
+ * pointer over listener / state, onPointerEnter, onPointerLeave
26
+ * Overlay - Use floating component
27
+ * Keyboard navigation
28
+ * Handle - button, arrows also button
29
+ * UU - announce on drag start, item moved, drag end
30
+ *
31
+ * []
32
+ */
33
+ declare const DragAndDrop: DataDragAndDropRootComponent;
34
+ export { DragAndDrop, DragAndDropItem };
35
+ export default DragAndDrop;
36
+ export type { DragAndDropItemProps, DragAndDropProps };
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.DragAndDropItem = exports.DragAndDrop = void 0;
40
+ const react_1 = __importStar(require("react"));
41
+ const Floating_1 = require("../../../utils/components/floating/Floating");
42
+ const DragAndDropItem_1 = __importDefault(require("../item/DragAndDropItem"));
43
+ exports.DragAndDropItem = DragAndDropItem_1.default;
44
+ const DragAndDrop_context_1 = require("./DragAndDrop.context");
45
+ /**
46
+ * TODO
47
+ * setItems on root
48
+ * state : active element
49
+ * pointer over listener / state, onPointerEnter, onPointerLeave
50
+ * Overlay - Use floating component
51
+ * Keyboard navigation
52
+ * Handle - button, arrows also button
53
+ * UU - announce on drag start, item moved, drag end
54
+ *
55
+ * []
56
+ */
57
+ const DragAndDrop = (0, react_1.forwardRef)(({ setItems, children }, forwardedRef) => {
58
+ const [activeItem, setActiveItem] = react_1.default.useState(null);
59
+ const [dropTarget, setDropTarget] = react_1.default.useState(null);
60
+ const [dragHandlerActive, setDragHandlerActive] = react_1.default.useState(null);
61
+ const activeItemRef = react_1.default.useRef(null);
62
+ const dropTargetRef = react_1.default.useRef(null);
63
+ const [virtualRef, setVirtualRef] = react_1.default.useState({
64
+ getBoundingClientRect: () => DOMRect.fromRect({ width: 0, height: 0, x: 0, y: 0 }),
65
+ });
66
+ const setCombinedActiveItem = react_1.default.useCallback((item) => {
67
+ activeItemRef.current = item;
68
+ setActiveItem(item);
69
+ }, []);
70
+ const setCombinedDropTarget = react_1.default.useCallback((item) => {
71
+ dropTargetRef.current = item;
72
+ setDropTarget(item);
73
+ }, []);
74
+ (0, react_1.useEffect)(() => {
75
+ if (activeItem) {
76
+ document.documentElement.setAttribute("data-dragging", "true");
77
+ document.body.style.userSelect = "none";
78
+ }
79
+ else {
80
+ document.documentElement.removeAttribute("data-dragging");
81
+ document.body.style.userSelect = "";
82
+ }
83
+ return () => {
84
+ document.documentElement.removeAttribute("data-dragging");
85
+ document.body.style.userSelect = "";
86
+ };
87
+ }, [activeItem]);
88
+ (0, react_1.useEffect)(() => {
89
+ if (!activeItem)
90
+ return;
91
+ const handlePointerMove = (event) => {
92
+ var _a, _b;
93
+ setVirtualRef({
94
+ getBoundingClientRect: () => DOMRect.fromRect({
95
+ width: 0,
96
+ height: 0,
97
+ x: event.clientX,
98
+ y: event.clientY,
99
+ }),
100
+ });
101
+ const active = activeItemRef.current;
102
+ if (!active)
103
+ return;
104
+ const elements = document.elementsFromPoint(event.clientX, event.clientY);
105
+ const matchingElements = elements.filter((el) => el instanceof HTMLElement && Boolean(el.closest("[data-dnd-id]")));
106
+ const itemElements = matchingElements
107
+ .map((el) => el.closest("[data-dnd-id]"))
108
+ .filter((el) => el instanceof HTMLElement);
109
+ const uniqueItemElements = Array.from(new Set(itemElements));
110
+ const targetElement = (_b = (_a = uniqueItemElements.find((el) => el.dataset.dndId !== active.id)) !== null && _a !== void 0 ? _a : uniqueItemElements.find((el) => el.dataset.dndId === active.id)) !== null && _b !== void 0 ? _b : null;
111
+ if (!targetElement) {
112
+ setCombinedDropTarget(null);
113
+ return;
114
+ }
115
+ const hoveredId = targetElement.dataset.dndId;
116
+ const hoveredIndex = Number(targetElement.dataset.dndIndex);
117
+ if (!hoveredId || Number.isNaN(hoveredIndex)) {
118
+ setCombinedDropTarget(null);
119
+ return;
120
+ }
121
+ setCombinedDropTarget({ id: hoveredId, index: hoveredIndex });
122
+ };
123
+ const handlePointerUp = () => {
124
+ const active = activeItemRef.current;
125
+ const target = dropTargetRef.current;
126
+ if (active && target && active.id !== target.id) {
127
+ setItems((items) => {
128
+ const newItems = [...items];
129
+ const [movedItem] = newItems.splice(active.index, 1);
130
+ newItems.splice(target.index, 0, movedItem);
131
+ return newItems;
132
+ });
133
+ }
134
+ setCombinedActiveItem(null);
135
+ setCombinedDropTarget(null);
136
+ };
137
+ // TODO - Look into adding a cancel listener event
138
+ window.addEventListener("pointermove", handlePointerMove);
139
+ window.addEventListener("pointerup", handlePointerUp);
140
+ return () => {
141
+ window.removeEventListener("pointermove", handlePointerMove);
142
+ window.removeEventListener("pointerup", handlePointerUp);
143
+ };
144
+ }, [activeItem, setCombinedDropTarget, setCombinedActiveItem, setItems]);
145
+ const onKeyboardDragEnd = (diff) => {
146
+ if (!dragHandlerActive)
147
+ return;
148
+ const targetIndex = dragHandlerActive.index + diff;
149
+ if (targetIndex < 0 || targetIndex >= children.length) {
150
+ return;
151
+ }
152
+ setItems((items) => {
153
+ const newItems = [...items];
154
+ const [movedItem] = newItems.splice(dragHandlerActive.index, 1);
155
+ newItems.splice(targetIndex, 0, movedItem);
156
+ return newItems;
157
+ });
158
+ setDragHandlerActive(Object.assign(Object.assign({}, dragHandlerActive), { index: targetIndex }));
159
+ };
160
+ const onDragStart = (event, item) => {
161
+ setVirtualRef({
162
+ getBoundingClientRect: () => DOMRect.fromRect({
163
+ width: 0,
164
+ height: 0,
165
+ x: event.clientX,
166
+ y: event.clientY,
167
+ }),
168
+ });
169
+ setCombinedActiveItem(item);
170
+ setCombinedDropTarget(item);
171
+ };
172
+ // TODO - Make overlay same width as the OG item, currently jumps to content width
173
+ return (react_1.default.createElement(DragAndDrop_context_1.DragAndDropProvider, { activeItem: activeItem, setActiveItem: setCombinedActiveItem, dropTarget: dropTarget, setDropTarget: setCombinedDropTarget, dragHandlerActive: dragHandlerActive, setDragHandlerActive: setDragHandlerActive, onKeyboardDragEnd: onKeyboardDragEnd, onDragStart: onDragStart },
174
+ react_1.default.createElement("div", { ref: forwardedRef }, children),
175
+ activeItem && (react_1.default.createElement(Floating_1.Floating, null,
176
+ react_1.default.createElement(Floating_1.Floating.Anchor, { virtualRef: virtualRef },
177
+ react_1.default.createElement("span", null)),
178
+ react_1.default.createElement(Floating_1.Floating.Content, { align: "start", updatePositionStrategy: "always", style: { pointerEvents: "none" } }, react_1.default.cloneElement(children[activeItem.index], {
179
+ "data-dnd-id": undefined,
180
+ "data-dnd-index": undefined,
181
+ "data-overlay": true,
182
+ }))))));
183
+ });
184
+ exports.DragAndDrop = DragAndDrop;
185
+ DragAndDrop.Item = DragAndDropItem_1.default;
186
+ exports.default = DragAndDrop;
187
+ //# sourceMappingURL=DragAndDropRoot.js.map