@nowline/layout 0.0.0-dev.20261007204002.g0c1b43f → 0.0.0-dev.20261007205200.g9919f48

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/dist/index.d.ts CHANGED
@@ -16,7 +16,7 @@ export { civilDateInZone, type NormalizedZone, normalizeZone, type ResolveTodayO
16
16
  export type { RoadmapSchedule, ScheduledItem, ScheduledWave, ScheduleOptions, } from './schedule.js';
17
17
  export { scheduleRoadmap } from './schedule.js';
18
18
  export { contrastRatio, relativeLuminance } from './themes/contrast.js';
19
- export { darkTheme, grayscaleTheme, lightTheme, normalizeThemeName, type Theme, type ThemeName, themes, } from './themes/index.js';
19
+ export { darkTheme, grayscaleTheme, lightTheme, normalizeThemeName, THEME_NAMES, type Theme, type ThemeName, themes, } from './themes/index.js';
20
20
  export { ACCENT_DASH_PATTERN, ATTRIBUTION_BAR_LOGICAL_WIDTH, ATTRIBUTION_BAR_LOGICAL_X, ATTRIBUTION_INE_LOGICAL_X, ATTRIBUTION_LINK, ATTRIBUTION_NOW_LOGICAL_X, ATTRIBUTION_PREFIX_FONT_SIZE, ATTRIBUTION_SCALE, ATTRIBUTION_TEXT, ATTRIBUTION_WORDMARK_FONT_SIZE, CORNER_RADIUS_PX, EDGE_CORNER_RADIUS, FONT_STACK, FOOTNOTE_HEADER_BASELINE_OFFSET_PX, FOOTNOTE_HEADER_HEIGHT_PX, FOOTNOTE_PANEL_PADDING_PX, FOOTNOTE_ROW_HEIGHT, FRAME_TAB_HEIGHT_PX, FRAME_TAB_LABEL_BASELINE_OFFSET_PX, GROUP_BOTTOM_PAD_PX, GROUP_BRACKET_LABEL_OVERHANG_PX, GROUP_TITLE_TAB_CHAR_WIDTH_PX, GROUP_TITLE_TAB_GUTTER_PX, GROUP_TITLE_TAB_HEIGHT_PX, GROUP_TITLE_TAB_LABEL_BASELINE_OFFSET_PX, GROUP_TITLE_TAB_LABEL_FONT_SIZE_PX, GROUP_TITLE_TAB_PAD_X_PX, NON_WORKING_FILL_OPACITY, NOW_PILL_CORNER_RADIUS_PX, NOW_PILL_HEIGHT_PX, NOW_PILL_LABEL_BASELINE_OFFSET_PX, NOW_PILL_LABEL_FONT_SIZE_PX, NOW_PILL_LABEL_INSET_X_PX, NOW_PILL_WIDTH_PX, NOWLINE_STROKE_WIDTH_PX, PROGRESS_STRIP_HEIGHT_PX, TEXT_SIZE_PX, TIMELINE_TICK_LABEL_BASELINE_OFFSET_PX, TIMELINE_TICK_LABEL_FONT_SIZE_PX, TIMELINE_TICK_PANEL_HEIGHT_PX, TRACK_BLOCK_TAIL_GUTTER_PX, WAVE_BOUNDARY_WIDTH_PX, WAVE_CROSS_DASH, WAVE_EMPTY_MARKER_SIZE_PX, WAVE_EMPTY_MARKER_STEP_PX, WAVE_HATCH_OPACITY, WAVE_HATCH_STROKE_PX, WAVE_HATCH_TILE_PX, WAVE_LEGEND_BASELINE_OFFSET_PX, WAVE_LEGEND_ENTRY_GAP_PX, WAVE_LEGEND_GAP_PX, WAVE_LEGEND_LINE_PX, WAVE_LEGEND_SWATCH_GAP_PX, WAVE_LEGEND_SWATCH_HEIGHT_PX, WAVE_LEGEND_SWATCH_WIDTH_PX, WAVE_STRIP_HEIGHT_PX, WAVE_STRIP_LABEL_FONT_SIZE_PX, WAVE_STRIP_LABEL_PAD_PX, WAVE_STYLED_STRIP_MIX_OPACITY, WAVE_STYLED_TINT_OPACITY, } from './themes/shared.js';
21
21
  export * from './types.js';
22
22
  export type { WorkingCalendar } from './working-calendar.js';
@@ -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
@@ -13,7 +13,7 @@ export { isNonWorkingDisplay, NON_WORKING_DISPLAYS, parseNonWorkingDisplay, } fr
13
13
  export { civilDateInZone, normalizeZone, resolveToday, TimezoneError, } from './resolve-today.js';
14
14
  export { scheduleRoadmap } from './schedule.js';
15
15
  export { contrastRatio, relativeLuminance } from './themes/contrast.js';
16
- export { darkTheme, grayscaleTheme, lightTheme, normalizeThemeName, themes, } from './themes/index.js';
16
+ export { darkTheme, grayscaleTheme, lightTheme, normalizeThemeName, THEME_NAMES, themes, } from './themes/index.js';
17
17
  export { ACCENT_DASH_PATTERN, ATTRIBUTION_BAR_LOGICAL_WIDTH, ATTRIBUTION_BAR_LOGICAL_X, ATTRIBUTION_INE_LOGICAL_X, ATTRIBUTION_LINK, ATTRIBUTION_NOW_LOGICAL_X, ATTRIBUTION_PREFIX_FONT_SIZE, ATTRIBUTION_SCALE, ATTRIBUTION_TEXT, ATTRIBUTION_WORDMARK_FONT_SIZE, CORNER_RADIUS_PX, EDGE_CORNER_RADIUS, FONT_STACK, FOOTNOTE_HEADER_BASELINE_OFFSET_PX, FOOTNOTE_HEADER_HEIGHT_PX, FOOTNOTE_PANEL_PADDING_PX, FOOTNOTE_ROW_HEIGHT, FRAME_TAB_HEIGHT_PX, FRAME_TAB_LABEL_BASELINE_OFFSET_PX, GROUP_BOTTOM_PAD_PX, GROUP_BRACKET_LABEL_OVERHANG_PX, GROUP_TITLE_TAB_CHAR_WIDTH_PX, GROUP_TITLE_TAB_GUTTER_PX, GROUP_TITLE_TAB_HEIGHT_PX, GROUP_TITLE_TAB_LABEL_BASELINE_OFFSET_PX, GROUP_TITLE_TAB_LABEL_FONT_SIZE_PX, GROUP_TITLE_TAB_PAD_X_PX, NON_WORKING_FILL_OPACITY, NOW_PILL_CORNER_RADIUS_PX, NOW_PILL_HEIGHT_PX, NOW_PILL_LABEL_BASELINE_OFFSET_PX, NOW_PILL_LABEL_FONT_SIZE_PX, NOW_PILL_LABEL_INSET_X_PX, NOW_PILL_WIDTH_PX, NOWLINE_STROKE_WIDTH_PX, PROGRESS_STRIP_HEIGHT_PX, TEXT_SIZE_PX, TIMELINE_TICK_LABEL_BASELINE_OFFSET_PX, TIMELINE_TICK_LABEL_FONT_SIZE_PX, TIMELINE_TICK_PANEL_HEIGHT_PX, TRACK_BLOCK_TAIL_GUTTER_PX, WAVE_BOUNDARY_WIDTH_PX, WAVE_CROSS_DASH, WAVE_EMPTY_MARKER_SIZE_PX, WAVE_EMPTY_MARKER_STEP_PX, WAVE_HATCH_OPACITY, WAVE_HATCH_STROKE_PX, WAVE_HATCH_TILE_PX, WAVE_LEGEND_BASELINE_OFFSET_PX, WAVE_LEGEND_ENTRY_GAP_PX, WAVE_LEGEND_GAP_PX, WAVE_LEGEND_LINE_PX, WAVE_LEGEND_SWATCH_GAP_PX, WAVE_LEGEND_SWATCH_HEIGHT_PX, WAVE_LEGEND_SWATCH_WIDTH_PX, WAVE_STRIP_HEIGHT_PX, WAVE_STRIP_LABEL_FONT_SIZE_PX, WAVE_STRIP_LABEL_PAD_PX, WAVE_STYLED_STRIP_MIX_OPACITY, WAVE_STYLED_TINT_OPACITY, } from './themes/shared.js';
18
18
  export * from './types.js';
19
19
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"non-working-display.d.ts","sourceRoot":"","sources":["../src/non-working-display.ts"],"names":[],"mappings":"AAOA,mCAAmC;AACnC,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhD,mDAAmD;AACnD,eAAO,MAAM,oBAAoB,EAAE,SAAS,iBAAiB,EAAqB,CAAC;AAEnF,4CAA4C;AAC5C,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAI7F"}
1
+ {"version":3,"file":"non-working-display.d.ts","sourceRoot":"","sources":["../src/non-working-display.ts"],"names":[],"mappings":"AAQA,mCAAmC;AACnC,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhD,mDAAmD;AACnD,eAAO,MAAM,oBAAoB,EAAE,SAAS,iBAAiB,EAAqB,CAAC;AAEnF,4CAA4C;AAC5C,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAI7F"}
@@ -2,8 +2,9 @@
2
2
  // calendar.md §4.2): `hide` collapses them to zero width (the default),
3
3
  // `show` draws them at full width as shaded bands. One shared definition
4
4
  // for the layout and every surface that takes a render-time option, so the
5
- // accepted spellings cannot drift between them. Core and the GitHub Action
6
- // keep their own two-value checks because they cannot depend on layout.
5
+ // accepted spellings cannot drift between them. Core keeps its own two-value
6
+ // check because it cannot depend on layout; the GitHub Action still has one
7
+ // too, though it bundles layout's theme parser.
7
8
  /** Every display value, in documentation order. */
8
9
  export const NON_WORKING_DISPLAYS = ['hide', 'show'];
9
10
  /** True when `value` is a display value. */
@@ -1 +1 @@
1
- {"version":3,"file":"non-working-display.js","sourceRoot":"","sources":["../src/non-working-display.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,wEAAwE;AACxE,yEAAyE;AACzE,2EAA2E;AAC3E,2EAA2E;AAC3E,wEAAwE;AAKxE,mDAAmD;AACnD,MAAM,CAAC,MAAM,oBAAoB,GAAiC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEnF,4CAA4C;AAC5C,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAC9C,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAuB;IAC1D,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IACtD,IAAI,mBAAmB,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACzC,MAAM,IAAI,UAAU,CAAC,gCAAgC,GAAG,2BAA2B,CAAC,CAAC;AACzF,CAAC"}
1
+ {"version":3,"file":"non-working-display.js","sourceRoot":"","sources":["../src/non-working-display.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,wEAAwE;AACxE,yEAAyE;AACzE,2EAA2E;AAC3E,6EAA6E;AAC7E,4EAA4E;AAC5E,gDAAgD;AAKhD,mDAAmD;AACnD,MAAM,CAAC,MAAM,oBAAoB,GAAiC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEnF,4CAA4C;AAC5C,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAC9C,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAuB;IAC1D,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IACtD,IAAI,mBAAmB,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACzC,MAAM,IAAI,UAAU,CAAC,gCAAgC,GAAG,2BAA2B,CAAC,CAAC;AACzF,CAAC"}
@@ -3,17 +3,10 @@ export { grayscaleNamed, grayscaleTheme } from './grayscale.js';
3
3
  export { lightNamed, lightTheme } from './light.js';
4
4
  export type { EntityStyle, NamedColors, Theme } from './shape.js';
5
5
  import type { NamedColors, Theme } from './shape.js';
6
- export type ThemeName = 'light' | 'dark' | 'grayscale';
7
- export declare const themes: {
8
- light: Theme;
9
- dark: Theme;
10
- grayscale: Theme;
11
- };
12
- export declare const namedColors: {
13
- light: NamedColors;
14
- dark: NamedColors;
15
- grayscale: NamedColors;
16
- };
6
+ export declare const THEME_NAMES: readonly ['light', 'dark', 'grayscale'];
7
+ export type ThemeName = (typeof THEME_NAMES)[number];
8
+ export declare const themes: Record<ThemeName, Theme>;
9
+ export declare const namedColors: Record<ThemeName, NamedColors>;
17
10
  export declare function normalizeThemeName(raw: string): ThemeName | undefined;
18
11
  export declare function resolveColor(token: string, theme: Theme): string;
19
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/themes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAKlE,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,CAAC;AAEvD,eAAO,MAAM,MAAM,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,KAAK,CAAA;CAIjE,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,WAAW,CAAA;CAIxF,CAAC;AAcF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAOrE;AAUD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAYhE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/themes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAKlE,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAMrD,eAAO,MAAM,WAAW,YAAI,OAAO,EAAE,MAAM,EAAE,WAAW,CAAU,CAAC;AAEnE,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CAI3C,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CAItD,CAAC;AAcF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAIrE;AAUD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAYhE"}
@@ -4,6 +4,11 @@ export { lightNamed, lightTheme } from './light.js';
4
4
  import { darkNamed, darkTheme } from './dark.js';
5
5
  import { grayscaleNamed, grayscaleTheme } from './grayscale.js';
6
6
  import { lightNamed, lightTheme } from './light.js';
7
+ // The one list of theme names. `ThemeName` derives from it and `themes` /
8
+ // `namedColors` are keyed by it, so a new theme is added here and tsc then
9
+ // demands its palette. Every surface that validates a theme (CLI `render` /
10
+ // `serve`, the GitHub Action) goes through `normalizeThemeName` below.
11
+ export const THEME_NAMES = ['light', 'dark', 'grayscale'];
7
12
  export const themes = {
8
13
  light: lightTheme,
9
14
  dark: darkTheme,
@@ -28,10 +33,7 @@ const THEME_ALIASES = {
28
33
  export function normalizeThemeName(raw) {
29
34
  const lower = raw.toLowerCase();
30
35
  const canonical = THEME_ALIASES[lower] ?? lower;
31
- if (canonical === 'light' || canonical === 'dark' || canonical === 'grayscale') {
32
- return canonical;
33
- }
34
- return undefined;
36
+ return THEME_NAMES.find((name) => name === canonical);
35
37
  }
36
38
  // Aliases collapse internationally-friendlier spellings onto the canonical
37
39
  // keys before lookup so themes only need to define each color once.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/themes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGpD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKpD,MAAM,CAAC,MAAM,MAAM,GAAoD;IACnE,KAAK,EAAE,UAAU;IACjB,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,cAAc;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAsE;IAC1F,KAAK,EAAE,UAAU;IACjB,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,cAAc;CAC5B,CAAC;AAEF,4EAA4E;AAC5E,yEAAyE;AACzE,6EAA6E;AAC7E,6EAA6E;AAC7E,6DAA6D;AAC7D,MAAM,aAAa,GAA8B;IAC7C,SAAS,EAAE,WAAW;CACzB,CAAC;AAEF,uEAAuE;AACvE,uEAAuE;AACvE,4EAA4E;AAC5E,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;IAChD,IAAI,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;QAC7E,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,2EAA2E;AAC3E,oEAAoE;AACpE,MAAM,aAAa,GAA2B;IAC1C,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;CACnB,CAAC;AAEF,4EAA4E;AAC5E,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,KAAY;IACpD,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACpC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,KAAK,GACP,KAAK,CAAC,IAAI,KAAK,MAAM;QACjB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW;YAC1B,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,UAAU,CAAC;IACvB,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;IAChD,MAAM,GAAG,GAAI,KAA2C,CAAC,SAAS,CAAC,CAAC;IACpE,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/themes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGpD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGpD,0EAA0E;AAC1E,2EAA2E;AAC3E,4EAA4E;AAC5E,uEAAuE;AACvE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAU,CAAC;AAInE,MAAM,CAAC,MAAM,MAAM,GAA6B;IAC5C,KAAK,EAAE,UAAU;IACjB,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,cAAc;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAmC;IACvD,KAAK,EAAE,UAAU;IACjB,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,cAAc;CAC5B,CAAC;AAEF,4EAA4E;AAC5E,yEAAyE;AACzE,6EAA6E;AAC7E,6EAA6E;AAC7E,6DAA6D;AAC7D,MAAM,aAAa,GAA8B;IAC7C,SAAS,EAAE,WAAW;CACzB,CAAC;AAEF,uEAAuE;AACvE,uEAAuE;AACvE,4EAA4E;AAC5E,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;IAChD,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;AAC1D,CAAC;AAED,2EAA2E;AAC3E,oEAAoE;AACpE,MAAM,aAAa,GAA2B;IAC1C,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;CACnB,CAAC;AAEF,4EAA4E;AAC5E,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,KAAY;IACpD,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACpC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,KAAK,GACP,KAAK,CAAC,IAAI,KAAK,MAAM;QACjB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW;YAC1B,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,UAAU,CAAC;IACvB,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;IAChD,MAAM,GAAG,GAAI,KAA2C,CAAC,SAAS,CAAC,CAAC;IACpE,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AACjD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nowline/layout",
3
- "version": "0.0.0-dev.20261007204002.g0c1b43f",
3
+ "version": "0.0.0-dev.20261007205200.g9919f48",
4
4
  "description": "Nowline layout engine — works out where everything goes on the page before it's drawn.",
5
5
  "license": "Apache-2.0",
6
6
  "engines": {
@@ -22,7 +22,7 @@
22
22
  "src/"
23
23
  ],
24
24
  "dependencies": {
25
- "@nowline/core": "0.0.0-dev.20261007204002.g0c1b43f",
25
+ "@nowline/core": "0.0.0-dev.20261007205200.g9919f48",
26
26
  "d3-scale": "^4.0.2",
27
27
  "d3-time": "^3.1.0"
28
28
  },
package/src/index.ts CHANGED
@@ -121,6 +121,7 @@ export {
121
121
  grayscaleTheme,
122
122
  lightTheme,
123
123
  normalizeThemeName,
124
+ THEME_NAMES,
124
125
  type Theme,
125
126
  type ThemeName,
126
127
  themes,
@@ -2,8 +2,9 @@
2
2
  // calendar.md §4.2): `hide` collapses them to zero width (the default),
3
3
  // `show` draws them at full width as shaded bands. One shared definition
4
4
  // for the layout and every surface that takes a render-time option, so the
5
- // accepted spellings cannot drift between them. Core and the GitHub Action
6
- // keep their own two-value checks because they cannot depend on layout.
5
+ // accepted spellings cannot drift between them. Core keeps its own two-value
6
+ // check because it cannot depend on layout; the GitHub Action still has one
7
+ // too, though it bundles layout's theme parser.
7
8
 
8
9
  /** A non-working display value. */
9
10
  export type NonWorkingDisplay = 'hide' | 'show';
@@ -8,15 +8,21 @@ import { grayscaleNamed, grayscaleTheme } from './grayscale.js';
8
8
  import { lightNamed, lightTheme } from './light.js';
9
9
  import type { NamedColors, Theme } from './shape.js';
10
10
 
11
- export type ThemeName = 'light' | 'dark' | 'grayscale';
11
+ // The one list of theme names. `ThemeName` derives from it and `themes` /
12
+ // `namedColors` are keyed by it, so a new theme is added here and tsc then
13
+ // demands its palette. Every surface that validates a theme (CLI `render` /
14
+ // `serve`, the GitHub Action) goes through `normalizeThemeName` below.
15
+ export const THEME_NAMES = ['light', 'dark', 'grayscale'] as const;
12
16
 
13
- export const themes: { light: Theme; dark: Theme; grayscale: Theme } = {
17
+ export type ThemeName = (typeof THEME_NAMES)[number];
18
+
19
+ export const themes: Record<ThemeName, Theme> = {
14
20
  light: lightTheme,
15
21
  dark: darkTheme,
16
22
  grayscale: grayscaleTheme,
17
23
  };
18
24
 
19
- export const namedColors: { light: NamedColors; dark: NamedColors; grayscale: NamedColors } = {
25
+ export const namedColors: Record<ThemeName, NamedColors> = {
20
26
  light: lightNamed,
21
27
  dark: darkNamed,
22
28
  grayscale: grayscaleNamed,
@@ -37,10 +43,7 @@ const THEME_ALIASES: Record<string, ThemeName> = {
37
43
  export function normalizeThemeName(raw: string): ThemeName | undefined {
38
44
  const lower = raw.toLowerCase();
39
45
  const canonical = THEME_ALIASES[lower] ?? lower;
40
- if (canonical === 'light' || canonical === 'dark' || canonical === 'grayscale') {
41
- return canonical;
42
- }
43
- return undefined;
46
+ return THEME_NAMES.find((name) => name === canonical);
44
47
  }
45
48
 
46
49
  // Aliases collapse internationally-friendlier spellings onto the canonical