@pixpilot/formily-shadcn 0.8.0 → 0.8.2

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 (184) hide show
  1. package/dist/_virtual/rolldown_runtime.cjs +25 -1
  2. package/dist/_virtual/rolldown_runtime.js +24 -1
  3. package/dist/components/array-base/array-base.cjs +59 -1
  4. package/dist/components/array-base/array-base.js +55 -1
  5. package/dist/components/array-base/array-context.cjs +28 -1
  6. package/dist/components/array-base/array-context.js +22 -1
  7. package/dist/components/array-base/component-context.cjs +28 -1
  8. package/dist/components/array-base/component-context.js +22 -1
  9. package/dist/components/array-base/components/addition.cjs +51 -1
  10. package/dist/components/array-base/components/addition.js +45 -1
  11. package/dist/components/array-base/components/array-copy.cjs +49 -1
  12. package/dist/components/array-base/components/array-copy.js +42 -1
  13. package/dist/components/array-base/components/array-index.cjs +15 -1
  14. package/dist/components/array-base/components/array-index.js +13 -1
  15. package/dist/components/array-base/components/array-item-label.cjs +22 -1
  16. package/dist/components/array-base/components/array-item-label.js +19 -1
  17. package/dist/components/array-base/components/components.cjs +30 -1
  18. package/dist/components/array-base/components/components.js +29 -1
  19. package/dist/components/array-base/components/edit.cjs +42 -1
  20. package/dist/components/array-base/components/edit.js +36 -1
  21. package/dist/components/array-base/components/empty.cjs +19 -1
  22. package/dist/components/array-base/components/empty.js +16 -1
  23. package/dist/components/array-base/components/get-array-components.cjs +88 -1
  24. package/dist/components/array-base/components/get-array-components.js +84 -1
  25. package/dist/components/array-base/components/move-down.cjs +47 -1
  26. package/dist/components/array-base/components/move-down.js +41 -1
  27. package/dist/components/array-base/components/move-up.cjs +47 -1
  28. package/dist/components/array-base/components/move-up.js +41 -1
  29. package/dist/components/array-base/components/remove.cjs +46 -1
  30. package/dist/components/array-base/components/remove.js +40 -1
  31. package/dist/components/array-base/components/title.cjs +17 -1
  32. package/dist/components/array-base/components/title.js +14 -1
  33. package/dist/components/array-base/components/use-array-components-registry.cjs +56 -1
  34. package/dist/components/array-base/components/use-array-components-registry.js +52 -1
  35. package/dist/components/array-base/constants/index.cjs +17 -1
  36. package/dist/components/array-base/constants/index.js +15 -1
  37. package/dist/components/array-base/index.cjs +2 -1
  38. package/dist/components/array-base/index.js +2 -1
  39. package/dist/components/array-base/utils/filter-and-sort-components.cjs +34 -1
  40. package/dist/components/array-base/utils/filter-and-sort-components.js +34 -1
  41. package/dist/components/array-base/utils/is-array-component.cjs +65 -1
  42. package/dist/components/array-base/utils/is-array-component.js +56 -1
  43. package/dist/components/array-cards/array-cards.cjs +64 -1
  44. package/dist/components/array-cards/array-cards.js +60 -1
  45. package/dist/components/array-cards/index.cjs +1 -1
  46. package/dist/components/array-cards/index.js +1 -1
  47. package/dist/components/array-cards/item.cjs +64 -1
  48. package/dist/components/array-cards/item.js +60 -1
  49. package/dist/components/array-collapse/array-collapse.cjs +96 -1
  50. package/dist/components/array-collapse/array-collapse.js +92 -1
  51. package/dist/components/array-collapse/index.cjs +1 -1
  52. package/dist/components/array-collapse/index.js +1 -1
  53. package/dist/components/array-collapse/item.cjs +84 -1
  54. package/dist/components/array-collapse/item.js +78 -1
  55. package/dist/components/array-common/array-items-list.cjs +43 -1
  56. package/dist/components/array-common/array-items-list.js +39 -1
  57. package/dist/components/array-common/create-active-item-manager.cjs +29 -1
  58. package/dist/components/array-common/create-active-item-manager.js +27 -1
  59. package/dist/components/array-common/index.cjs +5 -1
  60. package/dist/components/array-common/index.js +5 -1
  61. package/dist/components/array-common/item-wrapper.cjs +26 -1
  62. package/dist/components/array-common/item-wrapper.js +21 -1
  63. package/dist/components/array-common/list-item.cjs +53 -1
  64. package/dist/components/array-common/list-item.js +48 -1
  65. package/dist/components/array-common/use-array-editor.cjs +47 -1
  66. package/dist/components/array-common/use-array-editor.js +44 -1
  67. package/dist/components/array-dialog/array-dialog.cjs +66 -1
  68. package/dist/components/array-dialog/array-dialog.js +62 -1
  69. package/dist/components/array-dialog/edit-dialog.cjs +61 -1
  70. package/dist/components/array-dialog/edit-dialog.js +57 -1
  71. package/dist/components/array-dialog/index.cjs +1 -1
  72. package/dist/components/array-dialog/index.js +1 -1
  73. package/dist/components/array-popover/array-popover.cjs +58 -1
  74. package/dist/components/array-popover/array-popover.js +53 -1
  75. package/dist/components/array-popover/index.cjs +1 -1
  76. package/dist/components/array-popover/index.js +1 -1
  77. package/dist/components/array-popover/popover.cjs +75 -1
  78. package/dist/components/array-popover/popover.js +71 -1
  79. package/dist/components/checkbox.cjs +26 -1
  80. package/dist/components/checkbox.js +23 -1
  81. package/dist/components/column.cjs +39 -1
  82. package/dist/components/column.js +35 -1
  83. package/dist/components/combobox.cjs +14 -1
  84. package/dist/components/combobox.js +11 -1
  85. package/dist/components/context/context.cjs +7 -1
  86. package/dist/components/context/context.js +7 -1
  87. package/dist/components/context/form-context.cjs +9 -1
  88. package/dist/components/context/form-context.js +7 -1
  89. package/dist/components/context/index.cjs +2 -1
  90. package/dist/components/context/index.js +2 -1
  91. package/dist/components/date-picker.cjs +23 -1
  92. package/dist/components/date-picker.js +19 -1
  93. package/dist/components/file-upload/file-upload-inline.cjs +35 -1
  94. package/dist/components/file-upload/file-upload-inline.d.cts +8 -8
  95. package/dist/components/file-upload/file-upload-inline.js +30 -1
  96. package/dist/components/file-upload/file-upload.cjs +35 -1
  97. package/dist/components/file-upload/file-upload.d.cts +8 -8
  98. package/dist/components/file-upload/file-upload.js +30 -1
  99. package/dist/components/file-upload/index.cjs +2 -1
  100. package/dist/components/file-upload/index.js +2 -1
  101. package/dist/components/file-upload/use-file-upload-feedback.cjs +59 -3
  102. package/dist/components/file-upload/use-file-upload-feedback.js +53 -3
  103. package/dist/components/form-grid.cjs +19 -1
  104. package/dist/components/form-grid.js +15 -1
  105. package/dist/components/form-item.cjs +118 -3
  106. package/dist/components/form-item.js +112 -3
  107. package/dist/components/form-items-container.cjs +28 -1
  108. package/dist/components/form-items-container.js +24 -1
  109. package/dist/components/form.cjs +56 -1
  110. package/dist/components/form.js +51 -1
  111. package/dist/components/hidden.cjs +26 -1
  112. package/dist/components/hidden.js +23 -1
  113. package/dist/components/icon-picker.cjs +37 -1
  114. package/dist/components/icon-picker.js +33 -1
  115. package/dist/components/input.cjs +20 -1
  116. package/dist/components/input.js +17 -1
  117. package/dist/components/json-schema-form-renderer.cjs +30 -1
  118. package/dist/components/json-schema-form-renderer.js +26 -1
  119. package/dist/components/number-input.cjs +19 -1
  120. package/dist/components/number-input.d.ts +2 -2
  121. package/dist/components/number-input.js +16 -1
  122. package/dist/components/object-container.cjs +35 -1
  123. package/dist/components/object-container.js +32 -1
  124. package/dist/components/radio.cjs +40 -1
  125. package/dist/components/radio.js +35 -1
  126. package/dist/components/rich-text-editor.cjs +27 -1
  127. package/dist/components/rich-text-editor.js +23 -1
  128. package/dist/components/row.cjs +39 -1
  129. package/dist/components/row.js +35 -1
  130. package/dist/components/schema-field-extended.cjs +25 -1
  131. package/dist/components/schema-field-extended.d.cts +9 -9
  132. package/dist/components/schema-field-extended.d.ts +262 -262
  133. package/dist/components/schema-field-extended.js +23 -1
  134. package/dist/components/schema-field.cjs +61 -1
  135. package/dist/components/schema-field.d.cts +9 -9
  136. package/dist/components/schema-field.d.ts +220 -220
  137. package/dist/components/schema-field.js +57 -1
  138. package/dist/components/select.cjs +11 -1
  139. package/dist/components/select.js +8 -1
  140. package/dist/components/separator.cjs +15 -1
  141. package/dist/components/separator.d.ts +2 -2
  142. package/dist/components/separator.js +12 -1
  143. package/dist/components/slider.cjs +33 -1
  144. package/dist/components/slider.d.ts +2 -2
  145. package/dist/components/slider.js +29 -1
  146. package/dist/components/switch.cjs +21 -1
  147. package/dist/components/switch.js +18 -1
  148. package/dist/components/tags-input-inline.cjs +26 -1
  149. package/dist/components/tags-input-inline.js +23 -1
  150. package/dist/components/textarea.cjs +19 -1
  151. package/dist/components/textarea.js +16 -1
  152. package/dist/hooks/index.cjs +3 -1
  153. package/dist/hooks/index.js +3 -1
  154. package/dist/hooks/use-description.cjs +14 -1
  155. package/dist/hooks/use-description.js +12 -1
  156. package/dist/hooks/use-form-context.cjs +13 -1
  157. package/dist/hooks/use-form-context.js +11 -1
  158. package/dist/hooks/use-label.cjs +19 -1
  159. package/dist/hooks/use-label.js +16 -1
  160. package/dist/index.cjs +102 -1
  161. package/dist/index.js +35 -1
  162. package/dist/utils/create-panel-state-manager.cjs +40 -1
  163. package/dist/utils/create-panel-state-manager.js +38 -1
  164. package/dist/utils/for-each-schema.cjs +27 -1
  165. package/dist/utils/for-each-schema.js +26 -1
  166. package/dist/utils/get-array-item-info.cjs +20 -1
  167. package/dist/utils/get-array-item-info.js +19 -1
  168. package/dist/utils/get-default-value.cjs +22 -1
  169. package/dist/utils/get-default-value.js +20 -1
  170. package/dist/utils/has-array-item-errors.cjs +15 -1
  171. package/dist/utils/has-array-item-errors.js +14 -1
  172. package/dist/utils/has-error.cjs +12 -1
  173. package/dist/utils/has-error.js +10 -1
  174. package/dist/utils/index.cjs +10 -1
  175. package/dist/utils/index.js +10 -1
  176. package/dist/utils/resolve-responsive-space.cjs +131 -1
  177. package/dist/utils/resolve-responsive-space.js +123 -1
  178. package/dist/utils/transform-schema.cjs +45 -1
  179. package/dist/utils/transform-schema.js +43 -1
  180. package/dist/utils/use-array-item-editor.cjs +3 -1
  181. package/dist/utils/use-array-item-editor.js +1 -1
  182. package/dist/utils/validate-array-item-fields.cjs +22 -1
  183. package/dist/utils/validate-array-item-fields.js +22 -1
  184. package/package.json +3 -3
@@ -1 +1,96 @@
1
- const e=require(`../../_virtual/rolldown_runtime.cjs`),t=require(`../../utils/create-panel-state-manager.cjs`),n=require(`../../utils/get-array-item-info.cjs`);require(`../../utils/index.cjs`);const r=require(`../array-base/array-base.cjs`),i=require(`../array-base/component-context.cjs`);require(`../array-base/index.cjs`);const a=require(`../array-base/constants/index.cjs`),o=require(`./item.cjs`);let s=require(`@formily/react`);s=e.__toESM(s);let c=require(`react`);c=e.__toESM(c);let l=require(`react/jsx-runtime`);l=e.__toESM(l);const u=(0,s.observer)(e=>{let{onAdd:a,onRemove:u,onMoveDown:d,onMoveUp:f,onEdit:p,className:m,children:h,defaultActiveKey:g,mode:_=`multiple`,...v}=e,y=(0,s.useField)(),b=(0,s.useFieldSchema)(),x=(0,c.useMemo)(()=>t.createPanelStateManager(g,_===`accordion`),[g,_]),S=Array.isArray(y.value)?y.value:[],C=c.default.useRef(null),w=c.default.useCallback(e=>{a?.(e),C.current=e},[a]),T=c.default.useCallback(e=>{let t=C.current===e;return t&&(C.current=null),t},[]),{ArrayItemsContainer:E,AddButton:D}=i.useArrayComponents(),O=()=>S.map((e,t)=>{let r=t,{itemKey:i,record:s}=n.getArrayItemInfo(y,t);return(0,l.jsx)(o.ArrayCollapseItem,{record:s,index:t,itemId:r,isOpen:x.activeKeys?.includes(r)??!1,formCollapse:x,onAdd:a,isNewItem:T},i)}),k=c.default.useCallback(e=>{x.swapActiveKeys(e,e-1),f?.(e)},[x,f]),A=c.default.useCallback(e=>{x.swapActiveKeys(e,e+1),d?.(e)},[x,d]),j=y.address.toString();return(0,l.jsx)(r.ArrayBase,{onAdd:w,onRemove:u,onMoveUp:k,onMoveDown:A,onEdit:p,children:(0,l.jsxs)(E,{...v,basePath:j,schema:b,hasItems:S.length>0,children:[O(),(0,l.jsx)(D,{schema:b,basePath:j})]})})}),d=({operations:e=a.DEFAULT_OPERATIONS,...t})=>(0,l.jsx)(i.ArrayComponentProvider,{allowedOperationsComponentNames:e,children:(0,l.jsx)(u,{...t})}),f=d;f.displayName=`ArrayCollapse`,r.ArrayBase.mixin(f),exports.ArrayCollapse=f;
1
+ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
+ const require_create_panel_state_manager = require('../../utils/create-panel-state-manager.cjs');
3
+ const require_get_array_item_info = require('../../utils/get-array-item-info.cjs');
4
+ require('../../utils/index.cjs');
5
+ const require_array_base = require('../array-base/array-base.cjs');
6
+ const require_component_context = require('../array-base/component-context.cjs');
7
+ require('../array-base/index.cjs');
8
+ const require_index$2 = require('../array-base/constants/index.cjs');
9
+ const require_item = require('./item.cjs');
10
+ let __formily_react = require("@formily/react");
11
+ __formily_react = require_rolldown_runtime.__toESM(__formily_react);
12
+ let react = require("react");
13
+ react = require_rolldown_runtime.__toESM(react);
14
+ let react_jsx_runtime = require("react/jsx-runtime");
15
+ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
16
+
17
+ //#region src/components/array-collapse/array-collapse.tsx
18
+ /**
19
+ * ArrayCollapse component - displays array items in an collapse with inline editing
20
+ * Each item shows:
21
+ * - Collapse header with item label and controls (move up/down, remove)
22
+ * - Collapse content with editable form fields
23
+ */
24
+ const ArrayItemsCollapseBase = (0, __formily_react.observer)((props) => {
25
+ const { onAdd, onRemove, onMoveDown, onMoveUp, onEdit, className, children, defaultActiveKey, mode = "multiple",...otherProps } = props;
26
+ const field = (0, __formily_react.useField)();
27
+ const schema = (0, __formily_react.useFieldSchema)();
28
+ const formCollapse = (0, react.useMemo)(() => {
29
+ return require_create_panel_state_manager.createPanelStateManager(defaultActiveKey, mode === "accordion");
30
+ }, [defaultActiveKey, mode]);
31
+ const dataSource = Array.isArray(field.value) ? field.value : [];
32
+ const newItemIndex = react.default.useRef(null);
33
+ const handleAddNew = react.default.useCallback((index) => {
34
+ onAdd?.(index);
35
+ newItemIndex.current = index;
36
+ }, [onAdd]);
37
+ const isNewItem = react.default.useCallback((index) => {
38
+ const isNew = newItemIndex.current === index;
39
+ if (isNew) newItemIndex.current = null;
40
+ return isNew;
41
+ }, []);
42
+ const { ArrayItemsContainer, AddButton } = require_component_context.useArrayComponents();
43
+ const renderItems = () => {
44
+ return dataSource.map((_item, index) => {
45
+ const itemId = index;
46
+ const { itemKey, record } = require_get_array_item_info.getArrayItemInfo(field, index);
47
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_item.ArrayCollapseItem, {
48
+ record,
49
+ index,
50
+ itemId,
51
+ isOpen: formCollapse.activeKeys?.includes(itemId) ?? false,
52
+ formCollapse,
53
+ onAdd,
54
+ isNewItem
55
+ }, itemKey);
56
+ });
57
+ };
58
+ const handleMoveUp = react.default.useCallback((index) => {
59
+ formCollapse.swapActiveKeys(index, index - 1);
60
+ onMoveUp?.(index);
61
+ }, [formCollapse, onMoveUp]);
62
+ const handleMoveDown = react.default.useCallback((index) => {
63
+ formCollapse.swapActiveKeys(index, index + 1);
64
+ onMoveDown?.(index);
65
+ }, [formCollapse, onMoveDown]);
66
+ const fieldAddress = field.address.toString();
67
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_array_base.ArrayBase, {
68
+ onAdd: handleAddNew,
69
+ onRemove,
70
+ onMoveUp: handleMoveUp,
71
+ onMoveDown: handleMoveDown,
72
+ onEdit,
73
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(ArrayItemsContainer, {
74
+ ...otherProps,
75
+ basePath: fieldAddress,
76
+ schema,
77
+ hasItems: dataSource.length > 0,
78
+ children: [renderItems(), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AddButton, {
79
+ schema,
80
+ basePath: fieldAddress
81
+ })]
82
+ })
83
+ });
84
+ });
85
+ const ArrayItemsCollapseComponent = ({ operations = require_index$2.DEFAULT_OPERATIONS,...rest }) => {
86
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_component_context.ArrayComponentProvider, {
87
+ allowedOperationsComponentNames: operations,
88
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ArrayItemsCollapseBase, { ...rest })
89
+ });
90
+ };
91
+ const ArrayCollapse = ArrayItemsCollapseComponent;
92
+ ArrayCollapse.displayName = "ArrayCollapse";
93
+ require_array_base.ArrayBase.mixin(ArrayCollapse);
94
+
95
+ //#endregion
96
+ exports.ArrayCollapse = ArrayCollapse;
@@ -1 +1,92 @@
1
- import{createPanelStateManager as e}from"../../utils/create-panel-state-manager.js";import{getArrayItemInfo as t}from"../../utils/get-array-item-info.js";import"../../utils/index.js";import{ArrayBase as n}from"../array-base/array-base.js";import{ArrayComponentProvider as r,useArrayComponents as i}from"../array-base/component-context.js";import"../array-base/index.js";import{DEFAULT_OPERATIONS as a}from"../array-base/constants/index.js";import{ArrayCollapseItem as o}from"./item.js";import{observer as s,useField as c,useFieldSchema as l}from"@formily/react";import u,{useMemo as d}from"react";import{jsx as f,jsxs as p}from"react/jsx-runtime";const m=s(r=>{let{onAdd:a,onRemove:s,onMoveDown:m,onMoveUp:h,onEdit:g,className:_,children:v,defaultActiveKey:y,mode:b=`multiple`,...x}=r,S=c(),C=l(),w=d(()=>e(y,b===`accordion`),[y,b]),T=Array.isArray(S.value)?S.value:[],E=u.useRef(null),D=u.useCallback(e=>{a?.(e),E.current=e},[a]),O=u.useCallback(e=>{let t=E.current===e;return t&&(E.current=null),t},[]),{ArrayItemsContainer:k,AddButton:A}=i(),j=()=>T.map((e,n)=>{let r=n,{itemKey:i,record:s}=t(S,n);return f(o,{record:s,index:n,itemId:r,isOpen:w.activeKeys?.includes(r)??!1,formCollapse:w,onAdd:a,isNewItem:O},i)}),M=u.useCallback(e=>{w.swapActiveKeys(e,e-1),h?.(e)},[w,h]),N=u.useCallback(e=>{w.swapActiveKeys(e,e+1),m?.(e)},[w,m]),P=S.address.toString();return f(n,{onAdd:D,onRemove:s,onMoveUp:M,onMoveDown:N,onEdit:g,children:p(k,{...x,basePath:P,schema:C,hasItems:T.length>0,children:[j(),f(A,{schema:C,basePath:P})]})})}),h=({operations:e=a,...t})=>f(r,{allowedOperationsComponentNames:e,children:f(m,{...t})});h.displayName=`ArrayCollapse`,n.mixin(h);export{h as ArrayCollapse};
1
+ import { createPanelStateManager } from "../../utils/create-panel-state-manager.js";
2
+ import { getArrayItemInfo } from "../../utils/get-array-item-info.js";
3
+ import "../../utils/index.js";
4
+ import { ArrayBase } from "../array-base/array-base.js";
5
+ import { ArrayComponentProvider, useArrayComponents } from "../array-base/component-context.js";
6
+ import "../array-base/index.js";
7
+ import { DEFAULT_OPERATIONS } from "../array-base/constants/index.js";
8
+ import { ArrayCollapseItem } from "./item.js";
9
+ import { observer, useField, useFieldSchema } from "@formily/react";
10
+ import React, { useMemo } from "react";
11
+ import { jsx, jsxs } from "react/jsx-runtime";
12
+
13
+ //#region src/components/array-collapse/array-collapse.tsx
14
+ /**
15
+ * ArrayCollapse component - displays array items in an collapse with inline editing
16
+ * Each item shows:
17
+ * - Collapse header with item label and controls (move up/down, remove)
18
+ * - Collapse content with editable form fields
19
+ */
20
+ const ArrayItemsCollapseBase = observer((props) => {
21
+ const { onAdd, onRemove, onMoveDown, onMoveUp, onEdit, className, children, defaultActiveKey, mode = "multiple",...otherProps } = props;
22
+ const field = useField();
23
+ const schema = useFieldSchema();
24
+ const formCollapse = useMemo(() => {
25
+ return createPanelStateManager(defaultActiveKey, mode === "accordion");
26
+ }, [defaultActiveKey, mode]);
27
+ const dataSource = Array.isArray(field.value) ? field.value : [];
28
+ const newItemIndex = React.useRef(null);
29
+ const handleAddNew = React.useCallback((index) => {
30
+ onAdd?.(index);
31
+ newItemIndex.current = index;
32
+ }, [onAdd]);
33
+ const isNewItem = React.useCallback((index) => {
34
+ const isNew = newItemIndex.current === index;
35
+ if (isNew) newItemIndex.current = null;
36
+ return isNew;
37
+ }, []);
38
+ const { ArrayItemsContainer, AddButton } = useArrayComponents();
39
+ const renderItems = () => {
40
+ return dataSource.map((_item, index) => {
41
+ const itemId = index;
42
+ const { itemKey, record } = getArrayItemInfo(field, index);
43
+ return /* @__PURE__ */ jsx(ArrayCollapseItem, {
44
+ record,
45
+ index,
46
+ itemId,
47
+ isOpen: formCollapse.activeKeys?.includes(itemId) ?? false,
48
+ formCollapse,
49
+ onAdd,
50
+ isNewItem
51
+ }, itemKey);
52
+ });
53
+ };
54
+ const handleMoveUp = React.useCallback((index) => {
55
+ formCollapse.swapActiveKeys(index, index - 1);
56
+ onMoveUp?.(index);
57
+ }, [formCollapse, onMoveUp]);
58
+ const handleMoveDown = React.useCallback((index) => {
59
+ formCollapse.swapActiveKeys(index, index + 1);
60
+ onMoveDown?.(index);
61
+ }, [formCollapse, onMoveDown]);
62
+ const fieldAddress = field.address.toString();
63
+ return /* @__PURE__ */ jsx(ArrayBase, {
64
+ onAdd: handleAddNew,
65
+ onRemove,
66
+ onMoveUp: handleMoveUp,
67
+ onMoveDown: handleMoveDown,
68
+ onEdit,
69
+ children: /* @__PURE__ */ jsxs(ArrayItemsContainer, {
70
+ ...otherProps,
71
+ basePath: fieldAddress,
72
+ schema,
73
+ hasItems: dataSource.length > 0,
74
+ children: [renderItems(), /* @__PURE__ */ jsx(AddButton, {
75
+ schema,
76
+ basePath: fieldAddress
77
+ })]
78
+ })
79
+ });
80
+ });
81
+ const ArrayItemsCollapseComponent = ({ operations = DEFAULT_OPERATIONS,...rest }) => {
82
+ return /* @__PURE__ */ jsx(ArrayComponentProvider, {
83
+ allowedOperationsComponentNames: operations,
84
+ children: /* @__PURE__ */ jsx(ArrayItemsCollapseBase, { ...rest })
85
+ });
86
+ };
87
+ const ArrayCollapse = ArrayItemsCollapseComponent;
88
+ ArrayCollapse.displayName = "ArrayCollapse";
89
+ ArrayBase.mixin(ArrayCollapse);
90
+
91
+ //#endregion
92
+ export { ArrayCollapse };
@@ -1 +1 @@
1
- const e=require(`./array-collapse.cjs`);
1
+ const require_array_collapse = require('./array-collapse.cjs');
@@ -1 +1 @@
1
- import{ArrayCollapse as e}from"./array-collapse.js";
1
+ import { ArrayCollapse } from "./array-collapse.js";
@@ -1 +1,84 @@
1
- const e=require(`../../_virtual/rolldown_runtime.cjs`),t=require(`../../utils/validate-array-item-fields.cjs`),n=require(`../array-base/array-base.cjs`),r=require(`../array-base/component-context.cjs`);require(`../array-base/index.cjs`);const i=require(`../array-common/item-wrapper.cjs`);require(`../array-common/index.cjs`);let a=require(`@formily/react`);a=e.__toESM(a);let o=require(`react`);o=e.__toESM(o);let s=require(`lucide-react`);s=e.__toESM(s);let c=require(`react/jsx-runtime`);c=e.__toESM(c);let l=require(`@pixpilot/shadcn`);l=e.__toESM(l);const u=o.default.memo(e=>{let{index:u,itemId:d,formCollapse:f,isOpen:p,isNewItem:m,onClick:h}=e,g=(0,a.useField)(),_=(0,a.useFieldSchema)(),{ItemLabel:v,OperationComponents:y}=r.useArrayComponents(),b=Array.isArray(_.items)?_.items[0]??_.items:_.items;o.default.useEffect(()=>{m(u)&&f.addActiveKey(d)},[u,m,d,f]);let x=g.address.concat(u).toString();return(0,c.jsx)(n.ArrayBase.Item,{index:u,record:()=>g.value?.[u],children:(0,c.jsxs)(i.ItemWrapper,{index:u,children:[(0,c.jsxs)(`div`,{className:`flex items-center gap-2 px-3`,children:[(0,c.jsx)(`button`,{type:`button`,onClick:()=>{h?.(),f.hasActiveKey(d)?t.validateArrayItemFields(g,u).then(()=>{f.removeActiveKey(d)}).catch(()=>{}):f.addActiveKey(d)},className:`hover:no-underline flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all`,children:(0,c.jsxs)(`div`,{className:`text-foreground flex items-center gap-2 font-medium`,children:[(0,c.jsx)(s.ChevronDownIcon,{className:(0,l.cn)(`size-4 shrink-0 transition-transform duration-200`,p&&`rotate-180`)}),(0,c.jsx)(v,{schema:_,index:u,basePath:x})]})}),(0,c.jsx)(`div`,{className:`flex items-center gap-1`,children:(0,c.jsx)(y,{schema:_,basePath:x,index:u})})]}),p&&b&&(0,c.jsx)(`div`,{className:`border-t px-3 pb-4`,children:(0,c.jsx)(`div`,{className:`space-y-4 pt-4`,children:(0,c.jsx)(a.RecursionField,{basePath:g.address.concat(u),schema:b,onlyRenderProperties:!0})})})]})},u)});exports.ArrayCollapseItem=u;
1
+ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
+ const require_validate_array_item_fields = require('../../utils/validate-array-item-fields.cjs');
3
+ const require_array_base = require('../array-base/array-base.cjs');
4
+ const require_component_context = require('../array-base/component-context.cjs');
5
+ require('../array-base/index.cjs');
6
+ const require_item_wrapper = require('../array-common/item-wrapper.cjs');
7
+ require('../array-common/index.cjs');
8
+ let __formily_react = require("@formily/react");
9
+ __formily_react = require_rolldown_runtime.__toESM(__formily_react);
10
+ let react = require("react");
11
+ react = require_rolldown_runtime.__toESM(react);
12
+ let lucide_react = require("lucide-react");
13
+ lucide_react = require_rolldown_runtime.__toESM(lucide_react);
14
+ let react_jsx_runtime = require("react/jsx-runtime");
15
+ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
16
+ let __pixpilot_shadcn = require("@pixpilot/shadcn");
17
+ __pixpilot_shadcn = require_rolldown_runtime.__toESM(__pixpilot_shadcn);
18
+
19
+ //#region src/components/array-collapse/item.tsx
20
+ const ArrayCollapseItem = react.default.memo((props) => {
21
+ const { index, itemId, formCollapse, isOpen, isNewItem, onClick } = props;
22
+ const field = (0, __formily_react.useField)();
23
+ const schema = (0, __formily_react.useFieldSchema)();
24
+ const { ItemLabel, OperationComponents } = require_component_context.useArrayComponents();
25
+ const items = Array.isArray(schema.items) ? schema.items[0] ?? schema.items : schema.items;
26
+ react.default.useEffect(() => {
27
+ if (isNewItem(index)) formCollapse.addActiveKey(itemId);
28
+ }, [
29
+ index,
30
+ isNewItem,
31
+ itemId,
32
+ formCollapse
33
+ ]);
34
+ const fieldAddress = field.address.concat(index).toString();
35
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_array_base.ArrayBase.Item, {
36
+ index,
37
+ record: () => field.value?.[index],
38
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_item_wrapper.ItemWrapper, {
39
+ index,
40
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
41
+ className: "flex items-center gap-2 px-3",
42
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
43
+ type: "button",
44
+ onClick: () => {
45
+ onClick?.();
46
+ if (formCollapse.hasActiveKey(itemId)) require_validate_array_item_fields.validateArrayItemFields(field, index).then(() => {
47
+ formCollapse.removeActiveKey(itemId);
48
+ }).catch(() => {});
49
+ else formCollapse.addActiveKey(itemId);
50
+ },
51
+ className: "hover:no-underline flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all",
52
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
53
+ className: "text-foreground flex items-center gap-2 font-medium",
54
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronDownIcon, { className: (0, __pixpilot_shadcn.cn)("size-4 shrink-0 transition-transform duration-200", isOpen && "rotate-180") }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ItemLabel, {
55
+ schema,
56
+ index,
57
+ basePath: fieldAddress
58
+ })]
59
+ })
60
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
61
+ className: "flex items-center gap-1",
62
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(OperationComponents, {
63
+ schema,
64
+ basePath: fieldAddress,
65
+ index
66
+ })
67
+ })]
68
+ }), isOpen && items && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
69
+ className: "border-t px-3 pb-4",
70
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
71
+ className: "space-y-4 pt-4",
72
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__formily_react.RecursionField, {
73
+ basePath: field.address.concat(index),
74
+ schema: items,
75
+ onlyRenderProperties: true
76
+ })
77
+ })
78
+ })]
79
+ })
80
+ }, index);
81
+ });
82
+
83
+ //#endregion
84
+ exports.ArrayCollapseItem = ArrayCollapseItem;
@@ -1 +1,78 @@
1
- import{validateArrayItemFields as e}from"../../utils/validate-array-item-fields.js";import{ArrayBase as t}from"../array-base/array-base.js";import{useArrayComponents as n}from"../array-base/component-context.js";import"../array-base/index.js";import{ItemWrapper as r}from"../array-common/item-wrapper.js";import"../array-common/index.js";import{RecursionField as i,useField as a,useFieldSchema as o}from"@formily/react";import s from"react";import{ChevronDownIcon as c}from"lucide-react";import{jsx as l,jsxs as u}from"react/jsx-runtime";import{cn as d}from"@pixpilot/shadcn";const f=s.memo(f=>{let{index:p,itemId:m,formCollapse:h,isOpen:g,isNewItem:_,onClick:v}=f,y=a(),b=o(),{ItemLabel:x,OperationComponents:S}=n(),C=Array.isArray(b.items)?b.items[0]??b.items:b.items;s.useEffect(()=>{_(p)&&h.addActiveKey(m)},[p,_,m,h]);let w=y.address.concat(p).toString();return l(t.Item,{index:p,record:()=>y.value?.[p],children:u(r,{index:p,children:[u(`div`,{className:`flex items-center gap-2 px-3`,children:[l(`button`,{type:`button`,onClick:()=>{v?.(),h.hasActiveKey(m)?e(y,p).then(()=>{h.removeActiveKey(m)}).catch(()=>{}):h.addActiveKey(m)},className:`hover:no-underline flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all`,children:u(`div`,{className:`text-foreground flex items-center gap-2 font-medium`,children:[l(c,{className:d(`size-4 shrink-0 transition-transform duration-200`,g&&`rotate-180`)}),l(x,{schema:b,index:p,basePath:w})]})}),l(`div`,{className:`flex items-center gap-1`,children:l(S,{schema:b,basePath:w,index:p})})]}),g&&C&&l(`div`,{className:`border-t px-3 pb-4`,children:l(`div`,{className:`space-y-4 pt-4`,children:l(i,{basePath:y.address.concat(p),schema:C,onlyRenderProperties:!0})})})]})},p)});export{f as ArrayCollapseItem};
1
+ import { validateArrayItemFields } from "../../utils/validate-array-item-fields.js";
2
+ import { ArrayBase } from "../array-base/array-base.js";
3
+ import { useArrayComponents } from "../array-base/component-context.js";
4
+ import "../array-base/index.js";
5
+ import { ItemWrapper } from "../array-common/item-wrapper.js";
6
+ import "../array-common/index.js";
7
+ import { RecursionField, useField, useFieldSchema } from "@formily/react";
8
+ import React from "react";
9
+ import { ChevronDownIcon } from "lucide-react";
10
+ import { jsx, jsxs } from "react/jsx-runtime";
11
+ import { cn } from "@pixpilot/shadcn";
12
+
13
+ //#region src/components/array-collapse/item.tsx
14
+ const ArrayCollapseItem = React.memo((props) => {
15
+ const { index, itemId, formCollapse, isOpen, isNewItem, onClick } = props;
16
+ const field = useField();
17
+ const schema = useFieldSchema();
18
+ const { ItemLabel, OperationComponents } = useArrayComponents();
19
+ const items = Array.isArray(schema.items) ? schema.items[0] ?? schema.items : schema.items;
20
+ React.useEffect(() => {
21
+ if (isNewItem(index)) formCollapse.addActiveKey(itemId);
22
+ }, [
23
+ index,
24
+ isNewItem,
25
+ itemId,
26
+ formCollapse
27
+ ]);
28
+ const fieldAddress = field.address.concat(index).toString();
29
+ return /* @__PURE__ */ jsx(ArrayBase.Item, {
30
+ index,
31
+ record: () => field.value?.[index],
32
+ children: /* @__PURE__ */ jsxs(ItemWrapper, {
33
+ index,
34
+ children: [/* @__PURE__ */ jsxs("div", {
35
+ className: "flex items-center gap-2 px-3",
36
+ children: [/* @__PURE__ */ jsx("button", {
37
+ type: "button",
38
+ onClick: () => {
39
+ onClick?.();
40
+ if (formCollapse.hasActiveKey(itemId)) validateArrayItemFields(field, index).then(() => {
41
+ formCollapse.removeActiveKey(itemId);
42
+ }).catch(() => {});
43
+ else formCollapse.addActiveKey(itemId);
44
+ },
45
+ className: "hover:no-underline flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all",
46
+ children: /* @__PURE__ */ jsxs("div", {
47
+ className: "text-foreground flex items-center gap-2 font-medium",
48
+ children: [/* @__PURE__ */ jsx(ChevronDownIcon, { className: cn("size-4 shrink-0 transition-transform duration-200", isOpen && "rotate-180") }), /* @__PURE__ */ jsx(ItemLabel, {
49
+ schema,
50
+ index,
51
+ basePath: fieldAddress
52
+ })]
53
+ })
54
+ }), /* @__PURE__ */ jsx("div", {
55
+ className: "flex items-center gap-1",
56
+ children: /* @__PURE__ */ jsx(OperationComponents, {
57
+ schema,
58
+ basePath: fieldAddress,
59
+ index
60
+ })
61
+ })]
62
+ }), isOpen && items && /* @__PURE__ */ jsx("div", {
63
+ className: "border-t px-3 pb-4",
64
+ children: /* @__PURE__ */ jsx("div", {
65
+ className: "space-y-4 pt-4",
66
+ children: /* @__PURE__ */ jsx(RecursionField, {
67
+ basePath: field.address.concat(index),
68
+ schema: items,
69
+ onlyRenderProperties: true
70
+ })
71
+ })
72
+ })]
73
+ })
74
+ }, index);
75
+ });
76
+
77
+ //#endregion
78
+ export { ArrayCollapseItem };
@@ -1 +1,43 @@
1
- const e=require(`../../_virtual/rolldown_runtime.cjs`),t=require(`../../utils/get-array-item-info.cjs`);require(`../../utils/index.cjs`);const n=require(`../array-base/component-context.cjs`);require(`../array-base/index.cjs`);const r=require(`./list-item.cjs`);let i=require(`@formily/react`);i=e.__toESM(i);let a=require(`react`);a=e.__toESM(a);let o=require(`react/jsx-runtime`);o=e.__toESM(o);const s=(0,i.observer)(({isNewItem:e,children:a})=>{let s=(0,i.useField)(),c=(0,i.useFieldSchema)(),l=Array.isArray(s.value)?s.value:[],{ArrayItemsContainer:u}=n.useArrayComponents();return(0,o.jsxs)(u,{schema:c,basePath:s.address.toString(),hasItems:l.length>0,children:[l.map((n,i)=>{let{itemKey:a,record:c}=t.getArrayItemInfo(s,i),l=e?.(i);return(0,o.jsx)(r.ListItem,{itemKey:a,index:i,record:c,isNew:l},a)}),a]})});s.displayName=`ArrayItemsList`,exports.ArrayItemsList=s;
1
+ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
+ const require_get_array_item_info = require('../../utils/get-array-item-info.cjs');
3
+ require('../../utils/index.cjs');
4
+ const require_component_context = require('../array-base/component-context.cjs');
5
+ require('../array-base/index.cjs');
6
+ const require_list_item = require('./list-item.cjs');
7
+ let __formily_react = require("@formily/react");
8
+ __formily_react = require_rolldown_runtime.__toESM(__formily_react);
9
+ let react = require("react");
10
+ react = require_rolldown_runtime.__toESM(react);
11
+ let react_jsx_runtime = require("react/jsx-runtime");
12
+ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
13
+
14
+ //#region src/components/array-common/array-items-list.tsx
15
+ /**
16
+ * Shared component for rendering array items list
17
+ * Displays items with move up/down, edit, and remove controls
18
+ */
19
+ const ArrayItemsList = (0, __formily_react.observer)(({ isNewItem, children }) => {
20
+ const field = (0, __formily_react.useField)();
21
+ const schema = (0, __formily_react.useFieldSchema)();
22
+ const dataSource = Array.isArray(field.value) ? field.value : [];
23
+ const { ArrayItemsContainer } = require_component_context.useArrayComponents();
24
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(ArrayItemsContainer, {
25
+ schema,
26
+ basePath: field.address.toString(),
27
+ hasItems: dataSource.length > 0,
28
+ children: [dataSource.map((_item, index) => {
29
+ const { itemKey, record } = require_get_array_item_info.getArrayItemInfo(field, index);
30
+ const isNew = isNewItem?.(index);
31
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_list_item.ListItem, {
32
+ itemKey,
33
+ index,
34
+ record,
35
+ isNew
36
+ }, itemKey);
37
+ }), children]
38
+ });
39
+ });
40
+ ArrayItemsList.displayName = "ArrayItemsList";
41
+
42
+ //#endregion
43
+ exports.ArrayItemsList = ArrayItemsList;
@@ -1 +1,39 @@
1
- import{getArrayItemInfo as e}from"../../utils/get-array-item-info.js";import"../../utils/index.js";import{useArrayComponents as t}from"../array-base/component-context.js";import"../array-base/index.js";import{ListItem as n}from"./list-item.js";import{observer as r,useField as i,useFieldSchema as a}from"@formily/react";import o from"react";import{jsx as s,jsxs as c}from"react/jsx-runtime";const l=r(({isNewItem:r,children:o})=>{let l=i(),u=a(),d=Array.isArray(l.value)?l.value:[],{ArrayItemsContainer:f}=t();return c(f,{schema:u,basePath:l.address.toString(),hasItems:d.length>0,children:[d.map((t,i)=>{let{itemKey:a,record:o}=e(l,i),c=r?.(i);return s(n,{itemKey:a,index:i,record:o,isNew:c},a)}),o]})});l.displayName=`ArrayItemsList`;export{l as ArrayItemsList};
1
+ import { getArrayItemInfo } from "../../utils/get-array-item-info.js";
2
+ import "../../utils/index.js";
3
+ import { useArrayComponents } from "../array-base/component-context.js";
4
+ import "../array-base/index.js";
5
+ import { ListItem } from "./list-item.js";
6
+ import { observer, useField, useFieldSchema } from "@formily/react";
7
+ import React from "react";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+
10
+ //#region src/components/array-common/array-items-list.tsx
11
+ /**
12
+ * Shared component for rendering array items list
13
+ * Displays items with move up/down, edit, and remove controls
14
+ */
15
+ const ArrayItemsList = observer(({ isNewItem, children }) => {
16
+ const field = useField();
17
+ const schema = useFieldSchema();
18
+ const dataSource = Array.isArray(field.value) ? field.value : [];
19
+ const { ArrayItemsContainer } = useArrayComponents();
20
+ return /* @__PURE__ */ jsxs(ArrayItemsContainer, {
21
+ schema,
22
+ basePath: field.address.toString(),
23
+ hasItems: dataSource.length > 0,
24
+ children: [dataSource.map((_item, index) => {
25
+ const { itemKey, record } = getArrayItemInfo(field, index);
26
+ const isNew = isNewItem?.(index);
27
+ return /* @__PURE__ */ jsx(ListItem, {
28
+ itemKey,
29
+ index,
30
+ record,
31
+ isNew
32
+ }, itemKey);
33
+ }), children]
34
+ });
35
+ });
36
+ ArrayItemsList.displayName = "ArrayItemsList";
37
+
38
+ //#endregion
39
+ export { ArrayItemsList };
@@ -1 +1,29 @@
1
- const e=require(`../../_virtual/rolldown_runtime.cjs`);let t=require(`@formily/reactive`);t=e.__toESM(t);function n(){let e=(0,t.model)({activeItem:void 0,isNew:!1,setActiveItem(t,n){e.activeItem=t,e.isNew=n},hasActiveItem(t){return e.activeItem===t},removeActiveItem(t){e.activeItem===t&&(e.activeItem=void 0),e.isNew=!1},isNewItem(t){return e.isNew&&e.activeItem===t}});return(0,t.markRaw)(e)}exports.createActiveItemManager=n;
1
+ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
+ let __formily_reactive = require("@formily/reactive");
3
+ __formily_reactive = require_rolldown_runtime.__toESM(__formily_reactive);
4
+
5
+ //#region src/components/array-common/create-active-item-manager.ts
6
+ function createActiveItemManager() {
7
+ const panelState = (0, __formily_reactive.model)({
8
+ activeItem: void 0,
9
+ isNew: false,
10
+ setActiveItem(key, isNew) {
11
+ panelState.activeItem = key;
12
+ panelState.isNew = isNew;
13
+ },
14
+ hasActiveItem(key) {
15
+ return panelState.activeItem === key;
16
+ },
17
+ removeActiveItem(key) {
18
+ if (panelState.activeItem === key) panelState.activeItem = void 0;
19
+ panelState.isNew = false;
20
+ },
21
+ isNewItem(index) {
22
+ return panelState.isNew && panelState.activeItem === index;
23
+ }
24
+ });
25
+ return (0, __formily_reactive.markRaw)(panelState);
26
+ }
27
+
28
+ //#endregion
29
+ exports.createActiveItemManager = createActiveItemManager;
@@ -1 +1,27 @@
1
- import{markRaw as e,model as t}from"@formily/reactive";function n(){let n=t({activeItem:void 0,isNew:!1,setActiveItem(e,t){n.activeItem=e,n.isNew=t},hasActiveItem(e){return n.activeItem===e},removeActiveItem(e){n.activeItem===e&&(n.activeItem=void 0),n.isNew=!1},isNewItem(e){return n.isNew&&n.activeItem===e}});return e(n)}export{n as createActiveItemManager};
1
+ import { markRaw, model } from "@formily/reactive";
2
+
3
+ //#region src/components/array-common/create-active-item-manager.ts
4
+ function createActiveItemManager() {
5
+ const panelState = model({
6
+ activeItem: void 0,
7
+ isNew: false,
8
+ setActiveItem(key, isNew) {
9
+ panelState.activeItem = key;
10
+ panelState.isNew = isNew;
11
+ },
12
+ hasActiveItem(key) {
13
+ return panelState.activeItem === key;
14
+ },
15
+ removeActiveItem(key) {
16
+ if (panelState.activeItem === key) panelState.activeItem = void 0;
17
+ panelState.isNew = false;
18
+ },
19
+ isNewItem(index) {
20
+ return panelState.isNew && panelState.activeItem === index;
21
+ }
22
+ });
23
+ return markRaw(panelState);
24
+ }
25
+
26
+ //#endregion
27
+ export { createActiveItemManager };
@@ -1 +1,5 @@
1
- const e=require(`./item-wrapper.cjs`),t=require(`./list-item.cjs`),n=require(`./array-items-list.cjs`),r=require(`./create-active-item-manager.cjs`),i=require(`./use-array-editor.cjs`);
1
+ const require_item_wrapper = require('./item-wrapper.cjs');
2
+ const require_list_item = require('./list-item.cjs');
3
+ const require_array_items_list = require('./array-items-list.cjs');
4
+ const require_create_active_item_manager = require('./create-active-item-manager.cjs');
5
+ const require_use_array_editor = require('./use-array-editor.cjs');
@@ -1 +1,5 @@
1
- import{ItemWrapper as e}from"./item-wrapper.js";import{ListItem as t}from"./list-item.js";import{ArrayItemsList as n}from"./array-items-list.js";import{createActiveItemManager as r}from"./create-active-item-manager.js";import{useArrayEditor as i}from"./use-array-editor.js";
1
+ import { ItemWrapper } from "./item-wrapper.js";
2
+ import { ListItem } from "./list-item.js";
3
+ import { ArrayItemsList } from "./array-items-list.js";
4
+ import { createActiveItemManager } from "./create-active-item-manager.js";
5
+ import { useArrayEditor } from "./use-array-editor.js";
@@ -1 +1,26 @@
1
- const e=require(`../../_virtual/rolldown_runtime.cjs`),t=require(`../../utils/has-array-item-errors.cjs`);require(`../../utils/index.cjs`);let n=require(`@formily/react`);n=e.__toESM(n);let r=require(`react`);r=e.__toESM(r);let i=require(`@pixpilot/shadcn-ui`);i=e.__toESM(i);let a=require(`react/jsx-runtime`);a=e.__toESM(a);const o=e=>{let{index:r,children:o,...s}=e,c=t.hasArrayItemErrors((0,n.useField)(),r);return(0,a.jsx)(`div`,{...s,className:(0,i.cn)(`border-input bg-card rounded-md border transition-colors items-center`,c&&`border-destructive border-2`,e.className),children:o})};o.displayName=`ItemWrapper`,exports.ItemWrapper=o;
1
+ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
+ const require_has_array_item_errors = require('../../utils/has-array-item-errors.cjs');
3
+ require('../../utils/index.cjs');
4
+ let __formily_react = require("@formily/react");
5
+ __formily_react = require_rolldown_runtime.__toESM(__formily_react);
6
+ let react = require("react");
7
+ react = require_rolldown_runtime.__toESM(react);
8
+ let __pixpilot_shadcn_ui = require("@pixpilot/shadcn-ui");
9
+ __pixpilot_shadcn_ui = require_rolldown_runtime.__toESM(__pixpilot_shadcn_ui);
10
+ let react_jsx_runtime = require("react/jsx-runtime");
11
+ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
12
+
13
+ //#region src/components/array-common/item-wrapper.tsx
14
+ const ItemWrapper = (props) => {
15
+ const { index, children,...rest } = props;
16
+ const hasErrors = require_has_array_item_errors.hasArrayItemErrors((0, __formily_react.useField)(), index);
17
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
18
+ ...rest,
19
+ className: (0, __pixpilot_shadcn_ui.cn)("border-input bg-card rounded-md border transition-colors items-center", hasErrors && "border-destructive border-2", props.className),
20
+ children
21
+ });
22
+ };
23
+ ItemWrapper.displayName = "ItemWrapper";
24
+
25
+ //#endregion
26
+ exports.ItemWrapper = ItemWrapper;
@@ -1 +1,21 @@
1
- import{hasArrayItemErrors as e}from"../../utils/has-array-item-errors.js";import"../../utils/index.js";import{useField as t}from"@formily/react";import n from"react";import{cn as r}from"@pixpilot/shadcn-ui";import{jsx as i}from"react/jsx-runtime";const a=n=>{let{index:a,children:o,...s}=n,c=e(t(),a);return i(`div`,{...s,className:r(`border-input bg-card rounded-md border transition-colors items-center`,c&&`border-destructive border-2`,n.className),children:o})};a.displayName=`ItemWrapper`;export{a as ItemWrapper};
1
+ import { hasArrayItemErrors } from "../../utils/has-array-item-errors.js";
2
+ import "../../utils/index.js";
3
+ import { useField } from "@formily/react";
4
+ import React from "react";
5
+ import { cn } from "@pixpilot/shadcn-ui";
6
+ import { jsx } from "react/jsx-runtime";
7
+
8
+ //#region src/components/array-common/item-wrapper.tsx
9
+ const ItemWrapper = (props) => {
10
+ const { index, children,...rest } = props;
11
+ const hasErrors = hasArrayItemErrors(useField(), index);
12
+ return /* @__PURE__ */ jsx("div", {
13
+ ...rest,
14
+ className: cn("border-input bg-card rounded-md border transition-colors items-center", hasErrors && "border-destructive border-2", props.className),
15
+ children
16
+ });
17
+ };
18
+ ItemWrapper.displayName = "ItemWrapper";
19
+
20
+ //#endregion
21
+ export { ItemWrapper };
@@ -1 +1,53 @@
1
- const e=require(`../../_virtual/rolldown_runtime.cjs`),t=require(`../array-base/array-base.cjs`),n=require(`../array-base/component-context.cjs`);require(`../array-base/index.cjs`);const r=require(`./item-wrapper.cjs`);let i=require(`@formily/react`);i=e.__toESM(i);let a=require(`react`);a=e.__toESM(a);let o=require(`react/jsx-runtime`);o=e.__toESM(o);let s=require(`@pixpilot/shadcn`);s=e.__toESM(s);const c=a.default.memo(({itemKey:e,index:a,record:c,isNew:l})=>{let u=(0,i.useFieldSchema)(),d=(0,i.useField)(),{OperationComponents:f,ItemLabel:p}=n.useArrayComponents(),m=d.address.toString(),h=l;return(0,o.jsx)(t.ArrayBase.Item,{index:a,record:c,children:(0,o.jsxs)(r.ItemWrapper,{className:(0,s.cn)(`flex px-3 pl-4 py-2`,h&&`hidden`),index:a,children:[(0,o.jsx)(`div`,{className:`text-foreground flex-1 font-medium`,children:(0,o.jsx)(p,{schema:u,basePath:m,index:a})}),(0,o.jsx)(`div`,{className:`flex items-center gap-1`,children:(0,o.jsx)(f,{schema:u,basePath:m,index:a})})]})},e)});c.displayName=`ListItem`,exports.ListItem=c;
1
+ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
+ const require_array_base = require('../array-base/array-base.cjs');
3
+ const require_component_context = require('../array-base/component-context.cjs');
4
+ require('../array-base/index.cjs');
5
+ const require_item_wrapper = require('./item-wrapper.cjs');
6
+ let __formily_react = require("@formily/react");
7
+ __formily_react = require_rolldown_runtime.__toESM(__formily_react);
8
+ let react = require("react");
9
+ react = require_rolldown_runtime.__toESM(react);
10
+ let react_jsx_runtime = require("react/jsx-runtime");
11
+ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
12
+ let __pixpilot_shadcn = require("@pixpilot/shadcn");
13
+ __pixpilot_shadcn = require_rolldown_runtime.__toESM(__pixpilot_shadcn);
14
+
15
+ //#region src/components/array-common/list-item.tsx
16
+ /**
17
+ * Individual list item component for array items
18
+ * Displays an item with label and operation controls
19
+ */
20
+ const ListItem = react.default.memo(({ itemKey, index, record, isNew }) => {
21
+ const schema = (0, __formily_react.useFieldSchema)();
22
+ const field = (0, __formily_react.useField)();
23
+ const { OperationComponents, ItemLabel } = require_component_context.useArrayComponents();
24
+ const fieldAddress = field.address.toString();
25
+ const isNewItem = isNew;
26
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_array_base.ArrayBase.Item, {
27
+ index,
28
+ record,
29
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_item_wrapper.ItemWrapper, {
30
+ className: (0, __pixpilot_shadcn.cn)("flex px-3 pl-4 py-2", isNewItem && "hidden"),
31
+ index,
32
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
33
+ className: "text-foreground flex-1 font-medium",
34
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ItemLabel, {
35
+ schema,
36
+ basePath: fieldAddress,
37
+ index
38
+ })
39
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
40
+ className: "flex items-center gap-1",
41
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(OperationComponents, {
42
+ schema,
43
+ basePath: fieldAddress,
44
+ index
45
+ })
46
+ })]
47
+ })
48
+ }, itemKey);
49
+ });
50
+ ListItem.displayName = "ListItem";
51
+
52
+ //#endregion
53
+ exports.ListItem = ListItem;