alinea 2.0.0-preview.2 → 2.0.0-preview.4

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 (178) hide show
  1. package/dist/.init/content/pages/welcome.json +1 -1
  2. package/dist/LICENSES.md +157 -103
  3. package/dist/adapter/next/DevRemote.js +10 -2
  4. package/dist/adapter/next/previews.js +4 -1
  5. package/dist/adapter/next/previews.spec.d.ts +1 -0
  6. package/dist/backend/Handler.js +14 -7
  7. package/dist/backend/api/BasicAuth.d.ts +1 -1
  8. package/dist/backend/api/BasicAuth.js +14 -14
  9. package/dist/backend/api/OAuth2.d.ts +3 -3
  10. package/dist/backend/api/OAuth2.js +7 -4
  11. package/dist/bundled.d.ts +159 -42
  12. package/dist/chunks/{chunk-Y7XOMJOC.js → chunk-CFNRVI3Y.js} +220 -247
  13. package/dist/chunks/chunk-D6UJHBJJ.js +183 -0
  14. package/dist/chunks/chunk-TIJTT5ZI.js +228 -0
  15. package/dist/chunks/{chunk-UVOEM4AH.js → chunk-XMOVGDFI.js} +1 -1
  16. package/dist/cli/Serve.js +1 -1
  17. package/dist/cli/bin.js +1 -1
  18. package/dist/cli/serve/LocalAuth.js +1 -1
  19. package/dist/cloud/AuthResult.d.ts +2 -0
  20. package/dist/cloud/CloudHandshake.d.ts +7 -0
  21. package/dist/cloud/CloudHandshake.js +64 -0
  22. package/dist/cloud/CloudRemote.d.ts +4 -1
  23. package/dist/cloud/CloudRemote.js +21 -3
  24. package/dist/components/Breadcrumbs.js +2 -2
  25. package/dist/components/Calendar.js +6 -6
  26. package/dist/components/Checkbox.js +3 -3
  27. package/dist/components/ComboBox.js +11 -11
  28. package/dist/components/DateField.js +3 -3
  29. package/dist/components/DatePicker.js +4 -4
  30. package/dist/components/DateRangePicker.js +6 -6
  31. package/dist/components/Disclosure.js +8 -8
  32. package/dist/components/Label.js +5 -5
  33. package/dist/components/List.js +34 -34
  34. package/dist/components/Menu.js +4 -4
  35. package/dist/components/Modal.js +3 -3
  36. package/dist/components/MultipleSelect.js +25 -25
  37. package/dist/components/NumberField.js +6 -6
  38. package/dist/components/ProgressCircle.js +2 -2
  39. package/dist/components/RadioGroup.js +2 -2
  40. package/dist/components/SearchField.js +3 -3
  41. package/dist/components/Select.js +7 -7
  42. package/dist/components/Surface.js +2 -2
  43. package/dist/components/Table.js +7 -7
  44. package/dist/components/Tabs.js +4 -4
  45. package/dist/components/TagGroup.js +2 -2
  46. package/dist/components/TextField.js +6 -6
  47. package/dist/components/TimeField.js +2 -2
  48. package/dist/components/Toggle.d.ts +1 -1
  49. package/dist/components/Toggle.js +2 -2
  50. package/dist/components/Toolbar.js +2 -2
  51. package/dist/components/Tooltip.js +3 -3
  52. package/dist/components/Tree.d.ts +4 -2
  53. package/dist/components/Tree.js +18 -4
  54. package/dist/core/Connection.d.ts +7 -4
  55. package/dist/core/Entry.d.ts +6 -0
  56. package/dist/core/Entry.js +10 -0
  57. package/dist/core/Graph.d.ts +1 -1
  58. package/dist/core/Id.d.ts +1 -0
  59. package/dist/core/Id.js +8 -0
  60. package/dist/core/Infer.d.ts +8 -1
  61. package/dist/core/db/EntryAliases.js +1 -4
  62. package/dist/core/db/EntryResolver.js +6 -6
  63. package/dist/core/db/EntryTransaction.js +1 -0
  64. package/dist/core/db/Operation.d.ts +2 -2
  65. package/dist/core/db/Operation.js +15 -4
  66. package/dist/dashboard/App.js +37 -17
  67. package/dist/dashboard/StoryProvider.js +2 -2
  68. package/dist/dashboard/app/AccessDenied.d.ts +16 -1
  69. package/dist/dashboard/app/AccessDenied.js +21 -12
  70. package/dist/dashboard/app/ActivityStatus.js +19 -19
  71. package/dist/dashboard/app/AppearanceToggle.d.ts +1 -0
  72. package/dist/dashboard/app/AppearanceToggle.js +43 -0
  73. package/dist/dashboard/app/AuthView.d.ts +1 -1
  74. package/dist/dashboard/app/AuthView.js +16 -18
  75. package/dist/dashboard/app/Badge.js +2 -2
  76. package/dist/dashboard/app/CompactField.js +17 -17
  77. package/dist/dashboard/app/DashboardErrorBoundary.js +22 -10
  78. package/dist/dashboard/app/DashboardLayout.js +15 -8
  79. package/dist/dashboard/app/DashboardMeta.d.ts +2 -1
  80. package/dist/dashboard/app/DashboardMeta.js +20 -5
  81. package/dist/dashboard/app/EntryFields.js +6 -6
  82. package/dist/dashboard/app/EntryHeader.js +25 -25
  83. package/dist/dashboard/app/EntryReferences.js +16 -16
  84. package/dist/dashboard/app/EntrySidebar.js +26 -26
  85. package/dist/dashboard/app/EntrySidebarPreview.js +61 -34
  86. package/dist/dashboard/app/EntrySidebarPreview.story.d.ts +6 -1
  87. package/dist/dashboard/app/EntryTranslationBanner.js +8 -8
  88. package/dist/dashboard/app/Explorer.d.ts +2 -1
  89. package/dist/dashboard/app/Explorer.js +79 -67
  90. package/dist/dashboard/app/ExplorerCards.js +62 -66
  91. package/dist/dashboard/app/ExplorerFileCard.js +20 -20
  92. package/dist/dashboard/app/ExplorerList.js +22 -22
  93. package/dist/dashboard/app/ExplorerModal.js +3 -3
  94. package/dist/dashboard/app/ExplorerPickerContent.js +2 -2
  95. package/dist/dashboard/app/ExplorerTable.js +68 -68
  96. package/dist/dashboard/app/ImagePicker.js +7 -7
  97. package/dist/dashboard/app/LinkPicker.js +44 -24
  98. package/dist/dashboard/app/LocaleMenu.js +5 -7
  99. package/dist/dashboard/app/SidebarLayout.js +7 -7
  100. package/dist/dashboard/app/SidebarTree.js +66 -74
  101. package/dist/dashboard/app/WorkspaceMenu.d.ts +10 -3
  102. package/dist/dashboard/app/WorkspaceMenu.js +85 -64
  103. package/dist/dashboard/app/WorkspaceMenu.stories.d.ts +2 -0
  104. package/dist/dashboard/app/WorkspaceRoots.d.ts +3 -1
  105. package/dist/dashboard/app/WorkspaceRoots.js +82 -107
  106. package/dist/dashboard/app/editor/FileEditor.js +31 -31
  107. package/dist/dashboard/app/editor/FilePreview.js +4 -4
  108. package/dist/dashboard/app/editor/MediaAltField.view.js +4 -4
  109. package/dist/dashboard/app/modals/CreateEntry.js +14 -14
  110. package/dist/dashboard/app/pages/EntryPage.js +28 -30
  111. package/dist/dashboard/app/pages/RootPage.js +4 -4
  112. package/dist/dashboard/app/pages/SplashPage.d.ts +3 -0
  113. package/dist/dashboard/app/pages/SplashPage.js +414 -0
  114. package/dist/dashboard/app/pages/UsersPage.js +35 -35
  115. package/dist/dashboard/app/ui/DashboardModal.js +19 -19
  116. package/dist/dashboard/app/ui/Rail.js +3 -3
  117. package/dist/dashboard/atoms/ReactiveNode.js +1 -1
  118. package/dist/dashboard/atoms/activity.js +2 -3
  119. package/dist/dashboard/atoms/auth.d.ts +2 -0
  120. package/dist/dashboard/atoms/auth.js +6 -2
  121. package/dist/dashboard/atoms/config.js +1 -1
  122. package/dist/dashboard/atoms/core.js +2 -2
  123. package/dist/dashboard/atoms/create.js +1 -1
  124. package/dist/dashboard/atoms/dashboard.js +2 -2
  125. package/dist/dashboard/atoms/editor.js +1 -1
  126. package/dist/dashboard/atoms/entry.js +2 -2
  127. package/dist/dashboard/atoms/explorer.d.ts +1 -3
  128. package/dist/dashboard/atoms/explorer.js +7 -9
  129. package/dist/dashboard/atoms/graph.d.ts +1 -0
  130. package/dist/dashboard/atoms/graph.js +7 -2
  131. package/dist/dashboard/atoms/link.js +2 -2
  132. package/dist/dashboard/atoms/nav.d.ts +4 -3
  133. package/dist/dashboard/atoms/nav.js +10 -5
  134. package/dist/dashboard/atoms/preview.js +1 -1
  135. package/dist/dashboard/atoms/root.js +2 -2
  136. package/dist/dashboard/atoms/upload.js +1 -1
  137. package/dist/dashboard/atoms/user.d.ts +1 -1
  138. package/dist/dashboard/atoms/user.js +8 -6
  139. package/dist/dashboard/atoms/utils.js +2 -2
  140. package/dist/dashboard/boot/Boot.js +2 -4
  141. package/dist/dashboard/boot/DashboardWorker.js +34 -29
  142. package/dist/dashboard/editor/UseField.js +6 -6
  143. package/dist/dashboard/fixture/cms.d.ts +12 -0
  144. package/dist/dashboard/fixture/cms.js +53 -2
  145. package/dist/dashboard/hook/UseGraph.js +4 -4
  146. package/dist/dashboard/hook/UseRoot.js +4 -4
  147. package/dist/dashboard/hooks.js +16 -16
  148. package/dist/field/check/CheckField.view.js +2 -2
  149. package/dist/field/code/CodeField.view.js +15 -15
  150. package/dist/field/link/EntryLink.d.ts +1 -1
  151. package/dist/field/link/EntryLink.js +1 -0
  152. package/dist/field/link/Link.js +1 -0
  153. package/dist/field/link/LinkField.d.ts +5 -0
  154. package/dist/field/link/LinkField.view.js +81 -64
  155. package/dist/field/list/ListField.view.js +26 -26
  156. package/dist/field/localiser/LocalisedField.view.js +76 -5
  157. package/dist/field/metadata/MetadataField.d.ts +2 -0
  158. package/dist/field/metadata/MetadataField.js +2 -1
  159. package/dist/field/metadata/MetadataField.view.js +20 -20
  160. package/dist/field/richtext/PickTextLink.js +6 -6
  161. package/dist/field/richtext/RichTextBlock.js +6 -6
  162. package/dist/field/richtext/RichTextBlocks.js +1 -1
  163. package/dist/field/richtext/RichTextExtensions.js +23 -23
  164. package/dist/field/richtext/RichTextField.view.js +9 -9
  165. package/dist/field/richtext/RichTextState.js +1 -1
  166. package/dist/field/text/TextField.view.js +2 -2
  167. package/dist/index.css +436 -28
  168. package/dist/preview/PreviewMessage.d.ts +3 -0
  169. package/dist/preview/PreviewMessage.js +1 -0
  170. package/dist/preview/RegisterPreview.d.ts +1 -1
  171. package/dist/preview/RegisterPreview.js +28 -10
  172. package/dist/preview/react.d.ts +5 -1
  173. package/dist/preview/react.js +12 -9
  174. package/dist/preview/widget.js +6 -12
  175. package/dist/query.d.ts +7 -7
  176. package/package.json +1 -1
  177. package/dist/chunks/chunk-STAJCW4Z.js +0 -322
  178. package/dist/chunks/chunk-U4VOHNR2.js +0 -210
@@ -1,13 +1,12 @@
1
1
  import {
2
2
  unwrap
3
- } from "../../chunks/chunk-STAJCW4Z.js";
3
+ } from "../../chunks/chunk-TIJTT5ZI.js";
4
4
  import {
5
5
  useAtom,
6
- useAtomValue,
7
- useSetAtom,
8
- useStore
9
- } from "../../chunks/chunk-U4VOHNR2.js";
10
- import "../../chunks/chunk-Y7XOMJOC.js";
6
+ useAtomValueRaw,
7
+ useSetAtom
8
+ } from "../../chunks/chunk-D6UJHBJJ.js";
9
+ import "../../chunks/chunk-CFNRVI3Y.js";
11
10
  import {
12
11
  $143fb904d86051ce$export$89be5a243e59c4b2,
13
12
  $1f7649abe3ae3599$export$a7bfbda1311ca015,
@@ -43,51 +42,51 @@ import { configAtom } from "../atoms/core.js";
43
42
 
44
43
  // src/dashboard/app/ExplorerCards.module.css
45
44
  var ExplorerCards_default = {
46
- "ExplorerCards-entry-body": "alinea-ExplorerCards-entry-body",
47
- "ExplorerCardsEntryBody": "alinea-ExplorerCards-entry-body",
45
+ "ExplorerCards-item": "alinea-ExplorerCards-item",
46
+ "ExplorerCardsItem": "alinea-ExplorerCards-item",
47
+ "ExplorerCards-entry-iconSkeleton": "alinea-ExplorerCards-entry-iconSkeleton",
48
+ "ExplorerCardsEntryIconSkeleton": "alinea-ExplorerCards-entry-iconSkeleton",
49
+ "ExplorerCards-item-checkbox": "alinea-ExplorerCards-item-checkbox",
50
+ "ExplorerCardsItemCheckbox": "alinea-ExplorerCards-item-checkbox",
48
51
  "ExplorerCards-surface": "alinea-ExplorerCards-surface",
49
52
  "ExplorerCardsSurface": "alinea-ExplorerCards-surface",
50
- "ExplorerCards-entry-icon": "alinea-ExplorerCards-entry-icon",
51
- "ExplorerCardsEntryIcon": "alinea-ExplorerCards-entry-icon",
52
- "is-breadcrumbs": "alinea-is-breadcrumbs",
53
- "isBreadcrumbs": "alinea-is-breadcrumbs",
54
- "ExplorerCards-entry-label": "alinea-ExplorerCards-entry-label",
55
- "ExplorerCardsEntryLabel": "alinea-ExplorerCards-entry-label",
56
- "ExplorerCards-entry-body-inner": "alinea-ExplorerCards-entry-body-inner",
57
- "ExplorerCardsEntryBodyInner": "alinea-ExplorerCards-entry-body-inner",
58
53
  "ExplorerCards-viewport": "alinea-ExplorerCards-viewport",
59
54
  "ExplorerCardsViewport": "alinea-ExplorerCards-viewport",
55
+ "is-breadcrumbs": "alinea-is-breadcrumbs",
56
+ "isBreadcrumbs": "alinea-is-breadcrumbs",
57
+ "ExplorerCards-entry-skeleton": "alinea-ExplorerCards-entry-skeleton",
58
+ "ExplorerCardsEntrySkeleton": "alinea-ExplorerCards-entry-skeleton",
59
+ "is-loading": "alinea-is-loading",
60
+ "isLoading": "alinea-is-loading",
61
+ "ExplorerCards-parents": "alinea-ExplorerCards-parents",
62
+ "ExplorerCardsParents": "alinea-ExplorerCards-parents",
60
63
  "ExplorerCards-parents-separator": "alinea-ExplorerCards-parents-separator",
61
64
  "ExplorerCardsParentsSeparator": "alinea-ExplorerCards-parents-separator",
62
- "ExplorerCards-skeleton-pulse": "alinea-ExplorerCards-skeleton-pulse",
63
- "ExplorerCardsSkeletonPulse": "alinea-ExplorerCards-skeleton-pulse",
64
65
  "is-wide": "alinea-is-wide",
65
66
  "isWide": "alinea-is-wide",
66
- "ExplorerCards-item-drag-handle": "alinea-ExplorerCards-item-drag-handle",
67
- "ExplorerCardsItemDragHandle": "alinea-ExplorerCards-item-drag-handle",
67
+ "is-file": "alinea-is-file",
68
+ "isFile": "alinea-is-file",
69
+ "ExplorerCards-entry-body-inner": "alinea-ExplorerCards-entry-body-inner",
70
+ "ExplorerCardsEntryBodyInner": "alinea-ExplorerCards-entry-body-inner",
68
71
  "ExplorerCards-entry-top": "alinea-ExplorerCards-entry-top",
69
72
  "ExplorerCardsEntryTop": "alinea-ExplorerCards-entry-top",
70
- "ExplorerCards-item-card": "alinea-ExplorerCards-item-card",
71
- "ExplorerCardsItemCard": "alinea-ExplorerCards-item-card",
72
- "ExplorerCards-entry": "alinea-ExplorerCards-entry",
73
- "ExplorerCardsEntry": "alinea-ExplorerCards-entry",
73
+ "ExplorerCards-entry-icon": "alinea-ExplorerCards-entry-icon",
74
+ "ExplorerCardsEntryIcon": "alinea-ExplorerCards-entry-icon",
74
75
  "ExplorerCards-entry-meta": "alinea-ExplorerCards-entry-meta",
75
76
  "ExplorerCardsEntryMeta": "alinea-ExplorerCards-entry-meta",
76
- "ExplorerCards-item": "alinea-ExplorerCards-item",
77
- "ExplorerCardsItem": "alinea-ExplorerCards-item",
77
+ "ExplorerCards-entry-label": "alinea-ExplorerCards-entry-label",
78
+ "ExplorerCardsEntryLabel": "alinea-ExplorerCards-entry-label",
79
+ "ExplorerCards-entry-body": "alinea-ExplorerCards-entry-body",
80
+ "ExplorerCardsEntryBody": "alinea-ExplorerCards-entry-body",
78
81
  "ExplorerCards": "alinea-ExplorerCards",
79
- "ExplorerCards-parents": "alinea-ExplorerCards-parents",
80
- "ExplorerCardsParents": "alinea-ExplorerCards-parents",
81
- "is-file": "alinea-is-file",
82
- "isFile": "alinea-is-file",
83
- "is-loading": "alinea-is-loading",
84
- "isLoading": "alinea-is-loading",
85
- "ExplorerCards-entry-iconSkeleton": "alinea-ExplorerCards-entry-iconSkeleton",
86
- "ExplorerCardsEntryIconSkeleton": "alinea-ExplorerCards-entry-iconSkeleton",
87
- "ExplorerCards-item-checkbox": "alinea-ExplorerCards-item-checkbox",
88
- "ExplorerCardsItemCheckbox": "alinea-ExplorerCards-item-checkbox",
89
- "ExplorerCards-entry-skeleton": "alinea-ExplorerCards-entry-skeleton",
90
- "ExplorerCardsEntrySkeleton": "alinea-ExplorerCards-entry-skeleton"
82
+ "ExplorerCards-item-drag-handle": "alinea-ExplorerCards-item-drag-handle",
83
+ "ExplorerCardsItemDragHandle": "alinea-ExplorerCards-item-drag-handle",
84
+ "ExplorerCards-entry": "alinea-ExplorerCards-entry",
85
+ "ExplorerCardsEntry": "alinea-ExplorerCards-entry",
86
+ "ExplorerCards-item-card": "alinea-ExplorerCards-item-card",
87
+ "ExplorerCardsItemCard": "alinea-ExplorerCards-item-card",
88
+ "ExplorerCards-skeleton-pulse": "alinea-ExplorerCards-skeleton-pulse",
89
+ "ExplorerCardsSkeletonPulse": "alinea-ExplorerCards-skeleton-pulse"
91
90
  };
92
91
 
93
92
  // src/dashboard/app/ExplorerCards.tsx
@@ -105,11 +104,12 @@ var ExplorerCardItem = memo(function ExplorerCardItem2({
105
104
  breadcrumbs,
106
105
  entry,
107
106
  explorer,
107
+ locale,
108
108
  includeWorkspace,
109
109
  showSelectionControls
110
110
  }) {
111
- const { data } = useAtomValue(entry.data);
112
- const isSelectable = useAtomValue(explorer.isSelectable(entry));
111
+ const { data } = useAtomValueRaw(entry.data);
112
+ const isSelectable = useAtomValueRaw(explorer.isSelectable(entry));
113
113
  if (!data)
114
114
  return /* @__PURE__ */ jsx(
115
115
  ExplorerCardLoadingItem,
@@ -125,6 +125,8 @@ var ExplorerCardItem = memo(function ExplorerCardItem2({
125
125
  breadcrumbs,
126
126
  entry,
127
127
  data,
128
+ explorer,
129
+ locale,
128
130
  isSelectable,
129
131
  includeWorkspace,
130
132
  showSelectionControls
@@ -172,15 +174,22 @@ var ExplorerCardLoadedItem = memo(function ExplorerCardLoadedItem2({
172
174
  breadcrumbs,
173
175
  entry,
174
176
  data,
177
+ explorer,
178
+ locale,
175
179
  isSelectable,
176
180
  includeWorkspace,
177
181
  showSelectionControls
178
182
  }) {
179
- const label = useAtomValue(data.label);
180
- const icon = useAtomValue(data.icon);
181
- const type = useAtomValue(data.type);
182
- const canOpen = useAtomValue(data.canOpen);
183
- const info = useAtomValue(
183
+ const label = useAtomValueRaw(data.label);
184
+ const icon = useAtomValueRaw(data.icon);
185
+ const type = useAtomValueRaw(data.type);
186
+ const canOpen = useAtomValueRaw(data.canOpen);
187
+ const performAction = useSetAtom(explorer.onAction);
188
+ const hasAction = explorer.hasRowAction || !isSelectable && canOpen;
189
+ function onAction() {
190
+ startTransition(() => performAction(entry, locale));
191
+ }
192
+ const info = useAtomValueRaw(
184
193
  useMemo(() => unwrap(data.fileInfo, (previous) => previous ?? null), [data])
185
194
  );
186
195
  const location = breadcrumbs ? /* @__PURE__ */ jsx(
@@ -197,6 +206,7 @@ var ExplorerCardLoadedItem = memo(function ExplorerCardLoadedItem2({
197
206
  {
198
207
  id: entry.id,
199
208
  textValue: label,
209
+ onAction: hasAction ? onAction : void 0,
200
210
  className: styles.ExplorerCards.item(),
201
211
  isDisabled: !isSelectable,
202
212
  children: [
@@ -241,10 +251,10 @@ function ExplorerCardLocation({
241
251
  entry,
242
252
  includeWorkspace
243
253
  }) {
244
- const config = useAtomValue(configAtom);
245
- const parents = useAtomValue(data.parents);
246
- const root = useAtomValue(data.root);
247
- const rootLabel = useAtomValue(root.label);
254
+ const config = useAtomValueRaw(configAtom);
255
+ const parents = useAtomValueRaw(data.parents);
256
+ const root = useAtomValueRaw(data.root);
257
+ const rootLabel = useAtomValueRaw(root.label);
248
258
  const workspace = config.workspaces[entry.workspace];
249
259
  const workspaceLabel = workspace ? getWorkspace(workspace).label : entry.workspace;
250
260
  return /* @__PURE__ */ jsx(
@@ -313,12 +323,12 @@ function ExplorerCardParents({
313
323
  ] }, breadcrumb.id)) });
314
324
  }
315
325
  function ExplorerCardParent({ parent }) {
316
- const { data } = useAtomValue(parent.data);
326
+ const { data } = useAtomValueRaw(parent.data);
317
327
  if (!data) return null;
318
328
  return /* @__PURE__ */ jsx(ExplorerCardLoadedParent, { parent: data });
319
329
  }
320
330
  function ExplorerCardLoadedParent({ parent }) {
321
- const label = useAtomValue(parent.label);
331
+ const label = useAtomValueRaw(parent.label);
322
332
  return /* @__PURE__ */ jsx(Fragment, { children: label });
323
333
  }
324
334
  function ExplorerCards({
@@ -330,23 +340,9 @@ function ExplorerCards({
330
340
  locale
331
341
  }) {
332
342
  const [selected, setSelected] = useAtom(explorer.selection);
333
- const performAction = useSetAtom(explorer.onAction);
334
- const store = useStore();
335
343
  const selectionMode = explorer.selectionMode;
336
344
  const hasSelection = selectionMode !== "none";
337
345
  const showSelectionControls = hasSelection && explorer.showSelectionControls;
338
- function onItemAction(key) {
339
- const entry = items.find((item) => item.id === String(key));
340
- if (!entry) return;
341
- if (!explorer.hasRowAction) {
342
- const { data } = store.get(entry.data);
343
- const canOpen = !store.get(explorer.isSelectable(entry)) && data !== void 0 && store.get(data.canOpen);
344
- if (!canOpen) return;
345
- startTransition(() => performAction(entry, locale));
346
- return;
347
- }
348
- performAction(entry, locale);
349
- }
350
346
  return /* @__PURE__ */ jsx(
351
347
  "div",
352
348
  {
@@ -366,7 +362,6 @@ function ExplorerCards({
366
362
  dragAndDropHooks,
367
363
  selectedKeys: hasSelection ? selected : void 0,
368
364
  onSelectionChange: hasSelection ? setSelected : void 0,
369
- onAction: onItemAction,
370
365
  renderEmptyState,
371
366
  style: { display: "block", width: "100%", height: "100%" },
372
367
  children: (item) => /* @__PURE__ */ jsx(
@@ -375,6 +370,7 @@ function ExplorerCards({
375
370
  breadcrumbs: explorer.breadcrumbs || page.resultMode === "matches" || page.searchesEverything,
376
371
  entry: item,
377
372
  explorer,
373
+ locale,
378
374
  includeWorkspace: page.searchesEverything,
379
375
  showSelectionControls
380
376
  }
@@ -13,35 +13,35 @@ import { IcRoundInsertDriveFile } from "../icons.js";
13
13
 
14
14
  // src/dashboard/app/ExplorerFileCard.module.css
15
15
  var ExplorerFileCard_default = {
16
- "ExplorerFileCard-preview": "alinea-ExplorerFileCard-preview",
17
- "ExplorerFileCardPreview": "alinea-ExplorerFileCard-preview",
16
+ "ExplorerFileCard-preview-placeholder": "alinea-ExplorerFileCard-preview-placeholder",
17
+ "ExplorerFileCardPreviewPlaceholder": "alinea-ExplorerFileCard-preview-placeholder",
18
18
  "is-breadcrumbs": "alinea-is-breadcrumbs",
19
19
  "isBreadcrumbs": "alinea-is-breadcrumbs",
20
- "ExplorerFileCard-body-inner": "alinea-ExplorerFileCard-body-inner",
21
- "ExplorerFileCardBodyInner": "alinea-ExplorerFileCard-body-inner",
22
- "ExplorerFileCard-label": "alinea-ExplorerFileCard-label",
23
- "ExplorerFileCardLabel": "alinea-ExplorerFileCard-label",
24
- "ExplorerFileCard-top": "alinea-ExplorerFileCard-top",
25
- "ExplorerFileCardTop": "alinea-ExplorerFileCard-top",
26
- "ExplorerFileCard-body": "alinea-ExplorerFileCard-body",
27
- "ExplorerFileCardBody": "alinea-ExplorerFileCard-body",
28
- "is-card": "alinea-is-card",
29
- "isCard": "alinea-is-card",
30
20
  "ExplorerFileCard-meta": "alinea-ExplorerFileCard-meta",
31
21
  "ExplorerFileCardMeta": "alinea-ExplorerFileCard-meta",
32
- "ExplorerFileCard-preview-placeholder": "alinea-ExplorerFileCard-preview-placeholder",
33
- "ExplorerFileCardPreviewPlaceholder": "alinea-ExplorerFileCard-preview-placeholder",
22
+ "ExplorerFileCard": "alinea-ExplorerFileCard",
23
+ "is-card": "alinea-is-card",
24
+ "isCard": "alinea-is-card",
34
25
  "ExplorerFileCard-meta-extension": "alinea-ExplorerFileCard-meta-extension",
35
26
  "ExplorerFileCardMetaExtension": "alinea-ExplorerFileCard-meta-extension",
36
- "is-row": "alinea-is-row",
37
- "isRow": "alinea-is-row",
27
+ "ExplorerFileCard-preview-image": "alinea-ExplorerFileCard-preview-image",
28
+ "ExplorerFileCardPreviewImage": "alinea-ExplorerFileCard-preview-image",
29
+ "ExplorerFileCard-top": "alinea-ExplorerFileCard-top",
30
+ "ExplorerFileCardTop": "alinea-ExplorerFileCard-top",
38
31
  "ExplorerFileCard-preview-placeholder-icon": "alinea-ExplorerFileCard-preview-placeholder-icon",
39
32
  "ExplorerFileCardPreviewPlaceholderIcon": "alinea-ExplorerFileCard-preview-placeholder-icon",
33
+ "ExplorerFileCard-body-inner": "alinea-ExplorerFileCard-body-inner",
34
+ "ExplorerFileCardBodyInner": "alinea-ExplorerFileCard-body-inner",
35
+ "ExplorerFileCard-preview": "alinea-ExplorerFileCard-preview",
36
+ "ExplorerFileCardPreview": "alinea-ExplorerFileCard-preview",
37
+ "is-row": "alinea-is-row",
38
+ "isRow": "alinea-is-row",
39
+ "ExplorerFileCard-body": "alinea-ExplorerFileCard-body",
40
+ "ExplorerFileCardBody": "alinea-ExplorerFileCard-body",
41
+ "ExplorerFileCard-label": "alinea-ExplorerFileCard-label",
42
+ "ExplorerFileCardLabel": "alinea-ExplorerFileCard-label",
40
43
  "ExplorerFileCard-meta-details": "alinea-ExplorerFileCard-meta-details",
41
- "ExplorerFileCardMetaDetails": "alinea-ExplorerFileCard-meta-details",
42
- "ExplorerFileCard-preview-image": "alinea-ExplorerFileCard-preview-image",
43
- "ExplorerFileCardPreviewImage": "alinea-ExplorerFileCard-preview-image",
44
- "ExplorerFileCard": "alinea-ExplorerFileCard"
44
+ "ExplorerFileCardMetaDetails": "alinea-ExplorerFileCard-meta-details"
45
45
  };
46
46
 
47
47
  // src/dashboard/app/ExplorerFileCard.tsx
@@ -1,10 +1,10 @@
1
1
  import {
2
- useAtomValue,
2
+ useAtomValueRaw,
3
3
  useSetAtom
4
- } from "../../chunks/chunk-U4VOHNR2.js";
4
+ } from "../../chunks/chunk-D6UJHBJJ.js";
5
5
  import {
6
6
  atom
7
- } from "../../chunks/chunk-Y7XOMJOC.js";
7
+ } from "../../chunks/chunk-CFNRVI3Y.js";
8
8
  import {
9
9
  $32ef394310635fd5$export$2cfc5be7a55829f6
10
10
  } from "../../chunks/chunk-6V4TAD2N.js";
@@ -28,25 +28,25 @@ import { ExplorerCards } from "./ExplorerCards.js";
28
28
 
29
29
  // src/dashboard/app/ExplorerList.module.css
30
30
  var ExplorerList_default = {
31
- "ExplorerList-empty-text": "alinea-ExplorerList-empty-text",
32
- "ExplorerListEmptyText": "alinea-ExplorerList-empty-text",
33
- "ExplorerList-pending": "alinea-ExplorerList-pending",
34
- "ExplorerListPending": "alinea-ExplorerList-pending",
31
+ "ExplorerList": "alinea-ExplorerList",
32
+ "ExplorerList-drag-preview-label": "alinea-ExplorerList-drag-preview-label",
33
+ "ExplorerListDragPreviewLabel": "alinea-ExplorerList-drag-preview-label",
34
+ "ExplorerList-empty-title": "alinea-ExplorerList-empty-title",
35
+ "ExplorerListEmptyTitle": "alinea-ExplorerList-empty-title",
35
36
  "ExplorerList-empty-copy": "alinea-ExplorerList-empty-copy",
36
37
  "ExplorerListEmptyCopy": "alinea-ExplorerList-empty-copy",
37
- "ExplorerList-drag-preview": "alinea-ExplorerList-drag-preview",
38
- "ExplorerListDragPreview": "alinea-ExplorerList-drag-preview",
38
+ "ExplorerList-empty-text": "alinea-ExplorerList-empty-text",
39
+ "ExplorerListEmptyText": "alinea-ExplorerList-empty-text",
39
40
  "ExplorerList-empty": "alinea-ExplorerList-empty",
40
41
  "ExplorerListEmpty": "alinea-ExplorerList-empty",
41
- "ExplorerList-empty-title": "alinea-ExplorerList-empty-title",
42
- "ExplorerListEmptyTitle": "alinea-ExplorerList-empty-title",
43
- "ExplorerList": "alinea-ExplorerList",
44
- "ExplorerList-drag-preview-label": "alinea-ExplorerList-drag-preview-label",
45
- "ExplorerListDragPreviewLabel": "alinea-ExplorerList-drag-preview-label",
42
+ "ExplorerList-empty-icon": "alinea-ExplorerList-empty-icon",
43
+ "ExplorerListEmptyIcon": "alinea-ExplorerList-empty-icon",
44
+ "ExplorerList-pending": "alinea-ExplorerList-pending",
45
+ "ExplorerListPending": "alinea-ExplorerList-pending",
46
46
  "ExplorerList-empty-button": "alinea-ExplorerList-empty-button",
47
47
  "ExplorerListEmptyButton": "alinea-ExplorerList-empty-button",
48
- "ExplorerList-empty-icon": "alinea-ExplorerList-empty-icon",
49
- "ExplorerListEmptyIcon": "alinea-ExplorerList-empty-icon"
48
+ "ExplorerList-drag-preview": "alinea-ExplorerList-drag-preview",
49
+ "ExplorerListDragPreview": "alinea-ExplorerList-drag-preview"
50
50
  };
51
51
 
52
52
  // src/dashboard/app/ExplorerList.tsx
@@ -55,9 +55,9 @@ import { jsx, jsxs } from "react/jsx-runtime";
55
55
  var styles = dist_default(ExplorerList_default);
56
56
  var fallbackEmptyIcon = atom(LucideFile);
57
57
  function EmptyResults({ explorer, page, root }) {
58
- const icon = useAtomValue(root?.icon ?? fallbackEmptyIcon);
58
+ const icon = useAtomValueRaw(root?.icon ?? fallbackEmptyIcon);
59
59
  const setSearchScope = useSetAtom(explorer.searchScope);
60
- const canSearchEverything = useAtomValue(explorer.canSearchEverything);
60
+ const canSearchEverything = useAtomValueRaw(explorer.canSearchEverything);
61
61
  const canSearchAll = canSearchEverything && page.searchScope === "workspace" && (explorer.mode === "search" || page.resultMode === "matches");
62
62
  return /* @__PURE__ */ jsxs("div", { className: styles.ExplorerList.empty(), children: [
63
63
  /* @__PURE__ */ jsx(Icon, { icon, className: styles.ExplorerList.empty.icon() }),
@@ -93,18 +93,18 @@ function ExplorerList({
93
93
  onSelectionChange,
94
94
  page
95
95
  }) {
96
- const showResults = useAtomValue(explorer.showResults);
96
+ const showResults = explorer.mode !== "search" || Boolean(page.search.trim());
97
97
  const getItems = useSetAtom(explorer.getItems);
98
98
  const getDropOperation = useSetAtom(explorer.getDropOperation);
99
99
  const dropOnItem = useSetAtom(explorer.onItemDrop);
100
- const requestedLocation = useAtomValue(explorer.location);
101
- const selectedLocale = useAtomValue(explorer.selectedLocale);
100
+ const requestedLocation = useAtomValueRaw(explorer.location);
101
+ const selectedLocale = useAtomValueRaw(explorer.selectedLocale);
102
102
  const locationIsPending = explorerPageIsPending(
103
103
  page,
104
104
  requestedLocation,
105
105
  selectedLocale
106
106
  );
107
- const canUpload = useAtomValue(explorer.canUpload);
107
+ const canUpload = useAtomValueRaw(explorer.canUpload);
108
108
  const upload = useSetAtom(explorer.upload);
109
109
  const { dragAndDropHooks } = $32ef394310635fd5$export$2cfc5be7a55829f6({
110
110
  acceptedDragTypes: page.isMedia && canUpload && !locationIsPending ? "all" : [],
@@ -11,11 +11,11 @@ import { Suspense } from "react";
11
11
  // src/dashboard/app/ExplorerModal.module.css
12
12
  var ExplorerModal_default = {
13
13
  "ExplorerModal": "alinea-ExplorerModal",
14
- "ExplorerModalContent": "alinea-ExplorerModalContent",
15
- "ExplorerModalLoading": "alinea-ExplorerModalLoading",
16
14
  "ExplorerModalNavigation": "alinea-ExplorerModalNavigation",
17
- "ExplorerModalFooter": "alinea-ExplorerModalFooter",
18
15
  "ExplorerModalSelection": "alinea-ExplorerModalSelection",
16
+ "ExplorerModalLoading": "alinea-ExplorerModalLoading",
17
+ "ExplorerModalContent": "alinea-ExplorerModalContent",
18
+ "ExplorerModalFooter": "alinea-ExplorerModalFooter",
19
19
  "ExplorerModalActions": "alinea-ExplorerModalActions"
20
20
  };
21
21
 
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  useSetAtom
3
- } from "../../chunks/chunk-U4VOHNR2.js";
3
+ } from "../../chunks/chunk-D6UJHBJJ.js";
4
4
  import {
5
5
  atom
6
- } from "../../chunks/chunk-Y7XOMJOC.js";
6
+ } from "../../chunks/chunk-CFNRVI3Y.js";
7
7
  import "../../chunks/chunk-CQ52GEHY.js";
8
8
 
9
9
  // src/dashboard/app/ExplorerPickerContent.tsx
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  useAtom,
3
- useAtomValue,
3
+ useAtomValueRaw,
4
4
  useSetAtom
5
- } from "../../chunks/chunk-U4VOHNR2.js";
6
- import "../../chunks/chunk-Y7XOMJOC.js";
5
+ } from "../../chunks/chunk-D6UJHBJJ.js";
6
+ import "../../chunks/chunk-CFNRVI3Y.js";
7
7
  import {
8
8
  $143fb904d86051ce$export$89be5a243e59c4b2,
9
9
  $7705c033048f6da7$export$353f5b6fc5456de1,
@@ -37,71 +37,71 @@ import { CompactField, compactFieldText } from "./CompactField.js";
37
37
 
38
38
  // src/dashboard/app/ExplorerTable.module.css
39
39
  var ExplorerTable_default = {
40
- "ExplorerTable-chevron-button": "alinea-ExplorerTable-chevron-button",
41
- "ExplorerTableChevronButton": "alinea-ExplorerTable-chevron-button",
42
- "ExplorerTable-icon": "alinea-ExplorerTable-icon",
43
- "ExplorerTableIcon": "alinea-ExplorerTable-icon",
44
- "ExplorerTable-field-label": "alinea-ExplorerTable-field-label",
45
- "ExplorerTableFieldLabel": "alinea-ExplorerTable-field-label",
46
- "ExplorerTable-row-grid": "alinea-ExplorerTable-row-grid",
47
- "ExplorerTableRowGrid": "alinea-ExplorerTable-row-grid",
48
- "is-unselectable": "alinea-is-unselectable",
49
- "isUnselectable": "alinea-is-unselectable",
40
+ "ExplorerTable-cell-filler": "alinea-ExplorerTable-cell-filler",
41
+ "ExplorerTableCellFiller": "alinea-ExplorerTable-cell-filler",
50
42
  "ExplorerTable-header": "alinea-ExplorerTable-header",
51
43
  "ExplorerTableHeader": "alinea-ExplorerTable-header",
44
+ "ExplorerTable-body": "alinea-ExplorerTable-body",
45
+ "ExplorerTableBody": "alinea-ExplorerTable-body",
46
+ "ExplorerTable": "alinea-ExplorerTable",
47
+ "ExplorerTable-checkbox": "alinea-ExplorerTable-checkbox",
48
+ "ExplorerTableCheckbox": "alinea-ExplorerTable-checkbox",
49
+ "ExplorerTable-column-filler": "alinea-ExplorerTable-column-filler",
50
+ "ExplorerTableColumnFiller": "alinea-ExplorerTable-column-filler",
51
+ "is-linked": "alinea-is-linked",
52
+ "isLinked": "alinea-is-linked",
53
+ "ExplorerTable-row-grid": "alinea-ExplorerTable-row-grid",
54
+ "ExplorerTableRowGrid": "alinea-ExplorerTable-row-grid",
55
+ "is-compact": "alinea-is-compact",
56
+ "isCompact": "alinea-is-compact",
57
+ "ExplorerTable-icon": "alinea-ExplorerTable-icon",
58
+ "ExplorerTableIcon": "alinea-ExplorerTable-icon",
52
59
  "ExplorerTable-viewport": "alinea-ExplorerTable-viewport",
53
60
  "ExplorerTableViewport": "alinea-ExplorerTable-viewport",
61
+ "ExplorerTable-breadcrumb": "alinea-ExplorerTable-breadcrumb",
62
+ "ExplorerTableBreadcrumb": "alinea-ExplorerTable-breadcrumb",
63
+ "ExplorerTable-column-selection": "alinea-ExplorerTable-column-selection",
64
+ "ExplorerTableColumnSelection": "alinea-ExplorerTable-column-selection",
65
+ "ExplorerTable-chevron-button": "alinea-ExplorerTable-chevron-button",
66
+ "ExplorerTableChevronButton": "alinea-ExplorerTable-chevron-button",
54
67
  "ExplorerTable-cell-selection": "alinea-ExplorerTable-cell-selection",
55
68
  "ExplorerTableCellSelection": "alinea-ExplorerTable-cell-selection",
56
- "ExplorerTable-column": "alinea-ExplorerTable-column",
57
- "ExplorerTableColumn": "alinea-ExplorerTable-column",
69
+ "is-unselectable": "alinea-is-unselectable",
70
+ "isUnselectable": "alinea-is-unselectable",
71
+ "ExplorerTable-cell": "alinea-ExplorerTable-cell",
72
+ "ExplorerTableCell": "alinea-ExplorerTable-cell",
58
73
  "ExplorerTable-breadcrumb-root": "alinea-ExplorerTable-breadcrumb-root",
59
74
  "ExplorerTableBreadcrumbRoot": "alinea-ExplorerTable-breadcrumb-root",
60
75
  "ExplorerTable-empty": "alinea-ExplorerTable-empty",
61
76
  "ExplorerTableEmpty": "alinea-ExplorerTable-empty",
62
- "ExplorerTable-field-value": "alinea-ExplorerTable-field-value",
63
- "ExplorerTableFieldValue": "alinea-ExplorerTable-field-value",
64
- "ExplorerTable": "alinea-ExplorerTable",
65
- "ExplorerTable-surface": "alinea-ExplorerTable-surface",
66
- "ExplorerTableSurface": "alinea-ExplorerTable-surface",
67
- "ExplorerTable-iconDrag": "alinea-ExplorerTable-iconDrag",
68
- "ExplorerTableIconDrag": "alinea-ExplorerTable-iconDrag",
69
- "ExplorerTable-breadcrumbs": "alinea-ExplorerTable-breadcrumbs",
70
- "ExplorerTableBreadcrumbs": "alinea-ExplorerTable-breadcrumbs",
77
+ "ExplorerTable-row": "alinea-ExplorerTable-row",
78
+ "ExplorerTableRow": "alinea-ExplorerTable-row",
71
79
  "ExplorerTable-chevron": "alinea-ExplorerTable-chevron",
72
80
  "ExplorerTableChevron": "alinea-ExplorerTable-chevron",
73
- "ExplorerTable-column-selection": "alinea-ExplorerTable-column-selection",
74
- "ExplorerTableColumnSelection": "alinea-ExplorerTable-column-selection",
75
- "ExplorerTable-cell-title": "alinea-ExplorerTable-cell-title",
76
- "ExplorerTableCellTitle": "alinea-ExplorerTable-cell-title",
77
- "ExplorerTable-cell": "alinea-ExplorerTable-cell",
78
- "ExplorerTableCell": "alinea-ExplorerTable-cell",
79
- "is-compact": "alinea-is-compact",
80
- "isCompact": "alinea-is-compact",
81
- "ExplorerTable-checkbox": "alinea-ExplorerTable-checkbox",
82
- "ExplorerTableCheckbox": "alinea-ExplorerTable-checkbox",
83
81
  "ExplorerTable-breadcrumb-label": "alinea-ExplorerTable-breadcrumb-label",
84
82
  "ExplorerTableBreadcrumbLabel": "alinea-ExplorerTable-breadcrumb-label",
85
- "ExplorerTable-row": "alinea-ExplorerTable-row",
86
- "ExplorerTableRow": "alinea-ExplorerTable-row",
87
- "ExplorerTable-column-filler": "alinea-ExplorerTable-column-filler",
88
- "ExplorerTableColumnFiller": "alinea-ExplorerTable-column-filler",
89
- "is-linked": "alinea-is-linked",
90
- "isLinked": "alinea-is-linked",
83
+ "ExplorerTable-field-label": "alinea-ExplorerTable-field-label",
84
+ "ExplorerTableFieldLabel": "alinea-ExplorerTable-field-label",
85
+ "ExplorerTable-column": "alinea-ExplorerTable-column",
86
+ "ExplorerTableColumn": "alinea-ExplorerTable-column",
87
+ "ExplorerTable-surface": "alinea-ExplorerTable-surface",
88
+ "ExplorerTableSurface": "alinea-ExplorerTable-surface",
89
+ "ExplorerTable-field-value": "alinea-ExplorerTable-field-value",
90
+ "ExplorerTableFieldValue": "alinea-ExplorerTable-field-value",
91
+ "ExplorerTable-title": "alinea-ExplorerTable-title",
92
+ "ExplorerTableTitle": "alinea-ExplorerTable-title",
91
93
  "is-noSelectionControls": "alinea-is-noSelectionControls",
92
94
  "isNoSelectionControls": "alinea-is-noSelectionControls",
93
- "ExplorerTable-cell-filler": "alinea-ExplorerTable-cell-filler",
94
- "ExplorerTableCellFiller": "alinea-ExplorerTable-cell-filler",
95
- "ExplorerTable-titleAction": "alinea-ExplorerTable-titleAction",
96
- "ExplorerTableTitleAction": "alinea-ExplorerTable-titleAction",
97
95
  "ExplorerTable-field": "alinea-ExplorerTable-field",
98
96
  "ExplorerTableField": "alinea-ExplorerTable-field",
99
- "ExplorerTable-title": "alinea-ExplorerTable-title",
100
- "ExplorerTableTitle": "alinea-ExplorerTable-title",
101
- "ExplorerTable-breadcrumb": "alinea-ExplorerTable-breadcrumb",
102
- "ExplorerTableBreadcrumb": "alinea-ExplorerTable-breadcrumb",
103
- "ExplorerTable-body": "alinea-ExplorerTable-body",
104
- "ExplorerTableBody": "alinea-ExplorerTable-body"
97
+ "ExplorerTable-titleAction": "alinea-ExplorerTable-titleAction",
98
+ "ExplorerTableTitleAction": "alinea-ExplorerTable-titleAction",
99
+ "ExplorerTable-cell-title": "alinea-ExplorerTable-cell-title",
100
+ "ExplorerTableCellTitle": "alinea-ExplorerTable-cell-title",
101
+ "ExplorerTable-breadcrumbs": "alinea-ExplorerTable-breadcrumbs",
102
+ "ExplorerTableBreadcrumbs": "alinea-ExplorerTable-breadcrumbs",
103
+ "ExplorerTable-iconDrag": "alinea-ExplorerTable-iconDrag",
104
+ "ExplorerTableIconDrag": "alinea-ExplorerTable-iconDrag"
105
105
  };
106
106
 
107
107
  // src/dashboard/app/ExplorerTable.tsx
@@ -174,7 +174,7 @@ function ExplorerTableBreadcrumbs({
174
174
  ] });
175
175
  }
176
176
  function ExplorerTableBreadcrumb({ entry, index }) {
177
- const { data } = useAtomValue(entry.data);
177
+ const { data } = useAtomValueRaw(entry.data);
178
178
  if (!data) return null;
179
179
  return /* @__PURE__ */ jsx(ExplorerTableLoadedBreadcrumb, { data, index });
180
180
  }
@@ -182,9 +182,9 @@ function ExplorerTableLoadedBreadcrumb({
182
182
  data,
183
183
  index
184
184
  }) {
185
- const label = useAtomValue(data.label);
186
- const root = useAtomValue(data.root);
187
- const rootLabel = useAtomValue(root.label);
185
+ const label = useAtomValueRaw(data.label);
186
+ const root = useAtomValueRaw(data.root);
187
+ const rootLabel = useAtomValueRaw(root.label);
188
188
  return /* @__PURE__ */ jsxs(Fragment, { children: [
189
189
  index === 0 && /* @__PURE__ */ jsx(
190
190
  "span",
@@ -301,7 +301,7 @@ function ExplorerTableDisplayRow(props) {
301
301
  hasChildren,
302
302
  label
303
303
  } = props;
304
- const isExpanded = useAtomValue(
304
+ const isExpanded = useAtomValueRaw(
305
305
  useMemo(() => explorer.isExpanded(entry), [explorer, entry])
306
306
  );
307
307
  const onAction = useSetAtom(explorer.onAction);
@@ -363,7 +363,7 @@ function ExplorerTableDisplayRow(props) {
363
363
  );
364
364
  }
365
365
  function ExplorerTableChildren(props) {
366
- const children = useAtomValue(
366
+ const children = useAtomValueRaw(
367
367
  useMemo(
368
368
  () => props.explorer.children(props.entry, props.locale),
369
369
  [props.entry, props.explorer, props.locale]
@@ -403,14 +403,14 @@ function ExplorerTableLoadedRow({
403
403
  explorer,
404
404
  ...props
405
405
  }) {
406
- const root = useAtomValue(data.root);
407
- const rootLabel = useAtomValue(root.label);
408
- const label = useAtomValue(data.label);
409
- const configuredIcon = useAtomValue(data.icon);
410
- const hasChildren = useAtomValue(data.hasChildren);
411
- const cells = useAtomValue(data.overviewCells);
412
- const parents = useAtomValue(data.parents);
413
- const isSelectable = useAtomValue(
406
+ const root = useAtomValueRaw(data.root);
407
+ const rootLabel = useAtomValueRaw(root.label);
408
+ const label = useAtomValueRaw(data.label);
409
+ const configuredIcon = useAtomValueRaw(data.icon);
410
+ const hasChildren = useAtomValueRaw(data.hasChildren);
411
+ const cells = useAtomValueRaw(data.overviewCells);
412
+ const parents = useAtomValueRaw(data.parents);
413
+ const isSelectable = useAtomValueRaw(
414
414
  useMemo(() => explorer.isSelectable(props.entry), [explorer, props.entry])
415
415
  );
416
416
  return /* @__PURE__ */ jsx(
@@ -429,7 +429,7 @@ function ExplorerTableLoadedRow({
429
429
  );
430
430
  }
431
431
  function ExplorerTableRow(props) {
432
- const { data, pending } = useAtomValue(props.entry.data);
432
+ const { data, pending } = useAtomValueRaw(props.entry.data);
433
433
  if (pending || !data) return /* @__PURE__ */ jsx(ExplorerTableLoadingRow, { ...props });
434
434
  return /* @__PURE__ */ jsx(ExplorerTableLoadedRow, { ...props, data });
435
435
  }
@@ -446,11 +446,11 @@ function ExplorerTable({
446
446
  const [selected, setSelected] = useAtom(explorer.selection);
447
447
  const [expandedKeys, setExpandedKeys] = useAtom(explorer.expandedKeys);
448
448
  const selectionMode = explorer.selectionMode;
449
- const search = useAtomValue(explorer.search);
449
+ const search = useAtomValueRaw(explorer.search);
450
450
  const isSearching = Boolean(search.trim());
451
451
  const breadcrumbs = explorer.breadcrumbs || page.resultMode === "matches" || isSearching || page.searchesEverything;
452
452
  const hasSelection = selectionMode !== "none";
453
- const showSelectionControls = hasSelection && !compact && explorer.showSelectionControls;
453
+ const showSelectionControls = hasSelection && explorer.showSelectionControls && (!compact || selectionMode === "multiple");
454
454
  const columns = useMemo(
455
455
  () => createExplorerTableColumns({ compact, showSelectionControls }),
456
456
  [compact, showSelectionControls]
@@ -463,7 +463,7 @@ function ExplorerTable({
463
463
  setSelected(selection);
464
464
  onSelectionChange?.(selection);
465
465
  }
466
- return /* @__PURE__ */ jsx("div", { className: styles.ExplorerTable.viewport({ compact }), children: /* @__PURE__ */ jsxs(Surface, { className: styles.ExplorerTable.surface(), children: [
466
+ return /* @__PURE__ */ jsx("div", { className: styles.ExplorerTable.viewport({ compact }), children: /* @__PURE__ */ jsxs(Surface, { className: styles.ExplorerTable.surface({ compact }), children: [
467
467
  /* @__PURE__ */ jsx(
468
468
  $143fb904d86051ce$export$89be5a243e59c4b2,
469
469
  {