@charcuterie/ui 2.8.0 → 2.10.0

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 (80) hide show
  1. package/README.md +9 -0
  2. package/dist/Dialog/Dialog.d.ts.map +1 -1
  3. package/dist/Dialog/Dialog.js +3 -1
  4. package/dist/Dialog/Dialog.js.map +1 -1
  5. package/dist/Field/Field.d.ts.map +1 -1
  6. package/dist/Field/Field.js +1 -1
  7. package/dist/Field/Field.js.map +1 -1
  8. package/dist/Field/FieldGroup.d.ts.map +1 -1
  9. package/dist/Field/FieldGroup.js +1 -1
  10. package/dist/Field/FieldGroup.js.map +1 -1
  11. package/dist/Header/Header.d.ts +52 -0
  12. package/dist/Header/Header.d.ts.map +1 -0
  13. package/dist/Header/Header.js +55 -0
  14. package/dist/Header/Header.js.map +1 -0
  15. package/dist/Main/Main.d.ts +113 -0
  16. package/dist/Main/Main.d.ts.map +1 -0
  17. package/dist/Main/Main.js +123 -0
  18. package/dist/Main/Main.js.map +1 -0
  19. package/dist/Rail/Rail.d.ts +61 -0
  20. package/dist/Rail/Rail.d.ts.map +1 -0
  21. package/dist/Rail/Rail.js +64 -0
  22. package/dist/Rail/Rail.js.map +1 -0
  23. package/dist/Shell/Shell.d.ts +112 -0
  24. package/dist/Shell/Shell.d.ts.map +1 -0
  25. package/dist/Shell/Shell.js +116 -0
  26. package/dist/Shell/Shell.js.map +1 -0
  27. package/dist/Shell/contentWidth.d.ts +63 -0
  28. package/dist/Shell/contentWidth.d.ts.map +1 -0
  29. package/dist/Shell/contentWidth.js +74 -0
  30. package/dist/Shell/contentWidth.js.map +1 -0
  31. package/dist/Shell/shellContext.d.ts +36 -0
  32. package/dist/Shell/shellContext.d.ts.map +1 -0
  33. package/dist/Shell/shellContext.js +32 -0
  34. package/dist/Shell/shellContext.js.map +1 -0
  35. package/dist/SortableTableHeader/SortableTableHeader.d.ts.map +1 -1
  36. package/dist/SortableTableHeader/SortableTableHeader.js +7 -1
  37. package/dist/SortableTableHeader/SortableTableHeader.js.map +1 -1
  38. package/dist/Tooltip/Tooltip.d.ts.map +1 -1
  39. package/dist/Tooltip/Tooltip.js +5 -1
  40. package/dist/Tooltip/Tooltip.js.map +1 -1
  41. package/dist/index.d.ts +9 -0
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +4 -0
  44. package/dist/index.js.map +1 -1
  45. package/dist/mountStory.testHelpers.d.ts.map +1 -1
  46. package/dist/mountStory.testHelpers.js +56 -0
  47. package/dist/mountStory.testHelpers.js.map +1 -1
  48. package/dist/viewport.testHelpers.d.ts +31 -0
  49. package/dist/viewport.testHelpers.d.ts.map +1 -0
  50. package/dist/viewport.testHelpers.js +34 -0
  51. package/dist/viewport.testHelpers.js.map +1 -0
  52. package/package.json +2 -2
  53. package/src/Dialog/Dialog.tsx +17 -1
  54. package/src/Field/Field.tsx +10 -2
  55. package/src/Field/FieldGroup.tsx +4 -2
  56. package/src/Header/Header.mdx +72 -0
  57. package/src/Header/Header.stories.tsx +221 -0
  58. package/src/Header/Header.test.tsx +122 -0
  59. package/src/Header/Header.tsx +118 -0
  60. package/src/Main/Main.mdx +149 -0
  61. package/src/Main/Main.stories.tsx +164 -0
  62. package/src/Main/Main.test.tsx +167 -0
  63. package/src/Main/Main.tsx +174 -0
  64. package/src/Rail/Rail.mdx +75 -0
  65. package/src/Rail/Rail.stories.tsx +177 -0
  66. package/src/Rail/Rail.test.tsx +150 -0
  67. package/src/Rail/Rail.tsx +102 -0
  68. package/src/Shell/Shell.mdx +186 -0
  69. package/src/Shell/Shell.stories.tsx +185 -0
  70. package/src/Shell/Shell.test.tsx +267 -0
  71. package/src/Shell/Shell.tsx +170 -0
  72. package/src/Shell/contentWidth.ts +89 -0
  73. package/src/Shell/shellContext.ts +41 -0
  74. package/src/SortableTableHeader/SortableTableHeader.tsx +6 -1
  75. package/src/Tooltip/Tooltip.tsx +5 -1
  76. package/src/index.ts +16 -0
  77. package/src/mountStory.testHelpers.ts +63 -0
  78. package/src/shell.storyHelpers.tsx +258 -0
  79. package/src/sourceRules.test.ts +17 -1
  80. package/src/viewport.testHelpers.ts +47 -0
@@ -0,0 +1,112 @@
1
+ import { type ComponentPropsWithRef, type ReactNode } from "react";
2
+ import { type ContentWidth } from "./contentWidth.ts";
3
+ export type ShellProps = ComponentPropsWithRef<"div"> & {
4
+ contentWidth?: ContentWidth;
5
+ skipLinkLabel?: string;
6
+ };
7
+ /**
8
+ * The page frame: one `Header`, up to two `Rail`s, one `Main`.
9
+ *
10
+ * **The largest duplicated surface in the fleet.** Ten of twelve UI
11
+ * repos hand-roll this, and three of them have a file literally
12
+ * called `AppShell.tsx` — mail-sifter's and points-market's headers
13
+ * are a **byte-identical** string
14
+ * (`sticky top-0 z-40 border-b border-border-subtle bg-surface-base/90 backdrop-blur-md`),
15
+ * arrived at independently, and board-games' is the same structure
16
+ * with `sticky` dropped. The remaining seven spell it as
17
+ * `PageChrome`, `Header`, `DashboardHeader`, `Layout` (twice),
18
+ * `TitleBar`, and inline in `App.tsx`.
19
+ *
20
+ * Three things fall out of owning it once, and each is a bug
21
+ * somewhere in that list today:
22
+ *
23
+ * - **A skip link.** All ten are missing one. A keyboard user
24
+ * tabs through the whole header on every page.
25
+ * - **One width, not two.** `Header` and `Main` read the same
26
+ * `contentWidth` through context — see `shellContext.ts` for
27
+ * the app where they disagree.
28
+ * - **Sticky that is actually sticky.** mux-magic's `PageHeader`
29
+ * is *described* as sticky and sets only `z-index`; it never
30
+ * sets `position: sticky`, so the z-index does nothing and the
31
+ * header scrolls away. `Header`'s `isSticky` sets both or
32
+ * neither.
33
+ *
34
+ * ## The layout is one grid, and the rails do not duplicate
35
+ *
36
+ * Three columns at `md` and up — `auto minmax(0, 1fr) auto`, so an
37
+ * absent rail is a **zero-width track** rather than a conditional
38
+ * subtree — collapsing to a single column below it, where the
39
+ * children simply stack in DOM order. The same `Rail` element is
40
+ * in the document at every width; nothing is rendered twice behind
41
+ * `hidden`/`lg:hidden`.
42
+ *
43
+ * That matters beyond tidiness. mux-magic's `PageHeader` renders
44
+ * its entire control set twice (lines 290–345 and 356–410) and
45
+ * mail-sifter's `TriageQueue` does the same, so every action
46
+ * exists twice in the DOM at every viewport: tests have to be
47
+ * defensively scoped with `within(toolbar)`, and any agent driving
48
+ * the page sees phantom controls it cannot click.
49
+ *
50
+ * `minmax(0, 1fr)` on the middle track is the horizontal-scroll
51
+ * fix, not a formality. A grid track's automatic minimum is
52
+ * `min-content`, so **one long unbroken string in `Main` widens
53
+ * the whole page** — which is the bug plex-channels' narrow view
54
+ * has today. rip-deck's `BayGrid` documents the same fix from the
55
+ * other end.
56
+ *
57
+ * There is no `gap`: an empty `auto` track is 0 wide, but a `gap`
58
+ * beside it is not, so a shell with no rails would carry two
59
+ * mystery gutters. `Rail` and `Main` bring their own padding.
60
+ *
61
+ * ## `overflow-x: clip` — the structural guarantee
62
+ *
63
+ * `minmax(0, 1fr)` fixes the tracks and `Main`'s `wrap-anywhere`
64
+ * fixes the text, but neither reaches the shape that actually
65
+ * broke plex-channels: **a closed panel parked at
66
+ * `transform: translateX(110%)`**. A transform does not take a box
67
+ * out of the document's scrollable overflow region — and neither
68
+ * does `visibility: hidden` — so an off-screen drawer that looks
69
+ * absent still makes the page scroll to it. It is a favourite
70
+ * fleet pattern and no amount of `min-width: 0` touches it.
71
+ *
72
+ * `clip`, not `hidden`, and the two are not interchangeable here:
73
+ * `overflow: hidden` creates a **scroll container**, which would
74
+ * become the sticky containing block for `Header` and freeze it in
75
+ * place. `overflow-x: clip` creates no scrollport, so `Header`
76
+ * keeps sticking to the viewport, and `overflow-y` stays `visible`
77
+ * — a pair that is legal for `clip` and illegal for `hidden`,
78
+ * which would compute the other axis to `auto`.
79
+ *
80
+ * The trade is deliberate: content wider than the frame is
81
+ * **clipped rather than reachable by scrolling sideways**, which is
82
+ * exactly the outcome asked for. Content that genuinely needs to
83
+ * be wider owns a scroll container of its own — the pattern
84
+ * `Main.mdx` documents for tables.
85
+ *
86
+ * ### `relative` is what makes the clip reach anything
87
+ *
88
+ * `overflow-x: clip` only clips descendants whose **containing
89
+ * block chain passes through the clipping element**. An absolutely
90
+ * positioned element with no positioned ancestor resolves against
91
+ * the *initial* containing block instead, so it sails straight
92
+ * past every `overflow` in the tree and lands its overflow on
93
+ * `documentElement` — where `document.body.scrollWidth` still
94
+ * reads clean and only `document.documentElement.scrollWidth`
95
+ * shows it.
96
+ *
97
+ * That is not hypothetical: it is measured. Before this
98
+ * `relative`, the parked-drawer fixture reported `shellScroll:
99
+ * 390`, `bodyScroll: 390` and `docScroll: 742` at a 390px
100
+ * viewport — the shell dutifully clipping a box it had no
101
+ * authority over.
102
+ *
103
+ * The obvious candidate to own it, `Main`'s content column, does
104
+ * **not**: `container-type: inline-size` computes `contain` to
105
+ * `none` in Chromium and establishes no containing block for
106
+ * absolute positioning, which is measured too — the drawer's
107
+ * `offsetParent` was `BODY`. So `Shell` takes the job, which is
108
+ * also the honest place for it: the frame is what an app's parked
109
+ * chrome is parked against.
110
+ */
111
+ export declare const Shell: ({ children, className, contentWidth, skipLinkLabel, ...divProps }: ShellProps) => ReactNode;
112
+ //# sourceMappingURL=Shell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Shell.d.ts","sourceRoot":"","sources":["../../src/Shell/Shell.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EAEf,MAAM,OAAO,CAAA;AAGd,OAAO,EACL,KAAK,YAAY,EAElB,MAAM,mBAAmB,CAAA;AAG1B,MAAM,MAAM,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG;IACtD,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuGG;AACH,eAAO,MAAM,KAAK,GAAI,mEAMnB,UAAU,KAAG,SAwCf,CAAA"}
@@ -0,0 +1,116 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useUniqueId } from "@charcuterie/logic";
3
+ import { useMemo, } from "react";
4
+ import { toClassName } from "../toClassName.js";
5
+ import { DEFAULT_CONTENT_WIDTH, } from "./contentWidth.js";
6
+ import { ShellContext } from "./shellContext.js";
7
+ /**
8
+ * The page frame: one `Header`, up to two `Rail`s, one `Main`.
9
+ *
10
+ * **The largest duplicated surface in the fleet.** Ten of twelve UI
11
+ * repos hand-roll this, and three of them have a file literally
12
+ * called `AppShell.tsx` — mail-sifter's and points-market's headers
13
+ * are a **byte-identical** string
14
+ * (`sticky top-0 z-40 border-b border-border-subtle bg-surface-base/90 backdrop-blur-md`),
15
+ * arrived at independently, and board-games' is the same structure
16
+ * with `sticky` dropped. The remaining seven spell it as
17
+ * `PageChrome`, `Header`, `DashboardHeader`, `Layout` (twice),
18
+ * `TitleBar`, and inline in `App.tsx`.
19
+ *
20
+ * Three things fall out of owning it once, and each is a bug
21
+ * somewhere in that list today:
22
+ *
23
+ * - **A skip link.** All ten are missing one. A keyboard user
24
+ * tabs through the whole header on every page.
25
+ * - **One width, not two.** `Header` and `Main` read the same
26
+ * `contentWidth` through context — see `shellContext.ts` for
27
+ * the app where they disagree.
28
+ * - **Sticky that is actually sticky.** mux-magic's `PageHeader`
29
+ * is *described* as sticky and sets only `z-index`; it never
30
+ * sets `position: sticky`, so the z-index does nothing and the
31
+ * header scrolls away. `Header`'s `isSticky` sets both or
32
+ * neither.
33
+ *
34
+ * ## The layout is one grid, and the rails do not duplicate
35
+ *
36
+ * Three columns at `md` and up — `auto minmax(0, 1fr) auto`, so an
37
+ * absent rail is a **zero-width track** rather than a conditional
38
+ * subtree — collapsing to a single column below it, where the
39
+ * children simply stack in DOM order. The same `Rail` element is
40
+ * in the document at every width; nothing is rendered twice behind
41
+ * `hidden`/`lg:hidden`.
42
+ *
43
+ * That matters beyond tidiness. mux-magic's `PageHeader` renders
44
+ * its entire control set twice (lines 290–345 and 356–410) and
45
+ * mail-sifter's `TriageQueue` does the same, so every action
46
+ * exists twice in the DOM at every viewport: tests have to be
47
+ * defensively scoped with `within(toolbar)`, and any agent driving
48
+ * the page sees phantom controls it cannot click.
49
+ *
50
+ * `minmax(0, 1fr)` on the middle track is the horizontal-scroll
51
+ * fix, not a formality. A grid track's automatic minimum is
52
+ * `min-content`, so **one long unbroken string in `Main` widens
53
+ * the whole page** — which is the bug plex-channels' narrow view
54
+ * has today. rip-deck's `BayGrid` documents the same fix from the
55
+ * other end.
56
+ *
57
+ * There is no `gap`: an empty `auto` track is 0 wide, but a `gap`
58
+ * beside it is not, so a shell with no rails would carry two
59
+ * mystery gutters. `Rail` and `Main` bring their own padding.
60
+ *
61
+ * ## `overflow-x: clip` — the structural guarantee
62
+ *
63
+ * `minmax(0, 1fr)` fixes the tracks and `Main`'s `wrap-anywhere`
64
+ * fixes the text, but neither reaches the shape that actually
65
+ * broke plex-channels: **a closed panel parked at
66
+ * `transform: translateX(110%)`**. A transform does not take a box
67
+ * out of the document's scrollable overflow region — and neither
68
+ * does `visibility: hidden` — so an off-screen drawer that looks
69
+ * absent still makes the page scroll to it. It is a favourite
70
+ * fleet pattern and no amount of `min-width: 0` touches it.
71
+ *
72
+ * `clip`, not `hidden`, and the two are not interchangeable here:
73
+ * `overflow: hidden` creates a **scroll container**, which would
74
+ * become the sticky containing block for `Header` and freeze it in
75
+ * place. `overflow-x: clip` creates no scrollport, so `Header`
76
+ * keeps sticking to the viewport, and `overflow-y` stays `visible`
77
+ * — a pair that is legal for `clip` and illegal for `hidden`,
78
+ * which would compute the other axis to `auto`.
79
+ *
80
+ * The trade is deliberate: content wider than the frame is
81
+ * **clipped rather than reachable by scrolling sideways**, which is
82
+ * exactly the outcome asked for. Content that genuinely needs to
83
+ * be wider owns a scroll container of its own — the pattern
84
+ * `Main.mdx` documents for tables.
85
+ *
86
+ * ### `relative` is what makes the clip reach anything
87
+ *
88
+ * `overflow-x: clip` only clips descendants whose **containing
89
+ * block chain passes through the clipping element**. An absolutely
90
+ * positioned element with no positioned ancestor resolves against
91
+ * the *initial* containing block instead, so it sails straight
92
+ * past every `overflow` in the tree and lands its overflow on
93
+ * `documentElement` — where `document.body.scrollWidth` still
94
+ * reads clean and only `document.documentElement.scrollWidth`
95
+ * shows it.
96
+ *
97
+ * That is not hypothetical: it is measured. Before this
98
+ * `relative`, the parked-drawer fixture reported `shellScroll:
99
+ * 390`, `bodyScroll: 390` and `docScroll: 742` at a 390px
100
+ * viewport — the shell dutifully clipping a box it had no
101
+ * authority over.
102
+ *
103
+ * The obvious candidate to own it, `Main`'s content column, does
104
+ * **not**: `container-type: inline-size` computes `contain` to
105
+ * `none` in Chromium and establishes no containing block for
106
+ * absolute positioning, which is measured too — the drawer's
107
+ * `offsetParent` was `BODY`. So `Shell` takes the job, which is
108
+ * also the honest place for it: the frame is what an app's parked
109
+ * chrome is parked against.
110
+ */
111
+ export const Shell = ({ children, className, contentWidth = DEFAULT_CONTENT_WIDTH, skipLinkLabel = "Skip to main content", ...divProps }) => {
112
+ const mainId = useUniqueId();
113
+ const shellContext = useMemo(() => ({ contentWidth, mainId }), [contentWidth, mainId]);
114
+ return (_jsx(ShellContext.Provider, { value: shellContext, children: _jsxs("div", { ...divProps, className: toClassName("relative grid min-h-dvh grid-cols-1 grid-rows-[auto_auto_1fr_auto] overflow-x-clip bg-surface-base text-content-primary md:grid-cols-[auto_minmax(0,1fr)_auto] md:grid-rows-[auto_1fr]", className), children: [_jsx("a", { className: "fixed top-0 start-0 z-[var(--layer-toast)] m-3 -translate-y-24 rounded-md border border-border-subtle bg-surface-raised px-3 py-2 font-medium text-content-primary text-sm shadow-medium focus-visible:translate-y-0", href: `#${mainId}`, children: skipLinkLabel }), children] }) }));
115
+ };
116
+ //# sourceMappingURL=Shell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Shell.js","sourceRoot":"","sources":["../../src/Shell/Shell.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAGL,OAAO,GACR,MAAM,OAAO,CAAA;AAEd,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAEL,qBAAqB,GACtB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAOhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EACpB,QAAQ,EACR,SAAS,EACT,YAAY,GAAG,qBAAqB,EACpC,aAAa,GAAG,sBAAsB,EACtC,GAAG,QAAQ,EACA,EAAa,EAAE;IAC1B,MAAM,MAAM,GAAG,WAAW,EAAE,CAAA;IAE5B,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,EAChC,CAAC,YAAY,EAAE,MAAM,CAAC,CACvB,CAAA;IAED,OAAO,CACL,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YACxC,kBACM,QAAQ,EACZ,SAAS,EAAE,WAAW,CACpB,wLAAwL,EACxL,SAAS,CACV,aAcD,YACE,SAAS,EAAC,sNAAsN,EAChO,IAAI,EAAE,IAAI,MAAM,EAAE,YAEjB,aAAa,GACZ,EAEH,QAAQ,IACL,GACgB,CACzB,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * How wide the content column is allowed to get — the one number
3
+ * the fleet has never agreed on.
4
+ *
5
+ * Ten repos hand-roll their page chrome and **no two of them cap
6
+ * the column at the same width**: `max-w-5xl` (board-games,
7
+ * portly), `max-w-6xl` and `max-w-3xl` mixed inside one app
8
+ * (mux-magic), `max-w-7xl` (gallery-downloader, spoolbuddy),
9
+ * `max-w-[90rem]` (mail-sifter), `80rem` (points-market), a raw
10
+ * `1400px` in plain CSS (plex-channels), a JS-computed one
11
+ * (rip-deck), and none at all in three more. It is the least
12
+ * standardized value in the entire fleet.
13
+ *
14
+ * Two shapes are accepted, because the fleet genuinely has two
15
+ * cases and collapsing them is what produced the mess:
16
+ *
17
+ * 1. A **`screen.*` step** — the ordinary page. Named, so a
18
+ * reviewer reads `contentWidth="lg"` rather than deciding
19
+ * whether `max-w-6xl` was chosen or inherited.
20
+ * 2. A **`${number}rem` literal** — the runtime-computed case.
21
+ * rip-deck's `contentMaxWidthRem(columns)` widens the cap as
22
+ * the grid gains columns (1 → 56rem, 2 → 72rem, 3 → 106rem),
23
+ * and no fixed scale can express a number that is decided
24
+ * after the viewport is measured.
25
+ *
26
+ * `"full"` is the third answer and it is deliberate rather than a
27
+ * hole: a wall of poster tiles wants the whole window, and an app
28
+ * that wants that today reaches the same place by *omitting* the
29
+ * cap, which is indistinguishable from having forgotten it.
30
+ *
31
+ * **`max-w-*` is not used and must not be.** Tailwind v4 owns
32
+ * `--container-*` for that scale at *different* sizes than our
33
+ * `screen.*`, which is the collision that renamed our
34
+ * container-query scale to `--cq-*`
35
+ * ([decision](../../../../docs/decisions/2026-07-29-container-query-scale-is-cq-not-container.md)).
36
+ * The cap is therefore an inline `max-inline-size` reading
37
+ * `var(--screen-*)`, so it stays a token rather than becoming a
38
+ * literal the moment it is written down.
39
+ */
40
+ import { screen } from "@charcuterie/tokens";
41
+ /** `sm` | `md` | `lg` | `xl` | `2xl`, from the token scale. */
42
+ export type ScreenStep = keyof typeof screen;
43
+ export type ContentWidth = ScreenStep | "full" | `${number}rem`;
44
+ /**
45
+ * The `max-inline-size` a `contentWidth` resolves to, or
46
+ * `undefined` for `"full"` — which is the absence of the property
47
+ * rather than a very large value, so nothing has to be un-set.
48
+ */
49
+ export declare const toMaxInlineSize: (contentWidth: ContentWidth) => string | undefined;
50
+ /**
51
+ * The cap an app gets without asking, and it is deliberately
52
+ * **narrower** than most of what the fleet ships.
53
+ *
54
+ * The owner's complaint, verbatim: *"All these apps seem to be
55
+ * really narrow with a very large max-width. By that I mean 1
56
+ * column, but waaaaaaay too wide."* A single column of prose or
57
+ * form fields at `max-w-7xl` is one line of text the eye has to
58
+ * track across a monitor. `screen.lg` is 64rem — wide enough for a
59
+ * two-up card grid, narrow enough to read — and an app whose
60
+ * content genuinely fills a window says so, once, in one place.
61
+ */
62
+ export declare const DEFAULT_CONTENT_WIDTH: ContentWidth;
63
+ //# sourceMappingURL=contentWidth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contentWidth.d.ts","sourceRoot":"","sources":["../../src/Shell/contentWidth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAE5C,+DAA+D;AAC/D,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,MAAM,CAAA;AAE5C,MAAM,MAAM,YAAY,GACpB,UAAU,GACV,MAAM,GACN,GAAG,MAAM,KAAK,CAAA;AASlB;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAC1B,cAAc,YAAY,KACzB,MAAM,GAAG,SAUX,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAAmB,CAAA"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * How wide the content column is allowed to get — the one number
3
+ * the fleet has never agreed on.
4
+ *
5
+ * Ten repos hand-roll their page chrome and **no two of them cap
6
+ * the column at the same width**: `max-w-5xl` (board-games,
7
+ * portly), `max-w-6xl` and `max-w-3xl` mixed inside one app
8
+ * (mux-magic), `max-w-7xl` (gallery-downloader, spoolbuddy),
9
+ * `max-w-[90rem]` (mail-sifter), `80rem` (points-market), a raw
10
+ * `1400px` in plain CSS (plex-channels), a JS-computed one
11
+ * (rip-deck), and none at all in three more. It is the least
12
+ * standardized value in the entire fleet.
13
+ *
14
+ * Two shapes are accepted, because the fleet genuinely has two
15
+ * cases and collapsing them is what produced the mess:
16
+ *
17
+ * 1. A **`screen.*` step** — the ordinary page. Named, so a
18
+ * reviewer reads `contentWidth="lg"` rather than deciding
19
+ * whether `max-w-6xl` was chosen or inherited.
20
+ * 2. A **`${number}rem` literal** — the runtime-computed case.
21
+ * rip-deck's `contentMaxWidthRem(columns)` widens the cap as
22
+ * the grid gains columns (1 → 56rem, 2 → 72rem, 3 → 106rem),
23
+ * and no fixed scale can express a number that is decided
24
+ * after the viewport is measured.
25
+ *
26
+ * `"full"` is the third answer and it is deliberate rather than a
27
+ * hole: a wall of poster tiles wants the whole window, and an app
28
+ * that wants that today reaches the same place by *omitting* the
29
+ * cap, which is indistinguishable from having forgotten it.
30
+ *
31
+ * **`max-w-*` is not used and must not be.** Tailwind v4 owns
32
+ * `--container-*` for that scale at *different* sizes than our
33
+ * `screen.*`, which is the collision that renamed our
34
+ * container-query scale to `--cq-*`
35
+ * ([decision](../../../../docs/decisions/2026-07-29-container-query-scale-is-cq-not-container.md)).
36
+ * The cap is therefore an inline `max-inline-size` reading
37
+ * `var(--screen-*)`, so it stays a token rather than becoming a
38
+ * literal the moment it is written down.
39
+ */
40
+ import { screen } from "@charcuterie/tokens";
41
+ /**
42
+ * Derived from the scale rather than restated, so a step added to
43
+ * `screen.*` is accepted here without a second edit — and one
44
+ * removed stops typechecking at every call site.
45
+ */
46
+ const SCREEN_STEPS = new Set(Object.keys(screen));
47
+ /**
48
+ * The `max-inline-size` a `contentWidth` resolves to, or
49
+ * `undefined` for `"full"` — which is the absence of the property
50
+ * rather than a very large value, so nothing has to be un-set.
51
+ */
52
+ export const toMaxInlineSize = (contentWidth) => {
53
+ if (contentWidth === "full") {
54
+ return undefined;
55
+ }
56
+ if (SCREEN_STEPS.has(contentWidth)) {
57
+ return `var(--screen-${contentWidth})`;
58
+ }
59
+ return contentWidth;
60
+ };
61
+ /**
62
+ * The cap an app gets without asking, and it is deliberately
63
+ * **narrower** than most of what the fleet ships.
64
+ *
65
+ * The owner's complaint, verbatim: *"All these apps seem to be
66
+ * really narrow with a very large max-width. By that I mean 1
67
+ * column, but waaaaaaay too wide."* A single column of prose or
68
+ * form fields at `max-w-7xl` is one line of text the eye has to
69
+ * track across a monitor. `screen.lg` is 64rem — wide enough for a
70
+ * two-up card grid, narrow enough to read — and an app whose
71
+ * content genuinely fills a window says so, once, in one place.
72
+ */
73
+ export const DEFAULT_CONTENT_WIDTH = "lg";
74
+ //# sourceMappingURL=contentWidth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contentWidth.js","sourceRoot":"","sources":["../../src/Shell/contentWidth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAU5C;;;;GAIG;AACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;AAEzD;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,YAA0B,EACN,EAAE;IACtB,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACnC,OAAO,gBAAgB,YAAY,GAAG,CAAA;IACxC,CAAC;IAED,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAiB,IAAI,CAAA"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * What `Shell` tells `Header` and `Main` so they cannot disagree.
3
+ *
4
+ * This context exists because of one specific bug, present in the
5
+ * fleet today: **points-market's header is width-constrained and
6
+ * its `<main>` is not.** `AppShell.tsx` wraps the header row in
7
+ * `.pm-constrained` (80rem) and then renders
8
+ * `<main className="px-4 py-6 sm:px-6">` with no cap at all, so on
9
+ * a wide monitor the page title sits above content that starts to
10
+ * its left and runs past its right. Nothing errors, both values
11
+ * are individually reasonable, and the two were simply written on
12
+ * different days.
13
+ *
14
+ * A width that has to be stated twice will eventually be stated
15
+ * twice differently. So it is stated **once**, on `Shell`, and the
16
+ * two elements that have to agree read it from here. Either can
17
+ * still override for a genuine reason — a full-bleed hero `Main`
18
+ * under a constrained `Header` is a real design — but that now
19
+ * takes a prop somebody wrote on purpose.
20
+ *
21
+ * `mainId` rides along for the same reason: the skip link's `href`
22
+ * and the `<main>` it lands on are one value, generated once.
23
+ */
24
+ import type { ContentWidth } from "./contentWidth.ts";
25
+ export type ShellContextValue = {
26
+ contentWidth: ContentWidth;
27
+ mainId: string;
28
+ };
29
+ /**
30
+ * `null` rather than a default object, so `Header` and `Main` can
31
+ * tell "no `Shell` above me" from "a `Shell` that chose the
32
+ * defaults" — the first case has to generate its own `<main>` id,
33
+ * the second must not.
34
+ */
35
+ export declare const ShellContext: import("react").Context<ShellContextValue | null>;
36
+ //# sourceMappingURL=shellContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shellContext.d.ts","sourceRoot":"","sources":["../../src/Shell/shellContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,EAAE,YAAY,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,mDACsB,CAAA"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * What `Shell` tells `Header` and `Main` so they cannot disagree.
3
+ *
4
+ * This context exists because of one specific bug, present in the
5
+ * fleet today: **points-market's header is width-constrained and
6
+ * its `<main>` is not.** `AppShell.tsx` wraps the header row in
7
+ * `.pm-constrained` (80rem) and then renders
8
+ * `<main className="px-4 py-6 sm:px-6">` with no cap at all, so on
9
+ * a wide monitor the page title sits above content that starts to
10
+ * its left and runs past its right. Nothing errors, both values
11
+ * are individually reasonable, and the two were simply written on
12
+ * different days.
13
+ *
14
+ * A width that has to be stated twice will eventually be stated
15
+ * twice differently. So it is stated **once**, on `Shell`, and the
16
+ * two elements that have to agree read it from here. Either can
17
+ * still override for a genuine reason — a full-bleed hero `Main`
18
+ * under a constrained `Header` is a real design — but that now
19
+ * takes a prop somebody wrote on purpose.
20
+ *
21
+ * `mainId` rides along for the same reason: the skip link's `href`
22
+ * and the `<main>` it lands on are one value, generated once.
23
+ */
24
+ import { createContext } from "react";
25
+ /**
26
+ * `null` rather than a default object, so `Header` and `Main` can
27
+ * tell "no `Shell` above me" from "a `Shell` that chose the
28
+ * defaults" — the first case has to generate its own `<main>` id,
29
+ * the second must not.
30
+ */
31
+ export const ShellContext = createContext(null);
32
+ //# sourceMappingURL=shellContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shellContext.js","sourceRoot":"","sources":["../../src/Shell/shellContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AASrC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GACvB,aAAa,CAA2B,IAAI,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"SortableTableHeader.d.ts","sourceRoot":"","sources":["../../src/SortableTableHeader/SortableTableHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKtC,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,YAAY,CAAA;AAEtD,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,iEAAiE;IACjE,MAAM,EAAE,CAAC,SAAS,EAAE,aAAa,KAAK,IAAI,CAAA;CAC3C,CAAA;AAQD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,eAAO,MAAM,mBAAmB,GAAI,6CAKjC,wBAAwB,KAAG,SAsD7B,CAAA"}
1
+ {"version":3,"file":"SortableTableHeader.d.ts","sourceRoot":"","sources":["../../src/SortableTableHeader/SortableTableHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKtC,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,YAAY,CAAA;AAEtD,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,iEAAiE;IACjE,MAAM,EAAE,CAAC,SAAS,EAAE,aAAa,KAAK,IAAI,CAAA;CAC3C,CAAA;AAQD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,eAAO,MAAM,mBAAmB,GAAI,6CAKjC,wBAAwB,KAAG,SA2D7B,CAAA"}
@@ -48,7 +48,13 @@ const NEXT_DIRECTION = {
48
48
  * `getByRole("columnheader", { name: "Name" })` stops matching the
49
49
  * moment somebody sorts it.
50
50
  */
51
- export const SortableTableHeader = ({ children, className, direction, onSort, }) => (_jsx("th", { "aria-sort": direction ?? "none", className: toClassName("border-border-subtle border-b p-0 text-start", className), scope: "col", children: _jsxs("button", { className: toClassName("flex w-full cursor-pointer items-center gap-1.5 bg-transparent px-3 py-2 text-start font-medium text-content-secondary text-xs uppercase tracking-wide transition-colors duration-(--duration-fast) ease-standard", "hover:text-content-primary", FOCUS_RING_CLASS), onClick: () => {
51
+ export const SortableTableHeader = ({ children, className, direction, onSort, }) => (_jsx("th", { "aria-sort": direction ?? "none", className: toClassName("border-border-subtle border-b p-0 text-start", className), scope: "col", children: _jsxs("button", { className: toClassName(
52
+ // `text-sm` since 2026-08-10. This was the single most
53
+ // fragile combination in the package: `text-xs` at 12px,
54
+ // uppercased and letterspaced, which strips the word shapes
55
+ // readers use at small sizes. A column header is the label
56
+ // for everything under it, so it is content.
57
+ "flex w-full cursor-pointer items-center gap-1.5 bg-transparent px-3 py-2 text-start font-medium text-content-secondary text-sm uppercase tracking-wide transition-colors duration-(--duration-fast) ease-standard", "hover:text-content-primary", FOCUS_RING_CLASS), onClick: () => {
52
58
  onSort(direction === undefined
53
59
  ? "ascending"
54
60
  : NEXT_DIRECTION[direction]);
@@ -1 +1 @@
1
- {"version":3,"file":"SortableTableHeader.js","sourceRoot":"","sources":["../../src/SortableTableHeader/SortableTableHeader.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAmB/C,MAAM,cAAc,GAClB;IACE,SAAS,EAAE,YAAY;IACvB,UAAU,EAAE,WAAW;CACxB,CAAA;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,QAAQ,EACR,SAAS,EACT,SAAS,EACT,MAAM,GACmB,EAAa,EAAE,CAAC,CACzC,0BAMa,SAAS,IAAI,MAAM,EAC9B,SAAS,EAAE,WAAW,CACpB,8CAA8C,EAC9C,SAAS,CACV,EACD,KAAK,EAAC,KAAK,YAEX,kBACE,SAAS,EAAE,WAAW,CACpB,mNAAmN,EACnN,4BAA4B,EAC5B,gBAAgB,CACjB,EACD,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,CACJ,SAAS,KAAK,SAAS;gBACrB,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAC9B,CAAA;QACH,CAAC,EACD,IAAI,EAAC,QAAQ,aAEZ,QAAQ,EAET,6BAIc,MAAM,EAClB,SAAS,EAAE,WAAW,CACpB,2FAA2F,EAC3F,SAAS,KAAK,SAAS,IAAI,WAAW,EACtC,SAAS,KAAK,YAAY,IAAI,YAAY,CAC3C,EACD,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,KAAK,EAChB,MAAM,EAAC,cAAc,EACrB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,WAAW,EAAE,CAAC,EACd,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B,YAElC,eAAM,CAAC,EAAC,eAAe,GAAG,GACtB,IACC,GACN,CACN,CAAA"}
1
+ {"version":3,"file":"SortableTableHeader.js","sourceRoot":"","sources":["../../src/SortableTableHeader/SortableTableHeader.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAmB/C,MAAM,cAAc,GAClB;IACE,SAAS,EAAE,YAAY;IACvB,UAAU,EAAE,WAAW;CACxB,CAAA;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,QAAQ,EACR,SAAS,EACT,SAAS,EACT,MAAM,GACmB,EAAa,EAAE,CAAC,CACzC,0BAMa,SAAS,IAAI,MAAM,EAC9B,SAAS,EAAE,WAAW,CACpB,8CAA8C,EAC9C,SAAS,CACV,EACD,KAAK,EAAC,KAAK,YAEX,kBACE,SAAS,EAAE,WAAW;QACpB,uDAAuD;QACvD,yDAAyD;QACzD,4DAA4D;QAC5D,2DAA2D;QAC3D,6CAA6C;QAC7C,mNAAmN,EACnN,4BAA4B,EAC5B,gBAAgB,CACjB,EACD,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,CACJ,SAAS,KAAK,SAAS;gBACrB,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAC9B,CAAA;QACH,CAAC,EACD,IAAI,EAAC,QAAQ,aAEZ,QAAQ,EAET,6BAIc,MAAM,EAClB,SAAS,EAAE,WAAW,CACpB,2FAA2F,EAC3F,SAAS,KAAK,SAAS,IAAI,WAAW,EACtC,SAAS,KAAK,YAAY,IAAI,YAAY,CAC3C,EACD,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,KAAK,EAChB,MAAM,EAAC,cAAc,EACrB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,WAAW,EAAE,CAAC,EACd,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B,YAElC,eAAM,CAAC,EAAC,eAAe,GAAG,GACtB,IACC,GACN,CACN,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../src/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAcnD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAIhD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG;IACrC;;;;;;OAMG;IACH,QAAQ,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,eAAO,MAAM,OAAO,GAAI,wEAOrB,YAAY,KAAG,SAsFjB,CAAA"}
1
+ {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../src/Tooltip/Tooltip.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAcnD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAIhD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG;IACrC;;;;;;OAMG;IACH,QAAQ,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,eAAO,MAAM,OAAO,GAAI,wEAOrB,YAAY,KAAG,SA0FjB,CAAA"}
@@ -105,7 +105,11 @@ export const Tooltip = ({ children, className, delay = 200, label, placement = "
105
105
  // 2.9:1. The `solid`/`on-solid` roles exist precisely to
106
106
  // be a guaranteed couple, and the contrast gate checks
107
107
  // them as one.
108
- "z-[var(--layer-tooltip)] max-w-xs rounded-md bg-intent-neutral-solid px-2 py-1 text-intent-neutral-on-solid text-xs shadow-medium", className),
108
+ // `text-sm`, not `text-xs`: a tooltip body is the only
109
+ // copy explaining the control it points at, so it is
110
+ // content rather than fine print. It was the whole
111
+ // tooltip at 12px before 2026-08-10.
112
+ "z-[var(--layer-tooltip)] max-w-xs rounded-md bg-intent-neutral-solid px-2 py-1 text-intent-neutral-on-solid text-sm shadow-medium", className),
109
113
  // Portalled to `document.body`, the same reversal as the
110
114
  // other overlays: `strategy: "fixed"` alone still let an
111
115
  // `overflow: hidden` ancestor clip the tip, and a portal
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../src/Tooltip/Tooltip.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,cAAc,EACd,aAAa,GACd,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EACL,UAAU,EACV,cAAc,EACd,IAAI,EACJ,MAAM,EACN,KAAK,EACL,UAAU,EACV,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,OAAO,GACR,MAAM,oBAAoB,CAAA;AAI3B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAwB/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EACtB,QAAQ,EACR,SAAS,EACT,KAAK,GAAG,GAAG,EACX,KAAK,EACL,SAAS,GAAG,KAAK,EACjB,GAAG,iBAAiB,EACP,EAAa,EAAE;IAC5B,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,aAAa,EAAE,CAAA;IAEnD,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;QACpD,iEAAiE;QACjE,oBAAoB;QACpB,IAAI,EAAE,SAAS;QACf,YAAY,EAAE,YAAY;QAC1B,SAAS;QACT,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACtD,QAAQ,EAAE,OAAO;QACjB,oBAAoB,EAAE,UAAU;KACjC,CAAC,CAAA;IAEF,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,GAC3C,eAAe,CAAC;QACd,QAAQ,CAAC,OAAO,EAAE;YAChB,sDAAsD;YACtD,2DAA2D;YAC3D,uBAAuB;YACvB,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,KAAK;SACd,CAAC;QACF,uDAAuD;QACvD,2DAA2D;QAC3D,iCAAiC;QACjC,QAAQ,CAAC,OAAO,CAAC;QACjB,UAAU,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QAC9C,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KACtC,CAAC,CAAA;IAEJ,MAAM,aAAa,GAAG,cAAc,CAClC,QAAQ;IACR,iDAAiD;IACjD,kEAAkE;IAClE,2DAA2D;IAC3D,6DAA6D;IAC7D,oCAAoC;IACpC,cAAc,CAAC,iBAAiB,EAAE;QAChC,GAAG,iBAAiB,EAAE;QACtB,GAAG,EAAE,IAAI,CAAC,YAAY;KACvB,CAAC,CACH,CAAA;IAED,OAAO,CACL,8BACG,aAAa,EAEb,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,cAAc,cACb,iBACM,gBAAgB,EAAE,EACtB,SAAS,EAAE,WAAW;oBACpB,sDAAsD;oBACtD,oDAAoD;oBACpD,sDAAsD;oBACtD,0DAA0D;oBAC1D,oDAAoD;oBACpD,yDAAyD;oBACzD,uDAAuD;oBACvD,eAAe;oBACf,mIAAmI,EACnI,SAAS,CACV;oBACD,yDAAyD;oBACzD,yDAAyD;oBACzD,yDAAyD;oBACzD,0DAA0D;oBAC1D,2DAA2D;oBAC3D,yDAAyD;oBACzD,iBAAiB;oBACjB,GAAG,EAAE,IAAI,CAAC,WAAW;oBACrB,yDAAyD;oBACzD,oDAAoD;oBACpD,0DAA0D;oBAC1D,2DAA2D;oBAC3D,+BAA+B;oBAC/B,IAAI,EAAC,SAAS,EACd,KAAK,EAAE,cAAc,YAEpB,KAAK,GACF,GACS,CAClB,CAAC,CAAC,CAAC,IAAI,IACP,CACJ,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../src/Tooltip/Tooltip.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -68,6 +68,8 @@ export type { FieldGroupProps } from "./Field/FieldGroup.tsx";
68
68
  export { FieldGroup } from "./Field/FieldGroup.tsx";
69
69
  export type { FileDropZoneProps } from "./FileDropZone/FileDropZone.tsx";
70
70
  export { FileDropZone } from "./FileDropZone/FileDropZone.tsx";
71
+ export type { HeaderProps } from "./Header/Header.tsx";
72
+ export { Header } from "./Header/Header.tsx";
71
73
  export type { IconButtonProps } from "./IconButton/IconButton.tsx";
72
74
  export { IconButton } from "./IconButton/IconButton.tsx";
73
75
  export type { IntentAppearance } from "./intentStyles.ts";
@@ -80,6 +82,8 @@ export type { LiveStatusIndicatorProps, LiveStatusIndicatorSize, } from "./LiveS
80
82
  export { LiveStatusIndicator } from "./LiveStatusIndicator/LiveStatusIndicator.tsx";
81
83
  export type { LogLine, LogViewerProps, } from "./LogViewer/LogViewer.tsx";
82
84
  export { LogViewer } from "./LogViewer/LogViewer.tsx";
85
+ export type { MainProps } from "./Main/Main.tsx";
86
+ export { Main } from "./Main/Main.tsx";
83
87
  export type { MediaTileProps, MediaTileRatio, } from "./MediaTile/MediaTile.tsx";
84
88
  export { MediaTile } from "./MediaTile/MediaTile.tsx";
85
89
  export type { MediaStatus } from "./MediaTile/mediaStatus.ts";
@@ -96,6 +100,8 @@ export type { ProgressThreshold } from "./ProgressBar/progressValue.ts";
96
100
  export { getProgressIntent, toProgressPercent, toProgressValue, } from "./ProgressBar/progressValue.ts";
97
101
  export type { RadioGroupProps, RadioItem, } from "./RadioGroup/RadioGroup.tsx";
98
102
  export { RadioGroup } from "./RadioGroup/RadioGroup.tsx";
103
+ export type { RailLandmark, RailProps, RailSide, } from "./Rail/Rail.tsx";
104
+ export { Rail } from "./Rail/Rail.tsx";
99
105
  export { AnchorLink } from "./RouterLink/AnchorLink.tsx";
100
106
  export { RouterLinkProvider, useRouterLink, } from "./RouterLink/RouterLinkProvider.tsx";
101
107
  export type { RouterLinkComponent, RouterLinkProps, } from "./RouterLink/routerLink.ts";
@@ -104,6 +110,9 @@ export type { SegmentedControlProps, SegmentedItem, } from "./SegmentedControl/S
104
110
  export { SegmentedControl } from "./SegmentedControl/SegmentedControl.tsx";
105
111
  export type { SelectItem, SelectOption, SelectOptionGroup, SelectProps, } from "./Select/Select.tsx";
106
112
  export { Select } from "./Select/Select.tsx";
113
+ export type { ContentWidth, ScreenStep, } from "./Shell/contentWidth.ts";
114
+ export type { ShellProps } from "./Shell/Shell.tsx";
115
+ export { Shell } from "./Shell/Shell.tsx";
107
116
  export type { SkeletonProps, SkeletonShape, } from "./Skeleton/Skeleton.tsx";
108
117
  export { Skeleton } from "./Skeleton/Skeleton.tsx";
109
118
  export type { SortableTableHeaderProps, SortDirection, } from "./SortableTableHeader/SortableTableHeader.tsx";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -49,12 +49,14 @@ export { EmptyState } from "./EmptyState/EmptyState.js";
49
49
  export { Field } from "./Field/Field.js";
50
50
  export { FieldGroup } from "./Field/FieldGroup.js";
51
51
  export { FileDropZone } from "./FileDropZone/FileDropZone.js";
52
+ export { Header } from "./Header/Header.js";
52
53
  export { IconButton } from "./IconButton/IconButton.js";
53
54
  export { ARIA_DISABLED_CLASS, DISABLED_CLASS, FOCUS_RING_CLASS, INTENT_APPEARANCE_CLASS, INTENT_CONTENT_CLASS, INTENT_HOVER_CLASS, INTENT_SOLID_FILL_CLASS, } from "./intentStyles.js";
54
55
  export { Lightbox } from "./Lightbox/Lightbox.js";
55
56
  export { Listbox } from "./Listbox/Listbox.js";
56
57
  export { LiveStatusIndicator } from "./LiveStatusIndicator/LiveStatusIndicator.js";
57
58
  export { LogViewer } from "./LogViewer/LogViewer.js";
59
+ export { Main } from "./Main/Main.js";
58
60
  export { MediaTile } from "./MediaTile/MediaTile.js";
59
61
  export { mediaTransitions } from "./MediaTile/mediaStatus.js";
60
62
  export { Menu } from "./Menu/Menu.js";
@@ -63,11 +65,13 @@ export { Popover } from "./Popover/Popover.js";
63
65
  export { ProgressBar } from "./ProgressBar/ProgressBar.js";
64
66
  export { getProgressIntent, toProgressPercent, toProgressValue, } from "./ProgressBar/progressValue.js";
65
67
  export { RadioGroup } from "./RadioGroup/RadioGroup.js";
68
+ export { Rail } from "./Rail/Rail.js";
66
69
  export { AnchorLink } from "./RouterLink/AnchorLink.js";
67
70
  export { RouterLinkProvider, useRouterLink, } from "./RouterLink/RouterLinkProvider.js";
68
71
  export { getIsRoutedHref } from "./RouterLink/routerLink.js";
69
72
  export { SegmentedControl } from "./SegmentedControl/SegmentedControl.js";
70
73
  export { Select } from "./Select/Select.js";
74
+ export { Shell } from "./Shell/Shell.js";
71
75
  export { Skeleton } from "./Skeleton/Skeleton.js";
72
76
  export { SortableTableHeader } from "./SortableTableHeader/SortableTableHeader.js";
73
77
  export { Spinner } from "./Spinner/Spinner.js";