@shuriken-ui/tailwind 1.2.5 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. package/dist/preset.cjs +578 -33
  2. package/dist/preset.mjs +578 -33
  3. package/package.json +21 -21
package/dist/preset.mjs CHANGED
@@ -480,7 +480,7 @@ const autocomplete = plugin.withOptions(
480
480
  [`@apply relative`]: {}
481
481
  },
482
482
  [`.${prefix}autocomplete-icon`]: {
483
- [`@apply text-${config.icon.text} absolute start-0 top-0 flex items-center justify-center transition-colors duration-${config.icon.duration}`]: {}
483
+ [`@apply text-${config.icon.text} absolute start-0 top-0 z-10 flex items-center justify-center transition-colors duration-${config.icon.duration}`]: {}
484
484
  },
485
485
  [`.${prefix}autocomplete-input`]: {
486
486
  [`@apply ${prefix}focus w-${config.input.size} font-${config.input.font} transition-all duration-${config.input.duration} disabled:cursor-not-allowed disabled:opacity-75`]: {},
@@ -2097,7 +2097,7 @@ const buttonClose = plugin.withOptions(
2097
2097
  );
2098
2098
  addComponents({
2099
2099
  [`.${prefix}button-close`]: {
2100
- [`@apply flex h-${config.size} w-${config.size} items-center justify-center transition-colors duration-${config.duration} disabled:opacity-30 cursor-pointer`]: {},
2100
+ [`@apply ${prefix}focus flex h-${config.size} w-${config.size} items-center justify-center transition-colors duration-${config.duration} disabled:opacity-30 cursor-pointer`]: {},
2101
2101
  [`.${prefix}button-icon`]: {
2102
2102
  [`@apply h-${config.buttonIcon.size} w-${config.buttonIcon.size} fill-current`]: {}
2103
2103
  },
@@ -2342,7 +2342,7 @@ const buttonIcon = plugin.withOptions(
2342
2342
  );
2343
2343
  addComponents({
2344
2344
  [`.${prefix}button-icon`]: {
2345
- [`@apply ${prefix}focus relative inline-flex items-center justify-center space-x-1 font-sans text-${config.text} font-${config.font} leading-5 no-underline outline-none transition-all duration-${config.duration} disabled:opacity-60 disabled:cursor-not-allowed hover:shadow-none`]: {},
2345
+ [`@apply ${prefix}focus relative inline-flex items-center justify-center space-x-1 font-sans text-${config.text} font-${config.font} leading-5 no-underline transition-all duration-${config.duration} disabled:opacity-60 disabled:cursor-not-allowed hover:shadow-none`]: {},
2346
2346
  [`&.${prefix}button-small`]: {
2347
2347
  [`@apply h-${config.buttonSmall.size} w-${config.buttonSmall.size} p-${config.buttonSmall.space}`]: {}
2348
2348
  },
@@ -3329,16 +3329,16 @@ const checkbox = plugin.withOptions(
3329
3329
  [`.${prefix}checkbox-error`]: {
3330
3330
  [`@apply text-${config.error.text} ms-1 inline-block font-${config.error.font} text-${config.error.textSixe}`]: {}
3331
3331
  },
3332
- [`&.${prefix}checkbox-rounded .${prefix}checkbox-inner`]: {
3332
+ [`&.${prefix}checkbox-rounded .${prefix}checkbox-outer, &.${prefix}checkbox-rounded .${prefix}checkbox-inner`]: {
3333
3333
  [`@apply rounded`]: {}
3334
3334
  },
3335
- [`&.${prefix}checkbox-smooth .${prefix}checkbox-inner`]: {
3335
+ [`&.${prefix}checkbox-smooth .${prefix}checkbox-outer, &.${prefix}checkbox-smooth .${prefix}checkbox-inner`]: {
3336
3336
  [`@apply rounded-${config.rounded.smooth}`]: {}
3337
3337
  },
3338
- [`&.${prefix}checkbox-curved .${prefix}checkbox-inner`]: {
3338
+ [`&.${prefix}checkbox-curved .${prefix}checkbox-outer, &.${prefix}checkbox-curved .${prefix}checkbox-inner`]: {
3339
3339
  [`@apply rounded-${config.rounded.curved}`]: {}
3340
3340
  },
3341
- [`&.${prefix}checkbox-full .${prefix}checkbox-inner`]: {
3341
+ [`&.${prefix}checkbox-full .${prefix}checkbox-outer, &.${prefix}checkbox-full .${prefix}checkbox-inner`]: {
3342
3342
  [`@apply rounded-${config.rounded.full}`]: {}
3343
3343
  },
3344
3344
  [`&.${prefix}checkbox-default`]: {
@@ -3450,7 +3450,7 @@ const dropdownItem = plugin.withOptions(
3450
3450
  );
3451
3451
  addComponents({
3452
3452
  [`.${prefix}dropdown-item`]: {
3453
- [`@apply flex w-full items-center justify-start gap-2 px-3 py-2 text-${config.textPosition} text-${config.textSize} cursor-pointer transition-colors duration-${config.duration}`]: {},
3453
+ [`@apply ${prefix}focus flex w-full items-center justify-start gap-2 px-3 py-2 text-${config.textPosition} text-${config.textSize} cursor-pointer transition-colors duration-${config.duration}`]: {},
3454
3454
  [`.${prefix}item-content`]: {
3455
3455
  [`@apply grow`]: {}
3456
3456
  },
@@ -3715,10 +3715,11 @@ const dropdown = plugin.withOptions(
3715
3715
 
3716
3716
  const defaultFocusConfig = {
3717
3717
  offset: "2",
3718
- width: "1",
3718
+ width: "2",
3719
3719
  style: "dashed",
3720
3720
  color: "muted-300",
3721
- colorDark: "muted-600"
3721
+ colorDark: "muted-600",
3722
+ mode: "always"
3722
3723
  };
3723
3724
  const focus = plugin.withOptions(
3724
3725
  function(options) {
@@ -3730,16 +3731,14 @@ const focus = plugin.withOptions(
3730
3731
  const config = theme(
3731
3732
  "shurikenUi.focus"
3732
3733
  );
3734
+ const mode = config.mode === "focus-visible" ? "&:has(:focus-visible), &:focus-visible" : "&:focus-within";
3733
3735
  addComponents({
3734
3736
  [`.${prefix}focus`]: {
3735
3737
  [`@apply outline-${config.width} outline-${config.style} outline-offset-${config.offset}`]: {},
3736
3738
  "@apply outline-transparent": {},
3737
- "&:focus-within": {
3739
+ [mode]: {
3738
3740
  [`@apply outline-${config.color} dark:outline-${config.colorDark}`]: {},
3739
3741
  [`@apply outline-${config.style} ring-0`]: {}
3740
- },
3741
- "&:focus-visible": {
3742
- [`@apply outline-${config.width}`]: {}
3743
3742
  }
3744
3743
  }
3745
3744
  });
@@ -4336,7 +4335,7 @@ const inputFileRegular = plugin.withOptions(
4336
4335
  [`@apply relative`]: {}
4337
4336
  },
4338
4337
  [`.${prefix}input-file-inner`]: {
4339
- [`@apply relative ${prefix}focus flex w-${config.inner.size} cursor-pointer items-center overflow-hidden font-${config.inner.font} transition-colors duration-${config.inner.duration} focus-within:outline-1 disabled:cursor-not-allowed disabled:opacity-75`]: {}
4338
+ [`@apply relative ${prefix}focus flex w-${config.inner.size} cursor-pointer items-center overflow-hidden font-${config.inner.font} transition-colors duration-${config.inner.duration} disabled:cursor-not-allowed disabled:opacity-75`]: {}
4340
4339
  },
4341
4340
  [`.${prefix}input-file-addon`]: {
4342
4341
  [`@apply pointer-events-none flex shrink-0 items-center justify-center gap-1 transition-colors duration-100`]: {}
@@ -4611,7 +4610,7 @@ const inputFile = plugin.withOptions(
4611
4610
  );
4612
4611
  addComponents({
4613
4612
  [`.${prefix}input-file`]: {
4614
- [`@apply relative block`]: {},
4613
+ [`@apply relative block ${prefix}focus`]: {},
4615
4614
  [`&.${prefix}input-file-drop`]: {
4616
4615
  [`@apply relative h-${config.drop.size} border-dashed border-2 border-${config.drop.border} dark:border-${config.drop.borderDark} hover:border-${config.drop.borderHover} dark:hover:border-${config.drop.borderHoverDark} bg-${config.drop.bg} dark:bg-${config.drop.bgDark} flex justify-center items-center transition-colors duration-${config.drop.duration}`]: {},
4617
4616
  [`.${prefix}drop-area-inner`]: {
@@ -4653,7 +4652,7 @@ const inputFile = plugin.withOptions(
4653
4652
  [`@apply font-${config.combo.label.font} sr-only text-${config.combo.label.text}`]: {}
4654
4653
  },
4655
4654
  [`.${prefix}combo-input`]: {
4656
- [`@apply block w-${config.combo.input.size} text-${config.combo.input.textSize} text-${config.combo.input.text} dark:text-${config.combo.input.textDark} file:me-4 file:py-2 file:px-4 file:border-0 file:cursor-pointer file:text-${config.combo.input.textFileSize} file:transition-colors file:bg-${config.combo.input.bgFile} file:text-${config.combo.input.textFile} hover:file:bg-${config.combo.input.bgFileHover}`]: {}
4655
+ [`@apply outline-none block w-${config.combo.input.size} text-${config.combo.input.textSize} text-${config.combo.input.text} dark:text-${config.combo.input.textDark} file:me-4 file:py-2 file:px-4 file:border-0 file:cursor-pointer file:text-${config.combo.input.textFileSize} file:transition-colors file:bg-${config.combo.input.bgFile} file:text-${config.combo.input.textFile} hover:file:bg-${config.combo.input.bgFileHover}`]: {}
4657
4656
  }
4658
4657
  },
4659
4658
  [`&.${prefix}input-file-rounded`]: {
@@ -4935,7 +4934,7 @@ const input = plugin.withOptions(
4935
4934
  [`@apply relative`]: {}
4936
4935
  },
4937
4936
  [`.${prefix}input-icon`]: {
4938
- [`@apply text-${config.icon.text} absolute start-0 top-0 z-20 flex items-center justify-center transition-colors duration-${config.icon.duration}`]: {}
4937
+ [`@apply text-${config.icon.text} absolute start-0 top-0 z-10 flex items-center justify-center transition-colors duration-${config.icon.duration}`]: {}
4939
4938
  },
4940
4939
  [`.${prefix}input-error-text`]: {
4941
4940
  [`@apply text-${config.errorText.text} mt-1 block font-${config.errorText.font} text-${config.errorText.textSize} font-${config.errorText.fontWeight} leading-none`]: {}
@@ -5212,6 +5211,557 @@ const input = plugin.withOptions(
5212
5211
  }
5213
5212
  );
5214
5213
 
5214
+ const defaultInputNumberConfig = {
5215
+ label: {
5216
+ float: {
5217
+ text: "primary-500",
5218
+ duration: "300",
5219
+ size: "5"
5220
+ }
5221
+ },
5222
+ icon: {
5223
+ text: "muted-400",
5224
+ duration: "300"
5225
+ },
5226
+ errorText: {
5227
+ text: "danger-600",
5228
+ textSize: "[0.65rem]",
5229
+ font: "sans",
5230
+ fontWeight: "medium"
5231
+ },
5232
+ input: {
5233
+ focusSize: "full",
5234
+ font: "sans",
5235
+ duration: "300",
5236
+ focusVisible: {
5237
+ labelFloat: {
5238
+ text: "primary-500",
5239
+ textDark: "primary-500"
5240
+ },
5241
+ icon: {
5242
+ text: "primary-500"
5243
+ }
5244
+ },
5245
+ action: {
5246
+ text: "muted-400",
5247
+ duration: "300"
5248
+ },
5249
+ rounded: {
5250
+ default: "md",
5251
+ smooth: "lg",
5252
+ curved: "xl",
5253
+ full: "full"
5254
+ },
5255
+ sm: {
5256
+ label: {
5257
+ text: "xs"
5258
+ },
5259
+ iconOrAction: {
5260
+ size: "8"
5261
+ },
5262
+ iconOrAcionInner: {
5263
+ size: "4"
5264
+ },
5265
+ placeload: {
5266
+ size: "8"
5267
+ }
5268
+ },
5269
+ md: {
5270
+ label: {
5271
+ text: "[0.825rem]"
5272
+ },
5273
+ iconOrAction: {
5274
+ size: "10"
5275
+ },
5276
+ iconOrAcionInner: {
5277
+ size: "[1.15rem]"
5278
+ },
5279
+ placeload: {
5280
+ size: "10"
5281
+ }
5282
+ },
5283
+ lg: {
5284
+ label: {
5285
+ text: "sm"
5286
+ },
5287
+ iconOrAction: {
5288
+ size: "12"
5289
+ },
5290
+ iconOrAcionInner: {
5291
+ size: "5"
5292
+ },
5293
+ placeload: {
5294
+ size: "12"
5295
+ }
5296
+ },
5297
+ default: {
5298
+ bg: "white",
5299
+ bgDark: "muted-900",
5300
+ border: "muted-300",
5301
+ borderDark: "muted-700",
5302
+ text: "muted-600",
5303
+ textDark: "muted-200",
5304
+ textPlaceholder: "muted-300",
5305
+ textPlaceholderDark: "muted-500"
5306
+ },
5307
+ defaultContrast: {
5308
+ bg: "white",
5309
+ bgDark: "muted-950",
5310
+ border: "muted-300",
5311
+ borderDark: "muted-800",
5312
+ text: "muted-600",
5313
+ textDark: "muted-200",
5314
+ textPlaceholder: "muted-300",
5315
+ textPlaceholderDark: "muted-600"
5316
+ },
5317
+ muted: {
5318
+ bg: "muted-100",
5319
+ bgDark: "muted-900",
5320
+ border: "muted-200",
5321
+ borderDark: "muted-700",
5322
+ text: "muted-600",
5323
+ textDark: "muted-200",
5324
+ textPlaceholder: "muted-300",
5325
+ textPlaceholderDark: "muted-500"
5326
+ },
5327
+ mutedContrast: {
5328
+ bg: "muted-100",
5329
+ bgDark: "muted-950",
5330
+ border: "muted-100",
5331
+ borderDark: "muted-800",
5332
+ text: "muted-600",
5333
+ textDark: "muted-200",
5334
+ textPlaceholder: "muted-300",
5335
+ textPlaceholderDark: "muted-600"
5336
+ },
5337
+ notLoading: {
5338
+ text: "muted-300",
5339
+ textDark: "muted-600"
5340
+ },
5341
+ error: {
5342
+ border: "danger-500",
5343
+ borderDark: "danger-500",
5344
+ icon: {
5345
+ text: "danger-500"
5346
+ }
5347
+ },
5348
+ hasNotIcon: {
5349
+ text: {
5350
+ sm: "xs",
5351
+ md: "sm",
5352
+ lg: "sm"
5353
+ },
5354
+ labelFloat: {
5355
+ sm: "xs",
5356
+ md: {
5357
+ text: "xs",
5358
+ focusVisible: {
5359
+ text: "xs"
5360
+ },
5361
+ placeholderShown: {
5362
+ text: "[0.825rem]"
5363
+ }
5364
+ },
5365
+ lg: {
5366
+ text: "xs",
5367
+ focusVisible: {
5368
+ text: "xs"
5369
+ },
5370
+ placeholderShown: {
5371
+ text: "[0.825rem]"
5372
+ }
5373
+ }
5374
+ }
5375
+ },
5376
+ hasIcon: {
5377
+ text: {
5378
+ sm: "xs",
5379
+ md: "sm",
5380
+ lg: "base"
5381
+ },
5382
+ labelFloat: {
5383
+ sm: "xs",
5384
+ md: {
5385
+ text: "xs",
5386
+ focusVisible: {
5387
+ text: "xs"
5388
+ },
5389
+ placeholderShown: {
5390
+ text: "[0.825rem]"
5391
+ }
5392
+ },
5393
+ lg: {
5394
+ text: "xs",
5395
+ focusVisible: {
5396
+ text: "xs"
5397
+ },
5398
+ placeholderShown: {
5399
+ text: "[0.825rem]"
5400
+ }
5401
+ }
5402
+ }
5403
+ },
5404
+ hasAction: {
5405
+ spaceSM: "8",
5406
+ spaceMD: "10",
5407
+ spaceLG: "12"
5408
+ }
5409
+ }
5410
+ };
5411
+ const inputNumber = plugin.withOptions(
5412
+ function(options) {
5413
+ let { prefix } = defu(options, defaultPluginOptions);
5414
+ if (prefix) {
5415
+ prefix = `${prefix}-`;
5416
+ }
5417
+ return function({ addComponents, theme }) {
5418
+ const config = theme(
5419
+ "shurikenUi.inputNumber"
5420
+ );
5421
+ addComponents({
5422
+ [`.${prefix}input-number-wrapper`]: {
5423
+ [`@apply relative`]: {},
5424
+ [`.${prefix}input-number-label, .${prefix}label-float`]: {
5425
+ [`@apply ${prefix}label`]: {}
5426
+ },
5427
+ [`.${prefix}label-float`]: {
5428
+ [`@apply text-${config.label.float.text} pointer-events-none absolute inline-flex h-${config.label.float.size} select-none items-center leading-none transition-all duration-${config.label.float.duration}`]: {}
5429
+ },
5430
+ [`.${prefix}input-number-outer`]: {
5431
+ [`@apply ${prefix}focus relative`]: {}
5432
+ },
5433
+ [`.${prefix}input-number-icon`]: {
5434
+ [`@apply text-${config.icon.text} absolute start-0 top-0 z-10 flex items-center justify-center transition-colors duration-${config.icon.duration}`]: {}
5435
+ },
5436
+ [`.${prefix}input-number-buttons`]: {
5437
+ [`@apply absolute top-1 end-1 flex`]: {}
5438
+ },
5439
+ [`.${prefix}input-number-buttons button`]: {
5440
+ [`@apply outline-none flex items-center justify-center`]: {},
5441
+ [`@apply border border-muted-200 dark:border-muted-800 last:border-s-0`]: {},
5442
+ [`@apply text-muted-400 hover:text-muted-600 dark:hover:text-muted-100`]: {},
5443
+ [`@apply focus:text-muted-600 dark:focus:text-muted-100`]: {},
5444
+ [`@apply transition-colors duration-300`]: {}
5445
+ },
5446
+ [`.${prefix}input-number-buttons svg`]: {
5447
+ [`@apply h-4 w-4`]: {}
5448
+ },
5449
+ [`.${prefix}input-number-error-text`]: {
5450
+ [`@apply text-${config.errorText.text} mt-1 block font-${config.errorText.font} text-${config.errorText.textSize} font-${config.errorText.fontWeight} leading-none`]: {}
5451
+ },
5452
+ [`.${prefix}input-number`]: {
5453
+ [`@apply outline-none w-${config.input.focusSize} font-${config.input.font} transition-all duration-${config.input.duration} disabled:cursor-not-allowed disabled:opacity-75`]: {},
5454
+ [`&:focus-visible ~ .${prefix}label-float`]: {
5455
+ [`@apply !text-${config.input.focusVisible.labelFloat.text} dark:!text-${config.input.focusVisible.labelFloat.textDark}`]: {}
5456
+ },
5457
+ [`&:focus-visible ~ .${prefix}input-number-icon`]: {
5458
+ [`@apply !text-${config.input.focusVisible.icon.text}`]: {}
5459
+ },
5460
+ [`&:disabled ~ .${prefix}input-number-icon`]: {
5461
+ [`@apply cursor-not-allowed opacity-75`]: {}
5462
+ }
5463
+ },
5464
+ [`.${prefix}input-number-placeload`]: {
5465
+ [`@apply absolute start-0 top-0 flex w-full items-center px-4`]: {},
5466
+ [`.${prefix}placeload`]: {
5467
+ [`@apply h-3 w-full max-w-[50%] rounded`]: {}
5468
+ }
5469
+ },
5470
+ [`.${prefix}input-number-action`]: {
5471
+ [`@apply text-${config.input.action.text} absolute end-0 top-0 flex items-center justify-center transition-colors duration-${config.input.action.duration}`]: {}
5472
+ },
5473
+ [`&.${prefix}input-number-focus`]: {
5474
+ [`.${prefix}input-number`]: {
5475
+ [`@apply focus:border-primary-500 dark:focus:border-primary-500`]: {}
5476
+ }
5477
+ },
5478
+ [`&.${prefix}input-number-rounded`]: {
5479
+ [`.${prefix}input-number, .${prefix}input-number-outer`]: {
5480
+ [`@apply rounded-${config.input.rounded.default}`]: {}
5481
+ },
5482
+ [`.${prefix}input-number-buttons button`]: {
5483
+ [`@apply first:rounded-s-${config.input.rounded.default}`]: {},
5484
+ [`@apply last:rounded-e-${config.input.rounded.default}`]: {}
5485
+ }
5486
+ },
5487
+ [`&.${prefix}input-number-smooth`]: {
5488
+ [`.${prefix}input-number, .${prefix}input-number-outer`]: {
5489
+ [`@apply rounded-${config.input.rounded.smooth}`]: {}
5490
+ },
5491
+ [`.${prefix}input-number-buttons button`]: {
5492
+ [`@apply first:rounded-s-${config.input.rounded.smooth}`]: {},
5493
+ [`@apply last:rounded-e-${config.input.rounded.smooth}`]: {}
5494
+ }
5495
+ },
5496
+ [`&.${prefix}input-number-curved`]: {
5497
+ [`.${prefix}input-number, .${prefix}input-number-outer`]: {
5498
+ [`@apply rounded-${config.input.rounded.curved}`]: {}
5499
+ },
5500
+ [`.${prefix}input-number-buttons button`]: {
5501
+ [`@apply first:rounded-s-${config.input.rounded.curved}`]: {},
5502
+ [`@apply last:rounded-e-${config.input.rounded.curved}`]: {}
5503
+ }
5504
+ },
5505
+ [`&.${prefix}input-number-full`]: {
5506
+ [`.${prefix}input-number, .${prefix}input-number-outer`]: {
5507
+ [`@apply rounded-${config.input.rounded.full}`]: {}
5508
+ },
5509
+ [`.${prefix}input-number-buttons button`]: {
5510
+ [`@apply first:rounded-s-${config.input.rounded.full}`]: {},
5511
+ [`@apply last:rounded-e-${config.input.rounded.full}`]: {}
5512
+ }
5513
+ },
5514
+ [`&.${prefix}input-number-sm`]: {
5515
+ [`.${prefix}input-number-label`]: {
5516
+ [`@apply pb-1 text-${config.input.sm.label.text}`]: {}
5517
+ },
5518
+ [`.${prefix}label-float`]: {
5519
+ [`@apply top-1.5`]: {}
5520
+ },
5521
+ [`.${prefix}input-number-icon, .${prefix}input-number-action`]: {
5522
+ [`@apply h-${config.input.sm.iconOrAction.size} w-${config.input.sm.iconOrAction.size}`]: {},
5523
+ [`.${prefix}input-number-icon-inner, .${prefix}input-number-action-inner`]: {
5524
+ [`@apply h-${config.input.sm.iconOrAcionInner.size} w-${config.input.sm.iconOrAcionInner.size}`]: {}
5525
+ }
5526
+ },
5527
+ [`.${prefix}input-number-placeload`]: {
5528
+ [`@apply h-${config.input.sm.placeload.size}`]: {}
5529
+ },
5530
+ [`.${prefix}input-number-buttons button`]: {
5531
+ [`@apply h-6 w-6`]: {}
5532
+ }
5533
+ },
5534
+ [`&.${prefix}input-number-md`]: {
5535
+ [`.${prefix}input-number-label`]: {
5536
+ [`@apply pb-1 text-${config.input.md.label.text}`]: {}
5537
+ },
5538
+ [`.${prefix}label-float`]: {
5539
+ [`@apply top-2.5`]: {}
5540
+ },
5541
+ [`.${prefix}input-number-icon, .${prefix}input-number-action`]: {
5542
+ [`@apply h-${config.input.md.iconOrAction.size} w-${config.input.md.iconOrAction.size}`]: {},
5543
+ [`.${prefix}input-number-icon-inner, .${prefix}input-number-action-inner`]: {
5544
+ [`@apply h-${config.input.md.iconOrAcionInner.size} w-${config.input.md.iconOrAcionInner.size}`]: {}
5545
+ }
5546
+ },
5547
+ [`.${prefix}input-number-placeload`]: {
5548
+ [`@apply h-${config.input.md.placeload.size}`]: {}
5549
+ },
5550
+ [`.${prefix}input-number-buttons button`]: {
5551
+ [`@apply h-8 w-8`]: {}
5552
+ }
5553
+ },
5554
+ [`&.${prefix}input-number-lg`]: {
5555
+ [`.${prefix}input-number-label`]: {
5556
+ [`@apply pb-1 text-${config.input.lg.label.text}`]: {}
5557
+ },
5558
+ [`.${prefix}label-float`]: {
5559
+ [`@apply top-3.5`]: {}
5560
+ },
5561
+ [`.${prefix}input-number-icon, .${prefix}input-number-action`]: {
5562
+ [`@apply h-${config.input.lg.iconOrAction.size} w-${config.input.lg.iconOrAction.size}`]: {},
5563
+ [`.${prefix}input-number-icon-inner, .${prefix}input-number-action-inner`]: {
5564
+ [`@apply h-${config.input.lg.iconOrAcionInner.size} w-${config.input.lg.iconOrAcionInner.size}`]: {}
5565
+ }
5566
+ },
5567
+ [`.${prefix}input-number-placeload`]: {
5568
+ [`@apply h-${config.input.lg.placeload.size}`]: {}
5569
+ },
5570
+ [`.${prefix}input-number-buttons button`]: {
5571
+ [`@apply h-10 w-10`]: {}
5572
+ }
5573
+ },
5574
+ [`&.${prefix}input-number-default`]: {
5575
+ [`.${prefix}input-number`]: {
5576
+ [`@apply border bg-${config.input.default.bg} border-${config.input.default.border} text-${config.input.default.text} placeholder:text-${config.input.default.textPlaceholder} dark:border-${config.input.default.borderDark} dark:bg-${config.input.default.bgDark} dark:text-${config.input.default.textDark} dark:placeholder:text-${config.input.default.textPlaceholderDark}`]: {}
5577
+ },
5578
+ [`.${prefix}input-number-buttons button`]: {
5579
+ [`@apply hover:bg-muted-100 dark:hover:bg-muted-800`]: {},
5580
+ [`@apply focus:bg-muted-100 dark:focus:bg-muted-800`]: {}
5581
+ }
5582
+ },
5583
+ [`&.${prefix}input-number-default-contrast`]: {
5584
+ [`.${prefix}input-number`]: {
5585
+ [`@apply border bg-${config.input.defaultContrast.bg} border-${config.input.defaultContrast.border} text-${config.input.defaultContrast.text} placeholder:text-${config.input.defaultContrast.textPlaceholder} dark:border-${config.input.defaultContrast.borderDark} dark:bg-${config.input.defaultContrast.bgDark} dark:text-${config.input.defaultContrast.textDark} dark:placeholder:text-${config.input.defaultContrast.textPlaceholderDark}`]: {}
5586
+ },
5587
+ [`.${prefix}input-number-buttons button`]: {
5588
+ [`@apply hover:bg-muted-100 dark:hover:bg-muted-900`]: {},
5589
+ [`@apply focus:bg-muted-100 dark:focus:bg-muted-900`]: {}
5590
+ }
5591
+ },
5592
+ [`&.${prefix}input-number-muted`]: {
5593
+ [`.${prefix}input-number`]: {
5594
+ [`@apply border bg-${config.input.muted.bg} border-${config.input.muted.border} text-${config.input.muted.text} placeholder:text-${config.input.muted.textPlaceholder} dark:border-${config.input.muted.borderDark} dark:bg-${config.input.muted.bgDark} dark:text-${config.input.muted.textDark} dark:placeholder:text-${config.input.muted.textPlaceholderDark}`]: {}
5595
+ },
5596
+ [`.${prefix}input-number-buttons button`]: {
5597
+ [`@apply hover:bg-white dark:hover:bg-muted-800`]: {},
5598
+ [`@apply focus:bg-white dark:focus:bg-muted-800`]: {}
5599
+ }
5600
+ },
5601
+ [`&.${prefix}input-number-muted-contrast`]: {
5602
+ [`.${prefix}input-number`]: {
5603
+ [`@apply border bg-${config.input.mutedContrast.bg} border-${config.input.mutedContrast.border} text-${config.input.mutedContrast.text} placeholder:text-${config.input.mutedContrast.textPlaceholder} dark:border-${config.input.mutedContrast.borderDark} dark:bg-${config.input.mutedContrast.bgDark} dark:text-${config.input.mutedContrast.textDark} dark:placeholder:text-${config.input.mutedContrast.textPlaceholderDark}`]: {}
5604
+ },
5605
+ [`.${prefix}input-number-buttons button`]: {
5606
+ [`@apply hover:bg-white dark:hover:bg-muted-900`]: {},
5607
+ [`@apply focus:bg-white dark:focus:bg-muted-900`]: {}
5608
+ }
5609
+ },
5610
+ [`&:not(.${prefix}input-number-loading)`]: {
5611
+ [`.${prefix}input-number:placeholder-shown ~ .${prefix}label-float`]: {
5612
+ [`@apply text-${config.input.notLoading.text} dark:text-${config.input.notLoading.textDark}`]: {}
5613
+ }
5614
+ },
5615
+ [`&.${prefix}input-number-loading`]: {
5616
+ [`.${prefix}input-number`]: {
5617
+ [`@apply !text-transparent placeholder:!text-transparent dark:placeholder:!text-transparent`]: {}
5618
+ },
5619
+ [`.${prefix}input-number:placeholder-shown ~ .${prefix}label-float`]: {
5620
+ [`@apply text-transparent`]: {}
5621
+ },
5622
+ [`.${prefix}input-number-icon`]: {
5623
+ [`@apply opacity-0`]: {}
5624
+ }
5625
+ },
5626
+ [`&.${prefix}input-number-label-float`]: {
5627
+ [`.${prefix}input-number`]: {
5628
+ [`@apply placeholder:text-transparent dark:placeholder:text-transparent`]: {}
5629
+ }
5630
+ },
5631
+ [`&.${prefix}input-number-error`]: {
5632
+ [`.${prefix}input-number`]: {
5633
+ [`@apply !border-${config.input.error.border} dark:!border-${config.input.error.borderDark}`]: {}
5634
+ },
5635
+ [`.${prefix}input-number-icon`]: {
5636
+ [`@apply !text-${config.input.error.icon.text}`]: {}
5637
+ }
5638
+ },
5639
+ [`&:not(.${prefix}has-icon).${prefix}input-number-sm`]: {
5640
+ [`.${prefix}input-number`]: {
5641
+ [`@apply h-8 py-1 text-${config.input.hasNotIcon.text.sm} leading-4 ps-2 pe-14`]: {}
5642
+ }
5643
+ },
5644
+ [`&.${prefix}has-icon.${prefix}input-number-sm`]: {
5645
+ [`.${prefix}input-number`]: {
5646
+ [`@apply h-8 py-1 text-${config.input.hasIcon.text.sm} leading-4 pe-14 ps-8`]: {}
5647
+ }
5648
+ },
5649
+ [`&:not(.${prefix}has-icon).${prefix}input-number-md`]: {
5650
+ [`.${prefix}input-number`]: {
5651
+ [`@apply h-10 py-2 text-${config.input.hasNotIcon.text.md} leading-5 ps-3 pe-20`]: {}
5652
+ }
5653
+ },
5654
+ [`&.${prefix}has-icon.${prefix}input-number-md`]: {
5655
+ [`.${prefix}input-number`]: {
5656
+ [`@apply h-10 py-2 text-${config.input.hasIcon.text.md} leading-5 pe-20 ps-10`]: {}
5657
+ }
5658
+ },
5659
+ [`&:not(.${prefix}has-icon).${prefix}input-number-lg`]: {
5660
+ [`.${prefix}input-number`]: {
5661
+ [`@apply h-12 py-2 text-${config.input.hasNotIcon.text.lg} leading-5 ps-4 pe-24`]: {}
5662
+ }
5663
+ },
5664
+ [`&.${prefix}has-icon.${prefix}input-number-lg`]: {
5665
+ [`.${prefix}input-number`]: {
5666
+ [`@apply h-12 py-2 text-${config.input.hasIcon.text.lg} leading-5 pe-24 ps-11`]: {}
5667
+ }
5668
+ },
5669
+ [`&.${prefix}has-action.${prefix}input-number-sm`]: {
5670
+ [`.${prefix}input-number`]: {
5671
+ [`@apply pe-${config.input.hasAction.spaceSM}`]: {}
5672
+ }
5673
+ },
5674
+ [`&.${prefix}has-action.${prefix}input-number-md`]: {
5675
+ [`.${prefix}input-number`]: {
5676
+ [`@apply pe-${config.input.hasAction.spaceMD}`]: {}
5677
+ }
5678
+ },
5679
+ [`&.${prefix}has-action.${prefix}input-number-lg`]: {
5680
+ [`.${prefix}input-number`]: {
5681
+ [`@apply pe-${config.input.hasAction.spaceLG}`]: {}
5682
+ }
5683
+ },
5684
+ [`&.${prefix}input-number-label-float:not(.${prefix}has-icon).${prefix}input-number-sm`]: {
5685
+ [`.${prefix}label-float`]: {
5686
+ [`@apply start-3 -ms-3 -mt-7 text-${config.input.hasNotIcon.labelFloat.sm}`]: {}
5687
+ },
5688
+ [`.${prefix}input-number:focus-visible ~ .${prefix}label-float`]: {
5689
+ [`@apply !-ms-3 !-mt-7`]: {}
5690
+ },
5691
+ [`.${prefix}input-number:placeholder-shown ~ .${prefix}label-float`]: {
5692
+ [`@apply ms-0 mt-0`]: {}
5693
+ }
5694
+ },
5695
+ [`&.${prefix}input-number-label-float.${prefix}has-icon.${prefix}input-number-sm`]: {
5696
+ [`.${prefix}label-float`]: {
5697
+ [`@apply start-8 -ms-8 -mt-7 text-${config.input.hasIcon.labelFloat.sm}`]: {}
5698
+ },
5699
+ [`.${prefix}input-number:focus-visible ~ .${prefix}label-float`]: {
5700
+ [`@apply !-ms-8 !-mt-7`]: {}
5701
+ },
5702
+ [`.${prefix}input-number:placeholder-shown ~ .${prefix}label-float`]: {
5703
+ [`@apply ms-0 mt-0`]: {}
5704
+ }
5705
+ },
5706
+ [`&.${prefix}input-number-label-float:not(.${prefix}has-icon).${prefix}input-number-md`]: {
5707
+ [`.${prefix}label-float`]: {
5708
+ [`@apply start-3 -ms-3 -mt-8 text-${config.input.hasNotIcon.labelFloat.md.text}`]: {}
5709
+ },
5710
+ [`.${prefix}input-number:focus-visible ~ .${prefix}label-float`]: {
5711
+ [`@apply !-ms-3 !-mt-8 !text-${config.input.hasNotIcon.labelFloat.md.focusVisible.text}`]: {}
5712
+ },
5713
+ [`.${prefix}input-number:placeholder-shown ~ .${prefix}label-float`]: {
5714
+ [`@apply ms-0 mt-0 text-${config.input.hasNotIcon.labelFloat.md.placeholderShown.text}`]: {}
5715
+ }
5716
+ },
5717
+ [`&.${prefix}input-number-label-float.${prefix}has-icon.${prefix}input-number-md`]: {
5718
+ [`.${prefix}label-float`]: {
5719
+ [`@apply start-10 -ms-10 -mt-8 text-${config.input.hasIcon.labelFloat.md.text}`]: {}
5720
+ },
5721
+ [`.${prefix}input-number:focus-visible ~ .${prefix}label-float`]: {
5722
+ [`@apply !-ms-10 !-mt-8 !text-${config.input.hasIcon.labelFloat.md.focusVisible.text}`]: {}
5723
+ },
5724
+ [`.${prefix}input-number:placeholder-shown ~ .${prefix}label-float`]: {
5725
+ [`@apply ms-0 mt-0 text-${config.input.hasIcon.labelFloat.md.placeholderShown.text}`]: {}
5726
+ }
5727
+ },
5728
+ [`&.${prefix}input-number-label-float:not(.${prefix}has-icon).${prefix}input-number-lg`]: {
5729
+ [`.${prefix}label-float`]: {
5730
+ [`@apply start-3 -ms-3 -mt-8 text-${config.input.hasNotIcon.labelFloat.lg.text}`]: {}
5731
+ },
5732
+ [`.${prefix}input-number:focus-visible ~ .${prefix}label-float`]: {
5733
+ [`@apply !-ms-3 !-mt-9 !text-${config.input.hasNotIcon.labelFloat.lg.focusVisible.text}`]: {}
5734
+ },
5735
+ [`.${prefix}input-number:placeholder-shown ~ .${prefix}label-float`]: {
5736
+ [`@apply ms-0 mt-0 text-${config.input.hasNotIcon.labelFloat.lg.placeholderShown.text}`]: {}
5737
+ }
5738
+ },
5739
+ [`&.${prefix}input-number-label-float.${prefix}has-icon.${prefix}input-number-lg`]: {
5740
+ [`.${prefix}label-float`]: {
5741
+ [`@apply start-11 -ms-10 -mt-8 text-${config.input.hasIcon.labelFloat.lg.text}`]: {}
5742
+ },
5743
+ [`.${prefix}input-number:focus-visible ~ .${prefix}label-float`]: {
5744
+ [`@apply !-ms-10 !-mt-9 !text-${config.input.hasIcon.labelFloat.lg.focusVisible.text}`]: {}
5745
+ },
5746
+ [`.${prefix}input-number:placeholder-shown ~ .${prefix}label-float`]: {
5747
+ [`@apply ms-0 mt-0 text-${config.input.hasIcon.labelFloat.lg.placeholderShown.text}`]: {}
5748
+ }
5749
+ }
5750
+ }
5751
+ });
5752
+ };
5753
+ },
5754
+ function() {
5755
+ return {
5756
+ theme: {
5757
+ shurikenUi: {
5758
+ inputNumber: defaultInputNumberConfig
5759
+ }
5760
+ }
5761
+ };
5762
+ }
5763
+ );
5764
+
5215
5765
  const defaultLabelConfig = {
5216
5766
  font: "sans",
5217
5767
  text: "muted-400",
@@ -5676,7 +6226,7 @@ const listbox = plugin.withOptions(
5676
6226
  }
5677
6227
  },
5678
6228
  [`.${prefix}listbox-icon`]: {
5679
- [`@apply text-${config.icon.text} absolute start-0 top-0 flex items-center justify-center transition-colors duration-${config.icon.duration}`]: {}
6229
+ [`@apply text-${config.icon.text} absolute start-0 top-0 z-10 flex items-center justify-center transition-colors duration-${config.icon.duration}`]: {}
5680
6230
  },
5681
6231
  [`.${prefix}listbox-chevron`]: {
5682
6232
  [`@apply pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center border-s`]: {},
@@ -6430,7 +6980,7 @@ const message = plugin.withOptions(
6430
6980
  [`@apply text-${config.messageInnerText.textColor} px-3 block font-${config.messageInnerText.font} text-${config.messageInnerText.text}`]: {}
6431
6981
  },
6432
6982
  [`.${prefix}message-close`]: {
6433
- [`@apply ${prefix}focus text-${config.messageClose.text} me-2 ms-auto flex cursor-pointer items-center justify-center p-${config.messageClose.space} outline-none rounded-${config.messageClose.rounded} transition-colors duration-${config.messageClose.duration}`]: {},
6983
+ [`@apply ${prefix}focus text-${config.messageClose.text} me-2 ms-auto flex cursor-pointer items-center justify-center p-${config.messageClose.space} rounded-${config.messageClose.rounded} transition-colors duration-${config.messageClose.duration}`]: {},
6434
6984
  [`.${prefix}close-icon`]: {
6435
6985
  [`@apply h-${config.messageClose.iconSize} w-${config.messageClose.iconSize}`]: {}
6436
6986
  }
@@ -7592,7 +8142,7 @@ const select = plugin.withOptions(
7592
8142
  [`@apply relative`]: {}
7593
8143
  },
7594
8144
  [`.${prefix}select-icon`]: {
7595
- [`@apply text-${config.icon.text} absolute start-0 top-0 z-20 flex items-center justify-center transition-colors duration-${config.icon.duration}`]: {}
8145
+ [`@apply text-${config.icon.text} absolute start-0 top-0 z-10 flex items-center justify-center transition-colors duration-${config.icon.duration}`]: {}
7596
8146
  },
7597
8147
  [`.${prefix}select-error-text`]: {
7598
8148
  [`@apply text-${config.errorText.text} mt-1 block font-${config.errorText.font} text-${config.errorText.textSize} font-${config.errorText.fontWeight} leading-none`]: {}
@@ -7620,7 +8170,7 @@ const select = plugin.withOptions(
7620
8170
  },
7621
8171
  [`.${prefix}select-chevron`]: {
7622
8172
  "@apply pointer-events-none": {},
7623
- [`@apply text-${config.select.chevron.text} absolute end-0 top-0 z-20 flex items-center justify-center transition-transform duration-${config.select.chevron.duration}`]: {}
8173
+ [`@apply text-${config.select.chevron.text} absolute end-0 top-0 z-10 flex items-center justify-center transition-transform duration-${config.select.chevron.duration}`]: {}
7624
8174
  },
7625
8175
  [`&.${prefix}select-multiple`]: {
7626
8176
  [`.${prefix}select`]: {
@@ -7979,7 +8529,7 @@ const snack = plugin.withOptions(
7979
8529
  );
7980
8530
  addComponents({
7981
8531
  [`.${prefix}snack`]: {
7982
- [`@apply ${prefix}focus inline-flex items-center gap-1 rounded-${config.rounded} outline-transparent overflow-hidden`]: {},
8532
+ [`@apply inline-flex items-center gap-1 rounded-${config.rounded} outline-transparent`]: {},
7983
8533
  [`.${prefix}snack-icon`]: {
7984
8534
  [`@apply border-${config.icon.border} -ms-0.5 flex items-center justify-center rounded-${config.icon.rounded} border bg-${config.icon.bg}`]: {}
7985
8535
  },
@@ -8105,13 +8655,13 @@ const switchBall = plugin.withOptions(
8105
8655
  [`.${prefix}switch-ball`]: {
8106
8656
  [`@apply flex cursor-pointer items-center`]: {},
8107
8657
  [`.${prefix}switch-ball-outer`]: {
8108
- [`@apply relative block`]: {}
8658
+ [`@apply ${prefix}focus relative block rounded-${config.handle.rounded}`]: {}
8109
8659
  },
8110
8660
  [`.${prefix}switch-ball-handle`]: {
8111
8661
  [`@apply border-${config.handle.border} dark:border-${config.handle.borderDark} dark:bg-${config.handle.bgDark} absolute start-0.5 top-1/2 z-10 flex h-${config.handle.size} w-${config.handle.size} -translate-y-1/2 items-center justify-center rounded-${config.handle.rounded} border bg-${config.handle.bg} shadow transition focus:w-6`]: {}
8112
8662
  },
8113
8663
  [`.${prefix}switch-ball-track`]: {
8114
- [`@apply bg-${config.track.bg} dark:bg-${config.track.bgDark} block h-6 w-11 rounded-${config.track.rounded} shadow-inner outline-1 outline-transparent transition-all duration-${config.track.duration}`]: {}
8664
+ [`@apply bg-${config.track.bg} dark:bg-${config.track.bgDark} block h-6 w-11 rounded-${config.track.rounded} shadow-inner transition-all duration-${config.track.duration}`]: {}
8115
8665
  },
8116
8666
  [`.${prefix}switch-ball-icon`]: {
8117
8667
  [`@apply pointer-events-none absolute start-2 top-1/2 z-10 h-${config.icon.size} w-${config.icon.size} translate-y-0 fill-current text-${config.icon.text} opacity-0 transition duration-${config.icon.duration}`]: {}
@@ -8133,9 +8683,6 @@ const switchBall = plugin.withOptions(
8133
8683
  [`&:checked ~ .${prefix}switch-ball-handle`]: {
8134
8684
  [`@apply -translate-y-1/2 translate-x-full rtl:-translate-x-full`]: {}
8135
8685
  },
8136
- [`&:checked ~ .${prefix}switch-ball-track`]: {
8137
- [`@apply outline-dashed outline-offset-2 ring-0 dark:outline-muted-600 outline-muted-300`]: {}
8138
- },
8139
8686
  [`&:checked ~ .${prefix}switch-ball-icon`]: {
8140
8687
  [`@apply -translate-y-1/2 opacity-100`]: {}
8141
8688
  }
@@ -8227,13 +8774,13 @@ const switchThin = plugin.withOptions(
8227
8774
  [`.${prefix}switch-thin`]: {
8228
8775
  [`@apply flex cursor-pointer items-center`]: {},
8229
8776
  [`.${prefix}switch-thin-outer`]: {
8230
- [`@apply relative block h-4`]: {}
8777
+ [`@apply ${prefix}focus relative block h-4 rounded-${config.handle.rounded}`]: {}
8231
8778
  },
8232
8779
  [`.${prefix}switch-thin-handle`]: {
8233
8780
  [`@apply border-${config.handle.border} dark:border-${config.handle.borderDark} dark:bg-${config.handle.bgDark} absolute -start-1 top-1/2 flex h-${config.handle.size} w-${config.handle.size} -translate-y-1/2 items-center justify-center rounded-${config.handle.rounded} border bg-${config.handle.bg} shadow transition`]: {}
8234
8781
  },
8235
8782
  [`.${prefix}switch-thin-track`]: {
8236
- [`@apply bg-${config.track.bg} dark:bg-${config.track.bgDark} block h-4 w-10 rounded-${config.track.rounded} shadow-inner outline-1 outline-transparent transition-all duration-${config.track.duration}`]: {}
8783
+ [`@apply bg-${config.track.bg} dark:bg-${config.track.bgDark} block h-4 w-10 rounded-${config.track.rounded} shadow-inner transition-all duration-${config.track.duration}`]: {}
8237
8784
  },
8238
8785
  [`.${prefix}switch-thin-single-label`]: {
8239
8786
  [`@apply text-${config.singleLabel.text} relative ms-3 cursor-pointer select-none font-${config.singleLabel.font} text-${config.singleLabel.textSize}`]: {}
@@ -8251,9 +8798,6 @@ const switchThin = plugin.withOptions(
8251
8798
  [`@apply absolute z-20 h-${config.input.size} w-${config.input.size} cursor-pointer opacity-0`]: {},
8252
8799
  [`&:checked ~ .${prefix}switch-thin-handle`]: {
8253
8800
  [`@apply -translate-y-1/2 translate-x-full rtl:-translate-x-full`]: {}
8254
- },
8255
- [`&:checked ~ .${prefix}switch-thin-track`]: {
8256
- [`@apply outline-dashed outline-offset-2 ring-0 dark:outline-muted-600 outline-muted-300`]: {}
8257
8801
  }
8258
8802
  },
8259
8803
  [`&.${prefix}switch-thin-primary .${prefix}switch-thin-input:checked ~ .${prefix}switch-thin-track`]: {
@@ -9948,6 +10492,7 @@ const components = [
9948
10492
  inputFileRegular,
9949
10493
  inputFile,
9950
10494
  input,
10495
+ inputNumber,
9951
10496
  label,
9952
10497
  link,
9953
10498
  list,