@deepnoid/ui 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/.turbo/turbo-build.log +173 -173
  2. package/dist/{chunk-VWMXZUR2.mjs → chunk-2TJDQIKB.mjs} +1 -1
  3. package/dist/{chunk-IE2BRM7Z.mjs → chunk-2ZT6V4QR.mjs} +0 -9
  4. package/dist/{chunk-PKVQXVCS.mjs → chunk-56VCX2QR.mjs} +1 -1
  5. package/dist/{chunk-UAMIPCUD.mjs → chunk-AMA53H3C.mjs} +2 -2
  6. package/dist/{chunk-XAA5KY6A.mjs → chunk-CF6O6TCF.mjs} +1 -1
  7. package/dist/{chunk-3AMZ55Y6.mjs → chunk-DNFBQYVG.mjs} +3 -3
  8. package/dist/{chunk-QNA2GDTN.mjs → chunk-GLBASISV.mjs} +1 -1
  9. package/dist/{chunk-QJHZJRSQ.mjs → chunk-HKXUNG3H.mjs} +1 -1
  10. package/dist/{chunk-XTGRSVYO.mjs → chunk-J5WJD6XZ.mjs} +1 -1
  11. package/dist/{chunk-MW6Y3FSE.mjs → chunk-KWWYMTJP.mjs} +4 -4
  12. package/dist/chunk-M2IRRTFM.mjs +79 -0
  13. package/dist/{chunk-Q5WACGVP.mjs → chunk-N4F3R6HG.mjs} +1 -1
  14. package/dist/chunk-OELLMF2V.mjs +283 -0
  15. package/dist/{chunk-WQBOPCH6.mjs → chunk-ON5SGXHZ.mjs} +1 -1
  16. package/dist/chunk-OQS4LGZK.mjs +27 -0
  17. package/dist/chunk-OYNGJ33M.mjs +285 -0
  18. package/dist/{chunk-KCYJYS66.mjs → chunk-RCU5MLBU.mjs} +1 -1
  19. package/dist/{chunk-X2MQCISM.mjs → chunk-S65S7QZ5.mjs} +1 -1
  20. package/dist/chunk-TMSBICKB.mjs +314 -0
  21. package/dist/{chunk-RRL6KBU4.mjs → chunk-U2YKMXVG.mjs} +1 -1
  22. package/dist/{chunk-CATOSBI7.mjs → chunk-VP3NVHFU.mjs} +2 -2
  23. package/dist/{chunk-VBFXKJTI.mjs → chunk-VRGHUYRU.mjs} +2 -2
  24. package/dist/{chunk-5S4XGPBB.mjs → chunk-VVOOYDJS.mjs} +1 -1
  25. package/dist/{chunk-FYJZ7Q5L.mjs → chunk-XIHAABHB.mjs} +1 -1
  26. package/dist/{chunk-2HSK6XGZ.mjs → chunk-YZNQ2QGK.mjs} +1 -1
  27. package/dist/{chunk-P5WT7WJO.mjs → chunk-ZEZ6ZA3N.mjs} +1 -1
  28. package/dist/components/avatar/avatar.js +0 -9
  29. package/dist/components/avatar/avatar.mjs +2 -2
  30. package/dist/components/avatar/index.js +0 -9
  31. package/dist/components/avatar/index.mjs +2 -2
  32. package/dist/components/backdrop/backdrop.js +0 -9
  33. package/dist/components/backdrop/backdrop.mjs +2 -2
  34. package/dist/components/backdrop/index.js +0 -9
  35. package/dist/components/backdrop/index.mjs +2 -2
  36. package/dist/components/breadcrumb/breadcrumb.js +0 -9
  37. package/dist/components/breadcrumb/breadcrumb.mjs +2 -2
  38. package/dist/components/breadcrumb/index.js +0 -9
  39. package/dist/components/breadcrumb/index.mjs +2 -2
  40. package/dist/components/button/button-group.js +0 -9
  41. package/dist/components/button/button-group.mjs +2 -2
  42. package/dist/components/button/button.js +0 -9
  43. package/dist/components/button/button.mjs +2 -2
  44. package/dist/components/button/index.js +0 -9
  45. package/dist/components/button/index.mjs +3 -3
  46. package/dist/components/checkbox/checkbox.js +0 -9
  47. package/dist/components/checkbox/checkbox.mjs +2 -2
  48. package/dist/components/checkbox/index.js +0 -9
  49. package/dist/components/checkbox/index.mjs +2 -2
  50. package/dist/components/chip/chip.js +0 -9
  51. package/dist/components/chip/chip.mjs +2 -2
  52. package/dist/components/chip/index.js +0 -9
  53. package/dist/components/chip/index.mjs +2 -2
  54. package/dist/components/dateTimePicker/calendar.js +0 -9
  55. package/dist/components/dateTimePicker/calendar.mjs +2 -2
  56. package/dist/components/dateTimePicker/dateTimePicker.js +0 -9
  57. package/dist/components/dateTimePicker/dateTimePicker.mjs +7 -7
  58. package/dist/components/dateTimePicker/index.js +0 -9
  59. package/dist/components/dateTimePicker/index.mjs +7 -7
  60. package/dist/components/dateTimePicker/timePicker.js +0 -9
  61. package/dist/components/dateTimePicker/timePicker.mjs +5 -5
  62. package/dist/components/input/index.d.mts +1 -1
  63. package/dist/components/input/index.d.ts +1 -1
  64. package/dist/components/input/index.js +429 -379
  65. package/dist/components/input/index.mjs +3 -2
  66. package/dist/components/input/input.d.mts +96 -81
  67. package/dist/components/input/input.d.ts +96 -81
  68. package/dist/components/input/input.js +429 -379
  69. package/dist/components/input/input.mjs +3 -2
  70. package/dist/components/list/index.js +0 -9
  71. package/dist/components/list/index.mjs +4 -4
  72. package/dist/components/list/list.js +0 -9
  73. package/dist/components/list/list.mjs +2 -2
  74. package/dist/components/list/listItem.js +0 -9
  75. package/dist/components/list/listItem.mjs +3 -3
  76. package/dist/components/modal/index.js +0 -9
  77. package/dist/components/modal/index.mjs +4 -4
  78. package/dist/components/modal/modal.js +0 -9
  79. package/dist/components/modal/modal.mjs +4 -4
  80. package/dist/components/pagination/index.d.mts +1 -1
  81. package/dist/components/pagination/index.d.ts +1 -1
  82. package/dist/components/pagination/index.js +320 -292
  83. package/dist/components/pagination/index.mjs +4 -3
  84. package/dist/components/pagination/pagination.d.mts +39 -95
  85. package/dist/components/pagination/pagination.d.ts +39 -95
  86. package/dist/components/pagination/pagination.js +322 -296
  87. package/dist/components/pagination/pagination.mjs +6 -7
  88. package/dist/components/radio/index.js +0 -9
  89. package/dist/components/radio/index.mjs +2 -2
  90. package/dist/components/radio/radio.js +0 -9
  91. package/dist/components/radio/radio.mjs +2 -2
  92. package/dist/components/select/index.js +0 -9
  93. package/dist/components/select/index.mjs +3 -3
  94. package/dist/components/select/option.js +0 -9
  95. package/dist/components/select/option.mjs +2 -2
  96. package/dist/components/select/select.js +0 -9
  97. package/dist/components/select/select.mjs +3 -3
  98. package/dist/components/table/index.js +1193 -775
  99. package/dist/components/table/index.mjs +10 -5
  100. package/dist/components/table/table-body.d.mts +10 -16
  101. package/dist/components/table/table-body.d.ts +10 -16
  102. package/dist/components/table/table-body.js +54 -3792
  103. package/dist/components/table/table-body.mjs +3 -6
  104. package/dist/components/table/table-head.d.mts +4 -6
  105. package/dist/components/table/table-head.d.ts +4 -6
  106. package/dist/components/table/table-head.js +6 -44
  107. package/dist/components/table/table-head.mjs +3 -3
  108. package/dist/components/table/table.d.mts +91 -231
  109. package/dist/components/table/table.d.ts +91 -231
  110. package/dist/components/table/table.js +1193 -775
  111. package/dist/components/table/table.mjs +10 -5
  112. package/dist/components/tabs/index.js +0 -9
  113. package/dist/components/tabs/index.mjs +2 -2
  114. package/dist/components/tabs/tabs.js +0 -9
  115. package/dist/components/tabs/tabs.mjs +2 -2
  116. package/dist/components/toast/index.js +0 -9
  117. package/dist/components/toast/index.mjs +3 -3
  118. package/dist/components/toast/toast.js +0 -9
  119. package/dist/components/toast/toast.mjs +2 -2
  120. package/dist/components/toast/use-toast.js +0 -9
  121. package/dist/components/toast/use-toast.mjs +3 -3
  122. package/dist/components/tooltip/index.js +0 -9
  123. package/dist/components/tooltip/index.mjs +2 -2
  124. package/dist/components/tooltip/tooltip.js +0 -9
  125. package/dist/components/tooltip/tooltip.mjs +2 -2
  126. package/dist/index.js +822 -958
  127. package/dist/index.mjs +56 -56
  128. package/dist/utils/tailwind-variants.js +0 -9
  129. package/dist/utils/tailwind-variants.mjs +1 -1
  130. package/package.json +1 -1
  131. package/dist/chunk-5IQKKLZY.mjs +0 -139
  132. package/dist/chunk-PFYYYUJW.mjs +0 -56
  133. package/dist/chunk-RQ76IOYC.mjs +0 -300
  134. package/dist/chunk-SK2A72R2.mjs +0 -263
  135. package/dist/chunk-YGOEKSNZ.mjs +0 -345
@@ -120,35 +120,30 @@ var fontSize = {
120
120
  h1: [
121
121
  "40px",
122
122
  {
123
- letterSpacing: "-2%",
124
123
  fontWeight: "700"
125
124
  }
126
125
  ],
127
126
  h2: [
128
127
  "34px",
129
128
  {
130
- letterSpacing: "-2%",
131
129
  fontWeight: "700"
132
130
  }
133
131
  ],
134
132
  h3: [
135
133
  "28px",
136
134
  {
137
- letterSpacing: "-2%",
138
135
  fontWeight: "700"
139
136
  }
140
137
  ],
141
138
  h4: [
142
139
  "24px",
143
140
  {
144
- letterSpacing: "-2%",
145
141
  fontWeight: "700"
146
142
  }
147
143
  ],
148
144
  h5: [
149
145
  "20px",
150
146
  {
151
- letterSpacing: "-2%",
152
147
  fontWeight: "600"
153
148
  }
154
149
  ],
@@ -156,7 +151,6 @@ var fontSize = {
156
151
  "12px",
157
152
  {
158
153
  lineHeight: "18px",
159
- letterSpacing: "-2%",
160
154
  fontWeight: "400"
161
155
  }
162
156
  ],
@@ -164,7 +158,6 @@ var fontSize = {
164
158
  "14px",
165
159
  {
166
160
  lineHeight: "21px",
167
- letterSpacing: "-2%",
168
161
  fontWeight: "400"
169
162
  }
170
163
  ],
@@ -172,7 +165,6 @@ var fontSize = {
172
165
  "16px",
173
166
  {
174
167
  lineHeight: "24px",
175
- letterSpacing: "-2%",
176
168
  fontWeight: "400"
177
169
  }
178
170
  ],
@@ -180,7 +172,6 @@ var fontSize = {
180
172
  "18px",
181
173
  {
182
174
  lineHeight: "27px",
183
- letterSpacing: "-2%",
184
175
  fontWeight: "400"
185
176
  }
186
177
  ]
@@ -4055,46 +4046,53 @@ var Icon = ({ name, size = "md", fill = false, className, onClick, ...props }) =
4055
4046
  };
4056
4047
  var Icon_default = Icon;
4057
4048
 
4049
+ // src/utils/clsx.ts
4050
+ function clsx(...args) {
4051
+ var i = 0, tmp, x, str = "";
4052
+ while (i < args.length) {
4053
+ if (tmp = args[i++]) {
4054
+ if (x = toVal(tmp)) {
4055
+ str && (str += " ");
4056
+ str += x;
4057
+ }
4058
+ }
4059
+ }
4060
+ return str;
4061
+ }
4062
+ function toVal(mix) {
4063
+ var k, y, str = "";
4064
+ if (typeof mix === "string" || typeof mix === "number") {
4065
+ str += mix;
4066
+ } else if (typeof mix === "object") {
4067
+ if (Array.isArray(mix)) {
4068
+ var len = mix.length;
4069
+ for (k = 0; k < len; k++) {
4070
+ if (mix[k]) {
4071
+ if (y = toVal(mix[k])) {
4072
+ str && (str += " ");
4073
+ str += y;
4074
+ }
4075
+ }
4076
+ }
4077
+ } else {
4078
+ for (y in mix) {
4079
+ if (mix[y]) {
4080
+ str && (str += " ");
4081
+ str += y;
4082
+ }
4083
+ }
4084
+ }
4085
+ }
4086
+ return str;
4087
+ }
4088
+
4058
4089
  // src/components/input/input.tsx
4059
4090
  var import_jsx_runtime3 = require("react/jsx-runtime");
4060
4091
  var Input = (0, import_react2.forwardRef)((originalProps, ref) => {
4061
4092
  const [props, variantProps] = mapPropsVariants(originalProps, inputStyle.variantKeys);
4062
- const { classNames, label, errorMessage, startContent, endContent, ...inputProps } = props;
4093
+ const { classNames, label, helperText, errorText, startContent, endContent, ...inputProps } = props;
4063
4094
  const inputRef = (0, import_react2.useRef)(null);
4064
4095
  const slots = (0, import_react2.useMemo)(() => inputStyle({ ...variantProps }), [variantProps]);
4065
- const getBaseProps = (0, import_react2.useCallback)(
4066
- () => ({
4067
- className: slots.base({ class: classNames == null ? void 0 : classNames.base })
4068
- }),
4069
- [slots, classNames]
4070
- );
4071
- const getLabelProps = (0, import_react2.useCallback)(
4072
- () => ({
4073
- className: slots.label({ class: classNames == null ? void 0 : classNames.label })
4074
- }),
4075
- [slots, classNames]
4076
- );
4077
- const getInnerWrapperProps = (0, import_react2.useCallback)(
4078
- () => ({
4079
- className: slots.innerWrapper({ class: classNames == null ? void 0 : classNames.innerWrapper })
4080
- }),
4081
- [slots, classNames]
4082
- );
4083
- const getInputWrapperProps = (0, import_react2.useCallback)(
4084
- () => ({
4085
- className: slots.inputWrapper({ class: classNames == null ? void 0 : classNames.inputWrapper })
4086
- }),
4087
- [slots, classNames]
4088
- );
4089
- const getInputProps = (0, import_react2.useCallback)(
4090
- () => ({
4091
- ...inputProps,
4092
- ref: ref || inputRef,
4093
- className: slots.input({ class: classNames == null ? void 0 : classNames.input }),
4094
- size: 0
4095
- }),
4096
- [slots, classNames, inputProps, ref]
4097
- );
4098
4096
  const getContentProps = (0, import_react2.useCallback)(
4099
4097
  () => ({
4100
4098
  className: slots.content({ class: classNames == null ? void 0 : classNames.content }),
@@ -4102,12 +4100,6 @@ var Input = (0, import_react2.forwardRef)((originalProps, ref) => {
4102
4100
  }),
4103
4101
  [slots, classNames, originalProps.size]
4104
4102
  );
4105
- const getErrorMessageProps = (0, import_react2.useCallback)(
4106
- () => ({
4107
- className: slots.errorMessage({ class: classNames == null ? void 0 : classNames.errorMessage })
4108
- }),
4109
- [slots, classNames]
4110
- );
4111
4103
  const renderStartContent = () => {
4112
4104
  if (import_react2.default.isValidElement(startContent)) {
4113
4105
  const existingProps = startContent.props;
@@ -4141,7 +4133,7 @@ var Input = (0, import_react2.forwardRef)((originalProps, ref) => {
4141
4133
  className: `${getContentProps().className || ""} ${existingProps.className || ""}`.trim()
4142
4134
  };
4143
4135
  return import_react2.default.cloneElement(endContent, mergedProps);
4144
- } else if (errorMessage) {
4136
+ } else if (errorText) {
4145
4137
  const iconProps = { ...getContentProps(), className: getContentProps().className };
4146
4138
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { ...iconProps, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Icon_default, { name: "exclamation-circle", fill: true, size: originalProps.size }) });
4147
4139
  } else {
@@ -4160,152 +4152,210 @@ var Input = (0, import_react2.forwardRef)((originalProps, ref) => {
4160
4152
  return renderContentWithIcon();
4161
4153
  }
4162
4154
  };
4163
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { ...getBaseProps(), children: [
4164
- label && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("label", { ...getLabelProps(), children: label }),
4165
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { ...getInnerWrapperProps(), children: [
4166
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { ...getInputWrapperProps(), children: [
4167
- startContent && renderStartContent(),
4168
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("input", { ...getInputProps() }),
4169
- renderEndContent()
4170
- ] }),
4171
- errorMessage && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { ...getErrorMessageProps(), children: errorMessage })
4172
- ] })
4173
- ] });
4155
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
4156
+ "div",
4157
+ {
4158
+ className: clsx(
4159
+ slots.base({ class: classNames == null ? void 0 : classNames.base }),
4160
+ variantProps.direction === "horizon" ? slots.horizon({ class: classNames == null ? void 0 : classNames.horizon }) : slots.vertical({ class: classNames == null ? void 0 : classNames.vertical })
4161
+ ),
4162
+ children: [
4163
+ label && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("label", { className: slots.label({ class: classNames == null ? void 0 : classNames.label }), children: label }),
4164
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: slots.innerWrapper({ class: classNames == null ? void 0 : classNames.innerWrapper }), children: [
4165
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
4166
+ "div",
4167
+ {
4168
+ className: clsx(
4169
+ slots.inputWrapper({ class: classNames == null ? void 0 : classNames.inputWrapper }),
4170
+ inputProps.readOnly ? slots.readonly({ class: classNames == null ? void 0 : classNames.readonly }) : ""
4171
+ ),
4172
+ children: [
4173
+ startContent && renderStartContent(),
4174
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("input", { ...inputProps, ref: ref || inputRef, className: slots.input({ class: classNames == null ? void 0 : classNames.input }), size: 0 }),
4175
+ renderEndContent()
4176
+ ]
4177
+ }
4178
+ ),
4179
+ helperText && !errorText && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { className: slots.helperText({ class: classNames == null ? void 0 : classNames.helperText }), children: helperText }),
4180
+ errorText && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { className: clsx("error", slots.errorText({ class: classNames == null ? void 0 : classNames.errorText })), children: errorText })
4181
+ ] })
4182
+ ]
4183
+ }
4184
+ );
4174
4185
  });
4175
4186
  Input.displayName = "Input";
4176
4187
  var input_default = Input;
4177
4188
  var inputStyle = tv({
4178
4189
  slots: {
4179
- base: ["group/input", "flex", "flex-col"],
4180
- label: ["flex", "items-center"],
4190
+ base: ["group/input", "flex"],
4191
+ vertical: ["flex-col"],
4192
+ horizon: ["flex-row", "gap-0"],
4193
+ label: ["flex", "items-center", "font-bold", "text-body-foreground", "min-w-[80px]"],
4181
4194
  innerWrapper: ["flex", "flex-col"],
4182
- inputWrapper: [
4195
+ inputWrapper: ["flex", "items-center", "transition", "duration-200", "group-has-[p.error]/input:bg-danger-soft"],
4196
+ input: [
4197
+ "w-full",
4198
+ "h-full",
4199
+ "bg-transparent",
4200
+ "text-neutral-main",
4201
+ "placeholder:text-neutral-main",
4202
+ "focus:outline-none",
4203
+ "focus:ring-0",
4204
+ "group-has-[:hover]/input:text-neutral-dark",
4205
+ "group-has-[:hover]/input:placeholder:text-neutral-dark",
4206
+ "group-has-[:focus]/input:text-neutral-dark",
4207
+ "group-has-[:focus]/input:placeholder:text-neutral-dark",
4208
+ "group-has-[p.error]/input:text-danger-main",
4209
+ "group-has-[p.error]/input:placeholder:text-danger-main"
4210
+ ],
4211
+ content: [
4183
4212
  "flex",
4184
4213
  "items-center",
4185
- "transition",
4186
- "duration-200",
4187
- "group-has-[p]/input:border-danger-main",
4188
- "group-has-[p]/input:bg-danger-soft"
4214
+ "select-none",
4215
+ "text-neutral-main",
4216
+ "group-has-[:hover]/input:text-neutral-dark",
4217
+ "group-has-[p.error]/input:text-danger-main"
4189
4218
  ],
4190
- input: ["w-full", "h-full", "bg-transparent", "placeholder:text-neutral-main", "focus-visible:outline-none"],
4191
- content: ["flex", "items-center", "select-none", "group-has-[p]/input:text-danger-main"],
4192
- errorMessage: ["text-danger-main"]
4219
+ helperText: ["text-neutral-main", "group-has-[:hover]/input:text-neutral-dark"],
4220
+ errorText: ["text-danger-main"],
4221
+ readonly: ["pointer-events-none"]
4193
4222
  },
4194
4223
  variants: {
4195
4224
  variant: {
4196
4225
  solid: {
4197
- inputWrapper: ["bg-trans-soft", "hover:bg-trans-light", "has-[:focus]:bg-trans-light"]
4226
+ inputWrapper: ["!border-transparent", "bg-trans-soft", "group-has-[:focus]/input:text-body-foreground"],
4227
+ readonly: ["!bg-trans-light"]
4198
4228
  },
4199
- normal: {
4229
+ outline: {
4200
4230
  inputWrapper: [
4201
- "bg-transparent",
4202
- "border",
4203
- "border-neutral-main",
4204
- "hover:bg-trans-soft",
4205
- "has-[:focus]:bg-trans-soft"
4206
- ]
4231
+ "border-neutral-light",
4232
+ "group-has-[:hover]/input:bg-trans-soft",
4233
+ "group-has-[:focus]/input:bg-body-background",
4234
+ "group-has-[p.error]/input:border-danger-main"
4235
+ ],
4236
+ readonly: ["!bg-trans-soft"]
4207
4237
  },
4208
- line: {
4238
+ underline: {
4209
4239
  inputWrapper: [
4210
4240
  "bg-transparent",
4211
- "border-b",
4212
- "border-neutral-main",
4213
4241
  "!rounded-none",
4214
- "hover:bg-trans-soft",
4215
- "has-[:focus]:bg-trans-soft"
4216
- ]
4242
+ "!border-t-transparent",
4243
+ "!border-l-transparent",
4244
+ "!border-r-transparent",
4245
+ "group-has-[:hover]/input:bg-trans-soft",
4246
+ "group-has-[:focus]/input:bg-body-background",
4247
+ "group-has-[p.error]/input:border-danger-main"
4248
+ ],
4249
+ readonly: ["!bg-trans-soft"]
4217
4250
  }
4218
4251
  },
4219
4252
  color: {
4220
4253
  primary: {
4221
- inputWrapper: ["has-[:focus]:border-primary-main"],
4222
- content: ["text-primary-main"]
4254
+ content: [
4255
+ "group-has-[:focus]/input:text-primary-main",
4256
+ "!group-has-[p.error]:not(input:focus):hover/input:text-primary-main"
4257
+ ],
4258
+ helperText: [
4259
+ "group-has-[:focus]/input:text-primary-main",
4260
+ "group-has-[:focus:hover]/input:text-primary-main",
4261
+ "group-has-[:focus]/input:hover:text-primary-main"
4262
+ ]
4223
4263
  },
4224
4264
  secondary: {
4225
- inputWrapper: ["has-[:focus]:border-secondary-main"],
4226
- content: ["text-secondary-main"]
4265
+ content: [
4266
+ "group-has-[:focus]/input:text-secondary-main",
4267
+ "!group-has-[p.error]:not(input:focus):hover/input:text-secondary-main"
4268
+ ],
4269
+ helperText: [
4270
+ "group-has-[:focus]/input:text-secondary-main",
4271
+ "group-has-[:focus:hover]/input:text-secondary-main",
4272
+ "group-has-[:focus]/input:hover:text-secondary-main"
4273
+ ]
4227
4274
  }
4228
4275
  },
4229
4276
  size: {
4230
4277
  sm: {
4231
- base: ["text-sm", "gap-[6px]"],
4232
- innerWrapper: ["group-has-[p]/input:gap-[6px]"],
4233
- inputWrapper: ["w-[240px]", "h-[24px]", "rounded-sm", "px-[6px]", "py-[4.5px]", "gap-[6px]"],
4234
- errorMessage: ["text-sm"]
4278
+ base: ["text-sm", "gap-[4px]"],
4279
+ label: ["text-sm"],
4280
+ innerWrapper: ["gap-[4px]"],
4281
+ inputWrapper: ["w-[240px]", "h-[24px]", "rounded-sm", "px-[4px]", "border-sm"],
4282
+ helperText: ["text-sm"],
4283
+ errorText: ["text-sm"]
4235
4284
  },
4236
4285
  md: {
4237
- base: ["text-md", "gap-[8px]"],
4238
- innerWrapper: ["group-has-[p]/input:gap-[8px]"],
4239
- inputWrapper: ["w-[240px]", "h-[30px]", "rounded-md", "px-[8px]", "py-[6.5px]", "gap-[8px]"],
4240
- errorMessage: ["text-md"]
4286
+ base: ["text-md", "gap-[6px]"],
4287
+ label: ["text-md"],
4288
+ innerWrapper: ["gap-[6px]"],
4289
+ inputWrapper: ["w-[240px]", "h-[32px]", "rounded-md", "px-[6px]", "border-md"],
4290
+ helperText: ["text-sm"],
4291
+ errorText: ["text-sm"]
4241
4292
  },
4242
4293
  lg: {
4243
- base: ["text-lg", "gap-[10px]"],
4244
- innerWrapper: ["group-has-[p]/input:gap-[10px]"],
4245
- inputWrapper: ["w-[240px]", "h-[36px]", "rounded-lg", "px-[10px]", "py-[8px]", "gap-[10px]"],
4246
- errorMessage: ["text-lg"]
4294
+ base: ["text-lg", "gap-[8px]"],
4295
+ label: ["text-lg"],
4296
+ innerWrapper: ["gap-[8px]"],
4297
+ inputWrapper: ["w-[240px]", "h-[40px]", "rounded-lg", "px-[8px]", "border-lg"],
4298
+ helperText: ["text-md"],
4299
+ errorText: ["text-md"]
4247
4300
  },
4248
4301
  xl: {
4249
4302
  base: ["text-xl", "gap-[10px]"],
4250
- innerWrapper: ["group-has-[p]/input:gap-[10px]"],
4251
- inputWrapper: ["w-[240px]", "h-[36px]", "rounded-xl", "px-[10px]", "py-[8px]", "gap-[10px]"],
4252
- errorMessage: ["text-xl"]
4303
+ label: ["text-xl"],
4304
+ innerWrapper: ["gap-[10px]"],
4305
+ inputWrapper: ["w-[240px]", "h-[50px]", "rounded-lg", "px-[10px]", "border-xl"],
4306
+ helperText: ["text-md"],
4307
+ errorText: ["text-md"]
4253
4308
  }
4254
4309
  },
4255
- radius: {
4256
- default: "",
4257
- none: {
4258
- inputWrapper: ["rounded-none"]
4259
- },
4260
- full: {
4261
- inputWrapper: ["rounded-full"]
4262
- }
4310
+ direction: {
4311
+ vertical: "",
4312
+ horizon: ""
4263
4313
  },
4264
- fullWidth: {
4314
+ full: {
4265
4315
  true: {
4266
4316
  base: ["w-full"],
4267
4317
  innerWrapper: ["flex-1"],
4268
4318
  inputWrapper: ["w-full"]
4269
4319
  }
4270
4320
  },
4271
- isDisabled: {
4321
+ disabled: {
4272
4322
  true: {
4273
- label: ["text-neutral-light"],
4274
- inputWrapper: ["bg-neutral-soft", "border-neutral-light", "pointer-events-none"],
4275
- input: ["text-neutral-light", "placeholder:text-neutral-light"],
4276
- content: ["text-neutral-light", "group-has-[p]/input:text-danger-light"],
4277
- errorMessage: ["text-danger-light"]
4278
- }
4279
- },
4280
- isRequired: {
4281
- true: {
4282
- label: ["after:content-['*']", "after:text-danger-main", "after:ml-0.5"]
4323
+ inputWrapper: ["!bg-neutral-soft", "pointer-events-none", "!group-has-[p.error]/input:text-danger-light"],
4324
+ input: [
4325
+ "text-neutral-light",
4326
+ "placeholder:text-neutral-light",
4327
+ "group-has-[p.error]/input:text-danger-light",
4328
+ "group-has-[p.error]/input:placeholder:text-danger-light"
4329
+ ],
4330
+ content: ["text-neutral-light", "group-has-[p.error]/input:text-danger-light"],
4331
+ helperText: ["!text-neutral-light"],
4332
+ errorText: ["!text-danger-light"]
4283
4333
  }
4284
4334
  }
4285
4335
  },
4286
- defaultVariants: {
4287
- variant: "solid",
4288
- color: "primary",
4289
- size: "md",
4290
- fullWidth: false,
4291
- isDisabled: false,
4292
- isRequired: false
4293
- },
4294
4336
  compoundVariants: [
4295
4337
  {
4296
- isDisabled: true,
4297
- isRequired: true,
4338
+ disabled: true,
4339
+ variant: ["outline", "underline"],
4298
4340
  class: {
4299
- label: ["after:text-danger-light"]
4341
+ inputWrapper: ["!bg-body-background", "group-has-[p.error]/input:border-danger-light"]
4300
4342
  }
4301
4343
  }
4302
- ]
4344
+ ],
4345
+ defaultVariants: {
4346
+ variant: "solid",
4347
+ color: "primary",
4348
+ size: "md",
4349
+ direction: "vertical",
4350
+ disabled: false,
4351
+ readonly: false
4352
+ }
4303
4353
  });
4304
4354
 
4305
4355
  // src/components/pagination/pagination.tsx
4306
4356
  var import_jsx_runtime4 = require("react/jsx-runtime");
4307
4357
  var Pagination = (0, import_react3.forwardRef)((originalProps, ref) => {
4308
- const [props, variantProps] = mapPropsVariants(originalProps, pagination.variantKeys);
4358
+ const [props, variantProps] = mapPropsVariants(originalProps, paginationStyle.variantKeys);
4309
4359
  const {
4310
4360
  classNames,
4311
4361
  currentPage,
@@ -4313,75 +4363,37 @@ var Pagination = (0, import_react3.forwardRef)((originalProps, ref) => {
4313
4363
  totalPage,
4314
4364
  showPageNumber = true,
4315
4365
  showPageLabel,
4316
- showPageInput,
4317
4366
  showFirstLastButtons,
4318
- handleChangePage
4319
- } = props;
4320
- const { startPage, endPage, pageList, handleClickMovePage } = usePagination_default({
4367
+ handleChangePage,
4368
+ variant,
4369
+ size
4370
+ } = { ...props, ...variantProps };
4371
+ const [inputPage, setInputPage] = (0, import_react3.useState)(currentPage);
4372
+ const slots = (0, import_react3.useMemo)(() => paginationStyle(variantProps), [variantProps]);
4373
+ const { pageList, handleClickMovePage } = usePagination_default({
4321
4374
  currentPage,
4322
4375
  totalPage,
4323
4376
  groupSize,
4324
4377
  handleChangePage
4325
4378
  });
4326
- const slots = (0, import_react3.useMemo)(() => pagination({ ...variantProps }), [variantProps]);
4327
- const getBaseProps = (0, import_react3.useCallback)(() => ({ className: slots.base({ class: classNames == null ? void 0 : classNames.base }) }), [slots, classNames]);
4328
- const getLabelProps = (0, import_react3.useCallback)(
4329
- () => ({ className: `${slots.label({ class: classNames == null ? void 0 : classNames.label })} + ${showPageInput && " !min-w-[55px]"}` }),
4330
- [slots, classNames, showPageInput]
4331
- );
4332
- const getWrapperProps = (0, import_react3.useCallback)(
4333
- () => ({ className: slots.wrapper({ class: classNames == null ? void 0 : classNames.wrapper }) }),
4334
- [slots, classNames]
4335
- );
4336
- const getIconProps = (0, import_react3.useCallback)(() => ({ className: slots.icon({ class: classNames == null ? void 0 : classNames.icon }) }), [slots, classNames]);
4337
- const getButtonProps = (0, import_react3.useCallback)(
4338
- () => ({ className: slots.button({ class: classNames == null ? void 0 : classNames.button }) }),
4339
- [slots, classNames]
4340
- );
4341
- const getLabelWrapperProps = (0, import_react3.useCallback)(
4342
- () => ({
4343
- className: "flex shrink-0",
4344
- onSubmit: (e) => {
4345
- e.preventDefault();
4346
- if (showPageInput && handleChangePage) {
4347
- const formData = new FormData(e.target);
4348
- const page = formData.get("pagination-input");
4349
- if (page) handleChangePage(+page);
4350
- }
4379
+ const handleKeyDown = (e) => {
4380
+ if (e.key === "Enter") {
4381
+ const parsed = Number(inputPage);
4382
+ if (!isNaN(parsed) && parsed >= 1 && parsed <= totalPage) {
4383
+ handleChangePage == null ? void 0 : handleChangePage(parsed);
4351
4384
  }
4352
- }),
4353
- [handleChangePage, showPageInput]
4354
- );
4355
- const getInputProps = (0, import_react3.useCallback)(
4356
- () => ({
4357
- defaultValue: currentPage,
4358
- size: "sm",
4359
- name: "pagination-input",
4360
- type: "number",
4361
- max: totalPage,
4362
- min: 1,
4363
- classNames: { inputWrapper: "!w-[48px] h-[20px] px-[6px]", input: "input-arrow-hide" }
4364
- }),
4365
- [currentPage, totalPage]
4366
- );
4367
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { ...getBaseProps(), children: [
4368
- showPageLabel && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { ...getLabelProps(), children: `${currentPage} of ${totalPage}` }),
4369
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("form", { ...getLabelWrapperProps(), children: [
4370
- showPageInput && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(input_default, { ...getInputProps() }, `${currentPage}+pagination-input`),
4371
- showPageLabel && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("span", { ...getLabelProps(), children: [
4372
- !showPageInput && currentPage,
4373
- ` of ${totalPage}`
4374
- ] })
4375
- ] }),
4376
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { ...getWrapperProps(), children: [
4385
+ }
4386
+ };
4387
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: slots.base({ class: classNames == null ? void 0 : classNames.base }), ref, children: [
4388
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: slots.wrapper({ class: classNames == null ? void 0 : classNames.wrapper }), children: [
4377
4389
  showFirstLastButtons && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
4378
4390
  "div",
4379
4391
  {
4380
4392
  "aria-label": "firstPage",
4381
4393
  "data-is-active": currentPage > 1,
4382
- ...getIconProps(),
4394
+ className: slots.icon({ class: classNames == null ? void 0 : classNames.icon }),
4383
4395
  onClick: currentPage > 1 ? handleClickMovePage(1) : void 0,
4384
- children: "<<"
4396
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Icon_default, { name: "left-double-chevron" })
4385
4397
  }
4386
4398
  ),
4387
4399
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
@@ -4389,15 +4401,15 @@ var Pagination = (0, import_react3.forwardRef)((originalProps, ref) => {
4389
4401
  {
4390
4402
  "aria-label": "prevPage",
4391
4403
  "data-is-active": currentPage > 1,
4392
- ...getIconProps(),
4404
+ className: slots.icon({ class: classNames == null ? void 0 : classNames.icon }),
4393
4405
  onClick: currentPage > 1 ? handleClickMovePage(currentPage - 1) : void 0,
4394
- children: "<"
4406
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Icon_default, { name: "left-chevron" })
4395
4407
  }
4396
4408
  ),
4397
4409
  showPageNumber && pageList.map((page, index) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
4398
4410
  "div",
4399
4411
  {
4400
- ...getButtonProps(),
4412
+ className: slots.button({ class: classNames == null ? void 0 : classNames.button }),
4401
4413
  "data-selected": currentPage === page,
4402
4414
  onClick: handleClickMovePage(page),
4403
4415
  children: page
@@ -4409,9 +4421,9 @@ var Pagination = (0, import_react3.forwardRef)((originalProps, ref) => {
4409
4421
  {
4410
4422
  "aria-label": "nextPage",
4411
4423
  "data-is-active": currentPage < totalPage,
4412
- ...getIconProps(),
4424
+ className: slots.icon({ class: classNames == null ? void 0 : classNames.icon }),
4413
4425
  onClick: currentPage < totalPage ? handleClickMovePage(currentPage + 1) : void 0,
4414
- children: ">"
4426
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Icon_default, { name: "right-chevron" })
4415
4427
  }
4416
4428
  ),
4417
4429
  showFirstLastButtons && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
@@ -4419,163 +4431,179 @@ var Pagination = (0, import_react3.forwardRef)((originalProps, ref) => {
4419
4431
  {
4420
4432
  "aria-label": "lastPage",
4421
4433
  "data-is-active": currentPage < totalPage,
4422
- ...getIconProps(),
4434
+ className: slots.icon({ class: classNames == null ? void 0 : classNames.icon }),
4423
4435
  onClick: currentPage < totalPage ? handleClickMovePage(totalPage) : void 0,
4424
- children: ">>"
4436
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Icon_default, { name: "right-double-chevron" })
4437
+ }
4438
+ )
4439
+ ] }),
4440
+ showPageLabel && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("span", { className: slots.label({ class: classNames == null ? void 0 : classNames.label }), children: [
4441
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
4442
+ input_default,
4443
+ {
4444
+ value: inputPage || 1,
4445
+ onChange: (e) => setInputPage(Number(e.target.value)),
4446
+ onKeyDown: handleKeyDown,
4447
+ width: 50,
4448
+ height: 24,
4449
+ size: "sm",
4450
+ classNames: {
4451
+ inputWrapper: clsx(
4452
+ "w-[50px] h-[24px] rounded-sm",
4453
+ variant === "solid" ? "" : "bg-body-background border border-neutral-light"
4454
+ )
4455
+ }
4425
4456
  }
4426
4457
  ),
4427
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("form", { ...getLabelWrapperProps(), children: [
4428
- showPageInput && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(input_default, { ...getInputProps() }, `${currentPage}+pagination-input`),
4429
- showPageLabel && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("span", { ...getLabelProps(), children: [
4430
- !showPageInput && currentPage,
4431
- ` of ${totalPage}`
4432
- ] })
4433
- ] })
4458
+ ` of ${totalPage.toLocaleString("ko-kr")}`
4434
4459
  ] })
4435
4460
  ] });
4436
4461
  });
4437
4462
  Pagination.displayName = "Pagination";
4438
4463
  var pagination_default = Pagination;
4439
- var pagination = tv(
4464
+ var paginationStyle = tv(
4440
4465
  {
4441
4466
  slots: {
4442
- base: "flex items-center select-none",
4443
- label: "text-primary-main text-right whitespace-nowrap",
4444
- wrapper: "flex overflow-hidden flex items-center",
4445
- icon: "flex items-center justify-center cursor-pointer",
4446
- button: "flex items-center justify-center cursor-pointer data-[selected=true]:font-[600] transition duration-200"
4467
+ base: ["flex", "items-center", "select-none", "gap-[20px]"],
4468
+ wrapper: ["flex", "items-center", "overflow-hidden", "gap-[5px]"],
4469
+ icon: [
4470
+ "flex",
4471
+ "items-center",
4472
+ "justify-center",
4473
+ "cursor-pointer",
4474
+ "stroke-neutral-main",
4475
+ "data-[is-active=false]:stroke-neutral-light",
4476
+ "data-[is-active=false]:cursor-default"
4477
+ ],
4478
+ button: [
4479
+ "flex",
4480
+ "items-center",
4481
+ "justify-center",
4482
+ "cursor-pointer",
4483
+ "transition",
4484
+ "duration-200",
4485
+ "px-[6px]",
4486
+ "py-[4px]",
4487
+ "text-neutral-main",
4488
+ "data-[selected=true]:font-bold"
4489
+ ],
4490
+ label: ["whitespace-nowrap", "text-neutral-main", "flex", "items-center", "gap-[5px]", "text-sm"]
4447
4491
  },
4448
4492
  variants: {
4449
4493
  variant: {
4450
4494
  solid: {
4451
- button: ["text-neutral-dark"],
4452
- icon: "text-neutral-dark data-[is-active=false]:text-neutral-light data-[is-active=false]:cursor-default"
4495
+ button: ["rounded-[5px]", "border-transparent"]
4453
4496
  },
4454
- line: {
4455
- wrapper: "!gap-0",
4456
- button: ["text-foreground"],
4457
- icon: "text-foreground data-[is-active=false]:text-neutral-light data-[is-active=false]:cursor-default first-of-type:border-l-0"
4497
+ underline: {
4498
+ button: ["rounded-0", "border-transparent"]
4458
4499
  }
4459
4500
  },
4460
4501
  size: {
4461
4502
  sm: {
4462
- wrapper: "gap-[6px]",
4463
- label: "min-w-[85px] text-sm mr-[10px]",
4464
- icon: ["h-[15px] text-sm"],
4465
- button: ["min-w-[28px] h-[15px] text-sm"]
4503
+ button: ["text-sm", "data-[selected=true]:border-sm"]
4466
4504
  },
4467
4505
  md: {
4468
- wrapper: "gap-[8px]",
4469
- label: "min-w-[95px] text-md mr-[12px]",
4470
- icon: ["h-[17px] text-md"],
4471
- button: ["min-w-[32px] h-[17px] text-md"]
4506
+ button: ["text-md", "data-[selected=true]:border-md"]
4472
4507
  },
4473
4508
  lg: {
4474
- wrapper: "gap-[10px]",
4475
- label: "min-w-[105px] text-lg mr-[14px]",
4476
- icon: ["h-[20px] text-lg"],
4477
- button: ["min-w-[37px] h-[20px] text-lg"]
4509
+ button: ["text-lg", "data-[selected=true]:border-lg"]
4478
4510
  },
4479
4511
  xl: {
4480
- wrapper: "gap-[10px]",
4481
- label: "min-w-[105px] text-lg mr-[14px]",
4482
- icon: ["h-[20px] text-lg"],
4483
- button: ["min-w-[37px] h-[20px] text-lg"]
4512
+ button: ["text-xl", "data-[selected=true]:border-xl"]
4484
4513
  }
4485
4514
  },
4486
4515
  color: {
4487
- primary: {
4488
- label: "text-primary-main"
4489
- },
4490
- secondary: {
4491
- label: "text-secondary-main"
4492
- }
4516
+ primary: {},
4517
+ secondary: {},
4518
+ neutral: {}
4493
4519
  },
4494
4520
  isDisabled: {
4495
4521
  true: {
4496
- icon: "!text-neutral-light !cursor-default",
4497
- button: "!text-neutral-light !cursor-default"
4522
+ icon: ["!text-neutral-light", "!cursor-default"],
4523
+ button: ["!text-neutral-light", "!cursor-default"]
4498
4524
  }
4499
4525
  }
4500
4526
  },
4501
- defaultVariants: {
4502
- variant: "solid",
4503
- color: "primary",
4504
- size: "md",
4505
- isDisabled: false
4506
- },
4507
4527
  compoundVariants: [
4508
4528
  {
4509
4529
  variant: "solid",
4510
4530
  color: "primary",
4511
4531
  class: {
4512
- button: "hover:text-primary-main data-[selected=true]:text-primary-main data-[selected=true]:border-primary-main",
4513
- icon: "hover:text-primary-main"
4532
+ button: [
4533
+ "hover:text-primary-main",
4534
+ "data-[selected=true]:text-primary-main",
4535
+ "data-[selected=true]:bg-primary-soft"
4536
+ ],
4537
+ icon: ["hover:stroke-primary-main"]
4514
4538
  }
4515
4539
  },
4516
4540
  {
4517
4541
  variant: "solid",
4518
4542
  color: "secondary",
4519
4543
  class: {
4520
- button: "hover:text-secondary-main data-[selected=true]:text-secondary-main data-[selected=true]:border-secondary-main",
4521
- icon: "hover:text-secondary-main"
4522
- }
4523
- },
4524
- {
4525
- variant: "line",
4526
- size: "sm",
4527
- class: {
4528
- wrapper: "border rounded-sm gap-0",
4529
- button: "!min-w-[40px] h-[20px] border-l",
4530
- icon: "min-w-[40px] h-[20px] border-l"
4531
- }
4532
- },
4533
- {
4534
- variant: "line",
4535
- size: "md",
4536
- class: {
4537
- wrapper: "border rounded-md gap-0",
4538
- button: "!min-w-[45px] h-[22px] border-l",
4539
- icon: "min-w-[45px] h-[22px] border-l"
4544
+ button: [
4545
+ "hover:text-secondary-main",
4546
+ "data-[selected=true]:text-secondary-main",
4547
+ "data-[selected=true]:bg-secondary-soft"
4548
+ ],
4549
+ icon: ["hover:stroke-secondary-main"]
4540
4550
  }
4541
4551
  },
4542
4552
  {
4543
- variant: "line",
4544
- size: "lg",
4553
+ variant: "solid",
4554
+ color: "neutral",
4545
4555
  class: {
4546
- wrapper: "border rounded-lg gap-0",
4547
- button: "!min-w-[50px] h-[24px] border-l",
4548
- icon: "min-w-[50px] h-[24px] border-l"
4556
+ button: [
4557
+ "hover:text-neutral-dark",
4558
+ "data-[selected=true]:text-neutral-dark",
4559
+ "data-[selected=true]:bg-neutral-soft"
4560
+ ],
4561
+ icon: ["hover:stroke-neutral-main"]
4549
4562
  }
4550
4563
  },
4551
4564
  {
4552
- variant: "line",
4553
- size: "xl",
4565
+ variant: "underline",
4566
+ color: "primary",
4554
4567
  class: {
4555
- wrapper: "border rounded-lg gap-0",
4556
- button: "!min-w-[50px] h-[24px] border-l",
4557
- icon: "min-w-[50px] h-[24px] border-l"
4568
+ button: [
4569
+ "hover:text-primary-main",
4570
+ "data-[selected=true]:text-primary-main",
4571
+ "data-[selected=true]:border-b-primary-main"
4572
+ ],
4573
+ icon: ["hover:stroke-primary-main"]
4558
4574
  }
4559
4575
  },
4560
4576
  {
4561
- variant: "line",
4562
- color: "primary",
4577
+ variant: "underline",
4578
+ color: "secondary",
4563
4579
  class: {
4564
- wrapper: "border-primary-main",
4565
- button: "border-primary-main hover:bg-primary-soft hover:text-primary-main data-[selected=true]:bg-primary-soft data-[selected=true]:text-primary-main",
4566
- icon: "border-primary-main data-[selected=true]:bg-primary-soft data-[selected=true]:text-primary-main data-[is-active=true]:hover:text-primary-main data-[is-active=true]:hover:bg-primary-soft"
4580
+ button: [
4581
+ "hover:text-secondary-main",
4582
+ "data-[selected=true]:text-secondary-main",
4583
+ "data-[selected=true]:border-b-secondary-main"
4584
+ ],
4585
+ icon: ["hover:stroke-secondary-main"]
4567
4586
  }
4568
4587
  },
4569
4588
  {
4570
- variant: "line",
4571
- color: "secondary",
4589
+ variant: "underline",
4590
+ color: "neutral",
4572
4591
  class: {
4573
- wrapper: "border-secondary-main",
4574
- button: "border-secondary-main hover:bg-secondary-soft hover:text-secondary-main data-[selected=true]:bg-secondary-soft data-[selected=true]:text-secondary-main",
4575
- icon: "border-secondary-main data-[selected=true]:bg-secondary-soft data-[selected=true]:text-secondary-main data-[is-active=true]:hover:text-secondary-main data-[is-active=true]:hover:bg-secondary-soft"
4592
+ button: [
4593
+ "hover:text-neutral-dark",
4594
+ "data-[selected=true]:text-neutral-dark",
4595
+ "data-[selected=true]:border-b-neutral-main"
4596
+ ],
4597
+ icon: ["hover:stroke-neutral-main"]
4576
4598
  }
4577
4599
  }
4578
- ]
4600
+ ],
4601
+ defaultVariants: {
4602
+ variant: "solid",
4603
+ color: "primary",
4604
+ size: "md",
4605
+ isDisabled: false
4606
+ }
4579
4607
  },
4580
4608
  {
4581
4609
  twMerge: false