@nxgt/material-vue 0.26.1 → 0.27.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 (156) hide show
  1. package/CHANGELOG.md +175 -0
  2. package/README.md +8 -5
  3. package/dist/Button-DEUkxkrJ.js +728 -0
  4. package/dist/{DropdownMenuTrigger-BHAhXGUO.js → DropdownMenuTrigger-BsuyNVzV.js} +48 -41
  5. package/dist/HoverCardTrigger-TDll55LP.js +510 -0
  6. package/dist/{camera-DvKuqT4L.js → camera-UJXnnFeb.js} +4 -4
  7. package/dist/components/base-content.css +139 -0
  8. package/dist/components/base.css +150 -0
  9. package/dist/components/components.css +2 -0
  10. package/dist/components/reduced-motion.css +56 -0
  11. package/dist/components/theme-tokens.css +116 -0
  12. package/dist/components/ui/actions/button-group/button-group.css +1 -1
  13. package/dist/components/ui/feedback/toast/toast.css +21 -0
  14. package/dist/components/ui/primitives/label/label.css +33 -0
  15. package/dist/{components-CCWod7cJ.js → components-BZ1XAK37.js} +19198 -18568
  16. package/dist/components.js +7 -7
  17. package/dist/composables.js +3 -3
  18. package/dist/dnd.js +1 -1
  19. package/dist/field-name-attribute-Bl7LSVK0.js +4 -0
  20. package/dist/{form-scope-x-7TYn2s.js → form-scope-BFGca0h6.js} +1 -1
  21. package/dist/{i18n-provider-CaaZCmaR.js → i18n-provider-DBusa725.js} +1 -1
  22. package/dist/i18n.js +4 -4
  23. package/dist/icon-button-jHB4MhQ5.js +262 -0
  24. package/dist/lib/components/ui/actions/button/Button.vue.d.ts +22 -4
  25. package/dist/lib/components/ui/actions/button/button-tones.d.ts +36 -0
  26. package/dist/lib/components/ui/actions/button/button.variants.d.ts +1 -1
  27. package/dist/lib/components/ui/actions/button/button.wrap.d.ts +8 -0
  28. package/dist/lib/components/ui/actions/button/label-text.d.ts +9 -0
  29. package/dist/lib/components/ui/actions/button/prepend-to-child.d.ts +18 -0
  30. package/dist/lib/components/ui/actions/button/use-click-lock.d.ts +14 -0
  31. package/dist/lib/components/ui/actions/copy-button/copy-button.vue.d.ts +6 -2
  32. package/dist/lib/components/ui/actions/icon-button/icon-button.compound-variants.d.ts +28 -0
  33. package/dist/lib/components/ui/actions/icon-button/icon-button.vue.d.ts +1 -1
  34. package/dist/lib/components/ui/actions/responsive-button/responsive-button.vue.d.ts +1 -3
  35. package/dist/lib/components/ui/collections/data-table/partials/data-table-empty.vue.d.ts +5 -1
  36. package/dist/lib/components/ui/collections/data-table/partials/data-table-scroll-region.vue.d.ts +28 -0
  37. package/dist/lib/components/ui/collections/data-table/partials/data-table-toolbar.d.ts +60 -0
  38. package/dist/lib/components/ui/collections/data-table/types.d.ts +9 -0
  39. package/dist/lib/components/ui/collections/data-table/use-scroll-edges.d.ts +22 -0
  40. package/dist/lib/components/ui/collections/pagination/PaginationFirst.vue.d.ts +1 -1
  41. package/dist/lib/components/ui/collections/pagination/PaginationItem.vue.d.ts +1 -1
  42. package/dist/lib/components/ui/collections/pagination/PaginationLast.vue.d.ts +1 -1
  43. package/dist/lib/components/ui/collections/pagination/PaginationNext.vue.d.ts +1 -1
  44. package/dist/lib/components/ui/collections/pagination/PaginationPrevious.vue.d.ts +1 -1
  45. package/dist/lib/components/ui/dates/calendar/Calendar.vue.d.ts +4 -4
  46. package/dist/lib/components/ui/dates/calendar/calendar-day-label.d.ts +17 -0
  47. package/dist/lib/components/ui/dates/calendar/calendar-years.d.ts +11 -0
  48. package/dist/lib/components/ui/dates/calendar/partials/calendar-month-select.vue.d.ts +18 -0
  49. package/dist/lib/components/ui/dates/calendar/partials/calendar-year-select.vue.d.ts +19 -0
  50. package/dist/lib/components/ui/dates/calendar/use-calendar-locale.d.ts +7 -0
  51. package/dist/lib/components/ui/dates/calendar/use-calendar-selected-hint.d.ts +17 -0
  52. package/dist/lib/components/ui/dates/date-range-field/partials/date-range-day.vue.d.ts +8 -0
  53. package/dist/lib/components/ui/display/cards/cards.gallery.d.ts +3 -3
  54. package/dist/lib/components/ui/display/list-tile/list-tile.vue.d.ts +10 -6
  55. package/dist/lib/components/ui/feedback/alert-dialog/AlertDialogContent.vue.d.ts +2 -2
  56. package/dist/lib/components/ui/feedback/sonner/index.d.ts +1 -0
  57. package/dist/lib/components/ui/feedback/toast/toast.d.ts +7 -0
  58. package/dist/lib/components/ui/feedback/toast/toast.vue.d.ts +18 -2
  59. package/dist/lib/components/ui/fields/contacts/consts.d.ts +1 -1
  60. package/dist/lib/components/ui/forms/use-field-blur.d.ts +3 -0
  61. package/dist/lib/components/ui/layout/app-shell/activity-content.vue.d.ts +9 -3
  62. package/dist/lib/components/ui/layout/app-shell/activity-layout.vue.d.ts +21 -4
  63. package/dist/lib/components/ui/layout/app-shell/app-header.vue.d.ts +7 -5
  64. package/dist/lib/components/ui/layout/app-shell/app-sidebar.vue.d.ts +4 -1
  65. package/dist/lib/components/ui/layout/app-shell/index.d.ts +2 -2
  66. package/dist/lib/components/ui/layout/app-shell/router-menu-link.d.ts +7 -0
  67. package/dist/lib/components/ui/layout/app-shell/types.d.ts +8 -0
  68. package/dist/lib/components/ui/layout/app-shell/use-content-scroll.d.ts +13 -0
  69. package/dist/lib/components/ui/layout/app-shell/use-navigation-sheet.d.ts +17 -0
  70. package/dist/lib/components/ui/layout/sidebar/sidebar-context.d.ts +15 -0
  71. package/dist/lib/components/ui/layout/sidebar/sidebar-menu-item.vue.d.ts +13 -4
  72. package/dist/lib/components/ui/media/carousel/carousel-next.vue.d.ts +1 -1
  73. package/dist/lib/components/ui/media/carousel/carousel-previous.vue.d.ts +1 -1
  74. package/dist/lib/components/ui/menu-item-variant.d.ts +4 -4
  75. package/dist/lib/components/ui/overlays/context-menu/ContextMenuContent.vue.d.ts +2 -2
  76. package/dist/lib/components/ui/overlays/dialog/DialogContent.vue.d.ts +2 -2
  77. package/dist/lib/components/ui/overlays/dialog/DialogScrollContent.vue.d.ts +2 -2
  78. package/dist/lib/components/ui/overlays/dialog/use-escape-forward.d.ts +17 -0
  79. package/dist/lib/components/ui/overlays/dialog/use-inert-others.d.ts +17 -0
  80. package/dist/lib/components/ui/overlays/dialog/use-modal-content.d.ts +32 -0
  81. package/dist/lib/components/ui/overlays/drawer/DrawerContent.vue.d.ts +2 -2
  82. package/dist/lib/components/ui/overlays/dropdown-menu/DropdownMenu.vue.d.ts +3 -1
  83. package/dist/lib/components/ui/overlays/dropdown-menu/DropdownMenuContent.vue.d.ts +2 -2
  84. package/dist/lib/components/ui/overlays/popover/PopoverContent.vue.d.ts +2 -2
  85. package/dist/lib/components/ui/overlays/sheet/SheetContent.vue.d.ts +2 -2
  86. package/dist/lib/components/ui/primitives/card/CardTitle.vue.d.ts +11 -4
  87. package/dist/lib/components/ui/primitives/card/index.d.ts +1 -0
  88. package/dist/lib/components/ui/primitives/toggle/Toggle.vue.d.ts +1 -1
  89. package/dist/lib/components/ui/primitives/toggle/index.d.ts +1 -1
  90. package/dist/lib/components/ui/selection/autocomplete/partials/autocomplete-box.vue.d.ts +2 -0
  91. package/dist/lib/components/ui/selection/select/SelectContent.vue.d.ts +2 -2
  92. package/dist/lib/components/ui/selection/select-chip-field/select-chip-field.vue.d.ts +1 -0
  93. package/dist/lib/i18n/resources/en/en.d.ts +9 -0
  94. package/dist/lib/i18n/resources/en/material.json.d.ts +13 -4
  95. package/dist/lib/i18n/resources/fr/fr.d.ts +9 -0
  96. package/dist/lib/i18n/resources/fr/material.json.d.ts +13 -4
  97. package/dist/lib/i18n/resources/resources.d.ts +18 -0
  98. package/dist/lib/i18n/translator.d.ts +1 -1
  99. package/dist/lib/lib/field-name-attribute.d.ts +7 -0
  100. package/dist/lib/lib/focus-field.d.ts +17 -0
  101. package/dist/lib/lib/index.d.ts +1 -0
  102. package/dist/lib.js +76 -74
  103. package/dist/main.js +13 -13
  104. package/dist/map.js +4 -4
  105. package/dist/material-vue.css +1 -1
  106. package/dist/{pdf-outline-sidebar-D3vq2qfS.js → pdf-outline-sidebar-ChjAXoUX.js} +2 -2
  107. package/dist/{pdf-page-BrJbyjQj.js → pdf-page-D4OTPcpF.js} +1 -1
  108. package/dist/{pdf-page-list-BCgYEszV.js → pdf-page-list-CFgKYLur.js} +2 -2
  109. package/dist/{pdf-reader-BAzevSJU.js → pdf-reader-B1hw81cG.js} +9 -9
  110. package/dist/{pdf-sidebar-DSh2Mend.js → pdf-sidebar-Do5HzrDq.js} +3 -3
  111. package/dist/{pdf-thumbnail-sidebar-D_EMcbKF.js → pdf-thumbnail-sidebar-CMge0C9-.js} +3 -3
  112. package/dist/{pdf-toolbar-BcL7HlfS.js → pdf-toolbar-BBio9baU.js} +5 -5
  113. package/dist/pdf.js +2 -2
  114. package/dist/{sortable-provider-DMpmM7Ke.js → sortable-provider-DMVbbmUU.js} +2 -2
  115. package/dist/{stored-language-Bxhsx4iB.js → stored-language-AJpwOMsA.js} +26 -8
  116. package/dist/{stx-player-MldK_ZAZ.js → stx-player-gtyStl7e.js} +2 -2
  117. package/dist/styles.css +10 -368
  118. package/dist/{translator-CLI_7Crg.js → translator-D2_swsMz.js} +1 -1
  119. package/dist/{use-heading-spy-VPuFj2Gt.js → use-heading-spy-BbEbAfPK.js} +19 -19
  120. package/dist/use-inert-others-CtGqZKR8.js +22 -0
  121. package/dist/{use-material-translation-CONqD9wJ.js → use-material-translation-BHtgyMz3.js} +3 -3
  122. package/docs/components/buttons-and-actions.md +71 -16
  123. package/docs/components/data-display.md +12 -1
  124. package/docs/components/data-table-filter-and-lists.md +85 -5
  125. package/docs/components/date-and-time.md +25 -1
  126. package/docs/components/feedback-and-status.md +86 -11
  127. package/docs/components/form-fields.md +13 -4
  128. package/docs/components/media-and-files.md +7 -0
  129. package/docs/components/navigation-and-layout.md +19 -1
  130. package/docs/components/overlays-and-menus.md +20 -4
  131. package/docs/components/primitives.md +16 -2
  132. package/docs/components/selection-and-choice.md +12 -1
  133. package/docs/getting-started.md +2 -2
  134. package/docs/guides/app-shell.md +102 -6
  135. package/docs/guides/forms.md +58 -5
  136. package/docs/guides/helpers.md +2 -1
  137. package/docs/guides/i18n.md +5 -2
  138. package/docs/guides/ssr.md +1 -1
  139. package/docs/guides/theming.md +134 -6
  140. package/docs/previews/data-display-description.webp +0 -0
  141. package/docs/previews/feedback-status-toast.webp +0 -0
  142. package/docs/roadmap.md +21 -0
  143. package/docs/troubleshooting.md +854 -12
  144. package/lib/components/base-content.css +139 -0
  145. package/lib/components/base.css +150 -0
  146. package/lib/components/components.css +2 -0
  147. package/lib/components/reduced-motion.css +56 -0
  148. package/lib/components/theme-tokens.css +116 -0
  149. package/lib/components/ui/actions/button-group/button-group.css +1 -1
  150. package/lib/components/ui/feedback/toast/toast.css +21 -0
  151. package/lib/components/ui/primitives/label/label.css +33 -0
  152. package/lib/styles.css +10 -368
  153. package/package.json +2 -2
  154. package/dist/Button-16J7vTpE.js +0 -665
  155. package/dist/HoverCardTrigger-C41002JS.js +0 -455
  156. package/dist/icon-button-CDdNsZuZ.js +0 -227
@@ -1,665 +0,0 @@
1
- import { t as e } from "./utils-CykWQ0iJ.js";
2
- import { t } from "./use-material-translation-CONqD9wJ.js";
3
- import { Comment as n, Text as r, computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createTextVNode as l, createVNode as u, defineComponent as d, guardReactiveProps as f, inject as p, isVNode as m, mergeProps as h, normalizeClass as g, normalizeProps as _, openBlock as v, provide as y, renderSlot as b, shallowRef as x, toDisplayString as S, unref as C, useAttrs as w, useSlots as T, withCtx as E } from "vue";
4
- import { Primitive as D, TooltipArrow as O, TooltipContent as k, TooltipPortal as A, TooltipProvider as j, TooltipRoot as M, TooltipTrigger as N, useForwardPropsEmits as P } from "reka-ui";
5
- import { cva as F } from "class-variance-authority";
6
- import { createSharedComposable as I, defaultDocument as L, reactiveOmit as R, useEventListener as z } from "@vueuse/core";
7
- //#endregion
8
- //#region lib/components/ui/feedback/spinner/spinner.variants.ts
9
- var B = F("transition-all duration-500", {
10
- variants: {
11
- variant: {
12
- 1: "",
13
- 2: "",
14
- 3: "",
15
- 4: ""
16
- },
17
- color: {
18
- primary: null,
19
- secondary: null,
20
- info: null,
21
- warning: null,
22
- default: null,
23
- error: null,
24
- success: null,
25
- light: null
26
- }
27
- },
28
- defaultVariants: {
29
- variant: "1",
30
- color: "primary"
31
- },
32
- compoundVariants: [
33
- {
34
- variant: "1",
35
- color: "primary",
36
- class: "border-primary/10 border-t-primary"
37
- },
38
- {
39
- variant: "1",
40
- color: "secondary",
41
- class: "border-secondary/10 border-t-secondary"
42
- },
43
- {
44
- variant: "1",
45
- color: "success",
46
- class: "border-success/10 border-t-success"
47
- },
48
- {
49
- variant: "1",
50
- color: "info",
51
- class: "border-info/10 border-t-info"
52
- },
53
- {
54
- variant: "1",
55
- color: "warning",
56
- class: "border-warning/10 border-t-warning"
57
- },
58
- {
59
- variant: "1",
60
- color: "error",
61
- class: "border-error/10 border-t-error"
62
- },
63
- {
64
- variant: "1",
65
- color: "default",
66
- class: "border-foreground/10 border-t-foreground"
67
- },
68
- {
69
- variant: "1",
70
- color: "light",
71
- class: "border-white/10 border-t-white"
72
- },
73
- {
74
- variant: "2",
75
- color: "primary",
76
- class: "border-primary/10 border-b-primary border-t-primary"
77
- },
78
- {
79
- variant: "2",
80
- color: "secondary",
81
- class: "border-secondary/10 border-b-secondary border-t-secondary"
82
- },
83
- {
84
- variant: "2",
85
- color: "success",
86
- class: "border-success/10 border-b-success border-t-success"
87
- },
88
- {
89
- variant: "2",
90
- color: "info",
91
- class: "border-info/10 border-b-info border-t-info"
92
- },
93
- {
94
- variant: "2",
95
- color: "warning",
96
- class: "border-warning/10 border-b-warning border-t-warning"
97
- },
98
- {
99
- variant: "2",
100
- color: "error",
101
- class: "border-error/10 border-b-error border-t-error"
102
- },
103
- {
104
- variant: "2",
105
- color: "default",
106
- class: "border-foreground/10 border-b-foreground border-t-foreground"
107
- },
108
- {
109
- variant: "2",
110
- color: "light",
111
- class: "border-white/10 border-b-white border-t-white"
112
- },
113
- {
114
- variant: "3",
115
- color: "primary",
116
- class: "border-primary/10 border-b-primary border-t-primary border-r-primary"
117
- },
118
- {
119
- variant: "3",
120
- color: "secondary",
121
- class: "border-secondary/10 border-b-secondary border-t-secondary border-r-secondary"
122
- },
123
- {
124
- variant: "3",
125
- color: "success",
126
- class: "border-success/10 border-b-success border-t-success border-r-success"
127
- },
128
- {
129
- variant: "3",
130
- color: "info",
131
- class: "border-info/10 border-b-info border-t-info border-r-info"
132
- },
133
- {
134
- variant: "3",
135
- color: "warning",
136
- class: "border-warning/10 border-b-warning border-t-warning border-r-warning"
137
- },
138
- {
139
- variant: "3",
140
- color: "error",
141
- class: "border-error/10 border-b-error border-t-error border-r-error"
142
- },
143
- {
144
- variant: "3",
145
- color: "default",
146
- class: "border-foreground/10 border-b-foreground border-t-foreground border-r-foreground"
147
- },
148
- {
149
- variant: "3",
150
- color: "light",
151
- class: "border-white/10 border-b-white border-t-white border-r-white"
152
- },
153
- {
154
- variant: "4",
155
- color: "primary",
156
- class: "stroke-primary"
157
- },
158
- {
159
- variant: "4",
160
- color: "secondary",
161
- class: "stroke-secondary"
162
- },
163
- {
164
- variant: "4",
165
- color: "success",
166
- class: "stroke-success"
167
- },
168
- {
169
- variant: "4",
170
- color: "info",
171
- class: "stroke-info"
172
- },
173
- {
174
- variant: "4",
175
- color: "warning",
176
- class: "stroke-warning"
177
- },
178
- {
179
- variant: "4",
180
- color: "error",
181
- class: "stroke-error"
182
- },
183
- {
184
- variant: "4",
185
- color: "default",
186
- class: "stroke-foreground"
187
- },
188
- {
189
- variant: "4",
190
- color: "light",
191
- class: "stroke-white"
192
- }
193
- ]
194
- }), V = [
195
- "data-variant",
196
- "data-color",
197
- "aria-label"
198
- ], H = ["data-variant", "data-color"], U = /* @__PURE__ */ d({
199
- __name: "spinner",
200
- props: {
201
- variant: { default: "1" },
202
- color: { default: "primary" },
203
- class: { type: [
204
- Boolean,
205
- null,
206
- String,
207
- Object,
208
- Array
209
- ] }
210
- },
211
- setup(n) {
212
- let r = n, { t: i } = t();
213
- return (t, a) => n.variant === "4" ? (v(), s("svg", {
214
- key: 0,
215
- viewBox: "0 0 800 800",
216
- "data-slot": "spinner",
217
- "data-variant": n.variant,
218
- "data-color": n.color,
219
- xmlns: "http://www.w3.org/2000/svg",
220
- role: "img",
221
- "aria-label": C(i)("material.spinner.loading", "Loading..."),
222
- class: g(C(e)("size-14", r.class))
223
- }, [c("circle", {
224
- class: g(["spin2", C(B)({
225
- variant: n.variant,
226
- color: n.color
227
- })]),
228
- cx: "400",
229
- cy: "400",
230
- fill: "none",
231
- r: "200",
232
- "stroke-width": "50",
233
- "stroke-dasharray": "700 1400",
234
- "stroke-linecap": "round"
235
- }, null, 2)], 10, V)) : (v(), s("div", {
236
- key: 1,
237
- "data-slot": "spinner",
238
- "data-variant": n.variant,
239
- "data-color": n.color,
240
- class: g(C(e)("size-12 border-[2px] rounded-full animate-spin", C(B)({
241
- variant: n.variant,
242
- color: n.color
243
- }), r.class))
244
- }, null, 10, H));
245
- }
246
- }), W = /* @__PURE__ */ d({
247
- __name: "Tooltip",
248
- props: {
249
- defaultOpen: { type: Boolean },
250
- open: { type: Boolean },
251
- delayDuration: {},
252
- disableHoverableContent: { type: Boolean },
253
- disableClosingTrigger: { type: Boolean },
254
- disabled: { type: Boolean },
255
- ignoreNonKeyboardFocus: { type: Boolean }
256
- },
257
- emits: ["update:open"],
258
- setup(e, { emit: t }) {
259
- let n = P(e, t);
260
- return (e, t) => (v(), a(C(M), h({ "data-slot": "tooltip" }, C(n)), {
261
- default: E((t) => [b(e.$slots, "default", _(f(t)))]),
262
- _: 3
263
- }, 16));
264
- }
265
- }), G = /* @__PURE__ */ new Set([
266
- "VIDEO",
267
- "IFRAME",
268
- "CANVAS",
269
- "IMG",
270
- "EMBED"
271
- ]);
272
- function K(e) {
273
- let t = e?.fullscreenElement;
274
- return !t || typeof HTMLElement > "u" || !(t instanceof HTMLElement) || G.has(t.tagName) ? null : t;
275
- }
276
- var q = I(() => {
277
- let e = x(K(L));
278
- return z(L, "fullscreenchange", () => {
279
- e.value = K(L);
280
- }), e;
281
- }), J = /* @__PURE__ */ d({
282
- inheritAttrs: !1,
283
- __name: "TooltipContent",
284
- props: {
285
- forceMount: { type: Boolean },
286
- ariaLabel: {},
287
- asChild: { type: Boolean },
288
- as: {},
289
- side: {},
290
- sideOffset: { default: 4 },
291
- align: {},
292
- alignOffset: {},
293
- avoidCollisions: { type: Boolean },
294
- collisionBoundary: {},
295
- collisionPadding: {},
296
- arrowPadding: {},
297
- sticky: {},
298
- hideWhenDetached: { type: Boolean },
299
- positionStrategy: {},
300
- updatePositionStrategy: {},
301
- class: { type: [
302
- Boolean,
303
- null,
304
- String,
305
- Object,
306
- Array
307
- ] },
308
- to: { default: void 0 }
309
- },
310
- emits: ["escapeKeyDown", "pointerDownOutside"],
311
- setup(t, { emit: n }) {
312
- let r = t, i = n, o = q(), s = P(R(r, "class", "to"), i);
313
- return (n, i) => (v(), a(C(A), { to: t.to ?? C(o) ?? void 0 }, {
314
- default: E(() => [u(C(k), h({ "data-slot": "tooltip-content" }, {
315
- ...C(s),
316
- ...n.$attrs
317
- }, { class: C(e)("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit rounded-md px-3 py-1.5 text-xs text-balance", r.class) }), {
318
- default: E(() => [b(n.$slots, "default"), u(C(O), { class: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-xs" })]),
319
- _: 3
320
- }, 16, ["class"])]),
321
- _: 3
322
- }, 8, ["to"]));
323
- }
324
- }), Y = /* @__PURE__ */ d({
325
- __name: "TooltipProvider",
326
- props: {
327
- delayDuration: { default: 0 },
328
- skipDelayDuration: {},
329
- disableHoverableContent: { type: Boolean },
330
- disableClosingTrigger: { type: Boolean },
331
- disabled: { type: Boolean },
332
- ignoreNonKeyboardFocus: { type: Boolean },
333
- content: {}
334
- },
335
- setup(e) {
336
- let t = e;
337
- return (e, n) => (v(), a(C(j), _(f(t)), {
338
- default: E(() => [b(e.$slots, "default")]),
339
- _: 3
340
- }, 16));
341
- }
342
- }), X = /* @__PURE__ */ d({
343
- __name: "TooltipTrigger",
344
- props: {
345
- reference: {},
346
- asChild: { type: Boolean },
347
- as: {}
348
- },
349
- setup(e) {
350
- let t = e;
351
- return (e, n) => (v(), a(C(N), h({ "data-slot": "tooltip-trigger" }, t), {
352
- default: E(() => [b(e.$slots, "default")]),
353
- _: 3
354
- }, 16));
355
- }
356
- }), Z = Symbol("named-control"), Q = F("inline-flex center truncate **:truncate gap-2 h-min cursor-pointer whitespace-nowrap rounded-full text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-error/20 dark:aria-invalid:ring-error/40 aria-invalid:border-error px-4 py-2 has-[>svg]:px-3", {
357
- variants: {
358
- variant: {
359
- filled: "shadow-xs",
360
- tonal: "shadow-xs",
361
- ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
362
- outlined: "border shadow-xs",
363
- link: "focus:underline underline-offset-4 hover:underline"
364
- },
365
- color: {
366
- primary: null,
367
- secondary: null,
368
- info: null,
369
- warning: null,
370
- default: null,
371
- error: null,
372
- success: null
373
- },
374
- size: {
375
- default: "h-9 px-4 py-2 has-[>svg]:px-3",
376
- xs: "h-6 gap-1 rounded-full px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",
377
- sm: "h-8 rounded-full gap-1.5 px-3 has-[>svg]:px-2.5",
378
- lg: "h-10 rounded-full px-6 has-[>svg]:px-4",
379
- icon: "size-9 px-0 py-0 has-[>svg]:px-0",
380
- "icon-xs": "size-6 rounded-full px-0 py-0 has-[>svg]:px-0 [&_svg:not([class*='size-'])]:size-3",
381
- "icon-sm": "size-8 px-0 py-0 has-[>svg]:px-0",
382
- "icon-lg": "size-10 px-0 py-0 has-[>svg]:px-0"
383
- }
384
- },
385
- defaultVariants: {
386
- variant: "filled",
387
- color: "primary"
388
- },
389
- compoundVariants: [
390
- {
391
- variant: "filled",
392
- color: "primary",
393
- class: "bg-primary text-primary-foreground hover:bg-primary/90 [&_svg]:data-[slot=icon]:text-primary-foreground active:bg-primary/70 focus:bg-primary/80"
394
- },
395
- {
396
- variant: "filled",
397
- color: "secondary",
398
- class: "bg-secondary text-secondary-foreground hover:bg-secondary/90 [&_svg]:data-[slot=icon]:text-secondary-foreground active:bg-secondary/70 focus:bg-secondary/80"
399
- },
400
- {
401
- variant: "filled",
402
- color: "success",
403
- class: "bg-success text-success-foreground hover:bg-success/90 [&_svg]:data-[slot=icon]:text-success-foreground active:bg-success/70 focus:bg-success/80"
404
- },
405
- {
406
- variant: "filled",
407
- color: "info",
408
- class: "bg-info text-info-foreground hover:bg-info/90 [&_svg]:data-[slot=icon]:text-info-foreground active:bg-info/70 focus:bg-info/80"
409
- },
410
- {
411
- variant: "filled",
412
- color: "warning",
413
- class: "bg-warning text-warning-foreground hover:bg-warning/90 [&_svg]:data-[slot=icon]:text-warning-foreground active:bg-warning/70 focus:bg-warning/80"
414
- },
415
- {
416
- variant: "filled",
417
- color: "error",
418
- class: "bg-error text-error-foreground hover:bg-error/90 [&_svg]:data-[slot=icon]:text-error-foreground active:bg-error/70 focus:bg-error/80"
419
- },
420
- {
421
- variant: "filled",
422
- color: "default",
423
- class: "bg-foreground text-background hover:bg-foreground/90 [&_svg]:data-[slot=icon]:text-foreground active:bg-foreground/70 focus:bg-foreground/80"
424
- },
425
- {
426
- variant: "tonal",
427
- color: "primary",
428
- class: "bg-primary/15 text-primary hover:bg-primary/10 [&_svg]:data-[slot=icon]:text-primary active:bg-primary/5 focus:bg-primary/50"
429
- },
430
- {
431
- variant: "tonal",
432
- color: "secondary",
433
- class: "bg-secondary/15 text-secondary hover:bg-secondary/10 [&_svg]:data-[slot=icon]:text-secondary active:bg-secondary/5 focus:bg-secondary/50"
434
- },
435
- {
436
- variant: "tonal",
437
- color: "info",
438
- class: "bg-info/15 text-info hover:bg-info/10 [&_svg]:data-[slot=icon]:text-info active:bg-info/5 focus:bg-info/50"
439
- },
440
- {
441
- variant: "tonal",
442
- color: "success",
443
- class: "bg-success/15 text-success hover:bg-success/10 [&_svg]:data-[slot=icon]:text-success active:bg-success/5 focus:bg-success/50"
444
- },
445
- {
446
- variant: "tonal",
447
- color: "warning",
448
- class: "bg-warning/15 text-warning hover:bg-warning/10 [&_svg]:data-[slot=icon]:text-warning active:bg-warning/5 focus:bg-warning/50"
449
- },
450
- {
451
- variant: "tonal",
452
- color: "error",
453
- class: "bg-error/15 text-error hover:bg-error/10 [&_svg]:data-[slot=icon]:text-error active:bg-error/5 focus:bg-error/50"
454
- },
455
- {
456
- variant: "tonal",
457
- color: "default",
458
- class: "bg-foreground/15 text-foreground hover:bg-foreground/10 [&_svg]:data-[slot=icon]:text-foreground active:bg-muted focus:bg-muted0"
459
- },
460
- {
461
- variant: "outlined",
462
- color: "primary",
463
- class: "text-primary border-primary/50 [&_svg]:data-[slot=icon]:text-primary focus:bg-primary/20 hover:bg-primary/10 hover:text-primary/90"
464
- },
465
- {
466
- variant: "outlined",
467
- color: "secondary",
468
- class: "text-secondary border-secondary/50 [&_svg]:data-[slot=icon]:text-secondary focus:bg-secondary/20 hover:bg-secondary/10 hover:text-secondary/90"
469
- },
470
- {
471
- variant: "outlined",
472
- color: "info",
473
- class: "text-info border-info/50 [&_svg]:data-[slot=icon]:text-info focus:bg-info/20 hover:bg-info/10 hover:text-info/90"
474
- },
475
- {
476
- variant: "outlined",
477
- color: "success",
478
- class: "text-success border-success/50 [&_svg]:data-[slot=icon]:text-success focus:bg-success/20 hover:bg-success/10 hover:text-success/90"
479
- },
480
- {
481
- variant: "outlined",
482
- color: "warning",
483
- class: "text-warning border-warning/50 [&_svg]:data-[slot=icon]:text-warning focus:bg-warning/20 hover:bg-warning/10 hover:text-warning/90"
484
- },
485
- {
486
- variant: "outlined",
487
- color: "error",
488
- class: "text-error border-error/50 [&_svg]:data-[slot=icon]:text-error focus:bg-error/20 hover:bg-error/10 hover:text-error/90"
489
- },
490
- {
491
- variant: "outlined",
492
- color: "default",
493
- class: "text-foreground border-foreground/50 [&_svg]:data-[slot=icon]:text-foreground focus:bg-foreground/20 hover:bg-foreground/10 hover:text-foreground/90"
494
- },
495
- {
496
- variant: "link",
497
- color: "primary",
498
- class: "text-primary [&_svg]:data-[slot=icon]:text-primary hover:bg-primary/10 active:bg-primary/5 focus:bg-primary/15"
499
- },
500
- {
501
- variant: "link",
502
- color: "secondary",
503
- class: "text-secondary [&_svg]:data-[slot=icon]:text-secondary hover:bg-secondary/10 active:bg-secondary/5 focus:bg-secondary/15"
504
- },
505
- {
506
- variant: "link",
507
- color: "success",
508
- class: "text-success [&_svg]:data-[slot=icon]:text-success hover:bg-success/10 active:bg-success/5 focus:bg-success/15"
509
- },
510
- {
511
- variant: "link",
512
- color: "info",
513
- class: "text-info [&_svg]:data-[slot=icon]:text-info hover:bg-info/10 active:bg-info/5 focus:bg-info/15"
514
- },
515
- {
516
- variant: "link",
517
- color: "warning",
518
- class: "text-warning [&_svg]:data-[slot=icon]:text-warning hover:bg-warning/10 active:bg-warning/5 focus:bg-warning/15"
519
- },
520
- {
521
- variant: "link",
522
- color: "error",
523
- class: "text-error [&_svg]:data-[slot=icon]:text-error hover:bg-error/10 active:bg-error/5 focus:bg-error/15"
524
- },
525
- {
526
- variant: "link",
527
- color: "default",
528
- class: "text-foreground [&_svg]:data-[slot=icon]:text-foreground hover:bg-foreground/10 active:bg-muted focus:bg-foreground/15"
529
- }
530
- ]
531
- });
532
- //#endregion
533
- //#region lib/components/ui/actions/button/has-text-content.ts
534
- function $(e) {
535
- if (e == null || typeof e == "boolean") return !1;
536
- if (typeof e == "string" || typeof e == "number") return String(e).trim() !== "";
537
- if (Array.isArray(e)) return e.some($);
538
- if (!m(e) || e.type === n) return !1;
539
- if (e.type === r) return String(e.children ?? "").trim() !== "";
540
- if (ee(e.props?.["aria-hidden"] ?? e.props?.ariaHidden)) return !1;
541
- let { children: t } = e;
542
- if (typeof t == "string") return t.trim() !== "";
543
- if (Array.isArray(t)) return $(t);
544
- let i = t?.default;
545
- return typeof i == "function" && $(i());
546
- }
547
- function ee(e) {
548
- return e === "" || !!e && e !== "false";
549
- }
550
- //#endregion
551
- //#region lib/components/ui/actions/button/Button.vue
552
- var te = /* @__PURE__ */ d({
553
- inheritAttrs: !1,
554
- __name: "Button",
555
- props: {
556
- asChild: { type: Boolean },
557
- as: { default: "button" },
558
- variant: { default: "filled" },
559
- color: { default: "primary" },
560
- size: {},
561
- class: { type: [
562
- Boolean,
563
- null,
564
- String,
565
- Object,
566
- Array
567
- ] },
568
- loading: { type: Boolean },
569
- spinnerVariant: { default: "2" },
570
- disabled: { type: Boolean },
571
- tooltip: {}
572
- },
573
- setup(t) {
574
- let n = t, r = w(), s = T(), c = p(Z, void 0);
575
- y(Z, i(() => !!c?.value || !!(r["aria-label"] || r["aria-labelledby"]) || $(s.default?.())));
576
- let d = i(() => !!(n.disabled || n.loading)), f = i(() => n.as !== "button" || n.asChild ? r.type : r.type ?? "button"), m = i(() => !!n.size?.startsWith("icon")), _ = i(() => e("justify-center duration-500", !m.value && "w-max truncate line-clamp-1 text-ellipsis", Q({
577
- variant: n.variant,
578
- color: n.color,
579
- size: n.size
580
- }), n.class));
581
- return (n, r) => t.tooltip ? (v(), a(C(Y), { key: 0 }, {
582
- default: E(() => [u(C(W), null, {
583
- default: E(() => [u(C(X), { "as-child": "" }, {
584
- default: E(() => [u(C(D), h(n.$attrs, {
585
- "data-slot": n.$attrs["data-slot"] ?? "button",
586
- "data-variant": t.variant,
587
- "data-color": t.color,
588
- "data-size": t.size,
589
- as: t.as,
590
- "as-child": t.asChild,
591
- type: f.value,
592
- disabled: d.value,
593
- "aria-busy": t.loading || void 0,
594
- class: _.value
595
- }), {
596
- default: E(() => [t.loading ? (v(), a(U, {
597
- key: 0,
598
- variant: t.spinnerVariant,
599
- color: t.variant === "filled" ? "light" : t.color,
600
- class: g(C(e)("starting:scale-0 duration-500", t.spinnerVariant === "4" ? "size-7.5" : "size-4.5"))
601
- }, null, 8, [
602
- "variant",
603
- "color",
604
- "class"
605
- ])) : o("", !0), b(n.$slots, "default")]),
606
- _: 3
607
- }, 16, [
608
- "data-slot",
609
- "data-variant",
610
- "data-color",
611
- "data-size",
612
- "as",
613
- "as-child",
614
- "type",
615
- "disabled",
616
- "aria-busy",
617
- "class"
618
- ])]),
619
- _: 3
620
- }), u(C(J), null, {
621
- default: E(() => [l(S(t.tooltip), 1)]),
622
- _: 1
623
- })]),
624
- _: 3
625
- })]),
626
- _: 3
627
- })) : (v(), a(C(D), h({ key: 1 }, n.$attrs, {
628
- "data-slot": n.$attrs["data-slot"] ?? "button",
629
- "data-variant": t.variant,
630
- "data-color": t.color,
631
- "data-size": t.size,
632
- as: t.as,
633
- "as-child": t.asChild,
634
- type: f.value,
635
- disabled: d.value,
636
- "aria-busy": t.loading || void 0,
637
- class: _.value
638
- }), {
639
- default: E(() => [t.loading ? (v(), a(U, {
640
- key: 0,
641
- variant: t.spinnerVariant,
642
- color: t.variant === "filled" ? "light" : t.color,
643
- class: g(C(e)("starting:scale-0 duration-500", t.spinnerVariant === "4" ? "size-7.5" : "size-4.5"))
644
- }, null, 8, [
645
- "variant",
646
- "color",
647
- "class"
648
- ])) : o("", !0), b(n.$slots, "default")]),
649
- _: 3
650
- }, 16, [
651
- "data-slot",
652
- "data-variant",
653
- "data-color",
654
- "data-size",
655
- "as",
656
- "as-child",
657
- "type",
658
- "disabled",
659
- "aria-busy",
660
- "class"
661
- ]));
662
- }
663
- });
664
- //#endregion
665
- export { Y as a, W as c, X as i, U as l, Q as n, J as o, Z as r, q as s, te as t, B as u };