@starci/grammar 0.12.1 → 0.12.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 +49 -13
- package/dist/.build-stamp.json +4 -4
- package/dist/common/components-forms.css +5 -0
- package/dist/common/registry.d.ts +2 -2
- package/dist/common/renderers.d.ts +1 -1
- package/dist/common/renderers.d.ts.map +1 -1
- package/dist/common/renderers.js.map +1 -1
- package/dist/common/styles.css +1 -76
- package/dist/core/branch/DropdownMenu/index.d.ts +2 -2
- package/dist/core/branch/DropdownMenu/index.d.ts.map +1 -1
- package/dist/core/branch/DropdownMenu/index.js +2 -2
- package/dist/core/branch/DropdownMenu/index.js.map +1 -1
- package/dist/core/branch/Rail/index.d.ts.map +1 -1
- package/dist/core/branch/Rail/index.js +2 -4
- package/dist/core/branch/Rail/index.js.map +1 -1
- package/dist/core/branch/Select/index.js +2 -2
- package/dist/core/branch/SurfaceAccordionCard/classNames.d.ts +1 -1
- package/dist/core/branch/SurfaceAccordionCard/classNames.d.ts.map +1 -1
- package/dist/core/branch/SurfaceAccordionCard/classNames.js +3 -3
- package/dist/core/branch/SurfaceAccordionCard/classNames.js.map +1 -1
- package/dist/core/branch/SurfaceAccordionCard/index.d.ts +2 -2
- package/dist/core/branch/SurfaceAccordionCard/index.d.ts.map +1 -1
- package/dist/core/branch/SurfaceAccordionCard/index.js +10 -9
- package/dist/core/branch/SurfaceAccordionCard/index.js.map +1 -1
- package/dist/core/branch/SurfaceCard/classNames.d.ts +0 -4
- package/dist/core/branch/SurfaceCard/classNames.d.ts.map +1 -1
- package/dist/core/branch/SurfaceCard/classNames.js +0 -4
- package/dist/core/branch/SurfaceCard/classNames.js.map +1 -1
- package/dist/core/branch/SurfaceCard/index.d.ts +0 -3
- package/dist/core/branch/SurfaceCard/index.d.ts.map +1 -1
- package/dist/core/branch/SurfaceCard/index.js +10 -29
- package/dist/core/branch/SurfaceCard/index.js.map +1 -1
- package/dist/core/branch/Tabs/index.d.ts +3 -2
- package/dist/core/branch/Tabs/index.d.ts.map +1 -1
- package/dist/core/branch/Tabs/index.js +3 -1
- package/dist/core/branch/Tabs/index.js.map +1 -1
- package/dist/core/branch/Toast/index.js +2 -2
- package/dist/core/branch/Toast/index.js.map +1 -1
- package/dist/core/branch/Tooltip/classNames.d.ts +1 -2
- package/dist/core/branch/Tooltip/classNames.d.ts.map +1 -1
- package/dist/core/branch/Tooltip/classNames.js +1 -2
- package/dist/core/branch/Tooltip/classNames.js.map +1 -1
- package/dist/core/branch/Tooltip/index.d.ts +10 -14
- package/dist/core/branch/Tooltip/index.d.ts.map +1 -1
- package/dist/core/branch/Tooltip/index.js +10 -48
- package/dist/core/branch/Tooltip/index.js.map +1 -1
- package/dist/core/composition/NavigationFeatureNav/index.d.ts.map +1 -1
- package/dist/core/composition/NavigationFeatureNav/index.js +2 -1
- package/dist/core/composition/NavigationFeatureNav/index.js.map +1 -1
- package/dist/core/composition/Sidebar/index.d.ts.map +1 -1
- package/dist/core/composition/Sidebar/index.js +5 -1
- package/dist/core/composition/Sidebar/index.js.map +1 -1
- package/dist/core/composition/TopBar/index.d.ts.map +1 -1
- package/dist/core/composition/TopBar/index.js +2 -1
- package/dist/core/composition/TopBar/index.js.map +1 -1
- package/dist/core/composition/WorkspaceShell/index.d.ts.map +1 -1
- package/dist/core/composition/WorkspaceShell/index.js +3 -2
- package/dist/core/composition/WorkspaceShell/index.js.map +1 -1
- package/dist/core/dna.d.ts +4 -0
- package/dist/core/dna.d.ts.map +1 -1
- package/dist/core/dna.js +4 -0
- package/dist/core/dna.js.map +1 -1
- package/dist/core/primitive/Button/index.d.ts +2 -1
- package/dist/core/primitive/Button/index.d.ts.map +1 -1
- package/dist/core/primitive/Button/index.js +2 -2
- package/dist/core/primitive/Button/index.js.map +1 -1
- package/dist/core/primitive/Divider/index.d.ts.map +1 -1
- package/dist/core/primitive/Divider/index.js +3 -4
- package/dist/core/primitive/Divider/index.js.map +1 -1
- package/dist/core/primitive/IconButton/index.d.ts +12 -8
- package/dist/core/primitive/IconButton/index.d.ts.map +1 -1
- package/dist/core/primitive/IconButton/index.js.map +1 -1
- package/dist/core/primitive/Progress/index.d.ts.map +1 -1
- package/dist/core/primitive/Progress/index.js +1 -1
- package/dist/core/primitive/Progress/index.js.map +1 -1
- package/dist/core/primitive/RelativeTime/index.d.ts +19 -6
- package/dist/core/primitive/RelativeTime/index.d.ts.map +1 -1
- package/dist/core/primitive/RelativeTime/index.js +44 -23
- package/dist/core/primitive/RelativeTime/index.js.map +1 -1
- package/dist/core/primitive/Text/index.d.ts +1 -0
- package/dist/core/primitive/Text/index.d.ts.map +1 -1
- package/dist/core/primitive/Text/index.js +1 -2
- package/dist/core/primitive/Text/index.js.map +1 -1
- package/dist/core/primitive/TextAction/index.d.ts +3 -3
- package/dist/core/primitive/TextAction/index.d.ts.map +1 -1
- package/dist/core/primitive/TextAction/index.js +2 -2
- package/dist/core/primitive/TextAction/index.js.map +1 -1
- package/dist/offset-pop/conformance.d.ts +1 -1
- package/dist/offset-pop/conformance.js +1 -1
- package/dist/offset-pop/conformance.js.map +1 -1
- package/package.json +5 -3
package/README.md
CHANGED
|
@@ -43,10 +43,31 @@ The `Compositions/App shell` stories show the fixed shell, grouped sidebar, icon
|
|
|
43
43
|
|
|
44
44
|
- `size="control"` is available on `Button`, `IconButton`, `TextAction`, `PlainPressable`, `IdentityLockup`, `Input` and `SearchField`, alongside `Switch`, `Avatar` and `AvatarButton`.
|
|
45
45
|
- `SidebarItem.badge`, `badgeLabel` and `badgeMax` show and announce unread counts in both sidebar presentations. `SidebarGroup.placement="end"` places settings groups after the main groups and pushes them to the bottom.
|
|
46
|
-
- The collapsed Sidebar uses Grammar's internal `AnchoredTooltip` on hover and focus.
|
|
46
|
+
- The collapsed Sidebar uses Grammar's internal `AnchoredTooltip` on hover and focus. HeroUI Tooltip positions the annotation beside the selected collection item and portals it into the same family DOM scope, preserving HeroUI's collection anatomy. `onAction` runs for every activated destination, including the selected item, so a drawer can close consistently.
|
|
47
47
|
- A fixed `WorkspaceShell` frames its `compactHeader` slot as the mobile opener band; pass a client `Drawer` with an ellipsis `IconButton` trigger. The `navigationDrawer` form owns the same band when it supplies the opener.
|
|
48
48
|
- `AvatarButton seed` passes the stable identity id to Grammar's shared `Avatar`, which draws the deterministic local DiceBear image; an uploaded `src` takes precedence.
|
|
49
|
-
- `DropdownMenuItem.mark` accepts a decorative identity mark and is mutually exclusive with `iconSource`. A destructive item uses `tone="danger"
|
|
49
|
+
- `DropdownMenuItem.mark` accepts a decorative identity mark and is mutually exclusive with `iconSource`. A destructive item uses `tone="danger"`.
|
|
50
|
+
|
|
51
|
+
Compose the interactive shell in a Client Component, where its glyph functions, callbacks and
|
|
52
|
+
state are created. A server layout can pass its rendered children to that component. Load the
|
|
53
|
+
selected family stylesheet and place the family's root around the layout.
|
|
54
|
+
|
|
55
|
+
```tsx
|
|
56
|
+
// components/WorkspaceFrame.tsx
|
|
57
|
+
"use client"
|
|
58
|
+
|
|
59
|
+
import { Sidebar, WorkspaceShell } from "@starci/grammar/core"
|
|
60
|
+
import { EllipsisHorizontalIcon } from "@heroicons/react/24/outline"
|
|
61
|
+
import type { ReactNode } from "react"
|
|
62
|
+
|
|
63
|
+
const groups = [{ id: "main", items: [{ id: "home", label: "Home" }] }]
|
|
64
|
+
|
|
65
|
+
export default function WorkspaceFrame({ children }: { children: ReactNode }) {
|
|
66
|
+
return <WorkspaceShell primary={children} primaryLabel="Workspace" navigation={<Sidebar label="Workspace" groups={groups} />}
|
|
67
|
+
navigationLabel="Workspace navigation" navigationDrawer={{ title: "Navigation", openLabel: "Open navigation",
|
|
68
|
+
closeLabel: "Close navigation", source: EllipsisHorizontalIcon, content: <Sidebar presentation="drawer" label="Workspace" groups={groups} /> }} />
|
|
69
|
+
}
|
|
70
|
+
```
|
|
50
71
|
|
|
51
72
|
### Common (neutral structure only)
|
|
52
73
|
|
|
@@ -84,6 +105,8 @@ export const ProductSurface = () => (
|
|
|
84
105
|
`STARCI_CORE_DNA` exposes the immutable design values. `STARCI_CORE_SPACING_SCALE` exposes the
|
|
85
106
|
4px spacing steps. `STARCI_CORE_TOKEN_NAMES` lists the CSS variables, and
|
|
86
107
|
`STARCI_CORE_TOKEN_DEFAULTS` / `STARCI_CORE_DARK_TOKEN_DEFAULTS` hold their exact packaged values.
|
|
108
|
+
Core's DNA declares a shadow without a border at top surface depth, and a border without a shadow
|
|
109
|
+
at nested depth.
|
|
87
110
|
|
|
88
111
|
### Heritage
|
|
89
112
|
|
|
@@ -173,20 +196,26 @@ same alignment and icon-size rule. Keep the visible item label as its accessible
|
|
|
173
196
|
the mark without visual slot CSS.
|
|
174
197
|
|
|
175
198
|
`RelativeTime` renders `<time dateTime>` for live relative copy such as "5 minutes ago" and a
|
|
176
|
-
countdown such as "in 5 minutes". Pass `dateTime` as a timezone-qualified
|
|
177
|
-
as the active BCP 47 locale.
|
|
178
|
-
|
|
179
|
-
|
|
199
|
+
countdown such as "in 5 minutes". Pass `dateTime` as a timezone-qualified RFC 3339 string and `locale`
|
|
200
|
+
as the active BCP 47 locale. Fractional seconds and numeric offsets such as `+0000` are accepted.
|
|
201
|
+
`mode="relative"` is the default. `mode="countdown"` rounds up the remaining seconds, chooses a unit,
|
|
202
|
+
then shows its completed count: 25 hours shows "in 1 day", and an expired countdown shows
|
|
203
|
+
"in 0 seconds" in English. `format="digital"` shows `m:ss` or `h:mm:ss`; `template` is serializable
|
|
204
|
+
copy containing `{time}`, and `expiredLabel` replaces that complete copy after expiry.
|
|
205
|
+
`size` (`xs`, `sm`, `md`) and `tone` (`default`, `muted`, `accent`) use Common's text presentation.
|
|
180
206
|
|
|
181
207
|
```tsx
|
|
182
208
|
<RelativeTime dateTime="2026-10-25T09:00:00Z" locale="en" />
|
|
183
209
|
<RelativeTime dateTime="2026-10-25T10:00:00+01:00" locale="en" mode="countdown" />
|
|
210
|
+
<RelativeTime dateTime="2026-10-25T10:00:00+0000" locale="en" mode="countdown"
|
|
211
|
+
format="digital" template="Offer ends in {time}" expiredLabel="Offer ended" fallback="Loading" />
|
|
184
212
|
```
|
|
185
213
|
|
|
186
214
|
The server and initial hydration render show `fallback`, or the canonical ISO instant when it is
|
|
187
215
|
omitted. After hydration, every instance reads the same shared ticker. The first subscriber starts
|
|
188
216
|
it and the last unsubscribe stops it; leaves own no clock or refresh interval. Supply translated
|
|
189
|
-
`fallback` copy when an ISO instant is unsuitable.
|
|
217
|
+
`fallback` copy when an ISO instant is unsuitable. Invalid timestamps render the fallback and warn
|
|
218
|
+
in development. Time changes are not a live announcement, so a
|
|
190
219
|
page of timestamps does not repeatedly interrupt assistive technology. Grammar owns native
|
|
191
220
|
`Intl.RelativeTimeFormat` for this primitive; other application date display follows FE-DATE.
|
|
192
221
|
|
|
@@ -198,7 +227,7 @@ className and no size. An item takes `id`, `label`, `description`, `shortcut`, `
|
|
|
198
227
|
`size-4`, which is example content and not a component default, so 20px is StarCi's icon rule and not a vendor override.
|
|
199
228
|
- `mark`: a decorative node instead of `iconSource`, e.g. an identity mark (`<Avatar size="sm" shape="rounded" isDecorative />`). The public type rejects both props together.
|
|
200
229
|
- `tone: "danger"`: HeroUI's `danger` variant, which colours the label and the glyph. Sign out, delete, remove, leave workspace
|
|
201
|
-
and revoke are destructive; the lint rule `starci-
|
|
230
|
+
and revoke are destructive; the lint rule `starci-grammar/destructive-menu-entry-needs-danger-tone` of `@starci/eslint-grammar-starci` refuses such an entry without it.
|
|
202
231
|
|
|
203
232
|
A section takes `label` and optionally `selection` (`mode: "single" | "multiple"`, `selectedIds`, `onChange`). Between two
|
|
204
233
|
adjacent entries, when either is a section, Grammar always inserts HeroUI's own `Separator`: the app cannot forget one. The selection
|
|
@@ -310,13 +339,19 @@ renderers with prop-compatible versions and add extensions whose names don't col
|
|
|
310
339
|
|
|
311
340
|
### Surface controls, panel lists and group identity
|
|
312
341
|
|
|
313
|
-
SurfaceCard
|
|
314
|
-
|
|
342
|
+
SurfaceCard, SurfaceListCard, painted SurfaceAccordionCard, Sidebar and the content of Drawer,
|
|
343
|
+
Dialog, AlertDialog and Popover supply the nesting context of ANATOMY-2. SurfaceCard always paints
|
|
344
|
+
a surface: the top layer is raised and a nested layer is subordinate; never raise both layers.
|
|
345
|
+
Each family's DNA owns the paint. SurfaceCard and bounded
|
|
346
|
+
SurfaceAccordionCard derive their depth from the parent context. SurfaceAccordionCard defaults to
|
|
347
|
+
`frame="bounded"`; `frame="unpainted"` and Rail pass the parent's context through.
|
|
315
348
|
Omit a field's `variant`: Input, SearchField, Textarea, NumberField, DateField, TimeField, Select,
|
|
316
349
|
ComboBox, DatePicker, DateRangePicker, Checkbox, CheckboxGroup, RadioGroup, PressableField and OtpInput use `secondary`
|
|
317
350
|
inside these surfaces and `primary` outside. Overlay triggers keep their surrounding context.
|
|
318
|
-
|
|
319
|
-
`
|
|
351
|
+
Tabs also default to `secondary` inside a surface and `primary` on the page background. The FE
|
|
352
|
+
canon's `FE_NESTED_VARIANT` rejects static field variants throughout app code and explicit primary
|
|
353
|
+
Tabs inside a painted surface. `FE_GRAMMAR_LAYOUT_ONLY` rejects application paint utilities,
|
|
354
|
+
arbitrary paint properties and inline style paint; application CSS carries layout only.
|
|
320
355
|
|
|
321
356
|
ListBox defaults to `inset="panel"` inside the same context. The list container extends into the
|
|
322
357
|
panel gutter so row content, loading content and section captions align with the header and search
|
|
@@ -324,7 +359,8 @@ field without padding wrappers (PADDING-0). Items keep HeroUI's default padding
|
|
|
324
359
|
space; row backgrounds extend into the gutter. Outside a surface, the vendor list inset stays;
|
|
325
360
|
`inset="panel"` also selects the alignment explicitly. Pass flat `items` or named `sections`
|
|
326
361
|
(`ListBoxSection`), with unique item ids across the whole list. `FE_LIST_PANEL_PADDING` rejects
|
|
327
|
-
horizontal padding wrappers around a list or its section caption
|
|
362
|
+
horizontal padding wrappers around a list or its section caption within the nearest painted Grammar surface.
|
|
363
|
+
Sidebar's expanded and collapsed
|
|
328
364
|
rows also retain HeroUI item padding.
|
|
329
365
|
|
|
330
366
|
```tsx
|
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.12.
|
|
4
|
+
"version": "0.12.3",
|
|
5
5
|
"algorithm": "starci/grammar-source-digest@1",
|
|
6
|
-
"sourceDigest": "sha256:
|
|
7
|
-
"distDigest": "sha256:
|
|
8
|
-
"builtAt": "2026-10-
|
|
6
|
+
"sourceDigest": "sha256:3aa873b44e3dde843d9ed4dee490afca7a32cefbaba6f9b023943b9b5e7b5ad5",
|
|
7
|
+
"distDigest": "sha256:a0b7ed5f0ebeb59cc7e048c5fde00debef3c1bc496a70f823274dd20d079ded7",
|
|
8
|
+
"builtAt": "2026-10-25T16:22:28.270Z"
|
|
9
9
|
}
|
|
@@ -214,6 +214,11 @@
|
|
|
214
214
|
border-radius: var(--field-radius, calc(var(--radius, 0.5rem) * 1.5));
|
|
215
215
|
}
|
|
216
216
|
|
|
217
|
+
/* Owner 2026-10-25: Select has the same 2.5rem field height as Input. */
|
|
218
|
+
.starci-core-select-trigger {
|
|
219
|
+
min-block-size: var(--starci-core-field-min-height, 2.5rem);
|
|
220
|
+
}
|
|
221
|
+
|
|
217
222
|
/*
|
|
218
223
|
* ONE FOCUS RING PER FIELD (0.9.14, owner ruling 2026-10-12, FOCUS-1). The ring is drawn once, on the field frame:
|
|
219
224
|
* the group of SearchField, NumberField, ComboBox and the date fields, the trigger of Select, the control itself
|
|
@@ -110,7 +110,7 @@ export declare const COMMON_GRAMMAR_COMPONENTS: Readonly<{
|
|
|
110
110
|
readonly Rail: (props: import("./renderers.js").RailProps) => import("react").JSX.Element;
|
|
111
111
|
readonly RankArtwork: ({ className, kind, label, ...props }: import("./renderers.js").RankArtworkProps) => import("react").JSX.Element;
|
|
112
112
|
readonly Region: (props: import("./renderers.js").RegionProps) => import("react").JSX.Element;
|
|
113
|
-
readonly RelativeTime: ({ dateTime, locale, mode, fallback, id, size, tone }: import("./renderers.js").RelativeTimeProps) => import("react").JSX.Element;
|
|
113
|
+
readonly RelativeTime: ({ dateTime, locale, mode, format, expiredLabel, template, fallback, id, size, tone }: import("./renderers.js").RelativeTimeProps) => import("react").JSX.Element;
|
|
114
114
|
readonly SectionHeader: ({ title, description, eyebrow, action, count, meta, level, className, id, composition, isSkeleton, }: import("./renderers.js").SectionHeaderProps) => import("react").JSX.Element;
|
|
115
115
|
readonly Sidebar: ({ label, groups, selectedKey, presentation, isCollapsed, collapseLabel, expandLabel, toggleSource, header, footer, onAction, onCollapsedChange, }: import("./renderers.js").SidebarProps) => import("react").JSX.Element;
|
|
116
116
|
readonly StateMark: (props: import("./renderers.js").StateMarkProps) => import("react").JSX.Element | null;
|
|
@@ -123,7 +123,7 @@ export declare const COMMON_GRAMMAR_COMPONENTS: Readonly<{
|
|
|
123
123
|
readonly Tabs: (props: import("./renderers.js").TabsProps) => import("react").JSX.Element;
|
|
124
124
|
readonly Text: ({ as: Element, id, children, startContent, size, tone, weight, live, overflow, isSkeleton, isSuperseded, parentEmphasis, }: import("./renderers.js").TextProps) => import("react").JSX.Element;
|
|
125
125
|
readonly TextAction: (props: import("./renderers.js").TextActionProps) => import("react").JSX.Element;
|
|
126
|
-
readonly Tooltip: ({ content, children, placement
|
|
126
|
+
readonly Tooltip: ({ content, children, placement }: import("./renderers.js").TooltipProps) => import("react").JSX.Element;
|
|
127
127
|
readonly VerticalScrollRegion: (props: import("./renderers.js").VerticalScrollRegionProps) => import("react").JSX.Element;
|
|
128
128
|
readonly WorkspaceShell: (props: import("./renderers.js").WorkspaceShellProps) => import("react").JSX.Element;
|
|
129
129
|
}>;
|
|
@@ -16,7 +16,7 @@ export { Input, type InputKind, type InputProps, type InputVariant } from "../co
|
|
|
16
16
|
export { PressableField, type PressableFieldProps } from "../core/primitive/PressableField/index.js";
|
|
17
17
|
export { Progress, type ProgressProps } from "../core/primitive/Progress/index.js";
|
|
18
18
|
export { Text, type TextAs, type TextLive, type TextProps, type TextSize, type TextTone, type TextWeight } from "../core/primitive/Text/index.js";
|
|
19
|
-
export { RelativeTime, type RelativeTimeMode, type RelativeTimeProps } from "../core/primitive/RelativeTime/index.js";
|
|
19
|
+
export { RelativeTime, type RelativeTimeFormat, type RelativeTimeMode, type RelativeTimeProps } from "../core/primitive/RelativeTime/index.js";
|
|
20
20
|
export { TextAction, type TextActionAppearance, type TextActionProps, type TextActionSize } from "../core/primitive/TextAction/index.js";
|
|
21
21
|
export { SectionHeader, type SectionHeaderProps } from "../core/primitive/SectionHeader/index.js";
|
|
22
22
|
export { MediaFrame, type MediaFrameProps } from "../core/primitive/MediaFrame/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderers.d.ts","sourceRoot":"","sources":["../../src/common/renderers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAC3F,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,0CAA0C,CAAA;AACjG,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,kCAAkC,CAAA;AACzF,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAClI,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACtG,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AACnH,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAChG,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAClF,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACrH,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAC7H,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,qCAAqC,CAAA;AACxH,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAChH,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACnG,OAAO,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC5G,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AACpG,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAClF,OAAO,EAAE,IAAI,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAA;AACjJ,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;
|
|
1
|
+
{"version":3,"file":"renderers.d.ts","sourceRoot":"","sources":["../../src/common/renderers.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;AAClI,OAAO,EAAE,OAAO,EAA4C,MAAM,oCAAoC,CAAA;AACtG,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,IAAI,EAA6F,MAAM,iCAAiC,CAAA;AACjJ,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"renderers.js","sourceRoot":"","sources":["../../src/common/renderers.ts"],"names":[],"mappings":"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"}
|
package/dist/common/styles.css
CHANGED
|
@@ -728,68 +728,6 @@
|
|
|
728
728
|
line-height: 1rem;
|
|
729
729
|
}
|
|
730
730
|
|
|
731
|
-
.starci-core-tooltip {
|
|
732
|
-
position: relative;
|
|
733
|
-
max-width: fit-content;
|
|
734
|
-
}
|
|
735
|
-
|
|
736
|
-
.starci-core-tooltip-content {
|
|
737
|
-
position: absolute;
|
|
738
|
-
z-index: 20;
|
|
739
|
-
pointer-events: none;
|
|
740
|
-
white-space: nowrap;
|
|
741
|
-
border-radius: var(--starci-core-control-radius, 0.75rem);
|
|
742
|
-
background: var(--starci-core-foreground, var(--foreground, CanvasText));
|
|
743
|
-
color: var(--starci-core-canvas, var(--background, Canvas));
|
|
744
|
-
padding: 0.25rem 0.5rem;
|
|
745
|
-
font-size: 0.75rem;
|
|
746
|
-
line-height: 1rem;
|
|
747
|
-
font-weight: 500;
|
|
748
|
-
opacity: 0;
|
|
749
|
-
transition:
|
|
750
|
-
opacity var(--starci-core-motion-duration, 180ms) var(--starci-core-motion-easing, cubic-bezier(0.2, 0, 0, 1)),
|
|
751
|
-
visibility var(--starci-core-motion-duration, 180ms) var(--starci-core-motion-easing, cubic-bezier(0.2, 0, 0, 1));
|
|
752
|
-
visibility: hidden;
|
|
753
|
-
}
|
|
754
|
-
|
|
755
|
-
/* Collection annotations use the native top layer to escape scroll clipping without leaving Grammar scope. */
|
|
756
|
-
.starci-core-tooltip-content[data-grammar-tooltip-annotation="true"] {
|
|
757
|
-
position: fixed;
|
|
758
|
-
inset: auto;
|
|
759
|
-
box-sizing: border-box;
|
|
760
|
-
max-inline-size: calc(100dvw - 1rem);
|
|
761
|
-
margin: 0;
|
|
762
|
-
border: 0;
|
|
763
|
-
white-space: normal;
|
|
764
|
-
overflow-wrap: anywhere;
|
|
765
|
-
opacity: 1;
|
|
766
|
-
visibility: visible;
|
|
767
|
-
}
|
|
768
|
-
|
|
769
|
-
.starci-core-tooltip:hover > .starci-core-tooltip-content,
|
|
770
|
-
.starci-core-tooltip:focus-within > .starci-core-tooltip-content {
|
|
771
|
-
opacity: 1;
|
|
772
|
-
visibility: visible;
|
|
773
|
-
}
|
|
774
|
-
|
|
775
|
-
.starci-core-tooltip[data-grammar-tooltip-placement="top"] > .starci-core-tooltip-content {
|
|
776
|
-
bottom: calc(100% + 0.375rem);
|
|
777
|
-
left: 50%;
|
|
778
|
-
transform: translateX(-50%);
|
|
779
|
-
}
|
|
780
|
-
|
|
781
|
-
.starci-core-tooltip[data-grammar-tooltip-placement="bottom"] > .starci-core-tooltip-content {
|
|
782
|
-
top: calc(100% + 0.375rem);
|
|
783
|
-
left: 50%;
|
|
784
|
-
transform: translateX(-50%);
|
|
785
|
-
}
|
|
786
|
-
|
|
787
|
-
@media (prefers-reduced-motion: reduce) {
|
|
788
|
-
.starci-core-tooltip-content {
|
|
789
|
-
transition: none;
|
|
790
|
-
}
|
|
791
|
-
}
|
|
792
|
-
|
|
793
731
|
.starci-core-surface {
|
|
794
732
|
position: relative;
|
|
795
733
|
min-width: 0;
|
|
@@ -2849,9 +2787,7 @@
|
|
|
2849
2787
|
}
|
|
2850
2788
|
|
|
2851
2789
|
.starci-core-divider-rule {
|
|
2852
|
-
height: 1px;
|
|
2853
2790
|
flex: 1 1 0%;
|
|
2854
|
-
background: var(--border, var(--separator, var(--starci-core-separator, GrayText)));
|
|
2855
2791
|
}
|
|
2856
2792
|
|
|
2857
2793
|
/* Region, List, ListItem: semantic page structure that draws nothing of its own. */
|
|
@@ -2875,18 +2811,6 @@
|
|
|
2875
2811
|
overflow-x: auto;
|
|
2876
2812
|
}
|
|
2877
2813
|
|
|
2878
|
-
/* The unlabelled hairline (0.6.0): BOUNDARY-1, one pixel of --separator across its container, no margin. */
|
|
2879
|
-
.starci-core-divider-bare {
|
|
2880
|
-
display: block;
|
|
2881
|
-
width: 100%;
|
|
2882
|
-
height: 0;
|
|
2883
|
-
flex: none;
|
|
2884
|
-
margin: 0;
|
|
2885
|
-
border: 0;
|
|
2886
|
-
/* A border, not a background: forced colours keep a border and drop a background. */
|
|
2887
|
-
border-block-start: 1px solid var(--separator, var(--starci-core-separator, GrayText));
|
|
2888
|
-
}
|
|
2889
|
-
|
|
2890
2814
|
/* --- Pinned action bar (0.6.0): the narrow-screen page command, sticky at the bottom edge. --- */
|
|
2891
2815
|
.starci-core-pinned-action-bar {
|
|
2892
2816
|
position: sticky;
|
|
@@ -3071,6 +2995,7 @@
|
|
|
3071
2995
|
display: grid;
|
|
3072
2996
|
width: 100%;
|
|
3073
2997
|
gap: 0.25rem;
|
|
2998
|
+
background: transparent;
|
|
3074
2999
|
}
|
|
3075
3000
|
|
|
3076
3001
|
.starci-core-progress-step {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ReactNode } from "react";
|
|
2
2
|
import { type OverlayOpenState } from "../../overlayScope.js";
|
|
3
3
|
import { type IconSource } from "../../primitive/Icon/index.js";
|
|
4
|
-
export type DropdownMenuItemTone = "neutral" | "
|
|
4
|
+
export type DropdownMenuItemTone = "neutral" | "danger";
|
|
5
5
|
/** One command, destination or (inside a selectable section) checkable choice. */
|
|
6
6
|
export type DropdownMenuItem = {
|
|
7
7
|
readonly kind?: "item";
|
|
@@ -10,7 +10,7 @@ export type DropdownMenuItem = {
|
|
|
10
10
|
readonly description?: string;
|
|
11
11
|
/** Shortcut chord drawn with `Kbd`, e.g. `["command", "K"]`. Display only: the app binds the keys. */
|
|
12
12
|
readonly shortcut?: readonly string[];
|
|
13
|
-
/** `danger` marks a destructive command
|
|
13
|
+
/** `danger` marks a destructive command. */
|
|
14
14
|
readonly tone?: DropdownMenuItemTone;
|
|
15
15
|
readonly isDisabled?: boolean;
|
|
16
16
|
/** A destination: the item renders a real link. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/DropdownMenu/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAyC,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACpG,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAGrE,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/DropdownMenu/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAyC,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACpG,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAGrE,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,QAAQ,CAAA;AAEvD,kFAAkF;AAClF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,sGAAsG;IACtG,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACrC,4CAA4C;IAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAA;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,mDAAmD;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,0GAA0G;IAC1G,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAClD,GAAG,CACE;IACE,4GAA4G;IAC5G,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAA;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CACxB,GACC;IACE,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAA;IAC3B,oGAAoG;IACpG,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAC5B,CACJ,CAAA;AAED,8EAA8E;AAC9E,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAA;IACpC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,KAAK,IAAI,CAAA;CAC9D,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,qBAAqB,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,mBAAmB,CAAA;AAEtE,MAAM,MAAM,qBAAqB,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,CAAA;AAE3F,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG;IAC/C;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAA;IAC9C,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,SAAS,CAAC,EAAE,qBAAqB,CAAA;CAC7C,CAAA;AAeD;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,GAAI,yDAM1B,iBAAiB,gCAgInB,CAAA"}
|
|
@@ -35,9 +35,9 @@ export const DropdownMenu = ({ trigger, entries, onAction, placement = "bottom s
|
|
|
35
35
|
onAction?.(id);
|
|
36
36
|
};
|
|
37
37
|
const renderItem = (item, selectionMode) => {
|
|
38
|
-
const tone = item.tone
|
|
38
|
+
const tone = item.tone ?? "neutral";
|
|
39
39
|
const icon = item.iconSource !== undefined ? _jsx(Icon, { source: item.iconSource, usage: "leading" })
|
|
40
|
-
: item.mark === undefined || item.mark === null ? null : (_jsx("span", { "aria-hidden": "true", className: "starci-core-icon", "data-usage": "leading", "data-grammar-menu-mark": "true", children: item.mark }));
|
|
40
|
+
: item.mark === undefined || item.mark === null || item.mark === false || item.mark === "" ? null : (_jsx("span", { "aria-hidden": "true", className: "starci-core-icon", "data-usage": "leading", "data-grammar-menu-mark": "true", children: item.mark }));
|
|
41
41
|
const content = (_jsxs(_Fragment, { children: [selectionMode === undefined ? null : _jsx(HeroDropdown.ItemIndicator, {}), item.description === undefined ? icon : icon === null ? null : _jsx("div", { "data-grammar-menu-icon-slot": "true", children: icon }), item.description === undefined ? _jsx(HeroLabel, { children: item.label }) : (_jsxs("div", { "data-grammar-menu-copy": "true", children: [_jsx(HeroLabel, { children: item.label }), _jsx(HeroDescription, { children: item.description })] })), item.shortcut === undefined ? null : (_jsx(HeroKbd, { "data-grammar-menu-shortcut": "true", slot: "keyboard", variant: "light", children: kbdChordContent(item.shortcut) })), item.submenu === undefined ? null : _jsx(HeroDropdown.SubmenuIndicator, {})] }));
|
|
42
42
|
const itemElement = (_jsx(HeroDropdown.Item, { id: item.id, textValue: item.label, variant: tone === "danger" ? "danger" : "default", isDisabled: item.isDisabled ?? false, ...(item.href === undefined ? {} : { href: item.href }), "data-grammar-menu-item": "true", "data-contract": "FOCUS-1 CTA-2", "data-grammar-tone": tone, children: content }, item.id));
|
|
43
43
|
if (item.submenu === undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/DropdownMenu/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,IAAI,UAAU,EAAE,GAAG,IAAI,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,eAAe,CAAA;AAE9K,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAyB,MAAM,uBAAuB,CAAA;AACpG,OAAO,EAAE,IAAI,EAAmB,MAAM,+BAA+B,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAiE9D,MAAM,SAAS,GAAG,CAAC,KAAwB,EAAgC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAA;AAEtG,MAAM,YAAY,GAAG,CAAC,OAAqC,EAAE,OAAO,IAAI,GAAG,EAA4B,EAAE,EAAE;IACvG,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,SAAS,CAAC,KAAK,CAAC;YAAE,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;aAChD,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YACzB,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;gBAAE,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACtE,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAA;AACf,CAAC,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EACzB,OAAO,EACP,OAAO,EACP,QAAQ,EACR,SAAS,GAAG,cAAc,EAC1B,GAAG,SAAS,EACI,EAAE,EAAE;IACpB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAA;IACjE,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IACnC,MAAM,YAAY,GAAG,CAAC,GAAoB,EAAE,EAAE;QAC1C,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QACtB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAA;QAC3B,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAA;IAClB,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,CAAC,IAAsB,EAAE,aAA6C,EAAa,EAAE;QACpG,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/DropdownMenu/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/Rail/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAwB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/Rail/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAwB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC5D,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;IACnC,4GAA4G;IAC5G,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;CAC5C,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,OAAO,SAAS,gCA4EpC,CAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { createElement, useId } from "react";
|
|
4
|
-
import { SurfaceNesting } from "../../surfaceContext.js";
|
|
5
4
|
import { assertPresentationState, treatmentFor } from "../../state.js";
|
|
6
5
|
import { railBodyClassName, railClassName, railFooterClassName, railFrameClassName } from "./classNames.js";
|
|
7
6
|
export const Rail = (props) => {
|
|
@@ -33,7 +32,6 @@ export const Rail = (props) => {
|
|
|
33
32
|
"data-grammar-rail-height": height,
|
|
34
33
|
"data-grammar-motion": motion,
|
|
35
34
|
"data-grammar-rail": "true",
|
|
36
|
-
"data-grammar-nesting": "surface",
|
|
37
35
|
"data-component": "Rail",
|
|
38
36
|
"data-tier": "branch",
|
|
39
37
|
"data-grammar-rail-mode": mode,
|
|
@@ -42,7 +40,7 @@ export const Rail = (props) => {
|
|
|
42
40
|
"data-grammar-treatment": treatment.tone,
|
|
43
41
|
};
|
|
44
42
|
if (landmark === "content-navigation")
|
|
45
|
-
return _jsx(
|
|
46
|
-
return (_jsx(
|
|
43
|
+
return _jsx("div", { ...shared, children: frame });
|
|
44
|
+
return (_jsx("aside", { "aria-labelledby": headingId, ...shared, children: frame }));
|
|
47
45
|
};
|
|
48
46
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/Rail/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,aAAa,EAAE,KAAK,EAAkB,MAAM,OAAO,CAAA;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/Rail/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,8 +13,8 @@ export const ListOptions = ({ options }) => (_jsx(_Fragment, { children: options
|
|
|
13
13
|
/*
|
|
14
14
|
* Anatomy and look are HeroUI's own: `Select.Trigger` holding `Select.Value` and `Select.Indicator`, `Select.Popover` holding a
|
|
15
15
|
* `ListBox` of items. The Grammar class names (`starci-core-select`, `-select-trigger`, `-select-indicator`, `-list-popover`,
|
|
16
|
-
* `-list`) are stamps a consumer or family stylesheet selects
|
|
17
|
-
*
|
|
16
|
+
* `-list`) are stamps a consumer or family stylesheet selects. Grammar sets the trigger's shared 2.5rem field-height floor to match Input
|
|
17
|
+
* (owner 2026-10-25), and the larger touch-target floor on a coarse pointer.
|
|
18
18
|
*/
|
|
19
19
|
/**
|
|
20
20
|
* A single choice from a closed list, opened from a field-shaped trigger.
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
/** Identifies the joined disclosure-card outer shell. */
|
|
10
10
|
export declare const accordionCardClassName: string;
|
|
11
|
-
/** Selects bounded or
|
|
11
|
+
/** Selects bounded or unpainted disclosure surfaces. */
|
|
12
12
|
export declare const getAccordionShellClassName: (bounded: boolean) => import("tailwind-variants").CnReturn;
|
|
13
13
|
/** Keeps the HeroUI primitive full-width inside the Grammar-owned surface shell. */
|
|
14
14
|
export declare const accordionRootClassName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classNames.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/SurfaceAccordionCard/classNames.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAEH,yDAAyD;AACzD,eAAO,MAAM,sBAAsB,QAAmF,CAAA;AACtH,wDAAwD;AACxD,eAAO,MAAM,0BAA0B,GAAI,SAAS,OAAO,
|
|
1
|
+
{"version":3,"file":"classNames.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/SurfaceAccordionCard/classNames.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAEH,yDAAyD;AACzD,eAAO,MAAM,sBAAsB,QAAmF,CAAA;AACtH,wDAAwD;AACxD,eAAO,MAAM,0BAA0B,GAAI,SAAS,OAAO,yCAI1D,CAAA;AACD,oFAAoF;AACpF,eAAO,MAAM,sBAAsB,QAAmE,CAAA;AACtG,yFAAyF;AACzF,eAAO,MAAM,qBAAqB,QAAiE,CAAA;AACnG,kDAAkD;AAClD,eAAO,MAAM,yBAAyB,QAAyE,CAAA;AAC/G,iDAAiD;AACjD,eAAO,MAAM,yBAAyB,QAAyE,CAAA;AAC/G,4FAA4F;AAC5F,eAAO,MAAM,uBAAuB,QAAqE,CAAA;AACzG,uGAAuG;AACvG,eAAO,MAAM,sBAAsB,QAAmE,CAAA;AACtG,sDAAsD;AACtD,eAAO,MAAM,8BAA8B,QAAqF,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { cn } from "@heroui/react";
|
|
2
|
-
import {
|
|
2
|
+
import { surfaceClassName } from "../SurfaceCard/classNames.js";
|
|
3
3
|
/**
|
|
4
4
|
* Disclosure-card geometry is SHIPPED.
|
|
5
5
|
*
|
|
@@ -10,8 +10,8 @@ import { getSurfaceFrameClassName } from "../SurfaceCard/classNames.js";
|
|
|
10
10
|
*/
|
|
11
11
|
/** Identifies the joined disclosure-card outer shell. */
|
|
12
12
|
export const accordionCardClassName = cn("starci-core-surface-accordion-card") ?? "starci-core-surface-accordion-card";
|
|
13
|
-
/** Selects bounded or
|
|
14
|
-
export const getAccordionShellClassName = (bounded) => cn("starci-core-accordion-shell",
|
|
13
|
+
/** Selects bounded or unpainted disclosure surfaces. */
|
|
14
|
+
export const getAccordionShellClassName = (bounded) => cn("starci-core-accordion-shell", surfaceClassName, bounded ? undefined : "starci-core-frameless-surface");
|
|
15
15
|
/** Keeps the HeroUI primitive full-width inside the Grammar-owned surface shell. */
|
|
16
16
|
export const accordionRootClassName = cn("starci-core-accordion-root") ?? "starci-core-accordion-root";
|
|
17
17
|
/** Identifies one HeroUI-owned disclosure row; the primitive owns sibling separators. */
|
|
@@ -1 +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,
|
|
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,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAE/D;;;;;;;GAOG;AAEH,yDAAyD;AACzD,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC,oCAAoC,CAAC,IAAI,oCAAoC,CAAA;AACtH,wDAAwD;AACxD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,EAAE,CAC9D,6BAA6B,EAC7B,gBAAgB,EAChB,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,+BAA+B,CACxD,CAAA;AACD,oFAAoF;AACpF,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC,4BAA4B,CAAC,IAAI,4BAA4B,CAAA;AACtG,yFAAyF;AACzF,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC,2BAA2B,CAAC,IAAI,2BAA2B,CAAA;AACnG,kDAAkD;AAClD,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC,+BAA+B,CAAC,IAAI,+BAA+B,CAAA;AAC/G,iDAAiD;AACjD,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC,+BAA+B,CAAC,IAAI,+BAA+B,CAAA;AAC/G,4FAA4F;AAC5F,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC,6BAA6B,CAAC,IAAI,6BAA6B,CAAA;AACzG,uGAAuG;AACvG,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC,4BAA4B,CAAC,IAAI,4BAA4B,CAAA;AACtG,sDAAsD;AACtD,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC,qCAAqC,CAAC,IAAI,qCAAqC,CAAA"}
|
|
@@ -15,8 +15,8 @@ type SurfaceAccordionCardIdentityProps = {
|
|
|
15
15
|
readonly ariaLabel?: string;
|
|
16
16
|
};
|
|
17
17
|
type SurfaceAccordionCardCommonProps<Summary, Body> = SurfaceAccordionCardIdentityProps & {
|
|
18
|
-
/**
|
|
19
|
-
readonly
|
|
18
|
+
/** Bounded surfaces derive their depth from context; unpainted disclosures inherit the enclosing surface. */
|
|
19
|
+
readonly frame?: "bounded" | "unpainted";
|
|
20
20
|
/**
|
|
21
21
|
* Outline rank of the visible `label` (default 3). Pick the rank below the nearest heading
|
|
22
22
|
* above this surface so the page never skips a level.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/SurfaceAccordionCard/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,SAAS,EAAS,MAAM,OAAO,CAAA;AAGvD,OAAO,EAAwC,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAI/G,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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/SurfaceAccordionCard/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,SAAS,EAAS,MAAM,OAAO,CAAA;AAGvD,OAAO,EAAwC,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAI/G,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,6GAA6G;IAC7G,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,CAAA;IACxC;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAA;IAC3C,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;AAoHF,qGAAqG;AACrG,eAAO,MAAM,oBAAoB,GAAI,OAAO,EAAE,IAAI,EAAE,OAAO,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,gCAgC9F,CAAA"}
|
|
@@ -3,13 +3,14 @@ import { createElement as _createElement } from "react";
|
|
|
3
3
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
4
|
import { Accordion } from "@heroui/react";
|
|
5
5
|
import { useId } from "react";
|
|
6
|
-
import { SurfaceNesting } from "../../surfaceContext.js";
|
|
6
|
+
import { SurfaceNesting, useSurfaceNesting } from "../../surfaceContext.js";
|
|
7
7
|
import { VerticalScrollRegion } from "../../composite/VerticalScrollRegion/index.js";
|
|
8
8
|
import { DEFAULT_SURFACE_HEADING_LEVEL, Label } from "../../primitive/Label/index.js";
|
|
9
9
|
import { surfaceLabelClassName } from "../SurfaceCard/classNames.js";
|
|
10
10
|
import { accordionBodyClassName, accordionCardClassName, accordionHeadingClassName, accordionPanelClassName, accordionRootClassName, accordionRowClassName, accordionScrollRegionClassName, getAccordionShellClassName, accordionTriggerClassName } from "./classNames.js";
|
|
11
|
-
const SurfaceAccordionRows = ({ label, ariaLabel,
|
|
12
|
-
const bounded =
|
|
11
|
+
const SurfaceAccordionRows = ({ label, ariaLabel, frame = "bounded", headingLevel = DEFAULT_SURFACE_HEADING_LEVEL, items, renderSummary, renderBody, onItemOpenChange, isScrollable = false, }) => {
|
|
12
|
+
const bounded = frame === "bounded";
|
|
13
|
+
const depth = useSurfaceNesting() ? "nested" : "top";
|
|
13
14
|
const headingId = useId();
|
|
14
15
|
const accessibleName = ariaLabel ?? label;
|
|
15
16
|
const expandedKeys = new Set(items.filter((item) => item.isOpen).map((item) => item.id));
|
|
@@ -21,25 +22,25 @@ const SurfaceAccordionRows = ({ label, ariaLabel, depth, headingLevel = DEFAULT_
|
|
|
21
22
|
onItemOpenChange(item.id, nextOpen);
|
|
22
23
|
}
|
|
23
24
|
};
|
|
24
|
-
const content = (_jsxs("section", { className: accordionCardClassName, "data-grammar-surface-accordion-card": "true", "data-grammar-nesting": "surface", "data-component": "SurfaceAccordionCard", "data-tier": "branch", children: [label === undefined ? null : (_jsx("div", { className: surfaceLabelClassName, "data-contract": "GAP-2", "data-grammar-surface-label": "true", children: _jsx(Label, { as: `h${headingLevel}`, depth: depth
|
|
25
|
+
const content = (_jsxs("section", { className: accordionCardClassName, "data-grammar-surface-accordion-card": bounded ? "true" : undefined, "data-grammar-nesting": bounded ? "surface" : undefined, "data-component": "SurfaceAccordionCard", "data-tier": "branch", children: [label === undefined ? null : (_jsx("div", { className: surfaceLabelClassName, "data-contract": "GAP-2", "data-grammar-surface-label": "true", children: _jsx(Label, { as: `h${headingLevel}`, depth: depth, id: headingId, children: label }) })), _jsx("div", { "aria-label": label === undefined ? accessibleName : undefined, "aria-labelledby": label === undefined ? undefined : headingId, className: getAccordionShellClassName(bounded), "data-contract": [
|
|
25
26
|
bounded ? "SURFACE-2" : "SURFACE-1",
|
|
26
27
|
bounded ? "OVERFLOW-2" : "OVERFLOW-1 OVERFLOW-2",
|
|
27
|
-
depth === "nested" ? "BOUNDARY-5" :
|
|
28
|
-
].filter(Boolean).join(" "), "data-grammar-accordion-shell": "true", "data-grammar-frame":
|
|
28
|
+
bounded ? depth === "nested" ? "BOUNDARY-5" : "BOUNDARY-6" : undefined,
|
|
29
|
+
].filter(Boolean).join(" "), "data-grammar-accordion-shell": "true", "data-grammar-frame": frame, "data-grammar-scroll": isScrollable ? "contained" : "page", "data-grammar-surface": bounded ? "true" : undefined, "data-grammar-surface-depth": bounded ? depth : undefined, "data-surface-context": bounded ? depth === "nested" ? "nested" : "page" : undefined, children: _jsx(VerticalScrollRegion, { className: accordionScrollRegionClassName, isScrollable: isScrollable, ...(isScrollable ? (label === undefined ? (accessibleName === undefined ? {} : { "aria-label": accessibleName }) : { "aria-labelledby": headingId }) : {}), children: _jsx(Accordion.Root, { allowsMultipleExpanded: true, className: accordionRootClassName ?? "", expandedKeys: expandedKeys, onExpandedChange: onExpandedChange, children: items.map((item) => {
|
|
29
30
|
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 },
|
|
30
31
|
_jsx(Accordion.Heading, { className: accordionHeadingClassName ?? "", "data-contract": "MARGIN-0", children: _jsx(Accordion.Trigger, { className: accordionTriggerClassName ?? "", "data-contract": "PADDING-4", children: renderSummary(item.summaryRender) }) }),
|
|
31
32
|
_jsx(Accordion.Panel, { className: accordionPanelClassName ?? "", "data-contract": "PADDING-0", role: "region", children: _jsx(Accordion.Body, { children: _jsx("div", { className: accordionBodyClassName ?? "", "data-contract": "PADDING-0 PADDING-3 PADDING-4 PADDING-5 TONE-1", children: renderBody(item.bodyRender) }) }) })));
|
|
32
33
|
}) }) }) })] }));
|
|
33
|
-
return _jsx(SurfaceNesting, { children: content });
|
|
34
|
+
return bounded ? _jsx(SurfaceNesting, { children: content }) : content;
|
|
34
35
|
};
|
|
35
36
|
/** Draw one full-width joined disclosure surface whose reusable anatomy is owned by Core Grammar. */
|
|
36
37
|
export const SurfaceAccordionCard = (props) => props.items === undefined
|
|
37
|
-
? (_jsx(SurfaceAccordionRows, { ...(props.label === undefined ? {} : { label: props.label }), ...(props.ariaLabel === undefined ? {} : { ariaLabel: props.ariaLabel }), ...(props.
|
|
38
|
+
? (_jsx(SurfaceAccordionRows, { ...(props.label === undefined ? {} : { label: props.label }), ...(props.ariaLabel === undefined ? {} : { ariaLabel: props.ariaLabel }), ...(props.frame === undefined ? {} : { frame: props.frame }), ...(props.headingLevel === undefined ? {} : { headingLevel: props.headingLevel }), items: [{
|
|
38
39
|
id: "surface-accordion-item",
|
|
39
40
|
isOpen: props.isOpen,
|
|
40
41
|
...(props.isDisabled === undefined ? {} : { isDisabled: props.isDisabled }),
|
|
41
42
|
summaryRender: props.summaryRender,
|
|
42
43
|
bodyRender: props.bodyRender,
|
|
43
44
|
}], renderSummary: props.renderSummary, renderBody: props.renderBody, onItemOpenChange: (_id, isOpen) => props.onOpenChange(isOpen), ...(props.isScrollable === undefined ? {} : { isScrollable: props.isScrollable }) }))
|
|
44
|
-
: (_jsx(SurfaceAccordionRows, { ...(props.label === undefined ? {} : { label: props.label }), ...(props.ariaLabel === undefined ? {} : { ariaLabel: props.ariaLabel }), ...(props.
|
|
45
|
+
: (_jsx(SurfaceAccordionRows, { ...(props.label === undefined ? {} : { label: props.label }), ...(props.ariaLabel === undefined ? {} : { ariaLabel: props.ariaLabel }), ...(props.frame === undefined ? {} : { frame: props.frame }), ...(props.headingLevel === undefined ? {} : { headingLevel: props.headingLevel }), items: props.items, renderSummary: props.renderSummary, renderBody: props.renderBody, onItemOpenChange: props.onItemOpenChange, ...(props.isScrollable === undefined ? {} : { isScrollable: props.isScrollable }) }));
|
|
45
46
|
//# sourceMappingURL=index.js.map
|