@starci/grammar 0.15.3 → 0.15.6

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.
Files changed (67) hide show
  1. package/README.md +48 -11
  2. package/dist/.build-stamp.json +4 -4
  3. package/dist/common/components-forms.css +141 -4
  4. package/dist/common/components-navigation.css +104 -1
  5. package/dist/common/components-overlays.css +2 -0
  6. package/dist/common/registry.d.ts +4 -0
  7. package/dist/common/registry.d.ts.map +1 -1
  8. package/dist/common/registry.js +2 -2
  9. package/dist/common/registry.js.map +1 -1
  10. package/dist/common/renderers-forms.d.ts +4 -0
  11. package/dist/common/renderers-forms.d.ts.map +1 -1
  12. package/dist/common/renderers-forms.js +6 -2
  13. package/dist/common/renderers-forms.js.map +1 -1
  14. package/dist/common/renderers-navigation.d.ts +3 -1
  15. package/dist/common/renderers-navigation.d.ts.map +1 -1
  16. package/dist/common/renderers-navigation.js +3 -1
  17. package/dist/common/renderers-navigation.js.map +1 -1
  18. package/dist/common/renderers.d.ts +1 -0
  19. package/dist/common/renderers.d.ts.map +1 -1
  20. package/dist/common/renderers.js +1 -0
  21. package/dist/common/renderers.js.map +1 -1
  22. package/dist/common/styles.css +68 -4
  23. package/dist/core/branch/CopyField/index.d.ts +48 -0
  24. package/dist/core/branch/CopyField/index.d.ts.map +1 -0
  25. package/dist/core/branch/CopyField/index.js +102 -0
  26. package/dist/core/branch/CopyField/index.js.map +1 -0
  27. package/dist/core/branch/FlowGraph/index.d.ts +1 -1
  28. package/dist/core/branch/FlowGraph/index.d.ts.map +1 -1
  29. package/dist/core/branch/FlowGraph/index.js +11 -2
  30. package/dist/core/branch/FlowGraph/index.js.map +1 -1
  31. package/dist/core/branch/FlowGraph/types.d.ts +9 -0
  32. package/dist/core/branch/FlowGraph/types.d.ts.map +1 -1
  33. package/dist/core/branch/MermaidDiagram/index.d.ts +30 -0
  34. package/dist/core/branch/MermaidDiagram/index.d.ts.map +1 -0
  35. package/dist/core/branch/MermaidDiagram/index.js +110 -0
  36. package/dist/core/branch/MermaidDiagram/index.js.map +1 -0
  37. package/dist/core/branch/MermaidDiagram/theme.d.ts +40 -0
  38. package/dist/core/branch/MermaidDiagram/theme.d.ts.map +1 -0
  39. package/dist/core/branch/MermaidDiagram/theme.js +86 -0
  40. package/dist/core/branch/MermaidDiagram/theme.js.map +1 -0
  41. package/dist/core/branch/Tabs/index.d.ts +11 -3
  42. package/dist/core/branch/Tabs/index.d.ts.map +1 -1
  43. package/dist/core/branch/Tabs/index.js +48 -2
  44. package/dist/core/branch/Tabs/index.js.map +1 -1
  45. package/dist/core/composite/FormGrid/index.d.ts +17 -0
  46. package/dist/core/composite/FormGrid/index.d.ts.map +1 -0
  47. package/dist/core/composite/FormGrid/index.js +16 -0
  48. package/dist/core/composite/FormGrid/index.js.map +1 -0
  49. package/dist/core/composition/Page/index.d.ts +30 -0
  50. package/dist/core/composition/Page/index.d.ts.map +1 -0
  51. package/dist/core/composition/Page/index.js +13 -0
  52. package/dist/core/composition/Page/index.js.map +1 -0
  53. package/dist/core/primitive/Button/index.d.ts +9 -3
  54. package/dist/core/primitive/Button/index.d.ts.map +1 -1
  55. package/dist/core/primitive/Button/index.js +2 -2
  56. package/dist/core/primitive/Button/index.js.map +1 -1
  57. package/dist/core/primitive/Field/index.d.ts +2 -2
  58. package/dist/core/primitive/Field/index.js +4 -4
  59. package/dist/core/primitive/Field/index.js.map +1 -1
  60. package/dist/core/primitive/FileDropzone/index.js +2 -2
  61. package/dist/core/primitive/FileDropzone/index.js.map +1 -1
  62. package/dist/core/primitive/Input/index.d.ts +7 -7
  63. package/dist/core/primitive/Input/index.d.ts.map +1 -1
  64. package/dist/core/primitive/Input/index.js +9 -9
  65. package/dist/core/primitive/Input/index.js.map +1 -1
  66. package/dist/offset-pop/components-forms.css +5 -3
  67. package/package.json +3 -2
package/README.md CHANGED
@@ -16,7 +16,7 @@ npm install @starci/grammar @heroui/react react react-dom
16
16
  ```
17
17
 
18
18
  The package needs Node.js 22 or newer. Its peer dependencies are React 18+, `@xyflow/react` 12 (for `FlowGraph`) and `@heroui/react`
19
- 3.2+. Load the HeroUI stylesheet once in the app, as HeroUI's own setup describes. Then import
19
+ 3.2+. Mermaid (for `MermaidDiagram`) is a pinned dependency, imported lazily on the first diagram. Load the HeroUI stylesheet once in the app, as HeroUI's own setup describes. Then import
20
20
  exactly one Grammar family stylesheet. Each family sheet already imports Common anatomy first.
21
21
 
22
22
  | Entry point | Root component | Stylesheet |
@@ -170,6 +170,23 @@ layout, and selects `layered` when no layout is given. `headers={[{ label, at }]
170
170
  a lane header beside it for `TB` (`at` is the layer index in `layered`, graph units in `manual`). `height` takes `sm | md | lg`, a number
171
171
  (pixels) or any CSS length. A node with `href` is a link through the root's router and one keyboard stop.
172
172
 
173
+ A node's `shape` is its flowchart outline: `stadium` (the default pill), `rect`, `round`, `diamond` (a decision) or
174
+ `circle` (a start or end). An edge's `label` is drawn on a chip at its midpoint and repeated, as "source → target:
175
+ label", in the graph's visually hidden edge list.
176
+
177
+ ### MermaidDiagram
178
+
179
+ `MermaidDiagram` renders Mermaid text (an article's `mermaid` fence) to SVG in the browser. Mermaid is imported on the
180
+ first diagram that mounts, initialised with `theme: "base"`, `securityLevel: "strict"` and colours resolved from the
181
+ root's semantic tokens (so family, theme and token overrides apply), and re-rendered when the root's theme changes.
182
+ `height` (`sm` 16rem, `md` 24rem, `lg` 32rem) is the least canvas box every state keeps; `isSkeleton` draws that box
183
+ with a skeleton and loads nothing. A source Mermaid refuses becomes an error inside the same frame: an `Alert` with
184
+ `errorTitle`, then the source as a `FencedCodeBlock`.
185
+
186
+ ```tsx
187
+ <MermaidDiagram label="Request flow" source={fence.value} errorTitle={t("diagramFailed")} />
188
+ ```
189
+
173
190
  ## Family scope and the overlay portal rule
174
191
 
175
192
  A family paints only inside its root. Each family stylesheet is scoped to
@@ -201,12 +218,20 @@ selected/current states where they apply. Overlay stories open by default.
201
218
  IconButton, IconTile, Image, IncludedMark, Kbd, Label, LeadingNumber, Link, Meter, PlainPressable,
202
219
  Progress, ProgressCircle, RankArtwork, RelativeTime, Skeleton, Spinner, StateMark, Text, TextAction.
203
220
 
204
- **Forms (24).** ButtonGroup, Checkbox, CheckboxGroup, ComboBox, DateField, DatePicker,
205
- DateRangePicker, Field, Fieldset, FileDropzone, Form, Input, NumberField, OtpInput,
221
+ **Forms (26).** ButtonGroup, Checkbox, CheckboxGroup, ComboBox, CopyField, DateField, DatePicker,
222
+ DateRangePicker, Field, Fieldset, FileDropzone, Form, FormGrid, Input, NumberField, OtpInput,
206
223
  PressableField, RadioGroup, Rating, SearchField, SegmentedControl, Select, Slider, Switch,
207
224
  Textarea, TimeField. Every Field-contract control takes `label`, `description`, `errorMessage`,
208
- `isRequired`, `isDisabled`, `isReadOnly` and `isInvalid`. `Select`, `ComboBox`, `SearchField` and
209
- `Form` also take `isPending`. `OtpInput` names the code with `label` or an existing label's `labelledBy`.
225
+ `isRequired`, `isDisabled`, `isReadOnly` and `isInvalid`, and draws HeroUI's field order: label, control,
226
+ description, error. `Select`, `ComboBox`, `SearchField` and `Form` also take `isPending`. `OtpInput` names the
227
+ code with `label` or an existing label's `labelledBy`.
228
+
229
+ `CopyField` is a read-only value with its copy action inside the field, at its end, as tall as every single-line
230
+ field: `label`, `value`, `description`, `copyLabel`, `copiedLabel`, `copyErrorLabel` (the app's words), `onCopy`,
231
+ `isDisabled`, `isSkeleton`. A long value is truncated in the middle, whole in a Tooltip on hover and focus and whole
232
+ for a screen reader. `masked` with `lastFour` draws bullets and the last four characters; its `onCopy` resolves the
233
+ clear value (a server reveal may be async) and the field writes it to the clipboard without keeping it. `FormGrid`
234
+ lays fields in rows (`columns` 1 or 2, two once its own width holds them) whose controls stand on one line.
210
235
 
211
236
  **Overlays (9).** Alert, AlertDialog, Dialog, Drawer, DropdownMenu, Popover, Toast, Toaster,
212
237
  Tooltip. Dialog, AlertDialog, Drawer, Popover and DropdownMenu support uncontrolled `defaultOpen`
@@ -275,8 +300,8 @@ an item with a submenu).
275
300
  requires, restyles what the vendor decides, or replaces a vendor default, unless an owner-pinned override declares it. `ListBox`
276
301
  and `Select` are HeroUI's own list-box items (a `Label`, a `Description`, the item indicator at the end of the row).
277
302
 
278
- **Navigation & Data (14).** Accordion, AvatarGroup, Breadcrumbs, Calendar, DataTable,
279
- DescriptionList, Disclosure, ListBox, Pagination, Stepper, Subnav, Tabs, TagGroup, Timeline.
303
+ **Navigation & Data (16).** Accordion, AvatarGroup, Breadcrumbs, Calendar, DataTable,
304
+ DescriptionList, Disclosure, FlowGraph, ListBox, MermaidDiagram, Pagination, Stepper, Subnav, Tabs, TagGroup, Timeline.
280
305
 
281
306
  `DataTable.getCellInteraction(row, columnId)` optionally supplies `onAction`, `onDragOver`,
282
307
  `onDragLeave` and `onDrop`. Cells remain semantic
@@ -359,15 +384,27 @@ The package requires Node 22 or newer, as does the pinned DiceBear engine.
359
384
  MarkdownTableFrame, MediaFrame, Rail, SectionHeader, StaticStateRow, SurfaceAccordionCard,
360
385
  SurfaceCard, SurfaceCopyGroup, SurfaceListCard, VerticalScrollRegion.
361
386
 
362
- **Compositions (10).** BottomNav, ChatWorkspace, Footer, NavigationFeatureNav, PageContainer, PageHeader,
387
+ **Compositions (11).** BottomNav, ChatWorkspace, Footer, NavigationFeatureNav, Page, PageContainer, PageHeader,
363
388
  PrimaryRailLayout, Sidebar, TopBar, WorkspaceShell. Storybook pins settings and data-list content
364
389
  recipes to each family; the mobile app recipes reuse the fixed App shell with its left navigation drawer.
365
390
 
366
391
  `PageHeader` heads one page: `breadcrumbs`, `title` (the page's `h1`), `description`, `meta`, `status` chips beside the
367
392
  heading, a `mark` before it, `actions` at the end of its row (wrapping under it on a phone) and page `tabs`. It is a
368
393
  surface band whose content sits in a `PageContainer` of the content's `measure`, so both share their edges, and it ends
369
- in its own full-width separator, with or without tabs; tabs stand on it. Place it first in the primary region, outside
370
- the content's `PageContainer`; the content starts one region step below. `isSkeleton` keeps every slot's box.
394
+ in its own full-width separator, with or without tabs; tabs stand on it. `isSkeleton` keeps every slot's box.
395
+
396
+ `Page` is a route page and the one way an app draws one: `header` takes PageHeader's props as data (no element), the
397
+ children are the body, and `measure` (`reading`, `product`, `full`) is the one measure of the header content and the
398
+ body. The band runs full width; the body sits in the measure and gutter one region step below it (one region step
399
+ from the top without a header), its sections a region step apart, and it clips past its content box so nothing in it
400
+ reaches across the gutter. `isSkeleton` passes to the header. Page is the single owner of the page inset: the layout
401
+ frames (`WorkspaceShell`, `PrimaryRailLayout`, `ChatWorkspace`) never wrap a page in a `PageContainer`.
402
+
403
+ ```tsx
404
+ <Page measure="reading" header={{ breadcrumbs, title: "Profile", tabs: { label: "Profile", items, selectedKey, onSelect } }}>
405
+ <ProfileForm />
406
+ </Page>
407
+ ```
371
408
 
372
409
  `COMMON_GRAMMAR_COMPONENTS` is the frozen registry of the published renderers.
373
410
  `COMMON_FORMS_COMPONENTS`, `COMMON_OVERLAYS_COMPONENTS` and `COMMON_NAVIGATION_COMPONENTS` are the
@@ -382,7 +419,7 @@ a surface: the top layer is raised and a nested layer is subordinate; never rais
382
419
  Each family's DNA owns the paint. SurfaceCard and bounded
383
420
  SurfaceAccordionCard derive their depth from the parent context. SurfaceAccordionCard defaults to
384
421
  `frame="bounded"`; `frame="unpainted"` and Rail pass the parent's context through.
385
- Omit a field's `variant`: Input, SearchField, Textarea, NumberField, DateField, TimeField, Select,
422
+ Omit a field's `variant`: Input, CopyField, SearchField, Textarea, NumberField, DateField, TimeField, Select,
386
423
  ComboBox, DatePicker, DateRangePicker, Checkbox, CheckboxGroup, RadioGroup, PressableField and OtpInput use `secondary`
387
424
  inside these surfaces and `primary` outside. Overlay triggers keep their surrounding context.
388
425
  Tabs also default to `secondary` inside a surface and `primary` on the page background. The FE
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "schema": "starci/grammar-build-stamp@1",
3
3
  "package": "@starci/grammar",
4
- "version": "0.15.3",
4
+ "version": "0.15.6",
5
5
  "algorithm": "starci/grammar-source-digest@1",
6
- "sourceDigest": "sha256:a4234c8958da5c0851dd0b5d494b5d8bdd20dffa36c1ec5ebac0b4d08615622a",
7
- "distDigest": "sha256:112315ff9a4fbe3b98913b86a42ff504a494ba24480dc6de82d2e08934e9b068",
8
- "builtAt": "2026-10-28T09:12:33.323Z"
6
+ "sourceDigest": "sha256:d82b92c7299ee5eccc0147badfab273e2e95fcda3d0d697304b5f8147f7ef43c",
7
+ "distDigest": "sha256:aeb4c8c4891e445038919000dc06b9b49ff635e81876ddcf99203d0ff2d99caf",
8
+ "builtAt": "2026-10-28T16:08:13.863Z"
9
9
  }
@@ -2,7 +2,7 @@
2
2
  * Common form anatomy: the structure every family inherits for the form and input renderers
3
3
  * (Field, Textarea, Select, ComboBox, SearchField, NumberField, Checkbox, CheckboxGroup, RadioGroup,
4
4
  * Switch, Slider, SegmentedControl, DateField, DatePicker, DateRangePicker, TimeField, FileDropzone,
5
- * Fieldset, Form, ButtonGroup).
5
+ * CopyField, Fieldset, Form, FormGrid, ButtonGroup).
6
6
  *
7
7
  * Only structure, rhythm and the touch floor live here. Paint resolves through the semantic
8
8
  * variables every family binds (`--field-*`, `--accent`, `--danger`, `--muted`, `--focus`,
@@ -14,7 +14,13 @@
14
14
  * order.
15
15
  */
16
16
  @layer starci-grammar-common {
17
- /* --- Field anatomy: label, control, description, error --- */
17
+ /*
18
+ * --- Field anatomy: label, control, description, error ---
19
+ * HeroUI's field order, in the DOM of every field primitive and every branch field: the description is standing
20
+ * guidance under the control, never between the label and the control, so the label and the control are always
21
+ * adjacent and a row of fields keeps its controls on one line (FormGrid). Groups (RadioGroup, CheckboxGroup,
22
+ * Fieldset) keep HeroUI's group order: legend or label, description, then the options or fields.
23
+ */
18
24
  .starci-core-field {
19
25
  display: flex !important;
20
26
  min-width: 0;
@@ -188,15 +194,146 @@
188
194
  .starci-core-combo-box-group,
189
195
  .starci-core-search-field-group,
190
196
  .starci-core-number-field-group,
191
- .starci-core-date-group {
197
+ .starci-core-date-group,
198
+ .starci-core-copy-field-group {
192
199
  box-sizing: border-box;
193
200
  }
194
201
 
195
202
  .starci-core-input-field,
196
- .starci-core-combo-box-group {
203
+ .starci-core-combo-box-group,
204
+ .starci-core-search-field-group,
205
+ .starci-core-number-field-group,
206
+ .starci-core-date-group,
207
+ .starci-core-copy-field-group {
197
208
  min-block-size: var(--starci-core-field-min-height, 2.5rem);
198
209
  }
199
210
 
211
+ /*
212
+ * CopyField: the InputGroup frame is the field box (the single-line anatomy above), the value its text and the copy
213
+ * action its Suffix. The value is truncated in the middle: the head gives way under an ellipsis, the tail (the last
214
+ * characters, or the four a masked field shows) never does, and the text content stays whole for a screen reader.
215
+ * One focus ring, on the frame, while the value has focus; the action draws its own ring as every in-field action.
216
+ */
217
+ .starci-core-copy-field-group {
218
+ width: 100%;
219
+ min-width: 0;
220
+ align-items: center;
221
+ }
222
+
223
+ .starci-core-copy-field-value {
224
+ display: flex;
225
+ min-width: 0;
226
+ flex: 1 1 auto;
227
+ align-items: center;
228
+ align-self: stretch;
229
+ padding-inline: 0.75rem 0.25rem;
230
+ overflow: hidden;
231
+ font-size: 0.875rem;
232
+ line-height: 1.25rem;
233
+ white-space: pre;
234
+ cursor: text;
235
+ user-select: text;
236
+ outline: none;
237
+ }
238
+
239
+ .starci-core-copy-field-head {
240
+ min-width: 0;
241
+ flex: 0 1 auto;
242
+ overflow: hidden;
243
+ text-overflow: ellipsis;
244
+ }
245
+
246
+ .starci-core-copy-field-tail {
247
+ flex: 0 0 auto;
248
+ }
249
+
250
+ .starci-core-copy-field-group:has(.starci-core-copy-field-value:focus-visible) {
251
+ box-shadow: 0 0 0 2px var(--focus, Highlight);
252
+ }
253
+
254
+ .starci-core-copy-field-tooltip {
255
+ max-inline-size: min(32rem, 90vw);
256
+ overflow-wrap: anywhere;
257
+ }
258
+
259
+ .starci-core-copy-field[data-grammar-copy-state="failed"] .starci-core-input-copy {
260
+ color: var(--danger, CanvasText);
261
+ }
262
+
263
+ @media (forced-colors: active) {
264
+ .starci-core-copy-field-group:has(.starci-core-copy-field-value:focus-visible) {
265
+ outline: 2px solid Highlight;
266
+ }
267
+ }
268
+
269
+ /*
270
+ * FormGrid: rows of fields that align on the control line. Each row is a grid of four tracks (label, control,
271
+ * description, error); each field (or the field a skeleton scope wraps) spans them as a subgrid and places its own
272
+ * parts by role, so a description, an error or a two-line label in one field never moves its neighbour's control.
273
+ * The field's inner gap becomes a margin on the part after the label, so an absent description or error adds no
274
+ * space. Below the container width one row is one column and its fields stack a section gap apart.
275
+ */
276
+ .starci-core-form-grid {
277
+ display: flex;
278
+ inline-size: 100%;
279
+ min-width: 0;
280
+ flex-direction: column;
281
+ gap: var(--grammar-section-gap, 1rem);
282
+ container-type: inline-size;
283
+ }
284
+
285
+ .starci-core-form-grid-row {
286
+ display: grid;
287
+ min-width: 0;
288
+ grid-template-columns: minmax(0, 1fr);
289
+ grid-auto-rows: auto;
290
+ gap: 0 var(--grammar-section-gap, 1rem);
291
+ align-items: start;
292
+ }
293
+
294
+ :is(.starci-core-form-grid-row > [data-component], .starci-core-form-grid-row > .starci-core-field-skeleton-scope > [data-component]) {
295
+ display: grid !important;
296
+ min-width: 0;
297
+ grid-row: span 4;
298
+ grid-template-columns: minmax(0, 1fr);
299
+ grid-template-rows: subgrid;
300
+ gap: 0 !important;
301
+ align-content: start;
302
+ }
303
+
304
+ :is(.starci-core-form-grid-row > [data-component]:not(:first-child), .starci-core-form-grid-row > .starci-core-field-skeleton-scope:not(:first-child) > [data-component]) {
305
+ margin-block-start: var(--grammar-section-gap, 1rem);
306
+ }
307
+
308
+ :is(.starci-core-form-grid-row > [data-component], .starci-core-form-grid-row > .starci-core-field-skeleton-scope > [data-component]) > :is([data-slot="label"], [data-grammar-field-label]) {
309
+ grid-row: 1;
310
+ }
311
+
312
+ :is(.starci-core-form-grid-row > [data-component], .starci-core-form-grid-row > .starci-core-field-skeleton-scope > [data-component]) > :is([data-grammar-field-control="true"], [data-grammar-input-control="true"]) {
313
+ grid-row: 2;
314
+ margin-block-start: var(--starci-core-field-gap, 0.5rem);
315
+ }
316
+
317
+ :is(.starci-core-form-grid-row > [data-component], .starci-core-form-grid-row > .starci-core-field-skeleton-scope > [data-component]) > [data-grammar-field-description] {
318
+ grid-row: 3;
319
+ margin-block-start: var(--starci-core-field-gap, 0.5rem);
320
+ }
321
+
322
+ :is(.starci-core-form-grid-row > [data-component], .starci-core-form-grid-row > .starci-core-field-skeleton-scope > [data-component]) > :is(.starci-core-field-error, [data-slot="error-message"], [data-slot="field-error"]) {
323
+ grid-row: 4;
324
+ margin-block-start: var(--starci-core-field-gap, 0.5rem);
325
+ }
326
+
327
+ @container (min-width: 32rem) {
328
+ .starci-core-form-grid[data-grammar-form-grid-columns="2"] > .starci-core-form-grid-row {
329
+ grid-template-columns: repeat(2, minmax(0, 1fr));
330
+ }
331
+
332
+ .starci-core-form-grid[data-grammar-form-grid-columns="2"] :is(.starci-core-form-grid-row > [data-component]:not(:first-child), .starci-core-form-grid-row > .starci-core-field-skeleton-scope:not(:first-child) > [data-component]) {
333
+ margin-block-start: 0;
334
+ }
335
+ }
336
+
200
337
  /* Owner 2026-10-25: Select has the same 2.5rem field height as Input. */
201
338
  .starci-core-select-trigger {
202
339
  min-block-size: var(--starci-core-field-min-height, 2.5rem);
@@ -427,7 +427,7 @@
427
427
  }
428
428
  }
429
429
 
430
- .grammar-common-root:has(.starci-core-bottom-nav[data-grammar-bottom-nav-position="fixed"]):not(:has(.starci-core-footer)) :is(.starci-core-workspace-shell, .starci-core-primary-rail-layout, .starci-core-page-container):not(:is(.starci-core-workspace-shell, .starci-core-primary-rail-layout, .starci-core-page-container, .starci-core-navigation-feature-nav, .starci-core-top-bar, .starci-core-bottom-nav) *) {
430
+ .grammar-common-root:has(.starci-core-bottom-nav[data-grammar-bottom-nav-position="fixed"]):not(:has(.starci-core-footer)) :is(.starci-core-workspace-shell, .starci-core-primary-rail-layout, .starci-core-page, .starci-core-page-container):not(:is(.starci-core-workspace-shell, .starci-core-primary-rail-layout, .starci-core-page, .starci-core-page-header, .starci-core-page-container, .starci-core-navigation-feature-nav, .starci-core-top-bar, .starci-core-bottom-nav) *) {
431
431
  padding-block-end: var(--starci-core-bottom-nav-offset);
432
432
  }
433
433
 
@@ -1734,6 +1734,57 @@
1734
1734
  .starci-core-flow-graph-node[data-tone="muted"] { --starci-flow-tint: transparent; --starci-flow-ink: var(--muted, GrayText); }
1735
1735
  .starci-core-flow-graph-node[data-placeholder="true"] { border-style: dashed; }
1736
1736
 
1737
+ /*
1738
+ * Node shapes (the flowchart outlines). `stadium` is the default pill above. A diamond cannot carry a CSS border, so
1739
+ * its outline and fill are two clipped layers behind the copy: the outer layer in the separator colour, the inner one
1740
+ * inset by the border width in the node's surface and tint.
1741
+ */
1742
+ .starci-core-flow-graph-node[data-shape="rect"] { border-radius: 0.25rem; }
1743
+ .starci-core-flow-graph-node[data-shape="round"] { border-radius: 0.75rem; }
1744
+
1745
+ .starci-core-flow-graph-node[data-shape="circle"] {
1746
+ justify-content: center;
1747
+ min-inline-size: 4.5rem;
1748
+ aspect-ratio: 1;
1749
+ padding: 0.5rem;
1750
+ border-radius: 50%;
1751
+ text-align: center;
1752
+ }
1753
+
1754
+ .starci-core-flow-graph-node[data-shape="diamond"] {
1755
+ isolation: isolate;
1756
+ justify-content: center;
1757
+ min-block-size: 4rem;
1758
+ padding: 1rem 2rem;
1759
+ border-color: transparent;
1760
+ background: none;
1761
+ text-align: center;
1762
+ }
1763
+
1764
+ .starci-core-flow-graph-node[data-shape="diamond"]::before,
1765
+ .starci-core-flow-graph-node[data-shape="diamond"]::after {
1766
+ position: absolute;
1767
+ z-index: -1;
1768
+ content: "";
1769
+ clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
1770
+ }
1771
+
1772
+ .starci-core-flow-graph-node[data-shape="diamond"]::before {
1773
+ inset: -1px;
1774
+ background: var(--separator, CanvasText);
1775
+ }
1776
+
1777
+ .starci-core-flow-graph-node[data-shape="diamond"]::after {
1778
+ inset: 0.5px;
1779
+ background-color: var(--surface, Canvas);
1780
+ background-image: linear-gradient(var(--starci-flow-tint), var(--starci-flow-tint));
1781
+ }
1782
+
1783
+ /* Edge labels: a small chip at the edge midpoint, the surface under foreground ink so the label reads over any edge. */
1784
+ .starci-core-flow-graph .react-flow__edge-textwrapper { pointer-events: none; }
1785
+ .starci-core-flow-graph .react-flow__edge-textbg { fill: var(--surface, Canvas); stroke: var(--separator, CanvasText); stroke-width: 1px; }
1786
+ .starci-core-flow-graph .react-flow__edge-text { fill: var(--foreground, CanvasText); font-size: 0.75rem; }
1787
+
1737
1788
  .starci-core-flow-graph-copy {
1738
1789
  display: flex;
1739
1790
  min-width: 0;
@@ -1806,6 +1857,58 @@
1806
1857
 
1807
1858
  @media (forced-colors: active) {
1808
1859
  .starci-core-flow-graph-node[data-grammar-selected="true"] { outline-color: Highlight; forced-color-adjust: none; }
1860
+ .starci-core-flow-graph-node[data-shape="diamond"]::before { background: CanvasText; forced-color-adjust: none; }
1861
+ .starci-core-flow-graph-node[data-shape="diamond"]::after { background: Canvas; forced-color-adjust: none; }
1862
+ }
1863
+
1864
+ /* ---------- MermaidDiagram ----------
1865
+ * The FlowGraph frame (separator edge, surface radius, surface fill). Every state reserves the canvas height, so the
1866
+ * drawing, its skeleton and the error take the same least box; a wider drawing scrolls inline in the canvas. */
1867
+ .starci-core-mermaid-diagram {
1868
+ --starci-mermaid-height: 16rem;
1869
+ display: block;
1870
+ min-width: 0;
1871
+ margin: 0;
1872
+ border: 1px solid var(--separator, CanvasText);
1873
+ border-radius: var(--starci-core-surface-radius, 1rem);
1874
+ background: var(--surface, Canvas);
1875
+ color: var(--foreground, CanvasText);
1876
+ }
1877
+
1878
+ .starci-core-mermaid-diagram[data-grammar-mermaid-height="md"] { --starci-mermaid-height: 24rem; }
1879
+ .starci-core-mermaid-diagram[data-grammar-mermaid-height="lg"] { --starci-mermaid-height: 32rem; }
1880
+
1881
+ .starci-core-mermaid-diagram-canvas {
1882
+ display: grid;
1883
+ min-block-size: var(--starci-mermaid-height);
1884
+ place-items: center;
1885
+ padding: var(--grammar-section-gap, 1rem);
1886
+ overflow-x: auto;
1887
+ border-radius: inherit;
1888
+ outline: none;
1889
+ }
1890
+
1891
+ .starci-core-mermaid-diagram-canvas:focus-visible {
1892
+ outline: 2px solid var(--focus, var(--starci-core-focus, Highlight));
1893
+ outline-offset: -2px;
1894
+ }
1895
+
1896
+ .starci-core-mermaid-diagram-canvas > .starci-core-skeleton {
1897
+ inline-size: 100%;
1898
+ block-size: calc(var(--starci-mermaid-height) - 2 * var(--grammar-section-gap, 1rem));
1899
+ aspect-ratio: auto;
1900
+ }
1901
+
1902
+ /* Mermaid sizes the svg to the canvas width up to its natural width (its own max-width); it sits centred. */
1903
+ .starci-core-mermaid-diagram-drawing { min-width: 0; inline-size: 100%; }
1904
+ .starci-core-mermaid-diagram-drawing > svg { display: block; block-size: auto; margin-inline: auto; }
1905
+
1906
+ .starci-core-mermaid-diagram-error {
1907
+ display: flex;
1908
+ min-block-size: var(--starci-mermaid-height);
1909
+ flex-direction: column;
1910
+ gap: var(--grammar-row-gap, 0.75rem);
1911
+ padding: var(--grammar-section-gap, 1rem);
1809
1912
  }
1810
1913
 
1811
1914
  /*
@@ -518,6 +518,8 @@
518
518
  */
519
519
  .starci-core-alert[data-grammar-appearance="soft"] {
520
520
  --starci-core-alert-soft: var(--default-soft, var(--default, transparent));
521
+ background: color-mix(in oklab, var(--starci-core-alert-soft) 50%, transparent);
522
+ box-shadow: none;
521
523
  }
522
524
 
523
525
  .starci-core-alert[data-grammar-appearance="soft"][data-grammar-tone="informative"] {
@@ -25,6 +25,7 @@ export declare const COMMON_GRAMMAR_COMPONENTS: Readonly<{
25
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;
26
26
  readonly Link: ({ children, href, kind, isCurrent, visited, externalHint, externalIcon, isDisabled, onFollow, className, }: import("./renderers-navigation.js").LinkProps) => import("react").JSX.Element;
27
27
  readonly ListBox: ({ label, items, sections, inset, size, descriptionLines, selectionMode, selectedIds, defaultSelectedIds, onSelectionChange, onAction, selectionIndicator, emptyContent, isLoading, loadingRows, className, }: import("./renderers-navigation.js").ListBoxProps) => import("react").JSX.Element;
28
+ readonly MermaidDiagram: ({ source, label, height, errorTitle, sourceLabel, isSkeleton, className, }: import("./renderers-navigation.js").MermaidDiagramProps) => import("react").JSX.Element;
28
29
  readonly Pagination: ({ label, page, pageCount, onPageChange, siblingCount, previousLabel, nextLabel, pageLabel, summary, className, }: import("./renderers-navigation.js").PaginationProps) => import("react").JSX.Element;
29
30
  readonly PlainPressable: ({ children, "aria-label": ariaLabel, onPress, isDisabled, shape, size, className }: import("./renderers-navigation.js").PlainPressableProps) => import("react").JSX.Element;
30
31
  readonly Rating: ({ label, value, defaultValue, onChange, max, isReadOnly, isDisabled, valueLabel, icon, name, className, }: import("./renderers-navigation.js").RatingProps) => import("react").JSX.Element;
@@ -51,6 +52,7 @@ export declare const COMMON_GRAMMAR_COMPONENTS: Readonly<{
51
52
  readonly Checkbox: ({ isSkeleton, ...props }: import("./renderers-forms.js").CheckboxProps) => import("react").JSX.Element;
52
53
  readonly CheckboxGroup: ({ isSkeleton, ...props }: import("./renderers-forms.js").CheckboxGroupProps) => import("react").JSX.Element;
53
54
  readonly ComboBox: ({ isSkeleton, ...props }: import("./renderers-forms.js").ComboBoxProps) => import("react").JSX.Element;
55
+ readonly CopyField: (props: import("./renderers-forms.js").CopyFieldProps) => import("react").JSX.Element;
54
56
  readonly DateField: ({ value, defaultValue, onValueChange, minValue, maxValue, granularity, variant: requestedVariant, ...field }: import("./renderers-forms.js").DateFieldProps) => import("react").JSX.Element;
55
57
  readonly DatePicker: ({ value, defaultValue, onValueChange, minValue, maxValue, isDateUnavailable, granularity, variant: requestedVariant, ...field }: import("./renderers-forms.js").DatePickerProps) => import("react").JSX.Element;
56
58
  readonly DateRangePicker: ({ value, defaultValue, onValueChange, minValue, maxValue, isDateUnavailable, allowsNonContiguousRanges, granularity, startName, endName, variant: requestedVariant, ...field }: import("./renderers-forms.js").DateRangePickerProps) => import("react").JSX.Element;
@@ -58,6 +60,7 @@ export declare const COMMON_GRAMMAR_COMPONENTS: Readonly<{
58
60
  readonly Fieldset: ({ legend, isLegendHidden, description, errorMessage, children, actions, isDisabled }: import("./renderers-forms.js").FieldsetProps) => import("react").JSX.Element;
59
61
  readonly FileDropzone: ({ id: idProp, accept, multiple, onFilesChange, prompt, icon, hideFileList, label, isLabelHidden, description, errorMessage, isInvalid, isRequired, isDisabled, isReadOnly, name, }: import("./renderers-forms.js").FileDropzoneProps) => import("react").JSX.Element;
60
62
  readonly Form: ({ children, label, id, onSubmit, onReset, action, method, validationErrors, validationBehavior, isPending, }: import("./renderers-forms.js").FormProps) => import("react").JSX.Element;
63
+ readonly FormGrid: ({ children, columns }: import("./renderers-forms.js").FormGridProps) => import("react").JSX.Element;
61
64
  readonly NumberField: ({ isSkeleton, ...props }: import("./renderers-forms.js").NumberFieldProps) => import("react").JSX.Element;
62
65
  readonly RadioGroup: ({ isSkeleton, ...props }: import("./renderers-forms.js").RadioGroupProps) => import("react").JSX.Element;
63
66
  readonly SearchField: ({ isSkeleton, ...props }: import("./renderers-forms.js").SearchFieldProps) => import("react").JSX.Element;
@@ -103,6 +106,7 @@ export declare const COMMON_GRAMMAR_COMPONENTS: Readonly<{
103
106
  readonly NavigationFeatureNav: ({ identity, navigation, navigationLabel, compactNavigationTrigger, compactNavigationTriggerLabel, actions, actionsLabel, featureNavigation, featureNavigationLabel, measure, position, className, ...headerProps }: import("./renderers.js").NavigationFeatureNavProps) => import("react").JSX.Element;
104
107
  readonly NavLandmark: (props: import("./renderers.js").NavLandmarkProps) => import("react").JSX.Element;
105
108
  readonly OtpInput: (props: import("./renderers.js").OtpInputProps) => import("react").JSX.Element;
109
+ readonly Page: ({ header, children, measure, isSkeleton, className }: import("./renderers.js").PageProps) => import("react").JSX.Element;
106
110
  readonly PageContainer: ({ className, measure, ...props }: import("./renderers.js").PageContainerProps) => import("react").JSX.Element;
107
111
  readonly PageHeader: ({ title, titleId, breadcrumbs, description, meta, status, mark, actions, tabs, measure, isSkeleton, className, }: import("./renderers.js").PageHeaderProps) => import("react").JSX.Element;
108
112
  readonly PinnedActionBar: (props: import("./renderers.js").PinnedActionBarProps) => 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
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"}
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { Badge, Button, Code, ChatBubble, ChatWorkspace, Divider, EmptyNotice, FencedCodeBlock, FillViewport, GrammarRoot, Heading, HorizontalScrollRegion, Icon, IconButton, IconTile, IncludedMark, Input, Label, LeadingNumber, List, ListItem, ListRow, MarkdownArticle, MarkdownTableFrame, MediaFrame, NavigationFeatureNav, NavLandmark, OtpInput, PageContainer, PageHeader, PinnedActionBar, PressableField, PrimaryRailLayout, Progress, Rail, RankArtwork, Region, RelativeTime, SectionHeader, Sidebar, StateMark, StaticStateRow, StatusDot, Subnav, SurfaceAccordionCard, SurfaceCard, SurfaceCopyGroup, SurfaceListCard, Tabs, Terminal, Text, TextAction, Tooltip, VerticalScrollRegion, WorkspaceShell, } from "./renderers.js";
2
+ import { Badge, Button, Code, ChatBubble, ChatWorkspace, Divider, EmptyNotice, FencedCodeBlock, FillViewport, GrammarRoot, Heading, HorizontalScrollRegion, Icon, IconButton, IconTile, IncludedMark, Input, Label, LeadingNumber, List, ListItem, ListRow, MarkdownArticle, MarkdownTableFrame, MediaFrame, NavigationFeatureNav, NavLandmark, OtpInput, Page, PageContainer, PageHeader, PinnedActionBar, PressableField, PrimaryRailLayout, Progress, Rail, RankArtwork, Region, RelativeTime, SectionHeader, Sidebar, StateMark, StaticStateRow, StatusDot, Subnav, SurfaceAccordionCard, SurfaceCard, SurfaceCopyGroup, SurfaceListCard, Tabs, Terminal, Text, TextAction, Tooltip, VerticalScrollRegion, WorkspaceShell, } from "./renderers.js";
3
3
  import { COMMON_FORMS_COMPONENTS } from "./renderers-forms.js";
4
4
  import { COMMON_OVERLAYS_COMPONENTS } from "./renderers-overlays.js";
5
5
  import { COMMON_NAVIGATION_COMPONENTS } from "./renderers-navigation.js";
@@ -7,7 +7,7 @@ export const COMMON_GRAMMAR_COMPONENTS = Object.freeze({
7
7
  Badge, Button, Code, ChatBubble, ChatWorkspace, Divider, EmptyNotice, FencedCodeBlock, FillViewport, GrammarRoot,
8
8
  Heading, HorizontalScrollRegion, Icon, IconButton, IconTile, IncludedMark, Input,
9
9
  Label, LeadingNumber, List, ListItem, ListRow, MarkdownArticle, MarkdownTableFrame, MediaFrame,
10
- NavigationFeatureNav, NavLandmark, OtpInput, PageContainer, PageHeader, PinnedActionBar, PressableField, PrimaryRailLayout,
10
+ NavigationFeatureNav, NavLandmark, OtpInput, Page, PageContainer, PageHeader, PinnedActionBar, PressableField, PrimaryRailLayout,
11
11
  Progress, Rail, RankArtwork, Region, RelativeTime, SectionHeader, Sidebar, StateMark, StaticStateRow, StatusDot, Subnav,
12
12
  SurfaceAccordionCard, SurfaceCard, SurfaceCopyGroup, SurfaceListCard, Tabs, Terminal, Text,
13
13
  TextAction, Tooltip, VerticalScrollRegion, WorkspaceShell,
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/common/registry.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EACH,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAChH,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAChF,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,UAAU,EAC9F,oBAAoB,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAC1H,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EACvH,oBAAoB,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAC1F,UAAU,EAAE,OAAO,EAAE,oBAAoB,EAAE,cAAc,GAC5D,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAA;AAWxE,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC;IACnD,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW;IAChH,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK;IAChF,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,UAAU;IAC9F,oBAAoB,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB;IAC1H,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM;IACvH,oBAAoB,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI;IAC1F,UAAU,EAAE,OAAO,EAAE,oBAAoB,EAAE,cAAc;IACzD,GAAG,uBAAuB;IAC1B,GAAG,0BAA0B;IAC7B,GAAG,4BAA4B;CACzB,CAAC,CAAA;AAeX,yEAAyE;AACzE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAIjC,UAOD,EAA+C,EAAE;IAC9C,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAA;IAC5E,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjE,IAAI,CAAC,CAAC,IAAI,IAAI,yBAAyB,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,4CAA4C,IAAI,EAAE,CAAC,CAAA;IACrH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/D,IAAI,IAAI,IAAI,yBAAyB;YAAE,MAAM,IAAI,SAAS,CAAC,qDAAqD,IAAI,EAAE,CAAC,CAAA;IAC3H,CAAC;IACD,MAAM,gBAAgB,GAAgC,EAAE,CAAA;IACxD,MAAM,CAAC,MAAM,CACT,gBAAgB,EAChB,yBAAyB,EACzB,UAAU,CAAC,UAAU,CAAC,YAAY,EAClC,UAAU,CAAC,UAAU,CAAC,UAAU,CACnC,CAAA;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,EAAE,EAAE,UAAU,CAAC,EAAE;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;QACzH,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAuE;QACjH,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC;KACtE,CAAC,CAAA;AACN,CAAC,CAAA"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/common/registry.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EACH,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAChH,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAChF,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,UAAU,EAC9F,oBAAoB,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAChI,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EACvH,oBAAoB,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAC1F,UAAU,EAAE,OAAO,EAAE,oBAAoB,EAAE,cAAc,GAC5D,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAA;AAWxE,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC;IACnD,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW;IAChH,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK;IAChF,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,UAAU;IAC9F,oBAAoB,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB;IAChI,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM;IACvH,oBAAoB,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI;IAC1F,UAAU,EAAE,OAAO,EAAE,oBAAoB,EAAE,cAAc;IACzD,GAAG,uBAAuB;IAC1B,GAAG,0BAA0B;IAC7B,GAAG,4BAA4B;CACzB,CAAC,CAAA;AAeX,yEAAyE;AACzE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAIjC,UAOD,EAA+C,EAAE;IAC9C,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAA;IAC5E,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjE,IAAI,CAAC,CAAC,IAAI,IAAI,yBAAyB,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,4CAA4C,IAAI,EAAE,CAAC,CAAA;IACrH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/D,IAAI,IAAI,IAAI,yBAAyB;YAAE,MAAM,IAAI,SAAS,CAAC,qDAAqD,IAAI,EAAE,CAAC,CAAA;IAC3H,CAAC;IACD,MAAM,gBAAgB,GAAgC,EAAE,CAAA;IACxD,MAAM,CAAC,MAAM,CACT,gBAAgB,EAChB,yBAAyB,EACzB,UAAU,CAAC,UAAU,CAAC,YAAY,EAClC,UAAU,CAAC,UAAU,CAAC,UAAU,CACnC,CAAA;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACjB,EAAE,EAAE,UAAU,CAAC,EAAE;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;QACzH,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAuE;QACjH,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC;KACtE,CAAC,CAAA;AACN,CAAC,CAAA"}
@@ -10,11 +10,13 @@ export { TimeField, type TimeFieldProps } from "../core/primitive/TimeField/inde
10
10
  export { FileDropzone, type FileDropzoneProps } from "../core/primitive/FileDropzone/index.js";
11
11
  export { Fieldset, type FieldsetProps } from "../core/composite/Fieldset/index.js";
12
12
  export { Form, type FormProps, type FormValidationErrors } from "../core/composite/Form/index.js";
13
+ export { FormGrid, type FormGridColumns, type FormGridProps } from "../core/composite/FormGrid/index.js";
13
14
  export { CheckboxGroup, type CheckboxGroupProps, type ChoiceOption, type ChoiceOrientation } from "../core/composite/CheckboxGroup/index.js";
14
15
  export { RadioGroup, type RadioGroupProps } from "../core/composite/RadioGroup/index.js";
15
16
  export { SegmentedControl, type SegmentOption, type SegmentedControlProps, type SegmentedControlSize } from "../core/composite/SegmentedControl/index.js";
16
17
  export { ButtonGroup, type ButtonGroupProps } from "../core/composite/ButtonGroup/index.js";
17
18
  export { Select, type ListOption, type SelectProps } from "../core/branch/Select/index.js";
19
+ export { CopyField, type CopyFieldMaskedProps, type CopyFieldPlainProps, type CopyFieldProps, type CopyFieldState } from "../core/branch/CopyField/index.js";
18
20
  export { ComboBox, type ComboBoxProps } from "../core/branch/ComboBox/index.js";
19
21
  export { DatePicker, type DatePickerProps } from "../core/branch/DatePicker/index.js";
20
22
  export { DateRangePicker, type DateRangePickerProps, type DateRangeValue } from "../core/branch/DateRangePicker/index.js";
@@ -24,6 +26,7 @@ export declare const COMMON_FORMS_COMPONENTS: Readonly<{
24
26
  readonly Checkbox: ({ isSkeleton, ...props }: import("./renderers-forms.js").CheckboxProps) => import("react").JSX.Element;
25
27
  readonly CheckboxGroup: ({ isSkeleton, ...props }: import("./renderers-forms.js").CheckboxGroupProps) => import("react").JSX.Element;
26
28
  readonly ComboBox: ({ isSkeleton, ...props }: import("./renderers-forms.js").ComboBoxProps) => import("react").JSX.Element;
29
+ readonly CopyField: (props: import("./renderers-forms.js").CopyFieldProps) => import("react").JSX.Element;
27
30
  readonly DateField: ({ value, defaultValue, onValueChange, minValue, maxValue, granularity, variant: requestedVariant, ...field }: import("./renderers-forms.js").DateFieldProps) => import("react").JSX.Element;
28
31
  readonly DatePicker: ({ value, defaultValue, onValueChange, minValue, maxValue, isDateUnavailable, granularity, variant: requestedVariant, ...field }: import("./renderers-forms.js").DatePickerProps) => import("react").JSX.Element;
29
32
  readonly DateRangePicker: ({ value, defaultValue, onValueChange, minValue, maxValue, isDateUnavailable, allowsNonContiguousRanges, granularity, startName, endName, variant: requestedVariant, ...field }: import("./renderers-forms.js").DateRangePickerProps) => import("react").JSX.Element;
@@ -31,6 +34,7 @@ export declare const COMMON_FORMS_COMPONENTS: Readonly<{
31
34
  readonly Fieldset: ({ legend, isLegendHidden, description, errorMessage, children, actions, isDisabled }: import("./renderers-forms.js").FieldsetProps) => import("react").JSX.Element;
32
35
  readonly FileDropzone: ({ id: idProp, accept, multiple, onFilesChange, prompt, icon, hideFileList, label, isLabelHidden, description, errorMessage, isInvalid, isRequired, isDisabled, isReadOnly, name, }: import("./renderers-forms.js").FileDropzoneProps) => import("react").JSX.Element;
33
36
  readonly Form: ({ children, label, id, onSubmit, onReset, action, method, validationErrors, validationBehavior, isPending, }: import("./renderers-forms.js").FormProps) => import("react").JSX.Element;
37
+ readonly FormGrid: ({ children, columns }: import("./renderers-forms.js").FormGridProps) => import("react").JSX.Element;
34
38
  readonly NumberField: ({ isSkeleton, ...props }: import("./renderers-forms.js").NumberFieldProps) => import("react").JSX.Element;
35
39
  readonly RadioGroup: ({ isSkeleton, ...props }: import("./renderers-forms.js").RadioGroupProps) => import("react").JSX.Element;
36
40
  readonly SearchField: ({ isSkeleton, ...props }: import("./renderers-forms.js").SearchFieldProps) => import("react").JSX.Element;
@@ -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,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,KAAK,oBAAoB,EAAE,MAAM,6CAA6C,CAAA;AACzJ,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
+ {"version":3,"file":"renderers-forms.d.ts","sourceRoot":"","sources":["../../src/common/renderers-forms.ts"],"names":[],"mappings":"AAyBA,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,QAAQ,EAAE,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACxG,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,KAAK,oBAAoB,EAAE,MAAM,6CAA6C,CAAA;AACzJ,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,SAAS,EAAE,KAAK,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAC5J,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"}
@@ -12,11 +12,13 @@ import { TimeField } from "../core/primitive/TimeField/index.js";
12
12
  import { FileDropzone } from "../core/primitive/FileDropzone/index.js";
13
13
  import { Fieldset } from "../core/composite/Fieldset/index.js";
14
14
  import { Form } from "../core/composite/Form/index.js";
15
+ import { FormGrid } from "../core/composite/FormGrid/index.js";
15
16
  import { CheckboxGroup } from "../core/composite/CheckboxGroup/index.js";
16
17
  import { RadioGroup } from "../core/composite/RadioGroup/index.js";
17
18
  import { SegmentedControl } from "../core/composite/SegmentedControl/index.js";
18
19
  import { ButtonGroup } from "../core/composite/ButtonGroup/index.js";
19
20
  import { Select } from "../core/branch/Select/index.js";
21
+ import { CopyField } from "../core/branch/CopyField/index.js";
20
22
  import { ComboBox } from "../core/branch/ComboBox/index.js";
21
23
  import { DatePicker } from "../core/branch/DatePicker/index.js";
22
24
  import { DateRangePicker } from "../core/branch/DateRangePicker/index.js";
@@ -32,18 +34,20 @@ export { TimeField } from "../core/primitive/TimeField/index.js";
32
34
  export { FileDropzone } from "../core/primitive/FileDropzone/index.js";
33
35
  export { Fieldset } from "../core/composite/Fieldset/index.js";
34
36
  export { Form } from "../core/composite/Form/index.js";
37
+ export { FormGrid } from "../core/composite/FormGrid/index.js";
35
38
  export { CheckboxGroup } from "../core/composite/CheckboxGroup/index.js";
36
39
  export { RadioGroup } from "../core/composite/RadioGroup/index.js";
37
40
  export { SegmentedControl } from "../core/composite/SegmentedControl/index.js";
38
41
  export { ButtonGroup } from "../core/composite/ButtonGroup/index.js";
39
42
  export { Select } from "../core/branch/Select/index.js";
43
+ export { CopyField } from "../core/branch/CopyField/index.js";
40
44
  export { ComboBox } from "../core/branch/ComboBox/index.js";
41
45
  export { DatePicker } from "../core/branch/DatePicker/index.js";
42
46
  export { DateRangePicker } from "../core/branch/DateRangePicker/index.js";
43
47
  /** The form group of Common renderers, spread into `COMMON_GRAMMAR_COMPONENTS`. */
44
48
  export const COMMON_FORMS_COMPONENTS = Object.freeze({
45
- ButtonGroup, Checkbox, CheckboxGroup, ComboBox, DateField, DatePicker, DateRangePicker, Field,
46
- Fieldset, FileDropzone, Form, NumberField, RadioGroup, SearchField, SegmentedControl, Select,
49
+ ButtonGroup, Checkbox, CheckboxGroup, ComboBox, CopyField, DateField, DatePicker, DateRangePicker, Field,
50
+ Fieldset, FileDropzone, Form, FormGrid, NumberField, RadioGroup, SearchField, SegmentedControl, Select,
47
51
  Slider, Switch, Textarea, TimeField,
48
52
  });
49
53
  //# sourceMappingURL=renderers-forms.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderers-forms.js","sourceRoot":"","sources":["../../src/common/renderers-forms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderers-forms.js","sourceRoot":"","sources":["../../src/common/renderers-forms.ts"],"names":[],"mappings":"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"}