@pixpilot/formily-shadcn 0.1.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 (205) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +204 -0
  3. package/dist/_virtual/rolldown_runtime.cjs +1 -0
  4. package/dist/_virtual/rolldown_runtime.js +1 -0
  5. package/dist/components/array-base/array-base.cjs +1 -0
  6. package/dist/components/array-base/array-base.d.cts +13 -0
  7. package/dist/components/array-base/array-base.d.ts +13 -0
  8. package/dist/components/array-base/array-base.js +1 -0
  9. package/dist/components/array-base/array-context.cjs +1 -0
  10. package/dist/components/array-base/array-context.d.cts +17 -0
  11. package/dist/components/array-base/array-context.d.ts +17 -0
  12. package/dist/components/array-base/array-context.js +1 -0
  13. package/dist/components/array-base/component-context.cjs +1 -0
  14. package/dist/components/array-base/component-context.d.cts +3 -0
  15. package/dist/components/array-base/component-context.d.ts +3 -0
  16. package/dist/components/array-base/component-context.js +1 -0
  17. package/dist/components/array-base/components/addition.cjs +1 -0
  18. package/dist/components/array-base/components/addition.d.cts +13 -0
  19. package/dist/components/array-base/components/addition.d.ts +13 -0
  20. package/dist/components/array-base/components/addition.js +1 -0
  21. package/dist/components/array-base/components/array-copy.cjs +1 -0
  22. package/dist/components/array-base/components/array-copy.js +1 -0
  23. package/dist/components/array-base/components/array-index.cjs +1 -0
  24. package/dist/components/array-base/components/array-index.js +1 -0
  25. package/dist/components/array-base/components/array-item-label.cjs +1 -0
  26. package/dist/components/array-base/components/array-item-label.js +1 -0
  27. package/dist/components/array-base/components/components.cjs +1 -0
  28. package/dist/components/array-base/components/components.js +1 -0
  29. package/dist/components/array-base/components/edit.cjs +1 -0
  30. package/dist/components/array-base/components/edit.js +1 -0
  31. package/dist/components/array-base/components/empty.cjs +1 -0
  32. package/dist/components/array-base/components/empty.js +1 -0
  33. package/dist/components/array-base/components/get-array-components.cjs +1 -0
  34. package/dist/components/array-base/components/get-array-components.js +1 -0
  35. package/dist/components/array-base/components/move-down.cjs +1 -0
  36. package/dist/components/array-base/components/move-down.js +1 -0
  37. package/dist/components/array-base/components/move-up.cjs +1 -0
  38. package/dist/components/array-base/components/move-up.js +1 -0
  39. package/dist/components/array-base/components/remove.cjs +1 -0
  40. package/dist/components/array-base/components/remove.js +1 -0
  41. package/dist/components/array-base/components/title.cjs +1 -0
  42. package/dist/components/array-base/components/title.js +1 -0
  43. package/dist/components/array-base/components/types.d.cts +30 -0
  44. package/dist/components/array-base/components/types.d.ts +30 -0
  45. package/dist/components/array-base/components/use-array-components-registry.cjs +1 -0
  46. package/dist/components/array-base/components/use-array-components-registry.d.cts +4 -0
  47. package/dist/components/array-base/components/use-array-components-registry.d.ts +4 -0
  48. package/dist/components/array-base/components/use-array-components-registry.js +1 -0
  49. package/dist/components/array-base/constants/index.cjs +1 -0
  50. package/dist/components/array-base/constants/index.js +1 -0
  51. package/dist/components/array-base/index.cjs +1 -0
  52. package/dist/components/array-base/index.d.cts +3 -0
  53. package/dist/components/array-base/index.d.ts +3 -0
  54. package/dist/components/array-base/index.js +1 -0
  55. package/dist/components/array-base/types.d.cts +37 -0
  56. package/dist/components/array-base/types.d.ts +37 -0
  57. package/dist/components/array-base/utils/filter-and-sort-components.cjs +1 -0
  58. package/dist/components/array-base/utils/filter-and-sort-components.js +1 -0
  59. package/dist/components/array-base/utils/is-array-component.cjs +1 -0
  60. package/dist/components/array-base/utils/is-array-component.js +1 -0
  61. package/dist/components/array-cards/array-cards.cjs +1 -0
  62. package/dist/components/array-cards/array-cards.d.cts +7 -0
  63. package/dist/components/array-cards/array-cards.d.ts +7 -0
  64. package/dist/components/array-cards/array-cards.js +1 -0
  65. package/dist/components/array-cards/index.cjs +1 -0
  66. package/dist/components/array-cards/index.d.cts +1 -0
  67. package/dist/components/array-cards/index.d.ts +1 -0
  68. package/dist/components/array-cards/index.js +1 -0
  69. package/dist/components/array-cards/item.cjs +1 -0
  70. package/dist/components/array-cards/item.js +1 -0
  71. package/dist/components/array-collapse/array-collapse.cjs +1 -0
  72. package/dist/components/array-collapse/array-collapse.d.cts +12 -0
  73. package/dist/components/array-collapse/array-collapse.d.ts +12 -0
  74. package/dist/components/array-collapse/array-collapse.js +1 -0
  75. package/dist/components/array-collapse/index.cjs +1 -0
  76. package/dist/components/array-collapse/index.d.cts +1 -0
  77. package/dist/components/array-collapse/index.d.ts +1 -0
  78. package/dist/components/array-collapse/index.js +1 -0
  79. package/dist/components/array-collapse/item.cjs +1 -0
  80. package/dist/components/array-collapse/item.js +1 -0
  81. package/dist/components/array-common/array-items-list.cjs +1 -0
  82. package/dist/components/array-common/array-items-list.js +1 -0
  83. package/dist/components/array-common/create-active-item-manager.cjs +1 -0
  84. package/dist/components/array-common/create-active-item-manager.js +1 -0
  85. package/dist/components/array-common/index.cjs +1 -0
  86. package/dist/components/array-common/index.js +1 -0
  87. package/dist/components/array-common/item-wrapper.cjs +1 -0
  88. package/dist/components/array-common/item-wrapper.js +1 -0
  89. package/dist/components/array-common/list-item.cjs +1 -0
  90. package/dist/components/array-common/list-item.js +1 -0
  91. package/dist/components/array-common/use-array-editor.cjs +1 -0
  92. package/dist/components/array-common/use-array-editor.js +1 -0
  93. package/dist/components/array-dialog/array-dialog.cjs +1 -0
  94. package/dist/components/array-dialog/array-dialog.js +1 -0
  95. package/dist/components/array-dialog/edit-dialog.cjs +1 -0
  96. package/dist/components/array-dialog/edit-dialog.js +1 -0
  97. package/dist/components/array-dialog/index.cjs +1 -0
  98. package/dist/components/array-dialog/index.js +1 -0
  99. package/dist/components/array-popover/array-popover.cjs +1 -0
  100. package/dist/components/array-popover/array-popover.js +1 -0
  101. package/dist/components/array-popover/index.cjs +1 -0
  102. package/dist/components/array-popover/index.js +1 -0
  103. package/dist/components/array-popover/popover.cjs +1 -0
  104. package/dist/components/array-popover/popover.js +1 -0
  105. package/dist/components/checkbox.cjs +1 -0
  106. package/dist/components/checkbox.d.cts +11 -0
  107. package/dist/components/checkbox.d.ts +11 -0
  108. package/dist/components/checkbox.js +1 -0
  109. package/dist/components/column.cjs +1 -0
  110. package/dist/components/column.d.cts +41 -0
  111. package/dist/components/column.d.ts +41 -0
  112. package/dist/components/column.js +1 -0
  113. package/dist/components/combobox.cjs +1 -0
  114. package/dist/components/combobox.d.cts +6 -0
  115. package/dist/components/combobox.d.ts +6 -0
  116. package/dist/components/combobox.js +1 -0
  117. package/dist/components/date-picker.cjs +1 -0
  118. package/dist/components/date-picker.d.cts +17 -0
  119. package/dist/components/date-picker.d.ts +17 -0
  120. package/dist/components/date-picker.js +1 -0
  121. package/dist/components/file-upload-inline.cjs +3 -0
  122. package/dist/components/file-upload-inline.d.cts +12 -0
  123. package/dist/components/file-upload-inline.d.ts +12 -0
  124. package/dist/components/file-upload-inline.js +3 -0
  125. package/dist/components/form-grid.cjs +1 -0
  126. package/dist/components/form-grid.d.cts +12 -0
  127. package/dist/components/form-grid.d.ts +12 -0
  128. package/dist/components/form-grid.js +1 -0
  129. package/dist/components/form-item.cjs +3 -0
  130. package/dist/components/form-item.d.cts +21 -0
  131. package/dist/components/form-item.d.ts +21 -0
  132. package/dist/components/form-item.js +3 -0
  133. package/dist/components/form.cjs +1 -0
  134. package/dist/components/form.d.cts +26 -0
  135. package/dist/components/form.d.ts +26 -0
  136. package/dist/components/form.js +1 -0
  137. package/dist/components/input.cjs +1 -0
  138. package/dist/components/input.d.cts +11 -0
  139. package/dist/components/input.d.ts +11 -0
  140. package/dist/components/input.js +1 -0
  141. package/dist/components/number-input.cjs +1 -0
  142. package/dist/components/number-input.d.cts +9 -0
  143. package/dist/components/number-input.d.ts +9 -0
  144. package/dist/components/number-input.js +1 -0
  145. package/dist/components/radio.cjs +1 -0
  146. package/dist/components/radio.d.cts +24 -0
  147. package/dist/components/radio.d.ts +24 -0
  148. package/dist/components/radio.js +1 -0
  149. package/dist/components/row.cjs +1 -0
  150. package/dist/components/row.d.cts +41 -0
  151. package/dist/components/row.d.ts +41 -0
  152. package/dist/components/row.js +1 -0
  153. package/dist/components/schema-field.cjs +1 -0
  154. package/dist/components/schema-field.d.cts +396 -0
  155. package/dist/components/schema-field.d.ts +396 -0
  156. package/dist/components/schema-field.js +1 -0
  157. package/dist/components/select.cjs +1 -0
  158. package/dist/components/select.d.cts +6 -0
  159. package/dist/components/select.d.ts +6 -0
  160. package/dist/components/select.js +1 -0
  161. package/dist/components/separator.cjs +1 -0
  162. package/dist/components/separator.d.cts +11 -0
  163. package/dist/components/separator.d.ts +11 -0
  164. package/dist/components/separator.js +1 -0
  165. package/dist/components/slider.cjs +1 -0
  166. package/dist/components/slider.d.cts +12 -0
  167. package/dist/components/slider.d.ts +12 -0
  168. package/dist/components/slider.js +1 -0
  169. package/dist/components/switch.cjs +1 -0
  170. package/dist/components/switch.d.cts +11 -0
  171. package/dist/components/switch.d.ts +11 -0
  172. package/dist/components/switch.js +1 -0
  173. package/dist/components/tags-input-inline.cjs +1 -0
  174. package/dist/components/tags-input-inline.d.cts +15 -0
  175. package/dist/components/tags-input-inline.d.ts +15 -0
  176. package/dist/components/tags-input-inline.js +1 -0
  177. package/dist/components/textarea.cjs +1 -0
  178. package/dist/components/textarea.d.cts +9 -0
  179. package/dist/components/textarea.d.ts +9 -0
  180. package/dist/components/textarea.js +1 -0
  181. package/dist/index.cjs +1 -0
  182. package/dist/index.d.cts +33 -0
  183. package/dist/index.d.ts +33 -0
  184. package/dist/index.js +1 -0
  185. package/dist/utils/create-panel-state-manager.cjs +1 -0
  186. package/dist/utils/create-panel-state-manager.js +1 -0
  187. package/dist/utils/for-each-schema.cjs +1 -0
  188. package/dist/utils/for-each-schema.js +1 -0
  189. package/dist/utils/get-array-item-info.cjs +1 -0
  190. package/dist/utils/get-array-item-info.js +1 -0
  191. package/dist/utils/get-default-value.cjs +1 -0
  192. package/dist/utils/get-default-value.js +1 -0
  193. package/dist/utils/has-array-item-errors.cjs +1 -0
  194. package/dist/utils/has-array-item-errors.js +1 -0
  195. package/dist/utils/has-error.cjs +1 -0
  196. package/dist/utils/has-error.js +1 -0
  197. package/dist/utils/index.cjs +1 -0
  198. package/dist/utils/index.js +1 -0
  199. package/dist/utils/transform-schema.cjs +1 -0
  200. package/dist/utils/transform-schema.js +1 -0
  201. package/dist/utils/use-array-item-editor.cjs +1 -0
  202. package/dist/utils/use-array-item-editor.js +1 -0
  203. package/dist/utils/validate-array-item-fields.cjs +1 -0
  204. package/dist/utils/validate-array-item-fields.js +1 -0
  205. package/package.json +74 -0
@@ -0,0 +1,37 @@
1
+ import { ArrayBaseComponents, ArrayOperationTypes } from "./components/types.js";
2
+ import { IArrayBaseContext } from "./array-context.js";
3
+ import { Button } from "@pixpilot/shadcn-ui";
4
+
5
+ //#region src/components/array-base/types.d.ts
6
+ interface ArrayBaseMixins extends ArrayBaseComponents {
7
+ useArray: () => IArrayBaseContext | null;
8
+ useIndex: (index?: number) => number | undefined;
9
+ useRecord: (record?: number) => any;
10
+ }
11
+ interface IArrayBaseProps {
12
+ disabled?: boolean;
13
+ onAdd?: (index: number) => void;
14
+ onRemove?: (index: number) => void;
15
+ onMoveDown?: (index: number) => void;
16
+ onMoveUp?: (index: number) => void;
17
+ onEdit?: (index: number) => void;
18
+ onCopy?: (index: number) => void;
19
+ }
20
+ interface IArrayBaseOperationProps extends React.ComponentProps<typeof Button> {
21
+ title?: string;
22
+ index?: number;
23
+ icon?: React.ReactNode;
24
+ }
25
+ type ComposedArrayProps<T = Record<string, unknown>> = React.FC<React.PropsWithChildren<React.HTMLAttributes<HTMLDivElement> & IArrayBaseProps & {
26
+ /**
27
+ * Array of operation types to display as default buttons. Set to false to disable all default operations.
28
+ * @default 'MoveDown', 'MoveUp', 'Remove'
29
+ */
30
+ operations?: ArrayOperationTypes[] | false;
31
+ } & T>> & ArrayBaseMixins;
32
+ interface ArrayComponentProps extends React.PropsWithChildren<React.HTMLAttributes<HTMLDivElement> & IArrayBaseProps & {
33
+ operations?: ArrayOperationTypes[] | false;
34
+ title?: string;
35
+ }> {}
36
+ //#endregion
37
+ export { ArrayBaseMixins, ArrayComponentProps, ComposedArrayProps, IArrayBaseOperationProps, IArrayBaseProps };
@@ -0,0 +1 @@
1
+ const e=require(`../components/components.cjs`);function t(t,n){let r=Array.from(t.entries()).filter(([t,r])=>t in e.defaultOperationComponents?Array.isArray(n)&&n.includes(t)||r.isUserField===!0:!1);return Array.isArray(n)?r.sort(([e],[t])=>{let r=n.indexOf(e),i=n.indexOf(t),a=r!==-1,o=i!==-1;return a&&o?r-i:a?-1:o?1:0}):r}exports.filterAndSortComponents=t;
@@ -0,0 +1 @@
1
+ import{defaultOperationComponents as e}from"../components/components.js";function t(t,n){let r=Array.from(t.entries()).filter(([t,r])=>t in e?Array.isArray(n)&&n.includes(t)||r.isUserField===!0:!1);return Array.isArray(n)?r.sort(([e],[t])=>{let r=n.indexOf(e),i=n.indexOf(t),a=r!==-1,o=i!==-1;return a&&o?r-i:a?-1:o?1:0}):r}export{t as filterAndSortComponents};
@@ -0,0 +1 @@
1
+ function e(e,t){let n=e[`x-component`];return n==null||typeof n!=`string`?!1:!!n.endsWith(t)}function t(t){return e(t,`.Addition`)}function n(t){return e(t,`.Index`)}function r(t){return e(t,`.Remove`)}function i(t){return e(t,`.MoveUp`)}function a(t){return e(t,`.MoveDown`)}function o(t){return e(t,`.Empty`)}function s(t){return e(t,`.Copy`)}function c(t){return e(t,`.Label`)}function l(e){return t(e)||r(e)||a(e)||i(e)||s(e)||n(e)}exports.isAdditionComponent=t,exports.isCopyComponent=s,exports.isEmptyComponent=o,exports.isIndexComponent=n,exports.isLabelComponent=c,exports.isMoveDownComponent=a,exports.isMoveUpComponent=i,exports.isOperationComponent=l,exports.isRemoveComponent=r;
@@ -0,0 +1 @@
1
+ function e(e,t){let n=e[`x-component`];return n==null||typeof n!=`string`?!1:!!n.endsWith(t)}function t(t){return e(t,`.Addition`)}function n(t){return e(t,`.Index`)}function r(t){return e(t,`.Remove`)}function i(t){return e(t,`.MoveUp`)}function a(t){return e(t,`.MoveDown`)}function o(t){return e(t,`.Empty`)}function s(t){return e(t,`.Copy`)}function c(t){return e(t,`.Label`)}function l(e){return t(e)||r(e)||a(e)||i(e)||s(e)||n(e)}export{t as isAdditionComponent,s as isCopyComponent,o as isEmptyComponent,n as isIndexComponent,c as isLabelComponent,a as isMoveDownComponent,i as isMoveUpComponent,l as isOperationComponent,r as isRemoveComponent};
@@ -0,0 +1 @@
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/array-base.cjs`),r=require(`../array-base/component-context.cjs`);require(`../array-base/index.cjs`);const i=require(`../array-base/constants/index.cjs`),a=require(`./item.cjs`);let o=require(`@formily/react`);o=e.__toESM(o);let s=require(`react`);s=e.__toESM(s);let c=require(`react/jsx-runtime`);c=e.__toESM(c);const l=(0,o.observer)(e=>{let i=(0,o.useField)(),s=(0,o.useFieldSchema)(),{onAdd:l,onCopy:u,onRemove:d,onMoveDown:f,onMoveUp:p,className:m,title:h,children:g,operations:_,...v}=e,y=Array.isArray(i.value)?i.value:[],{ArrayItemsContainer:b,AddButton:x}=r.useArrayComponents(),S=()=>y.map((e,n)=>{let{itemKey:r,record:o}=t.getArrayItemInfo(i,n);return(0,c.jsx)(a.default,{index:n,title:h,record:o},r)}),C=i.address.toString();return(0,c.jsx)(n.ArrayBase,{onAdd:l,onCopy:u,onRemove:d,onMoveUp:p,onMoveDown:f,children:(0,c.jsxs)(b,{...v,basePath:C,schema:s,hasItems:y.length>0,children:[S(),(0,c.jsx)(x,{schema:s,basePath:C})]})})});function u(e){let{operations:t=i.DEFAULT_OPERATIONS}=e;return(0,c.jsx)(r.ArrayComponentProvider,{allowedOperationsComponentNames:t,children:(0,c.jsx)(l,{...e})})}u.displayName=`ArrayCards`;const d=u;n.ArrayBase.mixin(d),exports.ArrayCards=d;
@@ -0,0 +1,7 @@
1
+ import { ComposedArrayProps } from "../array-base/types.cjs";
2
+ import "../array-base/index.cjs";
3
+
4
+ //#region src/components/array-cards/array-cards.d.ts
5
+ declare const ArrayCards: ComposedArrayProps;
6
+ //#endregion
7
+ export { ArrayCards };
@@ -0,0 +1,7 @@
1
+ import { ComposedArrayProps } from "../array-base/types.js";
2
+ import "../array-base/index.js";
3
+
4
+ //#region src/components/array-cards/array-cards.d.ts
5
+ declare const ArrayCards: ComposedArrayProps;
6
+ //#endregion
7
+ export { ArrayCards };
@@ -0,0 +1 @@
1
+ import{getArrayItemInfo as e}from"../../utils/get-array-item-info.js";import"../../utils/index.js";import{ArrayBase as t}from"../array-base/array-base.js";import{ArrayComponentProvider as n,useArrayComponents as r}from"../array-base/component-context.js";import"../array-base/index.js";import{DEFAULT_OPERATIONS as i}from"../array-base/constants/index.js";import a from"./item.js";import{observer as o,useField 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=o(n=>{let i=s(),o=c(),{onAdd:l,onCopy:f,onRemove:p,onMoveDown:m,onMoveUp:h,className:g,title:_,children:v,operations:y,...b}=n,x=Array.isArray(i.value)?i.value:[],{ArrayItemsContainer:S,AddButton:C}=r(),w=()=>x.map((t,n)=>{let{itemKey:r,record:o}=e(i,n);return u(a,{index:n,title:_,record:o},r)}),T=i.address.toString();return u(t,{onAdd:l,onCopy:f,onRemove:p,onMoveUp:h,onMoveDown:m,children:d(S,{...b,basePath:T,schema:o,hasItems:x.length>0,children:[w(),u(C,{schema:o,basePath:T})]})})});function p(e){let{operations:t=i}=e;return u(n,{allowedOperationsComponentNames:t,children:u(f,{...e})})}p.displayName=`ArrayCards`;const m=p;t.mixin(m);export{m as ArrayCards};
@@ -0,0 +1 @@
1
+ const e=require(`./array-cards.cjs`);
@@ -0,0 +1 @@
1
+ import { ArrayCards } from "./array-cards.cjs";
@@ -0,0 +1 @@
1
+ import { ArrayCards } from "./array-cards.js";
@@ -0,0 +1 @@
1
+ import{ArrayCards as e}from"./array-cards.js";
@@ -0,0 +1 @@
1
+ const e=require(`../../_virtual/rolldown_runtime.cjs`),t=require(`../array-base/array-base.cjs`),n=require(`../array-base/utils/is-array-component.cjs`),r=require(`../array-base/component-context.cjs`);require(`../array-base/index.cjs`);const i=require(`../array-base/components/title.cjs`);let a=require(`@formily/react`);a=e.__toESM(a);let o=require(`react`);o=e.__toESM(o);let s=require(`react/jsx-runtime`);s=e.__toESM(s);const c=o.default.memo(({index:e,title:o,record:c})=>{let l=(0,a.useField)(),u=(0,a.useFieldSchema)(),d=r.useArrayComponents(),f=u?.items,p=l.address.concat(e).toString();return(0,s.jsx)(t.ArrayBase.Item,{index:e,record:c??{},children:(0,s.jsxs)(`div`,{className:` border rounded-lg p-4 space-y-2`,children:[(0,s.jsxs)(`div`,{className:`flex`,children:[(0,s.jsxs)(`div`,{className:`flex-1`,children:[(0,s.jsx)(d.ItemLabel,{basePath:p,index:e,schema:u.items}),` `,(0,s.jsx)(i.ArrayTitle,{title:o??l.title})]}),(0,s.jsx)(`div`,{children:(0,s.jsx)(d.OperationComponents,{basePath:p,index:e,schema:u.items})})]}),(0,s.jsx)(`div`,{className:`space-y-4`,children:(0,s.jsx)(a.RecursionField,{basePath:p,schema:f,name:e,filterProperties:e=>!n.isOperationComponent(e),onlyRenderProperties:!0})})]})})});c.displayName=`ArrayItemContent`;var l=c;exports.default=l;
@@ -0,0 +1 @@
1
+ import{ArrayBase as e}from"../array-base/array-base.js";import{isOperationComponent as t}from"../array-base/utils/is-array-component.js";import{useArrayComponents as n}from"../array-base/component-context.js";import"../array-base/index.js";import{ArrayTitle as r}from"../array-base/components/title.js";import{RecursionField as i,useField as a,useFieldSchema as o}from"@formily/react";import s from"react";import{jsx as c,jsxs as l}from"react/jsx-runtime";const u=s.memo(({index:s,title:u,record:d})=>{let f=a(),p=o(),m=n(),h=p?.items,g=f.address.concat(s).toString();return c(e.Item,{index:s,record:d??{},children:l(`div`,{className:` border rounded-lg p-4 space-y-2`,children:[l(`div`,{className:`flex`,children:[l(`div`,{className:`flex-1`,children:[c(m.ItemLabel,{basePath:g,index:s,schema:p.items}),` `,c(r,{title:u??f.title})]}),c(`div`,{children:c(m.OperationComponents,{basePath:g,index:s,schema:p.items})})]}),c(`div`,{className:`space-y-4`,children:c(i,{basePath:g,schema:h,name:s,filterProperties:e=>!t(e),onlyRenderProperties:!0})})]})})});u.displayName=`ArrayItemContent`;var d=u;export{d as default};
@@ -0,0 +1 @@
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;
@@ -0,0 +1,12 @@
1
+ import { ArrayComponentProps } from "../array-base/types.cjs";
2
+ import "../array-base/index.cjs";
3
+ import React from "react";
4
+
5
+ //#region src/components/array-collapse/array-collapse.d.ts
6
+ type Props = ArrayComponentProps & {
7
+ defaultActiveKey?: Array<string | number>;
8
+ mode?: 'accordion' | 'multiple';
9
+ };
10
+ declare const ArrayCollapse: React.FC<Props>;
11
+ //#endregion
12
+ export { ArrayCollapse };
@@ -0,0 +1,12 @@
1
+ import { ArrayComponentProps } from "../array-base/types.js";
2
+ import "../array-base/index.js";
3
+ import React from "react";
4
+
5
+ //#region src/components/array-collapse/array-collapse.d.ts
6
+ type Props = ArrayComponentProps & {
7
+ defaultActiveKey?: Array<string | number>;
8
+ mode?: 'accordion' | 'multiple';
9
+ };
10
+ declare const ArrayCollapse: React.FC<Props>;
11
+ //#endregion
12
+ export { ArrayCollapse };
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
1
+ const e=require(`./array-collapse.cjs`);
@@ -0,0 +1 @@
1
+ import { ArrayCollapse } from "./array-collapse.cjs";
@@ -0,0 +1 @@
1
+ import { ArrayCollapse } from "./array-collapse.js";
@@ -0,0 +1 @@
1
+ import{ArrayCollapse as e}from"./array-collapse.js";
@@ -0,0 +1 @@
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;
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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;
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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;
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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`);
@@ -0,0 +1 @@
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";
@@ -0,0 +1 @@
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;
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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;
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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;
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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;
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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;
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
1
+ const e=require(`./array-dialog.cjs`);
@@ -0,0 +1 @@
1
+ import{ArrayDialog as e}from"./array-dialog.js";
@@ -0,0 +1 @@
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;
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
1
+ const e=require(`./array-popover.cjs`);
@@ -0,0 +1 @@
1
+ import{ArrayPopover as e}from"./array-popover.js";
@@ -0,0 +1 @@
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;
@@ -0,0 +1 @@
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,Popover as o,PopoverContent as s,PopoverTrigger as c}from"@pixpilot/shadcn";const l=t(({schema:t,onSave:l,onCancel:u,children:d,activeItemManager:f})=>{let p=n(),m=f.activeItem,h=f.isNew;return i(o,{open:m!==void 0,onOpenChange:e=>{e||u(m)},children:[d!==void 0&&r(c,{asChild:!0,children:d}),r(s,{className:`w-96`,side:`top`,children:i(`div`,{className:`space-y-4`,children:[i(`div`,{className:`space-y-2`,children:[r(`h4`,{className:`font-medium leading-none`,children:h?`Add New Item`:`Edit Item`}),r(`p`,{className:`text-muted-foreground text-sm`,children:h?`Fill in the details for the new item.`:`Make changes to the item.`})]}),m!=null&&r(`div`,{className:`space-y-4`,children:r(e,{basePath:p.address.concat(m),schema:t,onlyRenderProperties:!0})}),i(`div`,{className:`flex justify-end gap-2`,children:[r(a,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>{u(m)},children:`Cancel`}),r(a,{type:`button`,size:`sm`,onClick:()=>{l(m)},children:`Save`})]})]})})]})});export{l as ArrayItemsEditPopover};
@@ -0,0 +1 @@
1
+ const e=require(`../_virtual/rolldown_runtime.cjs`);let t=require(`@formily/react`);t=e.__toESM(t);let n=require(`@pixpilot/shadcn`);n=e.__toESM(n);const r=(0,t.connect)(n.Checkbox,(0,t.mapProps)({value:`checked`,onInput:`onCheckedChange`},(e,t)=>(t.decoratorProps.labelPlacement=`end`,{...e})));r.labelPlacement=`right`,exports.Checkbox=r;
@@ -0,0 +1,11 @@
1
+ import * as react0 from "react";
2
+ import * as _radix_ui_react_checkbox0 from "@radix-ui/react-checkbox";
3
+
4
+ //#region src/components/checkbox.d.ts
5
+ /**
6
+ * Formily-connected Checkbox component
7
+ * Maps Formily field checked state to shadcn Checkbox
8
+ */
9
+ declare const Checkbox: react0.ForwardRefExoticComponent<Omit<Partial<_radix_ui_react_checkbox0.CheckboxProps & react0.RefAttributes<HTMLButtonElement>>, "ref"> & react0.RefAttributes<unknown>>;
10
+ //#endregion
11
+ export { Checkbox };
@@ -0,0 +1,11 @@
1
+ import * as react0 from "react";
2
+ import * as _radix_ui_react_checkbox0 from "@radix-ui/react-checkbox";
3
+
4
+ //#region src/components/checkbox.d.ts
5
+ /**
6
+ * Formily-connected Checkbox component
7
+ * Maps Formily field checked state to shadcn Checkbox
8
+ */
9
+ declare const Checkbox: react0.ForwardRefExoticComponent<Omit<Partial<_radix_ui_react_checkbox0.CheckboxProps & react0.RefAttributes<HTMLButtonElement>>, "ref"> & react0.RefAttributes<unknown>>;
10
+ //#endregion
11
+ export { Checkbox };
@@ -0,0 +1 @@
1
+ import{connect as e,mapProps as t}from"@formily/react";import{Checkbox as n}from"@pixpilot/shadcn";const r=e(n,t({value:`checked`,onInput:`onCheckedChange`},(e,t)=>(t.decoratorProps.labelPlacement=`end`,{...e})));r.labelPlacement=`right`;export{r as Checkbox};
@@ -0,0 +1 @@
1
+ const e=require(`../_virtual/rolldown_runtime.cjs`);let t=require(`react`);t=e.__toESM(t);let n=require(`react/jsx-runtime`);n=e.__toESM(n);let r=require(`@pixpilot/shadcn`);r=e.__toESM(r);function i({className:e,children:t}){return(0,n.jsx)(`div`,{className:(0,r.cn)(`w-full space-y-4`,e),children:t})}exports.Column=i;
@@ -0,0 +1,41 @@
1
+ import React from "react";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
+
4
+ //#region src/components/column.d.ts
5
+ interface IColumnProps {
6
+ /**
7
+ * Custom className (use Tailwind flex utilities: flex-1, w-1/2, w-1/3, basis-1/4, etc.)
8
+ */
9
+ className?: string;
10
+ /**
11
+ * Children content
12
+ */
13
+ children?: React.ReactNode;
14
+ }
15
+ /**
16
+ * Column component for creating multi-column layouts in forms
17
+ * Should be used as children of Row components
18
+ * Use Tailwind flex utilities for sizing: flex-1, w-1/2, w-1/3, w-1/4, basis-*, grow, shrink, etc.
19
+ *
20
+ * @example
21
+ * ```tsx
22
+ * <Row className="gap-4">
23
+ * <Column className="flex-1">
24
+ * <FormItem label="First Name">
25
+ * <Input />
26
+ * </FormItem>
27
+ * </Column>
28
+ * <Column className="flex-1">
29
+ * <FormItem label="Last Name">
30
+ * <Input />
31
+ * </FormItem>
32
+ * </Column>
33
+ * </Row>
34
+ * ```
35
+ */
36
+ declare function Column({
37
+ className,
38
+ children
39
+ }: IColumnProps): react_jsx_runtime0.JSX.Element;
40
+ //#endregion
41
+ export { Column };
@@ -0,0 +1,41 @@
1
+ import React from "react";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
+
4
+ //#region src/components/column.d.ts
5
+ interface IColumnProps {
6
+ /**
7
+ * Custom className (use Tailwind flex utilities: flex-1, w-1/2, w-1/3, basis-1/4, etc.)
8
+ */
9
+ className?: string;
10
+ /**
11
+ * Children content
12
+ */
13
+ children?: React.ReactNode;
14
+ }
15
+ /**
16
+ * Column component for creating multi-column layouts in forms
17
+ * Should be used as children of Row components
18
+ * Use Tailwind flex utilities for sizing: flex-1, w-1/2, w-1/3, w-1/4, basis-*, grow, shrink, etc.
19
+ *
20
+ * @example
21
+ * ```tsx
22
+ * <Row className="gap-4">
23
+ * <Column className="flex-1">
24
+ * <FormItem label="First Name">
25
+ * <Input />
26
+ * </FormItem>
27
+ * </Column>
28
+ * <Column className="flex-1">
29
+ * <FormItem label="Last Name">
30
+ * <Input />
31
+ * </FormItem>
32
+ * </Column>
33
+ * </Row>
34
+ * ```
35
+ */
36
+ declare function Column({
37
+ className,
38
+ children
39
+ }: IColumnProps): react_jsx_runtime0.JSX.Element;
40
+ //#endregion
41
+ export { Column };
@@ -0,0 +1 @@
1
+ import e from"react";import{jsx as t}from"react/jsx-runtime";import{cn as n}from"@pixpilot/shadcn";function r({className:e,children:r}){return t(`div`,{className:n(`w-full space-y-4`,e),children:r})}export{r as Column};
@@ -0,0 +1 @@
1
+ "use client";const e=require(`../_virtual/rolldown_runtime.cjs`);let t=require(`@formily/react`);t=e.__toESM(t);let n=require(`@pixpilot/shadcn-ui`);n=e.__toESM(n);const r=(0,t.connect)(n.Combobox,(0,t.mapProps)({dataSource:`options`}));exports.Combobox=r;
@@ -0,0 +1,6 @@
1
+ import { FC } from "react";
2
+
3
+ //#region src/components/combobox.d.ts
4
+ declare const Combobox: FC;
5
+ //#endregion
6
+ export { Combobox };
@@ -0,0 +1,6 @@
1
+ import { FC } from "react";
2
+
3
+ //#region src/components/combobox.d.ts
4
+ declare const Combobox: FC;
5
+ //#endregion
6
+ export { Combobox };
@@ -0,0 +1 @@
1
+ "use client";import{connect as e,mapProps as t}from"@formily/react";import{Combobox as n}from"@pixpilot/shadcn-ui";const r=e(n,t({dataSource:`options`}));export{r as Combobox};
@@ -0,0 +1 @@
1
+ "use client";const e=require(`../_virtual/rolldown_runtime.cjs`);let t=require(`@formily/react`);t=e.__toESM(t);let n=require(`@pixpilot/shadcn-ui`);n=e.__toESM(n);let r=require(`react/jsx-runtime`);r=e.__toESM(r);function i(e){return(0,r.jsx)(n.DatePicker,{...e})}const a=(0,t.connect)(i,(0,t.mapProps)());exports.DatePicker=a;
@@ -0,0 +1,17 @@
1
+ import * as react2 from "react";
2
+ import * as react_day_picker0 from "react-day-picker";
3
+
4
+ //#region src/components/date-picker.d.ts
5
+ declare const DatePicker: react2.ForwardRefExoticComponent<Partial<{
6
+ value?: Date;
7
+ onChange?: (date: Date | undefined) => void;
8
+ placeholder?: string;
9
+ } & Omit<{
10
+ value?: Date;
11
+ onChange?: (date: Date | undefined) => void;
12
+ placeholder?: string;
13
+ } & Omit<react_day_picker0.DayPickerProps & {
14
+ buttonVariant?: React.ComponentProps<typeof void 0>["variant"];
15
+ }, "onSelect" | "selected" | "mode">, "onSelect" | "selected" | "mode">> & react2.RefAttributes<unknown>>;
16
+ //#endregion
17
+ export { DatePicker };
@@ -0,0 +1,17 @@
1
+ import * as react2 from "react";
2
+ import * as react_day_picker0 from "react-day-picker";
3
+
4
+ //#region src/components/date-picker.d.ts
5
+ declare const DatePicker: react2.ForwardRefExoticComponent<Partial<{
6
+ value?: Date;
7
+ onChange?: (date: Date | undefined) => void;
8
+ placeholder?: string;
9
+ } & Omit<{
10
+ value?: Date;
11
+ onChange?: (date: Date | undefined) => void;
12
+ placeholder?: string;
13
+ } & Omit<react_day_picker0.DayPickerProps & {
14
+ buttonVariant?: React.ComponentProps<typeof void 0>["variant"];
15
+ }, "onSelect" | "selected" | "mode">, "onSelect" | "selected" | "mode">> & react2.RefAttributes<unknown>>;
16
+ //#endregion
17
+ export { DatePicker };
@@ -0,0 +1 @@
1
+ "use client";import{connect as e,mapProps as t}from"@formily/react";import{DatePicker as n}from"@pixpilot/shadcn-ui";import{jsx as r}from"react/jsx-runtime";function i(e){return r(n,{...e})}const a=e(i,t());export{a as DatePicker};
@@ -0,0 +1,3 @@
1
+ const e=require(`../_virtual/rolldown_runtime.cjs`);let t=require(`@formily/react`);t=e.__toESM(t);let n=require(`react`);n=e.__toESM(n);let r=require(`@pixpilot/shadcn-ui`);r=e.__toESM(r);let i=require(`react/jsx-runtime`);i=e.__toESM(i);let a=require(`pretty-bytes`);a=e.__toESM(a);const o=2097152,s=e=>{let{onFilesReject:o,maxSize:s=2097152,onFileValidate:c}=e,l=(0,t.useField)(),u=n.default.useCallback(e=>{o?.(e);let t=e.filter(e=>e.message.startsWith(`Maximum`)),n=e.filter(e=>e.message.startsWith(`File too large`)),r=e.filter(e=>!n.includes(e)&&!t.includes(e)),i=[];if(t.length>0&&i.push(t[0].message),n.length>0){let e=n.map(e=>`${e.file.name} (${(0,a.default)(e.file.size)})`).join(`
2
+ `);i.push(`Files exceed ${(0,a.default)(s)} limit:\n${e}`)}r.length>0&&r.forEach(e=>{i.push(`${e.message}: ${e.file.name}`)}),l.setFeedback({type:`warning`,messages:[i.join(`
3
+ `)]})},[l,s,o]),d=n.default.useCallback(e=>(l.setFeedback({type:`warning`,messages:[]}),c?.(e)),[l,c]);return(0,i.jsx)(r.FileUploadInline,{...e,maxSize:s,onFilesReject:u,onFileValidate:d})},c=(0,t.connect)(s,(0,t.mapProps)((e,t)=>({...e,value:t.value??null})));exports.FileUploadInline=c;
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import { FileUploadInlineProps } from "@pixpilot/shadcn-ui";
3
+
4
+ //#region src/components/file-upload-inline.d.ts
5
+
6
+ /**
7
+ * Formily-connected FileUploadInline component
8
+ * Automatically connects shadcn FileUploadInline to Formily field state
9
+ */
10
+ declare const FileUploadInline: React.ForwardRefExoticComponent<Omit<Partial<FileUploadInlineProps>, "ref"> & React.RefAttributes<unknown>>;
11
+ //#endregion
12
+ export { FileUploadInline };
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import { FileUploadInlineProps } from "@pixpilot/shadcn-ui";
3
+
4
+ //#region src/components/file-upload-inline.d.ts
5
+
6
+ /**
7
+ * Formily-connected FileUploadInline component
8
+ * Automatically connects shadcn FileUploadInline to Formily field state
9
+ */
10
+ declare const FileUploadInline$1: React.ForwardRefExoticComponent<Omit<Partial<FileUploadInlineProps>, "ref"> & React.RefAttributes<unknown>>;
11
+ //#endregion
12
+ export { FileUploadInline$1 as FileUploadInline };
@@ -0,0 +1,3 @@
1
+ import{connect as e,mapProps as t,useField as n}from"@formily/react";import r from"react";import{FileUploadInline as i}from"@pixpilot/shadcn-ui";import{jsx as a}from"react/jsx-runtime";import o from"pretty-bytes";const s=e(e=>{let{onFilesReject:t,maxSize:s=2097152,onFileValidate:c}=e,l=n(),u=r.useCallback(e=>{t?.(e);let n=e.filter(e=>e.message.startsWith(`Maximum`)),r=e.filter(e=>e.message.startsWith(`File too large`)),i=e.filter(e=>!r.includes(e)&&!n.includes(e)),a=[];if(n.length>0&&a.push(n[0].message),r.length>0){let e=r.map(e=>`${e.file.name} (${o(e.file.size)})`).join(`
2
+ `);a.push(`Files exceed ${o(s)} limit:\n${e}`)}i.length>0&&i.forEach(e=>{a.push(`${e.message}: ${e.file.name}`)}),l.setFeedback({type:`warning`,messages:[a.join(`
3
+ `)]})},[l,s,t]),d=r.useCallback(e=>(l.setFeedback({type:`warning`,messages:[]}),c?.(e)),[l,c]);return a(i,{...e,maxSize:s,onFilesReject:u,onFileValidate:d})},t((e,t)=>({...e,value:t.value??null})));export{s as FileUploadInline};
@@ -0,0 +1 @@
1
+ const e=require(`../_virtual/rolldown_runtime.cjs`);let t=require(`react`);t=e.__toESM(t);let n=require(`react/jsx-runtime`);n=e.__toESM(n);let r=require(`@pixpilot/shadcn`);r=e.__toESM(r);function i({className:e,children:t,...i}){return(0,n.jsx)(`div`,{...i,className:(0,r.cn)(`grid gap-4 grid-cols-3`,e),children:t})}exports.FormGrid=i;
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
+
4
+ //#region src/components/form-grid.d.ts
5
+ interface IFormGridProps extends React.HTMLAttributes<HTMLDivElement> {}
6
+ declare function FormGrid({
7
+ className,
8
+ children,
9
+ ...rest
10
+ }: IFormGridProps): react_jsx_runtime0.JSX.Element;
11
+ //#endregion
12
+ export { FormGrid };
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import * as react_jsx_runtime2 from "react/jsx-runtime";
3
+
4
+ //#region src/components/form-grid.d.ts
5
+ interface IFormGridProps extends React.HTMLAttributes<HTMLDivElement> {}
6
+ declare function FormGrid({
7
+ className,
8
+ children,
9
+ ...rest
10
+ }: IFormGridProps): react_jsx_runtime2.JSX.Element;
11
+ //#endregion
12
+ export { FormGrid };
@@ -0,0 +1 @@
1
+ import e from"react";import{jsx as t}from"react/jsx-runtime";import{cn as n}from"@pixpilot/shadcn";function r({className:e,children:r,...i}){return t(`div`,{...i,className:n(`grid gap-4 grid-cols-3`,e),children:r})}export{r as FormGrid};
@@ -0,0 +1,3 @@
1
+ const e=require(`../_virtual/rolldown_runtime.cjs`);let t=require(`@formily/react`);t=e.__toESM(t);let n=require(`react`);n=e.__toESM(n);let r=require(`react/jsx-runtime`);r=e.__toESM(r);let i=require(`@pixpilot/shadcn`);i=e.__toESM(i);let a=require(`@formily/core`);a=e.__toESM(a);const o=({className:e,children:a,label:o,description:s,asterisk:c,feedbackStatus:l,feedbackText:u,labelPlacement:d=`top`,...f})=>{let p=(0,t.useField)(),m=(p?.componentProps??{}).labelPlacement??d,h=p?.componentProps?.id??`form-${p?.address?.toString()?.replace(/\./gu,`-`)}`,g=n.default.useId(),_=n.default.useId(),v=[s==null?void 0:g,u==null?void 0:_].filter(Boolean).join(` `),y=o!=null&&(0,r.jsxs)(`label`,{htmlFor:h,"data-slot":`form-label`,"data-error":l===`error`,className:(0,i.cn)(`text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70`,l===`error`&&`text-destructive`,(m===`end`||m===`start`)&&`shrink-0`),children:[o,c&&(0,r.jsx)(`span`,{className:`text-destructive ml-1`,"aria-label":`required`,children:`*`})]}),b=(0,r.jsx)(`div`,{className:`relative`,children:n.default.isValidElement(a)?n.default.cloneElement(a,{id:h,"aria-describedby":v||void 0,"aria-invalid":l===`error`?`true`:void 0}):a}),x=(0,r.jsxs)(r.Fragment,{children:[m===`top`&&y,s!=null&&m===`top`&&(0,r.jsx)(`p`,{id:g,className:`text-muted-foreground text-[0.8rem]`,children:s}),(m===`start`||m===`end`)&&(0,r.jsxs)(`div`,{className:(0,i.cn)(`flex items-center gap-2`,m===`start`&&`flex-row`),children:[m===`start`&&y,b,m===`end`&&y]}),m===`top`&&b,s!=null&&(m===`start`||m===`end`)&&(0,r.jsx)(`p`,{id:g,className:`text-muted-foreground text-[0.8rem]`,children:s})]});return(0,r.jsxs)(`div`,{"data-slot":`form-item`,className:(0,i.cn)(`flex flex-col gap-2`,e),...f,children:[x,!!u&&(0,r.jsx)(`p`,{id:_,className:(0,i.cn)(`text-[0.8rem]`,l===`error`&&`text-destructive font-medium`,l===`warning`&&`text-amber-600`,l===`success`&&`text-green-600`),children:typeof u==`string`?u.split(`
2
+ `).map((e,t)=>(0,r.jsxs)(n.default.Fragment,{children:[e,t<u.split(`
3
+ `).length-1&&(0,r.jsx)(`br`,{})]},t)):u})]})},s=(0,t.connect)(o,(0,t.mapProps)((e,t)=>(0,a.isVoidField)(t)?{label:t.title??e.label,description:e.description??t.description,asterisk:e.asterisk,effectiveLabelPlacement:e.labelPlacement??t.componentProps?.effectiveLabelPlacement??`top`}:{label:e.label??t.title,description:e.description??t.description,feedbackStatus:(()=>{if(!t.validating){if(t.selfErrors?.length)return`error`;if(t.selfWarnings?.length)return`warning`;if(t.selfSuccesses?.length)return`success`}})(),feedbackText:(()=>{if(!t.validating){if(e.feedbackText!=null)return e.feedbackText;if(t.selfErrors?.length)return t.selfErrors.join(`, `);if(t.selfWarnings?.length)return t.selfWarnings.join(`, `);if(t.selfSuccesses?.length)return t.selfSuccesses.join(`, `)}})(),asterisk:(()=>t.required&&t.pattern!==`readPretty`?!0:`asterisk`in e?!!e.asterisk:!1)(),effectiveLabelPlacement:e.labelPlacement??t.componentProps?.effectiveLabelPlacement??`top`}));exports.FormItem=s;
@@ -0,0 +1,21 @@
1
+ import React from "react";
2
+
3
+ //#region src/components/form-item.d.ts
4
+ type LabelPlacement = 'top' | 'bottom' | 'start' | 'end';
5
+ interface FormItemProps extends React.ComponentProps<'div'> {
6
+ label?: React.ReactNode;
7
+ description?: React.ReactNode;
8
+ asterisk?: boolean;
9
+ feedbackStatus?: 'error' | 'warning' | 'success';
10
+ feedbackText?: React.ReactNode;
11
+ labelPlacement?: LabelPlacement;
12
+ }
13
+ /**
14
+ * FormItem component connected to Formily field state
15
+ * Automatically maps field validation state to component props
16
+ */
17
+ declare const FormItem: React.ForwardRefExoticComponent<Omit<Partial<FormItemProps & {
18
+ children?: React.ReactNode | undefined;
19
+ }>, "ref"> & React.RefAttributes<unknown>>;
20
+ //#endregion
21
+ export { FormItem, FormItemProps };