@stridge/noctis-design-tokens 1.0.0-beta.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 (42) hide show
  1. package/README.md +226 -0
  2. package/dist/apply-scopes.d.ts +12 -0
  3. package/dist/apply-scopes.js +30 -0
  4. package/dist/css.d.ts +10 -0
  5. package/dist/css.js +36 -0
  6. package/dist/graph/components.d.ts +6 -0
  7. package/dist/graph/components.js +4488 -0
  8. package/dist/graph/index.d.ts +11 -0
  9. package/dist/graph/index.js +26 -0
  10. package/dist/graph/inputs.d.ts +1 -0
  11. package/dist/graph/inputs.js +23 -0
  12. package/dist/graph/model.d.ts +205 -0
  13. package/dist/graph/model.js +282 -0
  14. package/dist/graph/registry.d.ts +67 -0
  15. package/dist/graph/registry.js +118 -0
  16. package/dist/graph/roles.d.ts +5 -0
  17. package/dist/graph/roles.js +151 -0
  18. package/dist/graph/scales.d.ts +1 -0
  19. package/dist/graph/scales.js +1296 -0
  20. package/dist/graph/serialize.d.ts +16 -0
  21. package/dist/graph/serialize.js +25 -0
  22. package/dist/graph/statics.d.ts +1 -0
  23. package/dist/graph/statics.js +419 -0
  24. package/dist/index.d.ts +26 -0
  25. package/dist/index.js +25 -0
  26. package/dist/palettes.d.ts +70 -0
  27. package/dist/palettes.js +114 -0
  28. package/dist/react/provider.d.ts +23 -0
  29. package/dist/react/provider.js +28 -0
  30. package/dist/react.d.ts +3 -0
  31. package/dist/react.js +3 -0
  32. package/dist/scales.d.ts +186 -0
  33. package/dist/scales.js +186 -0
  34. package/dist/semantic.d.ts +36 -0
  35. package/dist/semantic.js +49 -0
  36. package/dist/swatches.d.ts +24 -0
  37. package/dist/swatches.js +57 -0
  38. package/dist/tokens.css +2607 -0
  39. package/dist/tokens.dtcg.json +3475 -0
  40. package/dist/tokens.json +14658 -0
  41. package/dist/tokens.tailwind.css +479 -0
  42. package/package.json +67 -0
@@ -0,0 +1,118 @@
1
+ //#region src/graph/registry.ts
2
+ /**
3
+ * Closed vocabularies the token grammar is built from.
4
+ *
5
+ * These are the controlled sets a structured token name draws on: the interaction states a
6
+ * token may key off, the composite pseudo-properties that stand in where no single real CSS
7
+ * property names an anatomy-level seam, and the abbreviation denylist that keeps property
8
+ * names spelled out. Extending any of them is a deliberate schema change here — never an
9
+ * ad-hoc string at a call site.
10
+ */
11
+ /**
12
+ * Interaction states a component token may carry, as the final name segment. The default
13
+ * (rest) state is the absence of a segment, so there is no `default` member. Order is the
14
+ * serialization tie-break only; names never combine two states.
15
+ */
16
+ const STATE_REGISTRY = [
17
+ "hover",
18
+ "active",
19
+ "focus",
20
+ "disabled",
21
+ "selected",
22
+ "highlighted",
23
+ "open",
24
+ "checked"
25
+ ];
26
+ /**
27
+ * Composite pseudo-properties: names admitted as a token `property` where no single real CSS
28
+ * property names the seam a consumer would override. Each expands to real CSS properties at the
29
+ * recipe — `size` is width + height (Tailwind's `size-*`). The seam vocabulary grows only by
30
+ * adding a member here.
31
+ */
32
+ const COMPOSITE_PROPERTIES = ["size"];
33
+ /**
34
+ * Abbreviations a token `property` must never be: Tailwind utility prefixes and CSS shorthands
35
+ * that read as a class fragment rather than a real property. A property is either a real CSS
36
+ * property name (spelled out) or a {@link COMPOSITE_PROPERTIES} member — never one of these. The
37
+ * list is the mechanical floor the validator enforces; full property-name hygiene stays review
38
+ * territory.
39
+ */
40
+ const ABBREVIATED_PROPERTIES = [
41
+ "bg",
42
+ "fg",
43
+ "h",
44
+ "w",
45
+ "px",
46
+ "py",
47
+ "mx",
48
+ "my",
49
+ "min-h",
50
+ "max-w"
51
+ ];
52
+ /**
53
+ * The token tiers. `seed` is the knob stratum (the System Controls inputs the foundations
54
+ * derive from); `foundation` is the authored non-color scale stratum (type, radius, motion,
55
+ * z, …); `semantic` is the intent-named color stratum over the engine; `component` is the
56
+ * minted per-component seam stratum. The engine stratum is not a graph tier — it is the
57
+ * engine's own `--noctis-engine-*` namespace.
58
+ */
59
+ const TOKEN_TIERS = [
60
+ "seed",
61
+ "foundation",
62
+ "semantic",
63
+ "component"
64
+ ];
65
+ /**
66
+ * The closed structural-category vocabulary — the `{category}` segment of a canonical
67
+ * `--noctis-{category}-{name}` CSS variable. Required on `foundation` and
68
+ * `semantic` tokens, forbidden on `seed` and `component` tokens (the validator enforces
69
+ * both). Distinct from {@link TokenGroup} (the reference-view grouping) and from
70
+ * {@link ComponentCategory} (the showcase groups) — do not conflate the three. Growing the
71
+ * vocabulary is a deliberate schema change here, never an ad-hoc string in a data file.
72
+ */
73
+ const TOKEN_CATEGORIES = [
74
+ "color",
75
+ "space",
76
+ "size",
77
+ "text",
78
+ "leading",
79
+ "radius",
80
+ "shadow",
81
+ "duration",
82
+ "ease",
83
+ "z",
84
+ "font",
85
+ "tracking",
86
+ "breakpoint",
87
+ "container",
88
+ "border",
89
+ "opacity",
90
+ "blur",
91
+ "animate"
92
+ ];
93
+ /**
94
+ * The namespace every canonical token serializes under. A parameter on the serializers so the
95
+ * same graph can emit under an alternate namespace; this constant is the single source of truth
96
+ * for the default. `--noctis-engine-*` is the engine's reserved private namespace — the
97
+ * validator rejects any graph token that serializes into it.
98
+ */
99
+ const ROLE_VAR_PREFIX = "--noctis";
100
+ /**
101
+ * The closed component-category vocabulary the showcase groups primitives by. A
102
+ * {@link ComponentDeclaration} draws its optional `category` from this set, and the gallery renders
103
+ * one localized group per member in this order. Mechanisms (the polymorphic base, the radius scope,
104
+ * the visually-hidden helper) carry no category — they are never showcased. Growing the vocabulary
105
+ * is a deliberate schema change here, never an ad-hoc string in the docs app.
106
+ */
107
+ const CATEGORY_REGISTRY = [
108
+ "actions",
109
+ "fields",
110
+ "navigation",
111
+ "overlays",
112
+ "surfaces",
113
+ "data",
114
+ "typography",
115
+ "system"
116
+ ];
117
+ //#endregion
118
+ export { ABBREVIATED_PROPERTIES, CATEGORY_REGISTRY, COMPOSITE_PROPERTIES, ROLE_VAR_PREFIX, STATE_REGISTRY, TOKEN_CATEGORIES, TOKEN_TIERS };
@@ -0,0 +1,5 @@
1
+ //#region src/graph/roles.d.ts
2
+ /** Every engine-backed semantic id, as a literal tuple — the source of the `SemanticRoleId` union. */
3
+ declare const SEMANTIC_IDS: readonly ["background", "hover", "surface", "surface-hover", "surface-raised", "sunken", "selected", "selected-hover", "focus", "overlay", "header", "sidebar-item", "sidebar-item-active", "code", "data-grid-header", "data-grid-row-hover", "data-grid-row-hover-strong", "inverse", "foreground", "secondary", "muted", "subtle", "placeholder", "link", "code-foreground", "kbd-foreground", "menu-shortcut", "inverse-foreground", "border-faint", "border", "border-strong", "border-selected", "field-border", "field-border-hover", "field-border-focus", "field-border-invalid", "checkbox-border", "checkbox-border-hover", "radio-border", "kbd-border", "data-grid-border", "data-grid-column-selected-border", "divider", "ring", "primary", "primary-foreground", "primary-hover", "primary-active", "accent", "accent-foreground", "accent-hover", "accent-active", "accent-muted", "control", "control-foreground", "control-hover", "control-selected", "control-selected-hover", "control-ghost", "control-ghost-hover", "control-ghost-selected", "control-ghost-selected-hover", "field", "field-hover", "field-focus", "toggle-track-off", "toggle-track-off-hover", "toggle-track-on", "toggle-track-on-hover", "toggle-track-on-disabled", "toggle-thumb", "checkbox", "checkbox-checked", "checkbox-check", "radio", "radio-checked", "kbd", "scrollbar-thumb", "scrollbar-track", "selection", "chart-positive", "chart-negative", "chart-neutral", "chart-axis", "chart-track", "chart-tooltip", "chart-grid", "danger", "danger-foreground", "danger-muted", "danger-muted-foreground", "danger-hover", "danger-faint", "danger-border", "success", "success-foreground", "success-muted", "success-muted-foreground", "success-hover", "success-faint", "success-border", "warning", "warning-foreground", "warning-muted", "warning-muted-foreground", "warning-hover", "warning-faint", "warning-border", "info", "info-foreground", "info-muted", "info-muted-foreground", "info-hover", "info-faint", "info-border", "presence-online", "presence-busy", "presence-focus", "presence-away", "presence-offline"];
4
+ //#endregion
5
+ export { SEMANTIC_IDS };
@@ -0,0 +1,151 @@
1
+ //#region src/graph/roles.ts
2
+ function role(uuid, id, label, group, utility, primitive, description, usage, bridge) {
3
+ return {
4
+ uuid,
5
+ tier: "semantic",
6
+ name: {
7
+ kind: "flat",
8
+ id
9
+ },
10
+ value: { primitive },
11
+ description,
12
+ usage,
13
+ introduced: "0.0.0",
14
+ label,
15
+ category: "color",
16
+ group,
17
+ utility,
18
+ ...bridge ? { bridge } : {}
19
+ };
20
+ }
21
+ /** Engine-backed T1 semantic roles, in reference display order. */
22
+ const SEMANTIC_TOKENS = [
23
+ role("ec6ec928-d5cd-4445-bdaa-c9eacff8e1ed", "background", "Background", "surface", "bg-background", "--noctis-engine-bg-1", "App canvas — the base page background.", "Page canvas, header bar, and the input fill.", { kind: "color" }),
24
+ role("bbe4c1fb-8cfa-4934-9e43-ac05388629c1", "hover", "Hover", "surface", "bg-hover", "--noctis-engine-bg-2", "Hover on a canvas row.", "Hover on canvas rows and list items.", { kind: "color" }),
25
+ role("4096920a-a363-4f9d-b5be-6964bd7d0a5d", "surface", "Surface", "surface", "bg-surface", "--noctis-engine-bg-3", "Panels and cards raised off the canvas.", "Cards, panels, and the right-hand detail panel.", { kind: "color" }),
26
+ role("ba361f1a-5efd-4ac3-a5ac-0da2b0377a34", "surface-hover", "Surface hover", "surface", "bg-surface-hover", "--noctis-engine-bg-4", "Hover on a card or surface row.", "Hover on cards and surface rows; the stronger table row-hover.", { kind: "color" }),
27
+ role("5b07db5e-b9ac-4d19-be34-2a8b4fda74dd", "surface-raised", "Surface raised", "surface", "bg-surface-raised", "--noctis-engine-bg-5", "The highest neutral surface.", "The highest stacked neutral surface.", { kind: "color" }),
28
+ role("4a3735d5-9dc4-46f2-973c-08eb3e04c711", "sunken", "Sunken", "surface", "bg-sunken", "--noctis-engine-bg-sunken", "Recessed wells — sidebars, insets.", "Left sidebar and content wells.", { kind: "color" }),
29
+ role("47d23339-813c-4ad9-9aa6-2dcfd77db6b7", "selected", "Selected", "surface", "bg-selected", "--noctis-engine-bg-selected", "Selected-row surface, tinted toward the accent.", "Selected list and table rows.", { kind: "utility" }),
30
+ role("f0fbb940-9b84-4e27-9da1-fc4528159c01", "selected-hover", "Selected hover", "surface", "bg-selected-hover", "--noctis-engine-bg-selected-hover", "Hover on a selected row.", "Hover on an already-selected row.", { kind: "color" }),
31
+ role("ec783266-7287-4324-9590-9a23381fb7c8", "focus", "Focus row", "surface", "bg-focus", "--noctis-engine-bg-focus", "Keyboard-focused row surface.", "Keyboard-focused menu item or active row.", { kind: "color" }),
32
+ role("e120d1b4-1de6-4ad5-9d09-b9dd28791e33", "overlay", "Overlay", "surface", "bg-overlay", "--noctis-engine-overlay", "Scrim behind dialogs and drawers.", "Dialog and drawer backdrop scrim.", { kind: "color" }),
33
+ role("f7140dce-098b-49f8-a3dc-d16458c6b11a", "header", "Header", "surface", "bg-header", "--noctis-engine-header-bg", "Header / topbar background.", "Topbar background and unselected header tabs.", { kind: "color" }),
34
+ role("334929e1-792f-4b35-b073-8b1960d09df9", "sidebar-item", "Sidebar item", "surface", "bg-sidebar-item", "--noctis-engine-sidebar-item-bg", "Hover on a sidebar item.", "Sidebar nav item hover.", { kind: "color" }),
35
+ role("80154891-23cb-4e0d-b004-f96c51bd0fe3", "sidebar-item-active", "Sidebar item active", "surface", "bg-sidebar-item-active", "--noctis-engine-sidebar-item-active", "Active sidebar item.", "Active / selected sidebar nav item.", { kind: "color" }),
36
+ role("0845bef7-f6e3-4969-92b5-2508014b972d", "code", "Code surface", "surface", "bg-code", "--noctis-engine-bg-sunken", "Code-block background.", "Code-block background (a sunken surface).", { kind: "color" }),
37
+ role("d9943b74-b1c1-422c-9a7a-543c4ad0a457", "data-grid-header", "Data-grid header", "surface", "bg-data-grid-header", "--noctis-engine-bg-3", "Table header row background.", "Table header row background.", { kind: "color" }),
38
+ role("7accbdaf-d50e-4d64-8040-130d84f19b0c", "data-grid-row-hover", "Data-grid row hover", "surface", "bg-data-grid-row-hover", "--noctis-engine-bg-2", "Table row hover.", "Table row hover (first level).", { kind: "color" }),
39
+ role("e94b5188-b797-4784-89e0-1e22583a28de", "data-grid-row-hover-strong", "Data-grid row hover (strong)", "surface", "bg-data-grid-row-hover-strong", "--noctis-engine-bg-4", "Stronger row hover (active cell row).", "Stronger table hover — the active cell within a hovered row.", { kind: "color" }),
40
+ role("009a9a2b-77ba-41bd-8c1b-7bb0296eb795", "inverse", "Inverse surface", "surface", "bg-inverse", "--noctis-engine-fg-1", "Inverted surface for chips/snackbars.", "Inverted chips and snackbars — the primary text color used as a surface.", { kind: "utility" }),
41
+ role("976661bf-5f7e-490c-9232-84e9d92db0b0", "foreground", "Foreground", "text", "text-foreground", "--noctis-engine-fg-1", "Primary text — headings and body.", "Headings and body text.", { kind: "color" }),
42
+ role("846254f8-c41b-4de1-b908-64938c13575c", "secondary", "Secondary text", "text", "text-secondary", "--noctis-engine-fg-2", "Secondary text.", "Secondary text and control / menu labels.", { kind: "color" }),
43
+ role("5584b64d-3063-436d-92a1-241f49d1661d", "muted", "Muted text", "text", "text-muted", "--noctis-engine-fg-3", "Tertiary text — labels, captions.", "Section headers, captions, unselected tabs, table header text.", { kind: "color" }),
44
+ role("3d3a0f00-2007-40ba-9b01-0d6e7bd7f662", "subtle", "Subtle text", "text", "text-subtle", "--noctis-engine-fg-4", "Faint text — disabled copy.", "Faint text — placeholders and disabled copy.", { kind: "color" }),
45
+ role("612b73b1-e1f4-49be-a6d1-68082b0031f2", "placeholder", "Placeholder text", "text", "text-placeholder", "--noctis-engine-fg-4", "Input placeholder text.", "Input and textarea placeholder text.", { kind: "color" }),
46
+ role("f8fd82aa-052b-40ab-92c0-cc254320dbd7", "link", "Link", "text", "text-link", "--noctis-engine-link", "Hyperlinks — the accent hue at readable contrast.", "Hyperlinks — the accent re-hued at high chroma.", { kind: "color" }),
47
+ role("ac9a44cf-3344-46d4-a8c8-ddefdba84ccf", "code-foreground", "Code text", "text", "text-code-foreground", "--noctis-engine-fg-2", "Code-block text.", "Code-block text.", { kind: "color" }),
48
+ role("fd7172ba-b6e8-4efa-a9a8-0dcf162deb16", "kbd-foreground", "Kbd text", "text", "text-kbd-foreground", "--noctis-engine-fg-2", "Key glyph text.", "Key-cap glyph text in tooltips and menus.", { kind: "color" }),
49
+ role("2d03a20c-3e3c-407c-94ef-eceb6b8fdad9", "menu-shortcut", "Menu shortcut", "text", "text-menu-shortcut", "--noctis-engine-fg-4", "Keyboard-shortcut hint text in menus.", "Keyboard-shortcut hints in menu rows.", { kind: "color" }),
50
+ role("c644fd14-ee78-44da-95fb-6fb321551886", "inverse-foreground", "Inverse text", "text", "text-inverse", "--noctis-engine-bg-1", "Text on an inverse surface.", "Text on an inverse surface — the canvas color as a knockout.", { kind: "utility" }),
51
+ role("377e1c54-314f-4e2c-8bbc-0fce9c5db553", "border-faint", "Border faint", "border", "border-faint", "--noctis-engine-border-faint", "Hairlines and the subtlest separators.", "Card outlines, table gridlines, and panel edges.", {
52
+ kind: "theme-inline",
53
+ name: "--color-faint"
54
+ }),
55
+ role("99a79bcb-099f-4f32-85e4-6a12e511f9a3", "border", "Border", "border", "border-border", "--noctis-engine-border-default", "Default separators and outlines.", "Button, menu, and dropdown borders.", { kind: "color" }),
56
+ role("a6df66dc-1f34-4433-bb15-658934e4c8b3", "border-strong", "Border strong", "border", "border-strong", "--noctis-engine-border-strong", "Emphasized borders.", "Emphasized borders and group dividers.", {
57
+ kind: "theme-inline",
58
+ name: "--color-strong"
59
+ }),
60
+ role("fbd88b37-9889-4dfe-9af2-a90272a0bee2", "border-selected", "Border selected", "border", "border-selected", "--noctis-engine-border-selected", "Border around a selected item.", "Border around a selected row (low-chroma accent).", { kind: "utility" }),
61
+ role("fe7800bb-4a3a-4833-b354-709175823e80", "field-border", "Field border", "border", "border-field", "--noctis-engine-border-strong", "Input / textarea / select border.", "Input / textarea / select rest border; the stronger border weight so the edge stays visible against the lifted `field` control surface (the faint default border washes out on it).", { kind: "utility" }),
62
+ role("34d9e71e-ca96-48be-9e3e-1f33eedf1632", "field-border-hover", "Field border hover", "border", "border-field-hover", "--noctis-engine-border-strong", "Field border on hover.", "Field border on hover.", { kind: "utility" }),
63
+ role("b585e6eb-eca4-4362-b862-f7567270d6ff", "field-border-focus", "Field border focus", "border", "border-field-focus", "--noctis-engine-focus-ring", "Field border on focus (accent).", "Field border on focus — the accent ring.", { kind: "utility" }),
64
+ role("92dfea86-9dfb-4c6f-97e8-6ca6d34332cc", "field-border-invalid", "Field border invalid", "border", "border-field-invalid", "--noctis-engine-danger", "Invalid / error field border.", "Invalid / error field border.", { kind: "utility" }),
65
+ role("2035a6c2-a434-4f78-b7d9-5bfa90b7a7e6", "checkbox-border", "Checkbox border", "border", "border-checkbox", "--noctis-engine-border-default", "Checkbox rest border.", "Checkbox rest border; the `field-border` hairline, matching radio/switch.", { kind: "utility" }),
66
+ role("44c247de-aba8-4948-8842-ef40b78bca69", "checkbox-border-hover", "Checkbox border hover", "border", "border-checkbox-hover", "--noctis-engine-border-strong", "Checkbox rest border on hover.", "Checkbox rest border on hover; the `field-border-hover` signal, matching radio/switch.", { kind: "utility" }),
67
+ role("648163f4-1f44-4241-998a-14bf135f062c", "radio-border", "Radio border", "border", "border-radio", "--noctis-engine-border-strong", "Radio rest border.", "Radio rest border.", { kind: "utility" }),
68
+ role("0e496244-5482-4694-9edb-308f79e27a6c", "kbd-border", "Kbd border", "border", "border-kbd", "--noctis-engine-border-strong", "Key-cap 3D-edge border.", "Key-cap edge border in tooltips and menus.", { kind: "utility" }),
69
+ role("aafced5d-c127-42d3-a45f-62de33ed48b9", "data-grid-border", "Data-grid border", "border", "border-data-grid", "--noctis-engine-border-faint", "Cell / row gridlines.", "Table header and cell gridlines.", { kind: "utility" }),
70
+ role("63452884-880f-4574-8505-1d8f6f6b8725", "data-grid-column-selected-border", "Data-grid selected column", "border", "border-data-grid-selected", "--noctis-engine-accent", "High-chroma selected-column border.", "High-chroma accent border on a selected table column.", { kind: "utility" }),
71
+ role("9c476417-7d10-4462-86f6-e7a49e2fd0a4", "divider", "Divider", "border", "bg-divider", "--noctis-engine-divider", "List and group dividers (`bg-divider` or `border-divider`).", "List and group dividers.", { kind: "color" }),
72
+ role("d99968dd-f35a-474e-8e24-fa5e1062e76d", "ring", "Focus ring", "utility", "ring-ring", "--noctis-engine-focus-ring", "Keyboard focus ring.", "Keyboard focus ring.", { kind: "color" }),
73
+ role("68105cc4-9bf4-4d79-aa34-0dbc72d6f537", "primary", "Primary", "accent", "bg-primary", "--noctis-engine-fg-1", "Neutral (white) primary action color.", "Primary buttons — neutral white; the chromatic accent stays reserved for signal.", { kind: "color" }),
74
+ role("9114e26a-fff2-458a-a456-e39911f51522", "primary-foreground", "Primary foreground", "accent", "text-primary-foreground", "--noctis-engine-bg-1", "Text on a primary (white) fill.", "Primary-button label — the near-black knockout on white.", { kind: "color" }),
75
+ role("fd479485-f805-46ed-b57a-1679474b8896", "primary-hover", "Primary hover", "accent", "bg-primary-hover", "--noctis-engine-primary-hover", "Primary (white) fill on hover — dimmed toward the seed.", "Primary-button hover — an opaque neutral dim, never a translucent white.", { kind: "color" }),
76
+ role("b0ac756c-0ba1-4c6f-82bd-3b47a3065751", "primary-active", "Primary active", "accent", "bg-primary-active", "--noctis-engine-primary-active", "Primary (white) fill on press — dimmed further toward the seed.", "Primary-button pressed state.", { kind: "color" }),
77
+ role("cc7ce1e9-4db1-4569-a144-adea1154f14f", "accent", "Accent", "accent", "bg-accent", "--noctis-engine-accent", "Primary action color.", "Primary buttons, checked checkbox/radio, and the on-toggle track.", { kind: "color" }),
78
+ role("71ffa47f-5213-4174-9d93-41cdb433f6b7", "accent-foreground", "Accent foreground", "accent", "text-accent-foreground", "--noctis-engine-accent-fg", "Text on an accent fill.", "Primary-button label and the checkmark glyph.", { kind: "color" }),
79
+ role("4efc74bc-33f4-4c0f-b097-72ae049d3d2c", "accent-hover", "Accent hover", "accent", "bg-accent-hover", "--noctis-engine-accent-hover", "Primary button hover.", "Primary-button and on-toggle hover.", { kind: "color" }),
80
+ role("3f78127d-68d6-4a64-a9f7-551c9316ebf1", "accent-active", "Accent active", "accent", "bg-accent-active", "--noctis-engine-accent-active", "Primary button press.", "Primary-button pressed state.", { kind: "color" }),
81
+ role("cdd55581-8158-42ad-9325-7805a1995f39", "accent-muted", "Accent muted", "accent", "bg-accent-muted", "--noctis-engine-accent-muted", "Subtle accent wash.", "Accent-tinted callouts and badges.", { kind: "color" }),
82
+ role("91968d49-ee21-4e2f-b1fd-7c8f1141756b", "control", "Control", "control", "bg-control", "--noctis-engine-control-2", "Secondary button / segmented fill.", "Secondary / default buttons and neutral count pills.", { kind: "color" }),
83
+ role("64c76e43-6fc4-4123-9ebc-14ae09338e2a", "control-foreground", "Control foreground", "control", "text-control-foreground", "--noctis-engine-control-fg", "Label on a neutral (secondary) control.", "Secondary-button / segmented label — auto-contrast white/black.", { kind: "color" }),
84
+ role("74f35a1b-128e-46d3-bdc8-442df27dc8d8", "control-hover", "Control hover", "control", "bg-control-hover", "--noctis-engine-control-2-hover", "Hover on a secondary control.", "Secondary-control hover.", { kind: "color" }),
85
+ role("7240ea3b-89a6-4266-85d8-25dcd4e3de15", "control-selected", "Control selected", "control", "bg-control-selected", "--noctis-engine-control-2-selected", "Pressed / active secondary control.", "Pressed / selected secondary control.", { kind: "color" }),
86
+ role("45583f4b-b6ea-490e-b990-c0cc7a4208e7", "control-selected-hover", "Control selected hover", "control", "bg-control-selected-hover", "--noctis-engine-control-2-selected-hover", "Hover on an already-selected secondary control.", "Hover on a selected segmented item / secondary toggle.", { kind: "color" }),
87
+ role("8ffc9879-d7b0-47da-8769-9b1d45d8c1b3", "control-ghost", "Control ghost", "control", "bg-control-ghost", "--noctis-engine-control-3", "Ghost button / menu item / tab at rest.", "Ghost buttons, tabs, and menu items at rest.", { kind: "color" }),
88
+ role("34481371-4d56-4bd5-875a-631fbcec8756", "control-ghost-hover", "Control ghost hover", "control", "bg-control-ghost-hover", "--noctis-engine-control-3-hover", "Hover on a menu item or tab.", "Menu-item and tab hover.", { kind: "color" }),
89
+ role("075072b5-24d2-4767-bfe0-9f6eb1700dbe", "control-ghost-selected", "Control ghost selected", "control", "bg-control-ghost-selected", "--noctis-engine-control-3-selected", "Selected menu item / active tab.", "Selected menu item / active tab.", { kind: "color" }),
90
+ role("85774440-84d5-4b80-b033-9bfe823d1814", "control-ghost-selected-hover", "Control ghost selected hover", "control", "bg-control-ghost-selected-hover", "--noctis-engine-control-3-selected-hover", "Hover on an already-selected tab/item.", "Hover on an already-selected tab or menu item.", { kind: "color" }),
91
+ role("a067f155-d610-4715-9b7b-23c66522aeae", "field", "Field", "control", "bg-field", "--noctis-engine-bg-3", "Input / textarea / select fill — a lifted surface layer.", "Input / textarea / select fill; the raised `surface` layer, so the field lifts off the canvas TOWARD the raised pole in both modes — a clean near-white field in light (max text contrast) and a lighter panel in dark — instead of the mode-split control gray that muddied the light fill. Delimited by the `field-border` (border-strong).", { kind: "utility" }),
92
+ role("ea0d5950-3f76-4623-83b8-36a6db9358d7", "field-hover", "Field hover", "control", "bg-field-hover", "--noctis-engine-bg-4", "Input / select fill on hover.", "Input / select fill on hover — the surface layer stepped one rung further toward the raised pole (`surface-hover`), so hover lifts in both modes.", { kind: "utility" }),
93
+ role("e21b1dab-ca4b-4556-a24b-f307c62d9c5e", "field-focus", "Field focus", "control", "bg-field-focus", "--noctis-engine-field-focus", "Input / select fill while focused (accent-tinted).", "Focused input / select fill — the accent-tinted focus surface.", { kind: "utility" }),
94
+ role("cbbb77de-9c34-415f-9548-c763ef8ec5f3", "toggle-track-off", "Toggle track off", "control", "bg-toggle-track-off", "--noctis-engine-control-2", "Switch track, off.", "Switch track, off.", { kind: "color" }),
95
+ role("75a86347-2e37-453d-848a-9260b4b5186b", "toggle-track-off-hover", "Toggle track off hover", "control", "bg-toggle-track-off-hover", "--noctis-engine-control-2-hover", "Switch track, off, hover.", "Switch track, off, hover.", { kind: "color" }),
96
+ role("8620cecf-e401-486a-b73c-7bed3328a308", "toggle-track-on", "Toggle track on", "control", "bg-toggle-track-on", "--noctis-engine-accent", "Switch track, on (accent).", "Switch track, on — the accent.", { kind: "color" }),
97
+ role("58e67deb-b1d0-4ab3-9bf4-16591627d383", "toggle-track-on-hover", "Toggle track on hover", "control", "bg-toggle-track-on-hover", "--noctis-engine-accent-hover", "Switch track, on, hover.", "Switch track, on, hover.", { kind: "color" }),
98
+ role("e04fd428-08ce-4b1a-91eb-18ab2b2e3ea2", "toggle-track-on-disabled", "Toggle track on disabled", "control", "bg-toggle-track-on-disabled", "--noctis-engine-accent", "Switch track, on, disabled (stays accent).", "Disabled on-toggle — stays full accent, dimmed by opacity.", { kind: "color" }),
99
+ role("ac1cca5d-d4d5-4c79-8e93-f4658adbbe9b", "toggle-thumb", "Toggle thumb", "control", "bg-toggle-thumb", "--noctis-engine-fg-1", "Switch thumb.", "Switch knob — consistently white.", { kind: "color" }),
100
+ role("666d8c24-7d85-4aca-8c81-d27d4afbea46", "checkbox", "Checkbox", "control", "bg-checkbox", "--noctis-engine-input-bg", "Checkbox rest fill.", "Checkbox rest fill; the `field` input background, so the box reads as a field chip beside radio/switch.", { kind: "utility" }),
101
+ role("4ec17848-ae10-404a-8679-9722b052f4d7", "checkbox-checked", "Checkbox checked", "control", "bg-checkbox-checked", "--noctis-engine-accent", "Checkbox checked fill (accent).", "Checkbox checked fill — the accent.", { kind: "color" }),
102
+ role("fed23ad0-0c36-4863-832f-f84f79a12a03", "checkbox-check", "Checkbox check", "control", "text-checkbox-check", "--noctis-engine-accent-fg", "Checkmark glyph color.", "Checkmark glyph on a checked box.", { kind: "color" }),
103
+ role("ac505805-f7c3-4ff2-980d-d586055ffd3b", "radio-checked", "Radio checked", "control", "bg-radio-checked", "--noctis-engine-accent", "Radio checked dot/fill (accent).", "Radio checked dot/fill — the accent.", { kind: "color" }),
104
+ role("c9a9bd31-0a9f-473d-ac30-eece38628de5", "radio", "Radio", "control", "bg-radio", "--noctis-engine-input-bg", "Radio rest fill.", "Radio rest fill; the same `input-bg` the checkbox box uses, so the two read as one field-chip family on any surface (binding it to the lifted `field` would float the empty circle a step lighter than the matching checkbox box).", { kind: "utility" }),
105
+ role("781315a0-3223-412f-9c0c-39fa5fc9f7ca", "kbd", "Kbd", "control", "bg-kbd", "--noctis-engine-control-2", "Key-cap background.", "Keyboard key-cap background in tooltips and menus.", { kind: "utility" }),
106
+ role("d8dfdf5e-b427-4c93-9954-9d55608a9db9", "scrollbar-thumb", "Scrollbar thumb", "utility", "bg-scrollbar-thumb", "--noctis-engine-scrollbar", "Scrollbar thumb.", "Scrollbar thumb.", { kind: "color" }),
107
+ role("78d09ff2-222f-4f2d-983b-0f32fe8ba454", "scrollbar-track", "Scrollbar track", "utility", "bg-scrollbar-track", "--noctis-engine-bg-sunken", "Scrollbar track.", "Scrollbar track (the sunken well).", { kind: "color" }),
108
+ role("ef718e7b-307a-4a7b-92d2-acf43d3dfad9", "selection", "Selection", "utility", "bg-selection", "--noctis-engine-selection-bg", "Text-selection highlight.", "Text-selection highlight (muted text at low alpha).", { kind: "color" }),
109
+ role("a9538c91-38d3-4e10-a73a-c7ed1af87d48", "chart-positive", "Chart positive", "chart", "text-chart-positive", "--noctis-engine-success", "Up / gain trend.", "Up / gain trend in charts (= success).", { kind: "color" }),
110
+ role("42bcfb16-801e-4024-89a0-ee4d16976723", "chart-negative", "Chart negative", "chart", "text-chart-negative", "--noctis-engine-danger", "Down / loss trend.", "Down / loss trend in charts (= danger).", { kind: "color" }),
111
+ role("7ec01674-e30e-49de-9571-57d3a3b7cf16", "chart-neutral", "Chart neutral", "chart", "text-chart-neutral", "--noctis-engine-fg-3", "Flat / baseline series.", "Flat / baseline chart series (= muted text).", { kind: "color" }),
112
+ role("1d12f16e-4a97-4464-b24e-e7541a690320", "chart-axis", "Chart axis", "chart", "text-chart-axis", "--noctis-engine-fg-4", "Axis labels and tick text.", "Chart axis labels and tick text.", { kind: "color" }),
113
+ role("b1982c63-1dd2-491b-ab6b-9d04f9d1c7a4", "chart-track", "Chart track", "chart", "bg-chart-track", "--noctis-engine-bg-sunken", "Empty bar / gauge remainder.", "Empty bar / gauge remainder track.", { kind: "color" }),
114
+ role("33938def-cedb-45c5-b222-1113b08b5446", "chart-tooltip", "Chart tooltip", "chart", "bg-chart-tooltip", "--noctis-engine-bg-5", "Chart tooltip surface.", "Chart tooltip surface (an elevated surface).", { kind: "color" }),
115
+ role("ae5e87ee-2e4e-4a45-9c06-2abaf89fba94", "chart-grid", "Chart grid", "chart", "border-chart-grid", "--noctis-engine-border-faint", "Gridlines and axis ticks.", "Chart gridlines and axis ticks (= faint border).", { kind: "utility" }),
116
+ role("4b7f6e8d-0eda-4936-83fb-dfbcbfb823e5", "danger", "Danger", "status", "bg-danger", "--noctis-engine-danger", "Destructive and error states. Solid fill.", "Solid danger fill — badges, dots, bars; also colored text via text-danger.", { kind: "color" }),
117
+ role("a1e2d574-6372-4537-84e9-753776877d2e", "danger-foreground", "Danger foreground", "status", "text-danger-foreground", "--noctis-engine-danger-fg", "Text on a danger fill.", "Text on a solid danger fill.", { kind: "color" }),
118
+ role("43ff7514-e896-4d9c-a754-2d3063de3dea", "danger-muted", "Danger muted", "status", "bg-danger-muted", "--noctis-engine-danger-muted", "Low-emphasis danger surface.", "Alert / callout danger surface.", { kind: "color" }),
119
+ role("e7d18a66-8d42-44d5-a239-73bedb58ac4b", "danger-muted-foreground", "Danger muted foreground", "status", "text-danger-muted-foreground", "--noctis-engine-danger-muted-fg", "Text on a muted danger surface.", "Text on a muted danger surface.", { kind: "color" }),
120
+ role("f3c69e42-fd25-4fd1-a320-8ecaf9b83808", "danger-hover", "Danger hover", "status", "bg-danger-hover", "--noctis-engine-danger-hover", "Danger fill hover.", "Hover on a solid danger fill — e.g. destructive button hover.", { kind: "color" }),
121
+ role("78ac346a-cfe2-45d5-8e24-0fd86d6abe4c", "danger-faint", "Danger faint", "status", "bg-danger-faint", "--noctis-engine-danger-tint", "Faintest danger wash (row highlight).", "Faintest danger wash — row highlight, status-card tint.", { kind: "color" }),
122
+ role("6dc10a18-e6df-479f-975d-0de607e07dbe", "danger-border", "Danger border", "status", "border-danger-subtle", "--noctis-engine-danger-border", "Outline for a muted danger surface.", "Outline for a muted danger callout.", { kind: "utility" }),
123
+ role("a1f0a3a8-017c-4a1b-9f3f-8a6fbf084c13", "success", "Success", "status", "bg-success", "--noctis-engine-success", "Positive and confirmation states. Solid fill.", "Solid success fill — badges, dots, bars; also colored text via text-success.", { kind: "color" }),
124
+ role("6229ee2d-a40b-4664-a013-78f67ec462e9", "success-foreground", "Success foreground", "status", "text-success-foreground", "--noctis-engine-success-fg", "Text on a success fill.", "Text on a solid success fill.", { kind: "color" }),
125
+ role("6430d010-2e0e-4882-a2a3-7fb92a647a40", "success-muted", "Success muted", "status", "bg-success-muted", "--noctis-engine-success-muted", "Low-emphasis success surface.", "Alert / callout success surface.", { kind: "color" }),
126
+ role("523d6ab6-fe21-434d-b9b5-9ada81ba5b96", "success-muted-foreground", "Success muted foreground", "status", "text-success-muted-foreground", "--noctis-engine-success-muted-fg", "Text on a muted success surface.", "Text on a muted success surface.", { kind: "color" }),
127
+ role("20f9c43b-8791-4c84-a509-94ddc495afd2", "success-hover", "Success hover", "status", "bg-success-hover", "--noctis-engine-success-hover", "Success fill hover.", "Hover on a solid success fill — e.g. destructive button hover.", { kind: "color" }),
128
+ role("a1cbc49a-1b39-4b35-85d2-7f882ba55ca3", "success-faint", "Success faint", "status", "bg-success-faint", "--noctis-engine-success-tint", "Faintest success wash (row highlight).", "Faintest success wash — row highlight, status-card tint.", { kind: "color" }),
129
+ role("a81079bf-8dbc-478f-a77a-a209cf61ff9f", "success-border", "Success border", "status", "border-success-subtle", "--noctis-engine-success-border", "Outline for a muted success surface.", "Outline for a muted success callout.", { kind: "utility" }),
130
+ role("11492c7a-f21d-4284-8e8f-dfe3fc203285", "warning", "Warning", "status", "bg-warning", "--noctis-engine-warning", "Caution states. Solid fill.", "Solid warning fill — badges, dots, bars; also colored text via text-warning.", { kind: "color" }),
131
+ role("8b21dfed-cba6-4bea-adc2-a4840e252c37", "warning-foreground", "Warning foreground", "status", "text-warning-foreground", "--noctis-engine-warning-fg", "Text on a warning fill.", "Text on a solid warning fill.", { kind: "color" }),
132
+ role("db386298-f163-4eb6-b6ac-11b1944e40c4", "warning-muted", "Warning muted", "status", "bg-warning-muted", "--noctis-engine-warning-muted", "Low-emphasis warning surface.", "Alert / callout warning surface.", { kind: "color" }),
133
+ role("96fb5040-096d-48b2-9132-ad5c22069d99", "warning-muted-foreground", "Warning muted foreground", "status", "text-warning-muted-foreground", "--noctis-engine-warning-muted-fg", "Text on a muted warning surface.", "Text on a muted warning surface.", { kind: "color" }),
134
+ role("766ddec8-b462-4a72-8f15-2f78f14eba77", "warning-hover", "Warning hover", "status", "bg-warning-hover", "--noctis-engine-warning-hover", "Warning fill hover.", "Hover on a solid warning fill — e.g. destructive button hover.", { kind: "color" }),
135
+ role("ddc1ce0b-ec66-4f1f-8c97-1cbca86d2abc", "warning-faint", "Warning faint", "status", "bg-warning-faint", "--noctis-engine-warning-tint", "Faintest warning wash (row highlight).", "Faintest warning wash — row highlight, status-card tint.", { kind: "color" }),
136
+ role("e950a0b2-773b-46ff-bb25-4202aad40667", "warning-border", "Warning border", "status", "border-warning-subtle", "--noctis-engine-warning-border", "Outline for a muted warning surface.", "Outline for a muted warning callout.", { kind: "utility" }),
137
+ role("f423cb2a-a96c-4048-a01d-95047f5c8a30", "info", "Info", "status", "bg-info", "--noctis-engine-info", "Informational states. Solid fill.", "Solid info fill — badges, dots, bars; also colored text via text-info.", { kind: "color" }),
138
+ role("85d219af-0432-4809-90b1-1dcce064eebf", "info-foreground", "Info foreground", "status", "text-info-foreground", "--noctis-engine-info-fg", "Text on a info fill.", "Text on a solid info fill.", { kind: "color" }),
139
+ role("cebaa4b5-95bf-417d-9b10-2de4d3d0fd31", "info-muted", "Info muted", "status", "bg-info-muted", "--noctis-engine-info-muted", "Low-emphasis info surface.", "Alert / callout info surface.", { kind: "color" }),
140
+ role("d2e464de-4620-4329-8f3c-cd7323748869", "info-muted-foreground", "Info muted foreground", "status", "text-info-muted-foreground", "--noctis-engine-info-muted-fg", "Text on a muted info surface.", "Text on a muted info surface.", { kind: "color" }),
141
+ role("54797706-3880-40c2-9d96-1fca5aec1264", "info-hover", "Info hover", "status", "bg-info-hover", "--noctis-engine-info-hover", "Info fill hover.", "Hover on a solid info fill — e.g. destructive button hover.", { kind: "color" }),
142
+ role("26b6f00a-d222-4efb-b3a1-05c5258af77c", "info-faint", "Info faint", "status", "bg-info-faint", "--noctis-engine-info-tint", "Faintest info wash (row highlight).", "Faintest info wash — row highlight, status-card tint.", { kind: "color" }),
143
+ role("8d848599-2490-4020-8cac-48b2efacde89", "info-border", "Info border", "status", "border-info-subtle", "--noctis-engine-info-border", "Outline for a muted info surface.", "Outline for a muted info callout.", { kind: "utility" }),
144
+ role("69bd9a74-c417-4a97-8c19-70b30c8cfbb3", "presence-online", "Presence online", "status", "bg-presence-online", "--noctis-engine-success", "Availability dot — online / active.", "The presence indicator fill for an available user; aliases the success engine value.", { kind: "color" }),
145
+ role("850ef550-3c8f-49cf-a329-ed1d74309825", "presence-busy", "Presence busy", "status", "bg-presence-busy", "--noctis-engine-danger", "Availability dot — busy / do-not-disturb.", "The presence indicator fill for a busy user; aliases the danger engine value.", { kind: "color" }),
146
+ role("923fe899-69d1-4e8c-8350-8539723b9921", "presence-focus", "Presence focus", "status", "bg-presence-focus", "--noctis-engine-accent", "Availability dot — in focus / heads-down.", "The presence indicator fill for a user in focus mode; the one accent signal on an avatar, aliasing the accent engine value.", { kind: "color" }),
147
+ role("49006ba9-4c82-49d3-83a0-b84e2e1a1cfc", "presence-away", "Presence away", "status", "bg-presence-away", "--noctis-engine-warning", "Availability dot — away / idle.", "The presence indicator fill for an idle user; aliases the warning engine value.", { kind: "color" }),
148
+ role("6e0a75d6-e39f-4993-8122-980771dc1405", "presence-offline", "Presence offline", "status", "bg-presence-offline", "--noctis-engine-fg-3", "Availability dot — offline / inactive.", "The presence indicator fill for an offline user; a muted neutral aliasing the tertiary-text engine value.", { kind: "color" })
149
+ ];
150
+ //#endregion
151
+ export { SEMANTIC_TOKENS };
@@ -0,0 +1 @@
1
+ export { };