@jobber/components 9.4.0 → 9.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Autocomplete/index.cjs +0 -1
- package/dist/Autocomplete/index.mjs +0 -1
- package/dist/Card/index.cjs +7 -7
- package/dist/Card/index.mjs +7 -7
- package/dist/Chip/index.cjs +0 -1
- package/dist/Chip/index.mjs +0 -1
- package/dist/Chips/InternalChipDismissible/hooks/index.cjs +0 -1
- package/dist/Chips/InternalChipDismissible/hooks/index.mjs +0 -1
- package/dist/Chips/InternalChipDismissible/index.cjs +0 -1
- package/dist/Chips/InternalChipDismissible/index.mjs +0 -1
- package/dist/Chips/index.cjs +0 -1
- package/dist/Chips/index.mjs +0 -1
- package/dist/ComboboxChipRemove-cjs.js +181 -184
- package/dist/ComboboxChipRemove-es.js +4 -7
- package/dist/ConfirmationModal/index.cjs +0 -1
- package/dist/ConfirmationModal/index.mjs +0 -1
- package/dist/DataDump/index.cjs +7 -7
- package/dist/DataDump/index.mjs +7 -7
- package/dist/DataList/components/DataListActions/index.cjs +0 -1
- package/dist/DataList/components/DataListActions/index.mjs +0 -1
- package/dist/DataList/components/DataListBulkActions/index.cjs +0 -1
- package/dist/DataList/components/DataListBulkActions/index.mjs +0 -1
- package/dist/DataList/components/DataListFilters/components/DataListSort/index.cjs +0 -1
- package/dist/DataList/components/DataListFilters/components/DataListSort/index.mjs +0 -1
- package/dist/DataList/components/DataListFilters/index.cjs +0 -1
- package/dist/DataList/components/DataListFilters/index.mjs +0 -1
- package/dist/DataList/components/DataListHeader/index.cjs +0 -1
- package/dist/DataList/components/DataListHeader/index.mjs +0 -1
- package/dist/DataList/components/DataListItem/index.cjs +0 -1
- package/dist/DataList/components/DataListItem/index.mjs +0 -1
- package/dist/DataList/components/DataListItemActions/index.cjs +0 -1
- package/dist/DataList/components/DataListItemActions/index.mjs +0 -1
- package/dist/DataList/components/DataListItemActionsOverflow/index.cjs +0 -1
- package/dist/DataList/components/DataListItemActionsOverflow/index.mjs +0 -1
- package/dist/DataList/components/DataListItems/index.cjs +0 -1
- package/dist/DataList/components/DataListItems/index.mjs +0 -1
- package/dist/DataList/components/DataListLayout/index.cjs +0 -1
- package/dist/DataList/components/DataListLayout/index.mjs +0 -1
- package/dist/DataList/components/DataListLayoutActions/index.cjs +0 -1
- package/dist/DataList/components/DataListLayoutActions/index.mjs +0 -1
- package/dist/DataList/index.cjs +0 -1
- package/dist/DataList/index.mjs +0 -1
- package/dist/DatePicker/index.cjs +0 -2
- package/dist/DatePicker/index.mjs +0 -2
- package/dist/DatePicker-cjs.js +19 -18
- package/dist/DatePicker-es.js +2 -1
- package/dist/Dialog/index.cjs +11 -6
- package/dist/Dialog/index.mjs +11 -6
- package/dist/DrawerDescription-cjs.js +7 -8
- package/dist/DrawerDescription-es.js +1 -2
- package/dist/DrawerTitle-cjs.js +4 -4
- package/dist/DrawerTitle-es.js +1 -1
- package/dist/FieldDescription-cjs.js +49 -49
- package/dist/FieldDescription-es.js +2 -2
- package/dist/FilterPicker/components/FilterPickerActivator/index.cjs +0 -1
- package/dist/FilterPicker/components/FilterPickerActivator/index.mjs +0 -1
- package/dist/FilterPicker/components/FilterPickerContent/index.cjs +0 -1
- package/dist/FilterPicker/components/FilterPickerContent/index.mjs +0 -1
- package/dist/FilterPicker/components/FilterPickerTrigger/index.cjs +0 -1
- package/dist/FilterPicker/components/FilterPickerTrigger/index.mjs +0 -1
- package/dist/FilterPicker/index.cjs +0 -1
- package/dist/FilterPicker/index.mjs +0 -1
- package/dist/FormatFile/index.cjs +0 -1
- package/dist/FormatFile/index.mjs +0 -1
- package/dist/Gallery/index.cjs +0 -1
- package/dist/Gallery/index.mjs +0 -1
- package/dist/HelperText-cjs.js +3 -2
- package/dist/HelperText-es.js +3 -2
- package/dist/InputDate/index.cjs +0 -2
- package/dist/InputDate/index.mjs +0 -2
- package/dist/InputNumber/InputNumber.d.ts +75 -5
- package/dist/InputNumber/index.cjs +27 -3
- package/dist/InputNumber/index.d.ts +2 -2
- package/dist/InputNumber/index.mjs +27 -3
- package/dist/{primitives/InputNumberExperimental → InputNumber}/types.d.ts +48 -35
- package/dist/InputNumber-cjs.js +267 -4986
- package/dist/InputNumber-es.js +268 -4987
- package/dist/LightBox/index.cjs +0 -1
- package/dist/LightBox/index.mjs +0 -1
- package/dist/Menu/index.cjs +7 -7
- package/dist/Menu/index.mjs +7 -7
- package/dist/Menu-cjs.js +8 -5
- package/dist/Menu-es.js +8 -5
- package/dist/MenuSubmenuTrigger-cjs.js +142 -143
- package/dist/MenuSubmenuTrigger-es.js +5 -6
- package/dist/Modal/index.cjs +0 -1
- package/dist/Modal/index.mjs +0 -1
- package/dist/NumberFieldInput-cjs.js +63 -63
- package/dist/NumberFieldInput-es.js +5 -5
- package/dist/Page/index.cjs +7 -8
- package/dist/Page/index.mjs +7 -8
- package/dist/Popover/index.cjs +0 -1
- package/dist/Popover/index.mjs +0 -1
- package/dist/ScrollAreaViewport-cjs.js +119 -121
- package/dist/ScrollAreaViewport-es.js +3 -5
- package/dist/Select/index.cjs +3 -9
- package/dist/Select/index.mjs +3 -9
- package/dist/SelectGroupLabel-cjs.js +117 -107
- package/dist/SelectGroupLabel-es.js +20 -12
- package/dist/Tooltip/index.cjs +0 -1
- package/dist/Tooltip/index.mjs +0 -1
- package/dist/dialogReturnFocus-cjs.js +4 -1
- package/dist/dialogReturnFocus-es.js +4 -1
- package/dist/docs/InputNumber/InputNumber.md +564 -56
- package/dist/docs/index.md +0 -1
- package/dist/floating-ui.react-cjs.js +34 -35
- package/dist/floating-ui.react-dom-cjs.js +64 -65
- package/dist/floating-ui.react-dom-es.js +1 -2
- package/dist/floating-ui.react-es.js +1 -2
- package/dist/floating-ui.utils-cjs.js +183 -0
- package/dist/floating-ui.utils-es.js +165 -1
- package/dist/index.cjs +10 -15
- package/dist/index.mjs +10 -15
- package/dist/primitives/BottomSheet/index.cjs +2 -5
- package/dist/primitives/BottomSheet/index.mjs +2 -5
- package/dist/primitives/ComboboxPrimitive/index.cjs +3 -7
- package/dist/primitives/ComboboxPrimitive/index.mjs +3 -7
- package/dist/primitives/HelperText/HelperText.d.ts +4 -1
- package/dist/primitives/HelperText/index.cjs +1 -1
- package/dist/primitives/HelperText/index.mjs +1 -1
- package/dist/primitives/SelectPrimitive/index.cjs +3 -9
- package/dist/primitives/SelectPrimitive/index.mjs +3 -9
- package/dist/primitives/index.cjs +2 -16
- package/dist/primitives/index.d.ts +0 -2
- package/dist/primitives/index.mjs +2 -15
- package/dist/scrollEdges-cjs.js +6 -2
- package/dist/scrollEdges-es.js +5 -2
- package/dist/styles.css +573 -902
- package/dist/unstyledPrimitives/index.cjs +105 -111
- package/dist/unstyledPrimitives/index.mjs +5 -11
- package/dist/useCompositeListItem-cjs.js +516 -90
- package/dist/useCompositeListItem-es.js +407 -6
- package/dist/useLabel-cjs.js +10 -10
- package/dist/useLabel-es.js +3 -3
- package/dist/useRenderElement-es.js +1 -1
- package/dist/useScrollLock-cjs.js +1332 -203
- package/dist/useScrollLock-es.js +1068 -5
- package/dist/utils/meta/meta.json +12 -0
- package/package.json +2 -3
- package/dist/InputNumber/InputNumber.types.d.ts +0 -20
- package/dist/InputNumberExperimental-cjs.js +0 -277
- package/dist/InputNumberExperimental-es.js +0 -275
- package/dist/clamp-cjs.js +0 -7
- package/dist/clamp-es.js +0 -5
- package/dist/clsx-cjs.js +0 -5
- package/dist/clsx-es.js +0 -3
- package/dist/docs/InputNumberExperimental/InputNumberExperimental.md +0 -578
- package/dist/floating-ui.utils.dom-cjs.js +0 -185
- package/dist/floating-ui.utils.dom-es.js +0 -165
- package/dist/isElementDisabled-cjs.js +0 -40
- package/dist/isElementDisabled-es.js +0 -18
- package/dist/primitives/InputNumberExperimental/InputNumberExperimental.d.ts +0 -77
- package/dist/primitives/InputNumberExperimental/index.cjs +0 -30
- package/dist/primitives/InputNumberExperimental/index.d.ts +0 -2
- package/dist/primitives/InputNumberExperimental/index.mjs +0 -24
- package/dist/resolveAriaLabelledBy-cjs.js +0 -200
- package/dist/resolveAriaLabelledBy-es.js +0 -166
- package/dist/useButton-cjs.js +0 -1164
- package/dist/useButton-es.js +0 -1071
- package/dist/useLabelableId-cjs.js +0 -278
- package/dist/useLabelableId-es.js +0 -247
|
@@ -1,278 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var React = require('react');
|
|
4
|
-
var useButton = require('./useButton-cjs.js');
|
|
5
|
-
var useRenderElement = require('./useRenderElement-cjs.js');
|
|
6
|
-
var floatingUi_utils_dom = require('./floating-ui.utils.dom-cjs.js');
|
|
7
|
-
|
|
8
|
-
function _interopNamespaceDefault(e) {
|
|
9
|
-
var n = Object.create(null);
|
|
10
|
-
if (e) {
|
|
11
|
-
Object.keys(e).forEach(function (k) {
|
|
12
|
-
if (k !== 'default') {
|
|
13
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
14
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
get: function () { return e[k]; }
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
n.default = e;
|
|
22
|
-
return Object.freeze(n);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
26
|
-
|
|
27
|
-
let FieldControlDataAttributes = /*#__PURE__*/function (FieldControlDataAttributes) {
|
|
28
|
-
/**
|
|
29
|
-
* Present when the field is disabled.
|
|
30
|
-
*/
|
|
31
|
-
FieldControlDataAttributes["disabled"] = "data-disabled";
|
|
32
|
-
/**
|
|
33
|
-
* Present when the field is in a valid state.
|
|
34
|
-
*/
|
|
35
|
-
FieldControlDataAttributes["valid"] = "data-valid";
|
|
36
|
-
/**
|
|
37
|
-
* Present when the field is in an invalid state.
|
|
38
|
-
*/
|
|
39
|
-
FieldControlDataAttributes["invalid"] = "data-invalid";
|
|
40
|
-
/**
|
|
41
|
-
* Present when the field has been touched.
|
|
42
|
-
*/
|
|
43
|
-
FieldControlDataAttributes["touched"] = "data-touched";
|
|
44
|
-
/**
|
|
45
|
-
* Present when the field's value has changed.
|
|
46
|
-
*/
|
|
47
|
-
FieldControlDataAttributes["dirty"] = "data-dirty";
|
|
48
|
-
/**
|
|
49
|
-
* Present when the field is filled.
|
|
50
|
-
*/
|
|
51
|
-
FieldControlDataAttributes["filled"] = "data-filled";
|
|
52
|
-
/**
|
|
53
|
-
* Present when the field control is focused.
|
|
54
|
-
*/
|
|
55
|
-
FieldControlDataAttributes["focused"] = "data-focused";
|
|
56
|
-
return FieldControlDataAttributes;
|
|
57
|
-
}({});
|
|
58
|
-
|
|
59
|
-
const DEFAULT_VALIDITY_STATE = {
|
|
60
|
-
badInput: false,
|
|
61
|
-
customError: false,
|
|
62
|
-
patternMismatch: false,
|
|
63
|
-
rangeOverflow: false,
|
|
64
|
-
rangeUnderflow: false,
|
|
65
|
-
stepMismatch: false,
|
|
66
|
-
tooLong: false,
|
|
67
|
-
tooShort: false,
|
|
68
|
-
typeMismatch: false,
|
|
69
|
-
valid: null,
|
|
70
|
-
valueMissing: false
|
|
71
|
-
};
|
|
72
|
-
const DEFAULT_FIELD_STATE_ATTRIBUTES = {
|
|
73
|
-
valid: null,
|
|
74
|
-
touched: false,
|
|
75
|
-
dirty: false,
|
|
76
|
-
filled: false,
|
|
77
|
-
focused: false
|
|
78
|
-
};
|
|
79
|
-
const DEFAULT_FIELD_ROOT_STATE = {
|
|
80
|
-
disabled: false,
|
|
81
|
-
...DEFAULT_FIELD_STATE_ATTRIBUTES
|
|
82
|
-
};
|
|
83
|
-
const fieldValidityMapping = {
|
|
84
|
-
valid(value) {
|
|
85
|
-
if (value === null) {
|
|
86
|
-
return null;
|
|
87
|
-
}
|
|
88
|
-
if (value) {
|
|
89
|
-
return {
|
|
90
|
-
[FieldControlDataAttributes.valid]: ''
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
return {
|
|
94
|
-
[FieldControlDataAttributes.invalid]: ''
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
const DEFAULT_FIELD_ROOT_CONTEXT = {
|
|
100
|
-
invalid: undefined,
|
|
101
|
-
name: undefined,
|
|
102
|
-
validityData: {
|
|
103
|
-
state: DEFAULT_VALIDITY_STATE,
|
|
104
|
-
errors: [],
|
|
105
|
-
error: '',
|
|
106
|
-
value: '',
|
|
107
|
-
initialValue: null
|
|
108
|
-
},
|
|
109
|
-
setValidityData: useRenderElement.NOOP,
|
|
110
|
-
disabled: undefined,
|
|
111
|
-
touched: DEFAULT_FIELD_STATE_ATTRIBUTES.touched,
|
|
112
|
-
setTouched: useRenderElement.NOOP,
|
|
113
|
-
dirty: DEFAULT_FIELD_STATE_ATTRIBUTES.dirty,
|
|
114
|
-
setDirty: useRenderElement.NOOP,
|
|
115
|
-
filled: DEFAULT_FIELD_STATE_ATTRIBUTES.filled,
|
|
116
|
-
setFilled: useRenderElement.NOOP,
|
|
117
|
-
focused: DEFAULT_FIELD_STATE_ATTRIBUTES.focused,
|
|
118
|
-
setFocused: useRenderElement.NOOP,
|
|
119
|
-
validate: () => null,
|
|
120
|
-
validationMode: 'onSubmit',
|
|
121
|
-
validationDebounceTime: 0,
|
|
122
|
-
shouldValidateOnChange: () => false,
|
|
123
|
-
state: DEFAULT_FIELD_ROOT_STATE,
|
|
124
|
-
markedDirtyRef: {
|
|
125
|
-
current: false
|
|
126
|
-
},
|
|
127
|
-
registerFieldControl: useRenderElement.NOOP,
|
|
128
|
-
validation: {
|
|
129
|
-
getValidationProps: (_disabled, props = useRenderElement.EMPTY_OBJECT) => props,
|
|
130
|
-
inputRef: {
|
|
131
|
-
current: null
|
|
132
|
-
},
|
|
133
|
-
registerInput: useRenderElement.NOOP,
|
|
134
|
-
commit: async () => {},
|
|
135
|
-
change: useRenderElement.NOOP
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
const FieldRootContext = /*#__PURE__*/React__namespace.createContext(DEFAULT_FIELD_ROOT_CONTEXT);
|
|
139
|
-
if (process.env.NODE_ENV !== "production") FieldRootContext.displayName = "FieldRootContext";
|
|
140
|
-
function useFieldRootContext(optional = true) {
|
|
141
|
-
const context = React__namespace.useContext(FieldRootContext);
|
|
142
|
-
if (context.setValidityData === useRenderElement.NOOP && !optional) {
|
|
143
|
-
throw new Error(process.env.NODE_ENV !== "production" ? 'Base UI: FieldRootContext is missing. Field parts must be placed within <Field.Root>.' : useRenderElement.formatErrorMessage(28));
|
|
144
|
-
}
|
|
145
|
-
return context;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
function useRegisterFieldControl(controlRef, id, value, getFormValueOverride, enabled = true, name) {
|
|
149
|
-
const {
|
|
150
|
-
registerFieldControl
|
|
151
|
-
} = useFieldRootContext();
|
|
152
|
-
const sourceRef = React__namespace.useRef(null);
|
|
153
|
-
if (!sourceRef.current) {
|
|
154
|
-
sourceRef.current = Symbol();
|
|
155
|
-
}
|
|
156
|
-
useButton.useIsoLayoutEffect(() => {
|
|
157
|
-
const source = sourceRef.current;
|
|
158
|
-
if (!source || !enabled) {
|
|
159
|
-
return undefined;
|
|
160
|
-
}
|
|
161
|
-
const registration = {
|
|
162
|
-
controlRef,
|
|
163
|
-
getValue: getFormValueOverride,
|
|
164
|
-
id,
|
|
165
|
-
name,
|
|
166
|
-
value
|
|
167
|
-
};
|
|
168
|
-
registerFieldControl(source, registration);
|
|
169
|
-
return () => {
|
|
170
|
-
registerFieldControl(source, undefined);
|
|
171
|
-
};
|
|
172
|
-
}, [controlRef, enabled, getFormValueOverride, id, name, registerFieldControl, value]);
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
const FormContext = /*#__PURE__*/React__namespace.createContext({
|
|
176
|
-
formRef: {
|
|
177
|
-
current: {
|
|
178
|
-
fields: new Map()
|
|
179
|
-
}
|
|
180
|
-
},
|
|
181
|
-
errors: {},
|
|
182
|
-
clearErrors: useRenderElement.NOOP,
|
|
183
|
-
validationMode: 'onSubmit',
|
|
184
|
-
submitAttemptedRef: {
|
|
185
|
-
current: false
|
|
186
|
-
}
|
|
187
|
-
});
|
|
188
|
-
if (process.env.NODE_ENV !== "production") FormContext.displayName = "FormContext";
|
|
189
|
-
function useFormContext() {
|
|
190
|
-
return React__namespace.useContext(FormContext);
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* A context for providing [labelable elements](https://html.spec.whatwg.org/multipage/forms.html#category-label)\
|
|
195
|
-
* with an accessible name (label) and description.
|
|
196
|
-
*/
|
|
197
|
-
const LabelableContext = /*#__PURE__*/React__namespace.createContext({
|
|
198
|
-
controlId: undefined,
|
|
199
|
-
registerControlId: useRenderElement.NOOP,
|
|
200
|
-
labelId: undefined,
|
|
201
|
-
setLabelId: useRenderElement.NOOP,
|
|
202
|
-
messageIds: [],
|
|
203
|
-
setMessageIds: useRenderElement.NOOP,
|
|
204
|
-
getDescriptionProps: externalProps => externalProps
|
|
205
|
-
});
|
|
206
|
-
if (process.env.NODE_ENV !== "production") LabelableContext.displayName = "LabelableContext";
|
|
207
|
-
function useLabelableContext() {
|
|
208
|
-
return React__namespace.useContext(LabelableContext);
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
function useLabelableId(params = {}) {
|
|
212
|
-
const {
|
|
213
|
-
id,
|
|
214
|
-
implicit = false,
|
|
215
|
-
controlRef
|
|
216
|
-
} = params;
|
|
217
|
-
const {
|
|
218
|
-
controlId,
|
|
219
|
-
registerControlId
|
|
220
|
-
} = useLabelableContext();
|
|
221
|
-
const defaultId = useButton.useBaseUiId(id);
|
|
222
|
-
const controlIdForEffect = implicit ? controlId : undefined;
|
|
223
|
-
const controlSourceRef = useRenderElement.useRefWithInit(() => Symbol('labelable-control'));
|
|
224
|
-
const hasRegisteredRef = React__namespace.useRef(false);
|
|
225
|
-
const hadExplicitIdRef = React__namespace.useRef(id != null);
|
|
226
|
-
const unregisterControlId = useButton.useStableCallback(() => {
|
|
227
|
-
if (!hasRegisteredRef.current || registerControlId === useRenderElement.NOOP) {
|
|
228
|
-
return;
|
|
229
|
-
}
|
|
230
|
-
hasRegisteredRef.current = false;
|
|
231
|
-
registerControlId(controlSourceRef.current, undefined);
|
|
232
|
-
});
|
|
233
|
-
useButton.useIsoLayoutEffect(() => {
|
|
234
|
-
if (registerControlId === useRenderElement.NOOP) {
|
|
235
|
-
return undefined;
|
|
236
|
-
}
|
|
237
|
-
let nextId;
|
|
238
|
-
if (implicit) {
|
|
239
|
-
const elem = controlRef?.current;
|
|
240
|
-
if (floatingUi_utils_dom.isElement(elem) && elem.closest('label') != null) {
|
|
241
|
-
nextId = id ?? null;
|
|
242
|
-
} else {
|
|
243
|
-
nextId = controlIdForEffect ?? defaultId;
|
|
244
|
-
}
|
|
245
|
-
} else if (id != null) {
|
|
246
|
-
hadExplicitIdRef.current = true;
|
|
247
|
-
nextId = id;
|
|
248
|
-
} else if (hadExplicitIdRef.current) {
|
|
249
|
-
nextId = defaultId;
|
|
250
|
-
} else {
|
|
251
|
-
unregisterControlId();
|
|
252
|
-
return undefined;
|
|
253
|
-
}
|
|
254
|
-
if (nextId === undefined) {
|
|
255
|
-
unregisterControlId();
|
|
256
|
-
return undefined;
|
|
257
|
-
}
|
|
258
|
-
hasRegisteredRef.current = true;
|
|
259
|
-
registerControlId(controlSourceRef.current, nextId);
|
|
260
|
-
return undefined;
|
|
261
|
-
}, [id, controlRef, controlIdForEffect, registerControlId, implicit, defaultId, controlSourceRef, unregisterControlId]);
|
|
262
|
-
React__namespace.useEffect(() => {
|
|
263
|
-
return unregisterControlId;
|
|
264
|
-
}, [unregisterControlId]);
|
|
265
|
-
return controlId ?? defaultId;
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
exports.DEFAULT_FIELD_ROOT_CONTEXT = DEFAULT_FIELD_ROOT_CONTEXT;
|
|
269
|
-
exports.DEFAULT_FIELD_STATE_ATTRIBUTES = DEFAULT_FIELD_STATE_ATTRIBUTES;
|
|
270
|
-
exports.DEFAULT_VALIDITY_STATE = DEFAULT_VALIDITY_STATE;
|
|
271
|
-
exports.FieldRootContext = FieldRootContext;
|
|
272
|
-
exports.LabelableContext = LabelableContext;
|
|
273
|
-
exports.fieldValidityMapping = fieldValidityMapping;
|
|
274
|
-
exports.useFieldRootContext = useFieldRootContext;
|
|
275
|
-
exports.useFormContext = useFormContext;
|
|
276
|
-
exports.useLabelableContext = useLabelableContext;
|
|
277
|
-
exports.useLabelableId = useLabelableId;
|
|
278
|
-
exports.useRegisterFieldControl = useRegisterFieldControl;
|
|
@@ -1,247 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { a as useIsoLayoutEffect, u as useBaseUiId, b as useStableCallback } from './useButton-es.js';
|
|
3
|
-
import { N as NOOP, E as EMPTY_OBJECT, f as formatErrorMessage, a as useRefWithInit } from './useRenderElement-es.js';
|
|
4
|
-
import { b as isElement } from './floating-ui.utils.dom-es.js';
|
|
5
|
-
|
|
6
|
-
let FieldControlDataAttributes = /*#__PURE__*/function (FieldControlDataAttributes) {
|
|
7
|
-
/**
|
|
8
|
-
* Present when the field is disabled.
|
|
9
|
-
*/
|
|
10
|
-
FieldControlDataAttributes["disabled"] = "data-disabled";
|
|
11
|
-
/**
|
|
12
|
-
* Present when the field is in a valid state.
|
|
13
|
-
*/
|
|
14
|
-
FieldControlDataAttributes["valid"] = "data-valid";
|
|
15
|
-
/**
|
|
16
|
-
* Present when the field is in an invalid state.
|
|
17
|
-
*/
|
|
18
|
-
FieldControlDataAttributes["invalid"] = "data-invalid";
|
|
19
|
-
/**
|
|
20
|
-
* Present when the field has been touched.
|
|
21
|
-
*/
|
|
22
|
-
FieldControlDataAttributes["touched"] = "data-touched";
|
|
23
|
-
/**
|
|
24
|
-
* Present when the field's value has changed.
|
|
25
|
-
*/
|
|
26
|
-
FieldControlDataAttributes["dirty"] = "data-dirty";
|
|
27
|
-
/**
|
|
28
|
-
* Present when the field is filled.
|
|
29
|
-
*/
|
|
30
|
-
FieldControlDataAttributes["filled"] = "data-filled";
|
|
31
|
-
/**
|
|
32
|
-
* Present when the field control is focused.
|
|
33
|
-
*/
|
|
34
|
-
FieldControlDataAttributes["focused"] = "data-focused";
|
|
35
|
-
return FieldControlDataAttributes;
|
|
36
|
-
}({});
|
|
37
|
-
|
|
38
|
-
const DEFAULT_VALIDITY_STATE = {
|
|
39
|
-
badInput: false,
|
|
40
|
-
customError: false,
|
|
41
|
-
patternMismatch: false,
|
|
42
|
-
rangeOverflow: false,
|
|
43
|
-
rangeUnderflow: false,
|
|
44
|
-
stepMismatch: false,
|
|
45
|
-
tooLong: false,
|
|
46
|
-
tooShort: false,
|
|
47
|
-
typeMismatch: false,
|
|
48
|
-
valid: null,
|
|
49
|
-
valueMissing: false
|
|
50
|
-
};
|
|
51
|
-
const DEFAULT_FIELD_STATE_ATTRIBUTES = {
|
|
52
|
-
valid: null,
|
|
53
|
-
touched: false,
|
|
54
|
-
dirty: false,
|
|
55
|
-
filled: false,
|
|
56
|
-
focused: false
|
|
57
|
-
};
|
|
58
|
-
const DEFAULT_FIELD_ROOT_STATE = {
|
|
59
|
-
disabled: false,
|
|
60
|
-
...DEFAULT_FIELD_STATE_ATTRIBUTES
|
|
61
|
-
};
|
|
62
|
-
const fieldValidityMapping = {
|
|
63
|
-
valid(value) {
|
|
64
|
-
if (value === null) {
|
|
65
|
-
return null;
|
|
66
|
-
}
|
|
67
|
-
if (value) {
|
|
68
|
-
return {
|
|
69
|
-
[FieldControlDataAttributes.valid]: ''
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
return {
|
|
73
|
-
[FieldControlDataAttributes.invalid]: ''
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
const DEFAULT_FIELD_ROOT_CONTEXT = {
|
|
79
|
-
invalid: undefined,
|
|
80
|
-
name: undefined,
|
|
81
|
-
validityData: {
|
|
82
|
-
state: DEFAULT_VALIDITY_STATE,
|
|
83
|
-
errors: [],
|
|
84
|
-
error: '',
|
|
85
|
-
value: '',
|
|
86
|
-
initialValue: null
|
|
87
|
-
},
|
|
88
|
-
setValidityData: NOOP,
|
|
89
|
-
disabled: undefined,
|
|
90
|
-
touched: DEFAULT_FIELD_STATE_ATTRIBUTES.touched,
|
|
91
|
-
setTouched: NOOP,
|
|
92
|
-
dirty: DEFAULT_FIELD_STATE_ATTRIBUTES.dirty,
|
|
93
|
-
setDirty: NOOP,
|
|
94
|
-
filled: DEFAULT_FIELD_STATE_ATTRIBUTES.filled,
|
|
95
|
-
setFilled: NOOP,
|
|
96
|
-
focused: DEFAULT_FIELD_STATE_ATTRIBUTES.focused,
|
|
97
|
-
setFocused: NOOP,
|
|
98
|
-
validate: () => null,
|
|
99
|
-
validationMode: 'onSubmit',
|
|
100
|
-
validationDebounceTime: 0,
|
|
101
|
-
shouldValidateOnChange: () => false,
|
|
102
|
-
state: DEFAULT_FIELD_ROOT_STATE,
|
|
103
|
-
markedDirtyRef: {
|
|
104
|
-
current: false
|
|
105
|
-
},
|
|
106
|
-
registerFieldControl: NOOP,
|
|
107
|
-
validation: {
|
|
108
|
-
getValidationProps: (_disabled, props = EMPTY_OBJECT) => props,
|
|
109
|
-
inputRef: {
|
|
110
|
-
current: null
|
|
111
|
-
},
|
|
112
|
-
registerInput: NOOP,
|
|
113
|
-
commit: async () => {},
|
|
114
|
-
change: NOOP
|
|
115
|
-
}
|
|
116
|
-
};
|
|
117
|
-
const FieldRootContext = /*#__PURE__*/React.createContext(DEFAULT_FIELD_ROOT_CONTEXT);
|
|
118
|
-
if (process.env.NODE_ENV !== "production") FieldRootContext.displayName = "FieldRootContext";
|
|
119
|
-
function useFieldRootContext(optional = true) {
|
|
120
|
-
const context = React.useContext(FieldRootContext);
|
|
121
|
-
if (context.setValidityData === NOOP && !optional) {
|
|
122
|
-
throw new Error(process.env.NODE_ENV !== "production" ? 'Base UI: FieldRootContext is missing. Field parts must be placed within <Field.Root>.' : formatErrorMessage(28));
|
|
123
|
-
}
|
|
124
|
-
return context;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
function useRegisterFieldControl(controlRef, id, value, getFormValueOverride, enabled = true, name) {
|
|
128
|
-
const {
|
|
129
|
-
registerFieldControl
|
|
130
|
-
} = useFieldRootContext();
|
|
131
|
-
const sourceRef = React.useRef(null);
|
|
132
|
-
if (!sourceRef.current) {
|
|
133
|
-
sourceRef.current = Symbol();
|
|
134
|
-
}
|
|
135
|
-
useIsoLayoutEffect(() => {
|
|
136
|
-
const source = sourceRef.current;
|
|
137
|
-
if (!source || !enabled) {
|
|
138
|
-
return undefined;
|
|
139
|
-
}
|
|
140
|
-
const registration = {
|
|
141
|
-
controlRef,
|
|
142
|
-
getValue: getFormValueOverride,
|
|
143
|
-
id,
|
|
144
|
-
name,
|
|
145
|
-
value
|
|
146
|
-
};
|
|
147
|
-
registerFieldControl(source, registration);
|
|
148
|
-
return () => {
|
|
149
|
-
registerFieldControl(source, undefined);
|
|
150
|
-
};
|
|
151
|
-
}, [controlRef, enabled, getFormValueOverride, id, name, registerFieldControl, value]);
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
const FormContext = /*#__PURE__*/React.createContext({
|
|
155
|
-
formRef: {
|
|
156
|
-
current: {
|
|
157
|
-
fields: new Map()
|
|
158
|
-
}
|
|
159
|
-
},
|
|
160
|
-
errors: {},
|
|
161
|
-
clearErrors: NOOP,
|
|
162
|
-
validationMode: 'onSubmit',
|
|
163
|
-
submitAttemptedRef: {
|
|
164
|
-
current: false
|
|
165
|
-
}
|
|
166
|
-
});
|
|
167
|
-
if (process.env.NODE_ENV !== "production") FormContext.displayName = "FormContext";
|
|
168
|
-
function useFormContext() {
|
|
169
|
-
return React.useContext(FormContext);
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
* A context for providing [labelable elements](https://html.spec.whatwg.org/multipage/forms.html#category-label)\
|
|
174
|
-
* with an accessible name (label) and description.
|
|
175
|
-
*/
|
|
176
|
-
const LabelableContext = /*#__PURE__*/React.createContext({
|
|
177
|
-
controlId: undefined,
|
|
178
|
-
registerControlId: NOOP,
|
|
179
|
-
labelId: undefined,
|
|
180
|
-
setLabelId: NOOP,
|
|
181
|
-
messageIds: [],
|
|
182
|
-
setMessageIds: NOOP,
|
|
183
|
-
getDescriptionProps: externalProps => externalProps
|
|
184
|
-
});
|
|
185
|
-
if (process.env.NODE_ENV !== "production") LabelableContext.displayName = "LabelableContext";
|
|
186
|
-
function useLabelableContext() {
|
|
187
|
-
return React.useContext(LabelableContext);
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
function useLabelableId(params = {}) {
|
|
191
|
-
const {
|
|
192
|
-
id,
|
|
193
|
-
implicit = false,
|
|
194
|
-
controlRef
|
|
195
|
-
} = params;
|
|
196
|
-
const {
|
|
197
|
-
controlId,
|
|
198
|
-
registerControlId
|
|
199
|
-
} = useLabelableContext();
|
|
200
|
-
const defaultId = useBaseUiId(id);
|
|
201
|
-
const controlIdForEffect = implicit ? controlId : undefined;
|
|
202
|
-
const controlSourceRef = useRefWithInit(() => Symbol('labelable-control'));
|
|
203
|
-
const hasRegisteredRef = React.useRef(false);
|
|
204
|
-
const hadExplicitIdRef = React.useRef(id != null);
|
|
205
|
-
const unregisterControlId = useStableCallback(() => {
|
|
206
|
-
if (!hasRegisteredRef.current || registerControlId === NOOP) {
|
|
207
|
-
return;
|
|
208
|
-
}
|
|
209
|
-
hasRegisteredRef.current = false;
|
|
210
|
-
registerControlId(controlSourceRef.current, undefined);
|
|
211
|
-
});
|
|
212
|
-
useIsoLayoutEffect(() => {
|
|
213
|
-
if (registerControlId === NOOP) {
|
|
214
|
-
return undefined;
|
|
215
|
-
}
|
|
216
|
-
let nextId;
|
|
217
|
-
if (implicit) {
|
|
218
|
-
const elem = controlRef?.current;
|
|
219
|
-
if (isElement(elem) && elem.closest('label') != null) {
|
|
220
|
-
nextId = id ?? null;
|
|
221
|
-
} else {
|
|
222
|
-
nextId = controlIdForEffect ?? defaultId;
|
|
223
|
-
}
|
|
224
|
-
} else if (id != null) {
|
|
225
|
-
hadExplicitIdRef.current = true;
|
|
226
|
-
nextId = id;
|
|
227
|
-
} else if (hadExplicitIdRef.current) {
|
|
228
|
-
nextId = defaultId;
|
|
229
|
-
} else {
|
|
230
|
-
unregisterControlId();
|
|
231
|
-
return undefined;
|
|
232
|
-
}
|
|
233
|
-
if (nextId === undefined) {
|
|
234
|
-
unregisterControlId();
|
|
235
|
-
return undefined;
|
|
236
|
-
}
|
|
237
|
-
hasRegisteredRef.current = true;
|
|
238
|
-
registerControlId(controlSourceRef.current, nextId);
|
|
239
|
-
return undefined;
|
|
240
|
-
}, [id, controlRef, controlIdForEffect, registerControlId, implicit, defaultId, controlSourceRef, unregisterControlId]);
|
|
241
|
-
React.useEffect(() => {
|
|
242
|
-
return unregisterControlId;
|
|
243
|
-
}, [unregisterControlId]);
|
|
244
|
-
return controlId ?? defaultId;
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
export { DEFAULT_VALIDITY_STATE as D, FieldRootContext as F, LabelableContext as L, useFormContext as a, useFieldRootContext as b, useLabelableId as c, useRegisterFieldControl as d, DEFAULT_FIELD_ROOT_CONTEXT as e, fieldValidityMapping as f, DEFAULT_FIELD_STATE_ATTRIBUTES as g, useLabelableContext as u };
|