@starci/grammar 0.9.2 → 0.9.4
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/.build-stamp.json +4 -4
- package/dist/common/components-overlays.css +11 -4
- package/dist/common/registry.d.ts +2 -2
- package/dist/common/styles.css +80 -24
- package/dist/core/composite/ChatBubble/index.d.ts.map +1 -1
- package/dist/core/composite/ChatBubble/index.js +1 -1
- package/dist/core/composite/ChatBubble/index.js.map +1 -1
- package/dist/core/primitive/IconButton/index.d.ts +8 -3
- package/dist/core/primitive/IconButton/index.d.ts.map +1 -1
- package/dist/core/primitive/IconButton/index.js +2 -2
- package/dist/core/primitive/IconButton/index.js.map +1 -1
- package/dist/core/primitive/Progress/index.d.ts +11 -1
- package/dist/core/primitive/Progress/index.d.ts.map +1 -1
- package/dist/core/primitive/Progress/index.js +6 -1
- package/dist/core/primitive/Progress/index.js.map +1 -1
- package/package.json +2 -2
package/dist/.build-stamp.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "starci/grammar-build-stamp@1",
|
|
3
3
|
"package": "@starci/grammar",
|
|
4
|
-
"version": "0.9.
|
|
4
|
+
"version": "0.9.4",
|
|
5
5
|
"algorithm": "starci/grammar-source-digest@1",
|
|
6
|
-
"sourceDigest": "sha256:
|
|
7
|
-
"distDigest": "sha256:
|
|
8
|
-
"builtAt": "2026-10-
|
|
6
|
+
"sourceDigest": "sha256:107f77fffb6cc78fdfdfe649c5f7d40575d3e4a967b1f81f046de65e417e2df6",
|
|
7
|
+
"distDigest": "sha256:af11ab7bf48c7cd73ba5784e7a9f523ccdfb31a929f3df63dbfed027daa472c3",
|
|
8
|
+
"builtAt": "2026-10-11T11:58:36.353Z"
|
|
9
9
|
}
|
|
@@ -118,12 +118,19 @@
|
|
|
118
118
|
outline: none;
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
+
/* The vendor header is `flex flex-col`; the title group and the close action share one row, the action at the end. */
|
|
121
122
|
.starci-core-overlay-header {
|
|
122
|
-
display: flex;
|
|
123
|
+
display: flex !important;
|
|
123
124
|
min-width: 0;
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
125
|
+
flex-direction: row !important;
|
|
126
|
+
align-items: flex-start !important;
|
|
127
|
+
justify-content: space-between !important;
|
|
128
|
+
gap: var(--grammar-row-gap, 0.75rem) !important;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.starci-core-overlay-header > .starci-core-close-button {
|
|
132
|
+
flex: none;
|
|
133
|
+
margin-inline-start: auto;
|
|
127
134
|
}
|
|
128
135
|
|
|
129
136
|
.starci-core-overlay-heading-group {
|
|
@@ -73,7 +73,7 @@ export declare const COMMON_GRAMMAR_COMPONENTS: Readonly<{
|
|
|
73
73
|
readonly Heading: ({ children, level, scale, isSkeleton, isVisuallyHidden, }: import("./renderers.js").HeadingProps) => import("react").JSX.Element;
|
|
74
74
|
readonly HorizontalScrollRegion: import("react").ForwardRefExoticComponent<Omit<import("./renderers.js").HorizontalScrollRegionProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
75
75
|
readonly Icon: ({ source: Source, usage, ariaLabel, isSkeleton }: import("./renderers.js").IconProps) => import("react").JSX.Element;
|
|
76
|
-
readonly IconButton: ({ source, label, variant, isActive, isDisabled, isSkeleton, onPress, "aria-controls": controls, "aria-expanded": expanded, badge, badgeLabel, badgeMax, }: import("./renderers.js").IconButtonProps) => import("react").JSX.Element;
|
|
76
|
+
readonly IconButton: ({ source, label, variant, size, isFloating, isActive, isDisabled, isSkeleton, onPress, "aria-controls": controls, "aria-expanded": expanded, badge, badgeLabel, badgeMax, }: import("./renderers.js").IconButtonProps) => import("react").JSX.Element;
|
|
77
77
|
readonly IconTile: ({ source, artwork, ariaLabel, tone, size, isSkeleton, }: import("./renderers.js").IconTileProps) => import("react").JSX.Element;
|
|
78
78
|
readonly IncludedMark: ({ className, label, ...props }: import("./renderers.js").IncludedMarkProps) => import("react").JSX.Element;
|
|
79
79
|
readonly Input: ({ id, name, label, kind: kindName, variant, placeholder, defaultValue, value, hint, errorMessage, isError, isDisabled, isRequired, isSkeleton, isReadOnly, isCopyable, copyLabel, copiedLabel, copyIcon: CopyIcon, copiedIcon: CopiedIcon, onCopy, revealLabel, hideLabel, revealIcon: RevealIcon, hideIcon: HideIcon, onValueChange, }: import("./renderers.js").InputProps) => import("react").JSX.Element;
|
|
@@ -100,7 +100,7 @@ export declare const COMMON_GRAMMAR_COMPONENTS: Readonly<{
|
|
|
100
100
|
readonly PinnedActionBar: ({ children, label, visibility }: import("./renderers.js").PinnedActionBarProps) => import("react").JSX.Element;
|
|
101
101
|
readonly PressableField: ({ label, placeholder, source, shortcut, isDisabled, onPress }: import("./renderers.js").PressableFieldProps) => import("react").JSX.Element;
|
|
102
102
|
readonly PrimaryRailLayout: ({ primary, rail, railWidth, align, collapsedOrder, railPosition, className, }: import("./renderers.js").PrimaryRailLayoutProps) => import("react").JSX.Element;
|
|
103
|
-
readonly Progress: ({ label, value, isSkeleton }: import("./renderers.js").ProgressProps) => import("react").JSX.Element;
|
|
103
|
+
readonly Progress: ({ label, value, isSkeleton, steps, valueText }: import("./renderers.js").ProgressProps) => import("react").JSX.Element;
|
|
104
104
|
readonly Rail: (props: import("./renderers.js").RailProps) => import("react").JSX.Element;
|
|
105
105
|
readonly RankArtwork: ({ className, kind, label, ...props }: import("./renderers.js").RankArtworkProps) => import("react").JSX.Element;
|
|
106
106
|
readonly Region: (props: import("./renderers.js").RegionProps) => import("react").JSX.Element;
|
package/dist/common/styles.css
CHANGED
|
@@ -704,6 +704,8 @@
|
|
|
704
704
|
.starci-core-label {
|
|
705
705
|
min-width: 0;
|
|
706
706
|
margin: 0;
|
|
707
|
+
/* A label names what follows it: full foreground, never the muted tone a vendor body passes down (TONE). */
|
|
708
|
+
color: var(--foreground, CanvasText);
|
|
707
709
|
font-size: 0.875rem;
|
|
708
710
|
font-weight: 600;
|
|
709
711
|
line-height: 1.25rem;
|
|
@@ -1273,7 +1275,8 @@
|
|
|
1273
1275
|
.starci-core-list-row-copy {
|
|
1274
1276
|
display: flex;
|
|
1275
1277
|
min-width: 0;
|
|
1276
|
-
flex:
|
|
1278
|
+
/* Collapsed (flex) row: the copy keeps at least 12rem before the actions wrap under it (0.9.4). */
|
|
1279
|
+
flex: 1 1 12rem;
|
|
1277
1280
|
flex-direction: column;
|
|
1278
1281
|
gap: var(--starci-core-copy-gap, 0.25rem);
|
|
1279
1282
|
}
|
|
@@ -1309,7 +1312,8 @@
|
|
|
1309
1312
|
|
|
1310
1313
|
.starci-core-list-row-actions {
|
|
1311
1314
|
display: flex;
|
|
1312
|
-
|
|
1315
|
+
/* Stays at the end of the copy line while leading + 12rem copy + actions fit; wraps only when they do not (0.9.4). */
|
|
1316
|
+
flex: 0 1 auto;
|
|
1313
1317
|
flex-wrap: wrap;
|
|
1314
1318
|
align-items: center;
|
|
1315
1319
|
gap: var(--grammar-inline-gap, 0.5rem);
|
|
@@ -2738,11 +2742,6 @@
|
|
|
2738
2742
|
}
|
|
2739
2743
|
|
|
2740
2744
|
/* Region, List, ListItem: semantic page structure that draws nothing of its own. */
|
|
2741
|
-
.starci-core-region {
|
|
2742
|
-
display: block;
|
|
2743
|
-
min-width: 0;
|
|
2744
|
-
}
|
|
2745
|
-
|
|
2746
2745
|
.starci-core-region[data-grammar-region-spacing="spaced"] {
|
|
2747
2746
|
padding-block-end: 2rem;
|
|
2748
2747
|
}
|
|
@@ -2763,22 +2762,6 @@
|
|
|
2763
2762
|
overflow-x: auto;
|
|
2764
2763
|
}
|
|
2765
2764
|
|
|
2766
|
-
.starci-core-semantic-list {
|
|
2767
|
-
display: flex;
|
|
2768
|
-
flex-direction: column;
|
|
2769
|
-
gap: 0;
|
|
2770
|
-
margin: 0;
|
|
2771
|
-
padding: 0;
|
|
2772
|
-
list-style: none;
|
|
2773
|
-
}
|
|
2774
|
-
|
|
2775
|
-
.starci-core-semantic-list-item {
|
|
2776
|
-
display: block;
|
|
2777
|
-
min-width: 0;
|
|
2778
|
-
margin: 0;
|
|
2779
|
-
padding: 0;
|
|
2780
|
-
}
|
|
2781
|
-
|
|
2782
2765
|
/* The unlabelled hairline (0.6.0): BOUNDARY-1, one pixel of --separator across its container, no margin. */
|
|
2783
2766
|
.starci-core-divider-bare {
|
|
2784
2767
|
display: block;
|
|
@@ -2849,6 +2832,21 @@
|
|
|
2849
2832
|
border-radius: var(--starci-core-pill-radius, 999px) !important;
|
|
2850
2833
|
}
|
|
2851
2834
|
|
|
2835
|
+
.starci-core-icon-button[data-size="lg"] {
|
|
2836
|
+
width: 3.5rem !important;
|
|
2837
|
+
height: 3.5rem !important;
|
|
2838
|
+
min-width: 3.5rem !important;
|
|
2839
|
+
}
|
|
2840
|
+
|
|
2841
|
+
.starci-core-icon-button[data-size="lg"] > :is(svg, [data-slot="icon"]) {
|
|
2842
|
+
width: 1.5rem;
|
|
2843
|
+
height: 1.5rem;
|
|
2844
|
+
}
|
|
2845
|
+
|
|
2846
|
+
.starci-core-icon-button[data-floating="true"] {
|
|
2847
|
+
box-shadow: var(--overlay-shadow, 0 8px 24px rgb(0 0 0 / 0.16)) !important;
|
|
2848
|
+
}
|
|
2849
|
+
|
|
2852
2850
|
/* A count pinned to the glyph's top end corner; the plate never clips because the button keeps overflow visible. */
|
|
2853
2851
|
.starci-core-icon-button[data-grammar-icon-button-badge="present"] {
|
|
2854
2852
|
position: relative;
|
|
@@ -2924,6 +2922,32 @@
|
|
|
2924
2922
|
}
|
|
2925
2923
|
|
|
2926
2924
|
/* --- Progress: a HeroUI `ProgressBar`, and a resting bar of the same measure. --- */
|
|
2925
|
+
/* Step mode: one segment per step at the small bar's height (the vendor sm track, 0.25rem), filled up to the current step. */
|
|
2926
|
+
.starci-core-progress-steps {
|
|
2927
|
+
display: grid;
|
|
2928
|
+
width: 100%;
|
|
2929
|
+
gap: 0.25rem;
|
|
2930
|
+
}
|
|
2931
|
+
|
|
2932
|
+
.starci-core-progress-step {
|
|
2933
|
+
display: block;
|
|
2934
|
+
height: 0.25rem;
|
|
2935
|
+
border-radius: var(--radius-xs, 0.125rem);
|
|
2936
|
+
background: var(--default, var(--surface-secondary, GrayText));
|
|
2937
|
+
transition: background-color var(--starci-core-motion-duration, 150ms) cubic-bezier(0.4, 0, 0.2, 1);
|
|
2938
|
+
}
|
|
2939
|
+
|
|
2940
|
+
.starci-core-progress-step[data-grammar-progress-step="done"] { background: var(--accent, Highlight); }
|
|
2941
|
+
|
|
2942
|
+
@media (prefers-reduced-motion: reduce) {
|
|
2943
|
+
.starci-core-progress-step { transition: none; }
|
|
2944
|
+
}
|
|
2945
|
+
|
|
2946
|
+
@media (forced-colors: active) {
|
|
2947
|
+
.starci-core-progress-step { border: 1px solid CanvasText; }
|
|
2948
|
+
.starci-core-progress-step[data-grammar-progress-step="done"] { background: CanvasText; }
|
|
2949
|
+
}
|
|
2950
|
+
|
|
2927
2951
|
.starci-core-progress {
|
|
2928
2952
|
width: 100% !important;
|
|
2929
2953
|
}
|
|
@@ -3414,7 +3438,12 @@
|
|
|
3414
3438
|
outline-offset: 2px;
|
|
3415
3439
|
}
|
|
3416
3440
|
|
|
3417
|
-
|
|
3441
|
+
/*
|
|
3442
|
+
* A footer (an approval card, an attachment) takes the stack's full width; the stack of a message with a footer has a
|
|
3443
|
+
* definite width, so percentage widths inside the footer resolve instead of collapsing in a shrink-to-fit loop.
|
|
3444
|
+
*/
|
|
3445
|
+
.starci-core-chat-bubble[data-grammar-bubble-footer="true"] .starci-core-chat-bubble-stack { width: min(40rem, 85%); }
|
|
3446
|
+
.starci-core-chat-bubble-footer { align-self: stretch; width: 100%; min-width: 0; max-width: 100%; }
|
|
3418
3447
|
|
|
3419
3448
|
.starci-core-chat-bubble-actions {
|
|
3420
3449
|
display: flex;
|
|
@@ -3488,3 +3517,30 @@
|
|
|
3488
3517
|
.starci-core-mention-description { font-size: 0.75rem; color: var(--muted, GrayText); }
|
|
3489
3518
|
}
|
|
3490
3519
|
|
|
3520
|
+
/*
|
|
3521
|
+
* Element resets of the semantic structure primitives (0.9.4). They live in Tailwind's `base` layer, which a host declares before
|
|
3522
|
+
* `utilities`, so a className the app passes for layout (`flex`, `gap-3`, `py-3`, `grid`) wins over them; without one, the default
|
|
3523
|
+
* shape is unchanged. A host without Tailwind simply gets a `base` layer.
|
|
3524
|
+
*/
|
|
3525
|
+
@layer base {
|
|
3526
|
+
.starci-core-semantic-list {
|
|
3527
|
+
display: flex;
|
|
3528
|
+
flex-direction: column;
|
|
3529
|
+
gap: 0;
|
|
3530
|
+
margin: 0;
|
|
3531
|
+
padding: 0;
|
|
3532
|
+
list-style: none;
|
|
3533
|
+
}
|
|
3534
|
+
|
|
3535
|
+
.starci-core-semantic-list-item {
|
|
3536
|
+
display: block;
|
|
3537
|
+
min-width: 0;
|
|
3538
|
+
margin: 0;
|
|
3539
|
+
padding: 0;
|
|
3540
|
+
}
|
|
3541
|
+
|
|
3542
|
+
.starci-core-region {
|
|
3543
|
+
display: block;
|
|
3544
|
+
min-width: 0;
|
|
3545
|
+
}
|
|
3546
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/ChatBubble/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,wIAAwI;AACxI,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,UAAU,CAAA;AAEpD,MAAM,MAAM,eAAe,GAAG;IAC1B,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAA;IAC9B,6FAA6F;IAC7F,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,mHAAmH;IACnH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;IACzB,qEAAqE;IACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,2GAA2G;IAC3G,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;IAC5B,oHAAoH;IACpH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,sFAAsF;IACtF,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,kDAAkD;IAClD,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,qFAWxB,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/ChatBubble/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,wIAAwI;AACxI,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,UAAU,CAAA;AAEpD,MAAM,MAAM,eAAe,GAAG;IAC1B,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAA;IAC9B,6FAA6F;IAC7F,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,mHAAmH;IACnH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;IACzB,qEAAqE;IACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,2GAA2G;IAC3G,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;IAC5B,oHAAoH;IACpH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,sFAAsF;IACtF,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,kDAAkD;IAClD,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,qFAWxB,eAAe,gCA4BjB,CAAA"}
|
|
@@ -7,6 +7,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
7
7
|
*/
|
|
8
8
|
export const ChatBubble = ({ children, side = "incoming", author, avatar, meta, status, actions, footer, isHighlight = false, id, }) => {
|
|
9
9
|
const hasHead = author != null || meta != null || status != null;
|
|
10
|
-
return (_jsxs("div", { ...(id === undefined ? {} : { id }), className: "starci-core-chat-bubble", "data-component": "ChatBubble", "data-tier": "composite", "data-contract": "SURFACE-3 SURFACE-4 RADIUS-6", "data-grammar-bubble-side": side, "data-grammar-bubble-highlight": isHighlight ? "true" : "false", children: [avatar == null ? null : _jsx("div", { className: "starci-core-chat-bubble-avatar", children: avatar }), _jsxs("div", { className: "starci-core-chat-bubble-stack", children: [hasHead ? (_jsxs("div", { className: "starci-core-chat-bubble-head", children: [author == null ? null : _jsx("span", { className: "starci-core-chat-bubble-author", children: author }), status, meta == null ? null : _jsx("span", { className: "starci-core-chat-bubble-meta", children: meta })] })) : null, _jsx("div", { className: "starci-core-chat-bubble-body", children: children }), footer == null ? null : _jsx("div", { className: "starci-core-chat-bubble-footer", children: footer }), actions == null ? null : _jsx("div", { className: "starci-core-chat-bubble-actions", children: actions })] })] }));
|
|
10
|
+
return (_jsxs("div", { ...(id === undefined ? {} : { id }), className: "starci-core-chat-bubble", "data-component": "ChatBubble", "data-tier": "composite", "data-contract": "SURFACE-3 SURFACE-4 RADIUS-6", "data-grammar-bubble-side": side, "data-grammar-bubble-highlight": isHighlight ? "true" : "false", "data-grammar-bubble-footer": footer == null ? "false" : "true", children: [avatar == null ? null : _jsx("div", { className: "starci-core-chat-bubble-avatar", children: avatar }), _jsxs("div", { className: "starci-core-chat-bubble-stack", children: [hasHead ? (_jsxs("div", { className: "starci-core-chat-bubble-head", children: [author == null ? null : _jsx("span", { className: "starci-core-chat-bubble-author", children: author }), status, meta == null ? null : _jsx("span", { className: "starci-core-chat-bubble-meta", children: meta })] })) : null, _jsx("div", { className: "starci-core-chat-bubble-body", children: children }), footer == null ? null : _jsx("div", { className: "starci-core-chat-bubble-footer", children: footer }), actions == null ? null : _jsx("div", { className: "starci-core-chat-bubble-actions", children: actions })] })] }));
|
|
11
11
|
};
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/ChatBubble/index.tsx"],"names":[],"mappings":";AA2BA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACvB,QAAQ,EACR,IAAI,GAAG,UAAU,EACjB,MAAM,EACN,MAAM,EACN,IAAI,EACJ,MAAM,EACN,OAAO,EACP,MAAM,EACN,WAAW,GAAG,KAAK,EACnB,EAAE,GACY,EAAE,EAAE;IAClB,MAAM,OAAO,GAAG,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,CAAA;IAChE,OAAO,CACH,kBACQ,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EACpC,SAAS,EAAC,yBAAyB,oBACpB,YAAY,eACjB,WAAW,mBACP,8BAA8B,8BAClB,IAAI,mCACC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,aAE5D,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,gCAAgC,YAAE,MAAM,GAAO,EACvF,eAAK,SAAS,EAAC,+BAA+B,aACzC,OAAO,CAAC,CAAC,CAAC,CACP,eAAK,SAAS,EAAC,8BAA8B,aACxC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,gCAAgC,YAAE,MAAM,GAAQ,EACxF,MAAM,EACN,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,8BAA8B,YAAE,IAAI,GAAQ,IACjF,CACT,CAAC,CAAC,CAAC,IAAI,EACR,cAAK,SAAS,EAAC,8BAA8B,YAAE,QAAQ,GAAO,EAC7D,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,gCAAgC,YAAE,MAAM,GAAO,EACtF,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,iCAAiC,YAAE,OAAO,GAAO,IACxF,IACJ,CACT,CAAA;AACL,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/ChatBubble/index.tsx"],"names":[],"mappings":";AA2BA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACvB,QAAQ,EACR,IAAI,GAAG,UAAU,EACjB,MAAM,EACN,MAAM,EACN,IAAI,EACJ,MAAM,EACN,OAAO,EACP,MAAM,EACN,WAAW,GAAG,KAAK,EACnB,EAAE,GACY,EAAE,EAAE;IAClB,MAAM,OAAO,GAAG,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,CAAA;IAChE,OAAO,CACH,kBACQ,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EACpC,SAAS,EAAC,yBAAyB,oBACpB,YAAY,eACjB,WAAW,mBACP,8BAA8B,8BAClB,IAAI,mCACC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,gCACjC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,aAE5D,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,gCAAgC,YAAE,MAAM,GAAO,EACvF,eAAK,SAAS,EAAC,+BAA+B,aACzC,OAAO,CAAC,CAAC,CAAC,CACP,eAAK,SAAS,EAAC,8BAA8B,aACxC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,gCAAgC,YAAE,MAAM,GAAQ,EACxF,MAAM,EACN,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,8BAA8B,YAAE,IAAI,GAAQ,IACjF,CACT,CAAC,CAAC,CAAC,IAAI,EACR,cAAK,SAAS,EAAC,8BAA8B,YAAE,QAAQ,GAAO,EAC7D,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,gCAAgC,YAAE,MAAM,GAAO,EACtF,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,iCAAiC,YAAE,OAAO,GAAO,IACxF,IACJ,CACT,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -2,14 +2,19 @@ import { type IconSource } from "../Icon/index.js";
|
|
|
2
2
|
/**
|
|
3
3
|
* HeroUI Button variants an icon-only action wears: `tertiary` (default) is the filled round plate;
|
|
4
4
|
* `ghost` is the quiet bare glyph with no fill at rest (HeroUI's ghost: a fill only on hover/press) -
|
|
5
|
-
* for an overflow "..." menu or a secondary glyph action beside a card title.
|
|
5
|
+
* for an overflow "..." menu or a secondary glyph action beside a card title. `primary` is the accent-filled plate for the
|
|
6
|
+
* one glyph action that must stand out (a floating assistant or compose button); one per view, like a primary Button.
|
|
6
7
|
*/
|
|
7
|
-
export type IconButtonVariant = "tertiary" | "ghost";
|
|
8
|
+
export type IconButtonVariant = "tertiary" | "ghost" | "primary";
|
|
8
9
|
export type IconButtonProps = {
|
|
9
10
|
readonly source: IconSource;
|
|
10
11
|
/** Required accessible name for the glyph-only action. */
|
|
11
12
|
readonly label: string;
|
|
12
13
|
readonly variant?: IconButtonVariant;
|
|
14
|
+
/** `md` (default, 2.25rem) or `lg` (3.5rem), the size of a floating action. */
|
|
15
|
+
readonly size?: "md" | "lg";
|
|
16
|
+
/** Lifts the button with the overlay elevation, for an action floating over content (it owns no position). */
|
|
17
|
+
readonly isFloating?: boolean;
|
|
13
18
|
readonly isActive?: boolean;
|
|
14
19
|
readonly isDisabled?: boolean;
|
|
15
20
|
readonly isSkeleton?: boolean;
|
|
@@ -31,5 +36,5 @@ export type IconButtonProps = {
|
|
|
31
36
|
/** What the badge plate prints: nothing for 0 / empty, the capped number, or the given text. */
|
|
32
37
|
export declare const iconButtonBadgeText: (badge: number | string | undefined, max?: number) => string | null;
|
|
33
38
|
/** Circular glyph-only action with a mandatory accessible name (A11Y-2, ICON-5). */
|
|
34
|
-
export declare const IconButton: ({ source, label, variant, isActive, isDisabled, isSkeleton, onPress, "aria-controls": controls, "aria-expanded": expanded, badge, badgeLabel, badgeMax, }: IconButtonProps) => import("react").JSX.Element;
|
|
39
|
+
export declare const IconButton: ({ source, label, variant, size, isFloating, isActive, isDisabled, isSkeleton, onPress, "aria-controls": controls, "aria-expanded": expanded, badge, badgeLabel, badgeMax, }: IconButtonProps) => import("react").JSX.Element;
|
|
35
40
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/IconButton/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAExD
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/IconButton/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAExD;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAA;AAEhE,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAA;IACpC,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IAC3B,8GAA8G;IAC9G,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,sFAAsF;IACtF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,qEAAqE;IACrE,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAChC,iHAAiH;IACjH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED,gGAAgG;AAChG,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,YAAQ,KAAG,MAAM,GAAG,IAI3F,CAAA;AAQD,oFAAoF;AACpF,eAAO,MAAM,UAAU,GAAI,6KAexB,eAAe,gCA2BjB,CAAA"}
|
|
@@ -15,8 +15,8 @@ export const iconButtonBadgeText = (badge, max = 99) => {
|
|
|
15
15
|
*/
|
|
16
16
|
const SKELETON_CLASS_NAME = skeletonVariants({ animationType: "shimmer" }).base();
|
|
17
17
|
/** Circular glyph-only action with a mandatory accessible name (A11Y-2, ICON-5). */
|
|
18
|
-
export const IconButton = ({ source, label, variant = "tertiary", isActive = false, isDisabled = false, isSkeleton = false, onPress, "aria-controls": controls, "aria-expanded": expanded, badge, badgeLabel, badgeMax = 99, }) => {
|
|
18
|
+
export const IconButton = ({ source, label, variant = "tertiary", size = "md", isFloating = false, isActive = false, isDisabled = false, isSkeleton = false, onPress, "aria-controls": controls, "aria-expanded": expanded, badge, badgeLabel, badgeMax = 99, }) => {
|
|
19
19
|
const badgeText = isSkeleton ? null : iconButtonBadgeText(badge, badgeMax);
|
|
20
|
-
return (_jsxs(HeroButton, { "data-tier": "atom", "data-component": "IconButton", "data-contract": "A11Y-2 ICON-5", "data-active": isActive ? "true" : "false", "data-variant": variant, "data-loading": isSkeleton ? "true" : "false", type: "button", variant: variant, className: cn("starci-core-icon-button", isSkeleton ? SKELETON_CLASS_NAME : undefined) ?? "starci-core-icon-button", isIconOnly: true, isDisabled: isDisabled || isSkeleton, "aria-label": badgeText !== null && badgeLabel !== undefined ? `${label}, ${badgeLabel}` : label, "data-grammar-icon-button-badge": badgeText === null ? "none" : "present", ...(controls === undefined ? {} : { "aria-controls": controls }), ...(expanded === undefined ? {} : { "aria-expanded": expanded }), ...(isDisabled || isSkeleton || onPress === undefined ? {} : { onPress }), children: [isSkeleton ? null : _jsx(Icon, { source: source, usage: "leading" }), badgeText === null ? null : _jsx("span", { "aria-hidden": true, className: "starci-core-icon-button-badge", "data-contract": "TONE-2", children: badgeText })] }));
|
|
20
|
+
return (_jsxs(HeroButton, { "data-tier": "atom", "data-component": "IconButton", "data-contract": "A11Y-2 ICON-5", "data-active": isActive ? "true" : "false", "data-variant": variant, "data-size": size, "data-floating": isFloating ? "true" : "false", "data-loading": isSkeleton ? "true" : "false", type: "button", variant: variant, className: cn("starci-core-icon-button", isSkeleton ? SKELETON_CLASS_NAME : undefined) ?? "starci-core-icon-button", isIconOnly: true, isDisabled: isDisabled || isSkeleton, "aria-label": badgeText !== null && badgeLabel !== undefined ? `${label}, ${badgeLabel}` : label, "data-grammar-icon-button-badge": badgeText === null ? "none" : "present", ...(controls === undefined ? {} : { "aria-controls": controls }), ...(expanded === undefined ? {} : { "aria-expanded": expanded }), ...(isDisabled || isSkeleton || onPress === undefined ? {} : { onPress }), children: [isSkeleton ? null : _jsx(Icon, { source: source, usage: "leading" }), badgeText === null ? null : _jsx("span", { "aria-hidden": true, className: "starci-core-icon-button-badge", "data-contract": "TONE-2", children: badgeText })] }));
|
|
21
21
|
};
|
|
22
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/IconButton/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,EAAE,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAC1E,OAAO,EAAE,IAAI,EAAmB,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/IconButton/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,17 @@ export type ProgressProps = {
|
|
|
5
5
|
readonly value?: number;
|
|
6
6
|
/** Initial unresolved-content geometry, not a zero-valued measurement. */
|
|
7
7
|
readonly isSkeleton?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Step mode for a wizard: one segment per step at the bar's own height, the finished and current steps filled.
|
|
10
|
+
* `completed` counts filled segments (current step included); `value` is ignored in this mode.
|
|
11
|
+
*/
|
|
12
|
+
readonly steps?: {
|
|
13
|
+
readonly total: number;
|
|
14
|
+
readonly completed: number;
|
|
15
|
+
};
|
|
16
|
+
/** Spoken value in step mode, e.g. "Step 3 of 5"; defaults to "completed / total". */
|
|
17
|
+
readonly valueText?: string;
|
|
8
18
|
};
|
|
9
19
|
/** Accessible, full-width completion bar with an inert initial-loading shape. */
|
|
10
|
-
export declare const Progress: ({ label, value, isSkeleton }: ProgressProps) => import("react").JSX.Element;
|
|
20
|
+
export declare const Progress: ({ label, value, isSkeleton, steps, valueText }: ProgressProps) => import("react").JSX.Element;
|
|
11
21
|
//# 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;
|
|
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,gCA6DjG,CAAA"}
|
|
@@ -8,7 +8,12 @@ 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 }) => {
|
|
11
|
+
export const Progress = ({ label, value = 0, isSkeleton = false, steps, valueText }) => {
|
|
12
|
+
if (steps !== undefined && !isSkeleton) {
|
|
13
|
+
const total = Math.max(1, Math.round(steps.total));
|
|
14
|
+
const completed = Math.min(total, Math.max(0, Math.round(steps.completed)));
|
|
15
|
+
return (_jsx("div", { role: "progressbar", "aria-label": label, "aria-valuemin": 0, "aria-valuemax": total, "aria-valuenow": completed, "aria-valuetext": 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 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
|
+
}
|
|
12
17
|
if (isSkeleton) {
|
|
13
18
|
return (_jsx("span", { "data-tier": "atom", "data-component": "Progress", "data-loading": "true", "aria-hidden": true, "data-contract": "MEASURE-2", className: SKELETON_CLASS_NAME }));
|
|
14
19
|
}
|
|
@@ -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;
|
|
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,cACI,IAAI,EAAC,aAAa,gBACN,KAAK,mBACF,CAAC,mBACD,KAAK,mBACL,SAAS,oBACR,SAAS,IAAI,GAAG,SAAS,MAAM,KAAK,EAAE,eAC5C,MAAM,oBACD,UAAU,kBACZ,OAAO,gCACO,OAAO,mBACpB,WAAW,EACzB,SAAS,EAAC,iDAAiD,EAC3D,KAAK,EAAE,EAAE,mBAAmB,EAAE,UAAU,KAAK,mBAAmB,EAAE,YAEjE,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,GACA,CACT,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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@starci/grammar",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.4",
|
|
4
4
|
"description": "Reusable StarCi React components, compositions, and packaged visual DNA.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"starci",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"scripts": {
|
|
60
60
|
"build": "node scripts/clean.mjs && tsc -p tsconfig.build.json && node scripts/copy-css.mjs && node scripts/build-stamp.mjs",
|
|
61
61
|
"typecheck": "tsc -p tsconfig.build.json --noEmit && tsc -p tsconfig.stories.json",
|
|
62
|
-
"test": "npm run build && node --test src/common/index.spec.mjs src/core/index.spec.mjs src/offset-pop/index.spec.mjs src/package-boundary.spec.mjs && vitest run --config vitest.config.ts src/shipped-geometry.spec.ts src/core/shipped-claims.spec.tsx src/common/conformance.spec.ts src/common/styles.spec.ts src/core/family.spec.tsx src/core/styles.spec.ts src/core/surface-card-family.spec.tsx src/core/scrollable-surfaces.spec.tsx src/core/primitive/Badge/index.spec.tsx src/core/primitive/Button/index.spec.tsx src/core/primitive/Divider/index.spec.tsx src/core/primitive/Region/index.spec.tsx src/core/primitive/NavLandmark/index.spec.tsx src/core/primitive/List/index.spec.tsx src/core/primitive/Heading/index.spec.tsx src/core/primitive/Icon/index.spec.tsx src/core/primitive/IconButton/index.spec.tsx src/core/primitive/IconTile/index.spec.tsx src/core/primitive/Input/index.spec.tsx src/core/primitive/Input/copyable.spec.tsx src/core/composite/ChatBubble/index.spec.tsx src/core/composite/FillViewport/index.spec.tsx src/core/primitive/IconButton/badge.spec.tsx src/core/primitive/Textarea/mentions.spec.tsx src/core/v090.spec.tsx src/core/primitive/PressableField/index.spec.tsx src/core/primitive/Progress/index.spec.tsx src/core/primitive/Text/index.spec.tsx src/core/primitive/TextAction/index.spec.tsx src/core/primitive/Label/index.spec.tsx src/core/primitive/RankArtwork/index.spec.tsx src/core/composite/EmptyNotice/index.spec.tsx src/core/composite/ListRow/index.spec.tsx src/core/branch/Tabs/index.spec.tsx src/core/branch/Subnav/index.spec.tsx src/core/branch/Subnav/styles.spec.ts src/core/branch/Tooltip/index.spec.tsx src/core/composition/NavigationFeatureNav/index.spec.tsx src/core/composition/NavigationFeatureNav/styles.spec.ts src/core/composition/Sidebar/index.spec.tsx src/core/composition/Sidebar/styles.spec.ts src/core/composition/collapse.spec.tsx src/core/composition/WorkspaceShell/index.spec.tsx src/core/composition/ChatWorkspace/index.spec.tsx src/heritage/index.spec.tsx src/heritage/styles.spec.ts src/offset-pop/index.spec.tsx src/offset-pop/render.spec.tsx src/offset-pop/styles.spec.ts src/offset-pop/family.spec.tsx src/offset-pop/shipped-claims.spec.tsx src/offset-pop/surface-card-family.spec.tsx src/offset-pop/scrollable-surfaces.spec.tsx src/offset-pop/conformance.spec.ts src/core/branch/Accordion/index.spec.tsx src/core/branch/AlertDialog/index.spec.tsx src/core/branch/Calendar/index.spec.tsx src/core/branch/ComboBox/index.spec.tsx src/core/branch/DataTable/index.spec.tsx src/core/branch/DatePicker/index.spec.tsx src/core/branch/DateRangePicker/index.spec.tsx src/core/branch/Dialog/index.spec.tsx src/core/branch/Disclosure/index.spec.tsx src/core/branch/Drawer/index.spec.tsx src/core/branch/DropdownMenu/index.spec.tsx src/core/branch/ListBox/index.spec.tsx src/core/branch/Popover/index.spec.tsx src/core/branch/Select/index.spec.tsx src/core/branch/Toast/index.spec.tsx src/core/composite/Alert/index.spec.tsx src/core/composite/AvatarGroup/index.spec.tsx src/core/composite/Breadcrumbs/index.spec.tsx src/core/composite/ButtonGroup/index.spec.tsx src/core/composite/CheckboxGroup/index.spec.tsx src/core/composite/DescriptionList/index.spec.tsx src/core/composite/Fieldset/index.spec.tsx src/core/composite/Form/index.spec.tsx src/core/composite/Pagination/index.spec.tsx src/core/composite/RadioGroup/index.spec.tsx src/core/composite/SegmentedControl/index.spec.tsx src/core/composite/Stepper/index.spec.tsx src/core/composite/TagGroup/index.spec.tsx src/core/composite/Timeline/index.spec.tsx src/core/composition/BottomNav/index.spec.tsx src/core/composition/Footer/index.spec.tsx src/core/composition/TopBar/index.spec.tsx src/core/primitive/Avatar/index.spec.tsx src/core/primitive/Checkbox/index.spec.tsx src/core/primitive/CloseButton/index.spec.tsx src/core/primitive/DateField/index.spec.tsx src/core/primitive/Field/index.spec.tsx src/core/primitive/FileDropzone/index.spec.tsx src/core/primitive/Image/index.spec.tsx src/core/primitive/Kbd/index.spec.tsx src/core/primitive/Link/index.spec.tsx src/core/primitive/Meter/index.spec.tsx src/core/primitive/NumberField/index.spec.tsx src/core/primitive/ProgressCircle/index.spec.tsx src/core/primitive/Rating/index.spec.tsx src/core/primitive/SearchField/index.spec.tsx src/core/primitive/Skeleton/index.spec.tsx src/core/primitive/Slider/index.spec.tsx src/core/primitive/Spinner/index.spec.tsx src/core/primitive/Switch/index.spec.tsx src/core/primitive/Textarea/index.spec.tsx src/core/primitive/TimeField/index.spec.tsx src/offset-pop/components-forms.spec.ts src/offset-pop/components-navigation.spec.ts src/offset-pop/components-overlays.spec.ts src/core/branch/SurfaceCard/index.spec.tsx src/core/branch/SurfaceListCard/index.spec.tsx src/core/branch/SurfaceAccordionCard/index.spec.tsx src/core/branch/Rail/index.spec.tsx src/core/branch/MarkdownArticle/index.spec.tsx src/core/composite/VerticalScrollRegion/index.spec.tsx src/core/primitive/SectionHeader/index.spec.tsx src/core/primitive/PinnedActionBar/index.spec.tsx src/core/branch/SurfaceCard/ink.spec.ts src/core/data-component.spec.tsx src/core/OtpInput.spec.tsx src/core/field-variant.spec.tsx src/stories/catalog.spec.ts",
|
|
62
|
+
"test": "npm run build && node --test src/common/index.spec.mjs src/core/index.spec.mjs src/offset-pop/index.spec.mjs src/package-boundary.spec.mjs && vitest run --config vitest.config.ts src/shipped-geometry.spec.ts src/core/shipped-claims.spec.tsx src/common/conformance.spec.ts src/common/styles.spec.ts src/core/family.spec.tsx src/core/styles.spec.ts src/core/surface-card-family.spec.tsx src/core/scrollable-surfaces.spec.tsx src/core/primitive/Badge/index.spec.tsx src/core/primitive/Button/index.spec.tsx src/core/primitive/Divider/index.spec.tsx src/core/primitive/Region/index.spec.tsx src/core/primitive/NavLandmark/index.spec.tsx src/core/primitive/List/index.spec.tsx src/core/primitive/Heading/index.spec.tsx src/core/primitive/Icon/index.spec.tsx src/core/primitive/IconButton/index.spec.tsx src/core/primitive/IconTile/index.spec.tsx src/core/primitive/Input/index.spec.tsx src/core/primitive/Input/copyable.spec.tsx src/core/composite/ChatBubble/index.spec.tsx src/core/composite/FillViewport/index.spec.tsx src/core/primitive/IconButton/badge.spec.tsx src/core/primitive/Textarea/mentions.spec.tsx src/core/v090.spec.tsx src/core/v093.spec.tsx src/core/v094.spec.tsx src/core/primitive/PressableField/index.spec.tsx src/core/primitive/Progress/index.spec.tsx src/core/primitive/Text/index.spec.tsx src/core/primitive/TextAction/index.spec.tsx src/core/primitive/Label/index.spec.tsx src/core/primitive/RankArtwork/index.spec.tsx src/core/composite/EmptyNotice/index.spec.tsx src/core/composite/ListRow/index.spec.tsx src/core/branch/Tabs/index.spec.tsx src/core/branch/Subnav/index.spec.tsx src/core/branch/Subnav/styles.spec.ts src/core/branch/Tooltip/index.spec.tsx src/core/composition/NavigationFeatureNav/index.spec.tsx src/core/composition/NavigationFeatureNav/styles.spec.ts src/core/composition/Sidebar/index.spec.tsx src/core/composition/Sidebar/styles.spec.ts src/core/composition/collapse.spec.tsx src/core/composition/WorkspaceShell/index.spec.tsx src/core/composition/ChatWorkspace/index.spec.tsx src/heritage/index.spec.tsx src/heritage/styles.spec.ts src/offset-pop/index.spec.tsx src/offset-pop/render.spec.tsx src/offset-pop/styles.spec.ts src/offset-pop/family.spec.tsx src/offset-pop/shipped-claims.spec.tsx src/offset-pop/surface-card-family.spec.tsx src/offset-pop/scrollable-surfaces.spec.tsx src/offset-pop/conformance.spec.ts src/core/branch/Accordion/index.spec.tsx src/core/branch/AlertDialog/index.spec.tsx src/core/branch/Calendar/index.spec.tsx src/core/branch/ComboBox/index.spec.tsx src/core/branch/DataTable/index.spec.tsx src/core/branch/DatePicker/index.spec.tsx src/core/branch/DateRangePicker/index.spec.tsx src/core/branch/Dialog/index.spec.tsx src/core/branch/Disclosure/index.spec.tsx src/core/branch/Drawer/index.spec.tsx src/core/branch/DropdownMenu/index.spec.tsx src/core/branch/ListBox/index.spec.tsx src/core/branch/Popover/index.spec.tsx src/core/branch/Select/index.spec.tsx src/core/branch/Toast/index.spec.tsx src/core/composite/Alert/index.spec.tsx src/core/composite/AvatarGroup/index.spec.tsx src/core/composite/Breadcrumbs/index.spec.tsx src/core/composite/ButtonGroup/index.spec.tsx src/core/composite/CheckboxGroup/index.spec.tsx src/core/composite/DescriptionList/index.spec.tsx src/core/composite/Fieldset/index.spec.tsx src/core/composite/Form/index.spec.tsx src/core/composite/Pagination/index.spec.tsx src/core/composite/RadioGroup/index.spec.tsx src/core/composite/SegmentedControl/index.spec.tsx src/core/composite/Stepper/index.spec.tsx src/core/composite/TagGroup/index.spec.tsx src/core/composite/Timeline/index.spec.tsx src/core/composition/BottomNav/index.spec.tsx src/core/composition/Footer/index.spec.tsx src/core/composition/TopBar/index.spec.tsx src/core/primitive/Avatar/index.spec.tsx src/core/primitive/Checkbox/index.spec.tsx src/core/primitive/CloseButton/index.spec.tsx src/core/primitive/DateField/index.spec.tsx src/core/primitive/Field/index.spec.tsx src/core/primitive/FileDropzone/index.spec.tsx src/core/primitive/Image/index.spec.tsx src/core/primitive/Kbd/index.spec.tsx src/core/primitive/Link/index.spec.tsx src/core/primitive/Meter/index.spec.tsx src/core/primitive/NumberField/index.spec.tsx src/core/primitive/ProgressCircle/index.spec.tsx src/core/primitive/Rating/index.spec.tsx src/core/primitive/SearchField/index.spec.tsx src/core/primitive/Skeleton/index.spec.tsx src/core/primitive/Slider/index.spec.tsx src/core/primitive/Spinner/index.spec.tsx src/core/primitive/Switch/index.spec.tsx src/core/primitive/Textarea/index.spec.tsx src/core/primitive/TimeField/index.spec.tsx src/offset-pop/components-forms.spec.ts src/offset-pop/components-navigation.spec.ts src/offset-pop/components-overlays.spec.ts src/core/branch/SurfaceCard/index.spec.tsx src/core/branch/SurfaceListCard/index.spec.tsx src/core/branch/SurfaceAccordionCard/index.spec.tsx src/core/branch/Rail/index.spec.tsx src/core/branch/MarkdownArticle/index.spec.tsx src/core/composite/VerticalScrollRegion/index.spec.tsx src/core/primitive/SectionHeader/index.spec.tsx src/core/primitive/PinnedActionBar/index.spec.tsx src/core/branch/SurfaceCard/ink.spec.ts src/core/data-component.spec.tsx src/core/OtpInput.spec.tsx src/core/field-variant.spec.tsx src/stories/catalog.spec.ts",
|
|
63
63
|
"test:a11y": "vitest run --config vitest.a11y.config.ts",
|
|
64
64
|
"pack:check": "npm run build && node --test src/package-boundary.spec.mjs",
|
|
65
65
|
"prepack": "npm run typecheck && npm test",
|