@pixpilot/formily-shadcn 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/components/Checkbox.d.cts +2 -2
  2. package/dist/components/Column.d.cts +2 -2
  3. package/dist/components/DatePicker.d.cts +3 -3
  4. package/dist/components/FormGrid.d.cts +2 -2
  5. package/dist/components/IconPicker.d.cts +3 -3
  6. package/dist/components/IconToggle.d.cts +2 -2
  7. package/dist/components/IconToggle.d.ts +2 -2
  8. package/dist/components/Input.d.cts +3 -3
  9. package/dist/components/Input.d.ts +3 -3
  10. package/dist/components/Rating.d.cts +4 -4
  11. package/dist/components/Row.d.cts +2 -2
  12. package/dist/components/Separator.d.cts +2 -2
  13. package/dist/components/Switch.d.cts +2 -2
  14. package/dist/components/TagsInputInline.d.cts +2 -2
  15. package/dist/components/Textarea.d.cts +2 -2
  16. package/dist/components/ToggleButton.d.cts +2 -2
  17. package/dist/components/ToggleGroup.cjs +11 -39
  18. package/dist/components/ToggleGroup.d.cts +8 -6
  19. package/dist/components/ToggleGroup.d.ts +8 -6
  20. package/dist/components/ToggleGroup.js +12 -40
  21. package/dist/components/file-upload/FileUpload.d.cts +8 -8
  22. package/dist/components/file-upload/FileUploadInline.d.cts +8 -8
  23. package/dist/components/schema-field/schema-field-extended.d.cts +9 -9
  24. package/dist/components/schema-field/schema-field-extended.d.ts +632 -632
  25. package/dist/components/schema-field/schema-field.d.ts +412 -412
  26. package/dist/components/slider/Slider.d.cts +3 -3
  27. package/dist/components/slider/Slider.d.ts +3 -3
  28. package/dist/components/slider/SliderInput.d.ts +3 -3
  29. package/dist/components/slider/SliderSelect.d.cts +3 -3
  30. package/dist/components/slider/SliderSelect.d.ts +3 -3
  31. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- import * as react0 from "react";
1
+ import * as react6 from "react";
2
2
  import * as _radix_ui_react_checkbox0 from "@radix-ui/react-checkbox";
3
3
 
4
4
  //#region src/components/Checkbox.d.ts
@@ -6,6 +6,6 @@ import * as _radix_ui_react_checkbox0 from "@radix-ui/react-checkbox";
6
6
  * Formily-connected Checkbox component
7
7
  * Maps Formily field checked state to shadcn Checkbox
8
8
  */
9
- declare const Checkbox: react0.ForwardRefExoticComponent<Omit<Partial<_radix_ui_react_checkbox0.CheckboxProps & react0.RefAttributes<HTMLButtonElement>>, "ref"> & react0.RefAttributes<unknown>>;
9
+ declare const Checkbox: react6.ForwardRefExoticComponent<Omit<Partial<_radix_ui_react_checkbox0.CheckboxProps & react6.RefAttributes<HTMLButtonElement>>, "ref"> & react6.RefAttributes<unknown>>;
10
10
  //#endregion
11
11
  export { Checkbox };
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime4 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/Column.d.ts
5
5
  interface IColumnProps {
@@ -36,6 +36,6 @@ interface IColumnProps {
36
36
  declare function Column({
37
37
  className,
38
38
  children
39
- }: IColumnProps): react_jsx_runtime0.JSX.Element;
39
+ }: IColumnProps): react_jsx_runtime4.JSX.Element;
40
40
  //#endregion
41
41
  export { Column };
@@ -1,11 +1,11 @@
1
- import * as react2 from "react";
1
+ import * as react0 from "react";
2
2
  import { DatePickerProps } from "@pixpilot/shadcn-ui";
3
3
 
4
4
  //#region src/components/DatePicker.d.ts
5
- declare const DatePicker: react2.ForwardRefExoticComponent<Partial<{
5
+ declare const DatePicker: react0.ForwardRefExoticComponent<Partial<{
6
6
  value?: Date;
7
7
  onChange?: (date: Date | undefined) => void;
8
8
  placeholder?: string;
9
- } & Omit<DatePickerProps, "onSelect" | "selected" | "mode">> & react2.RefAttributes<unknown>>;
9
+ } & Omit<DatePickerProps, "onSelect" | "selected" | "mode">> & react0.RefAttributes<unknown>>;
10
10
  //#endregion
11
11
  export { DatePicker };
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import * as react_jsx_runtime1 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/FormGrid.d.ts
5
5
  interface IFormGridProps extends React.HTMLAttributes<HTMLDivElement> {}
@@ -7,6 +7,6 @@ declare function FormGrid({
7
7
  className,
8
8
  children,
9
9
  ...rest
10
- }: IFormGridProps): react_jsx_runtime1.JSX.Element;
10
+ }: IFormGridProps): react_jsx_runtime0.JSX.Element;
11
11
  //#endregion
12
12
  export { FormGrid };
@@ -1,4 +1,4 @@
1
- import * as react11 from "react";
1
+ import * as react4 from "react";
2
2
  import { IconPickerProps, IconProviderProps } from "@pixpilot/shadcn-ui";
3
3
 
4
4
  //#region src/components/IconPicker.d.ts
@@ -8,8 +8,8 @@ import { IconPickerProps, IconProviderProps } from "@pixpilot/shadcn-ui";
8
8
  * Automatically connects to Formily field state
9
9
  * Supports both static and async icon providers
10
10
  */
11
- declare const IconPicker: react11.ForwardRefExoticComponent<Partial<Omit<IconPickerProps, "providers"> & {
11
+ declare const IconPicker: react4.ForwardRefExoticComponent<Partial<Omit<IconPickerProps, "providers"> & {
12
12
  providers?: IconProviderProps[];
13
- }> & react11.RefAttributes<unknown>>;
13
+ }> & react4.RefAttributes<unknown>>;
14
14
  //#endregion
15
15
  export { IconPicker };
@@ -1,4 +1,4 @@
1
- import * as react4 from "react";
1
+ import * as react1 from "react";
2
2
  import * as _pixpilot_shadcn_ui0 from "@pixpilot/shadcn-ui";
3
3
 
4
4
  //#region src/components/IconToggle.d.ts
@@ -6,6 +6,6 @@ import * as _pixpilot_shadcn_ui0 from "@pixpilot/shadcn-ui";
6
6
  * Formily-connected IconToggle component
7
7
  * Toggle button with customizable icons for boolean values
8
8
  */
9
- declare const IconToggle: react4.ForwardRefExoticComponent<Omit<Partial<Omit<_pixpilot_shadcn_ui0.IconToggleProps, "ref"> & react4.RefAttributes<HTMLButtonElement>>, "ref"> & react4.RefAttributes<unknown>>;
9
+ declare const IconToggle: react1.ForwardRefExoticComponent<Omit<Partial<Omit<_pixpilot_shadcn_ui0.IconToggleProps, "ref"> & react1.RefAttributes<HTMLButtonElement>>, "ref"> & react1.RefAttributes<unknown>>;
10
10
  //#endregion
11
11
  export { IconToggle };
@@ -1,4 +1,4 @@
1
- import * as react6 from "react";
1
+ import * as react10 from "react";
2
2
  import * as _pixpilot_shadcn_ui0 from "@pixpilot/shadcn-ui";
3
3
 
4
4
  //#region src/components/IconToggle.d.ts
@@ -6,6 +6,6 @@ import * as _pixpilot_shadcn_ui0 from "@pixpilot/shadcn-ui";
6
6
  * Formily-connected IconToggle component
7
7
  * Toggle button with customizable icons for boolean values
8
8
  */
9
- declare const IconToggle$1: react6.ForwardRefExoticComponent<Omit<Partial<Omit<_pixpilot_shadcn_ui0.IconToggleProps, "ref"> & react6.RefAttributes<HTMLButtonElement>>, "ref"> & react6.RefAttributes<unknown>>;
9
+ declare const IconToggle$1: react10.ForwardRefExoticComponent<Omit<Partial<Omit<_pixpilot_shadcn_ui0.IconToggleProps, "ref"> & react10.RefAttributes<HTMLButtonElement>>, "ref"> & react10.RefAttributes<unknown>>;
10
10
  //#endregion
11
11
  export { IconToggle$1 as IconToggle };
@@ -1,4 +1,4 @@
1
- import * as react7 from "react";
1
+ import * as react9 from "react";
2
2
 
3
3
  //#region src/components/Input.d.ts
4
4
 
@@ -6,12 +6,12 @@ import * as react7 from "react";
6
6
  * Formily-connected Input component
7
7
  * Automatically connects shadcn Input to Formily field state
8
8
  */
9
- declare const Input: react7.ForwardRefExoticComponent<Omit<Partial<react7.ClassAttributes<HTMLInputElement> & react7.InputHTMLAttributes<HTMLInputElement> & {
9
+ declare const Input: react9.ForwardRefExoticComponent<Omit<Partial<react9.ClassAttributes<HTMLInputElement> & react9.InputHTMLAttributes<HTMLInputElement> & {
10
10
  prefix?: React.ReactNode;
11
11
  suffix?: React.ReactNode;
12
12
  groupClassName?: string;
13
13
  prefixClassName?: string;
14
14
  suffixClassName?: string;
15
- }>, "ref"> & react7.RefAttributes<unknown>>;
15
+ }>, "ref"> & react9.RefAttributes<unknown>>;
16
16
  //#endregion
17
17
  export { Input };
@@ -1,4 +1,4 @@
1
- import * as react9 from "react";
1
+ import * as react6 from "react";
2
2
 
3
3
  //#region src/components/Input.d.ts
4
4
 
@@ -6,12 +6,12 @@ import * as react9 from "react";
6
6
  * Formily-connected Input component
7
7
  * Automatically connects shadcn Input to Formily field state
8
8
  */
9
- declare const Input: react9.ForwardRefExoticComponent<Omit<Partial<react9.ClassAttributes<HTMLInputElement> & react9.InputHTMLAttributes<HTMLInputElement> & {
9
+ declare const Input: react6.ForwardRefExoticComponent<Omit<Partial<react6.ClassAttributes<HTMLInputElement> & react6.InputHTMLAttributes<HTMLInputElement> & {
10
10
  prefix?: React.ReactNode;
11
11
  suffix?: React.ReactNode;
12
12
  groupClassName?: string;
13
13
  prefixClassName?: string;
14
14
  suffixClassName?: string;
15
- }>, "ref"> & react9.RefAttributes<unknown>>;
15
+ }>, "ref"> & react6.RefAttributes<unknown>>;
16
16
  //#endregion
17
17
  export { Input };
@@ -1,4 +1,4 @@
1
- import * as react13 from "react";
1
+ import * as react16 from "react";
2
2
  import * as _pixpilot_shadcn_ui0 from "@pixpilot/shadcn-ui";
3
3
 
4
4
  //#region src/components/Rating.d.ts
@@ -6,8 +6,8 @@ import * as _pixpilot_shadcn_ui0 from "@pixpilot/shadcn-ui";
6
6
  * Formily-connected Rating component
7
7
  * Automatically connects shadcn-ui Rating to Formily field state
8
8
  */
9
- declare const Rating: react13.ForwardRefExoticComponent<Partial<_pixpilot_shadcn_ui0.RatingProps & {
10
- children?: react13.ReactNode | undefined;
11
- }> & react13.RefAttributes<unknown>>;
9
+ declare const Rating: react16.ForwardRefExoticComponent<Partial<_pixpilot_shadcn_ui0.RatingProps & {
10
+ children?: react16.ReactNode | undefined;
11
+ }> & react16.RefAttributes<unknown>>;
12
12
  //#endregion
13
13
  export { Rating };
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import * as react_jsx_runtime3 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime1 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/Row.d.ts
5
5
  interface IRowProps {
@@ -36,6 +36,6 @@ interface IRowProps {
36
36
  declare function Row({
37
37
  className,
38
38
  children
39
- }: IRowProps): react_jsx_runtime3.JSX.Element;
39
+ }: IRowProps): react_jsx_runtime1.JSX.Element;
40
40
  //#endregion
41
41
  export { Row };
@@ -1,4 +1,4 @@
1
- import * as react16 from "react";
1
+ import * as react13 from "react";
2
2
  import * as _radix_ui_react_separator0 from "@radix-ui/react-separator";
3
3
 
4
4
  //#region src/components/Separator.d.ts
@@ -6,6 +6,6 @@ import * as _radix_ui_react_separator0 from "@radix-ui/react-separator";
6
6
  * Formily-connected Separator component
7
7
  * A visual divider for content sections
8
8
  */
9
- declare const Separator: react16.ForwardRefExoticComponent<Omit<Partial<_radix_ui_react_separator0.SeparatorProps & react16.RefAttributes<HTMLDivElement>>, "ref"> & react16.RefAttributes<unknown>>;
9
+ declare const Separator: react13.ForwardRefExoticComponent<Omit<Partial<_radix_ui_react_separator0.SeparatorProps & react13.RefAttributes<HTMLDivElement>>, "ref"> & react13.RefAttributes<unknown>>;
10
10
  //#endregion
11
11
  export { Separator };
@@ -1,4 +1,4 @@
1
- import * as react19 from "react";
1
+ import * as react21 from "react";
2
2
  import * as _radix_ui_react_switch0 from "@radix-ui/react-switch";
3
3
 
4
4
  //#region src/components/Switch.d.ts
@@ -6,6 +6,6 @@ import * as _radix_ui_react_switch0 from "@radix-ui/react-switch";
6
6
  * Formily-connected Switch component
7
7
  * Toggle switch for boolean values
8
8
  */
9
- declare const Switch: react19.ForwardRefExoticComponent<Omit<Partial<_radix_ui_react_switch0.SwitchProps & react19.RefAttributes<HTMLButtonElement>>, "ref"> & react19.RefAttributes<unknown>>;
9
+ declare const Switch: react21.ForwardRefExoticComponent<Omit<Partial<_radix_ui_react_switch0.SwitchProps & react21.RefAttributes<HTMLButtonElement>>, "ref"> & react21.RefAttributes<unknown>>;
10
10
  //#endregion
11
11
  export { Switch };
@@ -1,4 +1,4 @@
1
- import * as react26 from "react";
1
+ import * as react19 from "react";
2
2
  import * as _pixpilot_shadcn_ui1 from "@pixpilot/shadcn-ui";
3
3
 
4
4
  //#region src/components/TagsInputInline.d.ts
@@ -10,6 +10,6 @@ import * as _pixpilot_shadcn_ui1 from "@pixpilot/shadcn-ui";
10
10
  * Based on DiceUI's tags-input for inline tag editing with keyboard navigation
11
11
  * and validation support.
12
12
  */
13
- declare const TagsInputInLine: react26.ForwardRefExoticComponent<Partial<_pixpilot_shadcn_ui1.TagsInputProps> & react26.RefAttributes<unknown>>;
13
+ declare const TagsInputInLine: react19.ForwardRefExoticComponent<Partial<_pixpilot_shadcn_ui1.TagsInputProps> & react19.RefAttributes<unknown>>;
14
14
  //#endregion
15
15
  export { TagsInputInLine };
@@ -1,9 +1,9 @@
1
- import * as react22 from "react";
1
+ import * as react27 from "react";
2
2
 
3
3
  //#region src/components/Textarea.d.ts
4
4
  /**
5
5
  * Formily-connected Textarea component
6
6
  */
7
- declare const Textarea: react22.ForwardRefExoticComponent<Omit<Partial<react22.ClassAttributes<HTMLTextAreaElement> & react22.TextareaHTMLAttributes<HTMLTextAreaElement>>, "ref"> & react22.RefAttributes<unknown>>;
7
+ declare const Textarea: react27.ForwardRefExoticComponent<Omit<Partial<react27.ClassAttributes<HTMLTextAreaElement> & react27.TextareaHTMLAttributes<HTMLTextAreaElement>>, "ref"> & react27.RefAttributes<unknown>>;
8
8
  //#endregion
9
9
  export { Textarea };
@@ -1,4 +1,4 @@
1
- import * as react28 from "react";
1
+ import * as react24 from "react";
2
2
  import * as _pixpilot_shadcn_ui2 from "@pixpilot/shadcn-ui";
3
3
 
4
4
  //#region src/components/ToggleButton.d.ts
@@ -6,6 +6,6 @@ import * as _pixpilot_shadcn_ui2 from "@pixpilot/shadcn-ui";
6
6
  * Formily-connected IconToggle component
7
7
  * Toggle button with customizable icons for boolean values
8
8
  */
9
- declare const ToggleButton: react28.ForwardRefExoticComponent<Omit<Partial<Omit<_pixpilot_shadcn_ui2.ToggleButtonProps, "ref"> & react28.RefAttributes<HTMLButtonElement>>, "ref"> & react28.RefAttributes<unknown>>;
9
+ declare const ToggleButton: react24.ForwardRefExoticComponent<Omit<Partial<Omit<_pixpilot_shadcn_ui2.ToggleButtonProps, "ref"> & react24.RefAttributes<HTMLButtonElement>>, "ref"> & react24.RefAttributes<unknown>>;
10
10
  //#endregion
11
11
  export { ToggleButton };
@@ -31,39 +31,17 @@ function coerceOptions(options) {
31
31
  };
32
32
  }).filter((v) => v !== null);
33
33
  }
34
- function ToggleGroupBase({ type = "single", options, value, defaultValue, onValueChange, allowEmptySelection = false, variant = "outline", size, buttonClassName, ref,...props }) {
34
+ function ToggleGroupBase({ options, value, defaultValue, onValueChange, allowEmptySelection = false, variant = "outline", size, fullWidth = true, slots, ref,...props }) {
35
+ const valueString = value === void 0 ? void 0 : String(value);
36
+ const defaultValueString = defaultValue === void 0 ? void 0 : String(defaultValue);
35
37
  const valueByString = react.useMemo(() => {
36
38
  const map = /* @__PURE__ */ new Map();
37
39
  for (const option of options) map.set(String(option.value), option.value);
38
40
  return map;
39
41
  }, [options]);
40
- const items = options.map((option) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn_ui.ToggleGroupItem, {
41
- value: String(option.value),
42
- "aria-label": String(option.value),
43
- disabled: option.disabled,
44
- className: buttonClassName,
45
- children: option.label
46
- }, String(option.value)));
47
- if (type === "multiple") {
48
- const multiValue = Array.isArray(value) ? value.map(String) : [];
49
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn_ui.ToggleGroup, {
50
- ...props,
51
- ref,
52
- type: "multiple",
53
- value: multiValue,
54
- variant: toVariant(variant),
55
- size: toSize(size),
56
- onValueChange: (nextValues) => {
57
- const mappedValues = nextValues.map((v) => valueByString.get(v) ?? v);
58
- onValueChange?.(mappedValues);
59
- },
60
- children: items
61
- });
62
- }
63
- const valueString = value === void 0 || Array.isArray(value) ? void 0 : String(value);
64
- const defaultValueString = defaultValue === void 0 || Array.isArray(defaultValue) ? void 0 : String(defaultValue);
65
42
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn_ui.ToggleGroup, {
66
43
  ...props,
44
+ className: (0, __pixpilot_shadcn_ui.cn)({ "w-full": fullWidth }, props.className),
67
45
  ref,
68
46
  type: "single",
69
47
  value: valueString,
@@ -78,7 +56,13 @@ function ToggleGroupBase({ type = "single", options, value, defaultValue, onValu
78
56
  }
79
57
  onValueChange?.(valueByString.get(nextValue) ?? nextValue);
80
58
  },
81
- children: items
59
+ children: options.map((option) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn_ui.ToggleGroupItem, {
60
+ value: String(option.value),
61
+ "aria-label": String(option.value),
62
+ disabled: option.disabled,
63
+ className: (0, __pixpilot_shadcn_ui.cn)({ "flex-1": fullWidth }, slots?.item?.className),
64
+ children: option.label
65
+ }, String(option.value)))
82
66
  });
83
67
  }
84
68
  /**
@@ -116,22 +100,10 @@ const ToggleGroup = (0, __formily_react.connect)(ToggleGroupBase, (0, __formily_
116
100
  }, (props, field) => {
117
101
  const toggleGroupProps = props;
118
102
  const fieldValue = field.value;
119
- const isMultiple = props.type === "multiple";
120
103
  const resolvedOptions = coerceOptions(require_resolve_field_options.resolveFieldOptions({
121
104
  field,
122
105
  options: props.options
123
106
  }));
124
- if (isMultiple) {
125
- const value$1 = Array.isArray(fieldValue) ? fieldValue.filter(isToggleGroupValue) : [];
126
- return {
127
- ...toggleGroupProps,
128
- options: resolvedOptions,
129
- value: value$1,
130
- onValueChange: (nextValue) => {
131
- field.onInput(nextValue).catch(() => {});
132
- }
133
- };
134
- }
135
107
  const value = isToggleGroupValue(fieldValue) ? fieldValue : void 0;
136
108
  return {
137
109
  ...toggleGroupProps,
@@ -1,5 +1,5 @@
1
1
  import * as React$1 from "react";
2
- import { ToggleGroupProps } from "@pixpilot/shadcn-ui";
2
+ import { ToggleGroupItemProps, ToggleGroupProps } from "@pixpilot/shadcn-ui";
3
3
  import "react/jsx-runtime";
4
4
 
5
5
  //#region src/components/ToggleGroup.d.ts
@@ -12,16 +12,18 @@ interface ToggleGroupOption {
12
12
  disabled?: boolean;
13
13
  }
14
14
  interface ToggleGroupBaseProps extends Omit<ToggleGroupProps, 'type' | 'value' | 'defaultValue' | 'onValueChange' | 'children' | 'variant' | 'size'> {
15
- type?: 'single' | 'multiple';
16
15
  options: readonly ToggleGroupOption[];
17
- value?: ToggleGroupValue | ToggleGroupValue[];
18
- defaultValue?: ToggleGroupValue | ToggleGroupValue[];
19
- onValueChange?: ((value: ToggleGroupValue | undefined) => void) | ((value: ToggleGroupValue[]) => void);
16
+ value?: ToggleGroupValue;
17
+ defaultValue?: ToggleGroupValue;
18
+ onValueChange?: (value: ToggleGroupValue | undefined) => void;
20
19
  allowEmptySelection?: boolean;
21
20
  variant?: ToggleGroupVariant;
22
21
  size?: ToggleGroupSize;
23
- buttonClassName?: string;
22
+ slots: {
23
+ item?: ToggleGroupItemProps;
24
+ };
24
25
  ref?: React$1.Ref<HTMLDivElement>;
26
+ fullWidth?: boolean;
25
27
  }
26
28
  /**
27
29
  * ToggleGroup component for single selection from a set of options.
@@ -1,5 +1,5 @@
1
1
  import * as React$1 from "react";
2
- import { ToggleGroupProps } from "@pixpilot/shadcn-ui";
2
+ import { ToggleGroupItemProps, ToggleGroupProps } from "@pixpilot/shadcn-ui";
3
3
  import "react/jsx-runtime";
4
4
 
5
5
  //#region src/components/ToggleGroup.d.ts
@@ -12,16 +12,18 @@ interface ToggleGroupOption {
12
12
  disabled?: boolean;
13
13
  }
14
14
  interface ToggleGroupBaseProps extends Omit<ToggleGroupProps, 'type' | 'value' | 'defaultValue' | 'onValueChange' | 'children' | 'variant' | 'size'> {
15
- type?: 'single' | 'multiple';
16
15
  options: readonly ToggleGroupOption[];
17
- value?: ToggleGroupValue | ToggleGroupValue[];
18
- defaultValue?: ToggleGroupValue | ToggleGroupValue[];
19
- onValueChange?: ((value: ToggleGroupValue | undefined) => void) | ((value: ToggleGroupValue[]) => void);
16
+ value?: ToggleGroupValue;
17
+ defaultValue?: ToggleGroupValue;
18
+ onValueChange?: (value: ToggleGroupValue | undefined) => void;
20
19
  allowEmptySelection?: boolean;
21
20
  variant?: ToggleGroupVariant;
22
21
  size?: ToggleGroupSize;
23
- buttonClassName?: string;
22
+ slots: {
23
+ item?: ToggleGroupItemProps;
24
+ };
24
25
  ref?: React$1.Ref<HTMLDivElement>;
26
+ fullWidth?: boolean;
25
27
  }
26
28
  /**
27
29
  * ToggleGroup component for single selection from a set of options.
@@ -1,7 +1,7 @@
1
1
  import { resolveFieldOptions } from "../utils/resolve-field-options.js";
2
2
  import { connect, mapProps } from "@formily/react";
3
3
  import * as React$1 from "react";
4
- import { ToggleGroup, ToggleGroupItem } from "@pixpilot/shadcn-ui";
4
+ import { ToggleGroup, ToggleGroupItem, cn } from "@pixpilot/shadcn-ui";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
 
7
7
  //#region src/components/ToggleGroup.tsx
@@ -26,39 +26,17 @@ function coerceOptions(options) {
26
26
  };
27
27
  }).filter((v) => v !== null);
28
28
  }
29
- function ToggleGroupBase({ type = "single", options, value, defaultValue, onValueChange, allowEmptySelection = false, variant = "outline", size, buttonClassName, ref,...props }) {
29
+ function ToggleGroupBase({ options, value, defaultValue, onValueChange, allowEmptySelection = false, variant = "outline", size, fullWidth = true, slots, ref,...props }) {
30
+ const valueString = value === void 0 ? void 0 : String(value);
31
+ const defaultValueString = defaultValue === void 0 ? void 0 : String(defaultValue);
30
32
  const valueByString = React$1.useMemo(() => {
31
33
  const map = /* @__PURE__ */ new Map();
32
34
  for (const option of options) map.set(String(option.value), option.value);
33
35
  return map;
34
36
  }, [options]);
35
- const items = options.map((option) => /* @__PURE__ */ jsx(ToggleGroupItem, {
36
- value: String(option.value),
37
- "aria-label": String(option.value),
38
- disabled: option.disabled,
39
- className: buttonClassName,
40
- children: option.label
41
- }, String(option.value)));
42
- if (type === "multiple") {
43
- const multiValue = Array.isArray(value) ? value.map(String) : [];
44
- return /* @__PURE__ */ jsx(ToggleGroup, {
45
- ...props,
46
- ref,
47
- type: "multiple",
48
- value: multiValue,
49
- variant: toVariant(variant),
50
- size: toSize(size),
51
- onValueChange: (nextValues) => {
52
- const mappedValues = nextValues.map((v) => valueByString.get(v) ?? v);
53
- onValueChange?.(mappedValues);
54
- },
55
- children: items
56
- });
57
- }
58
- const valueString = value === void 0 || Array.isArray(value) ? void 0 : String(value);
59
- const defaultValueString = defaultValue === void 0 || Array.isArray(defaultValue) ? void 0 : String(defaultValue);
60
37
  return /* @__PURE__ */ jsx(ToggleGroup, {
61
38
  ...props,
39
+ className: cn({ "w-full": fullWidth }, props.className),
62
40
  ref,
63
41
  type: "single",
64
42
  value: valueString,
@@ -73,7 +51,13 @@ function ToggleGroupBase({ type = "single", options, value, defaultValue, onValu
73
51
  }
74
52
  onValueChange?.(valueByString.get(nextValue) ?? nextValue);
75
53
  },
76
- children: items
54
+ children: options.map((option) => /* @__PURE__ */ jsx(ToggleGroupItem, {
55
+ value: String(option.value),
56
+ "aria-label": String(option.value),
57
+ disabled: option.disabled,
58
+ className: cn({ "flex-1": fullWidth }, slots?.item?.className),
59
+ children: option.label
60
+ }, String(option.value)))
77
61
  });
78
62
  }
79
63
  /**
@@ -111,22 +95,10 @@ const ToggleGroup$1 = connect(ToggleGroupBase, mapProps({
111
95
  }, (props, field) => {
112
96
  const toggleGroupProps = props;
113
97
  const fieldValue = field.value;
114
- const isMultiple = props.type === "multiple";
115
98
  const resolvedOptions = coerceOptions(resolveFieldOptions({
116
99
  field,
117
100
  options: props.options
118
101
  }));
119
- if (isMultiple) {
120
- const value$1 = Array.isArray(fieldValue) ? fieldValue.filter(isToggleGroupValue) : [];
121
- return {
122
- ...toggleGroupProps,
123
- options: resolvedOptions,
124
- value: value$1,
125
- onValueChange: (nextValue) => {
126
- field.onInput(nextValue).catch(() => {});
127
- }
128
- };
129
- }
130
102
  const value = isToggleGroupValue(fieldValue) ? fieldValue : void 0;
131
103
  return {
132
104
  ...toggleGroupProps,
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import * as _pixpilot_shadcn_ui3 from "@pixpilot/shadcn-ui";
2
+ import * as _pixpilot_shadcn_ui13 from "@pixpilot/shadcn-ui";
3
3
 
4
4
  //#region src/components/file-upload/FileUpload.d.ts
5
5
 
@@ -7,14 +7,14 @@ import * as _pixpilot_shadcn_ui3 from "@pixpilot/shadcn-ui";
7
7
  * Formily-connected FileUploadInline component
8
8
  * Automatically connects shadcn FileUploadInline to Formily field state
9
9
  */
10
- declare const FileUpload: React.ForwardRefExoticComponent<(Omit<Partial<_pixpilot_shadcn_ui3.FileUploadInlineBaseProps & _pixpilot_shadcn_ui3.FileUploadRootPropsBaseProps & {
10
+ declare const FileUpload: React.ForwardRefExoticComponent<(Omit<Partial<_pixpilot_shadcn_ui13.FileUploadInlineBaseProps & _pixpilot_shadcn_ui13.FileUploadRootPropsBaseProps & {
11
11
  multiple: true;
12
- value?: _pixpilot_shadcn_ui3.FileMetadata[];
13
- onChange?: _pixpilot_shadcn_ui3.OnChangeMultipleFiles;
14
- } & _pixpilot_shadcn_ui3.FileUploadBaseProps>, "ref"> | Omit<Partial<_pixpilot_shadcn_ui3.FileUploadInlineBaseProps & _pixpilot_shadcn_ui3.FileUploadRootPropsBaseProps & {
12
+ value?: _pixpilot_shadcn_ui13.FileMetadata[];
13
+ onChange?: _pixpilot_shadcn_ui13.OnChangeMultipleFiles;
14
+ } & _pixpilot_shadcn_ui13.FileUploadBaseProps>, "ref"> | Omit<Partial<_pixpilot_shadcn_ui13.FileUploadInlineBaseProps & _pixpilot_shadcn_ui13.FileUploadRootPropsBaseProps & {
15
15
  multiple?: false;
16
- value?: _pixpilot_shadcn_ui3.FileMetadata | null;
17
- onChange?: _pixpilot_shadcn_ui3.OnChangeSingleFile;
18
- } & _pixpilot_shadcn_ui3.FileUploadBaseProps>, "ref">) & React.RefAttributes<unknown>>;
16
+ value?: _pixpilot_shadcn_ui13.FileMetadata | null;
17
+ onChange?: _pixpilot_shadcn_ui13.OnChangeSingleFile;
18
+ } & _pixpilot_shadcn_ui13.FileUploadBaseProps>, "ref">) & React.RefAttributes<unknown>>;
19
19
  //#endregion
20
20
  export { FileUpload };
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import * as _pixpilot_shadcn_ui13 from "@pixpilot/shadcn-ui";
2
+ import * as _pixpilot_shadcn_ui3 from "@pixpilot/shadcn-ui";
3
3
 
4
4
  //#region src/components/file-upload/FileUploadInline.d.ts
5
5
 
@@ -7,14 +7,14 @@ import * as _pixpilot_shadcn_ui13 from "@pixpilot/shadcn-ui";
7
7
  * Formily-connected FileUploadInline component
8
8
  * Automatically connects shadcn FileUploadInline to Formily field state
9
9
  */
10
- declare const FileUploadInline: React.ForwardRefExoticComponent<(Omit<Partial<_pixpilot_shadcn_ui13.FileUploadInlineBaseProps & _pixpilot_shadcn_ui13.FileUploadRootPropsBaseProps & {
10
+ declare const FileUploadInline: React.ForwardRefExoticComponent<(Omit<Partial<_pixpilot_shadcn_ui3.FileUploadInlineBaseProps & _pixpilot_shadcn_ui3.FileUploadRootPropsBaseProps & {
11
11
  multiple: true;
12
- value?: _pixpilot_shadcn_ui13.FileMetadata[];
13
- onChange?: _pixpilot_shadcn_ui13.OnChangeMultipleFiles;
14
- } & _pixpilot_shadcn_ui13.FileUploadBaseProps>, "ref"> | Omit<Partial<_pixpilot_shadcn_ui13.FileUploadInlineBaseProps & _pixpilot_shadcn_ui13.FileUploadRootPropsBaseProps & {
12
+ value?: _pixpilot_shadcn_ui3.FileMetadata[];
13
+ onChange?: _pixpilot_shadcn_ui3.OnChangeMultipleFiles;
14
+ } & _pixpilot_shadcn_ui3.FileUploadBaseProps>, "ref"> | Omit<Partial<_pixpilot_shadcn_ui3.FileUploadInlineBaseProps & _pixpilot_shadcn_ui3.FileUploadRootPropsBaseProps & {
15
15
  multiple?: false;
16
- value?: _pixpilot_shadcn_ui13.FileMetadata | null;
17
- onChange?: _pixpilot_shadcn_ui13.OnChangeSingleFile;
18
- } & _pixpilot_shadcn_ui13.FileUploadBaseProps>, "ref">) & React.RefAttributes<unknown>>;
16
+ value?: _pixpilot_shadcn_ui3.FileMetadata | null;
17
+ onChange?: _pixpilot_shadcn_ui3.OnChangeSingleFile;
18
+ } & _pixpilot_shadcn_ui3.FileUploadBaseProps>, "ref">) & React.RefAttributes<unknown>>;
19
19
  //#endregion
20
20
  export { FileUploadInline };