@pixpilot/formily-shadcn 0.8.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) 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.js +30 -1
  95. package/dist/components/file-upload/file-upload.cjs +35 -1
  96. package/dist/components/file-upload/file-upload.js +30 -1
  97. package/dist/components/file-upload/index.cjs +2 -1
  98. package/dist/components/file-upload/index.js +2 -1
  99. package/dist/components/file-upload/use-file-upload-feedback.cjs +59 -3
  100. package/dist/components/file-upload/use-file-upload-feedback.js +53 -3
  101. package/dist/components/form-grid.cjs +19 -1
  102. package/dist/components/form-grid.js +15 -1
  103. package/dist/components/form-item.cjs +118 -3
  104. package/dist/components/form-item.js +112 -3
  105. package/dist/components/form-items-container.cjs +28 -1
  106. package/dist/components/form-items-container.js +24 -1
  107. package/dist/components/form.cjs +56 -1
  108. package/dist/components/form.js +51 -1
  109. package/dist/components/hidden.cjs +26 -1
  110. package/dist/components/hidden.js +23 -1
  111. package/dist/components/icon-picker.cjs +37 -1
  112. package/dist/components/icon-picker.js +33 -1
  113. package/dist/components/input.cjs +20 -1
  114. package/dist/components/input.js +17 -1
  115. package/dist/components/json-schema-form-renderer.cjs +30 -1
  116. package/dist/components/json-schema-form-renderer.js +26 -1
  117. package/dist/components/number-input.cjs +19 -1
  118. package/dist/components/number-input.d.ts +2 -2
  119. package/dist/components/number-input.js +16 -1
  120. package/dist/components/object-container.cjs +35 -1
  121. package/dist/components/object-container.js +32 -1
  122. package/dist/components/radio.cjs +40 -1
  123. package/dist/components/radio.js +35 -1
  124. package/dist/components/rich-text-editor.cjs +27 -1
  125. package/dist/components/rich-text-editor.js +23 -1
  126. package/dist/components/row.cjs +39 -1
  127. package/dist/components/row.js +35 -1
  128. package/dist/components/schema-field-extended.cjs +25 -1
  129. package/dist/components/schema-field-extended.d.cts +9 -9
  130. package/dist/components/schema-field-extended.d.ts +262 -262
  131. package/dist/components/schema-field-extended.js +23 -1
  132. package/dist/components/schema-field.cjs +61 -1
  133. package/dist/components/schema-field.d.cts +9 -9
  134. package/dist/components/schema-field.d.ts +220 -220
  135. package/dist/components/schema-field.js +57 -1
  136. package/dist/components/select.cjs +11 -1
  137. package/dist/components/select.js +8 -1
  138. package/dist/components/separator.cjs +15 -1
  139. package/dist/components/separator.d.ts +2 -2
  140. package/dist/components/separator.js +12 -1
  141. package/dist/components/slider.cjs +33 -1
  142. package/dist/components/slider.d.ts +2 -2
  143. package/dist/components/slider.js +29 -1
  144. package/dist/components/switch.cjs +21 -1
  145. package/dist/components/switch.js +18 -1
  146. package/dist/components/tags-input-inline.cjs +26 -1
  147. package/dist/components/tags-input-inline.js +23 -1
  148. package/dist/components/textarea.cjs +19 -1
  149. package/dist/components/textarea.js +16 -1
  150. package/dist/hooks/index.cjs +3 -1
  151. package/dist/hooks/index.js +3 -1
  152. package/dist/hooks/use-description.cjs +14 -1
  153. package/dist/hooks/use-description.js +12 -1
  154. package/dist/hooks/use-form-context.cjs +13 -1
  155. package/dist/hooks/use-form-context.js +11 -1
  156. package/dist/hooks/use-label.cjs +19 -1
  157. package/dist/hooks/use-label.js +16 -1
  158. package/dist/index.cjs +102 -1
  159. package/dist/index.js +35 -1
  160. package/dist/utils/create-panel-state-manager.cjs +40 -1
  161. package/dist/utils/create-panel-state-manager.js +38 -1
  162. package/dist/utils/for-each-schema.cjs +27 -1
  163. package/dist/utils/for-each-schema.js +26 -1
  164. package/dist/utils/get-array-item-info.cjs +20 -1
  165. package/dist/utils/get-array-item-info.js +19 -1
  166. package/dist/utils/get-default-value.cjs +22 -1
  167. package/dist/utils/get-default-value.js +20 -1
  168. package/dist/utils/has-array-item-errors.cjs +15 -1
  169. package/dist/utils/has-array-item-errors.js +14 -1
  170. package/dist/utils/has-error.cjs +12 -1
  171. package/dist/utils/has-error.js +10 -1
  172. package/dist/utils/index.cjs +10 -1
  173. package/dist/utils/index.js +10 -1
  174. package/dist/utils/resolve-responsive-space.cjs +131 -1
  175. package/dist/utils/resolve-responsive-space.js +123 -1
  176. package/dist/utils/transform-schema.cjs +45 -1
  177. package/dist/utils/transform-schema.js +43 -1
  178. package/dist/utils/use-array-item-editor.cjs +3 -1
  179. package/dist/utils/use-array-item-editor.js +1 -1
  180. package/dist/utils/validate-array-item-fields.cjs +22 -1
  181. package/dist/utils/validate-array-item-fields.js +22 -1
  182. package/package.json +5 -5
@@ -1 +1,48 @@
1
- import{ArrayBase as e}from"../array-base/array-base.js";import{useArrayComponents as t}from"../array-base/component-context.js";import"../array-base/index.js";import{ItemWrapper as n}from"./item-wrapper.js";import{useField as r,useFieldSchema as i}from"@formily/react";import a from"react";import{jsx as o,jsxs as s}from"react/jsx-runtime";import{cn as c}from"@pixpilot/shadcn";const l=a.memo(({itemKey:a,index:l,record:u,isNew:d})=>{let f=i(),p=r(),{OperationComponents:m,ItemLabel:h}=t(),g=p.address.toString(),_=d;return o(e.Item,{index:l,record:u,children:s(n,{className:c(`flex px-3 pl-4 py-2`,_&&`hidden`),index:l,children:[o(`div`,{className:`text-foreground flex-1 font-medium`,children:o(h,{schema:f,basePath:g,index:l})}),o(`div`,{className:`flex items-center gap-1`,children:o(m,{schema:f,basePath:g,index:l})})]})},a)});l.displayName=`ListItem`;export{l as ListItem};
1
+ import { ArrayBase } from "../array-base/array-base.js";
2
+ import { useArrayComponents } from "../array-base/component-context.js";
3
+ import "../array-base/index.js";
4
+ import { ItemWrapper } from "./item-wrapper.js";
5
+ import { useField, useFieldSchema } from "@formily/react";
6
+ import React from "react";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ import { cn } from "@pixpilot/shadcn";
9
+
10
+ //#region src/components/array-common/list-item.tsx
11
+ /**
12
+ * Individual list item component for array items
13
+ * Displays an item with label and operation controls
14
+ */
15
+ const ListItem = React.memo(({ itemKey, index, record, isNew }) => {
16
+ const schema = useFieldSchema();
17
+ const field = useField();
18
+ const { OperationComponents, ItemLabel } = useArrayComponents();
19
+ const fieldAddress = field.address.toString();
20
+ const isNewItem = isNew;
21
+ return /* @__PURE__ */ jsx(ArrayBase.Item, {
22
+ index,
23
+ record,
24
+ children: /* @__PURE__ */ jsxs(ItemWrapper, {
25
+ className: cn("flex px-3 pl-4 py-2", isNewItem && "hidden"),
26
+ index,
27
+ children: [/* @__PURE__ */ jsx("div", {
28
+ className: "text-foreground flex-1 font-medium",
29
+ children: /* @__PURE__ */ jsx(ItemLabel, {
30
+ schema,
31
+ basePath: fieldAddress,
32
+ index
33
+ })
34
+ }), /* @__PURE__ */ jsx("div", {
35
+ className: "flex items-center gap-1",
36
+ children: /* @__PURE__ */ jsx(OperationComponents, {
37
+ schema,
38
+ basePath: fieldAddress,
39
+ index
40
+ })
41
+ })]
42
+ })
43
+ }, itemKey);
44
+ });
45
+ ListItem.displayName = "ListItem";
46
+
47
+ //#endregion
48
+ export { ListItem };
@@ -1 +1,47 @@
1
- const e=require(`../../_virtual/rolldown_runtime.cjs`),t=require(`../../utils/validate-array-item-fields.cjs`);require(`../../utils/index.cjs`);const n=require(`./create-active-item-manager.cjs`);let r=require(`@formily/react`);r=e.__toESM(r);let i=require(`react`);i=e.__toESM(i);function a(e){let{onAdd:a,onEdit:o}=e,s=(0,r.useField)(),c=(0,r.useFieldSchema)(),l=i.default.useMemo(()=>n.createActiveItemManager(),[]),u=e=>{l.setActiveItem(e,!1),o?.(e)},d=e=>{l.setActiveItem(e,!0),a?.(e)},f=e=>{t.validateArrayItemFields(s,e).then(()=>{l.removeActiveItem(e)}).catch(console.error)},p=e=>{l.isNewItem(e)&&s.remove?.(e).catch(console.error),l.removeActiveItem(e)},m=i.default.useCallback(e=>l.activeItem===e&&l.isNew,[l]);return{activeItemManager:l,handleEdit:u,handleAdd:d,handleSaveClick:f,handleCancelClick:p,field:s,items:Array.isArray(c.items)?c.items[0]??c.items:c.items,isNewItem:m}}exports.useArrayEditor=a;
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
+ require('../../utils/index.cjs');
4
+ const require_create_active_item_manager = require('./create-active-item-manager.cjs');
5
+ let __formily_react = require("@formily/react");
6
+ __formily_react = require_rolldown_runtime.__toESM(__formily_react);
7
+ let react = require("react");
8
+ react = require_rolldown_runtime.__toESM(react);
9
+
10
+ //#region src/components/array-common/use-array-editor.ts
11
+ function useArrayEditor(props) {
12
+ const { onAdd, onEdit } = props;
13
+ const field = (0, __formily_react.useField)();
14
+ const schema = (0, __formily_react.useFieldSchema)();
15
+ const activeItemManager = react.default.useMemo(() => require_create_active_item_manager.createActiveItemManager(), []);
16
+ const handleEdit = (index) => {
17
+ activeItemManager.setActiveItem(index, false);
18
+ onEdit?.(index);
19
+ };
20
+ const handleAdd = (index) => {
21
+ activeItemManager.setActiveItem(index, true);
22
+ onAdd?.(index);
23
+ };
24
+ const handleSaveClick = (itemIndex) => {
25
+ require_validate_array_item_fields.validateArrayItemFields(field, itemIndex).then(() => {
26
+ activeItemManager.removeActiveItem(itemIndex);
27
+ }).catch(console.error);
28
+ };
29
+ const handleCancelClick = (itemIndex) => {
30
+ if (activeItemManager.isNewItem(itemIndex)) field.remove?.(itemIndex).catch(console.error);
31
+ activeItemManager.removeActiveItem(itemIndex);
32
+ };
33
+ const isNewItem = react.default.useCallback((index) => activeItemManager.activeItem === index && activeItemManager.isNew, [activeItemManager]);
34
+ return {
35
+ activeItemManager,
36
+ handleEdit,
37
+ handleAdd,
38
+ handleSaveClick,
39
+ handleCancelClick,
40
+ field,
41
+ items: Array.isArray(schema.items) ? schema.items[0] ?? schema.items : schema.items,
42
+ isNewItem
43
+ };
44
+ }
45
+
46
+ //#endregion
47
+ exports.useArrayEditor = useArrayEditor;
@@ -1 +1,44 @@
1
- import{validateArrayItemFields as e}from"../../utils/validate-array-item-fields.js";import"../../utils/index.js";import{createActiveItemManager as t}from"./create-active-item-manager.js";import{useField as n,useFieldSchema as r}from"@formily/react";import i from"react";function a(a){let{onAdd:o,onEdit:s}=a,c=n(),l=r(),u=i.useMemo(()=>t(),[]),d=e=>{u.setActiveItem(e,!1),s?.(e)},f=e=>{u.setActiveItem(e,!0),o?.(e)},p=t=>{e(c,t).then(()=>{u.removeActiveItem(t)}).catch(console.error)},m=e=>{u.isNewItem(e)&&c.remove?.(e).catch(console.error),u.removeActiveItem(e)},h=i.useCallback(e=>u.activeItem===e&&u.isNew,[u]);return{activeItemManager:u,handleEdit:d,handleAdd:f,handleSaveClick:p,handleCancelClick:m,field:c,items:Array.isArray(l.items)?l.items[0]??l.items:l.items,isNewItem:h}}export{a as useArrayEditor};
1
+ import { validateArrayItemFields } from "../../utils/validate-array-item-fields.js";
2
+ import "../../utils/index.js";
3
+ import { createActiveItemManager } from "./create-active-item-manager.js";
4
+ import { useField, useFieldSchema } from "@formily/react";
5
+ import React from "react";
6
+
7
+ //#region src/components/array-common/use-array-editor.ts
8
+ function useArrayEditor(props) {
9
+ const { onAdd, onEdit } = props;
10
+ const field = useField();
11
+ const schema = useFieldSchema();
12
+ const activeItemManager = React.useMemo(() => createActiveItemManager(), []);
13
+ const handleEdit = (index) => {
14
+ activeItemManager.setActiveItem(index, false);
15
+ onEdit?.(index);
16
+ };
17
+ const handleAdd = (index) => {
18
+ activeItemManager.setActiveItem(index, true);
19
+ onAdd?.(index);
20
+ };
21
+ const handleSaveClick = (itemIndex) => {
22
+ validateArrayItemFields(field, itemIndex).then(() => {
23
+ activeItemManager.removeActiveItem(itemIndex);
24
+ }).catch(console.error);
25
+ };
26
+ const handleCancelClick = (itemIndex) => {
27
+ if (activeItemManager.isNewItem(itemIndex)) field.remove?.(itemIndex).catch(console.error);
28
+ activeItemManager.removeActiveItem(itemIndex);
29
+ };
30
+ const isNewItem = React.useCallback((index) => activeItemManager.activeItem === index && activeItemManager.isNew, [activeItemManager]);
31
+ return {
32
+ activeItemManager,
33
+ handleEdit,
34
+ handleAdd,
35
+ handleSaveClick,
36
+ handleCancelClick,
37
+ field,
38
+ items: Array.isArray(schema.items) ? schema.items[0] ?? schema.items : schema.items,
39
+ isNewItem
40
+ };
41
+ }
42
+
43
+ //#endregion
44
+ export { useArrayEditor };
@@ -1 +1,66 @@
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(`../array-base/constants/index.cjs`),i=require(`../array-common/array-items-list.cjs`),a=require(`../array-common/use-array-editor.cjs`);require(`../array-common/index.cjs`);const o=require(`./edit-dialog.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 r=(0,s.useFieldSchema)(),{onAdd:c,onRemove:u,onMoveDown:d,onMoveUp:f,onEdit:p,className:m}=e,{activeItemManager:h,handleAdd:g,handleEdit:_,isNewItem:v,handleSaveClick:y,handleCancelClick:b,field:x}=a.useArrayEditor({onAdd:c,onEdit:p}),{AddButton:S}=n.useArrayComponents(),C=Array.isArray(r.items)?r.items[0]??r.items:r.items;return(0,l.jsxs)(t.ArrayBase,{onAdd:g,onRemove:u,onMoveUp:f,onMoveDown:d,onEdit:_,children:[(0,l.jsx)(i.ArrayItemsList,{className:m,isNewItem:v,children:(0,l.jsx)(S,{schema:r,basePath:x.address.toString()})}),(0,l.jsx)(o.EditDialog,{onSave:y,onCancel:b,activeItemManager:h,schema:C})]})}),d=({operations:e=r.DEFAULT_EDITABLE_OPERATIONS,...t})=>(0,l.jsx)(n.ArrayComponentProvider,{allowedOperationsComponentNames:e,children:(0,l.jsx)(u,{...t})}),f=d;f.displayName=`ArrayDialog`,t.ArrayBase.mixin(f),exports.ArrayDialog=f;
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_index$1 = require('../array-base/constants/index.cjs');
6
+ const require_array_items_list = require('../array-common/array-items-list.cjs');
7
+ const require_use_array_editor = require('../array-common/use-array-editor.cjs');
8
+ require('../array-common/index.cjs');
9
+ const require_edit_dialog = require('./edit-dialog.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-dialog/array-dialog.tsx
18
+ /**
19
+ * ArrayItems component displays array items as a simple list with controls
20
+ * Each item shows:
21
+ * - Left: Move up/down buttons
22
+ * - Center: Item label (Item 1, Item 2, etc.)
23
+ * - Right: Edit and Remove buttons
24
+ */
25
+ const ArrayDialogBase = (0, __formily_react.observer)((props) => {
26
+ const schema = (0, __formily_react.useFieldSchema)();
27
+ const { onAdd, onRemove, onMoveDown, onMoveUp, onEdit, className } = props;
28
+ const { activeItemManager, handleAdd, handleEdit, isNewItem, handleSaveClick, handleCancelClick, field } = require_use_array_editor.useArrayEditor({
29
+ onAdd,
30
+ onEdit
31
+ });
32
+ const { AddButton } = require_component_context.useArrayComponents();
33
+ const items = Array.isArray(schema.items) ? schema.items[0] ?? schema.items : schema.items;
34
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_array_base.ArrayBase, {
35
+ onAdd: handleAdd,
36
+ onRemove,
37
+ onMoveUp,
38
+ onMoveDown,
39
+ onEdit: handleEdit,
40
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_array_items_list.ArrayItemsList, {
41
+ className,
42
+ isNewItem,
43
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AddButton, {
44
+ schema,
45
+ basePath: field.address.toString()
46
+ })
47
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_edit_dialog.EditDialog, {
48
+ onSave: handleSaveClick,
49
+ onCancel: handleCancelClick,
50
+ activeItemManager,
51
+ schema: items
52
+ })]
53
+ });
54
+ });
55
+ const ArrayItemsCollapseComponent = ({ operations = require_index$1.DEFAULT_EDITABLE_OPERATIONS,...rest }) => {
56
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_component_context.ArrayComponentProvider, {
57
+ allowedOperationsComponentNames: operations,
58
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ArrayDialogBase, { ...rest })
59
+ });
60
+ };
61
+ const ArrayDialog = ArrayItemsCollapseComponent;
62
+ ArrayDialog.displayName = "ArrayDialog";
63
+ require_array_base.ArrayBase.mixin(ArrayDialog);
64
+
65
+ //#endregion
66
+ exports.ArrayDialog = ArrayDialog;
@@ -1 +1,62 @@
1
- import{ArrayBase as e}from"../array-base/array-base.js";import{ArrayComponentProvider as t,useArrayComponents as n}from"../array-base/component-context.js";import"../array-base/index.js";import{DEFAULT_EDITABLE_OPERATIONS as r}from"../array-base/constants/index.js";import{ArrayItemsList as i}from"../array-common/array-items-list.js";import{useArrayEditor as a}from"../array-common/use-array-editor.js";import"../array-common/index.js";import{EditDialog as o}from"./edit-dialog.js";import{observer as s,useFieldSchema as c}from"@formily/react";import l from"react";import{jsx as u,jsxs as d}from"react/jsx-runtime";const f=s(t=>{let r=c(),{onAdd:s,onRemove:l,onMoveDown:f,onMoveUp:p,onEdit:m,className:h}=t,{activeItemManager:g,handleAdd:_,handleEdit:v,isNewItem:y,handleSaveClick:b,handleCancelClick:x,field:S}=a({onAdd:s,onEdit:m}),{AddButton:C}=n(),w=Array.isArray(r.items)?r.items[0]??r.items:r.items;return d(e,{onAdd:_,onRemove:l,onMoveUp:p,onMoveDown:f,onEdit:v,children:[u(i,{className:h,isNewItem:y,children:u(C,{schema:r,basePath:S.address.toString()})}),u(o,{onSave:b,onCancel:x,activeItemManager:g,schema:w})]})}),p=({operations:e=r,...n})=>u(t,{allowedOperationsComponentNames:e,children:u(f,{...n})});p.displayName=`ArrayDialog`,e.mixin(p);export{p as ArrayDialog};
1
+ import { ArrayBase } from "../array-base/array-base.js";
2
+ import { ArrayComponentProvider, useArrayComponents } from "../array-base/component-context.js";
3
+ import "../array-base/index.js";
4
+ import { DEFAULT_EDITABLE_OPERATIONS } from "../array-base/constants/index.js";
5
+ import { ArrayItemsList } from "../array-common/array-items-list.js";
6
+ import { useArrayEditor } from "../array-common/use-array-editor.js";
7
+ import "../array-common/index.js";
8
+ import { EditDialog } from "./edit-dialog.js";
9
+ import { observer, useFieldSchema } from "@formily/react";
10
+ import React from "react";
11
+ import { jsx, jsxs } from "react/jsx-runtime";
12
+
13
+ //#region src/components/array-dialog/array-dialog.tsx
14
+ /**
15
+ * ArrayItems component displays array items as a simple list with controls
16
+ * Each item shows:
17
+ * - Left: Move up/down buttons
18
+ * - Center: Item label (Item 1, Item 2, etc.)
19
+ * - Right: Edit and Remove buttons
20
+ */
21
+ const ArrayDialogBase = observer((props) => {
22
+ const schema = useFieldSchema();
23
+ const { onAdd, onRemove, onMoveDown, onMoveUp, onEdit, className } = props;
24
+ const { activeItemManager, handleAdd, handleEdit, isNewItem, handleSaveClick, handleCancelClick, field } = useArrayEditor({
25
+ onAdd,
26
+ onEdit
27
+ });
28
+ const { AddButton } = useArrayComponents();
29
+ const items = Array.isArray(schema.items) ? schema.items[0] ?? schema.items : schema.items;
30
+ return /* @__PURE__ */ jsxs(ArrayBase, {
31
+ onAdd: handleAdd,
32
+ onRemove,
33
+ onMoveUp,
34
+ onMoveDown,
35
+ onEdit: handleEdit,
36
+ children: [/* @__PURE__ */ jsx(ArrayItemsList, {
37
+ className,
38
+ isNewItem,
39
+ children: /* @__PURE__ */ jsx(AddButton, {
40
+ schema,
41
+ basePath: field.address.toString()
42
+ })
43
+ }), /* @__PURE__ */ jsx(EditDialog, {
44
+ onSave: handleSaveClick,
45
+ onCancel: handleCancelClick,
46
+ activeItemManager,
47
+ schema: items
48
+ })]
49
+ });
50
+ });
51
+ const ArrayItemsCollapseComponent = ({ operations = DEFAULT_EDITABLE_OPERATIONS,...rest }) => {
52
+ return /* @__PURE__ */ jsx(ArrayComponentProvider, {
53
+ allowedOperationsComponentNames: operations,
54
+ children: /* @__PURE__ */ jsx(ArrayDialogBase, { ...rest })
55
+ });
56
+ };
57
+ const ArrayDialog = ArrayItemsCollapseComponent;
58
+ ArrayDialog.displayName = "ArrayDialog";
59
+ ArrayBase.mixin(ArrayDialog);
60
+
61
+ //#endregion
62
+ export { ArrayDialog };
@@ -1 +1,61 @@
1
- const e=require(`../../_virtual/rolldown_runtime.cjs`);let t=require(`@formily/react`);t=e.__toESM(t);let n=require(`react/jsx-runtime`);n=e.__toESM(n);let r=require(`@pixpilot/shadcn`);r=e.__toESM(r);const i=(0,t.observer)(({schema:e,onSave:i,onCancel:a,activeItemManager:o})=>{let s=(0,t.useField)(),c=o.activeItem,{isNew:l}=o,u=c!==void 0,d=()=>{c!==void 0&&i(c)},f=()=>{c!==void 0&&a(c)};return(0,n.jsx)(r.Dialog,{open:u,onOpenChange:e=>{e||f()},children:(0,n.jsxs)(r.DialogContent,{className:`sm:max-w-[525px]`,children:[(0,n.jsxs)(r.DialogHeader,{children:[(0,n.jsx)(r.DialogTitle,{children:l?`Add New Item`:`Edit Item #${(c??0)+1}`}),(0,n.jsx)(r.DialogDescription,{children:l?`Fill in the details for the new item. Click save when you're done.`:`Make changes to the item. Click save when you're done.`})]}),(0,n.jsx)(`div`,{className:`grid gap-4 py-4`,children:c!=null&&(0,n.jsx)(t.RecursionField,{basePath:s.address.concat(c),schema:e,onlyRenderProperties:!0})}),(0,n.jsxs)(r.DialogFooter,{children:[(0,n.jsx)(r.Button,{type:`button`,variant:`outline`,onClick:f,children:`Cancel`}),(0,n.jsx)(r.Button,{type:`button`,onClick:d,children:`Save Changes`})]})]})})});exports.EditDialog=i;
1
+ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
+ let __formily_react = require("@formily/react");
3
+ __formily_react = require_rolldown_runtime.__toESM(__formily_react);
4
+ let react_jsx_runtime = require("react/jsx-runtime");
5
+ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
6
+ let __pixpilot_shadcn = require("@pixpilot/shadcn");
7
+ __pixpilot_shadcn = require_rolldown_runtime.__toESM(__pixpilot_shadcn);
8
+
9
+ //#region src/components/array-dialog/edit-dialog.tsx
10
+ /**
11
+ * Dialog for editing array items
12
+ * Renders form fields based on the array item schema
13
+ * RecursionField inherits component registry from parent SchemaField context (preserved through Radix Portal)
14
+ */
15
+ const EditDialog = (0, __formily_react.observer)(({ schema, onSave, onCancel, activeItemManager }) => {
16
+ const arrayField = (0, __formily_react.useField)();
17
+ const itemIndex = activeItemManager.activeItem;
18
+ const { isNew } = activeItemManager;
19
+ const open = itemIndex !== void 0;
20
+ const handleSaveClick = () => {
21
+ if (itemIndex === void 0) return;
22
+ onSave(itemIndex);
23
+ };
24
+ const handleCancelClick = () => {
25
+ if (itemIndex === void 0) return;
26
+ onCancel(itemIndex);
27
+ };
28
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.Dialog, {
29
+ open,
30
+ onOpenChange: (isOpen) => {
31
+ if (!isOpen) handleCancelClick();
32
+ },
33
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__pixpilot_shadcn.DialogContent, {
34
+ className: "sm:max-w-[525px]",
35
+ children: [
36
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__pixpilot_shadcn.DialogHeader, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.DialogTitle, { children: isNew ? "Add New Item" : `Edit Item #${(itemIndex ?? 0) + 1}` }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.DialogDescription, { children: isNew ? "Fill in the details for the new item. Click save when you're done." : "Make changes to the item. Click save when you're done." })] }),
37
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
38
+ className: "grid gap-4 py-4",
39
+ children: itemIndex != null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__formily_react.RecursionField, {
40
+ basePath: arrayField.address.concat(itemIndex),
41
+ schema,
42
+ onlyRenderProperties: true
43
+ })
44
+ }),
45
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__pixpilot_shadcn.DialogFooter, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.Button, {
46
+ type: "button",
47
+ variant: "outline",
48
+ onClick: handleCancelClick,
49
+ children: "Cancel"
50
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.Button, {
51
+ type: "button",
52
+ onClick: handleSaveClick,
53
+ children: "Save Changes"
54
+ })] })
55
+ ]
56
+ })
57
+ });
58
+ });
59
+
60
+ //#endregion
61
+ exports.EditDialog = EditDialog;
@@ -1 +1,57 @@
1
- import{RecursionField as e,observer as t,useField as n}from"@formily/react";import{jsx as r,jsxs as i}from"react/jsx-runtime";import{Button as a,Dialog as o,DialogContent as s,DialogDescription as c,DialogFooter as l,DialogHeader as u,DialogTitle as d}from"@pixpilot/shadcn";const f=t(({schema:t,onSave:f,onCancel:p,activeItemManager:m})=>{let h=n(),g=m.activeItem,{isNew:_}=m,v=g!==void 0,y=()=>{g!==void 0&&f(g)},b=()=>{g!==void 0&&p(g)};return r(o,{open:v,onOpenChange:e=>{e||b()},children:i(s,{className:`sm:max-w-[525px]`,children:[i(u,{children:[r(d,{children:_?`Add New Item`:`Edit Item #${(g??0)+1}`}),r(c,{children:_?`Fill in the details for the new item. Click save when you're done.`:`Make changes to the item. Click save when you're done.`})]}),r(`div`,{className:`grid gap-4 py-4`,children:g!=null&&r(e,{basePath:h.address.concat(g),schema:t,onlyRenderProperties:!0})}),i(l,{children:[r(a,{type:`button`,variant:`outline`,onClick:b,children:`Cancel`}),r(a,{type:`button`,onClick:y,children:`Save Changes`})]})]})})});export{f as EditDialog};
1
+ import { RecursionField, observer, useField } from "@formily/react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { Button, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle } from "@pixpilot/shadcn";
4
+
5
+ //#region src/components/array-dialog/edit-dialog.tsx
6
+ /**
7
+ * Dialog for editing array items
8
+ * Renders form fields based on the array item schema
9
+ * RecursionField inherits component registry from parent SchemaField context (preserved through Radix Portal)
10
+ */
11
+ const EditDialog = observer(({ schema, onSave, onCancel, activeItemManager }) => {
12
+ const arrayField = useField();
13
+ const itemIndex = activeItemManager.activeItem;
14
+ const { isNew } = activeItemManager;
15
+ const open = itemIndex !== void 0;
16
+ const handleSaveClick = () => {
17
+ if (itemIndex === void 0) return;
18
+ onSave(itemIndex);
19
+ };
20
+ const handleCancelClick = () => {
21
+ if (itemIndex === void 0) return;
22
+ onCancel(itemIndex);
23
+ };
24
+ return /* @__PURE__ */ jsx(Dialog, {
25
+ open,
26
+ onOpenChange: (isOpen) => {
27
+ if (!isOpen) handleCancelClick();
28
+ },
29
+ children: /* @__PURE__ */ jsxs(DialogContent, {
30
+ className: "sm:max-w-[525px]",
31
+ children: [
32
+ /* @__PURE__ */ jsxs(DialogHeader, { children: [/* @__PURE__ */ jsx(DialogTitle, { children: isNew ? "Add New Item" : `Edit Item #${(itemIndex ?? 0) + 1}` }), /* @__PURE__ */ jsx(DialogDescription, { children: isNew ? "Fill in the details for the new item. Click save when you're done." : "Make changes to the item. Click save when you're done." })] }),
33
+ /* @__PURE__ */ jsx("div", {
34
+ className: "grid gap-4 py-4",
35
+ children: itemIndex != null && /* @__PURE__ */ jsx(RecursionField, {
36
+ basePath: arrayField.address.concat(itemIndex),
37
+ schema,
38
+ onlyRenderProperties: true
39
+ })
40
+ }),
41
+ /* @__PURE__ */ jsxs(DialogFooter, { children: [/* @__PURE__ */ jsx(Button, {
42
+ type: "button",
43
+ variant: "outline",
44
+ onClick: handleCancelClick,
45
+ children: "Cancel"
46
+ }), /* @__PURE__ */ jsx(Button, {
47
+ type: "button",
48
+ onClick: handleSaveClick,
49
+ children: "Save Changes"
50
+ })] })
51
+ ]
52
+ })
53
+ });
54
+ });
55
+
56
+ //#endregion
57
+ export { EditDialog };
@@ -1 +1 @@
1
- const e=require(`./array-dialog.cjs`);
1
+ const require_array_dialog = require('./array-dialog.cjs');
@@ -1 +1 @@
1
- import{ArrayDialog as e}from"./array-dialog.js";
1
+ import { ArrayDialog } from "./array-dialog.js";
@@ -1 +1,58 @@
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(`../array-base/constants/index.cjs`),i=require(`../array-common/array-items-list.cjs`),a=require(`../array-common/use-array-editor.cjs`);require(`../array-common/index.cjs`);const o=require(`./popover.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);let u=require(`@pixpilot/shadcn`);u=e.__toESM(u);const d=(0,s.observer)(e=>{let{onAdd:n,onRemove:r,onMoveDown:s,onMoveUp:c,onEdit:d,className:f,children:p,...m}=e,{activeItemManager:h,items:g,handleAdd:_,isNewItem:v,handleEdit:y,handleSaveClick:b,handleCancelClick:x}=a.useArrayEditor({onAdd:n,onEdit:d});return(0,l.jsx)(t.ArrayBase,{onAdd:_,onRemove:r,onMoveUp:c,onMoveDown:s,onEdit:y,children:(0,l.jsxs)(`div`,{...m,className:(0,u.cn)(`space-y-2`,f),children:[(0,l.jsx)(i.ArrayItemsList,{isNewItem:v}),(0,l.jsx)(`div`,{className:`pt-2`,children:(0,l.jsx)(o.ArrayItemsEditPopover,{activeItemManager:h,onCancel:x,schema:g,onSave:b,children:(0,l.jsx)(t.ArrayBase.Addition,{})})})]})})}),f=({operations:e=r.DEFAULT_EDITABLE_OPERATIONS,...t})=>(0,l.jsx)(n.ArrayComponentProvider,{allowedOperationsComponentNames:e,children:(0,l.jsx)(d,{...t})});f.displayName=`ArrayPopover`,t.ArrayBase.mixin(f),exports.ArrayPopover=f;
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_index$1 = require('../array-base/constants/index.cjs');
6
+ const require_array_items_list = require('../array-common/array-items-list.cjs');
7
+ const require_use_array_editor = require('../array-common/use-array-editor.cjs');
8
+ require('../array-common/index.cjs');
9
+ const require_popover = require('./popover.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
+ let __pixpilot_shadcn = require("@pixpilot/shadcn");
17
+ __pixpilot_shadcn = require_rolldown_runtime.__toESM(__pixpilot_shadcn);
18
+
19
+ //#region src/components/array-popover/array-popover.tsx
20
+ const ArrayPopoverBase = (0, __formily_react.observer)((props) => {
21
+ const { onAdd, onRemove, onMoveDown, onMoveUp, onEdit, className, children,...rest } = props;
22
+ const { activeItemManager, items, handleAdd, isNewItem, handleEdit, handleSaveClick, handleCancelClick } = require_use_array_editor.useArrayEditor({
23
+ onAdd,
24
+ onEdit
25
+ });
26
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_array_base.ArrayBase, {
27
+ onAdd: handleAdd,
28
+ onRemove,
29
+ onMoveUp,
30
+ onMoveDown,
31
+ onEdit: handleEdit,
32
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
33
+ ...rest,
34
+ className: (0, __pixpilot_shadcn.cn)("space-y-2", className),
35
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_array_items_list.ArrayItemsList, { isNewItem }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
36
+ className: "pt-2",
37
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_popover.ArrayItemsEditPopover, {
38
+ activeItemManager,
39
+ onCancel: handleCancelClick,
40
+ schema: items,
41
+ onSave: handleSaveClick,
42
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_array_base.ArrayBase.Addition, {})
43
+ })
44
+ })]
45
+ })
46
+ });
47
+ });
48
+ const ArrayPopover = ({ operations = require_index$1.DEFAULT_EDITABLE_OPERATIONS,...rest }) => {
49
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_component_context.ArrayComponentProvider, {
50
+ allowedOperationsComponentNames: operations,
51
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ArrayPopoverBase, { ...rest })
52
+ });
53
+ };
54
+ ArrayPopover.displayName = "ArrayPopover";
55
+ require_array_base.ArrayBase.mixin(ArrayPopover);
56
+
57
+ //#endregion
58
+ exports.ArrayPopover = ArrayPopover;
@@ -1 +1,53 @@
1
- import{ArrayBase as e}from"../array-base/array-base.js";import{ArrayComponentProvider as t}from"../array-base/component-context.js";import"../array-base/index.js";import{DEFAULT_EDITABLE_OPERATIONS as n}from"../array-base/constants/index.js";import{ArrayItemsList as r}from"../array-common/array-items-list.js";import{useArrayEditor as i}from"../array-common/use-array-editor.js";import"../array-common/index.js";import{ArrayItemsEditPopover as a}from"./popover.js";import{observer as o}from"@formily/react";import s from"react";import{jsx as c,jsxs as l}from"react/jsx-runtime";import{cn as u}from"@pixpilot/shadcn";const d=o(t=>{let{onAdd:n,onRemove:o,onMoveDown:s,onMoveUp:d,onEdit:f,className:p,children:m,...h}=t,{activeItemManager:g,items:_,handleAdd:v,isNewItem:y,handleEdit:b,handleSaveClick:x,handleCancelClick:S}=i({onAdd:n,onEdit:f});return c(e,{onAdd:v,onRemove:o,onMoveUp:d,onMoveDown:s,onEdit:b,children:l(`div`,{...h,className:u(`space-y-2`,p),children:[c(r,{isNewItem:y}),c(`div`,{className:`pt-2`,children:c(a,{activeItemManager:g,onCancel:S,schema:_,onSave:x,children:c(e.Addition,{})})})]})})}),f=({operations:e=n,...r})=>c(t,{allowedOperationsComponentNames:e,children:c(d,{...r})});f.displayName=`ArrayPopover`,e.mixin(f);export{f as ArrayPopover};
1
+ import { ArrayBase } from "../array-base/array-base.js";
2
+ import { ArrayComponentProvider } from "../array-base/component-context.js";
3
+ import "../array-base/index.js";
4
+ import { DEFAULT_EDITABLE_OPERATIONS } from "../array-base/constants/index.js";
5
+ import { ArrayItemsList } from "../array-common/array-items-list.js";
6
+ import { useArrayEditor } from "../array-common/use-array-editor.js";
7
+ import "../array-common/index.js";
8
+ import { ArrayItemsEditPopover } from "./popover.js";
9
+ import { observer } from "@formily/react";
10
+ import React from "react";
11
+ import { jsx, jsxs } from "react/jsx-runtime";
12
+ import { cn } from "@pixpilot/shadcn";
13
+
14
+ //#region src/components/array-popover/array-popover.tsx
15
+ const ArrayPopoverBase = observer((props) => {
16
+ const { onAdd, onRemove, onMoveDown, onMoveUp, onEdit, className, children,...rest } = props;
17
+ const { activeItemManager, items, handleAdd, isNewItem, handleEdit, handleSaveClick, handleCancelClick } = useArrayEditor({
18
+ onAdd,
19
+ onEdit
20
+ });
21
+ return /* @__PURE__ */ jsx(ArrayBase, {
22
+ onAdd: handleAdd,
23
+ onRemove,
24
+ onMoveUp,
25
+ onMoveDown,
26
+ onEdit: handleEdit,
27
+ children: /* @__PURE__ */ jsxs("div", {
28
+ ...rest,
29
+ className: cn("space-y-2", className),
30
+ children: [/* @__PURE__ */ jsx(ArrayItemsList, { isNewItem }), /* @__PURE__ */ jsx("div", {
31
+ className: "pt-2",
32
+ children: /* @__PURE__ */ jsx(ArrayItemsEditPopover, {
33
+ activeItemManager,
34
+ onCancel: handleCancelClick,
35
+ schema: items,
36
+ onSave: handleSaveClick,
37
+ children: /* @__PURE__ */ jsx(ArrayBase.Addition, {})
38
+ })
39
+ })]
40
+ })
41
+ });
42
+ });
43
+ const ArrayPopover = ({ operations = DEFAULT_EDITABLE_OPERATIONS,...rest }) => {
44
+ return /* @__PURE__ */ jsx(ArrayComponentProvider, {
45
+ allowedOperationsComponentNames: operations,
46
+ children: /* @__PURE__ */ jsx(ArrayPopoverBase, { ...rest })
47
+ });
48
+ };
49
+ ArrayPopover.displayName = "ArrayPopover";
50
+ ArrayBase.mixin(ArrayPopover);
51
+
52
+ //#endregion
53
+ export { ArrayPopover };
@@ -1 +1 @@
1
- const e=require(`./array-popover.cjs`);
1
+ const require_array_popover = require('./array-popover.cjs');
@@ -1 +1 @@
1
- import{ArrayPopover as e}from"./array-popover.js";
1
+ import { ArrayPopover } from "./array-popover.js";
@@ -1 +1,75 @@
1
- const e=require(`../../_virtual/rolldown_runtime.cjs`);let t=require(`@formily/react`);t=e.__toESM(t);let n=require(`react/jsx-runtime`);n=e.__toESM(n);let r=require(`@pixpilot/shadcn`);r=e.__toESM(r);const i=(0,t.observer)(({schema:e,onSave:i,onCancel:a,children:o,activeItemManager:s})=>{let c=(0,t.useField)(),l=s.activeItem,u=s.isNew,d=l!==void 0;return(0,n.jsxs)(r.Popover,{open:d,onOpenChange:e=>{e||a(l)},children:[o!==void 0&&(0,n.jsx)(r.PopoverTrigger,{asChild:!0,children:o}),(0,n.jsx)(r.PopoverContent,{className:`w-96`,side:`top`,children:(0,n.jsxs)(`div`,{className:`space-y-4`,children:[(0,n.jsxs)(`div`,{className:`space-y-2`,children:[(0,n.jsx)(`h4`,{className:`font-medium leading-none`,children:u?`Add New Item`:`Edit Item`}),(0,n.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:u?`Fill in the details for the new item.`:`Make changes to the item.`})]}),l!=null&&(0,n.jsx)(`div`,{className:`space-y-4`,children:(0,n.jsx)(t.RecursionField,{basePath:c.address.concat(l),schema:e,onlyRenderProperties:!0})}),(0,n.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,n.jsx)(r.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>{a(l)},children:`Cancel`}),(0,n.jsx)(r.Button,{type:`button`,size:`sm`,onClick:()=>{i(l)},children:`Save`})]})]})})]})});exports.ArrayItemsEditPopover=i;
1
+ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
+ let __formily_react = require("@formily/react");
3
+ __formily_react = require_rolldown_runtime.__toESM(__formily_react);
4
+ let react_jsx_runtime = require("react/jsx-runtime");
5
+ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
6
+ let __pixpilot_shadcn = require("@pixpilot/shadcn");
7
+ __pixpilot_shadcn = require_rolldown_runtime.__toESM(__pixpilot_shadcn);
8
+
9
+ //#region src/components/array-popover/popover.tsx
10
+ const ArrayItemsEditPopover = (0, __formily_react.observer)(({ schema, onSave, onCancel, children, activeItemManager }) => {
11
+ const arrayField = (0, __formily_react.useField)();
12
+ const activeIndex = activeItemManager.activeItem;
13
+ const isNewItem = activeItemManager.isNew;
14
+ const open = activeIndex !== void 0;
15
+ const handleOpenChange = (isOpen) => {
16
+ if (!isOpen) onCancel(activeIndex);
17
+ };
18
+ const handleCancelClick = () => {
19
+ onCancel(activeIndex);
20
+ };
21
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__pixpilot_shadcn.Popover, {
22
+ open,
23
+ onOpenChange: handleOpenChange,
24
+ children: [children !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.PopoverTrigger, {
25
+ asChild: true,
26
+ children
27
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.PopoverContent, {
28
+ className: "w-96",
29
+ side: "top",
30
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
31
+ className: "space-y-4",
32
+ children: [
33
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
34
+ className: "space-y-2",
35
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("h4", {
36
+ className: "font-medium leading-none",
37
+ children: isNewItem ? "Add New Item" : `Edit Item`
38
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
39
+ className: "text-muted-foreground text-sm",
40
+ children: isNewItem ? "Fill in the details for the new item." : "Make changes to the item."
41
+ })]
42
+ }),
43
+ activeIndex != null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
44
+ className: "space-y-4",
45
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__formily_react.RecursionField, {
46
+ basePath: arrayField.address.concat(activeIndex),
47
+ schema,
48
+ onlyRenderProperties: true
49
+ })
50
+ }),
51
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
52
+ className: "flex justify-end gap-2",
53
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.Button, {
54
+ type: "button",
55
+ variant: "outline",
56
+ size: "sm",
57
+ onClick: handleCancelClick,
58
+ children: "Cancel"
59
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.Button, {
60
+ type: "button",
61
+ size: "sm",
62
+ onClick: () => {
63
+ onSave(activeIndex);
64
+ },
65
+ children: "Save"
66
+ })]
67
+ })
68
+ ]
69
+ })
70
+ })]
71
+ });
72
+ });
73
+
74
+ //#endregion
75
+ exports.ArrayItemsEditPopover = ArrayItemsEditPopover;