@cjlapao/ui-kit-vue 0.2.0 → 0.2.5

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 (217) hide show
  1. package/dist/index.cjs +18 -25
  2. package/dist/index.css +37767 -13278
  3. package/dist/index.js +31203 -21039
  4. package/dist/types/common/chat/markdown.d.ts +8 -0
  5. package/dist/types/common/chat/storage.d.ts +48 -0
  6. package/dist/types/common/chat/stream.d.ts +43 -0
  7. package/dist/types/common/chat/types.d.ts +143 -0
  8. package/dist/types/common/connectionFlow/header.d.ts +56 -0
  9. package/dist/types/common/connectionFlow/index.d.ts +6 -0
  10. package/dist/types/common/connectionFlow/layout.d.ts +73 -0
  11. package/dist/types/common/connectionFlow/measure.d.ts +94 -0
  12. package/dist/types/common/connectionFlow/router.d.ts +131 -0
  13. package/dist/types/common/connectionFlow/tones.d.ts +79 -0
  14. package/dist/types/common/connectionFlow/types.d.ts +394 -0
  15. package/dist/types/common/gantt/drag.d.ts +221 -0
  16. package/dist/types/common/gantt/index.d.ts +11 -0
  17. package/dist/types/common/gantt/layout.d.ts +133 -0
  18. package/dist/types/common/gantt/sample.d.ts +15 -0
  19. package/dist/types/common/gantt/time.d.ts +77 -0
  20. package/dist/types/common/gantt/tokens.d.ts +73 -0
  21. package/dist/types/common/gantt/types.d.ts +216 -0
  22. package/dist/types/common/i18n/builtIn/de.d.ts +2 -0
  23. package/dist/types/common/i18n/builtIn/en.d.ts +2 -0
  24. package/dist/types/common/i18n/builtIn/es.d.ts +2 -0
  25. package/dist/types/common/i18n/builtIn/fr.d.ts +2 -0
  26. package/dist/types/common/i18n/builtIn/index.d.ts +15 -0
  27. package/dist/types/common/i18n/builtIn/pt.d.ts +2 -0
  28. package/dist/types/common/i18n/catalog.d.ts +32 -0
  29. package/dist/types/common/i18n/createI18n.d.ts +2 -0
  30. package/dist/types/common/i18n/dates.d.ts +12 -0
  31. package/dist/types/common/i18n/detect.d.ts +29 -0
  32. package/dist/types/common/i18n/icu.d.ts +36 -0
  33. package/dist/types/common/i18n/index.d.ts +10 -0
  34. package/dist/types/common/i18n/provider.d.ts +7 -0
  35. package/dist/types/common/i18n/storage.d.ts +8 -0
  36. package/dist/types/common/i18n/types.d.ts +64 -0
  37. package/dist/types/common/i18n/warn.d.ts +5 -0
  38. package/dist/types/common/theme/Theme.d.ts +956 -3
  39. package/dist/types/common/theme/glass.d.ts +90 -11
  40. package/dist/types/common/theme/randomThemeColor.d.ts +4 -4
  41. package/dist/types/common/tooltip/placement.d.ts +103 -0
  42. package/dist/types/common/tooltip/tokens.d.ts +40 -0
  43. package/dist/types/common/types/TableSettings.d.ts +15 -0
  44. package/dist/types/common/types/Variables.d.ts +71 -1
  45. package/dist/types/common/utils/dates.d.ts +113 -0
  46. package/dist/types/common/utils/gravatar.d.ts +0 -10
  47. package/dist/types/common/utils/safeStorage.d.ts +28 -0
  48. package/dist/types/common/utils/sanitizeSvg.d.ts +44 -0
  49. package/dist/types/common/utils/smartVariables.d.ts +74 -18
  50. package/dist/types/common/utils/tableStorage.d.ts +38 -0
  51. package/dist/types/vue/src/chat/index.d.ts +4 -0
  52. package/dist/types/vue/src/components/AccessMatrix.test.d.ts +1 -0
  53. package/dist/types/vue/src/components/AccessMatrix.vue.d.ts +23 -1
  54. package/dist/types/vue/src/components/Accordion.test.d.ts +1 -0
  55. package/dist/types/vue/src/components/Accordion.vue.d.ts +42 -28
  56. package/dist/types/vue/src/components/ActivityFeed.test.d.ts +1 -0
  57. package/dist/types/vue/src/components/ActivityFeed.vue.d.ts +141 -0
  58. package/dist/types/vue/src/components/Alert.test.d.ts +1 -0
  59. package/dist/types/vue/src/components/Alert.vue.d.ts +59 -2
  60. package/dist/types/vue/src/components/ApiErrorState.test.d.ts +1 -0
  61. package/dist/types/vue/src/components/ApiErrorState.vue.d.ts +28 -8
  62. package/dist/types/vue/src/components/AppDivider.vue.d.ts +53 -4
  63. package/dist/types/vue/src/components/Badge.vue.d.ts +45 -13
  64. package/dist/types/vue/src/components/BadgeIcon.vue.d.ts +1 -1
  65. package/dist/types/vue/src/components/BreakdownCard.test.d.ts +1 -0
  66. package/dist/types/vue/src/components/BreakdownCard.vue.d.ts +81 -0
  67. package/dist/types/vue/src/components/Button.vue.d.ts +22 -11
  68. package/dist/types/vue/src/components/Chat.test.d.ts +1 -0
  69. package/dist/types/vue/src/components/Chat.vue.d.ts +80 -0
  70. package/dist/types/vue/src/components/Checkbox.test.d.ts +1 -0
  71. package/dist/types/vue/src/components/Checkbox.vue.d.ts +44 -29
  72. package/dist/types/vue/src/components/CollapsiblePanel.vue.d.ts +5 -5
  73. package/dist/types/vue/src/components/ColorSwatches.test.d.ts +1 -0
  74. package/dist/types/vue/src/components/ColorSwatches.vue.d.ts +42 -0
  75. package/dist/types/vue/src/components/Combobox.test.d.ts +1 -0
  76. package/dist/types/vue/src/components/Combobox.vue.d.ts +61 -12
  77. package/dist/types/vue/src/components/ConnectionFlow/ConnectionFlow.vue.d.ts +153 -17
  78. package/dist/types/vue/src/components/ConnectionFlow/ConnectionFlowHeader.vue.d.ts +33 -0
  79. package/dist/types/vue/src/components/ConnectionFlow/ConnectionFlowNodeBody.vue.d.ts +32 -0
  80. package/dist/types/vue/src/components/ConnectionFlow/ConnectionFlowSkeleton.vue.d.ts +18 -0
  81. package/dist/types/vue/src/components/ConnectionFlow/ConnectionFlowSvg.vue.d.ts +52 -0
  82. package/dist/types/vue/src/components/ConnectionFlow/connectionFlow.test.d.ts +1 -0
  83. package/dist/types/vue/src/components/ConnectionFlow/index.d.ts +11 -4
  84. package/dist/types/vue/src/components/CustomIcon.vue.d.ts +35 -11
  85. package/dist/types/vue/src/components/DetailItemCard.vue.d.ts +37 -5
  86. package/dist/types/vue/src/components/DropdownButton.vue.d.ts +3 -3
  87. package/dist/types/vue/src/components/DropdownMenu.test.d.ts +1 -0
  88. package/dist/types/vue/src/components/DropdownMenu.vue.d.ts +1 -1
  89. package/dist/types/vue/src/components/DynamicFormField.test.d.ts +1 -0
  90. package/dist/types/vue/src/components/DynamicFormField.vue.d.ts +61 -5
  91. package/dist/types/vue/src/components/DynamicImg.vue.d.ts +28 -3
  92. package/dist/types/vue/src/components/EmptyState.test.d.ts +1 -0
  93. package/dist/types/vue/src/components/EmptyState.vue.d.ts +104 -24
  94. package/dist/types/vue/src/components/FormField.vue.d.ts +2 -1
  95. package/dist/types/vue/src/components/Gantt/Gantt.test.d.ts +1 -0
  96. package/dist/types/vue/src/components/Gantt/Gantt.vue.d.ts +160 -0
  97. package/dist/types/vue/src/components/Gantt/GanttBodyRow.vue.d.ts +78 -0
  98. package/dist/types/vue/src/components/Gantt/GanttCell.vue.d.ts +28 -0
  99. package/dist/types/vue/src/components/Gantt/GanttLinkLayer.vue.d.ts +22 -0
  100. package/dist/types/vue/src/components/Gantt/GanttScale.vue.d.ts +7 -0
  101. package/dist/types/vue/src/components/Gantt/GanttTaskBar.vue.d.ts +53 -0
  102. package/dist/types/vue/src/components/Gantt/GanttToolbar.vue.d.ts +22 -0
  103. package/dist/types/vue/src/components/Gantt/index.d.ts +18 -0
  104. package/dist/types/vue/src/components/Gantt/labels.d.ts +3 -0
  105. package/dist/types/vue/src/components/Gantt/types.d.ts +11 -0
  106. package/dist/types/vue/src/components/Gantt/useGanttDrag.d.ts +105 -0
  107. package/dist/types/vue/src/components/GlassBackground.vue.d.ts +4 -3
  108. package/dist/types/vue/src/components/GlassPanel.vue.d.ts +2 -2
  109. package/dist/types/vue/src/components/HeaderGroup.vue.d.ts +19 -1
  110. package/dist/types/vue/src/components/HelpButton.test.d.ts +1 -0
  111. package/dist/types/vue/src/components/HelpButton.vue.d.ts +15 -6
  112. package/dist/types/vue/src/components/Hero.test.d.ts +1 -0
  113. package/dist/types/vue/src/components/Hero.vue.d.ts +52 -31
  114. package/dist/types/vue/src/components/IconButton.vue.d.ts +12 -6
  115. package/dist/types/vue/src/components/InfiniteScrollPanel.vue.d.ts +61 -14
  116. package/dist/types/vue/src/components/InfoRow.test.d.ts +1 -0
  117. package/dist/types/vue/src/components/InfoRow.vue.d.ts +67 -37
  118. package/dist/types/vue/src/components/InlinePanel.vue.d.ts +12 -18
  119. package/dist/types/vue/src/components/Input.test.d.ts +1 -0
  120. package/dist/types/vue/src/components/Input.vue.d.ts +42 -13
  121. package/dist/types/vue/src/components/InputGroup.test.d.ts +1 -0
  122. package/dist/types/vue/src/components/InputGroup.vue.d.ts +20 -5
  123. package/dist/types/vue/src/components/Loader.test.d.ts +1 -0
  124. package/dist/types/vue/src/components/Loader.vue.d.ts +30 -11
  125. package/dist/types/vue/src/components/MarkdownEditor.vue.d.ts +1 -1
  126. package/dist/types/vue/src/components/MetricBar.test.d.ts +1 -0
  127. package/dist/types/vue/src/components/MetricBar.vue.d.ts +16 -5
  128. package/dist/types/vue/src/components/Modal.vue.d.ts +18 -19
  129. package/dist/types/vue/src/components/MultiProgressBar.vue.d.ts +15 -2
  130. package/dist/types/vue/src/components/MultiSelectPills.test.d.ts +1 -0
  131. package/dist/types/vue/src/components/MultiSelectPills.vue.d.ts +47 -43
  132. package/dist/types/vue/src/components/MultiToggle.test.d.ts +1 -0
  133. package/dist/types/vue/src/components/MultiToggle.vue.d.ts +33 -6
  134. package/dist/types/vue/src/components/NotificationModal.test.d.ts +1 -0
  135. package/dist/types/vue/src/components/NotificationModal.vue.d.ts +19 -2
  136. package/dist/types/vue/src/components/PageHeader.test.d.ts +1 -0
  137. package/dist/types/vue/src/components/PageHeader.vue.d.ts +18 -0
  138. package/dist/types/vue/src/components/PagedPanel.test.d.ts +1 -0
  139. package/dist/types/vue/src/components/PagedPanel.vue.d.ts +39 -11
  140. package/dist/types/vue/src/components/Panel.vue.d.ts +18 -9
  141. package/dist/types/vue/src/components/PasswordInput.test.d.ts +1 -0
  142. package/dist/types/vue/src/components/PasswordInput.vue.d.ts +20 -3
  143. package/dist/types/vue/src/components/Picker.test.d.ts +1 -0
  144. package/dist/types/vue/src/components/Picker.vue.d.ts +3 -3
  145. package/dist/types/vue/src/components/Pill.vue.d.ts +63 -5
  146. package/dist/types/vue/src/components/Progress.test.d.ts +1 -0
  147. package/dist/types/vue/src/components/Progress.vue.d.ts +60 -11
  148. package/dist/types/vue/src/components/ProgressSpinner.test.d.ts +1 -0
  149. package/dist/types/vue/src/components/ProgressSpinner.vue.d.ts +46 -0
  150. package/dist/types/vue/src/components/ScrollArea.test.d.ts +1 -0
  151. package/dist/types/vue/src/components/ScrollArea.vue.d.ts +52 -0
  152. package/dist/types/vue/src/components/SearchBar.vue.d.ts +2 -3
  153. package/dist/types/vue/src/components/Section.vue.d.ts +1 -1
  154. package/dist/types/vue/src/components/SectionCard.vue.d.ts +2 -2
  155. package/dist/types/vue/src/components/Select.test.d.ts +1 -0
  156. package/dist/types/vue/src/components/Select.vue.d.ts +41 -16
  157. package/dist/types/vue/src/components/SidePanel.vue.d.ts +1 -1
  158. package/dist/types/vue/src/components/SmartInput.vue.d.ts +49 -18
  159. package/dist/types/vue/src/components/SmartValue.vue.d.ts +20 -13
  160. package/dist/types/vue/src/components/SmartVariableBadge.vue.d.ts +17 -0
  161. package/dist/types/vue/src/components/Spinner.test.d.ts +1 -0
  162. package/dist/types/vue/src/components/Spinner.vue.d.ts +12 -5
  163. package/dist/types/vue/src/components/SplitView.vue.d.ts +6 -6
  164. package/dist/types/vue/src/components/StartupStageStepper.vue.d.ts +1 -1
  165. package/dist/types/vue/src/components/StatChartTile.vue.d.ts +5 -0
  166. package/dist/types/vue/src/components/StatCountTile.vue.d.ts +5 -1
  167. package/dist/types/vue/src/components/StatGraphTile.vue.d.ts +1 -1
  168. package/dist/types/vue/src/components/StatTile.test.d.ts +1 -0
  169. package/dist/types/vue/src/components/StatTile.vue.d.ts +5 -1
  170. package/dist/types/vue/src/components/StatusSpinner.test.d.ts +1 -0
  171. package/dist/types/vue/src/components/StatusSpinner.vue.d.ts +10 -5
  172. package/dist/types/vue/src/components/Stepper.test.d.ts +1 -0
  173. package/dist/types/vue/src/components/Stepper.vue.d.ts +62 -25
  174. package/dist/types/vue/src/components/Table.test.d.ts +1 -0
  175. package/dist/types/vue/src/components/Table.vue.d.ts +68 -15
  176. package/dist/types/vue/src/components/Tabs.vue.d.ts +20 -3
  177. package/dist/types/vue/src/components/TagPicker.vue.d.ts +3 -3
  178. package/dist/types/vue/src/components/Textarea.vue.d.ts +8 -5
  179. package/dist/types/vue/src/components/TimelinePanel/TimelinePanel.vue.d.ts +4 -4
  180. package/dist/types/vue/src/components/Toggle.vue.d.ts +4 -4
  181. package/dist/types/vue/src/components/Toolbar.test.d.ts +1 -0
  182. package/dist/types/vue/src/components/Toolbar.vue.d.ts +62 -0
  183. package/dist/types/vue/src/components/Tooltip.test.d.ts +1 -0
  184. package/dist/types/vue/src/components/Tooltip.vue.d.ts +20 -3
  185. package/dist/types/vue/src/components/TooltipWrapper.vue.d.ts +24 -3
  186. package/dist/types/vue/src/components/TreeView/TreeFlowSvg.vue.d.ts +5 -5
  187. package/dist/types/vue/src/components/TreeView/TreeItemRow.vue.d.ts +2 -2
  188. package/dist/types/vue/src/components/TreeView/TreeView.vue.d.ts +4 -4
  189. package/dist/types/vue/src/components/UserAvatar.test.d.ts +1 -0
  190. package/dist/types/vue/src/components/UserAvatar.vue.d.ts +56 -6
  191. package/dist/types/vue/src/components/VariablePicker.vue.d.ts +23 -6
  192. package/dist/types/vue/src/components/__dbg.test.d.ts +1 -0
  193. package/dist/types/vue/src/components/index.d.ts +50 -31
  194. package/dist/types/vue/src/components/internal/InfoRowContent.vue.d.ts +52 -0
  195. package/dist/types/vue/src/components/internal/PagedPanelContent.vue.d.ts +47 -0
  196. package/dist/types/vue/src/connectionFlow/index.d.ts +1 -0
  197. package/dist/types/vue/src/contexts/IconContext.d.ts +8 -3
  198. package/dist/types/vue/src/i18n/I18nContext.d.ts +14 -0
  199. package/dist/types/vue/src/i18n/I18nProvider.test.d.ts +2 -0
  200. package/dist/types/vue/src/i18n/I18nProvider.vue.d.ts +35 -0
  201. package/dist/types/vue/src/i18n/index.d.ts +8 -0
  202. package/dist/types/vue/src/i18n/kit-components-spot.test.d.ts +1 -0
  203. package/dist/types/vue/src/i18n/useI18n.d.ts +44 -0
  204. package/dist/types/vue/src/index.d.ts +2 -2
  205. package/dist/types/vue/src/test-setup.d.ts +5 -0
  206. package/dist/types/vue/src/types/Icon.d.ts +11 -2
  207. package/dist/types/vue/src/types/TableSettings.d.ts +1 -0
  208. package/dist/types/vue/src/types/index.d.ts +1 -0
  209. package/dist/types/vue/src/utils/index.d.ts +1 -0
  210. package/dist/types/vue/src/utils/sanitizeSvg.d.ts +1 -0
  211. package/dist/types/vue/src/utils/tableStorage.d.ts +1 -0
  212. package/dist/ui-kit-vue.css +1 -1
  213. package/package.json +8 -3
  214. package/dist/types/vue/src/components/ConnectionFlow/ConnectionFlowColumn.vue.d.ts +0 -45
  215. package/dist/types/vue/src/components/ConnectionFlow/ConnectionFlowConnector.vue.d.ts +0 -103
  216. package/dist/types/vue/src/components/ConnectionFlow/ConnectionFlowParallelGroup.vue.d.ts +0 -17
  217. package/dist/types/vue/src/components/ConnectionFlow/types.d.ts +0 -220
@@ -1,27 +1,59 @@
1
- import type { TrueColor } from "../theme/Theme";
1
+ import type { ControlSize, TrueColor } from "../theme/Theme";
2
+ export declare const BADGE_VARIANTS: readonly ["solid", "soft", "outline"];
3
+ export type BadgeVariant = (typeof BADGE_VARIANTS)[number];
4
+ export type BadgeSize = ControlSize;
2
5
  export interface BadgeProps {
6
+ /** Content to display inside the badge. */
7
+ count?: number | string;
8
+ /** Show only a dot indicator, with no count. */
9
+ dot?: boolean;
10
+ /** Max count to display before showing "+". @default 99 */
11
+ maxCount?: number;
3
12
  /**
4
- * Content to display inside the badge
13
+ * Render a `0` instead of nothing. A zero count is hidden by default, which
14
+ * is usually right for a notification badge and wrong for a tally.
5
15
  */
6
- count?: number | string;
16
+ showZero?: boolean;
17
+ /** @default "neutral" */
18
+ tone?: TrueColor;
19
+ /** @default "solid" */
20
+ variant?: BadgeVariant;
21
+ /** @default "sm" */
22
+ size?: BadgeSize;
7
23
  /**
8
- * Show only a dot indicator (no count)
24
+ * A ring in the page background colour, so the badge stays legible where it
25
+ * overlaps an icon or avatar. Turn it off when the badge sits on its own.
26
+ * @default true
9
27
  */
10
- dot?: boolean;
28
+ ring?: boolean;
29
+ /** Draws attention with a pinging halo. Respects `prefers-reduced-motion`. */
30
+ pulse?: boolean;
11
31
  /**
12
- * Max count to display before showing "+"
13
- * @default 99
32
+ * What assistive technology announces, in place of the digits. Without it
33
+ * the digits themselves are the accessible content.
14
34
  */
15
- maxCount?: number;
35
+ label?: string;
16
36
  /**
17
- * Badge color variant
18
- * @default "neutral"
37
+ * Hide from assistive technology entirely. Defaults to true for a dot, which
38
+ * carries no value of its own, and false for a count.
19
39
  */
20
- tone?: TrueColor;
40
+ decorative?: boolean;
21
41
  }
22
- declare const _default: import("vue").DefineComponent<BadgeProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<BadgeProps> & Readonly<{}>, {
42
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<BadgeProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<BadgeProps> & Readonly<{}>, {
43
+ size: BadgeSize;
23
44
  tone: TrueColor;
45
+ variant: BadgeVariant;
24
46
  dot: boolean;
25
47
  maxCount: number;
26
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
48
+ showZero: boolean;
49
+ ring: boolean;
50
+ pulse: boolean;
51
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
52
+ default?: (props: {}) => any;
53
+ }>;
27
54
  export default _default;
55
+ type __VLS_WithSlots<T, S> = T & {
56
+ new (): {
57
+ $slots: S;
58
+ };
59
+ };
@@ -35,9 +35,9 @@ export interface BadgeIconProps extends IconButtonProps {
35
35
  declare const _default: __VLS_WithSlots<import("vue").DefineComponent<BadgeIconProps, {
36
36
  el: import("vue").ComputedRef<HTMLButtonElement | null>;
37
37
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<BadgeIconProps> & Readonly<{}>, {
38
+ loading: boolean;
38
39
  disabled: boolean;
39
40
  fullWidth: boolean;
40
- loading: boolean;
41
41
  accent: boolean;
42
42
  badgeDot: boolean;
43
43
  badgePosition: BadgePosition;
@@ -0,0 +1,81 @@
1
+ import { type ButtonVariant } from "./Button.vue";
2
+ import { type SurfaceCorner, type SurfacePadding, type SurfaceVariant, type TrueColor } from "../theme";
3
+ /** One slice of the breakdown — its tone paints both the slice and the dot. */
4
+ export interface BreakdownItem {
5
+ id: string;
6
+ label: string;
7
+ value: number;
8
+ /** Shown instead of the raw value (a formatted count, a currency). */
9
+ displayValue?: string;
10
+ /** @default "blue" */
11
+ tone?: TrueColor;
12
+ }
13
+ /** A label/value pair in the card's summary strip. */
14
+ export interface BreakdownStat {
15
+ label: string;
16
+ value: string;
17
+ }
18
+ declare const _default: import("vue").DefineComponent<{
19
+ title: string;
20
+ /** Small copy under the title. */
21
+ caption?: string;
22
+ items: BreakdownItem[];
23
+ /** Summary strip along the bottom — totals that outlive the filter. */
24
+ stats?: BreakdownStat[];
25
+ ctaLabel?: string;
26
+ /**
27
+ * Draws the card's own shape in placeholder ink while the numbers are in
28
+ * flight — the frame keeps its height, nothing jumps when data lands.
29
+ */
30
+ loading?: boolean;
31
+ /**
32
+ * The CTA's button variant. Follows the card's own `variant` by default —
33
+ * an outlined card offers an outlined button.
34
+ */
35
+ ctaVariant?: ButtonVariant;
36
+ /** Surface, as every card in the kit takes it. @default "outlined" */
37
+ variant?: SurfaceVariant;
38
+ /** @default "neutral" */
39
+ tone?: TrueColor;
40
+ /** @default "md" */
41
+ padding?: SurfacePadding;
42
+ corner?: SurfaceCorner;
43
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
44
+ cta: () => any;
45
+ }, string, import("vue").PublicProps, Readonly<{
46
+ title: string;
47
+ /** Small copy under the title. */
48
+ caption?: string;
49
+ items: BreakdownItem[];
50
+ /** Summary strip along the bottom — totals that outlive the filter. */
51
+ stats?: BreakdownStat[];
52
+ ctaLabel?: string;
53
+ /**
54
+ * Draws the card's own shape in placeholder ink while the numbers are in
55
+ * flight — the frame keeps its height, nothing jumps when data lands.
56
+ */
57
+ loading?: boolean;
58
+ /**
59
+ * The CTA's button variant. Follows the card's own `variant` by default —
60
+ * an outlined card offers an outlined button.
61
+ */
62
+ ctaVariant?: ButtonVariant;
63
+ /** Surface, as every card in the kit takes it. @default "outlined" */
64
+ variant?: SurfaceVariant;
65
+ /** @default "neutral" */
66
+ tone?: TrueColor;
67
+ /** @default "md" */
68
+ padding?: SurfacePadding;
69
+ corner?: SurfaceCorner;
70
+ }> & Readonly<{
71
+ onCta?: (() => any) | undefined;
72
+ }>, {
73
+ caption: string;
74
+ loading: boolean;
75
+ tone: TrueColor;
76
+ variant: SurfaceVariant;
77
+ padding: SurfacePadding;
78
+ stats: BreakdownStat[];
79
+ ctaLabel: string;
80
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
81
+ export default _default;
@@ -1,12 +1,19 @@
1
1
  import type { VNode } from "vue";
2
- import type { TrueColor, ButtonVariant } from "../theme/Theme";
2
+ import type { TrueColor, ButtonVariant, ButtonWeight } from "../theme/Theme";
3
3
  import type { TooltipPosition } from "./Tooltip.vue";
4
4
  import type { GlassVibrancy, GlassOpacity, SpecularMode } from "../../../common/theme/glass";
5
5
  export type ButtonColor = TrueColor;
6
6
  export type { ButtonVariant };
7
7
  export type { GlassVibrancy, GlassOpacity, SpecularMode };
8
- export type ButtonSize = "xs" | "sm" | "md" | "lg" | "xl";
9
- export type ButtonWeight = "normal" | "medium" | "semibold" | "bold";
8
+ /**
9
+ * Buttons use the shared control scale. Aliased rather than redeclared so a
10
+ * change to `ControlSize` reaches Button without a second list to update —
11
+ * the same rule the React kit's Button follows.
12
+ */
13
+ export { BUTTON_VARIANTS, BUTTON_WEIGHTS, } from "../theme/Theme";
14
+ export declare const BUTTON_SIZES: readonly ["xs", "sm", "md", "lg", "xl"];
15
+ export type ButtonSize = (typeof BUTTON_SIZES)[number];
16
+ export type { ButtonWeight };
10
17
  export interface ButtonProps {
11
18
  variant?: ButtonVariant;
12
19
  color?: TrueColor;
@@ -19,6 +26,12 @@ export interface ButtonProps {
19
26
  iconOnly?: boolean;
20
27
  accent?: boolean;
21
28
  accentColor?: TrueColor;
29
+ /**
30
+ * Raw CSS colour to tint the leading/trailing icon. Omit it and the icon
31
+ * inherits the button's text colour (icons paint with `currentColor`), so
32
+ * the glyph always matches the label; set it to override just the glyph.
33
+ */
34
+ iconColor?: string;
22
35
  /** When true, renders in a persistent lighter "on" state with hover suppressed. accentColor overrides the active color. */
23
36
  active?: boolean;
24
37
  /** When true, applies glass styling (fill + vibrancy + optional specular overlay). */
@@ -39,23 +52,21 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<ButtonProp
39
52
  el: import("vue").Ref<HTMLButtonElement | null, HTMLButtonElement | null>;
40
53
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ButtonProps> & Readonly<{}>, {
41
54
  glass: boolean;
42
- color: TrueColor;
43
- variant: ButtonVariant;
44
55
  size: ButtonSize;
56
+ loading: boolean;
57
+ color: TrueColor;
45
58
  disabled: boolean;
59
+ variant: ButtonVariant;
60
+ glassOpacity: GlassOpacity;
61
+ vibrancy: GlassVibrancy;
62
+ specularMode: SpecularMode;
46
63
  weight: ButtonWeight;
47
64
  fullWidth: boolean;
48
- loading: boolean;
49
65
  iconOnly: boolean;
50
66
  accent: boolean;
51
67
  active: boolean;
52
- vibrancy: GlassVibrancy;
53
- glassOpacity: GlassOpacity;
54
- specularMode: SpecularMode;
55
68
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
56
69
  default?: (props: {}) => any;
57
- } & {
58
- default?: (props: {}) => any;
59
70
  }>;
60
71
  export default _default;
61
72
  type __VLS_WithSlots<T, S> = T & {
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,80 @@
1
+ import type { ChatEvent, ChatModel, ChatStorage } from "../chat";
2
+ import type { SurfacePadding, TrueColor } from "../theme";
3
+ export interface ChatProps {
4
+ /**
5
+ * The persistence contract — bring your own.
6
+ * @default createLocalChatStorage()
7
+ */
8
+ storage?: ChatStorage;
9
+ /** Streaming endpoint (OpenAI-compatible). Without it the chat archives but never answers. */
10
+ baseUrl?: string;
11
+ apiKey?: string;
12
+ defaultModel?: string;
13
+ /** Pin the picker's list; `false` hides the picker; omit to discover `baseUrl/models`. */
14
+ models?: ChatModel[] | false;
15
+ /** Messages fetched per page, both ways. @default 50 */
16
+ pageSize?: number;
17
+ /** Message ceiling kept in memory — older ones live in storage only. @default 200 */
18
+ keepInMemory?: number;
19
+ /** @default 480 */
20
+ height?: number | string;
21
+ /** @default true */
22
+ showRail?: boolean;
23
+ /** @default "Send a message…" */
24
+ placeholder?: string;
25
+ /** Every observable thing that happens (also emitted as `event`). */
26
+ onEvent?: (event: ChatEvent) => void;
27
+ /** @default "outlined" */
28
+ variant?: "outlined" | "subtle" | "elevated" | "tonal" | "glass";
29
+ /** @default "neutral" */
30
+ tone?: TrueColor;
31
+ /** @default "none" */
32
+ padding?: SurfacePadding;
33
+ }
34
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<ChatProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
35
+ event: (payload: ChatEvent) => any;
36
+ }, string, import("vue").PublicProps, Readonly<ChatProps> & Readonly<{
37
+ onEvent?: ((payload: ChatEvent) => any) | undefined;
38
+ }>, {
39
+ height: number | string;
40
+ tone: TrueColor;
41
+ variant: "outlined" | "subtle" | "elevated" | "tonal" | "glass";
42
+ placeholder: string;
43
+ storage: ChatStorage;
44
+ padding: SurfacePadding;
45
+ baseUrl: string;
46
+ apiKey: string;
47
+ defaultModel: string;
48
+ models: ChatModel[] | false;
49
+ pageSize: number;
50
+ keepInMemory: number;
51
+ showRail: boolean;
52
+ onEvent: (event: ChatEvent) => void;
53
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
54
+ message?: (props: {
55
+ message: {
56
+ id: string;
57
+ chatId: string;
58
+ role: import("../chat").ChatRole;
59
+ content: string;
60
+ reasoning?: string | undefined;
61
+ createdAt: string;
62
+ status: import("../chat").ChatMessageStatus;
63
+ usage?: {
64
+ prompt_tokens?: number | undefined;
65
+ completion_tokens?: number | undefined;
66
+ total_tokens?: number | undefined;
67
+ cost?: number | undefined;
68
+ } | undefined;
69
+ model?: string | undefined;
70
+ error?: string | undefined;
71
+ };
72
+ streaming: boolean;
73
+ }) => any;
74
+ }>;
75
+ export default _default;
76
+ type __VLS_WithSlots<T, S> = T & {
77
+ new (): {
78
+ $slots: S;
79
+ };
80
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -1,46 +1,60 @@
1
- import type { TrueColor, Size } from "../theme/Theme";
2
- type CheckboxDescriptionPlacement = "bottom" | "inline";
3
- type CheckboxAlign = "left" | "right";
1
+ import { type ControlSize, type InputVariant, type TrueColor } from "../theme/Theme";
2
+ export declare const CHECKBOX_DESCRIPTION_PLACEMENTS: readonly ["bottom", "inline"];
3
+ export type CheckboxDescriptionPlacement = (typeof CHECKBOX_DESCRIPTION_PLACEMENTS)[number];
4
+ export declare const CHECKBOX_ALIGNS: readonly ["left", "right"];
5
+ export type CheckboxAlign = (typeof CHECKBOX_ALIGNS)[number];
6
+ export declare const CHECKBOX_VALIDATION_STATUSES: readonly ["none", "error", "success"];
7
+ export type CheckboxValidationStatus = (typeof CHECKBOX_VALIDATION_STATUSES)[number];
8
+ /** Aliased so a change to the shared control scale reaches Checkbox. */
9
+ export type CheckboxSize = ControlSize;
10
+ /**
11
+ * The same surface scale `Input` and `SearchBar` use, so a checkbox in a form
12
+ * matches the fields beside it.
13
+ */
14
+ export type CheckboxVariant = InputVariant;
4
15
  export interface CheckboxProps {
5
16
  /** Controlled checked state (v-model). */
6
17
  modelValue?: boolean;
7
18
  id?: string;
8
- /**
9
- * Optional label rendered next to the checkbox control.
10
- */
19
+ /** Label rendered next to the control. */
11
20
  label?: string;
12
- /**
13
- * Optional description displayed under the label.
14
- */
21
+ /** Secondary copy, under the label or beside it. */
15
22
  description?: string;
16
- /**
17
- * Controls if the description is stacked under the label (default) or inline beside it.
18
- */
23
+ /** @default "bottom" */
19
24
  descriptionPlacement?: CheckboxDescriptionPlacement;
25
+ /** @default "md" */
26
+ size?: CheckboxSize;
20
27
  /**
21
- * Adjusts checkbox dimensions and typography.
28
+ * Surface treatment of the box, on the shared input scale. @default "flat"
22
29
  */
23
- size?: Size;
30
+ variant?: CheckboxVariant;
31
+ /** @default "blue" */
24
32
  /**
25
- * Accent color applied to the checkbox.
33
+ * Accent colour. Every other control in the kit names this `tone` with
34
+ * `color` as the alias; `Checkbox` had only `color`, so a form written
35
+ * against the shared name silently fell back to blue.
36
+ * @default "blue"
26
37
  */
38
+ tone?: TrueColor;
39
+ /** Alias for `tone`. */
27
40
  color?: TrueColor;
28
- /**
29
- * Enables the native indeterminate visual state.
30
- */
41
+ /** Native tri-state. Also announced as `aria-checked="mixed"`. */
31
42
  indeterminate?: boolean;
32
- /**
33
- * When true the container will stretch to the available width.
34
- */
43
+ /** Stretch the row to the available width. */
35
44
  fullWidth?: boolean;
36
- /**
37
- * Renders the checkbox control on the left (default) or right side of the label block.
38
- */
45
+ /** Which side the box sits on. @default "left" */
39
46
  controlAlign?: CheckboxAlign;
40
- disabled?: boolean;
41
47
  /**
42
- * Additional classes applied directly to the input element.
48
+ * Validation state, matching `Input`'s. `error` also sets `aria-invalid`.
49
+ * @default "none"
43
50
  */
51
+ validationStatus?: CheckboxValidationStatus;
52
+ /** Message shown under the row, tinted by `validationStatus`. */
53
+ validationMessage?: string;
54
+ /** Marks the label with an asterisk and sets `required` on the input. */
55
+ required?: boolean;
56
+ disabled?: boolean;
57
+ /** Applied to the visible box, not the (visually hidden) input. */
44
58
  inputClassName?: string;
45
59
  }
46
60
  declare const _default: __VLS_WithSlots<import("vue").DefineComponent<CheckboxProps, {
@@ -52,12 +66,13 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<CheckboxPr
52
66
  onChange?: ((event: Event) => any) | undefined;
53
67
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
54
68
  }>, {
55
- color: TrueColor;
56
- size: Size;
69
+ size: CheckboxSize;
57
70
  disabled: boolean;
71
+ variant: CheckboxVariant;
58
72
  fullWidth: boolean;
59
- descriptionPlacement: CheckboxDescriptionPlacement;
60
73
  indeterminate: boolean;
74
+ validationStatus: CheckboxValidationStatus;
75
+ descriptionPlacement: CheckboxDescriptionPlacement;
61
76
  controlAlign: CheckboxAlign;
62
77
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
63
78
  label?: () => unknown;
@@ -17,14 +17,14 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Collapsibl
17
17
  onToggle?: ((expanded: boolean) => any) | undefined;
18
18
  "onUpdate:expanded"?: ((expanded: boolean) => any) | undefined;
19
19
  }>, {
20
- tone: import("../index.js").TrueColor;
21
- variant: import("./Panel.vue").PanelVariant;
20
+ expanded: boolean;
21
+ loading: boolean;
22
+ tone: import("./index.js").TrueColor;
22
23
  disabled: boolean;
24
+ variant: import("./Panel.vue").PanelVariant;
25
+ corner: import("./Panel.vue").PanelCorner;
23
26
  fullWidth: boolean;
24
- loading: boolean;
25
- expanded: boolean;
26
27
  padding: import("./Panel.vue").PanelPadding;
27
- corner: import("./Panel.vue").PanelCorner;
28
28
  flexBody: boolean;
29
29
  hoverShadow: boolean;
30
30
  hoverable: boolean;
@@ -0,0 +1,42 @@
1
+ import { type ControlSize, type SurfacePadding, type TrueColor } from "../theme";
2
+ /**
3
+ * Colours on display: a strip of dots for the theme's tones, condensed into
4
+ * an overlapping stack with a `+N` chip whenever the count (or the width)
5
+ * outgrows the row, and expanded by *unfolding* — the stacked dots spread
6
+ * apart, the rest pop in one by one, and the strip grows exactly as far as
7
+ * the new lines need. One layout, clipped or whole; nothing replaces
8
+ * anything.
9
+ *
10
+ * (Notes live here rather than in the template because a template comment is
11
+ * a real node, and a comment beside the root makes the component multi-root
12
+ * — which silently breaks attribute inheritance.)
13
+ */
14
+ interface ColorSwatchesProps {
15
+ /** @default TRUE_COLORS */
16
+ colors?: readonly TrueColor[];
17
+ /** Dot diameter, on the shared control scale. @default "md" */
18
+ size?: ControlSize;
19
+ /** Inset around the group, on the shared container scale. @default "none" */
20
+ padding?: SurfacePadding;
21
+ /** Dots shown before the `+N` chip while condensed. @default 5 */
22
+ maxVisible?: number;
23
+ /** @default "click" */
24
+ expandOn?: "click" | "hover";
25
+ /** @default false */
26
+ defaultExpanded?: boolean;
27
+ /** @default "circle" */
28
+ shape?: "circle" | "square";
29
+ /** Tone names under the dots, revealed with the expansion. @default false */
30
+ showNames?: boolean;
31
+ }
32
+ declare const _default: import("vue").DefineComponent<ColorSwatchesProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ColorSwatchesProps> & Readonly<{}>, {
33
+ size: ControlSize;
34
+ padding: SurfacePadding;
35
+ colors: readonly TrueColor[];
36
+ maxVisible: number;
37
+ expandOn: "click" | "hover";
38
+ defaultExpanded: boolean;
39
+ shape: "circle" | "square";
40
+ showNames: boolean;
41
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
42
+ export default _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,23 +1,72 @@
1
- import type { TrueColor } from "../theme/Theme";
1
+ import type { VNode } from "vue";
2
+ import { type ControlSize, type InputVariant, type TrueColor, type ValidationStatus } from "../theme/Theme";
3
+ export declare const COMBOBOX_VALIDATION_STATUSES: readonly ["none", "error", "success"];
4
+ export type ComboboxValidationStatus = ValidationStatus;
5
+ export type ComboboxSize = ControlSize;
6
+ export type ComboboxVariant = InputVariant;
7
+ export interface ComboboxOption {
8
+ value: string;
9
+ /** Falls back to `value`. */
10
+ label?: string;
11
+ /** Secondary line under the label. */
12
+ description?: string;
13
+ /** Registry icon name or a node. */
14
+ icon?: string | VNode;
15
+ disabled?: boolean;
16
+ }
17
+ /** A bare string is shorthand for `{ value }`. */
18
+ export type ComboboxOptionInput = string | ComboboxOption;
2
19
  export interface ComboboxProps {
3
- modelValue?: string;
4
- options?: string[];
20
+ value?: string;
21
+ options: ComboboxOptionInput[];
22
+ /** @default "md" */
23
+ size?: ComboboxSize;
24
+ /** Accent colour for the focus ring and the highlighted row. */
25
+ tone?: TrueColor;
26
+ /** Alias for `tone`, matching `Input` and `Select`. */
27
+ color?: TrueColor;
28
+ /** Entry style. @default "flat" */
29
+ variant?: ComboboxVariant;
30
+ /** @default "none" */
31
+ validationStatus?: ComboboxValidationStatus;
32
+ /** @deprecated Use `validationStatus="error"`. */
33
+ error?: boolean;
5
34
  placeholder?: string;
6
35
  disabled?: boolean;
7
- error?: boolean;
36
+ readOnly?: boolean;
37
+ /** Fetching options. The list shows a spinner instead of the empty message. */
38
+ loading?: boolean;
39
+ loadingMessage?: string;
8
40
  emptyMessage?: string;
9
- color?: TrueColor;
41
+ /** Show the clear button once there is something to clear. @default true */
42
+ clearable?: boolean;
43
+ leadingIcon?: string | VNode;
44
+ /** Rows to show before the list scrolls. @default 6 */
45
+ visibleRows?: number;
46
+ /** Classes for the field box. */
47
+ fieldClass?: string;
48
+ /** Classes for the drop-down. */
49
+ listClass?: string;
50
+ id?: string;
10
51
  }
11
52
  declare const _default: import("vue").DefineComponent<ComboboxProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
12
- "update:modelValue": (value: string) => any;
53
+ select: (option: ComboboxOption) => any;
54
+ change: (value: string) => any;
55
+ "update:value": (value: string) => any;
13
56
  }, string, import("vue").PublicProps, Readonly<ComboboxProps> & Readonly<{
14
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
57
+ onSelect?: ((option: ComboboxOption) => any) | undefined;
58
+ onChange?: ((value: string) => any) | undefined;
59
+ "onUpdate:value"?: ((value: string) => any) | undefined;
15
60
  }>, {
16
- color: TrueColor;
17
- disabled: boolean;
18
61
  error: boolean;
19
- options: string[];
20
- modelValue: string;
21
- emptyMessage: string;
62
+ size: ComboboxSize;
63
+ loading: boolean;
64
+ disabled: boolean;
65
+ value: string;
66
+ variant: ComboboxVariant;
67
+ validationStatus: ComboboxValidationStatus;
68
+ readOnly: boolean;
69
+ clearable: boolean;
70
+ visibleRows: number;
22
71
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
23
72
  export default _default;