@viasat/beam-react 2.29.1 → 2.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/ActionList.css +1 -1
- package/assets/Avatar.css +1 -1
- package/assets/Badge.css +1 -1
- package/assets/Button.css +1 -1
- package/assets/Checkbox.css +1 -1
- package/assets/Chip.css +1 -1
- package/assets/ChipGroup.css +1 -1
- package/assets/CloseButton.css +1 -1
- package/assets/DateField.css +1 -0
- package/assets/EmptyState.css +1 -1
- package/assets/{floatingui.css → FloatingUI.css} +1 -1
- package/assets/InputChoiceGroup.css +1 -1
- package/assets/Link.css +1 -1
- package/assets/NativeSelect.css +1 -1
- package/assets/Pagination.css +1 -1
- package/assets/ProgressBar.css +1 -1
- package/assets/RadioButton.css +1 -1
- package/assets/Search.css +1 -1
- package/assets/SpinnerWrap.css +1 -1
- package/assets/Switch.css +1 -1
- package/assets/TextArea.css +1 -1
- package/assets/TextField.css +1 -1
- package/assets/card.css +1 -1
- package/assets/combobox.css +1 -1
- package/assets/fileUpload.css +1 -1
- package/assets/header.css +1 -1
- package/assets/index.css +1 -1
- package/assets/panel.css +1 -1
- package/assets/segmentedControl.css +1 -1
- package/assets/slider.css +1 -1
- package/assets/stepper.css +1 -1
- package/chunks/DateField.Segment.7oCeBSNo.js +1 -0
- package/chunks/DateField.Segment.DbjGMAPP.js +99 -0
- package/chunks/FloatingUI.arrow.DFhYQv_F.js +1 -0
- package/chunks/FloatingUI.arrow.tN5_IctZ.js +27 -0
- package/chunks/panel.module.BVmRxZHo.js +1 -0
- package/chunks/{panel.module.BblnuBjO.js → panel.module.CnHWv4EZ.js} +1 -3
- package/index.cjs.js +1 -1
- package/index.es.js +35 -33
- package/lib/ActionList/ActionList.Group.d.ts +1 -1
- package/lib/Autocomplete/Autocomplete.cjs.js +1 -1
- package/lib/Autocomplete/Autocomplete.d.ts +5 -5
- package/lib/Autocomplete/Autocomplete.es.js +296 -268
- package/lib/Autocomplete/AutocompleteDropdown.cjs.js +1 -1
- package/lib/Autocomplete/AutocompleteDropdown.es.js +15 -12
- package/lib/FloatingUI/FloatingUI.arrow.cjs.js +1 -1
- package/lib/FloatingUI/FloatingUI.arrow.es.js +6 -17
- package/lib/FloatingUI/FloatingUI.content.cjs.js +1 -1
- package/lib/FloatingUI/FloatingUI.content.es.js +17 -18
- package/lib/Search/SearchDropdown.cjs.js +1 -1
- package/lib/Search/SearchDropdown.es.js +1 -1
- package/lib/Select/Select.cjs.js +1 -1
- package/lib/Select/Select.d.ts +3 -2
- package/lib/Select/Select.es.js +208 -195
- package/lib/Select/SelectDropdown.cjs.js +1 -1
- package/lib/Select/SelectDropdown.es.js +15 -12
- package/lib/_Options/Option.cjs.js +1 -1
- package/lib/_Options/Option.context.cjs.js +1 -1
- package/lib/_Options/Option.context.d.ts +31 -13
- package/lib/_Options/Option.context.es.js +133 -88
- package/lib/_Options/Option.es.js +23 -21
- package/lib/_Options/Option.types.d.ts +23 -0
- package/lib/_Options/OptionGroup.cjs.js +1 -0
- package/lib/_Options/OptionGroup.context.cjs.js +1 -0
- package/lib/_Options/OptionGroup.context.d.ts +6 -0
- package/lib/_Options/OptionGroup.context.es.js +6 -0
- package/lib/_Options/OptionGroup.d.ts +3 -0
- package/lib/_Options/OptionGroup.es.js +22 -0
- package/lib/_Options/getLastVisibleStructureIndex.cjs.js +1 -0
- package/lib/_Options/getLastVisibleStructureIndex.d.ts +15 -0
- package/lib/_Options/getLastVisibleStructureIndex.es.js +14 -0
- package/lib/_Options/index.cjs.js +1 -1
- package/lib/_Options/index.d.ts +4 -0
- package/lib/_Options/index.es.js +13 -4
- package/lib/_Options/useRenderOption.cjs.js +1 -0
- package/lib/_Options/useRenderOption.d.ts +30 -0
- package/lib/_Options/useRenderOption.es.js +43 -0
- package/lib/index.cjs.js +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.es.js +27 -25
- package/lib/wip/DateField/DateField.Segment.cjs.js +1 -0
- package/lib/wip/DateField/DateField.Segment.d.ts +2 -0
- package/lib/wip/DateField/DateField.Segment.es.js +8 -0
- package/lib/wip/DateField/DateField.Segments.cjs.js +1 -0
- package/lib/wip/DateField/DateField.Segments.d.ts +17 -0
- package/lib/wip/DateField/DateField.Segments.es.js +61 -0
- package/lib/wip/DateField/DateField.cjs.js +1 -0
- package/lib/wip/DateField/DateField.d.ts +3 -0
- package/lib/wip/DateField/DateField.es.js +191 -0
- package/lib/wip/DateField/DateField.types.cjs.js +1 -0
- package/lib/wip/DateField/DateField.types.d.ts +118 -0
- package/lib/wip/DateField/DateField.types.es.js +1 -0
- package/lib/wip/DateField/DateField.utils.cjs.js +1 -0
- package/lib/wip/DateField/DateField.utils.d.ts +26 -0
- package/lib/wip/DateField/DateField.utils.es.js +45 -0
- package/lib/wip/DateField/DateField.validation.cjs.js +1 -0
- package/lib/wip/DateField/DateField.validation.d.ts +26 -0
- package/lib/wip/DateField/DateField.validation.es.js +24 -0
- package/lib/wip/DateField/index.cjs.js +1 -0
- package/lib/wip/DateField/index.d.ts +2 -0
- package/lib/wip/DateField/index.es.js +4 -0
- package/lib/wip/DateField/useDateFieldFocus.cjs.js +1 -0
- package/lib/wip/DateField/useDateFieldFocus.d.ts +23 -0
- package/lib/wip/DateField/useDateFieldFocus.es.js +65 -0
- package/lib/wip/DateField/useDateFieldForm.cjs.js +1 -0
- package/lib/wip/DateField/useDateFieldForm.d.ts +32 -0
- package/lib/wip/DateField/useDateFieldForm.es.js +51 -0
- package/lib/wip/DateField/useDateFieldSegments.cjs.js +1 -0
- package/lib/wip/DateField/useDateFieldSegments.d.ts +7 -0
- package/lib/wip/DateField/useDateFieldSegments.es.js +13 -0
- package/lib/wip/DateField/useDateFieldValidity.cjs.js +1 -0
- package/lib/wip/DateField/useDateFieldValidity.d.ts +23 -0
- package/lib/wip/DateField/useDateFieldValidity.es.js +19 -0
- package/lib/wip/DateField/useDateFieldValue.cjs.js +1 -0
- package/lib/wip/DateField/useDateFieldValue.d.ts +19 -0
- package/lib/wip/DateField/useDateFieldValue.es.js +62 -0
- package/lib/wip/DateField/useInvalidState.cjs.js +1 -0
- package/lib/wip/DateField/useInvalidState.d.ts +13 -0
- package/lib/wip/DateField/useInvalidState.es.js +8 -0
- package/lib/wip/Panel/Footer/Panel.Footer.Actions.cjs.js +1 -1
- package/lib/wip/Panel/Footer/Panel.Footer.Actions.es.js +1 -1
- package/lib/wip/Panel/Footer/Panel.Footer.cjs.js +1 -1
- package/lib/wip/Panel/Footer/Panel.Footer.es.js +1 -1
- package/lib/wip/Panel/Header/Panel.Header.ContentAfter.cjs.js +1 -1
- package/lib/wip/Panel/Header/Panel.Header.ContentAfter.es.js +1 -1
- package/lib/wip/Panel/Header/Panel.Header.ContentBefore.cjs.js +1 -1
- package/lib/wip/Panel/Header/Panel.Header.ContentBefore.es.js +1 -1
- package/lib/wip/Panel/Header/Panel.Header.Description.cjs.js +1 -1
- package/lib/wip/Panel/Header/Panel.Header.Description.es.js +1 -1
- package/lib/wip/Panel/Header/Panel.Header.Heading.cjs.js +1 -1
- package/lib/wip/Panel/Header/Panel.Header.Heading.es.js +1 -1
- package/lib/wip/Panel/Header/Panel.Header.Row.cjs.js +1 -1
- package/lib/wip/Panel/Header/Panel.Header.Row.es.js +1 -1
- package/lib/wip/Panel/Header/Panel.Header.Subheader.cjs.js +1 -1
- package/lib/wip/Panel/Header/Panel.Header.Subheader.es.js +1 -1
- package/lib/wip/Panel/Header/Panel.Header.cjs.js +1 -1
- package/lib/wip/Panel/Header/Panel.Header.es.js +1 -1
- package/lib/wip/Panel/Panel.Body.cjs.js +1 -1
- package/lib/wip/Panel/Panel.Body.es.js +1 -1
- package/lib/wip/Panel/Panel.Inline.cjs.js +1 -1
- package/lib/wip/Panel/Panel.Inline.d.ts +5 -1
- package/lib/wip/Panel/Panel.Inline.es.js +54 -47
- package/lib/wip/Panel/Panel.Overlay.cjs.js +1 -1
- package/lib/wip/Panel/Panel.Overlay.d.ts +20 -2
- package/lib/wip/Panel/Panel.Overlay.es.js +117 -80
- package/lib/wip/Panel/Panel.ResizeHandle.cjs.js +1 -1
- package/lib/wip/Panel/Panel.ResizeHandle.es.js +1 -1
- package/lib/wip/Panel/Panel.cjs.js +1 -1
- package/lib/wip/Panel/Panel.d.ts +1 -1
- package/lib/wip/Panel/Panel.es.js +139 -100
- package/lib/wip/Panel/Panel.helpers.cjs.js +1 -1
- package/lib/wip/Panel/Panel.helpers.d.ts +2 -1
- package/lib/wip/Panel/Panel.helpers.es.js +37 -35
- package/lib/wip/Panel/Panel.types.d.ts +64 -10
- package/lib/wip/Panel/Panel.useResize.cjs.js +1 -1
- package/lib/wip/Panel/Panel.useResize.d.ts +3 -1
- package/lib/wip/Panel/Panel.useResize.es.js +34 -30
- package/package.json +6 -6
- package/utils/hooks/index.cjs.js +1 -1
- package/utils/hooks/index.d.ts +1 -0
- package/utils/hooks/index.es.js +12 -10
- package/utils/hooks/useElementResize.cjs.js +1 -1
- package/utils/hooks/useElementResize.d.ts +1 -1
- package/utils/hooks/useElementResize.es.js +33 -33
- package/utils/hooks/usePrevious.cjs.js +1 -0
- package/utils/hooks/usePrevious.d.ts +5 -0
- package/utils/hooks/usePrevious.es.js +10 -0
- package/chunks/floatingui.module.BcBFebz0.js +0 -10
- package/chunks/floatingui.module.D3Aw_aYe.js +0 -1
- package/chunks/panel.module.CVyUzyCZ.js +0 -1
package/lib/Select/Select.es.js
CHANGED
|
@@ -1,259 +1,272 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import { b as
|
|
8
|
-
import { LabelProvider as
|
|
9
|
-
import { HelperTextProvider as
|
|
10
|
-
import { ActionList as
|
|
11
|
-
import { useSelectDropdown as
|
|
12
|
-
import { SelectDropdown as
|
|
13
|
-
import { useSelectChips as
|
|
14
|
-
import { useSelectKeyboardManager as
|
|
15
|
-
import
|
|
16
|
-
import { OptionChips as
|
|
17
|
-
import { SelectField as
|
|
18
|
-
import
|
|
19
|
-
import { useCreateOptionsContext as
|
|
20
|
-
import { Option as
|
|
21
|
-
import {
|
|
22
|
-
import
|
|
23
|
-
|
|
1
|
+
import { jsxs as v, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { g as Ke } from "../../chunks/classNames.BTJmrO_L.js";
|
|
3
|
+
import { t as Te } from "../../chunks/constants.CKKGf1-i.js";
|
|
4
|
+
import { s as i } from "../../chunks/combobox.module.D_HXP875.js";
|
|
5
|
+
import We from "clsx";
|
|
6
|
+
import ze, { useCallback as H, useMemo as y } from "react";
|
|
7
|
+
import { b as Je, H as Qe } from "../../chunks/form.context.D7b4066_.js";
|
|
8
|
+
import { LabelProvider as Ue } from "../Form/contexts/label.context.es.js";
|
|
9
|
+
import { HelperTextProvider as Xe } from "../Form/contexts/helperText.context.es.js";
|
|
10
|
+
import { ActionList as j } from "../ActionList/ActionList.es.js";
|
|
11
|
+
import { useSelectDropdown as Ye } from "./useSelectDropdown.es.js";
|
|
12
|
+
import { SelectDropdown as Ze } from "./SelectDropdown.es.js";
|
|
13
|
+
import { useSelectChips as _e } from "./useSelectChips.es.js";
|
|
14
|
+
import { useSelectKeyboardManager as et } from "./useSelectKeyboardManager.es.js";
|
|
15
|
+
import tt from "./useClearSelection.es.js";
|
|
16
|
+
import { OptionChips as rt } from "../_Options/OptionChips.es.js";
|
|
17
|
+
import { SelectField as it } from "./SelectField.es.js";
|
|
18
|
+
import ot from "./useSelectA11y.es.js";
|
|
19
|
+
import { useCreateOptionsContext as st, OptionsProvider as lt } from "../_Options/Option.context.es.js";
|
|
20
|
+
import { Option as at } from "../_Options/Option.es.js";
|
|
21
|
+
import { OptionGroup as dt } from "../_Options/OptionGroup.es.js";
|
|
22
|
+
import "../_Options/OptionGroup.context.es.js";
|
|
23
|
+
import { getLastVisibleStructureIndex as nt } from "../_Options/getLastVisibleStructureIndex.es.js";
|
|
24
|
+
import { useRenderOption as ct } from "../_Options/useRenderOption.es.js";
|
|
25
|
+
import { useSelectValue as pt } from "../_Options/useSelectValue.es.js";
|
|
26
|
+
import { createSelectionStrategy as mt } from "../_Options/strategies/SelectionStrategy.es.js";
|
|
27
|
+
const { baseClassNamePrefix: ut, subElementClassPrefix: P, classModifierPrefix: a } = Ke("combobox"), ft = ze.forwardRef(
|
|
24
28
|
({
|
|
25
|
-
theme:
|
|
26
|
-
width:
|
|
29
|
+
theme: O,
|
|
30
|
+
width: k,
|
|
27
31
|
error: d,
|
|
28
|
-
children:
|
|
29
|
-
label:
|
|
30
|
-
contentBefore:
|
|
31
|
-
contentAfter:
|
|
32
|
-
fluid:
|
|
33
|
-
helperText:
|
|
34
|
-
validationRules:
|
|
35
|
-
className:
|
|
36
|
-
hideRequiredMarker:
|
|
37
|
-
disabled:
|
|
38
|
-
readOnly:
|
|
39
|
-
required:
|
|
40
|
-
placeholder:
|
|
32
|
+
children: K,
|
|
33
|
+
label: $ = null,
|
|
34
|
+
contentBefore: T,
|
|
35
|
+
contentAfter: W,
|
|
36
|
+
fluid: z = !1,
|
|
37
|
+
helperText: N = null,
|
|
38
|
+
validationRules: J = [],
|
|
39
|
+
className: Q,
|
|
40
|
+
hideRequiredMarker: U = !1,
|
|
41
|
+
disabled: X = !1,
|
|
42
|
+
readOnly: Y = !1,
|
|
43
|
+
required: Z = !1,
|
|
44
|
+
placeholder: _ = "",
|
|
41
45
|
onChange: m,
|
|
42
46
|
...u
|
|
43
|
-
},
|
|
47
|
+
}, ee) => {
|
|
44
48
|
const {
|
|
45
|
-
id:
|
|
46
|
-
name:
|
|
47
|
-
"aria-describedby":
|
|
49
|
+
id: V,
|
|
50
|
+
name: te,
|
|
51
|
+
"aria-describedby": re,
|
|
48
52
|
multiple: e = !1,
|
|
49
|
-
clearable:
|
|
50
|
-
...
|
|
51
|
-
} = u, { showErrors:
|
|
52
|
-
name:
|
|
53
|
-
validationRules:
|
|
54
|
-
disabledProp:
|
|
55
|
-
readOnlyProp:
|
|
56
|
-
requiredProp:
|
|
57
|
-
}), { aria: f, ids:
|
|
58
|
-
helperText:
|
|
59
|
-
externalDescribedBy:
|
|
53
|
+
clearable: ie = e,
|
|
54
|
+
...oe
|
|
55
|
+
} = u, { showErrors: se, isInvalid: le, errorShown: ae, disabled: r, readOnly: s, required: w } = Je({
|
|
56
|
+
name: te,
|
|
57
|
+
validationRules: J,
|
|
58
|
+
disabledProp: X,
|
|
59
|
+
readOnlyProp: Y,
|
|
60
|
+
requiredProp: Z
|
|
61
|
+
}), { aria: f, ids: de } = ot({
|
|
62
|
+
helperText: N,
|
|
63
|
+
externalDescribedBy: re,
|
|
60
64
|
error: d,
|
|
61
|
-
errorShown:
|
|
65
|
+
errorShown: ae,
|
|
62
66
|
invalid: !!d || le
|
|
63
|
-
}), { helperTextId:
|
|
64
|
-
(
|
|
65
|
-
m == null || m(
|
|
67
|
+
}), { helperTextId: ne, errorId: ce, validationErrorsId: pe, labelId: D } = de, me = !!(d != null && d.length), ue = H(
|
|
68
|
+
(t) => {
|
|
69
|
+
m == null || m(t);
|
|
66
70
|
},
|
|
67
71
|
[m]
|
|
68
72
|
), {
|
|
69
73
|
value: n,
|
|
70
|
-
setValue:
|
|
71
|
-
selectProps:
|
|
72
|
-
handleBlur:
|
|
74
|
+
setValue: L,
|
|
75
|
+
selectProps: fe,
|
|
76
|
+
handleBlur: M,
|
|
73
77
|
singleValue: b
|
|
74
|
-
} =
|
|
75
|
-
optionsContext:
|
|
76
|
-
optionIds:
|
|
77
|
-
optionsProps:
|
|
78
|
-
selectedOptionsProps:
|
|
79
|
-
deselectOptionValue:
|
|
80
|
-
|
|
78
|
+
} = pt({ onChange: ue, ...u }, ee), g = !n || Array.isArray(n) && !n.length, {
|
|
79
|
+
optionsContext: be,
|
|
80
|
+
optionIds: h,
|
|
81
|
+
optionsProps: c,
|
|
82
|
+
selectedOptionsProps: R,
|
|
83
|
+
deselectOptionValue: E,
|
|
84
|
+
structureIds: S,
|
|
85
|
+
groupsProps: he,
|
|
86
|
+
optionIdsByGroup: C
|
|
87
|
+
} = st(n, L, e), x = y(() => {
|
|
81
88
|
if (!b) return;
|
|
82
|
-
const
|
|
83
|
-
return
|
|
84
|
-
}, [
|
|
85
|
-
if (
|
|
86
|
-
const
|
|
87
|
-
return
|
|
88
|
-
}, [h, c
|
|
89
|
-
disabled:
|
|
89
|
+
const t = h.map((l) => c.get(l)).findIndex((l) => (l == null ? void 0 : l.value) === b);
|
|
90
|
+
return t !== -1 ? t : void 0;
|
|
91
|
+
}, [h, c, b]), xe = y(() => {
|
|
92
|
+
if (x === void 0) return;
|
|
93
|
+
const t = c.get(h[x]);
|
|
94
|
+
return t == null ? void 0 : t.label;
|
|
95
|
+
}, [x, h, c]), { getFieldProps: ve, dropdownProps: ye, refs: Oe, open: F, setOpen: I, status: ge } = Ye({
|
|
96
|
+
disabled: r,
|
|
90
97
|
readOnly: s,
|
|
91
|
-
lastSelectedOptionIndex:
|
|
92
|
-
}),
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
f.invalid &&
|
|
97
|
-
|
|
98
|
-
s &&
|
|
99
|
-
|
|
100
|
-
e &&
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
), { canClear:
|
|
98
|
+
lastSelectedOptionIndex: x
|
|
99
|
+
}), Se = We(
|
|
100
|
+
i[ut],
|
|
101
|
+
O && Te(O),
|
|
102
|
+
z && i[`${a}fluid`],
|
|
103
|
+
f.invalid && i[`${a}error`],
|
|
104
|
+
r && i[`${a}disabled`],
|
|
105
|
+
s && i[`${a}read-only`],
|
|
106
|
+
g && i[`${a}empty`],
|
|
107
|
+
e && i[`${a}multiple`],
|
|
108
|
+
i[`${a}dropdown-${ge}`],
|
|
109
|
+
Q
|
|
110
|
+
), { canClear: Ce, handleClear: Ie } = tt({
|
|
104
111
|
multiple: e,
|
|
105
|
-
clearable:
|
|
106
|
-
isEmpty:
|
|
107
|
-
disabled:
|
|
112
|
+
clearable: ie,
|
|
113
|
+
isEmpty: g,
|
|
114
|
+
disabled: r,
|
|
108
115
|
readOnly: s,
|
|
109
|
-
setValue:
|
|
110
|
-
setOpen:
|
|
116
|
+
setValue: L,
|
|
117
|
+
setOpen: I
|
|
111
118
|
}), {
|
|
112
|
-
chipGroupProps:
|
|
113
|
-
handleBlur:
|
|
114
|
-
selectedChip:
|
|
115
|
-
setSelectedChip:
|
|
116
|
-
enabled:
|
|
117
|
-
selectPreviousChip:
|
|
118
|
-
selectNextChip:
|
|
119
|
-
options:
|
|
120
|
-
deselectOptionValue:
|
|
121
|
-
} =
|
|
119
|
+
chipGroupProps: Pe,
|
|
120
|
+
handleBlur: G,
|
|
121
|
+
selectedChip: Be,
|
|
122
|
+
setSelectedChip: $e,
|
|
123
|
+
enabled: Ne,
|
|
124
|
+
selectPreviousChip: Ve,
|
|
125
|
+
selectNextChip: we,
|
|
126
|
+
options: De,
|
|
127
|
+
deselectOptionValue: Le
|
|
128
|
+
} = _e({
|
|
122
129
|
multiple: e,
|
|
123
|
-
disabled:
|
|
130
|
+
disabled: r,
|
|
124
131
|
readOnly: s,
|
|
125
|
-
open:
|
|
126
|
-
setOpen:
|
|
127
|
-
options:
|
|
128
|
-
deselectOptionValue:
|
|
129
|
-
fieldRef:
|
|
130
|
-
}), { getKeyboardProps:
|
|
132
|
+
open: F,
|
|
133
|
+
setOpen: I,
|
|
134
|
+
options: R,
|
|
135
|
+
deselectOptionValue: E,
|
|
136
|
+
fieldRef: Oe.domReference
|
|
137
|
+
}), { getKeyboardProps: Me } = et({
|
|
131
138
|
multiple: e,
|
|
132
|
-
disabled:
|
|
139
|
+
disabled: r,
|
|
133
140
|
readOnly: s,
|
|
134
|
-
open:
|
|
135
|
-
setOpen:
|
|
141
|
+
open: F,
|
|
142
|
+
setOpen: I,
|
|
136
143
|
chips: {
|
|
137
|
-
enabled:
|
|
138
|
-
selectedChip:
|
|
139
|
-
setSelectedChip:
|
|
140
|
-
selectPreviousChip:
|
|
141
|
-
selectNextChip:
|
|
142
|
-
options:
|
|
143
|
-
deselectOptionValue:
|
|
144
|
+
enabled: Ne,
|
|
145
|
+
selectedChip: Be,
|
|
146
|
+
setSelectedChip: $e,
|
|
147
|
+
selectPreviousChip: Ve,
|
|
148
|
+
selectNextChip: we,
|
|
149
|
+
options: De,
|
|
150
|
+
deselectOptionValue: Le
|
|
144
151
|
}
|
|
145
|
-
}),
|
|
146
|
-
() =>
|
|
152
|
+
}), Re = y(
|
|
153
|
+
() => mt(e),
|
|
147
154
|
[e]
|
|
148
|
-
),
|
|
149
|
-
|
|
150
|
-
}, [
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
+
), Ee = H(() => {
|
|
156
|
+
M(), G();
|
|
157
|
+
}, [M, G]), q = ct({
|
|
158
|
+
optionsProps: c,
|
|
159
|
+
selectionStrategy: Re,
|
|
160
|
+
value: n,
|
|
161
|
+
multiple: e,
|
|
162
|
+
optionClassName: i[`${P}option`]
|
|
163
|
+
}), Fe = y(
|
|
164
|
+
() => nt(S, C),
|
|
165
|
+
[S, C]
|
|
166
|
+
), { ref: Ge, ...qe } = Me(ve());
|
|
167
|
+
return /* @__PURE__ */ v(lt, { value: be, children: [
|
|
168
|
+
/* @__PURE__ */ v("div", { className: Se, style: { maxWidth: k }, children: [
|
|
169
|
+
/* @__PURE__ */ o(
|
|
170
|
+
Ue,
|
|
155
171
|
{
|
|
156
|
-
ctxHtmlFor:
|
|
157
|
-
ctxDisabled:
|
|
158
|
-
ctxRequired:
|
|
159
|
-
ctxId:
|
|
160
|
-
children:
|
|
172
|
+
ctxHtmlFor: V,
|
|
173
|
+
ctxDisabled: r,
|
|
174
|
+
ctxRequired: w && !U,
|
|
175
|
+
ctxId: D,
|
|
176
|
+
children: $
|
|
161
177
|
}
|
|
162
178
|
),
|
|
163
|
-
/* @__PURE__ */
|
|
164
|
-
|
|
179
|
+
/* @__PURE__ */ o(
|
|
180
|
+
it,
|
|
165
181
|
{
|
|
166
|
-
id:
|
|
167
|
-
disabled:
|
|
182
|
+
id: V,
|
|
183
|
+
disabled: r,
|
|
168
184
|
readOnly: s,
|
|
169
|
-
required:
|
|
185
|
+
required: w,
|
|
170
186
|
invalid: f.invalid,
|
|
171
187
|
errorMessage: f.errorMessage,
|
|
172
|
-
labelId: !u.ariaLabel &&
|
|
188
|
+
labelId: !u.ariaLabel && $ ? D : void 0,
|
|
173
189
|
ariaLabel: u.ariaLabel,
|
|
174
190
|
describedBy: f.describedBy,
|
|
175
|
-
contentBefore:
|
|
176
|
-
contentAfter:
|
|
177
|
-
chips: /* @__PURE__ */
|
|
178
|
-
|
|
191
|
+
contentBefore: T,
|
|
192
|
+
contentAfter: W,
|
|
193
|
+
chips: /* @__PURE__ */ o(
|
|
194
|
+
rt,
|
|
179
195
|
{
|
|
180
196
|
multiple: e,
|
|
181
|
-
disabled:
|
|
197
|
+
disabled: r,
|
|
182
198
|
readOnly: s,
|
|
183
|
-
selectedOptions:
|
|
184
|
-
deselectOptionValue:
|
|
185
|
-
chipGroupProps:
|
|
186
|
-
input: /* @__PURE__ */
|
|
199
|
+
selectedOptions: R,
|
|
200
|
+
deselectOptionValue: E,
|
|
201
|
+
chipGroupProps: Pe,
|
|
202
|
+
input: /* @__PURE__ */ o(
|
|
187
203
|
"input",
|
|
188
204
|
{
|
|
189
|
-
className:
|
|
190
|
-
placeholder: e && !
|
|
191
|
-
disabled:
|
|
205
|
+
className: i[`${P}field__input`],
|
|
206
|
+
placeholder: e && !g ? "" : _,
|
|
207
|
+
disabled: r,
|
|
192
208
|
readOnly: !0,
|
|
193
209
|
autoComplete: "off",
|
|
194
210
|
tabIndex: -1,
|
|
195
211
|
autoFocus: !1,
|
|
196
|
-
value: e ? "" :
|
|
212
|
+
value: e ? "" : xe ?? b
|
|
197
213
|
}
|
|
198
214
|
)
|
|
199
215
|
}
|
|
200
216
|
),
|
|
201
|
-
hasClearButton:
|
|
202
|
-
onClear:
|
|
203
|
-
onBlur:
|
|
204
|
-
...
|
|
205
|
-
ref:
|
|
217
|
+
hasClearButton: Ce,
|
|
218
|
+
onClear: Ie,
|
|
219
|
+
onBlur: Ee,
|
|
220
|
+
...qe,
|
|
221
|
+
ref: Ge
|
|
206
222
|
}
|
|
207
223
|
),
|
|
208
|
-
/* @__PURE__ */
|
|
209
|
-
|
|
210
|
-
|
|
224
|
+
/* @__PURE__ */ v(Xe, { ctxId: ne, ctxDisabled: r, children: [
|
|
225
|
+
N,
|
|
226
|
+
me && /* @__PURE__ */ o(Qe, { id: ce, appearance: "negative", children: d })
|
|
211
227
|
] }),
|
|
212
|
-
|
|
228
|
+
se(pe)
|
|
213
229
|
] }),
|
|
214
|
-
/* @__PURE__ */
|
|
215
|
-
/* @__PURE__ */
|
|
216
|
-
|
|
230
|
+
/* @__PURE__ */ v("select", { ...oe, ...fe, hidden: !0, multiple: e, children: [
|
|
231
|
+
/* @__PURE__ */ o("option", { value: "", children: "empty" }),
|
|
232
|
+
K
|
|
217
233
|
] }),
|
|
218
|
-
/* @__PURE__ */
|
|
219
|
-
|
|
234
|
+
/* @__PURE__ */ o(
|
|
235
|
+
Ze,
|
|
220
236
|
{
|
|
221
|
-
...
|
|
222
|
-
className:
|
|
223
|
-
disabled:
|
|
237
|
+
...ye,
|
|
238
|
+
className: i[`${P}dropdown`],
|
|
239
|
+
disabled: r,
|
|
224
240
|
readOnly: s,
|
|
225
|
-
theme:
|
|
241
|
+
theme: O,
|
|
226
242
|
multiple: e,
|
|
227
|
-
children: /* @__PURE__ */
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
const
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
L.Item,
|
|
243
|
+
children: /* @__PURE__ */ o(j, { role: "listbox", children: S.map((t, l) => {
|
|
244
|
+
if (t.kind === "option")
|
|
245
|
+
return q(t.id);
|
|
246
|
+
const p = he.get(t.id);
|
|
247
|
+
if (!p) return null;
|
|
248
|
+
const A = C.get(t.id) ?? [], Ae = A.length > 0, He = l === Fe, je = !!p.divider && !He;
|
|
249
|
+
return /* @__PURE__ */ o(
|
|
250
|
+
j.Group,
|
|
236
251
|
{
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
),
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
kind: e ? "checkbox" : "singleCheckMark",
|
|
245
|
-
role: "option"
|
|
246
|
-
}
|
|
252
|
+
heading: p.heading,
|
|
253
|
+
divider: je,
|
|
254
|
+
disabled: p.disabled,
|
|
255
|
+
hidden: !Ae,
|
|
256
|
+
children: A.map((ke) => q(ke, p.disabled))
|
|
257
|
+
},
|
|
258
|
+
t.id
|
|
247
259
|
);
|
|
248
260
|
}) })
|
|
249
261
|
}
|
|
250
262
|
)
|
|
251
263
|
] });
|
|
252
264
|
}
|
|
253
|
-
),
|
|
254
|
-
|
|
255
|
-
|
|
265
|
+
), B = ft;
|
|
266
|
+
B.Option = at;
|
|
267
|
+
B.OptionGroup = dt;
|
|
268
|
+
B.displayName = "Select";
|
|
256
269
|
export {
|
|
257
|
-
|
|
258
|
-
|
|
270
|
+
B as Select,
|
|
271
|
+
B as default
|
|
259
272
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),s=require("@floating-ui/react"),B=require("../Box/Box.cjs.js"),C=require("clsx"),a=require("../../chunks/classNames.DAeKwerT.js"),P=require("../../chunks/constants.hwjHOsvT.js");require("../_Options/Option.context.cjs.js");const v=require("../_Options/Option.cjs.js"),y=require("react");require("../_Options/OptionGroup.context.cjs.js");require("../../utils/hooks/useId.cjs.js");require("../ActionList/ActionList.cjs.js");require("../../chunks/form.context.hesWPMlU.js");require("../Form/contexts/label.context.cjs.js");require("../Form/contexts/helperText.context.cjs.js");const S=require("../ActionList/ActionList.context.cjs.js"),O=require("../../chunks/FloatingUI.arrow.DFhYQv_F.js"),w=require("../../chunks/popover.module.DGUJIXrP.js"),{baseClassNamePrefix:M}=a.getBEMClassNames("floatingui"),{baseClassNamePrefix:A}=a.getBEMClassNames("popover"),L=[v.Option],T=({setOpen:t,isMounted:n,status:l,nodeId:c,context:u,getFloatingProps:d,floatingStyles:q,labelsRef:x,elementsRef:g,getItemProps:f,setFloating:p,disabled:F,readOnly:_,theme:o,className:b,children:m,multiple:i,activeIndex:N,onItemClick:r})=>{const j=y.useCallback(h=>{r==null||r(h),!i&&t(!1)},[i,r,t]);return n?e.jsx(s.FloatingTree,{children:e.jsx(s.FloatingNode,{id:c,children:e.jsx(s.FloatingPortal,{children:e.jsx(s.FloatingFocusManager,{context:u,modal:!1,initialFocus:0,disabled:F||_,closeOnFocusOut:!0,restoreFocus:!0,returnFocus:!0,guards:!0,order:["content","reference"],children:e.jsx(B.Box,{"data-status":l,className:C(o&&P.themeClassName(o),O.floatinguiStyles[M],w.popoverStyles[A],b),...d(),style:q,ref:p,children:e.jsx(S.ActionListContextProvider,{allowChildrenTypes:L,getItemProps:f,itemsFocusable:!1,onItemClick:j,labelsRef:x,elementsRef:g,activeIndex:N,children:m})})})})})}):null};exports.SelectDropdown=T;
|
|
@@ -7,38 +7,41 @@ import { t as O } from "../../chunks/constants.CKKGf1-i.js";
|
|
|
7
7
|
import "../_Options/Option.context.es.js";
|
|
8
8
|
import { Option as T } from "../_Options/Option.es.js";
|
|
9
9
|
import { useCallback as j } from "react";
|
|
10
|
+
import "../_Options/OptionGroup.context.es.js";
|
|
11
|
+
import "../../utils/hooks/useId.es.js";
|
|
12
|
+
import "../ActionList/ActionList.es.js";
|
|
10
13
|
import "../../chunks/form.context.D7b4066_.js";
|
|
11
14
|
import "../Form/contexts/label.context.es.js";
|
|
12
15
|
import "../Form/contexts/helperText.context.es.js";
|
|
13
16
|
import { ActionListContextProvider as A } from "../ActionList/ActionList.context.es.js";
|
|
14
|
-
import { f as D } from "../../chunks/
|
|
17
|
+
import { f as D } from "../../chunks/FloatingUI.arrow.tN5_IctZ.js";
|
|
15
18
|
import { p as E } from "../../chunks/popover.module.3dnl8y6-.js";
|
|
16
|
-
const { baseClassNamePrefix: L } = a("floatingui"), { baseClassNamePrefix: q } = a("popover"), z = [T],
|
|
19
|
+
const { baseClassNamePrefix: L } = a("floatingui"), { baseClassNamePrefix: q } = a("popover"), z = [T], er = ({
|
|
17
20
|
setOpen: e,
|
|
18
21
|
isMounted: i,
|
|
19
22
|
status: l,
|
|
20
23
|
nodeId: m,
|
|
21
24
|
context: n,
|
|
22
|
-
getFloatingProps:
|
|
23
|
-
floatingStyles:
|
|
25
|
+
getFloatingProps: p,
|
|
26
|
+
floatingStyles: f,
|
|
24
27
|
labelsRef: c,
|
|
25
28
|
elementsRef: u,
|
|
26
29
|
getItemProps: d,
|
|
27
30
|
setFloating: g,
|
|
28
31
|
disabled: F,
|
|
29
32
|
readOnly: x,
|
|
30
|
-
theme:
|
|
33
|
+
theme: t,
|
|
31
34
|
className: N,
|
|
32
35
|
children: h,
|
|
33
|
-
multiple:
|
|
36
|
+
multiple: s,
|
|
34
37
|
activeIndex: C,
|
|
35
38
|
onItemClick: o
|
|
36
39
|
}) => {
|
|
37
40
|
const P = j(
|
|
38
41
|
(b) => {
|
|
39
|
-
o == null || o(b), !
|
|
42
|
+
o == null || o(b), !s && e(!1);
|
|
40
43
|
},
|
|
41
|
-
[
|
|
44
|
+
[s, o, e]
|
|
42
45
|
);
|
|
43
46
|
return i ? /* @__PURE__ */ r(v, { children: /* @__PURE__ */ r(y, { id: m, children: /* @__PURE__ */ r(B, { children: /* @__PURE__ */ r(
|
|
44
47
|
S,
|
|
@@ -57,13 +60,13 @@ const { baseClassNamePrefix: L } = a("floatingui"), { baseClassNamePrefix: q } =
|
|
|
57
60
|
{
|
|
58
61
|
"data-status": l,
|
|
59
62
|
className: M(
|
|
60
|
-
|
|
63
|
+
t && O(t),
|
|
61
64
|
D[L],
|
|
62
65
|
E[q],
|
|
63
66
|
N
|
|
64
67
|
),
|
|
65
|
-
...
|
|
66
|
-
style:
|
|
68
|
+
...p(),
|
|
69
|
+
style: f,
|
|
67
70
|
ref: g,
|
|
68
71
|
children: /* @__PURE__ */ r(
|
|
69
72
|
A,
|
|
@@ -84,5 +87,5 @@ const { baseClassNamePrefix: L } = a("floatingui"), { baseClassNamePrefix: q } =
|
|
|
84
87
|
) }) }) }) : null;
|
|
85
88
|
};
|
|
86
89
|
export {
|
|
87
|
-
|
|
90
|
+
er as SelectDropdown
|
|
88
91
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const b=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const b=require("react/jsx-runtime"),s=require("react"),g=require("./Option.context.cjs.js"),m=require("./OptionGroup.context.cjs.js"),q=require("../../utils/functions.cjs.js"),v=require("../../utils/hooks/useId.cjs.js"),d=({className:C,label:u,value:f,children:t,...i})=>{const o=s.useMemo(()=>u??q.extractTextFromReactNode(t),[u,t]),n=f??o,{selectOption:r,deselectOption:c,registerOption:l,unregisterOption:a,setOptionProps:p}=g.useOptionsContext(),{groupId:O}=m.useOptionGroupContext(),e=v.useId()??"",_=s.useCallback(x=>{x?r(e):c(e)},[c,e,r]);return s.useLayoutEffect(()=>(l(e,O),()=>a(e)),[e,O,l,a]),s.useEffect(()=>{p(e,{...i,label:o,value:n,children:t,onSelectionChange:_})},[t,e,o,_,i,p,n]),b.jsx("option",{value:n,children:o})};exports.Option=d;exports.default=d;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react"),V=r.createContext(null),D=V.Provider,L=()=>{const o=r.useContext(V);if(!o)throw new Error("useOptionsContext must be used within an OptionsProvider");return o},z=o=>Array.isArray(o)?o:o!==void 0?[o]:[],F=(o,u,a)=>{const g=r.useRef(void 0),[c,M]=r.useState(()=>new Map),[i,k]=r.useState(()=>[]),[A,w]=r.useState(()=>new Map),[C,b]=r.useState(()=>new Map),[x,d]=r.useState(()=>[]),O=r.useRef(c);O.current=c;const l=r.useMemo(()=>z(o),[o]),p=r.useRef(l);p.current=l,r.useMemo(()=>{if(!l.length)g.current=void 0;else{const n=l[l.length-1],t=i.map(e=>c.get(e)).findIndex(e=>(e==null?void 0:e.value)===n);g.current=t}},[l,i,c]);const m=r.useCallback(n=>{const t=O.current.get(n),e=t==null?void 0:t.value,s=p.current;t&&e&&u(a?[...s.filter(f=>f!==e),e]:e)},[a,u]),y=r.useCallback(n=>{const t=O.current.get(n),e=t==null?void 0:t.value,s=p.current;if(t&&e)if(a){if(!s.includes(e))return;u(s.filter(f=>f!==e))}else return},[a,u]),B=r.useCallback(n=>{if(!a||n===void 0)return;const e=z(n)[0];if(!e)return;const s=p.current;s.includes(e)&&u(s.filter(f=>f!==e))},[a,u]),v=r.useCallback((n,t)=>{k(e=>[...e,n]),b(e=>{const s=new Map(e);return s.set(n,t),s}),t===null&&d(e=>[...e,{kind:"option",id:n}])},[]),S=r.useCallback(n=>{k(t=>t.filter(e=>e!==n)),M(t=>{const e=new Map(t);return e.delete(n),e}),b(t=>{const e=new Map(t);return e.delete(n),e}),d(t=>t.filter(e=>!(e.kind==="option"&&e.id===n)))},[]),h=r.useCallback((n,t)=>M(e=>{const s=new Map(e);return s.set(n,t),s}),[]),I=r.useCallback(n=>{d(t=>[...t,{kind:"group",id:n}])},[]),P=r.useCallback(n=>{w(t=>{const e=new Map(t);return e.delete(n),e}),d(t=>t.filter(e=>!(e.kind==="group"&&e.id===n)))},[]),G=r.useCallback((n,t)=>w(e=>{const s=new Map(e);return s.set(n,t),s}),[]),E=r.useMemo(()=>({setValue:u,registerOption:v,unregisterOption:S,setOptionProps:h,selectOption:m,deselectOption:y,registerGroup:I,unregisterGroup:P,setGroupProps:G}),[u,v,S,h,m,y,I,P,G]),T=r.useMemo(()=>{if(!o||!c.size)return[];const n=Array.from(c.values()),t=new Map(n.map(e=>[e.value,e]));return p.current.length===0?[]:p.current.map(e=>t.get(e)).filter(Boolean)},[o,c]),R=r.useCallback(n=>O.current.get(n),[]),j=r.useCallback(n=>{const t=i[n];if(t)return R(t)},[R,i]),q=r.useMemo(()=>{const n=new Map;return x.forEach(t=>{t.kind==="group"&&n.set(t.id,[])}),i.forEach(t=>{const e=C.get(t);if(e!=null){const s=n.get(e);s&&s.push(t)}}),n},[x,i,C]);return{optionsContext:E,selectedOptionsProps:T,optionIds:i,optionsProps:c,deselectOptionValue:B,indexOfLastSelectedOptionRef:g,getOptionByIndex:j,structureIds:x,groupsProps:A,optionGroupOf:C,optionIdsByGroup:q}};exports.OptionsProvider=D;exports.useCreateOptionsContext=F;exports.useOptionsContext=L;
|
|
@@ -1,11 +1,22 @@
|
|
|
1
1
|
import { SelectHTMLAttributes } from 'react';
|
|
2
|
-
import { OptionProps } from './Option.types';
|
|
2
|
+
import { OptionGroupProps, OptionProps } from './Option.types';
|
|
3
|
+
export type StructureNode = {
|
|
4
|
+
kind: 'option';
|
|
5
|
+
id: string;
|
|
6
|
+
} | {
|
|
7
|
+
kind: 'group';
|
|
8
|
+
id: string;
|
|
9
|
+
};
|
|
3
10
|
interface OptionsContextValue {
|
|
4
|
-
selectOption: (id:
|
|
5
|
-
deselectOption: (id:
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
11
|
+
selectOption: (id: string) => void;
|
|
12
|
+
deselectOption: (id: string) => void;
|
|
13
|
+
/** Register an Option. Pass `null` for `groupId` when the Option is rendered at the root (not inside any OptionGroup). */
|
|
14
|
+
registerOption: (id: string, groupId: string | null) => void;
|
|
15
|
+
unregisterOption: (id: string) => void;
|
|
16
|
+
setOptionProps: (id: string, optionProps: OptionProps) => void;
|
|
17
|
+
registerGroup: (id: string) => void;
|
|
18
|
+
unregisterGroup: (id: string) => void;
|
|
19
|
+
setGroupProps: (id: string, groupProps: OptionGroupProps) => void;
|
|
9
20
|
}
|
|
10
21
|
export declare const OptionsProvider: import('react').Provider<OptionsContextValue | null>;
|
|
11
22
|
export declare const useOptionsContext: () => OptionsContextValue;
|
|
@@ -13,17 +24,24 @@ type ValueType = SelectHTMLAttributes<HTMLSelectElement>['value'];
|
|
|
13
24
|
export declare const useCreateOptionsContext: (value: ValueType, setValue: (value: ValueType) => void, multiple: boolean) => {
|
|
14
25
|
optionsContext: {
|
|
15
26
|
setValue: (value: ValueType) => void;
|
|
16
|
-
registerOption: (id:
|
|
17
|
-
unregisterOption: (id:
|
|
18
|
-
setOptionProps: (id:
|
|
19
|
-
selectOption: (id:
|
|
20
|
-
deselectOption: (id:
|
|
27
|
+
registerOption: (id: string, groupId: string | null) => void;
|
|
28
|
+
unregisterOption: (id: string) => void;
|
|
29
|
+
setOptionProps: (id: string, optionProps: OptionProps) => void;
|
|
30
|
+
selectOption: (id: string) => void;
|
|
31
|
+
deselectOption: (id: string) => void;
|
|
32
|
+
registerGroup: (id: string) => void;
|
|
33
|
+
unregisterGroup: (id: string) => void;
|
|
34
|
+
setGroupProps: (id: string, groupProps: OptionGroupProps) => void;
|
|
21
35
|
};
|
|
22
36
|
selectedOptionsProps: OptionProps[];
|
|
23
|
-
optionIds:
|
|
24
|
-
optionsProps: Map<
|
|
37
|
+
optionIds: string[];
|
|
38
|
+
optionsProps: Map<string, OptionProps>;
|
|
25
39
|
deselectOptionValue: (value: ValueType) => void;
|
|
26
40
|
indexOfLastSelectedOptionRef: import('react').MutableRefObject<number | undefined>;
|
|
27
41
|
getOptionByIndex: (index: number) => OptionProps | undefined;
|
|
42
|
+
structureIds: StructureNode[];
|
|
43
|
+
groupsProps: Map<string, OptionGroupProps>;
|
|
44
|
+
optionGroupOf: Map<string, string | null>;
|
|
45
|
+
optionIdsByGroup: Map<string, string[]>;
|
|
28
46
|
};
|
|
29
47
|
export {};
|