@starci/grammar 0.5.0 → 0.5.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/README.md +4 -1
- package/dist/.build-stamp.json +4 -4
- package/dist/common/components-overlays.css +57 -34
- package/dist/common/registry.d.ts +2 -2
- package/dist/common/renderers-overlays.d.ts +2 -2
- package/dist/common/renderers-overlays.d.ts.map +1 -1
- package/dist/common/renderers-overlays.js.map +1 -1
- package/dist/common/styles.css +23 -6
- package/dist/core/CircleFill.d.ts +15 -0
- package/dist/core/CircleFill.d.ts.map +1 -0
- package/dist/core/CircleFill.js +11 -0
- package/dist/core/CircleFill.js.map +1 -0
- package/dist/core/composite/Alert/index.d.ts +2 -0
- package/dist/core/composite/Alert/index.d.ts.map +1 -1
- package/dist/core/composite/Alert/index.js +24 -1
- package/dist/core/composite/Alert/index.js.map +1 -1
- package/dist/core/dna.d.ts +5 -0
- package/dist/core/dna.d.ts.map +1 -1
- package/dist/core/dna.js +5 -0
- package/dist/core/dna.js.map +1 -1
- package/dist/core/index.d.ts +2 -2
- package/dist/core/primitive/Badge/index.d.ts +8 -2
- package/dist/core/primitive/Badge/index.d.ts.map +1 -1
- package/dist/core/primitive/Badge/index.js +5 -3
- package/dist/core/primitive/Badge/index.js.map +1 -1
- package/dist/core/primitive/Button/index.d.ts +6 -1
- package/dist/core/primitive/Button/index.d.ts.map +1 -1
- package/dist/core/primitive/Button/index.js +2 -0
- package/dist/core/primitive/Button/index.js.map +1 -1
- package/dist/core/primitive/Meter/index.d.ts +15 -1
- package/dist/core/primitive/Meter/index.d.ts.map +1 -1
- package/dist/core/primitive/Meter/index.js +16 -3
- package/dist/core/primitive/Meter/index.js.map +1 -1
- package/dist/core/styles.css +11 -0
- package/dist/offset-pop/components-overlays.css +21 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -178,7 +178,10 @@ renderers with prop-compatible versions and add extensions whose names don't col
|
|
|
178
178
|
`--heritage-*` or `--offset-pop-*`. It feeds those into the Common semantic variables that
|
|
179
179
|
renderers read: `--accent`, `--accent-foreground`, `--focus`, `--background`, `--surface`,
|
|
180
180
|
`--surface-secondary`, `--foreground`, `--muted`, `--border`, `--separator`, the status
|
|
181
|
-
colours and their foregrounds, radii and shadow.
|
|
181
|
+
colours and their foregrounds, radii and shadow. Core also publishes a tertiary face under its own
|
|
182
|
+
name, `--starci-surface-tertiary` (with `--starci-surface-tertiary-foreground`), fed by the knob
|
|
183
|
+
`--starci-core-surface-tertiary`; HeroUI's `--surface-tertiary` is left to Common and is never
|
|
184
|
+
re-bound by the family. To adjust a family, override its tokens on the
|
|
182
185
|
root, for example `<CoreGrammarRoot style={{ "--starci-core-accent": "#2f6bff" }}>`. The
|
|
183
186
|
`*_TOKEN_NAMES` / `*_TOKEN_DEFAULTS` exports are the supported list. Values are validated by the
|
|
184
187
|
family specs, not at runtime.
|
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.5.
|
|
4
|
+
"version": "0.5.4",
|
|
5
5
|
"algorithm": "starci/grammar-source-digest@1",
|
|
6
|
-
"sourceDigest": "sha256:
|
|
7
|
-
"distDigest": "sha256:
|
|
8
|
-
"builtAt": "2026-09-
|
|
6
|
+
"sourceDigest": "sha256:9be31831c46cb9a8ffc31fdda9b57181c53e12ab306c968ebca027adc989785f",
|
|
7
|
+
"distDigest": "sha256:280a0ae96d92a2e970329ac3aa56285661e38f814a77bd994a39ada6e40d97f4",
|
|
8
|
+
"builtAt": "2026-09-27T16:59:00.189Z"
|
|
9
9
|
}
|
|
@@ -586,55 +586,36 @@
|
|
|
586
586
|
}
|
|
587
587
|
|
|
588
588
|
/* ---------------------------------------------------------------- alert banner */
|
|
589
|
+
/*
|
|
590
|
+
* The Alert IS the HeroUI Alert (owner ruling 2026-09-27 alert-white-surface; @heroui/styles alert.css): a white
|
|
591
|
+
* bg-surface row with shadow-surface, px-4 py-3, radius min(32px, --radius-3xl), gap-4; the indicator a size-4
|
|
592
|
+
* glyph with p-1 and the title text-sm/6 medium, both in the tone's soft-foreground; a muted description. Grammar
|
|
593
|
+
* paints nothing over it (0.5.4: the tone tint, tone border, 12px radius, 20px indicator and overlay-tone indicator
|
|
594
|
+
* colour are gone). It only lets the row wrap at a narrow width so the action stays inside the surface.
|
|
595
|
+
*/
|
|
589
596
|
.starci-core-alert {
|
|
590
|
-
display: flex;
|
|
591
597
|
min-width: 0;
|
|
592
598
|
flex-wrap: wrap;
|
|
593
|
-
align-items: flex-start;
|
|
594
|
-
gap: var(--grammar-row-gap, 0.75rem);
|
|
595
|
-
padding: 0.75rem 1rem;
|
|
596
|
-
border: 1px solid color-mix(in srgb, var(--starci-core-overlay-tone) 40%, transparent);
|
|
597
|
-
border-radius: var(--starci-core-control-radius, 0.75rem);
|
|
598
|
-
background: color-mix(in srgb, var(--starci-core-overlay-tone) 10%, var(--surface, Canvas));
|
|
599
|
-
color: var(--surface-foreground, CanvasText);
|
|
600
|
-
}
|
|
601
|
-
|
|
602
|
-
.starci-core-alert-indicator {
|
|
603
|
-
display: inline-flex;
|
|
604
|
-
flex: none;
|
|
605
|
-
align-items: center;
|
|
606
|
-
justify-content: center;
|
|
607
|
-
width: 1.25rem;
|
|
608
|
-
height: 1.25rem;
|
|
609
|
-
margin-block-start: 0.0625rem;
|
|
610
|
-
color: var(--starci-core-overlay-tone);
|
|
611
|
-
}
|
|
612
|
-
|
|
613
|
-
.starci-core-alert-indicator > svg {
|
|
614
|
-
width: 100%;
|
|
615
|
-
height: 100%;
|
|
616
599
|
}
|
|
617
600
|
|
|
601
|
+
/* HeroUI sizes the content h-full; in a wrapped row that height is circular and pushes the action out of the
|
|
602
|
+
surface, so the content takes its own height. */
|
|
618
603
|
.starci-core-alert-content {
|
|
619
|
-
display: flex;
|
|
620
604
|
min-width: min(100%, 12rem);
|
|
605
|
+
height: auto;
|
|
621
606
|
flex: 1;
|
|
622
|
-
|
|
623
|
-
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
.starci-core-alert-indicator {
|
|
610
|
+
flex: none;
|
|
624
611
|
}
|
|
625
612
|
|
|
626
613
|
.starci-core-alert-title {
|
|
627
614
|
margin: 0;
|
|
628
|
-
font-size: 0.875rem;
|
|
629
|
-
font-weight: 600;
|
|
630
|
-
line-height: 1.4;
|
|
631
615
|
}
|
|
632
616
|
|
|
633
617
|
.starci-core-alert-description {
|
|
634
|
-
|
|
635
|
-
color: var(--muted, GrayText);
|
|
636
|
-
font-size: 0.875rem;
|
|
637
|
-
line-height: 1.5;
|
|
618
|
+
overflow-wrap: anywhere;
|
|
638
619
|
}
|
|
639
620
|
|
|
640
621
|
.starci-core-alert-actions {
|
|
@@ -890,6 +871,37 @@
|
|
|
890
871
|
transition: width var(--starci-core-motion-duration, 180ms) var(--starci-core-motion-easing, cubic-bezier(0.2, 0, 0, 1));
|
|
891
872
|
}
|
|
892
873
|
|
|
874
|
+
/*
|
|
875
|
+
* Segmented meter (owner ruling 2026-09-27): the track spans the full width of its container,
|
|
876
|
+
* like a Progress track, at HeroUI's h-1 (0.25rem, 4px) - thinner than the plain meter's h-2 -
|
|
877
|
+
* laid out as equal pill segments 0.25rem apart. The track itself goes transparent so the gaps
|
|
878
|
+
* read as gaps; each empty segment wears the track colour and each filled one the tone fill. The
|
|
879
|
+
* track is HeroUI's `.meter__track` (a `components`-layer rule declared after this layer:
|
|
880
|
+
* `h-2`, `bg-default`, `overflow-hidden`), and consumers import this sheet before or after
|
|
881
|
+
* the vendor's, so the four properties the segmented track re-cuts are `!important`; its width
|
|
882
|
+
* stays the vendor's full grid track. The segments are the package's own nodes.
|
|
883
|
+
*/
|
|
884
|
+
.starci-core-meter-segments {
|
|
885
|
+
display: flex !important;
|
|
886
|
+
overflow: visible !important;
|
|
887
|
+
height: 0.25rem !important;
|
|
888
|
+
gap: 0.25rem;
|
|
889
|
+
border-radius: 999px;
|
|
890
|
+
background: transparent !important;
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
.starci-core-meter-segment {
|
|
894
|
+
min-width: 0;
|
|
895
|
+
height: 100%;
|
|
896
|
+
flex: 1 1 0;
|
|
897
|
+
border-radius: inherit;
|
|
898
|
+
background: color-mix(in srgb, var(--foreground, CanvasText) 10%, transparent);
|
|
899
|
+
}
|
|
900
|
+
|
|
901
|
+
.starci-core-meter-segment[data-grammar-meter-segment="filled"] {
|
|
902
|
+
background: var(--starci-core-overlay-tone);
|
|
903
|
+
}
|
|
904
|
+
|
|
893
905
|
/* ---------------------------------------------------------------- reduced motion */
|
|
894
906
|
@media (prefers-reduced-motion: reduce) {
|
|
895
907
|
.starci-core-overlay-backdrop,
|
|
@@ -935,5 +947,16 @@
|
|
|
935
947
|
forced-color-adjust: none;
|
|
936
948
|
background: CanvasText;
|
|
937
949
|
}
|
|
950
|
+
|
|
951
|
+
.starci-core-meter-segment {
|
|
952
|
+
forced-color-adjust: none;
|
|
953
|
+
outline: 1px solid CanvasText;
|
|
954
|
+
outline-offset: -1px;
|
|
955
|
+
background: Canvas;
|
|
956
|
+
}
|
|
957
|
+
|
|
958
|
+
.starci-core-meter-segment[data-grammar-meter-segment="filled"] {
|
|
959
|
+
background: CanvasText;
|
|
960
|
+
}
|
|
938
961
|
}
|
|
939
962
|
}
|
|
@@ -34,7 +34,7 @@ export declare const COMMON_GRAMMAR_COMPONENTS: Readonly<{
|
|
|
34
34
|
readonly Drawer: ({ title, description, children, footer, trigger, closeLabel, placement, showHandle, isDismissable, isKeyboardDismissDisabled, ...openState }: import("./renderers-overlays.js").DrawerProps) => import("react").JSX.Element;
|
|
35
35
|
readonly DropdownMenu: ({ trigger, entries, onAction, placement, ...openState }: import("./renderers-overlays.js").DropdownMenuProps) => import("react").JSX.Element;
|
|
36
36
|
readonly Kbd: ({ keys }: import("./renderers-overlays.js").KbdProps) => import("react").JSX.Element;
|
|
37
|
-
readonly Meter: ({ label, value, minValue, maxValue, valueLabel, tone, isLabelHidden, }: import("./renderers-overlays.js").MeterProps) => import("react").JSX.Element;
|
|
37
|
+
readonly Meter: ({ label, value, minValue, maxValue, valueLabel, tone, isLabelHidden, segments, }: import("./renderers-overlays.js").MeterProps) => import("react").JSX.Element;
|
|
38
38
|
readonly Popover: ({ trigger, children, placement, showArrow, title, label, ...openState }: import("./renderers-overlays.js").PopoverProps) => import("react").JSX.Element;
|
|
39
39
|
readonly ProgressCircle: ({ label, value, isIndeterminate, size }: import("./renderers-overlays.js").ProgressCircleProps) => import("react").JSX.Element;
|
|
40
40
|
readonly Skeleton: ({ shape, lines, ratio, size }: import("./renderers-overlays.js").SkeletonProps) => import("react").JSX.Element;
|
|
@@ -61,7 +61,7 @@ export declare const COMMON_GRAMMAR_COMPONENTS: Readonly<{
|
|
|
61
61
|
readonly Switch: ({ value, isSelected, defaultSelected, onSelectedChange, ...field }: import("./renderers-forms.js").SwitchProps) => import("react").JSX.Element;
|
|
62
62
|
readonly Textarea: ({ id, placeholder, value, defaultValue, rows, maxLength, minLength, onValueChange, ...field }: import("./renderers-forms.js").TextareaProps) => import("react").JSX.Element;
|
|
63
63
|
readonly TimeField: ({ value, defaultValue, onValueChange, minValue, maxValue, granularity, hourCycle, ...field }: import("./renderers-forms.js").TimeFieldProps) => import("react").JSX.Element;
|
|
64
|
-
readonly Badge: ({ children, startContent, tone, isSkeleton }: import("./renderers.js").BadgeProps) => import("react").JSX.Element;
|
|
64
|
+
readonly Badge: ({ children, startContent, tone, isDot, isSkeleton }: import("./renderers.js").BadgeProps) => import("react").JSX.Element;
|
|
65
65
|
readonly Button: (props: import("./renderers.js").ButtonProps) => import("react").JSX.Element;
|
|
66
66
|
readonly ChatWorkspace: (props: import("./renderers.js").ChatWorkspaceProps) => import("react").JSX.Element;
|
|
67
67
|
readonly Divider: ({ label }: import("./renderers.js").DividerProps) => import("react").JSX.Element;
|
|
@@ -7,7 +7,7 @@ export { DEFAULT_TOAST_TIMEOUT, Toast, Toaster, createToastQueue, toastQueue, to
|
|
|
7
7
|
export { Alert, type AlertAction, type AlertProps, type AlertUrgency } from "../core/composite/Alert/index.js";
|
|
8
8
|
export { CloseButton, type CloseButtonProps, type CloseButtonSize } from "../core/primitive/CloseButton/index.js";
|
|
9
9
|
export { KBD_NAMED_KEYS, Kbd, type KbdNamedKey, type KbdProps } from "../core/primitive/Kbd/index.js";
|
|
10
|
-
export { Meter, type MeterProps } from "../core/primitive/Meter/index.js";
|
|
10
|
+
export { Meter, type MeterProps, type MeterSegments } from "../core/primitive/Meter/index.js";
|
|
11
11
|
export { ProgressCircle, type ProgressCircleProps, type ProgressCircleSize } from "../core/primitive/ProgressCircle/index.js";
|
|
12
12
|
export { Skeleton, type SkeletonProps, type SkeletonRatio, type SkeletonShape, type SkeletonSize } from "../core/primitive/Skeleton/index.js";
|
|
13
13
|
export { Spinner, type SpinnerProps, type SpinnerSize, type SpinnerTone } from "../core/primitive/Spinner/index.js";
|
|
@@ -21,7 +21,7 @@ export declare const COMMON_OVERLAYS_COMPONENTS: Readonly<{
|
|
|
21
21
|
readonly Drawer: ({ title, description, children, footer, trigger, closeLabel, placement, showHandle, isDismissable, isKeyboardDismissDisabled, ...openState }: import("./renderers-overlays.js").DrawerProps) => import("react").JSX.Element;
|
|
22
22
|
readonly DropdownMenu: ({ trigger, entries, onAction, placement, ...openState }: import("./renderers-overlays.js").DropdownMenuProps) => import("react").JSX.Element;
|
|
23
23
|
readonly Kbd: ({ keys }: import("./renderers-overlays.js").KbdProps) => import("react").JSX.Element;
|
|
24
|
-
readonly Meter: ({ label, value, minValue, maxValue, valueLabel, tone, isLabelHidden, }: import("./renderers-overlays.js").MeterProps) => import("react").JSX.Element;
|
|
24
|
+
readonly Meter: ({ label, value, minValue, maxValue, valueLabel, tone, isLabelHidden, segments, }: import("./renderers-overlays.js").MeterProps) => import("react").JSX.Element;
|
|
25
25
|
readonly Popover: ({ trigger, children, placement, showArrow, title, label, ...openState }: import("./renderers-overlays.js").PopoverProps) => import("react").JSX.Element;
|
|
26
26
|
readonly ProgressCircle: ({ label, value, isIndeterminate, size }: import("./renderers-overlays.js").ProgressCircleProps) => import("react").JSX.Element;
|
|
27
27
|
readonly Skeleton: ({ shape, lines, ratio, size }: import("./renderers-overlays.js").SkeletonProps) => import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderers-overlays.d.ts","sourceRoot":"","sources":["../../src/common/renderers-overlays.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AACxF,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9G,OAAO,EAAE,MAAM,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAC/F,OAAO,EACH,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,GAC7B,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAA;AACnG,OAAO,EACH,qBAAqB,EACrB,KAAK,EACL,OAAO,EACP,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,WAAW,GACnB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC9G,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,wCAAwC,CAAA;AACjH,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AACrG,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"renderers-overlays.d.ts","sourceRoot":"","sources":["../../src/common/renderers-overlays.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AACxF,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9G,OAAO,EAAE,MAAM,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAC/F,OAAO,EACH,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,GAC7B,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAA;AACnG,OAAO,EACH,qBAAqB,EACrB,KAAK,EACL,OAAO,EACP,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,WAAW,GACnB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC9G,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,wCAAwC,CAAA;AACjH,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AACrG,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAC7F,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;AAC7H,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAC7I,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,oCAAoC,CAAA;AACnH,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE/G,8EAA8E;AAC9E,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;EAG5B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderers-overlays.js","sourceRoot":"","sources":["../../src/common/renderers-overlays.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,qGAAqG;AACrG,kDAAkD;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAA;AACzD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAA;AACpE,OAAO,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAA;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAA;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAA;AAE5D,OAAO,EAAE,WAAW,EAAyB,MAAM,qCAAqC,CAAA;AACxF,OAAO,EAAE,MAAM,EAAyD,MAAM,gCAAgC,CAAA;AAC9G,OAAO,EAAE,MAAM,EAA0C,MAAM,gCAAgC,CAAA;AAC/F,OAAO,EACH,YAAY,GAQf,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,OAAO,EAA4C,MAAM,iCAAiC,CAAA;AACnG,OAAO,EACH,qBAAqB,EACrB,KAAK,EACL,OAAO,EACP,gBAAgB,EAChB,UAAU,EACV,eAAe,GAQlB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,KAAK,EAAwD,MAAM,kCAAkC,CAAA;AAC9G,OAAO,EAAE,WAAW,EAA+C,MAAM,wCAAwC,CAAA;AACjH,OAAO,EAAE,cAAc,EAAE,GAAG,EAAmC,MAAM,gCAAgC,CAAA;AACrG,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"renderers-overlays.js","sourceRoot":"","sources":["../../src/common/renderers-overlays.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,qGAAqG;AACrG,kDAAkD;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAA;AACzD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAA;AACpE,OAAO,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAA;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAA;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAA;AAE5D,OAAO,EAAE,WAAW,EAAyB,MAAM,qCAAqC,CAAA;AACxF,OAAO,EAAE,MAAM,EAAyD,MAAM,gCAAgC,CAAA;AAC9G,OAAO,EAAE,MAAM,EAA0C,MAAM,gCAAgC,CAAA;AAC/F,OAAO,EACH,YAAY,GAQf,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EAAE,OAAO,EAA4C,MAAM,iCAAiC,CAAA;AACnG,OAAO,EACH,qBAAqB,EACrB,KAAK,EACL,OAAO,EACP,gBAAgB,EAChB,UAAU,EACV,eAAe,GAQlB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,KAAK,EAAwD,MAAM,kCAAkC,CAAA;AAC9G,OAAO,EAAE,WAAW,EAA+C,MAAM,wCAAwC,CAAA;AACjH,OAAO,EAAE,cAAc,EAAE,GAAG,EAAmC,MAAM,gCAAgC,CAAA;AACrG,OAAO,EAAE,KAAK,EAAuC,MAAM,kCAAkC,CAAA;AAC7F,OAAO,EAAE,cAAc,EAAqD,MAAM,2CAA2C,CAAA;AAC7H,OAAO,EAAE,QAAQ,EAAiF,MAAM,qCAAqC,CAAA;AAC7I,OAAO,EAAE,OAAO,EAAyD,MAAM,oCAAoC,CAAA;AACnH,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAyB,MAAM,yBAAyB,CAAA;AAE/G,8EAA8E;AAC9E,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAAC;IACpD,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO;IAClF,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO;CAC3C,CAAC,CAAA"}
|
package/dist/common/styles.css
CHANGED
|
@@ -253,15 +253,17 @@
|
|
|
253
253
|
.starci-core-section-header {
|
|
254
254
|
display: flex;
|
|
255
255
|
min-width: 0;
|
|
256
|
+
flex-wrap: wrap;
|
|
256
257
|
align-items: flex-end;
|
|
257
258
|
justify-content: space-between;
|
|
258
259
|
gap: var(--starci-core-region-gap, 1.5rem);
|
|
259
260
|
}
|
|
260
261
|
|
|
262
|
+
/* The copy keeps a readable basis, so a narrow header wraps its action below instead of crushing the copy. */
|
|
261
263
|
.starci-core-section-header-copy {
|
|
262
264
|
display: flex;
|
|
263
265
|
min-width: 0;
|
|
264
|
-
flex: 1;
|
|
266
|
+
flex: 1 1 min(100%, 20rem);
|
|
265
267
|
flex-direction: column;
|
|
266
268
|
gap: 0.5rem;
|
|
267
269
|
}
|
|
@@ -270,18 +272,24 @@
|
|
|
270
272
|
margin: 0;
|
|
271
273
|
max-width: 100%;
|
|
272
274
|
color: var(--starci-core-foreground, var(--foreground, CanvasText));
|
|
273
|
-
font
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
275
|
+
/* The type scale (knowledge/ui/presentation/font.yaml): the page title is FONT-4 (20/28), a section title
|
|
276
|
+
FONT-3 (16/24); both 600 - the public weights are 400/500/600. */
|
|
277
|
+
font-size: 1.25rem;
|
|
278
|
+
font-weight: 600;
|
|
279
|
+
line-height: 1.75rem;
|
|
277
280
|
overflow-wrap: anywhere;
|
|
278
281
|
text-wrap: balance;
|
|
279
282
|
}
|
|
280
283
|
|
|
284
|
+
:is(h2, h3, h4, h5, h6).starci-core-section-title {
|
|
285
|
+
font-size: 1rem;
|
|
286
|
+
line-height: 1.5rem;
|
|
287
|
+
}
|
|
288
|
+
|
|
281
289
|
.starci-core-section-eyebrow {
|
|
282
290
|
color: var(--starci-core-accent, var(--accent, Highlight));
|
|
283
291
|
font-size: 0.75rem;
|
|
284
|
-
font-weight:
|
|
292
|
+
font-weight: 600;
|
|
285
293
|
letter-spacing: 0.08em;
|
|
286
294
|
line-height: 1.25rem;
|
|
287
295
|
text-transform: uppercase;
|
|
@@ -2884,5 +2892,14 @@
|
|
|
2884
2892
|
}
|
|
2885
2893
|
}
|
|
2886
2894
|
|
|
2895
|
+
/* Badge isDot: HeroUI's Chip dot (`<CircleFill width={6} />`), a 6px solid circle in the tone colour. */
|
|
2896
|
+
.starci-core-badge-dot {
|
|
2897
|
+
display: inline-block;
|
|
2898
|
+
width: 6px;
|
|
2899
|
+
height: 6px;
|
|
2900
|
+
flex: none;
|
|
2901
|
+
color: inherit;
|
|
2902
|
+
}
|
|
2903
|
+
|
|
2887
2904
|
}
|
|
2888
2905
|
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Props for the filled-circle glyph: its rendered box, in CSS pixels. */
|
|
2
|
+
export type CircleFillProps = {
|
|
3
|
+
readonly width?: number;
|
|
4
|
+
readonly className?: string;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* A solid circle in `currentColor`: the status dot HeroUI's Chip examples draw with `<CircleFill width={6} />`.
|
|
8
|
+
*
|
|
9
|
+
* Upstream Heroicons has no filled circle, so the Grammar draws this plain geometric mark itself, cut the
|
|
10
|
+
* way StarCi's registered custom micro glyphs are (`@starci/heroicons` 16/solid `CircleIcon`): a 16 x 16
|
|
11
|
+
* viewBox, `fill="currentColor"`, `data-slot="icon"`. It is decorative only (ICON-6): always `aria-hidden`,
|
|
12
|
+
* never focusable; the words beside it carry the meaning.
|
|
13
|
+
*/
|
|
14
|
+
export declare const CircleFill: ({ width, className }: CircleFillProps) => import("react").JSX.Element;
|
|
15
|
+
//# sourceMappingURL=CircleFill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CircleFill.d.ts","sourceRoot":"","sources":["../../src/core/CircleFill.tsx"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,GAAI,sBAA0B,eAAe,gCAcnE,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* A solid circle in `currentColor`: the status dot HeroUI's Chip examples draw with `<CircleFill width={6} />`.
|
|
4
|
+
*
|
|
5
|
+
* Upstream Heroicons has no filled circle, so the Grammar draws this plain geometric mark itself, cut the
|
|
6
|
+
* way StarCi's registered custom micro glyphs are (`@starci/heroicons` 16/solid `CircleIcon`): a 16 x 16
|
|
7
|
+
* viewBox, `fill="currentColor"`, `data-slot="icon"`. It is decorative only (ICON-6): always `aria-hidden`,
|
|
8
|
+
* never focusable; the words beside it carry the meaning.
|
|
9
|
+
*/
|
|
10
|
+
export const CircleFill = ({ width = 6, className }) => (_jsx("svg", { "aria-hidden": "true", className: className, "data-slot": "icon", fill: "currentColor", focusable: "false", height: width, viewBox: "0 0 16 16", width: width, xmlns: "http://www.w3.org/2000/svg", children: _jsx("circle", { cx: "8", cy: "8", r: "8" }) }));
|
|
11
|
+
//# sourceMappingURL=CircleFill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CircleFill.js","sourceRoot":"","sources":["../../src/core/CircleFill.tsx"],"names":[],"mappings":";AAMA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,SAAS,EAAmB,EAAE,EAAE,CAAC,CACrE,6BACgB,MAAM,EAClB,SAAS,EAAE,SAAS,eACV,MAAM,EAChB,IAAI,EAAC,cAAc,EACnB,SAAS,EAAC,OAAO,EACjB,MAAM,EAAE,KAAK,EACb,OAAO,EAAC,WAAW,EACnB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAC,4BAA4B,YAElC,iBAAQ,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,GAAG,GAC5B,CACT,CAAA"}
|
|
@@ -33,6 +33,8 @@ export type AlertProps = AlertBase & (Dismissible | Permanent);
|
|
|
33
33
|
* It is not an overlay: it takes layout space and stays until resolved or dismissed. Dismissal is
|
|
34
34
|
* uncontrolled (the banner removes itself) and `onDismiss` reports it. Tone is echoed on
|
|
35
35
|
* `data-grammar-tone`; the vendor status supplies the default glyph, `pending` swaps it for a spinner.
|
|
36
|
+
* The action Button's variant follows the tone (`alertActionVariantFor`, after HeroUI's Alert examples):
|
|
37
|
+
* informative (accent) -> `primary`, negative (danger) -> `danger`, every other tone -> `secondary`.
|
|
36
38
|
* Contract: root FEEDBACK-3 (status/alert urgency on the owner); actions FEEDBACK-2 (recovery in place).
|
|
37
39
|
*/
|
|
38
40
|
export declare const Alert: (props: AlertProps) => import("react").JSX.Element | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/Alert/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAKjE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,WAAW,CAAA;AAEjD,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;CAChC,CAAA;AAED,KAAK,SAAS,GAAG;IACb,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAA;IAChC,mEAAmE;IACnE,QAAQ,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAC7B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAClC,CAAA;AAED,yFAAyF;AACzF,KAAK,WAAW,GAAG;IACf,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CAClC,CAAA;AAED,KAAK,SAAS,GAAG;IACb,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/Alert/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAKjE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,WAAW,CAAA;AAEjD,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;CAChC,CAAA;AAED,KAAK,SAAS,GAAG;IACb,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAA;IAChC,mEAAmE;IACnE,QAAQ,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;IAC7B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAClC,CAAA;AAED,yFAAyF;AACzF,KAAK,WAAW,GAAG;IACf,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CAClC,CAAA;AAED,KAAK,SAAS,GAAG;IACb,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,CAAA;AAsB9D;;;;;;;;;GASG;AACH,eAAO,MAAM,KAAK,GAAI,OAAO,UAAU,uCA2CtC,CAAA"}
|
|
@@ -4,12 +4,35 @@ import { useState } from "react";
|
|
|
4
4
|
import { vendorStatusFor } from "../../overlayScope.js";
|
|
5
5
|
import { Button } from "../../primitive/Button/index.js";
|
|
6
6
|
import { CloseButton } from "../../primitive/CloseButton/index.js";
|
|
7
|
+
/**
|
|
8
|
+
* The action Button variant an Alert tone takes, as HeroUI v3's own Alert examples pair them: the accent
|
|
9
|
+
* Alert carries a `primary` Button ("Refresh"), the danger Alert a `danger` Button ("Retry"). HeroUI has no
|
|
10
|
+
* success or warning Button variant, so every other tone keeps `secondary`.
|
|
11
|
+
*
|
|
12
|
+
* | tone (PresentationState) | vendor status | action variant |
|
|
13
|
+
* | ------------------------ | ------------- | -------------- |
|
|
14
|
+
* | informative | accent | primary |
|
|
15
|
+
* | negative | danger | danger |
|
|
16
|
+
* | affirmative | success | secondary |
|
|
17
|
+
* | cautionary | warning | secondary |
|
|
18
|
+
* | neutral / pending / unavailable | default | secondary |
|
|
19
|
+
*/
|
|
20
|
+
const alertActionVariantFor = (tone) => {
|
|
21
|
+
const status = vendorStatusFor(tone);
|
|
22
|
+
if (status === "accent")
|
|
23
|
+
return "primary";
|
|
24
|
+
if (status === "danger")
|
|
25
|
+
return "danger";
|
|
26
|
+
return "secondary";
|
|
27
|
+
};
|
|
7
28
|
/**
|
|
8
29
|
* COMPOSITE - `Alert`: an inline, in-flow banner about the region it sits in.
|
|
9
30
|
*
|
|
10
31
|
* It is not an overlay: it takes layout space and stays until resolved or dismissed. Dismissal is
|
|
11
32
|
* uncontrolled (the banner removes itself) and `onDismiss` reports it. Tone is echoed on
|
|
12
33
|
* `data-grammar-tone`; the vendor status supplies the default glyph, `pending` swaps it for a spinner.
|
|
34
|
+
* The action Button's variant follows the tone (`alertActionVariantFor`, after HeroUI's Alert examples):
|
|
35
|
+
* informative (accent) -> `primary`, negative (danger) -> `danger`, every other tone -> `secondary`.
|
|
13
36
|
* Contract: root FEEDBACK-3 (status/alert urgency on the owner); actions FEEDBACK-2 (recovery in place).
|
|
14
37
|
*/
|
|
15
38
|
export const Alert = (props) => {
|
|
@@ -22,6 +45,6 @@ export const Alert = (props) => {
|
|
|
22
45
|
setIsDismissed(true);
|
|
23
46
|
props.onDismiss?.();
|
|
24
47
|
};
|
|
25
|
-
return (_jsxs(HeroAlert, { "data-tier": "composite", "data-component": "Alert", "data-grammar-tone": tone, "data-urgency": resolvedUrgency, "data-contract": "FEEDBACK-3", role: resolvedUrgency === "assertive" ? "alert" : "status", status: vendorStatusFor(tone), className: "starci-core-alert", children: [_jsx(HeroAlert.Indicator, { className: "starci-core-alert-indicator", children: tone === "pending" ? _jsx(HeroSpinner, { "aria-hidden": "true", role: "presentation", size: "sm", color: "current" }) : undefined }), _jsxs(HeroAlert.Content, { className: "starci-core-alert-content", children: [_jsx(HeroAlert.Title, { className: "starci-core-alert-title", children: title }), description === undefined ? null : (_jsx(HeroAlert.Description, { className: "starci-core-alert-description", children: description }))] }), action === undefined && props.dismissLabel === undefined ? null : (_jsxs("span", { className: "starci-core-alert-actions", "data-grammar-alert-actions": "true", "data-contract": "FEEDBACK-2", children: [action === undefined ? null : (_jsx(Button, { size: "sm", variant:
|
|
48
|
+
return (_jsxs(HeroAlert, { "data-tier": "composite", "data-component": "Alert", "data-grammar-tone": tone, "data-urgency": resolvedUrgency, "data-contract": "FEEDBACK-3", role: resolvedUrgency === "assertive" ? "alert" : "status", status: vendorStatusFor(tone), className: "starci-core-alert", children: [_jsx(HeroAlert.Indicator, { className: "starci-core-alert-indicator", children: tone === "pending" ? _jsx(HeroSpinner, { "aria-hidden": "true", role: "presentation", size: "sm", color: "current" }) : undefined }), _jsxs(HeroAlert.Content, { className: "starci-core-alert-content", children: [_jsx(HeroAlert.Title, { className: "starci-core-alert-title", children: title }), description === undefined ? null : (_jsx(HeroAlert.Description, { className: "starci-core-alert-description", children: description }))] }), action === undefined && props.dismissLabel === undefined ? null : (_jsxs("span", { className: "starci-core-alert-actions", "data-grammar-alert-actions": "true", "data-contract": "FEEDBACK-2", children: [action === undefined ? null : (_jsx(Button, { size: "sm", variant: alertActionVariantFor(tone), onPress: action.onAction, children: action.label })), props.dismissLabel === undefined ? null : (_jsx(CloseButton, { label: props.dismissLabel, size: "sm", onPress: dismiss }))] }))] }));
|
|
26
49
|
};
|
|
27
50
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/Alert/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA;AAC1E,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAA;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/Alert/index.tsx"],"names":[],"mappings":"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"}
|
package/dist/core/dna.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export declare const STARCI_CORE_DNA: Readonly<{
|
|
|
24
24
|
canvas: "oklch(97.02% 0.0015 354.13)";
|
|
25
25
|
surface: "oklch(100% 0.0008 354.13)";
|
|
26
26
|
surfaceSecondary: "oklch(95.24% 0.0012 354.13)";
|
|
27
|
+
surfaceTertiary: "oklch(93.73% 0.0012 354.13)";
|
|
27
28
|
foreground: "oklch(21.03% 0.0015 354.13)";
|
|
28
29
|
muted: "oklch(52% 0.003 354.13)";
|
|
29
30
|
border: "oklch(90% 0.0015 354.13)";
|
|
@@ -43,6 +44,7 @@ export declare const STARCI_CORE_DNA: Readonly<{
|
|
|
43
44
|
canvas: "oklch(12% 0.0015 354.13)";
|
|
44
45
|
surface: "oklch(21.03% 0.003 354.13)";
|
|
45
46
|
surfaceSecondary: "oklch(25.7% 0.0023 354.13)";
|
|
47
|
+
surfaceTertiary: "oklch(27.21% 0.0023 354.13)";
|
|
46
48
|
foreground: "oklch(99.11% 0.0015 354.13)";
|
|
47
49
|
muted: "oklch(70.5% 0.003 354.13)";
|
|
48
50
|
border: "oklch(28% 0.0015 354.13)";
|
|
@@ -108,6 +110,7 @@ export declare const STARCI_CORE_TOKEN_NAMES: Readonly<{
|
|
|
108
110
|
readonly canvas: "--starci-core-canvas";
|
|
109
111
|
readonly surface: "--starci-core-surface";
|
|
110
112
|
readonly surfaceSecondary: "--starci-core-surface-secondary";
|
|
113
|
+
readonly surfaceTertiary: "--starci-core-surface-tertiary";
|
|
111
114
|
readonly foreground: "--starci-core-foreground";
|
|
112
115
|
readonly muted: "--starci-core-muted";
|
|
113
116
|
readonly border: "--starci-core-border";
|
|
@@ -173,6 +176,7 @@ export declare const STARCI_CORE_TOKEN_DEFAULTS: Readonly<{
|
|
|
173
176
|
"--starci-core-canvas": "oklch(97.02% 0.0015 354.13)";
|
|
174
177
|
"--starci-core-surface": "oklch(100% 0.0008 354.13)";
|
|
175
178
|
"--starci-core-surface-secondary": "oklch(95.24% 0.0012 354.13)";
|
|
179
|
+
"--starci-core-surface-tertiary": "oklch(93.73% 0.0012 354.13)";
|
|
176
180
|
"--starci-core-foreground": "oklch(21.03% 0.0015 354.13)";
|
|
177
181
|
"--starci-core-muted": "oklch(52% 0.003 354.13)";
|
|
178
182
|
"--starci-core-border": "oklch(90% 0.0015 354.13)";
|
|
@@ -206,6 +210,7 @@ export declare const STARCI_CORE_DARK_TOKEN_DEFAULTS: Readonly<{
|
|
|
206
210
|
"--starci-core-canvas": "oklch(12% 0.0015 354.13)";
|
|
207
211
|
"--starci-core-surface": "oklch(21.03% 0.003 354.13)";
|
|
208
212
|
"--starci-core-surface-secondary": "oklch(25.7% 0.0023 354.13)";
|
|
213
|
+
"--starci-core-surface-tertiary": "oklch(27.21% 0.0023 354.13)";
|
|
209
214
|
"--starci-core-foreground": "oklch(99.11% 0.0015 354.13)";
|
|
210
215
|
"--starci-core-muted": "oklch(70.5% 0.003 354.13)";
|
|
211
216
|
"--starci-core-border": "oklch(28% 0.0015 354.13)";
|
package/dist/core/dna.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dna.d.ts","sourceRoot":"","sources":["../../src/core/dna.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"dna.d.ts","sourceRoot":"","sources":["../../src/core/dna.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqEjB,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"}
|
package/dist/core/dna.js
CHANGED
|
@@ -24,6 +24,7 @@ export const STARCI_CORE_DNA = Object.freeze({
|
|
|
24
24
|
canvas: "oklch(97.02% 0.0015 354.13)",
|
|
25
25
|
surface: "oklch(100% 0.0008 354.13)",
|
|
26
26
|
surfaceSecondary: "oklch(95.24% 0.0012 354.13)",
|
|
27
|
+
surfaceTertiary: "oklch(93.73% 0.0012 354.13)",
|
|
27
28
|
foreground: "oklch(21.03% 0.0015 354.13)",
|
|
28
29
|
muted: "oklch(52% 0.003 354.13)",
|
|
29
30
|
border: "oklch(90% 0.0015 354.13)",
|
|
@@ -43,6 +44,7 @@ export const STARCI_CORE_DNA = Object.freeze({
|
|
|
43
44
|
canvas: "oklch(12% 0.0015 354.13)",
|
|
44
45
|
surface: "oklch(21.03% 0.003 354.13)",
|
|
45
46
|
surfaceSecondary: "oklch(25.7% 0.0023 354.13)",
|
|
47
|
+
surfaceTertiary: "oklch(27.21% 0.0023 354.13)",
|
|
46
48
|
foreground: "oklch(99.11% 0.0015 354.13)",
|
|
47
49
|
muted: "oklch(70.5% 0.003 354.13)",
|
|
48
50
|
border: "oklch(28% 0.0015 354.13)",
|
|
@@ -106,6 +108,7 @@ export const STARCI_CORE_TOKEN_NAMES = Object.freeze({
|
|
|
106
108
|
canvas: "--starci-core-canvas",
|
|
107
109
|
surface: "--starci-core-surface",
|
|
108
110
|
surfaceSecondary: "--starci-core-surface-secondary",
|
|
111
|
+
surfaceTertiary: "--starci-core-surface-tertiary",
|
|
109
112
|
foreground: "--starci-core-foreground",
|
|
110
113
|
muted: "--starci-core-muted",
|
|
111
114
|
border: "--starci-core-border",
|
|
@@ -168,6 +171,7 @@ export const STARCI_CORE_TOKEN_DEFAULTS = Object.freeze({
|
|
|
168
171
|
"--starci-core-canvas": STARCI_CORE_DNA.color.light.canvas,
|
|
169
172
|
"--starci-core-surface": STARCI_CORE_DNA.color.light.surface,
|
|
170
173
|
"--starci-core-surface-secondary": STARCI_CORE_DNA.color.light.surfaceSecondary,
|
|
174
|
+
"--starci-core-surface-tertiary": STARCI_CORE_DNA.color.light.surfaceTertiary,
|
|
171
175
|
"--starci-core-foreground": STARCI_CORE_DNA.color.light.foreground,
|
|
172
176
|
"--starci-core-muted": STARCI_CORE_DNA.color.light.muted,
|
|
173
177
|
"--starci-core-border": STARCI_CORE_DNA.color.light.border,
|
|
@@ -201,6 +205,7 @@ export const STARCI_CORE_DARK_TOKEN_DEFAULTS = Object.freeze({
|
|
|
201
205
|
"--starci-core-canvas": STARCI_CORE_DNA.color.dark.canvas,
|
|
202
206
|
"--starci-core-surface": STARCI_CORE_DNA.color.dark.surface,
|
|
203
207
|
"--starci-core-surface-secondary": STARCI_CORE_DNA.color.dark.surfaceSecondary,
|
|
208
|
+
"--starci-core-surface-tertiary": STARCI_CORE_DNA.color.dark.surfaceTertiary,
|
|
204
209
|
"--starci-core-foreground": STARCI_CORE_DNA.color.dark.foreground,
|
|
205
210
|
"--starci-core-muted": STARCI_CORE_DNA.color.dark.muted,
|
|
206
211
|
"--starci-core-border": STARCI_CORE_DNA.color.dark.border,
|
package/dist/core/dna.js.map
CHANGED
|
@@ -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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"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export declare const CORE_GRAMMAR_COMPONENTS: Readonly<{
|
|
|
30
30
|
readonly Drawer: ({ title, description, children, footer, trigger, closeLabel, placement, showHandle, isDismissable, isKeyboardDismissDisabled, ...openState }: import("./index.js").DrawerProps) => import("react").JSX.Element;
|
|
31
31
|
readonly DropdownMenu: ({ trigger, entries, onAction, placement, ...openState }: import("./index.js").DropdownMenuProps) => import("react").JSX.Element;
|
|
32
32
|
readonly Kbd: ({ keys }: import("./index.js").KbdProps) => import("react").JSX.Element;
|
|
33
|
-
readonly Meter: ({ label, value, minValue, maxValue, valueLabel, tone, isLabelHidden, }: import("./index.js").MeterProps) => import("react").JSX.Element;
|
|
33
|
+
readonly Meter: ({ label, value, minValue, maxValue, valueLabel, tone, isLabelHidden, segments, }: import("./index.js").MeterProps) => import("react").JSX.Element;
|
|
34
34
|
readonly Popover: ({ trigger, children, placement, showArrow, title, label, ...openState }: import("./index.js").PopoverProps) => import("react").JSX.Element;
|
|
35
35
|
readonly ProgressCircle: ({ label, value, isIndeterminate, size }: import("./index.js").ProgressCircleProps) => import("react").JSX.Element;
|
|
36
36
|
readonly Skeleton: ({ shape, lines, ratio, size }: import("./index.js").SkeletonProps) => import("react").JSX.Element;
|
|
@@ -57,7 +57,7 @@ export declare const CORE_GRAMMAR_COMPONENTS: Readonly<{
|
|
|
57
57
|
readonly Switch: ({ value, isSelected, defaultSelected, onSelectedChange, ...field }: import("./index.js").SwitchProps) => import("react").JSX.Element;
|
|
58
58
|
readonly Textarea: ({ id, placeholder, value, defaultValue, rows, maxLength, minLength, onValueChange, ...field }: import("./index.js").TextareaProps) => import("react").JSX.Element;
|
|
59
59
|
readonly TimeField: ({ value, defaultValue, onValueChange, minValue, maxValue, granularity, hourCycle, ...field }: import("./index.js").TimeFieldProps) => import("react").JSX.Element;
|
|
60
|
-
readonly Badge: ({ children, startContent, tone, isSkeleton }: import("./index.js").BadgeProps) => import("react").JSX.Element;
|
|
60
|
+
readonly Badge: ({ children, startContent, tone, isDot, isSkeleton }: import("./index.js").BadgeProps) => import("react").JSX.Element;
|
|
61
61
|
readonly Button: (props: import("./index.js").ButtonProps) => import("react").JSX.Element;
|
|
62
62
|
readonly ChatWorkspace: (props: import("./index.js").ChatWorkspaceProps) => import("react").JSX.Element;
|
|
63
63
|
readonly Divider: ({ label }: import("./index.js").DividerProps) => import("react").JSX.Element;
|
|
@@ -5,13 +5,19 @@ export type BadgeProps = {
|
|
|
5
5
|
/** App-owned status glyph or artwork. */
|
|
6
6
|
readonly startContent?: ReactNode;
|
|
7
7
|
readonly tone?: BadgeTone;
|
|
8
|
+
/**
|
|
9
|
+
* A leading status dot: HeroUI's Chip-with-dot (`<CircleFill width={6} />`), a 6px solid circle in the
|
|
10
|
+
* badge's tone colour (`currentColor`), `aria-hidden`, before the label. No halo, ring or size variant.
|
|
11
|
+
*/
|
|
12
|
+
readonly isDot?: boolean;
|
|
8
13
|
readonly isSkeleton?: boolean;
|
|
9
14
|
};
|
|
10
15
|
/**
|
|
11
|
-
* Compact semantic status or figure; product glyph identity remains app-owned.
|
|
16
|
+
* Compact semantic status or figure; product glyph identity remains app-owned. `isDot` adds the
|
|
17
|
+
* Grammar's own leading status dot (a 6px `CircleFill` in the tone colour, class `starci-core-badge-dot`).
|
|
12
18
|
*
|
|
13
19
|
* Contract: ICON-2 (the glyph and its words share one status owner) and TRUTH-1 (the tone is stated,
|
|
14
20
|
* never inferred, and defaults to neutral).
|
|
15
21
|
*/
|
|
16
|
-
export declare const Badge: ({ children, startContent, tone, isSkeleton }: BadgeProps) => import("react").JSX.Element;
|
|
22
|
+
export declare const Badge: ({ children, startContent, tone, isDot, isSkeleton }: BadgeProps) => import("react").JSX.Element;
|
|
17
23
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Badge/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Badge/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;AAE/E,MAAM,MAAM,UAAU,GAAG;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,yCAAyC;IACzC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;IACzB;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAcD;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,GAAI,qDAAiF,UAAU,gCAiBhH,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Chip, skeletonVariants } from "@heroui/react";
|
|
3
|
+
import { CircleFill } from "../../CircleFill.js";
|
|
3
4
|
const TONE_COLORS = {
|
|
4
5
|
neutral: "default",
|
|
5
6
|
accent: "accent",
|
|
@@ -11,10 +12,11 @@ const SKELETON_CLASS_NAME = skeletonVariants({ animationType: "shimmer" }).base(
|
|
|
11
12
|
className: "select-none text-transparent",
|
|
12
13
|
});
|
|
13
14
|
/**
|
|
14
|
-
* Compact semantic status or figure; product glyph identity remains app-owned.
|
|
15
|
+
* Compact semantic status or figure; product glyph identity remains app-owned. `isDot` adds the
|
|
16
|
+
* Grammar's own leading status dot (a 6px `CircleFill` in the tone colour, class `starci-core-badge-dot`).
|
|
15
17
|
*
|
|
16
18
|
* Contract: ICON-2 (the glyph and its words share one status owner) and TRUTH-1 (the tone is stated,
|
|
17
19
|
* never inferred, and defaults to neutral).
|
|
18
20
|
*/
|
|
19
|
-
export const Badge = ({ children, startContent, tone = "neutral", isSkeleton = false }) => (_jsxs(Chip, { "data-tier": "atom", "data-component": "Badge", "data-contract": "ICON-2 TRUTH-1", "data-tone": tone, "data-loading": isSkeleton ? "true" : "false", color: TONE_COLORS[tone], variant: "soft", size: "sm", ...(isSkeleton ? { "aria-hidden": true, className: SKELETON_CLASS_NAME } : {}), children: [isSkeleton ? null : startContent, children ?? "\u00a0"] }));
|
|
21
|
+
export const Badge = ({ children, startContent, tone = "neutral", isDot = false, isSkeleton = false }) => (_jsxs(Chip, { "data-tier": "atom", "data-component": "Badge", "data-contract": "ICON-2 TRUTH-1", "data-tone": tone, "data-grammar-badge-dot": isDot && !isSkeleton ? "true" : undefined, "data-loading": isSkeleton ? "true" : "false", color: TONE_COLORS[tone], variant: "soft", size: "sm", ...(isSkeleton ? { "aria-hidden": true, className: SKELETON_CLASS_NAME } : {}), children: [isDot && !isSkeleton ? _jsx(CircleFill, { width: 6, className: "starci-core-badge-dot" }) : null, isSkeleton ? null : startContent, children ?? "\u00a0"] }));
|
|
20
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Badge/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Badge/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAiBhD,MAAM,WAAW,GAAG;IAChB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;CACV,CAAA;AAEV,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC;IAC5E,SAAS,EAAE,8BAA8B;CAC5C,CAAC,CAAA;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,GAAG,SAAS,EAAE,KAAK,GAAG,KAAK,EAAE,UAAU,GAAG,KAAK,EAAc,EAAE,EAAE,CAAC,CAClH,MAAC,IAAI,iBACS,MAAM,oBACD,OAAO,mBACR,gBAAgB,eACnB,IAAI,4BACS,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,kBACnD,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAC3C,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,EACxB,OAAO,EAAC,MAAM,EACd,IAAI,EAAC,IAAI,KACL,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAE9E,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAC,UAAU,IAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAC,uBAAuB,GAAG,CAAC,CAAC,CAAC,IAAI,EACxF,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,EAChC,QAAQ,IAAI,QAAQ,IAClB,CACV,CAAA"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import type { ReactNode } from "react";
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* The vendor's own Button variants, one to one (HeroUI v3 `buttonVariants`: primary, secondary, tertiary,
|
|
4
|
+
* outline, ghost, danger, danger-soft). `danger` / `danger-soft` are a destructive or failure-recovery action
|
|
5
|
+
* (HeroUI's danger Alert carries a `danger` Button "Retry"); they paint the vendor `--danger` tokens.
|
|
6
|
+
*/
|
|
7
|
+
export type ButtonVariant = "primary" | "secondary" | "tertiary" | "outline" | "ghost" | "danger" | "danger-soft";
|
|
3
8
|
export type ButtonSize = "sm" | "md" | "lg";
|
|
4
9
|
export type ButtonType = "button" | "submit" | "reset";
|
|
5
10
|
export type ButtonWidth = "content" | "fill";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Button/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Button/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,aAAa,CAAA;AACjH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAC3C,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;AACtD,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,CAAA;AAE5C,KAAK,UAAU,GAAG;IACd,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAA;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,oGAAoG;IACpG,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAA;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,qFAAqF;IACrF,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,wFAAwF;IACxF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;CAC/B,CAAA;AAED;;;GAGG;AACH,KAAK,iBAAiB,GAAG;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACpC,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAA;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CACxB,CAAA;AAED,4FAA4F;AAC5F,KAAK,aAAa,GAAG;IACjB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAA;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAC5B,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAA;AAiB1E,0FAA0F;AAC1F,eAAO,MAAM,MAAM,GAAI,OAAO,WAAW,gCAsExC,CAAA"}
|
|
@@ -6,6 +6,8 @@ const VARIANTS = {
|
|
|
6
6
|
tertiary: "tertiary",
|
|
7
7
|
outline: "outline",
|
|
8
8
|
ghost: "ghost",
|
|
9
|
+
danger: "danger",
|
|
10
|
+
"danger-soft": "danger-soft",
|
|
9
11
|
};
|
|
10
12
|
const SIZES = { sm: "sm", md: "md", lg: "lg" };
|
|
11
13
|
const SKELETON_CLASS_NAME = skeletonVariants({ animationType: "shimmer" }).base({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Button/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,OAAO,IAAI,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Button/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { PresentationState } from "../../../common/state.js";
|
|
2
|
+
/**
|
|
3
|
+
* How many equal parts a segmented meter draws: a discrete count such as "2 of 3 capabilities".
|
|
4
|
+
* A closed range, 2..12 - one part is a plain meter and more than twelve stops reading as a count.
|
|
5
|
+
*/
|
|
6
|
+
export type MeterSegments = 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
|
|
2
7
|
export type MeterProps = {
|
|
3
8
|
/** What the gauge measures. Visible by default and wired as the meter's accessible name. */
|
|
4
9
|
readonly label: string;
|
|
@@ -11,6 +16,15 @@ export type MeterProps = {
|
|
|
11
16
|
readonly tone?: PresentationState;
|
|
12
17
|
/** Hide the drawn label and reading but keep the accessible name. */
|
|
13
18
|
readonly isLabelHidden?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Draw the track as this many equal, separately rounded segments instead of one continuous fill.
|
|
21
|
+
* The track spans the full width of its container, like a Progress track, at HeroUI's h-1
|
|
22
|
+
* (0.25rem, 4px; the plain meter is h-2); segments sit 0.25rem apart. The reading becomes a whole count: `value`, `minValue` and `maxValue` are rounded
|
|
23
|
+
* to integers and the value clamped into range, and `round((value - min) / (max - min) * segments)`
|
|
24
|
+
* segments fill. The segments are presentational (`aria-hidden`): the one `role="meter"` keeps the
|
|
25
|
+
* accessible name and `aria-value*`. Out-of-range counts from untyped callers clamp to 2..12.
|
|
26
|
+
*/
|
|
27
|
+
readonly segments?: MeterSegments;
|
|
14
28
|
};
|
|
15
|
-
export declare const Meter: ({ label, value, minValue, maxValue, valueLabel, tone, isLabelHidden, }: MeterProps) => import("react").JSX.Element;
|
|
29
|
+
export declare const Meter: ({ label, value, minValue, maxValue, valueLabel, tone, isLabelHidden, segments, }: MeterProps) => import("react").JSX.Element;
|
|
16
30
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Meter/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAGjE,MAAM,MAAM,UAAU,GAAG;IACrB,4FAA4F;IAC5F,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,qFAAqF;IACrF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,0FAA0F;IAC1F,QAAQ,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACjC,qEAAqE;IACrE,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Meter/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAGjE;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;AAExE,MAAM,MAAM,UAAU,GAAG;IACrB,4FAA4F;IAC5F,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,qFAAqF;IACrF,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,0FAA0F;IAC1F,QAAQ,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACjC,qEAAqE;IACrE,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAA;CACpC,CAAA;AA0BD,eAAO,MAAM,KAAK,GAAI,kFASnB,UAAU,gCAgDZ,CAAA"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Label as HeroLabel, Meter as HeroMeter } from "@heroui/react";
|
|
3
3
|
import { vendorStatusFor } from "../../overlayScope.js";
|
|
4
|
+
const MIN_SEGMENTS = 2;
|
|
5
|
+
const MAX_SEGMENTS = 12;
|
|
6
|
+
/** A whole segment count in 2..12, whatever an untyped caller passed. */
|
|
7
|
+
const clampSegments = (segments) => Math.min(MAX_SEGMENTS, Math.max(MIN_SEGMENTS, Math.round(Number.isFinite(segments) ? segments : MIN_SEGMENTS)));
|
|
8
|
+
/** A segmented meter reads whole counts; a non-finite bound falls back to the plain default. */
|
|
9
|
+
const wholeNumber = (value, fallback) => (Number.isFinite(value) ? Math.round(value) : fallback);
|
|
4
10
|
/**
|
|
5
11
|
* ATOM - `Meter`: a static reading inside a known range (`role="meter"`).
|
|
6
12
|
*
|
|
@@ -10,11 +16,18 @@ import { vendorStatusFor } from "../../overlayScope.js";
|
|
|
10
16
|
* and Gecko map it to a level indicator / progress bar natively).
|
|
11
17
|
*
|
|
12
18
|
* Unlike `Progress`, a meter is not work moving toward completion. Tone is a PresentationState and is
|
|
13
|
-
* echoed on `data-grammar-tone` for family treatments.
|
|
19
|
+
* echoed on `data-grammar-tone` for family treatments. `segments` draws a discrete count (3 of 3,
|
|
20
|
+
* 2 of 3) as equal segments on the same track; the root echoes the count on
|
|
21
|
+
* `data-grammar-meter-segments` and each segment its state on `data-grammar-meter-segment`.
|
|
14
22
|
*/
|
|
15
23
|
const renderMeterRoot = (domProps) => _jsx("div", { ...domProps, role: "meter" });
|
|
16
|
-
export const Meter = ({ label, value, minValue = 0, maxValue = 100, valueLabel, tone = "neutral", isLabelHidden = false, }) => {
|
|
24
|
+
export const Meter = ({ label, value, minValue = 0, maxValue = 100, valueLabel, tone = "neutral", isLabelHidden = false, segments, }) => {
|
|
17
25
|
const status = vendorStatusFor(tone);
|
|
18
|
-
|
|
26
|
+
const count = segments === undefined ? undefined : clampSegments(segments);
|
|
27
|
+
const min = count === undefined ? minValue : wholeNumber(minValue, 0);
|
|
28
|
+
const max = count === undefined ? maxValue : Math.max(min + 1, wholeNumber(maxValue, 100));
|
|
29
|
+
const reading = count === undefined ? value : Math.min(max, Math.max(min, wholeNumber(value, min)));
|
|
30
|
+
const filled = count === undefined ? 0 : Math.round(((reading - min) / (max - min)) * count);
|
|
31
|
+
return (_jsxs(HeroMeter, { "data-tier": "atom", "data-component": "Meter", "data-grammar-tone": tone, "data-contract": "A11Y-3 ACCENT-4", value: reading, minValue: min, maxValue: max, ...(count === undefined ? {} : { "data-grammar-meter-segments": count }), ...(valueLabel === undefined ? {} : { valueLabel }), ...(isLabelHidden ? { "aria-label": label } : {}), color: status === "default" ? "accent" : status, size: "md", className: "starci-core-meter", render: renderMeterRoot, children: [isLabelHidden ? null : (_jsxs("span", { className: "starci-core-meter-header", children: [_jsx(HeroLabel, { className: "starci-core-meter-label", children: label }), _jsx(HeroMeter.Output, { className: "starci-core-meter-output" })] })), count === undefined ? (_jsx(HeroMeter.Track, { className: "starci-core-meter-track", children: _jsx(HeroMeter.Fill, { className: "starci-core-meter-fill", "data-contract": "MOTION-2" }) })) : (_jsx(HeroMeter.Track, { className: "starci-core-meter-track starci-core-meter-segments", children: Array.from({ length: count }, (_, index) => (_jsx("span", { "aria-hidden": "true", className: "starci-core-meter-segment", "data-grammar-meter-segment": index < filled ? "filled" : "empty" }, index))) }))] }));
|
|
19
32
|
};
|
|
20
33
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Meter/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,eAAe,CAAA;AAGtE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Meter/index.tsx"],"names":[],"mappings":"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"}
|
package/dist/core/styles.css
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
--starci-core-canvas: oklch(97.02% 0.0015 354.13);
|
|
15
15
|
--starci-core-surface: oklch(100% 0.0008 354.13);
|
|
16
16
|
--starci-core-surface-secondary: oklch(95.24% 0.0012 354.13);
|
|
17
|
+
--starci-core-surface-tertiary: oklch(93.73% 0.0012 354.13);
|
|
17
18
|
--starci-core-foreground: oklch(21.03% 0.0015 354.13);
|
|
18
19
|
--starci-core-muted: oklch(52% 0.003 354.13);
|
|
19
20
|
--starci-core-border: oklch(90% 0.0015 354.13);
|
|
@@ -52,6 +53,13 @@
|
|
|
52
53
|
--surface-foreground: var(--starci-core-foreground);
|
|
53
54
|
--surface-secondary: var(--starci-core-surface-secondary);
|
|
54
55
|
--surface-secondary-foreground: var(--starci-core-foreground);
|
|
56
|
+
/*
|
|
57
|
+
* The StarCi tertiary face (a raised band on the secondary surface) is published under the
|
|
58
|
+
* family's own name, never as HeroUI's --surface-tertiary: that vendor variable stays Common's
|
|
59
|
+
* derived mix, so a product binding its own tertiary never restyles the vendor's anatomy.
|
|
60
|
+
*/
|
|
61
|
+
--starci-surface-tertiary: var(--starci-core-surface-tertiary);
|
|
62
|
+
--starci-surface-tertiary-foreground: var(--starci-core-foreground);
|
|
55
63
|
--muted: var(--starci-core-muted);
|
|
56
64
|
--border: var(--starci-core-border);
|
|
57
65
|
--separator: var(--starci-core-separator);
|
|
@@ -85,6 +93,7 @@
|
|
|
85
93
|
--starci-core-canvas: oklch(12% 0.0015 354.13);
|
|
86
94
|
--starci-core-surface: oklch(21.03% 0.003 354.13);
|
|
87
95
|
--starci-core-surface-secondary: oklch(25.7% 0.0023 354.13);
|
|
96
|
+
--starci-core-surface-tertiary: oklch(27.21% 0.0023 354.13);
|
|
88
97
|
--starci-core-foreground: oklch(99.11% 0.0015 354.13);
|
|
89
98
|
--starci-core-muted: oklch(70.5% 0.003 354.13);
|
|
90
99
|
--starci-core-border: oklch(28% 0.0015 354.13);
|
|
@@ -150,6 +159,7 @@
|
|
|
150
159
|
--starci-core-canvas: oklch(12% 0.0015 354.13);
|
|
151
160
|
--starci-core-surface: oklch(21.03% 0.003 354.13);
|
|
152
161
|
--starci-core-surface-secondary: oklch(25.7% 0.0023 354.13);
|
|
162
|
+
--starci-core-surface-tertiary: oklch(27.21% 0.0023 354.13);
|
|
153
163
|
--starci-core-foreground: oklch(99.11% 0.0015 354.13);
|
|
154
164
|
--starci-core-muted: oklch(70.5% 0.003 354.13);
|
|
155
165
|
--starci-core-border: oklch(28% 0.0015 354.13);
|
|
@@ -174,6 +184,7 @@
|
|
|
174
184
|
--starci-core-canvas: Canvas;
|
|
175
185
|
--starci-core-surface: Canvas;
|
|
176
186
|
--starci-core-surface-secondary: Canvas;
|
|
187
|
+
--starci-core-surface-tertiary: Canvas;
|
|
177
188
|
--starci-core-foreground: CanvasText;
|
|
178
189
|
--starci-core-muted: GrayText;
|
|
179
190
|
--starci-core-border: CanvasText;
|
|
@@ -98,7 +98,9 @@
|
|
|
98
98
|
background: var(--accent);
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
|
|
101
|
+
/* A negative Alert's action is Common's danger Button (HeroUI's danger Alert carries a danger "Retry"). */
|
|
102
|
+
.grammar-common-root[data-grammar-family="offset-pop"] [data-grammar-overlay-action="confirm"][data-grammar-tone="negative"] > [data-component="Button"],
|
|
103
|
+
.grammar-common-root[data-grammar-family="offset-pop"] [data-component="Alert"][data-grammar-tone="negative"] [data-grammar-alert-actions] > [data-component="Button"] {
|
|
102
104
|
color: var(--danger-foreground);
|
|
103
105
|
background: var(--danger);
|
|
104
106
|
}
|
|
@@ -217,6 +219,24 @@
|
|
|
217
219
|
background: var(--accent);
|
|
218
220
|
}
|
|
219
221
|
|
|
222
|
+
.grammar-common-root[data-grammar-family="offset-pop"] [data-component="Meter"][data-grammar-meter-segments] [data-slot="meter-track"] {
|
|
223
|
+
border: 0;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/* The segmented track is Common's 0.25rem line: too thin for the ink outline, so the empty
|
|
227
|
+
segments take the ink at 18% (the ProgressCircle track's mix) instead. */
|
|
228
|
+
.grammar-common-root[data-grammar-family="offset-pop"] [data-component="Meter"] [data-grammar-meter-segment] {
|
|
229
|
+
background: color-mix(in srgb, var(--offset-pop-ink) 18%, transparent);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
.grammar-common-root[data-grammar-family="offset-pop"] [data-component="Meter"] [data-grammar-meter-segment="filled"] {
|
|
233
|
+
background: var(--offset-pop-tone-color);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
.grammar-common-root[data-grammar-family="offset-pop"] [data-component="Meter"][data-grammar-tone="neutral"] [data-grammar-meter-segment="filled"] {
|
|
237
|
+
background: var(--accent);
|
|
238
|
+
}
|
|
239
|
+
|
|
220
240
|
.grammar-common-root[data-grammar-family="offset-pop"] [data-component="Meter"] [data-slot="label"] {
|
|
221
241
|
color: var(--foreground);
|
|
222
242
|
font-weight: 800;
|