@starci/grammar 0.4.2 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common/registry.d.ts +3 -2
- package/dist/common/registry.d.ts.map +1 -1
- package/dist/common/registry.js +3 -3
- package/dist/common/registry.js.map +1 -1
- package/dist/common/renderers.d.ts +1 -0
- package/dist/common/renderers.d.ts.map +1 -1
- package/dist/common/renderers.js +1 -0
- package/dist/common/renderers.js.map +1 -1
- package/dist/common/styles.css +795 -9
- package/dist/core/branch/MarkdownArticle/classNames.d.ts +9 -4
- package/dist/core/branch/MarkdownArticle/classNames.d.ts.map +1 -1
- package/dist/core/branch/MarkdownArticle/classNames.js +9 -4
- package/dist/core/branch/MarkdownArticle/classNames.js.map +1 -1
- package/dist/core/branch/Rail/classNames.d.ts +8 -4
- package/dist/core/branch/Rail/classNames.d.ts.map +1 -1
- package/dist/core/branch/Rail/classNames.js +8 -4
- package/dist/core/branch/Rail/classNames.js.map +1 -1
- package/dist/core/branch/Rail/index.d.ts.map +1 -1
- package/dist/core/branch/Rail/index.js +1 -2
- package/dist/core/branch/Rail/index.js.map +1 -1
- package/dist/core/branch/Subnav/classNames.d.ts +14 -7
- package/dist/core/branch/Subnav/classNames.d.ts.map +1 -1
- package/dist/core/branch/Subnav/classNames.js +14 -7
- package/dist/core/branch/Subnav/classNames.js.map +1 -1
- package/dist/core/branch/Subnav/index.d.ts.map +1 -1
- package/dist/core/branch/Subnav/index.js +2 -2
- package/dist/core/branch/Subnav/index.js.map +1 -1
- package/dist/core/branch/SurfaceAccordionCard/classNames.d.ts +16 -8
- package/dist/core/branch/SurfaceAccordionCard/classNames.d.ts.map +1 -1
- package/dist/core/branch/SurfaceAccordionCard/classNames.js +17 -9
- package/dist/core/branch/SurfaceAccordionCard/classNames.js.map +1 -1
- package/dist/core/branch/SurfaceAccordionCard/index.d.ts.map +1 -1
- package/dist/core/branch/SurfaceAccordionCard/index.js +1 -1
- package/dist/core/branch/SurfaceAccordionCard/index.js.map +1 -1
- package/dist/core/branch/SurfaceCard/classNames.d.ts +16 -7
- package/dist/core/branch/SurfaceCard/classNames.d.ts.map +1 -1
- package/dist/core/branch/SurfaceCard/classNames.js +17 -8
- package/dist/core/branch/SurfaceCard/classNames.js.map +1 -1
- package/dist/core/branch/SurfaceCard/index.d.ts.map +1 -1
- package/dist/core/branch/SurfaceCard/index.js +6 -2
- package/dist/core/branch/SurfaceCard/index.js.map +1 -1
- package/dist/core/branch/SurfaceListCard/classNames.d.ts +14 -7
- package/dist/core/branch/SurfaceListCard/classNames.d.ts.map +1 -1
- package/dist/core/branch/SurfaceListCard/classNames.js +14 -7
- package/dist/core/branch/SurfaceListCard/classNames.js.map +1 -1
- package/dist/core/branch/SurfaceListCard/index.d.ts.map +1 -1
- package/dist/core/branch/SurfaceListCard/index.js +2 -2
- package/dist/core/branch/SurfaceListCard/index.js.map +1 -1
- package/dist/core/classNames.d.ts +3 -5
- package/dist/core/classNames.d.ts.map +1 -1
- package/dist/core/classNames.js +3 -5
- package/dist/core/classNames.js.map +1 -1
- package/dist/core/composite/EmptyNotice/index.js +1 -1
- package/dist/core/composite/EmptyNotice/index.js.map +1 -1
- package/dist/core/composition/ChatWorkspace/classNames.d.ts +16 -9
- package/dist/core/composition/ChatWorkspace/classNames.d.ts.map +1 -1
- package/dist/core/composition/ChatWorkspace/classNames.js +21 -14
- package/dist/core/composition/ChatWorkspace/classNames.js.map +1 -1
- package/dist/core/composition/NavigationFeatureNav/classNames.d.ts +13 -8
- package/dist/core/composition/NavigationFeatureNav/classNames.d.ts.map +1 -1
- package/dist/core/composition/NavigationFeatureNav/classNames.js +13 -8
- package/dist/core/composition/NavigationFeatureNav/classNames.js.map +1 -1
- package/dist/core/composition/NavigationFeatureNav/index.d.ts +16 -2
- package/dist/core/composition/NavigationFeatureNav/index.d.ts.map +1 -1
- package/dist/core/composition/NavigationFeatureNav/index.js +2 -2
- package/dist/core/composition/NavigationFeatureNav/index.js.map +1 -1
- package/dist/core/composition/PrimaryRailLayout/index.d.ts +7 -1
- package/dist/core/composition/PrimaryRailLayout/index.d.ts.map +1 -1
- package/dist/core/composition/PrimaryRailLayout/index.js +1 -1
- package/dist/core/composition/PrimaryRailLayout/index.js.map +1 -1
- package/dist/core/composition/Sidebar/classNames.d.ts +11 -0
- package/dist/core/composition/Sidebar/classNames.d.ts.map +1 -0
- package/dist/core/composition/Sidebar/classNames.js +12 -0
- package/dist/core/composition/Sidebar/classNames.js.map +1 -0
- package/dist/core/composition/Sidebar/index.d.ts +7 -1
- package/dist/core/composition/Sidebar/index.d.ts.map +1 -1
- package/dist/core/composition/Sidebar/index.js +10 -9
- package/dist/core/composition/Sidebar/index.js.map +1 -1
- package/dist/core/index.d.ts +3 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/primitive/Button/index.d.ts +10 -0
- package/dist/core/primitive/Button/index.d.ts.map +1 -1
- package/dist/core/primitive/Button/index.js +3 -3
- package/dist/core/primitive/Button/index.js.map +1 -1
- package/dist/core/primitive/Divider/index.js +1 -1
- package/dist/core/primitive/Divider/index.js.map +1 -1
- package/dist/core/primitive/Icon/index.d.ts.map +1 -1
- package/dist/core/primitive/Icon/index.js +8 -7
- package/dist/core/primitive/Icon/index.js.map +1 -1
- package/dist/core/primitive/IconButton/index.d.ts.map +1 -1
- package/dist/core/primitive/IconButton/index.js +7 -5
- package/dist/core/primitive/IconButton/index.js.map +1 -1
- package/dist/core/primitive/IconTile/index.d.ts.map +1 -1
- package/dist/core/primitive/IconTile/index.js +7 -12
- package/dist/core/primitive/IconTile/index.js.map +1 -1
- package/dist/core/primitive/Input/index.d.ts.map +1 -1
- package/dist/core/primitive/Input/index.js +4 -4
- package/dist/core/primitive/Input/index.js.map +1 -1
- package/dist/core/primitive/Label/classNames.d.ts +10 -6
- package/dist/core/primitive/Label/classNames.d.ts.map +1 -1
- package/dist/core/primitive/Label/classNames.js +10 -6
- package/dist/core/primitive/Label/classNames.js.map +1 -1
- package/dist/core/primitive/Label/index.js +1 -1
- package/dist/core/primitive/Label/index.js.map +1 -1
- package/dist/core/primitive/PressableField/classNames.d.ts +5 -0
- package/dist/core/primitive/PressableField/classNames.d.ts.map +1 -0
- package/dist/core/primitive/PressableField/classNames.js +6 -0
- package/dist/core/primitive/PressableField/classNames.js.map +1 -0
- package/dist/core/primitive/PressableField/index.d.ts +22 -0
- package/dist/core/primitive/PressableField/index.d.ts.map +1 -0
- package/dist/core/primitive/PressableField/index.js +14 -0
- package/dist/core/primitive/PressableField/index.js.map +1 -0
- package/dist/core/primitive/Progress/index.d.ts.map +1 -1
- package/dist/core/primitive/Progress/index.js +6 -2
- package/dist/core/primitive/Progress/index.js.map +1 -1
- package/dist/core/primitive/Text/index.d.ts +8 -1
- package/dist/core/primitive/Text/index.d.ts.map +1 -1
- package/dist/core/primitive/Text/index.js +16 -20
- 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 +24 -23
- package/dist/core/primitive/TextAction/index.js.map +1 -1
- package/dist/core/primitive/actionStyles.d.ts +10 -2
- package/dist/core/primitive/actionStyles.d.ts.map +1 -1
- package/dist/core/primitive/actionStyles.js +10 -18
- package/dist/core/primitive/actionStyles.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composition/Sidebar/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAO,SAAS,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composition/Sidebar/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAO,SAAS,EAAE,MAAM,OAAO,CAAA;AAC3C,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,MAAM,CAAC,EAAE,UAAU,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,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,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;AAoBD;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,mJAarB,YAAY,gCAwEd,CAAA"}
|
|
@@ -3,6 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import { Header, ListBox } from "@heroui/react";
|
|
4
4
|
import { Icon } from "../../primitive/Icon/index.js";
|
|
5
5
|
import { IconButton } from "../../primitive/IconButton/index.js";
|
|
6
|
+
import { sidebarClassName, sidebarFooterClassName, sidebarHeaderClassName, sidebarItemClassName, sidebarItemLabelClassName, sidebarItemTrailingClassName, sidebarListClassName, sidebarSectionClassName, sidebarSectionLabelClassName, sidebarToggleClassName, } from "./classNames.js";
|
|
6
7
|
/**
|
|
7
8
|
* Sections and items share ONE key namespace inside the collection.
|
|
8
9
|
*
|
|
@@ -20,21 +21,21 @@ const firstKey = (keys) => {
|
|
|
20
21
|
const value = keys.values().next().value;
|
|
21
22
|
return value === undefined ? undefined : String(value);
|
|
22
23
|
};
|
|
23
|
-
/**
|
|
24
|
+
/**
|
|
25
|
+
* Shared grouped sidebar renderer; apps own route, permission, copy and persistence policy.
|
|
26
|
+
*
|
|
27
|
+
* Geometry is owned by `.starci-core-sidebar*` in the packaged stylesheet, and the collapsed and
|
|
28
|
+
* drawer projections are read from `data-collapsed` and `data-presentation` on this root. Nothing
|
|
29
|
+
* here depends on a consumer's Tailwind build scanning the package.
|
|
30
|
+
*/
|
|
24
31
|
export const Sidebar = ({ label, groups, selectedKey, presentation = "rail", isCollapsed = false, collapseLabel, expandLabel, toggleSource, header, footer, onAction, onCollapsedChange, }) => {
|
|
25
32
|
const collapsed = presentation === "rail" && isCollapsed;
|
|
26
33
|
const toggleLabel = collapsed ? expandLabel : collapseLabel;
|
|
27
34
|
const canToggle = presentation === "rail" && toggleSource !== undefined && toggleLabel !== undefined && onCollapsedChange !== undefined;
|
|
28
|
-
return (_jsxs("div", { "data-tier": "composition", "data-component": "Sidebar", "data-presentation": presentation, "data-collapsed": collapsed ? "true" : "false", className: [
|
|
29
|
-
"flex min-h-0 flex-col overflow-hidden bg-background text-foreground",
|
|
30
|
-
presentation === "drawer" ? "w-full" : collapsed ? "h-full w-16" : "h-full w-64",
|
|
31
|
-
presentation === "rail" ? "border-r border-separator transition-[width] motion-reduce:transition-none" : "",
|
|
32
|
-
].join(" "), "data-contract": ["OVERFLOW-2", presentation === "drawer" ? "MEASURE-2" : "MEASURE-6"].join(" "), children: [canToggle ? (_jsx("div", { className: collapsed ? "flex justify-center p-2" : "flex justify-end p-2", "data-contract": "PADDING-2", children: _jsx(IconButton, { source: toggleSource, label: toggleLabel, isActive: collapsed, onPress: () => onCollapsedChange(!collapsed) }) })) : null, collapsed || header == null ? null : _jsx("div", { className: "px-3 pb-3", "data-contract": "PADDING-3", children: header }), _jsx(ListBox, { "aria-label": label, selectionMode: "single", selectedKeys: selectedKey === undefined ? [] : [selectedKey], onSelectionChange: (keys) => {
|
|
35
|
+
return (_jsxs("div", { "data-tier": "composition", "data-component": "Sidebar", "data-presentation": presentation, "data-collapsed": collapsed ? "true" : "false", className: sidebarClassName, "data-contract": ["OVERFLOW-2", presentation === "drawer" ? "MEASURE-2" : "MEASURE-6"].join(" "), children: [canToggle ? (_jsx("div", { className: sidebarToggleClassName, "data-contract": "PADDING-2", children: _jsx(IconButton, { source: toggleSource, label: toggleLabel, isActive: collapsed, onPress: () => onCollapsedChange(!collapsed) }) })) : null, collapsed || header == null ? null : _jsx("div", { className: sidebarHeaderClassName, "data-contract": "PADDING-3", children: header }), _jsx(ListBox, { "aria-label": label, selectionMode: "single", selectedKeys: selectedKey === undefined ? [] : [selectedKey], onSelectionChange: (keys) => {
|
|
33
36
|
const key = firstKey(keys);
|
|
34
37
|
if (key !== undefined)
|
|
35
38
|
onAction?.(key);
|
|
36
|
-
}, className:
|
|
37
|
-
? "group flex size-11 cursor-pointer items-center justify-center rounded-full text-foreground outline-none data-[disabled=true]:cursor-default data-[disabled=true]:opacity-50 data-[focus-visible=true]:ring-2 data-[focus-visible=true]:ring-accent data-[hovered=true]:bg-default data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent-soft-foreground"
|
|
38
|
-
: "flex cursor-pointer items-center gap-3 rounded-large px-3 py-2 text-foreground outline-none data-[disabled=true]:cursor-default data-[disabled=true]:opacity-50 data-[focus-visible=true]:ring-2 data-[focus-visible=true]:ring-accent data-[hovered=true]:bg-default data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent-soft-foreground", "data-contract": collapsed ? "TONE-1 SURFACE-4" : "GAP-3 PADDING-3 PADDING-2 TONE-1 SURFACE-4", ...(collapsed ? { "aria-label": item.label } : {}), ...(item.isDisabled === undefined ? {} : { isDisabled: item.isDisabled }), children: [item.source === undefined ? null : _jsx(Icon, { source: item.source, usage: "leading" }), collapsed ? null : _jsx("span", { className: "min-w-0 flex-1 truncate text-sm font-medium", "data-contract": "FLOW-4 FONT-2", children: item.label }), collapsed || item.trailing == null ? null : _jsx("span", { className: "shrink-0", children: item.trailing })] }, item.id)))] }, group.id))) }), collapsed || footer == null ? null : _jsx("div", { className: "p-3 pt-0", "data-contract": "PADDING-3 PADDING-0", children: footer })] }));
|
|
39
|
+
}, className: sidebarListClassName, "data-contract": collapsed ? "GAP-1 PADDING-2" : "GAP-1 PADDING-3", children: groups.map((group) => (_jsxs(ListBox.Section, { id: sectionKey(group.id), className: sidebarSectionClassName, "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) => (_jsxs(ListBox.Item, { id: item.id, textValue: item.label, className: sidebarItemClassName, "data-contract": collapsed ? "TONE-1 SURFACE-4" : "GAP-3 PADDING-3 PADDING-2 TONE-1 SURFACE-4", ...(collapsed ? { "aria-label": item.label } : {}), ...(item.isDisabled === undefined ? {} : { isDisabled: item.isDisabled }), children: [item.source === undefined ? null : _jsx(Icon, { source: item.source, usage: "leading" }), collapsed ? null : _jsx("span", { className: sidebarItemLabelClassName, "data-contract": "FLOW-4 FONT-2", children: item.label }), collapsed || item.trailing == null ? null : _jsx("span", { className: sidebarItemTrailingClassName, children: item.trailing })] }, item.id)))] }, group.id))) }), collapsed || footer == null ? null : _jsx("div", { className: sidebarFooterClassName, "data-contract": "PADDING-3 PADDING-0", children: footer })] }));
|
|
39
40
|
};
|
|
40
41
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composition/Sidebar/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAE/C,OAAO,EAAE,IAAI,EAAmB,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AA+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composition/Sidebar/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAE/C,OAAO,EAAE,IAAI,EAAmB,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAChE,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;AA+BxB;;;;;;;;;GASG;AACH,MAAM,UAAU,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,mBAAmB,EAAE,EAAE,CAAA;AAE1D,MAAM,QAAQ,GAAG,CAAC,IAAsB,EAAsB,EAAE;IAC5D,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,SAAS,CAAA;IACpC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;IACxC,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC1D,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EACpB,KAAK,EACL,MAAM,EACN,WAAW,EACX,YAAY,GAAG,MAAM,EACrB,WAAW,GAAG,KAAK,EACnB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,MAAM,EACN,MAAM,EACN,QAAQ,EACR,iBAAiB,GACN,EAAE,EAAE;IACf,MAAM,SAAS,GAAG,YAAY,KAAK,MAAM,IAAI,WAAW,CAAA;IACxD,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAA;IAC3D,MAAM,SAAS,GAAG,YAAY,KAAK,MAAM,IAAI,YAAY,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,IAAI,iBAAiB,KAAK,SAAS,CAAA;IAEvI,OAAO,CACH,4BACc,aAAa,oBACR,SAAS,uBACL,YAAY,oBACf,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAC5C,SAAS,EAAE,gBAAgB,mBACZ,CAAC,YAAY,EAAE,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAE7F,SAAS,CAAC,CAAC,CAAC,CACT,cAAK,SAAS,EAAE,sBAAsB,mBAAgB,WAAW,YAC7D,KAAC,UAAU,IACP,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,SAAS,EACnB,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,GAC9C,GACA,CACT,CAAC,CAAC,CAAC,IAAI,EACP,SAAS,IAAI,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAK,SAAS,EAAE,sBAAsB,mBAAgB,WAAW,YAAE,MAAM,GAAO,EACtH,KAAC,OAAO,kBACQ,KAAK,EACjB,aAAa,EAAC,QAAQ,EACtB,YAAY,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAC5D,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE;oBACxB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAwB,CAAC,CAAA;oBAC9C,IAAI,GAAG,KAAK,SAAS;wBAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAA;gBAC1C,CAAC,EACD,SAAS,EAAE,oBAAoB,mBAChB,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,YAE/D,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACnB,MAAC,OAAO,CAAC,OAAO,IAEZ,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EACxB,SAAS,EAAE,uBAAuB,mBACpB,OAAO,aAEpB,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAChC,KAAC,MAAM,IACH,SAAS,EAAE,4BAA4B,KACnC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,6CAA6C,EAAE,CAAC,YAExF,KAAK,CAAC,KAAK,GACP,CACZ,EACA,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACvB,MAAC,OAAO,CAAC,IAAI,IAET,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,SAAS,EAAE,IAAI,CAAC,KAAK,EACrB,SAAS,EAAE,oBAAoB,mBAChB,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,4CAA4C,KACxF,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAC/C,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,aAEzE,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAC,SAAS,GAAG,EAChF,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAM,SAAS,EAAE,yBAAyB,mBAAgB,eAAe,YAAE,IAAI,CAAC,KAAK,GAAQ,EAChH,SAAS,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAM,SAAS,EAAE,4BAA4B,YAAG,IAAI,CAAC,QAAQ,GAAQ,KAV7G,IAAI,CAAC,EAAE,CAWD,CAClB,CAAC,KA3BG,KAAK,CAAC,EAAE,CA4BC,CACrB,CAAC,GACI,EACT,SAAS,IAAI,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAK,SAAS,EAAE,sBAAsB,mBAAgB,qBAAqB,YAAE,MAAM,GAAO,IAC9H,CACT,CAAA;AACL,CAAC,CAAA"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -26,7 +26,8 @@ export declare const CORE_GRAMMAR_COMPONENTS: Readonly<{
|
|
|
26
26
|
readonly NavigationFeatureNav: ({ identity, navigation, navigationLabel, compactNavigationTrigger, compactNavigationTriggerLabel, actions, actionsLabel, featureNavigation, featureNavigationLabel, measure, position, className, ...headerProps }: import("./index.js").NavigationFeatureNavProps) => import("react").JSX.Element;
|
|
27
27
|
readonly OtpInput: (props: import("./OtpInput.js").OtpInputProps) => import("react").JSX.Element;
|
|
28
28
|
readonly PageContainer: ({ className, measure, ...props }: import("./index.js").PageContainerProps) => import("react").JSX.Element;
|
|
29
|
-
readonly
|
|
29
|
+
readonly PressableField: ({ label, placeholder, source, shortcut, isDisabled, onPress }: import("./index.js").PressableFieldProps) => import("react").JSX.Element;
|
|
30
|
+
readonly PrimaryRailLayout: ({ primary, rail, railWidth, align, collapsedOrder, className, }: import("./index.js").PrimaryRailLayoutProps) => import("react").JSX.Element;
|
|
30
31
|
readonly Progress: ({ label, value, isSkeleton }: import("./index.js").ProgressProps) => import("react").JSX.Element;
|
|
31
32
|
readonly Rail: (props: import("./index.js").RailProps) => import("react").JSX.Element;
|
|
32
33
|
readonly RankArtwork: ({ className, kind, label, ...props }: import("./index.js").RankArtworkProps) => import("react").JSX.Element;
|
|
@@ -40,7 +41,7 @@ export declare const CORE_GRAMMAR_COMPONENTS: Readonly<{
|
|
|
40
41
|
readonly SurfaceCopyGroup: ({ className, density, ...props }: import("./index.js").SurfaceCopyGroupProps) => import("react").JSX.Element;
|
|
41
42
|
readonly SurfaceListCard: (props: import("./index.js").SurfaceListCardProps) => import("react").JSX.Element;
|
|
42
43
|
readonly Tabs: (props: import("./index.js").TabsProps) => import("react").JSX.Element;
|
|
43
|
-
readonly Text: ({ as: Element, id, children, startContent, size, tone, weight, live, isSkeleton, isSuperseded, parentEmphasis, }: import("./index.js").TextProps) => import("react").JSX.Element;
|
|
44
|
+
readonly Text: ({ as: Element, id, children, startContent, size, tone, weight, live, overflow, isSkeleton, isSuperseded, parentEmphasis, }: import("./index.js").TextProps) => import("react").JSX.Element;
|
|
44
45
|
readonly TextAction: (props: import("./index.js").TextActionProps) => import("react").JSX.Element;
|
|
45
46
|
readonly Tooltip: ({ content, children, placement, }: import("./index.js").TooltipProps) => import("react").JSX.Element;
|
|
46
47
|
readonly VerticalScrollRegion: (props: import("./index.js").VerticalScrollRegionProps) => import("react").JSX.Element;
|
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,+BAA+B,EAC/B,eAAe,EACf,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,GAC3B,MAAM,UAAU,CAAA;AAEjB,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB
|
|
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,+BAA+B,EAC/B,eAAe,EACf,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,GAC3B,MAAM,UAAU,CAAA;AAEjB,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA4B,CAAA;AAEhE,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,uBAAuB,CAAA;AAQ3E,eAAO,MAAM,WAAW,wDAOtB,CAAA;AAEF,eAAO,MAAM,eAAe,mFAAqC,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"}
|
|
@@ -2,6 +2,7 @@ import type { ReactNode } from "react";
|
|
|
2
2
|
export type ButtonVariant = "primary" | "secondary" | "tertiary" | "outline" | "ghost";
|
|
3
3
|
export type ButtonSize = "sm" | "md" | "lg";
|
|
4
4
|
export type ButtonType = "button" | "submit" | "reset";
|
|
5
|
+
export type ButtonWidth = "content" | "fill";
|
|
5
6
|
type ButtonBase = {
|
|
6
7
|
/** The visible action label. It remains present while the action is pending. */
|
|
7
8
|
readonly children: ReactNode;
|
|
@@ -16,6 +17,15 @@ type ButtonBase = {
|
|
|
16
17
|
readonly isSkeleton?: boolean;
|
|
17
18
|
/** Pending belongs to the action that started the work and blocks duplicate presses. */
|
|
18
19
|
readonly isPending?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* How the action takes its inline space: to its own content, or filling its parent.
|
|
22
|
+
*
|
|
23
|
+
* `fill` forwards the vendor's own full-width variant and adds the part the vendor does not
|
|
24
|
+
* own - a label that WRAPS onto a second line instead of overflowing, with the control height
|
|
25
|
+
* released to follow it - from `.starci-core-button[data-width="fill"]` in the packaged
|
|
26
|
+
* stylesheet. An app never has to reach through the boundary with a descendant width utility.
|
|
27
|
+
*/
|
|
28
|
+
readonly width?: ButtonWidth;
|
|
19
29
|
};
|
|
20
30
|
/**
|
|
21
31
|
* A real browser destination wearing the button appearance. It renders an anchor, so the platform
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Button/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAA;AACtF,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAC3C,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Button/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAA;AACtF,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAC3C,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;AACtD,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,CAAA;AAE5C,KAAK,UAAU,GAAG;IACd,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAA;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,oGAAoG;IACpG,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAA;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,qFAAqF;IACrF,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,wFAAwF;IACxF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;CAC/B,CAAA;AAED;;;GAGG;AACH,KAAK,iBAAiB,GAAG;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACpC,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAA;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CACxB,CAAA;AAED,4FAA4F;AAC5F,KAAK,aAAa,GAAG;IACjB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAA;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAC5B,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAA;AAe1E,0FAA0F;AAC1F,eAAO,MAAM,MAAM,GAAI,OAAO,WAAW,gCAsExC,CAAA"}
|
|
@@ -13,14 +13,14 @@ const SKELETON_CLASS_NAME = skeletonVariants({ animationType: "shimmer" }).base(
|
|
|
13
13
|
});
|
|
14
14
|
/** Button-shaped action: an anchor for a destination, the vendor button for a command. */
|
|
15
15
|
export const Button = (props) => {
|
|
16
|
-
const { children, variant = "secondary", size = "md", startContent, endContent, isDisabled = false, isSkeleton = false, isPending = false, } = props;
|
|
16
|
+
const { children, variant = "secondary", size = "md", startContent, endContent, isDisabled = false, isSkeleton = false, isPending = false, width = "content", } = props;
|
|
17
17
|
const unavailable = isDisabled || isPending || isSkeleton;
|
|
18
18
|
const content = (_jsxs(_Fragment, { children: [isSkeleton ? null : isPending ? _jsx(HeroSpinner, { size: "sm", color: "current", "aria-hidden": "true" }) : startContent, _jsx("span", { "aria-busy": isPending || undefined, children: children }), isPending || isSkeleton ? null : endContent] }));
|
|
19
19
|
if (props.href !== undefined) {
|
|
20
20
|
const { href, target, rel, download, onFollow } = props;
|
|
21
|
-
return (_jsx("a", { "data-tier": "atom", "data-component": "Button", "data-element": "a", "data-loading": isSkeleton ? "true" : "false", "data-action-pending": isPending ? "true" : "false", role: unavailable ? "link" : undefined, "aria-disabled": unavailable || undefined, "aria-busy": isPending || undefined, "aria-hidden": isSkeleton || undefined, className: buttonVariants({ variant: VARIANTS[variant], size: SIZES[size], className: isSkeleton ? SKELETON_CLASS_NAME :
|
|
21
|
+
return (_jsx("a", { "data-tier": "atom", "data-component": "Button", "data-element": "a", "data-loading": isSkeleton ? "true" : "false", "data-action-pending": isPending ? "true" : "false", role: unavailable ? "link" : undefined, "aria-disabled": unavailable || undefined, "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 }));
|
|
22
22
|
}
|
|
23
23
|
const { onPress, type = "button" } = props;
|
|
24
|
-
return (_jsx(HeroButton, { "data-tier": "atom", "data-component": "Button", "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,
|
|
24
|
+
return (_jsx(HeroButton, { "data-tier": "atom", "data-component": "Button", "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", className: isSkeleton ? `starci-core-button ${SKELETON_CLASS_NAME}` : "starci-core-button", ...(unavailable || onPress === undefined ? {} : { onPress }), children: content }));
|
|
25
25
|
};
|
|
26
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Button/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,OAAO,IAAI,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Button/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Text } from "../Text/index.js";
|
|
3
3
|
/** Labelled alternative boundary with intrinsic separator semantics. */
|
|
4
|
-
export const Divider = ({ label }) => (_jsxs("div", { "data-tier": "atom", "data-component": "Divider", role: "separator", "aria-label": label, "data-contract": "GAP-3", className: "
|
|
4
|
+
export const Divider = ({ label }) => (_jsxs("div", { "data-tier": "atom", "data-component": "Divider", role: "separator", "aria-label": label, "data-contract": "GAP-3", className: "starci-core-divider", children: [_jsx("span", { "aria-hidden": "true", "data-contract": "BOUNDARY-5", className: "starci-core-divider-rule" }), _jsx(Text, { as: "span", size: "sm", tone: "muted", children: label }), _jsx("span", { "aria-hidden": "true", "data-contract": "BOUNDARY-5", className: "starci-core-divider-rule" })] }));
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Divider/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAOvC,wEAAwE;AACxE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAE,KAAK,EAAgB,EAAE,EAAE,CAAC,CAChD,4BACc,MAAM,oBACD,SAAS,EACxB,IAAI,EAAC,WAAW,gBACJ,KAAK,mBACH,OAAO,EACrB,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Divider/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAOvC,wEAAwE;AACxE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAE,KAAK,EAAgB,EAAE,EAAE,CAAC,CAChD,4BACc,MAAM,oBACD,SAAS,EACxB,IAAI,EAAC,WAAW,gBACJ,KAAK,mBACH,OAAO,EACrB,SAAS,EAAC,qBAAqB,aAE/B,8BAAkB,MAAM,mBAAe,YAAY,EAAC,SAAS,EAAC,0BAA0B,GAAG,EAC3F,KAAC,IAAI,IAAC,EAAE,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,YAAE,KAAK,GAAQ,EACrD,8BAAkB,MAAM,mBAAe,YAAY,EAAC,SAAS,EAAC,0BAA0B,GAAG,IACzF,CACT,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Icon/index.tsx"],"names":[],"mappings":"AAGA,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAA;AACtD;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CACjC,CAAA;AAED,iFAAiF;AACjF,MAAM,MAAM,UAAU,GAChB,CAAC,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,GACrC,CAAC,KAAK,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,CAAA;AAE/C,MAAM,MAAM,SAAS,GAAG;IACpB,wFAAwF;IACxF,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAA;IAC1B,iFAAiF;IACjF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Icon/index.tsx"],"names":[],"mappings":"AAGA,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAA;AACtD;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CACjC,CAAA;AAED,iFAAiF;AACjF,MAAM,MAAM,UAAU,GAChB,CAAC,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,GACrC,CAAC,KAAK,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,CAAA;AAE/C,MAAM,MAAM,SAAS,GAAG;IACpB,wFAAwF;IACxF,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAA;IAC1B,iFAAiF;IACjF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAaD,6FAA6F;AAC7F,eAAO,MAAM,IAAI,GAAI,kDAAmE,SAAS,gCAoBhG,CAAA"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { skeletonVariants } from "@heroui/react";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
/*
|
|
4
|
+
* Usage sizing is SHIPPED by `.starci-core-icon[data-usage]` in `src/common/styles.css`, and the
|
|
5
|
+
* resting glyph by `.starci-core-icon-skeleton`. A glyph sized only by a Tailwind utility collapses
|
|
6
|
+
* to the SVG default box in any consumer whose build does not scan this package.
|
|
7
|
+
*/
|
|
8
|
+
const ICON_CLASS_NAME = "starci-core-icon";
|
|
8
9
|
const SKELETON_CLASS_NAME = skeletonVariants({ animationType: "shimmer" }).base({
|
|
9
|
-
className: "
|
|
10
|
+
className: "starci-core-icon-skeleton",
|
|
10
11
|
});
|
|
11
12
|
/** Product-neutral icon carrier; semantic glyph names and libraries remain app authority. */
|
|
12
13
|
export const Icon = ({ source: Source, usage = "chip", ariaLabel, isSkeleton = false }) => {
|
|
@@ -16,7 +17,7 @@ export const Icon = ({ source: Source, usage = "chip", ariaLabel, isSkeleton = f
|
|
|
16
17
|
// The private cast is the only React-type identity boundary. Consumers see the structural
|
|
17
18
|
// IconSource contract above, while JSX still receives the local React component type.
|
|
18
19
|
const SourceComponent = Source;
|
|
19
|
-
return (_jsx(SourceComponent, { "data-tier": "atom", "data-component": "Icon", "data-usage": usage, focusable: "false", className:
|
|
20
|
+
return (_jsx(SourceComponent, { "data-tier": "atom", "data-component": "Icon", "data-usage": usage, focusable: "false", className: ICON_CLASS_NAME, ...(ariaLabel === undefined
|
|
20
21
|
? { "aria-hidden": true }
|
|
21
22
|
: { "aria-label": ariaLabel, role: "img" }) }));
|
|
22
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Icon/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAoChD,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Icon/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAoChD;;;;GAIG;AACH,MAAM,eAAe,GAAG,kBAAkB,CAAA;AAE1C,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC;IAC5E,SAAS,EAAE,2BAA2B;CACzC,CAAC,CAAA;AAEF,6FAA6F;AAC7F,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,KAAK,EAAa,EAAE,EAAE;IACjG,IAAI,UAAU,EAAE,CAAC;QACb,OAAO,4BAAgB,MAAM,oBAAgB,MAAM,kBAAc,MAAM,uBAAa,SAAS,EAAE,mBAAmB,GAAI,CAAA;IAC1H,CAAC;IAED,0FAA0F;IAC1F,sFAAsF;IACtF,MAAM,eAAe,GAAG,MAAgD,CAAA;IACxE,OAAO,CACH,KAAC,eAAe,iBACF,MAAM,oBACD,MAAM,gBACT,KAAK,EACjB,SAAS,EAAC,OAAO,EACjB,SAAS,EAAE,eAAe,KACtB,CAAC,SAAS,KAAK,SAAS;YACxB,CAAC,CAAC,EAAE,aAAa,EAAE,IAAa,EAAE;YAClC,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,KAAc,EAAE,CAAC,GAC1D,CACL,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/IconButton/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAExD,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/IconButton/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAExD,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC,CAAA;AAQD,mEAAmE;AACnE,eAAO,MAAM,UAAU,GAAI,+DAOxB,eAAe,gCAgBjB,CAAA"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Button as HeroButton, skeletonVariants } from "@heroui/react";
|
|
2
|
+
import { Button as HeroButton, cn, skeletonVariants } from "@heroui/react";
|
|
3
3
|
import { Icon } from "../Icon/index.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
/**
|
|
5
|
+
* The pill corner is SHIPPED by `.starci-core-icon-button` in `src/common/styles.css`, for the
|
|
6
|
+
* resolved action and its resting shimmer alike; only the shimmer itself comes from the vendor.
|
|
7
|
+
*/
|
|
8
|
+
const SKELETON_CLASS_NAME = skeletonVariants({ animationType: "shimmer" }).base();
|
|
7
9
|
/** Circular glyph-only action with a mandatory accessible name. */
|
|
8
|
-
export const IconButton = ({ source, label, isActive = false, isDisabled = false, isSkeleton = false, onPress, }) => (_jsx(HeroButton, { "data-tier": "atom", "data-component": "IconButton", "data-active": isActive ? "true" : "false", "data-loading": isSkeleton ? "true" : "false", type: "button", variant: "tertiary", className: isSkeleton ? SKELETON_CLASS_NAME : "
|
|
10
|
+
export const IconButton = ({ source, label, isActive = false, isDisabled = false, isSkeleton = false, onPress, }) => (_jsx(HeroButton, { "data-tier": "atom", "data-component": "IconButton", "data-active": isActive ? "true" : "false", "data-loading": isSkeleton ? "true" : "false", type: "button", variant: "tertiary", className: cn("starci-core-icon-button", isSkeleton ? SKELETON_CLASS_NAME : undefined) ?? "starci-core-icon-button", isIconOnly: true, isDisabled: isDisabled || isSkeleton, "aria-label": label, ...(isDisabled || isSkeleton || onPress === undefined ? {} : { onPress }), children: isSkeleton ? null : _jsx(Icon, { source: source, usage: "leading" }) }));
|
|
9
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/IconButton/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/IconButton/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,EAAE,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAC1E,OAAO,EAAE,IAAI,EAAmB,MAAM,kBAAkB,CAAA;AAYxD;;;GAGG;AACH,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;AAEjF,mEAAmE;AACnE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACvB,MAAM,EACN,KAAK,EACL,QAAQ,GAAG,KAAK,EAChB,UAAU,GAAG,KAAK,EAClB,UAAU,GAAG,KAAK,EAClB,OAAO,GACO,EAAE,EAAE,CAAC,CACnB,KAAC,UAAU,iBACG,MAAM,oBACD,YAAY,iBACd,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,kBAC1B,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAC3C,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,UAAU,EAClB,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,yBAAyB,EACnH,UAAU,QACV,UAAU,EAAE,UAAU,IAAI,UAAU,gBACxB,KAAK,KACb,CAAC,UAAU,IAAI,UAAU,IAAI,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,YAEzE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAC,SAAS,GAAG,GACpD,CAChB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/IconTile/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAExD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;AAClF,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,CAAA;AAEtC,MAAM,MAAM,aAAa,GAAG;IACxB,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,8FAA8F;IAC9F,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/IconTile/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAExD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;AAClF,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,CAAA;AAEtC,MAAM,MAAM,aAAa,GAAG;IACxB,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,8FAA8F;IAC9F,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAsBD,sFAAsF;AACtF,eAAO,MAAM,QAAQ,GAAI,yDAOtB,aAAa,gCAoBf,CAAA"}
|
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { cn, skeletonVariants } from "@heroui/react";
|
|
3
3
|
import { Icon } from "../Icon/index.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
accent: "bg-accent-soft text-accent-soft-foreground",
|
|
11
|
-
success: "bg-success-soft text-success-soft-foreground",
|
|
12
|
-
warning: "bg-warning-soft text-warning-soft-foreground",
|
|
13
|
-
danger: "bg-danger-soft text-danger-soft-foreground",
|
|
14
|
-
};
|
|
4
|
+
/*
|
|
5
|
+
* Plate size, corner and tone pair are SHIPPED by `.starci-core-icon-tile` in
|
|
6
|
+
* `src/common/styles.css`, selected by the `data-size`, `data-tone`, `data-artwork` and
|
|
7
|
+
* `data-loading` attributes this element already emits. The corner comes from the theme radius
|
|
8
|
+
* ramp (`--radius-lg` / `--radius-xl`), not from a HeroUI v2 radius name.
|
|
9
|
+
*/
|
|
15
10
|
const SKELETON_CLASS_NAME = skeletonVariants({ animationType: "shimmer" }).base();
|
|
16
11
|
/**
|
|
17
12
|
* surface.md Catalog / tone.md Scale: only these tone classes have a published rule for their exact
|
|
@@ -27,6 +22,6 @@ const TONE_CONTRACT = {
|
|
|
27
22
|
export const IconTile = ({ source, artwork, ariaLabel, tone = "neutral", size = "sm", isSkeleton = false, }) => {
|
|
28
23
|
const showsArtwork = !isSkeleton && artwork != null;
|
|
29
24
|
const toneRule = isSkeleton || showsArtwork ? undefined : TONE_CONTRACT[tone];
|
|
30
|
-
return (_jsx("span", { "data-tier": "atom", "data-component": "IconTile", "data-tone": tone, "data-size": size, "data-artwork": showsArtwork ? "true" : "false", "data-loading": isSkeleton ? "true" : "false", "aria-hidden": isSkeleton || undefined, "data-contract": ["OVERFLOW-2", toneRule].filter(Boolean).join(" "), className: cn("
|
|
25
|
+
return (_jsx("span", { "data-tier": "atom", "data-component": "IconTile", "data-tone": tone, "data-size": size, "data-artwork": showsArtwork ? "true" : "false", "data-loading": isSkeleton ? "true" : "false", "aria-hidden": isSkeleton || undefined, "data-contract": ["OVERFLOW-2", toneRule].filter(Boolean).join(" "), className: cn("starci-core-icon-tile", isSkeleton ? SKELETON_CLASS_NAME : undefined), children: isSkeleton ? null : showsArtwork ? artwork : (_jsx(Icon, { source: source, usage: "leading", ...(ariaLabel === undefined ? {} : { ariaLabel }) })) }));
|
|
31
26
|
};
|
|
32
27
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/IconTile/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEpD,OAAO,EAAE,IAAI,EAAmB,MAAM,kBAAkB,CAAA;AAgBxD
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/IconTile/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEpD,OAAO,EAAE,IAAI,EAAmB,MAAM,kBAAkB,CAAA;AAgBxD;;;;;GAKG;AAEH,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;AAEjF;;;;GAIG;AACH,MAAM,aAAa,GAA0C;IACzD,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,WAAW;CACvB,CAAA;AAED,sFAAsF;AACtF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EACrB,MAAM,EACN,OAAO,EACP,SAAS,EACT,IAAI,GAAG,SAAS,EAChB,IAAI,GAAG,IAAI,EACX,UAAU,GAAG,KAAK,GACN,EAAE,EAAE;IAChB,MAAM,YAAY,GAAG,CAAC,UAAU,IAAI,OAAO,IAAI,IAAI,CAAA;IACnD,MAAM,QAAQ,GAAG,UAAU,IAAI,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAC7E,OAAO,CACH,4BACc,MAAM,oBACD,UAAU,eACd,IAAI,eACJ,IAAI,kBACD,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,kBAC/B,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,iBAC9B,UAAU,IAAI,SAAS,mBACrB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EACjE,SAAS,EAAE,EAAE,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,YAEnF,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAC1C,KAAC,IAAI,IAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAC,SAAS,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,GAAI,CAC/F,GACE,CACV,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Input/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Input/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAUpE,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,CAAA;AAC9E,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,WAAW,CAAA;AAElD,KAAK,SAAS,GAAG,aAAa,CAAC;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAE/D,MAAM,MAAM,UAAU,GAAG;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAA;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAA;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACnD,CAAA;AAUD,uFAAuF;AACvF,eAAO,MAAM,KAAK,GAAI,qOAoBnB,UAAU,gCA8DZ,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 { useState } from "react";
|
|
4
|
-
import { Description as HeroDescription, ErrorMessage as HeroErrorMessage, Input as HeroInput, Label as HeroLabel, Skeleton as HeroSkeleton, TextField as HeroTextField,
|
|
4
|
+
import { Description as HeroDescription, ErrorMessage as HeroErrorMessage, Input as HeroInput, Label as HeroLabel, Skeleton as HeroSkeleton, TextField as HeroTextField, } from "@heroui/react";
|
|
5
5
|
const KINDS = {
|
|
6
6
|
email: { type: "email", autoComplete: "email", inputMode: "email" },
|
|
7
7
|
password: { type: "password", autoComplete: "current-password", inputMode: "text" },
|
|
@@ -18,10 +18,10 @@ export const Input = ({ id, name, label, kind: kindName = "text", variant = "pri
|
|
|
18
18
|
const toggleLabel = isRevealed ? hideLabel : revealLabel;
|
|
19
19
|
const ToggleIcon = isRevealed ? HideIcon : RevealIcon;
|
|
20
20
|
if (isSkeleton) {
|
|
21
|
-
return (_jsxs("div", { "data-tier": "atom", "data-component": "Input", "data-state": "skeleton", "data-contract": "GAP-2", className: "
|
|
21
|
+
return (_jsxs("div", { "data-tier": "atom", "data-component": "Input", "data-state": "skeleton", "data-contract": "GAP-2", className: "starci-core-input", children: [_jsx(HeroSkeleton, { className: "starci-core-input-resting-label" }), _jsx(HeroSkeleton, { className: "starci-core-input-resting-control" })] }));
|
|
22
22
|
}
|
|
23
|
-
return (_jsxs(HeroTextField, { "data-tier": "atom", "data-component": "Input", fullWidth: true, variant: variant, isInvalid: invalid, isDisabled: isDisabled, isRequired: isRequired, "data-contract": "GAP-2", className: "
|
|
23
|
+
return (_jsxs(HeroTextField, { "data-tier": "atom", "data-component": "Input", fullWidth: true, variant: variant, isInvalid: invalid, isDisabled: isDisabled, isRequired: isRequired, "data-contract": "GAP-2", className: "starci-core-input", children: [_jsx(HeroLabel, { children: label }), hint == null ? null : _jsx(HeroDescription, { children: hint }), _jsxs("div", { className: "starci-core-input-control", "data-reveal": isSecret && toggleLabel !== undefined ? "true" : "false", children: [_jsx(HeroInput, { id: id, name: name, type: isSecret && isRevealed ? "text" : kind.type, autoComplete: kind.autoComplete, inputMode: kind.inputMode, ...(placeholder === undefined ? {} : { placeholder }), ...(value === undefined
|
|
24
24
|
? defaultValue === undefined ? {} : { defaultValue }
|
|
25
|
-
: { value }), fullWidth: true, className:
|
|
25
|
+
: { value }), fullWidth: true, className: "starci-core-input-field", onChange: (event) => onValueChange?.(event.target.value) }), !isSecret || toggleLabel === undefined ? null : (_jsx("button", { type: "button", "aria-label": toggleLabel, disabled: isDisabled, "data-contract": "TONE-2", className: "starci-core-input-reveal", onClick: () => setIsRevealed((current) => !current), children: ToggleIcon === undefined ? _jsx("span", { "data-contract": "FONT-1", className: "starci-core-input-reveal-label", children: toggleLabel }) : _jsx(ToggleIcon, { className: "starci-core-input-reveal-icon" }) }))] }), errorMessage == null ? null : _jsx(HeroErrorMessage, { children: errorMessage })] }));
|
|
26
26
|
};
|
|
27
27
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Input/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,QAAQ,EAAsC,MAAM,OAAO,CAAA;AACpE,OAAO,EACH,WAAW,IAAI,eAAe,EAC9B,YAAY,IAAI,gBAAgB,EAChC,KAAK,IAAI,SAAS,EAClB,KAAK,IAAI,SAAS,EAClB,QAAQ,IAAI,YAAY,EACxB,SAAS,IAAI,aAAa,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Input/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
/** Select surface label copy that recedes when the owner is nested. */
|
|
2
|
-
export declare const getLabelClassName: (depth: "top" | "nested") => import("tailwind-variants").CnReturn;
|
|
3
1
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
|
|
2
|
+
* Identifies surface label copy. The scale that recedes when the owner is nested is SHIPPED by
|
|
3
|
+
* `.starci-core-label[data-grammar-label-depth]` in `src/common/styles.css`, read from the
|
|
4
|
+
* attribute the component already emits.
|
|
5
|
+
*/
|
|
6
|
+
export declare const getLabelClassName: () => string;
|
|
7
|
+
/**
|
|
8
|
+
* Rule ids this element can claim from the shipped rule above.
|
|
9
|
+
* The nested and top scales match FONT-1 and FONT-2 on the closed type scale
|
|
10
|
+
* (font.md `## Scale`). The semibold weight and the zero measure floor carry no
|
|
11
|
+
* rule id in their topic files and stay unclaimed.
|
|
8
12
|
* `.starci-core-label { margin: 0 }` (common/styles.css) is unconditional across both
|
|
9
13
|
* depths and matches margin.md's "Label | 0 | MARGIN-0" row.
|
|
10
14
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classNames.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Label/classNames.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"classNames.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Label/classNames.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,cAAuD,CAAA;AAErF;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,KAAK,GAAG,QAAQ,0CAA+D,CAAA"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { cn } from "@heroui/react";
|
|
2
|
-
/** Select surface label copy that recedes when the owner is nested. */
|
|
3
|
-
export const getLabelClassName = (depth) => cn("starci-core-label", "min-w-0", "font-semibold", depth === "nested" ? "text-xs leading-4" : "text-sm leading-5");
|
|
4
2
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
|
|
3
|
+
* Identifies surface label copy. The scale that recedes when the owner is nested is SHIPPED by
|
|
4
|
+
* `.starci-core-label[data-grammar-label-depth]` in `src/common/styles.css`, read from the
|
|
5
|
+
* attribute the component already emits.
|
|
6
|
+
*/
|
|
7
|
+
export const getLabelClassName = () => cn("starci-core-label") ?? "starci-core-label";
|
|
8
|
+
/**
|
|
9
|
+
* Rule ids this element can claim from the shipped rule above.
|
|
10
|
+
* The nested and top scales match FONT-1 and FONT-2 on the closed type scale
|
|
11
|
+
* (font.md `## Scale`). The semibold weight and the zero measure floor carry no
|
|
12
|
+
* rule id in their topic files and stay unclaimed.
|
|
9
13
|
* `.starci-core-label { margin: 0 }` (common/styles.css) is unconditional across both
|
|
10
14
|
* depths and matches margin.md's "Label | 0 | MARGIN-0" row.
|
|
11
15
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classNames.js","sourceRoot":"","sources":["../../../../src/core/primitive/Label/classNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAElC
|
|
1
|
+
{"version":3,"file":"classNames.js","sourceRoot":"","sources":["../../../../src/core/primitive/Label/classNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAElC;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAI,mBAAmB,CAAA;AAErF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAuB,EAAE,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAA"}
|
|
@@ -4,7 +4,7 @@ import { getLabelClassName, getLabelContract } from "./classNames.js";
|
|
|
4
4
|
export const Label = ({ id, children, depth = "top", as = "span" }) => {
|
|
5
5
|
const shared = {
|
|
6
6
|
id,
|
|
7
|
-
className: getLabelClassName(
|
|
7
|
+
className: getLabelClassName(),
|
|
8
8
|
"data-grammar-label": "true",
|
|
9
9
|
"data-grammar-label-depth": depth,
|
|
10
10
|
"data-contract": getLabelContract(depth),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Label/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAUrE,qFAAqF;AACrF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE,GAAG,MAAM,EAAc,EAAE,EAAE;IAC9E,MAAM,MAAM,GAAG;QACX,EAAE;QACF,SAAS,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/Label/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAUrE,qFAAqF;AACrF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE,GAAG,MAAM,EAAc,EAAE,EAAE;IAC9E,MAAM,MAAM,GAAG;QACX,EAAE;QACF,SAAS,EAAE,iBAAiB,EAAE;QAC9B,oBAAoB,EAAE,MAAM;QAC5B,0BAA0B,EAAE,KAAK;QACjC,eAAe,EAAE,gBAAgB,CAAC,KAAK,CAAC;KAClC,CAAA;IAEV,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAQ,MAAM,YAAG,QAAQ,GAAM,CAAC,CAAC,CAAC,kBAAU,MAAM,YAAG,QAAQ,GAAQ,CAAA;AAC9F,CAAC,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const pressableFieldClassName: string;
|
|
2
|
+
export declare const pressableFieldContentClassName: string;
|
|
3
|
+
export declare const pressableFieldPlaceholderClassName: string;
|
|
4
|
+
export declare const pressableFieldShortcutClassName: string;
|
|
5
|
+
//# sourceMappingURL=classNames.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classNames.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/PressableField/classNames.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB,QAAqE,CAAA;AACzG,eAAO,MAAM,8BAA8B,QAAqF,CAAA;AAChI,eAAO,MAAM,kCAAkC,QAA6F,CAAA;AAC5I,eAAO,MAAM,+BAA+B,QAAuF,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { cn } from "@heroui/react";
|
|
2
|
+
export const pressableFieldClassName = cn("starci-core-pressable-field") ?? "starci-core-pressable-field";
|
|
3
|
+
export const pressableFieldContentClassName = cn("starci-core-pressable-field-content") ?? "starci-core-pressable-field-content";
|
|
4
|
+
export const pressableFieldPlaceholderClassName = cn("starci-core-pressable-field-placeholder") ?? "starci-core-pressable-field-placeholder";
|
|
5
|
+
export const pressableFieldShortcutClassName = cn("starci-core-pressable-field-shortcut") ?? "starci-core-pressable-field-shortcut";
|
|
6
|
+
//# sourceMappingURL=classNames.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classNames.js","sourceRoot":"","sources":["../../../../src/core/primitive/PressableField/classNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAElC,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC,6BAA6B,CAAC,IAAI,6BAA6B,CAAA;AACzG,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC,qCAAqC,CAAC,IAAI,qCAAqC,CAAA;AAChI,MAAM,CAAC,MAAM,kCAAkC,GAAG,EAAE,CAAC,yCAAyC,CAAC,IAAI,yCAAyC,CAAA;AAC5I,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,CAAC,sCAAsC,CAAC,IAAI,sCAAsC,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type IconSource } from "../Icon/index.js";
|
|
2
|
+
export type PressableFieldProps = {
|
|
3
|
+
/** Accessible name of the control; the placeholder is decoration, not a name. */
|
|
4
|
+
readonly label: string;
|
|
5
|
+
/** Placeholder-style copy that says what pressing the field will let the reader do. */
|
|
6
|
+
readonly placeholder: string;
|
|
7
|
+
readonly source?: IconSource;
|
|
8
|
+
/** Keyboard hint shown at the end of the field, rendered as a `kbd`. */
|
|
9
|
+
readonly shortcut?: string;
|
|
10
|
+
readonly isDisabled?: boolean;
|
|
11
|
+
readonly onPress?: () => void;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* A field you press instead of type into.
|
|
15
|
+
*
|
|
16
|
+
* It is input ANATOMY, not a button variant: the height, inset, corner, border and paint come from
|
|
17
|
+
* the same `--field-*` contract `Input` reads, so a search trigger sitting beside real fields
|
|
18
|
+
* matches them without any application restating field geometry. It never accepts text - the whole
|
|
19
|
+
* field is one press target - so it carries its own accessible name and no form value.
|
|
20
|
+
*/
|
|
21
|
+
export declare const PressableField: ({ label, placeholder, source, shortcut, isDisabled, onPress }: PressableFieldProps) => import("react").JSX.Element;
|
|
22
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/PressableField/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAQxD,MAAM,MAAM,mBAAmB,GAAG;IAC9B,iFAAiF;IACjF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,uFAAuF;IACvF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;IAC5B,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GAAI,+DAAuE,mBAAmB,gCAkBxH,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Icon } from "../Icon/index.js";
|
|
4
|
+
import { pressableFieldClassName, pressableFieldContentClassName, pressableFieldPlaceholderClassName, pressableFieldShortcutClassName, } from "./classNames.js";
|
|
5
|
+
/**
|
|
6
|
+
* A field you press instead of type into.
|
|
7
|
+
*
|
|
8
|
+
* It is input ANATOMY, not a button variant: the height, inset, corner, border and paint come from
|
|
9
|
+
* the same `--field-*` contract `Input` reads, so a search trigger sitting beside real fields
|
|
10
|
+
* matches them without any application restating field geometry. It never accepts text - the whole
|
|
11
|
+
* field is one press target - so it carries its own accessible name and no form value.
|
|
12
|
+
*/
|
|
13
|
+
export const PressableField = ({ label, placeholder, source, shortcut, isDisabled = false, onPress }) => (_jsxs("button", { type: "button", "aria-label": label, disabled: isDisabled, "data-tier": "atom", "data-component": "PressableField", "data-disabled": isDisabled ? "true" : "false", "data-contract": "MEASURE-2 PADDING-3 GAP-2 SURFACE-4 TONE-1", className: pressableFieldClassName, onClick: () => onPress?.(), children: [_jsxs("span", { className: pressableFieldContentClassName, "data-contract": "GAP-2", children: [source === undefined ? null : _jsx(Icon, { source: source, usage: "leading" }), _jsx("span", { className: pressableFieldPlaceholderClassName, "data-contract": "FLOW-4 FONT-2 TONE-2", children: placeholder })] }), shortcut === undefined ? null : _jsx("kbd", { className: pressableFieldShortcutClassName, "data-contract": "FONT-1 PADDING-1 TONE-2", children: shortcut })] }));
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/primitive/PressableField/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,IAAI,EAAmB,MAAM,kBAAkB,CAAA;AACxD,OAAO,EACH,uBAAuB,EACvB,8BAA8B,EAC9B,kCAAkC,EAClC,+BAA+B,GAClC,MAAM,iBAAiB,CAAA;AAcxB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,KAAK,EAAE,OAAO,EAAuB,EAAE,EAAE,CAAC,CAC1H,kBACI,IAAI,EAAC,QAAQ,gBACD,KAAK,EACjB,QAAQ,EAAE,UAAU,eACV,MAAM,oBACD,gBAAgB,mBAChB,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,mBAC9B,4CAA4C,EAC1D,SAAS,EAAE,uBAAuB,EAClC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,aAE1B,gBAAM,SAAS,EAAE,8BAA8B,mBAAgB,OAAO,aACjE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAC,SAAS,GAAG,EACvE,eAAM,SAAS,EAAE,kCAAkC,mBAAgB,sBAAsB,YAAE,WAAW,GAAQ,IAC3G,EACN,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAK,SAAS,EAAE,+BAA+B,mBAAgB,yBAAyB,YAAE,QAAQ,GAAO,IACrI,CACZ,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Progress/index.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG;IACxB,kFAAkF;IAClF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,mFAAmF;IACnF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/primitive/Progress/index.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG;IACxB,kFAAkF;IAClF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,mFAAmF;IACnF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAUD,iFAAiF;AACjF,eAAO,MAAM,QAAQ,GAAI,8BAA0C,aAAa,gCAoC/E,CAAA"}
|