@manafishrov/ui 1.3.4 → 1.3.6

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 (59) hide show
  1. package/dist/components/form/AutoSubmit.js +12 -12
  2. package/dist/components/form/AutoSubmit.js.map +1 -1
  3. package/dist/components/form/ComboboxField.d.ts +2 -1
  4. package/dist/components/form/ComboboxField.js +55 -47
  5. package/dist/components/form/ComboboxField.js.map +1 -1
  6. package/dist/components/form/DatePickerField.d.ts +2 -1
  7. package/dist/components/form/DatePickerField.js +36 -28
  8. package/dist/components/form/DatePickerField.js.map +1 -1
  9. package/dist/components/form/Form.js +37 -37
  10. package/dist/components/form/Form.js.map +1 -1
  11. package/dist/components/form/NumberInputField.d.ts +2 -1
  12. package/dist/components/form/NumberInputField.js +63 -55
  13. package/dist/components/form/NumberInputField.js.map +1 -1
  14. package/dist/components/form/PasswordInputField.d.ts +2 -1
  15. package/dist/components/form/PasswordInputField.js +72 -60
  16. package/dist/components/form/PasswordInputField.js.map +1 -1
  17. package/dist/components/form/PinInputField.d.ts +2 -1
  18. package/dist/components/form/PinInputField.js +48 -40
  19. package/dist/components/form/PinInputField.js.map +1 -1
  20. package/dist/components/form/RadioGroupField.d.ts +2 -1
  21. package/dist/components/form/RadioGroupField.js +47 -39
  22. package/dist/components/form/RadioGroupField.js.map +1 -1
  23. package/dist/components/form/SelectField.d.ts +2 -1
  24. package/dist/components/form/SelectField.js +43 -35
  25. package/dist/components/form/SelectField.js.map +1 -1
  26. package/dist/components/form/SliderField.d.ts +2 -1
  27. package/dist/components/form/SliderField.js +42 -34
  28. package/dist/components/form/SliderField.js.map +1 -1
  29. package/dist/components/form/TagsInputField.d.ts +2 -1
  30. package/dist/components/form/TagsInputField.js +45 -37
  31. package/dist/components/form/TagsInputField.js.map +1 -1
  32. package/dist/components/form/TextInputField.d.ts +2 -1
  33. package/dist/components/form/TextInputField.js +38 -30
  34. package/dist/components/form/TextInputField.js.map +1 -1
  35. package/dist/components/form/TextareaField.d.ts +2 -1
  36. package/dist/components/form/TextareaField.js +36 -28
  37. package/dist/components/form/TextareaField.js.map +1 -1
  38. package/dist/components/form/WithTrailingAddon.d.ts +6 -0
  39. package/dist/components/form/WithTrailingAddon.js +18 -0
  40. package/dist/components/form/WithTrailingAddon.js.map +1 -0
  41. package/dist/components/form/index.d.ts +2 -0
  42. package/dist/components/form/index.js +42 -40
  43. package/dist/components/form/index.js.map +1 -1
  44. package/package.json +1 -1
  45. package/src/components/form/AutoSubmit.tsx +8 -13
  46. package/src/components/form/ComboboxField.tsx +27 -22
  47. package/src/components/form/DatePickerField.tsx +25 -20
  48. package/src/components/form/Form.tsx +2 -1
  49. package/src/components/form/NumberInputField.tsx +25 -20
  50. package/src/components/form/PasswordInputField.tsx +53 -33
  51. package/src/components/form/PinInputField.tsx +24 -19
  52. package/src/components/form/RadioGroupField.tsx +23 -18
  53. package/src/components/form/SelectField.tsx +21 -16
  54. package/src/components/form/SliderField.tsx +24 -19
  55. package/src/components/form/TagsInputField.tsx +26 -21
  56. package/src/components/form/TextInputField.tsx +18 -13
  57. package/src/components/form/TextareaField.tsx +18 -13
  58. package/src/components/form/WithTrailingAddon.tsx +15 -0
  59. package/src/components/form/index.ts +2 -0
@@ -1,13 +1,14 @@
1
- import { createComponent as t, mergeProps as i, memo as a } from "solid-js/web";
2
- import { splitProps as o } from "solid-js";
3
- import { Field as u, FieldContent as s, FieldError as g, FieldDescription as m } from "../Field.js";
4
- import { RadioGroup as p, RadioGroupLabel as c } from "../RadioGroup.js";
5
- import { useFieldContext as h } from "./context.js";
6
- const y = (l) => {
7
- const r = h(), [e, n] = o(l, ["label", "description", "required", "disabled", "readOnly", "children"]);
8
- return t(u, {
1
+ import { createComponent as r, mergeProps as i, memo as a } from "solid-js/web";
2
+ import { Field as o, FieldContent as u, FieldError as s, FieldDescription as g } from "../Field.js";
3
+ import { RadioGroup as m, RadioGroupLabel as p } from "../RadioGroup.js";
4
+ import { useFieldContext as c } from "./context.js";
5
+ import { WithTrailingAddon as h } from "./WithTrailingAddon.js";
6
+ import { splitProps as f } from "solid-js";
7
+ const O = (n) => {
8
+ const t = c(), [e, l] = f(n, ["label", "description", "required", "disabled", "readOnly", "children", "trailingAddon"]);
9
+ return r(o, {
9
10
  get invalid() {
10
- return r().state.meta.errors.length > 0;
11
+ return t().state.meta.errors.length > 0;
11
12
  },
12
13
  get required() {
13
14
  return e.required ?? !1;
@@ -19,43 +20,50 @@ const y = (l) => {
19
20
  return e.readOnly ?? !1;
20
21
  },
21
22
  get children() {
22
- return t(s, {
23
+ return r(u, {
23
24
  get children() {
24
- return [t(p, i({
25
- get value() {
26
- return r().state.value;
25
+ return [r(h, {
26
+ get addon() {
27
+ return e.trailingAddon;
27
28
  },
28
- onValueChange: (d) => {
29
- r().handleChange(d.value ?? "");
30
- },
31
- onBlur: () => {
32
- r().handleBlur();
33
- },
34
- get invalid() {
35
- return r().state.meta.errors.length > 0;
36
- },
37
- get disabled() {
38
- return e.disabled ?? !1;
39
- },
40
- get readOnly() {
41
- return e.readOnly ?? !1;
42
- },
43
- get required() {
44
- return e.required ?? !1;
45
- }
46
- }, n, {
47
29
  get children() {
48
- return [t(c, {
30
+ return r(m, i({
31
+ get value() {
32
+ return t().state.value;
33
+ },
34
+ onValueChange: (d) => {
35
+ t().handleChange(d.value ?? "");
36
+ },
37
+ onBlur: () => {
38
+ t().handleBlur();
39
+ },
40
+ get invalid() {
41
+ return t().state.meta.errors.length > 0;
42
+ },
43
+ get disabled() {
44
+ return e.disabled ?? !1;
45
+ },
46
+ get readOnly() {
47
+ return e.readOnly ?? !1;
48
+ },
49
+ get required() {
50
+ return e.required ?? !1;
51
+ }
52
+ }, l, {
49
53
  get children() {
50
- return e.label;
54
+ return [r(p, {
55
+ get children() {
56
+ return e.label;
57
+ }
58
+ }), a(() => e.children)];
51
59
  }
52
- }), a(() => e.children)];
60
+ }));
53
61
  }
54
- })), t(g, {
62
+ }), r(s, {
55
63
  get errors() {
56
- return r().state.meta.errors;
64
+ return t().state.meta.errors;
57
65
  }
58
- }), t(m, {
66
+ }), r(g, {
59
67
  get children() {
60
68
  return e.description;
61
69
  }
@@ -66,6 +74,6 @@ const y = (l) => {
66
74
  });
67
75
  };
68
76
  export {
69
- y as RadioGroupField
77
+ O as RadioGroupField
70
78
  };
71
79
  //# sourceMappingURL=RadioGroupField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroupField.js","sources":["../../../src/components/form/RadioGroupField.tsx"],"sourcesContent":["import { type Component, type ComponentProps, splitProps } from 'solid-js';\n\nimport { Field, FieldContent, FieldError, FieldDescription } from '@/components/Field';\nimport { RadioGroup, RadioGroupLabel } from '@/components/RadioGroup';\n\nimport { useFieldContext } from './context';\n\nexport type RadioGroupFieldProps = ComponentProps<typeof RadioGroup> & {\n label?: string;\n description?: string;\n};\n\nexport const RadioGroupField: Component<RadioGroupFieldProps> = (props) => {\n const field = useFieldContext<string>();\n const [local, others] = splitProps(props, [\n 'label',\n 'description',\n 'required',\n 'disabled',\n 'readOnly',\n 'children',\n ]);\n\n return (\n <Field\n invalid={field().state.meta.errors.length > 0}\n required={local.required ?? false}\n disabled={local.disabled ?? false}\n readOnly={local.readOnly ?? false}\n >\n <FieldContent>\n <RadioGroup\n value={field().state.value}\n onValueChange={(details) => {\n field().handleChange(details.value ?? '');\n }}\n onBlur={() => {\n field().handleBlur();\n }}\n invalid={field().state.meta.errors.length > 0}\n disabled={local.disabled ?? false}\n readOnly={local.readOnly ?? false}\n required={local.required ?? false}\n {...others}\n >\n <RadioGroupLabel>{local.label}</RadioGroupLabel>\n {local.children}\n </RadioGroup>\n <FieldError errors={field().state.meta.errors} />\n <FieldDescription>{local.description}</FieldDescription>\n </FieldContent>\n </Field>\n );\n};\n"],"names":["RadioGroupField","props","field","useFieldContext","local","others","splitProps","_$createComponent","Field","invalid","state","meta","errors","length","required","disabled","readOnly","children","FieldContent","RadioGroup","_$mergeProps","value","onValueChange","details","handleChange","onBlur","handleBlur","RadioGroupLabel","label","_$memo","FieldError","FieldDescription","description"],"mappings":";;;;;AAYO,MAAMA,IAAoDC,CAAAA,MAAU;AACzE,QAAMC,IAAQC,EAAAA,GACR,CAACC,GAAOC,CAAM,IAAIC,EAAWL,GAAO,CACxC,SACA,eACA,YACA,YACA,YACA,UAAU,CACX;AAED,SAAAM,EACGC,GAAK;AAAA,IAAA,IACJC,UAAO;AAAA,aAAEP,EAAAA,EAAQQ,MAAMC,KAAKC,OAAOC,SAAS;AAAA,IAAC;AAAA,IAAA,IAC7CC,WAAQ;AAAA,aAAEV,EAAMU,YAAY;AAAA,IAAK;AAAA,IAAA,IACjCC,WAAQ;AAAA,aAAEX,EAAMW,YAAY;AAAA,IAAK;AAAA,IAAA,IACjCC,WAAQ;AAAA,aAAEZ,EAAMY,YAAY;AAAA,IAAK;AAAA,IAAA,IAAAC,WAAA;AAAA,aAAAV,EAEhCW,GAAY;AAAA,QAAA,IAAAD,WAAA;AAAA,iBAAA,CAAAV,EACVY,GAAUC,EAAA;AAAA,YAAA,IACTC,QAAK;AAAA,qBAAEnB,EAAAA,EAAQQ,MAAMW;AAAAA,YAAK;AAAA,YAC1BC,eAAgBC,CAAAA,MAAY;AAC1BrB,cAAAA,EAAAA,EAAQsB,aAAaD,EAAQF,SAAS,EAAE;AAAA,YAC1C;AAAA,YACAI,QAAQA,MAAM;AACZvB,cAAAA,EAAAA,EAAQwB,WAAAA;AAAAA,YACV;AAAA,YAAC,IACDjB,UAAO;AAAA,qBAAEP,EAAAA,EAAQQ,MAAMC,KAAKC,OAAOC,SAAS;AAAA,YAAC;AAAA,YAAA,IAC7CE,WAAQ;AAAA,qBAAEX,EAAMW,YAAY;AAAA,YAAK;AAAA,YAAA,IACjCC,WAAQ;AAAA,qBAAEZ,EAAMY,YAAY;AAAA,YAAK;AAAA,YAAA,IACjCF,WAAQ;AAAA,qBAAEV,EAAMU,YAAY;AAAA,YAAK;AAAA,UAAA,GAC7BT,GAAM;AAAA,YAAA,IAAAY,WAAA;AAAA,qBAAA,CAAAV,EAEToB,GAAe;AAAA,gBAAA,IAAAV,WAAA;AAAA,yBAAEb,EAAMwB;AAAAA,gBAAK;AAAA,cAAA,CAAA,GAAAC,EAAA,MAC5BzB,EAAMa,QAAQ,CAAA;AAAA,YAAA;AAAA,UAAA,CAAA,CAAA,GAAAV,EAEhBuB,GAAU;AAAA,YAAA,IAAClB,SAAM;AAAA,qBAAEV,EAAAA,EAAQQ,MAAMC,KAAKC;AAAAA,YAAM;AAAA,UAAA,CAAA,GAAAL,EAC5CwB,GAAgB;AAAA,YAAA,IAAAd,WAAA;AAAA,qBAAEb,EAAM4B;AAAAA,YAAW;AAAA,UAAA,CAAA,CAAA;AAAA,QAAA;AAAA,MAAA,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA;AAI5C;"}
1
+ {"version":3,"file":"RadioGroupField.js","sources":["../../../src/components/form/RadioGroupField.tsx"],"sourcesContent":["import type { Component, ComponentProps, JSXElement } from 'solid-js';\n\nimport { Field, FieldContent, FieldError, FieldDescription } from '@/components/Field';\nimport { RadioGroup, RadioGroupLabel } from '@/components/RadioGroup';\n\nimport { useFieldContext } from './context';\nimport { WithTrailingAddon } from './WithTrailingAddon';\n\nexport type RadioGroupFieldProps = ComponentProps<typeof RadioGroup> & {\n label?: string;\n description?: string;\n trailingAddon?: JSXElement;\n};\n\nexport const RadioGroupField: Component<RadioGroupFieldProps> = (props) => {\n const field = useFieldContext<string>();\n const [local, others] = splitProps(props, [\n 'label',\n 'description',\n 'required',\n 'disabled',\n 'readOnly',\n 'children',\n 'trailingAddon',\n ]);\n\n return (\n <Field\n invalid={field().state.meta.errors.length > 0}\n required={local.required ?? false}\n disabled={local.disabled ?? false}\n readOnly={local.readOnly ?? false}\n >\n <FieldContent>\n <WithTrailingAddon addon={local.trailingAddon}>\n <RadioGroup\n value={field().state.value}\n onValueChange={(details) => {\n field().handleChange(details.value ?? '');\n }}\n onBlur={() => {\n field().handleBlur();\n }}\n invalid={field().state.meta.errors.length > 0}\n disabled={local.disabled ?? false}\n readOnly={local.readOnly ?? false}\n required={local.required ?? false}\n {...others}\n >\n <RadioGroupLabel>{local.label}</RadioGroupLabel>\n {local.children}\n </RadioGroup>\n </WithTrailingAddon>\n <FieldError errors={field().state.meta.errors} />\n <FieldDescription>{local.description}</FieldDescription>\n </FieldContent>\n </Field>\n );\n};\n"],"names":["RadioGroupField","props","field","useFieldContext","local","others","splitProps","_$createComponent","Field","invalid","state","meta","errors","length","required","disabled","readOnly","children","FieldContent","WithTrailingAddon","addon","trailingAddon","RadioGroup","_$mergeProps","value","onValueChange","details","handleChange","onBlur","handleBlur","RadioGroupLabel","label","_$memo","FieldError","FieldDescription","description"],"mappings":";;;;;;AAcO,MAAMA,IAAoDC,CAAAA,MAAU;AACzE,QAAMC,IAAQC,EAAAA,GACR,CAACC,GAAOC,CAAM,IAAIC,EAAWL,GAAO,CACxC,SACA,eACA,YACA,YACA,YACA,YACA,eAAe,CAChB;AAED,SAAAM,EACGC,GAAK;AAAA,IAAA,IACJC,UAAO;AAAA,aAAEP,EAAAA,EAAQQ,MAAMC,KAAKC,OAAOC,SAAS;AAAA,IAAC;AAAA,IAAA,IAC7CC,WAAQ;AAAA,aAAEV,EAAMU,YAAY;AAAA,IAAK;AAAA,IAAA,IACjCC,WAAQ;AAAA,aAAEX,EAAMW,YAAY;AAAA,IAAK;AAAA,IAAA,IACjCC,WAAQ;AAAA,aAAEZ,EAAMY,YAAY;AAAA,IAAK;AAAA,IAAA,IAAAC,WAAA;AAAA,aAAAV,EAEhCW,GAAY;AAAA,QAAA,IAAAD,WAAA;AAAA,iBAAA,CAAAV,EACVY,GAAiB;AAAA,YAAA,IAACC,QAAK;AAAA,qBAAEhB,EAAMiB;AAAAA,YAAa;AAAA,YAAA,IAAAJ,WAAA;AAAA,qBAAAV,EAC1Ce,GAAUC,EAAA;AAAA,gBAAA,IACTC,QAAK;AAAA,yBAAEtB,EAAAA,EAAQQ,MAAMc;AAAAA,gBAAK;AAAA,gBAC1BC,eAAgBC,CAAAA,MAAY;AAC1BxB,kBAAAA,EAAAA,EAAQyB,aAAaD,EAAQF,SAAS,EAAE;AAAA,gBAC1C;AAAA,gBACAI,QAAQA,MAAM;AACZ1B,kBAAAA,EAAAA,EAAQ2B,WAAAA;AAAAA,gBACV;AAAA,gBAAC,IACDpB,UAAO;AAAA,yBAAEP,EAAAA,EAAQQ,MAAMC,KAAKC,OAAOC,SAAS;AAAA,gBAAC;AAAA,gBAAA,IAC7CE,WAAQ;AAAA,yBAAEX,EAAMW,YAAY;AAAA,gBAAK;AAAA,gBAAA,IACjCC,WAAQ;AAAA,yBAAEZ,EAAMY,YAAY;AAAA,gBAAK;AAAA,gBAAA,IACjCF,WAAQ;AAAA,yBAAEV,EAAMU,YAAY;AAAA,gBAAK;AAAA,cAAA,GAC7BT,GAAM;AAAA,gBAAA,IAAAY,WAAA;AAAA,yBAAA,CAAAV,EAETuB,GAAe;AAAA,oBAAA,IAAAb,WAAA;AAAA,6BAAEb,EAAM2B;AAAAA,oBAAK;AAAA,kBAAA,CAAA,GAAAC,EAAA,MAC5B5B,EAAMa,QAAQ,CAAA;AAAA,gBAAA;AAAA,cAAA,CAAA,CAAA;AAAA,YAAA;AAAA,UAAA,CAAA,GAAAV,EAGlB0B,GAAU;AAAA,YAAA,IAACrB,SAAM;AAAA,qBAAEV,EAAAA,EAAQQ,MAAMC,KAAKC;AAAAA,YAAM;AAAA,UAAA,CAAA,GAAAL,EAC5C2B,GAAgB;AAAA,YAAA,IAAAjB,WAAA;AAAA,qBAAEb,EAAM+B;AAAAA,YAAW;AAAA,UAAA,CAAA,CAAA;AAAA,QAAA;AAAA,MAAA,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA;AAI5C;"}
@@ -1,8 +1,9 @@
1
- import { Component, ComponentProps } from 'solid-js';
1
+ import { Component, ComponentProps, JSXElement } from 'solid-js';
2
2
  import { Select } from '../Select';
3
3
  export type SelectFieldProps = ComponentProps<typeof Select> & {
4
4
  label?: string;
5
5
  description?: string;
6
6
  placeholder?: string;
7
+ trailingAddon?: JSXElement;
7
8
  };
8
9
  export declare const SelectField: Component<SelectFieldProps>;
@@ -1,9 +1,10 @@
1
1
  import { createComponent as e, mergeProps as i } from "solid-js/web";
2
- import { Field as a, FieldLabel as o, FieldContent as c, FieldError as u, FieldDescription as s } from "../Field.js";
3
- import { Select as g, SelectControl as h, SelectTrigger as p, SelectValue as m, SelectPositioner as f, SelectContent as b } from "../Select.js";
2
+ import { Field as o, FieldLabel as a, FieldContent as c, FieldError as u, FieldDescription as g } from "../Field.js";
3
+ import { Select as s, SelectControl as h, SelectTrigger as p, SelectValue as m, SelectPositioner as f, SelectContent as b } from "../Select.js";
4
4
  import { useFieldContext as S } from "./context.js";
5
- import { splitProps as C } from "solid-js";
6
- const F = (l) => [e(h, {
5
+ import { WithTrailingAddon as C } from "./WithTrailingAddon.js";
6
+ import { splitProps as F } from "solid-js";
7
+ const v = (l) => [e(h, {
7
8
  get children() {
8
9
  return e(p, {
9
10
  get children() {
@@ -23,9 +24,9 @@ const F = (l) => [e(h, {
23
24
  }
24
25
  });
25
26
  }
26
- })], x = (l) => {
27
- const t = S(), [r, n] = C(l, ["label", "description", "required", "disabled", "readOnly", "placeholder", "children"]);
28
- return e(a, {
27
+ })], B = (l) => {
28
+ const t = S(), [r, n] = F(l, ["label", "description", "required", "disabled", "readOnly", "placeholder", "children", "trailingAddon"]);
29
+ return e(o, {
29
30
  get invalid() {
30
31
  return t().state.meta.errors.length > 0;
31
32
  },
@@ -39,47 +40,54 @@ const F = (l) => [e(h, {
39
40
  return r.required ?? !1;
40
41
  },
41
42
  get children() {
42
- return [e(o, {
43
+ return [e(a, {
43
44
  get children() {
44
45
  return r.label;
45
46
  }
46
47
  }), e(c, {
47
48
  get children() {
48
- return [e(g, i({
49
- get value() {
50
- return t().state.value;
49
+ return [e(C, {
50
+ get addon() {
51
+ return r.trailingAddon;
51
52
  },
52
- onValueChange: (d) => {
53
- t().handleChange(d.value);
54
- },
55
- onBlur: () => {
56
- t().handleBlur();
57
- },
58
- get invalid() {
59
- return t().state.meta.errors.length > 0;
60
- },
61
- get disabled() {
62
- return r.disabled ?? !1;
63
- },
64
- get readOnly() {
65
- return r.readOnly ?? !1;
66
- }
67
- }, n, {
68
53
  get children() {
69
- return e(F, {
70
- get placeholder() {
71
- return r.placeholder ?? "";
54
+ return e(s, i({
55
+ get value() {
56
+ return t().state.value;
72
57
  },
58
+ onValueChange: (d) => {
59
+ t().handleChange(d.value);
60
+ },
61
+ onBlur: () => {
62
+ t().handleBlur();
63
+ },
64
+ get invalid() {
65
+ return t().state.meta.errors.length > 0;
66
+ },
67
+ get disabled() {
68
+ return r.disabled ?? !1;
69
+ },
70
+ get readOnly() {
71
+ return r.readOnly ?? !1;
72
+ }
73
+ }, n, {
73
74
  get children() {
74
- return r.children;
75
+ return e(v, {
76
+ get placeholder() {
77
+ return r.placeholder ?? "";
78
+ },
79
+ get children() {
80
+ return r.children;
81
+ }
82
+ });
75
83
  }
76
- });
84
+ }));
77
85
  }
78
- })), e(u, {
86
+ }), e(u, {
79
87
  get errors() {
80
88
  return t().state.meta.errors;
81
89
  }
82
- }), e(s, {
90
+ }), e(g, {
83
91
  get children() {
84
92
  return r.description;
85
93
  }
@@ -90,6 +98,6 @@ const F = (l) => [e(h, {
90
98
  });
91
99
  };
92
100
  export {
93
- x as SelectField
101
+ B as SelectField
94
102
  };
95
103
  //# sourceMappingURL=SelectField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectField.js","sources":["../../../src/components/form/SelectField.tsx"],"sourcesContent":["import type { Component, ComponentProps, JSX } from 'solid-js';\n\nimport { Field, FieldContent, FieldDescription, FieldError, FieldLabel } from '@/components/Field';\nimport {\n Select,\n SelectContent,\n SelectControl,\n SelectPositioner,\n SelectTrigger,\n SelectValue,\n} from '@/components/Select';\n\nimport { useFieldContext } from './context';\n\nconst SelectInput: Component<{ placeholder: string; children: JSX.Element }> = (props) => (\n <>\n <SelectControl>\n <SelectTrigger>\n <SelectValue placeholder={props.placeholder} />\n </SelectTrigger>\n </SelectControl>\n <SelectPositioner>\n <SelectContent>{props.children}</SelectContent>\n </SelectPositioner>\n </>\n);\n\nexport type SelectFieldProps = ComponentProps<typeof Select> & {\n label?: string;\n description?: string;\n placeholder?: string;\n};\n\nexport const SelectField: Component<SelectFieldProps> = (props) => {\n const field = useFieldContext<string[]>();\n const [local, others] = splitProps(props, [\n 'label',\n 'description',\n 'required',\n 'disabled',\n 'readOnly',\n 'placeholder',\n 'children',\n ]);\n\n return (\n <Field\n invalid={field().state.meta.errors.length > 0}\n disabled={local.disabled ?? false}\n readOnly={local.readOnly ?? false}\n required={local.required ?? false}\n >\n <FieldLabel>{local.label}</FieldLabel>\n <FieldContent>\n <Select\n value={field().state.value}\n onValueChange={(details) => {\n field().handleChange(details.value);\n }}\n onBlur={() => {\n field().handleBlur();\n }}\n invalid={field().state.meta.errors.length > 0}\n disabled={local.disabled ?? false}\n readOnly={local.readOnly ?? false}\n {...others}\n >\n <SelectInput placeholder={local.placeholder ?? ''}>{local.children}</SelectInput>\n </Select>\n <FieldError errors={field().state.meta.errors} />\n <FieldDescription>{local.description}</FieldDescription>\n </FieldContent>\n </Field>\n );\n};\n"],"names":["SelectInput","props","_$createComponent","SelectControl","children","SelectTrigger","SelectValue","placeholder","SelectPositioner","SelectContent","SelectField","field","useFieldContext","local","others","splitProps","Field","invalid","state","meta","errors","length","disabled","readOnly","required","FieldLabel","label","FieldContent","Select","_$mergeProps","value","onValueChange","details","handleChange","onBlur","handleBlur","FieldError","FieldDescription","description"],"mappings":";;;;;AAcA,MAAMA,IAA0EC,CAAAA,MAAK,CAAAC,EAEhFC,GAAa;AAAA,EAAA,IAAAC,WAAA;AAAA,WAAAF,EACXG,GAAa;AAAA,MAAA,IAAAD,WAAA;AAAA,eAAAF,EACXI,GAAW;AAAA,UAAA,IAACC,cAAW;AAAA,mBAAEN,EAAMM;AAAAA,UAAW;AAAA,QAAA,CAAA;AAAA,MAAA;AAAA,IAAA,CAAA;AAAA,EAAA;AAAA,CAAA,GAAAL,EAG9CM,GAAgB;AAAA,EAAA,IAAAJ,WAAA;AAAA,WAAAF,EACdO,GAAa;AAAA,MAAA,IAAAL,WAAA;AAAA,eAAEH,EAAMG;AAAAA,MAAQ;AAAA,IAAA,CAAA;AAAA,EAAA;AAAA,CAAA,CAAA,GAWvBM,IAA4CT,CAAAA,MAAU;AACjE,QAAMU,IAAQC,EAAAA,GACR,CAACC,GAAOC,CAAM,IAAIC,EAAWd,GAAO,CACxC,SACA,eACA,YACA,YACA,YACA,eACA,UAAU,CACX;AAED,SAAAC,EACGc,GAAK;AAAA,IAAA,IACJC,UAAO;AAAA,aAAEN,EAAAA,EAAQO,MAAMC,KAAKC,OAAOC,SAAS;AAAA,IAAC;AAAA,IAAA,IAC7CC,WAAQ;AAAA,aAAET,EAAMS,YAAY;AAAA,IAAK;AAAA,IAAA,IACjCC,WAAQ;AAAA,aAAEV,EAAMU,YAAY;AAAA,IAAK;AAAA,IAAA,IACjCC,WAAQ;AAAA,aAAEX,EAAMW,YAAY;AAAA,IAAK;AAAA,IAAA,IAAApB,WAAA;AAAA,aAAA,CAAAF,EAEhCuB,GAAU;AAAA,QAAA,IAAArB,WAAA;AAAA,iBAAES,EAAMa;AAAAA,QAAK;AAAA,MAAA,CAAA,GAAAxB,EACvByB,GAAY;AAAA,QAAA,IAAAvB,WAAA;AAAA,iBAAA,CAAAF,EACV0B,GAAMC,EAAA;AAAA,YAAA,IACLC,QAAK;AAAA,qBAAEnB,EAAAA,EAAQO,MAAMY;AAAAA,YAAK;AAAA,YAC1BC,eAAgBC,CAAAA,MAAY;AAC1BrB,cAAAA,IAAQsB,aAAaD,EAAQF,KAAK;AAAA,YACpC;AAAA,YACAI,QAAQA,MAAM;AACZvB,cAAAA,EAAAA,EAAQwB,WAAAA;AAAAA,YACV;AAAA,YAAC,IACDlB,UAAO;AAAA,qBAAEN,EAAAA,EAAQO,MAAMC,KAAKC,OAAOC,SAAS;AAAA,YAAC;AAAA,YAAA,IAC7CC,WAAQ;AAAA,qBAAET,EAAMS,YAAY;AAAA,YAAK;AAAA,YAAA,IACjCC,WAAQ;AAAA,qBAAEV,EAAMU,YAAY;AAAA,YAAK;AAAA,UAAA,GAC7BT,GAAM;AAAA,YAAA,IAAAV,WAAA;AAAA,qBAAAF,EAETF,GAAW;AAAA,gBAAA,IAACO,cAAW;AAAA,yBAAEM,EAAMN,eAAe;AAAA,gBAAE;AAAA,gBAAA,IAAAH,WAAA;AAAA,yBAAGS,EAAMT;AAAAA,gBAAQ;AAAA,cAAA,CAAA;AAAA,YAAA;AAAA,UAAA,CAAA,CAAA,GAAAF,EAEnEkC,GAAU;AAAA,YAAA,IAAChB,SAAM;AAAA,qBAAET,EAAAA,EAAQO,MAAMC,KAAKC;AAAAA,YAAM;AAAA,UAAA,CAAA,GAAAlB,EAC5CmC,GAAgB;AAAA,YAAA,IAAAjC,WAAA;AAAA,qBAAES,EAAMyB;AAAAA,YAAW;AAAA,UAAA,CAAA,CAAA;AAAA,QAAA;AAAA,MAAA,CAAA,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA;AAI5C;"}
1
+ {"version":3,"file":"SelectField.js","sources":["../../../src/components/form/SelectField.tsx"],"sourcesContent":["import type { Component, ComponentProps, JSX, JSXElement } from 'solid-js';\n\nimport { Field, FieldContent, FieldDescription, FieldError, FieldLabel } from '@/components/Field';\nimport {\n Select,\n SelectContent,\n SelectControl,\n SelectPositioner,\n SelectTrigger,\n SelectValue,\n} from '@/components/Select';\n\nimport { useFieldContext } from './context';\nimport { WithTrailingAddon } from './WithTrailingAddon';\n\nconst SelectInput: Component<{ placeholder: string; children: JSX.Element }> = (props) => (\n <>\n <SelectControl>\n <SelectTrigger>\n <SelectValue placeholder={props.placeholder} />\n </SelectTrigger>\n </SelectControl>\n <SelectPositioner>\n <SelectContent>{props.children}</SelectContent>\n </SelectPositioner>\n </>\n);\n\nexport type SelectFieldProps = ComponentProps<typeof Select> & {\n label?: string;\n description?: string;\n placeholder?: string;\n trailingAddon?: JSXElement;\n};\n\nexport const SelectField: Component<SelectFieldProps> = (props) => {\n const field = useFieldContext<string[]>();\n const [local, others] = splitProps(props, [\n 'label',\n 'description',\n 'required',\n 'disabled',\n 'readOnly',\n 'placeholder',\n 'children',\n 'trailingAddon',\n ]);\n\n return (\n <Field\n invalid={field().state.meta.errors.length > 0}\n disabled={local.disabled ?? false}\n readOnly={local.readOnly ?? false}\n required={local.required ?? false}\n >\n <FieldLabel>{local.label}</FieldLabel>\n <FieldContent>\n <WithTrailingAddon addon={local.trailingAddon}>\n <Select\n value={field().state.value}\n onValueChange={(details) => {\n field().handleChange(details.value);\n }}\n onBlur={() => {\n field().handleBlur();\n }}\n invalid={field().state.meta.errors.length > 0}\n disabled={local.disabled ?? false}\n readOnly={local.readOnly ?? false}\n {...others}\n >\n <SelectInput placeholder={local.placeholder ?? ''}>{local.children}</SelectInput>\n </Select>\n </WithTrailingAddon>\n <FieldError errors={field().state.meta.errors} />\n <FieldDescription>{local.description}</FieldDescription>\n </FieldContent>\n </Field>\n );\n};\n"],"names":["SelectInput","props","_$createComponent","SelectControl","children","SelectTrigger","SelectValue","placeholder","SelectPositioner","SelectContent","SelectField","field","useFieldContext","local","others","splitProps","Field","invalid","state","meta","errors","length","disabled","readOnly","required","FieldLabel","label","FieldContent","WithTrailingAddon","addon","trailingAddon","Select","_$mergeProps","value","onValueChange","details","handleChange","onBlur","handleBlur","FieldError","FieldDescription","description"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Component, ComponentProps } from 'solid-js';
1
+ import { Component, ComponentProps, JSXElement } from 'solid-js';
2
2
  import { Slider } from '../Slider';
3
3
  export type SliderFieldProps = ComponentProps<typeof Slider> & {
4
4
  label?: string;
@@ -8,5 +8,6 @@ export type SliderFieldProps = ComponentProps<typeof Slider> & {
8
8
  label?: string;
9
9
  }[];
10
10
  required?: boolean;
11
+ trailingAddon?: JSXElement;
11
12
  };
12
13
  export declare const SliderField: Component<SliderFieldProps>;
@@ -1,16 +1,17 @@
1
- import { createComponent as r, mergeProps as n, insert as a, For as i, memo as d, template as o } from "solid-js/web";
1
+ import { createComponent as r, mergeProps as n, insert as a, For as i, memo as d, template as s } from "solid-js/web";
2
2
  import { Field as g, FieldError as m, FieldDescription as c } from "../Field.js";
3
- import { Slider as h, SliderLabel as b, SliderValueText as f, SliderControl as p, SliderTrack as v, SliderRange as S, SliderThumb as y, SliderMarkerGroup as k, SliderMarker as F } from "../Slider.js";
3
+ import { Slider as h, SliderLabel as f, SliderValueText as b, SliderControl as p, SliderTrack as v, SliderRange as S, SliderThumb as y, SliderMarkerGroup as k, SliderMarker as F } from "../Slider.js";
4
4
  import { useFieldContext as C } from "./context.js";
5
+ import { WithTrailingAddon as A } from "./WithTrailingAddon.js";
5
6
  import { splitProps as O } from "solid-js";
6
- var x = /* @__PURE__ */ o('<div class="flex items-center justify-between">');
7
- const q = (l) => [(() => {
7
+ var x = /* @__PURE__ */ s('<div class="flex items-center justify-between">');
8
+ const T = (l) => [(() => {
8
9
  var e = x();
9
- return a(e, r(b, {
10
+ return a(e, r(f, {
10
11
  get children() {
11
12
  return l.label;
12
13
  }
13
- }), null), a(e, r(f, {}), null), e;
14
+ }), null), a(e, r(b, {}), null), e;
14
15
  })(), r(p, {
15
16
  get children() {
16
17
  return [r(v, {
@@ -42,8 +43,8 @@ const q = (l) => [(() => {
42
43
  })
43
44
  });
44
45
  }
45
- }))], V = (l) => {
46
- const e = C(), [t, u] = O(l, ["label", "description", "required", "disabled", "readOnly", "marks"]);
46
+ }))], j = (l) => {
47
+ const e = C(), [t, u] = O(l, ["label", "description", "required", "disabled", "readOnly", "marks", "trailingAddon"]);
47
48
  return r(g, {
48
49
  get invalid() {
49
50
  return e().state.meta.errors.length > 0;
@@ -58,38 +59,45 @@ const q = (l) => [(() => {
58
59
  return t.required ?? !1;
59
60
  },
60
61
  get children() {
61
- return [r(h, n({
62
- get value() {
63
- return e().state.value;
64
- },
65
- onValueChange: (s) => {
66
- e().handleChange(s.value);
67
- },
68
- onFocusChange: () => {
69
- e().handleBlur();
70
- },
71
- get invalid() {
72
- return e().state.meta.errors.length > 0;
62
+ return [r(A, {
63
+ get addon() {
64
+ return t.trailingAddon;
73
65
  },
74
- get disabled() {
75
- return t.disabled ?? !1;
76
- },
77
- get readOnly() {
78
- return t.readOnly ?? !1;
79
- }
80
- }, u, {
81
66
  get children() {
82
- return r(q, n({
67
+ return r(h, n({
83
68
  get value() {
84
69
  return e().state.value;
70
+ },
71
+ onValueChange: (o) => {
72
+ e().handleChange(o.value);
73
+ },
74
+ onFocusChange: () => {
75
+ e().handleBlur();
76
+ },
77
+ get invalid() {
78
+ return e().state.meta.errors.length > 0;
79
+ },
80
+ get disabled() {
81
+ return t.disabled ?? !1;
82
+ },
83
+ get readOnly() {
84
+ return t.readOnly ?? !1;
85
+ }
86
+ }, u, {
87
+ get children() {
88
+ return r(T, n({
89
+ get value() {
90
+ return e().state.value;
91
+ }
92
+ }, () => typeof t.label == "string" && {
93
+ label: t.label
94
+ }, () => Array.isArray(t.marks) && {
95
+ marks: t.marks
96
+ }));
85
97
  }
86
- }, () => typeof t.label == "string" && {
87
- label: t.label
88
- }, () => Array.isArray(t.marks) && {
89
- marks: t.marks
90
98
  }));
91
99
  }
92
- })), r(m, {
100
+ }), r(m, {
93
101
  get errors() {
94
102
  return e().state.meta.errors;
95
103
  }
@@ -102,6 +110,6 @@ const q = (l) => [(() => {
102
110
  });
103
111
  };
104
112
  export {
105
- V as SliderField
113
+ j as SliderField
106
114
  };
107
115
  //# sourceMappingURL=SliderField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SliderField.js","sources":["../../../src/components/form/SliderField.tsx"],"sourcesContent":["import type { Component, ComponentProps } from 'solid-js';\n\nimport { Field, FieldDescription, FieldError } from '@/components/Field';\nimport {\n Slider,\n SliderControl,\n SliderLabel,\n SliderMarker,\n SliderMarkerGroup,\n SliderRange,\n SliderThumb,\n SliderTrack,\n SliderValueText,\n} from '@/components/Slider';\n\nimport { useFieldContext } from './context';\n\nconst SliderInput: Component<{\n value: number[];\n label?: string;\n marks?: { value: number; label?: string }[] | undefined;\n}> = (props) => (\n <>\n <div class='flex items-center justify-between'>\n <SliderLabel>{props.label}</SliderLabel>\n <SliderValueText />\n </div>\n <SliderControl>\n <SliderTrack>\n <SliderRange />\n </SliderTrack>\n <For each={props.value.map((_, index) => index)}>\n {(index) => <SliderThumb index={index} />}\n </For>\n </SliderControl>\n {props.marks && (\n <SliderMarkerGroup>\n <For each={props.marks}>\n {(mark) => <SliderMarker value={mark.value}>{mark.label}</SliderMarker>}\n </For>\n </SliderMarkerGroup>\n )}\n </>\n);\n\nexport type SliderFieldProps = ComponentProps<typeof Slider> & {\n label?: string;\n description?: string;\n marks?: { value: number; label?: string }[];\n required?: boolean;\n};\n\nexport const SliderField: Component<SliderFieldProps> = (props) => {\n const field = useFieldContext<number[]>();\n const [local, others] = splitProps(props, [\n 'label',\n 'description',\n 'required',\n 'disabled',\n 'readOnly',\n 'marks',\n ]);\n\n return (\n <Field\n invalid={field().state.meta.errors.length > 0}\n disabled={local.disabled ?? false}\n readOnly={local.readOnly ?? false}\n required={local.required ?? false}\n >\n <Slider\n value={field().state.value}\n onValueChange={(details) => {\n field().handleChange(details.value);\n }}\n onFocusChange={() => {\n field().handleBlur();\n }}\n invalid={field().state.meta.errors.length > 0}\n disabled={local.disabled ?? false}\n readOnly={local.readOnly ?? false}\n {...others}\n >\n <SliderInput\n value={field().state.value}\n {...(typeof local.label === 'string' && { label: local.label })}\n {...(Array.isArray(local.marks) && { marks: local.marks })}\n />\n </Slider>\n <FieldError errors={field().state.meta.errors} />\n <FieldDescription>{local.description}</FieldDescription>\n </Field>\n );\n};\n"],"names":["SliderInput","props","_el$","_tmpl$","_$insert","_$createComponent","SliderLabel","children","label","SliderValueText","SliderControl","SliderTrack","SliderRange","_$For","each","value","map","_","index","SliderThumb","_$memo","marks","SliderMarkerGroup","mark","SliderMarker","SliderField","field","useFieldContext","local","others","splitProps","Field","invalid","state","meta","errors","length","disabled","readOnly","required","Slider","_$mergeProps","onValueChange","details","handleChange","onFocusChange","handleBlur","Array","isArray","FieldError","FieldDescription","description"],"mappings":"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"}
1
+ {"version":3,"file":"SliderField.js","sources":["../../../src/components/form/SliderField.tsx"],"sourcesContent":["import type { Component, ComponentProps, JSXElement } from 'solid-js';\n\nimport { Field, FieldDescription, FieldError } from '@/components/Field';\nimport {\n Slider,\n SliderControl,\n SliderLabel,\n SliderMarker,\n SliderMarkerGroup,\n SliderRange,\n SliderThumb,\n SliderTrack,\n SliderValueText,\n} from '@/components/Slider';\n\nimport { useFieldContext } from './context';\nimport { WithTrailingAddon } from './WithTrailingAddon';\n\nconst SliderInput: Component<{\n value: number[];\n label?: string;\n marks?: { value: number; label?: string }[] | undefined;\n}> = (props) => (\n <>\n <div class='flex items-center justify-between'>\n <SliderLabel>{props.label}</SliderLabel>\n <SliderValueText />\n </div>\n <SliderControl>\n <SliderTrack>\n <SliderRange />\n </SliderTrack>\n <For each={props.value.map((_, index) => index)}>\n {(index) => <SliderThumb index={index} />}\n </For>\n </SliderControl>\n {props.marks && (\n <SliderMarkerGroup>\n <For each={props.marks}>\n {(mark) => <SliderMarker value={mark.value}>{mark.label}</SliderMarker>}\n </For>\n </SliderMarkerGroup>\n )}\n </>\n);\n\nexport type SliderFieldProps = ComponentProps<typeof Slider> & {\n label?: string;\n description?: string;\n marks?: { value: number; label?: string }[];\n required?: boolean;\n trailingAddon?: JSXElement;\n};\n\nexport const SliderField: Component<SliderFieldProps> = (props) => {\n const field = useFieldContext<number[]>();\n const [local, others] = splitProps(props, [\n 'label',\n 'description',\n 'required',\n 'disabled',\n 'readOnly',\n 'marks',\n 'trailingAddon',\n ]);\n\n return (\n <Field\n invalid={field().state.meta.errors.length > 0}\n disabled={local.disabled ?? false}\n readOnly={local.readOnly ?? false}\n required={local.required ?? false}\n >\n <WithTrailingAddon addon={local.trailingAddon}>\n <Slider\n value={field().state.value}\n onValueChange={(details) => {\n field().handleChange(details.value);\n }}\n onFocusChange={() => {\n field().handleBlur();\n }}\n invalid={field().state.meta.errors.length > 0}\n disabled={local.disabled ?? false}\n readOnly={local.readOnly ?? false}\n {...others}\n >\n <SliderInput\n value={field().state.value}\n {...(typeof local.label === 'string' && { label: local.label })}\n {...(Array.isArray(local.marks) && { marks: local.marks })}\n />\n </Slider>\n </WithTrailingAddon>\n <FieldError errors={field().state.meta.errors} />\n <FieldDescription>{local.description}</FieldDescription>\n </Field>\n );\n};\n"],"names":["SliderInput","props","_el$","_tmpl$","_$insert","_$createComponent","SliderLabel","children","label","SliderValueText","SliderControl","SliderTrack","SliderRange","_$For","each","value","map","_","index","SliderThumb","_$memo","marks","SliderMarkerGroup","mark","SliderMarker","SliderField","field","useFieldContext","local","others","splitProps","Field","invalid","state","meta","errors","length","disabled","readOnly","required","WithTrailingAddon","addon","trailingAddon","Slider","_$mergeProps","onValueChange","details","handleChange","onFocusChange","handleBlur","Array","isArray","FieldError","FieldDescription","description"],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import { Component, ComponentProps } from 'solid-js';
1
+ import { Component, ComponentProps, JSXElement } from 'solid-js';
2
2
  import { TagsInput, TagsInputInput } from '../TagsInput';
3
3
  declare const TAGS_INPUT_ROOT_PROPS: readonly ["max", "maxLength", "delimiter", "addOnPaste", "blurBehavior", "validate", "autoFocus", "editable", "allowOverflow", "translations", "ids", "onFocusOutside", "onHighlightChange", "onInputValueChange", "onInteractOutside", "onPointerDownOutside", "onValueInvalid"];
4
4
  export type TagsInputFieldProps = ComponentProps<typeof TagsInputInput> & Pick<ComponentProps<typeof TagsInput>, (typeof TAGS_INPUT_ROOT_PROPS)[number]> & {
5
5
  label?: string;
6
6
  description?: string;
7
7
  showClearTrigger?: boolean;
8
+ trailingAddon?: JSXElement;
8
9
  };
9
10
  export declare const TagsInputField: Component<TagsInputFieldProps>;
10
11
  export {};
@@ -1,20 +1,21 @@
1
- import { createComponent as e, mergeProps as s, Show as g, memo as d } from "solid-js/web";
2
- import { splitProps as i, For as h } from "solid-js";
3
- import { Field as p, FieldLabel as c, FieldContent as I, FieldError as T, FieldDescription as m } from "../Field.js";
1
+ import { createComponent as e, mergeProps as d, For as g, Show as u, memo as h } from "solid-js/web";
2
+ import { Field as p, FieldLabel as c, FieldContent as T, FieldError as m, FieldDescription as I } from "../Field.js";
4
3
  import { TagsInput as C, TagsInputContext as f, TagsInputControl as O, TagsInputItem as P, TagsInputItemPreview as w, TagsInputItemText as b, TagsInputItemDeleteTrigger as F, TagsInputItemInput as v, TagsInputInput as x, TagsInputClearTrigger as y, TagsInputHiddenInput as _ } from "../TagsInput.js";
5
- import { useFieldContext as S } from "./context.js";
4
+ import { useFieldContext as A } from "./context.js";
5
+ import { WithTrailingAddon as S } from "./WithTrailingAddon.js";
6
+ import { splitProps as o } from "solid-js";
6
7
  const D = ["max", "maxLength", "delimiter", "addOnPaste", "blurBehavior", "validate", "autoFocus", "editable", "allowOverflow", "translations", "ids", "onFocusOutside", "onHighlightChange", "onInputValueChange", "onInteractOutside", "onPointerDownOutside", "onValueInvalid"], q = (l) => {
7
- const [t, r] = i(l, ["children", "showClearTrigger"]);
8
+ const [t, r] = o(l, ["children", "showClearTrigger"]);
8
9
  return [e(f, {
9
10
  children: (a) => e(O, {
10
11
  get children() {
11
- return [e(h, {
12
+ return [e(g, {
12
13
  get each() {
13
14
  return a().value;
14
15
  },
15
- children: (n, o) => e(P, {
16
+ children: (n, i) => e(P, {
16
17
  get index() {
17
- return o();
18
+ return i();
18
19
  },
19
20
  value: n,
20
21
  get children() {
@@ -27,19 +28,19 @@ const D = ["max", "maxLength", "delimiter", "addOnPaste", "blurBehavior", "valid
27
28
  }), e(v, {})];
28
29
  }
29
30
  })
30
- }), e(x, r), e(g, {
31
+ }), e(x, r), e(u, {
31
32
  get when() {
32
33
  return t.showClearTrigger !== !1;
33
34
  },
34
35
  get children() {
35
36
  return e(y, {});
36
37
  }
37
- }), d(() => t.children)];
38
+ }), h(() => t.children)];
38
39
  }
39
40
  })
40
41
  }), e(_, {})];
41
- }, B = ["label", "description", "required", "disabled", "readOnly", "showClearTrigger"], E = (l) => {
42
- const t = S(), [r, a] = i(l, B), [n, o] = i(a, D);
42
+ }, B = ["label", "description", "required", "disabled", "readOnly", "showClearTrigger", "trailingAddon"], N = (l) => {
43
+ const t = A(), [r, a] = o(l, B), [n, i] = o(a, D);
43
44
  return e(p, {
44
45
  get invalid() {
45
46
  return t().state.meta.errors.length > 0;
@@ -58,38 +59,45 @@ const D = ["max", "maxLength", "delimiter", "addOnPaste", "blurBehavior", "valid
58
59
  get children() {
59
60
  return r.label;
60
61
  }
61
- }), e(I, {
62
+ }), e(T, {
62
63
  get children() {
63
- return [e(C, s({
64
- get value() {
65
- return t().state.value;
64
+ return [e(S, {
65
+ get addon() {
66
+ return r.trailingAddon;
66
67
  },
67
- onValueChange: (u) => {
68
- t().handleChange(u.value);
69
- },
70
- onBlur: () => {
71
- t().handleBlur();
72
- },
73
- get invalid() {
74
- return t().state.meta.errors.length > 0;
75
- },
76
- get disabled() {
77
- return r.disabled ?? !1;
78
- },
79
- get readOnly() {
80
- return r.readOnly ?? !1;
81
- }
82
- }, n, {
83
68
  get children() {
84
- return e(q, s(o, () => typeof r.showClearTrigger == "boolean" && {
85
- showClearTrigger: r.showClearTrigger
69
+ return e(C, d({
70
+ get value() {
71
+ return t().state.value;
72
+ },
73
+ onValueChange: (s) => {
74
+ t().handleChange(s.value);
75
+ },
76
+ onBlur: () => {
77
+ t().handleBlur();
78
+ },
79
+ get invalid() {
80
+ return t().state.meta.errors.length > 0;
81
+ },
82
+ get disabled() {
83
+ return r.disabled ?? !1;
84
+ },
85
+ get readOnly() {
86
+ return r.readOnly ?? !1;
87
+ }
88
+ }, n, {
89
+ get children() {
90
+ return e(q, d(i, () => typeof r.showClearTrigger == "boolean" && {
91
+ showClearTrigger: r.showClearTrigger
92
+ }));
93
+ }
86
94
  }));
87
95
  }
88
- })), e(T, {
96
+ }), e(m, {
89
97
  get errors() {
90
98
  return t().state.meta.errors;
91
99
  }
92
- }), e(m, {
100
+ }), e(I, {
93
101
  get children() {
94
102
  return r.description;
95
103
  }
@@ -100,6 +108,6 @@ const D = ["max", "maxLength", "delimiter", "addOnPaste", "blurBehavior", "valid
100
108
  });
101
109
  };
102
110
  export {
103
- E as TagsInputField
111
+ N as TagsInputField
104
112
  };
105
113
  //# sourceMappingURL=TagsInputField.js.map