@12-apps/ui 6.72.0 → 6.73.1
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/components-catalog.md +1 -1
- package/dist/_internal/components/index.js +7 -7
- package/dist/_internal/components/navigation/SectionNav/SectionNav.bar.js +9 -6
- package/dist/_internal/components/navigation/SectionNav/SectionNav.js +8 -7
- package/dist/_internal/components/navigation/SectionNav/SectionNav.parts.js +8 -3
- package/dist/_internal/components/navigation/SectionNav/SectionNav.primary.js +11 -4
- package/dist/_internal/components/navigation/SectionNav/SectionNav.rail.js +4 -3
- package/dist/_internal/components/navigation/SectionNav/SectionNav.railCreate.js +3 -2
- package/dist/_internal/components/navigation/SectionNav/SectionNav.sheet.js +3 -2
- package/dist/_internal/components/navigation/index.js +8 -7
- package/dist/{chunk-WP7KPWCP.js → chunk-24HHUCWB.js} +14 -2
- package/dist/chunk-24HHUCWB.js.map +1 -0
- package/dist/{chunk-LWQGIN2M.js → chunk-27F2VXS4.js} +9 -6
- package/dist/chunk-27F2VXS4.js.map +1 -0
- package/dist/{chunk-WY7FR7I4.js → chunk-ILJ3FXIC.js} +17 -8
- package/dist/chunk-ILJ3FXIC.js.map +1 -0
- package/dist/{chunk-2STYL5PF.js → chunk-NM46HQSW.js} +2 -2
- package/dist/{chunk-OBGUD2PG.js → chunk-SNWCT6JN.js} +91 -42
- package/dist/chunk-SNWCT6JN.js.map +1 -0
- package/dist/{chunk-VI2IXBOO.js → chunk-UKUGSU3Y.js} +33 -14
- package/dist/chunk-UKUGSU3Y.js.map +1 -0
- package/dist/{chunk-XS4NQ6LD.js → chunk-URSYEHPU.js} +68 -36
- package/dist/chunk-URSYEHPU.js.map +1 -0
- package/dist/navigation/SectionNav.js +8 -7
- package/dist/types/components/navigation/SectionNav/SectionNav.bar.d.ts +8 -2
- package/dist/types/components/navigation/SectionNav/SectionNav.bar.d.ts.map +1 -1
- package/dist/types/components/navigation/SectionNav/SectionNav.d.ts +4 -1
- package/dist/types/components/navigation/SectionNav/SectionNav.d.ts.map +1 -1
- package/dist/types/components/navigation/SectionNav/SectionNav.parts.d.ts +12 -1
- package/dist/types/components/navigation/SectionNav/SectionNav.parts.d.ts.map +1 -1
- package/dist/types/components/navigation/SectionNav/SectionNav.primary.d.ts +16 -1
- package/dist/types/components/navigation/SectionNav/SectionNav.primary.d.ts.map +1 -1
- package/dist/types/components/navigation/SectionNav/SectionNav.rail.d.ts +3 -2
- package/dist/types/components/navigation/SectionNav/SectionNav.rail.d.ts.map +1 -1
- package/dist/types/components/navigation/SectionNav/SectionNav.railCreate.d.ts +3 -1
- package/dist/types/components/navigation/SectionNav/SectionNav.railCreate.d.ts.map +1 -1
- package/dist/types/components/navigation/SectionNav/SectionNav.types.d.ts +12 -0
- package/dist/types/components/navigation/SectionNav/SectionNav.types.d.ts.map +1 -1
- package/dist/types/components/navigation/SectionNav/index.d.ts +1 -0
- package/dist/types/components/navigation/SectionNav/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/navigation/SectionNav/SectionNav.bar.tsx +84 -30
- package/src/components/navigation/SectionNav/SectionNav.md +25 -4
- package/src/components/navigation/SectionNav/SectionNav.parts.tsx +19 -1
- package/src/components/navigation/SectionNav/SectionNav.primary.tsx +52 -11
- package/src/components/navigation/SectionNav/SectionNav.rail.tsx +90 -35
- package/src/components/navigation/SectionNav/SectionNav.railCreate.tsx +23 -5
- package/src/components/navigation/SectionNav/SectionNav.tsx +6 -0
- package/src/components/navigation/SectionNav/SectionNav.types.ts +12 -0
- package/src/components/navigation/SectionNav/index.ts +1 -0
- package/dist/chunk-LWQGIN2M.js.map +0 -1
- package/dist/chunk-OBGUD2PG.js.map +0 -1
- package/dist/chunk-VI2IXBOO.js.map +0 -1
- package/dist/chunk-WP7KPWCP.js.map +0 -1
- package/dist/chunk-WY7FR7I4.js.map +0 -1
- package/dist/chunk-XS4NQ6LD.js.map +0 -1
- /package/dist/{chunk-2STYL5PF.js.map → chunk-NM46HQSW.js.map} +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SectionNavSheet
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-NM46HQSW.js";
|
|
4
4
|
import {
|
|
5
|
-
RaisedActionButton
|
|
6
|
-
|
|
5
|
+
RaisedActionButton,
|
|
6
|
+
raisedLift
|
|
7
|
+
} from "./chunk-UKUGSU3Y.js";
|
|
7
8
|
import {
|
|
8
9
|
Box,
|
|
9
10
|
CONTROL_RESET,
|
|
@@ -12,8 +13,9 @@ import {
|
|
|
12
13
|
SlotIcon,
|
|
13
14
|
controlProps,
|
|
14
15
|
destinationControl,
|
|
15
|
-
focusRing
|
|
16
|
-
|
|
16
|
+
focusRing,
|
|
17
|
+
useMounted
|
|
18
|
+
} from "./chunk-24HHUCWB.js";
|
|
17
19
|
import {
|
|
18
20
|
barSlots,
|
|
19
21
|
destinationState,
|
|
@@ -33,9 +35,13 @@ import Typography from "@mui/material/Typography/index.js";
|
|
|
33
35
|
import { alpha, useTheme } from "@mui/material/styles/index.js";
|
|
34
36
|
import { useState } from "react";
|
|
35
37
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
36
|
-
var barHeight = (theme) => rem(theme, 60);
|
|
37
|
-
function sectionNavBarInset(theme) {
|
|
38
|
-
return `calc(${barHeight(theme)} + env(safe-area-inset-bottom))`;
|
|
38
|
+
var barHeight = (theme, compact = false) => rem(theme, compact ? 48 : 60);
|
|
39
|
+
function sectionNavBarInset(theme, options = {}) {
|
|
40
|
+
return `calc(${barHeight(theme, options.compact === true)} + env(safe-area-inset-bottom))`;
|
|
41
|
+
}
|
|
42
|
+
function sectionNavSheetOffset(theme, raised, options = {}) {
|
|
43
|
+
const inset = sectionNavBarInset(theme, options);
|
|
44
|
+
return raised ? `calc(${inset} + ${rem(theme, raisedLift(options.compact === true))})` : inset;
|
|
39
45
|
}
|
|
40
46
|
function Slot({
|
|
41
47
|
label,
|
|
@@ -47,19 +53,22 @@ function Slot({
|
|
|
47
53
|
testId,
|
|
48
54
|
control,
|
|
49
55
|
expanded,
|
|
50
|
-
loading = false
|
|
56
|
+
loading = false,
|
|
57
|
+
compact = false
|
|
51
58
|
}) {
|
|
52
59
|
const theme = useTheme();
|
|
60
|
+
const animate = useMounted();
|
|
53
61
|
return /* @__PURE__ */ jsxs(
|
|
54
62
|
Box,
|
|
55
63
|
{
|
|
56
64
|
...control,
|
|
65
|
+
title: compact ? label : void 0,
|
|
57
66
|
"aria-current": current ? "page" : void 0,
|
|
58
67
|
"aria-expanded": expanded,
|
|
59
68
|
"aria-busy": loading || void 0,
|
|
60
69
|
"data-lit": lit ? "true" : void 0,
|
|
61
70
|
"data-testid": testId,
|
|
62
|
-
sx: slotSx(theme, lit),
|
|
71
|
+
sx: slotSx(theme, lit, compact),
|
|
63
72
|
children: [
|
|
64
73
|
/* @__PURE__ */ jsx(
|
|
65
74
|
CountedIcon,
|
|
@@ -83,7 +92,8 @@ function Slot({
|
|
|
83
92
|
whiteSpace: "nowrap",
|
|
84
93
|
lineHeight: 1.3,
|
|
85
94
|
fontWeight: lit ? 700 : 600,
|
|
86
|
-
color: lit ? "text.primary" : "inherit"
|
|
95
|
+
color: lit ? "text.primary" : "inherit",
|
|
96
|
+
...labelFoldSx(theme, compact, animate)
|
|
87
97
|
},
|
|
88
98
|
children: label
|
|
89
99
|
}
|
|
@@ -92,6 +102,14 @@ function Slot({
|
|
|
92
102
|
}
|
|
93
103
|
);
|
|
94
104
|
}
|
|
105
|
+
function labelFoldSx(theme, compact, animate) {
|
|
106
|
+
return {
|
|
107
|
+
maxHeight: compact ? 0 : rem(theme, 24),
|
|
108
|
+
opacity: compact ? 0 : 1,
|
|
109
|
+
transition: animate ? theme.transitions.create(["max-height", "opacity"], { duration: theme.transitions.duration.shorter }) : "none",
|
|
110
|
+
"@media (prefers-reduced-motion: reduce)": { transition: "none" }
|
|
111
|
+
};
|
|
112
|
+
}
|
|
95
113
|
function pillSx(theme) {
|
|
96
114
|
return {
|
|
97
115
|
display: "inline-flex",
|
|
@@ -103,7 +121,7 @@ function pillSx(theme) {
|
|
|
103
121
|
transition: theme.transitions.create("background-color", { duration: theme.transitions.duration.shorter })
|
|
104
122
|
};
|
|
105
123
|
}
|
|
106
|
-
function slotSx(theme, lit) {
|
|
124
|
+
function slotSx(theme, lit, compact) {
|
|
107
125
|
return {
|
|
108
126
|
...CONTROL_RESET,
|
|
109
127
|
...focusRing(theme),
|
|
@@ -113,7 +131,7 @@ function slotSx(theme, lit) {
|
|
|
113
131
|
flexDirection: "column",
|
|
114
132
|
alignItems: "center",
|
|
115
133
|
justifyContent: "center",
|
|
116
|
-
gap: 0.25,
|
|
134
|
+
gap: compact ? 0 : 0.25,
|
|
117
135
|
position: "relative",
|
|
118
136
|
color: lit ? "primary.main" : "text.secondary",
|
|
119
137
|
// The current slot is marked by more than its colour: a tinted pill behind
|
|
@@ -135,6 +153,7 @@ function PrimarySlot({
|
|
|
135
153
|
label: primary.label,
|
|
136
154
|
icon: primary.icon,
|
|
137
155
|
captioned: true,
|
|
156
|
+
compact: context.compact,
|
|
138
157
|
disabled: primary.disabled,
|
|
139
158
|
loading: primary.loading,
|
|
140
159
|
dataTestId: testId,
|
|
@@ -152,6 +171,7 @@ function PrimarySlot({
|
|
|
152
171
|
icon: primary.icon,
|
|
153
172
|
open: context.open === "primary",
|
|
154
173
|
closeLabel: context.copy.close,
|
|
174
|
+
compact: context.compact,
|
|
155
175
|
disabled: primary.disabled,
|
|
156
176
|
dataTestId: testId,
|
|
157
177
|
onClick: () => context.toggle("primary")
|
|
@@ -171,6 +191,7 @@ function MoreSlot({ more, context }) {
|
|
|
171
191
|
expanded: open === "more",
|
|
172
192
|
copy: context.copy,
|
|
173
193
|
testId: more.dataTestId ?? `${context.dataTestId}-more`,
|
|
194
|
+
compact: context.compact,
|
|
174
195
|
control: controlProps({
|
|
175
196
|
href: void 0,
|
|
176
197
|
linkComponent: context.linkComponent,
|
|
@@ -196,6 +217,7 @@ function DestinationSlot({
|
|
|
196
217
|
copy: context.copy,
|
|
197
218
|
testId: destination.dataTestId ?? `${context.dataTestId}-dest-${destination.id}`,
|
|
198
219
|
loading: destination.loading === true,
|
|
220
|
+
compact: context.compact,
|
|
199
221
|
control: destinationControl(destination, context.linkComponent, () => {
|
|
200
222
|
context.close();
|
|
201
223
|
destination.onSelect?.();
|
|
@@ -213,6 +235,30 @@ function BarSlotView({
|
|
|
213
235
|
if (slot.kind === "more") return more ? /* @__PURE__ */ jsx(MoreSlot, { more, context }) : null;
|
|
214
236
|
return /* @__PURE__ */ jsx(DestinationSlot, { destination: slot.destination, context });
|
|
215
237
|
}
|
|
238
|
+
function barSx(theme, sheetOpen, compact, animate) {
|
|
239
|
+
return {
|
|
240
|
+
flex: "none",
|
|
241
|
+
display: "flex",
|
|
242
|
+
alignItems: "stretch",
|
|
243
|
+
boxSizing: "border-box",
|
|
244
|
+
height: sectionNavBarInset(theme, { compact }),
|
|
245
|
+
// Folding to icons and back is a change of height the eye follows;
|
|
246
|
+
// with reduced motion it simply happens.
|
|
247
|
+
transition: animate ? theme.transitions.create("height", { duration: theme.transitions.duration.shorter }) : "none",
|
|
248
|
+
"@media (prefers-reduced-motion: reduce)": { transition: "none" },
|
|
249
|
+
paddingBottom: "env(safe-area-inset-bottom)",
|
|
250
|
+
borderTop: `1px solid ${theme.palette.divider}`,
|
|
251
|
+
bgcolor: "background.paper",
|
|
252
|
+
// Above the backdrop ONLY while one of its own sheets is open, so the
|
|
253
|
+
// primary button can close what it opened. Raised all the time it
|
|
254
|
+
// would sit over every dialog the page opens, and on a small phone a
|
|
255
|
+
// dialog's own footer is exactly where the bar is. `stackedOverlayZIndex`,
|
|
256
|
+
// not `zIndex.modal + 1`: a host lifting a bottom Drawer clear of a
|
|
257
|
+
// stacked sheet catches this bar's OWN sheets too.
|
|
258
|
+
position: "relative",
|
|
259
|
+
zIndex: sheetOpen ? stackedOverlayZIndex(theme) + 1 : "auto"
|
|
260
|
+
};
|
|
261
|
+
}
|
|
216
262
|
function SectionNavBar({
|
|
217
263
|
label,
|
|
218
264
|
destinations,
|
|
@@ -220,10 +266,12 @@ function SectionNavBar({
|
|
|
220
266
|
more,
|
|
221
267
|
linkComponent,
|
|
222
268
|
copy,
|
|
223
|
-
dataTestId
|
|
269
|
+
dataTestId,
|
|
270
|
+
compact = false
|
|
224
271
|
}) {
|
|
225
272
|
const sheetMenu = isMenu(primary) ? primary : void 0;
|
|
226
273
|
const theme = useTheme();
|
|
274
|
+
const animate = useMounted();
|
|
227
275
|
const [open, setOpen] = useState(null);
|
|
228
276
|
const toggle = (menu) => setOpen((current) => current === menu ? null : menu);
|
|
229
277
|
const close = () => setOpen(null);
|
|
@@ -234,31 +282,14 @@ function SectionNavBar({
|
|
|
234
282
|
component: "nav",
|
|
235
283
|
"aria-label": label,
|
|
236
284
|
"data-testid": dataTestId,
|
|
237
|
-
sx:
|
|
238
|
-
flex: "none",
|
|
239
|
-
display: "flex",
|
|
240
|
-
alignItems: "stretch",
|
|
241
|
-
boxSizing: "border-box",
|
|
242
|
-
height: sectionNavBarInset(theme),
|
|
243
|
-
paddingBottom: "env(safe-area-inset-bottom)",
|
|
244
|
-
borderTop: `1px solid ${theme.palette.divider}`,
|
|
245
|
-
bgcolor: "background.paper",
|
|
246
|
-
// Above the backdrop ONLY while one of its own sheets is open, so the
|
|
247
|
-
// primary button can close what it opened. Raised all the time it
|
|
248
|
-
// would sit over every dialog the page opens, and on a small phone a
|
|
249
|
-
// dialog's own footer is exactly where the bar is. `stackedOverlayZIndex`,
|
|
250
|
-
// not `zIndex.modal + 1`: a host lifting a bottom Drawer clear of a
|
|
251
|
-
// stacked sheet catches this bar's OWN sheets too.
|
|
252
|
-
position: "relative",
|
|
253
|
-
zIndex: open === null ? "auto" : stackedOverlayZIndex(theme) + 1
|
|
254
|
-
},
|
|
285
|
+
sx: barSx(theme, open !== null, compact, animate),
|
|
255
286
|
children: barSlots(destinations, more !== void 0, primary !== void 0).map((slot) => /* @__PURE__ */ jsx(
|
|
256
287
|
BarSlotView,
|
|
257
288
|
{
|
|
258
289
|
slot,
|
|
259
290
|
primary,
|
|
260
291
|
more,
|
|
261
|
-
context: { open, toggle, close, linkComponent, copy, dataTestId }
|
|
292
|
+
context: { open, toggle, close, linkComponent, copy, dataTestId, compact }
|
|
262
293
|
},
|
|
263
294
|
slot.kind === "destination" ? `dest-${slot.destination.id}` : `menu-${slot.kind}`
|
|
264
295
|
))
|
|
@@ -273,7 +304,7 @@ function SectionNavBar({
|
|
|
273
304
|
linkComponent,
|
|
274
305
|
copy,
|
|
275
306
|
testId: `${dataTestId}-primary-sheet`,
|
|
276
|
-
bottomOffset:
|
|
307
|
+
bottomOffset: sectionNavSheetOffset(theme, primary !== void 0, { compact })
|
|
277
308
|
}
|
|
278
309
|
) : null,
|
|
279
310
|
more ? /* @__PURE__ */ jsx(
|
|
@@ -285,7 +316,7 @@ function SectionNavBar({
|
|
|
285
316
|
linkComponent,
|
|
286
317
|
copy,
|
|
287
318
|
testId: `${dataTestId}-more-sheet`,
|
|
288
|
-
bottomOffset:
|
|
319
|
+
bottomOffset: sectionNavSheetOffset(theme, primary !== void 0, { compact })
|
|
289
320
|
}
|
|
290
321
|
) : null
|
|
291
322
|
] });
|
|
@@ -293,6 +324,7 @@ function SectionNavBar({
|
|
|
293
324
|
|
|
294
325
|
export {
|
|
295
326
|
sectionNavBarInset,
|
|
327
|
+
sectionNavSheetOffset,
|
|
296
328
|
SectionNavBar
|
|
297
329
|
};
|
|
298
|
-
//# sourceMappingURL=chunk-
|
|
330
|
+
//# sourceMappingURL=chunk-URSYEHPU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/navigation/SectionNav/SectionNav.bar.tsx"],"sourcesContent":["import Typography from '@mui/material/Typography/index.js';\nimport { alpha, useTheme, type SxProps, type Theme } from '@mui/material/styles/index.js';\nimport { useState, type ElementType, type ReactNode } from 'react';\n\nimport type { SectionNavCopy } from '../../../copy';\nimport { stackedOverlayZIndex } from '../../../tokens/layers';\nimport { rem } from '../../../tokens/scales';\n\nimport { barSlots, destinationState, isMenu, menuActive, menuCount, type BarSlot } from './SectionNav.helpers';\nimport {\n Box,\n CONTROL_RESET,\n CountedIcon,\n NOT_LIVE,\n SlotIcon,\n controlProps,\n useMounted,\n destinationControl,\n focusRing,\n} from './SectionNav.parts';\nimport { raisedLift, RaisedActionButton } from './SectionNav.primary';\nimport { SectionNavSheet } from './SectionNav.sheet';\nimport type { SectionNavAction, SectionNavBadge, SectionNavDestination, SectionNavMenu, SectionNavProps } from './SectionNav.types';\n\n/** Which of the bar's two menus is open, if any. */\ntype OpenMenu = 'primary' | 'more' | null;\n\n/**\n * The bar's height above the safe area — tall enough for an icon over a label;\n * a compact bar holds the icon alone.\n */\nconst barHeight = (theme: Parameters<typeof rem>[0], compact = false): string => rem(theme, compact ? 48 : 60);\n\n/** How the bar is drawn — `compact` is `SectionNavProps.compact`. */\nexport interface SectionNavBarOptions {\n compact?: boolean;\n}\n\n/**\n * The bar's full height on screen, the safe area included — where its sheets\n * stop, and what a host reserves at the foot of its content so nothing it\n * floats (a toast, a receipt) lands under the bar.\n */\nexport function sectionNavBarInset(theme: Parameters<typeof rem>[0], options: SectionNavBarOptions = {}): string {\n return `calc(${barHeight(theme, options.compact === true)} + env(safe-area-inset-bottom))`;\n}\n\n/** Where the bar's sheets stop: clear of the raised button's {@link raisedLift}, which drew over their last row (FUT-3399). */\nexport function sectionNavSheetOffset(theme: Parameters<typeof rem>[0], raised: boolean, options: SectionNavBarOptions = {}): string {\n const inset = sectionNavBarInset(theme, options);\n return raised ? `calc(${inset} + ${rem(theme, raisedLift(options.compact === true))})` : inset;\n}\n\n/**\n * One slot: icon over label, a count on the icon.\n *\n * `current` is the page the viewer is on and is what `aria-current` reports —\n * a link's claim only; an action slot that is ON says so with `aria-pressed`,\n * which arrives in `control`. `lit` is only how the slot looks, and goes out\n * while a sheet is open so the bar shows where the thumb is. Opening a sheet\n * is `aria-expanded`'s to say.\n *\n * A destination is a link or an action; the \"more\" slot is a button that\n * opens its sheet. Either way the whole slot is the target, so a thumb landing\n * on the label lands on the control. A `disabled` slot is a disabled button,\n * dimmed — the act is still where the hand expects it. A `loading` or\n * `dimmed` slot is drawn the same and stays focusable (`aria-disabled`).\n */\nfunction Slot({\n label,\n icon,\n count,\n current,\n lit,\n copy,\n testId,\n control,\n expanded,\n loading = false,\n compact = false,\n}: {\n label: string;\n icon: ReactNode;\n count: SectionNavBadge | undefined;\n current: boolean;\n lit: boolean;\n copy: SectionNavCopy;\n testId: string;\n control: Record<string, unknown>;\n expanded?: boolean;\n loading?: boolean;\n /** Icon only: the label stays the slot's name, out of sight, and its tooltip. */\n compact?: boolean;\n}): React.JSX.Element {\n const theme = useTheme();\n const animate = useMounted();\n return (\n <Box\n {...control}\n title={compact ? label : undefined}\n aria-current={current ? 'page' : undefined}\n aria-expanded={expanded}\n aria-busy={loading || undefined}\n data-lit={lit ? 'true' : undefined}\n data-testid={testId}\n sx={slotSx(theme, lit, compact)}\n >\n <CountedIcon\n icon={\n <Box component=\"span\" data-slot-pill=\"\" sx={pillSx(theme)}>\n <SlotIcon icon={icon} loading={loading} />\n </Box>\n }\n count={count}\n label={copy.badge}\n attentionLabel={copy.attention}\n testId={`${testId}-badge`}\n />\n <Typography\n component=\"span\"\n variant=\"caption\"\n sx={{\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n lineHeight: 1.3,\n fontWeight: lit ? 700 : 600,\n color: lit ? 'text.primary' : 'inherit',\n ...labelFoldSx(theme, compact, animate),\n }}\n >\n {label}\n </Typography>\n </Box>\n );\n}\n\n/**\n * The label folding away in a compact bar: it shrinks to no height and fades\n * while the bar shrinks, rather than leaving in one frame. Never `display:\n * none` — it is still the slot's accessible name. With reduced motion it\n * simply goes.\n */\nfunction labelFoldSx(theme: Theme, compact: boolean, animate: boolean): Record<string, unknown> {\n return {\n maxHeight: compact ? 0 : rem(theme, 24),\n opacity: compact ? 0 : 1,\n transition: animate\n ? theme.transitions.create(['max-height', 'opacity'], { duration: theme.transitions.duration.shorter })\n : 'none',\n '@media (prefers-reduced-motion: reduce)': { transition: 'none' },\n };\n}\n\n/** The pill behind a slot's icon — tinted while the slot is lit. */\nfunction pillSx(theme: Theme): SxProps<Theme> {\n return {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n px: 1.75,\n py: 0.25,\n borderRadius: rem(theme, 999),\n transition: theme.transitions.create('background-color', { duration: theme.transitions.duration.shorter }),\n };\n}\n\n/** A slot's look: icon over label, a pill behind the lit icon, dimmed when disabled. */\nfunction slotSx(theme: Theme, lit: boolean, compact: boolean): SxProps<Theme> {\n return {\n ...CONTROL_RESET,\n ...focusRing(theme),\n flex: 1,\n minWidth: 0,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n gap: compact ? 0 : 0.25,\n position: 'relative',\n color: lit ? 'primary.main' : 'text.secondary',\n // The current slot is marked by more than its colour: a tinted pill behind\n // its icon and a bolder label, so the state survives a colour-blind reading.\n '&[data-lit=\"true\"] [data-slot-pill]': { bgcolor: alpha(theme.palette.primary.main, 0.14) },\n '& svg': { fontSize: rem(theme, 22) },\n [NOT_LIVE]: { color: 'text.disabled' },\n } as SxProps<Theme>;\n}\n\n/** What every slot kind is handed: the bar's open state and how to change it. */\ninterface SlotContext {\n open: OpenMenu;\n toggle: (menu: Exclude<OpenMenu, null>) => void;\n close: () => void;\n linkComponent: ElementType | undefined;\n copy: SectionNavCopy;\n dataTestId: string;\n compact: boolean;\n}\n\n/** The raised button: an action runs on tap; a menu opens its sheet. */\nfunction PrimarySlot({\n primary,\n context,\n}: {\n primary: SectionNavMenu | SectionNavAction;\n context: SlotContext;\n}): React.JSX.Element {\n const testId = primary.dataTestId ?? `${context.dataTestId}-primary`;\n if (!isMenu(primary)) {\n return (\n <RaisedActionButton\n label={primary.label}\n icon={primary.icon}\n captioned\n compact={context.compact}\n disabled={primary.disabled}\n loading={primary.loading}\n dataTestId={testId}\n onClick={() => {\n context.close();\n primary.onSelect();\n }}\n />\n );\n }\n return (\n <RaisedActionButton\n label={primary.label}\n icon={primary.icon}\n open={context.open === 'primary'}\n closeLabel={context.copy.close}\n compact={context.compact}\n disabled={primary.disabled}\n dataTestId={testId}\n onClick={() => context.toggle('primary')}\n />\n );\n}\n\n/** The \"more\" slot: a button that opens its sheet, carrying its entries' counts. */\nfunction MoreSlot({ more, context }: { more: SectionNavMenu; context: SlotContext }): React.JSX.Element {\n const { open } = context;\n return (\n <Slot\n label={more.label}\n icon={more.icon}\n count={menuCount(more)}\n current={false}\n lit={open === 'more' || (open === null && menuActive(more))}\n expanded={open === 'more'}\n copy={context.copy}\n testId={more.dataTestId ?? `${context.dataTestId}-more`}\n compact={context.compact}\n control={controlProps({\n href: undefined,\n linkComponent: context.linkComponent,\n inert: more.disabled === true,\n onClick: () => context.toggle('more'),\n })}\n />\n );\n}\n\n/** A destination: a link, or an action slot (a toggle when it carries `active`). */\nfunction DestinationSlot({\n destination,\n context,\n}: {\n destination: SectionNavDestination;\n context: SlotContext;\n}): React.JSX.Element {\n const { current, lit } = destinationState(destination);\n return (\n <Slot\n label={destination.label}\n icon={destination.icon}\n count={destination.badge}\n current={current}\n lit={context.open === null && lit}\n copy={context.copy}\n testId={destination.dataTestId ?? `${context.dataTestId}-dest-${destination.id}`}\n loading={destination.loading === true}\n compact={context.compact}\n control={destinationControl(destination, context.linkComponent, () => {\n context.close();\n destination.onSelect?.();\n })}\n />\n );\n}\n\n/** One slot of the bar, whichever kind it is. */\nfunction BarSlotView({\n slot,\n primary,\n more,\n context,\n}: {\n slot: BarSlot;\n primary: SectionNavMenu | SectionNavAction | undefined;\n more: SectionNavMenu | undefined;\n context: SlotContext;\n}): React.JSX.Element | null {\n if (slot.kind === 'primary') return primary ? <PrimarySlot primary={primary} context={context} /> : null;\n if (slot.kind === 'more') return more ? <MoreSlot more={more} context={context} /> : null;\n return <DestinationSlot destination={slot.destination} context={context} />;\n}\n\n/** The bar's own box: docked, a hairline on top, raised over the backdrop only while its sheet is open. */\nfunction barSx(theme: Theme, sheetOpen: boolean, compact: boolean, animate: boolean): SxProps<Theme> {\n return {\n flex: 'none',\n display: 'flex',\n alignItems: 'stretch',\n boxSizing: 'border-box',\n height: sectionNavBarInset(theme, { compact }),\n // Folding to icons and back is a change of height the eye follows;\n // with reduced motion it simply happens.\n transition: animate ? theme.transitions.create('height', { duration: theme.transitions.duration.shorter }) : 'none',\n '@media (prefers-reduced-motion: reduce)': { transition: 'none' },\n paddingBottom: 'env(safe-area-inset-bottom)',\n borderTop: `1px solid ${theme.palette.divider}`,\n bgcolor: 'background.paper',\n // Above the backdrop ONLY while one of its own sheets is open, so the\n // primary button can close what it opened. Raised all the time it\n // would sit over every dialog the page opens, and on a small phone a\n // dialog's own footer is exactly where the bar is. `stackedOverlayZIndex`,\n // not `zIndex.modal + 1`: a host lifting a bottom Drawer clear of a\n // stacked sheet catches this bar's OWN sheets too.\n position: 'relative',\n zIndex: sheetOpen ? stackedOverlayZIndex(theme) + 1 : 'auto',\n } as SxProps<Theme>;\n}\n\n/** The phone layout: a bottom bar, with its menus as bottom sheets. */\nexport function SectionNavBar({\n label,\n destinations,\n primary,\n more,\n linkComponent,\n copy,\n dataTestId,\n compact = false,\n}: Required<Pick<SectionNavProps, 'label' | 'destinations' | 'copy' | 'dataTestId'>> &\n Pick<SectionNavProps, 'primary' | 'more' | 'compact'> & { linkComponent: ElementType | undefined }): React.JSX.Element {\n const sheetMenu = isMenu(primary) ? primary : undefined;\n const theme = useTheme();\n const animate = useMounted();\n const [open, setOpen] = useState<OpenMenu>(null);\n const toggle = (menu: Exclude<OpenMenu, null>): void => setOpen((current) => (current === menu ? null : menu));\n const close = (): void => setOpen(null);\n\n return (\n <>\n <Box\n component=\"nav\"\n aria-label={label}\n data-testid={dataTestId}\n sx={barSx(theme, open !== null, compact, animate)}\n >\n {barSlots(destinations, more !== undefined, primary !== undefined).map((slot) => (\n <BarSlotView\n key={slot.kind === 'destination' ? `dest-${slot.destination.id}` : `menu-${slot.kind}`}\n slot={slot}\n primary={primary}\n more={more}\n context={{ open, toggle, close, linkComponent, copy, dataTestId, compact }}\n />\n ))}\n </Box>\n {sheetMenu ? (\n <SectionNavSheet\n menu={sheetMenu}\n open={open === 'primary'}\n onClose={close}\n linkComponent={linkComponent}\n copy={copy}\n testId={`${dataTestId}-primary-sheet`}\n bottomOffset={sectionNavSheetOffset(theme, primary !== undefined, { compact })}\n />\n ) : null}\n {more ? (\n <SectionNavSheet\n menu={more}\n open={open === 'more'}\n onClose={close}\n linkComponent={linkComponent}\n copy={copy}\n testId={`${dataTestId}-more-sheet`}\n bottomOffset={sectionNavSheetOffset(theme, primary !== undefined, { compact })}\n />\n ) : null}\n </>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import "../chunk-R26KYJHK.js";
|
|
2
2
|
import {
|
|
3
3
|
SectionNav
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-27F2VXS4.js";
|
|
5
|
+
import "../chunk-SNWCT6JN.js";
|
|
6
|
+
import "../chunk-ILJ3FXIC.js";
|
|
7
7
|
import {
|
|
8
8
|
sectionNavBarInset
|
|
9
|
-
} from "../chunk-
|
|
10
|
-
import "../chunk-
|
|
9
|
+
} from "../chunk-URSYEHPU.js";
|
|
10
|
+
import "../chunk-NM46HQSW.js";
|
|
11
11
|
import {
|
|
12
12
|
RaisedActionButton
|
|
13
|
-
} from "../chunk-
|
|
14
|
-
import "../chunk-
|
|
13
|
+
} from "../chunk-UKUGSU3Y.js";
|
|
14
|
+
import "../chunk-24HHUCWB.js";
|
|
15
15
|
import "../chunk-YCCWJ5XQ.js";
|
|
16
16
|
import "../chunk-TMSWLFL4.js";
|
|
17
17
|
import "../chunk-UALPKKAY.js";
|
|
18
|
+
import "../chunk-PUFA7FQ7.js";
|
|
18
19
|
import "../chunk-5AK2EZG5.js";
|
|
19
20
|
import "../chunk-N5PVD4J5.js";
|
|
20
21
|
import "../chunk-6C5D6O3D.js";
|
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
import { type ElementType } from 'react';
|
|
2
2
|
import { rem } from '../../../tokens/scales';
|
|
3
3
|
import type { SectionNavProps } from './SectionNav.types';
|
|
4
|
+
/** How the bar is drawn — `compact` is `SectionNavProps.compact`. */
|
|
5
|
+
export interface SectionNavBarOptions {
|
|
6
|
+
compact?: boolean;
|
|
7
|
+
}
|
|
4
8
|
/**
|
|
5
9
|
* The bar's full height on screen, the safe area included — where its sheets
|
|
6
10
|
* stop, and what a host reserves at the foot of its content so nothing it
|
|
7
11
|
* floats (a toast, a receipt) lands under the bar.
|
|
8
12
|
*/
|
|
9
|
-
export declare function sectionNavBarInset(theme: Parameters<typeof rem>[0]): string;
|
|
13
|
+
export declare function sectionNavBarInset(theme: Parameters<typeof rem>[0], options?: SectionNavBarOptions): string;
|
|
14
|
+
/** Where the bar's sheets stop: clear of the raised button's {@link raisedLift}, which drew over their last row (FUT-3399). */
|
|
15
|
+
export declare function sectionNavSheetOffset(theme: Parameters<typeof rem>[0], raised: boolean, options?: SectionNavBarOptions): string;
|
|
10
16
|
/** The phone layout: a bottom bar, with its menus as bottom sheets. */
|
|
11
|
-
export declare function SectionNavBar({ label, destinations, primary, more, linkComponent, copy, dataTestId, }: Required<Pick<SectionNavProps, 'label' | 'destinations' | 'copy' | 'dataTestId'>> & Pick<SectionNavProps, 'primary' | 'more'> & {
|
|
17
|
+
export declare function SectionNavBar({ label, destinations, primary, more, linkComponent, copy, dataTestId, compact, }: Required<Pick<SectionNavProps, 'label' | 'destinations' | 'copy' | 'dataTestId'>> & Pick<SectionNavProps, 'primary' | 'more' | 'compact'> & {
|
|
12
18
|
linkComponent: ElementType | undefined;
|
|
13
19
|
}): React.JSX.Element;
|
|
14
20
|
//# sourceMappingURL=SectionNav.bar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionNav.bar.d.ts","sourceRoot":"","sources":["../../../../../src/components/navigation/SectionNav/SectionNav.bar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,WAAW,EAAkB,MAAM,OAAO,CAAC;AAInE,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"SectionNav.bar.d.ts","sourceRoot":"","sources":["../../../../../src/components/navigation/SectionNav/SectionNav.bar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,WAAW,EAAkB,MAAM,OAAO,CAAC;AAInE,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAgB7C,OAAO,KAAK,EAA4E,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAWpI,qEAAqE;AACrE,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,GAAE,oBAAyB,GAAG,MAAM,CAE/G;AAED,+HAA+H;AAC/H,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAE,oBAAyB,GAAG,MAAM,CAGnI;AA6RD,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,YAAY,EACZ,OAAO,EACP,IAAI,EACJ,aAAa,EACb,IAAI,EACJ,UAAU,EACV,OAAe,GAChB,EAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,cAAc,GAAG,MAAM,GAAG,YAAY,CAAC,CAAC,GAClF,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC,GAAG;IAAE,aAAa,EAAE,WAAW,GAAG,SAAS,CAAA;CAAE,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAkDvH"}
|
|
@@ -8,9 +8,12 @@ import type { SectionNavProps } from './SectionNav.types';
|
|
|
8
8
|
* (`linkComponent`). The nav decides only how they are drawn: the order of the
|
|
9
9
|
* bar's slots, the raised primary action, the sheets, the rail's sections.
|
|
10
10
|
*
|
|
11
|
+
* `compact` draws either layout as icons only, a size down, for a host that
|
|
12
|
+
* folds its chrome; the labels stay the controls' names.
|
|
13
|
+
*
|
|
11
14
|
* Which layout to use is the host's call too, because the host knows what
|
|
12
15
|
* else is on screen: a bar next to a sidebar is two navigations competing for
|
|
13
16
|
* one glance.
|
|
14
17
|
*/
|
|
15
|
-
export declare function SectionNav({ layout, label, destinations, primary, more, back, heading, linkComponent, copy, dataTestId, }: SectionNavProps): React.JSX.Element;
|
|
18
|
+
export declare function SectionNav({ layout, label, destinations, primary, more, back, heading, linkComponent, copy, dataTestId, compact, }: SectionNavProps): React.JSX.Element;
|
|
16
19
|
//# sourceMappingURL=SectionNav.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionNav.d.ts","sourceRoot":"","sources":["../../../../../src/components/navigation/SectionNav/SectionNav.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D
|
|
1
|
+
{"version":3,"file":"SectionNav.d.ts","sourceRoot":"","sources":["../../../../../src/components/navigation/SectionNav/SectionNav.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,KAAK,EACL,YAAY,EACZ,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,aAAa,EACb,IAAI,EACJ,UAA0B,EAC1B,OAAe,GAChB,EAAE,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA6BrC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Box from '@mui/material/Box/index.js';
|
|
2
2
|
import type { SxProps, Theme } from '@mui/material/styles/index.js';
|
|
3
|
-
import type
|
|
3
|
+
import { type ElementType, type ReactNode } from 'react';
|
|
4
4
|
import type { SectionNavBadge, SectionNavDestination } from './SectionNav.types';
|
|
5
5
|
/**
|
|
6
6
|
* An icon with its count on the shoulder.
|
|
@@ -74,5 +74,16 @@ export declare const CONTROL_RESET: {
|
|
|
74
74
|
readonly cursor: "default";
|
|
75
75
|
};
|
|
76
76
|
};
|
|
77
|
+
/**
|
|
78
|
+
* Out of sight, still read: a compact nav keeps each label as its control's
|
|
79
|
+
* accessible name. The same box `Label`'s `srOnly` draws.
|
|
80
|
+
*/
|
|
81
|
+
export declare const VISUALLY_HIDDEN: SxProps<Theme>;
|
|
82
|
+
/**
|
|
83
|
+
* False on the first render, true from then on — so a fold animates when the
|
|
84
|
+
* host CHANGES `compact`, never when a page simply opens folded (which drew
|
|
85
|
+
* the labels sliding out over the neighbouring badges on every load).
|
|
86
|
+
*/
|
|
87
|
+
export declare function useMounted(): boolean;
|
|
77
88
|
export { Box };
|
|
78
89
|
//# sourceMappingURL=SectionNav.parts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionNav.parts.d.ts","sourceRoot":"","sources":["../../../../../src/components/navigation/SectionNav/SectionNav.parts.tsx"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAE7C,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"SectionNav.parts.d.ts","sourceRoot":"","sources":["../../../../../src/components/navigation/SectionNav/SectionNav.parts.tsx"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAE7C,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAuB,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAO9E,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEjF;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,KAAK,EACL,KAAK,EACL,MAAM,EACN,cAAc,GACf,EAAE;IACD,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,eAAe,GAAG,SAAS,CAAC;IACnC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAyBpB;AAED,mFAAmF;AACnF,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAOtD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,OAAO,EACP,aAAa,EACb,KAAa,EACb,IAAY,EACZ,MAAc,GACf,EAAE;IACD,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,EAAE,WAAW,GAAG,SAAS,CAAC;IACvC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAM1B;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,qBAAqB,EAClC,aAAa,EAAE,WAAW,GAAG,SAAS,EACtC,OAAO,EAAE,MAAM,IAAI,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAYzB;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,0CAAwC,CAAC;AAE9D;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAGpG;AAED,wFAAwF;AACxF,eAAO,MAAM,aAAa;;;;;;;;;;;CAShB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,eAAe,gBAAa,CAAC;AAE1C;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAIpC;AAED,OAAO,EAAE,GAAG,EAAE,CAAC"}
|
|
@@ -21,6 +21,12 @@ export interface RaisedActionButtonProps {
|
|
|
21
21
|
* bar of places can leave its one action to the icon.
|
|
22
22
|
*/
|
|
23
23
|
captioned?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* A size down — 40px rather than 52, lifted less — for a compact bar. It
|
|
26
|
+
* draws no caption: a compact bar is icons only, and the name stays the
|
|
27
|
+
* button's `aria-label`.
|
|
28
|
+
*/
|
|
29
|
+
compact?: boolean;
|
|
24
30
|
/** Dimmed and not operable: a native `disabled` button. */
|
|
25
31
|
disabled?: boolean;
|
|
26
32
|
/**
|
|
@@ -43,5 +49,14 @@ export interface RaisedActionButtonProps {
|
|
|
43
49
|
* `SectionNav` draws it for its `primary` menu. It is exported on its own for
|
|
44
50
|
* a bar the host already draws — drop it between two tabs, in a flex row.
|
|
45
51
|
*/
|
|
46
|
-
export declare function RaisedActionButton({ label, icon, onClick, open, closeLabel, captioned, disabled, loading, dataTestId, }: RaisedActionButtonProps): React.JSX.Element;
|
|
52
|
+
export declare function RaisedActionButton({ label, icon, onClick, open, closeLabel, captioned, compact, disabled, loading, dataTestId, }: RaisedActionButtonProps): React.JSX.Element;
|
|
53
|
+
/**
|
|
54
|
+
* How far the round button stands out of the bar's top edge, in design px — what
|
|
55
|
+
* the bar's sheets must clear so the button never draws over one (FUT-3399).
|
|
56
|
+
* The compact bar's smaller button stands out less.
|
|
57
|
+
*/
|
|
58
|
+
export declare const RAISED_LIFT = 18;
|
|
59
|
+
export declare const RAISED_LIFT_COMPACT = 12;
|
|
60
|
+
/** The lift of the round button on a bar of this form. */
|
|
61
|
+
export declare function raisedLift(compact: boolean): number;
|
|
47
62
|
//# sourceMappingURL=SectionNav.primary.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionNav.primary.d.ts","sourceRoot":"","sources":["../../../../../src/components/navigation/SectionNav/SectionNav.primary.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qGAAqG;IACrG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,UAAU,EACV,SAAiB,EACjB,QAAgB,EAChB,OAAe,EACf,UAA4B,GAC7B,EAAE,uBAAuB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA4B7C"}
|
|
1
|
+
{"version":3,"file":"SectionNav.primary.d.ts","sourceRoot":"","sources":["../../../../../src/components/navigation/SectionNav/SectionNav.primary.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qGAAqG;IACrG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,UAAU,EACV,SAAiB,EACjB,OAAe,EACf,QAAgB,EAChB,OAAe,EACf,UAA4B,GAC7B,EAAE,uBAAuB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA4B7C;AA4DD;;;;GAIG;AACH,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC,0DAA0D;AAC1D,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAEnD"}
|
|
@@ -6,9 +6,10 @@ import type { SectionNavProps } from './SectionNav.types';
|
|
|
6
6
|
* `primary` action as a row, then `more` listed in full.
|
|
7
7
|
*
|
|
8
8
|
* It fills the column the host gives it and scrolls on its own, like the
|
|
9
|
-
* sidebar it stands in for.
|
|
9
|
+
* sidebar it stands in for. `compact` draws every row as its icon for a
|
|
10
|
+
* column 64px wide; the words stay the rows' names.
|
|
10
11
|
*/
|
|
11
|
-
export declare function SectionNavRail({ label, destinations, primary, more, back, heading, linkComponent, copy, dataTestId, }: Required<Pick<SectionNavProps, 'label' | 'destinations' | 'copy' | 'dataTestId'>> & Pick<SectionNavProps, 'primary' | 'more' | 'back' | 'heading'> & {
|
|
12
|
+
export declare function SectionNavRail({ label, destinations, primary, more, back, heading, linkComponent, copy, dataTestId, compact, }: Required<Pick<SectionNavProps, 'label' | 'destinations' | 'copy' | 'dataTestId'>> & Pick<SectionNavProps, 'primary' | 'more' | 'back' | 'heading' | 'compact'> & {
|
|
12
13
|
linkComponent: ElementType | undefined;
|
|
13
14
|
}): React.JSX.Element;
|
|
14
15
|
//# sourceMappingURL=SectionNav.rail.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionNav.rail.d.ts","sourceRoot":"","sources":["../../../../../src/components/navigation/SectionNav/SectionNav.rail.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SectionNav.rail.d.ts","sourceRoot":"","sources":["../../../../../src/components/navigation/SectionNav/SectionNav.rail.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAa,MAAM,OAAO,CAAC;AAkBpD,OAAO,KAAK,EAKV,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAoR5B;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,YAAY,EACZ,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,aAAa,EACb,IAAI,EACJ,UAAU,EACV,OAAe,GAChB,EAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,cAAc,GAAG,MAAM,GAAG,YAAY,CAAC,CAAC,GAClF,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC,GAAG;IAC3E,aAAa,EAAE,WAAW,GAAG,SAAS,CAAC;CACxC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAsDtB"}
|
|
@@ -15,10 +15,12 @@ import type { SectionNavMenu } from './SectionNav.types';
|
|
|
15
15
|
* outside click. Choosing an entry closes it too, and the entry's link or act
|
|
16
16
|
* takes over.
|
|
17
17
|
*/
|
|
18
|
-
export declare function RailCreateMenu({ menu, linkComponent, copy, testId, }: {
|
|
18
|
+
export declare function RailCreateMenu({ menu, linkComponent, copy, testId, compact, }: {
|
|
19
19
|
menu: SectionNavMenu;
|
|
20
20
|
linkComponent: ElementType | undefined;
|
|
21
21
|
copy: SectionNavCopy;
|
|
22
22
|
testId: string;
|
|
23
|
+
/** The button as its icon only — the label stays its name and its tooltip. */
|
|
24
|
+
compact?: boolean;
|
|
23
25
|
}): React.JSX.Element;
|
|
24
26
|
//# sourceMappingURL=SectionNav.railCreate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionNav.railCreate.d.ts","sourceRoot":"","sources":["../../../../../src/components/navigation/SectionNav/SectionNav.railCreate.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAmB,KAAK,WAAW,EAAkB,MAAM,OAAO,CAAC;AAE1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAIpD,OAAO,KAAK,EAAmB,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"SectionNav.railCreate.d.ts","sourceRoot":"","sources":["../../../../../src/components/navigation/SectionNav/SectionNav.railCreate.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAmB,KAAK,WAAW,EAAkB,MAAM,OAAO,CAAC;AAE1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAIpD,OAAO,KAAK,EAAmB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAkE1E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,aAAa,EACb,IAAI,EACJ,MAAM,EACN,OAAe,GAChB,EAAE;IACD,IAAI,EAAE,cAAc,CAAC;IACrB,aAAa,EAAE,WAAW,GAAG,SAAS,CAAC;IACvC,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA4DpB"}
|
|
@@ -178,5 +178,17 @@ export interface SectionNavProps {
|
|
|
178
178
|
copy: SectionNavCopy;
|
|
179
179
|
/** Prefix for every `data-testid`. Defaults to `"section-nav"`. */
|
|
180
180
|
dataTestId?: string;
|
|
181
|
+
/**
|
|
182
|
+
* Icons only, a size down — for a host that folds its chrome so the content
|
|
183
|
+
* gets the screen (a "focus mode"). Every label stays its control's
|
|
184
|
+
* accessible name and `title`; nothing is removed, only drawn smaller.
|
|
185
|
+
*
|
|
186
|
+
* `bar` — 48px instead of 60, the raised button 40px instead of 52, no
|
|
187
|
+
* captions; `sectionNavBarInset(theme, { compact: true })` is its inset.
|
|
188
|
+
* `rail` — every row, the way back and the create button as their icon only,
|
|
189
|
+
* headings out of sight, for a column 64px wide (the host sets the width).
|
|
190
|
+
* Defaults to `false`.
|
|
191
|
+
*/
|
|
192
|
+
compact?: boolean;
|
|
181
193
|
}
|
|
182
194
|
//# sourceMappingURL=SectionNav.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionNav.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/navigation/SectionNav/SectionNav.types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SectionNav.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/navigation/SectionNav/SectionNav.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { SectionNav } from './SectionNav';
|
|
2
2
|
export { sectionNavBarInset } from './SectionNav.bar';
|
|
3
|
+
export type { SectionNavBarOptions } from './SectionNav.bar';
|
|
3
4
|
export { RaisedActionButton } from './SectionNav.primary';
|
|
4
5
|
export type { RaisedActionButtonProps } from './SectionNav.primary';
|
|
5
6
|
export type { SectionNavAction, SectionNavBack, SectionNavBadge, SectionNavDestination, SectionNavEntry, SectionNavGroup, SectionNavMenu, SectionNavProps, } from './SectionNav.types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/navigation/SectionNav/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,cAAc,EACd,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/navigation/SectionNav/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,cAAc,EACd,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
|