@ac-design/design-system 0.0.0-stage → 1.0.1

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 (249) hide show
  1. package/README.md +160 -2
  2. package/dist/lib/compat.css +4441 -0
  3. package/dist/lib/components/AcAccordion.js +5 -0
  4. package/dist/lib/components/AcAccordion.vue.d.ts +35 -0
  5. package/dist/lib/components/AcAccordion.vue_vue_type_script_setup_true_lang.js +61 -0
  6. package/dist/lib/components/AcAccordionItem.js +5 -0
  7. package/dist/lib/components/AcAccordionItem.vue.d.ts +49 -0
  8. package/dist/lib/components/AcAccordionItem.vue_vue_type_script_setup_true_lang.js +81 -0
  9. package/dist/lib/components/AcAlert.js +5 -0
  10. package/dist/lib/components/AcAlert.vue.d.ts +52 -0
  11. package/dist/lib/components/AcAlert.vue_vue_type_script_setup_true_lang.js +121 -0
  12. package/dist/lib/components/AcAppSwitcher.js +5 -0
  13. package/dist/lib/components/AcAppSwitcher.vue.d.ts +83 -0
  14. package/dist/lib/components/AcAppSwitcher.vue_vue_type_script_setup_true_lang.js +303 -0
  15. package/dist/lib/components/AcAvatar.js +5 -0
  16. package/dist/lib/components/AcAvatar.vue.d.ts +27 -0
  17. package/dist/lib/components/AcAvatar.vue_vue_type_script_setup_true_lang.js +116 -0
  18. package/dist/lib/components/AcBadge.js +5 -0
  19. package/dist/lib/components/AcBadge.vue.d.ts +32 -0
  20. package/dist/lib/components/AcBadge.vue_vue_type_script_setup_true_lang.js +88 -0
  21. package/dist/lib/components/AcBanner.js +5 -0
  22. package/dist/lib/components/AcBanner.vue.d.ts +57 -0
  23. package/dist/lib/components/AcBanner.vue_vue_type_script_setup_true_lang.js +114 -0
  24. package/dist/lib/components/AcBreadcrumb.js +5 -0
  25. package/dist/lib/components/AcBreadcrumb.vue.d.ts +25 -0
  26. package/dist/lib/components/AcBreadcrumb.vue_vue_type_script_setup_true_lang.js +88 -0
  27. package/dist/lib/components/AcButton.js +5 -0
  28. package/dist/lib/components/AcButton.vue.d.ts +49 -0
  29. package/dist/lib/components/AcButton.vue_vue_type_script_setup_true_lang.js +103 -0
  30. package/dist/lib/components/AcButtons.js +5 -0
  31. package/dist/lib/components/AcButtons.vue.d.ts +31 -0
  32. package/dist/lib/components/AcButtons.vue_vue_type_script_setup_true_lang.js +44 -0
  33. package/dist/lib/components/AcCard.js +5 -0
  34. package/dist/lib/components/AcCard.vue.d.ts +27 -0
  35. package/dist/lib/components/AcCard.vue_vue_type_script_setup_true_lang.js +28 -0
  36. package/dist/lib/components/AcCellValue.js +5 -0
  37. package/dist/lib/components/AcCellValue.vue.d.ts +139 -0
  38. package/dist/lib/components/AcCellValue.vue_vue_type_script_setup_true_lang.js +386 -0
  39. package/dist/lib/components/AcCheckBox.js +5 -0
  40. package/dist/lib/components/AcCheckBox.vue.d.ts +31 -0
  41. package/dist/lib/components/AcCheckBox.vue_vue_type_script_setup_true_lang.js +49 -0
  42. package/dist/lib/components/AcCheckRadio.js +5 -0
  43. package/dist/lib/components/AcCheckRadio.vue.d.ts +35 -0
  44. package/dist/lib/components/AcCheckRadio.vue_vue_type_script_setup_true_lang.js +56 -0
  45. package/dist/lib/components/AcClusterSwitcher.js +5 -0
  46. package/dist/lib/components/AcClusterSwitcher.vue.d.ts +95 -0
  47. package/dist/lib/components/AcClusterSwitcher.vue_vue_type_script_setup_true_lang.js +416 -0
  48. package/dist/lib/components/AcCodeEditor.js +5 -0
  49. package/dist/lib/components/AcCodeEditor.vue.d.ts +88 -0
  50. package/dist/lib/components/AcCodeEditor.vue_vue_type_script_setup_true_lang.js +381 -0
  51. package/dist/lib/components/AcContentHeader.js +5 -0
  52. package/dist/lib/components/AcContentHeader.vue.d.ts +29 -0
  53. package/dist/lib/components/AcContentHeader.vue_vue_type_script_setup_true_lang.js +31 -0
  54. package/dist/lib/components/AcContentLayout.js +5 -0
  55. package/dist/lib/components/AcContentLayout.vue.d.ts +21 -0
  56. package/dist/lib/components/AcContentLayout.vue_vue_type_script_setup_true_lang.js +18 -0
  57. package/dist/lib/components/AcContentTable.js +5 -0
  58. package/dist/lib/components/AcContentTable.vue.d.ts +54 -0
  59. package/dist/lib/components/AcContentTable.vue_vue_type_script_setup_true_lang.js +67 -0
  60. package/dist/lib/components/AcDatePicker.js +5 -0
  61. package/dist/lib/components/AcDatePicker.vue.d.ts +88 -0
  62. package/dist/lib/components/AcDatePicker.vue_vue_type_script_setup_true_lang.js +794 -0
  63. package/dist/lib/components/AcDeleteModal.js +5 -0
  64. package/dist/lib/components/AcDeleteModal.vue.d.ts +51 -0
  65. package/dist/lib/components/AcDeleteModal.vue_vue_type_script_setup_true_lang.js +110 -0
  66. package/dist/lib/components/AcDivider.js +5 -0
  67. package/dist/lib/components/AcDivider.vue.d.ts +25 -0
  68. package/dist/lib/components/AcDivider.vue_vue_type_script_setup_true_lang.js +39 -0
  69. package/dist/lib/components/AcDropdown.js +5 -0
  70. package/dist/lib/components/AcDropdown.vue.d.ts +45 -0
  71. package/dist/lib/components/AcDropdown.vue_vue_type_script_setup_true_lang.js +152 -0
  72. package/dist/lib/components/AcDropdownDivider.js +5 -0
  73. package/dist/lib/components/AcDropdownDivider.vue.d.ts +9 -0
  74. package/dist/lib/components/AcDropdownDivider.vue_vue_type_script_setup_true_lang.js +20 -0
  75. package/dist/lib/components/AcDropdownItem.js +5 -0
  76. package/dist/lib/components/AcDropdownItem.vue.d.ts +50 -0
  77. package/dist/lib/components/AcDropdownItem.vue_vue_type_script_setup_true_lang.js +86 -0
  78. package/dist/lib/components/AcEmptyState.js +5 -0
  79. package/dist/lib/components/AcEmptyState.vue.d.ts +42 -0
  80. package/dist/lib/components/AcEmptyState.vue_vue_type_script_setup_true_lang.js +81 -0
  81. package/dist/lib/components/AcFeatureCard.js +5 -0
  82. package/dist/lib/components/AcFeatureCard.vue.d.ts +84 -0
  83. package/dist/lib/components/AcFeatureCard.vue_vue_type_script_setup_true_lang.js +218 -0
  84. package/dist/lib/components/AcFileEditor.js +5 -0
  85. package/dist/lib/components/AcFileEditor.vue.d.ts +95 -0
  86. package/dist/lib/components/AcFileEditor.vue_vue_type_script_setup_true_lang.js +556 -0
  87. package/dist/lib/components/AcFileUpload.js +5 -0
  88. package/dist/lib/components/AcFileUpload.vue.d.ts +67 -0
  89. package/dist/lib/components/AcFileUpload.vue_vue_type_script_setup_true_lang.js +274 -0
  90. package/dist/lib/components/AcFontScale.js +5 -0
  91. package/dist/lib/components/AcFontScale.vue.d.ts +17 -0
  92. package/dist/lib/components/AcFontScale.vue_vue_type_script_setup_true_lang.js +65 -0
  93. package/dist/lib/components/AcForm.js +5 -0
  94. package/dist/lib/components/AcForm.vue.d.ts +31 -0
  95. package/dist/lib/components/AcForm.vue_vue_type_script_setup_true_lang.js +38 -0
  96. package/dist/lib/components/AcFormArray.js +5 -0
  97. package/dist/lib/components/AcFormArray.vue.d.ts +124 -0
  98. package/dist/lib/components/AcFormArray.vue_vue_type_script_setup_true_lang.js +485 -0
  99. package/dist/lib/components/AcFormFooter.js +5 -0
  100. package/dist/lib/components/AcFormFooter.vue.d.ts +48 -0
  101. package/dist/lib/components/AcFormFooter.vue_vue_type_script_setup_true_lang.js +86 -0
  102. package/dist/lib/components/AcFormSection.js +5 -0
  103. package/dist/lib/components/AcFormSection.vue.d.ts +32 -0
  104. package/dist/lib/components/AcFormSection.vue_vue_type_script_setup_true_lang.js +38 -0
  105. package/dist/lib/components/AcHeader.js +5 -0
  106. package/dist/lib/components/AcHeader.vue.d.ts +46 -0
  107. package/dist/lib/components/AcHeader.vue_vue_type_script_setup_true_lang.js +60 -0
  108. package/dist/lib/components/AcHeaderItem.js +5 -0
  109. package/dist/lib/components/AcHeaderItem.vue.d.ts +13 -0
  110. package/dist/lib/components/AcHeaderItem.vue_vue_type_script_setup_true_lang.js +14 -0
  111. package/dist/lib/components/AcHeaderItems.js +5 -0
  112. package/dist/lib/components/AcHeaderItems.vue.d.ts +13 -0
  113. package/dist/lib/components/AcHeaderItems.vue_vue_type_script_setup_true_lang.js +14 -0
  114. package/dist/lib/components/AcInfoTable.js +5 -0
  115. package/dist/lib/components/AcInfoTable.vue.d.ts +59 -0
  116. package/dist/lib/components/AcInfoTable.vue_vue_type_script_setup_true_lang.js +127 -0
  117. package/dist/lib/components/AcInput.js +5 -0
  118. package/dist/lib/components/AcInput.vue.d.ts +68 -0
  119. package/dist/lib/components/AcInput.vue_vue_type_script_setup_true_lang.js +143 -0
  120. package/dist/lib/components/AcKbd.js +5 -0
  121. package/dist/lib/components/AcKbd.vue.d.ts +25 -0
  122. package/dist/lib/components/AcKbd.vue_vue_type_script_setup_true_lang.js +134 -0
  123. package/dist/lib/components/AcLogo.js +5 -0
  124. package/dist/lib/components/AcLogo.vue.d.ts +18 -0
  125. package/dist/lib/components/AcLogo.vue_vue_type_script_setup_true_lang.js +67 -0
  126. package/dist/lib/components/AcModal.js +5 -0
  127. package/dist/lib/components/AcModal.vue.d.ts +54 -0
  128. package/dist/lib/components/AcModal.vue_vue_type_script_setup_true_lang.js +125 -0
  129. package/dist/lib/components/AcNavbar.js +5 -0
  130. package/dist/lib/components/AcNavbar.vue.d.ts +41 -0
  131. package/dist/lib/components/AcNavbar.vue_vue_type_script_setup_true_lang.js +60 -0
  132. package/dist/lib/components/AcNavbarItem.js +5 -0
  133. package/dist/lib/components/AcNavbarItem.vue.d.ts +44 -0
  134. package/dist/lib/components/AcNavbarItem.vue_vue_type_script_setup_true_lang.js +65 -0
  135. package/dist/lib/components/AcNotificationMenu.js +5 -0
  136. package/dist/lib/components/AcNotificationMenu.vue.d.ts +90 -0
  137. package/dist/lib/components/AcNotificationMenu.vue_vue_type_script_setup_true_lang.js +345 -0
  138. package/dist/lib/components/AcPage.js +5 -0
  139. package/dist/lib/components/AcPage.vue.d.ts +25 -0
  140. package/dist/lib/components/AcPage.vue_vue_type_script_setup_true_lang.js +36 -0
  141. package/dist/lib/components/AcPagination.js +5 -0
  142. package/dist/lib/components/AcPagination.vue.d.ts +51 -0
  143. package/dist/lib/components/AcPagination.vue_vue_type_script_setup_true_lang.js +160 -0
  144. package/dist/lib/components/AcPreloader.js +5 -0
  145. package/dist/lib/components/AcPreloader.vue.d.ts +28 -0
  146. package/dist/lib/components/AcPreloader.vue_vue_type_script_setup_true_lang.js +39 -0
  147. package/dist/lib/components/AcProgress.js +5 -0
  148. package/dist/lib/components/AcProgress.vue.d.ts +31 -0
  149. package/dist/lib/components/AcProgress.vue_vue_type_script_setup_true_lang.js +76 -0
  150. package/dist/lib/components/AcResourceCard.js +5 -0
  151. package/dist/lib/components/AcResourceCard.vue.d.ts +106 -0
  152. package/dist/lib/components/AcResourceCard.vue_vue_type_script_setup_true_lang.js +203 -0
  153. package/dist/lib/components/AcSearchBar.js +5 -0
  154. package/dist/lib/components/AcSearchBar.vue.d.ts +41 -0
  155. package/dist/lib/components/AcSearchBar.vue_vue_type_script_setup_true_lang.js +76 -0
  156. package/dist/lib/components/AcSectionContent.js +5 -0
  157. package/dist/lib/components/AcSectionContent.vue.d.ts +55 -0
  158. package/dist/lib/components/AcSectionContent.vue_vue_type_script_setup_true_lang.js +74 -0
  159. package/dist/lib/components/AcSegmentedControl.js +5 -0
  160. package/dist/lib/components/AcSegmentedControl.vue.d.ts +46 -0
  161. package/dist/lib/components/AcSegmentedControl.vue_vue_type_script_setup_true_lang.js +104 -0
  162. package/dist/lib/components/AcSelect.js +5 -0
  163. package/dist/lib/components/AcSelect.vue.d.ts +78 -0
  164. package/dist/lib/components/AcSelect.vue_vue_type_script_setup_true_lang.js +441 -0
  165. package/dist/lib/components/AcSidePanel.js +5 -0
  166. package/dist/lib/components/AcSidePanel.vue.d.ts +57 -0
  167. package/dist/lib/components/AcSidePanel.vue_vue_type_script_setup_true_lang.js +128 -0
  168. package/dist/lib/components/AcSideTabs.js +5 -0
  169. package/dist/lib/components/AcSideTabs.vue.d.ts +93 -0
  170. package/dist/lib/components/AcSideTabs.vue_vue_type_script_setup_true_lang.js +373 -0
  171. package/dist/lib/components/AcSidebar.js +5 -0
  172. package/dist/lib/components/AcSidebar.vue.d.ts +63 -0
  173. package/dist/lib/components/AcSidebar.vue_vue_type_script_setup_true_lang.js +221 -0
  174. package/dist/lib/components/AcSidebarItem.js +5 -0
  175. package/dist/lib/components/AcSidebarItem.vue.d.ts +55 -0
  176. package/dist/lib/components/AcSidebarItem.vue_vue_type_script_setup_true_lang.js +155 -0
  177. package/dist/lib/components/AcSidebarSection.js +5 -0
  178. package/dist/lib/components/AcSidebarSection.vue.d.ts +32 -0
  179. package/dist/lib/components/AcSidebarSection.vue_vue_type_script_setup_true_lang.js +48 -0
  180. package/dist/lib/components/AcSkeleton.js +5 -0
  181. package/dist/lib/components/AcSkeleton.vue.d.ts +27 -0
  182. package/dist/lib/components/AcSkeleton.vue_vue_type_script_setup_true_lang.js +142 -0
  183. package/dist/lib/components/AcSlider.js +5 -0
  184. package/dist/lib/components/AcSlider.vue.d.ts +72 -0
  185. package/dist/lib/components/AcSlider.vue_vue_type_script_setup_true_lang.js +327 -0
  186. package/dist/lib/components/AcSpinner.js +5 -0
  187. package/dist/lib/components/AcSpinner.vue.d.ts +12 -0
  188. package/dist/lib/components/AcSpinner.vue_vue_type_script_setup_true_lang.js +45 -0
  189. package/dist/lib/components/AcStatCard.js +5 -0
  190. package/dist/lib/components/AcStatCard.vue.d.ts +84 -0
  191. package/dist/lib/components/AcStatCard.vue_vue_type_script_setup_true_lang.js +225 -0
  192. package/dist/lib/components/AcStatusBar.js +5 -0
  193. package/dist/lib/components/AcStatusBar.vue.d.ts +66 -0
  194. package/dist/lib/components/AcStatusBar.vue_vue_type_script_setup_true_lang.js +145 -0
  195. package/dist/lib/components/AcSteps.js +5 -0
  196. package/dist/lib/components/AcSteps.vue.d.ts +28 -0
  197. package/dist/lib/components/AcSteps.vue_vue_type_script_setup_true_lang.js +91 -0
  198. package/dist/lib/components/AcSwitch.js +5 -0
  199. package/dist/lib/components/AcSwitch.vue.d.ts +44 -0
  200. package/dist/lib/components/AcSwitch.vue_vue_type_script_setup_true_lang.js +67 -0
  201. package/dist/lib/components/AcTable.js +5 -0
  202. package/dist/lib/components/AcTable.vue.d.ts +98 -0
  203. package/dist/lib/components/AcTable.vue_vue_type_script_setup_true_lang.js +272 -0
  204. package/dist/lib/components/AcTabs.js +5 -0
  205. package/dist/lib/components/AcTabs.vue.d.ts +40 -0
  206. package/dist/lib/components/AcTabs.vue_vue_type_script_setup_true_lang.js +72 -0
  207. package/dist/lib/components/AcTag.js +5 -0
  208. package/dist/lib/components/AcTag.vue.d.ts +41 -0
  209. package/dist/lib/components/AcTag.vue_vue_type_script_setup_true_lang.js +99 -0
  210. package/dist/lib/components/AcTextarea.js +5 -0
  211. package/dist/lib/components/AcTextarea.vue.d.ts +53 -0
  212. package/dist/lib/components/AcTextarea.vue_vue_type_script_setup_true_lang.js +120 -0
  213. package/dist/lib/components/AcThemeMode.js +5 -0
  214. package/dist/lib/components/AcThemeMode.vue.d.ts +17 -0
  215. package/dist/lib/components/AcThemeMode.vue_vue_type_script_setup_true_lang.js +60 -0
  216. package/dist/lib/components/AcToaster.js +5 -0
  217. package/dist/lib/components/AcToaster.vue.d.ts +15 -0
  218. package/dist/lib/components/AcToaster.vue_vue_type_script_setup_true_lang.js +166 -0
  219. package/dist/lib/components/AcTooltip.js +5 -0
  220. package/dist/lib/components/AcTooltip.vue.d.ts +30 -0
  221. package/dist/lib/components/AcTooltip.vue_vue_type_script_setup_true_lang.js +117 -0
  222. package/dist/lib/components/AcUsageCard.js +5 -0
  223. package/dist/lib/components/AcUsageCard.vue.d.ts +85 -0
  224. package/dist/lib/components/AcUsageCard.vue_vue_type_script_setup_true_lang.js +230 -0
  225. package/dist/lib/components/AcUserMenu.js +5 -0
  226. package/dist/lib/components/AcUserMenu.vue.d.ts +77 -0
  227. package/dist/lib/components/AcUserMenu.vue_vue_type_script_setup_true_lang.js +258 -0
  228. package/dist/lib/components/index.d.ts +76 -0
  229. package/dist/lib/components/types.d.ts +16 -0
  230. package/dist/lib/composables/copyText.d.ts +6 -0
  231. package/dist/lib/composables/copyText.js +16 -0
  232. package/dist/lib/composables/useBrandColor.d.ts +53 -0
  233. package/dist/lib/composables/useBrandColor.js +148 -0
  234. package/dist/lib/composables/useColorMode.d.ts +12 -0
  235. package/dist/lib/composables/useColorMode.js +40 -0
  236. package/dist/lib/composables/useFontScale.d.ts +16 -0
  237. package/dist/lib/composables/useFontScale.js +43 -0
  238. package/dist/lib/composables/useToast.d.ts +68 -0
  239. package/dist/lib/composables/useToast.js +36 -0
  240. package/dist/lib/editor/index.d.ts +4 -0
  241. package/dist/lib/editor/index.js +3 -0
  242. package/dist/lib/editor/theme.d.ts +3 -0
  243. package/dist/lib/editor/theme.js +309 -0
  244. package/dist/lib/editor/validate.d.ts +19 -0
  245. package/dist/lib/editor/validate.js +127 -0
  246. package/dist/lib/index.d.ts +29 -0
  247. package/dist/lib/index.js +78 -0
  248. package/dist/lib/theme.css +556 -0
  249. package/package.json +82 -4
@@ -0,0 +1,5 @@
1
+ import e from "./AcDeleteModal.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/lib/components/AcDeleteModal.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,51 @@
1
+ export interface Props {
2
+ /** Heading, e.g. "Delete Database". */
3
+ title?: string;
4
+ /** The question. The item name is shown in bold after it. */
5
+ message?: string;
6
+ /** Name of the thing being deleted, e.g. `demo-postgres`. */
7
+ itemName?: string;
8
+ /** Extra consequence shown under the question, e.g. "Backups are kept for 7 days." */
9
+ detail?: string;
10
+ /** Label of the destructive button. */
11
+ confirmText?: string;
12
+ /** Requires typing `itemName` before the delete button enables. Use for irreversible deletes. */
13
+ confirmByTyping?: boolean;
14
+ /** Shows a spinner on the delete button and blocks closing while the request runs. */
15
+ loading?: boolean;
16
+ }
17
+ type __VLS_Props = Props;
18
+ type __VLS_Slots = {
19
+ /** Extra content under the message, e.g. a "Also delete backups" checkbox. */
20
+ default?: () => unknown;
21
+ };
22
+ type __VLS_ModelProps = {
23
+ /** Whether the dialog is open. Bind with `v-model:open`. */
24
+ "open"?: boolean;
25
+ };
26
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
27
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
28
+ "update:open": (value: boolean) => any;
29
+ cancel: () => any;
30
+ confirm: (itemName: string) => any;
31
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
32
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
33
+ onCancel?: (() => any) | undefined;
34
+ onConfirm?: ((itemName: string) => any) | undefined;
35
+ }>, {
36
+ title: string;
37
+ loading: boolean;
38
+ message: string;
39
+ itemName: string;
40
+ detail: string;
41
+ confirmText: string;
42
+ confirmByTyping: boolean;
43
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
44
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
45
+ declare const _default: typeof __VLS_export;
46
+ export default _default;
47
+ type __VLS_WithSlots<T, S> = T & {
48
+ new (): {
49
+ $slots: S;
50
+ };
51
+ };
@@ -0,0 +1,110 @@
1
+ import e from "./AcButton.js";
2
+ import t from "./AcModal.js";
3
+ import n from "./AcInput.js";
4
+ import { Fragment as r, computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createTextVNode as l, createVNode as u, defineComponent as d, mergeModels as f, openBlock as p, ref as m, renderSlot as h, toDisplayString as g, unref as _, useModel as v, watch as y, withCtx as b } from "vue";
5
+ import { Trash2 as x } from "@lucide/vue";
6
+ //#region src/lib/components/AcDeleteModal.vue?vue&type=script&setup=true&lang.ts
7
+ var S = { class: "flex gap-4" }, C = {
8
+ class: "inline-flex size-10 shrink-0 items-center justify-center rounded-full bg-red-95 text-red-40 ring-8 ring-red-97",
9
+ "aria-hidden": "true"
10
+ }, w = { class: "min-w-0 flex-1 pt-0.5" }, T = { class: "text-lg leading-6 text-heading" }, E = { class: "font-semibold break-all" }, D = {
11
+ key: 0,
12
+ class: "mt-1 text-base text-label"
13
+ }, O = {
14
+ key: 1,
15
+ class: "mt-4"
16
+ }, k = { class: "mb-2 text-xs text-label" }, A = { class: "rounded-4 bg-surface-muted px-1 py-0.5 font-mono text-heading ring-1 ring-border" }, j = {
17
+ key: 2,
18
+ class: "mt-4"
19
+ }, M = /*@__PURE__*/ d({
20
+ __name: "AcDeleteModal",
21
+ props: /*@__PURE__*/ f({
22
+ title: { default: "Delete" },
23
+ message: { default: "Are you sure you want to delete" },
24
+ itemName: { default: "" },
25
+ detail: { default: "" },
26
+ confirmText: { default: "Delete" },
27
+ confirmByTyping: {
28
+ type: Boolean,
29
+ default: !1
30
+ },
31
+ loading: {
32
+ type: Boolean,
33
+ default: !1
34
+ }
35
+ }, {
36
+ open: {
37
+ type: Boolean,
38
+ default: !1
39
+ },
40
+ openModifiers: {}
41
+ }),
42
+ emits: /*@__PURE__*/ f(["confirm", "cancel"], ["update:open"]),
43
+ setup(d, { emit: f }) {
44
+ let M = d, N = f, P = v(d, "open"), F = m("");
45
+ y(P, (e) => e && (F.value = ""));
46
+ let I = i(() => !M.confirmByTyping || F.value === M.itemName), L = () => {
47
+ P.value = !1, N("cancel");
48
+ };
49
+ return (i, f) => (p(), a(t, {
50
+ open: P.value,
51
+ "onUpdate:open": f[2] ||= (e) => P.value = e,
52
+ title: d.title,
53
+ size: "small",
54
+ closable: !d.loading,
55
+ "close-on-outside-click": !d.loading,
56
+ onClose: f[3] ||= (e) => N("cancel")
57
+ }, {
58
+ footer: b(() => [u(e, {
59
+ title: "Cancel",
60
+ color: "white",
61
+ disabled: d.loading,
62
+ "data-ac-ds": "",
63
+ "data-testid": "ac-delete-modal-cancel",
64
+ onClick: L
65
+ }, null, 8, ["disabled"]), u(e, {
66
+ title: d.confirmText,
67
+ color: "danger",
68
+ loading: d.loading,
69
+ disabled: !I.value,
70
+ "data-ac-ds": "",
71
+ "data-testid": "ac-delete-modal-confirm",
72
+ onClick: f[1] ||= (e) => N("confirm", d.itemName)
73
+ }, null, 8, [
74
+ "title",
75
+ "loading",
76
+ "disabled"
77
+ ])]),
78
+ default: b(() => [c("div", S, [c("span", C, [u(_(x), {
79
+ class: "size-5",
80
+ "aria-hidden": "true"
81
+ })]), c("div", w, [
82
+ c("p", T, [
83
+ l(g(d.message), 1),
84
+ d.itemName ? (p(), s(r, { key: 0 }, [f[4] ||= l(g(" "), -1), c("strong", E, g(d.itemName), 1)], 64)) : o("", !0),
85
+ f[5] ||= l("? ", -1)
86
+ ]),
87
+ d.detail ? (p(), s("p", D, g(d.detail), 1)) : o("", !0),
88
+ d.confirmByTyping && d.itemName ? (p(), s("div", O, [c("p", k, [
89
+ f[6] ||= l(" Type ", -1),
90
+ c("code", A, g(d.itemName), 1),
91
+ f[7] ||= l(" to confirm. ", -1)
92
+ ]), u(n, {
93
+ modelValue: F.value,
94
+ "onUpdate:modelValue": f[0] ||= (e) => F.value = e,
95
+ label: "Resource name",
96
+ autocomplete: "off"
97
+ }, null, 8, ["modelValue"])])) : o("", !0),
98
+ i.$slots.default ? (p(), s("div", j, [h(i.$slots, "default")])) : o("", !0)
99
+ ])])]),
100
+ _: 3
101
+ }, 8, [
102
+ "open",
103
+ "title",
104
+ "closable",
105
+ "close-on-outside-click"
106
+ ]));
107
+ }
108
+ });
109
+ //#endregion
110
+ export { M as default };
@@ -0,0 +1,5 @@
1
+ import e from "./AcDivider.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/lib/components/AcDivider.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,25 @@
1
+ export interface Props {
2
+ /** `horizontal` separates stacked content; `vertical` separates items in a row and stretches to its height. */
3
+ orientation?: "horizontal" | "vertical";
4
+ /** Text in the line, e.g. "OR" or a group name. The default slot overrides it. */
5
+ label?: string;
6
+ /** Where the label sits on a horizontal divider. Vertical labels are always centred. */
7
+ align?: "center" | "left";
8
+ }
9
+ type __VLS_Slots = {
10
+ /** Label content. Replaces `label`. */
11
+ default?: () => unknown;
12
+ };
13
+ declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
14
+ label: string;
15
+ orientation: "horizontal" | "vertical";
16
+ align: "center" | "left";
17
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
18
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
19
+ declare const _default: typeof __VLS_export;
20
+ export default _default;
21
+ type __VLS_WithSlots<T, S> = T & {
22
+ new (): {
23
+ $slots: S;
24
+ };
25
+ };
@@ -0,0 +1,39 @@
1
+ import { computed as e, createCommentVNode as t, createElementBlock as n, createElementVNode as r, createTextVNode as i, defineComponent as a, normalizeClass as o, openBlock as s, renderSlot as c, toDisplayString as l, useSlots as u } from "vue";
2
+ //#region src/lib/components/AcDivider.vue?vue&type=script&setup=true&lang.ts
3
+ var d = ["aria-orientation"], f = { class: "shrink-0 whitespace-nowrap" }, p = /*@__PURE__*/ a({
4
+ __name: "AcDivider",
5
+ props: {
6
+ orientation: { default: "horizontal" },
7
+ label: { default: "" },
8
+ align: { default: "center" }
9
+ },
10
+ setup(a) {
11
+ let p = a, m = u(), h = e(() => !!p.label || !!m.default), g = e(() => p.orientation === "vertical");
12
+ return (e, u) => h.value ? (s(), n("div", {
13
+ key: 1,
14
+ class: o(["flex shrink-0 items-center gap-3 text-xs font-medium text-muted", g.value ? "min-h-16 flex-col self-stretch" : "w-full"]),
15
+ "data-ac-ds": "",
16
+ "data-testid": "ac-divider"
17
+ }, [
18
+ g.value || a.align === "center" ? (s(), n("span", {
19
+ key: 0,
20
+ class: o(["flex-1 bg-border", g.value ? "w-px" : "h-px"]),
21
+ "aria-hidden": "true"
22
+ }, null, 2)) : t("", !0),
23
+ r("span", f, [c(e.$slots, "default", {}, () => [i(l(a.label), 1)])]),
24
+ r("span", {
25
+ class: o(["flex-1 bg-border", g.value ? "w-px" : "h-px"]),
26
+ "aria-hidden": "true"
27
+ }, null, 2)
28
+ ], 2)) : (s(), n("div", {
29
+ key: 0,
30
+ role: "separator",
31
+ "aria-orientation": a.orientation,
32
+ class: o(["shrink-0 bg-border", g.value ? "min-h-4 w-px self-stretch" : "h-px w-full"]),
33
+ "data-ac-ds": "",
34
+ "data-testid": "ac-divider"
35
+ }, null, 10, d));
36
+ }
37
+ });
38
+ //#endregion
39
+ export { p as default };
@@ -0,0 +1,5 @@
1
+ import e from "./AcDropdown.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/lib/components/AcDropdown.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,45 @@
1
+ export interface Props {
2
+ /** Text of the default trigger button. Without it (and without a `trigger` slot) a ⋮ icon button is shown. */
3
+ label?: string;
4
+ /** Accessible name of the menu and of the ⋮ trigger, e.g. "Actions for demo-postgres". */
5
+ menuLabel?: string;
6
+ /** Which edge of the trigger the menu lines up with. Use `end` for menus at the right of a row. Old `is-right`. */
7
+ align?: "start" | "end";
8
+ /** Preferred side. The menu flips when there isn't room. Old `is-up`. */
9
+ placement?: "bottom" | "top";
10
+ /** Disables the default trigger and stops the menu opening. */
11
+ disabled?: boolean;
12
+ }
13
+ type __VLS_Props = Props;
14
+ type __VLS_Slots = {
15
+ /** Custom trigger, usually an `AcButton`. It gets the menu-button ARIA attributes and keys; don't add your own click toggle. */
16
+ trigger?: (props: {
17
+ open: boolean;
18
+ }) => unknown;
19
+ /** The menu: `AcDropdownItem`s and `AcDropdownDivider`s. */
20
+ default?: () => unknown;
21
+ };
22
+ type __VLS_ModelProps = {
23
+ /** Whether the menu is open. Bind with `v-model:open` to open or close it from code. */
24
+ "open"?: boolean;
25
+ };
26
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
27
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
28
+ "update:open": (value: boolean) => any;
29
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
30
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
31
+ }>, {
32
+ label: string;
33
+ disabled: boolean;
34
+ align: "start" | "end";
35
+ placement: "bottom" | "top";
36
+ menuLabel: string;
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,152 @@
1
+ import e from "./AcButton.js";
2
+ import { Teleport as t, Transition as n, createBlock as r, createCommentVNode as i, createElementBlock as a, createVNode as o, defineComponent as s, mergeModels as c, nextTick as l, normalizeClass as u, normalizeStyle as d, onBeforeUnmount as f, onMounted as p, onUpdated as m, openBlock as h, provide as g, ref as _, renderSlot as v, unref as y, useId as b, useModel as ee, useSlots as te, watch as x, withCtx as S } from "vue";
3
+ import { ChevronDown as C, EllipsisVertical as w } from "@lucide/vue";
4
+ //#region src/lib/components/AcDropdown.vue?vue&type=script&setup=true&lang.ts
5
+ var T = ["aria-label", "disabled"], E = ["aria-labelledby", "aria-label"], D = "[role=\"menuitem\"]:not([aria-disabled=\"true\"])", O = /*@__PURE__*/ s({
6
+ __name: "AcDropdown",
7
+ props: /*@__PURE__*/ c({
8
+ label: { default: "" },
9
+ menuLabel: { default: "Actions" },
10
+ align: { default: "start" },
11
+ placement: { default: "bottom" },
12
+ disabled: {
13
+ type: Boolean,
14
+ default: !1
15
+ }
16
+ }, {
17
+ open: {
18
+ type: Boolean,
19
+ default: !1
20
+ },
21
+ openModifiers: {}
22
+ }),
23
+ emits: ["update:open"],
24
+ setup(s) {
25
+ let c = s, O = ee(s, "open"), k = te(), A = b(), j = `${A}-menu`, M = _(null), N = _(null), P = _({}), F = _(!1), I = _(""), L = null, R = "menu", z = "", B;
26
+ function V() {
27
+ L = M.value?.querySelector("button, a[href], [tabindex]") ?? null, L && (L.id || (L.id = `${A}-trigger`), I.value = L.id, L.setAttribute("aria-haspopup", "menu"), L.setAttribute("aria-expanded", String(O.value)), O.value ? L.setAttribute("aria-controls", j) : L.removeAttribute("aria-controls"));
28
+ }
29
+ function H() {
30
+ return [...N.value?.querySelectorAll(D) ?? []];
31
+ }
32
+ function U(e) {
33
+ let t = H();
34
+ if (!t.length) return N.value?.focus();
35
+ t[e === "first" ? 0 : e === "last" ? t.length - 1 : (e + t.length) % t.length]?.focus();
36
+ }
37
+ function W(e) {
38
+ c.disabled || (R = e, O.value = !0);
39
+ }
40
+ function G(e = !0) {
41
+ O.value && (O.value = !1, e && L?.focus());
42
+ }
43
+ function K() {
44
+ if (!L || !N.value) return;
45
+ let e = L.getBoundingClientRect(), t = `${Math.min(Math.max(e.width, 192), window.innerWidth - 16)}px`;
46
+ N.value.style.minWidth = t;
47
+ let { offsetWidth: n, offsetHeight: r } = N.value, i = window.innerHeight - e.bottom - 4 - 8, a = e.top - 4 - 8, o = c.placement === "top" ? a >= r || a > i : i < r && a > i, s = c.align === "end" ? e.right - n : e.left;
48
+ F.value = !o, P.value = {
49
+ [o ? "bottom" : "top"]: `${o ? window.innerHeight - e.top + 4 : e.bottom + 4}px`,
50
+ left: `${Math.max(8, Math.min(s, window.innerWidth - n - 8))}px`,
51
+ minWidth: t,
52
+ maxHeight: `${Math.max(o ? a : i, 120)}px`
53
+ };
54
+ }
55
+ function q(e) {
56
+ if (L?.contains(e.target)) {
57
+ if (O.value) return G();
58
+ W(e.detail === 0 ? "first" : "menu");
59
+ }
60
+ }
61
+ function J(e) {
62
+ if (e.key === "ArrowDown" || e.key === "ArrowUp") {
63
+ if (e.preventDefault(), O.value) return U(e.key === "ArrowDown" ? "first" : "last");
64
+ W(e.key === "ArrowDown" ? "first" : "last");
65
+ }
66
+ }
67
+ function Y(e) {
68
+ let t = H(), n = t.indexOf(document.activeElement);
69
+ if (e.key === "ArrowDown" || e.key === "ArrowUp") {
70
+ e.preventDefault();
71
+ let t = e.key === "ArrowDown" ? 1 : -1;
72
+ U(n < 0 ? t > 0 ? "first" : "last" : n + t);
73
+ } else e.key === "Home" || e.key === "End" ? (e.preventDefault(), U(e.key === "Home" ? "first" : "last")) : e.key === "Escape" ? (e.preventDefault(), G()) : e.key === "Tab" ? G() : e.key === " " && n >= 0 && t[n].tagName !== "BUTTON" ? (e.preventDefault(), t[n].click()) : e.key.length === 1 && !e.metaKey && !e.ctrlKey && !e.altKey && e.key !== " " && X(e.key, t, n);
74
+ }
75
+ function X(e, t, n) {
76
+ z += e.toLowerCase(), clearTimeout(B), B = setTimeout(() => z = "", 500);
77
+ let r = (e) => (e.dataset.acLabel || e.textContent || "").trim().toLowerCase(), i = z.length === 1 ? n + 1 : Math.max(n, 0);
78
+ [...t.slice(i), ...t.slice(0, i)].find((e) => r(e).startsWith(z))?.focus();
79
+ }
80
+ function Z(e) {
81
+ let t = e.target;
82
+ M.value?.contains(t) || N.value?.contains(t) || G(!1);
83
+ }
84
+ function Q(e) {
85
+ e && N.value?.contains(e.target) || K();
86
+ }
87
+ function $(e) {
88
+ e ? (document.addEventListener("pointerdown", Z, !0), window.addEventListener("scroll", Q, !0), window.addEventListener("resize", Q)) : (document.removeEventListener("pointerdown", Z, !0), window.removeEventListener("scroll", Q, !0), window.removeEventListener("resize", Q));
89
+ }
90
+ return g("ac-dropdown", {
91
+ close: G,
92
+ focusMenu: () => N.value?.focus()
93
+ }), x(O, async (e) => {
94
+ V(), $(e), e && (await l(), K(), R === "menu" ? N.value?.focus() : U(R), R = "menu");
95
+ }), p(V), m(V), f(() => {
96
+ $(!1), clearTimeout(B);
97
+ }), (c, l) => (h(), a("div", {
98
+ ref_key: "root",
99
+ ref: M,
100
+ class: "inline-flex",
101
+ "data-ac-ds": "",
102
+ "data-testid": "ac-dropdown",
103
+ onClick: q,
104
+ onKeydown: J
105
+ }, [k.trigger ? v(c.$slots, "trigger", { open: O.value }, void 0, void 0, 0) : s.label ? (h(), r(e, {
106
+ key: 1,
107
+ title: s.label,
108
+ color: "white",
109
+ disabled: s.disabled
110
+ }, {
111
+ default: S(() => [o(y(C), {
112
+ class: u(["-mr-1 text-muted transition-transform duration-200", O.value && "rotate-180"]),
113
+ "aria-hidden": "true"
114
+ }, null, 8, ["class"])]),
115
+ _: 1
116
+ }, 8, ["title", "disabled"])) : (h(), a("button", {
117
+ key: 2,
118
+ type: "button",
119
+ "aria-label": s.menuLabel,
120
+ disabled: s.disabled,
121
+ class: u(["inline-flex size-7 cursor-pointer items-center justify-center rounded-6 text-muted transition hover:bg-surface-sunken hover:text-heading focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50", O.value && "bg-surface-sunken text-heading"])
122
+ }, [o(y(w), {
123
+ class: "size-4",
124
+ "aria-hidden": "true"
125
+ })], 10, T)), (h(), r(t, { to: "body" }, [o(n, {
126
+ "enter-active-class": "transition duration-150 ease-out",
127
+ "enter-from-class": `opacity-0 motion-safe:scale-[0.98] ${F.value ? "motion-safe:-translate-y-1" : "motion-safe:translate-y-1"}`,
128
+ "leave-active-class": "transition duration-100 ease-in",
129
+ "leave-to-class": "opacity-0"
130
+ }, {
131
+ default: S(() => [O.value ? (h(), a("div", {
132
+ key: 0,
133
+ id: j,
134
+ ref_key: "panel",
135
+ ref: N,
136
+ role: "menu",
137
+ tabindex: "-1",
138
+ "aria-orientation": "vertical",
139
+ "aria-labelledby": (k.trigger || s.label) && I.value ? I.value : void 0,
140
+ "aria-label": k.trigger || s.label ? void 0 : s.menuLabel,
141
+ class: u(["ac-scrollbar fixed z-[90] flex w-max max-w-[min(320px,calc(100vw-16px))] flex-col rounded-8 border border-border bg-surface p-1 shadow-lg outline-none", F.value ? "origin-top" : "origin-bottom"]),
142
+ style: d(P.value),
143
+ "data-ac-ds": "",
144
+ "data-testid": "ac-dropdown-menu",
145
+ onKeydown: Y
146
+ }, [v(c.$slots, "default")], 46, E)) : i("", !0)]),
147
+ _: 3
148
+ }, 8, ["enter-from-class"])]))], 544));
149
+ }
150
+ });
151
+ //#endregion
152
+ export { O as default };
@@ -0,0 +1,5 @@
1
+ import e from "./AcDropdownDivider.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/lib/components/AcDropdownDivider.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,9 @@
1
+ export interface Props {
2
+ /** Optional group heading shown under the line, e.g. "Danger zone". The line is hidden when the divider comes first. */
3
+ label?: string;
4
+ }
5
+ declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
6
+ label: string;
7
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
8
+ declare const _default: typeof __VLS_export;
9
+ export default _default;
@@ -0,0 +1,20 @@
1
+ import { createCommentVNode as e, createElementBlock as t, createElementVNode as n, defineComponent as r, openBlock as i, toDisplayString as a } from "vue";
2
+ //#region src/lib/components/AcDropdownDivider.vue?vue&type=script&setup=true&lang.ts
3
+ var o = ["aria-label"], s = {
4
+ key: 0,
5
+ class: "px-2.5 pt-1.5 pb-1 text-sm font-medium tracking-wide text-muted uppercase"
6
+ }, c = /*@__PURE__*/ r({
7
+ __name: "AcDropdownDivider",
8
+ props: { label: { default: "" } },
9
+ setup(r) {
10
+ return (c, l) => (i(), t("div", {
11
+ role: "separator",
12
+ "aria-label": r.label || void 0,
13
+ class: "group",
14
+ "data-ac-ds": "",
15
+ "data-testid": "ac-dropdown-divider"
16
+ }, [l[0] ||= n("div", { class: "-mx-1 my-1 h-px bg-border-light group-first:hidden" }, null, -1), r.label ? (i(), t("div", s, a(r.label), 1)) : e("", !0)], 8, o));
17
+ }
18
+ });
19
+ //#endregion
20
+ export { c as default };
@@ -0,0 +1,5 @@
1
+ import e from "./AcDropdownItem.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/lib/components/AcDropdownItem.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,50 @@
1
+ import type { Component } from "vue";
2
+ export interface Props {
3
+ /** Item text. You can also pass content through the default slot. */
4
+ label?: string;
5
+ /** A second, muted line under the label. */
6
+ description?: string;
7
+ /** An icon component shown before the label, e.g. `:icon="Trash2"` from @lucide/vue. Or use the `icon` slot. */
8
+ icon?: Component;
9
+ /** Keyboard shortcut hint shown at the right, e.g. "⌘D". Display only; bind the key yourself. */
10
+ shortcut?: string;
11
+ /** Red text for destructive actions such as Delete. Confirm them before acting. */
12
+ danger?: boolean;
13
+ /** Disables the item; it's skipped by the arrow keys. */
14
+ disabled?: boolean;
15
+ /** Renders a link to this URL instead of a button. */
16
+ href?: string;
17
+ /** Link target for `href`, e.g. `_blank`. */
18
+ target?: string;
19
+ /** Renders a `RouterLink` to this route instead of a button. Needs vue-router in the app. */
20
+ to?: string | Record<string, unknown>;
21
+ }
22
+ type __VLS_Slots = {
23
+ /** Item content, after the icon and `label`. */
24
+ default?: () => unknown;
25
+ /** A 16px icon before the label. */
26
+ icon?: () => unknown;
27
+ };
28
+ declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
29
+ click: (e: MouseEvent) => any;
30
+ }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
31
+ onClick?: ((e: MouseEvent) => any) | undefined;
32
+ }>, {
33
+ label: string;
34
+ description: string;
35
+ disabled: boolean;
36
+ icon: Component;
37
+ target: string;
38
+ href: string;
39
+ to: string | Record<string, unknown>;
40
+ danger: boolean;
41
+ shortcut: string;
42
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
43
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
44
+ declare const _default: typeof __VLS_export;
45
+ export default _default;
46
+ type __VLS_WithSlots<T, S> = T & {
47
+ new (): {
48
+ $slots: S;
49
+ };
50
+ };
@@ -0,0 +1,86 @@
1
+ import { computed as e, createBlock as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, createTextVNode as a, defineComponent as o, inject as s, normalizeClass as c, openBlock as l, renderSlot as u, resolveComponent as d, resolveDynamicComponent as f, toDisplayString as p, unref as m, withCtx as h } from "vue";
2
+ //#region src/lib/components/AcDropdownItem.vue?vue&type=script&setup=true&lang.ts
3
+ var g = { class: "min-w-0 flex-1" }, _ = { class: "block truncate" }, v = {
4
+ key: 0,
5
+ class: "block text-xs text-muted"
6
+ }, y = {
7
+ key: 1,
8
+ class: "mt-0.5 shrink-0 font-sans text-xs text-muted"
9
+ }, b = /*@__PURE__*/ o({
10
+ __name: "AcDropdownItem",
11
+ props: {
12
+ label: { default: "" },
13
+ description: { default: "" },
14
+ icon: { default: void 0 },
15
+ shortcut: { default: "" },
16
+ danger: {
17
+ type: Boolean,
18
+ default: !1
19
+ },
20
+ disabled: {
21
+ type: Boolean,
22
+ default: !1
23
+ },
24
+ href: { default: void 0 },
25
+ target: { default: void 0 },
26
+ to: { default: void 0 }
27
+ },
28
+ emits: ["click"],
29
+ setup(o, { emit: b }) {
30
+ let x = o, S = b, C = s("ac-dropdown", null), w = x.to ? d("RouterLink") : null, T = e(() => x.disabled ? "button" : x.to && w ? w : x.href ? "a" : "button");
31
+ function E(e) {
32
+ if (x.disabled) {
33
+ e.preventDefault();
34
+ return;
35
+ }
36
+ S("click", e), C?.close();
37
+ }
38
+ function D(e) {
39
+ if (x.disabled || e.pointerType === "touch") return;
40
+ let t = e.currentTarget;
41
+ document.activeElement !== t && t.focus({ preventScroll: !0 });
42
+ }
43
+ function O(e) {
44
+ e.pointerType !== "touch" && document.activeElement === e.currentTarget && C?.focusMenu();
45
+ }
46
+ return (e, s) => (l(), t(f(T.value), {
47
+ role: "menuitem",
48
+ tabindex: "-1",
49
+ type: T.value === "button" ? "button" : void 0,
50
+ href: T.value === "a" ? o.href : void 0,
51
+ target: T.value === "a" ? o.target : void 0,
52
+ to: T.value === m(w) ? o.to : void 0,
53
+ disabled: T.value === "button" && o.disabled || void 0,
54
+ "aria-disabled": o.disabled || void 0,
55
+ "data-ac-label": o.label || void 0,
56
+ class: c(["flex w-full cursor-pointer items-start gap-2.5 rounded-6 px-2.5 py-1.5 text-left text-base no-underline outline-none select-none transition-colors duration-75 disabled:cursor-not-allowed disabled:opacity-40", o.danger ? "text-red-30 focus:bg-red-95 focus:text-red-20" : "text-heading focus:bg-surface-sunken"]),
57
+ "data-ac-ds": "",
58
+ "data-testid": "ac-dropdown-item",
59
+ onClick: E,
60
+ onPointermove: D,
61
+ onPointerleave: O
62
+ }, {
63
+ default: h(() => [
64
+ o.icon || e.$slots.icon ? (l(), r("span", {
65
+ key: 0,
66
+ class: c(["mt-0.5 inline-flex shrink-0 [&_svg]:size-4", o.danger ? "text-current" : "text-muted"]),
67
+ "aria-hidden": "true"
68
+ }, [u(e.$slots, "icon", {}, () => [(l(), t(f(o.icon)))])], 2)) : n("", !0),
69
+ i("span", g, [i("span", _, [a(p(o.label), 1), u(e.$slots, "default")]), o.description ? (l(), r("span", v, p(o.description), 1)) : n("", !0)]),
70
+ o.shortcut ? (l(), r("kbd", y, p(o.shortcut), 1)) : n("", !0)
71
+ ]),
72
+ _: 3
73
+ }, 40, [
74
+ "type",
75
+ "href",
76
+ "target",
77
+ "to",
78
+ "disabled",
79
+ "aria-disabled",
80
+ "data-ac-label",
81
+ "class"
82
+ ]));
83
+ }
84
+ });
85
+ //#endregion
86
+ export { b as default };
@@ -0,0 +1,5 @@
1
+ import e from "./AcEmptyState.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/lib/components/AcEmptyState.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };