@nattstack/ui 0.0.78 → 0.0.80

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.
@@ -1,117 +1,106 @@
1
1
  import './style.css';
2
- import { createElement } from "react";
2
+ import { cva, cx } from "class-variance-authority";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
- import { Checkbox as Checkbox$1, Drawer, Menu as Menu$1, OTPFieldPreview, Switch as Switch$1, Tabs as Tabs$1, Tooltip as Tooltip$1 } from "@base-ui/react";
5
- //#region src/utils/normalize-whitespace.ts
6
- /**
7
- * Collapses consecutive whitespace characters into single spaces and trims
8
- * leading and trailing whitespace.
9
- *
10
- * @param {string} value - The string to normalize.
11
- * @returns {string} The normalized string with excess whitespace removed.
12
- */
13
- function normalizeWhitespace(value) {
14
- return value.replaceAll(/\s+/gu, " ").trim();
15
- }
16
- //#endregion
4
+ import { Checkbox as Checkbox$1, Drawer, Menu as Menu$1, OTPField as OTPField$1, Switch as Switch$1, Tabs as Tabs$1, Tooltip as Tooltip$1 } from "@base-ui/react";
5
+ import { createElement } from "react";
17
6
  //#region src/components/button/button-spinner.module.css
18
7
  var button_spinner_module_default = {
19
- "button_spinner": "button-spinner-module_button_spinner_UApLZa",
8
+ "base": "button-spinner-module_base_UApLZa",
20
9
  "spinner": "button-spinner-module_spinner_UApLZa"
21
10
  };
22
11
  //#endregion
23
12
  //#region src/components/button/button-spinner.tsx
24
- function ButtonSpinner(props) {
25
- const { size = 20 } = props;
13
+ const SIZE = 18;
14
+ function ButtonSpinner() {
26
15
  return /* @__PURE__ */ jsx("div", {
27
- className: button_spinner_module_default.button_spinner,
28
- style: { "--size": `${size}px` },
16
+ className: button_spinner_module_default.base,
17
+ "data-slot": "button-spinner",
18
+ style: { "--size": `${SIZE}px` },
29
19
  children: Array.from({ length: 12 }).map((_, index) => /* @__PURE__ */ jsx("div", {}, index))
30
20
  });
31
21
  }
32
22
  //#endregion
33
23
  //#region src/components/button/button.module.css
34
24
  var button_module_default = {
35
- "button": "button-module_button_4nLWdW",
36
- "button__icon_only": "button-module_button__icon_only_4nLWdW",
37
- "button__rounded_base": "button-module_button__rounded_base_4nLWdW",
38
- "button__rounded_full": "button-module_button__rounded_full_4nLWdW",
39
- "button__size_32": "button-module_button__size_32_4nLWdW",
40
- "button__size_36": "button-module_button__size_36_4nLWdW",
41
- "button__size_40": "button-module_button__size_40_4nLWdW",
42
- "button__size_44": "button-module_button__size_44_4nLWdW",
43
- "button__size_48": "button-module_button__size_48_4nLWdW",
44
- "button__variant_ghost": "button-module_button__variant_ghost_4nLWdW",
45
- "button__variant_primary": "button-module_button__variant_primary_4nLWdW",
46
- "button__variant_secondary": "button-module_button__variant_secondary_4nLWdW",
47
- "button__width_base": "button-module_button__width_base_4nLWdW",
48
- "button__width_full": "button-module_button__width_full_4nLWdW"
25
+ "base": "button-module_base_4nLWdW",
26
+ "disabled": "button-module_disabled_4nLWdW",
27
+ "loading": "button-module_loading_4nLWdW",
28
+ "rounded_base": "button-module_rounded_base_4nLWdW",
29
+ "rounded_full": "button-module_rounded_full_4nLWdW",
30
+ "size_32": "button-module_size_32_4nLWdW",
31
+ "size_36": "button-module_size_36_4nLWdW",
32
+ "size_40": "button-module_size_40_4nLWdW",
33
+ "size_44": "button-module_size_44_4nLWdW",
34
+ "size_48": "button-module_size_48_4nLWdW",
35
+ "variant_ghost": "button-module_variant_ghost_4nLWdW",
36
+ "variant_primary": "button-module_variant_primary_4nLWdW",
37
+ "variant_secondary": "button-module_variant_secondary_4nLWdW",
38
+ "width_base": "button-module_width_base_4nLWdW",
39
+ "width_full": "button-module_width_full_4nLWdW"
49
40
  };
50
41
  //#endregion
51
42
  //#region src/components/button/button.tsx
52
43
  function Button(props) {
53
- const { children = "", className: customClassName = "", iconEnd = "", iconStart = "", isActive = false, isDisabled = false, isFullWidth = false, isIconOnly = false, isLoading = false, isRounded = false, size = 40, type = "button", variant = "primary", ...rest } = props;
44
+ const { children = "", className = "", isDisabled = false, iconStart = "", iconEnd = "", isFullWidth = false, isLoading = false, isRounded = false, variant = "primary", size = 40, ...rest } = props;
54
45
  return /* @__PURE__ */ jsxs("button", {
55
- "aria-pressed": isActive,
56
- className: normalizeWhitespace(`
57
- ${BUTTON_CLASS_NAME.BASE}
58
- ${BUTTON_CLASS_NAME.SIZE[size]}
59
- ${BUTTON_CLASS_NAME.VARIANT[variant.toUpperCase()]}
60
- ${isFullWidth ? BUTTON_CLASS_NAME.WIDTH.FULL : BUTTON_CLASS_NAME.WIDTH.BASE}
61
- ${isIconOnly ? BUTTON_CLASS_NAME.ICON_ONLY : ""}
62
- ${isRounded ? BUTTON_CLASS_NAME.ROUNDED.FULL : BUTTON_CLASS_NAME.ROUNDED.BASE}
63
- ${customClassName}
64
- `),
46
+ className: button({
47
+ className,
48
+ isDisabled,
49
+ isFullWidth,
50
+ isLoading,
51
+ isRounded,
52
+ size,
53
+ variant
54
+ }),
65
55
  disabled: isDisabled || isLoading,
66
- type,
56
+ type: "button",
67
57
  ...rest,
68
58
  children: [
69
59
  isLoading && /* @__PURE__ */ jsx(ButtonSpinner, {}),
70
- !isLoading && iconStart,
71
- isIconOnly ? isLoading ? void 0 : children : /* @__PURE__ */ jsx("span", { children }),
72
- !isLoading && iconEnd
60
+ iconStart,
61
+ /* @__PURE__ */ jsx("span", { children }),
62
+ iconEnd
73
63
  ]
74
64
  });
75
65
  }
76
- const BUTTON_CLASS_NAME = {
77
- BASE: button_module_default.button,
78
- ICON_ONLY: button_module_default.button__icon_only,
79
- ROUNDED: {
80
- BASE: button_module_default.button__rounded_base,
81
- FULL: button_module_default.button__rounded_full
66
+ const button = cva(button_module_default.base, { variants: {
67
+ isDisabled: { true: button_module_default.disabled },
68
+ isFullWidth: {
69
+ false: button_module_default.width_base,
70
+ true: button_module_default.width_full
82
71
  },
83
- SIZE: {
84
- 32: button_module_default.button__size_32,
85
- 36: button_module_default.button__size_36,
86
- 40: button_module_default.button__size_40,
87
- 44: button_module_default.button__size_44,
88
- 48: button_module_default.button__size_48
72
+ isLoading: { true: button_module_default.loading },
73
+ isRounded: {
74
+ false: button_module_default.rounded_base,
75
+ true: button_module_default.rounded_full
89
76
  },
90
- VARIANT: {
91
- GHOST: button_module_default.button__variant_ghost,
92
- PRIMARY: button_module_default.button__variant_primary,
93
- SECONDARY: button_module_default.button__variant_secondary
77
+ size: {
78
+ 32: button_module_default.size_32,
79
+ 36: button_module_default.size_36,
80
+ 40: button_module_default.size_40,
81
+ 44: button_module_default.size_44,
82
+ 48: button_module_default.size_48
94
83
  },
95
- WIDTH: {
96
- BASE: button_module_default.button__width_base,
97
- FULL: button_module_default.button__width_full
84
+ variant: {
85
+ ghost: button_module_default.variant_ghost,
86
+ primary: button_module_default.variant_primary,
87
+ secondary: button_module_default.variant_secondary
98
88
  }
99
- };
89
+ } });
100
90
  //#endregion
101
91
  //#region src/components/button-link/button-link.tsx
102
92
  function ButtonLink(props) {
103
- const { as = "a", className: customClassName = "", isFullWidth = false, isIconOnly = false, isRounded = false, size = 40, variant = "primary", ...rest } = props;
104
- return createElement(as, {
105
- className: normalizeWhitespace(`
106
- ${BUTTON_CLASS_NAME.BASE}
107
- ${BUTTON_CLASS_NAME.SIZE[size]}
108
- ${BUTTON_CLASS_NAME.VARIANT[variant.toUpperCase()]}
109
- ${isFullWidth ? BUTTON_CLASS_NAME.WIDTH.FULL : BUTTON_CLASS_NAME.WIDTH.BASE}
110
- ${isIconOnly ? BUTTON_CLASS_NAME.ICON_ONLY : ""}
111
- ${isRounded ? BUTTON_CLASS_NAME.ROUNDED.FULL : BUTTON_CLASS_NAME.ROUNDED.BASE}
112
- ${customClassName}
113
- `),
114
- ...rest
93
+ const { as = "a", children, className: customClassName = "", isFullWidth = false, isRounded = false, size = 40, variant = "primary", ...rest } = props;
94
+ return /* @__PURE__ */ jsx(as, {
95
+ className: button({
96
+ className: customClassName,
97
+ isFullWidth,
98
+ isRounded,
99
+ size,
100
+ variant
101
+ }),
102
+ ...rest,
103
+ children
115
104
  });
116
105
  }
117
106
  //#endregion
@@ -145,10 +134,7 @@ var checkbox_module_default = {
145
134
  //#region src/components/checkbox/checkbox.tsx
146
135
  function Checkbox(props) {
147
136
  const { children = void 0, className: customClassName = "", ...rest } = props;
148
- const combinedClassName = normalizeWhitespace(`
149
- ${CHECKBOX_CLASS_NAME.BASE}
150
- ${customClassName}
151
- `);
137
+ const combinedClassName = checkboxVariants({ className: customClassName });
152
138
  return /* @__PURE__ */ jsx(Checkbox$1.Root, {
153
139
  className: combinedClassName,
154
140
  ...rest,
@@ -158,7 +144,7 @@ function Checkbox(props) {
158
144
  })
159
145
  });
160
146
  }
161
- const CHECKBOX_CLASS_NAME = { BASE: checkbox_module_default.checkbox };
147
+ const checkboxVariants = cva(checkbox_module_default.checkbox);
162
148
  //#endregion
163
149
  //#region src/components/column/column.module.css
164
150
  var column_module_default = { "column": "column-module_column_CgFaGG" };
@@ -167,10 +153,7 @@ var column_module_default = { "column": "column-module_column_CgFaGG" };
167
153
  function Column(props) {
168
154
  const { alignItems = void 0, as = "div", className: customClassName = "", flexWrap = void 0, gap = void 0, gapX = void 0, gapY = void 0, justifyContent = void 0, style: customStyle, ...rest } = props;
169
155
  return createElement(as, {
170
- className: normalizeWhitespace(`
171
- ${COLUMN_CLASS_NAME.BASE}
172
- ${customClassName}
173
- `),
156
+ className: columnVariants({ className: customClassName }),
174
157
  style: {
175
158
  ...customStyle,
176
159
  ...gap === void 0 ? {} : { gap },
@@ -183,7 +166,7 @@ function Column(props) {
183
166
  ...rest
184
167
  });
185
168
  }
186
- const COLUMN_CLASS_NAME = { BASE: column_module_default.column };
169
+ const columnVariants = cva(column_module_default.column);
187
170
  //#endregion
188
171
  //#region src/components/dialog-responsive/dialog-responsive.tsx
189
172
  function DialogResponsive(props) {
@@ -203,17 +186,14 @@ var dialog_responsive_backdrop_module_default = { "dialog_responsive_backdrop":
203
186
  //#region src/components/dialog-responsive/dialog-responsive-backdrop.tsx
204
187
  function DialogResponsiveBackdrop(props) {
205
188
  const { className: customClassName = "", ...rest } = props;
206
- const combinedClassName = normalizeWhitespace(`
207
- ${DIALOG_RESPONSIVE_BACKDROP_CLASS_NAME.BASE}
208
- ${customClassName}
209
- `);
189
+ const combinedClassName = dialogResponsiveBackdropVariants({ className: customClassName });
210
190
  return /* @__PURE__ */ jsx(Drawer.Backdrop, {
211
191
  className: combinedClassName,
212
192
  "data-slot": "dialog-responsive-backdrop",
213
193
  ...rest
214
194
  });
215
195
  }
216
- const DIALOG_RESPONSIVE_BACKDROP_CLASS_NAME = { BASE: dialog_responsive_backdrop_module_default.dialog_responsive_backdrop };
196
+ const dialogResponsiveBackdropVariants = cva(dialog_responsive_backdrop_module_default.dialog_responsive_backdrop);
217
197
  //#endregion
218
198
  //#region src/components/dialog-responsive/dialog-responsive-bar.module.css
219
199
  var dialog_responsive_bar_module_default = { "dialog_responsive_bar": "dialog-responsive-bar-module_dialog_responsive_bar_iUwUCq" };
@@ -222,15 +202,12 @@ var dialog_responsive_bar_module_default = { "dialog_responsive_bar": "dialog-re
222
202
  function DialogResponsiveBar(props) {
223
203
  const { className: customClassName = "", ...rest } = props;
224
204
  return /* @__PURE__ */ jsx("div", {
225
- className: normalizeWhitespace(`
226
- ${DIALOG_RESPONSIVE_BAR_CLASS_NAME.BASE}
227
- ${customClassName}
228
- `),
205
+ className: dialogResponsiveBarVariants({ className: customClassName }),
229
206
  "data-slot": "dialog-responsive-bar",
230
207
  ...rest
231
208
  });
232
209
  }
233
- const DIALOG_RESPONSIVE_BAR_CLASS_NAME = { BASE: dialog_responsive_bar_module_default.dialog_responsive_bar };
210
+ const dialogResponsiveBarVariants = cva(dialog_responsive_bar_module_default.dialog_responsive_bar);
234
211
  //#endregion
235
212
  //#region src/components/dialog-responsive/dialog-responsive-portal.module.css
236
213
  var dialog_responsive_portal_module_default = { "dialog_responsive_portal": "dialog-responsive-portal-module_dialog_responsive_portal_keH0Tq" };
@@ -238,17 +215,14 @@ var dialog_responsive_portal_module_default = { "dialog_responsive_portal": "dia
238
215
  //#region src/components/dialog-responsive/dialog-responsive-portal.tsx
239
216
  function DialogResponsivePortal(props) {
240
217
  const { className: customClassName = "", ...rest } = props;
241
- const combinedClassName = normalizeWhitespace(`
242
- ${DIALOG_RESPONSIVE_PORTAL_CLASS_NAME.BASE}
243
- ${customClassName}
244
- `);
218
+ const combinedClassName = dialogResponsivePortalVariants({ className: customClassName });
245
219
  return /* @__PURE__ */ jsx(Drawer.Portal, {
246
220
  className: combinedClassName,
247
221
  "data-slot": "dialog-responsive-portal",
248
222
  ...rest
249
223
  });
250
224
  }
251
- const DIALOG_RESPONSIVE_PORTAL_CLASS_NAME = { BASE: dialog_responsive_portal_module_default.dialog_responsive_portal };
225
+ const dialogResponsivePortalVariants = cva(dialog_responsive_portal_module_default.dialog_responsive_portal);
252
226
  //#endregion
253
227
  //#region src/components/dialog-responsive/dialog-responsive-viewport.module.css
254
228
  var dialog_responsive_viewport_module_default = { "dialog_responsive_viewport": "dialog-responsive-viewport-module_dialog_responsive_viewport_b5ZINa" };
@@ -256,17 +230,14 @@ var dialog_responsive_viewport_module_default = { "dialog_responsive_viewport":
256
230
  //#region src/components/dialog-responsive/dialog-responsive-viewport.tsx
257
231
  function DialogResponsiveViewport(props) {
258
232
  const { className: customClassName = "", ...rest } = props;
259
- const combinedClassName = normalizeWhitespace(`
260
- ${DIALOG_RESPONSIVE_VIEWPORT_CLASS_NAME.BASE}
261
- ${customClassName}
262
- `);
233
+ const combinedClassName = dialogResponsiveViewportVariants({ className: customClassName });
263
234
  return /* @__PURE__ */ jsx(Drawer.Viewport, {
264
235
  className: combinedClassName,
265
236
  "data-slot": "dialog-responsive-viewport",
266
237
  ...rest
267
238
  });
268
239
  }
269
- const DIALOG_RESPONSIVE_VIEWPORT_CLASS_NAME = { BASE: dialog_responsive_viewport_module_default.dialog_responsive_viewport };
240
+ const dialogResponsiveViewportVariants = cva(dialog_responsive_viewport_module_default.dialog_responsive_viewport);
270
241
  //#endregion
271
242
  //#region src/components/dialog-responsive/dialog-responsive-popup.module.css
272
243
  var dialog_responsive_popup_module_default = { "dialog_responsive_popup": "dialog-responsive-popup-module_dialog_responsive_popup_cgfWTq" };
@@ -274,10 +245,7 @@ var dialog_responsive_popup_module_default = { "dialog_responsive_popup": "dialo
274
245
  //#region src/components/dialog-responsive/dialog-responsive-popup.tsx
275
246
  function DialogResponsivePopup(props) {
276
247
  const { children, className: customClassName = "", ...rest } = props;
277
- const combinedClassName = normalizeWhitespace(`
278
- ${DIALOG_RESPONSIVE_POPUP_CLASS_NAME.BASE}
279
- ${customClassName}
280
- `);
248
+ const combinedClassName = dialogResponsivePopupVariants({ className: customClassName });
281
249
  return /* @__PURE__ */ jsxs(DialogResponsivePortal, { children: [/* @__PURE__ */ jsx(DialogResponsiveBackdrop, {}), /* @__PURE__ */ jsx(DialogResponsiveViewport, { children: /* @__PURE__ */ jsxs(Drawer.Popup, {
282
250
  className: combinedClassName,
283
251
  "data-slot": "dialog-responsive-popup",
@@ -285,7 +253,7 @@ function DialogResponsivePopup(props) {
285
253
  children: [/* @__PURE__ */ jsx(DialogResponsiveBar, {}), children]
286
254
  }) })] });
287
255
  }
288
- const DIALOG_RESPONSIVE_POPUP_CLASS_NAME = { BASE: dialog_responsive_popup_module_default.dialog_responsive_popup };
256
+ const dialogResponsivePopupVariants = cva(dialog_responsive_popup_module_default.dialog_responsive_popup);
289
257
  //#endregion
290
258
  //#region src/components/dialog-responsive/dialog-responsive-trigger.tsx
291
259
  function DialogResponsiveTrigger(props) {
@@ -296,6 +264,44 @@ function DialogResponsiveTrigger(props) {
296
264
  });
297
265
  }
298
266
  //#endregion
267
+ //#region src/components/icon-button/icon-button.module.css
268
+ var icon_button_module_default = {
269
+ "base": "icon-button-module_base_gxECxa",
270
+ "size_32": "icon-button-module_size_32_gxECxa",
271
+ "size_36": "icon-button-module_size_36_gxECxa",
272
+ "size_40": "icon-button-module_size_40_gxECxa",
273
+ "size_44": "icon-button-module_size_44_gxECxa",
274
+ "size_48": "icon-button-module_size_48_gxECxa"
275
+ };
276
+ //#endregion
277
+ //#region src/components/icon-button/icon-button.tsx
278
+ function IconButton(props) {
279
+ const { children = "", className = "", isDisabled = false, isLoading = false, isRounded = false, variant = "primary", size = 40, ...rest } = props;
280
+ return /* @__PURE__ */ jsxs("button", {
281
+ className: cx(button({
282
+ isDisabled,
283
+ isLoading,
284
+ isRounded,
285
+ size,
286
+ variant
287
+ }), iconButton({
288
+ className,
289
+ size
290
+ })),
291
+ disabled: isDisabled || isLoading,
292
+ type: "button",
293
+ ...rest,
294
+ children: [isLoading && /* @__PURE__ */ jsx(ButtonSpinner, {}), children]
295
+ });
296
+ }
297
+ const iconButton = cva(icon_button_module_default.base, { variants: { size: {
298
+ 32: icon_button_module_default.size_32,
299
+ 36: icon_button_module_default.size_36,
300
+ 40: icon_button_module_default.size_40,
301
+ 44: icon_button_module_default.size_44,
302
+ 48: icon_button_module_default.size_48
303
+ } } });
304
+ //#endregion
299
305
  //#region src/components/input/input.module.css
300
306
  var input_module_default = {
301
307
  "input": "input-module_input_o34hyq",
@@ -313,12 +319,11 @@ function Input(props) {
313
319
  const { className: customClassName = "", isActive = false, isAutoFocus = false, isDisabled = false, isInvalid = void 0, isReadOnly = false, isRequired = false, isRounded = false, isValid = void 0, size = 48, type = "text", ...rest } = props;
314
320
  return /* @__PURE__ */ jsx("input", {
315
321
  autoFocus: isAutoFocus,
316
- className: normalizeWhitespace(`
317
- ${INPUT_CLASS_NAME.BASE}
318
- ${INPUT_CLASS_NAME.SIZE[size]}
319
- ${isRounded ? INPUT_CLASS_NAME.ROUNDED.FULL : INPUT_CLASS_NAME.ROUNDED.BASE}
320
- ${customClassName}
321
- `),
322
+ className: inputVariants({
323
+ className: customClassName,
324
+ isRounded,
325
+ size
326
+ }),
322
327
  "data-is-active": isActive,
323
328
  "data-is-invalid": isInvalid,
324
329
  "data-is-valid": isValid,
@@ -329,20 +334,25 @@ function Input(props) {
329
334
  ...rest
330
335
  });
331
336
  }
332
- const INPUT_CLASS_NAME = {
333
- BASE: input_module_default.input,
334
- ROUNDED: {
335
- BASE: input_module_default.input__rounded_base,
336
- FULL: input_module_default.input__rounded_full
337
+ const inputVariants = cva(input_module_default.input, {
338
+ defaultVariants: {
339
+ isRounded: false,
340
+ size: 48
337
341
  },
338
- SIZE: {
339
- 32: input_module_default.input__size_32,
340
- 36: input_module_default.input__size_36,
341
- 40: input_module_default.input__size_40,
342
- 44: input_module_default.input__size_44,
343
- 48: input_module_default.input__size_48
342
+ variants: {
343
+ isRounded: {
344
+ false: input_module_default.input__rounded_base,
345
+ true: input_module_default.input__rounded_full
346
+ },
347
+ size: {
348
+ 32: input_module_default.input__size_32,
349
+ 36: input_module_default.input__size_36,
350
+ 40: input_module_default.input__size_40,
351
+ 44: input_module_default.input__size_44,
352
+ 48: input_module_default.input__size_48
353
+ }
344
354
  }
345
- };
355
+ });
346
356
  //#endregion
347
357
  //#region src/components/label/label.module.css
348
358
  var label_module_default = { "label": "label-module_label_iQZ4sG" };
@@ -351,16 +361,13 @@ var label_module_default = { "label": "label-module_label_iQZ4sG" };
351
361
  function Label(props) {
352
362
  const { className: customClassName = "", htmlFor = void 0, children = "", ...rest } = props;
353
363
  return /* @__PURE__ */ jsx("label", {
354
- className: normalizeWhitespace(`
355
- ${LABEL_CLASS_NAME.BASE}
356
- ${customClassName}
357
- `),
364
+ className: labelVariants({ className: customClassName }),
358
365
  htmlFor,
359
366
  ...rest,
360
367
  children
361
368
  });
362
369
  }
363
- const LABEL_CLASS_NAME = { BASE: label_module_default.label };
370
+ const labelVariants = cva(label_module_default.label);
364
371
  //#endregion
365
372
  //#region src/components/menu/menu.tsx
366
373
  function Menu(props) {
@@ -419,18 +426,10 @@ const MENU_CLASS_NAME = {
419
426
  VIEWPORT: menu_module_default.menu_viewport
420
427
  };
421
428
  //#endregion
422
- //#region src/components/menu/menu-utils.ts
423
- function getMenuClassName(baseClassName, customClassName) {
424
- return normalizeWhitespace(`
425
- ${baseClassName}
426
- ${customClassName}
427
- `);
428
- }
429
- //#endregion
430
429
  //#region src/components/menu/menu-checkbox-item.tsx
431
430
  function MenuCheckboxItem(props) {
432
431
  const { children, className: customClassName = "", iconEnd = void 0, indicator = void 0, isChecked = void 0, isDefaultChecked = false, isDisabled = false, ...rest } = props;
433
- const combinedClassName = getMenuClassName(MENU_CLASS_NAME.CHECKBOX_ITEM, customClassName);
432
+ const combinedClassName = cx(MENU_CLASS_NAME.CHECKBOX_ITEM, customClassName);
434
433
  const currentIndicator = indicator ?? /* @__PURE__ */ jsx("svg", {
435
434
  fill: "none",
436
435
  height: "16",
@@ -469,7 +468,7 @@ function MenuCheckboxItem(props) {
469
468
  //#region src/components/menu/menu-content.tsx
470
469
  function MenuContent(props) {
471
470
  const { align = "start", alignOffset = void 0, anchor = void 0, arrowPadding = void 0, children, className: customClassName = "", collisionAvoidance = void 0, collisionBoundary = void 0, collisionPadding = void 0, container = void 0, disableAnchorTracking = void 0, keepMounted = void 0, positionMethod = void 0, side = "bottom", sideOffset = 8, sticky = void 0, ...rest } = props;
472
- const combinedClassName = getMenuClassName(MENU_CLASS_NAME.CONTENT, customClassName);
471
+ const combinedClassName = cx(MENU_CLASS_NAME.CONTENT, customClassName);
473
472
  return /* @__PURE__ */ jsx(Menu$1.Portal, {
474
473
  container,
475
474
  "data-slot": "menu-portal",
@@ -502,7 +501,7 @@ function MenuContent(props) {
502
501
  //#region src/components/menu/menu-group.tsx
503
502
  function MenuGroup(props) {
504
503
  const { className: customClassName = "", ...rest } = props;
505
- const combinedClassName = getMenuClassName(MENU_CLASS_NAME.GROUP, customClassName);
504
+ const combinedClassName = cx(MENU_CLASS_NAME.GROUP, customClassName);
506
505
  return /* @__PURE__ */ jsx(Menu$1.Group, {
507
506
  className: combinedClassName,
508
507
  "data-slot": "menu-group",
@@ -513,7 +512,7 @@ function MenuGroup(props) {
513
512
  //#region src/components/menu/menu-group-label.tsx
514
513
  function MenuGroupLabel(props) {
515
514
  const { className: customClassName = "", ...rest } = props;
516
- const combinedClassName = getMenuClassName(MENU_CLASS_NAME.GROUP_LABEL, customClassName);
515
+ const combinedClassName = cx(MENU_CLASS_NAME.GROUP_LABEL, customClassName);
517
516
  return /* @__PURE__ */ jsx(Menu$1.GroupLabel, {
518
517
  className: combinedClassName,
519
518
  "data-slot": "menu-group-label",
@@ -524,7 +523,7 @@ function MenuGroupLabel(props) {
524
523
  //#region src/components/menu/menu-item.tsx
525
524
  function MenuItem(props) {
526
525
  const { children, className: customClassName = "", isDisabled = false, ...rest } = props;
527
- const combinedClassName = getMenuClassName(MENU_CLASS_NAME.ITEM, customClassName);
526
+ const combinedClassName = cx(MENU_CLASS_NAME.ITEM, customClassName);
528
527
  return /* @__PURE__ */ jsx(Menu$1.Item, {
529
528
  className: combinedClassName,
530
529
  "data-slot": "menu-item",
@@ -547,7 +546,7 @@ function MenuLinkItem(props) {
547
546
  //#region src/components/menu/menu-radio-group.tsx
548
547
  function MenuRadioGroup(props) {
549
548
  const { className: customClassName = "", isDisabled = false, ...rest } = props;
550
- const combinedClassName = getMenuClassName(MENU_CLASS_NAME.RADIO_GROUP, customClassName);
549
+ const combinedClassName = cx(MENU_CLASS_NAME.RADIO_GROUP, customClassName);
551
550
  return /* @__PURE__ */ jsx(Menu$1.RadioGroup, {
552
551
  className: combinedClassName,
553
552
  "data-slot": "menu-radio-group",
@@ -559,7 +558,7 @@ function MenuRadioGroup(props) {
559
558
  //#region src/components/menu/menu-radio-item.tsx
560
559
  function MenuRadioItem(props) {
561
560
  const { children, className: customClassName = "", iconEnd = void 0, indicator = void 0, isDisabled = false, ...rest } = props;
562
- const combinedClassName = getMenuClassName(MENU_CLASS_NAME.RADIO_ITEM, customClassName);
561
+ const combinedClassName = cx(MENU_CLASS_NAME.RADIO_ITEM, customClassName);
563
562
  const currentIndicator = indicator ?? /* @__PURE__ */ jsx("svg", {
564
563
  fill: "none",
565
564
  height: "16",
@@ -597,7 +596,7 @@ function MenuRadioItem(props) {
597
596
  //#region src/components/menu/menu-separator.tsx
598
597
  function MenuSeparator(props) {
599
598
  const { className: customClassName = "", ...rest } = props;
600
- const combinedClassName = getMenuClassName(MENU_CLASS_NAME.SEPARATOR, customClassName);
599
+ const combinedClassName = cx(MENU_CLASS_NAME.SEPARATOR, customClassName);
601
600
  return /* @__PURE__ */ jsx(Menu$1.Separator, {
602
601
  className: combinedClassName,
603
602
  "data-slot": "menu-separator",
@@ -639,7 +638,7 @@ function MenuTrigger(props) {
639
638
  //#region src/components/menu/menu-viewport.tsx
640
639
  function MenuViewport(props) {
641
640
  const { className: customClassName = "", ...rest } = props;
642
- const combinedClassName = getMenuClassName(MENU_CLASS_NAME.VIEWPORT, customClassName);
641
+ const combinedClassName = cx(MENU_CLASS_NAME.VIEWPORT, customClassName);
643
642
  return /* @__PURE__ */ jsx(Menu$1.Viewport, {
644
643
  className: combinedClassName,
645
644
  "data-slot": "menu-viewport",
@@ -656,22 +655,24 @@ var otp_field_module_default = {
656
655
  //#region src/components/otp-field/otp-field.tsx
657
656
  function OTPField(props) {
658
657
  const { className: customClassName = "", isDisabled = false, isMasked = false, ...rest } = props;
659
- const combinedClassName = normalizeWhitespace(`
660
- ${OTP_FIELD_CLASS_NAME.BASE}
661
- ${isMasked ? OTP_FIELD_CLASS_NAME.MASKED : ""}
662
- ${customClassName}
663
- `);
664
- return /* @__PURE__ */ jsx(OTPFieldPreview.Root, {
658
+ const combinedClassName = otpFieldVariants({
659
+ className: customClassName,
660
+ isMasked
661
+ });
662
+ return /* @__PURE__ */ jsx(OTPField$1.Root, {
665
663
  className: combinedClassName,
666
664
  disabled: isDisabled,
667
665
  mask: isMasked,
668
666
  ...rest
669
667
  });
670
668
  }
671
- const OTP_FIELD_CLASS_NAME = {
672
- BASE: otp_field_module_default.otp_field,
673
- MASKED: otp_field_module_default.otp_field__masked
674
- };
669
+ const otpFieldVariants = cva(otp_field_module_default.otp_field, {
670
+ defaultVariants: { isMasked: false },
671
+ variants: { isMasked: {
672
+ false: "",
673
+ true: otp_field_module_default.otp_field__masked
674
+ } }
675
+ });
675
676
  //#endregion
676
677
  //#region src/components/otp-field/otp-field-input.module.css
677
678
  var otp_field_input_module_default = { "otp_field_input": "otp-field-input-module_otp_field_input_7VaNVa" };
@@ -679,16 +680,13 @@ var otp_field_input_module_default = { "otp_field_input": "otp-field-input-modul
679
680
  //#region src/components/otp-field/otp-field-input.tsx
680
681
  function OTPFieldInput(props) {
681
682
  const { className: customClassName = "", ...rest } = props;
682
- const combinedClassName = normalizeWhitespace(`
683
- ${OTP_FIELD_INPUT_CLASS_NAME.BASE}
684
- ${customClassName}
685
- `);
686
- return /* @__PURE__ */ jsx(OTPFieldPreview.Input, {
683
+ const combinedClassName = otpFieldInputVariants({ className: customClassName });
684
+ return /* @__PURE__ */ jsx(OTPField$1.Input, {
687
685
  className: combinedClassName,
688
686
  ...rest
689
687
  });
690
688
  }
691
- const OTP_FIELD_INPUT_CLASS_NAME = { BASE: otp_field_input_module_default.otp_field_input };
689
+ const otpFieldInputVariants = cva(otp_field_input_module_default.otp_field_input);
692
690
  //#endregion
693
691
  //#region src/components/row/row.module.css
694
692
  var row_module_default = { "row": "row-module_row_FQp50q" };
@@ -697,10 +695,7 @@ var row_module_default = { "row": "row-module_row_FQp50q" };
697
695
  function Row(props) {
698
696
  const { alignItems = void 0, as = "div", className: customClassName = "", flexWrap = void 0, gap = void 0, gapX = void 0, gapY = void 0, justifyContent = void 0, style: customStyle, ...rest } = props;
699
697
  return createElement(as, {
700
- className: normalizeWhitespace(`
701
- ${ROW_CLASS_NAME.BASE}
702
- ${customClassName}
703
- `),
698
+ className: rowVariants({ className: customClassName }),
704
699
  style: {
705
700
  ...customStyle,
706
701
  ...gap === void 0 ? {} : { gap },
@@ -713,7 +708,7 @@ function Row(props) {
713
708
  ...rest
714
709
  });
715
710
  }
716
- const ROW_CLASS_NAME = { BASE: row_module_default.row };
711
+ const rowVariants = cva(row_module_default.row);
717
712
  //#endregion
718
713
  //#region src/components/spacer/spacer.module.css
719
714
  var spacer_module_default = { "spacer": "spacer-module_spacer_liXYKW" };
@@ -722,10 +717,7 @@ var spacer_module_default = { "spacer": "spacer-module_spacer_liXYKW" };
722
717
  function Spacer(props) {
723
718
  const { className: customClassName = "", height, style: customStyle, width, ...rest } = props;
724
719
  return /* @__PURE__ */ jsx("div", {
725
- className: normalizeWhitespace(`
726
- ${SPACER_CLASS_NAME.BASE}
727
- ${customClassName}
728
- `),
720
+ className: spacerVariants({ className: customClassName }),
729
721
  style: {
730
722
  ...customStyle,
731
723
  ...width === void 0 ? {} : { width },
@@ -734,7 +726,7 @@ function Spacer(props) {
734
726
  ...rest
735
727
  });
736
728
  }
737
- const SPACER_CLASS_NAME = { BASE: spacer_module_default.spacer };
729
+ const spacerVariants = cva(spacer_module_default.spacer);
738
730
  //#endregion
739
731
  //#region src/components/switch/switch.module.css
740
732
  var switch_module_default = {
@@ -747,11 +739,10 @@ var switch_module_default = {
747
739
  //#region src/components/switch/switch.tsx
748
740
  function Switch(props) {
749
741
  const { className: customClassName = "", isChecked = void 0, isDefaultChecked = false, isDisabled = false, isReadOnly = false, isRequired = false, size = 24, ...rest } = props;
750
- const combinedClassName = normalizeWhitespace(`
751
- ${SWITCH_CLASS_NAME.BASE}
752
- ${SWITCH_CLASS_NAME.SIZE[size]}
753
- ${customClassName}
754
- `);
742
+ const combinedClassName = switchVariants({
743
+ className: customClassName,
744
+ size
745
+ });
755
746
  return /* @__PURE__ */ jsx(Switch$1.Root, {
756
747
  checked: isChecked,
757
748
  className: combinedClassName,
@@ -763,13 +754,13 @@ function Switch(props) {
763
754
  children: /* @__PURE__ */ jsx(Switch$1.Thumb, { className: switch_module_default.switch__thumb })
764
755
  });
765
756
  }
766
- const SWITCH_CLASS_NAME = {
767
- BASE: switch_module_default.switch,
768
- SIZE: {
757
+ const switchVariants = cva(switch_module_default.switch, {
758
+ defaultVariants: { size: 24 },
759
+ variants: { size: {
769
760
  18: switch_module_default.switch__size_18,
770
761
  24: switch_module_default.switch__size_24
771
- }
772
- };
762
+ } }
763
+ });
773
764
  //#endregion
774
765
  //#region src/components/tabs-pill/tabs-pill-indicator.module.css
775
766
  var tabs_pill_indicator_module_default = { "tabs_pill_indicator": "tabs-pill-indicator-module_tabs_pill_indicator_PiFilW" };
@@ -777,10 +768,7 @@ var tabs_pill_indicator_module_default = { "tabs_pill_indicator": "tabs-pill-ind
777
768
  //#region src/components/tabs-pill/tabs-pill-indicator.tsx
778
769
  function TabsPillIndicator(props) {
779
770
  const { className: customClassName = "", ...rest } = props;
780
- const combinedClassName = normalizeWhitespace(`
781
- ${TABS_PILL_INDICATOR_CLASS_NAME.BASE}
782
- ${customClassName}
783
- `);
771
+ const combinedClassName = tabsPillIndicatorVariants({ className: customClassName });
784
772
  return /* @__PURE__ */ jsx(Tabs$1.Indicator, {
785
773
  className: combinedClassName,
786
774
  "data-slot": "tabs-pill-indicator",
@@ -788,7 +776,7 @@ function TabsPillIndicator(props) {
788
776
  ...rest
789
777
  });
790
778
  }
791
- const TABS_PILL_INDICATOR_CLASS_NAME = { BASE: tabs_pill_indicator_module_default.tabs_pill_indicator };
779
+ const tabsPillIndicatorVariants = cva(tabs_pill_indicator_module_default.tabs_pill_indicator);
792
780
  //#endregion
793
781
  //#region src/components/tabs-pill/tabs-pill-list.module.css
794
782
  var tabs_pill_list_module_default = { "tabs_pill_list": "tabs-pill-list-module_tabs_pill_list_3ahKPW" };
@@ -796,10 +784,7 @@ var tabs_pill_list_module_default = { "tabs_pill_list": "tabs-pill-list-module_t
796
784
  //#region src/components/tabs-pill/tabs-pill-list.tsx
797
785
  function TabsPillList(props) {
798
786
  const { className: customClassName = "", children = "", ...rest } = props;
799
- const combinedClassName = normalizeWhitespace(`
800
- ${TABS_PILL_LIST_CLASS_NAME.BASE}
801
- ${customClassName}
802
- `);
787
+ const combinedClassName = tabsPillListVariants({ className: customClassName });
803
788
  return /* @__PURE__ */ jsxs(Tabs$1.List, {
804
789
  className: combinedClassName,
805
790
  "data-slot": "tabs-pill-list",
@@ -807,7 +792,7 @@ function TabsPillList(props) {
807
792
  children: [children, /* @__PURE__ */ jsx(TabsPillIndicator, {})]
808
793
  });
809
794
  }
810
- const TABS_PILL_LIST_CLASS_NAME = { BASE: tabs_pill_list_module_default.tabs_pill_list };
795
+ const tabsPillListVariants = cva(tabs_pill_list_module_default.tabs_pill_list);
811
796
  //#endregion
812
797
  //#region src/components/tabs-pill/tabs-pill-tab.module.css
813
798
  var tabs_pill_tab_module_default = {
@@ -819,25 +804,18 @@ var tabs_pill_tab_module_default = {
819
804
  //#region src/components/tabs-pill/tabs-pill-tab.tsx
820
805
  function TabsPillTab(props) {
821
806
  const { className: customClassName = "", isNativeButton = true, ...rest } = props;
822
- const combinedClassName = normalizeWhitespace(`
823
- ${TABS_PILL_TAB_CLASS_NAME.BASE}
824
- ${customClassName}
825
- `);
807
+ const combinedClassName = tabsPillTabVariants({ className: customClassName });
826
808
  return /* @__PURE__ */ jsxs("div", {
827
- className: TABS_PILL_TAB_CLASS_NAME.WRAPPER,
809
+ className: tabs_pill_tab_module_default.tabs_pill_tab_wrapper,
828
810
  children: [/* @__PURE__ */ jsx(Tabs$1.Tab, {
829
811
  className: combinedClassName,
830
812
  "data-slot": "tabs-pill-tab",
831
813
  nativeButton: isNativeButton,
832
814
  ...rest
833
- }), /* @__PURE__ */ jsx("div", { className: TABS_PILL_TAB_CLASS_NAME.BACKGROUND })]
815
+ }), /* @__PURE__ */ jsx("div", { className: tabs_pill_tab_module_default.tabs_pill_tab_background })]
834
816
  });
835
817
  }
836
- const TABS_PILL_TAB_CLASS_NAME = {
837
- BACKGROUND: tabs_pill_tab_module_default.tabs_pill_tab_background,
838
- BASE: tabs_pill_tab_module_default.tabs_pill_tab,
839
- WRAPPER: tabs_pill_tab_module_default.tabs_pill_tab_wrapper
840
- };
818
+ const tabsPillTabVariants = cva(tabs_pill_tab_module_default.tabs_pill_tab);
841
819
  //#endregion
842
820
  //#region src/components/tabs-segmented/tabs-segmented-indicator.module.css
843
821
  var tabs_segmented_indicator_module_default = { "tabs_segmented_indicator": "tabs-segmented-indicator-module_tabs_segmented_indicator_3DY8Ta" };
@@ -845,10 +823,7 @@ var tabs_segmented_indicator_module_default = { "tabs_segmented_indicator": "tab
845
823
  //#region src/components/tabs-segmented/tabs-segmented-indicator.tsx
846
824
  function TabsSegmentedIndicator(props) {
847
825
  const { className: customClassName = "", ...rest } = props;
848
- const combinedClassName = normalizeWhitespace(`
849
- ${TABS_SEGMENTED_INDICATOR_CLASS_NAME.BASE}
850
- ${customClassName}
851
- `);
826
+ const combinedClassName = tabsSegmentedIndicatorVariants({ className: customClassName });
852
827
  return /* @__PURE__ */ jsx(Tabs$1.Indicator, {
853
828
  className: combinedClassName,
854
829
  "data-slot": "tabs-segmented-indicator",
@@ -856,7 +831,7 @@ function TabsSegmentedIndicator(props) {
856
831
  ...rest
857
832
  });
858
833
  }
859
- const TABS_SEGMENTED_INDICATOR_CLASS_NAME = { BASE: tabs_segmented_indicator_module_default.tabs_segmented_indicator };
834
+ const tabsSegmentedIndicatorVariants = cva(tabs_segmented_indicator_module_default.tabs_segmented_indicator);
860
835
  //#endregion
861
836
  //#region src/components/tabs-segmented/tabs-segmented-list.module.css
862
837
  var tabs_segmented_list_module_default = { "tabs_segmented_list": "tabs-segmented-list-module_tabs_segmented_list_wG8CPq" };
@@ -864,10 +839,7 @@ var tabs_segmented_list_module_default = { "tabs_segmented_list": "tabs-segmente
864
839
  //#region src/components/tabs-segmented/tabs-segmented-list.tsx
865
840
  function TabsSegmentedList(props) {
866
841
  const { className: customClassName = "", children = "", ...rest } = props;
867
- const combinedClassName = normalizeWhitespace(`
868
- ${TABS_SEGMENTED_LIST_CLASS_NAME.BASE}
869
- ${customClassName}
870
- `);
842
+ const combinedClassName = tabsSegmentedListVariants({ className: customClassName });
871
843
  return /* @__PURE__ */ jsxs(Tabs$1.List, {
872
844
  className: combinedClassName,
873
845
  "data-slot": "tabs-segmented-list",
@@ -875,7 +847,7 @@ function TabsSegmentedList(props) {
875
847
  children: [children, /* @__PURE__ */ jsx(TabsSegmentedIndicator, {})]
876
848
  });
877
849
  }
878
- const TABS_SEGMENTED_LIST_CLASS_NAME = { BASE: tabs_segmented_list_module_default.tabs_segmented_list };
850
+ const tabsSegmentedListVariants = cva(tabs_segmented_list_module_default.tabs_segmented_list);
879
851
  //#endregion
880
852
  //#region src/components/tabs-segmented/tabs-segmented-tab.module.css
881
853
  var tabs_segmented_tab_module_default = { "tabs_segmented_tab": "tabs-segmented-tab-module_tabs_segmented_tab_du-IJG" };
@@ -883,10 +855,7 @@ var tabs_segmented_tab_module_default = { "tabs_segmented_tab": "tabs-segmented-
883
855
  //#region src/components/tabs-segmented/tabs-segmented-tab.tsx
884
856
  function TabsSegmentedTab(props) {
885
857
  const { className: customClassName = "", isNativeButton = true, ...rest } = props;
886
- const combinedClassName = normalizeWhitespace(`
887
- ${TABS_SEGMENTED_TAB_CLASS_NAME.BASE}
888
- ${customClassName}
889
- `);
858
+ const combinedClassName = tabsSegmentedTabVariants({ className: customClassName });
890
859
  return /* @__PURE__ */ jsx(Tabs$1.Tab, {
891
860
  className: combinedClassName,
892
861
  "data-slot": "tabs-segmented-tab",
@@ -894,7 +863,7 @@ function TabsSegmentedTab(props) {
894
863
  ...rest
895
864
  });
896
865
  }
897
- const TABS_SEGMENTED_TAB_CLASS_NAME = { BASE: tabs_segmented_tab_module_default.tabs_segmented_tab };
866
+ const tabsSegmentedTabVariants = cva(tabs_segmented_tab_module_default.tabs_segmented_tab);
898
867
  //#endregion
899
868
  //#region src/components/tabs-underline/tabs-underline-indicator.module.css
900
869
  var tabs_underline_indicator_module_default = { "tabs_underline_indicator": "tabs-underline-indicator-module_tabs_underline_indicator_Gl55Ba" };
@@ -902,10 +871,7 @@ var tabs_underline_indicator_module_default = { "tabs_underline_indicator": "tab
902
871
  //#region src/components/tabs-underline/tabs-underline-indicator.tsx
903
872
  function TabsUnderlineIndicator(props) {
904
873
  const { className: customClassName = "", ...rest } = props;
905
- const combinedClassName = normalizeWhitespace(`
906
- ${TABS_UNDERLINE_INDICATOR_CLASS_NAME.BASE}
907
- ${customClassName}
908
- `);
874
+ const combinedClassName = tabsUnderlineIndicatorVariants({ className: customClassName });
909
875
  return /* @__PURE__ */ jsx(Tabs$1.Indicator, {
910
876
  className: combinedClassName,
911
877
  "data-slot": "tabs-underline-indicator",
@@ -913,7 +879,7 @@ function TabsUnderlineIndicator(props) {
913
879
  ...rest
914
880
  });
915
881
  }
916
- const TABS_UNDERLINE_INDICATOR_CLASS_NAME = { BASE: tabs_underline_indicator_module_default.tabs_underline_indicator };
882
+ const tabsUnderlineIndicatorVariants = cva(tabs_underline_indicator_module_default.tabs_underline_indicator);
917
883
  //#endregion
918
884
  //#region src/components/tabs-underline/tabs-underline-list.module.css
919
885
  var tabs_underline_list_module_default = { "tabs_underline_list": "tabs-underline-list-module_tabs_underline_list_3MpMpG" };
@@ -921,10 +887,7 @@ var tabs_underline_list_module_default = { "tabs_underline_list": "tabs-underlin
921
887
  //#region src/components/tabs-underline/tabs-underline-list.tsx
922
888
  function TabsUnderlineList(props) {
923
889
  const { className: customClassName = "", children = "", ...rest } = props;
924
- const combinedClassName = normalizeWhitespace(`
925
- ${TABS_UNDERLINE_LIST_CLASS_NAME.BASE}
926
- ${customClassName}
927
- `);
890
+ const combinedClassName = tabsUnderlineListVariants({ className: customClassName });
928
891
  return /* @__PURE__ */ jsxs(Tabs$1.List, {
929
892
  className: combinedClassName,
930
893
  "data-slot": "tabs-underline-list",
@@ -932,7 +895,7 @@ function TabsUnderlineList(props) {
932
895
  children: [children, /* @__PURE__ */ jsx(TabsUnderlineIndicator, {})]
933
896
  });
934
897
  }
935
- const TABS_UNDERLINE_LIST_CLASS_NAME = { BASE: tabs_underline_list_module_default.tabs_underline_list };
898
+ const tabsUnderlineListVariants = cva(tabs_underline_list_module_default.tabs_underline_list);
936
899
  //#endregion
937
900
  //#region src/components/tabs-underline/tabs-underline-tab.module.css
938
901
  var tabs_underline_tab_module_default = { "tabs_underline_tab": "tabs-underline-tab-module_tabs_underline_tab_lcqfQW" };
@@ -940,10 +903,7 @@ var tabs_underline_tab_module_default = { "tabs_underline_tab": "tabs-underline-
940
903
  //#region src/components/tabs-underline/tabs-underline-tab.tsx
941
904
  function TabsUnderlineTab(props) {
942
905
  const { className: customClassName = "", isNativeButton = true, ...rest } = props;
943
- const combinedClassName = normalizeWhitespace(`
944
- ${TABS_UNDERLINE_TAB_CLASS_NAME.BASE}
945
- ${customClassName}
946
- `);
906
+ const combinedClassName = tabsUnderlineTabVariants({ className: customClassName });
947
907
  return /* @__PURE__ */ jsx(Tabs$1.Tab, {
948
908
  className: combinedClassName,
949
909
  "data-slot": "tabs-underline-tab",
@@ -951,7 +911,7 @@ function TabsUnderlineTab(props) {
951
911
  ...rest
952
912
  });
953
913
  }
954
- const TABS_UNDERLINE_TAB_CLASS_NAME = { BASE: tabs_underline_tab_module_default.tabs_underline_tab };
914
+ const tabsUnderlineTabVariants = cva(tabs_underline_tab_module_default.tabs_underline_tab);
955
915
  //#endregion
956
916
  //#region src/components/tabs/tabs.module.css
957
917
  var tabs_module_default = { "tabs": "tabs-module_tabs__1Jl1W" };
@@ -959,17 +919,14 @@ var tabs_module_default = { "tabs": "tabs-module_tabs__1Jl1W" };
959
919
  //#region src/components/tabs/tabs.tsx
960
920
  function Tabs(props) {
961
921
  const { className: customClassName = "", ...rest } = props;
962
- const combinedClassName = normalizeWhitespace(`
963
- ${TABS_CLASS_NAME.BASE}
964
- ${customClassName}
965
- `);
922
+ const combinedClassName = tabsVariants({ className: customClassName });
966
923
  return /* @__PURE__ */ jsx(Tabs$1.Root, {
967
924
  className: combinedClassName,
968
925
  "data-slot": "tabs",
969
926
  ...rest
970
927
  });
971
928
  }
972
- const TABS_CLASS_NAME = { BASE: tabs_module_default.tabs };
929
+ const tabsVariants = cva(tabs_module_default.tabs);
973
930
  //#endregion
974
931
  //#region src/components/tabs/tabs-panel.module.css
975
932
  var tabs_panel_module_default = { "tabs_panel": "tabs-panel-module_tabs_panel_AXj2FW" };
@@ -977,17 +934,14 @@ var tabs_panel_module_default = { "tabs_panel": "tabs-panel-module_tabs_panel_AX
977
934
  //#region src/components/tabs/tabs-panel.tsx
978
935
  function TabsPanel(props) {
979
936
  const { className: customClassName = "", ...rest } = props;
980
- const combinedClassName = normalizeWhitespace(`
981
- ${TABS_PANEL_CLASS_NAME.BASE}
982
- ${customClassName}
983
- `);
937
+ const combinedClassName = tabsPanelVariants({ className: customClassName });
984
938
  return /* @__PURE__ */ jsx(Tabs$1.Panel, {
985
939
  className: combinedClassName,
986
940
  "data-slot": "tabs-panel",
987
941
  ...rest
988
942
  });
989
943
  }
990
- const TABS_PANEL_CLASS_NAME = { BASE: tabs_panel_module_default.tabs_panel };
944
+ const tabsPanelVariants = cva(tabs_panel_module_default.tabs_panel);
991
945
  //#endregion
992
946
  //#region src/components/textarea/textarea.module.css
993
947
  var textarea_module_default = { "textarea": "textarea-module_textarea_jT_oOq" };
@@ -996,12 +950,10 @@ var textarea_module_default = { "textarea": "textarea-module_textarea_jT_oOq" };
996
950
  function Textarea(props) {
997
951
  const { className: customClassName = "", isActive = false, isDisabled = false, isInvalid = void 0, isReadOnly = false, isRequired = false, isRounded = false, isValid = void 0, rows = 2, ...rest } = props;
998
952
  return /* @__PURE__ */ jsx("textarea", {
999
- className: normalizeWhitespace(`
1000
- ${TEXTAREA_CLASS_NAME.INPUT}
1001
- ${TEXTAREA_CLASS_NAME.BASE}
1002
- ${isRounded ? TEXTAREA_CLASS_NAME.ROUNDED.FULL : TEXTAREA_CLASS_NAME.ROUNDED.BASE}
1003
- ${customClassName}
1004
- `),
953
+ className: textareaVariants({
954
+ className: customClassName,
955
+ isRounded
956
+ }),
1005
957
  "data-is-active": isActive,
1006
958
  "data-is-invalid": isInvalid,
1007
959
  "data-is-valid": isValid,
@@ -1012,14 +964,13 @@ function Textarea(props) {
1012
964
  ...rest
1013
965
  });
1014
966
  }
1015
- const TEXTAREA_CLASS_NAME = {
1016
- BASE: textarea_module_default.textarea,
1017
- INPUT: input_module_default.input,
1018
- ROUNDED: {
1019
- BASE: input_module_default.input__rounded_base,
1020
- FULL: input_module_default.input__rounded_full
1021
- }
1022
- };
967
+ const textareaVariants = cva([input_module_default.input, textarea_module_default.textarea], {
968
+ defaultVariants: { isRounded: false },
969
+ variants: { isRounded: {
970
+ false: input_module_default.input__rounded_base,
971
+ true: input_module_default.input__rounded_full
972
+ } }
973
+ });
1023
974
  //#endregion
1024
975
  //#region src/components/tooltip/tooltip.tsx
1025
976
  function Tooltip(props) {
@@ -1041,10 +992,7 @@ var tooltip_popup_module_default = {
1041
992
  //#region src/components/tooltip/tooltip-popup.tsx
1042
993
  function TooltipPopup(props) {
1043
994
  const { children = "", className: customClassName = "", side = "top", sideOffset = 4, ...rest } = props;
1044
- const combinedClassName = normalizeWhitespace(`
1045
- ${TOOLTIP_POPUP_CLASS_NAME.BASE}
1046
- ${customClassName}
1047
- `);
995
+ const combinedClassName = tooltipPopupVariants({ className: customClassName });
1048
996
  return /* @__PURE__ */ jsx(Tooltip$1.Portal, {
1049
997
  className: tooltip_popup_module_default.tooltip_popup_portal,
1050
998
  children: /* @__PURE__ */ jsxs(Tooltip$1.Positioner, {
@@ -1059,7 +1007,7 @@ function TooltipPopup(props) {
1059
1007
  })
1060
1008
  });
1061
1009
  }
1062
- const TOOLTIP_POPUP_CLASS_NAME = { BASE: tooltip_popup_module_default.tooltip_popup };
1010
+ const tooltipPopupVariants = cva(tooltip_popup_module_default.tooltip_popup);
1063
1011
  //#endregion
1064
1012
  //#region src/components/tooltip/tooltip-provider.tsx
1065
1013
  function TooltipProvider(props) {
@@ -1079,4 +1027,4 @@ function TooltipTrigger(props) {
1079
1027
  });
1080
1028
  }
1081
1029
  //#endregion
1082
- export { BUTTON_CLASS_NAME, Button, ButtonLink, CHECKBOX_CLASS_NAME, COLUMN_CLASS_NAME, Checkbox, Column, DIALOG_RESPONSIVE_POPUP_CLASS_NAME, DialogResponsive, DialogResponsivePopup, DialogResponsiveTrigger, INPUT_CLASS_NAME, Input, LABEL_CLASS_NAME, Label, MENU_CLASS_NAME, Menu, MenuCheckboxItem, MenuContent, MenuGroup, MenuGroupLabel, MenuItem, MenuLinkItem, MenuRadioGroup, MenuRadioItem, MenuSeparator, MenuSubmenu, MenuSubmenuTrigger, MenuTrigger, MenuViewport, OTPField, OTPFieldInput, OTP_FIELD_CLASS_NAME, OTP_FIELD_INPUT_CLASS_NAME, ROW_CLASS_NAME, Row, SPACER_CLASS_NAME, SWITCH_CLASS_NAME, Spacer, Switch, TABS_CLASS_NAME, TABS_PANEL_CLASS_NAME, TABS_PILL_LIST_CLASS_NAME, TABS_PILL_TAB_CLASS_NAME, TABS_SEGMENTED_LIST_CLASS_NAME, TABS_SEGMENTED_TAB_CLASS_NAME, TABS_UNDERLINE_LIST_CLASS_NAME, TABS_UNDERLINE_TAB_CLASS_NAME, TEXTAREA_CLASS_NAME, TOOLTIP_POPUP_CLASS_NAME, Tabs, TabsPanel, TabsPillList, TabsPillTab, TabsSegmentedList, TabsSegmentedTab, TabsUnderlineList, TabsUnderlineTab, Textarea, Tooltip, TooltipPopup, TooltipProvider, TooltipTrigger, createMenuHandle };
1030
+ export { Button, ButtonLink, Checkbox, Column, DialogResponsive, DialogResponsivePopup, DialogResponsiveTrigger, IconButton, Input, Label, MENU_CLASS_NAME, Menu, MenuCheckboxItem, MenuContent, MenuGroup, MenuGroupLabel, MenuItem, MenuLinkItem, MenuRadioGroup, MenuRadioItem, MenuSeparator, MenuSubmenu, MenuSubmenuTrigger, MenuTrigger, MenuViewport, OTPField, OTPFieldInput, Row, Spacer, Switch, Tabs, TabsPanel, TabsPillList, TabsPillTab, TabsSegmentedList, TabsSegmentedTab, TabsUnderlineList, TabsUnderlineTab, Textarea, Tooltip, TooltipPopup, TooltipProvider, TooltipTrigger, button, checkboxVariants, columnVariants, createMenuHandle, dialogResponsivePopupVariants, iconButton, inputVariants, labelVariants, otpFieldInputVariants, otpFieldVariants, rowVariants, spacerVariants, switchVariants, tabsPanelVariants, tabsPillListVariants, tabsPillTabVariants, tabsSegmentedListVariants, tabsSegmentedTabVariants, tabsUnderlineListVariants, tabsUnderlineTabVariants, tabsVariants, textareaVariants, tooltipPopupVariants };