@starci/grammar 0.17.1 → 0.19.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 (84) hide show
  1. package/README.md +26 -8
  2. package/dist/.build-stamp.json +4 -4
  3. package/dist/common/components-forms.css +8 -8
  4. package/dist/common/components-navigation.css +146 -34
  5. package/dist/common/components-overlays.css +13 -15
  6. package/dist/common/components-spacing.css +97 -0
  7. package/dist/common/index.d.ts +1 -1
  8. package/dist/common/index.d.ts.map +1 -1
  9. package/dist/common/index.js +1 -1
  10. package/dist/common/index.js.map +1 -1
  11. package/dist/common/registry.d.ts +15 -3
  12. package/dist/common/registry.d.ts.map +1 -1
  13. package/dist/common/registry.js +3 -2
  14. package/dist/common/registry.js.map +1 -1
  15. package/dist/common/renderers-navigation.d.ts +4 -4
  16. package/dist/common/renderers-navigation.d.ts.map +1 -1
  17. package/dist/common/renderers-navigation.js +1 -1
  18. package/dist/common/renderers-navigation.js.map +1 -1
  19. package/dist/common/renderers.d.ts +5 -1
  20. package/dist/common/renderers.d.ts.map +1 -1
  21. package/dist/common/renderers.js +4 -0
  22. package/dist/common/renderers.js.map +1 -1
  23. package/dist/common/spacing.d.ts +32 -2
  24. package/dist/common/spacing.d.ts.map +1 -1
  25. package/dist/common/spacing.js +29 -2
  26. package/dist/common/spacing.js.map +1 -1
  27. package/dist/common/styles.css +226 -79
  28. package/dist/core/branch/FlowGraph/index.d.ts +21 -7
  29. package/dist/core/branch/FlowGraph/index.d.ts.map +1 -1
  30. package/dist/core/branch/FlowGraph/index.js +236 -42
  31. package/dist/core/branch/FlowGraph/index.js.map +1 -1
  32. package/dist/core/branch/FlowGraph/layout.d.ts +58 -0
  33. package/dist/core/branch/FlowGraph/layout.d.ts.map +1 -1
  34. package/dist/core/branch/FlowGraph/layout.js +198 -0
  35. package/dist/core/branch/FlowGraph/layout.js.map +1 -1
  36. package/dist/core/branch/FlowGraph/types.d.ts +33 -3
  37. package/dist/core/branch/FlowGraph/types.d.ts.map +1 -1
  38. package/dist/core/branch/Rail/index.d.ts +1 -1
  39. package/dist/core/branch/Rail/index.d.ts.map +1 -1
  40. package/dist/core/branch/Rail/index.js +1 -1
  41. package/dist/core/branch/Rail/index.js.map +1 -1
  42. package/dist/core/branch/Tabs/index.d.ts +4 -4
  43. package/dist/core/branch/Tabs/index.d.ts.map +1 -1
  44. package/dist/core/branch/Tabs/index.js +1 -3
  45. package/dist/core/branch/Tabs/index.js.map +1 -1
  46. package/dist/core/composite/Stepper/index.d.ts +7 -2
  47. package/dist/core/composite/Stepper/index.d.ts.map +1 -1
  48. package/dist/core/composite/Stepper/index.js +1 -1
  49. package/dist/core/composite/Stepper/index.js.map +1 -1
  50. package/dist/core/composition/Cluster/index.d.ts +23 -0
  51. package/dist/core/composition/Cluster/index.d.ts.map +1 -0
  52. package/dist/core/composition/Cluster/index.js +8 -0
  53. package/dist/core/composition/Cluster/index.js.map +1 -0
  54. package/dist/core/composition/Grid/index.d.ts +32 -0
  55. package/dist/core/composition/Grid/index.d.ts.map +1 -0
  56. package/dist/core/composition/Grid/index.js +19 -0
  57. package/dist/core/composition/Grid/index.js.map +1 -0
  58. package/dist/core/composition/Page/index.js +1 -1
  59. package/dist/core/composition/Page/index.js.map +1 -1
  60. package/dist/core/composition/Stack/index.d.ts +30 -0
  61. package/dist/core/composition/Stack/index.d.ts.map +1 -0
  62. package/dist/core/composition/Stack/index.js +23 -0
  63. package/dist/core/composition/Stack/index.js.map +1 -0
  64. package/dist/core/dna.d.ts +7 -30
  65. package/dist/core/dna.d.ts.map +1 -1
  66. package/dist/core/dna.js +3 -17
  67. package/dist/core/dna.js.map +1 -1
  68. package/dist/core/primitive/Button/index.js +7 -2
  69. package/dist/core/primitive/Button/index.js.map +1 -1
  70. package/dist/core/primitive/ConnectionStatus/index.d.ts +15 -0
  71. package/dist/core/primitive/ConnectionStatus/index.d.ts.map +1 -0
  72. package/dist/core/primitive/ConnectionStatus/index.js +15 -0
  73. package/dist/core/primitive/ConnectionStatus/index.js.map +1 -0
  74. package/dist/core/primitive/Progress/index.d.ts +9 -2
  75. package/dist/core/primitive/Progress/index.d.ts.map +1 -1
  76. package/dist/core/primitive/Progress/index.js +3 -3
  77. package/dist/core/primitive/Progress/index.js.map +1 -1
  78. package/dist/core/styles.css +1 -1
  79. package/dist/offset-pop/components-navigation.css +1 -1
  80. package/dist/offset-pop/dna.d.ts +7 -53
  81. package/dist/offset-pop/dna.d.ts.map +1 -1
  82. package/dist/offset-pop/dna.js +3 -17
  83. package/dist/offset-pop/dna.js.map +1 -1
  84. package/package.json +1 -1
@@ -0,0 +1,32 @@
1
+ import type { ReactNode } from "react";
2
+ import { type FormGridColumns } from "../../composite/FormGrid/index.js";
3
+ import { type PrimaryRailLayoutProps } from "../PrimaryRailLayout/index.js";
4
+ /** The most cards a row of a `cards` grid holds once its width allows; below that it holds fewer. */
5
+ export type GridCardColumns = 2 | 3 | 4;
6
+ type GridCardsProps = {
7
+ /** Peer cards of one collection: equal tracks, the section gap on both axes. */
8
+ readonly kind: "cards";
9
+ readonly children: ReactNode;
10
+ /** The most cards per row. Omit it to fit as many tracks of the card minimum as the width holds. */
11
+ readonly columns?: GridCardColumns;
12
+ };
13
+ type GridFormProps = {
14
+ /** The fields of one form, through the form layout (`FormGrid`): labels, controls and messages on shared rows. */
15
+ readonly kind: "form";
16
+ readonly children: ReactNode;
17
+ readonly columns?: FormGridColumns;
18
+ };
19
+ type GridMainRailProps = Omit<PrimaryRailLayoutProps, "className"> & {
20
+ /** Dominant content and one subordinate rail (`PrimaryRailLayout`), the region gap between them on both axes. */
21
+ readonly kind: "main-rail";
22
+ };
23
+ export type GridKind = "cards" | "form" | "main-rail";
24
+ export type GridProps = GridCardsProps | GridFormProps | GridMainRailProps;
25
+ /**
26
+ * A two-dimensional layout named by what it lays out. `cards` is the Grammar's card grid; `form` is the form layout
27
+ * and `main-rail` the primary-and-rail layout, the same components `FormGrid` and `PrimaryRailLayout` render, so each
28
+ * layout has one owner and the app names it by kind. No kind takes a class or a gap: the kind decides both.
29
+ */
30
+ export declare const Grid: (props: GridProps) => import("react").JSX.Element;
31
+ export {};
32
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composition/Grid/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAY,KAAK,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,EAAqB,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAE9F,qGAAqG;AACrG,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAEvC,KAAK,cAAc,GAAG;IAClB,gFAAgF;IAChF,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,oGAAoG;IACpG,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAA;CACrC,CAAA;AAED,KAAK,aAAa,GAAG;IACjB,kHAAkH;IAClH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAA;CACrC,CAAA;AAED,KAAK,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,EAAE,WAAW,CAAC,GAAG;IACjE,iHAAiH;IACjH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,CAAA;AACrD,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,aAAa,GAAG,iBAAiB,CAAA;AAE1E;;;;GAIG;AACH,eAAO,MAAM,IAAI,GAAI,OAAO,SAAS,gCAoBpC,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { FormGrid } from "../../composite/FormGrid/index.js";
3
+ import { PrimaryRailLayout } from "../PrimaryRailLayout/index.js";
4
+ /**
5
+ * A two-dimensional layout named by what it lays out. `cards` is the Grammar's card grid; `form` is the form layout
6
+ * and `main-rail` the primary-and-rail layout, the same components `FormGrid` and `PrimaryRailLayout` render, so each
7
+ * layout has one owner and the app names it by kind. No kind takes a class or a gap: the kind decides both.
8
+ */
9
+ export const Grid = (props) => {
10
+ if (props.kind === "form") {
11
+ return props.columns === undefined ? _jsx(FormGrid, { children: props.children }) : _jsx(FormGrid, { columns: props.columns, children: props.children });
12
+ }
13
+ if (props.kind === "main-rail") {
14
+ const { kind, ...layout } = props;
15
+ return _jsx(PrimaryRailLayout, { ...layout });
16
+ }
17
+ return (_jsx("div", { className: "starci-core-grid", "data-component": "Grid", "data-tier": "composition", "data-grammar-grid-kind": "cards", "data-grammar-grid-columns": props.columns === undefined ? "fit" : String(props.columns), "data-contract": "GAP-4 RESPONSIVE-1", children: props.children }));
18
+ };
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composition/Grid/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAwB,MAAM,mCAAmC,CAAA;AAClF,OAAO,EAAE,iBAAiB,EAA+B,MAAM,+BAA+B,CAAA;AA4B9F;;;;GAIG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,KAAgB,EAAE,EAAE;IACrC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAC,QAAQ,cAAE,KAAK,CAAC,QAAQ,GAAY,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,YAAG,KAAK,CAAC,QAAQ,GAAY,CAAA;IAC9I,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC7B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,CAAA;QACjC,OAAO,KAAC,iBAAiB,OAAK,MAAM,GAAI,CAAA;IAC5C,CAAC;IACD,OAAO,CACH,cACI,SAAS,EAAC,kBAAkB,oBACb,MAAM,eACX,aAAa,4BACA,OAAO,+BACH,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,mBACxE,oBAAoB,YAEjC,KAAK,CAAC,QAAQ,GACb,CACT,CAAA;AACL,CAAC,CAAA"}
@@ -23,6 +23,6 @@ export const Page = (props) => {
23
23
  }
24
24
  const band = header !== undefined && isBand(chrome, header) ? header : undefined;
25
25
  const trail = header !== undefined && !isBand(chrome, header) ? header.breadcrumbs : undefined;
26
- return (_jsxs("div", { className: cn("starci-core-page", className), "data-component": "Page", "data-tier": "composition", "data-contract": chrome === "panes" ? "LAYOUT-1 BOUNDARY-1 GAP-0" : chrome === "bleed" ? "LAYOUT-1" : "MARGIN-5 MEASURE-1", "data-grammar-page-chrome": chrome, "data-grammar-page-header": band === undefined ? "false" : "true", "data-grammar-page-trail": trail === undefined ? "false" : "true", children: [band === undefined ? null : _jsx(PageHeader, { ...band, measure: measure, isSkeleton: isSkeleton }), trail === undefined ? null : (_jsx("div", { className: "starci-core-page-trail", "data-grammar-page-trail-row": "true", children: _jsx(Breadcrumbs, { label: trail.label, items: trail.items, ...(trail.onAction === undefined ? {} : { onAction: trail.onAction }) }) })), chrome === "panes" ? (_jsx(PanesFill, { minHeight: props.chrome === "panes" ? props.minHeight ?? "md" : "md", children: children })) : chrome === "bleed" ? (_jsx("div", { className: "starci-core-page-body", "data-grammar-page-body": "true", children: children })) : (_jsx(PageContainer, { className: "starci-core-page-body", "data-grammar-page-body": "true", measure: measure, children: children }))] }));
26
+ return (_jsxs("div", { className: cn("starci-core-page", className), "data-component": "Page", "data-tier": "composition", "data-contract": chrome === "panes" ? "LAYOUT-1 BOUNDARY-1 GAP-0" : chrome === "bleed" ? "LAYOUT-1" : "MARGIN-5 MEASURE-1", "data-grammar-page-chrome": chrome, "data-grammar-page-header": band === undefined ? "false" : "true", "data-grammar-page-trail": trail === undefined ? "false" : "true", children: [band === undefined ? null : _jsx(PageHeader, { ...band, measure: chrome === "panes" ? "full" : measure, isSkeleton: isSkeleton }), trail === undefined ? null : (_jsx("div", { className: "starci-core-page-trail", "data-grammar-page-trail-row": "true", children: _jsx(Breadcrumbs, { label: trail.label, items: trail.items, ...(trail.onAction === undefined ? {} : { onAction: trail.onAction }) }) })), chrome === "panes" ? (_jsx(PanesFill, { minHeight: props.chrome === "panes" ? props.minHeight ?? "md" : "md", children: children })) : chrome === "bleed" ? (_jsx("div", { className: "starci-core-page-body", "data-grammar-page-body": "true", children: children })) : (_jsx(PageContainer, { className: "starci-core-page-body", "data-grammar-page-body": "true", measure: measure, children: children }))] }));
27
27
  };
28
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composition/Page/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composition/Page/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { type ReactNode } from "react";
2
+ import type { GapRole } from "../../../common/spacing.js";
3
+ /** The rule id each gap role carries (contexts/ui/presentation.md, space.choose.gap). */
4
+ export declare const GAP_CONTRACT: Readonly<Record<GapRole, string>>;
5
+ /** Where the children stand across the stack. Default `stretch`. */
6
+ export type StackAlign = "stretch" | "start" | "center" | "end";
7
+ /** A width cap, centred in the host: the reading measure or the form measure. Default `full` (the host's width). */
8
+ export type StackMeasure = "full" | "reading" | "form";
9
+ export type StackProps = {
10
+ readonly children: ReactNode;
11
+ /** The relation between the children, never a number: the Grammar resolves the role to its step. */
12
+ readonly gap: GapRole;
13
+ readonly align?: StackAlign;
14
+ readonly measure?: StackMeasure;
15
+ readonly as?: "div" | "header" | "footer";
16
+ };
17
+ /**
18
+ * Blocks one after another in the block axis, the distance between them named by their relation (`gap`). The app
19
+ * says which relation its blocks have; the Grammar owns the number. A stack holding two relations is two stacks.
20
+ */
21
+ export declare const Stack: ({ children, gap, align, measure, as }: StackProps) => import("react").DetailedReactHTMLElement<{
22
+ className: string;
23
+ "data-component": string;
24
+ "data-tier": string;
25
+ "data-grammar-gap": GapRole;
26
+ "data-grammar-align": StackAlign;
27
+ "data-grammar-measure": StackMeasure;
28
+ "data-contract": string;
29
+ }, HTMLElement>;
30
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composition/Stack/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEzD,yFAAyF;AACzF,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAMzD,CAAA;AAEF,oEAAoE;AACpE,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;AAC/D,oHAAoH;AACpH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAA;AAEtD,MAAM,MAAM,UAAU,GAAG;IACrB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,oGAAoG;IACpG,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAA;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAA;IAC/B,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAA;CAC5C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAI,uCAAoE,UAAU;;;;;;;;eAYnG,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { createElement } from "react";
2
+ /** The rule id each gap role carries (contexts/ui/presentation.md, space.choose.gap). */
3
+ export const GAP_CONTRACT = Object.freeze({
4
+ identity: "GAP-1",
5
+ inline: "GAP-2",
6
+ row: "GAP-3",
7
+ section: "GAP-4",
8
+ region: "GAP-5",
9
+ });
10
+ /**
11
+ * Blocks one after another in the block axis, the distance between them named by their relation (`gap`). The app
12
+ * says which relation its blocks have; the Grammar owns the number. A stack holding two relations is two stacks.
13
+ */
14
+ export const Stack = ({ children, gap, align = "stretch", measure = "full", as = "div" }) => createElement(as, {
15
+ className: "starci-core-stack",
16
+ "data-component": "Stack",
17
+ "data-tier": "composition",
18
+ "data-grammar-gap": gap,
19
+ "data-grammar-align": align,
20
+ "data-grammar-measure": measure,
21
+ "data-contract": measure === "full" ? GAP_CONTRACT[gap] : `${GAP_CONTRACT[gap]} MEASURE-4 MARGIN-AUTO`,
22
+ }, children);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composition/Stack/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,OAAO,CAAA;AAGrD,yFAAyF;AACzF,MAAM,CAAC,MAAM,YAAY,GAAsC,MAAM,CAAC,MAAM,CAAC;IACzE,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,OAAO;IACf,GAAG,EAAE,OAAO;IACZ,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,OAAO;CAClB,CAAC,CAAA;AAgBF;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,GAAG,SAAS,EAAE,OAAO,GAAG,MAAM,EAAE,EAAE,GAAG,KAAK,EAAc,EAAE,EAAE,CAAC,aAAa,CAClH,EAAE,EACF;IACI,SAAS,EAAE,mBAAmB;IAC9B,gBAAgB,EAAE,OAAO;IACzB,WAAW,EAAE,aAAa;IAC1B,kBAAkB,EAAE,GAAG;IACvB,oBAAoB,EAAE,KAAK;IAC3B,sBAAsB,EAAE,OAAO;IAC/B,eAAe,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,wBAAwB;CACzG,EACD,QAAQ,CACX,CAAA"}
@@ -1,18 +1,3 @@
1
- /**
2
- * Stable visual identity shipped by Core Grammar.
3
- *
4
- * This is presentation data, not a registry of UI laws. Product rules remain
5
- * outside the package; consumers use these values to render the same StarCi
6
- * family without rebuilding its palette, geometry or motion from memory.
7
- *
8
- * Every colour pair the family's CSS combines clears WCAG AA in light and dark, measured
9
- * through the resolved scope, HeroUI's vendor variables included. `accent` is the
10
- * brand FILL (white text on it, and the focus ring); where the accent is painted as TEXT - links,
11
- * the current tab and bottom-nav label, the section eyebrow, the soft accent pairing - the family
12
- * reads `accentText`, which is themed because the violet fill is too dark to read on the dark
13
- * canvas (3.95:1) and a hair too light on the secondary surface (4.44:1). `accentSoft` is the
14
- * selected/soft tint that `accentText` and `muted` both stay AA on.
15
- */
16
1
  export declare const STARCI_CORE_DNA: Readonly<{
17
2
  readonly id: "core";
18
3
  readonly version: 1;
@@ -150,22 +135,14 @@ export declare const STARCI_CORE_DNA: Readonly<{
150
135
  easing: "cubic-bezier(0.2, 0, 0, 1)";
151
136
  }>;
152
137
  }>;
153
- /** Canonical 4px spacing scale shared by Core components and host composition. */
138
+ /** The family spacing scale is Common's (common/spacing.ts): the family does not re-space. */
154
139
  export declare const STARCI_CORE_SPACING_SCALE: Readonly<{
155
- readonly "0": "0rem";
156
- readonly "0.5": "0.125rem";
157
- readonly "1": "0.25rem";
158
- readonly "1.5": "0.375rem";
159
- readonly "2": "0.5rem";
160
- readonly "2.5": "0.625rem";
161
- readonly "3": "0.75rem";
162
- readonly "4": "1rem";
163
- readonly "5": "1.25rem";
164
- readonly "6": "1.5rem";
165
- readonly "8": "2rem";
166
- readonly "10": "2.5rem";
167
- readonly "12": "3rem";
168
- readonly "16": "4rem";
140
+ readonly 0: "0";
141
+ readonly 1: "0.25rem";
142
+ readonly 2: "0.5rem";
143
+ readonly 3: "0.75rem";
144
+ readonly 6: "1.5rem";
145
+ readonly 8: "2rem";
169
146
  }>;
170
147
  export type StarCiCoreSpacingStep = keyof typeof STARCI_CORE_SPACING_SCALE;
171
148
  export type StarCiCoreSpacingValue = (typeof STARCI_CORE_SPACING_SCALE)[StarCiCoreSpacingStep];
@@ -1 +1 @@
1
- {"version":3,"file":"dna.d.ts","sourceRoot":"","sources":["../../src/core/dna.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8GjB,CAAA;AAEX,kFAAkF;AAClF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;EAe3B,CAAA;AAEX,MAAM,MAAM,qBAAqB,GAAG,MAAM,OAAO,yBAAyB,CAAA;AAC1E,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,qBAAqB,CAAC,CAAA;AAE9F,mFAAmF;AACnF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCzB,CAAA;AAEX;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,4BAA4B;;;;;;EAM9B,CAAA;AAEX,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,OAAO,4BAA4B,CAAC,CAAA;AAEtH,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAA;AAClD,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAA;AAExG,sFAAsF;AACtF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCmB,CAAA;AAE1D,mFAAmF;AACnF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;EAmBuB,CAAA;AAEnE,MAAM,MAAM,uBAAuB,GAAG,OAAO,0BAA0B,CAAA"}
1
+ {"version":3,"file":"dna.d.ts","sourceRoot":"","sources":["../../src/core/dna.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8GjB,CAAA;AAEX,8FAA8F;AAC9F,eAAO,MAAM,yBAAyB;;;;;;;EAAuB,CAAA;AAE7D,MAAM,MAAM,qBAAqB,GAAG,MAAM,OAAO,yBAAyB,CAAA;AAC1E,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,qBAAqB,CAAC,CAAA;AAE9F,mFAAmF;AACnF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCzB,CAAA;AAEX;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,4BAA4B;;;;;;EAM9B,CAAA;AAEX,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,OAAO,4BAA4B,CAAC,CAAA;AAEtH,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAA;AAClD,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAA;AAExG,sFAAsF;AACtF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCmB,CAAA;AAE1D,mFAAmF;AACnF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;EAmBuB,CAAA;AAEnE,MAAM,MAAM,uBAAuB,GAAG,OAAO,0BAA0B,CAAA"}
package/dist/core/dna.js CHANGED
@@ -13,6 +13,7 @@
13
13
  * canvas (3.95:1) and a hair too light on the secondary surface (4.44:1). `accentSoft` is the
14
14
  * selected/soft tint that `accentText` and `muted` both stay AA on.
15
15
  */
16
+ import { COMMON_SPACING_SCALE } from "../common/spacing.js";
16
17
  export const STARCI_CORE_DNA = Object.freeze({
17
18
  id: "core",
18
19
  version: 1,
@@ -124,23 +125,8 @@ export const STARCI_CORE_DNA = Object.freeze({
124
125
  easing: "cubic-bezier(0.2, 0, 0, 1)",
125
126
  }),
126
127
  });
127
- /** Canonical 4px spacing scale shared by Core components and host composition. */
128
- export const STARCI_CORE_SPACING_SCALE = Object.freeze({
129
- "0": "0rem",
130
- "0.5": "0.125rem",
131
- "1": "0.25rem",
132
- "1.5": "0.375rem",
133
- "2": "0.5rem",
134
- "2.5": "0.625rem",
135
- "3": "0.75rem",
136
- "4": "1rem",
137
- "5": "1.25rem",
138
- "6": "1.5rem",
139
- "8": "2rem",
140
- "10": "2.5rem",
141
- "12": "3rem",
142
- "16": "4rem",
143
- });
128
+ /** The family spacing scale is Common's (common/spacing.ts): the family does not re-space. */
129
+ export const STARCI_CORE_SPACING_SCALE = COMMON_SPACING_SCALE;
144
130
  /** CSS custom-property contract for adapting Core without renaming its anatomy. */
145
131
  export const STARCI_CORE_TOKEN_NAMES = Object.freeze({
146
132
  accent: "--starci-core-accent",
@@ -1 +1 @@
1
- {"version":3,"file":"dna.js","sourceRoot":"","sources":["../../src/core/dna.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dna.js","sourceRoot":"","sources":["../../src/core/dna.ts"],"names":[],"mappings":"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"}
@@ -31,12 +31,17 @@ const ButtonControl = (props) => {
31
31
  const { children, variant: legacyVariant = "secondary", size = "md", startContent, endContent, isDisabled = false, isSkeleton = false, isPending = false, width = "content", reasonId, } = props;
32
32
  const variant = useButtonIntentVariant(props.intent, props.step, "button") ?? legacyVariant;
33
33
  const unavailable = isDisabled || isPending || isSkeleton;
34
+ // The side a glyph stands on takes the control's glyph padding (one step less): the glyph carries its own room.
35
+ const glyphSides = {
36
+ "data-grammar-button-start": (isPending && !isSkeleton) || startContent != null ? "glyph" : undefined,
37
+ "data-grammar-button-end": !(isPending && !isSkeleton) && endContent != null ? "glyph" : undefined,
38
+ };
34
39
  const content = (_jsxs(_Fragment, { children: [isPending && !isSkeleton ? _jsx(HeroSpinner, { size: "sm", color: "current", "aria-hidden": "true" }) : startContent, _jsx("span", { "aria-busy": isPending || undefined, children: children }), isPending && !isSkeleton ? null : endContent] }));
35
40
  if (props.href !== undefined) {
36
41
  const { href, target, rel, download, onFollow } = props;
37
- return (_jsx(HeroLink, { "data-tier": "atom", "data-component": "Button", "data-size": size, "data-grammar-control-size": size === "control" ? "control" : undefined, "data-element": unavailable ? "span" : "a", "data-loading": isSkeleton ? "true" : "false", "data-action-pending": isPending ? "true" : "false", isDisabled: unavailable, ...(reasonId === undefined ? {} : { "aria-describedby": reasonId }), "aria-busy": isPending || undefined, "aria-hidden": isSkeleton || undefined, "data-width": width, "data-contract": width === "fill" ? "MEASURE-2" : undefined, className: buttonVariants({ variant: VARIANTS[variant], size: SIZES[size], fullWidth: width === "fill", className: isSkeleton ? `starci-core-button ${SKELETON_CLASS_NAME}` : "starci-core-button" }), ...(unavailable ? {} : { href }), ...(target === undefined ? {} : { target }), ...(rel === undefined ? target === "_blank" ? { rel: "noopener noreferrer" } : {} : { rel }), ...(download === undefined ? {} : { download }), ...(onFollow === undefined || unavailable ? {} : { onClick: onFollow }), children: content }));
42
+ return (_jsx(HeroLink, { "data-tier": "atom", "data-component": "Button", "data-size": size, "data-grammar-control-size": size === "control" ? "control" : undefined, ...glyphSides, "data-element": unavailable ? "span" : "a", "data-loading": isSkeleton ? "true" : "false", "data-action-pending": isPending ? "true" : "false", isDisabled: unavailable, ...(reasonId === undefined ? {} : { "aria-describedby": reasonId }), "aria-busy": isPending || undefined, "aria-hidden": isSkeleton || undefined, "data-width": width, "data-contract": width === "fill" ? "MEASURE-2" : undefined, className: buttonVariants({ variant: VARIANTS[variant], size: SIZES[size], fullWidth: width === "fill", className: isSkeleton ? `starci-core-button ${SKELETON_CLASS_NAME}` : "starci-core-button" }), ...(unavailable ? {} : { href }), ...(target === undefined ? {} : { target }), ...(rel === undefined ? target === "_blank" ? { rel: "noopener noreferrer" } : {} : { rel }), ...(download === undefined ? {} : { download }), ...(onFollow === undefined || unavailable ? {} : { onClick: onFollow }), children: content }));
38
43
  }
39
44
  const { onPress, type = "button", form } = props;
40
- return (_jsx(HeroButton, { "data-tier": "atom", "data-component": "Button", "data-size": size, "data-grammar-control-size": size === "control" ? "control" : undefined, "data-element": "button", "data-loading": isSkeleton ? "true" : "false", "data-action-pending": isPending ? "true" : "false", type: type, ...(form === undefined ? {} : { form }), variant: VARIANTS[variant], size: SIZES[size], isDisabled: unavailable, ...(reasonId === undefined ? {} : { "aria-describedby": reasonId }), isPending: isPending, "data-width": width, "data-contract": width === "fill" ? "MEASURE-2" : undefined, fullWidth: width === "fill", ...(props["aria-pressed"] === undefined ? {} : { "aria-pressed": props["aria-pressed"] }), className: isSkeleton ? `starci-core-button ${SKELETON_CLASS_NAME}` : "starci-core-button", ...(unavailable || onPress === undefined ? {} : { onPress }), children: content }));
45
+ return (_jsx(HeroButton, { "data-tier": "atom", "data-component": "Button", "data-size": size, "data-grammar-control-size": size === "control" ? "control" : undefined, ...glyphSides, "data-element": "button", "data-loading": isSkeleton ? "true" : "false", "data-action-pending": isPending ? "true" : "false", type: type, ...(form === undefined ? {} : { form }), variant: VARIANTS[variant], size: SIZES[size], isDisabled: unavailable, ...(reasonId === undefined ? {} : { "aria-describedby": reasonId }), isPending: isPending, "data-width": width, "data-contract": width === "fill" ? "MEASURE-2" : undefined, fullWidth: width === "fill", ...(props["aria-pressed"] === undefined ? {} : { "aria-pressed": props["aria-pressed"] }), className: isSkeleton ? `starci-core-button ${SKELETON_CLASS_NAME}` : "starci-core-button", ...(unavailable || onPress === undefined ? {} : { onPress }), children: content }));
41
46
  };
42
47
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Button/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Button/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /** `live` data is arriving, `reconnecting` the link dropped and is being restored, `lost` it is down and no retry is running. */
2
+ export type ConnectionState = "live" | "reconnecting" | "lost";
3
+ export type ConnectionStatusProps = {
4
+ readonly state: ConnectionState;
5
+ /** The state in the app's words, e.g. "Live", "Reconnecting", "Connection lost". It is drawn and announced; the dot adds nothing to read. */
6
+ readonly label: string;
7
+ };
8
+ /**
9
+ * ATOM - `ConnectionStatus`: the state of a live feed (server-sent events, a socket) as a small dot and its words. It is a polite
10
+ * live region, so a change from `live` to `reconnecting` or `lost` is spoken without moving focus. The dot echoes while `live` and
11
+ * `reconnecting` (off under reduced motion) and stands still when `lost`; the words carry the state, never the colour alone.
12
+ * Contract: DOT-NAMED by its label, STATE-1 by `data-grammar-connection-state`.
13
+ */
14
+ export declare const ConnectionStatus: ({ state, label }: ConnectionStatusProps) => import("react").JSX.Element;
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/ConnectionStatus/index.tsx"],"names":[],"mappings":"AAEA,iIAAiI;AACjI,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,cAAc,GAAG,MAAM,CAAA;AAE9D,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,6IAA6I;IAC7I,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACzB,CAAA;AAQD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,kBAAkB,qBAAqB,gCAavE,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { StatusDotMark } from "../StatusDot/index.js";
3
+ const TONES = {
4
+ live: "success",
5
+ reconnecting: "warning",
6
+ lost: "danger",
7
+ };
8
+ /**
9
+ * ATOM - `ConnectionStatus`: the state of a live feed (server-sent events, a socket) as a small dot and its words. It is a polite
10
+ * live region, so a change from `live` to `reconnecting` or `lost` is spoken without moving focus. The dot echoes while `live` and
11
+ * `reconnecting` (off under reduced motion) and stands still when `lost`; the words carry the state, never the colour alone.
12
+ * Contract: DOT-NAMED by its label, STATE-1 by `data-grammar-connection-state`.
13
+ */
14
+ export const ConnectionStatus = ({ state, label }) => (_jsxs("span", { "aria-live": "polite", className: "starci-core-connection-status", "data-component": "ConnectionStatus", "data-contract": "STATE-1", "data-grammar-connection-state": state, "data-tier": "atom", role: "status", children: [_jsx(StatusDotMark, { echo: state !== "lost", tone: TONES[state] }), _jsx("span", { className: "starci-core-connection-status-label", children: label })] }));
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/ConnectionStatus/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAsB,MAAM,uBAAuB,CAAA;AAWzE,MAAM,KAAK,GAA2C;IAClD,IAAI,EAAE,SAAS;IACf,YAAY,EAAE,SAAS;IACvB,IAAI,EAAE,QAAQ;CACjB,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAyB,EAAE,EAAE,CAAC,CACzE,6BACc,QAAQ,EAClB,SAAS,EAAC,+BAA+B,oBAC1B,kBAAkB,mBACnB,SAAS,mCACQ,KAAK,eAC1B,MAAM,EAChB,IAAI,EAAC,QAAQ,aAEb,KAAC,aAAa,IAAC,IAAI,EAAE,KAAK,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,GAAI,EAC7D,eAAM,SAAS,EAAC,qCAAqC,YAAE,KAAK,GAAQ,IACjE,CACV,CAAA"}
@@ -1,3 +1,5 @@
1
+ /** The colour of the fill: the meaning of what is measured. `accent` is the default. */
2
+ export type ProgressTone = "accent" | "success" | "warning" | "danger" | "info";
1
3
  export type ProgressProps = {
2
4
  /** What the bar measures. Required because the visible bar has no drawn label. */
3
5
  readonly label: string;
@@ -13,9 +15,14 @@ export type ProgressProps = {
13
15
  readonly total: number;
14
16
  readonly completed: number;
15
17
  };
16
- /** Spoken value in step mode, e.g. "Step 3 of 5"; defaults to "completed / total". */
18
+ /**
19
+ * The spoken reading, e.g. "56 of 120 chunks, paused". In step mode it defaults to "completed / total"; on a bar it is
20
+ * `aria-valuetext`, and without it a screen reader reads the percentage.
21
+ */
17
22
  readonly valueText?: string;
23
+ /** The fill colour, from what the bar measures (a paused job `warning`, a failed one `danger`). Defaults to `accent`. */
24
+ readonly tone?: ProgressTone;
18
25
  };
19
26
  /** Accessible, full-width completion bar with an inert initial-loading shape. */
20
- export declare const Progress: ({ label, value, isSkeleton, steps, valueText }: ProgressProps) => import("react").JSX.Element;
27
+ export declare const Progress: ({ label, value, isSkeleton, steps, valueText, tone }: ProgressProps) => import("react").JSX.Element;
21
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Progress/index.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG;IACxB,kFAAkF;IAClF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,mFAAmF;IACnF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IACvE,sFAAsF;IACtF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAUD,iFAAiF;AACjF,eAAO,MAAM,QAAQ,GAAI,gDAA4D,aAAa,gCA8DjG,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Progress/index.tsx"],"names":[],"mappings":"AAEA,wFAAwF;AACxF,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE/E,MAAM,MAAM,aAAa,GAAG;IACxB,kFAAkF;IAClF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,mFAAmF;IACnF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IACvE;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,yHAAyH;IACzH,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAA;CAC/B,CAAA;AAUD,iFAAiF;AACjF,eAAO,MAAM,QAAQ,GAAI,sDAA6E,aAAa,gCAgElH,CAAA"}
@@ -8,15 +8,15 @@ const SKELETON_CLASS_NAME = skeletonVariants({ animationType: "shimmer" }).base(
8
8
  className: "starci-core-progress",
9
9
  });
10
10
  /** Accessible, full-width completion bar with an inert initial-loading shape. */
11
- export const Progress = ({ label, value = 0, isSkeleton = false, steps, valueText }) => {
11
+ export const Progress = ({ label, value = 0, isSkeleton = false, steps, valueText, tone = "accent" }) => {
12
12
  if (steps !== undefined && !isSkeleton) {
13
13
  const total = Math.max(1, Math.round(steps.total));
14
14
  const completed = Math.min(total, Math.max(0, Math.round(steps.completed)));
15
- return (_jsx(ProgressBar, { "aria-label": label, size: "sm", minValue: 0, maxValue: total, value: completed, valueLabel: valueText ?? `${completed} / ${total}`, "data-tier": "atom", "data-component": "Progress", "data-loading": "false", "data-grammar-progress-mode": "steps", "data-contract": "MEASURE-2", className: "starci-core-progress", children: _jsx(ProgressBar.Track, { className: "starci-core-progress-steps", style: { gridTemplateColumns: `repeat(${total}, minmax(0, 1fr))` }, children: Array.from({ length: total }, (_, index) => (_jsx("span", { "aria-hidden": true, className: "starci-core-progress-step", "data-grammar-progress-step": index < completed ? "done" : "todo" }, index))) }) }));
15
+ return (_jsx(ProgressBar, { "aria-label": label, size: "sm", minValue: 0, maxValue: total, value: completed, valueLabel: valueText ?? `${completed} / ${total}`, "data-tier": "atom", "data-component": "Progress", "data-loading": "false", "data-grammar-progress-mode": "steps", "data-grammar-progress-tone": tone, "data-contract": "MEASURE-2", className: "starci-core-progress", children: _jsx(ProgressBar.Track, { className: "starci-core-progress-steps", style: { gridTemplateColumns: `repeat(${total}, minmax(0, 1fr))` }, children: Array.from({ length: total }, (_, index) => (_jsx("span", { "aria-hidden": true, className: "starci-core-progress-step", "data-grammar-progress-step": index < completed ? "done" : "todo" }, index))) }) }));
16
16
  }
17
17
  if (isSkeleton) {
18
18
  return (_jsx("span", { "data-tier": "atom", "data-component": "Progress", "data-loading": "true", "aria-hidden": true, "data-contract": "MEASURE-2", className: SKELETON_CLASS_NAME }));
19
19
  }
20
- return (_jsx(ProgressBar, { "data-tier": "atom", "data-component": "Progress", "data-loading": "false", "aria-label": label, value: value, minValue: 0, maxValue: 100, color: "accent", size: "sm", "data-contract": "MEASURE-2", className: "starci-core-progress", children: _jsx(ProgressBar.Track, { children: _jsx(ProgressBar.Fill, {}) }) }));
20
+ return (_jsx(ProgressBar, { "data-tier": "atom", "data-component": "Progress", "data-loading": "false", "aria-label": label, value: value, minValue: 0, maxValue: 100, ...(valueText === undefined ? {} : { valueLabel: valueText }), "data-grammar-progress-tone": tone, size: "sm", "data-contract": "MEASURE-2", className: "starci-core-progress", children: _jsx(ProgressBar.Track, { children: _jsx(ProgressBar.Fill, {}) }) }));
21
21
  };
22
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Progress/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAkB7D;;;GAGG;AACH,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC;IAC5E,SAAS,EAAE,sBAAsB;CACpC,CAAC,CAAA;AAEF,iFAAiF;AACjF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,UAAU,GAAG,KAAK,EAAE,KAAK,EAAE,SAAS,EAAiB,EAAE,EAAE;IAClG,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC3E,OAAO,CACH,KAAC,WAAW,kBACI,KAAK,EACjB,IAAI,EAAC,IAAI,EACT,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,KAAK,EACf,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,SAAS,IAAI,GAAG,SAAS,MAAM,KAAK,EAAE,eACxC,MAAM,oBACD,UAAU,kBACZ,OAAO,gCACO,OAAO,mBACpB,WAAW,EACzB,SAAS,EAAC,sBAAsB,YAEhC,KAAC,WAAW,CAAC,KAAK,IAAC,SAAS,EAAC,4BAA4B,EAAC,KAAK,EAAE,EAAE,mBAAmB,EAAE,UAAU,KAAK,mBAAmB,EAAE,YACvH,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CACzC,oCAA8B,SAAS,EAAC,2BAA2B,gCAA6B,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAxH,KAAK,CAAuH,CAC1I,CAAC,GACc,GACV,CACjB,CAAA;IACL,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACb,OAAO,CACH,4BACc,MAAM,oBACD,UAAU,kBACZ,MAAM,wCAIL,WAAW,EACzB,SAAS,EAAE,mBAAmB,GAChC,CACL,CAAA;IACL,CAAC;IAED,OAAO,CACH,KAAC,WAAW,iBACE,MAAM,oBACD,UAAU,kBACZ,OAAO,gBACR,KAAK,EACjB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,GAAG,EACb,KAAK,EAAC,QAAQ,EACd,IAAI,EAAC,IAAI,mBAEK,WAAW,EACzB,SAAS,EAAC,sBAAsB,YAEhC,KAAC,WAAW,CAAC,KAAK,cACd,KAAC,WAAW,CAAC,IAAI,KAAG,GACJ,GACV,CACjB,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Progress/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AA0B7D;;;GAGG;AACH,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC;IAC5E,SAAS,EAAE,sBAAsB;CACpC,CAAC,CAAA;AAEF,iFAAiF;AACjF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,UAAU,GAAG,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,GAAG,QAAQ,EAAiB,EAAE,EAAE;IACnH,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC3E,OAAO,CACH,KAAC,WAAW,kBACI,KAAK,EACjB,IAAI,EAAC,IAAI,EACT,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,KAAK,EACf,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,SAAS,IAAI,GAAG,SAAS,MAAM,KAAK,EAAE,eACxC,MAAM,oBACD,UAAU,kBACZ,OAAO,gCACO,OAAO,gCACN,IAAI,mBAClB,WAAW,EACzB,SAAS,EAAC,sBAAsB,YAEhC,KAAC,WAAW,CAAC,KAAK,IAAC,SAAS,EAAC,4BAA4B,EAAC,KAAK,EAAE,EAAE,mBAAmB,EAAE,UAAU,KAAK,mBAAmB,EAAE,YACvH,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CACzC,oCAA8B,SAAS,EAAC,2BAA2B,gCAA6B,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAxH,KAAK,CAAuH,CAC1I,CAAC,GACc,GACV,CACjB,CAAA;IACL,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACb,OAAO,CACH,4BACc,MAAM,oBACD,UAAU,kBACZ,MAAM,wCAIL,WAAW,EACzB,SAAS,EAAE,mBAAmB,GAChC,CACL,CAAA;IACL,CAAC;IAED,OAAO,CACH,KAAC,WAAW,iBACE,MAAM,oBACD,UAAU,kBACZ,OAAO,gBACR,KAAK,EACjB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,GAAG,KACT,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,gCAClC,IAAI,EAChC,IAAI,EAAC,IAAI,mBAEK,WAAW,EACzB,SAAS,EAAC,sBAAsB,YAEhC,KAAC,WAAW,CAAC,KAAK,cACd,KAAC,WAAW,CAAC,IAAI,KAAG,GACJ,GACV,CACjB,CAAA;AACL,CAAC,CAAA"}
@@ -149,7 +149,7 @@
149
149
  .grammar-common-root[data-grammar-family="core"]
150
150
  .starci-core-surface-card[data-grammar-surface-labelled="true"][data-grammar-surface-placement="panel"][data-grammar-frame="bounded"]
151
151
  > [data-grammar-surface-label] {
152
- --starci-core-surface-label-padding: var(--grammar-card-padding-block, 1rem) var(--grammar-card-padding-inline, 1rem) 0;
152
+ --starci-core-surface-label-padding: var(--grammar-card-padding-block, 0.75rem) var(--grammar-card-padding-inline, 0.75rem) 0;
153
153
  }
154
154
 
155
155
  .grammar-common-root[data-grammar-family="core"]
@@ -344,7 +344,7 @@
344
344
 
345
345
  .grammar-common-root[data-grammar-family="offset-pop"] [data-component="Disclosure"] [data-grammar-disclosure-trigger],
346
346
  .grammar-common-root[data-grammar-family="offset-pop"] [data-component="Accordion"] [data-grammar-accordion-trigger] {
347
- padding-inline: 1rem;
347
+ padding-inline: var(--grammar-inset, 0.75rem);
348
348
  font-weight: 900;
349
349
  }
350
350
 
@@ -1,41 +1,3 @@
1
- /**
2
- * Stable visual identity shipped by the Offset Pop Grammar family.
3
- *
4
- * Same shape as `STARCI_CORE_DNA`, key for key, plus two family groups: `offset` (the hard
5
- * offset shadow and ink outline that make the family recognisable) and `palette` (the named
6
- * inks the semantic colours are drawn from). This is presentation data, not a registry of UI
7
- * laws, and it is product-neutral. Every value equals the default in `./styles.css`.
8
- *
9
- * WCAG 2.x contrast, recorded here:
10
- *
11
- * | pair | light | dark | need |
12
- * | -------------------------------------- | ----- | ----- | ---- |
13
- * | foreground on canvas | 16.86 | 17.47 | 4.5 |
14
- * | foreground on surface | 17.49 | 15.44 | 4.5 |
15
- * | foreground on surfaceSecondary | 13.78 | 12.80 | 4.5 |
16
- * | muted on canvas | 5.81 | 10.16 | 4.5 |
17
- * | muted on surface | 6.03 | 8.98 | 4.5 |
18
- * | muted on surfaceSecondary | 4.75 | 7.45 | 4.5 |
19
- * | accentForeground on accent | 5.23 | 5.23 | 4.5 |
20
- * | successForeground on success | 11.97 | 11.97 | 4.5 |
21
- * | warningForeground on warning | 12.49 | 12.49 | 4.5 |
22
- * | dangerForeground on danger | 4.72 | 4.72 | 4.5 |
23
- * | infoForeground on info | 13.50 | 13.50 | 4.5 |
24
- * | focus on canvas (non-text, 1.4.11) | 3.22 | 5.42 | 3 |
25
- * | focus on surface (non-text, 1.4.11) | 3.34 | 4.79 | 3 |
26
- * | accentText on canvas | 6.22 | 7.65 | 4.5 |
27
- * | accentText on surface | 6.45 | 6.76 | 4.5 |
28
- * | accentText on surfaceSecondary | 5.09 | 5.61 | 4.5 |
29
- * | accentText on blush (palette/info) | 4.98 | - | 4.5 |
30
- *
31
- * The accent foreground is the ink, not white: white on the family pink is 3.40:1, which fails
32
- * AA for button-size text. The same reasoning puts ink on the critical red (white is 3.77:1).
33
- * Pink as body-size TEXT on the light canvas is only 3.22:1, so `accent` stays the fill and the
34
- * focus ring and every place the accent paints text reads `accentText` instead: a deeper
35
- * raspberry in light, a lighter candy pink in dark. `accentText` and `accentSoft` (the selected
36
- * and soft tint, the blush secondary surface in light and the plum one in dark) mirror Core's
37
- * keys of the same names.
38
- */
39
1
  export declare const OFFSET_POP_DNA: Readonly<{
40
2
  readonly id: "offset-pop";
41
3
  readonly version: 1;
@@ -181,22 +143,14 @@ export declare const OFFSET_POP_DNA: Readonly<{
181
143
  critical: "#e84a5f";
182
144
  }>;
183
145
  }>;
184
- /** Canonical 4px spacing scale; the same values as Common and Core, which the family does not re-space. */
146
+ /** The family spacing scale is Common's (common/spacing.ts): the family does not re-space. */
185
147
  export declare const OFFSET_POP_SPACING_SCALE: Readonly<{
186
- readonly "0": "0rem";
187
- readonly "0.5": "0.125rem";
188
- readonly "1": "0.25rem";
189
- readonly "1.5": "0.375rem";
190
- readonly "2": "0.5rem";
191
- readonly "2.5": "0.625rem";
192
- readonly "3": "0.75rem";
193
- readonly "4": "1rem";
194
- readonly "5": "1.25rem";
195
- readonly "6": "1.5rem";
196
- readonly "8": "2rem";
197
- readonly "10": "2.5rem";
198
- readonly "12": "3rem";
199
- readonly "16": "4rem";
148
+ readonly 0: "0";
149
+ readonly 1: "0.25rem";
150
+ readonly 2: "0.5rem";
151
+ readonly 3: "0.75rem";
152
+ readonly 6: "1.5rem";
153
+ readonly 8: "2rem";
200
154
  }>;
201
155
  export type OffsetPopSpacingStep = keyof typeof OFFSET_POP_SPACING_SCALE;
202
156
  export type OffsetPopSpacingValue = (typeof OFFSET_POP_SPACING_SCALE)[OffsetPopSpacingStep];
@@ -1 +1 @@
1
- {"version":3,"file":"dna.d.ts","sourceRoot":"","sources":["../../src/offset-pop/dna.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4FnB,iGAAiG;;;;;;;;;;;;;QAajG,gGAAgG;;;;;;;;;;;;;EAa7F,CAAA;AAEX,2GAA2G;AAC3G,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;EAe1B,CAAA;AAEX,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,wBAAwB,CAAA;AACxE,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,oBAAoB,CAAC,CAAA;AAE3F,yFAAyF;AACzF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4CxB,CAAA;AAEX;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B;;;;;;EAM7B,CAAA;AAEX,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,OAAO,2BAA2B,CAAC,CAAA;AAEnH,MAAM,MAAM,YAAY,GAAG,OAAO,cAAc,CAAA;AAChD,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,OAAO,sBAAsB,CAAC,CAAA;AAErG,sFAAsF;AACtF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4CmB,CAAA;AAEzD,8GAA8G;AAC9G,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;EAoBuB,CAAA;AAElE,MAAM,MAAM,sBAAsB,GAAG,OAAO,yBAAyB,CAAA"}
1
+ {"version":3,"file":"dna.d.ts","sourceRoot":"","sources":["../../src/offset-pop/dna.ts"],"names":[],"mappings":"AAuCA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4FnB,iGAAiG;;;;;;;;;;;;;QAajG,gGAAgG;;;;;;;;;;;;;EAa7F,CAAA;AAEX,8FAA8F;AAC9F,eAAO,MAAM,wBAAwB;;;;;;;EAAuB,CAAA;AAE5D,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,wBAAwB,CAAA;AACxE,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,oBAAoB,CAAC,CAAA;AAE3F,yFAAyF;AACzF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4CxB,CAAA;AAEX;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B;;;;;;EAM7B,CAAA;AAEX,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,OAAO,2BAA2B,CAAC,CAAA;AAEnH,MAAM,MAAM,YAAY,GAAG,OAAO,cAAc,CAAA;AAChD,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,OAAO,sBAAsB,CAAC,CAAA;AAErG,sFAAsF;AACtF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4CmB,CAAA;AAEzD,8GAA8G;AAC9G,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;EAoBuB,CAAA;AAElE,MAAM,MAAM,sBAAsB,GAAG,OAAO,yBAAyB,CAAA"}
@@ -36,6 +36,7 @@
36
36
  * and soft tint, the blush secondary surface in light and the plum one in dark) mirror Core's
37
37
  * keys of the same names.
38
38
  */
39
+ import { COMMON_SPACING_SCALE } from "../common/spacing.js";
39
40
  export const OFFSET_POP_DNA = Object.freeze({
40
41
  id: "offset-pop",
41
42
  version: 1,
@@ -155,23 +156,8 @@ export const OFFSET_POP_DNA = Object.freeze({
155
156
  critical: "#e84a5f",
156
157
  }),
157
158
  });
158
- /** Canonical 4px spacing scale; the same values as Common and Core, which the family does not re-space. */
159
- export const OFFSET_POP_SPACING_SCALE = Object.freeze({
160
- "0": "0rem",
161
- "0.5": "0.125rem",
162
- "1": "0.25rem",
163
- "1.5": "0.375rem",
164
- "2": "0.5rem",
165
- "2.5": "0.625rem",
166
- "3": "0.75rem",
167
- "4": "1rem",
168
- "5": "1.25rem",
169
- "6": "1.5rem",
170
- "8": "2rem",
171
- "10": "2.5rem",
172
- "12": "3rem",
173
- "16": "4rem",
174
- });
159
+ /** The family spacing scale is Common's (common/spacing.ts): the family does not re-space. */
160
+ export const OFFSET_POP_SPACING_SCALE = COMMON_SPACING_SCALE;
175
161
  /** CSS custom-property contract for adapting Offset Pop without renaming its anatomy. */
176
162
  export const OFFSET_POP_TOKEN_NAMES = Object.freeze({
177
163
  accent: "--offset-pop-accent",