@starci/grammar 0.16.2 → 0.16.3
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 +3 -3
- package/dist/.build-stamp.json +4 -4
- package/dist/common/registry.d.ts +3 -1
- package/dist/common/registry.d.ts.map +1 -1
- package/dist/common/registry.js +2 -2
- package/dist/common/registry.js.map +1 -1
- package/dist/common/renderers.d.ts +2 -1
- package/dist/common/renderers.d.ts.map +1 -1
- package/dist/common/renderers.js +2 -1
- package/dist/common/renderers.js.map +1 -1
- package/dist/common/styles.css +119 -84
- package/dist/core/composite/ChatBubble/index.d.ts +1 -1
- package/dist/core/composite/ChatBubble/index.js +1 -1
- package/dist/core/composite/FillViewport/index.d.ts +1 -1
- package/dist/core/composite/FillViewport/index.js +1 -1
- package/dist/core/composite/Freestyle/index.d.ts +19 -0
- package/dist/core/composite/Freestyle/index.d.ts.map +1 -0
- package/dist/core/composite/Freestyle/index.js +9 -0
- package/dist/core/composite/Freestyle/index.js.map +1 -0
- package/dist/core/composition/Page/index.d.ts +1 -1
- package/dist/core/composition/Page/index.js +1 -1
- package/dist/core/composition/PaneGrid/index.d.ts +78 -0
- package/dist/core/composition/PaneGrid/index.d.ts.map +1 -0
- package/dist/core/composition/PaneGrid/index.js +93 -0
- package/dist/core/composition/PaneGrid/index.js.map +1 -0
- package/dist/core/composition/PaneGrid/layout.d.ts +48 -0
- package/dist/core/composition/PaneGrid/layout.d.ts.map +1 -0
- package/dist/core/composition/PaneGrid/layout.js +83 -0
- package/dist/core/composition/PaneGrid/layout.js.map +1 -0
- package/package.json +1 -1
- package/dist/core/composition/ChatWorkspace/classNames.d.ts +0 -37
- package/dist/core/composition/ChatWorkspace/classNames.d.ts.map +0 -1
- package/dist/core/composition/ChatWorkspace/classNames.js +0 -38
- package/dist/core/composition/ChatWorkspace/classNames.js.map +0 -1
- package/dist/core/composition/ChatWorkspace/index.d.ts +0 -48
- package/dist/core/composition/ChatWorkspace/index.d.ts.map +0 -1
- package/dist/core/composition/ChatWorkspace/index.js +0 -42
- package/dist/core/composition/ChatWorkspace/index.js.map +0 -1
package/README.md
CHANGED
|
@@ -409,8 +409,8 @@ The package requires Node 22 or newer, as does the pinned DiceBear engine.
|
|
|
409
409
|
MarkdownTableFrame, MediaFrame, Rail, SectionHeader, StaticStateRow, SurfaceAccordionCard,
|
|
410
410
|
SurfaceCard, SurfaceCopyGroup, SurfaceListCard, VerticalScrollRegion.
|
|
411
411
|
|
|
412
|
-
**Compositions (11).** BottomNav,
|
|
413
|
-
PrimaryRailLayout, Sidebar, TopBar, WorkspaceShell. Storybook pins settings and data-list content
|
|
412
|
+
**Compositions (11).** BottomNav, Footer, NavigationFeatureNav, Page, PageContainer, PageHeader,
|
|
413
|
+
PaneGrid, PrimaryRailLayout, Sidebar, TopBar, WorkspaceShell. Storybook pins settings and data-list content
|
|
414
414
|
recipes to each family; the mobile app recipes reuse the fixed App shell with its left navigation drawer.
|
|
415
415
|
|
|
416
416
|
`PageHeader` heads one page: `breadcrumbs`, `title` (the page's `h1`), `description`, `meta`, `status` chips beside the
|
|
@@ -423,7 +423,7 @@ children are the body, and `measure` (`reading`, `product`, `full`) is the one m
|
|
|
423
423
|
body. The band runs full width; the body sits in the measure and gutter one region step below it (one region step
|
|
424
424
|
from the top without a header), its sections a region step apart, and it clips past its content box so nothing in it
|
|
425
425
|
reaches across the gutter. `isSkeleton` passes to the header. Page is the single owner of the page inset: the layout
|
|
426
|
-
frames (`WorkspaceShell`, `PrimaryRailLayout`, `
|
|
426
|
+
frames (`WorkspaceShell`, `PrimaryRailLayout`, `PaneGrid`) never wrap a page in a `PageContainer`.
|
|
427
427
|
|
|
428
428
|
```tsx
|
|
429
429
|
<Page measure="reading" header={{ breadcrumbs, title: "Profile", tabs: { label: "Profile", items, selectedKey, onSelect } }}>
|
package/dist/.build-stamp.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "starci/grammar-build-stamp@1",
|
|
3
3
|
"package": "@starci/grammar",
|
|
4
|
-
"version": "0.16.
|
|
4
|
+
"version": "0.16.3",
|
|
5
5
|
"algorithm": "starci/grammar-source-digest@1",
|
|
6
|
-
"sourceDigest": "sha256:
|
|
7
|
-
"distDigest": "sha256:
|
|
8
|
-
"builtAt": "2026-10-
|
|
6
|
+
"sourceDigest": "sha256:123a1964677dbd34c395444bcb0df6b538ef593979eecf29bd4ae93fee76af0a",
|
|
7
|
+
"distDigest": "sha256:e349ceb6a4bb1332c5f85dd799b2a6d047d60bfe3b9947c03a1a27efe6874a84",
|
|
8
|
+
"builtAt": "2026-10-31T04:17:04.329Z"
|
|
9
9
|
}
|
|
@@ -75,11 +75,13 @@ export declare const COMMON_GRAMMAR_COMPONENTS: Readonly<{
|
|
|
75
75
|
readonly Button: (props: import("./renderers.js").ButtonProps) => import("react").JSX.Element;
|
|
76
76
|
readonly Code: ({ children, isSkeleton }: import("./renderers.js").CodeProps) => import("react").JSX.Element;
|
|
77
77
|
readonly ChatBubble: ({ children, side, author, avatar, meta, status, actions, footer, isHighlight, id, isSkeleton, }: import("./renderers.js").ChatBubbleProps) => import("react").JSX.Element;
|
|
78
|
-
readonly
|
|
78
|
+
readonly PaneGrid: (props: import("./renderers.js").PaneGridProps) => import("react").JSX.Element;
|
|
79
|
+
readonly Pane: (props: import("./renderers.js").PaneProps) => import("react").JSX.Element;
|
|
79
80
|
readonly Divider: (props: import("./renderers.js").DividerProps) => import("react").JSX.Element;
|
|
80
81
|
readonly EmptyNotice: ({ message, description, iconSource, artwork, actionLabel, actionStartContent, actionVariant, isActionPending, onAction, }: import("./renderers.js").EmptyNoticeProps) => import("react").JSX.Element;
|
|
81
82
|
readonly FencedCodeBlock: (props: import("./renderers.js").FencedCodeBlockProps) => import("react").JSX.Element;
|
|
82
83
|
readonly FillViewport: ({ children, minHeight, bottomInset, label }: import("./renderers.js").FillViewportProps) => import("react").JSX.Element;
|
|
84
|
+
readonly Freestyle: ({ children, className, reason }: import("./renderers.js").FreestyleProps) => import("react").JSX.Element;
|
|
83
85
|
readonly GrammarRoot: ({ className, theme, navigate, useHref, ...props }: import("./renderers.js").GrammarRootProps) => import("react").JSX.Element;
|
|
84
86
|
readonly Heading: ({ children, level, scale, isSkeleton, isVisuallyHidden, }: import("./renderers.js").HeadingProps) => import("react").JSX.Element;
|
|
85
87
|
readonly HorizontalScrollRegion: import("react").ForwardRefExoticComponent<Omit<import("./renderers.js").HorizontalScrollRegionProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/common/registry.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAEvE,MAAM,MAAM,wBAAwB,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,CAAA;AAClE,KAAK,uBAAuB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAA;AACpE,KAAK,sBAAsB,CAAC,MAAM,SAAS,uBAAuB,IAAI;IAClE,QAAQ,EAAE,IAAI,IAAI,MAAM,MAAM,CAAC,CAAC,EAAE,wBAAwB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;CAC3F,CAAA;AACD,KAAK,gCAAgC,CAAC,MAAM,SAAS,uBAAuB,EAAE,UAAU,SAAS,uBAAuB,IACpH,UAAU,GAAG;IAAE,QAAQ,EAAE,IAAI,IAAI,OAAO,CAAC,MAAM,UAAU,EAAE,MAAM,MAAM,CAAC,GAAG,KAAK;CAAE,CAAA;AAEtF,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/common/registry.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAEvE,MAAM,MAAM,wBAAwB,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,CAAA;AAClE,KAAK,uBAAuB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAA;AACpE,KAAK,sBAAsB,CAAC,MAAM,SAAS,uBAAuB,IAAI;IAClE,QAAQ,EAAE,IAAI,IAAI,MAAM,MAAM,CAAC,CAAC,EAAE,wBAAwB,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;CAC3F,CAAA;AACD,KAAK,gCAAgC,CAAC,MAAM,SAAS,uBAAuB,EAAE,UAAU,SAAS,uBAAuB,IACpH,UAAU,GAAG;IAAE,QAAQ,EAAE,IAAI,IAAI,OAAO,CAAC,MAAM,UAAU,EAAE,MAAM,MAAM,CAAC,GAAG,KAAK;CAAE,CAAA;AAEtF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW3B,CAAA;AACX,MAAM,MAAM,0BAA0B,GAAG,MAAM,OAAO,yBAAyB,CAAA;AAE/E,MAAM,MAAM,mBAAmB,CAAC,QAAQ,SAAS,MAAM,IAAI;IACvD,QAAQ,CAAC,UAAU,EAAE,mBAAmB,MAAM,aAAa,CAAA;IAC3D,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;KAAE,CAAA;CAC1F,CAAA;AAED,MAAM,MAAM,qBAAqB,CAAC,QAAQ,SAAS,MAAM,EAAE,UAAU,SAAS,uBAAuB,IAAI;IACrG,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAC9C,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,yBAAyB,GAAG,UAAU,CAAC,CAAA;IAC5E,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;QAAE,qBAAqB,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAA;CACrE,CAAA;AAED,yEAAyE;AACzE,eAAO,MAAM,mBAAmB,GAC5B,KAAK,CAAC,QAAQ,SAAS,MAAM,EAC7B,KAAK,CAAC,YAAY,SAAS,sBAAsB,CAAC,OAAO,yBAAyB,CAAC,EACnF,KAAK,CAAC,UAAU,SAAS,uBAAuB,EAClD,YAAY;IACV,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAC9C,QAAQ,CAAC,UAAU,EAAE;QACjB,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;QACnC,QAAQ,CAAC,UAAU,EAAE,gCAAgC,CAAC,OAAO,yBAAyB,EAAE,UAAU,CAAC,CAAA;KACtG,CAAA;CACJ,KAAG,qBAAqB,CAAC,QAAQ,EAAE,UAAU,CAuB7C,CAAA"}
|
package/dist/common/registry.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { Backdrop, Badge, Button, Code, ChatBubble,
|
|
2
|
+
import { Backdrop, Badge, Button, Code, ChatBubble, PaneGrid, Pane, Divider, EmptyNotice, FencedCodeBlock, FillViewport, Freestyle, GrammarRoot, Heading, HorizontalScrollRegion, Icon, IconButton, IconTile, IncludedMark, Input, Label, LeadingNumber, List, ListItem, ListRow, MarkdownArticle, MarkdownTableFrame, Mascot, MediaFrame, NavigationFeatureNav, NavLandmark, OtpInput, Page, PageContainer, PageHeader, PinnedActionBar, PressableField, PrimaryRailLayout, Progress, Rail, RankArtwork, Region, RelativeTime, SectionHeader, Sidebar, StateMark, StaticStateRow, StatusDot, Subnav, SurfaceAccordionCard, SurfaceCard, SurfaceCopyGroup, SurfaceListCard, Tabs, Terminal, Text, TextAction, Tooltip, VerticalScrollRegion, WorkspaceShell, } from "./renderers.js";
|
|
3
3
|
import { COMMON_FORMS_COMPONENTS } from "./renderers-forms.js";
|
|
4
4
|
import { COMMON_OVERLAYS_COMPONENTS } from "./renderers-overlays.js";
|
|
5
5
|
import { COMMON_NAVIGATION_COMPONENTS } from "./renderers-navigation.js";
|
|
6
6
|
export const COMMON_GRAMMAR_COMPONENTS = Object.freeze({
|
|
7
|
-
Backdrop, Badge, Button, Code, ChatBubble,
|
|
7
|
+
Backdrop, Badge, Button, Code, ChatBubble, PaneGrid, Pane, Divider, EmptyNotice, FencedCodeBlock, FillViewport, Freestyle, GrammarRoot,
|
|
8
8
|
Heading, HorizontalScrollRegion, Icon, IconButton, IconTile, IncludedMark, Input,
|
|
9
9
|
Label, LeadingNumber, List, ListItem, ListRow, MarkdownArticle, MarkdownTableFrame, Mascot, MediaFrame,
|
|
10
10
|
NavigationFeatureNav, NavLandmark, OtpInput, Page, PageContainer, PageHeader, PinnedActionBar, PressableField, PrimaryRailLayout,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/common/registry.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EACH,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/common/registry.tsx"],"names":[],"mappings":"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"}
|
|
@@ -38,13 +38,14 @@ export { PrimaryRailLayout, type PrimaryRailLayoutProps } from "../core/composit
|
|
|
38
38
|
export { NavigationFeatureNav, type NavigationFeatureNavProps } from "../core/composition/NavigationFeatureNav/index.js";
|
|
39
39
|
export { Sidebar, type SidebarGroup, type SidebarItem, type SidebarProps } from "../core/composition/Sidebar/index.js";
|
|
40
40
|
export { WorkspaceShell, type WorkspaceShellHeaderLandmark, type WorkspaceShellNavigationDrawer, type WorkspaceShellProps } from "../core/composition/WorkspaceShell/index.js";
|
|
41
|
-
export {
|
|
41
|
+
export { PaneGrid, Pane, type PaneGridProps, type PaneProps, type PaneTrack } from "../core/composition/PaneGrid/index.js";
|
|
42
42
|
export { StateMark, type StateMarkProps } from "../core/StateMark.js";
|
|
43
43
|
export { LeadingNumber, type LeadingNumberProps } from "../core/LeadingNumber.js";
|
|
44
44
|
export { OtpInput, type OtpInputProps } from "../core/OtpInput.js";
|
|
45
45
|
export { StaticStateRow, type RowVerdict, type StaticStateRowData, type StaticStateRowProps } from "../core/composite/StaticStateRow/index.js";
|
|
46
46
|
export { ListRow, type ListRowProps } from "../core/composite/ListRow/index.js";
|
|
47
47
|
export { Backdrop, type BackdropProps } from "../core/composite/Backdrop/index.js";
|
|
48
|
+
export { Freestyle, type FreestyleProps } from "../core/composite/Freestyle/index.js";
|
|
48
49
|
export { EmptyNotice, type EmptyNoticeArtwork, type EmptyNoticeProps } from "../core/composite/EmptyNotice/index.js";
|
|
49
50
|
export { ChatBubble, ChatBubbleSkeletons, type ChatBubbleProps, type ChatBubbleSide, type ChatBubbleSkeletonsProps } from "../core/composite/ChatBubble/index.js";
|
|
50
51
|
export { FillViewport, type FillViewportBottomInset, type FillViewportMinHeight, type FillViewportProps } from "../core/composite/FillViewport/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderers.d.ts","sourceRoot":"","sources":["../../src/common/renderers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"renderers.d.ts","sourceRoot":"","sources":["../../src/common/renderers.ts"],"names":[],"mappings":"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"}
|
package/dist/common/renderers.js
CHANGED
|
@@ -39,13 +39,14 @@ export { PrimaryRailLayout } from "../core/composition/PrimaryRailLayout/index.j
|
|
|
39
39
|
export { NavigationFeatureNav } from "../core/composition/NavigationFeatureNav/index.js";
|
|
40
40
|
export { Sidebar } from "../core/composition/Sidebar/index.js";
|
|
41
41
|
export { WorkspaceShell } from "../core/composition/WorkspaceShell/index.js";
|
|
42
|
-
export {
|
|
42
|
+
export { PaneGrid, Pane } from "../core/composition/PaneGrid/index.js";
|
|
43
43
|
export { StateMark } from "../core/StateMark.js";
|
|
44
44
|
export { LeadingNumber } from "../core/LeadingNumber.js";
|
|
45
45
|
export { OtpInput } from "../core/OtpInput.js";
|
|
46
46
|
export { StaticStateRow } from "../core/composite/StaticStateRow/index.js";
|
|
47
47
|
export { ListRow } from "../core/composite/ListRow/index.js";
|
|
48
48
|
export { Backdrop } from "../core/composite/Backdrop/index.js";
|
|
49
|
+
export { Freestyle } from "../core/composite/Freestyle/index.js";
|
|
49
50
|
export { EmptyNotice } from "../core/composite/EmptyNotice/index.js";
|
|
50
51
|
export { ChatBubble, ChatBubbleSkeletons } from "../core/composite/ChatBubble/index.js";
|
|
51
52
|
export { FillViewport } from "../core/composite/FillViewport/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderers.js","sourceRoot":"","sources":["../../src/common/renderers.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,uCAAuC;AACvC,OAAO,EAAE,WAAW,EAAyB,MAAM,wCAAwC,CAAA;AAC3F,OAAO,EAAE,aAAa,EAA2B,MAAM,0CAA0C,CAAA;AACjG,OAAO,EAAE,KAAK,EAAmC,MAAM,kCAAkC,CAAA;AACzF,OAAO,EAAE,MAAM,EAA0E,MAAM,mCAAmC,CAAA;AAElI,OAAO,EAAE,cAAc,EAA4B,MAAM,2CAA2C,CAAA;AACpG,OAAO,EAAE,WAAW,EAAyB,MAAM,wCAAwC,CAAA;AAC3F,OAAO,EAAE,cAAc,EAA4B,MAAM,2CAA2C,CAAA;AACpG,OAAO,EAAE,OAAO,EAAqE,MAAM,oCAAoC,CAAA;AAC/H,OAAO,EAAE,WAAW,EAAiD,MAAM,wCAAwC,CAAA;AACnH,OAAO,EAAE,MAAM,EAAwC,MAAM,mCAAmC,CAAA;AAChG,OAAO,EAAE,IAAI,EAAkB,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAsB,MAAM,qCAAqC,CAAA;AAClF,OAAO,EAAE,OAAO,EAA2D,MAAM,oCAAoC,CAAA;AACrH,OAAO,EAAE,IAAI,EAAyE,MAAM,iCAAiC,CAAA;AAC7H,OAAO,EAAE,QAAQ,EAA4D,MAAM,qCAAqC,CAAA;AACxH,OAAO,EAAE,UAAU,EAAgD,MAAM,uCAAuC,CAAA;AAChH,OAAO,EAAE,KAAK,EAA6C,MAAM,kCAAkC,CAAA;AACnG,OAAO,EAAE,KAAK,EAAsD,MAAM,kCAAkC,CAAA;AAC5G,OAAO,EAAE,cAAc,EAA4B,MAAM,2CAA2C,CAAA;AACpG,OAAO,EAAE,QAAQ,EAAsB,MAAM,qCAAqC,CAAA;AAClF,OAAO,EAAE,SAAS,EAA+D,MAAM,sCAAsC,CAAA;AAC7H,OAAO,EAAE,IAAI,EAAkB,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAsB,MAAM,qCAAqC,CAAA;AAClF,OAAO,EAAE,IAAI,EAA6F,MAAM,iCAAiC,CAAA;AACjJ,OAAO,EAAE,YAAY,EAA0E,MAAM,yCAAyC,CAAA;AAC9I,OAAO,EAAE,UAAU,EAAwE,MAAM,uCAAuC,CAAA;AACxI,OAAO,EAAE,aAAa,EAA2B,MAAM,0CAA0C,CAAA;AACjG,OAAO,EAAE,UAAU,EAAwB,MAAM,uCAAuC,CAAA;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAA4D,MAAM,mCAAmC,CAAA;AACxI,OAAO,EAAE,eAAe,EAA6D,MAAM,4CAA4C,CAAA;AACvI,OAAO,EAAE,YAAY,EAA0B,MAAM,yCAAyC,CAAA;AAC9F,OAAO,EAAE,WAAW,EAA+C,MAAM,wCAAwC,CAAA;AACjH,OAAO,EAAE,gBAAgB,EAA8B,MAAM,6CAA6C,CAAA;AAC1G,OAAO,EAAE,IAAI,EAA+H,MAAM,mCAAmC,CAAA;AACrL,OAAO,EAAE,UAAU,EAAyE,MAAM,yCAAyC,CAAA;AAC3I,OAAO,EAAE,iBAAiB,EAA+B,MAAM,gDAAgD,CAAA;AAC/G,OAAO,EAAE,oBAAoB,EAAkC,MAAM,mDAAmD,CAAA;AACxH,OAAO,EAAE,OAAO,EAA0D,MAAM,sCAAsC,CAAA;AACtH,OAAO,EAAE,cAAc,EAAoG,MAAM,6CAA6C,CAAA;AAC9K,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"renderers.js","sourceRoot":"","sources":["../../src/common/renderers.ts"],"names":[],"mappings":"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"}
|
package/dist/common/styles.css
CHANGED
|
@@ -955,6 +955,18 @@
|
|
|
955
955
|
* inset; its corners stay square but the accent one). The copy sits at the top; the artwork takes the height left, so
|
|
956
956
|
* a hero Mascot fills it.
|
|
957
957
|
*/
|
|
958
|
+
/*
|
|
959
|
+
* Freestyle (ruling grammar-freestyle-region): the app's own region. It fills its host and adds no paint, inset or
|
|
960
|
+
* radius of its own; what is inside is the app's.
|
|
961
|
+
*/
|
|
962
|
+
.starci-core-freestyle {
|
|
963
|
+
display: block;
|
|
964
|
+
box-sizing: border-box;
|
|
965
|
+
min-width: 0;
|
|
966
|
+
inline-size: 100%;
|
|
967
|
+
block-size: 100%;
|
|
968
|
+
}
|
|
969
|
+
|
|
958
970
|
.starci-core-backdrop {
|
|
959
971
|
position: relative;
|
|
960
972
|
display: flex;
|
|
@@ -2730,74 +2742,50 @@
|
|
|
2730
2742
|
}
|
|
2731
2743
|
}
|
|
2732
2744
|
|
|
2733
|
-
|
|
2745
|
+
/* --- PaneGrid: named areas laid out flush; the divider is the start edge of the later pane (n-1 lines, never doubled). --- */
|
|
2746
|
+
.starci-core-pane-grid {
|
|
2734
2747
|
display: flex;
|
|
2748
|
+
width: 100%;
|
|
2735
2749
|
height: 100%;
|
|
2736
2750
|
min-height: 0;
|
|
2737
2751
|
min-width: 0;
|
|
2738
2752
|
flex-direction: column;
|
|
2739
2753
|
overflow: hidden;
|
|
2740
2754
|
background: var(--background, var(--starci-core-canvas, Canvas));
|
|
2755
|
+
container: starci-core-pane-grid / inline-size;
|
|
2741
2756
|
}
|
|
2742
2757
|
|
|
2743
|
-
.
|
|
2744
|
-
.starci-core-
|
|
2745
|
-
.starci-core-chat-workspace-rail-trigger-boundary {
|
|
2746
|
-
min-width: 0;
|
|
2747
|
-
flex: none;
|
|
2748
|
-
}
|
|
2749
|
-
|
|
2750
|
-
.starci-core-chat-workspace-rail-trigger-boundary {
|
|
2751
|
-
display: flex;
|
|
2752
|
-
justify-content: flex-end;
|
|
2753
|
-
padding: 0.5rem 1rem;
|
|
2754
|
-
border-bottom: 1px solid var(--separator, var(--starci-core-separator, GrayText));
|
|
2755
|
-
}
|
|
2756
|
-
|
|
2757
|
-
.starci-core-chat-workspace-rail-trigger {
|
|
2758
|
-
display: inline-flex;
|
|
2759
|
-
min-width: var(--starci-core-control-min-size, 2.5rem);
|
|
2760
|
-
min-height: var(--starci-core-control-min-size, 2.5rem);
|
|
2761
|
-
align-items: center;
|
|
2762
|
-
justify-content: center;
|
|
2763
|
-
padding-inline: 0.75rem;
|
|
2764
|
-
border: 1px solid var(--separator, var(--starci-core-separator, GrayText));
|
|
2765
|
-
border-radius: var(--starci-core-control-radius, 0.75rem);
|
|
2766
|
-
background: var(--surface, var(--starci-core-surface, Canvas));
|
|
2767
|
-
color: var(--foreground, var(--starci-core-foreground, CanvasText));
|
|
2768
|
-
font-size: 0.875rem;
|
|
2769
|
-
font-weight: 500;
|
|
2770
|
-
}
|
|
2771
|
-
|
|
2772
|
-
.starci-core-chat-workspace-rail-trigger:focus-visible,
|
|
2773
|
-
.starci-core-chat-workspace-conversation:focus-visible,
|
|
2774
|
-
.starci-core-chat-workspace-overlay-rail:focus-visible {
|
|
2775
|
-
outline: 2px solid var(--focus, var(--starci-core-focus, Highlight));
|
|
2776
|
-
outline-offset: -2px;
|
|
2777
|
-
}
|
|
2778
|
-
|
|
2779
|
-
.starci-core-chat-workspace-layout {
|
|
2758
|
+
/* The arrangement and the pane edges are chosen by the grid's own width: base, medium from 48rem, wide from 70rem. */
|
|
2759
|
+
.starci-core-pane-grid-tracks {
|
|
2780
2760
|
display: grid;
|
|
2781
2761
|
min-height: 0;
|
|
2782
2762
|
min-width: 0;
|
|
2783
2763
|
flex: 1;
|
|
2784
|
-
|
|
2785
|
-
|
|
2786
|
-
|
|
2787
|
-
|
|
2788
|
-
.starci-core-chat-workspace-layout-without-rail {
|
|
2789
|
-
grid-template-columns: minmax(0, 1fr);
|
|
2764
|
+
gap: 0;
|
|
2765
|
+
grid-template-areas: var(--starci-core-pane-grid-areas-base);
|
|
2766
|
+
grid-template-columns: var(--starci-core-pane-grid-columns-base);
|
|
2767
|
+
grid-template-rows: var(--starci-core-pane-grid-rows-base);
|
|
2790
2768
|
}
|
|
2791
2769
|
|
|
2792
|
-
.
|
|
2793
|
-
|
|
2770
|
+
/* A pane only fills its cell: its children are laid out by the app. */
|
|
2771
|
+
.starci-core-pane {
|
|
2794
2772
|
min-height: 0;
|
|
2795
2773
|
min-width: 0;
|
|
2796
|
-
flex-direction: column;
|
|
2797
2774
|
overflow: hidden;
|
|
2775
|
+
--starci-core-pane-d: var(--starci-core-pane-d-base);
|
|
2776
|
+
--starci-core-pane-i: var(--starci-core-pane-i-base);
|
|
2777
|
+
--starci-core-pane-b: var(--starci-core-pane-b-base);
|
|
2778
|
+
display: var(--starci-core-pane-d, block);
|
|
2779
|
+
flex-direction: column;
|
|
2780
|
+
border-inline-start: var(--starci-core-pane-i, 0px) solid var(--separator, var(--starci-core-separator, GrayText));
|
|
2781
|
+
border-block-start: var(--starci-core-pane-b, 0px) solid var(--separator, var(--starci-core-separator, GrayText));
|
|
2798
2782
|
}
|
|
2799
2783
|
|
|
2800
|
-
.starci-core-
|
|
2784
|
+
.starci-core-pane[data-grammar-pane-surface="true"] {
|
|
2785
|
+
background: var(--surface, var(--starci-core-surface, Canvas));
|
|
2786
|
+
}
|
|
2787
|
+
|
|
2788
|
+
.starci-core-pane-scroll {
|
|
2801
2789
|
min-height: 0;
|
|
2802
2790
|
min-width: 0;
|
|
2803
2791
|
flex: 1;
|
|
@@ -2806,44 +2794,67 @@
|
|
|
2806
2794
|
scroll-behavior: smooth;
|
|
2807
2795
|
}
|
|
2808
2796
|
|
|
2809
|
-
.starci-core-
|
|
2810
|
-
|
|
2811
|
-
|
|
2797
|
+
.starci-core-pane-scroll:focus-visible,
|
|
2798
|
+
.starci-core-pane-drawer-scroll:focus-visible,
|
|
2799
|
+
.starci-core-pane-trigger:focus-visible {
|
|
2800
|
+
outline: 2px solid var(--focus, var(--starci-core-focus, Highlight));
|
|
2801
|
+
outline-offset: -2px;
|
|
2812
2802
|
}
|
|
2813
2803
|
|
|
2814
|
-
.starci-core-
|
|
2804
|
+
.starci-core-pane-grid-triggers {
|
|
2805
|
+
display: var(--starci-core-pane-grid-triggers-base, flex);
|
|
2806
|
+
min-width: 0;
|
|
2807
|
+
flex: none;
|
|
2808
|
+
flex-wrap: wrap;
|
|
2809
|
+
justify-content: flex-end;
|
|
2810
|
+
gap: var(--grammar-inline-gap, 0.5rem);
|
|
2811
|
+
padding: 0.5rem 1rem;
|
|
2812
|
+
border-bottom: 1px solid var(--separator, var(--starci-core-separator, GrayText));
|
|
2813
|
+
}
|
|
2814
|
+
|
|
2815
|
+
.starci-core-pane-trigger {
|
|
2816
|
+
display: var(--starci-core-pane-trigger-base, inline-flex);
|
|
2817
|
+
min-width: var(--starci-core-control-min-size, 2.5rem);
|
|
2818
|
+
min-height: var(--starci-core-control-min-size, 2.5rem);
|
|
2819
|
+
align-items: center;
|
|
2820
|
+
justify-content: center;
|
|
2821
|
+
padding-inline: 0.75rem;
|
|
2822
|
+
border: 1px solid var(--separator, var(--starci-core-separator, GrayText));
|
|
2823
|
+
border-radius: var(--starci-core-control-radius, 0.75rem);
|
|
2824
|
+
background: var(--surface, var(--starci-core-surface, Canvas));
|
|
2825
|
+
color: var(--foreground, var(--starci-core-foreground, CanvasText));
|
|
2826
|
+
font-size: 0.875rem;
|
|
2827
|
+
font-weight: 500;
|
|
2828
|
+
}
|
|
2815
2829
|
|
|
2816
|
-
.starci-core-
|
|
2817
|
-
right: 0 !important;
|
|
2818
|
-
left: auto !important;
|
|
2830
|
+
.starci-core-pane-drawer-content {
|
|
2819
2831
|
width: min(24rem, calc(100dvw - 1rem)) !important;
|
|
2820
2832
|
max-width: calc(100dvw - 1rem) !important;
|
|
2821
2833
|
}
|
|
2822
2834
|
|
|
2823
|
-
.starci-core-
|
|
2835
|
+
.starci-core-pane-drawer-dialog {
|
|
2824
2836
|
width: 100% !important;
|
|
2825
2837
|
height: 100% !important;
|
|
2826
2838
|
min-height: 0 !important;
|
|
2827
2839
|
max-width: none !important;
|
|
2828
2840
|
}
|
|
2829
2841
|
|
|
2830
|
-
.starci-core-
|
|
2842
|
+
.starci-core-pane-drawer-body {
|
|
2831
2843
|
min-height: 0;
|
|
2832
2844
|
min-width: 0;
|
|
2833
2845
|
padding: 0;
|
|
2834
2846
|
overflow: hidden;
|
|
2835
2847
|
}
|
|
2836
2848
|
|
|
2837
|
-
.starci-core-
|
|
2849
|
+
.starci-core-pane-drawer-scroll {
|
|
2838
2850
|
height: 100%;
|
|
2839
2851
|
min-height: 0;
|
|
2840
2852
|
min-width: 0;
|
|
2841
|
-
padding: 1rem;
|
|
2842
2853
|
overflow-y: auto;
|
|
2843
2854
|
overscroll-behavior: contain;
|
|
2844
2855
|
}
|
|
2845
2856
|
|
|
2846
|
-
.starci-core-
|
|
2857
|
+
.starci-core-pane-drawer-close {
|
|
2847
2858
|
width: 2.5rem !important;
|
|
2848
2859
|
height: 2.5rem !important;
|
|
2849
2860
|
border: 1px solid var(--separator, var(--starci-core-separator, GrayText)) !important;
|
|
@@ -2852,6 +2863,50 @@
|
|
|
2852
2863
|
color: var(--foreground, var(--starci-core-foreground, CanvasText)) !important;
|
|
2853
2864
|
}
|
|
2854
2865
|
|
|
2866
|
+
@container starci-core-pane-grid (min-width: 48rem) {
|
|
2867
|
+
.starci-core-pane-grid-tracks {
|
|
2868
|
+
grid-template-areas: var(--starci-core-pane-grid-areas-medium);
|
|
2869
|
+
grid-template-columns: var(--starci-core-pane-grid-columns-medium);
|
|
2870
|
+
grid-template-rows: var(--starci-core-pane-grid-rows-medium);
|
|
2871
|
+
}
|
|
2872
|
+
|
|
2873
|
+
.starci-core-pane {
|
|
2874
|
+
--starci-core-pane-d: var(--starci-core-pane-d-medium);
|
|
2875
|
+
--starci-core-pane-i: var(--starci-core-pane-i-medium);
|
|
2876
|
+
--starci-core-pane-b: var(--starci-core-pane-b-medium);
|
|
2877
|
+
}
|
|
2878
|
+
|
|
2879
|
+
.starci-core-pane-grid-triggers {
|
|
2880
|
+
display: var(--starci-core-pane-grid-triggers-medium, flex);
|
|
2881
|
+
}
|
|
2882
|
+
|
|
2883
|
+
.starci-core-pane-trigger {
|
|
2884
|
+
display: var(--starci-core-pane-trigger-medium, inline-flex);
|
|
2885
|
+
}
|
|
2886
|
+
}
|
|
2887
|
+
|
|
2888
|
+
@container starci-core-pane-grid (min-width: 70rem) {
|
|
2889
|
+
.starci-core-pane-grid-tracks {
|
|
2890
|
+
grid-template-areas: var(--starci-core-pane-grid-areas-wide);
|
|
2891
|
+
grid-template-columns: var(--starci-core-pane-grid-columns-wide);
|
|
2892
|
+
grid-template-rows: var(--starci-core-pane-grid-rows-wide);
|
|
2893
|
+
}
|
|
2894
|
+
|
|
2895
|
+
.starci-core-pane {
|
|
2896
|
+
--starci-core-pane-d: var(--starci-core-pane-d-wide);
|
|
2897
|
+
--starci-core-pane-i: var(--starci-core-pane-i-wide);
|
|
2898
|
+
--starci-core-pane-b: var(--starci-core-pane-b-wide);
|
|
2899
|
+
}
|
|
2900
|
+
|
|
2901
|
+
.starci-core-pane-grid-triggers {
|
|
2902
|
+
display: var(--starci-core-pane-grid-triggers-wide, flex);
|
|
2903
|
+
}
|
|
2904
|
+
|
|
2905
|
+
.starci-core-pane-trigger {
|
|
2906
|
+
display: var(--starci-core-pane-trigger-wide, inline-flex);
|
|
2907
|
+
}
|
|
2908
|
+
}
|
|
2909
|
+
|
|
2855
2910
|
@container starci-core-workspace-shell (max-width: 72rem) {
|
|
2856
2911
|
.starci-core-workspace-shell-rail .starci-core-rail {
|
|
2857
2912
|
max-width: none;
|
|
@@ -2923,26 +2978,6 @@
|
|
|
2923
2978
|
}
|
|
2924
2979
|
}
|
|
2925
2980
|
|
|
2926
|
-
@media (min-width: 48rem) {
|
|
2927
|
-
.starci-core-chat-workspace-layout[data-grammar-chat-workspace-rail-width="compact"] {
|
|
2928
|
-
grid-template-columns: minmax(0, 1fr) minmax(14rem, var(--starci-core-rail-compact, 16rem));
|
|
2929
|
-
}
|
|
2930
|
-
|
|
2931
|
-
.starci-core-chat-workspace-layout[data-grammar-chat-workspace-rail-width="standard"] {
|
|
2932
|
-
grid-template-columns: minmax(0, 1fr) minmax(16rem, var(--starci-core-rail-standard, 20rem));
|
|
2933
|
-
}
|
|
2934
|
-
|
|
2935
|
-
.starci-core-chat-workspace-layout[data-grammar-chat-workspace-rail-width="wide"] {
|
|
2936
|
-
grid-template-columns: minmax(0, 1fr) minmax(20rem, var(--starci-core-rail-wide, 24rem));
|
|
2937
|
-
}
|
|
2938
|
-
|
|
2939
|
-
.starci-core-chat-workspace-inline-rail {
|
|
2940
|
-
display: block;
|
|
2941
|
-
min-height: 0;
|
|
2942
|
-
min-width: 0;
|
|
2943
|
-
}
|
|
2944
|
-
}
|
|
2945
|
-
|
|
2946
2981
|
@media (prefers-reduced-motion: reduce) {
|
|
2947
2982
|
[data-grammar-motion="animated"] {
|
|
2948
2983
|
scroll-behavior: auto;
|
|
@@ -3790,19 +3825,19 @@
|
|
|
3790
3825
|
white-space: normal !important;
|
|
3791
3826
|
}
|
|
3792
3827
|
|
|
3793
|
-
/* ---
|
|
3794
|
-
.starci-core-
|
|
3828
|
+
/* --- PaneGrid: the compact drawer trigger's resting paint. --- */
|
|
3829
|
+
.starci-core-pane-trigger {
|
|
3795
3830
|
box-shadow: 0 1px 2px 0 color-mix(in srgb, CanvasText 8%, transparent);
|
|
3796
3831
|
outline: none;
|
|
3797
3832
|
transition: background-color var(--starci-core-motion-duration, 180ms) var(--starci-core-motion-easing, cubic-bezier(0.2, 0, 0, 1));
|
|
3798
3833
|
}
|
|
3799
3834
|
|
|
3800
|
-
.starci-core-
|
|
3835
|
+
.starci-core-pane-trigger:hover {
|
|
3801
3836
|
background: var(--default, var(--starci-core-surface-secondary, Canvas));
|
|
3802
3837
|
}
|
|
3803
3838
|
|
|
3804
3839
|
@media (prefers-reduced-motion: reduce) {
|
|
3805
|
-
.starci-core-
|
|
3840
|
+
.starci-core-pane-trigger {
|
|
3806
3841
|
transition: none;
|
|
3807
3842
|
}
|
|
3808
3843
|
}
|
|
@@ -47,7 +47,7 @@ export type ChatBubbleSkeletonsProps = {
|
|
|
47
47
|
};
|
|
48
48
|
/**
|
|
49
49
|
* A loading conversation: `count` skeleton bubbles that alternate incoming and outgoing, inside one `aria-busy` thread.
|
|
50
|
-
* Place it as the conversation content of a `
|
|
50
|
+
* Place it as the conversation content of a `PaneGrid` (or any scroll owner) while the messages are unresolved.
|
|
51
51
|
*/
|
|
52
52
|
export declare const ChatBubbleSkeletons: ({ count, hasAvatar }: ChatBubbleSkeletonsProps) => import("react").JSX.Element;
|
|
53
53
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -16,7 +16,7 @@ export const ChatBubble = ({ children, side = "incoming", author, avatar, meta,
|
|
|
16
16
|
};
|
|
17
17
|
/**
|
|
18
18
|
* A loading conversation: `count` skeleton bubbles that alternate incoming and outgoing, inside one `aria-busy` thread.
|
|
19
|
-
* Place it as the conversation content of a `
|
|
19
|
+
* Place it as the conversation content of a `PaneGrid` (or any scroll owner) while the messages are unresolved.
|
|
20
20
|
*/
|
|
21
21
|
export const ChatBubbleSkeletons = ({ count = 3, hasAvatar = false }) => (_jsx("div", { className: "starci-core-chat-bubble-thread", "data-grammar-chat-skeleton-thread": "true", "data-loading": "true", "aria-busy": "true", children: Array.from({ length: Math.min(12, Math.max(1, Math.floor(Number.isFinite(count) ? count : 3))) }, (_, index) => (_jsx(ChatBubble, { isSkeleton: true, side: index % 2 === 0 ? "incoming" : "outgoing", avatar: hasAvatar && index % 2 === 0 ? _jsx("span", {}) : undefined }, index))) }));
|
|
22
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -22,7 +22,7 @@ export declare const bottomChromeHeight: () => number;
|
|
|
22
22
|
* `--starci-core-fill-top` and any Grammar bottom chrome (a phone navigation bar) into `--starci-core-fill-bottom`; CSS
|
|
23
23
|
* does the rest (`100dvh` minus both minus the bottom inset), so the server
|
|
24
24
|
* render already has a sensible full-height fallback. Children fill it (a SurfaceCard with `height="fill"`, a
|
|
25
|
-
*
|
|
25
|
+
* PaneGrid).
|
|
26
26
|
*/
|
|
27
27
|
export declare const FillViewport: ({ children, minHeight, bottomInset, label }: FillViewportProps) => import("react").JSX.Element;
|
|
28
28
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -23,7 +23,7 @@ const useIsoLayoutEffect = typeof window === "undefined" ? () => { } : useLayout
|
|
|
23
23
|
* `--starci-core-fill-top` and any Grammar bottom chrome (a phone navigation bar) into `--starci-core-fill-bottom`; CSS
|
|
24
24
|
* does the rest (`100dvh` minus both minus the bottom inset), so the server
|
|
25
25
|
* render already has a sensible full-height fallback. Children fill it (a SurfaceCard with `height="fill"`, a
|
|
26
|
-
*
|
|
26
|
+
* PaneGrid).
|
|
27
27
|
*/
|
|
28
28
|
export const FillViewport = ({ children, minHeight = "md", bottomInset = "page", label }) => {
|
|
29
29
|
const ref = useRef(null);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
export type FreestyleProps = {
|
|
3
|
+
/** The app's own elements. Grammar components used inside keep their Grammar paint and contract. */
|
|
4
|
+
readonly children?: ReactNode;
|
|
5
|
+
/** The app's own CSS class for this region. */
|
|
6
|
+
readonly className?: string;
|
|
7
|
+
/**
|
|
8
|
+
* Why no Grammar component fits, in a few words (for example "sign-in brand art"). Required: Freestyle is a last
|
|
9
|
+
* resort, and the reason is stamped on the DOM as `data-grammar-freestyle-reason`.
|
|
10
|
+
*/
|
|
11
|
+
readonly reason: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* The sanctioned escape hatch (owner ruling grammar-freestyle-region): a region that fills its host where the app writes its
|
|
15
|
+
* own plain elements and app CSS (layout, paint, radius, arbitrary values, absolutely positioned art) because no Grammar
|
|
16
|
+
* component fits. The rest of the page still follows the Grammar. It adds no paint of its own and is a last resort.
|
|
17
|
+
*/
|
|
18
|
+
export declare const Freestyle: ({ children, className, reason }: FreestyleProps) => import("react").JSX.Element;
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composite/Freestyle/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,MAAM,cAAc,GAAG;IACzB,oGAAoG;IACpG,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,+CAA+C;IAC/C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,iCAAiC,cAAc,gCAUxE,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "@heroui/react";
|
|
3
|
+
/**
|
|
4
|
+
* The sanctioned escape hatch (owner ruling grammar-freestyle-region): a region that fills its host where the app writes its
|
|
5
|
+
* own plain elements and app CSS (layout, paint, radius, arbitrary values, absolutely positioned art) because no Grammar
|
|
6
|
+
* component fits. The rest of the page still follows the Grammar. It adds no paint of its own and is a last resort.
|
|
7
|
+
*/
|
|
8
|
+
export const Freestyle = ({ children, className, reason }) => (_jsx("div", { className: cn("starci-core-freestyle", className), "data-component": "Freestyle", "data-tier": "composite", "data-grammar-freestyle": "true", "data-grammar-freestyle-reason": reason, children: children }));
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composite/Freestyle/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAelC;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAkB,EAAE,EAAE,CAAC,CAC1E,cACI,SAAS,EAAE,EAAE,CAAC,uBAAuB,EAAE,SAAS,CAAC,oBAClC,WAAW,eAChB,WAAW,4BACE,MAAM,mCACE,MAAM,YAEpC,QAAQ,GACP,CACT,CAAA"}
|
|
@@ -47,7 +47,7 @@ export type PageProps = PageStandardProps | PageBleedProps;
|
|
|
47
47
|
/**
|
|
48
48
|
* One route page: the header band across the region, then the body in the page measure and gutter, one region step
|
|
49
49
|
* below it. Page is the single owner of the page inset and the page's vertical rhythm; layout frames (WorkspaceShell,
|
|
50
|
-
* PrimaryRailLayout,
|
|
50
|
+
* PrimaryRailLayout, PaneGrid) only place regions and never wrap a page in a PageContainer. Page tabs are the
|
|
51
51
|
* header's `tabs`, never a Tabs at the top of the body (lint `page-tabs-in-header`), and a route page renders nothing
|
|
52
52
|
* beside its Page (lint `route-page-is-one-page`). `chrome="bleed"` is the app surface: the body fills the region edge to
|
|
53
53
|
* edge, under the trail alone or under a band.
|
|
@@ -8,7 +8,7 @@ const isBand = (chrome, header) => chrome === "standard" || header.title !== und
|
|
|
8
8
|
/**
|
|
9
9
|
* One route page: the header band across the region, then the body in the page measure and gutter, one region step
|
|
10
10
|
* below it. Page is the single owner of the page inset and the page's vertical rhythm; layout frames (WorkspaceShell,
|
|
11
|
-
* PrimaryRailLayout,
|
|
11
|
+
* PrimaryRailLayout, PaneGrid) only place regions and never wrap a page in a PageContainer. Page tabs are the
|
|
12
12
|
* header's `tabs`, never a Tabs at the top of the body (lint `page-tabs-in-header`), and a route page renders nothing
|
|
13
13
|
* beside its Page (lint `route-page-is-one-page`). `chrome="bleed"` is the app surface: the body fills the region edge to
|
|
14
14
|
* edge, under the trail alone or under a band.
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { type ComponentPropsWithoutRef, type ReactNode } from "react";
|
|
2
|
+
import { type PaneResponsive, type PaneTrack } from "./layout.js";
|
|
3
|
+
export type { PaneBreakpoint, PaneByBreakpoint, PaneResponsive, PaneTrack } from "./layout.js";
|
|
4
|
+
type PaneBaseProps = {
|
|
5
|
+
/** The name of this pane in the grid's `areas`. */
|
|
6
|
+
readonly area: string;
|
|
7
|
+
/** `true`: the pane stands on the grammar surface ground (flat: no border, radius or shadow). Default: transparent on the host canvas. */
|
|
8
|
+
readonly surface?: boolean;
|
|
9
|
+
readonly className?: string;
|
|
10
|
+
/** Rendered as given: the pane imposes no padding, layout or structure on it. */
|
|
11
|
+
readonly children?: ReactNode;
|
|
12
|
+
};
|
|
13
|
+
type PaneScrollProps = {
|
|
14
|
+
/** The pane is its own vertical scroll owner; it then needs an accessible name. */
|
|
15
|
+
readonly scroll: true;
|
|
16
|
+
readonly label: string;
|
|
17
|
+
} | {
|
|
18
|
+
readonly scroll?: false;
|
|
19
|
+
/** Accessible name; a pane with a label is exposed as a region. */
|
|
20
|
+
readonly label?: string;
|
|
21
|
+
};
|
|
22
|
+
type PaneCollapseProps = {
|
|
23
|
+
/** Wherever the pane's area is not arranged (below 48rem for a single `areas`) the pane becomes a Drawer opened from a trigger above the grid. */
|
|
24
|
+
readonly collapse: "drawer";
|
|
25
|
+
/** Accessible name of the drawer. */
|
|
26
|
+
readonly collapseLabel: string;
|
|
27
|
+
/** Visible and accessible label of the trigger. */
|
|
28
|
+
readonly openLabel: string;
|
|
29
|
+
/** Accessible label of the drawer's close control. */
|
|
30
|
+
readonly closeLabel: string;
|
|
31
|
+
/** Controlled drawer state. */
|
|
32
|
+
readonly isOpen: boolean;
|
|
33
|
+
/** Receives trigger, backdrop, close-control and Escape changes. */
|
|
34
|
+
readonly onOpenChange: (isOpen: boolean) => void;
|
|
35
|
+
} | {
|
|
36
|
+
readonly collapse?: undefined;
|
|
37
|
+
readonly collapseLabel?: never;
|
|
38
|
+
readonly openLabel?: never;
|
|
39
|
+
readonly closeLabel?: never;
|
|
40
|
+
readonly isOpen?: never;
|
|
41
|
+
readonly onOpenChange?: never;
|
|
42
|
+
};
|
|
43
|
+
export type PaneProps = PaneBaseProps & PaneScrollProps & PaneCollapseProps;
|
|
44
|
+
/**
|
|
45
|
+
* One pane of a PaneGrid, placed by `area`. Panes sit flush; the divider on its start edges is drawn from the grid's
|
|
46
|
+
* layout at each breakpoint, and the pane paints nothing else unless `surface` is set.
|
|
47
|
+
*/
|
|
48
|
+
export declare const Pane: (props: PaneProps) => import("react").JSX.Element;
|
|
49
|
+
export type PaneGridProps = Omit<ComponentPropsWithoutRef<"section">, "aria-label" | "children"> & {
|
|
50
|
+
/** Accessible name for the whole grid landmark. */
|
|
51
|
+
readonly label: string;
|
|
52
|
+
/**
|
|
53
|
+
* `grid-template-areas` rows, for example `["a b c", "d d d"]`; `.` is an empty cell. Give an object keyed by
|
|
54
|
+
* breakpoint (`base`, `medium` from 48rem, `wide` from 70rem) to rearrange: a pane whose area is missing at a
|
|
55
|
+
* breakpoint is hidden there, or becomes a drawer when it has `collapse="drawer"`. A single array arranges the
|
|
56
|
+
* grid from `base` up, except that a pane with `collapse="drawer"` leaves it below 48rem.
|
|
57
|
+
*/
|
|
58
|
+
readonly areas: PaneResponsive<ReadonlyArray<string>>;
|
|
59
|
+
/** Column tracks, left to right (also per breakpoint); a missing track is `fill`. */
|
|
60
|
+
readonly columns?: PaneResponsive<ReadonlyArray<PaneTrack>>;
|
|
61
|
+
/** Row tracks, top to bottom (also per breakpoint); a missing track is `fill`. */
|
|
62
|
+
readonly rows?: PaneResponsive<ReadonlyArray<PaneTrack>>;
|
|
63
|
+
/** `Pane` elements as direct children. */
|
|
64
|
+
readonly children?: ReactNode;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Generic bounded pane grid: named areas laid out flush, a divider between adjacent panes, each pane optionally on the
|
|
68
|
+
* surface ground and optionally its own scroll owner.
|
|
69
|
+
*
|
|
70
|
+
* The host supplies a height; the grid fills it and owns the height chain below. Panes sit with no gap and one
|
|
71
|
+
* divider line (n-1, never doubled, none on an outer edge) separates neighbours: vertical between columns, horizontal
|
|
72
|
+
* between rows. The arrangement is chosen per breakpoint by CSS container queries on the
|
|
73
|
+
* grid's own width, so there is no layout shift. A pane with `collapse="drawer"` becomes a Drawer opened from a
|
|
74
|
+
* trigger above the grid wherever its area is not arranged. Grammar supplies layout only and no business meaning:
|
|
75
|
+
* the app composes its own pieces into the panes. While a drawer is open its pane renders a second time inside it.
|
|
76
|
+
*/
|
|
77
|
+
export declare const PaneGrid: (props: PaneGridProps) => import("react").JSX.Element;
|
|
78
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composition/PaneGrid/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAMH,KAAK,wBAAwB,EAG7B,KAAK,SAAS,EACjB,MAAM,OAAO,CAAA;AAGd,OAAO,EAQH,KAAK,cAAc,EACnB,KAAK,SAAS,EACjB,MAAM,aAAa,CAAA;AAEpB,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAO9F,KAAK,aAAa,GAAG;IACjB,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,0IAA0I;IAC1I,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAChC,CAAA;AAED,KAAK,eAAe,GACd;IACE,mFAAmF;IACnF,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACzB,GACC;IACE,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAA;IACvB,mEAAmE;IACnE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AAEL,KAAK,iBAAiB,GAChB;IACE,kJAAkJ;IAClJ,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,qCAAqC;IACrC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,mDAAmD;IACnD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,sDAAsD;IACtD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,oEAAoE;IACpE,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;CACnD,GACC;IACE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAA;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAA;IACvB,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAA;CAChC,CAAA;AAEL,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,eAAe,GAAG,iBAAiB,CAAA;AAE3E;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAI,OAAO,SAAS,gCA0CpC,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC,GAAG;IAC/F,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;IACrD,qFAAqF;IACrF,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAA;IAC3D,kFAAkF;IAClF,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAA;IACxD,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAChC,CAAA;AAqBD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,aAAa,gCA6C5C,CAAA"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { cn, Drawer } from "@heroui/react";
|
|
4
|
+
import { Children, createContext, isValidElement, useContext, useMemo, } from "react";
|
|
5
|
+
import { VerticalScrollRegion } from "../../composite/VerticalScrollRegion/index.js";
|
|
6
|
+
import { SurfaceNesting } from "../../surfaceContext.js";
|
|
7
|
+
import { buildResponsivePaneGridModels, paneBreakpoints, parseAreas, trackToCss, } from "./layout.js";
|
|
8
|
+
const PaneModelsContext = createContext(undefined);
|
|
9
|
+
/**
|
|
10
|
+
* One pane of a PaneGrid, placed by `area`. Panes sit flush; the divider on its start edges is drawn from the grid's
|
|
11
|
+
* layout at each breakpoint, and the pane paints nothing else unless `surface` is set.
|
|
12
|
+
*/
|
|
13
|
+
export const Pane = (props) => {
|
|
14
|
+
const { area, surface = false, className, label, scroll = false, children } = props;
|
|
15
|
+
const models = useContext(PaneModelsContext);
|
|
16
|
+
const shown = scroll ? "flex" : "block";
|
|
17
|
+
const vars = {};
|
|
18
|
+
let hasEdge = false;
|
|
19
|
+
if (models !== undefined) {
|
|
20
|
+
for (const breakpoint of paneBreakpoints) {
|
|
21
|
+
const edges = models[breakpoint].edges[area];
|
|
22
|
+
vars[`--starci-core-pane-d-${breakpoint}`] = edges === undefined ? "none" : shown;
|
|
23
|
+
vars[`--starci-core-pane-i-${breakpoint}`] = edges?.inline === true ? "1px" : "0px";
|
|
24
|
+
vars[`--starci-core-pane-b-${breakpoint}`] = edges?.block === true ? "1px" : "0px";
|
|
25
|
+
hasEdge = hasEdge || edges?.inline === true || edges?.block === true;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const style = { gridArea: area, ...vars };
|
|
29
|
+
const body = scroll
|
|
30
|
+
? (_jsx(VerticalScrollRegion, { "aria-label": label, className: "starci-core-pane-scroll", "data-contract": "OVERFLOW-4 OVERFLOW-5", isScrollable: true, children: children }))
|
|
31
|
+
: children;
|
|
32
|
+
const content = surface ? _jsx(SurfaceNesting, { children: body }) : body;
|
|
33
|
+
const shared = {
|
|
34
|
+
className: cn("starci-core-pane", className),
|
|
35
|
+
"data-component": "Pane",
|
|
36
|
+
"data-tier": "composition",
|
|
37
|
+
"data-grammar-pane-area": area,
|
|
38
|
+
"data-grammar-pane-surface": surface ? "true" : undefined,
|
|
39
|
+
"data-grammar-pane-scroll": scroll ? "true" : undefined,
|
|
40
|
+
"data-contract": hasEdge ? "BOUNDARY-1" : undefined,
|
|
41
|
+
style,
|
|
42
|
+
};
|
|
43
|
+
return label === undefined || scroll
|
|
44
|
+
? _jsx("div", { ...shared, children: content })
|
|
45
|
+
: _jsx("section", { ...shared, "aria-label": label, children: content });
|
|
46
|
+
};
|
|
47
|
+
const isPane = (child) => isValidElement(child) && child.type === Pane;
|
|
48
|
+
/** Whether the area is in the first grid column wherever it appears: its drawer then opens from the start side. */
|
|
49
|
+
const isStartColumn = (models, area) => paneBreakpoints.some((breakpoint) => parseAreas(models[breakpoint].areas).some((row) => row[0] === area));
|
|
50
|
+
const gridVars = (models, hasTrigger) => {
|
|
51
|
+
const vars = {};
|
|
52
|
+
for (const breakpoint of paneBreakpoints) {
|
|
53
|
+
const model = models[breakpoint];
|
|
54
|
+
vars[`--starci-core-pane-grid-areas-${breakpoint}`] = model.areas.map((row) => `"${row}"`).join(" ");
|
|
55
|
+
vars[`--starci-core-pane-grid-columns-${breakpoint}`] = model.columns.map(trackToCss).join(" ");
|
|
56
|
+
vars[`--starci-core-pane-grid-rows-${breakpoint}`] = model.rows.map(trackToCss).join(" ");
|
|
57
|
+
vars[`--starci-core-pane-grid-triggers-${breakpoint}`] = hasTrigger(breakpoint) ? "flex" : "none";
|
|
58
|
+
}
|
|
59
|
+
return vars;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Generic bounded pane grid: named areas laid out flush, a divider between adjacent panes, each pane optionally on the
|
|
63
|
+
* surface ground and optionally its own scroll owner.
|
|
64
|
+
*
|
|
65
|
+
* The host supplies a height; the grid fills it and owns the height chain below. Panes sit with no gap and one
|
|
66
|
+
* divider line (n-1, never doubled, none on an outer edge) separates neighbours: vertical between columns, horizontal
|
|
67
|
+
* between rows. The arrangement is chosen per breakpoint by CSS container queries on the
|
|
68
|
+
* grid's own width, so there is no layout shift. A pane with `collapse="drawer"` becomes a Drawer opened from a
|
|
69
|
+
* trigger above the grid wherever its area is not arranged. Grammar supplies layout only and no business meaning:
|
|
70
|
+
* the app composes its own pieces into the panes. While a drawer is open its pane renders a second time inside it.
|
|
71
|
+
*/
|
|
72
|
+
export const PaneGrid = (props) => {
|
|
73
|
+
const { label, areas, columns, rows, className, children, ...sectionProps } = props;
|
|
74
|
+
const panes = Children.toArray(children).filter(isPane);
|
|
75
|
+
const drawers = panes.filter((pane) => pane.props.collapse === "drawer");
|
|
76
|
+
const collapsedKey = drawers.map((pane) => pane.props.area).join(" ");
|
|
77
|
+
const models = useMemo(() => buildResponsivePaneGridModels(areas, columns, rows, new Set(collapsedKey === "" ? [] : collapsedKey.split(" "))), [areas, columns, rows, collapsedKey]);
|
|
78
|
+
const style = gridVars(models, (breakpoint) => drawers.some((pane) => models[breakpoint].edges[pane.props.area] === undefined));
|
|
79
|
+
return (_jsxs("section", { ...sectionProps, "aria-label": label, className: cn("starci-core-pane-grid", className), "data-component": "PaneGrid", "data-tier": "composition", "data-grammar-pane-grid": "true", children: [drawers.length === 0 ? null : (_jsx("div", { className: "starci-core-pane-grid-triggers", "data-contract": "BOUNDARY-1 PADDING-4 PADDING-2", style: style, children: drawers.map((pane) => (_jsx(PaneDrawer, { pane: pane, placement: isStartColumn(models, pane.props.area) ? "left" : "right", models: models }, pane.props.area))) })), _jsx(PaneModelsContext.Provider, { value: models, children: _jsx("div", { className: "starci-core-pane-grid-tracks", "data-contract": "GAP-0", style: style, children: panes }) })] }));
|
|
80
|
+
};
|
|
81
|
+
const PaneDrawer = ({ pane, placement, models }) => {
|
|
82
|
+
const { props } = pane;
|
|
83
|
+
if (props.collapse !== "drawer")
|
|
84
|
+
return null;
|
|
85
|
+
const triggerStyle = {};
|
|
86
|
+
const vars = {};
|
|
87
|
+
for (const breakpoint of paneBreakpoints) {
|
|
88
|
+
vars[`--starci-core-pane-trigger-${breakpoint}`] = models[breakpoint].edges[props.area] === undefined ? "inline-flex" : "none";
|
|
89
|
+
}
|
|
90
|
+
Object.assign(triggerStyle, vars);
|
|
91
|
+
return (_jsxs(Drawer, { isOpen: props.isOpen, onOpenChange: props.onOpenChange, children: [_jsx(Drawer.Trigger, { className: "starci-core-pane-trigger", style: triggerStyle, "data-contract": "PADDING-3 SURFACE-2 FONT-2 TONE-1", children: props.openLabel }), _jsx(Drawer.Backdrop, { children: _jsx(Drawer.Content, { className: "starci-core-pane-drawer-content", placement: placement, children: _jsx(Drawer.Dialog, { className: "starci-core-pane-drawer-dialog", "data-grammar-nesting": "surface", children: _jsxs(SurfaceNesting, { children: [_jsx(Drawer.Header, { children: _jsx(Drawer.Heading, { children: props.collapseLabel }) }), _jsx(Drawer.CloseTrigger, { "aria-label": props.closeLabel, className: "starci-core-pane-drawer-close", "data-contract": "SURFACE-2 TONE-1" }), _jsx(Drawer.Body, { className: "starci-core-pane-drawer-body", "data-contract": "OVERFLOW-2 PADDING-0", children: _jsx(VerticalScrollRegion, { "aria-label": props.collapseLabel, className: "starci-core-pane-drawer-scroll", "data-contract": "OVERFLOW-4 OVERFLOW-5", "data-grammar-pane-area": props.area, isScrollable: true, children: props.children }) })] }) }) }) })] }));
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composition/PaneGrid/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure layout maths for PaneGrid: reads `grid-template-areas` rows and answers, for every named area, which of its
|
|
3
|
+
* start edges touch another pane. The divider is drawn on exactly those edges, so n panes in a row have n-1 lines and
|
|
4
|
+
* none is doubled.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* A track size by role. `fill`, `fill-2` and `fill-3` share the free space in proportion 1, 2 and 3 (1fr, 2fr, 3fr);
|
|
8
|
+
* `compact`, `standard` and `wide` are the grammar's Rail widths; `auto` is the content's size.
|
|
9
|
+
*/
|
|
10
|
+
export type PaneTrack = "auto" | "fill" | "fill-2" | "fill-3" | "compact" | "standard" | "wide";
|
|
11
|
+
export declare const trackToCss: (track: PaneTrack) => string;
|
|
12
|
+
export declare const isPaneTrack: (value: string) => value is PaneTrack;
|
|
13
|
+
export type PaneEdges = {
|
|
14
|
+
/** A pane sits to the inline-start of this one: the vertical divider is drawn on its start edge. */
|
|
15
|
+
readonly inline: boolean;
|
|
16
|
+
/** A pane sits above this one: the horizontal divider is drawn on its block-start edge. */
|
|
17
|
+
readonly block: boolean;
|
|
18
|
+
};
|
|
19
|
+
export type PaneGridModel = {
|
|
20
|
+
readonly areas: ReadonlyArray<string>;
|
|
21
|
+
readonly columns: ReadonlyArray<PaneTrack>;
|
|
22
|
+
readonly rows: ReadonlyArray<PaneTrack>;
|
|
23
|
+
readonly edges: Readonly<Record<string, PaneEdges>>;
|
|
24
|
+
};
|
|
25
|
+
export declare const parseAreas: (areas: ReadonlyArray<string>) => ReadonlyArray<ReadonlyArray<string>>;
|
|
26
|
+
/**
|
|
27
|
+
* Build the model. `collapsed` names the areas that leave the grid (they became drawers): a column or row that holds
|
|
28
|
+
* only collapsed areas disappears with its track, so the remaining panes close the gap.
|
|
29
|
+
*/
|
|
30
|
+
export declare const buildPaneGridModel: (areas: ReadonlyArray<string>, columns: ReadonlyArray<PaneTrack> | undefined, rows: ReadonlyArray<PaneTrack> | undefined, collapsed: ReadonlySet<string>) => PaneGridModel;
|
|
31
|
+
/** The grammar's pane breakpoints, mobile first: `base` below 48rem (the compact boundary), `medium` from 48rem, `wide` from 70rem. */
|
|
32
|
+
export declare const paneBreakpoints: readonly ["base", "medium", "wide"];
|
|
33
|
+
export type PaneBreakpoint = typeof paneBreakpoints[number];
|
|
34
|
+
/** A value per breakpoint; a missing `medium` or `wide` inherits the next smaller one. */
|
|
35
|
+
export type PaneByBreakpoint<T> = {
|
|
36
|
+
readonly base: T;
|
|
37
|
+
readonly medium?: T;
|
|
38
|
+
readonly wide?: T;
|
|
39
|
+
};
|
|
40
|
+
/** One value for every breakpoint, or one per breakpoint. */
|
|
41
|
+
export type PaneResponsive<T> = T | PaneByBreakpoint<T>;
|
|
42
|
+
export declare const resolvePaneValue: <T>(value: PaneResponsive<T>, breakpoint: PaneBreakpoint) => T;
|
|
43
|
+
/**
|
|
44
|
+
* The grid model at every breakpoint. A single `areas` with collapsing panes arranges the full grid from `medium` up and,
|
|
45
|
+
* at `base`, the same grid without the collapsed areas (their columns and rows leave with them).
|
|
46
|
+
*/
|
|
47
|
+
export declare const buildResponsivePaneGridModels: (areas: PaneResponsive<ReadonlyArray<string>>, columns: PaneResponsive<ReadonlyArray<PaneTrack>> | undefined, rows: PaneResponsive<ReadonlyArray<PaneTrack>> | undefined, collapsed: ReadonlySet<string>) => Readonly<Record<PaneBreakpoint, PaneGridModel>>;
|
|
48
|
+
//# sourceMappingURL=layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../src/core/composition/PaneGrid/layout.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAA;AAY/F,eAAO,MAAM,UAAU,GAAI,OAAO,SAAS,KAAG,MAAyB,CAAA;AAGvE,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,KAAK,IAAI,SAA8B,CAAA;AAInF,MAAM,MAAM,SAAS,GAAG;IACpB,oGAAoG;IACpG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,2FAA2F;IAC3F,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IACxB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACrC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IAC1C,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IACvC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;CACtD,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,OAAO,aAAa,CAAC,MAAM,CAAC,KAAG,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAChB,CAAA;AAK7E;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAC3B,OAAO,aAAa,CAAC,MAAM,CAAC,EAC5B,SAAS,aAAa,CAAC,SAAS,CAAC,GAAG,SAAS,EAC7C,MAAM,aAAa,CAAC,SAAS,CAAC,GAAG,SAAS,EAC1C,WAAW,WAAW,CAAC,MAAM,CAAC,KAC/B,aAsCF,CAAA;AAED,uIAAuI;AACvI,eAAO,MAAM,eAAe,qCAAsC,CAAA;AAClE,MAAM,MAAM,cAAc,GAAG,OAAO,eAAe,CAAC,MAAM,CAAC,CAAA;AAE3D,0FAA0F;AAC1F,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IAC9B,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;IAChB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;CACpB,CAAA;AAED,6DAA6D;AAC7D,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAA;AAKvD,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,YAAY,cAAc,KAAG,CAK1F,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GACtC,OAAO,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAC5C,SAAS,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,EAC7D,MAAM,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,EAC1D,WAAW,WAAW,CAAC,MAAM,CAAC,KAC/B,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,CAUhD,CAAA"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure layout maths for PaneGrid: reads `grid-template-areas` rows and answers, for every named area, which of its
|
|
3
|
+
* start edges touch another pane. The divider is drawn on exactly those edges, so n panes in a row have n-1 lines and
|
|
4
|
+
* none is doubled.
|
|
5
|
+
*/
|
|
6
|
+
const trackCss = {
|
|
7
|
+
auto: "auto",
|
|
8
|
+
fill: "minmax(0, 1fr)",
|
|
9
|
+
"fill-2": "minmax(0, 2fr)",
|
|
10
|
+
"fill-3": "minmax(0, 3fr)",
|
|
11
|
+
compact: "minmax(14rem, var(--starci-core-rail-compact, 16rem))",
|
|
12
|
+
standard: "minmax(16rem, var(--starci-core-rail-standard, 20rem))",
|
|
13
|
+
wide: "minmax(20rem, var(--starci-core-rail-wide, 24rem))",
|
|
14
|
+
};
|
|
15
|
+
export const trackToCss = (track) => trackCss[track];
|
|
16
|
+
const tracks = new Set(["auto", "fill", "fill-2", "fill-3", "compact", "standard", "wide"]);
|
|
17
|
+
export const isPaneTrack = (value) => tracks.has(value);
|
|
18
|
+
const emptyCell = ".";
|
|
19
|
+
export const parseAreas = (areas) => areas.map((row) => row.trim().split(/\s+/).filter((cell) => cell !== ""));
|
|
20
|
+
const fillTracks = (given, count) => Array.from({ length: count }, (_, index) => given?.[index] ?? "fill");
|
|
21
|
+
/**
|
|
22
|
+
* Build the model. `collapsed` names the areas that leave the grid (they became drawers): a column or row that holds
|
|
23
|
+
* only collapsed areas disappears with its track, so the remaining panes close the gap.
|
|
24
|
+
*/
|
|
25
|
+
export const buildPaneGridModel = (areas, columns, rows, collapsed) => {
|
|
26
|
+
const matrix = parseAreas(areas);
|
|
27
|
+
const columnCount = matrix.reduce((max, row) => Math.max(max, row.length), 0);
|
|
28
|
+
const allColumns = fillTracks(columns, columnCount);
|
|
29
|
+
const allRows = fillTracks(rows, matrix.length);
|
|
30
|
+
const isGone = (cell) => cell === undefined || collapsed.has(cell);
|
|
31
|
+
const keepColumn = Array.from({ length: columnCount }, (_, c) => collapsed.size === 0 || !matrix.every((row) => isGone(row[c])));
|
|
32
|
+
const keepRow = matrix.map((row) => collapsed.size === 0 || !row.every((cell) => isGone(cell)));
|
|
33
|
+
const kept = matrix
|
|
34
|
+
.filter((_, r) => keepRow[r])
|
|
35
|
+
.map((row) => row.filter((_, c) => keepColumn[c]).map((cell) => (collapsed.has(cell) ? emptyCell : cell)));
|
|
36
|
+
const box = new Map();
|
|
37
|
+
kept.forEach((row, r) => row.forEach((cell, c) => {
|
|
38
|
+
if (cell === emptyCell)
|
|
39
|
+
return;
|
|
40
|
+
const known = box.get(cell);
|
|
41
|
+
box.set(cell, known === undefined
|
|
42
|
+
? { r0: r, c0: c, c1: c }
|
|
43
|
+
: { r0: Math.min(known.r0, r), c0: Math.min(known.c0, c), c1: Math.max(known.c1, c) });
|
|
44
|
+
}));
|
|
45
|
+
const edges = {};
|
|
46
|
+
box.forEach(({ r0, c0, c1 }, name) => {
|
|
47
|
+
const left = kept[r0]?.[c0 - 1];
|
|
48
|
+
const above = Array.from({ length: c1 - c0 + 1 }, (_, i) => kept[r0 - 1]?.[c0 + i]);
|
|
49
|
+
edges[name] = {
|
|
50
|
+
inline: left !== undefined && left !== emptyCell,
|
|
51
|
+
block: above.some((cell) => cell !== undefined && cell !== emptyCell),
|
|
52
|
+
};
|
|
53
|
+
});
|
|
54
|
+
return {
|
|
55
|
+
areas: kept.map((row) => row.join(" ")),
|
|
56
|
+
columns: allColumns.filter((_, c) => keepColumn[c]),
|
|
57
|
+
rows: allRows.filter((_, r) => keepRow[r]),
|
|
58
|
+
edges,
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
/** The grammar's pane breakpoints, mobile first: `base` below 48rem (the compact boundary), `medium` from 48rem, `wide` from 70rem. */
|
|
62
|
+
export const paneBreakpoints = ["base", "medium", "wide"];
|
|
63
|
+
const isByBreakpoint = (value) => typeof value === "object" && value !== null && !Array.isArray(value) && "base" in value;
|
|
64
|
+
export const resolvePaneValue = (value, breakpoint) => {
|
|
65
|
+
if (!isByBreakpoint(value))
|
|
66
|
+
return value;
|
|
67
|
+
if (breakpoint === "base")
|
|
68
|
+
return value.base;
|
|
69
|
+
if (breakpoint === "medium")
|
|
70
|
+
return value.medium ?? value.base;
|
|
71
|
+
return value.wide ?? value.medium ?? value.base;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* The grid model at every breakpoint. A single `areas` with collapsing panes arranges the full grid from `medium` up and,
|
|
75
|
+
* at `base`, the same grid without the collapsed areas (their columns and rows leave with them).
|
|
76
|
+
*/
|
|
77
|
+
export const buildResponsivePaneGridModels = (areas, columns, rows, collapsed) => {
|
|
78
|
+
const none = new Set();
|
|
79
|
+
const dropsAtBase = !isByBreakpoint(areas);
|
|
80
|
+
const model = (breakpoint) => buildPaneGridModel(resolvePaneValue(areas, breakpoint), columns === undefined ? undefined : resolvePaneValue(columns, breakpoint), rows === undefined ? undefined : resolvePaneValue(rows, breakpoint), dropsAtBase && breakpoint === "base" ? collapsed : none);
|
|
81
|
+
return { base: model("base"), medium: model("medium"), wide: model("wide") };
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../../src/core/composition/PaneGrid/layout.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,QAAQ,GAAwC;IAClD,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EAAE,gBAAgB;IAC1B,QAAQ,EAAE,gBAAgB;IAC1B,OAAO,EAAE,uDAAuD;IAChE,QAAQ,EAAE,wDAAwD;IAClE,IAAI,EAAE,oDAAoD;CAC7D,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAgB,EAAU,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAEvE,MAAM,MAAM,GAAwB,IAAI,GAAG,CAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAA;AAC3H,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAa,EAAsB,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AAEnF,MAAM,SAAS,GAAG,GAAG,CAAA;AAgBrB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAA4B,EAAwC,EAAE,CAC7F,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAA;AAE7E,MAAM,UAAU,GAAG,CAAC,KAA2C,EAAE,KAAa,EAA4B,EAAE,CACxG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,CAAA;AAEzE;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAC9B,KAA4B,EAC5B,OAA6C,EAC7C,IAA0C,EAC1C,SAA8B,EACjB,EAAE;IACf,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAChC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7E,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IACnD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAC/C,MAAM,MAAM,GAAG,CAAC,IAAwB,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACtF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC5D,SAAS,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC/F,MAAM,IAAI,GAAG,MAAM;SACd,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SAC5B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAE9G,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkD,CAAA;IACrE,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAC7C,IAAI,IAAI,KAAK,SAAS;YAAE,OAAM;QAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC3B,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS;YAC7B,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;YACzB,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;IAC9F,CAAC,CAAC,CAAC,CAAA;IAEH,MAAM,KAAK,GAA8B,EAAE,CAAA;IAC3C,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;QAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;QACnF,KAAK,CAAC,IAAI,CAAC,GAAG;YACV,MAAM,EAAE,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;YAChD,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,CAAC;SACxE,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,OAAO;QACH,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1C,KAAK;KACR,CAAA;AACL,CAAC,CAAA;AAED,uIAAuI;AACvI,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAA;AAalE,MAAM,cAAc,GAAG,CAAI,KAAwB,EAAgC,EAAE,CACjF,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,IAAI,KAAK,CAAA;AAE3F,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAI,KAAwB,EAAE,UAA0B,EAAK,EAAE;IAC3F,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACxC,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC,IAAI,CAAA;IAC5C,IAAI,UAAU,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAA;IAC9D,OAAO,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAA;AACnD,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CACzC,KAA4C,EAC5C,OAA6D,EAC7D,IAA0D,EAC1D,SAA8B,EACiB,EAAE;IACjD,MAAM,IAAI,GAAwB,IAAI,GAAG,EAAE,CAAA;IAC3C,MAAM,WAAW,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAC1C,MAAM,KAAK,GAAG,CAAC,UAA0B,EAAE,EAAE,CAAC,kBAAkB,CAC5D,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,EACnC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,EACzE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,EACnE,WAAW,IAAI,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAC1D,CAAA;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAA;AAChF,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Chat-workspace geometry is SHIPPED.
|
|
3
|
-
*
|
|
4
|
-
* The bounded height chain, the rail track, the composer boundary and the compact drawer are all
|
|
5
|
-
* drawn by `.starci-core-chat-workspace*` in `src/common/styles.css`. The names below are hooks;
|
|
6
|
-
* the rail-less layout keeps its own class because it is a structural variant, not a utility.
|
|
7
|
-
*/
|
|
8
|
-
/** Bounded height chain for a workbench supplied with height by its host. */
|
|
9
|
-
export declare const chatWorkspaceClassName: string;
|
|
10
|
-
/** Header remains outside every workspace-owned scroll region. */
|
|
11
|
-
export declare const chatWorkspaceHeaderClassName: string;
|
|
12
|
-
/** Compact rail disclosure has its own non-scrolling action boundary. */
|
|
13
|
-
export declare const chatWorkspaceRailTriggerBoundaryClassName: string;
|
|
14
|
-
/** Visible, keyboard-sized trigger for the compact supporting overlay. */
|
|
15
|
-
export declare const chatWorkspaceRailTriggerClassName: string;
|
|
16
|
-
/** Primary work region and the persistent rail share the remaining bounded height. */
|
|
17
|
-
export declare const chatWorkspaceLayoutClassName: string;
|
|
18
|
-
/** Bind the layout column to the same authored widths as Core Rail. */
|
|
19
|
-
export declare const getChatWorkspaceLayoutClassName: (_railWidth: "compact" | "standard" | "wide", hasRail: boolean) => import("tailwind-variants").CnReturn;
|
|
20
|
-
/** Main task owner: only its conversation child scrolls. */
|
|
21
|
-
export declare const chatWorkspacePrimaryClassName: string;
|
|
22
|
-
/** The conversation is the single primary bounded scroll owner. */
|
|
23
|
-
export declare const chatWorkspaceConversationClassName: string;
|
|
24
|
-
/** Composer remains reachable at the terminal edge without duplicating scroll padding. */
|
|
25
|
-
export declare const chatWorkspaceComposerClassName: string;
|
|
26
|
-
/** Persistent supporting rail fills the same bounded layout track as the task owner. */
|
|
27
|
-
export declare const chatWorkspaceInlineRailClassName: string;
|
|
28
|
-
/** Keep the compact vendor drawer on one safe viewport width. */
|
|
29
|
-
export declare const chatWorkspaceDrawerContentClassName: string;
|
|
30
|
-
/** The dialog and its body extend the bounded height chain into the overlay. */
|
|
31
|
-
export declare const chatWorkspaceDrawerDialogClassName: string;
|
|
32
|
-
export declare const chatWorkspaceDrawerBodyClassName: string;
|
|
33
|
-
/** Scroll owner inside the compact supporting overlay. */
|
|
34
|
-
export declare const chatWorkspaceOverlayRailClassName: string;
|
|
35
|
-
/** Make the vendor-provided overlay exit easy to target in every input mode. */
|
|
36
|
-
export declare const chatWorkspaceDrawerCloseClassName: string;
|
|
37
|
-
//# sourceMappingURL=classNames.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"classNames.d.ts","sourceRoot":"","sources":["../../../../src/core/composition/ChatWorkspace/classNames.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,6EAA6E;AAC7E,eAAO,MAAM,sBAAsB,QAAmE,CAAA;AAEtG,kEAAkE;AAClE,eAAO,MAAM,4BAA4B,QAAiF,CAAA;AAE1H,yEAAyE;AACzE,eAAO,MAAM,yCAAyC,QAA+G,CAAA;AAErK,0EAA0E;AAC1E,eAAO,MAAM,iCAAiC,QAA6F,CAAA;AAE3I,sFAAsF;AACtF,eAAO,MAAM,4BAA4B,QAAiF,CAAA;AAE1H,uEAAuE;AACvE,eAAO,MAAM,+BAA+B,GACxC,YAAY,SAAS,GAAG,UAAU,GAAG,MAAM,EAC3C,SAAS,OAAO,yCAC+E,CAAA;AAEnG,4DAA4D;AAC5D,eAAO,MAAM,6BAA6B,QAAmF,CAAA;AAE7H,mEAAmE;AACnE,eAAO,MAAM,kCAAkC,QAA6F,CAAA;AAE5I,0FAA0F;AAC1F,eAAO,MAAM,8BAA8B,QAAqF,CAAA;AAEhI,wFAAwF;AACxF,eAAO,MAAM,gCAAgC,QAA2F,CAAA;AAExI,iEAAiE;AACjE,eAAO,MAAM,mCAAmC,QAAiG,CAAA;AAEjJ,gFAAgF;AAChF,eAAO,MAAM,kCAAkC,QAA+F,CAAA;AAC9I,eAAO,MAAM,gCAAgC,QAA2F,CAAA;AAExI,0DAA0D;AAC1D,eAAO,MAAM,iCAAiC,QAA6F,CAAA;AAE3I,gFAAgF;AAChF,eAAO,MAAM,iCAAiC,QAA6F,CAAA"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { cn } from "@heroui/react";
|
|
2
|
-
/**
|
|
3
|
-
* Chat-workspace geometry is SHIPPED.
|
|
4
|
-
*
|
|
5
|
-
* The bounded height chain, the rail track, the composer boundary and the compact drawer are all
|
|
6
|
-
* drawn by `.starci-core-chat-workspace*` in `src/common/styles.css`. The names below are hooks;
|
|
7
|
-
* the rail-less layout keeps its own class because it is a structural variant, not a utility.
|
|
8
|
-
*/
|
|
9
|
-
/** Bounded height chain for a workbench supplied with height by its host. */
|
|
10
|
-
export const chatWorkspaceClassName = cn("starci-core-chat-workspace") ?? "starci-core-chat-workspace";
|
|
11
|
-
/** Header remains outside every workspace-owned scroll region. */
|
|
12
|
-
export const chatWorkspaceHeaderClassName = cn("starci-core-chat-workspace-header") ?? "starci-core-chat-workspace-header";
|
|
13
|
-
/** Compact rail disclosure has its own non-scrolling action boundary. */
|
|
14
|
-
export const chatWorkspaceRailTriggerBoundaryClassName = cn("starci-core-chat-workspace-rail-trigger-boundary") ?? "starci-core-chat-workspace-rail-trigger-boundary";
|
|
15
|
-
/** Visible, keyboard-sized trigger for the compact supporting overlay. */
|
|
16
|
-
export const chatWorkspaceRailTriggerClassName = cn("starci-core-chat-workspace-rail-trigger") ?? "starci-core-chat-workspace-rail-trigger";
|
|
17
|
-
/** Primary work region and the persistent rail share the remaining bounded height. */
|
|
18
|
-
export const chatWorkspaceLayoutClassName = cn("starci-core-chat-workspace-layout") ?? "starci-core-chat-workspace-layout";
|
|
19
|
-
/** Bind the layout column to the same authored widths as Core Rail. */
|
|
20
|
-
export const getChatWorkspaceLayoutClassName = (_railWidth, hasRail) => cn(chatWorkspaceLayoutClassName, !hasRail && "starci-core-chat-workspace-layout-without-rail");
|
|
21
|
-
/** Main task owner: only its conversation child scrolls. */
|
|
22
|
-
export const chatWorkspacePrimaryClassName = cn("starci-core-chat-workspace-primary") ?? "starci-core-chat-workspace-primary";
|
|
23
|
-
/** The conversation is the single primary bounded scroll owner. */
|
|
24
|
-
export const chatWorkspaceConversationClassName = cn("starci-core-chat-workspace-conversation") ?? "starci-core-chat-workspace-conversation";
|
|
25
|
-
/** Composer remains reachable at the terminal edge without duplicating scroll padding. */
|
|
26
|
-
export const chatWorkspaceComposerClassName = cn("starci-core-chat-workspace-composer") ?? "starci-core-chat-workspace-composer";
|
|
27
|
-
/** Persistent supporting rail fills the same bounded layout track as the task owner. */
|
|
28
|
-
export const chatWorkspaceInlineRailClassName = cn("starci-core-chat-workspace-inline-rail") ?? "starci-core-chat-workspace-inline-rail";
|
|
29
|
-
/** Keep the compact vendor drawer on one safe viewport width. */
|
|
30
|
-
export const chatWorkspaceDrawerContentClassName = cn("starci-core-chat-workspace-drawer-content") ?? "starci-core-chat-workspace-drawer-content";
|
|
31
|
-
/** The dialog and its body extend the bounded height chain into the overlay. */
|
|
32
|
-
export const chatWorkspaceDrawerDialogClassName = cn("starci-core-chat-workspace-drawer-dialog") ?? "starci-core-chat-workspace-drawer-dialog";
|
|
33
|
-
export const chatWorkspaceDrawerBodyClassName = cn("starci-core-chat-workspace-drawer-body") ?? "starci-core-chat-workspace-drawer-body";
|
|
34
|
-
/** Scroll owner inside the compact supporting overlay. */
|
|
35
|
-
export const chatWorkspaceOverlayRailClassName = cn("starci-core-chat-workspace-overlay-rail") ?? "starci-core-chat-workspace-overlay-rail";
|
|
36
|
-
/** Make the vendor-provided overlay exit easy to target in every input mode. */
|
|
37
|
-
export const chatWorkspaceDrawerCloseClassName = cn("starci-core-chat-workspace-drawer-close") ?? "starci-core-chat-workspace-drawer-close";
|
|
38
|
-
//# sourceMappingURL=classNames.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"classNames.js","sourceRoot":"","sources":["../../../../src/core/composition/ChatWorkspace/classNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAElC;;;;;;GAMG;AAEH,6EAA6E;AAC7E,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC,4BAA4B,CAAC,IAAI,4BAA4B,CAAA;AAEtG,kEAAkE;AAClE,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC,mCAAmC,CAAC,IAAI,mCAAmC,CAAA;AAE1H,yEAAyE;AACzE,MAAM,CAAC,MAAM,yCAAyC,GAAG,EAAE,CAAC,kDAAkD,CAAC,IAAI,kDAAkD,CAAA;AAErK,0EAA0E;AAC1E,MAAM,CAAC,MAAM,iCAAiC,GAAG,EAAE,CAAC,yCAAyC,CAAC,IAAI,yCAAyC,CAAA;AAE3I,sFAAsF;AACtF,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC,mCAAmC,CAAC,IAAI,mCAAmC,CAAA;AAE1H,uEAAuE;AACvE,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC3C,UAA2C,EAC3C,OAAgB,EAClB,EAAE,CAAC,EAAE,CAAC,4BAA4B,EAAE,CAAC,OAAO,IAAI,gDAAgD,CAAC,CAAA;AAEnG,4DAA4D;AAC5D,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC,oCAAoC,CAAC,IAAI,oCAAoC,CAAA;AAE7H,mEAAmE;AACnE,MAAM,CAAC,MAAM,kCAAkC,GAAG,EAAE,CAAC,yCAAyC,CAAC,IAAI,yCAAyC,CAAA;AAE5I,0FAA0F;AAC1F,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC,qCAAqC,CAAC,IAAI,qCAAqC,CAAA;AAEhI,wFAAwF;AACxF,MAAM,CAAC,MAAM,gCAAgC,GAAG,EAAE,CAAC,wCAAwC,CAAC,IAAI,wCAAwC,CAAA;AAExI,iEAAiE;AACjE,MAAM,CAAC,MAAM,mCAAmC,GAAG,EAAE,CAAC,2CAA2C,CAAC,IAAI,2CAA2C,CAAA;AAEjJ,gFAAgF;AAChF,MAAM,CAAC,MAAM,kCAAkC,GAAG,EAAE,CAAC,0CAA0C,CAAC,IAAI,0CAA0C,CAAA;AAC9I,MAAM,CAAC,MAAM,gCAAgC,GAAG,EAAE,CAAC,wCAAwC,CAAC,IAAI,wCAAwC,CAAA;AAExI,0DAA0D;AAC1D,MAAM,CAAC,MAAM,iCAAiC,GAAG,EAAE,CAAC,yCAAyC,CAAC,IAAI,yCAAyC,CAAA;AAE3I,gFAAgF;AAChF,MAAM,CAAC,MAAM,iCAAiC,GAAG,EAAE,CAAC,yCAAyC,CAAC,IAAI,yCAAyC,CAAA"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { type ComponentPropsWithoutRef, type ReactNode } from "react";
|
|
2
|
-
type ChatWorkspaceBaseProps = Omit<ComponentPropsWithoutRef<"section">, "aria-label" | "children"> & {
|
|
3
|
-
/** Accessible name for the complete workspace landmark. */
|
|
4
|
-
readonly label: string;
|
|
5
|
-
/** Optional non-scrolling workspace heading or toolbar. */
|
|
6
|
-
readonly header?: ReactNode;
|
|
7
|
-
/** Caller-owned task content. Grammar supplies no message or business-state semantics. */
|
|
8
|
-
readonly conversation: ReactNode;
|
|
9
|
-
/** Accessible name for the independently scrollable task region. */
|
|
10
|
-
readonly conversationLabel: string;
|
|
11
|
-
/** Caller-owned input/action region pinned after the conversation scroll owner. */
|
|
12
|
-
readonly composer: ReactNode;
|
|
13
|
-
};
|
|
14
|
-
type ChatWorkspaceWithRailProps = {
|
|
15
|
-
/** Caller-owned supporting content; Grammar supplies only layout and overlay mechanics. */
|
|
16
|
-
readonly rail: ReactNode;
|
|
17
|
-
/** Accessible name shared by the persistent rail and compact drawer. */
|
|
18
|
-
readonly railLabel: string;
|
|
19
|
-
/** Visible and accessible label for the compact drawer trigger. */
|
|
20
|
-
readonly railOpenLabel: string;
|
|
21
|
-
/** Accessible label for the compact drawer close control. */
|
|
22
|
-
readonly railCloseLabel: string;
|
|
23
|
-
/** Controlled compact drawer state. Ignored while the persistent rail is active. */
|
|
24
|
-
readonly isRailOpen: boolean;
|
|
25
|
-
/** Receives trigger, backdrop, close-control, Escape, and breakpoint closure changes. */
|
|
26
|
-
readonly onRailOpenChange: (isOpen: boolean) => void;
|
|
27
|
-
readonly railWidth?: "compact" | "standard" | "wide";
|
|
28
|
-
};
|
|
29
|
-
type ChatWorkspaceWithoutRailProps = {
|
|
30
|
-
readonly rail?: undefined;
|
|
31
|
-
readonly railLabel?: never;
|
|
32
|
-
readonly railOpenLabel?: never;
|
|
33
|
-
readonly railCloseLabel?: never;
|
|
34
|
-
readonly isRailOpen?: never;
|
|
35
|
-
readonly onRailOpenChange?: never;
|
|
36
|
-
readonly railWidth?: never;
|
|
37
|
-
};
|
|
38
|
-
/**
|
|
39
|
-
* Generic bounded chat workbench composition.
|
|
40
|
-
*
|
|
41
|
-
* The host supplies a height. ChatWorkspace owns the remaining height chain,
|
|
42
|
-
* keeps the composer outside the conversation scroll owner, and transforms one
|
|
43
|
-
* optional persistent supporting rail into a controlled compact drawer.
|
|
44
|
-
*/
|
|
45
|
-
export type ChatWorkspaceProps = ChatWorkspaceBaseProps & (ChatWorkspaceWithRailProps | ChatWorkspaceWithoutRailProps);
|
|
46
|
-
export declare const ChatWorkspace: (props: ChatWorkspaceProps) => import("react").JSX.Element;
|
|
47
|
-
export {};
|
|
48
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/composition/ChatWorkspace/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAGH,KAAK,wBAAwB,EAC7B,KAAK,SAAS,EACjB,MAAM,OAAO,CAAA;AAqCd,KAAK,sBAAsB,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC,GAAG;IACjG,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,2DAA2D;IAC3D,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAC3B,0FAA0F;IAC1F,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAA;IAChC,oEAAoE;IACpE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,mFAAmF;IACnF,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAC/B,CAAA;AAED,KAAK,0BAA0B,GAAG;IAC9B,2FAA2F;IAC3F,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,6DAA6D;IAC7D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,oFAAoF;IACpF,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,yFAAyF;IACzF,QAAQ,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IACpD,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAA;CACvD,CAAA;AAED,KAAK,6BAA6B,GAAG;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAA;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAA;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAA;IAC3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAA;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAA;CAC7B,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG,CACtD,0BAA0B,GAAG,6BAA6B,CAC7D,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,OAAO,kBAAkB,gCAiKtD,CAAA"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { cn, Drawer } from "@heroui/react";
|
|
4
|
-
import { useEffect, useSyncExternalStore, } from "react";
|
|
5
|
-
import { Rail } from "../../branch/Rail/index.js";
|
|
6
|
-
import { VerticalScrollRegion } from "../../composite/VerticalScrollRegion/index.js";
|
|
7
|
-
import { SurfaceNesting } from "../../surfaceContext.js";
|
|
8
|
-
import { ButtonPlacementProvider } from "../../buttonIntent.js";
|
|
9
|
-
import { chatWorkspaceClassName, chatWorkspaceComposerClassName, chatWorkspaceConversationClassName, chatWorkspaceDrawerBodyClassName, chatWorkspaceDrawerCloseClassName, chatWorkspaceDrawerContentClassName, chatWorkspaceDrawerDialogClassName, chatWorkspaceHeaderClassName, chatWorkspaceInlineRailClassName, chatWorkspaceOverlayRailClassName, chatWorkspacePrimaryClassName, chatWorkspaceRailTriggerBoundaryClassName, chatWorkspaceRailTriggerClassName, getChatWorkspaceLayoutClassName, } from "./classNames.js";
|
|
10
|
-
const compactRailQuery = "(max-width: 47.999rem)";
|
|
11
|
-
const subscribeToCompactRail = (onStoreChange) => {
|
|
12
|
-
if (typeof window === "undefined")
|
|
13
|
-
return () => undefined;
|
|
14
|
-
const query = window.matchMedia(compactRailQuery);
|
|
15
|
-
query.addEventListener("change", onStoreChange);
|
|
16
|
-
return () => query.removeEventListener("change", onStoreChange);
|
|
17
|
-
};
|
|
18
|
-
const getCompactRailSnapshot = () => (typeof window === "undefined" ? false : window.matchMedia(compactRailQuery).matches);
|
|
19
|
-
const getCompactRailServerSnapshot = () => false;
|
|
20
|
-
export const ChatWorkspace = (props) => {
|
|
21
|
-
const { className, composer, conversation, conversationLabel, header, label, rail, railCloseLabel, railLabel, railOpenLabel, railWidth: requestedRailWidth, isRailOpen: requestedRailOpen, onRailOpenChange: requestedRailOpenChange, ...sectionProps } = props;
|
|
22
|
-
const isCompactRail = useSyncExternalStore(subscribeToCompactRail, getCompactRailSnapshot, getCompactRailServerSnapshot);
|
|
23
|
-
const railConfig = rail === undefined ? undefined : {
|
|
24
|
-
content: rail,
|
|
25
|
-
label: railLabel ?? "",
|
|
26
|
-
openLabel: railOpenLabel ?? "",
|
|
27
|
-
closeLabel: railCloseLabel ?? "",
|
|
28
|
-
isOpen: requestedRailOpen ?? false,
|
|
29
|
-
onOpenChange: requestedRailOpenChange,
|
|
30
|
-
width: requestedRailWidth ?? "standard",
|
|
31
|
-
};
|
|
32
|
-
const hasRail = railConfig !== undefined;
|
|
33
|
-
const railWidth = railConfig?.width ?? "standard";
|
|
34
|
-
const isRailOpen = railConfig?.isOpen ?? false;
|
|
35
|
-
const onRailOpenChange = railConfig?.onOpenChange;
|
|
36
|
-
useEffect(() => {
|
|
37
|
-
if (hasRail && !isCompactRail && isRailOpen)
|
|
38
|
-
onRailOpenChange?.(false);
|
|
39
|
-
}, [hasRail, isCompactRail, isRailOpen, onRailOpenChange]);
|
|
40
|
-
return (_jsxs("section", { ...sectionProps, "aria-label": label, className: cn(chatWorkspaceClassName, className), "data-grammar-chat-workspace": "true", "data-component": "ChatWorkspace", "data-tier": "composition", "data-grammar-chat-workspace-rail": hasRail ? "present" : "absent", children: [header === undefined ? null : (_jsx("header", { className: chatWorkspaceHeaderClassName, "data-grammar-chat-workspace-slot": "header", children: _jsx(ButtonPlacementProvider, { placement: "chrome", children: header }) })), hasRail && isCompactRail ? (_jsxs(Drawer, { isOpen: railConfig.isOpen, onOpenChange: railConfig.onOpenChange, children: [_jsx("div", { className: chatWorkspaceRailTriggerBoundaryClassName, "data-contract": "BOUNDARY-1 PADDING-4 PADDING-2", children: _jsx(Drawer.Trigger, { className: chatWorkspaceRailTriggerClassName, "data-contract": "PADDING-3 SURFACE-2 FONT-2 TONE-1", children: railConfig.openLabel }) }), _jsx(Drawer.Backdrop, { children: _jsx(Drawer.Content, { className: chatWorkspaceDrawerContentClassName, placement: "right", children: _jsx(Drawer.Dialog, { className: chatWorkspaceDrawerDialogClassName, "data-grammar-nesting": "surface", children: _jsxs(SurfaceNesting, { children: [_jsx(Drawer.Header, { children: _jsx(Drawer.Heading, { children: railConfig.label }) }), _jsx(Drawer.CloseTrigger, { "aria-label": railConfig.closeLabel, className: chatWorkspaceDrawerCloseClassName, "data-contract": "SURFACE-2 TONE-1" }), _jsx(Drawer.Body, { className: chatWorkspaceDrawerBodyClassName, "data-contract": "OVERFLOW-2 PADDING-0", children: _jsx(VerticalScrollRegion, { "aria-label": railConfig.label, className: chatWorkspaceOverlayRailClassName, "data-contract": "OVERFLOW-4 OVERFLOW-5 PADDING-4", "data-grammar-chat-workspace-rail-presentation": "overlay", "data-grammar-chat-workspace-slot": "rail", isScrollable: true, role: "region", tabIndex: 0, children: railConfig.content }) })] }) }) }) })] })) : null, _jsxs("div", { className: getChatWorkspaceLayoutClassName(railWidth, hasRail), "data-contract": "GAP-5", "data-grammar-chat-workspace-layout": "true", "data-grammar-chat-workspace-rail-width": hasRail ? railWidth : undefined, children: [_jsxs("div", { className: chatWorkspacePrimaryClassName, "data-grammar-chat-workspace-slot": "primary", children: [_jsx(VerticalScrollRegion, { "aria-label": conversationLabel, className: chatWorkspaceConversationClassName, "data-contract": "OVERFLOW-4 OVERFLOW-5", "data-grammar-chat-workspace-scroll-owner": "conversation", "data-grammar-chat-workspace-slot": "conversation", isScrollable: true, role: "region", tabIndex: 0, children: conversation }), _jsx("div", { className: chatWorkspaceComposerClassName, "data-contract": "BOUNDARY-1", "data-grammar-chat-workspace-slot": "composer", children: composer })] }), hasRail && !isCompactRail ? (_jsx("div", { className: chatWorkspaceInlineRailClassName, children: _jsx(Rail, { height: "fill", inset: "none", isLabelHidden: true, label: railConfig.label, mode: "flow", width: railWidth, children: _jsx(VerticalScrollRegion, { "aria-label": railConfig.label, className: chatWorkspaceOverlayRailClassName, "data-contract": "OVERFLOW-4 OVERFLOW-5 PADDING-4", "data-grammar-chat-workspace-rail-presentation": "inline", "data-grammar-chat-workspace-slot": "rail", isScrollable: true, role: "region", tabIndex: 0, children: railConfig.content }) }) })) : null] })] }));
|
|
41
|
-
};
|
|
42
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/composition/ChatWorkspace/index.tsx"],"names":[],"mappings":"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"}
|