@getdom/studio 0.1.0 → 0.2.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.
Files changed (101) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +53 -1
  3. package/SKILL.md +21 -1
  4. package/package.json +6 -2
  5. package/public/llms.txt +13 -2
  6. package/src/pages/_layout/componentCatalog.generated.js +1185 -44
  7. package/src/pages/_layout/componentLoaders.js +41 -0
  8. package/src/pages/_layout/componentManager.js +38 -27
  9. package/src/pages/_layout/componentRuntimeRecords.js +3 -1
  10. package/src/pages/charts/_shared/ChartContainer.vue +67 -0
  11. package/src/pages/charts/_shared/ChartLegend.vue +22 -0
  12. package/src/pages/charts/_shared/ChartTooltip.vue +18 -0
  13. package/src/pages/charts/_shared/DonutRenderer.vue +33 -0
  14. package/src/pages/charts/_shared/XYChart.vue +140 -0
  15. package/src/pages/charts/_shared/XYRenderer.vue +90 -0
  16. package/src/pages/charts/_shared/chartProps.js +23 -0
  17. package/src/pages/charts/_shared/chartUtils.js +95 -0
  18. package/src/pages/charts/area-chart/DomAreaChart.vue +27 -0
  19. package/src/pages/charts/bar-chart/DomBarChart.vue +29 -0
  20. package/src/pages/charts/date-range-picker/DomDateRangePicker.vue +104 -0
  21. package/src/pages/charts/date-range-picker/dateRange.js +69 -0
  22. package/src/pages/charts/donut-chart/DomDonutChart.vue +117 -0
  23. package/src/pages/charts/line-chart/DomLineChart.vue +26 -0
  24. package/src/pages/charts/metric-card/DomMetricCard.vue +49 -0
  25. package/src/pages/charts/sparkline/DomSparkline.vue +30 -0
  26. package/src/pages/components/_shared/media/MediaDeviceSelect.vue +28 -0
  27. package/src/pages/components/_shared/media/useMediaInput.js +200 -0
  28. package/src/pages/components/audio-controls/DomAudioControls.vue +91 -0
  29. package/src/pages/components/audio-input/DomAudioInput.vue +58 -0
  30. package/src/pages/components/button/DomButton.vue +10 -4
  31. package/src/pages/components/button/buttonStyles.js +5 -0
  32. package/src/pages/components/camera-input/DomCameraInput.vue +75 -0
  33. package/src/pages/components/command-palette/DomCommandPalette.vue +12 -2
  34. package/src/pages/components/dialog/DomDialog.vue +338 -36
  35. package/src/pages/components/icon-button/DomIconButton.vue +8 -2
  36. package/src/pages/components/menu-stack/DomMenuStack.vue +111 -0
  37. package/src/pages/components/menu-stack/menuTree.js +35 -0
  38. package/src/pages/components/popover/DomPopover.vue +1 -53
  39. package/src/pages/components/popover/popover.css +50 -0
  40. package/src/pages/components/video-feed/DomVideoFeed.vue +551 -0
  41. package/src/pages/data/agent-chat/DomAgentChatShell.vue +1 -0
  42. package/src/pages/data/agent-chat/DomAgentConversation.vue +1 -0
  43. package/src/pages/data/agent-chat/DomAgentConversationList.vue +1 -0
  44. package/src/pages/data/gantt/DomGantt.vue +788 -0
  45. package/src/pages/data/gantt/ganttTime.js +223 -0
  46. package/src/pages/data/month-calendar/DomMonthCalendar.vue +84 -9
  47. package/src/pages/data/notification-inbox/DomNotificationInbox.vue +505 -0
  48. package/src/pages/data/notification-inbox/notificationPresentation.js +34 -0
  49. package/src/pages/designer/_shared/ControlIconButton.vue +62 -0
  50. package/src/pages/designer/_shared/StyleControlSection.vue +59 -0
  51. package/src/pages/designer/_shared/cssEditorContext.js +19 -0
  52. package/src/pages/designer/backdrop-editor/BackdropControl.vue +57 -0
  53. package/src/pages/designer/backdrop-editor/DomBackdropEditor.vue +33 -0
  54. package/src/pages/designer/backdrop-editor/backdropModel.js +39 -0
  55. package/src/pages/designer/background-editor/BackgroundLayers.vue +210 -0
  56. package/src/pages/designer/background-editor/DomBackgroundEditor.vue +33 -0
  57. package/src/pages/designer/background-editor/backgroundModel.js +102 -0
  58. package/src/pages/designer/border-editor/BorderControl.vue +72 -0
  59. package/src/pages/designer/border-editor/DomBorderEditor.vue +34 -0
  60. package/src/pages/designer/border-editor/borderModel.js +21 -0
  61. package/src/pages/designer/color-swatch/DomColorSwatch.vue +95 -0
  62. package/src/pages/designer/frame/DomDesignerFrame.vue +16 -0
  63. package/src/pages/designer/frame/DomFrameLayoutEditor.vue +41 -0
  64. package/src/pages/designer/frame/frameLayout.js +93 -0
  65. package/src/pages/designer/layers/DomDesignerLayers.vue +11 -0
  66. package/src/pages/designer/shadow-editor/DomShadowEditor.vue +32 -0
  67. package/src/pages/designer/shadow-editor/ShadowLayers.vue +185 -0
  68. package/src/pages/designer/shadow-editor/shadowModel.js +73 -0
  69. package/src/pages/designer/stage/DesignerBounds.vue +31 -0
  70. package/src/pages/designer/stage/DomDesignerStage.vue +237 -0
  71. package/src/pages/designer/stage/SpacingGuides.vue +33 -0
  72. package/src/pages/designer/stage/resizeGeometry.js +15 -0
  73. package/src/pages/designer/stage/snapGeometry.js +69 -0
  74. package/src/pages/designer/stage/snapPipeline.js +17 -0
  75. package/src/pages/designer/stage/spacingGeometry.js +129 -0
  76. package/src/pages/forms/native-select/DomNativeSelect.vue +8 -3
  77. package/src/pages/forms/number-input/DomNumberInput.vue +39 -3
  78. package/src/pages/forms/range-input/DomRangeInput.vue +75 -23
  79. package/src/pages/forms/textarea-composer/DomTextareaComposer.vue +91 -9
  80. package/src/pages/forms/toggle/DomToggle.vue +1 -1
  81. package/src/pages/lib/headless/base.js +10 -5
  82. package/src/pages/lib/headless/dialog.js +25 -6
  83. package/src/pages/lib/headless/drawer.js +49 -21
  84. package/src/pages/lib/vue/index.d.ts +1161 -14
  85. package/src/pages/lib/vue/index.js +43 -0
  86. package/src/pages/mobile/_shared/interactionMath.js +46 -0
  87. package/src/pages/mobile/_shared/useKeyboardViewport.js +91 -0
  88. package/src/pages/mobile/action-sheet/DomActionSheet.vue +102 -65
  89. package/src/pages/mobile/bottom-nav/DomAppBottomNav.vue +4 -2
  90. package/src/pages/mobile/bottom-sheet/DomBottomSheet.vue +221 -0
  91. package/src/pages/mobile/list-item/DomAppListItem.vue +6 -6
  92. package/src/pages/mobile/profile/DomAppProfile.vue +42 -0
  93. package/src/pages/mobile/safe-area/DomSafeArea.vue +6 -6
  94. package/src/pages/mobile/shell/DomAppShell.vue +60 -9
  95. package/src/pages/mobile/stack/DomAppStack.vue +214 -55
  96. package/src/pages/mobile/swipe-actions/DomSwipeActions.vue +346 -0
  97. package/src/pages/mobile/top-bar/DomAppTopBar.vue +3 -3
  98. package/src/pages/visual/audio-visualizer/DomAudioVisualizer.vue +143 -0
  99. package/src/style.css +2 -445
  100. package/src/tailwind.css +351 -0
  101. package/src/theme.css +99 -0
@@ -2,6 +2,34 @@
2
2
  // Generated by scripts/generate-types.mjs. Do not edit by hand.
3
3
  import type { ComputedRef, DefineSetupFnComponent, Directive, InjectionKey, Ref, SlotsType } from 'vue';
4
4
 
5
+ /** An application-owned row command. Full-swipe execution is opt-in. */
6
+ export interface SwipeAction {
7
+ value: string | number;
8
+ label: string;
9
+ icon?: string;
10
+ variant?: 'default' | 'success' | 'danger';
11
+ disabled?: boolean;
12
+ fullSwipe?: boolean;
13
+ [key: string]: unknown;
14
+ }
15
+ /** Action requested by a revealed button, explicit menu, or full swipe. */
16
+ export interface SwipeActionPayload { action: SwipeAction; side: 'start' | 'end'; source: 'button' | 'swipe'; }
17
+ /** An application-owned video with a stable identity and an optional caption track. */
18
+ export interface VideoFeedItem {
19
+ id: string | number;
20
+ src: string;
21
+ title: string;
22
+ poster?: string;
23
+ creator?: string;
24
+ description?: string;
25
+ objectPosition?: string;
26
+ tracks?: Array<VideoFeedTrack>;
27
+ [key: string]: unknown;
28
+ }
29
+ /** WebVTT captions served from the same origin or with appropriate CORS headers. */
30
+ export interface VideoFeedTrack { src: string; srclang: string; label: string; default?: boolean; }
31
+ export interface ChartDateRange { start: string; end: string; }
32
+ export interface ChartSeries { key: string; label?: string; color?: string; dashed?: boolean; }
5
33
  export type JsonPrimitive = string | number | boolean | null;
6
34
  export type JsonValue = JsonPrimitive | { [key: string]: JsonValue } | Array<JsonValue>;
7
35
  export type DomUnknownRecord = Record<string, unknown>;
@@ -32,6 +60,38 @@ export interface FilterBarQuery {
32
60
  search: string;
33
61
  filters: Record<string, unknown>;
34
62
  }
63
+ /** Application-owned row and exclusive interval requested by DomGantt. */
64
+ export interface GanttRangePayload {
65
+ row: DomUnknownRecord;
66
+ rowKey: ResourceKey;
67
+ startDate: Date;
68
+ endDate: Date;
69
+ durationMinutes: number;
70
+ event: Event;
71
+ }
72
+ /** Source records and resolved dates supplied when a Gantt item is activated. */
73
+ export interface GanttItemPayload {
74
+ item: DomUnknownRecord;
75
+ row: DomUnknownRecord;
76
+ rowKey: ResourceKey;
77
+ startDate: Date;
78
+ endDate: Date;
79
+ event: Event;
80
+ }
81
+ /** Application-owned move or resize proposal; source records are never mutated. */
82
+ export interface GanttItemChangePayload {
83
+ item: DomUnknownRecord;
84
+ sourceRow: DomUnknownRecord;
85
+ targetRow: DomUnknownRecord;
86
+ sourceRowKey: ResourceKey;
87
+ targetRowKey: ResourceKey;
88
+ previousStartDate: Date;
89
+ previousEndDate: Date;
90
+ startDate: Date;
91
+ endDate: Date;
92
+ durationMinutes: number;
93
+ event: Event;
94
+ }
35
95
  /** Resolved presentation contract supplied to activity-timeline slots. */
36
96
  export interface ActivityTimelineRecord {
37
97
  row: DomUnknownRecord;
@@ -188,6 +248,21 @@ export interface IconSelectorItem {
188
248
  component?: DomVueComponent;
189
249
  [key: string]: unknown;
190
250
  }
251
+ /** A contained menu page, route link, or application-owned action. */
252
+ export interface MenuStackItem {
253
+ id: string;
254
+ label?: string;
255
+ title?: string;
256
+ description?: string;
257
+ meta?: string;
258
+ disabled?: boolean;
259
+ children?: Array<MenuStackItem>;
260
+ component?: DomVueComponent;
261
+ props?: Record<string, unknown>;
262
+ slot?: string;
263
+ to?: string | Record<string, unknown>;
264
+ href?: string;
265
+ }
191
266
  export interface DomMenuItemRecord {
192
267
  label?: string;
193
268
  value?: string | number;
@@ -906,6 +981,26 @@ export interface ToastApi {
906
981
  dismiss(id: string): void;
907
982
  clear(): void;
908
983
  }
984
+ export type InAppNotificationSeverity = 'info' | 'success' | 'warning' | 'error';
985
+ export type InAppNotificationPresentation = 'inbox' | 'toast' | 'banner';
986
+ export interface InAppNotificationAction { label: string; href: string; }
987
+ export interface InAppNotificationMessage {
988
+ title: string;
989
+ body: string;
990
+ severity?: InAppNotificationSeverity;
991
+ presentation?: InAppNotificationPresentation;
992
+ action?: InAppNotificationAction;
993
+ }
994
+ export interface InAppNotificationItem {
995
+ id: string;
996
+ type: string;
997
+ message: InAppNotificationMessage;
998
+ createdAt: string;
999
+ readAt: string | null;
1000
+ dismissedAt: string | null;
1001
+ archivedAt: string | null;
1002
+ }
1003
+ export interface NotificationToastOptions { duration?: number; dismissible?: boolean; }
909
1004
  export type DialogTone = 'default' | 'danger' | string;
910
1005
  export type DialogType = 'dialog' | 'confirm' | 'form' | string;
911
1006
  export type DialogFormSchema = Array<DomFormNode>;
@@ -1010,6 +1105,10 @@ export interface DomButtonProps {
1010
1105
  * Five balanced sizes.
1011
1106
  */
1012
1107
  size?: "xs" | "sm" | "md" | "lg" | "xl";
1108
+ /**
1109
+ * Show native press feedback for an external activation, such as a keyboard shortcut. Does not represent toggle selection.
1110
+ */
1111
+ pressed?: boolean;
1013
1112
  /**
1014
1113
  * Show a spinner and block interaction.
1015
1114
  */
@@ -1046,6 +1145,10 @@ export interface DomIconButtonProps {
1046
1145
  * Show active/selected state.
1047
1146
  */
1048
1147
  active?: boolean;
1148
+ /**
1149
+ * Show native press feedback for an external activation, such as a keyboard shortcut. Does not represent toggle selection.
1150
+ */
1151
+ pressed?: boolean;
1049
1152
  /**
1050
1153
  * Show a loading spinner and block interaction.
1051
1154
  */
@@ -1302,6 +1405,22 @@ export interface DomDialogProps {
1302
1405
  * Show the footer region and default Close action when no footer slot is provided.
1303
1406
  */
1304
1407
  footer?: boolean;
1408
+ /**
1409
+ * Whether the optional companion slot is visible.
1410
+ */
1411
+ companionOpen?: boolean;
1412
+ /**
1413
+ * Desktop width of the companion surface.
1414
+ */
1415
+ companionWidth?: string | number;
1416
+ /**
1417
+ * Viewport width at which the companion switches from a side-by-side surface to a covering dialog.
1418
+ */
1419
+ companionBreakpoint?: string | number;
1420
+ /**
1421
+ * Accessible name for the companion surface.
1422
+ */
1423
+ companionLabel?: string;
1305
1424
  }
1306
1425
  export declare const DomDialog: DomComponent<DomDialogProps>;
1307
1426
 
@@ -1362,6 +1481,123 @@ export interface DomLightboxProps {
1362
1481
  }
1363
1482
  export declare const DomLightbox: DomComponent<DomLightboxProps>;
1364
1483
 
1484
+ /** VideoFeedItem, VideoFeedTrack payload types are exported from this module. */
1485
+ export interface DomVideoFeedProps {
1486
+ /**
1487
+ * Video records with a unique id, src, and title. Optional poster, creator, description, objectPosition, and WebVTT tracks.
1488
+ */
1489
+ items?: Array<VideoFeedItem>;
1490
+ /**
1491
+ * Active item index; supports v-model:index.
1492
+ */
1493
+ index?: number;
1494
+ /**
1495
+ * Feed height. Use a CSS length, or 100% inside an explicitly sized parent.
1496
+ */
1497
+ height?: string;
1498
+ /**
1499
+ * Initial sound preference; supports v-model:muted. Muted playback is most compatible with autoplay.
1500
+ */
1501
+ muted?: boolean;
1502
+ /**
1503
+ * Play the visible item automatically, except when reduced motion or data saving is requested.
1504
+ */
1505
+ autoplay?: boolean;
1506
+ /**
1507
+ * Loop the active video. Does not wrap feed navigation.
1508
+ */
1509
+ loop?: boolean;
1510
+ /**
1511
+ * Fill the portrait frame or preserve the complete source image.
1512
+ */
1513
+ fit?: 'cover' | 'contain';
1514
+ /**
1515
+ * Accessible name of the feed.
1516
+ */
1517
+ label?: string;
1518
+ }
1519
+ export declare const DomVideoFeed: DomComponent<DomVideoFeedProps>;
1520
+
1521
+ export interface DomAudioControlsProps {
1522
+ /**
1523
+ * Button label before microphone capture starts.
1524
+ */
1525
+ label?: string;
1526
+ /**
1527
+ * Input device ID, or empty for system default. Supports v-model:deviceId.
1528
+ */
1529
+ deviceId?: string;
1530
+ /**
1531
+ * Mute the capture track while keeping its device open. Supports v-model:muted.
1532
+ */
1533
+ muted?: boolean;
1534
+ /**
1535
+ * Optional audio MediaTrackConstraints applied at start/selection. deviceId is controlled separately.
1536
+ */
1537
+ constraints?: MediaTrackConstraints | null;
1538
+ }
1539
+ export declare const DomAudioControls: DomComponent<DomAudioControlsProps>;
1540
+
1541
+ export interface DomAudioInputProps {
1542
+ /**
1543
+ * Microphone device ID, or empty for the system default. Supports v-model:deviceId.
1544
+ */
1545
+ deviceId?: string;
1546
+ /**
1547
+ * Mute current and future tracks without releasing the microphone. Supports v-model:muted.
1548
+ */
1549
+ muted?: boolean;
1550
+ /**
1551
+ * Optional audio MediaTrackConstraints, applied at start or selection. deviceId is controlled separately.
1552
+ */
1553
+ constraints?: MediaTrackConstraints | null;
1554
+ /**
1555
+ * Setup heading and device picker label.
1556
+ */
1557
+ label?: string;
1558
+ }
1559
+ export declare const DomAudioInput: DomComponent<DomAudioInputProps>;
1560
+
1561
+ export interface DomCameraInputProps {
1562
+ /**
1563
+ * Camera device ID, or empty for system default. Supports v-model:deviceId.
1564
+ */
1565
+ deviceId?: string;
1566
+ /**
1567
+ * Optional video MediaTrackConstraints such as facingMode or ideal width. Applied at start or selection.
1568
+ */
1569
+ constraints?: MediaTrackConstraints | null;
1570
+ /**
1571
+ * Mirror only the local preview for a front-facing camera. The emitted stream is unchanged.
1572
+ */
1573
+ mirror?: boolean;
1574
+ /**
1575
+ * Setup heading and camera picker label.
1576
+ */
1577
+ label?: string;
1578
+ }
1579
+ export declare const DomCameraInput: DomComponent<DomCameraInputProps>;
1580
+
1581
+ export interface DomAudioVisualizerProps {
1582
+ /**
1583
+ * Application-owned MediaStream. The visualizer never stops its tracks.
1584
+ */
1585
+ stream?: MediaStream | null;
1586
+ /**
1587
+ * Show a flat baseline while the input is muted.
1588
+ */
1589
+ muted?: boolean;
1590
+ /**
1591
+ * Number of rounded bars, clamped to 8–64.
1592
+ */
1593
+ bars?: number;
1594
+ /**
1595
+ * Accessible name for the live input meter.
1596
+ */
1597
+ label?: string;
1598
+ }
1599
+ export declare const DomAudioVisualizer: DomComponent<DomAudioVisualizerProps>;
1600
+
1365
1601
  export interface DomTabsProps {
1366
1602
  modelValue?: string;
1367
1603
  tabs: Array<unknown>;
@@ -1417,6 +1653,30 @@ export interface DomAccordionProps {
1417
1653
  }
1418
1654
  export declare const DomAccordion: DomComponent<DomAccordionProps>;
1419
1655
 
1656
+ export interface DomMenuStackProps {
1657
+ /**
1658
+ * Nested items: unique id, label, description, meta, disabled, children, component, props, slot, to, or href. Page items open their children; use a leaf for a route or action.
1659
+ */
1660
+ items?: Array<MenuStackItem>;
1661
+ /**
1662
+ * Root page heading.
1663
+ */
1664
+ title?: string;
1665
+ /**
1666
+ * Bounded container height. Use 100% in an explicitly sized parent.
1667
+ */
1668
+ height?: string;
1669
+ /**
1670
+ * Controlled path of page ids starting with root. Bind with v-model:path.
1671
+ */
1672
+ path?: Array<string> | null;
1673
+ /**
1674
+ * Enable sliding transitions; reduced-motion preferences are respected.
1675
+ */
1676
+ animate?: boolean;
1677
+ }
1678
+ export declare const DomMenuStack: DomComponent<DomMenuStackProps>;
1679
+
1420
1680
  export interface DomMenuProps {
1421
1681
  /**
1422
1682
  * Menu rows. Use separator: true for dividers.
@@ -1826,6 +2086,86 @@ export interface DomToastItemProps {
1826
2086
  }
1827
2087
  export declare const DomToastItem: DomComponent<DomToastItemProps>;
1828
2088
 
2089
+ export interface DomNotificationInboxProps {
2090
+ /**
2091
+ * Application-owned durable notification items. The shape matches db3.ai InAppItem records.
2092
+ */
2093
+ items?: Array<InAppNotificationItem>;
2094
+ /**
2095
+ * Authoritative unread count for the full scoped inbox. Omit to count unread supplied items.
2096
+ */
2097
+ unreadCount?: number;
2098
+ /**
2099
+ * Show initial inbox loading placeholders when no items are available.
2100
+ */
2101
+ loading?: boolean;
2102
+ /**
2103
+ * Show refresh progress without replacing already loaded items.
2104
+ */
2105
+ refreshing?: boolean;
2106
+ /**
2107
+ * Show progress on the pagination action.
2108
+ */
2109
+ loadingMore?: boolean;
2110
+ /**
2111
+ * Item IDs with a durable state transition currently in flight.
2112
+ */
2113
+ updatingIds?: Array<string>;
2114
+ /**
2115
+ * Show a control that requests the next application-owned page.
2116
+ */
2117
+ hasMore?: boolean;
2118
+ /**
2119
+ * Compact recoverable error shown above the notification list.
2120
+ */
2121
+ error?: string;
2122
+ /**
2123
+ * Inbox panel heading.
2124
+ */
2125
+ title?: string;
2126
+ /**
2127
+ * Accessible label for the default bell trigger.
2128
+ */
2129
+ triggerLabel?: string;
2130
+ /**
2131
+ * Empty-state heading.
2132
+ */
2133
+ emptyTitle?: string;
2134
+ /**
2135
+ * Empty-state supporting copy.
2136
+ */
2137
+ emptyDescription?: string;
2138
+ /**
2139
+ * Pagination action label.
2140
+ */
2141
+ loadMoreLabel?: string;
2142
+ /**
2143
+ * Show the application-owned refresh action in the default header.
2144
+ */
2145
+ showRefresh?: boolean;
2146
+ /**
2147
+ * Show an archive action for every default notification row.
2148
+ */
2149
+ showArchive?: boolean;
2150
+ /**
2151
+ * Optional formatter receiving createdAt and the complete item.
2152
+ */
2153
+ formatTimestamp?: (createdAt: string, item: InAppNotificationItem) => string;
2154
+ /**
2155
+ * Preferred popover placement around the trigger.
2156
+ */
2157
+ position?: "bottom-end" | "bottom-start" | "top-end" | "top-start";
2158
+ /**
2159
+ * Tailwind width utilities applied to the popover panel.
2160
+ */
2161
+ panelWidth?: string;
2162
+ /**
2163
+ * CSS maximum height for the scrolling notification list.
2164
+ */
2165
+ maxHeight?: string;
2166
+ }
2167
+ export declare const DomNotificationInbox: DomComponent<DomNotificationInboxProps>;
2168
+
1829
2169
  export interface DomCommandPaletteProps {
1830
2170
  /**
1831
2171
  * Whether the palette is open.
@@ -2295,6 +2635,22 @@ export interface DomMonthCalendarProps {
2295
2635
  * Render weekday headers.
2296
2636
  */
2297
2637
  dayHeaders?: boolean;
2638
+ /**
2639
+ * Pin weekday headers to the active scrollport, below sticky month titles. When omitted, enabled in continuous mode and disabled in separated months.
2640
+ */
2641
+ stickyDayHeaders?: boolean;
2642
+ /**
2643
+ * Show the weekday name beside the date inside each day cell, including the mobile day list.
2644
+ */
2645
+ showDayNames?: boolean;
2646
+ /**
2647
+ * Highlight today with a cell outline, a coloured circle behind the date, or no visual indicator.
2648
+ */
2649
+ todayIndicator?: "cell" | "circle" | "none";
2650
+ /**
2651
+ * Classes for today’s date circle. Replaces the default primary background and foreground colours when todayIndicator is circle.
2652
+ */
2653
+ todayDateClass?: string | Array<unknown> | Record<string, unknown> | ((...args: Array<unknown>) => unknown);
2298
2654
  /**
2299
2655
  * Extra classes, or a function that receives a day cell and returns classes for the day cell.
2300
2656
  */
@@ -2443,6 +2799,91 @@ export interface DomWeekPlannerProps {
2443
2799
  }
2444
2800
  export declare const DomWeekPlanner: DomComponent<DomWeekPlannerProps>;
2445
2801
 
2802
+ /** GanttRangePayload, GanttItemPayload, GanttItemChangePayload payload types are exported from this module. */
2803
+ export interface DomGanttProps {
2804
+ /**
2805
+ * Application-owned people, projects, or feature rows.
2806
+ */
2807
+ rows?: Array<DomUnknownRecord>;
2808
+ /**
2809
+ * Application-owned scheduled items. Multiple items may share a row.
2810
+ */
2811
+ items?: Array<DomUnknownRecord>;
2812
+ rowKey?: ResourceKeyResolver;
2813
+ rowLabelKey?: ResourceFieldResolver;
2814
+ itemKey?: ResourceKeyResolver;
2815
+ itemRowKey?: ResourceFieldResolver;
2816
+ titleKey?: ResourceFieldResolver;
2817
+ startKey?: ResourceFieldResolver;
2818
+ endKey?: ResourceFieldResolver;
2819
+ durationKey?: ResourceFieldResolver;
2820
+ toneKey?: ResourceFieldResolver;
2821
+ /**
2822
+ * Whole local calendar days, or elapsed hours/minutes. An explicit end wins.
2823
+ */
2824
+ durationUnit?: "days" | "hours" | "minutes";
2825
+ /**
2826
+ * First local date of the scrollable range. Supply a stable value for SSR.
2827
+ */
2828
+ startDate?: string | Date | number;
2829
+ /**
2830
+ * Scrollable range in calendar days, from 1 to 3660. Change this or startDate to load another window.
2831
+ */
2832
+ days?: number;
2833
+ /**
2834
+ * Initial or v-model zoom. Days displays individual hours.
2835
+ */
2836
+ zoom?: "months" | "weeks" | "days";
2837
+ /**
2838
+ * Enable named row creation and pointer/keyboard time selection.
2839
+ */
2840
+ planMode?: boolean;
2841
+ /**
2842
+ * Allow items to move through time. Emits item-move; the application saves the change.
2843
+ */
2844
+ draggableItems?: boolean;
2845
+ /**
2846
+ * Allow moving items between rows when draggableItems is enabled. Enable for resource bookings; leave off for feature-based Gantt rows.
2847
+ */
2848
+ allowRowChange?: boolean;
2849
+ /**
2850
+ * Show a right-edge grip for shortening or extending an item. Emits item-resize.
2851
+ */
2852
+ resizableItems?: boolean;
2853
+ /**
2854
+ * Local start and exclusive end hour, e.g. [6, 18]. Outside hours are muted in day zoom.
2855
+ */
2856
+ workingHours?: [number, number];
2857
+ /**
2858
+ * Non-working weekdays: Sunday = 0, Saturday = 6. Muted, still selectable.
2859
+ */
2860
+ weekendDays?: Array<number>;
2861
+ /**
2862
+ * Compress out-of-hours time in day zoom. The toolbar can expand it again.
2863
+ */
2864
+ hideNonWorkingHours?: boolean;
2865
+ /**
2866
+ * Compress configured non-working weekdays at every zoom.
2867
+ */
2868
+ hideWeekends?: boolean;
2869
+ /**
2870
+ * Hourly-view selection snap in minutes (1–60). Other views snap to visible calendar days.
2871
+ */
2872
+ selectionStep?: number;
2873
+ /**
2874
+ * Minimum row height in pixels. Overlapping items expand the row.
2875
+ */
2876
+ rowHeight?: number;
2877
+ viewportHeight?: number;
2878
+ rowHeading?: string;
2879
+ addRowLabel?: string;
2880
+ showToolbar?: boolean;
2881
+ showCurrentTime?: boolean;
2882
+ loading?: boolean;
2883
+ ariaLabel?: string;
2884
+ }
2885
+ export declare const DomGantt: DomComponent<DomGanttProps>;
2886
+
2446
2887
  /** MediaBrowserItem, MediaBrowserBreadcrumb, MediaBrowserDroppedFile, MediaBrowserSelectionPayload, MediaBrowserMovePayload, MediaBrowserUploadPayload, MediaBrowserDetailPayload payload types are exported from this module. */
2447
2888
  export interface DomMediaBrowserProps {
2448
2889
  /**
@@ -4911,7 +5352,7 @@ export interface DomTextareaComposerProps {
4911
5352
  */
4912
5353
  submitting?: boolean;
4913
5354
  /**
4914
- * Submit on Enter while Shift + Enter continues to add a new line.
5355
+ * When enabled, Enter submits and Shift + Enter adds a new line. When disabled, Enter adds a new line and Shift + Enter submits.
4915
5356
  */
4916
5357
  submitOnEnter?: boolean;
4917
5358
  /**
@@ -5082,8 +5523,17 @@ export interface DomNumberInputProps {
5082
5523
  * Render default field chrome, or hide chrome while keeping form state wiring.
5083
5524
  */
5084
5525
  chrome?: "field" | "none" | false;
5526
+ /**
5527
+ * Minimum accepted number and native spinbutton boundary.
5528
+ */
5085
5529
  min?: number;
5530
+ /**
5531
+ * Maximum accepted number and native spinbutton boundary.
5532
+ */
5086
5533
  max?: number;
5534
+ /**
5535
+ * Increment used by the browser spin buttons and arrow keys.
5536
+ */
5087
5537
  step?: number;
5088
5538
  }
5089
5539
  export declare const DomNumberInput: DomComponent<DomNumberInputProps>;
@@ -5361,6 +5811,10 @@ export interface DomRangeInputProps {
5361
5811
  * Classes applied to the visual range track.
5362
5812
  */
5363
5813
  trackClass?: string | Array<unknown> | Record<string, unknown>;
5814
+ /**
5815
+ * Classes applied to the interactive track area, including its touch target height.
5816
+ */
5817
+ controlClass?: string | Array<unknown> | Record<string, unknown>;
5364
5818
  /**
5365
5819
  * Classes applied to the filled range track.
5366
5820
  */
@@ -6512,27 +6966,67 @@ export interface DomAppListItemProps {
6512
6966
  }
6513
6967
  export declare const DomAppListItem: DomComponent<DomAppListItemProps>;
6514
6968
 
6515
- export interface DomAppShellProps {
6969
+ export interface DomAppProfileProps {
6516
6970
  /**
6517
- * Use app for full-screen app views and card for inset surfaces.
6971
+ * Account holder name; also supplies initials if the image is unavailable.
6518
6972
  */
6519
- variant?: "app" | "card";
6973
+ name: string;
6974
+ /**
6975
+ * Optional account email shown below the name.
6976
+ */
6977
+ email?: string;
6978
+ /**
6979
+ * Profile image URL. Falls back to initials if it cannot load.
6980
+ */
6981
+ src?: string;
6982
+ /**
6983
+ * Profile action label. Set to an empty string to hide the default action.
6984
+ */
6985
+ actionLabel?: string;
6520
6986
  }
6521
- export declare const DomAppShell: DomComponent<DomAppShellProps>;
6987
+ export declare const DomAppProfile: DomComponent<DomAppProfileProps>;
6522
6988
 
6523
- export interface DomAppTopBarProps {
6989
+ export interface DomAppShellProps {
6524
6990
  /**
6525
- * Primary title shown in the app bar.
6991
+ * Resize to the visible viewport while editing. Use none when the native host owns keyboard layout.
6526
6992
  */
6527
- title?: string;
6993
+ keyboardBehavior?: "resize" | "none";
6528
6994
  /**
6529
- * Optional supporting text below the title.
6995
+ * Optional native keyboard height in CSS pixels. Leave null to detect viewport changes; zero explicitly means closed.
6530
6996
  */
6531
- subtitle?: string;
6997
+ keyboardInset?: number | null;
6532
6998
  /**
6533
- * Show a bottom divider.
6999
+ * Hide bottom navigation while the keyboard is visible. Leave false for a persistent reply composer.
6534
7000
  */
6535
- border?: boolean;
7001
+ hideBottomOnKeyboard?: boolean;
7002
+ /**
7003
+ * App height as a CSS length. Use 100dvh standalone, 36rem for an embedded app, or 100% inside a sized parent.
7004
+ */
7005
+ height?: string;
7006
+ /**
7007
+ * Let the main region scroll. Disable when a nested stack or split-pane layout owns scrolling.
7008
+ */
7009
+ contentScroll?: boolean;
7010
+ /**
7011
+ * Use app for full-screen app views and card for inset surfaces.
7012
+ */
7013
+ variant?: "app" | "card";
7014
+ }
7015
+ export declare const DomAppShell: DomComponent<DomAppShellProps>;
7016
+
7017
+ export interface DomAppTopBarProps {
7018
+ /**
7019
+ * Primary title shown in the app bar.
7020
+ */
7021
+ title?: string;
7022
+ /**
7023
+ * Optional supporting text below the title.
7024
+ */
7025
+ subtitle?: string;
7026
+ /**
7027
+ * Show a bottom divider.
7028
+ */
7029
+ border?: boolean;
6536
7030
  /**
6537
7031
  * Use larger title sizing and padding.
6538
7032
  */
@@ -6541,6 +7035,10 @@ export interface DomAppTopBarProps {
6541
7035
  export declare const DomAppTopBar: DomComponent<DomAppTopBarProps>;
6542
7036
 
6543
7037
  export interface DomActionSheetProps {
7038
+ /**
7039
+ * Defaults to contained inside DomAppShell, viewport otherwise. Explicit true requires a positioned, sized parent; prefer the shell overlay slot.
7040
+ */
7041
+ contained?: boolean;
6544
7042
  /**
6545
7043
  * Whether the action sheet is open.
6546
7044
  */
@@ -6554,7 +7052,7 @@ export interface DomActionSheetProps {
6554
7052
  */
6555
7053
  description?: string;
6556
7054
  /**
6557
- * Action rows: { label, description, value, variant }.
7055
+ * Action rows: { label, description, value, variant, disabled }.
6558
7056
  */
6559
7057
  actions?: Array<unknown>;
6560
7058
  /**
@@ -6564,6 +7062,75 @@ export interface DomActionSheetProps {
6564
7062
  }
6565
7063
  export declare const DomActionSheet: DomComponent<DomActionSheetProps>;
6566
7064
 
7065
+ export interface DomBottomSheetProps {
7066
+ /**
7067
+ * Whether the modal sheet is open.
7068
+ */
7069
+ modelValue?: boolean;
7070
+ /**
7071
+ * Visible title and accessible dialog name.
7072
+ */
7073
+ title?: string;
7074
+ /**
7075
+ * Accessible dialog name when supplying a custom header without a title.
7076
+ */
7077
+ label?: string;
7078
+ /**
7079
+ * Fractions of the available height, from 0 to 1. Include 0 to allow drag dismissal.
7080
+ */
7081
+ snapPoints?: Array<number>;
7082
+ /**
7083
+ * Preferred height on each open, rounded to the nearest non-zero stop.
7084
+ */
7085
+ initialSnapPoint?: number;
7086
+ /**
7087
+ * Optional controlled height. Use v-model:snapPoint; null uses internal state.
7088
+ */
7089
+ snapPoint?: number | null;
7090
+ /**
7091
+ * Defaults to contained in DomAppShell, viewport otherwise. Use the shell overlay slot.
7092
+ */
7093
+ contained?: boolean;
7094
+ /**
7095
+ * Disable backdrop dismissal. Close and Escape remain available; omit zero from snapPoints to disable drag dismissal.
7096
+ */
7097
+ static?: boolean;
7098
+ /**
7099
+ * Optional native keyboard inset for standalone sheets. Contained sheets inherit the resized shell.
7100
+ */
7101
+ keyboardInset?: number | null;
7102
+ }
7103
+ export declare const DomBottomSheet: DomComponent<DomBottomSheetProps>;
7104
+
7105
+ /** SwipeAction, SwipeActionPayload payload types are exported from this module. */
7106
+ export interface DomSwipeActionsProps {
7107
+ /**
7108
+ * Row name used in the accessible Actions button label.
7109
+ */
7110
+ label?: string;
7111
+ /**
7112
+ * Leading actions: { value, label, icon, variant, disabled, fullSwipe }. icon is an SVG path.
7113
+ */
7114
+ startActions?: Array<SwipeAction>;
7115
+ /**
7116
+ * Trailing actions with the same shape as startActions.
7117
+ */
7118
+ endActions?: Array<SwipeAction>;
7119
+ /**
7120
+ * Allow the first action on each side to run after a full swipe only when that action also has fullSwipe: true.
7121
+ */
7122
+ fullSwipe?: boolean;
7123
+ /**
7124
+ * Disable gestures and all action controls.
7125
+ */
7126
+ disabled?: boolean;
7127
+ /**
7128
+ * Opening a row closes other rows in this group in the same document.
7129
+ */
7130
+ group?: string;
7131
+ }
7132
+ export declare const DomSwipeActions: DomComponent<DomSwipeActionsProps>;
7133
+
6567
7134
  export interface DomSafeAreaProps {
6568
7135
  /**
6569
7136
  * Safe-area edges to apply: top, bottom, left, right.
@@ -6573,6 +7140,14 @@ export interface DomSafeAreaProps {
6573
7140
  export declare const DomSafeArea: DomComponent<DomSafeAreaProps>;
6574
7141
 
6575
7142
  export interface DomAppStackProps {
7143
+ /**
7144
+ * Bounded stack height. Use 100% inside DomAppShell with content-scroll disabled, or a CSS length for an embedded stack.
7145
+ */
7146
+ height?: string;
7147
+ /**
7148
+ * Show the mobile back button and current screen title.
7149
+ */
7150
+ showHeader?: boolean;
6576
7151
  /**
6577
7152
  * Controlled stack path. Use v-model:path for two-way navigation.
6578
7153
  */
@@ -6594,7 +7169,7 @@ export interface DomAppStackProps {
6594
7169
  */
6595
7170
  desktopBreakpoint?: string;
6596
7171
  /**
6597
- * Render the default breadcrumb bar, or provide the breadcrumb slot.
7172
+ * Show desktop breadcrumbs. Mobile uses the current title and back button; showHeader controls that header.
6598
7173
  */
6599
7174
  showBreadcrumbs?: boolean;
6600
7175
  /**
@@ -6693,6 +7268,558 @@ export interface DomRendererProps {
6693
7268
  }
6694
7269
  export declare const DomRenderer: DomComponent<DomRendererProps>;
6695
7270
 
7271
+ export interface DomLineChartProps {
7272
+ /**
7273
+ * Application-owned records. Missing measurements remain gaps; zero is valid.
7274
+ */
7275
+ rows?: Array<DomUnknownRecord>;
7276
+ /**
7277
+ * Field keys or { key, label, color, dashed } definitions. Keep keys stable when filtering.
7278
+ */
7279
+ series?: Array<string | ChartSeries>;
7280
+ /**
7281
+ * Record field used for category or horizontal axis values.
7282
+ */
7283
+ xKey?: string;
7284
+ /**
7285
+ * Category preserves row order; time and number use proportional, sorted coordinates.
7286
+ */
7287
+ xType?: "category" | "time" | "number";
7288
+ /**
7289
+ * Visible title and accessible chart name.
7290
+ */
7291
+ title?: string;
7292
+ /**
7293
+ * Supporting context, units, or reporting period.
7294
+ */
7295
+ description?: string;
7296
+ /**
7297
+ * Plot height in pixels; width responds to its container.
7298
+ */
7299
+ height?: number;
7300
+ /**
7301
+ * Value format. Percent expects fractions, such as 0.25 for 25%.
7302
+ */
7303
+ format?: "number" | "compact" | "currency" | "percent";
7304
+ /**
7305
+ * ISO currency code for currency formatting.
7306
+ */
7307
+ currency?: string;
7308
+ /**
7309
+ * Locale used for number and date labels.
7310
+ */
7311
+ locale?: string;
7312
+ /**
7313
+ * Optional (value) => string override shared by axes, tooltips, and tables.
7314
+ */
7315
+ valueFormatter?: (value: number) => string;
7316
+ /**
7317
+ * Optional (value) => string override for category/date labels.
7318
+ */
7319
+ xFormatter?: (value: unknown) => string;
7320
+ /**
7321
+ * Optional (value) => string for value-axis ticks only. Tooltips and tables keep the full valueFormatter output.
7322
+ */
7323
+ yFormatter?: (value: number) => string;
7324
+ /**
7325
+ * Show a loading state in the reserved plot space.
7326
+ */
7327
+ loading?: boolean;
7328
+ /**
7329
+ * Show an application-owned error with a retry action.
7330
+ */
7331
+ error?: string;
7332
+ /**
7333
+ * Message when no finite measurements are available.
7334
+ */
7335
+ emptyLabel?: string;
7336
+ /**
7337
+ * Show buttons to toggle series without changing their colours.
7338
+ */
7339
+ legend?: boolean;
7340
+ /**
7341
+ * Offer an accessible, server-rendered table of the chart data.
7342
+ */
7343
+ showTable?: boolean;
7344
+ /**
7345
+ * Show subtle value-axis grid lines.
7346
+ */
7347
+ grid?: boolean;
7348
+ /**
7349
+ * Line interpolation. Linear avoids implying unobserved smooth changes.
7350
+ */
7351
+ curve?: "linear" | "monotoneX" | "step";
7352
+ }
7353
+ export declare const DomLineChart: DomComponent<DomLineChartProps>;
7354
+
7355
+ export interface DomAreaChartProps {
7356
+ /**
7357
+ * Application-owned records. Missing measurements remain gaps; zero is valid.
7358
+ */
7359
+ rows?: Array<DomUnknownRecord>;
7360
+ /**
7361
+ * Field keys or { key, label, color, dashed } definitions. Keep keys stable when filtering.
7362
+ */
7363
+ series?: Array<string | ChartSeries>;
7364
+ /**
7365
+ * Record field used for category or horizontal axis values.
7366
+ */
7367
+ xKey?: string;
7368
+ /**
7369
+ * Category preserves row order; time and number use proportional, sorted coordinates.
7370
+ */
7371
+ xType?: "category" | "time" | "number";
7372
+ /**
7373
+ * Visible title and accessible chart name.
7374
+ */
7375
+ title?: string;
7376
+ /**
7377
+ * Supporting context, units, or reporting period.
7378
+ */
7379
+ description?: string;
7380
+ /**
7381
+ * Plot height in pixels; width responds to its container.
7382
+ */
7383
+ height?: number;
7384
+ /**
7385
+ * Value format. Percent expects fractions, such as 0.25 for 25%.
7386
+ */
7387
+ format?: "number" | "compact" | "currency" | "percent";
7388
+ /**
7389
+ * ISO currency code for currency formatting.
7390
+ */
7391
+ currency?: string;
7392
+ /**
7393
+ * Locale used for number and date labels.
7394
+ */
7395
+ locale?: string;
7396
+ /**
7397
+ * Optional (value) => string override shared by axes, tooltips, and tables.
7398
+ */
7399
+ valueFormatter?: (value: number) => string;
7400
+ /**
7401
+ * Optional (value) => string override for category/date labels.
7402
+ */
7403
+ xFormatter?: (value: unknown) => string;
7404
+ /**
7405
+ * Optional (value) => string for value-axis ticks only. Tooltips and tables keep the full valueFormatter output.
7406
+ */
7407
+ yFormatter?: (value: number) => string;
7408
+ /**
7409
+ * Show a loading state in the reserved plot space.
7410
+ */
7411
+ loading?: boolean;
7412
+ /**
7413
+ * Show an application-owned error with a retry action.
7414
+ */
7415
+ error?: string;
7416
+ /**
7417
+ * Message when no finite measurements are available.
7418
+ */
7419
+ emptyLabel?: string;
7420
+ /**
7421
+ * Show buttons to toggle series without changing their colours.
7422
+ */
7423
+ legend?: boolean;
7424
+ /**
7425
+ * Offer an accessible, server-rendered table of the chart data.
7426
+ */
7427
+ showTable?: boolean;
7428
+ /**
7429
+ * Show subtle value-axis grid lines.
7430
+ */
7431
+ grid?: boolean;
7432
+ /**
7433
+ * Line interpolation. Linear avoids implying unobserved smooth changes.
7434
+ */
7435
+ curve?: "linear" | "monotoneX" | "step";
7436
+ /**
7437
+ * Stack visible series on a shared baseline.
7438
+ */
7439
+ stacked?: boolean;
7440
+ }
7441
+ export declare const DomAreaChart: DomComponent<DomAreaChartProps>;
7442
+
7443
+ export interface DomBarChartProps {
7444
+ /**
7445
+ * Application-owned records. Missing measurements remain gaps; zero is valid.
7446
+ */
7447
+ rows?: Array<DomUnknownRecord>;
7448
+ /**
7449
+ * Field keys or { key, label, color, dashed } definitions. Keep keys stable when filtering.
7450
+ */
7451
+ series?: Array<string | ChartSeries>;
7452
+ /**
7453
+ * Record field used for category or horizontal axis values.
7454
+ */
7455
+ xKey?: string;
7456
+ /**
7457
+ * Category preserves row order; time and number use proportional, sorted coordinates.
7458
+ */
7459
+ xType?: "category" | "time" | "number";
7460
+ /**
7461
+ * Visible title and accessible chart name.
7462
+ */
7463
+ title?: string;
7464
+ /**
7465
+ * Supporting context, units, or reporting period.
7466
+ */
7467
+ description?: string;
7468
+ /**
7469
+ * Plot height in pixels; width responds to its container.
7470
+ */
7471
+ height?: number;
7472
+ /**
7473
+ * Value format. Percent expects fractions, such as 0.25 for 25%.
7474
+ */
7475
+ format?: "number" | "compact" | "currency" | "percent";
7476
+ /**
7477
+ * ISO currency code for currency formatting.
7478
+ */
7479
+ currency?: string;
7480
+ /**
7481
+ * Locale used for number and date labels.
7482
+ */
7483
+ locale?: string;
7484
+ /**
7485
+ * Optional (value) => string override shared by axes, tooltips, and tables.
7486
+ */
7487
+ valueFormatter?: (value: number) => string;
7488
+ /**
7489
+ * Optional (value) => string override for category/date labels.
7490
+ */
7491
+ xFormatter?: (value: unknown) => string;
7492
+ /**
7493
+ * Optional (value) => string for value-axis ticks only. Tooltips and tables keep the full valueFormatter output.
7494
+ */
7495
+ yFormatter?: (value: number) => string;
7496
+ /**
7497
+ * Show a loading state in the reserved plot space.
7498
+ */
7499
+ loading?: boolean;
7500
+ /**
7501
+ * Show an application-owned error with a retry action.
7502
+ */
7503
+ error?: string;
7504
+ /**
7505
+ * Message when no finite measurements are available.
7506
+ */
7507
+ emptyLabel?: string;
7508
+ /**
7509
+ * Show buttons to toggle series without changing their colours.
7510
+ */
7511
+ legend?: boolean;
7512
+ /**
7513
+ * Offer an accessible, server-rendered table of the chart data.
7514
+ */
7515
+ showTable?: boolean;
7516
+ /**
7517
+ * Show subtle value-axis grid lines.
7518
+ */
7519
+ grid?: boolean;
7520
+ /**
7521
+ * Line interpolation. Linear avoids implying unobserved smooth changes.
7522
+ */
7523
+ curve?: "linear" | "monotoneX" | "step";
7524
+ /**
7525
+ * Stack series within each category.
7526
+ */
7527
+ stacked?: boolean;
7528
+ /**
7529
+ * Normalize non-negative visible series to a 100% stack.
7530
+ */
7531
+ percentage?: boolean;
7532
+ /**
7533
+ * Place category labels down the left side.
7534
+ */
7535
+ horizontal?: boolean;
7536
+ }
7537
+ export declare const DomBarChart: DomComponent<DomBarChartProps>;
7538
+
7539
+ export interface DomDonutChartProps {
7540
+ /**
7541
+ * Application-owned records. Missing measurements remain gaps; zero is valid.
7542
+ */
7543
+ rows?: Array<unknown>;
7544
+ /**
7545
+ * Visible title and accessible chart name.
7546
+ */
7547
+ title?: string;
7548
+ /**
7549
+ * Supporting context, units, or reporting period.
7550
+ */
7551
+ description?: string;
7552
+ /**
7553
+ * Plot height in pixels; width responds to its container.
7554
+ */
7555
+ height?: number;
7556
+ /**
7557
+ * Value format. Percent expects fractions, such as 0.25 for 25%.
7558
+ */
7559
+ format?: "number" | "compact" | "currency" | "percent";
7560
+ /**
7561
+ * ISO currency code for currency formatting.
7562
+ */
7563
+ currency?: string;
7564
+ /**
7565
+ * Locale used for number and date labels.
7566
+ */
7567
+ locale?: string;
7568
+ /**
7569
+ * Optional (value) => string override shared by axes, tooltips, and tables.
7570
+ */
7571
+ valueFormatter?: ((...args: Array<unknown>) => unknown);
7572
+ /**
7573
+ * Show a loading state in the reserved plot space.
7574
+ */
7575
+ loading?: boolean;
7576
+ /**
7577
+ * Show an application-owned error with a retry action.
7578
+ */
7579
+ error?: string;
7580
+ /**
7581
+ * Message when no finite measurements are available.
7582
+ */
7583
+ emptyLabel?: string;
7584
+ /**
7585
+ * Show buttons to toggle series without changing their colours.
7586
+ */
7587
+ legend?: boolean;
7588
+ /**
7589
+ * Offer an accessible, server-rendered table of the chart data.
7590
+ */
7591
+ showTable?: boolean;
7592
+ /**
7593
+ * Unique category label field; supply one row per category.
7594
+ */
7595
+ labelKey?: string;
7596
+ /**
7597
+ * Non-negative measurement field.
7598
+ */
7599
+ valueKey?: string;
7600
+ /**
7601
+ * Optional field containing a semantic token or CSS colour.
7602
+ */
7603
+ colorKey?: string;
7604
+ /**
7605
+ * Caption beneath the sum of visible categories.
7606
+ */
7607
+ totalLabel?: string;
7608
+ /**
7609
+ * Ring thickness in pixels.
7610
+ */
7611
+ arcWidth?: number;
7612
+ }
7613
+ export declare const DomDonutChart: DomComponent<DomDonutChartProps>;
7614
+
7615
+ export interface DomSparklineProps {
7616
+ /**
7617
+ * Application-owned records. Missing measurements remain gaps; zero is valid.
7618
+ */
7619
+ rows?: Array<DomUnknownRecord>;
7620
+ /**
7621
+ * Field keys or { key, label, color, dashed } definitions. Keep keys stable when filtering.
7622
+ */
7623
+ series?: Array<string | ChartSeries>;
7624
+ /**
7625
+ * Record field used for category or horizontal axis values.
7626
+ */
7627
+ xKey?: string;
7628
+ /**
7629
+ * Category preserves row order; time and number use proportional, sorted coordinates.
7630
+ */
7631
+ xType?: "category" | "time" | "number";
7632
+ title?: string;
7633
+ /**
7634
+ * Supporting context, units, or reporting period.
7635
+ */
7636
+ description?: string;
7637
+ height?: number;
7638
+ /**
7639
+ * Value format. Percent expects fractions, such as 0.25 for 25%.
7640
+ */
7641
+ format?: "number" | "compact" | "currency" | "percent";
7642
+ /**
7643
+ * ISO currency code for currency formatting.
7644
+ */
7645
+ currency?: string;
7646
+ /**
7647
+ * Locale used for number and date labels.
7648
+ */
7649
+ locale?: string;
7650
+ /**
7651
+ * Optional (value) => string override shared by axes, tooltips, and tables.
7652
+ */
7653
+ valueFormatter?: (value: number) => string;
7654
+ /**
7655
+ * Optional (value) => string override for category/date labels.
7656
+ */
7657
+ xFormatter?: (value: unknown) => string;
7658
+ /**
7659
+ * Optional (value) => string for value-axis ticks only. Tooltips and tables keep the full valueFormatter output.
7660
+ */
7661
+ yFormatter?: (value: number) => string;
7662
+ /**
7663
+ * Show a loading state in the reserved plot space.
7664
+ */
7665
+ loading?: boolean;
7666
+ /**
7667
+ * Show an application-owned error with a retry action.
7668
+ */
7669
+ error?: string;
7670
+ /**
7671
+ * Message when no finite measurements are available.
7672
+ */
7673
+ emptyLabel?: string;
7674
+ legend?: boolean;
7675
+ showTable?: boolean;
7676
+ /**
7677
+ * Show subtle value-axis grid lines.
7678
+ */
7679
+ grid?: boolean;
7680
+ /**
7681
+ * Line interpolation. Linear avoids implying unobserved smooth changes.
7682
+ */
7683
+ curve?: "linear" | "monotoneX" | "step";
7684
+ }
7685
+ export declare const DomSparkline: DomComponent<DomSparklineProps>;
7686
+
7687
+ export interface DomMetricCardProps {
7688
+ /**
7689
+ * Metric name.
7690
+ */
7691
+ label?: string;
7692
+ /**
7693
+ * Current value. Null is unavailable; zero remains zero.
7694
+ */
7695
+ value?: number;
7696
+ format?: "number" | "compact" | "currency" | "percent";
7697
+ currency?: string;
7698
+ locale?: string;
7699
+ /**
7700
+ * Relative change as a fraction, e.g. 0.12 for +12%. Calculated by the application.
7701
+ */
7702
+ change?: number;
7703
+ comparisonLabel?: string;
7704
+ /**
7705
+ * Whether an increase or decrease represents improvement.
7706
+ */
7707
+ trend?: "up-good" | "down-good" | "neutral";
7708
+ loading?: boolean;
7709
+ /**
7710
+ * Optional sparkline records.
7711
+ */
7712
+ rows?: Array<unknown>;
7713
+ xKey?: string;
7714
+ valueKey?: string;
7715
+ color?: string;
7716
+ }
7717
+ export declare const DomMetricCard: DomComponent<DomMetricCardProps>;
7718
+
7719
+ export interface DomDateRangePickerProps {
7720
+ /**
7721
+ * Controlled inclusive { start, end } dates in YYYY-MM-DD format.
7722
+ */
7723
+ modelValue?: ChartDateRange;
7724
+ comparison?: 'none' | 'previous-period' | 'previous-year';
7725
+ showComparison?: boolean;
7726
+ label?: string;
7727
+ disabled?: boolean;
7728
+ min?: string;
7729
+ max?: string;
7730
+ /**
7731
+ * Preset reference date. Defaults to browser-local today after mount; supply a reporting-timezone date for deterministic presets.
7732
+ */
7733
+ anchorDate?: string;
7734
+ locale?: string;
7735
+ }
7736
+ export declare const DomDateRangePicker: DomComponent<DomDateRangePickerProps>;
7737
+
7738
+ export interface DomChartContainerProps {
7739
+ title?: string;
7740
+ description?: string;
7741
+ height?: number;
7742
+ loading?: boolean;
7743
+ error?: string;
7744
+ empty?: boolean;
7745
+ emptyLabel?: string;
7746
+ compact?: boolean;
7747
+ }
7748
+ export declare const DomChartContainer: DomComponent<DomChartContainerProps>;
7749
+
7750
+ export interface DomChartLegendProps {
7751
+ items?: Array<unknown>;
7752
+ hiddenKeys?: Array<unknown>;
7753
+ }
7754
+ export declare const DomChartLegend: DomComponent<DomChartLegendProps>;
7755
+
7756
+ export interface DomChartTooltipProps {
7757
+ label?: string;
7758
+ items?: Array<unknown>;
7759
+ }
7760
+ export declare const DomChartTooltip: DomComponent<DomChartTooltipProps>;
7761
+
7762
+ export interface DomDesignerFrameProps {
7763
+ as?: string;
7764
+ layout?: Partial<DesignerFrameLayout>;
7765
+ }
7766
+ export declare const DomDesignerFrame: DomComponent<DomDesignerFrameProps>;
7767
+
7768
+ export interface DomFrameLayoutEditorProps {
7769
+ modelValue?: DesignerFrameLayout;
7770
+ }
7771
+ export declare const DomFrameLayoutEditor: DomComponent<DomFrameLayoutEditorProps>;
7772
+
7773
+ export interface DomColorSwatchProps {
7774
+ modelValue?: string;
7775
+ label?: string;
7776
+ }
7777
+ export declare const DomColorSwatch: DomComponent<DomColorSwatchProps>;
7778
+
7779
+ export interface DomShadowEditorProps {
7780
+ modelValue?: Array<DesignerShadowLayer>;
7781
+ title?: string;
7782
+ }
7783
+ export declare const DomShadowEditor: DomComponent<DomShadowEditorProps>;
7784
+
7785
+ export type DomDesignerLayersProps = DomTreeViewProps;
7786
+ export declare const DomDesignerLayers: typeof DomTreeView;
7787
+
7788
+ export interface DomDesignerStageProps {
7789
+ modelValue?: string;
7790
+ positioning?: boolean;
7791
+ interactive?: boolean;
7792
+ snapping?: boolean;
7793
+ /**
7794
+ * Repeat horizontal and vertical layer gaps while dragging. Independent of alignment snapping; disabled by default.
7795
+ */
7796
+ spacingSnapping?: boolean;
7797
+ /**
7798
+ * Only move children of an absolute data-designer-frame. Snap to that frame and its direct children.
7799
+ */
7800
+ frameScoped?: boolean;
7801
+ }
7802
+ export declare const DomDesignerStage: DomComponent<DomDesignerStageProps>;
7803
+
7804
+ export interface DomBorderEditorProps {
7805
+ modelValue?: Record<string, unknown>;
7806
+ title?: string;
7807
+ maxWidth?: number;
7808
+ }
7809
+ export declare const DomBorderEditor: DomComponent<DomBorderEditorProps>;
7810
+
7811
+ export interface DomBackgroundEditorProps {
7812
+ modelValue?: Record<string, unknown>;
7813
+ title?: string;
7814
+ }
7815
+ export declare const DomBackgroundEditor: DomComponent<DomBackgroundEditorProps>;
7816
+
7817
+ export interface DomBackdropEditorProps {
7818
+ modelValue?: Record<string, unknown>;
7819
+ title?: string;
7820
+ }
7821
+ export declare const DomBackdropEditor: DomComponent<DomBackdropEditorProps>;
7822
+
6696
7823
  export declare const popoverProps: DomRuntimeProps;
6697
7824
  export declare const calendarProps: DomRuntimeProps;
6698
7825
  export declare const filterBarProps: DomRuntimeProps;
@@ -6702,6 +7829,7 @@ export declare const breadcrumbsProps: DomRuntimeProps;
6702
7829
  export declare const kanbanProps: DomRuntimeProps;
6703
7830
  export declare const monthCalendarProps: DomRuntimeProps;
6704
7831
  export declare const weekPlannerProps: DomRuntimeProps;
7832
+ export declare const ganttProps: DomRuntimeProps;
6705
7833
  export declare const agentChatShellProps: DomRuntimeProps;
6706
7834
  export declare const agentConversationProps: DomRuntimeProps;
6707
7835
  export declare const agentConversationListProps: DomRuntimeProps;
@@ -6722,6 +7850,23 @@ export declare const themeModeValues: Array<DomThemeMode>;
6722
7850
  export declare const resolvedTheme: ComputedRef<DomResolvedTheme>;
6723
7851
  export declare const vDomTooltip: Directive<HTMLElement, DomTooltipDirectiveValue>;
6724
7852
 
7853
+ export interface DesignerFrameLayout { mode: 'flow' | 'flex' | 'grid' | 'absolute'; direction: 'row' | 'column' | 'row-reverse' | 'column-reverse'; wrap: 'nowrap' | 'wrap'; gap: number; padding: number; justify: 'start' | 'center' | 'end' | 'space-between' | 'space-around' | 'space-evenly'; align: 'start' | 'center' | 'end' | 'stretch' | 'baseline'; justifyItems: 'start' | 'center' | 'end' | 'stretch'; autoFlow: 'row' | 'column' | 'row dense' | 'column dense'; columns: string; rows: string; }
7854
+ export declare function createFrameLayout(value?: Partial<DesignerFrameLayout>): DesignerFrameLayout;
7855
+ export declare function frameLayoutStyle(value?: Partial<DesignerFrameLayout>): Record<string, string>;
7856
+ export interface DesignerShadowLayer { id: string; enabled: boolean; open?: boolean; kind: 'drop' | 'inset' | 'ring'; color: string; alpha: number; x: number; y: number; blur: number; spread: number; }
7857
+ export interface DesignerBackdrop { enabled: boolean; blur: number; saturate: number; open?: boolean; }
7858
+ export interface DesignerFill { id: string; enabled: boolean; open?: boolean; kind: string; color: string; alpha: number; gradientFrom: string; gradientTo: string; gradientFromAlpha: number; gradientToAlpha: number; gradientAngle: number; gradientFromStop: number; gradientToStop: number; }
7859
+ export interface DesignerBackground { enabled: boolean; open?: boolean; blendMode?: string; fills: DesignerFill[]; }
7860
+ export declare function createBackdrop(overrides?: Partial<DesignerBackdrop>): DesignerBackdrop;
7861
+ export declare function backdropToCss(backdrop?: DesignerBackdrop): string;
7862
+ export declare function createFill(overrides?: Partial<DesignerFill>): DesignerFill;
7863
+ export declare function createBackgroundState(overrides?: Omit<Partial<DesignerBackground>, "fills"> & { fills?: Partial<DesignerFill>[] }, options?: { allowEmpty?: boolean }): DesignerBackground;
7864
+ export declare function backgroundImageToCss(background?: DesignerBackground): string;
7865
+ export interface DesignerBorder { enabled: boolean; width: number; style: string; color: string; }
7866
+ export declare function createDesignerBorder(overrides?: Partial<DesignerBorder>): DesignerBorder;
7867
+ export declare function borderToCss(border?: DesignerBorder): string;
7868
+ export declare function createShadow(overrides?: Partial<DesignerShadowLayer>): DesignerShadowLayer;
7869
+ export declare function shadowListToCss(layers: Array<DesignerShadowLayer>): string;
6725
7870
  export declare function normalizeThemeMode(value: unknown): DomThemeMode;
6726
7871
  export declare function resolveThemeMode(value?: unknown, prefersDark?: boolean): DomResolvedTheme;
6727
7872
  export declare function readThemeMode(): DomThemeMode;
@@ -6731,6 +7876,8 @@ export declare function cycleThemeMode(): DomResolvedTheme;
6731
7876
  export declare function applyThemeMode(value?: unknown): DomResolvedTheme;
6732
7877
  export declare function useTheme(): DomThemeApi;
6733
7878
  export declare function useToasts(defaults?: ToastOptions): ToastApi;
7879
+ export declare function notificationTone(severity?: InAppNotificationSeverity | 'danger' | null): 'info' | 'success' | 'warning' | 'danger';
7880
+ export declare function notificationToast(item: InAppNotificationItem, options?: NotificationToastOptions): ToastOptions & { id: string };
6734
7881
  export declare function useDialogs(defaults?: DialogOptions): DialogApi;
6735
7882
  export declare function defineAgentChatStore(storeId?: string, options?: AgentChatStoreOptions): Function;
6736
7883
  export declare function createAgentChatRestApi(options?: AgentChatStoreOptions): Record<string, Function>;