@starci/grammar 0.2.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +54 -30
- package/dist/common/conformance.d.ts +31 -0
- package/dist/common/conformance.d.ts.map +1 -0
- package/dist/common/conformance.js +33 -0
- package/dist/common/conformance.js.map +1 -0
- package/dist/common/index.d.ts +5 -73
- package/dist/common/index.d.ts.map +1 -1
- package/dist/common/index.js +5 -202
- package/dist/common/index.js.map +1 -1
- package/dist/common/registry.d.ts +79 -0
- package/dist/common/registry.d.ts.map +1 -0
- package/dist/common/registry.js +34 -0
- package/dist/common/registry.js.map +1 -0
- package/dist/common/renderers.d.ts +41 -0
- package/dist/common/renderers.d.ts.map +1 -0
- package/dist/common/renderers.js +44 -0
- package/dist/common/renderers.js.map +1 -0
- package/dist/common/rule-catalog.generated.d.ts +40 -0
- package/dist/common/rule-catalog.generated.d.ts.map +1 -0
- package/dist/common/rule-catalog.generated.js +230 -0
- package/dist/common/rule-catalog.generated.js.map +1 -0
- package/dist/common/spacing.d.ts +20 -0
- package/dist/common/spacing.d.ts.map +1 -0
- package/dist/common/spacing.js +18 -0
- package/dist/common/spacing.js.map +1 -0
- package/dist/common/state.d.ts +6 -0
- package/dist/common/state.d.ts.map +1 -0
- package/dist/common/state.js +11 -0
- package/dist/common/state.js.map +1 -0
- package/dist/common/styles.css +1566 -2
- package/dist/core/LeadingNumber.d.ts +12 -0
- package/dist/core/LeadingNumber.d.ts.map +1 -0
- package/dist/core/LeadingNumber.js +10 -0
- package/dist/core/LeadingNumber.js.map +1 -0
- package/dist/core/OtpInput.d.ts +12 -0
- package/dist/core/OtpInput.d.ts.map +1 -0
- package/dist/core/OtpInput.js +22 -0
- package/dist/core/OtpInput.js.map +1 -0
- package/dist/core/StateMark.d.ts +3 -5
- package/dist/core/StateMark.d.ts.map +1 -1
- package/dist/core/StateMark.js +3 -3
- package/dist/core/StateMark.js.map +1 -1
- package/dist/core/branch/MarkdownArticle/classNames.d.ts +9 -0
- package/dist/core/branch/MarkdownArticle/classNames.d.ts.map +1 -0
- package/dist/core/branch/MarkdownArticle/classNames.js +10 -0
- package/dist/core/branch/MarkdownArticle/classNames.js.map +1 -0
- package/dist/core/branch/MarkdownArticle/index.d.ts +30 -0
- package/dist/core/branch/MarkdownArticle/index.d.ts.map +1 -0
- package/dist/core/branch/MarkdownArticle/index.js +12 -0
- package/dist/core/branch/MarkdownArticle/index.js.map +1 -0
- package/dist/core/branch/Rail/classNames.d.ts +9 -0
- package/dist/core/branch/Rail/classNames.d.ts.map +1 -0
- package/dist/core/branch/Rail/classNames.js +10 -0
- package/dist/core/branch/Rail/classNames.js.map +1 -0
- package/dist/core/branch/Rail/index.d.ts +7 -6
- package/dist/core/branch/Rail/index.d.ts.map +1 -1
- package/dist/core/branch/Rail/index.js +16 -5
- package/dist/core/branch/Rail/index.js.map +1 -1
- package/dist/core/branch/Subnav/classNames.d.ts +8 -0
- package/dist/core/branch/Subnav/classNames.d.ts.map +1 -0
- package/dist/core/branch/Subnav/classNames.js +9 -0
- package/dist/core/branch/Subnav/classNames.js.map +1 -0
- package/dist/core/branch/Subnav/index.d.ts +17 -0
- package/dist/core/branch/Subnav/index.d.ts.map +1 -0
- package/dist/core/branch/Subnav/index.js +6 -0
- package/dist/core/branch/Subnav/index.js.map +1 -0
- package/dist/core/branch/SurfaceAccordionCard/classNames.d.ts +19 -0
- package/dist/core/branch/SurfaceAccordionCard/classNames.d.ts.map +1 -0
- package/dist/core/branch/SurfaceAccordionCard/classNames.js +21 -0
- package/dist/core/branch/SurfaceAccordionCard/classNames.js.map +1 -0
- package/dist/core/branch/SurfaceAccordionCard/index.d.ts +44 -0
- package/dist/core/branch/SurfaceAccordionCard/index.d.ts.map +1 -0
- package/dist/core/branch/SurfaceAccordionCard/index.js +42 -0
- package/dist/core/branch/SurfaceAccordionCard/index.js.map +1 -0
- package/dist/core/branch/SurfaceCard/classNames.d.ts +23 -0
- package/dist/core/branch/SurfaceCard/classNames.d.ts.map +1 -0
- package/dist/core/branch/SurfaceCard/classNames.js +23 -0
- package/dist/core/branch/SurfaceCard/classNames.js.map +1 -0
- package/dist/core/branch/SurfaceCard/index.d.ts +14 -7
- package/dist/core/branch/SurfaceCard/index.d.ts.map +1 -1
- package/dist/core/branch/SurfaceCard/index.js +18 -4
- package/dist/core/branch/SurfaceCard/index.js.map +1 -1
- package/dist/core/branch/SurfaceListCard/classNames.d.ts +13 -0
- package/dist/core/branch/SurfaceListCard/classNames.d.ts.map +1 -0
- package/dist/core/branch/SurfaceListCard/classNames.js +14 -0
- package/dist/core/branch/SurfaceListCard/classNames.js.map +1 -0
- package/dist/core/branch/SurfaceListCard/index.d.ts +5 -19
- package/dist/core/branch/SurfaceListCard/index.d.ts.map +1 -1
- package/dist/core/branch/SurfaceListCard/index.js +6 -8
- package/dist/core/branch/SurfaceListCard/index.js.map +1 -1
- package/dist/core/branch/Tabs/classNames.d.ts +11 -0
- package/dist/core/branch/Tabs/classNames.d.ts.map +1 -0
- package/dist/core/branch/Tabs/classNames.js +13 -0
- package/dist/core/branch/Tabs/classNames.js.map +1 -0
- package/dist/core/branch/Tabs/index.d.ts +22 -0
- package/dist/core/branch/Tabs/index.d.ts.map +1 -0
- package/dist/core/branch/Tabs/index.js +28 -0
- package/dist/core/branch/Tabs/index.js.map +1 -0
- package/dist/core/branch/Tooltip/classNames.d.ts +3 -0
- package/dist/core/branch/Tooltip/classNames.d.ts.map +1 -0
- package/dist/core/branch/Tooltip/classNames.js +4 -0
- package/dist/core/branch/Tooltip/classNames.js.map +1 -0
- package/dist/core/branch/Tooltip/index.d.ts +18 -0
- package/dist/core/branch/Tooltip/index.d.ts.map +1 -0
- package/dist/core/branch/Tooltip/index.js +14 -0
- package/dist/core/branch/Tooltip/index.js.map +1 -0
- package/dist/core/classNames.d.ts +23 -0
- package/dist/core/classNames.d.ts.map +1 -0
- package/dist/core/classNames.js +24 -0
- package/dist/core/classNames.js.map +1 -0
- package/dist/core/composite/EmptyNotice/index.d.ts +17 -0
- package/dist/core/composite/EmptyNotice/index.d.ts.map +1 -0
- package/dist/core/composite/EmptyNotice/index.js +7 -0
- package/dist/core/composite/EmptyNotice/index.js.map +1 -0
- package/dist/core/composite/HorizontalScrollRegion/index.d.ts +9 -0
- package/dist/core/composite/HorizontalScrollRegion/index.d.ts.map +1 -0
- package/dist/core/composite/HorizontalScrollRegion/index.js +10 -0
- package/dist/core/composite/HorizontalScrollRegion/index.js.map +1 -0
- package/dist/core/composite/StaticStateRow/index.d.ts +1 -5
- package/dist/core/composite/StaticStateRow/index.d.ts.map +1 -1
- package/dist/core/composite/StaticStateRow/index.js +4 -3
- package/dist/core/composite/StaticStateRow/index.js.map +1 -1
- package/dist/core/composite/VerticalScrollRegion/index.d.ts +10 -0
- package/dist/core/composite/VerticalScrollRegion/index.d.ts.map +1 -0
- package/dist/core/composite/VerticalScrollRegion/index.js +10 -0
- package/dist/core/composite/VerticalScrollRegion/index.js.map +1 -0
- package/dist/core/composition/ChatWorkspace/classNames.d.ts +30 -0
- package/dist/core/composition/ChatWorkspace/classNames.d.ts.map +1 -0
- package/dist/core/composition/ChatWorkspace/classNames.js +31 -0
- package/dist/core/composition/ChatWorkspace/classNames.js.map +1 -0
- package/dist/core/composition/ChatWorkspace/index.d.ts +48 -0
- package/dist/core/composition/ChatWorkspace/index.d.ts.map +1 -0
- package/dist/core/composition/ChatWorkspace/index.js +40 -0
- package/dist/core/composition/ChatWorkspace/index.js.map +1 -0
- package/dist/core/composition/NavigationFeatureNav/classNames.d.ts +9 -0
- package/dist/core/composition/NavigationFeatureNav/classNames.d.ts.map +1 -0
- package/dist/core/composition/NavigationFeatureNav/classNames.js +10 -0
- package/dist/core/composition/NavigationFeatureNav/classNames.js.map +1 -0
- package/dist/core/composition/NavigationFeatureNav/index.d.ts +26 -0
- package/dist/core/composition/NavigationFeatureNav/index.d.ts.map +1 -0
- package/dist/core/composition/NavigationFeatureNav/index.js +13 -0
- package/dist/core/composition/NavigationFeatureNav/index.js.map +1 -0
- package/dist/core/composition/PrimaryRailLayout/index.d.ts +14 -0
- package/dist/core/composition/PrimaryRailLayout/index.d.ts.map +1 -0
- package/dist/core/composition/PrimaryRailLayout/index.js +8 -0
- package/dist/core/composition/PrimaryRailLayout/index.js.map +1 -0
- package/dist/core/composition/Sidebar/index.d.ts +31 -0
- package/dist/core/composition/Sidebar/index.d.ts.map +1 -0
- package/dist/core/composition/Sidebar/index.js +40 -0
- package/dist/core/composition/Sidebar/index.js.map +1 -0
- package/dist/core/composition/WorkspaceShell/classNames.d.ts +11 -0
- package/dist/core/composition/WorkspaceShell/classNames.d.ts.map +1 -0
- package/dist/core/composition/WorkspaceShell/classNames.js +12 -0
- package/dist/core/composition/WorkspaceShell/classNames.js.map +1 -0
- package/dist/core/composition/WorkspaceShell/index.d.ts +67 -0
- package/dist/core/composition/WorkspaceShell/index.d.ts.map +1 -0
- package/dist/core/composition/WorkspaceShell/index.js +20 -0
- package/dist/core/composition/WorkspaceShell/index.js.map +1 -0
- package/dist/core/dna.d.ts +180 -0
- package/dist/core/dna.d.ts.map +1 -0
- package/dist/core/dna.js +175 -0
- package/dist/core/dna.js.map +1 -0
- package/dist/core/index.d.ts +59 -10
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +27 -10
- package/dist/core/index.js.map +1 -1
- package/dist/core/primitive/Badge/index.d.ts +12 -0
- package/dist/core/primitive/Badge/index.d.ts.map +1 -0
- package/dist/core/primitive/Badge/index.js +15 -0
- package/dist/core/primitive/Badge/index.js.map +1 -0
- package/dist/core/primitive/Button/index.d.ts +52 -0
- package/dist/core/primitive/Button/index.d.ts.map +1 -0
- package/dist/core/primitive/Button/index.js +26 -0
- package/dist/core/primitive/Button/index.js.map +1 -0
- package/dist/core/primitive/Divider/index.d.ts +7 -0
- package/dist/core/primitive/Divider/index.d.ts.map +1 -0
- package/dist/core/primitive/Divider/index.js +5 -0
- package/dist/core/primitive/Divider/index.js.map +1 -0
- package/dist/core/primitive/GrammarRoot/index.d.ts +10 -0
- package/dist/core/primitive/GrammarRoot/index.d.ts.map +1 -0
- package/dist/core/primitive/GrammarRoot/index.js +5 -0
- package/dist/core/primitive/GrammarRoot/index.js.map +1 -0
- package/dist/core/primitive/Heading/index.d.ts +15 -0
- package/dist/core/primitive/Heading/index.d.ts.map +1 -0
- package/dist/core/primitive/Heading/index.js +26 -0
- package/dist/core/primitive/Heading/index.js.map +1 -0
- package/dist/core/primitive/Icon/index.d.ts +31 -0
- package/dist/core/primitive/Icon/index.d.ts.map +1 -0
- package/dist/core/primitive/Icon/index.js +23 -0
- package/dist/core/primitive/Icon/index.js.map +1 -0
- package/dist/core/primitive/IconButton/index.d.ts +13 -0
- package/dist/core/primitive/IconButton/index.d.ts.map +1 -0
- package/dist/core/primitive/IconButton/index.js +9 -0
- package/dist/core/primitive/IconButton/index.js.map +1 -0
- package/dist/core/primitive/IconTile/index.d.ts +17 -0
- package/dist/core/primitive/IconTile/index.d.ts.map +1 -0
- package/dist/core/primitive/IconTile/index.js +32 -0
- package/dist/core/primitive/IconTile/index.js.map +1 -0
- package/dist/core/primitive/IncludedMark/index.d.ts +10 -0
- package/dist/core/primitive/IncludedMark/index.d.ts.map +1 -0
- package/dist/core/primitive/IncludedMark/index.js +8 -0
- package/dist/core/primitive/IncludedMark/index.js.map +1 -0
- package/dist/core/primitive/Input/index.d.ts +31 -0
- package/dist/core/primitive/Input/index.d.ts.map +1 -0
- package/dist/core/primitive/Input/index.js +27 -0
- package/dist/core/primitive/Input/index.js.map +1 -0
- package/dist/core/primitive/Label/classNames.d.ts +12 -0
- package/dist/core/primitive/Label/classNames.d.ts.map +1 -0
- package/dist/core/primitive/Label/classNames.js +13 -0
- package/dist/core/primitive/Label/classNames.js.map +1 -0
- package/dist/core/primitive/Label/index.d.ts +11 -0
- package/dist/core/primitive/Label/index.d.ts.map +1 -0
- package/dist/core/primitive/Label/index.js +14 -0
- package/dist/core/primitive/Label/index.js.map +1 -0
- package/dist/core/primitive/MediaFrame/index.d.ts +15 -0
- package/dist/core/primitive/MediaFrame/index.d.ts.map +1 -0
- package/dist/core/primitive/MediaFrame/index.js +8 -0
- package/dist/core/primitive/MediaFrame/index.js.map +1 -0
- package/dist/core/primitive/PageContainer/index.d.ts +9 -0
- package/dist/core/primitive/PageContainer/index.d.ts.map +1 -0
- package/dist/core/primitive/PageContainer/index.js +8 -0
- package/dist/core/primitive/PageContainer/index.js.map +1 -0
- package/dist/core/primitive/Progress/index.d.ts +11 -0
- package/dist/core/primitive/Progress/index.d.ts.map +1 -0
- package/dist/core/primitive/Progress/index.js +13 -0
- package/dist/core/primitive/Progress/index.js.map +1 -0
- package/dist/core/primitive/RankArtwork/index.d.ts +12 -0
- package/dist/core/primitive/RankArtwork/index.d.ts.map +1 -0
- package/dist/core/primitive/RankArtwork/index.js +14 -0
- package/dist/core/primitive/RankArtwork/index.js.map +1 -0
- package/dist/core/primitive/SectionHeader/index.d.ts +15 -0
- package/dist/core/primitive/SectionHeader/index.d.ts.map +1 -0
- package/dist/core/primitive/SectionHeader/index.js +6 -0
- package/dist/core/primitive/SectionHeader/index.js.map +1 -0
- package/dist/core/primitive/SurfaceCopyGroup/index.d.ts +7 -0
- package/dist/core/primitive/SurfaceCopyGroup/index.d.ts.map +1 -0
- package/dist/core/primitive/SurfaceCopyGroup/index.js +5 -0
- package/dist/core/primitive/SurfaceCopyGroup/index.js.map +1 -0
- package/dist/core/primitive/Text/index.d.ts +25 -0
- package/dist/core/primitive/Text/index.d.ts.map +1 -0
- package/dist/core/primitive/Text/index.js +57 -0
- package/dist/core/primitive/Text/index.js.map +1 -0
- package/dist/core/primitive/TextAction/index.d.ts +45 -0
- package/dist/core/primitive/TextAction/index.d.ts.map +1 -0
- package/dist/core/primitive/TextAction/index.js +112 -0
- package/dist/core/primitive/TextAction/index.js.map +1 -0
- package/dist/core/primitive/actionStyles.d.ts +5 -0
- package/dist/core/primitive/actionStyles.d.ts.map +1 -0
- package/dist/core/primitive/actionStyles.js +19 -0
- package/dist/core/primitive/actionStyles.js.map +1 -0
- package/dist/core/state.d.ts +4 -4
- package/dist/core/state.d.ts.map +1 -1
- package/dist/core/state.js +4 -4
- package/dist/core/state.js.map +1 -1
- package/dist/core/styles.css +152 -225
- package/dist/heritage/index.d.ts +27 -0
- package/dist/heritage/index.d.ts.map +1 -0
- package/dist/heritage/index.js +44 -0
- package/dist/heritage/index.js.map +1 -0
- package/dist/heritage/styles.css +165 -0
- package/dist/offset-pop/index.d.ts +9 -263
- package/dist/offset-pop/index.d.ts.map +1 -1
- package/dist/offset-pop/index.js +35 -63
- package/dist/offset-pop/index.js.map +1 -1
- package/dist/offset-pop/styles.css +292 -393
- package/package.json +78 -72
- package/dist/core/contracts.d.ts +0 -190
- package/dist/core/contracts.d.ts.map +0 -1
- package/dist/core/contracts.js +0 -145
- package/dist/core/contracts.js.map +0 -1
- package/dist/core/grammar.d.ts +0 -18
- package/dist/core/grammar.d.ts.map +0 -1
- package/dist/core/grammar.js +0 -27
- package/dist/core/grammar.js.map +0 -1
- package/dist/core/layout.d.ts +0 -9
- package/dist/core/layout.d.ts.map +0 -1
- package/dist/core/layout.js +0 -43
- package/dist/core/layout.js.map +0 -1
- package/dist/core/rules.d.ts +0 -63
- package/dist/core/rules.d.ts.map +0 -1
- package/dist/core/rules.js +0 -66
- package/dist/core/rules.js.map +0 -1
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type LeadingNumberProps = {
|
|
2
|
+
/** One-based position of the item inside its authored sequence. */
|
|
3
|
+
readonly position: number;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* Product-neutral ordinal prefix for readable ordered rows.
|
|
7
|
+
*
|
|
8
|
+
* The punctuation and treatment are intentionally closed: an ordinal prefix is
|
|
9
|
+
* quiet reading structure (`1.`), never a badge, chip, status, or decoration.
|
|
10
|
+
*/
|
|
11
|
+
export declare const LeadingNumber: (props: LeadingNumberProps) => import("react").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=LeadingNumber.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LeadingNumber.d.ts","sourceRoot":"","sources":["../../src/core/LeadingNumber.tsx"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC7B,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC5B,CAAA;AAID;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,kBAAkB,gCAMtD,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { leadingNumberClassName } from "./classNames.js";
|
|
3
|
+
/**
|
|
4
|
+
* Product-neutral ordinal prefix for readable ordered rows.
|
|
5
|
+
*
|
|
6
|
+
* The punctuation and treatment are intentionally closed: an ordinal prefix is
|
|
7
|
+
* quiet reading structure (`1.`), never a badge, chip, status, or decoration.
|
|
8
|
+
*/
|
|
9
|
+
export const LeadingNumber = (props) => (_jsxs("span", { className: leadingNumberClassName, children: [props.position, "."] }));
|
|
10
|
+
//# sourceMappingURL=LeadingNumber.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LeadingNumber.js","sourceRoot":"","sources":["../../src/core/LeadingNumber.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAExD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAE,EAAE,CAAC,CACxD,gBACI,SAAS,EAAE,sBAAsB,aAEhC,KAAK,CAAC,QAAQ,SACZ,CACV,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type OtpInputProps = {
|
|
2
|
+
readonly id: string;
|
|
3
|
+
readonly name: string;
|
|
4
|
+
readonly defaultValue?: string;
|
|
5
|
+
readonly disabled?: boolean;
|
|
6
|
+
readonly invalid?: boolean;
|
|
7
|
+
readonly describedBy?: string;
|
|
8
|
+
readonly onChange?: (value: string) => void;
|
|
9
|
+
};
|
|
10
|
+
/** Own the conventional six-digit OTP control and its intrinsic-width overflow treatment. */
|
|
11
|
+
export declare const OtpInput: (props: OtpInputProps) => import("react").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=OtpInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OtpInput.d.ts","sourceRoot":"","sources":["../../src/core/OtpInput.tsx"],"names":[],"mappings":"AAOA,MAAM,MAAM,aAAa,GAAG;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9C,CAAA;AAED,6FAA6F;AAC7F,eAAO,MAAM,QAAQ,GAAI,OAAO,aAAa,gCAqC5C,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useCallback, useRef } from "react";
|
|
4
|
+
import { InputOTP, REGEXP_ONLY_DIGITS } from "@heroui/react";
|
|
5
|
+
import { horizontalScrollRegionClassName } from "./classNames.js";
|
|
6
|
+
import { HorizontalScrollRegion } from "./composite/HorizontalScrollRegion/index.js";
|
|
7
|
+
/** Own the conventional six-digit OTP control and its intrinsic-width overflow treatment. */
|
|
8
|
+
export const OtpInput = (props) => {
|
|
9
|
+
const regionRef = useRef(null);
|
|
10
|
+
const onChange = useCallback((nextValue) => {
|
|
11
|
+
props.onChange?.(nextValue);
|
|
12
|
+
window.requestAnimationFrame(() => {
|
|
13
|
+
const slots = regionRef.current?.querySelectorAll("[data-slot='input-otp-slot']");
|
|
14
|
+
if (!slots?.length)
|
|
15
|
+
return;
|
|
16
|
+
const activeIndex = Math.min(nextValue.length, slots.length - 1);
|
|
17
|
+
slots.item(activeIndex).scrollIntoView({ block: "nearest", inline: "nearest" });
|
|
18
|
+
});
|
|
19
|
+
}, [props.onChange]);
|
|
20
|
+
return (_jsx(HorizontalScrollRegion, { ref: regionRef, className: horizontalScrollRegionClassName, "data-contract": "PADDING-1 OVERFLOW-3 OVERFLOW-5", children: _jsx(InputOTP, { id: props.id, name: props.name, maxLength: 6, pattern: REGEXP_ONLY_DIGITS, autoComplete: "one-time-code", inputMode: "numeric", defaultValue: props.defaultValue, isDisabled: props.disabled === true, isInvalid: props.invalid === true, "aria-invalid": props.invalid === true ? true : undefined, "aria-describedby": props.describedBy, variant: "secondary", onChange: onChange, children: _jsx(InputOTP.Group, { children: Array.from({ length: 6 }, (_, index) => (_jsx(InputOTP.Slot, { index: index }, index))) }) }) }));
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=OtpInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OtpInput.js","sourceRoot":"","sources":["../../src/core/OtpInput.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAA;AAYpF,6FAA6F;AAC7F,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAE,EAAE;IAC7C,MAAM,SAAS,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,SAAiB,EAAE,EAAE;QAC/C,KAAK,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAA;QAC3B,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE;YAC9B,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAc,8BAA8B,CAAC,CAAA;YAC9F,IAAI,CAAC,KAAK,EAAE,MAAM;gBAAE,OAAM;YAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YAChE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;QACnF,CAAC,CAAC,CAAA;IACN,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEpB,OAAO,CACH,KAAC,sBAAsB,IAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,+BAA+B,mBAAgB,iCAAiC,YAC/H,KAAC,QAAQ,IACL,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,SAAS,EAAE,CAAC,EACZ,OAAO,EAAE,kBAAkB,EAC3B,YAAY,EAAC,eAAe,EAC5B,SAAS,EAAC,SAAS,EACnB,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,UAAU,EAAE,KAAK,CAAC,QAAQ,KAAK,IAAI,EACnC,SAAS,EAAE,KAAK,CAAC,OAAO,KAAK,IAAI,kBACnB,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,sBACrC,KAAK,CAAC,WAAW,EACnC,OAAO,EAAC,WAAW,EACnB,QAAQ,EAAE,QAAQ,YAElB,KAAC,QAAQ,CAAC,KAAK,cACV,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CACrC,KAAC,QAAQ,CAAC,IAAI,IAAa,KAAK,EAAE,KAAK,IAAnB,KAAK,CAAkB,CAC9C,CAAC,GACW,GACV,GACU,CAC5B,CAAA;AACL,CAAC,CAAA"}
|
package/dist/core/StateMark.d.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import type { PresentationState } from "./state.js";
|
|
2
|
+
/** Props for the neutral state mark. */
|
|
2
3
|
export type StateMarkProps = {
|
|
3
4
|
readonly state: PresentationState;
|
|
4
5
|
};
|
|
5
|
-
|
|
6
|
-
export declare const
|
|
7
|
-
readonly shape: "leaf";
|
|
8
|
-
readonly grammar: "core";
|
|
9
|
-
};
|
|
6
|
+
/** Draw the check mark used by successful neutral states. */
|
|
7
|
+
export declare const StateMark: (props: StateMarkProps) => import("react").JSX.Element | null;
|
|
10
8
|
//# sourceMappingURL=StateMark.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateMark.d.ts","sourceRoot":"","sources":["../../src/core/StateMark.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGnD,MAAM,MAAM,cAAc,GAAG;IACzB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,
|
|
1
|
+
{"version":3,"file":"StateMark.d.ts","sourceRoot":"","sources":["../../src/core/StateMark.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAGnD,wCAAwC;AACxC,MAAM,MAAM,cAAc,GAAG;IACzB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;CACpC,CAAA;AAED,6DAA6D;AAC7D,eAAO,MAAM,SAAS,GAAI,OAAO,cAAc,uCAc9C,CAAA"}
|
package/dist/core/StateMark.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { treatmentFor } from "./state.js";
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
/** Draw the check mark used by successful neutral states. */
|
|
4
|
+
export const StateMark = (props) => {
|
|
5
|
+
const treatment = treatmentFor(props.state);
|
|
5
6
|
if (treatment.mark !== "check")
|
|
6
7
|
return null;
|
|
7
8
|
return (_jsx("svg", { "aria-hidden": "true", "data-grammar-state-mark": "check", focusable: "false", viewBox: "0 0 20 20", children: _jsx("path", { d: "M5 10.5 8.25 14 15 6.5", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2" }) }));
|
|
8
9
|
};
|
|
9
|
-
export const meta = { shape: "leaf", grammar: "core" };
|
|
10
10
|
//# sourceMappingURL=StateMark.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateMark.js","sourceRoot":"","sources":["../../src/core/StateMark.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"StateMark.js","sourceRoot":"","sources":["../../src/core/StateMark.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAOzC,6DAA6D;AAC7D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAqB,EAAE,EAAE;IAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC3C,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,IAAI,CAAA;IAE3C,OAAO,CACH,6BACgB,MAAM,6BACM,OAAO,EAC/B,SAAS,EAAC,OAAO,EACjB,OAAO,EAAC,WAAW,YAEnB,eAAM,CAAC,EAAC,wBAAwB,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,WAAW,EAAC,GAAG,GAAG,GAChI,CACT,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Identifies the readable Markdown document frame. */
|
|
2
|
+
export declare const markdownArticleClassName: import("tailwind-variants").CnReturn;
|
|
3
|
+
/** Identifies a bounded fenced-code frame. */
|
|
4
|
+
export declare const fencedCodeBlockClassName: import("tailwind-variants").CnReturn;
|
|
5
|
+
/** Identifies the optional fenced-code header. */
|
|
6
|
+
export declare const fencedCodeHeaderClassName: import("tailwind-variants").CnReturn;
|
|
7
|
+
/** Identifies the bounded table overflow frame. */
|
|
8
|
+
export declare const markdownTableFrameClassName: import("tailwind-variants").CnReturn;
|
|
9
|
+
//# sourceMappingURL=classNames.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classNames.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/MarkdownArticle/classNames.ts"],"names":[],"mappings":"AAEA,uDAAuD;AACvD,eAAO,MAAM,wBAAwB,sCAA0B,CAAA;AAC/D,8CAA8C;AAC9C,eAAO,MAAM,wBAAwB,sCAAiC,CAAA;AACtE,kDAAkD;AAClD,eAAO,MAAM,yBAAyB,sCAAgD,CAAA;AACtF,mDAAmD;AACnD,eAAO,MAAM,2BAA2B,sCAAiC,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { cn } from "@heroui/react";
|
|
2
|
+
/** Identifies the readable Markdown document frame. */
|
|
3
|
+
export const markdownArticleClassName = cn("min-w-0", "w-full");
|
|
4
|
+
/** Identifies a bounded fenced-code frame. */
|
|
5
|
+
export const fencedCodeBlockClassName = cn("min-w-0", "overflow-auto");
|
|
6
|
+
/** Identifies the optional fenced-code header. */
|
|
7
|
+
export const fencedCodeHeaderClassName = cn("flex", "items-center", "justify-between");
|
|
8
|
+
/** Identifies the bounded table overflow frame. */
|
|
9
|
+
export const markdownTableFrameClassName = cn("min-w-0", "overflow-auto");
|
|
10
|
+
//# sourceMappingURL=classNames.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classNames.js","sourceRoot":"","sources":["../../../../src/core/branch/MarkdownArticle/classNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAElC,uDAAuD;AACvD,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;AAC/D,8CAA8C;AAC9C,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;AACtE,kDAAkD;AAClD,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAA;AACtF,mDAAmD;AACnD,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
export type MarkdownArticleProps = {
|
|
3
|
+
readonly children: ReactNode;
|
|
4
|
+
readonly ariaLabel?: string;
|
|
5
|
+
readonly measure?: "reading" | "compact";
|
|
6
|
+
};
|
|
7
|
+
type FencedCodeBlockFrameProps = {
|
|
8
|
+
readonly language?: string;
|
|
9
|
+
readonly action?: ReactNode;
|
|
10
|
+
};
|
|
11
|
+
type AuthoredCodeProps = {
|
|
12
|
+
readonly code: string;
|
|
13
|
+
readonly children?: never;
|
|
14
|
+
};
|
|
15
|
+
type RenderedCodeProps = {
|
|
16
|
+
readonly children: ReactNode;
|
|
17
|
+
readonly code?: never;
|
|
18
|
+
};
|
|
19
|
+
export type FencedCodeBlockProps = FencedCodeBlockFrameProps & (AuthoredCodeProps | RenderedCodeProps);
|
|
20
|
+
export type MarkdownTableFrameProps = {
|
|
21
|
+
readonly children: ReactNode;
|
|
22
|
+
};
|
|
23
|
+
/** Own the business-neutral reading rhythm for one semantic Markdown document. */
|
|
24
|
+
export declare const MarkdownArticle: (props: MarkdownArticleProps) => import("react").JSX.Element;
|
|
25
|
+
/** Own bounded code overflow while allowing a caller-supplied neutral action such as Copy. */
|
|
26
|
+
export declare const FencedCodeBlock: (props: FencedCodeBlockProps) => import("react").JSX.Element;
|
|
27
|
+
/** Keep a vendor-rendered table inside the same bounded reading frame as semantic tables. */
|
|
28
|
+
export declare const MarkdownTableFrame: (props: MarkdownTableFrameProps) => import("react").JSX.Element;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/MarkdownArticle/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;CAC3C,CAAA;AAED,KAAK,yBAAyB,GAAG;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAC9B,CAAA;AAED,KAAK,iBAAiB,GAAG;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAC5B,CAAA;AAED,KAAK,iBAAiB,GAAG;IACrB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,GAAG,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,CAAA;AAEtG,MAAM,MAAM,uBAAuB,GAAG;IAClC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAC/B,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,eAAe,GAAI,OAAO,oBAAoB,gCAQ1D,CAAA;AAED,8FAA8F;AAC9F,eAAO,MAAM,eAAe,GAAI,OAAO,oBAAoB,gCAgB1D,CAAA;AAED,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,GAAI,OAAO,uBAAuB,gCAOhE,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { fencedCodeBlockClassName, fencedCodeHeaderClassName, markdownArticleClassName, markdownTableFrameClassName } from "./classNames.js";
|
|
3
|
+
/** Own the business-neutral reading rhythm for one semantic Markdown document. */
|
|
4
|
+
export const MarkdownArticle = (props) => (_jsx("div", { "aria-label": props.ariaLabel, className: markdownArticleClassName, "data-grammar-markdown-measure": props.measure ?? "reading", children: props.children }));
|
|
5
|
+
/** Own bounded code overflow while allowing a caller-supplied neutral action such as Copy. */
|
|
6
|
+
export const FencedCodeBlock = (props) => {
|
|
7
|
+
const body = "children" in props ? props.children : _jsx("pre", { children: _jsx("code", { children: props.code }) });
|
|
8
|
+
return (_jsxs("div", { className: fencedCodeBlockClassName, "data-contract": "OVERFLOW-4", children: [props.language === undefined && props.action === undefined ? null : (_jsxs("div", { className: fencedCodeHeaderClassName, children: [props.language === undefined ? _jsx("span", {}) : _jsx("span", { children: props.language }), props.action] })), body] }));
|
|
9
|
+
};
|
|
10
|
+
/** Keep a vendor-rendered table inside the same bounded reading frame as semantic tables. */
|
|
11
|
+
export const MarkdownTableFrame = (props) => (_jsx("div", { className: markdownTableFrameClassName, "data-contract": "OVERFLOW-4", children: props.children }));
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/MarkdownArticle/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AA6B5I,kFAAkF;AAClF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAA2B,EAAE,EAAE,CAAC,CAC5D,4BACgB,KAAK,CAAC,SAAS,EAC3B,SAAS,EAAE,wBAAwB,mCACJ,KAAK,CAAC,OAAO,IAAI,SAAS,YAExD,KAAK,CAAC,QAAQ,GACb,CACT,CAAA;AAED,8FAA8F;AAC9F,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAA2B,EAAE,EAAE;IAC3D,MAAM,IAAI,GAAG,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,wBAAK,yBAAO,KAAK,CAAC,IAAI,GAAQ,GAAM,CAAA;IACxF,OAAO,CACH,eACI,SAAS,EAAE,wBAAwB,mBACrB,YAAY,aAEzB,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACjE,eAAK,SAAS,EAAE,yBAAyB,aACpC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAQ,CAAC,CAAC,CAAC,yBAAO,KAAK,CAAC,QAAQ,GAAQ,EACvE,KAAK,CAAC,MAAM,IACX,CACT,EACA,IAAI,IACH,CACT,CAAA;AACL,CAAC,CAAA;AAED,6FAA6F;AAC7F,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAA8B,EAAE,EAAE,CAAC,CAClE,cACI,SAAS,EAAE,2BAA2B,mBACxB,YAAY,YAEzB,KAAK,CAAC,QAAQ,GACb,CACT,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Identifies the rail landmark wrapper. */
|
|
2
|
+
export declare const railClassName: import("tailwind-variants").CnReturn;
|
|
3
|
+
/** Identifies the rail's internal frame. */
|
|
4
|
+
export declare const railFrameClassName: import("tailwind-variants").CnReturn;
|
|
5
|
+
/** Identifies the rail's primary body region. */
|
|
6
|
+
export declare const railBodyClassName: import("tailwind-variants").CnReturn;
|
|
7
|
+
/** Identifies the optional rail footer region. */
|
|
8
|
+
export declare const railFooterClassName: import("tailwind-variants").CnReturn;
|
|
9
|
+
//# sourceMappingURL=classNames.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classNames.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/Rail/classNames.ts"],"names":[],"mappings":"AAEA,4CAA4C;AAC5C,eAAO,MAAM,aAAa,sCAAoC,CAAA;AAC9D,4CAA4C;AAC5C,eAAO,MAAM,kBAAkB,sCAA8D,CAAA;AAC7F,iDAAiD;AACjD,eAAO,MAAM,iBAAiB,sCAAmD,CAAA;AACjF,kDAAkD;AAClD,eAAO,MAAM,mBAAmB,sCAAwD,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { cn } from "@heroui/react";
|
|
2
|
+
/** Identifies the rail landmark wrapper. */
|
|
3
|
+
export const railClassName = cn("starci-core-rail", "min-w-0");
|
|
4
|
+
/** Identifies the rail's internal frame. */
|
|
5
|
+
export const railFrameClassName = cn("starci-core-rail-frame", "flex", "min-w-0", "flex-col");
|
|
6
|
+
/** Identifies the rail's primary body region. */
|
|
7
|
+
export const railBodyClassName = cn("starci-core-rail-body", "min-w-0", "flex-1");
|
|
8
|
+
/** Identifies the optional rail footer region. */
|
|
9
|
+
export const railFooterClassName = cn("starci-core-rail-footer", "flex", "items-center");
|
|
10
|
+
//# sourceMappingURL=classNames.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classNames.js","sourceRoot":"","sources":["../../../../src/core/branch/Rail/classNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAElC,4CAA4C;AAC5C,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAA;AAC9D,4CAA4C;AAC5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC,wBAAwB,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;AAC7F,iDAAiD;AACjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC,uBAAuB,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;AACjF,kDAAkD;AAClD,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC,yBAAyB,EAAE,MAAM,EAAE,cAAc,CAAC,CAAA"}
|
|
@@ -12,17 +12,18 @@ type ContentNavigationRailProps = {
|
|
|
12
12
|
export type RailProps = (ComplementaryRailProps | ContentNavigationRailProps) & {
|
|
13
13
|
readonly children: ReactNode;
|
|
14
14
|
readonly footer?: ReactNode;
|
|
15
|
+
/** Whether the rail sizes to authored content or fills a height supplied by its layout host. */
|
|
16
|
+
readonly height?: "content" | "fill";
|
|
15
17
|
readonly mode?: "flow" | "sticky";
|
|
16
18
|
readonly width?: "compact" | "standard" | "wide";
|
|
17
19
|
readonly state?: PresentationState;
|
|
18
20
|
readonly collapse?: "expanded" | "collapsed";
|
|
19
21
|
readonly motion?: "static" | "animated" | "reduced";
|
|
22
|
+
/** Visually hide the landmark label when children already expose visible headings. */
|
|
23
|
+
readonly isLabelHidden?: boolean;
|
|
24
|
+
/** Grammar-owned content inset. `content` is exactly px-3 py-6. */
|
|
25
|
+
readonly inset?: "none" | "content";
|
|
20
26
|
};
|
|
21
|
-
export declare const Rail: (
|
|
22
|
-
export declare const meta: {
|
|
23
|
-
readonly shape: "branch";
|
|
24
|
-
readonly grammar: "core";
|
|
25
|
-
readonly contract: "core.branch.rail";
|
|
26
|
-
};
|
|
27
|
+
export declare const Rail: (props: RailProps) => import("react").JSX.Element;
|
|
27
28
|
export {};
|
|
28
29
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/Rail/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/Rail/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAyC,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAG9F,KAAK,sBAAsB,GAAG;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAA;CACtC,CAAA;AAED,KAAK,0BAA0B,GAAG;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;IACtB,gGAAgG;IAChG,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,sBAAsB,GAAG,0BAA0B,CAAC,GAAG;IAC5E,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,gGAAgG;IAChG,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAA;IAChD,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAA;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,WAAW,CAAA;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAA;IACnD,sFAAsF;IACtF,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,mEAAmE;IACnE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,OAAO,SAAS,gCAiEpC,CAAA"}
|
|
@@ -1,16 +1,28 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "@heroui/react";
|
|
2
3
|
import { useId } from "react";
|
|
3
4
|
import { assertPresentationState, treatmentFor } from "../../state.js";
|
|
4
|
-
|
|
5
|
+
import { railBodyClassName, railClassName, railFooterClassName, railFrameClassName } from "./classNames.js";
|
|
6
|
+
export const Rail = (props) => {
|
|
7
|
+
const { label, landmark = "complementary", children, footer, height = "content", mode = "flow", width = "standard", state = "neutral", collapse = "expanded", motion = "static", isLabelHidden = false, inset = "none", } = props;
|
|
5
8
|
assertPresentationState(state);
|
|
6
9
|
const headingId = useId();
|
|
7
10
|
const treatment = treatmentFor(state);
|
|
8
|
-
const
|
|
11
|
+
const bodyContract = [
|
|
12
|
+
// The compact `.75rem` reflow only fires below the rail's own 18rem container
|
|
13
|
+
// breakpoint, which no prop resolves; that variant is not claimed.
|
|
14
|
+
// At height="fill" the body switches from `overflow-y: auto` to `overflow: hidden`,
|
|
15
|
+
// so OVERFLOW-3 no longer describes it; MEASURE-6 ("the rail body fills its shell")
|
|
16
|
+
// takes over instead.
|
|
17
|
+
height === "fill" ? "MEASURE-6" : "OVERFLOW-3",
|
|
18
|
+
inset === "content" ? "PADDING-3 PADDING-5" : null,
|
|
19
|
+
].filter(Boolean).join(" ");
|
|
20
|
+
const frame = (_jsxs("div", { className: railFrameClassName, "data-contract": "GAP-4", "data-grammar-rail-frame": "true", children: [landmark === "content-navigation" ? null : _jsx("h2", { className: isLabelHidden ? "starci-core-visually-hidden" : undefined, "data-grammar-rail-heading": "true", id: headingId, children: label }), _jsx("div", { className: cn(railBodyClassName, inset === "content" && "px-3 py-6"), "data-grammar-rail-body": "true", "data-grammar-rail-inset": inset, ...(bodyContract === "" ? {} : { "data-contract": bodyContract }), children: children }), footer === undefined ? null : (_jsx("div", { className: railFooterClassName, "data-grammar-rail-footer": "true", children: footer }))] }));
|
|
9
21
|
const shared = {
|
|
10
|
-
className:
|
|
22
|
+
className: railClassName,
|
|
11
23
|
"data-grammar-collapse": collapse,
|
|
12
|
-
"data-grammar-contract": "core.rail",
|
|
13
24
|
"data-grammar-landmark": landmark,
|
|
25
|
+
"data-grammar-rail-height": height,
|
|
14
26
|
"data-grammar-motion": motion,
|
|
15
27
|
"data-grammar-rail": "true",
|
|
16
28
|
"data-grammar-rail-mode": mode,
|
|
@@ -22,5 +34,4 @@ export const Rail = ({ label, landmark = "complementary", children, footer, mode
|
|
|
22
34
|
return _jsx("div", { ...shared, children: frame });
|
|
23
35
|
return (_jsx("aside", { "aria-labelledby": headingId, ...shared, children: frame }));
|
|
24
36
|
};
|
|
25
|
-
export const meta = { shape: "branch", grammar: "core", contract: "core.branch.rail" };
|
|
26
37
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/Rail/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAkB,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAA0B,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/Rail/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAClC,OAAO,EAAE,KAAK,EAAkB,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAA0B,MAAM,gBAAgB,CAAA;AAC9F,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AA6B3G,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,KAAgB,EAAE,EAAE;IACrC,MAAM,EACF,KAAK,EACL,QAAQ,GAAG,eAAe,EAC1B,QAAQ,EACR,MAAM,EACN,MAAM,GAAG,SAAS,EAClB,IAAI,GAAG,MAAM,EACb,KAAK,GAAG,UAAU,EAClB,KAAK,GAAG,SAAS,EACjB,QAAQ,GAAG,UAAU,EACrB,MAAM,GAAG,QAAQ,EACjB,aAAa,GAAG,KAAK,EACrB,KAAK,GAAG,MAAM,GACjB,GAAG,KAAK,CAAA;IACT,uBAAuB,CAAC,KAAK,CAAC,CAAA;IAC9B,MAAM,SAAS,GAAG,KAAK,EAAE,CAAA;IACzB,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAErC,MAAM,YAAY,GAAG;QACjB,8EAA8E;QAC9E,mEAAmE;QACnE,oFAAoF;QACpF,oFAAoF;QACpF,sBAAsB;QACtB,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY;QAC9C,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI;KACrD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAE3B,MAAM,KAAK,GAAG,CACV,eAAK,SAAS,EAAE,kBAAkB,mBAAgB,OAAO,6BAAyB,MAAM,aACnF,QAAQ,KAAK,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAI,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,SAAS,+BAA4B,MAAM,EAAC,EAAE,EAAE,SAAS,YAAG,KAAK,GAAM,EAClL,cACI,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE,KAAK,KAAK,SAAS,IAAI,WAAW,CAAC,4BAC7C,MAAM,6BACJ,KAAK,KAC1B,CAAC,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC,YACpE,QAAQ,GAAO,EAChB,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC3B,cAAK,SAAS,EAAE,mBAAmB,8BAA2B,MAAM,YAAE,MAAM,GAAO,CACtF,IACC,CACT,CAAA;IACD,MAAM,MAAM,GAAG;QACX,SAAS,EAAE,aAAa;QACxB,uBAAuB,EAAE,QAAQ;QACjC,uBAAuB,EAAE,QAAQ;QACjC,0BAA0B,EAAE,MAAM;QAClC,qBAAqB,EAAE,MAAM;QAC7B,mBAAmB,EAAE,MAAM;QAC3B,wBAAwB,EAAE,IAAI;QAC9B,yBAAyB,EAAE,KAAK;QAChC,oBAAoB,EAAE,KAAK;QAC3B,wBAAwB,EAAE,SAAS,CAAC,IAAI;KAClC,CAAA;IAEV,IAAI,QAAQ,KAAK,oBAAoB;QAAE,OAAO,iBAAS,MAAM,YAAG,KAAK,GAAO,CAAA;IAC5E,OAAO,CACH,mCACqB,SAAS,KACtB,MAAM,YAET,KAAK,GACF,CACX,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const subnavClassName: import("tailwind-variants").CnReturn;
|
|
2
|
+
export declare const subnavCompactClassName: import("tailwind-variants").CnReturn;
|
|
3
|
+
export declare const subnavStickyClassName: import("tailwind-variants").CnReturn;
|
|
4
|
+
export declare const subnavIdentityClassName: import("tailwind-variants").CnReturn;
|
|
5
|
+
export declare const subnavLeadingClassName: import("tailwind-variants").CnReturn;
|
|
6
|
+
export declare const subnavTitleClassName: import("tailwind-variants").CnReturn;
|
|
7
|
+
export declare const subnavToggleClassName: import("tailwind-variants").CnReturn;
|
|
8
|
+
//# sourceMappingURL=classNames.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classNames.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/Subnav/classNames.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,sCAa3B,CAAA;AACD,eAAO,MAAM,sBAAsB,sCAA4B,CAAA;AAC/D,eAAO,MAAM,qBAAqB,sCAAiE,CAAA;AACnG,eAAO,MAAM,uBAAuB,sCAAgF,CAAA;AACpH,eAAO,MAAM,sBAAsB,sCAA+C,CAAA;AAClF,eAAO,MAAM,oBAAoB,sCAA4D,CAAA;AAC7F,eAAO,MAAM,qBAAqB,sCAMjC,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { cn } from "@heroui/react";
|
|
2
|
+
export const subnavClassName = cn("starci-core-subnav", "flex", "min-h-[3.25rem]", "w-full", "min-w-0", "items-center", "justify-between", "gap-3", "border-b", "border-separator", "bg-background", "px-3");
|
|
3
|
+
export const subnavCompactClassName = cn("min-[1120px]:hidden");
|
|
4
|
+
export const subnavStickyClassName = cn("sticky", "z-40", "transform-gpu", "will-change-transform");
|
|
5
|
+
export const subnavIdentityClassName = cn("starci-core-subnav-identity", "flex", "min-w-0", "items-center", "gap-2");
|
|
6
|
+
export const subnavLeadingClassName = cn("starci-core-subnav-leading", "shrink-0");
|
|
7
|
+
export const subnavTitleClassName = cn("starci-core-subnav-title", "truncate", "font-medium");
|
|
8
|
+
export const subnavToggleClassName = cn("starci-core-subnav-toggle", "rounded-none", "bg-transparent", "shadow-none", "hover:bg-transparent");
|
|
9
|
+
//# sourceMappingURL=classNames.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classNames.js","sourceRoot":"","sources":["../../../../src/core/branch/Subnav/classNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAElC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAC7B,oBAAoB,EACpB,MAAM,EACN,iBAAiB,EACjB,QAAQ,EACR,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,OAAO,EACP,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,MAAM,CACT,CAAA;AACD,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAA;AAC/D,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,uBAAuB,CAAC,CAAA;AACnG,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC,6BAA6B,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;AACpH,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC,4BAA4B,EAAE,UAAU,CAAC,CAAA;AAClF,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC,0BAA0B,EAAE,UAAU,EAAE,aAAa,CAAC,CAAA;AAC7F,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CACnC,2BAA2B,EAC3B,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,sBAAsB,CACzB,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ComponentPropsWithoutRef, ReactNode } from "react";
|
|
2
|
+
export type SubnavProps = Omit<ComponentPropsWithoutRef<"nav">, "children" | "title"> & {
|
|
3
|
+
readonly label: string;
|
|
4
|
+
readonly title: ReactNode;
|
|
5
|
+
readonly leading?: ReactNode;
|
|
6
|
+
readonly menuIcon: ReactNode;
|
|
7
|
+
readonly openMenuLabel: string;
|
|
8
|
+
readonly closeMenuLabel: string;
|
|
9
|
+
readonly isMenuOpen: boolean;
|
|
10
|
+
readonly onMenuOpenChange?: (isOpen: boolean) => void;
|
|
11
|
+
readonly position?: "static" | "sticky";
|
|
12
|
+
/** Compact projects a desktop sidebar/rail into this branch below 1120px. */
|
|
13
|
+
readonly visibility?: "always" | "compact";
|
|
14
|
+
};
|
|
15
|
+
/** Compact course/workspace identity and the one control that opens its drawer. */
|
|
16
|
+
export declare const Subnav: ({ label, title, leading, menuIcon, openMenuLabel, closeMenuLabel, isMenuOpen, onMenuOpenChange, position, visibility, className, ...navProps }: SubnavProps) => import("react").JSX.Element;
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/Subnav/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAWhE,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG;IACpF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IACrD,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IACvC,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;CAC7C,CAAA;AAED,mFAAmF;AACnF,eAAO,MAAM,MAAM,GAAI,gJAapB,WAAW,gCA2Bb,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button as HeroButton, cn } from "@heroui/react";
|
|
3
|
+
import { subnavClassName, subnavCompactClassName, subnavIdentityClassName, subnavLeadingClassName, subnavStickyClassName, subnavTitleClassName, subnavToggleClassName, } from "./classNames.js";
|
|
4
|
+
/** Compact course/workspace identity and the one control that opens its drawer. */
|
|
5
|
+
export const Subnav = ({ label, title, leading, menuIcon, openMenuLabel, closeMenuLabel, isMenuOpen, onMenuOpenChange, position = "sticky", visibility = "compact", className, ...navProps }) => (_jsxs("nav", { ...navProps, "aria-label": label, className: cn(subnavClassName, visibility === "compact" && subnavCompactClassName, position === "sticky" && subnavStickyClassName, className), "data-grammar-subnav": "true", "data-grammar-subnav-position": position, "data-grammar-subnav-visibility": visibility, "data-contract": "GAP-3 BOUNDARY-1 PADDING-3", children: [_jsxs("div", { className: subnavIdentityClassName, "data-grammar-subnav-identity": "true", "data-contract": "GAP-2", children: [leading === undefined ? null : _jsx("span", { className: subnavLeadingClassName, "data-grammar-subnav-leading": "true", children: leading }), _jsx("span", { className: subnavTitleClassName, "data-grammar-subnav-title": "true", "data-contract": "FLOW-4", children: title })] }), _jsx(HeroButton, { "aria-expanded": isMenuOpen, "aria-label": isMenuOpen ? closeMenuLabel : openMenuLabel, className: subnavToggleClassName ?? "", "data-grammar-subnav-toggle": "true", isIconOnly: true, onPress: () => onMenuOpenChange?.(!isMenuOpen), type: "button", variant: "tertiary", children: menuIcon })] }));
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/Subnav/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAExD,OAAO,EACH,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACxB,MAAM,iBAAiB,CAAA;AAgBxB,mFAAmF;AACnF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EACnB,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,aAAa,EACb,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,QAAQ,GAAG,QAAQ,EACnB,UAAU,GAAG,SAAS,EACtB,SAAS,EACT,GAAG,QAAQ,EACD,EAAE,EAAE,CAAC,CACf,kBACQ,QAAQ,gBACA,KAAK,EACjB,SAAS,EAAE,EAAE,CAAC,eAAe,EAAE,UAAU,KAAK,SAAS,IAAI,sBAAsB,EAAE,QAAQ,KAAK,QAAQ,IAAI,qBAAqB,EAAE,SAAS,CAAC,yBACzH,MAAM,kCACI,QAAQ,oCACN,UAAU,mBAC5B,4BAA4B,aAE1C,eAAK,SAAS,EAAE,uBAAuB,kCAA+B,MAAM,mBAAe,OAAO,aAC7F,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAM,SAAS,EAAE,sBAAsB,iCAA8B,MAAM,YAAE,OAAO,GAAQ,EAC5H,eAAM,SAAS,EAAE,oBAAoB,+BAA4B,MAAM,mBAAe,QAAQ,YAAE,KAAK,GAAQ,IAC3G,EACN,KAAC,UAAU,qBACQ,UAAU,gBACb,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,EACvD,SAAS,EAAE,qBAAqB,IAAI,EAAE,gCACX,MAAM,EACjC,UAAU,QACV,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC,UAAU,CAAC,EAC9C,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,UAAU,YAEjB,QAAQ,GACA,IACX,CACT,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/** Identifies the joined disclosure-card outer shell. */
|
|
2
|
+
export declare const accordionCardClassName: import("tailwind-variants").CnReturn;
|
|
3
|
+
/** Selects bounded or frameless disclosure surfaces. */
|
|
4
|
+
export declare const getAccordionShellClassName: (bounded: boolean) => import("tailwind-variants").CnReturn;
|
|
5
|
+
/** Keeps the HeroUI primitive full-width inside the Grammar-owned surface shell. */
|
|
6
|
+
export declare const accordionRootClassName: import("tailwind-variants").CnReturn;
|
|
7
|
+
/** Identifies one HeroUI-owned disclosure row; the primitive owns sibling separators. */
|
|
8
|
+
export declare const accordionRowClassName: import("tailwind-variants").CnReturn;
|
|
9
|
+
/** Identifies the semantic disclosure heading. */
|
|
10
|
+
export declare const accordionHeadingClassName: import("tailwind-variants").CnReturn;
|
|
11
|
+
/** Identifies the disclosure trigger control. */
|
|
12
|
+
export declare const accordionTriggerClassName: import("tailwind-variants").CnReturn;
|
|
13
|
+
/** The animated HeroUI region owns no inset, so a closed panel collapses to zero height. */
|
|
14
|
+
export declare const accordionPanelClassName: import("tailwind-variants").CnReturn;
|
|
15
|
+
/** Expanded content starts flush beneath its trigger while preserving the bottom and inline insets. */
|
|
16
|
+
export declare const accordionBodyClassName: import("tailwind-variants").CnReturn;
|
|
17
|
+
/** Scroll owner around the joined disclosure rows. */
|
|
18
|
+
export declare const accordionScrollRegionClassName: import("tailwind-variants").CnReturn;
|
|
19
|
+
//# sourceMappingURL=classNames.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classNames.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/SurfaceAccordionCard/classNames.ts"],"names":[],"mappings":"AAGA,yDAAyD;AACzD,eAAO,MAAM,sBAAsB,sCAAgE,CAAA;AACnG,wDAAwD;AACxD,eAAO,MAAM,0BAA0B,GAAI,SAAS,OAAO,yCAK1D,CAAA;AACD,oFAAoF;AACpF,eAAO,MAAM,sBAAsB,sCAA0B,CAAA;AAC7D,yFAAyF;AACzF,eAAO,MAAM,qBAAqB,sCAA4C,CAAA;AAC9E,kDAAkD;AAClD,eAAO,MAAM,yBAAyB,sCAA6C,CAAA;AACnF,iDAAiD;AACjD,eAAO,MAAM,yBAAyB,sCAA6E,CAAA;AACnH,4FAA4F;AAC5F,eAAO,MAAM,uBAAuB,sCAAgE,CAAA;AACpG,uGAAuG;AACvG,eAAO,MAAM,sBAAsB,sCAAsF,CAAA;AACzH,sDAAsD;AACtD,eAAO,MAAM,8BAA8B,sCAAiE,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { cn } from "@heroui/react";
|
|
2
|
+
import { getSurfaceFrameClassName } from "../SurfaceCard/classNames.js";
|
|
3
|
+
/** Identifies the joined disclosure-card outer shell. */
|
|
4
|
+
export const accordionCardClassName = cn("starci-core-surface-accordion-card", "w-full", "min-w-0");
|
|
5
|
+
/** Selects bounded or frameless disclosure surfaces. */
|
|
6
|
+
export const getAccordionShellClassName = (bounded) => cn("starci-core-accordion-shell", getSurfaceFrameClassName(bounded ? "bounded" : "frameless"), "w-full", "min-w-0");
|
|
7
|
+
/** Keeps the HeroUI primitive full-width inside the Grammar-owned surface shell. */
|
|
8
|
+
export const accordionRootClassName = cn("w-full", "min-w-0");
|
|
9
|
+
/** Identifies one HeroUI-owned disclosure row; the primitive owns sibling separators. */
|
|
10
|
+
export const accordionRowClassName = cn("starci-core-accordion-row", "w-full");
|
|
11
|
+
/** Identifies the semantic disclosure heading. */
|
|
12
|
+
export const accordionHeadingClassName = cn("starci-core-accordion-heading", "m-0");
|
|
13
|
+
/** Identifies the disclosure trigger control. */
|
|
14
|
+
export const accordionTriggerClassName = cn("starci-core-accordion-trigger", "w-full", "px-4", "py-3", "text-left");
|
|
15
|
+
/** The animated HeroUI region owns no inset, so a closed panel collapses to zero height. */
|
|
16
|
+
export const accordionPanelClassName = cn("starci-core-accordion-panel", "w-full", "min-w-0", "p-0");
|
|
17
|
+
/** Expanded content starts flush beneath its trigger while preserving the bottom and inline insets. */
|
|
18
|
+
export const accordionBodyClassName = cn("starci-core-accordion-body", "pt-0", "pb-3", "pl-6", "pr-4", "text-foreground");
|
|
19
|
+
/** Scroll owner around the joined disclosure rows. */
|
|
20
|
+
export const accordionScrollRegionClassName = cn("starci-core-accordion-scroll-region", "w-full", "min-w-0");
|
|
21
|
+
//# sourceMappingURL=classNames.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classNames.js","sourceRoot":"","sources":["../../../../src/core/branch/SurfaceAccordionCard/classNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AAEvE,yDAAyD;AACzD,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC,oCAAoC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;AACnG,wDAAwD;AACxD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,EAAE,CAC9D,6BAA6B,EAC7B,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EAC3D,QAAQ,EACR,SAAS,CACZ,CAAA;AACD,oFAAoF;AACpF,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;AAC7D,yFAAyF;AACzF,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAA;AAC9E,kDAAkD;AAClD,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAA;AACnF,iDAAiD;AACjD,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC,+BAA+B,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;AACnH,4FAA4F;AAC5F,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC,6BAA6B,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;AACpG,uGAAuG;AACvG,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC,4BAA4B,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAA;AACzH,sDAAsD;AACtD,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC,qCAAqC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
export type SurfaceAccordionCardItem<Summary, Body> = {
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly isOpen: boolean;
|
|
5
|
+
readonly isDisabled?: boolean;
|
|
6
|
+
readonly summaryRender: Summary;
|
|
7
|
+
readonly bodyRender: Body;
|
|
8
|
+
};
|
|
9
|
+
type SurfaceAccordionCardIdentityProps = {
|
|
10
|
+
readonly label: string;
|
|
11
|
+
readonly ariaLabel?: string;
|
|
12
|
+
} | {
|
|
13
|
+
readonly label?: undefined;
|
|
14
|
+
readonly ariaLabel?: string;
|
|
15
|
+
};
|
|
16
|
+
type SurfaceAccordionCardCommonProps<Summary, Body> = SurfaceAccordionCardIdentityProps & {
|
|
17
|
+
/** Top surfaces own elevation; nested surfaces own a subordinate border; omission is frameless. */
|
|
18
|
+
readonly depth?: "top" | "nested";
|
|
19
|
+
readonly renderSummary: (summary: Summary) => ReactNode;
|
|
20
|
+
readonly renderBody: (body: Body) => ReactNode;
|
|
21
|
+
/** Convenience capability: make the row region a HeroUI Vertical ScrollShadow. */
|
|
22
|
+
readonly isScrollable?: boolean;
|
|
23
|
+
};
|
|
24
|
+
export type SurfaceAccordionCardProps<Summary, Body> = SurfaceAccordionCardCommonProps<Summary, Body> & ({
|
|
25
|
+
readonly items: ReadonlyArray<SurfaceAccordionCardItem<Summary, Body>>;
|
|
26
|
+
readonly onItemOpenChange: (id: string, isOpen: boolean) => void;
|
|
27
|
+
readonly isOpen?: never;
|
|
28
|
+
readonly isDisabled?: never;
|
|
29
|
+
readonly summaryRender?: never;
|
|
30
|
+
readonly bodyRender?: never;
|
|
31
|
+
readonly onOpenChange?: never;
|
|
32
|
+
} | {
|
|
33
|
+
readonly items?: never;
|
|
34
|
+
readonly onItemOpenChange?: never;
|
|
35
|
+
readonly isOpen: boolean;
|
|
36
|
+
readonly isDisabled?: boolean;
|
|
37
|
+
readonly summaryRender: Summary;
|
|
38
|
+
readonly bodyRender: Body;
|
|
39
|
+
readonly onOpenChange: (isOpen: boolean) => void;
|
|
40
|
+
});
|
|
41
|
+
/** Draw one full-width joined disclosure surface whose reusable anatomy is owned by Core Grammar. */
|
|
42
|
+
export declare const SurfaceAccordionCard: <Summary, Body>(props: SurfaceAccordionCardProps<Summary, Body>) => import("react").JSX.Element;
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/SurfaceAccordionCard/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,SAAS,EAAS,MAAM,OAAO,CAAA;AAMvD,MAAM,MAAM,wBAAwB,CAAC,OAAO,EAAE,IAAI,IAAI;IAClD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAA;CAC5B,CAAA;AAED,KAAK,iCAAiC,GAAG;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,GAAG;IACA,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAA;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,KAAK,+BAA+B,CAAC,OAAO,EAAE,IAAI,IAAI,iCAAiC,GAAG;IACtF,mGAAmG;IACnG,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;IACjC,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,SAAS,CAAA;IACvD,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAA;IAC9C,kFAAkF;IAClF,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,yBAAyB,CAAC,OAAO,EAAE,IAAI,IAAI,+BAA+B,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC;IACrG,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;IACtE,QAAQ,CAAC,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IAChE,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAA;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAA;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAA;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAA;CAChC,GAAG;IACA,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;IACtB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAA;IACzB,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;CACnD,CAAC,CAAA;AAiGF,qGAAqG;AACrG,eAAO,MAAM,oBAAoB,GAAI,OAAO,EAAE,IAAI,EAAE,OAAO,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,gCA8B9F,CAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { createElement as _createElement } from "react";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Accordion } from "@heroui/react";
|
|
4
|
+
import { useId } from "react";
|
|
5
|
+
import { VerticalScrollRegion } from "../../composite/VerticalScrollRegion/index.js";
|
|
6
|
+
import { Label } from "../../primitive/Label/index.js";
|
|
7
|
+
import { surfaceLabelClassName } from "../SurfaceCard/classNames.js";
|
|
8
|
+
import { accordionBodyClassName, accordionCardClassName, accordionHeadingClassName, accordionPanelClassName, accordionRootClassName, accordionRowClassName, accordionScrollRegionClassName, getAccordionShellClassName, accordionTriggerClassName } from "./classNames.js";
|
|
9
|
+
const SurfaceAccordionRows = ({ label, ariaLabel, depth, items, renderSummary, renderBody, onItemOpenChange, isScrollable = false, }) => {
|
|
10
|
+
const bounded = depth !== undefined;
|
|
11
|
+
const headingId = useId();
|
|
12
|
+
const accessibleName = ariaLabel ?? label;
|
|
13
|
+
const expandedKeys = new Set(items.filter((item) => item.isOpen).map((item) => item.id));
|
|
14
|
+
const onExpandedChange = (nextKeys) => {
|
|
15
|
+
const nextIds = new Set([...nextKeys].map(String));
|
|
16
|
+
for (const item of items) {
|
|
17
|
+
const nextOpen = nextIds.has(item.id);
|
|
18
|
+
if (nextOpen !== item.isOpen)
|
|
19
|
+
onItemOpenChange(item.id, nextOpen);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
return (_jsxs("section", { className: accordionCardClassName, "data-grammar-surface-accordion-card": "true", children: [label === undefined ? null : (_jsx("div", { className: surfaceLabelClassName, "data-contract": "GAP-2", "data-grammar-surface-label": "true", children: _jsx(Label, { as: "h3", depth: depth ?? "top", id: headingId, children: label }) })), _jsx("div", { "aria-label": label === undefined ? accessibleName : undefined, "aria-labelledby": label === undefined ? undefined : headingId, className: getAccordionShellClassName(bounded), "data-contract": [
|
|
23
|
+
bounded ? "SURFACE-2" : "SURFACE-1",
|
|
24
|
+
bounded ? "OVERFLOW-2" : "OVERFLOW-1 OVERFLOW-2",
|
|
25
|
+
depth === "nested" ? "BOUNDARY-5" : depth === "top" ? "BOUNDARY-6" : undefined,
|
|
26
|
+
].filter(Boolean).join(" "), "data-grammar-accordion-shell": "true", "data-grammar-frame": bounded ? "bounded" : "frameless", "data-grammar-scroll": isScrollable ? "contained" : "page", "data-grammar-surface": bounded ? "true" : undefined, "data-grammar-surface-depth": depth, "data-surface-context": depth === "nested" ? "nested" : depth === "top" ? "page" : undefined, children: _jsx(VerticalScrollRegion, { className: accordionScrollRegionClassName, isScrollable: isScrollable, children: _jsx(Accordion.Root, { allowsMultipleExpanded: true, className: accordionRootClassName ?? "", expandedKeys: expandedKeys, onExpandedChange: onExpandedChange, children: items.map((item) => {
|
|
27
|
+
return (_createElement(Accordion.Item, { className: accordionRowClassName ?? "", "data-contract": "BOUNDARY-3", "data-grammar-accordion-row": "true", "data-grammar-disclosure-state": item.isOpen ? "open" : "closed", id: item.id, ...(item.isDisabled === undefined ? {} : { isDisabled: item.isDisabled }), key: item.id },
|
|
28
|
+
_jsx(Accordion.Heading, { className: accordionHeadingClassName ?? "", "data-contract": "MARGIN-0", children: _jsx(Accordion.Trigger, { className: accordionTriggerClassName ?? "", "data-contract": "PADDING-4", children: renderSummary(item.summaryRender) }) }),
|
|
29
|
+
_jsx(Accordion.Panel, { className: accordionPanelClassName ?? "", "data-contract": "PADDING-0", role: "region", children: _jsx(Accordion.Body, { className: accordionBodyClassName ?? "", "data-contract": "PADDING-8 TONE-1", children: renderBody(item.bodyRender) }) })));
|
|
30
|
+
}) }) }) })] }));
|
|
31
|
+
};
|
|
32
|
+
/** Draw one full-width joined disclosure surface whose reusable anatomy is owned by Core Grammar. */
|
|
33
|
+
export const SurfaceAccordionCard = (props) => props.items === undefined
|
|
34
|
+
? (_jsx(SurfaceAccordionRows, { ...(props.label === undefined ? {} : { label: props.label }), ...(props.ariaLabel === undefined ? {} : { ariaLabel: props.ariaLabel }), ...(props.depth === undefined ? {} : { depth: props.depth }), items: [{
|
|
35
|
+
id: "surface-accordion-item",
|
|
36
|
+
isOpen: props.isOpen,
|
|
37
|
+
...(props.isDisabled === undefined ? {} : { isDisabled: props.isDisabled }),
|
|
38
|
+
summaryRender: props.summaryRender,
|
|
39
|
+
bodyRender: props.bodyRender,
|
|
40
|
+
}], renderSummary: props.renderSummary, renderBody: props.renderBody, onItemOpenChange: (_id, isOpen) => props.onOpenChange(isOpen), ...(props.isScrollable === undefined ? {} : { isScrollable: props.isScrollable }) }))
|
|
41
|
+
: (_jsx(SurfaceAccordionRows, { ...(props.label === undefined ? {} : { label: props.label }), ...(props.ariaLabel === undefined ? {} : { ariaLabel: props.ariaLabel }), ...(props.depth === undefined ? {} : { depth: props.depth }), items: props.items, renderSummary: props.renderSummary, renderBody: props.renderBody, onItemOpenChange: props.onItemOpenChange, ...(props.isScrollable === undefined ? {} : { isScrollable: props.isScrollable }) }));
|
|
42
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/SurfaceAccordionCard/index.tsx"],"names":[],"mappings":"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"}
|