nitro-web 0.0.49 → 0.0.50
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/components/partials/element/filters.tsx +1 -1
- package/components/partials/form/checkbox.tsx +1 -1
- package/components/partials/form/drop.tsx +6 -6
- package/components/partials/form/field-color.tsx +7 -6
- package/components/partials/form/field-currency.tsx +3 -2
- package/components/partials/form/field-date.tsx +9 -8
- package/components/partials/form/field.tsx +2 -1
- package/components/partials/form/select.tsx +2 -2
- package/components/partials/styleguide.tsx +7 -6
- package/package.json +1 -1
- package/types/util.d.ts +2 -2
- package/types/util.d.ts.map +1 -1
- package/util.js +2 -2
|
@@ -84,7 +84,7 @@ export const Filters = forwardRef<FiltersHandleType, FiltersProps>(({
|
|
|
84
84
|
debouncedSubmit()
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
async function _onChange(e: {target: {
|
|
87
|
+
async function _onChange(e: {target: {name: string, value: unknown}}) {
|
|
88
88
|
await onChange(setState, e)
|
|
89
89
|
debouncedSubmit()
|
|
90
90
|
}
|
|
@@ -7,12 +7,12 @@ import { Errors, MonasteryImage } from 'nitro-web/types'
|
|
|
7
7
|
type DropProps = {
|
|
8
8
|
awsUrl?: string
|
|
9
9
|
className?: string
|
|
10
|
-
/** Optional ID for the input element. Defaults to name if not provided */
|
|
11
|
-
id?: string
|
|
12
10
|
/** Field name or path on state (used to match errors), e.g. 'avatar', 'company.avatar' */
|
|
13
11
|
name: string
|
|
12
|
+
/** Optional ID for the input element. Defaults to name if not provided */
|
|
13
|
+
id?: string
|
|
14
14
|
/** Called when file is selected or dropped */
|
|
15
|
-
onChange?: (event: { target: {
|
|
15
|
+
onChange?: (event: { target: { name: string, value: File|FileList } }) => void
|
|
16
16
|
/** Whether to allow multiple file selection */
|
|
17
17
|
multiple?: boolean
|
|
18
18
|
/** State object to get the value and check errors against */
|
|
@@ -30,7 +30,7 @@ export function Drop({ awsUrl, className, id, name, onChange, multiple, state, .
|
|
|
30
30
|
if (!name) throw new Error('Drop component requires a `name` prop')
|
|
31
31
|
let value: Image = null
|
|
32
32
|
let error: Error | unknown
|
|
33
|
-
const inputId = id ||name
|
|
33
|
+
const inputId = id || name
|
|
34
34
|
const [urls, setUrls] = useState([])
|
|
35
35
|
const stateRef = useRef(state)
|
|
36
36
|
stateRef.current = state
|
|
@@ -59,7 +59,7 @@ export function Drop({ awsUrl, className, id, name, onChange, multiple, state, .
|
|
|
59
59
|
const errors = (stateRef?.current?.errors || []).filter((e: Errors[]) => e?.title != name)
|
|
60
60
|
onChange({
|
|
61
61
|
// remove file from state
|
|
62
|
-
target: {
|
|
62
|
+
target: { name: name, value: null },
|
|
63
63
|
// reset (server) errors
|
|
64
64
|
errors: errors.length ? errors : undefined,
|
|
65
65
|
})
|
|
@@ -68,7 +68,7 @@ export function Drop({ awsUrl, className, id, name, onChange, multiple, state, .
|
|
|
68
68
|
|
|
69
69
|
async function onFileAttach (files: FileList) {
|
|
70
70
|
// files is a FileList object
|
|
71
|
-
if (onChange) onChange({ target: {
|
|
71
|
+
if (onChange) onChange({ target: { name: name, value: multiple ? files : files[0] } })
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
async function getUrls(objectOrFileListItem: File | FileList | MonasteryImage | null) {
|
|
@@ -5,10 +5,11 @@ import { Dropdown, util } from 'nitro-web'
|
|
|
5
5
|
|
|
6
6
|
export type FieldColorProps = React.InputHTMLAttributes<HTMLInputElement> & {
|
|
7
7
|
name: string
|
|
8
|
+
/** name is applied if id is not provided */
|
|
8
9
|
id?: string
|
|
9
10
|
defaultColor?: string
|
|
10
11
|
Icon?: React.ReactNode
|
|
11
|
-
onChange?: (event: { target: {
|
|
12
|
+
onChange?: (event: { target: { name: string, value: string|null } }) => void
|
|
12
13
|
value?: string|null
|
|
13
14
|
}
|
|
14
15
|
|
|
@@ -17,7 +18,7 @@ export function FieldColor({ defaultColor='#333', Icon, onChange, value, ...prop
|
|
|
17
18
|
const isInvalid = props.className?.includes('is-invalid') ? 'is-invalid' : ''
|
|
18
19
|
const id = props.id || props.name
|
|
19
20
|
|
|
20
|
-
function onInputChange(e: { target: {
|
|
21
|
+
function onInputChange(e: { target: { name: string, value: string|null } }) {
|
|
21
22
|
setLastChanged(`ic-${Date.now()}`)
|
|
22
23
|
if (onChange) onChange(e)
|
|
23
24
|
}
|
|
@@ -27,7 +28,7 @@ export function FieldColor({ defaultColor='#333', Icon, onChange, value, ...prop
|
|
|
27
28
|
dir="bottom-left"
|
|
28
29
|
menuToggles={false}
|
|
29
30
|
menuContent={
|
|
30
|
-
<ColorPicker key={lastChanged} defaultColor={defaultColor}
|
|
31
|
+
<ColorPicker key={lastChanged} defaultColor={defaultColor} name={props.name} value={value} onChange={onChange} />
|
|
31
32
|
}
|
|
32
33
|
>
|
|
33
34
|
<div className="grid grid-cols-1">
|
|
@@ -38,7 +39,7 @@ export function FieldColor({ defaultColor='#333', Icon, onChange, value, ...prop
|
|
|
38
39
|
id={id}
|
|
39
40
|
value={value}
|
|
40
41
|
onChange={onInputChange}
|
|
41
|
-
onBlur={() => !validHex(value||'') && onInputChange({ target: {
|
|
42
|
+
onBlur={() => !validHex(value||'') && onInputChange({ target: { name: props.name, value: '' }})}
|
|
42
43
|
autoComplete="off"
|
|
43
44
|
type="text"
|
|
44
45
|
/>
|
|
@@ -47,12 +48,12 @@ export function FieldColor({ defaultColor='#333', Icon, onChange, value, ...prop
|
|
|
47
48
|
)
|
|
48
49
|
}
|
|
49
50
|
|
|
50
|
-
function ColorPicker({
|
|
51
|
+
function ColorPicker({ name='', onChange, value='', defaultColor='' }: FieldColorProps) {
|
|
51
52
|
const [hsva, setHsva] = useState(() => hexToHsva(validHex(value) ? value : defaultColor))
|
|
52
53
|
const [debounce] = useState(() => util.throttle(callOnChange, 50))
|
|
53
54
|
|
|
54
55
|
function callOnChange(newHsva: HsvaColor) {
|
|
55
|
-
if (onChange) onChange({ target: {
|
|
56
|
+
if (onChange) onChange({ target: { name: name, value: hsvaToHex(newHsva) }})
|
|
56
57
|
}
|
|
57
58
|
|
|
58
59
|
return (
|
|
@@ -17,6 +17,7 @@ type NumericFormatProps = React.InputHTMLAttributes<HTMLInputElement> & {
|
|
|
17
17
|
|
|
18
18
|
export type FieldCurrencyProps = NumericFormatProps & {
|
|
19
19
|
name: string
|
|
20
|
+
/** name is applied if id is not provided */
|
|
20
21
|
id?: string
|
|
21
22
|
/** e.g. { currencies: { nzd: { symbol: '$', digits: 2 } } } (check out the nitro example for more info) */
|
|
22
23
|
config: {
|
|
@@ -25,7 +26,7 @@ export type FieldCurrencyProps = NumericFormatProps & {
|
|
|
25
26
|
}
|
|
26
27
|
/** currency iso, e.g. 'nzd' */
|
|
27
28
|
currency: string
|
|
28
|
-
onChange?: (event: { target: {
|
|
29
|
+
onChange?: (event: { target: { name: string, value: string|number|null } }) => void
|
|
29
30
|
/** value should be in cents */
|
|
30
31
|
value?: string|number|null
|
|
31
32
|
defaultValue?: number | string | null
|
|
@@ -138,7 +139,7 @@ export function FieldCurrency({ config, currency='nzd', onChange, value, default
|
|
|
138
139
|
onValueChange={!onChange ? undefined : ({ floatValue }, e) => {
|
|
139
140
|
// console.log('onValueChange', floatValue, e)
|
|
140
141
|
if (e.source === 'event') setDontFix(true)
|
|
141
|
-
onChange({ target: {
|
|
142
|
+
onChange({ target: { name: props.name, value: toCents(floatValue) }})
|
|
142
143
|
}}
|
|
143
144
|
onBlur={() => { setDollars(toDollars(value, true))}}
|
|
144
145
|
placeholder={props.placeholder || '0.00'}
|
|
@@ -11,7 +11,8 @@ type DropdownRef = {
|
|
|
11
11
|
type PreFieldDateProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange'> & {
|
|
12
12
|
name: string
|
|
13
13
|
mode: Mode
|
|
14
|
-
id
|
|
14
|
+
// name is applied if id is not provided
|
|
15
|
+
id?: string
|
|
15
16
|
showTime?: boolean
|
|
16
17
|
prefix?: string
|
|
17
18
|
numberOfMonths?: number
|
|
@@ -22,11 +23,11 @@ type PreFieldDateProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onCh
|
|
|
22
23
|
// An array is returned for mode = 'multiple' or 'range'
|
|
23
24
|
export type FieldDateProps = (
|
|
24
25
|
| ({ mode: 'single' } & PreFieldDateProps & {
|
|
25
|
-
onChange?: (e: { target: {
|
|
26
|
+
onChange?: (e: { target: { name: string, value: null|number } }) => void
|
|
26
27
|
value?: null|number|string
|
|
27
28
|
})
|
|
28
29
|
| ({ mode: 'multiple' | 'range' } & PreFieldDateProps & {
|
|
29
|
-
onChange: (e: { target: {
|
|
30
|
+
onChange: (e: { target: { name: string, value: (null|number)[] } }) => void
|
|
30
31
|
value?: null|number|string|(null|number|string)[]
|
|
31
32
|
})
|
|
32
33
|
)
|
|
@@ -42,9 +43,9 @@ export function FieldDate({
|
|
|
42
43
|
const localePattern = `d MMM yyyy${showTime && mode == 'single' ? ' hh:mmaa' : ''}`
|
|
43
44
|
const [prefixWidth, setPrefixWidth] = useState(0)
|
|
44
45
|
const dropdownRef = useRef<DropdownRef>(null)
|
|
45
|
-
const id = props.id || props.name
|
|
46
46
|
const [month, setMonth] = useState<number|undefined>()
|
|
47
47
|
const [lastUpdated, setLastUpdated] = useState(0)
|
|
48
|
+
const id = props.id || props.name
|
|
48
49
|
|
|
49
50
|
// Convert the value to an array of valid* dates
|
|
50
51
|
const dates = useMemo(() => {
|
|
@@ -70,7 +71,7 @@ export function FieldDate({
|
|
|
70
71
|
setInputValue(getInputValue(value))
|
|
71
72
|
// Update the value
|
|
72
73
|
if (onChange) {
|
|
73
|
-
onChange({ target: {
|
|
74
|
+
onChange({ target: { name: props.name, value: value as any } })
|
|
74
75
|
setLastUpdated(new Date().getTime())
|
|
75
76
|
}
|
|
76
77
|
}
|
|
@@ -104,7 +105,7 @@ export function FieldDate({
|
|
|
104
105
|
// Update the value
|
|
105
106
|
const value = mode == 'single' ? split[0]?.getTime() ?? null : split.map(d => d?.getTime() ?? null)
|
|
106
107
|
if (onChange) {
|
|
107
|
-
onChange({ target: {
|
|
108
|
+
onChange({ target: { name: props.name, value: value as any }})
|
|
108
109
|
setLastUpdated(new Date().getTime())
|
|
109
110
|
}
|
|
110
111
|
}
|
|
@@ -144,11 +145,11 @@ export function FieldDate({
|
|
|
144
145
|
id={id}
|
|
145
146
|
autoComplete="off"
|
|
146
147
|
className={(props.className||'')}// + props.className?.includes('is-invalid') ? ' is-invalid' : ''}
|
|
147
|
-
value={inputValue}
|
|
148
|
-
onChange={onInputChange}
|
|
149
148
|
onBlur={() => setInputValue(getInputValue(dates))}
|
|
149
|
+
onChange={onInputChange}
|
|
150
150
|
style={{ textIndent: prefixWidth + 'px' }}
|
|
151
151
|
type="text"
|
|
152
|
+
value={inputValue}
|
|
152
153
|
/>
|
|
153
154
|
</div>
|
|
154
155
|
</Dropdown>
|
|
@@ -17,6 +17,7 @@ type TextareaProps = React.TextareaHTMLAttributes<HTMLTextAreaElement>
|
|
|
17
17
|
type FieldExtraProps = {
|
|
18
18
|
// field name or path on state (used to match errors), e.g. 'date', 'company.email'
|
|
19
19
|
name: string
|
|
20
|
+
// name is applied if id is not provided
|
|
20
21
|
id?: string
|
|
21
22
|
// state object to get the value, and check errors against
|
|
22
23
|
state?: { errors?: Errors, [key: string]: any }
|
|
@@ -92,7 +93,7 @@ export function Field({ state, icon, iconPos: ip, ...props }: FieldProps) {
|
|
|
92
93
|
|
|
93
94
|
// Classname
|
|
94
95
|
const inputClassName = getInputClasses({ error, Icon, iconPos, type })
|
|
95
|
-
const commonProps = { id: props.
|
|
96
|
+
const commonProps = { id: props.id || props.name, value: value, className: inputClassName }
|
|
96
97
|
|
|
97
98
|
// Type has to be referenced as props.type for TS to be happy
|
|
98
99
|
if (!type || type == 'text' || type == 'password' || type == 'email' || type == 'filter' || type == 'search') {
|
|
@@ -27,7 +27,7 @@ type SelectProps = {
|
|
|
27
27
|
/** The prefix to add to the input **/
|
|
28
28
|
prefix?: string
|
|
29
29
|
/** The onChange handler **/
|
|
30
|
-
onChange?: (event: { target: {
|
|
30
|
+
onChange?: (event: { target: { name: string, value: unknown } }) => void
|
|
31
31
|
/** The options to display in the dropdown **/
|
|
32
32
|
options: { value: unknown, label: string | React.ReactNode, fixed?: boolean, [key: string]: unknown }[]
|
|
33
33
|
/** The state object to get the value and check errors from **/
|
|
@@ -83,7 +83,7 @@ export function Select({ inputId, minMenuWidth, name, prefix='', onChange, optio
|
|
|
83
83
|
}}
|
|
84
84
|
menuPlacement="auto"
|
|
85
85
|
minMenuHeight={250}
|
|
86
|
-
onChange={!onChange ? undefined : (o) => onChange({ target: {
|
|
86
|
+
onChange={!onChange ? undefined : (o) => onChange({ target: { name: name, value: (o as {value?: unknown})?.value || o }})}
|
|
87
87
|
options={options}
|
|
88
88
|
value={value}
|
|
89
89
|
classNames={{
|
|
@@ -65,8 +65,8 @@ export function Styleguide({ className }: { className?: string }) {
|
|
|
65
65
|
{ label: 'Delete' },
|
|
66
66
|
]
|
|
67
67
|
|
|
68
|
-
function onCustomerInputChange (e: { target: {
|
|
69
|
-
if (e.target.
|
|
68
|
+
function onCustomerInputChange (e: { target: { name: string, value: unknown } }) {
|
|
69
|
+
if (e.target.name == 'customer' && e.target.value == '0') {
|
|
70
70
|
setCustomerSearch('')
|
|
71
71
|
e.target.value = null // clear the select's selected value
|
|
72
72
|
setTimeout(() => alert('Adding new customer...'), 0)
|
|
@@ -139,7 +139,8 @@ export function Styleguide({ className }: { className?: string }) {
|
|
|
139
139
|
<Field
|
|
140
140
|
class="!my-0 min-w-[242px]"
|
|
141
141
|
type="search"
|
|
142
|
-
name="search"
|
|
142
|
+
name="search"
|
|
143
|
+
id="search2"
|
|
143
144
|
iconPos="left"
|
|
144
145
|
state={filterState}
|
|
145
146
|
onChange={(e) => {
|
|
@@ -282,8 +283,8 @@ export function Styleguide({ className }: { className?: string }) {
|
|
|
282
283
|
<Field name="password" type="password"/>
|
|
283
284
|
</div>
|
|
284
285
|
<div>
|
|
285
|
-
<label for="
|
|
286
|
-
<Field name="search" type="search" placeholder="Search..." />
|
|
286
|
+
<label for="search3">Search</label>
|
|
287
|
+
<Field name="search" id="search3" type="search" placeholder="Search..." />
|
|
287
288
|
</div>
|
|
288
289
|
<div>
|
|
289
290
|
<label for="filter">Filter by Code</label>
|
|
@@ -334,7 +335,7 @@ export function Styleguide({ className }: { className?: string }) {
|
|
|
334
335
|
<label for="calendar">Calendar</label>
|
|
335
336
|
<Calendar mode="range" value={state.calendar} numberOfMonths={1}
|
|
336
337
|
onChange={(mode, value) => {
|
|
337
|
-
onChange(setState, { target: {
|
|
338
|
+
onChange(setState, { target: { name: 'calendar', value: value } })
|
|
338
339
|
}}
|
|
339
340
|
/>
|
|
340
341
|
</div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nitro-web",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.50",
|
|
4
4
|
"repository": "github:boycce/nitro-web",
|
|
5
5
|
"homepage": "https://boycce.github.io/nitro-web/",
|
|
6
6
|
"description": "Nitro is a battle-tested, modular base project to turbocharge your projects, styled using Tailwind 🚀",
|
package/types/util.d.ts
CHANGED
|
@@ -466,7 +466,7 @@ export function omit(obj: {
|
|
|
466
466
|
*
|
|
467
467
|
* @template T
|
|
468
468
|
* @param {React.Dispatch<React.SetStateAction<T>>} setState
|
|
469
|
-
* @param {{target: {
|
|
469
|
+
* @param {{target: {name: string, value: unknown}}|[string, function|unknown]} eventOrPathValue
|
|
470
470
|
* @param {Function} [beforeSetState] - optional function to run before setting the state
|
|
471
471
|
* @returns {Promise<T>}
|
|
472
472
|
*
|
|
@@ -476,7 +476,7 @@ export function omit(obj: {
|
|
|
476
476
|
*/
|
|
477
477
|
export function onChange<T>(setState: React.Dispatch<React.SetStateAction<T>>, eventOrPathValue: {
|
|
478
478
|
target: {
|
|
479
|
-
|
|
479
|
+
name: string;
|
|
480
480
|
value: unknown;
|
|
481
481
|
};
|
|
482
482
|
} | [string, Function | unknown], beforeSetState?: Function): Promise<T>;
|
package/types/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../util.js"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../util.js"],"names":[],"mappings":"AAkBA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BC;AAED;;;GAGG;AACH,yBAFa,OAAO,OAAO,EAAE,WAAW,CAevC;AAED;;;;;GAKG;AACH,8BAJW,MAAM,cACN;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,GACrB,MAAM,CAKlB;AAED;;;;;;GAMG;AACH,+BALW,MAAM,oBACN,OAAO,gBACP,OAAO,GACL,MAAM,CAelB;AAED;;;;;GAKG;AACH,sCAJW,MAAM,wBACN,OAAO,GACL,MAAM,CAMlB;AAED;;;;GAIG;AACH,sCAHW,MAAM,GACJ,MAAM,CAIlB;AAED;;;;GAIG;AACH,iCAHW,MAAM,GACJ,MAAM,CAIlB;AAED;;;;;;GAMG;AACH,gCALW,MAAM,aACN,MAAM,oBACN,MAAM,GACJ,MAAM,CAUlB;AAED;;;;GAIG;AACH,0CAHW,MAAM,GACJ,MAAM,CAMlB;AAED;;;;;;;;;;;GAWG;AACH,2BAVW,MAAM,GAAC,IAAI,WACX,MAAM,aACN,MAAM,GACJ,MAAM,CAsBlB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,yBAlBuC,CAAC,SAA3B,CAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAI,QAI3B,CAAC,SACD,MAAM,YACN;IACN,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GACS,CAAC,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG;IACpD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,UAAU,CAAC,CAAC,CAAC,CAAA;CAC7B,CAuKH;AAED;;;;;GAKG;AACH,yBAJa,CAAC,OACH,CAAC,GACC,CAAC,CAgBb;AAED;;;;;GAKG;AACH,8BAJW,MAAM,GAAC,GAAG,EAAE,QACZ,MAAM,GACJ,OAAO,CAgBnB;AAED;;;;;;;GAOG;AACH,yBANa,CAAC,OACH,CAAC,QACD,MAAM,SACN,OAAO,WAAS,GACd,CAAC,CA8Bb;AAED;;;;;;GAMG;AACH,0BALW;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAC,GAAC,EAAE,GAAC,IAAI,gCAE5B,MAAM,GACJ,MAAM,GAAC,EAAE,GAAC,IAAI,CAmB1B;AAED;;;;;;;;;GASG;AACH,mCARW,MAAM,GAAC,IAAI,GAAC,IAAI,YAChB,MAAM,SACN,MAAM,QACN,MAAM,GACJ,IAAI,CA+BhB;AAED;;;;;GAKG;AACH,mCAJW,MAAM,iBACN,OAAO,GACL,MAAM,CAMlB;AAED;;;;GAIG;AACH,mCAHW,MAAM,GACJ,MAAM,CAWlB;AAED;;;;;;;;GAQG;AACH,8BAPW,MAAM,QACN;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,qBAC5G,QAAQ,cACR,MAAM,GACJ,QAAQ,CAwEpB;AAED;;;;GAIG;AACH,iCAHW;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,GACnC,MAAM,CAIlB;AAED;;;;GAIG;AACH,sCAHW,MAAM,GACJ,MAAM,EAAE,CASpB;AAED;;;;GAIG;AACH,6CAHW;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACjC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAS5D;AAED;;;;GAIG;AACH,+CAHW;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACjC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAS9C;AAED;;;;;GAKG;AACH,uCAJW,MAAM,iBACN,MAAM,GACJ,MAAM,CAYlB;AAED;;;;;GAKG;AACH,qCAJW;IAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE,QACvC,MAAM,GACJ,MAAM,CAYlB;AAED;;;;GAIG;AACH,6DAHW,MAAM,GACJ,OAAO,CAAC,OAAO,mBAAmB,EAAE,MAAM,GAAC,IAAI,CAAC,CAI5D;AAED;;;;;;;;;;;GAWG;AACH,wCAHW,aAAa,GACX,UAAU,EAAE,CAiCxB;AAED;;;;;;GAMG;AACH,+BALW,GAAG,EAAE,UACL,OAAO,QACP,MAAM,GACJ,OAAO,CAcnB;AAED;;;;GAIG;AACH,kCAHW,OAAO,GACL,OAAO,CAInB;AAED;;;;GAIG;AACH,iCAHW,OAAO,GACL,OAAO,CAInB;AAED;;;;GAIG;AACH,oCAHW,OAAO,GACL,OAAO,CAInB;AAED;;;;GAIG;AACH,+BAHW,MAAM,GACJ,OAAO,CAMnB;AAED;;;;;GAKG;AACH,8BAJW;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,GAAC,IAAI,qBAC7B,OAAO,GACL,OAAO,CASnB;AAED;;;;GAIG;AACH,qCAHW,OAAO,GACL,OAAO,CAInB;AAED;;;;GAIG;AACH,+BAHW,OAAO,GACL,OAAO,CAmBnB;AAED;;;;GAIG;AACH,mCAHW,OAAO,GACL,OAAO,CAInB;AAED;;;;GAIG;AACH,mCAHW,OAAO,GACL,OAAO,CAKnB;AAED;;;;GAIG;AACH,kCAHW,OAAO,GACL,OAAO,CAInB;AAED;;;;GAIG;AACH,mCAHW,OAAO,GACL,OAAO,CAInB;AAED;;;;GAIG;AACH,gCAHW,MAAM,GACJ,MAAM,CAIlB;AAED;;;;;;GAMG;AACH,kCALW,MAAM,QACN,MAAM,iBACN,OAAO,GACL,MAAM,CAalB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qCAxBW,MAAM,mBACN,KAAK,GAAC,GAAG,aACT,KAAK,GACH,CAAC,KAAK,EAAE,KAAK,CAAC,GAAC,IAAI,CAuC/B;AAED;;;;;;;;;GASG;AACH,qDARW;IACN,IAAI,CAAC,EAAE;QAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAC,CAAA;IACjE,QAAQ,CAAC,EAAE;QAAC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAC,CAAA;CAC3C,MACO,MAAM,UACN,MAAM,OA+ChB;AAED;;;;;GAKG;AACH,6CAJW,MAAM,EAAE,UACR,MAAM,EAAE,GACP,MAAM,CAgBjB;AAED;;;;GAIG;AACH,kCAHW;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,MACtB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,GAAG;;EAS1C;AAED;;;;;GAKG;AACH,0BAJW;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,UAC1B,MAAM,EAAE,GACN;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAStC;AAED;;;;;;;;;;;;;GAaG;AACH,yBAVa,CAAC,YACH,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,oBACvC;IAAC,MAAM,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAC,CAAA;CAAC,GAAC,CAAC,MAAM,EAAE,WAAS,OAAO,CAAC,8BAEjE,OAAO,CAAC,CAAC,CAAC,CA2DtB;AAED;;;;;;GAMG;AACH,0BALW,MAAM,YACN,MAAM,eACN,MAAM,GACJ,MAAM,CAUlB;AAED;;;;GAIG;AACH,0BAHW;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,QACtB,MAAM,GAAC,MAAM,GAAC,MAAM,EAAE,GAAC,MAAM,EAAE;;EAiBzC;AAED;;;;;;;GAOG;AACH,0CALW,MAAM,iBACN,OAAO,GACL;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAC,IAAI,CAAA;CAAC,CA+BxC;AAED;;;;GAIG;AACH,yCAHW,MAAM,GACJ,MAAM,EAAE,CAOpB;AAED;;;;GAIG;AACH,kCAHW;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,GACtB,MAAM,CAclB;AAED;;;;;;;GAOG;AACH,+BANW,MAAM,SACN;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,UACtB;IAAC,cAAc,CAAC,WAAU;CAAC,cAC3B,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,GACjC,OAAO,CAAC,GAAG,CAAC,CAqDxB;AAED;;;;GAIG;AACH,0CAHW,EAAE,GAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAC,GACrB,EAAE,GAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAC,CAcnC;AAED;;;;;;;;GAQG;AACH,gCANW,MAAM,gBACN,KAAK,EAAE,GAAC,KAAK,SACb,MAAM,MACN,MAAM,GACJ,MAAM,CAclB;AAED;;;;GAIG;AACH,qCAHW,MAAM,GACJ,MAAM,CAMlB;AAED;;;;;;;GAOG;AACH,wCANW,MAAM,eACN,MAAM,YACN,MAAM,GACJ,MAAM,CA6ClB;AAED;;;;;GAKG;AACH,uCAJW,MAAM,cACN,OAAO,GACL,MAAM,CAelB;AAED;;;;;GAKG;AACH,gEAHW,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAMzB;AAED;;;;GAIG;AACH,oDAFW,aAAa,QAKvB;AAED;;;;;GAKG;AACH,sCAJW;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAC,EAAE,OACtB,MAAM,GACJ,MAAM,EAAE,CAQpB;AAED;;;;;;;;;;;GAWG;AACH,+BAVW,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,SACvB,MAAM,YACN;IACL,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACrB,YAoBH;AAED;;;;;GAKG;AACH,wBAJa,CAAC,YACH,CAAC,GAAG,SAAS,GACX,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CASvC;AAED;;;;GAIG;AACH,6BAHW,MAAM,GACJ,MAAM,CAKlB;AAED;;;;GAIG;AACH,iCAHe,MAAM,EAAA,GACR,MAAM,CAelB;AAED;;;;GAIG;AACH,gCAHW,MAAM,GACJ,MAAM,CAKlB;;;;yBAr1BY;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;;;;yBACjC;IAAE,MAAM,EAAE,MAAM;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE;;;;8BACrC;IAAE,QAAQ,EAAE;QAAE,IAAI,EAAE;YAAE,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE;;;;4BAE7F,KAAK,GAAC,UAAU,EAAE,GAAC,UAAU,GAAC,eAAe,GAAC,MAAM,GAAC,GAAG;;;;oBAqNxD,CAAC,MAAM,EAAE,MAAM,CAAC;;;;kBAChB;IAAC,UAAU,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAA;CAAC;;;;oBA4ZpC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC"}
|
package/util.js
CHANGED
|
@@ -1106,7 +1106,7 @@ export function omit (obj, fields) {
|
|
|
1106
1106
|
*
|
|
1107
1107
|
* @template T
|
|
1108
1108
|
* @param {React.Dispatch<React.SetStateAction<T>>} setState
|
|
1109
|
-
* @param {{target: {
|
|
1109
|
+
* @param {{target: {name: string, value: unknown}}|[string, function|unknown]} eventOrPathValue
|
|
1110
1110
|
* @param {Function} [beforeSetState] - optional function to run before setting the state
|
|
1111
1111
|
* @returns {Promise<T>}
|
|
1112
1112
|
*
|
|
@@ -1124,7 +1124,7 @@ export function onChange (setState, eventOrPathValue, beforeSetState) {
|
|
|
1124
1124
|
|
|
1125
1125
|
if (typeof eventOrPathValue === 'object' && 'target' in eventOrPathValue) {
|
|
1126
1126
|
const element = /** @type {HTMLInputElement & {_value?: unknown}} */(eventOrPathValue.target) // we need to assume this is an input
|
|
1127
|
-
chunks = (element.
|
|
1127
|
+
chunks = (element.name || element.id).split('.')
|
|
1128
1128
|
hasFiles = !!element.files
|
|
1129
1129
|
value = element.files
|
|
1130
1130
|
? element.files[0]
|