@tenerife.music/ui 1.0.12 → 1.0.13

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.
@@ -3333,8 +3333,9 @@ var TOAST_TOKENS = {
3333
3333
  },
3334
3334
  /**
3335
3335
  * Animation tokens for toast enter/exit animations
3336
- * Maps to Motion V2 utility classes
3336
+ * Maps to Motion V2 utility classes and Radix data attributes
3337
3337
  * Uses CSS-only animations from motion/v2.ts
3338
+ * Radix Toast provides data-[state=open] and data-[state=closed] attributes
3338
3339
  */
3339
3340
  animation: {
3340
3341
  enter: {
@@ -3352,6 +3353,24 @@ var TOAST_TOKENS = {
3352
3353
  // Motion V2 fade out
3353
3354
  combined: "tm-motion-fade-slide-left-out"
3354
3355
  // Motion V2 fade + slide left out
3356
+ },
3357
+ /**
3358
+ * Radix Toast data attribute classes
3359
+ * These are applied automatically by Radix based on toast state
3360
+ */
3361
+ radix: {
3362
+ /**
3363
+ * Base classes for Radix Toast Root
3364
+ * Includes swipe handling and state-based animations
3365
+ */
3366
+ root: "data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out",
3367
+ /**
3368
+ * State-based animation classes
3369
+ */
3370
+ state: {
3371
+ open: "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",
3372
+ closed: "data-[state=closed]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full"
3373
+ }
3355
3374
  }
3356
3375
  },
3357
3376
  /**
@@ -4274,6 +4293,511 @@ var TOOLTIP_TOKENS = {
4274
4293
  }
4275
4294
  };
4276
4295
 
4296
+ // src/tokens/components/select.ts
4297
+ var SELECT_TOKENS = {
4298
+ /**
4299
+ * Select trigger heights by size
4300
+ * Supports xs, sm, md, lg, xl sizes
4301
+ */
4302
+ trigger: {
4303
+ height: {
4304
+ xs: "h-7",
4305
+ // 28px (1.75rem)
4306
+ sm: "h-8",
4307
+ // 32px (2rem)
4308
+ md: "h-9",
4309
+ // 36px (2.25rem) - default
4310
+ lg: "h-10",
4311
+ // 40px (2.5rem)
4312
+ xl: "h-11"
4313
+ // 44px (2.75rem)
4314
+ },
4315
+ padding: {
4316
+ horizontal: {
4317
+ xs: "px-xs",
4318
+ // 4px (0.25rem)
4319
+ sm: "px-sm",
4320
+ // 8px (0.5rem)
4321
+ md: "px-sm",
4322
+ // 8px (0.5rem) - default
4323
+ lg: "px-md",
4324
+ // 16px (1rem)
4325
+ xl: "px-lg"
4326
+ // 24px (1.5rem)
4327
+ },
4328
+ vertical: {
4329
+ xs: "py-xs",
4330
+ // 4px (0.25rem)
4331
+ sm: "py-xs",
4332
+ // 4px (0.25rem)
4333
+ md: "py-xs",
4334
+ // 4px (0.25rem) - default
4335
+ lg: "py-sm",
4336
+ // 8px (0.5rem)
4337
+ xl: "py-md"
4338
+ // 16px (1rem)
4339
+ }
4340
+ },
4341
+ radius: {
4342
+ xs: "rounded-sm",
4343
+ // 4px (0.25rem)
4344
+ sm: "rounded-md",
4345
+ // 6px (0.375rem)
4346
+ md: "rounded-md",
4347
+ // 6px (0.375rem) - default
4348
+ lg: "rounded-md",
4349
+ // 6px (0.375rem)
4350
+ xl: "rounded-lg"
4351
+ // 8px (0.5rem)
4352
+ },
4353
+ fontSize: {
4354
+ xs: "text-xs",
4355
+ // Maps to fontSize.xs[0]
4356
+ sm: "text-sm",
4357
+ // Maps to fontSize.sm[0]
4358
+ md: "text-base",
4359
+ // Maps to fontSize.base[0] - default
4360
+ lg: "text-base",
4361
+ // Maps to fontSize.base[0]
4362
+ xl: "text-lg"
4363
+ // Maps to fontSize.lg[0]
4364
+ },
4365
+ icon: {
4366
+ size: "size-4",
4367
+ // 16px (1rem)
4368
+ gap: "gap-sm",
4369
+ // 8px (0.5rem)
4370
+ color: "text-[hsl(var(--muted-foreground))]"
4371
+ // Icon color using CSS variable
4372
+ }
4373
+ },
4374
+ /**
4375
+ * Select content (dropdown) tokens
4376
+ */
4377
+ content: {
4378
+ padding: {
4379
+ xs: "p-xs",
4380
+ // 4px (0.25rem)
4381
+ sm: "p-sm",
4382
+ // 8px (0.5rem)
4383
+ md: "p-sm",
4384
+ // 8px (0.5rem) - default
4385
+ lg: "p-md",
4386
+ // 16px (1rem)
4387
+ xl: "p-lg"
4388
+ // 24px (1.5rem)
4389
+ },
4390
+ radius: {
4391
+ xs: "rounded-sm",
4392
+ // 4px (0.25rem)
4393
+ sm: "rounded-md",
4394
+ // 6px (0.375rem)
4395
+ md: "rounded-md",
4396
+ // 6px (0.375rem) - default
4397
+ lg: "rounded-md",
4398
+ // 6px (0.375rem)
4399
+ xl: "rounded-lg"
4400
+ // 8px (0.5rem)
4401
+ },
4402
+ shadow: "shadow-md",
4403
+ // Maps to elevationShadows.md
4404
+ background: "bg-[hsl(var(--popover))]",
4405
+ // Background using CSS var
4406
+ text: "text-[hsl(var(--popover-foreground))]",
4407
+ // Text color using CSS var
4408
+ border: "border border-[hsl(var(--border))]",
4409
+ // Border color using CSS var
4410
+ maxHeight: "max-h-[384px]",
4411
+ // Maximum height for scrollable content (24rem = 384px)
4412
+ minWidth: "min-w-[128px]"
4413
+ // Minimum width (8rem = 128px)
4414
+ },
4415
+ /**
4416
+ * Select item tokens
4417
+ */
4418
+ item: {
4419
+ padding: {
4420
+ horizontal: {
4421
+ xs: "px-xs",
4422
+ // 4px (0.25rem)
4423
+ sm: "px-sm",
4424
+ // 8px (0.5rem)
4425
+ md: "px-sm",
4426
+ // 8px (0.5rem) - default
4427
+ lg: "px-md",
4428
+ // 16px (1rem)
4429
+ xl: "px-lg"
4430
+ // 24px (1.5rem)
4431
+ },
4432
+ vertical: {
4433
+ xs: "py-xs",
4434
+ // 4px (0.25rem)
4435
+ sm: "py-xs",
4436
+ // 4px (0.25rem)
4437
+ md: "py-xs",
4438
+ // 4px (0.25rem) - default
4439
+ lg: "py-sm",
4440
+ // 8px (0.5rem)
4441
+ xl: "py-sm"
4442
+ // 8px (0.5rem)
4443
+ }
4444
+ },
4445
+ radius: {
4446
+ xs: "rounded-[4px]",
4447
+ // 4px (0.25rem) - using explicit value to avoid numeric class
4448
+ sm: "rounded-[4px]",
4449
+ // 4px (0.25rem)
4450
+ md: "rounded-[4px]",
4451
+ // 4px (0.25rem) - default
4452
+ lg: "rounded-[4px]",
4453
+ // 4px (0.25rem)
4454
+ xl: "rounded-md"
4455
+ // 6px (0.375rem)
4456
+ },
4457
+ fontSize: {
4458
+ xs: "text-xs",
4459
+ // Maps to fontSize.xs[0]
4460
+ sm: "text-sm",
4461
+ // Maps to fontSize.sm[0]
4462
+ md: "text-sm",
4463
+ // Maps to fontSize.sm[0] - default
4464
+ lg: "text-sm",
4465
+ // Maps to fontSize.sm[0]
4466
+ xl: "text-base"
4467
+ // Maps to fontSize.base[0]
4468
+ },
4469
+ indicator: {
4470
+ size: "size-4",
4471
+ // 16px (1rem)
4472
+ position: "left-sm"
4473
+ // 8px (0.5rem) from left
4474
+ },
4475
+ focus: {
4476
+ background: "focus:bg-[hsl(var(--accent))]",
4477
+ // Focus background using CSS var
4478
+ text: "focus:text-[hsl(var(--accent-foreground))]"
4479
+ // Focus text using CSS var
4480
+ },
4481
+ selected: {
4482
+ background: "bg-[hsl(var(--accent))]",
4483
+ // Selected background using CSS var
4484
+ text: "text-[hsl(var(--accent-foreground))]"
4485
+ // Selected text using CSS var
4486
+ },
4487
+ disabled: {
4488
+ opacity: "opacity-50",
4489
+ // Disabled opacity
4490
+ pointerEvents: "pointer-events-none"
4491
+ // Disable pointer events
4492
+ }
4493
+ },
4494
+ /**
4495
+ * Select label tokens
4496
+ */
4497
+ label: {
4498
+ padding: {
4499
+ horizontal: {
4500
+ xs: "px-xs",
4501
+ // 4px (0.25rem)
4502
+ sm: "px-sm",
4503
+ // 8px (0.5rem)
4504
+ md: "px-sm",
4505
+ // 8px (0.5rem) - default
4506
+ lg: "px-md",
4507
+ // 16px (1rem)
4508
+ xl: "px-lg"
4509
+ // 24px (1.5rem)
4510
+ },
4511
+ vertical: {
4512
+ xs: "py-xs",
4513
+ // 4px (0.25rem)
4514
+ sm: "py-xs",
4515
+ // 4px (0.25rem)
4516
+ md: "py-xs",
4517
+ // 4px (0.25rem) - default
4518
+ lg: "py-sm",
4519
+ // 8px (0.5rem)
4520
+ xl: "py-sm"
4521
+ // 8px (0.5rem)
4522
+ }
4523
+ },
4524
+ fontSize: {
4525
+ xs: "text-xs",
4526
+ // Maps to fontSize.xs[0]
4527
+ sm: "text-sm",
4528
+ // Maps to fontSize.sm[0]
4529
+ md: "text-sm",
4530
+ // Maps to fontSize.sm[0] - default
4531
+ lg: "text-sm",
4532
+ // Maps to fontSize.sm[0]
4533
+ xl: "text-base"
4534
+ // Maps to fontSize.base[0]
4535
+ },
4536
+ fontWeight: "font-semibold"
4537
+ // Semibold weight for labels
4538
+ },
4539
+ /**
4540
+ * Select separator tokens
4541
+ */
4542
+ separator: {
4543
+ margin: {
4544
+ horizontal: {
4545
+ xs: "-mx-xs",
4546
+ // -4px
4547
+ sm: "-mx-xs",
4548
+ // -4px
4549
+ md: "-mx-xs",
4550
+ // -4px - default
4551
+ lg: "-mx-sm",
4552
+ // -8px
4553
+ xl: "-mx-sm"
4554
+ // -8px
4555
+ },
4556
+ vertical: {
4557
+ xs: "my-xs",
4558
+ // 4px (0.25rem)
4559
+ sm: "my-xs",
4560
+ // 4px (0.25rem)
4561
+ md: "my-xs",
4562
+ // 4px (0.25rem) - default
4563
+ lg: "my-sm",
4564
+ // 8px (0.5rem)
4565
+ xl: "my-sm"
4566
+ // 8px (0.5rem)
4567
+ }
4568
+ },
4569
+ height: "h-px",
4570
+ // 1px height
4571
+ background: "bg-[hsl(var(--muted))]"
4572
+ // Background using CSS var
4573
+ },
4574
+ /**
4575
+ * Variant-based tokens
4576
+ * Border, background, and text colors for different variants
4577
+ * All use CSS variable references for theme support
4578
+ */
4579
+ variant: {
4580
+ primary: {
4581
+ border: "border-[hsl(var(--tm-primary))]",
4582
+ // Primary border color
4583
+ background: "bg-[hsl(var(--tm-primary))]",
4584
+ // Primary background
4585
+ text: "text-[hsl(var(--tm-primary-foreground))]",
4586
+ // Primary text color
4587
+ focus: "focus-visible:shadow-[var(--focus-ring-primary)]"
4588
+ // Primary focus ring
4589
+ },
4590
+ secondary: {
4591
+ border: "border-[hsl(var(--tm-secondary))]",
4592
+ // Secondary border color
4593
+ background: "bg-[hsl(var(--tm-secondary))]",
4594
+ // Secondary background
4595
+ text: "text-[hsl(var(--tm-secondary-foreground))]",
4596
+ // Secondary text color
4597
+ focus: "focus-visible:shadow-[var(--focus-ring-default)]"
4598
+ // Default focus ring
4599
+ },
4600
+ outline: {
4601
+ border: "border-[hsl(var(--input))]",
4602
+ // Input border color
4603
+ background: "bg-transparent",
4604
+ // Transparent background
4605
+ text: "text-[hsl(var(--foreground))]",
4606
+ // Foreground text color
4607
+ focus: "focus-visible:shadow-[var(--focus-ring-default)]"
4608
+ // Default focus ring
4609
+ },
4610
+ ghost: {
4611
+ border: "border-transparent",
4612
+ // Transparent border
4613
+ background: "bg-transparent",
4614
+ // Transparent background
4615
+ text: "text-[hsl(var(--foreground))]",
4616
+ // Foreground text color
4617
+ focus: "focus-visible:shadow-[var(--focus-ring-default)]"
4618
+ // Default focus ring
4619
+ },
4620
+ destructive: {
4621
+ border: "border-[hsl(var(--destructive))]",
4622
+ // Destructive border color
4623
+ background: "bg-[hsl(var(--destructive))]",
4624
+ // Destructive background
4625
+ text: "text-[hsl(var(--destructive-foreground))]",
4626
+ // Destructive text color
4627
+ focus: "focus-visible:shadow-[var(--focus-ring-default)]"
4628
+ // Default focus ring
4629
+ }
4630
+ },
4631
+ /**
4632
+ * State-based tokens
4633
+ * Border, background, and text colors for different states
4634
+ * All use CSS variable references for theme support
4635
+ */
4636
+ state: {
4637
+ default: {
4638
+ border: "border-[hsl(var(--input))]",
4639
+ // Default border color using CSS var
4640
+ background: "bg-transparent",
4641
+ // Default background
4642
+ text: "text-[hsl(var(--foreground))]"
4643
+ // Default text color using CSS var
4644
+ },
4645
+ disabled: {
4646
+ border: "border-[hsl(var(--input))]",
4647
+ // Disabled state border (same as default)
4648
+ background: "bg-transparent",
4649
+ // Disabled background (same as default)
4650
+ text: "text-[hsl(var(--foreground))] disabled:opacity-50",
4651
+ // Disabled text opacity
4652
+ cursor: "cursor-not-allowed"
4653
+ // Disabled cursor
4654
+ },
4655
+ open: {
4656
+ border: "border-[hsl(var(--ring))]",
4657
+ // Open state border
4658
+ focus: "focus-visible:shadow-[var(--focus-ring-default)]"
4659
+ // Focus ring using CSS var
4660
+ },
4661
+ closed: {
4662
+ border: "border-[hsl(var(--input))]"
4663
+ // Closed state border
4664
+ }
4665
+ },
4666
+ /**
4667
+ * Width tokens
4668
+ */
4669
+ width: {
4670
+ auto: "w-auto",
4671
+ // Auto width
4672
+ full: "w-full",
4673
+ // Full width (100%)
4674
+ sm: "w-48",
4675
+ // 192px (12rem)
4676
+ md: "w-64",
4677
+ // 256px (16rem)
4678
+ lg: "w-80",
4679
+ // 320px (20rem)
4680
+ xl: "w-96"
4681
+ // 384px (24rem)
4682
+ },
4683
+ /**
4684
+ * Size-based token structure
4685
+ * Organized by size for easy access
4686
+ */
4687
+ size: {
4688
+ xs: {
4689
+ trigger: {
4690
+ height: "h-7",
4691
+ padding: {
4692
+ horizontal: "px-xs",
4693
+ vertical: "py-xs"
4694
+ },
4695
+ radius: "rounded-sm",
4696
+ fontSize: "text-xs"
4697
+ },
4698
+ item: {
4699
+ padding: {
4700
+ horizontal: "px-xs",
4701
+ vertical: "py-xs"
4702
+ },
4703
+ fontSize: "text-xs"
4704
+ },
4705
+ content: {
4706
+ padding: "p-xs",
4707
+ radius: "rounded-sm"
4708
+ }
4709
+ },
4710
+ sm: {
4711
+ trigger: {
4712
+ height: "h-8",
4713
+ padding: {
4714
+ horizontal: "px-sm",
4715
+ vertical: "py-xs"
4716
+ },
4717
+ radius: "rounded-md",
4718
+ fontSize: "text-sm"
4719
+ },
4720
+ item: {
4721
+ padding: {
4722
+ horizontal: "px-sm",
4723
+ vertical: "py-xs"
4724
+ },
4725
+ fontSize: "text-sm"
4726
+ },
4727
+ content: {
4728
+ padding: "p-sm",
4729
+ radius: "rounded-md"
4730
+ }
4731
+ },
4732
+ md: {
4733
+ trigger: {
4734
+ height: "h-9",
4735
+ padding: {
4736
+ horizontal: "px-sm",
4737
+ vertical: "py-xs"
4738
+ },
4739
+ radius: "rounded-md",
4740
+ fontSize: "text-base"
4741
+ },
4742
+ item: {
4743
+ padding: {
4744
+ horizontal: "px-sm",
4745
+ vertical: "py-xs"
4746
+ },
4747
+ fontSize: "text-sm"
4748
+ },
4749
+ content: {
4750
+ padding: "p-sm",
4751
+ radius: "rounded-md"
4752
+ }
4753
+ },
4754
+ lg: {
4755
+ trigger: {
4756
+ height: "h-10",
4757
+ padding: {
4758
+ horizontal: "px-md",
4759
+ vertical: "py-sm"
4760
+ },
4761
+ radius: "rounded-md",
4762
+ fontSize: "text-base"
4763
+ },
4764
+ item: {
4765
+ padding: {
4766
+ horizontal: "px-md",
4767
+ vertical: "py-sm"
4768
+ },
4769
+ fontSize: "text-sm"
4770
+ },
4771
+ content: {
4772
+ padding: "p-md",
4773
+ radius: "rounded-md"
4774
+ }
4775
+ },
4776
+ xl: {
4777
+ trigger: {
4778
+ height: "h-11",
4779
+ padding: {
4780
+ horizontal: "px-lg",
4781
+ vertical: "py-md"
4782
+ },
4783
+ radius: "rounded-lg",
4784
+ fontSize: "text-lg"
4785
+ },
4786
+ item: {
4787
+ padding: {
4788
+ horizontal: "px-lg",
4789
+ vertical: "py-sm"
4790
+ },
4791
+ fontSize: "text-base"
4792
+ },
4793
+ content: {
4794
+ padding: "p-lg",
4795
+ radius: "rounded-lg"
4796
+ }
4797
+ }
4798
+ }
4799
+ };
4800
+
4277
4801
  // src/tokens/motion/v2.ts
4278
4802
  var motionV2Durations = {
4279
4803
  fast: "150ms",
@@ -5609,6 +6133,7 @@ exports.OVERLAY_TOKENS = OVERLAY_TOKENS;
5609
6133
  exports.POPOVER_TOKENS = POPOVER_TOKENS;
5610
6134
  exports.RADIO_TOKENS = RADIO_TOKENS;
5611
6135
  exports.SECTION_TOKENS = SECTION_TOKENS;
6136
+ exports.SELECT_TOKENS = SELECT_TOKENS;
5612
6137
  exports.SURFACE_TOKENS = SURFACE_TOKENS;
5613
6138
  exports.SWITCH_TOKENS = SWITCH_TOKENS;
5614
6139
  exports.TEXT_TOKENS = TEXT_TOKENS;