tailwind-to-style 2.10.2 → 2.10.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * tailwind-to-style v2.10.2
2
+ * tailwind-to-style v2.10.4
3
3
  * Convert tailwind classes to inline style
4
4
  *
5
5
  * @author Bigetion
@@ -25,6 +25,8 @@ var tailwindToStyle = (function (exports) {
25
25
  ping: "ping 1s cubic-bezier(0, 0, 0.2, 1) infinite",
26
26
  pulse: "pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite",
27
27
  bounce: "bounce 1s infinite",
28
+ "fade-in": "fadeIn 2s ease-in-out infinite",
29
+ "slide-up": "slideUp 2s ease-in-out infinite",
28
30
  custom: "custom_value"
29
31
  },
30
32
  aspectRatio: {
@@ -656,6 +658,11 @@ var tailwindToStyle = (function (exports) {
656
658
  0: "0",
657
659
  DEFAULT: "1"
658
660
  },
661
+ fontFamily: {
662
+ sans: ["ui-sans-serif", "system-ui", "-apple-system", "BlinkMacSystemFont", '"Segoe UI"', "Roboto", '"Helvetica Neue"', "Arial", '"Noto Sans"', "sans-serif", '"Apple Color Emoji"', '"Segoe UI Emoji"', '"Segoe UI Symbol"', '"Noto Color Emoji"'].join(", "),
663
+ serif: ["ui-serif", "Georgia", "Cambria", '"Times New Roman"', "Times", "serif"].join(", "),
664
+ mono: ["ui-monospace", "SFMono-Regular", "Menlo", "Monaco", "Consolas", '"Liberation Mono"', '"Courier New"', "monospace"].join(", ")
665
+ },
659
666
  fontSize: {
660
667
  xs: "0.75rem",
661
668
  sm: "0.875rem",
@@ -1541,6 +1548,31 @@ var tailwindToStyle = (function (exports) {
1541
1548
  transform: "none",
1542
1549
  animationTimingFunction: "cubic-bezier(0,0,0.2,1)"
1543
1550
  }
1551
+ },
1552
+ fadeIn: {
1553
+ "0%": {
1554
+ opacity: "0"
1555
+ },
1556
+ "50%": {
1557
+ opacity: "1"
1558
+ },
1559
+ "100%": {
1560
+ opacity: "0"
1561
+ }
1562
+ },
1563
+ slideUp: {
1564
+ "0%": {
1565
+ transform: "translateY(20px)",
1566
+ opacity: "0"
1567
+ },
1568
+ "50%": {
1569
+ transform: "translateY(0)",
1570
+ opacity: "1"
1571
+ },
1572
+ "100%": {
1573
+ transform: "translateY(-20px)",
1574
+ opacity: "0"
1575
+ }
1544
1576
  }
1545
1577
  },
1546
1578
  transitionProperty: {
@@ -2061,7 +2093,7 @@ var tailwindToStyle = (function (exports) {
2061
2093
  return cssString;
2062
2094
  }
2063
2095
 
2064
- function generator$2M() {
2096
+ function generator$2N() {
2065
2097
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2066
2098
  const {
2067
2099
  prefix: globalPrefix,
@@ -2078,6 +2110,13 @@ var tailwindToStyle = (function (exports) {
2078
2110
  getCssByOptions
2079
2111
  } = _ref;
2080
2112
  let cssString = getCssByColors(accentColor, (key, value, rgbValue) => {
2113
+ if (value === "custom_value") {
2114
+ return `
2115
+ ${prefix}-${key} {
2116
+ accent-color: ${value};
2117
+ }
2118
+ `;
2119
+ }
2081
2120
  let rgbPropertyValue = "";
2082
2121
  if (rgbValue) {
2083
2122
  rgbPropertyValue = `accent-color: rgba(${rgbValue}, var(--accent-opacity));`;
@@ -2090,17 +2129,21 @@ var tailwindToStyle = (function (exports) {
2090
2129
  }
2091
2130
  `;
2092
2131
  });
2093
- cssString += getCssByOptions(opacity, (key, value) => `
2094
- ${prefix}-${key} {
2095
- --accent-opacity: ${value};
2096
- }
2097
- `);
2132
+ cssString += getCssByOptions(opacity, (key, value) => {
2133
+ // Skip 'custom' to avoid overwriting accent-custom from colors
2134
+ if (key === "custom") return "";
2135
+ return `
2136
+ ${prefix}-${key} {
2137
+ --accent-opacity: ${value};
2138
+ }
2139
+ `;
2140
+ });
2098
2141
  return cssString;
2099
2142
  }, configOptions);
2100
2143
  return responsiveCssString;
2101
2144
  }
2102
2145
 
2103
- function generator$2L() {
2146
+ function generator$2M() {
2104
2147
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2105
2148
  const {
2106
2149
  prefix
@@ -2139,7 +2182,7 @@ var tailwindToStyle = (function (exports) {
2139
2182
  return responsiveCssString;
2140
2183
  }
2141
2184
 
2142
- function generator$2K() {
2185
+ function generator$2L() {
2143
2186
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2144
2187
  const {
2145
2188
  prefix: globalPrefix
@@ -2167,7 +2210,7 @@ var tailwindToStyle = (function (exports) {
2167
2210
  return responsiveCssString;
2168
2211
  }
2169
2212
 
2170
- function generator$2J() {
2213
+ function generator$2K() {
2171
2214
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2172
2215
  const {
2173
2216
  prefix: globalPrefix
@@ -2194,7 +2237,7 @@ var tailwindToStyle = (function (exports) {
2194
2237
  return responsiveCssString;
2195
2238
  }
2196
2239
 
2197
- function generator$2I() {
2240
+ function generator$2J() {
2198
2241
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2199
2242
  const {
2200
2243
  prefix: globalPrefix
@@ -2438,7 +2481,7 @@ var tailwindToStyle = (function (exports) {
2438
2481
  * Animation Generator
2439
2482
  * Generates animation utility classes with dynamic inline animations
2440
2483
  */
2441
- function generator$2H() {
2484
+ function generator$2I() {
2442
2485
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2443
2486
  const {
2444
2487
  prefix: globalPrefix,
@@ -2446,18 +2489,39 @@ var tailwindToStyle = (function (exports) {
2446
2489
  } = configOptions;
2447
2490
  const prefix = `${globalPrefix}animate`;
2448
2491
  const {
2449
- animation = {}
2492
+ animation = {},
2493
+ keyframes = {}
2450
2494
  } = theme;
2451
2495
  const responsiveCssString = generateCssString$1(_ref => {
2452
2496
  let {
2453
2497
  getCssByOptions
2454
2498
  } = _ref;
2455
- // Merge theme animations with inline animations
2499
+ // Generate keyframes first
2500
+ let keyframesCSS = "";
2501
+ for (const [name, keyframe] of Object.entries(keyframes)) {
2502
+ keyframesCSS += `@keyframes ${name} {\n`;
2503
+ for (const [percentage, styles] of Object.entries(keyframe)) {
2504
+ keyframesCSS += ` ${percentage} {\n`;
2505
+ for (const [prop, value] of Object.entries(styles)) {
2506
+ const cssProp = prop.replace(/([A-Z])/g, "-$1").toLowerCase();
2507
+ keyframesCSS += ` ${cssProp}: ${value};\n`;
2508
+ }
2509
+ keyframesCSS += " }\n";
2510
+ }
2511
+ keyframesCSS += "}\n";
2512
+ }
2513
+
2514
+ // Merge theme animations with inline animations (but skip inline if keyframes exist)
2456
2515
  const allAnimations = {
2457
2516
  ...animation,
2458
- // Add inline animations to the mix
2517
+ // Add inline animations to the mix, but skip if keyframes version exists
2459
2518
  ...Object.keys(INLINE_ANIMATIONS).reduce((acc, key) => {
2460
- acc[key] = `inline-${key}`; // Special marker for inline animations
2519
+ // Check if keyframes version exists (both camelCase and kebab-case)
2520
+ const camelCaseKey = key.replace(/-([a-z])/g, (match, letter) => letter.toUpperCase());
2521
+ const hasKeyframes = keyframes[key] || keyframes[camelCaseKey];
2522
+ if (!hasKeyframes) {
2523
+ acc[key] = `inline-${key}`; // Special marker for inline animations
2524
+ }
2461
2525
  return acc;
2462
2526
  }, {})
2463
2527
  };
@@ -2503,12 +2567,14 @@ var tailwindToStyle = (function (exports) {
2503
2567
  }
2504
2568
  `;
2505
2569
  });
2506
- return cssString;
2570
+
2571
+ // Combine keyframes and animation classes
2572
+ return keyframesCSS + cssString;
2507
2573
  }, configOptions);
2508
2574
  return responsiveCssString;
2509
2575
  }
2510
2576
 
2511
- function generator$2G() {
2577
+ function generator$2H() {
2512
2578
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2513
2579
  const {
2514
2580
  prefix
@@ -2528,7 +2594,7 @@ var tailwindToStyle = (function (exports) {
2528
2594
  return responsiveCssString;
2529
2595
  }
2530
2596
 
2531
- function generator$2F() {
2597
+ function generator$2G() {
2532
2598
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2533
2599
  const {
2534
2600
  prefix: globalPrefix,
@@ -2536,13 +2602,31 @@ var tailwindToStyle = (function (exports) {
2536
2602
  } = configOptions;
2537
2603
  const prefix = `${globalPrefix}aspect`;
2538
2604
  const {
2539
- spacing = {}
2605
+ spacing = {},
2606
+ aspectRatio = {}
2540
2607
  } = theme;
2541
- let responsiveCssString = generateCssString$1(_ref => {
2608
+ const responsiveCssString = generateCssString$1(_ref => {
2542
2609
  let {
2543
2610
  getCssByOptions
2544
2611
  } = _ref;
2545
- const cssString = getCssByOptions(spacing, key => `
2612
+ // Generate aspect-ratio utilities (aspect-auto, aspect-square, aspect-video, etc.)
2613
+ let cssString = getCssByOptions(aspectRatio, (key, value) => {
2614
+ if (value === "custom_value") {
2615
+ return `
2616
+ ${prefix}-${key} {
2617
+ aspect-ratio: ${value};
2618
+ }
2619
+ `;
2620
+ }
2621
+ return `
2622
+ ${prefix}-${key} {
2623
+ aspect-ratio: ${value};
2624
+ }
2625
+ `;
2626
+ });
2627
+
2628
+ // Generate legacy aspect-h and aspect-w utilities
2629
+ cssString += getCssByOptions(spacing, key => `
2546
2630
  ${prefix}-h-${key} {
2547
2631
  --aspect-h: ${key};
2548
2632
  }
@@ -2557,7 +2641,7 @@ var tailwindToStyle = (function (exports) {
2557
2641
  return responsiveCssString;
2558
2642
  }
2559
2643
 
2560
- function generator$2E() {
2644
+ function generator$2F() {
2561
2645
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2562
2646
  const {
2563
2647
  prefix: globalPrefix
@@ -2578,7 +2662,7 @@ var tailwindToStyle = (function (exports) {
2578
2662
  return responsiveCssString;
2579
2663
  }
2580
2664
 
2581
- function generator$2D() {
2665
+ function generator$2E() {
2582
2666
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2583
2667
  const {
2584
2668
  prefix: globalPrefix
@@ -2605,7 +2689,7 @@ var tailwindToStyle = (function (exports) {
2605
2689
  return responsiveCssString;
2606
2690
  }
2607
2691
 
2608
- function generator$2C() {
2692
+ function generator$2D() {
2609
2693
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2610
2694
  const {
2611
2695
  prefix: globalPrefix,
@@ -2645,7 +2729,7 @@ var tailwindToStyle = (function (exports) {
2645
2729
  return responsiveCssString;
2646
2730
  }
2647
2731
 
2648
- function generator$2B() {
2732
+ function generator$2C() {
2649
2733
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2650
2734
  const {
2651
2735
  prefix: globalPrefix,
@@ -2679,7 +2763,7 @@ var tailwindToStyle = (function (exports) {
2679
2763
  return responsiveCssString;
2680
2764
  }
2681
2765
 
2682
- function generator$2A() {
2766
+ function generator$2B() {
2683
2767
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2684
2768
  const {
2685
2769
  prefix: globalPrefix,
@@ -2703,7 +2787,7 @@ var tailwindToStyle = (function (exports) {
2703
2787
  return responsiveCssString;
2704
2788
  }
2705
2789
 
2706
- function generator$2z() {
2790
+ function generator$2A() {
2707
2791
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2708
2792
  const {
2709
2793
  prefix: globalPrefix
@@ -2729,7 +2813,7 @@ var tailwindToStyle = (function (exports) {
2729
2813
  return responsiveCssString;
2730
2814
  }
2731
2815
 
2732
- function generator$2y() {
2816
+ function generator$2z() {
2733
2817
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2734
2818
  const {
2735
2819
  prefix: globalPrefix,
@@ -2763,7 +2847,7 @@ var tailwindToStyle = (function (exports) {
2763
2847
  return responsiveCssString;
2764
2848
  }
2765
2849
 
2766
- function generator$2x() {
2850
+ function generator$2y() {
2767
2851
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2768
2852
  const {
2769
2853
  prefix: globalPrefix
@@ -2791,7 +2875,7 @@ var tailwindToStyle = (function (exports) {
2791
2875
  return responsiveCssString;
2792
2876
  }
2793
2877
 
2794
- function generator$2w() {
2878
+ function generator$2x() {
2795
2879
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2796
2880
  const {
2797
2881
  prefix: globalPrefix,
@@ -2825,7 +2909,7 @@ var tailwindToStyle = (function (exports) {
2825
2909
  return responsiveCssString;
2826
2910
  }
2827
2911
 
2828
- function generator$2v() {
2912
+ function generator$2w() {
2829
2913
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2830
2914
  const {
2831
2915
  prefix: globalPrefix,
@@ -2854,7 +2938,7 @@ var tailwindToStyle = (function (exports) {
2854
2938
  return responsiveCssString;
2855
2939
  }
2856
2940
 
2857
- function generator$2u() {
2941
+ function generator$2v() {
2858
2942
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2859
2943
  const {
2860
2944
  prefix: globalPrefix,
@@ -2883,7 +2967,7 @@ var tailwindToStyle = (function (exports) {
2883
2967
  return responsiveCssString;
2884
2968
  }
2885
2969
 
2886
- function generator$2t() {
2970
+ function generator$2u() {
2887
2971
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2888
2972
  const {
2889
2973
  prefix: globalPrefix,
@@ -2912,7 +2996,7 @@ var tailwindToStyle = (function (exports) {
2912
2996
  return responsiveCssString;
2913
2997
  }
2914
2998
 
2915
- function generator$2s() {
2999
+ function generator$2t() {
2916
3000
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2917
3001
  const {
2918
3002
  prefix,
@@ -2932,7 +3016,7 @@ var tailwindToStyle = (function (exports) {
2932
3016
  return responsiveCssString;
2933
3017
  }
2934
3018
 
2935
- function generator$2r() {
3019
+ function generator$2s() {
2936
3020
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2937
3021
  const {
2938
3022
  prefix: globalPrefix,
@@ -2961,7 +3045,7 @@ var tailwindToStyle = (function (exports) {
2961
3045
  return responsiveCssString;
2962
3046
  }
2963
3047
 
2964
- function generator$2q() {
3048
+ function generator$2r() {
2965
3049
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2966
3050
  const {
2967
3051
  prefix: globalPrefix,
@@ -2990,7 +3074,7 @@ var tailwindToStyle = (function (exports) {
2990
3074
  return responsiveCssString;
2991
3075
  }
2992
3076
 
2993
- function generator$2p() {
3077
+ function generator$2q() {
2994
3078
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2995
3079
  const {
2996
3080
  prefix: globalPrefix,
@@ -3019,7 +3103,7 @@ var tailwindToStyle = (function (exports) {
3019
3103
  return responsiveCssString;
3020
3104
  }
3021
3105
 
3022
- function generator$2o() {
3106
+ function generator$2p() {
3023
3107
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3024
3108
  const {
3025
3109
  prefix: globalPrefix,
@@ -3048,7 +3132,7 @@ var tailwindToStyle = (function (exports) {
3048
3132
  return responsiveCssString;
3049
3133
  }
3050
3134
 
3051
- function generator$2n() {
3135
+ function generator$2o() {
3052
3136
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3053
3137
  const {
3054
3138
  prefix: globalPrefix,
@@ -3077,7 +3161,7 @@ var tailwindToStyle = (function (exports) {
3077
3161
  return responsiveCssString;
3078
3162
  }
3079
3163
 
3080
- function generator$2m() {
3164
+ function generator$2n() {
3081
3165
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3082
3166
  const {
3083
3167
  prefix: globalPrefix,
@@ -3106,7 +3190,7 @@ var tailwindToStyle = (function (exports) {
3106
3190
  return responsiveCssString;
3107
3191
  }
3108
3192
 
3109
- function generator$2l() {
3193
+ function generator$2m() {
3110
3194
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3111
3195
  const {
3112
3196
  prefix: globalPrefix,
@@ -3140,7 +3224,7 @@ var tailwindToStyle = (function (exports) {
3140
3224
  return responsiveCssString;
3141
3225
  }
3142
3226
 
3143
- function generator$2k() {
3227
+ function generator$2l() {
3144
3228
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3145
3229
  const {
3146
3230
  prefix: globalPrefix
@@ -3161,7 +3245,7 @@ var tailwindToStyle = (function (exports) {
3161
3245
  return responsiveCssString;
3162
3246
  }
3163
3247
 
3164
- function generator$2j() {
3248
+ function generator$2k() {
3165
3249
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3166
3250
  const {
3167
3251
  prefix: globalPrefix,
@@ -3190,6 +3274,9 @@ var tailwindToStyle = (function (exports) {
3190
3274
  ${customPrefix}${key} {
3191
3275
  border-color: ${value};
3192
3276
  }
3277
+ ${prefix}${key} {
3278
+ border-color: ${value};
3279
+ }
3193
3280
  `;
3194
3281
  }
3195
3282
  return `
@@ -3249,7 +3336,7 @@ var tailwindToStyle = (function (exports) {
3249
3336
  return responsiveCssString;
3250
3337
  }
3251
3338
 
3252
- function generator$2i() {
3339
+ function generator$2j() {
3253
3340
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3254
3341
  const {
3255
3342
  prefix: globalPrefix,
@@ -3273,7 +3360,7 @@ var tailwindToStyle = (function (exports) {
3273
3360
  return responsiveCssString;
3274
3361
  }
3275
3362
 
3276
- function generator$2h() {
3363
+ function generator$2i() {
3277
3364
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3278
3365
  const {
3279
3366
  prefix: globalPrefix,
@@ -3348,7 +3435,7 @@ var tailwindToStyle = (function (exports) {
3348
3435
  return responsiveCssString;
3349
3436
  }
3350
3437
 
3351
- function generator$2g() {
3438
+ function generator$2h() {
3352
3439
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3353
3440
  const {
3354
3441
  prefix: globalPrefix,
@@ -3383,7 +3470,7 @@ var tailwindToStyle = (function (exports) {
3383
3470
  return responsiveCssString;
3384
3471
  }
3385
3472
 
3386
- function generator$2f() {
3473
+ function generator$2g() {
3387
3474
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3388
3475
  const {
3389
3476
  prefix: globalPrefix
@@ -3404,7 +3491,7 @@ var tailwindToStyle = (function (exports) {
3404
3491
  return responsiveCssString;
3405
3492
  }
3406
3493
 
3407
- function generator$2e() {
3494
+ function generator$2f() {
3408
3495
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3409
3496
  const {
3410
3497
  prefix: globalPrefix,
@@ -3469,7 +3556,7 @@ var tailwindToStyle = (function (exports) {
3469
3556
  return responsiveCssString;
3470
3557
  }
3471
3558
 
3472
- function generator$2d() {
3559
+ function generator$2e() {
3473
3560
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3474
3561
  const {
3475
3562
  prefix: globalPrefix
@@ -3491,7 +3578,7 @@ var tailwindToStyle = (function (exports) {
3491
3578
  return responsiveCssString;
3492
3579
  }
3493
3580
 
3494
- function generator$2c() {
3581
+ function generator$2d() {
3495
3582
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3496
3583
  const {
3497
3584
  prefix: globalPrefix,
@@ -3545,7 +3632,7 @@ var tailwindToStyle = (function (exports) {
3545
3632
  return responsiveCssString;
3546
3633
  }
3547
3634
 
3548
- function generator$2b() {
3635
+ function generator$2c() {
3549
3636
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3550
3637
  const {
3551
3638
  prefix: globalPrefix
@@ -3569,7 +3656,7 @@ var tailwindToStyle = (function (exports) {
3569
3656
  return responsiveCssString;
3570
3657
  }
3571
3658
 
3572
- function generator$2a() {
3659
+ function generator$2b() {
3573
3660
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3574
3661
  const {
3575
3662
  prefix
@@ -3589,7 +3676,7 @@ var tailwindToStyle = (function (exports) {
3589
3676
  return responsiveCssString;
3590
3677
  }
3591
3678
 
3592
- function generator$29() {
3679
+ function generator$2a() {
3593
3680
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3594
3681
  const {
3595
3682
  prefix
@@ -3609,7 +3696,7 @@ var tailwindToStyle = (function (exports) {
3609
3696
  return responsiveCssString;
3610
3697
  }
3611
3698
 
3612
- function generator$28() {
3699
+ function generator$29() {
3613
3700
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3614
3701
  const {
3615
3702
  prefix
@@ -3629,7 +3716,7 @@ var tailwindToStyle = (function (exports) {
3629
3716
  return responsiveCssString;
3630
3717
  }
3631
3718
 
3632
- function generator$27() {
3719
+ function generator$28() {
3633
3720
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3634
3721
  const {
3635
3722
  prefix: globalPrefix,
@@ -3663,7 +3750,7 @@ var tailwindToStyle = (function (exports) {
3663
3750
  return responsiveCssString;
3664
3751
  }
3665
3752
 
3666
- function generator$26() {
3753
+ function generator$27() {
3667
3754
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3668
3755
  const {
3669
3756
  prefix: globalPrefix
@@ -3684,7 +3771,7 @@ var tailwindToStyle = (function (exports) {
3684
3771
  return responsiveCssString;
3685
3772
  }
3686
3773
 
3687
- function generator$25() {
3774
+ function generator$26() {
3688
3775
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3689
3776
  const {
3690
3777
  prefix: globalPrefix,
@@ -3701,6 +3788,13 @@ var tailwindToStyle = (function (exports) {
3701
3788
  getCssByOptions
3702
3789
  } = _ref;
3703
3790
  let cssString = getCssByColors(caretColor, (key, value, rgbValue) => {
3791
+ if (value === "custom_value") {
3792
+ return `
3793
+ ${prefix}-${key} {
3794
+ caret-color: ${value};
3795
+ }
3796
+ `;
3797
+ }
3704
3798
  let rgbPropertyValue = "";
3705
3799
  if (rgbValue) {
3706
3800
  rgbPropertyValue = `caret-color: rgba(${rgbValue}, var(--caret-opacity));`;
@@ -3713,17 +3807,21 @@ var tailwindToStyle = (function (exports) {
3713
3807
  }
3714
3808
  `;
3715
3809
  });
3716
- cssString += getCssByOptions(opacity, (key, value) => `
3717
- ${prefix}-${key} {
3718
- --caret-opacity: ${value};
3719
- }
3720
- `);
3810
+ cssString += getCssByOptions(opacity, (key, value) => {
3811
+ // Skip 'custom' to avoid overwriting caret-custom from colors
3812
+ if (key === "custom") return "";
3813
+ return `
3814
+ ${prefix}-${key} {
3815
+ --caret-opacity: ${value};
3816
+ }
3817
+ `;
3818
+ });
3721
3819
  return cssString;
3722
3820
  }, configOptions);
3723
3821
  return responsiveCssString;
3724
3822
  }
3725
3823
 
3726
- function generator$24() {
3824
+ function generator$25() {
3727
3825
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3728
3826
  const {
3729
3827
  prefix: globalPrefix
@@ -3744,7 +3842,7 @@ var tailwindToStyle = (function (exports) {
3744
3842
  return responsiveCssString;
3745
3843
  }
3746
3844
 
3747
- function generator$23() {
3845
+ function generator$24() {
3748
3846
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3749
3847
  const {
3750
3848
  prefix,
@@ -3767,7 +3865,7 @@ var tailwindToStyle = (function (exports) {
3767
3865
  return responsiveCssString;
3768
3866
  }
3769
3867
 
3770
- function generator$22() {
3868
+ function generator$23() {
3771
3869
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3772
3870
  const {
3773
3871
  prefix
@@ -3783,7 +3881,7 @@ var tailwindToStyle = (function (exports) {
3783
3881
  return responsiveCssString;
3784
3882
  }
3785
3883
 
3786
- function generator$21() {
3884
+ function generator$22() {
3787
3885
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3788
3886
  const {
3789
3887
  prefix: globalPrefix,
@@ -3807,7 +3905,7 @@ var tailwindToStyle = (function (exports) {
3807
3905
  return responsiveCssString;
3808
3906
  }
3809
3907
 
3810
- function generator$20() {
3908
+ function generator$21() {
3811
3909
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3812
3910
  const {
3813
3911
  prefix: globalPrefix,
@@ -3841,7 +3939,7 @@ var tailwindToStyle = (function (exports) {
3841
3939
  return responsiveCssString;
3842
3940
  }
3843
3941
 
3844
- function generator$1$() {
3942
+ function generator$20() {
3845
3943
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3846
3944
  const {
3847
3945
  prefix: globalPrefix
@@ -3862,7 +3960,7 @@ var tailwindToStyle = (function (exports) {
3862
3960
  return responsiveCssString;
3863
3961
  }
3864
3962
 
3865
- function generator$1_() {
3963
+ function generator$1$() {
3866
3964
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3867
3965
  const {
3868
3966
  prefix
@@ -3882,7 +3980,7 @@ var tailwindToStyle = (function (exports) {
3882
3980
  return responsiveCssString;
3883
3981
  }
3884
3982
 
3885
- function generator$1Z() {
3983
+ function generator$1_() {
3886
3984
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3887
3985
  const {
3888
3986
  prefix: globalPrefix,
@@ -3913,7 +4011,7 @@ var tailwindToStyle = (function (exports) {
3913
4011
  return responsiveCssString;
3914
4012
  }
3915
4013
 
3916
- function generator$1Y() {
4014
+ function generator$1Z() {
3917
4015
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3918
4016
  const {
3919
4017
  prefix: globalPrefix,
@@ -3937,7 +4035,7 @@ var tailwindToStyle = (function (exports) {
3937
4035
  return responsiveCssString;
3938
4036
  }
3939
4037
 
3940
- function generator$1X() {
4038
+ function generator$1Y() {
3941
4039
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3942
4040
  const {
3943
4041
  prefix: globalPrefix
@@ -3958,7 +4056,7 @@ var tailwindToStyle = (function (exports) {
3958
4056
  return responsiveCssString;
3959
4057
  }
3960
4058
 
3961
- function generator$1W() {
4059
+ function generator$1X() {
3962
4060
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3963
4061
  const {
3964
4062
  prefix: globalPrefix,
@@ -4006,7 +4104,7 @@ var tailwindToStyle = (function (exports) {
4006
4104
  return responsiveCssString;
4007
4105
  }
4008
4106
 
4009
- function generator$1V() {
4107
+ function generator$1W() {
4010
4108
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4011
4109
  const {
4012
4110
  prefix: globalPrefix,
@@ -4034,7 +4132,7 @@ var tailwindToStyle = (function (exports) {
4034
4132
  return responsiveCssString;
4035
4133
  }
4036
4134
 
4037
- function generator$1U() {
4135
+ function generator$1V() {
4038
4136
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4039
4137
  const {
4040
4138
  prefix: globalPrefix,
@@ -4060,7 +4158,7 @@ var tailwindToStyle = (function (exports) {
4060
4158
  return responsiveCssString;
4061
4159
  }
4062
4160
 
4063
- function generator$1T(_ref) {
4161
+ function generator$1U(_ref) {
4064
4162
  let {
4065
4163
  prefix
4066
4164
  } = _ref;
@@ -4073,7 +4171,7 @@ var tailwindToStyle = (function (exports) {
4073
4171
  `;
4074
4172
  }
4075
4173
 
4076
- function generator$1S() {
4174
+ function generator$1T() {
4077
4175
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4078
4176
  const {
4079
4177
  prefix: globalPrefix,
@@ -4097,7 +4195,7 @@ var tailwindToStyle = (function (exports) {
4097
4195
  return responsiveCssString;
4098
4196
  }
4099
4197
 
4100
- function generator$1R() {
4198
+ function generator$1S() {
4101
4199
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4102
4200
  const {
4103
4201
  prefix: globalPrefix,
@@ -4121,7 +4219,7 @@ var tailwindToStyle = (function (exports) {
4121
4219
  return responsiveCssString;
4122
4220
  }
4123
4221
 
4124
- function generator$1Q() {
4222
+ function generator$1R() {
4125
4223
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4126
4224
  const {
4127
4225
  prefix: globalPrefix
@@ -4147,7 +4245,7 @@ var tailwindToStyle = (function (exports) {
4147
4245
  return responsiveCssString;
4148
4246
  }
4149
4247
 
4150
- function generator$1P() {
4248
+ function generator$1Q() {
4151
4249
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4152
4250
  const {
4153
4251
  prefix: globalPrefix,
@@ -4171,7 +4269,7 @@ var tailwindToStyle = (function (exports) {
4171
4269
  return responsiveCssString;
4172
4270
  }
4173
4271
 
4174
- function generator$1O() {
4272
+ function generator$1P() {
4175
4273
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4176
4274
  const {
4177
4275
  prefix: globalPrefix,
@@ -4195,7 +4293,7 @@ var tailwindToStyle = (function (exports) {
4195
4293
  return responsiveCssString;
4196
4294
  }
4197
4295
 
4198
- function generator$1N() {
4296
+ function generator$1O() {
4199
4297
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4200
4298
  const {
4201
4299
  prefix: globalPrefix
@@ -4221,7 +4319,7 @@ var tailwindToStyle = (function (exports) {
4221
4319
  return responsiveCssString;
4222
4320
  }
4223
4321
 
4224
- function generator$1M() {
4322
+ function generator$1N() {
4225
4323
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4226
4324
  const {
4227
4325
  prefix: globalPrefix
@@ -4242,6 +4340,32 @@ var tailwindToStyle = (function (exports) {
4242
4340
  return responsiveCssString;
4243
4341
  }
4244
4342
 
4343
+ function generator$1M() {
4344
+ let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4345
+ const {
4346
+ prefix: globalPrefix,
4347
+ theme = {}
4348
+ } = configOptions;
4349
+ const prefix = `${globalPrefix}font`;
4350
+ const {
4351
+ fontFamily = {}
4352
+ } = theme;
4353
+ const responsiveCssString = generateCssString$1(_ref => {
4354
+ let {
4355
+ getCssByOptions
4356
+ } = _ref;
4357
+ const cssString = getCssByOptions(fontFamily, (key, value) => {
4358
+ return `
4359
+ ${prefix}-${key} {
4360
+ font-family: ${value};
4361
+ }
4362
+ `;
4363
+ });
4364
+ return cssString;
4365
+ }, configOptions);
4366
+ return responsiveCssString;
4367
+ }
4368
+
4245
4369
  function generator$1L() {
4246
4370
  let configOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4247
4371
  const {
@@ -6593,6 +6717,9 @@ var tailwindToStyle = (function (exports) {
6593
6717
  ${customPrefix}-${key} {
6594
6718
  color: ${value};
6595
6719
  }
6720
+ ${prefix}-${key} {
6721
+ color: ${value};
6722
+ }
6596
6723
  `;
6597
6724
  }
6598
6725
  return `
@@ -7788,7 +7915,10 @@ var tailwindToStyle = (function (exports) {
7788
7915
 
7789
7916
  // Split by comma and process each font
7790
7917
  const fonts = decodedValue.split(",").map(font => {
7791
- const trimmedFont = font.trim();
7918
+ let trimmedFont = font.trim();
7919
+
7920
+ // Replace underscores with spaces (Tailwind convention)
7921
+ trimmedFont = trimmedFont.replace(/_/g, " ");
7792
7922
 
7793
7923
  // If font contains spaces and is not already quoted, add quotes
7794
7924
  if (trimmedFont.includes(" ") && !trimmedFont.startsWith('"') && !trimmedFont.startsWith("'")) {
@@ -8130,71 +8260,72 @@ var tailwindToStyle = (function (exports) {
8130
8260
  }
8131
8261
 
8132
8262
  const plugins = {
8133
- accentColor: generator$2M,
8134
- accessibility: generator$2L,
8135
- alignContent: generator$2K,
8136
- alignItems: generator$2J,
8137
- alignSelf: generator$2I,
8138
- animation: generator$2H,
8139
- appearance: generator$2G,
8140
- aspect: generator$2F,
8141
- backgroundAttachment: generator$2E,
8142
- backgroundClip: generator$2D,
8143
- backgroundColor: generator$2C,
8144
- backgroundImage: generator$2B,
8145
- backgroundOpacity: generator$2A,
8146
- backgroundOrigin: generator$2z,
8147
- backgroundPosition: generator$2y,
8148
- backgroundRepeat: generator$2x,
8149
- backgroundSize: generator$2w,
8150
- backdropBlur: generator$2v,
8151
- backdropBrightness: generator$2u,
8152
- backdropContrast: generator$2t,
8153
- backdropFilter: generator$2s,
8154
- backdropGrayscale: generator$2r,
8155
- backdropHueRotate: generator$2q,
8156
- backdropInvert: generator$2p,
8157
- backdropOpacity: generator$2o,
8158
- backdropSaturate: generator$2n,
8159
- backdropSepia: generator$2m,
8160
- blur: generator$2l,
8161
- borderCollapse: generator$2k,
8162
- borderColor: generator$2j,
8163
- borderOpacity: generator$2i,
8164
- borderRadius: generator$2h,
8165
- borderSpacing: generator$2g,
8166
- borderStyle: generator$2f,
8167
- borderWidth: generator$2e,
8168
- boxDecorationBreak: generator$2d,
8169
- boxShadow: generator$2c,
8170
- boxSizing: generator$2b,
8171
- breakAfter: generator$2a,
8172
- breakBefore: generator$29,
8173
- breakInside: generator$28,
8174
- brightness: generator$27,
8175
- captionSide: generator$26,
8176
- caretColor: generator$25,
8177
- clear: generator$24,
8178
- columns: generator$23,
8179
- container: generator$22,
8180
- content: generator$21,
8181
- contrast: generator$20,
8182
- cursor: generator$1$,
8183
- display: generator$1_,
8184
- divideColor: generator$1Z,
8185
- divideOpacity: generator$1Y,
8186
- divideStyle: generator$1X,
8187
- divideWidth: generator$1W,
8188
- dropShadow: generator$1V,
8189
- fill: generator$1U,
8190
- filter: generator$1T,
8191
- flex: generator$1S,
8192
- flexBasis: generator$1R,
8193
- flexDirection: generator$1Q,
8194
- flexGrow: generator$1P,
8195
- flexShrink: generator$1O,
8196
- flexWrap: generator$1N,
8197
- float: generator$1M,
8263
+ accentColor: generator$2N,
8264
+ accessibility: generator$2M,
8265
+ alignContent: generator$2L,
8266
+ alignItems: generator$2K,
8267
+ alignSelf: generator$2J,
8268
+ animation: generator$2I,
8269
+ appearance: generator$2H,
8270
+ aspect: generator$2G,
8271
+ backgroundAttachment: generator$2F,
8272
+ backgroundClip: generator$2E,
8273
+ backgroundColor: generator$2D,
8274
+ backgroundImage: generator$2C,
8275
+ backgroundOpacity: generator$2B,
8276
+ backgroundOrigin: generator$2A,
8277
+ backgroundPosition: generator$2z,
8278
+ backgroundRepeat: generator$2y,
8279
+ backgroundSize: generator$2x,
8280
+ backdropBlur: generator$2w,
8281
+ backdropBrightness: generator$2v,
8282
+ backdropContrast: generator$2u,
8283
+ backdropFilter: generator$2t,
8284
+ backdropGrayscale: generator$2s,
8285
+ backdropHueRotate: generator$2r,
8286
+ backdropInvert: generator$2q,
8287
+ backdropOpacity: generator$2p,
8288
+ backdropSaturate: generator$2o,
8289
+ backdropSepia: generator$2n,
8290
+ blur: generator$2m,
8291
+ borderCollapse: generator$2l,
8292
+ borderColor: generator$2k,
8293
+ borderOpacity: generator$2j,
8294
+ borderRadius: generator$2i,
8295
+ borderSpacing: generator$2h,
8296
+ borderStyle: generator$2g,
8297
+ borderWidth: generator$2f,
8298
+ boxDecorationBreak: generator$2e,
8299
+ boxShadow: generator$2d,
8300
+ boxSizing: generator$2c,
8301
+ breakAfter: generator$2b,
8302
+ breakBefore: generator$2a,
8303
+ breakInside: generator$29,
8304
+ brightness: generator$28,
8305
+ captionSide: generator$27,
8306
+ caretColor: generator$26,
8307
+ clear: generator$25,
8308
+ columns: generator$24,
8309
+ container: generator$23,
8310
+ content: generator$22,
8311
+ contrast: generator$21,
8312
+ cursor: generator$20,
8313
+ display: generator$1$,
8314
+ divideColor: generator$1_,
8315
+ divideOpacity: generator$1Z,
8316
+ divideStyle: generator$1Y,
8317
+ divideWidth: generator$1X,
8318
+ dropShadow: generator$1W,
8319
+ fill: generator$1V,
8320
+ filter: generator$1U,
8321
+ flex: generator$1T,
8322
+ flexBasis: generator$1S,
8323
+ flexDirection: generator$1R,
8324
+ flexGrow: generator$1Q,
8325
+ flexShrink: generator$1P,
8326
+ flexWrap: generator$1O,
8327
+ float: generator$1N,
8328
+ fontFamily: generator$1M,
8198
8329
  fontSize: generator$1L,
8199
8330
  fontSmoothing: generator$1K,
8200
8331
  fontStyle: generator$1J,
@@ -8324,10 +8455,10 @@ var tailwindToStyle = (function (exports) {
8324
8455
  return null;
8325
8456
  }
8326
8457
 
8327
- /**
8328
- * Resolve all CSS custom properties (var) in a CSS string and output only clear CSS (no custom property)
8329
- * @param {string} cssString
8330
- * @returns {string} e.g. 'color: rgba(255,255,255,1); background: #fff;'
8458
+ /**
8459
+ * Resolve all CSS custom properties (var) in a CSS string and output only clear CSS (no custom property)
8460
+ * @param {string} cssString
8461
+ * @returns {string} e.g. 'color: rgba(255,255,255,1); background: #fff;'
8331
8462
  */
8332
8463
  function resolveCssToClearCss(cssString) {
8333
8464
  const customVars = {};
@@ -8621,11 +8752,11 @@ var tailwindToStyle = (function (exports) {
8621
8752
  }
8622
8753
  }
8623
8754
 
8624
- /**
8625
- * Process opacity modifier from class name (e.g., text-red-500/50 -> 50% opacity)
8626
- * @param {string} className - Class name with potential opacity modifier
8627
- * @param {string} cssDeclaration - CSS declaration to modify
8628
- * @returns {string} Modified CSS declaration with opacity applied
8755
+ /**
8756
+ * Process opacity modifier from class name (e.g., text-red-500/50 -> 50% opacity)
8757
+ * @param {string} className - Class name with potential opacity modifier
8758
+ * @param {string} cssDeclaration - CSS declaration to modify
8759
+ * @returns {string} Modified CSS declaration with opacity applied
8629
8760
  */
8630
8761
  function processOpacityModifier(className, cssDeclaration) {
8631
8762
  const opacityMatch = className.match(/\/(\d+)$/);
@@ -8686,11 +8817,11 @@ var tailwindToStyle = (function (exports) {
8686
8817
  return modifiedDeclaration;
8687
8818
  }
8688
8819
 
8689
- /**
8690
- * Convert Tailwind class string to inline CSS styles or JSON object
8691
- * @param {string} classNames - String containing Tailwind classes to convert
8692
- * @param {boolean} convertToJson - If true, result will be JSON object, if false becomes CSS string
8693
- * @returns {string|Object} Inline CSS string or style JSON object
8820
+ /**
8821
+ * Convert Tailwind class string to inline CSS styles or JSON object
8822
+ * @param {string} classNames - String containing Tailwind classes to convert
8823
+ * @param {boolean} convertToJson - If true, result will be JSON object, if false becomes CSS string
8824
+ * @returns {string|Object} Inline CSS string or style JSON object
8694
8825
  */
8695
8826
  function tws(classNames, convertToJson) {
8696
8827
  const totalMarker = performanceMonitor.start("tws:total");
@@ -9134,17 +9265,18 @@ var tailwindToStyle = (function (exports) {
9134
9265
  return cssString.trim();
9135
9266
  }
9136
9267
 
9137
- /**
9138
- * Generate CSS string from style object with SCSS-like syntax
9139
- * Supports nested selectors, state variants, responsive variants, and @css directives
9140
- * @param {Object} obj - Object with SCSS-like style format
9141
- * @param {Object} [options] - Additional options, e.g. { inject: true/false }
9142
- * @returns {string} Generated CSS string
9268
+ /**
9269
+ * Generate CSS string from style object with SCSS-like syntax
9270
+ * Supports nested selectors, state variants, responsive variants, and @css directives
9271
+ * @param {Object} obj - Object with SCSS-like style format
9272
+ * @param {Object} [options] - Additional options, e.g. { inject: true/false }
9273
+ * @returns {string} Generated CSS string
9143
9274
  */
9144
9275
  function twsx(obj) {
9145
9276
  let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
9146
9277
  const totalMarker = performanceMonitor.start("twsx:total");
9147
9278
  try {
9279
+ var _options$theme2, _userConfigData$theme2;
9148
9280
  if (!obj || typeof obj !== "object") {
9149
9281
  logger.warn("twsx: Expected an object but received:", obj);
9150
9282
  return "";
@@ -9221,12 +9353,48 @@ var tailwindToStyle = (function (exports) {
9221
9353
  // Generate CSS string
9222
9354
  const cssString = performanceMonitor.measure(() => generateCssString(styles), "twsx:generate");
9223
9355
 
9356
+ // Generate keyframes CSS separately
9357
+ const keyframesMarker = performanceMonitor.start("twsx:keyframes");
9358
+ const userConfigData = getConfig();
9359
+ const mergedOptions = {
9360
+ ...options,
9361
+ theme: {
9362
+ ...options.theme,
9363
+ ...userConfigData.theme,
9364
+ extend: {
9365
+ ...((_options$theme2 = options.theme) === null || _options$theme2 === void 0 ? void 0 : _options$theme2.extend),
9366
+ ...((_userConfigData$theme2 = userConfigData.theme) === null || _userConfigData$theme2 === void 0 ? void 0 : _userConfigData$theme2.extend)
9367
+ }
9368
+ }
9369
+ };
9370
+ const configOptions = getConfigOptions(mergedOptions, Object.keys(plugins));
9371
+ const {
9372
+ keyframes = {}
9373
+ } = configOptions.theme || {};
9374
+ let keyframesCSS = "";
9375
+ for (const [name, keyframe] of Object.entries(keyframes)) {
9376
+ keyframesCSS += `@keyframes ${name} {\n`;
9377
+ for (const [percentage, styles] of Object.entries(keyframe)) {
9378
+ keyframesCSS += ` ${percentage} {\n`;
9379
+ for (const [prop, value] of Object.entries(styles)) {
9380
+ const cssProp = prop.replace(/([A-Z])/g, "-$1").toLowerCase();
9381
+ keyframesCSS += ` ${cssProp}: ${value};\n`;
9382
+ }
9383
+ keyframesCSS += ` }\n`;
9384
+ }
9385
+ keyframesCSS += `}\n`;
9386
+ }
9387
+ performanceMonitor.end(keyframesMarker);
9388
+
9389
+ // Combine keyframes and regular CSS
9390
+ const finalCSS = keyframesCSS + cssString;
9391
+
9224
9392
  // Auto-inject if needed
9225
9393
  if (inject && typeof window !== "undefined" && typeof document !== "undefined") {
9226
- performanceMonitor.measure(() => autoInjectCss(cssString), "twsx:inject");
9394
+ performanceMonitor.measure(() => autoInjectCss(finalCSS), "twsx:inject");
9227
9395
  }
9228
9396
  performanceMonitor.end(totalMarker);
9229
- return cssString;
9397
+ return finalCSS;
9230
9398
  } catch (error) {
9231
9399
  performanceMonitor.end(totalMarker);
9232
9400
  handleError(error, {
@@ -9284,19 +9452,19 @@ var tailwindToStyle = (function (exports) {
9284
9452
  }
9285
9453
 
9286
9454
  // Enhanced debounced functions with performance monitoring configuration
9287
- /**
9288
- * Debounced version of tws function with performance monitoring
9289
- * @param {string} classNames - String containing Tailwind classes to convert
9290
- * @param {boolean} convertToJson - If true, result will be JSON object, if false becomes CSS string
9291
- * @returns {string|Object} Inline CSS string or style JSON object
9455
+ /**
9456
+ * Debounced version of tws function with performance monitoring
9457
+ * @param {string} classNames - String containing Tailwind classes to convert
9458
+ * @param {boolean} convertToJson - If true, result will be JSON object, if false becomes CSS string
9459
+ * @returns {string|Object} Inline CSS string or style JSON object
9292
9460
  */
9293
9461
  const debouncedTws = debounce(tws, 50); // Faster debounce for tws
9294
9462
 
9295
- /**
9296
- * Debounced version of twsx function with performance monitoring
9297
- * @param {Object} obj - Object with SCSS-like style format
9298
- * @param {Object} [options] - Additional options
9299
- * @returns {string} Generated CSS string
9463
+ /**
9464
+ * Debounced version of twsx function with performance monitoring
9465
+ * @param {Object} obj - Object with SCSS-like style format
9466
+ * @param {Object} [options] - Additional options
9467
+ * @returns {string} Generated CSS string
9300
9468
  */
9301
9469
  const debouncedTwsx = debounce(twsx, 100); // Standard debounce for twsx
9302
9470