@ac-design/design-system 1.0.3 → 2.0.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 +69 -0
- package/dist/lib/charts/ChartFrame.vue_vue_type_script_setup_true_lang.js +168 -0
- package/dist/lib/charts/index.d.ts +7 -0
- package/dist/lib/charts/index.js +5 -0
- package/dist/lib/charts/shared.d.ts +60 -0
- package/dist/lib/charts/shared.js +114 -0
- package/dist/lib/charts/xy.d.ts +65 -0
- package/dist/lib/charts/xy.js +92 -0
- package/dist/lib/compat.css +1707 -1042
- 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 +1 -1
- package/dist/lib/components/AcAlert.vue_vue_type_script_setup_true_lang.js +19 -25
- 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 +44 -0
- package/dist/lib/components/AcAreaChart.vue_vue_type_script_setup_true_lang.js +215 -0
- package/dist/lib/components/AcAvatar.vue_vue_type_script_setup_true_lang.js +8 -8
- package/dist/lib/components/AcBadge.vue.d.ts +16 -7
- package/dist/lib/components/AcBadge.vue_vue_type_script_setup_true_lang.js +59 -43
- 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 +43 -0
- package/dist/lib/components/AcBarChart.vue_vue_type_script_setup_true_lang.js +217 -0
- package/dist/lib/components/AcBreadcrumb.vue_vue_type_script_setup_true_lang.js +27 -26
- package/dist/lib/components/AcBulkActionBar.js +5 -0
- package/dist/lib/components/AcBulkActionBar.vue.d.ts +43 -0
- package/dist/lib/components/AcBulkActionBar.vue_vue_type_script_setup_true_lang.js +84 -0
- package/dist/lib/components/AcButton.vue.d.ts +3 -3
- package/dist/lib/components/AcButton.vue_vue_type_script_setup_true_lang.js +42 -34
- package/dist/lib/components/AcButtons.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/lib/components/AcCard.vue.d.ts +10 -2
- package/dist/lib/components/AcCard.vue_vue_type_script_setup_true_lang.js +37 -11
- package/dist/lib/components/AcCellValue.vue.d.ts +4 -1
- package/dist/lib/components/AcCellValue.vue_vue_type_script_setup_true_lang.js +214 -179
- package/dist/lib/components/AcCheckBox.vue.d.ts +17 -3
- package/dist/lib/components/AcCheckBox.vue_vue_type_script_setup_true_lang.js +126 -29
- package/dist/lib/components/AcCheckRadio.vue.d.ts +1 -1
- package/dist/lib/components/AcCheckRadio.vue_vue_type_script_setup_true_lang.js +33 -21
- 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 +111 -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 +54 -0
- package/dist/lib/components/AcColorInput.vue_vue_type_script_setup_true_lang.js +187 -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 +92 -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/AcDatePicker.vue.d.ts +5 -5
- package/dist/lib/components/AcDatePicker.vue_vue_type_script_setup_true_lang.js +204 -213
- package/dist/lib/components/AcDeleteModal.vue.d.ts +4 -4
- package/dist/lib/components/AcDeleteModal.vue_vue_type_script_setup_true_lang.js +37 -46
- package/dist/lib/components/AcDonutChart.js +5 -0
- package/dist/lib/components/AcDonutChart.vue.d.ts +73 -0
- package/dist/lib/components/AcDonutChart.vue_vue_type_script_setup_true_lang.js +210 -0
- package/dist/lib/components/AcDropdown.vue.d.ts +1 -1
- package/dist/lib/components/AcDropdown.vue_vue_type_script_setup_true_lang.js +9 -9
- package/dist/lib/components/AcDropdownDivider.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/lib/components/AcDropdownItem.vue.d.ts +1 -1
- package/dist/lib/components/AcDropdownItem.vue_vue_type_script_setup_true_lang.js +3 -3
- 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/AcFeatureCard.vue_vue_type_script_setup_true_lang.js +14 -13
- 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 +2 -2
- package/dist/lib/components/AcFormFooter.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/lib/components/AcFormSection.vue.d.ts +7 -0
- package/dist/lib/components/AcFormSection.vue_vue_type_script_setup_true_lang.js +31 -21
- package/dist/lib/components/AcHeader.vue.d.ts +3 -3
- package/dist/lib/components/AcHeader.vue_vue_type_script_setup_true_lang.js +22 -22
- package/dist/lib/components/AcInfoTable.vue_vue_type_script_setup_true_lang.js +17 -13
- package/dist/lib/components/AcInput.vue.d.ts +3 -3
- package/dist/lib/components/AcInput.vue_vue_type_script_setup_true_lang.js +98 -87
- 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 +320 -0
- package/dist/lib/components/AcLineChart.js +5 -0
- package/dist/lib/components/AcLineChart.vue.d.ts +38 -0
- package/dist/lib/components/AcLineChart.vue_vue_type_script_setup_true_lang.js +187 -0
- package/dist/lib/components/AcLocaleSwitcher.js +5 -0
- package/dist/lib/components/AcLocaleSwitcher.vue.d.ts +46 -0
- package/dist/lib/components/AcLocaleSwitcher.vue_vue_type_script_setup_true_lang.js +103 -0
- package/dist/lib/components/AcModal.vue_vue_type_script_setup_true_lang.js +23 -23
- package/dist/lib/components/AcNavbar.vue_vue_type_script_setup_true_lang.js +6 -6
- package/dist/lib/components/AcNavbarItem.vue.d.ts +1 -1
- package/dist/lib/components/AcNavbarItem.vue_vue_type_script_setup_true_lang.js +22 -22
- package/dist/lib/components/AcNotificationMenu.vue_vue_type_script_setup_true_lang.js +26 -26
- 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 +251 -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 +20 -3
- package/dist/lib/components/AcPagination.vue_vue_type_script_setup_true_lang.js +81 -53
- package/dist/lib/components/AcPreloader.vue.d.ts +1 -1
- package/dist/lib/components/AcPreloader.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/lib/components/AcProgress.vue.d.ts +2 -2
- package/dist/lib/components/AcProgress.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/lib/components/AcResourceCard.vue.d.ts +2 -2
- package/dist/lib/components/AcResourceCard.vue_vue_type_script_setup_true_lang.js +13 -13
- package/dist/lib/components/AcSearchBar.vue.d.ts +1 -1
- package/dist/lib/components/AcSearchBar.vue_vue_type_script_setup_true_lang.js +9 -8
- 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 +4 -4
- package/dist/lib/components/AcSelect.vue_vue_type_script_setup_true_lang.js +230 -227
- package/dist/lib/components/AcSidePanel.vue_vue_type_script_setup_true_lang.js +31 -31
- package/dist/lib/components/AcSideTabs.vue.d.ts +1 -1
- package/dist/lib/components/AcSideTabs.vue_vue_type_script_setup_true_lang.js +37 -37
- package/dist/lib/components/AcSidebar.vue.d.ts +3 -3
- package/dist/lib/components/AcSidebar.vue_vue_type_script_setup_true_lang.js +75 -75
- package/dist/lib/components/AcSidebarItem.vue_vue_type_script_setup_true_lang.js +33 -32
- package/dist/lib/components/AcSidebarSection.vue_vue_type_script_setup_true_lang.js +6 -6
- 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_vue_type_script_setup_true_lang.js +39 -34
- 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 +119 -0
- package/dist/lib/components/AcTable.vue_vue_type_script_setup_true_lang.js +87 -87
- package/dist/lib/components/AcTabs.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/lib/components/AcTag.vue.d.ts +1 -1
- 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 +291 -0
- package/dist/lib/components/AcTextarea.vue.d.ts +3 -3
- package/dist/lib/components/AcTextarea.vue_vue_type_script_setup_true_lang.js +89 -64
- package/dist/lib/components/AcThemeMode.vue_vue_type_script_setup_true_lang.js +3 -3
- 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 +463 -0
- package/dist/lib/components/AcToaster.vue_vue_type_script_setup_true_lang.js +65 -71
- package/dist/lib/components/AcTooltip.vue.d.ts +1 -1
- package/dist/lib/components/AcTooltip.vue_vue_type_script_setup_true_lang.js +77 -67
- package/dist/lib/components/AcUsageCard.vue_vue_type_script_setup_true_lang.js +27 -27
- package/dist/lib/components/AcUserMenu.vue_vue_type_script_setup_true_lang.js +111 -103
- package/dist/lib/components/index.d.ts +14 -2
- package/dist/lib/components/status.d.ts +26 -0
- package/dist/lib/components/status.js +110 -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/editor/theme.js +65 -62
- package/dist/lib/index.d.ts +14 -0
- package/dist/lib/index.js +95 -78
- package/dist/lib/theme.css +391 -272
- package/package.json +11 -4
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { computed as e, createBlock as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, createTextVNode as a, defineComponent as o, normalizeClass as s, openBlock as c, renderSlot as l, resolveDynamicComponent as u, toDisplayString as d } from "vue";
|
|
2
2
|
import { Inbox as f, SearchX as p, TriangleAlert as m } from "@lucide/vue";
|
|
3
3
|
//#region src/lib/components/AcEmptyState.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
-
var h = ["role"], g = {
|
|
4
|
+
var h = ["role"], g = {
|
|
5
5
|
key: 0,
|
|
6
|
-
class: "font-mono text-xs font-medium tracking-wide text-muted uppercase"
|
|
7
|
-
},
|
|
8
|
-
key: 0,
|
|
9
|
-
class: "mt-1 flex flex-wrap items-center justify-center gap-2"
|
|
10
|
-
}, y = /*@__PURE__*/ o({
|
|
6
|
+
class: "mb-1 font-mono text-xs font-medium tracking-wide text-muted uppercase"
|
|
7
|
+
}, _ = /*@__PURE__*/ o({
|
|
11
8
|
__name: "AcEmptyState",
|
|
12
9
|
props: {
|
|
13
10
|
variant: { default: "empty" },
|
|
@@ -16,66 +13,80 @@ var h = ["role"], g = { class: "flex flex-col items-center gap-1" }, _ = {
|
|
|
16
13
|
description: { default: "" },
|
|
17
14
|
query: { default: "" },
|
|
18
15
|
icon: { default: void 0 },
|
|
19
|
-
size: { default: "normal" }
|
|
16
|
+
size: { default: "normal" },
|
|
17
|
+
framed: {
|
|
18
|
+
type: Boolean,
|
|
19
|
+
default: !1
|
|
20
|
+
}
|
|
20
21
|
},
|
|
21
22
|
setup(o) {
|
|
22
|
-
let
|
|
23
|
+
let _ = o, v = {
|
|
23
24
|
empty: {
|
|
24
25
|
glyph: f,
|
|
25
26
|
title: "Nothing here yet",
|
|
26
|
-
tile: "
|
|
27
|
+
tile: "bg-primary/10 text-primary-strong",
|
|
28
|
+
frame: "border-border bg-surface"
|
|
27
29
|
},
|
|
28
30
|
search: {
|
|
29
31
|
glyph: p,
|
|
30
32
|
title: "No results found",
|
|
31
|
-
tile: "
|
|
33
|
+
tile: "bg-primary/10 text-primary-strong",
|
|
34
|
+
frame: "border-border bg-surface"
|
|
32
35
|
},
|
|
33
36
|
error: {
|
|
34
37
|
glyph: m,
|
|
35
38
|
title: "Something went wrong",
|
|
36
|
-
tile: "
|
|
39
|
+
tile: "bg-danger/10 text-danger-strong",
|
|
40
|
+
frame: "border-danger/25 bg-danger/5"
|
|
37
41
|
}
|
|
38
|
-
},
|
|
42
|
+
}, y = {
|
|
39
43
|
small: {
|
|
40
|
-
root: "py-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
+
root: "py-8",
|
|
45
|
+
gap: "mb-3",
|
|
46
|
+
tile: "size-12 [&_svg]:size-6",
|
|
47
|
+
title: "text-lg",
|
|
48
|
+
text: "max-w-80 text-base",
|
|
49
|
+
actions: "mt-4"
|
|
44
50
|
},
|
|
45
51
|
normal: {
|
|
46
|
-
root: "py-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
52
|
+
root: "py-16",
|
|
53
|
+
gap: "mb-4",
|
|
54
|
+
tile: "size-16 [&_svg]:size-8",
|
|
55
|
+
title: "text-xl",
|
|
56
|
+
text: "max-w-md text-base",
|
|
57
|
+
actions: "mt-6"
|
|
50
58
|
},
|
|
51
59
|
large: {
|
|
52
|
-
root: "py-20
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
60
|
+
root: "py-20",
|
|
61
|
+
gap: "mb-5",
|
|
62
|
+
tile: "size-16 [&_svg]:size-8",
|
|
63
|
+
title: "text-2xl",
|
|
64
|
+
text: "max-w-120 text-lg",
|
|
65
|
+
actions: "mt-6"
|
|
56
66
|
}
|
|
57
|
-
},
|
|
67
|
+
}, b = e(() => v[_.variant]), x = e(() => y[_.size]), S = e(() => _.icon ?? b.value.glyph), C = e(() => _.title ? _.title : _.variant === "search" && _.query ? `No results for “${_.query}”` : b.value.title);
|
|
58
68
|
return (e, f) => (c(), r("div", {
|
|
59
|
-
class: s(["flex flex-col items-center
|
|
69
|
+
class: s(["flex flex-col items-center justify-center text-center", [x.value.root, o.framed ? ["rounded-16 border border-dashed px-6", b.value.frame] : "px-4"]]),
|
|
60
70
|
role: o.variant === "error" ? "alert" : void 0,
|
|
61
71
|
"data-ac-ds": "",
|
|
62
72
|
"data-testid": "ac-empty-state"
|
|
63
73
|
}, [
|
|
64
|
-
l(e.$slots, "icon", {}, () => [i("span", {
|
|
65
|
-
class: s(["inline-flex shrink-0 items-center justify-center
|
|
74
|
+
i("div", { class: s(["flex justify-center", x.value.gap]) }, [l(e.$slots, "icon", {}, () => [i("span", {
|
|
75
|
+
class: s(["inline-flex shrink-0 items-center justify-center rounded-16", [b.value.tile, x.value.tile]]),
|
|
66
76
|
"aria-hidden": "true"
|
|
67
|
-
}, [(c(), t(u(
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
+
}, [(c(), t(u(S.value)))], 2)])], 2),
|
|
78
|
+
o.code ? (c(), r("p", g, d(o.code), 1)) : n("", !0),
|
|
79
|
+
i("p", { class: s(["font-heading font-semibold tracking-tight text-balance text-heading", x.value.title]) }, d(C.value), 3),
|
|
80
|
+
o.description || e.$slots.default ? (c(), r("div", {
|
|
81
|
+
key: 1,
|
|
82
|
+
class: s(["mt-1.5 text-pretty text-muted [&_a]:font-medium [&_a]:text-primary-strong [&_a]:underline [&_a]:underline-offset-2", x.value.text])
|
|
83
|
+
}, [l(e.$slots, "default", {}, () => [a(d(o.description), 1)])], 2)) : n("", !0),
|
|
84
|
+
e.$slots.actions ? (c(), r("div", {
|
|
85
|
+
key: 2,
|
|
86
|
+
class: s(["flex flex-wrap items-center justify-center gap-3", x.value.actions])
|
|
87
|
+
}, [l(e.$slots, "actions")], 2)) : n("", !0)
|
|
77
88
|
], 10, h));
|
|
78
89
|
}
|
|
79
90
|
});
|
|
80
91
|
//#endregion
|
|
81
|
-
export {
|
|
92
|
+
export { _ as default };
|
|
@@ -83,10 +83,11 @@ var D = ["aria-hidden"], O = ["src", "alt"], k = ["id"], A = ["aria-describedby"
|
|
|
83
83
|
}
|
|
84
84
|
return (n, u) => (m(), r(g(l.selectable ? "label" : "div"), {
|
|
85
85
|
for: l.selectable ? `${v(V)}-input` : void 0,
|
|
86
|
-
class: p(["group relative flex min-w-0 flex-col rounded-
|
|
86
|
+
class: p(["group relative flex min-w-0 flex-col rounded-14 border border-border bg-surface p-5 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", [
|
|
87
87
|
l.centered && "items-center text-center",
|
|
88
|
-
W() && "cursor-pointer hover:border-
|
|
89
|
-
l.selectable && "
|
|
88
|
+
W() && !l.selectable && "cursor-pointer hover:-translate-y-0.5 hover:border-primary/30 hover:bg-accent-hover/60 hover:shadow-card motion-reduce:hover:translate-y-0",
|
|
89
|
+
l.selectable && !l.disabled && "cursor-pointer hover:border-primary/40 hover:bg-accent-hover",
|
|
90
|
+
l.selectable && "has-checked:border-primary has-checked:bg-primary/5 has-checked:shadow-[inset_0_0_0_1px_var(--color-primary)] has-focus-visible:ring-2 has-focus-visible:ring-ring has-focus-visible:ring-offset-2 has-focus-visible:ring-offset-surface",
|
|
90
91
|
l.disabled && "cursor-not-allowed opacity-60"
|
|
91
92
|
]]),
|
|
92
93
|
"data-ac-ds": "",
|
|
@@ -95,7 +96,7 @@ var D = ["aria-hidden"], O = ["src", "alt"], k = ["id"], A = ["aria-describedby"
|
|
|
95
96
|
default: S(() => [o("div", { class: p(["flex w-full min-w-0 gap-3", l.centered ? "flex-col items-center" : "items-start"]) }, [
|
|
96
97
|
n.$slots.icon || l.logo || l.icon ? (m(), a("span", {
|
|
97
98
|
key: 0,
|
|
98
|
-
class: p(["inline-flex shrink-0 items-center justify-center overflow-hidden
|
|
99
|
+
class: p(["inline-flex shrink-0 items-center justify-center overflow-hidden border", [l.centered ? "size-12 rounded-14" : "size-10 rounded-10", l.logo ? "border-border bg-surface-muted p-1.5" : "border-primary/25 bg-primary/10 text-primary-strong [&_svg]:size-5"]]),
|
|
99
100
|
"aria-hidden": l.logo && l.logoAlt ? void 0 : "true"
|
|
100
101
|
}, [h(n.$slots, "icon", {}, () => [l.logo ? (m(), a("img", {
|
|
101
102
|
key: 0,
|
|
@@ -107,14 +108,14 @@ var D = ["aria-hidden"], O = ["src", "alt"], k = ["id"], A = ["aria-describedby"
|
|
|
107
108
|
o("div", { class: p(["flex min-w-0 items-start gap-2", l.centered ? "justify-center" : "justify-between"]) }, [
|
|
108
109
|
o("div", { class: p(["flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1", l.centered && "justify-center"]) }, [o("h3", {
|
|
109
110
|
id: `${v(V)}-title`,
|
|
110
|
-
class: "min-w-0 text-lg leading-6 font-semibold tracking-
|
|
111
|
+
class: "min-w-0 font-heading text-lg leading-6 font-semibold tracking-tight text-heading"
|
|
111
112
|
}, [H.value ? (m(), r(g(H.value.is), f({ key: 0 }, {
|
|
112
113
|
...H.value,
|
|
113
114
|
is: void 0
|
|
114
115
|
}, {
|
|
115
116
|
"aria-describedby": l.description ? `${v(V)}-desc` : void 0,
|
|
116
117
|
"data-ac-card-link": "",
|
|
117
|
-
class: "outline-none after:absolute after:inset-0 after:rounded-
|
|
118
|
+
class: "outline-none after:absolute after:inset-0 after:rounded-14",
|
|
118
119
|
onClick: G
|
|
119
120
|
}), {
|
|
120
121
|
default: S(() => [s(_(l.title), 1)]),
|
|
@@ -124,7 +125,7 @@ var D = ["aria-hidden"], O = ["src", "alt"], k = ["id"], A = ["aria-describedby"
|
|
|
124
125
|
type: "button",
|
|
125
126
|
"aria-describedby": l.description ? `${v(V)}-desc` : void 0,
|
|
126
127
|
"data-ac-card-link": "",
|
|
127
|
-
class: "cursor-pointer text-left outline-none after:absolute after:inset-0 after:rounded-
|
|
128
|
+
class: "cursor-pointer text-left outline-none after:absolute after:inset-0 after:rounded-14",
|
|
128
129
|
onClick: G
|
|
129
130
|
}, _(l.title), 9, A)) : (m(), a(t, { key: 2 }, [s(_(l.title), 1)], 64))], 8, k), l.centered ? i("", !0) : (m(), a(t, { key: 0 }, [
|
|
130
131
|
h(n.$slots, "title-extra"),
|
|
@@ -154,14 +155,14 @@ var D = ["aria-hidden"], O = ["src", "alt"], k = ["id"], A = ["aria-describedby"
|
|
|
154
155
|
n.$slots.actions && !l.centered ? (m(), a("div", j, [h(n.$slots, "actions")])) : i("", !0),
|
|
155
156
|
!l.centered && (H.value || U()) ? (m(), r(g(l.target === "_blank" ? v(T) : v(w)), {
|
|
156
157
|
key: 1,
|
|
157
|
-
class: "mt-1 size-4 shrink-0 text-
|
|
158
|
+
class: "mt-1 size-4 shrink-0 text-muted transition-[color,transform] duration-200 group-hover:text-primary-strong motion-safe:group-hover:translate-x-0.5",
|
|
158
159
|
"aria-hidden": "true"
|
|
159
160
|
})) : i("", !0)
|
|
160
161
|
], 2),
|
|
161
162
|
l.description ? (m(), a("p", {
|
|
162
163
|
key: 0,
|
|
163
164
|
id: `${v(V)}-desc`,
|
|
164
|
-
class: "mt-1 line-clamp-3 text-base text-muted",
|
|
165
|
+
class: "mt-1 line-clamp-3 text-base leading-relaxed text-muted",
|
|
165
166
|
title: l.description
|
|
166
167
|
}, _(l.description), 9, M)) : i("", !0),
|
|
167
168
|
n.$slots.default ? (m(), a("div", N, [h(n.$slots, "default")])) : i("", !0),
|
|
@@ -192,7 +193,7 @@ var D = ["aria-hidden"], O = ["src", "alt"], k = ["id"], A = ["aria-describedby"
|
|
|
192
193
|
], 2),
|
|
193
194
|
l.selectable ? (m(), a("span", {
|
|
194
195
|
key: 1,
|
|
195
|
-
class: p(["relative inline-flex size-
|
|
196
|
+
class: p(["relative inline-flex size-5 shrink-0", l.centered ? "absolute! top-3 right-3" : "mt-0.5"])
|
|
196
197
|
}, [C(o("input", {
|
|
197
198
|
id: `${v(V)}-input`,
|
|
198
199
|
"onUpdate:modelValue": u[0] ||= (e) => L.value = e,
|
|
@@ -200,15 +201,15 @@ var D = ["aria-hidden"], O = ["src", "alt"], k = ["id"], A = ["aria-describedby"
|
|
|
200
201
|
disabled: l.disabled,
|
|
201
202
|
"aria-labelledby": `${v(V)}-title`,
|
|
202
203
|
"aria-describedby": l.description ? `${v(V)}-desc` : void 0,
|
|
203
|
-
class: "peer size-
|
|
204
|
+
class: "peer size-5 cursor-pointer appearance-none rounded-4 border border-muted/70 bg-surface transition-colors duration-200 outline-none checked:border-primary checked:bg-primary disabled:cursor-not-allowed disabled:bg-surface-sunken"
|
|
204
205
|
}, null, 8, F), [[x, L.value]]), c(v(E), {
|
|
205
|
-
class: "pointer-events-none absolute inset-0 m-auto size-
|
|
206
|
+
class: "pointer-events-none absolute inset-0 m-auto size-4 scale-75 text-white opacity-0 transition duration-150 peer-checked:scale-100 peer-checked:opacity-100 motion-reduce:transition-none",
|
|
206
207
|
"stroke-width": 3,
|
|
207
208
|
"aria-hidden": "true"
|
|
208
209
|
})], 2)) : i("", !0)
|
|
209
210
|
], 2), n.$slots.footer ? (m(), a("div", {
|
|
210
211
|
key: 0,
|
|
211
|
-
class: p(["mt-auto flex w-full min-w-0 flex-wrap items-center gap-x-3 gap-y-1 pt-
|
|
212
|
+
class: p(["mt-auto flex w-full min-w-0 flex-wrap items-center gap-x-3 gap-y-1 pt-4 text-xs text-muted", l.centered ? "justify-center" : "justify-between"])
|
|
212
213
|
}, [h(n.$slots, "footer")], 2)) : i("", !0)]),
|
|
213
214
|
_: 3
|
|
214
215
|
}, 8, ["for", "class"]));
|
|
@@ -13,10 +13,10 @@ var ye = ["aria-busy"], be = {
|
|
|
13
13
|
key: 0,
|
|
14
14
|
class: "flex h-full flex-col @2xl:flex-row"
|
|
15
15
|
}, xe = {
|
|
16
|
-
class: "hidden w-60 shrink-0 flex-col gap-1 border-r border-border
|
|
16
|
+
class: "hidden w-60 shrink-0 flex-col gap-1 border-r border-border bg-surface-muted p-2 @2xl:flex @4xl:w-72",
|
|
17
17
|
"aria-hidden": "true"
|
|
18
18
|
}, Se = { class: "flex min-w-0 flex-1 flex-col gap-1.5" }, Ce = {
|
|
19
|
-
class: "border-b border-border
|
|
19
|
+
class: "border-b border-border p-2 @2xl:hidden",
|
|
20
20
|
"aria-hidden": "true"
|
|
21
21
|
}, we = {
|
|
22
22
|
key: 1,
|
|
@@ -24,7 +24,7 @@ var ye = ["aria-busy"], be = {
|
|
|
24
24
|
}, Te = {
|
|
25
25
|
key: 2,
|
|
26
26
|
class: "flex h-full flex-col @2xl:flex-row"
|
|
27
|
-
}, Ee = { class: "hidden w-60 shrink-0 flex-col border-r border-border
|
|
27
|
+
}, Ee = { class: "hidden w-60 shrink-0 flex-col border-r border-border bg-surface-muted @2xl:flex @4xl:w-72" }, De = ["aria-label"], Oe = [
|
|
28
28
|
"aria-selected",
|
|
29
29
|
"tabindex",
|
|
30
30
|
"title",
|
|
@@ -43,10 +43,10 @@ var ye = ["aria-busy"], be = {
|
|
|
43
43
|
}, Pe = {
|
|
44
44
|
key: 2,
|
|
45
45
|
class: "min-h-0 flex-1 overflow-auto"
|
|
46
|
-
}, Fe = { class: "border-t border-border
|
|
46
|
+
}, Fe = { class: "border-t border-border px-4 py-2.5 text-xs text-muted" }, Ie = { class: "text-danger-strong" }, Le = { class: "border-b border-border bg-surface-muted p-2 @2xl:hidden" }, Re = ["aria-label"], ze = {
|
|
47
47
|
key: 0,
|
|
48
|
-
class: "border-b border-
|
|
49
|
-
}, Be = { class: "flex min-h-
|
|
48
|
+
class: "border-b border-warning/30 bg-warning/10 px-4 py-2 text-xs text-warning-strong"
|
|
49
|
+
}, Be = { class: "flex min-h-12 flex-wrap items-center gap-x-3 gap-y-1.5 border-b border-border bg-surface-muted px-4 py-2" }, Ve = { class: "min-w-0 truncate font-mono text-xs font-medium text-heading" }, He = { class: "inline-flex items-center gap-1 rounded-6 border border-border bg-surface px-1.5 text-xs leading-5 font-medium text-muted" }, Ue = { class: "ml-auto flex min-w-0 flex-wrap items-center justify-end gap-2" }, We = { class: "flex min-h-0 flex-1 items-center justify-center overflow-auto bg-background" }, Ge = ["aria-label"], Ke = /*@__PURE__*/ h({
|
|
50
50
|
__name: "AcFileEditor",
|
|
51
51
|
props: /*@__PURE__*/ g({
|
|
52
52
|
loading: {
|
|
@@ -346,7 +346,7 @@ var ye = ["aria-busy"], be = {
|
|
|
346
346
|
}), te(() => {
|
|
347
347
|
clearTimeout(Tt), clearTimeout($);
|
|
348
348
|
}), g({ focus: At }), (c, g) => (y(), d("div", {
|
|
349
|
-
class: "@container min-w-0 overflow-hidden rounded-10 border border-border bg-surface
|
|
349
|
+
class: "@container min-w-0 overflow-hidden rounded-10 border border-border bg-surface",
|
|
350
350
|
style: ee({ height: h.height }),
|
|
351
351
|
"aria-busy": h.loading || void 0,
|
|
352
352
|
"data-ac-ds": "",
|
|
@@ -386,7 +386,7 @@ var ye = ["aria-busy"], be = {
|
|
|
386
386
|
key: 0,
|
|
387
387
|
ref_key: "searchWrap",
|
|
388
388
|
ref: nt,
|
|
389
|
-
class: "border-b border-border
|
|
389
|
+
class: "border-b border-border p-2",
|
|
390
390
|
onKeydown: bt
|
|
391
391
|
}, [m(n, {
|
|
392
392
|
modelValue: k.value,
|
|
@@ -399,7 +399,7 @@ var ye = ["aria-busy"], be = {
|
|
|
399
399
|
role: "listbox",
|
|
400
400
|
"aria-label": h.label,
|
|
401
401
|
"aria-controls": tt,
|
|
402
|
-
class: "ac-scrollbar flex min-h-0 flex-1 flex-col gap-
|
|
402
|
+
class: "ac-scrollbar flex min-h-0 flex-1 flex-col gap-1 overflow-y-auto p-2"
|
|
403
403
|
}, [(y(!0), d(s, null, ne(z.value, (e, t) => (y(), d("li", {
|
|
404
404
|
key: e.name,
|
|
405
405
|
ref_for: !0,
|
|
@@ -408,18 +408,18 @@ var ye = ["aria-busy"], be = {
|
|
|
408
408
|
"aria-selected": e.name === O.value,
|
|
409
409
|
tabindex: e.name === B.value ? 0 : -1,
|
|
410
410
|
title: e.name,
|
|
411
|
-
class: v(["flex min-h-9 shrink-0 cursor-pointer items-center gap-2.5 rounded-
|
|
411
|
+
class: v(["group flex min-h-9 shrink-0 cursor-pointer items-center gap-2.5 rounded-10 border px-3 py-1.5 transition-[color,background-color,border-color,box-shadow] duration-200 outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset", e.name === O.value ? "border-primary/35 bg-primary/10 text-heading shadow-xs" : "border-transparent text-heading/80 hover:border-border hover:bg-accent-hover hover:text-heading"]),
|
|
412
412
|
onClick: (t) => Z(e.name, !0),
|
|
413
413
|
onKeydown: (e) => yt(e, t)
|
|
414
414
|
}, [
|
|
415
415
|
(y(), l(ie(ft(e)), {
|
|
416
|
-
class: v(["size-4 shrink-0", e.name === O.value ? "text-primary" : "text-muted"]),
|
|
416
|
+
class: v(["size-4 shrink-0", e.name === O.value ? "text-primary" : "text-muted group-hover:text-heading"]),
|
|
417
417
|
"aria-hidden": "true"
|
|
418
418
|
}, null, 8, ["class"])),
|
|
419
419
|
f("span", ke, [f("span", Ae, x(e.name), 1), Y(e) ? (y(), d("span", je, x(Y(e)), 1)) : u("", !0)]),
|
|
420
420
|
J(e).length ? (y(), d("span", {
|
|
421
421
|
key: 0,
|
|
422
|
-
class: v(["inline-flex shrink-0 items-center gap-1 text-xs font-medium tabular-nums", dt(e) ? "text-
|
|
422
|
+
class: v(["inline-flex shrink-0 items-center gap-1 text-xs font-medium tabular-nums", dt(e) ? "text-danger-strong" : "text-warning-strong"])
|
|
423
423
|
}, [(y(), l(ie(dt(e) ? S(se) : S(_e)), {
|
|
424
424
|
class: "size-3.5",
|
|
425
425
|
"aria-hidden": "true"
|
|
@@ -515,24 +515,24 @@ var ye = ["aria-busy"], be = {
|
|
|
515
515
|
h.downloadable && !U.value ? (y(), d("button", {
|
|
516
516
|
key: 1,
|
|
517
517
|
type: "button",
|
|
518
|
-
class: "inline-flex size-
|
|
518
|
+
class: "inline-flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-8 text-muted transition-colors duration-200 hover:bg-surface-sunken hover:text-heading focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
519
519
|
"aria-label": `Download ${V.value.file.name}`,
|
|
520
520
|
title: "Download",
|
|
521
521
|
"data-testid": "ac-file-editor-download",
|
|
522
522
|
onClick: Ct
|
|
523
523
|
}, [m(S(ce), {
|
|
524
|
-
class: "size-
|
|
524
|
+
class: "size-4",
|
|
525
525
|
"aria-hidden": "true"
|
|
526
526
|
})], 8, Ge)) : u("", !0),
|
|
527
527
|
V.value.file.secret ? (y(), d("button", {
|
|
528
528
|
key: 2,
|
|
529
529
|
type: "button",
|
|
530
|
-
class: "inline-flex size-
|
|
530
|
+
class: "inline-flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-8 text-muted transition-colors duration-200 hover:bg-surface-sunken hover:text-heading focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
531
531
|
"aria-label": "Hide value",
|
|
532
532
|
title: "Hide value",
|
|
533
533
|
onClick: g[3] ||= (e) => wt(!1)
|
|
534
534
|
}, [m(S(ue), {
|
|
535
|
-
class: "size-
|
|
535
|
+
class: "size-4",
|
|
536
536
|
"aria-hidden": "true"
|
|
537
537
|
})])) : u("", !0)
|
|
538
538
|
]),
|
|
@@ -15,7 +15,7 @@ export interface Props {
|
|
|
15
15
|
multiple?: boolean;
|
|
16
16
|
/** Largest allowed file in bytes, e.g. `1024 * 1024` for 1 MB. `0` means no limit. */
|
|
17
17
|
maxSize?: number;
|
|
18
|
-
/** Single-line field with a "Choose file" button instead of the drop zone. For tight forms. */
|
|
18
|
+
/** Single-line 40px field with a "Choose file" button instead of the drop zone. For tight forms. */
|
|
19
19
|
small?: boolean;
|
|
20
20
|
/** Line under the prompt. Defaults to the allowed types and size, e.g. ".yaml, .yml · up to 1 MB". */
|
|
21
21
|
description?: string;
|
|
@@ -27,7 +27,7 @@ export interface Props {
|
|
|
27
27
|
disabled?: boolean;
|
|
28
28
|
/** Error text under the field, e.g. from server-side validation. Type and size errors are shown automatically. */
|
|
29
29
|
errorMsg?: string;
|
|
30
|
-
/**
|
|
30
|
+
/** Help text between the label and the field. */
|
|
31
31
|
hint?: string;
|
|
32
32
|
}
|
|
33
33
|
type __VLS_Props = Props;
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import { Fragment as e, computed as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, createTextVNode as a, createVNode as o, defineComponent as s, mergeModels as c, nextTick as
|
|
1
|
+
import { Fragment as e, computed as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, createTextVNode as a, createVNode as o, defineComponent as s, mergeModels as c, nextTick as l, normalizeClass as u, openBlock as d, ref as f, renderList as ee, toDisplayString as p, unref as m, useId as h, useModel as g, withModifiers as _ } from "vue";
|
|
2
2
|
import { CircleAlert as v, FileText as y, Upload as b, X as x } from "@lucide/vue";
|
|
3
3
|
//#region src/lib/components/AcFileUpload.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
-
var
|
|
4
|
+
var te = ["id"], ne = {
|
|
5
5
|
key: 0,
|
|
6
6
|
class: "text-danger",
|
|
7
7
|
"aria-hidden": "true"
|
|
8
|
-
},
|
|
8
|
+
}, re = ["id"], S = [
|
|
9
9
|
"id",
|
|
10
10
|
"name",
|
|
11
11
|
"accept",
|
|
12
12
|
"multiple",
|
|
13
13
|
"disabled"
|
|
14
|
-
],
|
|
14
|
+
], ie = [
|
|
15
15
|
"disabled",
|
|
16
16
|
"aria-describedby",
|
|
17
17
|
"aria-label"
|
|
18
|
-
],
|
|
18
|
+
], ae = ["title"], C = ["aria-label"], oe = { class: "pointer-events-none text-base text-heading" }, w = { class: "font-medium" }, T = {
|
|
19
19
|
key: 0,
|
|
20
20
|
class: "text-muted"
|
|
21
|
-
},
|
|
21
|
+
}, E = [
|
|
22
22
|
"disabled",
|
|
23
23
|
"aria-describedby",
|
|
24
24
|
"aria-label"
|
|
25
|
-
],
|
|
25
|
+
], D = {
|
|
26
26
|
key: 0,
|
|
27
27
|
class: "pointer-events-none -mt-1 text-xs text-muted"
|
|
28
|
-
},
|
|
28
|
+
}, O = ["id"], se = ["aria-label"], ce = ["title"], le = { class: "shrink-0 text-xs text-muted tabular-nums" }, ue = [
|
|
29
29
|
"aria-label",
|
|
30
30
|
"disabled",
|
|
31
31
|
"onClick"
|
|
@@ -68,10 +68,10 @@ var S = ["id"], te = {
|
|
|
68
68
|
"reject"
|
|
69
69
|
], ["update:modelValue"]),
|
|
70
70
|
setup(s, { expose: c, emit: k }) {
|
|
71
|
-
let A = s, j = g(s, "modelValue"), M = k, N = h(), P =
|
|
71
|
+
let A = s, j = g(s, "modelValue"), M = k, N = h(), P = f(null), F = f(null), I = f(null), L = f(0), R = f([]), z = f(""), B = t(() => L.value > 0), V = t(() => A.accept.split(",").map((e) => e.trim().toLowerCase()).filter(Boolean)), fe = t(() => {
|
|
72
72
|
let e = [];
|
|
73
73
|
return V.value.length && e.push(V.value.join(", ")), A.maxSize && e.push(`up to ${q(A.maxSize)}`), e.join(" · ");
|
|
74
|
-
}), H = t(() => A.description || fe.value), U = t(() => R.value.map((e) => e.message).join(" ")), W = t(() => A.errorMsg || U.value), G = t(() =>
|
|
74
|
+
}), H = t(() => A.description || fe.value), U = t(() => R.value.map((e) => e.message).join(" ")), W = t(() => A.errorMsg || U.value), G = t(() => [A.hint && `${N}-hint`, W.value && `${N}-msg`].filter(Boolean).join(" ") || void 0), K = t(() => j.value.length ? j.value.length === 1 ? j.value[0].name : `${j.value.length} files` : "");
|
|
75
75
|
function q(e) {
|
|
76
76
|
if (e < 1024) return `${e} B`;
|
|
77
77
|
let t = [
|
|
@@ -131,7 +131,7 @@ var S = ["id"], te = {
|
|
|
131
131
|
async function ge(e) {
|
|
132
132
|
let t = j.value[e];
|
|
133
133
|
if (!t || A.disabled) return;
|
|
134
|
-
j.value = j.value.filter((t, n) => n !== e), R.value = [], M("remove", t), z.value = `${t.name} removed.`, await
|
|
134
|
+
j.value = j.value.filter((t, n) => n !== e), R.value = [], M("remove", t), z.value = `${t.name} removed.`, await l();
|
|
135
135
|
let n = I.value?.querySelectorAll("button");
|
|
136
136
|
(n?.[Math.min(e, n.length - 1)] ?? F.value)?.focus();
|
|
137
137
|
}
|
|
@@ -139,16 +139,21 @@ var S = ["id"], te = {
|
|
|
139
139
|
let e = [...j.value];
|
|
140
140
|
j.value = [], R.value = [], e.forEach((e) => M("remove", e)), z.value = "File removed.", F.value?.focus();
|
|
141
141
|
}
|
|
142
|
-
return c({ open: Y }), (t, c) => (
|
|
143
|
-
class:
|
|
142
|
+
return c({ open: Y }), (t, c) => (d(), r("div", {
|
|
143
|
+
class: u(["w-full", s.disabled && "opacity-50"]),
|
|
144
144
|
"data-ac-ds": "",
|
|
145
145
|
"data-testid": "ac-file-upload"
|
|
146
146
|
}, [
|
|
147
|
-
s.label ? (
|
|
147
|
+
s.label ? (d(), r("p", {
|
|
148
148
|
key: 0,
|
|
149
149
|
id: `${m(N)}-label`,
|
|
150
|
-
class: "mb-1
|
|
151
|
-
}, [
|
|
150
|
+
class: "mb-2 flex items-center gap-1 text-base font-medium text-heading"
|
|
151
|
+
}, [i("span", null, p(s.label), 1), s.required ? (d(), r("span", ne, "*")) : n("", !0)], 8, te)) : n("", !0),
|
|
152
|
+
s.hint ? (d(), r("p", {
|
|
153
|
+
key: 1,
|
|
154
|
+
id: `${m(N)}-hint`,
|
|
155
|
+
class: "mb-2 text-base text-muted"
|
|
156
|
+
}, p(s.hint), 9, re)) : n("", !0),
|
|
152
157
|
i("input", {
|
|
153
158
|
id: `${m(N)}-input`,
|
|
154
159
|
ref_key: "input",
|
|
@@ -162,10 +167,10 @@ var S = ["id"], te = {
|
|
|
162
167
|
multiple: s.multiple,
|
|
163
168
|
disabled: s.disabled,
|
|
164
169
|
onChange: he
|
|
165
|
-
}, null, 40,
|
|
166
|
-
s.small ? (
|
|
167
|
-
key:
|
|
168
|
-
class:
|
|
170
|
+
}, null, 40, S),
|
|
171
|
+
s.small ? (d(), r("div", {
|
|
172
|
+
key: 2,
|
|
173
|
+
class: u(["flex h-10 w-full items-center rounded-10 border transition-[border-color,box-shadow,background-color] duration-200", [s.disabled ? "cursor-not-allowed bg-surface-muted" : "bg-background", W.value ? "border-danger/60" : B.value ? "focus-ring" : ["border-border focus-within:focus-ring", !s.disabled && "hover:border-accent-active"]]]),
|
|
169
174
|
onDragenter: X,
|
|
170
175
|
onDragover: Z,
|
|
171
176
|
onDragleave: Q,
|
|
@@ -175,32 +180,32 @@ var S = ["id"], te = {
|
|
|
175
180
|
ref_key: "browseButton",
|
|
176
181
|
ref: F,
|
|
177
182
|
type: "button",
|
|
178
|
-
class: "ml-1 inline-flex h-
|
|
183
|
+
class: "ml-1 inline-flex h-8 shrink-0 cursor-pointer items-center gap-1.5 rounded-8 border border-border bg-surface px-3 text-base font-medium text-heading transition-colors duration-200 hover:bg-surface-sunken/70 focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none disabled:cursor-not-allowed disabled:hover:bg-surface",
|
|
179
184
|
disabled: s.disabled,
|
|
180
185
|
"aria-describedby": G.value,
|
|
181
186
|
"aria-label": s.label ? `${s.multiple ? "Choose files" : "Choose file"} for ${s.label}` : void 0,
|
|
182
187
|
onClick: Y
|
|
183
188
|
}, [o(m(b), {
|
|
184
|
-
class: "size-
|
|
189
|
+
class: "size-4 text-muted",
|
|
185
190
|
"aria-hidden": "true"
|
|
186
|
-
}), a(" " + p(s.multiple ? "Choose files" : "Choose file"), 1)], 8,
|
|
191
|
+
}), a(" " + p(s.multiple ? "Choose files" : "Choose file"), 1)], 8, ie),
|
|
187
192
|
i("span", {
|
|
188
|
-
class:
|
|
193
|
+
class: u(["min-w-0 flex-1 truncate px-3 text-base", K.value ? "text-heading" : "text-muted/80"]),
|
|
189
194
|
title: j.value.map((e) => e.name).join(", ")
|
|
190
|
-
}, p(K.value || (s.multiple ? "No files chosen" : "No file chosen")), 11,
|
|
191
|
-
j.value.length && !s.disabled ? (
|
|
195
|
+
}, p(K.value || (s.multiple ? "No files chosen" : "No file chosen")), 11, ae),
|
|
196
|
+
j.value.length && !s.disabled ? (d(), r("button", {
|
|
192
197
|
key: 0,
|
|
193
198
|
type: "button",
|
|
194
|
-
class: "mr-1.5 inline-flex size-
|
|
199
|
+
class: "mr-1.5 inline-flex size-7 shrink-0 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",
|
|
195
200
|
"aria-label": j.value.length === 1 ? `Remove ${j.value[0].name}` : "Remove all files",
|
|
196
201
|
onClick: _e
|
|
197
202
|
}, [o(m(x), {
|
|
198
|
-
class: "size-
|
|
203
|
+
class: "size-4",
|
|
199
204
|
"aria-hidden": "true"
|
|
200
|
-
})], 8,
|
|
201
|
-
], 34)) : (
|
|
202
|
-
key:
|
|
203
|
-
class:
|
|
205
|
+
})], 8, C)) : n("", !0)
|
|
206
|
+
], 34)) : (d(), r("div", {
|
|
207
|
+
key: 3,
|
|
208
|
+
class: u(["flex flex-col items-center justify-center gap-3 rounded-10 border-2 border-dashed px-6 py-7 text-center transition-colors duration-200", [s.disabled ? "cursor-not-allowed border-border bg-surface-muted" : "cursor-pointer", !s.disabled && (B.value ? "border-primary bg-primary/5" : W.value ? "border-danger/50 bg-danger/5" : "border-border bg-surface hover:border-primary/50 hover:bg-primary/3")]]),
|
|
204
209
|
onClick: _(Y, ["self"]),
|
|
205
210
|
onDragenter: X,
|
|
206
211
|
onDragover: Z,
|
|
@@ -208,43 +213,40 @@ var S = ["id"], te = {
|
|
|
208
213
|
onDrop: $
|
|
209
214
|
}, [
|
|
210
215
|
i("span", {
|
|
211
|
-
class:
|
|
216
|
+
class: u(["pointer-events-none inline-flex size-10 items-center justify-center rounded-10 transition-colors duration-200", B.value ? "bg-primary/10 text-primary-strong" : "bg-surface-sunken text-muted"]),
|
|
212
217
|
"aria-hidden": "true"
|
|
213
|
-
}, [o(m(b), { class: "size-
|
|
214
|
-
i("p",
|
|
218
|
+
}, [o(m(b), { class: "size-5" })], 2),
|
|
219
|
+
i("p", oe, [i("span", w, p(B.value ? "Drop to upload" : s.multiple ? "Drag and drop files here" : "Drag and drop a file here"), 1), B.value ? n("", !0) : (d(), r("span", T, " or"))]),
|
|
215
220
|
i("button", {
|
|
216
221
|
ref_key: "browseButton",
|
|
217
222
|
ref: F,
|
|
218
223
|
type: "button",
|
|
219
|
-
class: "inline-flex h-8 cursor-pointer items-center gap-2 rounded-
|
|
224
|
+
class: "inline-flex h-8 cursor-pointer items-center gap-2 rounded-10 border border-border bg-surface px-3 text-base font-medium text-heading transition-[color,background-color,border-color,box-shadow,transform] duration-200 hover:bg-surface-sunken/70 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-surface focus-visible:outline-none active:translate-y-px disabled:cursor-not-allowed disabled:hover:bg-surface",
|
|
220
225
|
disabled: s.disabled,
|
|
221
226
|
"aria-describedby": G.value,
|
|
222
227
|
"aria-label": s.label ? `Browse files for ${s.label}` : void 0,
|
|
223
228
|
onClick: Y
|
|
224
|
-
}, " Browse files ", 8,
|
|
225
|
-
H.value ? (
|
|
229
|
+
}, " Browse files ", 8, E),
|
|
230
|
+
H.value ? (d(), r("p", D, p(H.value), 1)) : n("", !0)
|
|
226
231
|
], 34)),
|
|
227
|
-
W.value ? (
|
|
228
|
-
key:
|
|
232
|
+
W.value ? (d(), r("p", {
|
|
233
|
+
key: 4,
|
|
229
234
|
id: `${m(N)}-msg`,
|
|
230
|
-
class: "mt-1.5 flex items-start gap-1 text-
|
|
235
|
+
class: "mt-1.5 flex items-start gap-1.5 text-base text-danger-strong",
|
|
236
|
+
role: "alert"
|
|
231
237
|
}, [o(m(v), {
|
|
232
|
-
class: "mt-
|
|
238
|
+
class: "mt-0.5 size-4 shrink-0",
|
|
233
239
|
"aria-hidden": "true"
|
|
234
|
-
}), a(" " + p(W.value), 1)], 8,
|
|
235
|
-
|
|
236
|
-
id: `${m(N)}-msg`,
|
|
237
|
-
class: "mt-1.5 text-xs text-muted"
|
|
238
|
-
}, p(s.hint), 9, O)) : n("", !0),
|
|
239
|
-
!s.small && j.value.length ? (u(), r("ul", {
|
|
240
|
+
}), a(" " + p(W.value), 1)], 8, O)) : n("", !0),
|
|
241
|
+
!s.small && j.value.length ? (d(), r("ul", {
|
|
240
242
|
key: 5,
|
|
241
243
|
ref_key: "list",
|
|
242
244
|
ref: I,
|
|
243
|
-
class: "mt-3 divide-y divide-border
|
|
245
|
+
class: "mt-3 divide-y divide-border overflow-hidden rounded-10 border border-border bg-surface",
|
|
244
246
|
"aria-label": s.label ? `${s.label} files` : "Chosen files"
|
|
245
|
-
}, [(
|
|
247
|
+
}, [(d(!0), r(e, null, ee(j.value, (e, t) => (d(), r("li", {
|
|
246
248
|
key: `${e.name}-${e.size}-${e.lastModified}`,
|
|
247
|
-
class: "flex items-center gap-3 py-2 pr-2 pl-
|
|
249
|
+
class: "flex items-center gap-3 py-2 pr-2 pl-4"
|
|
248
250
|
}, [
|
|
249
251
|
o(m(y), {
|
|
250
252
|
class: "size-4 shrink-0 text-muted",
|
|
@@ -257,12 +259,12 @@ var S = ["id"], te = {
|
|
|
257
259
|
i("span", le, p(q(e.size)), 1),
|
|
258
260
|
i("button", {
|
|
259
261
|
type: "button",
|
|
260
|
-
class: "inline-flex size-
|
|
262
|
+
class: "inline-flex size-7 shrink-0 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-inset focus-visible:ring-ring focus-visible:outline-none disabled:cursor-not-allowed",
|
|
261
263
|
"aria-label": `Remove ${e.name}`,
|
|
262
264
|
disabled: s.disabled,
|
|
263
265
|
onClick: (e) => ge(t)
|
|
264
266
|
}, [o(m(x), {
|
|
265
|
-
class: "size-
|
|
267
|
+
class: "size-4",
|
|
266
268
|
"aria-hidden": "true"
|
|
267
269
|
})], 8, ue)
|
|
268
270
|
]))), 128))], 8, se)) : n("", !0),
|
|
@@ -4,7 +4,7 @@ import { Fragment as n, createElementBlock as r, createElementVNode as i, define
|
|
|
4
4
|
var d = {
|
|
5
5
|
role: "radiogroup",
|
|
6
6
|
"aria-label": "Text size",
|
|
7
|
-
class: "inline-flex items-center gap-
|
|
7
|
+
class: "inline-flex items-center gap-1 rounded-10 bg-surface-sunken p-1",
|
|
8
8
|
"data-ac-ds": "",
|
|
9
9
|
"data-testid": "ac-font-scale"
|
|
10
10
|
}, f = [
|
|
@@ -52,7 +52,7 @@ var d = {
|
|
|
52
52
|
"aria-checked": u(y) === e.value,
|
|
53
53
|
"aria-label": a.display === "icons" ? `${e.label} text` : void 0,
|
|
54
54
|
title: a.display === "icons" ? `${e.label} text` : void 0,
|
|
55
|
-
class: o(["inline-flex h-
|
|
55
|
+
class: o(["inline-flex h-7 cursor-pointer items-center justify-center gap-1.5 rounded-8 text-base font-medium transition-[background-color,color,box-shadow] duration-200 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset focus-visible:outline-none", [a.display === "icons" ? "w-7" : "px-3", u(y) === e.value ? "bg-surface text-heading shadow-sm" : "text-muted hover:text-heading"]]),
|
|
56
56
|
onClick: (t) => x(e.value)
|
|
57
57
|
}, [a.display === "icons" ? (s(), r("span", {
|
|
58
58
|
key: 0,
|