@brumaombra/ui-vintage 0.2.2 → 0.3.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 (41) hide show
  1. package/README.md +9 -9
  2. package/dist/{Busy-DSyPtpVD.js → Busy-1BeD2TRH.js} +5 -13
  3. package/dist/{CalendarPrevButton.vue_vue_type_script_setup_true_lang-Dqz6DIGp.js → CalendarPrevButton.vue_vue_type_script_setup_true_lang-BklOxtD-.js} +17 -29
  4. package/dist/CardFooter.vue_vue_type_script_setup_true_lang-B1eS9wge.js +40 -0
  5. package/dist/{DialogPortal-BTVR2QvT.js → DialogPortal-D81oXsCY.js} +1 -13
  6. package/dist/{DialogTitle.vue_vue_type_script_setup_true_lang-83YQbiAn.js → DialogTitle.vue_vue_type_script_setup_true_lang-BMXrxvBF.js} +3 -2
  7. package/dist/HugeiconsIcon.vue-BJ-_Wtmk.js +124 -0
  8. package/dist/{NativeSelectOption.vue_vue_type_script_setup_true_lang-CWhL2Lw8.js → NativeSelectOption.vue_vue_type_script_setup_true_lang-Ce5VmA0n.js} +4 -3
  9. package/dist/{SheetTitle.vue_vue_type_script_setup_true_lang-fx9jbBwT.js → SheetTitle.vue_vue_type_script_setup_true_lang-Csr3nKnG.js} +6 -2
  10. package/dist/badge.js +50 -0
  11. package/dist/busy-indicator.js +1 -1
  12. package/dist/busy.js +1 -1
  13. package/dist/calendar.js +1 -1
  14. package/dist/card.js +7 -40
  15. package/dist/command.js +6 -13
  16. package/dist/components/confirm-dialog/index.d.ts +2 -2
  17. package/dist/components/dashboard-shell/DashboardShell.vue.d.ts +1 -0
  18. package/dist/components/error-page/ErrorPage.vue.d.ts +51 -0
  19. package/dist/components/error-page/index.d.ts +2 -0
  20. package/dist/components/message-dialog/index.d.ts +2 -2
  21. package/dist/components/slider-form-component/SliderFormComponent.vue.d.ts +3 -3
  22. package/dist/components/ui/badge/Badge.vue.d.ts +24 -0
  23. package/dist/components/ui/badge/index.d.ts +6 -0
  24. package/dist/components/ui/button/index.d.ts +1 -1
  25. package/dist/components/ui/popover/PopoverContent.vue.d.ts +1 -1
  26. package/dist/confirm-dialog.js +13 -19
  27. package/dist/dashboard-shell.js +9 -2
  28. package/dist/date-picker.js +6 -15
  29. package/dist/dialog.js +7 -3
  30. package/dist/error-page.js +113 -0
  31. package/dist/message-dialog.js +22 -54
  32. package/dist/native-select.js +1 -1
  33. package/dist/select.js +17 -16
  34. package/dist/sheet.js +1 -1
  35. package/dist/sidebar.js +3 -13
  36. package/dist/style.css +160 -8
  37. package/package.json +11 -2
  38. package/dist/check-iejznCzf.js +0 -11
  39. package/dist/chevron-down-DP-oz-sL.js +0 -13
  40. package/dist/createLucideIcon-CCMB2vDW.js +0 -130
  41. package/dist/info-DZrSmi42.js +0 -15
package/dist/select.js CHANGED
@@ -16,19 +16,8 @@ import { u as useForwardExpose } from "./useForwardExpose-BiRQH8eO.js";
16
16
  import { P as Primitive } from "./Primitive-D3IcFg81.js";
17
17
  import { i as injectConfigProviderContext } from "./ConfigProvider-D2O0Jles.js";
18
18
  import { c as cn } from "./utils-Bz4m9VPB.js";
19
+ import { H as HugeiconsIcon, T as TWr, d as dn, C as CC } from "./HugeiconsIcon.vue-BJ-_Wtmk.js";
19
20
  import { r as reactiveOmit } from "./index-qGMU40e1.js";
20
- import { C as ChevronDown } from "./chevron-down-DP-oz-sL.js";
21
- import { c as createLucideIcon } from "./createLucideIcon-CCMB2vDW.js";
22
- import { C as Check } from "./check-iejznCzf.js";
23
- /**
24
- * @license lucide-vue-next v1.0.0 - ISC
25
- *
26
- * This source code is licensed under the ISC license.
27
- * See the LICENSE file in the root directory of this source tree.
28
- */
29
- const ChevronUp = createLucideIcon("chevron-up", [
30
- ["path", { d: "m18 15-6-6-6 6", key: "153udz" }]
31
- ]);
32
21
  function useNonce(nonce) {
33
22
  const context = injectConfigProviderContext({ nonce: ref() });
34
23
  return computed(() => {
@@ -1914,7 +1903,10 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
1914
1903
  createVNode(unref(SelectItemIndicator_default), null, {
1915
1904
  default: withCtx(() => [
1916
1905
  renderSlot(_ctx.$slots, "indicator-icon", {}, () => [
1917
- createVNode(unref(Check), { class: "size-4" })
1906
+ createVNode(unref(HugeiconsIcon), {
1907
+ icon: unref(TWr),
1908
+ class: "size-4"
1909
+ }, null, 8, ["icon"])
1918
1910
  ])
1919
1911
  ]),
1920
1912
  _: 3
@@ -2000,7 +1992,10 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
2000
1992
  }), {
2001
1993
  default: withCtx(() => [
2002
1994
  renderSlot(_ctx.$slots, "default", {}, () => [
2003
- createVNode(unref(ChevronDown), { class: "size-4" })
1995
+ createVNode(unref(HugeiconsIcon), {
1996
+ icon: unref(dn),
1997
+ class: "size-4"
1998
+ }, null, 8, ["icon"])
2004
1999
  ])
2005
2000
  ]),
2006
2001
  _: 3
@@ -2025,7 +2020,10 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
2025
2020
  }), {
2026
2021
  default: withCtx(() => [
2027
2022
  renderSlot(_ctx.$slots, "default", {}, () => [
2028
- createVNode(unref(ChevronUp), { class: "size-4" })
2023
+ createVNode(unref(HugeiconsIcon), {
2024
+ icon: unref(CC),
2025
+ class: "size-4"
2026
+ }, null, 8, ["icon"])
2029
2027
  ])
2030
2028
  ]),
2031
2029
  _: 3
@@ -2080,7 +2078,10 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
2080
2078
  renderSlot(_ctx.$slots, "default"),
2081
2079
  createVNode(unref(SelectIcon_default), { "as-child": "" }, {
2082
2080
  default: withCtx(() => [
2083
- createVNode(unref(ChevronDown), { class: "size-4 opacity-50" })
2081
+ createVNode(unref(HugeiconsIcon), {
2082
+ icon: unref(dn),
2083
+ class: "size-4 opacity-50"
2084
+ }, null, 8, ["icon"])
2084
2085
  ]),
2085
2086
  _: 1
2086
2087
  })
package/dist/sheet.js CHANGED
@@ -1,4 +1,4 @@
1
- import { _, a, b, c, d } from "./SheetTitle.vue_vue_type_script_setup_true_lang-fx9jbBwT.js";
1
+ import { _, a, b, c, d } from "./SheetTitle.vue_vue_type_script_setup_true_lang-Csr3nKnG.js";
2
2
  import { defineComponent, openBlock, createBlock, unref, mergeProps, withCtx, renderSlot, createElementBlock, normalizeClass } from "vue";
3
3
  import { D as DialogClose_default } from "./DialogClose-DDtZ0Em0.js";
4
4
  import { c as cn } from "./utils-Bz4m9VPB.js";
package/dist/sidebar.js CHANGED
@@ -2,7 +2,7 @@ var _a;
2
2
  import { c as cva } from "./index-FpH8cK6B.js";
3
3
  import { defineComponent, openBlock, createElementBlock, mergeProps, unref, renderSlot, createBlock, withCtx, createVNode, normalizeStyle, createTextVNode, createElementVNode, normalizeClass, normalizeProps, guardReactiveProps, Fragment, toDisplayString, resolveDynamicComponent, computed, createCommentVNode, ref } from "vue";
4
4
  import { c as cn } from "./utils-Bz4m9VPB.js";
5
- import { _ as _sfc_main$o, a as _sfc_main$p, c as _sfc_main$q, d as _sfc_main$r, b as _sfc_main$s } from "./SheetTitle.vue_vue_type_script_setup_true_lang-fx9jbBwT.js";
5
+ import { _ as _sfc_main$o, a as _sfc_main$p, c as _sfc_main$q, d as _sfc_main$r, b as _sfc_main$s } from "./SheetTitle.vue_vue_type_script_setup_true_lang-Csr3nKnG.js";
6
6
  import { c as createContext } from "./useForwardPropsEmits-DmumnZO5.js";
7
7
  import { P as Primitive } from "./Primitive-D3IcFg81.js";
8
8
  import { _ as _sfc_main$t } from "./Input.vue_vue_type_script_setup_true_lang-6SfPeT8d.js";
@@ -10,19 +10,9 @@ import { _ as _sfc_main$u, b as _sfc_main$v, a as _sfc_main$w, T as TooltipProvi
10
10
  import { _ as _sfc_main$x } from "./Skeleton.vue_vue_type_script_setup_true_lang-BSbVyZz7.js";
11
11
  import { f as useMediaQuery, u as useVModel, b as useEventListener, g as defaultDocument } from "./index-Cq9Ekgtb.js";
12
12
  import { _ as _sfc_main$y } from "./Separator.vue_vue_type_script_setup_true_lang-CMRkdntA.js";
13
+ import { H as HugeiconsIcon, b as m7 } from "./HugeiconsIcon.vue-BJ-_Wtmk.js";
13
14
  import { Button as _sfc_main$z } from "./button.js";
14
- import { c as createLucideIcon } from "./createLucideIcon-CCMB2vDW.js";
15
15
  import { r as reactiveOmit } from "./index-qGMU40e1.js";
16
- /**
17
- * @license lucide-vue-next v1.0.0 - ISC
18
- *
19
- * This source code is licensed under the ISC license.
20
- * See the LICENSE file in the root directory of this source tree.
21
- */
22
- const PanelLeft = createLucideIcon("panel-left", [
23
- ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
24
- ["path", { d: "M9 3v18", key: "fh3hqa" }]
25
- ]);
26
16
  const SIDEBAR_COOKIE_NAME = "sidebar_state";
27
17
  const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
28
18
  const SIDEBAR_WIDTH = "16rem";
@@ -756,7 +746,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
756
746
  onClick: unref(toggleSidebar)
757
747
  }, {
758
748
  default: withCtx(() => [
759
- createVNode(unref(PanelLeft)),
749
+ createVNode(unref(HugeiconsIcon), { icon: unref(m7) }, null, 8, ["icon"]),
760
750
  _cache[0] || (_cache[0] = createElementVNode("span", { class: "sr-only" }, "Toggle Sidebar", -1))
761
751
  ]),
762
752
  _: 1
package/dist/style.css CHANGED
@@ -1,10 +1,10 @@
1
1
 
2
- .busy-fade-enter-active[data-v-5db6b0a1],
3
- .busy-fade-leave-active[data-v-5db6b0a1] {
2
+ .busy-fade-enter-active[data-v-17fe0986],
3
+ .busy-fade-leave-active[data-v-17fe0986] {
4
4
  transition: opacity 0.3s ease-out;
5
5
  }
6
- .busy-fade-enter-from[data-v-5db6b0a1],
7
- .busy-fade-leave-to[data-v-5db6b0a1] {
6
+ .busy-fade-enter-from[data-v-17fe0986],
7
+ .busy-fade-leave-to[data-v-17fe0986] {
8
8
  opacity: 0;
9
9
  }
10
10
  /*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
@@ -111,6 +111,7 @@
111
111
  --spacing: .25rem;
112
112
  --container-sm: 24rem;
113
113
  --container-lg: 32rem;
114
+ --container-xl: 36rem;
114
115
  --container-6xl: 72rem;
115
116
  --container-7xl: 80rem;
116
117
  --text-xs: .75rem;
@@ -119,9 +120,12 @@
119
120
  --text-sm--line-height: calc(1.25 / .875);
120
121
  --text-base: 1rem;
121
122
  --text-base--line-height: calc(1.5 / 1);
123
+ --text-2xl: 1.5rem;
124
+ --text-2xl--line-height: calc(2 / 1.5);
122
125
  --font-weight-normal: 400;
123
126
  --font-weight-medium: 500;
124
127
  --font-weight-semibold: 600;
128
+ --font-weight-bold: 700;
125
129
  --tracking-tight: -.025em;
126
130
  --tracking-widest: .1em;
127
131
  --leading-tight: 1.25;
@@ -631,6 +635,10 @@
631
635
  margin-top: calc(var(--spacing) * 2);
632
636
  }
633
637
 
638
+ .mt-3 {
639
+ margin-top: calc(var(--spacing) * 3);
640
+ }
641
+
634
642
  .mt-4 {
635
643
  margin-top: calc(var(--spacing) * 4);
636
644
  }
@@ -647,10 +655,18 @@
647
655
  margin-bottom: calc(var(--spacing) * 3);
648
656
  }
649
657
 
658
+ .mb-4 {
659
+ margin-bottom: calc(var(--spacing) * 4);
660
+ }
661
+
650
662
  .-ml-1 {
651
663
  margin-left: calc(var(--spacing) * -1);
652
664
  }
653
665
 
666
+ .ml-2 {
667
+ margin-left: calc(var(--spacing) * 2);
668
+ }
669
+
654
670
  .ml-4 {
655
671
  margin-left: calc(var(--spacing) * 4);
656
672
  }
@@ -915,6 +931,10 @@
915
931
  max-width: var(--container-lg);
916
932
  }
917
933
 
934
+ .max-w-xl {
935
+ max-width: var(--container-xl);
936
+ }
937
+
918
938
  .min-w-\(--reka-select-trigger-width\) {
919
939
  min-width: var(--reka-select-trigger-width);
920
940
  }
@@ -1086,6 +1106,10 @@
1086
1106
  justify-content: center;
1087
1107
  }
1088
1108
 
1109
+ .justify-end {
1110
+ justify-content: flex-end;
1111
+ }
1112
+
1089
1113
  .justify-start {
1090
1114
  justify-content: flex-start;
1091
1115
  }
@@ -1144,6 +1168,12 @@
1144
1168
  margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
1145
1169
  }
1146
1170
 
1171
+ :where(.space-y-8 > :not(:last-child)) {
1172
+ --tw-space-y-reverse: 0;
1173
+ margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
1174
+ margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
1175
+ }
1176
+
1147
1177
  :where(.space-x-1 > :not(:last-child)) {
1148
1178
  --tw-space-x-reverse: 0;
1149
1179
  margin-inline-start: calc(calc(var(--spacing) * 1) * var(--tw-space-x-reverse));
@@ -1286,6 +1316,10 @@
1286
1316
  border-color: var(--sidebar-border);
1287
1317
  }
1288
1318
 
1319
+ .border-transparent {
1320
+ border-color: #0000;
1321
+ }
1322
+
1289
1323
  .bg-\(--bg-surface-light\) {
1290
1324
  background-color: var(--bg-surface-light);
1291
1325
  }
@@ -1302,6 +1336,10 @@
1302
1336
  background-color: var(--text-secondary-light);
1303
1337
  }
1304
1338
 
1339
+ .bg-\[var\(--bg-main-light\)\] {
1340
+ background-color: var(--bg-main-light);
1341
+ }
1342
+
1305
1343
  .bg-\[var\(--bg-surface-light\)\] {
1306
1344
  background-color: var(--bg-surface-light);
1307
1345
  }
@@ -1356,6 +1394,10 @@
1356
1394
  background-color: var(--color-red-50);
1357
1395
  }
1358
1396
 
1397
+ .bg-secondary {
1398
+ background-color: var(--secondary);
1399
+ }
1400
+
1359
1401
  .bg-sidebar {
1360
1402
  background-color: var(--sidebar);
1361
1403
  }
@@ -1472,6 +1514,10 @@
1472
1514
  padding-block: calc(var(--spacing) * 7);
1473
1515
  }
1474
1516
 
1517
+ .py-10 {
1518
+ padding-block: calc(var(--spacing) * 10);
1519
+ }
1520
+
1475
1521
  .pt-0 {
1476
1522
  padding-top: calc(var(--spacing) * 0);
1477
1523
  }
@@ -1516,6 +1562,15 @@
1516
1562
  text-align: left;
1517
1563
  }
1518
1564
 
1565
+ .align-middle {
1566
+ vertical-align: middle;
1567
+ }
1568
+
1569
+ .text-2xl {
1570
+ font-size: var(--text-2xl);
1571
+ line-height: var(--tw-leading, var(--text-2xl--line-height));
1572
+ }
1573
+
1519
1574
  .text-base {
1520
1575
  font-size: var(--text-base);
1521
1576
  line-height: var(--tw-leading, var(--text-base--line-height));
@@ -1554,6 +1609,11 @@
1554
1609
  line-height: calc(var(--spacing) * 6);
1555
1610
  }
1556
1611
 
1612
+ .leading-7 {
1613
+ --tw-leading: calc(var(--spacing) * 7);
1614
+ line-height: calc(var(--spacing) * 7);
1615
+ }
1616
+
1557
1617
  .leading-none {
1558
1618
  --tw-leading: 1;
1559
1619
  line-height: 1;
@@ -1569,6 +1629,11 @@
1569
1629
  line-height: var(--leading-tight);
1570
1630
  }
1571
1631
 
1632
+ .font-bold {
1633
+ --tw-font-weight: var(--font-weight-bold);
1634
+ font-weight: var(--font-weight-bold);
1635
+ }
1636
+
1572
1637
  .font-medium {
1573
1638
  --tw-font-weight: var(--font-weight-medium);
1574
1639
  font-weight: var(--font-weight-medium);
@@ -1589,6 +1654,11 @@
1589
1654
  letter-spacing: .16em;
1590
1655
  }
1591
1656
 
1657
+ .tracking-\[0\.24em\] {
1658
+ --tw-tracking: .24em;
1659
+ letter-spacing: .24em;
1660
+ }
1661
+
1592
1662
  .tracking-tight {
1593
1663
  --tw-tracking: var(--tracking-tight);
1594
1664
  letter-spacing: var(--tracking-tight);
@@ -1623,6 +1693,10 @@
1623
1693
  color: var(--button-primary-light);
1624
1694
  }
1625
1695
 
1696
+ .text-\[var\(--text-primary-light\)\] {
1697
+ color: var(--text-primary-light);
1698
+ }
1699
+
1626
1700
  .text-\[var\(--text-secondary-light\)\] {
1627
1701
  color: var(--text-secondary-light);
1628
1702
  }
@@ -1663,10 +1737,18 @@
1663
1737
  color: var(--primary);
1664
1738
  }
1665
1739
 
1740
+ .text-primary-foreground {
1741
+ color: var(--primary-foreground);
1742
+ }
1743
+
1666
1744
  .text-red-600 {
1667
1745
  color: var(--color-red-600);
1668
1746
  }
1669
1747
 
1748
+ .text-secondary-foreground {
1749
+ color: var(--secondary-foreground);
1750
+ }
1751
+
1670
1752
  .text-sidebar-foreground, .text-sidebar-foreground\/65 {
1671
1753
  color: var(--sidebar-foreground);
1672
1754
  }
@@ -2188,6 +2270,10 @@
2188
2270
  z-index: 20;
2189
2271
  }
2190
2272
 
2273
+ .focus-within\:border-\(--border-hover-light\):focus-within {
2274
+ border-color: var(--border-hover-light);
2275
+ }
2276
+
2191
2277
  @media (hover: hover) {
2192
2278
  .hover\:scale-105:hover {
2193
2279
  --tw-scale-x: 105%;
@@ -2935,6 +3021,11 @@
2935
3021
  text-align: left;
2936
3022
  }
2937
3023
 
3024
+ .sm\:text-base {
3025
+ font-size: var(--text-base);
3026
+ line-height: var(--tw-leading, var(--text-base--line-height));
3027
+ }
3028
+
2938
3029
  .sm\:text-sm {
2939
3030
  font-size: var(--text-sm);
2940
3031
  line-height: var(--tw-leading, var(--text-sm--line-height));
@@ -3013,6 +3104,10 @@
3013
3104
  .lg\:p-8 {
3014
3105
  padding: calc(var(--spacing) * 8);
3015
3106
  }
3107
+
3108
+ .lg\:px-8 {
3109
+ padding-inline: calc(var(--spacing) * 8);
3110
+ }
3016
3111
  }
3017
3112
 
3018
3113
  @media (min-width: 80rem) {
@@ -3083,6 +3178,10 @@
3083
3178
  background-color: var(--text-secondary-dark);
3084
3179
  }
3085
3180
 
3181
+ .dark\:bg-\[var\(--bg-main-dark\)\]:where(.dark, .dark *) {
3182
+ background-color: var(--bg-main-dark);
3183
+ }
3184
+
3086
3185
  .dark\:bg-\[var\(--bg-surface-dark\)\]:where(.dark, .dark *) {
3087
3186
  background-color: var(--bg-surface-dark);
3088
3187
  }
@@ -3151,10 +3250,18 @@
3151
3250
  color: var(--button-primary-dark);
3152
3251
  }
3153
3252
 
3253
+ .dark\:text-\[var\(--text-primary-dark\)\]:where(.dark, .dark *) {
3254
+ color: var(--text-primary-dark);
3255
+ }
3256
+
3154
3257
  .dark\:text-\[var\(--text-secondary-dark\)\]:where(.dark, .dark *), .dark\:placeholder\:text-\(--text-secondary-dark\):where(.dark, .dark *)::placeholder {
3155
3258
  color: var(--text-secondary-dark);
3156
3259
  }
3157
3260
 
3261
+ .dark\:focus-within\:border-\(--border-hover-dark\):where(.dark, .dark *):focus-within {
3262
+ border-color: var(--border-hover-dark);
3263
+ }
3264
+
3158
3265
  @media (hover: hover) {
3159
3266
  .dark\:hover\:border-\(--border-hover-dark\):where(.dark, .dark *):hover, .dark\:hover\:border-\[var\(--border-hover-dark\)\]:where(.dark, .dark *):hover {
3160
3267
  border-color: var(--border-hover-dark);
@@ -3295,10 +3402,6 @@
3295
3402
  border-radius: calc(var(--radius) - 2px);
3296
3403
  }
3297
3404
 
3298
- .\[\&\:has\(\[data-selected\]\)\]\:bg-accent:has([data-selected]) {
3299
- background-color: var(--accent);
3300
- }
3301
-
3302
3405
  .\[\.border-b\]\:pb-6.border-b {
3303
3406
  padding-bottom: calc(var(--spacing) * 6);
3304
3407
  }
@@ -3383,6 +3486,15 @@
3383
3486
  overflow: hidden;
3384
3487
  }
3385
3488
 
3489
+ .\[\&\>svg\]\:pointer-events-none > svg {
3490
+ pointer-events: none;
3491
+ }
3492
+
3493
+ .\[\&\>svg\]\:size-3 > svg {
3494
+ width: calc(var(--spacing) * 3);
3495
+ height: calc(var(--spacing) * 3);
3496
+ }
3497
+
3386
3498
  .\[\&\>svg\]\:size-4 > svg {
3387
3499
  width: calc(var(--spacing) * 4);
3388
3500
  height: calc(var(--spacing) * 4);
@@ -3436,6 +3548,46 @@
3436
3548
  [data-variant="legend"] + .\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5 {
3437
3549
  margin-top: calc(var(--spacing) * -1.5);
3438
3550
  }
3551
+
3552
+ @media (hover: hover) {
3553
+ a.\[a\&\]\:hover\:bg-accent:hover {
3554
+ background-color: var(--accent);
3555
+ }
3556
+
3557
+ a.\[a\&\]\:hover\:bg-destructive\/90:hover {
3558
+ background-color: var(--destructive);
3559
+ }
3560
+
3561
+ @supports (color: color-mix(in lab, red, red)) {
3562
+ a.\[a\&\]\:hover\:bg-destructive\/90:hover {
3563
+ background-color: color-mix(in oklab, var(--destructive) 90%, transparent);
3564
+ }
3565
+ }
3566
+
3567
+ a.\[a\&\]\:hover\:bg-primary\/90:hover {
3568
+ background-color: var(--primary);
3569
+ }
3570
+
3571
+ @supports (color: color-mix(in lab, red, red)) {
3572
+ a.\[a\&\]\:hover\:bg-primary\/90:hover {
3573
+ background-color: color-mix(in oklab, var(--primary) 90%, transparent);
3574
+ }
3575
+ }
3576
+
3577
+ a.\[a\&\]\:hover\:bg-secondary\/90:hover {
3578
+ background-color: var(--secondary);
3579
+ }
3580
+
3581
+ @supports (color: color-mix(in lab, red, red)) {
3582
+ a.\[a\&\]\:hover\:bg-secondary\/90:hover {
3583
+ background-color: color-mix(in oklab, var(--secondary) 90%, transparent);
3584
+ }
3585
+ }
3586
+
3587
+ a.\[a\&\]\:hover\:text-accent-foreground:hover {
3588
+ color: var(--accent-foreground);
3589
+ }
3590
+ }
3439
3591
  }
3440
3592
 
3441
3593
  @property --tw-animation-delay {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brumaombra/ui-vintage",
3
- "version": "0.2.2",
3
+ "version": "0.3.0",
4
4
  "description": "Vue 3 component library with shadcn-style primitives, app shells, dialogs, and shared theme tokens.",
5
5
  "private": false,
6
6
  "author": "Mauro Brambilla",
@@ -44,6 +44,10 @@
44
44
  "types": "./dist/components/background-grid/index.d.ts",
45
45
  "import": "./dist/background-grid.js"
46
46
  },
47
+ "./badge": {
48
+ "types": "./dist/components/ui/badge/index.d.ts",
49
+ "import": "./dist/badge.js"
50
+ },
47
51
  "./busy": {
48
52
  "types": "./dist/components/ui/busy/index.d.ts",
49
53
  "import": "./dist/busy.js"
@@ -76,6 +80,10 @@
76
80
  "types": "./dist/components/dashboard-shell/index.d.ts",
77
81
  "import": "./dist/dashboard-shell.js"
78
82
  },
83
+ "./error-page": {
84
+ "types": "./dist/components/error-page/index.d.ts",
85
+ "import": "./dist/error-page.js"
86
+ },
79
87
  "./dialog": {
80
88
  "types": "./dist/components/ui/dialog/index.d.ts",
81
89
  "import": "./dist/dialog.js"
@@ -165,11 +173,12 @@
165
173
  "vue": "^3.5.0"
166
174
  },
167
175
  "dependencies": {
176
+ "@hugeicons/core-free-icons": "4.1.1",
177
+ "@hugeicons/vue": "1.0.5",
168
178
  "@internationalized/date": "3.10.0",
169
179
  "@vueuse/core": "14.2.1",
170
180
  "class-variance-authority": "0.7.1",
171
181
  "clsx": "2.1.1",
172
- "lucide-vue-next": "1.0.0",
173
182
  "reka-ui": "2.9.2",
174
183
  "tailwind-merge": "3.5.0"
175
184
  },
@@ -1,11 +0,0 @@
1
- import { c as createLucideIcon } from "./createLucideIcon-CCMB2vDW.js";
2
- /**
3
- * @license lucide-vue-next v1.0.0 - ISC
4
- *
5
- * This source code is licensed under the ISC license.
6
- * See the LICENSE file in the root directory of this source tree.
7
- */
8
- const Check = createLucideIcon("check", [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]]);
9
- export {
10
- Check as C
11
- };
@@ -1,13 +0,0 @@
1
- import { c as createLucideIcon } from "./createLucideIcon-CCMB2vDW.js";
2
- /**
3
- * @license lucide-vue-next v1.0.0 - ISC
4
- *
5
- * This source code is licensed under the ISC license.
6
- * See the LICENSE file in the root directory of this source tree.
7
- */
8
- const ChevronDown = createLucideIcon("chevron-down", [
9
- ["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]
10
- ]);
11
- export {
12
- ChevronDown as C
13
- };
@@ -1,130 +0,0 @@
1
- import { h } from "vue";
2
- /**
3
- * @license lucide-vue-next v1.0.0 - ISC
4
- *
5
- * This source code is licensed under the ISC license.
6
- * See the LICENSE file in the root directory of this source tree.
7
- */
8
- const hasA11yProp = (props) => {
9
- for (const prop in props) {
10
- if (prop.startsWith("aria-") || prop === "role" || prop === "title") {
11
- return true;
12
- }
13
- }
14
- return false;
15
- };
16
- /**
17
- * @license lucide-vue-next v1.0.0 - ISC
18
- *
19
- * This source code is licensed under the ISC license.
20
- * See the LICENSE file in the root directory of this source tree.
21
- */
22
- const isEmptyString = (value) => value === "";
23
- /**
24
- * @license lucide-vue-next v1.0.0 - ISC
25
- *
26
- * This source code is licensed under the ISC license.
27
- * See the LICENSE file in the root directory of this source tree.
28
- */
29
- const mergeClasses = (...classes) => classes.filter((className, index, array) => {
30
- return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
31
- }).join(" ").trim();
32
- /**
33
- * @license lucide-vue-next v1.0.0 - ISC
34
- *
35
- * This source code is licensed under the ISC license.
36
- * See the LICENSE file in the root directory of this source tree.
37
- */
38
- const toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
39
- /**
40
- * @license lucide-vue-next v1.0.0 - ISC
41
- *
42
- * This source code is licensed under the ISC license.
43
- * See the LICENSE file in the root directory of this source tree.
44
- */
45
- const toCamelCase = (string) => string.replace(
46
- /^([A-Z])|[\s-_]+(\w)/g,
47
- (match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()
48
- );
49
- /**
50
- * @license lucide-vue-next v1.0.0 - ISC
51
- *
52
- * This source code is licensed under the ISC license.
53
- * See the LICENSE file in the root directory of this source tree.
54
- */
55
- const toPascalCase = (string) => {
56
- const camelCase = toCamelCase(string);
57
- return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);
58
- };
59
- /**
60
- * @license lucide-vue-next v1.0.0 - ISC
61
- *
62
- * This source code is licensed under the ISC license.
63
- * See the LICENSE file in the root directory of this source tree.
64
- */
65
- var defaultAttributes = {
66
- xmlns: "http://www.w3.org/2000/svg",
67
- width: 24,
68
- height: 24,
69
- viewBox: "0 0 24 24",
70
- fill: "none",
71
- stroke: "currentColor",
72
- "stroke-width": 2,
73
- "stroke-linecap": "round",
74
- "stroke-linejoin": "round"
75
- };
76
- /**
77
- * @license lucide-vue-next v1.0.0 - ISC
78
- *
79
- * This source code is licensed under the ISC license.
80
- * See the LICENSE file in the root directory of this source tree.
81
- */
82
- const Icon = ({
83
- name,
84
- iconNode,
85
- absoluteStrokeWidth,
86
- "absolute-stroke-width": absoluteStrokeWidthKebabCase,
87
- strokeWidth,
88
- "stroke-width": strokeWidthKebabCase,
89
- size = defaultAttributes.width,
90
- color = defaultAttributes.stroke,
91
- ...props
92
- }, { slots }) => {
93
- return h(
94
- "svg",
95
- {
96
- ...defaultAttributes,
97
- ...props,
98
- width: size,
99
- height: size,
100
- stroke: color,
101
- "stroke-width": isEmptyString(absoluteStrokeWidth) || isEmptyString(absoluteStrokeWidthKebabCase) || absoluteStrokeWidth === true || absoluteStrokeWidthKebabCase === true ? Number(strokeWidth || strokeWidthKebabCase || defaultAttributes["stroke-width"]) * 24 / Number(size) : strokeWidth || strokeWidthKebabCase || defaultAttributes["stroke-width"],
102
- class: mergeClasses(
103
- "lucide",
104
- props.class,
105
- ...name ? [`lucide-${toKebabCase(toPascalCase(name))}-icon`, `lucide-${toKebabCase(name)}`] : ["lucide-icon"]
106
- ),
107
- ...!slots.default && !hasA11yProp(props) && { "aria-hidden": "true" }
108
- },
109
- [...iconNode.map((child) => h(...child)), ...slots.default ? [slots.default()] : []]
110
- );
111
- };
112
- /**
113
- * @license lucide-vue-next v1.0.0 - ISC
114
- *
115
- * This source code is licensed under the ISC license.
116
- * See the LICENSE file in the root directory of this source tree.
117
- */
118
- const createLucideIcon = (iconName, iconNode) => (props, { slots, attrs }) => h(
119
- Icon,
120
- {
121
- ...attrs,
122
- ...props,
123
- iconNode,
124
- name: iconName
125
- },
126
- slots
127
- );
128
- export {
129
- createLucideIcon as c
130
- };
@@ -1,15 +0,0 @@
1
- import { c as createLucideIcon } from "./createLucideIcon-CCMB2vDW.js";
2
- /**
3
- * @license lucide-vue-next v1.0.0 - ISC
4
- *
5
- * This source code is licensed under the ISC license.
6
- * See the LICENSE file in the root directory of this source tree.
7
- */
8
- const Info = createLucideIcon("info", [
9
- ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
10
- ["path", { d: "M12 16v-4", key: "1dtifu" }],
11
- ["path", { d: "M12 8h.01", key: "e9boi3" }]
12
- ]);
13
- export {
14
- Info as I
15
- };