@eightshift/ui-components 0.0.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/README.md +27 -0
- package/dist/Checkbox-BLcVbhiO.js +178 -0
- package/dist/ColorSwatch-Cmlex_kT.js +66 -0
- package/dist/FieldError-wtMA4667.js +42 -0
- package/dist/FocusScope-1u9yyfIN.js +725 -0
- package/dist/Form-Cq3fu75_.js +5 -0
- package/dist/GridList-BZPXp3_O.js +1256 -0
- package/dist/Group-DyqpTRPe.js +49 -0
- package/dist/Input-jsbb4ugq.js +130 -0
- package/dist/Label-BPzS-sR7.js +17 -0
- package/dist/ListBox-w9gDaJkV.js +4423 -0
- package/dist/LiveAnnouncer-IsokfWQ5.js +73 -0
- package/dist/NumberFormatter-LzoKy975.js +160 -0
- package/dist/RSPContexts-CrNYmadY.js +14 -0
- package/dist/Select-49a62830.esm-C-RFtLiD.js +2541 -0
- package/dist/SelectionManager-mefd0ThJ.js +2155 -0
- package/dist/Separator-DHn0CwdK.js +325 -0
- package/dist/Slider-Pyh2V4bY.js +885 -0
- package/dist/Text-BM136LvS.js +17 -0
- package/dist/VisuallyHidden-BYRI1Lfo.js +51 -0
- package/dist/_commonjsHelpers-CUmg6egw.js +6 -0
- package/dist/ariaHideOutside-ByKBPHmX.js +113 -0
- package/dist/assets/style.css +1 -0
- package/dist/button-BkkdyHfJ.js +307 -0
- package/dist/components/animated-visibility/animated-visibility.js +7165 -0
- package/dist/components/base-control/base-control.js +97 -0
- package/dist/components/breakpoint-preview/breakpoint-preview.js +218 -0
- package/dist/components/button/button.js +10 -0
- package/dist/components/checkbox/checkbox.js +119 -0
- package/dist/components/color-pickers/color-picker.js +242 -0
- package/dist/components/color-pickers/color-swatch.js +62 -0
- package/dist/components/color-pickers/gradient-editor.js +516 -0
- package/dist/components/color-pickers/solid-color-picker.js +1633 -0
- package/dist/components/component-toggle/component-toggle.js +71 -0
- package/dist/components/container-panel/container-panel.js +39 -0
- package/dist/components/expandable/expandable.js +144 -0
- package/dist/components/input-field/input-field.js +224 -0
- package/dist/components/link-input/link-input.js +937 -0
- package/dist/components/list-box/list-box.js +152 -0
- package/dist/components/matrix-align/matrix-align.js +185 -0
- package/dist/components/menu/menu.js +1608 -0
- package/dist/components/notice/notice.js +119 -0
- package/dist/components/number-picker/number-picker.js +277 -0
- package/dist/components/popover/popover.js +9 -0
- package/dist/components/radio/radio.js +552 -0
- package/dist/components/repeater/repeater-item.js +127 -0
- package/dist/components/repeater/repeater.js +248 -0
- package/dist/components/responsive/responsive-legacy.js +326 -0
- package/dist/components/responsive/responsive.js +499 -0
- package/dist/components/responsive-preview/responsive-preview.js +119 -0
- package/dist/components/rich-label/rich-label.js +56 -0
- package/dist/components/select/async-multi-select.js +144 -0
- package/dist/components/select/async-single-select.js +126 -0
- package/dist/components/select/custom-select-default-components.js +38 -0
- package/dist/components/select/multi-select-components.js +8 -0
- package/dist/components/select/multi-select.js +134 -0
- package/dist/components/select/react-select-component-wrappers.js +90 -0
- package/dist/components/select/shared.js +45 -0
- package/dist/components/select/single-select.js +116 -0
- package/dist/components/select/styles.js +55 -0
- package/dist/components/slider/column-config-slider.js +225 -0
- package/dist/components/slider/slider.js +362 -0
- package/dist/components/slider/utils.js +45 -0
- package/dist/components/spacer/spacer.js +93 -0
- package/dist/components/tabs/tabs.js +626 -0
- package/dist/components/toggle/switch.js +140 -0
- package/dist/components/toggle/toggle.js +58 -0
- package/dist/components/toggle-button/toggle-button.js +206 -0
- package/dist/components/tooltip/tooltip.js +10 -0
- package/dist/context-jMy6xdVq.js +98 -0
- package/dist/default-i18n-BhE-OUmt.js +873 -0
- package/dist/filterDOMProps-DG2RfOUr.js +30 -0
- package/dist/focusSafely-C3K8zAKj.js +743 -0
- package/dist/hooks/use-cell-edit-mode.js +35 -0
- package/dist/icons/block-icon.js +42 -0
- package/dist/icons/generic-color-swatch.js +21 -0
- package/dist/icons/icons.js +3636 -0
- package/dist/index-Bfb9bWcb.js +28844 -0
- package/dist/index-a301f526.esm-Bioi4cGX.js +3576 -0
- package/dist/index.js +109 -0
- package/dist/intlStrings-CUhoK9EN.js +2484 -0
- package/dist/isScrollable-PcyglExV.js +10 -0
- package/dist/modifiers.esm-BuJQPI1X.js +31 -0
- package/dist/multi-select-components-CjVpCNko.js +3677 -0
- package/dist/number-rWqELA8W.js +39 -0
- package/dist/popover-Dx3vKXUX.js +1061 -0
- package/dist/react-select-async.esm-TFb_ZX6C.js +111 -0
- package/dist/react-select.esm-BjRWqf0E.js +15 -0
- package/dist/style.js +1 -0
- package/dist/textSelection-BosCCRVE.js +89 -0
- package/dist/tooltip-CkCndvTI.js +1094 -0
- package/dist/useButton-CuG5UzUw.js +74 -0
- package/dist/useEvent-DHv-yhOH.js +24 -0
- package/dist/useFocusRing-Cc-4eouh.js +41 -0
- package/dist/useFocusable-5q1Gek1J.js +81 -0
- package/dist/useFormReset-Buc9YJcv.js +23 -0
- package/dist/useFormValidationState-BAPPNXic.js +238 -0
- package/dist/useHasTabbableChild-D3uUNhJ0.js +37 -0
- package/dist/useLabel-CGlkoFG0.js +28 -0
- package/dist/useLabels-Dg62M_3P.js +25 -0
- package/dist/useListData-BelKu4kx.js +211 -0
- package/dist/useListState-Domq0blV.js +137 -0
- package/dist/useLocalizedStringFormatter-Prmz0h0A.js +130 -0
- package/dist/useNumberFieldState-BLU3uhSR.js +1253 -0
- package/dist/useNumberFormatter-BLc2xjZn.js +13 -0
- package/dist/usePress-BQgVor4T.js +698 -0
- package/dist/useToggle-C9ETOBaZ.js +58 -0
- package/dist/useToggleState-DJ_z5E2S.js +21 -0
- package/dist/utilities/classnames.js +16 -0
- package/dist/utilities/text-helpers.js +79 -0
- package/dist/utils-BsiH7-5Y.js +488 -0
- package/package.json +71 -0
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import { useState, useMemo } from "react";
|
|
2
|
+
function $0d86e9c8f07f9a7b$export$762f73dccccd255d(options) {
|
|
3
|
+
let { initialItems = [], initialSelectedKeys, getKey = (item) => item.id || item.key, filter, initialFilterText = "" } = options;
|
|
4
|
+
let [state, setState] = useState({
|
|
5
|
+
items: initialItems,
|
|
6
|
+
selectedKeys: initialSelectedKeys === "all" ? "all" : new Set(initialSelectedKeys || []),
|
|
7
|
+
filterText: initialFilterText
|
|
8
|
+
});
|
|
9
|
+
let filteredItems = useMemo(() => filter ? state.items.filter((item) => filter(item, state.filterText)) : state.items, [
|
|
10
|
+
state.items,
|
|
11
|
+
state.filterText,
|
|
12
|
+
filter
|
|
13
|
+
]);
|
|
14
|
+
return {
|
|
15
|
+
...state,
|
|
16
|
+
items: filteredItems,
|
|
17
|
+
...$0d86e9c8f07f9a7b$export$79c0c687a5963b0a({
|
|
18
|
+
getKey
|
|
19
|
+
}, setState),
|
|
20
|
+
getItem(key) {
|
|
21
|
+
return state.items.find((item) => getKey(item) === key);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function $0d86e9c8f07f9a7b$export$79c0c687a5963b0a(opts, dispatch) {
|
|
26
|
+
let { cursor, getKey } = opts;
|
|
27
|
+
return {
|
|
28
|
+
setSelectedKeys(selectedKeys) {
|
|
29
|
+
dispatch((state) => ({
|
|
30
|
+
...state,
|
|
31
|
+
selectedKeys
|
|
32
|
+
}));
|
|
33
|
+
},
|
|
34
|
+
setFilterText(filterText) {
|
|
35
|
+
dispatch((state) => ({
|
|
36
|
+
...state,
|
|
37
|
+
filterText
|
|
38
|
+
}));
|
|
39
|
+
},
|
|
40
|
+
insert(index, ...values) {
|
|
41
|
+
dispatch((state) => $0d86e9c8f07f9a7b$var$insert(state, index, ...values));
|
|
42
|
+
},
|
|
43
|
+
insertBefore(key, ...values) {
|
|
44
|
+
dispatch((state) => {
|
|
45
|
+
let index = state.items.findIndex((item) => getKey(item) === key);
|
|
46
|
+
if (index === -1) {
|
|
47
|
+
if (state.items.length === 0)
|
|
48
|
+
index = 0;
|
|
49
|
+
else
|
|
50
|
+
return state;
|
|
51
|
+
}
|
|
52
|
+
return $0d86e9c8f07f9a7b$var$insert(state, index, ...values);
|
|
53
|
+
});
|
|
54
|
+
},
|
|
55
|
+
insertAfter(key, ...values) {
|
|
56
|
+
dispatch((state) => {
|
|
57
|
+
let index = state.items.findIndex((item) => getKey(item) === key);
|
|
58
|
+
if (index === -1) {
|
|
59
|
+
if (state.items.length === 0)
|
|
60
|
+
index = 0;
|
|
61
|
+
else
|
|
62
|
+
return state;
|
|
63
|
+
}
|
|
64
|
+
return $0d86e9c8f07f9a7b$var$insert(state, index + 1, ...values);
|
|
65
|
+
});
|
|
66
|
+
},
|
|
67
|
+
prepend(...values) {
|
|
68
|
+
dispatch((state) => $0d86e9c8f07f9a7b$var$insert(state, 0, ...values));
|
|
69
|
+
},
|
|
70
|
+
append(...values) {
|
|
71
|
+
dispatch((state) => $0d86e9c8f07f9a7b$var$insert(state, state.items.length, ...values));
|
|
72
|
+
},
|
|
73
|
+
remove(...keys) {
|
|
74
|
+
dispatch((state) => {
|
|
75
|
+
let keySet = new Set(keys);
|
|
76
|
+
let items = state.items.filter((item) => !keySet.has(getKey(item)));
|
|
77
|
+
let selection = "all";
|
|
78
|
+
if (state.selectedKeys !== "all") {
|
|
79
|
+
selection = new Set(state.selectedKeys);
|
|
80
|
+
for (let key of keys)
|
|
81
|
+
selection.delete(key);
|
|
82
|
+
}
|
|
83
|
+
if (cursor == null && items.length === 0)
|
|
84
|
+
selection = /* @__PURE__ */ new Set();
|
|
85
|
+
return {
|
|
86
|
+
...state,
|
|
87
|
+
items,
|
|
88
|
+
selectedKeys: selection
|
|
89
|
+
};
|
|
90
|
+
});
|
|
91
|
+
},
|
|
92
|
+
removeSelectedItems() {
|
|
93
|
+
dispatch((state) => {
|
|
94
|
+
if (state.selectedKeys === "all")
|
|
95
|
+
return {
|
|
96
|
+
...state,
|
|
97
|
+
items: [],
|
|
98
|
+
selectedKeys: /* @__PURE__ */ new Set()
|
|
99
|
+
};
|
|
100
|
+
let selectedKeys = state.selectedKeys;
|
|
101
|
+
let items = state.items.filter((item) => !selectedKeys.has(getKey(item)));
|
|
102
|
+
return {
|
|
103
|
+
...state,
|
|
104
|
+
items,
|
|
105
|
+
selectedKeys: /* @__PURE__ */ new Set()
|
|
106
|
+
};
|
|
107
|
+
});
|
|
108
|
+
},
|
|
109
|
+
move(key, toIndex) {
|
|
110
|
+
dispatch((state) => {
|
|
111
|
+
let index = state.items.findIndex((item2) => getKey(item2) === key);
|
|
112
|
+
if (index === -1)
|
|
113
|
+
return state;
|
|
114
|
+
let copy = state.items.slice();
|
|
115
|
+
let [item] = copy.splice(index, 1);
|
|
116
|
+
copy.splice(toIndex, 0, item);
|
|
117
|
+
return {
|
|
118
|
+
...state,
|
|
119
|
+
items: copy
|
|
120
|
+
};
|
|
121
|
+
});
|
|
122
|
+
},
|
|
123
|
+
moveBefore(key, keys) {
|
|
124
|
+
dispatch((state) => {
|
|
125
|
+
let toIndex = state.items.findIndex((item) => getKey(item) === key);
|
|
126
|
+
if (toIndex === -1)
|
|
127
|
+
return state;
|
|
128
|
+
let keyArray = Array.isArray(keys) ? keys : [
|
|
129
|
+
...keys
|
|
130
|
+
];
|
|
131
|
+
let indices = keyArray.map((key2) => state.items.findIndex((item) => getKey(item) === key2)).sort((a, b) => a - b);
|
|
132
|
+
return $0d86e9c8f07f9a7b$var$move(state, indices, toIndex);
|
|
133
|
+
});
|
|
134
|
+
},
|
|
135
|
+
moveAfter(key, keys) {
|
|
136
|
+
dispatch((state) => {
|
|
137
|
+
let toIndex = state.items.findIndex((item) => getKey(item) === key);
|
|
138
|
+
if (toIndex === -1)
|
|
139
|
+
return state;
|
|
140
|
+
let keyArray = Array.isArray(keys) ? keys : [
|
|
141
|
+
...keys
|
|
142
|
+
];
|
|
143
|
+
let indices = keyArray.map((key2) => state.items.findIndex((item) => getKey(item) === key2)).sort((a, b) => a - b);
|
|
144
|
+
return $0d86e9c8f07f9a7b$var$move(state, indices, toIndex + 1);
|
|
145
|
+
});
|
|
146
|
+
},
|
|
147
|
+
update(key, newValue) {
|
|
148
|
+
dispatch((state) => {
|
|
149
|
+
let index = state.items.findIndex((item) => getKey(item) === key);
|
|
150
|
+
if (index === -1)
|
|
151
|
+
return state;
|
|
152
|
+
return {
|
|
153
|
+
...state,
|
|
154
|
+
items: [
|
|
155
|
+
...state.items.slice(0, index),
|
|
156
|
+
newValue,
|
|
157
|
+
...state.items.slice(index + 1)
|
|
158
|
+
]
|
|
159
|
+
};
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
function $0d86e9c8f07f9a7b$var$insert(state, index, ...values) {
|
|
165
|
+
return {
|
|
166
|
+
...state,
|
|
167
|
+
items: [
|
|
168
|
+
...state.items.slice(0, index),
|
|
169
|
+
...values,
|
|
170
|
+
...state.items.slice(index)
|
|
171
|
+
]
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
function $0d86e9c8f07f9a7b$var$move(state, indices, toIndex) {
|
|
175
|
+
toIndex -= indices.filter((index) => index < toIndex).length;
|
|
176
|
+
let moves = indices.map((from) => ({
|
|
177
|
+
from,
|
|
178
|
+
to: toIndex++
|
|
179
|
+
}));
|
|
180
|
+
for (let i = 0; i < moves.length; i++) {
|
|
181
|
+
let a = moves[i].from;
|
|
182
|
+
for (let j = i; j < moves.length; j++) {
|
|
183
|
+
let b = moves[j].from;
|
|
184
|
+
if (b > a)
|
|
185
|
+
moves[j].from--;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
for (let i = 0; i < moves.length; i++) {
|
|
189
|
+
let a = moves[i];
|
|
190
|
+
for (let j = moves.length - 1; j > i; j--) {
|
|
191
|
+
let b = moves[j];
|
|
192
|
+
if (b.from < a.to)
|
|
193
|
+
a.to++;
|
|
194
|
+
else
|
|
195
|
+
b.from++;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
let copy = state.items.slice();
|
|
199
|
+
for (let move of moves) {
|
|
200
|
+
let [item] = copy.splice(move.from, 1);
|
|
201
|
+
copy.splice(move.to, 0, item);
|
|
202
|
+
}
|
|
203
|
+
return {
|
|
204
|
+
...state,
|
|
205
|
+
items: copy
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
export {
|
|
209
|
+
$0d86e9c8f07f9a7b$export$762f73dccccd255d as $,
|
|
210
|
+
$0d86e9c8f07f9a7b$export$79c0c687a5963b0a as a
|
|
211
|
+
};
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { $ as $7af3f5b51489e0b5$export$253fe78d46329472, a as $7613b1592d41b092$export$6cd28814d92fa9c9, b as $d496c0a20b6e58ec$export$6c8a5aaad13c9852 } from "./SelectionManager-mefd0ThJ.js";
|
|
2
|
+
import { useMemo, useCallback, useRef, useEffect } from "react";
|
|
3
|
+
class $a02d57049d202695$export$d085fb9e920b5ca7 {
|
|
4
|
+
*[Symbol.iterator]() {
|
|
5
|
+
yield* this.iterable;
|
|
6
|
+
}
|
|
7
|
+
get size() {
|
|
8
|
+
return this.keyMap.size;
|
|
9
|
+
}
|
|
10
|
+
getKeys() {
|
|
11
|
+
return this.keyMap.keys();
|
|
12
|
+
}
|
|
13
|
+
getKeyBefore(key) {
|
|
14
|
+
let node = this.keyMap.get(key);
|
|
15
|
+
return node ? node.prevKey : null;
|
|
16
|
+
}
|
|
17
|
+
getKeyAfter(key) {
|
|
18
|
+
let node = this.keyMap.get(key);
|
|
19
|
+
return node ? node.nextKey : null;
|
|
20
|
+
}
|
|
21
|
+
getFirstKey() {
|
|
22
|
+
return this.firstKey;
|
|
23
|
+
}
|
|
24
|
+
getLastKey() {
|
|
25
|
+
return this.lastKey;
|
|
26
|
+
}
|
|
27
|
+
getItem(key) {
|
|
28
|
+
return this.keyMap.get(key);
|
|
29
|
+
}
|
|
30
|
+
at(idx) {
|
|
31
|
+
const keys = [
|
|
32
|
+
...this.getKeys()
|
|
33
|
+
];
|
|
34
|
+
return this.getItem(keys[idx]);
|
|
35
|
+
}
|
|
36
|
+
getChildren(key) {
|
|
37
|
+
let node = this.keyMap.get(key);
|
|
38
|
+
return (node === null || node === void 0 ? void 0 : node.childNodes) || [];
|
|
39
|
+
}
|
|
40
|
+
constructor(nodes) {
|
|
41
|
+
this.keyMap = /* @__PURE__ */ new Map();
|
|
42
|
+
this.iterable = nodes;
|
|
43
|
+
let visit = (node) => {
|
|
44
|
+
this.keyMap.set(node.key, node);
|
|
45
|
+
if (node.childNodes && node.type === "section")
|
|
46
|
+
for (let child of node.childNodes)
|
|
47
|
+
visit(child);
|
|
48
|
+
};
|
|
49
|
+
for (let node of nodes)
|
|
50
|
+
visit(node);
|
|
51
|
+
let last;
|
|
52
|
+
let index = 0;
|
|
53
|
+
for (let [key, node] of this.keyMap) {
|
|
54
|
+
if (last) {
|
|
55
|
+
last.nextKey = key;
|
|
56
|
+
node.prevKey = last.key;
|
|
57
|
+
} else {
|
|
58
|
+
this.firstKey = key;
|
|
59
|
+
node.prevKey = void 0;
|
|
60
|
+
}
|
|
61
|
+
if (node.type === "item")
|
|
62
|
+
node.index = index++;
|
|
63
|
+
last = node;
|
|
64
|
+
last.nextKey = void 0;
|
|
65
|
+
}
|
|
66
|
+
this.lastKey = last === null || last === void 0 ? void 0 : last.key;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
function $e72dd72e1c76a225$export$2f645645f7bca764(props) {
|
|
70
|
+
let { filter } = props;
|
|
71
|
+
let selectionState = $7af3f5b51489e0b5$export$253fe78d46329472(props);
|
|
72
|
+
let disabledKeys = useMemo(() => props.disabledKeys ? new Set(props.disabledKeys) : /* @__PURE__ */ new Set(), [
|
|
73
|
+
props.disabledKeys
|
|
74
|
+
]);
|
|
75
|
+
let factory = useCallback((nodes) => filter ? new $a02d57049d202695$export$d085fb9e920b5ca7(filter(nodes)) : new $a02d57049d202695$export$d085fb9e920b5ca7(nodes), [
|
|
76
|
+
filter
|
|
77
|
+
]);
|
|
78
|
+
let context = useMemo(() => ({
|
|
79
|
+
suppressTextValueWarning: props.suppressTextValueWarning
|
|
80
|
+
}), [
|
|
81
|
+
props.suppressTextValueWarning
|
|
82
|
+
]);
|
|
83
|
+
let collection = $7613b1592d41b092$export$6cd28814d92fa9c9(props, factory, context);
|
|
84
|
+
let selectionManager = useMemo(() => new $d496c0a20b6e58ec$export$6c8a5aaad13c9852(collection, selectionState), [
|
|
85
|
+
collection,
|
|
86
|
+
selectionState
|
|
87
|
+
]);
|
|
88
|
+
const cachedCollection = useRef(null);
|
|
89
|
+
useEffect(() => {
|
|
90
|
+
if (selectionState.focusedKey != null && !collection.getItem(selectionState.focusedKey)) {
|
|
91
|
+
const startItem = cachedCollection.current.getItem(selectionState.focusedKey);
|
|
92
|
+
const cachedItemNodes = [
|
|
93
|
+
...cachedCollection.current.getKeys()
|
|
94
|
+
].map((key) => {
|
|
95
|
+
const itemNode = cachedCollection.current.getItem(key);
|
|
96
|
+
return itemNode.type === "item" ? itemNode : null;
|
|
97
|
+
}).filter((node) => node !== null);
|
|
98
|
+
const itemNodes = [
|
|
99
|
+
...collection.getKeys()
|
|
100
|
+
].map((key) => {
|
|
101
|
+
const itemNode = collection.getItem(key);
|
|
102
|
+
return itemNode.type === "item" ? itemNode : null;
|
|
103
|
+
}).filter((node) => node !== null);
|
|
104
|
+
const diff = cachedItemNodes.length - itemNodes.length;
|
|
105
|
+
let index = Math.min(diff > 1 ? Math.max(startItem.index - diff + 1, 0) : startItem.index, itemNodes.length - 1);
|
|
106
|
+
let newNode;
|
|
107
|
+
while (index >= 0) {
|
|
108
|
+
if (!selectionManager.isDisabled(itemNodes[index].key)) {
|
|
109
|
+
newNode = itemNodes[index];
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
if (index < itemNodes.length - 1)
|
|
113
|
+
index++;
|
|
114
|
+
else {
|
|
115
|
+
if (index > startItem.index)
|
|
116
|
+
index = startItem.index;
|
|
117
|
+
index--;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
selectionState.setFocusedKey(newNode ? newNode.key : null);
|
|
121
|
+
}
|
|
122
|
+
cachedCollection.current = collection;
|
|
123
|
+
}, [
|
|
124
|
+
collection,
|
|
125
|
+
selectionManager,
|
|
126
|
+
selectionState,
|
|
127
|
+
selectionState.focusedKey
|
|
128
|
+
]);
|
|
129
|
+
return {
|
|
130
|
+
collection,
|
|
131
|
+
disabledKeys,
|
|
132
|
+
selectionManager
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
export {
|
|
136
|
+
$e72dd72e1c76a225$export$2f645645f7bca764 as $
|
|
137
|
+
};
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { $ as $18f2051aff69b9bf$export$43bb16f9c6d9e3f7 } from "./context-jMy6xdVq.js";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
const $5b160d28a433310d$var$localeSymbol = Symbol.for("react-aria.i18n.locale");
|
|
4
|
+
const $5b160d28a433310d$var$stringsSymbol = Symbol.for("react-aria.i18n.strings");
|
|
5
|
+
let $5b160d28a433310d$var$cachedGlobalStrings = void 0;
|
|
6
|
+
class $5b160d28a433310d$export$c17fa47878dc55b6 {
|
|
7
|
+
/** Returns a localized string for the given key and locale. */
|
|
8
|
+
getStringForLocale(key, locale) {
|
|
9
|
+
let strings = this.getStringsForLocale(locale);
|
|
10
|
+
let string = strings[key];
|
|
11
|
+
if (!string)
|
|
12
|
+
throw new Error(`Could not find intl message ${key} in ${locale} locale`);
|
|
13
|
+
return string;
|
|
14
|
+
}
|
|
15
|
+
/** Returns all localized strings for the given locale. */
|
|
16
|
+
getStringsForLocale(locale) {
|
|
17
|
+
let strings = this.strings[locale];
|
|
18
|
+
if (!strings) {
|
|
19
|
+
strings = $5b160d28a433310d$var$getStringsForLocale(locale, this.strings, this.defaultLocale);
|
|
20
|
+
this.strings[locale] = strings;
|
|
21
|
+
}
|
|
22
|
+
return strings;
|
|
23
|
+
}
|
|
24
|
+
static getGlobalDictionaryForPackage(packageName) {
|
|
25
|
+
if (typeof window === "undefined")
|
|
26
|
+
return null;
|
|
27
|
+
let locale = window[$5b160d28a433310d$var$localeSymbol];
|
|
28
|
+
if ($5b160d28a433310d$var$cachedGlobalStrings === void 0) {
|
|
29
|
+
let globalStrings = window[$5b160d28a433310d$var$stringsSymbol];
|
|
30
|
+
if (!globalStrings)
|
|
31
|
+
return null;
|
|
32
|
+
$5b160d28a433310d$var$cachedGlobalStrings = {};
|
|
33
|
+
for (let pkg in globalStrings)
|
|
34
|
+
$5b160d28a433310d$var$cachedGlobalStrings[pkg] = new $5b160d28a433310d$export$c17fa47878dc55b6({
|
|
35
|
+
[locale]: globalStrings[pkg]
|
|
36
|
+
}, locale);
|
|
37
|
+
}
|
|
38
|
+
let dictionary = $5b160d28a433310d$var$cachedGlobalStrings === null || $5b160d28a433310d$var$cachedGlobalStrings === void 0 ? void 0 : $5b160d28a433310d$var$cachedGlobalStrings[packageName];
|
|
39
|
+
if (!dictionary)
|
|
40
|
+
throw new Error(`Strings for package "${packageName}" were not included by LocalizedStringProvider. Please add it to the list passed to createLocalizedStringDictionary.`);
|
|
41
|
+
return dictionary;
|
|
42
|
+
}
|
|
43
|
+
constructor(messages, defaultLocale = "en-US") {
|
|
44
|
+
this.strings = Object.fromEntries(Object.entries(messages).filter(([, v]) => v));
|
|
45
|
+
this.defaultLocale = defaultLocale;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
function $5b160d28a433310d$var$getStringsForLocale(locale, strings, defaultLocale = "en-US") {
|
|
49
|
+
if (strings[locale])
|
|
50
|
+
return strings[locale];
|
|
51
|
+
let language = $5b160d28a433310d$var$getLanguage(locale);
|
|
52
|
+
if (strings[language])
|
|
53
|
+
return strings[language];
|
|
54
|
+
for (let key in strings) {
|
|
55
|
+
if (key.startsWith(language + "-"))
|
|
56
|
+
return strings[key];
|
|
57
|
+
}
|
|
58
|
+
return strings[defaultLocale];
|
|
59
|
+
}
|
|
60
|
+
function $5b160d28a433310d$var$getLanguage(locale) {
|
|
61
|
+
if (Intl.Locale)
|
|
62
|
+
return new Intl.Locale(locale).language;
|
|
63
|
+
return locale.split("-")[0];
|
|
64
|
+
}
|
|
65
|
+
const $6db58dc88e78b024$var$pluralRulesCache = /* @__PURE__ */ new Map();
|
|
66
|
+
const $6db58dc88e78b024$var$numberFormatCache = /* @__PURE__ */ new Map();
|
|
67
|
+
class $6db58dc88e78b024$export$2f817fcdc4b89ae0 {
|
|
68
|
+
/** Formats a localized string for the given key with the provided variables. */
|
|
69
|
+
format(key, variables) {
|
|
70
|
+
let message = this.strings.getStringForLocale(key, this.locale);
|
|
71
|
+
return typeof message === "function" ? message(variables, this) : message;
|
|
72
|
+
}
|
|
73
|
+
plural(count, options, type = "cardinal") {
|
|
74
|
+
let opt = options["=" + count];
|
|
75
|
+
if (opt)
|
|
76
|
+
return typeof opt === "function" ? opt() : opt;
|
|
77
|
+
let key = this.locale + ":" + type;
|
|
78
|
+
let pluralRules = $6db58dc88e78b024$var$pluralRulesCache.get(key);
|
|
79
|
+
if (!pluralRules) {
|
|
80
|
+
pluralRules = new Intl.PluralRules(this.locale, {
|
|
81
|
+
type
|
|
82
|
+
});
|
|
83
|
+
$6db58dc88e78b024$var$pluralRulesCache.set(key, pluralRules);
|
|
84
|
+
}
|
|
85
|
+
let selected = pluralRules.select(count);
|
|
86
|
+
opt = options[selected] || options.other;
|
|
87
|
+
return typeof opt === "function" ? opt() : opt;
|
|
88
|
+
}
|
|
89
|
+
number(value) {
|
|
90
|
+
let numberFormat = $6db58dc88e78b024$var$numberFormatCache.get(this.locale);
|
|
91
|
+
if (!numberFormat) {
|
|
92
|
+
numberFormat = new Intl.NumberFormat(this.locale);
|
|
93
|
+
$6db58dc88e78b024$var$numberFormatCache.set(this.locale, numberFormat);
|
|
94
|
+
}
|
|
95
|
+
return numberFormat.format(value);
|
|
96
|
+
}
|
|
97
|
+
select(options, value) {
|
|
98
|
+
let opt = options[value] || options.other;
|
|
99
|
+
return typeof opt === "function" ? opt() : opt;
|
|
100
|
+
}
|
|
101
|
+
constructor(locale, strings) {
|
|
102
|
+
this.locale = locale;
|
|
103
|
+
this.strings = strings;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
const $fca6afa0e843324b$var$cache = /* @__PURE__ */ new WeakMap();
|
|
107
|
+
function $fca6afa0e843324b$var$getCachedDictionary(strings) {
|
|
108
|
+
let dictionary = $fca6afa0e843324b$var$cache.get(strings);
|
|
109
|
+
if (!dictionary) {
|
|
110
|
+
dictionary = new $5b160d28a433310d$export$c17fa47878dc55b6(strings);
|
|
111
|
+
$fca6afa0e843324b$var$cache.set(strings, dictionary);
|
|
112
|
+
}
|
|
113
|
+
return dictionary;
|
|
114
|
+
}
|
|
115
|
+
function $fca6afa0e843324b$export$87b761675e8eaa10(strings, packageName) {
|
|
116
|
+
return packageName && $5b160d28a433310d$export$c17fa47878dc55b6.getGlobalDictionaryForPackage(packageName) || $fca6afa0e843324b$var$getCachedDictionary(strings);
|
|
117
|
+
}
|
|
118
|
+
function $fca6afa0e843324b$export$f12b703ca79dfbb1(strings, packageName) {
|
|
119
|
+
let { locale } = $18f2051aff69b9bf$export$43bb16f9c6d9e3f7();
|
|
120
|
+
let dictionary = $fca6afa0e843324b$export$87b761675e8eaa10(strings, packageName);
|
|
121
|
+
return useMemo(() => new $6db58dc88e78b024$export$2f817fcdc4b89ae0(locale, dictionary), [
|
|
122
|
+
locale,
|
|
123
|
+
dictionary
|
|
124
|
+
]);
|
|
125
|
+
}
|
|
126
|
+
export {
|
|
127
|
+
$fca6afa0e843324b$export$f12b703ca79dfbb1 as $,
|
|
128
|
+
$5b160d28a433310d$export$c17fa47878dc55b6 as a,
|
|
129
|
+
$6db58dc88e78b024$export$2f817fcdc4b89ae0 as b
|
|
130
|
+
};
|