@brumaombra/ui-vintage 0.2.1 → 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 (43) 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 +4168 -4
  37. package/dist/style.d.ts +0 -0
  38. package/dist/style.js +1 -0
  39. package/package.json +11 -2
  40. package/dist/check-iejznCzf.js +0 -11
  41. package/dist/chevron-down-DP-oz-sL.js +0 -13
  42. package/dist/createLucideIcon-CCMB2vDW.js +0 -130
  43. package/dist/info-DZrSmi42.js +0 -15
package/README.md CHANGED
@@ -14,7 +14,7 @@
14
14
  </p>
15
15
 
16
16
  <p>
17
- 🧩 UI primitives • 🪟 dialogs and overlays • 🧱 dashboard helpers • 🎨 shared styles
17
+ 🧩 UI primitives • 🎭 dialogs and overlays • 🧱 dashboard helpers • 🎨 shared styles
18
18
  </p>
19
19
 
20
20
  <p>
@@ -47,24 +47,24 @@ npm install @brumaombra/ui-vintage
47
47
  Import the shared stylesheet once in your app:
48
48
 
49
49
  ```ts
50
- import "@brumaombra/ui-vintage/style.css"
50
+ import "@brumaombra/ui-vintage/style.css";
51
51
  ```
52
52
 
53
53
  Import each component from its dedicated entrypoint:
54
54
 
55
55
  ```ts
56
- import { Button } from "@brumaombra/ui-vintage/button"
57
- import { Card, CardContent, CardHeader, CardTitle } from "@brumaombra/ui-vintage/card"
58
- import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogTrigger } from "@brumaombra/ui-vintage/dialog"
56
+ import { Button } from "@brumaombra/ui-vintage/button";
57
+ import { Card, CardContent, CardHeader, CardTitle } from "@brumaombra/ui-vintage/card";
58
+ import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogTrigger } from "@brumaombra/ui-vintage/dialog";
59
59
  ```
60
60
 
61
61
  Import helpers and higher-level components from their own paths:
62
62
 
63
63
  ```ts
64
- import { DashboardShell } from "@brumaombra/ui-vintage/dashboard-shell"
65
- import { setBusy } from "@brumaombra/ui-vintage/busy-indicator"
66
- import { showConfirmDialog } from "@brumaombra/ui-vintage/confirm-dialog"
67
- import { showMessageDialog } from "@brumaombra/ui-vintage/message-dialog"
64
+ import { DashboardShell } from "@brumaombra/ui-vintage/dashboard-shell";
65
+ import { setBusy } from "@brumaombra/ui-vintage/busy-indicator";
66
+ import { showConfirmDialog } from "@brumaombra/ui-vintage/confirm-dialog";
67
+ import { showMessageDialog } from "@brumaombra/ui-vintage/message-dialog";
68
68
  ```
69
69
 
70
70
  There is no global barrel export. Use the dedicated subpath entrypoints for each component or helper.
@@ -1,16 +1,7 @@
1
1
  import { defineComponent, openBlock, createBlock, Transition, withCtx, createElementBlock, normalizeClass, unref, createElementVNode, renderSlot, createVNode, toDisplayString, createCommentVNode } from "vue";
2
+ import { H as HugeiconsIcon, S as SK } from "./HugeiconsIcon.vue-BJ-_Wtmk.js";
2
3
  import { c as cn } from "./utils-Bz4m9VPB.js";
3
- import { c as createLucideIcon } from "./createLucideIcon-CCMB2vDW.js";
4
4
  import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.js";
5
- /**
6
- * @license lucide-vue-next v1.0.0 - ISC
7
- *
8
- * This source code is licensed under the ISC license.
9
- * See the LICENSE file in the root directory of this source tree.
10
- */
11
- const LoaderCircle = createLucideIcon("loader-circle", [
12
- ["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]
13
- ]);
14
5
  const _hoisted_1 = {
15
6
  key: 0,
16
7
  "data-slot": "busy-label",
@@ -42,10 +33,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
42
33
  class: normalizeClass(unref(cn)("bg-card text-card-foreground flex w-72 flex-col items-center justify-center gap-4 rounded border border-border px-8 py-7 text-center shadow-2xl", props.class))
43
34
  }, [
44
35
  renderSlot(_ctx.$slots, "default", {}, () => [
45
- createVNode(unref(LoaderCircle), {
36
+ createVNode(unref(HugeiconsIcon), {
46
37
  "data-slot": "busy-spinner",
38
+ icon: unref(SK),
47
39
  class: "size-10 animate-spin text-primary"
48
- }),
40
+ }, null, 8, ["icon"]),
49
41
  props.label ? (openBlock(), createElementBlock("span", _hoisted_1, toDisplayString(props.label), 1)) : createCommentVNode("", true)
50
42
  ], true)
51
43
  ], 2)
@@ -56,7 +48,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
56
48
  };
57
49
  }
58
50
  });
59
- const Busy = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-5db6b0a1"]]);
51
+ const Busy = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-17fe0986"]]);
60
52
  export {
61
53
  Busy as B
62
54
  };
@@ -2,33 +2,15 @@ import { ref, computed, watch, defineComponent, toRefs, onMounted, openBlock, cr
2
2
  import { u as useVModel, i as createReusableTemplate } from "./index-Cq9Ekgtb.js";
3
3
  import { c as createContext, u as useForwardPropsEmits, a as useForwardProps } from "./useForwardPropsEmits-DmumnZO5.js";
4
4
  import { c as cn } from "./utils-Bz4m9VPB.js";
5
- import { _ as _sfc_main$c, a as _sfc_main$d } from "./NativeSelectOption.vue_vue_type_script_setup_true_lang-CWhL2Lw8.js";
5
+ import { _ as _sfc_main$c, a as _sfc_main$d } from "./NativeSelectOption.vue_vue_type_script_setup_true_lang-Ce5VmA0n.js";
6
6
  import { r as reactiveOmit } from "./index-qGMU40e1.js";
7
7
  import { buttonVariants } from "./button.js";
8
+ import { H as HugeiconsIcon, N as Nn, m as mn } from "./HugeiconsIcon.vue-BJ-_Wtmk.js";
8
9
  import { P as Primitive } from "./Primitive-D3IcFg81.js";
9
10
  import { u as useKbd } from "./useKbd-JjFOu4f7.js";
10
11
  import { u as usePrimitiveElement } from "./usePrimitiveElement-Bk3ZOslv.js";
11
- import { c as createLucideIcon } from "./createLucideIcon-CCMB2vDW.js";
12
12
  import { u as useDirection } from "./useDirection-SIyEYNxv.js";
13
13
  import { i as injectConfigProviderContext } from "./ConfigProvider-D2O0Jles.js";
14
- /**
15
- * @license lucide-vue-next v1.0.0 - ISC
16
- *
17
- * This source code is licensed under the ISC license.
18
- * See the LICENSE file in the root directory of this source tree.
19
- */
20
- const ChevronLeft = createLucideIcon("chevron-left", [
21
- ["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]
22
- ]);
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 ChevronRight = createLucideIcon("chevron-right", [
30
- ["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]
31
- ]);
32
14
  function $2b4dce13dd5a17fa$export$842a2cf37af977e1(amount, numerator) {
33
15
  return amount - numerator * Math.floor(amount / numerator);
34
16
  }
@@ -3249,10 +3231,10 @@ var CalendarPrev_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
3249
3231
  });
3250
3232
  var CalendarPrev_default = CalendarPrev_vue_vue_type_script_setup_true_lang_default;
3251
3233
  const _hoisted_1 = { class: "**:data-[slot=native-select-icon]:right-1" };
3252
- const _hoisted_2 = { class: "relative rounded border border-(--border-light) bg-(--button-secondary-light) transition-all duration-300 ease-in-out dark:border-(--border-dark) dark:bg-(--button-secondary-dark)" };
3234
+ const _hoisted_2 = { class: "relative h-10 rounded border border-(--border-light) bg-(--button-secondary-light) transition-all duration-300 ease-in-out hover:border-(--border-hover-light) focus-within:border-(--border-hover-light) dark:border-(--border-dark) dark:bg-(--button-secondary-dark) dark:hover:border-(--border-hover-dark) dark:focus-within:border-(--border-hover-dark)" };
3253
3235
  const _hoisted_3 = { class: "absolute inset-0 z-10 flex h-full items-center text-sm pl-2 pointer-events-none" };
3254
3236
  const _hoisted_4 = { class: "**:data-[slot=native-select-icon]:right-1" };
3255
- const _hoisted_5 = { class: "relative rounded border border-(--border-light) bg-(--button-secondary-light) transition-all duration-300 ease-in-out dark:border-(--border-dark) dark:bg-(--button-secondary-dark)" };
3237
+ const _hoisted_5 = { class: "relative h-10 rounded border border-(--border-light) bg-(--button-secondary-light) transition-all duration-300 ease-in-out hover:border-(--border-hover-light) focus-within:border-(--border-hover-light) dark:border-(--border-dark) dark:bg-(--button-secondary-dark) dark:hover:border-(--border-hover-dark) dark:focus-within:border-(--border-hover-dark)" };
3256
3238
  const _hoisted_6 = { class: "absolute inset-0 z-10 flex h-full items-center text-sm pl-2 pointer-events-none" };
3257
3239
  const _hoisted_7 = { class: "flex items-center gap-1 absolute top-0 inset-x-0 justify-between" };
3258
3240
  const _hoisted_8 = {
@@ -3328,7 +3310,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
3328
3310
  createElementVNode("div", _hoisted_2, [
3329
3311
  createElementVNode("div", _hoisted_3, toDisplayString(unref(formatter).custom(unref(toDate)(date), { month: "short" })), 1),
3330
3312
  createVNode(unref(_sfc_main$c), {
3331
- class: "relative z-20 h-8 w-[92px] rounded-none border-0 bg-transparent pl-2 pr-6 text-xs font-medium text-transparent shadow-none transition-all duration-300 ease-in-out outline-none ring-0 focus-visible:border-0 focus-visible:ring-0 dark:bg-transparent sm:text-sm",
3313
+ class: "relative z-20 h-full min-h-0 w-[92px] rounded-none border-0 bg-transparent pl-2 pr-6 text-xs font-medium text-transparent shadow-none transition-all duration-300 ease-in-out outline-none ring-0 focus-visible:border-0 focus-visible:ring-0 dark:bg-transparent sm:text-sm",
3332
3314
  "model-value": date.month,
3333
3315
  onChange: _cache[0] || (_cache[0] = (e) => {
3334
3316
  var _a;
@@ -3364,7 +3346,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
3364
3346
  createElementVNode("div", _hoisted_5, [
3365
3347
  createElementVNode("div", _hoisted_6, toDisplayString(unref(formatter).custom(unref(toDate)(date), { year: "numeric" })), 1),
3366
3348
  createVNode(unref(_sfc_main$c), {
3367
- class: "relative z-20 h-8 w-[96px] rounded-none border-0 bg-transparent pl-2 pr-6 text-xs font-medium text-transparent shadow-none transition-all duration-300 ease-in-out outline-none ring-0 focus-visible:border-0 focus-visible:ring-0 dark:bg-transparent sm:text-sm",
3349
+ class: "relative z-20 h-full min-h-0 w-[96px] rounded-none border-0 bg-transparent pl-2 pr-6 text-xs font-medium text-transparent shadow-none transition-all duration-300 ease-in-out outline-none ring-0 focus-visible:border-0 focus-visible:ring-0 dark:bg-transparent sm:text-sm",
3368
3350
  "model-value": date.year,
3369
3351
  onChange: _cache[1] || (_cache[1] = (e) => {
3370
3352
  var _a;
@@ -3516,7 +3498,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
3516
3498
  return (_ctx, _cache) => {
3517
3499
  return openBlock(), createBlock(unref(CalendarCell_default), mergeProps({
3518
3500
  "data-slot": "calendar-cell",
3519
- class: unref(cn)("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 flex-1 [&:has([data-selected])]:rounded-md [&:has([data-selected])]:bg-accent", props.class)
3501
+ class: unref(cn)("relative p-0 text-center text-sm focus-within:relative focus-within:z-20 flex-1 [&:has([data-selected])]:rounded-md", props.class)
3520
3502
  }, unref(forwardedProps)), {
3521
3503
  default: withCtx(() => [
3522
3504
  renderSlot(_ctx.$slots, "default")
@@ -3741,13 +3723,16 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3741
3723
  "data-slot": "calendar-next-button",
3742
3724
  class: unref(cn)(
3743
3725
  unref(buttonVariants)({ variant: "outline" }),
3744
- "size-7 bg-transparent p-0 opacity-50 hover:opacity-100",
3726
+ "size-7 min-h-10 bg-transparent p-0 text-(--text-secondary-light) hover:text-(--text-primary-light) dark:text-(--text-secondary-dark) dark:hover:text-(--text-primary-dark)",
3745
3727
  props.class
3746
3728
  )
3747
3729
  }, unref(forwardedProps)), {
3748
3730
  default: withCtx(() => [
3749
3731
  renderSlot(_ctx.$slots, "default", {}, () => [
3750
- createVNode(unref(ChevronRight), { class: "size-4" })
3732
+ createVNode(unref(HugeiconsIcon), {
3733
+ icon: unref(Nn),
3734
+ class: "size-4"
3735
+ }, null, 8, ["icon"])
3751
3736
  ])
3752
3737
  ]),
3753
3738
  _: 3
@@ -3772,13 +3757,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3772
3757
  "data-slot": "calendar-prev-button",
3773
3758
  class: unref(cn)(
3774
3759
  unref(buttonVariants)({ variant: "outline" }),
3775
- "size-7 bg-transparent p-0 opacity-50 hover:opacity-100",
3760
+ "size-7 min-h-10 bg-transparent p-0 text-(--text-secondary-light) hover:text-(--text-primary-light) dark:text-(--text-secondary-dark) dark:hover:text-(--text-primary-dark)",
3776
3761
  props.class
3777
3762
  )
3778
3763
  }, unref(forwardedProps)), {
3779
3764
  default: withCtx(() => [
3780
3765
  renderSlot(_ctx.$slots, "default", {}, () => [
3781
- createVNode(unref(ChevronLeft), { class: "size-4" })
3766
+ createVNode(unref(HugeiconsIcon), {
3767
+ icon: unref(mn),
3768
+ class: "size-4"
3769
+ }, null, 8, ["icon"])
3782
3770
  ])
3783
3771
  ]),
3784
3772
  _: 3
@@ -0,0 +1,40 @@
1
+ import { defineComponent, openBlock, createElementBlock, normalizeClass, unref, renderSlot } from "vue";
2
+ import { c as cn } from "./utils-Bz4m9VPB.js";
3
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
4
+ __name: "CardContent",
5
+ props: {
6
+ class: {}
7
+ },
8
+ setup(__props) {
9
+ const props = __props;
10
+ return (_ctx, _cache) => {
11
+ return openBlock(), createElementBlock("div", {
12
+ "data-slot": "card-content",
13
+ class: normalizeClass(unref(cn)("flex flex-col gap-4 px-6", props.class))
14
+ }, [
15
+ renderSlot(_ctx.$slots, "default")
16
+ ], 2);
17
+ };
18
+ }
19
+ });
20
+ const _sfc_main = /* @__PURE__ */ defineComponent({
21
+ __name: "CardFooter",
22
+ props: {
23
+ class: {}
24
+ },
25
+ setup(__props) {
26
+ const props = __props;
27
+ return (_ctx, _cache) => {
28
+ return openBlock(), createElementBlock("div", {
29
+ "data-slot": "card-footer",
30
+ class: normalizeClass(unref(cn)("flex items-center px-6 [.border-t]:pt-6", props.class))
31
+ }, [
32
+ renderSlot(_ctx.$slots, "default")
33
+ ], 2);
34
+ };
35
+ }
36
+ });
37
+ export {
38
+ _sfc_main$1 as _,
39
+ _sfc_main as a
40
+ };
@@ -1,16 +1,5 @@
1
- import { c as createLucideIcon } from "./createLucideIcon-CCMB2vDW.js";
2
1
  import { T as Teleport_default } from "./Teleport-CV0tKbq5.js";
3
2
  import { defineComponent, openBlock, createBlock, unref, normalizeProps, guardReactiveProps, withCtx, renderSlot } from "vue";
4
- /**
5
- * @license lucide-vue-next v1.0.0 - ISC
6
- *
7
- * This source code is licensed under the ISC license.
8
- * See the LICENSE file in the root directory of this source tree.
9
- */
10
- const X = createLucideIcon("x", [
11
- ["path", { d: "M18 6 6 18", key: "1bl5f8" }],
12
- ["path", { d: "m6 6 12 12", key: "d8bk6v" }]
13
- ]);
14
3
  var DialogPortal_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
15
4
  __name: "DialogPortal",
16
5
  props: {
@@ -43,6 +32,5 @@ var DialogPortal_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
43
32
  });
44
33
  var DialogPortal_default = DialogPortal_vue_vue_type_script_setup_true_lang_default;
45
34
  export {
46
- DialogPortal_default as D,
47
- X
35
+ DialogPortal_default as D
48
36
  };
@@ -1,8 +1,9 @@
1
1
  import { defineComponent, openBlock, createBlock, unref, mergeProps, withCtx, renderSlot, normalizeProps, guardReactiveProps, createVNode, createElementVNode, createCommentVNode, createElementBlock, normalizeClass } from "vue";
2
2
  import { u as useForwardPropsEmits, a as useForwardProps } from "./useForwardPropsEmits-DmumnZO5.js";
3
3
  import { b as DialogRoot_default, D as DialogOverlay_default, a as DialogContent_default, c as DialogDescription_default, d as DialogTitle_default } from "./DialogTitle-CLuntLBB.js";
4
+ import { H as HugeiconsIcon, a as dp } from "./HugeiconsIcon.vue-BJ-_Wtmk.js";
4
5
  import { D as DialogClose_default } from "./DialogClose-DDtZ0Em0.js";
5
- import { D as DialogPortal_default, X } from "./DialogPortal-BTVR2QvT.js";
6
+ import { D as DialogPortal_default } from "./DialogPortal-D81oXsCY.js";
6
7
  import { c as cn } from "./utils-Bz4m9VPB.js";
7
8
  import { r as reactiveOmit } from "./index-qGMU40e1.js";
8
9
  const _sfc_main$5 = /* @__PURE__ */ defineComponent({
@@ -87,7 +88,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
87
88
  class: "ring-offset-background focus:ring-ring absolute top-4 right-4 rounded border border-border bg-card p-1 text-muted-foreground opacity-80 transition-all duration-200 hover:bg-accent hover:text-foreground hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4"
88
89
  }, {
89
90
  default: withCtx(() => [
90
- createVNode(unref(X)),
91
+ createVNode(unref(HugeiconsIcon), { icon: unref(dp) }, null, 8, ["icon"]),
91
92
  _cache[0] || (_cache[0] = createElementVNode("span", { class: "sr-only" }, "Close", -1))
92
93
  ]),
93
94
  _: 1
@@ -0,0 +1,124 @@
1
+ import { defineComponent, computed, openBlock, createElementBlock, mergeProps, Fragment, renderList, createBlock, resolveDynamicComponent } from "vue";
2
+ const $o = [["circle", { cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", key: "0" }], ["path", { d: "M12 8V12", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", key: "1" }], ["path", { d: "M12.125 15.75H12M12.25 15.75C12.25 15.8881 12.1381 16 12 16C11.8619 16 11.75 15.8881 11.75 15.75C11.75 15.6119 11.8619 15.5 12 15.5C12.1381 15.5 12.25 15.6119 12.25 15.75Z", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", key: "2" }]], dn = [["path", { d: "M18 9.00005C18 9.00005 13.5811 15 12 15C10.4188 15 6 9 6 9", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", key: "0" }]], mn = [["path", { d: "M15 6C15 6 9.00001 10.4189 9 12C8.99999 13.5812 15 18 15 18", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", key: "0" }]], Nn = [["path", { d: "M9.00005 6C9.00005 6 15 10.4189 15 12C15 13.5812 9 18 9 18", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", key: "0" }]], CC = [["path", { d: "M17.9998 15C17.9998 15 13.5809 9.00001 11.9998 9C10.4187 8.99999 5.99985 15 5.99985 15", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", key: "0" }]], cL = [["path", { d: "M16 2V6M8 2V6", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", key: "0" }], ["path", { d: "M13 4H11C7.22876 4 5.34315 4 4.17157 5.17157C3 6.34315 3 8.22876 3 12V14C3 17.7712 3 19.6569 4.17157 20.8284C5.34315 22 7.22876 22 11 22H13C16.7712 22 18.6569 22 19.8284 20.8284C21 19.6569 21 17.7712 21 14V12C21 8.22876 21 6.34315 19.8284 5.17157C18.6569 4 16.7712 4 13 4Z", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", key: "1" }], ["path", { d: "M3 10H21", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", key: "2" }], ["path", { d: "M12.1258 14H12.0008M12.1258 18H12.0008M7.625 14H7.5M7.625 18H7.5M16.625 14H16.5M12.2508 14C12.2508 14.1381 12.1389 14.25 12.0008 14.25C11.8628 14.25 11.7508 14.1381 11.7508 14C11.7508 13.8619 11.8628 13.75 12.0008 13.75C12.1389 13.75 12.2508 13.8619 12.2508 14ZM12.2508 18C12.2508 18.1381 12.1389 18.25 12.0008 18.25C11.8628 18.25 11.7508 18.1381 11.7508 18C11.7508 17.8619 11.8628 17.75 12.0008 17.75C12.1389 17.75 12.2508 17.8619 12.2508 18ZM7.75 14C7.75 14.1381 7.63807 14.25 7.5 14.25C7.36193 14.25 7.25 14.1381 7.25 14C7.25 13.8619 7.36193 13.75 7.5 13.75C7.63807 13.75 7.75 13.8619 7.75 14ZM7.75 18C7.75 18.1381 7.63807 18.25 7.5 18.25C7.36193 18.25 7.25 18.1381 7.25 18C7.25 17.8619 7.36193 17.75 7.5 17.75C7.63807 17.75 7.75 17.8619 7.75 18ZM16.75 14C16.75 14.1381 16.6381 14.25 16.5 14.25C16.3619 14.25 16.25 14.1381 16.25 14C16.25 13.8619 16.3619 13.75 16.5 13.75C16.6381 13.75 16.75 13.8619 16.75 14Z", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", key: "3" }]], dp = [["path", { d: "M18 6L6.00081 17.9992M17.9992 18L6 6.00085", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", key: "0" }]], AE = [["circle", { cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", key: "0" }], ["path", { d: "M12 16V12", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", key: "1" }], ["path", { d: "M12.125 8.25H12M12.25 8.25C12.25 8.11193 12.1381 8 12 8C11.8619 8 11.75 8.11193 11.75 8.25C11.75 8.38807 11.8619 8.5 12 8.5C12.1381 8.5 12.25 8.38807 12.25 8.25Z", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", key: "2" }]], SK = [["path", { d: "M12 3V6", stroke: "currentColor", strokeLinecap: "round", strokeWidth: "1.5", key: "0" }], ["path", { d: "M12 18V21", stroke: "currentColor", strokeLinecap: "round", strokeWidth: "1.5", key: "1" }], ["path", { d: "M21 12L18 12", stroke: "currentColor", strokeLinecap: "round", strokeWidth: "1.5", key: "2" }], ["path", { d: "M6 12L3 12", stroke: "currentColor", strokeLinecap: "round", strokeWidth: "1.5", key: "3" }], ["path", { d: "M18.3635 5.63672L16.2422 7.75804", stroke: "currentColor", strokeLinecap: "round", strokeWidth: "1.5", key: "4" }], ["path", { d: "M7.75804 16.2422L5.63672 18.3635", stroke: "currentColor", strokeLinecap: "round", strokeWidth: "1.5", key: "5" }], ["path", { d: "M18.3635 18.3635L16.2422 16.2422", stroke: "currentColor", strokeLinecap: "round", strokeWidth: "1.5", key: "6" }], ["path", { d: "M7.75804 7.75804L5.63672 5.63672", stroke: "currentColor", strokeLinecap: "round", strokeWidth: "1.5", key: "7" }]], m7 = [["path", { d: "M13 3H11C7.22876 3 5.34315 3 4.17157 4.17157C3 5.34315 3 7.22876 3 11V13C3 16.7712 3 18.6569 4.17157 19.8284C5.34315 21 7.22876 21 11 21H13C16.7712 21 18.6569 21 19.8284 19.8284C21 18.6569 21 16.7712 21 13V11C21 7.22876 21 5.34315 19.8284 4.17157C18.6569 3 16.7712 3 13 3Z", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", key: "0" }], ["path", { d: "M9 3V21", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", key: "1" }]], pkr = [["path", { d: "M17 17L21 21", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", key: "0" }], ["path", { d: "M19 11C19 6.58172 15.4183 3 11 3C6.58172 3 3 6.58172 3 11C3 15.4183 6.58172 19 11 19C15.4183 19 19 15.4183 19 11Z", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", key: "1" }]], TWr = [["path", { d: "M5 14L8.5 17.5L19 6.5", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", key: "0" }]];
3
+ var _sfc_main = defineComponent({
4
+ name: "HugeiconsIcon",
5
+ inheritAttrs: false,
6
+ props: {
7
+ icon: {
8
+ type: Array,
9
+ required: true
10
+ },
11
+ size: {
12
+ type: [Number, String],
13
+ default: 24,
14
+ validator(value) {
15
+ const size = typeof value === "string" ? parseInt(value, 10) : value;
16
+ return !isNaN(size) && size > 0;
17
+ }
18
+ },
19
+ strokeWidth: {
20
+ type: Number,
21
+ default: void 0
22
+ },
23
+ absoluteStrokeWidth: {
24
+ type: Boolean,
25
+ default: false
26
+ },
27
+ altIcon: {
28
+ type: Array,
29
+ default: void 0
30
+ },
31
+ showAlt: {
32
+ type: Boolean,
33
+ default: false
34
+ },
35
+ color: {
36
+ type: String,
37
+ default: "currentColor"
38
+ }
39
+ },
40
+ setup(props) {
41
+ const computedSize = computed(() => {
42
+ const size = typeof props.size === "string" ? parseInt(props.size, 10) : props.size;
43
+ return !isNaN(size) && size > 0 ? size : 24;
44
+ });
45
+ const calculatedStrokeWidth = computed(() => {
46
+ if (props.strokeWidth === void 0) return void 0;
47
+ return props.absoluteStrokeWidth ? props.strokeWidth * 24 / computedSize.value : props.strokeWidth;
48
+ });
49
+ const currentIcon = computed(() => {
50
+ return props.altIcon && props.showAlt ? props.altIcon : props.icon;
51
+ });
52
+ const transformAttrs = (attrs, strokeWidth) => {
53
+ const result = {};
54
+ for (const [key, value] of Object.entries(attrs)) {
55
+ const kebabKey = key.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
56
+ result[kebabKey] = value;
57
+ }
58
+ if (strokeWidth !== void 0) {
59
+ result["stroke-width"] = strokeWidth;
60
+ result["stroke"] = "currentColor";
61
+ }
62
+ return result;
63
+ };
64
+ return {
65
+ computedSize,
66
+ calculatedStrokeWidth,
67
+ transformAttrs,
68
+ currentIcon
69
+ };
70
+ }
71
+ });
72
+ var _export_sfc = (sfc, props) => {
73
+ const target = sfc.__vccOpts || sfc;
74
+ for (const [key, val] of props) {
75
+ target[key] = val;
76
+ }
77
+ return target;
78
+ };
79
+ const _hoisted_1 = ["width", "height", "color"];
80
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
81
+ return openBlock(), createElementBlock("svg", mergeProps({
82
+ width: _ctx.computedSize,
83
+ height: _ctx.computedSize,
84
+ viewBox: `0 0 24 24`,
85
+ xmlns: "http://www.w3.org/2000/svg",
86
+ fill: "none",
87
+ color: _ctx.color
88
+ }, _ctx.$attrs), [
89
+ (openBlock(true), createElementBlock(
90
+ Fragment,
91
+ null,
92
+ renderList(_ctx.currentIcon, (element, index) => {
93
+ return openBlock(), createBlock(
94
+ resolveDynamicComponent(element[0]),
95
+ mergeProps({
96
+ key: index,
97
+ ref_for: true
98
+ }, _ctx.transformAttrs(element[1], _ctx.calculatedStrokeWidth)),
99
+ null,
100
+ 16
101
+ /* FULL_PROPS */
102
+ );
103
+ }),
104
+ 128
105
+ /* KEYED_FRAGMENT */
106
+ ))
107
+ ], 16, _hoisted_1);
108
+ }
109
+ var HugeiconsIcon = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/Users/mahmudulhasan/Desktop/Projects/Hugeicons/packages/vue/src/components/HugeiconsIcon.vue"]]);
110
+ export {
111
+ $o as $,
112
+ AE as A,
113
+ CC as C,
114
+ HugeiconsIcon as H,
115
+ Nn as N,
116
+ SK as S,
117
+ TWr as T,
118
+ dp as a,
119
+ m7 as b,
120
+ cL as c,
121
+ dn as d,
122
+ mn as m,
123
+ pkr as p
124
+ };
@@ -1,8 +1,8 @@
1
1
  import { defineComponent, openBlock, createElementBlock, withDirectives, createElementVNode, mergeProps, unref, isRef, renderSlot, vModelSelect, createVNode, normalizeClass } from "vue";
2
2
  import { u as useVModel } from "./index-Cq9Ekgtb.js";
3
+ import { H as HugeiconsIcon, d as dn } from "./HugeiconsIcon.vue-BJ-_Wtmk.js";
3
4
  import { c as cn } from "./utils-Bz4m9VPB.js";
4
5
  import { r as reactiveOmit } from "./index-qGMU40e1.js";
5
- import { C as ChevronDown } from "./chevron-down-DP-oz-sL.js";
6
6
  const _hoisted_1 = {
7
7
  class: "group/native-select relative w-fit has-[select:disabled]:opacity-50",
8
8
  "data-slot": "native-select-wrapper"
@@ -41,11 +41,12 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
41
41
  ], 16), [
42
42
  [vModelSelect, unref(modelValue)]
43
43
  ]),
44
- createVNode(unref(ChevronDown), {
44
+ createVNode(unref(HugeiconsIcon), {
45
+ icon: unref(dn),
45
46
  class: "text-muted-foreground pointer-events-none absolute top-1/2 right-3.5 size-4 -translate-y-1/2 opacity-50 select-none",
46
47
  "aria-hidden": "true",
47
48
  "data-slot": "native-select-icon"
48
- })
49
+ }, null, 8, ["icon"])
49
50
  ]);
50
51
  };
51
52
  }
@@ -1,8 +1,9 @@
1
1
  import { defineComponent, openBlock, createBlock, unref, mergeProps, withCtx, renderSlot, normalizeProps, guardReactiveProps, createVNode, createElementVNode, createElementBlock, normalizeClass } from "vue";
2
2
  import { u as useForwardPropsEmits } from "./useForwardPropsEmits-DmumnZO5.js";
3
3
  import { b as DialogRoot_default, D as DialogOverlay_default, a as DialogContent_default, c as DialogDescription_default, d as DialogTitle_default } from "./DialogTitle-CLuntLBB.js";
4
+ import { H as HugeiconsIcon, a as dp } from "./HugeiconsIcon.vue-BJ-_Wtmk.js";
4
5
  import { D as DialogClose_default } from "./DialogClose-DDtZ0Em0.js";
5
- import { D as DialogPortal_default, X } from "./DialogPortal-BTVR2QvT.js";
6
+ import { D as DialogPortal_default } from "./DialogPortal-D81oXsCY.js";
6
7
  import { c as cn } from "./utils-Bz4m9VPB.js";
7
8
  import { r as reactiveOmit } from "./index-qGMU40e1.js";
8
9
  const _sfc_main$5 = /* @__PURE__ */ defineComponent({
@@ -89,7 +90,10 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
89
90
  renderSlot(_ctx.$slots, "default"),
90
91
  createVNode(unref(DialogClose_default), { class: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none" }, {
91
92
  default: withCtx(() => [
92
- createVNode(unref(X), { class: "size-4" }),
93
+ createVNode(unref(HugeiconsIcon), {
94
+ icon: unref(dp),
95
+ class: "size-4"
96
+ }, null, 8, ["icon"]),
93
97
  _cache[0] || (_cache[0] = createElementVNode("span", { class: "sr-only" }, "Close", -1))
94
98
  ]),
95
99
  _: 1
package/dist/badge.js ADDED
@@ -0,0 +1,50 @@
1
+ import { c as cva } from "./index-FpH8cK6B.js";
2
+ import { defineComponent, openBlock, createBlock, unref, normalizeClass, withCtx, renderSlot } from "vue";
3
+ import { P as Primitive } from "./Primitive-D3IcFg81.js";
4
+ import { c as cn } from "./utils-Bz4m9VPB.js";
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
+ __name: "Badge",
7
+ props: {
8
+ variant: {},
9
+ class: {},
10
+ asChild: { type: Boolean },
11
+ as: {}
12
+ },
13
+ setup(__props) {
14
+ const props = __props;
15
+ return (_ctx, _cache) => {
16
+ return openBlock(), createBlock(unref(Primitive), {
17
+ "data-slot": "badge",
18
+ "data-variant": _ctx.variant,
19
+ as: _ctx.as,
20
+ "as-child": _ctx.asChild,
21
+ class: normalizeClass(unref(cn)(unref(badgeVariants)({ variant: _ctx.variant }), props.class))
22
+ }, {
23
+ default: withCtx(() => [
24
+ renderSlot(_ctx.$slots, "default")
25
+ ]),
26
+ _: 3
27
+ }, 8, ["data-variant", "as", "as-child", "class"]);
28
+ };
29
+ }
30
+ });
31
+ const badgeVariants = cva(
32
+ "inline-flex items-center justify-center rounded border px-2 py-1 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
33
+ {
34
+ variants: {
35
+ variant: {
36
+ default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
37
+ secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
38
+ destructive: "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
39
+ outline: "border-border text-muted-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
40
+ }
41
+ },
42
+ defaultVariants: {
43
+ variant: "default"
44
+ }
45
+ }
46
+ );
47
+ export {
48
+ _sfc_main as Badge,
49
+ badgeVariants
50
+ };
@@ -1,5 +1,5 @@
1
1
  import { reactive, render, h, defineComponent, openBlock, createBlock, unref, normalizeClass } from "vue";
2
- import { B as Busy } from "./Busy-DSyPtpVD.js";
2
+ import { B as Busy } from "./Busy-1BeD2TRH.js";
3
3
  const BUSY_INDICATOR_ROOT_ID = "ui-vintage-busy-indicator-root";
4
4
  let busyIndicatorMountPromise = null;
5
5
  const busyIndicatorState = reactive({
package/dist/busy.js CHANGED
@@ -1,4 +1,4 @@
1
- import { B } from "./Busy-DSyPtpVD.js";
1
+ import { B } from "./Busy-1BeD2TRH.js";
2
2
  export {
3
3
  B as Busy
4
4
  };
package/dist/calendar.js CHANGED
@@ -1,4 +1,4 @@
1
- import { _, a, b, c, d, e, f, g, h, i, j, k } from "./CalendarPrevButton.vue_vue_type_script_setup_true_lang-Dqz6DIGp.js";
1
+ import { _, a, b, c, d, e, f, g, h, i, j, k } from "./CalendarPrevButton.vue_vue_type_script_setup_true_lang-BklOxtD-.js";
2
2
  export {
3
3
  _ as Calendar,
4
4
  a as CalendarCell,
package/dist/card.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import { _ } from "./Card.vue_vue_type_script_setup_true_lang-6ol3rxy1.js";
2
2
  import { defineComponent, openBlock, createElementBlock, normalizeClass, unref, renderSlot } from "vue";
3
3
  import { c as cn } from "./utils-Bz4m9VPB.js";
4
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
4
+ import { _ as _2, a } from "./CardFooter.vue_vue_type_script_setup_true_lang-B1eS9wge.js";
5
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
5
6
  __name: "CardAction",
6
7
  props: {
7
8
  class: {}
@@ -18,24 +19,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
18
19
  };
19
20
  }
20
21
  });
21
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
22
- __name: "CardContent",
23
- props: {
24
- class: {}
25
- },
26
- setup(__props) {
27
- const props = __props;
28
- return (_ctx, _cache) => {
29
- return openBlock(), createElementBlock("div", {
30
- "data-slot": "card-content",
31
- class: normalizeClass(unref(cn)("px-6", props.class))
32
- }, [
33
- renderSlot(_ctx.$slots, "default")
34
- ], 2);
35
- };
36
- }
37
- });
38
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
22
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
39
23
  __name: "CardDescription",
40
24
  props: {
41
25
  class: {}
@@ -52,23 +36,6 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
52
36
  };
53
37
  }
54
38
  });
55
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
56
- __name: "CardFooter",
57
- props: {
58
- class: {}
59
- },
60
- setup(__props) {
61
- const props = __props;
62
- return (_ctx, _cache) => {
63
- return openBlock(), createElementBlock("div", {
64
- "data-slot": "card-footer",
65
- class: normalizeClass(unref(cn)("flex items-center px-6 [.border-t]:pt-6", props.class))
66
- }, [
67
- renderSlot(_ctx.$slots, "default")
68
- ], 2);
69
- };
70
- }
71
- });
72
39
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
73
40
  __name: "CardHeader",
74
41
  props: {
@@ -105,10 +72,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
105
72
  });
106
73
  export {
107
74
  _ as Card,
108
- _sfc_main$5 as CardAction,
109
- _sfc_main$4 as CardContent,
110
- _sfc_main$3 as CardDescription,
111
- _sfc_main$2 as CardFooter,
75
+ _sfc_main$3 as CardAction,
76
+ _2 as CardContent,
77
+ _sfc_main$2 as CardDescription,
78
+ a as CardFooter,
112
79
  _sfc_main$1 as CardHeader,
113
80
  _sfc_main as CardTitle
114
81
  };