@starci/grammar 0.9.4 → 0.9.7
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 +1 -1
- package/dist/.build-stamp.json +4 -4
- package/dist/common/components-forms.css +45 -0
- package/dist/common/components-navigation.css +267 -0
- package/dist/common/components-overlays.css +9 -0
- package/dist/common/registry.d.ts +17 -16
- package/dist/common/registry.d.ts.map +1 -1
- package/dist/common/renderers-forms.d.ts +7 -7
- package/dist/common/renderers-navigation.d.ts +7 -5
- package/dist/common/renderers-navigation.d.ts.map +1 -1
- package/dist/common/renderers-navigation.js +3 -1
- package/dist/common/renderers-navigation.js.map +1 -1
- package/dist/common/renderers-overlays.d.ts +1 -1
- package/dist/common/renderers.d.ts +1 -1
- package/dist/common/renderers.d.ts.map +1 -1
- package/dist/common/renderers.js +1 -1
- package/dist/common/renderers.js.map +1 -1
- package/dist/common/styles.css +20 -0
- package/dist/core/branch/DataTable/index.d.ts +7 -2
- package/dist/core/branch/DataTable/index.d.ts.map +1 -1
- package/dist/core/branch/DataTable/index.js +9 -4
- package/dist/core/branch/DataTable/index.js.map +1 -1
- package/dist/core/branch/FlowGraph/index.d.ts +34 -0
- package/dist/core/branch/FlowGraph/index.d.ts.map +1 -0
- package/dist/core/branch/FlowGraph/index.js +83 -0
- package/dist/core/branch/FlowGraph/index.js.map +1 -0
- package/dist/core/branch/FlowGraph/layout.d.ts +17 -0
- package/dist/core/branch/FlowGraph/layout.d.ts.map +1 -0
- package/dist/core/branch/FlowGraph/layout.js +51 -0
- package/dist/core/branch/FlowGraph/layout.js.map +1 -0
- package/dist/core/branch/FlowGraph/types.d.ts +28 -0
- package/dist/core/branch/FlowGraph/types.d.ts.map +1 -0
- package/dist/core/branch/FlowGraph/types.js +2 -0
- package/dist/core/branch/FlowGraph/types.js.map +1 -0
- package/dist/core/branch/ListBox/index.d.ts +9 -1
- package/dist/core/branch/ListBox/index.d.ts.map +1 -1
- package/dist/core/branch/ListBox/index.js +8 -2
- package/dist/core/branch/ListBox/index.js.map +1 -1
- package/dist/core/branch/Select/index.d.ts +6 -1
- package/dist/core/branch/Select/index.d.ts.map +1 -1
- package/dist/core/branch/Select/index.js +5 -2
- package/dist/core/branch/Select/index.js.map +1 -1
- package/dist/core/branch/SurfaceListCard/index.d.ts +6 -0
- package/dist/core/branch/SurfaceListCard/index.d.ts.map +1 -1
- package/dist/core/branch/SurfaceListCard/index.js +10 -3
- package/dist/core/branch/SurfaceListCard/index.js.map +1 -1
- package/dist/core/composite/Breadcrumbs/index.d.ts +5 -0
- package/dist/core/composite/Breadcrumbs/index.d.ts.map +1 -1
- package/dist/core/composite/Breadcrumbs/index.js +3 -2
- package/dist/core/composite/Breadcrumbs/index.js.map +1 -1
- package/dist/core/composite/ChatBubble/index.d.ts +21 -3
- package/dist/core/composite/ChatBubble/index.d.ts.map +1 -1
- package/dist/core/composite/ChatBubble/index.js +10 -1
- package/dist/core/composite/ChatBubble/index.js.map +1 -1
- package/dist/core/composite/CheckboxGroup/index.d.ts +6 -1
- package/dist/core/composite/CheckboxGroup/index.d.ts.map +1 -1
- package/dist/core/composite/CheckboxGroup/index.js +2 -2
- package/dist/core/composite/CheckboxGroup/index.js.map +1 -1
- package/dist/core/composite/DescriptionList/index.d.ts +5 -0
- package/dist/core/composite/DescriptionList/index.d.ts.map +1 -1
- package/dist/core/composite/DescriptionList/index.js +6 -4
- package/dist/core/composite/DescriptionList/index.js.map +1 -1
- package/dist/core/composite/ListRow/index.d.ts +8 -1
- package/dist/core/composite/ListRow/index.d.ts.map +1 -1
- package/dist/core/composite/ListRow/index.js +5 -1
- package/dist/core/composite/ListRow/index.js.map +1 -1
- package/dist/core/composite/SegmentedControl/index.d.ts +6 -1
- package/dist/core/composite/SegmentedControl/index.d.ts.map +1 -1
- package/dist/core/composite/SegmentedControl/index.js +5 -2
- package/dist/core/composite/SegmentedControl/index.js.map +1 -1
- package/dist/core/composite/Stepper/index.d.ts +7 -1
- package/dist/core/composite/Stepper/index.d.ts.map +1 -1
- package/dist/core/composite/Stepper/index.js +2 -1
- package/dist/core/composite/Stepper/index.js.map +1 -1
- package/dist/core/composite/Timeline/index.d.ts +8 -1
- package/dist/core/composite/Timeline/index.d.ts.map +1 -1
- package/dist/core/composite/Timeline/index.js +2 -1
- package/dist/core/composite/Timeline/index.js.map +1 -1
- package/dist/core/primitive/Avatar/index.d.ts +6 -1
- package/dist/core/primitive/Avatar/index.d.ts.map +1 -1
- package/dist/core/primitive/Avatar/index.js +2 -1
- package/dist/core/primitive/Avatar/index.js.map +1 -1
- package/dist/core/primitive/Field/index.d.ts +24 -0
- package/dist/core/primitive/Field/index.d.ts.map +1 -1
- package/dist/core/primitive/Field/index.js +15 -1
- package/dist/core/primitive/Field/index.js.map +1 -1
- package/dist/core/primitive/Meter/index.d.ts +7 -1
- package/dist/core/primitive/Meter/index.d.ts.map +1 -1
- package/dist/core/primitive/Meter/index.js +5 -1
- package/dist/core/primitive/Meter/index.js.map +1 -1
- package/dist/core/primitive/NumberField/index.d.ts +6 -1
- package/dist/core/primitive/NumberField/index.d.ts.map +1 -1
- package/dist/core/primitive/NumberField/index.js +2 -2
- package/dist/core/primitive/NumberField/index.js.map +1 -1
- package/dist/core/primitive/SearchField/index.d.ts +6 -1
- package/dist/core/primitive/SearchField/index.d.ts.map +1 -1
- package/dist/core/primitive/SearchField/index.js +2 -2
- package/dist/core/primitive/SearchField/index.js.map +1 -1
- package/dist/core/primitive/SectionHeader/index.d.ts +8 -1
- package/dist/core/primitive/SectionHeader/index.d.ts.map +1 -1
- package/dist/core/primitive/SectionHeader/index.js +2 -1
- package/dist/core/primitive/SectionHeader/index.js.map +1 -1
- package/dist/core/primitive/Switch/index.d.ts +6 -1
- package/dist/core/primitive/Switch/index.d.ts.map +1 -1
- package/dist/core/primitive/Switch/index.js +2 -2
- package/dist/core/primitive/Switch/index.js.map +1 -1
- package/dist/core/primitive/Textarea/index.d.ts +6 -1
- package/dist/core/primitive/Textarea/index.d.ts.map +1 -1
- package/dist/core/primitive/Textarea/index.js +5 -2
- package/dist/core/primitive/Textarea/index.js.map +1 -1
- package/dist/offset-pop/components-forms.css +17 -0
- package/dist/offset-pop/components-navigation.css +21 -0
- package/package.json +6 -4
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { staticRowClassName } from "../../classNames.js";
|
|
3
|
+
import { Skeleton } from "../../primitive/Skeleton/index.js";
|
|
3
4
|
import { treatmentFor } from "../../state.js";
|
|
4
5
|
/**
|
|
5
6
|
* One interactive row in a `SurfaceListCard` (or an app-owned `<ul>`): leading mark, title with its badges,
|
|
@@ -9,8 +10,11 @@ import { treatmentFor } from "../../state.js";
|
|
|
9
10
|
* between consecutive rows - so static and interactive rows mix in one collection. It is an `<li>`: render it
|
|
10
11
|
* inside a list, never loose. The actions keep their own semantics; the row itself is not a target.
|
|
11
12
|
*/
|
|
12
|
-
export const ListRow = ({ title, description, leading, badges, actions, children, state = "neutral", verdict }) => {
|
|
13
|
+
export const ListRow = ({ title, description, leading, badges, actions, children, state = "neutral", verdict, isSkeleton = false }) => {
|
|
13
14
|
const treatment = treatmentFor(state);
|
|
15
|
+
if (isSkeleton) {
|
|
16
|
+
return (_jsxs("li", { "aria-hidden": "true", className: `${staticRowClassName} starci-core-list-row`, "data-grammar-row": "true", "data-component": "ListRow", "data-tier": "composite", "data-grammar-skeleton": "true", "data-grammar-state": "neutral", "data-grammar-treatment": treatmentFor("neutral").tone, "data-grammar-leading": leading == null ? "false" : "true", "data-grammar-actions": actions == null ? "false" : "true", "data-contract": "GAP-3 PADDING-4 BOUNDARY-3 STATE-8", children: [leading == null ? null : _jsx("span", { className: "starci-core-list-row-leading", children: _jsx(Skeleton, { shape: "circle", size: "md" }) }), _jsxs("span", { className: "starci-core-list-row-copy", "data-contract": "GAP-1", children: [_jsx("span", { className: "starci-core-list-row-title", children: _jsx("span", { className: "starci-core-list-row-name", children: _jsx(Skeleton, { shape: "text" }) }) }), description == null ? null : _jsx("span", { className: "starci-core-list-row-description", children: _jsx(Skeleton, { shape: "text" }) })] }), actions == null ? null : _jsx("span", { className: "starci-core-list-row-actions", children: _jsx("span", { className: "starci-core-list-row-skeleton-action", children: _jsx(Skeleton, { shape: "rect" }) }) })] }));
|
|
17
|
+
}
|
|
14
18
|
return (_jsxs("li", { className: `${staticRowClassName} starci-core-list-row`, "data-grammar-row": "true", "data-component": "ListRow", "data-tier": "composite", "data-grammar-state": state, "data-grammar-treatment": treatment.tone, "data-grammar-leading": leading == null ? "false" : "true", "data-grammar-actions": actions == null ? "false" : "true", ...(verdict === undefined ? {} : { "data-verdict": verdict }), "data-contract": "GAP-3 PADDING-4 BOUNDARY-3", children: [leading == null ? null : _jsx("span", { className: "starci-core-list-row-leading", children: leading }), _jsxs("span", { className: "starci-core-list-row-copy", "data-contract": "GAP-1", children: [_jsxs("span", { className: "starci-core-list-row-title", children: [_jsx("span", { className: "starci-core-list-row-name", children: title }), badges == null ? null : _jsx("span", { className: "starci-core-list-row-badges", "data-contract": "GAP-2", children: badges })] }), description == null ? null : _jsx("span", { className: "starci-core-list-row-description", "data-contract": "TONE-2 FONT-2", children: description })] }), actions == null ? null : _jsx("span", { className: "starci-core-list-row-actions", "data-contract": "GAP-2", children: actions }), children == null ? null : _jsx("div", { className: "starci-core-list-row-detail", "data-contract": "GAP-3", children: children })] }));
|
|
15
19
|
};
|
|
16
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/ListRow/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,YAAY,EAA0B,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/ListRow/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -14,11 +14,16 @@ export type SegmentedControlProps = FieldControlProps & {
|
|
|
14
14
|
readonly onValueChange?: (value: string) => void;
|
|
15
15
|
/** `fill` stretches the segments across the parent. */
|
|
16
16
|
readonly width?: "content" | "fill";
|
|
17
|
+
/**
|
|
18
|
+
* Initial unresolved content (knowledge STATE-8): the label stays real text and the segments become one Skeleton block of the same
|
|
19
|
+
* height (one segment-width per option; `fill` stretches it), `aria-hidden`, nothing focusable; the root is `aria-busy`.
|
|
20
|
+
*/
|
|
21
|
+
readonly isSkeleton?: boolean;
|
|
17
22
|
};
|
|
18
23
|
/**
|
|
19
24
|
* One-of-few choice drawn as joined segments (a toggle-button group in single-selection mode, so it
|
|
20
25
|
* is announced as a radio group). A segment is never deselected by pressing it again. With `name`,
|
|
21
26
|
* the selected value is submitted through a hidden input so it works inside a Form.
|
|
22
27
|
*/
|
|
23
|
-
export declare const SegmentedControl: ({ options, value, defaultValue, onValueChange, width, label, isLabelHidden, description, errorMessage, isInvalid, isRequired, isDisabled, isReadOnly, name, }: SegmentedControlProps) => import("react").JSX.Element;
|
|
28
|
+
export declare const SegmentedControl: ({ options, value, defaultValue, onValueChange, width, label, isLabelHidden, description, errorMessage, isInvalid, isRequired, isDisabled, isReadOnly, name, isSkeleton, }: SegmentedControlProps) => import("react").JSX.Element;
|
|
24
29
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/SegmentedControl/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/SegmentedControl/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACvD,OAAO,EAAuD,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAE5H,MAAM,MAAM,aAAa,GAAG;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,6CAA6C;IAC7C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GAAG;IACpD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;IAC9C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,uDAAuD;IACvD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;IACnC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAOD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,2KAgB9B,qBAAqB,gCAsEvB,CAAA"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { ToggleButton as HeroToggleButton, ToggleButtonGroup as HeroToggleButtonGroup } from "@heroui/react";
|
|
4
4
|
import { useId, useState } from "react";
|
|
5
|
-
import { fieldStateAttributes, isFieldInvalid } from "../../primitive/Field/index.js";
|
|
5
|
+
import { fieldStateAttributes, FieldSkeleton, isFieldInvalid } from "../../primitive/Field/index.js";
|
|
6
6
|
const firstKey = (keys) => {
|
|
7
7
|
const first = keys[Symbol.iterator]().next();
|
|
8
8
|
return first.done ? undefined : String(first.value);
|
|
@@ -12,7 +12,7 @@ const firstKey = (keys) => {
|
|
|
12
12
|
* is announced as a radio group). A segment is never deselected by pressing it again. With `name`,
|
|
13
13
|
* the selected value is submitted through a hidden input so it works inside a Form.
|
|
14
14
|
*/
|
|
15
|
-
export const SegmentedControl = ({ options, value, defaultValue, onValueChange, width = "content", label, isLabelHidden, description, errorMessage, isInvalid, isRequired, isDisabled, isReadOnly, name, }) => {
|
|
15
|
+
export const SegmentedControl = ({ options, value, defaultValue, onValueChange, width = "content", label, isLabelHidden, description, errorMessage, isInvalid, isRequired, isDisabled, isReadOnly, name, isSkeleton = false, }) => {
|
|
16
16
|
const id = useId().replaceAll(":", "");
|
|
17
17
|
const [held, setHeld] = useState(value ?? defaultValue ?? options[0]?.value);
|
|
18
18
|
const selected = value ?? held;
|
|
@@ -21,6 +21,9 @@ export const SegmentedControl = ({ options, value, defaultValue, onValueChange,
|
|
|
21
21
|
const descriptionId = description == null ? undefined : `segmented${id}-description`;
|
|
22
22
|
const errorId = invalid && errorMessage != null ? `segmented${id}-error` : undefined;
|
|
23
23
|
const describedBy = [descriptionId, errorId].filter((part) => part !== undefined).join(" ");
|
|
24
|
+
if (isSkeleton) {
|
|
25
|
+
return _jsx(FieldSkeleton, { component: "SegmentedControl", tier: "composite", label: label, isLabelHidden: isLabelHidden, isRequired: isRequired, kind: "segmented", count: options.length, fill: width === "fill", className: "starci-core-segmented-control" });
|
|
26
|
+
}
|
|
24
27
|
return (_jsxs("div", { "data-tier": "composite", "data-component": "SegmentedControl", "data-contract": "A11Y-1 FIELD-2", "data-width": width, className: "starci-core-field starci-core-segmented-control", ...fieldStateAttributes({ isInvalid: invalid, isDisabled, isReadOnly, isRequired }), children: [_jsx("span", { id: labelId, className: isLabelHidden === true ? "starci-core-field-label starci-core-form-label--screen-reader" : "starci-core-field-label", "data-grammar-field-label": "true", children: label }), _jsx(HeroToggleButtonGroup, { "aria-labelledby": labelId, ...(describedBy === "" ? {} : { "aria-describedby": describedBy }), selectionMode: "single", disallowEmptySelection: true, fullWidth: width === "fill", ...(isDisabled === true ? { isDisabled: true } : {}), selectedKeys: selected === undefined ? [] : [selected], onSelectionChange: (keys) => {
|
|
25
28
|
const next = firstKey(keys);
|
|
26
29
|
if (isReadOnly === true || next === undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/SegmentedControl/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,iBAAiB,IAAI,qBAAqB,EAAY,MAAM,eAAe,CAAA;AACtH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAA;AACvD,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAA0B,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/SegmentedControl/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,12 @@ export type StepperProps = {
|
|
|
21
21
|
/** App-owned marker; defaults to the 1-based step number. */
|
|
22
22
|
readonly renderMarker?: (step: StepperStep, index: number, state: StepperStepState) => ReactNode;
|
|
23
23
|
readonly className?: string;
|
|
24
|
+
/**
|
|
25
|
+
* The flow is loading (knowledge STATE-8): step labels stay real text when given (an empty label draws a Skeleton text line), each
|
|
26
|
+
* marker becomes a static Skeleton circle, descriptions are not drawn, no step is current or a button, and the landmark is `aria-busy`.
|
|
27
|
+
* (A stepper draws no connector line, so there is none to tint.)
|
|
28
|
+
*/
|
|
29
|
+
readonly isLoading?: boolean;
|
|
24
30
|
};
|
|
25
31
|
/** Position-derived state: before the current step is complete, after it is upcoming. */
|
|
26
32
|
export declare const stepStateFor: (steps: ReadonlyArray<StepperStep>, currentStepId: string, index: number) => StepperStepState;
|
|
@@ -30,5 +36,5 @@ export declare const stepStateFor: (steps: ReadonlyArray<StepperStep>, currentSt
|
|
|
30
36
|
* between them. Below 30rem a horizontal stepper keeps only the current step's label in the paint.
|
|
31
37
|
* Contract: list HIERARCHY-3 (+FOCUS-2 when interactive), step STATE-1, marker ICON-6, control FOCUS-1.
|
|
32
38
|
*/
|
|
33
|
-
export declare const Stepper: ({ label, steps, currentStepId, orientation, onStepSelect, stateLabel, renderMarker, className, }: StepperProps) => import("react").JSX.Element;
|
|
39
|
+
export declare const Stepper: ({ label, steps, currentStepId, orientation, onStepSelect, stateLabel, renderMarker, className, isLoading, }: StepperProps) => import("react").JSX.Element;
|
|
34
40
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/Stepper/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/Stepper/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKtC,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAA;AAE5E,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAA;IAChC,4FAA4F;IAC5F,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;IAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IAChD,4FAA4F;IAC5F,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,2GAA2G;IAC3G,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,MAAM,GAAG,SAAS,CAAA;IACrE,6DAA6D;IAC7D,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,KAAK,SAAS,CAAA;IAChG,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAC/B,CAAA;AAED,yFAAyF;AACzF,eAAO,MAAM,YAAY,GAAI,OAAO,aAAa,CAAC,WAAW,CAAC,EAAE,eAAe,MAAM,EAAE,OAAO,MAAM,KAAG,gBAMtG,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,6GAUrB,YAAY,gCA+Ed,CAAA"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import { moveFocusBetweenPeers } from "../../navigationKeys.js";
|
|
4
4
|
import { navigationClassName } from "../../navigationClassNames.js";
|
|
5
|
+
import { Skeleton } from "../../primitive/Skeleton/index.js";
|
|
5
6
|
/** Position-derived state: before the current step is complete, after it is upcoming. */
|
|
6
7
|
export const stepStateFor = (steps, currentStepId, index) => {
|
|
7
8
|
const step = steps[index];
|
|
@@ -18,7 +19,7 @@ export const stepStateFor = (steps, currentStepId, index) => {
|
|
|
18
19
|
* between them. Below 30rem a horizontal stepper keeps only the current step's label in the paint.
|
|
19
20
|
* Contract: list HIERARCHY-3 (+FOCUS-2 when interactive), step STATE-1, marker ICON-6, control FOCUS-1.
|
|
20
21
|
*/
|
|
21
|
-
export const Stepper = ({ label, steps, currentStepId, orientation = "horizontal", onStepSelect, stateLabel, renderMarker, className, }) => (_jsx("nav", { "aria-label": label, className: navigationClassName("starci-core-stepper", className), "data-component": "Stepper", "data-tier": "composite", "data-grammar-stepper-orientation": orientation, "data-grammar-stepper-interactive": onStepSelect === undefined ? "false" : "true", children: _jsx("ol", { className: "starci-core-stepper-list", "data-contract": onStepSelect === undefined ? "HIERARCHY-3" : "HIERARCHY-3 FOCUS-2", onKeyDown: onStepSelect === undefined ? undefined : (event) => { moveFocusBetweenPeers(event, "[data-grammar-step-control]", orientation === "vertical" ? "vertical" : "horizontal"); }, children: steps.map((step, index) => {
|
|
22
|
+
export const Stepper = ({ label, steps, currentStepId, orientation = "horizontal", onStepSelect, stateLabel, renderMarker, className, isLoading = false, }) => isLoading ? (_jsx("nav", { "aria-label": label, "aria-busy": "true", className: navigationClassName("starci-core-stepper", className), "data-component": "Stepper", "data-tier": "composite", "data-loading": "true", "data-grammar-stepper-orientation": orientation, "data-grammar-stepper-interactive": "false", children: _jsx("ol", { className: "starci-core-stepper-list", "data-contract": "HIERARCHY-3 STATE-8", children: steps.map((step) => (_jsx("li", { className: "starci-core-step", "data-contract": "STATE-1", "data-grammar-step-state": "upcoming", "data-grammar-current": "false", "data-grammar-skeleton": "true", children: _jsxs("span", { className: "starci-core-step-body", children: [_jsx("span", { "aria-hidden": "true", className: "starci-core-step-marker starci-core-step-skeleton-marker", "data-grammar-step-marker": "true", children: _jsx(Skeleton, { shape: "circle", size: "sm" }) }), _jsx("span", { className: "starci-core-step-copy", children: step.label === "" ? _jsx("span", { "aria-hidden": "true", className: "starci-core-step-skeleton-label", children: _jsx(Skeleton, { shape: "text" }) }) : _jsx("span", { className: "starci-core-step-label", "data-grammar-step-label": "true", children: step.label }) })] }) }, step.id))) }) })) : (_jsx("nav", { "aria-label": label, className: navigationClassName("starci-core-stepper", className), "data-component": "Stepper", "data-tier": "composite", "data-grammar-stepper-orientation": orientation, "data-grammar-stepper-interactive": onStepSelect === undefined ? "false" : "true", children: _jsx("ol", { className: "starci-core-stepper-list", "data-contract": onStepSelect === undefined ? "HIERARCHY-3" : "HIERARCHY-3 FOCUS-2", onKeyDown: onStepSelect === undefined ? undefined : (event) => { moveFocusBetweenPeers(event, "[data-grammar-step-control]", orientation === "vertical" ? "vertical" : "horizontal"); }, children: steps.map((step, index) => {
|
|
22
23
|
const state = stepStateFor(steps, currentStepId, index);
|
|
23
24
|
const announcement = stateLabel?.(state);
|
|
24
25
|
const content = _jsxs(_Fragment, { children: [_jsx("span", { "aria-hidden": "true", className: "starci-core-step-marker", "data-contract": "ICON-6", "data-grammar-step-marker": "true", children: renderMarker === undefined ? index + 1 : renderMarker(step, index, state) }), _jsxs("span", { className: "starci-core-step-copy", children: [_jsx("span", { className: "starci-core-step-label", "data-grammar-step-label": "true", children: step.label }), announcement === undefined ? null : _jsx("span", { className: "starci-core-nav-visually-hidden", children: `, ${announcement}` }), step.description === undefined ? null : _jsx("span", { className: "starci-core-step-description", "data-grammar-step-description": "true", children: step.description })] })] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/Stepper/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAGZ,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/Stepper/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -18,11 +18,18 @@ export type TimelineProps = {
|
|
|
18
18
|
readonly label: string;
|
|
19
19
|
readonly items: ReadonlyArray<TimelineItem>;
|
|
20
20
|
readonly className?: string;
|
|
21
|
+
/**
|
|
22
|
+
* The history is loading (knowledge STATE-8). With no `items` it draws `loadingRows` skeleton entries (a static marker, a title line,
|
|
23
|
+
* a time line and a description line, `aria-hidden`) in the same named list, which is `aria-busy`; real `items` win.
|
|
24
|
+
*/
|
|
25
|
+
readonly isLoading?: boolean;
|
|
26
|
+
/** How many skeleton entries a loading timeline draws (default 3, 1 to 12). */
|
|
27
|
+
readonly loadingRows?: number;
|
|
21
28
|
};
|
|
22
29
|
/**
|
|
23
30
|
* An ordered history of events. Each entry exposes `data-grammar-timeline-state` from the Common
|
|
24
31
|
* presentation states and `data-grammar-current`; the connector line is drawn by the stylesheet.
|
|
25
32
|
* Contract: list HIERARCHY-3, entry STATE-1 TRUTH-1 (closed presentation states, neutral default), marker ICON-6.
|
|
26
33
|
*/
|
|
27
|
-
export declare const Timeline: ({ label, items, className }: TimelineProps) => import("react").JSX.Element;
|
|
34
|
+
export declare const Timeline: ({ label, items, className, isLoading, loadingRows }: TimelineProps) => import("react").JSX.Element;
|
|
28
35
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/Timeline/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/Timeline/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAI1F,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,6FAA6F;IAC7F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAA;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAA;IAClC,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,iDAAiD;IACjD,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IACxB,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,+EAA+E;IAC/E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAChC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,qDAAiE,aAAa,gCA2CtG,CAAA"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { assertPresentationState } from "../../../common/state.js";
|
|
3
3
|
import { navigationClassName } from "../../navigationClassNames.js";
|
|
4
|
+
import { Skeleton } from "../../primitive/Skeleton/index.js";
|
|
4
5
|
/**
|
|
5
6
|
* An ordered history of events. Each entry exposes `data-grammar-timeline-state` from the Common
|
|
6
7
|
* presentation states and `data-grammar-current`; the connector line is drawn by the stylesheet.
|
|
7
8
|
* Contract: list HIERARCHY-3, entry STATE-1 TRUTH-1 (closed presentation states, neutral default), marker ICON-6.
|
|
8
9
|
*/
|
|
9
|
-
export const Timeline = ({ label, items, className }) => (_jsx("ol", { "aria-label": label, className: navigationClassName("starci-core-timeline", className), "data-component": "Timeline", "data-contract": "HIERARCHY-3", "data-tier": "composite", children: items.map((item) => {
|
|
10
|
+
export const Timeline = ({ label, items, className, isLoading = false, loadingRows = 3 }) => (_jsx("ol", { "aria-label": label, "data-loading": String(isLoading), ...(isLoading ? { "aria-busy": true } : {}), className: navigationClassName("starci-core-timeline", className), "data-component": "Timeline", "data-contract": "HIERARCHY-3", "data-tier": "composite", children: isLoading && items.length === 0 ? Array.from({ length: Math.min(12, Math.max(1, Math.floor(Number.isFinite(loadingRows) ? loadingRows : 3))) }, (_, index) => (_jsxs("li", { "aria-hidden": "true", className: "starci-core-timeline-item", "data-contract": "STATE-1 STATE-8", "data-grammar-timeline-state": "neutral", "data-grammar-current": "false", "data-grammar-skeleton": "true", children: [_jsx("span", { "aria-hidden": "true", className: "starci-core-timeline-marker starci-core-timeline-skeleton-marker", "data-grammar-timeline-marker": "true", children: _jsx(Skeleton, { shape: "circle", size: "sm" }) }), _jsxs("div", { className: "starci-core-timeline-copy", children: [_jsx("p", { className: "starci-core-timeline-title", children: _jsx(Skeleton, { shape: "text" }) }), _jsx("span", { className: "starci-core-timeline-time", children: _jsx(Skeleton, { shape: "text" }) }), _jsx("div", { className: "starci-core-timeline-description", children: _jsx(Skeleton, { shape: "text" }) })] })] }, index))) : items.map((item) => {
|
|
10
11
|
const state = item.state ?? "neutral";
|
|
11
12
|
assertPresentationState(state);
|
|
12
13
|
return (_jsxs("li", { "aria-current": item.isCurrent ? "step" : undefined, className: "starci-core-timeline-item", "data-contract": "STATE-1 TRUTH-1", "data-grammar-timeline-state": state, "data-grammar-current": item.isCurrent ? "true" : "false", children: [_jsx("span", { "aria-hidden": "true", className: "starci-core-timeline-marker", "data-contract": "ICON-6", "data-grammar-timeline-marker": "true", children: item.marker }), _jsxs("div", { className: "starci-core-timeline-copy", children: [_jsx("p", { className: "starci-core-timeline-title", children: item.title }), item.timeLabel === undefined ? null : (_jsx("time", { className: "starci-core-timeline-time", ...(item.dateTime === undefined ? {} : { dateTime: item.dateTime }), children: item.timeLabel })), item.description === undefined ? null : _jsx("div", { className: "starci-core-timeline-description", children: item.description })] })] }, item.id));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/Timeline/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,uBAAuB,EAA0B,MAAM,0BAA0B,CAAA;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/Timeline/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,11 @@ export type AvatarProps = {
|
|
|
12
12
|
/** Selected/current identity, e.g. the active account in a switcher. */
|
|
13
13
|
readonly isCurrent?: boolean;
|
|
14
14
|
readonly className?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Initial unresolved identity (knowledge STATE-8): a Skeleton circle at the avatar's `size`, `aria-hidden` (no name, no image, no
|
|
17
|
+
* initials). The owning list or card carries `aria-busy`.
|
|
18
|
+
*/
|
|
19
|
+
readonly isSkeleton?: boolean;
|
|
15
20
|
};
|
|
16
21
|
/** Up to two initials from a display name; letters only come from the name the app supplied. */
|
|
17
22
|
export declare const avatarInitials: (name: string) => string;
|
|
@@ -30,5 +35,5 @@ export declare const avatarA11yProps: (name: string, isDecorative: boolean) => {
|
|
|
30
35
|
* A person or entity mark with image, initials fallback and an explicit accessible name.
|
|
31
36
|
* Contract: ICON-6 (named once or aria-hidden when decorative), MEDIA-5 (initials while loading/failed).
|
|
32
37
|
*/
|
|
33
|
-
export declare const Avatar: ({ name, src, fallback, size, isDecorative, isCurrent, className }: AvatarProps) => import("react").JSX.Element;
|
|
38
|
+
export declare const Avatar: ({ name, src, fallback, size, isDecorative, isCurrent, className, isSkeleton }: AvatarProps) => import("react").JSX.Element;
|
|
34
39
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Avatar/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Avatar/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAE3C,MAAM,MAAM,WAAW,GAAG;IACtB,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,8FAA8F;IAC9F,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,+FAA+F;IAC/F,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,wEAAwE;IACxE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,gGAAgG;AAChG,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,MAOtB,CAAA;AAExB,mFAAmF;AACnF,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,EAAE,KAAK,MAAM,GAAG,SAAS,EAAE,UAAU,SAAS,GAAG,SAAS,gCAG/F,CAAA;AAEH,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,cAAc,OAAO;;;;;;;;CAEjB,CAAA;AAElD;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAI,+EAA8G,WAAW,gCA0B/I,CAAA"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { Avatar as HeroAvatar } from "@heroui/react";
|
|
4
4
|
import { navigationClassName } from "../../navigationClassNames.js";
|
|
5
|
+
import { Skeleton } from "../Skeleton/index.js";
|
|
5
6
|
/** Up to two initials from a display name; letters only come from the name the app supplied. */
|
|
6
7
|
export const avatarInitials = (name) => name
|
|
7
8
|
.trim()
|
|
@@ -20,5 +21,5 @@ export const avatarA11yProps = (name, isDecorative) => isDecorative
|
|
|
20
21
|
* A person or entity mark with image, initials fallback and an explicit accessible name.
|
|
21
22
|
* Contract: ICON-6 (named once or aria-hidden when decorative), MEDIA-5 (initials while loading/failed).
|
|
22
23
|
*/
|
|
23
|
-
export const Avatar = ({ name, src, fallback, size = "md", isDecorative = false, isCurrent = false, className }) => (_jsx(HeroAvatar, { ...avatarA11yProps(name, isDecorative), className: navigationClassName("starci-core-avatar", className), "data-component": "Avatar", "data-contract": "ICON-6 MEDIA-5", "data-tier": "atom", "data-grammar-avatar-size": size, "data-grammar-current": isCurrent ? "true" : "false", size: size, children: avatarParts(name, src, fallback) }));
|
|
24
|
+
export const Avatar = ({ name, src, fallback, size = "md", isDecorative = false, isCurrent = false, className, isSkeleton = false }) => isSkeleton ? (_jsx("span", { "aria-hidden": "true", className: navigationClassName("starci-core-avatar starci-core-avatar-skeleton", className), "data-component": "Avatar", "data-contract": "STATE-8", "data-tier": "atom", "data-grammar-avatar-size": size, "data-grammar-current": "false", "data-grammar-skeleton": "true", children: _jsx(Skeleton, { shape: "circle", size: size }) })) : (_jsx(HeroAvatar, { ...avatarA11yProps(name, isDecorative), className: navigationClassName("starci-core-avatar", className), "data-component": "Avatar", "data-contract": "ICON-6 MEDIA-5", "data-tier": "atom", "data-grammar-avatar-size": size, "data-grammar-current": isCurrent ? "true" : "false", size: size, children: avatarParts(name, src, fallback) }));
|
|
24
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Avatar/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,eAAe,CAAA;AAEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Avatar/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,eAAe,CAAA;AAEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAuB/C,gGAAgG;AAChG,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI;KACvD,IAAI,EAAE;KACN,KAAK,CAAC,KAAK,CAAC;KACZ,MAAM,CAAC,OAAO,CAAC;KACf,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;KACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;KACxC,IAAI,CAAC,EAAE,CAAC;KACR,iBAAiB,EAAE,CAAA;AAExB,mFAAmF;AACnF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,GAAuB,EAAE,QAA+B,EAAE,EAAE,CAAC,8BAClG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAC,UAAU,CAAC,KAAK,IAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAE,GAAG,GAAI,EACjE,KAAC,UAAU,CAAC,QAAQ,mBAAa,MAAM,kCAA8B,MAAM,YAAE,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,GAAuB,IACrI,CAAA;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,YAAqB,EAAE,EAAE,CAAC,YAAY;IAChF,CAAC,CAAC,EAAE,aAAa,EAAE,IAAa,EAAE;IAClC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAc,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;AAElD;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,GAAG,IAAI,EAAE,YAAY,GAAG,KAAK,EAAE,SAAS,GAAG,KAAK,EAAE,SAAS,EAAE,UAAU,GAAG,KAAK,EAAe,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAC9J,8BACgB,MAAM,EAClB,SAAS,EAAE,mBAAmB,CAAC,gDAAgD,EAAE,SAAS,CAAC,oBAC5E,QAAQ,mBACT,SAAS,eACb,MAAM,8BACU,IAAI,0BACT,OAAO,2BACN,MAAM,YAE5B,KAAC,QAAQ,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAE,IAAI,GAAI,GACpC,CACV,CAAC,CAAC,CAAC,CACA,KAAC,UAAU,OACH,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,EACvC,SAAS,EAAE,mBAAmB,CAAC,oBAAoB,EAAE,SAAS,CAAC,oBAChD,QAAQ,mBACT,gBAAgB,eACpB,MAAM,8BACU,IAAI,0BACR,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAClD,IAAI,EAAE,IAAI,YAET,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,GACxB,CAChB,CAAA"}
|
|
@@ -136,4 +136,28 @@ export type FieldProps = FieldControlProps & {
|
|
|
136
136
|
* control so a custom control is announced exactly like a Grammar one.
|
|
137
137
|
*/
|
|
138
138
|
export declare const Field: ({ id: idProp, label, isLabelHidden, description, errorMessage, isInvalid, isRequired, isDisabled, isReadOnly, name, children, }: FieldProps) => import("react").JSX.Element;
|
|
139
|
+
export type FieldSkeletonKind = "select" | "textarea" | "input" | "segmented" | "choices" | "switch";
|
|
140
|
+
/**
|
|
141
|
+
* Loading view of a field (knowledge STATE-8): the label stays real text, the control becomes Skeleton geometry of the loaded
|
|
142
|
+
* control's size. The geometry is `aria-hidden` and nothing in it is focusable; the root owns `aria-busy`. Description and error
|
|
143
|
+
* copy are not drawn (they are content, and nothing is invalid while loading).
|
|
144
|
+
* `kind`: `select` and `input` a one-line field block, `textarea` the `rows` height, `segmented` a joined-segments block
|
|
145
|
+
* (`count` segments wide; `fill` stretches it), `choices` one Skeleton box per option beside its real label, `switch` a
|
|
146
|
+
* Skeleton track beside the real label.
|
|
147
|
+
*/
|
|
148
|
+
export declare const FieldSkeleton: ({ component, tier, label, isLabelHidden, isRequired, variant, kind, rows, count, fill, choiceLabels, orientation, className }: {
|
|
149
|
+
readonly component: string;
|
|
150
|
+
readonly tier: "atom" | "branch" | "composite";
|
|
151
|
+
readonly label: ReactNode;
|
|
152
|
+
readonly isLabelHidden?: boolean | undefined;
|
|
153
|
+
readonly isRequired?: boolean | undefined;
|
|
154
|
+
readonly variant?: FieldVariant | undefined;
|
|
155
|
+
readonly kind: FieldSkeletonKind;
|
|
156
|
+
readonly rows?: number;
|
|
157
|
+
readonly count?: number;
|
|
158
|
+
readonly fill?: boolean;
|
|
159
|
+
readonly choiceLabels?: ReadonlyArray<ReactNode>;
|
|
160
|
+
readonly orientation?: "vertical" | "horizontal";
|
|
161
|
+
readonly className: string;
|
|
162
|
+
}) => import("react").JSX.Element;
|
|
139
163
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Field/index.tsx"],"names":[],"mappings":"AAOA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Field/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import { Description as HeroDescription, FieldError as HeroFieldError, Label as HeroLabel, } from "@heroui/react";
|
|
4
4
|
import { useCallback, useId, useState } from "react";
|
|
5
|
+
import { Skeleton } from "../Skeleton/index.js";
|
|
5
6
|
/** The hook a rendered control carries so a gate reads its layer variant without vendor class names. */
|
|
6
7
|
export const fieldVariantAttributes = (variant) => ({ "data-grammar-variant": variant });
|
|
7
8
|
/** Folds the control's state into the render-neutral presentation vocabulary. */
|
|
@@ -99,4 +100,17 @@ export const Field = ({ id: idProp, label, isLabelHidden, description, errorMess
|
|
|
99
100
|
...(isReadOnly === true ? { readOnly: true } : {}),
|
|
100
101
|
}) }), errorId === undefined ? null : (_jsx("span", { id: errorId, className: "starci-core-field-error", "data-grammar-field-error": "true", "data-contract": "FEEDBACK-1", children: errorMessage }))] }));
|
|
101
102
|
};
|
|
103
|
+
/**
|
|
104
|
+
* Loading view of a field (knowledge STATE-8): the label stays real text, the control becomes Skeleton geometry of the loaded
|
|
105
|
+
* control's size. The geometry is `aria-hidden` and nothing in it is focusable; the root owns `aria-busy`. Description and error
|
|
106
|
+
* copy are not drawn (they are content, and nothing is invalid while loading).
|
|
107
|
+
* `kind`: `select` and `input` a one-line field block, `textarea` the `rows` height, `segmented` a joined-segments block
|
|
108
|
+
* (`count` segments wide; `fill` stretches it), `choices` one Skeleton box per option beside its real label, `switch` a
|
|
109
|
+
* Skeleton track beside the real label.
|
|
110
|
+
*/
|
|
111
|
+
export const FieldSkeleton = ({ component, tier, label, isLabelHidden, isRequired, variant, kind, rows, count, fill, choiceLabels, orientation, className }) => {
|
|
112
|
+
const geometry = (shape, style, extra) => (_jsx("span", { "aria-hidden": "true", className: "starci-core-field-skeleton-control", "data-grammar-field-skeleton": shape, ...(extra ?? {}), ...(style === undefined ? {} : { style }), children: _jsx(Skeleton, { shape: "rect" }) }));
|
|
113
|
+
const labelNode = (_jsxs("span", { className: labelClassName(isLabelHidden), "data-grammar-field-label": "true", children: [label, isRequired === true ? _jsx("span", { "aria-hidden": "true", className: "starci-core-field-required", children: "*" }) : null] }));
|
|
114
|
+
return (_jsx("div", { "data-tier": tier, "data-component": component, "data-contract": "A11Y-1 FIELD-1 STATE-8", className: `${kind === "switch" ? "starci-core-choice" : "starci-core-field"} ${className} starci-core-field-skeleton`, ...(variant === undefined ? {} : fieldVariantAttributes(variant)), ...(orientation === undefined ? {} : { "data-grammar-orientation": orientation }), "data-grammar-skeleton": "true", "data-loading": "true", "aria-busy": "true", children: kind === "switch" ? (_jsxs("span", { className: "starci-core-choice-content", children: [geometry("switch"), labelNode] })) : (_jsxs(_Fragment, { children: [labelNode, kind === "choices" ? (_jsx("div", { className: "starci-core-choice-group-options", children: (choiceLabels ?? []).map((choiceLabel, index) => (_jsxs("span", { className: "starci-core-choice-content", children: [geometry("choice"), _jsx("span", { className: "starci-core-field-skeleton-choice-label", children: choiceLabel })] }, index))) })) : kind === "textarea" ? (geometry("textarea", { "--starci-core-skeleton-rows": Math.max(1, Math.round(Number.isFinite(rows) ? rows : 4)) })) : kind === "segmented" ? (geometry("segmented", { "--starci-core-skeleton-segments": Math.max(1, Math.round(count ?? 2)) }, { "data-width": fill === true ? "fill" : "content" })) : (geometry(kind))] })) }));
|
|
115
|
+
};
|
|
102
116
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Field/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EACH,WAAW,IAAI,eAAe,EAC9B,UAAU,IAAI,cAAc,EAC5B,KAAK,IAAI,SAAS,GACrB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Field/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,12 @@ export type MeterProps = {
|
|
|
25
25
|
* accessible name and `aria-value*`. Out-of-range counts from untyped callers clamp to 2..12.
|
|
26
26
|
*/
|
|
27
27
|
readonly segments?: MeterSegments;
|
|
28
|
+
/**
|
|
29
|
+
* Initial unresolved reading (knowledge STATE-8), the twin of `Progress isSkeleton`: the `label` stays real text, the
|
|
30
|
+
* bar is a static Skeleton bar of the track height, and no `role="meter"`, value or reading is announced (a skeleton is
|
|
31
|
+
* not a zero measurement). The geometry is `aria-hidden`; the root is `aria-busy`. `value`, `tone` and `segments` are ignored.
|
|
32
|
+
*/
|
|
33
|
+
readonly isSkeleton?: boolean;
|
|
28
34
|
};
|
|
29
|
-
export declare const Meter: ({ label, value, minValue, maxValue, valueLabel, tone, isLabelHidden, segments, }: MeterProps) => import("react").JSX.Element;
|
|
35
|
+
export declare const Meter: ({ label, value, minValue, maxValue, valueLabel, tone, isLabelHidden, segments, isSkeleton, }: MeterProps) => import("react").JSX.Element;
|
|
30
36
|
//# 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;
|
|
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;AAIjE;;;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;IACjC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AA0BD,eAAO,MAAM,KAAK,GAAI,8FAUnB,UAAU,gCAmEZ,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
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
|
+
import { Skeleton } from "../Skeleton/index.js";
|
|
4
5
|
const MIN_SEGMENTS = 2;
|
|
5
6
|
const MAX_SEGMENTS = 12;
|
|
6
7
|
/** A whole segment count in 2..12, whatever an untyped caller passed. */
|
|
@@ -21,7 +22,10 @@ const wholeNumber = (value, fallback) => (Number.isFinite(value) ? Math.round(va
|
|
|
21
22
|
* `data-grammar-meter-segments` and each segment its state on `data-grammar-meter-segment`.
|
|
22
23
|
*/
|
|
23
24
|
const renderMeterRoot = (domProps) => _jsx("div", { ...domProps, role: "meter" });
|
|
24
|
-
export const Meter = ({ label, value, minValue = 0, maxValue = 100, valueLabel, tone = "neutral", isLabelHidden = false, segments, }) => {
|
|
25
|
+
export const Meter = ({ label, value, minValue = 0, maxValue = 100, valueLabel, tone = "neutral", isLabelHidden = false, segments, isSkeleton = false, }) => {
|
|
26
|
+
if (isSkeleton) {
|
|
27
|
+
return (_jsxs("div", { "data-tier": "atom", "data-component": "Meter", "data-loading": "true", "data-grammar-skeleton": "true", "data-grammar-tone": "neutral", "data-contract": "A11Y-3 STATE-8", "aria-busy": "true", className: "starci-core-meter starci-core-meter-skeleton", children: [_jsx("span", { className: "starci-core-meter-header", children: _jsx("span", { className: isLabelHidden ? "starci-core-meter-label starci-core-form-label--screen-reader" : "starci-core-meter-label", children: label }) }), _jsx("span", { "aria-hidden": "true", "data-slot": "meter-track", className: "starci-core-meter-skeleton-bar", children: _jsx(Skeleton, { shape: "rect" }) })] }));
|
|
28
|
+
}
|
|
25
29
|
const status = vendorStatusFor(tone);
|
|
26
30
|
const count = segments === undefined ? undefined : clampSegments(segments);
|
|
27
31
|
const min = count === undefined ? minValue : wholeNumber(minValue, 0);
|
|
@@ -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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"}
|
|
@@ -14,10 +14,15 @@ export type NumberFieldProps = FieldControlProps & {
|
|
|
14
14
|
readonly hideSteppers?: boolean;
|
|
15
15
|
/** Layer variant: `secondary` when the control sits on a surface (ANATOMY-2 case-1). */
|
|
16
16
|
readonly variant?: "primary" | "secondary";
|
|
17
|
+
/**
|
|
18
|
+
* Initial unresolved content (knowledge STATE-8): the label stays real text and the input group becomes Skeleton geometry of the same size,
|
|
19
|
+
* `aria-hidden` and not focusable; the root is `aria-busy`. Value, description and error copy are not drawn.
|
|
20
|
+
*/
|
|
21
|
+
readonly isSkeleton?: boolean;
|
|
17
22
|
};
|
|
18
23
|
/**
|
|
19
24
|
* A number with stepping. The vendor owns `role="spinbutton"`-equivalent semantics on the input,
|
|
20
25
|
* locale parsing, arrow-key and wheel stepping, clamping to min/max and the localized stepper names.
|
|
21
26
|
*/
|
|
22
|
-
export declare const NumberField: ({ id, placeholder, value, defaultValue, onValueChange, minValue, maxValue, step, formatOptions, hideSteppers, variant, ...field }: NumberFieldProps) => import("react").JSX.Element;
|
|
27
|
+
export declare const NumberField: ({ id, placeholder, value, defaultValue, onValueChange, minValue, maxValue, step, formatOptions, hideSteppers, variant, isSkeleton, ...field }: NumberFieldProps) => import("react").JSX.Element;
|
|
23
28
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/NumberField/index.tsx"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/NumberField/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAOH,KAAK,iBAAiB,EACzB,MAAM,mBAAmB,CAAA;AAE1B,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG;IAC/C,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,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,uEAAuE;IACvE,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAA;IACjD,mFAAmF;IACnF,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,wFAAwF;IACxF,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAA;IAC1C;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAQD;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,+IAczB,gBAAgB,gCAiClB,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { NumberField as HeroNumberField } from "@heroui/react";
|
|
4
|
-
import { FieldDescription, FieldErrorText, FieldLabel, fieldVariantAttributes, vendorFieldProps, } from "../Field/index.js";
|
|
4
|
+
import { FieldDescription, FieldErrorText, FieldLabel, FieldSkeleton, fieldVariantAttributes, vendorFieldProps, } from "../Field/index.js";
|
|
5
5
|
/*
|
|
6
6
|
* Consumer hook: `starci-core-number-field` names this control's root for a consumer or family
|
|
7
7
|
* stylesheet. No shipped sheet paints it: the root is drawn as a whole by `.starci-core-field`, so
|
|
@@ -11,5 +11,5 @@ import { FieldDescription, FieldErrorText, FieldLabel, fieldVariantAttributes, v
|
|
|
11
11
|
* A number with stepping. The vendor owns `role="spinbutton"`-equivalent semantics on the input,
|
|
12
12
|
* locale parsing, arrow-key and wheel stepping, clamping to min/max and the localized stepper names.
|
|
13
13
|
*/
|
|
14
|
-
export const NumberField = ({ id, placeholder, value, defaultValue, onValueChange, minValue, maxValue, step, formatOptions, hideSteppers = false, variant = "primary", ...field }) => (_jsxs(HeroNumberField, { "data-tier": "atom", "data-component": "NumberField", "data-contract": "A11Y-1 FIELD-1 FIELD-2 FIELD-3", className: "starci-core-field starci-core-number-field", fullWidth: true, variant: variant, ...fieldVariantAttributes(variant), ...vendorFieldProps(field), isReadOnly: field.isReadOnly === true, ...(value === undefined ? defaultValue === undefined ? {} : { defaultValue } : { value }), ...(onValueChange === undefined ? {} : { onChange: onValueChange }), ...(minValue === undefined ? {} : { minValue }), ...(maxValue === undefined ? {} : { maxValue }), ...(step === undefined ? {} : { step }), ...(formatOptions === undefined ? {} : { formatOptions }), children: [_jsx(FieldLabel, { isHidden: field.isLabelHidden, isRequired: field.isRequired, children: field.label }), _jsxs(HeroNumberField.Group, { className: "starci-core-number-field-group", "data-grammar-field-control": "true", children: [hideSteppers ? null : _jsx(HeroNumberField.DecrementButton, { className: "starci-core-number-field-step" }), _jsx(HeroNumberField.Input, { ...(id === undefined ? {} : { id }), ...(placeholder === undefined ? {} : { placeholder }), className: "starci-core-number-field-input" }), hideSteppers ? null : _jsx(HeroNumberField.IncrementButton, { className: "starci-core-number-field-step" })] }), _jsx(FieldDescription, { children: field.description }), _jsx(FieldErrorText, { children: field.errorMessage })] }));
|
|
14
|
+
export const NumberField = ({ id, placeholder, value, defaultValue, onValueChange, minValue, maxValue, step, formatOptions, hideSteppers = false, variant = "primary", isSkeleton = false, ...field }) => isSkeleton ? (_jsx(FieldSkeleton, { component: "NumberField", tier: "atom", label: field.label, isLabelHidden: field.isLabelHidden, isRequired: field.isRequired, variant: variant, kind: "input", className: "starci-core-number-field" })) : (_jsxs(HeroNumberField, { "data-tier": "atom", "data-component": "NumberField", "data-contract": "A11Y-1 FIELD-1 FIELD-2 FIELD-3", className: "starci-core-field starci-core-number-field", fullWidth: true, variant: variant, ...fieldVariantAttributes(variant), ...vendorFieldProps(field), isReadOnly: field.isReadOnly === true, ...(value === undefined ? defaultValue === undefined ? {} : { defaultValue } : { value }), ...(onValueChange === undefined ? {} : { onChange: onValueChange }), ...(minValue === undefined ? {} : { minValue }), ...(maxValue === undefined ? {} : { maxValue }), ...(step === undefined ? {} : { step }), ...(formatOptions === undefined ? {} : { formatOptions }), children: [_jsx(FieldLabel, { isHidden: field.isLabelHidden, isRequired: field.isRequired, children: field.label }), _jsxs(HeroNumberField.Group, { className: "starci-core-number-field-group", "data-grammar-field-control": "true", children: [hideSteppers ? null : _jsx(HeroNumberField.DecrementButton, { className: "starci-core-number-field-step" }), _jsx(HeroNumberField.Input, { ...(id === undefined ? {} : { id }), ...(placeholder === undefined ? {} : { placeholder }), className: "starci-core-number-field-input" }), hideSteppers ? null : _jsx(HeroNumberField.IncrementButton, { className: "starci-core-number-field-step" })] }), _jsx(FieldDescription, { children: field.description }), _jsx(FieldErrorText, { children: field.errorMessage })] }));
|
|
15
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/NumberField/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,eAAe,CAAA;AAC9D,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,sBAAsB,EACtB,gBAAgB,GAEnB,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/NumberField/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -15,10 +15,15 @@ export type SearchFieldProps = FieldControlProps & {
|
|
|
15
15
|
readonly clearLabel?: string;
|
|
16
16
|
/** Layer variant: `secondary` when the control sits on a surface (ANATOMY-2 case-1). */
|
|
17
17
|
readonly variant?: "primary" | "secondary";
|
|
18
|
+
/**
|
|
19
|
+
* Initial unresolved content (knowledge STATE-8): the label stays real text and the search box becomes Skeleton geometry of the same size,
|
|
20
|
+
* `aria-hidden` and not focusable; the root is `aria-busy`. Value, description and error copy are not drawn.
|
|
21
|
+
*/
|
|
22
|
+
readonly isSkeleton?: boolean;
|
|
18
23
|
};
|
|
19
24
|
/**
|
|
20
25
|
* A text field whose job is a query: `type="search"`, a clear button, Escape to clear, Enter to
|
|
21
26
|
* submit - all the vendor's. The leading glyph is decoration; the label is the name.
|
|
22
27
|
*/
|
|
23
|
-
export declare const SearchField: ({ id, placeholder, value, defaultValue, onValueChange, onSubmit, onClear, isPending, clearLabel, variant, ...field }: SearchFieldProps) => import("react").JSX.Element;
|
|
28
|
+
export declare const SearchField: ({ id, placeholder, value, defaultValue, onValueChange, onSubmit, onClear, isPending, clearLabel, variant, isSkeleton, ...field }: SearchFieldProps) => import("react").JSX.Element;
|
|
24
29
|
//# sourceMappingURL=index.d.ts.map
|