@manafishrov/ui 1.3.2 → 1.3.3
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/dist/components/form/ComboboxField.d.ts +4 -2
- package/dist/components/form/ComboboxField.js +33 -32
- package/dist/components/form/ComboboxField.js.map +1 -1
- package/dist/components/form/DatePickerField.d.ts +5 -2
- package/dist/components/form/DatePickerField.js +25 -24
- package/dist/components/form/DatePickerField.js.map +1 -1
- package/dist/components/form/NumberInputField.d.ts +4 -2
- package/dist/components/form/NumberInputField.js +36 -34
- package/dist/components/form/NumberInputField.js.map +1 -1
- package/dist/components/form/TagsInputField.d.ts +4 -2
- package/dist/components/form/TagsInputField.js +32 -31
- package/dist/components/form/TagsInputField.js.map +1 -1
- package/package.json +1 -1
- package/src/components/form/ComboboxField.tsx +53 -8
- package/src/components/form/DatePickerField.tsx +54 -7
- package/src/components/form/NumberInputField.tsx +40 -8
- package/src/components/form/TagsInputField.tsx +30 -7
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { ComboboxRootProps } from '@ark-ui/solid';
|
|
2
2
|
import { Component, ComponentProps } from 'solid-js';
|
|
3
|
-
import { ComboboxInput } from '../Combobox';
|
|
4
|
-
|
|
3
|
+
import { Combobox, ComboboxInput } from '../Combobox';
|
|
4
|
+
declare const COMBOBOX_ROOT_PROPS: readonly ["placeholder", "inputBehavior", "openOnChange", "openOnClick", "openOnKeyPress", "closeOnSelect", "allowCustomValue", "multiple", "selectionBehavior", "autoFocus", "loopFocus", "positioning", "alwaysSubmitOnEnter", "composite", "defaultHighlightedValue", "defaultInputValue", "defaultOpen", "defaultValue", "disableLayer", "highlightedValue", "ids", "immediate", "inputValue", "lazyMount", "navigate", "onExitComplete", "onFocusOutside", "onHighlightChange", "onInputValueChange", "onInteractOutside", "onOpenChange", "onPointerDownOutside", "onSelect", "open", "present", "scrollToIndexFn", "skipAnimationOnMount", "translations", "unmountOnExit"];
|
|
5
|
+
export type ComboboxFieldProps = ComponentProps<typeof ComboboxInput> & Pick<ComponentProps<typeof Combobox<string>>, (typeof COMBOBOX_ROOT_PROPS)[number]> & {
|
|
5
6
|
collection: ComboboxRootProps<string>['collection'];
|
|
6
7
|
label?: string;
|
|
7
8
|
description?: string;
|
|
@@ -11,3 +12,4 @@ export type ComboboxFieldProps = ComponentProps<typeof ComboboxInput> & {
|
|
|
11
12
|
class?: string;
|
|
12
13
|
};
|
|
13
14
|
export declare const ComboboxField: Component<ComboboxFieldProps>;
|
|
15
|
+
export {};
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import { createComponent as e, mergeProps as
|
|
2
|
-
import { Combobox as
|
|
3
|
-
import { Field as
|
|
4
|
-
import { useFieldContext as
|
|
5
|
-
import { splitProps as
|
|
6
|
-
var
|
|
7
|
-
const
|
|
8
|
-
const [t, r] =
|
|
9
|
-
return [e(
|
|
1
|
+
import { createComponent as e, mergeProps as a, insert as s, memo as u, template as c } from "solid-js/web";
|
|
2
|
+
import { Combobox as h, ComboboxControl as p, ComboboxInput as m, ComboboxClearTrigger as C, ComboboxTrigger as b, ComboboxPositioner as O, ComboboxContent as f, ComboboxList as x } from "../Combobox.js";
|
|
3
|
+
import { Field as T, FieldLabel as v, FieldContent as w, FieldError as F, FieldDescription as P } from "../Field.js";
|
|
4
|
+
import { useFieldContext as y } from "./context.js";
|
|
5
|
+
import { splitProps as i } from "solid-js";
|
|
6
|
+
var B = /* @__PURE__ */ c('<div class="gap-1 flex items-center">');
|
|
7
|
+
const V = ["placeholder", "inputBehavior", "openOnChange", "openOnClick", "openOnKeyPress", "closeOnSelect", "allowCustomValue", "multiple", "selectionBehavior", "autoFocus", "loopFocus", "positioning", "alwaysSubmitOnEnter", "composite", "defaultHighlightedValue", "defaultInputValue", "defaultOpen", "defaultValue", "disableLayer", "highlightedValue", "ids", "immediate", "inputValue", "lazyMount", "navigate", "onExitComplete", "onFocusOutside", "onHighlightChange", "onInputValueChange", "onInteractOutside", "onOpenChange", "onPointerDownOutside", "onSelect", "open", "present", "scrollToIndexFn", "skipAnimationOnMount", "translations", "unmountOnExit"], _ = (l) => {
|
|
8
|
+
const [t, r] = i(l, ["showTrigger", "showClearTrigger", "children"]);
|
|
9
|
+
return [e(p, {
|
|
10
10
|
get children() {
|
|
11
|
-
return [e(
|
|
12
|
-
var o =
|
|
13
|
-
return
|
|
14
|
-
var n =
|
|
15
|
-
return () => n() && e(
|
|
16
|
-
})(), null),
|
|
17
|
-
var n =
|
|
11
|
+
return [e(m, r), (() => {
|
|
12
|
+
var o = B();
|
|
13
|
+
return s(o, (() => {
|
|
14
|
+
var n = u(() => t.showClearTrigger === !0);
|
|
15
|
+
return () => n() && e(C, {});
|
|
16
|
+
})(), null), s(o, (() => {
|
|
17
|
+
var n = u(() => t.showTrigger === !0);
|
|
18
18
|
return () => n() && e(b, {});
|
|
19
19
|
})(), null), o;
|
|
20
20
|
})()];
|
|
21
21
|
}
|
|
22
|
-
}), e(
|
|
22
|
+
}), e(O, {
|
|
23
23
|
get children() {
|
|
24
|
-
return e(
|
|
24
|
+
return e(f, {
|
|
25
25
|
get children() {
|
|
26
26
|
return e(x, {
|
|
27
27
|
get children() {
|
|
@@ -32,9 +32,9 @@ const y = (l) => {
|
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
34
|
})];
|
|
35
|
-
},
|
|
36
|
-
const t =
|
|
37
|
-
return e(
|
|
35
|
+
}, I = ["label", "description", "required", "disabled", "readOnly", "collection", "showTrigger", "showClearTrigger", "children"], q = (l) => {
|
|
36
|
+
const t = y(), [r, o] = i(l, I), [n, g] = i(o, V);
|
|
37
|
+
return e(T, {
|
|
38
38
|
get invalid() {
|
|
39
39
|
return t().state.meta.errors.length > 0;
|
|
40
40
|
},
|
|
@@ -48,21 +48,21 @@ const y = (l) => {
|
|
|
48
48
|
return r.required ?? !1;
|
|
49
49
|
},
|
|
50
50
|
get children() {
|
|
51
|
-
return [e(
|
|
51
|
+
return [e(v, {
|
|
52
52
|
get children() {
|
|
53
53
|
return r.label;
|
|
54
54
|
}
|
|
55
|
-
}), e(
|
|
55
|
+
}), e(w, {
|
|
56
56
|
get children() {
|
|
57
|
-
return [e(
|
|
57
|
+
return [e(h, a({
|
|
58
58
|
get collection() {
|
|
59
59
|
return r.collection;
|
|
60
60
|
},
|
|
61
61
|
get value() {
|
|
62
62
|
return t().state.value;
|
|
63
63
|
},
|
|
64
|
-
onValueChange: (
|
|
65
|
-
t().handleChange(
|
|
64
|
+
onValueChange: (d) => {
|
|
65
|
+
t().handleChange(d.value);
|
|
66
66
|
},
|
|
67
67
|
onBlur: () => {
|
|
68
68
|
t().handleBlur();
|
|
@@ -75,26 +75,27 @@ const y = (l) => {
|
|
|
75
75
|
},
|
|
76
76
|
get readOnly() {
|
|
77
77
|
return r.readOnly ?? !1;
|
|
78
|
-
}
|
|
78
|
+
}
|
|
79
|
+
}, n, {
|
|
79
80
|
get children() {
|
|
80
|
-
return e(
|
|
81
|
+
return e(_, a({
|
|
81
82
|
get showTrigger() {
|
|
82
83
|
return r.showTrigger;
|
|
83
84
|
},
|
|
84
85
|
get showClearTrigger() {
|
|
85
86
|
return r.showClearTrigger;
|
|
86
87
|
}
|
|
87
|
-
},
|
|
88
|
+
}, g, {
|
|
88
89
|
get children() {
|
|
89
90
|
return r.children;
|
|
90
91
|
}
|
|
91
92
|
}));
|
|
92
93
|
}
|
|
93
|
-
}), e(
|
|
94
|
+
})), e(F, {
|
|
94
95
|
get errors() {
|
|
95
96
|
return t().state.meta.errors;
|
|
96
97
|
}
|
|
97
|
-
}), e(
|
|
98
|
+
}), e(P, {
|
|
98
99
|
get children() {
|
|
99
100
|
return r.description;
|
|
100
101
|
}
|
|
@@ -105,6 +106,6 @@ const y = (l) => {
|
|
|
105
106
|
});
|
|
106
107
|
};
|
|
107
108
|
export {
|
|
108
|
-
|
|
109
|
+
q as ComboboxField
|
|
109
110
|
};
|
|
110
111
|
//# sourceMappingURL=ComboboxField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxField.js","sources":["../../../src/components/form/ComboboxField.tsx"],"sourcesContent":["import type { ComboboxRootProps } from '@ark-ui/solid';\nimport type { Component, ComponentProps } from 'solid-js';\n\nimport {\n Combobox,\n ComboboxContent,\n ComboboxInput,\n ComboboxList,\n ComboboxPositioner,\n ComboboxControl,\n ComboboxTrigger,\n ComboboxClearTrigger,\n} from '@/components/Combobox';\nimport { Field, FieldContent, FieldDescription, FieldError, FieldLabel } from '@/components/Field';\n\nimport { useFieldContext } from './context';\n\nexport type ComboboxFieldProps = ComponentProps<typeof ComboboxInput> & {\n
|
|
1
|
+
{"version":3,"file":"ComboboxField.js","sources":["../../../src/components/form/ComboboxField.tsx"],"sourcesContent":["import type { ComboboxRootProps } from '@ark-ui/solid';\nimport type { Component, ComponentProps } from 'solid-js';\n\nimport {\n Combobox,\n ComboboxContent,\n ComboboxInput,\n ComboboxList,\n ComboboxPositioner,\n ComboboxControl,\n ComboboxTrigger,\n ComboboxClearTrigger,\n} from '@/components/Combobox';\nimport { Field, FieldContent, FieldDescription, FieldError, FieldLabel } from '@/components/Field';\n\nimport { useFieldContext } from './context';\n\nconst COMBOBOX_ROOT_PROPS = [\n 'placeholder',\n 'inputBehavior',\n 'openOnChange',\n 'openOnClick',\n 'openOnKeyPress',\n 'closeOnSelect',\n 'allowCustomValue',\n 'multiple',\n 'selectionBehavior',\n 'autoFocus',\n 'loopFocus',\n 'positioning',\n 'alwaysSubmitOnEnter',\n 'composite',\n 'defaultHighlightedValue',\n 'defaultInputValue',\n 'defaultOpen',\n 'defaultValue',\n 'disableLayer',\n 'highlightedValue',\n 'ids',\n 'immediate',\n 'inputValue',\n 'lazyMount',\n 'navigate',\n 'onExitComplete',\n 'onFocusOutside',\n 'onHighlightChange',\n 'onInputValueChange',\n 'onInteractOutside',\n 'onOpenChange',\n 'onPointerDownOutside',\n 'onSelect',\n 'open',\n 'present',\n 'scrollToIndexFn',\n 'skipAnimationOnMount',\n 'translations',\n 'unmountOnExit',\n] as const;\n\nexport type ComboboxFieldProps = ComponentProps<typeof ComboboxInput> &\n Pick<ComponentProps<typeof Combobox<string>>, (typeof COMBOBOX_ROOT_PROPS)[number]> & {\n collection: ComboboxRootProps<string>['collection'];\n label?: string;\n description?: string;\n showTrigger?: boolean;\n showClearTrigger?: boolean;\n } & { class?: string };\n\nconst ComboboxInputGroup: Component<\n ComponentProps<typeof ComboboxInput> & {\n showTrigger?: boolean | undefined;\n showClearTrigger?: boolean | undefined;\n }\n> = (props) => {\n const [local, others] = splitProps(props, ['showTrigger', 'showClearTrigger', 'children']);\n\n return (\n <>\n <ComboboxControl>\n <ComboboxInput {...others} />\n <div class='gap-1 flex items-center'>\n {local.showClearTrigger === true && <ComboboxClearTrigger />}\n {local.showTrigger === true && <ComboboxTrigger />}\n </div>\n </ComboboxControl>\n <ComboboxPositioner>\n <ComboboxContent>\n <ComboboxList>{local.children}</ComboboxList>\n </ComboboxContent>\n </ComboboxPositioner>\n </>\n );\n};\n\nconst COMBOBOX_FIELD_PROPS = [\n 'label',\n 'description',\n 'required',\n 'disabled',\n 'readOnly',\n 'collection',\n 'showTrigger',\n 'showClearTrigger',\n 'children',\n] as const;\n\nexport const ComboboxField: Component<ComboboxFieldProps> = (props) => {\n const field = useFieldContext<string[]>();\n const [local, others] = splitProps(props, COMBOBOX_FIELD_PROPS);\n const [rootProps, inputProps] = splitProps(others, COMBOBOX_ROOT_PROPS);\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 <Combobox<string>\n collection={local.collection}\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 {...rootProps}\n >\n <ComboboxInputGroup\n showTrigger={local.showTrigger}\n showClearTrigger={local.showClearTrigger}\n {...inputProps}\n >\n {local.children}\n </ComboboxInputGroup>\n </Combobox>\n <FieldError errors={field().state.meta.errors} />\n <FieldDescription>{local.description}</FieldDescription>\n </FieldContent>\n </Field>\n );\n};\n"],"names":["COMBOBOX_ROOT_PROPS","ComboboxInputGroup","props","local","others","splitProps","_$createComponent","ComboboxControl","children","ComboboxInput","_el$","_tmpl$","_$insert","_c$","_$memo","showClearTrigger","ComboboxClearTrigger","_c$2","showTrigger","ComboboxTrigger","ComboboxPositioner","ComboboxContent","ComboboxList","COMBOBOX_FIELD_PROPS","ComboboxField","field","useFieldContext","rootProps","inputProps","Field","invalid","state","meta","errors","length","disabled","readOnly","required","FieldLabel","label","FieldContent","Combobox","_$mergeProps","collection","value","onValueChange","details","handleChange","onBlur","handleBlur","FieldError","FieldDescription","description"],"mappings":";;;;;;AAiBA,MAAMA,IAAsB,CAC1B,eACA,iBACA,gBACA,eACA,kBACA,iBACA,oBACA,YACA,qBACA,aACA,aACA,eACA,uBACA,aACA,2BACA,qBACA,eACA,gBACA,gBACA,oBACA,OACA,aACA,cACA,aACA,YACA,kBACA,kBACA,qBACA,sBACA,qBACA,gBACA,wBACA,YACA,QACA,WACA,mBACA,wBACA,gBACA,eAAe,GAYXC,IAKDC,CAAAA,MAAU;AACb,QAAM,CAACC,GAAOC,CAAM,IAAIC,EAAWH,GAAO,CAAC,eAAe,oBAAoB,UAAU,CAAC;AAEzF,SAAA,CAAAI,EAEKC,GAAe;AAAA,IAAA,IAAAC,WAAA;AAAA,aAAA,CAAAF,EACbG,GAAkBL,CAAM,IAAA,MAAA;AAAA,YAAAM,IAAAC,EAAAA;AAAAC,eAAAA,EAAAF,IAAA,MAAA;AAAA,cAAAG,IAAAC,EAAA,MAEtBX,EAAMY,qBAAqB,EAAI;AAAA,iBAAA,MAA/BF,EAAAA,KAAAP,EAAoCU,GAAoB,CAAA,CAAA;AAAA,QAAG,GAAA,GAAA,IAAA,GAAAJ,EAAAF,IAAA,MAAA;AAAA,cAAAO,IAAAH,EAAA,MAC3DX,EAAMe,gBAAgB,EAAI;AAAA,iBAAA,MAA1BD,EAAAA,KAAAX,EAA+Ba,GAAe,CAAA,CAAA;AAAA,QAAG,GAAA,GAAA,IAAA,GAAAT;AAAAA,MAAA,IAAA;AAAA,IAAA;AAAA,EAAA,CAAA,GAAAJ,EAGrDc,GAAkB;AAAA,IAAA,IAAAZ,WAAA;AAAA,aAAAF,EAChBe,GAAe;AAAA,QAAA,IAAAb,WAAA;AAAA,iBAAAF,EACbgB,GAAY;AAAA,YAAA,IAAAd,WAAA;AAAA,qBAAEL,EAAMK;AAAAA,YAAQ;AAAA,UAAA,CAAA;AAAA,QAAA;AAAA,MAAA,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA,CAAA;AAKvC,GAEMe,IAAuB,CAC3B,SACA,eACA,YACA,YACA,YACA,cACA,eACA,oBACA,UAAU,GAGCC,IAAgDtB,CAAAA,MAAU;AACrE,QAAMuB,IAAQC,EAAAA,GACR,CAACvB,GAAOC,CAAM,IAAIC,EAAWH,GAAOqB,CAAoB,GACxD,CAACI,GAAWC,CAAU,IAAIvB,EAAWD,GAAQJ,CAAmB;AAEtE,SAAAM,EACGuB,GAAK;AAAA,IAAA,IACJC,UAAO;AAAA,aAAEL,EAAAA,EAAQM,MAAMC,KAAKC,OAAOC,SAAS;AAAA,IAAC;AAAA,IAAA,IAC7CC,WAAQ;AAAA,aAAEhC,EAAMgC,YAAY;AAAA,IAAK;AAAA,IAAA,IACjCC,WAAQ;AAAA,aAAEjC,EAAMiC,YAAY;AAAA,IAAK;AAAA,IAAA,IACjCC,WAAQ;AAAA,aAAElC,EAAMkC,YAAY;AAAA,IAAK;AAAA,IAAA,IAAA7B,WAAA;AAAA,aAAA,CAAAF,EAEhCgC,GAAU;AAAA,QAAA,IAAA9B,WAAA;AAAA,iBAAEL,EAAMoC;AAAAA,QAAK;AAAA,MAAA,CAAA,GAAAjC,EACvBkC,GAAY;AAAA,QAAA,IAAAhC,WAAA;AAAA,iBAAA,CAAAF,EACVmC,GAAQC,EAAA;AAAA,YAAA,IACPC,aAAU;AAAA,qBAAExC,EAAMwC;AAAAA,YAAU;AAAA,YAAA,IAC5BC,QAAK;AAAA,qBAAEnB,EAAAA,EAAQM,MAAMa;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,IACDnB,UAAO;AAAA,qBAAEL,EAAAA,EAAQM,MAAMC,KAAKC,OAAOC,SAAS;AAAA,YAAC;AAAA,YAAA,IAC7CC,WAAQ;AAAA,qBAAEhC,EAAMgC,YAAY;AAAA,YAAK;AAAA,YAAA,IACjCC,WAAQ;AAAA,qBAAEjC,EAAMiC,YAAY;AAAA,YAAK;AAAA,UAAA,GAC7BT,GAAS;AAAA,YAAA,IAAAnB,WAAA;AAAA,qBAAAF,EAEZL,GAAkByC,EAAA;AAAA,gBAAA,IACjBxB,cAAW;AAAA,yBAAEf,EAAMe;AAAAA,gBAAW;AAAA,gBAAA,IAC9BH,mBAAgB;AAAA,yBAAEZ,EAAMY;AAAAA,gBAAgB;AAAA,cAAA,GACpCa,GAAU;AAAA,gBAAA,IAAApB,WAAA;AAAA,yBAEbL,EAAMK;AAAAA,gBAAQ;AAAA,cAAA,CAAA,CAAA;AAAA,YAAA;AAAA,UAAA,CAAA,CAAA,GAAAF,EAGlB4C,GAAU;AAAA,YAAA,IAACjB,SAAM;AAAA,qBAAER,EAAAA,EAAQM,MAAMC,KAAKC;AAAAA,YAAM;AAAA,UAAA,CAAA,GAAA3B,EAC5C6C,GAAgB;AAAA,YAAA,IAAA3C,WAAA;AAAA,qBAAEL,EAAMiD;AAAAA,YAAW;AAAA,UAAA,CAAA,CAAA;AAAA,QAAA;AAAA,MAAA,CAAA,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA;AAI5C;"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { DatePickerInputProps } from '@ark-ui/solid';
|
|
2
|
-
import { Component } from 'solid-js';
|
|
3
|
-
|
|
2
|
+
import { Component, ComponentProps } from 'solid-js';
|
|
3
|
+
import { DatePicker } from '../DatePicker';
|
|
4
|
+
declare const DATE_PICKER_ROOT_PROPS: readonly ["min", "max", "locale", "timeZone", "format", "parse", "selectionMode", "numOfMonths", "fixedWeeks", "startOfWeek", "showWeekNumbers", "outsideDaySelectable", "isDateUnavailable", "openOnClick", "positioning", "closeOnSelect", "defaultFocusedValue", "defaultOpen", "defaultValue", "defaultView", "focusedValue", "ids", "immediate", "inline", "lazyMount", "maxSelectedDates", "maxView", "minView", "name", "onExitComplete", "onFocusChange", "onOpenChange", "onValueChange", "onViewChange", "onVisibleRangeChange", "open", "present", "skipAnimationOnMount", "translations", "unmountOnExit", "view"];
|
|
5
|
+
export type DatePickerFieldProps = DatePickerInputProps & Pick<ComponentProps<typeof DatePicker>, (typeof DATE_PICKER_ROOT_PROPS)[number]> & {
|
|
4
6
|
label?: string;
|
|
5
7
|
description?: string;
|
|
6
8
|
showTrigger?: boolean;
|
|
7
9
|
};
|
|
8
10
|
export declare const DatePickerField: Component<DatePickerFieldProps>;
|
|
11
|
+
export {};
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import { createComponent as e, mergeProps as
|
|
2
|
-
import { DatePicker as
|
|
3
|
-
import { Field as
|
|
4
|
-
import { useFieldContext as
|
|
5
|
-
import { splitProps as
|
|
6
|
-
const
|
|
7
|
-
const [t, r] =
|
|
8
|
-
return [e(
|
|
1
|
+
import { createComponent as e, mergeProps as o, Show as u } from "solid-js/web";
|
|
2
|
+
import { DatePicker as g, DatePickerControl as c, DatePickerInput as h, DatePickerTrigger as p, DatePickerPositioner as m, DatePickerContent as f, DatePickerViews as P } from "../DatePicker.js";
|
|
3
|
+
import { Field as O, FieldLabel as C, FieldContent as D, FieldError as w, FieldDescription as k } from "../Field.js";
|
|
4
|
+
import { useFieldContext as b } from "./context.js";
|
|
5
|
+
import { splitProps as i } from "solid-js";
|
|
6
|
+
const V = ["min", "max", "locale", "timeZone", "format", "parse", "selectionMode", "numOfMonths", "fixedWeeks", "startOfWeek", "showWeekNumbers", "outsideDaySelectable", "isDateUnavailable", "openOnClick", "positioning", "closeOnSelect", "defaultFocusedValue", "defaultOpen", "defaultValue", "defaultView", "focusedValue", "ids", "immediate", "inline", "lazyMount", "maxSelectedDates", "maxView", "minView", "name", "onExitComplete", "onFocusChange", "onOpenChange", "onValueChange", "onViewChange", "onVisibleRangeChange", "open", "present", "skipAnimationOnMount", "translations", "unmountOnExit", "view"], F = (n) => {
|
|
7
|
+
const [t, r] = i(n, ["showTrigger"]);
|
|
8
|
+
return [e(c, {
|
|
9
9
|
get children() {
|
|
10
|
-
return [e(
|
|
10
|
+
return [e(h, r), e(u, {
|
|
11
11
|
get when() {
|
|
12
12
|
return t.showTrigger !== !1;
|
|
13
13
|
},
|
|
14
14
|
get children() {
|
|
15
|
-
return e(
|
|
15
|
+
return e(p, {});
|
|
16
16
|
}
|
|
17
17
|
})];
|
|
18
18
|
}
|
|
19
|
-
}), e(
|
|
19
|
+
}), e(m, {
|
|
20
20
|
get children() {
|
|
21
|
-
return e(
|
|
21
|
+
return e(f, {
|
|
22
22
|
get children() {
|
|
23
|
-
return e(
|
|
23
|
+
return e(P, {});
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
27
|
})];
|
|
28
|
-
},
|
|
29
|
-
const t =
|
|
30
|
-
return e(
|
|
28
|
+
}, T = ["label", "description", "required", "disabled", "readOnly", "placeholder", "showTrigger"], S = (n) => {
|
|
29
|
+
const t = b(), [r, l] = i(n, T), [a, s] = i(l, V);
|
|
30
|
+
return e(O, {
|
|
31
31
|
get invalid() {
|
|
32
32
|
return t().state.meta.errors.length > 0;
|
|
33
33
|
},
|
|
@@ -41,18 +41,18 @@ const C = (n) => {
|
|
|
41
41
|
return r.required ?? !1;
|
|
42
42
|
},
|
|
43
43
|
get children() {
|
|
44
|
-
return [e(
|
|
44
|
+
return [e(C, {
|
|
45
45
|
get children() {
|
|
46
46
|
return r.label;
|
|
47
47
|
}
|
|
48
48
|
}), e(D, {
|
|
49
49
|
get children() {
|
|
50
|
-
return [e(
|
|
50
|
+
return [e(g, o({
|
|
51
51
|
get value() {
|
|
52
52
|
return t().state.value;
|
|
53
53
|
},
|
|
54
|
-
onValueChange: (
|
|
55
|
-
t().handleChange(
|
|
54
|
+
onValueChange: (d) => {
|
|
55
|
+
t().handleChange(d.value);
|
|
56
56
|
},
|
|
57
57
|
onBlur: () => {
|
|
58
58
|
t().handleBlur();
|
|
@@ -65,9 +65,10 @@ const C = (n) => {
|
|
|
65
65
|
},
|
|
66
66
|
get readOnly() {
|
|
67
67
|
return r.readOnly ?? !1;
|
|
68
|
-
}
|
|
68
|
+
}
|
|
69
|
+
}, a, {
|
|
69
70
|
get children() {
|
|
70
|
-
return e(
|
|
71
|
+
return e(F, o(s, {
|
|
71
72
|
get placeholder() {
|
|
72
73
|
return r.placeholder;
|
|
73
74
|
}
|
|
@@ -75,7 +76,7 @@ const C = (n) => {
|
|
|
75
76
|
showTrigger: r.showTrigger
|
|
76
77
|
}));
|
|
77
78
|
}
|
|
78
|
-
}), e(
|
|
79
|
+
})), e(w, {
|
|
79
80
|
get errors() {
|
|
80
81
|
return t().state.meta.errors;
|
|
81
82
|
}
|
|
@@ -90,6 +91,6 @@ const C = (n) => {
|
|
|
90
91
|
});
|
|
91
92
|
};
|
|
92
93
|
export {
|
|
93
|
-
|
|
94
|
+
S as DatePickerField
|
|
94
95
|
};
|
|
95
96
|
//# sourceMappingURL=DatePickerField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerField.js","sources":["../../../src/components/form/DatePickerField.tsx"],"sourcesContent":["import type { DatePickerInputProps, DateValue } from '@ark-ui/solid';\nimport type { Component } from 'solid-js';\n\nimport {\n DatePicker,\n DatePickerContent,\n DatePickerControl,\n DatePickerInput,\n DatePickerPositioner,\n DatePickerTrigger,\n DatePickerViews,\n} from '@/components/DatePicker';\nimport { Field, FieldContent, FieldDescription, FieldError, FieldLabel } from '@/components/Field';\n\nimport { useFieldContext } from './context';\n\nexport type DatePickerFieldProps = DatePickerInputProps & {\n
|
|
1
|
+
{"version":3,"file":"DatePickerField.js","sources":["../../../src/components/form/DatePickerField.tsx"],"sourcesContent":["import type { DatePickerInputProps, DateValue } from '@ark-ui/solid';\nimport type { Component, ComponentProps } from 'solid-js';\n\nimport {\n DatePicker,\n DatePickerContent,\n DatePickerControl,\n DatePickerInput,\n DatePickerPositioner,\n DatePickerTrigger,\n DatePickerViews,\n} from '@/components/DatePicker';\nimport { Field, FieldContent, FieldDescription, FieldError, FieldLabel } from '@/components/Field';\n\nimport { useFieldContext } from './context';\n\nconst DATE_PICKER_ROOT_PROPS = [\n 'min',\n 'max',\n 'locale',\n 'timeZone',\n 'format',\n 'parse',\n 'selectionMode',\n 'numOfMonths',\n 'fixedWeeks',\n 'startOfWeek',\n 'showWeekNumbers',\n 'outsideDaySelectable',\n 'isDateUnavailable',\n 'openOnClick',\n 'positioning',\n 'closeOnSelect',\n 'defaultFocusedValue',\n 'defaultOpen',\n 'defaultValue',\n 'defaultView',\n 'focusedValue',\n 'ids',\n 'immediate',\n 'inline',\n 'lazyMount',\n 'maxSelectedDates',\n 'maxView',\n 'minView',\n 'name',\n 'onExitComplete',\n 'onFocusChange',\n 'onOpenChange',\n 'onValueChange',\n 'onViewChange',\n 'onVisibleRangeChange',\n 'open',\n 'present',\n 'skipAnimationOnMount',\n 'translations',\n 'unmountOnExit',\n 'view',\n] as const;\n\nexport type DatePickerFieldProps = DatePickerInputProps &\n Pick<ComponentProps<typeof DatePicker>, (typeof DATE_PICKER_ROOT_PROPS)[number]> & {\n label?: string;\n description?: string;\n showTrigger?: boolean;\n };\n\nconst DatePickerInputGroup: Component<DatePickerInputProps & { showTrigger?: boolean }> = (\n props,\n) => {\n const [local, others] = splitProps(props, ['showTrigger']);\n\n return (\n <>\n <DatePickerControl>\n <DatePickerInput {...others} />\n <Show when={local.showTrigger !== false}>\n <DatePickerTrigger />\n </Show>\n </DatePickerControl>\n <DatePickerPositioner>\n <DatePickerContent>\n <DatePickerViews />\n </DatePickerContent>\n </DatePickerPositioner>\n </>\n );\n};\n\nconst DATE_PICKER_FIELD_PROPS = [\n 'label',\n 'description',\n 'required',\n 'disabled',\n 'readOnly',\n 'placeholder',\n 'showTrigger',\n] as const;\n\nexport const DatePickerField: Component<DatePickerFieldProps> = (props) => {\n const field = useFieldContext<DateValue[]>();\n const [local, others] = splitProps(props, DATE_PICKER_FIELD_PROPS);\n const [rootProps, inputProps] = splitProps(others, DATE_PICKER_ROOT_PROPS);\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 <DatePicker\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 {...rootProps}\n >\n <DatePickerInputGroup\n {...inputProps}\n placeholder={local.placeholder}\n {...(typeof local.showTrigger === 'boolean' && { showTrigger: local.showTrigger })}\n />\n </DatePicker>\n <FieldError errors={field().state.meta.errors} />\n <FieldDescription>{local.description}</FieldDescription>\n </FieldContent>\n </Field>\n );\n};\n"],"names":["DATE_PICKER_ROOT_PROPS","DatePickerInputGroup","props","local","others","splitProps","_$createComponent","DatePickerControl","children","DatePickerInput","_$Show","when","showTrigger","DatePickerTrigger","DatePickerPositioner","DatePickerContent","DatePickerViews","DATE_PICKER_FIELD_PROPS","DatePickerField","field","useFieldContext","rootProps","inputProps","Field","invalid","state","meta","errors","length","disabled","readOnly","required","FieldLabel","label","FieldContent","DatePicker","_$mergeProps","value","onValueChange","details","handleChange","onBlur","handleBlur","placeholder","FieldError","FieldDescription","description"],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Component, ComponentProps } from 'solid-js';
|
|
2
|
-
import { NumberInputInput } from '../NumberInput';
|
|
3
|
-
|
|
2
|
+
import { NumberInput, NumberInputInput } from '../NumberInput';
|
|
3
|
+
declare const NUMBER_INPUT_ROOT_PROPS: readonly ["min", "max", "step", "allowMouseWheel", "allowOverflow", "clampValueOnBlur", "formatOptions", "inputMode", "locale", "pattern", "spinOnPress", "focusInputOnChange", "translations", "form", "name", "onValueInvalid"];
|
|
4
|
+
export type NumberInputFieldProps = ComponentProps<typeof NumberInputInput> & Pick<ComponentProps<typeof NumberInput>, (typeof NUMBER_INPUT_ROOT_PROPS)[number]> & {
|
|
4
5
|
label?: string;
|
|
5
6
|
description?: string;
|
|
6
7
|
showTriggers?: boolean;
|
|
7
8
|
};
|
|
8
9
|
export declare const NumberInputField: Component<NumberInputFieldProps>;
|
|
10
|
+
export {};
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { createComponent as r, mergeProps as
|
|
2
|
-
import { Field as
|
|
3
|
-
import { NumberInput as
|
|
4
|
-
import { useFieldContext as
|
|
5
|
-
import { splitProps as
|
|
6
|
-
const
|
|
7
|
-
const [
|
|
1
|
+
import { createComponent as r, mergeProps as s, Show as d } from "solid-js/web";
|
|
2
|
+
import { Field as c, FieldLabel as g, FieldContent as h, FieldError as b, FieldDescription as f } from "../Field.js";
|
|
3
|
+
import { NumberInput as V, NumberInputControl as C, NumberInputInput as N, NumberInputTriggers as I } from "../NumberInput.js";
|
|
4
|
+
import { useFieldContext as O } from "./context.js";
|
|
5
|
+
import { splitProps as m, createSignal as F, createEffect as v } from "solid-js";
|
|
6
|
+
const P = ["min", "max", "step", "allowMouseWheel", "allowOverflow", "clampValueOnBlur", "formatOptions", "inputMode", "locale", "pattern", "spinOnPress", "focusInputOnChange", "translations", "form", "name", "onValueInvalid"], u = (e) => typeof e != "number" || !Number.isFinite(e) ? "" : String(e), B = (e) => {
|
|
7
|
+
const [l, n] = F(u(e().state.value));
|
|
8
8
|
return v(() => {
|
|
9
|
-
|
|
9
|
+
n(u(e().state.value));
|
|
10
10
|
}), {
|
|
11
|
-
inputValue:
|
|
12
|
-
onValueChange: (
|
|
13
|
-
t
|
|
11
|
+
inputValue: l,
|
|
12
|
+
onValueChange: (t) => {
|
|
13
|
+
n(t.value);
|
|
14
14
|
},
|
|
15
|
-
onValueCommit: (
|
|
16
|
-
t
|
|
15
|
+
onValueCommit: (t) => {
|
|
16
|
+
n(t.value), Number.isFinite(t.valueAsNumber) && e().handleChange(t.valueAsNumber);
|
|
17
17
|
},
|
|
18
18
|
onBlur: () => {
|
|
19
|
-
|
|
19
|
+
n(u(e().state.value)), e().handleBlur();
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
|
-
},
|
|
22
|
+
}, p = (e) => r(c, {
|
|
23
23
|
get invalid() {
|
|
24
24
|
return e.field().state.meta.errors.length > 0;
|
|
25
25
|
},
|
|
@@ -37,9 +37,9 @@ const a = (e) => typeof e != "number" || !Number.isFinite(e) ? "" : String(e), B
|
|
|
37
37
|
get children() {
|
|
38
38
|
return e.local.label;
|
|
39
39
|
}
|
|
40
|
-
}), r(
|
|
40
|
+
}), r(h, {
|
|
41
41
|
get children() {
|
|
42
|
-
return [r(
|
|
42
|
+
return [r(V, s({
|
|
43
43
|
get value() {
|
|
44
44
|
return e.inputValue();
|
|
45
45
|
},
|
|
@@ -63,26 +63,27 @@ const a = (e) => typeof e != "number" || !Number.isFinite(e) ? "" : String(e), B
|
|
|
63
63
|
},
|
|
64
64
|
get required() {
|
|
65
65
|
return e.local.required ?? !1;
|
|
66
|
-
}
|
|
66
|
+
}
|
|
67
|
+
}, () => e.rootProps, {
|
|
67
68
|
get children() {
|
|
68
|
-
return r(
|
|
69
|
+
return r(C, {
|
|
69
70
|
get children() {
|
|
70
|
-
return [r(
|
|
71
|
+
return [r(N, s(() => e.inputProps)), r(d, {
|
|
71
72
|
get when() {
|
|
72
73
|
return e.local.showTriggers !== !1;
|
|
73
74
|
},
|
|
74
75
|
get children() {
|
|
75
|
-
return r(
|
|
76
|
+
return r(I, {});
|
|
76
77
|
}
|
|
77
78
|
})];
|
|
78
79
|
}
|
|
79
80
|
});
|
|
80
81
|
}
|
|
81
|
-
}), r(
|
|
82
|
+
})), r(b, {
|
|
82
83
|
get errors() {
|
|
83
84
|
return e.field().state.meta.errors;
|
|
84
85
|
}
|
|
85
|
-
}), r(
|
|
86
|
+
}), r(f, {
|
|
86
87
|
get children() {
|
|
87
88
|
return e.local.description;
|
|
88
89
|
}
|
|
@@ -90,19 +91,20 @@ const a = (e) => typeof e != "number" || !Number.isFinite(e) ? "" : String(e), B
|
|
|
90
91
|
}
|
|
91
92
|
})];
|
|
92
93
|
}
|
|
93
|
-
}),
|
|
94
|
-
const
|
|
95
|
-
return
|
|
96
|
-
field:
|
|
97
|
-
local:
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
94
|
+
}), x = (e) => {
|
|
95
|
+
const l = O(), [n, a] = m(e, ["label", "description", "required", "disabled", "readOnly", "showTriggers"]), [o, i] = m(a, P), t = B(l);
|
|
96
|
+
return p({
|
|
97
|
+
field: l,
|
|
98
|
+
local: n,
|
|
99
|
+
rootProps: o,
|
|
100
|
+
inputProps: i,
|
|
101
|
+
inputValue: t.inputValue,
|
|
102
|
+
onValueChange: t.onValueChange,
|
|
103
|
+
onValueCommit: t.onValueCommit,
|
|
104
|
+
onBlur: t.onBlur
|
|
103
105
|
});
|
|
104
106
|
};
|
|
105
107
|
export {
|
|
106
|
-
|
|
108
|
+
x as NumberInputField
|
|
107
109
|
};
|
|
108
110
|
//# sourceMappingURL=NumberInputField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberInputField.js","sources":["../../../src/components/form/NumberInputField.tsx"],"sourcesContent":["import type { Component, ComponentProps, JSX } from 'solid-js';\n\nimport { Field, FieldLabel, FieldContent, FieldError, FieldDescription } from '@/components/Field';\nimport {\n NumberInput,\n NumberInputControl,\n NumberInputInput,\n NumberInputTriggers,\n} from '@/components/NumberInput';\n\nimport { useFieldContext } from './context';\n\nexport type NumberInputFieldProps = ComponentProps<typeof NumberInputInput> & {\n
|
|
1
|
+
{"version":3,"file":"NumberInputField.js","sources":["../../../src/components/form/NumberInputField.tsx"],"sourcesContent":["import type { Component, ComponentProps, JSX } from 'solid-js';\n\nimport { Field, FieldLabel, FieldContent, FieldError, FieldDescription } from '@/components/Field';\nimport {\n NumberInput,\n NumberInputControl,\n NumberInputInput,\n NumberInputTriggers,\n} from '@/components/NumberInput';\n\nimport { useFieldContext } from './context';\n\nconst NUMBER_INPUT_ROOT_PROPS = [\n 'min',\n 'max',\n 'step',\n 'allowMouseWheel',\n 'allowOverflow',\n 'clampValueOnBlur',\n 'formatOptions',\n 'inputMode',\n 'locale',\n 'pattern',\n 'spinOnPress',\n 'focusInputOnChange',\n 'translations',\n 'form',\n 'name',\n 'onValueInvalid',\n] as const;\n\nexport type NumberInputFieldProps = ComponentProps<typeof NumberInputInput> &\n Pick<ComponentProps<typeof NumberInput>, (typeof NUMBER_INPUT_ROOT_PROPS)[number]> & {\n label?: string;\n description?: string;\n showTriggers?: boolean;\n };\n\nconst toNumberInputValue = (value: number | undefined): string => {\n if (typeof value !== 'number' || !Number.isFinite(value)) {\n return '';\n }\n\n return String(value);\n};\n\ntype NumberInputFieldLocalProps = Pick<\n NumberInputFieldProps,\n 'label' | 'description' | 'required' | 'disabled' | 'readOnly' | 'showTriggers'\n>;\n\ntype NumberInputFieldRootProps = Pick<\n NumberInputFieldProps,\n (typeof NUMBER_INPUT_ROOT_PROPS)[number]\n>;\n\ntype RenderNumberInputFieldProps = {\n field: ReturnType<typeof useFieldContext<number>>;\n local: NumberInputFieldLocalProps;\n rootProps: NumberInputFieldRootProps;\n inputProps: Omit<\n NumberInputFieldProps,\n keyof NumberInputFieldLocalProps | keyof NumberInputFieldRootProps\n >;\n inputValue: () => string;\n onValueChange: NonNullable<ComponentProps<typeof NumberInput>['onValueChange']>;\n onValueCommit: NonNullable<ComponentProps<typeof NumberInput>['onValueCommit']>;\n onBlur: () => void;\n};\n\ntype NumberInputFieldState = Pick<\n RenderNumberInputFieldProps,\n 'inputValue' | 'onValueChange' | 'onValueCommit' | 'onBlur'\n>;\n\nconst createNumberInputFieldState = (\n field: ReturnType<typeof useFieldContext<number>>,\n): NumberInputFieldState => {\n const [inputValue, setInputValue] = createSignal(toNumberInputValue(field().state.value));\n\n createEffect(() => {\n setInputValue(toNumberInputValue(field().state.value));\n });\n\n const onValueChange: NonNullable<ComponentProps<typeof NumberInput>['onValueChange']> = (\n details,\n ) => {\n setInputValue(details.value);\n };\n\n const onValueCommit: NonNullable<ComponentProps<typeof NumberInput>['onValueCommit']> = (\n details,\n ) => {\n setInputValue(details.value);\n\n if (!Number.isFinite(details.valueAsNumber)) {\n return;\n }\n\n field().handleChange(details.valueAsNumber);\n };\n\n const onBlur = (): void => {\n setInputValue(toNumberInputValue(field().state.value));\n field().handleBlur();\n };\n\n return {\n inputValue,\n onValueChange,\n onValueCommit,\n onBlur,\n };\n};\n\nconst renderNumberInputField = (props: RenderNumberInputFieldProps): JSX.Element => (\n <Field\n invalid={props.field().state.meta.errors.length > 0}\n required={props.local.required ?? false}\n disabled={props.local.disabled ?? false}\n readOnly={props.local.readOnly ?? false}\n >\n <FieldLabel>{props.local.label}</FieldLabel>\n <FieldContent>\n <NumberInput\n value={props.inputValue()}\n onValueChange={props.onValueChange}\n onValueCommit={props.onValueCommit}\n onBlur={props.onBlur}\n invalid={props.field().state.meta.errors.length > 0}\n disabled={props.local.disabled ?? false}\n readOnly={props.local.readOnly ?? false}\n required={props.local.required ?? false}\n {...props.rootProps}\n >\n <NumberInputControl>\n <NumberInputInput {...props.inputProps} />\n <Show when={props.local.showTriggers !== false}>\n <NumberInputTriggers />\n </Show>\n </NumberInputControl>\n </NumberInput>\n <FieldError errors={props.field().state.meta.errors} />\n <FieldDescription>{props.local.description}</FieldDescription>\n </FieldContent>\n </Field>\n);\n\nexport const NumberInputField: Component<NumberInputFieldProps> = (props) => {\n const field = useFieldContext<number>();\n const [local, others] = splitProps(props, [\n 'label',\n 'description',\n 'required',\n 'disabled',\n 'readOnly',\n 'showTriggers',\n ]);\n const [rootProps, inputProps] = splitProps(others, NUMBER_INPUT_ROOT_PROPS);\n const state = createNumberInputFieldState(field);\n\n return renderNumberInputField({\n field,\n local,\n rootProps,\n inputProps,\n inputValue: state.inputValue,\n onValueChange: state.onValueChange,\n onValueCommit: state.onValueCommit,\n onBlur: state.onBlur,\n });\n};\n"],"names":["NUMBER_INPUT_ROOT_PROPS","toNumberInputValue","value","Number","isFinite","String","createNumberInputFieldState","field","inputValue","setInputValue","createSignal","state","createEffect","onValueChange","details","onValueCommit","valueAsNumber","handleChange","onBlur","handleBlur","renderNumberInputField","props","_$createComponent","Field","invalid","meta","errors","length","required","local","disabled","readOnly","children","FieldLabel","label","FieldContent","NumberInput","_$mergeProps","rootProps","NumberInputControl","NumberInputInput","inputProps","_$Show","when","showTriggers","NumberInputTriggers","FieldError","FieldDescription","description","NumberInputField","useFieldContext","others","splitProps"],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Component, ComponentProps } from 'solid-js';
|
|
2
|
-
import { TagsInputInput } from '../TagsInput';
|
|
3
|
-
|
|
2
|
+
import { TagsInput, TagsInputInput } from '../TagsInput';
|
|
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
|
+
export type TagsInputFieldProps = ComponentProps<typeof TagsInputInput> & Pick<ComponentProps<typeof TagsInput>, (typeof TAGS_INPUT_ROOT_PROPS)[number]> & {
|
|
4
5
|
label?: string;
|
|
5
6
|
description?: string;
|
|
6
7
|
showClearTrigger?: boolean;
|
|
7
8
|
};
|
|
8
9
|
export declare const TagsInputField: Component<TagsInputFieldProps>;
|
|
10
|
+
export {};
|
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
import { createComponent as e, mergeProps as
|
|
2
|
-
import { splitProps as i, For as
|
|
3
|
-
import { Field as
|
|
4
|
-
import { TagsInput as
|
|
5
|
-
import { useFieldContext as
|
|
6
|
-
const D = (l) => {
|
|
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";
|
|
4
|
+
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";
|
|
6
|
+
const D = ["max", "maxLength", "delimiter", "addOnPaste", "blurBehavior", "validate", "autoFocus", "editable", "allowOverflow", "translations", "ids", "onFocusOutside", "onHighlightChange", "onInputValueChange", "onInteractOutside", "onPointerDownOutside", "onValueInvalid"], q = (l) => {
|
|
7
7
|
const [t, r] = i(l, ["children", "showClearTrigger"]);
|
|
8
|
-
return [e(
|
|
9
|
-
children: (a) => e(
|
|
8
|
+
return [e(f, {
|
|
9
|
+
children: (a) => e(O, {
|
|
10
10
|
get children() {
|
|
11
|
-
return [e(
|
|
11
|
+
return [e(h, {
|
|
12
12
|
get each() {
|
|
13
13
|
return a().value;
|
|
14
14
|
},
|
|
15
|
-
children: (n,
|
|
15
|
+
children: (n, o) => e(P, {
|
|
16
16
|
get index() {
|
|
17
|
-
return
|
|
17
|
+
return o();
|
|
18
18
|
},
|
|
19
19
|
value: n,
|
|
20
20
|
get children() {
|
|
21
21
|
return [e(w, {
|
|
22
22
|
get children() {
|
|
23
|
-
return [e(
|
|
23
|
+
return [e(b, {
|
|
24
24
|
children: n
|
|
25
|
-
}), e(
|
|
25
|
+
}), e(F, {})];
|
|
26
26
|
}
|
|
27
|
-
}), e(
|
|
27
|
+
}), e(v, {})];
|
|
28
28
|
}
|
|
29
29
|
})
|
|
30
|
-
}), e(
|
|
30
|
+
}), e(x, r), e(g, {
|
|
31
31
|
get when() {
|
|
32
32
|
return t.showClearTrigger !== !1;
|
|
33
33
|
},
|
|
34
34
|
get children() {
|
|
35
|
-
return e(
|
|
35
|
+
return e(y, {});
|
|
36
36
|
}
|
|
37
|
-
}),
|
|
37
|
+
}), d(() => t.children)];
|
|
38
38
|
}
|
|
39
39
|
})
|
|
40
|
-
}), e(
|
|
41
|
-
},
|
|
42
|
-
const t =
|
|
43
|
-
return e(
|
|
40
|
+
}), 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);
|
|
43
|
+
return e(p, {
|
|
44
44
|
get invalid() {
|
|
45
45
|
return t().state.meta.errors.length > 0;
|
|
46
46
|
},
|
|
@@ -54,18 +54,18 @@ const D = (l) => {
|
|
|
54
54
|
return r.required ?? !1;
|
|
55
55
|
},
|
|
56
56
|
get children() {
|
|
57
|
-
return [e(
|
|
57
|
+
return [e(c, {
|
|
58
58
|
get children() {
|
|
59
59
|
return r.label;
|
|
60
60
|
}
|
|
61
|
-
}), e(
|
|
61
|
+
}), e(I, {
|
|
62
62
|
get children() {
|
|
63
|
-
return [e(
|
|
63
|
+
return [e(C, s({
|
|
64
64
|
get value() {
|
|
65
65
|
return t().state.value;
|
|
66
66
|
},
|
|
67
|
-
onValueChange: (
|
|
68
|
-
t().handleChange(
|
|
67
|
+
onValueChange: (u) => {
|
|
68
|
+
t().handleChange(u.value);
|
|
69
69
|
},
|
|
70
70
|
onBlur: () => {
|
|
71
71
|
t().handleBlur();
|
|
@@ -78,17 +78,18 @@ const D = (l) => {
|
|
|
78
78
|
},
|
|
79
79
|
get readOnly() {
|
|
80
80
|
return r.readOnly ?? !1;
|
|
81
|
-
}
|
|
81
|
+
}
|
|
82
|
+
}, n, {
|
|
82
83
|
get children() {
|
|
83
|
-
return e(
|
|
84
|
+
return e(q, s(o, () => typeof r.showClearTrigger == "boolean" && {
|
|
84
85
|
showClearTrigger: r.showClearTrigger
|
|
85
86
|
}));
|
|
86
87
|
}
|
|
87
|
-
}), e(T, {
|
|
88
|
+
})), e(T, {
|
|
88
89
|
get errors() {
|
|
89
90
|
return t().state.meta.errors;
|
|
90
91
|
}
|
|
91
|
-
}), e(
|
|
92
|
+
}), e(m, {
|
|
92
93
|
get children() {
|
|
93
94
|
return r.description;
|
|
94
95
|
}
|
|
@@ -99,6 +100,6 @@ const D = (l) => {
|
|
|
99
100
|
});
|
|
100
101
|
};
|
|
101
102
|
export {
|
|
102
|
-
|
|
103
|
+
E as TagsInputField
|
|
103
104
|
};
|
|
104
105
|
//# sourceMappingURL=TagsInputField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagsInputField.js","sources":["../../../src/components/form/TagsInputField.tsx"],"sourcesContent":["import { type Component, type ComponentProps, splitProps, For } from 'solid-js';\n\nimport { Field, FieldContent, FieldDescription, FieldError, FieldLabel } from '@/components/Field';\nimport {\n TagsInput,\n TagsInputClearTrigger,\n TagsInputContext,\n TagsInputControl,\n TagsInputHiddenInput,\n TagsInputInput,\n TagsInputItemInput,\n TagsInputItemPreview,\n TagsInputItemText,\n TagsInputItem,\n TagsInputItemDeleteTrigger,\n} from '@/components/TagsInput';\n\nimport { useFieldContext } from './context';\n\nexport type TagsInputFieldProps = ComponentProps<typeof TagsInputInput> & {\n
|
|
1
|
+
{"version":3,"file":"TagsInputField.js","sources":["../../../src/components/form/TagsInputField.tsx"],"sourcesContent":["import { type Component, type ComponentProps, splitProps, For } from 'solid-js';\n\nimport { Field, FieldContent, FieldDescription, FieldError, FieldLabel } from '@/components/Field';\nimport {\n TagsInput,\n TagsInputClearTrigger,\n TagsInputContext,\n TagsInputControl,\n TagsInputHiddenInput,\n TagsInputInput,\n TagsInputItemInput,\n TagsInputItemPreview,\n TagsInputItemText,\n TagsInputItem,\n TagsInputItemDeleteTrigger,\n} from '@/components/TagsInput';\n\nimport { useFieldContext } from './context';\n\nconst TAGS_INPUT_ROOT_PROPS = [\n 'max',\n 'maxLength',\n 'delimiter',\n 'addOnPaste',\n 'blurBehavior',\n 'validate',\n 'autoFocus',\n 'editable',\n 'allowOverflow',\n 'translations',\n 'ids',\n 'onFocusOutside',\n 'onHighlightChange',\n 'onInputValueChange',\n 'onInteractOutside',\n 'onPointerDownOutside',\n 'onValueInvalid',\n] as const;\n\nexport type TagsInputFieldProps = ComponentProps<typeof TagsInputInput> &\n Pick<ComponentProps<typeof TagsInput>, (typeof TAGS_INPUT_ROOT_PROPS)[number]> & {\n label?: string;\n description?: string;\n showClearTrigger?: boolean;\n };\n\nconst TagsInputGroup: Component<\n { showClearTrigger?: boolean } & ComponentProps<typeof TagsInputInput>\n> = (props) => {\n const [local, others] = splitProps(props, ['children', 'showClearTrigger']);\n\n return (\n <>\n <TagsInputContext>\n {(context) => (\n <TagsInputControl>\n <For each={context().value}>\n {(value, index) => (\n <TagsInputItem index={index()} value={value}>\n <TagsInputItemPreview>\n <TagsInputItemText>{value}</TagsInputItemText>\n <TagsInputItemDeleteTrigger />\n </TagsInputItemPreview>\n <TagsInputItemInput />\n </TagsInputItem>\n )}\n </For>\n <TagsInputInput {...others} />\n <Show when={local.showClearTrigger !== false}>\n <TagsInputClearTrigger />\n </Show>\n {local.children}\n </TagsInputControl>\n )}\n </TagsInputContext>\n <TagsInputHiddenInput />\n </>\n );\n};\n\nconst TAGS_INPUT_FIELD_PROPS = [\n 'label',\n 'description',\n 'required',\n 'disabled',\n 'readOnly',\n 'showClearTrigger',\n] as const;\n\nexport const TagsInputField: Component<TagsInputFieldProps> = (props) => {\n const field = useFieldContext<string[]>();\n const [local, others] = splitProps(props, TAGS_INPUT_FIELD_PROPS);\n const [rootProps, inputProps] = splitProps(others, TAGS_INPUT_ROOT_PROPS);\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 <TagsInput\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 {...rootProps}\n >\n <TagsInputGroup\n {...inputProps}\n {...(typeof local.showClearTrigger === 'boolean' && {\n showClearTrigger: local.showClearTrigger,\n })}\n />\n </TagsInput>\n <FieldError errors={field().state.meta.errors} />\n <FieldDescription>{local.description}</FieldDescription>\n </FieldContent>\n </Field>\n );\n};\n"],"names":["TAGS_INPUT_ROOT_PROPS","TagsInputGroup","props","local","others","splitProps","_$createComponent","TagsInputContext","children","context","TagsInputControl","For","each","value","index","TagsInputItem","TagsInputItemPreview","TagsInputItemText","TagsInputItemDeleteTrigger","TagsInputItemInput","TagsInputInput","_$Show","when","showClearTrigger","TagsInputClearTrigger","_$memo","TagsInputHiddenInput","TAGS_INPUT_FIELD_PROPS","TagsInputField","field","useFieldContext","rootProps","inputProps","Field","invalid","state","meta","errors","length","disabled","readOnly","required","FieldLabel","label","FieldContent","TagsInput","_$mergeProps","onValueChange","details","handleChange","onBlur","handleBlur","FieldError","FieldDescription","description"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -15,13 +15,56 @@ import { Field, FieldContent, FieldDescription, FieldError, FieldLabel } from '@
|
|
|
15
15
|
|
|
16
16
|
import { useFieldContext } from './context';
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
const COMBOBOX_ROOT_PROPS = [
|
|
19
|
+
'placeholder',
|
|
20
|
+
'inputBehavior',
|
|
21
|
+
'openOnChange',
|
|
22
|
+
'openOnClick',
|
|
23
|
+
'openOnKeyPress',
|
|
24
|
+
'closeOnSelect',
|
|
25
|
+
'allowCustomValue',
|
|
26
|
+
'multiple',
|
|
27
|
+
'selectionBehavior',
|
|
28
|
+
'autoFocus',
|
|
29
|
+
'loopFocus',
|
|
30
|
+
'positioning',
|
|
31
|
+
'alwaysSubmitOnEnter',
|
|
32
|
+
'composite',
|
|
33
|
+
'defaultHighlightedValue',
|
|
34
|
+
'defaultInputValue',
|
|
35
|
+
'defaultOpen',
|
|
36
|
+
'defaultValue',
|
|
37
|
+
'disableLayer',
|
|
38
|
+
'highlightedValue',
|
|
39
|
+
'ids',
|
|
40
|
+
'immediate',
|
|
41
|
+
'inputValue',
|
|
42
|
+
'lazyMount',
|
|
43
|
+
'navigate',
|
|
44
|
+
'onExitComplete',
|
|
45
|
+
'onFocusOutside',
|
|
46
|
+
'onHighlightChange',
|
|
47
|
+
'onInputValueChange',
|
|
48
|
+
'onInteractOutside',
|
|
49
|
+
'onOpenChange',
|
|
50
|
+
'onPointerDownOutside',
|
|
51
|
+
'onSelect',
|
|
52
|
+
'open',
|
|
53
|
+
'present',
|
|
54
|
+
'scrollToIndexFn',
|
|
55
|
+
'skipAnimationOnMount',
|
|
56
|
+
'translations',
|
|
57
|
+
'unmountOnExit',
|
|
58
|
+
] as const;
|
|
59
|
+
|
|
60
|
+
export type ComboboxFieldProps = ComponentProps<typeof ComboboxInput> &
|
|
61
|
+
Pick<ComponentProps<typeof Combobox<string>>, (typeof COMBOBOX_ROOT_PROPS)[number]> & {
|
|
62
|
+
collection: ComboboxRootProps<string>['collection'];
|
|
63
|
+
label?: string;
|
|
64
|
+
description?: string;
|
|
65
|
+
showTrigger?: boolean;
|
|
66
|
+
showClearTrigger?: boolean;
|
|
67
|
+
} & { class?: string };
|
|
25
68
|
|
|
26
69
|
const ComboboxInputGroup: Component<
|
|
27
70
|
ComponentProps<typeof ComboboxInput> & {
|
|
@@ -64,6 +107,7 @@ const COMBOBOX_FIELD_PROPS = [
|
|
|
64
107
|
export const ComboboxField: Component<ComboboxFieldProps> = (props) => {
|
|
65
108
|
const field = useFieldContext<string[]>();
|
|
66
109
|
const [local, others] = splitProps(props, COMBOBOX_FIELD_PROPS);
|
|
110
|
+
const [rootProps, inputProps] = splitProps(others, COMBOBOX_ROOT_PROPS);
|
|
67
111
|
|
|
68
112
|
return (
|
|
69
113
|
<Field
|
|
@@ -86,11 +130,12 @@ export const ComboboxField: Component<ComboboxFieldProps> = (props) => {
|
|
|
86
130
|
invalid={field().state.meta.errors.length > 0}
|
|
87
131
|
disabled={local.disabled ?? false}
|
|
88
132
|
readOnly={local.readOnly ?? false}
|
|
133
|
+
{...rootProps}
|
|
89
134
|
>
|
|
90
135
|
<ComboboxInputGroup
|
|
91
136
|
showTrigger={local.showTrigger}
|
|
92
137
|
showClearTrigger={local.showClearTrigger}
|
|
93
|
-
{...
|
|
138
|
+
{...inputProps}
|
|
94
139
|
>
|
|
95
140
|
{local.children}
|
|
96
141
|
</ComboboxInputGroup>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { DatePickerInputProps, DateValue } from '@ark-ui/solid';
|
|
2
|
-
import type { Component } from 'solid-js';
|
|
2
|
+
import type { Component, ComponentProps } from 'solid-js';
|
|
3
3
|
|
|
4
4
|
import {
|
|
5
5
|
DatePicker,
|
|
@@ -14,11 +14,56 @@ import { Field, FieldContent, FieldDescription, FieldError, FieldLabel } from '@
|
|
|
14
14
|
|
|
15
15
|
import { useFieldContext } from './context';
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
const DATE_PICKER_ROOT_PROPS = [
|
|
18
|
+
'min',
|
|
19
|
+
'max',
|
|
20
|
+
'locale',
|
|
21
|
+
'timeZone',
|
|
22
|
+
'format',
|
|
23
|
+
'parse',
|
|
24
|
+
'selectionMode',
|
|
25
|
+
'numOfMonths',
|
|
26
|
+
'fixedWeeks',
|
|
27
|
+
'startOfWeek',
|
|
28
|
+
'showWeekNumbers',
|
|
29
|
+
'outsideDaySelectable',
|
|
30
|
+
'isDateUnavailable',
|
|
31
|
+
'openOnClick',
|
|
32
|
+
'positioning',
|
|
33
|
+
'closeOnSelect',
|
|
34
|
+
'defaultFocusedValue',
|
|
35
|
+
'defaultOpen',
|
|
36
|
+
'defaultValue',
|
|
37
|
+
'defaultView',
|
|
38
|
+
'focusedValue',
|
|
39
|
+
'ids',
|
|
40
|
+
'immediate',
|
|
41
|
+
'inline',
|
|
42
|
+
'lazyMount',
|
|
43
|
+
'maxSelectedDates',
|
|
44
|
+
'maxView',
|
|
45
|
+
'minView',
|
|
46
|
+
'name',
|
|
47
|
+
'onExitComplete',
|
|
48
|
+
'onFocusChange',
|
|
49
|
+
'onOpenChange',
|
|
50
|
+
'onValueChange',
|
|
51
|
+
'onViewChange',
|
|
52
|
+
'onVisibleRangeChange',
|
|
53
|
+
'open',
|
|
54
|
+
'present',
|
|
55
|
+
'skipAnimationOnMount',
|
|
56
|
+
'translations',
|
|
57
|
+
'unmountOnExit',
|
|
58
|
+
'view',
|
|
59
|
+
] as const;
|
|
60
|
+
|
|
61
|
+
export type DatePickerFieldProps = DatePickerInputProps &
|
|
62
|
+
Pick<ComponentProps<typeof DatePicker>, (typeof DATE_PICKER_ROOT_PROPS)[number]> & {
|
|
63
|
+
label?: string;
|
|
64
|
+
description?: string;
|
|
65
|
+
showTrigger?: boolean;
|
|
66
|
+
};
|
|
22
67
|
|
|
23
68
|
const DatePickerInputGroup: Component<DatePickerInputProps & { showTrigger?: boolean }> = (
|
|
24
69
|
props,
|
|
@@ -55,6 +100,7 @@ const DATE_PICKER_FIELD_PROPS = [
|
|
|
55
100
|
export const DatePickerField: Component<DatePickerFieldProps> = (props) => {
|
|
56
101
|
const field = useFieldContext<DateValue[]>();
|
|
57
102
|
const [local, others] = splitProps(props, DATE_PICKER_FIELD_PROPS);
|
|
103
|
+
const [rootProps, inputProps] = splitProps(others, DATE_PICKER_ROOT_PROPS);
|
|
58
104
|
|
|
59
105
|
return (
|
|
60
106
|
<Field
|
|
@@ -76,9 +122,10 @@ export const DatePickerField: Component<DatePickerFieldProps> = (props) => {
|
|
|
76
122
|
invalid={field().state.meta.errors.length > 0}
|
|
77
123
|
disabled={local.disabled ?? false}
|
|
78
124
|
readOnly={local.readOnly ?? false}
|
|
125
|
+
{...rootProps}
|
|
79
126
|
>
|
|
80
127
|
<DatePickerInputGroup
|
|
81
|
-
{...
|
|
128
|
+
{...inputProps}
|
|
82
129
|
placeholder={local.placeholder}
|
|
83
130
|
{...(typeof local.showTrigger === 'boolean' && { showTrigger: local.showTrigger })}
|
|
84
131
|
/>
|
|
@@ -10,11 +10,31 @@ import {
|
|
|
10
10
|
|
|
11
11
|
import { useFieldContext } from './context';
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
const NUMBER_INPUT_ROOT_PROPS = [
|
|
14
|
+
'min',
|
|
15
|
+
'max',
|
|
16
|
+
'step',
|
|
17
|
+
'allowMouseWheel',
|
|
18
|
+
'allowOverflow',
|
|
19
|
+
'clampValueOnBlur',
|
|
20
|
+
'formatOptions',
|
|
21
|
+
'inputMode',
|
|
22
|
+
'locale',
|
|
23
|
+
'pattern',
|
|
24
|
+
'spinOnPress',
|
|
25
|
+
'focusInputOnChange',
|
|
26
|
+
'translations',
|
|
27
|
+
'form',
|
|
28
|
+
'name',
|
|
29
|
+
'onValueInvalid',
|
|
30
|
+
] as const;
|
|
31
|
+
|
|
32
|
+
export type NumberInputFieldProps = ComponentProps<typeof NumberInputInput> &
|
|
33
|
+
Pick<ComponentProps<typeof NumberInput>, (typeof NUMBER_INPUT_ROOT_PROPS)[number]> & {
|
|
34
|
+
label?: string;
|
|
35
|
+
description?: string;
|
|
36
|
+
showTriggers?: boolean;
|
|
37
|
+
};
|
|
18
38
|
|
|
19
39
|
const toNumberInputValue = (value: number | undefined): string => {
|
|
20
40
|
if (typeof value !== 'number' || !Number.isFinite(value)) {
|
|
@@ -29,10 +49,19 @@ type NumberInputFieldLocalProps = Pick<
|
|
|
29
49
|
'label' | 'description' | 'required' | 'disabled' | 'readOnly' | 'showTriggers'
|
|
30
50
|
>;
|
|
31
51
|
|
|
52
|
+
type NumberInputFieldRootProps = Pick<
|
|
53
|
+
NumberInputFieldProps,
|
|
54
|
+
(typeof NUMBER_INPUT_ROOT_PROPS)[number]
|
|
55
|
+
>;
|
|
56
|
+
|
|
32
57
|
type RenderNumberInputFieldProps = {
|
|
33
58
|
field: ReturnType<typeof useFieldContext<number>>;
|
|
34
59
|
local: NumberInputFieldLocalProps;
|
|
35
|
-
|
|
60
|
+
rootProps: NumberInputFieldRootProps;
|
|
61
|
+
inputProps: Omit<
|
|
62
|
+
NumberInputFieldProps,
|
|
63
|
+
keyof NumberInputFieldLocalProps | keyof NumberInputFieldRootProps
|
|
64
|
+
>;
|
|
36
65
|
inputValue: () => string;
|
|
37
66
|
onValueChange: NonNullable<ComponentProps<typeof NumberInput>['onValueChange']>;
|
|
38
67
|
onValueCommit: NonNullable<ComponentProps<typeof NumberInput>['onValueCommit']>;
|
|
@@ -102,9 +131,10 @@ const renderNumberInputField = (props: RenderNumberInputFieldProps): JSX.Element
|
|
|
102
131
|
disabled={props.local.disabled ?? false}
|
|
103
132
|
readOnly={props.local.readOnly ?? false}
|
|
104
133
|
required={props.local.required ?? false}
|
|
134
|
+
{...props.rootProps}
|
|
105
135
|
>
|
|
106
136
|
<NumberInputControl>
|
|
107
|
-
<NumberInputInput {...props.
|
|
137
|
+
<NumberInputInput {...props.inputProps} />
|
|
108
138
|
<Show when={props.local.showTriggers !== false}>
|
|
109
139
|
<NumberInputTriggers />
|
|
110
140
|
</Show>
|
|
@@ -126,12 +156,14 @@ export const NumberInputField: Component<NumberInputFieldProps> = (props) => {
|
|
|
126
156
|
'readOnly',
|
|
127
157
|
'showTriggers',
|
|
128
158
|
]);
|
|
159
|
+
const [rootProps, inputProps] = splitProps(others, NUMBER_INPUT_ROOT_PROPS);
|
|
129
160
|
const state = createNumberInputFieldState(field);
|
|
130
161
|
|
|
131
162
|
return renderNumberInputField({
|
|
132
163
|
field,
|
|
133
164
|
local,
|
|
134
|
-
|
|
165
|
+
rootProps,
|
|
166
|
+
inputProps,
|
|
135
167
|
inputValue: state.inputValue,
|
|
136
168
|
onValueChange: state.onValueChange,
|
|
137
169
|
onValueCommit: state.onValueCommit,
|
|
@@ -17,14 +17,35 @@ import {
|
|
|
17
17
|
|
|
18
18
|
import { useFieldContext } from './context';
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
const TAGS_INPUT_ROOT_PROPS = [
|
|
21
|
+
'max',
|
|
22
|
+
'maxLength',
|
|
23
|
+
'delimiter',
|
|
24
|
+
'addOnPaste',
|
|
25
|
+
'blurBehavior',
|
|
26
|
+
'validate',
|
|
27
|
+
'autoFocus',
|
|
28
|
+
'editable',
|
|
29
|
+
'allowOverflow',
|
|
30
|
+
'translations',
|
|
31
|
+
'ids',
|
|
32
|
+
'onFocusOutside',
|
|
33
|
+
'onHighlightChange',
|
|
34
|
+
'onInputValueChange',
|
|
35
|
+
'onInteractOutside',
|
|
36
|
+
'onPointerDownOutside',
|
|
37
|
+
'onValueInvalid',
|
|
38
|
+
] as const;
|
|
39
|
+
|
|
40
|
+
export type TagsInputFieldProps = ComponentProps<typeof TagsInputInput> &
|
|
41
|
+
Pick<ComponentProps<typeof TagsInput>, (typeof TAGS_INPUT_ROOT_PROPS)[number]> & {
|
|
42
|
+
label?: string;
|
|
43
|
+
description?: string;
|
|
44
|
+
showClearTrigger?: boolean;
|
|
45
|
+
};
|
|
25
46
|
|
|
26
47
|
const TagsInputGroup: Component<
|
|
27
|
-
|
|
48
|
+
{ showClearTrigger?: boolean } & ComponentProps<typeof TagsInputInput>
|
|
28
49
|
> = (props) => {
|
|
29
50
|
const [local, others] = splitProps(props, ['children', 'showClearTrigger']);
|
|
30
51
|
|
|
@@ -69,6 +90,7 @@ const TAGS_INPUT_FIELD_PROPS = [
|
|
|
69
90
|
export const TagsInputField: Component<TagsInputFieldProps> = (props) => {
|
|
70
91
|
const field = useFieldContext<string[]>();
|
|
71
92
|
const [local, others] = splitProps(props, TAGS_INPUT_FIELD_PROPS);
|
|
93
|
+
const [rootProps, inputProps] = splitProps(others, TAGS_INPUT_ROOT_PROPS);
|
|
72
94
|
|
|
73
95
|
return (
|
|
74
96
|
<Field
|
|
@@ -90,9 +112,10 @@ export const TagsInputField: Component<TagsInputFieldProps> = (props) => {
|
|
|
90
112
|
invalid={field().state.meta.errors.length > 0}
|
|
91
113
|
disabled={local.disabled ?? false}
|
|
92
114
|
readOnly={local.readOnly ?? false}
|
|
115
|
+
{...rootProps}
|
|
93
116
|
>
|
|
94
117
|
<TagsInputGroup
|
|
95
|
-
{...
|
|
118
|
+
{...inputProps}
|
|
96
119
|
{...(typeof local.showClearTrigger === 'boolean' && {
|
|
97
120
|
showClearTrigger: local.showClearTrigger,
|
|
98
121
|
})}
|