@ankhorage/zora 25.0.0 → 25.1.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.
Files changed (63) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +2 -2
  3. package/dist/features/explorer/adapters/inbound/Explorer.d.ts.map +1 -1
  4. package/dist/features/explorer/adapters/inbound/Explorer.js +30 -13
  5. package/dist/features/explorer/adapters/inbound/Explorer.js.map +1 -1
  6. package/dist/features/explorer/adapters/inbound/ExplorerKeyboardProxy.d.ts +9 -0
  7. package/dist/features/explorer/adapters/inbound/ExplorerKeyboardProxy.d.ts.map +1 -0
  8. package/dist/features/explorer/adapters/inbound/ExplorerKeyboardProxy.js +5 -0
  9. package/dist/features/explorer/adapters/inbound/ExplorerKeyboardProxy.js.map +1 -0
  10. package/dist/features/explorer/adapters/inbound/ExplorerKeyboardProxy.native.d.ts +9 -0
  11. package/dist/features/explorer/adapters/inbound/ExplorerKeyboardProxy.native.d.ts.map +1 -0
  12. package/dist/features/explorer/adapters/inbound/ExplorerKeyboardProxy.native.js +5 -0
  13. package/dist/features/explorer/adapters/inbound/ExplorerKeyboardProxy.native.js.map +1 -0
  14. package/dist/features/explorer/adapters/inbound/ExplorerKeyboardProxy.web.d.ts +9 -0
  15. package/dist/features/explorer/adapters/inbound/ExplorerKeyboardProxy.web.d.ts.map +1 -0
  16. package/dist/features/explorer/adapters/inbound/ExplorerKeyboardProxy.web.js +10 -0
  17. package/dist/features/explorer/adapters/inbound/ExplorerKeyboardProxy.web.js.map +1 -0
  18. package/dist/features/explorer/adapters/inbound/useExplorerKeyboardFocus.d.ts +14 -0
  19. package/dist/features/explorer/adapters/inbound/useExplorerKeyboardFocus.d.ts.map +1 -0
  20. package/dist/features/explorer/adapters/inbound/useExplorerKeyboardFocus.js +54 -0
  21. package/dist/features/explorer/adapters/inbound/useExplorerKeyboardFocus.js.map +1 -0
  22. package/dist/features/explorer/application/getExplorerNextFocusId.d.ts +6 -0
  23. package/dist/features/explorer/application/getExplorerNextFocusId.d.ts.map +1 -0
  24. package/dist/features/explorer/application/getExplorerNextFocusId.js +53 -0
  25. package/dist/features/explorer/application/getExplorerNextFocusId.js.map +1 -0
  26. package/dist/features/explorer/public.d.ts +1 -0
  27. package/dist/features/explorer/public.d.ts.map +1 -1
  28. package/dist/features/explorer/public.js +1 -0
  29. package/dist/features/explorer/public.js.map +1 -1
  30. package/dist/features/grid-view/adapters/inbound/GridView.d.ts +1 -1
  31. package/dist/features/grid-view/adapters/inbound/GridView.d.ts.map +1 -1
  32. package/dist/features/grid-view/adapters/inbound/GridView.js +36 -4
  33. package/dist/features/grid-view/adapters/inbound/GridView.js.map +1 -1
  34. package/dist/features/grid-view/adapters/inbound/TileGrid.d.ts +1 -1
  35. package/dist/features/grid-view/adapters/inbound/TileGrid.d.ts.map +1 -1
  36. package/dist/features/grid-view/adapters/inbound/TileGrid.js +7 -3
  37. package/dist/features/grid-view/adapters/inbound/TileGrid.js.map +1 -1
  38. package/dist/types/grid-view.d.ts +10 -0
  39. package/dist/types/grid-view.d.ts.map +1 -1
  40. package/dist/types/grid-view.js.map +1 -1
  41. package/package.json +3 -3
  42. package/src/features/explorer/adapters/inbound/Explorer.tsx +79 -43
  43. package/src/features/explorer/adapters/inbound/ExplorerKeyboardProxy.native.tsx +11 -0
  44. package/src/features/explorer/adapters/inbound/ExplorerKeyboardProxy.tsx +11 -0
  45. package/src/features/explorer/adapters/inbound/ExplorerKeyboardProxy.web.tsx +20 -0
  46. package/src/features/explorer/adapters/inbound/useExplorerKeyboardFocus.test.tsx +232 -0
  47. package/src/features/explorer/adapters/inbound/useExplorerKeyboardFocus.ts +77 -0
  48. package/src/features/explorer/application/getExplorerNextFocusId.test.ts +37 -0
  49. package/src/features/explorer/application/getExplorerNextFocusId.ts +61 -0
  50. package/src/features/explorer/public.ts +1 -0
  51. package/src/features/grid-view/adapters/inbound/GridView.tsx +49 -1
  52. package/src/features/grid-view/adapters/inbound/TileGrid.tsx +11 -0
  53. package/src/types/grid-view.ts +10 -0
  54. package/web-dist/chunks/{Accordion-8m8p9wpw.js → Accordion-54k0ncs3.js} +83 -0
  55. package/web-dist/chunks/Accordion-fmn31fgf.js +321 -0
  56. package/web-dist/components/explorer/Explorer.js +2 -2
  57. package/web-dist/components/file-explorer/FileExplorer.js +2 -2
  58. package/web-dist/components/grid-view/GridView.js +1 -1
  59. package/web-dist/components/media-explorer/MediaExplorer.js +2 -2
  60. package/web-dist/components/tile-grid/TileGrid.js +1 -1
  61. package/web-dist/components/uploader/Uploader.js +2 -2
  62. package/web-dist/manifest.json +10 -10
  63. package/web-dist/chunks/Accordion-2gvs3frs.js +0 -197
@@ -0,0 +1,321 @@
1
+ 'use client';
2
+ import {
3
+ TileGrid2
4
+ } from "./Accordion-54k0ncs3.js";
5
+ import {
6
+ withZoraThemeScope
7
+ } from "./Accordion-42jfy1a1.js";
8
+ import {
9
+ Icon2
10
+ } from "./Accordion-bb8y34wh.js";
11
+ import {
12
+ Image2
13
+ } from "./Accordion-mej71qnw.js";
14
+ import {
15
+ Text3
16
+ } from "./Accordion-afmybp67.js";
17
+ import {
18
+ applySelectionIntent
19
+ } from "./Accordion-n4et7etk.js";
20
+ import {
21
+ useZoraTheme2
22
+ } from "./Accordion-srjya6dz.js";
23
+ import {
24
+ require_cjs
25
+ } from "./Accordion-xgpzh4wq.js";
26
+ import {
27
+ __toESM
28
+ } from "./Accordion-nh0cs9hq.js";
29
+
30
+ // src/features/explorer/adapters/inbound/Explorer.tsx
31
+ var import_react_native = __toESM(require_cjs(), 1);
32
+ import React2 from "react";
33
+
34
+ // src/features/explorer/application/resolveExplorerSelection.ts
35
+ function resolveExplorerSelection(orderedIds, currentIds, targetId, anchorId, intent, mode) {
36
+ const targetIndex = orderedIds.indexOf(targetId);
37
+ if (targetIndex < 0)
38
+ return currentIds;
39
+ if (mode === "single" || intent === "replace")
40
+ return applySelectionIntent(currentIds, targetId, "replace");
41
+ if (intent === "toggle") {
42
+ return applySelectionIntent(currentIds, targetId, "toggle");
43
+ }
44
+ const anchorIndex = anchorId === null ? -1 : orderedIds.indexOf(anchorId);
45
+ if (anchorIndex < 0)
46
+ return [targetId];
47
+ const start = Math.min(anchorIndex, targetIndex);
48
+ const end = Math.max(anchorIndex, targetIndex);
49
+ return orderedIds.slice(start, end + 1);
50
+ }
51
+
52
+ // src/features/explorer/adapters/inbound/ExplorerKeyboardProxy.web.tsx
53
+ import { jsx } from "react/jsx-runtime";
54
+ function ExplorerKeyboardProxy({ children, onKeyDown }) {
55
+ return /* @__PURE__ */ jsx("div", {
56
+ onKeyDown: (event) => {
57
+ if (onKeyDown(event.key, event.shiftKey))
58
+ event.preventDefault();
59
+ },
60
+ style: { display: "flex", flex: 1 },
61
+ children
62
+ });
63
+ }
64
+
65
+ // src/features/explorer/adapters/inbound/useExplorerKeyboardFocus.ts
66
+ import React from "react";
67
+
68
+ // src/features/explorer/application/getExplorerNextFocusId.ts
69
+ function getExplorerNextFocusId(ids, currentId, key, columns, disabledIds = new Set) {
70
+ const delta = resolveFocusDelta(key, columns);
71
+ if (delta === null || ids.length === 0)
72
+ return null;
73
+ const firstIndex = ids.findIndex((id) => !disabledIds.has(id));
74
+ if (firstIndex < 0)
75
+ return null;
76
+ const currentIndex = Math.max(firstIndex, ids.indexOf(currentId ?? ""));
77
+ const candidateIndex = delta === Number.NEGATIVE_INFINITY ? 0 : delta === Number.POSITIVE_INFINITY ? ids.length - 1 : Math.max(0, Math.min(ids.length - 1, currentIndex + delta));
78
+ const direction = delta === Number.NEGATIVE_INFINITY ? 1 : delta === Number.POSITIVE_INFINITY ? -1 : Math.sign(delta);
79
+ for (let index = candidateIndex;index >= 0 && index < ids.length; index += direction) {
80
+ const candidate = ids.at(index);
81
+ if (candidate !== undefined && !disabledIds.has(candidate))
82
+ return candidate;
83
+ }
84
+ const current = ids.at(currentIndex);
85
+ return current !== undefined && !disabledIds.has(current) ? current : ids.at(firstIndex) ?? null;
86
+ }
87
+ function resolveFocusDelta(key, columns) {
88
+ const rowSize = Math.max(1, Math.floor(columns));
89
+ switch (key) {
90
+ case "ArrowLeft":
91
+ return -1;
92
+ case "ArrowRight":
93
+ return 1;
94
+ case "ArrowUp":
95
+ return -rowSize;
96
+ case "ArrowDown":
97
+ return rowSize;
98
+ case "Home":
99
+ return Number.NEGATIVE_INFINITY;
100
+ case "End":
101
+ return Number.POSITIVE_INFINITY;
102
+ default:
103
+ return null;
104
+ }
105
+ }
106
+
107
+ // src/features/explorer/adapters/inbound/useExplorerKeyboardFocus.ts
108
+ function useExplorerKeyboardFocus(items, columns, disabled, visibleIds, onNavigate) {
109
+ const [focusedId, setFocusedId] = React.useState(null);
110
+ const focusedRef = React.useRef(null);
111
+ const pendingFocusRef = React.useRef(null);
112
+ const tileRefs = React.useRef(new Map);
113
+ const ids = React.useMemo(() => items.map(({ id }) => id), [items]);
114
+ const idSet = React.useMemo(() => new Set(ids), [ids]);
115
+ const disabledIds = React.useMemo(() => new Set(items.filter((item) => item.disabled).map(({ id }) => id)), [items]);
116
+ const visibleEligibleIds = visibleIds.filter((id) => idSet.has(id) && !disabledIds.has(id));
117
+ const tabStopId = focusedId !== null && visibleEligibleIds.includes(focusedId) ? focusedId : visibleEligibleIds[0] ?? ids.find((id) => !disabledIds.has(id));
118
+ const onFocus = React.useCallback((id) => {
119
+ pendingFocusRef.current = null;
120
+ focusedRef.current = id;
121
+ setFocusedId(id);
122
+ }, []);
123
+ const registerTile = React.useCallback((id, node) => {
124
+ if (node === null) {
125
+ tileRefs.current.delete(id);
126
+ return;
127
+ }
128
+ tileRefs.current.set(id, node);
129
+ if (pendingFocusRef.current === id) {
130
+ pendingFocusRef.current = null;
131
+ node.focus();
132
+ }
133
+ }, []);
134
+ const onKeyDown = React.useCallback((id, key, shiftKey) => {
135
+ if (disabled)
136
+ return false;
137
+ if (!["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown", "Home", "End"].includes(key))
138
+ return false;
139
+ const originId = focusedRef.current ?? id;
140
+ const nextId = getExplorerNextFocusId(ids, originId, key, columns, disabledIds);
141
+ if (nextId === null || nextId === originId)
142
+ return true;
143
+ focusedRef.current = nextId;
144
+ pendingFocusRef.current = nextId;
145
+ setFocusedId(nextId);
146
+ onNavigate(nextId, originId, shiftKey);
147
+ const mounted = tileRefs.current.get(nextId);
148
+ if (mounted) {
149
+ pendingFocusRef.current = null;
150
+ mounted.focus();
151
+ }
152
+ return true;
153
+ }, [columns, disabled, disabledIds, ids, onNavigate]);
154
+ return { focusedId, tabStopId, onFocus, onKeyDown, registerTile };
155
+ }
156
+
157
+ // src/features/explorer/adapters/inbound/Explorer.tsx
158
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
159
+ var Explorer2 = withZoraThemeScope(ExplorerInner);
160
+ function ExplorerInner({
161
+ items,
162
+ selectedIds,
163
+ defaultSelectedIds = [],
164
+ selectionMode = "single",
165
+ onSelectionChange,
166
+ onActivate,
167
+ width,
168
+ height,
169
+ tileSize = 120,
170
+ zoom = 1,
171
+ loading = false,
172
+ errorText,
173
+ emptyText = "No items",
174
+ disabled = false,
175
+ readOnly = false,
176
+ interactionPolicy,
177
+ testID
178
+ }) {
179
+ const { theme } = useZoraTheme2();
180
+ const [internalSelectedIds, setInternalSelectedIds] = React2.useState(defaultSelectedIds);
181
+ const anchorId = React2.useRef(null);
182
+ const [columns, setColumns] = React2.useState(1);
183
+ const [visibleIds, setVisibleIds] = React2.useState([]);
184
+ const effectiveSelectedIds = selectedIds ?? internalSelectedIds;
185
+ const itemLookup = React2.useMemo(() => new Map(items.map((item) => [item.id, item])), [items]);
186
+ const ids = React2.useMemo(() => items.filter((item) => !item.disabled).map((item) => item.id), [items]);
187
+ const selected = new Set(effectiveSelectedIds);
188
+ const passive = interactionPolicy === "passive" || disabled || readOnly;
189
+ const select = (item, intent) => {
190
+ if (passive || item.disabled)
191
+ return;
192
+ const next = resolveExplorerSelection(ids, effectiveSelectedIds, item.id, anchorId.current, intent, selectionMode);
193
+ if (intent !== "range")
194
+ anchorId.current = item.id;
195
+ if (selectedIds === undefined)
196
+ setInternalSelectedIds(next);
197
+ onSelectionChange?.({ selectedIds: next });
198
+ };
199
+ const keyboard = useExplorerKeyboardFocus(items, columns, passive, visibleIds, (targetId, originId, shiftKey) => {
200
+ if (!shiftKey)
201
+ return;
202
+ anchorId.current ??= originId;
203
+ const nextItem = itemLookup.get(targetId);
204
+ if (nextItem)
205
+ select(nextItem, "range");
206
+ });
207
+ const renderTile = (tile) => {
208
+ const item = itemLookup.get(tile.id);
209
+ if (!item)
210
+ return null;
211
+ const isSelected = selected.has(item.id);
212
+ const canInteract = !passive && !item.disabled;
213
+ return /* @__PURE__ */ jsx2(ExplorerKeyboardProxy, {
214
+ onKeyDown: (key, shiftKey) => keyboard.onKeyDown(item.id, key, shiftKey),
215
+ children: /* @__PURE__ */ jsxs(import_react_native.Pressable, {
216
+ accessibilityLabel: item.name,
217
+ accessibilityRole: "button",
218
+ accessibilityState: { selected: isSelected, disabled: !canInteract },
219
+ disabled: !canInteract,
220
+ focusable: canInteract && (import_react_native.Platform.OS !== "web" || item.id === keyboard.tabStopId),
221
+ onFocus: () => keyboard.onFocus(item.id),
222
+ onLongPress: () => select(item, "toggle"),
223
+ onPress: (event) => {
224
+ const intent = resolveExplorerPressIntent(event.nativeEvent);
225
+ select(item, intent);
226
+ if (selectionMode === "single" && intent === "replace") {
227
+ onActivate?.({ id: item.id });
228
+ }
229
+ },
230
+ style: {
231
+ flex: 1,
232
+ overflow: "hidden",
233
+ borderRadius: 8,
234
+ borderWidth: isSelected ? 2 : 1,
235
+ borderColor: isSelected ? theme.colors.primary : theme.semantics.neutral.divider,
236
+ backgroundColor: theme.semantics.neutral.surface,
237
+ padding: 8,
238
+ gap: 4
239
+ },
240
+ ref: (node) => keyboard.registerTile(item.id, node),
241
+ testID: `explorer-item-${item.id}`,
242
+ children: [
243
+ /* @__PURE__ */ jsx2(import_react_native.View, {
244
+ style: { flex: 1, alignItems: "center", justifyContent: "center" },
245
+ children: item.thumbnailUri ? /* @__PURE__ */ jsx2(Image2, {
246
+ accessibilityLabel: item.name,
247
+ aspectRatio: 1,
248
+ source: item.thumbnailUri,
249
+ width: "100%"
250
+ }) : /* @__PURE__ */ jsx2(Icon2, {
251
+ name: item.kind === "folder" ? "folder-outline" : "document-outline",
252
+ size: 32
253
+ })
254
+ }),
255
+ /* @__PURE__ */ jsx2(Text3, {
256
+ numberOfLines: 1,
257
+ variant: "caption",
258
+ children: item.name
259
+ })
260
+ ]
261
+ })
262
+ });
263
+ };
264
+ if (errorText)
265
+ return /* @__PURE__ */ jsx2(Text3, {
266
+ testID,
267
+ children: errorText
268
+ });
269
+ if (loading)
270
+ return /* @__PURE__ */ jsx2(Text3, {
271
+ testID,
272
+ children: "Loading…"
273
+ });
274
+ if (items.length === 0)
275
+ return /* @__PURE__ */ jsx2(Text3, {
276
+ testID,
277
+ children: emptyText
278
+ });
279
+ return /* @__PURE__ */ jsx2(TileGrid2, {
280
+ focusedItemId: keyboard.focusedId ?? undefined,
281
+ height,
282
+ interactionPolicy,
283
+ onColumnsChange: setColumns,
284
+ onVisibleItemIdsChange: setVisibleIds,
285
+ items,
286
+ renderItem: renderTile,
287
+ testID,
288
+ tileSize,
289
+ width,
290
+ zoom
291
+ });
292
+ }
293
+ function resolveExplorerPressIntent(event) {
294
+ if (typeof event !== "object" || event === null)
295
+ return "replace";
296
+ if ("shiftKey" in event && event.shiftKey === true)
297
+ return "range";
298
+ if ("ctrlKey" in event && event.ctrlKey === true)
299
+ return "toggle";
300
+ if ("metaKey" in event && event.metaKey === true)
301
+ return "toggle";
302
+ return "replace";
303
+ }
304
+
305
+ // src/features/explorer/adapters/inbound/FileExplorer.tsx
306
+ import { jsx as jsx3 } from "react/jsx-runtime";
307
+ function FileExplorer2(props) {
308
+ return /* @__PURE__ */ jsx3(Explorer2, {
309
+ ...props
310
+ });
311
+ }
312
+
313
+ // src/features/explorer/adapters/inbound/MediaExplorer.tsx
314
+ import { jsx as jsx4 } from "react/jsx-runtime";
315
+ function MediaExplorer2(props) {
316
+ return /* @__PURE__ */ jsx4(Explorer2, {
317
+ ...props,
318
+ items: props.items.filter((item) => item.kind === "image" || item.kind === "video" || item.kind === "audio")
319
+ });
320
+ }
321
+ export { Explorer2, FileExplorer2, MediaExplorer2 };
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import"../../chunks/Accordion-8m8p9wpw.js";
2
+ import"../../chunks/Accordion-54k0ncs3.js";
3
3
  import"../../chunks/Accordion-bfzeab9x.js";
4
4
  import"../../chunks/Accordion-6wrr910w.js";
5
5
  import"../../chunks/Accordion-8f0nekwe.js";
@@ -14,7 +14,7 @@ import {
14
14
  Explorer2,
15
15
  FileExplorer2,
16
16
  MediaExplorer2
17
- } from "../../chunks/Accordion-2gvs3frs.js";
17
+ } from "../../chunks/Accordion-fmn31fgf.js";
18
18
  import"../../chunks/Accordion-bff0p3x4.js";
19
19
  import"../../chunks/Accordion-srjya6dz.js";
20
20
  import"../../chunks/Accordion-184r2r82.js";
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import"../../chunks/Accordion-8m8p9wpw.js";
2
+ import"../../chunks/Accordion-54k0ncs3.js";
3
3
  import"../../chunks/Accordion-bfzeab9x.js";
4
4
  import"../../chunks/Accordion-6wrr910w.js";
5
5
  import"../../chunks/Accordion-8f0nekwe.js";
@@ -14,7 +14,7 @@ import {
14
14
  Explorer2,
15
15
  FileExplorer2,
16
16
  MediaExplorer2
17
- } from "../../chunks/Accordion-2gvs3frs.js";
17
+ } from "../../chunks/Accordion-fmn31fgf.js";
18
18
  import"../../chunks/Accordion-bff0p3x4.js";
19
19
  import"../../chunks/Accordion-srjya6dz.js";
20
20
  import"../../chunks/Accordion-184r2r82.js";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  GridView2,
4
4
  TileGrid2
5
- } from "../../chunks/Accordion-8m8p9wpw.js";
5
+ } from "../../chunks/Accordion-54k0ncs3.js";
6
6
  import"../../chunks/Accordion-xgpzh4wq.js";
7
7
  export {
8
8
  GridView2 as GridView,
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import"../../chunks/Accordion-8m8p9wpw.js";
2
+ import"../../chunks/Accordion-54k0ncs3.js";
3
3
  import"../../chunks/Accordion-bfzeab9x.js";
4
4
  import"../../chunks/Accordion-6wrr910w.js";
5
5
  import"../../chunks/Accordion-8f0nekwe.js";
@@ -14,7 +14,7 @@ import {
14
14
  Explorer2,
15
15
  FileExplorer2,
16
16
  MediaExplorer2
17
- } from "../../chunks/Accordion-2gvs3frs.js";
17
+ } from "../../chunks/Accordion-fmn31fgf.js";
18
18
  import"../../chunks/Accordion-bff0p3x4.js";
19
19
  import"../../chunks/Accordion-srjya6dz.js";
20
20
  import"../../chunks/Accordion-184r2r82.js";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  GridView2,
4
4
  TileGrid2
5
- } from "../../chunks/Accordion-8m8p9wpw.js";
5
+ } from "../../chunks/Accordion-54k0ncs3.js";
6
6
  import"../../chunks/Accordion-xgpzh4wq.js";
7
7
  export {
8
8
  GridView2 as GridView,
@@ -25,7 +25,7 @@ import {
25
25
  import {
26
26
  Text3
27
27
  } from "../../chunks/Accordion-afmybp67.js";
28
- import"../../chunks/Accordion-8m8p9wpw.js";
28
+ import"../../chunks/Accordion-54k0ncs3.js";
29
29
  import {
30
30
  Icon2
31
31
  } from "../../chunks/Accordion-bb8y34wh.js";
@@ -34,7 +34,7 @@ import {
34
34
  } from "../../chunks/Accordion-mej71qnw.js";
35
35
  import {
36
36
  Explorer2
37
- } from "../../chunks/Accordion-2gvs3frs.js";
37
+ } from "../../chunks/Accordion-fmn31fgf.js";
38
38
  import"../../chunks/Accordion-ndf3jqhb.js";
39
39
  import"../../chunks/Accordion-45nc4bte.js";
40
40
  import {
@@ -1224,18 +1224,18 @@
1224
1224
  "components/explorer/index.d.ts",
1225
1225
  "chunks/Accordion-09qs8gt1.js",
1226
1226
  "chunks/Accordion-184r2r82.js",
1227
- "chunks/Accordion-2gvs3frs.js",
1228
1227
  "chunks/Accordion-42jfy1a1.js",
1228
+ "chunks/Accordion-54k0ncs3.js",
1229
1229
  "chunks/Accordion-59pa0677.js",
1230
1230
  "chunks/Accordion-6a2hscrx.js",
1231
1231
  "chunks/Accordion-6wrr910w.js",
1232
1232
  "chunks/Accordion-8f0nekwe.js",
1233
- "chunks/Accordion-8m8p9wpw.js",
1234
1233
  "chunks/Accordion-afmybp67.js",
1235
1234
  "chunks/Accordion-bb8y34wh.js",
1236
1235
  "chunks/Accordion-bff0p3x4.js",
1237
1236
  "chunks/Accordion-bfzeab9x.js",
1238
1237
  "chunks/Accordion-f0jsd9f9.js",
1238
+ "chunks/Accordion-fmn31fgf.js",
1239
1239
  "chunks/Accordion-fre84yaq.js",
1240
1240
  "chunks/Accordion-mej71qnw.js",
1241
1241
  "chunks/Accordion-n4et7etk.js",
@@ -1289,18 +1289,18 @@
1289
1289
  "components/file-explorer/index.d.ts",
1290
1290
  "chunks/Accordion-09qs8gt1.js",
1291
1291
  "chunks/Accordion-184r2r82.js",
1292
- "chunks/Accordion-2gvs3frs.js",
1293
1292
  "chunks/Accordion-42jfy1a1.js",
1293
+ "chunks/Accordion-54k0ncs3.js",
1294
1294
  "chunks/Accordion-59pa0677.js",
1295
1295
  "chunks/Accordion-6a2hscrx.js",
1296
1296
  "chunks/Accordion-6wrr910w.js",
1297
1297
  "chunks/Accordion-8f0nekwe.js",
1298
- "chunks/Accordion-8m8p9wpw.js",
1299
1298
  "chunks/Accordion-afmybp67.js",
1300
1299
  "chunks/Accordion-bb8y34wh.js",
1301
1300
  "chunks/Accordion-bff0p3x4.js",
1302
1301
  "chunks/Accordion-bfzeab9x.js",
1303
1302
  "chunks/Accordion-f0jsd9f9.js",
1303
+ "chunks/Accordion-fmn31fgf.js",
1304
1304
  "chunks/Accordion-fre84yaq.js",
1305
1305
  "chunks/Accordion-mej71qnw.js",
1306
1306
  "chunks/Accordion-n4et7etk.js",
@@ -1730,7 +1730,7 @@
1730
1730
  "components/grid-view/GridView.d.ts",
1731
1731
  "components/grid-view/index.js",
1732
1732
  "components/grid-view/index.d.ts",
1733
- "chunks/Accordion-8m8p9wpw.js",
1733
+ "chunks/Accordion-54k0ncs3.js",
1734
1734
  "chunks/Accordion-nh0cs9hq.js",
1735
1735
  "chunks/Accordion-xgpzh4wq.js"
1736
1736
  ],
@@ -2056,18 +2056,18 @@
2056
2056
  "components/media-explorer/index.d.ts",
2057
2057
  "chunks/Accordion-09qs8gt1.js",
2058
2058
  "chunks/Accordion-184r2r82.js",
2059
- "chunks/Accordion-2gvs3frs.js",
2060
2059
  "chunks/Accordion-42jfy1a1.js",
2060
+ "chunks/Accordion-54k0ncs3.js",
2061
2061
  "chunks/Accordion-59pa0677.js",
2062
2062
  "chunks/Accordion-6a2hscrx.js",
2063
2063
  "chunks/Accordion-6wrr910w.js",
2064
2064
  "chunks/Accordion-8f0nekwe.js",
2065
- "chunks/Accordion-8m8p9wpw.js",
2066
2065
  "chunks/Accordion-afmybp67.js",
2067
2066
  "chunks/Accordion-bb8y34wh.js",
2068
2067
  "chunks/Accordion-bff0p3x4.js",
2069
2068
  "chunks/Accordion-bfzeab9x.js",
2070
2069
  "chunks/Accordion-f0jsd9f9.js",
2070
+ "chunks/Accordion-fmn31fgf.js",
2071
2071
  "chunks/Accordion-fre84yaq.js",
2072
2072
  "chunks/Accordion-mej71qnw.js",
2073
2073
  "chunks/Accordion-n4et7etk.js",
@@ -3603,7 +3603,7 @@
3603
3603
  "components/tile-grid/TileGrid.d.ts",
3604
3604
  "components/tile-grid/index.js",
3605
3605
  "components/tile-grid/index.d.ts",
3606
- "chunks/Accordion-8m8p9wpw.js",
3606
+ "chunks/Accordion-54k0ncs3.js",
3607
3607
  "chunks/Accordion-nh0cs9hq.js",
3608
3608
  "chunks/Accordion-xgpzh4wq.js"
3609
3609
  ],
@@ -3849,17 +3849,16 @@
3849
3849
  "chunks/Accordion-09qs8gt1.js",
3850
3850
  "chunks/Accordion-0gfsj9qh.js",
3851
3851
  "chunks/Accordion-184r2r82.js",
3852
- "chunks/Accordion-2gvs3frs.js",
3853
3852
  "chunks/Accordion-2nesr9cv.js",
3854
3853
  "chunks/Accordion-42jfy1a1.js",
3855
3854
  "chunks/Accordion-45nc4bte.js",
3855
+ "chunks/Accordion-54k0ncs3.js",
3856
3856
  "chunks/Accordion-59pa0677.js",
3857
3857
  "chunks/Accordion-61e19g3e.js",
3858
3858
  "chunks/Accordion-6a2hscrx.js",
3859
3859
  "chunks/Accordion-6wrr910w.js",
3860
3860
  "chunks/Accordion-6zb9d92y.js",
3861
3861
  "chunks/Accordion-8f0nekwe.js",
3862
- "chunks/Accordion-8m8p9wpw.js",
3863
3862
  "chunks/Accordion-afmybp67.js",
3864
3863
  "chunks/Accordion-bb8y34wh.js",
3865
3864
  "chunks/Accordion-be2yhfqz.js",
@@ -3868,6 +3867,7 @@
3868
3867
  "chunks/Accordion-eqvdv7tt.js",
3869
3868
  "chunks/Accordion-f0jsd9f9.js",
3870
3869
  "chunks/Accordion-fkc50r9z.js",
3870
+ "chunks/Accordion-fmn31fgf.js",
3871
3871
  "chunks/Accordion-fre84yaq.js",
3872
3872
  "chunks/Accordion-mej71qnw.js",
3873
3873
  "chunks/Accordion-mh67wb34.js",