@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,35 +1,35 @@
1
- import e from "./AcThemeMode.js";
1
+ import e from "./AcAvatar.js";
2
2
  import t from "./AcFontScale.js";
3
- import { Fragment as n, Teleport as r, Transition as i, computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createTextVNode as u, createVNode as d, defineComponent as f, getCurrentInstance as p, mergeModels as m, mergeProps as ee, nextTick as h, normalizeClass as g, normalizeStyle as te, onBeforeUnmount as ne, openBlock as _, ref as v, renderList as y, renderSlot as b, resolveDynamicComponent as x, toDisplayString as S, unref as C, useId as re, useModel as ie, watch as w, withCtx as T } from "vue";
4
- import { ChevronDown as ae, LogOut as oe } from "@lucide/vue";
3
+ import n from "./AcThemeMode.js";
4
+ import { Fragment as r, Teleport as i, Transition as a, computed as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, createTextVNode as d, createVNode as f, defineComponent as p, getCurrentInstance as m, mergeModels as h, mergeProps as ee, nextTick as g, normalizeClass as _, normalizeStyle as te, onBeforeUnmount as ne, openBlock as v, ref as y, renderList as b, renderSlot as re, resolveDynamicComponent as x, toDisplayString as S, unref as C, useId as ie, useModel as w, watch as T, withCtx as E } from "vue";
5
+ import { Building2 as ae, Check as oe, ChevronDown as se, LogOut as ce } from "@lucide/vue";
5
6
  //#region src/lib/components/AcUserMenu.vue?vue&type=script&setup=true&lang.ts
6
- var se = {
7
+ var le = {
7
8
  class: "inline-flex",
8
9
  "data-ac-ds": "",
9
10
  "data-testid": "ac-user-menu"
10
- }, ce = [
11
+ }, ue = [
11
12
  "aria-expanded",
12
13
  "aria-controls",
13
14
  "aria-label"
14
- ], le = {
15
- class: "inline-flex size-7 shrink-0 items-center justify-center overflow-hidden rounded-full bg-primary-90 text-xs font-semibold text-primary-20 ring-1 ring-border",
15
+ ], de = {
16
+ key: 0,
17
+ class: "hidden max-w-36 truncate text-base font-medium text-heading md:block"
18
+ }, fe = {
19
+ class: "inline-flex size-9 shrink-0 rounded-full bg-linear-to-r from-primary/70 to-primary/90 p-0.5",
16
20
  "aria-hidden": "true"
17
- }, ue = ["src"], de = { class: "hidden max-w-36 truncate text-base font-medium text-heading sm:block" }, E = {
18
- class: "inline-flex size-9 shrink-0 items-center justify-center overflow-hidden rounded-full bg-primary-90 text-base font-semibold text-primary-20 ring-1 ring-border",
21
+ }, pe = { class: "inline-flex size-full items-center justify-center overflow-hidden rounded-full bg-surface text-xs font-semibold text-primary-strong" }, me = ["src"], he = {
22
+ class: "inline-flex size-10 shrink-0 items-center justify-center overflow-hidden rounded-full bg-primary/10 text-base font-semibold text-primary-strong ring-1 ring-primary/25 ring-inset",
19
23
  "aria-hidden": "true"
20
- }, D = ["src"], fe = { class: "min-w-0 flex-1" }, pe = { class: "block truncate text-base font-medium text-heading" }, me = {
24
+ }, ge = ["src"], _e = { class: "min-w-0 flex-1" }, ve = { class: "block truncate text-base font-medium text-heading" }, ye = {
21
25
  key: 0,
22
26
  class: "block truncate text-xs text-muted"
23
- }, he = {
24
- key: 0,
27
+ }, be = ["aria-labelledby"], xe = ["id"], Se = { class: "flex flex-col gap-1" }, Ce = ["aria-checked", "onClick"], we = { class: "flex min-w-0 items-center gap-2" }, Te = { class: "min-w-0" }, Ee = { class: "block truncate font-medium text-heading" }, D = { class: "block truncate text-xs text-muted" }, De = ["aria-labelledby"], Oe = ["id"], ke = ["aria-labelledby"], Ae = ["id"], je = {
25
28
  role: "group",
26
- class: "flex flex-col gap-px p-1"
27
- }, ge = { class: "min-w-0 flex-1 truncate" }, _e = ["aria-labelledby"], ve = ["id"], ye = ["aria-labelledby"], be = ["id"], O = {
28
- role: "group",
29
- class: "border-t border-border-light p-1"
30
- }, k = "flex h-8 w-full cursor-pointer items-center gap-2.5 rounded-6 px-2.5 text-left text-base text-body outline-none transition-colors hover:bg-surface-muted hover:text-heading focus-visible:bg-surface-muted focus-visible:text-heading aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-muted", A = "[role=\"menuitem\"]:not([aria-disabled=\"true\"]), [role=\"radio\"]", j = /*@__PURE__*/ f({
29
+ class: "mt-1 flex flex-col border-t border-border py-1"
30
+ }, Me = { class: "min-w-0 flex-1 truncate" }, O = "flex min-h-10 w-full cursor-pointer items-center gap-2 rounded-8 px-4 py-2.5 text-left text-base font-medium no-underline outline-none transition-colors duration-150 hover:bg-surface-sunken focus-visible:bg-surface-sunken focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0", Ne = "[role=\"menuitem\"]:not([aria-disabled=\"true\"]), [role=\"menuitemradio\"], [role=\"radio\"]", k = /*@__PURE__*/ p({
31
31
  __name: "AcUserMenu",
32
- props: /*@__PURE__*/ m({
32
+ props: /*@__PURE__*/ h({
33
33
  name: {},
34
34
  email: { default: "" },
35
35
  avatarUrl: { default: "" },
@@ -48,31 +48,36 @@ var se = {
48
48
  default: !0
49
49
  },
50
50
  logoutUrl: { default: "" },
51
- logoutLabel: { default: "Sign out" }
51
+ logoutLabel: { default: "Sign out" },
52
+ workspaces: { default: () => [] },
53
+ workspacesLabel: { default: "Workspaces" }
52
54
  }, {
53
55
  open: {
54
56
  type: Boolean,
55
57
  default: !1
56
58
  },
57
- openModifiers: {}
59
+ openModifiers: {},
60
+ workspace: { default: "" },
61
+ workspaceModifiers: {}
58
62
  }),
59
- emits: /*@__PURE__*/ m([
63
+ emits: /*@__PURE__*/ h([
60
64
  "select",
61
65
  "logout",
62
- "set:theme"
63
- ], ["update:open"]),
64
- setup(f, { emit: m }) {
65
- let j = f, M = ie(f, "open"), N = m, P = p()?.appContext.components.RouterLink, F = re(), I = `${F}-trigger`, L = `${F}-menu`, R = v(null), z = v(null), B = v(!1), V = v({
66
+ "set:theme",
67
+ "switch-workspace"
68
+ ], ["update:open", "update:workspace"]),
69
+ setup(p, { emit: h }) {
70
+ let k = p, A = w(p, "open"), j = w(p, "workspace"), M = h, N = `${O} text-heading [&>svg]:text-muted`, Pe = `${O} text-danger-strong`, P = m()?.appContext.components.RouterLink, F = ie(), I = `${F}-trigger`, L = `${F}-menu`, R = y(null), z = y(null), B = y(!1), V = y({
66
71
  top: 0,
67
72
  right: 0
68
- }), H = a(() => {
69
- let e = j.name.trim().split(/[\s._-]+/).filter(Boolean);
73
+ }), H = o(() => {
74
+ let e = k.name.trim().split(/[\s._-]+/).filter(Boolean);
70
75
  return e.length ? (e[0].charAt(0) + (e.length > 1 ? e[e.length - 1].charAt(0) : "")).toUpperCase() : "?";
71
- }), U = a(() => !!j.avatarUrl && !B.value);
76
+ }), U = o(() => !!k.avatarUrl && !B.value);
72
77
  function W(e) {
73
78
  return e.to && P && !e.disabled ? P : e.to || e.href ? "a" : "button";
74
79
  }
75
- function xe(e) {
80
+ function Fe(e) {
76
81
  let t = W(e);
77
82
  return t === P ? { to: e.to } : t === "a" ? e.disabled ? { "aria-disabled": "true" } : { href: e.href ?? (typeof e.to == "string" ? e.to : void 0) } : {
78
83
  type: "button",
@@ -80,7 +85,7 @@ var se = {
80
85
  };
81
86
  }
82
87
  function G() {
83
- return [...z.value?.querySelectorAll(A) ?? []];
88
+ return [...z.value?.querySelectorAll(Ne) ?? []];
84
89
  }
85
90
  function K(e) {
86
91
  let t = G();
@@ -89,37 +94,40 @@ var se = {
89
94
  function q() {
90
95
  let e = R.value;
91
96
  if (!e) return;
92
- let t = e.getBoundingClientRect(), n = z.value?.offsetHeight ?? 320, r = Math.max(8, window.innerWidth - t.right), i = window.innerHeight - t.bottom - 6 - 8;
93
- V.value = i < n && t.top > i ? {
97
+ let t = e.getBoundingClientRect(), n = z.value?.offsetHeight ?? 320, r = z.value?.offsetWidth ?? 256, i = Math.max(8, Math.min(window.innerWidth - t.right, window.innerWidth - r - 8)), a = window.innerHeight - t.bottom - 6 - 8;
98
+ V.value = a < n && t.top > a ? {
94
99
  bottom: window.innerHeight - t.top + 6,
95
- right: r
100
+ right: i
96
101
  } : {
97
102
  top: t.bottom + 6,
98
- right: r
103
+ right: i
99
104
  };
100
105
  }
101
106
  async function J(e = "first") {
102
- M.value = !0, await h(), q(), K(e === "first" ? 0 : -1);
107
+ A.value = !0, await g(), q(), K(e === "first" ? 0 : -1);
103
108
  }
104
109
  function Y(e = !0) {
105
- M.value && (M.value = !1, e && R.value?.focus());
110
+ A.value && (A.value = !1, e && R.value?.focus());
106
111
  }
107
- function X(e) {
112
+ function Ie(e) {
108
113
  [
109
114
  "Enter",
110
115
  " ",
111
116
  "ArrowDown"
112
117
  ].includes(e.key) ? (e.preventDefault(), J("first")) : e.key === "ArrowUp" && (e.preventDefault(), J("last"));
113
118
  }
114
- function Se(e) {
119
+ function X(e) {
115
120
  let t = G().indexOf(document.activeElement);
116
121
  e.key === "ArrowDown" ? (e.preventDefault(), K(t + 1)) : e.key === "ArrowUp" ? (e.preventDefault(), K(t - 1)) : e.key === "Home" ? (e.preventDefault(), K(0)) : e.key === "End" ? (e.preventDefault(), K(-1)) : e.key === "Escape" ? (e.preventDefault(), e.stopPropagation(), Y()) : e.key === "Tab" && Y();
117
122
  }
118
- function Ce(e) {
119
- e.disabled || (N("select", e), Y());
123
+ function Le(e) {
124
+ e.disabled || (M("select", e), Y());
125
+ }
126
+ function Re(e) {
127
+ e.name !== j.value && (j.value = e.name, M("switch-workspace", e)), Y();
120
128
  }
121
- function we() {
122
- N("logout"), Y(!1);
129
+ function ze() {
130
+ M("logout"), Y(!1);
123
131
  }
124
132
  function Z(e) {
125
133
  let t = e.target;
@@ -131,46 +139,51 @@ var se = {
131
139
  function $() {
132
140
  document.removeEventListener("pointerdown", Z, !0), window.removeEventListener("scroll", Q, !0), window.removeEventListener("resize", Q);
133
141
  }
134
- return w(M, (e) => {
142
+ return T(A, (e) => {
135
143
  if (!e) return $();
136
- document.addEventListener("pointerdown", Z, !0), window.addEventListener("scroll", Q, !0), window.addEventListener("resize", Q), h(q);
137
- }), w(() => j.avatarUrl, () => B.value = !1), ne($), (a, p) => (_(), c("div", se, [l("button", {
144
+ document.addEventListener("pointerdown", Z, !0), window.addEventListener("scroll", Q, !0), window.addEventListener("resize", Q), g(q);
145
+ }), T(() => k.avatarUrl, () => B.value = !1), ne($), (o, m) => (v(), l("div", le, [u("button", {
138
146
  id: I,
139
147
  ref_key: "trigger",
140
148
  ref: R,
141
149
  type: "button",
142
150
  "aria-haspopup": "menu",
143
- "aria-expanded": M.value,
144
- "aria-controls": M.value ? L : void 0,
145
- "aria-label": `${f.name}, account menu`,
146
- class: g(["group inline-flex h-8 shrink-0 cursor-pointer items-center gap-2 rounded-50 p-0.5 transition-colors hover:bg-surface-sunken focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring", [f.showName && "sm:pr-2", M.value && "bg-surface-sunken"]]),
151
+ "aria-expanded": A.value,
152
+ "aria-controls": A.value ? L : void 0,
153
+ "aria-label": `${p.name}, account menu`,
154
+ class: _(["group inline-flex shrink-0 cursor-pointer items-center gap-2 rounded-10 border border-transparent p-2 transition-colors duration-200 hover:border-border hover:bg-surface-sunken/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-surface", [p.showName && "md:px-4", A.value && "border-border bg-surface-sunken/50"]]),
147
155
  "data-ac-ds": "",
148
156
  "data-testid": "ac-user-menu-trigger",
149
- onClick: p[1] ||= (e) => M.value ? Y() : J(),
150
- onKeydown: X
151
- }, [l("span", le, [U.value ? (_(), c("img", {
152
- key: 0,
153
- src: f.avatarUrl,
154
- alt: "",
155
- class: "size-full object-cover",
156
- onError: p[0] ||= (e) => B.value = !0
157
- }, null, 40, ue)) : (_(), c(n, { key: 1 }, [u(S(H.value), 1)], 64))]), f.showName ? (_(), c(n, { key: 0 }, [l("span", de, S(f.name), 1), d(C(ae), {
158
- class: g(["hidden size-3.5 shrink-0 text-muted transition-transform duration-150 motion-reduce:transition-none sm:block", M.value && "rotate-180"]),
159
- "aria-hidden": "true"
160
- }, null, 8, ["class"])], 64)) : s("", !0)], 42, ce), (_(), o(r, { to: "body" }, [d(i, {
157
+ onClick: m[1] ||= (e) => A.value ? Y() : J(),
158
+ onKeydown: Ie
159
+ }, [
160
+ p.showName ? (v(), l("span", de, S(p.name), 1)) : c("", !0),
161
+ u("span", fe, [u("span", pe, [U.value ? (v(), l("img", {
162
+ key: 0,
163
+ src: p.avatarUrl,
164
+ alt: "",
165
+ class: "size-full object-cover",
166
+ onError: m[0] ||= (e) => B.value = !0
167
+ }, null, 40, me)) : (v(), l(r, { key: 1 }, [d(S(H.value), 1)], 64))])]),
168
+ p.showName ? (v(), s(C(se), {
169
+ key: 1,
170
+ class: _(["hidden size-4 shrink-0 text-muted transition-transform duration-200 motion-reduce:transition-none sm:block", A.value && "rotate-180"]),
171
+ "aria-hidden": "true"
172
+ }, null, 8, ["class"])) : c("", !0)
173
+ ], 42, ue), (v(), s(i, { to: "body" }, [f(a, {
161
174
  "enter-active-class": "transition duration-150 ease-out motion-reduce:transition-none",
162
- "enter-from-class": "opacity-0 -translate-y-1 scale-[0.98]",
175
+ "enter-from-class": "opacity-0 scale-95",
163
176
  "leave-active-class": "transition duration-100 ease-in",
164
177
  "leave-to-class": "opacity-0"
165
178
  }, {
166
- default: T(() => [M.value ? (_(), c("div", {
179
+ default: E(() => [A.value ? (v(), l("div", {
167
180
  key: 0,
168
181
  id: L,
169
182
  ref_key: "panel",
170
183
  ref: z,
171
184
  role: "menu",
172
185
  "aria-labelledby": I,
173
- class: "fixed z-[90] w-72 max-w-[calc(100vw-16px)] overflow-hidden rounded-10 border border-border bg-surface shadow-lg",
186
+ class: "fixed z-[90] w-64 max-w-[calc(100vw-16px)] origin-top-right overflow-hidden rounded-14 border border-border/80 bg-surface p-1 shadow-lg",
174
187
  style: te({
175
188
  top: V.value.top === void 0 ? void 0 : `${V.value.top}px`,
176
189
  bottom: V.value.bottom === void 0 ? void 0 : `${V.value.bottom}px`,
@@ -178,21 +191,21 @@ var se = {
178
191
  }),
179
192
  "data-ac-ds": "",
180
193
  "data-testid": "ac-user-menu-panel",
181
- onKeydown: Se
194
+ onKeydown: X
182
195
  }, [
183
- (_(), o(x(f.profileUrl ? "a" : "div"), {
184
- href: f.profileUrl || void 0,
185
- role: f.profileUrl ? "menuitem" : "presentation",
186
- tabindex: f.profileUrl ? -1 : void 0,
187
- class: g(["flex items-center gap-3 border-b border-border-light px-3.5 py-3 outline-none", f.profileUrl && "transition-colors hover:bg-surface-muted focus-visible:bg-surface-muted"])
196
+ (v(), s(x(p.profileUrl ? "a" : "div"), {
197
+ href: p.profileUrl || void 0,
198
+ role: p.profileUrl ? "menuitem" : "presentation",
199
+ tabindex: p.profileUrl ? -1 : void 0,
200
+ class: _(["flex items-center gap-3 rounded-8 px-3 py-2.5 no-underline outline-none", p.profileUrl && "transition-colors duration-150 hover:bg-surface-sunken focus-visible:bg-surface-sunken focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset"])
188
201
  }, {
189
- default: T(() => [l("span", E, [U.value ? (_(), c("img", {
202
+ default: E(() => [u("span", he, [U.value ? (v(), l("img", {
190
203
  key: 0,
191
- src: f.avatarUrl,
204
+ src: p.avatarUrl,
192
205
  alt: "",
193
206
  class: "size-full object-cover",
194
- onError: p[2] ||= (e) => B.value = !0
195
- }, null, 40, D)) : (_(), c(n, { key: 1 }, [u(S(H.value), 1)], 64))]), l("span", fe, [l("span", pe, S(f.name), 1), f.email ? (_(), c("span", me, S(f.email), 1)) : s("", !0)])]),
207
+ onError: m[2] ||= (e) => B.value = !0
208
+ }, null, 40, ge)) : (v(), l(r, { key: 1 }, [d(S(H.value), 1)], 64))]), u("span", _e, [u("span", ve, S(p.name), 1), p.email ? (v(), l("span", ye, S(p.email), 1)) : c("", !0)])]),
196
209
  _: 1
197
210
  }, 8, [
198
211
  "href",
@@ -200,59 +213,97 @@ var se = {
200
213
  "tabindex",
201
214
  "class"
202
215
  ])),
203
- f.items.length || a.$slots.default ? (_(), c("div", he, [(_(!0), c(n, null, y(f.items, (e) => (_(), o(x(W(e)), ee({ key: e.label }, { ref_for: !0 }, xe(e), {
204
- role: "menuitem",
216
+ p.workspaces.length ? (v(), l("div", {
217
+ key: 0,
218
+ role: "group",
219
+ "aria-labelledby": `${C(F)}-workspaces`,
220
+ class: "mt-1 border-t border-border px-3 py-2"
221
+ }, [u("p", {
222
+ id: `${C(F)}-workspaces`,
223
+ class: "mb-2 flex items-center gap-2 text-xs font-semibold tracking-wide text-muted uppercase"
224
+ }, [f(C(ae), {
225
+ class: "size-4",
226
+ "aria-hidden": "true"
227
+ }), d(" " + S(p.workspacesLabel), 1)], 8, xe), u("div", Se, [(v(!0), l(r, null, b(p.workspaces, (t) => (v(), l("button", {
228
+ key: t.name,
229
+ type: "button",
230
+ role: "menuitemradio",
205
231
  tabindex: "-1",
206
- class: k,
207
- onClick: (t) => Ce(e)
208
- }), {
209
- default: T(() => [e.icon ? (_(), o(x(e.icon), {
210
- key: 0,
211
- "aria-hidden": "true"
212
- })) : s("", !0), l("span", ge, S(e.label), 1)]),
213
- _: 2
214
- }, 1040, ["onClick"]))), 128)), b(a.$slots, "default", {
215
- close: Y,
216
- itemClass: k
217
- })])) : s("", !0),
218
- f.showThemeMode ? (_(), c("div", {
232
+ "aria-checked": t.name === j.value,
233
+ class: _(["flex w-full cursor-pointer items-center justify-between gap-2 rounded-8 px-2 py-2 text-left text-base outline-none transition-colors duration-150 hover:bg-surface-sunken focus-visible:bg-surface-sunken focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset", t.name === j.value && "bg-surface-sunken/50"]),
234
+ "data-ac-ds": "",
235
+ "data-testid": "ac-user-menu-workspace",
236
+ onClick: (e) => Re(t)
237
+ }, [u("span", we, [f(e, {
238
+ name: t.displayName || t.name,
239
+ "img-url": t.avatarUrl,
240
+ kind: t.type === "user" ? "person" : "organization",
241
+ alt: ""
242
+ }, null, 8, [
243
+ "name",
244
+ "img-url",
245
+ "kind"
246
+ ]), u("span", Te, [u("span", Ee, S(t.displayName || t.name), 1), u("span", D, [d(S(t.name), 1), t.type === "user" ? (v(), l(r, { key: 0 }, [d(" (Personal)")], 64)) : c("", !0)])])]), t.name === j.value ? (v(), s(C(oe), {
247
+ key: 0,
248
+ class: "size-4 shrink-0 text-primary",
249
+ "aria-hidden": "true"
250
+ })) : c("", !0)], 10, Ce))), 128))])], 8, be)) : c("", !0),
251
+ p.showThemeMode ? (v(), l("div", {
219
252
  key: 1,
220
253
  role: "group",
221
254
  "aria-labelledby": `${C(F)}-theme`,
222
- class: "border-t border-border-light px-3.5 py-2.5"
223
- }, [l("p", {
255
+ class: "mt-1 border-t border-border px-1 pt-2 pb-1"
256
+ }, [u("p", {
224
257
  id: `${C(F)}-theme`,
225
- class: "mb-1.5 text-xs font-medium text-label"
226
- }, "Theme", 8, ve), d(e, {
258
+ class: "mb-2 px-2 text-sm font-semibold tracking-[0.08em] text-muted uppercase"
259
+ }, "Theme", 8, Oe), f(n, {
227
260
  display: "labels",
228
- "onSet:theme": p[3] ||= (e) => N("set:theme", e)
229
- })], 8, _e)) : s("", !0),
230
- f.showFontScale ? (_(), c("div", {
261
+ "onSet:theme": m[3] ||= (e) => M("set:theme", e)
262
+ })], 8, De)) : c("", !0),
263
+ p.showFontScale ? (v(), l("div", {
231
264
  key: 2,
232
265
  role: "group",
233
266
  "aria-labelledby": `${C(F)}-scale`,
234
- class: "border-t border-border-light px-3.5 py-2.5"
235
- }, [l("p", {
267
+ class: "mt-1 border-t border-border px-1 pt-2 pb-1"
268
+ }, [u("p", {
236
269
  id: `${C(F)}-scale`,
237
- class: "mb-1.5 text-xs font-medium text-label"
238
- }, "Text size", 8, be), d(t, { display: "labels" })], 8, ye)) : s("", !0),
239
- l("div", O, [(_(), o(x(f.logoutUrl ? "a" : "button"), {
240
- href: f.logoutUrl || void 0,
241
- type: f.logoutUrl ? void 0 : "button",
242
- role: "menuitem",
243
- tabindex: "-1",
244
- class: g(k),
245
- "data-ac-ds": "",
246
- "data-testid": "ac-user-menu-logout",
247
- onClick: we
248
- }, {
249
- default: T(() => [d(C(oe), { "aria-hidden": "true" }), l("span", null, S(f.logoutLabel), 1)]),
250
- _: 1
251
- }, 8, ["href", "type"]))])
252
- ], 36)) : s("", !0)]),
270
+ class: "mb-2 px-2 text-sm font-semibold tracking-[0.08em] text-muted uppercase"
271
+ }, "Text size", 8, Ae), f(t, { display: "labels" })], 8, ke)) : c("", !0),
272
+ u("div", je, [
273
+ (v(!0), l(r, null, b(p.items, (e) => (v(), s(x(W(e)), ee({ key: e.label }, { ref_for: !0 }, Fe(e), {
274
+ role: "menuitem",
275
+ tabindex: "-1",
276
+ class: N,
277
+ onClick: (t) => Le(e)
278
+ }), {
279
+ default: E(() => [e.icon ? (v(), s(x(e.icon), {
280
+ key: 0,
281
+ "aria-hidden": "true"
282
+ })) : c("", !0), u("span", Me, S(e.label), 1)]),
283
+ _: 2
284
+ }, 1040, ["onClick"]))), 128)),
285
+ re(o.$slots, "default", {
286
+ close: Y,
287
+ itemClass: N
288
+ }),
289
+ (v(), s(x(p.logoutUrl ? "a" : "button"), {
290
+ href: p.logoutUrl || void 0,
291
+ type: p.logoutUrl ? void 0 : "button",
292
+ role: "menuitem",
293
+ tabindex: "-1",
294
+ class: _(Pe),
295
+ "data-ac-ds": "",
296
+ "data-testid": "ac-user-menu-logout",
297
+ onClick: ze
298
+ }, {
299
+ default: E(() => [f(C(ce), { "aria-hidden": "true" }), u("span", null, S(p.logoutLabel), 1)]),
300
+ _: 1
301
+ }, 8, ["href", "type"]))
302
+ ])
303
+ ], 36)) : c("", !0)]),
253
304
  _: 3
254
305
  })]))]));
255
306
  }
256
307
  });
257
308
  //#endregion
258
- export { j as default };
309
+ export { k as default };
@@ -6,17 +6,24 @@ export { default as AcAvatar } from "./AcAvatar.vue";
6
6
  export { default as AcBadge } from "./AcBadge.vue";
7
7
  export { default as AcBanner } from "./AcBanner.vue";
8
8
  export { default as AcBreadcrumb } from "./AcBreadcrumb.vue";
9
+ export { default as AcBulkActionBar } from "./AcBulkActionBar.vue";
9
10
  export { default as AcButton } from "./AcButton.vue";
10
11
  export { default as AcButtons } from "./AcButtons.vue";
11
12
  export { default as AcCard } from "./AcCard.vue";
12
- export { default as AcPage } from "./AcPage.vue";
13
13
  export { default as AcCellValue } from "./AcCellValue.vue";
14
14
  export { default as AcCheckBox } from "./AcCheckBox.vue";
15
+ export { default as AcCheckList } from "./AcCheckList.vue";
15
16
  export { default as AcCheckRadio } from "./AcCheckRadio.vue";
17
+ export { default as AcCircularProgress } from "./AcCircularProgress.vue";
16
18
  export { default as AcClusterSwitcher } from "./AcClusterSwitcher.vue";
19
+ export { default as AcColorInput } from "./AcColorInput.vue";
20
+ export { default as AcCommandBlock } from "./AcCommandBlock.vue";
21
+ export { default as AcConfirmModal } from "./AcConfirmModal.vue";
17
22
  export { default as AcContentHeader } from "./AcContentHeader.vue";
18
23
  export { default as AcContentLayout } from "./AcContentLayout.vue";
19
24
  export { default as AcContentTable } from "./AcContentTable.vue";
25
+ export { default as AcCopyButton } from "./AcCopyButton.vue";
26
+ export { default as AcCostSummary } from "./AcCostSummary.vue";
20
27
  export { default as AcDatePicker } from "./AcDatePicker.vue";
21
28
  export { default as AcDeleteConfirmationModal } from "./AcDeleteModal.vue";
22
29
  export { default as AcDeleteModal } from "./AcDeleteModal.vue";
@@ -25,8 +32,11 @@ export { default as AcDropdown } from "./AcDropdown.vue";
25
32
  export { default as AcDropdownDivider } from "./AcDropdownDivider.vue";
26
33
  export { default as AcDropdownItem } from "./AcDropdownItem.vue";
27
34
  export { default as AcEmptyState } from "./AcEmptyState.vue";
35
+ export { default as AcErrorState } from "./AcErrorState.vue";
28
36
  export { default as AcFeatureCard } from "./AcFeatureCard.vue";
29
37
  export { default as AcFileUpload } from "./AcFileUpload.vue";
38
+ export { default as AcFontScale } from "./AcFontScale.vue";
39
+ export { default as AcFooter } from "./AcFooter.vue";
30
40
  export { default as AcForm } from "./AcForm.vue";
31
41
  export { default as AcFormArray } from "./AcFormArray.vue";
32
42
  export { default as AcFormFooter } from "./AcFormFooter.vue";
@@ -37,18 +47,25 @@ export { default as AcHeaderItems } from "./AcHeaderItems.vue";
37
47
  export { default as AcInfoTable } from "./AcInfoTable.vue";
38
48
  export { default as AcInput } from "./AcInput.vue";
39
49
  export { default as AcKbd } from "./AcKbd.vue";
50
+ export { default as AcKeyValueInput } from "./AcKeyValueInput.vue";
51
+ export { default as AcLoader } from "./AcLoader.vue";
52
+ export { default as AcLocaleSwitcher } from "./AcLocaleSwitcher.vue";
40
53
  export { default as AcLogo } from "./AcLogo.vue";
41
54
  export { default as AcModal } from "./AcModal.vue";
42
55
  export { default as AcNavbar } from "./AcNavbar.vue";
43
56
  export { default as AcNavbarItem } from "./AcNavbarItem.vue";
44
57
  export { default as AcNotificationMenu } from "./AcNotificationMenu.vue";
58
+ export { default as AcNumberInput } from "./AcNumberInput.vue";
59
+ export { default as AcPage } from "./AcPage.vue";
45
60
  export { default as AcPagination } from "./AcPagination.vue";
46
61
  export { default as AcPreloader } from "./AcPreloader.vue";
47
62
  export { default as AcProgress } from "./AcProgress.vue";
63
+ export { default as AcProductHero } from "./AcProductHero.vue";
48
64
  export { default as AcResourceCard } from "./AcResourceCard.vue";
49
65
  export { default as AcSearchBar } from "./AcSearchBar.vue";
50
66
  export { default as AcSectionContent } from "./AcSectionContent.vue";
51
67
  export { default as AcSegmentedControl } from "./AcSegmentedControl.vue";
68
+ export { default as AcSettingsRow } from "./AcSettingsRow.vue";
52
69
  export { default as AcSelect } from "./AcSelect.vue";
53
70
  export { default as AcSidebar } from "./AcSidebar.vue";
54
71
  export { default as AcSidebarItem } from "./AcSidebarItem.vue";
@@ -62,12 +79,14 @@ export { default as AcStatCard } from "./AcStatCard.vue";
62
79
  export { default as AcStatusBar } from "./AcStatusBar.vue";
63
80
  export { default as AcSteps } from "./AcSteps.vue";
64
81
  export { default as AcSwitch } from "./AcSwitch.vue";
82
+ export { default as AcSwitchCard } from "./AcSwitchCard.vue";
65
83
  export { default as AcTable } from "./AcTable.vue";
66
84
  export { default as AcTabs } from "./AcTabs.vue";
67
85
  export { default as AcTag } from "./AcTag.vue";
86
+ export { default as AcTagInput } from "./AcTagInput.vue";
68
87
  export { default as AcTextarea } from "./AcTextarea.vue";
69
88
  export { default as AcThemeMode } from "./AcThemeMode.vue";
70
- export { default as AcFontScale } from "./AcFontScale.vue";
89
+ export { default as AcTimePicker } from "./AcTimePicker.vue";
71
90
  export { default as AcToaster } from "./AcToaster.vue";
72
91
  export { default as AcTooltip } from "./AcTooltip.vue";
73
92
  export { default as AcUsageCard } from "./AcUsageCard.vue";
@@ -0,0 +1,28 @@
1
+ /** Colour of a status. The names match AcBadge's `color`, so `statusMeta(s).tone` can be passed straight to it. */
2
+ export type StatusTone = "success" | "info" | "warning" | "danger" | "pending" | "default";
3
+ /** How a raw state is shown: its colour, a human label and whether it's mid-transition. */
4
+ export interface StatusMeta {
5
+ /** Colour of the badge: `success`, `info`, `warning`, `danger`, `pending` or `default` (neutral). */
6
+ tone: StatusTone;
7
+ /** Human label in sentence case, e.g. "Pending provisioning". */
8
+ label: string;
9
+ /** The resource is changing state (provisioning, deleting…); badges show a spinner on a primary tint. */
10
+ transient: boolean;
11
+ /** The resource is switched off (stopped, paused, offline); badges show a hollow dot, as cloud-ui's "Offline". */
12
+ hollow: boolean;
13
+ }
14
+ export interface StatusMetaOptions {
15
+ /** Enum prefix to strip before matching, e.g. `VPC_STATE` turns `VPC_STATE_AVAILABLE` into "Available". */
16
+ prefix?: string;
17
+ /** Label to show instead of the humanized state. */
18
+ label?: string;
19
+ }
20
+ /** `"PENDING_PROVISIONING"` → `"pending_provisioning"`, `"NotReady"` → `"not_ready"`, and strips `prefix` (`VPC_STATE`). */
21
+ export declare function normalizeState(state: string, prefix?: string): string;
22
+ /** `"pending_provisioning"` → `"Pending provisioning"`. */
23
+ export declare function humanizeState(key: string): string;
24
+ /**
25
+ * Resolves a raw API state ("RUNNING", "VPC_STATE_AVAILABLE", "pending_provisioning", "NotReady") to a tone,
26
+ * a sentence-case label and whether it's transient. Unknown states are neutral, never shown as healthy.
27
+ */
28
+ export declare function statusMeta(state: string | null | undefined, options?: StatusMetaOptions): StatusMeta;
@@ -0,0 +1,125 @@
1
+ //#region src/lib/components/status.ts
2
+ var e = [
3
+ [
4
+ "success",
5
+ !1,
6
+ /* @__PURE__ */ "running.active.available.connected.healthy.up.succeeded.success.successful.ready.attached.enabled.completed.complete.online.bound.in_use.paid.accepted.joined.verified.approved.open.allocated.created.in_sync.current.provisioned.synced.true".split(".")
7
+ ],
8
+ [
9
+ "info",
10
+ !0,
11
+ /* @__PURE__ */ "provisioning.pending_provisioning.creating.starting.updating.modifying.upgrading.resizing.restarting.rebooting.attaching.detaching.migrating.in_progress.processing.importing.uploading.scaling.initializing.syncing.connecting.associating.disassociating.recycling.expanding.allocating.initial.progressing".split(".")
12
+ ],
13
+ [
14
+ "warning",
15
+ !0,
16
+ [
17
+ "stopping",
18
+ "shutting_down",
19
+ "draining",
20
+ "powering_off"
21
+ ]
22
+ ],
23
+ [
24
+ "danger",
25
+ !0,
26
+ [
27
+ "deleting",
28
+ "terminating",
29
+ "destroying",
30
+ "removing",
31
+ "pending_delete",
32
+ "tearing_down"
33
+ ]
34
+ ],
35
+ [
36
+ "warning",
37
+ !1,
38
+ [
39
+ "degraded",
40
+ "warning",
41
+ "suspended",
42
+ "impaired",
43
+ "expiring",
44
+ "partial",
45
+ "overdue",
46
+ "out_of_sync",
47
+ "halted"
48
+ ]
49
+ ],
50
+ [
51
+ "danger",
52
+ !1,
53
+ [
54
+ "failed",
55
+ "failure",
56
+ "error",
57
+ "down",
58
+ "unhealthy",
59
+ "critical",
60
+ "rejected",
61
+ "disconnected",
62
+ "not_connected",
63
+ "unreachable",
64
+ "expired",
65
+ "cancelled",
66
+ "canceled",
67
+ "not_ready",
68
+ "crash_loop_back_off",
69
+ "lost",
70
+ "false"
71
+ ]
72
+ ],
73
+ [
74
+ "pending",
75
+ !1,
76
+ [
77
+ "pending",
78
+ "queued",
79
+ "waiting",
80
+ "invited",
81
+ "scheduled",
82
+ "requested",
83
+ "pending_acceptance"
84
+ ]
85
+ ],
86
+ [
87
+ "default",
88
+ !1,
89
+ [
90
+ "stopped",
91
+ "paused",
92
+ "offline",
93
+ "inactive",
94
+ "powered_off",
95
+ "shut_off",
96
+ "shutoff"
97
+ ],
98
+ !0
99
+ ]
100
+ ], t = /* @__PURE__ */ new Map();
101
+ for (let [n, r, i, a = !1] of e) for (let e of i) t.set(e.replace(/_/g, ""), {
102
+ tone: n,
103
+ transient: r,
104
+ hollow: a
105
+ });
106
+ function n(e, t) {
107
+ let n = (e) => e.trim().replace(/([a-z\d])([A-Z])/g, "$1_$2").toLowerCase().replace(/[\s-]+/g, "_"), r = n(e), i = t ? n(t).replace(/_+$/, "") : "";
108
+ return i && r.startsWith(`${i}_`) && (r = r.slice(i.length + 1)), r;
109
+ }
110
+ function r(e) {
111
+ if (e === "unspecified" || e === "state_unspecified") return "Unknown";
112
+ let t = e.replace(/_+/g, " ").trim();
113
+ return t ? t.charAt(0).toUpperCase() + t.slice(1) : "Unknown";
114
+ }
115
+ function i(e, i = {}) {
116
+ let a = e ? n(e, i.prefix) : "unknown", o = i.label ?? r(a), s = t.get(a.replace(/_/g, ""));
117
+ return {
118
+ tone: s?.tone ?? "default",
119
+ label: o,
120
+ transient: s?.transient ?? !1,
121
+ hollow: s?.hollow ?? !1
122
+ };
123
+ }
124
+ //#endregion
125
+ export { r as humanizeState, n as normalizeState, i as statusMeta };