@itguy614/clean-ui 0.9.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/dist/_virtual/_plugin-vue_export-helper.js +9 -0
  2. package/dist/clean-ui.css +1 -1
  3. package/dist/components/CuiAccordion.vue.js +7 -0
  4. package/dist/components/CuiAccordion.vue2.js +55 -0
  5. package/dist/components/CuiAccordionItem.vue.js +7 -0
  6. package/dist/components/CuiAccordionItem.vue2.js +91 -0
  7. package/dist/components/CuiAlert.vue.js +7 -0
  8. package/dist/components/CuiAlert.vue2.js +110 -0
  9. package/dist/components/CuiAvatar.vue.js +99 -0
  10. package/dist/components/CuiAvatar.vue3.js +5 -0
  11. package/dist/components/CuiAvatarGroup.vue.js +22 -0
  12. package/dist/components/CuiAvatarGroup.vue3.js +5 -0
  13. package/dist/components/CuiBackdrop.vue.js +7 -0
  14. package/dist/components/CuiBackdrop.vue2.js +49 -0
  15. package/dist/components/CuiBadge.vue.js +7 -0
  16. package/dist/components/CuiBadge.vue2.js +79 -0
  17. package/dist/components/CuiBanner.vue.js +81 -0
  18. package/dist/components/CuiBanner.vue2.js +4 -0
  19. package/dist/components/CuiBreadcrumb.vue.js +7 -0
  20. package/dist/components/CuiBreadcrumb.vue2.js +29 -0
  21. package/dist/components/CuiBreadcrumbItem.vue.js +7 -0
  22. package/dist/components/CuiBreadcrumbItem.vue2.js +46 -0
  23. package/dist/components/CuiButton.vue.js +7 -0
  24. package/dist/components/CuiButton.vue2.js +133 -0
  25. package/dist/components/CuiButtonGroup.vue.js +7 -0
  26. package/dist/components/CuiButtonGroup.vue2.js +21 -0
  27. package/dist/components/CuiCard.vue.js +35 -0
  28. package/dist/components/CuiCard.vue2.js +4 -0
  29. package/dist/components/CuiCardBody.vue.js +20 -0
  30. package/dist/components/CuiCardBody.vue2.js +4 -0
  31. package/dist/components/CuiCardFooter.vue.js +32 -0
  32. package/dist/components/CuiCardFooter.vue2.js +4 -0
  33. package/dist/components/CuiCardHeader.vue.js +51 -0
  34. package/dist/components/CuiCardHeader.vue2.js +4 -0
  35. package/dist/components/CuiCardMedia.vue.js +7 -0
  36. package/dist/components/CuiCardMedia.vue2.js +38 -0
  37. package/dist/components/CuiCheckbox.vue.js +7 -0
  38. package/dist/components/CuiCheckbox.vue2.js +105 -0
  39. package/dist/components/CuiCheckboxGroup.vue.js +7 -0
  40. package/dist/components/CuiCheckboxGroup.vue2.js +59 -0
  41. package/dist/components/CuiCodeBlock.vue.js +129 -0
  42. package/dist/components/CuiCodeBlock.vue2.js +4 -0
  43. package/dist/components/CuiColorPicker.vue.js +348 -0
  44. package/dist/components/CuiColorPicker.vue2.js +4 -0
  45. package/dist/components/CuiCombobox.vue.js +332 -0
  46. package/dist/components/CuiCombobox.vue2.js +4 -0
  47. package/dist/components/CuiConfigProvider.vue.js +18 -0
  48. package/dist/components/CuiConfigProvider.vue2.js +4 -0
  49. package/dist/components/CuiConfirmDialog.vue.js +208 -0
  50. package/dist/components/CuiConfirmDialog.vue2.js +4 -0
  51. package/dist/components/CuiContainer.vue.js +35 -0
  52. package/dist/components/CuiContainer.vue2.js +4 -0
  53. package/dist/components/CuiContextMenu.vue.js +7 -0
  54. package/dist/components/CuiContextMenu.vue2.js +136 -0
  55. package/dist/components/CuiCopyButton.vue.js +63 -0
  56. package/dist/components/CuiCopyButton.vue2.js +4 -0
  57. package/dist/components/CuiDataGrid.vue.js +176 -0
  58. package/dist/components/CuiDataGrid.vue3.js +5 -0
  59. package/dist/components/CuiDataGridActiveFilters.vue.js +47 -0
  60. package/dist/components/CuiDataGridActiveFilters.vue3.js +5 -0
  61. package/dist/components/CuiDataGridBulkBar.vue.d.ts.map +1 -1
  62. package/dist/components/CuiDataGridBulkBar.vue.js +70 -0
  63. package/dist/components/CuiDataGridBulkBar.vue3.js +5 -0
  64. package/dist/components/CuiDataGridCardView.vue.js +31 -0
  65. package/dist/components/CuiDataGridCardView.vue2.js +4 -0
  66. package/dist/components/CuiDataGridColumnManager.vue.js +86 -0
  67. package/dist/components/CuiDataGridColumnManager.vue2.js +4 -0
  68. package/dist/components/CuiDataGridFilterPanel.vue.js +181 -0
  69. package/dist/components/CuiDataGridFilterPanel.vue3.js +5 -0
  70. package/dist/components/CuiDataGridPagination.vue.js +28 -0
  71. package/dist/components/CuiDataGridPagination.vue2.js +4 -0
  72. package/dist/components/CuiDataGridSearch.vue.js +69 -0
  73. package/dist/components/CuiDataGridSearch.vue2.js +4 -0
  74. package/dist/components/CuiDataGridTable.vue.js +336 -0
  75. package/dist/components/CuiDataGridTable.vue2.js +4 -0
  76. package/dist/components/CuiDataGridToolbar.vue.js +73 -0
  77. package/dist/components/CuiDataGridToolbar.vue3.js +5 -0
  78. package/dist/components/CuiDataGridViewManager.vue.js +209 -0
  79. package/dist/components/CuiDataGridViewManager.vue2.js +4 -0
  80. package/dist/components/CuiDataGridViewToggle.vue.js +43 -0
  81. package/dist/components/CuiDataGridViewToggle.vue3.js +5 -0
  82. package/dist/components/CuiDatePicker.vue.js +382 -0
  83. package/dist/components/CuiDatePicker.vue2.js +4 -0
  84. package/dist/components/CuiDateRangePicker.vue.js +376 -0
  85. package/dist/components/CuiDateRangePicker.vue2.js +4 -0
  86. package/dist/components/CuiDivider.vue.js +124 -0
  87. package/dist/components/CuiDivider.vue2.js +4 -0
  88. package/dist/components/CuiDropdown.vue.js +7 -0
  89. package/dist/components/CuiDropdown.vue2.js +110 -0
  90. package/dist/components/CuiDropdownCheckItem.vue.js +7 -0
  91. package/dist/components/CuiDropdownCheckItem.vue2.js +45 -0
  92. package/dist/components/CuiDropdownDivider.vue.js +14 -0
  93. package/dist/components/CuiDropdownHeader.vue.js +16 -0
  94. package/dist/components/CuiDropdownItem.vue.js +7 -0
  95. package/dist/components/CuiDropdownItem.vue2.js +55 -0
  96. package/dist/components/CuiDropdownMenu.vue.js +7 -0
  97. package/dist/components/CuiDropdownMenu.vue2.js +79 -0
  98. package/dist/components/CuiDropdownRadioGroup.vue.js +23 -0
  99. package/dist/components/CuiDropdownRadioGroup.vue2.js +4 -0
  100. package/dist/components/CuiDropdownRadioItem.vue.js +7 -0
  101. package/dist/components/CuiDropdownRadioItem.vue2.js +43 -0
  102. package/dist/components/CuiDropdownSub.vue.js +7 -0
  103. package/dist/components/CuiDropdownSub.vue2.js +91 -0
  104. package/dist/components/CuiDropdownTrigger.vue.js +7 -0
  105. package/dist/components/CuiDropdownTrigger.vue2.js +25 -0
  106. package/dist/components/CuiEmptyState.vue.js +7 -0
  107. package/dist/components/CuiEmptyState.vue2.js +70 -0
  108. package/dist/components/CuiFieldset.vue.js +7 -0
  109. package/dist/components/CuiFieldset.vue2.js +79 -0
  110. package/dist/components/CuiFileUpload.vue.js +254 -0
  111. package/dist/components/CuiFileUpload.vue2.js +4 -0
  112. package/dist/components/CuiFlex.vue.js +7 -0
  113. package/dist/components/CuiFlex.vue2.js +72 -0
  114. package/dist/components/CuiFlexItem.vue.js +35 -0
  115. package/dist/components/CuiFlexItem.vue2.js +4 -0
  116. package/dist/components/CuiForm.vue.js +116 -0
  117. package/dist/components/CuiForm.vue2.js +4 -0
  118. package/dist/components/CuiFormField.vue.js +7 -0
  119. package/dist/components/CuiFormField.vue2.js +73 -0
  120. package/dist/components/CuiGrid.vue.js +7 -0
  121. package/dist/components/CuiGrid.vue2.js +51 -0
  122. package/dist/components/CuiGridItem.vue.js +30 -0
  123. package/dist/components/CuiGridItem.vue2.js +4 -0
  124. package/dist/components/CuiIcon.vue.js +7 -0
  125. package/dist/components/CuiIcon.vue2.js +72 -0
  126. package/dist/components/CuiInput.vue.js +7 -0
  127. package/dist/components/CuiInput.vue2.js +148 -0
  128. package/dist/components/CuiInputStepper.vue.js +189 -0
  129. package/dist/components/CuiInputStepper.vue2.js +4 -0
  130. package/dist/components/CuiKbd.vue.js +44 -0
  131. package/dist/components/CuiKbd.vue2.js +4 -0
  132. package/dist/components/CuiMaskedInput.vue.js +256 -0
  133. package/dist/components/CuiMaskedInput.vue2.js +4 -0
  134. package/dist/components/CuiModal.vue.js +7 -0
  135. package/dist/components/CuiModal.vue2.js +98 -0
  136. package/dist/components/CuiModalBody.vue.js +50 -0
  137. package/dist/components/CuiModalBody.vue2.js +4 -0
  138. package/dist/components/CuiModalFooter.vue.js +36 -0
  139. package/dist/components/CuiModalFooter.vue2.js +4 -0
  140. package/dist/components/CuiModalHeader.vue.js +85 -0
  141. package/dist/components/CuiModalHeader.vue2.js +4 -0
  142. package/dist/components/CuiPagination.vue.js +7 -0
  143. package/dist/components/CuiPagination.vue2.js +136 -0
  144. package/dist/components/CuiPopover.vue.js +227 -0
  145. package/dist/components/CuiPopover.vue2.js +4 -0
  146. package/dist/components/CuiProgress.vue.js +7 -0
  147. package/dist/components/CuiProgress.vue2.js +132 -0
  148. package/dist/components/CuiRadio.vue.d.ts.map +1 -1
  149. package/dist/components/CuiRadio.vue.js +7 -0
  150. package/dist/components/CuiRadio.vue2.js +139 -0
  151. package/dist/components/CuiRadioGroup.vue.js +7 -0
  152. package/dist/components/CuiRadioGroup.vue2.js +78 -0
  153. package/dist/components/CuiRating.vue.js +129 -0
  154. package/dist/components/CuiRating.vue2.js +4 -0
  155. package/dist/components/CuiResizablePanels.vue.js +147 -0
  156. package/dist/components/CuiResizablePanels.vue2.js +4 -0
  157. package/dist/components/CuiSelect.vue.d.ts.map +1 -1
  158. package/dist/components/CuiSelect.vue.js +7 -0
  159. package/dist/components/CuiSelect.vue2.js +359 -0
  160. package/dist/components/CuiSkeleton.vue.js +7 -0
  161. package/dist/components/CuiSkeleton.vue2.js +80 -0
  162. package/dist/components/CuiSlideover.vue.js +109 -0
  163. package/dist/components/CuiSlideover.vue2.js +4 -0
  164. package/dist/components/CuiSlider.vue.js +156 -0
  165. package/dist/components/CuiSlider.vue2.js +4 -0
  166. package/dist/components/CuiSpacer.vue.js +32 -0
  167. package/dist/components/CuiSpacer.vue2.js +4 -0
  168. package/dist/components/CuiSpinner.vue.js +99 -0
  169. package/dist/components/CuiSpinner.vue3.js +5 -0
  170. package/dist/components/CuiStack.vue.js +30 -0
  171. package/dist/components/CuiStack.vue2.js +4 -0
  172. package/dist/components/CuiStepper.vue.js +153 -0
  173. package/dist/components/CuiStepper.vue2.js +4 -0
  174. package/dist/components/CuiTab.vue.js +7 -0
  175. package/dist/components/CuiTab.vue2.js +73 -0
  176. package/dist/components/CuiTable.vue.js +90 -0
  177. package/dist/components/CuiTable.vue3.js +5 -0
  178. package/dist/components/CuiTableBody.vue.js +18 -0
  179. package/dist/components/CuiTableBody.vue2.js +4 -0
  180. package/dist/components/CuiTableCell.vue.js +36 -0
  181. package/dist/components/CuiTableCell.vue2.js +4 -0
  182. package/dist/components/CuiTableFoot.vue.js +18 -0
  183. package/dist/components/CuiTableFoot.vue2.js +4 -0
  184. package/dist/components/CuiTableHead.vue.js +18 -0
  185. package/dist/components/CuiTableHead.vue2.js +4 -0
  186. package/dist/components/CuiTableRow.vue.js +23 -0
  187. package/dist/components/CuiTableRow.vue2.js +4 -0
  188. package/dist/components/CuiTabs.vue.js +7 -0
  189. package/dist/components/CuiTabs.vue2.js +124 -0
  190. package/dist/components/CuiTagInput.vue.js +296 -0
  191. package/dist/components/CuiTagInput.vue2.js +4 -0
  192. package/dist/components/CuiTextarea.vue.js +7 -0
  193. package/dist/components/CuiTextarea.vue2.js +112 -0
  194. package/dist/components/CuiTimePicker.vue.js +193 -0
  195. package/dist/components/CuiTimePicker.vue2.js +4 -0
  196. package/dist/components/CuiTimeline.vue.js +25 -0
  197. package/dist/components/CuiTimeline.vue2.js +4 -0
  198. package/dist/components/CuiTimelineItem.vue.js +113 -0
  199. package/dist/components/CuiTimelineItem.vue2.js +4 -0
  200. package/dist/components/CuiToast.vue.js +7 -0
  201. package/dist/components/CuiToast.vue2.js +129 -0
  202. package/dist/components/CuiToastProvider.vue.js +7 -0
  203. package/dist/components/CuiToastProvider.vue2.js +87 -0
  204. package/dist/components/CuiToggle.vue.d.ts.map +1 -1
  205. package/dist/components/CuiToggle.vue.js +7 -0
  206. package/dist/components/CuiToggle.vue2.js +116 -0
  207. package/dist/components/CuiToggleGroup.vue.js +7 -0
  208. package/dist/components/CuiToggleGroup.vue2.js +59 -0
  209. package/dist/components/CuiTooltip.vue.js +7 -0
  210. package/dist/components/CuiTooltip.vue2.js +128 -0
  211. package/dist/components/CuiTransferList.vue.js +442 -0
  212. package/dist/components/CuiTransferList.vue2.js +4 -0
  213. package/dist/components/CuiTreeNode.vue.js +180 -0
  214. package/dist/components/CuiTreeNode.vue2.js +4 -0
  215. package/dist/components/CuiTreeView.vue.js +73 -0
  216. package/dist/components/CuiTreeView.vue2.js +4 -0
  217. package/dist/components/accordion-context.js +4 -0
  218. package/dist/components/breadcrumb-context.js +4 -0
  219. package/dist/components/config-context.js +4 -0
  220. package/dist/components/data-grid-context.js +4 -0
  221. package/dist/components/dropdown-context.js +30 -0
  222. package/dist/components/form-context.js +4 -0
  223. package/dist/components/multi-select-group-context.js +5 -0
  224. package/dist/components/radio-context.js +4 -0
  225. package/dist/components/table-context.js +5 -0
  226. package/dist/components/tabs-context.js +4 -0
  227. package/dist/components/toast-context.js +45 -0
  228. package/dist/composables/useBreakpoint.js +34 -0
  229. package/dist/composables/useClickOutside.js +14 -0
  230. package/dist/composables/useCopyToClipboard.js +25 -0
  231. package/dist/composables/useDataGrid.js +269 -0
  232. package/dist/composables/useDataGridInertia.js +35 -0
  233. package/dist/composables/useDataGridViews.js +67 -0
  234. package/dist/composables/useDensity.js +42 -0
  235. package/dist/composables/useLayoutContext.js +21 -0
  236. package/dist/composables/useMessages.js +10 -0
  237. package/dist/composables/useOverlay.js +57 -0
  238. package/dist/composables/usePopover.js +53 -0
  239. package/dist/composables/useScrollShadows.js +56 -0
  240. package/dist/composables/useTheme.js +57 -0
  241. package/dist/composables/useToast.js +23 -0
  242. package/dist/composables/useVirtualScroll.js +69 -0
  243. package/dist/index.js +290 -0
  244. package/dist/messages.js +57 -0
  245. package/dist/ssr-theme-init.js +13 -0
  246. package/dist/utils/color.js +195 -0
  247. package/dist/utils/colorIconMap.js +11 -0
  248. package/dist/utils/date.js +114 -0
  249. package/dist/utils/liveRegion.js +12 -0
  250. package/dist/utils/resolvers.js +28 -0
  251. package/dist/utils/responsive.js +68 -0
  252. package/dist/utils/sizing.js +39 -0
  253. package/package.json +8 -7
  254. package/dist/clean-ui.js +0 -11937
  255. package/dist/clean-ui.umd.cjs +0 -11
@@ -0,0 +1,14 @@
1
+ import { openBlock as e, createElementBlock as o } from "vue";
2
+ /* empty css */
3
+ import r from "../_virtual/_plugin-vue_export-helper.js";
4
+ const c = {}, t = {
5
+ class: "cui-dropdown-divider",
6
+ role: "separator"
7
+ };
8
+ function d(i, n) {
9
+ return e(), o("div", t);
10
+ }
11
+ const p = /* @__PURE__ */ r(c, [["render", d], ["__scopeId", "data-v-de1ceea6"]]);
12
+ export {
13
+ p as default
14
+ };
@@ -0,0 +1,16 @@
1
+ import { openBlock as o, createElementBlock as r, renderSlot as t } from "vue";
2
+ /* empty css */
3
+ import n from "../_virtual/_plugin-vue_export-helper.js";
4
+ const d = {}, c = {
5
+ class: "cui-dropdown-header",
6
+ role: "presentation"
7
+ };
8
+ function s(e, a) {
9
+ return o(), r("div", c, [
10
+ t(e.$slots, "default", {}, void 0, !0)
11
+ ]);
12
+ }
13
+ const f = /* @__PURE__ */ n(d, [["render", s], ["__scopeId", "data-v-d5eb081a"]]);
14
+ export {
15
+ f as default
16
+ };
@@ -0,0 +1,7 @@
1
+ import o from "./CuiDropdownItem.vue2.js";
2
+ /* empty css */
3
+ import t from "../_virtual/_plugin-vue_export-helper.js";
4
+ const a = /* @__PURE__ */ t(o, [["__scopeId", "data-v-0a03c68c"]]);
5
+ export {
6
+ a as default
7
+ };
@@ -0,0 +1,55 @@
1
+ import { defineComponent as p, inject as h, withDirectives as b, openBlock as o, createElementBlock as i, normalizeClass as w, renderSlot as l, createCommentVNode as s, createElementVNode as a, toDisplayString as r, vShow as y } from "vue";
2
+ import { DropdownContextKey as _ } from "./dropdown-context.js";
3
+ const k = ["aria-disabled", "tabindex"], v = {
4
+ key: 0,
5
+ class: "cui-dropdown-item__icon"
6
+ }, C = { class: "cui-dropdown-item__body" }, S = { class: "cui-dropdown-item__label" }, B = {
7
+ key: 0,
8
+ class: "cui-dropdown-item__desc"
9
+ }, D = {
10
+ key: 1,
11
+ class: "cui-dropdown-item__shortcut"
12
+ }, N = /* @__PURE__ */ p({
13
+ __name: "CuiDropdownItem",
14
+ props: {
15
+ shortcut: {},
16
+ description: {},
17
+ closeOnSelect: { type: Boolean, default: !0 },
18
+ hidden: { type: Boolean, default: !1 },
19
+ disabled: { type: Boolean, default: !1 }
20
+ },
21
+ emits: ["select"],
22
+ setup(e, { emit: u }) {
23
+ const d = e, m = u, n = h(_);
24
+ function c() {
25
+ d.disabled || (m("select"), d.closeOnSelect && (n == null || n.closeAll()));
26
+ }
27
+ function f(t) {
28
+ (t.key === "Enter" || t.key === " ") && (t.preventDefault(), c());
29
+ }
30
+ return (t, E) => b((o(), i("div", {
31
+ class: w(["cui-dropdown-item", { "cui-dropdown-item--disabled": e.disabled }]),
32
+ role: "menuitem",
33
+ "aria-disabled": e.disabled || void 0,
34
+ tabindex: e.disabled ? -1 : 0,
35
+ onClick: c,
36
+ onKeydown: f
37
+ }, [
38
+ t.$slots.icon ? (o(), i("span", v, [
39
+ l(t.$slots, "icon", {}, void 0, !0)
40
+ ])) : s("", !0),
41
+ a("span", C, [
42
+ a("span", S, [
43
+ l(t.$slots, "default", {}, void 0, !0)
44
+ ]),
45
+ e.description ? (o(), i("span", B, r(e.description), 1)) : s("", !0)
46
+ ]),
47
+ e.shortcut ? (o(), i("span", D, r(e.shortcut), 1)) : s("", !0)
48
+ ], 42, k)), [
49
+ [y, !e.hidden]
50
+ ]);
51
+ }
52
+ });
53
+ export {
54
+ N as default
55
+ };
@@ -0,0 +1,7 @@
1
+ import o from "./CuiDropdownMenu.vue2.js";
2
+ /* empty css */
3
+ import r from "../_virtual/_plugin-vue_export-helper.js";
4
+ const m = /* @__PURE__ */ r(o, [["__scopeId", "data-v-ff831032"]]);
5
+ export {
6
+ m as default
7
+ };
@@ -0,0 +1,79 @@
1
+ import { defineComponent as h, inject as E, ref as p, watch as A, nextTick as C, onMounted as D, onUnmounted as _, computed as b, openBlock as w, createBlock as S, Teleport as z, unref as d, createElementBlock as F, normalizeStyle as L, normalizeClass as O, renderSlot as q, createCommentVNode as B } from "vue";
2
+ import { DropdownContextKey as R, computeDropdownPosition as W } from "./dropdown-context.js";
3
+ const K = ["data-cui-dropdown-owner"], T = /* @__PURE__ */ h({
4
+ __name: "CuiDropdownMenu",
5
+ props: {
6
+ minWidth: { default: "12rem" }
7
+ },
8
+ setup(y) {
9
+ const e = E(R), u = p(), c = p({});
10
+ function m() {
11
+ if (e != null && e.triggerEl.value) {
12
+ const { styles: n } = W(e.triggerEl.value, e.placement.value);
13
+ c.value = n;
14
+ }
15
+ }
16
+ A(
17
+ () => e == null ? void 0 : e.isOpen.value,
18
+ (n) => {
19
+ n && (m(), C(() => {
20
+ var t;
21
+ const o = (t = u.value) == null ? void 0 : t.querySelector(
22
+ '[role="menuitem"]:not([aria-disabled="true"])'
23
+ );
24
+ o == null || o.focus();
25
+ }));
26
+ }
27
+ );
28
+ let r = null;
29
+ function a() {
30
+ !(e != null && e.isOpen.value) || e != null && e.isClosing.value || (r && cancelAnimationFrame(r), r = requestAnimationFrame(m));
31
+ }
32
+ D(() => {
33
+ window.addEventListener("scroll", a, !0), window.addEventListener("resize", a);
34
+ }), _(() => {
35
+ window.removeEventListener("scroll", a, !0), window.removeEventListener("resize", a), r && cancelAnimationFrame(r);
36
+ });
37
+ function g(n) {
38
+ var i, l, f, v;
39
+ if (!u.value) return;
40
+ const o = Array.from(u.value.querySelectorAll(
41
+ '[role="menuitem"]:not([aria-disabled="true"]), [role="menuitemcheckbox"]:not([aria-disabled="true"]), [role="menuitemradio"]:not([aria-disabled="true"])'
42
+ )), t = o.indexOf(document.activeElement);
43
+ if (n.key === "ArrowDown") {
44
+ n.preventDefault();
45
+ const s = t < o.length - 1 ? t + 1 : 0;
46
+ (i = o[s]) == null || i.focus();
47
+ } else if (n.key === "ArrowUp") {
48
+ n.preventDefault();
49
+ const s = t > 0 ? t - 1 : o.length - 1;
50
+ (l = o[s]) == null || l.focus();
51
+ } else n.key === "Home" ? (n.preventDefault(), (f = o[0]) == null || f.focus()) : n.key === "End" && (n.preventDefault(), (v = o[o.length - 1]) == null || v.focus());
52
+ }
53
+ const k = b(() => {
54
+ var o;
55
+ const n = (o = e == null ? void 0 : e.triggerEl.value) == null ? void 0 : o.closest("[data-cui-dropdown-id]");
56
+ return (n == null ? void 0 : n.getAttribute("data-cui-dropdown-id")) ?? "";
57
+ });
58
+ return (n, o) => {
59
+ var t, i, l;
60
+ return w(), S(z, { to: "body" }, [
61
+ (t = d(e)) != null && t.isOpen.value || (i = d(e)) != null && i.isClosing.value ? (w(), F("div", {
62
+ key: 0,
63
+ ref_key: "menuRef",
64
+ ref: u,
65
+ class: O(["cui-dropdown-menu", { "cui-dropdown-menu--closing": (l = d(e)) == null ? void 0 : l.isClosing.value }]),
66
+ "data-cui-dropdown-owner": k.value,
67
+ style: L({ ...c.value, minWidth: y.minWidth }),
68
+ role: "menu",
69
+ onKeydown: g
70
+ }, [
71
+ q(n.$slots, "default", {}, void 0, !0)
72
+ ], 46, K)) : B("", !0)
73
+ ]);
74
+ };
75
+ }
76
+ });
77
+ export {
78
+ T as default
79
+ };
@@ -0,0 +1,23 @@
1
+ import { defineComponent as d, provide as p, toRef as a, openBlock as m, createElementBlock as n, renderSlot as u } from "vue";
2
+ import { DropdownRadioKey as s } from "./dropdown-context.js";
3
+ const i = { role: "group" }, V = /* @__PURE__ */ d({
4
+ __name: "CuiDropdownRadioGroup",
5
+ props: {
6
+ modelValue: {}
7
+ },
8
+ emits: ["update:modelValue"],
9
+ setup(o, { emit: t }) {
10
+ const r = o, l = t;
11
+ return p(s, {
12
+ modelValue: a(r, "modelValue"),
13
+ select(e) {
14
+ l("update:modelValue", e);
15
+ }
16
+ }), (e, c) => (m(), n("div", i, [
17
+ u(e.$slots, "default")
18
+ ]));
19
+ }
20
+ });
21
+ export {
22
+ V as default
23
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./CuiDropdownRadioGroup.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,7 @@
1
+ import o from "./CuiDropdownRadioItem.vue2.js";
2
+ /* empty css */
3
+ import t from "../_virtual/_plugin-vue_export-helper.js";
4
+ const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-398742a1"]]);
5
+ export {
6
+ p as default
7
+ };
@@ -0,0 +1,43 @@
1
+ import { defineComponent as r, inject as s, computed as m, openBlock as n, createElementBlock as u, normalizeClass as f, createElementVNode as l, createBlock as p, createCommentVNode as b, renderSlot as k } from "vue";
2
+ import v from "./CuiIcon.vue.js";
3
+ import { DropdownRadioKey as _ } from "./dropdown-context.js";
4
+ const h = ["aria-checked", "aria-disabled", "tabindex"], w = { class: "cui-dropdown-radio-item__check" }, y = { class: "cui-dropdown-radio-item__label" }, E = /* @__PURE__ */ r({
5
+ __name: "CuiDropdownRadioItem",
6
+ props: {
7
+ value: {},
8
+ disabled: { type: Boolean, default: !1 }
9
+ },
10
+ setup(a) {
11
+ const i = a, e = s(_), d = m(() => (e == null ? void 0 : e.modelValue.value) === i.value);
12
+ function t() {
13
+ i.disabled || e == null || e.select(i.value);
14
+ }
15
+ function c(o) {
16
+ (o.key === "Enter" || o.key === " ") && (o.preventDefault(), t());
17
+ }
18
+ return (o, C) => (n(), u("div", {
19
+ class: f(["cui-dropdown-radio-item", { "cui-dropdown-radio-item--disabled": a.disabled }]),
20
+ role: "menuitemradio",
21
+ "aria-checked": d.value,
22
+ "aria-disabled": a.disabled || void 0,
23
+ tabindex: a.disabled ? -1 : 0,
24
+ onClick: t,
25
+ onKeydown: c
26
+ }, [
27
+ l("span", w, [
28
+ d.value ? (n(), p(v, {
29
+ key: 0,
30
+ name: "circle",
31
+ size: "0.5rem",
32
+ weight: "fill"
33
+ })) : b("", !0)
34
+ ]),
35
+ l("span", y, [
36
+ k(o.$slots, "default", {}, void 0, !0)
37
+ ])
38
+ ], 42, h));
39
+ }
40
+ });
41
+ export {
42
+ E as default
43
+ };
@@ -0,0 +1,7 @@
1
+ import o from "./CuiDropdownSub.vue2.js";
2
+ /* empty css */
3
+ import r from "../_virtual/_plugin-vue_export-helper.js";
4
+ const m = /* @__PURE__ */ r(o, [["__scopeId", "data-v-2a73e406"]]);
5
+ export {
6
+ m as default
7
+ };
@@ -0,0 +1,91 @@
1
+ import { defineComponent as M, inject as S, computed as D, ref as f, onUnmounted as B, openBlock as s, createElementBlock as v, createElementVNode as w, normalizeClass as E, renderSlot as m, createCommentVNode as h, createVNode as P, createBlock as $, Teleport as z, normalizeStyle as N } from "vue";
2
+ import R from "./CuiIcon.vue.js";
3
+ import { DropdownContextKey as V, computeDropdownPosition as A } from "./dropdown-context.js";
4
+ const C = ["aria-expanded", "aria-disabled", "tabindex"], K = {
5
+ key: 0,
6
+ class: "cui-dropdown-sub__icon"
7
+ }, L = { class: "cui-dropdown-sub__label" }, q = /* @__PURE__ */ M({
8
+ __name: "CuiDropdownSub",
9
+ props: {
10
+ trigger: {},
11
+ disabled: { type: Boolean, default: !1 }
12
+ },
13
+ setup(r) {
14
+ const p = r, o = S(V), u = D(() => p.trigger ?? (o == null ? void 0 : o.trigger.value) ?? "click"), i = f(!1), a = f(), g = f({});
15
+ let n = null, l = null;
16
+ const d = o == null ? void 0 : o.registerSubMenu(() => t());
17
+ B(() => d == null ? void 0 : d());
18
+ function c() {
19
+ if (!p.disabled) {
20
+ if (l && (clearTimeout(l), l = null), o == null || o.closeSiblingSubMenus(() => t()), a.value) {
21
+ const { styles: e } = A(a.value, "right");
22
+ g.value = e;
23
+ }
24
+ i.value = !0;
25
+ }
26
+ }
27
+ function t() {
28
+ n && (clearTimeout(n), n = null), i.value = !1;
29
+ }
30
+ function y() {
31
+ i.value ? t() : c();
32
+ }
33
+ function b() {
34
+ (u.value === "hover" || u.value === "hover-focus") && (l && (clearTimeout(l), l = null), n = setTimeout(c, 150));
35
+ }
36
+ function _() {
37
+ (u.value === "hover" || u.value === "hover-focus") && (n && (clearTimeout(n), n = null), l = setTimeout(t, 200));
38
+ }
39
+ function k() {
40
+ u.value === "click" && y();
41
+ }
42
+ function T(e) {
43
+ e.key === "ArrowRight" && !i.value ? (e.preventDefault(), e.stopPropagation(), c()) : e.key === "ArrowLeft" && i.value ? (e.preventDefault(), e.stopPropagation(), t()) : e.key === "Escape" && i.value && (e.stopPropagation(), t());
44
+ }
45
+ return (e, j) => (s(), v("div", {
46
+ class: "cui-dropdown-sub",
47
+ onMouseenter: b,
48
+ onMouseleave: _,
49
+ onKeydown: T
50
+ }, [
51
+ w("div", {
52
+ ref_key: "triggerRef",
53
+ ref: a,
54
+ class: E(["cui-dropdown-sub__trigger", { "cui-dropdown-sub__trigger--disabled": r.disabled, "cui-dropdown-sub__trigger--open": i.value }]),
55
+ role: "menuitem",
56
+ "aria-haspopup": "true",
57
+ "aria-expanded": i.value,
58
+ "aria-disabled": r.disabled || void 0,
59
+ tabindex: r.disabled ? -1 : 0,
60
+ onClick: k
61
+ }, [
62
+ e.$slots.icon ? (s(), v("span", K, [
63
+ m(e.$slots, "icon", {}, void 0, !0)
64
+ ])) : h("", !0),
65
+ w("span", L, [
66
+ m(e.$slots, "default", {}, void 0, !0)
67
+ ]),
68
+ P(R, {
69
+ name: "caret-right",
70
+ size: "0.75rem",
71
+ class: "cui-dropdown-sub__arrow"
72
+ })
73
+ ], 10, C),
74
+ (s(), $(z, { to: "body" }, [
75
+ i.value ? (s(), v("div", {
76
+ key: 0,
77
+ class: "cui-dropdown-sub__menu",
78
+ style: N(g.value),
79
+ role: "menu",
80
+ onMouseenter: b,
81
+ onMouseleave: _
82
+ }, [
83
+ m(e.$slots, "menu", {}, void 0, !0)
84
+ ], 36)) : h("", !0)
85
+ ]))
86
+ ], 32));
87
+ }
88
+ });
89
+ export {
90
+ q as default
91
+ };
@@ -0,0 +1,7 @@
1
+ import o from "./CuiDropdownTrigger.vue2.js";
2
+ /* empty css */
3
+ import r from "../_virtual/_plugin-vue_export-helper.js";
4
+ const d = /* @__PURE__ */ r(o, [["__scopeId", "data-v-7dd9a107"]]);
5
+ export {
6
+ d as default
7
+ };
@@ -0,0 +1,25 @@
1
+ import { defineComponent as n, inject as i, ref as l, onMounted as c, openBlock as u, createElementBlock as a, renderSlot as f } from "vue";
2
+ import { DropdownContextKey as d } from "./dropdown-context.js";
3
+ const _ = /* @__PURE__ */ n({
4
+ __name: "CuiDropdownTrigger",
5
+ setup(p) {
6
+ const e = i(d), o = l();
7
+ c(() => {
8
+ e && o.value && (e.triggerEl.value = o.value);
9
+ });
10
+ function r() {
11
+ (e == null ? void 0 : e.trigger.value) === "click" && e.toggle();
12
+ }
13
+ return (t, s) => (u(), a("div", {
14
+ ref_key: "el",
15
+ ref: o,
16
+ class: "cui-dropdown-trigger",
17
+ onClick: r
18
+ }, [
19
+ f(t.$slots, "default", {}, void 0, !0)
20
+ ], 512));
21
+ }
22
+ });
23
+ export {
24
+ _ as default
25
+ };
@@ -0,0 +1,7 @@
1
+ import t from "./CuiEmptyState.vue2.js";
2
+ /* empty css */
3
+ import o from "../_virtual/_plugin-vue_export-helper.js";
4
+ const a = /* @__PURE__ */ o(t, [["__scopeId", "data-v-3ce75641"]]);
5
+ export {
6
+ a as default
7
+ };
@@ -0,0 +1,70 @@
1
+ import { defineComponent as p, computed as m, withDirectives as f, openBlock as c, createElementBlock as o, normalizeStyle as s, renderSlot as r, createElementVNode as h, createVNode as g, createCommentVNode as l, toDisplayString as d, vShow as S } from "vue";
2
+ import { clampSize as z, scaleDensity as n } from "../utils/sizing.js";
3
+ import F from "./CuiIcon.vue.js";
4
+ const k = {
5
+ key: 0,
6
+ class: "cui-empty-state__icon-area"
7
+ }, $ = {
8
+ key: 1,
9
+ class: "cui-empty-state__actions"
10
+ }, M = /* @__PURE__ */ p({
11
+ __name: "CuiEmptyState",
12
+ props: {
13
+ icon: {},
14
+ title: {},
15
+ description: {},
16
+ hidden: { type: Boolean, default: !1 },
17
+ color: { default: "primary" },
18
+ size: { default: "md" }
19
+ },
20
+ setup(e) {
21
+ const u = ["sm", "md", "lg"], a = e, y = {
22
+ sm: { circle: "2.5rem", icon: "1.25rem", titleFont: "1rem", descFont: "0.8125rem", gap: n("0.75rem"), descMaxWidth: "20rem" },
23
+ md: { circle: "3.5rem", icon: "1.75rem", titleFont: "1.125rem", descFont: "0.875rem", gap: n("1rem"), descMaxWidth: "24rem" },
24
+ lg: { circle: "4.5rem", icon: "2rem", titleFont: "1.25rem", descFont: "1rem", gap: n("1.25rem"), descMaxWidth: "28rem" }
25
+ }, t = m(() => y[z(a.size, u)]), v = m(() => ({
26
+ width: t.value.circle,
27
+ height: t.value.circle,
28
+ background: `var(--cui-${a.color}-bg)`,
29
+ color: `var(--cui-${a.color})`
30
+ }));
31
+ return (i, C) => f((c(), o("div", {
32
+ class: "cui-empty-state",
33
+ style: s({ gap: t.value.gap })
34
+ }, [
35
+ e.icon || i.$slots.icon ? (c(), o("div", k, [
36
+ r(i.$slots, "icon", {}, () => [
37
+ h("div", {
38
+ class: "cui-empty-state__circle",
39
+ style: s(v.value)
40
+ }, [
41
+ g(F, {
42
+ name: e.icon,
43
+ size: t.value.icon
44
+ }, null, 8, ["name", "size"])
45
+ ], 4)
46
+ ], !0)
47
+ ])) : l("", !0),
48
+ r(i.$slots, "default", {}, () => [
49
+ e.title ? (c(), o("div", {
50
+ key: 0,
51
+ class: "cui-empty-state__title",
52
+ style: s({ fontSize: t.value.titleFont })
53
+ }, d(e.title), 5)) : l("", !0),
54
+ e.description ? (c(), o("div", {
55
+ key: 1,
56
+ class: "cui-empty-state__description",
57
+ style: s({ fontSize: t.value.descFont, maxWidth: t.value.descMaxWidth })
58
+ }, d(e.description), 5)) : l("", !0)
59
+ ], !0),
60
+ i.$slots.actions ? (c(), o("div", $, [
61
+ r(i.$slots, "actions", {}, void 0, !0)
62
+ ])) : l("", !0)
63
+ ], 4)), [
64
+ [S, !e.hidden]
65
+ ]);
66
+ }
67
+ });
68
+ export {
69
+ M as default
70
+ };
@@ -0,0 +1,7 @@
1
+ import o from "./CuiFieldset.vue2.js";
2
+ /* empty css */
3
+ import t from "../_virtual/_plugin-vue_export-helper.js";
4
+ const e = /* @__PURE__ */ t(o, [["__scopeId", "data-v-a4d908df"]]);
5
+ export {
6
+ e as default
7
+ };
@@ -0,0 +1,79 @@
1
+ import { defineComponent as h, ref as k, watch as y, computed as x, withDirectives as B, openBlock as o, createElementBlock as c, normalizeStyle as C, normalizeClass as i, createElementVNode as s, createBlock as $, createCommentVNode as r, toDisplayString as u, renderSlot as S, vShow as w } from "vue";
2
+ import z from "./CuiIcon.vue.js";
3
+ const E = ["disabled"], D = {
4
+ key: 0,
5
+ class: "cui-fieldset__description"
6
+ }, V = /* @__PURE__ */ h({
7
+ __name: "CuiFieldset",
8
+ props: {
9
+ legend: {},
10
+ description: {},
11
+ variant: { default: "outline" },
12
+ rounded: { default: "md" },
13
+ collapsible: { type: Boolean, default: !1 },
14
+ expanded: { type: Boolean, default: !0 },
15
+ hidden: { type: Boolean, default: !1 },
16
+ color: { default: "surface" },
17
+ disabled: { type: Boolean, default: !1 }
18
+ },
19
+ emits: ["update:expanded"],
20
+ setup(e, { emit: f }) {
21
+ const a = e, b = f, l = k(a.expanded);
22
+ y(
23
+ () => a.expanded,
24
+ (t) => {
25
+ l.value = t;
26
+ }
27
+ );
28
+ function v() {
29
+ a.collapsible && (l.value = !l.value, b("update:expanded", l.value));
30
+ }
31
+ const m = {
32
+ none: "0",
33
+ sm: "0.25rem",
34
+ md: "var(--cui-button-radius, 0.375rem)",
35
+ lg: "0.5rem",
36
+ full: "9999px"
37
+ }, p = x(() => {
38
+ const t = a.color, n = t === "surface" ? "var(--cui-border)" : `var(--cui-${t}-border)`, g = t === "surface" ? "var(--cui-surface-bg)" : `var(--cui-${t}-bg)`, d = {
39
+ borderRadius: m[a.rounded]
40
+ };
41
+ return a.variant === "ghost" ? (d.border = "none", d.background = "transparent") : a.variant === "subtle" ? (d.border = `1px solid ${n}`, d.background = g) : (d.border = `1px solid ${n}`, d.background = "transparent"), d;
42
+ });
43
+ return (t, n) => B((o(), c("fieldset", {
44
+ class: i(["cui-fieldset", [
45
+ `cui-fieldset--${e.variant}`,
46
+ {
47
+ "cui-fieldset--collapsed": e.collapsible && !l.value,
48
+ "cui-fieldset--disabled": e.disabled
49
+ }
50
+ ]]),
51
+ style: C(p.value),
52
+ disabled: e.disabled || void 0
53
+ }, [
54
+ s("legend", {
55
+ class: i(["cui-fieldset__legend", { "cui-fieldset__legend--clickable": e.collapsible }]),
56
+ onClick: v
57
+ }, [
58
+ e.collapsible ? (o(), $(z, {
59
+ key: 0,
60
+ name: "caret-down",
61
+ size: "1rem",
62
+ class: i(["cui-fieldset__chevron", { "cui-fieldset__chevron--collapsed": !l.value }])
63
+ }, null, 8, ["class"])) : r("", !0),
64
+ s("span", null, u(e.legend), 1)
65
+ ], 2),
66
+ e.description && l.value ? (o(), c("div", D, u(e.description), 1)) : r("", !0),
67
+ s("div", {
68
+ class: i(["cui-fieldset__content", { "cui-fieldset__content--hidden": e.collapsible && !l.value }])
69
+ }, [
70
+ S(t.$slots, "default", {}, void 0, !0)
71
+ ], 2)
72
+ ], 14, E)), [
73
+ [w, !e.hidden]
74
+ ]);
75
+ }
76
+ });
77
+ export {
78
+ V as default
79
+ };