@burdenoff/fe-libs 2026.1006.2 → 2026.1007.2

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 (257) hide show
  1. package/dist/button/Button.d.ts +1 -1
  2. package/dist/button.d.ts +1 -1
  3. package/dist/chrome/AutoBreadcrumbs.d.ts +1 -1
  4. package/dist/chrome/BrandMark.d.ts +1 -1
  5. package/dist/chrome/ContextSwitcher.d.ts.map +1 -1
  6. package/dist/chrome/ContextSwitcher.js +93 -89
  7. package/dist/chrome/DynamicFooter.d.ts +1 -1
  8. package/dist/chrome/GlobalSearch.d.ts.map +1 -1
  9. package/dist/chrome/GlobalSearch.js +94 -96
  10. package/dist/chrome/HeaderThemeSwitcher.d.ts +1 -1
  11. package/dist/chrome/MobileTabBar.d.ts +1 -1
  12. package/dist/chrome/NativePageTransition.d.ts +1 -1
  13. package/dist/chrome/NativeTopBar.d.ts +1 -1
  14. package/dist/chrome/NavCustomizeDialog.d.ts +1 -1
  15. package/dist/chrome/NotificationCenter.d.ts.map +1 -1
  16. package/dist/chrome/NotificationCenter.js +62 -62
  17. package/dist/chrome/PageHeader.d.ts +1 -1
  18. package/dist/chrome/PersonaSurfaceControls.d.ts +2 -2
  19. package/dist/chrome/ProductSideNav.d.ts +1 -1
  20. package/dist/chrome/ShortcutHelpDialog.d.ts.map +1 -1
  21. package/dist/chrome/ShortcutHelpDialog.js +103 -97
  22. package/dist/chrome/ThemePreferences.d.ts +1 -1
  23. package/dist/chrome/notificationCenter/NotificationPanel.d.ts.map +1 -1
  24. package/dist/chrome/notificationCenter/NotificationPanel.js +28 -17
  25. package/dist/chrome/notificationCenter/usePanelChrome.d.ts +0 -1
  26. package/dist/chrome/notificationCenter/usePanelChrome.d.ts.map +1 -1
  27. package/dist/chrome/notificationCenter/usePanelChrome.js +1 -10
  28. package/dist/chrome/shellOverlayLayer.d.ts +42 -0
  29. package/dist/chrome/shellOverlayLayer.d.ts.map +1 -0
  30. package/dist/chrome/shellOverlayLayer.js +4 -0
  31. package/dist/chrome.d.ts +1 -1
  32. package/dist/config/eslint.config.d.ts +1 -1
  33. package/dist/connections.d.ts +1 -1
  34. package/dist/credentials.d.ts +1 -1
  35. package/dist/form/Checkbox.d.ts +1 -1
  36. package/dist/form/Form.d.ts +1 -1
  37. package/dist/form/FormDescription.d.ts +1 -1
  38. package/dist/form/FormField.d.ts +3 -3
  39. package/dist/form/FormLabel.d.ts +1 -1
  40. package/dist/form/FormMessage.d.ts +1 -1
  41. package/dist/form/FormSection.d.ts +1 -1
  42. package/dist/form/Input.d.ts +1 -1
  43. package/dist/form/Radio.d.ts +2 -2
  44. package/dist/form/Select.d.ts +7 -7
  45. package/dist/form/Textarea.d.ts +1 -1
  46. package/dist/form.d.ts +1 -1
  47. package/dist/shared/assistant/appControls/languageReply.d.ts +28 -0
  48. package/dist/shared/assistant/appControls/languageReply.d.ts.map +1 -0
  49. package/dist/shared/assistant/appControls/languageReply.js +17 -0
  50. package/dist/shared/assistant/appControls/text.d.ts +7 -1
  51. package/dist/shared/assistant/appControls/text.d.ts.map +1 -1
  52. package/dist/shared/assistant/appControls/text.js +4 -3
  53. package/dist/shared/assistant/conversation.d.ts +2 -0
  54. package/dist/shared/assistant/conversation.d.ts.map +1 -1
  55. package/dist/shared/assistant/displayContent.d.ts.map +1 -1
  56. package/dist/shared/assistant/displayContent.js +14 -11
  57. package/dist/shared/assistant/history/historyMapping.d.ts.map +1 -1
  58. package/dist/shared/assistant/history/historyMapping.js +10 -5
  59. package/dist/shared/assistant/i18n.d.ts +1 -1
  60. package/dist/shared/assistant/index.d.ts +1 -0
  61. package/dist/shared/assistant/index.d.ts.map +1 -1
  62. package/dist/shared/assistant/product.d.ts +1 -1
  63. package/dist/shared/assistant/ui/AIAssistantPanel.js +8 -8
  64. package/dist/shared/assistant/ui/AssistantChatArea.d.ts.map +1 -1
  65. package/dist/shared/assistant/ui/AssistantChatArea.js +1012 -939
  66. package/dist/shared/assistant/ui/AssistantMessageItem.d.ts.map +1 -1
  67. package/dist/shared/assistant/ui/AssistantMessageItem.js +105 -97
  68. package/dist/shared/assistant/ui/AssistantMoreMenu.d.ts.map +1 -1
  69. package/dist/shared/assistant/ui/AssistantMoreMenu.js +112 -108
  70. package/dist/shared/assistant/ui/AssistantOverlay.d.ts +2 -2
  71. package/dist/shared/assistant/ui/WorkflowAssistantPanel.d.ts +1 -1
  72. package/dist/shared/assistant/ui/composer/AssistantAttachmentButton.d.ts.map +1 -1
  73. package/dist/shared/assistant/ui/composer/AssistantAttachmentButton.js +66 -62
  74. package/dist/shared/assistant/ui/controlConfirmDialog.js +4 -4
  75. package/dist/shared/assistant/ui/useDropdownEscape.d.ts +8 -30
  76. package/dist/shared/assistant/ui/useDropdownEscape.d.ts.map +1 -1
  77. package/dist/shared/assistant/ui/useDropdownEscape.js +6 -20
  78. package/dist/shared/assistant/ui/voice/AssistantVoiceSession.js +7 -7
  79. package/dist/shared/assistant/uiActions/recordNames.d.ts +18 -6
  80. package/dist/shared/assistant/uiActions/recordNames.d.ts.map +1 -1
  81. package/dist/shared/assistant/uiActions/recordNames.js +42 -37
  82. package/dist/shared/components/AccessDenied.d.ts +2 -2
  83. package/dist/shared/components/AppErrorBoundary.d.ts +1 -1
  84. package/dist/shared/components/ConditionalShell.d.ts +1 -1
  85. package/dist/shared/components/ContextConversationWidget.d.ts +1 -1
  86. package/dist/shared/components/ErrorFallback.d.ts +1 -1
  87. package/dist/shared/components/EscapeLayer.d.ts +15 -0
  88. package/dist/shared/components/EscapeLayer.d.ts.map +1 -0
  89. package/dist/shared/components/EscapeLayer.js +31 -0
  90. package/dist/shared/components/KeyboardHelpDialogWrapper.d.ts +1 -1
  91. package/dist/shared/components/LoadingFallback.d.ts +3 -3
  92. package/dist/shared/components/MicrofrontendErrorBoundary.d.ts +1 -1
  93. package/dist/shared/components/PWAInstallBanner.d.ts +1 -1
  94. package/dist/shared/components/ProductAccessGuard.d.ts +1 -1
  95. package/dist/shared/components/QuotaMeter.d.ts +1 -1
  96. package/dist/shared/components/RequireAuth.d.ts +2 -2
  97. package/dist/shared/components/SSORedirectGuard.d.ts +1 -1
  98. package/dist/shared/components/SearchPage.d.ts +1 -1
  99. package/dist/shared/components/UpgradeInlineBanner.d.ts +1 -1
  100. package/dist/shared/components/UpgradePromptModal.d.ts +1 -1
  101. package/dist/shared/components/contextConversationWidget/Composer.d.ts +1 -1
  102. package/dist/shared/components/contextConversationWidget/MessageItem.d.ts +1 -1
  103. package/dist/shared/components/contextConversationWidget/MessageList.d.ts +1 -1
  104. package/dist/shared/components/contextConversationWidget/NoWorkspaceCard.d.ts +1 -1
  105. package/dist/shared/components/contextConversationWidget/PendingAttachmentsBar.d.ts +1 -1
  106. package/dist/shared/components/contextConversationWidget/ReplyBanner.d.ts +1 -1
  107. package/dist/shared/components/contextConversationWidget/WidgetHeader.d.ts +1 -1
  108. package/dist/shared/components/searchPage/FiltersPanel.d.ts +1 -1
  109. package/dist/shared/components/searchPage/Pagination.d.ts +1 -1
  110. package/dist/shared/components/searchPage/ResultsHeader.d.ts +1 -1
  111. package/dist/shared/components/searchPage/ResultsList.d.ts +1 -1
  112. package/dist/shared/components/searchPage/SearchInput.d.ts +1 -1
  113. package/dist/shared/components/searchPage/SearchToolbar.d.ts +1 -1
  114. package/dist/shared/config/eslint.config.d.ts +1 -1
  115. package/dist/shared/events/index.d.ts +1 -1
  116. package/dist/shared/events/sinks/RybbitSink.d.ts +1 -1
  117. package/dist/shared/feature-flags/FeatureFlagProvider.d.ts +1 -1
  118. package/dist/shared/feature-flags/FeatureGate.d.ts +1 -1
  119. package/dist/shared/geography/GeographyProvider.d.ts +1 -1
  120. package/dist/shared/graphql/GatewayContext.d.ts +1 -1
  121. package/dist/shared/help/HelpProvider.d.ts +1 -1
  122. package/dist/shared/motion/AnimatedCounter.d.ts +1 -1
  123. package/dist/shared/motion/MotionCard.d.ts +1 -1
  124. package/dist/shared/motion/MotionCollapse.d.ts +1 -1
  125. package/dist/shared/motion/MotionFade.d.ts +1 -1
  126. package/dist/shared/motion/MotionItem.d.ts +1 -1
  127. package/dist/shared/motion/MotionList.d.ts +1 -1
  128. package/dist/shared/motion/MotionPage.d.ts +1 -1
  129. package/dist/shared/native/SafeAreaView.d.ts +1 -1
  130. package/dist/shared/pages/AiPage.d.ts +1 -1
  131. package/dist/shared/pages/LegalPage.d.ts +1 -1
  132. package/dist/shared/pages/NotFoundPage.d.ts +1 -1
  133. package/dist/shared/pages/SearchPage.d.ts +1 -1
  134. package/dist/shared/pages/searchPage/ActiveFilterChips.d.ts +1 -1
  135. package/dist/shared/pages/searchPage/FiltersPanel.d.ts +1 -1
  136. package/dist/shared/pages/searchPage/ResultsList.d.ts +1 -1
  137. package/dist/shared/pages/searchPage/ResultsStatus.d.ts +1 -1
  138. package/dist/shared/pages/searchPage/SearchInput.d.ts +1 -1
  139. package/dist/shared/pages/searchPage/SearchPagination.d.ts +1 -1
  140. package/dist/shared/pages/searchPage/SearchToolbar.d.ts +1 -1
  141. package/dist/shared/plugins/PluginRuntimeProvider.d.ts +1 -1
  142. package/dist/shared/plugins/iframe-mount/PluginIframe.d.ts +1 -1
  143. package/dist/shared/plugins/iframe-mount/PluginMount.d.ts +1 -1
  144. package/dist/shared/providers/AppShellProvider.d.ts +1 -1
  145. package/dist/shared/providers/MicrofrontendProvider.d.ts +1 -1
  146. package/dist/shared/providers/index.d.ts +1 -1
  147. package/dist/shared/providers/shell/ActiveContextProvider.d.ts +1 -1
  148. package/dist/shared/providers/shell/AppShellContext.d.ts +1 -1
  149. package/dist/shared/providers/shell/AuthProvider.d.ts +1 -1
  150. package/dist/shared/providers/shell/AuthTokenProvider.d.ts +1 -1
  151. package/dist/shared/providers/shell/ContextManagerProvider.d.ts +1 -1
  152. package/dist/shared/providers/shell/FeatureFlagsProvider.d.ts +1 -1
  153. package/dist/shared/providers/shell/GatewayRouter.d.ts +1 -1
  154. package/dist/shared/providers/shell/GlobalUiProvider.d.ts +1 -1
  155. package/dist/shared/providers/shell/I18nProvider.d.ts +1 -1
  156. package/dist/shared/providers/shell/MultiGatewayProvider.d.ts +1 -1
  157. package/dist/shared/providers/shell/ObservabilityProvider.d.ts +1 -1
  158. package/dist/shared/providers/shell/PageConversationContextProvider.d.ts +1 -1
  159. package/dist/shared/providers/shell/PermissionProvider.d.ts +1 -1
  160. package/dist/shared/providers/shell/PersonaSurfaceProvider.d.ts +1 -1
  161. package/dist/shared/providers/shell/ProfileGeographyBridge.d.ts +1 -1
  162. package/dist/shared/providers/shell/ProfileI18nBridge.d.ts +1 -1
  163. package/dist/shared/providers/shell/ShellUiProvider.d.ts +1 -1
  164. package/dist/shared/providers/shell/ThemeProvider.d.ts +1 -1
  165. package/dist/shared/tours/TourPermissionsBoundary.d.ts +1 -1
  166. package/dist/shared/tours/TourPlayer.d.ts +1 -1
  167. package/dist/shared/tours/TourPlayerProvider.d.ts +1 -1
  168. package/dist/shared/tours/TourTrigger.d.ts +1 -1
  169. package/dist/shared/tours/ToursContext.d.ts +1 -1
  170. package/dist/shared/tours/tourTrigger/TourListItemDesktop.d.ts +1 -1
  171. package/dist/shared/tours/tourTrigger/TourListItemMobile.d.ts +1 -1
  172. package/dist/shared/tours/tourTrigger/TourLoadError.d.ts +1 -1
  173. package/dist/shared/tours/tourTrigger/TourStatusChip.d.ts +1 -1
  174. package/dist/shared/utils/appHelpers.d.ts +1 -1
  175. package/dist/shared-assistant.d.ts +1 -1
  176. package/dist/shared-assistant.js +151 -150
  177. package/dist/shared-components.d.ts +1 -1
  178. package/dist/shared-config.d.ts +1 -1
  179. package/dist/shared-events.d.ts +1 -1
  180. package/dist/shared-feature-flags.d.ts +1 -1
  181. package/dist/shared-geography.d.ts +1 -1
  182. package/dist/shared-graphql.d.ts +1 -1
  183. package/dist/shared-hooks-shell.d.ts +1 -1
  184. package/dist/shared-hooks.d.ts +1 -1
  185. package/dist/shared-keyboard.d.ts +1 -1
  186. package/dist/shared-logger.d.ts +1 -1
  187. package/dist/shared-motion.d.ts +1 -1
  188. package/dist/shared-native.d.ts +1 -1
  189. package/dist/shared-pages.d.ts +1 -1
  190. package/dist/shared-plugins.d.ts +1 -1
  191. package/dist/shared-providers-shell.d.ts +1 -1
  192. package/dist/shared-providers.d.ts +1 -1
  193. package/dist/shared-shims.d.ts +1 -1
  194. package/dist/shared-tours.d.ts +1 -1
  195. package/dist/shared-utils.d.ts +1 -1
  196. package/dist/shared.d.ts +1 -1
  197. package/dist/sharing.d.ts +1 -1
  198. package/dist/shell-native.d.ts +1 -1
  199. package/dist/storage/SaveToFilesButton.d.ts +1 -1
  200. package/dist/storage/SaveToFilesDialog.d.ts +1 -1
  201. package/dist/storage/StorageFolderPicker.d.ts +1 -1
  202. package/dist/tag/TagBadge.d.ts +1 -1
  203. package/dist/tag/TagsWidget.d.ts +1 -1
  204. package/dist/tag/tagsWidget/TagBadgeList.d.ts +1 -1
  205. package/dist/tag/tagsWidget/TagSearchPopover.d.ts +1 -1
  206. package/dist/tag.d.ts +1 -1
  207. package/dist/ui/accordion.d.ts +4 -4
  208. package/dist/ui/action-sheet.d.ts +1 -1
  209. package/dist/ui/alert-dialog.d.ts +11 -11
  210. package/dist/ui/aurora-background.d.ts +1 -1
  211. package/dist/ui/badge.d.ts +1 -1
  212. package/dist/ui/bottom-sheet.d.ts +8 -8
  213. package/dist/ui/branded-splash.d.ts +1 -1
  214. package/dist/ui/button.d.ts +1 -1
  215. package/dist/ui/card.d.ts +6 -6
  216. package/dist/ui/checkbox.d.ts +1 -1
  217. package/dist/ui/command.d.ts +9 -9
  218. package/dist/ui/cta-overflow-menu.d.ts +1 -1
  219. package/dist/ui/dialog.d.ts +10 -10
  220. package/dist/ui/dropdown-menu.d.ts +9 -9
  221. package/dist/ui/emphasis-panel.d.ts +1 -1
  222. package/dist/ui/empty-state.d.ts +1 -1
  223. package/dist/ui/entity-id-modal.d.ts +1 -1
  224. package/dist/ui/glass-card.d.ts +1 -1
  225. package/dist/ui/gradient-text.d.ts +1 -1
  226. package/dist/ui/guidance.d.ts +2 -2
  227. package/dist/ui/illustration.d.ts +2 -2
  228. package/dist/ui/input.d.ts +1 -1
  229. package/dist/ui/label.d.ts +1 -1
  230. package/dist/ui/modal-shell.d.ts +1 -1
  231. package/dist/ui/modern-landing.d.ts +1 -1
  232. package/dist/ui/native-welcome.d.ts +1 -1
  233. package/dist/ui/offline-banner.d.ts +1 -1
  234. package/dist/ui/optional-fields.d.ts +1 -1
  235. package/dist/ui/pagination.d.ts +1 -1
  236. package/dist/ui/popover.d.ts +4 -4
  237. package/dist/ui/pull-to-refresh.d.ts +1 -1
  238. package/dist/ui/pwa-update-toast.d.ts +1 -1
  239. package/dist/ui/responsive-dialog.d.ts +8 -8
  240. package/dist/ui/responsive-stack.d.ts +1 -1
  241. package/dist/ui/responsive-table.d.ts +1 -1
  242. package/dist/ui/scroll-area.d.ts +2 -2
  243. package/dist/ui/select.d.ts +8 -8
  244. package/dist/ui/separator.d.ts +1 -1
  245. package/dist/ui/sheet.d.ts +8 -8
  246. package/dist/ui/show-more.d.ts +1 -1
  247. package/dist/ui/skeleton.d.ts +1 -1
  248. package/dist/ui/sonner.d.ts +1 -1
  249. package/dist/ui/spinner.d.ts +1 -1
  250. package/dist/ui/stepper.d.ts +1 -1
  251. package/dist/ui/switch.d.ts +1 -1
  252. package/dist/ui/table.d.ts +8 -8
  253. package/dist/ui/tabs.d.ts +4 -4
  254. package/dist/ui/textarea.d.ts +1 -1
  255. package/dist/ui/tooltip.d.ts +1 -1
  256. package/dist/ui.d.ts +1 -1
  257. package/package.json +7 -4
@@ -8,76 +8,76 @@ import { NotificationHeader as o } from "./notificationCenter/NotificationHeader
8
8
  import { NotificationList as s } from "./notificationCenter/NotificationList.js";
9
9
  import { NotificationPanel as c } from "./notificationCenter/NotificationPanel.js";
10
10
  import { useNotificationCenter as l } from "./notificationCenter/useNotificationCenter.js";
11
- import { useEscapeClose as u, useOutsideClickClose as d, usePanelChrome as f } from "./notificationCenter/usePanelChrome.js";
12
- import { useCallback as p, useEffect as m, useMemo as h, useRef as g, useState as _ } from "react";
13
- import { jsx as v, jsxs as y } from "react/jsx-runtime";
11
+ import { useOutsideClickClose as u, usePanelChrome as d } from "./notificationCenter/usePanelChrome.js";
12
+ import { useCallback as f, useEffect as p, useMemo as m, useRef as h, useState as g } from "react";
13
+ import { jsx as _, jsxs as v } from "react/jsx-runtime";
14
14
  //#region src/chrome/NotificationCenter.tsx
15
- var b = ({ client: b, onViewAll: x, compact: S = !1, pollInterval: C = 3e4, lazy: w = !1 }) => {
16
- let T = g(null), [E, D] = _(!1), [O, k] = _("all"), [A, j] = _("ALL"), [M, N] = _("ALL"), [P, F] = _("newest"), I = p(() => D(!1), []), L = p(() => D((e) => !e), []);
17
- t("header.notifications", h(() => ({ run: () => E ? { status: "already" } : (D(!0), { status: "done" }) }), [E]));
18
- let { isMobile: R } = f();
19
- d(E, R, T, I), u(E, I);
20
- let { notifications: z, unreadCount: B, countsByApp: V, totalCount: H, loading: U, error: W, fetchNotifications: G, handleMarkAsRead: K, handleMarkAllAsRead: q, handleDelete: J } = l({
21
- client: b,
22
- isOpen: E,
23
- lazy: w,
24
- filterTab: O,
25
- typeFilter: A,
26
- appFilter: M
15
+ var y = ({ client: y, onViewAll: b, compact: x = !1, pollInterval: S = 3e4, lazy: C = !1 }) => {
16
+ let w = h(null), [T, E] = g(!1), [D, O] = g("all"), [k, A] = g("ALL"), [j, M] = g("ALL"), [N, P] = g("newest"), F = f(() => E(!1), []), I = f(() => E((e) => !e), []);
17
+ t("header.notifications", m(() => ({ run: () => T ? { status: "already" } : (E(!0), { status: "done" }) }), [T]));
18
+ let { isMobile: L } = d();
19
+ u(T, L, w, F);
20
+ let { notifications: R, unreadCount: z, countsByApp: B, totalCount: V, loading: H, error: U, fetchNotifications: W, handleMarkAsRead: G, handleMarkAllAsRead: K, handleDelete: q } = l({
21
+ client: y,
22
+ isOpen: T,
23
+ lazy: C,
24
+ filterTab: D,
25
+ typeFilter: k,
26
+ appFilter: j
27
27
  });
28
- m(() => {
29
- e(B);
30
- }, [B]);
31
- let Y = p((e) => {
28
+ p(() => {
29
+ e(z);
30
+ }, [z]);
31
+ let J = f((e) => {
32
32
  window.open(e, "_blank", "noopener,noreferrer");
33
- }, []), X = p(() => {
34
- D(!1), x?.();
35
- }, [x]), Z = r(z, P), Q = Object.entries(V).filter(([e]) => e && e !== "null").sort((e, t) => t[1] - e[1]);
36
- return /* @__PURE__ */ y("div", {
37
- ref: T,
33
+ }, []), Y = f(() => {
34
+ E(!1), b?.();
35
+ }, [b]), X = r(R, N), Z = Object.entries(B).filter(([e]) => e && e !== "null").sort((e, t) => t[1] - e[1]);
36
+ return /* @__PURE__ */ v("div", {
37
+ ref: w,
38
38
  className: "relative",
39
- children: [/* @__PURE__ */ v(n, {
40
- unreadCount: B,
41
- isOpen: E,
42
- onToggle: L
43
- }), E && /* @__PURE__ */ v(c, {
44
- isMobile: R,
45
- onClose: I,
46
- children: /* @__PURE__ */ y("div", {
39
+ children: [/* @__PURE__ */ _(n, {
40
+ unreadCount: z,
41
+ isOpen: T,
42
+ onToggle: I
43
+ }), T && /* @__PURE__ */ _(c, {
44
+ isMobile: L,
45
+ onClose: F,
46
+ children: /* @__PURE__ */ v("div", {
47
47
  className: "flex flex-col h-full",
48
48
  children: [
49
- /* @__PURE__ */ v(o, {
50
- isMobile: R,
51
- unreadCount: B,
52
- onClose: I,
53
- onMarkAllAsRead: q
49
+ /* @__PURE__ */ _(o, {
50
+ isMobile: L,
51
+ unreadCount: z,
52
+ onClose: F,
53
+ onMarkAllAsRead: K
54
54
  }),
55
- /* @__PURE__ */ v(i, {
56
- filterTab: O,
57
- typeFilter: A,
58
- appFilter: M,
59
- sortBy: P,
60
- appNames: Q,
61
- onFilterTabChange: k,
62
- onTypeFilterChange: j,
63
- onAppFilterChange: N,
64
- onSortByChange: F
55
+ /* @__PURE__ */ _(i, {
56
+ filterTab: D,
57
+ typeFilter: k,
58
+ appFilter: j,
59
+ sortBy: N,
60
+ appNames: Z,
61
+ onFilterTabChange: O,
62
+ onTypeFilterChange: A,
63
+ onAppFilterChange: M,
64
+ onSortByChange: P
65
65
  }),
66
- /* @__PURE__ */ v(s, {
67
- loading: U,
68
- error: W,
69
- notifications: Z,
70
- filterTab: O,
71
- typeFilter: A,
72
- appFilter: M,
73
- onRetry: G,
74
- onMarkAsRead: K,
75
- onDelete: J,
76
- onRedirect: Y
66
+ /* @__PURE__ */ _(s, {
67
+ loading: H,
68
+ error: U,
69
+ notifications: X,
70
+ filterTab: D,
71
+ typeFilter: k,
72
+ appFilter: j,
73
+ onRetry: W,
74
+ onMarkAsRead: G,
75
+ onDelete: q,
76
+ onRedirect: J
77
77
  }),
78
- Z.length > 0 && /* @__PURE__ */ v(a, {
79
- totalCount: H,
80
- onViewAll: x ? X : void 0
78
+ X.length > 0 && /* @__PURE__ */ _(a, {
79
+ totalCount: V,
80
+ onViewAll: b ? Y : void 0
81
81
  })
82
82
  ]
83
83
  })
@@ -85,4 +85,4 @@ var b = ({ client: b, onViewAll: x, compact: S = !1, pollInterval: C = 3e4, lazy
85
85
  });
86
86
  };
87
87
  //#endregion
88
- export { b as NotificationCenter };
88
+ export { y as NotificationCenter };
@@ -13,5 +13,5 @@ export interface PageHeaderProps {
13
13
  className?: string;
14
14
  }
15
15
  /** Canonical page header. One primary action max. Mobile-aware. */
16
- export declare function PageHeader({ title, description, actions, breadcrumb, icon, toolbar, className, }: PageHeaderProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare function PageHeader({ title, description, actions, breadcrumb, icon, toolbar, className, }: PageHeaderProps): import('react/jsx-runtime').JSX.Element;
17
17
  //# sourceMappingURL=PageHeader.d.ts.map
@@ -21,11 +21,11 @@ export interface PersonaSurfaceControlsProps {
21
21
  /** Customize button label (a11y). @default "Customize menu" */
22
22
  customizeLabel?: string;
23
23
  }
24
- export declare function PersonaSurfaceControls({ everythingLabel, customizeLabel, }: PersonaSurfaceControlsProps): import("react/jsx-runtime").JSX.Element | null;
24
+ export declare function PersonaSurfaceControls({ everythingLabel, customizeLabel, }: PersonaSurfaceControlsProps): import('react/jsx-runtime').JSX.Element | null;
25
25
  /**
26
26
  * Viewport-fixed simulation indicator. Must be rendered OUTSIDE the sidebar
27
27
  * `aside` (its backdrop-filter creates a containing block that would trap
28
28
  * `position: fixed`). ProductSideNav renders it next to the nav.
29
29
  */
30
- export declare function PersonaSimulationPill(): import("react/jsx-runtime").JSX.Element | null;
30
+ export declare function PersonaSimulationPill(): import('react/jsx-runtime').JSX.Element | null;
31
31
  //# sourceMappingURL=PersonaSurfaceControls.d.ts.map
@@ -18,5 +18,5 @@ export interface ProductSideNavProps {
18
18
  /** Collapse button label (default: "Collapse") */
19
19
  collapseLabel?: string;
20
20
  }
21
- export declare function ProductSideNav({ logo, appName, groupOrder, groupLabels, mobileActions, customHeader, homeAriaLabel, collapseLabel, }: ProductSideNavProps): import("react/jsx-runtime").JSX.Element;
21
+ export declare function ProductSideNav({ logo, appName, groupOrder, groupLabels, mobileActions, customHeader, homeAriaLabel, collapseLabel, }: ProductSideNavProps): import('react/jsx-runtime').JSX.Element;
22
22
  //# sourceMappingURL=ProductSideNav.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShortcutHelpDialog.d.ts","sourceRoot":"","sources":["../../src/chrome/ShortcutHelpDialog.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAqB,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAGnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,WAAW,uBAAuB;IACtC,iCAAiC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,wCAAwC;IACxC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,4CAA4C;IAC5C,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,uBAAuB,CA4J1D,CAAC"}
1
+ {"version":3,"file":"ShortcutHelpDialog.d.ts","sourceRoot":"","sources":["../../src/chrome/ShortcutHelpDialog.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAqB,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAGnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAIjE,MAAM,WAAW,uBAAuB;IACtC,iCAAiC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,wCAAwC;IACxC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,4CAA4C;IAC5C,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,uBAAuB,CA8J1D,CAAC"}
@@ -1,123 +1,129 @@
1
1
  import { detectPlatform as e, getDisplayKeysForPlatform as t } from "../shared/keyboard/utils.js";
2
- import { useEffect as n, useRef as r } from "react";
3
- import { X as i } from "lucide-react";
4
- import { jsx as a, jsxs as o } from "react/jsx-runtime";
2
+ import { EscapeLayer as n } from "../shared/components/EscapeLayer.js";
3
+ import { SHELL_OVERLAY_LAYER_CLASS as r } from "./shellOverlayLayer.js";
4
+ import { useEffect as i, useRef as a } from "react";
5
+ import { X as o } from "lucide-react";
6
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
5
7
  //#region src/chrome/ShortcutHelpDialog.tsx
6
- var s = ({ isOpen: s, onClose: c, shortcuts: l }) => {
7
- let u = r(null), d = r(c);
8
- if (n(() => {
9
- d.current = c;
10
- }), n(() => {
11
- if (!s) return;
8
+ var l = ({ isOpen: l, onClose: u, shortcuts: d }) => {
9
+ let f = a(null), p = a(u);
10
+ if (i(() => {
11
+ p.current = u;
12
+ }), i(() => {
13
+ if (!l) return;
12
14
  let e = setTimeout(() => {
13
15
  let e = (e) => {
14
- (e.key === "Escape" || e.key === "?") && (e.preventDefault(), e.stopPropagation(), d.current());
16
+ e.key === "?" && (e.preventDefault(), e.stopPropagation(), p.current());
15
17
  };
16
- u.current = e, document.addEventListener("keydown", e);
18
+ f.current = e, document.addEventListener("keydown", e);
17
19
  }, 100);
18
20
  return () => {
19
- clearTimeout(e), u.current &&= (document.removeEventListener("keydown", u.current), null);
21
+ clearTimeout(e), f.current &&= (document.removeEventListener("keydown", f.current), null);
20
22
  };
21
- }, [s]), n(() => {
22
- if (s) return document.body.style.overflow = "hidden", () => {
23
+ }, [l]), i(() => {
24
+ if (l) return document.body.style.overflow = "hidden", () => {
23
25
  document.body.style.overflow = "";
24
26
  };
25
- }, [s]), !s) return null;
26
- let f = l.reduce((e, t) => {
27
+ }, [l]), !l) return null;
28
+ let m = d.reduce((e, t) => {
27
29
  let n = t.category || "Other";
28
30
  return e[n] || (e[n] = []), e[n].push(t), e;
29
- }, {}), p = Object.keys(f).sort((e, t) => {
31
+ }, {}), h = Object.keys(m).sort((e, t) => {
30
32
  let n = {
31
33
  Navigation: 0,
32
34
  Actions: 1,
33
35
  UI: 2
34
36
  }, r = n[e] ?? 99, i = n[t] ?? 99;
35
37
  return r === i ? e.localeCompare(t) : r - i;
36
- }), m = e(), h = m === "mac" ? "macOS" : m === "windows" ? "Windows" : "Linux";
37
- return /* @__PURE__ */ o("div", {
38
- className: "fixed inset-0 z-[9999] flex items-center justify-center animate-in fade-in duration-200",
39
- children: [/* @__PURE__ */ a("div", {
40
- className: "absolute inset-0 bg-bg-overlay backdrop-blur-sm",
41
- onClick: c,
42
- "aria-hidden": "true"
43
- }), /* @__PURE__ */ o("div", {
44
- className: "relative bg-bg-elevated border border-border-subtle rounded-card shadow-[var(--shadow-elevation-4)] max-w-2xl w-full mx-4 max-h-[85dvh] flex flex-col animate-in fade-in-0 zoom-in-95 slide-in-from-bottom-4 duration-300",
38
+ }), g = e(), _ = g === "mac" ? "macOS" : g === "windows" ? "Windows" : "Linux";
39
+ return /* @__PURE__ */ s(n, {
40
+ modal: !0,
41
+ onDismiss: u,
42
+ children: /* @__PURE__ */ c("div", {
43
+ className: `fixed inset-0 ${r} flex items-center justify-center animate-in fade-in duration-200`,
45
44
  role: "dialog",
46
45
  "aria-modal": "true",
47
46
  "aria-labelledby": "shortcut-dialog-title",
48
- children: [
49
- /* @__PURE__ */ o("div", {
50
- className: "flex items-center justify-between p-6 border-b border-border-subtle",
51
- children: [/* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("h2", {
52
- id: "shortcut-dialog-title",
53
- className: "text-lg font-semibold text-text-primary",
54
- children: "Keyboard Shortcuts"
55
- }), /* @__PURE__ */ a("p", {
56
- className: "text-text-secondary text-sm mt-1",
57
- children: "Quickly navigate and perform actions using your keyboard"
58
- })] }), /* @__PURE__ */ a("button", {
59
- type: "button",
60
- onClick: c,
61
- className: "p-2 hover:bg-bg-sunken rounded-button text-text-secondary transition-colors",
62
- "aria-label": "Close",
63
- children: /* @__PURE__ */ a(i, { className: "size-5" })
64
- })]
65
- }),
66
- /* @__PURE__ */ a("div", {
67
- className: "flex-1 overflow-y-auto p-6",
68
- children: /* @__PURE__ */ a("div", {
69
- className: "grid grid-cols-1 md:grid-cols-2 gap-8",
70
- children: p.map((e) => /* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a("h3", {
71
- className: "text-sm font-semibold text-text-primary mb-3",
72
- children: e
73
- }), /* @__PURE__ */ a("div", {
74
- className: "space-y-1",
75
- children: f[e].map((e, n) => /* @__PURE__ */ o("div", {
76
- className: "flex items-center justify-between py-2 px-3 rounded-button hover:bg-bg-sunken transition-all duration-200 hover:translate-x-0.5",
77
- style: { animationDelay: `${n * 30}ms` },
78
- children: [/* @__PURE__ */ a("span", {
79
- className: "text-text-primary text-sm",
80
- children: e.description
81
- }), /* @__PURE__ */ a("kbd", {
82
- className: "ml-4 px-2.5 py-1 bg-bg-sunken border border-border-subtle rounded text-text-secondary text-xs font-mono whitespace-nowrap transition-all duration-200 hover:scale-105",
83
- children: t(e.keys)
84
- })]
85
- }, e.id))
86
- })] }, e))
87
- })
88
- }),
89
- /* @__PURE__ */ a("div", {
90
- className: "p-4 border-t border-border-subtle bg-bg-sunken/50 rounded-b-card",
91
- children: /* @__PURE__ */ o("div", {
92
- className: "flex items-center justify-between text-xs",
93
- children: [/* @__PURE__ */ o("p", {
94
- className: "text-text-muted",
95
- children: [h, " shortcuts"]
96
- }), /* @__PURE__ */ o("p", {
97
- className: "text-text-secondary",
98
- children: [
99
- "Press",
100
- " ",
101
- /* @__PURE__ */ a("kbd", {
102
- className: "px-1.5 py-0.5 bg-bg-surface border border-border-subtle rounded font-mono",
103
- children: "?"
104
- }),
105
- " ",
106
- "or",
107
- " ",
108
- /* @__PURE__ */ a("kbd", {
109
- className: "px-1.5 py-0.5 bg-bg-surface border border-border-subtle rounded font-mono",
110
- children: "Esc"
111
- }),
112
- " ",
113
- "to close"
114
- ]
47
+ children: [/* @__PURE__ */ s("div", {
48
+ className: "absolute inset-0 bg-bg-overlay backdrop-blur-sm",
49
+ onClick: u,
50
+ "aria-hidden": "true"
51
+ }), /* @__PURE__ */ c("div", {
52
+ className: "relative bg-bg-elevated border border-border-subtle rounded-card shadow-[var(--shadow-elevation-4)] max-w-2xl w-full mx-4 max-h-[85dvh] flex flex-col animate-in fade-in-0 zoom-in-95 slide-in-from-bottom-4 duration-300",
53
+ children: [
54
+ /* @__PURE__ */ c("div", {
55
+ className: "flex items-center justify-between p-6 border-b border-border-subtle",
56
+ children: [/* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("h2", {
57
+ id: "shortcut-dialog-title",
58
+ className: "text-lg font-semibold text-text-primary",
59
+ children: "Keyboard Shortcuts"
60
+ }), /* @__PURE__ */ s("p", {
61
+ className: "text-text-secondary text-sm mt-1",
62
+ children: "Quickly navigate and perform actions using your keyboard"
63
+ })] }), /* @__PURE__ */ s("button", {
64
+ type: "button",
65
+ onClick: u,
66
+ className: "p-2 hover:bg-bg-sunken rounded-button text-text-secondary transition-colors",
67
+ "aria-label": "Close",
68
+ children: /* @__PURE__ */ s(o, { className: "size-5" })
115
69
  })]
70
+ }),
71
+ /* @__PURE__ */ s("div", {
72
+ className: "flex-1 overflow-y-auto p-6",
73
+ children: /* @__PURE__ */ s("div", {
74
+ className: "grid grid-cols-1 md:grid-cols-2 gap-8",
75
+ children: h.map((e) => /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("h3", {
76
+ className: "text-sm font-semibold text-text-primary mb-3",
77
+ children: e
78
+ }), /* @__PURE__ */ s("div", {
79
+ className: "space-y-1",
80
+ children: m[e].map((e, n) => /* @__PURE__ */ c("div", {
81
+ className: "flex items-center justify-between py-2 px-3 rounded-button hover:bg-bg-sunken transition-all duration-200 hover:translate-x-0.5",
82
+ style: { animationDelay: `${n * 30}ms` },
83
+ children: [/* @__PURE__ */ s("span", {
84
+ className: "text-text-primary text-sm",
85
+ children: e.description
86
+ }), /* @__PURE__ */ s("kbd", {
87
+ className: "ml-4 px-2.5 py-1 bg-bg-sunken border border-border-subtle rounded text-text-secondary text-xs font-mono whitespace-nowrap transition-all duration-200 hover:scale-105",
88
+ children: t(e.keys)
89
+ })]
90
+ }, e.id))
91
+ })] }, e))
92
+ })
93
+ }),
94
+ /* @__PURE__ */ s("div", {
95
+ className: "p-4 border-t border-border-subtle bg-bg-sunken/50 rounded-b-card",
96
+ children: /* @__PURE__ */ c("div", {
97
+ className: "flex items-center justify-between text-xs",
98
+ children: [/* @__PURE__ */ c("p", {
99
+ className: "text-text-muted",
100
+ children: [_, " shortcuts"]
101
+ }), /* @__PURE__ */ c("p", {
102
+ className: "text-text-secondary",
103
+ children: [
104
+ "Press",
105
+ " ",
106
+ /* @__PURE__ */ s("kbd", {
107
+ className: "px-1.5 py-0.5 bg-bg-surface border border-border-subtle rounded font-mono",
108
+ children: "?"
109
+ }),
110
+ " ",
111
+ "or",
112
+ " ",
113
+ /* @__PURE__ */ s("kbd", {
114
+ className: "px-1.5 py-0.5 bg-bg-surface border border-border-subtle rounded font-mono",
115
+ children: "Esc"
116
+ }),
117
+ " ",
118
+ "to close"
119
+ ]
120
+ })]
121
+ })
116
122
  })
117
- })
118
- ]
119
- })]
123
+ ]
124
+ })]
125
+ })
120
126
  });
121
127
  };
122
128
  //#endregion
123
- export { s as ShortcutHelpDialog };
129
+ export { l as ShortcutHelpDialog };
@@ -11,5 +11,5 @@ export interface ThemePreferencesProps {
11
11
  * exception is the `value` of the `<input type="color">` inside the custom editor,
12
12
  * which is data entry (a hex string), never a className.
13
13
  */
14
- export declare function ThemePreferences({ className, showCustomThemes }: ThemePreferencesProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function ThemePreferences({ className, showCustomThemes }: ThemePreferencesProps): import('react/jsx-runtime').JSX.Element;
15
15
  //# sourceMappingURL=ThemePreferences.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationPanel.d.ts","sourceRoot":"","sources":["../../../src/chrome/notificationCenter/NotificationPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGhD,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CA8BxD,CAAC"}
1
+ {"version":3,"file":"NotificationPanel.d.ts","sourceRoot":"","sources":["../../../src/chrome/notificationCenter/NotificationPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAKhD,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAmCxD,CAAC"}
@@ -1,20 +1,31 @@
1
- import { Fragment as e, jsx as t, jsxs as n } from "react/jsx-runtime";
2
- import { createPortal as r } from "react-dom";
1
+ import { EscapeLayer as e } from "../../shared/components/EscapeLayer.js";
2
+ import { SHELL_OVERLAY_LAYER_CLASS as t } from "../shellOverlayLayer.js";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
+ import { createPortal as i } from "react-dom";
3
5
  //#region src/chrome/notificationCenter/NotificationPanel.tsx
4
- var i = ({ isMobile: i, onClose: a, children: o }) => i ? typeof document > "u" ? null : r(/* @__PURE__ */ n(e, { children: [/* @__PURE__ */ t("div", {
5
- className: "fixed inset-0 bg-bg-overlay backdrop-blur-sm z-[110]",
6
- onClick: a,
7
- "aria-hidden": "true"
8
- }), /* @__PURE__ */ t("div", {
9
- className: "fixed inset-0 bg-bg-elevated z-[120] flex flex-col",
10
- role: "dialog",
11
- "aria-label": "Notifications panel",
12
- children: o
13
- })] }), document.body) : /* @__PURE__ */ t("div", {
14
- className: "absolute right-0 top-full mt-2 w-[calc(100vw-1.5rem)] sm:w-[420px] max-h-[600px] bg-bg-elevated border border-border-subtle rounded-card shadow-[var(--shadow-elevation-4)] z-50 overflow-hidden flex flex-col",
15
- role: "dialog",
16
- "aria-label": "Notifications panel",
17
- children: o
6
+ var a = ({ isMobile: a, onClose: o, children: s }) => a ? typeof document > "u" ? null : i(/* @__PURE__ */ n(e, {
7
+ onDismiss: o,
8
+ children: /* @__PURE__ */ r("div", {
9
+ className: `fixed inset-0 ${t}`,
10
+ role: "dialog",
11
+ "aria-label": "Notifications panel",
12
+ children: [/* @__PURE__ */ n("div", {
13
+ className: "absolute inset-0 bg-bg-overlay backdrop-blur-sm",
14
+ onClick: o,
15
+ "aria-hidden": "true"
16
+ }), /* @__PURE__ */ n("div", {
17
+ className: "absolute inset-0 bg-bg-elevated flex flex-col",
18
+ children: s
19
+ })]
20
+ })
21
+ }), document.body) : /* @__PURE__ */ n(e, {
22
+ onDismiss: o,
23
+ children: /* @__PURE__ */ n("div", {
24
+ className: "absolute right-0 top-full mt-2 w-[calc(100vw-1.5rem)] sm:w-[420px] max-h-[600px] bg-bg-elevated border border-border-subtle rounded-card shadow-[var(--shadow-elevation-4)] z-50 overflow-hidden flex flex-col",
25
+ role: "dialog",
26
+ "aria-label": "Notifications panel",
27
+ children: s
28
+ })
18
29
  });
19
30
  //#endregion
20
- export { i as NotificationPanel };
31
+ export { a as NotificationPanel };
@@ -3,5 +3,4 @@ export declare function usePanelChrome(): {
3
3
  isMobile: boolean;
4
4
  };
5
5
  export declare function useOutsideClickClose(isOpen: boolean, isMobile: boolean, containerRef: RefObject<HTMLDivElement | null>, close: () => void): void;
6
- export declare function useEscapeClose(isOpen: boolean, close: () => void): void;
7
6
  //# sourceMappingURL=usePanelChrome.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePanelChrome.d.ts","sourceRoot":"","sources":["../../../src/chrome/notificationCenter/usePanelChrome.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAuB,MAAM,OAAO,CAAC;AAE5D,wBAAgB,cAAc;;EAY7B;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,OAAO,EACjB,YAAY,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,EAC9C,KAAK,EAAE,MAAM,IAAI,QAYlB;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,QAShE"}
1
+ {"version":3,"file":"usePanelChrome.d.ts","sourceRoot":"","sources":["../../../src/chrome/notificationCenter/usePanelChrome.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAuB,MAAM,OAAO,CAAC;AAE5D,wBAAgB,cAAc;;EAY7B;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,OAAO,EACjB,YAAY,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,EAC9C,KAAK,EAAE,MAAM,IAAI,QAYlB"}
@@ -23,14 +23,5 @@ function r(t, n, r, i) {
23
23
  i
24
24
  ]);
25
25
  }
26
- function i(t, n) {
27
- e(() => {
28
- if (!t) return;
29
- let e = (e) => {
30
- e.key === "Escape" && n();
31
- };
32
- return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
33
- }, [t, n]);
34
- }
35
26
  //#endregion
36
- export { i as useEscapeClose, r as useOutsideClickClose, n as usePanelChrome };
27
+ export { r as useOutsideClickClose, n as usePanelChrome };
@@ -0,0 +1,42 @@
1
+ /**
2
+ * The ONE paint layer for the shell's own full-surface overlays (BOFF-8677):
3
+ * `GlobalSearch`, `ShortcutHelpDialog` and the mobile `NotificationPanel`.
4
+ *
5
+ * The shell chrome lives in the ROOT stacking context (`AppShellLayout` adds no
6
+ * z-index, transform or isolation), so its raw values compete directly with
7
+ * every body portal:
8
+ *
9
+ * SideNavigation mobile drawer z-[109] scrim, z-[110] aside, z-[112] close strip
10
+ * HeaderBar z-[100]
11
+ * MobileTabBar z-[60] (assistant full-screen voice: z-[60])
12
+ * assistant panel / launcher z-50 / z-30
13
+ * Radix Dialog, menus, selects z-50
14
+ *
15
+ * The overlays sat at z-50 for one release and painted UNDER the header and
16
+ * tab bar: the bell's Close button was hidden in the header's 56px strip and the
17
+ * header showed through the Search / Help backdrop. Hence two rules, one class:
18
+ *
19
+ * 1. `z-[200]` — above every piece of chrome and the assistant. The SAME value
20
+ * for all three: each is a body portal appended in mount order, which is
21
+ * also Radix's DismissableLayer order, so one DOM order decides both which
22
+ * overlay paints on top and which one Escape closes.
23
+ * 2. `[&~*]:z-[200]!` — every body child appended AFTER an open shell overlay
24
+ * joins its layer. Radix portals with `asChild`, so a popper wrapper or a
25
+ * Dialog's overlay + content IS a body child, at z-50 (the popper wrapper
26
+ * copies it as an inline style, hence `!important`). Without this, a menu,
27
+ * select or tooltip opened from inside Search — or a Dialog opened on top
28
+ * of Help — would own Escape while painting under the overlay. At an equal
29
+ * layer, DOM order puts the later one on top, as Radix's stack expects.
30
+ * Earlier body children and the app root are untouched, and the rule
31
+ * vanishes with the overlay.
32
+ *
33
+ * Deliberately above this layer: the legacy `CommandPalette` (z-[9999]) and the
34
+ * plugin context menu (z-[220], transient). Pinned by
35
+ * `src/chrome/__tests__/shellOverlayLayer.test.ts`; proven in a real browser
36
+ * by `scripts/escape-layer-browser.checks.mjs`.
37
+ *
38
+ * ★ One literal: apps' Tailwind scans fe-libs' dist for class names, so the
39
+ * string must never be assembled at runtime.
40
+ */
41
+ export declare const SHELL_OVERLAY_LAYER_CLASS = "z-[200] [&~*]:z-[200]!";
42
+ //# sourceMappingURL=shellOverlayLayer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shellOverlayLayer.d.ts","sourceRoot":"","sources":["../../src/chrome/shellOverlayLayer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,yBAAyB,2BAA2B,CAAC"}
@@ -0,0 +1,4 @@
1
+ //#region src/chrome/shellOverlayLayer.ts
2
+ var e = "z-[200] [&~*]:z-[200]!";
3
+ //#endregion
4
+ export { e as SHELL_OVERLAY_LAYER_CLASS };
package/dist/chrome.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export * from './chrome/index'
1
+ export * from './chrome/index.js'
2
2
  export {}
@@ -7,6 +7,6 @@ export interface EslintConfigOptions {
7
7
  * @param options - Configuration options
8
8
  * @returns ESLint flat config array
9
9
  */
10
- export declare function createEslintConfig(options?: EslintConfigOptions): import("typescript-eslint").FlatConfig.ConfigArray;
10
+ export declare function createEslintConfig(options?: EslintConfigOptions): import('typescript-eslint').FlatConfig.ConfigArray;
11
11
  export default createEslintConfig;
12
12
  //# sourceMappingURL=eslint.config.d.ts.map
@@ -1,2 +1,2 @@
1
- export * from './connections/index'
1
+ export * from './connections/index.js'
2
2
  export {}
@@ -1,2 +1,2 @@
1
- export * from './credentials/index'
1
+ export * from './credentials/index.js'
2
2
  export {}
@@ -58,7 +58,7 @@ export type CheckboxProps = React.ComponentPropsWithoutRef<typeof CheckboxPrimit
58
58
  */
59
59
  export declare function Checkbox({ ref, className, ...props }: CheckboxProps & {
60
60
  ref?: React.Ref<React.ElementRef<typeof CheckboxPrimitive.Root>>;
61
- }): import("react/jsx-runtime").JSX.Element;
61
+ }): import('react/jsx-runtime').JSX.Element;
62
62
  export declare namespace Checkbox {
63
63
  var displayName: string | undefined;
64
64
  }
@@ -72,7 +72,7 @@ export interface FormProps<TFieldValues extends FieldValues> extends Omit<React.
72
72
  * </Form>
73
73
  * ```
74
74
  */
75
- export declare function Form<TFieldValues extends FieldValues>({ schema, onSubmit, formOptions, children, className, ...props }: FormProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
75
+ export declare function Form<TFieldValues extends FieldValues>({ schema, onSubmit, formOptions, children, className, ...props }: FormProps<TFieldValues>): import('react/jsx-runtime').JSX.Element;
76
76
  /**
77
77
  * Hook to access form context
78
78
  *
@@ -31,5 +31,5 @@ export type FormDescriptionProps = React.HTMLAttributes<HTMLParagraphElement>;
31
31
  */
32
32
  export declare function FormDescription({ ref, className, ...props }: FormDescriptionProps & {
33
33
  ref?: React.Ref<HTMLParagraphElement>;
34
- }): import("react/jsx-runtime").JSX.Element;
34
+ }): import('react/jsx-runtime').JSX.Element;
35
35
  //# sourceMappingURL=FormDescription.d.ts.map