@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
package/README.md CHANGED
@@ -14,7 +14,7 @@ npm run dev # docs site at http://localhost:5173
14
14
  | | |
15
15
  | --- | --- |
16
16
  | **Theme** | `src/lib/theme.css`: colour scales, semantic tokens (text, borders, surfaces), type scale, radii, shadows and a full dark theme, as a Tailwind `@theme`. |
17
- | **Components** | 73 Vue components (counting sub-parts) in eight groups, listed below. |
17
+ | **Components** | 85 Vue components plus 2 editors and 4 charts (counting sub-parts) in eight groups, listed below. |
18
18
  | **Editors** | `AcCodeEditor` and `AcFileEditor` on CodeMirror 6, in a separate entry so other apps don't bundle CodeMirror. |
19
19
  | **Composables** | `useColorMode()` (light/dark/system), `useToast()` (notifications), `useBrandColor()` (re-hue the brand at runtime). |
20
20
  | **Logo** | `AcLogo`: the AppsCode logo and mark as inline SVG that follows dark mode. |
@@ -24,29 +24,36 @@ npm run dev # docs site at http://localhost:5173
24
24
 
25
25
  | Group | Components |
26
26
  | --- | --- |
27
- | Element | Button, Button Group, Badge, Tag, Avatar, Alert, Banner, Card, Divider, Kbd |
28
- | Feedback | Spinner, Preloader, Skeleton, Progress, Toast, Empty State |
29
- | Form | Input, Textarea, Code Editor, File Editor, Select, CheckBox, CheckRadio, Switch, Search Bar, File Upload, Slider, Date Picker, Form, Form Array, Theme Mode |
30
- | Overlay | Modal, Delete Modal, Side Panel, Dropdown, Tooltip |
31
- | Layout | Sidebar, Navbar, Header, Content Table, Section, Accordion, Status Bar |
32
- | Navigation | Breadcrumb, Tabs, Steps, Pagination, Side Tabs, App Switcher, Cluster Switcher, Notifications |
33
- | Data | Table, Info Table, Cell Value |
27
+ | Element | Button, Button Group, Badge, Tag, Avatar, Alert, Banner, Card, Divider, Kbd, Copy Button |
28
+ | Feedback | Spinner, Preloader, Skeleton, Progress, Circular Progress, Toast, Empty State |
29
+ | Form | Input, Number Input, Tag Input, Key-Value Input, Textarea, Code Editor, File Editor, Select, CheckBox, CheckRadio, Switch, Switch Card, Search Bar, File Upload, Slider, Date Picker, Time Picker, Color Input, Form, Form Array, Theme Mode |
30
+ | Overlay | Modal, Confirm Modal, Delete Modal, Side Panel, Dropdown, Tooltip |
31
+ | Layout | Sidebar, Navbar, Header, Content Table, Section, Accordion, Status Bar, Footer |
32
+ | Navigation | Breadcrumb, Tabs, Steps, Pagination, Side Tabs, App Switcher, Cluster Switcher, Notifications, Locale Switcher |
33
+ | Data | Table, Bulk Action Bar, Info Table, Cell Value |
34
34
  | Cards | Stat Card, Feature Card, Resource Card, Usage Card |
35
+ | Charts (`/charts`) | Line Chart, Area Chart, Bar Chart, Donut Chart |
35
36
 
36
37
  Example pages put them together: a database list, a database detail page, a create wizard, settings, empty and error states, and a full app shell.
37
38
 
38
39
  ## Look and feel
39
40
 
40
- - **Type:** Geist for the interface and Geist Mono for code and resource names, on a 13px base.
41
- - **Colour:** the AppsCode green brand scale and slate neutrals. Status colours are green, blue, yellow and red.
42
- - **Shape:** 6px radius on controls and 10px on surfaces, with soft layered shadows from `shadow-xs` to `shadow-xl`.
43
- - **Focus:** a `focus-ring` utility (primary border and a soft halo) on form fields.
41
+ The look and voice are the AppsCode Cloud console's (`cloud-ui`), so the system fits cloud-ui, kubedb-ui, cluster-ui and platform-ui alike.
42
+
43
+ - **Type:** Roboto for the interface, Google Sans Flex for headings and JetBrains Mono for code and resource names, on a 14px base.
44
+ - **Colour:** white cards on a `#f9fafb` page, neutral greys (`#252525` text, `#5c5c5c` descriptions, one `#ebebeb` border), the `#00a651` brand green, and success, info, warning, danger and pending statuses, each with an AA `-strong` text colour.
45
+ - **Shape:** 40px controls with a 10px radius, 14px cards and 16px dialogs. Cards rest on a border; shadows mark only what floats.
46
+ - **Focus:** a `focus-ring` utility (primary border and a 2px halo) on form fields, and a 2px offset ring on buttons.
44
47
  - **Dark mode:** class-based. Every token has a dark value, so components need no dark-specific code.
45
48
  - **Icons:** [Lucide](https://lucide.dev) (`@lucide/vue`). Components never draw their own SVG icons.
46
49
 
47
50
  ## Using it in an app
48
51
 
49
- The package is `@ac-design/design-system` **1.0.0**. `npm run build:lib` writes it to `dist/lib`, and `npm pack` makes an installable tarball.
52
+ The package is `@ac-design/design-system` **2.0.0**. `npm run build:lib` writes it to `dist/lib`, and `npm pack` makes an installable tarball.
53
+
54
+ ## Styling rule
55
+
56
+ Style with **Tailwind utility classes and the design tokens**. Don't write custom CSS: no `<style>` blocks in components and no one-off class rules. Use arbitrary values (`max-w-[320px]`, `bg-[color-mix(in_srgb,var(--color-primary)_6%,var(--color-surface))]`) for exact values, and arbitrary variants (`[&_.cm-content]:p-2`) for markup you don't own. If something truly can't be a utility, add a token or `@utility` to `theme.css`. The full rule is in `CLAUDE.md`.
50
57
 
51
58
  There are two ways to load the styles:
52
59
 
@@ -61,14 +68,15 @@ The docs page **Getting Started → Existing Apps** has the full guide. In short
61
68
 
62
69
  ```sh
63
70
  # installed next to the old 2.x package, under a second name
64
- npm install @appscode/ds-next@npm:@ac-design/design-system@1.0.0 @lucide/vue
71
+ npm install @appscode/ds-next@npm:@ac-design/design-system@2.0.0 @lucide/vue
65
72
  ```
66
73
 
67
74
  ```ts
68
75
  // main.ts (Vite), or the `css` list in nuxt.config.ts: after the old styles
69
76
  import "./assets/styles/scss/main.scss";
70
- import "@fontsource-variable/geist";
71
- import "@fontsource-variable/geist-mono";
77
+ import "@fontsource-variable/roboto";
78
+ import "@fontsource-variable/google-sans-flex/opsz.css";
79
+ import "@fontsource-variable/jetbrains-mono";
72
80
  import "@appscode/ds-next/compat.css";
73
81
  ```
74
82
 
@@ -79,8 +87,9 @@ import "@appscode/ds-next/compat.css";
79
87
 
80
88
  ```ts
81
89
  // main.ts: fonts once
82
- import "@fontsource-variable/geist";
83
- import "@fontsource-variable/geist-mono";
90
+ import "@fontsource-variable/roboto";
91
+ import "@fontsource-variable/google-sans-flex/opsz.css";
92
+ import "@fontsource-variable/jetbrains-mono";
84
93
  ```
85
94
 
86
95
  ```css
@@ -0,0 +1,5 @@
1
+ import e from "./ChartFrame.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/lib/charts/ChartFrame.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,71 @@
1
+ import type { Component } from "vue";
2
+ import type { ChartDatum, ChartLegendItem, ChartTable, ChartTooltipItem } from "./shared";
3
+ export interface ChartTooltipState {
4
+ /** Pointer position in viewport px. */
5
+ clientX: number;
6
+ clientY: number;
7
+ title: string;
8
+ items: ChartTooltipItem[];
9
+ /** Sum of the items, shown for stacked charts. */
10
+ total?: string;
11
+ datum: ChartDatum;
12
+ index: number;
13
+ }
14
+ export interface ChartTooltipSlotProps {
15
+ /** The hovered row. */
16
+ datum: ChartDatum;
17
+ /** Its index in `data`. */
18
+ index: number;
19
+ /** The formatted x value or segment name. */
20
+ title: string;
21
+ /** One entry per visible series: name, colour, value and formatted value. */
22
+ items: ChartTooltipItem[];
23
+ }
24
+ type __VLS_Props = {
25
+ testid: string;
26
+ height: number;
27
+ loading: boolean;
28
+ empty: boolean;
29
+ emptyText: string;
30
+ emptyIcon: Component;
31
+ legend: "top" | "bottom" | "right" | "none";
32
+ legendItems: ChartLegendItem[];
33
+ /** Centres a top or bottom legend under a round plot. */
34
+ legendCentered?: boolean;
35
+ summary: string;
36
+ title?: string;
37
+ description?: string;
38
+ table: ChartTable;
39
+ tip: ChartTooltipState | null;
40
+ tooltip: boolean;
41
+ };
42
+ type __VLS_Slots = {
43
+ default?: () => unknown;
44
+ tooltip?: (props: ChartTooltipSlotProps) => unknown;
45
+ /** Buttons over the plot, e.g. zoom. Kept outside the role="img" element so they stay reachable. */
46
+ controls?: () => unknown;
47
+ };
48
+ type __VLS_ModelProps = {
49
+ "hidden": string[];
50
+ "width"?: number;
51
+ };
52
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
53
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
54
+ "update:hidden": (value: string[]) => any;
55
+ "update:width": (value: number) => any;
56
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
57
+ "onUpdate:hidden"?: ((value: string[]) => any) | undefined;
58
+ "onUpdate:width"?: ((value: number) => any) | undefined;
59
+ }>, {
60
+ title: string;
61
+ description: string;
62
+ legendCentered: boolean;
63
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
64
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
65
+ declare const _default: typeof __VLS_export;
66
+ export default _default;
67
+ type __VLS_WithSlots<T, S> = T & {
68
+ new (): {
69
+ $slots: S;
70
+ };
71
+ };
@@ -0,0 +1,173 @@
1
+ import e from "../components/AcSkeleton.js";
2
+ import t from "../components/AcEmptyState.js";
3
+ import { Fragment as n, Teleport as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createVNode as c, defineComponent as l, mergeModels as u, normalizeClass as d, normalizeStyle as f, onBeforeUnmount as p, onMounted as m, openBlock as h, ref as g, renderList as _, renderSlot as v, toDisplayString as y, useModel as b, watch as x } from "vue";
4
+ //#region src/lib/charts/ChartFrame.vue?vue&type=script&setup=true&lang.ts
5
+ var S = ["data-testid"], C = ["aria-pressed", "onClick"], w = { class: "truncate" }, T = {
6
+ key: 0,
7
+ class: "ml-auto pl-3 font-medium text-heading tabular-nums"
8
+ }, E = ["role", "aria-label"], D = ["aria-label"], O = {
9
+ key: 4,
10
+ class: "sr-only"
11
+ }, k = {
12
+ key: 5,
13
+ class: "sr-only"
14
+ }, A = {
15
+ scope: "row",
16
+ class: "text-left"
17
+ }, j = {
18
+ key: 0,
19
+ class: "mb-1.5 font-medium text-heading"
20
+ }, M = { class: "m-0 flex list-none flex-col gap-1 p-0" }, N = { class: "min-w-0 flex-1 truncate text-muted" }, P = { class: "pl-4 font-medium text-heading tabular-nums" }, F = {
21
+ key: 1,
22
+ class: "mt-1.5 flex justify-between gap-4 border-t border-border pt-1.5"
23
+ }, I = { class: "font-medium text-heading tabular-nums" }, L = 14, R = 300, z = 200, B = /*@__PURE__*/ l({
24
+ __name: "ChartFrame",
25
+ props: /*@__PURE__*/ u({
26
+ testid: {},
27
+ height: {},
28
+ loading: { type: Boolean },
29
+ empty: { type: Boolean },
30
+ emptyText: {},
31
+ emptyIcon: {},
32
+ legend: {},
33
+ legendItems: {},
34
+ legendCentered: {
35
+ type: Boolean,
36
+ default: !1
37
+ },
38
+ summary: {},
39
+ title: { default: "" },
40
+ description: { default: "" },
41
+ table: {},
42
+ tip: {},
43
+ tooltip: { type: Boolean }
44
+ }, {
45
+ hidden: { required: !0 },
46
+ hiddenModifiers: {},
47
+ width: { default: 0 },
48
+ widthModifiers: {}
49
+ }),
50
+ emits: ["update:hidden", "update:width"],
51
+ setup(l) {
52
+ let u = l, B = b(l, "hidden"), V = b(l, "width"), H = g(), U;
53
+ function W(e) {
54
+ let t = B.value.includes(e);
55
+ !t && u.legendItems.length - B.value.length <= 1 || (B.value = t ? B.value.filter((t) => t !== e) : [...B.value, e]);
56
+ }
57
+ function G(e) {
58
+ let t = e.clientX > window.innerWidth - R, n = e.clientY > window.innerHeight - z;
59
+ return {
60
+ left: t ? void 0 : `${e.clientX + L}px`,
61
+ right: t ? `${window.innerWidth - e.clientX + L}px` : void 0,
62
+ top: n ? void 0 : `${e.clientY + L}px`,
63
+ bottom: n ? `${window.innerHeight - e.clientY + L}px` : void 0
64
+ };
65
+ }
66
+ function K() {
67
+ U?.disconnect(), H.value && typeof ResizeObserver < "u" && (U = new ResizeObserver(([e]) => {
68
+ e && (V.value = Math.round(e.contentRect.width));
69
+ }), U.observe(H.value));
70
+ }
71
+ return x(H, K), m(K), p(() => U?.disconnect()), (u, p) => (h(), o("figure", {
72
+ class: d(["m-0 flex w-full min-w-0 gap-3", l.legend === "right" ? "flex-wrap items-center justify-center gap-x-10" : "flex-col"]),
73
+ "data-ac-ds": "",
74
+ "data-ac-chart": "",
75
+ "data-testid": l.testid
76
+ }, [
77
+ l.legend !== "none" && l.legendItems.length > 1 && !l.loading && !l.empty ? (h(), o("ul", {
78
+ key: 0,
79
+ class: d(["m-0 flex list-none flex-wrap gap-x-4 gap-y-1.5 p-0", [
80
+ l.legend === "bottom" && "order-last",
81
+ l.legend === "right" && "order-last max-w-[320px] min-w-[180px] flex-1 flex-col gap-y-2",
82
+ l.legendCentered && l.legend !== "right" && "justify-center"
83
+ ]]),
84
+ "aria-label": "Legend"
85
+ }, [(h(!0), o(n, null, _(l.legendItems, (e) => (h(), o("li", {
86
+ key: e.key,
87
+ class: "flex"
88
+ }, [s("button", {
89
+ type: "button",
90
+ class: d(["inline-flex min-w-0 cursor-pointer items-center gap-2 rounded-6 text-xs transition-colors duration-200 hover:text-heading focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-surface motion-reduce:transition-none", [B.value.includes(e.key) ? "text-muted/60 line-through" : "text-muted", l.legend === "right" && "w-full"]]),
91
+ "aria-pressed": !B.value.includes(e.key),
92
+ onClick: (t) => W(e.key)
93
+ }, [
94
+ s("span", {
95
+ class: d(["size-2.5 shrink-0 rounded-full transition-opacity duration-200 motion-reduce:transition-none", B.value.includes(e.key) && "opacity-30"]),
96
+ style: f({ backgroundColor: e.color }),
97
+ "aria-hidden": "true"
98
+ }, null, 6),
99
+ s("span", w, y(e.name), 1),
100
+ e.value ? (h(), o("span", T, y(e.value), 1)) : a("", !0)
101
+ ], 10, C)]))), 128))], 2)) : a("", !0),
102
+ l.loading ? (h(), i(e, {
103
+ key: 1,
104
+ shape: "rect",
105
+ height: `${l.height}px`,
106
+ label: "Loading chart"
107
+ }, null, 8, ["height"])) : l.empty ? (h(), o("div", {
108
+ key: 2,
109
+ class: "flex w-full items-center justify-center overflow-hidden",
110
+ style: f({ height: `${l.height}px` })
111
+ }, [c(t, {
112
+ size: "small",
113
+ icon: l.emptyIcon,
114
+ title: l.emptyText
115
+ }, null, 8, ["icon", "title"])], 4)) : (h(), o("div", {
116
+ key: 3,
117
+ ref_key: "plot",
118
+ ref: H,
119
+ class: d(["relative min-w-0", l.legend === "right" ? "max-w-full shrink-0" : "w-full"]),
120
+ style: f(l.legend === "right" ? {
121
+ height: `${l.height}px`,
122
+ width: `${l.height}px`
123
+ } : { height: `${l.height}px` }),
124
+ role: u.$slots.controls ? void 0 : "img",
125
+ "aria-label": u.$slots.controls ? void 0 : l.summary
126
+ }, [u.$slots.controls ? (h(), o("div", {
127
+ key: 0,
128
+ class: "size-full",
129
+ role: "img",
130
+ "aria-label": l.summary
131
+ }, [v(u.$slots, "default")], 8, D)) : v(u.$slots, "default", {}, void 0, void 0, 1), v(u.$slots, "controls")], 14, E)),
132
+ l.title || l.description ? (h(), o("figcaption", O, y([l.title, l.description].filter(Boolean).join(". ")), 1)) : a("", !0),
133
+ !l.loading && !l.empty ? (h(), o("table", k, [
134
+ s("caption", null, y(l.title ? `${l.title}: data` : "Chart data"), 1),
135
+ s("thead", null, [s("tr", null, [(h(!0), o(n, null, _(l.table.columns, (e, t) => (h(), o("th", {
136
+ key: t,
137
+ scope: "col",
138
+ class: "text-left"
139
+ }, y(e), 1))), 128))])]),
140
+ s("tbody", null, [(h(!0), o(n, null, _(l.table.rows, (e, t) => (h(), o("tr", { key: t }, [s("th", A, y(e[0]), 1), (h(!0), o(n, null, _(e.slice(1), (e, t) => (h(), o("td", { key: t }, y(e), 1))), 128))]))), 128))])
141
+ ])) : a("", !0),
142
+ (h(), i(r, { to: "body" }, [l.tooltip && l.tip && !l.loading && !l.empty ? (h(), o("div", {
143
+ key: 0,
144
+ class: "pointer-events-none fixed z-[100] w-max max-w-[280px] min-w-[160px] rounded-10 border border-border bg-surface px-3 py-2.5 text-xs text-body shadow-lg",
145
+ style: f(G(l.tip)),
146
+ "aria-hidden": "true",
147
+ "data-ac-ds": "",
148
+ "data-testid": "ac-chart-tooltip"
149
+ }, [v(u.$slots, "tooltip", {
150
+ datum: l.tip.datum,
151
+ index: l.tip.index,
152
+ title: l.tip.title,
153
+ items: l.tip.items
154
+ }, () => [
155
+ l.tip.title ? (h(), o("p", j, y(l.tip.title), 1)) : a("", !0),
156
+ s("ul", M, [(h(!0), o(n, null, _(l.tip.items, (e) => (h(), o("li", {
157
+ key: e.key,
158
+ class: "flex items-center gap-2"
159
+ }, [
160
+ s("span", {
161
+ class: "size-2 shrink-0 rounded-full",
162
+ style: f({ backgroundColor: e.color })
163
+ }, null, 4),
164
+ s("span", N, y(e.name), 1),
165
+ s("span", P, y(e.formatted), 1)
166
+ ]))), 128))]),
167
+ l.tip.total ? (h(), o("p", F, [p[0] ||= s("span", { class: "text-muted" }, "Total", -1), s("span", I, y(l.tip.total), 1)])) : a("", !0)
168
+ ])], 4)) : a("", !0)]))
169
+ ], 10, S));
170
+ }
171
+ });
172
+ //#endregion
173
+ export { B as default };
@@ -0,0 +1,324 @@
1
+ import type { ECharts } from "echarts/core";
2
+ import type { ChartTheme } from "./echarts";
3
+ import type { useXYChart, XYChartProps } from "./xy";
4
+ type XYState = ReturnType<typeof useXYChart>;
5
+ interface CartesianOptions {
6
+ /** Bars sit between ticks; lines run edge to edge. */
7
+ boundaryGap: boolean;
8
+ /** Values on x and categories on y (horizontal bars). */
9
+ horizontal?: boolean;
10
+ /** `line` guide for lines and areas, `shadow` band for bars. */
11
+ pointer: "line" | "shadow";
12
+ }
13
+ /** Loads the zoom slider and wheel zoom only for charts that turn `zoom` on. */
14
+ export declare function prepareZoom(props: Pick<XYChartProps, "zoom">): Promise<unknown> | undefined;
15
+ export declare function animationFor(props: Pick<XYChartProps, "animation" | "data">, t: ChartTheme): boolean;
16
+ export declare function cartesianOption(t: ChartTheme, props: XYChartProps, s: XYState, o: CartesianOptions): {
17
+ dataZoom?: ({
18
+ filterMode: string;
19
+ zoomOnMouseWheel: string;
20
+ moveOnMouseWheel: boolean;
21
+ moveOnMouseMove: boolean;
22
+ yAxisIndex: number;
23
+ xAxisIndex?: undefined;
24
+ type: string;
25
+ } | {
26
+ filterMode: string;
27
+ zoomOnMouseWheel: string;
28
+ moveOnMouseWheel: boolean;
29
+ moveOnMouseMove: boolean;
30
+ xAxisIndex: number;
31
+ yAxisIndex?: undefined;
32
+ type: string;
33
+ } | {
34
+ filterMode: string;
35
+ height: number;
36
+ bottom: number;
37
+ left: number;
38
+ right: number;
39
+ borderColor: string;
40
+ borderRadius: number;
41
+ backgroundColor: string;
42
+ fillerColor: string;
43
+ dataBackground: {
44
+ lineStyle: {
45
+ color: string;
46
+ width: number;
47
+ };
48
+ areaStyle: {
49
+ color: string;
50
+ };
51
+ };
52
+ selectedDataBackground: {
53
+ lineStyle: {
54
+ color: string;
55
+ width: number;
56
+ };
57
+ areaStyle: {
58
+ color: string;
59
+ };
60
+ };
61
+ handleStyle: {
62
+ color: string;
63
+ borderColor: string;
64
+ };
65
+ moveHandleStyle: {
66
+ color: string;
67
+ };
68
+ emphasis: {
69
+ handleStyle: {
70
+ borderColor: string;
71
+ };
72
+ moveHandleStyle: {
73
+ color: string;
74
+ };
75
+ };
76
+ textStyle: {
77
+ color: string;
78
+ fontSize: number;
79
+ fontFamily: string;
80
+ };
81
+ labelFormatter: (v: number) => string;
82
+ brushSelect: boolean;
83
+ yAxisIndex: number;
84
+ xAxisIndex?: undefined;
85
+ type: string;
86
+ } | {
87
+ filterMode: string;
88
+ height: number;
89
+ bottom: number;
90
+ left: number;
91
+ right: number;
92
+ borderColor: string;
93
+ borderRadius: number;
94
+ backgroundColor: string;
95
+ fillerColor: string;
96
+ dataBackground: {
97
+ lineStyle: {
98
+ color: string;
99
+ width: number;
100
+ };
101
+ areaStyle: {
102
+ color: string;
103
+ };
104
+ };
105
+ selectedDataBackground: {
106
+ lineStyle: {
107
+ color: string;
108
+ width: number;
109
+ };
110
+ areaStyle: {
111
+ color: string;
112
+ };
113
+ };
114
+ handleStyle: {
115
+ color: string;
116
+ borderColor: string;
117
+ };
118
+ moveHandleStyle: {
119
+ color: string;
120
+ };
121
+ emphasis: {
122
+ handleStyle: {
123
+ borderColor: string;
124
+ };
125
+ moveHandleStyle: {
126
+ color: string;
127
+ };
128
+ };
129
+ textStyle: {
130
+ color: string;
131
+ fontSize: number;
132
+ fontFamily: string;
133
+ };
134
+ labelFormatter: (v: number) => string;
135
+ brushSelect: boolean;
136
+ xAxisIndex: number;
137
+ yAxisIndex?: undefined;
138
+ type: string;
139
+ })[] | undefined;
140
+ animation: boolean;
141
+ animationDuration: number;
142
+ textStyle: {
143
+ fontFamily: string;
144
+ color: string;
145
+ };
146
+ grid: {
147
+ left: number;
148
+ right: number;
149
+ top: number;
150
+ bottom: number;
151
+ outerBoundsMode: string;
152
+ outerBoundsContain: string;
153
+ };
154
+ xAxis: {
155
+ type: string;
156
+ data: string[] | undefined;
157
+ boundaryGap: boolean;
158
+ min: string | undefined;
159
+ max: string | undefined;
160
+ axisLabel: {
161
+ formatter: ((v: number) => string) | undefined;
162
+ color: string;
163
+ fontSize: number;
164
+ fontFamily: string;
165
+ hideOverlap: boolean;
166
+ };
167
+ splitLine: {
168
+ show: boolean;
169
+ };
170
+ axisPointer: {
171
+ show: boolean;
172
+ type: "line" | "shadow";
173
+ snap: boolean;
174
+ triggerTooltip: boolean;
175
+ lineStyle: {
176
+ color: string;
177
+ type: "dashed";
178
+ };
179
+ shadowStyle: {
180
+ color: string;
181
+ };
182
+ label: {
183
+ show: boolean;
184
+ };
185
+ z: number;
186
+ };
187
+ name: string | undefined;
188
+ nameLocation: "middle";
189
+ nameGap: number;
190
+ axisLine: {
191
+ lineStyle: {
192
+ color: string;
193
+ };
194
+ };
195
+ axisTick: {
196
+ show: boolean;
197
+ };
198
+ nameTextStyle: {
199
+ color: string;
200
+ fontSize: number;
201
+ fontFamily: string;
202
+ };
203
+ } | {
204
+ type: string;
205
+ min: number | undefined;
206
+ max: number | undefined;
207
+ splitNumber: number;
208
+ axisLine: {
209
+ show: boolean;
210
+ };
211
+ axisLabel: {
212
+ formatter: (v: number) => string;
213
+ color: string;
214
+ fontSize: number;
215
+ fontFamily: string;
216
+ hideOverlap: boolean;
217
+ };
218
+ splitLine: {
219
+ show: boolean;
220
+ lineStyle: {
221
+ color: string;
222
+ type: "dashed";
223
+ };
224
+ };
225
+ name: string | undefined;
226
+ nameLocation: "middle";
227
+ nameGap: number;
228
+ axisTick: {
229
+ show: boolean;
230
+ };
231
+ nameTextStyle: {
232
+ color: string;
233
+ fontSize: number;
234
+ fontFamily: string;
235
+ };
236
+ };
237
+ yAxis: {
238
+ type: string;
239
+ min: number | undefined;
240
+ max: number | undefined;
241
+ splitNumber: number;
242
+ axisLine: {
243
+ show: boolean;
244
+ };
245
+ axisLabel: {
246
+ formatter: (v: number) => string;
247
+ color: string;
248
+ fontSize: number;
249
+ fontFamily: string;
250
+ hideOverlap: boolean;
251
+ };
252
+ splitLine: {
253
+ show: boolean;
254
+ lineStyle: {
255
+ color: string;
256
+ type: "dashed";
257
+ };
258
+ };
259
+ name: string | undefined;
260
+ nameLocation: "middle";
261
+ nameGap: number;
262
+ axisTick: {
263
+ show: boolean;
264
+ };
265
+ nameTextStyle: {
266
+ color: string;
267
+ fontSize: number;
268
+ fontFamily: string;
269
+ };
270
+ } | {
271
+ inverse: boolean;
272
+ type: string;
273
+ data: string[] | undefined;
274
+ boundaryGap: boolean;
275
+ min: string | undefined;
276
+ max: string | undefined;
277
+ axisLabel: {
278
+ formatter: ((v: number) => string) | undefined;
279
+ color: string;
280
+ fontSize: number;
281
+ fontFamily: string;
282
+ hideOverlap: boolean;
283
+ };
284
+ splitLine: {
285
+ show: boolean;
286
+ };
287
+ axisPointer: {
288
+ show: boolean;
289
+ type: "line" | "shadow";
290
+ snap: boolean;
291
+ triggerTooltip: boolean;
292
+ lineStyle: {
293
+ color: string;
294
+ type: "dashed";
295
+ };
296
+ shadowStyle: {
297
+ color: string;
298
+ };
299
+ label: {
300
+ show: boolean;
301
+ };
302
+ z: number;
303
+ };
304
+ name: string | undefined;
305
+ nameLocation: "middle";
306
+ nameGap: number;
307
+ axisLine: {
308
+ lineStyle: {
309
+ color: string;
310
+ };
311
+ };
312
+ axisTick: {
313
+ show: boolean;
314
+ };
315
+ nameTextStyle: {
316
+ color: string;
317
+ fontSize: number;
318
+ fontFamily: string;
319
+ };
320
+ };
321
+ };
322
+ /** The row under the pointer: the category index, or the nearest x value on a time or number axis. */
323
+ export declare function locateRow(chart: ECharts, point: [number, number], s: XYState, horizontal?: boolean): number | null;
324
+ export {};