@ac-design/design-system 1.0.3 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/README.md +27 -18
  2. package/dist/lib/charts/ChartFrame.js +5 -0
  3. package/dist/lib/charts/ChartFrame.vue.d.ts +71 -0
  4. package/dist/lib/charts/ChartFrame.vue_vue_type_script_setup_true_lang.js +173 -0
  5. package/dist/lib/charts/cartesian.d.ts +324 -0
  6. package/dist/lib/charts/cartesian.js +137 -0
  7. package/dist/lib/charts/echarts.d.ts +86 -0
  8. package/dist/lib/charts/echarts.js +173 -0
  9. package/dist/lib/charts/graph.d.ts +77 -0
  10. package/dist/lib/charts/graph.js +155 -0
  11. package/dist/lib/charts/index.d.ts +11 -0
  12. package/dist/lib/charts/index.js +7 -0
  13. package/dist/lib/charts/shared.d.ts +53 -0
  14. package/dist/lib/charts/shared.js +96 -0
  15. package/dist/lib/charts/xy.d.ts +69 -0
  16. package/dist/lib/charts/xy.js +73 -0
  17. package/dist/lib/compat.css +2770 -1061
  18. package/dist/lib/components/AcAccordion.vue_vue_type_script_setup_true_lang.js +2 -2
  19. package/dist/lib/components/AcAccordionItem.vue.d.ts +1 -1
  20. package/dist/lib/components/AcAccordionItem.vue_vue_type_script_setup_true_lang.js +5 -5
  21. package/dist/lib/components/AcAlert.vue.d.ts +10 -1
  22. package/dist/lib/components/AcAlert.vue_vue_type_script_setup_true_lang.js +139 -45
  23. package/dist/lib/components/AcAppSwitcher.vue_vue_type_script_setup_true_lang.js +19 -19
  24. package/dist/lib/components/AcAreaChart.js +5 -0
  25. package/dist/lib/components/AcAreaChart.vue.d.ts +47 -0
  26. package/dist/lib/components/AcAreaChart.vue_vue_type_script_setup_true_lang.js +205 -0
  27. package/dist/lib/components/AcAvatar.vue.d.ts +7 -4
  28. package/dist/lib/components/AcAvatar.vue_vue_type_script_setup_true_lang.js +66 -61
  29. package/dist/lib/components/AcBadge.vue.d.ts +20 -7
  30. package/dist/lib/components/AcBadge.vue_vue_type_script_setup_true_lang.js +67 -44
  31. package/dist/lib/components/AcBanner.vue.d.ts +1 -1
  32. package/dist/lib/components/AcBanner.vue_vue_type_script_setup_true_lang.js +30 -30
  33. package/dist/lib/components/AcBarChart.js +5 -0
  34. package/dist/lib/components/AcBarChart.vue.d.ts +46 -0
  35. package/dist/lib/components/AcBarChart.vue_vue_type_script_setup_true_lang.js +213 -0
  36. package/dist/lib/components/AcBreadcrumb.vue.d.ts +4 -1
  37. package/dist/lib/components/AcBreadcrumb.vue_vue_type_script_setup_true_lang.js +36 -34
  38. package/dist/lib/components/AcBulkActionBar.js +5 -0
  39. package/dist/lib/components/AcBulkActionBar.vue.d.ts +45 -0
  40. package/dist/lib/components/AcBulkActionBar.vue_vue_type_script_setup_true_lang.js +84 -0
  41. package/dist/lib/components/AcButton.vue.d.ts +13 -7
  42. package/dist/lib/components/AcButton.vue_vue_type_script_setup_true_lang.js +93 -47
  43. package/dist/lib/components/AcButtons.vue_vue_type_script_setup_true_lang.js +1 -1
  44. package/dist/lib/components/AcCard.vue.d.ts +42 -3
  45. package/dist/lib/components/AcCard.vue_vue_type_script_setup_true_lang.js +175 -14
  46. package/dist/lib/components/AcCellValue.vue.d.ts +6 -3
  47. package/dist/lib/components/AcCellValue.vue_vue_type_script_setup_true_lang.js +219 -178
  48. package/dist/lib/components/AcCheckBox.vue.d.ts +17 -3
  49. package/dist/lib/components/AcCheckBox.vue_vue_type_script_setup_true_lang.js +113 -30
  50. package/dist/lib/components/AcCheckList.js +5 -0
  51. package/dist/lib/components/AcCheckList.vue.d.ts +45 -0
  52. package/dist/lib/components/AcCheckList.vue_vue_type_script_setup_true_lang.js +64 -0
  53. package/dist/lib/components/AcCheckRadio.vue.d.ts +30 -5
  54. package/dist/lib/components/AcCheckRadio.vue_vue_type_script_setup_true_lang.js +102 -26
  55. package/dist/lib/components/AcCircularProgress.js +5 -0
  56. package/dist/lib/components/AcCircularProgress.vue.d.ts +44 -0
  57. package/dist/lib/components/AcCircularProgress.vue_vue_type_script_setup_true_lang.js +114 -0
  58. package/dist/lib/components/AcClusterSwitcher.vue_vue_type_script_setup_true_lang.js +142 -167
  59. package/dist/lib/components/AcCodeEditor.vue_vue_type_script_setup_true_lang.js +9 -9
  60. package/dist/lib/components/AcColorInput.js +5 -0
  61. package/dist/lib/components/AcColorInput.vue.d.ts +57 -0
  62. package/dist/lib/components/AcColorInput.vue_vue_type_script_setup_true_lang.js +217 -0
  63. package/dist/lib/components/AcCommandBlock.js +5 -0
  64. package/dist/lib/components/AcCommandBlock.vue.d.ts +34 -0
  65. package/dist/lib/components/AcCommandBlock.vue_vue_type_script_setup_true_lang.js +88 -0
  66. package/dist/lib/components/AcConfirmModal.js +5 -0
  67. package/dist/lib/components/AcConfirmModal.vue.d.ts +56 -0
  68. package/dist/lib/components/AcConfirmModal.vue_vue_type_script_setup_true_lang.js +96 -0
  69. package/dist/lib/components/AcContentHeader.vue.d.ts +1 -1
  70. package/dist/lib/components/AcContentHeader.vue_vue_type_script_setup_true_lang.js +5 -4
  71. package/dist/lib/components/AcContentLayout.vue_vue_type_script_setup_true_lang.js +2 -2
  72. package/dist/lib/components/AcCopyButton.js +5 -0
  73. package/dist/lib/components/AcCopyButton.vue.d.ts +43 -0
  74. package/dist/lib/components/AcCopyButton.vue_vue_type_script_setup_true_lang.js +92 -0
  75. package/dist/lib/components/AcCostSummary.js +5 -0
  76. package/dist/lib/components/AcCostSummary.vue.d.ts +102 -0
  77. package/dist/lib/components/AcCostSummary.vue_vue_type_script_setup_true_lang.js +179 -0
  78. package/dist/lib/components/AcDatePicker.vue.d.ts +8 -8
  79. package/dist/lib/components/AcDatePicker.vue_vue_type_script_setup_true_lang.js +634 -417
  80. package/dist/lib/components/AcDeleteModal.vue.d.ts +4 -4
  81. package/dist/lib/components/AcDeleteModal.vue_vue_type_script_setup_true_lang.js +57 -60
  82. package/dist/lib/components/AcDonutChart.js +5 -0
  83. package/dist/lib/components/AcDonutChart.vue.d.ts +83 -0
  84. package/dist/lib/components/AcDonutChart.vue_vue_type_script_setup_true_lang.js +237 -0
  85. package/dist/lib/components/AcDropdown.vue.d.ts +5 -2
  86. package/dist/lib/components/AcDropdown.vue_vue_type_script_setup_true_lang.js +91 -78
  87. package/dist/lib/components/AcDropdownDivider.vue_vue_type_script_setup_true_lang.js +11 -10
  88. package/dist/lib/components/AcDropdownItem.vue.d.ts +2 -2
  89. package/dist/lib/components/AcDropdownItem.vue_vue_type_script_setup_true_lang.js +18 -18
  90. package/dist/lib/components/AcEmptyState.vue.d.ts +4 -1
  91. package/dist/lib/components/AcEmptyState.vue_vue_type_script_setup_true_lang.js +50 -39
  92. package/dist/lib/components/AcErrorState.js +5 -0
  93. package/dist/lib/components/AcErrorState.vue.d.ts +46 -0
  94. package/dist/lib/components/AcErrorState.vue_vue_type_script_setup_true_lang.js +66 -0
  95. package/dist/lib/components/AcFeatureCard.vue.d.ts +6 -0
  96. package/dist/lib/components/AcFeatureCard.vue_vue_type_script_setup_true_lang.js +139 -116
  97. package/dist/lib/components/AcFileEditor.vue_vue_type_script_setup_true_lang.js +16 -16
  98. package/dist/lib/components/AcFileUpload.vue.d.ts +2 -2
  99. package/dist/lib/components/AcFileUpload.vue_vue_type_script_setup_true_lang.js +55 -53
  100. package/dist/lib/components/AcFontScale.vue_vue_type_script_setup_true_lang.js +2 -2
  101. package/dist/lib/components/AcFooter.js +5 -0
  102. package/dist/lib/components/AcFooter.vue.d.ts +37 -0
  103. package/dist/lib/components/AcFooter.vue_vue_type_script_setup_true_lang.js +107 -0
  104. package/dist/lib/components/AcForm.vue.d.ts +3 -0
  105. package/dist/lib/components/AcForm.vue_vue_type_script_setup_true_lang.js +4 -2
  106. package/dist/lib/components/AcFormArray.vue.d.ts +2 -2
  107. package/dist/lib/components/AcFormArray.vue_vue_type_script_setup_true_lang.js +149 -147
  108. package/dist/lib/components/AcFormFooter.vue.d.ts +3 -3
  109. package/dist/lib/components/AcFormFooter.vue_vue_type_script_setup_true_lang.js +2 -2
  110. package/dist/lib/components/AcFormSection.vue.d.ts +8 -1
  111. package/dist/lib/components/AcFormSection.vue_vue_type_script_setup_true_lang.js +31 -21
  112. package/dist/lib/components/AcGraphChart.js +5 -0
  113. package/dist/lib/components/AcGraphChart.vue.d.ts +124 -0
  114. package/dist/lib/components/AcGraphChart.vue_vue_type_script_setup_true_lang.js +578 -0
  115. package/dist/lib/components/AcHeader.vue.d.ts +20 -5
  116. package/dist/lib/components/AcHeader.vue_vue_type_script_setup_true_lang.js +82 -28
  117. package/dist/lib/components/AcInfoTable.vue.d.ts +1 -1
  118. package/dist/lib/components/AcInfoTable.vue_vue_type_script_setup_true_lang.js +17 -13
  119. package/dist/lib/components/AcInput.vue.d.ts +4 -4
  120. package/dist/lib/components/AcInput.vue_vue_type_script_setup_true_lang.js +99 -91
  121. package/dist/lib/components/AcKbd.vue_vue_type_script_setup_true_lang.js +1 -1
  122. package/dist/lib/components/AcKeyValueInput.js +5 -0
  123. package/dist/lib/components/AcKeyValueInput.vue.d.ts +114 -0
  124. package/dist/lib/components/AcKeyValueInput.vue_vue_type_script_setup_true_lang.js +336 -0
  125. package/dist/lib/components/AcLineChart.js +5 -0
  126. package/dist/lib/components/AcLineChart.vue.d.ts +44 -0
  127. package/dist/lib/components/AcLineChart.vue_vue_type_script_setup_true_lang.js +175 -0
  128. package/dist/lib/components/AcLoader.js +5 -0
  129. package/dist/lib/components/AcLoader.vue.d.ts +15 -0
  130. package/dist/lib/components/AcLoader.vue_vue_type_script_setup_true_lang.js +66 -0
  131. package/dist/lib/components/AcLocaleSwitcher.js +5 -0
  132. package/dist/lib/components/AcLocaleSwitcher.vue.d.ts +48 -0
  133. package/dist/lib/components/AcLocaleSwitcher.vue_vue_type_script_setup_true_lang.js +111 -0
  134. package/dist/lib/components/AcMapChart.js +5 -0
  135. package/dist/lib/components/AcMapChart.vue.d.ts +136 -0
  136. package/dist/lib/components/AcMapChart.vue_vue_type_script_setup_true_lang.js +518 -0
  137. package/dist/lib/components/AcModal.vue.d.ts +6 -3
  138. package/dist/lib/components/AcModal.vue_vue_type_script_setup_true_lang.js +88 -64
  139. package/dist/lib/components/AcNavbar.vue.d.ts +8 -5
  140. package/dist/lib/components/AcNavbar.vue_vue_type_script_setup_true_lang.js +29 -21
  141. package/dist/lib/components/AcNavbarItem.vue.d.ts +2 -2
  142. package/dist/lib/components/AcNavbarItem.vue_vue_type_script_setup_true_lang.js +23 -24
  143. package/dist/lib/components/AcNotificationMenu.vue.d.ts +3 -3
  144. package/dist/lib/components/AcNotificationMenu.vue_vue_type_script_setup_true_lang.js +139 -174
  145. package/dist/lib/components/AcNumberInput.js +5 -0
  146. package/dist/lib/components/AcNumberInput.vue.d.ts +79 -0
  147. package/dist/lib/components/AcNumberInput.vue_vue_type_script_setup_true_lang.js +241 -0
  148. package/dist/lib/components/AcPage.vue.d.ts +2 -2
  149. package/dist/lib/components/AcPage.vue_vue_type_script_setup_true_lang.js +2 -2
  150. package/dist/lib/components/AcPagination.vue.d.ts +22 -5
  151. package/dist/lib/components/AcPagination.vue_vue_type_script_setup_true_lang.js +87 -56
  152. package/dist/lib/components/AcPreloader.vue.d.ts +3 -3
  153. package/dist/lib/components/AcPreloader.vue_vue_type_script_setup_true_lang.js +15 -16
  154. package/dist/lib/components/AcProductHero.js +5 -0
  155. package/dist/lib/components/AcProductHero.vue.d.ts +56 -0
  156. package/dist/lib/components/AcProductHero.vue_vue_type_script_setup_true_lang.js +95 -0
  157. package/dist/lib/components/AcProgress.vue.d.ts +19 -4
  158. package/dist/lib/components/AcProgress.vue_vue_type_script_setup_true_lang.js +85 -31
  159. package/dist/lib/components/AcResourceCard.vue.d.ts +3 -3
  160. package/dist/lib/components/AcResourceCard.vue_vue_type_script_setup_true_lang.js +17 -17
  161. package/dist/lib/components/AcSearchBar.vue.d.ts +1 -1
  162. package/dist/lib/components/AcSearchBar.vue_vue_type_script_setup_true_lang.js +14 -9
  163. package/dist/lib/components/AcSectionContent.vue.d.ts +2 -2
  164. package/dist/lib/components/AcSectionContent.vue_vue_type_script_setup_true_lang.js +8 -8
  165. package/dist/lib/components/AcSegmentedControl.vue.d.ts +1 -1
  166. package/dist/lib/components/AcSegmentedControl.vue_vue_type_script_setup_true_lang.js +4 -4
  167. package/dist/lib/components/AcSelect.vue.d.ts +6 -6
  168. package/dist/lib/components/AcSelect.vue_vue_type_script_setup_true_lang.js +246 -254
  169. package/dist/lib/components/AcSettingsRow.js +5 -0
  170. package/dist/lib/components/AcSettingsRow.vue.d.ts +29 -0
  171. package/dist/lib/components/AcSettingsRow.vue_vue_type_script_setup_true_lang.js +37 -0
  172. package/dist/lib/components/AcSidePanel.vue_vue_type_script_setup_true_lang.js +32 -32
  173. package/dist/lib/components/AcSideTabs.vue.d.ts +2 -2
  174. package/dist/lib/components/AcSideTabs.vue_vue_type_script_setup_true_lang.js +37 -37
  175. package/dist/lib/components/AcSidebar.vue.d.ts +6 -3
  176. package/dist/lib/components/AcSidebar.vue_vue_type_script_setup_true_lang.js +67 -57
  177. package/dist/lib/components/AcSidebarItem.vue.d.ts +1 -1
  178. package/dist/lib/components/AcSidebarItem.vue_vue_type_script_setup_true_lang.js +46 -45
  179. package/dist/lib/components/AcSidebarSection.vue.d.ts +2 -2
  180. package/dist/lib/components/AcSidebarSection.vue_vue_type_script_setup_true_lang.js +23 -18
  181. package/dist/lib/components/AcSkeleton.vue_vue_type_script_setup_true_lang.js +8 -8
  182. package/dist/lib/components/AcSlider.vue.d.ts +1 -1
  183. package/dist/lib/components/AcSlider.vue_vue_type_script_setup_true_lang.js +174 -172
  184. package/dist/lib/components/AcStatCard.vue.d.ts +3 -3
  185. package/dist/lib/components/AcStatCard.vue_vue_type_script_setup_true_lang.js +90 -85
  186. package/dist/lib/components/AcStatusBar.vue.d.ts +1 -1
  187. package/dist/lib/components/AcStatusBar.vue_vue_type_script_setup_true_lang.js +6 -6
  188. package/dist/lib/components/AcSteps.vue_vue_type_script_setup_true_lang.js +28 -28
  189. package/dist/lib/components/AcSwitch.vue.d.ts +3 -0
  190. package/dist/lib/components/AcSwitch.vue_vue_type_script_setup_true_lang.js +31 -19
  191. package/dist/lib/components/AcSwitchCard.js +5 -0
  192. package/dist/lib/components/AcSwitchCard.vue.d.ts +59 -0
  193. package/dist/lib/components/AcSwitchCard.vue_vue_type_script_setup_true_lang.js +121 -0
  194. package/dist/lib/components/AcTable.vue_vue_type_script_setup_true_lang.js +97 -97
  195. package/dist/lib/components/AcTabs.vue.d.ts +9 -2
  196. package/dist/lib/components/AcTabs.vue_vue_type_script_setup_true_lang.js +43 -28
  197. package/dist/lib/components/AcTag.vue.d.ts +2 -2
  198. package/dist/lib/components/AcTag.vue_vue_type_script_setup_true_lang.js +22 -22
  199. package/dist/lib/components/AcTagInput.js +5 -0
  200. package/dist/lib/components/AcTagInput.vue.d.ts +74 -0
  201. package/dist/lib/components/AcTagInput.vue_vue_type_script_setup_true_lang.js +289 -0
  202. package/dist/lib/components/AcTextarea.vue.d.ts +4 -4
  203. package/dist/lib/components/AcTextarea.vue_vue_type_script_setup_true_lang.js +85 -63
  204. package/dist/lib/components/AcThemeMode.vue.d.ts +3 -3
  205. package/dist/lib/components/AcThemeMode.vue_vue_type_script_setup_true_lang.js +56 -24
  206. package/dist/lib/components/AcTimePicker.js +5 -0
  207. package/dist/lib/components/AcTimePicker.vue.d.ts +65 -0
  208. package/dist/lib/components/AcTimePicker.vue_vue_type_script_setup_true_lang.js +455 -0
  209. package/dist/lib/components/AcToaster.vue.d.ts +6 -3
  210. package/dist/lib/components/AcToaster.vue_vue_type_script_setup_true_lang.js +115 -82
  211. package/dist/lib/components/AcTooltip.vue.d.ts +34 -14
  212. package/dist/lib/components/AcTooltip.vue_vue_type_script_setup_true_lang.js +203 -79
  213. package/dist/lib/components/AcUsageCard.vue_vue_type_script_setup_true_lang.js +27 -27
  214. package/dist/lib/components/AcUserMenu.vue.d.ts +23 -1
  215. package/dist/lib/components/AcUserMenu.vue_vue_type_script_setup_true_lang.js +166 -115
  216. package/dist/lib/components/index.d.ts +21 -2
  217. package/dist/lib/components/status.d.ts +28 -0
  218. package/dist/lib/components/status.js +125 -0
  219. package/dist/lib/composables/copyText.d.ts +2 -1
  220. package/dist/lib/composables/copyText.js +2 -2
  221. package/dist/lib/composables/useApiPagination.d.ts +55 -0
  222. package/dist/lib/composables/useApiPagination.js +58 -0
  223. package/dist/lib/composables/useBulkSelection.d.ts +44 -0
  224. package/dist/lib/composables/useBulkSelection.js +41 -0
  225. package/dist/lib/composables/useFormValidation.d.ts +65 -0
  226. package/dist/lib/composables/useFormValidation.js +148 -0
  227. package/dist/lib/composables/useTablePagination.d.ts +49 -0
  228. package/dist/lib/composables/useTablePagination.js +41 -0
  229. package/dist/lib/composables/useToast.d.ts +17 -1
  230. package/dist/lib/composables/useToast.js +10 -2
  231. package/dist/lib/editor/theme.js +65 -62
  232. package/dist/lib/index.d.ts +21 -3
  233. package/dist/lib/index.js +99 -75
  234. package/dist/lib/theme.css +377 -273
  235. package/package.json +20 -4
@@ -0,0 +1,66 @@
1
+ import e from "./AcButton.js";
2
+ import { computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, defineComponent as c, normalizeClass as l, openBlock as u, renderSlot as d, resolveDynamicComponent as f, toDisplayString as p, unref as m, withCtx as h } from "vue";
3
+ import { CircleAlert as g, RotateCw as _ } from "@lucide/vue";
4
+ //#region src/lib/components/AcErrorState.vue?vue&type=script&setup=true&lang.ts
5
+ var v = {
6
+ class: "mb-4 inline-flex size-12 items-center justify-center rounded-16 bg-danger/10 text-danger-strong",
7
+ "aria-hidden": "true"
8
+ }, y = {
9
+ key: 0,
10
+ class: "mt-1.5 max-w-md text-base break-words text-muted"
11
+ }, b = {
12
+ key: 1,
13
+ class: "mt-5 flex flex-wrap items-center justify-center gap-3"
14
+ }, x = /*@__PURE__*/ c({
15
+ __name: "AcErrorState",
16
+ props: {
17
+ title: { default: "Something went wrong" },
18
+ error: { default: void 0 },
19
+ description: { default: "" },
20
+ retrying: {
21
+ type: Boolean,
22
+ default: !1
23
+ },
24
+ compact: {
25
+ type: Boolean,
26
+ default: !1
27
+ },
28
+ retryText: { default: "Try again" },
29
+ hideRetry: {
30
+ type: Boolean,
31
+ default: !1
32
+ },
33
+ titleTag: { default: "h2" }
34
+ },
35
+ emits: ["retry"],
36
+ setup(c, { emit: x }) {
37
+ let S = c, C = x, w = t(() => S.description ? S.description : typeof S.error == "string" ? S.error : S.error instanceof Error ? S.error.message : "");
38
+ return (t, x) => (u(), i("div", {
39
+ role: "alert",
40
+ class: l(["flex flex-col items-center justify-center rounded-16 border border-danger/25 bg-danger/5 px-6 text-center", c.compact ? "py-8" : "py-14"]),
41
+ "data-ac-ds": "",
42
+ "data-testid": "ac-error-state"
43
+ }, [
44
+ a("div", v, [s(m(g), { class: "size-6" })]),
45
+ (u(), n(f(c.titleTag), { class: "font-heading text-lg font-semibold text-heading" }, {
46
+ default: h(() => [o(p(c.title), 1)]),
47
+ _: 1
48
+ })),
49
+ w.value ? (u(), i("p", y, p(w.value), 1)) : r("", !0),
50
+ d(t.$slots, "default"),
51
+ !c.hideRetry || t.$slots.actions ? (u(), i("div", b, [c.hideRetry ? r("", !0) : (u(), n(e, {
52
+ key: 0,
53
+ color: "white",
54
+ loading: c.retrying,
55
+ "data-testid": "ac-error-state-retry",
56
+ onClick: x[0] ||= (e) => C("retry")
57
+ }, {
58
+ icon: h(() => [s(m(_))]),
59
+ default: h(() => [o(" " + p(c.retryText), 1)]),
60
+ _: 1
61
+ }, 8, ["loading"])), d(t.$slots, "actions")])) : r("", !0)
62
+ ], 2));
63
+ }
64
+ });
65
+ //#endregion
66
+ export { x as default };
@@ -3,8 +3,12 @@ import type { Tone } from "./types";
3
3
  export interface Props {
4
4
  /** Name of the feature, product or option. Also the card's accessible name. */
5
5
  title: string;
6
+ /** A short muted line under the title, e.g. "NoSQL database". With an icon, the description then runs the full width of the card below them. */
7
+ subtitle?: string;
6
8
  /** One or two sentences on what it does. Clamped to three lines. Old `card-sub-title` slot. */
7
9
  description?: string;
10
+ /** Lights the border and lifts a soft shadow on hover, as cloud-ui's engine and "Learn more" cards do, for a card that holds its own links but isn't a link itself. */
11
+ hoverable?: boolean;
8
12
  /** A Lucide icon, shown in a tinted tile. Or use the `icon` slot. */
9
13
  icon?: Component;
10
14
  /** Logo image URL, e.g. a product or cloud-provider logo. Takes the place of `icon`. */
@@ -67,6 +71,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
67
71
  href: string;
68
72
  to: string | Record<string, unknown>;
69
73
  status: string;
74
+ subtitle: string;
75
+ hoverable: boolean;
70
76
  logo: string;
71
77
  logoAlt: string;
72
78
  statusColor: Tone | "default";
@@ -5,22 +5,30 @@ import { ArrowRight as w, ArrowUpRight as T, Check as E } from "@lucide/vue";
5
5
  var D = ["aria-hidden"], O = ["src", "alt"], k = ["id"], A = ["aria-describedby"], j = {
6
6
  key: 0,
7
7
  class: "relative z-10 -my-0.5 flex shrink-0 items-center gap-2"
8
- }, M = ["id", "title"], N = {
8
+ }, M = ["id"], N = ["id", "title"], P = {
9
9
  key: 1,
10
10
  class: "mt-2 text-base text-body"
11
- }, P = {
11
+ }, F = {
12
12
  key: 2,
13
13
  class: "mt-2 flex flex-wrap justify-center gap-2"
14
- }, F = [
14
+ }, I = [
15
15
  "id",
16
16
  "disabled",
17
17
  "aria-labelledby",
18
18
  "aria-describedby"
19
- ], I = /*@__PURE__*/ l({
19
+ ], L = ["id", "title"], R = {
20
+ key: 1,
21
+ class: "mt-2 text-base text-body"
22
+ }, z = /*@__PURE__*/ l({
20
23
  __name: "AcFeatureCard",
21
24
  props: /*@__PURE__*/ d({
22
25
  title: {},
26
+ subtitle: { default: "" },
23
27
  description: { default: "" },
28
+ hoverable: {
29
+ type: Boolean,
30
+ default: !1
31
+ },
24
32
  icon: { default: void 0 },
25
33
  logo: { default: "" },
26
34
  logoAlt: { default: "" },
@@ -58,76 +66,121 @@ var D = ["aria-hidden"], O = ["src", "alt"], k = ["id"], A = ["aria-describedby"
58
66
  }),
59
67
  emits: /*@__PURE__*/ d(["click"], ["update:checked"]),
60
68
  setup(l, { emit: d }) {
61
- let I = l, L = b(l, "checked"), R = d, z = u(), B = z?.appContext.components.RouterLink, V = y(), H = n(() => {
62
- if (I.disabled || I.selectable) return null;
63
- if (I.to !== void 0 && B) return {
64
- is: B,
65
- to: I.to
69
+ let z = l, B = b(l, "checked"), V = d, H = u(), U = H?.appContext.components.RouterLink, W = y(), G = n(() => !!z.subtitle && !z.centered), K = n(() => [z.subtitle && `${W}-sub`, z.description && `${W}-desc`].filter(Boolean).join(" ") || void 0), q = n(() => {
70
+ if (z.disabled || z.selectable) return null;
71
+ if (z.to !== void 0 && U) return {
72
+ is: U,
73
+ to: z.to
66
74
  };
67
- let e = I.href ?? (typeof I.to == "string" ? I.to : void 0);
75
+ let e = z.href ?? (typeof z.to == "string" ? z.to : void 0);
68
76
  return e ? {
69
77
  is: "a",
70
78
  href: e,
71
- target: I.target,
72
- rel: I.target === "_blank" ? "noopener noreferrer" : void 0
79
+ target: z.target,
80
+ rel: z.target === "_blank" ? "noopener noreferrer" : void 0
73
81
  } : null;
74
82
  });
75
- function U() {
76
- return !H.value && !I.disabled && !I.selectable && !!z?.vnode.props?.onClick;
83
+ function J() {
84
+ return !q.value && !z.disabled && !z.selectable && !!H?.vnode.props?.onClick;
77
85
  }
78
- function W() {
79
- return !!H.value || U() || I.selectable && !I.disabled;
86
+ function Y() {
87
+ return !!q.value || J() || z.selectable && !z.disabled;
80
88
  }
81
- function G(e) {
82
- R("click", e);
89
+ function X(e) {
90
+ V("click", e);
83
91
  }
84
92
  return (n, u) => (m(), r(g(l.selectable ? "label" : "div"), {
85
- for: l.selectable ? `${v(V)}-input` : void 0,
86
- class: p(["group relative flex min-w-0 flex-col rounded-10 border border-border bg-surface p-4 shadow-xs transition-[border-color,box-shadow,background-color] duration-150 has-[[data-ac-card-link]:focus-visible]:ring-[3px] has-[[data-ac-card-link]:focus-visible]:ring-ring", [
93
+ for: l.selectable ? `${v(W)}-input` : void 0,
94
+ 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
95
  l.centered && "items-center text-center",
88
- W() && "cursor-pointer hover:border-border-dark hover:shadow-sm",
89
- l.selectable && "has-checked:border-primary has-checked:bg-primary-97 has-checked:shadow-[0_0_0_1px_var(--color-primary)] has-focus-visible:ring-[3px] has-focus-visible:ring-ring",
96
+ Y() && !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",
97
+ l.selectable && !l.disabled && "cursor-pointer hover:border-primary/40 hover:bg-accent-hover",
98
+ 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",
99
+ l.hoverable && !Y() && !l.selectable && "hover:border-primary/45 hover:shadow-sm",
90
100
  l.disabled && "cursor-not-allowed opacity-60"
91
101
  ]]),
92
102
  "data-ac-ds": "",
93
103
  "data-testid": "ac-feature-card"
94
104
  }, {
95
- default: S(() => [o("div", { class: p(["flex w-full min-w-0 gap-3", l.centered ? "flex-col items-center" : "items-start"]) }, [
96
- n.$slots.icon || l.logo || l.icon ? (m(), a("span", {
97
- key: 0,
98
- class: p(["inline-flex shrink-0 items-center justify-center overflow-hidden rounded-8", [l.centered ? "size-12" : "size-10", l.logo ? "border border-border-light bg-surface-muted p-1.5" : "bg-primary-95 text-primary-30 [&_svg]:size-5"]]),
99
- "aria-hidden": l.logo && l.logoAlt ? void 0 : "true"
100
- }, [h(n.$slots, "icon", {}, () => [l.logo ? (m(), a("img", {
101
- key: 0,
102
- src: l.logo,
103
- alt: l.logoAlt,
104
- class: "size-full object-contain"
105
- }, null, 8, O)) : (m(), r(g(l.icon), { key: 1 }))])], 10, D)) : i("", !0),
106
- o("div", { class: p(["min-w-0 flex-1", l.centered && "w-full"]) }, [
107
- o("div", { class: p(["flex min-w-0 items-start gap-2", l.centered ? "justify-center" : "justify-between"]) }, [
108
- 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
- id: `${v(V)}-title`,
110
- class: "min-w-0 text-lg leading-6 font-semibold tracking-[-0.01em] text-heading"
111
- }, [H.value ? (m(), r(g(H.value.is), f({ key: 0 }, {
112
- ...H.value,
113
- is: void 0
114
- }, {
115
- "aria-describedby": l.description ? `${v(V)}-desc` : void 0,
116
- "data-ac-card-link": "",
117
- class: "outline-none after:absolute after:inset-0 after:rounded-10",
118
- onClick: G
119
- }), {
120
- default: S(() => [s(_(l.title), 1)]),
121
- _: 1
122
- }, 16, ["aria-describedby"])) : U() ? (m(), a("button", {
123
- key: 1,
124
- type: "button",
125
- "aria-describedby": l.description ? `${v(V)}-desc` : void 0,
126
- "data-ac-card-link": "",
127
- class: "cursor-pointer text-left outline-none after:absolute after:inset-0 after:rounded-10",
128
- onClick: G
129
- }, _(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
- h(n.$slots, "title-extra"),
105
+ default: S(() => [
106
+ o("div", { class: p(["flex w-full min-w-0 gap-3", l.centered ? "flex-col items-center" : "items-start"]) }, [
107
+ n.$slots.icon || l.logo || l.icon ? (m(), a("span", {
108
+ key: 0,
109
+ 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"]]),
110
+ "aria-hidden": l.logo && l.logoAlt ? void 0 : "true"
111
+ }, [h(n.$slots, "icon", {}, () => [l.logo ? (m(), a("img", {
112
+ key: 0,
113
+ src: l.logo,
114
+ alt: l.logoAlt,
115
+ class: "size-full object-contain"
116
+ }, null, 8, O)) : (m(), r(g(l.icon), { key: 1 }))])], 10, D)) : i("", !0),
117
+ o("div", { class: p(["min-w-0 flex-1", l.centered && "w-full"]) }, [
118
+ o("div", { class: p(["flex min-w-0 items-start gap-2", l.centered ? "justify-center" : "justify-between"]) }, [
119
+ o("div", { class: p(["flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1", l.centered && "justify-center"]) }, [o("h3", {
120
+ id: `${v(W)}-title`,
121
+ class: "min-w-0 font-heading text-lg leading-6 font-semibold tracking-tight text-heading"
122
+ }, [q.value ? (m(), r(g(q.value.is), f({ key: 0 }, {
123
+ ...q.value,
124
+ is: void 0
125
+ }, {
126
+ "aria-describedby": K.value,
127
+ "data-ac-card-link": "",
128
+ class: "outline-none after:absolute after:inset-0 after:rounded-14",
129
+ onClick: X
130
+ }), {
131
+ default: S(() => [s(_(l.title), 1)]),
132
+ _: 1
133
+ }, 16, ["aria-describedby"])) : J() ? (m(), a("button", {
134
+ key: 1,
135
+ type: "button",
136
+ "aria-describedby": K.value,
137
+ "data-ac-card-link": "",
138
+ class: "cursor-pointer text-left outline-none after:absolute after:inset-0 after:rounded-14",
139
+ onClick: X
140
+ }, _(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 }, [
141
+ h(n.$slots, "title-extra"),
142
+ l.required ? (m(), r(e, {
143
+ key: 0,
144
+ label: "Required",
145
+ color: "warning",
146
+ variant: "light",
147
+ rounded: ""
148
+ })) : i("", !0),
149
+ l.recommended ? (m(), r(e, {
150
+ key: 1,
151
+ label: "Recommended",
152
+ color: "info",
153
+ variant: "light",
154
+ rounded: ""
155
+ })) : i("", !0),
156
+ h(n.$slots, "status", {}, () => [l.status ? (m(), r(e, {
157
+ key: 0,
158
+ label: l.status,
159
+ color: l.statusColor,
160
+ variant: "light",
161
+ rounded: "",
162
+ dot: ""
163
+ }, null, 8, ["label", "color"])) : i("", !0)])
164
+ ], 64))], 2),
165
+ n.$slots.actions && !l.centered ? (m(), a("div", j, [h(n.$slots, "actions")])) : i("", !0),
166
+ !l.centered && (q.value || J()) ? (m(), r(g(l.target === "_blank" ? v(T) : v(w)), {
167
+ key: 1,
168
+ 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",
169
+ "aria-hidden": "true"
170
+ })) : i("", !0)
171
+ ], 2),
172
+ l.subtitle ? (m(), a("p", {
173
+ key: 0,
174
+ id: `${v(W)}-sub`,
175
+ class: "mt-0.5 text-xs text-muted"
176
+ }, _(l.subtitle), 9, M)) : i("", !0),
177
+ G.value ? i("", !0) : (m(), a(t, { key: 1 }, [l.description ? (m(), a("p", {
178
+ key: 0,
179
+ id: `${v(W)}-desc`,
180
+ class: "mt-1 line-clamp-3 text-base leading-relaxed text-muted",
181
+ title: l.description
182
+ }, _(l.description), 9, N)) : i("", !0), n.$slots.default ? (m(), a("div", P, [h(n.$slots, "default")])) : i("", !0)], 64)),
183
+ l.centered && (l.required || l.recommended || l.status || n.$slots.status) ? (m(), a("div", F, [
131
184
  l.required ? (m(), r(e, {
132
185
  key: 0,
133
186
  label: "Required",
@@ -150,69 +203,39 @@ var D = ["aria-hidden"], O = ["src", "alt"], k = ["id"], A = ["aria-describedby"
150
203
  rounded: "",
151
204
  dot: ""
152
205
  }, null, 8, ["label", "color"])) : i("", !0)])
153
- ], 64))], 2),
154
- n.$slots.actions && !l.centered ? (m(), a("div", j, [h(n.$slots, "actions")])) : i("", !0),
155
- !l.centered && (H.value || U()) ? (m(), r(g(l.target === "_blank" ? v(T) : v(w)), {
156
- key: 1,
157
- class: "mt-1 size-4 shrink-0 text-slate-60 transition-[color,transform] duration-150 group-hover:text-heading motion-safe:group-hover:translate-x-0.5",
158
- "aria-hidden": "true"
159
- })) : i("", !0)
206
+ ])) : i("", !0)
160
207
  ], 2),
161
- l.description ? (m(), a("p", {
162
- key: 0,
163
- id: `${v(V)}-desc`,
164
- class: "mt-1 line-clamp-3 text-base text-muted",
165
- title: l.description
166
- }, _(l.description), 9, M)) : i("", !0),
167
- n.$slots.default ? (m(), a("div", N, [h(n.$slots, "default")])) : i("", !0),
168
- l.centered && (l.required || l.recommended || l.status || n.$slots.status) ? (m(), a("div", P, [
169
- l.required ? (m(), r(e, {
170
- key: 0,
171
- label: "Required",
172
- color: "warning",
173
- variant: "light",
174
- rounded: ""
175
- })) : i("", !0),
176
- l.recommended ? (m(), r(e, {
177
- key: 1,
178
- label: "Recommended",
179
- color: "info",
180
- variant: "light",
181
- rounded: ""
182
- })) : i("", !0),
183
- h(n.$slots, "status", {}, () => [l.status ? (m(), r(e, {
184
- key: 0,
185
- label: l.status,
186
- color: l.statusColor,
187
- variant: "light",
188
- rounded: "",
189
- dot: ""
190
- }, null, 8, ["label", "color"])) : i("", !0)])
191
- ])) : i("", !0)
208
+ l.selectable ? (m(), a("span", {
209
+ key: 1,
210
+ class: p(["relative inline-flex size-5 shrink-0", l.centered ? "absolute! top-3 right-3" : "mt-0.5"])
211
+ }, [C(o("input", {
212
+ id: `${v(W)}-input`,
213
+ "onUpdate:modelValue": u[0] ||= (e) => B.value = e,
214
+ type: "checkbox",
215
+ disabled: l.disabled,
216
+ "aria-labelledby": `${v(W)}-title`,
217
+ "aria-describedby": K.value,
218
+ 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"
219
+ }, null, 8, I), [[x, B.value]]), c(v(E), {
220
+ 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",
221
+ "stroke-width": 3,
222
+ "aria-hidden": "true"
223
+ })], 2)) : i("", !0)
192
224
  ], 2),
193
- l.selectable ? (m(), a("span", {
225
+ G.value ? (m(), a(t, { key: 0 }, [l.description ? (m(), a("p", {
226
+ key: 0,
227
+ id: `${v(W)}-desc`,
228
+ class: "mt-3 line-clamp-3 text-base leading-relaxed text-muted",
229
+ title: l.description
230
+ }, _(l.description), 9, L)) : i("", !0), n.$slots.default ? (m(), a("div", R, [h(n.$slots, "default")])) : i("", !0)], 64)) : i("", !0),
231
+ n.$slots.footer ? (m(), a("div", {
194
232
  key: 1,
195
- class: p(["relative inline-flex size-4 shrink-0", l.centered ? "absolute! top-3 right-3" : "mt-1"])
196
- }, [C(o("input", {
197
- id: `${v(V)}-input`,
198
- "onUpdate:modelValue": u[0] ||= (e) => L.value = e,
199
- type: "checkbox",
200
- disabled: l.disabled,
201
- "aria-labelledby": `${v(V)}-title`,
202
- "aria-describedby": l.description ? `${v(V)}-desc` : void 0,
203
- class: "peer size-4 cursor-pointer appearance-none rounded-4 border border-border-dark bg-surface shadow-xs transition-[background-color,border-color] duration-150 outline-none group-hover:border-slate-60 checked:border-primary checked:bg-primary checked:shadow-button disabled:cursor-not-allowed"
204
- }, null, 8, F), [[x, L.value]]), c(v(E), {
205
- class: "pointer-events-none absolute inset-0 m-auto size-3 scale-75 text-white opacity-0 transition duration-150 peer-checked:scale-100 peer-checked:opacity-100",
206
- "stroke-width": 3,
207
- "aria-hidden": "true"
208
- })], 2)) : i("", !0)
209
- ], 2), n.$slots.footer ? (m(), a("div", {
210
- key: 0,
211
- class: p(["mt-auto flex w-full min-w-0 flex-wrap items-center gap-x-3 gap-y-1 pt-3 text-xs text-muted", l.centered ? "justify-center" : "justify-between"])
212
- }, [h(n.$slots, "footer")], 2)) : i("", !0)]),
233
+ 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"])
234
+ }, [h(n.$slots, "footer")], 2)) : i("", !0)
235
+ ]),
213
236
  _: 3
214
237
  }, 8, ["for", "class"]));
215
238
  }
216
239
  });
217
240
  //#endregion
218
- export { I as default };
241
+ export { z as default };
@@ -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-light bg-surface-muted p-2 @2xl:flex @4xl:w-72",
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-light p-2 @2xl:hidden",
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-light bg-surface-muted @2xl:flex @4xl:w-72" }, De = ["aria-label"], Oe = [
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-light px-3 py-2 text-xs text-muted" }, Ie = { class: "text-red-40" }, Le = { class: "border-b border-border-light bg-surface-muted p-2 @2xl:hidden" }, Re = ["aria-label"], ze = {
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-yellow-90 bg-yellow-97 px-3 py-2 text-xs text-yellow-10"
49
- }, Be = { class: "flex min-h-11 flex-wrap items-center gap-x-3 gap-y-1.5 border-b border-border-light px-3 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-4 bg-surface-sunken px-1.5 text-sm 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-surface-muted" }, Ge = ["aria-label"], Ke = /*@__PURE__*/ 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 shadow-xs",
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-light p-2",
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-0.5 overflow-y-auto p-1.5"
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-6 px-2.5 py-1.5 transition-[background-color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring", e.name === O.value ? "bg-surface text-heading shadow-xs ring-1 ring-border" : "text-body hover:bg-surface-sunken"]),
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-red-40" : "text-yellow-30"])
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-7 shrink-0 cursor-pointer items-center justify-center rounded-6 text-muted transition hover:bg-surface-sunken hover:text-heading focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring",
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-3.5",
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-7 shrink-0 cursor-pointer items-center justify-center rounded-6 text-muted transition hover:bg-surface-sunken hover:text-heading focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring",
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-3.5",
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
- /** Helper text under the field (hidden while there's an error). */
30
+ /** Help text between the label and the field. */
31
31
  hint?: string;
32
32
  }
33
33
  type __VLS_Props = Props;