@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.
- package/README.md +9 -0
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +3 -1
- package/dist/Dialog/Dialog.js.map +1 -1
- package/dist/Field/Field.d.ts.map +1 -1
- package/dist/Field/Field.js +1 -1
- package/dist/Field/Field.js.map +1 -1
- package/dist/Field/FieldGroup.d.ts.map +1 -1
- package/dist/Field/FieldGroup.js +1 -1
- package/dist/Field/FieldGroup.js.map +1 -1
- package/dist/Header/Header.d.ts +52 -0
- package/dist/Header/Header.d.ts.map +1 -0
- package/dist/Header/Header.js +55 -0
- package/dist/Header/Header.js.map +1 -0
- package/dist/Main/Main.d.ts +113 -0
- package/dist/Main/Main.d.ts.map +1 -0
- package/dist/Main/Main.js +123 -0
- package/dist/Main/Main.js.map +1 -0
- package/dist/Rail/Rail.d.ts +61 -0
- package/dist/Rail/Rail.d.ts.map +1 -0
- package/dist/Rail/Rail.js +64 -0
- package/dist/Rail/Rail.js.map +1 -0
- package/dist/Shell/Shell.d.ts +112 -0
- package/dist/Shell/Shell.d.ts.map +1 -0
- package/dist/Shell/Shell.js +116 -0
- package/dist/Shell/Shell.js.map +1 -0
- package/dist/Shell/contentWidth.d.ts +63 -0
- package/dist/Shell/contentWidth.d.ts.map +1 -0
- package/dist/Shell/contentWidth.js +74 -0
- package/dist/Shell/contentWidth.js.map +1 -0
- package/dist/Shell/shellContext.d.ts +36 -0
- package/dist/Shell/shellContext.d.ts.map +1 -0
- package/dist/Shell/shellContext.js +32 -0
- package/dist/Shell/shellContext.js.map +1 -0
- package/dist/SortableTableHeader/SortableTableHeader.d.ts.map +1 -1
- package/dist/SortableTableHeader/SortableTableHeader.js +7 -1
- package/dist/SortableTableHeader/SortableTableHeader.js.map +1 -1
- package/dist/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/Tooltip/Tooltip.js +5 -1
- package/dist/Tooltip/Tooltip.js.map +1 -1
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/mountStory.testHelpers.d.ts.map +1 -1
- package/dist/mountStory.testHelpers.js +56 -0
- package/dist/mountStory.testHelpers.js.map +1 -1
- package/dist/viewport.testHelpers.d.ts +31 -0
- package/dist/viewport.testHelpers.d.ts.map +1 -0
- package/dist/viewport.testHelpers.js +34 -0
- package/dist/viewport.testHelpers.js.map +1 -0
- package/package.json +2 -2
- package/src/Dialog/Dialog.tsx +17 -1
- package/src/Field/Field.tsx +10 -2
- package/src/Field/FieldGroup.tsx +4 -2
- package/src/Header/Header.mdx +72 -0
- package/src/Header/Header.stories.tsx +221 -0
- package/src/Header/Header.test.tsx +122 -0
- package/src/Header/Header.tsx +118 -0
- package/src/Main/Main.mdx +149 -0
- package/src/Main/Main.stories.tsx +164 -0
- package/src/Main/Main.test.tsx +167 -0
- package/src/Main/Main.tsx +174 -0
- package/src/Rail/Rail.mdx +75 -0
- package/src/Rail/Rail.stories.tsx +177 -0
- package/src/Rail/Rail.test.tsx +150 -0
- package/src/Rail/Rail.tsx +102 -0
- package/src/Shell/Shell.mdx +186 -0
- package/src/Shell/Shell.stories.tsx +185 -0
- package/src/Shell/Shell.test.tsx +267 -0
- package/src/Shell/Shell.tsx +170 -0
- package/src/Shell/contentWidth.ts +89 -0
- package/src/Shell/shellContext.ts +41 -0
- package/src/SortableTableHeader/SortableTableHeader.tsx +6 -1
- package/src/Tooltip/Tooltip.tsx +5 -1
- package/src/index.ts +16 -0
- package/src/mountStory.testHelpers.ts +63 -0
- package/src/shell.storyHelpers.tsx +258 -0
- package/src/sourceRules.test.ts +17 -1
- 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,
|
|
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(
|
|
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,
|
|
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,
|
|
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"}
|
package/dist/Tooltip/Tooltip.js
CHANGED
|
@@ -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
|
-
|
|
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";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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";
|