@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.
- package/LICENSE +21 -0
- package/README.md +204 -0
- package/dist/_virtual/rolldown_runtime.cjs +1 -0
- package/dist/_virtual/rolldown_runtime.js +1 -0
- package/dist/components/array-base/array-base.cjs +1 -0
- package/dist/components/array-base/array-base.d.cts +13 -0
- package/dist/components/array-base/array-base.d.ts +13 -0
- package/dist/components/array-base/array-base.js +1 -0
- package/dist/components/array-base/array-context.cjs +1 -0
- package/dist/components/array-base/array-context.d.cts +17 -0
- package/dist/components/array-base/array-context.d.ts +17 -0
- package/dist/components/array-base/array-context.js +1 -0
- package/dist/components/array-base/component-context.cjs +1 -0
- package/dist/components/array-base/component-context.d.cts +3 -0
- package/dist/components/array-base/component-context.d.ts +3 -0
- package/dist/components/array-base/component-context.js +1 -0
- package/dist/components/array-base/components/addition.cjs +1 -0
- package/dist/components/array-base/components/addition.d.cts +13 -0
- package/dist/components/array-base/components/addition.d.ts +13 -0
- package/dist/components/array-base/components/addition.js +1 -0
- package/dist/components/array-base/components/array-copy.cjs +1 -0
- package/dist/components/array-base/components/array-copy.js +1 -0
- package/dist/components/array-base/components/array-index.cjs +1 -0
- package/dist/components/array-base/components/array-index.js +1 -0
- package/dist/components/array-base/components/array-item-label.cjs +1 -0
- package/dist/components/array-base/components/array-item-label.js +1 -0
- package/dist/components/array-base/components/components.cjs +1 -0
- package/dist/components/array-base/components/components.js +1 -0
- package/dist/components/array-base/components/edit.cjs +1 -0
- package/dist/components/array-base/components/edit.js +1 -0
- package/dist/components/array-base/components/empty.cjs +1 -0
- package/dist/components/array-base/components/empty.js +1 -0
- package/dist/components/array-base/components/get-array-components.cjs +1 -0
- package/dist/components/array-base/components/get-array-components.js +1 -0
- package/dist/components/array-base/components/move-down.cjs +1 -0
- package/dist/components/array-base/components/move-down.js +1 -0
- package/dist/components/array-base/components/move-up.cjs +1 -0
- package/dist/components/array-base/components/move-up.js +1 -0
- package/dist/components/array-base/components/remove.cjs +1 -0
- package/dist/components/array-base/components/remove.js +1 -0
- package/dist/components/array-base/components/title.cjs +1 -0
- package/dist/components/array-base/components/title.js +1 -0
- package/dist/components/array-base/components/types.d.cts +30 -0
- package/dist/components/array-base/components/types.d.ts +30 -0
- package/dist/components/array-base/components/use-array-components-registry.cjs +1 -0
- package/dist/components/array-base/components/use-array-components-registry.d.cts +4 -0
- package/dist/components/array-base/components/use-array-components-registry.d.ts +4 -0
- package/dist/components/array-base/components/use-array-components-registry.js +1 -0
- package/dist/components/array-base/constants/index.cjs +1 -0
- package/dist/components/array-base/constants/index.js +1 -0
- package/dist/components/array-base/index.cjs +1 -0
- package/dist/components/array-base/index.d.cts +3 -0
- package/dist/components/array-base/index.d.ts +3 -0
- package/dist/components/array-base/index.js +1 -0
- package/dist/components/array-base/types.d.cts +37 -0
- package/dist/components/array-base/types.d.ts +37 -0
- package/dist/components/array-base/utils/filter-and-sort-components.cjs +1 -0
- package/dist/components/array-base/utils/filter-and-sort-components.js +1 -0
- package/dist/components/array-base/utils/is-array-component.cjs +1 -0
- package/dist/components/array-base/utils/is-array-component.js +1 -0
- package/dist/components/array-cards/array-cards.cjs +1 -0
- package/dist/components/array-cards/array-cards.d.cts +7 -0
- package/dist/components/array-cards/array-cards.d.ts +7 -0
- package/dist/components/array-cards/array-cards.js +1 -0
- package/dist/components/array-cards/index.cjs +1 -0
- package/dist/components/array-cards/index.d.cts +1 -0
- package/dist/components/array-cards/index.d.ts +1 -0
- package/dist/components/array-cards/index.js +1 -0
- package/dist/components/array-cards/item.cjs +1 -0
- package/dist/components/array-cards/item.js +1 -0
- package/dist/components/array-collapse/array-collapse.cjs +1 -0
- package/dist/components/array-collapse/array-collapse.d.cts +12 -0
- package/dist/components/array-collapse/array-collapse.d.ts +12 -0
- package/dist/components/array-collapse/array-collapse.js +1 -0
- package/dist/components/array-collapse/index.cjs +1 -0
- package/dist/components/array-collapse/index.d.cts +1 -0
- package/dist/components/array-collapse/index.d.ts +1 -0
- package/dist/components/array-collapse/index.js +1 -0
- package/dist/components/array-collapse/item.cjs +1 -0
- package/dist/components/array-collapse/item.js +1 -0
- package/dist/components/array-common/array-items-list.cjs +1 -0
- package/dist/components/array-common/array-items-list.js +1 -0
- package/dist/components/array-common/create-active-item-manager.cjs +1 -0
- package/dist/components/array-common/create-active-item-manager.js +1 -0
- package/dist/components/array-common/index.cjs +1 -0
- package/dist/components/array-common/index.js +1 -0
- package/dist/components/array-common/item-wrapper.cjs +1 -0
- package/dist/components/array-common/item-wrapper.js +1 -0
- package/dist/components/array-common/list-item.cjs +1 -0
- package/dist/components/array-common/list-item.js +1 -0
- package/dist/components/array-common/use-array-editor.cjs +1 -0
- package/dist/components/array-common/use-array-editor.js +1 -0
- package/dist/components/array-dialog/array-dialog.cjs +1 -0
- package/dist/components/array-dialog/array-dialog.js +1 -0
- package/dist/components/array-dialog/edit-dialog.cjs +1 -0
- package/dist/components/array-dialog/edit-dialog.js +1 -0
- package/dist/components/array-dialog/index.cjs +1 -0
- package/dist/components/array-dialog/index.js +1 -0
- package/dist/components/array-popover/array-popover.cjs +1 -0
- package/dist/components/array-popover/array-popover.js +1 -0
- package/dist/components/array-popover/index.cjs +1 -0
- package/dist/components/array-popover/index.js +1 -0
- package/dist/components/array-popover/popover.cjs +1 -0
- package/dist/components/array-popover/popover.js +1 -0
- package/dist/components/checkbox.cjs +1 -0
- package/dist/components/checkbox.d.cts +11 -0
- package/dist/components/checkbox.d.ts +11 -0
- package/dist/components/checkbox.js +1 -0
- package/dist/components/column.cjs +1 -0
- package/dist/components/column.d.cts +41 -0
- package/dist/components/column.d.ts +41 -0
- package/dist/components/column.js +1 -0
- package/dist/components/combobox.cjs +1 -0
- package/dist/components/combobox.d.cts +6 -0
- package/dist/components/combobox.d.ts +6 -0
- package/dist/components/combobox.js +1 -0
- package/dist/components/date-picker.cjs +1 -0
- package/dist/components/date-picker.d.cts +17 -0
- package/dist/components/date-picker.d.ts +17 -0
- package/dist/components/date-picker.js +1 -0
- package/dist/components/file-upload-inline.cjs +3 -0
- package/dist/components/file-upload-inline.d.cts +12 -0
- package/dist/components/file-upload-inline.d.ts +12 -0
- package/dist/components/file-upload-inline.js +3 -0
- package/dist/components/form-grid.cjs +1 -0
- package/dist/components/form-grid.d.cts +12 -0
- package/dist/components/form-grid.d.ts +12 -0
- package/dist/components/form-grid.js +1 -0
- package/dist/components/form-item.cjs +3 -0
- package/dist/components/form-item.d.cts +21 -0
- package/dist/components/form-item.d.ts +21 -0
- package/dist/components/form-item.js +3 -0
- package/dist/components/form.cjs +1 -0
- package/dist/components/form.d.cts +26 -0
- package/dist/components/form.d.ts +26 -0
- package/dist/components/form.js +1 -0
- package/dist/components/input.cjs +1 -0
- package/dist/components/input.d.cts +11 -0
- package/dist/components/input.d.ts +11 -0
- package/dist/components/input.js +1 -0
- package/dist/components/number-input.cjs +1 -0
- package/dist/components/number-input.d.cts +9 -0
- package/dist/components/number-input.d.ts +9 -0
- package/dist/components/number-input.js +1 -0
- package/dist/components/radio.cjs +1 -0
- package/dist/components/radio.d.cts +24 -0
- package/dist/components/radio.d.ts +24 -0
- package/dist/components/radio.js +1 -0
- package/dist/components/row.cjs +1 -0
- package/dist/components/row.d.cts +41 -0
- package/dist/components/row.d.ts +41 -0
- package/dist/components/row.js +1 -0
- package/dist/components/schema-field.cjs +1 -0
- package/dist/components/schema-field.d.cts +396 -0
- package/dist/components/schema-field.d.ts +396 -0
- package/dist/components/schema-field.js +1 -0
- package/dist/components/select.cjs +1 -0
- package/dist/components/select.d.cts +6 -0
- package/dist/components/select.d.ts +6 -0
- package/dist/components/select.js +1 -0
- package/dist/components/separator.cjs +1 -0
- package/dist/components/separator.d.cts +11 -0
- package/dist/components/separator.d.ts +11 -0
- package/dist/components/separator.js +1 -0
- package/dist/components/slider.cjs +1 -0
- package/dist/components/slider.d.cts +12 -0
- package/dist/components/slider.d.ts +12 -0
- package/dist/components/slider.js +1 -0
- package/dist/components/switch.cjs +1 -0
- package/dist/components/switch.d.cts +11 -0
- package/dist/components/switch.d.ts +11 -0
- package/dist/components/switch.js +1 -0
- package/dist/components/tags-input-inline.cjs +1 -0
- package/dist/components/tags-input-inline.d.cts +15 -0
- package/dist/components/tags-input-inline.d.ts +15 -0
- package/dist/components/tags-input-inline.js +1 -0
- package/dist/components/textarea.cjs +1 -0
- package/dist/components/textarea.d.cts +9 -0
- package/dist/components/textarea.d.ts +9 -0
- package/dist/components/textarea.js +1 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.cts +33 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.js +1 -0
- package/dist/utils/create-panel-state-manager.cjs +1 -0
- package/dist/utils/create-panel-state-manager.js +1 -0
- package/dist/utils/for-each-schema.cjs +1 -0
- package/dist/utils/for-each-schema.js +1 -0
- package/dist/utils/get-array-item-info.cjs +1 -0
- package/dist/utils/get-array-item-info.js +1 -0
- package/dist/utils/get-default-value.cjs +1 -0
- package/dist/utils/get-default-value.js +1 -0
- package/dist/utils/has-array-item-errors.cjs +1 -0
- package/dist/utils/has-array-item-errors.js +1 -0
- package/dist/utils/has-error.cjs +1 -0
- package/dist/utils/has-error.js +1 -0
- package/dist/utils/index.cjs +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/transform-schema.cjs +1 -0
- package/dist/utils/transform-schema.js +1 -0
- package/dist/utils/use-array-item-editor.cjs +1 -0
- package/dist/utils/use-array-item-editor.js +1 -0
- package/dist/utils/validate-array-item-fields.cjs +1 -0
- package/dist/utils/validate-array-item-fields.js +1 -0
- 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 @@
|
|
|
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 @@
|
|
|
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 };
|