@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
@@ -1,49 +1,132 @@
1
- import { Fragment as e, createCommentVNode as t, createElementBlock as n, createElementVNode as r, createVNode as i, defineComponent as a, mergeModels as o, normalizeClass as s, openBlock as c, renderList as l, toDisplayString as u, unref as d, useId as f, useModel as p, vModelCheckbox as m, withDirectives as h } from "vue";
2
- import { Check as g } from "@lucide/vue";
1
+ import { Fragment as e, computed as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, createVNode as a, defineComponent as o, mergeModels as s, mergeProps as c, nextTick as l, normalizeClass as u, openBlock as d, ref as f, renderList as p, toDisplayString as m, unref as h, useAttrs as g, useId as _, useModel as v, vModelCheckbox as y, withDirectives as b, withModifiers as x } from "vue";
2
+ import { Check as S, Minus as C } from "@lucide/vue";
3
3
  //#region src/lib/components/AcCheckBox.vue?vue&type=script&setup=true&lang.ts
4
- var _ = {
5
- class: "flex flex-col gap-2.5",
6
- "data-ac-ds": "",
7
- "data-testid": "ac-checkbox"
8
- }, v = ["for"], y = { class: "relative inline-flex size-4 shrink-0" }, b = [
4
+ var w = { class: "flex flex-col gap-3" }, T = ["for"], E = [
9
5
  "id",
10
6
  "name",
11
7
  "value",
12
8
  "disabled"
13
- ], x = {
9
+ ], D = { class: "flex min-w-0 flex-col gap-1" }, O = { class: "font-medium" }, k = {
14
10
  key: 0,
15
- class: "text-xs text-red-30"
16
- }, S = /*@__PURE__*/ a({
11
+ class: "text-xs text-muted"
12
+ }, A = {
13
+ key: 0,
14
+ class: "mt-1 text-base text-danger-strong",
15
+ role: "alert"
16
+ }, j = [
17
+ "name",
18
+ "checked",
19
+ "indeterminate",
20
+ "disabled",
21
+ "aria-invalid",
22
+ "aria-describedby"
23
+ ], M = {
24
+ key: 0,
25
+ class: "flex min-w-0 flex-col gap-1"
26
+ }, N = {
27
+ key: 0,
28
+ class: "font-medium"
29
+ }, P = {
30
+ key: 1,
31
+ class: "text-xs text-muted"
32
+ }, F = ["id"], I = /*@__PURE__*/ o({
33
+ inheritAttrs: !1,
17
34
  __name: "AcCheckBox",
18
- props: /*@__PURE__*/ o({
19
- options: {},
35
+ props: /*@__PURE__*/ s({
36
+ options: { default: void 0 },
20
37
  name: { default: "checkbox" },
21
- errorMsg: { default: "" }
38
+ errorMsg: { default: "" },
39
+ label: { default: "" },
40
+ description: { default: "" },
41
+ disabled: {
42
+ type: Boolean,
43
+ default: !1
44
+ },
45
+ indeterminate: {
46
+ type: Boolean,
47
+ default: !1
48
+ },
49
+ size: { default: "normal" }
22
50
  }, {
23
51
  modelValue: { default: () => [] },
24
- modelModifiers: {}
52
+ modelModifiers: {},
53
+ checked: {
54
+ type: Boolean,
55
+ default: !1
56
+ },
57
+ checkedModifiers: {}
25
58
  }),
26
- emits: ["update:modelValue"],
27
- setup(a) {
28
- let o = p(a, "modelValue"), S = f();
29
- return (f, p) => (c(), n("div", _, [(c(!0), n(e, null, l(a.options, (e, t) => (c(), n("label", {
59
+ emits: ["update:modelValue", "update:checked"],
60
+ setup(o) {
61
+ let s = o, I = v(o, "modelValue"), L = v(o, "checked"), R = _(), z = g(), B = f(null), V = t(() => s.size === "small"), H = t(() => s.indeterminate && !L.value), U = t(() => s.options ? z : {
62
+ class: z.class,
63
+ style: z.style
64
+ }), W = t(() => {
65
+ let { class: e, style: t, ...n } = z;
66
+ return s.label || n["aria-label"] || n["aria-labelledby"] ? n : {
67
+ "aria-label": "Select",
68
+ ...n
69
+ };
70
+ }), G = t(() => V.value ? "size-[18px]" : "size-6"), K = t(() => [
71
+ "peer cursor-pointer appearance-none rounded-4 border border-muted/70 transition-colors duration-200 group-hover:enabled:not-checked:not-indeterminate:border-primary/60 checked:border-primary checked:bg-primary indeterminate:border-primary indeterminate:bg-primary focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-surface focus-visible:outline-none disabled:cursor-not-allowed disabled:bg-surface-sunken",
72
+ G.value,
73
+ V.value ? "bg-background" : "bg-transparent"
74
+ ]), q = t(() => ["pointer-events-none absolute inset-0 m-auto text-white opacity-0 transition-opacity duration-150 motion-reduce:transition-none", V.value ? "size-3.5" : "size-5"]), J = t(() => ["cursor-not-allowed", V.value ? "opacity-40" : "opacity-50"]);
75
+ async function Y(e) {
76
+ L.value = e.target.checked, await l(), B.value && (B.value.checked = L.value, B.value.indeterminate = H.value);
77
+ }
78
+ return (t, s) => o.options ? (d(), r("div", c({
79
+ key: 0,
80
+ "data-ac-ds": "",
81
+ "data-testid": "ac-checkbox"
82
+ }, U.value), [i("div", w, [(d(!0), r(e, null, p(o.options, (e, t) => (d(), r("label", {
30
83
  key: e.label,
31
- for: `${d(S)}-${t}`,
32
- class: s(["group inline-flex w-fit cursor-pointer items-center gap-2.5 text-base text-heading", e.disabled && "cursor-not-allowed opacity-50"])
33
- }, [r("span", y, [h(r("input", {
34
- id: `${d(S)}-${t}`,
35
- "onUpdate:modelValue": p[0] ||= (e) => o.value = e,
84
+ for: `${h(R)}-${t}`,
85
+ class: u(["group inline-flex w-fit cursor-pointer items-start text-base text-heading select-none", [e.disabled && J.value, V.value ? "gap-2.5" : "gap-3"]])
86
+ }, [i("span", { class: u(["relative inline-flex shrink-0", G.value]) }, [b(i("input", {
87
+ id: `${h(R)}-${t}`,
88
+ "onUpdate:modelValue": s[0] ||= (e) => I.value = e,
36
89
  type: "checkbox",
37
- name: a.name,
90
+ name: o.name,
38
91
  value: e.value,
39
92
  disabled: e.disabled,
40
- class: "peer size-4 cursor-pointer appearance-none rounded-4 border border-border-dark bg-surface shadow-xs transition-[background-color,border-color,box-shadow] duration-150 group-hover:border-slate-60 checked:border-primary checked:bg-primary checked:shadow-button focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring disabled:cursor-not-allowed"
41
- }, null, 8, b), [[m, o.value]]), i(d(g), {
42
- 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",
43
- "stroke-width": 3,
93
+ class: u(K.value)
94
+ }, null, 10, E), [[y, I.value]]), a(h(S), {
95
+ class: u([q.value, "peer-checked:opacity-100"]),
44
96
  "aria-hidden": "true"
45
- })]), r("span", null, u(e.label), 1)], 10, v))), 128)), a.errorMsg ? (c(), n("p", x, u(a.errorMsg), 1)) : t("", !0)]));
97
+ }, null, 8, ["class"])], 2), i("span", D, [i("span", O, m(e.label), 1), e.description ? (d(), r("span", k, m(e.description), 1)) : n("", !0)])], 10, T))), 128))]), o.errorMsg ? (d(), r("p", A, m(o.errorMsg), 1)) : n("", !0)], 16)) : (d(), r("div", c({
98
+ key: 1,
99
+ class: "inline-flex flex-col",
100
+ "data-ac-ds": "",
101
+ "data-testid": "ac-checkbox"
102
+ }, U.value, { onClick: s[1] ||= x(() => {}, ["stop"]) }), [i("label", { class: u(["group inline-flex w-fit cursor-pointer items-start text-base text-heading select-none", [o.disabled && J.value, V.value ? "gap-2.5" : "gap-3"]]) }, [i("span", { class: u(["relative inline-flex shrink-0", G.value]) }, [
103
+ i("input", c({
104
+ ref_key: "single",
105
+ ref: B,
106
+ type: "checkbox",
107
+ name: o.name,
108
+ checked: L.value,
109
+ indeterminate: H.value,
110
+ disabled: o.disabled,
111
+ "aria-invalid": o.errorMsg ? !0 : void 0,
112
+ "aria-describedby": o.errorMsg ? `${h(R)}-error` : void 0,
113
+ class: K.value
114
+ }, W.value, { onChange: Y }), null, 16, j),
115
+ a(h(S), {
116
+ class: u([q.value, "peer-checked:opacity-100"]),
117
+ "aria-hidden": "true"
118
+ }, null, 8, ["class"]),
119
+ a(h(C), {
120
+ class: u([q.value, "peer-indeterminate:opacity-100"]),
121
+ "aria-hidden": "true"
122
+ }, null, 8, ["class"])
123
+ ], 2), o.label || o.description ? (d(), r("span", M, [o.label ? (d(), r("span", N, m(o.label), 1)) : n("", !0), o.description ? (d(), r("span", P, m(o.description), 1)) : n("", !0)])) : n("", !0)], 2), o.errorMsg ? (d(), r("p", {
124
+ key: 0,
125
+ id: `${h(R)}-error`,
126
+ class: "mt-1 text-base text-danger-strong",
127
+ role: "alert"
128
+ }, m(o.errorMsg), 9, F)) : n("", !0)], 16));
46
129
  }
47
130
  });
48
131
  //#endregion
49
- export { S as default };
132
+ export { I as default };
@@ -0,0 +1,5 @@
1
+ import e from "./AcCheckList.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/lib/components/AcCheckList.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,45 @@
1
+ import type { Component } from "vue";
2
+ import type { Tone } from "./types";
3
+ export interface CheckListItem {
4
+ /** The benefit or feature, in sentence case. */
5
+ label: string;
6
+ /** A line of muted text under the label. */
7
+ description?: string;
8
+ }
9
+ export interface Props {
10
+ /** The lines to show. Pass strings, or `{ label, description }` for a line with a muted second line. */
11
+ items?: (string | CheckListItem)[];
12
+ /** A Lucide icon before each line. Defaults to `CircleCheck`, as cloud-ui's landing heroes; pass `Check` for the plain tick of the Create database card. */
13
+ icon?: Component;
14
+ /** Colour of the icon. `muted` is a grey tick for neutral lists. */
15
+ color?: Tone | "muted";
16
+ /** `normal` 14px text with 16px icons and 10px between lines; `small` 12px text with 14px icons and 6px between lines. */
17
+ size?: "small" | "normal";
18
+ /** Lays the lines out in two columns from 640px. Below that they stack in one. */
19
+ columns?: 1 | 2;
20
+ /** Sets the text in the muted grey, as on cloud-ui's landing heroes. Set `false` for the heading colour, as on the Create database card. */
21
+ muted?: boolean;
22
+ }
23
+ type __VLS_Slots = {
24
+ /** Replaces the text of each line; the icon stays. Gets `item` (always an object) and `index`. */
25
+ default?: (props: {
26
+ item: CheckListItem;
27
+ index: number;
28
+ }) => unknown;
29
+ };
30
+ declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
31
+ icon: Component;
32
+ color: Tone | "muted";
33
+ size: "small" | "normal";
34
+ items: (string | CheckListItem)[];
35
+ muted: boolean;
36
+ columns: 1 | 2;
37
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
38
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
39
+ declare const _default: typeof __VLS_export;
40
+ export default _default;
41
+ type __VLS_WithSlots<T, S> = T & {
42
+ new (): {
43
+ $slots: S;
44
+ };
45
+ };
@@ -0,0 +1,64 @@
1
+ import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, defineComponent as o, normalizeClass as s, openBlock as c, renderList as l, renderSlot as u, resolveDynamicComponent as d, toDisplayString as f, unref as p } from "vue";
2
+ import { CircleCheck as m } from "@lucide/vue";
3
+ //#region src/lib/components/AcCheckList.vue?vue&type=script&setup=true&lang.ts
4
+ var h = { class: "min-w-0" }, g = /*@__PURE__*/ o({
5
+ __name: "AcCheckList",
6
+ props: {
7
+ items: { default: () => [] },
8
+ icon: { default: void 0 },
9
+ color: { default: "primary" },
10
+ size: { default: "normal" },
11
+ columns: { default: 1 },
12
+ muted: {
13
+ type: Boolean,
14
+ default: !0
15
+ }
16
+ },
17
+ setup(o) {
18
+ let g = o, _ = {
19
+ primary: "text-primary",
20
+ info: "text-info",
21
+ success: "text-success",
22
+ warning: "text-warning",
23
+ danger: "text-danger",
24
+ muted: "text-muted"
25
+ }, v = {
26
+ normal: {
27
+ list: "gap-y-2.5 text-base",
28
+ icon: "mt-0.5 size-4",
29
+ item: "gap-2.5",
30
+ description: "text-base"
31
+ },
32
+ small: {
33
+ list: "gap-y-1.5 text-xs",
34
+ icon: "mt-[3px] size-3.5",
35
+ item: "gap-2",
36
+ description: "text-xs"
37
+ }
38
+ }, y = t(() => g.items.map((e) => typeof e == "string" ? { label: e } : e)), b = t(() => v[g.size]);
39
+ return (t, g) => (c(), i("ul", {
40
+ role: "list",
41
+ class: s(["m-0 grid list-none p-0 leading-relaxed", [
42
+ b.value.list,
43
+ o.columns === 2 && "gap-x-6 sm:grid-cols-2",
44
+ o.muted ? "text-muted" : "text-heading"
45
+ ]]),
46
+ "data-ac-ds": "",
47
+ "data-testid": "ac-check-list"
48
+ }, [(c(!0), i(e, null, l(y.value, (e, l) => (c(), i("li", {
49
+ key: `${l}-${e.label}`,
50
+ class: s(["flex min-w-0 items-start text-left", b.value.item])
51
+ }, [(c(), n(d(o.icon ?? p(m)), {
52
+ class: s(["shrink-0", [b.value.icon, _[o.color]]]),
53
+ "aria-hidden": "true"
54
+ }, null, 8, ["class"])), a("span", h, [u(t.$slots, "default", {
55
+ item: e,
56
+ index: l
57
+ }, () => [a("span", { class: s(e.description && "font-medium text-heading") }, f(e.label), 3), e.description ? (c(), i("span", {
58
+ key: 0,
59
+ class: s(["block text-muted", b.value.description])
60
+ }, f(e.description), 3)) : r("", !0)])])], 2))), 128))], 2));
61
+ }
62
+ });
63
+ //#endregion
64
+ export { g as default };
@@ -1,13 +1,27 @@
1
- import type { Option } from "./types";
1
+ import type { Component } from "vue";
2
+ import type { Option, Tone } from "./types";
3
+ /** A radio option with an optional icon or logo tile and a pill next to its label. */
4
+ export interface CheckRadioOption<V = unknown> extends Option<V> {
5
+ /** Lucide icon shown in a 32px tile before the label. */
6
+ icon?: Component;
7
+ /** Image URL shown in a 32px tile before the label, e.g. an engine logo. Used when there's no `icon`. */
8
+ logo?: string;
9
+ /** Short pill after the label, e.g. "Recommended" or "Coming soon". */
10
+ badge?: string;
11
+ /** Pill colour. `neutral` is grey, for "Coming soon". Defaults to `primary`. */
12
+ badgeColor?: Tone | "neutral";
13
+ }
2
14
  export interface Props<V> {
3
- /** The radios to render: `{ value, label, description?, disabled? }`. */
4
- options: Option<V>[];
15
+ /** The radios to render: `{ value, label, description?, disabled?, icon?, logo?, badge?, badgeColor? }`. */
16
+ options: CheckRadioOption<V>[];
5
17
  /** Base `name` for the radio group. */
6
18
  name?: string;
7
19
  /** Lays the options out horizontally. */
8
20
  row?: boolean;
9
- /** Card style with each option's description, like the source's hasDescription. */
21
+ /** Shows each option as a card with its description underneath. The selected card gets a primary border and a check badge in its corner. */
10
22
  cards?: boolean;
23
+ /** Cards only: shows an 18px radio before each card's label instead of the check badge. Old cloud-ui RadioCard `is-radio-show`. */
24
+ showRadio?: boolean;
11
25
  /** Error text under the group. */
12
26
  errorMsg?: string;
13
27
  }
@@ -21,7 +35,18 @@ declare const __VLS_export: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_se
21
35
  } ? P : {});
22
36
  expose: (exposed: {}) => void;
23
37
  attrs: any;
24
- slots: {};
38
+ slots: {
39
+ /** Replaces an option's icon, label, badge and description. Clicking it still selects the option. */
40
+ option?: (props: {
41
+ option: CheckRadioOption<T>;
42
+ checked: boolean;
43
+ }) => unknown;
44
+ /** Content on the right of an option, e.g. a version select. Clicks and keys inside it don't select the option. Cards with it stack in one column and drop the check badge, so pair it with `show-radio`. */
45
+ "option-extra"?: (props: {
46
+ option: CheckRadioOption<T>;
47
+ checked: boolean;
48
+ }) => unknown;
49
+ };
25
50
  emit: (event: "update:modelValue", value: T | undefined) => void;
26
51
  }>) => import("vue").VNode & {
27
52
  __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
@@ -1,20 +1,39 @@
1
- import { Fragment as e, createCommentVNode as t, createElementBlock as n, createElementVNode as r, defineComponent as i, mergeModels as a, normalizeClass as o, openBlock as s, renderList as c, toDisplayString as l, unref as u, useId as d, useModel as f, vModelRadio as p, withDirectives as m } from "vue";
1
+ import { Fragment as e, Transition as t, computed as n, createBlock as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createVNode as s, defineComponent as c, mergeModels as l, normalizeClass as u, openBlock as d, renderList as f, renderSlot as p, resolveDynamicComponent as m, toDisplayString as h, unref as g, useId as _, useModel as v, useSlots as y, vModelRadio as b, withCtx as x, withDirectives as S } from "vue";
2
+ import { Check as C } from "@lucide/vue";
2
3
  //#region src/lib/components/AcCheckRadio.vue?vue&type=script&setup=true&lang.ts
3
- var h = {
4
+ var w = {
4
5
  role: "radiogroup",
5
6
  "data-ac-ds": "",
6
7
  "data-testid": "ac-check-radio"
7
- }, g = ["for"], _ = [
8
+ }, T = [
8
9
  "id",
9
10
  "name",
10
11
  "value",
11
12
  "disabled"
12
- ], v = { class: "flex flex-col" }, y = ["title"], b = {
13
+ ], E = {
13
14
  key: 0,
14
- class: "mt-2 text-xs text-red-30"
15
- }, x = /*@__PURE__*/ i({
15
+ class: "flex size-8 shrink-0 items-center justify-center rounded-10 border border-primary/20 bg-primary/10 text-primary-strong",
16
+ "aria-hidden": "true"
17
+ }, D = ["src"], O = { class: "flex min-w-0 flex-col" }, k = {
18
+ key: 0,
19
+ class: "flex flex-wrap items-center gap-x-2 gap-y-1"
20
+ }, A = {
21
+ key: 2,
22
+ class: "mt-0.5 text-xs leading-relaxed text-muted"
23
+ }, j = {
24
+ key: 0,
25
+ class: "relative shrink-0 cursor-auto"
26
+ }, M = {
27
+ key: 0,
28
+ class: "absolute top-2 right-2 flex size-4 items-center justify-center rounded-full bg-primary text-white shadow-sm",
29
+ "aria-hidden": "true"
30
+ }, N = {
31
+ key: 0,
32
+ class: "mt-1 text-base text-danger-strong",
33
+ role: "alert"
34
+ }, P = /*@__PURE__*/ c({
16
35
  __name: "AcCheckRadio",
17
- props: /*@__PURE__*/ a({
36
+ props: /*@__PURE__*/ l({
18
37
  options: {},
19
38
  name: { default: "radio" },
20
39
  row: {
@@ -25,32 +44,89 @@ var h = {
25
44
  type: Boolean,
26
45
  default: !1
27
46
  },
47
+ showRadio: {
48
+ type: Boolean,
49
+ default: !1
50
+ },
28
51
  errorMsg: { default: "" }
29
52
  }, {
30
53
  modelValue: {},
31
54
  modelModifiers: {}
32
55
  }),
33
56
  emits: ["update:modelValue"],
34
- setup(i) {
35
- let a = f(i, "modelValue"), x = d();
36
- return (d, f) => (s(), n("div", h, [r("div", { class: o(i.cards ? "grid gap-3 sm:grid-cols-2" : i.row ? "flex flex-row flex-wrap gap-x-6 gap-y-2" : "flex flex-col gap-2.5") }, [(s(!0), n(e, null, c(i.options, (e, c) => (s(), n("label", {
57
+ setup(c) {
58
+ let l = v(c, "modelValue"), P = {
59
+ primary: "bg-primary/10 text-primary-strong",
60
+ info: "bg-info/10 text-info-strong",
61
+ success: "bg-success/10 text-success-strong",
62
+ warning: "bg-warning/10 text-warning-strong",
63
+ danger: "bg-danger/10 text-danger-strong",
64
+ neutral: "bg-surface-sunken text-muted"
65
+ }, F = y(), I = _(), L = n(() => !!F["option-extra"]);
66
+ return (n, _) => (d(), a("div", w, [o("div", { class: u(c.cards ? ["grid gap-3", !L.value && "sm:grid-cols-2"] : c.row ? "flex flex-row flex-wrap gap-x-6 gap-y-3" : "flex flex-col gap-3") }, [(d(!0), a(e, null, f(c.options, (e, f) => (d(), r(m(L.value ? "div" : "label"), {
37
67
  key: e.label,
38
- for: `${u(x)}-${c}`,
39
- class: o(["group flex cursor-pointer gap-2.5 text-base text-heading", [e.disabled && "cursor-not-allowed opacity-50", i.cards && "rounded-10 border border-border bg-surface p-4 shadow-xs transition-[border-color,box-shadow,background-color] duration-150 hover:border-border-dark has-checked:border-primary has-checked:bg-primary-97/60 has-checked:shadow-[0_0_0_1px_var(--color-primary)] has-focus-visible:shadow-[0_0_0_3px_var(--color-ring)]"]])
40
- }, [m(r("input", {
41
- id: `${u(x)}-${c}`,
42
- "onUpdate:modelValue": f[0] ||= (e) => a.value = e,
43
- type: "radio",
44
- name: `${i.name}-${u(x)}`,
45
- value: e.value,
46
- disabled: e.disabled,
47
- class: "mt-0.5 size-4 shrink-0 cursor-pointer appearance-none rounded-full border border-border-dark bg-surface shadow-xs transition-[border-color,border-width] duration-150 group-hover:border-slate-60 checked:border-[5px] checked:border-primary focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring disabled:cursor-not-allowed"
48
- }, null, 8, _), [[p, a.value]]), r("span", v, [r("span", { class: o(i.cards && "font-medium") }, l(e.label), 3), i.cards && e.description ? (s(), n("span", {
49
- key: 0,
50
- class: "mt-0.5 line-clamp-2 text-xs text-muted",
51
- title: e.description
52
- }, l(e.description), 9, y)) : t("", !0)])], 10, g))), 128))], 2), i.errorMsg ? (s(), n("p", b, l(i.errorMsg), 1)) : t("", !0)]));
68
+ for: L.value ? void 0 : `${g(I)}-${f}`,
69
+ class: u(["group flex cursor-pointer gap-3 text-base text-heading select-none", [
70
+ c.cards ? "relative items-start rounded-14 border border-border bg-surface p-3 transition-[border-color,background-color,box-shadow] duration-200 ease-out 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-background motion-reduce:transition-none" : L.value ? "relative items-center" : "w-fit items-center",
71
+ e.disabled && ["cursor-not-allowed", c.cards ? "opacity-60" : "opacity-50"],
72
+ L.value && "flex-wrap",
73
+ c.cards && !e.disabled && "hover:border-primary/40 hover:bg-accent-hover has-checked:hover:border-primary has-checked:hover:bg-primary/5"
74
+ ]])
75
+ }, {
76
+ default: x(() => [
77
+ (d(), r(m(L.value ? "label" : "span"), {
78
+ for: L.value ? `${g(I)}-${f}` : void 0,
79
+ class: u(L.value ? [
80
+ "flex min-w-0 flex-1 basis-[240px] gap-3 after:absolute after:inset-0",
81
+ c.cards ? "items-start" : "items-center",
82
+ e.disabled ? "cursor-not-allowed" : "cursor-pointer"
83
+ ] : "contents")
84
+ }, {
85
+ default: x(() => [o("span", { class: u(c.cards && !c.showRadio ? "sr-only" : ["relative inline-flex size-[18px] shrink-0", c.cards && "mt-0.5"]) }, [S(o("input", {
86
+ id: `${g(I)}-${f}`,
87
+ "onUpdate:modelValue": _[0] ||= (e) => l.value = e,
88
+ type: "radio",
89
+ name: `${c.name}-${g(I)}`,
90
+ value: e.value,
91
+ disabled: e.disabled,
92
+ class: u(["peer size-[18px] cursor-pointer appearance-none rounded-full border border-muted/70 bg-background transition-colors duration-200 group-hover:enabled:not-checked:border-primary/60 checked:border-primary checked:bg-primary focus-visible:outline-none disabled:cursor-not-allowed disabled:bg-surface-sunken motion-reduce:transition-none", !c.cards && "focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-surface"])
93
+ }, null, 10, T), [[b, l.value]]), _[1] ||= o("span", {
94
+ class: "pointer-events-none absolute inset-0 m-auto size-1.5 scale-0 rounded-full bg-white transition-transform duration-200 peer-checked:scale-100 motion-reduce:transition-none",
95
+ "aria-hidden": "true"
96
+ }, null, -1)], 2), p(n.$slots, "option", {
97
+ option: e,
98
+ checked: l.value === e.value
99
+ }, () => [e.icon ? (d(), a("span", E, [(d(), r(m(e.icon), { class: "size-5" }))])) : e.logo ? (d(), a("img", {
100
+ key: 1,
101
+ src: e.logo,
102
+ alt: "",
103
+ class: "size-8 shrink-0 rounded-10 border border-border bg-surface object-contain p-1"
104
+ }, null, 8, D)) : i("", !0), o("span", O, [e.badge ? (d(), a("span", k, [o("span", { class: u(c.cards ? "font-semibold" : "font-medium") }, h(e.label), 3), o("span", { class: u(["rounded-full px-2 py-0.5 text-xs font-medium", P[e.badgeColor ?? "primary"]]) }, h(e.badge), 3)])) : (d(), a("span", {
105
+ key: 1,
106
+ class: u(c.cards ? "font-semibold" : "font-medium")
107
+ }, h(e.label), 3)), c.cards && e.description ? (d(), a("span", A, h(e.description), 1)) : i("", !0)])])]),
108
+ _: 2
109
+ }, 1032, ["for", "class"])),
110
+ L.value ? (d(), a("div", j, [p(n.$slots, "option-extra", {
111
+ option: e,
112
+ checked: l.value === e.value
113
+ })])) : i("", !0),
114
+ s(t, {
115
+ "enter-active-class": "transition duration-150 ease-out motion-reduce:transition-none",
116
+ "enter-from-class": "scale-50 opacity-0",
117
+ "leave-active-class": "transition duration-100 ease-in motion-reduce:transition-none",
118
+ "leave-to-class": "scale-50 opacity-0"
119
+ }, {
120
+ default: x(() => [c.cards && !c.showRadio && !L.value && l.value === e.value ? (d(), a("span", M, [s(g(C), {
121
+ class: "size-2.5",
122
+ "stroke-width": 3.5
123
+ })])) : i("", !0)]),
124
+ _: 2
125
+ }, 1024)
126
+ ]),
127
+ _: 2
128
+ }, 1032, ["for", "class"]))), 128))], 2), c.errorMsg ? (d(), a("p", N, h(c.errorMsg), 1)) : i("", !0)]));
53
129
  }
54
130
  });
55
131
  //#endregion
56
- export { x as default };
132
+ export { P as default };
@@ -0,0 +1,5 @@
1
+ import e from "./AcCircularProgress.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/lib/components/AcCircularProgress.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,44 @@
1
+ import type { Tone } from "./types";
2
+ export interface Props {
3
+ /** Current amount, from 0 to `max`. Values outside are clamped. Ignored while `indeterminate`. */
4
+ value?: number;
5
+ /** The amount that fills the ring. */
6
+ max?: number;
7
+ /** Diameter: `small` 32px, `normal` 44px (cloud-ui's default), `large` 80px, or a number of pixels. */
8
+ size?: "small" | "normal" | "large" | number;
9
+ /** Ring thickness in pixels. Defaults to 3, 4 and 6 for the named sizes, and about a tenth of a numeric size. */
10
+ strokeWidth?: number;
11
+ /** Shows the percentage, or `valueText`, in the centre. Turn it off below 40px. */
12
+ showLabel?: boolean;
13
+ /** Replaces the percentage in the centre and for screen readers, e.g. "3/5". Keep it to 4 characters. */
14
+ valueText?: string;
15
+ /** Ring colour. `progress` follows the value as in cloud-ui: danger below 30%, warning to 59%, info to 99%, success at 100%. `auto` is for quotas: primary, then warning from 80% and danger from 95%, as in AcProgress. */
16
+ color?: Tone | "auto" | "progress";
17
+ /** The accessible name, e.g. "CPU usage" or "Image sync to nyc1". Without it the ring is read as "Progress". */
18
+ label?: string;
19
+ /** For work of unknown length: a spinning quarter ring with no value. */
20
+ indeterminate?: boolean;
21
+ }
22
+ type __VLS_Slots = {
23
+ /** Custom centre content instead of the percentage, e.g. a 16px icon. Also shown while `indeterminate`. Hidden from screen readers; set `valueText` for them. */
24
+ default?: () => unknown;
25
+ };
26
+ declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
27
+ label: string;
28
+ value: number;
29
+ color: Tone | "auto" | "progress";
30
+ max: number;
31
+ size: "small" | "normal" | "large" | number;
32
+ strokeWidth: number;
33
+ indeterminate: boolean;
34
+ showLabel: boolean;
35
+ valueText: string;
36
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
37
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
38
+ declare const _default: typeof __VLS_export;
39
+ export default _default;
40
+ type __VLS_WithSlots<T, S> = T & {
41
+ new (): {
42
+ $slots: S;
43
+ };
44
+ };