@tenerife.music/ui 2.0.1 → 2.0.3

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.
package/README.md CHANGED
@@ -4,6 +4,7 @@
4
4
  Strict. Predictable. Built for system-level consistency.
5
5
 
6
6
  ![Release](https://img.shields.io/github/v/tag/Tureckiy-zart/tenerife-ui?style=for-the-badge&sort=semver)
7
+ ![Version](https://img.shields.io/badge/version-2.0.3-blue?style=for-the-badge)
7
8
  ![React](https://img.shields.io/badge/React-18+-blue?style=for-the-badge)
8
9
  ![TypeScript](https://img.shields.io/badge/TypeScript-Strict-blue?style=for-the-badge)
9
10
  ![TailwindCSS](https://img.shields.io/badge/TailwindCSS-3.4-38b2ac?style=for-the-badge)
@@ -186,6 +187,41 @@ Tokens are **immutable contracts**, not convenience variables.
186
187
 
187
188
  ---
188
189
 
190
+ ## 🎨 Theme Tooling
191
+
192
+ TUI provides **build-time CLI tooling** for generating and validating themes.
193
+
194
+ **Theme Tooling is a build-time compiler, not a runtime system.**
195
+
196
+ - **Theme Generator** (`pnpm theme:generate`) — creates Theme Contract v1 compliant themes
197
+ - **Theme Validator** (`pnpm theme:validate`) — validates themes against contract
198
+ - **Parity Checker** (`pnpm theme:parity-check`) — ensures token consistency
199
+
200
+ **Key Points:**
201
+
202
+ - Themes are generated at **build time**, not runtime
203
+ - All themes live in `src/EXTENSIONS/themes/` (canonical path)
204
+ - Validation is **mandatory** — invalid themes cannot be committed (CI enforced)
205
+ - UI library **never generates themes** — it only consumes pre-generated CSS
206
+
207
+ **Quick Start:**
208
+
209
+ ```bash
210
+ # Generate a theme
211
+ pnpm theme:generate -- --palette my-brand --base-color "210 40% 50%" --modes light,dark
212
+
213
+ # Validate themes
214
+ pnpm theme:validate -- src/EXTENSIONS/themes/*.css
215
+ ```
216
+
217
+ **Documentation:**
218
+
219
+ - [Theme System — Contract & Tooling](tools/theme-contract/README.md) - **Complete guide** (start here)
220
+ - [Theme Generator](tools/theme-generator/README.md) - Generator documentation
221
+ - [Theme Validator](tools/theme-validator/README.md) - Validator documentation
222
+
223
+ ---
224
+
189
225
  ## 🧩 Domain-Specific Components
190
226
 
191
227
  The following components are **used internally** in Tenerife Music projects
@@ -242,6 +242,10 @@ declare const tailwindThemeColors: {
242
242
  readonly DEFAULT: "hsl(var(--muted))";
243
243
  readonly foreground: "hsl(var(--muted-foreground))";
244
244
  };
245
+ readonly disabled: {
246
+ readonly DEFAULT: "hsl(var(--tm-disabled))";
247
+ readonly foreground: "hsl(var(--tm-disabled-foreground))";
248
+ };
245
249
  readonly destructive: {
246
250
  readonly DEFAULT: "hsl(var(--destructive))";
247
251
  readonly foreground: "hsl(var(--destructive-foreground))";
@@ -242,6 +242,10 @@ declare const tailwindThemeColors: {
242
242
  readonly DEFAULT: "hsl(var(--muted))";
243
243
  readonly foreground: "hsl(var(--muted-foreground))";
244
244
  };
245
+ readonly disabled: {
246
+ readonly DEFAULT: "hsl(var(--tm-disabled))";
247
+ readonly foreground: "hsl(var(--tm-disabled-foreground))";
248
+ };
245
249
  readonly destructive: {
246
250
  readonly DEFAULT: "hsl(var(--destructive))";
247
251
  readonly foreground: "hsl(var(--destructive-foreground))";
@@ -242,13 +242,14 @@ var LINK_TOKENS = {
242
242
  },
243
243
  /**
244
244
  * Disabled state tokens
245
+ * Uses explicit disabled semantic tokens for better accessibility
245
246
  */
246
247
  state: {
247
248
  disabled: {
248
249
  pointerEvents: "disabled:pointer-events-none",
249
250
  // Disable pointer events
250
- opacity: "disabled:opacity-50"
251
- // Disabled opacity
251
+ text: "disabled:text-[hsl(var(--tm-disabled-foreground))]"
252
+ // Disabled text color using explicit disabled semantic token
252
253
  }
253
254
  },
254
255
  /**
@@ -324,7 +325,7 @@ function renderIcon(icon) {
324
325
  return /* @__PURE__ */ jsxRuntime.jsx("span", { className: ICON_WRAPPER_CLASS, children: icon });
325
326
  }
326
327
  var linkVariants = tokenCVA({
327
- base: `${LINK_TOKENS.layout} ${LINK_TOKENS.fontWeight} ${LINK_TOKENS.transition.colors} ${LINK_TOKENS.focus.outline} ${LINK_TOKENS.focus.ring} ${LINK_TOKENS.focus.offset} ${LINK_TOKENS.state.disabled.pointerEvents} ${LINK_TOKENS.state.disabled.opacity}`,
328
+ base: `${LINK_TOKENS.layout} ${LINK_TOKENS.fontWeight} ${LINK_TOKENS.transition.colors} ${LINK_TOKENS.focus.outline} ${LINK_TOKENS.focus.ring} ${LINK_TOKENS.focus.offset} ${LINK_TOKENS.state.disabled.pointerEvents} ${LINK_TOKENS.state.disabled.text}`,
328
329
  variants: {
329
330
  variant: {
330
331
  primary: `${LINK_TOKENS.variant.primary.text} ${LINK_TOKENS.variant.primary.hover} ${LINK_TOKENS.underlineOffset} ${LINK_TOKENS.variant.primary.underline}`,
@@ -217,13 +217,14 @@ var LINK_TOKENS = {
217
217
  },
218
218
  /**
219
219
  * Disabled state tokens
220
+ * Uses explicit disabled semantic tokens for better accessibility
220
221
  */
221
222
  state: {
222
223
  disabled: {
223
224
  pointerEvents: "disabled:pointer-events-none",
224
225
  // Disable pointer events
225
- opacity: "disabled:opacity-50"
226
- // Disabled opacity
226
+ text: "disabled:text-[hsl(var(--tm-disabled-foreground))]"
227
+ // Disabled text color using explicit disabled semantic token
227
228
  }
228
229
  },
229
230
  /**
@@ -299,7 +300,7 @@ function renderIcon(icon) {
299
300
  return /* @__PURE__ */ jsx("span", { className: ICON_WRAPPER_CLASS, children: icon });
300
301
  }
301
302
  var linkVariants = tokenCVA({
302
- base: `${LINK_TOKENS.layout} ${LINK_TOKENS.fontWeight} ${LINK_TOKENS.transition.colors} ${LINK_TOKENS.focus.outline} ${LINK_TOKENS.focus.ring} ${LINK_TOKENS.focus.offset} ${LINK_TOKENS.state.disabled.pointerEvents} ${LINK_TOKENS.state.disabled.opacity}`,
303
+ base: `${LINK_TOKENS.layout} ${LINK_TOKENS.fontWeight} ${LINK_TOKENS.transition.colors} ${LINK_TOKENS.focus.outline} ${LINK_TOKENS.focus.ring} ${LINK_TOKENS.focus.offset} ${LINK_TOKENS.state.disabled.pointerEvents} ${LINK_TOKENS.state.disabled.text}`,
303
304
  variants: {
304
305
  variant: {
305
306
  primary: `${LINK_TOKENS.variant.primary.text} ${LINK_TOKENS.variant.primary.hover} ${LINK_TOKENS.underlineOffset} ${LINK_TOKENS.variant.primary.underline}`,
@@ -1045,15 +1045,15 @@ declare const SWITCH_TOKENS: {
1045
1045
  readonly track: {
1046
1046
  readonly default: "bg-[hsl(var(--input))]";
1047
1047
  readonly checked: "bg-[hsl(var(--tm-primary))]";
1048
- readonly disabled: "bg-[hsl(var(--muted))]";
1049
- readonly disabledChecked: "bg-[hsl(var(--muted))]";
1048
+ readonly disabled: "bg-[hsl(var(--tm-disabled))]";
1049
+ readonly disabledChecked: "bg-[hsl(var(--tm-disabled))]";
1050
1050
  readonly error: "bg-[hsl(var(--destructive))]";
1051
1051
  };
1052
1052
  readonly handle: {
1053
1053
  readonly default: "bg-[hsl(var(--muted-foreground))]";
1054
1054
  readonly checked: "bg-[hsl(var(--tm-primary-foreground))]";
1055
- readonly disabled: "bg-[hsl(var(--muted-foreground))]";
1056
- readonly disabledChecked: "bg-[hsl(var(--muted-foreground))]";
1055
+ readonly disabled: "bg-[hsl(var(--tm-disabled-foreground))]";
1056
+ readonly disabledChecked: "bg-[hsl(var(--tm-disabled-foreground))]";
1057
1057
  readonly error: "bg-[hsl(var(--destructive-foreground))]";
1058
1058
  };
1059
1059
  readonly opacity: {
@@ -5173,6 +5173,10 @@ declare const UI_COLORS: {
5173
5173
  readonly DEFAULT: "hsl(var(--muted))";
5174
5174
  readonly foreground: "hsl(var(--muted-foreground))";
5175
5175
  };
5176
+ readonly disabled: {
5177
+ readonly DEFAULT: "hsl(var(--tm-disabled))";
5178
+ readonly foreground: "hsl(var(--tm-disabled-foreground))";
5179
+ };
5176
5180
  readonly destructive: {
5177
5181
  readonly DEFAULT: "hsl(var(--destructive))";
5178
5182
  readonly foreground: "hsl(var(--destructive-foreground))";
@@ -1045,15 +1045,15 @@ declare const SWITCH_TOKENS: {
1045
1045
  readonly track: {
1046
1046
  readonly default: "bg-[hsl(var(--input))]";
1047
1047
  readonly checked: "bg-[hsl(var(--tm-primary))]";
1048
- readonly disabled: "bg-[hsl(var(--muted))]";
1049
- readonly disabledChecked: "bg-[hsl(var(--muted))]";
1048
+ readonly disabled: "bg-[hsl(var(--tm-disabled))]";
1049
+ readonly disabledChecked: "bg-[hsl(var(--tm-disabled))]";
1050
1050
  readonly error: "bg-[hsl(var(--destructive))]";
1051
1051
  };
1052
1052
  readonly handle: {
1053
1053
  readonly default: "bg-[hsl(var(--muted-foreground))]";
1054
1054
  readonly checked: "bg-[hsl(var(--tm-primary-foreground))]";
1055
- readonly disabled: "bg-[hsl(var(--muted-foreground))]";
1056
- readonly disabledChecked: "bg-[hsl(var(--muted-foreground))]";
1055
+ readonly disabled: "bg-[hsl(var(--tm-disabled-foreground))]";
1056
+ readonly disabledChecked: "bg-[hsl(var(--tm-disabled-foreground))]";
1057
1057
  readonly error: "bg-[hsl(var(--destructive-foreground))]";
1058
1058
  };
1059
1059
  readonly opacity: {
@@ -5173,6 +5173,10 @@ declare const UI_COLORS: {
5173
5173
  readonly DEFAULT: "hsl(var(--muted))";
5174
5174
  readonly foreground: "hsl(var(--muted-foreground))";
5175
5175
  };
5176
+ readonly disabled: {
5177
+ readonly DEFAULT: "hsl(var(--tm-disabled))";
5178
+ readonly foreground: "hsl(var(--tm-disabled-foreground))";
5179
+ };
5176
5180
  readonly destructive: {
5177
5181
  readonly DEFAULT: "hsl(var(--destructive))";
5178
5182
  readonly foreground: "hsl(var(--destructive-foreground))";
package/dist/index.cjs CHANGED
@@ -400,6 +400,11 @@ var tailwindThemeColors = {
400
400
  DEFAULT: "hsl(var(--muted))",
401
401
  foreground: "hsl(var(--muted-foreground))"
402
402
  },
403
+ // Disabled colors
404
+ disabled: {
405
+ DEFAULT: "hsl(var(--tm-disabled))",
406
+ foreground: "hsl(var(--tm-disabled-foreground))"
407
+ },
403
408
  // Destructive colors (semantic error)
404
409
  destructive: {
405
410
  DEFAULT: "hsl(var(--destructive))",
@@ -2190,8 +2195,14 @@ var FORM_TOKENS = {
2190
2195
  /**
2191
2196
  * Color for required asterisk mark
2192
2197
  */
2193
- requiredMark: "text-destructive"
2198
+ requiredMark: "text-destructive",
2194
2199
  // Color for required asterisk
2200
+ /**
2201
+ * Disabled state styling for labels
2202
+ * Uses explicit disabled semantic token for better accessibility
2203
+ */
2204
+ disabled: "peer-disabled:text-disabled-foreground"
2205
+ // Disabled text color using explicit disabled semantic token
2195
2206
  }};
2196
2207
 
2197
2208
  // src/FOUNDATION/tokens/components/file-upload.ts
@@ -2796,10 +2807,10 @@ var SWITCH_TOKENS = {
2796
2807
  // Default track color using CSS var
2797
2808
  checked: "bg-[hsl(var(--tm-primary))]",
2798
2809
  // Checked state track
2799
- disabled: "bg-[hsl(var(--muted))]",
2800
- // Disabled state track
2801
- disabledChecked: "bg-[hsl(var(--muted))]",
2802
- // Disabled checked track
2810
+ disabled: "bg-[hsl(var(--tm-disabled))]",
2811
+ // Disabled state track - uses explicit disabled semantic token
2812
+ disabledChecked: "bg-[hsl(var(--tm-disabled))]",
2813
+ // Disabled checked track - uses explicit disabled semantic token
2803
2814
  error: "bg-[hsl(var(--destructive))]"
2804
2815
  // Error state track using CSS var
2805
2816
  },
@@ -2808,16 +2819,16 @@ var SWITCH_TOKENS = {
2808
2819
  // Default handle color using CSS var
2809
2820
  checked: "bg-[hsl(var(--tm-primary-foreground))]",
2810
2821
  // Checked state handle
2811
- disabled: "bg-[hsl(var(--muted-foreground))]",
2812
- // Disabled state handle
2813
- disabledChecked: "bg-[hsl(var(--muted-foreground))]",
2814
- // Disabled checked handle
2822
+ disabled: "bg-[hsl(var(--tm-disabled-foreground))]",
2823
+ // Disabled state handle - uses explicit disabled semantic token
2824
+ disabledChecked: "bg-[hsl(var(--tm-disabled-foreground))]",
2825
+ // Disabled checked handle - uses explicit disabled semantic token
2815
2826
  error: "bg-[hsl(var(--destructive-foreground))]"
2816
2827
  // Error state handle
2817
2828
  },
2818
2829
  opacity: {
2819
2830
  disabled: "opacity-50"
2820
- // Disabled opacity
2831
+ // Disabled opacity (may be used in addition to disabled tokens, not as replacement)
2821
2832
  }
2822
2833
  },
2823
2834
  /**
@@ -5267,13 +5278,14 @@ var LINK_TOKENS = {
5267
5278
  },
5268
5279
  /**
5269
5280
  * Disabled state tokens
5281
+ * Uses explicit disabled semantic tokens for better accessibility
5270
5282
  */
5271
5283
  state: {
5272
5284
  disabled: {
5273
5285
  pointerEvents: "disabled:pointer-events-none",
5274
5286
  // Disable pointer events
5275
- opacity: "disabled:opacity-50"
5276
- // Disabled opacity
5287
+ text: "disabled:text-[hsl(var(--tm-disabled-foreground))]"
5288
+ // Disabled text color using explicit disabled semantic token
5277
5289
  }
5278
5290
  },
5279
5291
  /**
@@ -7399,7 +7411,7 @@ function renderIcon2(icon) {
7399
7411
  return /* @__PURE__ */ jsxRuntime.jsx("span", { className: ICON_WRAPPER_CLASS2, children: icon });
7400
7412
  }
7401
7413
  var linkVariants = tokenCVA({
7402
- base: `${LINK_TOKENS.layout} ${LINK_TOKENS.fontWeight} ${LINK_TOKENS.transition.colors} ${LINK_TOKENS.focus.outline} ${LINK_TOKENS.focus.ring} ${LINK_TOKENS.focus.offset} ${LINK_TOKENS.state.disabled.pointerEvents} ${LINK_TOKENS.state.disabled.opacity}`,
7414
+ base: `${LINK_TOKENS.layout} ${LINK_TOKENS.fontWeight} ${LINK_TOKENS.transition.colors} ${LINK_TOKENS.focus.outline} ${LINK_TOKENS.focus.ring} ${LINK_TOKENS.focus.offset} ${LINK_TOKENS.state.disabled.pointerEvents} ${LINK_TOKENS.state.disabled.text}`,
7403
7415
  variants: {
7404
7416
  variant: {
7405
7417
  primary: `${LINK_TOKENS.variant.primary.text} ${LINK_TOKENS.variant.primary.hover} ${LINK_TOKENS.underlineOffset} ${LINK_TOKENS.variant.primary.underline}`,
@@ -11217,7 +11229,7 @@ var Section = React63__namespace.forwardRef(
11217
11229
  }
11218
11230
  );
11219
11231
  Section.displayName = "Section";
11220
- var labelClassName = `${TEXT_TOKENS.fontSize.sm} ${TEXT_TOKENS.fontWeight.medium} ${TEXT_TOKENS.lineHeight.none} peer-disabled:cursor-not-allowed peer-disabled:opacity-70`;
11232
+ var labelClassName = `${TEXT_TOKENS.fontSize.sm} ${TEXT_TOKENS.fontWeight.medium} ${TEXT_TOKENS.lineHeight.none} peer-disabled:cursor-not-allowed ${FORM_TOKENS.label.disabled}`;
11221
11233
  var Label2 = React63__namespace.forwardRef(
11222
11234
  ({ required, children, ...props }, ref) => (
11223
11235
  // className and style are forbidden from public API - only token-based className is used
package/dist/index.d.cts CHANGED
@@ -1,6 +1,6 @@
1
- import { cM as ResponsiveSideOffset, cw as ResponsiveAlignOffset, cF as ResponsiveModalSize, cG as ResponsiveModalWidth, cE as ResponsiveModalHeight, cN as ResponsiveSpace, cv as RadiusToken, c_ as SurfaceToken, cn as ModalFooterAlignToken, cI as ResponsiveRadius$1, cW as ShadowToken, cz as ResponsiveColor$1, d3 as Responsive, cA as ResponsiveContainerMaxWidth, cD as ResponsiveFlexBasis, cC as ResponsiveDelay, d4 as ResponsiveContextMenuSize, d5 as ResponsiveContextMenuWidth, d6 as ContextMenuItemToneToken, d7 as ResponsiveTabsSize, d8 as TabsVariantToken, d9 as TabsToneToken, z as IconColor, G as IconStroke, E as EmptyStateIconSize } from './index-DGtRM9Db.cjs';
2
- export { A as ALERT_TOKENS, B as BUTTON_TOKENS, bp as BorderRadius, da as Breakpoint, k as ButtonFontSize, l as ButtonHeight, m as ButtonPaddingHorizontal, n as ButtonPaddingVertical, o as ButtonShadow, C as CARD_TOKENS, a as CHECKBOX_TOKENS, bW as CanonicalFontSize, bX as CanonicalFontWeight, bY as CanonicalLetterSpacing, bZ as CanonicalLineHeight, b_ as CanonicalTextColor, p as CardPadding, q as CardRadius, r as CardShadow, s as CardSize, t as CardSpacingVertical, u as CheckboxSize, v as CheckboxState, w as CheckboxVariant, bv as ColoredShadow, ba as ComponentMotionDuration, bb as ComponentMotionEasing, bd as ComponentMotionTransition, bq as ComponentRadius, bJ as ComponentSpacing, bK as ContainerSpacing, D as DATA_TOKENS, x as DataListLabelWidth, y as DataListRowPadding, bw as ElevationShadow, bx as FocusRing, b$ as FontFamily, c0 as FontSize, c1 as FontWeight, by as GlowEffect, bL as GridSpacing, I as ICON_TOKENS, c as INPUT_TOKENS, F as IconSize, H as InputFontSize, J as InputHeight, K as InputPaddingHorizontal, L as InputPaddingVertical, Q as InputRadius, U as InputSize, c2 as LetterSpacing, c3 as LineHeight, M as MENU_TOKENS, d as MOTION_TOKENS, V as MenuContentMinWidth, W as MenuContentPadding, X as MenuContentRadius, Y as MenuContentShadow, Z as MenuIndicatorOffset, _ as MenuIndicatorSize, $ as MenuItemGap, a0 as MenuItemHeight, a1 as MenuItemPadding, a2 as MenuItemRadius, a3 as MenuLabelPadding, a4 as MenuSeparatorMargin, a5 as MotionAnimation, b9 as MotionCombinedType, ba as MotionDuration, bb as MotionEasing, bc as MotionSlideDirection, bd as MotionTransition, a9 as MotionTransitionPreset, N as NAVIGATION_TOKENS, e as NOTIFICATION_TOKENS, aa as NavigationItemPadding, ab as NavigationListGap, ac as NavigationRadius, ad as NavigationShadow, ae as NavigationSize, af as NavigationState, ag as NotificationPanelWidth, ah as NotificationTokenVariant, O as OVERLAY_TOKENS, ai as OverlayBackdropVariant, aj as OverlayModalSize, P as POPOVER_TOKENS, ak as PopoverArrowOffset, al as PopoverArrowSize, am as PopoverContentPadding, an as PopoverContentRadius, ao as PopoverContentShadow, ap as PopoverContentWidth, R as RADIO_TOKENS, aq as RadioSize, ar as RadioState, as as RadioVariant, S as SECTION_TOKENS, g as SURFACE_TOKENS, h as SWITCH_TOKENS, at as SectionGap, au as SectionPadding, bM as SectionSpacing, bN as SemanticSpacing, aL as SkeletonAnimation, aM as SkeletonBackground, bO as Spacing, bP as StackSpacing, aO as SurfacePadding, aP as SurfaceRadius, aQ as SurfaceShadow, aR as SurfaceVariant, aS as SwitchSize, aT as SwitchState, aU as SwitchVariant, T as TEXT_TOKENS, i as TOAST_TOKENS, j as TOOLTIP_TOKENS, aV as TableCellPadding, aW as TableGap, aX as TableHeaderPadding, aY as TableRowHeight, aZ as TableShadow, a_ as TextFontSize, a$ as TextFontWeight, b0 as TextLetterSpacing, b1 as TextLineHeight, c4 as TextStyle, b2 as ToastVariant, b3 as TooltipContentRadius, b4 as TooltipContentShadow, bV as UI_COLORS, bz as accentColoredShadows, b5 as allCSSVariables, b6 as allCSSVariablesCSS, br as borderRadius, bs as componentRadius, bA as componentShadowMapping, bB as elevationShadows, bC as focusRings, c5 as fontFamily, c6 as fontSize, c7 as fontSizeWithMd, c8 as fontWeight, b7 as generateCSSVariablesCSS, bD as glowEffects, bQ as layoutSpacing, c9 as letterSpacing, ca as lineHeight, be as motionCSSVariables, bf as motionCombined, bg as motionDurations, bh as motionEasings, bi as motionFade, bj as motionReducedMotion, bk as motionScale, bl as motionSlide, bm as motionTailwindConfig, bn as motionTransitionProperty, bo as motionTransitions, bE as primaryColoredShadows, bt as radiusCSSVariables, bR as semanticSpacing, bF as shadowBase, bG as shadowCSSVariables, bH as shadowOpacity, bS as spacing, bT as spacingCSSVariables, bu as tailwindRadiusConfig, bI as tailwindShadowConfig, bU as tailwindSpacingConfig, cb as tailwindTypographyConfig, cc as textStyles, b8 as tokenSystemSummary, cd as typographyCSSVariables } from './index-DGtRM9Db.cjs';
3
- export { B as BaseColorTokens, C as ChartColors, a as ColorScale, b as ColorTokens, M as Mode, S as SemanticColors, c as SurfaceColors, T as TextColors, d as accentColors, e as baseColors, f as chartColors, g as colorCSSVariables, h as cssVariableColorTokens, p as primaryColors, s as secondaryColors, i as semanticColors, j as surfaceColors, t as tailwindThemeColors, k as textColors } from './colors-BrFmCQv-.cjs';
1
+ import { cM as ResponsiveSideOffset, cw as ResponsiveAlignOffset, cF as ResponsiveModalSize, cG as ResponsiveModalWidth, cE as ResponsiveModalHeight, cN as ResponsiveSpace, cv as RadiusToken, c_ as SurfaceToken, cn as ModalFooterAlignToken, cI as ResponsiveRadius$1, cW as ShadowToken, cz as ResponsiveColor$1, d3 as Responsive, cA as ResponsiveContainerMaxWidth, cD as ResponsiveFlexBasis, cC as ResponsiveDelay, d4 as ResponsiveContextMenuSize, d5 as ResponsiveContextMenuWidth, d6 as ContextMenuItemToneToken, d7 as ResponsiveTabsSize, d8 as TabsVariantToken, d9 as TabsToneToken, z as IconColor, G as IconStroke, E as EmptyStateIconSize } from './index-CfbBwBhc.cjs';
2
+ export { A as ALERT_TOKENS, B as BUTTON_TOKENS, bp as BorderRadius, da as Breakpoint, k as ButtonFontSize, l as ButtonHeight, m as ButtonPaddingHorizontal, n as ButtonPaddingVertical, o as ButtonShadow, C as CARD_TOKENS, a as CHECKBOX_TOKENS, bW as CanonicalFontSize, bX as CanonicalFontWeight, bY as CanonicalLetterSpacing, bZ as CanonicalLineHeight, b_ as CanonicalTextColor, p as CardPadding, q as CardRadius, r as CardShadow, s as CardSize, t as CardSpacingVertical, u as CheckboxSize, v as CheckboxState, w as CheckboxVariant, bv as ColoredShadow, ba as ComponentMotionDuration, bb as ComponentMotionEasing, bd as ComponentMotionTransition, bq as ComponentRadius, bJ as ComponentSpacing, bK as ContainerSpacing, D as DATA_TOKENS, x as DataListLabelWidth, y as DataListRowPadding, bw as ElevationShadow, bx as FocusRing, b$ as FontFamily, c0 as FontSize, c1 as FontWeight, by as GlowEffect, bL as GridSpacing, I as ICON_TOKENS, c as INPUT_TOKENS, F as IconSize, H as InputFontSize, J as InputHeight, K as InputPaddingHorizontal, L as InputPaddingVertical, Q as InputRadius, U as InputSize, c2 as LetterSpacing, c3 as LineHeight, M as MENU_TOKENS, d as MOTION_TOKENS, V as MenuContentMinWidth, W as MenuContentPadding, X as MenuContentRadius, Y as MenuContentShadow, Z as MenuIndicatorOffset, _ as MenuIndicatorSize, $ as MenuItemGap, a0 as MenuItemHeight, a1 as MenuItemPadding, a2 as MenuItemRadius, a3 as MenuLabelPadding, a4 as MenuSeparatorMargin, a5 as MotionAnimation, b9 as MotionCombinedType, ba as MotionDuration, bb as MotionEasing, bc as MotionSlideDirection, bd as MotionTransition, a9 as MotionTransitionPreset, N as NAVIGATION_TOKENS, e as NOTIFICATION_TOKENS, aa as NavigationItemPadding, ab as NavigationListGap, ac as NavigationRadius, ad as NavigationShadow, ae as NavigationSize, af as NavigationState, ag as NotificationPanelWidth, ah as NotificationTokenVariant, O as OVERLAY_TOKENS, ai as OverlayBackdropVariant, aj as OverlayModalSize, P as POPOVER_TOKENS, ak as PopoverArrowOffset, al as PopoverArrowSize, am as PopoverContentPadding, an as PopoverContentRadius, ao as PopoverContentShadow, ap as PopoverContentWidth, R as RADIO_TOKENS, aq as RadioSize, ar as RadioState, as as RadioVariant, S as SECTION_TOKENS, g as SURFACE_TOKENS, h as SWITCH_TOKENS, at as SectionGap, au as SectionPadding, bM as SectionSpacing, bN as SemanticSpacing, aL as SkeletonAnimation, aM as SkeletonBackground, bO as Spacing, bP as StackSpacing, aO as SurfacePadding, aP as SurfaceRadius, aQ as SurfaceShadow, aR as SurfaceVariant, aS as SwitchSize, aT as SwitchState, aU as SwitchVariant, T as TEXT_TOKENS, i as TOAST_TOKENS, j as TOOLTIP_TOKENS, aV as TableCellPadding, aW as TableGap, aX as TableHeaderPadding, aY as TableRowHeight, aZ as TableShadow, a_ as TextFontSize, a$ as TextFontWeight, b0 as TextLetterSpacing, b1 as TextLineHeight, c4 as TextStyle, b2 as ToastVariant, b3 as TooltipContentRadius, b4 as TooltipContentShadow, bV as UI_COLORS, bz as accentColoredShadows, b5 as allCSSVariables, b6 as allCSSVariablesCSS, br as borderRadius, bs as componentRadius, bA as componentShadowMapping, bB as elevationShadows, bC as focusRings, c5 as fontFamily, c6 as fontSize, c7 as fontSizeWithMd, c8 as fontWeight, b7 as generateCSSVariablesCSS, bD as glowEffects, bQ as layoutSpacing, c9 as letterSpacing, ca as lineHeight, be as motionCSSVariables, bf as motionCombined, bg as motionDurations, bh as motionEasings, bi as motionFade, bj as motionReducedMotion, bk as motionScale, bl as motionSlide, bm as motionTailwindConfig, bn as motionTransitionProperty, bo as motionTransitions, bE as primaryColoredShadows, bt as radiusCSSVariables, bR as semanticSpacing, bF as shadowBase, bG as shadowCSSVariables, bH as shadowOpacity, bS as spacing, bT as spacingCSSVariables, bu as tailwindRadiusConfig, bI as tailwindShadowConfig, bU as tailwindSpacingConfig, cb as tailwindTypographyConfig, cc as textStyles, b8 as tokenSystemSummary, cd as typographyCSSVariables } from './index-CfbBwBhc.cjs';
3
+ export { B as BaseColorTokens, C as ChartColors, a as ColorScale, b as ColorTokens, M as Mode, S as SemanticColors, c as SurfaceColors, T as TextColors, d as accentColors, e as baseColors, f as chartColors, g as colorCSSVariables, h as cssVariableColorTokens, p as primaryColors, s as secondaryColors, i as semanticColors, j as surfaceColors, t as tailwindThemeColors, k as textColors } from './colors-DTYb0mPM.cjs';
4
4
  import * as React$1 from 'react';
5
5
  import React__default, { ReactNode } from 'react';
6
6
  import * as class_variance_authority_types from 'class-variance-authority/types';
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { cM as ResponsiveSideOffset, cw as ResponsiveAlignOffset, cF as ResponsiveModalSize, cG as ResponsiveModalWidth, cE as ResponsiveModalHeight, cN as ResponsiveSpace, cv as RadiusToken, c_ as SurfaceToken, cn as ModalFooterAlignToken, cI as ResponsiveRadius$1, cW as ShadowToken, cz as ResponsiveColor$1, d3 as Responsive, cA as ResponsiveContainerMaxWidth, cD as ResponsiveFlexBasis, cC as ResponsiveDelay, d4 as ResponsiveContextMenuSize, d5 as ResponsiveContextMenuWidth, d6 as ContextMenuItemToneToken, d7 as ResponsiveTabsSize, d8 as TabsVariantToken, d9 as TabsToneToken, z as IconColor, G as IconStroke, E as EmptyStateIconSize } from './index-DGtRM9Db.js';
2
- export { A as ALERT_TOKENS, B as BUTTON_TOKENS, bp as BorderRadius, da as Breakpoint, k as ButtonFontSize, l as ButtonHeight, m as ButtonPaddingHorizontal, n as ButtonPaddingVertical, o as ButtonShadow, C as CARD_TOKENS, a as CHECKBOX_TOKENS, bW as CanonicalFontSize, bX as CanonicalFontWeight, bY as CanonicalLetterSpacing, bZ as CanonicalLineHeight, b_ as CanonicalTextColor, p as CardPadding, q as CardRadius, r as CardShadow, s as CardSize, t as CardSpacingVertical, u as CheckboxSize, v as CheckboxState, w as CheckboxVariant, bv as ColoredShadow, ba as ComponentMotionDuration, bb as ComponentMotionEasing, bd as ComponentMotionTransition, bq as ComponentRadius, bJ as ComponentSpacing, bK as ContainerSpacing, D as DATA_TOKENS, x as DataListLabelWidth, y as DataListRowPadding, bw as ElevationShadow, bx as FocusRing, b$ as FontFamily, c0 as FontSize, c1 as FontWeight, by as GlowEffect, bL as GridSpacing, I as ICON_TOKENS, c as INPUT_TOKENS, F as IconSize, H as InputFontSize, J as InputHeight, K as InputPaddingHorizontal, L as InputPaddingVertical, Q as InputRadius, U as InputSize, c2 as LetterSpacing, c3 as LineHeight, M as MENU_TOKENS, d as MOTION_TOKENS, V as MenuContentMinWidth, W as MenuContentPadding, X as MenuContentRadius, Y as MenuContentShadow, Z as MenuIndicatorOffset, _ as MenuIndicatorSize, $ as MenuItemGap, a0 as MenuItemHeight, a1 as MenuItemPadding, a2 as MenuItemRadius, a3 as MenuLabelPadding, a4 as MenuSeparatorMargin, a5 as MotionAnimation, b9 as MotionCombinedType, ba as MotionDuration, bb as MotionEasing, bc as MotionSlideDirection, bd as MotionTransition, a9 as MotionTransitionPreset, N as NAVIGATION_TOKENS, e as NOTIFICATION_TOKENS, aa as NavigationItemPadding, ab as NavigationListGap, ac as NavigationRadius, ad as NavigationShadow, ae as NavigationSize, af as NavigationState, ag as NotificationPanelWidth, ah as NotificationTokenVariant, O as OVERLAY_TOKENS, ai as OverlayBackdropVariant, aj as OverlayModalSize, P as POPOVER_TOKENS, ak as PopoverArrowOffset, al as PopoverArrowSize, am as PopoverContentPadding, an as PopoverContentRadius, ao as PopoverContentShadow, ap as PopoverContentWidth, R as RADIO_TOKENS, aq as RadioSize, ar as RadioState, as as RadioVariant, S as SECTION_TOKENS, g as SURFACE_TOKENS, h as SWITCH_TOKENS, at as SectionGap, au as SectionPadding, bM as SectionSpacing, bN as SemanticSpacing, aL as SkeletonAnimation, aM as SkeletonBackground, bO as Spacing, bP as StackSpacing, aO as SurfacePadding, aP as SurfaceRadius, aQ as SurfaceShadow, aR as SurfaceVariant, aS as SwitchSize, aT as SwitchState, aU as SwitchVariant, T as TEXT_TOKENS, i as TOAST_TOKENS, j as TOOLTIP_TOKENS, aV as TableCellPadding, aW as TableGap, aX as TableHeaderPadding, aY as TableRowHeight, aZ as TableShadow, a_ as TextFontSize, a$ as TextFontWeight, b0 as TextLetterSpacing, b1 as TextLineHeight, c4 as TextStyle, b2 as ToastVariant, b3 as TooltipContentRadius, b4 as TooltipContentShadow, bV as UI_COLORS, bz as accentColoredShadows, b5 as allCSSVariables, b6 as allCSSVariablesCSS, br as borderRadius, bs as componentRadius, bA as componentShadowMapping, bB as elevationShadows, bC as focusRings, c5 as fontFamily, c6 as fontSize, c7 as fontSizeWithMd, c8 as fontWeight, b7 as generateCSSVariablesCSS, bD as glowEffects, bQ as layoutSpacing, c9 as letterSpacing, ca as lineHeight, be as motionCSSVariables, bf as motionCombined, bg as motionDurations, bh as motionEasings, bi as motionFade, bj as motionReducedMotion, bk as motionScale, bl as motionSlide, bm as motionTailwindConfig, bn as motionTransitionProperty, bo as motionTransitions, bE as primaryColoredShadows, bt as radiusCSSVariables, bR as semanticSpacing, bF as shadowBase, bG as shadowCSSVariables, bH as shadowOpacity, bS as spacing, bT as spacingCSSVariables, bu as tailwindRadiusConfig, bI as tailwindShadowConfig, bU as tailwindSpacingConfig, cb as tailwindTypographyConfig, cc as textStyles, b8 as tokenSystemSummary, cd as typographyCSSVariables } from './index-DGtRM9Db.js';
3
- export { B as BaseColorTokens, C as ChartColors, a as ColorScale, b as ColorTokens, M as Mode, S as SemanticColors, c as SurfaceColors, T as TextColors, d as accentColors, e as baseColors, f as chartColors, g as colorCSSVariables, h as cssVariableColorTokens, p as primaryColors, s as secondaryColors, i as semanticColors, j as surfaceColors, t as tailwindThemeColors, k as textColors } from './colors-BrFmCQv-.js';
1
+ import { cM as ResponsiveSideOffset, cw as ResponsiveAlignOffset, cF as ResponsiveModalSize, cG as ResponsiveModalWidth, cE as ResponsiveModalHeight, cN as ResponsiveSpace, cv as RadiusToken, c_ as SurfaceToken, cn as ModalFooterAlignToken, cI as ResponsiveRadius$1, cW as ShadowToken, cz as ResponsiveColor$1, d3 as Responsive, cA as ResponsiveContainerMaxWidth, cD as ResponsiveFlexBasis, cC as ResponsiveDelay, d4 as ResponsiveContextMenuSize, d5 as ResponsiveContextMenuWidth, d6 as ContextMenuItemToneToken, d7 as ResponsiveTabsSize, d8 as TabsVariantToken, d9 as TabsToneToken, z as IconColor, G as IconStroke, E as EmptyStateIconSize } from './index-CfbBwBhc.js';
2
+ export { A as ALERT_TOKENS, B as BUTTON_TOKENS, bp as BorderRadius, da as Breakpoint, k as ButtonFontSize, l as ButtonHeight, m as ButtonPaddingHorizontal, n as ButtonPaddingVertical, o as ButtonShadow, C as CARD_TOKENS, a as CHECKBOX_TOKENS, bW as CanonicalFontSize, bX as CanonicalFontWeight, bY as CanonicalLetterSpacing, bZ as CanonicalLineHeight, b_ as CanonicalTextColor, p as CardPadding, q as CardRadius, r as CardShadow, s as CardSize, t as CardSpacingVertical, u as CheckboxSize, v as CheckboxState, w as CheckboxVariant, bv as ColoredShadow, ba as ComponentMotionDuration, bb as ComponentMotionEasing, bd as ComponentMotionTransition, bq as ComponentRadius, bJ as ComponentSpacing, bK as ContainerSpacing, D as DATA_TOKENS, x as DataListLabelWidth, y as DataListRowPadding, bw as ElevationShadow, bx as FocusRing, b$ as FontFamily, c0 as FontSize, c1 as FontWeight, by as GlowEffect, bL as GridSpacing, I as ICON_TOKENS, c as INPUT_TOKENS, F as IconSize, H as InputFontSize, J as InputHeight, K as InputPaddingHorizontal, L as InputPaddingVertical, Q as InputRadius, U as InputSize, c2 as LetterSpacing, c3 as LineHeight, M as MENU_TOKENS, d as MOTION_TOKENS, V as MenuContentMinWidth, W as MenuContentPadding, X as MenuContentRadius, Y as MenuContentShadow, Z as MenuIndicatorOffset, _ as MenuIndicatorSize, $ as MenuItemGap, a0 as MenuItemHeight, a1 as MenuItemPadding, a2 as MenuItemRadius, a3 as MenuLabelPadding, a4 as MenuSeparatorMargin, a5 as MotionAnimation, b9 as MotionCombinedType, ba as MotionDuration, bb as MotionEasing, bc as MotionSlideDirection, bd as MotionTransition, a9 as MotionTransitionPreset, N as NAVIGATION_TOKENS, e as NOTIFICATION_TOKENS, aa as NavigationItemPadding, ab as NavigationListGap, ac as NavigationRadius, ad as NavigationShadow, ae as NavigationSize, af as NavigationState, ag as NotificationPanelWidth, ah as NotificationTokenVariant, O as OVERLAY_TOKENS, ai as OverlayBackdropVariant, aj as OverlayModalSize, P as POPOVER_TOKENS, ak as PopoverArrowOffset, al as PopoverArrowSize, am as PopoverContentPadding, an as PopoverContentRadius, ao as PopoverContentShadow, ap as PopoverContentWidth, R as RADIO_TOKENS, aq as RadioSize, ar as RadioState, as as RadioVariant, S as SECTION_TOKENS, g as SURFACE_TOKENS, h as SWITCH_TOKENS, at as SectionGap, au as SectionPadding, bM as SectionSpacing, bN as SemanticSpacing, aL as SkeletonAnimation, aM as SkeletonBackground, bO as Spacing, bP as StackSpacing, aO as SurfacePadding, aP as SurfaceRadius, aQ as SurfaceShadow, aR as SurfaceVariant, aS as SwitchSize, aT as SwitchState, aU as SwitchVariant, T as TEXT_TOKENS, i as TOAST_TOKENS, j as TOOLTIP_TOKENS, aV as TableCellPadding, aW as TableGap, aX as TableHeaderPadding, aY as TableRowHeight, aZ as TableShadow, a_ as TextFontSize, a$ as TextFontWeight, b0 as TextLetterSpacing, b1 as TextLineHeight, c4 as TextStyle, b2 as ToastVariant, b3 as TooltipContentRadius, b4 as TooltipContentShadow, bV as UI_COLORS, bz as accentColoredShadows, b5 as allCSSVariables, b6 as allCSSVariablesCSS, br as borderRadius, bs as componentRadius, bA as componentShadowMapping, bB as elevationShadows, bC as focusRings, c5 as fontFamily, c6 as fontSize, c7 as fontSizeWithMd, c8 as fontWeight, b7 as generateCSSVariablesCSS, bD as glowEffects, bQ as layoutSpacing, c9 as letterSpacing, ca as lineHeight, be as motionCSSVariables, bf as motionCombined, bg as motionDurations, bh as motionEasings, bi as motionFade, bj as motionReducedMotion, bk as motionScale, bl as motionSlide, bm as motionTailwindConfig, bn as motionTransitionProperty, bo as motionTransitions, bE as primaryColoredShadows, bt as radiusCSSVariables, bR as semanticSpacing, bF as shadowBase, bG as shadowCSSVariables, bH as shadowOpacity, bS as spacing, bT as spacingCSSVariables, bu as tailwindRadiusConfig, bI as tailwindShadowConfig, bU as tailwindSpacingConfig, cb as tailwindTypographyConfig, cc as textStyles, b8 as tokenSystemSummary, cd as typographyCSSVariables } from './index-CfbBwBhc.js';
3
+ export { B as BaseColorTokens, C as ChartColors, a as ColorScale, b as ColorTokens, M as Mode, S as SemanticColors, c as SurfaceColors, T as TextColors, d as accentColors, e as baseColors, f as chartColors, g as colorCSSVariables, h as cssVariableColorTokens, p as primaryColors, s as secondaryColors, i as semanticColors, j as surfaceColors, t as tailwindThemeColors, k as textColors } from './colors-DTYb0mPM.js';
4
4
  import * as React$1 from 'react';
5
5
  import React__default, { ReactNode } from 'react';
6
6
  import * as class_variance_authority_types from 'class-variance-authority/types';
package/dist/index.mjs CHANGED
@@ -367,6 +367,11 @@ var tailwindThemeColors = {
367
367
  DEFAULT: "hsl(var(--muted))",
368
368
  foreground: "hsl(var(--muted-foreground))"
369
369
  },
370
+ // Disabled colors
371
+ disabled: {
372
+ DEFAULT: "hsl(var(--tm-disabled))",
373
+ foreground: "hsl(var(--tm-disabled-foreground))"
374
+ },
370
375
  // Destructive colors (semantic error)
371
376
  destructive: {
372
377
  DEFAULT: "hsl(var(--destructive))",
@@ -2157,8 +2162,14 @@ var FORM_TOKENS = {
2157
2162
  /**
2158
2163
  * Color for required asterisk mark
2159
2164
  */
2160
- requiredMark: "text-destructive"
2165
+ requiredMark: "text-destructive",
2161
2166
  // Color for required asterisk
2167
+ /**
2168
+ * Disabled state styling for labels
2169
+ * Uses explicit disabled semantic token for better accessibility
2170
+ */
2171
+ disabled: "peer-disabled:text-disabled-foreground"
2172
+ // Disabled text color using explicit disabled semantic token
2162
2173
  }};
2163
2174
 
2164
2175
  // src/FOUNDATION/tokens/components/file-upload.ts
@@ -2763,10 +2774,10 @@ var SWITCH_TOKENS = {
2763
2774
  // Default track color using CSS var
2764
2775
  checked: "bg-[hsl(var(--tm-primary))]",
2765
2776
  // Checked state track
2766
- disabled: "bg-[hsl(var(--muted))]",
2767
- // Disabled state track
2768
- disabledChecked: "bg-[hsl(var(--muted))]",
2769
- // Disabled checked track
2777
+ disabled: "bg-[hsl(var(--tm-disabled))]",
2778
+ // Disabled state track - uses explicit disabled semantic token
2779
+ disabledChecked: "bg-[hsl(var(--tm-disabled))]",
2780
+ // Disabled checked track - uses explicit disabled semantic token
2770
2781
  error: "bg-[hsl(var(--destructive))]"
2771
2782
  // Error state track using CSS var
2772
2783
  },
@@ -2775,16 +2786,16 @@ var SWITCH_TOKENS = {
2775
2786
  // Default handle color using CSS var
2776
2787
  checked: "bg-[hsl(var(--tm-primary-foreground))]",
2777
2788
  // Checked state handle
2778
- disabled: "bg-[hsl(var(--muted-foreground))]",
2779
- // Disabled state handle
2780
- disabledChecked: "bg-[hsl(var(--muted-foreground))]",
2781
- // Disabled checked handle
2789
+ disabled: "bg-[hsl(var(--tm-disabled-foreground))]",
2790
+ // Disabled state handle - uses explicit disabled semantic token
2791
+ disabledChecked: "bg-[hsl(var(--tm-disabled-foreground))]",
2792
+ // Disabled checked handle - uses explicit disabled semantic token
2782
2793
  error: "bg-[hsl(var(--destructive-foreground))]"
2783
2794
  // Error state handle
2784
2795
  },
2785
2796
  opacity: {
2786
2797
  disabled: "opacity-50"
2787
- // Disabled opacity
2798
+ // Disabled opacity (may be used in addition to disabled tokens, not as replacement)
2788
2799
  }
2789
2800
  },
2790
2801
  /**
@@ -5234,13 +5245,14 @@ var LINK_TOKENS = {
5234
5245
  },
5235
5246
  /**
5236
5247
  * Disabled state tokens
5248
+ * Uses explicit disabled semantic tokens for better accessibility
5237
5249
  */
5238
5250
  state: {
5239
5251
  disabled: {
5240
5252
  pointerEvents: "disabled:pointer-events-none",
5241
5253
  // Disable pointer events
5242
- opacity: "disabled:opacity-50"
5243
- // Disabled opacity
5254
+ text: "disabled:text-[hsl(var(--tm-disabled-foreground))]"
5255
+ // Disabled text color using explicit disabled semantic token
5244
5256
  }
5245
5257
  },
5246
5258
  /**
@@ -7366,7 +7378,7 @@ function renderIcon2(icon) {
7366
7378
  return /* @__PURE__ */ jsx("span", { className: ICON_WRAPPER_CLASS2, children: icon });
7367
7379
  }
7368
7380
  var linkVariants = tokenCVA({
7369
- base: `${LINK_TOKENS.layout} ${LINK_TOKENS.fontWeight} ${LINK_TOKENS.transition.colors} ${LINK_TOKENS.focus.outline} ${LINK_TOKENS.focus.ring} ${LINK_TOKENS.focus.offset} ${LINK_TOKENS.state.disabled.pointerEvents} ${LINK_TOKENS.state.disabled.opacity}`,
7381
+ base: `${LINK_TOKENS.layout} ${LINK_TOKENS.fontWeight} ${LINK_TOKENS.transition.colors} ${LINK_TOKENS.focus.outline} ${LINK_TOKENS.focus.ring} ${LINK_TOKENS.focus.offset} ${LINK_TOKENS.state.disabled.pointerEvents} ${LINK_TOKENS.state.disabled.text}`,
7370
7382
  variants: {
7371
7383
  variant: {
7372
7384
  primary: `${LINK_TOKENS.variant.primary.text} ${LINK_TOKENS.variant.primary.hover} ${LINK_TOKENS.underlineOffset} ${LINK_TOKENS.variant.primary.underline}`,
@@ -11184,7 +11196,7 @@ var Section = React63.forwardRef(
11184
11196
  }
11185
11197
  );
11186
11198
  Section.displayName = "Section";
11187
- var labelClassName = `${TEXT_TOKENS.fontSize.sm} ${TEXT_TOKENS.fontWeight.medium} ${TEXT_TOKENS.lineHeight.none} peer-disabled:cursor-not-allowed peer-disabled:opacity-70`;
11199
+ var labelClassName = `${TEXT_TOKENS.fontSize.sm} ${TEXT_TOKENS.fontWeight.medium} ${TEXT_TOKENS.lineHeight.none} peer-disabled:cursor-not-allowed ${FORM_TOKENS.label.disabled}`;
11188
11200
  var Label2 = React63.forwardRef(
11189
11201
  ({ required, children, ...props }, ref) => (
11190
11202
  // className and style are forbidden from public API - only token-based className is used
package/dist/preset.cjs CHANGED
@@ -74,6 +74,11 @@ var tailwindThemeColors = {
74
74
  DEFAULT: "hsl(var(--muted))",
75
75
  foreground: "hsl(var(--muted-foreground))"
76
76
  },
77
+ // Disabled colors
78
+ disabled: {
79
+ DEFAULT: "hsl(var(--tm-disabled))",
80
+ foreground: "hsl(var(--tm-disabled-foreground))"
81
+ },
77
82
  // Destructive colors (semantic error)
78
83
  destructive: {
79
84
  DEFAULT: "hsl(var(--destructive))",
package/dist/preset.mjs CHANGED
@@ -68,6 +68,11 @@ var tailwindThemeColors = {
68
68
  DEFAULT: "hsl(var(--muted))",
69
69
  foreground: "hsl(var(--muted-foreground))"
70
70
  },
71
+ // Disabled colors
72
+ disabled: {
73
+ DEFAULT: "hsl(var(--tm-disabled))",
74
+ foreground: "hsl(var(--tm-disabled-foreground))"
75
+ },
71
76
  // Destructive colors (semantic error)
72
77
  destructive: {
73
78
  DEFAULT: "hsl(var(--destructive))",
package/dist/styles.css CHANGED
@@ -2141,6 +2141,12 @@ body {
2141
2141
  .bg-\[hsl\(var\(--primary\)\)\] {
2142
2142
  background-color: hsl(var(--primary));
2143
2143
  }
2144
+ .bg-\[hsl\(var\(--tm-disabled\)\)\] {
2145
+ background-color: hsl(var(--tm-disabled));
2146
+ }
2147
+ .bg-\[hsl\(var\(--tm-disabled-foreground\)\)\] {
2148
+ background-color: hsl(var(--tm-disabled-foreground));
2149
+ }
2144
2150
  .bg-\[hsl\(var\(--tm-primary\)\)\] {
2145
2151
  background-color: hsl(var(--tm-primary));
2146
2152
  }
@@ -3978,6 +3984,9 @@ body {
3978
3984
  .disabled\:text-\[hsl\(var\(--button-secondary-disabled-text\)\)\]:disabled {
3979
3985
  color: hsl(var(--button-secondary-disabled-text));
3980
3986
  }
3987
+ .disabled\:text-\[hsl\(var\(--tm-disabled-foreground\)\)\]:disabled {
3988
+ color: hsl(var(--tm-disabled-foreground));
3989
+ }
3981
3990
  .disabled\:opacity-50:disabled {
3982
3991
  opacity: 0.5;
3983
3992
  }
@@ -3990,6 +3999,9 @@ body {
3990
3999
  .peer:disabled ~ .peer-disabled\:cursor-not-allowed {
3991
4000
  cursor: not-allowed;
3992
4001
  }
4002
+ .peer:disabled ~ .peer-disabled\:text-disabled-foreground {
4003
+ color: hsl(var(--tm-disabled-foreground));
4004
+ }
3993
4005
  .peer:disabled ~ .peer-disabled\:opacity-70 {
3994
4006
  opacity: 0.7;
3995
4007
  }
@@ -4219,6 +4231,14 @@ body {
4219
4231
  .lg\:gap-xl {
4220
4232
  gap: 2rem;
4221
4233
  }
4234
+ .lg\:px-xl {
4235
+ padding-left: 2rem;
4236
+ padding-right: 2rem;
4237
+ }
4238
+ .lg\:py-2xl {
4239
+ padding-top: 3rem;
4240
+ padding-bottom: 3rem;
4241
+ }
4222
4242
  }
4223
4243
  @media (min-width: 1280px) {
4224
4244
  .xl\:grid-cols-4 {
@@ -306,6 +306,20 @@ var semanticColors = {
306
306
  // Light foreground for dark theme readability
307
307
  }
308
308
  };
309
+ var disabledColors = {
310
+ day: {
311
+ disabled: "0 0% 96%",
312
+ // Light gray background for disabled elements
313
+ disabledForeground: "0 0% 60%"
314
+ // Medium gray text/icon color (meets WCAG AA contrast 4.5:1 against disabled background)
315
+ },
316
+ night: {
317
+ disabled: "240 5% 12%",
318
+ // Dark gray background for disabled elements
319
+ disabledForeground: "240 5% 50%"
320
+ // Medium gray text/icon color (meets WCAG AA contrast 4.5:1 against disabled background)
321
+ }
322
+ };
309
323
  var chartColors = {
310
324
  day: {
311
325
  chart1: "12 76% 61%",
@@ -536,6 +550,11 @@ var tailwindThemeColors = {
536
550
  DEFAULT: "hsl(var(--muted))",
537
551
  foreground: "hsl(var(--muted-foreground))"
538
552
  },
553
+ // Disabled colors
554
+ disabled: {
555
+ DEFAULT: "hsl(var(--tm-disabled))",
556
+ foreground: "hsl(var(--tm-disabled-foreground))"
557
+ },
539
558
  // Destructive colors (semantic error)
540
559
  destructive: {
541
560
  DEFAULT: "hsl(var(--destructive))",
@@ -2715,6 +2734,10 @@ function getMergedTokens(_mode) {
2715
2734
  day: chartColors.day,
2716
2735
  night: chartColors.night
2717
2736
  };
2737
+ const disabledColors2 = {
2738
+ day: disabledColors.day,
2739
+ night: disabledColors.night
2740
+ };
2718
2741
  return {
2719
2742
  primaryColors: primaryColors2,
2720
2743
  accentColors: accentColors2,
@@ -2723,7 +2746,8 @@ function getMergedTokens(_mode) {
2723
2746
  surfaceColors: surfaceColors2,
2724
2747
  semanticColors: semanticColors2,
2725
2748
  textColors: textColors2,
2726
- chartColors: chartColors2
2749
+ chartColors: chartColors2,
2750
+ disabledColors: disabledColors2
2727
2751
  };
2728
2752
  }
2729
2753
  function updateCSSVariablesFromTokens(mode) {
@@ -2744,7 +2768,8 @@ function updateCSSVariablesFromTokens(mode) {
2744
2768
  surfaceColors: surfaceColors2,
2745
2769
  semanticColors: semanticColors2,
2746
2770
  textColors: textColors2,
2747
- chartColors: chartColors2
2771
+ chartColors: chartColors2,
2772
+ disabledColors: disabledColors2
2748
2773
  } = tokens;
2749
2774
  try {
2750
2775
  const base = baseColors2[mode];
@@ -2890,6 +2915,13 @@ function updateCSSVariablesFromTokens(mode) {
2890
2915
  } catch (error) {
2891
2916
  console.error("[Theme] Failed to set destructive colors:", error);
2892
2917
  }
2918
+ try {
2919
+ const disabled = disabledColors2[mode];
2920
+ root.style.setProperty("--tm-disabled", disabled.disabled);
2921
+ root.style.setProperty("--tm-disabled-foreground", disabled.disabledForeground);
2922
+ } catch (error) {
2923
+ console.error("[Theme] Failed to set disabled colors:", error);
2924
+ }
2893
2925
  try {
2894
2926
  Object.entries(motionCSSVariables).forEach(([key, value]) => {
2895
2927
  root.style.setProperty(key, value);
@@ -1,5 +1,5 @@
1
- import { M as Mode, a as ColorScale, B as BaseColorTokens, c as SurfaceColors, S as SemanticColors, T as TextColors } from '../colors-BrFmCQv-.cjs';
2
- export { C as ChartColors, b as ColorTokens, h as cssVariableColorTokens, t as tailwindThemeColors } from '../colors-BrFmCQv-.cjs';
1
+ import { M as Mode, a as ColorScale, B as BaseColorTokens, c as SurfaceColors, S as SemanticColors, T as TextColors } from '../colors-DTYb0mPM.cjs';
2
+ export { C as ChartColors, b as ColorTokens, h as cssVariableColorTokens, t as tailwindThemeColors } from '../colors-DTYb0mPM.cjs';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import React__default from 'react';
5
5
 
@@ -1,5 +1,5 @@
1
- import { M as Mode, a as ColorScale, B as BaseColorTokens, c as SurfaceColors, S as SemanticColors, T as TextColors } from '../colors-BrFmCQv-.js';
2
- export { C as ChartColors, b as ColorTokens, h as cssVariableColorTokens, t as tailwindThemeColors } from '../colors-BrFmCQv-.js';
1
+ import { M as Mode, a as ColorScale, B as BaseColorTokens, c as SurfaceColors, S as SemanticColors, T as TextColors } from '../colors-DTYb0mPM.js';
2
+ export { C as ChartColors, b as ColorTokens, h as cssVariableColorTokens, t as tailwindThemeColors } from '../colors-DTYb0mPM.js';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import React__default from 'react';
5
5
 
@@ -300,6 +300,20 @@ var semanticColors = {
300
300
  // Light foreground for dark theme readability
301
301
  }
302
302
  };
303
+ var disabledColors = {
304
+ day: {
305
+ disabled: "0 0% 96%",
306
+ // Light gray background for disabled elements
307
+ disabledForeground: "0 0% 60%"
308
+ // Medium gray text/icon color (meets WCAG AA contrast 4.5:1 against disabled background)
309
+ },
310
+ night: {
311
+ disabled: "240 5% 12%",
312
+ // Dark gray background for disabled elements
313
+ disabledForeground: "240 5% 50%"
314
+ // Medium gray text/icon color (meets WCAG AA contrast 4.5:1 against disabled background)
315
+ }
316
+ };
303
317
  var chartColors = {
304
318
  day: {
305
319
  chart1: "12 76% 61%",
@@ -530,6 +544,11 @@ var tailwindThemeColors = {
530
544
  DEFAULT: "hsl(var(--muted))",
531
545
  foreground: "hsl(var(--muted-foreground))"
532
546
  },
547
+ // Disabled colors
548
+ disabled: {
549
+ DEFAULT: "hsl(var(--tm-disabled))",
550
+ foreground: "hsl(var(--tm-disabled-foreground))"
551
+ },
533
552
  // Destructive colors (semantic error)
534
553
  destructive: {
535
554
  DEFAULT: "hsl(var(--destructive))",
@@ -2709,6 +2728,10 @@ function getMergedTokens(_mode) {
2709
2728
  day: chartColors.day,
2710
2729
  night: chartColors.night
2711
2730
  };
2731
+ const disabledColors2 = {
2732
+ day: disabledColors.day,
2733
+ night: disabledColors.night
2734
+ };
2712
2735
  return {
2713
2736
  primaryColors: primaryColors2,
2714
2737
  accentColors: accentColors2,
@@ -2717,7 +2740,8 @@ function getMergedTokens(_mode) {
2717
2740
  surfaceColors: surfaceColors2,
2718
2741
  semanticColors: semanticColors2,
2719
2742
  textColors: textColors2,
2720
- chartColors: chartColors2
2743
+ chartColors: chartColors2,
2744
+ disabledColors: disabledColors2
2721
2745
  };
2722
2746
  }
2723
2747
  function updateCSSVariablesFromTokens(mode) {
@@ -2738,7 +2762,8 @@ function updateCSSVariablesFromTokens(mode) {
2738
2762
  surfaceColors: surfaceColors2,
2739
2763
  semanticColors: semanticColors2,
2740
2764
  textColors: textColors2,
2741
- chartColors: chartColors2
2765
+ chartColors: chartColors2,
2766
+ disabledColors: disabledColors2
2742
2767
  } = tokens;
2743
2768
  try {
2744
2769
  const base = baseColors2[mode];
@@ -2884,6 +2909,13 @@ function updateCSSVariablesFromTokens(mode) {
2884
2909
  } catch (error) {
2885
2910
  console.error("[Theme] Failed to set destructive colors:", error);
2886
2911
  }
2912
+ try {
2913
+ const disabled = disabledColors2[mode];
2914
+ root.style.setProperty("--tm-disabled", disabled.disabled);
2915
+ root.style.setProperty("--tm-disabled-foreground", disabled.disabledForeground);
2916
+ } catch (error) {
2917
+ console.error("[Theme] Failed to set disabled colors:", error);
2918
+ }
2887
2919
  try {
2888
2920
  Object.entries(motionCSSVariables).forEach(([key, value]) => {
2889
2921
  root.style.setProperty(key, value);
@@ -347,6 +347,11 @@ var tailwindThemeColors = {
347
347
  DEFAULT: "hsl(var(--muted))",
348
348
  foreground: "hsl(var(--muted-foreground))"
349
349
  },
350
+ // Disabled colors
351
+ disabled: {
352
+ DEFAULT: "hsl(var(--tm-disabled))",
353
+ foreground: "hsl(var(--tm-disabled-foreground))"
354
+ },
350
355
  // Destructive colors (semantic error)
351
356
  destructive: {
352
357
  DEFAULT: "hsl(var(--destructive))",
@@ -2727,10 +2732,10 @@ var SWITCH_TOKENS = {
2727
2732
  // Default track color using CSS var
2728
2733
  checked: "bg-[hsl(var(--tm-primary))]",
2729
2734
  // Checked state track
2730
- disabled: "bg-[hsl(var(--muted))]",
2731
- // Disabled state track
2732
- disabledChecked: "bg-[hsl(var(--muted))]",
2733
- // Disabled checked track
2735
+ disabled: "bg-[hsl(var(--tm-disabled))]",
2736
+ // Disabled state track - uses explicit disabled semantic token
2737
+ disabledChecked: "bg-[hsl(var(--tm-disabled))]",
2738
+ // Disabled checked track - uses explicit disabled semantic token
2734
2739
  error: "bg-[hsl(var(--destructive))]"
2735
2740
  // Error state track using CSS var
2736
2741
  },
@@ -2739,16 +2744,16 @@ var SWITCH_TOKENS = {
2739
2744
  // Default handle color using CSS var
2740
2745
  checked: "bg-[hsl(var(--tm-primary-foreground))]",
2741
2746
  // Checked state handle
2742
- disabled: "bg-[hsl(var(--muted-foreground))]",
2743
- // Disabled state handle
2744
- disabledChecked: "bg-[hsl(var(--muted-foreground))]",
2745
- // Disabled checked handle
2747
+ disabled: "bg-[hsl(var(--tm-disabled-foreground))]",
2748
+ // Disabled state handle - uses explicit disabled semantic token
2749
+ disabledChecked: "bg-[hsl(var(--tm-disabled-foreground))]",
2750
+ // Disabled checked handle - uses explicit disabled semantic token
2746
2751
  error: "bg-[hsl(var(--destructive-foreground))]"
2747
2752
  // Error state handle
2748
2753
  },
2749
2754
  opacity: {
2750
2755
  disabled: "opacity-50"
2751
- // Disabled opacity
2756
+ // Disabled opacity (may be used in addition to disabled tokens, not as replacement)
2752
2757
  }
2753
2758
  },
2754
2759
  /**
@@ -1,5 +1,5 @@
1
- export { B as BaseColorTokens, C as ChartColors, a as ColorScale, b as ColorTokens, M as Mode, S as SemanticColors, c as SurfaceColors, T as TextColors, d as accentColors, e as baseColors, f as chartColors, g as colorCSSVariables, h as cssVariableColorTokens, p as primaryColors, s as secondaryColors, i as semanticColors, j as surfaceColors, t as tailwindThemeColors, k as textColors } from '../colors-BrFmCQv-.cjs';
2
- export { A as ALERT_TOKENS, ce as AlignOffsetToken, cf as AnimationPresetToken, cg as AspectRatioToken, B as BUTTON_TOKENS, bp as BorderRadius, k as ButtonFontSize, l as ButtonHeight, m as ButtonPaddingHorizontal, n as ButtonPaddingVertical, o as ButtonShadow, C as CARD_TOKENS, a as CHECKBOX_TOKENS, bW as CanonicalFontSize, bX as CanonicalFontWeight, bY as CanonicalLetterSpacing, bZ as CanonicalLineHeight, b_ as CanonicalTextColor, p as CardPadding, q as CardRadius, r as CardShadow, s as CardSize, t as CardSpacingVertical, u as CheckboxSize, v as CheckboxState, w as CheckboxVariant, ch as ColorToken, bv as ColoredShadow, a6 as ComponentMotionDuration, a7 as ComponentMotionEasing, a8 as ComponentMotionTransition, bq as ComponentRadius, bJ as ComponentSpacing, ci as ContainerMaxWidthToken, cj as ContainerPaddingToken, bK as ContainerSpacing, b as DATA_LIST_TOKENS, D as DATA_TOKENS, x as DataListLabelWidth, y as DataListRowPadding, ck as DelayToken, bw as ElevationShadow, E as EmptyStateIconSize, cl as FlexBasisToken, bx as FocusRing, b$ as FontFamily, c0 as FontSize, c1 as FontWeight, by as GlowEffect, bL as GridSpacing, I as ICON_TOKENS, c as INPUT_TOKENS, z as IconColor, F as IconSize, G as IconStroke, H as InputFontSize, J as InputHeight, K as InputPaddingHorizontal, L as InputPaddingVertical, Q as InputRadius, U as InputSize, cm as LayoutSpaceToken, c2 as LetterSpacing, c3 as LineHeight, M as MENU_TOKENS, d as MOTION_TOKENS, V as MenuContentMinWidth, W as MenuContentPadding, X as MenuContentRadius, Y as MenuContentShadow, Z as MenuIndicatorOffset, _ as MenuIndicatorSize, $ as MenuItemGap, a0 as MenuItemHeight, a1 as MenuItemPadding, a2 as MenuItemRadius, a3 as MenuLabelPadding, a4 as MenuSeparatorMargin, cn as ModalFooterAlignToken, co as ModalHeightToken, cp as ModalSizeToken, cq as ModalWidthToken, a5 as MotionAnimation, b9 as MotionCombinedType, ba as MotionDuration, cr as MotionDurationToken, bb as MotionEasing, cs as MotionEasingToken, bc as MotionSlideDirection, ct as MotionToken, bd as MotionTransition, a9 as MotionTransitionPreset, cu as MotionTransitionToken, N as NAVIGATION_TOKENS, e as NOTIFICATION_TOKENS, aa as NavigationItemPadding, ab as NavigationListGap, ac as NavigationRadius, ad as NavigationShadow, ae as NavigationSize, af as NavigationState, ag as NotificationPanelWidth, ah as NotificationVariant, O as OVERLAY_TOKENS, ai as OverlayBackdropVariant, aj as OverlayModalSize, P as POPOVER_TOKENS, ak as PopoverArrowOffset, al as PopoverArrowSize, am as PopoverContentPadding, an as PopoverContentRadius, ao as PopoverContentShadow, ap as PopoverContentWidth, R as RADIO_TOKENS, aq as RadioSize, ar as RadioState, as as RadioVariant, cv as RadiusToken, cw as ResponsiveAlignOffset, cx as ResponsiveAnimationPreset, cy as ResponsiveAspectRatio, cz as ResponsiveColor, cA as ResponsiveContainerMaxWidth, cB as ResponsiveContainerPadding, cC as ResponsiveDelay, cD as ResponsiveFlexBasis, cE as ResponsiveModalHeight, cF as ResponsiveModalSize, cG as ResponsiveModalWidth, cH as ResponsiveMotion, cI as ResponsiveRadius, cJ as ResponsiveSelectSize, cK as ResponsiveSelectWidth, cL as ResponsiveShadow, cM as ResponsiveSideOffset, cN as ResponsiveSpace, cO as ResponsiveSurface, cP as ResponsiveTextLineHeight, cQ as ResponsiveTextSize, cR as ResponsiveTextWeight, S as SECTION_TOKENS, f as SELECT_TOKENS, g as SURFACE_TOKENS, h as SWITCH_TOKENS, at as SectionGap, au as SectionPadding, bM as SectionSpacing, av as SelectContentPadding, aw as SelectContentRadius, ax as SelectItemFontSize, ay as SelectItemPaddingHorizontal, az as SelectItemPaddingVertical, aA as SelectItemRadius, aB as SelectLabelFontSize, aC as SelectLabelPaddingHorizontal, aD as SelectLabelPaddingVertical, aE as SelectSeparatorMarginHorizontal, aF as SelectSeparatorMarginVertical, cS as SelectSizeToken, cT as SelectStateToken, aG as SelectTriggerFontSize, aH as SelectTriggerHeight, aI as SelectTriggerPaddingHorizontal, aJ as SelectTriggerPaddingVertical, aK as SelectTriggerRadius, cU as SelectVariantToken, cV as SelectWidthToken, bN as SemanticSpacing, cW as ShadowToken, cX as SideOffsetToken, aL as SkeletonAnimation, aM as SkeletonBackground, aN as SkeletonVariant, cY as SpaceToken, bO as Spacing, cZ as SpacingToken, bP as StackSpacing, aO as SurfacePadding, aP as SurfaceRadius, aQ as SurfaceShadow, c_ as SurfaceToken, aR as SurfaceVariant, aS as SwitchSize, aT as SwitchState, aU as SwitchVariant, T as TEXT_TOKENS, i as TOAST_TOKENS, j as TOOLTIP_TOKENS, aV as TableCellPadding, aW as TableGap, aX as TableHeaderPadding, aY as TableRowHeight, aZ as TableShadow, a_ as TextFontSize, a$ as TextFontWeight, b0 as TextLetterSpacing, c$ as TextLetterSpacingToken, b1 as TextLineHeight, d0 as TextLineHeightToken, d1 as TextSizeToken, c4 as TextStyle, d2 as TextWeightToken, b2 as ToastVariant, b3 as TooltipContentRadius, b4 as TooltipContentShadow, bV as UI_COLORS, bz as accentColoredShadows, b5 as allCSSVariables, b6 as allCSSVariablesCSS, br as borderRadius, bs as componentRadius, bA as componentShadowMapping, bB as elevationShadows, bC as focusRings, c5 as fontFamily, c6 as fontSize, c7 as fontSizeWithMd, c8 as fontWeight, b7 as generateCSSVariablesCSS, bD as glowEffects, bQ as layoutSpacing, c9 as letterSpacing, ca as lineHeight, be as motionCSSVariables, bf as motionCombined, bg as motionDurations, bh as motionEasings, bi as motionFade, bj as motionReducedMotion, bk as motionScale, bl as motionSlide, bm as motionTailwindConfig, bn as motionTransitionProperty, bo as motionTransitions, bE as primaryColoredShadows, bt as radiusCSSVariables, bR as semanticSpacing, bF as shadowBase, bG as shadowCSSVariables, bH as shadowOpacity, bS as spacing, bT as spacingCSSVariables, bu as tailwindRadiusConfig, bI as tailwindShadowConfig, bU as tailwindSpacingConfig, cb as tailwindTypographyConfig, cc as textStyles, b8 as tokenSystemSummary, cd as typographyCSSVariables } from '../index-DGtRM9Db.cjs';
1
+ export { B as BaseColorTokens, C as ChartColors, a as ColorScale, b as ColorTokens, M as Mode, S as SemanticColors, c as SurfaceColors, T as TextColors, d as accentColors, e as baseColors, f as chartColors, g as colorCSSVariables, h as cssVariableColorTokens, p as primaryColors, s as secondaryColors, i as semanticColors, j as surfaceColors, t as tailwindThemeColors, k as textColors } from '../colors-DTYb0mPM.cjs';
2
+ export { A as ALERT_TOKENS, ce as AlignOffsetToken, cf as AnimationPresetToken, cg as AspectRatioToken, B as BUTTON_TOKENS, bp as BorderRadius, k as ButtonFontSize, l as ButtonHeight, m as ButtonPaddingHorizontal, n as ButtonPaddingVertical, o as ButtonShadow, C as CARD_TOKENS, a as CHECKBOX_TOKENS, bW as CanonicalFontSize, bX as CanonicalFontWeight, bY as CanonicalLetterSpacing, bZ as CanonicalLineHeight, b_ as CanonicalTextColor, p as CardPadding, q as CardRadius, r as CardShadow, s as CardSize, t as CardSpacingVertical, u as CheckboxSize, v as CheckboxState, w as CheckboxVariant, ch as ColorToken, bv as ColoredShadow, a6 as ComponentMotionDuration, a7 as ComponentMotionEasing, a8 as ComponentMotionTransition, bq as ComponentRadius, bJ as ComponentSpacing, ci as ContainerMaxWidthToken, cj as ContainerPaddingToken, bK as ContainerSpacing, b as DATA_LIST_TOKENS, D as DATA_TOKENS, x as DataListLabelWidth, y as DataListRowPadding, ck as DelayToken, bw as ElevationShadow, E as EmptyStateIconSize, cl as FlexBasisToken, bx as FocusRing, b$ as FontFamily, c0 as FontSize, c1 as FontWeight, by as GlowEffect, bL as GridSpacing, I as ICON_TOKENS, c as INPUT_TOKENS, z as IconColor, F as IconSize, G as IconStroke, H as InputFontSize, J as InputHeight, K as InputPaddingHorizontal, L as InputPaddingVertical, Q as InputRadius, U as InputSize, cm as LayoutSpaceToken, c2 as LetterSpacing, c3 as LineHeight, M as MENU_TOKENS, d as MOTION_TOKENS, V as MenuContentMinWidth, W as MenuContentPadding, X as MenuContentRadius, Y as MenuContentShadow, Z as MenuIndicatorOffset, _ as MenuIndicatorSize, $ as MenuItemGap, a0 as MenuItemHeight, a1 as MenuItemPadding, a2 as MenuItemRadius, a3 as MenuLabelPadding, a4 as MenuSeparatorMargin, cn as ModalFooterAlignToken, co as ModalHeightToken, cp as ModalSizeToken, cq as ModalWidthToken, a5 as MotionAnimation, b9 as MotionCombinedType, ba as MotionDuration, cr as MotionDurationToken, bb as MotionEasing, cs as MotionEasingToken, bc as MotionSlideDirection, ct as MotionToken, bd as MotionTransition, a9 as MotionTransitionPreset, cu as MotionTransitionToken, N as NAVIGATION_TOKENS, e as NOTIFICATION_TOKENS, aa as NavigationItemPadding, ab as NavigationListGap, ac as NavigationRadius, ad as NavigationShadow, ae as NavigationSize, af as NavigationState, ag as NotificationPanelWidth, ah as NotificationVariant, O as OVERLAY_TOKENS, ai as OverlayBackdropVariant, aj as OverlayModalSize, P as POPOVER_TOKENS, ak as PopoverArrowOffset, al as PopoverArrowSize, am as PopoverContentPadding, an as PopoverContentRadius, ao as PopoverContentShadow, ap as PopoverContentWidth, R as RADIO_TOKENS, aq as RadioSize, ar as RadioState, as as RadioVariant, cv as RadiusToken, cw as ResponsiveAlignOffset, cx as ResponsiveAnimationPreset, cy as ResponsiveAspectRatio, cz as ResponsiveColor, cA as ResponsiveContainerMaxWidth, cB as ResponsiveContainerPadding, cC as ResponsiveDelay, cD as ResponsiveFlexBasis, cE as ResponsiveModalHeight, cF as ResponsiveModalSize, cG as ResponsiveModalWidth, cH as ResponsiveMotion, cI as ResponsiveRadius, cJ as ResponsiveSelectSize, cK as ResponsiveSelectWidth, cL as ResponsiveShadow, cM as ResponsiveSideOffset, cN as ResponsiveSpace, cO as ResponsiveSurface, cP as ResponsiveTextLineHeight, cQ as ResponsiveTextSize, cR as ResponsiveTextWeight, S as SECTION_TOKENS, f as SELECT_TOKENS, g as SURFACE_TOKENS, h as SWITCH_TOKENS, at as SectionGap, au as SectionPadding, bM as SectionSpacing, av as SelectContentPadding, aw as SelectContentRadius, ax as SelectItemFontSize, ay as SelectItemPaddingHorizontal, az as SelectItemPaddingVertical, aA as SelectItemRadius, aB as SelectLabelFontSize, aC as SelectLabelPaddingHorizontal, aD as SelectLabelPaddingVertical, aE as SelectSeparatorMarginHorizontal, aF as SelectSeparatorMarginVertical, cS as SelectSizeToken, cT as SelectStateToken, aG as SelectTriggerFontSize, aH as SelectTriggerHeight, aI as SelectTriggerPaddingHorizontal, aJ as SelectTriggerPaddingVertical, aK as SelectTriggerRadius, cU as SelectVariantToken, cV as SelectWidthToken, bN as SemanticSpacing, cW as ShadowToken, cX as SideOffsetToken, aL as SkeletonAnimation, aM as SkeletonBackground, aN as SkeletonVariant, cY as SpaceToken, bO as Spacing, cZ as SpacingToken, bP as StackSpacing, aO as SurfacePadding, aP as SurfaceRadius, aQ as SurfaceShadow, c_ as SurfaceToken, aR as SurfaceVariant, aS as SwitchSize, aT as SwitchState, aU as SwitchVariant, T as TEXT_TOKENS, i as TOAST_TOKENS, j as TOOLTIP_TOKENS, aV as TableCellPadding, aW as TableGap, aX as TableHeaderPadding, aY as TableRowHeight, aZ as TableShadow, a_ as TextFontSize, a$ as TextFontWeight, b0 as TextLetterSpacing, c$ as TextLetterSpacingToken, b1 as TextLineHeight, d0 as TextLineHeightToken, d1 as TextSizeToken, c4 as TextStyle, d2 as TextWeightToken, b2 as ToastVariant, b3 as TooltipContentRadius, b4 as TooltipContentShadow, bV as UI_COLORS, bz as accentColoredShadows, b5 as allCSSVariables, b6 as allCSSVariablesCSS, br as borderRadius, bs as componentRadius, bA as componentShadowMapping, bB as elevationShadows, bC as focusRings, c5 as fontFamily, c6 as fontSize, c7 as fontSizeWithMd, c8 as fontWeight, b7 as generateCSSVariablesCSS, bD as glowEffects, bQ as layoutSpacing, c9 as letterSpacing, ca as lineHeight, be as motionCSSVariables, bf as motionCombined, bg as motionDurations, bh as motionEasings, bi as motionFade, bj as motionReducedMotion, bk as motionScale, bl as motionSlide, bm as motionTailwindConfig, bn as motionTransitionProperty, bo as motionTransitions, bE as primaryColoredShadows, bt as radiusCSSVariables, bR as semanticSpacing, bF as shadowBase, bG as shadowCSSVariables, bH as shadowOpacity, bS as spacing, bT as spacingCSSVariables, bu as tailwindRadiusConfig, bI as tailwindShadowConfig, bU as tailwindSpacingConfig, cb as tailwindTypographyConfig, cc as textStyles, b8 as tokenSystemSummary, cd as typographyCSSVariables } from '../index-CfbBwBhc.cjs';
3
3
 
4
4
  /**
5
5
  * Artist Card Component Tokens
@@ -1,5 +1,5 @@
1
- export { B as BaseColorTokens, C as ChartColors, a as ColorScale, b as ColorTokens, M as Mode, S as SemanticColors, c as SurfaceColors, T as TextColors, d as accentColors, e as baseColors, f as chartColors, g as colorCSSVariables, h as cssVariableColorTokens, p as primaryColors, s as secondaryColors, i as semanticColors, j as surfaceColors, t as tailwindThemeColors, k as textColors } from '../colors-BrFmCQv-.js';
2
- export { A as ALERT_TOKENS, ce as AlignOffsetToken, cf as AnimationPresetToken, cg as AspectRatioToken, B as BUTTON_TOKENS, bp as BorderRadius, k as ButtonFontSize, l as ButtonHeight, m as ButtonPaddingHorizontal, n as ButtonPaddingVertical, o as ButtonShadow, C as CARD_TOKENS, a as CHECKBOX_TOKENS, bW as CanonicalFontSize, bX as CanonicalFontWeight, bY as CanonicalLetterSpacing, bZ as CanonicalLineHeight, b_ as CanonicalTextColor, p as CardPadding, q as CardRadius, r as CardShadow, s as CardSize, t as CardSpacingVertical, u as CheckboxSize, v as CheckboxState, w as CheckboxVariant, ch as ColorToken, bv as ColoredShadow, a6 as ComponentMotionDuration, a7 as ComponentMotionEasing, a8 as ComponentMotionTransition, bq as ComponentRadius, bJ as ComponentSpacing, ci as ContainerMaxWidthToken, cj as ContainerPaddingToken, bK as ContainerSpacing, b as DATA_LIST_TOKENS, D as DATA_TOKENS, x as DataListLabelWidth, y as DataListRowPadding, ck as DelayToken, bw as ElevationShadow, E as EmptyStateIconSize, cl as FlexBasisToken, bx as FocusRing, b$ as FontFamily, c0 as FontSize, c1 as FontWeight, by as GlowEffect, bL as GridSpacing, I as ICON_TOKENS, c as INPUT_TOKENS, z as IconColor, F as IconSize, G as IconStroke, H as InputFontSize, J as InputHeight, K as InputPaddingHorizontal, L as InputPaddingVertical, Q as InputRadius, U as InputSize, cm as LayoutSpaceToken, c2 as LetterSpacing, c3 as LineHeight, M as MENU_TOKENS, d as MOTION_TOKENS, V as MenuContentMinWidth, W as MenuContentPadding, X as MenuContentRadius, Y as MenuContentShadow, Z as MenuIndicatorOffset, _ as MenuIndicatorSize, $ as MenuItemGap, a0 as MenuItemHeight, a1 as MenuItemPadding, a2 as MenuItemRadius, a3 as MenuLabelPadding, a4 as MenuSeparatorMargin, cn as ModalFooterAlignToken, co as ModalHeightToken, cp as ModalSizeToken, cq as ModalWidthToken, a5 as MotionAnimation, b9 as MotionCombinedType, ba as MotionDuration, cr as MotionDurationToken, bb as MotionEasing, cs as MotionEasingToken, bc as MotionSlideDirection, ct as MotionToken, bd as MotionTransition, a9 as MotionTransitionPreset, cu as MotionTransitionToken, N as NAVIGATION_TOKENS, e as NOTIFICATION_TOKENS, aa as NavigationItemPadding, ab as NavigationListGap, ac as NavigationRadius, ad as NavigationShadow, ae as NavigationSize, af as NavigationState, ag as NotificationPanelWidth, ah as NotificationVariant, O as OVERLAY_TOKENS, ai as OverlayBackdropVariant, aj as OverlayModalSize, P as POPOVER_TOKENS, ak as PopoverArrowOffset, al as PopoverArrowSize, am as PopoverContentPadding, an as PopoverContentRadius, ao as PopoverContentShadow, ap as PopoverContentWidth, R as RADIO_TOKENS, aq as RadioSize, ar as RadioState, as as RadioVariant, cv as RadiusToken, cw as ResponsiveAlignOffset, cx as ResponsiveAnimationPreset, cy as ResponsiveAspectRatio, cz as ResponsiveColor, cA as ResponsiveContainerMaxWidth, cB as ResponsiveContainerPadding, cC as ResponsiveDelay, cD as ResponsiveFlexBasis, cE as ResponsiveModalHeight, cF as ResponsiveModalSize, cG as ResponsiveModalWidth, cH as ResponsiveMotion, cI as ResponsiveRadius, cJ as ResponsiveSelectSize, cK as ResponsiveSelectWidth, cL as ResponsiveShadow, cM as ResponsiveSideOffset, cN as ResponsiveSpace, cO as ResponsiveSurface, cP as ResponsiveTextLineHeight, cQ as ResponsiveTextSize, cR as ResponsiveTextWeight, S as SECTION_TOKENS, f as SELECT_TOKENS, g as SURFACE_TOKENS, h as SWITCH_TOKENS, at as SectionGap, au as SectionPadding, bM as SectionSpacing, av as SelectContentPadding, aw as SelectContentRadius, ax as SelectItemFontSize, ay as SelectItemPaddingHorizontal, az as SelectItemPaddingVertical, aA as SelectItemRadius, aB as SelectLabelFontSize, aC as SelectLabelPaddingHorizontal, aD as SelectLabelPaddingVertical, aE as SelectSeparatorMarginHorizontal, aF as SelectSeparatorMarginVertical, cS as SelectSizeToken, cT as SelectStateToken, aG as SelectTriggerFontSize, aH as SelectTriggerHeight, aI as SelectTriggerPaddingHorizontal, aJ as SelectTriggerPaddingVertical, aK as SelectTriggerRadius, cU as SelectVariantToken, cV as SelectWidthToken, bN as SemanticSpacing, cW as ShadowToken, cX as SideOffsetToken, aL as SkeletonAnimation, aM as SkeletonBackground, aN as SkeletonVariant, cY as SpaceToken, bO as Spacing, cZ as SpacingToken, bP as StackSpacing, aO as SurfacePadding, aP as SurfaceRadius, aQ as SurfaceShadow, c_ as SurfaceToken, aR as SurfaceVariant, aS as SwitchSize, aT as SwitchState, aU as SwitchVariant, T as TEXT_TOKENS, i as TOAST_TOKENS, j as TOOLTIP_TOKENS, aV as TableCellPadding, aW as TableGap, aX as TableHeaderPadding, aY as TableRowHeight, aZ as TableShadow, a_ as TextFontSize, a$ as TextFontWeight, b0 as TextLetterSpacing, c$ as TextLetterSpacingToken, b1 as TextLineHeight, d0 as TextLineHeightToken, d1 as TextSizeToken, c4 as TextStyle, d2 as TextWeightToken, b2 as ToastVariant, b3 as TooltipContentRadius, b4 as TooltipContentShadow, bV as UI_COLORS, bz as accentColoredShadows, b5 as allCSSVariables, b6 as allCSSVariablesCSS, br as borderRadius, bs as componentRadius, bA as componentShadowMapping, bB as elevationShadows, bC as focusRings, c5 as fontFamily, c6 as fontSize, c7 as fontSizeWithMd, c8 as fontWeight, b7 as generateCSSVariablesCSS, bD as glowEffects, bQ as layoutSpacing, c9 as letterSpacing, ca as lineHeight, be as motionCSSVariables, bf as motionCombined, bg as motionDurations, bh as motionEasings, bi as motionFade, bj as motionReducedMotion, bk as motionScale, bl as motionSlide, bm as motionTailwindConfig, bn as motionTransitionProperty, bo as motionTransitions, bE as primaryColoredShadows, bt as radiusCSSVariables, bR as semanticSpacing, bF as shadowBase, bG as shadowCSSVariables, bH as shadowOpacity, bS as spacing, bT as spacingCSSVariables, bu as tailwindRadiusConfig, bI as tailwindShadowConfig, bU as tailwindSpacingConfig, cb as tailwindTypographyConfig, cc as textStyles, b8 as tokenSystemSummary, cd as typographyCSSVariables } from '../index-DGtRM9Db.js';
1
+ export { B as BaseColorTokens, C as ChartColors, a as ColorScale, b as ColorTokens, M as Mode, S as SemanticColors, c as SurfaceColors, T as TextColors, d as accentColors, e as baseColors, f as chartColors, g as colorCSSVariables, h as cssVariableColorTokens, p as primaryColors, s as secondaryColors, i as semanticColors, j as surfaceColors, t as tailwindThemeColors, k as textColors } from '../colors-DTYb0mPM.js';
2
+ export { A as ALERT_TOKENS, ce as AlignOffsetToken, cf as AnimationPresetToken, cg as AspectRatioToken, B as BUTTON_TOKENS, bp as BorderRadius, k as ButtonFontSize, l as ButtonHeight, m as ButtonPaddingHorizontal, n as ButtonPaddingVertical, o as ButtonShadow, C as CARD_TOKENS, a as CHECKBOX_TOKENS, bW as CanonicalFontSize, bX as CanonicalFontWeight, bY as CanonicalLetterSpacing, bZ as CanonicalLineHeight, b_ as CanonicalTextColor, p as CardPadding, q as CardRadius, r as CardShadow, s as CardSize, t as CardSpacingVertical, u as CheckboxSize, v as CheckboxState, w as CheckboxVariant, ch as ColorToken, bv as ColoredShadow, a6 as ComponentMotionDuration, a7 as ComponentMotionEasing, a8 as ComponentMotionTransition, bq as ComponentRadius, bJ as ComponentSpacing, ci as ContainerMaxWidthToken, cj as ContainerPaddingToken, bK as ContainerSpacing, b as DATA_LIST_TOKENS, D as DATA_TOKENS, x as DataListLabelWidth, y as DataListRowPadding, ck as DelayToken, bw as ElevationShadow, E as EmptyStateIconSize, cl as FlexBasisToken, bx as FocusRing, b$ as FontFamily, c0 as FontSize, c1 as FontWeight, by as GlowEffect, bL as GridSpacing, I as ICON_TOKENS, c as INPUT_TOKENS, z as IconColor, F as IconSize, G as IconStroke, H as InputFontSize, J as InputHeight, K as InputPaddingHorizontal, L as InputPaddingVertical, Q as InputRadius, U as InputSize, cm as LayoutSpaceToken, c2 as LetterSpacing, c3 as LineHeight, M as MENU_TOKENS, d as MOTION_TOKENS, V as MenuContentMinWidth, W as MenuContentPadding, X as MenuContentRadius, Y as MenuContentShadow, Z as MenuIndicatorOffset, _ as MenuIndicatorSize, $ as MenuItemGap, a0 as MenuItemHeight, a1 as MenuItemPadding, a2 as MenuItemRadius, a3 as MenuLabelPadding, a4 as MenuSeparatorMargin, cn as ModalFooterAlignToken, co as ModalHeightToken, cp as ModalSizeToken, cq as ModalWidthToken, a5 as MotionAnimation, b9 as MotionCombinedType, ba as MotionDuration, cr as MotionDurationToken, bb as MotionEasing, cs as MotionEasingToken, bc as MotionSlideDirection, ct as MotionToken, bd as MotionTransition, a9 as MotionTransitionPreset, cu as MotionTransitionToken, N as NAVIGATION_TOKENS, e as NOTIFICATION_TOKENS, aa as NavigationItemPadding, ab as NavigationListGap, ac as NavigationRadius, ad as NavigationShadow, ae as NavigationSize, af as NavigationState, ag as NotificationPanelWidth, ah as NotificationVariant, O as OVERLAY_TOKENS, ai as OverlayBackdropVariant, aj as OverlayModalSize, P as POPOVER_TOKENS, ak as PopoverArrowOffset, al as PopoverArrowSize, am as PopoverContentPadding, an as PopoverContentRadius, ao as PopoverContentShadow, ap as PopoverContentWidth, R as RADIO_TOKENS, aq as RadioSize, ar as RadioState, as as RadioVariant, cv as RadiusToken, cw as ResponsiveAlignOffset, cx as ResponsiveAnimationPreset, cy as ResponsiveAspectRatio, cz as ResponsiveColor, cA as ResponsiveContainerMaxWidth, cB as ResponsiveContainerPadding, cC as ResponsiveDelay, cD as ResponsiveFlexBasis, cE as ResponsiveModalHeight, cF as ResponsiveModalSize, cG as ResponsiveModalWidth, cH as ResponsiveMotion, cI as ResponsiveRadius, cJ as ResponsiveSelectSize, cK as ResponsiveSelectWidth, cL as ResponsiveShadow, cM as ResponsiveSideOffset, cN as ResponsiveSpace, cO as ResponsiveSurface, cP as ResponsiveTextLineHeight, cQ as ResponsiveTextSize, cR as ResponsiveTextWeight, S as SECTION_TOKENS, f as SELECT_TOKENS, g as SURFACE_TOKENS, h as SWITCH_TOKENS, at as SectionGap, au as SectionPadding, bM as SectionSpacing, av as SelectContentPadding, aw as SelectContentRadius, ax as SelectItemFontSize, ay as SelectItemPaddingHorizontal, az as SelectItemPaddingVertical, aA as SelectItemRadius, aB as SelectLabelFontSize, aC as SelectLabelPaddingHorizontal, aD as SelectLabelPaddingVertical, aE as SelectSeparatorMarginHorizontal, aF as SelectSeparatorMarginVertical, cS as SelectSizeToken, cT as SelectStateToken, aG as SelectTriggerFontSize, aH as SelectTriggerHeight, aI as SelectTriggerPaddingHorizontal, aJ as SelectTriggerPaddingVertical, aK as SelectTriggerRadius, cU as SelectVariantToken, cV as SelectWidthToken, bN as SemanticSpacing, cW as ShadowToken, cX as SideOffsetToken, aL as SkeletonAnimation, aM as SkeletonBackground, aN as SkeletonVariant, cY as SpaceToken, bO as Spacing, cZ as SpacingToken, bP as StackSpacing, aO as SurfacePadding, aP as SurfaceRadius, aQ as SurfaceShadow, c_ as SurfaceToken, aR as SurfaceVariant, aS as SwitchSize, aT as SwitchState, aU as SwitchVariant, T as TEXT_TOKENS, i as TOAST_TOKENS, j as TOOLTIP_TOKENS, aV as TableCellPadding, aW as TableGap, aX as TableHeaderPadding, aY as TableRowHeight, aZ as TableShadow, a_ as TextFontSize, a$ as TextFontWeight, b0 as TextLetterSpacing, c$ as TextLetterSpacingToken, b1 as TextLineHeight, d0 as TextLineHeightToken, d1 as TextSizeToken, c4 as TextStyle, d2 as TextWeightToken, b2 as ToastVariant, b3 as TooltipContentRadius, b4 as TooltipContentShadow, bV as UI_COLORS, bz as accentColoredShadows, b5 as allCSSVariables, b6 as allCSSVariablesCSS, br as borderRadius, bs as componentRadius, bA as componentShadowMapping, bB as elevationShadows, bC as focusRings, c5 as fontFamily, c6 as fontSize, c7 as fontSizeWithMd, c8 as fontWeight, b7 as generateCSSVariablesCSS, bD as glowEffects, bQ as layoutSpacing, c9 as letterSpacing, ca as lineHeight, be as motionCSSVariables, bf as motionCombined, bg as motionDurations, bh as motionEasings, bi as motionFade, bj as motionReducedMotion, bk as motionScale, bl as motionSlide, bm as motionTailwindConfig, bn as motionTransitionProperty, bo as motionTransitions, bE as primaryColoredShadows, bt as radiusCSSVariables, bR as semanticSpacing, bF as shadowBase, bG as shadowCSSVariables, bH as shadowOpacity, bS as spacing, bT as spacingCSSVariables, bu as tailwindRadiusConfig, bI as tailwindShadowConfig, bU as tailwindSpacingConfig, cb as tailwindTypographyConfig, cc as textStyles, b8 as tokenSystemSummary, cd as typographyCSSVariables } from '../index-CfbBwBhc.js';
3
3
 
4
4
  /**
5
5
  * Artist Card Component Tokens
@@ -345,6 +345,11 @@ var tailwindThemeColors = {
345
345
  DEFAULT: "hsl(var(--muted))",
346
346
  foreground: "hsl(var(--muted-foreground))"
347
347
  },
348
+ // Disabled colors
349
+ disabled: {
350
+ DEFAULT: "hsl(var(--tm-disabled))",
351
+ foreground: "hsl(var(--tm-disabled-foreground))"
352
+ },
348
353
  // Destructive colors (semantic error)
349
354
  destructive: {
350
355
  DEFAULT: "hsl(var(--destructive))",
@@ -2725,10 +2730,10 @@ var SWITCH_TOKENS = {
2725
2730
  // Default track color using CSS var
2726
2731
  checked: "bg-[hsl(var(--tm-primary))]",
2727
2732
  // Checked state track
2728
- disabled: "bg-[hsl(var(--muted))]",
2729
- // Disabled state track
2730
- disabledChecked: "bg-[hsl(var(--muted))]",
2731
- // Disabled checked track
2733
+ disabled: "bg-[hsl(var(--tm-disabled))]",
2734
+ // Disabled state track - uses explicit disabled semantic token
2735
+ disabledChecked: "bg-[hsl(var(--tm-disabled))]",
2736
+ // Disabled checked track - uses explicit disabled semantic token
2732
2737
  error: "bg-[hsl(var(--destructive))]"
2733
2738
  // Error state track using CSS var
2734
2739
  },
@@ -2737,16 +2742,16 @@ var SWITCH_TOKENS = {
2737
2742
  // Default handle color using CSS var
2738
2743
  checked: "bg-[hsl(var(--tm-primary-foreground))]",
2739
2744
  // Checked state handle
2740
- disabled: "bg-[hsl(var(--muted-foreground))]",
2741
- // Disabled state handle
2742
- disabledChecked: "bg-[hsl(var(--muted-foreground))]",
2743
- // Disabled checked handle
2745
+ disabled: "bg-[hsl(var(--tm-disabled-foreground))]",
2746
+ // Disabled state handle - uses explicit disabled semantic token
2747
+ disabledChecked: "bg-[hsl(var(--tm-disabled-foreground))]",
2748
+ // Disabled checked handle - uses explicit disabled semantic token
2744
2749
  error: "bg-[hsl(var(--destructive-foreground))]"
2745
2750
  // Error state handle
2746
2751
  },
2747
2752
  opacity: {
2748
2753
  disabled: "opacity-50"
2749
- // Disabled opacity
2754
+ // Disabled opacity (may be used in addition to disabled tokens, not as replacement)
2750
2755
  }
2751
2756
  },
2752
2757
  /**
package/package.json CHANGED
@@ -1,8 +1,7 @@
1
1
  {
2
2
  "name": "@tenerife.music/ui",
3
- "version": "2.0.1",
3
+ "version": "2.0.3",
4
4
  "private": false,
5
- "packageManager": "pnpm@10.26.0",
6
5
  "type": "module",
7
6
  "sideEffects": [
8
7
  "**/*.css",
@@ -40,60 +39,6 @@
40
39
  "publishConfig": {
41
40
  "access": "public"
42
41
  },
43
- "scripts": {
44
- "dev": "tsup --watch",
45
- "build": "tsup",
46
- "clean": "rimraf dist",
47
- "preview": "vite preview",
48
- "storybook": "storybook dev -p 6006",
49
- "build-storybook": "storybook build",
50
- "chromatic": "./scripts/chromatic.sh",
51
- "chromatic:ci": "CHROMATIC_CI_MODE=true ./scripts/chromatic.sh",
52
- "test": "vitest run",
53
- "test:watch": "vitest",
54
- "test:ui": "vitest --ui",
55
- "test:coverage": "vitest run --coverage",
56
- "test:a11y": "vitest run a11y.test",
57
- "test:focus": "playwright test --config=playwright/playwright.config.ts",
58
- "a11y:contrast": "tsx scripts/a11y-contrast-check.js",
59
- "typecheck": "tsc --noEmit && tsc --noEmit --project tsconfig.vite.json",
60
- "lint": "eslint . --ext .ts,.tsx --fix --ignore-pattern '**/*.stories.*' --ignore-pattern '.storybook/**' --ignore-pattern 'storybook-static/**' --ignore-pattern 'docs/**' --ignore-pattern '.cursor/**' --ignore-pattern 'docs_archive/**'",
61
- "lint:fix": "./scripts/lint-local.sh",
62
- "lint:check": "eslint . --ext .ts,.tsx --ignore-pattern '**/*.stories.*' --ignore-pattern '.storybook/**' --ignore-pattern 'storybook-static/**' --ignore-pattern 'docs/**' --ignore-pattern '.cursor/**' --ignore-pattern 'docs_archive/**'",
63
- "lint:strict": "eslint . --ext .ts,.tsx --max-warnings=0 --ignore-pattern '**/*.stories.*' --ignore-pattern '.storybook/**' --ignore-pattern 'storybook-static/**' --ignore-pattern 'docs/**' --ignore-pattern '.cursor/**' --ignore-pattern 'docs_archive/**'",
64
- "lint:ci": "./scripts/lint-ci.sh",
65
- "lint:rules": "eslint --config eslint-rules/eslint.config.mjs eslint-rules",
66
- "format": "prettier . --write",
67
- "format:check": "prettier . --check",
68
- "validate": "pnpm typecheck && pnpm lint:check && pnpm format:check && pnpm check:motion-v1",
69
- "ci": "pnpm typecheck && pnpm lint:strict && pnpm format:check && pnpm check:motion-v1 && pnpm build && pnpm test",
70
- "ci:full": "pnpm run ci && pnpm test:coverage && pnpm ci:a11y",
71
- "ci:a11y": "pnpm test:a11y && pnpm a11y:contrast",
72
- "ci:local": "./scripts/ci-local.sh",
73
- "publish:patch": "./scripts/publish.sh patch",
74
- "publish:minor": "./scripts/publish.sh minor",
75
- "publish:major": "./scripts/publish.sh major",
76
- "prepublishOnly": "pnpm clean && pnpm build && pnpm typecheck",
77
- "theme:create": "tsx scripts/theme-cli.ts create",
78
- "theme:validate": "tsx scripts/theme-validate.ts",
79
- "tokens:export": "tsx scripts/export-tokens.ts",
80
- "ui:check": "tsx scripts/check-ui-consistency.ts",
81
- "safelist:generate": "tsx scripts/generateTailwindSafelist.ts",
82
- "verify:interaction-authority": "node scripts/verify-interaction-authority.mjs",
83
- "governance:review": "node scripts/governance-review.mjs",
84
- "check:motion-v1": "node scripts/check-motion-v1.mjs",
85
- "component:generate": "tsx scripts/generate-extension-component.ts",
86
- "component:analyze": "tsx scripts/analyze-component-needs.ts",
87
- "feedback:collect": "tsx scripts/collect-usage-feedback.ts",
88
- "docs:dev": "cd docs-app && npm run docs:dev",
89
- "docs:build": "cd docs-app && npm run docs:build",
90
- "docs:start": "cd docs-app && npm run docs:start",
91
- "docs:generate-api": "cd docs-app && npm run docs:generate-api",
92
- "docs:validate": "cd docs-app && npm run docs:validate",
93
- "docs:analyze": "cd docs-app && npm run docs:analyze",
94
- "commitlint": "commitlint",
95
- "prepare": "husky"
96
- },
97
42
  "peerDependencies": {
98
43
  "next": "^13.0.0 || ^14.0.0 || ^15.0.0",
99
44
  "react": "^18 || ^19",
@@ -158,8 +103,9 @@
158
103
  "@types/node": "^20.19.25",
159
104
  "@types/react": "^19",
160
105
  "@types/react-dom": "^19",
106
+ "@typescript-eslint/rule-tester": "^8.51.0",
161
107
  "@typescript-eslint/types": "^8.47.0",
162
- "@typescript-eslint/utils": "^8.47.0",
108
+ "@typescript-eslint/utils": "^8.51.0",
163
109
  "@vitejs/plugin-react": "^4.0.0",
164
110
  "@vitest/coverage-v8": "^4.0.15",
165
111
  "@vitest/ui": "^4.0.15",
@@ -220,5 +166,63 @@
220
166
  "import": "./dist/extensions/next/index.mjs",
221
167
  "require": "./dist/extensions/next/index.cjs"
222
168
  }
169
+ },
170
+ "scripts": {
171
+ "dev": "tsup --watch",
172
+ "build": "tsup",
173
+ "clean": "rimraf dist",
174
+ "preview": "vite preview",
175
+ "storybook": "storybook dev -p 6006",
176
+ "build-storybook": "storybook build",
177
+ "chromatic": "./scripts/chromatic.sh",
178
+ "chromatic:ci": "CHROMATIC_CI_MODE=true ./scripts/chromatic.sh",
179
+ "test": "vitest run",
180
+ "test:watch": "vitest",
181
+ "test:ui": "vitest --ui",
182
+ "test:coverage": "vitest run --coverage",
183
+ "test:a11y": "vitest run a11y.test",
184
+ "test:focus": "playwright test --config=playwright/playwright.config.ts",
185
+ "a11y:contrast": "tsx scripts/a11y-contrast-check.js",
186
+ "typecheck": "tsc --noEmit && tsc --noEmit --project tsconfig.vite.json",
187
+ "lint": "eslint . --ext .ts,.tsx --fix --ignore-pattern '**/*.stories.*' --ignore-pattern '.storybook/**' --ignore-pattern 'storybook-static/**' --ignore-pattern 'docs/**' --ignore-pattern '.cursor/**' --ignore-pattern 'docs_archive/**'",
188
+ "lint:fix": "./scripts/lint-local.sh",
189
+ "lint:check": "eslint . --ext .ts,.tsx --ignore-pattern '**/*.stories.*' --ignore-pattern '.storybook/**' --ignore-pattern 'storybook-static/**' --ignore-pattern 'docs/**' --ignore-pattern '.cursor/**' --ignore-pattern 'docs_archive/**'",
190
+ "lint:strict": "eslint . --ext .ts,.tsx --max-warnings=0 --ignore-pattern '**/*.stories.*' --ignore-pattern '.storybook/**' --ignore-pattern 'storybook-static/**' --ignore-pattern 'docs/**' --ignore-pattern '.cursor/**' --ignore-pattern 'docs_archive/**'",
191
+ "lint:ci": "./scripts/lint-ci.sh",
192
+ "lint:rules": "eslint --config eslint-rules/eslint.config.mjs eslint-rules",
193
+ "format": "prettier . --write",
194
+ "format:check": "prettier . --check",
195
+ "check:theme-tokens": "node scripts/check-theme-token-parity.mjs",
196
+ "validate": "pnpm typecheck && pnpm lint:check && pnpm format:check && pnpm check:motion-v1 && pnpm check:next-document && pnpm check:theme-tokens",
197
+ "ci": "pnpm typecheck && pnpm lint:strict && pnpm format:check && pnpm check:motion-v1 && pnpm check:next-document && pnpm check:theme-tokens && pnpm build && pnpm test",
198
+ "ci:full": "pnpm run ci && pnpm test:coverage && pnpm ci:a11y",
199
+ "ci:a11y": "pnpm test:a11y && pnpm a11y:contrast",
200
+ "ci:local": "./scripts/ci-local.sh",
201
+ "publish:patch": "./scripts/publish.sh patch",
202
+ "publish:minor": "./scripts/publish.sh minor",
203
+ "publish:major": "./scripts/publish.sh major",
204
+ "theme:create": "tsx scripts/theme-cli.ts create",
205
+ "theme:generate": "tsx tools/theme-generator/bin/theme-generate.ts",
206
+ "theme:validate": "tsx tools/theme-validator/bin/theme-validate.ts",
207
+ "theme:validate:all": "node scripts/theme-validate-all.mjs",
208
+ "theme:validate:extension": "node scripts/theme-validate-extension.mjs",
209
+ "theme:parity-check": "node scripts/check-theme-token-parity.mjs",
210
+ "tokens:export": "tsx scripts/export-tokens.ts",
211
+ "ui:check": "tsx scripts/check-ui-consistency.ts",
212
+ "safelist:generate": "tsx scripts/generateTailwindSafelist.ts",
213
+ "verify:interaction-authority": "node scripts/verify-interaction-authority.mjs",
214
+ "governance:review": "node scripts/governance-review.mjs",
215
+ "check:motion-v1": "node scripts/check-motion-v1.mjs",
216
+ "check:next-document": "node scripts/check-next-document-imports.mjs",
217
+ "component:generate": "tsx scripts/generate-extension-component.ts",
218
+ "component:analyze": "tsx scripts/analyze-component-needs.ts",
219
+ "feedback:collect": "tsx scripts/collect-usage-feedback.ts",
220
+ "docs:dev": "cd docs-app && npm run docs:dev",
221
+ "docs:build": "cd docs-app && npm run docs:build",
222
+ "docs:start": "cd docs-app && npm run docs:start",
223
+ "docs:generate-api": "cd docs-app && npm run docs:generate-api",
224
+ "docs:validate": "cd docs-app && npm run docs:validate",
225
+ "docs:analyze": "cd docs-app && npm run docs:analyze",
226
+ "commitlint": "commitlint"
223
227
  }
224
- }
228
+ }