@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,70 @@
1
+ import { defineComponent as h, computed as d, openBlock as i, createBlock as m, Transition as B, withCtx as r, createElementBlock as _, createElementVNode as o, toDisplayString as s, unref as n, Fragment as w, renderList as S, createTextVNode as v, createVNode as f, createCommentVNode as V } from "vue";
2
+ import { useDataGridState as z } from "../composables/useDataGrid.js";
3
+ import k from "./CuiButton.vue.js";
4
+ import D from "./CuiIcon.vue.js";
5
+ import { useMessages as N } from "../composables/useMessages.js";
6
+ const G = {
7
+ key: 0,
8
+ class: "cui-data-grid-bulk-bar"
9
+ }, R = { class: "cui-data-grid-bulk-bar__inner" }, E = { class: "cui-data-grid-bulk-bar__count" }, T = { class: "cui-data-grid-bulk-bar__actions" }, j = /* @__PURE__ */ h({
10
+ __name: "CuiDataGridBulkBar",
11
+ props: {
12
+ actions: {}
13
+ },
14
+ emits: ["bulk-action"],
15
+ setup(p, { emit: b }) {
16
+ const l = N(), g = b, t = z(), c = d(() => t.selectedRows.value.size), C = d(() => c.value > 0);
17
+ function x() {
18
+ return t.displayData.value.filter(
19
+ (a) => t.selectedRows.value.has(String(a.id ?? ""))
20
+ );
21
+ }
22
+ function y(a) {
23
+ g("bulk-action", { action: a, rows: x() });
24
+ }
25
+ return (a, u) => (i(), m(B, { name: "cui-bulk-bar" }, {
26
+ default: r(() => [
27
+ C.value ? (i(), _("div", G, [
28
+ o("div", R, [
29
+ o("span", E, s(n(l).dataGrid.selected(c.value)), 1),
30
+ o("div", T, [
31
+ (i(!0), _(w, null, S(p.actions, (e) => (i(), m(k, {
32
+ key: e.key,
33
+ size: "xs",
34
+ variant: e.variant === "destructive" ? "solid" : "outline",
35
+ color: e.variant === "destructive" ? "error" : "primary",
36
+ onClick: ($) => y(e)
37
+ }, {
38
+ default: r(() => [
39
+ v(s(e.label), 1)
40
+ ]),
41
+ _: 2
42
+ }, 1032, ["variant", "color", "onClick"]))), 128))
43
+ ]),
44
+ f(k, {
45
+ variant: "ghost",
46
+ size: "xs",
47
+ onClick: u[0] || (u[0] = (e) => n(t).clearSelection()),
48
+ style: { "margin-left": "auto" }
49
+ }, {
50
+ prefix: r(() => [
51
+ f(D, {
52
+ name: "x",
53
+ size: "0.75rem"
54
+ })
55
+ ]),
56
+ default: r(() => [
57
+ v(" " + s(n(l).clear), 1)
58
+ ]),
59
+ _: 1
60
+ })
61
+ ])
62
+ ])) : V("", !0)
63
+ ]),
64
+ _: 1
65
+ }));
66
+ }
67
+ });
68
+ export {
69
+ j as default
70
+ };
@@ -0,0 +1,5 @@
1
+ import o from "./CuiDataGridBulkBar.vue.js";
2
+ /* empty css */
3
+ export {
4
+ o as default
5
+ };
@@ -0,0 +1,31 @@
1
+ import { defineComponent as s, openBlock as r, createBlock as u, withCtx as c, createElementBlock as o, Fragment as l, renderList as m, unref as p, renderSlot as f } from "vue";
2
+ import { useDataGridState as g } from "../composables/useDataGrid.js";
3
+ import _ from "./CuiGrid.vue.js";
4
+ const B = /* @__PURE__ */ s({
5
+ __name: "CuiDataGridCardView",
6
+ props: {
7
+ rowKey: {}
8
+ },
9
+ setup(n) {
10
+ const a = n, i = g();
11
+ function d(e) {
12
+ return String(e[a.rowKey ?? "id"] ?? "");
13
+ }
14
+ return (e, C) => (r(), u(_, {
15
+ cols: { sm: 1, md: 2, lg: 3 },
16
+ gap: "4"
17
+ }, {
18
+ default: c(() => [
19
+ (r(!0), o(l, null, m(p(i).displayData.value, (t) => (r(), o("div", {
20
+ key: d(t)
21
+ }, [
22
+ f(e.$slots, "card", { row: t })
23
+ ]))), 128))
24
+ ]),
25
+ _: 3
26
+ }));
27
+ }
28
+ });
29
+ export {
30
+ B as default
31
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./CuiDataGridCardView.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,86 @@
1
+ import { defineComponent as x, ref as m, openBlock as c, createBlock as C, withCtx as i, createVNode as s, createTextVNode as k, createElementVNode as V, createElementBlock as d, Fragment as h, renderList as S, unref as f, normalizeStyle as T } from "vue";
2
+ import { useDataGridState as z } from "../composables/useDataGrid.js";
3
+ import B from "./CuiPopover.vue.js";
4
+ import w from "./CuiButton.vue.js";
5
+ import E from "./CuiCheckbox.vue.js";
6
+ import p from "./CuiIcon.vue.js";
7
+ const L = { style: { display: "flex", "flex-direction": "column", gap: "calc(0.125rem * var(--cui-density-scale, 1))" } }, N = ["onDragstart", "onDragover", "onDrop"], O = /* @__PURE__ */ x({
8
+ __name: "CuiDataGridColumnManager",
9
+ setup(G) {
10
+ const u = z(), t = m(null), n = m(null);
11
+ function v(a) {
12
+ var e;
13
+ return ((e = u.columns.find((r) => r.key === a)) == null ? void 0 : e.label) ?? a;
14
+ }
15
+ function g(a, e) {
16
+ t.value = e, a.dataTransfer && (a.dataTransfer.effectAllowed = "move", a.dataTransfer.setData("text/plain", String(e)));
17
+ }
18
+ function D(a, e) {
19
+ a.preventDefault(), n.value = e;
20
+ }
21
+ function y() {
22
+ n.value = null;
23
+ }
24
+ function _(a, e) {
25
+ a.preventDefault(), t.value !== null && t.value !== e && u.reorderColumns(t.value, e), t.value = null, n.value = null;
26
+ }
27
+ function b() {
28
+ t.value = null, n.value = null;
29
+ }
30
+ return (a, e) => (c(), C(B, {
31
+ placement: "bottom",
32
+ width: "240px",
33
+ title: "Columns"
34
+ }, {
35
+ content: i(() => [
36
+ V("div", L, [
37
+ (c(!0), d(h, null, S(f(u).columnState.value, (r, o) => (c(), d("div", {
38
+ key: r.key,
39
+ draggable: "true",
40
+ style: T([{ display: "flex", "align-items": "center", gap: "calc(0.5rem * var(--cui-density-scale, 1))", padding: "calc(0.375rem * var(--cui-density-scale, 1)) 0", "border-radius": "0.25rem", cursor: "grab" }, {
41
+ opacity: t.value === o ? 0.5 : 1,
42
+ borderTop: n.value === o ? "2px solid var(--cui-primary)" : "2px solid transparent"
43
+ }]),
44
+ onDragstart: (l) => g(l, o),
45
+ onDragover: (l) => D(l, o),
46
+ onDragleave: y,
47
+ onDrop: (l) => _(l, o),
48
+ onDragend: b
49
+ }, [
50
+ s(p, {
51
+ name: "dots-six-vertical",
52
+ size: "0.875rem",
53
+ style: { color: "var(--cui-text-tertiary)", "flex-shrink": "0" }
54
+ }),
55
+ s(E, {
56
+ "model-value": r.visible,
57
+ label: v(r.key),
58
+ "onUpdate:modelValue": (l) => f(u).toggleColumnVisibility(r.key)
59
+ }, null, 8, ["model-value", "label", "onUpdate:modelValue"])
60
+ ], 44, N))), 128))
61
+ ])
62
+ ]),
63
+ default: i(() => [
64
+ s(w, {
65
+ variant: "outline",
66
+ size: "sm"
67
+ }, {
68
+ prefix: i(() => [
69
+ s(p, {
70
+ name: "columns",
71
+ size: "0.875rem"
72
+ })
73
+ ]),
74
+ default: i(() => [
75
+ e[0] || (e[0] = k(" Columns ", -1))
76
+ ]),
77
+ _: 1
78
+ })
79
+ ]),
80
+ _: 1
81
+ }));
82
+ }
83
+ });
84
+ export {
85
+ O as default
86
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./CuiDataGridColumnManager.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,181 @@
1
+ import { defineComponent as U, ref as B, watch as D, computed as O, unref as n, openBlock as u, createElementBlock as o, createElementVNode as s, toDisplayString as c, createVNode as d, normalizeStyle as N, withCtx as y, Fragment as h, renderList as x, createBlock as m, createCommentVNode as V, createTextVNode as C } from "vue";
2
+ import { useDataGridState as M } from "../composables/useDataGrid.js";
3
+ import $ from "./CuiInput.vue.js";
4
+ import w from "./CuiSelect.vue.js";
5
+ import E from "./CuiCheckbox.vue.js";
6
+ import p from "./CuiButton.vue.js";
7
+ import b from "./CuiIcon.vue.js";
8
+ import { useMessages as R } from "../composables/useMessages.js";
9
+ const j = {
10
+ key: 0,
11
+ class: "cui-data-grid-filter-panel"
12
+ }, L = { class: "cui-data-grid-filter-panel__header" }, q = { class: "cui-data-grid-filter-panel__title" }, H = { style: { display: "flex", gap: "calc(0.25rem * var(--cui-density-scale, 1))" } }, J = { class: "cui-data-grid-filter-panel__body" }, Q = { class: "cui-data-grid-filter-panel__label" }, W = {
13
+ key: 2,
14
+ style: { display: "flex", "flex-direction": "column", gap: "calc(0.25rem * var(--cui-density-scale, 1))" }
15
+ }, X = {
16
+ key: 3,
17
+ style: { display: "flex", gap: "calc(0.5rem * var(--cui-density-scale, 1))" }
18
+ }, Y = ["value", "onInput"], Z = ["value", "onInput"], ee = { class: "cui-data-grid-filter-panel__footer" }, de = /* @__PURE__ */ U({
19
+ __name: "CuiDataGridFilterPanel",
20
+ setup(te) {
21
+ const f = R(), r = M(), i = B({});
22
+ D(
23
+ () => r.filterPanelOpen.value,
24
+ (t) => {
25
+ t && A();
26
+ },
27
+ { immediate: !0 }
28
+ );
29
+ function A() {
30
+ const t = {};
31
+ for (const l of r.filters.value)
32
+ t[l.key] = l.value;
33
+ i.value = t;
34
+ }
35
+ function S(t) {
36
+ return String(i.value[t] ?? "");
37
+ }
38
+ function K(t, l) {
39
+ i.value = { ...i.value, [t]: String(l) };
40
+ }
41
+ function z(t) {
42
+ return String(i.value[t] ?? "");
43
+ }
44
+ function T(t, l) {
45
+ i.value = { ...i.value, [t]: String(l) };
46
+ }
47
+ function _(t) {
48
+ const l = i.value[t];
49
+ return Array.isArray(l) ? l : l ? [l] : [];
50
+ }
51
+ function F(t, l) {
52
+ const e = _(t), a = e.includes(l) ? e.filter((k) => k !== l) : [...e, l];
53
+ i.value = { ...i.value, [t]: a };
54
+ }
55
+ function v(t) {
56
+ const l = i.value[t];
57
+ return Array.isArray(l) && l.length === 2 ? [l[0], l[1]] : ["", ""];
58
+ }
59
+ function g(t, l, e) {
60
+ const a = v(t);
61
+ a[l] = String(e), i.value = { ...i.value, [t]: [...a] };
62
+ }
63
+ function P() {
64
+ r.clearFilters();
65
+ for (const t of r.filterableColumns.value) {
66
+ const l = t.filterKey ?? t.key, e = i.value[l];
67
+ !e || Array.isArray(e) && e.length === 0 || e === "" || t.filterType === "date-range" && Array.isArray(e) && (!e[0] || !e[1]) || r.applyFilter({
68
+ key: l,
69
+ value: e,
70
+ type: t.filterType ?? "text"
71
+ });
72
+ }
73
+ }
74
+ function G() {
75
+ i.value = {}, r.clearFilters();
76
+ }
77
+ const I = O(() => Object.values(i.value).some((t) => Array.isArray(t) ? t.length > 0 && t.some(Boolean) : !!t));
78
+ return (t, l) => n(r).filterPanelOpen.value ? (u(), o("div", j, [
79
+ s("div", L, [
80
+ s("span", q, c(n(f).dataGrid.filters), 1),
81
+ s("div", H, [
82
+ d(p, {
83
+ variant: "ghost",
84
+ size: "xs",
85
+ style: N({ color: n(r).filterPanelPinned.value ? "var(--cui-primary)" : void 0 }),
86
+ onClick: l[0] || (l[0] = (e) => n(r).toggleFilterPanelPin())
87
+ }, {
88
+ default: y(() => [
89
+ d(b, {
90
+ name: "push-pin",
91
+ size: "0.875rem"
92
+ })
93
+ ]),
94
+ _: 1
95
+ }, 8, ["style"]),
96
+ d(p, {
97
+ variant: "ghost",
98
+ size: "xs",
99
+ onClick: l[1] || (l[1] = (e) => n(r).toggleFilterPanel())
100
+ }, {
101
+ default: y(() => [
102
+ d(b, {
103
+ name: "x",
104
+ size: "0.875rem"
105
+ })
106
+ ]),
107
+ _: 1
108
+ })
109
+ ])
110
+ ]),
111
+ s("div", J, [
112
+ (u(!0), o(h, null, x(n(r).filterableColumns.value, (e) => (u(), o("div", {
113
+ key: e.key,
114
+ class: "cui-data-grid-filter-panel__field"
115
+ }, [
116
+ s("label", Q, c(e.label), 1),
117
+ e.filterType === "text" || !e.filterType ? (u(), m($, {
118
+ key: 0,
119
+ "model-value": S(e.filterKey ?? e.key),
120
+ placeholder: n(f).dataGrid.filterColumn(e.label),
121
+ size: "sm",
122
+ "onUpdate:modelValue": (a) => K(e.filterKey ?? e.key, a)
123
+ }, null, 8, ["model-value", "placeholder", "onUpdate:modelValue"])) : e.filterType === "select" ? (u(), m(w, {
124
+ key: 1,
125
+ "model-value": z(e.filterKey ?? e.key),
126
+ options: [{ label: n(f).dataGrid.all, value: "" }, ...e.filterOptions ?? []],
127
+ size: "sm",
128
+ "onUpdate:modelValue": (a) => T(e.filterKey ?? e.key, String(a ?? ""))
129
+ }, null, 8, ["model-value", "options", "onUpdate:modelValue"])) : e.filterType === "multi-select" ? (u(), o("div", W, [
130
+ (u(!0), o(h, null, x(e.filterOptions ?? [], (a) => (u(), m(E, {
131
+ key: a.value,
132
+ "model-value": _(e.filterKey ?? e.key).includes(a.value),
133
+ label: a.label,
134
+ size: "sm",
135
+ "onUpdate:modelValue": (k) => F(e.filterKey ?? e.key, a.value)
136
+ }, null, 8, ["model-value", "label", "onUpdate:modelValue"]))), 128))
137
+ ])) : e.filterType === "date-range" ? (u(), o("div", X, [
138
+ s("input", {
139
+ type: "date",
140
+ class: "cui-data-grid-filter-panel__date-input",
141
+ value: v(e.filterKey ?? e.key)[0],
142
+ onInput: (a) => g(e.filterKey ?? e.key, 0, a.target.value)
143
+ }, null, 40, Y),
144
+ s("input", {
145
+ type: "date",
146
+ class: "cui-data-grid-filter-panel__date-input",
147
+ value: v(e.filterKey ?? e.key)[1],
148
+ onInput: (a) => g(e.filterKey ?? e.key, 1, a.target.value)
149
+ }, null, 40, Z)
150
+ ])) : V("", !0)
151
+ ]))), 128))
152
+ ]),
153
+ s("div", ee, [
154
+ d(p, {
155
+ size: "xs",
156
+ variant: "solid",
157
+ onClick: P
158
+ }, {
159
+ default: y(() => [
160
+ C(c(n(f).apply), 1)
161
+ ]),
162
+ _: 1
163
+ }),
164
+ d(p, {
165
+ size: "xs",
166
+ variant: "ghost",
167
+ disabled: !I.value,
168
+ onClick: G
169
+ }, {
170
+ default: y(() => [
171
+ C(c(n(f).clearAll), 1)
172
+ ]),
173
+ _: 1
174
+ }, 8, ["disabled"])
175
+ ])
176
+ ])) : V("", !0);
177
+ }
178
+ });
179
+ export {
180
+ de as default
181
+ };
@@ -0,0 +1,5 @@
1
+ import o from "./CuiDataGridFilterPanel.vue.js";
2
+ /* empty css */
3
+ export {
4
+ o as default
5
+ };
@@ -0,0 +1,28 @@
1
+ import { defineComponent as p, openBlock as g, createBlock as u, unref as t } from "vue";
2
+ import { useDataGridState as c } from "../composables/useDataGrid.js";
3
+ import s from "./CuiPagination.vue.js";
4
+ const d = /* @__PURE__ */ p({
5
+ __name: "CuiDataGridPagination",
6
+ emits: ["navigate"],
7
+ setup(l, { emit: o }) {
8
+ const a = c(), n = o;
9
+ function i(e) {
10
+ a.setPage(e), n("navigate");
11
+ }
12
+ function r(e) {
13
+ a.setPerPage(e), n("navigate");
14
+ }
15
+ return (e, m) => (g(), u(s, {
16
+ "current-page": t(a).paginationMeta.value.current_page,
17
+ "total-pages": t(a).paginationMeta.value.last_page,
18
+ "per-page": t(a).paginationMeta.value.per_page,
19
+ total: t(a).paginationMeta.value.total,
20
+ size: "sm",
21
+ "onUpdate:currentPage": i,
22
+ "onUpdate:perPage": r
23
+ }, null, 8, ["current-page", "total-pages", "per-page", "total"]));
24
+ }
25
+ });
26
+ export {
27
+ d as default
28
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./CuiDataGridPagination.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,69 @@
1
+ import { defineComponent as m, ref as c, watch as d, openBlock as f, createElementBlock as p, createVNode as r, withKeys as h, unref as v, createSlots as _, withCtx as i } from "vue";
2
+ import { useDataGridState as g } from "../composables/useDataGrid.js";
3
+ import x from "./CuiInput.vue.js";
4
+ import s from "./CuiIcon.vue.js";
5
+ import y from "./CuiButton.vue.js";
6
+ import { useMessages as C } from "../composables/useMessages.js";
7
+ const w = { style: { position: "relative", "max-width": "20rem", flex: "1" } }, D = /* @__PURE__ */ m({
8
+ __name: "CuiDataGridSearch",
9
+ setup(S) {
10
+ const l = C();
11
+ let o = null;
12
+ const a = g(), e = c(a.searchQuery.value);
13
+ d(
14
+ () => a.searchQuery.value,
15
+ (t) => {
16
+ e.value = t;
17
+ }
18
+ );
19
+ function u(t) {
20
+ e.value = String(t), o && clearTimeout(o), o = setTimeout(() => {
21
+ a.search(e.value);
22
+ }, 300);
23
+ }
24
+ function n() {
25
+ e.value = "", a.clearSearch();
26
+ }
27
+ return (t, k) => (f(), p("div", w, [
28
+ r(x, {
29
+ "model-value": e.value,
30
+ placeholder: v(l).dataGrid.search,
31
+ size: "sm",
32
+ "onUpdate:modelValue": u,
33
+ onKeydown: h(n, ["escape"])
34
+ }, _({
35
+ prefix: i(() => [
36
+ r(s, {
37
+ name: "magnifying-glass",
38
+ size: "0.875rem"
39
+ })
40
+ ]),
41
+ _: 2
42
+ }, [
43
+ e.value ? {
44
+ name: "suffix",
45
+ fn: i(() => [
46
+ r(y, {
47
+ variant: "ghost",
48
+ size: "xs",
49
+ onClick: n,
50
+ style: { margin: "-0.25rem" }
51
+ }, {
52
+ default: i(() => [
53
+ r(s, {
54
+ name: "x",
55
+ size: "0.75rem"
56
+ })
57
+ ]),
58
+ _: 1
59
+ })
60
+ ]),
61
+ key: "0"
62
+ } : void 0
63
+ ]), 1032, ["model-value", "placeholder"])
64
+ ]));
65
+ }
66
+ });
67
+ export {
68
+ D as default
69
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./CuiDataGridSearch.vue.js";
2
+ export {
3
+ f as default
4
+ };