@navikt/ds-react 8.8.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 (174) hide show
  1. package/cjs/data/drag-and-drop/drag-handler/DragAndDropDragHandler.d.ts +12 -0
  2. package/cjs/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js +57 -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 +27 -0
  5. package/cjs/data/drag-and-drop/item/DragAndDropItem.js +52 -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 +16 -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/{DataDragAndDropRoot.d.ts → DragAndDropRoot.d.ts} +11 -9
  11. package/cjs/data/drag-and-drop/root/DragAndDropRoot.js +187 -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 +23 -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 +24 -10
  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/token-filter/AutoSuggest.js +37 -4
  37. package/cjs/data/token-filter/AutoSuggest.js.map +1 -1
  38. package/cjs/data/token-filter/TokenFilter.d.ts +1 -0
  39. package/cjs/data/token-filter/TokenFilter.js +1 -0
  40. package/cjs/data/token-filter/TokenFilter.js.map +1 -1
  41. package/cjs/data/toolbar/root/DataToolbarRoot.d.ts +6 -23
  42. package/cjs/data/toolbar/root/DataToolbarRoot.js +42 -7
  43. package/cjs/data/toolbar/root/DataToolbarRoot.js.map +1 -1
  44. package/cjs/date/Date.Input.js +8 -9
  45. package/cjs/date/Date.Input.js.map +1 -1
  46. package/cjs/date/datepicker/hooks/useDatepicker.js +4 -3
  47. package/cjs/date/datepicker/hooks/useDatepicker.js.map +1 -1
  48. package/cjs/date/monthpicker/hooks/useMonthPicker.js +3 -2
  49. package/cjs/date/monthpicker/hooks/useMonthPicker.js.map +1 -1
  50. package/cjs/internal-header/InternalHeaderButton.d.ts +5 -0
  51. package/cjs/internal-header/InternalHeaderButton.js +2 -2
  52. package/cjs/internal-header/InternalHeaderButton.js.map +1 -1
  53. package/cjs/utils/components/Listbox/group/ListboxGroup.js +2 -1
  54. package/cjs/utils/components/Listbox/group/ListboxGroup.js.map +1 -1
  55. package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.d.ts +12 -0
  56. package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js +51 -0
  57. package/esm/data/drag-and-drop/drag-handler/DragAndDropDragHandler.js.map +1 -0
  58. package/esm/data/drag-and-drop/item/DragAndDropItem.d.ts +27 -0
  59. package/esm/data/drag-and-drop/item/DragAndDropItem.js +46 -0
  60. package/esm/data/drag-and-drop/item/DragAndDropItem.js.map +1 -0
  61. package/esm/data/drag-and-drop/root/DragAndDrop.context.d.ts +16 -0
  62. package/esm/data/drag-and-drop/root/DragAndDrop.context.js +6 -0
  63. package/esm/data/drag-and-drop/root/DragAndDrop.context.js.map +1 -0
  64. package/esm/data/drag-and-drop/root/{DataDragAndDropRoot.d.ts → DragAndDropRoot.d.ts} +11 -9
  65. package/esm/data/drag-and-drop/root/DragAndDropRoot.js +147 -0
  66. package/esm/data/drag-and-drop/root/DragAndDropRoot.js.map +1 -0
  67. package/esm/data/drag-and-drop/types.d.ts +4 -0
  68. package/esm/data/drag-and-drop/types.js +2 -0
  69. package/esm/data/drag-and-drop/types.js.map +1 -0
  70. package/esm/data/table/helpers/selection/getMultipleSelectProps.d.ts +14 -0
  71. package/esm/data/table/helpers/selection/getMultipleSelectProps.js +46 -0
  72. package/esm/data/table/helpers/selection/getMultipleSelectProps.js.map +1 -0
  73. package/esm/data/table/helpers/selection/getSingleSelectProps.d.ts +10 -0
  74. package/esm/data/table/helpers/selection/getSingleSelectProps.js +21 -0
  75. package/esm/data/table/helpers/selection/getSingleSelectProps.js.map +1 -0
  76. package/esm/data/table/helpers/selection/selection.types.d.ts +42 -0
  77. package/esm/data/table/helpers/selection/selection.types.js +2 -0
  78. package/esm/data/table/helpers/selection/selection.types.js.map +1 -0
  79. package/esm/data/table/{root → hooks}/useTableKeyboardNav.js +1 -1
  80. package/esm/data/table/hooks/useTableKeyboardNav.js.map +1 -0
  81. package/esm/data/table/hooks/useTableSelection.d.ts +8 -0
  82. package/esm/data/table/hooks/useTableSelection.js +47 -0
  83. package/esm/data/table/hooks/useTableSelection.js.map +1 -0
  84. package/esm/data/table/root/DataTableAuto.d.ts +4 -4
  85. package/esm/data/table/root/DataTableAuto.js +24 -10
  86. package/esm/data/table/root/DataTableAuto.js.map +1 -1
  87. package/esm/data/table/root/DataTableRoot.d.ts +1 -1
  88. package/esm/data/table/root/DataTableRoot.js +1 -1
  89. package/esm/data/table/root/DataTableRoot.js.map +1 -1
  90. package/esm/data/token-filter/AutoSuggest.js +38 -5
  91. package/esm/data/token-filter/AutoSuggest.js.map +1 -1
  92. package/esm/data/token-filter/TokenFilter.d.ts +1 -0
  93. package/esm/data/token-filter/TokenFilter.js +1 -0
  94. package/esm/data/token-filter/TokenFilter.js.map +1 -1
  95. package/esm/data/toolbar/root/DataToolbarRoot.d.ts +6 -23
  96. package/esm/data/toolbar/root/DataToolbarRoot.js +9 -7
  97. package/esm/data/toolbar/root/DataToolbarRoot.js.map +1 -1
  98. package/esm/date/Date.Input.js +9 -10
  99. package/esm/date/Date.Input.js.map +1 -1
  100. package/esm/date/datepicker/hooks/useDatepicker.js +4 -3
  101. package/esm/date/datepicker/hooks/useDatepicker.js.map +1 -1
  102. package/esm/date/monthpicker/hooks/useMonthPicker.js +3 -2
  103. package/esm/date/monthpicker/hooks/useMonthPicker.js.map +1 -1
  104. package/esm/internal-header/InternalHeaderButton.d.ts +5 -0
  105. package/esm/internal-header/InternalHeaderButton.js +2 -2
  106. package/esm/internal-header/InternalHeaderButton.js.map +1 -1
  107. package/esm/utils/components/Listbox/group/ListboxGroup.js +2 -1
  108. package/esm/utils/components/Listbox/group/ListboxGroup.js.map +1 -1
  109. package/package.json +4 -4
  110. package/src/data/drag-and-drop/drag-handler/DragAndDropDragHandler.tsx +90 -0
  111. package/src/data/drag-and-drop/item/DragAndDropItem.tsx +71 -0
  112. package/src/data/drag-and-drop/root/DragAndDrop.context.tsx +25 -0
  113. package/src/data/drag-and-drop/root/DragAndDropRoot.tsx +245 -0
  114. package/src/data/drag-and-drop/types.ts +4 -0
  115. package/src/data/table/helpers/selection/getMultipleSelectProps.ts +70 -0
  116. package/src/data/table/helpers/selection/getSingleSelectProps.ts +33 -0
  117. package/src/data/table/helpers/selection/selection.types.ts +56 -0
  118. package/src/data/table/hooks/__tests__/useTableSelection.test.ts +327 -0
  119. package/src/data/table/{root → hooks}/useTableKeyboardNav.ts +1 -1
  120. package/src/data/table/hooks/useTableSelection.ts +78 -0
  121. package/src/data/table/root/DataTableAuto.tsx +46 -23
  122. package/src/data/table/root/DataTableRoot.tsx +2 -2
  123. package/src/data/token-filter/AutoSuggest.tsx +65 -3
  124. package/src/data/token-filter/TokenFilter.tsx +1 -0
  125. package/src/data/toolbar/root/DataToolbarRoot.tsx +29 -32
  126. package/src/date/Date.Input.tsx +17 -16
  127. package/src/date/datepicker/hooks/useDatepicker.tsx +4 -5
  128. package/src/date/monthpicker/hooks/useMonthPicker.tsx +3 -4
  129. package/src/internal-header/InternalHeaderButton.tsx +18 -9
  130. package/src/utils/components/Listbox/group/ListboxGroup.tsx +9 -2
  131. package/cjs/data/action-bar/root/DataActionBarRoot.d.ts +0 -27
  132. package/cjs/data/action-bar/root/DataActionBarRoot.js +0 -49
  133. package/cjs/data/action-bar/root/DataActionBarRoot.js.map +0 -1
  134. package/cjs/data/drag-and-drop/drag-handler/DataDragAndDropDragHandler.d.ts +0 -21
  135. package/cjs/data/drag-and-drop/drag-handler/DataDragAndDropDragHandler.js +0 -24
  136. package/cjs/data/drag-and-drop/drag-handler/DataDragAndDropDragHandler.js.map +0 -1
  137. package/cjs/data/drag-and-drop/item/DataDragAndDropItem.d.ts +0 -27
  138. package/cjs/data/drag-and-drop/item/DataDragAndDropItem.js +0 -41
  139. package/cjs/data/drag-and-drop/item/DataDragAndDropItem.js.map +0 -1
  140. package/cjs/data/drag-and-drop/root/DataDragAndDrop.context.d.ts +0 -8
  141. package/cjs/data/drag-and-drop/root/DataDragAndDrop.context.js +0 -10
  142. package/cjs/data/drag-and-drop/root/DataDragAndDrop.context.js.map +0 -1
  143. package/cjs/data/drag-and-drop/root/DataDragAndDropRoot.js +0 -61
  144. package/cjs/data/drag-and-drop/root/DataDragAndDropRoot.js.map +0 -1
  145. package/cjs/data/table/root/useTableKeyboardNav.js.map +0 -1
  146. package/cjs/data/table/root/useTableSelection.d.ts +0 -55
  147. package/cjs/data/table/root/useTableSelection.js +0 -79
  148. package/cjs/data/table/root/useTableSelection.js.map +0 -1
  149. package/esm/data/action-bar/root/DataActionBarRoot.d.ts +0 -27
  150. package/esm/data/action-bar/root/DataActionBarRoot.js +0 -43
  151. package/esm/data/action-bar/root/DataActionBarRoot.js.map +0 -1
  152. package/esm/data/drag-and-drop/drag-handler/DataDragAndDropDragHandler.d.ts +0 -21
  153. package/esm/data/drag-and-drop/drag-handler/DataDragAndDropDragHandler.js +0 -18
  154. package/esm/data/drag-and-drop/drag-handler/DataDragAndDropDragHandler.js.map +0 -1
  155. package/esm/data/drag-and-drop/item/DataDragAndDropItem.d.ts +0 -27
  156. package/esm/data/drag-and-drop/item/DataDragAndDropItem.js +0 -35
  157. package/esm/data/drag-and-drop/item/DataDragAndDropItem.js.map +0 -1
  158. package/esm/data/drag-and-drop/root/DataDragAndDrop.context.d.ts +0 -8
  159. package/esm/data/drag-and-drop/root/DataDragAndDrop.context.js +0 -6
  160. package/esm/data/drag-and-drop/root/DataDragAndDrop.context.js.map +0 -1
  161. package/esm/data/drag-and-drop/root/DataDragAndDropRoot.js +0 -21
  162. package/esm/data/drag-and-drop/root/DataDragAndDropRoot.js.map +0 -1
  163. package/esm/data/table/root/useTableKeyboardNav.js.map +0 -1
  164. package/esm/data/table/root/useTableSelection.d.ts +0 -55
  165. package/esm/data/table/root/useTableSelection.js +0 -77
  166. package/esm/data/table/root/useTableSelection.js.map +0 -1
  167. package/src/data/action-bar/root/DataActionBarRoot.tsx +0 -59
  168. package/src/data/drag-and-drop/drag-handler/DataDragAndDropDragHandler.tsx +0 -63
  169. package/src/data/drag-and-drop/item/DataDragAndDropItem.tsx +0 -54
  170. package/src/data/drag-and-drop/root/DataDragAndDrop.context.tsx +0 -14
  171. package/src/data/drag-and-drop/root/DataDragAndDropRoot.tsx +0 -54
  172. package/src/data/table/root/useTableSelection.ts +0 -126
  173. /package/cjs/data/table/{root → hooks}/useTableKeyboardNav.d.ts +0 -0
  174. /package/esm/data/table/{root → hooks}/useTableKeyboardNav.d.ts +0 -0
@@ -1,61 +0,0 @@
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.DataDragAndDropItem = exports.DataDragAndDrop = void 0;
40
- 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)));
57
- });
58
- exports.DataDragAndDrop = DataDragAndDrop;
59
- DataDragAndDrop.Item = DataDragAndDropItem_1.default;
60
- exports.default = DataDragAndDrop;
61
- //# sourceMappingURL=DataDragAndDropRoot.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataDragAndDropRoot.js","sourceRoot":"","sources":["../../../../src/data/drag-and-drop/root/DataDragAndDropRoot.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAC1C,sFAEqC;AAgDX,8BAlDnB,6BAAmB,CAkDmB;AA/C7C,uEAAoE;AAwBpE;;;;;;;;;GASG;AAEH,MAAM,eAAe,GAAG,IAAA,kBAAU,EAChC,CAAC,EAAE,QAAQ,EAAE,EAAE,YAAY,EAAE,EAAE;IAC7B,OAAO,CACL,8BAAC,iDAAuB,IAAC,WAAW,EAAE,IAAI;QACxC,uCAAK,GAAG,EAAE,YAAY,IAAG,QAAQ,CAAO,CAChB,CAC3B,CAAC;AACJ,CAAC,CAC8B,CAAC;AAIzB,0CAAe;AAFxB,eAAe,CAAC,IAAI,GAAG,6BAAmB,CAAC;AAG3C,kBAAe,eAAe,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTableKeyboardNav.js","sourceRoot":"","sources":["../../../../src/data/table/root/useTableKeyboardNav.ts"],"names":[],"mappings":"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"}
@@ -1,55 +0,0 @@
1
- import type { CheckboxProps } from "../../../form/checkbox/types";
2
- type SelectionT = (string | number)[] | "all";
3
- type SelectionProps = {
4
- /**
5
- * Enables selection of rows.
6
- *
7
- *
8
- * When set to "single", only one row can be selected at a time.
9
- *
10
- * When set to "multiple", multiple rows can be selected.
11
- *
12
- * TODO:
13
- * - Implement callbacks for selection changes (e.g. onRowSelect, onSelectAll)
14
- * - Implement controlled state
15
- * - Implement auto-add checkbox to rows and header when selection is enabled
16
- *
17
- * @default "none"
18
- */
19
- selectionMode?: "none" | "single" | "multiple";
20
- selectedKeys?: SelectionT;
21
- defaultSelectedKeys?: SelectionT;
22
- onSelectionChange?: (keys: SelectionT) => void;
23
- disabledKeys?: (string | number)[];
24
- };
25
- type UseTableSelectionArgs = SelectionProps & {
26
- data: (any & {
27
- id: string | number;
28
- })[];
29
- };
30
- declare function useTableSelection({ selectionMode, defaultSelectedKeys, selectedKeys: selectedKeysProp, onSelectionChange, disabledKeys, data, }: UseTableSelectionArgs): {
31
- selectedKeys: never[];
32
- handleSelectionChange: () => void;
33
- selectionMode: "none";
34
- disabledKeys: (string | number)[];
35
- getTheadCheckboxProps?: undefined;
36
- getRowCheckboxProps?: undefined;
37
- } | {
38
- selectedKeys: "all" | (string | number)[];
39
- handleSelectionChange: (key: {
40
- value: string | number;
41
- } | "all") => void;
42
- selectionMode: "multiple" | "single" | undefined;
43
- disabledKeys: (string | number)[];
44
- getTheadCheckboxProps: () => {
45
- children: string;
46
- onChange: () => void;
47
- checked: boolean;
48
- indeterminate: boolean;
49
- disabled: boolean;
50
- hideLabel: boolean;
51
- };
52
- getRowCheckboxProps: (key: string | number) => CheckboxProps;
53
- };
54
- export { useTableSelection };
55
- export type { SelectionProps };
@@ -1,79 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useTableSelection = useTableSelection;
4
- const hooks_1 = require("../../../utils/hooks");
5
- function useTableSelection({ selectionMode, defaultSelectedKeys, selectedKeys: selectedKeysProp, onSelectionChange, disabledKeys = [], data, }) {
6
- const [selectedKeys, setSelectedKeys] = (0, hooks_1.useControllableState)({
7
- value: selectedKeysProp,
8
- defaultValue: defaultSelectedKeys !== null && defaultSelectedKeys !== void 0 ? defaultSelectedKeys : [],
9
- onChange: onSelectionChange,
10
- });
11
- const handleSelectionChange = (key) => {
12
- if (selectionMode === "none") {
13
- return;
14
- }
15
- if (key === "all") {
16
- if (selectedKeys === "all" ||
17
- (Array.isArray(selectedKeys) && selectedKeys.length === data.length)) {
18
- setSelectedKeys([]);
19
- }
20
- else {
21
- const allKeys = data.map((item) => item.id);
22
- setSelectedKeys(allKeys);
23
- }
24
- }
25
- else {
26
- const value = key.value;
27
- if (selectedKeys === "all") {
28
- setSelectedKeys(data.map((item) => item.id).filter((id) => id !== value));
29
- }
30
- else if (Array.isArray(selectedKeys)) {
31
- if (selectedKeys.includes(value)) {
32
- setSelectedKeys(selectedKeys.filter((k) => k !== value));
33
- }
34
- else {
35
- setSelectedKeys([...selectedKeys, value]);
36
- }
37
- }
38
- }
39
- };
40
- if (selectionMode === "none") {
41
- return {
42
- selectedKeys: [],
43
- handleSelectionChange: () => { },
44
- selectionMode,
45
- disabledKeys,
46
- };
47
- }
48
- return {
49
- selectedKeys,
50
- handleSelectionChange,
51
- selectionMode,
52
- disabledKeys,
53
- getTheadCheckboxProps: () => {
54
- const indeterminate = Array.isArray(selectedKeys) &&
55
- selectedKeys.length > 0 &&
56
- selectedKeys.length < data.length;
57
- return {
58
- /* TODO: i18n */
59
- children: selectionMode === "single" ? "Select row" : "Select all rows",
60
- onChange: () => handleSelectionChange("all"),
61
- checked: (selectedKeys === "all" ||
62
- (Array.isArray(selectedKeys) && selectedKeys.length > 0)) &&
63
- !indeterminate,
64
- indeterminate,
65
- disabled: disabledKeys.length === data.length,
66
- hideLabel: true,
67
- };
68
- },
69
- getRowCheckboxProps: (key) => ({
70
- children: `Select row with id ${key}`,
71
- onChange: () => handleSelectionChange({ value: key }),
72
- checked: selectedKeys === "all" ||
73
- (Array.isArray(selectedKeys) && selectedKeys.includes(key)),
74
- disabled: disabledKeys.includes(key),
75
- hideLabel: true,
76
- }),
77
- };
78
- }
79
- //# sourceMappingURL=useTableSelection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTableSelection.js","sourceRoot":"","sources":["../../../../src/data/table/root/useTableSelection.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import React from "react";
2
- interface DataActionBarProps extends React.HTMLAttributes<HTMLDivElement> {
3
- children: React.ReactNode;
4
- /**
5
- * Number of selected rows
6
- */
7
- numOfSelectedRows: number;
8
- /**
9
- * Callback for the clear button
10
- */
11
- onClear: () => void;
12
- }
13
- /**
14
- * TODO
15
- *
16
- * @see 🏷️ {@link DataActionBarProps}
17
- * @example
18
- * ```tsx
19
- * <DataActionBar numOfSelectedRows={selectedRows.length} onClear={handleClear}>
20
- * TODO
21
- * </DataActionBar>
22
- * ```
23
- */
24
- declare const DataActionBar: React.ForwardRefExoticComponent<DataActionBarProps & React.RefAttributes<HTMLDivElement>>;
25
- export default DataActionBar;
26
- export { DataActionBar };
27
- export type { DataActionBarProps };
@@ -1,43 +0,0 @@
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 { Button } from "../../../button/index.js";
14
- import { Box } from "../../../primitives/box/index.js";
15
- import { HStack, Spacer } from "../../../primitives/stack/index.js";
16
- import { BodyShort } from "../../../typography/index.js";
17
- /**
18
- * TODO
19
- *
20
- * @see 🏷️ {@link DataActionBarProps}
21
- * @example
22
- * ```tsx
23
- * <DataActionBar numOfSelectedRows={selectedRows.length} onClear={handleClear}>
24
- * TODO
25
- * </DataActionBar>
26
- * ```
27
- */
28
- const DataActionBar = React.forwardRef((_a, forwardRef) => {
29
- var { children, numOfSelectedRows, onClear } = _a, rest = __rest(_a, ["children", "numOfSelectedRows", "onClear"]);
30
- return (React.createElement(Box, { asChild: true, borderWidth: "1", borderRadius: "16", borderColor: "neutral", background: "raised", padding: "space-16", "data-color": "neutral" },
31
- React.createElement(HStack, Object.assign({ gap: "space-16", align: "center", ref: forwardRef }, rest),
32
- React.createElement(BodyShort, { textColor: "subtle" },
33
- numOfSelectedRows,
34
- " rad",
35
- numOfSelectedRows > 1 ? "er" : "",
36
- " valgt"),
37
- React.createElement(Button, { variant: "secondary", size: "small", onClick: onClear }, "Nullstill valg"),
38
- React.createElement(Spacer, null),
39
- children)));
40
- });
41
- export default DataActionBar;
42
- export { DataActionBar };
43
- //# sourceMappingURL=DataActionBarRoot.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataActionBarRoot.js","sourceRoot":"","sources":["../../../../src/data/action-bar/root/DataActionBarRoot.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAchD;;;;;;;;;;GAUG;AACH,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CACpC,CAAC,EAAiD,EAAE,UAAU,EAAE,EAAE;QAAjE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,OAAO,OAAW,EAAN,IAAI,cAA/C,4CAAiD,CAAF;IAC9C,OAAO,CACL,oBAAC,GAAG,IACF,OAAO,QACP,WAAW,EAAC,GAAG,EACf,YAAY,EAAC,IAAI,EACjB,WAAW,EAAC,SAAS,EACrB,UAAU,EAAC,QAAQ,EACnB,OAAO,EAAC,UAAU,gBACP,SAAS;QAEpB,oBAAC,MAAM,kBAAC,GAAG,EAAC,UAAU,EAAC,KAAK,EAAC,QAAQ,EAAC,GAAG,EAAE,UAAU,IAAM,IAAI;YAC7D,oBAAC,SAAS,IAAC,SAAS,EAAC,QAAQ;gBAC1B,iBAAiB;;gBAAM,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;yBAC/C;YACZ,oBAAC,MAAM,IAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,OAAO,qBAEhD;YACT,oBAAC,MAAM,OAAG;YACT,QAAQ,CACF,CACL,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,aAAa,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -1,21 +0,0 @@
1
- import React from "react";
2
- export interface DataDragAndDropDragHandlerProps {
3
- /**
4
- * Whether the drag handler is disabled
5
- */
6
- /**
7
- * Wether dragging is done by keyboard. Used to conditionally render drag indicators.
8
- */
9
- keyboardDragging?: boolean;
10
- /**
11
- * Handle ref is forwarded to the button element serving as drag handle.
12
- */
13
- handleRef: React.Ref<HTMLDivElement>;
14
- }
15
- /**
16
- * DataDragAndDropDragHandler
17
- *
18
- * A button component that serves as a drag handle for drag and drop operations.
19
- * Can be used to initiate dragging of elements in a data table or list.
20
- */
21
- export declare const DataDragAndDropDragHandler: React.ForwardRefExoticComponent<DataDragAndDropDragHandlerProps & React.RefAttributes<HTMLButtonElement>>;
@@ -1,18 +0,0 @@
1
- import React from "react";
2
- import { CaretDownCircleFillIcon, CaretUpCircleFillIcon, DragVerticalIcon, } from "@navikt/aksel-icons";
3
- /**
4
- * DataDragAndDropDragHandler
5
- *
6
- * A button component that serves as a drag handle for drag and drop operations.
7
- * Can be used to initiate dragging of elements in a data table or list.
8
- */
9
- export const DataDragAndDropDragHandler = React.forwardRef(({ keyboardDragging, handleRef }) => {
10
- return (React.createElement("div", { className: "aksel-data-drag-and-drop__drag-handler__alt" },
11
- keyboardDragging && (React.createElement("span", { className: "aksel-data-drag-and-drop__drag-handler__arrow", "data-direction": "up" },
12
- React.createElement(CaretUpCircleFillIcon, { "aria-hidden": true, fontSize: "1.2rem" }))),
13
- React.createElement("div", { ref: handleRef, className: "aksel-data-drag-and-drop__drag-handler__button" },
14
- React.createElement(DragVerticalIcon, { "aria-hidden": true, title: "Dra for \u00E5 flytte", fontSize: "1.5rem" })),
15
- keyboardDragging && (React.createElement("span", { className: "aksel-data-drag-and-drop__drag-handler__arrow", "data-direction": "down" },
16
- React.createElement(CaretDownCircleFillIcon, { "aria-hidden": true, fontSize: "1.2rem" })))));
17
- });
18
- //# sourceMappingURL=DataDragAndDropDragHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataDragAndDropDragHandler.js","sourceRoot":"","sources":["../../../../src/data/drag-and-drop/drag-handler/DataDragAndDropDragHandler.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAiB7B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC,UAAU,CAGxD,CAAC,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,EAAE;IACpC,OAAO,CACL,6BAAK,SAAS,EAAC,6CAA6C;QACzD,gBAAgB,IAAI,CACnB,8BACE,SAAS,EAAC,+CAA+C,oBAC1C,IAAI;YAEnB,oBAAC,qBAAqB,yBAAa,QAAQ,EAAC,QAAQ,GAAG,CAClD,CACR;QACD,6BACE,GAAG,EAAE,SAAS,EACd,SAAS,EAAC,gDAAgD;YAE1D,oBAAC,gBAAgB,yBAEf,KAAK,EAAC,uBAAkB,EACxB,QAAQ,EAAC,QAAQ,GACjB,CACE;QACL,gBAAgB,IAAI,CACnB,8BACE,SAAS,EAAC,+CAA+C,oBAC1C,MAAM;YAErB,oBAAC,uBAAuB,yBAAa,QAAQ,EAAC,QAAQ,GAAG,CACpD,CACR,CACG,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,27 +0,0 @@
1
- import React from "react";
2
- interface DataDragAndDropItemProps 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 DataDragAndDropItemProps}
17
- * @example
18
- * ```tsx
19
- * <DragAndDrop.Item numOfSelectedRows={selectedRows.length} onClear={handleClear}>
20
- * TODO
21
- * </DragAndDrop.Item>
22
- * ```
23
- */
24
- declare const DataDragAndDropItem: React.ForwardRefExoticComponent<DataDragAndDropItemProps & React.RefAttributes<HTMLDivElement>>;
25
- export default DataDragAndDropItem;
26
- export { DataDragAndDropItem };
27
- export type { DataDragAndDropItemProps };
@@ -1,35 +0,0 @@
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
- /**
16
- * TODO
17
- *
18
- * @see 🏷️ {@link DataDragAndDropItemProps}
19
- * @example
20
- * ```tsx
21
- * <DragAndDrop.Item numOfSelectedRows={selectedRows.length} onClear={handleClear}>
22
- * TODO
23
- * </DragAndDrop.Item>
24
- * ```
25
- */
26
- const DataDragAndDropItem = React.forwardRef((_a, forwardedRef) => {
27
- // const context = useDataDragAndDropContext();
28
- var { children, className } = _a, rest = __rest(_a, ["children", "className"]);
29
- return (React.createElement(HStack, { gap: "space-8", align: "center", wrap: false, asChild: true },
30
- React.createElement("div", Object.assign({ ref: forwardedRef }, rest, { className: cl("aksel-data-table__drag-and-drop-item", className) }),
31
- React.createElement("div", null, children))));
32
- });
33
- export default DataDragAndDropItem;
34
- export { DataDragAndDropItem };
35
- //# sourceMappingURL=DataDragAndDropItem.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataDragAndDropItem.js","sourceRoot":"","sources":["../../../../src/data/drag-and-drop/item/DataDragAndDropItem.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;;;;;;;;;;GAUG;AACH,MAAM,mBAAmB,GAAG,KAAK,CAAC,UAAU,CAG1C,CAAC,EAAgC,EAAE,YAAY,EAAE,EAAE;IACnD,+CAA+C;QAD9C,EAAE,QAAQ,EAAE,SAAS,OAAW,EAAN,IAAI,cAA9B,yBAAgC,CAAF;IAG/B,OAAO,CACL,oBAAC,MAAM,IAAC,GAAG,EAAC,SAAS,EAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO;QAEvD,2CACE,GAAG,EAAE,YAAY,IACb,IAAI,IACR,SAAS,EAAE,EAAE,CAAC,sCAAsC,EAAE,SAAS,CAAC;YAMhE,iCAAM,QAAQ,CAAO,CACjB,CACC,CACV,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,mBAAmB,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
@@ -1,8 +0,0 @@
1
- interface DataDragAndDropContextType {
2
- inputMethod: "mouse" | "keyboard" | null;
3
- }
4
- export declare const DataDragAndDropProvider: import("react").FC<DataDragAndDropContextType & {
5
- children: React.ReactNode;
6
- ref?: never;
7
- }>, useDataDragAndDropContext: <S extends boolean = true>(strict?: S | undefined) => S extends true ? DataDragAndDropContextType | undefined : DataDragAndDropContextType | undefined;
8
- export {};
@@ -1,6 +0,0 @@
1
- import { createStrictContext } from "../../../utils/helpers/index.js";
2
- export const { Provider: DataDragAndDropProvider, useContext: useDataDragAndDropContext, } = createStrictContext({
3
- errorMessage: "useDataDragAndDropContext must be used within a DataDragAndDropProvider",
4
- name: "DataDragAndDropContext",
5
- });
6
- //# sourceMappingURL=DataDragAndDrop.context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataDragAndDrop.context.js","sourceRoot":"","sources":["../../../../src/data/drag-and-drop/root/DataDragAndDrop.context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAM7D,MAAM,CAAC,MAAM,EACX,QAAQ,EAAE,uBAAuB,EACjC,UAAU,EAAE,yBAAyB,GACtC,GAAG,mBAAmB,CAAyC;IAC9D,YAAY,EACV,yEAAyE;IAC3E,IAAI,EAAE,wBAAwB;CAC/B,CAAC,CAAC"}
@@ -1,21 +0,0 @@
1
- import React, { forwardRef } from "react";
2
- import DataDragAndDropItem from "../item/DataDragAndDropItem.js";
3
- import { DataDragAndDropProvider } from "./DataDragAndDrop.context.js";
4
- /**
5
- * TODO
6
- * setItems on root
7
- * state : active element
8
- * pointer over listener / state, onPointerEnter, onPointerLeave
9
- * Overlay - Use floating component
10
- * Keyboard navigation
11
- * Handle - button, arrows also button
12
- * UU - announce on drag start, item moved, drag end
13
- */
14
- const DataDragAndDrop = forwardRef(({ children }, forwardedRef) => {
15
- return (React.createElement(DataDragAndDropProvider, { inputMethod: null },
16
- React.createElement("div", { ref: forwardedRef }, children)));
17
- });
18
- DataDragAndDrop.Item = DataDragAndDropItem;
19
- export { DataDragAndDrop, DataDragAndDropItem };
20
- export default DataDragAndDrop;
21
- //# sourceMappingURL=DataDragAndDropRoot.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataDragAndDropRoot.js","sourceRoot":"","sources":["../../../../src/data/drag-and-drop/root/DataDragAndDropRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,mBAEN,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAwBpE;;;;;;;;;GASG;AAEH,MAAM,eAAe,GAAG,UAAU,CAChC,CAAC,EAAE,QAAQ,EAAE,EAAE,YAAY,EAAE,EAAE;IAC7B,OAAO,CACL,oBAAC,uBAAuB,IAAC,WAAW,EAAE,IAAI;QACxC,6BAAK,GAAG,EAAE,YAAY,IAAG,QAAQ,CAAO,CAChB,CAC3B,CAAC;AACJ,CAAC,CAC8B,CAAC;AAElC,eAAe,CAAC,IAAI,GAAG,mBAAmB,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,CAAC;AAChD,eAAe,eAAe,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTableKeyboardNav.js","sourceRoot":"","sources":["../../../../src/data/table/root/useTableKeyboardNav.ts"],"names":[],"mappings":"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"}
@@ -1,55 +0,0 @@
1
- import type { CheckboxProps } from "../../../form/checkbox/types.js";
2
- type SelectionT = (string | number)[] | "all";
3
- type SelectionProps = {
4
- /**
5
- * Enables selection of rows.
6
- *
7
- *
8
- * When set to "single", only one row can be selected at a time.
9
- *
10
- * When set to "multiple", multiple rows can be selected.
11
- *
12
- * TODO:
13
- * - Implement callbacks for selection changes (e.g. onRowSelect, onSelectAll)
14
- * - Implement controlled state
15
- * - Implement auto-add checkbox to rows and header when selection is enabled
16
- *
17
- * @default "none"
18
- */
19
- selectionMode?: "none" | "single" | "multiple";
20
- selectedKeys?: SelectionT;
21
- defaultSelectedKeys?: SelectionT;
22
- onSelectionChange?: (keys: SelectionT) => void;
23
- disabledKeys?: (string | number)[];
24
- };
25
- type UseTableSelectionArgs = SelectionProps & {
26
- data: (any & {
27
- id: string | number;
28
- })[];
29
- };
30
- declare function useTableSelection({ selectionMode, defaultSelectedKeys, selectedKeys: selectedKeysProp, onSelectionChange, disabledKeys, data, }: UseTableSelectionArgs): {
31
- selectedKeys: never[];
32
- handleSelectionChange: () => void;
33
- selectionMode: "none";
34
- disabledKeys: (string | number)[];
35
- getTheadCheckboxProps?: undefined;
36
- getRowCheckboxProps?: undefined;
37
- } | {
38
- selectedKeys: "all" | (string | number)[];
39
- handleSelectionChange: (key: {
40
- value: string | number;
41
- } | "all") => void;
42
- selectionMode: "multiple" | "single" | undefined;
43
- disabledKeys: (string | number)[];
44
- getTheadCheckboxProps: () => {
45
- children: string;
46
- onChange: () => void;
47
- checked: boolean;
48
- indeterminate: boolean;
49
- disabled: boolean;
50
- hideLabel: boolean;
51
- };
52
- getRowCheckboxProps: (key: string | number) => CheckboxProps;
53
- };
54
- export { useTableSelection };
55
- export type { SelectionProps };
@@ -1,77 +0,0 @@
1
- import { useControllableState } from "../../../utils/hooks/index.js";
2
- function useTableSelection({ selectionMode, defaultSelectedKeys, selectedKeys: selectedKeysProp, onSelectionChange, disabledKeys = [], data, }) {
3
- const [selectedKeys, setSelectedKeys] = useControllableState({
4
- value: selectedKeysProp,
5
- defaultValue: defaultSelectedKeys !== null && defaultSelectedKeys !== void 0 ? defaultSelectedKeys : [],
6
- onChange: onSelectionChange,
7
- });
8
- const handleSelectionChange = (key) => {
9
- if (selectionMode === "none") {
10
- return;
11
- }
12
- if (key === "all") {
13
- if (selectedKeys === "all" ||
14
- (Array.isArray(selectedKeys) && selectedKeys.length === data.length)) {
15
- setSelectedKeys([]);
16
- }
17
- else {
18
- const allKeys = data.map((item) => item.id);
19
- setSelectedKeys(allKeys);
20
- }
21
- }
22
- else {
23
- const value = key.value;
24
- if (selectedKeys === "all") {
25
- setSelectedKeys(data.map((item) => item.id).filter((id) => id !== value));
26
- }
27
- else if (Array.isArray(selectedKeys)) {
28
- if (selectedKeys.includes(value)) {
29
- setSelectedKeys(selectedKeys.filter((k) => k !== value));
30
- }
31
- else {
32
- setSelectedKeys([...selectedKeys, value]);
33
- }
34
- }
35
- }
36
- };
37
- if (selectionMode === "none") {
38
- return {
39
- selectedKeys: [],
40
- handleSelectionChange: () => { },
41
- selectionMode,
42
- disabledKeys,
43
- };
44
- }
45
- return {
46
- selectedKeys,
47
- handleSelectionChange,
48
- selectionMode,
49
- disabledKeys,
50
- getTheadCheckboxProps: () => {
51
- const indeterminate = Array.isArray(selectedKeys) &&
52
- selectedKeys.length > 0 &&
53
- selectedKeys.length < data.length;
54
- return {
55
- /* TODO: i18n */
56
- children: selectionMode === "single" ? "Select row" : "Select all rows",
57
- onChange: () => handleSelectionChange("all"),
58
- checked: (selectedKeys === "all" ||
59
- (Array.isArray(selectedKeys) && selectedKeys.length > 0)) &&
60
- !indeterminate,
61
- indeterminate,
62
- disabled: disabledKeys.length === data.length,
63
- hideLabel: true,
64
- };
65
- },
66
- getRowCheckboxProps: (key) => ({
67
- children: `Select row with id ${key}`,
68
- onChange: () => handleSelectionChange({ value: key }),
69
- checked: selectedKeys === "all" ||
70
- (Array.isArray(selectedKeys) && selectedKeys.includes(key)),
71
- disabled: disabledKeys.includes(key),
72
- hideLabel: true,
73
- }),
74
- };
75
- }
76
- export { useTableSelection };
77
- //# sourceMappingURL=useTableSelection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTableSelection.js","sourceRoot":"","sources":["../../../../src/data/table/root/useTableSelection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAiC5D,SAAS,iBAAiB,CAAC,EACzB,aAAa,EACb,mBAAmB,EACnB,YAAY,EAAE,gBAAgB,EAC9B,iBAAiB,EACjB,YAAY,GAAG,EAAE,EACjB,IAAI,GACkB;IACtB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,oBAAoB,CAAC;QAC3D,KAAK,EAAE,gBAAgB;QACvB,YAAY,EAAE,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,EAAE;QACvC,QAAQ,EAAE,iBAAiB;KAC5B,CAAC,CAAC;IAEH,MAAM,qBAAqB,GAAG,CAAC,GAAuC,EAAE,EAAE;QACxE,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YAClB,IACE,YAAY,KAAK,KAAK;gBACtB,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,EACpE,CAAC;gBACD,eAAe,CAAC,EAAE,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC5C,eAAe,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YACxB,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;gBAC3B,eAAe,CACb,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,CACzD,CAAC;YACJ,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvC,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjC,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;gBAC3D,CAAC;qBAAM,CAAC;oBACN,eAAe,CAAC,CAAC,GAAG,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;QAC7B,OAAO;YACL,YAAY,EAAE,EAAE;YAChB,qBAAqB,EAAE,GAAG,EAAE,GAAE,CAAC;YAC/B,aAAa;YACb,YAAY;SACb,CAAC;IACJ,CAAC;IAED,OAAO;QACL,YAAY;QACZ,qBAAqB;QACrB,aAAa;QACb,YAAY;QACZ,qBAAqB,EAAE,GAAG,EAAE;YAC1B,MAAM,aAAa,GACjB,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;gBAC3B,YAAY,CAAC,MAAM,GAAG,CAAC;gBACvB,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAEpC,OAAO;gBACL,gBAAgB;gBAChB,QAAQ,EAAE,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB;gBACvE,QAAQ,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC;gBAC5C,OAAO,EACL,CAAC,YAAY,KAAK,KAAK;oBACrB,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC3D,CAAC,aAAa;gBAChB,aAAa;gBACb,QAAQ,EAAE,YAAY,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;gBAC7C,SAAS,EAAE,IAAI;aAChB,CAAC;QACJ,CAAC;QACD,mBAAmB,EAAE,CAAC,GAAoB,EAAiB,EAAE,CAAC,CAAC;YAC7D,QAAQ,EAAE,sBAAsB,GAAG,EAAE;YACrC,QAAQ,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACrD,OAAO,EACL,YAAY,KAAK,KAAK;gBACtB,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC7D,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;YACpC,SAAS,EAAE,IAAI;SAChB,CAAC;KACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}