@mantine/core 9.0.0-alpha.6 → 9.0.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 (199) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.cjs +1 -0
  2. package/cjs/components/Autocomplete/Autocomplete.cjs.map +1 -1
  3. package/cjs/components/Badge/Badge.module.cjs.map +1 -1
  4. package/cjs/components/Button/Button.module.cjs.map +1 -1
  5. package/cjs/components/Checkbox/Checkbox.cjs +2 -1
  6. package/cjs/components/Checkbox/Checkbox.cjs.map +1 -1
  7. package/cjs/components/Checkbox/CheckboxIndicator/CheckboxIndicator.cjs +2 -1
  8. package/cjs/components/Checkbox/CheckboxIndicator/CheckboxIndicator.cjs.map +1 -1
  9. package/cjs/components/Chip/Chip.module.cjs.map +1 -1
  10. package/cjs/components/Combobox/use-combobox-target-props/use-combobox-target-props.cjs +1 -0
  11. package/cjs/components/Combobox/use-combobox-target-props/use-combobox-target-props.cjs.map +1 -1
  12. package/cjs/components/MultiSelect/MultiSelect.cjs +1 -0
  13. package/cjs/components/MultiSelect/MultiSelect.cjs.map +1 -1
  14. package/cjs/components/PasswordInput/PasswordInput.cjs +2 -0
  15. package/cjs/components/PasswordInput/PasswordInput.cjs.map +1 -1
  16. package/cjs/components/Pill/Pill.module.cjs.map +1 -1
  17. package/cjs/components/Popover/PopoverTarget/PopoverTarget.cjs +2 -2
  18. package/cjs/components/Popover/PopoverTarget/PopoverTarget.cjs.map +1 -1
  19. package/cjs/components/Radio/Radio.cjs +1 -1
  20. package/cjs/components/Radio/Radio.cjs.map +1 -1
  21. package/cjs/components/SegmentedControl/SegmentedControl.module.cjs.map +1 -1
  22. package/cjs/components/Select/Select.cjs +7 -6
  23. package/cjs/components/Select/Select.cjs.map +1 -1
  24. package/cjs/components/Stepper/Stepper.cjs.map +1 -1
  25. package/cjs/components/Stepper/Stepper.module.cjs +1 -0
  26. package/cjs/components/Stepper/Stepper.module.cjs.map +1 -1
  27. package/cjs/components/Stepper/StepperStep/StepperStep.cjs +8 -5
  28. package/cjs/components/Stepper/StepperStep/StepperStep.cjs.map +1 -1
  29. package/cjs/components/TagsInput/TagsInput.cjs +1 -0
  30. package/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  31. package/cjs/components/Timeline/TimelineItem/TimelineItem.cjs +1 -1
  32. package/cjs/components/Timeline/TimelineItem/TimelineItem.cjs.map +1 -1
  33. package/cjs/core/MantineProvider/default-theme.cjs +1 -1
  34. package/cjs/core/MantineProvider/default-theme.cjs.map +1 -1
  35. package/esm/components/Autocomplete/Autocomplete.mjs +1 -0
  36. package/esm/components/Autocomplete/Autocomplete.mjs.map +1 -1
  37. package/esm/components/Badge/Badge.module.mjs.map +1 -1
  38. package/esm/components/Button/Button.module.mjs.map +1 -1
  39. package/esm/components/Checkbox/Checkbox.mjs +2 -1
  40. package/esm/components/Checkbox/Checkbox.mjs.map +1 -1
  41. package/esm/components/Checkbox/CheckboxIndicator/CheckboxIndicator.mjs +2 -1
  42. package/esm/components/Checkbox/CheckboxIndicator/CheckboxIndicator.mjs.map +1 -1
  43. package/esm/components/Chip/Chip.module.mjs.map +1 -1
  44. package/esm/components/Combobox/use-combobox-target-props/use-combobox-target-props.mjs +1 -0
  45. package/esm/components/Combobox/use-combobox-target-props/use-combobox-target-props.mjs.map +1 -1
  46. package/esm/components/MultiSelect/MultiSelect.mjs +1 -0
  47. package/esm/components/MultiSelect/MultiSelect.mjs.map +1 -1
  48. package/esm/components/PasswordInput/PasswordInput.mjs +2 -0
  49. package/esm/components/PasswordInput/PasswordInput.mjs.map +1 -1
  50. package/esm/components/Pill/Pill.module.mjs.map +1 -1
  51. package/esm/components/Popover/PopoverTarget/PopoverTarget.mjs +2 -2
  52. package/esm/components/Popover/PopoverTarget/PopoverTarget.mjs.map +1 -1
  53. package/esm/components/Radio/Radio.mjs +1 -1
  54. package/esm/components/Radio/Radio.mjs.map +1 -1
  55. package/esm/components/SegmentedControl/SegmentedControl.module.mjs.map +1 -1
  56. package/esm/components/Select/Select.mjs +7 -6
  57. package/esm/components/Select/Select.mjs.map +1 -1
  58. package/esm/components/Stepper/Stepper.mjs.map +1 -1
  59. package/esm/components/Stepper/Stepper.module.mjs +1 -0
  60. package/esm/components/Stepper/Stepper.module.mjs.map +1 -1
  61. package/esm/components/Stepper/StepperStep/StepperStep.mjs +8 -5
  62. package/esm/components/Stepper/StepperStep/StepperStep.mjs.map +1 -1
  63. package/esm/components/TagsInput/TagsInput.mjs +1 -0
  64. package/esm/components/TagsInput/TagsInput.mjs.map +1 -1
  65. package/esm/components/Timeline/TimelineItem/TimelineItem.mjs +1 -1
  66. package/esm/components/Timeline/TimelineItem/TimelineItem.mjs.map +1 -1
  67. package/esm/core/MantineProvider/default-theme.mjs +1 -1
  68. package/esm/core/MantineProvider/default-theme.mjs.map +1 -1
  69. package/esm/core/utils/get-env/get-env.mjs +1 -1
  70. package/esm/core/utils/get-env/get-env.mjs.map +1 -1
  71. package/lib/components/Combobox/use-combobox-target-props/use-combobox-target-props.d.ts +0 -16
  72. package/lib/components/Input/InputClearSection/InputClearSection.d.ts +1 -1
  73. package/lib/components/Input/use-input-props.d.ts +18 -18
  74. package/lib/components/Popover/use-popover.d.ts +2 -2
  75. package/lib/components/Stepper/Stepper.d.ts +1 -1
  76. package/lib/components/Stepper/StepperStep/StepperStep.d.ts +1 -1
  77. package/lib/core/MantineProvider/color-functions/get-contrast-color/get-contrast-color.d.ts +2 -2
  78. package/package.json +4 -4
  79. package/styles/Badge.css +2 -0
  80. package/styles/Badge.layer.css +2 -0
  81. package/styles/Button.css +2 -0
  82. package/styles/Button.layer.css +2 -0
  83. package/styles/Chip.css +2 -0
  84. package/styles/Chip.layer.css +2 -0
  85. package/styles/Pill.css +5 -2
  86. package/styles/Pill.layer.css +5 -2
  87. package/styles/SegmentedControl.css +3 -3
  88. package/styles/SegmentedControl.layer.css +3 -3
  89. package/styles/Stepper.css +4 -0
  90. package/styles/Stepper.layer.css +4 -0
  91. package/styles/default-css-variables.css +1 -1
  92. package/styles/default-css-variables.layer.css +1 -1
  93. package/styles.css +19 -6
  94. package/styles.layer.css +19 -6
  95. package/cjs/components/MaskInput/MaskInput.cjs +0 -24
  96. package/cjs/components/MaskInput/MaskInput.cjs.map +0 -1
  97. package/cjs/components/MaskInput/use-mask-input-props.cjs +0 -29
  98. package/cjs/components/MaskInput/use-mask-input-props.cjs.map +0 -1
  99. package/cjs/components/Pagination/PaginationLabel/PaginationLabel.cjs +0 -33
  100. package/cjs/components/Pagination/PaginationLabel/PaginationLabel.cjs.map +0 -1
  101. package/cjs/components/RollingNumber/DigitColumn.cjs +0 -41
  102. package/cjs/components/RollingNumber/DigitColumn.cjs.map +0 -1
  103. package/cjs/components/RollingNumber/RollingNumber.cjs +0 -100
  104. package/cjs/components/RollingNumber/RollingNumber.cjs.map +0 -1
  105. package/cjs/components/RollingNumber/RollingNumber.module.cjs +0 -12
  106. package/cjs/components/RollingNumber/RollingNumber.module.cjs.map +0 -1
  107. package/cjs/components/RollingNumber/build-value.cjs +0 -22
  108. package/cjs/components/RollingNumber/build-value.cjs.map +0 -1
  109. package/cjs/components/RollingNumber/get-digit-parts.cjs +0 -40
  110. package/cjs/components/RollingNumber/get-digit-parts.cjs.map +0 -1
  111. package/cjs/components/RollingNumber/get-render-slots.cjs +0 -78
  112. package/cjs/components/RollingNumber/get-render-slots.cjs.map +0 -1
  113. package/cjs/components/Tree/FlatTreeNode.cjs +0 -102
  114. package/cjs/components/Tree/FlatTreeNode.cjs.map +0 -1
  115. package/cjs/components/Tree/filter-tree-data/filter-tree-data.cjs +0 -23
  116. package/cjs/components/Tree/filter-tree-data/filter-tree-data.cjs.map +0 -1
  117. package/cjs/components/Tree/flatten-tree-data/flatten-tree-data.cjs +0 -28
  118. package/cjs/components/Tree/flatten-tree-data/flatten-tree-data.cjs.map +0 -1
  119. package/cjs/components/Tree/merge-async-children/merge-async-children.cjs +0 -32
  120. package/cjs/components/Tree/merge-async-children/merge-async-children.cjs.map +0 -1
  121. package/cjs/components/Tree/move-tree-node/move-tree-node.cjs +0 -78
  122. package/cjs/components/Tree/move-tree-node/move-tree-node.cjs.map +0 -1
  123. package/cjs/components/Tree/use-tree-node-drag-drop.cjs +0 -96
  124. package/cjs/components/Tree/use-tree-node-drag-drop.cjs.map +0 -1
  125. package/cjs/components/TreeSelect/TreeSelect.cjs +0 -594
  126. package/cjs/components/TreeSelect/TreeSelect.cjs.map +0 -1
  127. package/cjs/components/TreeSelect/TreeSelect.module.cjs +0 -16
  128. package/cjs/components/TreeSelect/TreeSelect.module.cjs.map +0 -1
  129. package/cjs/components/TreeSelect/TreeSelectOption.cjs +0 -91
  130. package/cjs/components/TreeSelect/TreeSelectOption.cjs.map +0 -1
  131. package/cjs/components/TreeSelect/flatten-tree-select-data.cjs +0 -34
  132. package/cjs/components/TreeSelect/flatten-tree-select-data.cjs.map +0 -1
  133. package/cjs/components/TreeSelect/get-checked-values-by-strategy.cjs +0 -30
  134. package/cjs/components/TreeSelect/get-checked-values-by-strategy.cjs.map +0 -1
  135. package/esm/components/MaskInput/MaskInput.mjs +0 -23
  136. package/esm/components/MaskInput/MaskInput.mjs.map +0 -1
  137. package/esm/components/MaskInput/use-mask-input-props.mjs +0 -28
  138. package/esm/components/MaskInput/use-mask-input-props.mjs.map +0 -1
  139. package/esm/components/Pagination/PaginationLabel/PaginationLabel.mjs +0 -32
  140. package/esm/components/Pagination/PaginationLabel/PaginationLabel.mjs.map +0 -1
  141. package/esm/components/RollingNumber/DigitColumn.mjs +0 -40
  142. package/esm/components/RollingNumber/DigitColumn.mjs.map +0 -1
  143. package/esm/components/RollingNumber/RollingNumber.mjs +0 -99
  144. package/esm/components/RollingNumber/RollingNumber.mjs.map +0 -1
  145. package/esm/components/RollingNumber/RollingNumber.module.mjs +0 -12
  146. package/esm/components/RollingNumber/RollingNumber.module.mjs.map +0 -1
  147. package/esm/components/RollingNumber/build-value.mjs +0 -22
  148. package/esm/components/RollingNumber/build-value.mjs.map +0 -1
  149. package/esm/components/RollingNumber/get-digit-parts.mjs +0 -40
  150. package/esm/components/RollingNumber/get-digit-parts.mjs.map +0 -1
  151. package/esm/components/RollingNumber/get-render-slots.mjs +0 -78
  152. package/esm/components/RollingNumber/get-render-slots.mjs.map +0 -1
  153. package/esm/components/Tree/FlatTreeNode.mjs +0 -101
  154. package/esm/components/Tree/FlatTreeNode.mjs.map +0 -1
  155. package/esm/components/Tree/filter-tree-data/filter-tree-data.mjs +0 -22
  156. package/esm/components/Tree/filter-tree-data/filter-tree-data.mjs.map +0 -1
  157. package/esm/components/Tree/flatten-tree-data/flatten-tree-data.mjs +0 -28
  158. package/esm/components/Tree/flatten-tree-data/flatten-tree-data.mjs.map +0 -1
  159. package/esm/components/Tree/merge-async-children/merge-async-children.mjs +0 -32
  160. package/esm/components/Tree/merge-async-children/merge-async-children.mjs.map +0 -1
  161. package/esm/components/Tree/move-tree-node/move-tree-node.mjs +0 -78
  162. package/esm/components/Tree/move-tree-node/move-tree-node.mjs.map +0 -1
  163. package/esm/components/Tree/use-tree-node-drag-drop.mjs +0 -96
  164. package/esm/components/Tree/use-tree-node-drag-drop.mjs.map +0 -1
  165. package/esm/components/TreeSelect/TreeSelect.mjs +0 -593
  166. package/esm/components/TreeSelect/TreeSelect.mjs.map +0 -1
  167. package/esm/components/TreeSelect/TreeSelect.module.mjs +0 -16
  168. package/esm/components/TreeSelect/TreeSelect.module.mjs.map +0 -1
  169. package/esm/components/TreeSelect/TreeSelectOption.mjs +0 -90
  170. package/esm/components/TreeSelect/TreeSelectOption.mjs.map +0 -1
  171. package/esm/components/TreeSelect/flatten-tree-select-data.mjs +0 -34
  172. package/esm/components/TreeSelect/flatten-tree-select-data.mjs.map +0 -1
  173. package/esm/components/TreeSelect/get-checked-values-by-strategy.mjs +0 -29
  174. package/esm/components/TreeSelect/get-checked-values-by-strategy.mjs.map +0 -1
  175. package/lib/components/MaskInput/MaskInput.d.ts +0 -68
  176. package/lib/components/MaskInput/index.d.ts +0 -7
  177. package/lib/components/MaskInput/use-mask-input-props.d.ts +0 -428
  178. package/lib/components/Pagination/PaginationLabel/PaginationLabel.d.ts +0 -22
  179. package/lib/components/RollingNumber/DigitColumn.d.ts +0 -10
  180. package/lib/components/RollingNumber/RollingNumber.d.ts +0 -39
  181. package/lib/components/RollingNumber/build-value.d.ts +0 -10
  182. package/lib/components/RollingNumber/get-digit-parts.d.ts +0 -12
  183. package/lib/components/RollingNumber/get-render-slots.d.ts +0 -35
  184. package/lib/components/RollingNumber/index.d.ts +0 -9
  185. package/lib/components/Tree/FlatTreeNode.d.ts +0 -34
  186. package/lib/components/Tree/filter-tree-data/filter-tree-data.d.ts +0 -4
  187. package/lib/components/Tree/flatten-tree-data/flatten-tree-data.d.ts +0 -15
  188. package/lib/components/Tree/merge-async-children/merge-async-children.d.ts +0 -2
  189. package/lib/components/Tree/move-tree-node/move-tree-node.d.ts +0 -11
  190. package/lib/components/Tree/use-tree-node-drag-drop.d.ts +0 -18
  191. package/lib/components/TreeSelect/TreeSelect.d.ts +0 -122
  192. package/lib/components/TreeSelect/TreeSelectOption.d.ts +0 -29
  193. package/lib/components/TreeSelect/flatten-tree-select-data.d.ts +0 -12
  194. package/lib/components/TreeSelect/get-checked-values-by-strategy.d.ts +0 -4
  195. package/lib/components/TreeSelect/index.d.ts +0 -13
  196. package/styles/RollingNumber.css +0 -50
  197. package/styles/RollingNumber.layer.css +0 -51
  198. package/styles/TreeSelect.css +0 -113
  199. package/styles/TreeSelect.layer.css +0 -114
@@ -1,78 +0,0 @@
1
- "use client";
2
- const require_get_children_nodes_values = require("../get-children-nodes-values/get-children-nodes-values.cjs");
3
- //#region packages/@mantine/core/src/components/Tree/move-tree-node/move-tree-node.ts
4
- function isDescendant(data, ancestorValue, value) {
5
- const ancestor = require_get_children_nodes_values.findTreeNode(ancestorValue, data);
6
- if (!ancestor || !ancestor.children) return false;
7
- function check(nodes) {
8
- for (const node of nodes) {
9
- if (node.value === value) return true;
10
- if (node.children && check(node.children)) return true;
11
- }
12
- return false;
13
- }
14
- return check(ancestor.children);
15
- }
16
- function removeNode(data, value) {
17
- let removed = null;
18
- return {
19
- data: data.reduce((acc, node) => {
20
- if (node.value === value) {
21
- removed = { ...node };
22
- return acc;
23
- }
24
- if (node.children) {
25
- const result = removeNode(node.children, value);
26
- if (result.removed) {
27
- removed = result.removed;
28
- acc.push({
29
- ...node,
30
- children: result.data
31
- });
32
- } else acc.push(node);
33
- } else acc.push(node);
34
- return acc;
35
- }, []),
36
- removed
37
- };
38
- }
39
- function insertNode(data, node, targetValue, position) {
40
- if (position === "inside") return data.map((item) => {
41
- if (item.value === targetValue) return {
42
- ...item,
43
- children: [...item.children || [], node]
44
- };
45
- if (item.children) return {
46
- ...item,
47
- children: insertNode(item.children, node, targetValue, position)
48
- };
49
- return item;
50
- });
51
- const targetIndex = data.findIndex((item) => item.value === targetValue);
52
- if (targetIndex !== -1) {
53
- const result = [...data];
54
- const insertIndex = position === "before" ? targetIndex : targetIndex + 1;
55
- result.splice(insertIndex, 0, node);
56
- return result;
57
- }
58
- return data.map((item) => {
59
- if (item.children) return {
60
- ...item,
61
- children: insertNode(item.children, node, targetValue, position)
62
- };
63
- return item;
64
- });
65
- }
66
- function moveTreeNode(data, payload) {
67
- const { draggedNode, targetNode, position } = payload;
68
- if (draggedNode === targetNode) return data;
69
- if (!require_get_children_nodes_values.findTreeNode(targetNode, data)) return data;
70
- if (isDescendant(data, draggedNode, targetNode)) return data;
71
- const { data: dataWithout, removed } = removeNode(data, draggedNode);
72
- if (!removed) return data;
73
- return insertNode(dataWithout, removed, targetNode, position);
74
- }
75
- //#endregion
76
- exports.moveTreeNode = moveTreeNode;
77
-
78
- //# sourceMappingURL=move-tree-node.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"move-tree-node.cjs","names":["findTreeNode"],"sources":["../../../../src/components/Tree/move-tree-node/move-tree-node.ts"],"sourcesContent":["import { findTreeNode } from '../get-children-nodes-values/get-children-nodes-values';\nimport type { TreeNodeData } from '../Tree';\n\nexport type TreeDragDropPosition = 'before' | 'after' | 'inside';\n\nexport interface TreeDragDropPayload {\n /** Value of the dragged node */\n draggedNode: string;\n\n /** Value of the target node */\n targetNode: string;\n\n /** Position relative to the target node */\n position: TreeDragDropPosition;\n}\n\nfunction isDescendant(data: TreeNodeData[], ancestorValue: string, value: string): boolean {\n const ancestor = findTreeNode(ancestorValue, data);\n if (!ancestor || !ancestor.children) {\n return false;\n }\n\n function check(nodes: TreeNodeData[]): boolean {\n for (const node of nodes) {\n if (node.value === value) {\n return true;\n }\n\n if (node.children && check(node.children)) {\n return true;\n }\n }\n\n return false;\n }\n\n return check(ancestor.children);\n}\n\nfunction removeNode(\n data: TreeNodeData[],\n value: string\n): { data: TreeNodeData[]; removed: TreeNodeData | null } {\n let removed: TreeNodeData | null = null;\n\n const newData = data.reduce<TreeNodeData[]>((acc, node) => {\n if (node.value === value) {\n removed = { ...node };\n return acc;\n }\n\n if (node.children) {\n const result = removeNode(node.children, value);\n if (result.removed) {\n removed = result.removed;\n acc.push({ ...node, children: result.data });\n } else {\n acc.push(node);\n }\n } else {\n acc.push(node);\n }\n\n return acc;\n }, []);\n\n return { data: newData, removed };\n}\n\nfunction insertNode(\n data: TreeNodeData[],\n node: TreeNodeData,\n targetValue: string,\n position: TreeDragDropPosition\n): TreeNodeData[] {\n if (position === 'inside') {\n return data.map((item) => {\n if (item.value === targetValue) {\n return { ...item, children: [...(item.children || []), node] };\n }\n\n if (item.children) {\n return { ...item, children: insertNode(item.children, node, targetValue, position) };\n }\n\n return item;\n });\n }\n\n const targetIndex = data.findIndex((item) => item.value === targetValue);\n\n if (targetIndex !== -1) {\n const result = [...data];\n const insertIndex = position === 'before' ? targetIndex : targetIndex + 1;\n result.splice(insertIndex, 0, node);\n return result;\n }\n\n return data.map((item) => {\n if (item.children) {\n return { ...item, children: insertNode(item.children, node, targetValue, position) };\n }\n\n return item;\n });\n}\n\nexport function moveTreeNode(data: TreeNodeData[], payload: TreeDragDropPayload): TreeNodeData[] {\n const { draggedNode, targetNode, position } = payload;\n\n if (draggedNode === targetNode) {\n return data;\n }\n\n if (!findTreeNode(targetNode, data)) {\n return data;\n }\n\n if (isDescendant(data, draggedNode, targetNode)) {\n return data;\n }\n\n const { data: dataWithout, removed } = removeNode(data, draggedNode);\n\n if (!removed) {\n return data;\n }\n\n return insertNode(dataWithout, removed, targetNode, position);\n}\n"],"mappings":";;;AAgBA,SAAS,aAAa,MAAsB,eAAuB,OAAwB;CACzF,MAAM,WAAWA,kCAAAA,aAAa,eAAe,KAAK;AAClD,KAAI,CAAC,YAAY,CAAC,SAAS,SACzB,QAAO;CAGT,SAAS,MAAM,OAAgC;AAC7C,OAAK,MAAM,QAAQ,OAAO;AACxB,OAAI,KAAK,UAAU,MACjB,QAAO;AAGT,OAAI,KAAK,YAAY,MAAM,KAAK,SAAS,CACvC,QAAO;;AAIX,SAAO;;AAGT,QAAO,MAAM,SAAS,SAAS;;AAGjC,SAAS,WACP,MACA,OACwD;CACxD,IAAI,UAA+B;AAuBnC,QAAO;EAAE,MArBO,KAAK,QAAwB,KAAK,SAAS;AACzD,OAAI,KAAK,UAAU,OAAO;AACxB,cAAU,EAAE,GAAG,MAAM;AACrB,WAAO;;AAGT,OAAI,KAAK,UAAU;IACjB,MAAM,SAAS,WAAW,KAAK,UAAU,MAAM;AAC/C,QAAI,OAAO,SAAS;AAClB,eAAU,OAAO;AACjB,SAAI,KAAK;MAAE,GAAG;MAAM,UAAU,OAAO;MAAM,CAAC;UAE5C,KAAI,KAAK,KAAK;SAGhB,KAAI,KAAK,KAAK;AAGhB,UAAO;KACN,EAAE,CAAC;EAEkB;EAAS;;AAGnC,SAAS,WACP,MACA,MACA,aACA,UACgB;AAChB,KAAI,aAAa,SACf,QAAO,KAAK,KAAK,SAAS;AACxB,MAAI,KAAK,UAAU,YACjB,QAAO;GAAE,GAAG;GAAM,UAAU,CAAC,GAAI,KAAK,YAAY,EAAE,EAAG,KAAK;GAAE;AAGhE,MAAI,KAAK,SACP,QAAO;GAAE,GAAG;GAAM,UAAU,WAAW,KAAK,UAAU,MAAM,aAAa,SAAS;GAAE;AAGtF,SAAO;GACP;CAGJ,MAAM,cAAc,KAAK,WAAW,SAAS,KAAK,UAAU,YAAY;AAExE,KAAI,gBAAgB,IAAI;EACtB,MAAM,SAAS,CAAC,GAAG,KAAK;EACxB,MAAM,cAAc,aAAa,WAAW,cAAc,cAAc;AACxE,SAAO,OAAO,aAAa,GAAG,KAAK;AACnC,SAAO;;AAGT,QAAO,KAAK,KAAK,SAAS;AACxB,MAAI,KAAK,SACP,QAAO;GAAE,GAAG;GAAM,UAAU,WAAW,KAAK,UAAU,MAAM,aAAa,SAAS;GAAE;AAGtF,SAAO;GACP;;AAGJ,SAAgB,aAAa,MAAsB,SAA8C;CAC/F,MAAM,EAAE,aAAa,YAAY,aAAa;AAE9C,KAAI,gBAAgB,WAClB,QAAO;AAGT,KAAI,CAACA,kCAAAA,aAAa,YAAY,KAAK,CACjC,QAAO;AAGT,KAAI,aAAa,MAAM,aAAa,WAAW,CAC7C,QAAO;CAGT,MAAM,EAAE,MAAM,aAAa,YAAY,WAAW,MAAM,YAAY;AAEpE,KAAI,CAAC,QACH,QAAO;AAGT,QAAO,WAAW,aAAa,SAAS,YAAY,SAAS"}
@@ -1,96 +0,0 @@
1
- "use client";
2
- const require_get_children_nodes_values = require("./get-children-nodes-values/get-children-nodes-values.cjs");
3
- //#region packages/@mantine/core/src/components/Tree/use-tree-node-drag-drop.ts
4
- function isDescendantOf(data, ancestorValue, descendantValue) {
5
- const ancestor = require_get_children_nodes_values.findTreeNode(ancestorValue, data);
6
- if (!ancestor || !ancestor.children) return false;
7
- function check(nodes) {
8
- for (const node of nodes) {
9
- if (node.value === descendantValue) return true;
10
- if (node.children && check(node.children)) return true;
11
- }
12
- return false;
13
- }
14
- return check(ancestor.children);
15
- }
16
- function getDragDropPosition(event, element, hasChildren) {
17
- const rect = element.getBoundingClientRect();
18
- const y = event.clientY - rect.top;
19
- const height = rect.height;
20
- if (hasChildren) {
21
- if (y < height * .25) return "before";
22
- if (y > height * .75) return "after";
23
- return "inside";
24
- }
25
- if (y < height * .5) return "before";
26
- return "after";
27
- }
28
- const EMPTY_DRAG_PROPS = {};
29
- function useTreeNodeDragDrop({ nodeValue, hasChildren, data, onDragDrop, dragStateRef }) {
30
- if (!onDragDrop) return EMPTY_DRAG_PROPS;
31
- const handleDragStart = (event) => {
32
- event.stopPropagation();
33
- event.dataTransfer.effectAllowed = "move";
34
- event.dataTransfer.setData("text/plain", nodeValue);
35
- dragStateRef.current.draggedValue = nodeValue;
36
- const target = event.currentTarget;
37
- requestAnimationFrame(() => {
38
- target.setAttribute("data-dragging", "true");
39
- });
40
- };
41
- const handleDragOver = (event) => {
42
- const draggedValue = dragStateRef.current.draggedValue;
43
- if (!draggedValue || draggedValue === nodeValue) return;
44
- if (isDescendantOf(data, draggedValue, nodeValue)) return;
45
- event.preventDefault();
46
- event.stopPropagation();
47
- event.dataTransfer.dropEffect = "move";
48
- const target = event.currentTarget;
49
- const position = getDragDropPosition(event, target, hasChildren);
50
- const prevTarget = dragStateRef.current.currentDropTarget;
51
- if (prevTarget && prevTarget !== target) prevTarget.removeAttribute("data-drag-over");
52
- target.setAttribute("data-drag-over", position);
53
- dragStateRef.current.currentDropTarget = target;
54
- };
55
- const handleDragLeave = (event) => {
56
- const target = event.currentTarget;
57
- const related = event.relatedTarget;
58
- if (related && target.contains(related)) return;
59
- target.removeAttribute("data-drag-over");
60
- if (dragStateRef.current.currentDropTarget === target) dragStateRef.current.currentDropTarget = null;
61
- };
62
- const handleDrop = (event) => {
63
- event.preventDefault();
64
- event.stopPropagation();
65
- const target = event.currentTarget;
66
- const position = target.getAttribute("data-drag-over");
67
- target.removeAttribute("data-drag-over");
68
- const draggedValue = dragStateRef.current.draggedValue;
69
- if (draggedValue && position && draggedValue !== nodeValue) onDragDrop({
70
- draggedNode: draggedValue,
71
- targetNode: nodeValue,
72
- position
73
- });
74
- dragStateRef.current.draggedValue = null;
75
- dragStateRef.current.currentDropTarget = null;
76
- };
77
- const handleDragEnd = (event) => {
78
- event.currentTarget.removeAttribute("data-dragging");
79
- const prevTarget = dragStateRef.current.currentDropTarget;
80
- if (prevTarget) prevTarget.removeAttribute("data-drag-over");
81
- dragStateRef.current.draggedValue = null;
82
- dragStateRef.current.currentDropTarget = null;
83
- };
84
- return {
85
- draggable: true,
86
- onDragStart: handleDragStart,
87
- onDragOver: handleDragOver,
88
- onDragLeave: handleDragLeave,
89
- onDrop: handleDrop,
90
- onDragEnd: handleDragEnd
91
- };
92
- }
93
- //#endregion
94
- exports.useTreeNodeDragDrop = useTreeNodeDragDrop;
95
-
96
- //# sourceMappingURL=use-tree-node-drag-drop.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-tree-node-drag-drop.cjs","names":["findTreeNode"],"sources":["../../../src/components/Tree/use-tree-node-drag-drop.ts"],"sourcesContent":["import { findTreeNode } from './get-children-nodes-values/get-children-nodes-values';\nimport type { TreeDragDropPayload, TreeDragDropPosition } from './move-tree-node/move-tree-node';\nimport type { TreeDragState, TreeNodeData } from './Tree';\n\ninterface UseTreeNodeDragDropInput {\n nodeValue: string;\n hasChildren: boolean;\n data: TreeNodeData[];\n onDragDrop: ((payload: TreeDragDropPayload) => void) | undefined;\n dragStateRef: React.RefObject<TreeDragState>;\n}\n\nfunction isDescendantOf(\n data: TreeNodeData[],\n ancestorValue: string,\n descendantValue: string\n): boolean {\n const ancestor = findTreeNode(ancestorValue, data);\n if (!ancestor || !ancestor.children) {\n return false;\n }\n\n function check(nodes: TreeNodeData[]): boolean {\n for (const node of nodes) {\n if (node.value === descendantValue) {\n return true;\n }\n\n if (node.children && check(node.children)) {\n return true;\n }\n }\n\n return false;\n }\n\n return check(ancestor.children);\n}\n\nfunction getDragDropPosition(\n event: React.DragEvent,\n element: HTMLElement,\n hasChildren: boolean\n): TreeDragDropPosition {\n const rect = element.getBoundingClientRect();\n const y = event.clientY - rect.top;\n const height = rect.height;\n\n if (hasChildren) {\n if (y < height * 0.25) {\n return 'before';\n }\n\n if (y > height * 0.75) {\n return 'after';\n }\n\n return 'inside';\n }\n\n if (y < height * 0.5) {\n return 'before';\n }\n\n return 'after';\n}\n\nconst EMPTY_DRAG_PROPS: Record<string, never> = {};\n\nexport function useTreeNodeDragDrop({\n nodeValue,\n hasChildren,\n data,\n onDragDrop,\n dragStateRef,\n}: UseTreeNodeDragDropInput) {\n if (!onDragDrop) {\n return EMPTY_DRAG_PROPS;\n }\n\n const handleDragStart = (event: React.DragEvent) => {\n event.stopPropagation();\n event.dataTransfer.effectAllowed = 'move';\n event.dataTransfer.setData('text/plain', nodeValue);\n dragStateRef.current.draggedValue = nodeValue;\n\n const target = event.currentTarget as HTMLElement;\n requestAnimationFrame(() => {\n target.setAttribute('data-dragging', 'true');\n });\n };\n\n const handleDragOver = (event: React.DragEvent) => {\n const draggedValue = dragStateRef.current.draggedValue;\n if (!draggedValue || draggedValue === nodeValue) {\n return;\n }\n\n if (isDescendantOf(data, draggedValue, nodeValue)) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n event.dataTransfer.dropEffect = 'move';\n\n const target = event.currentTarget as HTMLElement;\n const position = getDragDropPosition(event, target, hasChildren);\n\n const prevTarget = dragStateRef.current.currentDropTarget;\n if (prevTarget && prevTarget !== target) {\n prevTarget.removeAttribute('data-drag-over');\n }\n\n target.setAttribute('data-drag-over', position);\n dragStateRef.current.currentDropTarget = target;\n };\n\n const handleDragLeave = (event: React.DragEvent) => {\n const target = event.currentTarget as HTMLElement;\n const related = event.relatedTarget as HTMLElement | null;\n\n if (related && target.contains(related)) {\n return;\n }\n\n target.removeAttribute('data-drag-over');\n\n if (dragStateRef.current.currentDropTarget === target) {\n dragStateRef.current.currentDropTarget = null;\n }\n };\n\n const handleDrop = (event: React.DragEvent) => {\n event.preventDefault();\n event.stopPropagation();\n\n const target = event.currentTarget as HTMLElement;\n const position = target.getAttribute('data-drag-over') as TreeDragDropPosition | null;\n target.removeAttribute('data-drag-over');\n\n const draggedValue = dragStateRef.current.draggedValue;\n if (draggedValue && position && draggedValue !== nodeValue) {\n onDragDrop({ draggedNode: draggedValue, targetNode: nodeValue, position });\n }\n\n dragStateRef.current.draggedValue = null;\n dragStateRef.current.currentDropTarget = null;\n };\n\n const handleDragEnd = (event: React.DragEvent) => {\n const target = event.currentTarget as HTMLElement;\n target.removeAttribute('data-dragging');\n\n const prevTarget = dragStateRef.current.currentDropTarget;\n if (prevTarget) {\n prevTarget.removeAttribute('data-drag-over');\n }\n\n dragStateRef.current.draggedValue = null;\n dragStateRef.current.currentDropTarget = null;\n };\n\n return {\n draggable: true as const,\n onDragStart: handleDragStart,\n onDragOver: handleDragOver,\n onDragLeave: handleDragLeave,\n onDrop: handleDrop,\n onDragEnd: handleDragEnd,\n };\n}\n"],"mappings":";;;AAYA,SAAS,eACP,MACA,eACA,iBACS;CACT,MAAM,WAAWA,kCAAAA,aAAa,eAAe,KAAK;AAClD,KAAI,CAAC,YAAY,CAAC,SAAS,SACzB,QAAO;CAGT,SAAS,MAAM,OAAgC;AAC7C,OAAK,MAAM,QAAQ,OAAO;AACxB,OAAI,KAAK,UAAU,gBACjB,QAAO;AAGT,OAAI,KAAK,YAAY,MAAM,KAAK,SAAS,CACvC,QAAO;;AAIX,SAAO;;AAGT,QAAO,MAAM,SAAS,SAAS;;AAGjC,SAAS,oBACP,OACA,SACA,aACsB;CACtB,MAAM,OAAO,QAAQ,uBAAuB;CAC5C,MAAM,IAAI,MAAM,UAAU,KAAK;CAC/B,MAAM,SAAS,KAAK;AAEpB,KAAI,aAAa;AACf,MAAI,IAAI,SAAS,IACf,QAAO;AAGT,MAAI,IAAI,SAAS,IACf,QAAO;AAGT,SAAO;;AAGT,KAAI,IAAI,SAAS,GACf,QAAO;AAGT,QAAO;;AAGT,MAAM,mBAA0C,EAAE;AAElD,SAAgB,oBAAoB,EAClC,WACA,aACA,MACA,YACA,gBAC2B;AAC3B,KAAI,CAAC,WACH,QAAO;CAGT,MAAM,mBAAmB,UAA2B;AAClD,QAAM,iBAAiB;AACvB,QAAM,aAAa,gBAAgB;AACnC,QAAM,aAAa,QAAQ,cAAc,UAAU;AACnD,eAAa,QAAQ,eAAe;EAEpC,MAAM,SAAS,MAAM;AACrB,8BAA4B;AAC1B,UAAO,aAAa,iBAAiB,OAAO;IAC5C;;CAGJ,MAAM,kBAAkB,UAA2B;EACjD,MAAM,eAAe,aAAa,QAAQ;AAC1C,MAAI,CAAC,gBAAgB,iBAAiB,UACpC;AAGF,MAAI,eAAe,MAAM,cAAc,UAAU,CAC/C;AAGF,QAAM,gBAAgB;AACtB,QAAM,iBAAiB;AACvB,QAAM,aAAa,aAAa;EAEhC,MAAM,SAAS,MAAM;EACrB,MAAM,WAAW,oBAAoB,OAAO,QAAQ,YAAY;EAEhE,MAAM,aAAa,aAAa,QAAQ;AACxC,MAAI,cAAc,eAAe,OAC/B,YAAW,gBAAgB,iBAAiB;AAG9C,SAAO,aAAa,kBAAkB,SAAS;AAC/C,eAAa,QAAQ,oBAAoB;;CAG3C,MAAM,mBAAmB,UAA2B;EAClD,MAAM,SAAS,MAAM;EACrB,MAAM,UAAU,MAAM;AAEtB,MAAI,WAAW,OAAO,SAAS,QAAQ,CACrC;AAGF,SAAO,gBAAgB,iBAAiB;AAExC,MAAI,aAAa,QAAQ,sBAAsB,OAC7C,cAAa,QAAQ,oBAAoB;;CAI7C,MAAM,cAAc,UAA2B;AAC7C,QAAM,gBAAgB;AACtB,QAAM,iBAAiB;EAEvB,MAAM,SAAS,MAAM;EACrB,MAAM,WAAW,OAAO,aAAa,iBAAiB;AACtD,SAAO,gBAAgB,iBAAiB;EAExC,MAAM,eAAe,aAAa,QAAQ;AAC1C,MAAI,gBAAgB,YAAY,iBAAiB,UAC/C,YAAW;GAAE,aAAa;GAAc,YAAY;GAAW;GAAU,CAAC;AAG5E,eAAa,QAAQ,eAAe;AACpC,eAAa,QAAQ,oBAAoB;;CAG3C,MAAM,iBAAiB,UAA2B;AACjC,QAAM,cACd,gBAAgB,gBAAgB;EAEvC,MAAM,aAAa,aAAa,QAAQ;AACxC,MAAI,WACF,YAAW,gBAAgB,iBAAiB;AAG9C,eAAa,QAAQ,eAAe;AACpC,eAAa,QAAQ,oBAAoB;;AAG3C,QAAO;EACL,WAAW;EACX,aAAa;EACb,YAAY;EACZ,aAAa;EACb,QAAQ;EACR,WAAW;EACZ"}