@starci/grammar 0.12.14 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +34 -31
- package/dist/.build-stamp.json +4 -4
- package/dist/common/components-forms.css +28 -44
- package/dist/common/components-list-panel.css +8 -0
- package/dist/common/components-navigation.css +163 -6
- package/dist/common/components-overlays.css +41 -2
- package/dist/common/conformance.d.ts +3 -8
- package/dist/common/conformance.d.ts.map +1 -1
- package/dist/common/conformance.js +4 -9
- package/dist/common/conformance.js.map +1 -1
- package/dist/common/registry.d.ts +24 -21
- package/dist/common/registry.d.ts.map +1 -1
- package/dist/common/registry.js +4 -4
- package/dist/common/registry.js.map +1 -1
- package/dist/common/renderers-forms.d.ts +11 -11
- package/dist/common/renderers-navigation.d.ts +5 -5
- package/dist/common/renderers-navigation.d.ts.map +1 -1
- package/dist/common/renderers-navigation.js +1 -1
- package/dist/common/renderers-navigation.js.map +1 -1
- 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/renderers.d.ts +4 -1
- package/dist/common/renderers.d.ts.map +1 -1
- package/dist/common/renderers.js +3 -0
- package/dist/common/renderers.js.map +1 -1
- package/dist/common/{rule-catalog.generated.d.ts → rule-catalog.d.ts} +1 -1
- package/dist/common/rule-catalog.d.ts.map +1 -0
- package/dist/common/{rule-catalog.generated.js → rule-catalog.js} +2 -4
- package/dist/common/rule-catalog.js.map +1 -0
- package/dist/common/styles.css +236 -48
- package/dist/core/branch/ComboBox/index.d.ts +5 -5
- package/dist/core/branch/ComboBox/index.d.ts.map +1 -1
- package/dist/core/branch/ComboBox/index.js +9 -2
- package/dist/core/branch/ComboBox/index.js.map +1 -1
- package/dist/core/branch/DataTable/index.d.ts +20 -3
- package/dist/core/branch/DataTable/index.d.ts.map +1 -1
- package/dist/core/branch/DataTable/index.js +45 -8
- package/dist/core/branch/DataTable/index.js.map +1 -1
- package/dist/core/branch/FlowGraph/index.d.ts +26 -7
- package/dist/core/branch/FlowGraph/index.d.ts.map +1 -1
- package/dist/core/branch/FlowGraph/index.js +132 -30
- package/dist/core/branch/FlowGraph/index.js.map +1 -1
- package/dist/core/branch/FlowGraph/layout.d.ts +34 -1
- package/dist/core/branch/FlowGraph/layout.d.ts.map +1 -1
- package/dist/core/branch/FlowGraph/layout.js +82 -0
- package/dist/core/branch/FlowGraph/layout.js.map +1 -1
- package/dist/core/branch/FlowGraph/types.d.ts +13 -1
- package/dist/core/branch/FlowGraph/types.d.ts.map +1 -1
- package/dist/core/branch/ListBox/index.d.ts +4 -2
- package/dist/core/branch/ListBox/index.d.ts.map +1 -1
- package/dist/core/branch/ListBox/index.js +2 -2
- package/dist/core/branch/ListBox/index.js.map +1 -1
- package/dist/core/branch/MarkdownArticle/index.d.ts +7 -1
- package/dist/core/branch/MarkdownArticle/index.d.ts.map +1 -1
- package/dist/core/branch/MarkdownArticle/index.js +5 -2
- package/dist/core/branch/MarkdownArticle/index.js.map +1 -1
- package/dist/core/branch/Select/index.d.ts +6 -8
- package/dist/core/branch/Select/index.d.ts.map +1 -1
- package/dist/core/branch/Select/index.js +9 -5
- package/dist/core/branch/Select/index.js.map +1 -1
- package/dist/core/branch/SurfaceCard/index.d.ts +9 -0
- package/dist/core/branch/SurfaceCard/index.d.ts.map +1 -1
- package/dist/core/branch/SurfaceCard/index.js +3 -2
- package/dist/core/branch/SurfaceCard/index.js.map +1 -1
- package/dist/core/branch/Tabs/index.d.ts.map +1 -1
- package/dist/core/branch/Tabs/index.js +17 -0
- package/dist/core/branch/Tabs/index.js.map +1 -1
- package/dist/core/branch/Tooltip/index.d.ts +9 -1
- package/dist/core/branch/Tooltip/index.d.ts.map +1 -1
- package/dist/core/branch/Tooltip/index.js +2 -2
- package/dist/core/branch/Tooltip/index.js.map +1 -1
- package/dist/core/buttonIntent.d.ts.map +1 -1
- package/dist/core/buttonIntent.js +1 -2
- package/dist/core/buttonIntent.js.map +1 -1
- package/dist/core/collectionItem.d.ts +3 -3
- package/dist/core/collectionItem.d.ts.map +1 -1
- package/dist/core/collectionItem.js +1 -2
- package/dist/core/collectionItem.js.map +1 -1
- package/dist/core/composite/Alert/index.d.ts +5 -0
- package/dist/core/composite/Alert/index.d.ts.map +1 -1
- package/dist/core/composite/Alert/index.js +7 -2
- package/dist/core/composite/Alert/index.js.map +1 -1
- package/dist/core/composite/CheckboxGroup/index.d.ts +6 -5
- package/dist/core/composite/CheckboxGroup/index.d.ts.map +1 -1
- package/dist/core/composite/CheckboxGroup/index.js +10 -3
- package/dist/core/composite/CheckboxGroup/index.js.map +1 -1
- package/dist/core/composite/DescriptionList/index.d.ts +3 -2
- package/dist/core/composite/DescriptionList/index.d.ts.map +1 -1
- package/dist/core/composite/DescriptionList/index.js +5 -4
- package/dist/core/composite/DescriptionList/index.js.map +1 -1
- package/dist/core/composite/RadioGroup/index.d.ts +5 -3
- package/dist/core/composite/RadioGroup/index.d.ts.map +1 -1
- package/dist/core/composite/RadioGroup/index.js +9 -2
- package/dist/core/composite/RadioGroup/index.js.map +1 -1
- package/dist/core/composite/SegmentedControl/index.d.ts +6 -6
- package/dist/core/composite/SegmentedControl/index.d.ts.map +1 -1
- package/dist/core/composite/SegmentedControl/index.js +9 -5
- package/dist/core/composite/SegmentedControl/index.js.map +1 -1
- package/dist/core/composite/TagGroup/index.d.ts +27 -4
- package/dist/core/composite/TagGroup/index.d.ts.map +1 -1
- package/dist/core/composite/TagGroup/index.js +132 -2
- package/dist/core/composite/TagGroup/index.js.map +1 -1
- package/dist/core/composite/Timeline/index.d.ts +5 -0
- package/dist/core/composite/Timeline/index.d.ts.map +1 -1
- package/dist/core/composite/Timeline/index.js +1 -1
- package/dist/core/composite/Timeline/index.js.map +1 -1
- package/dist/core/composition/Sidebar/index.d.ts +4 -0
- package/dist/core/composition/Sidebar/index.d.ts.map +1 -1
- package/dist/core/composition/Sidebar/index.js +4 -2
- package/dist/core/composition/Sidebar/index.js.map +1 -1
- package/dist/core/dna.d.ts +1 -1
- package/dist/core/dna.js +1 -1
- package/dist/core/dna.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/primitive/Avatar/index.d.ts +1 -1
- package/dist/core/primitive/Badge/index.d.ts +8 -5
- package/dist/core/primitive/Badge/index.d.ts.map +1 -1
- package/dist/core/primitive/Badge/index.js +14 -5
- package/dist/core/primitive/Badge/index.js.map +1 -1
- package/dist/core/primitive/Button/index.d.ts +10 -2
- package/dist/core/primitive/Button/index.d.ts.map +1 -1
- package/dist/core/primitive/Button/index.js +15 -4
- package/dist/core/primitive/Button/index.js.map +1 -1
- package/dist/core/primitive/Checkbox/index.d.ts +5 -3
- package/dist/core/primitive/Checkbox/index.d.ts.map +1 -1
- package/dist/core/primitive/Checkbox/index.js +9 -2
- package/dist/core/primitive/Checkbox/index.js.map +1 -1
- package/dist/core/primitive/Code/index.d.ts +10 -0
- package/dist/core/primitive/Code/index.d.ts.map +1 -0
- package/dist/core/primitive/Code/index.js +5 -0
- package/dist/core/primitive/Code/index.js.map +1 -0
- package/dist/core/primitive/Field/index.d.ts +12 -25
- package/dist/core/primitive/Field/index.d.ts.map +1 -1
- package/dist/core/primitive/Field/index.js +13 -14
- package/dist/core/primitive/Field/index.js.map +1 -1
- package/dist/core/primitive/GrammarRoot/index.d.ts +8 -1
- package/dist/core/primitive/GrammarRoot/index.d.ts.map +1 -1
- package/dist/core/primitive/GrammarRoot/index.js +5 -1
- package/dist/core/primitive/GrammarRoot/index.js.map +1 -1
- package/dist/core/primitive/Icon/index.d.ts.map +1 -1
- package/dist/core/primitive/Icon/index.js +3 -2
- package/dist/core/primitive/Icon/index.js.map +1 -1
- package/dist/core/primitive/Input/index.d.ts +9 -4
- package/dist/core/primitive/Input/index.d.ts.map +1 -1
- package/dist/core/primitive/Input/index.js +13 -8
- package/dist/core/primitive/Input/index.js.map +1 -1
- package/dist/core/primitive/Meter/index.d.ts +4 -1
- package/dist/core/primitive/Meter/index.d.ts.map +1 -1
- package/dist/core/primitive/Meter/index.js +3 -3
- package/dist/core/primitive/Meter/index.js.map +1 -1
- package/dist/core/primitive/NumberField/index.d.ts +6 -5
- package/dist/core/primitive/NumberField/index.d.ts.map +1 -1
- package/dist/core/primitive/NumberField/index.js +10 -3
- package/dist/core/primitive/NumberField/index.js.map +1 -1
- package/dist/core/primitive/PinnedActionBar/index.d.ts +25 -6
- package/dist/core/primitive/PinnedActionBar/index.d.ts.map +1 -1
- package/dist/core/primitive/PinnedActionBar/index.js +9 -4
- package/dist/core/primitive/PinnedActionBar/index.js.map +1 -1
- package/dist/core/primitive/SearchField/index.d.ts +6 -5
- package/dist/core/primitive/SearchField/index.d.ts.map +1 -1
- package/dist/core/primitive/SearchField/index.js +10 -3
- package/dist/core/primitive/SearchField/index.js.map +1 -1
- package/dist/core/primitive/SectionHeader/index.d.ts +3 -3
- package/dist/core/primitive/SectionHeader/index.js +2 -2
- package/dist/core/primitive/SectionHeader/index.js.map +1 -1
- package/dist/core/primitive/Skeleton/index.d.ts +11 -0
- package/dist/core/primitive/Skeleton/index.d.ts.map +1 -1
- package/dist/core/primitive/Skeleton/index.js +12 -1
- package/dist/core/primitive/Skeleton/index.js.map +1 -1
- package/dist/core/primitive/StatusDot/index.d.ts +61 -0
- package/dist/core/primitive/StatusDot/index.d.ts.map +1 -0
- package/dist/core/primitive/StatusDot/index.js +55 -0
- package/dist/core/primitive/StatusDot/index.js.map +1 -0
- package/dist/core/primitive/Switch/index.d.ts +4 -3
- package/dist/core/primitive/Switch/index.d.ts.map +1 -1
- package/dist/core/primitive/Switch/index.js +5 -2
- package/dist/core/primitive/Switch/index.js.map +1 -1
- package/dist/core/primitive/Terminal/index.d.ts +20 -0
- package/dist/core/primitive/Terminal/index.d.ts.map +1 -0
- package/dist/core/primitive/Terminal/index.js +29 -0
- package/dist/core/primitive/Terminal/index.js.map +1 -0
- package/dist/core/primitive/Text/index.d.ts +5 -1
- package/dist/core/primitive/Text/index.d.ts.map +1 -1
- package/dist/core/primitive/Text/index.js +12 -7
- package/dist/core/primitive/Text/index.js.map +1 -1
- package/dist/core/primitive/TextAction/index.d.ts.map +1 -1
- package/dist/core/primitive/TextAction/index.js +9 -4
- package/dist/core/primitive/TextAction/index.js.map +1 -1
- package/dist/core/primitive/Textarea/index.d.ts +8 -4
- package/dist/core/primitive/Textarea/index.d.ts.map +1 -1
- package/dist/core/primitive/Textarea/index.js +9 -5
- package/dist/core/primitive/Textarea/index.js.map +1 -1
- package/dist/core/styles.css +18 -6
- package/dist/offset-pop/components-forms.css +0 -17
- package/dist/offset-pop/components-navigation.css +30 -4
- package/dist/offset-pop/components-overlays.css +5 -0
- package/dist/offset-pop/index.d.ts +1 -1
- package/dist/offset-pop/index.d.ts.map +1 -1
- package/dist/offset-pop/styles.css +44 -0
- package/package.json +7 -12
- package/dist/common/rule-catalog.generated.d.ts.map +0 -1
- package/dist/common/rule-catalog.generated.js.map +0 -1
- package/dist/heritage/dna.d.ts +0 -63
- package/dist/heritage/dna.d.ts.map +0 -1
- package/dist/heritage/dna.js +0 -37
- package/dist/heritage/dna.js.map +0 -1
- package/dist/heritage/index.d.ts +0 -27
- package/dist/heritage/index.d.ts.map +0 -1
- package/dist/heritage/index.js +0 -46
- package/dist/heritage/index.js.map +0 -1
- package/dist/heritage/styles.css +0 -187
|
@@ -19,8 +19,9 @@ export type SwitchProps = FieldControlProps & {
|
|
|
19
19
|
/** The thumb glyph while on (a sun/moon theme switch passes the moon here). Needs `thumbIcon`; without one it is ignored. */
|
|
20
20
|
readonly selectedThumbIcon?: IconSource;
|
|
21
21
|
/**
|
|
22
|
-
* Initial unresolved content (knowledge STATE-8)
|
|
23
|
-
* `aria-
|
|
22
|
+
* Initial unresolved content (knowledge STATE-8), with skeleton parity: the ready anatomy at the same props (label,
|
|
23
|
+
* description, control box, options) inside an inert, `aria-busy` scope, its control box painted as a Skeleton and its
|
|
24
|
+
* value or mark not drawn, so the loading field keeps the ready box. Nothing is invalid or pending while it loads.
|
|
24
25
|
*/
|
|
25
26
|
readonly isSkeleton?: boolean;
|
|
26
27
|
};
|
|
@@ -28,5 +29,5 @@ export type SwitchProps = FieldControlProps & {
|
|
|
28
29
|
* An immediate on/off setting (`role="switch"`). Use Checkbox for a choice that only takes effect
|
|
29
30
|
* on submit. The label is part of the hit area; Space toggles.
|
|
30
31
|
*/
|
|
31
|
-
export declare const Switch: ({
|
|
32
|
+
export declare const Switch: ({ isSkeleton, ...props }: SwitchProps) => import("react").JSX.Element;
|
|
32
33
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Switch/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Switch/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAOH,KAAK,iBAAiB,EACzB,MAAM,mBAAmB,CAAA;AAE1B,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAA;AAEhD,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;IACzD;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAA;IAC/B,6HAA6H;IAC7H,QAAQ,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAA;IACvC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAQD;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAI,0BAAkC,WAAW,gCAElC,CAAA"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { Switch as HeroSwitch } from "@heroui/react";
|
|
4
4
|
import { Icon } from "../Icon/index.js";
|
|
5
|
-
import { FieldDescription, FieldErrorText, FieldLabel,
|
|
5
|
+
import { FieldDescription, FieldErrorText, FieldLabel, FieldSkeletonScope, loadingFieldProps, vendorFieldProps, } from "../Field/index.js";
|
|
6
6
|
/*
|
|
7
7
|
* Consumer hook: `starci-core-switch` names this control's root for a consumer or family
|
|
8
8
|
* stylesheet. No shipped sheet paints it: the root is drawn as a whole by `.starci-core-choice`, so
|
|
@@ -12,5 +12,8 @@ import { FieldDescription, FieldErrorText, FieldLabel, FieldSkeleton, vendorFiel
|
|
|
12
12
|
* An immediate on/off setting (`role="switch"`). Use Checkbox for a choice that only takes effect
|
|
13
13
|
* on submit. The label is part of the hit area; Space toggles.
|
|
14
14
|
*/
|
|
15
|
-
export const Switch = ({
|
|
15
|
+
export const Switch = ({ isSkeleton = false, ...props }) => isSkeleton
|
|
16
|
+
? _jsx(FieldSkeletonScope, { component: "Switch", children: _jsx(SwitchControl, { ...loadingFieldProps(props) }) })
|
|
17
|
+
: _jsx(SwitchControl, { ...props });
|
|
18
|
+
const SwitchControl = ({ value, isSelected, defaultSelected, onSelectedChange, size = "md", thumbIcon, selectedThumbIcon, ...field }) => (_jsxs(HeroSwitch, { "data-tier": "atom", "data-component": "Switch", "data-contract": "A11Y-1 STATE-1", "data-grammar-switch-size": size, "data-grammar-switch-icons": thumbIcon === undefined ? "none" : selectedThumbIcon === undefined ? "single" : "swap", className: "starci-core-choice starci-core-switch", size: size === "control" ? "lg" : size, ...vendorFieldProps(field), isReadOnly: field.isReadOnly === true, ...(value === undefined ? {} : { value }), ...(isSelected === undefined ? defaultSelected === undefined ? {} : { defaultSelected } : { isSelected }), ...(onSelectedChange === undefined ? {} : { onChange: onSelectedChange }), children: [_jsxs(HeroSwitch.Content, { className: "starci-core-choice-content", "data-grammar-choice-target": "true", children: [_jsx(HeroSwitch.Control, { className: "starci-core-choice-control", "data-grammar-choice-control": "switch", "data-grammar-switch-track": "true", children: _jsx(HeroSwitch.Thumb, { "data-grammar-switch-thumb": "true", children: thumbIcon === undefined ? null : (_jsxs(HeroSwitch.Icon, { children: [_jsx("span", { "aria-hidden": "true", className: "starci-core-switch-icon", "data-grammar-switch-icon": "off", children: _jsx(Icon, { source: thumbIcon, usage: size === "md" ? "chip" : "leading" }) }), selectedThumbIcon === undefined ? null : (_jsx("span", { "aria-hidden": "true", className: "starci-core-switch-icon", "data-grammar-switch-icon": "on", children: _jsx(Icon, { source: selectedThumbIcon, usage: size === "md" ? "chip" : "leading" }) }))] })) }) }), _jsx(FieldLabel, { isHidden: field.isLabelHidden === true, children: field.label })] }), _jsx(FieldDescription, { children: field.description }), _jsx(FieldErrorText, { children: field.errorMessage })] }));
|
|
16
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Switch/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,IAAI,EAAmB,MAAM,kBAAkB,CAAA;AACxD,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Switch/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export type TerminalProps = {
|
|
2
|
+
/** The log, oldest first. Each entry is one line. */
|
|
3
|
+
readonly lines: ReadonlyArray<string>;
|
|
4
|
+
/** A caption above the log; it also names the log region. */
|
|
5
|
+
readonly title?: string;
|
|
6
|
+
/** Names the log when there is no `title`. */
|
|
7
|
+
readonly label?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Unresolved log (knowledge STATE-8): the same frame and title; each line (three when none arrived yet) is laid out
|
|
10
|
+
* unseen under a shimmer bar, so the log keeps its ready box (skeleton parity). Nothing is announced; the root is `aria-busy`.
|
|
11
|
+
*/
|
|
12
|
+
readonly isSkeleton?: boolean;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* ATOM - `Terminal`: a dark monospace log tail. `role="log"` with `aria-live="polite"`, so new lines are announced
|
|
16
|
+
* without interrupting. It follows the end as lines arrive, unless the reader has scrolled up; scrolling back to
|
|
17
|
+
* the end follows again.
|
|
18
|
+
*/
|
|
19
|
+
export declare const Terminal: ({ lines, title, label, isSkeleton }: TerminalProps) => import("react").JSX.Element;
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Terminal/index.tsx"],"names":[],"mappings":"AAKA,MAAM,MAAM,aAAa,GAAG;IACxB,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACrC,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAOD;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,qCAA6C,aAAa,gCAiClF,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useId, useRef } from "react";
|
|
4
|
+
import { SkeletonPlaceholder } from "../Skeleton/index.js";
|
|
5
|
+
const LOADING_LINES = ["", "", ""];
|
|
6
|
+
/** Within this many pixels of the end the log counts as followed, so rounding never loses the tail. */
|
|
7
|
+
const FOLLOW_THRESHOLD = 8;
|
|
8
|
+
/**
|
|
9
|
+
* ATOM - `Terminal`: a dark monospace log tail. `role="log"` with `aria-live="polite"`, so new lines are announced
|
|
10
|
+
* without interrupting. It follows the end as lines arrive, unless the reader has scrolled up; scrolling back to
|
|
11
|
+
* the end follows again.
|
|
12
|
+
*/
|
|
13
|
+
export const Terminal = ({ lines, title, label, isSkeleton = false }) => {
|
|
14
|
+
const titleId = useId();
|
|
15
|
+
const logRef = useRef(null);
|
|
16
|
+
const following = useRef(true);
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
const log = logRef.current;
|
|
19
|
+
if (log !== null && following.current)
|
|
20
|
+
log.scrollTop = log.scrollHeight;
|
|
21
|
+
}, [lines]);
|
|
22
|
+
return (_jsxs("div", { "data-tier": "atom", "data-component": "Terminal", className: "starci-core-terminal", ...(isSkeleton ? { "data-loading": "true", "aria-busy": true } : {}), children: [title === undefined ? null : _jsx("div", { id: titleId, className: "starci-core-terminal-title", children: title }), _jsx("div", { ref: logRef, role: "log", "aria-live": isSkeleton ? "off" : "polite", ...(title === undefined ? { "aria-label": label ?? "Log" } : { "aria-labelledby": titleId }), tabIndex: 0, className: "starci-core-terminal-log", onScroll: (event) => {
|
|
23
|
+
const log = event.currentTarget;
|
|
24
|
+
following.current = log.scrollHeight - log.scrollTop - log.clientHeight <= FOLLOW_THRESHOLD;
|
|
25
|
+
}, children: isSkeleton
|
|
26
|
+
? (lines.length === 0 ? LOADING_LINES : lines).map((line, index) => (_jsx("div", { className: "starci-core-terminal-line", "aria-hidden": "true", children: _jsx(SkeletonPlaceholder, { children: line }) }, index)))
|
|
27
|
+
: lines.map((line, index) => _jsx("div", { className: "starci-core-terminal-line", children: line === "" ? " " : line }, index)) })] }));
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Terminal/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAgB1D,MAAM,aAAa,GAA0B,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;AAEzD,uGAAuG;AACvG,MAAM,gBAAgB,GAAG,CAAC,CAAA;AAE1B;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,GAAG,KAAK,EAAiB,EAAE,EAAE;IACnF,MAAM,OAAO,GAAG,KAAK,EAAE,CAAA;IACvB,MAAM,MAAM,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAE9B,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAA;QAC1B,IAAI,GAAG,KAAK,IAAI,IAAI,SAAS,CAAC,OAAO;YAAE,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,YAAY,CAAA;IAC3E,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,OAAO,CACH,4BAAe,MAAM,oBAAgB,UAAU,EAAC,SAAS,EAAC,sBAAsB,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aACjJ,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAC,4BAA4B,YAAE,KAAK,GAAO,EACpG,cACI,GAAG,EAAE,MAAM,EACX,IAAI,EAAC,KAAK,eACC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,KACpC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,EAC7F,QAAQ,EAAE,CAAC,EACX,SAAS,EAAC,0BAA0B,EACpC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAChB,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,CAAA;oBAC/B,SAAS,CAAC,OAAO,GAAG,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,YAAY,IAAI,gBAAgB,CAAA;gBAC/F,CAAC,YAEA,UAAU;oBACP,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAChE,cAAiB,SAAS,EAAC,2BAA2B,iBAAa,MAAM,YAAC,KAAC,mBAAmB,cAAE,IAAI,GAAuB,IAAjH,KAAK,CAAkH,CACpI,CAAC;oBACF,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,cAAiB,SAAS,EAAC,2BAA2B,YAAE,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAtE,KAAK,CAAwE,CAAC,GACvH,IACJ,CACT,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -23,11 +23,15 @@ export type TextProps = {
|
|
|
23
23
|
* through the boundary with a descendant selector on `[data-size]` to force one.
|
|
24
24
|
*/
|
|
25
25
|
readonly overflow?: TextOverflow;
|
|
26
|
+
/** Set the copy in the monospace stack: identifiers, hashes, paths, figures that line up. */
|
|
27
|
+
readonly mono?: boolean;
|
|
28
|
+
/** Tabular figures (`tabular-nums`): digits of equal width, so a column or a counter does not jitter. */
|
|
29
|
+
readonly tabular?: boolean;
|
|
26
30
|
readonly isSkeleton?: boolean;
|
|
27
31
|
readonly isSuperseded?: boolean;
|
|
28
32
|
/** Opt into the shared selected-parent accent treatment. */
|
|
29
33
|
readonly parentEmphasis?: "accent-soft";
|
|
30
34
|
};
|
|
31
35
|
/** One resolved line of copy with explicit semantics, hierarchy and announcement behavior. */
|
|
32
|
-
export declare const Text: ({ as: Element, id, children, startContent, size, tone, weight, live, overflow, isSkeleton, isSuperseded, parentEmphasis, }: TextProps) => import("react").JSX.Element;
|
|
36
|
+
export declare const Text: ({ as: Element, id, children, startContent, size, tone, weight, live, overflow, mono, tabular, isSkeleton, isSuperseded, parentEmphasis, }: TextProps) => import("react").JSX.Element;
|
|
33
37
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Text/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,CAAA;AACzC,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAA;AACrD,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,aAAa,CAAA;AACzD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAA;AACzD,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,WAAW,CAAA;AACrD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;AAE1D,MAAM,MAAM,SAAS,GAAG;IACpB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;IAC5B,oGAAoG;IACpG,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;IACxB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,4DAA4D;IAC5D,QAAQ,CAAC,cAAc,CAAC,EAAE,aAAa,CAAA;CAC1C,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Text/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,CAAA;AACzC,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAA;AACrD,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,aAAa,CAAA;AACzD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAA;AACzD,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,WAAW,CAAA;AACrD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;AAE1D,MAAM,MAAM,SAAS,GAAG;IACpB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;IAC5B,oGAAoG;IACpG,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;IACxB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;IAChC,6FAA6F;IAC7F,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;IACvB,yGAAyG;IACzG,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,4DAA4D;IAC5D,QAAQ,CAAC,cAAc,CAAC,EAAE,aAAa,CAAA;CAC1C,CAAA;AAuDD,8FAA8F;AAC9F,eAAO,MAAM,IAAI,GAAI,2IAelB,SAAS,gCA8BX,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { skeletonVariants } from "@heroui/react";
|
|
3
3
|
/**
|
|
4
4
|
* Copy geometry and paint are SHIPPED.
|
|
@@ -37,16 +37,21 @@ const getTextContract = (size, resolvedTone, showsStartContent) => {
|
|
|
37
37
|
};
|
|
38
38
|
/**
|
|
39
39
|
* The skeleton keeps the size geometry (FONT-1/2/3/5) but its copy is
|
|
40
|
-
*
|
|
40
|
+
* transparent, so no tone is actually visible to claim.
|
|
41
|
+
*
|
|
42
|
+
* Skeleton parity: a loading Text is the same element with the same `as`, size, overflow and start content, so its box is
|
|
43
|
+
* the ready line's box. Its copy (when passed) stays laid out as a measured placeholder inside a shimmer bar and is not
|
|
44
|
+
* painted; with no copy the bar takes the size's default width. The start content keeps its place, unpainted.
|
|
41
45
|
*/
|
|
42
46
|
const getTextSkeletonContract = (size) => FONT_RULE_BY_SIZE[size];
|
|
43
|
-
|
|
44
|
-
|
|
47
|
+
/** The shimmer bar inside a loading line: it wraps the copy (or a default width) and never sets the line's own box. */
|
|
48
|
+
const SKELETON_BAR_CLASS_NAME = skeletonVariants({ animationType: "shimmer" }).base({
|
|
49
|
+
className: "starci-core-text-skeleton",
|
|
45
50
|
});
|
|
46
51
|
/** One resolved line of copy with explicit semantics, hierarchy and announcement behavior. */
|
|
47
|
-
export const Text = ({ as: Element = "div", id, children, startContent, size = "md", tone, weight = "normal", live = "off", overflow, isSkeleton = false, isSuperseded = false, parentEmphasis, }) => {
|
|
52
|
+
export const Text = ({ as: Element = "div", id, children, startContent, size = "md", tone, weight = "normal", live = "off", overflow, mono = false, tabular = false, isSkeleton = false, isSuperseded = false, parentEmphasis, }) => {
|
|
48
53
|
const resolvedTone = size === "xs" ? "muted" : tone ?? "default";
|
|
49
|
-
const showsStartContent = startContent != null
|
|
50
|
-
return (_jsxs(Element, { id: id, "data-tier": "atom", "data-component": "Text", "data-size": size, "data-tone": resolvedTone, "data-weight": weight, "data-start-content": showsStartContent ? "true" : "false", "data-superseded": isSuperseded ? "true" : "false", "data-parent-emphasis": parentEmphasis, "data-live": live, "data-overflow": overflow, "data-loading": isSkeleton ? "true" : "false", "data-contract": isSkeleton ? getTextSkeletonContract(size) : getTextContract(size, resolvedTone, showsStartContent), "aria-live": isSkeleton || live === "off" ? undefined : live, "aria-atomic": isSkeleton || live === "off" ? undefined : true, "aria-hidden": isSkeleton || undefined, className:
|
|
54
|
+
const showsStartContent = startContent != null;
|
|
55
|
+
return (_jsxs(Element, { id: id, "data-tier": "atom", "data-component": "Text", "data-size": size, "data-tone": resolvedTone, "data-weight": weight, "data-start-content": showsStartContent ? "true" : "false", "data-superseded": isSuperseded ? "true" : "false", "data-parent-emphasis": parentEmphasis, "data-live": live, "data-overflow": overflow, "data-mono": mono ? "true" : undefined, "data-tabular": tabular ? "true" : undefined, "data-loading": isSkeleton ? "true" : "false", "data-contract": isSkeleton ? getTextSkeletonContract(size) : getTextContract(size, resolvedTone, showsStartContent), "aria-live": isSkeleton || live === "off" ? undefined : live, "aria-atomic": isSkeleton || live === "off" ? undefined : true, "aria-hidden": isSkeleton || undefined, className: TEXT_CLASS_NAME, children: [showsStartContent ? startContent : null, isSkeleton ? _jsx("span", { className: SKELETON_BAR_CLASS_NAME, "data-empty": children == null ? "true" : undefined, children: children ?? "\u00a0" }) : children] }));
|
|
51
56
|
};
|
|
52
57
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Text/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Text/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/TextAction/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAU,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC9C,OAAO,EAAsB,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnG,KAAK,UAAU,GAAG;IACd,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAA;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAA;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAA;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED;;;;GAIG;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;CAC3B,CAAA;AAED,+FAA+F;AAC/F,KAAK,aAAa,GAAG;IACjB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,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,eAAe,GAAG,UAAU,GAAG,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAA;AAgF9E,+EAA+E;AAC/E,eAAO,MAAM,UAAU,GAAI,OAAO,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/TextAction/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAU,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC9C,OAAO,EAAsB,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnG,KAAK,UAAU,GAAG;IACd,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAA;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAA;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAA;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED;;;;GAIG;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;CAC3B,CAAA;AAED,+FAA+F;AAC/F,KAAK,aAAa,GAAG;IACjB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,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,eAAe,GAAG,UAAU,GAAG,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAA;AAgF9E,+EAA+E;AAC/E,eAAO,MAAM,UAAU,GAAI,OAAO,eAAe,gCA0FhD,CAAA;AAED,YAAY,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,cAAc,IAAI,cAAc,EAAE,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as _jsx,
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import { Link as HeroLink, Spinner, skeletonVariants } from "@heroui/react";
|
|
4
4
|
import { useRef } from "react";
|
|
5
5
|
import { getActionClassName } from "../actionStyles.js";
|
|
@@ -82,9 +82,6 @@ export const TextAction = (props) => {
|
|
|
82
82
|
const { children, startContent, endContent, appearance = "inline", size = "sm", isCurrent = false, isDisabled = false, isPending = false, isSkeleton = false, } = props;
|
|
83
83
|
const pressLockRef = useRef(false);
|
|
84
84
|
const unavailable = isDisabled || isPending;
|
|
85
|
-
if (isSkeleton) {
|
|
86
|
-
return _jsx("span", { "data-tier": "atom", "data-component": "TextAction", "data-loading": "true", "data-grammar-control-size": size === "control" ? "control" : undefined, "aria-hidden": true, className: SKELETON_CLASS_NAME, children: "\u00A0" });
|
|
87
|
-
}
|
|
88
85
|
const shared = {
|
|
89
86
|
"data-tier": "atom",
|
|
90
87
|
"data-component": "TextAction",
|
|
@@ -97,6 +94,14 @@ export const TextAction = (props) => {
|
|
|
97
94
|
"data-contract": getActionContract(appearance, size, isCurrent),
|
|
98
95
|
className: getActionClassName(),
|
|
99
96
|
};
|
|
97
|
+
/*
|
|
98
|
+
* Skeleton parity: the loading action is the same recipe on an inert span (appearance, size and pressable floor
|
|
99
|
+
* unchanged), so it keeps the ready action's box. Its label stays laid out as a measured placeholder inside the
|
|
100
|
+
* shimmer bar; the start and end content keep their places, unseen.
|
|
101
|
+
*/
|
|
102
|
+
if (isSkeleton) {
|
|
103
|
+
return (_jsxs("span", { ...shared, "aria-busy": undefined, "data-element": "span", "data-loading": "true", "aria-hidden": "true", "data-contract": FONT_RULE_BY_SIZE[size], children: [startContent == null ? null : _jsx("span", { className: "starci-core-text-action-placeholder", children: startContent }), _jsx("span", { className: SKELETON_CLASS_NAME, children: children }), endContent == null ? null : _jsx("span", { className: "starci-core-text-action-placeholder", children: endContent })] }));
|
|
104
|
+
}
|
|
100
105
|
const content = (_jsxs(_Fragment, { children: [isPending ? _jsx(Spinner, { size: "sm", color: "current", "aria-hidden": "true" }) : startContent, _jsx("span", { children: children }), isPending ? null : endContent] }));
|
|
101
106
|
if (props.href !== undefined) {
|
|
102
107
|
const { href, target, rel, download, onFollow } = props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/TextAction/index.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/TextAction/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -28,8 +28,9 @@ export type TextareaProps = FieldControlProps & {
|
|
|
28
28
|
/** Initial visible lines. The field still grows with the reader's own resize. */
|
|
29
29
|
readonly rows?: number;
|
|
30
30
|
/**
|
|
31
|
-
* Initial unresolved content (knowledge STATE-8)
|
|
32
|
-
*
|
|
31
|
+
* Initial unresolved content (knowledge STATE-8), with skeleton parity: the ready anatomy at the same props (label,
|
|
32
|
+
* description, control box, options) inside an inert, `aria-busy` scope, its control box painted as a Skeleton and its
|
|
33
|
+
* value or mark not drawn, so the loading field keeps the ready box. Nothing is invalid or pending while it loads.
|
|
33
34
|
*/
|
|
34
35
|
readonly isSkeleton?: boolean;
|
|
35
36
|
/** Also shows a live `count / max` beside the guidance. */
|
|
@@ -60,7 +61,10 @@ type MentionQuery = {
|
|
|
60
61
|
export declare const findMentionQuery: (text: string, caret: number, trigger?: string) => MentionQuery | null;
|
|
61
62
|
/** Options whose label (accent- and case-insensitive) contains the query, at most eight. */
|
|
62
63
|
export declare const filterMentionOptions: (options: ReadonlyArray<TextareaMentionOption>, query: string) => ReadonlyArray<TextareaMentionOption>;
|
|
63
|
-
/**
|
|
64
|
-
|
|
64
|
+
/**
|
|
65
|
+
* Skeleton parity (knowledge STATE-8): `isSkeleton` renders the ready anatomy at the same props inside
|
|
66
|
+
* `FieldSkeletonScope` (inert, `aria-busy`, control box painted as a Skeleton), so the loading field keeps the ready box.
|
|
67
|
+
*/
|
|
68
|
+
export declare const Textarea: ({ isSkeleton, ...props }: TextareaProps) => import("react").JSX.Element;
|
|
65
69
|
export {};
|
|
66
70
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Textarea/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAA4B,KAAK,cAAc,EAAsB,MAAM,OAAO,CAAA;AACzF,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Textarea/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAA4B,KAAK,cAAc,EAAsB,MAAM,OAAO,CAAA;AACzF,OAAO,EASH,KAAK,iBAAiB,EACzB,MAAM,mBAAmB,CAAA;AAE1B,iGAAiG;AACjG,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,iEAAiE;IACjE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAChC,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAA;IACtD,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,2CAA2C;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAA;CAC9D,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG;IAC5C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,iFAAiF;IACjF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,iGAAiG;IACjG,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAA;IAC1C;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAA;IACpC,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,8CAA8C;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAA;IACvE,2CAA2C;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAC/B,CAAA;AAED,KAAK,YAAY,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAI3F,gIAAgI;AAChI,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,EAAE,gBAAa,KAAG,YAAY,GAAG,IAQ5F,CAAA;AAED,4FAA4F;AAC5F,eAAO,MAAM,oBAAoB,GAAI,SAAS,aAAa,CAAC,qBAAqB,CAAC,EAAE,OAAO,MAAM,KAAG,aAAa,CAAC,qBAAqB,CAGtI,CAAA;AAQD;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,0BAAkC,aAAa,gCAEpC,CAAA"}
|
|
@@ -3,7 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import { useFieldVariant } from "../../surfaceContext.js";
|
|
4
4
|
import { TextArea as HeroTextArea, TextField as HeroTextField } from "@heroui/react";
|
|
5
5
|
import { useId, useMemo, useState } from "react";
|
|
6
|
-
import { FieldDescription, FieldErrorText, FieldLabel,
|
|
6
|
+
import { FieldDescription, FieldErrorText, FieldLabel, FieldSkeletonScope, loadingFieldProps, fieldVariantAttributes, isFieldInvalid, vendorFieldProps, } from "../Field/index.js";
|
|
7
7
|
const fold = (s) => s.normalize("NFD").replace(/\p{Diacritic}/gu, "").toLowerCase();
|
|
8
8
|
/** The trigger word that ends at the caret (`@an` in "hi @an|"), or null. The trigger must start the text or follow a space. */
|
|
9
9
|
export const findMentionQuery = (text, caret, trigger = "@") => {
|
|
@@ -28,8 +28,15 @@ export const filterMentionOptions = (options, query) => {
|
|
|
28
28
|
* stylesheet. No shipped sheet paints it: the root is drawn as a whole by `.starci-core-field`, so
|
|
29
29
|
* a rule on the hook adds to the shared anatomy and never has to replace it.
|
|
30
30
|
*/
|
|
31
|
+
/**
|
|
32
|
+
* Skeleton parity (knowledge STATE-8): `isSkeleton` renders the ready anatomy at the same props inside
|
|
33
|
+
* `FieldSkeletonScope` (inert, `aria-busy`, control box painted as a Skeleton), so the loading field keeps the ready box.
|
|
34
|
+
*/
|
|
35
|
+
export const Textarea = ({ isSkeleton = false, ...props }) => isSkeleton
|
|
36
|
+
? _jsx(FieldSkeletonScope, { component: "Textarea", children: _jsx(TextareaControl, { ...loadingFieldProps(props) }) })
|
|
37
|
+
: _jsx(TextareaControl, { ...props });
|
|
31
38
|
/** Multi-line text with the shared field anatomy, an optional Enter-to-submit shortcut and optional mention suggestions. */
|
|
32
|
-
|
|
39
|
+
const TextareaControl = ({ id, placeholder, value, defaultValue, rows = 4, maxLength, minLength, onValueChange, variant: requestedVariant, onSubmitShortcut, mentions, onBlur, onPaste, autoFocus = false, ...field }) => {
|
|
33
40
|
const variant = useFieldVariant(requestedVariant);
|
|
34
41
|
const [uncontrolledLength, setUncontrolledLength] = useState((defaultValue ?? "").length);
|
|
35
42
|
const length = value === undefined ? uncontrolledLength : value.length;
|
|
@@ -92,9 +99,6 @@ export const Textarea = ({ id, placeholder, value, defaultValue, rows = 4, isSke
|
|
|
92
99
|
}
|
|
93
100
|
};
|
|
94
101
|
const activeId = isOpen ? `${listId}-${suggestions[active]?.id ?? ""}` : undefined;
|
|
95
|
-
if (isSkeleton) {
|
|
96
|
-
return _jsx(FieldSkeleton, { component: "Textarea", tier: "atom", label: field.label, isLabelHidden: field.isLabelHidden, isRequired: field.isRequired, variant: variant, kind: "textarea", rows: rows, className: "starci-core-textarea" });
|
|
97
|
-
}
|
|
98
102
|
return (_jsxs(HeroTextField, { "data-tier": "atom", "data-component": "Textarea", "data-contract": "A11Y-1 FEEDBACK-1 STATE-1", className: "starci-core-field starci-core-textarea", fullWidth: true, variant: variant, ...fieldVariantAttributes(variant), ...vendorFieldProps(field), isReadOnly: field.isReadOnly === true, ...(value === undefined ? defaultValue === undefined ? {} : { defaultValue } : { value }), ...(maxLength === undefined ? {} : { maxLength }), ...(minLength === undefined ? {} : { minLength }), onChange: (next) => {
|
|
99
103
|
setUncontrolledLength(next.length);
|
|
100
104
|
onValueChange?.(next);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Textarea/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,eAAe,CAAA;AACpF,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAA2C,MAAM,OAAO,CAAA;AACzF,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Textarea/index.tsx"],"names":[],"mappings":"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"}
|
package/dist/core/styles.css
CHANGED
|
@@ -42,6 +42,10 @@
|
|
|
42
42
|
--starci-core-surface-shadow: 0 8px 28px oklch(21.03% 0.0059 354.13 / 0.07);
|
|
43
43
|
--starci-core-motion-duration: 180ms;
|
|
44
44
|
--starci-core-motion-easing: cubic-bezier(0.2, 0, 0, 1);
|
|
45
|
+
/* The Terminal console: dark in both themes. */
|
|
46
|
+
--starci-core-terminal-background: oklch(20% 0.01 286);
|
|
47
|
+
--starci-core-terminal-foreground: oklch(92% 0.005 286);
|
|
48
|
+
--starci-core-terminal-title-foreground: oklch(72% 0.01 286);
|
|
45
49
|
|
|
46
50
|
/* HeroUI and existing Grammar anatomy resolve through the same DNA. */
|
|
47
51
|
--accent: var(--starci-core-accent);
|
|
@@ -53,6 +57,9 @@
|
|
|
53
57
|
--surface-foreground: var(--starci-core-foreground);
|
|
54
58
|
--surface-secondary: var(--starci-core-surface-secondary);
|
|
55
59
|
--surface-secondary-foreground: var(--starci-core-foreground);
|
|
60
|
+
--terminal-background: var(--starci-core-terminal-background);
|
|
61
|
+
--terminal-foreground: var(--starci-core-terminal-foreground);
|
|
62
|
+
--terminal-title-foreground: var(--starci-core-terminal-title-foreground);
|
|
56
63
|
/*
|
|
57
64
|
* The StarCi tertiary face (a raised band on the secondary surface) is published under the
|
|
58
65
|
* family's own name, never as HeroUI's --surface-tertiary: that vendor variable stays Common's
|
|
@@ -125,25 +132,30 @@
|
|
|
125
132
|
--starci-core-accent: var(--starci-core-accent-text);
|
|
126
133
|
}
|
|
127
134
|
|
|
128
|
-
/*
|
|
135
|
+
/*
|
|
136
|
+
* Card label placement (ruling card-label-placement-per-grammar): a FLOATING Core card keeps Common's anatomy, its label
|
|
137
|
+
* an unpainted row above the material. A PANEL card (`placement="panel"`: a docked panel or full-height region of the
|
|
138
|
+
* layout) carries its title inside, as the card header: one material box around title and content, the title inset
|
|
139
|
+
* by the surface inset, and the content frame (also inside a highlight) losing its own material so it paints once.
|
|
140
|
+
*/
|
|
129
141
|
.grammar-common-root[data-grammar-family="core"]
|
|
130
|
-
.starci-core-surface-card[data-grammar-surface-labelled="true"][data-grammar-frame="bounded"] {
|
|
142
|
+
.starci-core-surface-card[data-grammar-surface-labelled="true"][data-grammar-surface-placement="panel"][data-grammar-frame="bounded"] {
|
|
131
143
|
overflow: hidden;
|
|
132
144
|
background: var(--starci-core-surface, var(--surface, Canvas));
|
|
133
145
|
box-shadow: var(--starci-core-surface-shadow, var(--shadow-surface, none));
|
|
134
146
|
}
|
|
135
147
|
|
|
136
148
|
.grammar-common-root[data-grammar-family="core"]
|
|
137
|
-
.starci-core-surface-card[data-grammar-surface-labelled="true"][data-grammar-frame="bounded"]
|
|
149
|
+
.starci-core-surface-card[data-grammar-surface-labelled="true"][data-grammar-surface-placement="panel"][data-grammar-frame="bounded"]
|
|
138
150
|
> [data-grammar-surface-label] {
|
|
139
|
-
padding: var(--starci-core-surface-inset, 1rem) var(--starci-core-surface-inset, 1rem) 0;
|
|
151
|
+
--starci-core-surface-label-padding: var(--starci-core-surface-inset, 1rem) var(--starci-core-surface-inset, 1rem) 0;
|
|
140
152
|
}
|
|
141
153
|
|
|
142
154
|
.grammar-common-root[data-grammar-family="core"]
|
|
143
|
-
.starci-core-surface-card[data-grammar-surface-labelled="true"][data-grammar-frame="bounded"]
|
|
155
|
+
.starci-core-surface-card[data-grammar-surface-labelled="true"][data-grammar-surface-placement="panel"][data-grammar-frame="bounded"]
|
|
144
156
|
> [data-grammar-frame="bounded"],
|
|
145
157
|
.grammar-common-root[data-grammar-family="core"]
|
|
146
|
-
.starci-core-surface-card[data-grammar-surface-labelled="true"][data-grammar-frame="bounded"]
|
|
158
|
+
.starci-core-surface-card[data-grammar-surface-labelled="true"][data-grammar-surface-placement="panel"][data-grammar-frame="bounded"]
|
|
147
159
|
> [data-grammar-highlight="true"]
|
|
148
160
|
> [data-grammar-frame="bounded"] {
|
|
149
161
|
border: 0;
|
|
@@ -81,23 +81,6 @@
|
|
|
81
81
|
box-shadow: none;
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
/* A loading Select or Textarea (knowledge STATE-8) keeps the field box: ink outline and control radius around the skeleton block. */
|
|
85
|
-
.grammar-common-root[data-grammar-family="offset-pop"] :is([data-component="Select"], [data-component="Textarea"], [data-component="NumberField"], [data-component="SearchField"], [data-component="SegmentedControl"]) .starci-core-field-skeleton-control {
|
|
86
|
-
box-sizing: border-box;
|
|
87
|
-
border: var(--offset-pop-outline-width) solid var(--offset-pop-ink);
|
|
88
|
-
border-radius: var(--offset-pop-control-radius);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
.grammar-common-root[data-grammar-family="offset-pop"] :is([data-component="Select"], [data-component="Textarea"], [data-component="NumberField"], [data-component="SearchField"], [data-component="SegmentedControl"]) .starci-core-field-skeleton-control > .starci-core-skeleton {
|
|
92
|
-
border-radius: calc(var(--offset-pop-control-radius) - var(--offset-pop-outline-width));
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/* A loading checkbox box or switch track keeps the ink outline of the real control. */
|
|
96
|
-
.grammar-common-root[data-grammar-family="offset-pop"] :is([data-component="CheckboxGroup"], [data-component="Switch"]) .starci-core-field-skeleton-control {
|
|
97
|
-
box-sizing: border-box;
|
|
98
|
-
border: var(--offset-pop-outline-width) solid var(--offset-pop-ink);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
84
|
/* Focus: the hard offset shadow, ink by default, critical while invalid. */
|
|
102
85
|
.grammar-common-root[data-grammar-family="offset-pop"] :is([data-component="Select"], [data-component="ComboBox"], [data-component="SearchField"], [data-component="NumberField"], [data-component="DateField"], [data-component="TimeField"], [data-component="DatePicker"], [data-component="DateRangePicker"], [data-component="Textarea"]) [data-grammar-field-control="true"]:is(:focus-visible, :focus-within, [data-focus-visible="true"], [data-focus-within="true"]),
|
|
103
86
|
.grammar-common-root[data-grammar-family="offset-pop"] [data-component="Field"] [data-grammar-field-control="true"] > :where(input, select, textarea):focus-visible,
|
|
@@ -148,8 +148,9 @@
|
|
|
148
148
|
letter-spacing: -.01em;
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
-
/* Avatar / AvatarGroup: ink-ringed faces; the current identity gets a pink ring.
|
|
152
|
-
|
|
151
|
+
/* Avatar / AvatarGroup: ink-ringed faces; the current identity gets a pink ring. A loading avatar has no ring: its
|
|
152
|
+
Skeleton circle already takes the avatar's whole box (skeleton parity). */
|
|
153
|
+
.grammar-common-root[data-grammar-family="offset-pop"] [data-component="Avatar"]:not([data-grammar-skeleton="true"]) {
|
|
153
154
|
border: var(--offset-pop-outline-width) solid var(--offset-pop-ink);
|
|
154
155
|
}
|
|
155
156
|
|
|
@@ -185,6 +186,11 @@
|
|
|
185
186
|
}
|
|
186
187
|
|
|
187
188
|
/* TagGroup: outlined chips; selected chips turn pink and lift. */
|
|
189
|
+
.grammar-common-root[data-grammar-family="offset-pop"] [data-component="TagGroup"] [data-grammar-tag][data-grammar-tag-drop-target="true"] {
|
|
190
|
+
outline-offset: 3px;
|
|
191
|
+
outline-style: dashed;
|
|
192
|
+
}
|
|
193
|
+
|
|
188
194
|
.grammar-common-root[data-grammar-family="offset-pop"] [data-component="TagGroup"] [data-grammar-tag] {
|
|
189
195
|
border: var(--offset-pop-outline-width) solid var(--offset-pop-ink);
|
|
190
196
|
border-radius: 999px;
|
|
@@ -266,9 +272,9 @@
|
|
|
266
272
|
* ListBox: every option (role="option") is an interactive row - it is the pointer and focus
|
|
267
273
|
* target itself, so its states come from the vendor's attributes on the row, never from an
|
|
268
274
|
* inner link or button (an option may not hold one). At rest the row keeps a transparent 2px
|
|
269
|
-
* edge so selecting it never shifts the layout.
|
|
275
|
+
* edge so selecting it never shifts the layout; a loading option keeps the same edge (skeleton parity).
|
|
270
276
|
*/
|
|
271
|
-
.grammar-common-root[data-grammar-family="offset-pop"] [data-component="ListBox"] [data-grammar-list-item] {
|
|
277
|
+
.grammar-common-root[data-grammar-family="offset-pop"] [data-component="ListBox"] :is([data-grammar-list-item], .starci-core-list-box-skeleton-option) {
|
|
272
278
|
border: var(--offset-pop-outline-width) solid transparent;
|
|
273
279
|
border-radius: var(--offset-pop-control-radius);
|
|
274
280
|
font-weight: 700;
|
|
@@ -372,6 +378,26 @@
|
|
|
372
378
|
box-shadow: 0.125rem 0.1875rem 0 var(--offset-pop-shadow-ink);
|
|
373
379
|
}
|
|
374
380
|
|
|
381
|
+
/*
|
|
382
|
+
* Timeline attention: an inked, tone-filled card that sits on the offset shadow, like a raised sticker. The outline
|
|
383
|
+
* comes out of Common's 0.5rem padding, so the marker and the copy stay in the column of the other entries.
|
|
384
|
+
*/
|
|
385
|
+
.grammar-common-root[data-grammar-family="offset-pop"] [data-component="Timeline"] [data-grammar-attention="true"] {
|
|
386
|
+
padding: calc(0.5rem - var(--offset-pop-outline-width));
|
|
387
|
+
border: var(--offset-pop-outline-width) solid var(--offset-pop-ink);
|
|
388
|
+
border-radius: var(--offset-pop-control-radius);
|
|
389
|
+
background: color-mix(in srgb, var(--starci-core-timeline-attention-tone) 55%, var(--surface));
|
|
390
|
+
box-shadow: 0.125rem 0.1875rem 0 var(--offset-pop-shadow-ink);
|
|
391
|
+
color: var(--offset-pop-ink);
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
/* The connector is placed from the padding edge, one outline inside the border edge Common measures from. */
|
|
395
|
+
.grammar-common-root[data-grammar-family="offset-pop"] [data-component="Timeline"] [data-grammar-attention="true"]:not(:last-child)::before {
|
|
396
|
+
top: calc(2rem - var(--offset-pop-outline-width));
|
|
397
|
+
bottom: calc(-0.5rem - var(--offset-pop-outline-width));
|
|
398
|
+
inset-inline-start: calc(1.25rem - var(--offset-pop-outline-width) / 2 + var(--offset-pop-outline-width) * -1);
|
|
399
|
+
}
|
|
400
|
+
|
|
375
401
|
/* Calendar: outlined sheet; the selected day is a raised pink tile. */
|
|
376
402
|
.grammar-common-root[data-grammar-family="offset-pop"] [data-component="Calendar"] {
|
|
377
403
|
padding: 0.75rem;
|
|
@@ -211,6 +211,11 @@
|
|
|
211
211
|
background: var(--surface);
|
|
212
212
|
}
|
|
213
213
|
|
|
214
|
+
/* size="sm": the thin track keeps the ink outline at half the plain meter's height. */
|
|
215
|
+
.grammar-common-root[data-grammar-family="offset-pop"] [data-component="Meter"][data-size="sm"] [data-slot="meter-track"] {
|
|
216
|
+
height: 0.5rem;
|
|
217
|
+
}
|
|
218
|
+
|
|
214
219
|
.grammar-common-root[data-grammar-family="offset-pop"] [data-component="Meter"] [data-slot="meter-fill"] {
|
|
215
220
|
background: var(--offset-pop-tone-color);
|
|
216
221
|
}
|
|
@@ -4,5 +4,5 @@ export { OFFSET_POP_BAND_TOKEN_NAMES, OFFSET_POP_DARK_TOKEN_DEFAULTS, OFFSET_POP
|
|
|
4
4
|
export { OFFSET_POP_FAMILY_EVIDENCE, offsetPopRuleConformance } from "./conformance.js";
|
|
5
5
|
/** Official product-neutral Offset Pop sibling family over the Common contract. */
|
|
6
6
|
export declare const offsetPopGrammar: import("./index.js").GrammarFamilyContract<"offset-pop", {}>;
|
|
7
|
-
export declare const OffsetPopGrammarRoot: ({ className, theme, ...props }: GrammarRootProps) => import("react").JSX.Element;
|
|
7
|
+
export declare const OffsetPopGrammarRoot: ({ className, theme, navigate, useHref, ...props }: GrammarRootProps) => import("react").JSX.Element;
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/offset-pop/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIH,KAAK,gBAAgB,EACxB,MAAM,oBAAoB,CAAA;AAM3B,cAAc,oBAAoB,CAAA;AAElC,OAAO,EACH,2BAA2B,EAC3B,8BAA8B,EAC9B,cAAc,EACd,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,GAC1B,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAQvF,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,8DAY3B,CAAA;AAEF,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/offset-pop/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIH,KAAK,gBAAgB,EACxB,MAAM,oBAAoB,CAAA;AAM3B,cAAc,oBAAoB,CAAA;AAElC,OAAO,EACH,2BAA2B,EAC3B,8BAA8B,EAC9B,cAAc,EACd,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,GAC1B,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAQvF,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,8DAY3B,CAAA;AAEF,eAAO,MAAM,oBAAoB,sGAA0C,CAAA"}
|