@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.
Files changed (112) hide show
  1. package/README.md +27 -0
  2. package/dist/Checkbox-BLcVbhiO.js +178 -0
  3. package/dist/ColorSwatch-Cmlex_kT.js +66 -0
  4. package/dist/FieldError-wtMA4667.js +42 -0
  5. package/dist/FocusScope-1u9yyfIN.js +725 -0
  6. package/dist/Form-Cq3fu75_.js +5 -0
  7. package/dist/GridList-BZPXp3_O.js +1256 -0
  8. package/dist/Group-DyqpTRPe.js +49 -0
  9. package/dist/Input-jsbb4ugq.js +130 -0
  10. package/dist/Label-BPzS-sR7.js +17 -0
  11. package/dist/ListBox-w9gDaJkV.js +4423 -0
  12. package/dist/LiveAnnouncer-IsokfWQ5.js +73 -0
  13. package/dist/NumberFormatter-LzoKy975.js +160 -0
  14. package/dist/RSPContexts-CrNYmadY.js +14 -0
  15. package/dist/Select-49a62830.esm-C-RFtLiD.js +2541 -0
  16. package/dist/SelectionManager-mefd0ThJ.js +2155 -0
  17. package/dist/Separator-DHn0CwdK.js +325 -0
  18. package/dist/Slider-Pyh2V4bY.js +885 -0
  19. package/dist/Text-BM136LvS.js +17 -0
  20. package/dist/VisuallyHidden-BYRI1Lfo.js +51 -0
  21. package/dist/_commonjsHelpers-CUmg6egw.js +6 -0
  22. package/dist/ariaHideOutside-ByKBPHmX.js +113 -0
  23. package/dist/assets/style.css +1 -0
  24. package/dist/button-BkkdyHfJ.js +307 -0
  25. package/dist/components/animated-visibility/animated-visibility.js +7165 -0
  26. package/dist/components/base-control/base-control.js +97 -0
  27. package/dist/components/breakpoint-preview/breakpoint-preview.js +218 -0
  28. package/dist/components/button/button.js +10 -0
  29. package/dist/components/checkbox/checkbox.js +119 -0
  30. package/dist/components/color-pickers/color-picker.js +242 -0
  31. package/dist/components/color-pickers/color-swatch.js +62 -0
  32. package/dist/components/color-pickers/gradient-editor.js +516 -0
  33. package/dist/components/color-pickers/solid-color-picker.js +1633 -0
  34. package/dist/components/component-toggle/component-toggle.js +71 -0
  35. package/dist/components/container-panel/container-panel.js +39 -0
  36. package/dist/components/expandable/expandable.js +144 -0
  37. package/dist/components/input-field/input-field.js +224 -0
  38. package/dist/components/link-input/link-input.js +937 -0
  39. package/dist/components/list-box/list-box.js +152 -0
  40. package/dist/components/matrix-align/matrix-align.js +185 -0
  41. package/dist/components/menu/menu.js +1608 -0
  42. package/dist/components/notice/notice.js +119 -0
  43. package/dist/components/number-picker/number-picker.js +277 -0
  44. package/dist/components/popover/popover.js +9 -0
  45. package/dist/components/radio/radio.js +552 -0
  46. package/dist/components/repeater/repeater-item.js +127 -0
  47. package/dist/components/repeater/repeater.js +248 -0
  48. package/dist/components/responsive/responsive-legacy.js +326 -0
  49. package/dist/components/responsive/responsive.js +499 -0
  50. package/dist/components/responsive-preview/responsive-preview.js +119 -0
  51. package/dist/components/rich-label/rich-label.js +56 -0
  52. package/dist/components/select/async-multi-select.js +144 -0
  53. package/dist/components/select/async-single-select.js +126 -0
  54. package/dist/components/select/custom-select-default-components.js +38 -0
  55. package/dist/components/select/multi-select-components.js +8 -0
  56. package/dist/components/select/multi-select.js +134 -0
  57. package/dist/components/select/react-select-component-wrappers.js +90 -0
  58. package/dist/components/select/shared.js +45 -0
  59. package/dist/components/select/single-select.js +116 -0
  60. package/dist/components/select/styles.js +55 -0
  61. package/dist/components/slider/column-config-slider.js +225 -0
  62. package/dist/components/slider/slider.js +362 -0
  63. package/dist/components/slider/utils.js +45 -0
  64. package/dist/components/spacer/spacer.js +93 -0
  65. package/dist/components/tabs/tabs.js +626 -0
  66. package/dist/components/toggle/switch.js +140 -0
  67. package/dist/components/toggle/toggle.js +58 -0
  68. package/dist/components/toggle-button/toggle-button.js +206 -0
  69. package/dist/components/tooltip/tooltip.js +10 -0
  70. package/dist/context-jMy6xdVq.js +98 -0
  71. package/dist/default-i18n-BhE-OUmt.js +873 -0
  72. package/dist/filterDOMProps-DG2RfOUr.js +30 -0
  73. package/dist/focusSafely-C3K8zAKj.js +743 -0
  74. package/dist/hooks/use-cell-edit-mode.js +35 -0
  75. package/dist/icons/block-icon.js +42 -0
  76. package/dist/icons/generic-color-swatch.js +21 -0
  77. package/dist/icons/icons.js +3636 -0
  78. package/dist/index-Bfb9bWcb.js +28844 -0
  79. package/dist/index-a301f526.esm-Bioi4cGX.js +3576 -0
  80. package/dist/index.js +109 -0
  81. package/dist/intlStrings-CUhoK9EN.js +2484 -0
  82. package/dist/isScrollable-PcyglExV.js +10 -0
  83. package/dist/modifiers.esm-BuJQPI1X.js +31 -0
  84. package/dist/multi-select-components-CjVpCNko.js +3677 -0
  85. package/dist/number-rWqELA8W.js +39 -0
  86. package/dist/popover-Dx3vKXUX.js +1061 -0
  87. package/dist/react-select-async.esm-TFb_ZX6C.js +111 -0
  88. package/dist/react-select.esm-BjRWqf0E.js +15 -0
  89. package/dist/style.js +1 -0
  90. package/dist/textSelection-BosCCRVE.js +89 -0
  91. package/dist/tooltip-CkCndvTI.js +1094 -0
  92. package/dist/useButton-CuG5UzUw.js +74 -0
  93. package/dist/useEvent-DHv-yhOH.js +24 -0
  94. package/dist/useFocusRing-Cc-4eouh.js +41 -0
  95. package/dist/useFocusable-5q1Gek1J.js +81 -0
  96. package/dist/useFormReset-Buc9YJcv.js +23 -0
  97. package/dist/useFormValidationState-BAPPNXic.js +238 -0
  98. package/dist/useHasTabbableChild-D3uUNhJ0.js +37 -0
  99. package/dist/useLabel-CGlkoFG0.js +28 -0
  100. package/dist/useLabels-Dg62M_3P.js +25 -0
  101. package/dist/useListData-BelKu4kx.js +211 -0
  102. package/dist/useListState-Domq0blV.js +137 -0
  103. package/dist/useLocalizedStringFormatter-Prmz0h0A.js +130 -0
  104. package/dist/useNumberFieldState-BLU3uhSR.js +1253 -0
  105. package/dist/useNumberFormatter-BLc2xjZn.js +13 -0
  106. package/dist/usePress-BQgVor4T.js +698 -0
  107. package/dist/useToggle-C9ETOBaZ.js +58 -0
  108. package/dist/useToggleState-DJ_z5E2S.js +21 -0
  109. package/dist/utilities/classnames.js +16 -0
  110. package/dist/utilities/text-helpers.js +79 -0
  111. package/dist/utils-BsiH7-5Y.js +488 -0
  112. 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
+ };