@itguy614/clean-ui 0.9.0 → 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 (268) 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.d.ts.map +1 -1
  8. package/dist/components/CuiAlert.vue.js +7 -0
  9. package/dist/components/CuiAlert.vue2.js +113 -0
  10. package/dist/components/CuiAvatar.vue.js +99 -0
  11. package/dist/components/CuiAvatar.vue3.js +5 -0
  12. package/dist/components/CuiAvatarGroup.vue.js +22 -0
  13. package/dist/components/CuiAvatarGroup.vue3.js +5 -0
  14. package/dist/components/CuiBackdrop.vue.js +7 -0
  15. package/dist/components/CuiBackdrop.vue2.js +49 -0
  16. package/dist/components/CuiBadge.vue.d.ts.map +1 -1
  17. package/dist/components/CuiBadge.vue.js +7 -0
  18. package/dist/components/CuiBadge.vue2.js +82 -0
  19. package/dist/components/CuiBanner.vue.js +81 -0
  20. package/dist/components/CuiBanner.vue2.js +4 -0
  21. package/dist/components/CuiBreadcrumb.vue.js +7 -0
  22. package/dist/components/CuiBreadcrumb.vue2.js +29 -0
  23. package/dist/components/CuiBreadcrumbItem.vue.js +7 -0
  24. package/dist/components/CuiBreadcrumbItem.vue2.js +46 -0
  25. package/dist/components/CuiButton.vue.d.ts.map +1 -1
  26. package/dist/components/CuiButton.vue.js +7 -0
  27. package/dist/components/CuiButton.vue2.js +136 -0
  28. package/dist/components/CuiButtonGroup.vue.js +7 -0
  29. package/dist/components/CuiButtonGroup.vue2.js +21 -0
  30. package/dist/components/CuiCard.vue.js +35 -0
  31. package/dist/components/CuiCard.vue2.js +4 -0
  32. package/dist/components/CuiCardBody.vue.js +20 -0
  33. package/dist/components/CuiCardBody.vue2.js +4 -0
  34. package/dist/components/CuiCardFooter.vue.js +32 -0
  35. package/dist/components/CuiCardFooter.vue2.js +4 -0
  36. package/dist/components/CuiCardHeader.vue.js +51 -0
  37. package/dist/components/CuiCardHeader.vue2.js +4 -0
  38. package/dist/components/CuiCardMedia.vue.js +7 -0
  39. package/dist/components/CuiCardMedia.vue2.js +38 -0
  40. package/dist/components/CuiCheckbox.vue.js +7 -0
  41. package/dist/components/CuiCheckbox.vue2.js +105 -0
  42. package/dist/components/CuiCheckboxGroup.vue.js +7 -0
  43. package/dist/components/CuiCheckboxGroup.vue2.js +59 -0
  44. package/dist/components/CuiCodeBlock.vue.js +129 -0
  45. package/dist/components/CuiCodeBlock.vue2.js +4 -0
  46. package/dist/components/CuiColorPicker.vue.js +348 -0
  47. package/dist/components/CuiColorPicker.vue2.js +4 -0
  48. package/dist/components/CuiCombobox.vue.js +332 -0
  49. package/dist/components/CuiCombobox.vue2.js +4 -0
  50. package/dist/components/CuiConfigProvider.vue.js +18 -0
  51. package/dist/components/CuiConfigProvider.vue2.js +4 -0
  52. package/dist/components/CuiConfirmDialog.vue.js +208 -0
  53. package/dist/components/CuiConfirmDialog.vue2.js +4 -0
  54. package/dist/components/CuiContainer.vue.js +35 -0
  55. package/dist/components/CuiContainer.vue2.js +4 -0
  56. package/dist/components/CuiContextMenu.vue.js +7 -0
  57. package/dist/components/CuiContextMenu.vue2.js +136 -0
  58. package/dist/components/CuiCopyButton.vue.js +63 -0
  59. package/dist/components/CuiCopyButton.vue2.js +4 -0
  60. package/dist/components/CuiDataGrid.vue.d.ts +53 -79
  61. package/dist/components/CuiDataGrid.vue.d.ts.map +1 -1
  62. package/dist/components/CuiDataGrid.vue.js +178 -0
  63. package/dist/components/CuiDataGrid.vue3.js +5 -0
  64. package/dist/components/CuiDataGridActiveFilters.vue.js +47 -0
  65. package/dist/components/CuiDataGridActiveFilters.vue3.js +5 -0
  66. package/dist/components/CuiDataGridBulkBar.vue.d.ts.map +1 -1
  67. package/dist/components/CuiDataGridBulkBar.vue.js +70 -0
  68. package/dist/components/CuiDataGridBulkBar.vue3.js +5 -0
  69. package/dist/components/CuiDataGridCardView.vue.js +31 -0
  70. package/dist/components/CuiDataGridCardView.vue2.js +4 -0
  71. package/dist/components/CuiDataGridColumnManager.vue.js +86 -0
  72. package/dist/components/CuiDataGridColumnManager.vue2.js +4 -0
  73. package/dist/components/CuiDataGridFilterPanel.vue.js +181 -0
  74. package/dist/components/CuiDataGridFilterPanel.vue3.js +5 -0
  75. package/dist/components/CuiDataGridPagination.vue.js +28 -0
  76. package/dist/components/CuiDataGridPagination.vue2.js +4 -0
  77. package/dist/components/CuiDataGridSearch.vue.js +69 -0
  78. package/dist/components/CuiDataGridSearch.vue2.js +4 -0
  79. package/dist/components/CuiDataGridTable.vue.js +336 -0
  80. package/dist/components/CuiDataGridTable.vue2.js +4 -0
  81. package/dist/components/CuiDataGridToolbar.vue.js +73 -0
  82. package/dist/components/CuiDataGridToolbar.vue3.js +5 -0
  83. package/dist/components/CuiDataGridViewManager.vue.js +209 -0
  84. package/dist/components/CuiDataGridViewManager.vue2.js +4 -0
  85. package/dist/components/CuiDataGridViewToggle.vue.js +43 -0
  86. package/dist/components/CuiDataGridViewToggle.vue3.js +5 -0
  87. package/dist/components/CuiDatePicker.vue.js +382 -0
  88. package/dist/components/CuiDatePicker.vue2.js +4 -0
  89. package/dist/components/CuiDateRangePicker.vue.js +376 -0
  90. package/dist/components/CuiDateRangePicker.vue2.js +4 -0
  91. package/dist/components/CuiDivider.vue.js +124 -0
  92. package/dist/components/CuiDivider.vue2.js +4 -0
  93. package/dist/components/CuiDropdown.vue.js +7 -0
  94. package/dist/components/CuiDropdown.vue2.js +110 -0
  95. package/dist/components/CuiDropdownCheckItem.vue.js +7 -0
  96. package/dist/components/CuiDropdownCheckItem.vue2.js +45 -0
  97. package/dist/components/CuiDropdownDivider.vue.js +14 -0
  98. package/dist/components/CuiDropdownHeader.vue.js +16 -0
  99. package/dist/components/CuiDropdownItem.vue.js +7 -0
  100. package/dist/components/CuiDropdownItem.vue2.js +55 -0
  101. package/dist/components/CuiDropdownMenu.vue.js +7 -0
  102. package/dist/components/CuiDropdownMenu.vue2.js +79 -0
  103. package/dist/components/CuiDropdownRadioGroup.vue.js +23 -0
  104. package/dist/components/CuiDropdownRadioGroup.vue2.js +4 -0
  105. package/dist/components/CuiDropdownRadioItem.vue.js +7 -0
  106. package/dist/components/CuiDropdownRadioItem.vue2.js +43 -0
  107. package/dist/components/CuiDropdownSub.vue.js +7 -0
  108. package/dist/components/CuiDropdownSub.vue2.js +91 -0
  109. package/dist/components/CuiDropdownTrigger.vue.js +7 -0
  110. package/dist/components/CuiDropdownTrigger.vue2.js +25 -0
  111. package/dist/components/CuiEmptyState.vue.js +7 -0
  112. package/dist/components/CuiEmptyState.vue2.js +70 -0
  113. package/dist/components/CuiFieldset.vue.js +7 -0
  114. package/dist/components/CuiFieldset.vue2.js +79 -0
  115. package/dist/components/CuiFileUpload.vue.js +254 -0
  116. package/dist/components/CuiFileUpload.vue2.js +4 -0
  117. package/dist/components/CuiFlex.vue.js +7 -0
  118. package/dist/components/CuiFlex.vue2.js +72 -0
  119. package/dist/components/CuiFlexItem.vue.js +35 -0
  120. package/dist/components/CuiFlexItem.vue2.js +4 -0
  121. package/dist/components/CuiForm.vue.js +116 -0
  122. package/dist/components/CuiForm.vue2.js +4 -0
  123. package/dist/components/CuiFormField.vue.js +7 -0
  124. package/dist/components/CuiFormField.vue2.js +73 -0
  125. package/dist/components/CuiGrid.vue.js +7 -0
  126. package/dist/components/CuiGrid.vue2.js +51 -0
  127. package/dist/components/CuiGridItem.vue.js +30 -0
  128. package/dist/components/CuiGridItem.vue2.js +4 -0
  129. package/dist/components/CuiIcon.vue.js +7 -0
  130. package/dist/components/CuiIcon.vue2.js +72 -0
  131. package/dist/components/CuiInput.vue.d.ts +6 -6
  132. package/dist/components/CuiInput.vue.d.ts.map +1 -1
  133. package/dist/components/CuiInput.vue.js +7 -0
  134. package/dist/components/CuiInput.vue2.js +150 -0
  135. package/dist/components/CuiInputStepper.vue.js +189 -0
  136. package/dist/components/CuiInputStepper.vue2.js +4 -0
  137. package/dist/components/CuiKbd.vue.js +44 -0
  138. package/dist/components/CuiKbd.vue2.js +4 -0
  139. package/dist/components/CuiMaskedInput.vue.d.ts +8 -8
  140. package/dist/components/CuiMaskedInput.vue.js +256 -0
  141. package/dist/components/CuiMaskedInput.vue2.js +4 -0
  142. package/dist/components/CuiModal.vue.js +7 -0
  143. package/dist/components/CuiModal.vue2.js +98 -0
  144. package/dist/components/CuiModalBody.vue.js +50 -0
  145. package/dist/components/CuiModalBody.vue2.js +4 -0
  146. package/dist/components/CuiModalFooter.vue.js +36 -0
  147. package/dist/components/CuiModalFooter.vue2.js +4 -0
  148. package/dist/components/CuiModalHeader.vue.js +85 -0
  149. package/dist/components/CuiModalHeader.vue2.js +4 -0
  150. package/dist/components/CuiPagination.vue.js +7 -0
  151. package/dist/components/CuiPagination.vue2.js +136 -0
  152. package/dist/components/CuiPopover.vue.js +227 -0
  153. package/dist/components/CuiPopover.vue2.js +4 -0
  154. package/dist/components/CuiProgress.vue.js +7 -0
  155. package/dist/components/CuiProgress.vue2.js +132 -0
  156. package/dist/components/CuiRadio.vue.d.ts.map +1 -1
  157. package/dist/components/CuiRadio.vue.js +7 -0
  158. package/dist/components/CuiRadio.vue2.js +139 -0
  159. package/dist/components/CuiRadioGroup.vue.js +7 -0
  160. package/dist/components/CuiRadioGroup.vue2.js +78 -0
  161. package/dist/components/CuiRating.vue.js +129 -0
  162. package/dist/components/CuiRating.vue2.js +4 -0
  163. package/dist/components/CuiResizablePanels.vue.js +147 -0
  164. package/dist/components/CuiResizablePanels.vue2.js +4 -0
  165. package/dist/components/CuiSelect.vue.d.ts.map +1 -1
  166. package/dist/components/CuiSelect.vue.js +7 -0
  167. package/dist/components/CuiSelect.vue2.js +359 -0
  168. package/dist/components/CuiSkeleton.vue.js +7 -0
  169. package/dist/components/CuiSkeleton.vue2.js +80 -0
  170. package/dist/components/CuiSlideover.vue.js +109 -0
  171. package/dist/components/CuiSlideover.vue2.js +4 -0
  172. package/dist/components/CuiSlider.vue.js +156 -0
  173. package/dist/components/CuiSlider.vue2.js +4 -0
  174. package/dist/components/CuiSpacer.vue.js +32 -0
  175. package/dist/components/CuiSpacer.vue2.js +4 -0
  176. package/dist/components/CuiSpinner.vue.js +99 -0
  177. package/dist/components/CuiSpinner.vue3.js +5 -0
  178. package/dist/components/CuiStack.vue.js +30 -0
  179. package/dist/components/CuiStack.vue2.js +4 -0
  180. package/dist/components/CuiStepper.vue.js +153 -0
  181. package/dist/components/CuiStepper.vue2.js +4 -0
  182. package/dist/components/CuiTab.vue.js +7 -0
  183. package/dist/components/CuiTab.vue2.js +73 -0
  184. package/dist/components/CuiTable.vue.d.ts.map +1 -1
  185. package/dist/components/CuiTable.vue.js +90 -0
  186. package/dist/components/CuiTable.vue3.js +5 -0
  187. package/dist/components/CuiTableBody.vue.js +18 -0
  188. package/dist/components/CuiTableBody.vue2.js +4 -0
  189. package/dist/components/CuiTableCell.vue.js +36 -0
  190. package/dist/components/CuiTableCell.vue2.js +4 -0
  191. package/dist/components/CuiTableFoot.vue.js +18 -0
  192. package/dist/components/CuiTableFoot.vue2.js +4 -0
  193. package/dist/components/CuiTableHead.vue.js +18 -0
  194. package/dist/components/CuiTableHead.vue2.js +4 -0
  195. package/dist/components/CuiTableRow.vue.js +23 -0
  196. package/dist/components/CuiTableRow.vue2.js +4 -0
  197. package/dist/components/CuiTabs.vue.js +7 -0
  198. package/dist/components/CuiTabs.vue2.js +124 -0
  199. package/dist/components/CuiTagInput.vue.js +296 -0
  200. package/dist/components/CuiTagInput.vue2.js +4 -0
  201. package/dist/components/CuiTextarea.vue.js +7 -0
  202. package/dist/components/CuiTextarea.vue2.js +112 -0
  203. package/dist/components/CuiTimePicker.vue.js +193 -0
  204. package/dist/components/CuiTimePicker.vue2.js +4 -0
  205. package/dist/components/CuiTimeline.vue.js +25 -0
  206. package/dist/components/CuiTimeline.vue2.js +4 -0
  207. package/dist/components/CuiTimelineItem.vue.js +113 -0
  208. package/dist/components/CuiTimelineItem.vue2.js +4 -0
  209. package/dist/components/CuiToast.vue.js +7 -0
  210. package/dist/components/CuiToast.vue2.js +129 -0
  211. package/dist/components/CuiToastProvider.vue.js +7 -0
  212. package/dist/components/CuiToastProvider.vue2.js +87 -0
  213. package/dist/components/CuiToggle.vue.d.ts.map +1 -1
  214. package/dist/components/CuiToggle.vue.js +7 -0
  215. package/dist/components/CuiToggle.vue2.js +116 -0
  216. package/dist/components/CuiToggleGroup.vue.js +7 -0
  217. package/dist/components/CuiToggleGroup.vue2.js +59 -0
  218. package/dist/components/CuiTooltip.vue.js +7 -0
  219. package/dist/components/CuiTooltip.vue2.js +128 -0
  220. package/dist/components/CuiTransferList.vue.js +442 -0
  221. package/dist/components/CuiTransferList.vue2.js +4 -0
  222. package/dist/components/CuiTreeNode.vue.js +180 -0
  223. package/dist/components/CuiTreeNode.vue2.js +4 -0
  224. package/dist/components/CuiTreeView.vue.js +73 -0
  225. package/dist/components/CuiTreeView.vue2.js +4 -0
  226. package/dist/components/accordion-context.js +4 -0
  227. package/dist/components/breadcrumb-context.js +4 -0
  228. package/dist/components/config-context.js +4 -0
  229. package/dist/components/data-grid-context.js +4 -0
  230. package/dist/components/dropdown-context.js +30 -0
  231. package/dist/components/form-context.js +4 -0
  232. package/dist/components/multi-select-group-context.js +5 -0
  233. package/dist/components/radio-context.js +4 -0
  234. package/dist/components/table-context.js +5 -0
  235. package/dist/components/tabs-context.js +4 -0
  236. package/dist/components/toast-context.js +45 -0
  237. package/dist/composables/useBreakpoint.js +34 -0
  238. package/dist/composables/useClickOutside.js +14 -0
  239. package/dist/composables/useCopyToClipboard.js +25 -0
  240. package/dist/composables/useDataGrid.js +269 -0
  241. package/dist/composables/useDataGridInertia.js +35 -0
  242. package/dist/composables/useDataGridViews.js +67 -0
  243. package/dist/composables/useDensity.js +42 -0
  244. package/dist/composables/useLayoutContext.js +21 -0
  245. package/dist/composables/useMessages.js +10 -0
  246. package/dist/composables/useOverlay.d.ts.map +1 -1
  247. package/dist/composables/useOverlay.js +59 -0
  248. package/dist/composables/usePopover.js +53 -0
  249. package/dist/composables/useScrollShadows.js +56 -0
  250. package/dist/composables/useTheme.js +57 -0
  251. package/dist/composables/useToast.js +23 -0
  252. package/dist/composables/useVirtualScroll.js +69 -0
  253. package/dist/index.js +290 -0
  254. package/dist/messages.js +57 -0
  255. package/dist/ssr-theme-init.js +13 -0
  256. package/dist/utils/color.js +195 -0
  257. package/dist/utils/colorIconMap.js +11 -0
  258. package/dist/utils/date.js +114 -0
  259. package/dist/utils/devWarn.d.ts +15 -0
  260. package/dist/utils/devWarn.d.ts.map +1 -0
  261. package/dist/utils/devWarn.js +20 -0
  262. package/dist/utils/liveRegion.js +12 -0
  263. package/dist/utils/resolvers.js +28 -0
  264. package/dist/utils/responsive.js +68 -0
  265. package/dist/utils/sizing.js +39 -0
  266. package/package.json +8 -7
  267. package/dist/clean-ui.js +0 -11937
  268. package/dist/clean-ui.umd.cjs +0 -11
@@ -0,0 +1,42 @@
1
+ import { ref as l, watch as u } from "vue";
2
+ const c = [
3
+ { id: "compact", label: "Compact", description: "Tighter spacing — more on screen" },
4
+ { id: "default", label: "Default", description: "Balanced default spacing" },
5
+ { id: "comfortable", label: "Comfortable", description: "Roomier spacing" }
6
+ ], a = "cui-density", s = "cui-density-", i = "default", d = new Set(c.map((t) => t.id)), n = l(f());
7
+ function f() {
8
+ if (typeof window > "u") return i;
9
+ const t = localStorage.getItem(a);
10
+ return t && d.has(t) ? t : i;
11
+ }
12
+ function r(t) {
13
+ if (typeof document > "u") return;
14
+ const e = document.documentElement;
15
+ for (const o of Array.from(e.classList))
16
+ o.startsWith(s) && e.classList.remove(o);
17
+ t !== "default" && e.classList.add(`${s}${t}`), localStorage.setItem(a, t);
18
+ }
19
+ r(n.value);
20
+ u(n, r);
21
+ function p() {
22
+ function t(o) {
23
+ n.value = o;
24
+ }
25
+ function e() {
26
+ return n.value;
27
+ }
28
+ return {
29
+ /** Current density id (reactive) */
30
+ density: n,
31
+ /** Available density presets */
32
+ presets: c,
33
+ /** Set the active density */
34
+ setDensity: t,
35
+ /** Get the current density id */
36
+ getDensity: e
37
+ };
38
+ }
39
+ export {
40
+ c as DENSITY_PRESETS,
41
+ p as useDensity
42
+ };
@@ -0,0 +1,21 @@
1
+ import { inject as u, ref as x, provide as c } from "vue";
2
+ const l = Symbol("grid-context"), i = Symbol("flex-context");
3
+ function r(t) {
4
+ const n = t === "grid" ? l : i, e = u(n, null), o = x({
5
+ type: t,
6
+ isNested: e !== null,
7
+ depth: e ? e.value.depth + 1 : 0,
8
+ debug: (e == null ? void 0 : e.value.debug) ?? !1
9
+ });
10
+ return c(n, o), { context: o, parentContext: e };
11
+ }
12
+ function s() {
13
+ return r("grid");
14
+ }
15
+ function f() {
16
+ return r("flex");
17
+ }
18
+ export {
19
+ f as useFlexContext,
20
+ s as useGridContext
21
+ };
@@ -0,0 +1,10 @@
1
+ import { inject as e, computed as o } from "vue";
2
+ import { CuiConfigKey as t } from "../components/config-context.js";
3
+ import { defaultMessages as r } from "../messages.js";
4
+ const s = o(() => r);
5
+ function n() {
6
+ return e(t, s);
7
+ }
8
+ export {
9
+ n as useMessages
10
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"useOverlay.d.ts","sourceRoot":"","sources":["../../src/composables/useOverlay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgD,KAAK,GAAG,EAAE,KAAK,UAAU,EAAE,MAAM,KAAK,CAAC;AAK9F,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,IAAI,EAAE,MAAM,OAAO,CAAC;IACpB,qDAAqD;IACrD,SAAS,EAAE,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,GAAG,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC;IACpH,qDAAqD;IACrD,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,8CAA8C;IAC9C,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,oCAAoC;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iCAAiC;IACjC,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,2BAA2B;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB;;;;;;;mBAgE7B,aAAa;EAyDpC"}
1
+ {"version":3,"file":"useOverlay.d.ts","sourceRoot":"","sources":["../../src/composables/useOverlay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgD,KAAK,GAAG,EAAE,KAAK,UAAU,EAAE,MAAM,KAAK,CAAC;AAK9F,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,IAAI,EAAE,MAAM,OAAO,CAAC;IACpB,qDAAqD;IACrD,SAAS,EAAE,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,GAAG,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC;IACpH,qDAAqD;IACrD,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,8CAA8C;IAC9C,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,oCAAoC;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iCAAiC;IACjC,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,2BAA2B;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB;;;;;;;mBAuE7B,aAAa;EAyDpC"}
@@ -0,0 +1,59 @@
1
+ import { ref as d, watch as x, onMounted as A, onUnmounted as E, nextTick as q } from "vue";
2
+ const t = /* @__PURE__ */ new Set();
3
+ function C(y) {
4
+ const {
5
+ open: v,
6
+ dialogRef: l,
7
+ persistent: p,
8
+ allowNested: b,
9
+ animationDuration: g = 200,
10
+ onUpdateOpen: w,
11
+ onClose: O
12
+ } = y, i = Symbol("overlay"), s = d(!1), a = d(!1), m = d(null);
13
+ function u() {
14
+ !b() && t.size > 0 && t.clear(), t.add(i), m.value = document.activeElement, s.value = !0, document.body.style.overflow = "hidden", q(() => {
15
+ requestAnimationFrame(() => {
16
+ var e;
17
+ a.value = !0, (e = l.value) == null || e.focus();
18
+ });
19
+ });
20
+ }
21
+ function c() {
22
+ a.value = !1, t.delete(i), setTimeout(() => {
23
+ var e;
24
+ s.value = !1, w(!1), O(), t.size === 0 && (document.body.style.overflow = ""), (e = m.value) == null || e.focus();
25
+ }, g);
26
+ }
27
+ function f() {
28
+ p() || c();
29
+ }
30
+ function h() {
31
+ f();
32
+ }
33
+ function k(e) {
34
+ if (e.key === "Escape" && (e.stopPropagation(), f()), e.key === "Tab" && l.value) {
35
+ const r = l.value.querySelectorAll(
36
+ 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
37
+ ), o = r[0], n = r[r.length - 1];
38
+ e.shiftKey ? document.activeElement === o && (e.preventDefault(), n == null || n.focus()) : document.activeElement === n && (e.preventDefault(), o == null || o.focus());
39
+ }
40
+ }
41
+ return x(v, (e) => {
42
+ e ? u() : c();
43
+ }), A(() => {
44
+ v() && u();
45
+ }), E(() => {
46
+ t.delete(i), t.size === 0 && (document.body.style.overflow = "");
47
+ }), {
48
+ isVisible: s,
49
+ isAnimating: a,
50
+ openOverlay: u,
51
+ closeOverlay: c,
52
+ requestClose: f,
53
+ onBackdropClick: h,
54
+ onKeydown: k
55
+ };
56
+ }
57
+ export {
58
+ C as useOverlay
59
+ };
@@ -0,0 +1,53 @@
1
+ import { ref as a, computed as o, toValue as c } from "vue";
2
+ import { offset as S, flip as D, shift as P, arrow as R, useFloating as $, autoUpdate as k } from "@floating-ui/vue";
3
+ function F(e = {}) {
4
+ const l = a(null), s = a(null), r = a(null), f = e.placement ?? "top", p = e.offsetDistance ?? 8, d = o(() => {
5
+ const t = c(f);
6
+ if (t !== "auto")
7
+ return t;
8
+ }), m = o(() => {
9
+ const t = [
10
+ S(c(p)),
11
+ D({ fallbackAxisSideDirection: "start" }),
12
+ P({ padding: 8 })
13
+ ];
14
+ return e.arrow && r.value && t.push(R({ element: r.value, padding: 4 })), t;
15
+ }), { floatingStyles: w, placement: n, middlewareData: i, isPositioned: g, update: v } = $(
16
+ l,
17
+ s,
18
+ {
19
+ placement: d,
20
+ middleware: m,
21
+ strategy: e.strategy ?? "absolute",
22
+ whileElementsMounted: k
23
+ }
24
+ ), x = o(() => {
25
+ if (!e.arrow || !i.value.arrow) return {};
26
+ const { x: t, y: u } = i.value.arrow, h = n.value.split("-")[0], y = {
27
+ top: "bottom",
28
+ bottom: "top",
29
+ left: "right",
30
+ right: "left"
31
+ };
32
+ return {
33
+ position: "absolute",
34
+ left: t != null ? `${t}px` : "",
35
+ top: u != null ? `${u}px` : "",
36
+ [y[h]]: "-4px"
37
+ };
38
+ }), b = o(() => n.value.split("-")[0]);
39
+ return {
40
+ referenceRef: l,
41
+ floatingRef: s,
42
+ arrowRef: r,
43
+ floatingStyles: w,
44
+ arrowStyle: x,
45
+ placement: n,
46
+ currentSide: b,
47
+ isPositioned: g,
48
+ update: v
49
+ };
50
+ }
51
+ export {
52
+ F as usePopover
53
+ };
@@ -0,0 +1,56 @@
1
+ import { ref as o } from "vue";
2
+ function p() {
3
+ const r = o(!1), l = o(!1), s = o(!1), a = o(!1);
4
+ function n(t) {
5
+ r.value = t.scrollTop > 4, l.value = t.scrollHeight - t.scrollTop - t.clientHeight > 4, s.value = t.scrollLeft > 4, a.value = t.scrollWidth - t.scrollLeft - t.clientWidth > 4;
6
+ }
7
+ function c(t) {
8
+ n(t.target);
9
+ }
10
+ function i(t) {
11
+ t && requestAnimationFrame(() => n(t));
12
+ }
13
+ return {
14
+ canScrollUp: r,
15
+ canScrollDown: l,
16
+ canScrollLeft: s,
17
+ canScrollRight: a,
18
+ onScroll: c,
19
+ onMount: i,
20
+ update: n
21
+ };
22
+ }
23
+ const e = "var(--cui-surface-base, white)", u = {
24
+ position: "absolute",
25
+ top: "0",
26
+ left: "0",
27
+ right: "0",
28
+ height: "36px",
29
+ pointerEvents: "none",
30
+ zIndex: "5",
31
+ background: `linear-gradient(to bottom, ${e}, transparent)`
32
+ }, f = {
33
+ position: "absolute",
34
+ bottom: "0",
35
+ left: "0",
36
+ right: "0",
37
+ height: "36px",
38
+ pointerEvents: "none",
39
+ zIndex: "5",
40
+ background: `linear-gradient(to top, ${e}, transparent)`
41
+ }, g = {
42
+ position: "absolute",
43
+ right: "0",
44
+ top: "0",
45
+ bottom: "0",
46
+ width: "36px",
47
+ pointerEvents: "none",
48
+ zIndex: "20",
49
+ background: `linear-gradient(to left, ${e}, transparent)`
50
+ };
51
+ export {
52
+ f as scrollShadowBottomStyle,
53
+ g as scrollShadowRightStyle,
54
+ u as scrollShadowTopStyle,
55
+ p as useScrollShadows
56
+ };
@@ -0,0 +1,57 @@
1
+ import { ref as c, watch as s } from "vue";
2
+ const u = [
3
+ { id: "mono", label: "Mono", description: "Monochrome — default theme" },
4
+ { id: "default", label: "Navy", description: "Navy blue" },
5
+ { id: "forest", label: "Forest", description: "Natural green" },
6
+ { id: "amber", label: "Amber", description: "Warm orange with warm grays" },
7
+ { id: "azure", label: "Azure", description: "Vibrant blue" },
8
+ { id: "teal", label: "Teal", description: "Cool teal" },
9
+ { id: "violet", label: "Violet", description: "Rich purple" },
10
+ { id: "ruby", label: "Ruby", description: "Bold red" }
11
+ ], n = "cui-theme", i = "cui-theme-", a = typeof window < "u";
12
+ function d() {
13
+ if (!a) return "mono";
14
+ try {
15
+ return localStorage.getItem(n) ?? "mono";
16
+ } catch {
17
+ return "mono";
18
+ }
19
+ }
20
+ const o = c(d());
21
+ function l(e) {
22
+ if (typeof document > "u") return;
23
+ const t = document.documentElement;
24
+ for (const r of Array.from(t.classList))
25
+ r.startsWith(i) && t.classList.remove(r);
26
+ e !== "default" && t.classList.add(`${i}${e}`);
27
+ }
28
+ l(o.value);
29
+ s(o, (e) => {
30
+ if (l(e), a)
31
+ try {
32
+ localStorage.setItem(n, e);
33
+ } catch {
34
+ }
35
+ });
36
+ function f() {
37
+ function e(r) {
38
+ o.value = r;
39
+ }
40
+ function t() {
41
+ return o.value;
42
+ }
43
+ return {
44
+ /** Current theme ID (reactive) */
45
+ theme: o,
46
+ /** List of available theme presets */
47
+ presets: u,
48
+ /** Set the active theme by ID */
49
+ setTheme: e,
50
+ /** Get the current theme ID */
51
+ getTheme: t
52
+ };
53
+ }
54
+ export {
55
+ u as THEME_PRESETS,
56
+ f as useTheme
57
+ };
@@ -0,0 +1,23 @@
1
+ import { inject as c } from "vue";
2
+ import { ToastContextKey as u } from "../components/toast-context.js";
3
+ function f() {
4
+ const i = c(u);
5
+ if (!i)
6
+ throw new Error(
7
+ "[CuiToast] useToast() must be used within a <CuiToastProvider>. Wrap your app with <CuiToastProvider> to enable toasts."
8
+ );
9
+ const r = i;
10
+ function s(o) {
11
+ return r.add(o);
12
+ }
13
+ function n(o) {
14
+ r.dismiss(o);
15
+ }
16
+ function e() {
17
+ r.dismissAll();
18
+ }
19
+ return s.success = (o, t) => s({ ...t, title: o, color: "success" }), s.error = (o, t) => s({ ...t, title: o, color: "error" }), s.warning = (o, t) => s({ ...t, title: o, color: "warning" }), s.info = (o, t) => s({ ...t, title: o, color: "info" }), { toast: s, dismiss: n, dismissAll: e };
20
+ }
21
+ export {
22
+ f as useToast
23
+ };
@@ -0,0 +1,69 @@
1
+ import { ref as c, computed as u, watch as w, onBeforeUnmount as x } from "vue";
2
+ const A = 41, V = 5;
3
+ function F(r, H) {
4
+ const { containerRef: i, rowHeight: v, overscan: f = V } = H, a = c(0), h = c(0), n = c(v ?? A);
5
+ let d = !!v;
6
+ const s = u(() => {
7
+ const e = n.value;
8
+ return e <= 0 ? 0 : Math.max(0, Math.floor(a.value / e) - f);
9
+ }), m = u(() => {
10
+ const e = n.value;
11
+ if (e <= 0) return r.value.length - 1;
12
+ const t = Math.ceil(h.value / e);
13
+ return Math.min(
14
+ r.value.length - 1,
15
+ Math.floor(a.value / e) + t + f
16
+ );
17
+ }), b = u(
18
+ () => r.value.slice(s.value, m.value + 1)
19
+ ), E = u(
20
+ () => s.value * n.value
21
+ ), L = u(() => {
22
+ const e = r.value.length - 1 - m.value;
23
+ return Math.max(0, e * n.value);
24
+ });
25
+ let o = null;
26
+ function g() {
27
+ o === null && (o = requestAnimationFrame(() => {
28
+ o = null;
29
+ const e = i.value;
30
+ e && (a.value = e.scrollTop);
31
+ }));
32
+ }
33
+ function p() {
34
+ const e = i.value;
35
+ e && (h.value = e.clientHeight);
36
+ }
37
+ let l = null;
38
+ function M(e) {
39
+ e.addEventListener("scroll", g, { passive: !0 }), p(), l = new ResizeObserver(p), l.observe(e);
40
+ }
41
+ function R(e) {
42
+ e.removeEventListener("scroll", g), l == null || l.disconnect(), l = null;
43
+ }
44
+ w(
45
+ i,
46
+ (e, t) => {
47
+ t && R(t), e && M(e);
48
+ },
49
+ { immediate: !0 }
50
+ ), x(() => {
51
+ o !== null && cancelAnimationFrame(o), i.value && R(i.value);
52
+ });
53
+ function T(e) {
54
+ if (!e || d) return;
55
+ const t = e.getBoundingClientRect().height;
56
+ t > 0 && (n.value = t, d = !0);
57
+ }
58
+ return {
59
+ visibleRows: b,
60
+ firstVisibleIndex: s,
61
+ paddingTop: E,
62
+ paddingBottom: L,
63
+ measureRow: T,
64
+ resolvedRowHeight: n
65
+ };
66
+ }
67
+ export {
68
+ F as useVirtualScroll
69
+ };