@ac-design/design-system 1.0.3 → 2.1.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 (235) hide show
  1. package/README.md +27 -18
  2. package/dist/lib/charts/ChartFrame.js +5 -0
  3. package/dist/lib/charts/ChartFrame.vue.d.ts +71 -0
  4. package/dist/lib/charts/ChartFrame.vue_vue_type_script_setup_true_lang.js +173 -0
  5. package/dist/lib/charts/cartesian.d.ts +324 -0
  6. package/dist/lib/charts/cartesian.js +137 -0
  7. package/dist/lib/charts/echarts.d.ts +86 -0
  8. package/dist/lib/charts/echarts.js +173 -0
  9. package/dist/lib/charts/graph.d.ts +77 -0
  10. package/dist/lib/charts/graph.js +155 -0
  11. package/dist/lib/charts/index.d.ts +11 -0
  12. package/dist/lib/charts/index.js +7 -0
  13. package/dist/lib/charts/shared.d.ts +53 -0
  14. package/dist/lib/charts/shared.js +96 -0
  15. package/dist/lib/charts/xy.d.ts +69 -0
  16. package/dist/lib/charts/xy.js +73 -0
  17. package/dist/lib/compat.css +2770 -1061
  18. package/dist/lib/components/AcAccordion.vue_vue_type_script_setup_true_lang.js +2 -2
  19. package/dist/lib/components/AcAccordionItem.vue.d.ts +1 -1
  20. package/dist/lib/components/AcAccordionItem.vue_vue_type_script_setup_true_lang.js +5 -5
  21. package/dist/lib/components/AcAlert.vue.d.ts +10 -1
  22. package/dist/lib/components/AcAlert.vue_vue_type_script_setup_true_lang.js +139 -45
  23. package/dist/lib/components/AcAppSwitcher.vue_vue_type_script_setup_true_lang.js +19 -19
  24. package/dist/lib/components/AcAreaChart.js +5 -0
  25. package/dist/lib/components/AcAreaChart.vue.d.ts +47 -0
  26. package/dist/lib/components/AcAreaChart.vue_vue_type_script_setup_true_lang.js +205 -0
  27. package/dist/lib/components/AcAvatar.vue.d.ts +7 -4
  28. package/dist/lib/components/AcAvatar.vue_vue_type_script_setup_true_lang.js +66 -61
  29. package/dist/lib/components/AcBadge.vue.d.ts +20 -7
  30. package/dist/lib/components/AcBadge.vue_vue_type_script_setup_true_lang.js +67 -44
  31. package/dist/lib/components/AcBanner.vue.d.ts +1 -1
  32. package/dist/lib/components/AcBanner.vue_vue_type_script_setup_true_lang.js +30 -30
  33. package/dist/lib/components/AcBarChart.js +5 -0
  34. package/dist/lib/components/AcBarChart.vue.d.ts +46 -0
  35. package/dist/lib/components/AcBarChart.vue_vue_type_script_setup_true_lang.js +213 -0
  36. package/dist/lib/components/AcBreadcrumb.vue.d.ts +4 -1
  37. package/dist/lib/components/AcBreadcrumb.vue_vue_type_script_setup_true_lang.js +36 -34
  38. package/dist/lib/components/AcBulkActionBar.js +5 -0
  39. package/dist/lib/components/AcBulkActionBar.vue.d.ts +45 -0
  40. package/dist/lib/components/AcBulkActionBar.vue_vue_type_script_setup_true_lang.js +84 -0
  41. package/dist/lib/components/AcButton.vue.d.ts +13 -7
  42. package/dist/lib/components/AcButton.vue_vue_type_script_setup_true_lang.js +93 -47
  43. package/dist/lib/components/AcButtons.vue_vue_type_script_setup_true_lang.js +1 -1
  44. package/dist/lib/components/AcCard.vue.d.ts +42 -3
  45. package/dist/lib/components/AcCard.vue_vue_type_script_setup_true_lang.js +175 -14
  46. package/dist/lib/components/AcCellValue.vue.d.ts +6 -3
  47. package/dist/lib/components/AcCellValue.vue_vue_type_script_setup_true_lang.js +219 -178
  48. package/dist/lib/components/AcCheckBox.vue.d.ts +17 -3
  49. package/dist/lib/components/AcCheckBox.vue_vue_type_script_setup_true_lang.js +113 -30
  50. package/dist/lib/components/AcCheckList.js +5 -0
  51. package/dist/lib/components/AcCheckList.vue.d.ts +45 -0
  52. package/dist/lib/components/AcCheckList.vue_vue_type_script_setup_true_lang.js +64 -0
  53. package/dist/lib/components/AcCheckRadio.vue.d.ts +30 -5
  54. package/dist/lib/components/AcCheckRadio.vue_vue_type_script_setup_true_lang.js +102 -26
  55. package/dist/lib/components/AcCircularProgress.js +5 -0
  56. package/dist/lib/components/AcCircularProgress.vue.d.ts +44 -0
  57. package/dist/lib/components/AcCircularProgress.vue_vue_type_script_setup_true_lang.js +114 -0
  58. package/dist/lib/components/AcClusterSwitcher.vue_vue_type_script_setup_true_lang.js +142 -167
  59. package/dist/lib/components/AcCodeEditor.vue_vue_type_script_setup_true_lang.js +9 -9
  60. package/dist/lib/components/AcColorInput.js +5 -0
  61. package/dist/lib/components/AcColorInput.vue.d.ts +57 -0
  62. package/dist/lib/components/AcColorInput.vue_vue_type_script_setup_true_lang.js +217 -0
  63. package/dist/lib/components/AcCommandBlock.js +5 -0
  64. package/dist/lib/components/AcCommandBlock.vue.d.ts +34 -0
  65. package/dist/lib/components/AcCommandBlock.vue_vue_type_script_setup_true_lang.js +88 -0
  66. package/dist/lib/components/AcConfirmModal.js +5 -0
  67. package/dist/lib/components/AcConfirmModal.vue.d.ts +56 -0
  68. package/dist/lib/components/AcConfirmModal.vue_vue_type_script_setup_true_lang.js +96 -0
  69. package/dist/lib/components/AcContentHeader.vue.d.ts +1 -1
  70. package/dist/lib/components/AcContentHeader.vue_vue_type_script_setup_true_lang.js +5 -4
  71. package/dist/lib/components/AcContentLayout.vue_vue_type_script_setup_true_lang.js +2 -2
  72. package/dist/lib/components/AcCopyButton.js +5 -0
  73. package/dist/lib/components/AcCopyButton.vue.d.ts +43 -0
  74. package/dist/lib/components/AcCopyButton.vue_vue_type_script_setup_true_lang.js +92 -0
  75. package/dist/lib/components/AcCostSummary.js +5 -0
  76. package/dist/lib/components/AcCostSummary.vue.d.ts +102 -0
  77. package/dist/lib/components/AcCostSummary.vue_vue_type_script_setup_true_lang.js +179 -0
  78. package/dist/lib/components/AcDatePicker.vue.d.ts +8 -8
  79. package/dist/lib/components/AcDatePicker.vue_vue_type_script_setup_true_lang.js +634 -417
  80. package/dist/lib/components/AcDeleteModal.vue.d.ts +4 -4
  81. package/dist/lib/components/AcDeleteModal.vue_vue_type_script_setup_true_lang.js +57 -60
  82. package/dist/lib/components/AcDonutChart.js +5 -0
  83. package/dist/lib/components/AcDonutChart.vue.d.ts +83 -0
  84. package/dist/lib/components/AcDonutChart.vue_vue_type_script_setup_true_lang.js +237 -0
  85. package/dist/lib/components/AcDropdown.vue.d.ts +5 -2
  86. package/dist/lib/components/AcDropdown.vue_vue_type_script_setup_true_lang.js +91 -78
  87. package/dist/lib/components/AcDropdownDivider.vue_vue_type_script_setup_true_lang.js +11 -10
  88. package/dist/lib/components/AcDropdownItem.vue.d.ts +2 -2
  89. package/dist/lib/components/AcDropdownItem.vue_vue_type_script_setup_true_lang.js +18 -18
  90. package/dist/lib/components/AcEmptyState.vue.d.ts +4 -1
  91. package/dist/lib/components/AcEmptyState.vue_vue_type_script_setup_true_lang.js +50 -39
  92. package/dist/lib/components/AcErrorState.js +5 -0
  93. package/dist/lib/components/AcErrorState.vue.d.ts +46 -0
  94. package/dist/lib/components/AcErrorState.vue_vue_type_script_setup_true_lang.js +66 -0
  95. package/dist/lib/components/AcFeatureCard.vue.d.ts +6 -0
  96. package/dist/lib/components/AcFeatureCard.vue_vue_type_script_setup_true_lang.js +139 -116
  97. package/dist/lib/components/AcFileEditor.vue_vue_type_script_setup_true_lang.js +16 -16
  98. package/dist/lib/components/AcFileUpload.vue.d.ts +2 -2
  99. package/dist/lib/components/AcFileUpload.vue_vue_type_script_setup_true_lang.js +55 -53
  100. package/dist/lib/components/AcFontScale.vue_vue_type_script_setup_true_lang.js +2 -2
  101. package/dist/lib/components/AcFooter.js +5 -0
  102. package/dist/lib/components/AcFooter.vue.d.ts +37 -0
  103. package/dist/lib/components/AcFooter.vue_vue_type_script_setup_true_lang.js +107 -0
  104. package/dist/lib/components/AcForm.vue.d.ts +3 -0
  105. package/dist/lib/components/AcForm.vue_vue_type_script_setup_true_lang.js +4 -2
  106. package/dist/lib/components/AcFormArray.vue.d.ts +2 -2
  107. package/dist/lib/components/AcFormArray.vue_vue_type_script_setup_true_lang.js +149 -147
  108. package/dist/lib/components/AcFormFooter.vue.d.ts +3 -3
  109. package/dist/lib/components/AcFormFooter.vue_vue_type_script_setup_true_lang.js +2 -2
  110. package/dist/lib/components/AcFormSection.vue.d.ts +8 -1
  111. package/dist/lib/components/AcFormSection.vue_vue_type_script_setup_true_lang.js +31 -21
  112. package/dist/lib/components/AcGraphChart.js +5 -0
  113. package/dist/lib/components/AcGraphChart.vue.d.ts +124 -0
  114. package/dist/lib/components/AcGraphChart.vue_vue_type_script_setup_true_lang.js +578 -0
  115. package/dist/lib/components/AcHeader.vue.d.ts +20 -5
  116. package/dist/lib/components/AcHeader.vue_vue_type_script_setup_true_lang.js +82 -28
  117. package/dist/lib/components/AcInfoTable.vue.d.ts +1 -1
  118. package/dist/lib/components/AcInfoTable.vue_vue_type_script_setup_true_lang.js +17 -13
  119. package/dist/lib/components/AcInput.vue.d.ts +4 -4
  120. package/dist/lib/components/AcInput.vue_vue_type_script_setup_true_lang.js +99 -91
  121. package/dist/lib/components/AcKbd.vue_vue_type_script_setup_true_lang.js +1 -1
  122. package/dist/lib/components/AcKeyValueInput.js +5 -0
  123. package/dist/lib/components/AcKeyValueInput.vue.d.ts +114 -0
  124. package/dist/lib/components/AcKeyValueInput.vue_vue_type_script_setup_true_lang.js +336 -0
  125. package/dist/lib/components/AcLineChart.js +5 -0
  126. package/dist/lib/components/AcLineChart.vue.d.ts +44 -0
  127. package/dist/lib/components/AcLineChart.vue_vue_type_script_setup_true_lang.js +175 -0
  128. package/dist/lib/components/AcLoader.js +5 -0
  129. package/dist/lib/components/AcLoader.vue.d.ts +15 -0
  130. package/dist/lib/components/AcLoader.vue_vue_type_script_setup_true_lang.js +66 -0
  131. package/dist/lib/components/AcLocaleSwitcher.js +5 -0
  132. package/dist/lib/components/AcLocaleSwitcher.vue.d.ts +48 -0
  133. package/dist/lib/components/AcLocaleSwitcher.vue_vue_type_script_setup_true_lang.js +111 -0
  134. package/dist/lib/components/AcMapChart.js +5 -0
  135. package/dist/lib/components/AcMapChart.vue.d.ts +136 -0
  136. package/dist/lib/components/AcMapChart.vue_vue_type_script_setup_true_lang.js +518 -0
  137. package/dist/lib/components/AcModal.vue.d.ts +6 -3
  138. package/dist/lib/components/AcModal.vue_vue_type_script_setup_true_lang.js +88 -64
  139. package/dist/lib/components/AcNavbar.vue.d.ts +8 -5
  140. package/dist/lib/components/AcNavbar.vue_vue_type_script_setup_true_lang.js +29 -21
  141. package/dist/lib/components/AcNavbarItem.vue.d.ts +2 -2
  142. package/dist/lib/components/AcNavbarItem.vue_vue_type_script_setup_true_lang.js +23 -24
  143. package/dist/lib/components/AcNotificationMenu.vue.d.ts +3 -3
  144. package/dist/lib/components/AcNotificationMenu.vue_vue_type_script_setup_true_lang.js +139 -174
  145. package/dist/lib/components/AcNumberInput.js +5 -0
  146. package/dist/lib/components/AcNumberInput.vue.d.ts +79 -0
  147. package/dist/lib/components/AcNumberInput.vue_vue_type_script_setup_true_lang.js +241 -0
  148. package/dist/lib/components/AcPage.vue.d.ts +2 -2
  149. package/dist/lib/components/AcPage.vue_vue_type_script_setup_true_lang.js +2 -2
  150. package/dist/lib/components/AcPagination.vue.d.ts +22 -5
  151. package/dist/lib/components/AcPagination.vue_vue_type_script_setup_true_lang.js +87 -56
  152. package/dist/lib/components/AcPreloader.vue.d.ts +3 -3
  153. package/dist/lib/components/AcPreloader.vue_vue_type_script_setup_true_lang.js +15 -16
  154. package/dist/lib/components/AcProductHero.js +5 -0
  155. package/dist/lib/components/AcProductHero.vue.d.ts +56 -0
  156. package/dist/lib/components/AcProductHero.vue_vue_type_script_setup_true_lang.js +95 -0
  157. package/dist/lib/components/AcProgress.vue.d.ts +19 -4
  158. package/dist/lib/components/AcProgress.vue_vue_type_script_setup_true_lang.js +85 -31
  159. package/dist/lib/components/AcResourceCard.vue.d.ts +3 -3
  160. package/dist/lib/components/AcResourceCard.vue_vue_type_script_setup_true_lang.js +17 -17
  161. package/dist/lib/components/AcSearchBar.vue.d.ts +1 -1
  162. package/dist/lib/components/AcSearchBar.vue_vue_type_script_setup_true_lang.js +14 -9
  163. package/dist/lib/components/AcSectionContent.vue.d.ts +2 -2
  164. package/dist/lib/components/AcSectionContent.vue_vue_type_script_setup_true_lang.js +8 -8
  165. package/dist/lib/components/AcSegmentedControl.vue.d.ts +1 -1
  166. package/dist/lib/components/AcSegmentedControl.vue_vue_type_script_setup_true_lang.js +4 -4
  167. package/dist/lib/components/AcSelect.vue.d.ts +6 -6
  168. package/dist/lib/components/AcSelect.vue_vue_type_script_setup_true_lang.js +246 -254
  169. package/dist/lib/components/AcSettingsRow.js +5 -0
  170. package/dist/lib/components/AcSettingsRow.vue.d.ts +29 -0
  171. package/dist/lib/components/AcSettingsRow.vue_vue_type_script_setup_true_lang.js +37 -0
  172. package/dist/lib/components/AcSidePanel.vue_vue_type_script_setup_true_lang.js +32 -32
  173. package/dist/lib/components/AcSideTabs.vue.d.ts +2 -2
  174. package/dist/lib/components/AcSideTabs.vue_vue_type_script_setup_true_lang.js +37 -37
  175. package/dist/lib/components/AcSidebar.vue.d.ts +6 -3
  176. package/dist/lib/components/AcSidebar.vue_vue_type_script_setup_true_lang.js +67 -57
  177. package/dist/lib/components/AcSidebarItem.vue.d.ts +1 -1
  178. package/dist/lib/components/AcSidebarItem.vue_vue_type_script_setup_true_lang.js +46 -45
  179. package/dist/lib/components/AcSidebarSection.vue.d.ts +2 -2
  180. package/dist/lib/components/AcSidebarSection.vue_vue_type_script_setup_true_lang.js +23 -18
  181. package/dist/lib/components/AcSkeleton.vue_vue_type_script_setup_true_lang.js +8 -8
  182. package/dist/lib/components/AcSlider.vue.d.ts +1 -1
  183. package/dist/lib/components/AcSlider.vue_vue_type_script_setup_true_lang.js +174 -172
  184. package/dist/lib/components/AcStatCard.vue.d.ts +3 -3
  185. package/dist/lib/components/AcStatCard.vue_vue_type_script_setup_true_lang.js +90 -85
  186. package/dist/lib/components/AcStatusBar.vue.d.ts +1 -1
  187. package/dist/lib/components/AcStatusBar.vue_vue_type_script_setup_true_lang.js +6 -6
  188. package/dist/lib/components/AcSteps.vue_vue_type_script_setup_true_lang.js +28 -28
  189. package/dist/lib/components/AcSwitch.vue.d.ts +3 -0
  190. package/dist/lib/components/AcSwitch.vue_vue_type_script_setup_true_lang.js +31 -19
  191. package/dist/lib/components/AcSwitchCard.js +5 -0
  192. package/dist/lib/components/AcSwitchCard.vue.d.ts +59 -0
  193. package/dist/lib/components/AcSwitchCard.vue_vue_type_script_setup_true_lang.js +121 -0
  194. package/dist/lib/components/AcTable.vue_vue_type_script_setup_true_lang.js +97 -97
  195. package/dist/lib/components/AcTabs.vue.d.ts +9 -2
  196. package/dist/lib/components/AcTabs.vue_vue_type_script_setup_true_lang.js +43 -28
  197. package/dist/lib/components/AcTag.vue.d.ts +2 -2
  198. package/dist/lib/components/AcTag.vue_vue_type_script_setup_true_lang.js +22 -22
  199. package/dist/lib/components/AcTagInput.js +5 -0
  200. package/dist/lib/components/AcTagInput.vue.d.ts +74 -0
  201. package/dist/lib/components/AcTagInput.vue_vue_type_script_setup_true_lang.js +289 -0
  202. package/dist/lib/components/AcTextarea.vue.d.ts +4 -4
  203. package/dist/lib/components/AcTextarea.vue_vue_type_script_setup_true_lang.js +85 -63
  204. package/dist/lib/components/AcThemeMode.vue.d.ts +3 -3
  205. package/dist/lib/components/AcThemeMode.vue_vue_type_script_setup_true_lang.js +56 -24
  206. package/dist/lib/components/AcTimePicker.js +5 -0
  207. package/dist/lib/components/AcTimePicker.vue.d.ts +65 -0
  208. package/dist/lib/components/AcTimePicker.vue_vue_type_script_setup_true_lang.js +455 -0
  209. package/dist/lib/components/AcToaster.vue.d.ts +6 -3
  210. package/dist/lib/components/AcToaster.vue_vue_type_script_setup_true_lang.js +115 -82
  211. package/dist/lib/components/AcTooltip.vue.d.ts +34 -14
  212. package/dist/lib/components/AcTooltip.vue_vue_type_script_setup_true_lang.js +203 -79
  213. package/dist/lib/components/AcUsageCard.vue_vue_type_script_setup_true_lang.js +27 -27
  214. package/dist/lib/components/AcUserMenu.vue.d.ts +23 -1
  215. package/dist/lib/components/AcUserMenu.vue_vue_type_script_setup_true_lang.js +166 -115
  216. package/dist/lib/components/index.d.ts +21 -2
  217. package/dist/lib/components/status.d.ts +28 -0
  218. package/dist/lib/components/status.js +125 -0
  219. package/dist/lib/composables/copyText.d.ts +2 -1
  220. package/dist/lib/composables/copyText.js +2 -2
  221. package/dist/lib/composables/useApiPagination.d.ts +55 -0
  222. package/dist/lib/composables/useApiPagination.js +58 -0
  223. package/dist/lib/composables/useBulkSelection.d.ts +44 -0
  224. package/dist/lib/composables/useBulkSelection.js +41 -0
  225. package/dist/lib/composables/useFormValidation.d.ts +65 -0
  226. package/dist/lib/composables/useFormValidation.js +148 -0
  227. package/dist/lib/composables/useTablePagination.d.ts +49 -0
  228. package/dist/lib/composables/useTablePagination.js +41 -0
  229. package/dist/lib/composables/useToast.d.ts +17 -1
  230. package/dist/lib/composables/useToast.js +10 -2
  231. package/dist/lib/editor/theme.js +65 -62
  232. package/dist/lib/index.d.ts +21 -3
  233. package/dist/lib/index.js +99 -75
  234. package/dist/lib/theme.css +377 -273
  235. package/package.json +20 -4
@@ -0,0 +1,53 @@
1
+ import type { Tone } from "../components/types";
2
+ /** A chart palette slot (`chart-1` … `chart-8`), a status tone, or `pending` (violet). */
3
+ export type ChartColor = "chart-1" | "chart-2" | "chart-3" | "chart-4" | "chart-5" | "chart-6" | "chart-7" | "chart-8" | Tone | "pending";
4
+ /** One series (line, area, bar) or one donut segment. */
5
+ export interface ChartCategory {
6
+ /** Label in the legend, tooltip and data table. */
7
+ name: string;
8
+ /** Colour slot. Defaults to `chart-1`, `chart-2`… in the order the categories are listed. */
9
+ color?: ChartColor;
10
+ }
11
+ export type ChartDatum = Record<string, any>;
12
+ /** A key of each row, or a function that reads the value from a row. */
13
+ export type ChartAccessor<T = unknown> = string | ((d: ChartDatum, i: number) => T);
14
+ /** Where the legend sits. */
15
+ export type ChartLegendPosition = "top" | "bottom" | "none";
16
+ /** The shape between points: straight, smooth (monotone, never overshoots) or stepped. */
17
+ export type ChartCurve = "linear" | "monotone" | "step";
18
+ /** What the tooltip shows for one series at the hovered point. */
19
+ export interface ChartTooltipItem {
20
+ key: string;
21
+ name: string;
22
+ /** A CSS colour, e.g. `var(--color-chart-1)`. */
23
+ color: string;
24
+ value: number | null;
25
+ /** `value` run through `yFormatter`. */
26
+ formatted: string;
27
+ }
28
+ export interface ChartLegendItem {
29
+ key: string;
30
+ name: string;
31
+ color: string;
32
+ /** Shown after the name, e.g. a donut segment's value. */
33
+ value?: string;
34
+ }
35
+ export interface ChartTable {
36
+ columns: string[];
37
+ rows: string[][];
38
+ }
39
+ /** CSS colour for a category; colour follows the category's position in the full list, so hiding one never repaints the rest. */
40
+ export declare function chartColor(color: ChartColor | undefined, position: number): string;
41
+ export declare function readValue<T = unknown>(d: ChartDatum, i: number, accessor: ChartAccessor<T>): T;
42
+ export declare function readNumber(d: ChartDatum, key: string): number | null;
43
+ /** The default value formatter: 1.2K, 3.4M. */
44
+ export declare function formatCompact(value: number): string;
45
+ /** How the x values are placed: on a time scale, a number scale, or evenly as categories. */
46
+ export type XKind = "time" | "number" | "category";
47
+ export declare function detectXKind(values: unknown[]): XKind;
48
+ export declare function toTimestamp(v: unknown): number;
49
+ /** Default labels for time values, like d3's multi-scale format: `14:00` within a day, `Oct 10` at midnight, `Oct` (or `Oct 2026`) at a month start on a long span. */
50
+ export declare function timeFormatters(values: number[]): {
51
+ tick: (t: number) => string;
52
+ title: (t: number) => string;
53
+ };
@@ -0,0 +1,96 @@
1
+ //#region src/lib/charts/shared.ts
2
+ var e = {
3
+ "chart-1": "var(--color-chart-1)",
4
+ "chart-2": "var(--color-chart-2)",
5
+ "chart-3": "var(--color-chart-3)",
6
+ "chart-4": "var(--color-chart-4)",
7
+ "chart-5": "var(--color-chart-5)",
8
+ "chart-6": "var(--color-chart-6)",
9
+ "chart-7": "var(--color-chart-7)",
10
+ "chart-8": "var(--color-chart-8)",
11
+ primary: "var(--color-primary)",
12
+ info: "var(--color-info)",
13
+ success: "var(--color-success)",
14
+ warning: "var(--color-warning)",
15
+ danger: "var(--color-danger)",
16
+ pending: "var(--color-pending)"
17
+ }, t = [
18
+ "chart-1",
19
+ "chart-2",
20
+ "chart-3",
21
+ "chart-4",
22
+ "chart-5",
23
+ "chart-6",
24
+ "chart-7",
25
+ "chart-8"
26
+ ];
27
+ function n(n, r) {
28
+ return e[n ?? t[r % t.length]];
29
+ }
30
+ function r(e, t, n) {
31
+ return typeof n == "function" ? n(e, t) : e[n];
32
+ }
33
+ function i(e, t) {
34
+ let n = e[t];
35
+ if (n == null || n === "") return null;
36
+ let r = Number(n);
37
+ return Number.isFinite(r) ? r : null;
38
+ }
39
+ var a = new Intl.NumberFormat(void 0, {
40
+ notation: "compact",
41
+ maximumFractionDigits: 1
42
+ });
43
+ function o(e) {
44
+ return a.format(e);
45
+ }
46
+ var s = /^\d{4}-\d{2}-\d{2}/, c = 1e11;
47
+ function l(e) {
48
+ return e.length ? e.every((e) => e instanceof Date || typeof e == "string" && s.test(e)) ? "time" : e.every((e) => typeof e == "number" && Number.isFinite(e)) ? e.every((e) => e >= c) ? "time" : "number" : "category" : "category";
49
+ }
50
+ var u = /^(\d{4})-(\d{2})-(\d{2})$/;
51
+ function d(e) {
52
+ if (e instanceof Date) return e.getTime();
53
+ if (typeof e == "number") return e;
54
+ let t = u.exec(String(e));
55
+ return t ? new Date(+t[1], t[2] - 1, +t[3]).getTime() : Date.parse(String(e));
56
+ }
57
+ var f = 864e5;
58
+ function p(e) {
59
+ let t = new Date(e);
60
+ return t.getHours() === 0 && t.getMinutes() === 0;
61
+ }
62
+ function m(e) {
63
+ return p(e) && new Date(e).getDate() === 1;
64
+ }
65
+ function h(e) {
66
+ let t = e.length ? Math.max(...e) - Math.min(...e) : 0, n = e.length > 0 && e.every(m), r = e.length > 0 && e.every(p), i = new Intl.DateTimeFormat(void 0, {
67
+ hour: "2-digit",
68
+ minute: "2-digit",
69
+ hourCycle: "h23"
70
+ }), a = new Intl.DateTimeFormat(void 0, {
71
+ month: "short",
72
+ day: "numeric"
73
+ }), o = new Intl.DateTimeFormat(void 0, { month: "short" }), s = new Intl.DateTimeFormat(void 0, {
74
+ month: "short",
75
+ year: "numeric"
76
+ }), c = new Intl.DateTimeFormat(void 0, {
77
+ month: "short",
78
+ day: "numeric",
79
+ hour: "2-digit",
80
+ minute: "2-digit",
81
+ hourCycle: "h23"
82
+ }), l = new Intl.DateTimeFormat(void 0, {
83
+ year: "numeric",
84
+ month: "short",
85
+ day: "numeric"
86
+ }), u = new Intl.DateTimeFormat(void 0, {
87
+ month: "long",
88
+ year: "numeric"
89
+ });
90
+ return {
91
+ tick: (e) => p(e) ? t > 60 * f && m(e) ? (t > 365 * f ? s : o).format(e) : a.format(e) : i.format(e),
92
+ title: (e) => n ? u.format(e) : r ? l.format(e) : c.format(e)
93
+ };
94
+ }
95
+ //#endregion
96
+ export { n as chartColor, l as detectXKind, o as formatCompact, i as readNumber, r as readValue, h as timeFormatters, d as toTimestamp };
@@ -0,0 +1,69 @@
1
+ import type { ChartAccessor, ChartCategory, ChartDatum, ChartLegendItem, ChartLegendPosition, ChartTable, ChartTooltipItem } from "./shared";
2
+ export interface XYChartProps {
3
+ /** Rows to plot, one per x value, e.g. `{ time: "2026-10-10T14:00:00Z", cpu: 42, memory: 61 }`. */
4
+ data: ChartDatum[];
5
+ /** The x value of each row: a key or a function. `Date`s, ISO date strings and millisecond timestamps go on a time axis, other numbers on a number axis, and strings are spaced evenly. */
6
+ index: ChartAccessor;
7
+ /** The series to draw, keyed by the row field that holds each value: `{ cpu: { name: "CPU", color: "chart-1" } }`. Colours default to `chart-1`, `chart-2`… in this order. */
8
+ categories: Record<string, ChartCategory>;
9
+ /** Plot height in px. The width fills the container. */
10
+ height?: number;
11
+ /** Formats x values on the axis, in the tooltip title and in the data table. Receives a `Date` on a time axis. Defaults to times (`14:00`), days (`Oct 10`) or months (`Oct`) by the span of the data. */
12
+ xFormatter?: (value: Date | number | string) => string;
13
+ /** Formats values on the axis, in the tooltip and in the data table. Defaults to compact numbers: `1.2K`, `3.4M`. */
14
+ yFormatter?: (value: number) => string;
15
+ /** Title under the x axis, e.g. "Time (UTC)". Also heads the first column of the screen-reader table. */
16
+ xLabel?: string;
17
+ /** Title beside the y axis, e.g. "CPU (%)". */
18
+ yLabel?: string;
19
+ /** Legend above or below the plot, or `none`. Hidden anyway for a single series; clicking an entry hides or shows that series. */
20
+ legend?: ChartLegendPosition;
21
+ /** Shows a tooltip with every series' value on hover. Customise it with the `tooltip` slot. */
22
+ tooltip?: boolean;
23
+ /** Draws grid lines across the plot at each value tick. */
24
+ gridLines?: boolean;
25
+ /** Fixes the value axis range, e.g. `[0, 100]` for percentages. Leave an end `undefined` to fit the data. Defaults to starting at 0 and rounding the top up. */
26
+ yDomain?: [number | undefined, number | undefined];
27
+ /** Shows a skeleton of the same height while data loads. */
28
+ loading?: boolean;
29
+ /** Short heading shown in place of the plot when `data` is empty, e.g. "No metrics for demo-redis yet". */
30
+ emptyText?: string;
31
+ /** Accessible name, e.g. "CPU and memory of demo-postgres". Show the visible title in the surrounding card. */
32
+ title?: string;
33
+ /** A sentence for screen readers on what the chart shows. Defaults to the series names and the x range. */
34
+ description?: string;
35
+ /** Adds zoom and pan along the x axis: drag the slider under the plot, or scroll and pinch over it. For long time series. */
36
+ zoom?: boolean;
37
+ /** `canvas` (default) stays fast with tens of thousands of points; `svg` is crisper when printed and lighter for a few dozen. */
38
+ renderer?: "canvas" | "svg";
39
+ /** Animates the first draw and updates. Off by itself above 2,000 rows and when the viewer asks for reduced motion. */
40
+ animation?: boolean;
41
+ }
42
+ export type XYChartDefaults = Required<Pick<XYChartProps, "height" | "legend" | "tooltip" | "gridLines" | "loading" | "emptyText" | "zoom" | "renderer" | "animation">>;
43
+ /** Rows above this draw without animation and without point markers, and line series are sampled (LTTB). */
44
+ export declare const LARGE_DATA = 2000;
45
+ /** `positions` places x by index (bars); otherwise time and number x values keep their real spacing. */
46
+ export declare function useXYChart(props: XYChartProps, options: {
47
+ stacked: () => boolean;
48
+ positions?: boolean;
49
+ horizontal?: () => boolean;
50
+ }): {
51
+ hidden: import("vue").Ref<string[], string[]>;
52
+ width: import("vue").Ref<number, number>;
53
+ keys: import("vue").ComputedRef<string[]>;
54
+ visibleKeys: import("vue").ComputedRef<string[]>;
55
+ colorOf: import("vue").ComputedRef<Record<string, string>>;
56
+ legendItems: import("vue").ComputedRef<ChartLegendItem[]>;
57
+ xKind: import("vue").ComputedRef<import("./shared").XKind>;
58
+ rawX: import("vue").ComputedRef<unknown[]>;
59
+ xNumbers: import("vue").ComputedRef<number[]>;
60
+ byPosition: import("vue").ComputedRef<boolean>;
61
+ yTicks: import("vue").ComputedRef<number>;
62
+ xTickFormat: (tick: number | Date) => string;
63
+ formatY: (v: number | null) => string;
64
+ rowLabel: (i: number) => string;
65
+ tooltipItems: (d: ChartDatum) => ChartTooltipItem[];
66
+ tooltipTotal: (d: ChartDatum) => string;
67
+ table: import("vue").ComputedRef<ChartTable>;
68
+ ariaLabel: import("vue").ComputedRef<string>;
69
+ };
@@ -0,0 +1,73 @@
1
+ import { chartColor as e, detectXKind as t, formatCompact as n, readNumber as r, readValue as i, timeFormatters as a, toTimestamp as o } from "./shared.js";
2
+ import { computed as s, ref as c } from "vue";
3
+ //#region src/lib/charts/xy.ts
4
+ var l = 2e3, u = 56;
5
+ function d(l, d) {
6
+ let f = c([]), p = c(0), m = s(() => Object.keys(l.categories)), h = s(() => m.value.filter((e) => !f.value.includes(e))), g = s(() => Object.fromEntries(m.value.map((t, n) => [t, e(l.categories[t]?.color, n)]))), _ = (e) => l.categories[e]?.name ?? e, v = s(() => m.value.map((e) => ({
7
+ key: e,
8
+ name: _(e),
9
+ color: g.value[e]
10
+ }))), y = s(() => l.data.map((e, t) => i(e, t, l.index))), b = s(() => t(y.value)), x = s(() => y.value.map((e, t) => b.value === "time" ? o(e) : b.value === "number" ? e : t)), S = s(() => a(b.value === "time" ? x.value : [])), C = s(() => d.positions || b.value === "category");
11
+ function w(e, t) {
12
+ let r = b.value === "time" ? /* @__PURE__ */ new Date(+e) : e;
13
+ return l.xFormatter ? l.xFormatter(r) : b.value === "time" ? (t ? S.value.title : S.value.tick)(+e) : b.value === "number" ? n(+e) : String(r ?? "");
14
+ }
15
+ function T(e) {
16
+ return w(b.value === "category" ? y.value[e] : x.value[e], !0);
17
+ }
18
+ function E(e) {
19
+ return e === null ? "–" : l.yFormatter ? l.yFormatter(e) : n(e);
20
+ }
21
+ let D = s(() => Math.max(2, Math.floor((l.height ?? 280) / u)));
22
+ function O(e) {
23
+ if (C.value) {
24
+ let t = Math.round(+e);
25
+ return b.value === "category" ? w(y.value[t], !1) : w(x.value[t], !1);
26
+ }
27
+ return w(+e, !1);
28
+ }
29
+ function k(e) {
30
+ return h.value.map((t) => {
31
+ let n = r(e, t);
32
+ return {
33
+ key: t,
34
+ name: _(t),
35
+ color: g.value[t],
36
+ value: n,
37
+ formatted: E(n)
38
+ };
39
+ });
40
+ }
41
+ function A(e) {
42
+ return E(h.value.reduce((t, n) => t + (r(e, n) ?? 0), 0));
43
+ }
44
+ let j = s(() => ({
45
+ columns: [l.xLabel || (b.value === "time" ? "Time" : "Name"), ...m.value.map(_)],
46
+ rows: l.data.map((e, t) => [T(t), ...m.value.map((t) => E(r(e, t)))])
47
+ })), M = s(() => {
48
+ let e = m.value.map(_).join(", "), t = l.data.length, n = t ? ` from ${T(0)} to ${T(t - 1)}` : "";
49
+ return `${m.value.length === 1 ? "Series" : `${m.value.length} series`}: ${e}. ${t} points${n}.`;
50
+ });
51
+ return {
52
+ hidden: f,
53
+ width: p,
54
+ keys: m,
55
+ visibleKeys: h,
56
+ colorOf: g,
57
+ legendItems: v,
58
+ xKind: b,
59
+ rawX: y,
60
+ xNumbers: x,
61
+ byPosition: C,
62
+ yTicks: D,
63
+ xTickFormat: O,
64
+ formatY: E,
65
+ rowLabel: T,
66
+ tooltipItems: k,
67
+ tooltipTotal: A,
68
+ table: j,
69
+ ariaLabel: s(() => [l.title, l.description || M.value].filter(Boolean).join(". "))
70
+ };
71
+ }
72
+ //#endregion
73
+ export { l as LARGE_DATA, d as useXYChart };