@coveord/plasma-mantine 56.18.0 → 56.20.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 (190) hide show
  1. package/.turbo/turbo-build.log +4 -4
  2. package/.turbo/turbo-test.log +118 -115
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/cjs/components/Collection/Collection.d.ts +75 -12
  5. package/dist/cjs/components/Collection/Collection.d.ts.map +1 -1
  6. package/dist/cjs/components/Collection/Collection.js +94 -38
  7. package/dist/cjs/components/Collection/Collection.js.map +1 -1
  8. package/dist/cjs/components/Collection/Collection.module.css +13 -1
  9. package/dist/cjs/components/Collection/CollectionAddButton.d.ts +25 -0
  10. package/dist/cjs/components/Collection/CollectionAddButton.d.ts.map +1 -0
  11. package/dist/cjs/components/Collection/CollectionAddButton.js +33 -0
  12. package/dist/cjs/components/Collection/CollectionAddButton.js.map +1 -0
  13. package/dist/cjs/components/Collection/CollectionColumn.types.d.ts +72 -0
  14. package/dist/cjs/components/Collection/CollectionColumn.types.d.ts.map +1 -0
  15. package/dist/cjs/components/Collection/CollectionColumn.types.js +6 -0
  16. package/dist/cjs/components/Collection/CollectionColumn.types.js.map +1 -0
  17. package/dist/cjs/components/Collection/CollectionContext.d.ts +5 -0
  18. package/dist/cjs/components/Collection/CollectionContext.d.ts.map +1 -1
  19. package/dist/cjs/components/Collection/CollectionContext.js.map +1 -1
  20. package/dist/cjs/components/Collection/CollectionItem.d.ts +2 -2
  21. package/dist/cjs/components/Collection/CollectionItem.d.ts.map +1 -1
  22. package/dist/cjs/components/Collection/CollectionItem.js +18 -38
  23. package/dist/cjs/components/Collection/CollectionItem.js.map +1 -1
  24. package/dist/cjs/components/Collection/layouts/CollectionLayout.types.d.ts +46 -0
  25. package/dist/cjs/components/Collection/layouts/CollectionLayout.types.d.ts.map +1 -0
  26. package/dist/cjs/components/Collection/layouts/CollectionLayout.types.js +6 -0
  27. package/dist/cjs/components/Collection/layouts/CollectionLayout.types.js.map +1 -0
  28. package/dist/cjs/components/Collection/layouts/CollectionLayouts.d.ts +26 -0
  29. package/dist/cjs/components/Collection/layouts/CollectionLayouts.d.ts.map +1 -0
  30. package/dist/cjs/components/Collection/layouts/CollectionLayouts.js +29 -0
  31. package/dist/cjs/components/Collection/layouts/CollectionLayouts.js.map +1 -0
  32. package/dist/cjs/components/Collection/layouts/horizontal-layout/HorizontalLayout.d.ts +12 -0
  33. package/dist/cjs/components/Collection/layouts/horizontal-layout/HorizontalLayout.d.ts.map +1 -0
  34. package/dist/cjs/components/Collection/layouts/horizontal-layout/HorizontalLayout.js +24 -0
  35. package/dist/cjs/components/Collection/layouts/horizontal-layout/HorizontalLayout.js.map +1 -0
  36. package/dist/cjs/components/Collection/layouts/horizontal-layout/HorizontalLayout.module.css +37 -0
  37. package/dist/cjs/components/Collection/layouts/horizontal-layout/HorizontalLayoutBody.d.ts +6 -0
  38. package/dist/cjs/components/Collection/layouts/horizontal-layout/HorizontalLayoutBody.d.ts.map +1 -0
  39. package/dist/cjs/components/Collection/layouts/horizontal-layout/HorizontalLayoutBody.js +78 -0
  40. package/dist/cjs/components/Collection/layouts/horizontal-layout/HorizontalLayoutBody.js.map +1 -0
  41. package/dist/cjs/components/Collection/layouts/horizontal-layout/HorizontalLayoutHeader.d.ts +6 -0
  42. package/dist/cjs/components/Collection/layouts/horizontal-layout/HorizontalLayoutHeader.d.ts.map +1 -0
  43. package/dist/cjs/components/Collection/layouts/horizontal-layout/HorizontalLayoutHeader.js +56 -0
  44. package/dist/cjs/components/Collection/layouts/horizontal-layout/HorizontalLayoutHeader.js.map +1 -0
  45. package/dist/cjs/components/Collection/layouts/shared/DragHandle.d.ts +12 -0
  46. package/dist/cjs/components/Collection/layouts/shared/DragHandle.d.ts.map +1 -0
  47. package/dist/cjs/components/Collection/layouts/shared/DragHandle.js +28 -0
  48. package/dist/cjs/components/Collection/layouts/shared/DragHandle.js.map +1 -0
  49. package/dist/cjs/components/Collection/layouts/shared/RemoveButton.d.ts +11 -0
  50. package/dist/cjs/components/Collection/layouts/shared/RemoveButton.d.ts.map +1 -0
  51. package/dist/cjs/components/Collection/layouts/shared/RemoveButton.js +39 -0
  52. package/dist/cjs/components/Collection/layouts/shared/RemoveButton.js.map +1 -0
  53. package/dist/cjs/components/Collection/layouts/shared/columnUtils.d.ts +8 -0
  54. package/dist/cjs/components/Collection/layouts/shared/columnUtils.d.ts.map +1 -0
  55. package/dist/cjs/components/Collection/layouts/shared/columnUtils.js +24 -0
  56. package/dist/cjs/components/Collection/layouts/shared/columnUtils.js.map +1 -0
  57. package/dist/cjs/components/Collection/layouts/shared/headerUtils.d.ts +8 -0
  58. package/dist/cjs/components/Collection/layouts/shared/headerUtils.d.ts.map +1 -0
  59. package/dist/cjs/components/Collection/layouts/shared/headerUtils.js +21 -0
  60. package/dist/cjs/components/Collection/layouts/shared/headerUtils.js.map +1 -0
  61. package/dist/cjs/components/Collection/layouts/shared/itemRenderer.d.ts +78 -0
  62. package/dist/cjs/components/Collection/layouts/shared/itemRenderer.d.ts.map +1 -0
  63. package/dist/cjs/components/Collection/layouts/shared/itemRenderer.js +160 -0
  64. package/dist/cjs/components/Collection/layouts/shared/itemRenderer.js.map +1 -0
  65. package/dist/cjs/components/Collection/layouts/shared/layoutConstants.d.ts +38 -0
  66. package/dist/cjs/components/Collection/layouts/shared/layoutConstants.d.ts.map +1 -0
  67. package/dist/cjs/components/Collection/layouts/shared/layoutConstants.js +31 -0
  68. package/dist/cjs/components/Collection/layouts/shared/layoutConstants.js.map +1 -0
  69. package/dist/cjs/components/Collection/layouts/vertical-layout/VerticalLayout.d.ts +12 -0
  70. package/dist/cjs/components/Collection/layouts/vertical-layout/VerticalLayout.d.ts.map +1 -0
  71. package/dist/cjs/components/Collection/layouts/vertical-layout/VerticalLayout.js +24 -0
  72. package/dist/cjs/components/Collection/layouts/vertical-layout/VerticalLayout.js.map +1 -0
  73. package/dist/cjs/components/Collection/layouts/vertical-layout/VerticalLayout.module.css +35 -0
  74. package/dist/cjs/components/Collection/layouts/vertical-layout/VerticalLayoutBody.d.ts +6 -0
  75. package/dist/cjs/components/Collection/layouts/vertical-layout/VerticalLayoutBody.d.ts.map +1 -0
  76. package/dist/cjs/components/Collection/layouts/vertical-layout/VerticalLayoutBody.js +134 -0
  77. package/dist/cjs/components/Collection/layouts/vertical-layout/VerticalLayoutBody.js.map +1 -0
  78. package/dist/cjs/components/Collection/layouts/vertical-layout/VerticalLayoutHeader.d.ts +10 -0
  79. package/dist/cjs/components/Collection/layouts/vertical-layout/VerticalLayoutHeader.d.ts.map +1 -0
  80. package/dist/cjs/components/Collection/layouts/vertical-layout/VerticalLayoutHeader.js +15 -0
  81. package/dist/cjs/components/Collection/layouts/vertical-layout/VerticalLayoutHeader.js.map +1 -0
  82. package/dist/cjs/index.d.ts +2 -0
  83. package/dist/cjs/index.d.ts.map +1 -1
  84. package/dist/cjs/index.js.map +1 -1
  85. package/dist/esm/components/Collection/Collection.d.ts +75 -12
  86. package/dist/esm/components/Collection/Collection.d.ts.map +1 -1
  87. package/dist/esm/components/Collection/Collection.js +87 -32
  88. package/dist/esm/components/Collection/Collection.js.map +1 -1
  89. package/dist/esm/components/Collection/Collection.module.css +13 -1
  90. package/dist/esm/components/Collection/CollectionAddButton.d.ts +25 -0
  91. package/dist/esm/components/Collection/CollectionAddButton.d.ts.map +1 -0
  92. package/dist/esm/components/Collection/CollectionAddButton.js +19 -0
  93. package/dist/esm/components/Collection/CollectionAddButton.js.map +1 -0
  94. package/dist/esm/components/Collection/CollectionColumn.types.d.ts +72 -0
  95. package/dist/esm/components/Collection/CollectionColumn.types.d.ts.map +1 -0
  96. package/dist/esm/components/Collection/CollectionColumn.types.js +5 -0
  97. package/dist/esm/components/Collection/CollectionColumn.types.js.map +1 -0
  98. package/dist/esm/components/Collection/CollectionContext.d.ts +5 -0
  99. package/dist/esm/components/Collection/CollectionContext.d.ts.map +1 -1
  100. package/dist/esm/components/Collection/CollectionContext.js.map +1 -1
  101. package/dist/esm/components/Collection/CollectionItem.d.ts +2 -2
  102. package/dist/esm/components/Collection/CollectionItem.d.ts.map +1 -1
  103. package/dist/esm/components/Collection/CollectionItem.js +15 -34
  104. package/dist/esm/components/Collection/CollectionItem.js.map +1 -1
  105. package/dist/esm/components/Collection/layouts/CollectionLayout.types.d.ts +46 -0
  106. package/dist/esm/components/Collection/layouts/CollectionLayout.types.d.ts.map +1 -0
  107. package/dist/esm/components/Collection/layouts/CollectionLayout.types.js +6 -0
  108. package/dist/esm/components/Collection/layouts/CollectionLayout.types.js.map +1 -0
  109. package/dist/esm/components/Collection/layouts/CollectionLayouts.d.ts +26 -0
  110. package/dist/esm/components/Collection/layouts/CollectionLayouts.d.ts.map +1 -0
  111. package/dist/esm/components/Collection/layouts/CollectionLayouts.js +10 -0
  112. package/dist/esm/components/Collection/layouts/CollectionLayouts.js.map +1 -0
  113. package/dist/esm/components/Collection/layouts/horizontal-layout/HorizontalLayout.d.ts +12 -0
  114. package/dist/esm/components/Collection/layouts/horizontal-layout/HorizontalLayout.d.ts.map +1 -0
  115. package/dist/esm/components/Collection/layouts/horizontal-layout/HorizontalLayout.js +11 -0
  116. package/dist/esm/components/Collection/layouts/horizontal-layout/HorizontalLayout.js.map +1 -0
  117. package/dist/esm/components/Collection/layouts/horizontal-layout/HorizontalLayout.module.css +37 -0
  118. package/dist/esm/components/Collection/layouts/horizontal-layout/HorizontalLayoutBody.d.ts +6 -0
  119. package/dist/esm/components/Collection/layouts/horizontal-layout/HorizontalLayoutBody.d.ts.map +1 -0
  120. package/dist/esm/components/Collection/layouts/horizontal-layout/HorizontalLayoutBody.js +49 -0
  121. package/dist/esm/components/Collection/layouts/horizontal-layout/HorizontalLayoutBody.js.map +1 -0
  122. package/dist/esm/components/Collection/layouts/horizontal-layout/HorizontalLayoutHeader.d.ts +6 -0
  123. package/dist/esm/components/Collection/layouts/horizontal-layout/HorizontalLayoutHeader.d.ts.map +1 -0
  124. package/dist/esm/components/Collection/layouts/horizontal-layout/HorizontalLayoutHeader.js +36 -0
  125. package/dist/esm/components/Collection/layouts/horizontal-layout/HorizontalLayoutHeader.js.map +1 -0
  126. package/dist/esm/components/Collection/layouts/shared/DragHandle.d.ts +12 -0
  127. package/dist/esm/components/Collection/layouts/shared/DragHandle.d.ts.map +1 -0
  128. package/dist/esm/components/Collection/layouts/shared/DragHandle.js +20 -0
  129. package/dist/esm/components/Collection/layouts/shared/DragHandle.js.map +1 -0
  130. package/dist/esm/components/Collection/layouts/shared/RemoveButton.d.ts +11 -0
  131. package/dist/esm/components/Collection/layouts/shared/RemoveButton.d.ts.map +1 -0
  132. package/dist/esm/components/Collection/layouts/shared/RemoveButton.js +30 -0
  133. package/dist/esm/components/Collection/layouts/shared/RemoveButton.js.map +1 -0
  134. package/dist/esm/components/Collection/layouts/shared/columnUtils.d.ts +8 -0
  135. package/dist/esm/components/Collection/layouts/shared/columnUtils.d.ts.map +1 -0
  136. package/dist/esm/components/Collection/layouts/shared/columnUtils.js +17 -0
  137. package/dist/esm/components/Collection/layouts/shared/columnUtils.js.map +1 -0
  138. package/dist/esm/components/Collection/layouts/shared/headerUtils.d.ts +8 -0
  139. package/dist/esm/components/Collection/layouts/shared/headerUtils.d.ts.map +1 -0
  140. package/dist/esm/components/Collection/layouts/shared/headerUtils.js +14 -0
  141. package/dist/esm/components/Collection/layouts/shared/headerUtils.js.map +1 -0
  142. package/dist/esm/components/Collection/layouts/shared/itemRenderer.d.ts +78 -0
  143. package/dist/esm/components/Collection/layouts/shared/itemRenderer.d.ts.map +1 -0
  144. package/dist/esm/components/Collection/layouts/shared/itemRenderer.js +150 -0
  145. package/dist/esm/components/Collection/layouts/shared/itemRenderer.js.map +1 -0
  146. package/dist/esm/components/Collection/layouts/shared/layoutConstants.d.ts +38 -0
  147. package/dist/esm/components/Collection/layouts/shared/layoutConstants.d.ts.map +1 -0
  148. package/dist/esm/components/Collection/layouts/shared/layoutConstants.js +18 -0
  149. package/dist/esm/components/Collection/layouts/shared/layoutConstants.js.map +1 -0
  150. package/dist/esm/components/Collection/layouts/vertical-layout/VerticalLayout.d.ts +12 -0
  151. package/dist/esm/components/Collection/layouts/vertical-layout/VerticalLayout.d.ts.map +1 -0
  152. package/dist/esm/components/Collection/layouts/vertical-layout/VerticalLayout.js +11 -0
  153. package/dist/esm/components/Collection/layouts/vertical-layout/VerticalLayout.js.map +1 -0
  154. package/dist/esm/components/Collection/layouts/vertical-layout/VerticalLayout.module.css +35 -0
  155. package/dist/esm/components/Collection/layouts/vertical-layout/VerticalLayoutBody.d.ts +6 -0
  156. package/dist/esm/components/Collection/layouts/vertical-layout/VerticalLayoutBody.d.ts.map +1 -0
  157. package/dist/esm/components/Collection/layouts/vertical-layout/VerticalLayoutBody.js +103 -0
  158. package/dist/esm/components/Collection/layouts/vertical-layout/VerticalLayoutBody.js.map +1 -0
  159. package/dist/esm/components/Collection/layouts/vertical-layout/VerticalLayoutHeader.d.ts +10 -0
  160. package/dist/esm/components/Collection/layouts/vertical-layout/VerticalLayoutHeader.d.ts.map +1 -0
  161. package/dist/esm/components/Collection/layouts/vertical-layout/VerticalLayoutHeader.js +6 -0
  162. package/dist/esm/components/Collection/layouts/vertical-layout/VerticalLayoutHeader.js.map +1 -0
  163. package/dist/esm/index.d.ts +2 -0
  164. package/dist/esm/index.d.ts.map +1 -1
  165. package/dist/esm/index.js.map +1 -1
  166. package/package.json +3 -3
  167. package/src/components/Collection/Collection.module.css +13 -1
  168. package/src/components/Collection/Collection.tsx +149 -50
  169. package/src/components/Collection/CollectionAddButton.tsx +42 -0
  170. package/src/components/Collection/CollectionColumn.types.ts +79 -0
  171. package/src/components/Collection/CollectionContext.ts +5 -0
  172. package/src/components/Collection/CollectionItem.tsx +10 -21
  173. package/src/components/Collection/__tests__/CollectionWithColumns.spec.tsx +560 -0
  174. package/src/components/Collection/layouts/CollectionLayout.types.ts +56 -0
  175. package/src/components/Collection/layouts/CollectionLayouts.tsx +15 -0
  176. package/src/components/Collection/layouts/horizontal-layout/HorizontalLayout.module.css +37 -0
  177. package/src/components/Collection/layouts/horizontal-layout/HorizontalLayout.tsx +9 -0
  178. package/src/components/Collection/layouts/horizontal-layout/HorizontalLayoutBody.tsx +68 -0
  179. package/src/components/Collection/layouts/horizontal-layout/HorizontalLayoutHeader.tsx +33 -0
  180. package/src/components/Collection/layouts/shared/DragHandle.tsx +22 -0
  181. package/src/components/Collection/layouts/shared/RemoveButton.tsx +30 -0
  182. package/src/components/Collection/layouts/shared/columnUtils.ts +20 -0
  183. package/src/components/Collection/layouts/shared/headerUtils.ts +14 -0
  184. package/src/components/Collection/layouts/shared/itemRenderer.tsx +242 -0
  185. package/src/components/Collection/layouts/shared/layoutConstants.ts +51 -0
  186. package/src/components/Collection/layouts/vertical-layout/VerticalLayout.module.css +35 -0
  187. package/src/components/Collection/layouts/vertical-layout/VerticalLayout.tsx +9 -0
  188. package/src/components/Collection/layouts/vertical-layout/VerticalLayoutBody.tsx +120 -0
  189. package/src/components/Collection/layouts/vertical-layout/VerticalLayoutHeader.tsx +8 -0
  190. package/src/index.ts +11 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/components/Collection/layouts/shared/DragHandle.tsx"],"sourcesContent":["import {DragAndDropSize16Px} from '@coveord/plasma-react-icons';\nimport type {FunctionComponent} from 'react';\nimport {useCollectionContext} from '../../CollectionContext.js';\n\nexport interface DragHandleProps {\n setActivatorNodeRef: (element: HTMLElement | null) => void;\n listeners: any;\n attributes: any;\n}\n\n/**\n * Shared drag handle component used by both horizontal and vertical layouts.\n * Renders the drag icon with proper event handlers for drag and drop functionality.\n */\nexport const DragHandle: FunctionComponent<DragHandleProps> = ({setActivatorNodeRef, listeners, attributes}) => {\n const {getStyles} = useCollectionContext();\n return (\n <div ref={setActivatorNodeRef} {...listeners} {...attributes} {...getStyles('dragHandle')}>\n <DragAndDropSize16Px height={16} />\n </div>\n );\n};\n"],"names":["DragHandle","setActivatorNodeRef","listeners","attributes","getStyles","useCollectionContext","div","ref","DragAndDropSize16Px","height"],"mappings":";;;;+BAcaA;;;eAAAA;;;;;;gCAdqB;iCAEC;AAY5B,IAAMA,aAAiD;QAAEC,4BAAAA,qBAAqBC,kBAAAA,WAAWC,mBAAAA;IAC5F,IAAM,AAACC,YAAaC,IAAAA,uCAAoB,IAAjCD;IACP,qBACI,qBAACE;QAAIC,KAAKN;OAAyBC,WAAeC,YAAgBC,UAAU;kBACxE,cAAA,qBAACI,qCAAmB;YAACC,QAAQ;;;AAGzC"}
@@ -0,0 +1,11 @@
1
+ import { FunctionComponent, type MouseEventHandler } from 'react';
2
+ export interface RemoveButtonProps {
3
+ removable?: boolean;
4
+ onRemove?: MouseEventHandler<HTMLButtonElement>;
5
+ }
6
+ /**
7
+ * Shared remove button component used by both horizontal and vertical layouts.
8
+ * Renders a trash icon button when removable, or a spacer div otherwise.
9
+ */
10
+ export declare const RemoveButton: FunctionComponent<RemoveButtonProps>;
11
+ //# sourceMappingURL=RemoveButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoveButton.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Collection/layouts/shared/RemoveButton.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAC,iBAAiB,EAAE,KAAK,iBAAiB,EAAC,MAAM,OAAO,CAAC;AAIhE,MAAM,WAAW,iBAAiB;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;CACnD;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,iBAAiB,CAAC,iBAAiB,CAc7D,CAAC"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "RemoveButton", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return RemoveButton;
9
+ }
10
+ });
11
+ var _object_spread = require("@swc/helpers/_/_object_spread");
12
+ var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
13
+ var _jsxruntime = require("react/jsx-runtime");
14
+ var _plasmareacticons = require("@coveord/plasma-react-icons");
15
+ var _core = require("@mantine/core");
16
+ var _ActionIcon = require("../../../ActionIcon/ActionIcon.js");
17
+ var _CollectionContext = require("../../CollectionContext.js");
18
+ var RemoveButton = function(param) {
19
+ var removable = param.removable, onRemove = param.onRemove;
20
+ var getStyles = (0, _CollectionContext.useCollectionContext)().getStyles;
21
+ if (!removable || !onRemove) {
22
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
23
+ style: {
24
+ width: 28
25
+ }
26
+ });
27
+ }
28
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Box, _object_spread_props._(_object_spread._({}, getStyles('removeButton')), {
29
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_ActionIcon.ActionIcon.Quaternary, {
30
+ onClick: onRemove,
31
+ children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_plasmareacticons.IconTrash, {
32
+ "aria-label": "Remove",
33
+ size: 16
34
+ })
35
+ })
36
+ }));
37
+ };
38
+
39
+ //# sourceMappingURL=RemoveButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/components/Collection/layouts/shared/RemoveButton.tsx"],"sourcesContent":["import {IconTrash} from '@coveord/plasma-react-icons';\nimport {Box} from '@mantine/core';\nimport {FunctionComponent, type MouseEventHandler} from 'react';\nimport {ActionIcon} from '../../../ActionIcon/ActionIcon.js';\nimport {useCollectionContext} from '../../CollectionContext.js';\n\nexport interface RemoveButtonProps {\n removable?: boolean;\n onRemove?: MouseEventHandler<HTMLButtonElement>;\n}\n\n/**\n * Shared remove button component used by both horizontal and vertical layouts.\n * Renders a trash icon button when removable, or a spacer div otherwise.\n */\nexport const RemoveButton: FunctionComponent<RemoveButtonProps> = ({removable, onRemove}) => {\n const {getStyles} = useCollectionContext();\n\n if (!removable || !onRemove) {\n return <div style={{width: 28}} />;\n }\n\n return (\n <Box {...getStyles('removeButton')}>\n <ActionIcon.Quaternary onClick={onRemove}>\n <IconTrash aria-label=\"Remove\" size={16} />\n </ActionIcon.Quaternary>\n </Box>\n );\n};\n"],"names":["RemoveButton","removable","onRemove","getStyles","useCollectionContext","div","style","width","Box","ActionIcon","Quaternary","onClick","IconTrash","aria-label","size"],"mappings":";;;;+BAeaA;;;eAAAA;;;;;;gCAfW;oBACN;0BAEO;iCACU;AAW5B,IAAMA,eAAqD;QAAEC,kBAAAA,WAAWC,iBAAAA;IAC3E,IAAM,AAACC,YAAaC,IAAAA,uCAAoB,IAAjCD;IAEP,IAAI,CAACF,aAAa,CAACC,UAAU;QACzB,qBAAO,qBAACG;YAAIC,OAAO;gBAACC,OAAO;YAAE;;IACjC;IAEA,qBACI,qBAACC,SAAG,8CAAKL,UAAU;kBACf,cAAA,qBAACM,sBAAU,CAACC,UAAU;YAACC,SAAST;sBAC5B,cAAA,qBAACU,2BAAS;gBAACC,cAAW;gBAASC,MAAM;;;;AAIrD"}
@@ -0,0 +1,8 @@
1
+ import { CSSProperties } from 'react';
2
+ import { CollectionColumnDef } from '../../CollectionColumn.types.js';
3
+ /**
4
+ * Converts column size configuration to CSS styles.
5
+ * Handles both numeric (px) and string (%, fr, etc.) size values.
6
+ */
7
+ export declare const getColumnSizeStyles: (column: CollectionColumnDef<any>) => CSSProperties;
8
+ //# sourceMappingURL=columnUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnUtils.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Collection/layouts/shared/columnUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;AACpC,OAAO,EAAC,mBAAmB,EAAC,MAAM,iCAAiC,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,mBAAmB,CAAC,GAAG,CAAC,KAAG,aAYtE,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "getColumnSizeStyles", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return getColumnSizeStyles;
9
+ }
10
+ });
11
+ var getColumnSizeStyles = function(column) {
12
+ var sizeToStyle = function(size) {
13
+ if (size === undefined) {
14
+ return undefined;
15
+ }
16
+ return typeof size === 'number' ? "".concat(size, "px") : size;
17
+ };
18
+ return {
19
+ minWidth: sizeToStyle(column.minSize),
20
+ maxWidth: sizeToStyle(column.maxSize)
21
+ };
22
+ };
23
+
24
+ //# sourceMappingURL=columnUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/components/Collection/layouts/shared/columnUtils.ts"],"sourcesContent":["import {CSSProperties} from 'react';\nimport {CollectionColumnDef} from '../../CollectionColumn.types.js';\n\n/**\n * Converts column size configuration to CSS styles.\n * Handles both numeric (px) and string (%, fr, etc.) size values.\n */\nexport const getColumnSizeStyles = (column: CollectionColumnDef<any>): CSSProperties => {\n const sizeToStyle = (size: number | string | undefined): string | undefined => {\n if (size === undefined) {\n return undefined;\n }\n return typeof size === 'number' ? `${size}px` : size;\n };\n\n return {\n minWidth: sizeToStyle(column.minSize),\n maxWidth: sizeToStyle(column.maxSize),\n };\n};\n"],"names":["getColumnSizeStyles","column","sizeToStyle","size","undefined","minWidth","minSize","maxWidth","maxSize"],"mappings":";;;;+BAOaA;;;eAAAA;;;AAAN,IAAMA,sBAAsB,SAACC;IAChC,IAAMC,cAAc,SAACC;QACjB,IAAIA,SAASC,WAAW;YACpB,OAAOA;QACX;QACA,OAAO,OAAOD,SAAS,WAAW,AAAC,GAAO,OAALA,MAAK,QAAMA;IACpD;IAEA,OAAO;QACHE,UAAUH,YAAYD,OAAOK,OAAO;QACpCC,UAAUL,YAAYD,OAAOO,OAAO;IACxC;AACJ"}
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ import { CollectionColumnDef } from '../../CollectionColumn.types.js';
3
+ /**
4
+ * Renders a column header by invoking the header function with context if needed.
5
+ * Handles both static headers (strings/nodes) and dynamic header functions.
6
+ */
7
+ export declare const renderColumnHeader: (header: CollectionColumnDef<unknown>["header"], index: number) => ReactNode;
8
+ //# sourceMappingURL=headerUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headerUtils.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Collection/layouts/shared/headerUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAChC,OAAO,EAAC,mBAAmB,EAA0B,MAAM,iCAAiC,CAAC;AAE7F;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,QAAQ,mBAAmB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,OAAO,MAAM,KAAG,SAMlG,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "renderColumnHeader", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return renderColumnHeader;
9
+ }
10
+ });
11
+ var renderColumnHeader = function(header, index) {
12
+ if (typeof header === 'function') {
13
+ var context = {
14
+ index: index
15
+ };
16
+ return header(context);
17
+ }
18
+ return header;
19
+ };
20
+
21
+ //# sourceMappingURL=headerUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/components/Collection/layouts/shared/headerUtils.ts"],"sourcesContent":["import {ReactNode} from 'react';\nimport {CollectionColumnDef, CollectionHeaderContext} from '../../CollectionColumn.types.js';\n\n/**\n * Renders a column header by invoking the header function with context if needed.\n * Handles both static headers (strings/nodes) and dynamic header functions.\n */\nexport const renderColumnHeader = (header: CollectionColumnDef<unknown>['header'], index: number): ReactNode => {\n if (typeof header === 'function') {\n const context: CollectionHeaderContext = {index};\n return header(context);\n }\n return header;\n};\n"],"names":["renderColumnHeader","header","index","context"],"mappings":";;;;+BAOaA;;;eAAAA;;;AAAN,IAAMA,qBAAqB,SAACC,QAAgDC;IAC/E,IAAI,OAAOD,WAAW,YAAY;QAC9B,IAAME,UAAmC;YAACD,OAAAA;QAAK;QAC/C,OAAOD,OAAOE;IAClB;IACA,OAAOF;AACX"}
@@ -0,0 +1,78 @@
1
+ import { ReactNode } from 'react';
2
+ import { CollectionCellContext, CollectionColumnDef } from '../../CollectionColumn.types.js';
3
+ /**
4
+ * CSS classes object for layout styling.
5
+ */
6
+ export interface LayoutClasses {
7
+ [key: string]: string;
8
+ }
9
+ /**
10
+ * Common props for rendering an item/row in either layout.
11
+ */
12
+ export interface ItemProps<T> {
13
+ item: T;
14
+ index: number;
15
+ id: string;
16
+ columns: Array<CollectionColumnDef<T>>;
17
+ onRemove?: () => void;
18
+ removable?: boolean;
19
+ draggable?: boolean;
20
+ disabled?: boolean;
21
+ readOnly?: boolean;
22
+ classes: LayoutClasses;
23
+ config: ItemRendererConfig<T>;
24
+ }
25
+ /**
26
+ * Function type that renders the content specific to each layout.
27
+ * Horizontal layout renders cells in a row, vertical layout renders stacked fields.
28
+ */
29
+ export type ItemContentRenderer<T> = (item: T, index: number, columns: Array<CollectionColumnDef<T>>, cellContext: CollectionCellContext<T>, classes: LayoutClasses) => ReactNode;
30
+ /**
31
+ * Function type that renders content with inline drag handle for draggable items.
32
+ * Used by layouts that want the drag handle integrated into the content (e.g., vertical layout).
33
+ */
34
+ export type DraggableContentRenderer<T> = (item: T, index: number, columns: Array<CollectionColumnDef<T>>, cellContext: CollectionCellContext<T>, classes: LayoutClasses, dragHandleProps: {
35
+ setActivatorNodeRef: (element: HTMLElement | null) => void;
36
+ listeners: any;
37
+ attributes: any;
38
+ }) => ReactNode;
39
+ /**
40
+ * Configuration for creating layout-specific item renderers.
41
+ */
42
+ export interface ItemRendererConfig<T> {
43
+ /** The content rendering function specific to the layout */
44
+ renderContent: ItemContentRenderer<T>;
45
+ /** The container style selector ('row' for horizontal, 'item' for vertical) */
46
+ containerSelector: string;
47
+ /** Optional: whether to render drag handle and remove button inline with content (used by horizontal layout) */
48
+ inlineControls?: boolean;
49
+ /**
50
+ * Optional: custom content renderer for draggable items that integrates the drag handle.
51
+ * If provided, this is used instead of the default drag handle + renderContent pattern.
52
+ * Used by vertical layout to place drag handle alongside the field stack.
53
+ */
54
+ renderDraggableContent?: DraggableContentRenderer<T>;
55
+ }
56
+ /**
57
+ * Creates a set of item renderers (draggable, static, disabled) for a layout.
58
+ * This eliminates the duplication of three nearly identical component variants.
59
+ * The renderers are stable function references that don't capture variables in closures.
60
+ */
61
+ export declare const createItemRenderers: <T>() => {
62
+ DraggableItem: (props: ItemProps<T>) => import("react/jsx-runtime.js").JSX.Element;
63
+ StaticItem: (props: ItemProps<T>) => import("react/jsx-runtime.js").JSX.Element;
64
+ DisabledItem: (props: ItemProps<T>) => import("react/jsx-runtime.js").JSX.Element;
65
+ };
66
+ /**
67
+ * Maps items to their appropriate renderer components based on state.
68
+ */
69
+ export declare const mapItemsToComponents: <T>(items: T[], renderers: ReturnType<typeof createItemRenderers<T>>, config: ItemRendererConfig<T>, classes: LayoutClasses, options: {
70
+ getItemId?: (item: T, index: number) => string;
71
+ onRemove?: (index: number) => void;
72
+ removable?: boolean;
73
+ draggable?: boolean;
74
+ disabled?: boolean;
75
+ readOnly?: boolean;
76
+ columns: Array<CollectionColumnDef<T>>;
77
+ }) => ReactNode[];
78
+ //# sourceMappingURL=itemRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"itemRenderer.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Collection/layouts/shared/itemRenderer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get createItemRenderers () {
13
+ return createItemRenderers;
14
+ },
15
+ get mapItemsToComponents () {
16
+ return mapItemsToComponents;
17
+ }
18
+ });
19
+ var _object_spread = require("@swc/helpers/_/_object_spread");
20
+ var _jsxruntime = require("react/jsx-runtime");
21
+ var _sortable = require("@dnd-kit/sortable");
22
+ var _utilities = require("@dnd-kit/utilities");
23
+ var _core = require("@mantine/core");
24
+ var _DragHandle = require("./DragHandle.js");
25
+ var _RemoveButton = require("./RemoveButton.js");
26
+ var createItemRenderers = function() {
27
+ /**
28
+ * Draggable item/row renderer with drag and drop functionality
29
+ */ var DraggableItem = function(props) {
30
+ var item = props.item, index = props.index, id = props.id, columns = props.columns, onRemove = props.onRemove, removable = props.removable, disabled = props.disabled, readOnly = props.readOnly, classes = props.classes, config = props.config;
31
+ var _useSortable = (0, _sortable.useSortable)({
32
+ id: id
33
+ }), attributes = _useSortable.attributes, listeners = _useSortable.listeners, setNodeRef = _useSortable.setNodeRef, transform = _useSortable.transform, transition = _useSortable.transition, isDragging = _useSortable.isDragging, setActivatorNodeRef = _useSortable.setActivatorNodeRef;
34
+ var cellContext = {
35
+ removable: removable,
36
+ draggable: true,
37
+ disabled: disabled,
38
+ readOnly: readOnly,
39
+ onRemove: onRemove
40
+ };
41
+ var dragHandleProps = {
42
+ setActivatorNodeRef: setActivatorNodeRef,
43
+ listeners: listeners,
44
+ attributes: attributes
45
+ };
46
+ // Use renderDraggableContent if provided (integrates drag handle into content)
47
+ if (config.renderDraggableContent) {
48
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Box, {
49
+ ref: setNodeRef,
50
+ "data-testid": "item-".concat(id),
51
+ className: classes[config.containerSelector],
52
+ style: transform ? {
53
+ transform: _utilities.CSS.Transform.toString(transform),
54
+ transition: transition
55
+ } : undefined,
56
+ "data-isdragging": isDragging,
57
+ children: config.renderDraggableContent(item, index, columns, cellContext, classes, dragHandleProps)
58
+ });
59
+ }
60
+ // Default behavior: inline drag handle + content + remove button (used by horizontal layout)
61
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Box, {
62
+ ref: setNodeRef,
63
+ "data-testid": "item-".concat(id),
64
+ className: classes[config.containerSelector],
65
+ style: transform ? {
66
+ transform: _utilities.CSS.Transform.toString(transform),
67
+ transition: transition
68
+ } : undefined,
69
+ "data-isdragging": isDragging,
70
+ children: [
71
+ /*#__PURE__*/ (0, _jsxruntime.jsx)(_DragHandle.DragHandle, {
72
+ setActivatorNodeRef: setActivatorNodeRef,
73
+ listeners: listeners,
74
+ attributes: attributes
75
+ }),
76
+ config.renderContent(item, index, columns, cellContext, classes),
77
+ config.inlineControls && /*#__PURE__*/ (0, _jsxruntime.jsx)(_RemoveButton.RemoveButton, {
78
+ removable: removable,
79
+ onRemove: onRemove
80
+ })
81
+ ]
82
+ });
83
+ };
84
+ /**
85
+ * Static (non-draggable) item/row renderer
86
+ */ var StaticItem = function(props) {
87
+ var item = props.item, index = props.index, id = props.id, columns = props.columns, onRemove = props.onRemove, removable = props.removable, disabled = props.disabled, readOnly = props.readOnly, classes = props.classes, config = props.config;
88
+ var cellContext = {
89
+ removable: removable,
90
+ draggable: false,
91
+ disabled: disabled,
92
+ readOnly: readOnly,
93
+ onRemove: onRemove
94
+ };
95
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_core.Box, {
96
+ "data-testid": "item-".concat(id),
97
+ className: classes[config.containerSelector],
98
+ children: [
99
+ config.renderContent(item, index, columns, cellContext, classes),
100
+ config.inlineControls && /*#__PURE__*/ (0, _jsxruntime.jsx)(_RemoveButton.RemoveButton, {
101
+ removable: removable,
102
+ onRemove: onRemove
103
+ })
104
+ ]
105
+ });
106
+ };
107
+ /**
108
+ * Disabled item/row renderer (no drag, no remove)
109
+ */ var DisabledItem = function(props) {
110
+ var item = props.item, index = props.index, id = props.id, columns = props.columns, disabled = props.disabled, readOnly = props.readOnly, classes = props.classes, config = props.config;
111
+ var cellContext = {
112
+ removable: false,
113
+ draggable: false,
114
+ disabled: disabled,
115
+ readOnly: readOnly
116
+ };
117
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Box, {
118
+ "data-testid": "item-".concat(id),
119
+ className: classes[config.containerSelector],
120
+ children: config.renderContent(item, index, columns, cellContext, classes)
121
+ });
122
+ };
123
+ return {
124
+ DraggableItem: DraggableItem,
125
+ StaticItem: StaticItem,
126
+ DisabledItem: DisabledItem
127
+ };
128
+ };
129
+ var mapItemsToComponents = function(items, renderers, config, classes, options) {
130
+ var getItemId = options.getItemId, onRemove = options.onRemove, removable = options.removable, draggable = options.draggable, disabled = options.disabled, readOnly = options.readOnly, columns = options.columns;
131
+ var DraggableItem = renderers.DraggableItem, StaticItem = renderers.StaticItem, DisabledItem = renderers.DisabledItem;
132
+ return items.map(function(item, index) {
133
+ var _getItemId;
134
+ var id = (_getItemId = getItemId === null || getItemId === void 0 ? void 0 : getItemId(item, index)) !== null && _getItemId !== void 0 ? _getItemId : String(index);
135
+ var itemProps = {
136
+ item: item,
137
+ index: index,
138
+ id: id,
139
+ columns: columns,
140
+ onRemove: onRemove ? function() {
141
+ return onRemove(index);
142
+ } : undefined,
143
+ removable: removable,
144
+ draggable: draggable,
145
+ disabled: disabled,
146
+ readOnly: readOnly,
147
+ classes: classes,
148
+ config: config
149
+ };
150
+ if (disabled) {
151
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(DisabledItem, _object_spread._({}, itemProps), id);
152
+ }
153
+ if (draggable) {
154
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(DraggableItem, _object_spread._({}, itemProps), id);
155
+ }
156
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(StaticItem, _object_spread._({}, itemProps), id);
157
+ });
158
+ };
159
+
160
+ //# sourceMappingURL=itemRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/components/Collection/layouts/shared/itemRenderer.tsx"],"sourcesContent":["import {useSortable} from '@dnd-kit/sortable';\nimport {CSS} from '@dnd-kit/utilities';\nimport {Box} from '@mantine/core';\nimport {ReactNode} from 'react';\nimport {CollectionCellContext, CollectionColumnDef} from '../../CollectionColumn.types.js';\nimport {DragHandle} from './DragHandle.js';\nimport {RemoveButton} from './RemoveButton.js';\n\n/**\n * CSS classes object for layout styling.\n */\nexport interface LayoutClasses {\n [key: string]: string;\n}\n\n/**\n * Common props for rendering an item/row in either layout.\n */\nexport interface ItemProps<T> {\n item: T;\n index: number;\n id: string;\n columns: Array<CollectionColumnDef<T>>;\n onRemove?: () => void;\n removable?: boolean;\n draggable?: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n classes: LayoutClasses;\n config: ItemRendererConfig<T>;\n}\n\n/**\n * Function type that renders the content specific to each layout.\n * Horizontal layout renders cells in a row, vertical layout renders stacked fields.\n */\nexport type ItemContentRenderer<T> = (\n item: T,\n index: number,\n columns: Array<CollectionColumnDef<T>>,\n cellContext: CollectionCellContext<T>,\n classes: LayoutClasses,\n) => ReactNode;\n\n/**\n * Function type that renders content with inline drag handle for draggable items.\n * Used by layouts that want the drag handle integrated into the content (e.g., vertical layout).\n */\nexport type DraggableContentRenderer<T> = (\n item: T,\n index: number,\n columns: Array<CollectionColumnDef<T>>,\n cellContext: CollectionCellContext<T>,\n classes: LayoutClasses,\n dragHandleProps: {\n setActivatorNodeRef: (element: HTMLElement | null) => void;\n listeners: any;\n attributes: any;\n },\n) => ReactNode;\n\n/**\n * Configuration for creating layout-specific item renderers.\n */\nexport interface ItemRendererConfig<T> {\n /** The content rendering function specific to the layout */\n renderContent: ItemContentRenderer<T>;\n /** The container style selector ('row' for horizontal, 'item' for vertical) */\n containerSelector: string;\n /** Optional: whether to render drag handle and remove button inline with content (used by horizontal layout) */\n inlineControls?: boolean;\n /**\n * Optional: custom content renderer for draggable items that integrates the drag handle.\n * If provided, this is used instead of the default drag handle + renderContent pattern.\n * Used by vertical layout to place drag handle alongside the field stack.\n */\n renderDraggableContent?: DraggableContentRenderer<T>;\n}\n\n/**\n * Creates a set of item renderers (draggable, static, disabled) for a layout.\n * This eliminates the duplication of three nearly identical component variants.\n * The renderers are stable function references that don't capture variables in closures.\n */\nexport const createItemRenderers = <T,>() => {\n /**\n * Draggable item/row renderer with drag and drop functionality\n */\n const DraggableItem = (props: ItemProps<T>) => {\n const {item, index, id, columns, onRemove, removable, disabled, readOnly, classes, config} = props;\n const {attributes, listeners, setNodeRef, transform, transition, isDragging, setActivatorNodeRef} = useSortable(\n {id},\n );\n\n const cellContext: CollectionCellContext<T> = {\n removable,\n draggable: true,\n disabled,\n readOnly,\n onRemove,\n };\n\n const dragHandleProps = {setActivatorNodeRef, listeners, attributes};\n\n // Use renderDraggableContent if provided (integrates drag handle into content)\n if (config.renderDraggableContent) {\n return (\n <Box\n ref={setNodeRef}\n data-testid={`item-${id}`}\n className={classes[config.containerSelector]}\n style={\n transform\n ? {\n transform: CSS.Transform.toString(transform),\n transition,\n }\n : undefined\n }\n data-isdragging={isDragging}\n >\n {config.renderDraggableContent(item, index, columns, cellContext, classes, dragHandleProps)}\n </Box>\n );\n }\n\n // Default behavior: inline drag handle + content + remove button (used by horizontal layout)\n return (\n <Box\n ref={setNodeRef}\n data-testid={`item-${id}`}\n className={classes[config.containerSelector]}\n style={\n transform\n ? {\n transform: CSS.Transform.toString(transform),\n transition,\n }\n : undefined\n }\n data-isdragging={isDragging}\n >\n <DragHandle setActivatorNodeRef={setActivatorNodeRef} listeners={listeners} attributes={attributes} />\n {config.renderContent(item, index, columns, cellContext, classes)}\n {config.inlineControls && <RemoveButton removable={removable} onRemove={onRemove} />}\n </Box>\n );\n };\n\n /**\n * Static (non-draggable) item/row renderer\n */\n const StaticItem = (props: ItemProps<T>) => {\n const {item, index, id, columns, onRemove, removable, disabled, readOnly, classes, config} = props;\n\n const cellContext: CollectionCellContext<T> = {\n removable,\n draggable: false,\n disabled,\n readOnly,\n onRemove,\n };\n\n return (\n <Box data-testid={`item-${id}`} className={classes[config.containerSelector]}>\n {config.renderContent(item, index, columns, cellContext, classes)}\n {config.inlineControls && <RemoveButton removable={removable} onRemove={onRemove} />}\n </Box>\n );\n };\n\n /**\n * Disabled item/row renderer (no drag, no remove)\n */\n const DisabledItem = (props: ItemProps<T>) => {\n const {item, index, id, columns, disabled, readOnly, classes, config} = props;\n\n const cellContext: CollectionCellContext<T> = {\n removable: false,\n draggable: false,\n disabled,\n readOnly,\n };\n\n return (\n <Box data-testid={`item-${id}`} className={classes[config.containerSelector]}>\n {config.renderContent(item, index, columns, cellContext, classes)}\n </Box>\n );\n };\n\n return {DraggableItem, StaticItem, DisabledItem};\n};\n\n/**\n * Maps items to their appropriate renderer components based on state.\n */\nexport const mapItemsToComponents = <T,>(\n items: T[],\n renderers: ReturnType<typeof createItemRenderers<T>>,\n config: ItemRendererConfig<T>,\n classes: LayoutClasses,\n options: {\n getItemId?: (item: T, index: number) => string;\n onRemove?: (index: number) => void;\n removable?: boolean;\n draggable?: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n columns: Array<CollectionColumnDef<T>>;\n },\n): ReactNode[] => {\n const {getItemId, onRemove, removable, draggable, disabled, readOnly, columns} = options;\n const {DraggableItem, StaticItem, DisabledItem} = renderers;\n\n return items.map((item, index) => {\n const id = getItemId?.(item, index) ?? String(index);\n const itemProps: ItemProps<T> = {\n item,\n index,\n id,\n columns,\n onRemove: onRemove ? () => onRemove(index) : undefined,\n removable,\n draggable,\n disabled,\n readOnly,\n classes,\n config,\n };\n\n if (disabled) {\n return <DisabledItem key={id} {...itemProps} />;\n }\n\n if (draggable) {\n return <DraggableItem key={id} {...itemProps} />;\n }\n\n return <StaticItem key={id} {...itemProps} />;\n });\n};\n"],"names":["createItemRenderers","mapItemsToComponents","DraggableItem","props","item","index","id","columns","onRemove","removable","disabled","readOnly","classes","config","useSortable","attributes","listeners","setNodeRef","transform","transition","isDragging","setActivatorNodeRef","cellContext","draggable","dragHandleProps","renderDraggableContent","Box","ref","data-testid","className","containerSelector","style","CSS","Transform","toString","undefined","data-isdragging","DragHandle","renderContent","inlineControls","RemoveButton","StaticItem","DisabledItem","items","renderers","options","getItemId","map","String","itemProps"],"mappings":";;;;;;;;;;;QAoFaA;eAAAA;;QAiHAC;eAAAA;;;;;wBArMa;yBACR;oBACA;0BAGO;4BACE;AA8EpB,IAAMD,sBAAsB;IAC/B;;KAEC,GACD,IAAME,gBAAgB,SAACC;QACnB,IAAOC,OAAsFD,MAAtFC,MAAMC,QAAgFF,MAAhFE,OAAOC,KAAyEH,MAAzEG,IAAIC,UAAqEJ,MAArEI,SAASC,WAA4DL,MAA5DK,UAAUC,YAAkDN,MAAlDM,WAAWC,WAAuCP,MAAvCO,UAAUC,WAA6BR,MAA7BQ,UAAUC,UAAmBT,MAAnBS,SAASC,SAAUV,MAAVU;QACnF,IAAoGC,eAAAA,IAAAA,qBAAW,EAC3G;YAACR,IAAAA;QAAE,IADAS,aAA6FD,aAA7FC,YAAYC,YAAiFF,aAAjFE,WAAWC,aAAsEH,aAAtEG,YAAYC,YAA0DJ,aAA1DI,WAAWC,aAA+CL,aAA/CK,YAAYC,aAAmCN,aAAnCM,YAAYC,sBAAuBP,aAAvBO;QAI7E,IAAMC,cAAwC;YAC1Cb,WAAAA;YACAc,WAAW;YACXb,UAAAA;YACAC,UAAAA;YACAH,UAAAA;QACJ;QAEA,IAAMgB,kBAAkB;YAACH,qBAAAA;YAAqBL,WAAAA;YAAWD,YAAAA;QAAU;QAEnE,+EAA+E;QAC/E,IAAIF,OAAOY,sBAAsB,EAAE;YAC/B,qBACI,qBAACC,SAAG;gBACAC,KAAKV;gBACLW,eAAa,AAAC,QAAU,OAAHtB;gBACrBuB,WAAWjB,OAAO,CAACC,OAAOiB,iBAAiB,CAAC;gBAC5CC,OACIb,YACM;oBACIA,WAAWc,cAAG,CAACC,SAAS,CAACC,QAAQ,CAAChB;oBAClCC,YAAAA;gBACJ,IACAgB;gBAEVC,mBAAiBhB;0BAEhBP,OAAOY,sBAAsB,CAACrB,MAAMC,OAAOE,SAASe,aAAaV,SAASY;;QAGvF;QAEA,6FAA6F;QAC7F,qBACI,sBAACE,SAAG;YACAC,KAAKV;YACLW,eAAa,AAAC,QAAU,OAAHtB;YACrBuB,WAAWjB,OAAO,CAACC,OAAOiB,iBAAiB,CAAC;YAC5CC,OACIb,YACM;gBACIA,WAAWc,cAAG,CAACC,SAAS,CAACC,QAAQ,CAAChB;gBAClCC,YAAAA;YACJ,IACAgB;YAEVC,mBAAiBhB;;8BAEjB,qBAACiB,sBAAU;oBAAChB,qBAAqBA;oBAAqBL,WAAWA;oBAAWD,YAAYA;;gBACvFF,OAAOyB,aAAa,CAAClC,MAAMC,OAAOE,SAASe,aAAaV;gBACxDC,OAAO0B,cAAc,kBAAI,qBAACC,0BAAY;oBAAC/B,WAAWA;oBAAWD,UAAUA;;;;IAGpF;IAEA;;KAEC,GACD,IAAMiC,aAAa,SAACtC;QAChB,IAAOC,OAAsFD,MAAtFC,MAAMC,QAAgFF,MAAhFE,OAAOC,KAAyEH,MAAzEG,IAAIC,UAAqEJ,MAArEI,SAASC,WAA4DL,MAA5DK,UAAUC,YAAkDN,MAAlDM,WAAWC,WAAuCP,MAAvCO,UAAUC,WAA6BR,MAA7BQ,UAAUC,UAAmBT,MAAnBS,SAASC,SAAUV,MAAVU;QAEnF,IAAMS,cAAwC;YAC1Cb,WAAAA;YACAc,WAAW;YACXb,UAAAA;YACAC,UAAAA;YACAH,UAAAA;QACJ;QAEA,qBACI,sBAACkB,SAAG;YAACE,eAAa,AAAC,QAAU,OAAHtB;YAAMuB,WAAWjB,OAAO,CAACC,OAAOiB,iBAAiB,CAAC;;gBACvEjB,OAAOyB,aAAa,CAAClC,MAAMC,OAAOE,SAASe,aAAaV;gBACxDC,OAAO0B,cAAc,kBAAI,qBAACC,0BAAY;oBAAC/B,WAAWA;oBAAWD,UAAUA;;;;IAGpF;IAEA;;KAEC,GACD,IAAMkC,eAAe,SAACvC;QAClB,IAAOC,OAAiED,MAAjEC,MAAMC,QAA2DF,MAA3DE,OAAOC,KAAoDH,MAApDG,IAAIC,UAAgDJ,MAAhDI,SAASG,WAAuCP,MAAvCO,UAAUC,WAA6BR,MAA7BQ,UAAUC,UAAmBT,MAAnBS,SAASC,SAAUV,MAAVU;QAE9D,IAAMS,cAAwC;YAC1Cb,WAAW;YACXc,WAAW;YACXb,UAAAA;YACAC,UAAAA;QACJ;QAEA,qBACI,qBAACe,SAAG;YAACE,eAAa,AAAC,QAAU,OAAHtB;YAAMuB,WAAWjB,OAAO,CAACC,OAAOiB,iBAAiB,CAAC;sBACvEjB,OAAOyB,aAAa,CAAClC,MAAMC,OAAOE,SAASe,aAAaV;;IAGrE;IAEA,OAAO;QAACV,eAAAA;QAAeuC,YAAAA;QAAYC,cAAAA;IAAY;AACnD;AAKO,IAAMzC,uBAAuB,SAChC0C,OACAC,WACA/B,QACAD,SACAiC;IAUA,IAAOC,YAA0ED,QAA1EC,WAAWtC,WAA+DqC,QAA/DrC,UAAUC,YAAqDoC,QAArDpC,WAAWc,YAA0CsB,QAA1CtB,WAAWb,WAA+BmC,QAA/BnC,UAAUC,WAAqBkC,QAArBlC,UAAUJ,UAAWsC,QAAXtC;IACtE,IAAOL,gBAA2C0C,UAA3C1C,eAAeuC,aAA4BG,UAA5BH,YAAYC,eAAgBE,UAAhBF;IAElC,OAAOC,MAAMI,GAAG,CAAC,SAAC3C,MAAMC;YACTyC;QAAX,IAAMxC,KAAKwC,CAAAA,aAAAA,sBAAAA,gCAAAA,UAAY1C,MAAMC,oBAAlByC,wBAAAA,aAA4BE,OAAO3C;QAC9C,IAAM4C,YAA0B;YAC5B7C,MAAAA;YACAC,OAAAA;YACAC,IAAAA;YACAC,SAAAA;YACAC,UAAUA,WAAW;uBAAMA,SAASH;gBAAS8B;YAC7C1B,WAAAA;YACAc,WAAAA;YACAb,UAAAA;YACAC,UAAAA;YACAC,SAAAA;YACAC,QAAAA;QACJ;QAEA,IAAIH,UAAU;YACV,qBAAO,qBAACgC,mCAA0BO,YAAR3C;QAC9B;QAEA,IAAIiB,WAAW;YACX,qBAAO,qBAACrB,oCAA2B+C,YAAR3C;QAC/B;QAEA,qBAAO,qBAACmC,iCAAwBQ,YAAR3C;IAC5B;AACJ"}
@@ -0,0 +1,38 @@
1
+ import { BoxProps, MantineSpacing } from '@mantine/core';
2
+ import { ReactNode } from 'react';
3
+ /**
4
+ * Common props shared across all layout wrapper components.
5
+ */
6
+ export interface LayoutProps {
7
+ children: ReactNode;
8
+ }
9
+ /**
10
+ * Common props shared across all layout header components.
11
+ */
12
+ export interface LayoutHeaderProps extends BoxProps {
13
+ draggable?: boolean;
14
+ removable?: boolean;
15
+ }
16
+ /**
17
+ * Common default props shared across all layout header components.
18
+ */
19
+ export declare const LAYOUT_HEADER_DEFAULT_PROPS: Partial<LayoutHeaderProps>;
20
+ /**
21
+ * Common props shared across all layout body components.
22
+ */
23
+ export interface LayoutBodyProps<T = unknown> extends BoxProps {
24
+ items: T[];
25
+ onRemove?: (index: number) => void;
26
+ removable?: boolean;
27
+ draggable?: boolean;
28
+ disabled?: boolean;
29
+ readOnly?: boolean;
30
+ getItemId?: (item: T, index: number) => string;
31
+ gap?: MantineSpacing;
32
+ }
33
+ /**
34
+ * Common default props shared across all layout body components.
35
+ * This ensures consistent defaults and reduces duplication.
36
+ */
37
+ export declare const LAYOUT_BODY_DEFAULT_PROPS: Partial<LayoutBodyProps>;
38
+ //# sourceMappingURL=layoutConstants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layoutConstants.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Collection/layouts/shared/layoutConstants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,cAAc,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAEhC;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,OAAO,CAAC,iBAAiB,CAGlE,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,QAAQ;IAC1D,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,GAAG,CAAC,EAAE,cAAc,CAAC;CACxB;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,OAAO,CAAC,eAAe,CAMrD,CAAC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get LAYOUT_BODY_DEFAULT_PROPS () {
13
+ return LAYOUT_BODY_DEFAULT_PROPS;
14
+ },
15
+ get LAYOUT_HEADER_DEFAULT_PROPS () {
16
+ return LAYOUT_HEADER_DEFAULT_PROPS;
17
+ }
18
+ });
19
+ var LAYOUT_HEADER_DEFAULT_PROPS = {
20
+ draggable: false,
21
+ removable: true
22
+ };
23
+ var LAYOUT_BODY_DEFAULT_PROPS = {
24
+ removable: true,
25
+ draggable: false,
26
+ disabled: false,
27
+ readOnly: false,
28
+ gap: 'md'
29
+ };
30
+
31
+ //# sourceMappingURL=layoutConstants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/components/Collection/layouts/shared/layoutConstants.ts"],"sourcesContent":["import {BoxProps, MantineSpacing} from '@mantine/core';\nimport {ReactNode} from 'react';\n\n/**\n * Common props shared across all layout wrapper components.\n */\nexport interface LayoutProps {\n children: ReactNode;\n}\n\n/**\n * Common props shared across all layout header components.\n */\nexport interface LayoutHeaderProps extends BoxProps {\n draggable?: boolean;\n removable?: boolean;\n}\n\n/**\n * Common default props shared across all layout header components.\n */\nexport const LAYOUT_HEADER_DEFAULT_PROPS: Partial<LayoutHeaderProps> = {\n draggable: false,\n removable: true,\n};\n\n/**\n * Common props shared across all layout body components.\n */\nexport interface LayoutBodyProps<T = unknown> extends BoxProps {\n items: T[];\n onRemove?: (index: number) => void;\n removable?: boolean;\n draggable?: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n getItemId?: (item: T, index: number) => string;\n gap?: MantineSpacing;\n}\n\n/**\n * Common default props shared across all layout body components.\n * This ensures consistent defaults and reduces duplication.\n */\nexport const LAYOUT_BODY_DEFAULT_PROPS: Partial<LayoutBodyProps> = {\n removable: true,\n draggable: false,\n disabled: false,\n readOnly: false,\n gap: 'md' as MantineSpacing,\n} as const;\n"],"names":["LAYOUT_BODY_DEFAULT_PROPS","LAYOUT_HEADER_DEFAULT_PROPS","draggable","removable","disabled","readOnly","gap"],"mappings":";;;;;;;;;;;QA4CaA;eAAAA;;QAvBAC;eAAAA;;;AAAN,IAAMA,8BAA0D;IACnEC,WAAW;IACXC,WAAW;AACf;AAoBO,IAAMH,4BAAsD;IAC/DG,WAAW;IACXD,WAAW;IACXE,UAAU;IACVC,UAAU;IACVC,KAAK;AACT"}
@@ -0,0 +1,12 @@
1
+ import { LayoutProps } from '../shared/layoutConstants.js';
2
+ export declare const VerticalLayout: {
3
+ ({ children }: LayoutProps): import("react/jsx-runtime.js").JSX.Element;
4
+ Body: <T>(props: import("../shared/layoutConstants.js").LayoutBodyProps<T> & {
5
+ ref?: import("react").ForwardedRef<HTMLDivElement>;
6
+ }) => import("react/jsx-runtime.js").JSX.Element;
7
+ Header: (_props: import("../shared/layoutConstants.js").LayoutHeaderProps & {
8
+ ref?: import("react").ForwardedRef<HTMLDivElement>;
9
+ }) => null;
10
+ displayName: string;
11
+ };
12
+ //# sourceMappingURL=VerticalLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerticalLayout.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Collection/layouts/vertical-layout/VerticalLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAIzD,eAAO,MAAM,cAAc;mBAAgB,WAAW;;WAK25F,CAAC;;;WAFv7F,CAAC;;;CAH8C,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "VerticalLayout", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return VerticalLayout;
9
+ }
10
+ });
11
+ var _jsxruntime = require("react/jsx-runtime");
12
+ var _VerticalLayoutBody = require("./VerticalLayoutBody.js");
13
+ var _VerticalLayoutHeader = require("./VerticalLayoutHeader.js");
14
+ var VerticalLayout = function(param) {
15
+ var children = param.children;
16
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {
17
+ children: children
18
+ });
19
+ };
20
+ VerticalLayout.Body = _VerticalLayoutBody.VerticalLayoutBody;
21
+ VerticalLayout.Header = _VerticalLayoutHeader.VerticalLayoutHeader;
22
+ VerticalLayout.displayName = 'Vertical';
23
+
24
+ //# sourceMappingURL=VerticalLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/components/Collection/layouts/vertical-layout/VerticalLayout.tsx"],"sourcesContent":["import {LayoutProps} from '../shared/layoutConstants.js';\nimport {VerticalLayoutBody} from './VerticalLayoutBody.js';\nimport {VerticalLayoutHeader} from './VerticalLayoutHeader.js';\n\nexport const VerticalLayout = ({children}: LayoutProps) => <>{children}</>;\n\nVerticalLayout.Body = VerticalLayoutBody;\nVerticalLayout.Header = VerticalLayoutHeader;\nVerticalLayout.displayName = 'Vertical';\n"],"names":["VerticalLayout","children","Body","VerticalLayoutBody","Header","VerticalLayoutHeader","displayName"],"mappings":";;;;+BAIaA;;;eAAAA;;;;kCAHoB;oCACE;AAE5B,IAAMA,iBAAiB;QAAEC,iBAAAA;yBAA2B;kBAAGA;;;AAE9DD,eAAeE,IAAI,GAAGC,sCAAkB;AACxCH,eAAeI,MAAM,GAAGC,0CAAoB;AAC5CL,eAAeM,WAAW,GAAG"}
@@ -0,0 +1,35 @@
1
+ .item {
2
+ border: 1px solid var(--mantine-color-gray-3);
3
+ border-radius: var(--mantine-radius-default);
4
+ padding: var(--mantine-spacing-md);
5
+ position: relative;
6
+ background: var(--mantine-color-body);
7
+ }
8
+
9
+ .item[data-isdragging='true'] {
10
+ z-index: 1;
11
+ }
12
+
13
+ .itemContent {
14
+ width: 100%;
15
+ }
16
+
17
+ .fieldGroup {
18
+ flex: 1;
19
+ min-width: 0;
20
+ }
21
+
22
+ .field {
23
+ display: flex;
24
+ flex-direction: column;
25
+ gap: var(--mantine-spacing-xs);
26
+ }
27
+
28
+ .fieldLabel {
29
+ font-weight: var(--coveo-fw-bold);
30
+ font-size: var(--mantine-font-size-sm);
31
+ }
32
+
33
+ .fieldContent {
34
+ width: 100%;
35
+ }
@@ -0,0 +1,6 @@
1
+ import { ForwardedRef } from 'react';
2
+ import { LayoutBodyProps } from '../shared/layoutConstants.js';
3
+ export declare const VerticalLayoutBody: <T>(props: LayoutBodyProps<T> & {
4
+ ref?: ForwardedRef<HTMLDivElement>;
5
+ }) => import("react/jsx-runtime.js").JSX.Element;
6
+ //# sourceMappingURL=VerticalLayoutBody.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerticalLayoutBody.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Collection/layouts/vertical-layout/VerticalLayoutBody.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAU,MAAM,OAAO,CAAC;AAY5C,OAAO,EAA4B,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAyExF,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAG,OAAO,eAAe,CAAC,CAAC,CAAC,GAAG;IAAC,GAAG,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAA;CAAC,+CAiCtG,CAAC"}