@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.
- package/CHANGELOG.md +25 -0
- package/dist/identity/headless/api.d.ts +9 -0
- package/dist/identity/headless/api.d.ts.map +1 -1
- package/dist/identity/headless/api.js.map +1 -1
- package/dist/identity/ui/ActivateDevicePage.d.ts +7 -1
- package/dist/identity/ui/ActivateDevicePage.d.ts.map +1 -1
- package/dist/identity/ui/ActivateDevicePage.js +8 -2
- package/dist/identity/ui/ActivateDevicePage.js.map +1 -1
- package/dist/identity/ui/device/ActivationSuccess.d.ts +11 -1
- package/dist/identity/ui/device/ActivationSuccess.d.ts.map +1 -1
- package/dist/identity/ui/device/ActivationSuccess.js +17 -2
- package/dist/identity/ui/device/ActivationSuccess.js.map +1 -1
- package/dist/notifications/headless/NotificationContext.d.ts +2 -0
- package/dist/notifications/headless/NotificationContext.d.ts.map +1 -1
- package/dist/notifications/headless/NotificationContext.js +45 -3
- package/dist/notifications/headless/NotificationContext.js.map +1 -1
- package/dist/notifications/headless/api.d.ts +8 -0
- package/dist/notifications/headless/api.d.ts.map +1 -1
- package/dist/notifications/headless/api.js +10 -0
- package/dist/notifications/headless/api.js.map +1 -1
- package/dist/notifications/headless/notificationStream.d.ts +1 -1
- package/dist/notifications/headless/notificationStream.d.ts.map +1 -1
- package/dist/notifications/headless/notificationStream.js +17 -2
- package/dist/notifications/headless/notificationStream.js.map +1 -1
- package/dist/notifications/headless/types.d.ts +14 -0
- package/dist/notifications/headless/types.d.ts.map +1 -1
- package/dist/notifications/ui/NotificationBell.d.ts.map +1 -1
- package/dist/notifications/ui/NotificationBell.js +8 -4
- package/dist/notifications/ui/NotificationBell.js.map +1 -1
- package/dist/shell/headless/index.d.ts +3 -1
- package/dist/shell/headless/index.d.ts.map +1 -1
- package/dist/shell/headless/index.js +1 -0
- package/dist/shell/headless/index.js.map +1 -1
- package/dist/shell/headless/main-variant.d.ts +46 -0
- package/dist/shell/headless/main-variant.d.ts.map +1 -0
- package/dist/shell/headless/main-variant.js +55 -0
- package/dist/shell/headless/main-variant.js.map +1 -0
- package/dist/shell/headless/navigation.d.ts +38 -0
- package/dist/shell/headless/navigation.d.ts.map +1 -1
- package/dist/shell/headless/navigation.js.map +1 -1
- package/dist/shell/testing/index.d.ts +1 -0
- package/dist/shell/testing/index.d.ts.map +1 -1
- package/dist/shell/testing/index.js +3 -1
- package/dist/shell/testing/index.js.map +1 -1
- package/dist/shell/testing/match-media.d.ts +10 -0
- package/dist/shell/testing/match-media.d.ts.map +1 -0
- package/dist/shell/testing/match-media.js +42 -0
- package/dist/shell/testing/match-media.js.map +1 -0
- package/dist/shell/testing/shell-layout-variants.suite.d.ts +11 -0
- package/dist/shell/testing/shell-layout-variants.suite.d.ts.map +1 -0
- package/dist/shell/testing/shell-layout-variants.suite.js +161 -0
- package/dist/shell/testing/shell-layout-variants.suite.js.map +1 -0
- package/dist/shell/testing/shell-local-host.suite.d.ts.map +1 -1
- package/dist/shell/testing/shell-local-host.suite.js +1 -31
- package/dist/shell/testing/shell-local-host.suite.js.map +1 -1
- package/dist/shell/ui/ShellLayout.d.ts +10 -0
- package/dist/shell/ui/ShellLayout.d.ts.map +1 -1
- package/dist/shell/ui/ShellLayout.js +13 -3
- package/dist/shell/ui/ShellLayout.js.map +1 -1
- package/dist/shell/ui/ShellNavigationRail.d.ts +7 -0
- package/dist/shell/ui/ShellNavigationRail.d.ts.map +1 -1
- package/dist/shell/ui/ShellNavigationRail.js +38 -1
- package/dist/shell/ui/ShellNavigationRail.js.map +1 -1
- package/dist/shell/ui/index.d.ts +3 -1
- package/dist/shell/ui/index.d.ts.map +1 -1
- package/dist/shell/ui/index.js +3 -1
- package/dist/shell/ui/index.js.map +1 -1
- package/dist/storage/headless/objects-client.d.ts +8 -2
- package/dist/storage/headless/objects-client.d.ts.map +1 -1
- package/dist/storage/headless/objects-client.js +1 -0
- package/dist/storage/headless/objects-client.js.map +1 -1
- 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":"AA0BA;;;;;;;;;;;GAWG;AAGH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE/E;;;;;;;;GAQG;AACH,MAAM,WAAW,6BAA6B;IAC5C,iCAAiC;IACjC,EAAE,EAAE,mBAAmB,CAAC;IACxB,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,gBAAgB,EAAE,OAAO,CAAC;IAC1B,+GAA+G;IAC/G,eAAe,EAAE,OAAO,CAAC;IACzB,6FAA6F;IAC7F,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iEAAiE;IACjE,gBAAgB,EAAE,OAAO,CAAC;IAC1B,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,oBAAoB;IACnC,gGAAgG;IAChG,GAAG,EAAE,MAAM,CAAC;IACZ,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;;;OASG;IACH,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC;;;;;OAKG;IACH,gBAAgB,EAAE,mBAAmB,EAAE,CAAC;IACxC,iEAAiE;IACjE,cAAc,EAAE,OAAO,CAAC;IACxB;;;;;;;OAOG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,8BAA8B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAErE;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAC3C,MAAM,CAAC,mBAAmB,EAAE,8BAA8B,CAAC,CAC5D,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,mCAAmC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC;AAEjF;;;;;;;;;GASG;AACH,MAAM,MAAM,4BAA4B,GAAG,OAAO,CAChD,MAAM,CAAC,mBAAmB,EAAE,mCAAmC,GAAG,IAAI,CAAC,CACxE,CAAC;AAsBF;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,eAAe;IAC9B,kBAAkB;IAClB,EAAE,EAAE,MAAM,CAAC;IACX;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;;;;OAUG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,mEAAmE;IACnE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAC;
|
|
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;
|
|
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)] })
|
|
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":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EACL,KAAK,EACL,KAAK,EACL,GAAG,EACH,MAAM,EACN,gBAAgB,EAChB,OAAO,EACP,UAAU,EACV,IAAI,EACJ,cAAc,EACd,OAAO,EACP,OAAO,EACP,UAAU,GACX,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,aAAa,IAAI,iBAAiB,EAClC,iBAAiB,IAAI,qBAAqB,GAC3C,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE5F;;;;;;GAMG;AACH,MAAM,SAAS,GAAG,EAAE,CAAC;AA+BrB;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAE,KAAK,KAA4B,EAAE;IACpE,kBAAkB,EAAE,CAAC,CAAC,iEAAiE;IACvF,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,MAAM,CAA2B,IAAI,CAAC,CAAC;IACzD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExC;;;;;;;;;;OAUG;IACH,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,KAAK,MAAM,EAAE,OAAO,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,YAA6B,EAAE,EAAE;QAChC,sEAAsE;QACtE,0EAA0E;QAC1E,yEAAyE;QACzE,6CAA6C;QAC7C,IAAI,YAAY,CAAC,MAAM,KAAK,IAAI;YAAE,KAAK,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAEzE,sEAAsE;QACtE,sEAAsE;QACtE,wCAAwC;QACxC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEf,yEAAyE;QACzE,iEAAiE;QACjE,sEAAsE;QACtE,mEAAmE;QACnE,IAAI,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC;YAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC,EACD,CAAC,MAAM,EAAE,QAAQ,CAAC,CACnB,CAAC;IAEF,sEAAsE;IACtE,8EAA8E;IAC9E,4EAA4E;IAC5E,8EAA8E;IAC9E,4EAA4E;IAC5E,qEAAqE;IACrE,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;
|
|
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;
|
|
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":"AAmBA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlE,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAExG;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,sFAAsF;IACtF,QAAQ,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;CACrD;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACzD,2EAA2E;IAC3E,GAAG,EAAE,CAAC,CAAC;IACP,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wFAAwF;IACxF,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,EAAE,MAAM,SAAS,CAAC;IACxB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;
|
|
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":"AAAA,gFAAgF;AAChF,2EAA2E;AAC3E,8DAA8D;AAC9D,gFAAgF;AAChF,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAC/E,gFAAgF;AAChF,8EAA8E;AAC9E,+CAA+C;AAC/C,EAAE;AACF,kDAAkD;AAClD,EAAE;AACF,8EAA8E;AAC9E,yCAAyC;AACzC,+EAA+E;AAC/E,2CAA2C;AAC3C,gFAAgF;AAIhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../src/shell/headless/navigation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shell/testing/index.ts"],"names":[],"mappings":"
|
|
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
|
-
//
|
|
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"}
|