@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.
- package/README.md +27 -18
- package/dist/lib/charts/ChartFrame.js +5 -0
- package/dist/lib/charts/ChartFrame.vue.d.ts +71 -0
- package/dist/lib/charts/ChartFrame.vue_vue_type_script_setup_true_lang.js +173 -0
- package/dist/lib/charts/cartesian.d.ts +324 -0
- package/dist/lib/charts/cartesian.js +137 -0
- package/dist/lib/charts/echarts.d.ts +86 -0
- package/dist/lib/charts/echarts.js +173 -0
- package/dist/lib/charts/graph.d.ts +77 -0
- package/dist/lib/charts/graph.js +155 -0
- package/dist/lib/charts/index.d.ts +11 -0
- package/dist/lib/charts/index.js +7 -0
- package/dist/lib/charts/shared.d.ts +53 -0
- package/dist/lib/charts/shared.js +96 -0
- package/dist/lib/charts/xy.d.ts +69 -0
- package/dist/lib/charts/xy.js +73 -0
- package/dist/lib/compat.css +2770 -1061
- package/dist/lib/components/AcAccordion.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/lib/components/AcAccordionItem.vue.d.ts +1 -1
- package/dist/lib/components/AcAccordionItem.vue_vue_type_script_setup_true_lang.js +5 -5
- package/dist/lib/components/AcAlert.vue.d.ts +10 -1
- package/dist/lib/components/AcAlert.vue_vue_type_script_setup_true_lang.js +139 -45
- package/dist/lib/components/AcAppSwitcher.vue_vue_type_script_setup_true_lang.js +19 -19
- package/dist/lib/components/AcAreaChart.js +5 -0
- package/dist/lib/components/AcAreaChart.vue.d.ts +47 -0
- package/dist/lib/components/AcAreaChart.vue_vue_type_script_setup_true_lang.js +205 -0
- package/dist/lib/components/AcAvatar.vue.d.ts +7 -4
- package/dist/lib/components/AcAvatar.vue_vue_type_script_setup_true_lang.js +66 -61
- package/dist/lib/components/AcBadge.vue.d.ts +20 -7
- package/dist/lib/components/AcBadge.vue_vue_type_script_setup_true_lang.js +67 -44
- package/dist/lib/components/AcBanner.vue.d.ts +1 -1
- package/dist/lib/components/AcBanner.vue_vue_type_script_setup_true_lang.js +30 -30
- package/dist/lib/components/AcBarChart.js +5 -0
- package/dist/lib/components/AcBarChart.vue.d.ts +46 -0
- package/dist/lib/components/AcBarChart.vue_vue_type_script_setup_true_lang.js +213 -0
- package/dist/lib/components/AcBreadcrumb.vue.d.ts +4 -1
- package/dist/lib/components/AcBreadcrumb.vue_vue_type_script_setup_true_lang.js +36 -34
- package/dist/lib/components/AcBulkActionBar.js +5 -0
- package/dist/lib/components/AcBulkActionBar.vue.d.ts +45 -0
- package/dist/lib/components/AcBulkActionBar.vue_vue_type_script_setup_true_lang.js +84 -0
- package/dist/lib/components/AcButton.vue.d.ts +13 -7
- package/dist/lib/components/AcButton.vue_vue_type_script_setup_true_lang.js +93 -47
- package/dist/lib/components/AcButtons.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/lib/components/AcCard.vue.d.ts +42 -3
- package/dist/lib/components/AcCard.vue_vue_type_script_setup_true_lang.js +175 -14
- package/dist/lib/components/AcCellValue.vue.d.ts +6 -3
- package/dist/lib/components/AcCellValue.vue_vue_type_script_setup_true_lang.js +219 -178
- package/dist/lib/components/AcCheckBox.vue.d.ts +17 -3
- package/dist/lib/components/AcCheckBox.vue_vue_type_script_setup_true_lang.js +113 -30
- package/dist/lib/components/AcCheckList.js +5 -0
- package/dist/lib/components/AcCheckList.vue.d.ts +45 -0
- package/dist/lib/components/AcCheckList.vue_vue_type_script_setup_true_lang.js +64 -0
- package/dist/lib/components/AcCheckRadio.vue.d.ts +30 -5
- package/dist/lib/components/AcCheckRadio.vue_vue_type_script_setup_true_lang.js +102 -26
- package/dist/lib/components/AcCircularProgress.js +5 -0
- package/dist/lib/components/AcCircularProgress.vue.d.ts +44 -0
- package/dist/lib/components/AcCircularProgress.vue_vue_type_script_setup_true_lang.js +114 -0
- package/dist/lib/components/AcClusterSwitcher.vue_vue_type_script_setup_true_lang.js +142 -167
- package/dist/lib/components/AcCodeEditor.vue_vue_type_script_setup_true_lang.js +9 -9
- package/dist/lib/components/AcColorInput.js +5 -0
- package/dist/lib/components/AcColorInput.vue.d.ts +57 -0
- package/dist/lib/components/AcColorInput.vue_vue_type_script_setup_true_lang.js +217 -0
- package/dist/lib/components/AcCommandBlock.js +5 -0
- package/dist/lib/components/AcCommandBlock.vue.d.ts +34 -0
- package/dist/lib/components/AcCommandBlock.vue_vue_type_script_setup_true_lang.js +88 -0
- package/dist/lib/components/AcConfirmModal.js +5 -0
- package/dist/lib/components/AcConfirmModal.vue.d.ts +56 -0
- package/dist/lib/components/AcConfirmModal.vue_vue_type_script_setup_true_lang.js +96 -0
- package/dist/lib/components/AcContentHeader.vue.d.ts +1 -1
- package/dist/lib/components/AcContentHeader.vue_vue_type_script_setup_true_lang.js +5 -4
- package/dist/lib/components/AcContentLayout.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/lib/components/AcCopyButton.js +5 -0
- package/dist/lib/components/AcCopyButton.vue.d.ts +43 -0
- package/dist/lib/components/AcCopyButton.vue_vue_type_script_setup_true_lang.js +92 -0
- package/dist/lib/components/AcCostSummary.js +5 -0
- package/dist/lib/components/AcCostSummary.vue.d.ts +102 -0
- package/dist/lib/components/AcCostSummary.vue_vue_type_script_setup_true_lang.js +179 -0
- package/dist/lib/components/AcDatePicker.vue.d.ts +8 -8
- package/dist/lib/components/AcDatePicker.vue_vue_type_script_setup_true_lang.js +634 -417
- package/dist/lib/components/AcDeleteModal.vue.d.ts +4 -4
- package/dist/lib/components/AcDeleteModal.vue_vue_type_script_setup_true_lang.js +57 -60
- package/dist/lib/components/AcDonutChart.js +5 -0
- package/dist/lib/components/AcDonutChart.vue.d.ts +83 -0
- package/dist/lib/components/AcDonutChart.vue_vue_type_script_setup_true_lang.js +237 -0
- package/dist/lib/components/AcDropdown.vue.d.ts +5 -2
- package/dist/lib/components/AcDropdown.vue_vue_type_script_setup_true_lang.js +91 -78
- package/dist/lib/components/AcDropdownDivider.vue_vue_type_script_setup_true_lang.js +11 -10
- package/dist/lib/components/AcDropdownItem.vue.d.ts +2 -2
- package/dist/lib/components/AcDropdownItem.vue_vue_type_script_setup_true_lang.js +18 -18
- package/dist/lib/components/AcEmptyState.vue.d.ts +4 -1
- package/dist/lib/components/AcEmptyState.vue_vue_type_script_setup_true_lang.js +50 -39
- package/dist/lib/components/AcErrorState.js +5 -0
- package/dist/lib/components/AcErrorState.vue.d.ts +46 -0
- package/dist/lib/components/AcErrorState.vue_vue_type_script_setup_true_lang.js +66 -0
- package/dist/lib/components/AcFeatureCard.vue.d.ts +6 -0
- package/dist/lib/components/AcFeatureCard.vue_vue_type_script_setup_true_lang.js +139 -116
- package/dist/lib/components/AcFileEditor.vue_vue_type_script_setup_true_lang.js +16 -16
- package/dist/lib/components/AcFileUpload.vue.d.ts +2 -2
- package/dist/lib/components/AcFileUpload.vue_vue_type_script_setup_true_lang.js +55 -53
- package/dist/lib/components/AcFontScale.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/lib/components/AcFooter.js +5 -0
- package/dist/lib/components/AcFooter.vue.d.ts +37 -0
- package/dist/lib/components/AcFooter.vue_vue_type_script_setup_true_lang.js +107 -0
- package/dist/lib/components/AcForm.vue.d.ts +3 -0
- package/dist/lib/components/AcForm.vue_vue_type_script_setup_true_lang.js +4 -2
- package/dist/lib/components/AcFormArray.vue.d.ts +2 -2
- package/dist/lib/components/AcFormArray.vue_vue_type_script_setup_true_lang.js +149 -147
- package/dist/lib/components/AcFormFooter.vue.d.ts +3 -3
- package/dist/lib/components/AcFormFooter.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/lib/components/AcFormSection.vue.d.ts +8 -1
- package/dist/lib/components/AcFormSection.vue_vue_type_script_setup_true_lang.js +31 -21
- package/dist/lib/components/AcGraphChart.js +5 -0
- package/dist/lib/components/AcGraphChart.vue.d.ts +124 -0
- package/dist/lib/components/AcGraphChart.vue_vue_type_script_setup_true_lang.js +578 -0
- package/dist/lib/components/AcHeader.vue.d.ts +20 -5
- package/dist/lib/components/AcHeader.vue_vue_type_script_setup_true_lang.js +82 -28
- package/dist/lib/components/AcInfoTable.vue.d.ts +1 -1
- package/dist/lib/components/AcInfoTable.vue_vue_type_script_setup_true_lang.js +17 -13
- package/dist/lib/components/AcInput.vue.d.ts +4 -4
- package/dist/lib/components/AcInput.vue_vue_type_script_setup_true_lang.js +99 -91
- package/dist/lib/components/AcKbd.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/lib/components/AcKeyValueInput.js +5 -0
- package/dist/lib/components/AcKeyValueInput.vue.d.ts +114 -0
- package/dist/lib/components/AcKeyValueInput.vue_vue_type_script_setup_true_lang.js +336 -0
- package/dist/lib/components/AcLineChart.js +5 -0
- package/dist/lib/components/AcLineChart.vue.d.ts +44 -0
- package/dist/lib/components/AcLineChart.vue_vue_type_script_setup_true_lang.js +175 -0
- package/dist/lib/components/AcLoader.js +5 -0
- package/dist/lib/components/AcLoader.vue.d.ts +15 -0
- package/dist/lib/components/AcLoader.vue_vue_type_script_setup_true_lang.js +66 -0
- package/dist/lib/components/AcLocaleSwitcher.js +5 -0
- package/dist/lib/components/AcLocaleSwitcher.vue.d.ts +48 -0
- package/dist/lib/components/AcLocaleSwitcher.vue_vue_type_script_setup_true_lang.js +111 -0
- package/dist/lib/components/AcMapChart.js +5 -0
- package/dist/lib/components/AcMapChart.vue.d.ts +136 -0
- package/dist/lib/components/AcMapChart.vue_vue_type_script_setup_true_lang.js +518 -0
- package/dist/lib/components/AcModal.vue.d.ts +6 -3
- package/dist/lib/components/AcModal.vue_vue_type_script_setup_true_lang.js +88 -64
- package/dist/lib/components/AcNavbar.vue.d.ts +8 -5
- package/dist/lib/components/AcNavbar.vue_vue_type_script_setup_true_lang.js +29 -21
- package/dist/lib/components/AcNavbarItem.vue.d.ts +2 -2
- package/dist/lib/components/AcNavbarItem.vue_vue_type_script_setup_true_lang.js +23 -24
- package/dist/lib/components/AcNotificationMenu.vue.d.ts +3 -3
- package/dist/lib/components/AcNotificationMenu.vue_vue_type_script_setup_true_lang.js +139 -174
- package/dist/lib/components/AcNumberInput.js +5 -0
- package/dist/lib/components/AcNumberInput.vue.d.ts +79 -0
- package/dist/lib/components/AcNumberInput.vue_vue_type_script_setup_true_lang.js +241 -0
- package/dist/lib/components/AcPage.vue.d.ts +2 -2
- package/dist/lib/components/AcPage.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/lib/components/AcPagination.vue.d.ts +22 -5
- package/dist/lib/components/AcPagination.vue_vue_type_script_setup_true_lang.js +87 -56
- package/dist/lib/components/AcPreloader.vue.d.ts +3 -3
- package/dist/lib/components/AcPreloader.vue_vue_type_script_setup_true_lang.js +15 -16
- package/dist/lib/components/AcProductHero.js +5 -0
- package/dist/lib/components/AcProductHero.vue.d.ts +56 -0
- package/dist/lib/components/AcProductHero.vue_vue_type_script_setup_true_lang.js +95 -0
- package/dist/lib/components/AcProgress.vue.d.ts +19 -4
- package/dist/lib/components/AcProgress.vue_vue_type_script_setup_true_lang.js +85 -31
- package/dist/lib/components/AcResourceCard.vue.d.ts +3 -3
- package/dist/lib/components/AcResourceCard.vue_vue_type_script_setup_true_lang.js +17 -17
- package/dist/lib/components/AcSearchBar.vue.d.ts +1 -1
- package/dist/lib/components/AcSearchBar.vue_vue_type_script_setup_true_lang.js +14 -9
- package/dist/lib/components/AcSectionContent.vue.d.ts +2 -2
- package/dist/lib/components/AcSectionContent.vue_vue_type_script_setup_true_lang.js +8 -8
- package/dist/lib/components/AcSegmentedControl.vue.d.ts +1 -1
- package/dist/lib/components/AcSegmentedControl.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/lib/components/AcSelect.vue.d.ts +6 -6
- package/dist/lib/components/AcSelect.vue_vue_type_script_setup_true_lang.js +246 -254
- package/dist/lib/components/AcSettingsRow.js +5 -0
- package/dist/lib/components/AcSettingsRow.vue.d.ts +29 -0
- package/dist/lib/components/AcSettingsRow.vue_vue_type_script_setup_true_lang.js +37 -0
- package/dist/lib/components/AcSidePanel.vue_vue_type_script_setup_true_lang.js +32 -32
- package/dist/lib/components/AcSideTabs.vue.d.ts +2 -2
- package/dist/lib/components/AcSideTabs.vue_vue_type_script_setup_true_lang.js +37 -37
- package/dist/lib/components/AcSidebar.vue.d.ts +6 -3
- package/dist/lib/components/AcSidebar.vue_vue_type_script_setup_true_lang.js +67 -57
- package/dist/lib/components/AcSidebarItem.vue.d.ts +1 -1
- package/dist/lib/components/AcSidebarItem.vue_vue_type_script_setup_true_lang.js +46 -45
- package/dist/lib/components/AcSidebarSection.vue.d.ts +2 -2
- package/dist/lib/components/AcSidebarSection.vue_vue_type_script_setup_true_lang.js +23 -18
- package/dist/lib/components/AcSkeleton.vue_vue_type_script_setup_true_lang.js +8 -8
- package/dist/lib/components/AcSlider.vue.d.ts +1 -1
- package/dist/lib/components/AcSlider.vue_vue_type_script_setup_true_lang.js +174 -172
- package/dist/lib/components/AcStatCard.vue.d.ts +3 -3
- package/dist/lib/components/AcStatCard.vue_vue_type_script_setup_true_lang.js +90 -85
- package/dist/lib/components/AcStatusBar.vue.d.ts +1 -1
- package/dist/lib/components/AcStatusBar.vue_vue_type_script_setup_true_lang.js +6 -6
- package/dist/lib/components/AcSteps.vue_vue_type_script_setup_true_lang.js +28 -28
- package/dist/lib/components/AcSwitch.vue.d.ts +3 -0
- package/dist/lib/components/AcSwitch.vue_vue_type_script_setup_true_lang.js +31 -19
- package/dist/lib/components/AcSwitchCard.js +5 -0
- package/dist/lib/components/AcSwitchCard.vue.d.ts +59 -0
- package/dist/lib/components/AcSwitchCard.vue_vue_type_script_setup_true_lang.js +121 -0
- package/dist/lib/components/AcTable.vue_vue_type_script_setup_true_lang.js +97 -97
- package/dist/lib/components/AcTabs.vue.d.ts +9 -2
- package/dist/lib/components/AcTabs.vue_vue_type_script_setup_true_lang.js +43 -28
- package/dist/lib/components/AcTag.vue.d.ts +2 -2
- package/dist/lib/components/AcTag.vue_vue_type_script_setup_true_lang.js +22 -22
- package/dist/lib/components/AcTagInput.js +5 -0
- package/dist/lib/components/AcTagInput.vue.d.ts +74 -0
- package/dist/lib/components/AcTagInput.vue_vue_type_script_setup_true_lang.js +289 -0
- package/dist/lib/components/AcTextarea.vue.d.ts +4 -4
- package/dist/lib/components/AcTextarea.vue_vue_type_script_setup_true_lang.js +85 -63
- package/dist/lib/components/AcThemeMode.vue.d.ts +3 -3
- package/dist/lib/components/AcThemeMode.vue_vue_type_script_setup_true_lang.js +56 -24
- package/dist/lib/components/AcTimePicker.js +5 -0
- package/dist/lib/components/AcTimePicker.vue.d.ts +65 -0
- package/dist/lib/components/AcTimePicker.vue_vue_type_script_setup_true_lang.js +455 -0
- package/dist/lib/components/AcToaster.vue.d.ts +6 -3
- package/dist/lib/components/AcToaster.vue_vue_type_script_setup_true_lang.js +115 -82
- package/dist/lib/components/AcTooltip.vue.d.ts +34 -14
- package/dist/lib/components/AcTooltip.vue_vue_type_script_setup_true_lang.js +203 -79
- package/dist/lib/components/AcUsageCard.vue_vue_type_script_setup_true_lang.js +27 -27
- package/dist/lib/components/AcUserMenu.vue.d.ts +23 -1
- package/dist/lib/components/AcUserMenu.vue_vue_type_script_setup_true_lang.js +166 -115
- package/dist/lib/components/index.d.ts +21 -2
- package/dist/lib/components/status.d.ts +28 -0
- package/dist/lib/components/status.js +125 -0
- package/dist/lib/composables/copyText.d.ts +2 -1
- package/dist/lib/composables/copyText.js +2 -2
- package/dist/lib/composables/useApiPagination.d.ts +55 -0
- package/dist/lib/composables/useApiPagination.js +58 -0
- package/dist/lib/composables/useBulkSelection.d.ts +44 -0
- package/dist/lib/composables/useBulkSelection.js +41 -0
- package/dist/lib/composables/useFormValidation.d.ts +65 -0
- package/dist/lib/composables/useFormValidation.js +148 -0
- package/dist/lib/composables/useTablePagination.d.ts +49 -0
- package/dist/lib/composables/useTablePagination.js +41 -0
- package/dist/lib/composables/useToast.d.ts +17 -1
- package/dist/lib/composables/useToast.js +10 -2
- package/dist/lib/editor/theme.js +65 -62
- package/dist/lib/index.d.ts +21 -3
- package/dist/lib/index.js +99 -75
- package/dist/lib/theme.css +377 -273
- 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** |
|
|
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
|
-
|
|
41
|
-
|
|
42
|
-
- **
|
|
43
|
-
- **
|
|
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` **
|
|
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@
|
|
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/
|
|
71
|
-
import "@fontsource-variable/
|
|
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/
|
|
83
|
-
import "@fontsource-variable/
|
|
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,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 {};
|