@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
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export interface Props {
|
|
2
|
+
/** The headline in the heading colour, e.g. "Managed Databases." or "Business-ready". */
|
|
3
|
+
title?: string;
|
|
4
|
+
/** The part of the headline in the primary gradient, after `title`, e.g. "Simplified." or "Kubernetes". Leave `title` empty for an all-green headline such as "VMs in minutes.". */
|
|
5
|
+
highlight?: string;
|
|
6
|
+
/** One or two sentences under the headline on what the product does for the reader. */
|
|
7
|
+
description?: string;
|
|
8
|
+
/** Small uppercase label above the price. */
|
|
9
|
+
priceLabel?: string;
|
|
10
|
+
/** The starting price, e.g. "$4". Hides the price block when empty. */
|
|
11
|
+
price?: string;
|
|
12
|
+
/** Unit after the price, e.g. "/mo". */
|
|
13
|
+
pricePeriod?: string;
|
|
14
|
+
/** Benefits listed in the card with green check-circles. */
|
|
15
|
+
features?: string[];
|
|
16
|
+
/** Text of the full-width button at the bottom of the card, e.g. "Create Virtual Machine". Hides the button when empty. */
|
|
17
|
+
actionLabel?: string;
|
|
18
|
+
/** Makes the button a `RouterLink` to this route. Needs vue-router in the app; without it a string is used as `href`. */
|
|
19
|
+
actionTo?: string | Record<string, unknown>;
|
|
20
|
+
/** Makes the button a plain link. */
|
|
21
|
+
actionHref?: string;
|
|
22
|
+
}
|
|
23
|
+
type __VLS_Slots = {
|
|
24
|
+
/** Replaces the headline's text inside the `<h1>`. Wrap the green part in a span with the classes from the Theme table. */
|
|
25
|
+
title?: () => unknown;
|
|
26
|
+
/** Extra content under the description, e.g. a secondary link or badges. */
|
|
27
|
+
default?: () => unknown;
|
|
28
|
+
/** Replaces the card's whole body: price, features and button. */
|
|
29
|
+
card?: () => unknown;
|
|
30
|
+
/** Replaces the card's button, e.g. with two buttons or a disabled one with a tooltip. */
|
|
31
|
+
actions?: () => unknown;
|
|
32
|
+
};
|
|
33
|
+
declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
34
|
+
action: (e: MouseEvent) => any;
|
|
35
|
+
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
|
|
36
|
+
onAction?: ((e: MouseEvent) => any) | undefined;
|
|
37
|
+
}>, {
|
|
38
|
+
title: string;
|
|
39
|
+
description: string;
|
|
40
|
+
actionLabel: string;
|
|
41
|
+
actionHref: string;
|
|
42
|
+
highlight: string;
|
|
43
|
+
priceLabel: string;
|
|
44
|
+
price: string;
|
|
45
|
+
pricePeriod: string;
|
|
46
|
+
features: string[];
|
|
47
|
+
actionTo: string | Record<string, unknown>;
|
|
48
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
49
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
50
|
+
declare const _default: typeof __VLS_export;
|
|
51
|
+
export default _default;
|
|
52
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
53
|
+
new (): {
|
|
54
|
+
$slots: S;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import e from "./AcButton.js";
|
|
2
|
+
import t from "./AcCheckList.js";
|
|
3
|
+
import { Fragment as n, computed as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createStaticVNode as c, createTextVNode as l, createVNode as u, defineComponent as d, getCurrentInstance as f, normalizeClass as p, openBlock as m, renderSlot as h, resolveDynamicComponent as g, toDisplayString as _, unref as v, useId as y, useSlots as b, withCtx as x } from "vue";
|
|
4
|
+
//#region src/lib/components/AcProductHero.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
+
var S = ["aria-labelledby"], C = { class: "mx-auto flex max-w-page flex-col items-start justify-between gap-7 px-4 lg:flex-row lg:items-center lg:gap-10" }, w = ["id"], T = {
|
|
6
|
+
key: 1,
|
|
7
|
+
class: "box-decoration-clone bg-linear-to-r from-primary via-[color-mix(in_srgb,var(--color-primary)_80%,var(--color-chart-6))] to-[color-mix(in_srgb,var(--color-primary)_45%,var(--color-chart-6))] bg-clip-text text-transparent"
|
|
8
|
+
}, E = {
|
|
9
|
+
key: 0,
|
|
10
|
+
class: "m-0 max-w-2xl text-lg leading-relaxed text-balance text-muted md:text-xl"
|
|
11
|
+
}, D = {
|
|
12
|
+
key: 0,
|
|
13
|
+
class: "group relative isolate w-full shrink-0 overflow-hidden rounded-16 border border-border bg-surface/85 p-5 backdrop-blur-md transition-[translate,box-shadow,border-color] duration-[360ms] ease-out-soft hover:-translate-y-1 hover:shadow-xl motion-reduce:transition-none motion-reduce:hover:translate-y-0 lg:w-1/3",
|
|
14
|
+
"data-testid": "ac-product-hero-card"
|
|
15
|
+
}, O = {
|
|
16
|
+
key: 0,
|
|
17
|
+
class: "mb-3"
|
|
18
|
+
}, k = {
|
|
19
|
+
key: 0,
|
|
20
|
+
class: "text-xs font-semibold tracking-wide text-muted uppercase"
|
|
21
|
+
}, A = { class: "m-0 mt-1 text-3xl font-bold tracking-tight text-heading md:text-4xl" }, j = /*@__PURE__*/ d({
|
|
22
|
+
__name: "AcProductHero",
|
|
23
|
+
props: {
|
|
24
|
+
title: { default: "" },
|
|
25
|
+
highlight: { default: "" },
|
|
26
|
+
description: { default: "" },
|
|
27
|
+
priceLabel: { default: "Starting at" },
|
|
28
|
+
price: { default: "" },
|
|
29
|
+
pricePeriod: { default: "" },
|
|
30
|
+
features: { default: () => [] },
|
|
31
|
+
actionLabel: { default: "" },
|
|
32
|
+
actionTo: { default: void 0 },
|
|
33
|
+
actionHref: { default: void 0 }
|
|
34
|
+
},
|
|
35
|
+
emits: ["action"],
|
|
36
|
+
setup(d, { emit: j }) {
|
|
37
|
+
let M = d, N = j, P = b(), F = f()?.appContext.components.RouterLink, I = y(), L = r(() => M.actionTo !== void 0 && !!F), R = r(() => M.actionHref ?? (typeof M.actionTo == "string" ? M.actionTo : void 0));
|
|
38
|
+
function z() {
|
|
39
|
+
return !!(P.card || P.actions || M.price || M.features.length || M.actionLabel);
|
|
40
|
+
}
|
|
41
|
+
function B(e, t) {
|
|
42
|
+
N("action", e), t?.(e);
|
|
43
|
+
}
|
|
44
|
+
return (r, f) => (m(), o("section", {
|
|
45
|
+
class: "relative isolate overflow-hidden bg-linear-to-br from-primary/8 via-background to-surface-sunken/35 py-12 lg:py-16",
|
|
46
|
+
"aria-labelledby": `${v(I)}-title`,
|
|
47
|
+
"data-ac-ds": "",
|
|
48
|
+
"data-testid": "ac-product-hero"
|
|
49
|
+
}, [f[2] ||= c("<div class=\"pointer-events-none absolute inset-0 -z-10\" aria-hidden=\"true\"><div class=\"absolute inset-0 bg-[linear-gradient(to_right,color-mix(in_srgb,var(--color-border)_25%,transparent)_1px,transparent_1px),linear-gradient(to_bottom,color-mix(in_srgb,var(--color-border)_25%,transparent)_1px,transparent_1px)] bg-size-[40px_40px] opacity-50 [mask-image:linear-gradient(to_bottom,black_20%,transparent_95%)]\"></div><div class=\"absolute -top-16 left-[8%] size-44 rounded-full bg-primary/20 opacity-60 blur-3xl\"></div><div class=\"absolute top-10 right-[12%] size-32 rounded-full bg-primary/15 opacity-60 blur-2xl\"></div><div class=\"absolute bottom-0 left-0 h-44 w-full bg-linear-to-t from-background/70 to-transparent\"></div></div>", 1), s("div", C, [s("div", { class: p(["flex min-w-0 flex-col gap-4", z() ? "w-full lg:w-2/3" : "w-full"]) }, [
|
|
50
|
+
s("h1", {
|
|
51
|
+
id: `${v(I)}-title`,
|
|
52
|
+
class: "m-0 max-w-4xl font-heading text-5xl leading-[1.05] font-bold tracking-tight break-words text-heading md:text-6xl lg:text-[60px]"
|
|
53
|
+
}, [h(r.$slots, "title", {}, () => [d.title ? (m(), o(n, { key: 0 }, [l(_(d.highlight ? `${d.title} ` : d.title), 1)], 64)) : a("", !0), d.highlight ? (m(), o("span", T, _(d.highlight), 1)) : a("", !0)])], 8, w),
|
|
54
|
+
d.description ? (m(), o("p", E, _(d.description), 1)) : a("", !0),
|
|
55
|
+
h(r.$slots, "default")
|
|
56
|
+
], 2), z() ? (m(), o("div", D, [f[1] ||= s("div", {
|
|
57
|
+
class: "pointer-events-none absolute inset-0 -z-10 bg-linear-to-r from-transparent via-primary/10 to-transparent opacity-0 transition-opacity duration-700 ease-out-soft group-hover:opacity-100 motion-reduce:transition-none",
|
|
58
|
+
"aria-hidden": "true"
|
|
59
|
+
}, null, -1), h(r.$slots, "card", {}, () => [
|
|
60
|
+
d.price ? (m(), o("div", O, [d.priceLabel ? (m(), o("span", k, _(d.priceLabel), 1)) : a("", !0), s("p", A, _(d.price) + _(d.pricePeriod), 1)])) : a("", !0),
|
|
61
|
+
d.features.length ? (m(), i(t, {
|
|
62
|
+
key: 1,
|
|
63
|
+
items: d.features,
|
|
64
|
+
class: "mb-5"
|
|
65
|
+
}, null, 8, ["items"])) : a("", !0),
|
|
66
|
+
h(r.$slots, "actions", {}, () => [d.actionLabel ? (m(), o(n, { key: 0 }, [L.value ? (m(), i(g(v(F)), {
|
|
67
|
+
key: 0,
|
|
68
|
+
to: d.actionTo,
|
|
69
|
+
custom: ""
|
|
70
|
+
}, {
|
|
71
|
+
default: x(({ href: t, navigate: n }) => [u(e, {
|
|
72
|
+
title: d.actionLabel,
|
|
73
|
+
href: t,
|
|
74
|
+
size: "medium",
|
|
75
|
+
class: "w-full",
|
|
76
|
+
onClick: (e) => B(e, n)
|
|
77
|
+
}, null, 8, [
|
|
78
|
+
"title",
|
|
79
|
+
"href",
|
|
80
|
+
"onClick"
|
|
81
|
+
])]),
|
|
82
|
+
_: 1
|
|
83
|
+
}, 8, ["to"])) : (m(), i(e, {
|
|
84
|
+
key: 1,
|
|
85
|
+
title: d.actionLabel,
|
|
86
|
+
href: R.value,
|
|
87
|
+
size: "medium",
|
|
88
|
+
class: "w-full",
|
|
89
|
+
onClick: f[0] ||= (e) => B(e)
|
|
90
|
+
}, null, 8, ["title", "href"]))], 64)) : a("", !0)])
|
|
91
|
+
])])) : a("", !0)])], 8, S));
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
//#endregion
|
|
95
|
+
export { j as default };
|
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
import type { Tone } from "./types";
|
|
2
|
+
/** One coloured part of a segmented bar. */
|
|
3
|
+
export interface ProgressSegment {
|
|
4
|
+
/** The part's amount, in the same unit as the other segments. */
|
|
5
|
+
value: number;
|
|
6
|
+
/** Fill colour. Without it, segments take the chart palette in order. */
|
|
7
|
+
color?: Tone | "pending" | "neutral";
|
|
8
|
+
/** Name in the legend and the accessible summary, e.g. "Healthy". */
|
|
9
|
+
label?: string;
|
|
10
|
+
}
|
|
2
11
|
export interface Props {
|
|
3
|
-
/** Current amount, from 0 to `max`. Ignored while `indeterminate
|
|
12
|
+
/** Current amount, from 0 to `max`. Ignored while `indeterminate` or when `segments` is set. */
|
|
4
13
|
value?: number;
|
|
5
|
-
/** The amount that fills the bar. */
|
|
14
|
+
/** The amount that fills the bar: 100 for a single value. With `segments`, the sum of the segments unless you set it. */
|
|
6
15
|
max?: number;
|
|
16
|
+
/** Splits the bar into coloured parts, e.g. healthy, warning and hard-limit quotas: `{ value, color?, label? }[]`. Replaces `value`. */
|
|
17
|
+
segments?: ProgressSegment[];
|
|
18
|
+
/** Segments only: where the legend goes. `auto` puts it to the `right` of the bar when any segment has a `label`; `bottom` puts it under; `false` hides it. */
|
|
19
|
+
legend?: boolean | "auto" | "right" | "bottom";
|
|
7
20
|
/** Text above the bar, e.g. "Storage". Also the bar's accessible name. */
|
|
8
21
|
label?: string;
|
|
9
22
|
/** Shows the value to the right of the label: the percentage, or `valueText` when set. */
|
|
@@ -19,13 +32,15 @@ export interface Props {
|
|
|
19
32
|
}
|
|
20
33
|
declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
21
34
|
label: string;
|
|
35
|
+
legend: boolean | "auto" | "right" | "bottom";
|
|
22
36
|
value: number;
|
|
23
37
|
color: Tone | "auto";
|
|
24
38
|
max: number;
|
|
25
39
|
size: "small" | "normal" | "large";
|
|
26
|
-
showValue: boolean;
|
|
27
|
-
valueText: string;
|
|
28
40
|
indeterminate: boolean;
|
|
41
|
+
valueText: string;
|
|
42
|
+
showValue: boolean;
|
|
43
|
+
segments: ProgressSegment[];
|
|
29
44
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
30
45
|
declare const _default: typeof __VLS_export;
|
|
31
46
|
export default _default;
|
|
@@ -1,24 +1,33 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Fragment as e, computed as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, createTextVNode as a, defineComponent as o, normalizeClass as s, normalizeStyle as c, openBlock as l, renderList as u, toDisplayString as d, unref as f, useId as p } from "vue";
|
|
2
2
|
//#region src/lib/components/AcProgress.vue?vue&type=script&setup=true&lang.ts
|
|
3
|
-
var
|
|
3
|
+
var m = {
|
|
4
4
|
class: "w-full",
|
|
5
5
|
"data-ac-ds": "",
|
|
6
6
|
"data-testid": "ac-progress"
|
|
7
|
-
},
|
|
7
|
+
}, h = {
|
|
8
8
|
key: 0,
|
|
9
|
-
class: "mb-
|
|
10
|
-
},
|
|
9
|
+
class: "mb-2 flex items-baseline justify-between gap-3 text-base"
|
|
10
|
+
}, g = ["id"], _ = ["aria-label"], v = {
|
|
11
|
+
key: 0,
|
|
12
|
+
class: "flex shrink-0 flex-wrap items-center gap-x-3 gap-y-1",
|
|
13
|
+
"aria-hidden": "true"
|
|
14
|
+
}, y = { class: "tabular-nums" }, b = [
|
|
11
15
|
"aria-labelledby",
|
|
12
16
|
"aria-label",
|
|
13
17
|
"aria-valuemax",
|
|
14
18
|
"aria-valuenow",
|
|
15
19
|
"aria-valuetext",
|
|
16
20
|
"aria-busy"
|
|
17
|
-
],
|
|
21
|
+
], x = /*@__PURE__*/ o({
|
|
18
22
|
__name: "AcProgress",
|
|
19
23
|
props: {
|
|
20
24
|
value: { default: 0 },
|
|
21
|
-
max: { default:
|
|
25
|
+
max: { default: void 0 },
|
|
26
|
+
segments: { default: void 0 },
|
|
27
|
+
legend: {
|
|
28
|
+
type: [Boolean, String],
|
|
29
|
+
default: "auto"
|
|
30
|
+
},
|
|
22
31
|
label: { default: "" },
|
|
23
32
|
showValue: {
|
|
24
33
|
type: Boolean,
|
|
@@ -32,45 +41,90 @@ var d = {
|
|
|
32
41
|
},
|
|
33
42
|
size: { default: "normal" }
|
|
34
43
|
},
|
|
35
|
-
setup(
|
|
36
|
-
let
|
|
44
|
+
setup(o) {
|
|
45
|
+
let x = o, S = {
|
|
37
46
|
primary: "bg-primary",
|
|
38
47
|
info: "bg-info",
|
|
39
48
|
success: "bg-success",
|
|
40
49
|
warning: "bg-warning",
|
|
41
50
|
danger: "bg-danger"
|
|
42
|
-
},
|
|
51
|
+
}, C = {
|
|
52
|
+
...S,
|
|
53
|
+
pending: "bg-pending",
|
|
54
|
+
neutral: "bg-chart-8"
|
|
55
|
+
}, w = [
|
|
56
|
+
"bg-chart-1",
|
|
57
|
+
"bg-chart-2",
|
|
58
|
+
"bg-chart-3",
|
|
59
|
+
"bg-chart-4",
|
|
60
|
+
"bg-chart-5",
|
|
61
|
+
"bg-chart-6",
|
|
62
|
+
"bg-chart-7",
|
|
63
|
+
"bg-chart-8"
|
|
64
|
+
], T = {
|
|
43
65
|
small: "h-1",
|
|
44
66
|
normal: "h-1.5",
|
|
45
67
|
large: "h-2.5"
|
|
46
|
-
},
|
|
47
|
-
|
|
68
|
+
}, E = p(), D = t(() => !!x.segments?.length), O = t(() => (x.segments ?? []).reduce((e, t) => e + Math.max(0, t.value), 0)), k = t(() => x.max ?? (D.value ? O.value : 100)), A = t(() => {
|
|
69
|
+
if (k.value <= 0) return 0;
|
|
70
|
+
let e = D.value ? O.value : x.value;
|
|
71
|
+
return Math.min(100, Math.max(0, e / k.value * 100));
|
|
72
|
+
}), j = t(() => (x.segments ?? []).map((e, t) => ({
|
|
73
|
+
key: `${t}-${e.label ?? ""}`,
|
|
74
|
+
label: e.label ?? "",
|
|
75
|
+
value: e.value,
|
|
76
|
+
fill: e.color ? C[e.color] : w[t % w.length],
|
|
77
|
+
width: k.value > 0 ? Math.max(0, e.value) / k.value * 100 : 0
|
|
78
|
+
}))), M = t(() => !D.value || x.legend === !1 ? null : x.legend === "bottom" ? "bottom" : x.legend === "auto" ? j.value.some((e) => e.label) ? "right" : null : "right"), N = t(() => {
|
|
79
|
+
let e = j.value.map((e, t) => `${e.label || `Part ${t + 1}`} ${e.value}`).join(", ");
|
|
80
|
+
return x.label ? `${x.label}: ${e}` : e;
|
|
81
|
+
}), P = t(() => x.color === "auto" ? A.value >= 95 ? "danger" : A.value >= 80 ? "warning" : "primary" : x.color), F = t(() => x.valueText || `${Math.round(A.value)}%`), I = t(() => x.indeterminate && !D.value), L = t(() => !!x.label || x.showValue && !I.value);
|
|
82
|
+
return (t, p) => (l(), r("div", m, [L.value ? (l(), r("div", h, [o.label ? (l(), r("span", {
|
|
48
83
|
key: 0,
|
|
49
|
-
id: `${
|
|
50
|
-
class: "min-w-0 truncate font-medium text-
|
|
51
|
-
},
|
|
84
|
+
id: `${f(E)}-label`,
|
|
85
|
+
class: "min-w-0 truncate font-medium text-heading"
|
|
86
|
+
}, d(o.label), 9, g)) : n("", !0), o.showValue && !I.value ? (l(), r("span", {
|
|
52
87
|
key: 1,
|
|
53
|
-
class:
|
|
88
|
+
class: s(["ml-auto shrink-0 text-xs tabular-nums", o.color === "auto" && P.value !== "primary" ? P.value === "danger" ? "font-medium text-danger-strong" : "font-medium text-warning-strong" : "text-muted"]),
|
|
54
89
|
"aria-hidden": "true"
|
|
55
|
-
},
|
|
90
|
+
}, d(F.value), 3)) : n("", !0)])) : n("", !0), D.value ? (l(), r("div", {
|
|
91
|
+
key: 1,
|
|
92
|
+
class: s(["flex", M.value === "bottom" ? "flex-col gap-2" : "flex-wrap items-center gap-x-4 gap-y-2"])
|
|
93
|
+
}, [i("div", {
|
|
94
|
+
role: "img",
|
|
95
|
+
"aria-label": N.value,
|
|
96
|
+
class: s(["flex min-w-[120px] flex-1 overflow-hidden rounded-full bg-surface-sunken", T[o.size]])
|
|
97
|
+
}, [(l(!0), r(e, null, u(j.value, (t) => (l(), r(e, { key: t.key }, [t.width > 0 ? (l(), r("div", {
|
|
98
|
+
key: 0,
|
|
99
|
+
class: s(["h-full shrink-0 transition-[width] duration-300 ease-out motion-reduce:transition-none", t.fill]),
|
|
100
|
+
style: c({ width: `${t.width}%` })
|
|
101
|
+
}, null, 6)) : n("", !0)], 64))), 128))], 10, _), M.value ? (l(), r("ul", v, [(l(!0), r(e, null, u(j.value, (e) => (l(), r("li", {
|
|
102
|
+
key: e.key,
|
|
103
|
+
class: "flex items-center gap-1.5 text-xs leading-4 text-muted"
|
|
104
|
+
}, [
|
|
105
|
+
i("span", { class: s(["size-1.5 shrink-0 rounded-full", e.fill]) }, null, 2),
|
|
106
|
+
a(" " + d(e.label) + " ", 1),
|
|
107
|
+
i("span", y, d(e.value), 1)
|
|
108
|
+
]))), 128))])) : n("", !0)], 2)) : (l(), r("div", {
|
|
109
|
+
key: 2,
|
|
56
110
|
role: "progressbar",
|
|
57
|
-
"aria-labelledby":
|
|
58
|
-
"aria-label":
|
|
111
|
+
"aria-labelledby": o.label ? `${f(E)}-label` : void 0,
|
|
112
|
+
"aria-label": o.label ? void 0 : "Progress",
|
|
59
113
|
"aria-valuemin": "0",
|
|
60
|
-
"aria-valuemax":
|
|
61
|
-
"aria-valuenow":
|
|
62
|
-
"aria-valuetext":
|
|
63
|
-
"aria-busy":
|
|
64
|
-
class:
|
|
65
|
-
}, [
|
|
114
|
+
"aria-valuemax": o.indeterminate ? void 0 : k.value,
|
|
115
|
+
"aria-valuenow": o.indeterminate ? void 0 : Math.min(k.value, Math.max(0, o.value)),
|
|
116
|
+
"aria-valuetext": o.indeterminate ? void 0 : F.value,
|
|
117
|
+
"aria-busy": o.indeterminate || void 0,
|
|
118
|
+
class: s(["relative w-full overflow-hidden rounded-full bg-surface-sunken", T[o.size]])
|
|
119
|
+
}, [o.indeterminate ? (l(), r("div", {
|
|
66
120
|
key: 0,
|
|
67
|
-
class:
|
|
68
|
-
}, null, 2)) : (
|
|
121
|
+
class: s(["ac-progress-indeterminate absolute inset-y-0 left-0 w-2/5 rounded-full motion-reduce:w-full motion-reduce:opacity-40", S[P.value]])
|
|
122
|
+
}, null, 2)) : (l(), r("div", {
|
|
69
123
|
key: 1,
|
|
70
|
-
class:
|
|
71
|
-
style:
|
|
72
|
-
}, null, 6))], 10,
|
|
124
|
+
class: s(["h-full rounded-full transition-[width,background-color] duration-300 ease-out motion-reduce:transition-none", S[P.value]]),
|
|
125
|
+
style: c({ width: `${A.value}%` })
|
|
126
|
+
}, null, 6))], 10, b))]));
|
|
73
127
|
}
|
|
74
128
|
});
|
|
75
129
|
//#endregion
|
|
76
|
-
export {
|
|
130
|
+
export { x as default };
|
|
@@ -17,7 +17,7 @@ export interface ResourceDetail {
|
|
|
17
17
|
value?: string | number;
|
|
18
18
|
/** Slot name for a custom value: `#detail-<key>`. */
|
|
19
19
|
key?: string;
|
|
20
|
-
/** Sets the value in
|
|
20
|
+
/** Sets the value in the monospace font, for versions, IPs and IDs. */
|
|
21
21
|
mono?: boolean;
|
|
22
22
|
}
|
|
23
23
|
export interface Props {
|
|
@@ -43,7 +43,7 @@ export interface Props {
|
|
|
43
43
|
details?: ResourceDetail[];
|
|
44
44
|
/** Columns of the details grid. Three and four drop to two on phones. */
|
|
45
45
|
columns?: 1 | 2 | 3 | 4;
|
|
46
|
-
/** Sets `name` in
|
|
46
|
+
/** Sets `name` in the monospace font, for Kubernetes object names. */
|
|
47
47
|
mono?: boolean;
|
|
48
48
|
/** Shows a skeleton card while the resource loads. */
|
|
49
49
|
loading?: boolean;
|
|
@@ -89,10 +89,10 @@ declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, i
|
|
|
89
89
|
loading: boolean;
|
|
90
90
|
subtitle: string;
|
|
91
91
|
mono: boolean;
|
|
92
|
+
columns: 1 | 2 | 3 | 4;
|
|
92
93
|
logo: string;
|
|
93
94
|
logoAlt: string;
|
|
94
95
|
statusColor: Tone | "default";
|
|
95
|
-
columns: 1 | 2 | 3 | 4;
|
|
96
96
|
statusLoading: boolean;
|
|
97
97
|
tags: (ResourceTag | string)[];
|
|
98
98
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import e from "./AcSpinner.js";
|
|
2
2
|
import t from "./AcBadge.js";
|
|
3
3
|
import n from "./AcSkeleton.js";
|
|
4
|
-
import r from "./
|
|
5
|
-
import i from "./
|
|
4
|
+
import r from "./AcDropdown.js";
|
|
5
|
+
import i from "./AcTag.js";
|
|
6
6
|
import { Fragment as a, computed as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, createSlots as d, createTextVNode as f, createVNode as p, defineComponent as m, getCurrentInstance as h, mergeProps as g, normalizeClass as _, openBlock as v, renderList as y, renderSlot as b, resolveDynamicComponent as x, toDisplayString as S, unref as C, useId as w, useSlots as T, withCtx as E } from "vue";
|
|
7
7
|
//#region src/lib/components/AcResourceCard.vue?vue&type=script&setup=true&lang.ts
|
|
8
|
-
var D = ["aria-labelledby", "aria-disabled"], O = { class: "flex min-w-0 items-start gap-3 p-
|
|
8
|
+
var D = ["aria-labelledby", "aria-disabled"], O = { class: "flex min-w-0 items-start gap-3 p-5" }, k = ["aria-hidden"], A = ["src", "alt"], j = { class: "min-w-0 flex-1" }, M = ["id", "title"], N = ["title"], P = {
|
|
9
9
|
key: 1,
|
|
10
|
-
class: "mt-2 flex flex-wrap items-center gap-1.5"
|
|
10
|
+
class: "mt-2.5 flex flex-wrap items-center gap-1.5"
|
|
11
11
|
}, F = {
|
|
12
12
|
key: 1,
|
|
13
13
|
class: "relative z-10 -mt-1 -mr-1.5 flex shrink-0 items-center gap-1.5"
|
|
14
|
-
}, I = { class: "truncate text-xs text-muted" }, L = { class: "mt-
|
|
14
|
+
}, I = { class: "truncate text-xs font-medium text-muted" }, L = { class: "mt-1 flex min-w-0 flex-wrap items-center gap-1.5 text-base font-semibold text-heading" }, R = {
|
|
15
15
|
key: 0,
|
|
16
16
|
class: "text-muted",
|
|
17
17
|
"aria-label": "Not set"
|
|
18
18
|
}, z = {
|
|
19
19
|
key: 2,
|
|
20
|
-
class: "relative z-10 mt-auto flex min-w-0 flex-wrap items-center justify-between gap-x-3 gap-y-1.5 border-t border-border
|
|
20
|
+
class: "relative z-10 mt-auto flex min-w-0 flex-wrap items-center justify-between gap-x-3 gap-y-1.5 border-t border-border px-5 py-3 text-xs text-muted"
|
|
21
21
|
}, B = /*@__PURE__*/ m({
|
|
22
22
|
__name: "AcResourceCard",
|
|
23
23
|
props: {
|
|
@@ -89,7 +89,7 @@ var D = ["aria-labelledby", "aria-disabled"], O = { class: "flex min-w-0 items-s
|
|
|
89
89
|
"data-testid": "ac-resource-card"
|
|
90
90
|
}, null, 8, ["label"])) : (v(), l("article", {
|
|
91
91
|
key: 1,
|
|
92
|
-
class: _(["group relative flex min-w-0 flex-col rounded-
|
|
92
|
+
class: _(["group relative flex min-w-0 flex-col rounded-14 border border-border bg-surface transition-[background-color,border-color,box-shadow,translate] duration-200 has-[[data-ac-card-link]:focus-visible]:ring-2 has-[[data-ac-card-link]:focus-visible]:ring-ring has-[[data-ac-card-link]:focus-visible]:ring-offset-2 has-[[data-ac-card-link]:focus-visible]:ring-offset-surface motion-reduce:transition-none", [(Y.value || X()) && "hover:-translate-y-0.5 hover:border-primary/30 hover:bg-accent-hover/60 hover:shadow-card motion-reduce:hover:translate-y-0", m.disabled && "opacity-60"]]),
|
|
93
93
|
"aria-labelledby": `${C(q)}-name`,
|
|
94
94
|
"aria-disabled": m.disabled || void 0,
|
|
95
95
|
"data-ac-ds": "",
|
|
@@ -98,7 +98,7 @@ var D = ["aria-labelledby", "aria-disabled"], O = { class: "flex min-w-0 items-s
|
|
|
98
98
|
u("div", O, [
|
|
99
99
|
U.logo || m.logo || m.icon ? (v(), l("span", {
|
|
100
100
|
key: 0,
|
|
101
|
-
class: _(["inline-flex size-10 shrink-0 items-center justify-center overflow-hidden rounded-
|
|
101
|
+
class: _(["inline-flex size-10 shrink-0 items-center justify-center overflow-hidden rounded-10 border", m.logo ? "border-border bg-surface-muted p-1.5" : "border-primary/25 bg-primary/10 text-primary-strong [&_svg]:size-5"]),
|
|
102
102
|
"aria-hidden": m.logo && m.logoAlt ? void 0 : "true"
|
|
103
103
|
}, [b(o.$slots, "logo", {}, () => [m.logo ? (v(), l("img", {
|
|
104
104
|
key: 0,
|
|
@@ -109,14 +109,14 @@ var D = ["aria-labelledby", "aria-disabled"], O = { class: "flex min-w-0 items-s
|
|
|
109
109
|
u("div", j, [
|
|
110
110
|
u("h3", {
|
|
111
111
|
id: `${C(q)}-name`,
|
|
112
|
-
class: _(["truncate text-lg leading-6 font-semibold tracking-
|
|
112
|
+
class: _(["truncate text-lg leading-6 font-semibold tracking-tight text-heading", m.mono ? "font-mono text-base" : "font-heading"]),
|
|
113
113
|
title: m.name
|
|
114
114
|
}, [Y.value ? (v(), s(x(Y.value.is), g({ key: 0 }, {
|
|
115
115
|
...Y.value,
|
|
116
116
|
is: void 0
|
|
117
117
|
}, {
|
|
118
118
|
"data-ac-card-link": "",
|
|
119
|
-
class: "outline-none after:absolute after:inset-0 after:rounded-
|
|
119
|
+
class: "outline-none after:absolute after:inset-0 after:rounded-14",
|
|
120
120
|
onClick: Q
|
|
121
121
|
}), {
|
|
122
122
|
default: E(() => [f(S(m.name), 1)]),
|
|
@@ -125,12 +125,12 @@ var D = ["aria-labelledby", "aria-disabled"], O = { class: "flex min-w-0 items-s
|
|
|
125
125
|
key: 1,
|
|
126
126
|
type: "button",
|
|
127
127
|
"data-ac-card-link": "",
|
|
128
|
-
class: "max-w-full cursor-pointer truncate text-left outline-none after:absolute after:inset-0 after:rounded-
|
|
128
|
+
class: "max-w-full cursor-pointer truncate text-left outline-none after:absolute after:inset-0 after:rounded-14",
|
|
129
129
|
onClick: Q
|
|
130
130
|
}, S(m.name), 1)) : (v(), l(a, { key: 2 }, [f(S(m.name), 1)], 64))], 10, M),
|
|
131
131
|
m.subtitle ? (v(), l("p", {
|
|
132
132
|
key: 0,
|
|
133
|
-
class: "line-clamp-2 text-xs text-muted",
|
|
133
|
+
class: "mt-0.5 line-clamp-2 text-xs text-muted",
|
|
134
134
|
title: m.subtitle
|
|
135
135
|
}, S(m.subtitle), 9, N)) : c("", !0),
|
|
136
136
|
U.tags || m.status || m.statusLoading || J.value.length ? (v(), l("div", P, [b(o.$slots, "tags", {}, () => [m.statusLoading ? (v(), s(t, {
|
|
@@ -151,7 +151,7 @@ var D = ["aria-labelledby", "aria-disabled"], O = { class: "flex min-w-0 items-s
|
|
|
151
151
|
variant: "light",
|
|
152
152
|
rounded: "",
|
|
153
153
|
dot: ""
|
|
154
|
-
}, null, 8, ["label", "color"])) : c("", !0), (v(!0), l(a, null, y(J.value, (t, n) => (v(), s(
|
|
154
|
+
}, null, 8, ["label", "color"])) : c("", !0), (v(!0), l(a, null, y(J.value, (t, n) => (v(), s(i, {
|
|
155
155
|
key: `${t.key ?? ""}${t.label}${n}`,
|
|
156
156
|
label: t.key ? "" : t.label,
|
|
157
157
|
"key-label": t.key ?? "",
|
|
@@ -172,7 +172,7 @@ var D = ["aria-labelledby", "aria-disabled"], O = { class: "flex min-w-0 items-s
|
|
|
172
172
|
"color"
|
|
173
173
|
]))), 128))])])) : c("", !0)
|
|
174
174
|
]),
|
|
175
|
-
U.actions || U.menu ? (v(), l("div", F, [b(o.$slots, "actions"), U.menu ? (v(), s(
|
|
175
|
+
U.actions || U.menu ? (v(), l("div", F, [b(o.$slots, "actions"), U.menu ? (v(), s(r, {
|
|
176
176
|
key: 0,
|
|
177
177
|
align: "end",
|
|
178
178
|
"menu-label": `Actions for ${m.name}`
|
|
@@ -183,17 +183,17 @@ var D = ["aria-labelledby", "aria-disabled"], O = { class: "flex min-w-0 items-s
|
|
|
183
183
|
]),
|
|
184
184
|
m.details.length ? (v(), l("dl", {
|
|
185
185
|
key: 0,
|
|
186
|
-
class: _(["grid gap-x-
|
|
186
|
+
class: _(["grid gap-x-6 gap-y-4 border-t border-border px-5 py-4", W[m.columns]])
|
|
187
187
|
}, [(v(!0), l(a, null, y(m.details, (e, t) => (v(), l("div", {
|
|
188
188
|
key: e.key ?? `${e.label}${t}`,
|
|
189
189
|
class: "min-w-0"
|
|
190
190
|
}, [u("dt", I, S(e.label), 1), u("dd", L, [b(o.$slots, `detail-${e.key}`, { detail: e }, () => [Z(e.value) ? (v(), l("span", R, "—")) : (v(), l("span", {
|
|
191
191
|
key: 1,
|
|
192
|
-
class: _(["min-w-0 break-words", e.mono && "font-mono text-
|
|
192
|
+
class: _(["min-w-0 break-words", e.mono && "font-mono text-xs"])
|
|
193
193
|
}, S(e.value), 3))])])]))), 128))], 2)) : c("", !0),
|
|
194
194
|
U.default ? (v(), l("div", {
|
|
195
195
|
key: 1,
|
|
196
|
-
class: _(["border-t border-border
|
|
196
|
+
class: _(["border-t border-border px-5 py-4 text-base text-body", m.details.length > 0 && "border-t-0 pt-0"])
|
|
197
197
|
}, [b(o.$slots, "default")], 2)) : c("", !0),
|
|
198
198
|
U.footer ? (v(), l("div", z, [b(o.$slots, "footer")])) : c("", !0)
|
|
199
199
|
], 10, D));
|
|
@@ -7,7 +7,7 @@ export interface Props {
|
|
|
7
7
|
placeholder?: string;
|
|
8
8
|
/** Milliseconds to wait after typing before emitting `search`. `0` emits on every key. */
|
|
9
9
|
debounce?: number;
|
|
10
|
-
/** `small`
|
|
10
|
+
/** `small` 36px or `normal` 42px tall. */
|
|
11
11
|
size?: "small" | "normal";
|
|
12
12
|
/** Options for a filter select attached to the right of the field, such as cluster status. Bind the choice with `v-model:filter`. No options, no filter. */
|
|
13
13
|
filterOptions?: SearchFilterOption[];
|
|
@@ -2,6 +2,7 @@ import { Fragment as e, computed as t, createCommentVNode as n, createElementBlo
|
|
|
2
2
|
import { ChevronDown as x, Search as S, X as C } from "@lucide/vue";
|
|
3
3
|
//#region src/lib/components/AcSearchBar.vue?vue&type=script&setup=true&lang.ts
|
|
4
4
|
var w = {
|
|
5
|
+
role: "search",
|
|
5
6
|
class: "flex w-full",
|
|
6
7
|
"data-ac-ds": "",
|
|
7
8
|
"data-testid": "ac-search-bar"
|
|
@@ -13,7 +14,7 @@ var w = {
|
|
|
13
14
|
props: /*@__PURE__*/ s({
|
|
14
15
|
placeholder: { default: "Search" },
|
|
15
16
|
debounce: { default: 300 },
|
|
16
|
-
size: { default: "
|
|
17
|
+
size: { default: "normal" },
|
|
17
18
|
filterOptions: { default: () => [] },
|
|
18
19
|
filterLabel: { default: "Filter" }
|
|
19
20
|
}, {
|
|
@@ -24,7 +25,7 @@ var w = {
|
|
|
24
25
|
}),
|
|
25
26
|
emits: /*@__PURE__*/ s(["search"], ["update:modelValue", "update:filter"]),
|
|
26
27
|
setup(o, { emit: s }) {
|
|
27
|
-
let A = o, j = h(o, "modelValue"), M = h(o, "filter"), N = s, P = d(null), F = t(() => A.filterOptions.length > 0), I = t(() => A.size === "small" ? "h-
|
|
28
|
+
let A = o, j = h(o, "modelValue"), M = h(o, "filter"), N = s, P = d(null), F = t(() => A.filterOptions.length > 0), I = t(() => A.size === "small" ? "h-9" : "h-10.5"), L;
|
|
28
29
|
function R() {
|
|
29
30
|
j.value = "", P.value?.focus();
|
|
30
31
|
}
|
|
@@ -34,9 +35,9 @@ var w = {
|
|
|
34
35
|
e.length && !e.some((e) => e.value === M.value) && (M.value = e[0].value);
|
|
35
36
|
}, { immediate: !0 }), l(() => clearTimeout(L)), (t, s) => (u(), r("div", w, [i("div", T, [
|
|
36
37
|
a(m(S), {
|
|
37
|
-
class: "pointer-events-none absolute top-1/2 left-
|
|
38
|
+
class: c(["pointer-events-none absolute top-1/2 left-3 z-20 -translate-y-1/2 text-muted", o.size === "small" ? "size-4" : "size-5"]),
|
|
38
39
|
"aria-hidden": "true"
|
|
39
|
-
}),
|
|
40
|
+
}, null, 8, ["class"]),
|
|
40
41
|
y(i("input", {
|
|
41
42
|
ref_key: "input",
|
|
42
43
|
ref: P,
|
|
@@ -44,30 +45,34 @@ var w = {
|
|
|
44
45
|
type: "search",
|
|
45
46
|
placeholder: o.placeholder,
|
|
46
47
|
"aria-label": o.placeholder,
|
|
47
|
-
class: c(["relative block w-full border border-border bg-
|
|
48
|
+
class: c(["relative block w-full border border-border bg-background pr-10 text-base font-normal text-heading transition-[color,background-color,border-color,box-shadow] duration-200 outline-none placeholder:text-muted/80 hover:border-accent-active focus:z-10 focus:focus-ring [&::-webkit-search-cancel-button]:hidden", [
|
|
49
|
+
I.value,
|
|
50
|
+
o.size === "small" ? "pl-9" : "pl-10",
|
|
51
|
+
F.value ? "rounded-l-10" : "rounded-10"
|
|
52
|
+
]]),
|
|
48
53
|
onKeydown: s[1] ||= b((e) => j.value && (R(), e.stopPropagation()), ["esc"])
|
|
49
54
|
}, null, 42, E), [[_, j.value]]),
|
|
50
55
|
j.value ? (u(), r("button", {
|
|
51
56
|
key: 0,
|
|
52
57
|
type: "button",
|
|
53
|
-
class: "absolute top-1/2 right-1.5 z-20 inline-flex size-
|
|
58
|
+
class: "absolute top-1/2 right-1.5 z-20 inline-flex size-7 -translate-y-1/2 cursor-pointer items-center justify-center rounded-8 text-muted transition-colors hover:bg-surface-sunken hover:text-heading focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",
|
|
54
59
|
"aria-label": "Clear search",
|
|
55
60
|
onClick: R
|
|
56
61
|
}, [a(m(C), {
|
|
57
|
-
class: "size-
|
|
62
|
+
class: "size-4",
|
|
58
63
|
"aria-hidden": "true"
|
|
59
64
|
})])) : n("", !0)
|
|
60
65
|
]), F.value ? (u(), r("div", D, [y(i("select", {
|
|
61
66
|
"onUpdate:modelValue": s[2] ||= (e) => M.value = e,
|
|
62
67
|
"aria-label": o.filterLabel,
|
|
63
|
-
class: c(["relative block max-w-48 cursor-pointer appearance-none truncate rounded-r-
|
|
68
|
+
class: c(["relative block max-w-48 cursor-pointer appearance-none truncate rounded-r-10 border border-border bg-surface pr-9 pl-4 text-base font-medium text-heading transition-[color,background-color,border-color,box-shadow] duration-200 outline-none hover:bg-surface-sunken/70 focus:z-10 focus:focus-ring", I.value]),
|
|
64
69
|
"data-ac-ds": "",
|
|
65
70
|
"data-testid": "ac-search-bar-filter"
|
|
66
71
|
}, [(u(!0), r(e, null, f(o.filterOptions, (e) => (u(), r("option", {
|
|
67
72
|
key: e.value,
|
|
68
73
|
value: e.value
|
|
69
74
|
}, p(e.label), 9, k))), 128))], 10, O), [[g, M.value]]), a(m(x), {
|
|
70
|
-
class: "pointer-events-none absolute top-1/2 right-
|
|
75
|
+
class: "pointer-events-none absolute top-1/2 right-3 z-20 size-4 -translate-y-1/2 text-muted",
|
|
71
76
|
"aria-hidden": "true"
|
|
72
77
|
})])) : n("", !0)]));
|
|
73
78
|
}
|
|
@@ -11,7 +11,7 @@ export interface Props {
|
|
|
11
11
|
padded?: boolean;
|
|
12
12
|
/** Drops the card surface so the section blends into its parent. */
|
|
13
13
|
plain?: boolean;
|
|
14
|
-
/** `danger` draws a red border and title, for irreversible actions like deleting a database. */
|
|
14
|
+
/** `danger` draws a red-tinted border and title, for irreversible actions like deleting a database. */
|
|
15
15
|
tone?: "default" | "danger";
|
|
16
16
|
}
|
|
17
17
|
type __VLS_Props = Props;
|
|
@@ -41,9 +41,9 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
|
|
|
41
41
|
tone: "default" | "danger";
|
|
42
42
|
subtitle: string;
|
|
43
43
|
padded: boolean;
|
|
44
|
+
plain: boolean;
|
|
44
45
|
collapsible: boolean;
|
|
45
46
|
backButton: boolean;
|
|
46
|
-
plain: boolean;
|
|
47
47
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
48
48
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
49
49
|
declare const _default: typeof __VLS_export;
|