@zentauri-ui/zentauri-components 2.1.2 → 2.1.4

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 (115) hide show
  1. package/README.md +17 -16
  2. package/cli/index.mjs +4 -10
  3. package/dist/{chunk-F6W3GJJ2.mjs → chunk-2UK6QZA6.mjs} +3 -3
  4. package/dist/{chunk-F6W3GJJ2.mjs.map → chunk-2UK6QZA6.mjs.map} +1 -1
  5. package/dist/{chunk-ZMFRJHO6.mjs → chunk-3BL5PO3K.mjs} +3 -3
  6. package/dist/{chunk-ZMFRJHO6.mjs.map → chunk-3BL5PO3K.mjs.map} +1 -1
  7. package/dist/{chunk-NNGL2AFQ.js → chunk-6KVTKYTB.js} +35 -35
  8. package/dist/{chunk-NNGL2AFQ.js.map → chunk-6KVTKYTB.js.map} +1 -1
  9. package/dist/{chunk-TT33BIIT.js → chunk-BJDT7P2I.js} +35 -35
  10. package/dist/{chunk-TT33BIIT.js.map → chunk-BJDT7P2I.js.map} +1 -1
  11. package/dist/{chunk-7N2UYQBJ.mjs → chunk-BL6UVCV7.mjs} +6 -6
  12. package/dist/{chunk-7N2UYQBJ.mjs.map → chunk-BL6UVCV7.mjs.map} +1 -1
  13. package/dist/{chunk-HVMYPW3Q.mjs → chunk-CZBM6ISF.mjs} +19 -6
  14. package/dist/chunk-CZBM6ISF.mjs.map +1 -0
  15. package/dist/chunk-D2GISTDL.js +19 -0
  16. package/dist/{chunk-R4D5V7NT.js.map → chunk-D2GISTDL.js.map} +1 -1
  17. package/dist/{chunk-5TVBPPS6.js → chunk-DKBMNS6F.js} +11 -11
  18. package/dist/{chunk-5TVBPPS6.js.map → chunk-DKBMNS6F.js.map} +1 -1
  19. package/dist/{chunk-4LCH4OJ5.js → chunk-E7P4O3ET.js} +10 -10
  20. package/dist/{chunk-4LCH4OJ5.js.map → chunk-E7P4O3ET.js.map} +1 -1
  21. package/dist/{chunk-6Q4EOLKN.js → chunk-NDF3HORF.js} +3 -3
  22. package/dist/{chunk-WIKNEHPJ.mjs.map → chunk-NDF3HORF.js.map} +1 -1
  23. package/dist/{chunk-42ZSQNDF.mjs → chunk-NIVJFG5Z.mjs} +35 -35
  24. package/dist/{chunk-42ZSQNDF.mjs.map → chunk-NIVJFG5Z.mjs.map} +1 -1
  25. package/dist/{chunk-V2LI5QZD.js → chunk-NZSZE36T.js} +34 -34
  26. package/dist/{chunk-V2LI5QZD.js.map → chunk-NZSZE36T.js.map} +1 -1
  27. package/dist/{chunk-BIQZC26Q.js → chunk-OH5VOGNW.js} +4 -4
  28. package/dist/chunk-OH5VOGNW.js.map +1 -0
  29. package/dist/{chunk-3N575QVC.mjs → chunk-PAG5CTLN.mjs} +3 -3
  30. package/dist/{chunk-3N575QVC.mjs.map → chunk-PAG5CTLN.mjs.map} +1 -1
  31. package/dist/{chunk-VHYUH5OH.js → chunk-RENXBUZY.js} +6 -6
  32. package/dist/{chunk-VHYUH5OH.js.map → chunk-RENXBUZY.js.map} +1 -1
  33. package/dist/{chunk-APCN6NUH.js → chunk-SYEEHZXL.js} +23 -9
  34. package/dist/chunk-SYEEHZXL.js.map +1 -0
  35. package/dist/{chunk-EDJ6TVL3.js → chunk-UEE2ASYK.js} +12 -12
  36. package/dist/{chunk-EDJ6TVL3.js.map → chunk-UEE2ASYK.js.map} +1 -1
  37. package/dist/{chunk-TYBQZO6Y.mjs → chunk-WBZKMSXW.mjs} +3 -3
  38. package/dist/{chunk-TYBQZO6Y.mjs.map → chunk-WBZKMSXW.mjs.map} +1 -1
  39. package/dist/{chunk-COVTMJIQ.mjs → chunk-XFJIX2YP.mjs} +35 -35
  40. package/dist/{chunk-COVTMJIQ.mjs.map → chunk-XFJIX2YP.mjs.map} +1 -1
  41. package/dist/{chunk-TVEK6PKH.mjs → chunk-XY3TKIIH.mjs} +4 -4
  42. package/dist/chunk-XY3TKIIH.mjs.map +1 -0
  43. package/dist/{chunk-WIKNEHPJ.mjs → chunk-ZBAKTM2R.mjs} +3 -3
  44. package/dist/chunk-ZBAKTM2R.mjs.map +1 -0
  45. package/dist/{chunk-GOH2THVW.mjs → chunk-ZNI3AB3W.mjs} +3 -3
  46. package/dist/{chunk-GOH2THVW.mjs.map → chunk-ZNI3AB3W.mjs.map} +1 -1
  47. package/dist/design-system/alert.d.ts +33 -33
  48. package/dist/design-system/facade.js +6 -6
  49. package/dist/design-system/facade.mjs +5 -5
  50. package/dist/design-system/skeleton.d.ts +33 -33
  51. package/dist/design-system/tabs.d.ts +2 -2
  52. package/dist/design-system/toast.d.ts +1 -1
  53. package/dist/ui/alert/animated.js +3 -3
  54. package/dist/ui/alert/animated.mjs +2 -2
  55. package/dist/ui/alert.js +11 -11
  56. package/dist/ui/alert.mjs +3 -3
  57. package/dist/ui/buttons/animated.js +8 -8
  58. package/dist/ui/buttons/animated.mjs +6 -6
  59. package/dist/ui/buttons.js +9 -9
  60. package/dist/ui/buttons.mjs +7 -7
  61. package/dist/ui/context-menu/context-menu.d.ts.map +1 -1
  62. package/dist/ui/context-menu/types.d.ts +3 -1
  63. package/dist/ui/context-menu/types.d.ts.map +1 -1
  64. package/dist/ui/context-menu.js +17 -0
  65. package/dist/ui/context-menu.js.map +1 -1
  66. package/dist/ui/context-menu.mjs +17 -0
  67. package/dist/ui/context-menu.mjs.map +1 -1
  68. package/dist/ui/dropdown/dropdown.d.ts +1 -1
  69. package/dist/ui/dropdown/dropdown.d.ts.map +1 -1
  70. package/dist/ui/dropdown.js +43 -2
  71. package/dist/ui/dropdown.js.map +1 -1
  72. package/dist/ui/dropdown.mjs +44 -3
  73. package/dist/ui/dropdown.mjs.map +1 -1
  74. package/dist/ui/dynamic-stepper.js +18 -18
  75. package/dist/ui/dynamic-stepper.mjs +7 -7
  76. package/dist/ui/pagination.js +14 -14
  77. package/dist/ui/pagination.mjs +6 -6
  78. package/dist/ui/skeleton/animated.js +9 -9
  79. package/dist/ui/skeleton/animated.mjs +2 -2
  80. package/dist/ui/skeleton.js +10 -10
  81. package/dist/ui/skeleton.mjs +2 -2
  82. package/dist/ui/tabs/animated.js +3 -3
  83. package/dist/ui/tabs/animated.mjs +2 -2
  84. package/dist/ui/tabs.js +10 -10
  85. package/dist/ui/tabs.mjs +2 -2
  86. package/dist/ui/toast/animated/toast-animated.d.ts.map +1 -1
  87. package/dist/ui/toast/animated.js +9 -9
  88. package/dist/ui/toast/animated.js.map +1 -1
  89. package/dist/ui/toast/animated.mjs +3 -3
  90. package/dist/ui/toast/animated.mjs.map +1 -1
  91. package/dist/ui/toast/toast-base.d.ts.map +1 -1
  92. package/dist/ui/toast/use-toast-portal.d.ts +11 -0
  93. package/dist/ui/toast/use-toast-portal.d.ts.map +1 -0
  94. package/dist/ui/toast.js +13 -13
  95. package/dist/ui/toast.mjs +2 -2
  96. package/package.json +8 -2
  97. package/src/design-system/alert.ts +33 -33
  98. package/src/design-system/skeleton.ts +33 -33
  99. package/src/design-system/tabs.ts +2 -2
  100. package/src/design-system/toast.ts +1 -1
  101. package/src/hooks/useTableFilter/useTableFilter.test.ts +12 -2
  102. package/src/ui/context-menu/context-menu.test.tsx +38 -0
  103. package/src/ui/context-menu/context-menu.tsx +17 -1
  104. package/src/ui/context-menu/types.ts +3 -0
  105. package/src/ui/dropdown/dropdown.tsx +59 -2
  106. package/src/ui/skeleton/skeleton.test.tsx +9 -0
  107. package/src/ui/toast/animated/toast-animated.tsx +3 -1
  108. package/src/ui/toast/toast-base.tsx +3 -1
  109. package/src/ui/toast/use-toast-portal.ts +29 -0
  110. package/dist/chunk-6Q4EOLKN.js.map +0 -1
  111. package/dist/chunk-APCN6NUH.js.map +0 -1
  112. package/dist/chunk-BIQZC26Q.js.map +0 -1
  113. package/dist/chunk-HVMYPW3Q.mjs.map +0 -1
  114. package/dist/chunk-R4D5V7NT.js +0 -19
  115. package/dist/chunk-TVEK6PKH.mjs.map +0 -1
@@ -5,60 +5,60 @@ export const zuiAlertAppearances = {
5
5
  default:
6
6
  "border-[color:var(--zui-alert-default-border,var(--zui-border,#0000001a))] dark:border-[color:var(--zui-alert-default-border-dark,var(--zui-border-dark,#ffffff1a))] bg-[var(--zui-alert-default-bg,var(--zui-brand,#0000000d))] dark:bg-[var(--zui-alert-default-bg-dark,var(--zui-brand-dark,#ffffff0d))] text-[color:var(--zui-alert-default-fg,var(--zui-brand-fg,oklch(20.8%_0.042_265.755)))] dark:text-[color:var(--zui-alert-default-fg-dark,var(--zui-brand-fg-dark,oklch(98.4%_0.003_247.858)))]",
7
7
  success:
8
- "border-[color:var(--zui-alert-success-border,color-mix(in oklch, var(--zui-status-success,oklch(69.6%_0.17_162.48_/_0.4)) 40%, transparent))] dark:border-[color:var(--zui-alert-success-border-dark,color-mix(in oklch, var(--zui-status-success-dark,oklch(69.6%_0.17_162.48_/_0.4)) 40%, transparent))] bg-[var(--zui-alert-success-bg,color-mix(in oklch, var(--zui-status-success,oklch(69.6%_0.17_162.48_/_0.1)) 10%, transparent))] dark:bg-[var(--zui-alert-success-bg-dark,color-mix(in oklch, var(--zui-status-success-dark,oklch(69.6%_0.17_162.48_/_0.1)) 10%, transparent))] text-[color:var(--zui-alert-success-fg,var(--zui-status-success,oklch(26.2%_0.051_172.552)))] dark:text-[color:var(--zui-alert-success-fg-dark,var(--zui-status-success-dark,oklch(97.9%_0.021_166.113)))]",
8
+ "border-[color:var(--zui-alert-success-border,color-mix(in_oklch,_var(--zui-status-success,oklch(69.6%_0.17_162.48_/_0.4))_40%,_transparent))] dark:border-[color:var(--zui-alert-success-border-dark,color-mix(in_oklch,_var(--zui-status-success-dark,oklch(69.6%_0.17_162.48_/_0.4))_40%,_transparent))] bg-[var(--zui-alert-success-bg,color-mix(in_oklch,_var(--zui-status-success,oklch(69.6%_0.17_162.48_/_0.1))_10%,_transparent))] dark:bg-[var(--zui-alert-success-bg-dark,color-mix(in_oklch,_var(--zui-status-success-dark,oklch(69.6%_0.17_162.48_/_0.1))_10%,_transparent))] text-[color:var(--zui-alert-success-fg,var(--zui-status-success,oklch(26.2%_0.051_172.552)))] dark:text-[color:var(--zui-alert-success-fg-dark,var(--zui-status-success-dark,oklch(97.9%_0.021_166.113)))]",
9
9
  warning:
10
- "border-[color:var(--zui-alert-warning-border,color-mix(in oklch, var(--zui-status-warning,oklch(76.9%_0.188_70.08_/_0.4)) 40%, transparent))] dark:border-[color:var(--zui-alert-warning-border-dark,color-mix(in oklch, var(--zui-status-warning-dark,oklch(76.9%_0.188_70.08_/_0.4)) 40%, transparent))] bg-[var(--zui-alert-warning-bg,color-mix(in oklch, var(--zui-status-warning,oklch(76.9%_0.188_70.08_/_0.1)) 10%, transparent))] dark:bg-[var(--zui-alert-warning-bg-dark,color-mix(in oklch, var(--zui-status-warning-dark,oklch(76.9%_0.188_70.08_/_0.1)) 10%, transparent))] text-[color:var(--zui-alert-warning-fg,var(--zui-status-warning,oklch(27.9%_0.077_45.635)))] dark:text-[color:var(--zui-alert-warning-fg-dark,var(--zui-status-warning-dark,oklch(98.7%_0.022_95.277)))]",
10
+ "border-[color:var(--zui-alert-warning-border,color-mix(in_oklch,_var(--zui-status-warning,oklch(76.9%_0.188_70.08_/_0.4))_40%,_transparent))] dark:border-[color:var(--zui-alert-warning-border-dark,color-mix(in_oklch,_var(--zui-status-warning-dark,oklch(76.9%_0.188_70.08_/_0.4))_40%,_transparent))] bg-[var(--zui-alert-warning-bg,color-mix(in_oklch,_var(--zui-status-warning,oklch(76.9%_0.188_70.08_/_0.1))_10%,_transparent))] dark:bg-[var(--zui-alert-warning-bg-dark,color-mix(in_oklch,_var(--zui-status-warning-dark,oklch(76.9%_0.188_70.08_/_0.1))_10%,_transparent))] text-[color:var(--zui-alert-warning-fg,var(--zui-status-warning,oklch(27.9%_0.077_45.635)))] dark:text-[color:var(--zui-alert-warning-fg-dark,var(--zui-status-warning-dark,oklch(98.7%_0.022_95.277)))]",
11
11
  error:
12
- "border-[color:var(--zui-alert-error-border,color-mix(in oklch, var(--zui-status-error,oklch(64.5%_0.246_16.439_/_0.5)) 40%, transparent))] dark:border-[color:var(--zui-alert-error-border-dark,color-mix(in oklch, var(--zui-status-error-dark,oklch(64.5%_0.246_16.439_/_0.5)) 40%, transparent))] bg-[var(--zui-alert-error-bg,color-mix(in oklch, var(--zui-status-error,oklch(64.5%_0.246_16.439_/_0.1)) 10%, transparent))] dark:bg-[var(--zui-alert-error-bg-dark,color-mix(in oklch, var(--zui-status-error-dark,oklch(64.5%_0.246_16.439_/_0.1)) 10%, transparent))] text-[color:var(--zui-alert-error-fg,var(--zui-status-error,oklch(27.1%_0.105_12.094)))] dark:text-[color:var(--zui-alert-error-fg-dark,var(--zui-status-error-dark,oklch(96.9%_0.015_12.422)))]",
13
- info: "border-[color:var(--zui-alert-info-border,color-mix(in oklch, var(--zui-status-info,oklch(68.5%_0.169_237.323_/_0.4)) 40%, transparent))] dark:border-[color:var(--zui-alert-info-border-dark,color-mix(in oklch, var(--zui-status-info-dark,oklch(68.5%_0.169_237.323_/_0.4)) 40%, transparent))] bg-[var(--zui-alert-info-bg,color-mix(in oklch, var(--zui-status-info,oklch(68.5%_0.169_237.323_/_0.1)) 10%, transparent))] dark:bg-[var(--zui-alert-info-bg-dark,color-mix(in oklch, var(--zui-status-info-dark,oklch(68.5%_0.169_237.323_/_0.1)) 10%, transparent))] text-[color:var(--zui-alert-info-fg,var(--zui-status-info,oklch(29.3%_0.066_243.157)))] dark:text-[color:var(--zui-alert-info-fg-dark,var(--zui-status-info-dark,oklch(97.7%_0.013_236.62)))]",
12
+ "border-[color:var(--zui-alert-error-border,color-mix(in_oklch,_var(--zui-status-error,oklch(64.5%_0.246_16.439_/_0.5))_40%,_transparent))] dark:border-[color:var(--zui-alert-error-border-dark,color-mix(in_oklch,_var(--zui-status-error-dark,oklch(64.5%_0.246_16.439_/_0.5))_40%,_transparent))] bg-[var(--zui-alert-error-bg,color-mix(in_oklch,_var(--zui-status-error,oklch(64.5%_0.246_16.439_/_0.1))_10%,_transparent))] dark:bg-[var(--zui-alert-error-bg-dark,color-mix(in_oklch,_var(--zui-status-error-dark,oklch(64.5%_0.246_16.439_/_0.1))_10%,_transparent))] text-[color:var(--zui-alert-error-fg,var(--zui-status-error,oklch(27.1%_0.105_12.094)))] dark:text-[color:var(--zui-alert-error-fg-dark,var(--zui-status-error-dark,oklch(96.9%_0.015_12.422)))]",
13
+ info: "border-[color:var(--zui-alert-info-border,color-mix(in_oklch,_var(--zui-status-info,oklch(68.5%_0.169_237.323_/_0.4))_40%,_transparent))] dark:border-[color:var(--zui-alert-info-border-dark,color-mix(in_oklch,_var(--zui-status-info-dark,oklch(68.5%_0.169_237.323_/_0.4))_40%,_transparent))] bg-[var(--zui-alert-info-bg,color-mix(in_oklch,_var(--zui-status-info,oklch(68.5%_0.169_237.323_/_0.1))_10%,_transparent))] dark:bg-[var(--zui-alert-info-bg-dark,color-mix(in_oklch,_var(--zui-status-info-dark,oklch(68.5%_0.169_237.323_/_0.1))_10%,_transparent))] text-[color:var(--zui-alert-info-fg,var(--zui-status-info,oklch(29.3%_0.066_243.157)))] dark:text-[color:var(--zui-alert-info-fg-dark,var(--zui-status-info-dark,oklch(97.7%_0.013_236.62)))]",
14
14
  ghost:
15
15
  "border-[color:var(--zui-alert-ghost-border,var(--zui-border,transparent))] dark:border-[color:var(--zui-alert-ghost-border-dark,var(--zui-border-dark,transparent))] bg-[var(--zui-alert-ghost-bg,var(--zui-surface-soft,transparent))] dark:bg-[var(--zui-alert-ghost-bg-dark,var(--zui-surface-soft-dark,transparent))] text-[color:var(--zui-alert-ghost-fg,var(--zui-fg-muted,oklch(37.2%_0.044_257.287)))] dark:text-[color:var(--zui-alert-ghost-fg-dark,var(--zui-fg-muted-dark,oklch(92.9%_0.013_255.508)))]",
16
- blue: "border-[color:var(--zui-alert-blue-border,var(--zui-color-blue,#2563eb))] dark:border-[color:var(--zui-alert-blue-border-dark,var(--zui-color-blue-dark,#3b82f6))] bg-[var(--zui-alert-blue-bg,color-mix(in oklch, var(--zui-color-blue,#2563eb) 10%, transparent))] dark:bg-[var(--zui-alert-blue-bg-dark,color-mix(in oklch, var(--zui-color-blue-dark,#3b82f6) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-blue-fg,var(--zui-color-blue,#0f172a))] dark:text-[color:var(--zui-alert-blue-fg-dark,var(--zui-color-blue-dark,#f8fafc))]",
17
- cyan: "border-[color:var(--zui-alert-cyan-border,var(--zui-color-cyan,#0891b2))] dark:border-[color:var(--zui-alert-cyan-border-dark,var(--zui-color-cyan-dark,#22d3ee))] bg-[var(--zui-alert-cyan-bg,color-mix(in oklch, var(--zui-color-cyan,#0891b2) 10%, transparent))] dark:bg-[var(--zui-alert-cyan-bg-dark,color-mix(in oklch, var(--zui-color-cyan-dark,#22d3ee) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-cyan-fg,var(--zui-color-cyan,#0f172a))] dark:text-[color:var(--zui-alert-cyan-fg-dark,var(--zui-color-cyan-dark,#f8fafc))]",
16
+ blue: "border-[color:var(--zui-alert-blue-border,var(--zui-color-blue,#2563eb))] dark:border-[color:var(--zui-alert-blue-border-dark,var(--zui-color-blue-dark,#3b82f6))] bg-[var(--zui-alert-blue-bg,color-mix(in_oklch,_var(--zui-color-blue,#2563eb)_10%,_transparent))] dark:bg-[var(--zui-alert-blue-bg-dark,color-mix(in_oklch,_var(--zui-color-blue-dark,#3b82f6)_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-blue-fg,var(--zui-color-blue,#0f172a))] dark:text-[color:var(--zui-alert-blue-fg-dark,var(--zui-color-blue-dark,#f8fafc))]",
17
+ cyan: "border-[color:var(--zui-alert-cyan-border,var(--zui-color-cyan,#0891b2))] dark:border-[color:var(--zui-alert-cyan-border-dark,var(--zui-color-cyan-dark,#22d3ee))] bg-[var(--zui-alert-cyan-bg,color-mix(in_oklch,_var(--zui-color-cyan,#0891b2)_10%,_transparent))] dark:bg-[var(--zui-alert-cyan-bg-dark,color-mix(in_oklch,_var(--zui-color-cyan-dark,#22d3ee)_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-cyan-fg,var(--zui-color-cyan,#0f172a))] dark:text-[color:var(--zui-alert-cyan-fg-dark,var(--zui-color-cyan-dark,#f8fafc))]",
18
18
  green:
19
- "border-[color:var(--zui-alert-green-border,var(--zui-color-green,#16a34a))] dark:border-[color:var(--zui-alert-green-border-dark,var(--zui-color-green-dark,#22c55e))] bg-[var(--zui-alert-green-bg,color-mix(in oklch, var(--zui-color-green,#16a34a) 10%, transparent))] dark:bg-[var(--zui-alert-green-bg-dark,color-mix(in oklch, var(--zui-color-green-dark,#22c55e) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-green-fg,var(--zui-color-green,#0f172a))] dark:text-[color:var(--zui-alert-green-fg-dark,var(--zui-color-green-dark,#f8fafc))]",
20
- lime: "border-[color:var(--zui-alert-lime-border,var(--zui-color-lime,#65a30d))] dark:border-[color:var(--zui-alert-lime-border-dark,var(--zui-color-lime-dark,#a3e635))] bg-[var(--zui-alert-lime-bg,color-mix(in oklch, var(--zui-color-lime,#65a30d) 10%, transparent))] dark:bg-[var(--zui-alert-lime-bg-dark,color-mix(in oklch, var(--zui-color-lime-dark,#a3e635) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-lime-fg,var(--zui-color-lime,#0f172a))] dark:text-[color:var(--zui-alert-lime-fg-dark,var(--zui-color-lime-dark,#f8fafc))]",
21
- mint: "border-[color:var(--zui-alert-mint-border,var(--zui-color-mint,#10b981))] dark:border-[color:var(--zui-alert-mint-border-dark,var(--zui-color-mint-dark,#6ee7b7))] bg-[var(--zui-alert-mint-bg,color-mix(in oklch, var(--zui-color-mint,#10b981) 10%, transparent))] dark:bg-[var(--zui-alert-mint-bg-dark,color-mix(in oklch, var(--zui-color-mint-dark,#6ee7b7) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-mint-fg,var(--zui-color-mint,#0f172a))] dark:text-[color:var(--zui-alert-mint-fg-dark,var(--zui-color-mint-dark,#f8fafc))]",
19
+ "border-[color:var(--zui-alert-green-border,var(--zui-color-green,#16a34a))] dark:border-[color:var(--zui-alert-green-border-dark,var(--zui-color-green-dark,#22c55e))] bg-[var(--zui-alert-green-bg,color-mix(in_oklch,_var(--zui-color-green,#16a34a)_10%,_transparent))] dark:bg-[var(--zui-alert-green-bg-dark,color-mix(in_oklch,_var(--zui-color-green-dark,#22c55e)_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-green-fg,var(--zui-color-green,#0f172a))] dark:text-[color:var(--zui-alert-green-fg-dark,var(--zui-color-green-dark,#f8fafc))]",
20
+ lime: "border-[color:var(--zui-alert-lime-border,var(--zui-color-lime,#65a30d))] dark:border-[color:var(--zui-alert-lime-border-dark,var(--zui-color-lime-dark,#a3e635))] bg-[var(--zui-alert-lime-bg,color-mix(in_oklch,_var(--zui-color-lime,#65a30d)_10%,_transparent))] dark:bg-[var(--zui-alert-lime-bg-dark,color-mix(in_oklch,_var(--zui-color-lime-dark,#a3e635)_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-lime-fg,var(--zui-color-lime,#0f172a))] dark:text-[color:var(--zui-alert-lime-fg-dark,var(--zui-color-lime-dark,#f8fafc))]",
21
+ mint: "border-[color:var(--zui-alert-mint-border,var(--zui-color-mint,#10b981))] dark:border-[color:var(--zui-alert-mint-border-dark,var(--zui-color-mint-dark,#6ee7b7))] bg-[var(--zui-alert-mint-bg,color-mix(in_oklch,_var(--zui-color-mint,#10b981)_10%,_transparent))] dark:bg-[var(--zui-alert-mint-bg-dark,color-mix(in_oklch,_var(--zui-color-mint-dark,#6ee7b7)_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-mint-fg,var(--zui-color-mint,#0f172a))] dark:text-[color:var(--zui-alert-mint-fg-dark,var(--zui-color-mint-dark,#f8fafc))]",
22
22
  ocean:
23
- "border-[color:var(--zui-alert-ocean-border,var(--zui-color-ocean,#0284c7))] dark:border-[color:var(--zui-alert-ocean-border-dark,var(--zui-color-ocean-dark,#38bdf8))] bg-[var(--zui-alert-ocean-bg,color-mix(in oklch, var(--zui-color-ocean,#0284c7) 10%, transparent))] dark:bg-[var(--zui-alert-ocean-bg-dark,color-mix(in oklch, var(--zui-color-ocean-dark,#38bdf8) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-ocean-fg,var(--zui-color-ocean,#0f172a))] dark:text-[color:var(--zui-alert-ocean-fg-dark,var(--zui-color-ocean-dark,#f8fafc))]",
23
+ "border-[color:var(--zui-alert-ocean-border,var(--zui-color-ocean,#0284c7))] dark:border-[color:var(--zui-alert-ocean-border-dark,var(--zui-color-ocean-dark,#38bdf8))] bg-[var(--zui-alert-ocean-bg,color-mix(in_oklch,_var(--zui-color-ocean,#0284c7)_10%,_transparent))] dark:bg-[var(--zui-alert-ocean-bg-dark,color-mix(in_oklch,_var(--zui-color-ocean-dark,#38bdf8)_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-ocean-fg,var(--zui-color-ocean,#0f172a))] dark:text-[color:var(--zui-alert-ocean-fg-dark,var(--zui-color-ocean-dark,#f8fafc))]",
24
24
  sapphire:
25
- "border-[color:var(--zui-alert-sapphire-border,var(--zui-color-sapphire,#1d4ed8))] dark:border-[color:var(--zui-alert-sapphire-border-dark,var(--zui-color-sapphire-dark,#60a5fa))] bg-[var(--zui-alert-sapphire-bg,color-mix(in oklch, var(--zui-color-sapphire,#1d4ed8) 10%, transparent))] dark:bg-[var(--zui-alert-sapphire-bg-dark,color-mix(in oklch, var(--zui-color-sapphire-dark,#60a5fa) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-sapphire-fg,var(--zui-color-sapphire,#0f172a))] dark:text-[color:var(--zui-alert-sapphire-fg-dark,var(--zui-color-sapphire-dark,#f8fafc))]",
25
+ "border-[color:var(--zui-alert-sapphire-border,var(--zui-color-sapphire,#1d4ed8))] dark:border-[color:var(--zui-alert-sapphire-border-dark,var(--zui-color-sapphire-dark,#60a5fa))] bg-[var(--zui-alert-sapphire-bg,color-mix(in_oklch,_var(--zui-color-sapphire,#1d4ed8)_10%,_transparent))] dark:bg-[var(--zui-alert-sapphire-bg-dark,color-mix(in_oklch,_var(--zui-color-sapphire-dark,#60a5fa)_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-sapphire-fg,var(--zui-color-sapphire,#0f172a))] dark:text-[color:var(--zui-alert-sapphire-fg-dark,var(--zui-color-sapphire-dark,#f8fafc))]",
26
26
  lavender:
27
- "border-[color:var(--zui-alert-lavender-border,var(--zui-color-lavender,#8b5cf6))] dark:border-[color:var(--zui-alert-lavender-border-dark,var(--zui-color-lavender-dark,#a78bfa))] bg-[var(--zui-alert-lavender-bg,color-mix(in oklch, var(--zui-color-lavender,#8b5cf6) 10%, transparent))] dark:bg-[var(--zui-alert-lavender-bg-dark,color-mix(in oklch, var(--zui-color-lavender-dark,#a78bfa) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-lavender-fg,var(--zui-color-lavender,#0f172a))] dark:text-[color:var(--zui-alert-lavender-fg-dark,var(--zui-color-lavender-dark,#f8fafc))]",
28
- ruby: "border-[color:var(--zui-alert-ruby-border,var(--zui-color-ruby,#be123c))] dark:border-[color:var(--zui-alert-ruby-border-dark,var(--zui-color-ruby-dark,#fb7185))] bg-[var(--zui-alert-ruby-bg,color-mix(in oklch, var(--zui-color-ruby,#be123c) 10%, transparent))] dark:bg-[var(--zui-alert-ruby-bg-dark,color-mix(in oklch, var(--zui-color-ruby-dark,#fb7185) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-ruby-fg,var(--zui-color-ruby,#0f172a))] dark:text-[color:var(--zui-alert-ruby-fg-dark,var(--zui-color-ruby-dark,#f8fafc))]",
29
- red: "border-[color:var(--zui-alert-red-border,var(--zui-color-red,#dc2626))] dark:border-[color:var(--zui-alert-red-border-dark,var(--zui-color-red-dark,#ef4444))] bg-[var(--zui-alert-red-bg,color-mix(in oklch, var(--zui-color-red,#dc2626) 10%, transparent))] dark:bg-[var(--zui-alert-red-bg-dark,color-mix(in oklch, var(--zui-color-red-dark,#ef4444) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-red-fg,var(--zui-color-red,#0f172a))] dark:text-[color:var(--zui-alert-red-fg-dark,var(--zui-color-red-dark,#f8fafc))]",
27
+ "border-[color:var(--zui-alert-lavender-border,var(--zui-color-lavender,#8b5cf6))] dark:border-[color:var(--zui-alert-lavender-border-dark,var(--zui-color-lavender-dark,#a78bfa))] bg-[var(--zui-alert-lavender-bg,color-mix(in_oklch,_var(--zui-color-lavender,#8b5cf6)_10%,_transparent))] dark:bg-[var(--zui-alert-lavender-bg-dark,color-mix(in_oklch,_var(--zui-color-lavender-dark,#a78bfa)_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-lavender-fg,var(--zui-color-lavender,#0f172a))] dark:text-[color:var(--zui-alert-lavender-fg-dark,var(--zui-color-lavender-dark,#f8fafc))]",
28
+ ruby: "border-[color:var(--zui-alert-ruby-border,var(--zui-color-ruby,#be123c))] dark:border-[color:var(--zui-alert-ruby-border-dark,var(--zui-color-ruby-dark,#fb7185))] bg-[var(--zui-alert-ruby-bg,color-mix(in_oklch,_var(--zui-color-ruby,#be123c)_10%,_transparent))] dark:bg-[var(--zui-alert-ruby-bg-dark,color-mix(in_oklch,_var(--zui-color-ruby-dark,#fb7185)_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-ruby-fg,var(--zui-color-ruby,#0f172a))] dark:text-[color:var(--zui-alert-ruby-fg-dark,var(--zui-color-ruby-dark,#f8fafc))]",
29
+ red: "border-[color:var(--zui-alert-red-border,var(--zui-color-red,#dc2626))] dark:border-[color:var(--zui-alert-red-border-dark,var(--zui-color-red-dark,#ef4444))] bg-[var(--zui-alert-red-bg,color-mix(in_oklch,_var(--zui-color-red,#dc2626)_10%,_transparent))] dark:bg-[var(--zui-alert-red-bg-dark,color-mix(in_oklch,_var(--zui-color-red-dark,#ef4444)_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-red-fg,var(--zui-color-red,#0f172a))] dark:text-[color:var(--zui-alert-red-fg-dark,var(--zui-color-red-dark,#f8fafc))]",
30
30
  slate:
31
- "border-[color:var(--zui-alert-slate-border,var(--zui-color-slate,#475569))] dark:border-[color:var(--zui-alert-slate-border-dark,var(--zui-color-slate-dark,#64748b))] bg-[var(--zui-alert-slate-bg,color-mix(in oklch, var(--zui-color-slate,#475569) 10%, transparent))] dark:bg-[var(--zui-alert-slate-bg-dark,color-mix(in oklch, var(--zui-color-slate-dark,#64748b) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-slate-fg,var(--zui-color-slate,#0f172a))] dark:text-[color:var(--zui-alert-slate-fg-dark,var(--zui-color-slate-dark,#f8fafc))]",
32
- zinc: "border-[color:var(--zui-alert-zinc-border,var(--zui-color-zinc,#52525b))] dark:border-[color:var(--zui-alert-zinc-border-dark,var(--zui-color-zinc-dark,#71717a))] bg-[var(--zui-alert-zinc-bg,color-mix(in oklch, var(--zui-color-zinc,#52525b) 10%, transparent))] dark:bg-[var(--zui-alert-zinc-bg-dark,color-mix(in oklch, var(--zui-color-zinc-dark,#71717a) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-zinc-fg,var(--zui-color-zinc,#0f172a))] dark:text-[color:var(--zui-alert-zinc-fg-dark,var(--zui-color-zinc-dark,#f8fafc))]",
31
+ "border-[color:var(--zui-alert-slate-border,var(--zui-color-slate,#475569))] dark:border-[color:var(--zui-alert-slate-border-dark,var(--zui-color-slate-dark,#64748b))] bg-[var(--zui-alert-slate-bg,color-mix(in_oklch,_var(--zui-color-slate,#475569)_10%,_transparent))] dark:bg-[var(--zui-alert-slate-bg-dark,color-mix(in_oklch,_var(--zui-color-slate-dark,#64748b)_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-slate-fg,var(--zui-color-slate,#0f172a))] dark:text-[color:var(--zui-alert-slate-fg-dark,var(--zui-color-slate-dark,#f8fafc))]",
32
+ zinc: "border-[color:var(--zui-alert-zinc-border,var(--zui-color-zinc,#52525b))] dark:border-[color:var(--zui-alert-zinc-border-dark,var(--zui-color-zinc-dark,#71717a))] bg-[var(--zui-alert-zinc-bg,color-mix(in_oklch,_var(--zui-color-zinc,#52525b)_10%,_transparent))] dark:bg-[var(--zui-alert-zinc-bg-dark,color-mix(in_oklch,_var(--zui-color-zinc-dark,#71717a)_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-zinc-fg,var(--zui-color-zinc,#0f172a))] dark:text-[color:var(--zui-alert-zinc-fg-dark,var(--zui-color-zinc-dark,#f8fafc))]",
33
33
  stone:
34
- "border-[color:var(--zui-alert-stone-border,var(--zui-color-stone,#57534e))] dark:border-[color:var(--zui-alert-stone-border-dark,var(--zui-color-stone-dark,#78716c))] bg-[var(--zui-alert-stone-bg,color-mix(in oklch, var(--zui-color-stone,#57534e) 10%, transparent))] dark:bg-[var(--zui-alert-stone-bg-dark,color-mix(in oklch, var(--zui-color-stone-dark,#78716c) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-stone-fg,var(--zui-color-stone,#0f172a))] dark:text-[color:var(--zui-alert-stone-fg-dark,var(--zui-color-stone-dark,#f8fafc))]",
34
+ "border-[color:var(--zui-alert-stone-border,var(--zui-color-stone,#57534e))] dark:border-[color:var(--zui-alert-stone-border-dark,var(--zui-color-stone-dark,#78716c))] bg-[var(--zui-alert-stone-bg,color-mix(in_oklch,_var(--zui-color-stone,#57534e)_10%,_transparent))] dark:bg-[var(--zui-alert-stone-bg-dark,color-mix(in_oklch,_var(--zui-color-stone-dark,#78716c)_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-stone-fg,var(--zui-color-stone,#0f172a))] dark:text-[color:var(--zui-alert-stone-fg-dark,var(--zui-color-stone-dark,#f8fafc))]",
35
35
  royal:
36
- "border-[color:var(--zui-alert-royal-border,var(--zui-color-royal,#4338ca))] dark:border-[color:var(--zui-alert-royal-border-dark,var(--zui-color-royal-dark,#818cf8))] bg-[var(--zui-alert-royal-bg,color-mix(in oklch, var(--zui-color-royal,#4338ca) 10%, transparent))] dark:bg-[var(--zui-alert-royal-bg-dark,color-mix(in oklch, var(--zui-color-royal-dark,#818cf8) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-royal-fg,var(--zui-color-royal,#0f172a))] dark:text-[color:var(--zui-alert-royal-fg-dark,var(--zui-color-royal-dark,#f8fafc))]",
36
+ "border-[color:var(--zui-alert-royal-border,var(--zui-color-royal,#4338ca))] dark:border-[color:var(--zui-alert-royal-border-dark,var(--zui-color-royal-dark,#818cf8))] bg-[var(--zui-alert-royal-bg,color-mix(in_oklch,_var(--zui-color-royal,#4338ca)_10%,_transparent))] dark:bg-[var(--zui-alert-royal-bg-dark,color-mix(in_oklch,_var(--zui-color-royal-dark,#818cf8)_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-royal-fg,var(--zui-color-royal,#0f172a))] dark:text-[color:var(--zui-alert-royal-fg-dark,var(--zui-color-royal-dark,#f8fafc))]",
37
37
  electric:
38
- "border-[color:var(--zui-alert-electric-border,var(--zui-color-electric,#0ea5e9))] dark:border-[color:var(--zui-alert-electric-border-dark,var(--zui-color-electric-dark,#38bdf8))] bg-[var(--zui-alert-electric-bg,color-mix(in oklch, var(--zui-color-electric,#0ea5e9) 10%, transparent))] dark:bg-[var(--zui-alert-electric-bg-dark,color-mix(in oklch, var(--zui-color-electric-dark,#38bdf8) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-electric-fg,var(--zui-color-electric,#0f172a))] dark:text-[color:var(--zui-alert-electric-fg-dark,var(--zui-color-electric-dark,#f8fafc))]",
38
+ "border-[color:var(--zui-alert-electric-border,var(--zui-color-electric,#0ea5e9))] dark:border-[color:var(--zui-alert-electric-border-dark,var(--zui-color-electric-dark,#38bdf8))] bg-[var(--zui-alert-electric-bg,color-mix(in_oklch,_var(--zui-color-electric,#0ea5e9)_10%,_transparent))] dark:bg-[var(--zui-alert-electric-bg-dark,color-mix(in_oklch,_var(--zui-color-electric-dark,#38bdf8)_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-electric-fg,var(--zui-color-electric,#0f172a))] dark:text-[color:var(--zui-alert-electric-fg-dark,var(--zui-color-electric-dark,#f8fafc))]",
39
39
  forest:
40
- "border-[color:var(--zui-alert-forest-border,var(--zui-color-forest,#166534))] dark:border-[color:var(--zui-alert-forest-border-dark,var(--zui-color-forest-dark,#4ade80))] bg-[var(--zui-alert-forest-bg,color-mix(in oklch, var(--zui-color-forest,#166534) 10%, transparent))] dark:bg-[var(--zui-alert-forest-bg-dark,color-mix(in oklch, var(--zui-color-forest-dark,#4ade80) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-forest-fg,var(--zui-color-forest,#0f172a))] dark:text-[color:var(--zui-alert-forest-fg-dark,var(--zui-color-forest-dark,#f8fafc))]",
40
+ "border-[color:var(--zui-alert-forest-border,var(--zui-color-forest,#166534))] dark:border-[color:var(--zui-alert-forest-border-dark,var(--zui-color-forest-dark,#4ade80))] bg-[var(--zui-alert-forest-bg,color-mix(in_oklch,_var(--zui-color-forest,#166534)_10%,_transparent))] dark:bg-[var(--zui-alert-forest-bg-dark,color-mix(in_oklch,_var(--zui-color-forest-dark,#4ade80)_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-forest-fg,var(--zui-color-forest,#0f172a))] dark:text-[color:var(--zui-alert-forest-fg-dark,var(--zui-color-forest-dark,#f8fafc))]",
41
41
  sunset:
42
- "border-[color:var(--zui-alert-sunset-border,var(--zui-color-sunset,#ea580c))] dark:border-[color:var(--zui-alert-sunset-border-dark,var(--zui-color-sunset-dark,#fb923c))] bg-[var(--zui-alert-sunset-bg,color-mix(in oklch, var(--zui-color-sunset,#ea580c) 10%, transparent))] dark:bg-[var(--zui-alert-sunset-bg-dark,color-mix(in oklch, var(--zui-color-sunset-dark,#fb923c) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-sunset-fg,var(--zui-color-sunset,#0f172a))] dark:text-[color:var(--zui-alert-sunset-fg-dark,var(--zui-color-sunset-dark,#f8fafc))]",
42
+ "border-[color:var(--zui-alert-sunset-border,var(--zui-color-sunset,#ea580c))] dark:border-[color:var(--zui-alert-sunset-border-dark,var(--zui-color-sunset-dark,#fb923c))] bg-[var(--zui-alert-sunset-bg,color-mix(in_oklch,_var(--zui-color-sunset,#ea580c)_10%,_transparent))] dark:bg-[var(--zui-alert-sunset-bg-dark,color-mix(in_oklch,_var(--zui-color-sunset-dark,#fb923c)_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-sunset-fg,var(--zui-color-sunset,#0f172a))] dark:text-[color:var(--zui-alert-sunset-fg-dark,var(--zui-color-sunset-dark,#f8fafc))]",
43
43
  magenta:
44
- "border-[color:var(--zui-alert-magenta-border,var(--zui-color-magenta,#c026d3))] dark:border-[color:var(--zui-alert-magenta-border-dark,var(--zui-color-magenta-dark,#e879f9))] bg-[var(--zui-alert-magenta-bg,color-mix(in oklch, var(--zui-color-magenta,#c026d3) 10%, transparent))] dark:bg-[var(--zui-alert-magenta-bg-dark,color-mix(in oklch, var(--zui-color-magenta-dark,#e879f9) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-magenta-fg,var(--zui-color-magenta,#0f172a))] dark:text-[color:var(--zui-alert-magenta-fg-dark,var(--zui-color-magenta-dark,#f8fafc))]",
44
+ "border-[color:var(--zui-alert-magenta-border,var(--zui-color-magenta,#c026d3))] dark:border-[color:var(--zui-alert-magenta-border-dark,var(--zui-color-magenta-dark,#e879f9))] bg-[var(--zui-alert-magenta-bg,color-mix(in_oklch,_var(--zui-color-magenta,#c026d3)_10%,_transparent))] dark:bg-[var(--zui-alert-magenta-bg-dark,color-mix(in_oklch,_var(--zui-color-magenta-dark,#e879f9)_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-magenta-fg,var(--zui-color-magenta,#0f172a))] dark:text-[color:var(--zui-alert-magenta-fg-dark,var(--zui-color-magenta-dark,#f8fafc))]",
45
45
  crimson:
46
- "border-[color:var(--zui-alert-crimson-border,var(--zui-color-crimson,#b91c1c))] dark:border-[color:var(--zui-alert-crimson-border-dark,var(--zui-color-crimson-dark,#f87171))] bg-[var(--zui-alert-crimson-bg,color-mix(in oklch, var(--zui-color-crimson,#b91c1c) 10%, transparent))] dark:bg-[var(--zui-alert-crimson-bg-dark,color-mix(in oklch, var(--zui-color-crimson-dark,#f87171) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-crimson-fg,var(--zui-color-crimson,#0f172a))] dark:text-[color:var(--zui-alert-crimson-fg-dark,var(--zui-color-crimson-dark,#f8fafc))]",
47
- aqua: "border-[color:var(--zui-alert-aqua-border,var(--zui-color-aqua,#0f766e))] dark:border-[color:var(--zui-alert-aqua-border-dark,var(--zui-color-aqua-dark,#2dd4bf))] bg-[var(--zui-alert-aqua-bg,color-mix(in oklch, var(--zui-color-aqua,#0f766e) 10%, transparent))] dark:bg-[var(--zui-alert-aqua-bg-dark,color-mix(in oklch, var(--zui-color-aqua-dark,#2dd4bf) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-aqua-fg,var(--zui-color-aqua,#0f172a))] dark:text-[color:var(--zui-alert-aqua-fg-dark,var(--zui-color-aqua-dark,#f8fafc))]",
48
- plum: "border-[color:var(--zui-alert-plum-border,var(--zui-color-plum,#7e22ce))] dark:border-[color:var(--zui-alert-plum-border-dark,var(--zui-color-plum-dark,#c084fc))] bg-[var(--zui-alert-plum-bg,color-mix(in oklch, var(--zui-color-plum,#7e22ce) 10%, transparent))] dark:bg-[var(--zui-alert-plum-bg-dark,color-mix(in oklch, var(--zui-color-plum-dark,#c084fc) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-plum-fg,var(--zui-color-plum,#0f172a))] dark:text-[color:var(--zui-alert-plum-fg-dark,var(--zui-color-plum-dark,#f8fafc))]",
46
+ "border-[color:var(--zui-alert-crimson-border,var(--zui-color-crimson,#b91c1c))] dark:border-[color:var(--zui-alert-crimson-border-dark,var(--zui-color-crimson-dark,#f87171))] bg-[var(--zui-alert-crimson-bg,color-mix(in_oklch,_var(--zui-color-crimson,#b91c1c)_10%,_transparent))] dark:bg-[var(--zui-alert-crimson-bg-dark,color-mix(in_oklch,_var(--zui-color-crimson-dark,#f87171)_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-crimson-fg,var(--zui-color-crimson,#0f172a))] dark:text-[color:var(--zui-alert-crimson-fg-dark,var(--zui-color-crimson-dark,#f8fafc))]",
47
+ aqua: "border-[color:var(--zui-alert-aqua-border,var(--zui-color-aqua,#0f766e))] dark:border-[color:var(--zui-alert-aqua-border-dark,var(--zui-color-aqua-dark,#2dd4bf))] bg-[var(--zui-alert-aqua-bg,color-mix(in_oklch,_var(--zui-color-aqua,#0f766e)_10%,_transparent))] dark:bg-[var(--zui-alert-aqua-bg-dark,color-mix(in_oklch,_var(--zui-color-aqua-dark,#2dd4bf)_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-aqua-fg,var(--zui-color-aqua,#0f172a))] dark:text-[color:var(--zui-alert-aqua-fg-dark,var(--zui-color-aqua-dark,#f8fafc))]",
48
+ plum: "border-[color:var(--zui-alert-plum-border,var(--zui-color-plum,#7e22ce))] dark:border-[color:var(--zui-alert-plum-border-dark,var(--zui-color-plum-dark,#c084fc))] bg-[var(--zui-alert-plum-bg,color-mix(in_oklch,_var(--zui-color-plum,#7e22ce)_10%,_transparent))] dark:bg-[var(--zui-alert-plum-bg-dark,color-mix(in_oklch,_var(--zui-color-plum-dark,#c084fc)_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-plum-fg,var(--zui-color-plum,#0f172a))] dark:text-[color:var(--zui-alert-plum-fg-dark,var(--zui-color-plum-dark,#f8fafc))]",
49
49
  purple:
50
- "border-[color:var(--zui-alert-purple-border,var(--zui-color-purple,oklch(43.8%_0.218_303.724)))] dark:border-[color:var(--zui-alert-purple-border-dark,var(--zui-color-purple-dark,oklch(55.8%_0.288_302.321)))] bg-[var(--zui-alert-purple-bg,var(--zui-color-purple,oklch(97.7%_0.014_308.299)))] dark:bg-[var(--zui-alert-purple-bg-dark,color-mix(in oklch, var(--zui-color-purple-dark,oklch(29.1%_0.149_302.717)) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-purple-fg,var(--zui-color-purple,oklch(20.8%_0.042_265.755)))] dark:text-[color:var(--zui-alert-purple-fg-dark,var(--zui-color-purple-dark,oklch(98.4%_0.003_247.858)))]",
51
- pink: "border-[color:var(--zui-alert-pink-border,var(--zui-color-pink,oklch(45.9%_0.187_3.815)))] dark:border-[color:var(--zui-alert-pink-border-dark,var(--zui-color-pink-dark,oklch(59.2%_0.249_0.584)))] bg-[var(--zui-alert-pink-bg,var(--zui-color-pink,oklch(97.1%_0.014_343.198)))] dark:bg-[var(--zui-alert-pink-bg-dark,color-mix(in oklch, var(--zui-color-pink-dark,oklch(28.4%_0.109_3.907)) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-pink-fg,var(--zui-color-pink,oklch(20.8%_0.042_265.755)))] dark:text-[color:var(--zui-alert-pink-fg-dark,var(--zui-color-pink-dark,oklch(98.4%_0.003_247.858)))]",
50
+ "border-[color:var(--zui-alert-purple-border,var(--zui-color-purple,oklch(43.8%_0.218_303.724)))] dark:border-[color:var(--zui-alert-purple-border-dark,var(--zui-color-purple-dark,oklch(55.8%_0.288_302.321)))] bg-[var(--zui-alert-purple-bg,var(--zui-color-purple,oklch(97.7%_0.014_308.299)))] dark:bg-[var(--zui-alert-purple-bg-dark,color-mix(in_oklch,_var(--zui-color-purple-dark,oklch(29.1%_0.149_302.717))_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-purple-fg,var(--zui-color-purple,oklch(20.8%_0.042_265.755)))] dark:text-[color:var(--zui-alert-purple-fg-dark,var(--zui-color-purple-dark,oklch(98.4%_0.003_247.858)))]",
51
+ pink: "border-[color:var(--zui-alert-pink-border,var(--zui-color-pink,oklch(45.9%_0.187_3.815)))] dark:border-[color:var(--zui-alert-pink-border-dark,var(--zui-color-pink-dark,oklch(59.2%_0.249_0.584)))] bg-[var(--zui-alert-pink-bg,var(--zui-color-pink,oklch(97.1%_0.014_343.198)))] dark:bg-[var(--zui-alert-pink-bg-dark,color-mix(in_oklch,_var(--zui-color-pink-dark,oklch(28.4%_0.109_3.907))_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-pink-fg,var(--zui-color-pink,oklch(20.8%_0.042_265.755)))] dark:text-[color:var(--zui-alert-pink-fg-dark,var(--zui-color-pink-dark,oklch(98.4%_0.003_247.858)))]",
52
52
  orange:
53
- "border-[color:var(--zui-alert-orange-border,var(--zui-color-orange,oklch(47%_0.157_37.304)))] dark:border-[color:var(--zui-alert-orange-border-dark,var(--zui-color-orange-dark,oklch(64.6%_0.222_41.116)))] bg-[var(--zui-alert-orange-bg,var(--zui-color-orange,oklch(98%_0.016_73.684)))] dark:bg-[var(--zui-alert-orange-bg-dark,color-mix(in oklch, var(--zui-color-orange-dark,oklch(26.6%_0.079_36.259)) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-orange-fg,var(--zui-color-orange,oklch(20.8%_0.042_265.755)))] dark:text-[color:var(--zui-alert-orange-fg-dark,var(--zui-color-orange-dark,oklch(98.4%_0.003_247.858)))]",
53
+ "border-[color:var(--zui-alert-orange-border,var(--zui-color-orange,oklch(47%_0.157_37.304)))] dark:border-[color:var(--zui-alert-orange-border-dark,var(--zui-color-orange-dark,oklch(64.6%_0.222_41.116)))] bg-[var(--zui-alert-orange-bg,var(--zui-color-orange,oklch(98%_0.016_73.684)))] dark:bg-[var(--zui-alert-orange-bg-dark,color-mix(in_oklch,_var(--zui-color-orange-dark,oklch(26.6%_0.079_36.259))_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-orange-fg,var(--zui-color-orange,oklch(20.8%_0.042_265.755)))] dark:text-[color:var(--zui-alert-orange-fg-dark,var(--zui-color-orange-dark,oklch(98.4%_0.003_247.858)))]",
54
54
  yellow:
55
- "border-[color:var(--zui-alert-yellow-border,var(--zui-color-yellow,oklch(47.6%_0.114_61.907)))] dark:border-[color:var(--zui-alert-yellow-border-dark,var(--zui-color-yellow-dark,oklch(68.1%_0.162_75.834)))] bg-[var(--zui-alert-yellow-bg,var(--zui-color-yellow,oklch(98.7%_0.026_102.212)))] dark:bg-[var(--zui-alert-yellow-bg-dark,color-mix(in oklch, var(--zui-color-yellow-dark,oklch(28.6%_0.066_53.813)) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-yellow-fg,var(--zui-color-yellow,oklch(20.8%_0.042_265.755)))] dark:text-[color:var(--zui-alert-yellow-fg-dark,var(--zui-color-yellow-dark,oklch(98.4%_0.003_247.858)))]",
56
- teal: "border-[color:var(--zui-alert-teal-border,var(--zui-color-teal,oklch(43.7%_0.078_188.216)))] dark:border-[color:var(--zui-alert-teal-border-dark,var(--zui-color-teal-dark,oklch(60%_0.118_184.704)))] bg-[var(--zui-alert-teal-bg,var(--zui-color-teal,oklch(98.4%_0.014_180.72)))] dark:bg-[var(--zui-alert-teal-bg-dark,color-mix(in oklch, var(--zui-color-teal-dark,oklch(27.7%_0.046_192.524)) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-teal-fg,var(--zui-color-teal,oklch(20.8%_0.042_265.755)))] dark:text-[color:var(--zui-alert-teal-fg-dark,var(--zui-color-teal-dark,oklch(98.4%_0.003_247.858)))]",
55
+ "border-[color:var(--zui-alert-yellow-border,var(--zui-color-yellow,oklch(47.6%_0.114_61.907)))] dark:border-[color:var(--zui-alert-yellow-border-dark,var(--zui-color-yellow-dark,oklch(68.1%_0.162_75.834)))] bg-[var(--zui-alert-yellow-bg,var(--zui-color-yellow,oklch(98.7%_0.026_102.212)))] dark:bg-[var(--zui-alert-yellow-bg-dark,color-mix(in_oklch,_var(--zui-color-yellow-dark,oklch(28.6%_0.066_53.813))_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-yellow-fg,var(--zui-color-yellow,oklch(20.8%_0.042_265.755)))] dark:text-[color:var(--zui-alert-yellow-fg-dark,var(--zui-color-yellow-dark,oklch(98.4%_0.003_247.858)))]",
56
+ teal: "border-[color:var(--zui-alert-teal-border,var(--zui-color-teal,oklch(43.7%_0.078_188.216)))] dark:border-[color:var(--zui-alert-teal-border-dark,var(--zui-color-teal-dark,oklch(60%_0.118_184.704)))] bg-[var(--zui-alert-teal-bg,var(--zui-color-teal,oklch(98.4%_0.014_180.72)))] dark:bg-[var(--zui-alert-teal-bg-dark,color-mix(in_oklch,_var(--zui-color-teal-dark,oklch(27.7%_0.046_192.524))_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-teal-fg,var(--zui-color-teal,oklch(20.8%_0.042_265.755)))] dark:text-[color:var(--zui-alert-teal-fg-dark,var(--zui-color-teal-dark,oklch(98.4%_0.003_247.858)))]",
57
57
  indigo:
58
- "border-[color:var(--zui-alert-indigo-border,var(--zui-color-indigo,oklch(39.8%_0.195_277.366)))] dark:border-[color:var(--zui-alert-indigo-border-dark,var(--zui-color-indigo-dark,oklch(51.1%_0.262_276.966)))] bg-[var(--zui-alert-indigo-bg,var(--zui-color-indigo,oklch(96.2%_0.018_272.314)))] dark:bg-[var(--zui-alert-indigo-bg-dark,color-mix(in oklch, var(--zui-color-indigo-dark,oklch(25.7%_0.09_281.288)) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-indigo-fg,var(--zui-color-indigo,oklch(20.8%_0.042_265.755)))] dark:text-[color:var(--zui-alert-indigo-fg-dark,var(--zui-color-indigo-dark,oklch(98.4%_0.003_247.858)))]",
59
- gray: "border-[color:var(--zui-alert-gray-border,var(--zui-color-gray,oklch(27.8%_0.033_256.848)))] dark:border-[color:var(--zui-alert-gray-border-dark,var(--zui-color-gray-dark,oklch(44.6%_0.03_256.802)))] bg-[var(--zui-alert-gray-bg,var(--zui-color-gray,oklch(98.5%_0.002_247.839)))] dark:bg-[var(--zui-alert-gray-bg-dark,color-mix(in oklch, var(--zui-color-gray-dark,oklch(13%_0.028_261.692)) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-gray-fg,var(--zui-color-gray,oklch(20.8%_0.042_265.755)))] dark:text-[color:var(--zui-alert-gray-fg-dark,var(--zui-color-gray-dark,oklch(98.4%_0.003_247.858)))]",
58
+ "border-[color:var(--zui-alert-indigo-border,var(--zui-color-indigo,oklch(39.8%_0.195_277.366)))] dark:border-[color:var(--zui-alert-indigo-border-dark,var(--zui-color-indigo-dark,oklch(51.1%_0.262_276.966)))] bg-[var(--zui-alert-indigo-bg,var(--zui-color-indigo,oklch(96.2%_0.018_272.314)))] dark:bg-[var(--zui-alert-indigo-bg-dark,color-mix(in_oklch,_var(--zui-color-indigo-dark,oklch(25.7%_0.09_281.288))_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-indigo-fg,var(--zui-color-indigo,oklch(20.8%_0.042_265.755)))] dark:text-[color:var(--zui-alert-indigo-fg-dark,var(--zui-color-indigo-dark,oklch(98.4%_0.003_247.858)))]",
59
+ gray: "border-[color:var(--zui-alert-gray-border,var(--zui-color-gray,oklch(27.8%_0.033_256.848)))] dark:border-[color:var(--zui-alert-gray-border-dark,var(--zui-color-gray-dark,oklch(44.6%_0.03_256.802)))] bg-[var(--zui-alert-gray-bg,var(--zui-color-gray,oklch(98.5%_0.002_247.839)))] dark:bg-[var(--zui-alert-gray-bg-dark,color-mix(in_oklch,_var(--zui-color-gray-dark,oklch(13%_0.028_261.692))_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-gray-fg,var(--zui-color-gray,oklch(20.8%_0.042_265.755)))] dark:text-[color:var(--zui-alert-gray-fg-dark,var(--zui-color-gray-dark,oklch(98.4%_0.003_247.858)))]",
60
60
  violet:
61
- "border-[color:var(--zui-alert-violet-border,var(--zui-color-violet,oklch(43.2%_0.232_292.759)))] dark:border-[color:var(--zui-alert-violet-border-dark,var(--zui-color-violet-dark,oklch(54.1%_0.281_293.009)))] bg-[var(--zui-alert-violet-bg,var(--zui-color-violet,oklch(96.9%_0.016_293.756)))] dark:bg-[var(--zui-alert-violet-bg-dark,color-mix(in oklch, var(--zui-color-violet-dark,oklch(28.3%_0.141_291.089)) 18%, transparent))] backdrop-blur-xl text-[color:var(--zui-alert-violet-fg,var(--zui-color-violet,oklch(20.8%_0.042_265.755)))] dark:text-[color:var(--zui-alert-violet-fg-dark,var(--zui-color-violet-dark,oklch(98.4%_0.003_247.858)))]",
61
+ "border-[color:var(--zui-alert-violet-border,var(--zui-color-violet,oklch(43.2%_0.232_292.759)))] dark:border-[color:var(--zui-alert-violet-border-dark,var(--zui-color-violet-dark,oklch(54.1%_0.281_293.009)))] bg-[var(--zui-alert-violet-bg,var(--zui-color-violet,oklch(96.9%_0.016_293.756)))] dark:bg-[var(--zui-alert-violet-bg-dark,color-mix(in_oklch,_var(--zui-color-violet-dark,oklch(28.3%_0.141_291.089))_18%,_transparent))] backdrop-blur-xl text-[color:var(--zui-alert-violet-fg,var(--zui-color-violet,oklch(20.8%_0.042_265.755)))] dark:text-[color:var(--zui-alert-violet-fg-dark,var(--zui-color-violet-dark,oklch(98.4%_0.003_247.858)))]",
62
62
  "gradient-blue":
63
63
  "border-[color:var(--zui-alert-gradient-blue-border,var(--zui-color-blue,oklch(42.4%_0.199_265.638)))] dark:border-[color:var(--zui-alert-gradient-blue-border-dark,var(--zui-color-blue-dark,oklch(54.6%_0.245_262.881)))] bg-linear-to-r from-[var(--zui-alert-gradient-blue-from,var(--zui-color-blue,oklch(97%_0.014_254.604)))] dark:from-[var(--zui-alert-gradient-blue-from-dark,var(--zui-color-blue-dark,oklch(28.2%_0.091_267.935_/_0.7)))] to-[var(--zui-alert-gradient-blue-to,var(--zui-color-purple,oklch(97.7%_0.014_308.299)))] dark:to-[var(--zui-alert-gradient-blue-to-dark,var(--zui-color-purple-dark,oklch(29.1%_0.149_302.717_/_0.7)))] backdrop-blur-xl text-[color:var(--zui-alert-gradient-blue-fg,var(--zui-brand-fg,oklch(20.8%_0.042_265.755)))] dark:text-[color:var(--zui-alert-gradient-blue-fg-dark,var(--zui-brand-fg-dark,oklch(98.4%_0.003_247.858)))]",
64
64
  "gradient-green":
@@ -62,25 +62,25 @@ export const zuiSkeletonAppearances = {
62
62
  "bg-[var(--zui-skeleton-subtle-bg,var(--zui-surface-muted,#00000012))] dark:bg-[var(--zui-skeleton-subtle-bg-dark,var(--zui-surface-muted-dark,#ffffff12))]",
63
63
  muted:
64
64
  "bg-[var(--zui-skeleton-muted-bg,var(--zui-fg-muted,oklch(92.9%_0.013_255.508_/_0.8)))] dark:bg-[var(--zui-skeleton-muted-bg-dark,var(--zui-fg-muted-dark,oklch(27.9%_0.041_260.031_/_0.8)))]",
65
- sky: "bg-[var(--zui-skeleton-sky-bg,color-mix(in oklch, var(--zui-color-sky,oklch(68.5%_0.169_237.323_/_0.1)) 10%, transparent))] dark:bg-[var(--zui-skeleton-sky-bg-dark,color-mix(in oklch, var(--zui-color-sky-dark,oklch(68.5%_0.169_237.323_/_0.1)) 18%, transparent))]",
66
- rose: "bg-[var(--zui-skeleton-rose-bg,color-mix(in oklch, var(--zui-color-rose,oklch(64.5%_0.246_16.439_/_0.1)) 10%, transparent))] dark:bg-[var(--zui-skeleton-rose-bg-dark,color-mix(in oklch, var(--zui-color-rose-dark,oklch(64.5%_0.246_16.439_/_0.1)) 18%, transparent))]",
65
+ sky: "bg-[var(--zui-skeleton-sky-bg,color-mix(in_oklch,var(--zui-color-sky,oklch(68.5%_0.169_237.323))_10%,transparent))] dark:bg-[var(--zui-skeleton-sky-bg-dark,color-mix(in_oklch,var(--zui-color-sky-dark,oklch(68.5%_0.169_237.323))_18%,transparent))]",
66
+ rose: "bg-[var(--zui-skeleton-rose-bg,color-mix(in_oklch,var(--zui-color-rose,oklch(64.5%_0.246_16.439))_10%,transparent))] dark:bg-[var(--zui-skeleton-rose-bg-dark,color-mix(in_oklch,var(--zui-color-rose-dark,oklch(64.5%_0.246_16.439))_18%,transparent))]",
67
67
  purple:
68
- "bg-[var(--zui-skeleton-purple-bg,color-mix(in oklch, var(--zui-color-purple,oklch(62.7%_0.265_303.9_/_0.1)) 10%, transparent))] dark:bg-[var(--zui-skeleton-purple-bg-dark,color-mix(in oklch, var(--zui-color-purple-dark,oklch(62.7%_0.265_303.9_/_0.1)) 18%, transparent))]",
69
- pink: "bg-[var(--zui-skeleton-pink-bg,color-mix(in oklch, var(--zui-color-pink,oklch(65.6%_0.241_354.308_/_0.1)) 10%, transparent))] dark:bg-[var(--zui-skeleton-pink-bg-dark,color-mix(in oklch, var(--zui-color-pink-dark,oklch(65.6%_0.241_354.308_/_0.1)) 18%, transparent))]",
68
+ "bg-[var(--zui-skeleton-purple-bg,color-mix(in_oklch,var(--zui-color-purple,oklch(62.7%_0.265_303.9))_10%,transparent))] dark:bg-[var(--zui-skeleton-purple-bg-dark,color-mix(in_oklch,var(--zui-color-purple-dark,oklch(62.7%_0.265_303.9))_18%,transparent))]",
69
+ pink: "bg-[var(--zui-skeleton-pink-bg,color-mix(in_oklch,var(--zui-color-pink,oklch(65.6%_0.241_354.308))_10%,transparent))] dark:bg-[var(--zui-skeleton-pink-bg-dark,color-mix(in_oklch,var(--zui-color-pink-dark,oklch(65.6%_0.241_354.308))_18%,transparent))]",
70
70
  orange:
71
- "bg-[var(--zui-skeleton-orange-bg,color-mix(in oklch, var(--zui-color-orange,oklch(70.5%_0.213_47.604_/_0.1)) 10%, transparent))] dark:bg-[var(--zui-skeleton-orange-bg-dark,color-mix(in oklch, var(--zui-color-orange-dark,oklch(70.5%_0.213_47.604_/_0.1)) 18%, transparent))]",
71
+ "bg-[var(--zui-skeleton-orange-bg,color-mix(in_oklch,var(--zui-color-orange,oklch(70.5%_0.213_47.604))_10%,transparent))] dark:bg-[var(--zui-skeleton-orange-bg-dark,color-mix(in_oklch,var(--zui-color-orange-dark,oklch(70.5%_0.213_47.604))_18%,transparent))]",
72
72
  yellow:
73
- "bg-[var(--zui-skeleton-yellow-bg,color-mix(in oklch, var(--zui-color-yellow,oklch(79.5%_0.184_86.047_/_0.1)) 10%, transparent))] dark:bg-[var(--zui-skeleton-yellow-bg-dark,color-mix(in oklch, var(--zui-color-yellow-dark,oklch(79.5%_0.184_86.047_/_0.1)) 18%, transparent))]",
74
- teal: "bg-[var(--zui-skeleton-teal-bg,color-mix(in oklch, var(--zui-color-teal,oklch(70.4%_0.14_182.503_/_0.1)) 10%, transparent))] dark:bg-[var(--zui-skeleton-teal-bg-dark,color-mix(in oklch, var(--zui-color-teal-dark,oklch(70.4%_0.14_182.503_/_0.1)) 18%, transparent))]",
73
+ "bg-[var(--zui-skeleton-yellow-bg,color-mix(in_oklch,var(--zui-color-yellow,oklch(79.5%_0.184_86.047))_10%,transparent))] dark:bg-[var(--zui-skeleton-yellow-bg-dark,color-mix(in_oklch,var(--zui-color-yellow-dark,oklch(79.5%_0.184_86.047))_18%,transparent))]",
74
+ teal: "bg-[var(--zui-skeleton-teal-bg,color-mix(in_oklch,var(--zui-color-teal,oklch(70.4%_0.14_182.503))_10%,transparent))] dark:bg-[var(--zui-skeleton-teal-bg-dark,color-mix(in_oklch,var(--zui-color-teal-dark,oklch(70.4%_0.14_182.503))_18%,transparent))]",
75
75
  indigo:
76
- "bg-[var(--zui-skeleton-indigo-bg,color-mix(in oklch, var(--zui-color-indigo,oklch(58.5%_0.233_277.117_/_0.1)) 10%, transparent))] dark:bg-[var(--zui-skeleton-indigo-bg-dark,color-mix(in oklch, var(--zui-color-indigo-dark,oklch(58.5%_0.233_277.117_/_0.1)) 18%, transparent))]",
76
+ "bg-[var(--zui-skeleton-indigo-bg,color-mix(in_oklch,var(--zui-color-indigo,oklch(58.5%_0.233_277.117))_10%,transparent))] dark:bg-[var(--zui-skeleton-indigo-bg-dark,color-mix(in_oklch,var(--zui-color-indigo-dark,oklch(58.5%_0.233_277.117))_18%,transparent))]",
77
77
  emerald:
78
- "bg-[var(--zui-skeleton-emerald-bg,color-mix(in oklch, var(--zui-color-emerald,oklch(69.6%_0.17_162.48_/_0.1)) 10%, transparent))] dark:bg-[var(--zui-skeleton-emerald-bg-dark,color-mix(in oklch, var(--zui-color-emerald-dark,oklch(69.6%_0.17_162.48_/_0.1)) 18%, transparent))]",
79
- gray: "bg-[var(--zui-skeleton-gray-bg,color-mix(in oklch, var(--zui-color-gray,oklch(55.1%_0.027_264.364_/_0.1)) 10%, transparent))] dark:bg-[var(--zui-skeleton-gray-bg-dark,color-mix(in oklch, var(--zui-color-gray-dark,oklch(55.1%_0.027_264.364_/_0.1)) 18%, transparent))]",
78
+ "bg-[var(--zui-skeleton-emerald-bg,color-mix(in_oklch,var(--zui-color-emerald,oklch(69.6%_0.17_162.48))_10%,transparent))] dark:bg-[var(--zui-skeleton-emerald-bg-dark,color-mix(in_oklch,var(--zui-color-emerald-dark,oklch(69.6%_0.17_162.48))_18%,transparent))]",
79
+ gray: "bg-[var(--zui-skeleton-gray-bg,color-mix(in_oklch,var(--zui-color-gray,oklch(55.1%_0.027_264.364))_10%,transparent))] dark:bg-[var(--zui-skeleton-gray-bg-dark,color-mix(in_oklch,var(--zui-color-gray-dark,oklch(55.1%_0.027_264.364))_18%,transparent))]",
80
80
  amber:
81
- "bg-[var(--zui-skeleton-amber-bg,color-mix(in oklch, var(--zui-color-amber,oklch(76.9%_0.188_70.08_/_0.1)) 10%, transparent))] dark:bg-[var(--zui-skeleton-amber-bg-dark,color-mix(in oklch, var(--zui-color-amber-dark,oklch(76.9%_0.188_70.08_/_0.1)) 18%, transparent))]",
81
+ "bg-[var(--zui-skeleton-amber-bg,color-mix(in_oklch,var(--zui-color-amber,oklch(76.9%_0.188_70.08))_10%,transparent))] dark:bg-[var(--zui-skeleton-amber-bg-dark,color-mix(in_oklch,var(--zui-color-amber-dark,oklch(76.9%_0.188_70.08))_18%,transparent))]",
82
82
  violet:
83
- "bg-[var(--zui-skeleton-violet-bg,color-mix(in oklch, var(--zui-color-violet,oklch(60.6%_0.25_292.717_/_0.1)) 10%, transparent))] dark:bg-[var(--zui-skeleton-violet-bg-dark,color-mix(in oklch, var(--zui-color-violet-dark,oklch(60.6%_0.25_292.717_/_0.1)) 18%, transparent))]",
83
+ "bg-[var(--zui-skeleton-violet-bg,color-mix(in_oklch,var(--zui-color-violet,oklch(60.6%_0.25_292.717))_10%,transparent))] dark:bg-[var(--zui-skeleton-violet-bg-dark,color-mix(in_oklch,var(--zui-color-violet-dark,oklch(60.6%_0.25_292.717))_18%,transparent))]",
84
84
  "gradient-blue":
85
85
  "bg-linear-to-r from-[var(--zui-skeleton-gradient-blue-from,var(--zui-color-blue,oklch(42.4%_0.199_265.638)))] dark:from-[var(--zui-skeleton-gradient-blue-from-dark,var(--zui-color-blue-dark,oklch(54.6%_0.245_262.881)))] to-[var(--zui-skeleton-gradient-blue-to,var(--zui-color-purple,oklch(43.8%_0.218_303.724)))] dark:to-[var(--zui-skeleton-gradient-blue-to-dark,var(--zui-color-purple-dark,oklch(55.8%_0.288_302.321)))]",
86
86
  "gradient-green":
@@ -99,39 +99,39 @@ export const zuiSkeletonAppearances = {
99
99
  "bg-linear-to-r from-[var(--zui-skeleton-gradient-pink-from,var(--zui-color-pink,oklch(45.9%_0.187_3.815)))] dark:from-[var(--zui-skeleton-gradient-pink-from-dark,var(--zui-color-pink-dark,oklch(59.2%_0.249_0.584)))] to-[var(--zui-skeleton-gradient-pink-to,var(--zui-color-rose,oklch(45.5%_0.188_13.697)))] dark:to-[var(--zui-skeleton-gradient-pink-to-dark,var(--zui-color-rose-dark,oklch(58.6%_0.253_17.585)))]",
100
100
  "gradient-orange":
101
101
  "bg-linear-to-r from-[var(--zui-skeleton-gradient-orange-from,var(--zui-color-orange,oklch(47%_0.157_37.304)))] dark:from-[var(--zui-skeleton-gradient-orange-from-dark,var(--zui-color-orange-dark,oklch(64.6%_0.222_41.116)))] to-[var(--zui-skeleton-gradient-orange-to,var(--zui-color-red,oklch(44.4%_0.177_26.899)))] dark:to-[var(--zui-skeleton-gradient-orange-to-dark,var(--zui-color-red-dark,oklch(57.7%_0.245_27.325)))]",
102
- blue: "bg-[var(--zui-skeleton-blue-bg,color-mix(in oklch, var(--zui-color-blue,#2563eb) 10%, transparent))] dark:bg-[var(--zui-skeleton-blue-bg-dark,color-mix(in oklch, var(--zui-color-blue-dark,#3b82f6) 18%, transparent))]",
103
- cyan: "bg-[var(--zui-skeleton-cyan-bg,color-mix(in oklch, var(--zui-color-cyan,#0891b2) 10%, transparent))] dark:bg-[var(--zui-skeleton-cyan-bg-dark,color-mix(in oklch, var(--zui-color-cyan-dark,#22d3ee) 18%, transparent))]",
102
+ blue: "bg-[var(--zui-skeleton-blue-bg,color-mix(in_oklch,var(--zui-color-blue,#2563eb)_10%,transparent))] dark:bg-[var(--zui-skeleton-blue-bg-dark,color-mix(in_oklch,var(--zui-color-blue-dark,#3b82f6)_18%,transparent))]",
103
+ cyan: "bg-[var(--zui-skeleton-cyan-bg,color-mix(in_oklch,var(--zui-color-cyan,#0891b2)_10%,transparent))] dark:bg-[var(--zui-skeleton-cyan-bg-dark,color-mix(in_oklch,var(--zui-color-cyan-dark,#22d3ee)_18%,transparent))]",
104
104
  green:
105
- "bg-[var(--zui-skeleton-green-bg,color-mix(in oklch, var(--zui-color-green,#16a34a) 10%, transparent))] dark:bg-[var(--zui-skeleton-green-bg-dark,color-mix(in oklch, var(--zui-color-green-dark,#22c55e) 18%, transparent))]",
106
- lime: "bg-[var(--zui-skeleton-lime-bg,color-mix(in oklch, var(--zui-color-lime,#65a30d) 10%, transparent))] dark:bg-[var(--zui-skeleton-lime-bg-dark,color-mix(in oklch, var(--zui-color-lime-dark,#a3e635) 18%, transparent))]",
107
- mint: "bg-[var(--zui-skeleton-mint-bg,color-mix(in oklch, var(--zui-color-mint,#10b981) 10%, transparent))] dark:bg-[var(--zui-skeleton-mint-bg-dark,color-mix(in oklch, var(--zui-color-mint-dark,#6ee7b7) 18%, transparent))]",
105
+ "bg-[var(--zui-skeleton-green-bg,color-mix(in_oklch,var(--zui-color-green,#16a34a)_10%,transparent))] dark:bg-[var(--zui-skeleton-green-bg-dark,color-mix(in_oklch,var(--zui-color-green-dark,#22c55e)_18%,transparent))]",
106
+ lime: "bg-[var(--zui-skeleton-lime-bg,color-mix(in_oklch,var(--zui-color-lime,#65a30d)_10%,transparent))] dark:bg-[var(--zui-skeleton-lime-bg-dark,color-mix(in_oklch,var(--zui-color-lime-dark,#a3e635)_18%,transparent))]",
107
+ mint: "bg-[var(--zui-skeleton-mint-bg,color-mix(in_oklch,var(--zui-color-mint,#10b981)_10%,transparent))] dark:bg-[var(--zui-skeleton-mint-bg-dark,color-mix(in_oklch,var(--zui-color-mint-dark,#6ee7b7)_18%,transparent))]",
108
108
  ocean:
109
- "bg-[var(--zui-skeleton-ocean-bg,color-mix(in oklch, var(--zui-color-ocean,#0284c7) 10%, transparent))] dark:bg-[var(--zui-skeleton-ocean-bg-dark,color-mix(in oklch, var(--zui-color-ocean-dark,#38bdf8) 18%, transparent))]",
109
+ "bg-[var(--zui-skeleton-ocean-bg,color-mix(in_oklch,var(--zui-color-ocean,#0284c7)_10%,transparent))] dark:bg-[var(--zui-skeleton-ocean-bg-dark,color-mix(in_oklch,var(--zui-color-ocean-dark,#38bdf8)_18%,transparent))]",
110
110
  sapphire:
111
- "bg-[var(--zui-skeleton-sapphire-bg,color-mix(in oklch, var(--zui-color-sapphire,#1d4ed8) 10%, transparent))] dark:bg-[var(--zui-skeleton-sapphire-bg-dark,color-mix(in oklch, var(--zui-color-sapphire-dark,#60a5fa) 18%, transparent))]",
111
+ "bg-[var(--zui-skeleton-sapphire-bg,color-mix(in_oklch,var(--zui-color-sapphire,#1d4ed8)_10%,transparent))] dark:bg-[var(--zui-skeleton-sapphire-bg-dark,color-mix(in_oklch,var(--zui-color-sapphire-dark,#60a5fa)_18%,transparent))]",
112
112
  lavender:
113
- "bg-[var(--zui-skeleton-lavender-bg,color-mix(in oklch, var(--zui-color-lavender,#8b5cf6) 10%, transparent))] dark:bg-[var(--zui-skeleton-lavender-bg-dark,color-mix(in oklch, var(--zui-color-lavender-dark,#a78bfa) 18%, transparent))]",
114
- ruby: "bg-[var(--zui-skeleton-ruby-bg,color-mix(in oklch, var(--zui-color-ruby,#be123c) 10%, transparent))] dark:bg-[var(--zui-skeleton-ruby-bg-dark,color-mix(in oklch, var(--zui-color-ruby-dark,#fb7185) 18%, transparent))]",
115
- red: "bg-[var(--zui-skeleton-red-bg,color-mix(in oklch, var(--zui-color-red,#dc2626) 10%, transparent))] dark:bg-[var(--zui-skeleton-red-bg-dark,color-mix(in oklch, var(--zui-color-red-dark,#ef4444) 18%, transparent))]",
113
+ "bg-[var(--zui-skeleton-lavender-bg,color-mix(in_oklch,var(--zui-color-lavender,#8b5cf6)_10%,transparent))] dark:bg-[var(--zui-skeleton-lavender-bg-dark,color-mix(in_oklch,var(--zui-color-lavender-dark,#a78bfa)_18%,transparent))]",
114
+ ruby: "bg-[var(--zui-skeleton-ruby-bg,color-mix(in_oklch,var(--zui-color-ruby,#be123c)_10%,transparent))] dark:bg-[var(--zui-skeleton-ruby-bg-dark,color-mix(in_oklch,var(--zui-color-ruby-dark,#fb7185)_18%,transparent))]",
115
+ red: "bg-[var(--zui-skeleton-red-bg,color-mix(in_oklch,var(--zui-color-red,#dc2626)_10%,transparent))] dark:bg-[var(--zui-skeleton-red-bg-dark,color-mix(in_oklch,var(--zui-color-red-dark,#ef4444)_18%,transparent))]",
116
116
  slate:
117
- "bg-[var(--zui-skeleton-slate-bg,color-mix(in oklch, var(--zui-color-slate,#475569) 10%, transparent))] dark:bg-[var(--zui-skeleton-slate-bg-dark,color-mix(in oklch, var(--zui-color-slate-dark,#64748b) 18%, transparent))]",
118
- zinc: "bg-[var(--zui-skeleton-zinc-bg,color-mix(in oklch, var(--zui-color-zinc,#52525b) 10%, transparent))] dark:bg-[var(--zui-skeleton-zinc-bg-dark,color-mix(in oklch, var(--zui-color-zinc-dark,#71717a) 18%, transparent))]",
117
+ "bg-[var(--zui-skeleton-slate-bg,color-mix(in_oklch,var(--zui-color-slate,#475569)_10%,transparent))] dark:bg-[var(--zui-skeleton-slate-bg-dark,color-mix(in_oklch,var(--zui-color-slate-dark,#64748b)_18%,transparent))]",
118
+ zinc: "bg-[var(--zui-skeleton-zinc-bg,color-mix(in_oklch,var(--zui-color-zinc,#52525b)_10%,transparent))] dark:bg-[var(--zui-skeleton-zinc-bg-dark,color-mix(in_oklch,var(--zui-color-zinc-dark,#71717a)_18%,transparent))]",
119
119
  stone:
120
- "bg-[var(--zui-skeleton-stone-bg,color-mix(in oklch, var(--zui-color-stone,#57534e) 10%, transparent))] dark:bg-[var(--zui-skeleton-stone-bg-dark,color-mix(in oklch, var(--zui-color-stone-dark,#78716c) 18%, transparent))]",
120
+ "bg-[var(--zui-skeleton-stone-bg,color-mix(in_oklch,var(--zui-color-stone,#57534e)_10%,transparent))] dark:bg-[var(--zui-skeleton-stone-bg-dark,color-mix(in_oklch,var(--zui-color-stone-dark,#78716c)_18%,transparent))]",
121
121
  royal:
122
- "bg-[var(--zui-skeleton-royal-bg,color-mix(in oklch, var(--zui-color-royal,#4338ca) 10%, transparent))] dark:bg-[var(--zui-skeleton-royal-bg-dark,color-mix(in oklch, var(--zui-color-royal-dark,#818cf8) 18%, transparent))]",
122
+ "bg-[var(--zui-skeleton-royal-bg,color-mix(in_oklch,var(--zui-color-royal,#4338ca)_10%,transparent))] dark:bg-[var(--zui-skeleton-royal-bg-dark,color-mix(in_oklch,var(--zui-color-royal-dark,#818cf8)_18%,transparent))]",
123
123
  electric:
124
- "bg-[var(--zui-skeleton-electric-bg,color-mix(in oklch, var(--zui-color-electric,#0ea5e9) 10%, transparent))] dark:bg-[var(--zui-skeleton-electric-bg-dark,color-mix(in oklch, var(--zui-color-electric-dark,#38bdf8) 18%, transparent))]",
124
+ "bg-[var(--zui-skeleton-electric-bg,color-mix(in_oklch,var(--zui-color-electric,#0ea5e9)_10%,transparent))] dark:bg-[var(--zui-skeleton-electric-bg-dark,color-mix(in_oklch,var(--zui-color-electric-dark,#38bdf8)_18%,transparent))]",
125
125
  forest:
126
- "bg-[var(--zui-skeleton-forest-bg,color-mix(in oklch, var(--zui-color-forest,#166534) 10%, transparent))] dark:bg-[var(--zui-skeleton-forest-bg-dark,color-mix(in oklch, var(--zui-color-forest-dark,#4ade80) 18%, transparent))]",
126
+ "bg-[var(--zui-skeleton-forest-bg,color-mix(in_oklch,var(--zui-color-forest,#166534)_10%,transparent))] dark:bg-[var(--zui-skeleton-forest-bg-dark,color-mix(in_oklch,var(--zui-color-forest-dark,#4ade80)_18%,transparent))]",
127
127
  sunset:
128
- "bg-[var(--zui-skeleton-sunset-bg,color-mix(in oklch, var(--zui-color-sunset,#ea580c) 10%, transparent))] dark:bg-[var(--zui-skeleton-sunset-bg-dark,color-mix(in oklch, var(--zui-color-sunset-dark,#fb923c) 18%, transparent))]",
128
+ "bg-[var(--zui-skeleton-sunset-bg,color-mix(in_oklch,var(--zui-color-sunset,#ea580c)_10%,transparent))] dark:bg-[var(--zui-skeleton-sunset-bg-dark,color-mix(in_oklch,var(--zui-color-sunset-dark,#fb923c)_18%,transparent))]",
129
129
  magenta:
130
- "bg-[var(--zui-skeleton-magenta-bg,color-mix(in oklch, var(--zui-color-magenta,#c026d3) 10%, transparent))] dark:bg-[var(--zui-skeleton-magenta-bg-dark,color-mix(in oklch, var(--zui-color-magenta-dark,#e879f9) 18%, transparent))]",
130
+ "bg-[var(--zui-skeleton-magenta-bg,color-mix(in_oklch,var(--zui-color-magenta,#c026d3)_10%,transparent))] dark:bg-[var(--zui-skeleton-magenta-bg-dark,color-mix(in_oklch,var(--zui-color-magenta-dark,#e879f9)_18%,transparent))]",
131
131
  crimson:
132
- "bg-[var(--zui-skeleton-crimson-bg,color-mix(in oklch, var(--zui-color-crimson,#b91c1c) 10%, transparent))] dark:bg-[var(--zui-skeleton-crimson-bg-dark,color-mix(in oklch, var(--zui-color-crimson-dark,#f87171) 18%, transparent))]",
133
- aqua: "bg-[var(--zui-skeleton-aqua-bg,color-mix(in oklch, var(--zui-color-aqua,#0f766e) 10%, transparent))] dark:bg-[var(--zui-skeleton-aqua-bg-dark,color-mix(in oklch, var(--zui-color-aqua-dark,#2dd4bf) 18%, transparent))]",
134
- plum: "bg-[var(--zui-skeleton-plum-bg,color-mix(in oklch, var(--zui-color-plum,#7e22ce) 10%, transparent))] dark:bg-[var(--zui-skeleton-plum-bg-dark,color-mix(in oklch, var(--zui-color-plum-dark,#c084fc) 18%, transparent))]",
132
+ "bg-[var(--zui-skeleton-crimson-bg,color-mix(in_oklch,var(--zui-color-crimson,#b91c1c)_10%,transparent))] dark:bg-[var(--zui-skeleton-crimson-bg-dark,color-mix(in_oklch,var(--zui-color-crimson-dark,#f87171)_18%,transparent))]",
133
+ aqua: "bg-[var(--zui-skeleton-aqua-bg,color-mix(in_oklch,var(--zui-color-aqua,#0f766e)_10%,transparent))] dark:bg-[var(--zui-skeleton-aqua-bg-dark,color-mix(in_oklch,var(--zui-color-aqua-dark,#2dd4bf)_18%,transparent))]",
134
+ plum: "bg-[var(--zui-skeleton-plum-bg,color-mix(in_oklch,var(--zui-color-plum,#7e22ce)_10%,transparent))] dark:bg-[var(--zui-skeleton-plum-bg-dark,color-mix(in_oklch,var(--zui-color-plum-dark,#c084fc)_18%,transparent))]",
135
135
  } as const;
136
136
 
137
137
  export const zuiSkeletonSizes = {
@@ -24,7 +24,7 @@ export const zuiTabsTriggerBase =
24
24
 
25
25
  export const zuiTabsTriggerAppearances = {
26
26
  default:
27
- "bg-[var(--zui-tabs-trigger-default-bg,transparent)] dark:bg-[var(--zui-tabs-trigger-default-bg-dark,transparent)] text-[color:var(--zui-tabs-trigger-default-fg,var(--zui-fg,oklch(20.8%_0.042_265.755)))] dark:text-[color:var(--zui-tabs-trigger-default-fg-dark,var(--zui-fg-dark,oklch(98.4%_0.003_247.858)))]",
27
+ "bg-[var(--zui-tabs-trigger-default-bg,transparent)] dark:bg-[var(--zui-tabs-trigger-default-bg-dark,transparent)] text-[color:var(--zui-tabs-trigger-default-fg,var(--zui-fg-muted,oklch(55.5%_0.041_257.417)))] dark:text-[color:var(--zui-tabs-trigger-default-fg-dark,var(--zui-fg-muted-dark,oklch(70.4%_0.04_256.788)))] hover:bg-[var(--zui-tabs-trigger-default-bg-hover,oklch(96.8%_0.007_247.896))] dark:hover:bg-[var(--zui-tabs-trigger-default-bg-hover-dark,oklch(27.9%_0.041_260.031))] hover:text-[color:var(--zui-tabs-trigger-default-fg-hover,var(--zui-fg,oklch(20.8%_0.042_265.755)))] dark:hover:text-[color:var(--zui-tabs-trigger-default-fg-hover-dark,var(--zui-fg-dark,oklch(98.4%_0.003_247.858)))] data-[state=active]:text-[color:var(--zui-tabs-trigger-default-fg-active,var(--zui-fg,oklch(20.8%_0.042_265.755)))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-default-fg-active-dark,var(--zui-fg-dark,oklch(98.4%_0.003_247.858)))]",
28
28
  sky: "bg-[var(--zui-tabs-trigger-sky-bg,var(--zui-color-sky,oklch(82.8%_0.111_230.318)))] text-[color:var(--zui-tabs-trigger-sky-fg,var(--zui-color-sky,oklch(39.1%_0.09_240.876)))] dark:bg-[var(--zui-tabs-trigger-sky-bg-dark,var(--zui-color-sky-dark,oklch(39.1%_0.09_240.876)))] dark:text-[color:var(--zui-tabs-trigger-sky-fg-dark,var(--zui-color-sky-dark,oklch(90.1%_0.058_230.902)))] data-[state=active]:bg-[var(--zui-tabs-trigger-sky-bg-active,var(--zui-color-sky,oklch(39.1%_0.09_240.876)))] dark:data-[state=active]:bg-[var(--zui-tabs-trigger-sky-bg-active-dark,var(--zui-color-sky-dark,oklch(50%_0.134_242.749)))] data-[state=active]:text-[color:var(--zui-tabs-trigger-sky-fg-active,var(--zui-color-sky,oklch(97.7%_0.013_236.62)))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-sky-fg-active-dark,var(--zui-color-sky-dark,oklch(95.1%_0.026_236.824)))]",
29
29
  rose: "bg-[var(--zui-tabs-trigger-rose-bg,var(--zui-color-rose,oklch(81%_0.117_11.638)))] text-[color:var(--zui-tabs-trigger-rose-fg,var(--zui-color-rose,oklch(41%_0.159_10.272)))] dark:bg-[var(--zui-tabs-trigger-rose-bg-dark,var(--zui-color-rose-dark,oklch(41%_0.159_10.272)))] dark:text-[color:var(--zui-tabs-trigger-rose-fg-dark,var(--zui-color-rose-dark,oklch(89.2%_0.058_10.001)))] data-[state=active]:bg-[var(--zui-tabs-trigger-rose-bg-active,var(--zui-color-rose,oklch(41%_0.159_10.272)))] dark:data-[state=active]:bg-[var(--zui-tabs-trigger-rose-bg-active-dark,var(--zui-color-rose-dark,oklch(51.4%_0.222_16.935)))] data-[state=active]:text-[color:var(--zui-tabs-trigger-rose-fg-active,var(--zui-color-rose,oklch(96.9%_0.015_12.422)))] dark:data-[state=active]:text-[color:var(--zui-tabs-trigger-rose-fg-active-dark,var(--zui-color-rose-dark,oklch(94.1%_0.03_12.58)))]",
30
30
  purple:
@@ -95,7 +95,7 @@ export const zuiTabsTriggerAppearances = {
95
95
 
96
96
  export const zuiTabsTriggerVariants = {
97
97
  default:
98
- "data-[state=active]:bg-[var(--zui-tabs-trigger-default-bg-active,var(--zui-surface-muted,#ffffff))] dark:data-[state=active]:bg-[var(--zui-tabs-trigger-default-bg-active-dark,var(--zui-surface-muted-dark,#020617))]",
98
+ "data-[state=active]:bg-[var(--zui-tabs-trigger-default-bg-active,var(--zui-surface,#ffffff))] dark:data-[state=active]:bg-[var(--zui-tabs-trigger-default-bg-active-dark,var(--zui-surface-dark,oklch(27.9%_0.041_260.031)))] data-[state=active]:font-medium data-[state=active]:shadow-sm data-[state=active]:shadow-[color:var(--zui-tabs-trigger-default-shadow,oklch(0%_0_0_/_0.06))] dark:data-[state=active]:shadow-[color:var(--zui-tabs-trigger-default-shadow-dark,oklch(0%_0_0_/_0.3))]",
99
99
  underline:
100
100
  "border-b-2 border-[color:var(--zui-tabs-trigger-underline-border,transparent)] dark:border-[color:var(--zui-tabs-trigger-underline-border-dark,transparent)] data-[state=active]:border-current rounded-none",
101
101
  pills: "",
@@ -24,7 +24,7 @@ export const zuiToastRootAppearances = {
24
24
  "border-[color:var(--zui-toast-root-error-border,var(--zui-status-error,oklch(64.5%_0.246_16.439_/_0.5)))] dark:border-[color:var(--zui-toast-root-error-border-dark,var(--zui-status-error-dark,oklch(64.5%_0.246_16.439_/_0.5)))] bg-[var(--zui-toast-root-error-bg,var(--zui-status-error,oklch(27.1%_0.105_12.094)))] dark:bg-[var(--zui-toast-root-error-bg-dark,var(--zui-status-error-dark,oklch(27.1%_0.105_12.094)))] text-[color:var(--zui-toast-root-error-fg,var(--zui-fg,oklch(96.9%_0.015_12.422)))] dark:text-[color:var(--zui-toast-root-error-fg-dark,var(--zui-fg-dark,oklch(96.9%_0.015_12.422)))]",
25
25
  info: "border-[color:var(--zui-toast-root-info-border,var(--zui-status-info,oklch(68.5%_0.169_237.323_/_0.4)))] dark:border-[color:var(--zui-toast-root-info-border-dark,var(--zui-status-info-dark,oklch(68.5%_0.169_237.323_/_0.4)))] bg-[var(--zui-toast-root-info-bg,var(--zui-status-info,oklch(29.3%_0.066_243.157)))] dark:bg-[var(--zui-toast-root-info-bg-dark,var(--zui-status-info-dark,oklch(29.3%_0.066_243.157)))] text-[color:var(--zui-toast-root-info-fg,var(--zui-brand-fg,oklch(97.7%_0.013_236.62)))] dark:text-[color:var(--zui-toast-root-info-fg-dark,var(--zui-brand-fg-dark,oklch(97.7%_0.013_236.62)))]",
26
26
  ghost:
27
- "border-[color:var(--zui-toast-root-ghost-border,transparent)] dark:border-[color:var(--zui-toast-root-ghost-border-dark,transparent)] bg-[var(--zui-toast-root-ghost-bg,transparent)] dark:bg-[var(--zui-toast-root-ghost-bg-dark,transparent)] text-[color:var(--zui-toast-root-ghost-fg,var(--zui-fg-muted,oklch(20.8%_0.042_265.755)))] dark:text-[color:var(--zui-toast-root-ghost-fg-dark,var(--zui-fg-muted-dark,oklch(20.8%_0.042_265.755)))]",
27
+ "border-[color:var(--zui-toast-root-ghost-border,transparent)] dark:border-[color:var(--zui-toast-root-ghost-border-dark,transparent)] bg-[var(--zui-toast-root-ghost-bg,transparent)] dark:bg-[var(--zui-toast-root-ghost-bg-dark,transparent)] text-[color:var(--zui-toast-root-ghost-fg,var(--zui-fg-muted,oklch(20.8%_0.042_265.755)))] dark:text-[color:var(--zui-toast-root-ghost-fg-dark,var(--zui-fg-muted-dark,oklch(70.4%_0.04_256.788)))]",
28
28
  purple:
29
29
  "border-[color:var(--zui-toast-root-purple-border,var(--zui-color-purple,oklch(43.8%_0.218_303.724)))] dark:border-[color:var(--zui-toast-root-purple-border-dark,var(--zui-color-purple-dark,oklch(55.8%_0.288_302.321)))] bg-[var(--zui-toast-root-purple-bg,var(--zui-color-purple,oklch(29.1%_0.149_302.717)))] dark:bg-[var(--zui-toast-root-purple-bg-dark,var(--zui-color-purple-dark,oklch(29.1%_0.149_302.717)))] backdrop-blur-xl text-[color:var(--zui-toast-root-purple-fg,var(--zui-fg,oklch(97.7%_0.014_308.299)))] dark:text-[color:var(--zui-toast-root-purple-fg-dark,var(--zui-fg-dark,oklch(97.7%_0.014_308.299)))]",
30
30
  pink: "border-[color:var(--zui-toast-root-pink-border,var(--zui-color-pink,oklch(45.9%_0.187_3.815)))] dark:border-[color:var(--zui-toast-root-pink-border-dark,var(--zui-color-pink-dark,oklch(59.2%_0.249_0.584)))] bg-[var(--zui-toast-root-pink-bg,var(--zui-color-pink,oklch(28.4%_0.109_3.907)))] dark:bg-[var(--zui-toast-root-pink-bg-dark,var(--zui-color-pink-dark,oklch(28.4%_0.109_3.907)))] backdrop-blur-xl text-[color:var(--zui-toast-root-pink-fg,var(--zui-fg,oklch(97.1%_0.014_343.198)))] dark:text-[color:var(--zui-toast-root-pink-fg-dark,var(--zui-fg-dark,oklch(97.1%_0.014_343.198)))]",
@@ -1,6 +1,7 @@
1
1
  import { act, renderHook } from "@testing-library/react";
2
2
  import { describe, expect, it, vi } from "vitest";
3
3
 
4
+ import type { TableFilterState } from "./types";
4
5
  import { useTableFilter } from "./useTableFilter";
5
6
 
6
7
  const rows = [
@@ -9,6 +10,11 @@ const rows = [
9
10
  { name: "Comet", status: "active", seats: 8 },
10
11
  ] as const;
11
12
 
13
+ type RowFilterKey = "name" | "status";
14
+ type ControlledFilterProps = {
15
+ filters: TableFilterState<RowFilterKey>;
16
+ };
17
+
12
18
  describe("useTableFilter", () => {
13
19
  it("should return all rows when no filters are active", () => {
14
20
  const { result } = renderHook(() => useTableFilter({ data: rows }));
@@ -81,14 +87,18 @@ describe("useTableFilter", () => {
81
87
 
82
88
  it("should support controlled filters", () => {
83
89
  const handleFiltersChange = vi.fn();
90
+ const initialProps: ControlledFilterProps = {
91
+ filters: { status: "active" },
92
+ };
93
+
84
94
  const { result, rerender } = renderHook(
85
- ({ filters }: { filters: Record<string, string> }) =>
95
+ ({ filters }: ControlledFilterProps) =>
86
96
  useTableFilter({
87
97
  data: rows,
88
98
  filters,
89
99
  onFiltersChange: handleFiltersChange,
90
100
  }),
91
- { initialProps: { filters: { status: "active" } } },
101
+ { initialProps },
92
102
  );
93
103
 
94
104
  expect(result.current.filteredData.length).toBe(2);
@@ -53,6 +53,44 @@ describe("ContextMenu", () => {
53
53
  expect(screen.getByText("Row actions").tagName).toBe("P");
54
54
  });
55
55
 
56
+ it("should open a cloned trigger with Enter and Space", async () => {
57
+ const user = userEvent.setup();
58
+ renderContextMenu();
59
+
60
+ const trigger = screen.getByTestId("surface");
61
+ trigger.focus();
62
+ await user.keyboard("{Enter}");
63
+
64
+ expect(screen.getByRole("menu")).toBeVisible();
65
+
66
+ await user.keyboard("{Escape}");
67
+ await waitFor(() => {
68
+ expect(screen.queryByRole("menu")).not.toBeInTheDocument();
69
+ });
70
+
71
+ await user.keyboard(" ");
72
+
73
+ expect(screen.getByRole("menu")).toBeVisible();
74
+ });
75
+
76
+ it("should open the fallback trigger with Enter", async () => {
77
+ const user = userEvent.setup();
78
+ render(
79
+ <ContextMenu>
80
+ <ContextMenuTrigger>Right-click row</ContextMenuTrigger>
81
+ <ContextMenuContent>
82
+ <ContextMenuItem>Copy</ContextMenuItem>
83
+ </ContextMenuContent>
84
+ </ContextMenu>,
85
+ );
86
+
87
+ const trigger = screen.getByRole("button", { name: "Right-click row" });
88
+ trigger.focus();
89
+ await user.keyboard("{Enter}");
90
+
91
+ expect(screen.getByRole("menu")).toBeVisible();
92
+ });
93
+
56
94
  it("should clamp using the rendered menu dimensions", async () => {
57
95
  vi.spyOn(HTMLElement.prototype, "getBoundingClientRect").mockReturnValue({
58
96
  bottom: 0,
@@ -15,7 +15,6 @@ import {
15
15
  useState,
16
16
  type KeyboardEvent,
17
17
  type MouseEvent,
18
- type ReactElement,
19
18
  type Ref,
20
19
  type RefObject,
21
20
  } from "react";
@@ -222,6 +221,14 @@ export const ContextMenuTrigger = ({
222
221
  openAt({ x: event.clientX, y: event.clientY });
223
222
  }
224
223
  };
224
+ const handleKeyboardTrigger = (event: KeyboardEvent<HTMLElement>) => {
225
+ if (disabled || (event.key !== "Enter" && event.key !== " ")) {
226
+ return;
227
+ }
228
+ event.preventDefault();
229
+ const rect = event.currentTarget.getBoundingClientRect();
230
+ openAt({ x: rect.left, y: rect.bottom });
231
+ };
225
232
  const childList = Children.toArray(children).filter(
226
233
  (node) => node !== null && node !== undefined && typeof node !== "boolean",
227
234
  );
@@ -239,8 +246,15 @@ export const ContextMenuTrigger = ({
239
246
  handleContextMenu(event);
240
247
  }
241
248
  },
249
+ onKeyDown: (event) => {
250
+ soleCandidate.props.onKeyDown?.(event);
251
+ if (!event.defaultPrevented) {
252
+ handleKeyboardTrigger(event);
253
+ }
254
+ },
242
255
  className: cn(className, soleCandidate.props.className),
243
256
  tabIndex: soleCandidate.props.tabIndex ?? 0,
257
+ role: soleCandidate.props.role ?? "button",
244
258
  "aria-controls": open ? contentId : undefined,
245
259
  "aria-expanded": open,
246
260
  "aria-haspopup": "menu",
@@ -251,8 +265,10 @@ export const ContextMenuTrigger = ({
251
265
  <span
252
266
  ref={triggerRef as Ref<HTMLSpanElement>}
253
267
  className={className}
268
+ role="button"
254
269
  tabIndex={0}
255
270
  onContextMenu={handleContextMenu}
271
+ onKeyDown={handleKeyboardTrigger}
256
272
  aria-controls={open ? contentId : undefined}
257
273
  aria-expanded={open}
258
274
  aria-haspopup="menu"
@@ -2,6 +2,7 @@ import type { VariantProps } from "class-variance-authority";
2
2
  import type {
3
3
  ComponentPropsWithRef,
4
4
  HTMLAttributes,
5
+ KeyboardEvent,
5
6
  MouseEvent,
6
7
  ReactElement,
7
8
  ReactNode,
@@ -103,8 +104,10 @@ export type ReactChildSoleCandidate = ReactElement<{
103
104
  className?: string;
104
105
  ref?: Ref<HTMLElement>;
105
106
  onContextMenu?: (event: MouseEvent<HTMLElement>) => void;
107
+ onKeyDown?: (event: KeyboardEvent<HTMLElement>) => void;
106
108
  tabIndex?: number;
107
109
  "aria-controls"?: string;
108
110
  "aria-expanded"?: boolean;
109
111
  "aria-haspopup"?: string;
112
+ role?: string;
110
113
  }>;
@@ -7,6 +7,7 @@ import {
7
7
  useRef,
8
8
  useEffect,
9
9
  useId,
10
+ type KeyboardEvent,
10
11
  } from "react";
11
12
  import { FiCheck } from "react-icons/fi";
12
13
  import { cn } from "../../lib/utils";
@@ -136,6 +137,14 @@ export const DropdownContent = ({
136
137
  // click outside
137
138
  useClickOutside({ ref, setOpen });
138
139
 
140
+ useEffect(() => {
141
+ if (!open) {
142
+ return;
143
+ }
144
+
145
+ ref.current?.querySelector<HTMLElement>('[role="menuitem"]')?.focus();
146
+ }, [open]);
147
+
139
148
  if (!open) return null;
140
149
 
141
150
  return (
@@ -163,6 +172,8 @@ export const DropdownItem = ({
163
172
  value,
164
173
  className,
165
174
  variant,
175
+ onClick,
176
+ onKeyDown,
166
177
  onSelect,
167
178
  leftIcon,
168
179
  rightIcon,
@@ -176,15 +187,61 @@ export const DropdownItem = ({
176
187
  onSelect?.();
177
188
  };
178
189
 
190
+ const focusSiblingItem = (
191
+ event: KeyboardEvent<HTMLDivElement>,
192
+ direction: "next" | "previous" | "first" | "last",
193
+ ) => {
194
+ const menu = event.currentTarget.closest('[role="menu"]');
195
+ const items = Array.from(
196
+ menu?.querySelectorAll<HTMLElement>('[role="menuitem"]') ?? [],
197
+ );
198
+ const currentIndex = items.indexOf(event.currentTarget);
199
+
200
+ if (currentIndex === -1 || items.length === 0) {
201
+ return;
202
+ }
203
+
204
+ const nextIndex =
205
+ direction === "first"
206
+ ? 0
207
+ : direction === "last"
208
+ ? items.length - 1
209
+ : (currentIndex + (direction === "next" ? 1 : -1) + items.length) %
210
+ items.length;
211
+
212
+ items[nextIndex]?.focus();
213
+ };
214
+
179
215
  return (
180
216
  <div
181
217
  role="menuitem"
182
- tabIndex={0}
183
- onClick={handleClick}
218
+ tabIndex={-1}
219
+ onClick={(event) => {
220
+ onClick?.(event);
221
+ if (!event.defaultPrevented) {
222
+ handleClick();
223
+ }
224
+ }}
184
225
  onKeyDown={(e) => {
226
+ onKeyDown?.(e);
227
+ if (e.defaultPrevented) {
228
+ return;
229
+ }
185
230
  if (e.key === "Enter" || e.key === " ") {
186
231
  e.preventDefault();
187
232
  handleClick();
233
+ } else if (e.key === "ArrowDown") {
234
+ e.preventDefault();
235
+ focusSiblingItem(e, "next");
236
+ } else if (e.key === "ArrowUp") {
237
+ e.preventDefault();
238
+ focusSiblingItem(e, "previous");
239
+ } else if (e.key === "Home") {
240
+ e.preventDefault();
241
+ focusSiblingItem(e, "first");
242
+ } else if (e.key === "End") {
243
+ e.preventDefault();
244
+ focusSiblingItem(e, "last");
188
245
  }
189
246
  }}
190
247
  className={cn(itemVariants({ variant }), className)}
@@ -40,6 +40,15 @@ describe("Skeleton", () => {
40
40
  ).not.toMatch(/animate-pulse/);
41
41
  });
42
42
 
43
+ it("should keep colored static appearances in one Tailwind arbitrary class", () => {
44
+ const { container } = render(
45
+ <Skeleton appearance="indigo" animation="none" />,
46
+ );
47
+ const root = container.querySelector('[data-slot="skeleton"]');
48
+ expect(root?.className).toContain("color-mix(in_oklch");
49
+ expect(root?.className).not.toContain("color-mix(in oklch");
50
+ });
51
+
43
52
  it("should render the requested number of text lines", () => {
44
53
  const { container } = render(<SkeletonText lines={4} />);
45
54
  const root = container.querySelector('[data-slot="skeleton-text"]');