@shuriken-ui/tailwind 3.0.0 → 3.0.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.
@@ -15,8 +15,8 @@ function mergePlugins(plugins) {
15
15
  return plugin((api) => plugins.map((plugin2) => plugin2.handler(api)), config);
16
16
  }
17
17
 
18
- const key$S = "accordion";
19
- const defaultConfig$R = {
18
+ const key$T = "accordion";
19
+ const defaultConfig$S = {
20
20
  wrapper: {
21
21
  width: "full",
22
22
  rounded: {
@@ -233,15 +233,15 @@ const defaultConfig$R = {
233
233
  }
234
234
  };
235
235
 
236
- const config$S = {
236
+ const config$T = {
237
237
  theme: {
238
238
  nui: {
239
- [key$S]: defaultConfig$R
239
+ [key$T]: defaultConfig$S
240
240
  }
241
241
  }
242
242
  };
243
243
  const accordion = plugin(({ addComponents, theme }) => {
244
- const config2 = theme(`nui.${key$S}`);
244
+ const config2 = theme(`nui.${key$T}`);
245
245
  addComponents({
246
246
  //Accordion:wrapper
247
247
  ".nui-accordion": {
@@ -458,10 +458,10 @@ const accordion = plugin(({ addComponents, theme }) => {
458
458
  }
459
459
  }
460
460
  });
461
- }, config$S);
461
+ }, config$T);
462
462
 
463
- const key$R = "autocomplete";
464
- const defaultConfig$Q = {
463
+ const key$S = "autocomplete";
464
+ const defaultConfig$R = {
465
465
  rounded: {
466
466
  none: "none",
467
467
  sm: "md",
@@ -949,15 +949,15 @@ const defaultConfig$Q = {
949
949
  }
950
950
  };
951
951
 
952
- const config$R = {
952
+ const config$S = {
953
953
  theme: {
954
954
  nui: {
955
- [key$R]: defaultConfig$Q
955
+ [key$S]: defaultConfig$R
956
956
  }
957
957
  }
958
958
  };
959
959
  const autocomplete = plugin(({ addComponents, theme }) => {
960
- const config2 = theme(`nui.${key$R}`);
960
+ const config2 = theme(`nui.${key$S}`);
961
961
  addComponents({
962
962
  ".nui-autocomplete": {
963
963
  "@apply w-full relative": {},
@@ -1051,15 +1051,6 @@ const autocomplete = plugin(({ addComponents, theme }) => {
1051
1051
  "@apply h-3 w-full max-w-[75%] rounded": {}
1052
1052
  }
1053
1053
  },
1054
- //Autocomplete:error
1055
- ".nui-autocomplete-error-text": {
1056
- //Base
1057
- "@apply mt-1 block leading-none": {},
1058
- //Error text font
1059
- [`@apply font-${config2.error.font.family} text-${config2.error.font.size} font-${config2.error.font.weight}`]: {},
1060
- //Error text color
1061
- [`@apply text-${config2.error.font.color.light} dark:text-${config2.error.font.color.dark}`]: {}
1062
- },
1063
1054
  //Autocomplete:results
1064
1055
  ".nui-autocomplete-results": {
1065
1056
  "@apply nui-slimscroll absolute z-20 mt-1 max-h-[265px] w-full overflow-auto py-1 outline-none sm:text-sm": {},
@@ -1463,10 +1454,10 @@ const autocomplete = plugin(({ addComponents, theme }) => {
1463
1454
  }
1464
1455
  }
1465
1456
  });
1466
- }, config$R);
1457
+ }, config$S);
1467
1458
 
1468
- const key$Q = "avatar";
1469
- const defaultConfig$P = {
1459
+ const key$R = "avatar";
1460
+ const defaultConfig$Q = {
1470
1461
  inner: {
1471
1462
  size: "full",
1472
1463
  transition: {
@@ -1815,15 +1806,15 @@ const defaultConfig$P = {
1815
1806
  }
1816
1807
  };
1817
1808
 
1818
- const config$Q = {
1809
+ const config$R = {
1819
1810
  theme: {
1820
1811
  nui: {
1821
- [key$Q]: defaultConfig$P
1812
+ [key$R]: defaultConfig$Q
1822
1813
  }
1823
1814
  }
1824
1815
  };
1825
1816
  const avatar = plugin(({ addComponents, theme }) => {
1826
- const config2 = theme(`nui.${key$Q}`);
1817
+ const config2 = theme(`nui.${key$R}`);
1827
1818
  addComponents({
1828
1819
  ".nui-avatar": {
1829
1820
  //Avatar:wrapper
@@ -2588,10 +2579,10 @@ const avatar = plugin(({ addComponents, theme }) => {
2588
2579
  }
2589
2580
  }
2590
2581
  });
2591
- }, config$Q);
2582
+ }, config$R);
2592
2583
 
2593
- const key$P = "avatarGroup";
2594
- const defaultConfig$O = {
2584
+ const key$Q = "avatarGroup";
2585
+ const defaultConfig$P = {
2595
2586
  avatar: {
2596
2587
  rounded: "full",
2597
2588
  outer: {
@@ -2711,15 +2702,15 @@ const defaultConfig$O = {
2711
2702
  }
2712
2703
  };
2713
2704
 
2714
- const config$P = {
2705
+ const config$Q = {
2715
2706
  theme: {
2716
2707
  nui: {
2717
- [key$P]: defaultConfig$O
2708
+ [key$Q]: defaultConfig$P
2718
2709
  }
2719
2710
  }
2720
2711
  };
2721
2712
  const avatarGroup = plugin(({ addComponents, theme }) => {
2722
- const config2 = theme(`nui.${key$P}`);
2713
+ const config2 = theme(`nui.${key$Q}`);
2723
2714
  addComponents({
2724
2715
  ".nui-avatar-group": {
2725
2716
  "@apply flex": {},
@@ -2863,10 +2854,10 @@ const avatarGroup = plugin(({ addComponents, theme }) => {
2863
2854
  }
2864
2855
  }
2865
2856
  });
2866
- }, config$P);
2857
+ }, config$Q);
2867
2858
 
2868
- const key$O = "breadcrumb";
2869
- const defaultConfig$N = {
2859
+ const key$P = "breadcrumb";
2860
+ const defaultConfig$O = {
2870
2861
  item: {
2871
2862
  text: {
2872
2863
  font: {
@@ -2932,15 +2923,15 @@ const defaultConfig$N = {
2932
2923
  }
2933
2924
  };
2934
2925
 
2935
- const config$O = {
2926
+ const config$P = {
2936
2927
  theme: {
2937
2928
  nui: {
2938
- [key$O]: defaultConfig$N
2929
+ [key$P]: defaultConfig$O
2939
2930
  }
2940
2931
  }
2941
2932
  };
2942
2933
  const breadcrumb = plugin(({ addComponents, theme }) => {
2943
- const config2 = theme(`nui.${key$O}`);
2934
+ const config2 = theme(`nui.${key$P}`);
2944
2935
  addComponents({
2945
2936
  ".nui-breadcrumb": {
2946
2937
  ".nui-breadcrumb-list": {
@@ -3005,10 +2996,10 @@ const breadcrumb = plugin(({ addComponents, theme }) => {
3005
2996
  }
3006
2997
  }
3007
2998
  });
3008
- }, config$O);
2999
+ }, config$P);
3009
3000
 
3010
- const key$N = "buttonAction";
3011
- const defaultConfig$M = {
3001
+ const key$O = "buttonAction";
3002
+ const defaultConfig$N = {
3012
3003
  rounded: {
3013
3004
  none: "none",
3014
3005
  sm: "md",
@@ -3343,15 +3334,15 @@ const defaultConfig$M = {
3343
3334
  }
3344
3335
  };
3345
3336
 
3346
- const config$N = {
3337
+ const config$O = {
3347
3338
  theme: {
3348
3339
  nui: {
3349
- [key$N]: defaultConfig$M
3340
+ [key$O]: defaultConfig$N
3350
3341
  }
3351
3342
  }
3352
3343
  };
3353
3344
  const buttonAction = plugin(({ addComponents, theme }) => {
3354
- const config2 = theme(`nui.${key$N}`);
3345
+ const config2 = theme(`nui.${key$O}`);
3355
3346
  addComponents({
3356
3347
  ".nui-button-action": {
3357
3348
  //Wrapper
@@ -3540,10 +3531,10 @@ const buttonAction = plugin(({ addComponents, theme }) => {
3540
3531
  }
3541
3532
  }
3542
3533
  });
3543
- }, config$N);
3534
+ }, config$O);
3544
3535
 
3545
- const key$M = "buttonClose";
3546
- const defaultConfig$L = {
3536
+ const key$N = "buttonClose";
3537
+ const defaultConfig$M = {
3547
3538
  size: {
3548
3539
  xs: {
3549
3540
  outer: "6",
@@ -3579,6 +3570,14 @@ const defaultConfig$L = {
3579
3570
  hover: {
3580
3571
  light: "muted-100",
3581
3572
  dark: "muted-700"
3573
+ },
3574
+ focus: {
3575
+ light: "muted-100",
3576
+ dark: "muted-700"
3577
+ },
3578
+ active: {
3579
+ light: "transparent",
3580
+ dark: "transparent"
3582
3581
  }
3583
3582
  },
3584
3583
  font: {
@@ -3597,6 +3596,14 @@ const defaultConfig$L = {
3597
3596
  hover: {
3598
3597
  light: "muted-100",
3599
3598
  dark: "muted-900"
3599
+ },
3600
+ focus: {
3601
+ light: "muted-100",
3602
+ dark: "muted-900"
3603
+ },
3604
+ active: {
3605
+ light: "transparent",
3606
+ dark: "transparent"
3600
3607
  }
3601
3608
  },
3602
3609
  font: {
@@ -3615,6 +3622,14 @@ const defaultConfig$L = {
3615
3622
  hover: {
3616
3623
  light: "muted-50",
3617
3624
  dark: "muted-600"
3625
+ },
3626
+ focus: {
3627
+ light: "muted-50",
3628
+ dark: "muted-600"
3629
+ },
3630
+ active: {
3631
+ light: "muted-100",
3632
+ dark: "muted-700"
3618
3633
  }
3619
3634
  },
3620
3635
  font: {
@@ -3633,6 +3648,14 @@ const defaultConfig$L = {
3633
3648
  hover: {
3634
3649
  light: "muted-50",
3635
3650
  dark: "muted-900"
3651
+ },
3652
+ focus: {
3653
+ light: "muted-50",
3654
+ dark: "muted-900"
3655
+ },
3656
+ active: {
3657
+ light: "muted-100",
3658
+ dark: "muted-950"
3636
3659
  }
3637
3660
  },
3638
3661
  font: {
@@ -3651,6 +3674,14 @@ const defaultConfig$L = {
3651
3674
  hover: {
3652
3675
  light: "primary-500/20",
3653
3676
  dark: "primary-500/20"
3677
+ },
3678
+ focus: {
3679
+ light: "primary-500/20",
3680
+ dark: "primary-500/20"
3681
+ },
3682
+ active: {
3683
+ light: "primary-500/10",
3684
+ dark: "primary-500/10"
3654
3685
  }
3655
3686
  },
3656
3687
  font: {
@@ -3669,6 +3700,14 @@ const defaultConfig$L = {
3669
3700
  hover: {
3670
3701
  light: "info-500/20",
3671
3702
  dark: "info-500/20"
3703
+ },
3704
+ focus: {
3705
+ light: "info-500/20",
3706
+ dark: "info-500/20"
3707
+ },
3708
+ active: {
3709
+ light: "info-500/10",
3710
+ dark: "info-500/10"
3672
3711
  }
3673
3712
  },
3674
3713
  font: {
@@ -3687,6 +3726,14 @@ const defaultConfig$L = {
3687
3726
  hover: {
3688
3727
  light: "success-500/20",
3689
3728
  dark: "success-500/20"
3729
+ },
3730
+ focus: {
3731
+ light: "success-500/20",
3732
+ dark: "success-500/20"
3733
+ },
3734
+ active: {
3735
+ light: "success-500/10",
3736
+ dark: "success-500/10"
3690
3737
  }
3691
3738
  },
3692
3739
  font: {
@@ -3705,6 +3752,14 @@ const defaultConfig$L = {
3705
3752
  hover: {
3706
3753
  light: "warning-500/20",
3707
3754
  dark: "warning-500/20"
3755
+ },
3756
+ focus: {
3757
+ light: "warning-500/20",
3758
+ dark: "warning-500/20"
3759
+ },
3760
+ active: {
3761
+ light: "warning-500/10",
3762
+ dark: "warning-500/10"
3708
3763
  }
3709
3764
  },
3710
3765
  font: {
@@ -3723,6 +3778,14 @@ const defaultConfig$L = {
3723
3778
  hover: {
3724
3779
  light: "danger-500/20",
3725
3780
  dark: "danger-500/20"
3781
+ },
3782
+ focus: {
3783
+ light: "danger-500/20",
3784
+ dark: "danger-500/20"
3785
+ },
3786
+ active: {
3787
+ light: "danger-500/10",
3788
+ dark: "danger-500/10"
3726
3789
  }
3727
3790
  },
3728
3791
  font: {
@@ -3739,15 +3802,15 @@ const defaultConfig$L = {
3739
3802
  }
3740
3803
  };
3741
3804
 
3742
- const config$M = {
3805
+ const config$N = {
3743
3806
  theme: {
3744
3807
  nui: {
3745
- [key$M]: defaultConfig$L
3808
+ [key$N]: defaultConfig$M
3746
3809
  }
3747
3810
  }
3748
3811
  };
3749
3812
  const buttonClose = plugin(({ addComponents, theme }) => {
3750
- const config2 = theme(`nui.${key$M}`);
3813
+ const config2 = theme(`nui.${key$N}`);
3751
3814
  addComponents({
3752
3815
  ".nui-button-close": {
3753
3816
  "@apply nui-focus flex items-center justify-center disabled:opacity-30 cursor-pointer": {},
@@ -3807,7 +3870,11 @@ const buttonClose = plugin(({ addComponents, theme }) => {
3807
3870
  //Background
3808
3871
  [`@apply bg-${config2.color.default.background.base.light} dark:bg-${config2.color.default.background.base.dark}`]: {},
3809
3872
  //Background hover
3810
- [`@apply hover:bg-${config2.color.default.background.hover.light} dark:hover:bg-${config2.color.default.background.hover.dark}`]: {}
3873
+ [`@apply hover:bg-${config2.color.default.background.hover.light} dark:hover:bg-${config2.color.default.background.hover.dark}`]: {},
3874
+ //Background focus
3875
+ [`@apply focus-visible:bg-${config2.color.default.background.focus.light} dark:focus-visible:bg-${config2.color.default.background.focus.dark}`]: {},
3876
+ //Background active
3877
+ [`@apply active:enabled:bg-${config2.color.default.background.active.light} dark:active:enabled:bg-${config2.color.default.background.active.dark}`]: {}
3811
3878
  },
3812
3879
  //Color:default-contrast
3813
3880
  "&.nui-button-default-contrast": {
@@ -3815,7 +3882,11 @@ const buttonClose = plugin(({ addComponents, theme }) => {
3815
3882
  //Background
3816
3883
  [`@apply bg-${config2.color.defaultContrast.background.base.light} dark:bg-${config2.color.defaultContrast.background.base.dark}`]: {},
3817
3884
  //Background hover
3818
- [`@apply hover:bg-${config2.color.defaultContrast.background.hover.light} dark:hover:bg-${config2.color.defaultContrast.background.hover.dark}`]: {}
3885
+ [`@apply hover:bg-${config2.color.defaultContrast.background.hover.light} dark:hover:bg-${config2.color.defaultContrast.background.hover.dark}`]: {},
3886
+ //Background focus
3887
+ [`@apply focus-visible:bg-${config2.color.defaultContrast.background.focus.light} dark:focus-visible:bg-${config2.color.defaultContrast.background.focus.dark}`]: {},
3888
+ //Background active
3889
+ [`@apply active:enabled:bg-${config2.color.defaultContrast.background.active.light} dark:active:enabled:bg-${config2.color.defaultContrast.background.active.dark}`]: {}
3819
3890
  },
3820
3891
  //Color:muted
3821
3892
  "&.nui-button-muted": {
@@ -3823,7 +3894,11 @@ const buttonClose = plugin(({ addComponents, theme }) => {
3823
3894
  //Background
3824
3895
  [`@apply bg-${config2.color.muted.background.base.light} dark:bg-${config2.color.muted.background.base.dark}`]: {},
3825
3896
  //Background hover
3826
- [`@apply hover:bg-${config2.color.muted.background.hover.light} dark:hover:bg-${config2.color.muted.background.hover.dark}`]: {}
3897
+ [`@apply hover:bg-${config2.color.muted.background.hover.light} dark:hover:bg-${config2.color.muted.background.hover.dark}`]: {},
3898
+ //Background focus
3899
+ [`@apply focus-visible:bg-${config2.color.muted.background.focus.light} dark:focus-visible:bg-${config2.color.muted.background.focus.dark}`]: {},
3900
+ //Background active
3901
+ [`@apply active:enabled:bg-${config2.color.muted.background.active.light} dark:active:enabled:bg-${config2.color.muted.background.active.dark}`]: {}
3827
3902
  },
3828
3903
  //Color:muted-contrast
3829
3904
  "&.nui-button-muted-contrast": {
@@ -3831,7 +3906,11 @@ const buttonClose = plugin(({ addComponents, theme }) => {
3831
3906
  //Background
3832
3907
  [`@apply bg-${config2.color.mutedContrast.background.base.light} dark:bg-${config2.color.mutedContrast.background.base.dark}`]: {},
3833
3908
  //Background hover
3834
- [`@apply hover:bg-${config2.color.mutedContrast.background.hover.light} dark:hover:bg-${config2.color.mutedContrast.background.hover.dark}`]: {}
3909
+ [`@apply hover:bg-${config2.color.mutedContrast.background.hover.light} dark:hover:bg-${config2.color.mutedContrast.background.hover.dark}`]: {},
3910
+ //Background focus
3911
+ [`@apply focus-visible:bg-${config2.color.mutedContrast.background.focus.light} dark:focus-visible:bg-${config2.color.mutedContrast.background.focus.dark}`]: {},
3912
+ //Background active
3913
+ [`@apply active:enabled:bg-${config2.color.mutedContrast.background.active.light} dark:active:enabled:bg-${config2.color.mutedContrast.background.active.dark}`]: {}
3835
3914
  },
3836
3915
  //Color:primary
3837
3916
  "&.nui-button-primary": {
@@ -3839,7 +3918,11 @@ const buttonClose = plugin(({ addComponents, theme }) => {
3839
3918
  //Background
3840
3919
  [`@apply bg-${config2.color.primary.background.base.light} dark:bg-${config2.color.primary.background.base.dark}`]: {},
3841
3920
  //Background hover
3842
- [`@apply hover:bg-${config2.color.primary.background.hover.light} dark:hover:bg-${config2.color.primary.background.hover.dark}`]: {}
3921
+ [`@apply hover:bg-${config2.color.primary.background.hover.light} dark:hover:bg-${config2.color.primary.background.hover.dark}`]: {},
3922
+ //Background focus
3923
+ [`@apply focus-visible:bg-${config2.color.primary.background.focus.light} dark:focus-visible:bg-${config2.color.primary.background.focus.dark}`]: {},
3924
+ //Background active
3925
+ [`@apply active:enabled:bg-${config2.color.primary.background.active.light} dark:active:enabled:bg-${config2.color.primary.background.active.dark}`]: {}
3843
3926
  },
3844
3927
  //Color:info
3845
3928
  "&.nui-button-info": {
@@ -3847,7 +3930,11 @@ const buttonClose = plugin(({ addComponents, theme }) => {
3847
3930
  //Background
3848
3931
  [`@apply bg-${config2.color.info.background.base.light} dark:bg-${config2.color.info.background.base.dark}`]: {},
3849
3932
  //Background hover
3850
- [`@apply hover:bg-${config2.color.info.background.hover.light} dark:hover:bg-${config2.color.info.background.hover.dark}`]: {}
3933
+ [`@apply hover:bg-${config2.color.info.background.hover.light} dark:hover:bg-${config2.color.info.background.hover.dark}`]: {},
3934
+ //Background focus
3935
+ [`@apply focus-visible:bg-${config2.color.info.background.focus.light} dark:focus-visible:bg-${config2.color.info.background.focus.dark}`]: {},
3936
+ //Background active
3937
+ [`@apply active:enabled:bg-${config2.color.info.background.active.light} dark:active:enabled:bg-${config2.color.info.background.active.dark}`]: {}
3851
3938
  },
3852
3939
  //Color:success
3853
3940
  "&.nui-button-success": {
@@ -3855,7 +3942,11 @@ const buttonClose = plugin(({ addComponents, theme }) => {
3855
3942
  //Background
3856
3943
  [`@apply bg-${config2.color.success.background.base.light} dark:bg-${config2.color.success.background.base.dark}`]: {},
3857
3944
  //Background hover
3858
- [`@apply hover:bg-${config2.color.success.background.hover.light} dark:hover:bg-${config2.color.success.background.hover.dark}`]: {}
3945
+ [`@apply hover:bg-${config2.color.success.background.hover.light} dark:hover:bg-${config2.color.success.background.hover.dark}`]: {},
3946
+ //Background focus
3947
+ [`@apply focus-visible:bg-${config2.color.success.background.focus.light} dark:focus-visible:bg-${config2.color.success.background.focus.dark}`]: {},
3948
+ //Background active
3949
+ [`@apply active:enabled:bg-${config2.color.success.background.active.light} dark:active:enabled:bg-${config2.color.success.background.active.dark}`]: {}
3859
3950
  },
3860
3951
  //Color:warning
3861
3952
  "&.nui-button-warning": {
@@ -3863,7 +3954,11 @@ const buttonClose = plugin(({ addComponents, theme }) => {
3863
3954
  //Background
3864
3955
  [`@apply bg-${config2.color.warning.background.base.light} dark:bg-${config2.color.warning.background.base.dark}`]: {},
3865
3956
  //Background hover
3866
- [`@apply hover:bg-${config2.color.warning.background.hover.light} dark:hover:bg-${config2.color.warning.background.hover.dark}`]: {}
3957
+ [`@apply hover:bg-${config2.color.warning.background.hover.light} dark:hover:bg-${config2.color.warning.background.hover.dark}`]: {},
3958
+ //Background focus
3959
+ [`@apply focus-visible:bg-${config2.color.warning.background.focus.light} dark:focus-visible:bg-${config2.color.warning.background.focus.dark}`]: {},
3960
+ //Background active
3961
+ [`@apply active:enabled:bg-${config2.color.warning.background.active.light} dark:active:enabled:bg-${config2.color.warning.background.active.dark}`]: {}
3867
3962
  },
3868
3963
  //Color:danger
3869
3964
  "&.nui-button-danger": {
@@ -3871,19 +3966,23 @@ const buttonClose = plugin(({ addComponents, theme }) => {
3871
3966
  //Background
3872
3967
  [`@apply bg-${config2.color.danger.background.base.light} dark:bg-${config2.color.danger.background.base.dark}`]: {},
3873
3968
  //Background hover
3874
- [`@apply hover:bg-${config2.color.danger.background.hover.light} dark:hover:bg-${config2.color.danger.background.hover.dark}`]: {}
3969
+ [`@apply hover:bg-${config2.color.danger.background.hover.light} dark:hover:bg-${config2.color.danger.background.hover.dark}`]: {},
3970
+ //Background focus
3971
+ [`@apply focus-visible:bg-${config2.color.danger.background.focus.light} dark:focus-visible:bg-${config2.color.danger.background.focus.dark}`]: {},
3972
+ //Background active
3973
+ [`@apply active:enabled:bg-${config2.color.danger.background.active.light} dark:active:enabled:bg-${config2.color.danger.background.active.dark}`]: {}
3875
3974
  }
3876
3975
  }
3877
3976
  });
3878
- }, config$M);
3977
+ }, config$N);
3879
3978
 
3880
- const key$L = "buttonAction";
3881
- const defaultConfig$K = {};
3979
+ const key$M = "buttonAction";
3980
+ const defaultConfig$L = {};
3882
3981
 
3883
- const config$L = {
3982
+ const config$M = {
3884
3983
  theme: {
3885
3984
  nui: {
3886
- [key$L]: defaultConfig$K
3985
+ [key$M]: defaultConfig$L
3887
3986
  }
3888
3987
  }
3889
3988
  };
@@ -3892,7 +3991,7 @@ const buttonGroup = plugin(
3892
3991
  '.nui-button-group, [role="group"]': {
3893
3992
  "@apply flex": {},
3894
3993
  // Button
3895
- ".nui-button:not(:only-child), .nui-button-action:not(:only-child), .nui-button-icon:not(:only-child)": {
3994
+ "> .nui-button:not(:only-child), > .nui-button-action:not(:only-child), > .nui-button-icon:not(:only-child)": {
3896
3995
  "@apply !border-e-0": {},
3897
3996
  "&:focus": {
3898
3997
  "@apply !z-10 relative": {}
@@ -4076,11 +4175,11 @@ const buttonGroup = plugin(
4076
4175
  }
4077
4176
  }
4078
4177
  }),
4079
- config$L
4178
+ config$M
4080
4179
  );
4081
4180
 
4082
- const key$K = "buttonIcon";
4083
- const defaultConfig$J = {
4181
+ const key$L = "buttonIcon";
4182
+ const defaultConfig$K = {
4084
4183
  font: {
4085
4184
  family: "sans",
4086
4185
  size: "sm",
@@ -4338,15 +4437,15 @@ const defaultConfig$J = {
4338
4437
  }
4339
4438
  };
4340
4439
 
4341
- const config$K = {
4440
+ const config$L = {
4342
4441
  theme: {
4343
4442
  nui: {
4344
- [key$K]: defaultConfig$J
4443
+ [key$L]: defaultConfig$K
4345
4444
  }
4346
4445
  }
4347
4446
  };
4348
4447
  const buttonIcon = plugin(({ addComponents, theme }) => {
4349
- const config2 = theme(`nui.${key$K}`);
4448
+ const config2 = theme(`nui.${key$L}`);
4350
4449
  addComponents({
4351
4450
  ".nui-button-icon": {
4352
4451
  //Base
@@ -4501,10 +4600,10 @@ const buttonIcon = plugin(({ addComponents, theme }) => {
4501
4600
  }
4502
4601
  }
4503
4602
  });
4504
- }, config$K);
4603
+ }, config$L);
4505
4604
 
4506
- const key$J = "button";
4507
- const defaultConfig$I = {
4605
+ const key$K = "button";
4606
+ const defaultConfig$J = {
4508
4607
  font: {
4509
4608
  family: "sans",
4510
4609
  weight: "normal"
@@ -4514,7 +4613,7 @@ const defaultConfig$I = {
4514
4613
  duration: "300"
4515
4614
  },
4516
4615
  size: {
4517
- small: {
4616
+ sm: {
4518
4617
  button: {
4519
4618
  text: "sm",
4520
4619
  height: "8",
@@ -4527,7 +4626,7 @@ const defaultConfig$I = {
4527
4626
  size: "3"
4528
4627
  }
4529
4628
  },
4530
- medium: {
4629
+ md: {
4531
4630
  button: {
4532
4631
  text: "sm",
4533
4632
  height: "10",
@@ -4540,7 +4639,7 @@ const defaultConfig$I = {
4540
4639
  size: "4"
4541
4640
  }
4542
4641
  },
4543
- large: {
4642
+ lg: {
4544
4643
  button: {
4545
4644
  text: "base",
4546
4645
  height: "12",
@@ -4552,26 +4651,13 @@ const defaultConfig$I = {
4552
4651
  icon: {
4553
4652
  size: "5"
4554
4653
  }
4555
- },
4556
- xlarge: {
4557
- button: {
4558
- text: "base",
4559
- height: "14",
4560
- padding: {
4561
- x: "10",
4562
- y: "4"
4563
- }
4564
- },
4565
- icon: {
4566
- size: "5"
4567
- }
4568
4654
  }
4569
4655
  },
4570
4656
  rounded: {
4571
4657
  none: "none",
4572
- small: "md",
4573
- medium: "lg",
4574
- large: "xl",
4658
+ sm: "md",
4659
+ md: "lg",
4660
+ lg: "xl",
4575
4661
  full: "full"
4576
4662
  },
4577
4663
  variant: {
@@ -5555,15 +5641,15 @@ const defaultConfig$I = {
5555
5641
  }
5556
5642
  };
5557
5643
 
5558
- const config$J = {
5644
+ const config$K = {
5559
5645
  theme: {
5560
5646
  nui: {
5561
- button: defaultConfig$I
5647
+ button: defaultConfig$J
5562
5648
  }
5563
5649
  }
5564
5650
  };
5565
5651
  const button = plugin(({ addComponents, theme }) => {
5566
- const config2 = theme(`nui.${key$J}`);
5652
+ const config2 = theme(`nui.${key$K}`);
5567
5653
  addComponents({
5568
5654
  ".nui-button": {
5569
5655
  // #region Base
@@ -5630,40 +5716,34 @@ const button = plugin(({ addComponents, theme }) => {
5630
5716
  },
5631
5717
  // #endregion
5632
5718
  // #region Sizes
5633
- "&.nui-button-small": {
5634
- [`@apply h-${config2.size.small.button.height} px-${config2.size.small.button.padding.x} py-${config2.size.small.button.padding.y} text-${config2.size.small.button.text}`]: {},
5635
- ".nui-button-icon": {
5636
- [`@apply w-${config2.size.small.icon.size} h-${config2.size.small.icon.size}`]: {}
5637
- }
5638
- },
5639
- "&.nui-button-medium": {
5640
- [`@apply h-${config2.size.medium.button.height} px-${config2.size.medium.button.padding.x} py-${config2.size.medium.button.padding.y} text-${config2.size.medium.button.text}`]: {},
5719
+ "&.nui-button-sm": {
5720
+ [`@apply h-${config2.size.sm.button.height} px-${config2.size.sm.button.padding.x} py-${config2.size.sm.button.padding.y} text-${config2.size.sm.button.text}`]: {},
5641
5721
  ".nui-button-icon": {
5642
- [`@apply w-${config2.size.medium.icon.size} h-${config2.size.medium.icon.size}`]: {}
5722
+ [`@apply w-${config2.size.sm.icon.size} h-${config2.size.sm.icon.size}`]: {}
5643
5723
  }
5644
5724
  },
5645
- "&.nui-button-large": {
5646
- [`@apply h-${config2.size.large.button.height} px-${config2.size.large.button.padding.x} py-${config2.size.large.button.padding.y} text-${config2.size.large.button.text}`]: {},
5725
+ "&.nui-button-md": {
5726
+ [`@apply h-${config2.size.md.button.height} px-${config2.size.md.button.padding.x} py-${config2.size.md.button.padding.y} text-${config2.size.md.button.text}`]: {},
5647
5727
  ".nui-button-icon": {
5648
- [`@apply w-${config2.size.large.icon.size} h-${config2.size.large.icon.size}`]: {}
5728
+ [`@apply w-${config2.size.md.icon.size} h-${config2.size.md.icon.size}`]: {}
5649
5729
  }
5650
5730
  },
5651
- "&.nui-button-xlarge": {
5652
- [`@apply h-${config2.size.xlarge.button.height} px-${config2.size.xlarge.button.padding.x} py-${config2.size.xlarge.button.padding.y} text-${config2.size.xlarge.button.text}`]: {},
5731
+ "&.nui-button-lg": {
5732
+ [`@apply h-${config2.size.lg.button.height} px-${config2.size.lg.button.padding.x} py-${config2.size.lg.button.padding.y} text-${config2.size.lg.button.text}`]: {},
5653
5733
  ".nui-button-icon": {
5654
- [`@apply w-${config2.size.xlarge.icon.size} h-${config2.size.xlarge.icon.size}`]: {}
5734
+ [`@apply w-${config2.size.lg.icon.size} h-${config2.size.lg.icon.size}`]: {}
5655
5735
  }
5656
5736
  },
5657
5737
  // #endregion
5658
5738
  // #region Rounded
5659
5739
  "&.nui-button-rounded-sm": {
5660
- [`@apply rounded-${config2.rounded.small}`]: {}
5740
+ [`@apply rounded-${config2.rounded.sm}`]: {}
5661
5741
  },
5662
5742
  "&.nui-button-rounded-md": {
5663
- [`@apply rounded-${config2.rounded.medium}`]: {}
5743
+ [`@apply rounded-${config2.rounded.md}`]: {}
5664
5744
  },
5665
5745
  "&.nui-button-rounded-lg": {
5666
- [`@apply rounded-${config2.rounded.large}`]: {}
5746
+ [`@apply rounded-${config2.rounded.lg}`]: {}
5667
5747
  },
5668
5748
  "&.nui-button-rounded-full": {
5669
5749
  [`@apply rounded-${config2.rounded.full}`]: {},
@@ -6331,10 +6411,10 @@ const button = plugin(({ addComponents, theme }) => {
6331
6411
  // #endregion
6332
6412
  }
6333
6413
  });
6334
- }, config$J);
6414
+ }, config$K);
6335
6415
 
6336
- const key$I = "card";
6337
- const defaultConfig$H = {
6416
+ const key$J = "card";
6417
+ const defaultConfig$I = {
6338
6418
  width: "full",
6339
6419
  rounded: {
6340
6420
  none: "none",
@@ -6465,15 +6545,15 @@ const defaultConfig$H = {
6465
6545
  }
6466
6546
  };
6467
6547
 
6468
- const config$I = {
6548
+ const config$J = {
6469
6549
  theme: {
6470
6550
  nui: {
6471
- [key$I]: defaultConfig$H
6551
+ [key$J]: defaultConfig$I
6472
6552
  }
6473
6553
  }
6474
6554
  };
6475
6555
  const card = plugin(({ addComponents, theme }) => {
6476
- const config2 = theme(`nui.${key$I}`);
6556
+ const config2 = theme(`nui.${key$J}`);
6477
6557
  addComponents({
6478
6558
  ".nui-card": {
6479
6559
  //Base
@@ -6578,10 +6658,10 @@ const card = plugin(({ addComponents, theme }) => {
6578
6658
  }
6579
6659
  }
6580
6660
  });
6581
- }, config$I);
6661
+ }, config$J);
6582
6662
 
6583
- const key$H = "checkbox";
6584
- const defaultConfig$G = {
6663
+ const key$I = "checkbox";
6664
+ const defaultConfig$H = {
6585
6665
  rounded: {
6586
6666
  sm: "rounded",
6587
6667
  md: "rounded-md",
@@ -6683,15 +6763,15 @@ const defaultConfig$G = {
6683
6763
  }
6684
6764
  };
6685
6765
 
6686
- const config$H = {
6766
+ const config$I = {
6687
6767
  theme: {
6688
6768
  nui: {
6689
- [key$H]: defaultConfig$G
6769
+ [key$I]: defaultConfig$H
6690
6770
  }
6691
6771
  }
6692
6772
  };
6693
6773
  const checkbox = plugin(({ addComponents, theme }) => {
6694
- const config2 = theme(`nui.${key$H}`);
6774
+ const config2 = theme(`nui.${key$I}`);
6695
6775
  addComponents({
6696
6776
  //Wrapper
6697
6777
  ".nui-checkbox": {
@@ -6755,9 +6835,7 @@ const checkbox = plugin(({ addComponents, theme }) => {
6755
6835
  },
6756
6836
  //Error
6757
6837
  ".nui-checkbox-error": {
6758
- [`@apply font-${config2.error.font.family} text-${config2.error.font.size} ms-1 inline-block`]: {},
6759
- //Color
6760
- [`@apply text-${config2.error.font.color.light} dark:text-${config2.error.font.color.dark}`]: {}
6838
+ [`@apply ms-1 inline-block`]: {}
6761
6839
  },
6762
6840
  //Rounded:sm
6763
6841
  "&.nui-checkbox-rounded-sm .nui-checkbox-outer, &.nui-checkbox-rounded-sm .nui-checkbox-inner": {
@@ -6817,10 +6895,10 @@ const checkbox = plugin(({ addComponents, theme }) => {
6817
6895
  }
6818
6896
  }
6819
6897
  });
6820
- }, config$H);
6898
+ }, config$I);
6821
6899
 
6822
- const key$G = "drodownDivider";
6823
- const defaultConfig$F = {
6900
+ const key$H = "drodownDivider";
6901
+ const defaultConfig$G = {
6824
6902
  margin: {
6825
6903
  y: "2"
6826
6904
  },
@@ -6830,24 +6908,24 @@ const defaultConfig$F = {
6830
6908
  }
6831
6909
  };
6832
6910
 
6833
- const config$G = {
6911
+ const config$H = {
6834
6912
  theme: {
6835
6913
  nui: {
6836
- [key$G]: defaultConfig$F
6914
+ [key$H]: defaultConfig$G
6837
6915
  }
6838
6916
  }
6839
6917
  };
6840
6918
  const dropdownDivider = plugin(({ addComponents, theme }) => {
6841
- const config2 = theme(`nui.${key$G}`);
6919
+ const config2 = theme(`nui.${key$H}`);
6842
6920
  addComponents({
6843
6921
  ".nui-dropdown-divider": {
6844
6922
  [`@apply my-${config2.margin.y} block h-px w-full border-t border-${config2.border.light} dark:border-${config2.border.dark}`]: {}
6845
6923
  }
6846
6924
  });
6847
- }, config$G);
6925
+ }, config$H);
6848
6926
 
6849
- const key$F = "dropdownItem";
6850
- const defaultConfig$E = {
6927
+ const key$G = "dropdownItem";
6928
+ const defaultConfig$F = {
6851
6929
  align: "start",
6852
6930
  font: {
6853
6931
  family: "sans",
@@ -6943,15 +7021,15 @@ const defaultConfig$E = {
6943
7021
  }
6944
7022
  };
6945
7023
 
6946
- const config$F = {
7024
+ const config$G = {
6947
7025
  theme: {
6948
7026
  nui: {
6949
- [key$F]: defaultConfig$E
7027
+ [key$G]: defaultConfig$F
6950
7028
  }
6951
7029
  }
6952
7030
  };
6953
7031
  const dropdownItem = plugin(({ addComponents, theme }) => {
6954
- const config2 = theme(`nui.${key$F}`);
7032
+ const config2 = theme(`nui.${key$G}`);
6955
7033
  addComponents({
6956
7034
  //Wrapper
6957
7035
  ".nui-dropdown-item": {
@@ -6968,6 +7046,10 @@ const dropdownItem = plugin(({ addComponents, theme }) => {
6968
7046
  "&:not(.nui-active)": {
6969
7047
  [`@apply text-${config2.font.color.inactive.light} dark:text-${config2.font.color.inactive.dark}`]: {}
6970
7048
  },
7049
+ //Item:disabled
7050
+ "&.nui-item-disabled": {
7051
+ [`@apply opacity-50 pointer-events-none`]: {}
7052
+ },
6971
7053
  //Contrast:default
6972
7054
  "&.nui-item-default": {
6973
7055
  //Background:hover
@@ -7035,10 +7117,10 @@ const dropdownItem = plugin(({ addComponents, theme }) => {
7035
7117
  }
7036
7118
  }
7037
7119
  });
7038
- }, config$F);
7120
+ }, config$G);
7039
7121
 
7040
- const key$E = "dropdown";
7041
- const defaultConfig$D = {
7122
+ const key$F = "dropdown";
7123
+ const defaultConfig$E = {
7042
7124
  align: "start",
7043
7125
  button: {
7044
7126
  context: {
@@ -7085,15 +7167,6 @@ const defaultConfig$D = {
7085
7167
  duration: "300"
7086
7168
  }
7087
7169
  },
7088
- text: {
7089
- font: {
7090
- family: "sans",
7091
- color: {
7092
- light: "muted-400",
7093
- dark: "muted-400"
7094
- }
7095
- }
7096
- },
7097
7170
  chevron: {
7098
7171
  size: "4",
7099
7172
  transition: {
@@ -7171,15 +7244,15 @@ const defaultConfig$D = {
7171
7244
  }
7172
7245
  };
7173
7246
 
7174
- const config$E = {
7247
+ const config$F = {
7175
7248
  theme: {
7176
7249
  nui: {
7177
- [key$E]: defaultConfig$D
7250
+ [key$F]: defaultConfig$E
7178
7251
  }
7179
7252
  }
7180
7253
  };
7181
7254
  const dropdown = plugin(({ addComponents, theme }) => {
7182
- const config2 = theme(`nui.${key$E}`);
7255
+ const config2 = theme(`nui.${key$F}`);
7183
7256
  addComponents({
7184
7257
  //Wrapper
7185
7258
  ".nui-dropdown": {
@@ -7226,13 +7299,7 @@ const dropdown = plugin(({ addComponents, theme }) => {
7226
7299
  //Button:text
7227
7300
  ".nui-text-button": {
7228
7301
  //Base
7229
- "@apply flex items-center space-x-1": {},
7230
- //Font
7231
- [`@apply font-${config2.button.text.font.family} text-${config2.button.text.font.color.light} dark:text-${config2.button.text.font.color.dark}`]: {},
7232
- //Text:inner
7233
- ".nui-text-button-inner": {
7234
- [`@apply font-${config2.button.text.font.family}`]: {}
7235
- }
7302
+ "@apply flex items-center space-x-1": {}
7236
7303
  },
7237
7304
  //Button:chevron
7238
7305
  ".nui-chevron": {
@@ -7334,10 +7401,10 @@ const dropdown = plugin(({ addComponents, theme }) => {
7334
7401
  }
7335
7402
  }
7336
7403
  });
7337
- }, config$E);
7404
+ }, config$F);
7338
7405
 
7339
- const key$D = "focus";
7340
- const defaultConfig$C = {
7406
+ const key$E = "focus";
7407
+ const defaultConfig$D = {
7341
7408
  offset: "2",
7342
7409
  width: "2",
7343
7410
  style: "dashed",
@@ -7348,15 +7415,15 @@ const defaultConfig$C = {
7348
7415
  mode: "always"
7349
7416
  };
7350
7417
 
7351
- const config$D = {
7418
+ const config$E = {
7352
7419
  theme: {
7353
7420
  nui: {
7354
- [key$D]: defaultConfig$C
7421
+ [key$E]: defaultConfig$D
7355
7422
  }
7356
7423
  }
7357
7424
  };
7358
7425
  const focus = plugin(({ addComponents, theme }) => {
7359
- const config2 = theme(`nui.${key$D}`);
7426
+ const config2 = theme(`nui.${key$E}`);
7360
7427
  const mode = config2.mode === "focus-visible" ? "&:has(:focus-visible), &:focus-visible" : "&:focus-within";
7361
7428
  addComponents({
7362
7429
  ".nui-focus": {
@@ -7368,10 +7435,10 @@ const focus = plugin(({ addComponents, theme }) => {
7368
7435
  }
7369
7436
  }
7370
7437
  });
7371
- }, config$D);
7438
+ }, config$E);
7372
7439
 
7373
- const key$C = "fullscreenDropfile";
7374
- const defaultConfig$B = {
7440
+ const key$D = "fullscreenDropfile";
7441
+ const defaultConfig$C = {
7375
7442
  height: "[230px]",
7376
7443
  width: "[500px]",
7377
7444
  rounded: "rounded-md",
@@ -7406,15 +7473,15 @@ const defaultConfig$B = {
7406
7473
  }
7407
7474
  };
7408
7475
 
7409
- const config$C = {
7476
+ const config$D = {
7410
7477
  theme: {
7411
7478
  nui: {
7412
- [key$C]: defaultConfig$B
7479
+ [key$D]: defaultConfig$C
7413
7480
  }
7414
7481
  }
7415
7482
  };
7416
7483
  const fullscreenDropfile = plugin(({ addComponents, theme }) => {
7417
- const config2 = theme(`nui.${key$C}`);
7484
+ const config2 = theme(`nui.${key$D}`);
7418
7485
  addComponents({
7419
7486
  //Wrapper
7420
7487
  ".nui-fullscreen-dropfile": {
@@ -7487,10 +7554,10 @@ const fullscreenDropfile = plugin(({ addComponents, theme }) => {
7487
7554
  }
7488
7555
  }
7489
7556
  });
7490
- }, config$C);
7557
+ }, config$D);
7491
7558
 
7492
- const key$B = "heading";
7493
- const defaultConfig$A = {
7559
+ const key$C = "heading";
7560
+ const defaultConfig$B = {
7494
7561
  size: {
7495
7562
  xs: "xs",
7496
7563
  sm: "sm",
@@ -7523,15 +7590,15 @@ const defaultConfig$A = {
7523
7590
  }
7524
7591
  };
7525
7592
 
7526
- const config$B = {
7593
+ const config$C = {
7527
7594
  theme: {
7528
7595
  nui: {
7529
- [key$B]: defaultConfig$A
7596
+ [key$C]: defaultConfig$B
7530
7597
  }
7531
7598
  }
7532
7599
  };
7533
7600
  const heading = plugin(({ addComponents, theme }) => {
7534
- const config2 = theme(`nui.${key$B}`);
7601
+ const config2 = theme(`nui.${key$C}`);
7535
7602
  addComponents({
7536
7603
  ".nui-heading": {
7537
7604
  "@apply font-sans": {},
@@ -7612,10 +7679,10 @@ const heading = plugin(({ addComponents, theme }) => {
7612
7679
  }
7613
7680
  }
7614
7681
  });
7615
- }, config$B);
7682
+ }, config$C);
7616
7683
 
7617
- const key$A = "iconBox";
7618
- const defaultConfig$z = {
7684
+ const key$B = "iconBox";
7685
+ const defaultConfig$A = {
7619
7686
  bordered: {
7620
7687
  border: {
7621
7688
  size: "2",
@@ -7705,6 +7772,30 @@ const defaultConfig$z = {
7705
7772
  }
7706
7773
  }
7707
7774
  },
7775
+ muted: {
7776
+ background: {
7777
+ light: "muted-200",
7778
+ dark: "muted-700"
7779
+ },
7780
+ font: {
7781
+ color: {
7782
+ light: "muted-700",
7783
+ dark: "muted-200"
7784
+ }
7785
+ }
7786
+ },
7787
+ mutedContrast: {
7788
+ background: {
7789
+ light: "muted-200",
7790
+ dark: "muted-950"
7791
+ },
7792
+ font: {
7793
+ color: {
7794
+ light: "muted-700",
7795
+ dark: "muted-100"
7796
+ }
7797
+ }
7798
+ },
7708
7799
  light: {
7709
7800
  background: {
7710
7801
  light: "white",
@@ -7827,6 +7918,30 @@ const defaultConfig$z = {
7827
7918
  }
7828
7919
  }
7829
7920
  },
7921
+ muted: {
7922
+ background: {
7923
+ light: "muted-600/10",
7924
+ dark: "muted-700/10"
7925
+ },
7926
+ font: {
7927
+ color: {
7928
+ light: "muted-700",
7929
+ dark: "muted-200"
7930
+ }
7931
+ }
7932
+ },
7933
+ mutedContrast: {
7934
+ background: {
7935
+ light: "muted-600/10",
7936
+ dark: "muted-950/10"
7937
+ },
7938
+ font: {
7939
+ color: {
7940
+ light: "muted-700",
7941
+ dark: "muted-100"
7942
+ }
7943
+ }
7944
+ },
7830
7945
  light: {
7831
7946
  background: {
7832
7947
  light: "white/10",
@@ -7957,6 +8072,38 @@ const defaultConfig$z = {
7957
8072
  }
7958
8073
  }
7959
8074
  },
8075
+ muted: {
8076
+ background: {
8077
+ light: "transparent",
8078
+ dark: "transparent"
8079
+ },
8080
+ border: {
8081
+ light: "current",
8082
+ dark: "current"
8083
+ },
8084
+ font: {
8085
+ color: {
8086
+ light: "muted-700",
8087
+ dark: "muted-200"
8088
+ }
8089
+ }
8090
+ },
8091
+ mutedContrast: {
8092
+ background: {
8093
+ light: "transparent",
8094
+ dark: "transparent"
8095
+ },
8096
+ border: {
8097
+ light: "current",
8098
+ dark: "current"
8099
+ },
8100
+ font: {
8101
+ color: {
8102
+ light: "muted-700",
8103
+ dark: "muted-100"
8104
+ }
8105
+ }
8106
+ },
7960
8107
  light: {
7961
8108
  background: {
7962
8109
  light: "transparent",
@@ -8090,15 +8237,15 @@ const defaultConfig$z = {
8090
8237
  }
8091
8238
  };
8092
8239
 
8093
- const config$A = {
8240
+ const config$B = {
8094
8241
  theme: {
8095
8242
  nui: {
8096
- [key$A]: defaultConfig$z
8243
+ [key$B]: defaultConfig$A
8097
8244
  }
8098
8245
  }
8099
8246
  };
8100
8247
  const iconBox = plugin(({ addComponents, theme }) => {
8101
- const config2 = theme(`nui.${key$A}`);
8248
+ const config2 = theme(`nui.${key$B}`);
8102
8249
  addComponents({
8103
8250
  //Wrapper
8104
8251
  ".nui-icon-box": {
@@ -8226,6 +8373,20 @@ const iconBox = plugin(({ addComponents, theme }) => {
8226
8373
  //Background
8227
8374
  [`@apply bg-${config2.color.variant.solid.defaultContrast.background.light} dark:bg-${config2.color.variant.solid.defaultContrast.background.dark}`]: {}
8228
8375
  },
8376
+ //Color:muted
8377
+ "&.nui-box-muted": {
8378
+ //Font
8379
+ [`@apply text-${config2.color.variant.solid.muted.font.color.light} dark:text-${config2.color.variant.solid.muted.font.color.dark}`]: {},
8380
+ //Background
8381
+ [`@apply bg-${config2.color.variant.solid.muted.background.light} dark:bg-${config2.color.variant.solid.muted.background.dark}`]: {}
8382
+ },
8383
+ //Color:muted-contrast
8384
+ "&.nui-box-muted-contrast": {
8385
+ //Font
8386
+ [`@apply text-${config2.color.variant.solid.mutedContrast.font.color.light} dark:text-${config2.color.variant.solid.mutedContrast.font.color.dark}`]: {},
8387
+ //Background
8388
+ [`@apply bg-${config2.color.variant.solid.mutedContrast.background.light} dark:bg-${config2.color.variant.solid.mutedContrast.background.dark}`]: {}
8389
+ },
8229
8390
  //Color:light
8230
8391
  "&.nui-box-light": {
8231
8392
  //Font
@@ -8299,6 +8460,20 @@ const iconBox = plugin(({ addComponents, theme }) => {
8299
8460
  //Background
8300
8461
  [`@apply bg-${config2.color.variant.pastel.defaultContrast.background.light} dark:bg-${config2.color.variant.pastel.defaultContrast.background.dark}`]: {}
8301
8462
  },
8463
+ //Color:muted
8464
+ "&.nui-box-muted": {
8465
+ //Font
8466
+ [`@apply text-${config2.color.variant.pastel.muted.font.color.light} dark:text-${config2.color.variant.pastel.muted.font.color.dark}`]: {},
8467
+ //Background
8468
+ [`@apply bg-${config2.color.variant.pastel.muted.background.light} dark:bg-${config2.color.variant.pastel.muted.background.dark}`]: {}
8469
+ },
8470
+ //Color:muted-contrast
8471
+ "&.nui-box-muted-contrast": {
8472
+ //Font
8473
+ [`@apply text-${config2.color.variant.pastel.mutedContrast.font.color.light} dark:text-${config2.color.variant.pastel.mutedContrast.font.color.dark}`]: {},
8474
+ //Background
8475
+ [`@apply bg-${config2.color.variant.pastel.mutedContrast.background.light} dark:bg-${config2.color.variant.pastel.mutedContrast.background.dark}`]: {}
8476
+ },
8302
8477
  //Color:light
8303
8478
  "&.nui-box-light": {
8304
8479
  //Font
@@ -8376,6 +8551,24 @@ const iconBox = plugin(({ addComponents, theme }) => {
8376
8551
  //Border
8377
8552
  [`@apply border-2 border-${config2.color.variant.outline.defaultContrast.border.light} dark:border-${config2.color.variant.outline.defaultContrast.border.dark}`]: {}
8378
8553
  },
8554
+ //Color:muted
8555
+ "&.nui-box-muted": {
8556
+ //Font
8557
+ [`@apply text-${config2.color.variant.outline.muted.font.color.light} dark:text-${config2.color.variant.outline.muted.font.color.dark}`]: {},
8558
+ //Background
8559
+ [`@apply bg-${config2.color.variant.outline.muted.background.light} bg-${config2.color.variant.outline.muted.background.dark}`]: {},
8560
+ //Border
8561
+ [`@apply border-2 border-${config2.color.variant.outline.muted.border.light} dark:border-${config2.color.variant.outline.muted.border.dark}`]: {}
8562
+ },
8563
+ //Color:muted-contrast
8564
+ "&.nui-box-muted-contrast": {
8565
+ //Font
8566
+ [`@apply text-${config2.color.variant.outline.mutedContrast.font.color.light} dark:text-${config2.color.variant.outline.mutedContrast.font.color.dark}`]: {},
8567
+ //Background
8568
+ [`@apply bg-${config2.color.variant.outline.mutedContrast.background.light} bg-${config2.color.variant.outline.mutedContrast.background.dark}`]: {},
8569
+ //Border
8570
+ [`@apply border-2 border-${config2.color.variant.outline.mutedContrast.border.light} dark:border-${config2.color.variant.outline.mutedContrast.border.dark}`]: {}
8571
+ },
8379
8572
  //Color:light
8380
8573
  "&.nui-box-light": {
8381
8574
  //Font
@@ -8459,10 +8652,10 @@ const iconBox = plugin(({ addComponents, theme }) => {
8459
8652
  }
8460
8653
  }
8461
8654
  });
8462
- }, config$A);
8655
+ }, config$B);
8463
8656
 
8464
- const key$z = "inputFileRegular";
8465
- const defaultConfig$y = {
8657
+ const key$A = "inputFileRegular";
8658
+ const defaultConfig$z = {
8466
8659
  font: {
8467
8660
  color: {
8468
8661
  light: "muted-400",
@@ -8659,15 +8852,15 @@ const defaultConfig$y = {
8659
8852
  }
8660
8853
  };
8661
8854
 
8662
- const config$z = {
8855
+ const config$A = {
8663
8856
  theme: {
8664
8857
  nui: {
8665
- [key$z]: defaultConfig$y
8858
+ [key$A]: defaultConfig$z
8666
8859
  }
8667
8860
  }
8668
8861
  };
8669
8862
  const inputFileRegular = plugin(({ addComponents, theme }) => {
8670
- const config2 = theme(`nui.${key$z}`);
8863
+ const config2 = theme(`nui.${key$A}`);
8671
8864
  addComponents({
8672
8865
  //Wrapper
8673
8866
  ".nui-input-file-regular": {
@@ -8710,13 +8903,6 @@ const inputFileRegular = plugin(({ addComponents, theme }) => {
8710
8903
  "@apply h-3 w-full max-w-[75%] rounded": {}
8711
8904
  }
8712
8905
  },
8713
- //Input:error
8714
- ".nui-input-file-error-text": {
8715
- //Base
8716
- [`@apply mt-1 block font-${config2.error.font.family} text-${config2.error.font.size} font-${config2.error.font.weight} leading-none`]: {},
8717
- //Color
8718
- [`@apply text-${config2.error.font.color.light} dark:text-${config2.error.font.color.dark}`]: {}
8719
- },
8720
8906
  //Color:default
8721
8907
  "&.nui-input-default": {
8722
8908
  //Input:inner
@@ -8911,10 +9097,10 @@ const inputFileRegular = plugin(({ addComponents, theme }) => {
8911
9097
  }
8912
9098
  }
8913
9099
  });
8914
- }, config$z);
9100
+ }, config$A);
8915
9101
 
8916
- const key$y = "inputFile";
8917
- const defaultConfig$x = {
9102
+ const key$z = "inputFile";
9103
+ const defaultConfig$y = {
8918
9104
  drop: {
8919
9105
  height: "64",
8920
9106
  border: {
@@ -9166,15 +9352,15 @@ const defaultConfig$x = {
9166
9352
  }
9167
9353
  };
9168
9354
 
9169
- const config$y = {
9355
+ const config$z = {
9170
9356
  theme: {
9171
9357
  nui: {
9172
- [key$y]: defaultConfig$x
9358
+ [key$z]: defaultConfig$y
9173
9359
  }
9174
9360
  }
9175
9361
  };
9176
9362
  const inputFile = plugin(({ addComponents, theme }) => {
9177
- const config2 = theme(`nui.${key$y}`);
9363
+ const config2 = theme(`nui.${key$z}`);
9178
9364
  addComponents({
9179
9365
  //Wrapper
9180
9366
  ".nui-input-file": {
@@ -9449,10 +9635,10 @@ const inputFile = plugin(({ addComponents, theme }) => {
9449
9635
  }
9450
9636
  }
9451
9637
  });
9452
- }, config$y);
9638
+ }, config$z);
9453
9639
 
9454
- const key$x = "input";
9455
- const defaultConfig$w = {
9640
+ const key$y = "input";
9641
+ const defaultConfig$x = {
9456
9642
  rounded: {
9457
9643
  none: "rounded-none",
9458
9644
  sm: "rounded-md",
@@ -9814,15 +10000,15 @@ const defaultConfig$w = {
9814
10000
  }
9815
10001
  };
9816
10002
 
9817
- const config$x = {
10003
+ const config$y = {
9818
10004
  theme: {
9819
10005
  nui: {
9820
- [key$x]: defaultConfig$w
10006
+ [key$y]: defaultConfig$x
9821
10007
  }
9822
10008
  }
9823
10009
  };
9824
10010
  const input = plugin(({ addComponents, theme }) => {
9825
- const config2 = theme(`nui.${key$x}`);
10011
+ const config2 = theme(`nui.${key$y}`);
9826
10012
  addComponents({
9827
10013
  //Wrapper
9828
10014
  ".nui-input-wrapper": {
@@ -9851,15 +10037,6 @@ const input = plugin(({ addComponents, theme }) => {
9851
10037
  //Transition
9852
10038
  [`@apply transition-${config2.input.icon.transition.property} duration-${config2.input.icon.transition.duration}`]: {}
9853
10039
  },
9854
- //Error:text
9855
- ".nui-input-error-text": {
9856
- //Base
9857
- "@apply mt-1 block": {},
9858
- //Font
9859
- [`@apply font-${config2.error.font.family} text-${config2.error.font.size} font-${config2.error.font.weight} leading-none`]: {},
9860
- //Font color
9861
- [`@apply text-${config2.error.font.color.light} dark:text-${config2.error.font.color.dark}`]: {}
9862
- },
9863
10040
  //Input
9864
10041
  ".nui-input": {
9865
10042
  //Base
@@ -10218,10 +10395,10 @@ const input = plugin(({ addComponents, theme }) => {
10218
10395
  }
10219
10396
  }
10220
10397
  });
10221
- }, config$x);
10398
+ }, config$y);
10222
10399
 
10223
- const key$w = "inputNumber";
10224
- const defaultConfig$v = {
10400
+ const key$x = "inputNumber";
10401
+ const defaultConfig$w = {
10225
10402
  rounded: {
10226
10403
  none: "rounded-none",
10227
10404
  sm: "rounded-md",
@@ -10592,15 +10769,15 @@ const defaultConfig$v = {
10592
10769
  }
10593
10770
  };
10594
10771
 
10595
- const config$w = {
10772
+ const config$x = {
10596
10773
  theme: {
10597
10774
  nui: {
10598
- [key$w]: defaultConfig$v
10775
+ [key$x]: defaultConfig$w
10599
10776
  }
10600
10777
  }
10601
10778
  };
10602
10779
  const inputNumber = plugin(({ addComponents, theme }) => {
10603
- const config2 = theme(`nui.${key$w}`);
10780
+ const config2 = theme(`nui.${key$x}`);
10604
10781
  addComponents({
10605
10782
  //Wrapper
10606
10783
  ".nui-input-number-wrapper": {
@@ -10646,15 +10823,6 @@ const inputNumber = plugin(({ addComponents, theme }) => {
10646
10823
  ".nui-input-number-buttons svg": {
10647
10824
  "@apply h-4 w-4": {}
10648
10825
  },
10649
- //Error:text
10650
- ".nui-input-number-error-text": {
10651
- //Base
10652
- "@apply mt-1 block": {},
10653
- //Font
10654
- [`@apply font-${config2.error.font.family} text-${config2.error.font.size} font-${config2.error.font.weight} leading-none`]: {},
10655
- //Font color
10656
- [`@apply text-${config2.error.font.color.light} dark:text-${config2.error.font.color.dark}`]: {}
10657
- },
10658
10826
  //Input
10659
10827
  ".nui-input-number": {
10660
10828
  //Base
@@ -11061,6 +11229,34 @@ const inputNumber = plugin(({ addComponents, theme }) => {
11061
11229
  }
11062
11230
  }
11063
11231
  });
11232
+ }, config$x);
11233
+
11234
+ const key$w = "inputHelpText";
11235
+ const defaultConfig$v = {
11236
+ font: {
11237
+ family: "sans",
11238
+ size: "[0.65rem]",
11239
+ weight: "medium"
11240
+ }
11241
+ };
11242
+
11243
+ const config$w = {
11244
+ theme: {
11245
+ nui: {
11246
+ [key$w]: defaultConfig$v
11247
+ }
11248
+ }
11249
+ };
11250
+ const inputHelpText = plugin(({ addComponents, theme }) => {
11251
+ const config2 = theme(`nui.${key$w}`);
11252
+ addComponents({
11253
+ ".nui-input-help-text": {
11254
+ //Base
11255
+ "@apply mt-1 block": {},
11256
+ //Font
11257
+ [`@apply font-${config2.font.family} text-${config2.font.size} font-${config2.font.weight} leading-none`]: {}
11258
+ }
11259
+ });
11064
11260
  }, config$w);
11065
11261
 
11066
11262
  const key$v = "kbd";
@@ -12137,15 +12333,6 @@ const listbox = plugin(({ addComponents, theme }) => {
12137
12333
  [`@apply bg-${config2.option.activeHover.background.light} dark:bg-${config2.option.activeHover.background.dark}`]: {}
12138
12334
  }
12139
12335
  },
12140
- //Listbox:error
12141
- ".nui-listbox-error-text": {
12142
- //Base
12143
- "@apply mt-1 block": {},
12144
- //Font
12145
- [`@apply font-${config2.error.font.family} text-${config2.error.font.size} font-${config2.error.font.weight} leading-none`]: {},
12146
- //Color
12147
- [`@apply text-${config2.error.font.color.light} dark:text-${config2.error.font.color.dark}`]: {}
12148
- },
12149
12336
  //Listbox:placeload
12150
12337
  ".nui-listbox-placeload.nui-loading-placeload": {
12151
12338
  "@apply absolute start-0 top-0 flex w-full items-center px-4": {},
@@ -12815,6 +13002,9 @@ const messageText = plugin(({ addComponents, theme }) => {
12815
13002
 
12816
13003
  const key$n = "message";
12817
13004
  const defaultConfig$m = {
13005
+ safeArea: {
13006
+ end: "6"
13007
+ },
12818
13008
  icon: {
12819
13009
  outer: {
12820
13010
  size: "10"
@@ -12845,8 +13035,21 @@ const defaultConfig$m = {
12845
13035
  icon: {
12846
13036
  size: "4"
12847
13037
  },
13038
+ position: {
13039
+ top: "[-0.5rem]",
13040
+ end: "[-0.5rem]"
13041
+ },
13042
+ size: {
13043
+ outer: {
13044
+ width: "8",
13045
+ height: "8"
13046
+ },
13047
+ inner: {
13048
+ width: "6",
13049
+ height: "6"
13050
+ }
13051
+ },
12848
13052
  rounded: "rounded-full",
12849
- padding: "1",
12850
13053
  transition: {
12851
13054
  property: "colors",
12852
13055
  duration: "200"
@@ -13409,7 +13612,7 @@ const message = plugin(({ addComponents, theme }) => {
13409
13612
  addComponents({
13410
13613
  //Wrapper
13411
13614
  ".nui-message": {
13412
- "@apply flex min-h-[3rem] items-center border p-1 pe-2": {},
13615
+ "@apply relative flex gap-2 border": {},
13413
13616
  //Icon:outer
13414
13617
  ".nui-message-icon-outer": {
13415
13618
  [`@apply flex h-${config2.icon.outer.size} w-${config2.icon.outer.size} shrink-0 items-center justify-center`]: {},
@@ -13424,15 +13627,19 @@ const message = plugin(({ addComponents, theme }) => {
13424
13627
  //Inner:text
13425
13628
  ".nui-message-inner-text": {
13426
13629
  //Base
13427
- "@apply px-3 block": {},
13630
+ "@apply inline-flex items-center leading-normal": {},
13428
13631
  //Font
13429
13632
  [`@apply font-${config2.inner.font.family} text-${config2.inner.font.size}`]: {},
13430
13633
  //Color
13431
13634
  [`@apply text-${config2.inner.font.color.light} dark:text-${config2.inner.font.color.dark}`]: {}
13432
13635
  },
13433
- //Meesage:close
13636
+ //Message:close
13637
+ ".nui-message-close-wrapper": {
13638
+ [`@apply absolute top-${config2.close.position.top} end-${config2.close.position.end} flex items-center justify-center bg-white dark:bg-muted-950 border border-muted-200 dark:border-muted-800 ${config2.close.rounded} h-${config2.close.size.outer.height} w-${config2.close.size.outer.width}`]: {}
13639
+ },
13640
+ //Message:close
13434
13641
  ".nui-message-close": {
13435
- [`@apply nui-focus me-2 ms-auto flex cursor-pointer items-center justify-center p-${config2.close.padding} ${config2.close.rounded}`]: {},
13642
+ [`@apply nui-focus flex cursor-pointer items-center justify-center shrink-0 h-${config2.close.size.inner.height} w-${config2.close.size.inner.width} ${config2.close.rounded}`]: {},
13436
13643
  //Color
13437
13644
  [`@apply text-${config2.close.color.light} dark:text-${config2.close.color.dark}`]: {},
13438
13645
  //Transition
@@ -13442,6 +13649,14 @@ const message = plugin(({ addComponents, theme }) => {
13442
13649
  [`@apply h-${config2.close.icon.size} w-${config2.close.icon.size}`]: {}
13443
13650
  }
13444
13651
  },
13652
+ //Message:text
13653
+ "&.nui-has-text": {
13654
+ [`@apply py-2 ps-2 pe-${config2.safeArea.end}`]: {}
13655
+ },
13656
+ //Message:icon
13657
+ "&.nui-has-icon": {
13658
+ [`@apply py-1 ps-1 pe-${config2.safeArea.end}`]: {}
13659
+ },
13445
13660
  //Rounded:sm
13446
13661
  "&.nui-message-rounded-sm": {
13447
13662
  [`@apply ${config2.rounded.sm}`]: {},
@@ -14868,9 +15083,7 @@ const radio = plugin(({ addComponents, theme }) => {
14868
15083
  },
14869
15084
  //Radio:error
14870
15085
  ".nui-radio-error": {
14871
- "@apply ms-1 inline-block": {},
14872
- //Font
14873
- [`@apply font-${config2.error.font.family} text-${config2.error.font.size} text-${config2.error.font.color.light} dark:text-${config2.error.font.color.dark}`]: {}
15086
+ "@apply ms-1 inline-block": {}
14874
15087
  },
14875
15088
  //Color:default
14876
15089
  "&.nui-radio-default": {
@@ -15334,15 +15547,6 @@ const select = plugin(({ addComponents, theme }) => {
15334
15547
  //Transition
15335
15548
  [`@apply transition-${config2.select.icon.transition.property} duration-${config2.select.icon.transition.duration}`]: {}
15336
15549
  },
15337
- //Error:text
15338
- ".nui-select-error-text": {
15339
- //Base
15340
- "@apply mt-1 block": {},
15341
- //Font
15342
- [`@apply font-${config2.error.font.family} text-${config2.error.font.size} font-${config2.error.font.weight} leading-none`]: {},
15343
- //Font color
15344
- [`@apply text-${config2.error.font.color.light} dark:text-${config2.error.font.color.dark}`]: {}
15345
- },
15346
15550
  //Select
15347
15551
  ".nui-select": {
15348
15552
  //Base
@@ -15700,6 +15904,7 @@ const select = plugin(({ addComponents, theme }) => {
15700
15904
  const key$c = "slimscroll";
15701
15905
  const defaultConfig$b = {
15702
15906
  width: "[6px]",
15907
+ height: "[6px]",
15703
15908
  background: {
15704
15909
  base: {
15705
15910
  light: "black/5",
@@ -15725,7 +15930,7 @@ const slimscroll = plugin(({ addComponents, theme }) => {
15725
15930
  ".nui-slimscroll::-webkit-scrollbar, .nui-slimscroll-opaque::-webkit-scrollbar": {
15726
15931
  scrollBehavior: "smooth",
15727
15932
  scrollbarGutter: "stable",
15728
- [`@apply w-${config2.width}`]: {}
15933
+ [`@apply w-${config2.width} h-${config2.height}`]: {}
15729
15934
  },
15730
15935
  ".nui-slimscroll::-webkit-scrollbar-thumb": {
15731
15936
  [`@apply rounded-lg bg-${config2.background.base.light} dark:bg-${config2.background.base.dark} duration-300 transition-all`]: {}
@@ -15909,10 +16114,6 @@ const snack = plugin(({ addComponents, theme }) => {
15909
16114
  //Color
15910
16115
  [`@apply text-${config2.font.color.light} dark:text-${config2.font.color.dark}`]: {}
15911
16116
  },
15912
- //Snack:button
15913
- ".nui-snack-button": {
15914
- "@apply hover:!bg-transparent": {}
15915
- },
15916
16117
  //Size:xs
15917
16118
  "&.nui-snack-xs": {
15918
16119
  //Snack:media:xs
@@ -18855,15 +19056,6 @@ const textarea = plugin(({ addComponents, theme }) => {
18855
19056
  [`@apply transition-${config2.textarea.transition.property} duration-${config2.textarea.transition.duration}`]: {}
18856
19057
  }
18857
19058
  },
18858
- //Error:text
18859
- ".nui-textarea-error-text": {
18860
- //Base
18861
- "@apply mt-1 block": {},
18862
- //Font
18863
- [`@apply font-${config2.error.font.family} text-${config2.error.font.size} font-${config2.error.font.weight} leading-none`]: {},
18864
- //Font color
18865
- [`@apply text-${config2.error.font.color.light} dark:text-${config2.error.font.color.dark}`]: {}
18866
- },
18867
19059
  //Textrea:placeload
18868
19060
  ".nui-textarea-placeload": {
18869
19061
  [`@apply absolute start-0 top-4 flex h-${config2.textarea.placeload.size} w-${config2.textarea.placeload.size} flex-col space-y-${config2.textarea.placeload.space} px-3`]: {},
@@ -19916,7 +20108,7 @@ const tooltip = plugin(({ addComponents, theme }) => {
19916
20108
  borderRadius: "0.5ch",
19917
20109
  zIndex: "1000",
19918
20110
  [`@apply font-${config2.font.family} text-xs shadow-lg`]: {},
19919
- [`@apply text-${config2.font.color.light} dark:text-${config2.font.color.light}`]: {},
20111
+ [`@apply text-${config2.font.color.light} dark:text-${config2.font.color.dark}`]: {},
19920
20112
  [`@apply !bg-${config2.background.light} dark:!bg-${config2.background.dark}`]: {}
19921
20113
  },
19922
20114
  [`[${tooltip}]:hover::before, [${tooltip}]:hover::after, [${tooltip}]:focus-visible::before, [${tooltip}]:focus-visible::after`]: {
@@ -19930,7 +20122,7 @@ const tooltip = plugin(({ addComponents, theme }) => {
19930
20122
  bottom: "calc(100% + 8px)",
19931
20123
  borderBottomWidth: "0",
19932
20124
  borderTopColor: "currentColor",
19933
- [`@apply !text-${config2.background.light} dark:!text-${config2.background.light}`]: {}
20125
+ [`@apply !text-${config2.background.light} dark:!text-${config2.background.dark}`]: {}
19934
20126
  },
19935
20127
  [`[${tooltip}]:not([${position}])::after, [${tooltip}][${position}^='up']::after`]: {
19936
20128
  bottom: "calc(100% + 13px)"
@@ -20046,6 +20238,7 @@ const components = mergePlugins([
20046
20238
  inputFile,
20047
20239
  input,
20048
20240
  inputNumber,
20241
+ inputHelpText,
20049
20242
  kbd,
20050
20243
  label,
20051
20244
  link,
@@ -20170,4 +20363,4 @@ const textShades = plugin(
20170
20363
 
20171
20364
  const utilities = mergePlugins([bgShades, textShades]);
20172
20365
 
20173
- export { accordion, autocomplete, avatar, avatarGroup, base, bgShades, breadcrumb, button, buttonAction, buttonClose, buttonGroup, buttonIcon, card, checkbox, components, dropdown, dropdownDivider, dropdownItem, focus, fullscreenDropfile, heading, iconBox, input, inputFile, inputFileRegular, inputNumber, kbd, label, link, list, listbox, mark, mask, message, messageText, modal, pagination, paragraph, placeholderPage, placeload, progress, progressCircle, prose, radio, select, slimscroll, snack, switchBall, switchThin, tabSlider, tabs, tag, text, textShades, textarea, themeSwitch, themeToggle, toast, tooltip, utilities };
20366
+ export { accordion, autocomplete, avatar, avatarGroup, base, bgShades, breadcrumb, button, buttonAction, buttonClose, buttonGroup, buttonIcon, card, checkbox, components, dropdown, dropdownDivider, dropdownItem, focus, fullscreenDropfile, heading, iconBox, input, inputFile, inputFileRegular, inputHelpText, inputNumber, kbd, label, link, list, listbox, mark, mask, message, messageText, modal, pagination, paragraph, placeholderPage, placeload, progress, progressCircle, prose, radio, select, slimscroll, snack, switchBall, switchThin, tabSlider, tabs, tag, text, textShades, textarea, themeSwitch, themeToggle, toast, tooltip, utilities };