@nextui-org/theme 2.3.0-beta.9 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/chunk-6CPZ7K75.mjs +444 -0
  2. package/dist/{chunk-IZOPFGDE.mjs → chunk-6KWI4IHE.mjs} +82 -1
  3. package/dist/chunk-AHEUDQZM.mjs +18 -0
  4. package/dist/chunk-E257OVH3.mjs +12 -0
  5. package/dist/{chunk-LCMN7HGG.mjs → chunk-FVKQU6KS.mjs} +1 -1
  6. package/dist/{chunk-3ANIDDEW.mjs → chunk-LJXTFBEV.mjs} +2 -2
  7. package/dist/{chunk-K6KPB2U5.mjs → chunk-PTCUE3XA.mjs} +11 -1
  8. package/dist/{chunk-HIFLYEAM.mjs → chunk-QS3I2D2K.mjs} +1 -1
  9. package/dist/{chunk-HNRFZTEX.mjs → chunk-TK7HBD3N.mjs} +2 -1
  10. package/dist/{chunk-MXL6JCUG.mjs → chunk-Y2BFQAAT.mjs} +30 -6
  11. package/dist/{chunk-2TAKWWRG.mjs → chunk-ZZ2VSLD6.mjs} +1 -1
  12. package/dist/components/accordion.js +1 -1
  13. package/dist/components/accordion.mjs +3 -2
  14. package/dist/components/alert.mjs +2 -1
  15. package/dist/components/autocomplete.js +1 -1
  16. package/dist/components/autocomplete.mjs +1 -1
  17. package/dist/components/avatar.mjs +2 -1
  18. package/dist/components/badge.mjs +2 -1
  19. package/dist/components/breadcrumbs.mjs +2 -1
  20. package/dist/components/button.mjs +2 -1
  21. package/dist/components/calendar.mjs +2 -1
  22. package/dist/components/card.mjs +2 -1
  23. package/dist/components/checkbox.mjs +2 -1
  24. package/dist/components/chip.mjs +2 -1
  25. package/dist/components/code.mjs +2 -1
  26. package/dist/components/date-input.d.ts +7 -0
  27. package/dist/components/date-input.js +2 -1
  28. package/dist/components/date-input.mjs +1 -1
  29. package/dist/components/dropdown.mjs +2 -1
  30. package/dist/components/form.d.ts +20 -0
  31. package/dist/components/{circular-progress.js → form.js} +9 -86
  32. package/dist/components/{circular-progress.mjs → form.mjs} +3 -3
  33. package/dist/components/index.d.ts +3 -2
  34. package/dist/components/index.js +490 -14
  35. package/dist/components/index.mjs +29 -22
  36. package/dist/components/input-otp.d.ts +603 -0
  37. package/dist/components/input-otp.js +518 -0
  38. package/dist/components/input-otp.mjs +13 -0
  39. package/dist/components/input.d.ts +21 -7
  40. package/dist/components/input.js +30 -6
  41. package/dist/components/input.mjs +3 -2
  42. package/dist/components/link.mjs +2 -1
  43. package/dist/components/listbox.js +11 -1
  44. package/dist/components/listbox.mjs +3 -2
  45. package/dist/components/menu.d.ts +70 -0
  46. package/dist/components/menu.js +11 -1
  47. package/dist/components/menu.mjs +3 -2
  48. package/dist/components/modal.mjs +2 -1
  49. package/dist/components/navbar.mjs +2 -1
  50. package/dist/components/pagination.mjs +2 -1
  51. package/dist/components/popover.mjs +2 -1
  52. package/dist/components/progress.d.ts +426 -1
  53. package/dist/components/progress.js +82 -0
  54. package/dist/components/progress.mjs +3 -1
  55. package/dist/components/radio.mjs +2 -1
  56. package/dist/components/select.js +2 -2
  57. package/dist/components/select.mjs +3 -2
  58. package/dist/components/slider.mjs +2 -1
  59. package/dist/components/snippet.mjs +2 -1
  60. package/dist/components/table.mjs +2 -1
  61. package/dist/components/tabs.mjs +2 -1
  62. package/dist/components/toggle.mjs +2 -1
  63. package/dist/components/user.mjs +2 -1
  64. package/dist/index.d.ts +4 -2
  65. package/dist/index.js +510 -17
  66. package/dist/index.mjs +35 -25
  67. package/dist/plugin.mjs +3 -3
  68. package/dist/utilities/index.mjs +2 -2
  69. package/dist/utils/index.d.ts +1 -0
  70. package/dist/utils/index.js +17 -0
  71. package/dist/utils/index.mjs +5 -1
  72. package/dist/utils/merge-classes.d.ts +12 -0
  73. package/dist/utils/merge-classes.js +42 -0
  74. package/dist/utils/merge-classes.mjs +6 -0
  75. package/package.json +2 -2
  76. package/dist/chunk-AUN4SP2F.mjs +0 -89
  77. package/dist/components/circular-progress.d.ts +0 -430
  78. package/dist/{chunk-XZMJGJQX.mjs → chunk-3FZCW6LN.mjs} +3 -3
  79. /package/dist/{chunk-IV3K5WDK.mjs → chunk-3ZVSVLZD.mjs} +0 -0
  80. /package/dist/{chunk-MA4DKK64.mjs → chunk-CWYZ2GEH.mjs} +0 -0
package/dist/index.js CHANGED
@@ -66,9 +66,11 @@ __export(src_exports, {
66
66
  dropdownMenu: () => dropdownMenu,
67
67
  dropdownSection: () => dropdownSection,
68
68
  focusVisibleClasses: () => focusVisibleClasses,
69
+ form: () => form,
69
70
  groupDataFocusVisibleClasses: () => groupDataFocusVisibleClasses,
70
71
  image: () => image,
71
72
  input: () => input,
73
+ inputOtp: () => inputOtp,
72
74
  kbd: () => kbd,
73
75
  lightLayout: () => lightLayout,
74
76
  link: () => link,
@@ -79,6 +81,7 @@ __export(src_exports, {
79
81
  menu: () => menu,
80
82
  menuItem: () => menuItem,
81
83
  menuSection: () => menuSection,
84
+ mergeClasses: () => mergeClasses,
82
85
  modal: () => modal,
83
86
  navbar: () => navbar,
84
87
  nextui: () => nextui,
@@ -276,6 +279,21 @@ var colorVariants = {
276
279
  ghost
277
280
  };
278
281
 
282
+ // src/utils/merge-classes.ts
283
+ var import_shared_utils = require("@nextui-org/shared-utils");
284
+ var mergeClasses = (itemClasses, itemPropsClasses) => {
285
+ if (!itemClasses && !itemPropsClasses)
286
+ return {};
287
+ const keys = /* @__PURE__ */ new Set([...Object.keys(itemClasses || {}), ...Object.keys(itemPropsClasses || {})]);
288
+ return Array.from(keys).reduce(
289
+ (acc, key) => ({
290
+ ...acc,
291
+ [key]: (0, import_shared_utils.clsx)(itemClasses == null ? void 0 : itemClasses[key], itemPropsClasses == null ? void 0 : itemPropsClasses[key])
292
+ }),
293
+ {}
294
+ );
295
+ };
296
+
279
297
  // src/utils/cn.ts
280
298
  var import_clsx = __toESM(require("clsx"));
281
299
  var import_tailwind_merge = require("tailwind-merge");
@@ -3531,7 +3549,7 @@ var accordionItem = tv({
3531
3549
  startContent: "flex-shrink-0",
3532
3550
  indicator: "text-default-400",
3533
3551
  titleWrapper: "flex-1 flex flex-col text-start",
3534
- title: "text-foreground text-large",
3552
+ title: "text-foreground text-medium",
3535
3553
  subtitle: "text-small text-foreground-500 font-normal",
3536
3554
  content: "py-2"
3537
3555
  },
@@ -3737,8 +3755,6 @@ var progress = tv(
3737
3755
  twMerge: true
3738
3756
  }
3739
3757
  );
3740
-
3741
- // src/components/circular-progress.ts
3742
3758
  var circularProgress = tv({
3743
3759
  slots: {
3744
3760
  base: "flex flex-col justify-center gap-1 max-w-fit items-center",
@@ -3820,6 +3836,440 @@ var circularProgress = tv({
3820
3836
  ]
3821
3837
  });
3822
3838
 
3839
+ // src/components/input-otp.ts
3840
+ var inputOtp = tv({
3841
+ slots: {
3842
+ base: ["relative", "flex", "flex-col", "w-fit"],
3843
+ wrapper: ["group", "flex items-center", "has-[:disabled]:opacity-60"],
3844
+ input: [
3845
+ "absolute",
3846
+ "inset-0",
3847
+ "border-none",
3848
+ "outline-none",
3849
+ "bg-transparent",
3850
+ "text-transparent"
3851
+ ],
3852
+ segmentWrapper: ["inline-flex", "gap-x-1", "py-2"],
3853
+ segment: [
3854
+ "h-10",
3855
+ "w-10",
3856
+ "font-semibold",
3857
+ "flex",
3858
+ "justify-center",
3859
+ "items-center",
3860
+ "border-default-200",
3861
+ "data-[active=true]:border-default-400",
3862
+ "data-[active=true]:scale-110",
3863
+ "shadow-sm",
3864
+ "hover:bg-danger",
3865
+ ...dataFocusVisibleClasses
3866
+ ],
3867
+ passwordChar: ["w-1", "h-1", "bg-default-800", "rounded-full"],
3868
+ caret: [
3869
+ "animate-[appearance-in_1s_infinite]",
3870
+ "font-extralight",
3871
+ "h-full",
3872
+ "w-full",
3873
+ "flex",
3874
+ "justify-center",
3875
+ "items-center",
3876
+ "text-2xl",
3877
+ "h-[50%]",
3878
+ "w-px",
3879
+ "bg-foreground"
3880
+ ],
3881
+ helperWrapper: ["text-tiny", "mt-0.5", "font-extralight", ""],
3882
+ errorMessage: ["text-tiny text-danger w-full"],
3883
+ description: ["text-tiny text-foreground-400"]
3884
+ },
3885
+ variants: {
3886
+ variant: {
3887
+ flat: {
3888
+ segment: ["border-transparent", "bg-default-100", "data-[active=true]:bg-default-200"]
3889
+ },
3890
+ faded: {
3891
+ segment: ["bg-default-100", "border-medium"]
3892
+ },
3893
+ bordered: {
3894
+ segment: ["border-medium"]
3895
+ },
3896
+ underlined: {
3897
+ segment: [
3898
+ "shadow-none",
3899
+ "relative",
3900
+ "box-border",
3901
+ "!rounded-none",
3902
+ "border-b-medium",
3903
+ "shadow-[0_1px_0px_0_rgba(0,0,0,0.05)]",
3904
+ "border-default-200",
3905
+ "after:content-['']",
3906
+ "after:w-0",
3907
+ "after:origin-center",
3908
+ "after:bg-default-foreground",
3909
+ "after:absolute",
3910
+ "after:left-1/2",
3911
+ "after:-translate-x-1/2",
3912
+ "after:-bottom-[2px]",
3913
+ "after:h-[2px]",
3914
+ "data-[active=true]:border-default-300",
3915
+ "data-[active=true]:after:w-full",
3916
+ "data-[active=true]:scale-100"
3917
+ ]
3918
+ }
3919
+ },
3920
+ isDisabled: {
3921
+ true: {
3922
+ segment: "opacity-disabled pointer-events-none",
3923
+ input: "pointer-events-none"
3924
+ }
3925
+ },
3926
+ isInvalid: {
3927
+ true: {}
3928
+ },
3929
+ isReadOnly: {
3930
+ true: {
3931
+ caret: "bg-transparent",
3932
+ segment: "transition-none data-[active=true]:scale-100"
3933
+ }
3934
+ },
3935
+ fullWidth: {
3936
+ true: {
3937
+ base: "w-full"
3938
+ }
3939
+ },
3940
+ radius: {
3941
+ none: {
3942
+ segment: "rounded-none"
3943
+ },
3944
+ sm: {
3945
+ segment: "rounded-sm"
3946
+ },
3947
+ md: {
3948
+ segment: "rounded-md"
3949
+ },
3950
+ lg: {
3951
+ segment: "rounded-lg"
3952
+ },
3953
+ full: {
3954
+ segment: "rounded-full"
3955
+ }
3956
+ },
3957
+ color: {
3958
+ default: {},
3959
+ primary: {},
3960
+ secondary: {},
3961
+ success: {},
3962
+ warning: {},
3963
+ danger: {}
3964
+ },
3965
+ size: {
3966
+ sm: {
3967
+ segment: "h-8 min-h-8 w-8 min-w-8 text-small"
3968
+ },
3969
+ md: {
3970
+ segment: "h-10 min-h-10 w-10 min-w-10 text-small"
3971
+ },
3972
+ lg: {
3973
+ segment: "h-12 min-h-12 w-12 min-w-12 text-medium"
3974
+ }
3975
+ },
3976
+ disableAnimation: {
3977
+ true: {
3978
+ segment: "transition-none",
3979
+ caret: "animate-none"
3980
+ },
3981
+ false: {
3982
+ segment: "transition duration-150"
3983
+ }
3984
+ }
3985
+ },
3986
+ defaultVariants: {
3987
+ variant: "flat",
3988
+ color: "default",
3989
+ radius: "md",
3990
+ size: "md"
3991
+ },
3992
+ compoundVariants: [
3993
+ {
3994
+ variant: "flat",
3995
+ color: "default",
3996
+ class: {
3997
+ segment: ["bg-default-100", "data-[active=true]:bg-default-200"]
3998
+ }
3999
+ },
4000
+ {
4001
+ variant: "flat",
4002
+ color: "primary",
4003
+ class: {
4004
+ segment: ["bg-primary-100", "data-[active=true]:bg-primary-200", "text-primary"],
4005
+ caret: ["bg-primary"],
4006
+ passwordChar: ["bg-primary"]
4007
+ }
4008
+ },
4009
+ {
4010
+ variant: "flat",
4011
+ color: "secondary",
4012
+ class: {
4013
+ segment: ["bg-secondary-100", "data-[active=true]:bg-secondary-200", "text-secondary"],
4014
+ caret: ["bg-secondary"],
4015
+ passwordChar: ["bg-secondary"]
4016
+ }
4017
+ },
4018
+ {
4019
+ variant: "flat",
4020
+ color: "success",
4021
+ class: {
4022
+ segment: ["bg-success-100", "data-[active=true]:bg-success-200", "text-success"],
4023
+ caret: ["bg-success"],
4024
+ passwordChar: ["bg-success"]
4025
+ }
4026
+ },
4027
+ {
4028
+ variant: "flat",
4029
+ color: "warning",
4030
+ class: {
4031
+ segment: ["bg-warning-100", "data-[active=true]:bg-warning-200", "text-warning"],
4032
+ caret: ["bg-warning"],
4033
+ passwordChar: ["bg-warning"]
4034
+ }
4035
+ },
4036
+ {
4037
+ variant: "flat",
4038
+ color: "danger",
4039
+ class: {
4040
+ segment: ["bg-danger-100", "data-[active=true]:bg-danger-200", "text-danger"],
4041
+ caret: ["bg-danger"],
4042
+ passwordChar: ["bg-danger"]
4043
+ }
4044
+ },
4045
+ {
4046
+ variant: "faded",
4047
+ color: "default",
4048
+ class: {
4049
+ segment: ""
4050
+ }
4051
+ },
4052
+ {
4053
+ variant: "faded",
4054
+ color: "primary",
4055
+ class: {
4056
+ segment: [
4057
+ "bg-primary-100",
4058
+ "text-primary",
4059
+ "border-primary-200",
4060
+ "data-[active=true]:border-primary"
4061
+ ],
4062
+ caret: ["bg-primary"],
4063
+ passwordChar: ["bg-primary"]
4064
+ }
4065
+ },
4066
+ {
4067
+ variant: "faded",
4068
+ color: "secondary",
4069
+ class: {
4070
+ segment: [
4071
+ "bg-secondary-100",
4072
+ "text-secondary",
4073
+ "border-secondary-200",
4074
+ "data-[active=true]:border-secondary"
4075
+ ],
4076
+ caret: ["bg-secondary"],
4077
+ passwordChar: ["bg-secondary"]
4078
+ }
4079
+ },
4080
+ {
4081
+ variant: "faded",
4082
+ color: "success",
4083
+ class: {
4084
+ segment: [
4085
+ "bg-success-100",
4086
+ "text-success",
4087
+ "border-success-200",
4088
+ "data-[active=true]:border-success"
4089
+ ],
4090
+ caret: ["bg-success"],
4091
+ passwordChar: ["bg-success"]
4092
+ }
4093
+ },
4094
+ {
4095
+ variant: "faded",
4096
+ color: "warning",
4097
+ class: {
4098
+ segment: [
4099
+ "bg-warning-100",
4100
+ "text-warning",
4101
+ "border-warning-200",
4102
+ "data-[active=true]:border-warning"
4103
+ ],
4104
+ caret: ["bg-warning"],
4105
+ passwordChar: ["bg-warning"]
4106
+ }
4107
+ },
4108
+ {
4109
+ variant: "faded",
4110
+ color: "danger",
4111
+ class: {
4112
+ segment: [
4113
+ "bg-danger-100",
4114
+ "text-danger",
4115
+ "border-danger-200",
4116
+ "data-[active=true]:border-danger"
4117
+ ],
4118
+ caret: ["bg-danger"],
4119
+ passwordChar: ["bg-danger"]
4120
+ }
4121
+ },
4122
+ {
4123
+ variant: "bordered",
4124
+ color: "default",
4125
+ class: {
4126
+ segment: "data-[has-value=true]:text-default-foreground data-[active=true]:border-foreground"
4127
+ }
4128
+ },
4129
+ {
4130
+ variant: "bordered",
4131
+ color: "primary",
4132
+ class: {
4133
+ segment: ["border-primary-200", "text-primary", "data-[active=true]:border-primary"],
4134
+ caret: ["bg-primary"],
4135
+ passwordChar: ["bg-primary"]
4136
+ }
4137
+ },
4138
+ {
4139
+ variant: "bordered",
4140
+ color: "secondary",
4141
+ class: {
4142
+ segment: ["border-secondary-200", "text-secondary", "data-[active=true]:border-secondary"],
4143
+ caret: ["bg-secondary"],
4144
+ passwordChar: ["bg-secondary"]
4145
+ }
4146
+ },
4147
+ {
4148
+ variant: "bordered",
4149
+ color: "success",
4150
+ class: {
4151
+ segment: ["border-success-200", "text-success", "data-[active=true]:border-success"],
4152
+ caret: ["bg-success"],
4153
+ passwordChar: ["bg-success"]
4154
+ }
4155
+ },
4156
+ {
4157
+ variant: "bordered",
4158
+ color: "warning",
4159
+ class: {
4160
+ segment: ["border-warning-200", "text-warning", "data-[active=true]:border-warning"],
4161
+ caret: ["bg-warning"],
4162
+ passwordChar: ["bg-warning"]
4163
+ }
4164
+ },
4165
+ {
4166
+ variant: "bordered",
4167
+ color: "danger",
4168
+ class: {
4169
+ segment: ["border-danger-200", "text-danger", "data-[active=true]:border-danger"],
4170
+ caret: ["bg-danger"],
4171
+ passwordChar: ["bg-danger"]
4172
+ }
4173
+ },
4174
+ {
4175
+ variant: "underlined",
4176
+ color: "default",
4177
+ class: {
4178
+ segment: "data-[has-value=true]:text-default-foreground after:bg-foreground"
4179
+ }
4180
+ },
4181
+ {
4182
+ variant: "underlined",
4183
+ color: "primary",
4184
+ class: {
4185
+ segment: ["border-primary-200", "text-primary", "after:bg-primary"],
4186
+ caret: ["bg-primary"],
4187
+ passwordChar: ["bg-primary"]
4188
+ }
4189
+ },
4190
+ {
4191
+ variant: "underlined",
4192
+ color: "secondary",
4193
+ class: {
4194
+ segment: ["border-secondary-200", "text-secondary", "after:bg-secondary"],
4195
+ caret: ["bg-secondary"],
4196
+ passwordChar: ["bg-secondary"]
4197
+ }
4198
+ },
4199
+ {
4200
+ variant: "underlined",
4201
+ color: "success",
4202
+ class: {
4203
+ segment: ["border-success-200", "text-success", "after:bg-success"],
4204
+ caret: ["bg-success"],
4205
+ passwordChar: ["bg-success"]
4206
+ }
4207
+ },
4208
+ {
4209
+ variant: "underlined",
4210
+ color: "warning",
4211
+ class: {
4212
+ segment: ["border-warning-200", "text-warning", "after:bg-warning"],
4213
+ caret: ["bg-warning"],
4214
+ passwordChar: ["bg-warning"]
4215
+ }
4216
+ },
4217
+ {
4218
+ variant: "underlined",
4219
+ color: "danger",
4220
+ class: {
4221
+ segment: ["border-danger-200", "text-danger", "after:bg-danger"],
4222
+ caret: ["bg-danger"],
4223
+ passwordChar: ["bg-danger"]
4224
+ }
4225
+ },
4226
+ {
4227
+ variant: "flat",
4228
+ isInvalid: true,
4229
+ class: {
4230
+ segment: ["bg-danger-50", "data-[active=true]:bg-danger-100", "text-danger"],
4231
+ caret: ["bg-danger"]
4232
+ }
4233
+ },
4234
+ {
4235
+ variant: "faded",
4236
+ isInvalid: true,
4237
+ class: {
4238
+ segment: [
4239
+ "bg-danger-50",
4240
+ "text-danger",
4241
+ "border-danger-200",
4242
+ "data-[active=true]:border-danger-400"
4243
+ ],
4244
+ caret: ["bg-danger"]
4245
+ }
4246
+ },
4247
+ {
4248
+ variant: "bordered",
4249
+ isInvalid: true,
4250
+ class: {
4251
+ segment: ["border-danger-200", "text-danger", "data-[active=true]:border-danger-400"],
4252
+ caret: ["bg-danger"]
4253
+ }
4254
+ },
4255
+ {
4256
+ variant: "underlined",
4257
+ isInvalid: true,
4258
+ class: {
4259
+ segment: ["border-danger-200", "text-danger", "data-[active=true]:after:bg-danger-400"],
4260
+ caret: ["bg-danger"]
4261
+ }
4262
+ },
4263
+ {
4264
+ disableAnimation: false,
4265
+ variant: "underlined",
4266
+ class: {
4267
+ segment: "after:transition-width motion-reduce:after:transition-none"
4268
+ }
4269
+ }
4270
+ ]
4271
+ });
4272
+
3823
4273
  // src/components/input.ts
3824
4274
  var input = tv({
3825
4275
  slots: {
@@ -3829,6 +4279,7 @@ var input = tv({
3829
4279
  "z-10",
3830
4280
  "pointer-events-none",
3831
4281
  "origin-top-left",
4282
+ "flex-shrink-0",
3832
4283
  "rtl:origin-top-right",
3833
4284
  "subpixel-antialiased",
3834
4285
  "block",
@@ -3849,10 +4300,10 @@ var input = tv({
3849
4300
  "p-2",
3850
4301
  "-m-2",
3851
4302
  "z-10",
3852
- "hidden",
3853
4303
  "absolute",
3854
4304
  "end-3",
3855
4305
  "start-auto",
4306
+ "pointer-events-none",
3856
4307
  "appearance-none",
3857
4308
  "outline-none",
3858
4309
  "select-none",
@@ -3941,6 +4392,7 @@ var input = tv({
3941
4392
  clearButton: "text-large"
3942
4393
  },
3943
4394
  lg: {
4395
+ label: "text-medium",
3944
4396
  inputWrapper: "h-12 min-h-12 rounded-large",
3945
4397
  input: "text-medium",
3946
4398
  clearButton: "text-large"
@@ -3974,7 +4426,7 @@ var input = tv({
3974
4426
  label: "relative text-foreground pe-2 ps-2 pointer-events-auto"
3975
4427
  },
3976
4428
  inside: {
3977
- label: "text-tiny cursor-text",
4429
+ label: "cursor-text",
3978
4430
  inputWrapper: "flex-col items-start justify-center gap-0",
3979
4431
  innerWrapper: "group-data-[has-label=true]:items-end"
3980
4432
  }
@@ -3988,7 +4440,11 @@ var input = tv({
3988
4440
  isClearable: {
3989
4441
  true: {
3990
4442
  input: "peer pe-6 input-search-cancel-button-none",
3991
- clearButton: "peer-data-[filled=true]:opacity-70 peer-data-[filled=true]:block"
4443
+ clearButton: [
4444
+ "peer-data-[filled=true]:pointer-events-auto",
4445
+ "peer-data-[filled=true]:opacity-70 peer-data-[filled=true]:block",
4446
+ "peer-data-[filled=true]:scale-100"
4447
+ ]
3992
4448
  }
3993
4449
  },
3994
4450
  isDisabled: {
@@ -4014,7 +4470,8 @@ var input = tv({
4014
4470
  label: "relative",
4015
4471
  inputWrapper: "!h-auto",
4016
4472
  innerWrapper: "items-start group-data-[has-label=true]:items-start",
4017
- input: "resize-none data-[hide-scroll=true]:scrollbar-hide"
4473
+ input: "resize-none data-[hide-scroll=true]:scrollbar-hide",
4474
+ clearButton: "absolute top-2 right-2 rtl:right-auto rtl:left-2 z-10"
4018
4475
  }
4019
4476
  },
4020
4477
  disableAnimation: {
@@ -4032,7 +4489,14 @@ var input = tv({
4032
4489
  "motion-reduce:transition-none",
4033
4490
  "transition-[transform,color,left,opacity]"
4034
4491
  ],
4035
- clearButton: ["transition-opacity", "motion-reduce:transition-none"]
4492
+ clearButton: [
4493
+ "scale-90",
4494
+ "ease-out",
4495
+ "duration-150",
4496
+ "transition-[opacity,transform]",
4497
+ "motion-reduce:transition-none",
4498
+ "motion-reduce:scale-100"
4499
+ ]
4036
4500
  }
4037
4501
  }
4038
4502
  },
@@ -4361,7 +4825,6 @@ var input = tv({
4361
4825
  labelPlacement: "inside",
4362
4826
  size: "lg",
4363
4827
  class: {
4364
- label: "text-small",
4365
4828
  inputWrapper: "h-16 py-2.5 gap-0"
4366
4829
  }
4367
4830
  },
@@ -4629,6 +5092,17 @@ var input = tv({
4629
5092
  class: {
4630
5093
  inputWrapper: "data-[has-multiple-rows=true]:rounded-large"
4631
5094
  }
5095
+ },
5096
+ {
5097
+ isClearable: true,
5098
+ isMultiline: true,
5099
+ class: {
5100
+ clearButton: [
5101
+ "group-data-[has-value=true]:opacity-70 group-data-[has-value=true]:block",
5102
+ "group-data-[has-value=true]:scale-100",
5103
+ "group-data-[has-value=true]:pointer-events-auto"
5104
+ ]
5105
+ }
4632
5106
  }
4633
5107
  ]
4634
5108
  });
@@ -6253,7 +6727,7 @@ var select = tv({
6253
6727
  selectorIcon: "absolute end-3 w-4 h-4",
6254
6728
  spinner: "absolute end-3",
6255
6729
  value: ["text-foreground-500", "font-normal", "w-full", "text-start"],
6256
- listboxWrapper: "scroll-py-6 max-h-64 w-full",
6730
+ listboxWrapper: "scroll-py-6 w-full",
6257
6731
  listbox: "",
6258
6732
  popoverContent: "w-full p-1 overflow-hidden",
6259
6733
  helperWrapper: "p-1 flex relative flex-col gap-1.5",
@@ -6750,7 +7224,7 @@ var select = tv({
6750
7224
  labelPlacement: "inside",
6751
7225
  size: "lg",
6752
7226
  class: {
6753
- label: "text-small",
7227
+ label: "text-medium",
6754
7228
  trigger: "h-16 min-h-16 py-2.5 gap-0"
6755
7229
  }
6756
7230
  },
@@ -6931,7 +7405,7 @@ var select = tv({
6931
7405
  // src/components/menu.ts
6932
7406
  var menu = tv({
6933
7407
  slots: {
6934
- base: "w-full relative flex flex-col gap-1 p-1",
7408
+ base: "w-full relative flex flex-col gap-1 p-1 overflow-hidden",
6935
7409
  list: "w-full flex flex-col gap-0.5 outline-none",
6936
7410
  emptyContent: [
6937
7411
  "h-10",
@@ -7039,6 +7513,16 @@ var menuItem = tv({
7039
7513
  false: {
7040
7514
  base: "data-[hover=true]:transition-colors"
7041
7515
  }
7516
+ },
7517
+ hasTitleTextChild: {
7518
+ true: {
7519
+ title: "truncate"
7520
+ }
7521
+ },
7522
+ hasDescriptionTextChild: {
7523
+ true: {
7524
+ description: "truncate"
7525
+ }
7042
7526
  }
7043
7527
  },
7044
7528
  defaultVariants: {
@@ -8034,7 +8518,7 @@ var breadcrumbs = tv({
8034
8518
  var autocomplete = tv({
8035
8519
  slots: {
8036
8520
  base: "group inline-flex flex-column w-full",
8037
- listboxWrapper: "scroll-py-6 max-h-64 w-full",
8521
+ listboxWrapper: "scroll-py-6 w-full",
8038
8522
  listbox: "",
8039
8523
  popoverContent: "w-full p-1 overflow-hidden",
8040
8524
  endContentWrapper: "relative flex h-full items-center -mr-2",
@@ -8598,6 +9082,7 @@ var dateInput = tv({
8598
9082
  clearButton: "text-large"
8599
9083
  },
8600
9084
  lg: {
9085
+ label: "text-medium",
8601
9086
  input: "text-medium",
8602
9087
  inputWrapper: "h-12 min-h-12 rounded-large"
8603
9088
  }
@@ -8835,7 +9320,7 @@ var dateInput = tv({
8835
9320
  labelPlacement: "inside",
8836
9321
  size: "lg",
8837
9322
  class: {
8838
- label: "text-small",
9323
+ label: "text-medium",
8839
9324
  inputWrapper: "h-16 py-2.5 gap-0"
8840
9325
  }
8841
9326
  },
@@ -9258,6 +9743,11 @@ var drawer = tv({
9258
9743
  }
9259
9744
  });
9260
9745
 
9746
+ // src/components/form.ts
9747
+ var form = tv({
9748
+ base: "flex flex-col gap-2 items-start"
9749
+ });
9750
+
9261
9751
  // src/colors/blue.ts
9262
9752
  var blue = {
9263
9753
  50: "#e6f1fe",
@@ -9575,7 +10065,7 @@ var colors = {
9575
10065
  var import_color = __toESM(require("color"));
9576
10066
  var import_plugin = __toESM(require("tailwindcss/plugin.js"));
9577
10067
  var import_deepmerge = __toESM(require("deepmerge"));
9578
- var import_shared_utils = require("@nextui-org/shared-utils");
10068
+ var import_shared_utils2 = require("@nextui-org/shared-utils");
9579
10069
 
9580
10070
  // src/animations/index.ts
9581
10071
  var animations = {
@@ -9818,7 +10308,7 @@ var resolveConfig = (themes = {}, defaultTheme, prefix) => {
9818
10308
  "color-scheme": scheme
9819
10309
  } : {};
9820
10310
  const flatColors = flattenThemeObject(colors2);
9821
- const flatLayout = layout ? (0, import_shared_utils.mapKeys)(layout, (_, key) => (0, import_shared_utils.kebabCase)(key)) : {};
10311
+ const flatLayout = layout ? (0, import_shared_utils2.mapKeys)(layout, (_, key) => (0, import_shared_utils2.kebabCase)(key)) : {};
9822
10312
  resolved.variants.push({
9823
10313
  name: themeName,
9824
10314
  definition: [`&.${themeName}`, `&[data-theme='${themeName}']`]
@@ -9976,7 +10466,7 @@ var nextui = (config = {}) => {
9976
10466
  ...darkLayout
9977
10467
  }
9978
10468
  };
9979
- let otherThemes = (0, import_shared_utils.omit)(themeObject, ["light", "dark"]) || {};
10469
+ let otherThemes = (0, import_shared_utils2.omit)(themeObject, ["light", "dark"]) || {};
9980
10470
  Object.entries(otherThemes).forEach(([themeName, { extend, colors: colors2, layout }]) => {
9981
10471
  const baseTheme = extend && isBaseTheme(extend) ? extend : defaultExtendTheme;
9982
10472
  if (colors2 && typeof colors2 === "object") {
@@ -10046,9 +10536,11 @@ var nextui = (config = {}) => {
10046
10536
  dropdownMenu,
10047
10537
  dropdownSection,
10048
10538
  focusVisibleClasses,
10539
+ form,
10049
10540
  groupDataFocusVisibleClasses,
10050
10541
  image,
10051
10542
  input,
10543
+ inputOtp,
10052
10544
  kbd,
10053
10545
  lightLayout,
10054
10546
  link,
@@ -10059,6 +10551,7 @@ var nextui = (config = {}) => {
10059
10551
  menu,
10060
10552
  menuItem,
10061
10553
  menuSection,
10554
+ mergeClasses,
10062
10555
  modal,
10063
10556
  navbar,
10064
10557
  nextui,