@vaneui/ui 0.2.1-alpha.20250830124557.3818ff4 → 0.2.1-alpha.20250831120721.fd71f6f

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.
@@ -6,6 +6,7 @@ export declare const backgroundAppearanceClasses: Record<AppearanceKey | Transpa
6
6
  export declare const hoverBackgroundAppearanceClasses: Record<AppearanceKey | TransparentKey | LinkKey, string>;
7
7
  export declare const activeBackgroundAppearanceClasses: Record<AppearanceKey | TransparentKey | LinkKey, string>;
8
8
  export declare const layoutBackgroundAppearanceClasses: Record<AppearanceKey | TransparentKey | LinkKey, string>;
9
+ export declare const layoutFilledBackgroundAppearanceClasses: Record<AppearanceKey | TransparentKey | LinkKey, string>;
9
10
  export declare const bgBorderAppearanceClasses: Record<AppearanceKey | TransparentKey | LinkKey, string>;
10
11
  export declare const borderAppearanceClasses: Record<AppearanceKey | TransparentKey | LinkKey, string>;
11
12
  export declare const filledBorderAppearanceClasses: Record<AppearanceKey | TransparentKey | LinkKey, string>;
@@ -77,6 +77,8 @@ export declare const Img: React.ForwardRefExoticComponent<{
77
77
  md?: boolean | undefined;
78
78
  lg?: boolean | undefined;
79
79
  xl?: boolean | undefined;
80
+ filled?: boolean | undefined;
81
+ outline?: boolean | undefined;
80
82
  } & {
81
83
  tag?: React.ElementType;
82
84
  } & React.RefAttributes<HTMLImageElement>>;
@@ -101,6 +101,8 @@ export declare const Label: React.ForwardRefExoticComponent<{
101
101
  lowercase?: boolean | undefined;
102
102
  capitalize?: boolean | undefined;
103
103
  normalCase?: boolean | undefined;
104
+ filled?: boolean | undefined;
105
+ outline?: boolean | undefined;
104
106
  flexWrap?: boolean | undefined;
105
107
  flexNoWrap?: boolean | undefined;
106
108
  flexWrapReverse?: boolean | undefined;
@@ -75,19 +75,19 @@ export declare const BUTTON_CATEGORIES: readonly ["size", "hide", "items", "just
75
75
  export declare const BADGE_CATEGORIES: readonly ["size", "hide", "items", "justify", "position", "display", "overflow", "wrap", "gap", "flexDirection", "reverse", "appearance", "transparent", "border", "shadow", "ring", "shape", "fontWeight", "fontStyle", "textDecoration", "textTransform", "fontFamily", "textAlign", "padding", "variant"];
76
76
  export declare const CHIP_CATEGORIES: readonly ["size", "hide", "items", "justify", "position", "display", "overflow", "wrap", "gap", "flexDirection", "reverse", "appearance", "transparent", "border", "shadow", "ring", "shape", "fontWeight", "fontStyle", "textDecoration", "textTransform", "fontFamily", "textAlign", "padding", "variant"];
77
77
  export declare const CODE_CATEGORIES: readonly ["size", "hide", "items", "justify", "position", "display", "overflow", "wrap", "gap", "flexDirection", "reverse", "appearance", "transparent", "border", "shadow", "ring", "shape", "fontWeight", "fontStyle", "textDecoration", "textTransform", "fontFamily", "textAlign", "padding", "variant"];
78
- export declare const TYPOGRAPHY_CATEGORIES: readonly ["fontWeight", "fontStyle", "textDecoration", "textTransform", "fontFamily", "textAlign", "size", "hide", "items", "justify", "position", "display", "overflow", "appearance", "transparent"];
79
- export declare const LIST_CATEGORIES: readonly ["fontWeight", "fontStyle", "textDecoration", "textTransform", "fontFamily", "textAlign", "listStyle", "size", "hide", "items", "justify", "position", "display", "overflow", "appearance", "transparent", "padding"];
80
- export declare const GRID_CATEGORIES: readonly ["size", "hide", "items", "justify", "position", "display", "overflow", "wrap", "gap", "flexDirection", "reverse", "appearance", "transparent"];
81
- export declare const CONTAINER_CATEGORIES: readonly ["size", "hide", "items", "justify", "position", "display", "overflow", "wrap", "gap", "flexDirection", "reverse", "appearance", "transparent", "border", "shadow", "ring", "shape"];
82
- export declare const COL_CATEGORIES: readonly ["size", "hide", "items", "justify", "position", "display", "overflow", "wrap", "gap", "flexDirection", "reverse", "appearance", "transparent", "border", "shadow", "ring", "shape"];
83
- export declare const ROW_CATEGORIES: readonly ["size", "hide", "items", "justify", "position", "display", "overflow", "wrap", "gap", "flexDirection", "reverse", "breakpoint", "appearance", "transparent", "border", "shadow", "ring", "shape"];
84
- export declare const STACK_CATEGORIES: readonly ["size", "hide", "items", "justify", "position", "display", "overflow", "wrap", "gap", "flexDirection", "reverse", "breakpoint", "padding", "appearance", "transparent", "border", "shadow", "ring", "shape"];
85
- export declare const CARD_CATEGORIES: readonly ["fontWeight", "fontStyle", "textDecoration", "textTransform", "fontFamily", "textAlign", "size", "hide", "items", "justify", "position", "display", "overflow", "wrap", "gap", "flexDirection", "reverse", "breakpoint", "appearance", "transparent", "border", "shadow", "ring", "shape", "padding"];
78
+ export declare const TYPOGRAPHY_CATEGORIES: readonly ["fontWeight", "fontStyle", "textDecoration", "textTransform", "fontFamily", "textAlign", "size", "hide", "items", "justify", "position", "display", "overflow", "appearance", "transparent", "variant"];
79
+ export declare const LIST_CATEGORIES: readonly ["fontWeight", "fontStyle", "textDecoration", "textTransform", "fontFamily", "textAlign", "listStyle", "size", "hide", "items", "justify", "position", "display", "overflow", "appearance", "transparent", "padding", "variant"];
80
+ export declare const GRID_CATEGORIES: readonly ["size", "hide", "items", "justify", "position", "display", "overflow", "wrap", "gap", "flexDirection", "reverse", "appearance", "transparent", "variant"];
81
+ export declare const CONTAINER_CATEGORIES: readonly ["size", "hide", "items", "justify", "position", "display", "overflow", "wrap", "gap", "flexDirection", "reverse", "appearance", "transparent", "border", "shadow", "ring", "shape", "variant"];
82
+ export declare const COL_CATEGORIES: readonly ["size", "hide", "items", "justify", "position", "display", "overflow", "wrap", "gap", "flexDirection", "reverse", "appearance", "transparent", "border", "shadow", "ring", "shape", "variant"];
83
+ export declare const ROW_CATEGORIES: readonly ["size", "hide", "items", "justify", "position", "display", "overflow", "wrap", "gap", "flexDirection", "reverse", "breakpoint", "appearance", "transparent", "border", "shadow", "ring", "shape", "variant"];
84
+ export declare const STACK_CATEGORIES: readonly ["size", "hide", "items", "justify", "position", "display", "overflow", "wrap", "gap", "flexDirection", "reverse", "breakpoint", "padding", "appearance", "transparent", "border", "shadow", "ring", "shape", "variant"];
85
+ export declare const CARD_CATEGORIES: readonly ["fontWeight", "fontStyle", "textDecoration", "textTransform", "fontFamily", "textAlign", "size", "hide", "items", "justify", "position", "display", "overflow", "wrap", "gap", "flexDirection", "reverse", "breakpoint", "appearance", "transparent", "border", "shadow", "ring", "shape", "padding", "variant"];
86
86
  export declare const DIVIDER_CATEGORIES: readonly ["size", "hide", "items", "justify", "position", "display", "overflow", "appearance", "transparent", "padding"];
87
- export declare const SECTION_CATEGORIES: readonly ["size", "hide", "items", "justify", "position", "display", "overflow", "wrap", "gap", "flexDirection", "reverse", "appearance", "transparent", "border", "shadow", "ring", "shape", "padding", "breakpoint"];
87
+ export declare const SECTION_CATEGORIES: readonly ["size", "hide", "items", "justify", "position", "display", "overflow", "wrap", "gap", "flexDirection", "reverse", "appearance", "transparent", "border", "shadow", "ring", "shape", "padding", "breakpoint", "variant"];
88
88
  export declare const CHECKBOX_CATEGORIES: readonly ["size", "hide", "items", "justify", "position", "display", "overflow", "appearance", "transparent", "border", "shadow", "ring", "shape", "variant"];
89
- export declare const LABEL_CATEGORIES: readonly ["fontWeight", "fontStyle", "textDecoration", "textTransform", "fontFamily", "textAlign", "size", "hide", "items", "justify", "position", "display", "overflow", "wrap", "gap", "flexDirection", "reverse", "appearance", "transparent"];
90
- export declare const IMG_CATEGORIES: readonly ["size", "hide", "items", "justify", "position", "display", "overflow", "appearance", "transparent", "border", "shadow", "ring", "shape"];
89
+ export declare const LABEL_CATEGORIES: readonly ["fontWeight", "fontStyle", "textDecoration", "textTransform", "fontFamily", "textAlign", "size", "hide", "items", "justify", "position", "display", "overflow", "wrap", "gap", "flexDirection", "reverse", "appearance", "transparent", "variant"];
90
+ export declare const IMG_CATEGORIES: readonly ["size", "hide", "items", "justify", "position", "display", "overflow", "appearance", "transparent", "border", "shadow", "ring", "shape", "variant"];
91
91
  export type CategoryProps = {
92
92
  [K in ComponentCategoryKey]?: (typeof ComponentKeys)[K][number];
93
93
  };
@@ -8,5 +8,4 @@ export declare class AppearanceTheme extends BaseTheme {
8
8
  private constructor();
9
9
  getClasses(extractedKeys: CategoryProps): string[];
10
10
  static createTheme(src?: Partial<Record<ModeKey, Partial<Record<AppearanceKey, string>>>>): AppearanceTheme;
11
- static createLayoutBgTheme(): AppearanceTheme;
12
11
  }
@@ -21,4 +21,5 @@ export declare class GenericVariantTheme<T extends BaseTheme> extends BaseTheme
21
21
  static createSimpleUIElementBgAppearanceTheme(): GenericVariantTheme<AppearanceTheme>;
22
22
  static createAccentColorAppearanceTheme(): GenericVariantTheme<AppearanceTheme>;
23
23
  static createCheckedAppearanceTheme(): GenericVariantTheme<AppearanceTheme>;
24
+ static createLayoutBgAppearanceTheme(): GenericVariantTheme<AppearanceTheme>;
24
25
  }
@@ -8,6 +8,7 @@ import { RadiusTheme } from "./layout/radiusTheme";
8
8
  import { PxTheme } from "./size/pxTheme";
9
9
  import { PyTheme } from "./size/pyTheme";
10
10
  import { AppearanceTheme } from "./appearance/appearanceTheme";
11
+ import { GenericVariantTheme } from "./appearance/genericVariantTheme";
11
12
  import { BreakpointTheme } from "./size/breakpointTheme";
12
13
  import { RingTheme } from "./layout/ringTheme";
13
14
  import { ShadowAppearanceTheme } from "./appearance/shadowAppearanceTheme";
@@ -27,10 +28,10 @@ export interface CardTheme extends BaseTypographyComponentTheme {
27
28
  shadow: ShadowAppearanceTheme;
28
29
  };
29
30
  appearance: {
30
- background: AppearanceTheme;
31
- text: AppearanceTheme;
32
- border: AppearanceTheme;
33
- ring: AppearanceTheme;
31
+ background: GenericVariantTheme<AppearanceTheme>;
32
+ text: GenericVariantTheme<AppearanceTheme>;
33
+ border: GenericVariantTheme<AppearanceTheme>;
34
+ ring: GenericVariantTheme<AppearanceTheme>;
34
35
  };
35
36
  }
36
37
  export declare const defaultCardTheme: ComponentTheme<CardProps, CardTheme>;
@@ -21,8 +21,8 @@ export interface ColTheme extends BaseComponentTheme {
21
21
  radius: RadiusTheme;
22
22
  };
23
23
  appearance: {
24
- background: AppearanceTheme;
25
- text: AppearanceTheme;
24
+ background: GenericVariantTheme<AppearanceTheme>;
25
+ text: GenericVariantTheme<AppearanceTheme>;
26
26
  border: GenericVariantTheme<AppearanceTheme>;
27
27
  ring: GenericVariantTheme<AppearanceTheme>;
28
28
  shadow: GenericVariantTheme<ShadowAppearanceTheme>;
@@ -23,10 +23,10 @@ export interface ContainerTheme extends BaseComponentTheme {
23
23
  radius: RadiusTheme;
24
24
  };
25
25
  appearance: {
26
- background: AppearanceTheme;
27
- text: AppearanceTheme;
28
- border: AppearanceTheme;
29
- ring: AppearanceTheme;
26
+ background: GenericVariantTheme<AppearanceTheme>;
27
+ text: GenericVariantTheme<AppearanceTheme>;
28
+ border: GenericVariantTheme<AppearanceTheme>;
29
+ ring: GenericVariantTheme<AppearanceTheme>;
30
30
  shadow: GenericVariantTheme<ShadowAppearanceTheme>;
31
31
  };
32
32
  }
@@ -4,13 +4,14 @@ import { GapTheme } from "./size/gapTheme";
4
4
  import { WrapTheme } from "./layout/wrapTheme";
5
5
  import { DirectionTheme } from "./layout/directionTheme";
6
6
  import { AppearanceTheme } from "./appearance/appearanceTheme";
7
+ import { GenericVariantTheme } from "./appearance/genericVariantTheme";
7
8
  export interface GridTheme extends BaseComponentTheme {
8
9
  size: {
9
10
  gap: GapTheme;
10
11
  };
11
12
  appearance: {
12
- background: AppearanceTheme;
13
- text: AppearanceTheme;
13
+ background: GenericVariantTheme<AppearanceTheme>;
14
+ text: GenericVariantTheme<AppearanceTheme>;
14
15
  };
15
16
  layout: DefaultLayoutThemes & {
16
17
  wrap: WrapTheme;
@@ -3,6 +3,7 @@ import { LabelProps } from "../props";
3
3
  import { SizeTheme } from "./size/sizeTheme";
4
4
  import { GapTheme } from "./size/gapTheme";
5
5
  import { AppearanceTheme } from "./appearance/appearanceTheme";
6
+ import { GenericVariantTheme } from "./appearance/genericVariantTheme";
6
7
  import { WrapTheme } from "./layout/wrapTheme";
7
8
  import { DirectionTheme } from "./layout/directionTheme";
8
9
  export interface LabelTheme extends BaseTypographyComponentTheme {
@@ -11,7 +12,7 @@ export interface LabelTheme extends BaseTypographyComponentTheme {
11
12
  gap: GapTheme;
12
13
  };
13
14
  appearance: {
14
- text: AppearanceTheme;
15
+ text: GenericVariantTheme<AppearanceTheme>;
15
16
  };
16
17
  layout: DefaultLayoutThemes & {
17
18
  wrap: WrapTheme;
@@ -23,8 +23,8 @@ export interface RowTheme extends BaseComponentTheme {
23
23
  radius: RadiusTheme;
24
24
  };
25
25
  appearance: {
26
- background: AppearanceTheme;
27
- text: AppearanceTheme;
26
+ background: GenericVariantTheme<AppearanceTheme>;
27
+ text: GenericVariantTheme<AppearanceTheme>;
28
28
  border: GenericVariantTheme<AppearanceTheme>;
29
29
  ring: GenericVariantTheme<AppearanceTheme>;
30
30
  shadow: GenericVariantTheme<ShadowAppearanceTheme>;
@@ -27,8 +27,8 @@ export interface StackTheme extends BaseComponentTheme {
27
27
  radius: RadiusTheme;
28
28
  };
29
29
  appearance: {
30
- background: AppearanceTheme;
31
- text: AppearanceTheme;
30
+ background: GenericVariantTheme<AppearanceTheme>;
31
+ text: GenericVariantTheme<AppearanceTheme>;
32
32
  border: GenericVariantTheme<AppearanceTheme>;
33
33
  ring: GenericVariantTheme<AppearanceTheme>;
34
34
  shadow: GenericVariantTheme<ShadowAppearanceTheme>;
@@ -3,6 +3,7 @@ import React from "react";
3
3
  import { BaseTypographyComponentTheme, ComponentTheme, DefaultLayoutThemes } from "./common/ComponentTheme";
4
4
  import { SizeTheme } from "./size/sizeTheme";
5
5
  import { AppearanceTheme } from "./appearance/appearanceTheme";
6
+ import { GenericVariantTheme } from "./appearance/genericVariantTheme";
6
7
  import { SizeKey } from "../props";
7
8
  import { PlTheme } from "./size/plTheme";
8
9
  import { ListStyleTheme } from "./list/listStyleTheme";
@@ -11,7 +12,7 @@ export interface TypographyTheme extends BaseTypographyComponentTheme {
11
12
  text: SizeTheme;
12
13
  };
13
14
  appearance: {
14
- text: AppearanceTheme;
15
+ text: GenericVariantTheme<AppearanceTheme>;
15
16
  };
16
17
  layout: DefaultLayoutThemes;
17
18
  }
@@ -28,7 +29,7 @@ export interface ListTheme extends BaseTypographyComponentTheme {
28
29
  paddingLeft: PlTheme;
29
30
  };
30
31
  appearance: {
31
- text: AppearanceTheme;
32
+ text: GenericVariantTheme<AppearanceTheme>;
32
33
  };
33
34
  layout: DefaultLayoutThemes;
34
35
  listStyle: ListStyleTheme;
@@ -105,6 +105,8 @@ export declare const List: React.ForwardRefExoticComponent<{
105
105
  lowercase?: boolean | undefined;
106
106
  capitalize?: boolean | undefined;
107
107
  normalCase?: boolean | undefined;
108
+ filled?: boolean | undefined;
109
+ outline?: boolean | undefined;
108
110
  } & {
109
111
  tag?: React.ElementType;
110
112
  } & React.RefAttributes<HTMLUListElement>>;
package/dist/index.esm.js CHANGED
@@ -72,22 +72,22 @@ const BADGE_CATEGORIES = INTERACTIVE_CATEGORIES;
72
72
  const CHIP_CATEGORIES = INTERACTIVE_CATEGORIES;
73
73
  const CODE_CATEGORIES = INTERACTIVE_CATEGORIES;
74
74
  //typography:
75
- const TYPOGRAPHY_CATEGORIES = [...TYPOGRAPHY_FULL, ...LAYOUT_CORE, ...VISUAL_CORE];
76
- const LIST_CATEGORIES = [...TYPOGRAPHY_FULL, ...LIST_STYLE, ...LAYOUT_CORE, ...VISUAL_CORE, ...PADDING];
75
+ const TYPOGRAPHY_CATEGORIES = [...TYPOGRAPHY_FULL, ...LAYOUT_CORE, ...VISUAL_CORE, ...VARIANT];
76
+ const LIST_CATEGORIES = [...TYPOGRAPHY_FULL, ...LIST_STYLE, ...LAYOUT_CORE, ...VISUAL_CORE, ...PADDING, ...VARIANT];
77
77
  //layout:
78
- const GRID_CATEGORIES = [...LAYOUT_FULL, ...VISUAL_CORE];
79
- const CONTAINER_CATEGORIES = [...LAYOUT_FULL, ...VISUAL_FULL];
80
- const COL_CATEGORIES = [...LAYOUT_FULL, ...VISUAL_FULL];
81
- const ROW_CATEGORIES = [...LAYOUT_FULL, ...BREAKPOINT, ...VISUAL_FULL];
82
- const STACK_CATEGORIES = [...LAYOUT_FULL, ...BREAKPOINT, ...PADDING, ...VISUAL_FULL];
83
- const CARD_CATEGORIES = [...TYPOGRAPHY_FULL, ...LAYOUT_FULL, ...BREAKPOINT, ...VISUAL_FULL, ...PADDING];
78
+ const GRID_CATEGORIES = [...LAYOUT_FULL, ...VISUAL_CORE, ...VARIANT];
79
+ const CONTAINER_CATEGORIES = [...LAYOUT_FULL, ...VISUAL_FULL, ...VARIANT];
80
+ const COL_CATEGORIES = [...LAYOUT_FULL, ...VISUAL_FULL, ...VARIANT];
81
+ const ROW_CATEGORIES = [...LAYOUT_FULL, ...BREAKPOINT, ...VISUAL_FULL, ...VARIANT];
82
+ const STACK_CATEGORIES = [...LAYOUT_FULL, ...BREAKPOINT, ...PADDING, ...VISUAL_FULL, ...VARIANT];
83
+ const CARD_CATEGORIES = [...TYPOGRAPHY_FULL, ...LAYOUT_FULL, ...BREAKPOINT, ...VISUAL_FULL, ...PADDING, ...VARIANT];
84
84
  const DIVIDER_CATEGORIES = [...LAYOUT_CORE, ...VISUAL_CORE, ...PADDING];
85
- const SECTION_CATEGORIES = [...LAYOUT_FULL, ...VISUAL_FULL, ...PADDING, ...BREAKPOINT];
85
+ const SECTION_CATEGORIES = [...LAYOUT_FULL, ...VISUAL_FULL, ...PADDING, ...BREAKPOINT, ...VARIANT];
86
86
  // Form component categories
87
87
  const CHECKBOX_CATEGORIES = [...LAYOUT_CORE, ...VISUAL_CORE, ...VISUAL_DECORATION, ...SHAPE, ...VARIANT];
88
- const LABEL_CATEGORIES = [...TYPOGRAPHY_FULL, ...LAYOUT_FULL, ...VISUAL_CORE];
88
+ const LABEL_CATEGORIES = [...TYPOGRAPHY_FULL, ...LAYOUT_FULL, ...VISUAL_CORE, ...VARIANT];
89
89
  // Media component categories
90
- const IMG_CATEGORIES = [...LAYOUT_CORE, ...VISUAL_CORE, ...VISUAL_DECORATION, ...SHAPE];
90
+ const IMG_CATEGORIES = [...LAYOUT_CORE, ...VISUAL_CORE, ...VISUAL_DECORATION, ...SHAPE, ...VARIANT];
91
91
  const COMPONENT = ['button', 'badge', 'chip', 'code', 'card', 'divider', 'container', 'row', 'col', 'stack', 'section',
92
92
  'grid2', 'grid3', 'grid4', 'pageTitle', 'sectionTitle', 'title', 'text', 'link', 'list', 'listItem', 'checkbox', 'label', 'img'];
93
93
  const ComponentCategories = {
@@ -3420,6 +3420,78 @@ class PyTheme extends PaddingTheme {
3420
3420
  }
3421
3421
  }
3422
3422
 
3423
+ class AppearanceTheme extends BaseTheme {
3424
+ constructor(config, transparentClasses) {
3425
+ super();
3426
+ Object.assign(this, config);
3427
+ this.transparentClasses = transparentClasses;
3428
+ }
3429
+ getClasses(extractedKeys) {
3430
+ var _a;
3431
+ // Check for specific transparent styles first
3432
+ if (extractedKeys === null || extractedKeys === void 0 ? void 0 : extractedKeys.transparent) {
3433
+ const transparentClass = ((_a = this.transparentClasses) === null || _a === void 0 ? void 0 : _a[extractedKeys.transparent]) || '';
3434
+ return [transparentClass];
3435
+ }
3436
+ // Use appearance (now includes link as an appearance option)
3437
+ const pickedAppearanceKey = extractedKeys === null || extractedKeys === void 0 ? void 0 : extractedKeys.appearance;
3438
+ if (pickedAppearanceKey) {
3439
+ const modes = this[pickedAppearanceKey];
3440
+ if (modes) {
3441
+ return ComponentKeys.mode.map(mode => modes[mode] || '');
3442
+ }
3443
+ }
3444
+ return [];
3445
+ }
3446
+ static createTheme(src = {}) {
3447
+ const config = Object.fromEntries(ComponentKeys.appearance.map(textKey => [
3448
+ textKey,
3449
+ Object.fromEntries(ComponentKeys.mode.map(modeKey => {
3450
+ var _a;
3451
+ return [
3452
+ modeKey,
3453
+ ((_a = src[modeKey]) === null || _a === void 0 ? void 0 : _a[textKey]) || ''
3454
+ ];
3455
+ })),
3456
+ ]));
3457
+ return new AppearanceTheme(config, src.base);
3458
+ }
3459
+ }
3460
+
3461
+ const filledTextAppearanceClasses = {
3462
+ default: "text-(--filled-text-color-default)",
3463
+ primary: "text-(--filled-text-color-primary)",
3464
+ secondary: "text-(--filled-text-color-secondary)",
3465
+ tertiary: "text-(--filled-text-color-tertiary)",
3466
+ link: "text-(--filled-text-color-link)",
3467
+ accent: "text-(--filled-text-color-accent)",
3468
+ success: "text-(--filled-text-color-success)",
3469
+ danger: "text-(--filled-text-color-danger)",
3470
+ warning: "text-(--filled-text-color-warning)",
3471
+ info: "text-(--filled-text-color-info)",
3472
+ transparent: "text-(--filled-text-color-transparent)",
3473
+ };
3474
+ const textAppearanceClasses = {
3475
+ default: "text-(--text-color-default)",
3476
+ primary: "text-(--text-color-primary)",
3477
+ secondary: "text-(--text-color-secondary)",
3478
+ tertiary: "text-(--text-color-tertiary)",
3479
+ link: "text-(--text-color-link)",
3480
+ accent: "text-(--text-color-accent)",
3481
+ success: "text-(--text-color-success)",
3482
+ danger: "text-(--text-color-danger)",
3483
+ warning: "text-(--text-color-warning)",
3484
+ info: "text-(--text-color-info)",
3485
+ transparent: "text-transparent",
3486
+ };
3487
+ const textSizeClasses = {
3488
+ xs: "text-xs",
3489
+ sm: "text-sm",
3490
+ md: "text-base",
3491
+ lg: "text-lg",
3492
+ xl: "text-xl",
3493
+ };
3494
+
3423
3495
  const filledBackgroundAppearanceClasses = {
3424
3496
  default: "bg-(--filled-background-color-default)",
3425
3497
  primary: "bg-(--filled-background-color-primary)",
@@ -3511,6 +3583,19 @@ const layoutBackgroundAppearanceClasses = {
3511
3583
  transparent: "bg-transparent",
3512
3584
  link: "bg-(--layout-background-link)",
3513
3585
  };
3586
+ const layoutFilledBackgroundAppearanceClasses = {
3587
+ default: "bg-(--layout-filled-background-color-default)",
3588
+ primary: "bg-(--layout-filled-background-color-primary)",
3589
+ secondary: "bg-(--layout-filled-background-color-secondary)",
3590
+ tertiary: "bg-(--layout-filled-background-color-tertiary)",
3591
+ accent: "bg-(--layout-filled-background-color-accent)",
3592
+ success: "bg-(--layout-filled-background-color-success)",
3593
+ danger: "bg-(--layout-filled-background-color-danger)",
3594
+ warning: "bg-(--layout-filled-background-color-warning)",
3595
+ info: "bg-(--layout-filled-background-color-info)",
3596
+ transparent: "bg-transparent",
3597
+ link: "bg-(--layout-filled-background-color-link)",
3598
+ };
3514
3599
  const bgBorderAppearanceClasses = {
3515
3600
  default: "bg-(--border-color-default)",
3516
3601
  primary: "bg-(--border-color-primary)",
@@ -3629,90 +3714,6 @@ const filledCheckedBackgroundAppearanceClasses = {
3629
3714
  link: "checked:bg-(--filled-background-color-link)",
3630
3715
  };
3631
3716
 
3632
- class AppearanceTheme extends BaseTheme {
3633
- constructor(config, transparentClasses) {
3634
- super();
3635
- Object.assign(this, config);
3636
- this.transparentClasses = transparentClasses;
3637
- }
3638
- getClasses(extractedKeys) {
3639
- var _a;
3640
- // Check for specific transparent styles first
3641
- if (extractedKeys === null || extractedKeys === void 0 ? void 0 : extractedKeys.transparent) {
3642
- const transparentClass = ((_a = this.transparentClasses) === null || _a === void 0 ? void 0 : _a[extractedKeys.transparent]) || '';
3643
- return [transparentClass];
3644
- }
3645
- // Use appearance (now includes link as an appearance option)
3646
- const pickedAppearanceKey = extractedKeys === null || extractedKeys === void 0 ? void 0 : extractedKeys.appearance;
3647
- if (pickedAppearanceKey) {
3648
- const modes = this[pickedAppearanceKey];
3649
- if (modes) {
3650
- return ComponentKeys.mode.map(mode => modes[mode] || '');
3651
- }
3652
- }
3653
- return [];
3654
- }
3655
- static createTheme(src = {}) {
3656
- const config = Object.fromEntries(ComponentKeys.appearance.map(textKey => [
3657
- textKey,
3658
- Object.fromEntries(ComponentKeys.mode.map(modeKey => {
3659
- var _a;
3660
- return [
3661
- modeKey,
3662
- ((_a = src[modeKey]) === null || _a === void 0 ? void 0 : _a[textKey]) || ''
3663
- ];
3664
- })),
3665
- ]));
3666
- return new AppearanceTheme(config, src.base);
3667
- }
3668
- static createLayoutBgTheme() {
3669
- // Creates a theme for layout backgrounds, replacing BgAppearanceTheme
3670
- const config = Object.fromEntries(ComponentKeys.appearance.map(key => [
3671
- key,
3672
- {
3673
- base: layoutBackgroundAppearanceClasses[key] || '',
3674
- hover: '',
3675
- active: '',
3676
- }
3677
- ]));
3678
- return new AppearanceTheme(config, layoutBackgroundAppearanceClasses);
3679
- }
3680
- }
3681
-
3682
- const filledTextAppearanceClasses = {
3683
- default: "text-white",
3684
- primary: "text-white",
3685
- secondary: "text-white",
3686
- tertiary: "text-white",
3687
- link: "text-white",
3688
- accent: "text-white",
3689
- success: "text-white",
3690
- danger: "text-white",
3691
- warning: "text-white",
3692
- info: "text-white",
3693
- transparent: "text-transparent",
3694
- };
3695
- const textAppearanceClasses = {
3696
- default: "text-(--text-color-default)",
3697
- primary: "text-(--text-color-primary)",
3698
- secondary: "text-(--text-color-secondary)",
3699
- tertiary: "text-(--text-color-tertiary)",
3700
- link: "text-(--text-color-link)",
3701
- accent: "text-(--text-color-accent)",
3702
- success: "text-(--text-color-success)",
3703
- danger: "text-(--text-color-danger)",
3704
- warning: "text-(--text-color-warning)",
3705
- info: "text-(--text-color-info)",
3706
- transparent: "text-transparent",
3707
- };
3708
- const textSizeClasses = {
3709
- xs: "text-xs",
3710
- sm: "text-sm",
3711
- md: "text-base",
3712
- lg: "text-lg",
3713
- xl: "text-xl",
3714
- };
3715
-
3716
3717
  class ShadowAppearanceTheme extends BaseTheme {
3717
3718
  constructor(initial) {
3718
3719
  super();
@@ -3902,6 +3903,16 @@ class GenericVariantTheme extends BaseTheme {
3902
3903
  })
3903
3904
  });
3904
3905
  }
3906
+ static createLayoutBgAppearanceTheme() {
3907
+ return new GenericVariantTheme({
3908
+ outline: AppearanceTheme.createTheme({
3909
+ base: layoutBackgroundAppearanceClasses
3910
+ }),
3911
+ filled: AppearanceTheme.createTheme({
3912
+ base: layoutFilledBackgroundAppearanceClasses
3913
+ })
3914
+ });
3915
+ }
3905
3916
  }
3906
3917
 
3907
3918
  class WrapTheme extends BaseTheme {
@@ -4399,7 +4410,7 @@ const createTypographyComponentTheme = (tag, base = "text-balance", textSizeMap
4399
4410
  text: new SizeTheme(textSizeMap),
4400
4411
  },
4401
4412
  appearance: {
4402
- text: AppearanceTheme.createTheme({ base: textAppearanceClasses }),
4413
+ text: GenericVariantTheme.createUIElementTextTheme(),
4403
4414
  },
4404
4415
  typography: defaultTypographyTheme,
4405
4416
  layout: defaultLayoutTheme,
@@ -4434,7 +4445,7 @@ const linkTheme = new ComponentTheme("a", "hover:underline w-fit cursor-pointer"
4434
4445
  text: new SizeTheme(textSizeClasses, false),
4435
4446
  },
4436
4447
  appearance: {
4437
- text: AppearanceTheme.createTheme({ base: textAppearanceClasses }),
4448
+ text: GenericVariantTheme.createUIElementTextTheme(),
4438
4449
  },
4439
4450
  typography: defaultTypographyTheme,
4440
4451
  layout: defaultLayoutTheme,
@@ -4445,7 +4456,7 @@ const listItemTheme = new ComponentTheme("li", "", {
4445
4456
  text: new SizeTheme(textSizeClasses, false),
4446
4457
  },
4447
4458
  appearance: {
4448
- text: AppearanceTheme.createTheme({ base: textAppearanceClasses }),
4459
+ text: GenericVariantTheme.createUIElementTextTheme(),
4449
4460
  },
4450
4461
  typography: defaultTypographyTheme,
4451
4462
  }, themeDefaults.listItem, TYPOGRAPHY_CATEGORIES);
@@ -4456,7 +4467,7 @@ const listTheme = new ComponentTheme("ul", "list-inside", {
4456
4467
  paddingLeft: new PlTheme(),
4457
4468
  },
4458
4469
  appearance: {
4459
- text: AppearanceTheme.createTheme({ base: textAppearanceClasses }),
4470
+ text: GenericVariantTheme.createUIElementTextTheme(),
4460
4471
  },
4461
4472
  typography: defaultTypographyTheme,
4462
4473
  layout: defaultLayoutTheme,
@@ -4522,10 +4533,10 @@ const defaultCardTheme = new ComponentTheme("div", "", {
4522
4533
  shadow: ShadowAppearanceTheme.createLayoutTheme(),
4523
4534
  },
4524
4535
  appearance: {
4525
- background: AppearanceTheme.createLayoutBgTheme(),
4526
- text: AppearanceTheme.createTheme({ base: textAppearanceClasses }),
4527
- border: AppearanceTheme.createTheme({ base: borderAppearanceClasses }),
4528
- ring: AppearanceTheme.createTheme({ base: ringAppearanceClasses }),
4536
+ background: GenericVariantTheme.createLayoutBgAppearanceTheme(),
4537
+ text: GenericVariantTheme.createUIElementTextTheme(),
4538
+ border: GenericVariantTheme.createUIElementBorderTheme(),
4539
+ ring: GenericVariantTheme.createUIElementRingTheme(),
4529
4540
  },
4530
4541
  typography: defaultTypographyTheme,
4531
4542
  }, themeDefaults.card, CARD_CATEGORIES, (props, defaults) => {
@@ -4546,8 +4557,8 @@ const defaultRowTheme = new ComponentTheme("div", "", {
4546
4557
  radius: RadiusTheme.createLayoutTheme(),
4547
4558
  },
4548
4559
  appearance: {
4549
- background: AppearanceTheme.createLayoutBgTheme(),
4550
- text: AppearanceTheme.createTheme({ base: textAppearanceClasses }),
4560
+ background: GenericVariantTheme.createLayoutBgAppearanceTheme(),
4561
+ text: GenericVariantTheme.createUIElementTextTheme(),
4551
4562
  border: GenericVariantTheme.createUIElementBorderTheme(),
4552
4563
  ring: GenericVariantTheme.createUIElementRingTheme(),
4553
4564
  shadow: GenericVariantTheme.createLayoutShadowTheme(),
@@ -4589,10 +4600,10 @@ const defaultContainerTheme = new ComponentTheme("div", "flex-col mx-auto w-full
4589
4600
  radius: RadiusTheme.createLayoutTheme(),
4590
4601
  },
4591
4602
  appearance: {
4592
- background: AppearanceTheme.createLayoutBgTheme(),
4593
- text: AppearanceTheme.createTheme({ base: textAppearanceClasses }),
4594
- border: AppearanceTheme.createTheme({ base: borderAppearanceClasses }),
4595
- ring: AppearanceTheme.createTheme({ base: ringAppearanceClasses }),
4603
+ background: GenericVariantTheme.createLayoutBgAppearanceTheme(),
4604
+ text: GenericVariantTheme.createUIElementTextTheme(),
4605
+ border: GenericVariantTheme.createUIElementBorderTheme(),
4606
+ ring: GenericVariantTheme.createUIElementRingTheme(),
4596
4607
  shadow: GenericVariantTheme.createLayoutShadowTheme(),
4597
4608
  }
4598
4609
  }, themeDefaults.container, CONTAINER_CATEGORIES, (props, defaults) => {
@@ -4612,8 +4623,8 @@ const defaultColTheme = new ComponentTheme("div", "", {
4612
4623
  radius: RadiusTheme.createLayoutTheme(),
4613
4624
  },
4614
4625
  appearance: {
4615
- background: AppearanceTheme.createLayoutBgTheme(),
4616
- text: AppearanceTheme.createTheme({ base: textAppearanceClasses }),
4626
+ background: GenericVariantTheme.createLayoutBgAppearanceTheme(),
4627
+ text: GenericVariantTheme.createUIElementTextTheme(),
4617
4628
  border: GenericVariantTheme.createUIElementBorderTheme(),
4618
4629
  ring: GenericVariantTheme.createUIElementRingTheme(),
4619
4630
  shadow: GenericVariantTheme.createLayoutShadowTheme(),
@@ -4638,8 +4649,8 @@ const defaultStackTheme = new ComponentTheme("div", "", {
4638
4649
  radius: RadiusTheme.createLayoutTheme(),
4639
4650
  },
4640
4651
  appearance: {
4641
- background: AppearanceTheme.createLayoutBgTheme(),
4642
- text: AppearanceTheme.createTheme({ base: textAppearanceClasses }),
4652
+ background: GenericVariantTheme.createLayoutBgAppearanceTheme(),
4653
+ text: GenericVariantTheme.createUIElementTextTheme(),
4643
4654
  border: GenericVariantTheme.createUIElementBorderTheme(),
4644
4655
  ring: GenericVariantTheme.createUIElementRingTheme(),
4645
4656
  shadow: GenericVariantTheme.createLayoutShadowTheme(),
@@ -4668,10 +4679,10 @@ const defaultSectionTheme = new ComponentTheme("div", "w-full flex-col", {
4668
4679
  breakpoint: new BreakpointTheme(),
4669
4680
  },
4670
4681
  appearance: {
4671
- background: AppearanceTheme.createLayoutBgTheme(),
4672
- text: AppearanceTheme.createTheme({ base: textAppearanceClasses }),
4673
- border: AppearanceTheme.createTheme({ base: borderAppearanceClasses }),
4674
- ring: AppearanceTheme.createTheme({ base: ringAppearanceClasses }),
4682
+ background: GenericVariantTheme.createLayoutBgAppearanceTheme(),
4683
+ text: GenericVariantTheme.createUIElementTextTheme(),
4684
+ border: GenericVariantTheme.createUIElementBorderTheme(),
4685
+ ring: GenericVariantTheme.createUIElementRingTheme(),
4675
4686
  shadow: ShadowAppearanceTheme.createLayoutTheme(),
4676
4687
  },
4677
4688
  layout: {
@@ -4697,8 +4708,8 @@ const gridSubThemes = {
4697
4708
  }),
4698
4709
  },
4699
4710
  appearance: {
4700
- background: AppearanceTheme.createLayoutBgTheme(),
4701
- text: AppearanceTheme.createTheme({ base: textAppearanceClasses }),
4711
+ background: GenericVariantTheme.createLayoutBgAppearanceTheme(),
4712
+ text: GenericVariantTheme.createUIElementTextTheme(),
4702
4713
  },
4703
4714
  layout: {
4704
4715
  ...defaultLayoutTheme,
@@ -4778,7 +4789,7 @@ const defaultLabelTheme = new ComponentTheme("label", "has-[input]:cursor-pointe
4778
4789
  gap: new GapTheme({ xs: 'gap-1.5', sm: 'gap-2', md: 'gap-2.5', lg: 'gap-3', xl: 'gap-3' }),
4779
4790
  },
4780
4791
  appearance: {
4781
- text: AppearanceTheme.createTheme({ base: textAppearanceClasses }),
4792
+ text: GenericVariantTheme.createUIElementTextTheme(),
4782
4793
  },
4783
4794
  typography: defaultTypographyTheme,
4784
4795
  layout: {