@epilot/zenith-react 0.1.0-next.0 → 0.1.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 (142) hide show
  1. package/README.md +95 -15
  2. package/dist/components/appearance-boundary/appearance-boundary.js +32 -34
  3. package/dist/components/appearance-boundary/appearance-boundary.js.map +1 -1
  4. package/dist/components/badge/badge.js +1 -1
  5. package/dist/components/badge/badge.js.map +1 -1
  6. package/dist/components/breadcrumb/breadcrumb.js +10 -10
  7. package/dist/components/breadcrumb/breadcrumb.js.map +1 -1
  8. package/dist/components/button/button.js +28 -28
  9. package/dist/components/button/button.js.map +1 -1
  10. package/dist/components/button-group/button-group.js.map +1 -1
  11. package/dist/components/callout/callout.js +13 -13
  12. package/dist/components/callout/callout.js.map +1 -1
  13. package/dist/components/card/card.js.map +1 -1
  14. package/dist/components/checkbox/checkbox.js +13 -13
  15. package/dist/components/checkbox/checkbox.js.map +1 -1
  16. package/dist/components/code-block/code-block.js +6 -6
  17. package/dist/components/code-block/code-block.js.map +1 -1
  18. package/dist/components/code-editor/code-editor.js +1 -1
  19. package/dist/components/code-editor/code-editor.js.map +1 -1
  20. package/dist/components/code-editor/indent.js.map +1 -1
  21. package/dist/components/command/command.js +7 -13
  22. package/dist/components/command/command.js.map +1 -1
  23. package/dist/components/data-table/data-table-body.js +120 -66
  24. package/dist/components/data-table/data-table-body.js.map +1 -1
  25. package/dist/components/data-table/data-table-column-header.js +7 -7
  26. package/dist/components/data-table/data-table-column-header.js.map +1 -1
  27. package/dist/components/data-table/data-table-column-order.js +277 -0
  28. package/dist/components/data-table/data-table-column-order.js.map +1 -0
  29. package/dist/components/data-table/data-table-content.js +72 -58
  30. package/dist/components/data-table/data-table-content.js.map +1 -1
  31. package/dist/components/data-table/data-table-context.js +8 -4
  32. package/dist/components/data-table/data-table-context.js.map +1 -1
  33. package/dist/components/data-table/data-table-footer.js +31 -0
  34. package/dist/components/data-table/data-table-footer.js.map +1 -0
  35. package/dist/components/data-table/data-table-header-draggable.js +151 -0
  36. package/dist/components/data-table/data-table-header-draggable.js.map +1 -0
  37. package/dist/components/data-table/data-table-header.js +130 -57
  38. package/dist/components/data-table/data-table-header.js.map +1 -1
  39. package/dist/components/data-table/data-table-resize-handle.js +137 -0
  40. package/dist/components/data-table/data-table-resize-handle.js.map +1 -0
  41. package/dist/components/data-table/data-table.js +184 -156
  42. package/dist/components/data-table/data-table.js.map +1 -1
  43. package/dist/components/data-table/hooks/use-data-table-virtualizer.js +9 -0
  44. package/dist/components/data-table/hooks/use-data-table-virtualizer.js.map +1 -0
  45. package/dist/components/date-range-picker/date-range-picker.js +197 -195
  46. package/dist/components/date-range-picker/date-range-picker.js.map +1 -1
  47. package/dist/components/date-time-picker/calendar.js +29 -29
  48. package/dist/components/date-time-picker/calendar.js.map +1 -1
  49. package/dist/components/date-time-picker/time-picker.js +55 -55
  50. package/dist/components/date-time-picker/time-picker.js.map +1 -1
  51. package/dist/components/density-provider/density-provider.js.map +1 -1
  52. package/dist/components/dialog/dialog.js +1 -1
  53. package/dist/components/dialog/dialog.js.map +1 -1
  54. package/dist/components/drawer/drawer.js +5 -5
  55. package/dist/components/drawer/drawer.js.map +1 -1
  56. package/dist/components/dropdown-menu/dropdown-menu.js +36 -36
  57. package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -1
  58. package/dist/components/field/field-combobox.js +4 -4
  59. package/dist/components/field/field-combobox.js.map +1 -1
  60. package/dist/components/field/field.js +40 -40
  61. package/dist/components/field/field.js.map +1 -1
  62. package/dist/components/label/label.js +0 -28
  63. package/dist/components/label/label.js.map +1 -1
  64. package/dist/components/list/list.js +42 -52
  65. package/dist/components/list/list.js.map +1 -1
  66. package/dist/components/option-card/option-card.js +27 -25
  67. package/dist/components/option-card/option-card.js.map +1 -1
  68. package/dist/components/pill/pill.js +9 -9
  69. package/dist/components/pill/pill.js.map +1 -1
  70. package/dist/components/radio/radio.js +14 -14
  71. package/dist/components/radio/radio.js.map +1 -1
  72. package/dist/components/scroll-area/scroll-area.js +9 -9
  73. package/dist/components/scroll-area/scroll-area.js.map +1 -1
  74. package/dist/components/segmented-control/segmented-control.js +1 -1
  75. package/dist/components/segmented-control/segmented-control.js.map +1 -1
  76. package/dist/components/select/select.js +11 -11
  77. package/dist/components/select/select.js.map +1 -1
  78. package/dist/components/separator/separator.js.map +1 -1
  79. package/dist/components/skeleton/skeleton.js.map +1 -1
  80. package/dist/components/slot/compose-as-child.js.map +1 -1
  81. package/dist/components/spinner/spinner.js.map +1 -1
  82. package/dist/components/switch/switch.js +11 -11
  83. package/dist/components/switch/switch.js.map +1 -1
  84. package/dist/components/table/table-pagination.js +1 -1
  85. package/dist/components/table/table-pagination.js.map +1 -1
  86. package/dist/components/table/table.js +15 -15
  87. package/dist/components/table/table.js.map +1 -1
  88. package/dist/components/text/text.js +10 -1
  89. package/dist/components/text/text.js.map +1 -1
  90. package/dist/components/toast/toast.js +30 -32
  91. package/dist/components/toast/toast.js.map +1 -1
  92. package/dist/components/toggle/toggle.js +20 -20
  93. package/dist/components/toggle/toggle.js.map +1 -1
  94. package/dist/delivery/index.d.ts +10 -44
  95. package/dist/delivery/index.js +5 -9
  96. package/dist/index.d.ts +1994 -2272
  97. package/dist/index.js +133 -121
  98. package/dist/index.js.map +1 -1
  99. package/dist/lib/clear-button.js.map +1 -1
  100. package/dist/lib/code-highlight.js.map +1 -1
  101. package/dist/lib/code-tokens.js.map +1 -1
  102. package/dist/lib/pagination.js.map +1 -1
  103. package/dist/packages/tokens/dist/delivery/index.js +18 -48
  104. package/dist/packages/tokens/dist/delivery/index.js.map +1 -1
  105. package/dist/packages/tokens/dist/generated/core.generated.js +18 -0
  106. package/dist/packages/tokens/dist/generated/core.generated.js.map +1 -0
  107. package/dist/packages/tokens/dist/generated/palette.generated.js +5 -5
  108. package/dist/packages/tokens/dist/generated/palette.generated.js.map +1 -1
  109. package/dist/packages/tokens/dist/install.js +9 -9
  110. package/dist/packages/tokens/dist/install.js.map +1 -1
  111. package/dist/styles/document-context.js.map +1 -1
  112. package/dist/styles/make-styles.js.map +1 -1
  113. package/dist/tokens/core.meta.generated.js +2 -2
  114. package/dist/tokens/core.meta.generated.js.map +1 -1
  115. package/dist/tokens/index.d.ts +1029 -1104
  116. package/dist/tokens/index.js +1031 -1106
  117. package/dist/tokens/index.js.map +1 -1
  118. package/dist/tokens/palette.generated.js +2 -2
  119. package/dist/tokens/palette.generated.js.map +1 -1
  120. package/dist/tokens/use-palette-tokens.js.map +1 -1
  121. package/dist/tokens.json +605 -755
  122. package/dist/vendor/.bun/@dnd-kit_core@6.3.1_6f4b9a1cfb20c0ae/vendor/@dnd-kit/core/dist/core.esm.js +385 -340
  123. package/dist/vendor/.bun/@dnd-kit_core@6.3.1_6f4b9a1cfb20c0ae/vendor/@dnd-kit/core/dist/core.esm.js.map +1 -1
  124. package/dist/vendor/.bun/@dnd-kit_sortable@10.0.0_1d291640e1250bbe/vendor/@dnd-kit/sortable/dist/sortable.esm.js +344 -229
  125. package/dist/vendor/.bun/@dnd-kit_sortable@10.0.0_1d291640e1250bbe/vendor/@dnd-kit/sortable/dist/sortable.esm.js.map +1 -1
  126. package/dist/vendor/.bun/@dnd-kit_utilities@3.2.2_62547eec5a2188e3/vendor/@dnd-kit/utilities/dist/utilities.esm.js +1 -1
  127. package/dist/vendor/.bun/@tanstack_react-virtual@3.11.2_6f4b9a1cfb20c0ae/vendor/@tanstack/react-virtual/dist/esm/index.js +36 -0
  128. package/dist/vendor/.bun/@tanstack_react-virtual@3.11.2_6f4b9a1cfb20c0ae/vendor/@tanstack/react-virtual/dist/esm/index.js.map +1 -0
  129. package/dist/vendor/.bun/@tanstack_virtual-core@3.11.2/vendor/@tanstack/virtual-core/dist/esm/index.js +450 -0
  130. package/dist/vendor/.bun/@tanstack_virtual-core@3.11.2/vendor/@tanstack/virtual-core/dist/esm/index.js.map +1 -0
  131. package/dist/vendor/.bun/@tanstack_virtual-core@3.11.2/vendor/@tanstack/virtual-core/dist/esm/utils.js +50 -0
  132. package/dist/vendor/.bun/@tanstack_virtual-core@3.11.2/vendor/@tanstack/virtual-core/dist/esm/utils.js.map +1 -0
  133. package/package.json +5 -4
  134. package/scripts/migration-diagnostics-core.mjs +19 -90
  135. package/scripts/migration-diagnostics.mjs +1 -16
  136. package/scripts/migration-sweep.mjs +2 -12
  137. package/ADOPTING.md +0 -73
  138. package/dist/packages/tokens/dist/delivery/internal.js +0 -181
  139. package/dist/packages/tokens/dist/delivery/internal.js.map +0 -1
  140. package/dist/packages/tokens/dist/generated/core.meta.generated.js +0 -10
  141. package/dist/packages/tokens/dist/generated/core.meta.generated.js.map +0 -1
  142. package/dist/token-assets/core/5cd4072decf5df2a664f0b1d5f2ec250a3309101ded3056c1f87c8bbe3738d50.css +0 -22
@@ -1,50 +1,4 @@
1
- /**
2
- * Pure, fs-free migration-diagnostics rule core (WP6B-2 extraction). Every rule in this file
3
- * is a straight-line function of its
4
- * arguments: no `node:fs`/`node:path`/`node:module`/`node:process`/`node:child_process`/network
5
- * access, no dynamic `import()`, no `eval`/`new Function`, no ambient DOM/global mutation, no
6
- * module-load side effects. TypeScript is INJECTED by the caller (a `ts` parameter) — this module
7
- * never imports, requires, or resolves `typescript` itself. `identity` (package name/version/
8
- * generatedInputHash and the `core`/`palette` token-family `Set`s) is likewise always supplied by
9
- * the caller; this module never reads a `dist/tokens/*` file or a `package.json` to derive it.
10
- *
11
- * `migration-diagnostics.mjs` (the sibling fs-bound orchestration module — file/directory walking,
12
- * symlink boundary checks, hashing, `resolvePackageIdentity`, `resolveConsumerTypeScript`) is the
13
- * CLI's entrypoint and delegates every file it reads to this module's `analyzeSource`. A future
14
- * remote MCP tool would call `analyzeSource` directly with a caller-submitted string and a
15
- * build-time-embedded identity — no path ever reaches this file. This module is not itself a
16
- * "complete scan" API: it analyzes exactly the one string it is given, and callers remain
17
- * responsible for their own completeness/incompleteness accounting (e.g. the CLI's
18
- * `analysisIncomplete`/`toolingWarning` contract when TypeScript could not be resolved at all).
19
- *
20
- * Three rules, deliberately bounded to what survived every other gate on the four pilot
21
- * migrations (see the outer module's original header for the incident history):
22
- *
23
- * legacy-volt-class — a v1-only `volt-*` utility class left in a className string.
24
- * hand-written-volt-css-var — a raw `var(--volt-*)` (v1) or a hand-typed, hash-inlined
25
- * `var(--zenith-<hash>-*)` (v2) custom property, instead of
26
- * importing the token.
27
- * unestablished-palette-install — a decorative (non-core) token family is used, but no
28
- * correctly-scoped install call was found for it.
29
- *
30
- * `unestablished-palette-install` uses TypeScript's parser (syntax only — no type checker, no
31
- * cross-module resolution) to do real lexical binding resolution: a name only counts as "the
32
- * installer" or "a decorative token" if it resolves, through actual scope/shadowing, to an import
33
- * from this package's own public specifiers, is not a type-only import, and is not shadowed by a
34
- * closer local declaration. Certification is evaluated per DECORATIVE USAGE (not merely its
35
- * enclosing scope), scoped to that usage's own consuming function plus at most one hop into a
36
- * locally-declared helper the consuming scope calls directly, unconditionally, and BEFORE the
37
- * usage in document order — never "this name is exported/called somewhere in the file".
38
- *
39
- * Supported analysis boundary: single-source, syntax-aware static analysis. It can prove a call
40
- * exists, is unconditional relative to its own enclosing function, is reachable (not dead code
41
- * after an unconditional return/throw), and precedes a given usage in straight-line document
42
- * order. It cannot prove a *conditional* or *deferred* (callback/event) call's path always runs
43
- * before the usage renders, and it cannot trace an install performed in a genuinely different
44
- * source (e.g. a shared bootstrap/provider component) or through a relative (non-public-specifier)
45
- * import — both get an explicit warning/uncertain finding, never a silent pass or a hard "error"
46
- * (this rule never asserts a definite defect — see `RULES` below).
47
- */
1
+ /** Pure, fs-free migration-diagnostics rule core (WP6B-2 extraction). */
48
2
 
49
3
  // ---------------------------------------------------------------------------
50
4
  // Rule catalogue (also the "rule-support matrix" source of truth)
@@ -495,21 +449,18 @@ function collectBindings(sf, ts, identity) {
495
449
  return { installerNames, namespaceNames, tokenBindings }
496
450
  }
497
451
 
498
- /** Whether `call` installs the decorative palette sheet: "confirmed" (the bare no-arg
452
+ /**
499
453
  * `ensurePaletteTokens()` form, or an `ensurePaletteTokensFor(<literal>)` argument that is not a
500
- * known core family — matching the REAL runtime contract in `tokens/install.ts`:
501
- * `if (CORE_FAMILIES.has(family)) return false; return ensurePaletteTokens(doc)` — an
454
+ * known core family — matching the REAL runtime contract in `tokens/install.ts`: `if
455
+ * (CORE_FAMILIES.has(family)) return false; return ensurePaletteTokens(doc)` — an
502
456
  * unrecognized/unknown literal still reaches installation; only a KNOWN CORE family is rejected),
503
- * "uncertain" (a non-literal/dynamic argument to `-For` — cannot be resolved statically), or
504
- * "not-decorative": either a known core family literal argument (a real, provable runtime no-op
505
- * per the contract above), OR a call to `ensurePaletteTokensFor` with NO argument at all — `family`
506
- * is a required, non-optional parameter, so a genuinely zero-argument call is not a valid typed
507
- * call in the first place (it would fail `tsc` with "Expected 1-2 arguments, but got 0"), not a
508
- * proven runtime no-op the way the core-family case is. Classified "not-decorative" defensively
509
- * (there is no valid evidence of an install here), never claimed as a confirmed no-op. ANY
510
- * "confirmed" call installs the WHOLE decorative sheet, not just one family — this does not
511
- * require matching the specific family a usage reads. Resolves the callee through `bindings` to
512
- * its ORIGINAL imported symbol, never the local (possibly aliased) spelling. */
457
+ * "uncertain" (a non-literal/dynamic argument to `-For` — cannot be resolved statically), or "not-
458
+ * decorative": either a known core family literal argument (a real, provable runtime no-op per the
459
+ * contract above), OR a call to `ensurePaletteTokensFor` with NO argument at all — `family` is a
460
+ * required, non-optional parameter, so a genuinely zero-argument call is not a valid typed call in
461
+ * the first place (it would fail `tsc` with "Expected 1-2 arguments, but got 0"), not a proven
462
+ * runtime no-op the way the core-family case is.
463
+ */
513
464
  function installDecorativeStatus(call, ts, identity, bindings) {
514
465
  const callee = call.expression
515
466
  let canonicalName = null
@@ -650,17 +601,7 @@ function directStatementContaining(block, node, _ts) {
650
601
  /**
651
602
  * Bounded, order-sensitive coverage check (straight-line document order — no loop/goto modelling):
652
603
  * true if `call` is guaranteed to run before `usageNode` can be evaluated, within the same
653
- * consuming scope `F`. This is what makes classification USAGE-sensitive rather than scope-wide —
654
- * `isWithinConditional`/`isDeadCode` alone say a call is "unconditional in F", but that does not
655
- * mean it precedes every usage in F: a guard clause can return an EARLIER usage before the call
656
- * ever runs.
657
- *
658
- * Walks the block-ancestor chain of both `call` and `usageNode` up to `F`, finds their lowest
659
- * shared block (outermost-first), and at the first level where they sit in DIFFERENT direct
660
- * statements of that block, compares statement index — the call covers the usage only if its
661
- * statement comes first. If they share the exact same direct statement at every checked level
662
- * (e.g. both nested in the same `if` body), the deeper shared block is checked next. No shared
663
- * block, or no resolvable statement, is conservatively "not covered".
604
+ * consuming scope `F`.
664
605
  */
665
606
  function callCoversUsage(call, usageNode, F, ts) {
666
607
  const blockChain = (node) => {
@@ -694,12 +635,11 @@ function callCoversUsage(call, usageNode, F, ts) {
694
635
 
695
636
  /**
696
637
  * Classifies one decorative USAGE (not merely its enclosing scope — see `callCoversUsage`):
697
- * "confirmed" if a reachable, unconditional, correctly-scoped install call precedes it; "uncertain"
698
- * with a `reason` if the best (or only) evidence is conditional, dead/unreachable, deferred into a
699
- * callback, dynamic, positioned after the usage, or reached through an ambiguously-named or
700
- * conditionally-called helper; "absent" if no relevant candidate exists at all. The caller maps
701
- * ALL non-"confirmed" tiers to severity "warning" — this function's tiers only drive relative
702
- * confidence and the reported reason, never an "error".
638
+ * "confirmed" if a reachable, unconditional, correctly-scoped install call precedes it;
639
+ * "uncertain" with a `reason` if the best (or only) evidence is conditional, dead/unreachable,
640
+ * deferred into a callback, dynamic, positioned after the usage, or reached through an
641
+ * ambiguously-named or conditionally-called helper; "absent" if no relevant candidate exists at
642
+ * all.
703
643
  */
704
644
  function classifyScope(F, sf, ts, scope, bindings, identity, usageNode) {
705
645
  const isInstaller = (n) =>
@@ -958,19 +898,8 @@ function analyzePaletteInstallation(ts, identity, fileLabel, raw) {
958
898
 
959
899
  /**
960
900
  * Analyzes one already-in-memory source string — no fs, no path resolution, nothing derived from
961
- * `sourceText` is ever used as a filesystem path or executed. Runs `legacy-volt-class` and
962
- * `hand-written-volt-css-var` unconditionally (pure text, no TypeScript needed). Runs
963
- * `unestablished-palette-install` only if BOTH `ts` is supplied (injected by the caller — this
964
- * module never resolves it) AND `fileNameHint` looks like a script file (`.ts`/`.tsx`/`.js`/`.jsx`)
965
- * — a `.css`/`.scss` hint (or any non-script hint) only ever produces the two textual rules'
966
- * findings, same as the CLI's file-based behavior for a stylesheet. `fileNameHint` is a LABEL for
967
- * output only (the `file` field on findings, and which parse mode to use) — never treated as a
968
- * path to read.
969
- *
970
- * Returns the same finding array shape `migration-diagnostics.mjs` (via its `analyzeFile`) has
971
- * always returned, in the same order (textual findings first, then palette findings). Calling this
972
- * twice with the same inputs returns equivalent findings and does not mutate `identity` (its
973
- * `core`/`palette` `Set`s are only ever read, never written).
901
+ * `sourceText` is ever used as a filesystem path or executed. Runs `legacy-volt-class` and `hand-
902
+ * written-volt-css-var` unconditionally (pure text, no TypeScript needed).
974
903
  */
975
904
  export function analyzeSource(
976
905
  sourceText,
@@ -1,22 +1,7 @@
1
1
  /**
2
2
  * fs-bound migration-diagnostics ORCHESTRATION for a migrated (v1 -> Griffel) consumer tree —
3
3
  * directory/file walking, symlink boundary checks, hashing, package identity resolution, and
4
- * TypeScript resolution from the local filesystem. The actual rule logic (what counts as a
5
- * defect) lives in the sibling `migration-diagnostics-core.mjs`, which this module delegates every
6
- * read file to via `analyzeSource` — see that module for the rule catalogue and the
7
- * supported-analysis-boundary documentation. This split exists so a future non-fs caller (e.g. a
8
- * remote tool analyzing a submitted string) can reuse the identical rule implementation without
9
- * pulling in any of this module's filesystem/process access (WP6B-2 extraction; no such
10
- * caller is wired up yet).
11
- *
12
- * Used by the CLI wrapper (`migration-sweep.mjs`) and by tests. Importing this module has no
13
- * side effects (no process.exit, no argv parsing, no eager TypeScript import — see below).
14
- *
15
- * TypeScript itself is resolved LAZILY from the consumer's own installation (see
16
- * `resolveConsumerTypeScript`) — this package does not depend on or bundle `typescript` at
17
- * runtime. If it cannot be resolved, rules `legacy-volt-class` and `hand-written-volt-css-var`
18
- * (pure text, no TypeScript needed) still run; `unestablished-palette-install` is skipped with an
19
- * explicit, actionable note rather than crashing the whole scan.
4
+ * TypeScript resolution from the local filesystem.
20
5
  */
21
6
  import { createHash } from "node:crypto"
22
7
  import { createRequire } from "node:module"
@@ -1,17 +1,7 @@
1
1
  /**
2
2
  * CLI for the migration-diagnostics engine — checks a migrated consumer for the defects that
3
- * survive every other gate (see migration-diagnostics.mjs for the rule catalogue and the
4
- * analysis-boundary documentation; this file is argv parsing and output formatting only).
5
- *
6
- * bun scripts/migration-sweep.mjs [--json] [--package <dir>] [--exclude <path>]... <path> [...]
7
- *
8
- * Exit code: 2 if any target has a hard input/argument error OR the requested analysis was
9
- * INCOMPLETE (a script-file target whose TypeScript could not be resolved — a required rule did
10
- * not run, which is not the same as "it ran and found nothing"); else 1 if any finding has
11
- * severity "error" (legacy-volt-class / hand-written-volt-css-var — definite, unconditional textual
12
- * defects); else 0. unestablished-palette-install never reports severity "error" — single-file
13
- * analysis cannot prove a defect it might be wrong about (a bootstrap/provider elsewhere), so its
14
- * findings are always "warning" and never independently produce a nonzero exit.
3
+ * survive every other gate (see migration-diagnostics.mjs for the rule catalogue and the analysis-
4
+ * boundary documentation; this file is argv parsing and output formatting only).
15
5
  */
16
6
  import { resolve } from "node:path"
17
7
  import {
package/ADOPTING.md DELETED
@@ -1,73 +0,0 @@
1
- # Adopting Zenith in a micro-frontend
2
-
3
- Zenith is an ordinary per-application dependency. It is not loaded through the
4
- existing shared component-library import map.
5
-
6
- ## 1. Install exact matching packages
7
-
8
- Install `@epilot/zenith-react`. Its manifest pins matching versions of
9
- `@epilot/zenith-runtime` and `@epilot/zenith-react/tokens`; do not override the runtime
10
- unless the host already serves the identical `/v1` ABI.
11
-
12
- React and React DOM 18 or newer remain peer dependencies.
13
-
14
- ## 2. Prepare tokens before rendering
15
-
16
- ```ts
17
- import { prepareCoreTokens } from "@epilot/zenith-react/delivery"
18
-
19
- await prepareCoreTokens()
20
- ```
21
-
22
- Treat rejection as an application-startup failure and expose a retry path. Do
23
- not render Zenith components first and do not add the asset as a second manual
24
- stylesheet. Tokens-only browser consumers have the same preparation requirement.
25
-
26
- The loader resolves the content-addressed asset described by the installed
27
- package. If your CSP blocks it, explicitly allow the Zenith docs asset origin or
28
- serve the same immutable file from an approved origin.
29
-
30
- ## 3. Render normally
31
-
32
- Import components and token bindings from public exports only:
33
-
34
- ```tsx
35
- import { Button } from "@epilot/zenith-react"
36
- import { gray11 } from "@epilot/zenith-react/tokens"
37
- ```
38
-
39
- Use `AppearanceBoundary` for a scoped appearance that must also reach portalled
40
- content. A raw theme/surface attribute on an application subtree does not follow
41
- a Dialog, Popover, Select, Tooltip, or menu into `document.body`.
42
-
43
- ## 4. Validate the host
44
-
45
- - Exercise the application under its real content-security policy.
46
- - Open and close every portalled component.
47
- - Test keyboard order, focus restoration, screen-reader names, and error states.
48
- - Test a page with two independently bundled Zenith consumers when that is a
49
- supported host scenario.
50
- - Measure the actual entry and lazy chunks; do not rely on historical prototype
51
- measurements.
52
-
53
- ## 5. Migrate deliberately
54
-
55
- Move one surface at a time. Do not reuse generated custom-property names,
56
- styling selectors, or internal DOM structure from another component system.
57
- Where APIs differ, adapt at the application boundary and remove the adapter once
58
- the surface is fully on Zenith.
59
-
60
- ## Which version you get
61
-
62
- `npm install @epilot/zenith-react` resolves the `latest` dist-tag, which only ever points at a
63
- version that has been deliberately promoted. Until a first promotion happens, `latest` does not
64
- exist.
65
-
66
- Unproven builds are published to `next` with a prerelease version:
67
-
68
- ```sh
69
- npm install @epilot/zenith-react@next # e.g. 0.1.0-next.0
70
- ```
71
-
72
- These are opt-in twice over — you name the tag, and a range such as `^0.1.0` never resolves a
73
- prerelease. Pin an exact version if you adopt one.
@@ -1,181 +0,0 @@
1
- import { ensureSheet as y } from "@epilot/zenith-runtime/v1";
2
- import { CORE_TOKEN_ASSET as A } from "../generated/core.meta.generated.js";
3
- import { CoreTokensNotPreparedError as S, CoreTokensFetchError as b, CoreTokensTimeoutError as R, CoreTokensIntegrityError as _ } from "./index.js";
4
- const C = Symbol.for(
5
- "@epilot/zenith-delivery:loader:v1"
6
- ), M = "data-zenith-tokens";
7
- function E(t) {
8
- var o;
9
- const e = t && t.defaultView || (typeof window < "u" ? window : globalThis);
10
- return (o = e[C]) != null && o.documents || (e[C] = {
11
- documents: /* @__PURE__ */ new WeakMap(),
12
- verifiedTexts: /* @__PURE__ */ new Map()
13
- }), e[C];
14
- }
15
- function P(t) {
16
- const o = E(t);
17
- let e = o.documents.get(t);
18
- return e || (e = /* @__PURE__ */ new Map(), o.documents.set(t, e)), e;
19
- }
20
- function I(t) {
21
- return `${t.namespace}:${t.sheetHash}:${t.url}:${t.integrity}`;
22
- }
23
- async function F(t) {
24
- var o;
25
- const e = typeof crypto < "u" && crypto.subtle ? crypto.subtle : (o = globalThis.crypto) == null ? void 0 : o.subtle;
26
- if (e) {
27
- const n = new TextEncoder().encode(t), a = await e.digest("SHA-256", n), u = Array.from(new Uint8Array(a)).map((l) => l.toString(16).padStart(2, "0")).join("");
28
- let s = "";
29
- const i = new Uint8Array(a);
30
- for (let l = 0; l < i.byteLength; l++)
31
- s += String.fromCharCode(i[l]);
32
- const r = typeof btoa == "function" ? btoa(s) : Buffer.from(s, "binary").toString("base64");
33
- return { hex: u, sri: `sha256-${r}` };
34
- }
35
- return { hex: "", sri: "" };
36
- }
37
- async function k(t, o, e) {
38
- if (!o.integrity) return;
39
- const { hex: n, sri: a } = await F(t), u = o.integrity.trim(), s = a === u, i = n === u || `sha256-${n}` === u;
40
- if (!s && !i)
41
- throw new _(e, u, a || n);
42
- }
43
- function D(t, o) {
44
- const e = t.querySelector(
45
- `style[${M}="${o}"]`
46
- );
47
- return e && e.isConnected && t.contains(e) ? e : null;
48
- }
49
- function j(t = {}) {
50
- try {
51
- return K(t);
52
- } catch (o) {
53
- return Promise.reject(o);
54
- }
55
- }
56
- function K(t) {
57
- var o;
58
- const e = t.document !== void 0 ? t.document : typeof document < "u" ? document : void 0;
59
- if (!e)
60
- return Promise.resolve();
61
- const n = t.descriptor ?? A, { assetBaseUrl: a, timeoutMs: u = 1e4 } = t;
62
- if (!n || !n.url || !n.sheetHash || !n.namespace)
63
- return Promise.reject(
64
- new Error("Invalid descriptor provided to prepareCoreTokens")
65
- );
66
- const s = P(e), i = I(n);
67
- let r = s.get(i);
68
- r || (r = { installed: !1 }, s.set(i, r));
69
- const l = E(e), p = D(e, n.sheetHash);
70
- if (p) {
71
- if (r.promise) return r.promise;
72
- const T = p.textContent || "", h = (async () => {
73
- try {
74
- await k(T, n, n.url), r.fulfilledText = T, l.verifiedTexts.set(i, T), r.installed = !0, r.adoptedFromDom = !0;
75
- } catch (f) {
76
- throw delete r.fulfilledText, l.verifiedTexts.delete(i), r.installed = !1, r.adoptedFromDom = !1, f;
77
- }
78
- })();
79
- r.promise = h;
80
- const m = () => {
81
- r.promise === h && delete r.promise;
82
- };
83
- return h.then(m, m), h;
84
- }
85
- if (r.installed && r.fulfilledText)
86
- return y(e, n.sheetHash, r.fulfilledText), Promise.resolve();
87
- const g = l.verifiedTexts.get(i);
88
- if (g)
89
- return y(e, n.sheetHash, g), r.fulfilledText = g, r.installed = !0, Promise.resolve();
90
- if (r.promise)
91
- return r.promise;
92
- let c = n.url;
93
- a ? c = `${a.replace(/\/$/, "")}/${n.url.replace(/^\//, "")}` : n.url.startsWith("/") && (o = e.location) != null && o.origin && (c = `${e.location.origin}${n.url}`);
94
- const d = r;
95
- let $;
96
- const v = (async () => {
97
- var T;
98
- const h = ((T = e.defaultView) == null ? void 0 : T.fetch) || globalThis.fetch;
99
- if (typeof h != "function")
100
- throw new b(
101
- c,
102
- "fetch is not available in environment"
103
- );
104
- const m = typeof AbortController < "u" ? new AbortController() : null;
105
- m && u > 0 && ($ = setTimeout(() => {
106
- m.abort();
107
- }, u));
108
- try {
109
- let f;
110
- try {
111
- f = await h(c, {
112
- credentials: "omit",
113
- signal: m == null ? void 0 : m.signal
114
- });
115
- } catch (w) {
116
- throw (w == null ? void 0 : w.name) === "AbortError" ? new R(c, u) : new b(
117
- c,
118
- (w == null ? void 0 : w.message) || String(w)
119
- );
120
- }
121
- if (!f.ok)
122
- throw new b(
123
- c,
124
- `HTTP ${f.status} ${f.statusText}`
125
- );
126
- const x = await f.text();
127
- await k(x, n, c), d.fulfilledText = x, l.verifiedTexts.set(i, x), y(e, n.sheetHash, x), d.installed = !0;
128
- } catch (f) {
129
- throw delete d.fulfilledText, l.verifiedTexts.delete(i), d.installed = !1, f;
130
- } finally {
131
- $ && clearTimeout($);
132
- }
133
- })();
134
- d.promise = v;
135
- const H = () => {
136
- d.promise === v && delete d.promise;
137
- };
138
- return v.then(H, H), v;
139
- }
140
- function B(t, o = A) {
141
- const e = t !== void 0 ? t : typeof document < "u" ? document : void 0;
142
- if (!e)
143
- return !1;
144
- const n = E(e), a = I(o), u = P(e), s = u.get(a), i = (s == null ? void 0 : s.fulfilledText) ?? n.verifiedTexts.get(a), r = D(e, o.sheetHash);
145
- if (r) {
146
- if (i !== void 0 && r.textContent === i)
147
- return y(e, o.sheetHash, i), !1;
148
- throw new S(o.sheetHash);
149
- }
150
- if (s != null && s.fulfilledText) {
151
- const p = y(
152
- e,
153
- o.sheetHash,
154
- s.fulfilledText
155
- );
156
- return s.installed = !0, p;
157
- }
158
- const l = n.verifiedTexts.get(a);
159
- if (l) {
160
- const p = y(
161
- e,
162
- o.sheetHash,
163
- l
164
- );
165
- return s ? (s.installed = !0, s.fulfilledText = l) : u.set(a, {
166
- installed: !0,
167
- fulfilledText: l
168
- }), p;
169
- }
170
- throw new S(o.sheetHash);
171
- }
172
- export {
173
- C as DELIVERY_LOADER_KEY,
174
- M as TOKENS_ATTR,
175
- I as descriptorIdentityKey,
176
- B as ensureCoreTokensInternal,
177
- P as getDocumentStateMap,
178
- E as getRealmRegistry,
179
- j as prepareCoreTokensInternal
180
- };
181
- //# sourceMappingURL=internal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"internal.js","sources":["../../../../../../tokens/dist/delivery/internal.js"],"sourcesContent":["import { ensureSheet as p } from \"@epilot/zenith-runtime/v1\";\nimport { CORE_TOKEN_ASSET as k } from \"../generated/core.meta.generated.js\";\nimport { CoreTokensNotPreparedError as $, CoreTokensFetchError as b, CoreTokensTimeoutError as M, CoreTokensIntegrityError as R } from \"./index.js\";\nconst S = Symbol.for(\n \"@epilot/zenith-delivery:loader:v1\"\n), F = \"data-zenith-tokens\";\nfunction C(n) {\n var e;\n const t = n && n.defaultView || (typeof window < \"u\" ? window : globalThis);\n return (e = t[S]) != null && e.documents || (t[S] = {\n documents: /* @__PURE__ */ new WeakMap(),\n verifiedTexts: /* @__PURE__ */ new Map()\n }), t[S];\n}\nfunction I(n) {\n const t = C(n);\n let e = t.documents.get(n);\n return e || (e = /* @__PURE__ */ new Map(), t.documents.set(n, e)), e;\n}\nfunction P(n) {\n return `${n.namespace}:${n.sheetHash}:${n.url}:${n.integrity}`;\n}\nasync function V(n) {\n var e;\n const t = typeof crypto < \"u\" && crypto.subtle ? crypto.subtle : (e = globalThis.crypto) == null ? void 0 : e.subtle;\n if (t) {\n const s = new TextEncoder().encode(n), l = await t.digest(\"SHA-256\", s), r = Array.from(new Uint8Array(l)).map((i) => i.toString(16).padStart(2, \"0\")).join(\"\");\n let a = \"\";\n const c = new Uint8Array(l);\n for (let i = 0; i < c.byteLength; i++)\n a += String.fromCharCode(c[i]);\n const d = typeof btoa == \"function\" ? btoa(a) : Buffer.from(a, \"binary\").toString(\"base64\");\n return { hex: r, sri: `sha256-${d}` };\n }\n return { hex: \"\", sri: \"\" };\n}\nasync function E(n, t, e) {\n if (!t.integrity) return;\n const { hex: f, sri: s } = await V(n), l = t.integrity.trim(), o = s === l, r = f === l || `sha256-${f}` === l;\n if (!o && !r)\n throw new R(e, l, s || f);\n}\nfunction D(n, t) {\n const e = n.querySelector(\n `style[${F}=\"${t}\"]`\n );\n return e && e.isConnected && n.contains(e) ? e : null;\n}\nfunction B(n = {}) {\n try {\n return _(n);\n } catch (t) {\n return Promise.reject(t);\n }\n}\nfunction _(n) {\n var H;\n const t = n.document !== void 0 ? n.document : typeof document < \"u\" ? document : void 0;\n if (!t)\n return Promise.resolve();\n const e = n.descriptor ?? k, { assetBaseUrl: f, timeoutMs: s = 1e4 } = n;\n if (!e || !e.url || !e.sheetHash || !e.namespace)\n return Promise.reject(\n new Error(\"Invalid descriptor provided to prepareCoreTokens\")\n );\n const l = I(t), o = P(e);\n let r = l.get(o);\n r || (r = { installed: !1 }, l.set(o, r));\n const a = C(t), c = D(t, e.sheetHash);\n if (c) {\n if (r.promise) return r.promise;\n const T = c.textContent || \"\", u = (async () => {\n try {\n await E(T, e, e.url), r.fulfilledText = T, a.verifiedTexts.set(o, T), r.installed = !0, r.adoptedFromDom = !0;\n } catch (h) {\n throw delete r.fulfilledText, a.verifiedTexts.delete(o), r.installed = !1, r.adoptedFromDom = !1, h;\n }\n })();\n r.promise = u;\n const x = () => {\n r.promise === u && delete r.promise;\n };\n return u.then(x, x), u;\n }\n if (r.installed && r.fulfilledText)\n return p(t, e.sheetHash, r.fulfilledText), Promise.resolve();\n const d = a.verifiedTexts.get(o);\n if (d)\n return p(t, e.sheetHash, d), r.fulfilledText = d, r.installed = !0, Promise.resolve();\n if (r.promise)\n return r.promise;\n let i = e.url;\n f ? i = `${f.replace(/\\/$/, \"\")}/${e.url.replace(/^\\//, \"\")}` : e.url.startsWith(\"/\") && ((H = t.location) != null && H.origin) && (i = `${t.location.origin}${e.url}`);\n const m = r;\n let v;\n const w = (async () => {\n var x;\n const T = ((x = t.defaultView) == null ? void 0 : x.fetch) || globalThis.fetch;\n if (typeof T != \"function\")\n throw new b(\n i,\n \"fetch is not available in environment\"\n );\n const u = typeof AbortController < \"u\" ? new AbortController() : null;\n u && s > 0 && (v = setTimeout(() => {\n u.abort();\n }, s));\n try {\n let h;\n try {\n h = await T(i, {\n credentials: \"omit\",\n signal: u == null ? void 0 : u.signal\n });\n } catch (y) {\n throw (y == null ? void 0 : y.name) === \"AbortError\" ? new M(i, s) : new b(\n i,\n (y == null ? void 0 : y.message) || String(y)\n );\n }\n if (!h.ok)\n throw new b(\n i,\n `HTTP ${h.status} ${h.statusText}`\n );\n const g = await h.text();\n await E(g, e, i), m.fulfilledText = g, a.verifiedTexts.set(o, g), p(t, e.sheetHash, g), m.installed = !0;\n } catch (h) {\n throw delete m.fulfilledText, a.verifiedTexts.delete(o), m.installed = !1, h;\n } finally {\n v && clearTimeout(v);\n }\n })();\n m.promise = w;\n const A = () => {\n m.promise === w && delete m.promise;\n };\n return w.then(A, A), w;\n}\nfunction L(n, t = k) {\n const e = n !== void 0 ? n : typeof document < \"u\" ? document : void 0;\n if (!e)\n return !1;\n const f = C(e), s = P(t), l = I(e), o = l.get(s), r = (o == null ? void 0 : o.fulfilledText) ?? f.verifiedTexts.get(s), a = D(e, t.sheetHash);\n if (a) {\n if (r !== void 0 && a.textContent === r)\n return p(e, t.sheetHash, r), !1;\n throw new $(t.sheetHash);\n }\n if (o != null && o.fulfilledText) {\n const d = p(\n e,\n t.sheetHash,\n o.fulfilledText\n );\n return o.installed = !0, d;\n }\n const c = f.verifiedTexts.get(s);\n if (c) {\n const d = p(\n e,\n t.sheetHash,\n c\n );\n return o ? (o.installed = !0, o.fulfilledText = c) : l.set(s, {\n installed: !0,\n fulfilledText: c\n }), d;\n }\n throw new $(t.sheetHash);\n}\nexport {\n S as DELIVERY_LOADER_KEY,\n F as TOKENS_ATTR,\n P as descriptorIdentityKey,\n L as ensureCoreTokensInternal,\n I as getDocumentStateMap,\n C as getRealmRegistry,\n B as prepareCoreTokensInternal\n};\n//# sourceMappingURL=internal.js.map\n"],"names":["S","F","C","n","e","t","I","P","V","s","l","r","i","a","c","d","E","f","o","R","B","_","H","k","u","h","x","p","m","v","w","T","b","y","M","g","A","L","$"],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- const e = {
2
- url: "/zenith/token-assets/core/5cd4072decf5df2a664f0b1d5f2ec250a3309101ded3056c1f87c8bbe3738d50.css",
3
- integrity: "sha256-XNQHLez13ypmTwsdXy7CUKMwkQHe0wVsH4fIu+NzjVA=",
4
- namespace: "ccfa55f882e79499",
5
- sheetHash: "a779e71d2fb6b1f3"
6
- };
7
- export {
8
- e as CORE_TOKEN_ASSET
9
- };
10
- //# sourceMappingURL=core.meta.generated.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"core.meta.generated.js","sources":["../../../../../../tokens/dist/generated/core.meta.generated.js"],"sourcesContent":["const e = \"ccfa55f882e79499\", c = \"a779e71d2fb6b1f3\", f = {\n url: \"/zenith/token-assets/core/5cd4072decf5df2a664f0b1d5f2ec250a3309101ded3056c1f87c8bbe3738d50.css\",\n integrity: \"sha256-XNQHLez13ypmTwsdXy7CUKMwkQHe0wVsH4fIu+NzjVA=\",\n namespace: \"ccfa55f882e79499\",\n sheetHash: \"a779e71d2fb6b1f3\"\n};\nexport {\n f as CORE_TOKEN_ASSET,\n e as NS,\n c as SHEET_HASH\n};\n//# sourceMappingURL=core.meta.generated.js.map\n"],"names":["f"],"mappings":"AAAK,MAAiDA,IAAI;AAAA,EACxD,KAAK;AAAA,EACL,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AACb;"}