@zentauri-ui/zentauri-components 2.1.0 → 2.1.2

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 (113) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +10 -10
  3. package/cli/cli.integration.test.ts +115 -0
  4. package/cli/index.mjs +260 -5
  5. package/cli/registry.json +84 -0
  6. package/dist/{chunk-N3FNN47Q.mjs → chunk-3IE4IELX.mjs} +32 -32
  7. package/dist/chunk-3IE4IELX.mjs.map +1 -0
  8. package/dist/{chunk-JEZUMCJ6.mjs → chunk-3N575QVC.mjs} +3 -3
  9. package/dist/{chunk-JEZUMCJ6.mjs.map → chunk-3N575QVC.mjs.map} +1 -1
  10. package/dist/{chunk-RRUVHDN6.js → chunk-5TVBPPS6.js} +11 -11
  11. package/dist/{chunk-RRUVHDN6.js.map → chunk-5TVBPPS6.js.map} +1 -1
  12. package/dist/{chunk-YNTUZCLI.js → chunk-642JVK45.js} +16 -16
  13. package/dist/{chunk-YNTUZCLI.js.map → chunk-642JVK45.js.map} +1 -1
  14. package/dist/{chunk-AZ26NZJV.mjs → chunk-6ERBVFDA.mjs} +35 -35
  15. package/dist/chunk-6ERBVFDA.mjs.map +1 -0
  16. package/dist/{chunk-SRJCGSNX.js → chunk-6Q4EOLKN.js} +23 -23
  17. package/dist/{chunk-SRJCGSNX.js.map → chunk-6Q4EOLKN.js.map} +1 -1
  18. package/dist/{chunk-TCEGQIGW.mjs → chunk-7N2UYQBJ.mjs} +9 -7
  19. package/dist/{chunk-TCEGQIGW.mjs.map → chunk-7N2UYQBJ.mjs.map} +1 -1
  20. package/dist/{chunk-VKEDTQY6.js → chunk-APCN6NUH.js} +8 -8
  21. package/dist/{chunk-VKEDTQY6.js.map → chunk-APCN6NUH.js.map} +1 -1
  22. package/dist/{chunk-X7HK6RTF.js → chunk-BIQZC26Q.js} +23 -23
  23. package/dist/{chunk-X7HK6RTF.js.map → chunk-BIQZC26Q.js.map} +1 -1
  24. package/dist/{chunk-K2H6LIPQ.mjs → chunk-GOH2THVW.mjs} +3 -3
  25. package/dist/{chunk-K2H6LIPQ.mjs.map → chunk-GOH2THVW.mjs.map} +1 -1
  26. package/dist/chunk-GUB3RSPR.mjs +211 -0
  27. package/dist/chunk-GUB3RSPR.mjs.map +1 -0
  28. package/dist/{chunk-GENYOZN4.mjs → chunk-HVMYPW3Q.mjs} +3 -3
  29. package/dist/{chunk-GENYOZN4.mjs.map → chunk-HVMYPW3Q.mjs.map} +1 -1
  30. package/dist/chunk-J5NTJVKX.js +229 -0
  31. package/dist/chunk-J5NTJVKX.js.map +1 -0
  32. package/dist/{chunk-XUW42JAP.js → chunk-PZ25OHJE.js} +32 -32
  33. package/dist/chunk-PZ25OHJE.js.map +1 -0
  34. package/dist/{chunk-UFDJ5NIY.mjs → chunk-PZI2UVPL.mjs} +3 -3
  35. package/dist/{chunk-UFDJ5NIY.mjs.map → chunk-PZI2UVPL.mjs.map} +1 -1
  36. package/dist/chunk-R4D5V7NT.js +19 -0
  37. package/dist/{chunk-4TX7EQ5Y.js.map → chunk-R4D5V7NT.js.map} +1 -1
  38. package/dist/{chunk-BGIWVTAU.mjs → chunk-RJ7L45SA.mjs} +3 -3
  39. package/dist/{chunk-BGIWVTAU.mjs.map → chunk-RJ7L45SA.mjs.map} +1 -1
  40. package/dist/{chunk-C6K2SWHC.mjs → chunk-TVEK6PKH.mjs} +23 -23
  41. package/dist/{chunk-C6K2SWHC.mjs.map → chunk-TVEK6PKH.mjs.map} +1 -1
  42. package/dist/{chunk-BJRS5RXR.mjs → chunk-TYBQZO6Y.mjs} +3 -3
  43. package/dist/{chunk-BJRS5RXR.mjs.map → chunk-TYBQZO6Y.mjs.map} +1 -1
  44. package/dist/{chunk-AOVZY2A3.js → chunk-UQQHB3OI.js} +35 -35
  45. package/dist/chunk-UQQHB3OI.js.map +1 -0
  46. package/dist/{chunk-NEFDIJ5N.js → chunk-V2LI5QZD.js} +54 -52
  47. package/dist/chunk-V2LI5QZD.js.map +1 -0
  48. package/dist/{chunk-KCXTYTOY.js → chunk-VHYUH5OH.js} +6 -6
  49. package/dist/{chunk-KCXTYTOY.js.map → chunk-VHYUH5OH.js.map} +1 -1
  50. package/dist/{chunk-BVTYDGLM.mjs → chunk-WIKNEHPJ.mjs} +23 -23
  51. package/dist/{chunk-BVTYDGLM.mjs.map → chunk-WIKNEHPJ.mjs.map} +1 -1
  52. package/dist/{chunk-XF3NHZZ3.js → chunk-Y6DFOQ5E.js} +7 -7
  53. package/dist/{chunk-XF3NHZZ3.js.map → chunk-Y6DFOQ5E.js.map} +1 -1
  54. package/dist/design-system/combobox.d.ts +120 -37
  55. package/dist/design-system/combobox.d.ts.map +1 -1
  56. package/dist/design-system/command.d.ts +33 -33
  57. package/dist/design-system/facade.js +7 -7
  58. package/dist/design-system/facade.mjs +6 -6
  59. package/dist/design-system/popover.d.ts +30 -30
  60. package/dist/design-system/tabs.d.ts +21 -21
  61. package/dist/design-system/toast.d.ts +21 -21
  62. package/dist/ui/buttons/animated.js +9 -9
  63. package/dist/ui/buttons/animated.mjs +7 -7
  64. package/dist/ui/buttons.js +10 -10
  65. package/dist/ui/buttons.mjs +8 -8
  66. package/dist/ui/combobox/combobox-base.d.ts.map +1 -1
  67. package/dist/ui/combobox/variants.d.ts +3 -3
  68. package/dist/ui/combobox.js +22 -20
  69. package/dist/ui/combobox.js.map +1 -1
  70. package/dist/ui/combobox.mjs +6 -4
  71. package/dist/ui/combobox.mjs.map +1 -1
  72. package/dist/ui/command/animated.js +3 -3
  73. package/dist/ui/command/animated.mjs +2 -2
  74. package/dist/ui/command.js +16 -16
  75. package/dist/ui/command.mjs +3 -3
  76. package/dist/ui/dynamic-stepper.js +19 -19
  77. package/dist/ui/dynamic-stepper.mjs +8 -8
  78. package/dist/ui/pagination.js +15 -15
  79. package/dist/ui/pagination.mjs +7 -7
  80. package/dist/ui/popover/animated.js +5 -5
  81. package/dist/ui/popover/animated.mjs +2 -2
  82. package/dist/ui/popover.js +8 -8
  83. package/dist/ui/popover.mjs +2 -2
  84. package/dist/ui/tabs/animated.js +3 -3
  85. package/dist/ui/tabs/animated.mjs +2 -2
  86. package/dist/ui/tabs.js +10 -10
  87. package/dist/ui/tabs.mjs +2 -2
  88. package/dist/ui/toast/animated.js +8 -8
  89. package/dist/ui/toast/animated.mjs +2 -2
  90. package/dist/ui/toast.js +13 -13
  91. package/dist/ui/toast.mjs +2 -2
  92. package/package.json +3 -2
  93. package/src/design-system/combobox.ts +176 -46
  94. package/src/design-system/command.ts +33 -33
  95. package/src/design-system/popover.ts +30 -30
  96. package/src/design-system/tabs.ts +21 -21
  97. package/src/design-system/toast.ts +21 -21
  98. package/src/ui/combobox/combobox-base.tsx +5 -3
  99. package/src/ui/combobox/combobox.test.tsx +69 -0
  100. package/src/ui/command/command.test.tsx +15 -0
  101. package/src/ui/popover/popover.test.tsx +15 -0
  102. package/src/ui/tabs/tabs.test.tsx +15 -0
  103. package/src/ui/toast/toast.test.tsx +12 -0
  104. package/dist/chunk-4TX7EQ5Y.js +0 -19
  105. package/dist/chunk-AOVZY2A3.js.map +0 -1
  106. package/dist/chunk-AZ26NZJV.mjs.map +0 -1
  107. package/dist/chunk-K7PR3XXT.mjs +0 -128
  108. package/dist/chunk-K7PR3XXT.mjs.map +0 -1
  109. package/dist/chunk-N3FNN47Q.mjs.map +0 -1
  110. package/dist/chunk-NEFDIJ5N.js.map +0 -1
  111. package/dist/chunk-QNRJT7R4.js +0 -144
  112. package/dist/chunk-QNRJT7R4.js.map +0 -1
  113. package/dist/chunk-XUW42JAP.js.map +0 -1
@@ -34,27 +34,27 @@ export declare const zuiToastRootAppearances: {
34
34
  readonly "gradient-indigo": "border-[color:var(--zui-toast-root-gradient-indigo-border,var(--zui-color-indigo,oklch(39.8%_0.195_277.366)))] dark:border-[color:var(--zui-toast-root-gradient-indigo-border-dark,var(--zui-color-indigo-dark,oklch(51.1%_0.262_276.966)))] bg-linear-to-r from-[var(--zui-toast-root-gradient-indigo-from,var(--zui-color-indigo,oklch(96.2%_0.018_272.314)))] dark:from-[var(--zui-toast-root-gradient-indigo-from-dark,var(--zui-color-indigo-dark,oklch(25.7%_0.09_281.288_/_0.7)))] to-[var(--zui-toast-root-gradient-indigo-to,var(--zui-color-purple,oklch(97.7%_0.014_308.299)))] dark:to-[var(--zui-toast-root-gradient-indigo-to-dark,var(--zui-color-purple-dark,oklch(29.1%_0.149_302.717_/_0.7)))] backdrop-blur-xl";
35
35
  readonly "gradient-pink": "border-[color:var(--zui-toast-root-gradient-pink-border,var(--zui-color-pink,oklch(45.9%_0.187_3.815)))] dark:border-[color:var(--zui-toast-root-gradient-pink-border-dark,var(--zui-color-pink-dark,oklch(59.2%_0.249_0.584)))] bg-linear-to-r from-[var(--zui-toast-root-gradient-pink-from,var(--zui-color-pink,oklch(97.1%_0.014_343.198)))] dark:from-[var(--zui-toast-root-gradient-pink-from-dark,var(--zui-color-pink-dark,oklch(28.4%_0.109_3.907_/_0.7)))] to-[var(--zui-toast-root-gradient-pink-to,var(--zui-color-rose,oklch(96.9%_0.015_12.422)))] dark:to-[var(--zui-toast-root-gradient-pink-to-dark,var(--zui-color-rose-dark,oklch(27.1%_0.105_12.094_/_0.7)))] backdrop-blur-xl";
36
36
  readonly "gradient-orange": "border-[color:var(--zui-toast-root-gradient-orange-border,var(--zui-color-orange,oklch(47%_0.157_37.304)))] dark:border-[color:var(--zui-toast-root-gradient-orange-border-dark,var(--zui-color-orange-dark,oklch(64.6%_0.222_41.116)))] bg-linear-to-r from-[var(--zui-toast-root-gradient-orange-from,var(--zui-color-orange,oklch(98%_0.016_73.684)))] dark:from-[var(--zui-toast-root-gradient-orange-from-dark,var(--zui-color-orange-dark,oklch(26.6%_0.079_36.259_/_0.7)))] to-[var(--zui-toast-root-gradient-orange-to,var(--zui-color-red,oklch(97.1%_0.013_17.38)))] dark:to-[var(--zui-toast-root-gradient-orange-to-dark,var(--zui-color-red-dark,oklch(25.8%_0.092_26.042_/_0.7)))] backdrop-blur-xl";
37
- readonly blue: "border border-[color:var(--zui-toast-root-blue-border,var(--zui-color-blue,#2563eb))] dark:border-[color:var(--zui-toast-root-blue-border-dark,var(--zui-color-blue-dark,#3b82f6))] bg-[var(--zui-toast-root-blue-bg,var(--zui-color-blue,#2563eb14))] dark:bg-[var(--zui-toast-root-blue-bg-dark,var(--zui-color-blue-dark,#3b82f624))] text-[color:var(--zui-toast-root-blue-fg,var(--zui-fg,#0f172a))] dark:text-[color:var(--zui-toast-root-blue-fg-dark,var(--zui-fg-dark,#f8fafc))]";
38
- readonly cyan: "border border-[color:var(--zui-toast-root-cyan-border,var(--zui-color-cyan,#0891b2))] dark:border-[color:var(--zui-toast-root-cyan-border-dark,var(--zui-color-cyan-dark,#22d3ee))] bg-[var(--zui-toast-root-cyan-bg,var(--zui-color-cyan,#0891b214))] dark:bg-[var(--zui-toast-root-cyan-bg-dark,var(--zui-color-cyan-dark,#22d3ee24))] text-[color:var(--zui-toast-root-cyan-fg,var(--zui-fg,#0f172a))] dark:text-[color:var(--zui-toast-root-cyan-fg-dark,var(--zui-fg-dark,#f8fafc))]";
39
- readonly green: "border border-[color:var(--zui-toast-root-green-border,var(--zui-color-green,#16a34a))] dark:border-[color:var(--zui-toast-root-green-border-dark,var(--zui-color-green-dark,#22c55e))] bg-[var(--zui-toast-root-green-bg,var(--zui-color-green,#16a34a14))] dark:bg-[var(--zui-toast-root-green-bg-dark,var(--zui-color-green-dark,#22c55e24))] text-[color:var(--zui-toast-root-green-fg,var(--zui-fg,#0f172a))] dark:text-[color:var(--zui-toast-root-green-fg-dark,var(--zui-fg-dark,#f8fafc))]";
40
- readonly lime: "border border-[color:var(--zui-toast-root-lime-border,var(--zui-color-lime,#65a30d))] dark:border-[color:var(--zui-toast-root-lime-border-dark,var(--zui-color-lime-dark,#a3e635))] bg-[var(--zui-toast-root-lime-bg,var(--zui-color-lime,#65a30d14))] dark:bg-[var(--zui-toast-root-lime-bg-dark,var(--zui-color-lime-dark,#a3e63524))] text-[color:var(--zui-toast-root-lime-fg,var(--zui-fg,#0f172a))] dark:text-[color:var(--zui-toast-root-lime-fg-dark,var(--zui-fg-dark,#f8fafc))]";
41
- readonly mint: "border border-[color:var(--zui-toast-root-mint-border,var(--zui-color-mint,#10b981))] dark:border-[color:var(--zui-toast-root-mint-border-dark,var(--zui-color-mint-dark,#6ee7b7))] bg-[var(--zui-toast-root-mint-bg,var(--zui-color-mint,#10b98114))] dark:bg-[var(--zui-toast-root-mint-bg-dark,var(--zui-color-mint-dark,#6ee7b724))] text-[color:var(--zui-toast-root-mint-fg,var(--zui-fg,#0f172a))] dark:text-[color:var(--zui-toast-root-mint-fg-dark,var(--zui-fg-dark,#f8fafc))]";
42
- readonly ocean: "border border-[color:var(--zui-toast-root-ocean-border,var(--zui-color-ocean,#0284c7))] dark:border-[color:var(--zui-toast-root-ocean-border-dark,var(--zui-color-ocean-dark,#38bdf8))] bg-[var(--zui-toast-root-ocean-bg,var(--zui-color-ocean,#0284c714))] dark:bg-[var(--zui-toast-root-ocean-bg-dark,var(--zui-color-ocean-dark,#38bdf824))] text-[color:var(--zui-toast-root-ocean-fg,var(--zui-fg,#0f172a))] dark:text-[color:var(--zui-toast-root-ocean-fg-dark,var(--zui-fg-dark,#f8fafc))]";
43
- readonly sapphire: "border border-[color:var(--zui-toast-root-sapphire-border,var(--zui-color-sapphire,#1d4ed8))] dark:border-[color:var(--zui-toast-root-sapphire-border-dark,var(--zui-color-sapphire-dark,#60a5fa))] bg-[var(--zui-toast-root-sapphire-bg,var(--zui-color-sapphire,#1d4ed814))] dark:bg-[var(--zui-toast-root-sapphire-bg-dark,var(--zui-color-sapphire-dark,#60a5fa24))] text-[color:var(--zui-toast-root-sapphire-fg,var(--zui-fg,#0f172a))] dark:text-[color:var(--zui-toast-root-sapphire-fg-dark,var(--zui-fg-dark,#f8fafc))]";
44
- readonly lavender: "border border-[color:var(--zui-toast-root-lavender-border,var(--zui-color-lavender,#8b5cf6))] dark:border-[color:var(--zui-toast-root-lavender-border-dark,var(--zui-color-lavender-dark,#a78bfa))] bg-[var(--zui-toast-root-lavender-bg,var(--zui-color-lavender,#8b5cf614))] dark:bg-[var(--zui-toast-root-lavender-bg-dark,var(--zui-color-lavender-dark,#a78bfa24))] text-[color:var(--zui-toast-root-lavender-fg,var(--zui-fg,#0f172a))] dark:text-[color:var(--zui-toast-root-lavender-fg-dark,var(--zui-fg-dark,#f8fafc))]";
45
- readonly ruby: "border border-[color:var(--zui-toast-root-ruby-border,var(--zui-color-ruby,#be123c))] dark:border-[color:var(--zui-toast-root-ruby-border-dark,var(--zui-color-ruby-dark,#fb7185))] bg-[var(--zui-toast-root-ruby-bg,var(--zui-color-ruby,#be123c14))] dark:bg-[var(--zui-toast-root-ruby-bg-dark,var(--zui-color-ruby-dark,#fb718524))] text-[color:var(--zui-toast-root-ruby-fg,var(--zui-fg,#0f172a))] dark:text-[color:var(--zui-toast-root-ruby-fg-dark,var(--zui-fg-dark,#f8fafc))]";
46
- readonly red: "border border-[color:var(--zui-toast-root-red-border,var(--zui-color-red,#dc2626))] dark:border-[color:var(--zui-toast-root-red-border-dark,var(--zui-color-red-dark,#ef4444))] bg-[var(--zui-toast-root-red-bg,var(--zui-color-red,#dc262614))] dark:bg-[var(--zui-toast-root-red-bg-dark,var(--zui-color-red-dark,#ef444424))] text-[color:var(--zui-toast-root-red-fg,var(--zui-fg,#0f172a))] dark:text-[color:var(--zui-toast-root-red-fg-dark,var(--zui-fg-dark,#f8fafc))]";
47
- readonly slate: "border border-[color:var(--zui-toast-root-slate-border,var(--zui-color-slate,#475569))] dark:border-[color:var(--zui-toast-root-slate-border-dark,var(--zui-color-slate-dark,#64748b))] bg-[var(--zui-toast-root-slate-bg,var(--zui-color-slate,#47556914))] dark:bg-[var(--zui-toast-root-slate-bg-dark,var(--zui-color-slate-dark,#64748b24))] text-[color:var(--zui-toast-root-slate-fg,var(--zui-fg,#0f172a))] dark:text-[color:var(--zui-toast-root-slate-fg-dark,var(--zui-fg-dark,#f8fafc))]";
48
- readonly zinc: "border border-[color:var(--zui-toast-root-zinc-border,var(--zui-color-zinc,#52525b))] dark:border-[color:var(--zui-toast-root-zinc-border-dark,var(--zui-color-zinc-dark,#71717a))] bg-[var(--zui-toast-root-zinc-bg,var(--zui-color-zinc,#52525b14))] dark:bg-[var(--zui-toast-root-zinc-bg-dark,var(--zui-color-zinc-dark,#71717a24))] text-[color:var(--zui-toast-root-zinc-fg,var(--zui-fg,#0f172a))] dark:text-[color:var(--zui-toast-root-zinc-fg-dark,var(--zui-fg-dark,#f8fafc))]";
49
- readonly stone: "border border-[color:var(--zui-toast-root-stone-border,var(--zui-color-stone,#57534e))] dark:border-[color:var(--zui-toast-root-stone-border-dark,var(--zui-color-stone-dark,#78716c))] bg-[var(--zui-toast-root-stone-bg,var(--zui-color-stone,#57534e14))] dark:bg-[var(--zui-toast-root-stone-bg-dark,var(--zui-color-stone-dark,#78716c24))] text-[color:var(--zui-toast-root-stone-fg,var(--zui-fg,#0f172a))] dark:text-[color:var(--zui-toast-root-stone-fg-dark,var(--zui-fg-dark,#f8fafc))]";
50
- readonly royal: "border border-[color:var(--zui-toast-root-royal-border,var(--zui-color-royal,#4338ca))] dark:border-[color:var(--zui-toast-root-royal-border-dark,var(--zui-color-royal-dark,#818cf8))] bg-[var(--zui-toast-root-royal-bg,var(--zui-color-royal,#4338ca14))] dark:bg-[var(--zui-toast-root-royal-bg-dark,var(--zui-color-royal-dark,#818cf824))] text-[color:var(--zui-toast-root-royal-fg,var(--zui-fg,#0f172a))] dark:text-[color:var(--zui-toast-root-royal-fg-dark,var(--zui-fg-dark,#f8fafc))]";
51
- readonly electric: "border border-[color:var(--zui-toast-root-electric-border,var(--zui-color-electric,#0ea5e9))] dark:border-[color:var(--zui-toast-root-electric-border-dark,var(--zui-color-electric-dark,#38bdf8))] bg-[var(--zui-toast-root-electric-bg,var(--zui-color-electric,#0ea5e914))] dark:bg-[var(--zui-toast-root-electric-bg-dark,var(--zui-color-electric-dark,#38bdf824))] text-[color:var(--zui-toast-root-electric-fg,var(--zui-fg,#0f172a))] dark:text-[color:var(--zui-toast-root-electric-fg-dark,var(--zui-fg-dark,#f8fafc))]";
52
- readonly forest: "border border-[color:var(--zui-toast-root-forest-border,var(--zui-color-forest,#166534))] dark:border-[color:var(--zui-toast-root-forest-border-dark,var(--zui-color-forest-dark,#4ade80))] bg-[var(--zui-toast-root-forest-bg,var(--zui-color-forest,#16653414))] dark:bg-[var(--zui-toast-root-forest-bg-dark,var(--zui-color-forest-dark,#4ade8024))] text-[color:var(--zui-toast-root-forest-fg,var(--zui-fg,#0f172a))] dark:text-[color:var(--zui-toast-root-forest-fg-dark,var(--zui-fg-dark,#f8fafc))]";
53
- readonly sunset: "border border-[color:var(--zui-toast-root-sunset-border,var(--zui-color-sunset,#ea580c))] dark:border-[color:var(--zui-toast-root-sunset-border-dark,var(--zui-color-sunset-dark,#fb923c))] bg-[var(--zui-toast-root-sunset-bg,var(--zui-color-sunset,#ea580c14))] dark:bg-[var(--zui-toast-root-sunset-bg-dark,var(--zui-color-sunset-dark,#fb923c24))] text-[color:var(--zui-toast-root-sunset-fg,var(--zui-fg,#0f172a))] dark:text-[color:var(--zui-toast-root-sunset-fg-dark,var(--zui-fg-dark,#f8fafc))]";
54
- readonly magenta: "border border-[color:var(--zui-toast-root-magenta-border,var(--zui-color-magenta,#c026d3))] dark:border-[color:var(--zui-toast-root-magenta-border-dark,var(--zui-color-magenta-dark,#e879f9))] bg-[var(--zui-toast-root-magenta-bg,var(--zui-color-magenta,#c026d314))] dark:bg-[var(--zui-toast-root-magenta-bg-dark,var(--zui-color-magenta-dark,#e879f924))] text-[color:var(--zui-toast-root-magenta-fg,var(--zui-fg,#0f172a))] dark:text-[color:var(--zui-toast-root-magenta-fg-dark,var(--zui-fg-dark,#f8fafc))]";
55
- readonly crimson: "border border-[color:var(--zui-toast-root-crimson-border,var(--zui-color-crimson,#b91c1c))] dark:border-[color:var(--zui-toast-root-crimson-border-dark,var(--zui-color-crimson-dark,#f87171))] bg-[var(--zui-toast-root-crimson-bg,var(--zui-color-crimson,#b91c1c14))] dark:bg-[var(--zui-toast-root-crimson-bg-dark,var(--zui-color-crimson-dark,#f8717124))] text-[color:var(--zui-toast-root-crimson-fg,var(--zui-fg,#0f172a))] dark:text-[color:var(--zui-toast-root-crimson-fg-dark,var(--zui-fg-dark,#f8fafc))]";
56
- readonly aqua: "border border-[color:var(--zui-toast-root-aqua-border,var(--zui-color-aqua,#0f766e))] dark:border-[color:var(--zui-toast-root-aqua-border-dark,var(--zui-color-aqua-dark,#2dd4bf))] bg-[var(--zui-toast-root-aqua-bg,var(--zui-color-aqua,#0f766e14))] dark:bg-[var(--zui-toast-root-aqua-bg-dark,var(--zui-color-aqua-dark,#2dd4bf24))] text-[color:var(--zui-toast-root-aqua-fg,var(--zui-fg,#0f172a))] dark:text-[color:var(--zui-toast-root-aqua-fg-dark,var(--zui-fg-dark,#f8fafc))]";
57
- readonly plum: "border border-[color:var(--zui-toast-root-plum-border,var(--zui-color-plum,#7e22ce))] dark:border-[color:var(--zui-toast-root-plum-border-dark,var(--zui-color-plum-dark,#c084fc))] bg-[var(--zui-toast-root-plum-bg,var(--zui-color-plum,#7e22ce14))] dark:bg-[var(--zui-toast-root-plum-bg-dark,var(--zui-color-plum-dark,#c084fc24))] text-[color:var(--zui-toast-root-plum-fg,var(--zui-fg,#0f172a))] dark:text-[color:var(--zui-toast-root-plum-fg-dark,var(--zui-fg-dark,#f8fafc))]";
37
+ readonly blue: "border border-[color:var(--zui-toast-root-blue-border,var(--zui-color-blue,#2563eb))] dark:border-[color:var(--zui-toast-root-blue-border-dark,var(--zui-color-blue-dark,#3b82f6))] bg-[var(--zui-toast-root-blue-bg,oklch(25.7%_0.09_267.935))] dark:bg-[var(--zui-toast-root-blue-bg-dark,oklch(25.7%_0.09_267.935))] backdrop-blur-xl text-[color:var(--zui-toast-root-blue-fg,oklch(97.7%_0.013_236.62))] dark:text-[color:var(--zui-toast-root-blue-fg-dark,oklch(97.7%_0.013_236.62))]";
38
+ readonly cyan: "border border-[color:var(--zui-toast-root-cyan-border,var(--zui-color-cyan,#0891b2))] dark:border-[color:var(--zui-toast-root-cyan-border-dark,var(--zui-color-cyan-dark,#22d3ee))] bg-[var(--zui-toast-root-cyan-bg,oklch(30.2%_0.056_229.695))] dark:bg-[var(--zui-toast-root-cyan-bg-dark,oklch(30.2%_0.056_229.695))] backdrop-blur-xl text-[color:var(--zui-toast-root-cyan-fg,oklch(98.4%_0.019_200.873))] dark:text-[color:var(--zui-toast-root-cyan-fg-dark,oklch(98.4%_0.019_200.873))]";
39
+ readonly green: "border border-[color:var(--zui-toast-root-green-border,var(--zui-color-green,#16a34a))] dark:border-[color:var(--zui-toast-root-green-border-dark,var(--zui-color-green-dark,#22c55e))] bg-[var(--zui-toast-root-green-bg,oklch(26.6%_0.065_152.934))] dark:bg-[var(--zui-toast-root-green-bg-dark,oklch(26.6%_0.065_152.934))] backdrop-blur-xl text-[color:var(--zui-toast-root-green-fg,oklch(97.9%_0.021_166.113))] dark:text-[color:var(--zui-toast-root-green-fg-dark,oklch(97.9%_0.021_166.113))]";
40
+ readonly lime: "border border-[color:var(--zui-toast-root-lime-border,var(--zui-color-lime,#65a30d))] dark:border-[color:var(--zui-toast-root-lime-border-dark,var(--zui-color-lime-dark,#a3e635))] bg-[var(--zui-toast-root-lime-bg,oklch(27.4%_0.072_132.109))] dark:bg-[var(--zui-toast-root-lime-bg-dark,oklch(27.4%_0.072_132.109))] backdrop-blur-xl text-[color:var(--zui-toast-root-lime-fg,oklch(98.6%_0.031_120.757))] dark:text-[color:var(--zui-toast-root-lime-fg-dark,oklch(98.6%_0.031_120.757))]";
41
+ readonly mint: "border border-[color:var(--zui-toast-root-mint-border,var(--zui-color-mint,#10b981))] dark:border-[color:var(--zui-toast-root-mint-border-dark,var(--zui-color-mint-dark,#6ee7b7))] bg-[var(--zui-toast-root-mint-bg,oklch(26.2%_0.051_172.552))] dark:bg-[var(--zui-toast-root-mint-bg-dark,oklch(26.2%_0.051_172.552))] backdrop-blur-xl text-[color:var(--zui-toast-root-mint-fg,oklch(97.9%_0.021_166.113))] dark:text-[color:var(--zui-toast-root-mint-fg-dark,oklch(97.9%_0.021_166.113))]";
42
+ readonly ocean: "border border-[color:var(--zui-toast-root-ocean-border,var(--zui-color-ocean,#0284c7))] dark:border-[color:var(--zui-toast-root-ocean-border-dark,var(--zui-color-ocean-dark,#38bdf8))] bg-[var(--zui-toast-root-ocean-bg,oklch(29.3%_0.066_243.157))] dark:bg-[var(--zui-toast-root-ocean-bg-dark,oklch(29.3%_0.066_243.157))] backdrop-blur-xl text-[color:var(--zui-toast-root-ocean-fg,oklch(97.7%_0.013_236.62))] dark:text-[color:var(--zui-toast-root-ocean-fg-dark,oklch(97.7%_0.013_236.62))]";
43
+ readonly sapphire: "border border-[color:var(--zui-toast-root-sapphire-border,var(--zui-color-sapphire,#1d4ed8))] dark:border-[color:var(--zui-toast-root-sapphire-border-dark,var(--zui-color-sapphire-dark,#60a5fa))] bg-[var(--zui-toast-root-sapphire-bg,oklch(25.7%_0.09_281.288))] dark:bg-[var(--zui-toast-root-sapphire-bg-dark,oklch(25.7%_0.09_281.288))] backdrop-blur-xl text-[color:var(--zui-toast-root-sapphire-fg,oklch(96.2%_0.018_272.314))] dark:text-[color:var(--zui-toast-root-sapphire-fg-dark,oklch(96.2%_0.018_272.314))]";
44
+ readonly lavender: "border border-[color:var(--zui-toast-root-lavender-border,var(--zui-color-lavender,#8b5cf6))] dark:border-[color:var(--zui-toast-root-lavender-border-dark,var(--zui-color-lavender-dark,#a78bfa))] bg-[var(--zui-toast-root-lavender-bg,oklch(28.3%_0.141_291.089))] dark:bg-[var(--zui-toast-root-lavender-bg-dark,oklch(28.3%_0.141_291.089))] backdrop-blur-xl text-[color:var(--zui-toast-root-lavender-fg,oklch(96.9%_0.016_293.756))] dark:text-[color:var(--zui-toast-root-lavender-fg-dark,oklch(96.9%_0.016_293.756))]";
45
+ readonly ruby: "border border-[color:var(--zui-toast-root-ruby-border,var(--zui-color-ruby,#be123c))] dark:border-[color:var(--zui-toast-root-ruby-border-dark,var(--zui-color-ruby-dark,#fb7185))] bg-[var(--zui-toast-root-ruby-bg,oklch(27.1%_0.105_12.094))] dark:bg-[var(--zui-toast-root-ruby-bg-dark,oklch(27.1%_0.105_12.094))] backdrop-blur-xl text-[color:var(--zui-toast-root-ruby-fg,oklch(96.9%_0.015_12.422))] dark:text-[color:var(--zui-toast-root-ruby-fg-dark,oklch(96.9%_0.015_12.422))]";
46
+ readonly red: "border border-[color:var(--zui-toast-root-red-border,var(--zui-color-red,#dc2626))] dark:border-[color:var(--zui-toast-root-red-border-dark,var(--zui-color-red-dark,#ef4444))] bg-[var(--zui-toast-root-red-bg,oklch(25.8%_0.092_26.042))] dark:bg-[var(--zui-toast-root-red-bg-dark,oklch(25.8%_0.092_26.042))] backdrop-blur-xl text-[color:var(--zui-toast-root-red-fg,oklch(97.1%_0.013_17.38))] dark:text-[color:var(--zui-toast-root-red-fg-dark,oklch(97.1%_0.013_17.38))]";
47
+ readonly slate: "border border-[color:var(--zui-toast-root-slate-border,var(--zui-color-slate,#475569))] dark:border-[color:var(--zui-toast-root-slate-border-dark,var(--zui-color-slate-dark,#64748b))] bg-[var(--zui-toast-root-slate-bg,oklch(20%_0.03_255.652))] dark:bg-[var(--zui-toast-root-slate-bg-dark,oklch(20%_0.03_255.652))] backdrop-blur-xl text-[color:var(--zui-toast-root-slate-fg,oklch(98.5%_0.002_247.839))] dark:text-[color:var(--zui-toast-root-slate-fg-dark,oklch(98.5%_0.002_247.839))]";
48
+ readonly zinc: "border border-[color:var(--zui-toast-root-zinc-border,var(--zui-color-zinc,#52525b))] dark:border-[color:var(--zui-toast-root-zinc-border-dark,var(--zui-color-zinc-dark,#71717a))] bg-[var(--zui-toast-root-zinc-bg,oklch(20%_0.01_258))] dark:bg-[var(--zui-toast-root-zinc-bg-dark,oklch(20%_0.01_258))] backdrop-blur-xl text-[color:var(--zui-toast-root-zinc-fg,oklch(98.5%_0.002_247.839))] dark:text-[color:var(--zui-toast-root-zinc-fg-dark,oklch(98.5%_0.002_247.839))]";
49
+ readonly stone: "border border-[color:var(--zui-toast-root-stone-border,var(--zui-color-stone,#57534e))] dark:border-[color:var(--zui-toast-root-stone-border-dark,var(--zui-color-stone-dark,#78716c))] bg-[var(--zui-toast-root-stone-bg,oklch(20%_0.02_62))] dark:bg-[var(--zui-toast-root-stone-bg-dark,oklch(20%_0.02_62))] backdrop-blur-xl text-[color:var(--zui-toast-root-stone-fg,oklch(98.7%_0.022_95.277))] dark:text-[color:var(--zui-toast-root-stone-fg-dark,oklch(98.7%_0.022_95.277))]";
50
+ readonly royal: "border border-[color:var(--zui-toast-root-royal-border,var(--zui-color-royal,#4338ca))] dark:border-[color:var(--zui-toast-root-royal-border-dark,var(--zui-color-royal-dark,#818cf8))] bg-[var(--zui-toast-root-royal-bg,oklch(25.7%_0.09_281.288))] dark:bg-[var(--zui-toast-root-royal-bg-dark,oklch(25.7%_0.09_281.288))] backdrop-blur-xl text-[color:var(--zui-toast-root-royal-fg,oklch(96.2%_0.018_272.314))] dark:text-[color:var(--zui-toast-root-royal-fg-dark,oklch(96.2%_0.018_272.314))]";
51
+ readonly electric: "border border-[color:var(--zui-toast-root-electric-border,var(--zui-color-electric,#0ea5e9))] dark:border-[color:var(--zui-toast-root-electric-border-dark,var(--zui-color-electric-dark,#38bdf8))] bg-[var(--zui-toast-root-electric-bg,oklch(28.2%_0.091_267.935))] dark:bg-[var(--zui-toast-root-electric-bg-dark,oklch(28.2%_0.091_267.935))] backdrop-blur-xl text-[color:var(--zui-toast-root-electric-fg,oklch(97.7%_0.013_236.62))] dark:text-[color:var(--zui-toast-root-electric-fg-dark,oklch(97.7%_0.013_236.62))]";
52
+ readonly forest: "border border-[color:var(--zui-toast-root-forest-border,var(--zui-color-forest,#166534))] dark:border-[color:var(--zui-toast-root-forest-border-dark,var(--zui-color-forest-dark,#4ade80))] bg-[var(--zui-toast-root-forest-bg,oklch(26.6%_0.065_152.934))] dark:bg-[var(--zui-toast-root-forest-bg-dark,oklch(26.6%_0.065_152.934))] backdrop-blur-xl text-[color:var(--zui-toast-root-forest-fg,oklch(97.9%_0.021_166.113))] dark:text-[color:var(--zui-toast-root-forest-fg-dark,oklch(97.9%_0.021_166.113))]";
53
+ readonly sunset: "border border-[color:var(--zui-toast-root-sunset-border,var(--zui-color-sunset,#ea580c))] dark:border-[color:var(--zui-toast-root-sunset-border-dark,var(--zui-color-sunset-dark,#fb923c))] bg-[var(--zui-toast-root-sunset-bg,oklch(26.6%_0.079_36.259))] dark:bg-[var(--zui-toast-root-sunset-bg-dark,oklch(26.6%_0.079_36.259))] backdrop-blur-xl text-[color:var(--zui-toast-root-sunset-fg,oklch(98%_0.016_73.684))] dark:text-[color:var(--zui-toast-root-sunset-fg-dark,oklch(98%_0.016_73.684))]";
54
+ readonly magenta: "border border-[color:var(--zui-toast-root-magenta-border,var(--zui-color-magenta,#c026d3))] dark:border-[color:var(--zui-toast-root-magenta-border-dark,var(--zui-color-magenta-dark,#e879f9))] bg-[var(--zui-toast-root-magenta-bg,oklch(27%_0.13_316))] dark:bg-[var(--zui-toast-root-magenta-bg-dark,oklch(27%_0.13_316))] backdrop-blur-xl text-[color:var(--zui-toast-root-magenta-fg,oklch(97.1%_0.014_343.198))] dark:text-[color:var(--zui-toast-root-magenta-fg-dark,oklch(97.1%_0.014_343.198))]";
55
+ readonly crimson: "border border-[color:var(--zui-toast-root-crimson-border,var(--zui-color-crimson,#b91c1c))] dark:border-[color:var(--zui-toast-root-crimson-border-dark,var(--zui-color-crimson-dark,#f87171))] bg-[var(--zui-toast-root-crimson-bg,oklch(27.1%_0.105_12.094))] dark:bg-[var(--zui-toast-root-crimson-bg-dark,oklch(27.1%_0.105_12.094))] backdrop-blur-xl text-[color:var(--zui-toast-root-crimson-fg,oklch(96.9%_0.015_12.422))] dark:text-[color:var(--zui-toast-root-crimson-fg-dark,oklch(96.9%_0.015_12.422))]";
56
+ readonly aqua: "border border-[color:var(--zui-toast-root-aqua-border,var(--zui-color-aqua,#0f766e))] dark:border-[color:var(--zui-toast-root-aqua-border-dark,var(--zui-color-aqua-dark,#2dd4bf))] bg-[var(--zui-toast-root-aqua-bg,oklch(27.7%_0.046_192.524))] dark:bg-[var(--zui-toast-root-aqua-bg-dark,oklch(27.7%_0.046_192.524))] backdrop-blur-xl text-[color:var(--zui-toast-root-aqua-fg,oklch(98.4%_0.014_180.72))] dark:text-[color:var(--zui-toast-root-aqua-fg-dark,oklch(98.4%_0.014_180.72))]";
57
+ readonly plum: "border border-[color:var(--zui-toast-root-plum-border,var(--zui-color-plum,#7e22ce))] dark:border-[color:var(--zui-toast-root-plum-border-dark,var(--zui-color-plum-dark,#c084fc))] bg-[var(--zui-toast-root-plum-bg,oklch(29.1%_0.149_302.717))] dark:bg-[var(--zui-toast-root-plum-bg-dark,oklch(29.1%_0.149_302.717))] backdrop-blur-xl text-[color:var(--zui-toast-root-plum-fg,oklch(97.7%_0.014_308.299))] dark:text-[color:var(--zui-toast-root-plum-fg-dark,oklch(97.7%_0.014_308.299))]";
58
58
  };
59
59
  export declare const zuiToastRootSizes: {
60
60
  readonly sm: "p-3 text-xs";
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunk4TX7EQ5Y_js = require('../../chunk-4TX7EQ5Y.js');
5
- require('../../chunk-NEFDIJ5N.js');
4
+ var chunkR4D5V7NT_js = require('../../chunk-R4D5V7NT.js');
5
+ require('../../chunk-V2LI5QZD.js');
6
6
  require('../../chunk-FBUY6K6S.js');
7
7
  require('../../chunk-USLNTKVQ.js');
8
8
  require('../../chunk-D7ATXPVI.js');
@@ -12,12 +12,12 @@ require('../../chunk-3EJCQXGV.js');
12
12
  require('../../chunk-NNGL2AFQ.js');
13
13
  require('../../chunk-L7W4NRK6.js');
14
14
  require('../../chunk-KWBGLH7G.js');
15
- require('../../chunk-X7HK6RTF.js');
15
+ require('../../chunk-BIQZC26Q.js');
16
16
  require('../../chunk-Y7BU5RC4.js');
17
- require('../../chunk-SRJCGSNX.js');
17
+ require('../../chunk-6Q4EOLKN.js');
18
18
  require('../../chunk-UG3GF2BD.js');
19
19
  require('../../chunk-BZTAA3MK.js');
20
- require('../../chunk-XUW42JAP.js');
20
+ require('../../chunk-PZ25OHJE.js');
21
21
  require('../../chunk-HOOZYA4N.js');
22
22
  require('../../chunk-CJCOURVM.js');
23
23
  require('../../chunk-22FJROCI.js');
@@ -30,8 +30,8 @@ require('../../chunk-WGN2CBG6.js');
30
30
  require('../../chunk-SRSRY5K2.js');
31
31
  require('../../chunk-HNRCPZCK.js');
32
32
  require('../../chunk-J2SUGU3X.js');
33
- require('../../chunk-QNRJT7R4.js');
34
- require('../../chunk-AOVZY2A3.js');
33
+ require('../../chunk-J5NTJVKX.js');
34
+ require('../../chunk-UQQHB3OI.js');
35
35
  require('../../chunk-BBM4BKSN.js');
36
36
  require('../../chunk-Y5JAQEBF.js');
37
37
  require('../../chunk-7DVECOO7.js');
@@ -102,7 +102,7 @@ var ButtonAnimated = (props) => {
102
102
  target,
103
103
  rel: target === "_blank" ? "noopener noreferrer" : void 0,
104
104
  "data-slot": "button",
105
- className: chunkZS5756ZC_js.cn(chunk4TX7EQ5Y_js.buttonVariants({ appearance: appearance2, size: size2 }), className2),
105
+ className: chunkZS5756ZC_js.cn(chunkR4D5V7NT_js.buttonVariants({ appearance: appearance2, size: size2 }), className2),
106
106
  initial: false,
107
107
  ...motionProps2,
108
108
  ...rest2,
@@ -127,7 +127,7 @@ var ButtonAnimated = (props) => {
127
127
  ref,
128
128
  type,
129
129
  "data-slot": "button",
130
- className: chunkZS5756ZC_js.cn(chunk4TX7EQ5Y_js.buttonVariants({ appearance, size }), className),
130
+ className: chunkZS5756ZC_js.cn(chunkR4D5V7NT_js.buttonVariants({ appearance, size }), className),
131
131
  initial: false,
132
132
  ...motionProps,
133
133
  ...rest,
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { buttonVariants } from '../../chunk-JEZUMCJ6.mjs';
3
- import '../../chunk-TCEGQIGW.mjs';
2
+ import { buttonVariants } from '../../chunk-3N575QVC.mjs';
3
+ import '../../chunk-7N2UYQBJ.mjs';
4
4
  import '../../chunk-2NQKFH26.mjs';
5
5
  import '../../chunk-4ZBMDWWY.mjs';
6
6
  import '../../chunk-YH6MOKHR.mjs';
@@ -10,12 +10,12 @@ import '../../chunk-LRYKMXKI.mjs';
10
10
  import '../../chunk-COVTMJIQ.mjs';
11
11
  import '../../chunk-4WG3VNVL.mjs';
12
12
  import '../../chunk-YPTHTFVF.mjs';
13
- import '../../chunk-C6K2SWHC.mjs';
13
+ import '../../chunk-TVEK6PKH.mjs';
14
14
  import '../../chunk-FX5KR2GP.mjs';
15
- import '../../chunk-BVTYDGLM.mjs';
15
+ import '../../chunk-WIKNEHPJ.mjs';
16
16
  import '../../chunk-EE53BIXR.mjs';
17
17
  import '../../chunk-YXU2MJMT.mjs';
18
- import '../../chunk-N3FNN47Q.mjs';
18
+ import '../../chunk-3IE4IELX.mjs';
19
19
  import '../../chunk-BUEI4RMR.mjs';
20
20
  import '../../chunk-5AOVTY2X.mjs';
21
21
  import '../../chunk-523VQLCW.mjs';
@@ -28,8 +28,8 @@ import '../../chunk-JEDMUBYI.mjs';
28
28
  import '../../chunk-EJ3UMMCS.mjs';
29
29
  import '../../chunk-ENYZGL4R.mjs';
30
30
  import '../../chunk-2VPXQ2LA.mjs';
31
- import '../../chunk-K7PR3XXT.mjs';
32
- import '../../chunk-AZ26NZJV.mjs';
31
+ import '../../chunk-GUB3RSPR.mjs';
32
+ import '../../chunk-6ERBVFDA.mjs';
33
33
  import '../../chunk-DOA4ESKS.mjs';
34
34
  import '../../chunk-QX6PPTWL.mjs';
35
35
  import '../../chunk-U64ISRUX.mjs';
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkKCXTYTOY_js = require('../chunk-KCXTYTOY.js');
5
- var chunk4TX7EQ5Y_js = require('../chunk-4TX7EQ5Y.js');
6
- require('../chunk-NEFDIJ5N.js');
4
+ var chunkVHYUH5OH_js = require('../chunk-VHYUH5OH.js');
5
+ var chunkR4D5V7NT_js = require('../chunk-R4D5V7NT.js');
6
+ require('../chunk-V2LI5QZD.js');
7
7
  require('../chunk-FBUY6K6S.js');
8
8
  require('../chunk-USLNTKVQ.js');
9
9
  require('../chunk-D7ATXPVI.js');
@@ -13,12 +13,12 @@ require('../chunk-3EJCQXGV.js');
13
13
  require('../chunk-NNGL2AFQ.js');
14
14
  require('../chunk-L7W4NRK6.js');
15
15
  require('../chunk-KWBGLH7G.js');
16
- require('../chunk-X7HK6RTF.js');
16
+ require('../chunk-BIQZC26Q.js');
17
17
  require('../chunk-Y7BU5RC4.js');
18
- require('../chunk-SRJCGSNX.js');
18
+ require('../chunk-6Q4EOLKN.js');
19
19
  require('../chunk-UG3GF2BD.js');
20
20
  require('../chunk-BZTAA3MK.js');
21
- require('../chunk-XUW42JAP.js');
21
+ require('../chunk-PZ25OHJE.js');
22
22
  require('../chunk-HOOZYA4N.js');
23
23
  require('../chunk-CJCOURVM.js');
24
24
  require('../chunk-22FJROCI.js');
@@ -31,8 +31,8 @@ require('../chunk-WGN2CBG6.js');
31
31
  require('../chunk-SRSRY5K2.js');
32
32
  require('../chunk-HNRCPZCK.js');
33
33
  require('../chunk-J2SUGU3X.js');
34
- require('../chunk-QNRJT7R4.js');
35
- require('../chunk-AOVZY2A3.js');
34
+ require('../chunk-J5NTJVKX.js');
35
+ require('../chunk-UQQHB3OI.js');
36
36
  require('../chunk-BBM4BKSN.js');
37
37
  require('../chunk-Y5JAQEBF.js');
38
38
  require('../chunk-7DVECOO7.js');
@@ -51,11 +51,11 @@ require('../chunk-PZ5AY32C.js');
51
51
 
52
52
  Object.defineProperty(exports, "Button", {
53
53
  enumerable: true,
54
- get: function () { return chunkKCXTYTOY_js.Button; }
54
+ get: function () { return chunkVHYUH5OH_js.Button; }
55
55
  });
56
56
  Object.defineProperty(exports, "buttonVariants", {
57
57
  enumerable: true,
58
- get: function () { return chunk4TX7EQ5Y_js.buttonVariants; }
58
+ get: function () { return chunkR4D5V7NT_js.buttonVariants; }
59
59
  });
60
60
  //# sourceMappingURL=buttons.js.map
61
61
  //# sourceMappingURL=buttons.js.map
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- export { Button } from '../chunk-BJRS5RXR.mjs';
3
- export { buttonVariants } from '../chunk-JEZUMCJ6.mjs';
4
- import '../chunk-TCEGQIGW.mjs';
2
+ export { Button } from '../chunk-TYBQZO6Y.mjs';
3
+ export { buttonVariants } from '../chunk-3N575QVC.mjs';
4
+ import '../chunk-7N2UYQBJ.mjs';
5
5
  import '../chunk-2NQKFH26.mjs';
6
6
  import '../chunk-4ZBMDWWY.mjs';
7
7
  import '../chunk-YH6MOKHR.mjs';
@@ -11,12 +11,12 @@ import '../chunk-LRYKMXKI.mjs';
11
11
  import '../chunk-COVTMJIQ.mjs';
12
12
  import '../chunk-4WG3VNVL.mjs';
13
13
  import '../chunk-YPTHTFVF.mjs';
14
- import '../chunk-C6K2SWHC.mjs';
14
+ import '../chunk-TVEK6PKH.mjs';
15
15
  import '../chunk-FX5KR2GP.mjs';
16
- import '../chunk-BVTYDGLM.mjs';
16
+ import '../chunk-WIKNEHPJ.mjs';
17
17
  import '../chunk-EE53BIXR.mjs';
18
18
  import '../chunk-YXU2MJMT.mjs';
19
- import '../chunk-N3FNN47Q.mjs';
19
+ import '../chunk-3IE4IELX.mjs';
20
20
  import '../chunk-BUEI4RMR.mjs';
21
21
  import '../chunk-5AOVTY2X.mjs';
22
22
  import '../chunk-523VQLCW.mjs';
@@ -29,8 +29,8 @@ import '../chunk-JEDMUBYI.mjs';
29
29
  import '../chunk-EJ3UMMCS.mjs';
30
30
  import '../chunk-ENYZGL4R.mjs';
31
31
  import '../chunk-2VPXQ2LA.mjs';
32
- import '../chunk-K7PR3XXT.mjs';
33
- import '../chunk-AZ26NZJV.mjs';
32
+ import '../chunk-GUB3RSPR.mjs';
33
+ import '../chunk-6ERBVFDA.mjs';
34
34
  import '../chunk-DOA4ESKS.mjs';
35
35
  import '../chunk-QX6PPTWL.mjs';
36
36
  import '../chunk-U64ISRUX.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-base.d.ts","sourceRoot":"","sources":["../../../src/ui/combobox/combobox-base.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAEV,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EAEjB,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAQjB,QAAA,MAAM,eAAe,qDAAkD,CAAC;AAGxE,eAAO,MAAM,WAAW,2BAIvB,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,eAAO,MAAM,QAAQ;wEAOlB,aAAa;;CA+If,CAAC;AAIF,eAAO,MAAM,eAAe;oEAOzB,oBAAoB;;CA6BtB,CAAC;AAIF,eAAO,MAAM,aAAa;2CAIvB,kBAAkB;;CA6BpB,CAAC;AAIF,eAAO,MAAM,eAAe;mEAOzB,oBAAoB;;CA0BtB,CAAC;AAIF,eAAO,MAAM,cAAc;yDAKxB,mBAAmB;;CAqGrB,CAAC;AAIF,eAAO,MAAM,YAAY;wCAItB,iBAAiB;;CAgBnB,CAAC;AAIF,eAAO,MAAM,YAAY;qEAOtB,iBAAiB;;CAkEnB,CAAC;AAIF,eAAO,MAAM,aAAa;wCAIvB,kBAAkB;;CAcpB,CAAC"}
1
+ {"version":3,"file":"combobox-base.d.ts","sourceRoot":"","sources":["../../../src/ui/combobox/combobox-base.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAEV,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EAEjB,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAQjB,QAAA,MAAM,eAAe,qDAAkD,CAAC;AAGxE,eAAO,MAAM,WAAW,2BAIvB,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,eAAO,MAAM,QAAQ;wEAOlB,aAAa;;CA+If,CAAC;AAIF,eAAO,MAAM,eAAe;oEAOzB,oBAAoB;;CA6BtB,CAAC;AAIF,eAAO,MAAM,aAAa;2CAIvB,kBAAkB;;CA6BpB,CAAC;AAIF,eAAO,MAAM,eAAe;mEAOzB,oBAAoB;;CA0BtB,CAAC;AAIF,eAAO,MAAM,cAAc;yDAKxB,mBAAmB;;CAqGrB,CAAC;AAIF,eAAO,MAAM,YAAY;wCAItB,iBAAiB;;CAgBnB,CAAC;AAIF,eAAO,MAAM,YAAY;qEAOtB,iBAAiB;;CAoEnB,CAAC;AAIF,eAAO,MAAM,aAAa;wCAIvB,kBAAkB;;CAcpB,CAAC"}
@@ -3,14 +3,14 @@ export declare const comboboxTriggerVariants: (props?: ({
3
3
  size?: "md" | "sm" | "lg" | null | undefined;
4
4
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5
5
  export declare const comboboxItemVariants: (props?: ({
6
- appearance?: "outline" | "default" | "glass" | "sky" | "emerald" | "rose" | "indigo" | "cyan" | "blue" | "green" | "lavender" | "orange" | "pink" | "purple" | "red" | "teal" | "yellow" | "ghost" | null | undefined;
6
+ appearance?: "ruby" | "outline" | "default" | "glass" | "sky" | "emerald" | "rose" | "slate" | "indigo" | "cyan" | "aqua" | "blue" | "crimson" | "green" | "lavender" | "lime" | "magenta" | "orange" | "pink" | "plum" | "purple" | "red" | "teal" | "yellow" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | "ghost" | "mint" | "ocean" | "sapphire" | "zinc" | "stone" | "royal" | "electric" | "forest" | "sunset" | null | undefined;
7
7
  disabled?: boolean | null | undefined;
8
8
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
9
  export declare const comboboxListVariants: (props?: ({
10
- appearance?: "outline" | "default" | "glass" | "sky" | "emerald" | "rose" | "indigo" | "blue" | "orange" | "pink" | "purple" | "red" | "teal" | "yellow" | "ghost" | null | undefined;
10
+ appearance?: "ruby" | "outline" | "default" | "glass" | "sky" | "emerald" | "rose" | "slate" | "indigo" | "cyan" | "aqua" | "blue" | "crimson" | "green" | "lavender" | "lime" | "magenta" | "orange" | "pink" | "plum" | "purple" | "red" | "teal" | "yellow" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | "ghost" | "mint" | "ocean" | "sapphire" | "zinc" | "stone" | "royal" | "electric" | "forest" | "sunset" | null | undefined;
11
11
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
12
12
  export declare const comboboxContentVariants: (props?: ({
13
- appearance?: "outline" | "default" | "glass" | "sky" | "emerald" | "rose" | "indigo" | "blue" | "orange" | "pink" | "purple" | "red" | "teal" | "yellow" | "ghost" | null | undefined;
13
+ appearance?: "ruby" | "outline" | "default" | "glass" | "sky" | "emerald" | "rose" | "slate" | "indigo" | "cyan" | "aqua" | "blue" | "crimson" | "green" | "lavender" | "lime" | "magenta" | "orange" | "pink" | "plum" | "purple" | "red" | "teal" | "yellow" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | "ghost" | "mint" | "ocean" | "sapphire" | "zinc" | "stone" | "royal" | "electric" | "forest" | "sunset" | null | undefined;
14
14
  size?: "md" | "sm" | "lg" | null | undefined;
15
15
  spacing?: "none" | "default" | "md" | "sm" | "lg" | "xl" | null | undefined;
16
16
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
@@ -1,45 +1,45 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkQNRJT7R4_js = require('../chunk-QNRJT7R4.js');
4
+ var chunkJ5NTJVKX_js = require('../chunk-J5NTJVKX.js');
5
5
  var chunkZS5756ZC_js = require('../chunk-ZS5756ZC.js');
6
6
  require('../chunk-PZ5AY32C.js');
7
7
  var react = require('react');
8
8
  var classVarianceAuthority = require('class-variance-authority');
9
9
  var jsxRuntime = require('react/jsx-runtime');
10
10
 
11
- var comboboxTriggerVariants = classVarianceAuthority.cva(chunkQNRJT7R4_js.zuiComboboxTriggerBase, {
11
+ var comboboxTriggerVariants = classVarianceAuthority.cva(chunkJ5NTJVKX_js.zuiComboboxTriggerBase, {
12
12
  variants: {
13
- variant: chunkQNRJT7R4_js.zuiComboboxTriggerVariants,
14
- size: chunkQNRJT7R4_js.zuiComboboxSizes
13
+ variant: chunkJ5NTJVKX_js.zuiComboboxTriggerVariants,
14
+ size: chunkJ5NTJVKX_js.zuiComboboxSizes
15
15
  },
16
16
  defaultVariants: {
17
17
  variant: "default",
18
18
  size: "md"
19
19
  }
20
20
  });
21
- var comboboxItemVariants = classVarianceAuthority.cva(chunkQNRJT7R4_js.zuiComboboxItemBase, {
21
+ var comboboxItemVariants = classVarianceAuthority.cva(chunkJ5NTJVKX_js.zuiComboboxItemBase, {
22
22
  variants: {
23
- appearance: chunkQNRJT7R4_js.zuiComboboxItemAppearances,
24
- disabled: chunkQNRJT7R4_js.zuiComboboxDisabled
23
+ appearance: chunkJ5NTJVKX_js.zuiComboboxItemAppearances,
24
+ disabled: chunkJ5NTJVKX_js.zuiComboboxDisabled
25
25
  },
26
26
  defaultVariants: {
27
27
  appearance: "default"
28
28
  }
29
29
  });
30
- var comboboxListVariants = classVarianceAuthority.cva(chunkQNRJT7R4_js.zuiComboboxListBase, {
30
+ var comboboxListVariants = classVarianceAuthority.cva(chunkJ5NTJVKX_js.zuiComboboxListBase, {
31
31
  variants: {
32
- appearance: chunkQNRJT7R4_js.zuiComboboxListAppearances
32
+ appearance: chunkJ5NTJVKX_js.zuiComboboxListAppearances
33
33
  },
34
34
  defaultVariants: {
35
35
  appearance: "default"
36
36
  }
37
37
  });
38
- var comboboxContentVariants = classVarianceAuthority.cva(chunkQNRJT7R4_js.zuiComboboxContentBase, {
38
+ var comboboxContentVariants = classVarianceAuthority.cva(chunkJ5NTJVKX_js.zuiComboboxContentBase, {
39
39
  variants: {
40
- appearance: chunkQNRJT7R4_js.zuiComboboxContentAppearances,
41
- size: chunkQNRJT7R4_js.zuiComboboxSizes,
42
- spacing: chunkQNRJT7R4_js.zuiComboboxSpacing
40
+ appearance: chunkJ5NTJVKX_js.zuiComboboxContentAppearances,
41
+ size: chunkJ5NTJVKX_js.zuiComboboxSizes,
42
+ spacing: chunkJ5NTJVKX_js.zuiComboboxSpacing
43
43
  },
44
44
  defaultVariants: {
45
45
  appearance: "default",
@@ -229,7 +229,7 @@ var ComboboxValue = ({
229
229
  {
230
230
  "data-slot": "combobox-placeholder",
231
231
  className: chunkZS5756ZC_js.cn(
232
- "text-[color:var(--zui-combobox-value-placeholder-fg,oklch(55.1%_0.027_264.364))] dark:text-white",
232
+ "text-[color:var(--zui-combobox-value-placeholder-fg,oklch(55.1%_0.027_264.364))] dark:text-[color:var(--zui-combobox-value-placeholder-fg-dark,#ffffff)]",
233
233
  className
234
234
  ),
235
235
  ...props,
@@ -313,13 +313,13 @@ var ComboboxSearch = ({
313
313
  }
314
314
  }
315
315
  };
316
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "combobox-search-row", className: chunkQNRJT7R4_js.zuiComboboxSearchRowBase, children: [
316
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "combobox-search-row", className: chunkJ5NTJVKX_js.zuiComboboxSearchRowBase, children: [
317
317
  /* @__PURE__ */ jsxRuntime.jsxs(
318
318
  "svg",
319
319
  {
320
320
  "aria-hidden": true,
321
321
  viewBox: "0 0 24 24",
322
- className: chunkQNRJT7R4_js.zuiComboboxSearchIconBase,
322
+ className: chunkJ5NTJVKX_js.zuiComboboxSearchIconBase,
323
323
  fill: "none",
324
324
  stroke: "currentColor",
325
325
  strokeWidth: "2",
@@ -349,7 +349,7 @@ var ComboboxSearch = ({
349
349
  "aria-autocomplete": "list",
350
350
  "aria-activedescendant": activeValue ? `${listboxId}-option-${activeValue}` : void 0,
351
351
  "data-slot": "combobox-search",
352
- className: chunkZS5756ZC_js.cn(chunkQNRJT7R4_js.zuiComboboxSearchInputBase, className),
352
+ className: chunkZS5756ZC_js.cn(chunkJ5NTJVKX_js.zuiComboboxSearchInputBase, className),
353
353
  placeholder,
354
354
  value: query,
355
355
  onChange: (event) => setQuery(event.target.value),
@@ -405,7 +405,7 @@ var ComboboxItem = ({
405
405
  value,
406
406
  children,
407
407
  disabled,
408
- appearance = "default",
408
+ appearance,
409
409
  className,
410
410
  ...props
411
411
  }) => {
@@ -418,6 +418,8 @@ var ComboboxItem = ({
418
418
  setActiveValue,
419
419
  listboxId
420
420
  } = useCombobox();
421
+ const contentAppearance = react.useContext(ComboboxAppearanceContext);
422
+ const itemAppearance = appearance ?? contentAppearance;
421
423
  react.useEffect(() => {
422
424
  registerOption({ label: children, value, disabled });
423
425
  }, [children, disabled, registerOption, value]);
@@ -446,7 +448,7 @@ var ComboboxItem = ({
446
448
  }
447
449
  },
448
450
  className: chunkZS5756ZC_js.cn(
449
- comboboxItemVariants({ disabled, appearance }),
451
+ comboboxItemVariants({ disabled, appearance: itemAppearance }),
450
452
  "flex justify-between",
451
453
  isHighlighted && "bg-[var(--zui-combobox-item-active-bg,oklch(93%_0.006_264.531))] dark:bg-[var(--zui-combobox-item-active-bg-dark,oklch(22%_0.006_264.531))]",
452
454
  className
@@ -484,7 +486,7 @@ var ComboboxEmpty = ({
484
486
  "div",
485
487
  {
486
488
  "data-slot": "combobox-empty",
487
- className: chunkZS5756ZC_js.cn(chunkQNRJT7R4_js.zuiComboboxEmptyBase, className),
489
+ className: chunkZS5756ZC_js.cn(chunkJ5NTJVKX_js.zuiComboboxEmptyBase, className),
488
490
  ...props,
489
491
  children
490
492
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ui/combobox/variants.ts","../../src/ui/combobox/combobox-base.tsx"],"names":["cva","zuiComboboxTriggerBase","zuiComboboxTriggerVariants","zuiComboboxSizes","zuiComboboxItemBase","zuiComboboxItemAppearances","zuiComboboxDisabled","zuiComboboxListBase","zuiComboboxListAppearances","zuiComboboxContentBase","zuiComboboxContentAppearances","zuiComboboxSpacing","createContext","useContext","useId","useState","useRef","useEffect","useMemo","useCallback","jsx","cn","jsxs","zuiComboboxSearchRowBase","zuiComboboxSearchIconBase","zuiComboboxSearchInputBase","zuiComboboxEmptyBase"],"mappings":"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","file":"combobox.js","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nimport {\n zuiComboboxContentAppearances,\n zuiComboboxContentBase,\n zuiComboboxDisabled,\n zuiComboboxItemAppearances,\n zuiComboboxItemBase,\n zuiComboboxListAppearances,\n zuiComboboxListBase,\n zuiComboboxSizes,\n zuiComboboxSpacing,\n zuiComboboxTriggerBase,\n zuiComboboxTriggerVariants,\n} from \"../../design-system/combobox\";\n\nexport const comboboxTriggerVariants = cva(zuiComboboxTriggerBase, {\n variants: {\n variant: zuiComboboxTriggerVariants,\n size: zuiComboboxSizes,\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n});\n\nexport const comboboxItemVariants = cva(zuiComboboxItemBase, {\n variants: {\n appearance: zuiComboboxItemAppearances,\n disabled: zuiComboboxDisabled,\n },\n defaultVariants: {\n appearance: \"default\",\n },\n});\n\nexport const comboboxListVariants = cva(zuiComboboxListBase, {\n variants: {\n appearance: zuiComboboxListAppearances,\n },\n defaultVariants: {\n appearance: \"default\",\n },\n});\n\nexport const comboboxContentVariants = cva(zuiComboboxContentBase, {\n variants: {\n appearance: zuiComboboxContentAppearances,\n size: zuiComboboxSizes,\n spacing: zuiComboboxSpacing,\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n spacing: \"default\",\n },\n});\n","\"use client\";\n\nimport {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type { ReactNode, RefObject } from \"react\";\n\nimport {\n zuiComboboxEmptyBase,\n zuiComboboxSearchIconBase,\n zuiComboboxSearchInputBase,\n zuiComboboxSearchRowBase,\n} from \"../../design-system/combobox\";\nimport { cn } from \"../../lib/utils\";\nimport type {\n ComboboxAppearance,\n ComboboxContentProps,\n ComboboxContextType,\n ComboboxEmptyProps,\n ComboboxItemProps,\n ComboboxListProps,\n ComboboxOption,\n ComboboxProps,\n ComboboxSearchProps,\n ComboboxTriggerProps,\n ComboboxValueProps,\n} from \"./types\";\nimport {\n comboboxContentVariants,\n comboboxItemVariants,\n comboboxListVariants,\n comboboxTriggerVariants,\n} from \"./variants\";\n\nconst ComboboxContext = createContext<ComboboxContextType | null>(null);\nconst ComboboxAppearanceContext = createContext<ComboboxAppearance>(\"default\");\n\nexport const useCombobox = () => {\n const ctx = useContext(ComboboxContext);\n if (!ctx) throw new Error(\"Combobox components must be used inside Combobox\");\n return ctx;\n};\n\nexport { ComboboxContext };\n\nexport const Combobox = ({\n children,\n value,\n defaultValue = [],\n onChange,\n multiple = false,\n className,\n}: ComboboxProps) => {\n const baseId = useId();\n const triggerId = `${baseId}-trigger`;\n const listboxId = `${baseId}-listbox`;\n\n const [internal, setInternal] = useState<string[]>(defaultValue);\n const [open, setOpen] = useState(false);\n const [options, setOptions] = useState<ComboboxOption[]>([]);\n const [query, setQuery] = useState(\"\");\n const [activeValue, setActiveValue] = useState<string | null>(null);\n const rootRef = useRef<HTMLDivElement>(null);\n const searchRef = useRef<HTMLInputElement | null>(null);\n const triggerRef = useRef<HTMLButtonElement | null>(null);\n\n const selected = value ?? internal;\n\n useEffect(() => {\n if (!open) return;\n const handlePointerDown = (event: PointerEvent) => {\n const root = rootRef.current;\n if (!root) return;\n if (event.target instanceof Node && !root.contains(event.target)) {\n setOpen(false);\n }\n };\n document.addEventListener(\"pointerdown\", handlePointerDown);\n return () => document.removeEventListener(\"pointerdown\", handlePointerDown);\n }, [open]);\n\n useEffect(() => {\n if (!open) {\n setQuery(\"\");\n setActiveValue(null);\n }\n }, [open]);\n\n const visibleValues = useMemo(() => {\n const normalized = query.trim().toLowerCase();\n if (!normalized) return options.map((o) => o.value);\n return options\n .filter((o) => {\n if (o.disabled) return false;\n const labelText =\n typeof o.label === \"string\" ? o.label.toLowerCase() : \"\";\n return (\n o.value.toLowerCase().includes(normalized) ||\n labelText.includes(normalized)\n );\n })\n .map((o) => o.value);\n }, [query, options]);\n\n // If the current highlight gets filtered out while typing, clear it.\n // We do NOT auto-populate on open so ArrowDown always starts from the top.\n useEffect(() => {\n if (!open) return;\n if (!activeValue) return;\n if (visibleValues.includes(activeValue)) return;\n setActiveValue(null);\n }, [open, activeValue, visibleValues]);\n\n const setSelected = (vals: string[]) => {\n if (value !== undefined) {\n onChange?.(vals);\n } else {\n setInternal(vals);\n onChange?.(vals);\n }\n };\n\n const toggleValue = useCallback(\n (val: string) => {\n if (multiple) {\n const next = selected.includes(val)\n ? selected.filter((v) => v !== val)\n : [...selected, val];\n setSelected(next);\n } else {\n setSelected([val]);\n setOpen(false);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [multiple, selected],\n );\n\n const isSelected = useCallback(\n (val: string) => selected.includes(val),\n [selected],\n );\n\n const isVisible = useCallback(\n (val: string) => visibleValues.includes(val),\n [visibleValues],\n );\n\n const registerOption = useCallback((opt: ComboboxOption) => {\n setOptions((prev) => {\n const existing = prev.find((o) => o.value === opt.value);\n if (existing) {\n const labelChanged =\n (typeof opt.label === \"string\" || typeof opt.label === \"number\") &&\n existing.label !== opt.label;\n const disabledChanged = existing.disabled !== opt.disabled;\n if (labelChanged || disabledChanged) {\n return prev.map((o) => (o.value === opt.value ? opt : o));\n }\n return prev;\n }\n return [...prev, opt];\n });\n // No cleanup on unmount: options must persist across panel open/close so\n // ComboboxValue can still display the selected label when the panel is closed.\n }, []);\n\n return (\n <ComboboxContext.Provider\n value={{\n open,\n setOpen,\n query,\n setQuery,\n selected,\n toggleValue,\n isSelected,\n multiple,\n options,\n registerOption,\n visibleValues,\n isVisible,\n activeValue,\n setActiveValue,\n triggerId,\n listboxId,\n searchRef,\n triggerRef,\n }}\n >\n <div ref={rootRef} className={cn(\"relative w-full\", className)}>\n {children}\n </div>\n </ComboboxContext.Provider>\n );\n};\n\nCombobox.displayName = \"Combobox\";\n\nexport const ComboboxTrigger = ({\n className,\n variant,\n size,\n onClick,\n ref: refProp,\n ...props\n}: ComboboxTriggerProps) => {\n const { open, setOpen, triggerId, listboxId, triggerRef } = useCombobox();\n\n return (\n <button\n ref={(node) => {\n triggerRef.current = node;\n if (typeof refProp === \"function\") {\n refProp(node);\n } else if (refProp) {\n (refProp as RefObject<HTMLButtonElement | null>).current = node;\n }\n }}\n id={triggerId}\n type=\"button\"\n aria-expanded={open}\n aria-haspopup=\"listbox\"\n aria-controls={listboxId}\n data-slot=\"combobox-trigger\"\n className={cn(comboboxTriggerVariants({ variant, size }), className)}\n {...props}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) {\n setOpen(!open);\n }\n }}\n />\n );\n};\n\nComboboxTrigger.displayName = \"ComboboxTrigger\";\n\nexport const ComboboxValue = ({\n placeholder = \"Select...\",\n className,\n ...props\n}: ComboboxValueProps) => {\n const { selected, options } = useCombobox();\n const selectedOptions = options.filter((o) => selected.includes(o.value));\n\n if (selectedOptions.length === 0) {\n return (\n <span\n data-slot=\"combobox-placeholder\"\n className={cn(\n \"text-[color:var(--zui-combobox-value-placeholder-fg,oklch(55.1%_0.027_264.364))] dark:text-white\",\n className,\n )}\n {...props}\n >\n {placeholder}\n </span>\n );\n }\n\n return (\n <span data-slot=\"combobox-value\" className={cn(className)} {...props}>\n {selectedOptions.map((option, index) => (\n <span key={option.value}>\n {index > 0 ? \", \" : null}\n {option.label}\n </span>\n ))}\n </span>\n );\n};\n\nComboboxValue.displayName = \"ComboboxValue\";\n\nexport const ComboboxContent = ({\n children,\n className,\n appearance = \"default\",\n size = \"md\",\n spacing = \"default\",\n ...props\n}: ComboboxContentProps) => {\n const { open, triggerId, listboxId, searchRef } = useCombobox();\n\n useEffect(() => {\n if (open) {\n searchRef.current?.focus();\n }\n }, [open, searchRef]);\n\n if (!open) return null;\n\n return (\n <ComboboxAppearanceContext.Provider value={appearance}>\n <div\n aria-labelledby={triggerId}\n data-slot=\"combobox-content\"\n className={cn(\n comboboxContentVariants({ appearance, size, spacing }),\n className,\n )}\n {...props}\n >\n {children}\n </div>\n </ComboboxAppearanceContext.Provider>\n );\n};\n\nComboboxContent.displayName = \"ComboboxContent\";\n\nexport const ComboboxSearch = ({\n className,\n placeholder = \"Search...\",\n ref: refProp,\n ...props\n}: ComboboxSearchProps) => {\n const {\n query,\n setQuery,\n visibleValues,\n activeValue,\n setActiveValue,\n toggleValue,\n setOpen,\n searchRef,\n listboxId,\n options,\n triggerRef,\n } = useCombobox();\n\n const optionByValue = useMemo(\n () => new Map(options.map((option) => [option.value, option])),\n [options],\n );\n\n const moveActive = (direction: 1 | -1) => {\n if (visibleValues.length === 0) return;\n const currentIndex = activeValue ? visibleValues.indexOf(activeValue) : -1;\n let nextIndex = currentIndex;\n for (let i = 0; i < visibleValues.length; i++) {\n if (nextIndex === -1) {\n nextIndex = direction === 1 ? 0 : visibleValues.length - 1;\n } else {\n nextIndex =\n (nextIndex + direction + visibleValues.length) % visibleValues.length;\n }\n const candidate = optionByValue.get(visibleValues[nextIndex] ?? \"\");\n if (candidate && !candidate.disabled) {\n setActiveValue(visibleValues[nextIndex] ?? null);\n return;\n }\n }\n };\n\n return (\n <div data-slot=\"combobox-search-row\" className={zuiComboboxSearchRowBase}>\n <svg\n aria-hidden\n viewBox=\"0 0 24 24\"\n className={zuiComboboxSearchIconBase}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <path d=\"m21 21-4.3-4.3\" />\n </svg>\n <input\n ref={(node) => {\n searchRef.current = node;\n if (typeof refProp === \"function\") {\n refProp(node);\n } else if (refProp) {\n (refProp as RefObject<HTMLInputElement | null>).current = node;\n }\n }}\n type=\"text\"\n role=\"combobox\"\n aria-expanded\n aria-controls={listboxId}\n aria-autocomplete=\"list\"\n aria-activedescendant={\n activeValue ? `${listboxId}-option-${activeValue}` : undefined\n }\n data-slot=\"combobox-search\"\n className={cn(zuiComboboxSearchInputBase, className)}\n placeholder={placeholder}\n value={query}\n onChange={(event) => setQuery(event.target.value)}\n onKeyDown={(event) => {\n if (event.key === \"ArrowDown\") {\n event.preventDefault();\n moveActive(1);\n } else if (event.key === \"ArrowUp\") {\n event.preventDefault();\n moveActive(-1);\n } else if (event.key === \"Enter\") {\n event.preventDefault();\n if (activeValue && visibleValues.includes(activeValue)) {\n const option = optionByValue.get(activeValue);\n if (option && !option.disabled) {\n toggleValue(activeValue);\n }\n }\n } else if (event.key === \"Escape\") {\n event.preventDefault();\n setOpen(false);\n triggerRef.current?.focus();\n }\n }}\n {...props}\n />\n </div>\n );\n};\n\nComboboxSearch.displayName = \"ComboboxSearch\";\n\nexport const ComboboxList = ({\n children,\n className,\n ...props\n}: ComboboxListProps) => {\n const { listboxId, triggerId } = useCombobox();\n const appearance = useContext(ComboboxAppearanceContext);\n\n return (\n <div\n id={listboxId}\n role=\"listbox\"\n aria-labelledby={triggerId}\n data-slot=\"combobox-list\"\n className={cn(comboboxListVariants({ appearance }), className)}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nComboboxList.displayName = \"ComboboxList\";\n\nexport const ComboboxItem = ({\n value,\n children,\n disabled,\n appearance = \"default\",\n className,\n ...props\n}: ComboboxItemProps) => {\n const {\n toggleValue,\n isSelected,\n registerOption,\n isVisible,\n activeValue,\n setActiveValue,\n listboxId,\n } = useCombobox();\n\n useEffect(() => {\n registerOption({ label: children, value, disabled });\n }, [children, disabled, registerOption, value]);\n\n const visible = isVisible(value);\n const isActive = isSelected(value);\n const isHighlighted = activeValue === value;\n\n if (!visible) return null;\n\n return (\n <div\n id={`${listboxId}-option-${value}`}\n role=\"option\"\n aria-selected={isActive}\n aria-disabled={disabled ? true : undefined}\n tabIndex={-1}\n data-slot=\"combobox-item\"\n data-selected={isActive ? \"true\" : \"false\"}\n data-active={isHighlighted ? \"true\" : undefined}\n onMouseEnter={() => !disabled && setActiveValue(value)}\n onClick={() => !disabled && toggleValue(value)}\n onKeyDown={(e) => {\n if (disabled) return;\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n toggleValue(value);\n }\n }}\n className={cn(\n comboboxItemVariants({ disabled, appearance }),\n \"flex justify-between\",\n isHighlighted &&\n \"bg-[var(--zui-combobox-item-active-bg,oklch(93%_0.006_264.531))] dark:bg-[var(--zui-combobox-item-active-bg-dark,oklch(22%_0.006_264.531))]\",\n className,\n )}\n {...props}\n >\n {children}\n {isActive && (\n <svg\n aria-hidden\n viewBox=\"0 0 24 24\"\n className=\"size-4 shrink-0\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M20 6 9 17l-5-5\" />\n </svg>\n )}\n </div>\n );\n};\n\nComboboxItem.displayName = \"ComboboxItem\";\n\nexport const ComboboxEmpty = ({\n className,\n children,\n ...props\n}: ComboboxEmptyProps) => {\n const { visibleValues } = useCombobox();\n\n if (visibleValues.length > 0) return null;\n\n return (\n <div\n data-slot=\"combobox-empty\"\n className={cn(zuiComboboxEmptyBase, className)}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nComboboxEmpty.displayName = \"ComboboxEmpty\";\n"]}
1
+ {"version":3,"sources":["../../src/ui/combobox/variants.ts","../../src/ui/combobox/combobox-base.tsx"],"names":["cva","zuiComboboxTriggerBase","zuiComboboxTriggerVariants","zuiComboboxSizes","zuiComboboxItemBase","zuiComboboxItemAppearances","zuiComboboxDisabled","zuiComboboxListBase","zuiComboboxListAppearances","zuiComboboxContentBase","zuiComboboxContentAppearances","zuiComboboxSpacing","createContext","useContext","useId","useState","useRef","useEffect","useMemo","useCallback","jsx","cn","jsxs","zuiComboboxSearchRowBase","zuiComboboxSearchIconBase","zuiComboboxSearchInputBase","zuiComboboxEmptyBase"],"mappings":"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","file":"combobox.js","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nimport {\n zuiComboboxContentAppearances,\n zuiComboboxContentBase,\n zuiComboboxDisabled,\n zuiComboboxItemAppearances,\n zuiComboboxItemBase,\n zuiComboboxListAppearances,\n zuiComboboxListBase,\n zuiComboboxSizes,\n zuiComboboxSpacing,\n zuiComboboxTriggerBase,\n zuiComboboxTriggerVariants,\n} from \"../../design-system/combobox\";\n\nexport const comboboxTriggerVariants = cva(zuiComboboxTriggerBase, {\n variants: {\n variant: zuiComboboxTriggerVariants,\n size: zuiComboboxSizes,\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n});\n\nexport const comboboxItemVariants = cva(zuiComboboxItemBase, {\n variants: {\n appearance: zuiComboboxItemAppearances,\n disabled: zuiComboboxDisabled,\n },\n defaultVariants: {\n appearance: \"default\",\n },\n});\n\nexport const comboboxListVariants = cva(zuiComboboxListBase, {\n variants: {\n appearance: zuiComboboxListAppearances,\n },\n defaultVariants: {\n appearance: \"default\",\n },\n});\n\nexport const comboboxContentVariants = cva(zuiComboboxContentBase, {\n variants: {\n appearance: zuiComboboxContentAppearances,\n size: zuiComboboxSizes,\n spacing: zuiComboboxSpacing,\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n spacing: \"default\",\n },\n});\n","\"use client\";\n\nimport {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type { ReactNode, RefObject } from \"react\";\n\nimport {\n zuiComboboxEmptyBase,\n zuiComboboxSearchIconBase,\n zuiComboboxSearchInputBase,\n zuiComboboxSearchRowBase,\n} from \"../../design-system/combobox\";\nimport { cn } from \"../../lib/utils\";\nimport type {\n ComboboxAppearance,\n ComboboxContentProps,\n ComboboxContextType,\n ComboboxEmptyProps,\n ComboboxItemProps,\n ComboboxListProps,\n ComboboxOption,\n ComboboxProps,\n ComboboxSearchProps,\n ComboboxTriggerProps,\n ComboboxValueProps,\n} from \"./types\";\nimport {\n comboboxContentVariants,\n comboboxItemVariants,\n comboboxListVariants,\n comboboxTriggerVariants,\n} from \"./variants\";\n\nconst ComboboxContext = createContext<ComboboxContextType | null>(null);\nconst ComboboxAppearanceContext = createContext<ComboboxAppearance>(\"default\");\n\nexport const useCombobox = () => {\n const ctx = useContext(ComboboxContext);\n if (!ctx) throw new Error(\"Combobox components must be used inside Combobox\");\n return ctx;\n};\n\nexport { ComboboxContext };\n\nexport const Combobox = ({\n children,\n value,\n defaultValue = [],\n onChange,\n multiple = false,\n className,\n}: ComboboxProps) => {\n const baseId = useId();\n const triggerId = `${baseId}-trigger`;\n const listboxId = `${baseId}-listbox`;\n\n const [internal, setInternal] = useState<string[]>(defaultValue);\n const [open, setOpen] = useState(false);\n const [options, setOptions] = useState<ComboboxOption[]>([]);\n const [query, setQuery] = useState(\"\");\n const [activeValue, setActiveValue] = useState<string | null>(null);\n const rootRef = useRef<HTMLDivElement>(null);\n const searchRef = useRef<HTMLInputElement | null>(null);\n const triggerRef = useRef<HTMLButtonElement | null>(null);\n\n const selected = value ?? internal;\n\n useEffect(() => {\n if (!open) return;\n const handlePointerDown = (event: PointerEvent) => {\n const root = rootRef.current;\n if (!root) return;\n if (event.target instanceof Node && !root.contains(event.target)) {\n setOpen(false);\n }\n };\n document.addEventListener(\"pointerdown\", handlePointerDown);\n return () => document.removeEventListener(\"pointerdown\", handlePointerDown);\n }, [open]);\n\n useEffect(() => {\n if (!open) {\n setQuery(\"\");\n setActiveValue(null);\n }\n }, [open]);\n\n const visibleValues = useMemo(() => {\n const normalized = query.trim().toLowerCase();\n if (!normalized) return options.map((o) => o.value);\n return options\n .filter((o) => {\n if (o.disabled) return false;\n const labelText =\n typeof o.label === \"string\" ? o.label.toLowerCase() : \"\";\n return (\n o.value.toLowerCase().includes(normalized) ||\n labelText.includes(normalized)\n );\n })\n .map((o) => o.value);\n }, [query, options]);\n\n // If the current highlight gets filtered out while typing, clear it.\n // We do NOT auto-populate on open so ArrowDown always starts from the top.\n useEffect(() => {\n if (!open) return;\n if (!activeValue) return;\n if (visibleValues.includes(activeValue)) return;\n setActiveValue(null);\n }, [open, activeValue, visibleValues]);\n\n const setSelected = (vals: string[]) => {\n if (value !== undefined) {\n onChange?.(vals);\n } else {\n setInternal(vals);\n onChange?.(vals);\n }\n };\n\n const toggleValue = useCallback(\n (val: string) => {\n if (multiple) {\n const next = selected.includes(val)\n ? selected.filter((v) => v !== val)\n : [...selected, val];\n setSelected(next);\n } else {\n setSelected([val]);\n setOpen(false);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [multiple, selected],\n );\n\n const isSelected = useCallback(\n (val: string) => selected.includes(val),\n [selected],\n );\n\n const isVisible = useCallback(\n (val: string) => visibleValues.includes(val),\n [visibleValues],\n );\n\n const registerOption = useCallback((opt: ComboboxOption) => {\n setOptions((prev) => {\n const existing = prev.find((o) => o.value === opt.value);\n if (existing) {\n const labelChanged =\n (typeof opt.label === \"string\" || typeof opt.label === \"number\") &&\n existing.label !== opt.label;\n const disabledChanged = existing.disabled !== opt.disabled;\n if (labelChanged || disabledChanged) {\n return prev.map((o) => (o.value === opt.value ? opt : o));\n }\n return prev;\n }\n return [...prev, opt];\n });\n // No cleanup on unmount: options must persist across panel open/close so\n // ComboboxValue can still display the selected label when the panel is closed.\n }, []);\n\n return (\n <ComboboxContext.Provider\n value={{\n open,\n setOpen,\n query,\n setQuery,\n selected,\n toggleValue,\n isSelected,\n multiple,\n options,\n registerOption,\n visibleValues,\n isVisible,\n activeValue,\n setActiveValue,\n triggerId,\n listboxId,\n searchRef,\n triggerRef,\n }}\n >\n <div ref={rootRef} className={cn(\"relative w-full\", className)}>\n {children}\n </div>\n </ComboboxContext.Provider>\n );\n};\n\nCombobox.displayName = \"Combobox\";\n\nexport const ComboboxTrigger = ({\n className,\n variant,\n size,\n onClick,\n ref: refProp,\n ...props\n}: ComboboxTriggerProps) => {\n const { open, setOpen, triggerId, listboxId, triggerRef } = useCombobox();\n\n return (\n <button\n ref={(node) => {\n triggerRef.current = node;\n if (typeof refProp === \"function\") {\n refProp(node);\n } else if (refProp) {\n (refProp as RefObject<HTMLButtonElement | null>).current = node;\n }\n }}\n id={triggerId}\n type=\"button\"\n aria-expanded={open}\n aria-haspopup=\"listbox\"\n aria-controls={listboxId}\n data-slot=\"combobox-trigger\"\n className={cn(comboboxTriggerVariants({ variant, size }), className)}\n {...props}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) {\n setOpen(!open);\n }\n }}\n />\n );\n};\n\nComboboxTrigger.displayName = \"ComboboxTrigger\";\n\nexport const ComboboxValue = ({\n placeholder = \"Select...\",\n className,\n ...props\n}: ComboboxValueProps) => {\n const { selected, options } = useCombobox();\n const selectedOptions = options.filter((o) => selected.includes(o.value));\n\n if (selectedOptions.length === 0) {\n return (\n <span\n data-slot=\"combobox-placeholder\"\n className={cn(\n \"text-[color:var(--zui-combobox-value-placeholder-fg,oklch(55.1%_0.027_264.364))] dark:text-[color:var(--zui-combobox-value-placeholder-fg-dark,#ffffff)]\",\n className,\n )}\n {...props}\n >\n {placeholder}\n </span>\n );\n }\n\n return (\n <span data-slot=\"combobox-value\" className={cn(className)} {...props}>\n {selectedOptions.map((option, index) => (\n <span key={option.value}>\n {index > 0 ? \", \" : null}\n {option.label}\n </span>\n ))}\n </span>\n );\n};\n\nComboboxValue.displayName = \"ComboboxValue\";\n\nexport const ComboboxContent = ({\n children,\n className,\n appearance = \"default\",\n size = \"md\",\n spacing = \"default\",\n ...props\n}: ComboboxContentProps) => {\n const { open, triggerId, listboxId, searchRef } = useCombobox();\n\n useEffect(() => {\n if (open) {\n searchRef.current?.focus();\n }\n }, [open, searchRef]);\n\n if (!open) return null;\n\n return (\n <ComboboxAppearanceContext.Provider value={appearance}>\n <div\n aria-labelledby={triggerId}\n data-slot=\"combobox-content\"\n className={cn(\n comboboxContentVariants({ appearance, size, spacing }),\n className,\n )}\n {...props}\n >\n {children}\n </div>\n </ComboboxAppearanceContext.Provider>\n );\n};\n\nComboboxContent.displayName = \"ComboboxContent\";\n\nexport const ComboboxSearch = ({\n className,\n placeholder = \"Search...\",\n ref: refProp,\n ...props\n}: ComboboxSearchProps) => {\n const {\n query,\n setQuery,\n visibleValues,\n activeValue,\n setActiveValue,\n toggleValue,\n setOpen,\n searchRef,\n listboxId,\n options,\n triggerRef,\n } = useCombobox();\n\n const optionByValue = useMemo(\n () => new Map(options.map((option) => [option.value, option])),\n [options],\n );\n\n const moveActive = (direction: 1 | -1) => {\n if (visibleValues.length === 0) return;\n const currentIndex = activeValue ? visibleValues.indexOf(activeValue) : -1;\n let nextIndex = currentIndex;\n for (let i = 0; i < visibleValues.length; i++) {\n if (nextIndex === -1) {\n nextIndex = direction === 1 ? 0 : visibleValues.length - 1;\n } else {\n nextIndex =\n (nextIndex + direction + visibleValues.length) % visibleValues.length;\n }\n const candidate = optionByValue.get(visibleValues[nextIndex] ?? \"\");\n if (candidate && !candidate.disabled) {\n setActiveValue(visibleValues[nextIndex] ?? null);\n return;\n }\n }\n };\n\n return (\n <div data-slot=\"combobox-search-row\" className={zuiComboboxSearchRowBase}>\n <svg\n aria-hidden\n viewBox=\"0 0 24 24\"\n className={zuiComboboxSearchIconBase}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <path d=\"m21 21-4.3-4.3\" />\n </svg>\n <input\n ref={(node) => {\n searchRef.current = node;\n if (typeof refProp === \"function\") {\n refProp(node);\n } else if (refProp) {\n (refProp as RefObject<HTMLInputElement | null>).current = node;\n }\n }}\n type=\"text\"\n role=\"combobox\"\n aria-expanded\n aria-controls={listboxId}\n aria-autocomplete=\"list\"\n aria-activedescendant={\n activeValue ? `${listboxId}-option-${activeValue}` : undefined\n }\n data-slot=\"combobox-search\"\n className={cn(zuiComboboxSearchInputBase, className)}\n placeholder={placeholder}\n value={query}\n onChange={(event) => setQuery(event.target.value)}\n onKeyDown={(event) => {\n if (event.key === \"ArrowDown\") {\n event.preventDefault();\n moveActive(1);\n } else if (event.key === \"ArrowUp\") {\n event.preventDefault();\n moveActive(-1);\n } else if (event.key === \"Enter\") {\n event.preventDefault();\n if (activeValue && visibleValues.includes(activeValue)) {\n const option = optionByValue.get(activeValue);\n if (option && !option.disabled) {\n toggleValue(activeValue);\n }\n }\n } else if (event.key === \"Escape\") {\n event.preventDefault();\n setOpen(false);\n triggerRef.current?.focus();\n }\n }}\n {...props}\n />\n </div>\n );\n};\n\nComboboxSearch.displayName = \"ComboboxSearch\";\n\nexport const ComboboxList = ({\n children,\n className,\n ...props\n}: ComboboxListProps) => {\n const { listboxId, triggerId } = useCombobox();\n const appearance = useContext(ComboboxAppearanceContext);\n\n return (\n <div\n id={listboxId}\n role=\"listbox\"\n aria-labelledby={triggerId}\n data-slot=\"combobox-list\"\n className={cn(comboboxListVariants({ appearance }), className)}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nComboboxList.displayName = \"ComboboxList\";\n\nexport const ComboboxItem = ({\n value,\n children,\n disabled,\n appearance,\n className,\n ...props\n}: ComboboxItemProps) => {\n const {\n toggleValue,\n isSelected,\n registerOption,\n isVisible,\n activeValue,\n setActiveValue,\n listboxId,\n } = useCombobox();\n const contentAppearance = useContext(ComboboxAppearanceContext);\n const itemAppearance = appearance ?? contentAppearance;\n\n useEffect(() => {\n registerOption({ label: children, value, disabled });\n }, [children, disabled, registerOption, value]);\n\n const visible = isVisible(value);\n const isActive = isSelected(value);\n const isHighlighted = activeValue === value;\n\n if (!visible) return null;\n\n return (\n <div\n id={`${listboxId}-option-${value}`}\n role=\"option\"\n aria-selected={isActive}\n aria-disabled={disabled ? true : undefined}\n tabIndex={-1}\n data-slot=\"combobox-item\"\n data-selected={isActive ? \"true\" : \"false\"}\n data-active={isHighlighted ? \"true\" : undefined}\n onMouseEnter={() => !disabled && setActiveValue(value)}\n onClick={() => !disabled && toggleValue(value)}\n onKeyDown={(e) => {\n if (disabled) return;\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n toggleValue(value);\n }\n }}\n className={cn(\n comboboxItemVariants({ disabled, appearance: itemAppearance }),\n \"flex justify-between\",\n isHighlighted &&\n \"bg-[var(--zui-combobox-item-active-bg,oklch(93%_0.006_264.531))] dark:bg-[var(--zui-combobox-item-active-bg-dark,oklch(22%_0.006_264.531))]\",\n className,\n )}\n {...props}\n >\n {children}\n {isActive && (\n <svg\n aria-hidden\n viewBox=\"0 0 24 24\"\n className=\"size-4 shrink-0\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M20 6 9 17l-5-5\" />\n </svg>\n )}\n </div>\n );\n};\n\nComboboxItem.displayName = \"ComboboxItem\";\n\nexport const ComboboxEmpty = ({\n className,\n children,\n ...props\n}: ComboboxEmptyProps) => {\n const { visibleValues } = useCombobox();\n\n if (visibleValues.length > 0) return null;\n\n return (\n <div\n data-slot=\"combobox-empty\"\n className={cn(zuiComboboxEmptyBase, className)}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nComboboxEmpty.displayName = \"ComboboxEmpty\";\n"]}