@navikt/ds-react 8.8.0 → 8.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/cjs/data/drag-and-drop/drag-handler/DragAndDropDragHandler.d.ts +13 -0
  2. package/cjs/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js +59 -0
  3. package/cjs/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js.map +1 -0
  4. package/cjs/data/drag-and-drop/item/DragAndDropItem.d.ts +31 -0
  5. package/cjs/data/drag-and-drop/item/DragAndDropItem.js +48 -0
  6. package/cjs/data/drag-and-drop/item/DragAndDropItem.js.map +1 -0
  7. package/cjs/data/drag-and-drop/root/DragAndDrop.context.d.ts +17 -0
  8. package/cjs/data/drag-and-drop/root/DragAndDrop.context.js +10 -0
  9. package/cjs/data/drag-and-drop/root/DragAndDrop.context.js.map +1 -0
  10. package/cjs/data/drag-and-drop/root/DragAndDropRoot.d.ts +38 -0
  11. package/cjs/data/drag-and-drop/root/DragAndDropRoot.js +219 -0
  12. package/cjs/data/drag-and-drop/root/DragAndDropRoot.js.map +1 -0
  13. package/cjs/data/drag-and-drop/types.d.ts +4 -0
  14. package/cjs/data/drag-and-drop/types.js +3 -0
  15. package/cjs/data/drag-and-drop/types.js.map +1 -0
  16. package/cjs/data/table/helpers/selection/getMultipleSelectProps.d.ts +14 -0
  17. package/cjs/data/table/helpers/selection/getMultipleSelectProps.js +48 -0
  18. package/cjs/data/table/helpers/selection/getMultipleSelectProps.js.map +1 -0
  19. package/cjs/data/table/helpers/selection/getSingleSelectProps.d.ts +10 -0
  20. package/cjs/data/table/helpers/selection/getSingleSelectProps.js +26 -0
  21. package/cjs/data/table/helpers/selection/getSingleSelectProps.js.map +1 -0
  22. package/cjs/data/table/helpers/selection/selection.types.d.ts +42 -0
  23. package/cjs/data/table/helpers/selection/selection.types.js +3 -0
  24. package/cjs/data/table/helpers/selection/selection.types.js.map +1 -0
  25. package/cjs/data/table/{root → hooks}/useTableKeyboardNav.js +1 -1
  26. package/cjs/data/table/hooks/useTableKeyboardNav.js.map +1 -0
  27. package/cjs/data/table/hooks/useTableSelection.d.ts +8 -0
  28. package/cjs/data/table/hooks/useTableSelection.js +49 -0
  29. package/cjs/data/table/hooks/useTableSelection.js.map +1 -0
  30. package/cjs/data/table/root/DataTableAuto.d.ts +4 -4
  31. package/cjs/data/table/root/DataTableAuto.js +23 -11
  32. package/cjs/data/table/root/DataTableAuto.js.map +1 -1
  33. package/cjs/data/table/root/DataTableRoot.d.ts +1 -1
  34. package/cjs/data/table/root/DataTableRoot.js +1 -1
  35. package/cjs/data/table/root/DataTableRoot.js.map +1 -1
  36. package/cjs/data/table/td/DataTableTd.d.ts +4 -0
  37. package/cjs/data/table/td/DataTableTd.js +4 -2
  38. package/cjs/data/table/td/DataTableTd.js.map +1 -1
  39. package/cjs/data/table/th/DataTableTh.d.ts +4 -0
  40. package/cjs/data/table/th/DataTableTh.js +6 -3
  41. package/cjs/data/table/th/DataTableTh.js.map +1 -1
  42. package/cjs/data/token-filter/AutoSuggest.js +37 -4
  43. package/cjs/data/token-filter/AutoSuggest.js.map +1 -1
  44. package/cjs/data/token-filter/FilterChip.d.ts +10 -0
  45. package/cjs/data/token-filter/FilterChip.js +65 -0
  46. package/cjs/data/token-filter/FilterChip.js.map +1 -0
  47. package/cjs/data/token-filter/TokenFilter.d.ts +1 -0
  48. package/cjs/data/token-filter/TokenFilter.js +4 -10
  49. package/cjs/data/token-filter/TokenFilter.js.map +1 -1
  50. package/cjs/data/toolbar/root/DataToolbarRoot.d.ts +6 -23
  51. package/cjs/data/toolbar/root/DataToolbarRoot.js +42 -7
  52. package/cjs/data/toolbar/root/DataToolbarRoot.js.map +1 -1
  53. package/cjs/date/Date.Input.js +8 -9
  54. package/cjs/date/Date.Input.js.map +1 -1
  55. package/cjs/date/datepicker/hooks/useDatepicker.js +4 -3
  56. package/cjs/date/datepicker/hooks/useDatepicker.js.map +1 -1
  57. package/cjs/date/monthpicker/hooks/useMonthPicker.js +3 -2
  58. package/cjs/date/monthpicker/hooks/useMonthPicker.js.map +1 -1
  59. package/cjs/form/checkbox/Checkbox.js +19 -33
  60. package/cjs/form/checkbox/Checkbox.js.map +1 -1
  61. package/cjs/form/checkbox/checkbox-input/CheckboxInput.d.ts +21 -0
  62. package/cjs/form/checkbox/checkbox-input/CheckboxInput.js +65 -0
  63. package/cjs/form/checkbox/checkbox-input/CheckboxInput.js.map +1 -0
  64. package/cjs/form/checkbox/types.d.ts +1 -1
  65. package/cjs/form/fieldset/Fieldset.js +2 -6
  66. package/cjs/form/fieldset/Fieldset.js.map +1 -1
  67. package/cjs/form/radio/Radio.js +9 -7
  68. package/cjs/form/radio/Radio.js.map +1 -1
  69. package/cjs/form/radio/radio-input/RadioInput.d.ts +19 -0
  70. package/cjs/{data/drag-and-drop/root/DataDragAndDropRoot.js → form/radio/radio-input/RadioInput.js} +17 -23
  71. package/cjs/form/radio/radio-input/RadioInput.js.map +1 -0
  72. package/cjs/internal-header/InternalHeaderButton.d.ts +5 -0
  73. package/cjs/internal-header/InternalHeaderButton.js +2 -2
  74. package/cjs/internal-header/InternalHeaderButton.js.map +1 -1
  75. package/cjs/utils/components/Listbox/group/ListboxGroup.js +2 -1
  76. package/cjs/utils/components/Listbox/group/ListboxGroup.js.map +1 -1
  77. package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.d.ts +13 -0
  78. package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js +53 -0
  79. package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js.map +1 -0
  80. package/esm/data/drag-and-drop/item/DragAndDropItem.d.ts +31 -0
  81. package/esm/data/drag-and-drop/item/DragAndDropItem.js +42 -0
  82. package/esm/data/drag-and-drop/item/DragAndDropItem.js.map +1 -0
  83. package/esm/data/drag-and-drop/root/DragAndDrop.context.d.ts +17 -0
  84. package/esm/data/drag-and-drop/root/DragAndDrop.context.js +6 -0
  85. package/esm/data/drag-and-drop/root/DragAndDrop.context.js.map +1 -0
  86. package/esm/data/drag-and-drop/root/DragAndDropRoot.d.ts +38 -0
  87. package/esm/data/drag-and-drop/root/DragAndDropRoot.js +179 -0
  88. package/esm/data/drag-and-drop/root/DragAndDropRoot.js.map +1 -0
  89. package/esm/data/drag-and-drop/types.d.ts +4 -0
  90. package/esm/data/drag-and-drop/types.js +2 -0
  91. package/esm/data/drag-and-drop/types.js.map +1 -0
  92. package/esm/data/table/helpers/selection/getMultipleSelectProps.d.ts +14 -0
  93. package/esm/data/table/helpers/selection/getMultipleSelectProps.js +46 -0
  94. package/esm/data/table/helpers/selection/getMultipleSelectProps.js.map +1 -0
  95. package/esm/data/table/helpers/selection/getSingleSelectProps.d.ts +10 -0
  96. package/esm/data/table/helpers/selection/getSingleSelectProps.js +24 -0
  97. package/esm/data/table/helpers/selection/getSingleSelectProps.js.map +1 -0
  98. package/esm/data/table/helpers/selection/selection.types.d.ts +42 -0
  99. package/esm/data/table/helpers/selection/selection.types.js +2 -0
  100. package/esm/data/table/helpers/selection/selection.types.js.map +1 -0
  101. package/esm/data/table/{root → hooks}/useTableKeyboardNav.js +1 -1
  102. package/esm/data/table/hooks/useTableKeyboardNav.js.map +1 -0
  103. package/esm/data/table/hooks/useTableSelection.d.ts +8 -0
  104. package/esm/data/table/hooks/useTableSelection.js +47 -0
  105. package/esm/data/table/hooks/useTableSelection.js.map +1 -0
  106. package/esm/data/table/root/DataTableAuto.d.ts +4 -4
  107. package/esm/data/table/root/DataTableAuto.js +23 -11
  108. package/esm/data/table/root/DataTableAuto.js.map +1 -1
  109. package/esm/data/table/root/DataTableRoot.d.ts +1 -1
  110. package/esm/data/table/root/DataTableRoot.js +1 -1
  111. package/esm/data/table/root/DataTableRoot.js.map +1 -1
  112. package/esm/data/table/td/DataTableTd.d.ts +4 -0
  113. package/esm/data/table/td/DataTableTd.js +4 -2
  114. package/esm/data/table/td/DataTableTd.js.map +1 -1
  115. package/esm/data/table/th/DataTableTh.d.ts +4 -0
  116. package/esm/data/table/th/DataTableTh.js +6 -3
  117. package/esm/data/table/th/DataTableTh.js.map +1 -1
  118. package/esm/data/token-filter/AutoSuggest.js +38 -5
  119. package/esm/data/token-filter/AutoSuggest.js.map +1 -1
  120. package/esm/data/token-filter/FilterChip.d.ts +10 -0
  121. package/esm/data/token-filter/FilterChip.js +30 -0
  122. package/esm/data/token-filter/FilterChip.js.map +1 -0
  123. package/esm/data/token-filter/TokenFilter.d.ts +1 -0
  124. package/esm/data/token-filter/TokenFilter.js +4 -10
  125. package/esm/data/token-filter/TokenFilter.js.map +1 -1
  126. package/esm/data/toolbar/root/DataToolbarRoot.d.ts +6 -23
  127. package/esm/data/toolbar/root/DataToolbarRoot.js +9 -7
  128. package/esm/data/toolbar/root/DataToolbarRoot.js.map +1 -1
  129. package/esm/date/Date.Input.js +9 -10
  130. package/esm/date/Date.Input.js.map +1 -1
  131. package/esm/date/datepicker/hooks/useDatepicker.js +4 -3
  132. package/esm/date/datepicker/hooks/useDatepicker.js.map +1 -1
  133. package/esm/date/monthpicker/hooks/useMonthPicker.js +3 -2
  134. package/esm/date/monthpicker/hooks/useMonthPicker.js.map +1 -1
  135. package/esm/form/checkbox/Checkbox.js +19 -33
  136. package/esm/form/checkbox/Checkbox.js.map +1 -1
  137. package/esm/form/checkbox/checkbox-input/CheckboxInput.d.ts +21 -0
  138. package/esm/form/checkbox/checkbox-input/CheckboxInput.js +29 -0
  139. package/esm/form/checkbox/checkbox-input/CheckboxInput.js.map +1 -0
  140. package/esm/form/checkbox/types.d.ts +1 -1
  141. package/esm/form/fieldset/Fieldset.js +2 -6
  142. package/esm/form/fieldset/Fieldset.js.map +1 -1
  143. package/esm/form/radio/Radio.js +9 -7
  144. package/esm/form/radio/Radio.js.map +1 -1
  145. package/esm/form/radio/radio-input/RadioInput.d.ts +19 -0
  146. package/esm/form/radio/radio-input/RadioInput.js +19 -0
  147. package/esm/form/radio/radio-input/RadioInput.js.map +1 -0
  148. package/esm/internal-header/InternalHeaderButton.d.ts +5 -0
  149. package/esm/internal-header/InternalHeaderButton.js +2 -2
  150. package/esm/internal-header/InternalHeaderButton.js.map +1 -1
  151. package/esm/utils/components/Listbox/group/ListboxGroup.js +2 -1
  152. package/esm/utils/components/Listbox/group/ListboxGroup.js.map +1 -1
  153. package/package.json +4 -4
  154. package/src/data/drag-and-drop/drag-handler/DragAndDropDragHandler.tsx +94 -0
  155. package/src/data/drag-and-drop/item/DragAndDropItem.tsx +75 -0
  156. package/src/data/drag-and-drop/root/DragAndDrop.context.tsx +27 -0
  157. package/src/data/drag-and-drop/root/DragAndDropRoot.tsx +294 -0
  158. package/src/data/drag-and-drop/types.ts +4 -0
  159. package/src/data/table/helpers/selection/getMultipleSelectProps.ts +70 -0
  160. package/src/data/table/helpers/selection/getSingleSelectProps.ts +36 -0
  161. package/src/data/table/helpers/selection/selection.types.ts +56 -0
  162. package/src/data/table/hooks/__tests__/useTableSelection.test.ts +327 -0
  163. package/src/data/table/{root → hooks}/useTableKeyboardNav.ts +1 -1
  164. package/src/data/table/hooks/useTableSelection.ts +78 -0
  165. package/src/data/table/root/DataTableAuto.tsx +58 -25
  166. package/src/data/table/root/DataTableRoot.tsx +2 -2
  167. package/src/data/table/td/DataTableTd.tsx +15 -2
  168. package/src/data/table/th/DataTableTh.tsx +13 -2
  169. package/src/data/token-filter/AutoSuggest.tsx +65 -3
  170. package/src/data/token-filter/FilterChip.tsx +100 -0
  171. package/src/data/token-filter/TokenFilter.tsx +9 -24
  172. package/src/data/toolbar/root/DataToolbarRoot.tsx +29 -32
  173. package/src/date/Date.Input.tsx +17 -16
  174. package/src/date/datepicker/hooks/useDatepicker.tsx +4 -5
  175. package/src/date/monthpicker/hooks/useMonthPicker.tsx +3 -4
  176. package/src/form/checkbox/Checkbox.tsx +37 -64
  177. package/src/form/checkbox/checkbox-input/CheckboxInput.tsx +69 -0
  178. package/src/form/checkbox/types.ts +1 -1
  179. package/src/form/fieldset/Fieldset.tsx +4 -6
  180. package/src/form/radio/Radio.tsx +43 -38
  181. package/src/form/radio/radio-input/RadioInput.tsx +32 -0
  182. package/src/internal-header/InternalHeaderButton.tsx +18 -9
  183. package/src/utils/components/Listbox/group/ListboxGroup.tsx +9 -2
  184. package/cjs/data/action-bar/root/DataActionBarRoot.d.ts +0 -27
  185. package/cjs/data/action-bar/root/DataActionBarRoot.js +0 -49
  186. package/cjs/data/action-bar/root/DataActionBarRoot.js.map +0 -1
  187. package/cjs/data/drag-and-drop/drag-handler/DataDragAndDropDragHandler.d.ts +0 -21
  188. package/cjs/data/drag-and-drop/drag-handler/DataDragAndDropDragHandler.js +0 -24
  189. package/cjs/data/drag-and-drop/drag-handler/DataDragAndDropDragHandler.js.map +0 -1
  190. package/cjs/data/drag-and-drop/item/DataDragAndDropItem.d.ts +0 -27
  191. package/cjs/data/drag-and-drop/item/DataDragAndDropItem.js +0 -41
  192. package/cjs/data/drag-and-drop/item/DataDragAndDropItem.js.map +0 -1
  193. package/cjs/data/drag-and-drop/root/DataDragAndDrop.context.d.ts +0 -8
  194. package/cjs/data/drag-and-drop/root/DataDragAndDrop.context.js +0 -10
  195. package/cjs/data/drag-and-drop/root/DataDragAndDrop.context.js.map +0 -1
  196. package/cjs/data/drag-and-drop/root/DataDragAndDropRoot.d.ts +0 -34
  197. package/cjs/data/drag-and-drop/root/DataDragAndDropRoot.js.map +0 -1
  198. package/cjs/data/table/root/useTableKeyboardNav.js.map +0 -1
  199. package/cjs/data/table/root/useTableSelection.d.ts +0 -55
  200. package/cjs/data/table/root/useTableSelection.js +0 -79
  201. package/cjs/data/table/root/useTableSelection.js.map +0 -1
  202. package/esm/data/action-bar/root/DataActionBarRoot.d.ts +0 -27
  203. package/esm/data/action-bar/root/DataActionBarRoot.js +0 -43
  204. package/esm/data/action-bar/root/DataActionBarRoot.js.map +0 -1
  205. package/esm/data/drag-and-drop/drag-handler/DataDragAndDropDragHandler.d.ts +0 -21
  206. package/esm/data/drag-and-drop/drag-handler/DataDragAndDropDragHandler.js +0 -18
  207. package/esm/data/drag-and-drop/drag-handler/DataDragAndDropDragHandler.js.map +0 -1
  208. package/esm/data/drag-and-drop/item/DataDragAndDropItem.d.ts +0 -27
  209. package/esm/data/drag-and-drop/item/DataDragAndDropItem.js +0 -35
  210. package/esm/data/drag-and-drop/item/DataDragAndDropItem.js.map +0 -1
  211. package/esm/data/drag-and-drop/root/DataDragAndDrop.context.d.ts +0 -8
  212. package/esm/data/drag-and-drop/root/DataDragAndDrop.context.js +0 -6
  213. package/esm/data/drag-and-drop/root/DataDragAndDrop.context.js.map +0 -1
  214. package/esm/data/drag-and-drop/root/DataDragAndDropRoot.d.ts +0 -34
  215. package/esm/data/drag-and-drop/root/DataDragAndDropRoot.js +0 -21
  216. package/esm/data/drag-and-drop/root/DataDragAndDropRoot.js.map +0 -1
  217. package/esm/data/table/root/useTableKeyboardNav.js.map +0 -1
  218. package/esm/data/table/root/useTableSelection.d.ts +0 -55
  219. package/esm/data/table/root/useTableSelection.js +0 -77
  220. package/esm/data/table/root/useTableSelection.js.map +0 -1
  221. package/src/data/action-bar/root/DataActionBarRoot.tsx +0 -59
  222. package/src/data/drag-and-drop/drag-handler/DataDragAndDropDragHandler.tsx +0 -63
  223. package/src/data/drag-and-drop/item/DataDragAndDropItem.tsx +0 -54
  224. package/src/data/drag-and-drop/root/DataDragAndDrop.context.tsx +0 -14
  225. package/src/data/drag-and-drop/root/DataDragAndDropRoot.tsx +0 -54
  226. package/src/data/table/root/useTableSelection.ts +0 -126
  227. /package/cjs/data/table/{root → hooks}/useTableKeyboardNav.d.ts +0 -0
  228. /package/esm/data/table/{root → hooks}/useTableKeyboardNav.d.ts +0 -0
@@ -38,20 +38,22 @@ const react_1 = __importStar(require("react"));
38
38
  const typography_1 = require("../../typography");
39
39
  const utils_external_1 = require("../../utils-external");
40
40
  const helpers_1 = require("../../utils/helpers");
41
+ const RadioInput_1 = require("./radio-input/RadioInput");
41
42
  const useRadio_1 = require("./useRadio");
42
- exports.Radio = (0, react_1.forwardRef)((props, ref) => {
43
+ exports.Radio = (0, react_1.forwardRef)((props, forwardedRef) => {
43
44
  const { inputProps, size, hasError, readOnly } = (0, useRadio_1.useRadio)(props);
44
45
  const descriptionId = (0, utils_external_1.useId)();
45
- return (react_1.default.createElement("div", { className: (0, helpers_1.cl)(props.className, "aksel-radio", `aksel-radio--${size}`, {
46
+ const { className, description, children } = props;
47
+ return (react_1.default.createElement("div", { className: (0, helpers_1.cl)(className, "aksel-radio", `aksel-radio--${size}`, {
46
48
  "aksel-radio--error": hasError,
47
49
  "aksel-radio--disabled": inputProps.disabled,
48
50
  "aksel-radio--readonly": readOnly,
49
51
  }), "data-color": hasError ? "danger" : props["data-color"] },
50
- react_1.default.createElement("input", Object.assign({}, (0, utils_external_1.omit)(props, ["children", "size", "description", "readOnly"]), (0, utils_external_1.omit)(inputProps, ["aria-invalid", "aria-describedby"]), { "aria-describedby": (0, helpers_1.cl)(inputProps["aria-describedby"], {
51
- [descriptionId]: props.description,
52
- }) || undefined, className: "aksel-radio__input", ref: ref })),
53
- react_1.default.createElement(typography_1.BodyShort, { as: "label", htmlFor: inputProps.id, className: "aksel-radio__label", size: size }, props.children),
54
- props.description && (react_1.default.createElement(typography_1.BodyShort, { id: descriptionId, size: size, className: "aksel-form-field__subdescription aksel-radio__description" }, props.description))));
52
+ react_1.default.createElement(RadioInput_1.RadioInput, Object.assign({ ref: forwardedRef }, (0, utils_external_1.omit)(props, ["children", "size", "description", "readOnly"]), (0, utils_external_1.omit)(inputProps, ["aria-invalid", "aria-describedby"]), { "aria-describedby": (0, helpers_1.cl)(inputProps["aria-describedby"], {
53
+ [descriptionId]: description,
54
+ }) || undefined, standalone: false })),
55
+ react_1.default.createElement(typography_1.BodyShort, { as: "label", htmlFor: inputProps.id, className: "aksel-radio__label", size: size }, children),
56
+ description && (react_1.default.createElement(typography_1.BodyShort, { id: descriptionId, size: size, className: "aksel-form-field__subdescription aksel-radio__description" }, description))));
55
57
  });
56
58
  exports.default = exports.Radio;
57
59
  //# sourceMappingURL=Radio.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../../src/form/radio/Radio.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAC1C,iDAA6C;AAC7C,yDAAmD;AACnD,iDAAyC;AAEzC,yCAAsC;AAEzB,QAAA,KAAK,GAAG,IAAA,kBAAU,EAA+B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC3E,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,IAAA,sBAAK,GAAE,CAAC;IAE9B,OAAO,CACL,uCACE,SAAS,EAAE,IAAA,YAAE,EAAC,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,gBAAgB,IAAI,EAAE,EAAE;YACpE,oBAAoB,EAAE,QAAQ;YAC9B,uBAAuB,EAAE,UAAU,CAAC,QAAQ;YAC5C,uBAAuB,EAAE,QAAQ;SAClC,CAAC,gBACU,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;QAErD,yDACM,IAAA,qBAAI,EAAC,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,EAC5D,IAAA,qBAAI,EAAC,UAAU,EAAE,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,wBAExD,IAAA,YAAE,EAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE;gBACjC,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,WAAW;aACnC,CAAC,IAAI,SAAS,EAEjB,SAAS,EAAC,oBAAoB,EAC9B,GAAG,EAAE,GAAG,IACR;QACF,8BAAC,sBAAS,IACR,EAAE,EAAC,OAAO,EACV,OAAO,EAAE,UAAU,CAAC,EAAE,EACtB,SAAS,EAAC,oBAAoB,EAC9B,IAAI,EAAE,IAAI,IAET,KAAK,CAAC,QAAQ,CACL;QACX,KAAK,CAAC,WAAW,IAAI,CACpB,8BAAC,sBAAS,IACR,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,IAAI,EACV,SAAS,EAAC,2DAA2D,IAEpE,KAAK,CAAC,WAAW,CACR,CACb,CACG,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,kBAAe,aAAK,CAAC"}
1
+ {"version":3,"file":"Radio.js","sourceRoot":"","sources":["../../../src/form/radio/Radio.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAC1C,iDAA6C;AAC7C,yDAAmD;AACnD,iDAAyC;AACzC,yDAAsD;AAEtD,yCAAsC;AAEzB,QAAA,KAAK,GAAG,IAAA,kBAAU,EAC7B,CAAC,KAAiB,EAAE,YAAY,EAAE,EAAE;IAClC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,IAAA,sBAAK,GAAE,CAAC;IAE9B,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAEnD,OAAO,CACL,uCACE,SAAS,EAAE,IAAA,YAAE,EAAC,SAAS,EAAE,aAAa,EAAE,gBAAgB,IAAI,EAAE,EAAE;YAC9D,oBAAoB,EAAE,QAAQ;YAC9B,uBAAuB,EAAE,UAAU,CAAC,QAAQ;YAC5C,uBAAuB,EAAE,QAAQ;SAClC,CAAC,gBACU,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;QAErD,8BAAC,uBAAU,kBACT,GAAG,EAAE,YAAY,IACb,IAAA,qBAAI,EAAC,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,EAC5D,IAAA,qBAAI,EAAC,UAAU,EAAE,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,wBAExD,IAAA,YAAE,EAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE;gBACjC,CAAC,aAAa,CAAC,EAAE,WAAW;aAC7B,CAAC,IAAI,SAAS,EAEjB,UAAU,EAAE,KAAK,IACjB;QACF,8BAAC,sBAAS,IACR,EAAE,EAAC,OAAO,EACV,OAAO,EAAE,UAAU,CAAC,EAAE,EACtB,SAAS,EAAC,oBAAoB,EAC9B,IAAI,EAAE,IAAI,IAET,QAAQ,CACC;QACX,WAAW,IAAI,CACd,8BAAC,sBAAS,IACR,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,IAAI,EACV,SAAS,EAAC,2DAA2D,IAEpE,WAAW,CACF,CACb,CACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,kBAAe,aAAK,CAAC"}
@@ -0,0 +1,19 @@
1
+ import React from "react";
2
+ type RadioInputProps = React.InputHTMLAttributes<HTMLInputElement> & {
3
+ children?: never;
4
+ standalone?: boolean;
5
+ /**
6
+ * Reduces pseudo-element target-size.
7
+ */
8
+ compact?: boolean;
9
+ };
10
+ declare const RadioInput: React.ForwardRefExoticComponent<React.InputHTMLAttributes<HTMLInputElement> & {
11
+ children?: never;
12
+ standalone?: boolean;
13
+ /**
14
+ * Reduces pseudo-element target-size.
15
+ */
16
+ compact?: boolean;
17
+ } & React.RefAttributes<HTMLInputElement>>;
18
+ export { RadioInput };
19
+ export type { RadioInputProps };
@@ -32,30 +32,24 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
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;
37
45
  };
38
46
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.DataDragAndDropItem = exports.DataDragAndDrop = void 0;
47
+ exports.RadioInput = void 0;
40
48
  const react_1 = __importStar(require("react"));
41
- const DataDragAndDropItem_1 = __importDefault(require("../item/DataDragAndDropItem"));
42
- exports.DataDragAndDropItem = DataDragAndDropItem_1.default;
43
- const DataDragAndDrop_context_1 = require("./DataDragAndDrop.context");
44
- /**
45
- * TODO
46
- * setItems on root
47
- * state : active element
48
- * pointer over listener / state, onPointerEnter, onPointerLeave
49
- * Overlay - Use floating component
50
- * Keyboard navigation
51
- * Handle - button, arrows also button
52
- * UU - announce on drag start, item moved, drag end
53
- */
54
- const DataDragAndDrop = (0, react_1.forwardRef)(({ children }, forwardedRef) => {
55
- return (react_1.default.createElement(DataDragAndDrop_context_1.DataDragAndDropProvider, { inputMethod: null },
56
- react_1.default.createElement("div", { ref: forwardedRef }, children)));
49
+ const helpers_1 = require("../../../utils/helpers");
50
+ const RadioInput = (0, react_1.forwardRef)((_a, forwardedRef) => {
51
+ var { className, standalone = true, compact } = _a, rest = __rest(_a, ["className", "standalone", "compact"]);
52
+ return (react_1.default.createElement("input", Object.assign({}, rest, { ref: forwardedRef, className: (0, helpers_1.cl)("aksel-radio__input", className), "data-standalone": standalone, "data-compact": compact, type: "radio" })));
57
53
  });
58
- exports.DataDragAndDrop = DataDragAndDrop;
59
- DataDragAndDrop.Item = DataDragAndDropItem_1.default;
60
- exports.default = DataDragAndDrop;
61
- //# sourceMappingURL=DataDragAndDropRoot.js.map
54
+ exports.RadioInput = RadioInput;
55
+ //# sourceMappingURL=RadioInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioInput.js","sourceRoot":"","sources":["../../../../src/form/radio/radio-input/RadioInput.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAC1C,oDAA4C;AAW5C,MAAM,UAAU,GAAG,IAAA,kBAAU,EAC3B,CACE,EAAmE,EACnE,YAAY,EACZ,EAAE;QAFF,EAAE,SAAS,EAAE,UAAU,GAAG,IAAI,EAAE,OAAO,OAA4B,EAAvB,IAAI,cAAhD,sCAAkD,CAAF;IAGhD,OAAO,CACL,yDACM,IAAI,IACR,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,IAAA,YAAE,EAAC,oBAAoB,EAAE,SAAS,CAAC,qBAC7B,UAAU,kBACb,OAAO,EACrB,IAAI,EAAC,OAAO,IACZ,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEO,gCAAU"}
@@ -5,6 +5,11 @@ export interface InternalHeaderButtonProps extends React.ButtonHTMLAttributes<HT
5
5
  * Application Button
6
6
  */
7
7
  children: React.ReactNode;
8
+ /**
9
+ * Active state for element.
10
+ * @default false
11
+ */
12
+ isActive?: boolean;
8
13
  }
9
14
  export declare const InternalHeaderButton: OverridableComponent<InternalHeaderButtonProps, HTMLButtonElement>;
10
15
  export default InternalHeaderButton;
@@ -48,8 +48,8 @@ exports.InternalHeaderButton = void 0;
48
48
  const react_1 = __importStar(require("react"));
49
49
  const helpers_1 = require("../utils/helpers");
50
50
  exports.InternalHeaderButton = (0, react_1.forwardRef)((_a, ref) => {
51
- var { as: Component = "button", className } = _a, rest = __rest(_a, ["as", "className"]);
52
- return (react_1.default.createElement(Component, Object.assign({}, rest, { ref: ref, className: (0, helpers_1.cl)("aksel-internalheader__button", className) })));
51
+ var { as: Component = "button", className, isActive = false } = _a, rest = __rest(_a, ["as", "className", "isActive"]);
52
+ return (react_1.default.createElement(Component, Object.assign({ "aria-current": isActive || undefined }, rest, { ref: ref, className: (0, helpers_1.cl)("aksel-internalheader__button", className), "data-active": isActive })));
53
53
  });
54
54
  exports.default = exports.InternalHeaderButton;
55
55
  //# sourceMappingURL=InternalHeaderButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InternalHeaderButton.js","sourceRoot":"","sources":["../../src/internal-header/InternalHeaderButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAE1C,8CAAsC;AAQzB,QAAA,oBAAoB,GAG7B,IAAA,kBAAU,EAAC,CAAC,EAAgD,EAAE,GAAG,EAAE,EAAE;QAAzD,EAAE,EAAE,EAAE,SAAS,GAAG,QAAQ,EAAE,SAAS,OAAW,EAAN,IAAI,cAA9C,mBAAgD,CAAF;IAC5D,OAAO,CACL,8BAAC,SAAS,oBACJ,IAAI,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAA,YAAE,EAAC,8BAA8B,EAAE,SAAS,CAAC,IACxD,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,kBAAe,4BAAoB,CAAC"}
1
+ {"version":3,"file":"InternalHeaderButton.js","sourceRoot":"","sources":["../../src/internal-header/InternalHeaderButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAE1C,8CAAsC;AAazB,QAAA,oBAAoB,GAG7B,IAAA,kBAAU,EACZ,CAAC,EAAkE,EAAE,GAAG,EAAE,EAAE;QAA3E,EAAE,EAAE,EAAE,SAAS,GAAG,QAAQ,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,OAAW,EAAN,IAAI,cAAhE,+BAAkE,CAAF;IAC/D,OAAO,CACL,8BAAC,SAAS,kCACM,QAAQ,IAAI,SAAS,IAC/B,IAAI,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAA,YAAE,EAAC,8BAA8B,EAAE,SAAS,CAAC,iBAC3C,QAAQ,IACrB,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,kBAAe,4BAAoB,CAAC"}
@@ -5,11 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ListboxGroup = ListboxGroup;
7
7
  const react_1 = __importDefault(require("react"));
8
+ const typography_1 = require("../../../../typography");
8
9
  const utils_external_1 = require("../../../../utils-external");
9
10
  function ListboxGroup({ label, children }) {
10
11
  const labelId = (0, utils_external_1.useId)();
11
12
  return (react_1.default.createElement("div", { role: "group", className: "aksel-listbox__group", "aria-labelledby": labelId },
12
- react_1.default.createElement("div", { id: labelId, "aria-hidden": true }, label),
13
+ react_1.default.createElement(typography_1.Label, { as: "div", size: "small", id: labelId, "aria-hidden": true, className: "aksel-listbox__group-label" }, label),
13
14
  children));
14
15
  }
15
16
  //# sourceMappingURL=ListboxGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListboxGroup.js","sourceRoot":"","sources":["../../../../../src/utils/components/Listbox/group/ListboxGroup.tsx"],"names":[],"mappings":";;;;;AAyBS,oCAAY;AAzBrB,kDAA0B;AAC1B,+DAAmD;AAOnD,SAAS,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAqB;IAC1D,MAAM,OAAO,GAAG,IAAA,sBAAK,GAAE,CAAC;IAExB,OAAO,CACL,uCACE,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,sBAAsB,qBACf,OAAO;QAExB,uCAAK,EAAE,EAAE,OAAO,yBACb,KAAK,CACF;QACL,QAAQ,CACL,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ListboxGroup.js","sourceRoot":"","sources":["../../../../../src/utils/components/Listbox/group/ListboxGroup.tsx"],"names":[],"mappings":";;;;;AAgCS,oCAAY;AAhCrB,kDAA0B;AAC1B,uDAA+C;AAC/C,+DAAmD;AAOnD,SAAS,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAqB;IAC1D,MAAM,OAAO,GAAG,IAAA,sBAAK,GAAE,CAAC;IAExB,OAAO,CACL,uCACE,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,sBAAsB,qBACf,OAAO;QAExB,8BAAC,kBAAK,IACJ,EAAE,EAAC,KAAK,EACR,IAAI,EAAC,OAAO,EACZ,EAAE,EAAE,OAAO,uBAEX,SAAS,EAAC,4BAA4B,IAErC,KAAK,CACA;QACP,QAAQ,CACL,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import { DragAndDropElement } from "../types.js";
3
+ export interface DragAndDropDragHandlerProps {
4
+ item: DragAndDropElement;
5
+ itemRef?: React.RefObject<HTMLDivElement | null>;
6
+ }
7
+ /**
8
+ * DragAndDropDragHandler
9
+ *
10
+ * A button component that serves as a drag handle for drag and drop operations.
11
+ * Can be used to initiate dragging of elements in a data table or list.
12
+ */
13
+ export declare const DragAndDropDragHandler: React.ForwardRefExoticComponent<DragAndDropDragHandlerProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,53 @@
1
+ import React from "react";
2
+ import { CaretDownCircleFillIcon, CaretUpCircleFillIcon, DragVerticalIcon, } from "@navikt/aksel-icons";
3
+ import { useDragAndDropContext } from "../root/DragAndDrop.context.js";
4
+ /**
5
+ * DragAndDropDragHandler
6
+ *
7
+ * A button component that serves as a drag handle for drag and drop operations.
8
+ * Can be used to initiate dragging of elements in a data table or list.
9
+ */
10
+ export const DragAndDropDragHandler = React.forwardRef(({ item, itemRef }, forwardedRef) => {
11
+ var _a;
12
+ const context = useDragAndDropContext();
13
+ const active = (context === null || context === void 0 ? void 0 : context.dragHandlerActive) &&
14
+ item &&
15
+ ((_a = context === null || context === void 0 ? void 0 : context.dragHandlerActive) === null || _a === void 0 ? void 0 : _a.id) === item.id;
16
+ return (React.createElement("div", { className: "aksel-data-drag-and-drop__drag-handler", ref: forwardedRef },
17
+ active && (React.createElement("span", { className: "aksel-data-drag-and-drop__drag-handler__arrow", "data-direction": "up" },
18
+ React.createElement(CaretUpCircleFillIcon, { "aria-hidden": true, fontSize: "1.2rem" }))),
19
+ React.createElement("button", { "aria-label": "Dra for \u00E5 flytte", className: "aksel-data-drag-and-drop__drag-handler__button", "data-drag-handler-active": active, onPointerDown: (event) => {
20
+ event.stopPropagation();
21
+ context === null || context === void 0 ? void 0 : context.startPendingDragStart(event, item, (itemRef === null || itemRef === void 0 ? void 0 : itemRef.current) || null);
22
+ }, onClick: () => context === null || context === void 0 ? void 0 : context.setDragHandlerActive(item), onKeyDown: (event) => {
23
+ if ((event.key === "Enter" || event.key === " ") &&
24
+ (context === null || context === void 0 ? void 0 : context.dragHandlerActive)) {
25
+ // Enter or space, currently active item - end keyboard dragging
26
+ event.preventDefault();
27
+ context === null || context === void 0 ? void 0 : context.setDragHandlerActive(null);
28
+ }
29
+ else if ((event.key === "Enter" || event.key === " ") &&
30
+ !(context === null || context === void 0 ? void 0 : context.dragHandlerActive)) {
31
+ // Enter or space, not currently active item - start keyboard dragging
32
+ event.preventDefault();
33
+ context === null || context === void 0 ? void 0 : context.setDragHandlerActive(item);
34
+ }
35
+ else if (event.key === "Escape") {
36
+ // Cancel dragging
37
+ // TODO Handle reset
38
+ context === null || context === void 0 ? void 0 : context.setDragHandlerActive(null);
39
+ }
40
+ else if (event.key === "ArrowUp") {
41
+ // Move item up
42
+ context === null || context === void 0 ? void 0 : context.onKeyboardDragEnd(-1);
43
+ }
44
+ else if (event.key === "ArrowDown") {
45
+ // Move item down
46
+ context === null || context === void 0 ? void 0 : context.onKeyboardDragEnd(1);
47
+ }
48
+ } },
49
+ React.createElement(DragVerticalIcon, { "aria-hidden": true, title: "Dra for \u00E5 flytte", fontSize: "1.5rem" })),
50
+ active && (React.createElement("span", { className: "aksel-data-drag-and-drop__drag-handler__arrow", "data-direction": "down" },
51
+ React.createElement(CaretDownCircleFillIcon, { "aria-hidden": true, fontSize: "1.2rem" })))));
52
+ });
53
+ //# 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":"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"}
@@ -0,0 +1,31 @@
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
+ * Indicates if the item is an overlay
14
+ */
15
+ isOverlay?: boolean;
16
+ }
17
+ /**
18
+ * TODO
19
+ *
20
+ * @see 🏷️ {@link DragAndDropItemProps}
21
+ * @example
22
+ * ```tsx
23
+ * <DragAndDrop.Item numOfSelectedRows={selectedRows.length} onClear={handleClear}>
24
+ * TODO
25
+ * </DragAndDrop.Item>
26
+ * ```
27
+ */
28
+ declare const DragAndDropItem: React.ForwardRefExoticComponent<DragAndDropItemProps & React.RefAttributes<HTMLDivElement>>;
29
+ export default DragAndDropItem;
30
+ export { DragAndDropItem };
31
+ export type { DragAndDropItemProps };
@@ -0,0 +1,42 @@
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 from "react";
13
+ import { HStack } from "../../../primitives/stack/index.js";
14
+ import { cl } from "../../../utils/helpers/index.js";
15
+ import { DragAndDropDragHandler } from "../drag-handler/DragAndDropDragHandler.js";
16
+ import { useDragAndDropContext } from "../root/DragAndDrop.context.js";
17
+ /**
18
+ * TODO
19
+ *
20
+ * @see 🏷️ {@link DragAndDropItemProps}
21
+ * @example
22
+ * ```tsx
23
+ * <DragAndDrop.Item numOfSelectedRows={selectedRows.length} onClear={handleClear}>
24
+ * TODO
25
+ * </DragAndDrop.Item>
26
+ * ```
27
+ */
28
+ const DragAndDropItem = React.forwardRef((_a, forwardedRef) => {
29
+ var _b;
30
+ var { children, id, index, className, isOverlay = false } = _a, rest = __rest(_a, ["children", "id", "index", "className", "isOverlay"]);
31
+ const ref = React.useRef(null);
32
+ const context = useDragAndDropContext();
33
+ const item = { id, index };
34
+ const isDropTarget = ((_b = context === null || context === void 0 ? void 0 : context.dropTarget) === null || _b === void 0 ? void 0 : _b.id) === id;
35
+ return (React.createElement(HStack, { gap: "space-8", align: "center", wrap: false, asChild: true, ref: forwardedRef, padding: "space-4" },
36
+ React.createElement("div", Object.assign({ id: isOverlay ? undefined : id, ref: ref }, rest, { "data-dnd-id": isOverlay ? undefined : id, "data-dnd-index": isOverlay ? undefined : index, className: cl("aksel-data-table__drag-and-drop-item", className), "data-drop-target": isOverlay ? undefined : isDropTarget, "data-overlay": isOverlay, tabIndex: isOverlay ? undefined : -1 }),
37
+ React.createElement(DragAndDropDragHandler, { item: item, itemRef: ref }),
38
+ React.createElement("div", null, children))));
39
+ });
40
+ export default DragAndDropItem;
41
+ export { DragAndDropItem };
42
+ //# 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,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAkBpE;;;;;;;;;;GAUG;AACH,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CACtC,CACE,EAA8D,EAC9D,YAAY,EACZ,EAAE;;QAFF,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,GAAG,KAAK,OAAW,EAAN,IAAI,cAA5D,qDAA8D,CAAF;IAG5D,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,qBAAqB,EAAE,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,oBAAC,MAAM,IACL,GAAG,EAAC,SAAS,EACb,KAAK,EAAC,QAAQ,EACd,IAAI,EAAE,KAAK,EACX,OAAO,QACP,GAAG,EAAE,YAAY,EACjB,OAAO,EAAC,SAAS;QAGjB,2CACE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAC9B,GAAG,EAAE,GAAG,IACJ,IAAI,mBACK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,oBACvB,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAC7C,SAAS,EAAE,EAAE,CAAC,sCAAsC,EAAE,SAAS,CAAC,sBAC9C,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,kBACxC,SAAS,EACvB,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAEpC,oBAAC,sBAAsB,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,GAAI;YACpD,iCAAM,QAAQ,CAAO,CACjB,CACC,CACV,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,eAAe,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { DragAndDropElement } from "../types.js";
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
+ startPendingDragStart: (event: React.PointerEvent, item: DragAndDropElement, element?: HTMLElement | null) => void;
11
+ cancelDragStart: () => void;
12
+ }
13
+ export declare const DragAndDropProvider: import("react").FC<DragAndDropContextType & {
14
+ children: React.ReactNode;
15
+ ref?: never;
16
+ }>, useDragAndDropContext: <S extends boolean = true>(strict?: S | undefined) => S extends true ? DragAndDropContextType | undefined : DragAndDropContextType | undefined;
17
+ export {};
@@ -0,0 +1,6 @@
1
+ import { createStrictContext } from "../../../utils/helpers/index.js";
2
+ export const { Provider: DragAndDropProvider, useContext: useDragAndDropContext, } = createStrictContext({
3
+ errorMessage: "useDragAndDropContext must be used within a DragAndDropProvider",
4
+ name: "DragAndDropContext",
5
+ });
6
+ //# 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,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAmB7D,MAAM,CAAC,MAAM,EACX,QAAQ,EAAE,mBAAmB,EAC7B,UAAU,EAAE,qBAAqB,GAClC,GAAG,mBAAmB,CAAqC;IAC1D,YAAY,EACV,iEAAiE;IACnE,IAAI,EAAE,oBAAoB;CAC3B,CAAC,CAAC"}
@@ -0,0 +1,38 @@
1
+ import React from "react";
2
+ import DragAndDropItem, { DragAndDropItemProps } from "../item/DragAndDropItem.js";
3
+ interface DragAndDropProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ children: React.ReactElement<DragAndDropItemProps>[];
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
+ * [x] setItems on root
24
+ * [x] state : active element
25
+ * [x] pointer over listener / state, onPointerEnter, onPointerLeave
26
+ * [x] Overlay - Use floating component
27
+ * [x] Keyboard navigation
28
+ * [ ] UU - announce on drag start, item moved, drag end
29
+ * [x] Make overlay same width as the OG item, currently jumps to content width
30
+ * [ ] Look into adding a cancel listener event
31
+ * [ ] Make onClick work on drag handler button, currently blocked by pointer down/up listeners
32
+ * [ ] Talk to design about what should happen on ESC key press, currently just cancels dragging, should it also reset position?
33
+ * [ ] Make arrow icons into buttons that react to keyboard events, currently just decorative
34
+ */
35
+ declare const DragAndDrop: DataDragAndDropRootComponent;
36
+ export { DragAndDrop, DragAndDropItem };
37
+ export default DragAndDrop;
38
+ export type { DragAndDropItemProps, DragAndDropProps };
@@ -0,0 +1,179 @@
1
+ import React, { forwardRef, useEffect } from "react";
2
+ import { Floating } from "../../../utils/components/floating/Floating.js";
3
+ import DragAndDropItem from "../item/DragAndDropItem.js";
4
+ import { DragAndDropProvider } from "./DragAndDrop.context.js";
5
+ /**
6
+ * TODO
7
+ * [x] setItems on root
8
+ * [x] state : active element
9
+ * [x] pointer over listener / state, onPointerEnter, onPointerLeave
10
+ * [x] Overlay - Use floating component
11
+ * [x] Keyboard navigation
12
+ * [ ] UU - announce on drag start, item moved, drag end
13
+ * [x] Make overlay same width as the OG item, currently jumps to content width
14
+ * [ ] Look into adding a cancel listener event
15
+ * [ ] Make onClick work on drag handler button, currently blocked by pointer down/up listeners
16
+ * [ ] Talk to design about what should happen on ESC key press, currently just cancels dragging, should it also reset position?
17
+ * [ ] Make arrow icons into buttons that react to keyboard events, currently just decorative
18
+ */
19
+ const DragAndDrop = forwardRef(({ setItems, children }, forwardedRef) => {
20
+ const DRAG_THRESHOLD = 4; // Minimum movement in pixels to start dragging
21
+ const [activeItem, setActiveItem] = React.useState(null);
22
+ const [dropTarget, setDropTarget] = React.useState(null);
23
+ const [dragHandlerActive, setDragHandlerActive] = React.useState(null);
24
+ const [overlayWidth, setOverlayWidth] = React.useState(null);
25
+ const activeItemRef = React.useRef(null);
26
+ const dropTargetRef = React.useRef(null);
27
+ const activeChild = children.find((child) => child.props.id === (activeItem === null || activeItem === void 0 ? void 0 : activeItem.id));
28
+ const [virtualRef, setVirtualRef] = React.useState({
29
+ getBoundingClientRect: () => DOMRect.fromRect({ width: 0, height: 0, x: 0, y: 0 }),
30
+ });
31
+ const pendingDragStartRef = React.useRef(null);
32
+ const startPendingDragStart = (event, item, element) => {
33
+ pendingDragStartRef.current = {
34
+ item,
35
+ element: element || null,
36
+ pointerId: event.pointerId,
37
+ startX: event.clientX,
38
+ startY: event.clientY,
39
+ };
40
+ };
41
+ const cancelDragStart = () => {
42
+ pendingDragStartRef.current = null;
43
+ };
44
+ const setCombinedActiveItem = React.useCallback((item) => {
45
+ activeItemRef.current = item;
46
+ setActiveItem(item);
47
+ }, []);
48
+ const setCombinedDropTarget = React.useCallback((item) => {
49
+ dropTargetRef.current = item;
50
+ setDropTarget(item);
51
+ }, []);
52
+ useEffect(() => {
53
+ /* This useEffect is used to toggle a class on the html element when dragging,
54
+ to prevent cursor issues when dragging over interactive elements,
55
+ and to prevent text selection during dragging. */
56
+ if (activeItem) {
57
+ document.documentElement.setAttribute("data-dragging-cursor", "true");
58
+ document.body.style.userSelect = "none";
59
+ }
60
+ else {
61
+ document.documentElement.removeAttribute("data-dragging-cursor");
62
+ document.body.style.userSelect = "";
63
+ }
64
+ return () => {
65
+ document.documentElement.removeAttribute("data-dragging-cursor");
66
+ document.body.style.userSelect = "";
67
+ };
68
+ }, [activeItem]);
69
+ useEffect(() => {
70
+ const handlePointerMove = (event) => {
71
+ var _a, _b, _c;
72
+ const pendingStart = pendingDragStartRef.current;
73
+ const activeRef = activeItemRef.current;
74
+ const element = pendingStart === null || pendingStart === void 0 ? void 0 : pendingStart.element;
75
+ if (!activeRef && pendingStart) {
76
+ const deltaX = Math.abs(event.clientX - pendingStart.startX);
77
+ const deltaY = Math.abs(event.clientY - pendingStart.startY);
78
+ if (deltaX > DRAG_THRESHOLD || deltaY > DRAG_THRESHOLD) {
79
+ if (element) {
80
+ element.setPointerCapture(pendingStart.pointerId);
81
+ }
82
+ setOverlayWidth((_a = element === null || element === void 0 ? void 0 : element.getBoundingClientRect().width) !== null && _a !== void 0 ? _a : null);
83
+ setCombinedActiveItem(pendingStart.item);
84
+ setCombinedDropTarget(pendingStart.item);
85
+ pendingDragStartRef.current = null;
86
+ }
87
+ return;
88
+ }
89
+ const active = activeItemRef.current;
90
+ if (!active)
91
+ return;
92
+ setVirtualRef({
93
+ getBoundingClientRect: () => DOMRect.fromRect({
94
+ width: 0,
95
+ height: 0,
96
+ x: event.clientX,
97
+ y: event.clientY,
98
+ }),
99
+ });
100
+ const elements = document.elementsFromPoint(event.clientX, event.clientY);
101
+ const matchingElements = elements.filter((el) => el instanceof HTMLElement && Boolean(el.closest("[data-dnd-id]")));
102
+ const itemElements = matchingElements
103
+ .map((el) => el.closest("[data-dnd-id]"))
104
+ .filter((el) => el instanceof HTMLElement);
105
+ const uniqueItemElements = Array.from(new Set(itemElements));
106
+ const targetElement = (_c = (_b = uniqueItemElements.find((el) => el.dataset.dndId !== active.id)) !== null && _b !== void 0 ? _b : uniqueItemElements.find((el) => el.dataset.dndId === active.id)) !== null && _c !== void 0 ? _c : null;
107
+ if (!targetElement) {
108
+ setCombinedDropTarget(null);
109
+ return;
110
+ }
111
+ const hoveredId = targetElement.dataset.dndId;
112
+ const hoveredIndex = Number(targetElement.dataset.dndIndex);
113
+ if (!hoveredId || Number.isNaN(hoveredIndex)) {
114
+ setCombinedDropTarget(null);
115
+ return;
116
+ }
117
+ setCombinedDropTarget({ id: hoveredId, index: hoveredIndex });
118
+ };
119
+ const handlePointerUp = () => {
120
+ if (!activeItemRef.current) {
121
+ pendingDragStartRef.current = null;
122
+ return;
123
+ }
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
+ setOverlayWidth(null);
135
+ setDragHandlerActive(null);
136
+ setCombinedActiveItem(null);
137
+ setCombinedDropTarget(null);
138
+ pendingDragStartRef.current = null;
139
+ };
140
+ // TODO - Look into adding a cancel listener event
141
+ window.addEventListener("pointermove", handlePointerMove);
142
+ window.addEventListener("pointerup", handlePointerUp);
143
+ return () => {
144
+ window.removeEventListener("pointermove", handlePointerMove);
145
+ window.removeEventListener("pointerup", handlePointerUp);
146
+ };
147
+ }, [setCombinedDropTarget, setCombinedActiveItem, setItems]);
148
+ const onKeyboardDragEnd = (diff) => {
149
+ if (!dragHandlerActive)
150
+ return;
151
+ const targetIndex = dragHandlerActive.index + diff;
152
+ if (targetIndex < 0 || targetIndex >= children.length) {
153
+ return;
154
+ }
155
+ setItems((items) => {
156
+ const newItems = [...items];
157
+ const [movedItem] = newItems.splice(dragHandlerActive.index, 1);
158
+ newItems.splice(targetIndex, 0, movedItem);
159
+ return newItems;
160
+ });
161
+ setDragHandlerActive(Object.assign(Object.assign({}, dragHandlerActive), { index: targetIndex }));
162
+ };
163
+ return (React.createElement(DragAndDropProvider, { activeItem: activeItem, setActiveItem: setCombinedActiveItem, dropTarget: dropTarget, setDropTarget: setCombinedDropTarget, dragHandlerActive: dragHandlerActive, setDragHandlerActive: setDragHandlerActive, onKeyboardDragEnd: onKeyboardDragEnd, startPendingDragStart: startPendingDragStart, cancelDragStart: cancelDragStart },
164
+ React.createElement("div", { ref: forwardedRef }, children),
165
+ activeItem && activeChild && (React.createElement(Floating, null,
166
+ React.createElement(Floating.Anchor, { virtualRef: virtualRef },
167
+ React.createElement("span", null)),
168
+ React.createElement(Floating.Content, { align: "start", updatePositionStrategy: "always", style: {
169
+ pointerEvents: "none",
170
+ boxSizing: "border-box",
171
+ width: overlayWidth ? `${overlayWidth}px` : "fit-content",
172
+ } }, React.cloneElement(activeChild, {
173
+ isOverlay: true,
174
+ }))))));
175
+ });
176
+ DragAndDrop.Item = DragAndDropItem;
177
+ export { DragAndDrop, DragAndDropItem };
178
+ export default DragAndDrop;
179
+ //# sourceMappingURL=DragAndDropRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DragAndDropRoot.js","sourceRoot":"","sources":["../../../../src/data/drag-and-drop/root/DragAndDropRoot.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export interface DragAndDropElement {
2
+ id: string;
3
+ index: number;
4
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/data/drag-and-drop/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import type { CheckboxInputProps } from "../../../../form/checkbox/checkbox-input/CheckboxInput.js";
2
+ import type { SelectionT } from "./selection.types.js";
3
+ type GetMultipleSelectPropsArgs = {
4
+ selectedKeys: SelectionT;
5
+ setSelectedKeys: (keys: SelectionT) => void;
6
+ disabledKeys: (string | number)[];
7
+ allKeys: (string | number)[];
8
+ totalCount: number;
9
+ };
10
+ declare function getMultipleSelectProps({ selectedKeys, setSelectedKeys, disabledKeys, allKeys, totalCount, }: GetMultipleSelectPropsArgs): {
11
+ getTheadCheckboxProps: () => CheckboxInputProps;
12
+ getRowCheckboxProps: (key: string | number) => CheckboxInputProps;
13
+ };
14
+ export { getMultipleSelectProps };