@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
|
@@ -1,17 +1,147 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import { Tag as HeroTag, TagGroup as HeroTagGroup } from "@heroui/react";
|
|
4
|
+
import { useEffect, useId, useRef, useState } from "react";
|
|
5
|
+
import { FieldSkeletonScope } from "../../primitive/Field/index.js";
|
|
4
6
|
import { navigationClassName } from "../../navigationClassNames.js";
|
|
5
7
|
const toIds = (selection, items) => selection === "all"
|
|
6
8
|
? items.map((item) => item.id)
|
|
7
9
|
: [...selection].map(String);
|
|
10
|
+
const moveId = (ids, id, targetIndex) => {
|
|
11
|
+
const from = ids.indexOf(id);
|
|
12
|
+
const to = Math.min(ids.length - 1, Math.max(0, targetIndex));
|
|
13
|
+
if (from === -1 || from === to)
|
|
14
|
+
return ids;
|
|
15
|
+
const next = ids.filter((candidate) => candidate !== id);
|
|
16
|
+
next.splice(to, 0, id);
|
|
17
|
+
return next;
|
|
18
|
+
};
|
|
19
|
+
const tagIdOf = (target, root) => {
|
|
20
|
+
if (!(target instanceof Element))
|
|
21
|
+
return undefined;
|
|
22
|
+
const tag = target.closest("[data-grammar-tag-id]");
|
|
23
|
+
return tag !== null && root.contains(tag) ? tag.dataset.grammarTagId : undefined;
|
|
24
|
+
};
|
|
8
25
|
/**
|
|
9
|
-
* Chips/tags: static labels, selectable filters, or
|
|
26
|
+
* Chips/tags: static labels, selectable filters, removable tokens, or a reorderable set.
|
|
10
27
|
*
|
|
11
28
|
* Built on the vendor TagGroup, so arrow keys move between chips, Space/Enter toggle selection
|
|
12
29
|
* and Delete/Backspace remove. Each chip exposes `data-grammar-selected`; chips wrap onto new lines
|
|
13
30
|
* at narrow widths instead of overflowing.
|
|
31
|
+
* Reordering (`onReorder`) is Grammar's own layer: the vendor TagGroup has no drag-and-drop collection hooks, so the group
|
|
32
|
+
* wires native drag events for pointer users and Alt+arrow keys for keyboard users on top of the vendor tags, and announces
|
|
33
|
+
* each move through a live region.
|
|
14
34
|
* Contract: root STATE-1, list FOCUS-2, chip FOCUS-1, remove A11Y-2, empty STATE-3.
|
|
15
35
|
*/
|
|
16
|
-
export const TagGroup = (
|
|
36
|
+
export const TagGroup = (props) => props.isSkeleton === true
|
|
37
|
+
? _jsx(FieldSkeletonScope, { component: "TagGroup", children: _jsx(TagGroupControl, { ...props }) })
|
|
38
|
+
: _jsx(TagGroupControl, { ...props });
|
|
39
|
+
const TagGroupControl = ({ label, items, selectionMode = "none", selectedIds, defaultSelectedIds, onSelectionChange, onRemove, removeLabel, onReorder, reorderInstructions, reorderAnnouncement, emptyContent, size = "md", className, }) => {
|
|
40
|
+
const rootRef = useRef(null);
|
|
41
|
+
const instructionsId = useId();
|
|
42
|
+
const [announcement, setAnnouncement] = useState("");
|
|
43
|
+
const [draggingId, setDraggingId] = useState(undefined);
|
|
44
|
+
const [dropTargetId, setDropTargetId] = useState(undefined);
|
|
45
|
+
const ids = items.map((item) => item.id);
|
|
46
|
+
const reorderable = onReorder !== undefined;
|
|
47
|
+
// The vendor tag does not forward `draggable`, and the vendor group drops `aria-describedby`, so the group marks each
|
|
48
|
+
// enabled tag draggable and points the grid at the reorder instructions. The vendor collection renders its tags after
|
|
49
|
+
// this component's effects have run, so the marking also runs whenever the tags' DOM changes.
|
|
50
|
+
useEffect(() => {
|
|
51
|
+
const root = rootRef.current;
|
|
52
|
+
if (root === null || !reorderable)
|
|
53
|
+
return;
|
|
54
|
+
const mark = () => {
|
|
55
|
+
root.querySelectorAll("[data-grammar-tag-id]").forEach((tag) => {
|
|
56
|
+
const draggable = tag.getAttribute("aria-disabled") !== "true";
|
|
57
|
+
if (tag.draggable !== draggable)
|
|
58
|
+
tag.draggable = draggable;
|
|
59
|
+
});
|
|
60
|
+
const grid = root.querySelector("[role='grid']");
|
|
61
|
+
if (grid === null || reorderInstructions === undefined)
|
|
62
|
+
return;
|
|
63
|
+
const described = (grid.getAttribute("aria-describedby") ?? "").split(" ").filter((id) => id !== "");
|
|
64
|
+
if (!described.includes(instructionsId))
|
|
65
|
+
grid.setAttribute("aria-describedby", [...described, instructionsId].join(" "));
|
|
66
|
+
};
|
|
67
|
+
mark();
|
|
68
|
+
const observer = new MutationObserver(mark);
|
|
69
|
+
observer.observe(root, { childList: true, subtree: true, attributeFilter: ["aria-disabled", "aria-describedby"] });
|
|
70
|
+
return () => observer.disconnect();
|
|
71
|
+
}, [reorderable, reorderInstructions, instructionsId]);
|
|
72
|
+
const commit = (id, targetIndex) => {
|
|
73
|
+
if (onReorder === undefined || reorderAnnouncement === undefined)
|
|
74
|
+
return;
|
|
75
|
+
const next = moveId(ids, id, targetIndex);
|
|
76
|
+
if (next === ids)
|
|
77
|
+
return;
|
|
78
|
+
onReorder(next);
|
|
79
|
+
const item = items.find((candidate) => candidate.id === id);
|
|
80
|
+
setAnnouncement(reorderAnnouncement(item?.label ?? id, next.indexOf(id) + 1, next.length));
|
|
81
|
+
requestAnimationFrame(() => {
|
|
82
|
+
rootRef.current?.querySelector(`[data-grammar-tag-id="${CSS.escape(id)}"]`)?.focus();
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
const onKeyDown = (event) => {
|
|
86
|
+
const root = rootRef.current;
|
|
87
|
+
if (!reorderable || root === null || !event.altKey || event.ctrlKey || event.metaKey)
|
|
88
|
+
return;
|
|
89
|
+
const id = tagIdOf(event.target, root);
|
|
90
|
+
if (id === undefined || event.target !== root.querySelector(`[data-grammar-tag-id="${CSS.escape(id)}"]`))
|
|
91
|
+
return;
|
|
92
|
+
const rtl = getComputedStyle(root).direction === "rtl";
|
|
93
|
+
const index = ids.indexOf(id);
|
|
94
|
+
const target = event.key === "ArrowLeft" ? index + (rtl ? 1 : -1)
|
|
95
|
+
: event.key === "ArrowRight" ? index + (rtl ? -1 : 1)
|
|
96
|
+
: event.key === "ArrowUp" ? index - 1
|
|
97
|
+
: event.key === "ArrowDown" ? index + 1
|
|
98
|
+
: event.key === "Home" ? 0
|
|
99
|
+
: event.key === "End" ? ids.length - 1
|
|
100
|
+
: undefined;
|
|
101
|
+
if (target === undefined)
|
|
102
|
+
return;
|
|
103
|
+
event.preventDefault();
|
|
104
|
+
event.stopPropagation();
|
|
105
|
+
commit(id, target);
|
|
106
|
+
};
|
|
107
|
+
const onDragStart = (event) => {
|
|
108
|
+
const root = rootRef.current;
|
|
109
|
+
const id = root === null ? undefined : tagIdOf(event.target, root);
|
|
110
|
+
if (id === undefined)
|
|
111
|
+
return;
|
|
112
|
+
event.dataTransfer.effectAllowed = "move";
|
|
113
|
+
event.dataTransfer.setData("text/plain", id);
|
|
114
|
+
setDraggingId(id);
|
|
115
|
+
};
|
|
116
|
+
const onDragOver = (event) => {
|
|
117
|
+
const root = rootRef.current;
|
|
118
|
+
const id = root === null ? undefined : tagIdOf(event.target, root);
|
|
119
|
+
if (draggingId === undefined || id === undefined)
|
|
120
|
+
return;
|
|
121
|
+
event.preventDefault();
|
|
122
|
+
event.dataTransfer.dropEffect = "move";
|
|
123
|
+
setDropTargetId(id);
|
|
124
|
+
};
|
|
125
|
+
const onDrop = (event) => {
|
|
126
|
+
const root = rootRef.current;
|
|
127
|
+
const id = root === null ? undefined : tagIdOf(event.target, root);
|
|
128
|
+
if (draggingId === undefined)
|
|
129
|
+
return;
|
|
130
|
+
event.preventDefault();
|
|
131
|
+
if (id !== undefined)
|
|
132
|
+
commit(draggingId, ids.indexOf(id));
|
|
133
|
+
setDraggingId(undefined);
|
|
134
|
+
setDropTargetId(undefined);
|
|
135
|
+
};
|
|
136
|
+
const onDragEnd = () => {
|
|
137
|
+
setDraggingId(undefined);
|
|
138
|
+
setDropTargetId(undefined);
|
|
139
|
+
};
|
|
140
|
+
const tags = (_jsx(HeroTagGroup, { "aria-label": label, ...(reorderable ? { "data-grammar-tag-reorderable": "true" } : {}), className: navigationClassName("starci-core-tag-group", className), "data-component": "TagGroup", "data-contract": "STATE-1", "data-tier": "composite", "data-grammar-tag-selection": selectionMode, "data-grammar-tag-removable": onRemove === undefined ? "false" : "true", selectionMode: selectionMode, size: size, ...(selectedIds === undefined ? {} : { selectedKeys: new Set(selectedIds) }), ...(defaultSelectedIds === undefined ? {} : { defaultSelectedKeys: new Set(defaultSelectedIds) }), ...(onSelectionChange === undefined ? {} : { onSelectionChange: (selection) => onSelectionChange(toIds(selection, items)) }), ...(onRemove === undefined ? {} : { onRemove: (keys) => onRemove([...keys].map(String)) }), children: _jsx(HeroTagGroup.List, { className: "starci-core-tag-list", "data-contract": "FOCUS-2", ...(emptyContent === undefined ? {} : { renderEmptyState: () => _jsx("span", { className: "starci-core-tag-empty", "data-contract": "STATE-3", "data-grammar-tag-empty": "true", children: emptyContent }) }), children: items.map((item) => (_jsx(HeroTag, { id: item.id, className: "starci-core-tag", "data-contract": "FOCUS-1", "data-grammar-tag": "true", "data-grammar-tag-id": item.id, ...(reorderable ? { "data-grammar-tag-dragging": draggingId === item.id ? "true" : "false", "data-grammar-tag-drop-target": dropTargetId === item.id && draggingId !== item.id ? "true" : "false" } : {}), textValue: item.isOff === true && item.offLabel !== undefined ? `${item.label}, ${item.offLabel}` : item.label, "data-grammar-tag-state": item.isOff === true ? "off" : "on", ...(item.isOff === true ? { variant: "surface" } : {}), ...(item.isDisabled === undefined ? {} : { isDisabled: item.isDisabled }), children: ({ isSelected, allowsRemoving }) => _jsxs(_Fragment, { children: [_jsxs("span", { className: "starci-core-tag-label", "data-grammar-tag-label": "true", "data-grammar-selected": isSelected ? "true" : "false", children: [item.leading === undefined ? null : _jsx("span", { "aria-hidden": "true", className: "starci-core-tag-leading", "data-contract": "A11Y-2", children: item.leading }), item.label, item.isOff === true && item.offLabel !== undefined ? _jsx("span", { className: "starci-core-visually-hidden", "data-grammar-tag-off-label": "true", children: `, ${item.offLabel}` }) : null] }), allowsRemoving ? _jsx(HeroTag.RemoveButton, { "aria-label": removeLabel?.(item.label) ?? item.label, className: "starci-core-tag-remove", "data-contract": "A11Y-2", "data-grammar-tag-remove": "true" }) : null] }) }, item.id))) }) }));
|
|
141
|
+
if (!reorderable)
|
|
142
|
+
return tags;
|
|
143
|
+
// The vendor group forwards neither a ref nor key-capture and drag handlers, so the reorder layer listens on a
|
|
144
|
+
// wrapper of its own that lays out as if absent (`display: contents`).
|
|
145
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { ref: rootRef, className: "starci-core-tag-group-reorder", "data-grammar-tag-reorder": "true", onKeyDownCapture: onKeyDown, onDragStart: onDragStart, onDragOver: onDragOver, onDrop: onDrop, onDragEnd: onDragEnd, children: tags }), _jsx("span", { id: instructionsId, className: "starci-core-visually-hidden", hidden: true, children: reorderInstructions }), _jsx("span", { "aria-live": "polite", role: "status", className: "starci-core-visually-hidden", "data-grammar-tag-announcement": "true", children: announcement })] }));
|
|
146
|
+
};
|
|
17
147
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/TagGroup/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAkB,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/TagGroup/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,11 @@ export type TimelineItem = {
|
|
|
10
10
|
readonly state?: PresentationState;
|
|
11
11
|
/** The entry the reader is at now (`aria-current="step"`). */
|
|
12
12
|
readonly isCurrent?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* The entry needs the reader (a failed step, a pending approval): the whole row takes a tone background, not just
|
|
15
|
+
* the marker. The tone follows `state` (negative danger, affirmative success, informative accent, otherwise warning).
|
|
16
|
+
*/
|
|
17
|
+
readonly isAttention?: boolean;
|
|
13
18
|
/** App-owned marker glyph; defaults to a dot. */
|
|
14
19
|
readonly marker?: ReactNode;
|
|
15
20
|
};
|
|
@@ -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;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,
|
|
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;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,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,gCA4CtG,CAAA"}
|
|
@@ -10,6 +10,6 @@ import { Skeleton } from "../../primitive/Skeleton/index.js";
|
|
|
10
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("div", { 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) => {
|
|
11
11
|
const state = item.state ?? "neutral";
|
|
12
12
|
assertPresentationState(state);
|
|
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": "A11Y-2", "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));
|
|
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", "data-grammar-attention": item.isAttention ? "true" : undefined, children: [_jsx("span", { "aria-hidden": "true", className: "starci-core-timeline-marker", "data-contract": "A11Y-2", "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));
|
|
14
14
|
}) }));
|
|
15
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -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;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/Timeline/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,10 @@ export type SidebarItem = {
|
|
|
8
8
|
/** Visible description lines in the expanded sidebar (default one). */
|
|
9
9
|
readonly descriptionLines?: ItemDescriptionLines;
|
|
10
10
|
readonly source?: IconSource;
|
|
11
|
+
/**
|
|
12
|
+
* Trailing content, such as a `StatusDot`. The item's accessible name is its label, so the trailing content is
|
|
13
|
+
* referenced as its description (`aria-describedby`): a status beside the label is announced with it.
|
|
14
|
+
*/
|
|
11
15
|
readonly trailing?: ReactNode;
|
|
12
16
|
/** Unread or pending count, visible in both the expanded sidebar and the icon rail. */
|
|
13
17
|
readonly badge?: number | string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composition/Sidebar/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAuC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAE3E,OAAO,EAAiC,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAGlG,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAerE,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,uEAAuE;IACvE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,oBAAoB,CAAA;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,uFAAuF;IACvF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAChC,yDAAyD;IACzD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;IACpC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,UAAU,CAAA;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CAC5D,CAAA;AAOD;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,mJAarB,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composition/Sidebar/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAuC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAE3E,OAAO,EAAiC,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAGlG,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAerE,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,uEAAuE;IACvE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,oBAAoB,CAAA;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;IAC5B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,uFAAuF;IACvF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAChC,yDAAyD;IACzD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;IACpC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,UAAU,CAAA;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;CAC5D,CAAA;AAOD;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,mJAarB,YAAY,gCAkId,CAAA"}
|
|
@@ -59,11 +59,13 @@ export const Sidebar = ({ label, groups, selectedKey, presentation = "rail", isC
|
|
|
59
59
|
_jsxs(ListBox.Section, { id: sectionKey(group.id), className: sidebarSectionClassName, "data-grammar-sidebar-group-placement": group.placement ?? "start", "data-grammar-sidebar-end-start": group.placement === "end" && orderedGroups[groupIndex - 1]?.placement !== "end" ? "true" : undefined, "data-contract": "GAP-1", children: [group.label === undefined ? null : (_jsx(Header, { className: sidebarSectionLabelClassName, ...(collapsed ? {} : { "data-contract": "PADDING-2 PADDING-1 PADDING-3 FONT-1 TONE-2" }), children: group.label })), group.items.map((item) => {
|
|
60
60
|
const badgeText = iconButtonBadgeText(item.badge, item.badgeMax);
|
|
61
61
|
const accessibleLabel = badgeText === null ? item.label : `${item.label}, ${item.badgeLabel ?? badgeText}`;
|
|
62
|
+
// aria-label replaces the item's content as its name, so the trailing status is its description.
|
|
63
|
+
const trailingId = collapsed || item.trailing == null ? undefined : `${tooltipId}-trailing-${item.id.replaceAll(/\s/gu, "-")}`;
|
|
62
64
|
return (_jsxs(ListBox.Item, { id: item.id, textValue: item.label, className: sidebarItemClassName, "data-grammar-current": selectedKey === item.id ? "true" : "false", "aria-current": selectedKey === item.id ? "page" : undefined, "data-contract": collapsed ? "TONE-1 SURFACE-4" : "GAP-3 TONE-1 SURFACE-4", "aria-label": accessibleLabel, render: (props) => {
|
|
63
|
-
const describedBy = [props["aria-describedby"], collapsed && tooltip?.id === item.id ? tooltipId : undefined].filter(Boolean).join(" ") || undefined;
|
|
65
|
+
const describedBy = [props["aria-describedby"], trailingId, collapsed && tooltip?.id === item.id ? tooltipId : undefined].filter(Boolean).join(" ") || undefined;
|
|
64
66
|
return "href" in props ? _jsx("a", { ...props, "aria-describedby": describedBy }) : _jsx("div", { ...props, "aria-describedby": describedBy });
|
|
65
67
|
}, onHoverStart: (event) => showTooltip(event.target, item, "hover"), onHoverEnd: () => hideTooltip("hover"), onFocus: (event) => showTooltip(event.target, item, "focus"), onBlur: () => hideTooltip("focus"), onKeyDown: (event) => { if (event.key === "Escape")
|
|
66
|
-
hideTooltip(); }, ...(item.isDisabled === undefined ? {} : { isDisabled: item.isDisabled }), children: [item.source === undefined ? null : _jsx(Icon, { source: item.source, usage: "leading" }), collapsed ? null : item.description === undefined ? _jsx("span", { className: sidebarItemLabelClassName, "data-contract": "FLOW-4 FONT-2", children: item.label }) : (_jsxs("div", { "data-grammar-sidebar-copy": "true", children: [_jsx(HeroLabel, { className: sidebarItemLabelClassName, "data-grammar-item-label": "true", "data-contract": "FLOW-4 FONT-2", children: item.label }), _jsx(HeroDescription, { "data-grammar-item-description": "true", "data-grammar-description-lines": item.descriptionLines ?? itemPresentation.descriptionLines, children: item.description })] })), badgeText === null ? null : _jsx("span", { "aria-hidden": true, className: "starci-core-icon-button-badge starci-core-sidebar-item-badge", "data-grammar-sidebar-badge": "true", children: badgeText }),
|
|
68
|
+
hideTooltip(); }, ...(item.isDisabled === undefined ? {} : { isDisabled: item.isDisabled }), children: [item.source === undefined ? null : _jsx(Icon, { source: item.source, usage: "leading" }), collapsed ? null : item.description === undefined ? _jsx("span", { className: sidebarItemLabelClassName, "data-contract": "FLOW-4 FONT-2", children: item.label }) : (_jsxs("div", { "data-grammar-sidebar-copy": "true", children: [_jsx(HeroLabel, { className: sidebarItemLabelClassName, "data-grammar-item-label": "true", "data-contract": "FLOW-4 FONT-2", children: item.label }), _jsx(HeroDescription, { "data-grammar-item-description": "true", "data-grammar-description-lines": item.descriptionLines ?? itemPresentation.descriptionLines, children: item.description })] })), badgeText === null ? null : _jsx("span", { "aria-hidden": true, className: "starci-core-icon-button-badge starci-core-sidebar-item-badge", "data-grammar-sidebar-badge": "true", children: badgeText }), trailingId === undefined ? null : _jsx("span", { id: trailingId, className: sidebarItemTrailingClassName, children: item.trailing })] }, item.id));
|
|
67
69
|
})] }, group.id),
|
|
68
70
|
]) }), collapsed || footer == null ? null : _jsx("div", { className: sidebarFooterClassName, "data-contract": "PADDING-3 PADDING-0", children: footer })] }), _jsx(AnchoredTooltip, { id: tooltipId, target: tooltip?.target ?? null, content: tooltip?.label, isOpen: collapsed && tooltip !== null })] }));
|
|
69
71
|
return _jsx(SurfaceNesting, { children: content });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composition/Sidebar/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,EAAE,KAAK,IAAI,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9G,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAA;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,6BAA6B,EAA6B,MAAM,yBAAyB,CAAA;AAClG,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,IAAI,EAAmB,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACrF,OAAO,EACH,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACpB,uBAAuB,EACvB,4BAA4B,EAC5B,sBAAsB,GACzB,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composition/Sidebar/index.tsx"],"names":[],"mappings":"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"}
|
package/dist/core/dna.d.ts
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* selected/soft tint that `accentText` and `muted` both stay AA on.
|
|
15
15
|
*/
|
|
16
16
|
export declare const STARCI_CORE_DNA: Readonly<{
|
|
17
|
-
readonly id: "
|
|
17
|
+
readonly id: "core";
|
|
18
18
|
readonly version: 1;
|
|
19
19
|
readonly paths: readonly string[];
|
|
20
20
|
readonly vendor: Readonly<{
|
package/dist/core/dna.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* selected/soft tint that `accentText` and `muted` both stay AA on.
|
|
15
15
|
*/
|
|
16
16
|
export const STARCI_CORE_DNA = Object.freeze({
|
|
17
|
-
id: "
|
|
17
|
+
id: "core",
|
|
18
18
|
version: 1,
|
|
19
19
|
paths: Object.freeze(["common/", "core/"]),
|
|
20
20
|
vendor: Object.freeze({ name: "heroui", parity: "strict" }),
|
package/dist/core/dna.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dna.js","sourceRoot":"","sources":["../../src/core/dna.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"dna.js","sourceRoot":"","sources":["../../src/core/dna.ts"],"names":[],"mappings":"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"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export * from "../common/index.js";
|
|
|
3
3
|
export type { PresentationState } from "./state.js";
|
|
4
4
|
export { STARCI_CORE_BAND_TOKEN_NAMES, STARCI_CORE_DARK_TOKEN_DEFAULTS, STARCI_CORE_DNA, STARCI_CORE_SPACING_SCALE, STARCI_CORE_TOKEN_DEFAULTS, STARCI_CORE_TOKEN_NAMES, type StarCiCoreBandTokenName, type StarCiCoreDna, type StarCiCoreSpacingStep, type StarCiCoreSpacingValue, type StarCiCoreTokenDefaults, type StarCiCoreTokenName, } from "./dna.js";
|
|
5
5
|
export declare const coreGrammar: import("./index.js").GrammarFamilyContract<"core", {}>;
|
|
6
|
-
export declare const CoreGrammarRoot: ({ className, theme, ...props }: GrammarRootProps) => import("react").JSX.Element;
|
|
6
|
+
export declare const CoreGrammarRoot: ({ className, theme, navigate, useHref, ...props }: GrammarRootProps) => import("react").JSX.Element;
|
|
7
7
|
export declare const coreRuleConformance: Readonly<{
|
|
8
8
|
familyId: string;
|
|
9
9
|
inheritedCommonRules: readonly string[];
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAGH,mBAAmB,EAGnB,KAAK,gBAAgB,EACxB,MAAM,oBAAoB,CAAA;AAM3B,cAAc,oBAAoB,CAAA;AAElC,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EACH,4BAA4B,EAC5B,+BAA+B,EAC/B,eAAe,EACf,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,GAC3B,MAAM,UAAU,CAAA;AAQjB,eAAO,MAAM,WAAW,wDAOtB,CAAA;AAEF,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAGH,mBAAmB,EAGnB,KAAK,gBAAgB,EACxB,MAAM,oBAAoB,CAAA;AAM3B,cAAc,oBAAoB,CAAA;AAElC,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EACH,4BAA4B,EAC5B,+BAA+B,EAC/B,eAAe,EACf,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,GAC3B,MAAM,UAAU,CAAA;AAQjB,eAAO,MAAM,WAAW,wDAOtB,CAAA;AAEF,eAAO,MAAM,eAAe,sGAAqC,CAAA;AAEjE,eAAO,MAAM,mBAAmB;;;;;;EAI9B,CAAA;AAGF,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAC9B,YAAY,EACR,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,GACtB,MAAM,oBAAoB,CAAA"}
|
|
@@ -52,7 +52,7 @@ export declare const AvatarAgentBadge: ({ children, kind, size, renderedScale, c
|
|
|
52
52
|
readonly size: AvatarSize;
|
|
53
53
|
readonly renderedScale?: number;
|
|
54
54
|
readonly className?: string;
|
|
55
|
-
}) => string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> |
|
|
55
|
+
}) => string | number | bigint | boolean | import("react").JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | null | undefined;
|
|
56
56
|
/** Uploaded image or local DiceBear initials, with the same person name rule for an AI agent (A11Y-2). */
|
|
57
57
|
export declare const Avatar: ({ name, src, seed, kind, fallback, size, shape, isDecorative, isCurrent, className, isSkeleton }: AvatarProps) => import("react").JSX.Element;
|
|
58
58
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
import type { ReactNode } from "react";
|
|
2
|
-
export type BadgeTone = "neutral" | "accent" | "success" | "warning" | "danger";
|
|
2
|
+
export type BadgeTone = "neutral" | "accent" | "success" | "warning" | "danger" | "muted";
|
|
3
3
|
export type BadgeProps = {
|
|
4
4
|
readonly children?: ReactNode;
|
|
5
5
|
/** App-owned status glyph or artwork. */
|
|
6
6
|
readonly startContent?: ReactNode;
|
|
7
|
+
/** `muted` is the quiet tone: no fill, muted ink. */
|
|
7
8
|
readonly tone?: BadgeTone;
|
|
8
9
|
/**
|
|
9
|
-
* A leading status dot
|
|
10
|
-
*
|
|
10
|
+
* A leading status dot, rendered through the `StatusDot` text anatomy (a soft HeroUI Chip, the shared dot-size
|
|
11
|
+
* token, a gap-1 dot-to-text gap, an uppercase first letter), so a dot chip matches StatusDot everywhere.
|
|
12
|
+
* `muted` has no dot tone and draws a neutral dot.
|
|
11
13
|
*/
|
|
12
14
|
readonly isDot?: boolean;
|
|
13
15
|
readonly isSkeleton?: boolean;
|
|
14
16
|
};
|
|
15
17
|
/**
|
|
16
|
-
* Compact semantic status or figure; product glyph identity remains app-owned. `isDot`
|
|
17
|
-
*
|
|
18
|
+
* Compact semantic status or figure; product glyph identity remains app-owned. `isDot` renders through
|
|
19
|
+
* `StatusDotChip`, the same anatomy as `StatusDot` with text. `muted` uses HeroUI's tertiary Chip (transparent
|
|
20
|
+
* fill) with the muted ink on its content, so no vendor rule is overridden.
|
|
18
21
|
*
|
|
19
22
|
* The glyph and its words share one status owner. Contract: TRUTH-1 (the tone is stated, never
|
|
20
23
|
* inferred, and defaults to neutral).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Badge/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Badge/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAA;AAEzF,MAAM,MAAM,UAAU,GAAG;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,yCAAyC;IACzC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,qDAAqD;IACrD,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;IACzB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAeD;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,GAAI,qDAAiF,UAAU,gCAsChH,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as _Fragment, jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Chip, skeletonVariants } from "@heroui/react";
|
|
3
|
-
import {
|
|
3
|
+
import { StatusDotChip } from "../StatusDot/index.js";
|
|
4
4
|
const TONE_COLORS = {
|
|
5
|
+
muted: "default",
|
|
5
6
|
neutral: "default",
|
|
6
7
|
accent: "accent",
|
|
7
8
|
success: "success",
|
|
@@ -12,11 +13,19 @@ const SKELETON_CLASS_NAME = skeletonVariants({ animationType: "shimmer" }).base(
|
|
|
12
13
|
className: "select-none text-transparent",
|
|
13
14
|
});
|
|
14
15
|
/**
|
|
15
|
-
* Compact semantic status or figure; product glyph identity remains app-owned. `isDot`
|
|
16
|
-
*
|
|
16
|
+
* Compact semantic status or figure; product glyph identity remains app-owned. `isDot` renders through
|
|
17
|
+
* `StatusDotChip`, the same anatomy as `StatusDot` with text. `muted` uses HeroUI's tertiary Chip (transparent
|
|
18
|
+
* fill) with the muted ink on its content, so no vendor rule is overridden.
|
|
17
19
|
*
|
|
18
20
|
* The glyph and its words share one status owner. Contract: TRUTH-1 (the tone is stated, never
|
|
19
21
|
* inferred, and defaults to neutral).
|
|
20
22
|
*/
|
|
21
|
-
export const Badge = ({ children, startContent, tone = "neutral", isDot = false, isSkeleton = false }) =>
|
|
23
|
+
export const Badge = ({ children, startContent, tone = "neutral", isDot = false, isSkeleton = false }) => {
|
|
24
|
+
if (isDot) {
|
|
25
|
+
return (_jsx(StatusDotChip, { component: "Badge", tone: tone === "muted" ? "neutral" : tone, size: "sm", extra: { "data-contract": "TRUTH-1", "data-grammar-badge-dot": "true", "data-loading": isSkeleton ? "true" : "false", "data-badge-tone": tone }, isSkeleton: isSkeleton, children: startContent === undefined ? children ?? " " : _jsxs(_Fragment, { children: [startContent, children] }) }));
|
|
26
|
+
}
|
|
27
|
+
// Skeleton parity: the start content stays laid out as an unseen measured placeholder, so the chip keeps its width.
|
|
28
|
+
const content = startContent;
|
|
29
|
+
return (_jsx(Chip, { "data-tier": "atom", "data-component": "Badge", "data-contract": "TRUTH-1", "data-tone": tone, "data-loading": isSkeleton ? "true" : "false", color: TONE_COLORS[tone], variant: tone === "muted" ? "tertiary" : "soft", size: "sm", ...(isSkeleton ? { "aria-hidden": true, className: SKELETON_CLASS_NAME } : {}), children: tone === "muted" && !isSkeleton ? (_jsxs("span", { className: "starci-core-badge-muted", children: [content, children ?? " "] })) : (_jsxs(_Fragment, { children: [content, children ?? " "] })) }));
|
|
30
|
+
};
|
|
22
31
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Badge/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEtD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Badge/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAmBrD,MAAM,WAAW,GAAG;IAChB,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;CACV,CAAA;AAEV,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC;IAC5E,SAAS,EAAE,8BAA8B;CAC5C,CAAC,CAAA;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,GAAG,SAAS,EAAE,KAAK,GAAG,KAAK,EAAE,UAAU,GAAG,KAAK,EAAc,EAAE,EAAE;IACjH,IAAI,KAAK,EAAE,CAAC;QACR,OAAO,CACH,KAAC,aAAa,IACV,SAAS,EAAC,OAAO,EACjB,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EACzC,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAC/I,UAAU,EAAE,UAAU,YAErB,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,8BAAG,YAAY,EAAE,QAAQ,IAAI,GACjE,CACnB,CAAA;IACL,CAAC;IACD,oHAAoH;IACpH,MAAM,OAAO,GAAG,YAAY,CAAA;IAC5B,OAAO,CACH,KAAC,IAAI,iBACS,MAAM,oBACD,OAAO,mBACR,SAAS,eACZ,IAAI,kBACD,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAC3C,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,EACxB,OAAO,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,EAC/C,IAAI,EAAC,IAAI,KACL,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YAE9E,IAAI,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAC/B,gBAAM,SAAS,EAAC,yBAAyB,aAAE,OAAO,EAAE,QAAQ,IAAI,GAAG,IAAQ,CAC9E,CAAC,CAAC,CAAC,CACA,8BACK,OAAO,EACP,QAAQ,IAAI,GAAG,IACjB,CACN,GACE,CACV,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
2
|
import { type ButtonIntentProps } from "../../buttonIntent.js";
|
|
3
3
|
/**
|
|
4
4
|
* The vendor's own Button variants, one to one (HeroUI v3 `buttonVariants`: primary, secondary, tertiary,
|
|
@@ -20,7 +20,15 @@ type ButtonBase = {
|
|
|
20
20
|
/** Directional or explanatory content after the label. */
|
|
21
21
|
readonly endContent?: ReactNode;
|
|
22
22
|
readonly isDisabled?: boolean;
|
|
23
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* Why the action is unavailable. A disabled Button shows these words in a Tooltip on hover and keyboard focus
|
|
25
|
+
* and carries them as its accessible description. It has no effect while the Button is enabled.
|
|
26
|
+
*/
|
|
27
|
+
readonly disabledReason?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Initial unresolved-content geometry. It is distinct from action-owned pending. Skeleton parity: the loading Button keeps
|
|
30
|
+
* the ready box (control height, label and start/end content laid out as an unseen measured placeholder).
|
|
31
|
+
*/
|
|
24
32
|
readonly isSkeleton?: boolean;
|
|
25
33
|
/** Pending belongs to the action that started the work and blocks duplicate presses. */
|
|
26
34
|
readonly isPending?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Button/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Button/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAA0B,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAEtF;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,aAAa,CAAA;AACjH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAA;AACvD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;AACtD,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,CAAA;AAE5C,KAAK,UAAU,GAAG;IACd,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,4FAA4F;IAC5F,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAA;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,oGAAoG;IACpG,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAA;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,wFAAwF;IACxF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;CAC/B,CAAA;AAED;;;;GAIG;AACH,KAAK,iBAAiB,GAAG;IACrB,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACpC,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAA;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CACxB,CAAA;AAED,4FAA4F;AAC5F,KAAK,aAAa,GAAG;IACjB,8FAA8F;IAC9F,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAA;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAC5B,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,iBAAiB,GAAG,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAA;AAiB9F,0FAA0F;AAC1F,eAAO,MAAM,MAAM,GAAI,OAAO,WAAW,gCAcxC,CAAA"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { Button as HeroButton, Link as HeroLink, Spinner as HeroSpinner, buttonVariants, skeletonVariants } from "@heroui/react";
|
|
4
|
+
import { useId } from "react";
|
|
5
|
+
import { Tooltip } from "../../branch/Tooltip/index.js";
|
|
4
6
|
import { useButtonIntentVariant } from "../../buttonIntent.js";
|
|
5
7
|
const VARIANTS = {
|
|
6
8
|
primary: "primary",
|
|
@@ -17,15 +19,24 @@ const SKELETON_CLASS_NAME = skeletonVariants({ animationType: "shimmer" }).base(
|
|
|
17
19
|
});
|
|
18
20
|
/** Button-shaped action: an anchor for a destination, the vendor button for a command. */
|
|
19
21
|
export const Button = (props) => {
|
|
20
|
-
const
|
|
22
|
+
const reasonId = useId();
|
|
23
|
+
const reason = props.disabledReason;
|
|
24
|
+
const explained = props.isDisabled === true && reason !== undefined && reason !== "";
|
|
25
|
+
const control = _jsx(ButtonControl, { ...props, ...(explained ? { reasonId } : {}) });
|
|
26
|
+
if (!explained)
|
|
27
|
+
return control;
|
|
28
|
+
return (_jsxs(_Fragment, { children: [_jsx("span", { id: reasonId, hidden: true, children: reason }), _jsx(Tooltip, { content: reason, isDisabledTrigger: true, triggerDescribedBy: reasonId, children: control })] }));
|
|
29
|
+
};
|
|
30
|
+
const ButtonControl = (props) => {
|
|
31
|
+
const { children, variant: legacyVariant = "secondary", size = "md", startContent, endContent, isDisabled = false, isSkeleton = false, isPending = false, width = "content", reasonId, } = props;
|
|
21
32
|
const variant = useButtonIntentVariant(props.intent, props.step, "button") ?? legacyVariant;
|
|
22
33
|
const unavailable = isDisabled || isPending || isSkeleton;
|
|
23
|
-
const content = (_jsxs(_Fragment, { children: [
|
|
34
|
+
const content = (_jsxs(_Fragment, { children: [isPending && !isSkeleton ? _jsx(HeroSpinner, { size: "sm", color: "current", "aria-hidden": "true" }) : startContent, _jsx("span", { "aria-busy": isPending || undefined, children: children }), isPending && !isSkeleton ? null : endContent] }));
|
|
24
35
|
if (props.href !== undefined) {
|
|
25
36
|
const { href, target, rel, download, onFollow } = props;
|
|
26
|
-
return (_jsx(HeroLink, { "data-tier": "atom", "data-component": "Button", "data-size": size, "data-grammar-control-size": size === "control" ? "control" : undefined, "data-element": unavailable ? "span" : "a", "data-loading": isSkeleton ? "true" : "false", "data-action-pending": isPending ? "true" : "false", isDisabled: unavailable, "aria-busy": isPending || undefined, "aria-hidden": isSkeleton || undefined, "data-width": width, "data-contract": width === "fill" ? "MEASURE-2" : undefined, className: buttonVariants({ variant: VARIANTS[variant], size: SIZES[size], fullWidth: width === "fill", className: isSkeleton ? `starci-core-button ${SKELETON_CLASS_NAME}` : "starci-core-button" }), ...(unavailable ? {} : { href }), ...(target === undefined ? {} : { target }), ...(rel === undefined ? target === "_blank" ? { rel: "noopener noreferrer" } : {} : { rel }), ...(download === undefined ? {} : { download }), ...(onFollow === undefined || unavailable ? {} : { onClick: onFollow }), children: content }));
|
|
37
|
+
return (_jsx(HeroLink, { "data-tier": "atom", "data-component": "Button", "data-size": size, "data-grammar-control-size": size === "control" ? "control" : undefined, "data-element": unavailable ? "span" : "a", "data-loading": isSkeleton ? "true" : "false", "data-action-pending": isPending ? "true" : "false", isDisabled: unavailable, ...(reasonId === undefined ? {} : { "aria-describedby": reasonId }), "aria-busy": isPending || undefined, "aria-hidden": isSkeleton || undefined, "data-width": width, "data-contract": width === "fill" ? "MEASURE-2" : undefined, className: buttonVariants({ variant: VARIANTS[variant], size: SIZES[size], fullWidth: width === "fill", className: isSkeleton ? `starci-core-button ${SKELETON_CLASS_NAME}` : "starci-core-button" }), ...(unavailable ? {} : { href }), ...(target === undefined ? {} : { target }), ...(rel === undefined ? target === "_blank" ? { rel: "noopener noreferrer" } : {} : { rel }), ...(download === undefined ? {} : { download }), ...(onFollow === undefined || unavailable ? {} : { onClick: onFollow }), children: content }));
|
|
27
38
|
}
|
|
28
39
|
const { onPress, type = "button" } = props;
|
|
29
|
-
return (_jsx(HeroButton, { "data-tier": "atom", "data-component": "Button", "data-size": size, "data-grammar-control-size": size === "control" ? "control" : undefined, "data-element": "button", "data-loading": isSkeleton ? "true" : "false", "data-action-pending": isPending ? "true" : "false", type: type, variant: VARIANTS[variant], size: SIZES[size], isDisabled: unavailable, isPending: isPending, "data-width": width, "data-contract": width === "fill" ? "MEASURE-2" : undefined, fullWidth: width === "fill", ...(props["aria-pressed"] === undefined ? {} : { "aria-pressed": props["aria-pressed"] }), className: isSkeleton ? `starci-core-button ${SKELETON_CLASS_NAME}` : "starci-core-button", ...(unavailable || onPress === undefined ? {} : { onPress }), children: content }));
|
|
40
|
+
return (_jsx(HeroButton, { "data-tier": "atom", "data-component": "Button", "data-size": size, "data-grammar-control-size": size === "control" ? "control" : undefined, "data-element": "button", "data-loading": isSkeleton ? "true" : "false", "data-action-pending": isPending ? "true" : "false", type: type, variant: VARIANTS[variant], size: SIZES[size], isDisabled: unavailable, ...(reasonId === undefined ? {} : { "aria-describedby": reasonId }), isPending: isPending, "data-width": width, "data-contract": width === "fill" ? "MEASURE-2" : undefined, fullWidth: width === "fill", ...(props["aria-pressed"] === undefined ? {} : { "aria-pressed": props["aria-pressed"] }), className: isSkeleton ? `starci-core-button ${SKELETON_CLASS_NAME}` : "starci-core-button", ...(unavailable || onPress === undefined ? {} : { onPress }), children: content }));
|
|
30
41
|
};
|
|
31
42
|
//# sourceMappingURL=index.js.map
|