@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.
Files changed (57) hide show
  1. package/components-catalog.md +1 -1
  2. package/dist/_internal/components/index.js +7 -7
  3. package/dist/_internal/components/navigation/SectionNav/SectionNav.bar.js +9 -6
  4. package/dist/_internal/components/navigation/SectionNav/SectionNav.js +8 -7
  5. package/dist/_internal/components/navigation/SectionNav/SectionNav.parts.js +8 -3
  6. package/dist/_internal/components/navigation/SectionNav/SectionNav.primary.js +11 -4
  7. package/dist/_internal/components/navigation/SectionNav/SectionNav.rail.js +4 -3
  8. package/dist/_internal/components/navigation/SectionNav/SectionNav.railCreate.js +3 -2
  9. package/dist/_internal/components/navigation/SectionNav/SectionNav.sheet.js +3 -2
  10. package/dist/_internal/components/navigation/index.js +8 -7
  11. package/dist/{chunk-WP7KPWCP.js → chunk-24HHUCWB.js} +14 -2
  12. package/dist/chunk-24HHUCWB.js.map +1 -0
  13. package/dist/{chunk-LWQGIN2M.js → chunk-27F2VXS4.js} +9 -6
  14. package/dist/chunk-27F2VXS4.js.map +1 -0
  15. package/dist/{chunk-WY7FR7I4.js → chunk-ILJ3FXIC.js} +17 -8
  16. package/dist/chunk-ILJ3FXIC.js.map +1 -0
  17. package/dist/{chunk-2STYL5PF.js → chunk-NM46HQSW.js} +2 -2
  18. package/dist/{chunk-OBGUD2PG.js → chunk-SNWCT6JN.js} +91 -42
  19. package/dist/chunk-SNWCT6JN.js.map +1 -0
  20. package/dist/{chunk-VI2IXBOO.js → chunk-UKUGSU3Y.js} +33 -14
  21. package/dist/chunk-UKUGSU3Y.js.map +1 -0
  22. package/dist/{chunk-XS4NQ6LD.js → chunk-URSYEHPU.js} +68 -36
  23. package/dist/chunk-URSYEHPU.js.map +1 -0
  24. package/dist/navigation/SectionNav.js +8 -7
  25. package/dist/types/components/navigation/SectionNav/SectionNav.bar.d.ts +8 -2
  26. package/dist/types/components/navigation/SectionNav/SectionNav.bar.d.ts.map +1 -1
  27. package/dist/types/components/navigation/SectionNav/SectionNav.d.ts +4 -1
  28. package/dist/types/components/navigation/SectionNav/SectionNav.d.ts.map +1 -1
  29. package/dist/types/components/navigation/SectionNav/SectionNav.parts.d.ts +12 -1
  30. package/dist/types/components/navigation/SectionNav/SectionNav.parts.d.ts.map +1 -1
  31. package/dist/types/components/navigation/SectionNav/SectionNav.primary.d.ts +16 -1
  32. package/dist/types/components/navigation/SectionNav/SectionNav.primary.d.ts.map +1 -1
  33. package/dist/types/components/navigation/SectionNav/SectionNav.rail.d.ts +3 -2
  34. package/dist/types/components/navigation/SectionNav/SectionNav.rail.d.ts.map +1 -1
  35. package/dist/types/components/navigation/SectionNav/SectionNav.railCreate.d.ts +3 -1
  36. package/dist/types/components/navigation/SectionNav/SectionNav.railCreate.d.ts.map +1 -1
  37. package/dist/types/components/navigation/SectionNav/SectionNav.types.d.ts +12 -0
  38. package/dist/types/components/navigation/SectionNav/SectionNav.types.d.ts.map +1 -1
  39. package/dist/types/components/navigation/SectionNav/index.d.ts +1 -0
  40. package/dist/types/components/navigation/SectionNav/index.d.ts.map +1 -1
  41. package/package.json +1 -1
  42. package/src/components/navigation/SectionNav/SectionNav.bar.tsx +84 -30
  43. package/src/components/navigation/SectionNav/SectionNav.md +25 -4
  44. package/src/components/navigation/SectionNav/SectionNav.parts.tsx +19 -1
  45. package/src/components/navigation/SectionNav/SectionNav.primary.tsx +52 -11
  46. package/src/components/navigation/SectionNav/SectionNav.rail.tsx +90 -35
  47. package/src/components/navigation/SectionNav/SectionNav.railCreate.tsx +23 -5
  48. package/src/components/navigation/SectionNav/SectionNav.tsx +6 -0
  49. package/src/components/navigation/SectionNav/SectionNav.types.ts +12 -0
  50. package/src/components/navigation/SectionNav/index.ts +1 -0
  51. package/dist/chunk-LWQGIN2M.js.map +0 -1
  52. package/dist/chunk-OBGUD2PG.js.map +0 -1
  53. package/dist/chunk-VI2IXBOO.js.map +0 -1
  54. package/dist/chunk-WP7KPWCP.js.map +0 -1
  55. package/dist/chunk-WY7FR7I4.js.map +0 -1
  56. package/dist/chunk-XS4NQ6LD.js.map +0 -1
  57. /package/dist/{chunk-2STYL5PF.js.map → chunk-NM46HQSW.js.map} +0 -0
@@ -737,7 +737,7 @@ Components for site and app navigation.
737
737
  ### SectionNav
738
738
  **Purpose**: A section's own navigation — the few screens one kind of work moves between
739
739
  **Use Cases**: A phone bottom bar for a work area (a shift, a till, a field app); the same destinations as a rail on a wide screen
740
- **Features**: `bar` (destinations with counts, a `more` sheet, a raised `primary` action in the middle opening its own sheet) and `rail` (a way back, destinations, every menu listed); router-agnostic links via `linkComponent`; copy as a required prop; also a bar of VERBS pinned at a screen's foot — action slots (`onSelect`, `disabled`, `dimmed` — looks disabled but still answers a tap, `loading` — focusable and busy, `active` as a pressed toggle), a raised `primary` that acts on tap with its label under it, disabled menu entries, host-owned `dataTestId`s
740
+ **Features**: `bar` (destinations with counts, a `more` sheet, a raised `primary` action in the middle opening its own sheet) and `rail` (a way back, destinations, every menu listed); router-agnostic links via `linkComponent`; copy as a required prop; also a bar of VERBS pinned at a screen's foot — action slots (`onSelect`, `disabled`, `dimmed` — looks disabled but still answers a tap, `loading` — focusable and busy, `active` as a pressed toggle), a raised `primary` that acts on tap with its label under it, disabled menu entries, host-owned `dataTestId`s; `compact` — both layouts as icons only, a size down (48px bar, 40px raised button, a rail for a 64px column), every label kept as the control's name, for a host that folds its chrome
741
741
  **Also exports**: `RaisedActionButton` — the raised round action alone, for a bar the host already draws
742
742
  **Types**: `SectionNavProps`, `SectionNavDestination`, `SectionNavAction`, `SectionNavMenu`, `SectionNavGroup`, `SectionNavEntry`, `SectionNavCopy`
743
743
  **Location**: `src/components/navigation/SectionNav`
@@ -105,17 +105,17 @@ import "../../chunk-3L5OZCGA.js";
105
105
  import "../../chunk-R26KYJHK.js";
106
106
  import {
107
107
  SectionNav
108
- } from "../../chunk-LWQGIN2M.js";
109
- import "../../chunk-OBGUD2PG.js";
110
- import "../../chunk-WY7FR7I4.js";
108
+ } from "../../chunk-27F2VXS4.js";
109
+ import "../../chunk-SNWCT6JN.js";
110
+ import "../../chunk-ILJ3FXIC.js";
111
111
  import {
112
112
  sectionNavBarInset
113
- } from "../../chunk-XS4NQ6LD.js";
114
- import "../../chunk-2STYL5PF.js";
113
+ } from "../../chunk-URSYEHPU.js";
114
+ import "../../chunk-NM46HQSW.js";
115
115
  import {
116
116
  RaisedActionButton
117
- } from "../../chunk-VI2IXBOO.js";
118
- import "../../chunk-WP7KPWCP.js";
117
+ } from "../../chunk-UKUGSU3Y.js";
118
+ import "../../chunk-24HHUCWB.js";
119
119
  import "../../chunk-YCCWJ5XQ.js";
120
120
  import "../../chunk-R445KMGG.js";
121
121
  import {
@@ -1,13 +1,15 @@
1
1
  import {
2
2
  SectionNavBar,
3
- sectionNavBarInset
4
- } from "../../../../chunk-XS4NQ6LD.js";
5
- import "../../../../chunk-2STYL5PF.js";
6
- import "../../../../chunk-VI2IXBOO.js";
7
- import "../../../../chunk-WP7KPWCP.js";
3
+ sectionNavBarInset,
4
+ sectionNavSheetOffset
5
+ } from "../../../../chunk-URSYEHPU.js";
6
+ import "../../../../chunk-NM46HQSW.js";
7
+ import "../../../../chunk-UKUGSU3Y.js";
8
+ import "../../../../chunk-24HHUCWB.js";
8
9
  import "../../../../chunk-YCCWJ5XQ.js";
9
10
  import "../../../../chunk-TMSWLFL4.js";
10
11
  import "../../../../chunk-UALPKKAY.js";
12
+ import "../../../../chunk-PUFA7FQ7.js";
11
13
  import "../../../../chunk-5AK2EZG5.js";
12
14
  import "../../../../chunk-N5PVD4J5.js";
13
15
  import "../../../../chunk-6C5D6O3D.js";
@@ -44,6 +46,7 @@ import "../../../../chunk-MFU4Y25U.js";
44
46
  import "../../../../chunk-PZ5AY32C.js";
45
47
  export {
46
48
  SectionNavBar,
47
- sectionNavBarInset
49
+ sectionNavBarInset,
50
+ sectionNavSheetOffset
48
51
  };
49
52
  //# sourceMappingURL=SectionNav.bar.js.map
@@ -1,15 +1,16 @@
1
1
  import {
2
2
  SectionNav
3
- } from "../../../../chunk-LWQGIN2M.js";
4
- import "../../../../chunk-OBGUD2PG.js";
5
- import "../../../../chunk-WY7FR7I4.js";
6
- import "../../../../chunk-XS4NQ6LD.js";
7
- import "../../../../chunk-2STYL5PF.js";
8
- import "../../../../chunk-VI2IXBOO.js";
9
- import "../../../../chunk-WP7KPWCP.js";
3
+ } from "../../../../chunk-27F2VXS4.js";
4
+ import "../../../../chunk-SNWCT6JN.js";
5
+ import "../../../../chunk-ILJ3FXIC.js";
6
+ import "../../../../chunk-URSYEHPU.js";
7
+ import "../../../../chunk-NM46HQSW.js";
8
+ import "../../../../chunk-UKUGSU3Y.js";
9
+ import "../../../../chunk-24HHUCWB.js";
10
10
  import "../../../../chunk-YCCWJ5XQ.js";
11
11
  import "../../../../chunk-TMSWLFL4.js";
12
12
  import "../../../../chunk-UALPKKAY.js";
13
+ import "../../../../chunk-PUFA7FQ7.js";
13
14
  import "../../../../chunk-5AK2EZG5.js";
14
15
  import "../../../../chunk-N5PVD4J5.js";
15
16
  import "../../../../chunk-6C5D6O3D.js";
@@ -4,11 +4,14 @@ import {
4
4
  CountedIcon,
5
5
  NOT_LIVE,
6
6
  SlotIcon,
7
+ VISUALLY_HIDDEN,
7
8
  controlProps,
8
9
  destinationControl,
9
- focusRing
10
- } from "../../../../chunk-WP7KPWCP.js";
10
+ focusRing,
11
+ useMounted
12
+ } from "../../../../chunk-24HHUCWB.js";
11
13
  import "../../../../chunk-YCCWJ5XQ.js";
14
+ import "../../../../chunk-PUFA7FQ7.js";
12
15
  import "../../../../chunk-5AK2EZG5.js";
13
16
  import "../../../../chunk-N5PVD4J5.js";
14
17
  import "../../../../chunk-6C5D6O3D.js";
@@ -48,8 +51,10 @@ export {
48
51
  CountedIcon,
49
52
  NOT_LIVE,
50
53
  SlotIcon,
54
+ VISUALLY_HIDDEN,
51
55
  controlProps,
52
56
  destinationControl,
53
- focusRing
57
+ focusRing,
58
+ useMounted
54
59
  };
55
60
  //# sourceMappingURL=SectionNav.parts.js.map
@@ -1,8 +1,12 @@
1
1
  import {
2
- RaisedActionButton
3
- } from "../../../../chunk-VI2IXBOO.js";
4
- import "../../../../chunk-WP7KPWCP.js";
2
+ RAISED_LIFT,
3
+ RAISED_LIFT_COMPACT,
4
+ RaisedActionButton,
5
+ raisedLift
6
+ } from "../../../../chunk-UKUGSU3Y.js";
7
+ import "../../../../chunk-24HHUCWB.js";
5
8
  import "../../../../chunk-YCCWJ5XQ.js";
9
+ import "../../../../chunk-PUFA7FQ7.js";
6
10
  import "../../../../chunk-5AK2EZG5.js";
7
11
  import "../../../../chunk-N5PVD4J5.js";
8
12
  import "../../../../chunk-6C5D6O3D.js";
@@ -37,6 +41,9 @@ import "../../../../chunk-N3GAFIXG.js";
37
41
  import "../../../../chunk-YKCAJ2TN.js";
38
42
  import "../../../../chunk-PZ5AY32C.js";
39
43
  export {
40
- RaisedActionButton
44
+ RAISED_LIFT,
45
+ RAISED_LIFT_COMPACT,
46
+ RaisedActionButton,
47
+ raisedLift
41
48
  };
42
49
  //# sourceMappingURL=SectionNav.primary.js.map
@@ -1,9 +1,10 @@
1
1
  import {
2
2
  SectionNavRail
3
- } from "../../../../chunk-OBGUD2PG.js";
4
- import "../../../../chunk-WY7FR7I4.js";
5
- import "../../../../chunk-WP7KPWCP.js";
3
+ } from "../../../../chunk-SNWCT6JN.js";
4
+ import "../../../../chunk-ILJ3FXIC.js";
5
+ import "../../../../chunk-24HHUCWB.js";
6
6
  import "../../../../chunk-YCCWJ5XQ.js";
7
+ import "../../../../chunk-PUFA7FQ7.js";
7
8
  import "../../../../chunk-5AK2EZG5.js";
8
9
  import "../../../../chunk-N5PVD4J5.js";
9
10
  import "../../../../chunk-6C5D6O3D.js";
@@ -1,8 +1,9 @@
1
1
  import {
2
2
  RailCreateMenu
3
- } from "../../../../chunk-WY7FR7I4.js";
4
- import "../../../../chunk-WP7KPWCP.js";
3
+ } from "../../../../chunk-ILJ3FXIC.js";
4
+ import "../../../../chunk-24HHUCWB.js";
5
5
  import "../../../../chunk-YCCWJ5XQ.js";
6
+ import "../../../../chunk-PUFA7FQ7.js";
6
7
  import "../../../../chunk-5AK2EZG5.js";
7
8
  import "../../../../chunk-N5PVD4J5.js";
8
9
  import "../../../../chunk-6C5D6O3D.js";
@@ -1,10 +1,11 @@
1
1
  import {
2
2
  SectionNavSheet
3
- } from "../../../../chunk-2STYL5PF.js";
4
- import "../../../../chunk-WP7KPWCP.js";
3
+ } from "../../../../chunk-NM46HQSW.js";
4
+ import "../../../../chunk-24HHUCWB.js";
5
5
  import "../../../../chunk-YCCWJ5XQ.js";
6
6
  import "../../../../chunk-TMSWLFL4.js";
7
7
  import "../../../../chunk-UALPKKAY.js";
8
+ import "../../../../chunk-PUFA7FQ7.js";
8
9
  import "../../../../chunk-5AK2EZG5.js";
9
10
  import "../../../../chunk-N5PVD4J5.js";
10
11
  import "../../../../chunk-6C5D6O3D.js";
@@ -29,17 +29,17 @@ import "../../../chunk-3L5OZCGA.js";
29
29
  import "../../../chunk-R26KYJHK.js";
30
30
  import {
31
31
  SectionNav
32
- } from "../../../chunk-LWQGIN2M.js";
33
- import "../../../chunk-OBGUD2PG.js";
34
- import "../../../chunk-WY7FR7I4.js";
32
+ } from "../../../chunk-27F2VXS4.js";
33
+ import "../../../chunk-SNWCT6JN.js";
34
+ import "../../../chunk-ILJ3FXIC.js";
35
35
  import {
36
36
  sectionNavBarInset
37
- } from "../../../chunk-XS4NQ6LD.js";
38
- import "../../../chunk-2STYL5PF.js";
37
+ } from "../../../chunk-URSYEHPU.js";
38
+ import "../../../chunk-NM46HQSW.js";
39
39
  import {
40
40
  RaisedActionButton
41
- } from "../../../chunk-VI2IXBOO.js";
42
- import "../../../chunk-WP7KPWCP.js";
41
+ } from "../../../chunk-UKUGSU3Y.js";
42
+ import "../../../chunk-24HHUCWB.js";
43
43
  import "../../../chunk-YCCWJ5XQ.js";
44
44
  import "../../../chunk-R445KMGG.js";
45
45
  import {
@@ -92,6 +92,7 @@ import "../../../chunk-5UX5QAFJ.js";
92
92
  import "../../../chunk-Z2JH5KW5.js";
93
93
  import "../../../chunk-AL5E624U.js";
94
94
  import "../../../chunk-LV7LSPBF.js";
95
+ import "../../../chunk-PUFA7FQ7.js";
95
96
  import "../../../chunk-5AK2EZG5.js";
96
97
  import "../../../chunk-N5PVD4J5.js";
97
98
  import "../../../chunk-6C5D6O3D.js";
@@ -1,6 +1,9 @@
1
1
  import {
2
2
  shownCount
3
3
  } from "./chunk-YCCWJ5XQ.js";
4
+ import {
5
+ SR_ONLY_SX
6
+ } from "./chunk-PUFA7FQ7.js";
4
7
  import {
5
8
  Badge
6
9
  } from "./chunk-N5PVD4J5.js";
@@ -11,6 +14,7 @@ import {
11
14
  // src/components/navigation/SectionNav/SectionNav.parts.tsx
12
15
  import Box from "@mui/material/Box/index.js";
13
16
  import CircularProgress from "@mui/material/CircularProgress/index.js";
17
+ import { useEffect, useState } from "react";
14
18
  import { Fragment, jsx } from "react/jsx-runtime";
15
19
  function CountedIcon({
16
20
  icon,
@@ -92,6 +96,12 @@ var CONTROL_RESET = {
92
96
  margin: 0,
93
97
  [NOT_LIVE]: { cursor: "default" }
94
98
  };
99
+ var VISUALLY_HIDDEN = SR_ONLY_SX;
100
+ function useMounted() {
101
+ const [mounted, setMounted] = useState(false);
102
+ useEffect(() => setMounted(true), []);
103
+ return mounted;
104
+ }
95
105
 
96
106
  export {
97
107
  Box,
@@ -101,6 +111,8 @@ export {
101
111
  destinationControl,
102
112
  NOT_LIVE,
103
113
  SlotIcon,
104
- CONTROL_RESET
114
+ CONTROL_RESET,
115
+ VISUALLY_HIDDEN,
116
+ useMounted
105
117
  };
106
- //# sourceMappingURL=chunk-WP7KPWCP.js.map
118
+ //# sourceMappingURL=chunk-24HHUCWB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/navigation/SectionNav/SectionNav.parts.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport CircularProgress from '@mui/material/CircularProgress/index.js';\nimport type { SxProps, Theme } from '@mui/material/styles/index.js';\nimport { useEffect, useState, type ElementType, type ReactNode } from 'react';\n\nimport { rem } from '../../../tokens/scales';\nimport { SR_ONLY_SX } from '../../form/Label/Label.styles';\nimport { Badge } from '../../data-display/Badge';\n\nimport { shownCount } from './SectionNav.helpers';\nimport type { SectionNavBadge, SectionNavDestination } from './SectionNav.types';\n\n/**\n * An icon with its count on the shoulder.\n *\n * Quiet to assistive tech on change: the count moves on a poll, and a control\n * that announces itself every minute is noise. Its NAME carries the number,\n * so it is read when the control is.\n */\nexport function CountedIcon({\n icon,\n count,\n label,\n testId,\n attentionLabel,\n}: {\n icon: ReactNode;\n count: SectionNavBadge | undefined;\n label: (count: number) => string;\n testId: string;\n /** The \"!\" badge's accessible name (`SectionNavCopy.attention`). */\n attentionLabel?: string;\n}): React.JSX.Element {\n if (count === '!') {\n return (\n <Badge content=\"!\" variant=\"count\" color=\"warning\" aria-label={attentionLabel ?? label(1)} aria-live=\"off\" data-testid={testId}>\n {icon}\n </Badge>\n );\n }\n const shown = shownCount(count);\n if (shown === undefined) return <>{icon}</>;\n return (\n // The library's corner count, in the warning role the sidebar's pill is\n // drawn from.\n <Badge\n content={shown}\n variant=\"count\"\n color=\"warning\"\n max={99}\n aria-label={label(shown)}\n aria-live=\"off\"\n data-testid={testId}\n >\n {icon}\n </Badge>\n );\n}\n\n/** The keyboard ring every control in the nav draws, in the theme's own colour. */\nexport function focusRing(theme: Theme): SxProps<Theme> {\n return {\n '&:focus-visible': {\n outline: `${rem(theme, 2)} solid ${theme.palette.primary.main}`,\n outlineOffset: rem(theme, -2),\n },\n };\n}\n\n/**\n * The element an entry or destination renders as: the host's link for an\n * `href`, a button for an `onSelect`.\n *\n * Returned as props for a `Box`, so the control stays ONE interactive\n * element — never a button wrapped around a link. Whatever it would lead to,\n * a control that is not live is a BUTTON: a link cannot be disabled, and one\n * that looks dimmed but still navigates is the lie this rules out.\n *\n * - `inert` — a native `disabled` button: no focus, no click.\n * - `busy` — a write is in flight: `aria-disabled`, still focusable, and the\n * click is dropped, so the keyboard keeps its place until the write answers.\n * - `dimmed` — `aria-disabled`, still focusable, and the click STILL runs, so\n * the host can explain why the act cannot be done now.\n */\nexport function controlProps({\n href,\n onClick,\n linkComponent,\n inert = false,\n busy = false,\n dimmed = false,\n}: {\n href: string | undefined;\n onClick?: () => void;\n linkComponent: ElementType | undefined;\n inert?: boolean;\n busy?: boolean;\n dimmed?: boolean;\n}): Record<string, unknown> {\n if (inert) return { component: 'button', type: 'button', disabled: true };\n if (busy) return { component: 'button', type: 'button', 'aria-disabled': 'true' };\n if (dimmed) return { component: 'button', type: 'button', 'aria-disabled': 'true', onClick };\n if (href !== undefined) return { component: linkComponent ?? 'a', href, onClick };\n return { component: 'button', type: 'button', onClick };\n}\n\n/**\n * A destination's control: `controlProps` from its own state, plus\n * `aria-pressed` when it is an action slot that is a toggle. A link reports\n * where the viewer is through `aria-current` instead — the row draws that.\n */\nexport function destinationControl(\n destination: SectionNavDestination,\n linkComponent: ElementType | undefined,\n onClick: () => void,\n): Record<string, unknown> {\n return {\n ...controlProps({\n href: destination.href,\n linkComponent,\n inert: destination.disabled === true,\n busy: destination.loading === true,\n dimmed: destination.dimmed === true,\n onClick,\n }),\n 'aria-pressed': destination.href === undefined ? destination.active : undefined,\n };\n}\n\n/**\n * The selector for a control drawn as not live: natively disabled, or\n * `aria-disabled` (in flight, or dimmed) and still focusable.\n */\nexport const NOT_LIVE = '&:disabled, &[aria-disabled=\"true\"]';\n\n/**\n * The icon, or the spinner that stands in for it while the slot's write is in\n * flight — the same box, so the label under it does not move.\n */\nexport function SlotIcon({ icon, loading }: { icon: ReactNode; loading: boolean }): React.JSX.Element {\n if (!loading) return <>{icon}</>;\n return <CircularProgress size=\"1em\" color=\"inherit\" thickness={5} data-testid=\"section-nav-spinner\" />;\n}\n\n/** The base reset every clickable in the nav shares: no underline, no button chrome. */\nexport const CONTROL_RESET = {\n border: 0,\n background: 'none',\n font: 'inherit',\n color: 'inherit',\n textDecoration: 'none',\n cursor: 'pointer',\n margin: 0,\n [NOT_LIVE]: { cursor: 'default' },\n} as const;\n\n/**\n * Out of sight, still read: a compact nav keeps each label as its control's\n * accessible name. The same box `Label`'s `srOnly` draws.\n */\nexport const VISUALLY_HIDDEN = SR_ONLY_SX;\n\n/**\n * False on the first render, true from then on — so a fold animates when the\n * host CHANGES `compact`, never when a page simply opens folded (which drew\n * the labels sliding out over the neighbouring badges on every load).\n */\nexport function useMounted(): boolean {\n const [mounted, setMounted] = useState(false);\n useEffect(() => setMounted(true), []);\n return mounted;\n}\n\nexport { Box };\n"],"mappings":";;;;;;;;;;;;;;AAAA,OAAO,SAAS;AAChB,OAAO,sBAAsB;AAE7B,SAAS,WAAW,gBAAkD;AAgChE,SAM4B,UAN5B;AAhBC,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAOsB;AACpB,MAAI,UAAU,KAAK;AACjB,WACE,oBAAC,SAAM,SAAQ,KAAI,SAAQ,SAAQ,OAAM,WAAU,cAAY,kBAAkB,MAAM,CAAC,GAAG,aAAU,OAAM,eAAa,QACrH,gBACH;AAAA,EAEJ;AACA,QAAM,QAAQ,WAAW,KAAK;AAC9B,MAAI,UAAU,OAAW,QAAO,gCAAG,gBAAK;AACxC;AAAA;AAAA;AAAA,IAGE;AAAA,MAAC;AAAA;AAAA,QACC,SAAS;AAAA,QACT,SAAQ;AAAA,QACR,OAAM;AAAA,QACN,KAAK;AAAA,QACL,cAAY,MAAM,KAAK;AAAA,QACvB,aAAU;AAAA,QACV,eAAa;AAAA,QAEZ;AAAA;AAAA,IACH;AAAA;AAEJ;AAGO,SAAS,UAAU,OAA8B;AACtD,SAAO;AAAA,IACL,mBAAmB;AAAA,MACjB,SAAS,GAAG,IAAI,OAAO,CAAC,CAAC,UAAU,MAAM,QAAQ,QAAQ,IAAI;AAAA,MAC7D,eAAe,IAAI,OAAO,EAAE;AAAA,IAC9B;AAAA,EACF;AACF;AAiBO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS;AACX,GAO4B;AAC1B,MAAI,MAAO,QAAO,EAAE,WAAW,UAAU,MAAM,UAAU,UAAU,KAAK;AACxE,MAAI,KAAM,QAAO,EAAE,WAAW,UAAU,MAAM,UAAU,iBAAiB,OAAO;AAChF,MAAI,OAAQ,QAAO,EAAE,WAAW,UAAU,MAAM,UAAU,iBAAiB,QAAQ,QAAQ;AAC3F,MAAI,SAAS,OAAW,QAAO,EAAE,WAAW,iBAAiB,KAAK,MAAM,QAAQ;AAChF,SAAO,EAAE,WAAW,UAAU,MAAM,UAAU,QAAQ;AACxD;AAOO,SAAS,mBACd,aACA,eACA,SACyB;AACzB,SAAO;AAAA,IACL,GAAG,aAAa;AAAA,MACd,MAAM,YAAY;AAAA,MAClB;AAAA,MACA,OAAO,YAAY,aAAa;AAAA,MAChC,MAAM,YAAY,YAAY;AAAA,MAC9B,QAAQ,YAAY,WAAW;AAAA,MAC/B;AAAA,IACF,CAAC;AAAA,IACD,gBAAgB,YAAY,SAAS,SAAY,YAAY,SAAS;AAAA,EACxE;AACF;AAMO,IAAM,WAAW;AAMjB,SAAS,SAAS,EAAE,MAAM,QAAQ,GAA6D;AACpG,MAAI,CAAC,QAAS,QAAO,gCAAG,gBAAK;AAC7B,SAAO,oBAAC,oBAAiB,MAAK,OAAM,OAAM,WAAU,WAAW,GAAG,eAAY,uBAAsB;AACtG;AAGO,IAAM,gBAAgB;AAAA,EAC3B,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,OAAO;AAAA,EACP,gBAAgB;AAAA,EAChB,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,CAAC,QAAQ,GAAG,EAAE,QAAQ,UAAU;AAClC;AAMO,IAAM,kBAAkB;AAOxB,SAAS,aAAsB;AACpC,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,KAAK;AAC5C,YAAU,MAAM,WAAW,IAAI,GAAG,CAAC,CAAC;AACpC,SAAO;AACT;","names":[]}
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  SectionNavRail
3
- } from "./chunk-OBGUD2PG.js";
3
+ } from "./chunk-SNWCT6JN.js";
4
4
  import {
5
5
  SectionNavBar
6
- } from "./chunk-XS4NQ6LD.js";
6
+ } from "./chunk-URSYEHPU.js";
7
7
 
8
8
  // src/components/navigation/SectionNav/SectionNav.tsx
9
9
  import { jsx } from "react/jsx-runtime";
@@ -17,7 +17,8 @@ function SectionNav({
17
17
  heading,
18
18
  linkComponent,
19
19
  copy,
20
- dataTestId = "section-nav"
20
+ dataTestId = "section-nav",
21
+ compact = false
21
22
  }) {
22
23
  if (layout === "rail") {
23
24
  return /* @__PURE__ */ jsx(
@@ -31,7 +32,8 @@ function SectionNav({
31
32
  heading,
32
33
  linkComponent,
33
34
  copy,
34
- dataTestId
35
+ dataTestId,
36
+ compact
35
37
  }
36
38
  );
37
39
  }
@@ -44,7 +46,8 @@ function SectionNav({
44
46
  more,
45
47
  linkComponent,
46
48
  copy,
47
- dataTestId
49
+ dataTestId,
50
+ compact
48
51
  }
49
52
  );
50
53
  }
@@ -52,4 +55,4 @@ function SectionNav({
52
55
  export {
53
56
  SectionNav
54
57
  };
55
- //# sourceMappingURL=chunk-LWQGIN2M.js.map
58
+ //# sourceMappingURL=chunk-27F2VXS4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/navigation/SectionNav/SectionNav.tsx"],"sourcesContent":["import { SectionNavBar } from './SectionNav.bar';\nimport { SectionNavRail } from './SectionNav.rail';\nimport type { SectionNavProps } from './SectionNav.types';\n\n/**\n * A section's own navigation — the handful of screens one kind of work moves\n * between — as a bottom bar on a phone or a rail on a wide screen.\n *\n * It knows no product. The host decides every destination, label, icon,\n * count and which one is current, and renders links through its own router\n * (`linkComponent`). The nav decides only how they are drawn: the order of the\n * bar's slots, the raised primary action, the sheets, the rail's sections.\n *\n * `compact` draws either layout as icons only, a size down, for a host that\n * folds its chrome; the labels stay the controls' names.\n *\n * Which layout to use is the host's call too, because the host knows what\n * else is on screen: a bar next to a sidebar is two navigations competing for\n * one glance.\n */\nexport function SectionNav({\n layout,\n label,\n destinations,\n primary,\n more,\n back,\n heading,\n linkComponent,\n copy,\n dataTestId = 'section-nav',\n compact = false,\n}: SectionNavProps): React.JSX.Element {\n if (layout === 'rail') {\n return (\n <SectionNavRail\n label={label}\n destinations={destinations}\n primary={primary}\n more={more}\n back={back}\n heading={heading}\n linkComponent={linkComponent}\n copy={copy}\n dataTestId={dataTestId}\n compact={compact}\n />\n );\n }\n return (\n <SectionNavBar\n label={label}\n destinations={destinations}\n primary={primary}\n more={more}\n linkComponent={linkComponent}\n copy={copy}\n dataTestId={dataTestId}\n compact={compact}\n />\n );\n}\n"],"mappings":";;;;;;;;AAmCM;AAfC,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb,UAAU;AACZ,GAAuC;AACrC,MAAI,WAAW,QAAQ;AACrB,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF;AAAA,EAEJ;AACA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,EACF;AAEJ;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  CountedIcon
3
- } from "./chunk-WP7KPWCP.js";
3
+ } from "./chunk-24HHUCWB.js";
4
4
  import {
5
5
  rem
6
6
  } from "./chunk-YKCAJ2TN.js";
@@ -59,11 +59,19 @@ function entryItem(groupId, entry, linkComponent, copy, testId, close) {
59
59
  `${groupId}:${entry.id}`
60
60
  );
61
61
  }
62
+ function createButtonForm(menu, compact) {
63
+ if (!compact) return { startIcon: menu.icon, "aria-label": void 0, title: void 0 };
64
+ return { startIcon: void 0, "aria-label": menu.label, title: menu.label };
65
+ }
66
+ function createButtonLayoutSx(compact) {
67
+ return compact ? { justifyContent: "center", minWidth: 0, px: 0 } : { justifyContent: "flex-start", px: 1.75 };
68
+ }
62
69
  function RailCreateMenu({
63
70
  menu,
64
71
  linkComponent,
65
72
  copy,
66
- testId
73
+ testId,
74
+ compact = false
67
75
  }) {
68
76
  const theme = useTheme();
69
77
  const menuId = useId();
@@ -81,7 +89,7 @@ function RailCreateMenu({
81
89
  {
82
90
  variant: "contained",
83
91
  fullWidth: true,
84
- startIcon: menu.icon,
92
+ ...createButtonForm(menu, compact),
85
93
  disabled: menu.disabled === true,
86
94
  "aria-haspopup": "menu",
87
95
  "aria-expanded": open,
@@ -91,13 +99,14 @@ function RailCreateMenu({
91
99
  sx: {
92
100
  my: 1,
93
101
  minHeight: rem(theme, 40),
94
- justifyContent: "flex-start",
95
- px: 1.75,
102
+ ...createButtonLayoutSx(compact),
96
103
  fontWeight: 600,
97
104
  // A place in the rail reads in sentence case, like the rows under it.
98
- textTransform: "none"
105
+ textTransform: "none",
106
+ // The ring outside the filled button, where it can be seen.
107
+ "&.Mui-focusVisible": { outline: `${rem(theme, 2)} solid ${theme.palette.primary.main}`, outlineOffset: rem(theme, 2) }
99
108
  },
100
- children: menu.label
109
+ children: compact ? menu.icon : menu.label
101
110
  }
102
111
  ),
103
112
  /* @__PURE__ */ jsx(
@@ -124,4 +133,4 @@ function RailCreateMenu({
124
133
  export {
125
134
  RailCreateMenu
126
135
  };
127
- //# sourceMappingURL=chunk-WY7FR7I4.js.map
136
+ //# sourceMappingURL=chunk-ILJ3FXIC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/navigation/SectionNav/SectionNav.railCreate.tsx"],"sourcesContent":["import Button from '@mui/material/Button/index.js';\nimport ListItemIcon from '@mui/material/ListItemIcon/index.js';\nimport ListItemText from '@mui/material/ListItemText/index.js';\nimport ListSubheader from '@mui/material/ListSubheader/index.js';\nimport Menu from '@mui/material/Menu/index.js';\nimport MenuItem from '@mui/material/MenuItem/index.js';\nimport { useTheme, type SxProps, type Theme } from '@mui/material/styles/index.js';\nimport { useId, useState, type ElementType, type ReactNode } from 'react';\n\nimport type { SectionNavCopy } from '../../../copy';\nimport { rem } from '../../../tokens/scales';\n\nimport { CountedIcon } from './SectionNav.parts';\nimport type { SectionNavEntry, SectionNavMenu } from './SectionNav.types';\n\n/** One entry of the open menu: a link through the host's router, or an act. */\nfunction entryItem(\n groupId: string,\n entry: SectionNavEntry,\n linkComponent: ElementType | undefined,\n copy: SectionNavCopy,\n testId: string,\n close: () => void,\n): ReactNode {\n const link =\n entry.href === undefined || entry.disabled === true\n ? {}\n : { component: linkComponent ?? 'a', href: entry.href };\n const itemTestId = entry.dataTestId ?? `${testId}-entry-${entry.id}`;\n return (\n <MenuItem\n key={`${groupId}:${entry.id}`}\n {...link}\n disabled={entry.disabled === true}\n selected={entry.active === true}\n aria-current={entry.active === true ? 'page' : undefined}\n data-testid={itemTestId}\n onClick={() => {\n entry.onSelect?.();\n close();\n }}\n sx={{ gap: 1.5, py: 1, whiteSpace: 'normal' }}\n >\n <ListItemIcon sx={{ minWidth: 0, color: 'primary.main' }}>\n <CountedIcon\n icon={entry.icon}\n count={entry.badge}\n label={copy.badge}\n attentionLabel={copy.attention}\n testId={`${itemTestId}-badge`}\n />\n </ListItemIcon>\n <ListItemText\n primary={entry.label}\n secondary={entry.description}\n slotProps={{\n primary: { variant: 'body2', fontWeight: 500 },\n secondary: { variant: 'caption' },\n }}\n sx={{ my: 0 }}\n />\n </MenuItem>\n );\n}\n\n/** The button's icon and names: the icon in front of the label, or — compact — the icon alone, named by the label. */\nfunction createButtonForm(\n menu: SectionNavMenu,\n compact: boolean,\n): { startIcon: ReactNode; 'aria-label': string | undefined; title: string | undefined } {\n if (!compact) return { startIcon: menu.icon, 'aria-label': undefined, title: undefined };\n return { startIcon: undefined, 'aria-label': menu.label, title: menu.label };\n}\n\n/** Where the button's content sits: the label's start, or — compact — the icon centred. */\nfunction createButtonLayoutSx(compact: boolean): SxProps<Theme> {\n return compact ? { justifyContent: 'center', minWidth: 0, px: 0 } : { justifyContent: 'flex-start', px: 1.75 };\n}\n\n/**\n * A rail's `primary` menu as ONE button at the top of the rail, opening an\n * anchored menu of its groups (FUT-3015).\n *\n * The rail lists `more` in full, but a create menu listed that way costs a\n * heading and a two-line row per entry above the fold, for acts a person takes\n * once in a while. Folded behind '+ Criar' it costs one row. The button\n * carries the menu's `label`; the open menu is named by its `title`.\n *\n * `MenuList` skips the group subheaders when the keyboard moves, and the\n * popover hands focus back to the button when it closes on Escape or an\n * outside click. Choosing an entry closes it too, and the entry's link or act\n * takes over.\n */\nexport function RailCreateMenu({\n menu,\n linkComponent,\n copy,\n testId,\n compact = false,\n}: {\n menu: SectionNavMenu;\n linkComponent: ElementType | undefined;\n copy: SectionNavCopy;\n testId: string;\n /** The button as its icon only — the label stays its name and its tooltip. */\n compact?: boolean;\n}): React.JSX.Element {\n const theme = useTheme();\n const menuId = useId();\n const [anchor, setAnchor] = useState<HTMLElement | null>(null);\n const open = anchor !== null;\n const close = (): void => setAnchor(null);\n const paperTestId: Record<string, string> = { 'data-testid': `${testId}-menu` };\n // One flat list: MUI's MenuList walks its direct children, so a group's\n // subheader and entries cannot sit inside a wrapper.\n const items: ReactNode[] = menu.groups.flatMap((group) => [\n group.title ? (\n <ListSubheader key={`${group.id}-title`} disableSticky sx={{ lineHeight: 2.5, bgcolor: 'transparent' }}>\n {group.title}\n </ListSubheader>\n ) : null,\n ...group.entries.map((entry) => entryItem(group.id, entry, linkComponent, copy, testId, close)),\n ]);\n return (\n <>\n <Button\n variant=\"contained\"\n fullWidth\n {...createButtonForm(menu, compact)}\n disabled={menu.disabled === true}\n aria-haspopup=\"menu\"\n aria-expanded={open}\n aria-controls={open ? menuId : undefined}\n data-testid={menu.dataTestId ?? testId}\n onClick={(event) => setAnchor(event.currentTarget)}\n sx={{\n my: 1,\n minHeight: rem(theme, 40),\n ...(createButtonLayoutSx(compact) as object),\n fontWeight: 600,\n // A place in the rail reads in sentence case, like the rows under it.\n textTransform: 'none',\n // The ring outside the filled button, where it can be seen.\n '&.Mui-focusVisible': { outline: `${rem(theme, 2)} solid ${theme.palette.primary.main}`, outlineOffset: rem(theme, 2) },\n }}\n >\n {compact ? menu.icon : menu.label}\n </Button>\n <Menu\n id={menuId}\n anchorEl={anchor}\n open={open}\n onClose={close}\n variant=\"menu\"\n anchorOrigin={{ vertical: 'bottom', horizontal: 'left' }}\n transformOrigin={{ vertical: 'top', horizontal: 'left' }}\n slotProps={{\n list: { 'aria-label': menu.title },\n // A data attribute is not a declared slot prop, so it rides a spread.\n paper: { ...paperTestId, sx: { minWidth: rem(theme, 260), maxWidth: rem(theme, 340) } },\n }}\n >\n {items}\n </Menu>\n </>\n );\n}\n"],"mappings":"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","names":[]}
@@ -4,7 +4,7 @@ import {
4
4
  CountedIcon,
5
5
  controlProps,
6
6
  focusRing
7
- } from "./chunk-WP7KPWCP.js";
7
+ } from "./chunk-24HHUCWB.js";
8
8
  import {
9
9
  Drawer,
10
10
  DrawerContent,
@@ -175,4 +175,4 @@ function SectionNavSheet({
175
175
  export {
176
176
  SectionNavSheet
177
177
  };
178
- //# sourceMappingURL=chunk-2STYL5PF.js.map
178
+ //# sourceMappingURL=chunk-NM46HQSW.js.map