@starci/grammar 0.9.14 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -8
- package/dist/.build-stamp.json +4 -4
- package/dist/common/components-forms.css +45 -0
- package/dist/common/components-navigation.css +185 -0
- package/dist/common/components-overlays.css +25 -92
- package/dist/common/registry.d.ts +8 -3
- package/dist/common/registry.d.ts.map +1 -1
- package/dist/common/renderers-forms.d.ts +2 -2
- package/dist/common/renderers-forms.d.ts.map +1 -1
- package/dist/common/renderers-forms.js.map +1 -1
- package/dist/common/renderers-navigation.d.ts +14 -4
- package/dist/common/renderers-navigation.d.ts.map +1 -1
- package/dist/common/renderers-navigation.js +12 -2
- package/dist/common/renderers-navigation.js.map +1 -1
- package/dist/core/branch/DataTable/index.d.ts +14 -2
- package/dist/core/branch/DataTable/index.d.ts.map +1 -1
- package/dist/core/branch/DataTable/index.js +47 -3
- package/dist/core/branch/DataTable/index.js.map +1 -1
- package/dist/core/branch/DragItem/index.d.ts +16 -0
- package/dist/core/branch/DragItem/index.d.ts.map +1 -0
- package/dist/core/branch/DragItem/index.js +5 -0
- package/dist/core/branch/DragItem/index.js.map +1 -0
- package/dist/core/branch/DropdownMenu/index.d.ts.map +1 -1
- package/dist/core/branch/DropdownMenu/index.js +8 -7
- package/dist/core/branch/DropdownMenu/index.js.map +1 -1
- package/dist/core/composite/AvatarButton/index.d.ts +20 -0
- package/dist/core/composite/AvatarButton/index.d.ts.map +1 -0
- package/dist/core/composite/AvatarButton/index.js +11 -0
- package/dist/core/composite/AvatarButton/index.js.map +1 -0
- package/dist/core/composite/IdentityLockup/index.d.ts +20 -0
- package/dist/core/composite/IdentityLockup/index.d.ts.map +1 -0
- package/dist/core/composite/IdentityLockup/index.js +11 -0
- package/dist/core/composite/IdentityLockup/index.js.map +1 -0
- package/dist/core/primitive/Avatar/index.d.ts +7 -1
- package/dist/core/primitive/Avatar/index.d.ts.map +1 -1
- package/dist/core/primitive/Avatar/index.js +1 -1
- package/dist/core/primitive/Avatar/index.js.map +1 -1
- package/dist/core/primitive/Button/index.d.ts +3 -0
- package/dist/core/primitive/Button/index.d.ts.map +1 -1
- package/dist/core/primitive/Button/index.js +1 -1
- package/dist/core/primitive/Button/index.js.map +1 -1
- package/dist/core/primitive/Field/index.d.ts +3 -1
- package/dist/core/primitive/Field/index.d.ts.map +1 -1
- package/dist/core/primitive/Field/index.js +2 -2
- package/dist/core/primitive/Field/index.js.map +1 -1
- package/dist/core/primitive/Kbd/index.d.ts +2 -0
- package/dist/core/primitive/Kbd/index.d.ts.map +1 -1
- package/dist/core/primitive/Kbd/index.js +5 -3
- package/dist/core/primitive/Kbd/index.js.map +1 -1
- package/dist/core/primitive/PlainPressable/index.d.ts +21 -0
- package/dist/core/primitive/PlainPressable/index.d.ts.map +1 -0
- package/dist/core/primitive/PlainPressable/index.js +16 -0
- package/dist/core/primitive/PlainPressable/index.js.map +1 -0
- package/dist/core/primitive/Switch/index.d.ts +12 -1
- package/dist/core/primitive/Switch/index.d.ts.map +1 -1
- package/dist/core/primitive/Switch/index.js +2 -1
- package/dist/core/primitive/Switch/index.js.map +1 -1
- package/dist/core/primitive/Video/index.d.ts +23 -0
- package/dist/core/primitive/Video/index.d.ts.map +1 -0
- package/dist/core/primitive/Video/index.js +5 -0
- package/dist/core/primitive/Video/index.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ states and scales, and the family registry. Core, Heritage and Offset Pop are si
|
|
|
6
6
|
Each one implements the same contract with its own scoped visual DNA. The package contains no
|
|
7
7
|
routes, domain entities, product decisions or feature-named shells.
|
|
8
8
|
|
|
9
|
-
Common
|
|
9
|
+
Common publishes its renderers through `COMMON_GRAMMAR_COMPONENTS`. Every family renders all of them. A family changes presentation
|
|
10
10
|
only: props, DOM, ARIA and keyboard behaviour stay the same.
|
|
11
11
|
|
|
12
12
|
## Install
|
|
@@ -140,9 +140,9 @@ Each group below matches a Storybook group. Run `npm run storybook`: every story
|
|
|
140
140
|
the family and theme chosen in the toolbar. It shows the default, disabled, invalid, pending and
|
|
141
141
|
selected/current states where they apply. Overlay stories open by default.
|
|
142
142
|
|
|
143
|
-
**Primitives (
|
|
144
|
-
IconButton, IconTile, Image, IncludedMark, Kbd, Label, LeadingNumber, Link, Meter,
|
|
145
|
-
ProgressCircle, RankArtwork, Skeleton, Spinner, StateMark, Text, TextAction.
|
|
143
|
+
**Primitives (26).** Avatar, Badge, Button, CloseButton, Divider, GrammarRoot, Heading, Icon,
|
|
144
|
+
IconButton, IconTile, Image, IncludedMark, Kbd, Label, LeadingNumber, Link, Meter, PlainPressable,
|
|
145
|
+
Progress, ProgressCircle, RankArtwork, Skeleton, Spinner, StateMark, Text, TextAction.
|
|
146
146
|
|
|
147
147
|
**Forms (24).** ButtonGroup, Checkbox, CheckboxGroup, ComboBox, DateField, DatePicker,
|
|
148
148
|
DateRangePicker, Field, Fieldset, FileDropzone, Form, Input, NumberField, OtpInput,
|
|
@@ -158,6 +158,47 @@ Tooltip. Dialog, AlertDialog, Drawer, Popover and DropdownMenu are controlled th
|
|
|
158
158
|
**Navigation & Data (14).** Accordion, AvatarGroup, Breadcrumbs, Calendar, DataTable,
|
|
159
159
|
DescriptionList, Disclosure, ListBox, Pagination, Stepper, Subnav, Tabs, TagGroup, Timeline.
|
|
160
160
|
|
|
161
|
+
`DataTable.getCellInteraction(row, columnId)` optionally supplies `onAction`, `onDragOver`,
|
|
162
|
+
`onDragLeave`, `onDrop`, `isHighlighted` and `tone` (`neutral` or `muted`). Cells remain semantic
|
|
163
|
+
table cells under the existing arrow-key navigation. An actionable cell takes focus itself,
|
|
164
|
+
activates once with Enter/Space or a click on its plain content, and leaves nested controls to
|
|
165
|
+
their own actions. Native drag callbacks receive the actual inner content-frame event (`HTMLDivElement`); the caller owns
|
|
166
|
+
payload validation, accepted targets and effects. Highlighting takes precedence over muted tone.
|
|
167
|
+
|
|
168
|
+
`DragItem` is a native drag-source frame with `isDisabled`, `onDragStart`, `onDragEnd`,
|
|
169
|
+
`isSelected`, `isInvalid`, `isDashed` and an optional caller-owned `leadingColor`. Its `children`
|
|
170
|
+
must include a published control providing the operation without dragging, including selection
|
|
171
|
+
and a keyboard-reachable destination when used with cell actions. Selection, invalidity and the
|
|
172
|
+
category must also be expressed in accessible content. The frame itself adds no focus stop.
|
|
173
|
+
|
|
174
|
+
Command `Button` accepts controlled boolean `aria-pressed` for a toggle action and forwards both
|
|
175
|
+
`true` and `false` to its native button. Omit it for an ordinary command and keep a toggle's visible
|
|
176
|
+
label stable as its state changes, following the [ARIA button pattern](https://www.w3.org/WAI/ARIA/apg/patterns/button/).
|
|
177
|
+
|
|
178
|
+
`Video` takes `src`, accessible `title`, optional `poster`, and an optional nullable `captions` descriptor
|
|
179
|
+
(`src`, human-readable `label`, optional BCP 47 `srcLang` when the actual language is known). It keeps
|
|
180
|
+
native controls, inline playback and metadata preloading, with one default captions track when supplied.
|
|
181
|
+
Supply a genuine WebVTT resource timed to
|
|
182
|
+
the rendered media, including relevant non-speech audio; empty tracks and guessed timing do not
|
|
183
|
+
satisfy this contract. Null or omission exposes no track and does not claim accessible caption coverage;
|
|
184
|
+
the caller owns caption creation, availability and an appropriate alternative for legacy media. Wrap it in `MediaFrame`
|
|
185
|
+
to reserve an aspect ratio. The track URL must be same-origin unless the caller supplies
|
|
186
|
+
`crossOrigin` (`anonymous` or `use-credentials`) and both resource servers support the corresponding
|
|
187
|
+
CORS request; the renderer leaves this unset by default to preserve ordinary media loading.
|
|
188
|
+
The [HTML media and track standard](https://html.spec.whatwg.org/multipage/media.html#the-track-element)
|
|
189
|
+
defines the native loading and caption behaviour (reviewed 2026-10-18).
|
|
190
|
+
|
|
191
|
+
`Switch` takes `size="md" | "lg"` (`lg` is the StarCi 4rem by 2.25rem pill with a 1.75rem round thumb) and
|
|
192
|
+
`thumbIcon` / `selectedThumbIcon` for a glyph inside the thumb, so a sun/moon theme switch is
|
|
193
|
+
`<Switch size="lg" label="Dark mode" thumbIcon={Sun} selectedThumbIcon={Moon} />`.
|
|
194
|
+
|
|
195
|
+
`PlainPressable` is a pressable that does not look like a button: no padding, background, border or
|
|
196
|
+
shape in any state, no hover effect, a zoom-out on press, a focus ring, and no zoom under
|
|
197
|
+
`prefers-reduced-motion`. `AvatarButton` is a circle-only avatar built on it (an account-menu
|
|
198
|
+
trigger) and `IdentityLockup` a mark beside a title and a muted subtitle with no caret (a workspace
|
|
199
|
+
switcher trigger). All three work as the `trigger` of `DropdownMenu` and `Popover`. `IdentityLockup`'s mark is a transparent, uncropped square by default (`markShape="rounded"` opts in to a
|
|
200
|
+
corner) and `Avatar` takes `shape="square" | "rounded"`.
|
|
201
|
+
|
|
161
202
|
**Surfaces (14).** EmptyNotice, FencedCodeBlock, HorizontalScrollRegion, MarkdownArticle,
|
|
162
203
|
MarkdownTableFrame, MediaFrame, Rail, SectionHeader, StaticStateRow, SurfaceAccordionCard,
|
|
163
204
|
SurfaceCard, SurfaceCopyGroup, SurfaceListCard, VerticalScrollRegion.
|
|
@@ -167,7 +208,7 @@ PrimaryRailLayout, Sidebar, TopBar, WorkspaceShell. Storybook also pins three pa
|
|
|
167
208
|
each family: a settings form, a data list with a filter drawer and pagination, and a mobile home
|
|
168
209
|
with TopBar, BottomNav and a Toast.
|
|
169
210
|
|
|
170
|
-
`COMMON_GRAMMAR_COMPONENTS` is the frozen registry of
|
|
211
|
+
`COMMON_GRAMMAR_COMPONENTS` is the frozen registry of the published renderers.
|
|
171
212
|
`COMMON_FORMS_COMPONENTS`, `COMMON_OVERLAYS_COMPONENTS` and `COMMON_NAVIGATION_COMPONENTS` are the
|
|
172
213
|
0.5.0 groups. `defineGrammarFamily` builds a new family over the registry. It may replace
|
|
173
214
|
renderers with prop-compatible versions and add extensions whose names don't collide with Common's.
|
|
@@ -213,9 +254,8 @@ renderers with prop-compatible versions and add extensions whose names don't col
|
|
|
213
254
|
|
|
214
255
|
```sh
|
|
215
256
|
npm run typecheck
|
|
216
|
-
npm test #
|
|
217
|
-
npm run build-storybook # static Storybook
|
|
218
|
-
npx vitest run --project storybook # stories in Chromium with axe (a11y `todo` mode)
|
|
257
|
+
npm test # typecheck + build; the package has no spec suites
|
|
258
|
+
npm run build-storybook # static Storybook for the authored component and family stories
|
|
219
259
|
npm pack --dry-run
|
|
220
260
|
```
|
|
221
261
|
|
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.
|
|
4
|
+
"version": "0.11.0",
|
|
5
5
|
"algorithm": "starci/grammar-source-digest@1",
|
|
6
|
-
"sourceDigest": "sha256:
|
|
7
|
-
"distDigest": "sha256:
|
|
8
|
-
"builtAt": "2026-10-
|
|
6
|
+
"sourceDigest": "sha256:9cb2cc563d7e0a1acdcc56a70dbc7c9944be34777c34cb8c6fcb1b5a247aba66",
|
|
7
|
+
"distDigest": "sha256:5a334f07de9b640740b93c311007b8bdcaec035154a457f2cd3721e4386ed919",
|
|
8
|
+
"builtAt": "2026-10-25T07:24:32.396Z"
|
|
9
9
|
}
|
|
@@ -160,6 +160,7 @@
|
|
|
160
160
|
.starci-core-field-skeleton-control[data-grammar-field-skeleton="choice"] > .starci-core-skeleton { border-radius: 0.25rem; }
|
|
161
161
|
.starci-core-field-skeleton-control[data-grammar-field-skeleton="switch"] { flex: none; block-size: 1.25rem; inline-size: 2rem; }
|
|
162
162
|
.starci-core-field-skeleton-control[data-grammar-field-skeleton="switch"] > .starci-core-skeleton { border-radius: 999px; }
|
|
163
|
+
.starci-core-field-skeleton-control[data-grammar-field-skeleton="switch"][data-grammar-switch-size="lg"] { block-size: 2.25rem; inline-size: 4rem; }
|
|
163
164
|
|
|
164
165
|
.starci-core-field-skeleton-choice-label {
|
|
165
166
|
color: var(--foreground, CanvasText);
|
|
@@ -354,6 +355,50 @@
|
|
|
354
355
|
gap: 0.75rem 1rem;
|
|
355
356
|
}
|
|
356
357
|
|
|
358
|
+
/*
|
|
359
|
+
* --- Switch size "lg": the StarCi look ---
|
|
360
|
+
* A 4rem by 2.25rem fully round track, a 1.75rem round thumb inset 0.25rem, an optional glyph centred in the thumb.
|
|
361
|
+
* Keyed on the stamps the component emits (`data-grammar-switch-size`, `data-grammar-switch-thumb`, `data-grammar-switch-icon`),
|
|
362
|
+
* never on vendor class names. The geometry is `!important` because consumers import this sheet on either side of
|
|
363
|
+
* `@heroui/styles`, so layer rank cannot decide against the vendor `.switch--*` size rules. The on position is a margin
|
|
364
|
+
* (as HeroUI's own thumb), the percentage resolving against the track: 100% - thumb - inset.
|
|
365
|
+
*/
|
|
366
|
+
[data-component="Switch"][data-grammar-switch-size="lg"] [data-grammar-choice-control="switch"] {
|
|
367
|
+
block-size: 2.25rem !important;
|
|
368
|
+
inline-size: 4rem !important;
|
|
369
|
+
border-radius: 9999px !important;
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
[data-component="Switch"][data-grammar-switch-size="lg"] [data-grammar-switch-thumb] {
|
|
373
|
+
block-size: 1.75rem !important;
|
|
374
|
+
inline-size: 1.75rem !important;
|
|
375
|
+
border-radius: 9999px !important;
|
|
376
|
+
margin-inline-start: 0.25rem !important;
|
|
377
|
+
align-items: center;
|
|
378
|
+
justify-content: center;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
[data-component="Switch"][data-grammar-switch-size="lg"]:is([data-selected="true"], [aria-checked="true"]) [data-grammar-switch-thumb] {
|
|
382
|
+
margin-inline-start: calc(100% - 1.75rem - 0.25rem) !important;
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
/* The description and error align under the label, past the wider track. */
|
|
386
|
+
[data-component="Switch"][data-grammar-switch-size="lg"] > [data-slot="description"],
|
|
387
|
+
[data-component="Switch"][data-grammar-switch-size="lg"] > [data-slot="field-error"] {
|
|
388
|
+
padding-inline-start: calc(4rem + 0.75rem);
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
.starci-core-switch-icon {
|
|
392
|
+
display: inline-flex;
|
|
393
|
+
align-items: center;
|
|
394
|
+
justify-content: center;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
/* A swapping pair shows the glyph of the current state only; a single glyph always shows. */
|
|
398
|
+
[data-component="Switch"][data-grammar-switch-icons="swap"] [data-grammar-switch-icon="on"] { display: none; }
|
|
399
|
+
[data-component="Switch"][data-grammar-switch-icons="swap"]:is([data-selected="true"], [aria-checked="true"]) [data-grammar-switch-icon="on"] { display: inline-flex; }
|
|
400
|
+
[data-component="Switch"][data-grammar-switch-icons="swap"]:is([data-selected="true"], [aria-checked="true"]) [data-grammar-switch-icon="off"] { display: none; }
|
|
401
|
+
|
|
357
402
|
/* --- Slider --- */
|
|
358
403
|
.starci-core-slider {
|
|
359
404
|
width: 100%;
|
|
@@ -659,6 +659,136 @@
|
|
|
659
659
|
box-shadow: 0 0 0 2px var(--background, Canvas), 0 0 0 4px var(--accent, Highlight);
|
|
660
660
|
}
|
|
661
661
|
|
|
662
|
+
/*
|
|
663
|
+
* A square brand mark (Avatar shape="square"): a transparent box with no corner and no clipping; the image is contained, so a round,
|
|
664
|
+
* square or wide logo shows whole in its own shape. The monogram fallback keeps its tint (see the lockup) so initials stay legible.
|
|
665
|
+
*/
|
|
666
|
+
.starci-core-avatar[data-grammar-avatar-shape="square"] {
|
|
667
|
+
overflow: visible !important;
|
|
668
|
+
border-radius: 0 !important;
|
|
669
|
+
background: transparent !important;
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
.starci-core-avatar[data-grammar-avatar-shape="square"] > * {
|
|
673
|
+
border-radius: 0 !important;
|
|
674
|
+
background-color: transparent;
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
.starci-core-avatar[data-grammar-avatar-shape="square"] img {
|
|
678
|
+
inline-size: 100% !important;
|
|
679
|
+
block-size: 100% !important;
|
|
680
|
+
object-fit: contain !important;
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
/* A rounded brand or workspace mark (Avatar shape="rounded", an explicit opt-in): the image and the initials share the corner. */
|
|
684
|
+
.starci-core-avatar[data-grammar-avatar-shape="rounded"] {
|
|
685
|
+
border-radius: 0.75rem !important;
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
.starci-core-avatar[data-grammar-avatar-shape="rounded"] > * {
|
|
689
|
+
border-radius: inherit !important;
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
/*
|
|
693
|
+
* --- PlainPressable: a pressable that does not look like a button ---
|
|
694
|
+
* No padding, background, border or button shape in any state; NO hover effect; the only feedback is a zoom-out on
|
|
695
|
+
* press, on the canon motion tokens; a keyboard focus ring; reduced motion removes the zoom and the transition, never
|
|
696
|
+
* the control. The vendor button's size, padding, corner and colour tokens are reset with `!important` because
|
|
697
|
+
* consumers import this sheet on either side of `@heroui/styles`, so layer rank cannot decide against `.button`.
|
|
698
|
+
*/
|
|
699
|
+
[data-component="PlainPressable"] {
|
|
700
|
+
block-size: auto !important;
|
|
701
|
+
min-block-size: 0 !important;
|
|
702
|
+
inline-size: auto !important;
|
|
703
|
+
padding: 0 !important;
|
|
704
|
+
gap: 0 !important;
|
|
705
|
+
border: 0 !important;
|
|
706
|
+
border-radius: 0.75rem !important;
|
|
707
|
+
box-shadow: none !important;
|
|
708
|
+
background: transparent !important;
|
|
709
|
+
--button-bg: transparent;
|
|
710
|
+
--button-bg-hover: transparent;
|
|
711
|
+
--button-bg-pressed: transparent;
|
|
712
|
+
color: inherit !important;
|
|
713
|
+
font: inherit;
|
|
714
|
+
text-align: start;
|
|
715
|
+
transform: none;
|
|
716
|
+
transition: transform var(--starci-core-motion-duration, 180ms) var(--starci-core-motion-easing, cubic-bezier(0.2, 0, 0, 1)) !important;
|
|
717
|
+
}
|
|
718
|
+
|
|
719
|
+
[data-component="PlainPressable"][data-grammar-pressable-shape="circle"] {
|
|
720
|
+
border-radius: 9999px !important;
|
|
721
|
+
}
|
|
722
|
+
|
|
723
|
+
[data-component="PlainPressable"]:is(:hover, [data-hovered="true"]) {
|
|
724
|
+
background: transparent !important;
|
|
725
|
+
transform: none;
|
|
726
|
+
}
|
|
727
|
+
|
|
728
|
+
[data-component="PlainPressable"]:is(:active, [data-pressed="true"]):not(:disabled, [data-disabled="true"]) {
|
|
729
|
+
background: transparent !important;
|
|
730
|
+
transform: scale(0.96) !important;
|
|
731
|
+
}
|
|
732
|
+
|
|
733
|
+
[data-component="PlainPressable"]:is(:focus-visible, [data-focus-visible="true"]) {
|
|
734
|
+
outline: 2px solid var(--focus, var(--starci-core-focus, Highlight)) !important;
|
|
735
|
+
outline-offset: 2px;
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
[data-component="PlainPressable"]:is(:disabled, [data-disabled="true"]) {
|
|
739
|
+
opacity: 0.5;
|
|
740
|
+
cursor: default;
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
@media (prefers-reduced-motion: reduce) {
|
|
744
|
+
[data-component="PlainPressable"],
|
|
745
|
+
[data-component="PlainPressable"]:is(:active, [data-pressed="true"]):not(:disabled, [data-disabled="true"]) {
|
|
746
|
+
transform: none !important;
|
|
747
|
+
transition: none !important;
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
|
|
751
|
+
/* --- IdentityLockup: a mark beside two text lines, inside a PlainPressable --- */
|
|
752
|
+
.starci-core-identity-lockup {
|
|
753
|
+
display: inline-flex;
|
|
754
|
+
min-width: 0;
|
|
755
|
+
align-items: center;
|
|
756
|
+
gap: var(--grammar-row-gap, 0.75rem);
|
|
757
|
+
text-align: start;
|
|
758
|
+
}
|
|
759
|
+
|
|
760
|
+
.starci-core-identity-lockup-copy {
|
|
761
|
+
display: flex;
|
|
762
|
+
min-width: 0;
|
|
763
|
+
flex-direction: column;
|
|
764
|
+
}
|
|
765
|
+
|
|
766
|
+
.starci-core-identity-lockup-title {
|
|
767
|
+
overflow: hidden;
|
|
768
|
+
color: var(--foreground, CanvasText);
|
|
769
|
+
font-size: 0.875rem;
|
|
770
|
+
font-weight: 600;
|
|
771
|
+
line-height: 1.25rem;
|
|
772
|
+
text-overflow: ellipsis;
|
|
773
|
+
white-space: nowrap;
|
|
774
|
+
}
|
|
775
|
+
|
|
776
|
+
.starci-core-identity-lockup-subtitle {
|
|
777
|
+
overflow: hidden;
|
|
778
|
+
color: var(--muted, GrayText);
|
|
779
|
+
font-size: 0.75rem;
|
|
780
|
+
line-height: 1rem;
|
|
781
|
+
text-overflow: ellipsis;
|
|
782
|
+
white-space: nowrap;
|
|
783
|
+
}
|
|
784
|
+
|
|
785
|
+
/* A monogram sits on an accent tint. */
|
|
786
|
+
.starci-core-identity-lockup [data-grammar-avatar-fallback] {
|
|
787
|
+
background-color: var(--accent-soft, Canvas) !important;
|
|
788
|
+
color: var(--accent-soft-foreground, CanvasText);
|
|
789
|
+
font-weight: 600;
|
|
790
|
+
}
|
|
791
|
+
|
|
662
792
|
.starci-core-avatar-group {
|
|
663
793
|
min-width: 0;
|
|
664
794
|
max-width: 100%;
|
|
@@ -769,6 +899,14 @@
|
|
|
769
899
|
}
|
|
770
900
|
|
|
771
901
|
/* ---------- DataTable ---------- */
|
|
902
|
+
.starci-core-video {
|
|
903
|
+
display: block;
|
|
904
|
+
width: 100%;
|
|
905
|
+
max-width: 100%;
|
|
906
|
+
height: auto;
|
|
907
|
+
object-fit: contain;
|
|
908
|
+
}
|
|
909
|
+
|
|
772
910
|
.starci-core-data-table {
|
|
773
911
|
min-width: 0;
|
|
774
912
|
max-width: 100%;
|
|
@@ -841,6 +979,53 @@
|
|
|
841
979
|
text-align: center;
|
|
842
980
|
}
|
|
843
981
|
|
|
982
|
+
.starci-core-data-table-cell[data-grammar-cell-tone="muted"] {
|
|
983
|
+
background: var(--surface-secondary, Canvas);
|
|
984
|
+
}
|
|
985
|
+
|
|
986
|
+
.starci-core-data-table-cell[data-grammar-cell-highlighted="true"] {
|
|
987
|
+
background: var(--accent-soft, Highlight);
|
|
988
|
+
}
|
|
989
|
+
|
|
990
|
+
.starci-core-data-table-cell[data-grammar-cell-interaction="true"] {
|
|
991
|
+
height: 1px;
|
|
992
|
+
padding: 0;
|
|
993
|
+
}
|
|
994
|
+
|
|
995
|
+
.starci-core-data-table-cell-content {
|
|
996
|
+
box-sizing: border-box;
|
|
997
|
+
height: 100%;
|
|
998
|
+
padding: 0.75rem;
|
|
999
|
+
}
|
|
1000
|
+
|
|
1001
|
+
.starci-core-drag-item {
|
|
1002
|
+
display: flex;
|
|
1003
|
+
min-width: 0;
|
|
1004
|
+
width: 100%;
|
|
1005
|
+
flex-direction: column;
|
|
1006
|
+
gap: 0.25rem;
|
|
1007
|
+
border: 1px solid var(--separator, GrayText);
|
|
1008
|
+
border-inline-start: 4px solid var(--starci-drag-item-leading, var(--separator, GrayText));
|
|
1009
|
+
border-radius: var(--radius, 0.5rem);
|
|
1010
|
+
background: var(--surface, Canvas);
|
|
1011
|
+
padding: 0.25rem 0.5rem;
|
|
1012
|
+
}
|
|
1013
|
+
|
|
1014
|
+
.starci-core-drag-item[data-grammar-selected="true"] {
|
|
1015
|
+
outline: 2px solid var(--accent, Highlight);
|
|
1016
|
+
outline-offset: 1px;
|
|
1017
|
+
}
|
|
1018
|
+
|
|
1019
|
+
.starci-core-drag-item[data-grammar-invalid="true"] {
|
|
1020
|
+
border-color: var(--danger, Mark);
|
|
1021
|
+
border-inline-start-color: var(--starci-drag-item-leading, var(--danger, Mark));
|
|
1022
|
+
background: var(--danger-soft, Canvas);
|
|
1023
|
+
}
|
|
1024
|
+
|
|
1025
|
+
.starci-core-drag-item[data-grammar-dashed="true"] {
|
|
1026
|
+
border-style: dashed;
|
|
1027
|
+
}
|
|
1028
|
+
|
|
844
1029
|
/* ---------- DescriptionList ---------- */
|
|
845
1030
|
.starci-core-description-list {
|
|
846
1031
|
display: flex;
|
|
@@ -345,8 +345,7 @@
|
|
|
345
345
|
}
|
|
346
346
|
|
|
347
347
|
/* ---------------------------------------------------------------- popover */
|
|
348
|
-
.starci-core-popover
|
|
349
|
-
.starci-core-menu-popover {
|
|
348
|
+
.starci-core-popover {
|
|
350
349
|
max-width: min(20rem, calc(100vw - 2rem));
|
|
351
350
|
overflow: auto;
|
|
352
351
|
border-radius: var(--starci-core-control-radius, 0.75rem);
|
|
@@ -356,8 +355,7 @@
|
|
|
356
355
|
outline: none;
|
|
357
356
|
}
|
|
358
357
|
|
|
359
|
-
.starci-core-popover[data-entering]
|
|
360
|
-
.starci-core-menu-popover[data-entering] {
|
|
358
|
+
.starci-core-popover[data-entering] {
|
|
361
359
|
animation: starci-core-overlay-fade var(--starci-core-motion-duration, 180ms) var(--starci-core-motion-easing, cubic-bezier(0.2, 0, 0, 1));
|
|
362
360
|
}
|
|
363
361
|
|
|
@@ -391,105 +389,41 @@
|
|
|
391
389
|
}
|
|
392
390
|
|
|
393
391
|
/* ---------------------------------------------------------------- dropdown menu */
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
display: flex;
|
|
407
|
-
flex-direction: column;
|
|
408
|
-
}
|
|
409
|
-
|
|
410
|
-
:is(.starci-core-menu-section, .starci-core-menu-item) + .starci-core-menu-section,
|
|
411
|
-
.starci-core-menu-section + .starci-core-menu-item {
|
|
412
|
-
margin-block-start: 0.25rem;
|
|
413
|
-
padding-block-start: 0.25rem;
|
|
414
|
-
border-block-start: 1px solid var(--separator, GrayText);
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
.starci-core-menu-section-label {
|
|
418
|
-
padding: 0.375rem 0.75rem 0.25rem;
|
|
392
|
+
/*
|
|
393
|
+
* DropdownMenu renders HeroUI's own Dropdown anatomy and default look: popover, menu, section header, item, label, description,
|
|
394
|
+
* keyboard slot and item indicator are all the vendor's (`.dropdown__*`, `.menu-item*`). Grammar adds only what the vendor look does
|
|
395
|
+
* not cover, each keyed on a stamp:
|
|
396
|
+
* - the icon colour. The vendor example colours the glyph with Tailwind utilities (`text-muted`, `text-danger`) that a consumer
|
|
397
|
+
* build which does not scan this package never generates, so the same two colours are stamped here.
|
|
398
|
+
* - the two layout wrappers of the description layout (icon aligned to the first line, label and description stacked), which the
|
|
399
|
+
* vendor example also builds from utilities.
|
|
400
|
+
* - the keyboard slot's inline-end push (the example's `ms-auto`).
|
|
401
|
+
*/
|
|
402
|
+
[data-grammar-menu-item] .starci-core-icon {
|
|
403
|
+
flex: none;
|
|
419
404
|
color: var(--muted, GrayText);
|
|
420
|
-
font-size: 0.75rem;
|
|
421
|
-
font-weight: 600;
|
|
422
|
-
letter-spacing: 0.02em;
|
|
423
|
-
}
|
|
424
|
-
|
|
425
|
-
.starci-core-menu-item {
|
|
426
|
-
display: flex;
|
|
427
|
-
min-width: 0;
|
|
428
|
-
min-block-size: var(--starci-core-control-min-size, 2.75rem);
|
|
429
|
-
align-items: center;
|
|
430
|
-
gap: var(--grammar-inline-gap, 0.5rem);
|
|
431
|
-
padding: 0.5rem 0.75rem;
|
|
432
|
-
border-radius: calc(var(--starci-core-control-radius, 0.75rem) - 0.25rem);
|
|
433
|
-
color: var(--surface-foreground, CanvasText);
|
|
434
|
-
cursor: pointer;
|
|
435
|
-
font-size: 0.875rem;
|
|
436
|
-
outline: none;
|
|
437
|
-
text-decoration: none;
|
|
438
|
-
}
|
|
439
|
-
|
|
440
|
-
.starci-core-menu-item:is([data-focused], [data-hovered], [data-open]) {
|
|
441
|
-
background: var(--surface-secondary, Canvas);
|
|
442
405
|
}
|
|
443
406
|
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
outline-offset: -2px;
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
.starci-core-menu-item[data-disabled] {
|
|
450
|
-
cursor: not-allowed;
|
|
451
|
-
opacity: 0.5;
|
|
407
|
+
[data-grammar-menu-item][data-grammar-tone="negative"] .starci-core-icon {
|
|
408
|
+
color: var(--danger, CanvasText);
|
|
452
409
|
}
|
|
453
410
|
|
|
454
|
-
|
|
455
|
-
|
|
411
|
+
[data-grammar-menu-icon-slot] {
|
|
412
|
+
display: flex;
|
|
413
|
+
block-size: 2rem;
|
|
414
|
+
align-items: flex-start;
|
|
415
|
+
justify-content: center;
|
|
416
|
+
padding-block-start: 1px;
|
|
456
417
|
}
|
|
457
418
|
|
|
458
|
-
|
|
419
|
+
[data-grammar-menu-copy] {
|
|
459
420
|
display: flex;
|
|
460
421
|
min-width: 0;
|
|
461
|
-
flex: 1;
|
|
462
422
|
flex-direction: column;
|
|
463
423
|
}
|
|
464
424
|
|
|
465
|
-
|
|
466
|
-
overflow: hidden;
|
|
467
|
-
text-overflow: ellipsis;
|
|
468
|
-
white-space: nowrap;
|
|
469
|
-
}
|
|
470
|
-
|
|
471
|
-
.starci-core-menu-item-description {
|
|
472
|
-
color: var(--muted, GrayText);
|
|
473
|
-
font-size: 0.75rem;
|
|
474
|
-
}
|
|
475
|
-
|
|
476
|
-
.starci-core-menu-item-shortcut {
|
|
477
|
-
flex: none;
|
|
425
|
+
[data-grammar-menu-shortcut] {
|
|
478
426
|
margin-inline-start: auto;
|
|
479
|
-
color: var(--muted, GrayText);
|
|
480
|
-
}
|
|
481
|
-
|
|
482
|
-
.starci-core-menu-indicator {
|
|
483
|
-
display: inline-flex;
|
|
484
|
-
flex: none;
|
|
485
|
-
width: 1rem;
|
|
486
|
-
color: var(--accent, Highlight);
|
|
487
|
-
}
|
|
488
|
-
|
|
489
|
-
.starci-core-menu-submenu-indicator {
|
|
490
|
-
display: inline-flex;
|
|
491
|
-
flex: none;
|
|
492
|
-
color: var(--muted, GrayText);
|
|
493
427
|
}
|
|
494
428
|
|
|
495
429
|
/* ---------------------------------------------------------------- toaster + toast */
|
|
@@ -969,7 +903,6 @@
|
|
|
969
903
|
.starci-core-dialog-container,
|
|
970
904
|
.starci-core-drawer-content,
|
|
971
905
|
.starci-core-popover,
|
|
972
|
-
.starci-core-menu-popover,
|
|
973
906
|
.starci-core-toast,
|
|
974
907
|
.starci-core-skeleton,
|
|
975
908
|
.starci-core-skeleton::before,
|
|
@@ -997,7 +930,7 @@
|
|
|
997
930
|
border: 1px solid CanvasText;
|
|
998
931
|
}
|
|
999
932
|
|
|
1000
|
-
|
|
933
|
+
[data-grammar-menu-item]:is([data-focused], [data-hovered]) {
|
|
1001
934
|
forced-color-adjust: none;
|
|
1002
935
|
background: Highlight;
|
|
1003
936
|
color: HighlightText;
|
|
@@ -9,25 +9,30 @@ type ExtensionWithoutCommonCollisions<Common extends GrammarRendererRegistry, Ex
|
|
|
9
9
|
};
|
|
10
10
|
export declare const COMMON_GRAMMAR_COMPONENTS: Readonly<{
|
|
11
11
|
readonly Accordion: ({ label, items, expandedIds, defaultExpandedIds, onExpandedChange, allowsMultipleExpanded, headingLevel, className, }: import("./renderers-navigation.js").AccordionProps) => import("react").JSX.Element;
|
|
12
|
-
readonly Avatar: ({ name, src, fallback, size, isDecorative, isCurrent, className, isSkeleton }: import("./renderers-navigation.js").AvatarProps) => import("react").JSX.Element;
|
|
12
|
+
readonly Avatar: ({ name, src, fallback, size, shape, isDecorative, isCurrent, className, isSkeleton }: import("./renderers-navigation.js").AvatarProps) => import("react").JSX.Element;
|
|
13
|
+
readonly AvatarButton: ({ name, src, fallback, size, onPress, isDisabled }: import("./renderers-navigation.js").AvatarButtonProps) => import("react").JSX.Element;
|
|
13
14
|
readonly AvatarGroup: ({ label, items, max, size, overflowLabel, className }: import("./renderers-navigation.js").AvatarGroupProps) => import("react").JSX.Element;
|
|
14
15
|
readonly BottomNav: ({ label, items, currentId, onSelect, position, visibility, className }: import("./renderers-navigation.js").BottomNavProps) => import("react").JSX.Element;
|
|
15
16
|
readonly Breadcrumbs: ({ label, items, separator, onAction, className }: import("./renderers-navigation.js").BreadcrumbsProps) => import("react").JSX.Element;
|
|
16
17
|
readonly Calendar: ({ label, value, defaultValue, onChange, minValue, maxValue, isDateUnavailable, isDisabled, isReadOnly, previousLabel, nextLabel, className, }: import("./renderers-navigation.js").CalendarProps) => import("react").JSX.Element;
|
|
17
|
-
readonly DataTable: <Row extends import("./renderers-navigation.js").DataTableRow>({ label, columns, rows, renderCell, sort, onSortChange, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, selectAllLabel, selectRowLabel, isLoading, loadingContent, loadingRows, emptyContent, stickyHeader, maxBlockSize, onRowAction, className, }: import("./renderers-navigation.js").DataTableProps<Row>) => import("react").JSX.Element;
|
|
18
|
+
readonly DataTable: <Row extends import("./renderers-navigation.js").DataTableRow>({ label, columns, rows, renderCell, getCellInteraction, sort, onSortChange, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, selectAllLabel, selectRowLabel, isLoading, loadingContent, loadingRows, emptyContent, stickyHeader, maxBlockSize, onRowAction, className, }: import("./renderers-navigation.js").DataTableProps<Row>) => import("react").JSX.Element;
|
|
18
19
|
readonly DescriptionList: (props: import("./renderers-navigation.js").DescriptionListProps) => import("react").JSX.Element;
|
|
19
20
|
readonly Disclosure: ({ title, children, summary, isExpanded, defaultExpanded, onExpandedChange, isDisabled, headingLevel, className, }: import("./renderers-navigation.js").DisclosureProps) => import("react").JSX.Element;
|
|
21
|
+
readonly DragItem: ({ children, isDisabled, onDragStart, onDragEnd, isSelected, isInvalid, isDashed, leadingColor }: import("./renderers-navigation.js").DragItemProps) => import("react").JSX.Element;
|
|
20
22
|
readonly FlowGraph: ({ label, nodes, edges, selectedId, onSelect, height, isInteractive, showControls, layout, emptyLabel, isLoading, className, }: import("./renderers-navigation.js").FlowGraphProps) => import("react").JSX.Element;
|
|
21
23
|
readonly Footer: ({ label, brand, groups, legal, externalHint, children, className }: import("./renderers-navigation.js").FooterProps) => import("react").JSX.Element;
|
|
24
|
+
readonly IdentityLockup: ({ title, subtitle, logoSrc, markShape, onPress, isDisabled }: import("./renderers-navigation.js").IdentityLockupProps) => import("react").JSX.Element;
|
|
22
25
|
readonly Image: ({ src, alt, aspect, fit, fallback, loading, srcSet, sizes, width, height, onLoadStateChange, plate, className, ...assetSlot }: import("./renderers-navigation.js").ImageProps) => import("react").JSX.Element;
|
|
23
26
|
readonly Link: ({ children, href, kind, isCurrent, visited, externalHint, externalIcon, isDisabled, onFollow, className, }: import("./renderers-navigation.js").LinkProps) => import("react").JSX.Element;
|
|
24
27
|
readonly ListBox: ({ label, items, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, onAction, emptyContent, isLoading, loadingRows, className, }: import("./renderers-navigation.js").ListBoxProps) => import("react").JSX.Element;
|
|
25
28
|
readonly Pagination: ({ label, page, pageCount, onPageChange, siblingCount, previousLabel, nextLabel, pageLabel, summary, className, }: import("./renderers-navigation.js").PaginationProps) => import("react").JSX.Element;
|
|
29
|
+
readonly PlainPressable: ({ children, "aria-label": ariaLabel, onPress, isDisabled, shape, className }: import("./renderers-navigation.js").PlainPressableProps) => import("react").JSX.Element;
|
|
26
30
|
readonly Rating: ({ label, value, defaultValue, onChange, max, isReadOnly, isDisabled, valueLabel, icon, name, className, }: import("./renderers-navigation.js").RatingProps) => import("react").JSX.Element;
|
|
27
31
|
readonly Stepper: ({ label, steps, currentStepId, orientation, onStepSelect, stateLabel, renderMarker, className, isLoading, }: import("./renderers-navigation.js").StepperProps) => import("react").JSX.Element;
|
|
28
32
|
readonly TagGroup: ({ label, items, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, onRemove, removeLabel, emptyContent, size, className, }: import("./renderers-navigation.js").TagGroupProps) => import("react").JSX.Element;
|
|
29
33
|
readonly Timeline: ({ label, items, className, isLoading, loadingRows }: import("./renderers-navigation.js").TimelineProps) => import("react").JSX.Element;
|
|
30
34
|
readonly TopBar: ({ brand, navigation, actions, menu, position, className, ...headerProps }: import("./renderers-navigation.js").TopBarProps) => import("react").JSX.Element;
|
|
35
|
+
readonly Video: ({ src, title, poster, captions, crossOrigin, className }: import("./renderers-navigation.js").VideoProps) => import("react").JSX.Element;
|
|
31
36
|
readonly Alert: (props: import("./renderers-overlays.js").AlertProps) => import("react").JSX.Element | null;
|
|
32
37
|
readonly AlertDialog: ({ title, description, children, tone, confirmLabel, cancelLabel, onConfirm, onCancel, isConfirmPending, trigger, isKeyboardDismissDisabled, ...openState }: import("./renderers-overlays.js").AlertDialogProps) => import("react").JSX.Element;
|
|
33
38
|
readonly CloseButton: ({ label, onPress, isDisabled, size }: import("./renderers-overlays.js").CloseButtonProps) => import("react").JSX.Element;
|
|
@@ -59,7 +64,7 @@ export declare const COMMON_GRAMMAR_COMPONENTS: Readonly<{
|
|
|
59
64
|
readonly SegmentedControl: ({ options, value, defaultValue, onValueChange, width, label, isLabelHidden, description, errorMessage, isInvalid, isRequired, isDisabled, isReadOnly, name, isSkeleton, }: import("./renderers-forms.js").SegmentedControlProps) => import("react").JSX.Element;
|
|
60
65
|
readonly Select: ({ options, placeholder, value, defaultValue, onValueChange, isPending, isSkeleton, variant, ...field }: import("./renderers-forms.js").SelectProps) => import("react").JSX.Element;
|
|
61
66
|
readonly Slider: ({ value, defaultValue, onValueChange, onValueCommit, minValue, maxValue, step, formatOptions, thumbLabels, orientation, label, isLabelHidden, description, errorMessage, isInvalid, isRequired, isDisabled, isReadOnly, name, }: import("./renderers-forms.js").SliderProps) => import("react").JSX.Element;
|
|
62
|
-
readonly Switch: ({ value, isSelected, defaultSelected, onSelectedChange, isSkeleton, ...field }: import("./renderers-forms.js").SwitchProps) => import("react").JSX.Element;
|
|
67
|
+
readonly Switch: ({ value, isSelected, defaultSelected, onSelectedChange, size, thumbIcon, selectedThumbIcon, isSkeleton, ...field }: import("./renderers-forms.js").SwitchProps) => import("react").JSX.Element;
|
|
63
68
|
readonly Textarea: ({ id, placeholder, value, defaultValue, rows, isSkeleton, maxLength, minLength, onValueChange, variant, onSubmitShortcut, mentions, onBlur, onPaste, autoFocus, ...field }: import("./renderers-forms.js").TextareaProps) => import("react").JSX.Element;
|
|
64
69
|
readonly TimeField: ({ value, defaultValue, onValueChange, minValue, maxValue, granularity, hourCycle, variant, ...field }: import("./renderers-forms.js").TimeFieldProps) => import("react").JSX.Element;
|
|
65
70
|
readonly Badge: ({ children, startContent, tone, isDot, isSkeleton }: import("./renderers.js").BadgeProps) => import("react").JSX.Element;
|
|
@@ -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"}
|
|
@@ -3,7 +3,7 @@ export { Textarea, type TextareaMentionOption, type TextareaMentions, type Texta
|
|
|
3
3
|
export { SearchField, type SearchFieldProps } from "../core/primitive/SearchField/index.js";
|
|
4
4
|
export { NumberField, type NumberFieldProps } from "../core/primitive/NumberField/index.js";
|
|
5
5
|
export { Checkbox, type CheckboxProps } from "../core/primitive/Checkbox/index.js";
|
|
6
|
-
export { Switch, type SwitchProps } from "../core/primitive/Switch/index.js";
|
|
6
|
+
export { Switch, type SwitchProps, type SwitchSize } from "../core/primitive/Switch/index.js";
|
|
7
7
|
export { Slider, type SliderProps, type SliderValue } from "../core/primitive/Slider/index.js";
|
|
8
8
|
export { DateField, type DateFieldProps, type DateGranularity } from "../core/primitive/DateField/index.js";
|
|
9
9
|
export { TimeField, type TimeFieldProps } from "../core/primitive/TimeField/index.js";
|
|
@@ -37,7 +37,7 @@ export declare const COMMON_FORMS_COMPONENTS: Readonly<{
|
|
|
37
37
|
readonly SegmentedControl: ({ options, value, defaultValue, onValueChange, width, label, isLabelHidden, description, errorMessage, isInvalid, isRequired, isDisabled, isReadOnly, name, isSkeleton, }: import("./renderers-forms.js").SegmentedControlProps) => import("react").JSX.Element;
|
|
38
38
|
readonly Select: ({ options, placeholder, value, defaultValue, onValueChange, isPending, isSkeleton, variant, ...field }: import("./renderers-forms.js").SelectProps) => import("react").JSX.Element;
|
|
39
39
|
readonly Slider: ({ value, defaultValue, onValueChange, onValueCommit, minValue, maxValue, step, formatOptions, thumbLabels, orientation, label, isLabelHidden, description, errorMessage, isInvalid, isRequired, isDisabled, isReadOnly, name, }: import("./renderers-forms.js").SliderProps) => import("react").JSX.Element;
|
|
40
|
-
readonly Switch: ({ value, isSelected, defaultSelected, onSelectedChange, isSkeleton, ...field }: import("./renderers-forms.js").SwitchProps) => import("react").JSX.Element;
|
|
40
|
+
readonly Switch: ({ value, isSelected, defaultSelected, onSelectedChange, size, thumbIcon, selectedThumbIcon, isSkeleton, ...field }: import("./renderers-forms.js").SwitchProps) => import("react").JSX.Element;
|
|
41
41
|
readonly Textarea: ({ id, placeholder, value, defaultValue, rows, isSkeleton, maxLength, minLength, onValueChange, variant, onSubmitShortcut, mentions, onBlur, onPaste, autoFocus, ...field }: import("./renderers-forms.js").TextareaProps) => import("react").JSX.Element;
|
|
42
42
|
readonly TimeField: ({ value, defaultValue, onValueChange, minValue, maxValue, granularity, hourCycle, variant, ...field }: import("./renderers-forms.js").TimeFieldProps) => import("react").JSX.Element;
|
|
43
43
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderers-forms.d.ts","sourceRoot":"","sources":["../../src/common/renderers-forms.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,sBAAsB,EAAE,KAAK,iBAAiB,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACzK,OAAO,EAAE,QAAQ,EAAE,KAAK,qBAAqB,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACrI,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAC3F,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAC3F,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAClF,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"renderers-forms.d.ts","sourceRoot":"","sources":["../../src/common/renderers-forms.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,sBAAsB,EAAE,KAAK,iBAAiB,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACzK,OAAO,EAAE,QAAQ,EAAE,KAAK,qBAAqB,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACrI,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAC3F,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAC3F,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAClF,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAC7F,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAC9F,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAA;AAC3G,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,sCAAsC,CAAA;AACrF,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAC9F,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAClF,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACjG,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAC5I,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,uCAAuC,CAAA;AACxF,OAAO,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,KAAK,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AAC9H,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAC3F,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAC1F,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAC/E,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACrF,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,yCAAyC,CAAA;AAEzH,mFAAmF;AACnF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;EAIzB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderers-forms.js","sourceRoot":"","sources":["../../src/common/renderers-forms.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,gGAAgG;AAChG,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAA;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAA;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AAEzE,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAA2F,MAAM,kCAAkC,CAAA;AACzK,OAAO,EAAE,QAAQ,EAAyE,MAAM,qCAAqC,CAAA;AACrI,OAAO,EAAE,WAAW,EAAyB,MAAM,wCAAwC,CAAA;AAC3F,OAAO,EAAE,WAAW,EAAyB,MAAM,wCAAwC,CAAA;AAC3F,OAAO,EAAE,QAAQ,EAAsB,MAAM,qCAAqC,CAAA;AAClF,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"renderers-forms.js","sourceRoot":"","sources":["../../src/common/renderers-forms.ts"],"names":[],"mappings":"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"}
|