@marinoscar/platform-web 0.1.0-next.21 → 0.1.0-next.23

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 (72) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/identity/headless/api.d.ts +9 -0
  3. package/dist/identity/headless/api.d.ts.map +1 -1
  4. package/dist/identity/headless/api.js.map +1 -1
  5. package/dist/identity/ui/ActivateDevicePage.d.ts +7 -1
  6. package/dist/identity/ui/ActivateDevicePage.d.ts.map +1 -1
  7. package/dist/identity/ui/ActivateDevicePage.js +8 -2
  8. package/dist/identity/ui/ActivateDevicePage.js.map +1 -1
  9. package/dist/identity/ui/device/ActivationSuccess.d.ts +11 -1
  10. package/dist/identity/ui/device/ActivationSuccess.d.ts.map +1 -1
  11. package/dist/identity/ui/device/ActivationSuccess.js +17 -2
  12. package/dist/identity/ui/device/ActivationSuccess.js.map +1 -1
  13. package/dist/notifications/headless/NotificationContext.d.ts +2 -0
  14. package/dist/notifications/headless/NotificationContext.d.ts.map +1 -1
  15. package/dist/notifications/headless/NotificationContext.js +45 -3
  16. package/dist/notifications/headless/NotificationContext.js.map +1 -1
  17. package/dist/notifications/headless/api.d.ts +8 -0
  18. package/dist/notifications/headless/api.d.ts.map +1 -1
  19. package/dist/notifications/headless/api.js +10 -0
  20. package/dist/notifications/headless/api.js.map +1 -1
  21. package/dist/notifications/headless/notificationStream.d.ts +1 -1
  22. package/dist/notifications/headless/notificationStream.d.ts.map +1 -1
  23. package/dist/notifications/headless/notificationStream.js +17 -2
  24. package/dist/notifications/headless/notificationStream.js.map +1 -1
  25. package/dist/notifications/headless/types.d.ts +14 -0
  26. package/dist/notifications/headless/types.d.ts.map +1 -1
  27. package/dist/notifications/ui/NotificationBell.d.ts.map +1 -1
  28. package/dist/notifications/ui/NotificationBell.js +8 -4
  29. package/dist/notifications/ui/NotificationBell.js.map +1 -1
  30. package/dist/shell/headless/index.d.ts +3 -1
  31. package/dist/shell/headless/index.d.ts.map +1 -1
  32. package/dist/shell/headless/index.js +1 -0
  33. package/dist/shell/headless/index.js.map +1 -1
  34. package/dist/shell/headless/main-variant.d.ts +46 -0
  35. package/dist/shell/headless/main-variant.d.ts.map +1 -0
  36. package/dist/shell/headless/main-variant.js +55 -0
  37. package/dist/shell/headless/main-variant.js.map +1 -0
  38. package/dist/shell/headless/navigation.d.ts +38 -0
  39. package/dist/shell/headless/navigation.d.ts.map +1 -1
  40. package/dist/shell/headless/navigation.js.map +1 -1
  41. package/dist/shell/testing/index.d.ts +1 -0
  42. package/dist/shell/testing/index.d.ts.map +1 -1
  43. package/dist/shell/testing/index.js +3 -1
  44. package/dist/shell/testing/index.js.map +1 -1
  45. package/dist/shell/testing/match-media.d.ts +10 -0
  46. package/dist/shell/testing/match-media.d.ts.map +1 -0
  47. package/dist/shell/testing/match-media.js +42 -0
  48. package/dist/shell/testing/match-media.js.map +1 -0
  49. package/dist/shell/testing/shell-layout-variants.suite.d.ts +11 -0
  50. package/dist/shell/testing/shell-layout-variants.suite.d.ts.map +1 -0
  51. package/dist/shell/testing/shell-layout-variants.suite.js +161 -0
  52. package/dist/shell/testing/shell-layout-variants.suite.js.map +1 -0
  53. package/dist/shell/testing/shell-local-host.suite.d.ts.map +1 -1
  54. package/dist/shell/testing/shell-local-host.suite.js +1 -31
  55. package/dist/shell/testing/shell-local-host.suite.js.map +1 -1
  56. package/dist/shell/ui/ShellLayout.d.ts +10 -0
  57. package/dist/shell/ui/ShellLayout.d.ts.map +1 -1
  58. package/dist/shell/ui/ShellLayout.js +13 -3
  59. package/dist/shell/ui/ShellLayout.js.map +1 -1
  60. package/dist/shell/ui/ShellNavigationRail.d.ts +7 -0
  61. package/dist/shell/ui/ShellNavigationRail.d.ts.map +1 -1
  62. package/dist/shell/ui/ShellNavigationRail.js +38 -1
  63. package/dist/shell/ui/ShellNavigationRail.js.map +1 -1
  64. package/dist/shell/ui/index.d.ts +3 -1
  65. package/dist/shell/ui/index.d.ts.map +1 -1
  66. package/dist/shell/ui/index.js +3 -1
  67. package/dist/shell/ui/index.js.map +1 -1
  68. package/dist/storage/headless/objects-client.d.ts +8 -2
  69. package/dist/storage/headless/objects-client.d.ts.map +1 -1
  70. package/dist/storage/headless/objects-client.js +1 -0
  71. package/dist/storage/headless/objects-client.js.map +1 -1
  72. package/package.json +2 -2
@@ -176,6 +176,14 @@ export interface AppNotification {
176
176
  readAt: string | null;
177
177
  /** ISO-8601. */
178
178
  createdAt: string;
179
+ /** The occurrence count of a STATE or COUNTED notification; null or absent for a plain one. */
180
+ count?: number | null;
181
+ /** The scope of a STATE or COUNTED notification, or null. */
182
+ scopeId?: string | null;
183
+ /** When it was dismissed; a dismissed notification is not listed. */
184
+ dismissedAt?: string | null;
185
+ /** Last refresh (ISO 8601). */
186
+ updatedAt?: string;
179
187
  }
180
188
  /**
181
189
  * A page of `GET /api/notifications`.
@@ -230,6 +238,12 @@ export interface UnreadCountResponse {
230
238
  * @stability experimental
231
239
  */
232
240
  export type NotificationStreamEvent = Omit<AppNotification, 'readAt'> & {
241
+ /**
242
+ * Why the frame was sent: `created` (a new row), `incremented` (a COUNTED or
243
+ * STATE row grew while unread) or `reunread` (a read row is unread again).
244
+ * Absent from an older server: treat as `created`.
245
+ */
246
+ reason?: 'created' | 'incremented' | 'reunread';
233
247
  /**
234
248
  * May this client raise an OS notification for this event? (#226, epic #215)
235
249
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/notifications/headless/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/notifications/headless/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationBell.d.ts","sourceRoot":"","sources":["../../../src/notifications/ui/NotificationBell.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAuBvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAY5D;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,mEAAmE;IACnE,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,SAAS,CAAC;IACvD,oEAAoE;IACpE,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,eAAe,KAAK,SAAS,CAAC;CAC1D;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,wBAAwB;IACxB,KAAK,CAAC,EAAE,qBAAqB,CAAC;CAC/B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,GAAE,qBAA0B,sCAoQrE;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"NotificationBell.d.ts","sourceRoot":"","sources":["../../../src/notifications/ui/NotificationBell.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAyBvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAY5D;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,mEAAmE;IACnE,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,SAAS,CAAC;IACvD,oEAAoE;IACpE,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,eAAe,KAAK,SAAS,CAAC;CAC1D;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,wBAAwB;IACxB,KAAK,CAAC,EAAE,qBAAqB,CAAC;CAC/B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,GAAE,qBAA0B,sCA2RrE;AAED,eAAe,gBAAgB,CAAC"}
@@ -37,8 +37,8 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
37
37
  * inside the popover rather than off the bottom of a short screen.
38
38
  */
39
39
  import { useCallback, useRef, useState } from 'react';
40
- import { Alert, Badge, Box, Button, CircularProgress, Divider, IconButton, List, ListItemButton, Popover, Tooltip, Typography, } from '@mui/material';
41
- import { Notifications as NotificationsIcon, NotificationsNone as NotificationsNoneIcon, } from '@mui/icons-material';
40
+ import { Alert, Badge, Box, Button, Chip, CircularProgress, Divider, IconButton, List, ListItemButton, Popover, Tooltip, Typography, } from '@mui/material';
41
+ import { Close as CloseIcon, Notifications as NotificationsIcon, NotificationsNone as NotificationsNoneIcon, } from '@mui/icons-material';
42
42
  import { useNavigate } from 'react-router-dom';
43
43
  import { useNotifications } from '../headless/NotificationContext.js';
44
44
  import { isInternalLink } from '../headless/internalLink.js';
@@ -113,7 +113,7 @@ export function NotificationBell({ slots } = {}) {
113
113
  // wiring point is `App.tsx`, which wraps the `Layout` route element.
114
114
  if (!centre)
115
115
  return null;
116
- const { notifications, unreadCount, isLoading, error, markAllRead } = centre;
116
+ const { notifications, unreadCount, isLoading, error, markAllRead, dismiss } = centre;
117
117
  const hasUnread = unreadCount > 0;
118
118
  // One instant for the whole list, so seven rows rendered in one pass cannot
119
119
  // disagree about what "now" is.
@@ -156,7 +156,11 @@ export function NotificationBell({ slots } = {}) {
156
156
  borderRadius: '50%',
157
157
  flexShrink: 0,
158
158
  backgroundColor: isUnread ? 'primary.main' : 'transparent',
159
- } }), _jsxs(Box, { sx: { minWidth: 0, flexGrow: 1 }, children: [_jsx(Typography, { variant: "body2", sx: { fontWeight: isUnread ? 600 : 400 }, children: notification.title }), _jsx(Typography, { variant: "body2", color: "text.secondary", sx: { mt: 0.25 }, children: notification.body }), _jsxs(Typography, { variant: "caption", color: "text.secondary", sx: { display: 'block', mt: 0.5 }, children: [_jsx(Box, { component: "time", dateTime: notification.createdAt, title: formatDateTime(notification.createdAt, NUMERIC_DATE_TIME), children: formatRelativeTime(notification.createdAt, renderedAt) }), isUnread && ' · Unread'] }), slots?.itemExtra?.(notification)] })] })] }, notification.id));
159
+ } }), _jsxs(Box, { sx: { minWidth: 0, flexGrow: 1 }, children: [_jsx(Typography, { variant: "body2", sx: { fontWeight: isUnread ? 600 : 400 }, children: notification.title }), _jsx(Typography, { variant: "body2", color: "text.secondary", sx: { mt: 0.25 }, children: notification.body }), _jsxs(Typography, { variant: "caption", color: "text.secondary", sx: { display: 'block', mt: 0.5 }, children: [_jsx(Box, { component: "time", dateTime: notification.createdAt, title: formatDateTime(notification.createdAt, NUMERIC_DATE_TIME), children: formatRelativeTime(notification.createdAt, renderedAt) }), isUnread && ' · Unread'] }), slots?.itemExtra?.(notification)] }), typeof notification.count === 'number' && notification.count > 1 && (_jsx(Chip, { size: "small", label: notification.count, "aria-label": `${notification.count} occurrences`, sx: { flexShrink: 0 } })), _jsx(Tooltip, { title: "Dismiss", children: _jsx(IconButton, { size: "small", "aria-label": "Dismiss notification", onClick: (event) => {
160
+ // Dismissing must not also activate the row (mark read + navigate).
161
+ event.stopPropagation();
162
+ void dismiss(notification.id);
163
+ }, sx: { flexShrink: 0, mt: -0.5 }, children: _jsx(CloseIcon, { fontSize: "small" }) }) })] })] }, notification.id));
160
164
  }) }))] }), slots?.footer && (_jsxs(_Fragment, { children: [_jsx(Divider, {}), _jsx(Box, { sx: { flexShrink: 0 }, children: slots.footer({ close: () => setOpen(false) }) })] }))] })] }));
161
165
  }
162
166
  export default NotificationBell;
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationBell.js","sourceRoot":"","sources":["../../../src/notifications/ui/NotificationBell.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NotificationBell.js","sourceRoot":"","sources":["../../../src/notifications/ui/NotificationBell.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  export { groupDestinationRuns, isDestinationVisible, isExternalUrl, owns, resolveActiveDestination, shellDestinationRoutes, } from './navigation.js';
2
- export type { ShellConsole, ShellConsoleBack, ShellDestination, ShellDestinationRun, ShellIcon, ShellIconProps, ShellNavigation, ShellRailPreference, ShellSettingsSurface, } from './navigation.js';
2
+ export type { ShellConsole, ShellContextPane, ShellContextPaneProps, ShellConsoleBack, ShellDestination, ShellDestinationRun, ShellIcon, ShellIconProps, ShellNavigation, ShellRailPreference, ShellSettingsSurface, } from './navigation.js';
3
3
  export { ShellPreferencesProvider, createLocalStorageShellPreferencesPort, useOptionalShellPreferencesPort, } from './preferences.js';
4
4
  export type { ShellPreferences, ShellPreferencesPort, ShellPreferencesProviderProps } from './preferences.js';
5
+ export { useShellMainVariant } from './main-variant.js';
6
+ export type { ShellMainVariant } from './main-variant.js';
5
7
  export { useShellRailPreference } from './rail-preference.js';
6
8
  export type { ShellRailPreferenceOptions, UseShellRailPreferenceResult } from './rail-preference.js';
7
9
  export { BUILTIN_SHELL_THEME_MODES, createShellTheme, isBuiltinThemeMode, listThemeModes, registerThemeMode, shellComponentOverrides, shellPalette, useOptionalShellTheme, useShellTheme, } from './theme.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shell/headless/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,IAAI,EACJ,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,wBAAwB,EACxB,sCAAsC,EACtC,+BAA+B,GAChC,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAC9G,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,YAAY,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACrG,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,YAAY,EACZ,qBAAqB,EACrB,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,sBAAsB,EACtB,cAAc,EACd,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shell/headless/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,IAAI,EACJ,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,wBAAwB,EACxB,sCAAsC,EACtC,+BAA+B,GAChC,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAC9G,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,YAAY,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACrG,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,YAAY,EACZ,qBAAqB,EACrB,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,sBAAsB,EACtB,cAAc,EACd,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -3,6 +3,7 @@
3
3
  // in ../README.md.
4
4
  export { groupDestinationRuns, isDestinationVisible, isExternalUrl, owns, resolveActiveDestination, shellDestinationRoutes, } from './navigation.js';
5
5
  export { ShellPreferencesProvider, createLocalStorageShellPreferencesPort, useOptionalShellPreferencesPort, } from './preferences.js';
6
+ export { useShellMainVariant } from './main-variant.js';
6
7
  export { useShellRailPreference } from './rail-preference.js';
7
8
  export { BUILTIN_SHELL_THEME_MODES, createShellTheme, isBuiltinThemeMode, listThemeModes, registerThemeMode, shellComponentOverrides, shellPalette, useOptionalShellTheme, useShellTheme, } from './theme.js';
8
9
  export { ShellProviders } from './providers.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shell/headless/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,8EAA8E;AAC9E,mBAAmB;AAEnB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,IAAI,EACJ,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAYzB,OAAO,EACL,wBAAwB,EACxB,sCAAsC,EACtC,+BAA+B,GAChC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,YAAY,EACZ,qBAAqB,EACrB,aAAa,GACd,MAAM,YAAY,CAAC;AAQpB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shell/headless/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,8EAA8E;AAC9E,mBAAmB;AAEnB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,IAAI,EACJ,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAczB,OAAO,EACL,wBAAwB,EACxB,sCAAsC,EACtC,+BAA+B,GAChC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,YAAY,EACZ,qBAAqB,EACrB,aAAa,GACd,MAAM,YAAY,CAAC;AAQpB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * How `ShellLayout` draws `<main>`: `'padded'` (the default: padding on every
3
+ * side and the `banners` slot above the page) or `'full-bleed'` (no horizontal
4
+ * or top padding and no banners; the bottom-bar clearance below `sm` stays).
5
+ *
6
+ * @stability experimental
7
+ */
8
+ export type ShellMainVariant = 'padded' | 'full-bleed';
9
+ /**
10
+ * The setter `ShellLayout` provides to the pages it renders. `null` clears a
11
+ * page's request, falling back to the layout's `mainVariant` prop.
12
+ *
13
+ * @internal
14
+ */
15
+ export type ShellMainVariantSetter = (variant: ShellMainVariant | null) => void;
16
+ /**
17
+ * Carries {@link ShellMainVariantSetter} from `ShellLayout` to the page.
18
+ * Absent (a page rendered outside the shell, a test) means the hook is a no-op.
19
+ *
20
+ * @internal
21
+ */
22
+ export declare const ShellMainVariantContext: import("react").Context<ShellMainVariantSetter | null>;
23
+ /**
24
+ * Asks the enclosing `ShellLayout` to draw `<main>` as `variant` while the
25
+ * calling component is mounted, and resets it on unmount. The shell is not
26
+ * remounted, so the rail, the AppBar and any context pane keep their state
27
+ * across the route change. Outside a `ShellLayout` it does nothing.
28
+ *
29
+ * A page's request wins over the layout's `mainVariant` prop. Call it from the
30
+ * page component (one caller at a time; the last mounted one wins).
31
+ *
32
+ * @param variant - the treatment this page wants.
33
+ *
34
+ * @example
35
+ * ```tsx
36
+ * function MapPage() {
37
+ * useShellMainVariant('full-bleed');
38
+ * return <MapCanvas />;
39
+ * }
40
+ * ```
41
+ *
42
+ * @extensionPoint hook
43
+ * @stability experimental
44
+ */
45
+ export declare function useShellMainVariant(variant: ShellMainVariant): void;
46
+ //# sourceMappingURL=main-variant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main-variant.d.ts","sourceRoot":"","sources":["../../../src/shell/headless/main-variant.ts"],"names":[],"mappings":"AAkBA;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,YAAY,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,CAAC;AAEhF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,wDAAqD,CAAC;AAE1F;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAOnE"}
@@ -0,0 +1,55 @@
1
+ // =============================================================================
2
+ // The shell's `<main>` variant (issue #1080)
3
+ // =============================================================================
4
+ //
5
+ // `ShellLayout` pads `<main>` and renders the shell-wide banners above the
6
+ // page. A map, a full-screen viewer or a canvas wants neither: it renders edge
7
+ // to edge. Such a page asks for it with `useShellMainVariant('full-bleed')`, so
8
+ // the layout stays mounted (rail, AppBar and any context pane keep their
9
+ // state) and only `<main>`'s treatment changes while the page is mounted.
10
+ //
11
+ // NOT A BREAKPOINT GATE. The variant drops `<main>`'s horizontal and top
12
+ // padding and the banners slot; gate 3 (`pb: { xs: 10, sm: 3 }`, the clearance
13
+ // of the fixed bottom bar) is applied in both variants, so a full-bleed page
14
+ // on a phone still clears the bottom bar.
15
+ // =============================================================================
16
+ import { createContext, useContext, useEffect } from 'react';
17
+ /**
18
+ * Carries {@link ShellMainVariantSetter} from `ShellLayout` to the page.
19
+ * Absent (a page rendered outside the shell, a test) means the hook is a no-op.
20
+ *
21
+ * @internal
22
+ */
23
+ export const ShellMainVariantContext = createContext(null);
24
+ /**
25
+ * Asks the enclosing `ShellLayout` to draw `<main>` as `variant` while the
26
+ * calling component is mounted, and resets it on unmount. The shell is not
27
+ * remounted, so the rail, the AppBar and any context pane keep their state
28
+ * across the route change. Outside a `ShellLayout` it does nothing.
29
+ *
30
+ * A page's request wins over the layout's `mainVariant` prop. Call it from the
31
+ * page component (one caller at a time; the last mounted one wins).
32
+ *
33
+ * @param variant - the treatment this page wants.
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * function MapPage() {
38
+ * useShellMainVariant('full-bleed');
39
+ * return <MapCanvas />;
40
+ * }
41
+ * ```
42
+ *
43
+ * @extensionPoint hook
44
+ * @stability experimental
45
+ */
46
+ export function useShellMainVariant(variant) {
47
+ const setVariant = useContext(ShellMainVariantContext);
48
+ useEffect(() => {
49
+ if (setVariant === null)
50
+ return undefined;
51
+ setVariant(variant);
52
+ return () => setVariant(null);
53
+ }, [setVariant, variant]);
54
+ }
55
+ //# sourceMappingURL=main-variant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main-variant.js","sourceRoot":"","sources":["../../../src/shell/headless/main-variant.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,6CAA6C;AAC7C,gFAAgF;AAChF,EAAE;AACF,2EAA2E;AAC3E,+EAA+E;AAC/E,gFAAgF;AAChF,yEAAyE;AACzE,0EAA0E;AAC1E,EAAE;AACF,yEAAyE;AACzE,+EAA+E;AAC/E,6EAA6E;AAC7E,0CAA0C;AAC1C,gFAAgF;AAEhF,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAmB7D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,aAAa,CAAgC,IAAI,CAAC,CAAC;AAE1F;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAyB;IAC3D,MAAM,UAAU,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAC;IACvD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QAC1C,UAAU,CAAC,OAAO,CAAC,CAAC;QACpB,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5B,CAAC"}
@@ -17,6 +17,28 @@ export interface ShellIconProps {
17
17
  /** `small` in the collapsed rail and the user menu, `medium` in the expanded rail. */
18
18
  fontSize?: 'inherit' | 'large' | 'medium' | 'small';
19
19
  }
20
+ /**
21
+ * What the shell passes a destination's {@link ShellDestination.contextPane}.
22
+ * `activeDestination` is a plain `string`, not the app's key union, so a
23
+ * `ShellNavigation<K>` stays assignable to `ShellNavigation` (a component's
24
+ * props are contravariant).
25
+ *
26
+ * @stability experimental
27
+ */
28
+ export interface ShellContextPaneProps {
29
+ /** The active destination's key (the one that declared the pane). */
30
+ activeDestination: string;
31
+ /** The current pathname, so the pane can mark its own active row. */
32
+ pathname: string;
33
+ }
34
+ /**
35
+ * A destination's context pane: a component rendered beside the expanded rail
36
+ * while the destination is active (see {@link ShellDestination.contextPane}).
37
+ *
38
+ * @extensionPoint slot
39
+ * @stability experimental
40
+ */
41
+ export type ShellContextPane = ComponentType<ShellContextPaneProps>;
20
42
  /**
21
43
  * One navigation destination, fully described for every surface that draws it.
22
44
  *
@@ -94,6 +116,22 @@ export interface ShellDestination<K extends string = string> {
94
116
  * click, or the key press the click came from.
95
117
  */
96
118
  onClick?: (event: MouseEvent<HTMLElement>) => void;
119
+ /**
120
+ * What is inside this destination (a list of collections, of review
121
+ * queues), rendered as a second column beside the rail while the
122
+ * destination is active, so a desktop user never drills down. Shown only
123
+ * when the rail itself is EXPANDED (its own `lg` and not-collapsed state, not
124
+ * a new breakpoint gate); hidden in the collapsed or medium rail, in Console
125
+ * mode and below `sm` (where there is no rail). It stays mounted across route
126
+ * changes inside the destination: only `<main>` changes. A stable reference
127
+ * (a module-level component). Absent means no pane.
128
+ *
129
+ * @example
130
+ * ```tsx
131
+ * { key: 'albums', label: 'Albums', compactLabel: 'Albums', Icon: AlbumIcon, path: '/albums', contextPane: AlbumsPane }
132
+ * ```
133
+ */
134
+ contextPane?: ShellContextPane;
97
135
  }
98
136
  /**
99
137
  * A settings surface the compact AppBar can drill into: back arrow plus the
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/shell/headless/navigation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/shell/headless/navigation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../src/shell/headless/navigation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../src/shell/headless/navigation.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export { shellLocalHostSuite } from './shell-local-host.suite.js';
2
+ export { shellLayoutVariantsSuite } from './shell-layout-variants.suite.js';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shell/testing/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shell/testing/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -1,6 +1,8 @@
1
1
  // `@marinoscar/platform-web/shell/testing`: the shell slice's conformance
2
- // suite. Importing this entry registers `shell-local-host` with
2
+ // suites. Importing this entry registers `shell-local-host` and
3
+ // `shell-layout-variants` with
3
4
  // `runPlatformWebConformance`. Test-only: never import it from production code.
4
5
  // Needs `@testing-library/react`. Documented in ../README.md.
5
6
  export { shellLocalHostSuite } from './shell-local-host.suite.js';
7
+ export { shellLayoutVariantsSuite } from './shell-layout-variants.suite.js';
6
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shell/testing/index.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,gEAAgE;AAChE,gFAAgF;AAChF,8DAA8D;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shell/testing/index.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,gEAAgE;AAChE,+BAA+B;AAC/B,gFAAgF;AAChF,8DAA8D;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Installs a `window.matchMedia` that answers min/max-width queries against `width`.
3
+ *
4
+ * @param width - the simulated viewport width in px.
5
+ * @returns a function that restores the previous `matchMedia`.
6
+ *
7
+ * @internal
8
+ */
9
+ export declare function installMatchMedia(width: number): () => void;
10
+ //# sourceMappingURL=match-media.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"match-media.d.ts","sourceRoot":"","sources":["../../../src/shell/testing/match-media.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,IAAI,CA0B3D"}
@@ -0,0 +1,42 @@
1
+ // A `window.matchMedia` for the shell's conformance suites: min/max-width
2
+ // queries are answered against a fixed width, so MUI's `useMediaQuery` picks
3
+ // the tier the suite asks for. Not exported from the entry.
4
+ /**
5
+ * Installs a `window.matchMedia` that answers min/max-width queries against `width`.
6
+ *
7
+ * @param width - the simulated viewport width in px.
8
+ * @returns a function that restores the previous `matchMedia`.
9
+ *
10
+ * @internal
11
+ */
12
+ export function installMatchMedia(width) {
13
+ const original = Object.getOwnPropertyDescriptor(window, 'matchMedia');
14
+ const evaluate = (query) => {
15
+ const mins = [...query.matchAll(/\(min-width:\s*([\d.]+)px\)/g)].map((m) => parseFloat(m[1] ?? '0'));
16
+ const maxs = [...query.matchAll(/\(max-width:\s*([\d.]+)px\)/g)].map((m) => parseFloat(m[1] ?? '0'));
17
+ if (mins.length === 0 && maxs.length === 0)
18
+ return false;
19
+ return mins.every((min) => width >= min) && maxs.every((max) => width <= max);
20
+ };
21
+ Object.defineProperty(window, 'matchMedia', {
22
+ configurable: true,
23
+ writable: true,
24
+ value: (query) => ({
25
+ matches: evaluate(query),
26
+ media: query,
27
+ onchange: null,
28
+ addEventListener: () => undefined,
29
+ removeEventListener: () => undefined,
30
+ addListener: () => undefined,
31
+ removeListener: () => undefined,
32
+ dispatchEvent: () => false,
33
+ }),
34
+ });
35
+ return () => {
36
+ if (original)
37
+ Object.defineProperty(window, 'matchMedia', original);
38
+ else
39
+ delete window.matchMedia;
40
+ };
41
+ }
42
+ //# sourceMappingURL=match-media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"match-media.js","sourceRoot":"","sources":["../../../src/shell/testing/match-media.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,6EAA6E;AAC7E,4DAA4D;AAE5D;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAW,EAAE;QAC1C,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACrG,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACrG,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACzD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;IAChF,CAAC,CAAC;IACF,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE;QAC1C,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC;YACzB,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC;YACxB,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,IAAI;YACd,gBAAgB,EAAE,GAAG,EAAE,CAAC,SAAS;YACjC,mBAAmB,EAAE,GAAG,EAAE,CAAC,SAAS;YACpC,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS;YAC5B,cAAc,EAAE,GAAG,EAAE,CAAC,SAAS;YAC/B,aAAa,EAAE,GAAG,EAAE,CAAC,KAAK;SAC3B,CAAC;KACH,CAAC,CAAC;IACH,OAAO,GAAG,EAAE;QACV,IAAI,QAAQ;YAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;;YAC/D,OAAQ,MAA8C,CAAC,UAAU,CAAC;IACzE,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { WebConformanceSuite } from '../../testing/index.js';
2
+ /**
3
+ * The suite behind `runPlatformWebConformance`: a full-bleed page keeps the
4
+ * bottom-bar clearance (gate 3), and a destination's `contextPane` is drawn
5
+ * beside the expanded rail only and stays mounted across a route change.
6
+ *
7
+ * @extensionPoint registry
8
+ * @stability experimental
9
+ */
10
+ export declare const shellLayoutVariantsSuite: WebConformanceSuite;
11
+ //# sourceMappingURL=shell-layout-variants.suite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-layout-variants.suite.d.ts","sourceRoot":"","sources":["../../../src/shell/testing/shell-layout-variants.suite.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,mBAAmB,EAAyB,MAAM,wBAAwB,CAAC;AAkJzF;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,EAAE,mBAMtC,CAAC"}