@alivecss/aliveui 1.0.2 → 1.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/dist/vite.mjs CHANGED
@@ -2212,6 +2212,19 @@ function resolveColor(colors, name, shade) {
2212
2212
  if (!Object.prototype.hasOwnProperty.call(entry, shade)) return null;
2213
2213
  return entry[shade] ?? null;
2214
2214
  }
2215
+ function applyOpacity(value, opacity) {
2216
+ const alpha = +(opacity / 100).toFixed(3);
2217
+ const hexMatch = value.match(/^#([0-9a-fA-F]{3,6})$/);
2218
+ if (hexMatch) {
2219
+ let hex = hexMatch[1];
2220
+ if (hex.length === 3) hex = hex.split("").map((c) => c + c).join("");
2221
+ const r = parseInt(hex.slice(0, 2), 16);
2222
+ const g = parseInt(hex.slice(2, 4), 16);
2223
+ const b = parseInt(hex.slice(4, 6), 16);
2224
+ return `rgba(${r}, ${g}, ${b}, ${alpha})`;
2225
+ }
2226
+ return `color-mix(in srgb, ${value} ${opacity}%, transparent)`;
2227
+ }
2215
2228
  function parseVariants(cls) {
2216
2229
  const variants = [];
2217
2230
  let depth = 0;
@@ -2252,7 +2265,7 @@ function matchColor(cls, colors) {
2252
2265
  if (bgMatch) {
2253
2266
  const value = resolveColor(colors, bgMatch[1], bgMatch[2]);
2254
2267
  if (value) {
2255
- return `.${cls} {
2268
+ return `.${escapeSelector(cls)} {
2256
2269
  background-color: ${value};${transitioned("background-color")}
2257
2270
  }`;
2258
2271
  }
@@ -2261,7 +2274,7 @@ function matchColor(cls, colors) {
2261
2274
  if (textColorMatch) {
2262
2275
  const value = resolveColor(colors, textColorMatch[1], textColorMatch[2]);
2263
2276
  if (value) {
2264
- return `.${cls} {
2277
+ return `.${escapeSelector(cls)} {
2265
2278
  color: ${value};${transitioned("color")}
2266
2279
  }`;
2267
2280
  }
@@ -2270,7 +2283,7 @@ function matchColor(cls, colors) {
2270
2283
  if (borderColorMatch) {
2271
2284
  const value = resolveColor(colors, borderColorMatch[1], borderColorMatch[2]);
2272
2285
  if (value) {
2273
- return `.${cls} {
2286
+ return `.${escapeSelector(cls)} {
2274
2287
  border-color: ${value};${transitioned("border-color")}
2275
2288
  }`;
2276
2289
  }
@@ -2279,7 +2292,7 @@ function matchColor(cls, colors) {
2279
2292
  if (ringColorMatch) {
2280
2293
  const value = resolveColor(colors, ringColorMatch[1], ringColorMatch[2]);
2281
2294
  if (value) {
2282
- return `.${cls} {
2295
+ return `.${escapeSelector(cls)} {
2283
2296
  --alive-ring-color: ${value};
2284
2297
  }`;
2285
2298
  }
@@ -2288,7 +2301,7 @@ function matchColor(cls, colors) {
2288
2301
  if (outlineColorMatch) {
2289
2302
  const value = resolveColor(colors, outlineColorMatch[1], outlineColorMatch[2]);
2290
2303
  if (value) {
2291
- return `.${cls} {
2304
+ return `.${escapeSelector(cls)} {
2292
2305
  outline-color: ${value};
2293
2306
  }`;
2294
2307
  }
@@ -2297,7 +2310,7 @@ function matchColor(cls, colors) {
2297
2310
  if (fillMatch) {
2298
2311
  const value = resolveColor(colors, fillMatch[1], fillMatch[2]);
2299
2312
  if (value) {
2300
- return `.${cls} {
2313
+ return `.${escapeSelector(cls)} {
2301
2314
  fill: ${value};
2302
2315
  }`;
2303
2316
  }
@@ -2306,7 +2319,7 @@ function matchColor(cls, colors) {
2306
2319
  if (strokeMatch) {
2307
2320
  const value = resolveColor(colors, strokeMatch[1], strokeMatch[2]);
2308
2321
  if (value) {
2309
- return `.${cls} {
2322
+ return `.${escapeSelector(cls)} {
2310
2323
  stroke: ${value};
2311
2324
  }`;
2312
2325
  }
@@ -2315,7 +2328,7 @@ function matchColor(cls, colors) {
2315
2328
  if (decorationMatch) {
2316
2329
  const value = resolveColor(colors, decorationMatch[1], decorationMatch[2]);
2317
2330
  if (value) {
2318
- return `.${cls} {
2331
+ return `.${escapeSelector(cls)} {
2319
2332
  text-decoration-color: ${value};
2320
2333
  }`;
2321
2334
  }
@@ -2324,7 +2337,7 @@ function matchColor(cls, colors) {
2324
2337
  if (caretMatch) {
2325
2338
  const value = resolveColor(colors, caretMatch[1], caretMatch[2]);
2326
2339
  if (value) {
2327
- return `.${cls} {
2340
+ return `.${escapeSelector(cls)} {
2328
2341
  caret-color: ${value};
2329
2342
  }`;
2330
2343
  }
@@ -2333,7 +2346,7 @@ function matchColor(cls, colors) {
2333
2346
  if (accentMatch) {
2334
2347
  const value = resolveColor(colors, accentMatch[1], accentMatch[2]);
2335
2348
  if (value) {
2336
- return `.${cls} {
2349
+ return `.${escapeSelector(cls)} {
2337
2350
  accent-color: ${value};
2338
2351
  }`;
2339
2352
  }
@@ -2342,49 +2355,72 @@ function matchColor(cls, colors) {
2342
2355
  if (shadowColorMatch) {
2343
2356
  const value = resolveColor(colors, shadowColorMatch[1], shadowColorMatch[2]);
2344
2357
  if (value) {
2345
- return `.${cls} {
2358
+ return `.${escapeSelector(cls)} {
2346
2359
  --alive-shadow-color: ${value};
2347
2360
  }`;
2348
2361
  }
2349
2362
  }
2350
- const arbBgMatch = cls.match(/^bg-\[(.+)\]$/);
2363
+ const arbBgMatch = cls.match(/^bg-\[(.+)\](?:\/(\d+))?$/);
2351
2364
  if (arbBgMatch) {
2352
- const val = arbBgMatch[1];
2365
+ const [, val, opStr] = arbBgMatch;
2353
2366
  const escaped = escapeSelector(cls);
2354
2367
  if (val.startsWith("url(") || val.startsWith("linear-gradient") || val.startsWith("radial-gradient")) {
2355
2368
  return `.${escaped} {
2356
2369
  background-image: ${val};${transitioned("background-image")}
2357
2370
  }`;
2358
2371
  }
2372
+ const colorVal = opStr ? applyOpacity(val, parseInt(opStr)) : val;
2359
2373
  return `.${escaped} {
2360
- background-color: ${val};${transitioned("background-color")}
2374
+ background-color: ${colorVal};${transitioned("background-color")}
2361
2375
  }`;
2362
2376
  }
2363
- const arbTextMatch = cls.match(/^text-\[(.+)\]$/);
2377
+ const arbTextMatch = cls.match(/^text-\[(.+)\](?:\/(\d+))?$/);
2364
2378
  if (arbTextMatch) {
2379
+ const [, val, opStr] = arbTextMatch;
2380
+ const isSizeValue = val.endsWith("px") || val.endsWith("em") || val.endsWith("rem") || val.endsWith("%") || val.endsWith("vw") || val.endsWith("vh") || val.endsWith("ch") || val.endsWith("ex") || val.endsWith("dvh") || /^[\d.]/.test(val) || /^(calc|clamp|min|max)\(/.test(val);
2381
+ if (isSizeValue) {
2382
+ return `.${escapeSelector(cls)} {
2383
+ font-size: ${val};
2384
+ }`;
2385
+ }
2386
+ const colorVal = opStr ? applyOpacity(val, parseInt(opStr)) : val;
2365
2387
  return `.${escapeSelector(cls)} {
2366
- color: ${arbTextMatch[1]};${transitioned("color")}
2388
+ color: ${colorVal};${transitioned("color")}
2367
2389
  }`;
2368
2390
  }
2369
- const arbBorderColorMatch = cls.match(/^border-\[#[0-9a-fA-F]|^border-\[rgb|^border-\[hsl|^border-\[oklch/);
2391
+ const arbBorderColorMatch = cls.match(/^border-\[(.+)\](?:\/(\d+))?$/);
2370
2392
  if (arbBorderColorMatch) {
2371
- const m = cls.match(/^border-\[(.+)\]$/);
2372
- if (m) {
2393
+ const [, val, opStr] = arbBorderColorMatch;
2394
+ const looksLikeColor = val.startsWith("#") || val.startsWith("rgb") || val.startsWith("hsl") || val.startsWith("oklch") || val.startsWith("var(") || val === "transparent" || val === "currentColor";
2395
+ if (looksLikeColor) {
2396
+ const colorVal = opStr ? applyOpacity(val, parseInt(opStr)) : val;
2373
2397
  return `.${escapeSelector(cls)} {
2374
- border-color: ${m[1]};${transitioned("border-color")}
2398
+ border-color: ${colorVal};${transitioned("border-color")}
2375
2399
  }`;
2376
2400
  }
2377
2401
  }
2378
- const arbFillMatch = cls.match(/^fill-\[(.+)\]$/);
2402
+ const arbRingColorMatch = cls.match(/^ring-\[(.+)\](?:\/(\d+))?$/);
2403
+ if (arbRingColorMatch) {
2404
+ const [, val, opStr] = arbRingColorMatch;
2405
+ const colorVal = opStr ? applyOpacity(val, parseInt(opStr)) : val;
2406
+ return `.${escapeSelector(cls)} {
2407
+ --alive-ring-color: ${colorVal};
2408
+ }`;
2409
+ }
2410
+ const arbFillMatch = cls.match(/^fill-\[(.+)\](?:\/(\d+))?$/);
2379
2411
  if (arbFillMatch) {
2412
+ const [, val, opStr] = arbFillMatch;
2413
+ const colorVal = opStr ? applyOpacity(val, parseInt(opStr)) : val;
2380
2414
  return `.${escapeSelector(cls)} {
2381
- fill: ${arbFillMatch[1]};
2415
+ fill: ${colorVal};
2382
2416
  }`;
2383
2417
  }
2384
- const arbStrokeMatch = cls.match(/^stroke-\[(.+)\]$/);
2418
+ const arbStrokeMatch = cls.match(/^stroke-\[(.+)\](?:\/(\d+))?$/);
2385
2419
  if (arbStrokeMatch) {
2420
+ const [, val, opStr] = arbStrokeMatch;
2421
+ const colorVal = opStr ? applyOpacity(val, parseInt(opStr)) : val;
2386
2422
  return `.${escapeSelector(cls)} {
2387
- stroke: ${arbStrokeMatch[1]};
2423
+ stroke: ${colorVal};
2388
2424
  }`;
2389
2425
  }
2390
2426
  return null;
@@ -2417,182 +2453,182 @@ function has(obj, key) {
2417
2453
  function matchSpacing(cls, spacing) {
2418
2454
  const pMatch = cls.match(/^p-(.+)$/);
2419
2455
  if (pMatch && has(spacing, pMatch[1])) {
2420
- return `.${cls} { padding: ${spacing[pMatch[1]]}; }`;
2456
+ return `.${escapeSelector(cls)} { padding: ${spacing[pMatch[1]]}; }`;
2421
2457
  }
2422
2458
  const pxMatch = cls.match(/^px-(.+)$/);
2423
2459
  if (pxMatch && has(spacing, pxMatch[1])) {
2424
- return `.${cls} { padding-left: ${spacing[pxMatch[1]]}; padding-right: ${spacing[pxMatch[1]]}; }`;
2460
+ return `.${escapeSelector(cls)} { padding-left: ${spacing[pxMatch[1]]}; padding-right: ${spacing[pxMatch[1]]}; }`;
2425
2461
  }
2426
2462
  const pyMatch = cls.match(/^py-(.+)$/);
2427
2463
  if (pyMatch && has(spacing, pyMatch[1])) {
2428
- return `.${cls} { padding-top: ${spacing[pyMatch[1]]}; padding-bottom: ${spacing[pyMatch[1]]}; }`;
2464
+ return `.${escapeSelector(cls)} { padding-top: ${spacing[pyMatch[1]]}; padding-bottom: ${spacing[pyMatch[1]]}; }`;
2429
2465
  }
2430
2466
  const ptMatch = cls.match(/^pt-(.+)$/);
2431
2467
  if (ptMatch && has(spacing, ptMatch[1])) {
2432
- return `.${cls} { padding-top: ${spacing[ptMatch[1]]}; }`;
2468
+ return `.${escapeSelector(cls)} { padding-top: ${spacing[ptMatch[1]]}; }`;
2433
2469
  }
2434
2470
  const prMatch = cls.match(/^pr-(.+)$/);
2435
2471
  if (prMatch && has(spacing, prMatch[1])) {
2436
- return `.${cls} { padding-right: ${spacing[prMatch[1]]}; }`;
2472
+ return `.${escapeSelector(cls)} { padding-right: ${spacing[prMatch[1]]}; }`;
2437
2473
  }
2438
2474
  const pbMatch = cls.match(/^pb-(.+)$/);
2439
2475
  if (pbMatch && has(spacing, pbMatch[1])) {
2440
- return `.${cls} { padding-bottom: ${spacing[pbMatch[1]]}; }`;
2476
+ return `.${escapeSelector(cls)} { padding-bottom: ${spacing[pbMatch[1]]}; }`;
2441
2477
  }
2442
2478
  const plMatch = cls.match(/^pl-(.+)$/);
2443
2479
  if (plMatch && has(spacing, plMatch[1])) {
2444
- return `.${cls} { padding-left: ${spacing[plMatch[1]]}; }`;
2480
+ return `.${escapeSelector(cls)} { padding-left: ${spacing[plMatch[1]]}; }`;
2445
2481
  }
2446
2482
  const mMatch = cls.match(/^m-(.+)$/);
2447
2483
  if (mMatch) {
2448
- if (mMatch[1] === "auto") return `.${cls} { margin: auto; }`;
2449
- if (has(spacing, mMatch[1])) return `.${cls} { margin: ${spacing[mMatch[1]]}; }`;
2484
+ if (mMatch[1] === "auto") return `.${escapeSelector(cls)} { margin: auto; }`;
2485
+ if (has(spacing, mMatch[1])) return `.${escapeSelector(cls)} { margin: ${spacing[mMatch[1]]}; }`;
2450
2486
  }
2451
2487
  const mxMatch = cls.match(/^mx-(.+)$/);
2452
2488
  if (mxMatch) {
2453
- if (mxMatch[1] === "auto") return `.${cls} { margin-left: auto; margin-right: auto; }`;
2454
- if (has(spacing, mxMatch[1])) return `.${cls} { margin-left: ${spacing[mxMatch[1]]}; margin-right: ${spacing[mxMatch[1]]}; }`;
2489
+ if (mxMatch[1] === "auto") return `.${escapeSelector(cls)} { margin-left: auto; margin-right: auto; }`;
2490
+ if (has(spacing, mxMatch[1])) return `.${escapeSelector(cls)} { margin-left: ${spacing[mxMatch[1]]}; margin-right: ${spacing[mxMatch[1]]}; }`;
2455
2491
  }
2456
2492
  const myMatch = cls.match(/^my-(.+)$/);
2457
2493
  if (myMatch) {
2458
- if (myMatch[1] === "auto") return `.${cls} { margin-top: auto; margin-bottom: auto; }`;
2459
- if (has(spacing, myMatch[1])) return `.${cls} { margin-top: ${spacing[myMatch[1]]}; margin-bottom: ${spacing[myMatch[1]]}; }`;
2494
+ if (myMatch[1] === "auto") return `.${escapeSelector(cls)} { margin-top: auto; margin-bottom: auto; }`;
2495
+ if (has(spacing, myMatch[1])) return `.${escapeSelector(cls)} { margin-top: ${spacing[myMatch[1]]}; margin-bottom: ${spacing[myMatch[1]]}; }`;
2460
2496
  }
2461
2497
  const mtMatch = cls.match(/^mt-(.+)$/);
2462
2498
  if (mtMatch) {
2463
- if (mtMatch[1] === "auto") return `.${cls} { margin-top: auto; }`;
2464
- if (has(spacing, mtMatch[1])) return `.${cls} { margin-top: ${spacing[mtMatch[1]]}; }`;
2499
+ if (mtMatch[1] === "auto") return `.${escapeSelector(cls)} { margin-top: auto; }`;
2500
+ if (has(spacing, mtMatch[1])) return `.${escapeSelector(cls)} { margin-top: ${spacing[mtMatch[1]]}; }`;
2465
2501
  }
2466
2502
  const mrMatch = cls.match(/^mr-(.+)$/);
2467
2503
  if (mrMatch) {
2468
- if (mrMatch[1] === "auto") return `.${cls} { margin-right: auto; }`;
2469
- if (has(spacing, mrMatch[1])) return `.${cls} { margin-right: ${spacing[mrMatch[1]]}; }`;
2504
+ if (mrMatch[1] === "auto") return `.${escapeSelector(cls)} { margin-right: auto; }`;
2505
+ if (has(spacing, mrMatch[1])) return `.${escapeSelector(cls)} { margin-right: ${spacing[mrMatch[1]]}; }`;
2470
2506
  }
2471
2507
  const mbMatch = cls.match(/^mb-(.+)$/);
2472
2508
  if (mbMatch) {
2473
- if (mbMatch[1] === "auto") return `.${cls} { margin-bottom: auto; }`;
2474
- if (has(spacing, mbMatch[1])) return `.${cls} { margin-bottom: ${spacing[mbMatch[1]]}; }`;
2509
+ if (mbMatch[1] === "auto") return `.${escapeSelector(cls)} { margin-bottom: auto; }`;
2510
+ if (has(spacing, mbMatch[1])) return `.${escapeSelector(cls)} { margin-bottom: ${spacing[mbMatch[1]]}; }`;
2475
2511
  }
2476
2512
  const mlMatch = cls.match(/^ml-(.+)$/);
2477
2513
  if (mlMatch) {
2478
- if (mlMatch[1] === "auto") return `.${cls} { margin-left: auto; }`;
2479
- if (has(spacing, mlMatch[1])) return `.${cls} { margin-left: ${spacing[mlMatch[1]]}; }`;
2514
+ if (mlMatch[1] === "auto") return `.${escapeSelector(cls)} { margin-left: auto; }`;
2515
+ if (has(spacing, mlMatch[1])) return `.${escapeSelector(cls)} { margin-left: ${spacing[mlMatch[1]]}; }`;
2480
2516
  }
2481
2517
  const gapMatch = cls.match(/^gap-(.+)$/);
2482
2518
  if (gapMatch && has(spacing, gapMatch[1])) {
2483
- return `.${cls} { gap: ${spacing[gapMatch[1]]}; }`;
2519
+ return `.${escapeSelector(cls)} { gap: ${spacing[gapMatch[1]]}; }`;
2484
2520
  }
2485
2521
  const gapXMatch = cls.match(/^gap-x-(.+)$/);
2486
2522
  if (gapXMatch && has(spacing, gapXMatch[1])) {
2487
- return `.${cls} { column-gap: ${spacing[gapXMatch[1]]}; }`;
2523
+ return `.${escapeSelector(cls)} { column-gap: ${spacing[gapXMatch[1]]}; }`;
2488
2524
  }
2489
2525
  const gapYMatch = cls.match(/^gap-y-(.+)$/);
2490
2526
  if (gapYMatch && has(spacing, gapYMatch[1])) {
2491
- return `.${cls} { row-gap: ${spacing[gapYMatch[1]]}; }`;
2527
+ return `.${escapeSelector(cls)} { row-gap: ${spacing[gapYMatch[1]]}; }`;
2492
2528
  }
2493
2529
  const spaceXMatch = cls.match(/^space-x-(.+)$/);
2494
2530
  if (spaceXMatch && has(spacing, spaceXMatch[1])) {
2495
- return `.${cls} > * + * { margin-left: ${spacing[spaceXMatch[1]]}; }`;
2531
+ return `.${escapeSelector(cls)}> * + * { margin-left: ${spacing[spaceXMatch[1]]}; }`;
2496
2532
  }
2497
2533
  const spaceYMatch = cls.match(/^space-y-(.+)$/);
2498
2534
  if (spaceYMatch && has(spacing, spaceYMatch[1])) {
2499
- return `.${cls} > * + * { margin-top: ${spacing[spaceYMatch[1]]}; }`;
2535
+ return `.${escapeSelector(cls)}> * + * { margin-top: ${spacing[spaceYMatch[1]]}; }`;
2500
2536
  }
2501
2537
  const insetMatch = cls.match(/^inset-(.+)$/);
2502
2538
  if (insetMatch) {
2503
- if (insetMatch[1] === "auto") return `.${cls} { inset: auto; }`;
2504
- if (insetMatch[1] === "0") return `.${cls} { inset: 0px; }`;
2505
- if (has(spacing, insetMatch[1])) return `.${cls} { inset: ${spacing[insetMatch[1]]}; }`;
2539
+ if (insetMatch[1] === "auto") return `.${escapeSelector(cls)} { inset: auto; }`;
2540
+ if (insetMatch[1] === "0") return `.${escapeSelector(cls)} { inset: 0px; }`;
2541
+ if (has(spacing, insetMatch[1])) return `.${escapeSelector(cls)} { inset: ${spacing[insetMatch[1]]}; }`;
2506
2542
  }
2507
2543
  const insetXMatch = cls.match(/^inset-x-(.+)$/);
2508
2544
  if (insetXMatch) {
2509
2545
  const val = insetXMatch[1] === "auto" ? "auto" : insetXMatch[1] === "0" ? "0px" : has(spacing, insetXMatch[1]) ? spacing[insetXMatch[1]] : void 0;
2510
- if (val) return `.${cls} { left: ${val}; right: ${val}; }`;
2546
+ if (val) return `.${escapeSelector(cls)} { left: ${val}; right: ${val}; }`;
2511
2547
  }
2512
2548
  const insetYMatch = cls.match(/^inset-y-(.+)$/);
2513
2549
  if (insetYMatch) {
2514
2550
  const val = insetYMatch[1] === "auto" ? "auto" : insetYMatch[1] === "0" ? "0px" : has(spacing, insetYMatch[1]) ? spacing[insetYMatch[1]] : void 0;
2515
- if (val) return `.${cls} { top: ${val}; bottom: ${val}; }`;
2551
+ if (val) return `.${escapeSelector(cls)} { top: ${val}; bottom: ${val}; }`;
2516
2552
  }
2517
2553
  const topMatch = cls.match(/^top-(.+)$/);
2518
2554
  if (topMatch) {
2519
- if (topMatch[1] === "auto") return `.${cls} { top: auto; }`;
2520
- if (topMatch[1] === "0") return `.${cls} { top: 0px; }`;
2521
- if (has(spacing, topMatch[1])) return `.${cls} { top: ${spacing[topMatch[1]]}; }`;
2555
+ if (topMatch[1] === "auto") return `.${escapeSelector(cls)} { top: auto; }`;
2556
+ if (topMatch[1] === "0") return `.${escapeSelector(cls)} { top: 0px; }`;
2557
+ if (has(spacing, topMatch[1])) return `.${escapeSelector(cls)} { top: ${spacing[topMatch[1]]}; }`;
2522
2558
  }
2523
2559
  const rightMatch = cls.match(/^right-(.+)$/);
2524
2560
  if (rightMatch) {
2525
- if (rightMatch[1] === "auto") return `.${cls} { right: auto; }`;
2526
- if (rightMatch[1] === "0") return `.${cls} { right: 0px; }`;
2527
- if (has(spacing, rightMatch[1])) return `.${cls} { right: ${spacing[rightMatch[1]]}; }`;
2561
+ if (rightMatch[1] === "auto") return `.${escapeSelector(cls)} { right: auto; }`;
2562
+ if (rightMatch[1] === "0") return `.${escapeSelector(cls)} { right: 0px; }`;
2563
+ if (has(spacing, rightMatch[1])) return `.${escapeSelector(cls)} { right: ${spacing[rightMatch[1]]}; }`;
2528
2564
  }
2529
2565
  const bottomMatch = cls.match(/^bottom-(.+)$/);
2530
2566
  if (bottomMatch) {
2531
- if (bottomMatch[1] === "auto") return `.${cls} { bottom: auto; }`;
2532
- if (bottomMatch[1] === "0") return `.${cls} { bottom: 0px; }`;
2533
- if (has(spacing, bottomMatch[1])) return `.${cls} { bottom: ${spacing[bottomMatch[1]]}; }`;
2567
+ if (bottomMatch[1] === "auto") return `.${escapeSelector(cls)} { bottom: auto; }`;
2568
+ if (bottomMatch[1] === "0") return `.${escapeSelector(cls)} { bottom: 0px; }`;
2569
+ if (has(spacing, bottomMatch[1])) return `.${escapeSelector(cls)} { bottom: ${spacing[bottomMatch[1]]}; }`;
2534
2570
  }
2535
2571
  const leftMatch = cls.match(/^left-(.+)$/);
2536
2572
  if (leftMatch) {
2537
- if (leftMatch[1] === "auto") return `.${cls} { left: auto; }`;
2538
- if (leftMatch[1] === "0") return `.${cls} { left: 0px; }`;
2539
- if (has(spacing, leftMatch[1])) return `.${cls} { left: ${spacing[leftMatch[1]]}; }`;
2573
+ if (leftMatch[1] === "auto") return `.${escapeSelector(cls)} { left: auto; }`;
2574
+ if (leftMatch[1] === "0") return `.${escapeSelector(cls)} { left: 0px; }`;
2575
+ if (has(spacing, leftMatch[1])) return `.${escapeSelector(cls)} { left: ${spacing[leftMatch[1]]}; }`;
2540
2576
  }
2541
2577
  const negMMatch = cls.match(/^-m-(.+)$/);
2542
2578
  if (negMMatch && has(spacing, negMMatch[1])) {
2543
- return `.\\-m-${negMMatch[1]} { margin: -${spacing[negMMatch[1]]}; }`;
2579
+ return `.${escapeSelector(cls)} { margin: -${spacing[negMMatch[1]]}; }`;
2544
2580
  }
2545
2581
  const negMxMatch = cls.match(/^-mx-(.+)$/);
2546
2582
  if (negMxMatch && has(spacing, negMxMatch[1])) {
2547
- return `.\\-mx-${negMxMatch[1]} { margin-left: -${spacing[negMxMatch[1]]}; margin-right: -${spacing[negMxMatch[1]]}; }`;
2583
+ return `.${escapeSelector(cls)} { margin-left: -${spacing[negMxMatch[1]]}; margin-right: -${spacing[negMxMatch[1]]}; }`;
2548
2584
  }
2549
2585
  const negMyMatch = cls.match(/^-my-(.+)$/);
2550
2586
  if (negMyMatch && has(spacing, negMyMatch[1])) {
2551
- return `.\\-my-${negMyMatch[1]} { margin-top: -${spacing[negMyMatch[1]]}; margin-bottom: -${spacing[negMyMatch[1]]}; }`;
2587
+ return `.${escapeSelector(cls)} { margin-top: -${spacing[negMyMatch[1]]}; margin-bottom: -${spacing[negMyMatch[1]]}; }`;
2552
2588
  }
2553
2589
  const negMtMatch = cls.match(/^-mt-(.+)$/);
2554
2590
  if (negMtMatch && has(spacing, negMtMatch[1])) {
2555
- return `.\\-mt-${negMtMatch[1]} { margin-top: -${spacing[negMtMatch[1]]}; }`;
2591
+ return `.${escapeSelector(cls)} { margin-top: -${spacing[negMtMatch[1]]}; }`;
2556
2592
  }
2557
2593
  const negMrMatch = cls.match(/^-mr-(.+)$/);
2558
2594
  if (negMrMatch && has(spacing, negMrMatch[1])) {
2559
- return `.\\-mr-${negMrMatch[1]} { margin-right: -${spacing[negMrMatch[1]]}; }`;
2595
+ return `.${escapeSelector(cls)} { margin-right: -${spacing[negMrMatch[1]]}; }`;
2560
2596
  }
2561
2597
  const negMbMatch = cls.match(/^-mb-(.+)$/);
2562
2598
  if (negMbMatch && has(spacing, negMbMatch[1])) {
2563
- return `.\\-mb-${negMbMatch[1]} { margin-bottom: -${spacing[negMbMatch[1]]}; }`;
2599
+ return `.${escapeSelector(cls)} { margin-bottom: -${spacing[negMbMatch[1]]}; }`;
2564
2600
  }
2565
2601
  const negMlMatch = cls.match(/^-ml-(.+)$/);
2566
2602
  if (negMlMatch && has(spacing, negMlMatch[1])) {
2567
- return `.\\-ml-${negMlMatch[1]} { margin-left: -${spacing[negMlMatch[1]]}; }`;
2603
+ return `.${escapeSelector(cls)} { margin-left: -${spacing[negMlMatch[1]]}; }`;
2568
2604
  }
2569
2605
  const negInsetMatch = cls.match(/^-inset-(.+)$/);
2570
2606
  if (negInsetMatch && has(spacing, negInsetMatch[1])) {
2571
- return `.\\-inset-${negInsetMatch[1]} { inset: -${spacing[negInsetMatch[1]]}; }`;
2607
+ return `.${escapeSelector(cls)} { inset: -${spacing[negInsetMatch[1]]}; }`;
2572
2608
  }
2573
2609
  const negInsetXMatch = cls.match(/^-inset-x-(.+)$/);
2574
2610
  if (negInsetXMatch && has(spacing, negInsetXMatch[1])) {
2575
- return `.\\-inset-x-${negInsetXMatch[1]} { left: -${spacing[negInsetXMatch[1]]}; right: -${spacing[negInsetXMatch[1]]}; }`;
2611
+ return `.${escapeSelector(cls)} { left: -${spacing[negInsetXMatch[1]]}; right: -${spacing[negInsetXMatch[1]]}; }`;
2576
2612
  }
2577
2613
  const negInsetYMatch = cls.match(/^-inset-y-(.+)$/);
2578
2614
  if (negInsetYMatch && has(spacing, negInsetYMatch[1])) {
2579
- return `.\\-inset-y-${negInsetYMatch[1]} { top: -${spacing[negInsetYMatch[1]]}; bottom: -${spacing[negInsetYMatch[1]]}; }`;
2615
+ return `.${escapeSelector(cls)} { top: -${spacing[negInsetYMatch[1]]}; bottom: -${spacing[negInsetYMatch[1]]}; }`;
2580
2616
  }
2581
2617
  const negTopMatch = cls.match(/^-top-(.+)$/);
2582
2618
  if (negTopMatch && has(spacing, negTopMatch[1])) {
2583
- return `.\\-top-${negTopMatch[1]} { top: -${spacing[negTopMatch[1]]}; }`;
2619
+ return `.${escapeSelector(cls)} { top: -${spacing[negTopMatch[1]]}; }`;
2584
2620
  }
2585
2621
  const negRightMatch = cls.match(/^-right-(.+)$/);
2586
2622
  if (negRightMatch && has(spacing, negRightMatch[1])) {
2587
- return `.\\-right-${negRightMatch[1]} { right: -${spacing[negRightMatch[1]]}; }`;
2623
+ return `.${escapeSelector(cls)} { right: -${spacing[negRightMatch[1]]}; }`;
2588
2624
  }
2589
2625
  const negBottomMatch = cls.match(/^-bottom-(.+)$/);
2590
2626
  if (negBottomMatch && has(spacing, negBottomMatch[1])) {
2591
- return `.\\-bottom-${negBottomMatch[1]} { bottom: -${spacing[negBottomMatch[1]]}; }`;
2627
+ return `.${escapeSelector(cls)} { bottom: -${spacing[negBottomMatch[1]]}; }`;
2592
2628
  }
2593
2629
  const negLeftMatch = cls.match(/^-left-(.+)$/);
2594
2630
  if (negLeftMatch && has(spacing, negLeftMatch[1])) {
2595
- return `.\\-left-${negLeftMatch[1]} { left: -${spacing[negLeftMatch[1]]}; }`;
2631
+ return `.${escapeSelector(cls)} { left: -${spacing[negLeftMatch[1]]}; }`;
2596
2632
  }
2597
2633
  const arbSpacingMatch = cls.match(/^(w|h|p|m|pt|pr|pb|pl|px|py|mt|mr|mb|ml|mx|my|gap|gap-x|gap-y|top|right|bottom|left|inset|inset-x|inset-y)-\[(.+)\]$/);
2598
2634
  if (arbSpacingMatch) {
@@ -2679,21 +2715,21 @@ function matchTypography(cls, fontSize, fontWeight, lineHeight) {
2679
2715
  const textSizeMatch = cls.match(/^text-(xs|sm|base|lg|xl|2xl|3xl|4xl|5xl|6xl|7xl|8xl|9xl)$/);
2680
2716
  if (textSizeMatch && hasOwn(fontSize, textSizeMatch[1])) {
2681
2717
  const [size, lh] = fontSize[textSizeMatch[1]];
2682
- return `.${cls} {
2718
+ return `.${escapeSelector(cls)} {
2683
2719
  font-size: ${size};
2684
2720
  line-height: ${lh};
2685
2721
  }`;
2686
2722
  }
2687
2723
  const fontWeightMatch = cls.match(/^font-(thin|extralight|light|normal|medium|semibold|bold|extrabold|black)$/);
2688
2724
  if (fontWeightMatch && hasOwn(fontWeight, fontWeightMatch[1])) {
2689
- return `.${cls} { font-weight: ${fontWeight[fontWeightMatch[1]]}; }`;
2725
+ return `.${escapeSelector(cls)} { font-weight: ${fontWeight[fontWeightMatch[1]]}; }`;
2690
2726
  }
2691
- if (cls === "font-sans") return `.${cls} { font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }`;
2692
- if (cls === "font-serif") return `.${cls} { font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; }`;
2693
- if (cls === "font-mono") return `.${cls} { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }`;
2727
+ if (cls === "font-sans") return `.${escapeSelector(cls)} { font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }`;
2728
+ if (cls === "font-serif") return `.${escapeSelector(cls)} { font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; }`;
2729
+ if (cls === "font-mono") return `.${escapeSelector(cls)} { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }`;
2694
2730
  const leadingMatch = cls.match(/^leading-(.+)$/);
2695
2731
  if (leadingMatch && hasOwn(lineHeight, leadingMatch[1])) {
2696
- return `.${cls} { line-height: ${lineHeight[leadingMatch[1]]}; }`;
2732
+ return `.${escapeSelector(cls)} { line-height: ${lineHeight[leadingMatch[1]]}; }`;
2697
2733
  }
2698
2734
  const trackingMap = {
2699
2735
  tighter: "-0.05em",
@@ -2705,68 +2741,55 @@ function matchTypography(cls, fontSize, fontWeight, lineHeight) {
2705
2741
  };
2706
2742
  const trackingMatch = cls.match(/^tracking-(.+)$/);
2707
2743
  if (trackingMatch && Object.prototype.hasOwnProperty.call(trackingMap, trackingMatch[1])) {
2708
- return `.${cls} { letter-spacing: ${trackingMap[trackingMatch[1]]}; }`;
2709
- }
2710
- if (cls === "text-left") return `.${cls} { text-align: left; }`;
2711
- if (cls === "text-center") return `.${cls} { text-align: center; }`;
2712
- if (cls === "text-right") return `.${cls} { text-align: right; }`;
2713
- if (cls === "text-justify") return `.${cls} { text-align: justify; }`;
2714
- if (cls === "text-start") return `.${cls} { text-align: start; }`;
2715
- if (cls === "text-end") return `.${cls} { text-align: end; }`;
2716
- if (cls === "uppercase") return `.${cls} { text-transform: uppercase; }`;
2717
- if (cls === "lowercase") return `.${cls} { text-transform: lowercase; }`;
2718
- if (cls === "capitalize") return `.${cls} { text-transform: capitalize; }`;
2719
- if (cls === "normal-case") return `.${cls} { text-transform: none; }`;
2720
- if (cls === "underline") return `.${cls} { text-decoration-line: underline; }`;
2721
- if (cls === "overline") return `.${cls} { text-decoration-line: overline; }`;
2722
- if (cls === "line-through") return `.${cls} { text-decoration-line: line-through; }`;
2723
- if (cls === "no-underline") return `.${cls} { text-decoration-line: none; }`;
2724
- if (cls === "truncate") return `.${cls} { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }`;
2725
- if (cls === "text-ellipsis") return `.${cls} { text-overflow: ellipsis; }`;
2726
- if (cls === "text-clip") return `.${cls} { text-overflow: clip; }`;
2727
- if (cls === "whitespace-normal") return `.${cls} { white-space: normal; }`;
2728
- if (cls === "whitespace-nowrap") return `.${cls} { white-space: nowrap; }`;
2729
- if (cls === "whitespace-pre") return `.${cls} { white-space: pre; }`;
2730
- if (cls === "whitespace-pre-line") return `.${cls} { white-space: pre-line; }`;
2731
- if (cls === "whitespace-pre-wrap") return `.${cls} { white-space: pre-wrap; }`;
2732
- if (cls === "whitespace-break-spaces") return `.${cls} { white-space: break-spaces; }`;
2733
- if (cls === "italic") return `.${cls} { font-style: italic; }`;
2734
- if (cls === "not-italic") return `.${cls} { font-style: normal; }`;
2735
- if (cls === "tabular-nums") return `.${cls} { font-variant-numeric: tabular-nums; }`;
2736
- if (cls === "oldstyle-nums") return `.${cls} { font-variant-numeric: oldstyle-nums; }`;
2737
- if (cls === "list-none") return `.${cls} { list-style-type: none; }`;
2738
- if (cls === "list-disc") return `.${cls} { list-style-type: disc; }`;
2739
- if (cls === "list-decimal") return `.${cls} { list-style-type: decimal; }`;
2740
- if (cls === "break-normal") return `.${cls} { overflow-wrap: normal; word-break: normal; }`;
2741
- if (cls === "break-words") return `.${cls} { overflow-wrap: break-word; }`;
2742
- if (cls === "break-all") return `.${cls} { word-break: break-all; }`;
2743
- if (cls === "break-keep") return `.${cls} { word-break: keep-all; }`;
2744
+ return `.${escapeSelector(cls)} { letter-spacing: ${trackingMap[trackingMatch[1]]}; }`;
2745
+ }
2746
+ if (cls === "text-left") return `.${escapeSelector(cls)} { text-align: left; }`;
2747
+ if (cls === "text-center") return `.${escapeSelector(cls)} { text-align: center; }`;
2748
+ if (cls === "text-right") return `.${escapeSelector(cls)} { text-align: right; }`;
2749
+ if (cls === "text-justify") return `.${escapeSelector(cls)} { text-align: justify; }`;
2750
+ if (cls === "text-start") return `.${escapeSelector(cls)} { text-align: start; }`;
2751
+ if (cls === "text-end") return `.${escapeSelector(cls)} { text-align: end; }`;
2752
+ if (cls === "uppercase") return `.${escapeSelector(cls)} { text-transform: uppercase; }`;
2753
+ if (cls === "lowercase") return `.${escapeSelector(cls)} { text-transform: lowercase; }`;
2754
+ if (cls === "capitalize") return `.${escapeSelector(cls)} { text-transform: capitalize; }`;
2755
+ if (cls === "normal-case") return `.${escapeSelector(cls)} { text-transform: none; }`;
2756
+ if (cls === "underline") return `.${escapeSelector(cls)} { text-decoration-line: underline; }`;
2757
+ if (cls === "overline") return `.${escapeSelector(cls)} { text-decoration-line: overline; }`;
2758
+ if (cls === "line-through") return `.${escapeSelector(cls)} { text-decoration-line: line-through; }`;
2759
+ if (cls === "no-underline") return `.${escapeSelector(cls)} { text-decoration-line: none; }`;
2760
+ if (cls === "truncate") return `.${escapeSelector(cls)} { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }`;
2761
+ if (cls === "text-ellipsis") return `.${escapeSelector(cls)} { text-overflow: ellipsis; }`;
2762
+ if (cls === "text-clip") return `.${escapeSelector(cls)} { text-overflow: clip; }`;
2763
+ if (cls === "whitespace-normal") return `.${escapeSelector(cls)} { white-space: normal; }`;
2764
+ if (cls === "whitespace-nowrap") return `.${escapeSelector(cls)} { white-space: nowrap; }`;
2765
+ if (cls === "whitespace-pre") return `.${escapeSelector(cls)} { white-space: pre; }`;
2766
+ if (cls === "whitespace-pre-line") return `.${escapeSelector(cls)} { white-space: pre-line; }`;
2767
+ if (cls === "whitespace-pre-wrap") return `.${escapeSelector(cls)} { white-space: pre-wrap; }`;
2768
+ if (cls === "whitespace-break-spaces") return `.${escapeSelector(cls)} { white-space: break-spaces; }`;
2769
+ if (cls === "italic") return `.${escapeSelector(cls)} { font-style: italic; }`;
2770
+ if (cls === "not-italic") return `.${escapeSelector(cls)} { font-style: normal; }`;
2771
+ if (cls === "tabular-nums") return `.${escapeSelector(cls)} { font-variant-numeric: tabular-nums; }`;
2772
+ if (cls === "oldstyle-nums") return `.${escapeSelector(cls)} { font-variant-numeric: oldstyle-nums; }`;
2773
+ if (cls === "list-none") return `.${escapeSelector(cls)} { list-style-type: none; }`;
2774
+ if (cls === "list-disc") return `.${escapeSelector(cls)} { list-style-type: disc; }`;
2775
+ if (cls === "list-decimal") return `.${escapeSelector(cls)} { list-style-type: decimal; }`;
2776
+ if (cls === "break-normal") return `.${escapeSelector(cls)} { overflow-wrap: normal; word-break: normal; }`;
2777
+ if (cls === "break-words") return `.${escapeSelector(cls)} { overflow-wrap: break-word; }`;
2778
+ if (cls === "break-all") return `.${escapeSelector(cls)} { word-break: break-all; }`;
2779
+ if (cls === "break-keep") return `.${escapeSelector(cls)} { word-break: keep-all; }`;
2744
2780
  return null;
2745
2781
  }
2746
2782
  var init_typography = __esm({
2747
2783
  "src/generator/typography.ts"() {
2748
2784
  "use strict";
2785
+ init_utils();
2749
2786
  }
2750
2787
  });
2751
2788
 
2752
2789
  // src/generator/layout.ts
2753
- function has2(obj, key) {
2754
- return typeof obj[key] === "string";
2755
- }
2756
- function generateLayout(classes, config) {
2757
- const { spacing } = config.theme;
2790
+ function generateLayout(classes, _config) {
2758
2791
  const rules = [];
2759
2792
  for (const cls of classes) {
2760
- const spaceYMatch = cls.match(/^space-y-(.+)$/);
2761
- if (spaceYMatch && has2(spacing, spaceYMatch[1])) {
2762
- rules.push(`.${escapeSelector(cls)} > * + * { margin-top: ${spacing[spaceYMatch[1]]}; }`);
2763
- continue;
2764
- }
2765
- const spaceXMatch = cls.match(/^space-x-(.+)$/);
2766
- if (spaceXMatch && has2(spacing, spaceXMatch[1])) {
2767
- rules.push(`.${escapeSelector(cls)} > * + * { margin-left: ${spacing[spaceXMatch[1]]}; }`);
2768
- continue;
2769
- }
2770
2793
  const generated = matchLayout(cls);
2771
2794
  if (generated) rules.push(generated);
2772
2795
  }
@@ -2785,7 +2808,7 @@ function matchLayout(cls) {
2785
2808
  hidden: "display: none;",
2786
2809
  contents: "display: contents;"
2787
2810
  };
2788
- if (displayMap[cls]) return `.${cls} { ${displayMap[cls]} }`;
2811
+ if (displayMap[cls]) return `.${escapeSelector(cls)} { ${displayMap[cls]} }`;
2789
2812
  const posMap = {
2790
2813
  static: "position: static;",
2791
2814
  relative: "position: relative;",
@@ -2793,115 +2816,115 @@ function matchLayout(cls) {
2793
2816
  fixed: "position: fixed;",
2794
2817
  sticky: "position: sticky;"
2795
2818
  };
2796
- if (posMap[cls]) return `.${cls} { ${posMap[cls]} }`;
2797
- if (cls === "flex-row") return `.${cls} { flex-direction: row; }`;
2798
- if (cls === "flex-row-reverse") return `.${cls} { flex-direction: row-reverse; }`;
2799
- if (cls === "flex-col") return `.${cls} { flex-direction: column; }`;
2800
- if (cls === "flex-col-reverse") return `.${cls} { flex-direction: column-reverse; }`;
2801
- if (cls === "flex-wrap") return `.${cls} { flex-wrap: wrap; }`;
2802
- if (cls === "flex-nowrap") return `.${cls} { flex-wrap: nowrap; }`;
2803
- if (cls === "flex-wrap-reverse") return `.${cls} { flex-wrap: wrap-reverse; }`;
2804
- if (cls === "flex-1") return `.${cls} { flex: 1 1 0%; }`;
2805
- if (cls === "flex-auto") return `.${cls} { flex: 1 1 auto; }`;
2806
- if (cls === "flex-initial") return `.${cls} { flex: 0 1 auto; }`;
2807
- if (cls === "flex-none") return `.${cls} { flex: none; }`;
2808
- if (cls === "flex-grow") return `.${cls} { flex-grow: 1; }`;
2809
- if (cls === "flex-grow-0") return `.${cls} { flex-grow: 0; }`;
2810
- if (cls === "flex-shrink") return `.${cls} { flex-shrink: 1; }`;
2811
- if (cls === "flex-shrink-0") return `.${cls} { flex-shrink: 0; }`;
2812
- if (cls === "grow") return `.${cls} { flex-grow: 1; }`;
2813
- if (cls === "grow-0") return `.${cls} { flex-grow: 0; }`;
2814
- if (cls === "shrink") return `.${cls} { flex-shrink: 1; }`;
2815
- if (cls === "shrink-0") return `.${cls} { flex-shrink: 0; }`;
2816
- if (cls === "items-start") return `.${cls} { align-items: flex-start; }`;
2817
- if (cls === "items-end") return `.${cls} { align-items: flex-end; }`;
2818
- if (cls === "items-center") return `.${cls} { align-items: center; }`;
2819
- if (cls === "items-baseline") return `.${cls} { align-items: baseline; }`;
2820
- if (cls === "items-stretch") return `.${cls} { align-items: stretch; }`;
2821
- if (cls === "self-auto") return `.${cls} { align-self: auto; }`;
2822
- if (cls === "self-start") return `.${cls} { align-self: flex-start; }`;
2823
- if (cls === "self-end") return `.${cls} { align-self: flex-end; }`;
2824
- if (cls === "self-center") return `.${cls} { align-self: center; }`;
2825
- if (cls === "self-stretch") return `.${cls} { align-self: stretch; }`;
2826
- if (cls === "self-baseline") return `.${cls} { align-self: baseline; }`;
2827
- if (cls === "justify-start") return `.${cls} { justify-content: flex-start; }`;
2828
- if (cls === "justify-end") return `.${cls} { justify-content: flex-end; }`;
2829
- if (cls === "justify-center") return `.${cls} { justify-content: center; }`;
2830
- if (cls === "justify-between") return `.${cls} { justify-content: space-between; }`;
2831
- if (cls === "justify-around") return `.${cls} { justify-content: space-around; }`;
2832
- if (cls === "justify-evenly") return `.${cls} { justify-content: space-evenly; }`;
2833
- if (cls === "justify-stretch") return `.${cls} { justify-content: stretch; }`;
2834
- if (cls === "justify-items-start") return `.${cls} { justify-items: start; }`;
2835
- if (cls === "justify-items-end") return `.${cls} { justify-items: end; }`;
2836
- if (cls === "justify-items-center") return `.${cls} { justify-items: center; }`;
2837
- if (cls === "justify-items-stretch") return `.${cls} { justify-items: stretch; }`;
2838
- if (cls === "justify-self-auto") return `.${cls} { justify-self: auto; }`;
2839
- if (cls === "justify-self-start") return `.${cls} { justify-self: start; }`;
2840
- if (cls === "justify-self-end") return `.${cls} { justify-self: end; }`;
2841
- if (cls === "justify-self-center") return `.${cls} { justify-self: center; }`;
2842
- if (cls === "justify-self-stretch") return `.${cls} { justify-self: stretch; }`;
2843
- if (cls === "content-normal") return `.${cls} { align-content: normal; }`;
2844
- if (cls === "content-center") return `.${cls} { align-content: center; }`;
2845
- if (cls === "content-start") return `.${cls} { align-content: flex-start; }`;
2846
- if (cls === "content-end") return `.${cls} { align-content: flex-end; }`;
2847
- if (cls === "content-between") return `.${cls} { align-content: space-between; }`;
2848
- if (cls === "content-around") return `.${cls} { align-content: space-around; }`;
2849
- if (cls === "content-evenly") return `.${cls} { align-content: space-evenly; }`;
2850
- if (cls === "content-stretch") return `.${cls} { align-content: stretch; }`;
2851
- if (cls === "content-baseline") return `.${cls} { align-content: baseline; }`;
2819
+ if (posMap[cls]) return `.${escapeSelector(cls)} { ${posMap[cls]} }`;
2820
+ if (cls === "flex-row") return `.${escapeSelector(cls)} { flex-direction: row; }`;
2821
+ if (cls === "flex-row-reverse") return `.${escapeSelector(cls)} { flex-direction: row-reverse; }`;
2822
+ if (cls === "flex-col") return `.${escapeSelector(cls)} { flex-direction: column; }`;
2823
+ if (cls === "flex-col-reverse") return `.${escapeSelector(cls)} { flex-direction: column-reverse; }`;
2824
+ if (cls === "flex-wrap") return `.${escapeSelector(cls)} { flex-wrap: wrap; }`;
2825
+ if (cls === "flex-nowrap") return `.${escapeSelector(cls)} { flex-wrap: nowrap; }`;
2826
+ if (cls === "flex-wrap-reverse") return `.${escapeSelector(cls)} { flex-wrap: wrap-reverse; }`;
2827
+ if (cls === "flex-1") return `.${escapeSelector(cls)} { flex: 1 1 0%; }`;
2828
+ if (cls === "flex-auto") return `.${escapeSelector(cls)} { flex: 1 1 auto; }`;
2829
+ if (cls === "flex-initial") return `.${escapeSelector(cls)} { flex: 0 1 auto; }`;
2830
+ if (cls === "flex-none") return `.${escapeSelector(cls)} { flex: none; }`;
2831
+ if (cls === "flex-grow") return `.${escapeSelector(cls)} { flex-grow: 1; }`;
2832
+ if (cls === "flex-grow-0") return `.${escapeSelector(cls)} { flex-grow: 0; }`;
2833
+ if (cls === "flex-shrink") return `.${escapeSelector(cls)} { flex-shrink: 1; }`;
2834
+ if (cls === "flex-shrink-0") return `.${escapeSelector(cls)} { flex-shrink: 0; }`;
2835
+ if (cls === "grow") return `.${escapeSelector(cls)} { flex-grow: 1; }`;
2836
+ if (cls === "grow-0") return `.${escapeSelector(cls)} { flex-grow: 0; }`;
2837
+ if (cls === "shrink") return `.${escapeSelector(cls)} { flex-shrink: 1; }`;
2838
+ if (cls === "shrink-0") return `.${escapeSelector(cls)} { flex-shrink: 0; }`;
2839
+ if (cls === "items-start") return `.${escapeSelector(cls)} { align-items: flex-start; }`;
2840
+ if (cls === "items-end") return `.${escapeSelector(cls)} { align-items: flex-end; }`;
2841
+ if (cls === "items-center") return `.${escapeSelector(cls)} { align-items: center; }`;
2842
+ if (cls === "items-baseline") return `.${escapeSelector(cls)} { align-items: baseline; }`;
2843
+ if (cls === "items-stretch") return `.${escapeSelector(cls)} { align-items: stretch; }`;
2844
+ if (cls === "self-auto") return `.${escapeSelector(cls)} { align-self: auto; }`;
2845
+ if (cls === "self-start") return `.${escapeSelector(cls)} { align-self: flex-start; }`;
2846
+ if (cls === "self-end") return `.${escapeSelector(cls)} { align-self: flex-end; }`;
2847
+ if (cls === "self-center") return `.${escapeSelector(cls)} { align-self: center; }`;
2848
+ if (cls === "self-stretch") return `.${escapeSelector(cls)} { align-self: stretch; }`;
2849
+ if (cls === "self-baseline") return `.${escapeSelector(cls)} { align-self: baseline; }`;
2850
+ if (cls === "justify-start") return `.${escapeSelector(cls)} { justify-content: flex-start; }`;
2851
+ if (cls === "justify-end") return `.${escapeSelector(cls)} { justify-content: flex-end; }`;
2852
+ if (cls === "justify-center") return `.${escapeSelector(cls)} { justify-content: center; }`;
2853
+ if (cls === "justify-between") return `.${escapeSelector(cls)} { justify-content: space-between; }`;
2854
+ if (cls === "justify-around") return `.${escapeSelector(cls)} { justify-content: space-around; }`;
2855
+ if (cls === "justify-evenly") return `.${escapeSelector(cls)} { justify-content: space-evenly; }`;
2856
+ if (cls === "justify-stretch") return `.${escapeSelector(cls)} { justify-content: stretch; }`;
2857
+ if (cls === "justify-items-start") return `.${escapeSelector(cls)} { justify-items: start; }`;
2858
+ if (cls === "justify-items-end") return `.${escapeSelector(cls)} { justify-items: end; }`;
2859
+ if (cls === "justify-items-center") return `.${escapeSelector(cls)} { justify-items: center; }`;
2860
+ if (cls === "justify-items-stretch") return `.${escapeSelector(cls)} { justify-items: stretch; }`;
2861
+ if (cls === "justify-self-auto") return `.${escapeSelector(cls)} { justify-self: auto; }`;
2862
+ if (cls === "justify-self-start") return `.${escapeSelector(cls)} { justify-self: start; }`;
2863
+ if (cls === "justify-self-end") return `.${escapeSelector(cls)} { justify-self: end; }`;
2864
+ if (cls === "justify-self-center") return `.${escapeSelector(cls)} { justify-self: center; }`;
2865
+ if (cls === "justify-self-stretch") return `.${escapeSelector(cls)} { justify-self: stretch; }`;
2866
+ if (cls === "content-normal") return `.${escapeSelector(cls)} { align-content: normal; }`;
2867
+ if (cls === "content-center") return `.${escapeSelector(cls)} { align-content: center; }`;
2868
+ if (cls === "content-start") return `.${escapeSelector(cls)} { align-content: flex-start; }`;
2869
+ if (cls === "content-end") return `.${escapeSelector(cls)} { align-content: flex-end; }`;
2870
+ if (cls === "content-between") return `.${escapeSelector(cls)} { align-content: space-between; }`;
2871
+ if (cls === "content-around") return `.${escapeSelector(cls)} { align-content: space-around; }`;
2872
+ if (cls === "content-evenly") return `.${escapeSelector(cls)} { align-content: space-evenly; }`;
2873
+ if (cls === "content-stretch") return `.${escapeSelector(cls)} { align-content: stretch; }`;
2874
+ if (cls === "content-baseline") return `.${escapeSelector(cls)} { align-content: baseline; }`;
2852
2875
  const gridColsMatch = cls.match(/^grid-cols-(\d+)$/);
2853
2876
  if (gridColsMatch) {
2854
2877
  const n = parseInt(gridColsMatch[1]);
2855
- return `.${cls} { grid-template-columns: repeat(${n}, minmax(0, 1fr)); }`;
2878
+ return `.${escapeSelector(cls)} { grid-template-columns: repeat(${n}, minmax(0, 1fr)); }`;
2856
2879
  }
2857
- if (cls === "grid-cols-none") return `.${cls} { grid-template-columns: none; }`;
2880
+ if (cls === "grid-cols-none") return `.${escapeSelector(cls)} { grid-template-columns: none; }`;
2858
2881
  const gridRowsMatch = cls.match(/^grid-rows-(\d+)$/);
2859
2882
  if (gridRowsMatch) {
2860
2883
  const n = parseInt(gridRowsMatch[1]);
2861
- return `.${cls} { grid-template-rows: repeat(${n}, minmax(0, 1fr)); }`;
2884
+ return `.${escapeSelector(cls)} { grid-template-rows: repeat(${n}, minmax(0, 1fr)); }`;
2862
2885
  }
2863
- if (cls === "grid-rows-none") return `.${cls} { grid-template-rows: none; }`;
2886
+ if (cls === "grid-rows-none") return `.${escapeSelector(cls)} { grid-template-rows: none; }`;
2864
2887
  const colSpanMatch = cls.match(/^col-span-(\d+)$/);
2865
- if (colSpanMatch) return `.${cls} { grid-column: span ${colSpanMatch[1]} / span ${colSpanMatch[1]}; }`;
2866
- if (cls === "col-span-full") return `.${cls} { grid-column: 1 / -1; }`;
2867
- if (cls === "col-auto") return `.${cls} { grid-column: auto; }`;
2888
+ if (colSpanMatch) return `.${escapeSelector(cls)} { grid-column: span ${colSpanMatch[1]} / span ${colSpanMatch[1]}; }`;
2889
+ if (cls === "col-span-full") return `.${escapeSelector(cls)} { grid-column: 1 / -1; }`;
2890
+ if (cls === "col-auto") return `.${escapeSelector(cls)} { grid-column: auto; }`;
2868
2891
  const rowSpanMatch = cls.match(/^row-span-(\d+)$/);
2869
- if (rowSpanMatch) return `.${cls} { grid-row: span ${rowSpanMatch[1]} / span ${rowSpanMatch[1]}; }`;
2870
- if (cls === "row-span-full") return `.${cls} { grid-row: 1 / -1; }`;
2871
- if (cls === "row-auto") return `.${cls} { grid-row: auto; }`;
2892
+ if (rowSpanMatch) return `.${escapeSelector(cls)} { grid-row: span ${rowSpanMatch[1]} / span ${rowSpanMatch[1]}; }`;
2893
+ if (cls === "row-span-full") return `.${escapeSelector(cls)} { grid-row: 1 / -1; }`;
2894
+ if (cls === "row-auto") return `.${escapeSelector(cls)} { grid-row: auto; }`;
2872
2895
  const colStartMatch = cls.match(/^col-start-(\d+)$/);
2873
- if (colStartMatch) return `.${cls} { grid-column-start: ${colStartMatch[1]}; }`;
2896
+ if (colStartMatch) return `.${escapeSelector(cls)} { grid-column-start: ${colStartMatch[1]}; }`;
2874
2897
  const colEndMatch = cls.match(/^col-end-(\d+)$/);
2875
- if (colEndMatch) return `.${cls} { grid-column-end: ${colEndMatch[1]}; }`;
2898
+ if (colEndMatch) return `.${escapeSelector(cls)} { grid-column-end: ${colEndMatch[1]}; }`;
2876
2899
  const rowStartMatch = cls.match(/^row-start-(\d+)$/);
2877
- if (rowStartMatch) return `.${cls} { grid-row-start: ${rowStartMatch[1]}; }`;
2900
+ if (rowStartMatch) return `.${escapeSelector(cls)} { grid-row-start: ${rowStartMatch[1]}; }`;
2878
2901
  const rowEndMatch = cls.match(/^row-end-(\d+)$/);
2879
- if (rowEndMatch) return `.${cls} { grid-row-end: ${rowEndMatch[1]}; }`;
2902
+ if (rowEndMatch) return `.${escapeSelector(cls)} { grid-row-end: ${rowEndMatch[1]}; }`;
2880
2903
  const orderMatch = cls.match(/^order-(-?\d+)$/);
2881
- if (orderMatch) return `.${cls} { order: ${orderMatch[1]}; }`;
2882
- if (cls === "order-first") return `.${cls} { order: -9999; }`;
2883
- if (cls === "order-last") return `.${cls} { order: 9999; }`;
2884
- if (cls === "order-none") return `.${cls} { order: 0; }`;
2885
- if (cls === "float-right") return `.${cls} { float: right; }`;
2886
- if (cls === "float-left") return `.${cls} { float: left; }`;
2887
- if (cls === "float-none") return `.${cls} { float: none; }`;
2904
+ if (orderMatch) return `.${escapeSelector(cls)} { order: ${orderMatch[1]}; }`;
2905
+ if (cls === "order-first") return `.${escapeSelector(cls)} { order: -9999; }`;
2906
+ if (cls === "order-last") return `.${escapeSelector(cls)} { order: 9999; }`;
2907
+ if (cls === "order-none") return `.${escapeSelector(cls)} { order: 0; }`;
2908
+ if (cls === "float-right") return `.${escapeSelector(cls)} { float: right; }`;
2909
+ if (cls === "float-left") return `.${escapeSelector(cls)} { float: left; }`;
2910
+ if (cls === "float-none") return `.${escapeSelector(cls)} { float: none; }`;
2888
2911
  if (cls === "clearfix") return `.${cls}::after { content: ""; display: table; clear: both; }`;
2889
- if (cls === "overflow-auto") return `.${cls} { overflow: auto; }`;
2890
- if (cls === "overflow-hidden") return `.${cls} { overflow: hidden; }`;
2891
- if (cls === "overflow-clip") return `.${cls} { overflow: clip; }`;
2892
- if (cls === "overflow-visible") return `.${cls} { overflow: visible; }`;
2893
- if (cls === "overflow-scroll") return `.${cls} { overflow: scroll; }`;
2894
- if (cls === "overflow-x-auto") return `.${cls} { overflow-x: auto; }`;
2895
- if (cls === "overflow-x-hidden") return `.${cls} { overflow-x: hidden; }`;
2896
- if (cls === "overflow-x-scroll") return `.${cls} { overflow-x: scroll; }`;
2897
- if (cls === "overflow-y-auto") return `.${cls} { overflow-y: auto; }`;
2898
- if (cls === "overflow-y-hidden") return `.${cls} { overflow-y: hidden; }`;
2899
- if (cls === "overflow-y-scroll") return `.${cls} { overflow-y: scroll; }`;
2900
- if (cls === "visible") return `.${cls} { visibility: visible; }`;
2901
- if (cls === "invisible") return `.${cls} { visibility: hidden; }`;
2902
- if (cls === "collapse") return `.${cls} { visibility: collapse; }`;
2903
- if (cls === "pointer-events-none") return `.${cls} { pointer-events: none; }`;
2904
- if (cls === "pointer-events-auto") return `.${cls} { pointer-events: auto; }`;
2912
+ if (cls === "overflow-auto") return `.${escapeSelector(cls)} { overflow: auto; }`;
2913
+ if (cls === "overflow-hidden") return `.${escapeSelector(cls)} { overflow: hidden; }`;
2914
+ if (cls === "overflow-clip") return `.${escapeSelector(cls)} { overflow: clip; }`;
2915
+ if (cls === "overflow-visible") return `.${escapeSelector(cls)} { overflow: visible; }`;
2916
+ if (cls === "overflow-scroll") return `.${escapeSelector(cls)} { overflow: scroll; }`;
2917
+ if (cls === "overflow-x-auto") return `.${escapeSelector(cls)} { overflow-x: auto; }`;
2918
+ if (cls === "overflow-x-hidden") return `.${escapeSelector(cls)} { overflow-x: hidden; }`;
2919
+ if (cls === "overflow-x-scroll") return `.${escapeSelector(cls)} { overflow-x: scroll; }`;
2920
+ if (cls === "overflow-y-auto") return `.${escapeSelector(cls)} { overflow-y: auto; }`;
2921
+ if (cls === "overflow-y-hidden") return `.${escapeSelector(cls)} { overflow-y: hidden; }`;
2922
+ if (cls === "overflow-y-scroll") return `.${escapeSelector(cls)} { overflow-y: scroll; }`;
2923
+ if (cls === "visible") return `.${escapeSelector(cls)} { visibility: visible; }`;
2924
+ if (cls === "invisible") return `.${escapeSelector(cls)} { visibility: hidden; }`;
2925
+ if (cls === "collapse") return `.${escapeSelector(cls)} { visibility: collapse; }`;
2926
+ if (cls === "pointer-events-none") return `.${escapeSelector(cls)} { pointer-events: none; }`;
2927
+ if (cls === "pointer-events-auto") return `.${escapeSelector(cls)} { pointer-events: auto; }`;
2905
2928
  const cursorMap = {
2906
2929
  "cursor-auto": "auto",
2907
2930
  "cursor-default": "default",
@@ -2918,30 +2941,30 @@ function matchLayout(cls) {
2918
2941
  "cursor-zoom-in": "zoom-in",
2919
2942
  "cursor-zoom-out": "zoom-out"
2920
2943
  };
2921
- if (cursorMap[cls]) return `.${cls} { cursor: ${cursorMap[cls]}; }`;
2922
- if (cls === "select-none") return `.${cls} { user-select: none; }`;
2923
- if (cls === "select-text") return `.${cls} { user-select: text; }`;
2924
- if (cls === "select-all") return `.${cls} { user-select: all; }`;
2925
- if (cls === "select-auto") return `.${cls} { user-select: auto; }`;
2926
- if (cls === "object-contain") return `.${cls} { object-fit: contain; }`;
2927
- if (cls === "object-cover") return `.${cls} { object-fit: cover; }`;
2928
- if (cls === "object-fill") return `.${cls} { object-fit: fill; }`;
2929
- if (cls === "object-none") return `.${cls} { object-fit: none; }`;
2930
- if (cls === "object-scale-down") return `.${cls} { object-fit: scale-down; }`;
2931
- if (cls === "aspect-auto") return `.${cls} { aspect-ratio: auto; }`;
2932
- if (cls === "aspect-square") return `.${cls} { aspect-ratio: 1 / 1; }`;
2933
- if (cls === "aspect-video") return `.${cls} { aspect-ratio: 16 / 9; }`;
2944
+ if (cursorMap[cls]) return `.${escapeSelector(cls)} { cursor: ${cursorMap[cls]}; }`;
2945
+ if (cls === "select-none") return `.${escapeSelector(cls)} { user-select: none; }`;
2946
+ if (cls === "select-text") return `.${escapeSelector(cls)} { user-select: text; }`;
2947
+ if (cls === "select-all") return `.${escapeSelector(cls)} { user-select: all; }`;
2948
+ if (cls === "select-auto") return `.${escapeSelector(cls)} { user-select: auto; }`;
2949
+ if (cls === "object-contain") return `.${escapeSelector(cls)} { object-fit: contain; }`;
2950
+ if (cls === "object-cover") return `.${escapeSelector(cls)} { object-fit: cover; }`;
2951
+ if (cls === "object-fill") return `.${escapeSelector(cls)} { object-fit: fill; }`;
2952
+ if (cls === "object-none") return `.${escapeSelector(cls)} { object-fit: none; }`;
2953
+ if (cls === "object-scale-down") return `.${escapeSelector(cls)} { object-fit: scale-down; }`;
2954
+ if (cls === "aspect-auto") return `.${escapeSelector(cls)} { aspect-ratio: auto; }`;
2955
+ if (cls === "aspect-square") return `.${escapeSelector(cls)} { aspect-ratio: 1 / 1; }`;
2956
+ if (cls === "aspect-video") return `.${escapeSelector(cls)} { aspect-ratio: 16 / 9; }`;
2934
2957
  if (cls === "container") {
2935
- return `.${cls} {
2958
+ return `.${escapeSelector(cls)} {
2936
2959
  width: 100%;
2937
2960
  margin-left: auto;
2938
2961
  margin-right: auto;
2939
2962
  }`;
2940
2963
  }
2941
- if (cls === "box-border") return `.${cls} { box-sizing: border-box; }`;
2942
- if (cls === "box-content") return `.${cls} { box-sizing: content-box; }`;
2943
- if (cls === "isolate") return `.${cls} { isolation: isolate; }`;
2944
- if (cls === "isolation-auto") return `.${cls} { isolation: auto; }`;
2964
+ if (cls === "box-border") return `.${escapeSelector(cls)} { box-sizing: border-box; }`;
2965
+ if (cls === "box-content") return `.${escapeSelector(cls)} { box-sizing: content-box; }`;
2966
+ if (cls === "isolate") return `.${escapeSelector(cls)} { isolation: isolate; }`;
2967
+ if (cls === "isolation-auto") return `.${escapeSelector(cls)} { isolation: auto; }`;
2945
2968
  const mixBlendMap = {
2946
2969
  "mix-blend-normal": "normal",
2947
2970
  "mix-blend-multiply": "multiply",
@@ -2956,35 +2979,35 @@ function matchLayout(cls) {
2956
2979
  "mix-blend-difference": "difference",
2957
2980
  "mix-blend-exclusion": "exclusion"
2958
2981
  };
2959
- if (mixBlendMap[cls]) return `.${cls} { mix-blend-mode: ${mixBlendMap[cls]}; }`;
2960
- if (cls === "bg-auto") return `.${cls} { background-size: auto; }`;
2961
- if (cls === "bg-cover") return `.${cls} { background-size: cover; }`;
2962
- if (cls === "bg-contain") return `.${cls} { background-size: contain; }`;
2963
- if (cls === "bg-center") return `.${cls} { background-position: center; }`;
2964
- if (cls === "bg-top") return `.${cls} { background-position: top; }`;
2965
- if (cls === "bg-bottom") return `.${cls} { background-position: bottom; }`;
2966
- if (cls === "bg-left") return `.${cls} { background-position: left; }`;
2967
- if (cls === "bg-right") return `.${cls} { background-position: right; }`;
2968
- if (cls === "bg-left-top") return `.${cls} { background-position: left top; }`;
2969
- if (cls === "bg-left-bottom") return `.${cls} { background-position: left bottom; }`;
2970
- if (cls === "bg-right-top") return `.${cls} { background-position: right top; }`;
2971
- if (cls === "bg-right-bottom") return `.${cls} { background-position: right bottom; }`;
2972
- if (cls === "bg-repeat") return `.${cls} { background-repeat: repeat; }`;
2973
- if (cls === "bg-no-repeat") return `.${cls} { background-repeat: no-repeat; }`;
2974
- if (cls === "bg-repeat-x") return `.${cls} { background-repeat: repeat-x; }`;
2975
- if (cls === "bg-repeat-y") return `.${cls} { background-repeat: repeat-y; }`;
2976
- if (cls === "bg-repeat-round") return `.${cls} { background-repeat: round; }`;
2977
- if (cls === "bg-repeat-space") return `.${cls} { background-repeat: space; }`;
2978
- if (cls === "bg-fixed") return `.${cls} { background-attachment: fixed; }`;
2979
- if (cls === "bg-local") return `.${cls} { background-attachment: local; }`;
2980
- if (cls === "bg-scroll") return `.${cls} { background-attachment: scroll; }`;
2981
- if (cls === "bg-origin-border") return `.${cls} { background-origin: border-box; }`;
2982
- if (cls === "bg-origin-padding") return `.${cls} { background-origin: padding-box; }`;
2983
- if (cls === "bg-origin-content") return `.${cls} { background-origin: content-box; }`;
2984
- if (cls === "bg-clip-border") return `.${cls} { background-clip: border-box; }`;
2985
- if (cls === "bg-clip-padding") return `.${cls} { background-clip: padding-box; }`;
2986
- if (cls === "bg-clip-content") return `.${cls} { background-clip: content-box; }`;
2987
- if (cls === "bg-clip-text") return `.${cls} { background-clip: text; -webkit-background-clip: text; }`;
2982
+ if (mixBlendMap[cls]) return `.${escapeSelector(cls)} { mix-blend-mode: ${mixBlendMap[cls]}; }`;
2983
+ if (cls === "bg-auto") return `.${escapeSelector(cls)} { background-size: auto; }`;
2984
+ if (cls === "bg-cover") return `.${escapeSelector(cls)} { background-size: cover; }`;
2985
+ if (cls === "bg-contain") return `.${escapeSelector(cls)} { background-size: contain; }`;
2986
+ if (cls === "bg-center") return `.${escapeSelector(cls)} { background-position: center; }`;
2987
+ if (cls === "bg-top") return `.${escapeSelector(cls)} { background-position: top; }`;
2988
+ if (cls === "bg-bottom") return `.${escapeSelector(cls)} { background-position: bottom; }`;
2989
+ if (cls === "bg-left") return `.${escapeSelector(cls)} { background-position: left; }`;
2990
+ if (cls === "bg-right") return `.${escapeSelector(cls)} { background-position: right; }`;
2991
+ if (cls === "bg-left-top") return `.${escapeSelector(cls)} { background-position: left top; }`;
2992
+ if (cls === "bg-left-bottom") return `.${escapeSelector(cls)} { background-position: left bottom; }`;
2993
+ if (cls === "bg-right-top") return `.${escapeSelector(cls)} { background-position: right top; }`;
2994
+ if (cls === "bg-right-bottom") return `.${escapeSelector(cls)} { background-position: right bottom; }`;
2995
+ if (cls === "bg-repeat") return `.${escapeSelector(cls)} { background-repeat: repeat; }`;
2996
+ if (cls === "bg-no-repeat") return `.${escapeSelector(cls)} { background-repeat: no-repeat; }`;
2997
+ if (cls === "bg-repeat-x") return `.${escapeSelector(cls)} { background-repeat: repeat-x; }`;
2998
+ if (cls === "bg-repeat-y") return `.${escapeSelector(cls)} { background-repeat: repeat-y; }`;
2999
+ if (cls === "bg-repeat-round") return `.${escapeSelector(cls)} { background-repeat: round; }`;
3000
+ if (cls === "bg-repeat-space") return `.${escapeSelector(cls)} { background-repeat: space; }`;
3001
+ if (cls === "bg-fixed") return `.${escapeSelector(cls)} { background-attachment: fixed; }`;
3002
+ if (cls === "bg-local") return `.${escapeSelector(cls)} { background-attachment: local; }`;
3003
+ if (cls === "bg-scroll") return `.${escapeSelector(cls)} { background-attachment: scroll; }`;
3004
+ if (cls === "bg-origin-border") return `.${escapeSelector(cls)} { background-origin: border-box; }`;
3005
+ if (cls === "bg-origin-padding") return `.${escapeSelector(cls)} { background-origin: padding-box; }`;
3006
+ if (cls === "bg-origin-content") return `.${escapeSelector(cls)} { background-origin: content-box; }`;
3007
+ if (cls === "bg-clip-border") return `.${escapeSelector(cls)} { background-clip: border-box; }`;
3008
+ if (cls === "bg-clip-padding") return `.${escapeSelector(cls)} { background-clip: padding-box; }`;
3009
+ if (cls === "bg-clip-content") return `.${escapeSelector(cls)} { background-clip: content-box; }`;
3010
+ if (cls === "bg-clip-text") return `.${escapeSelector(cls)} { background-clip: text; -webkit-background-clip: text; }`;
2988
3011
  return null;
2989
3012
  }
2990
3013
  var init_layout = __esm({
@@ -2995,7 +3018,7 @@ var init_layout = __esm({
2995
3018
  });
2996
3019
 
2997
3020
  // src/generator/sizing.ts
2998
- function has3(obj, key) {
3021
+ function has2(obj, key) {
2999
3022
  return typeof obj[key] === "string";
3000
3023
  }
3001
3024
  function generateSizing(classes, config) {
@@ -3039,25 +3062,25 @@ function matchSizing(cls, spacing) {
3039
3062
  const wMatch = cls.match(/^w-(.+)$/);
3040
3063
  if (wMatch) {
3041
3064
  const key = wMatch[1];
3042
- if (key === "auto") return `.${cls} { width: auto; }`;
3043
- if (key === "full") return `.${cls} { width: 100%; }`;
3044
- if (key === "screen") return `.${cls} { width: 100vw; }`;
3045
- if (key === "svw") return `.${cls} { width: 100svw; }`;
3046
- if (key === "min") return `.${cls} { width: min-content; }`;
3047
- if (key === "max") return `.${cls} { width: max-content; }`;
3048
- if (key === "fit") return `.${cls} { width: fit-content; }`;
3049
- if (has3(fractions, key)) return `.${cls} { width: ${fractions[key]}; }`;
3050
- if (has3(spacing, key)) return `.${cls} { width: ${spacing[key]}; }`;
3065
+ if (key === "auto") return `.${escapeSelector(cls)} { width: auto; }`;
3066
+ if (key === "full") return `.${escapeSelector(cls)} { width: 100%; }`;
3067
+ if (key === "screen") return `.${escapeSelector(cls)} { width: 100vw; }`;
3068
+ if (key === "svw") return `.${escapeSelector(cls)} { width: 100svw; }`;
3069
+ if (key === "min") return `.${escapeSelector(cls)} { width: min-content; }`;
3070
+ if (key === "max") return `.${escapeSelector(cls)} { width: max-content; }`;
3071
+ if (key === "fit") return `.${escapeSelector(cls)} { width: fit-content; }`;
3072
+ if (has2(fractions, key)) return `.${escapeSelector(cls)} { width: ${fractions[key]}; }`;
3073
+ if (has2(spacing, key)) return `.${escapeSelector(cls)} { width: ${spacing[key]}; }`;
3051
3074
  }
3052
3075
  const minWMatch = cls.match(/^min-w-(.+)$/);
3053
3076
  if (minWMatch) {
3054
3077
  const key = minWMatch[1];
3055
- if (key === "0") return `.${cls} { min-width: 0px; }`;
3056
- if (key === "full") return `.${cls} { min-width: 100%; }`;
3057
- if (key === "min") return `.${cls} { min-width: min-content; }`;
3058
- if (key === "max") return `.${cls} { min-width: max-content; }`;
3059
- if (key === "fit") return `.${cls} { min-width: fit-content; }`;
3060
- if (has3(spacing, key)) return `.${cls} { min-width: ${spacing[key]}; }`;
3078
+ if (key === "0") return `.${escapeSelector(cls)} { min-width: 0px; }`;
3079
+ if (key === "full") return `.${escapeSelector(cls)} { min-width: 100%; }`;
3080
+ if (key === "min") return `.${escapeSelector(cls)} { min-width: min-content; }`;
3081
+ if (key === "max") return `.${escapeSelector(cls)} { min-width: max-content; }`;
3082
+ if (key === "fit") return `.${escapeSelector(cls)} { min-width: fit-content; }`;
3083
+ if (has2(spacing, key)) return `.${escapeSelector(cls)} { min-width: ${spacing[key]}; }`;
3061
3084
  }
3062
3085
  const maxWMap = {
3063
3086
  none: "none",
@@ -3084,64 +3107,65 @@ function matchSizing(cls, spacing) {
3084
3107
  "screen-2xl": "1536px"
3085
3108
  };
3086
3109
  const maxWMatch = cls.match(/^max-w-(.+)$/);
3087
- if (maxWMatch && has3(maxWMap, maxWMatch[1])) {
3088
- return `.${cls} { max-width: ${maxWMap[maxWMatch[1]]}; }`;
3110
+ if (maxWMatch && has2(maxWMap, maxWMatch[1])) {
3111
+ return `.${escapeSelector(cls)} { max-width: ${maxWMap[maxWMatch[1]]}; }`;
3089
3112
  }
3090
3113
  const hMatch = cls.match(/^h-(.+)$/);
3091
3114
  if (hMatch) {
3092
3115
  const key = hMatch[1];
3093
- if (key === "auto") return `.${cls} { height: auto; }`;
3094
- if (key === "full") return `.${cls} { height: 100%; }`;
3095
- if (key === "screen") return `.${cls} { height: 100vh; }`;
3096
- if (key === "svh") return `.${cls} { height: 100svh; }`;
3097
- if (key === "dvh") return `.${cls} { height: 100dvh; }`;
3098
- if (key === "min") return `.${cls} { height: min-content; }`;
3099
- if (key === "max") return `.${cls} { height: max-content; }`;
3100
- if (key === "fit") return `.${cls} { height: fit-content; }`;
3101
- if (has3(fractions, key)) return `.${cls} { height: ${fractions[key]}; }`;
3102
- if (has3(spacing, key)) return `.${cls} { height: ${spacing[key]}; }`;
3116
+ if (key === "auto") return `.${escapeSelector(cls)} { height: auto; }`;
3117
+ if (key === "full") return `.${escapeSelector(cls)} { height: 100%; }`;
3118
+ if (key === "screen") return `.${escapeSelector(cls)} { height: 100vh; }`;
3119
+ if (key === "svh") return `.${escapeSelector(cls)} { height: 100svh; }`;
3120
+ if (key === "dvh") return `.${escapeSelector(cls)} { height: 100dvh; }`;
3121
+ if (key === "min") return `.${escapeSelector(cls)} { height: min-content; }`;
3122
+ if (key === "max") return `.${escapeSelector(cls)} { height: max-content; }`;
3123
+ if (key === "fit") return `.${escapeSelector(cls)} { height: fit-content; }`;
3124
+ if (has2(fractions, key)) return `.${escapeSelector(cls)} { height: ${fractions[key]}; }`;
3125
+ if (has2(spacing, key)) return `.${escapeSelector(cls)} { height: ${spacing[key]}; }`;
3103
3126
  }
3104
3127
  const minHMatch = cls.match(/^min-h-(.+)$/);
3105
3128
  if (minHMatch) {
3106
3129
  const key = minHMatch[1];
3107
- if (key === "0") return `.${cls} { min-height: 0px; }`;
3108
- if (key === "full") return `.${cls} { min-height: 100%; }`;
3109
- if (key === "screen") return `.${cls} { min-height: 100vh; }`;
3110
- if (key === "svh") return `.${cls} { min-height: 100svh; }`;
3111
- if (key === "dvh") return `.${cls} { min-height: 100dvh; }`;
3112
- if (key === "fit") return `.${cls} { min-height: fit-content; }`;
3113
- if (has3(spacing, key)) return `.${cls} { min-height: ${spacing[key]}; }`;
3130
+ if (key === "0") return `.${escapeSelector(cls)} { min-height: 0px; }`;
3131
+ if (key === "full") return `.${escapeSelector(cls)} { min-height: 100%; }`;
3132
+ if (key === "screen") return `.${escapeSelector(cls)} { min-height: 100vh; }`;
3133
+ if (key === "svh") return `.${escapeSelector(cls)} { min-height: 100svh; }`;
3134
+ if (key === "dvh") return `.${escapeSelector(cls)} { min-height: 100dvh; }`;
3135
+ if (key === "fit") return `.${escapeSelector(cls)} { min-height: fit-content; }`;
3136
+ if (has2(spacing, key)) return `.${escapeSelector(cls)} { min-height: ${spacing[key]}; }`;
3114
3137
  }
3115
3138
  const maxHMatch = cls.match(/^max-h-(.+)$/);
3116
3139
  if (maxHMatch) {
3117
3140
  const key = maxHMatch[1];
3118
- if (key === "none") return `.${cls} { max-height: none; }`;
3119
- if (key === "full") return `.${cls} { max-height: 100%; }`;
3120
- if (key === "screen") return `.${cls} { max-height: 100vh; }`;
3121
- if (key === "svh") return `.${cls} { max-height: 100svh; }`;
3122
- if (key === "dvh") return `.${cls} { max-height: 100dvh; }`;
3123
- if (key === "fit") return `.${cls} { max-height: fit-content; }`;
3124
- if (has3(spacing, key)) return `.${cls} { max-height: ${spacing[key]}; }`;
3141
+ if (key === "none") return `.${escapeSelector(cls)} { max-height: none; }`;
3142
+ if (key === "full") return `.${escapeSelector(cls)} { max-height: 100%; }`;
3143
+ if (key === "screen") return `.${escapeSelector(cls)} { max-height: 100vh; }`;
3144
+ if (key === "svh") return `.${escapeSelector(cls)} { max-height: 100svh; }`;
3145
+ if (key === "dvh") return `.${escapeSelector(cls)} { max-height: 100dvh; }`;
3146
+ if (key === "fit") return `.${escapeSelector(cls)} { max-height: fit-content; }`;
3147
+ if (has2(spacing, key)) return `.${escapeSelector(cls)} { max-height: ${spacing[key]}; }`;
3125
3148
  }
3126
3149
  const basisMatch = cls.match(/^basis-(.+)$/);
3127
3150
  if (basisMatch) {
3128
3151
  const key = basisMatch[1];
3129
- if (key === "auto") return `.${cls} { flex-basis: auto; }`;
3130
- if (key === "full") return `.${cls} { flex-basis: 100%; }`;
3131
- if (key === "0") return `.${cls} { flex-basis: 0px; }`;
3132
- if (has3(fractions, key)) return `.${cls} { flex-basis: ${fractions[key]}; }`;
3133
- if (has3(spacing, key)) return `.${cls} { flex-basis: ${spacing[key]}; }`;
3152
+ if (key === "auto") return `.${escapeSelector(cls)} { flex-basis: auto; }`;
3153
+ if (key === "full") return `.${escapeSelector(cls)} { flex-basis: 100%; }`;
3154
+ if (key === "0") return `.${escapeSelector(cls)} { flex-basis: 0px; }`;
3155
+ if (has2(fractions, key)) return `.${escapeSelector(cls)} { flex-basis: ${fractions[key]}; }`;
3156
+ if (has2(spacing, key)) return `.${escapeSelector(cls)} { flex-basis: ${spacing[key]}; }`;
3134
3157
  }
3135
3158
  return null;
3136
3159
  }
3137
3160
  var init_sizing = __esm({
3138
3161
  "src/generator/sizing.ts"() {
3139
3162
  "use strict";
3163
+ init_utils();
3140
3164
  }
3141
3165
  });
3142
3166
 
3143
3167
  // src/generator/effects.ts
3144
- function has4(obj, key) {
3168
+ function has3(obj, key) {
3145
3169
  return typeof obj[key] === "string";
3146
3170
  }
3147
3171
  function generateEffects(classes, config) {
@@ -3155,8 +3179,8 @@ function generateEffects(classes, config) {
3155
3179
  }
3156
3180
  function matchEffects(cls, opacity, zIndex, boxShadow, borderRadius) {
3157
3181
  const opacityMatch = cls.match(/^opacity-(.+)$/);
3158
- if (opacityMatch && has4(opacity, opacityMatch[1])) {
3159
- return `.${cls} {
3182
+ if (opacityMatch && has3(opacity, opacityMatch[1])) {
3183
+ return `.${escapeSelector(cls)} {
3160
3184
  opacity: ${opacity[opacityMatch[1]]};
3161
3185
  transition-property: opacity;
3162
3186
  transition-duration: var(--alive-duration, 0ms);
@@ -3164,87 +3188,87 @@ function matchEffects(cls, opacity, zIndex, boxShadow, borderRadius) {
3164
3188
  }`;
3165
3189
  }
3166
3190
  const zMatch = cls.match(/^z-(.+)$/);
3167
- if (zMatch && has4(zIndex, zMatch[1])) {
3168
- return `.${cls} { z-index: ${zIndex[zMatch[1]]}; }`;
3191
+ if (zMatch && has3(zIndex, zMatch[1])) {
3192
+ return `.${escapeSelector(cls)} { z-index: ${zIndex[zMatch[1]]}; }`;
3169
3193
  }
3170
3194
  const shadowMatch = cls.match(/^shadow(?:-(.+))?$/);
3171
3195
  if (shadowMatch) {
3172
3196
  const key = shadowMatch[1] ?? "DEFAULT";
3173
- if (has4(boxShadow, key)) {
3174
- return `.${cls} { box-shadow: ${boxShadow[key]}; }`;
3197
+ if (has3(boxShadow, key)) {
3198
+ return `.${escapeSelector(cls)} { box-shadow: ${boxShadow[key]}; }`;
3175
3199
  }
3176
- if (!shadowMatch[1] && has4(boxShadow, "DEFAULT")) {
3177
- return `.${cls} { box-shadow: ${boxShadow["DEFAULT"]}; }`;
3200
+ if (!shadowMatch[1] && has3(boxShadow, "DEFAULT")) {
3201
+ return `.${escapeSelector(cls)} { box-shadow: ${boxShadow["DEFAULT"]}; }`;
3178
3202
  }
3179
3203
  }
3180
3204
  const roundedMatch = cls.match(/^rounded(?:-(.+))?$/);
3181
3205
  if (roundedMatch) {
3182
3206
  const key = roundedMatch[1] ?? "DEFAULT";
3183
- if (has4(borderRadius, key)) return `.${cls} { border-radius: ${borderRadius[key]}; }`;
3184
- if (!roundedMatch[1] && has4(borderRadius, "DEFAULT")) return `.${cls} { border-radius: ${borderRadius["DEFAULT"]}; }`;
3207
+ if (has3(borderRadius, key)) return `.${escapeSelector(cls)} { border-radius: ${borderRadius[key]}; }`;
3208
+ if (!roundedMatch[1] && has3(borderRadius, "DEFAULT")) return `.${escapeSelector(cls)} { border-radius: ${borderRadius["DEFAULT"]}; }`;
3185
3209
  }
3186
3210
  const roundedTMatch = cls.match(/^rounded-t(?:-(.+))?$/);
3187
3211
  if (roundedTMatch) {
3188
3212
  const rkey = roundedTMatch[1] ?? "DEFAULT";
3189
- const val = has4(borderRadius, rkey) ? borderRadius[rkey] : has4(borderRadius, "DEFAULT") ? borderRadius["DEFAULT"] : null;
3190
- if (val) return `.${cls} { border-top-left-radius: ${val}; border-top-right-radius: ${val}; }`;
3213
+ const val = has3(borderRadius, rkey) ? borderRadius[rkey] : has3(borderRadius, "DEFAULT") ? borderRadius["DEFAULT"] : null;
3214
+ if (val) return `.${escapeSelector(cls)} { border-top-left-radius: ${val}; border-top-right-radius: ${val}; }`;
3191
3215
  }
3192
3216
  const roundedBMatch = cls.match(/^rounded-b(?:-(.+))?$/);
3193
3217
  if (roundedBMatch) {
3194
3218
  const rkey = roundedBMatch[1] ?? "DEFAULT";
3195
- const val = has4(borderRadius, rkey) ? borderRadius[rkey] : has4(borderRadius, "DEFAULT") ? borderRadius["DEFAULT"] : null;
3196
- if (val) return `.${cls} { border-bottom-left-radius: ${val}; border-bottom-right-radius: ${val}; }`;
3219
+ const val = has3(borderRadius, rkey) ? borderRadius[rkey] : has3(borderRadius, "DEFAULT") ? borderRadius["DEFAULT"] : null;
3220
+ if (val) return `.${escapeSelector(cls)} { border-bottom-left-radius: ${val}; border-bottom-right-radius: ${val}; }`;
3197
3221
  }
3198
3222
  const roundedLMatch = cls.match(/^rounded-l(?:-(.+))?$/);
3199
3223
  if (roundedLMatch) {
3200
3224
  const rkey = roundedLMatch[1] ?? "DEFAULT";
3201
- const val = has4(borderRadius, rkey) ? borderRadius[rkey] : has4(borderRadius, "DEFAULT") ? borderRadius["DEFAULT"] : null;
3202
- if (val) return `.${cls} { border-top-left-radius: ${val}; border-bottom-left-radius: ${val}; }`;
3225
+ const val = has3(borderRadius, rkey) ? borderRadius[rkey] : has3(borderRadius, "DEFAULT") ? borderRadius["DEFAULT"] : null;
3226
+ if (val) return `.${escapeSelector(cls)} { border-top-left-radius: ${val}; border-bottom-left-radius: ${val}; }`;
3203
3227
  }
3204
3228
  const roundedRMatch = cls.match(/^rounded-r(?:-(.+))?$/);
3205
3229
  if (roundedRMatch) {
3206
3230
  const rkey = roundedRMatch[1] ?? "DEFAULT";
3207
- const val = has4(borderRadius, rkey) ? borderRadius[rkey] : has4(borderRadius, "DEFAULT") ? borderRadius["DEFAULT"] : null;
3208
- if (val) return `.${cls} { border-top-right-radius: ${val}; border-bottom-right-radius: ${val}; }`;
3209
- }
3210
- if (cls === "border") return `.${cls} { border-width: 1px; border-style: solid; }`;
3211
- if (cls === "border-0") return `.${cls} { border-width: 0px; }`;
3212
- if (cls === "border-2") return `.${cls} { border-width: 2px; border-style: solid; }`;
3213
- if (cls === "border-4") return `.${cls} { border-width: 4px; border-style: solid; }`;
3214
- if (cls === "border-8") return `.${cls} { border-width: 8px; border-style: solid; }`;
3215
- if (cls === "border-t") return `.${cls} { border-top-width: 1px; border-top-style: solid; }`;
3216
- if (cls === "border-r") return `.${cls} { border-right-width: 1px; border-right-style: solid; }`;
3217
- if (cls === "border-b") return `.${cls} { border-bottom-width: 1px; border-bottom-style: solid; }`;
3218
- if (cls === "border-l") return `.${cls} { border-left-width: 1px; border-left-style: solid; }`;
3219
- if (cls === "border-t-0") return `.${cls} { border-top-width: 0px; }`;
3220
- if (cls === "border-r-0") return `.${cls} { border-right-width: 0px; }`;
3221
- if (cls === "border-b-0") return `.${cls} { border-bottom-width: 0px; }`;
3222
- if (cls === "border-l-0") return `.${cls} { border-left-width: 0px; }`;
3223
- if (cls === "border-solid") return `.${cls} { border-style: solid; }`;
3224
- if (cls === "border-dashed") return `.${cls} { border-style: dashed; }`;
3225
- if (cls === "border-dotted") return `.${cls} { border-style: dotted; }`;
3226
- if (cls === "border-double") return `.${cls} { border-style: double; }`;
3227
- if (cls === "border-hidden") return `.${cls} { border-style: hidden; }`;
3228
- if (cls === "border-none") return `.${cls} { border-style: none; }`;
3229
- if (cls === "outline-none") return `.${cls} { outline: 2px solid transparent; outline-offset: 2px; }`;
3230
- if (cls === "outline") return `.${cls} { outline-style: solid; }`;
3231
- if (cls === "outline-dashed") return `.${cls} { outline-style: dashed; }`;
3232
- if (cls === "outline-dotted") return `.${cls} { outline-style: dotted; }`;
3233
- if (cls === "outline-double") return `.${cls} { outline-style: double; }`;
3231
+ const val = has3(borderRadius, rkey) ? borderRadius[rkey] : has3(borderRadius, "DEFAULT") ? borderRadius["DEFAULT"] : null;
3232
+ if (val) return `.${escapeSelector(cls)} { border-top-right-radius: ${val}; border-bottom-right-radius: ${val}; }`;
3233
+ }
3234
+ if (cls === "border") return `.${escapeSelector(cls)} { border-width: 1px; border-style: solid; }`;
3235
+ if (cls === "border-0") return `.${escapeSelector(cls)} { border-width: 0px; }`;
3236
+ if (cls === "border-2") return `.${escapeSelector(cls)} { border-width: 2px; border-style: solid; }`;
3237
+ if (cls === "border-4") return `.${escapeSelector(cls)} { border-width: 4px; border-style: solid; }`;
3238
+ if (cls === "border-8") return `.${escapeSelector(cls)} { border-width: 8px; border-style: solid; }`;
3239
+ if (cls === "border-t") return `.${escapeSelector(cls)} { border-top-width: 1px; border-top-style: solid; }`;
3240
+ if (cls === "border-r") return `.${escapeSelector(cls)} { border-right-width: 1px; border-right-style: solid; }`;
3241
+ if (cls === "border-b") return `.${escapeSelector(cls)} { border-bottom-width: 1px; border-bottom-style: solid; }`;
3242
+ if (cls === "border-l") return `.${escapeSelector(cls)} { border-left-width: 1px; border-left-style: solid; }`;
3243
+ if (cls === "border-t-0") return `.${escapeSelector(cls)} { border-top-width: 0px; }`;
3244
+ if (cls === "border-r-0") return `.${escapeSelector(cls)} { border-right-width: 0px; }`;
3245
+ if (cls === "border-b-0") return `.${escapeSelector(cls)} { border-bottom-width: 0px; }`;
3246
+ if (cls === "border-l-0") return `.${escapeSelector(cls)} { border-left-width: 0px; }`;
3247
+ if (cls === "border-solid") return `.${escapeSelector(cls)} { border-style: solid; }`;
3248
+ if (cls === "border-dashed") return `.${escapeSelector(cls)} { border-style: dashed; }`;
3249
+ if (cls === "border-dotted") return `.${escapeSelector(cls)} { border-style: dotted; }`;
3250
+ if (cls === "border-double") return `.${escapeSelector(cls)} { border-style: double; }`;
3251
+ if (cls === "border-hidden") return `.${escapeSelector(cls)} { border-style: hidden; }`;
3252
+ if (cls === "border-none") return `.${escapeSelector(cls)} { border-style: none; }`;
3253
+ if (cls === "outline-none") return `.${escapeSelector(cls)} { outline: 2px solid transparent; outline-offset: 2px; }`;
3254
+ if (cls === "outline") return `.${escapeSelector(cls)} { outline-style: solid; }`;
3255
+ if (cls === "outline-dashed") return `.${escapeSelector(cls)} { outline-style: dashed; }`;
3256
+ if (cls === "outline-dotted") return `.${escapeSelector(cls)} { outline-style: dotted; }`;
3257
+ if (cls === "outline-double") return `.${escapeSelector(cls)} { outline-style: double; }`;
3234
3258
  const outlineWidthMatch = cls.match(/^outline-(\d+)$/);
3235
- if (outlineWidthMatch) return `.${cls} { outline-width: ${outlineWidthMatch[1]}px; }`;
3259
+ if (outlineWidthMatch) return `.${escapeSelector(cls)} { outline-width: ${outlineWidthMatch[1]}px; }`;
3236
3260
  const outlineOffsetMatch = cls.match(/^outline-offset-(\d+)$/);
3237
- if (outlineOffsetMatch) return `.${cls} { outline-offset: ${outlineOffsetMatch[1]}px; }`;
3261
+ if (outlineOffsetMatch) return `.${escapeSelector(cls)} { outline-offset: ${outlineOffsetMatch[1]}px; }`;
3238
3262
  const ringMatch = cls.match(/^ring(?:-(\d+))?$/);
3239
3263
  if (ringMatch) {
3240
3264
  const width = ringMatch[1] ?? "3";
3241
- return `.${cls} { box-shadow: 0 0 0 ${width}px var(--alive-ring-color, rgba(59, 130, 246, 0.5)); }`;
3265
+ return `.${escapeSelector(cls)} { box-shadow: 0 0 0 ${width}px var(--alive-ring-color, rgba(59, 130, 246, 0.5)); }`;
3242
3266
  }
3243
- if (cls === "ring-inset") return `.${cls} { --alive-ring-inset: inset; }`;
3267
+ if (cls === "ring-inset") return `.${escapeSelector(cls)} { --alive-ring-inset: inset; }`;
3244
3268
  const ringOffsetMatch = cls.match(/^ring-offset-(\d+)$/);
3245
- if (ringOffsetMatch) return `.${cls} { --alive-ring-offset: ${ringOffsetMatch[1]}px; }`;
3246
- if (cls === "transform") return `.${cls} { transform: translateX(var(--alive-tx,0)) translateY(var(--alive-ty,0)) rotate(var(--alive-rotate,0)) scaleX(var(--alive-sx,1)) scaleY(var(--alive-sy,1)) skewX(var(--alive-skew-x,0)) skewY(var(--alive-skew-y,0)); }`;
3247
- if (cls === "transform-none") return `.${cls} { transform: none; }`;
3269
+ if (ringOffsetMatch) return `.${escapeSelector(cls)} { --alive-ring-offset: ${ringOffsetMatch[1]}px; }`;
3270
+ if (cls === "transform") return `.${escapeSelector(cls)} { transform: translateX(var(--alive-tx,0)) translateY(var(--alive-ty,0)) rotate(var(--alive-rotate,0)) scaleX(var(--alive-sx,1)) scaleY(var(--alive-sy,1)) skewX(var(--alive-skew-x,0)) skewY(var(--alive-skew-y,0)); }`;
3271
+ if (cls === "transform-none") return `.${escapeSelector(cls)} { transform: none; }`;
3248
3272
  const scaleMap = {
3249
3273
  "0": "0",
3250
3274
  "50": ".5",
@@ -3258,16 +3282,16 @@ function matchEffects(cls, opacity, zIndex, boxShadow, borderRadius) {
3258
3282
  "150": "1.5"
3259
3283
  };
3260
3284
  const scaleMatch = cls.match(/^scale-(\d+)$/);
3261
- if (scaleMatch && has4(scaleMap, scaleMatch[1])) {
3262
- return `.${cls} { transform: scale(${scaleMap[scaleMatch[1]]}); }`;
3285
+ if (scaleMatch && has3(scaleMap, scaleMatch[1])) {
3286
+ return `.${escapeSelector(cls)} { transform: scale(${scaleMap[scaleMatch[1]]}); }`;
3263
3287
  }
3264
3288
  const scaleXMatch = cls.match(/^scale-x-(\d+)$/);
3265
- if (scaleXMatch && has4(scaleMap, scaleXMatch[1])) {
3266
- return `.${cls} { transform: scaleX(${scaleMap[scaleXMatch[1]]}); }`;
3289
+ if (scaleXMatch && has3(scaleMap, scaleXMatch[1])) {
3290
+ return `.${escapeSelector(cls)} { transform: scaleX(${scaleMap[scaleXMatch[1]]}); }`;
3267
3291
  }
3268
3292
  const scaleYMatch = cls.match(/^scale-y-(\d+)$/);
3269
- if (scaleYMatch && has4(scaleMap, scaleYMatch[1])) {
3270
- return `.${cls} { transform: scaleY(${scaleMap[scaleYMatch[1]]}); }`;
3293
+ if (scaleYMatch && has3(scaleMap, scaleYMatch[1])) {
3294
+ return `.${escapeSelector(cls)} { transform: scaleY(${scaleMap[scaleYMatch[1]]}); }`;
3271
3295
  }
3272
3296
  const rotateMatch = cls.match(/^-?rotate-(\d+)$/);
3273
3297
  if (rotateMatch) {
@@ -3290,12 +3314,12 @@ function matchEffects(cls, opacity, zIndex, boxShadow, borderRadius) {
3290
3314
  const val = fractions[key] ?? null;
3291
3315
  if (val) return `.${cls.replace(/^-/, "\\-")} { transform: translateY(${neg}${val}); }`;
3292
3316
  }
3293
- if (cls === "transition-none") return `.${cls} { transition: none; }`;
3294
- if (cls === "transition-all") return `.${cls} { transition: all var(--alive-duration-normal) var(--alive-ease-standard); }`;
3295
- if (cls === "transition-colors") return `.${cls} { transition: color, background-color, border-color, text-decoration-color, fill, stroke; transition-duration: var(--alive-duration-normal); transition-timing-function: var(--alive-ease-standard); }`;
3296
- if (cls === "transition-opacity") return `.${cls} { transition: opacity; transition-duration: var(--alive-duration-normal); transition-timing-function: var(--alive-ease-standard); }`;
3297
- if (cls === "transition-shadow") return `.${cls} { transition: box-shadow; transition-duration: var(--alive-duration-normal); transition-timing-function: var(--alive-ease-standard); }`;
3298
- if (cls === "transition-transform") return `.${cls} { transition: transform; transition-duration: var(--alive-duration-normal); transition-timing-function: var(--alive-ease-standard); }`;
3317
+ if (cls === "transition-none") return `.${escapeSelector(cls)} { transition: none; }`;
3318
+ if (cls === "transition-all") return `.${escapeSelector(cls)} { transition: all var(--alive-duration-normal) var(--alive-ease-standard); }`;
3319
+ if (cls === "transition-colors") return `.${escapeSelector(cls)} { transition: color, background-color, border-color, text-decoration-color, fill, stroke; transition-duration: var(--alive-duration-normal); transition-timing-function: var(--alive-ease-standard); }`;
3320
+ if (cls === "transition-opacity") return `.${escapeSelector(cls)} { transition: opacity; transition-duration: var(--alive-duration-normal); transition-timing-function: var(--alive-ease-standard); }`;
3321
+ if (cls === "transition-shadow") return `.${escapeSelector(cls)} { transition: box-shadow; transition-duration: var(--alive-duration-normal); transition-timing-function: var(--alive-ease-standard); }`;
3322
+ if (cls === "transition-transform") return `.${escapeSelector(cls)} { transition: transform; transition-duration: var(--alive-duration-normal); transition-timing-function: var(--alive-ease-standard); }`;
3299
3323
  const blurMatch = cls.match(/^blur(?:-(.+))?$/);
3300
3324
  if (blurMatch) {
3301
3325
  const blurMap = {
@@ -3309,7 +3333,7 @@ function matchEffects(cls, opacity, zIndex, boxShadow, borderRadius) {
3309
3333
  "3xl": "64px"
3310
3334
  };
3311
3335
  const key = blurMatch[1] ?? "DEFAULT";
3312
- if (has4(blurMap, key)) return `.${cls} { filter: blur(${blurMap[key]}); }`;
3336
+ if (has3(blurMap, key)) return `.${escapeSelector(cls)} { filter: blur(${blurMap[key]}); }`;
3313
3337
  }
3314
3338
  const backdropBlurMatch = cls.match(/^backdrop-blur(?:-(.+))?$/);
3315
3339
  if (backdropBlurMatch) {
@@ -3324,7 +3348,7 @@ function matchEffects(cls, opacity, zIndex, boxShadow, borderRadius) {
3324
3348
  "3xl": "64px"
3325
3349
  };
3326
3350
  const key = backdropBlurMatch[1] ?? "DEFAULT";
3327
- if (has4(blurMap, key)) return `.${cls} { backdrop-filter: blur(${blurMap[key]}); }`;
3351
+ if (has3(blurMap, key)) return `.${escapeSelector(cls)} { backdrop-filter: blur(${blurMap[key]}); }`;
3328
3352
  }
3329
3353
  const arbOpacityMatch = cls.match(/^opacity-\[(.+)\]$/);
3330
3354
  if (arbOpacityMatch) {
@@ -3459,6 +3483,9 @@ function generateUtilities(classes, config) {
3459
3483
  case "placeholder":
3460
3484
  selector += "::placeholder";
3461
3485
  break;
3486
+ case "file":
3487
+ selector += "::file-selector-button";
3488
+ break;
3462
3489
  case "group-hover":
3463
3490
  selector = `.group:hover ${selector}`;
3464
3491
  break;
@@ -3553,275 +3580,275 @@ function generateAliveSpecific(classes, _config) {
3553
3580
  ];
3554
3581
  if (aliveBasePrefixes.some((p) => cls === p || cls.startsWith(p + "-"))) continue;
3555
3582
  if (cls === "animate-none") {
3556
- rules.push(`.${cls} { animation: none; }`);
3583
+ rules.push(`.${escapeSelector(cls)} { animation: none; }`);
3557
3584
  continue;
3558
3585
  }
3559
3586
  if (cls === "animate-spin") {
3560
- rules.push(`.${cls} { animation: alive-spin 1s linear infinite; }`);
3587
+ rules.push(`.${escapeSelector(cls)} { animation: alive-spin 1s linear infinite; }`);
3561
3588
  continue;
3562
3589
  }
3563
3590
  if (cls === "animate-ping") {
3564
- rules.push(`.${cls} { animation: alive-ping 1s cubic-bezier(0,0,0.2,1) infinite; }`);
3591
+ rules.push(`.${escapeSelector(cls)} { animation: alive-ping 1s cubic-bezier(0,0,0.2,1) infinite; }`);
3565
3592
  continue;
3566
3593
  }
3567
3594
  if (cls === "animate-pulse") {
3568
- rules.push(`.${cls} { animation: alive-pulse 2s cubic-bezier(0.4,0,0.6,1) infinite; }`);
3595
+ rules.push(`.${escapeSelector(cls)} { animation: alive-pulse 2s cubic-bezier(0.4,0,0.6,1) infinite; }`);
3569
3596
  continue;
3570
3597
  }
3571
3598
  if (cls === "animate-bounce") {
3572
- rules.push(`.${cls} { animation: alive-bounce 1s infinite; }`);
3599
+ rules.push(`.${escapeSelector(cls)} { animation: alive-bounce 1s infinite; }`);
3573
3600
  continue;
3574
3601
  }
3575
3602
  if (cls === "animate-shimmer") {
3576
- rules.push(`.${cls} { animation: alive-shimmer 1.5s linear infinite; }`);
3603
+ rules.push(`.${escapeSelector(cls)} { animation: alive-shimmer 1.5s linear infinite; }`);
3577
3604
  continue;
3578
3605
  }
3579
3606
  if (cls === "ease-linear") {
3580
- rules.push(`.${cls} { transition-timing-function: linear; }`);
3607
+ rules.push(`.${escapeSelector(cls)} { transition-timing-function: linear; }`);
3581
3608
  continue;
3582
3609
  }
3583
3610
  if (cls === "ease-in") {
3584
- rules.push(`.${cls} { transition-timing-function: cubic-bezier(0.4,0,1,1); }`);
3611
+ rules.push(`.${escapeSelector(cls)} { transition-timing-function: cubic-bezier(0.4,0,1,1); }`);
3585
3612
  continue;
3586
3613
  }
3587
3614
  if (cls === "ease-out") {
3588
- rules.push(`.${cls} { transition-timing-function: cubic-bezier(0,0,0.2,1); }`);
3615
+ rules.push(`.${escapeSelector(cls)} { transition-timing-function: cubic-bezier(0,0,0.2,1); }`);
3589
3616
  continue;
3590
3617
  }
3591
3618
  if (cls === "ease-in-out") {
3592
- rules.push(`.${cls} { transition-timing-function: cubic-bezier(0.4,0,0.2,1); }`);
3619
+ rules.push(`.${escapeSelector(cls)} { transition-timing-function: cubic-bezier(0.4,0,0.2,1); }`);
3593
3620
  continue;
3594
3621
  }
3595
3622
  if (cls === "group") {
3596
- rules.push(`.${cls} {}`);
3623
+ rules.push(`.${escapeSelector(cls)} {}`);
3597
3624
  continue;
3598
3625
  }
3599
3626
  const staggerMatch = cls.match(/^stagger-(\d+)$/);
3600
3627
  if (staggerMatch) {
3601
- rules.push(`.${cls} { --alive-stagger-gap: ${staggerMatch[1]}ms; }`);
3628
+ rules.push(`.${escapeSelector(cls)} { --alive-stagger-gap: ${staggerMatch[1]}ms; }`);
3602
3629
  continue;
3603
3630
  }
3604
3631
  const indexMatch = cls.match(/^alive-index-(\d+)$/);
3605
3632
  if (indexMatch) {
3606
- rules.push(`.${cls} { --alive-index: ${indexMatch[1]}; }`);
3633
+ rules.push(`.${escapeSelector(cls)} { --alive-index: ${indexMatch[1]}; }`);
3607
3634
  continue;
3608
3635
  }
3609
3636
  const durationMatch = cls.match(/^duration-(\d+)$/);
3610
3637
  if (durationMatch) {
3611
- rules.push(`.${cls} { --alive-duration: ${durationMatch[1]}ms; }`);
3638
+ rules.push(`.${escapeSelector(cls)} { --alive-duration: ${durationMatch[1]}ms; }`);
3612
3639
  continue;
3613
3640
  }
3614
3641
  const delayMatch = cls.match(/^delay-(\d+)$/);
3615
3642
  if (delayMatch) {
3616
- rules.push(`.${cls} { animation-delay: ${delayMatch[1]}ms; }`);
3643
+ rules.push(`.${escapeSelector(cls)} { animation-delay: ${delayMatch[1]}ms; }`);
3617
3644
  continue;
3618
3645
  }
3619
3646
  const motionMsMatch = cls.match(/^motion-(\d+)$/);
3620
3647
  if (motionMsMatch) {
3621
- rules.push(`.${cls} { --alive-duration: ${motionMsMatch[1]}ms !important; }`);
3648
+ rules.push(`.${escapeSelector(cls)} { --alive-duration: ${motionMsMatch[1]}ms !important; }`);
3622
3649
  continue;
3623
3650
  }
3624
3651
  if (cls === "divide-x") {
3625
- rules.push(`.${cls} > * + * { border-left-width: 1px; border-left-style: solid; }`);
3652
+ rules.push(`.${escapeSelector(cls)}> * + * { border-left-width: 1px; border-left-style: solid; }`);
3626
3653
  continue;
3627
3654
  }
3628
3655
  if (cls === "divide-y") {
3629
- rules.push(`.${cls} > * + * { border-top-width: 1px; border-top-style: solid; }`);
3656
+ rules.push(`.${escapeSelector(cls)}> * + * { border-top-width: 1px; border-top-style: solid; }`);
3630
3657
  continue;
3631
3658
  }
3632
3659
  const divideColorMatch = cls.match(/^divide-([a-z]+)(?:-(\d+))?$/);
3633
3660
  if (divideColorMatch) {
3634
- rules.push(`.${cls} > * + * { border-color: inherit; }`);
3661
+ rules.push(`.${escapeSelector(cls)}> * + * { border-color: inherit; }`);
3635
3662
  continue;
3636
3663
  }
3637
3664
  if (cls === "appearance-none") {
3638
- rules.push(`.${cls} { appearance: none; }`);
3665
+ rules.push(`.${escapeSelector(cls)} { appearance: none; }`);
3639
3666
  continue;
3640
3667
  }
3641
3668
  if (cls === "appearance-auto") {
3642
- rules.push(`.${cls} { appearance: auto; }`);
3669
+ rules.push(`.${escapeSelector(cls)} { appearance: auto; }`);
3643
3670
  continue;
3644
3671
  }
3645
3672
  if (cls === "resize-none") {
3646
- rules.push(`.${cls} { resize: none; }`);
3673
+ rules.push(`.${escapeSelector(cls)} { resize: none; }`);
3647
3674
  continue;
3648
3675
  }
3649
3676
  if (cls === "resize") {
3650
- rules.push(`.${cls} { resize: both; }`);
3677
+ rules.push(`.${escapeSelector(cls)} { resize: both; }`);
3651
3678
  continue;
3652
3679
  }
3653
3680
  if (cls === "resize-y") {
3654
- rules.push(`.${cls} { resize: vertical; }`);
3681
+ rules.push(`.${escapeSelector(cls)} { resize: vertical; }`);
3655
3682
  continue;
3656
3683
  }
3657
3684
  if (cls === "resize-x") {
3658
- rules.push(`.${cls} { resize: horizontal; }`);
3685
+ rules.push(`.${escapeSelector(cls)} { resize: horizontal; }`);
3659
3686
  continue;
3660
3687
  }
3661
3688
  if (cls === "snap-none") {
3662
- rules.push(`.${cls} { scroll-snap-type: none; }`);
3689
+ rules.push(`.${escapeSelector(cls)} { scroll-snap-type: none; }`);
3663
3690
  continue;
3664
3691
  }
3665
3692
  if (cls === "snap-x") {
3666
- rules.push(`.${cls} { scroll-snap-type: x mandatory; }`);
3693
+ rules.push(`.${escapeSelector(cls)} { scroll-snap-type: x mandatory; }`);
3667
3694
  continue;
3668
3695
  }
3669
3696
  if (cls === "snap-y") {
3670
- rules.push(`.${cls} { scroll-snap-type: y mandatory; }`);
3697
+ rules.push(`.${escapeSelector(cls)} { scroll-snap-type: y mandatory; }`);
3671
3698
  continue;
3672
3699
  }
3673
3700
  if (cls === "snap-start") {
3674
- rules.push(`.${cls} { scroll-snap-align: start; }`);
3701
+ rules.push(`.${escapeSelector(cls)} { scroll-snap-align: start; }`);
3675
3702
  continue;
3676
3703
  }
3677
3704
  if (cls === "snap-center") {
3678
- rules.push(`.${cls} { scroll-snap-align: center; }`);
3705
+ rules.push(`.${escapeSelector(cls)} { scroll-snap-align: center; }`);
3679
3706
  continue;
3680
3707
  }
3681
3708
  if (cls === "snap-end") {
3682
- rules.push(`.${cls} { scroll-snap-align: end; }`);
3709
+ rules.push(`.${escapeSelector(cls)} { scroll-snap-align: end; }`);
3683
3710
  continue;
3684
3711
  }
3685
3712
  if (cls === "pointer-events-none") {
3686
- rules.push(`.${cls} { pointer-events: none; }`);
3713
+ rules.push(`.${escapeSelector(cls)} { pointer-events: none; }`);
3687
3714
  continue;
3688
3715
  }
3689
3716
  if (cls === "pointer-events-auto") {
3690
- rules.push(`.${cls} { pointer-events: auto; }`);
3717
+ rules.push(`.${escapeSelector(cls)} { pointer-events: auto; }`);
3691
3718
  continue;
3692
3719
  }
3693
3720
  if (cls === "sr-only") {
3694
- rules.push(`.${cls} { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border-width: 0; }`);
3721
+ rules.push(`.${escapeSelector(cls)} { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border-width: 0; }`);
3695
3722
  continue;
3696
3723
  }
3697
3724
  if (cls === "not-sr-only") {
3698
- rules.push(`.${cls} { position: static; width: auto; height: auto; padding: 0; margin: 0; overflow: visible; clip: auto; white-space: normal; }`);
3725
+ rules.push(`.${escapeSelector(cls)} { position: static; width: auto; height: auto; padding: 0; margin: 0; overflow: visible; clip: auto; white-space: normal; }`);
3699
3726
  continue;
3700
3727
  }
3701
3728
  if (cls === "will-change-auto") {
3702
- rules.push(`.${cls} { will-change: auto; }`);
3729
+ rules.push(`.${escapeSelector(cls)} { will-change: auto; }`);
3703
3730
  continue;
3704
3731
  }
3705
3732
  if (cls === "will-change-transform") {
3706
- rules.push(`.${cls} { will-change: transform; }`);
3733
+ rules.push(`.${escapeSelector(cls)} { will-change: transform; }`);
3707
3734
  continue;
3708
3735
  }
3709
3736
  if (cls === "will-change-opacity") {
3710
- rules.push(`.${cls} { will-change: opacity; }`);
3737
+ rules.push(`.${escapeSelector(cls)} { will-change: opacity; }`);
3711
3738
  continue;
3712
3739
  }
3713
3740
  const lineClampMatch = cls.match(/^line-clamp-(\d+)$/);
3714
3741
  if (lineClampMatch) {
3715
3742
  const n = lineClampMatch[1];
3716
- rules.push(`.${cls} { overflow: hidden; display: -webkit-box; -webkit-line-clamp: ${n}; -webkit-box-orient: vertical; }`);
3743
+ rules.push(`.${escapeSelector(cls)} { overflow: hidden; display: -webkit-box; -webkit-line-clamp: ${n}; -webkit-box-orient: vertical; }`);
3717
3744
  continue;
3718
3745
  }
3719
3746
  if (cls === "aspect-square") {
3720
- rules.push(`.${cls} { aspect-ratio: 1 / 1; }`);
3747
+ rules.push(`.${escapeSelector(cls)} { aspect-ratio: 1 / 1; }`);
3721
3748
  continue;
3722
3749
  }
3723
3750
  if (cls === "aspect-video") {
3724
- rules.push(`.${cls} { aspect-ratio: 16 / 9; }`);
3751
+ rules.push(`.${escapeSelector(cls)} { aspect-ratio: 16 / 9; }`);
3725
3752
  continue;
3726
3753
  }
3727
3754
  if (cls === "aspect-auto") {
3728
- rules.push(`.${cls} { aspect-ratio: auto; }`);
3755
+ rules.push(`.${escapeSelector(cls)} { aspect-ratio: auto; }`);
3729
3756
  continue;
3730
3757
  }
3731
3758
  if (cls === "object-contain") {
3732
- rules.push(`.${cls} { object-fit: contain; }`);
3759
+ rules.push(`.${escapeSelector(cls)} { object-fit: contain; }`);
3733
3760
  continue;
3734
3761
  }
3735
3762
  if (cls === "object-cover") {
3736
- rules.push(`.${cls} { object-fit: cover; }`);
3763
+ rules.push(`.${escapeSelector(cls)} { object-fit: cover; }`);
3737
3764
  continue;
3738
3765
  }
3739
3766
  if (cls === "object-fill") {
3740
- rules.push(`.${cls} { object-fit: fill; }`);
3767
+ rules.push(`.${escapeSelector(cls)} { object-fit: fill; }`);
3741
3768
  continue;
3742
3769
  }
3743
3770
  if (cls === "object-none") {
3744
- rules.push(`.${cls} { object-fit: none; }`);
3771
+ rules.push(`.${escapeSelector(cls)} { object-fit: none; }`);
3745
3772
  continue;
3746
3773
  }
3747
3774
  if (cls === "object-scale") {
3748
- rules.push(`.${cls} { object-fit: scale-down; }`);
3775
+ rules.push(`.${escapeSelector(cls)} { object-fit: scale-down; }`);
3749
3776
  continue;
3750
3777
  }
3751
3778
  if (cls === "mix-blend-multiply") {
3752
- rules.push(`.${cls} { mix-blend-mode: multiply; }`);
3779
+ rules.push(`.${escapeSelector(cls)} { mix-blend-mode: multiply; }`);
3753
3780
  continue;
3754
3781
  }
3755
3782
  if (cls === "mix-blend-screen") {
3756
- rules.push(`.${cls} { mix-blend-mode: screen; }`);
3783
+ rules.push(`.${escapeSelector(cls)} { mix-blend-mode: screen; }`);
3757
3784
  continue;
3758
3785
  }
3759
3786
  if (cls === "mix-blend-overlay") {
3760
- rules.push(`.${cls} { mix-blend-mode: overlay; }`);
3787
+ rules.push(`.${escapeSelector(cls)} { mix-blend-mode: overlay; }`);
3761
3788
  continue;
3762
3789
  }
3763
3790
  if (cls === "mix-blend-normal") {
3764
- rules.push(`.${cls} { mix-blend-mode: normal; }`);
3791
+ rules.push(`.${escapeSelector(cls)} { mix-blend-mode: normal; }`);
3765
3792
  continue;
3766
3793
  }
3767
3794
  if (cls === "isolate") {
3768
- rules.push(`.${cls} { isolation: isolate; }`);
3795
+ rules.push(`.${escapeSelector(cls)} { isolation: isolate; }`);
3769
3796
  continue;
3770
3797
  }
3771
3798
  if (cls === "isolation-auto") {
3772
- rules.push(`.${cls} { isolation: auto; }`);
3799
+ rules.push(`.${escapeSelector(cls)} { isolation: auto; }`);
3773
3800
  continue;
3774
3801
  }
3775
3802
  if (cls === "touch-auto") {
3776
- rules.push(`.${cls} { touch-action: auto; }`);
3803
+ rules.push(`.${escapeSelector(cls)} { touch-action: auto; }`);
3777
3804
  continue;
3778
3805
  }
3779
3806
  if (cls === "touch-none") {
3780
- rules.push(`.${cls} { touch-action: none; }`);
3807
+ rules.push(`.${escapeSelector(cls)} { touch-action: none; }`);
3781
3808
  continue;
3782
3809
  }
3783
3810
  if (cls === "touch-pan-x") {
3784
- rules.push(`.${cls} { touch-action: pan-x; }`);
3811
+ rules.push(`.${escapeSelector(cls)} { touch-action: pan-x; }`);
3785
3812
  continue;
3786
3813
  }
3787
3814
  if (cls === "touch-pan-y") {
3788
- rules.push(`.${cls} { touch-action: pan-y; }`);
3815
+ rules.push(`.${escapeSelector(cls)} { touch-action: pan-y; }`);
3789
3816
  continue;
3790
3817
  }
3791
3818
  if (cls === "touch-manipulation") {
3792
- rules.push(`.${cls} { touch-action: manipulation; }`);
3819
+ rules.push(`.${escapeSelector(cls)} { touch-action: manipulation; }`);
3793
3820
  continue;
3794
3821
  }
3795
3822
  if (cls === "select-none") {
3796
- rules.push(`.${cls} { user-select: none; }`);
3823
+ rules.push(`.${escapeSelector(cls)} { user-select: none; }`);
3797
3824
  continue;
3798
3825
  }
3799
3826
  if (cls === "select-text") {
3800
- rules.push(`.${cls} { user-select: text; }`);
3827
+ rules.push(`.${escapeSelector(cls)} { user-select: text; }`);
3801
3828
  continue;
3802
3829
  }
3803
3830
  if (cls === "select-all") {
3804
- rules.push(`.${cls} { user-select: all; }`);
3831
+ rules.push(`.${escapeSelector(cls)} { user-select: all; }`);
3805
3832
  continue;
3806
3833
  }
3807
3834
  if (cls === "select-auto") {
3808
- rules.push(`.${cls} { user-select: auto; }`);
3835
+ rules.push(`.${escapeSelector(cls)} { user-select: auto; }`);
3809
3836
  continue;
3810
3837
  }
3811
3838
  if (cls === "break-normal") {
3812
- rules.push(`.${cls} { overflow-wrap: normal; word-break: normal; }`);
3839
+ rules.push(`.${escapeSelector(cls)} { overflow-wrap: normal; word-break: normal; }`);
3813
3840
  continue;
3814
3841
  }
3815
3842
  if (cls === "break-words") {
3816
- rules.push(`.${cls} { overflow-wrap: break-word; }`);
3843
+ rules.push(`.${escapeSelector(cls)} { overflow-wrap: break-word; }`);
3817
3844
  continue;
3818
3845
  }
3819
3846
  if (cls === "break-all") {
3820
- rules.push(`.${cls} { word-break: break-all; }`);
3847
+ rules.push(`.${escapeSelector(cls)} { word-break: break-all; }`);
3821
3848
  continue;
3822
3849
  }
3823
3850
  if (cls === "break-keep") {
3824
- rules.push(`.${cls} { word-break: keep-all; }`);
3851
+ rules.push(`.${escapeSelector(cls)} { word-break: keep-all; }`);
3825
3852
  continue;
3826
3853
  }
3827
3854
  }