cetec-design-system 2.0.1-0 → 2.0.2-0

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.
Files changed (39) hide show
  1. package/dist/{cetec-preset-BB-QcJUK.js → cetec-preset-CMHb1Xn9.js} +730 -403
  2. package/dist/cetec-preset-CMHb1Xn9.js.map +1 -0
  3. package/dist/icon-metadata.json +22 -0
  4. package/dist/index.js +673 -323
  5. package/dist/index.js.map +1 -1
  6. package/dist/panda.buildinfo.json +507 -94
  7. package/dist/preset.js +1 -1
  8. package/dist/specs/conditions.json +12 -0
  9. package/dist/specs/keyframes.json +11 -0
  10. package/dist/specs/recipes.json +106 -41
  11. package/dist/specs/semantic-tokens.json +175 -0
  12. package/dist/specs/text-styles.json +144 -0
  13. package/dist/specs/tokens.json +20 -0
  14. package/dist/sprite.svg +1 -1
  15. package/dist/sprite.symbol.html +57 -2
  16. package/dist/styles.css +4221 -2366
  17. package/dist/svgs/barcode-off.svg +1 -0
  18. package/dist/svgs/barcode.svg +1 -1
  19. package/dist/svgs/spinner.svg +1 -0
  20. package/dist/types/index.d.ts +72 -202
  21. package/package.json +1 -1
  22. package/src/recipes/avatar.ts +6 -6
  23. package/src/recipes/badge.ts +3 -0
  24. package/src/recipes/button.ts +125 -111
  25. package/src/recipes/chip.ts +146 -127
  26. package/src/recipes/icon.ts +10 -1
  27. package/src/recipes/kbd.ts +1 -1
  28. package/src/recipes/recipes-regular.ts +1 -0
  29. package/src/recipes/skeleton.ts +73 -0
  30. package/src/recipes/spinner.ts +37 -29
  31. package/src/recipes/textInput.ts +77 -81
  32. package/src/styles/primitives/animations.ts +3 -0
  33. package/src/styles/primitives/sizes.ts +1 -0
  34. package/src/styles/semantics/fontSizes.ts +60 -0
  35. package/src/styles/semantics/index.ts +1 -0
  36. package/src/styles/utilities/conditions.ts +1 -0
  37. package/src/styles/utilities/keyframes.ts +8 -0
  38. package/src/styles/utilities/textStyles.ts +168 -34
  39. package/dist/cetec-preset-BB-QcJUK.js.map +0 -1
@@ -99,6 +99,7 @@ const conditions$1 = {
99
99
  valid: "&:is(:valid, [data-valid=true])",
100
100
  invalid: "&:is(:invalid, [data-invalid=true], [aria-invalid=true])",
101
101
  error: "&:is([data-error=true])",
102
+ success: "&:is([data-success=true])",
102
103
  autofill: "&:autofill",
103
104
  inRange: "&:is(:in-range, [data-in-range=true])",
104
105
  outOfRange: "&:is(:out-of-range, [data-outside-range=true])",
@@ -222,6 +223,14 @@ const keyframes = defineKeyframes({
222
223
  animationTimingFunction: "cubic-bezier(0,0,0.2,1)"
223
224
  }
224
225
  },
226
+ skeletonWave: {
227
+ "0%": {
228
+ backgroundPosition: "200% 0"
229
+ },
230
+ "100%": {
231
+ backgroundPosition: "-200% 0"
232
+ }
233
+ },
225
234
  badgePop: {
226
235
  "0%": {
227
236
  transform: "translate(50%, -50%) scale(1)"
@@ -321,124 +330,261 @@ const fontVariantsProperty = defineUtility({
321
330
  return { fontVariationSettings: fontVariants[value] };
322
331
  }
323
332
  });
324
- const baseHeadingStyles = {
325
- fontFamily: "heading",
326
- fontWeight: "black",
327
- color: "text"
328
- };
329
- const baseBodyTextStyles = {
330
- fontFamily: "body",
331
- fontVariationSettings: fontVariants.body,
332
- color: "text.subtlest"
333
- };
334
- const baseMonoStyles = {
335
- fontFamily: "mono",
336
- fontVariationSettings: fontVariants.mono,
337
- color: "text.subtlest"
338
- };
339
333
  const textStyles = defineTextStyles({
340
334
  display: {
341
335
  lg: {
342
336
  value: {
343
- ...baseHeadingStyles,
337
+ fontFamily: "heading",
338
+ fontWeight: "black",
339
+ color: "text",
344
340
  fontSize: "72"
345
341
  }
346
342
  },
347
343
  md: {
348
344
  value: {
349
- ...baseHeadingStyles,
345
+ fontFamily: "heading",
346
+ fontWeight: "black",
347
+ color: "text",
350
348
  fontSize: "64"
351
349
  }
352
350
  },
353
351
  sm: {
354
352
  value: {
355
- ...baseHeadingStyles,
353
+ fontFamily: "heading",
354
+ fontWeight: "black",
355
+ color: "text",
356
356
  fontSize: "56"
357
357
  }
358
358
  },
359
359
  xs: {
360
360
  value: {
361
- ...baseHeadingStyles,
361
+ fontFamily: "heading",
362
+ fontWeight: "black",
363
+ color: "text",
362
364
  fontSize: "48"
363
365
  }
366
+ },
367
+ size: {
368
+ lg: {
369
+ value: {
370
+ fontFamily: "heading",
371
+ fontWeight: "black",
372
+ fontSize: "72"
373
+ }
374
+ },
375
+ md: {
376
+ value: {
377
+ fontFamily: "heading",
378
+ fontWeight: "black",
379
+ fontSize: "64"
380
+ }
381
+ },
382
+ sm: {
383
+ value: {
384
+ fontFamily: "heading",
385
+ fontWeight: "black",
386
+ fontSize: "56"
387
+ }
388
+ },
389
+ xs: {
390
+ value: {
391
+ fontFamily: "heading",
392
+ fontWeight: "black",
393
+ fontSize: "48"
394
+ }
395
+ }
364
396
  }
365
397
  },
366
398
  heading: {
367
399
  lg: {
368
400
  value: {
369
- ...baseHeadingStyles,
401
+ fontFamily: "heading",
402
+ fontWeight: "black",
403
+ color: "text",
370
404
  fontSize: "40"
371
405
  }
372
406
  },
373
407
  md: {
374
408
  value: {
375
- ...baseHeadingStyles,
409
+ fontFamily: "heading",
410
+ fontWeight: "black",
411
+ color: "text",
376
412
  fontSize: "32"
377
413
  }
378
414
  },
379
415
  sm: {
380
416
  value: {
381
- ...baseHeadingStyles,
417
+ fontFamily: "heading",
418
+ fontWeight: "black",
419
+ color: "text",
382
420
  fontSize: "24"
383
421
  }
384
422
  },
385
423
  xs: {
386
424
  value: {
387
- ...baseHeadingStyles,
425
+ fontFamily: "heading",
426
+ fontWeight: "black",
427
+ color: "text",
388
428
  fontSize: "20"
389
429
  }
430
+ },
431
+ size: {
432
+ lg: {
433
+ value: {
434
+ fontFamily: "heading",
435
+ fontWeight: "black",
436
+ fontSize: "40"
437
+ }
438
+ },
439
+ md: {
440
+ value: {
441
+ fontFamily: "heading",
442
+ fontWeight: "black",
443
+ fontSize: "32"
444
+ }
445
+ },
446
+ sm: {
447
+ value: {
448
+ fontFamily: "heading",
449
+ fontWeight: "black",
450
+ fontSize: "24"
451
+ }
452
+ },
453
+ xs: {
454
+ value: {
455
+ fontFamily: "heading",
456
+ fontWeight: "black",
457
+ fontSize: "20"
458
+ }
459
+ }
390
460
  }
391
461
  },
392
462
  body: {
393
463
  lg: {
394
464
  value: {
395
- ...baseBodyTextStyles,
465
+ fontFamily: "body",
466
+ fontVariationSettings: fontVariants.body,
467
+ color: "text.subtlest",
396
468
  fontSize: "20"
397
469
  }
398
470
  },
399
471
  md: {
400
472
  value: {
401
- ...baseBodyTextStyles,
473
+ fontFamily: "body",
474
+ fontVariationSettings: fontVariants.body,
475
+ color: "text.subtlest",
402
476
  fontSize: "16"
403
477
  }
404
478
  },
405
479
  sm: {
406
480
  value: {
407
- ...baseBodyTextStyles,
481
+ fontFamily: "body",
482
+ fontVariationSettings: fontVariants.body,
483
+ color: "text.subtlest",
408
484
  fontSize: "14"
409
485
  }
410
486
  },
411
487
  xs: {
412
488
  value: {
413
- ...baseBodyTextStyles,
489
+ fontFamily: "body",
490
+ fontVariationSettings: fontVariants.body,
491
+ color: "text.subtlest",
414
492
  fontSize: "12"
415
493
  }
494
+ },
495
+ size: {
496
+ lg: {
497
+ value: {
498
+ fontFamily: "body",
499
+ fontVariationSettings: fontVariants.body,
500
+ fontSize: "20"
501
+ }
502
+ },
503
+ md: {
504
+ value: {
505
+ fontFamily: "body",
506
+ fontVariationSettings: fontVariants.body,
507
+ fontSize: "16"
508
+ }
509
+ },
510
+ sm: {
511
+ value: {
512
+ fontFamily: "body",
513
+ fontVariationSettings: fontVariants.body,
514
+ fontSize: "14"
515
+ }
516
+ },
517
+ xs: {
518
+ value: {
519
+ fontFamily: "body",
520
+ fontVariationSettings: fontVariants.body,
521
+ fontSize: "12"
522
+ }
523
+ }
416
524
  }
417
525
  },
418
526
  mono: {
419
527
  lg: {
420
528
  value: {
421
- ...baseMonoStyles,
529
+ fontFamily: "mono",
530
+ fontVariationSettings: fontVariants.mono,
531
+ color: "text.subtlest",
422
532
  fontSize: "20"
423
533
  }
424
534
  },
425
535
  md: {
426
536
  value: {
427
- ...baseMonoStyles,
537
+ fontFamily: "mono",
538
+ fontVariationSettings: fontVariants.mono,
539
+ color: "text.subtlest",
428
540
  fontSize: "16"
429
541
  }
430
542
  },
431
543
  sm: {
432
544
  value: {
433
- ...baseMonoStyles,
545
+ fontFamily: "mono",
546
+ fontVariationSettings: fontVariants.mono,
547
+ color: "text.subtlest",
434
548
  fontSize: "14"
435
549
  }
436
550
  },
437
551
  xs: {
438
552
  value: {
439
- ...baseMonoStyles,
553
+ fontFamily: "mono",
554
+ fontVariationSettings: fontVariants.mono,
555
+ color: "text.subtlest",
440
556
  fontSize: "12"
441
557
  }
558
+ },
559
+ size: {
560
+ lg: {
561
+ value: {
562
+ fontFamily: "mono",
563
+ fontVariationSettings: fontVariants.mono,
564
+ fontSize: "20"
565
+ }
566
+ },
567
+ md: {
568
+ value: {
569
+ fontFamily: "mono",
570
+ fontVariationSettings: fontVariants.mono,
571
+ fontSize: "16"
572
+ }
573
+ },
574
+ sm: {
575
+ value: {
576
+ fontFamily: "mono",
577
+ fontVariationSettings: fontVariants.mono,
578
+ fontSize: "14"
579
+ }
580
+ },
581
+ xs: {
582
+ value: {
583
+ fontFamily: "mono",
584
+ fontVariationSettings: fontVariants.mono,
585
+ fontSize: "12"
586
+ }
587
+ }
442
588
  }
443
589
  }
444
590
  });
@@ -458,6 +604,9 @@ const animations = defineTokens.animations({
458
604
  },
459
605
  bounce: {
460
606
  value: "bounce 1s infinite"
607
+ },
608
+ skeletonWave: {
609
+ value: "skeletonWave 2s linear 0.5s infinite"
461
610
  }
462
611
  });
463
612
  const aspectRatios = defineTokens.aspectRatios({
@@ -953,7 +1102,7 @@ const fonts = defineTokens.fonts({
953
1102
  value: "'Recursive Variable', Andale Mono, monaco, Consolas, Lucida Console, monospace;"
954
1103
  }
955
1104
  });
956
- const fontSizes$1 = defineTokens.fontSizes({
1105
+ const fontSizes$2 = defineTokens.fontSizes({
957
1106
  "10": { value: "{sizes.10}" },
958
1107
  "12": { value: "{sizes.12}" },
959
1108
  "14": { value: "{sizes.14}" },
@@ -1027,6 +1176,7 @@ const numericSizes = {
1027
1176
  "12": { value: "0.75rem" },
1028
1177
  "14": { value: "0.875rem" },
1029
1178
  "16": { value: "1rem" },
1179
+ "18": { value: "1.125rem" },
1030
1180
  "20": { value: "1.25rem" },
1031
1181
  "22": { value: "1.375rem" },
1032
1182
  "24": { value: "1.5rem" },
@@ -1200,7 +1350,7 @@ const tokens = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
1200
1350
  containerSizeTokens,
1201
1351
  durations,
1202
1352
  easings,
1203
- fontSizes: fontSizes$1,
1353
+ fontSizes: fontSizes$2,
1204
1354
  fontWeights: fontWeights$1,
1205
1355
  fonts,
1206
1356
  letterSpacings,
@@ -4653,9 +4803,9 @@ const textBase = {
4653
4803
  fontSize: "16",
4654
4804
  maxWidth: "prose"
4655
4805
  };
4656
- const fontSizes = Object.keys(fontSizes$1).reduce(
4806
+ const fontSizes$1 = Object.keys(fontSizes$2).reduce(
4657
4807
  (accumulator, currentKey) => {
4658
- accumulator[currentKey] = { fontSize: fontSizes$1[currentKey].value };
4808
+ accumulator[currentKey] = { fontSize: fontSizes$2[currentKey].value };
4659
4809
  return accumulator;
4660
4810
  },
4661
4811
  {}
@@ -4714,7 +4864,7 @@ const textVariants = {
4714
4864
  letterSpacing: "widest"
4715
4865
  }
4716
4866
  },
4717
- size: fontSizes,
4867
+ size: fontSizes$1,
4718
4868
  weight: fontWeights
4719
4869
  };
4720
4870
  const headingBase = {
@@ -4824,52 +4974,58 @@ const labelRecipe = defineRecipe({
4824
4974
  }
4825
4975
  });
4826
4976
  const spinnerBase = {
4827
- spinnerDiv: {
4977
+ container: {
4978
+ position: "relative",
4979
+ display: "grid",
4980
+ placeContent: "center",
4981
+ zIndex: "100",
4982
+ w: "fit",
4983
+ h: "fit",
4984
+ flex: "0"
4985
+ },
4986
+ spinnerSvg: {
4828
4987
  aspectRatio: "square",
4829
- rounded: "100",
4830
- borderWidth: "3",
4831
- borderStyle: "solid",
4832
- borderColor: "transparent",
4833
- borderTopColor: "icon",
4834
- borderBottomColor: "icon",
4835
4988
  animation: "spin",
4836
- isolation: "isolate"
4989
+ fill: "icon",
4990
+ isolation: "isolate",
4991
+ flex: "0"
4837
4992
  }
4838
4993
  };
4839
4994
  const spinnerVariants = {
4840
4995
  size: {
4841
- xs: {
4842
- spinnerDiv: {
4843
- height: "16",
4844
- minHeight: "16",
4845
- borderWidth: "2"
4846
- }
4847
- },
4848
4996
  sm: {
4849
- spinnerDiv: {
4850
- height: "20",
4851
- minHeight: "20",
4852
- borderWidth: "2"
4997
+ spinnerSvg: {
4998
+ h: "16",
4999
+ w: "16",
5000
+ minHeight: "16"
4853
5001
  }
4854
5002
  },
4855
5003
  md: {
4856
- spinnerDiv: {
4857
- height: "24",
4858
- minHeight: "24"
5004
+ spinnerSvg: {
5005
+ h: "20",
5006
+ w: "20",
5007
+ minHeight: "20"
4859
5008
  }
4860
5009
  },
4861
5010
  lg: {
4862
- spinnerDiv: {
4863
- height: "32",
4864
- minHeight: "32"
5011
+ spinnerSvg: {
5012
+ h: "24",
5013
+ w: "24",
5014
+ minHeight: "24"
5015
+ }
5016
+ },
5017
+ xl: {
5018
+ spinnerSvg: {
5019
+ h: "28",
5020
+ w: "28",
5021
+ minHeight: "28"
4865
5022
  }
4866
5023
  }
4867
5024
  },
4868
5025
  inverse: {
4869
5026
  true: {
4870
- spinnerDiv: {
4871
- borderTopColor: "icon.inverse",
4872
- borderBottomColor: "icon.inverse"
5027
+ spinnerSvg: {
5028
+ fill: "icon.inverse"
4873
5029
  }
4874
5030
  }
4875
5031
  },
@@ -4878,11 +5034,13 @@ const spinnerVariants = {
4878
5034
  container: {
4879
5035
  position: "absolute",
4880
5036
  inset: "0",
4881
- display: "grid",
4882
- placeContent: "center",
4883
5037
  width: "full",
4884
- height: "full",
4885
- zIndex: "100"
5038
+ height: "full"
5039
+ }
5040
+ },
5041
+ false: {
5042
+ container: {
5043
+ position: "relative"
4886
5044
  }
4887
5045
  }
4888
5046
  }
@@ -4890,13 +5048,81 @@ const spinnerVariants = {
4890
5048
  const spinnerRecipe = defineSlotRecipe({
4891
5049
  className: "spinner",
4892
5050
  jsx: ["Spinner"],
4893
- slots: ["container", "spinnerDiv"],
5051
+ slots: ["container", "spinnerSvg"],
4894
5052
  base: spinnerBase,
4895
5053
  variants: spinnerVariants,
4896
5054
  defaultVariants: {
4897
5055
  size: "md"
4898
5056
  }
4899
5057
  });
5058
+ const skeletonRecipe = defineRecipe({
5059
+ className: "skeleton",
5060
+ jsx: ["Skeleton"],
5061
+ base: {
5062
+ ...globalBaseStyles,
5063
+ display: "block",
5064
+ position: "relative",
5065
+ overflow: "hidden",
5066
+ verticalAlign: "middle",
5067
+ flexShrink: "0",
5068
+ userSelect: "none",
5069
+ color: "transparent",
5070
+ bg: "bg.neutral.hovered"
5071
+ },
5072
+ variants: {
5073
+ variant: {
5074
+ text: {
5075
+ h: "24",
5076
+ borderRadius: "4",
5077
+ transformOrigin: "0 55%",
5078
+ transform: "scale(1, 0.6)"
5079
+ },
5080
+ circular: {
5081
+ aspectRatio: "square",
5082
+ borderRadius: "999"
5083
+ },
5084
+ rounded: {
5085
+ borderRadius: "4"
5086
+ },
5087
+ rectangular: {
5088
+ borderRadius: "0"
5089
+ }
5090
+ },
5091
+ animation: {
5092
+ pulse: {
5093
+ animation: "pulse"
5094
+ },
5095
+ wave: {
5096
+ isolation: "isolate",
5097
+ backgroundSize: "400% 100%",
5098
+ backgroundImage: "linear-gradient(90deg, transparent 40%, var(--cetec-colors-bg-accent-neutral-subtlest) 50%, transparent 60%)",
5099
+ animation: "[skeletonWave 6s infinite linear]"
5100
+ },
5101
+ none: {}
5102
+ },
5103
+ hasChildren: {
5104
+ true: {
5105
+ "& > *": {
5106
+ visibility: "hidden"
5107
+ }
5108
+ }
5109
+ },
5110
+ fitContent: {
5111
+ true: {
5112
+ maxWidth: "fit"
5113
+ }
5114
+ },
5115
+ heightAuto: {
5116
+ true: {
5117
+ height: "auto"
5118
+ }
5119
+ }
5120
+ },
5121
+ defaultVariants: {
5122
+ variant: "text",
5123
+ animation: "pulse"
5124
+ }
5125
+ });
4900
5126
  const dividerRecipe = defineRecipe({
4901
5127
  className: "divider",
4902
5128
  jsx: ["Divider"],
@@ -5652,7 +5878,16 @@ const iconRecipe = defineRecipe({
5652
5878
  // Default size here does not affect the classNames, so it's safe to set
5653
5879
  },
5654
5880
  variants: {
5655
- size: sizeVariants
5881
+ size: {
5882
+ ...sizeVariants,
5883
+ sm: { w: "16" },
5884
+ md: { w: "20" },
5885
+ lg: { w: "24" },
5886
+ xl: { w: "28" }
5887
+ },
5888
+ contextFill: {
5889
+ true: {}
5890
+ }
5656
5891
  },
5657
5892
  defaultVariants: {
5658
5893
  // Don't set default size because then it's hard to override in recipes
@@ -5698,6 +5933,7 @@ const regularRecipes = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defi
5698
5933
  listRecipe,
5699
5934
  preRecipe,
5700
5935
  radioInputRecipe,
5936
+ skeletonRecipe,
5701
5937
  spinnerRecipe,
5702
5938
  tagRecipe,
5703
5939
  textRecipe,
@@ -5708,9 +5944,12 @@ const regularRecipes = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defi
5708
5944
  const buttonBaseStyles = {
5709
5945
  container: {
5710
5946
  ...globalBaseStyles,
5711
- "--icon-size": "token(sizes.24)",
5712
- "--icon-margin-outside": "token(sizes.6)",
5713
- "--icon-margin-inside": "token(sizes.1)",
5947
+ "--main-py": "token(sizes.3)",
5948
+ "--main-px": "token(sizes.10)",
5949
+ "--main-slot-side-padding": "token(sizes.0)",
5950
+ "--main-fs": "token(sizes.16)",
5951
+ "--slot-size": "token(sizes.20)",
5952
+ "--slot-px": "token(sizes.6)",
5714
5953
  position: "relative",
5715
5954
  appearance: "none",
5716
5955
  display: "flex",
@@ -5725,7 +5964,6 @@ const buttonBaseStyles = {
5725
5964
  transitionTimingFunction: "default",
5726
5965
  userSelect: "none",
5727
5966
  verticalAlign: "middle",
5728
- fontSize: "16",
5729
5967
  fontWeight: "medium",
5730
5968
  lineHeight: "default",
5731
5969
  borderWidth: "1",
@@ -5751,20 +5989,23 @@ const buttonBaseStyles = {
5751
5989
  outlineColor: "border.focused"
5752
5990
  }
5753
5991
  },
5754
- icon: {
5755
- w: "var(--icon-size)",
5756
- aspectRatio: "square",
5757
- transitionDuration: "fast",
5758
- transitionProperty: "fill",
5759
- transitionTimingFunction: "default"
5760
- },
5761
- iconBefore: {
5762
- ms: "calc(var(--icon-margin-outside) * -1)",
5763
- me: "calc(var(--icon-margin-inside) * -1)"
5992
+ mainContent: {
5993
+ display: "flex",
5994
+ alignItems: "center",
5995
+ width: "fit",
5996
+ height: "fit",
5997
+ py: "var(--main-py)",
5998
+ px: "var(--main-px)",
5999
+ fontSize: "var(--main-fs)"
5764
6000
  },
5765
- iconAfter: {
5766
- ms: "calc(var(--icon-margin-inside) * -1)",
5767
- me: "calc(var(--icon-margin-outside) * -1)"
6001
+ slot: {
6002
+ display: "inline-flex",
6003
+ alignItems: "center",
6004
+ transitionDuration: "fast",
6005
+ transitionProperty: "all",
6006
+ transitionTimingFunction: "default",
6007
+ flex: "0 0 var(--slot-size)",
6008
+ px: "var(--slot-px)"
5768
6009
  }
5769
6010
  };
5770
6011
  const buttonVariants = {
@@ -5773,7 +6014,6 @@ const buttonVariants = {
5773
6014
  container: {
5774
6015
  bg: "bg.neutral",
5775
6016
  borderColor: "transparent",
5776
- color: "text",
5777
6017
  _hover: {
5778
6018
  bg: "bg.neutral.hovered"
5779
6019
  },
@@ -5781,7 +6021,10 @@ const buttonVariants = {
5781
6021
  bg: "bg.neutral.pressed"
5782
6022
  }
5783
6023
  },
5784
- icon: {
6024
+ mainContent: {
6025
+ color: "text"
6026
+ },
6027
+ slot: {
5785
6028
  fill: "icon.decorative",
5786
6029
  mixBlendMode: { base: "multiply", _dark: "screen" },
5787
6030
  _groupHover: { fill: "current" },
@@ -5792,7 +6035,6 @@ const buttonVariants = {
5792
6035
  container: {
5793
6036
  bg: "bg.neutral.boldest",
5794
6037
  borderColor: "transparent",
5795
- color: "text.inverse",
5796
6038
  _hover: {
5797
6039
  bg: "bg.neutral.bold.hovered"
5798
6040
  },
@@ -5800,13 +6042,16 @@ const buttonVariants = {
5800
6042
  bg: "bg.neutral.bold.pressed"
5801
6043
  }
5802
6044
  },
5803
- icon: {
5804
- fill: "icon.decorative.inverse.subtle",
6045
+ mainContent: {
6046
+ color: "text.inverse"
6047
+ },
6048
+ slot: {
6049
+ fill: "icon.decorative.inverse",
5805
6050
  mixBlendMode: { base: "screen", _dark: "multiply" },
5806
- _groupHover: { fill: "icon.decorative.inverse" },
5807
- _groupActive: { fill: "icon.decorative.inverse" },
6051
+ _groupHover: { fill: "icon.decorative.inverse.hovered" },
6052
+ _groupActive: { fill: "icon.decorative.inverse.hovered" },
5808
6053
  _groupDisabled: {
5809
- fill: "icon.decorative.inverse.subtle"
6054
+ fill: "icon.decorative.inverse"
5810
6055
  }
5811
6056
  }
5812
6057
  },
@@ -5814,7 +6059,6 @@ const buttonVariants = {
5814
6059
  container: {
5815
6060
  bg: "bg.neutral.subtle",
5816
6061
  borderColor: "border",
5817
- color: "text",
5818
6062
  _hover: {
5819
6063
  bg: "bg.neutral.subtle.hovered"
5820
6064
  },
@@ -5822,7 +6066,10 @@ const buttonVariants = {
5822
6066
  bg: "bg.neutral.subtle.pressed"
5823
6067
  }
5824
6068
  },
5825
- icon: {
6069
+ mainContent: {
6070
+ color: "text"
6071
+ },
6072
+ slot: {
5826
6073
  fill: "icon.decorative",
5827
6074
  mixBlendMode: { base: "multiply", _dark: "screen" },
5828
6075
  _groupHover: { fill: "current" },
@@ -5833,7 +6080,6 @@ const buttonVariants = {
5833
6080
  container: {
5834
6081
  bg: "bg.neutral.subtle",
5835
6082
  borderColor: "transparent",
5836
- color: "text",
5837
6083
  _hover: {
5838
6084
  bg: "bg.neutral.subtle.hovered"
5839
6085
  },
@@ -5841,7 +6087,10 @@ const buttonVariants = {
5841
6087
  bg: "bg.neutral.subtle.pressed"
5842
6088
  }
5843
6089
  },
5844
- icon: {
6090
+ mainContent: {
6091
+ color: "text"
6092
+ },
6093
+ slot: {
5845
6094
  fill: "icon.decorative",
5846
6095
  mixBlendMode: { base: "multiply", _dark: "screen" },
5847
6096
  _groupHover: { fill: "current" },
@@ -5852,7 +6101,6 @@ const buttonVariants = {
5852
6101
  container: {
5853
6102
  bg: "gold.20",
5854
6103
  borderColor: "transparent",
5855
- color: "neutral.90",
5856
6104
  _hover: {
5857
6105
  bg: "gold.15"
5858
6106
  },
@@ -5860,7 +6108,10 @@ const buttonVariants = {
5860
6108
  bg: "gold.30"
5861
6109
  }
5862
6110
  },
5863
- icon: {
6111
+ mainContent: {
6112
+ color: "neutral.90"
6113
+ },
6114
+ slot: {
5864
6115
  fill: "neutral.50",
5865
6116
  mixBlendMode: "multiply",
5866
6117
  _groupHover: { fill: "current" },
@@ -5874,7 +6125,6 @@ const buttonVariants = {
5874
6125
  container: {
5875
6126
  bg: "red.50",
5876
6127
  borderColor: "transparent",
5877
- color: "neutral.0",
5878
6128
  _hover: {
5879
6129
  bg: "red.40"
5880
6130
  },
@@ -5882,11 +6132,14 @@ const buttonVariants = {
5882
6132
  bg: "red.60"
5883
6133
  }
5884
6134
  },
5885
- icon: {
6135
+ mainContent: {
6136
+ color: "neutral.0"
6137
+ },
6138
+ slot: {
5886
6139
  fill: "icon.decorative.inverse",
5887
6140
  mixBlendMode: "screen",
5888
- _groupHover: { fill: "icon.decorative.inverse" },
5889
- _groupActive: { fill: "icon.decorative.inverse" },
6141
+ _groupHover: { fill: "icon.decorative.inverse.hovered" },
6142
+ _groupActive: { fill: "icon.decorative.inverse.hovered" },
5890
6143
  _groupDisabled: {
5891
6144
  fill: "icon.decorative.inverse"
5892
6145
  }
@@ -5896,20 +6149,19 @@ const buttonVariants = {
5896
6149
  container: {
5897
6150
  bg: "bg.selected",
5898
6151
  borderColor: "transparent",
5899
- color: "text.selected",
5900
- icon: { fill: "icon.selected" },
5901
6152
  _hover: {
5902
6153
  bg: "bg.selected.hovered",
5903
- color: "text.selected.hovered",
5904
- icon: { fill: "icon.selected" }
6154
+ color: "text.selected.hovered"
5905
6155
  },
5906
6156
  _active: {
5907
6157
  bg: "bg.selected.pressed",
5908
- color: "text.selected",
5909
- icon: { fill: "icon.selected" }
6158
+ color: "text.selected"
5910
6159
  }
5911
6160
  },
5912
- icon: {
6161
+ mainContent: {
6162
+ color: "text.selected"
6163
+ },
6164
+ slot: {
5913
6165
  fill: "icon.selected",
5914
6166
  mixBlendMode: { base: "multiply", _dark: "screen" },
5915
6167
  _groupHover: { fill: "icon.selected" },
@@ -5923,7 +6175,6 @@ const buttonVariants = {
5923
6175
  container: {
5924
6176
  bg: "bg.selected.bold",
5925
6177
  borderColor: "transparent",
5926
- color: "text.inverse",
5927
6178
  _hover: {
5928
6179
  bg: "bg.selected.bold.hovered"
5929
6180
  },
@@ -5931,13 +6182,16 @@ const buttonVariants = {
5931
6182
  bg: "bg.selected.bold.pressed"
5932
6183
  }
5933
6184
  },
5934
- icon: {
5935
- fill: "icon.inverse",
6185
+ mainContent: {
6186
+ color: "text.inverse"
6187
+ },
6188
+ slot: {
6189
+ fill: "icon.decorative.inverse",
5936
6190
  mixBlendMode: { base: "screen", _dark: "multiply" },
5937
- _groupHover: { fill: "icon.inverse" },
5938
- _groupActive: { fill: "icon.inverse" },
6191
+ _groupHover: { fill: "icon.decorative.inverse.hovered" },
6192
+ _groupActive: { fill: "icon.decorative.inverse.hovered" },
5939
6193
  _groupDisabled: {
5940
- fill: "icon.inverse"
6194
+ fill: "icon.decorative.inverse"
5941
6195
  }
5942
6196
  }
5943
6197
  }
@@ -5946,65 +6200,65 @@ const buttonVariants = {
5946
6200
  const buttonRecipe = defineSlotRecipe({
5947
6201
  className: "button",
5948
6202
  jsx: ["Button"],
5949
- slots: ["container", "icon", "iconBefore", "iconAfter"],
6203
+ slots: ["container", "mainContent", "slot"],
5950
6204
  base: buttonBaseStyles,
5951
6205
  variants: {
5952
6206
  ...buttonVariants,
5953
6207
  size: {
5954
6208
  sm: {
5955
6209
  container: {
5956
- fontSize: "14",
5957
- py: "0",
5958
- px: "8"
5959
- },
5960
- icon: {
5961
- "--icon-size": "token(sizes.22)",
5962
- "--icon-margin-outside": "token(sizes.5)",
5963
- "--icon-margin-inside": "token(sizes.1)"
6210
+ "--main-py": "token(sizes.0)",
6211
+ "--main-px": "token(sizes.8)",
6212
+ "--main-slot-side-padding": "token(sizes.0)",
6213
+ "--main-fs": "token(sizes.14)",
6214
+ "--slot-size": "token(sizes.16)",
6215
+ "--slot-px": "token(sizes.4)"
5964
6216
  }
5965
6217
  },
5966
6218
  md: {
5967
6219
  container: {
5968
- fontSize: "16",
5969
- py: "3",
5970
- px: "12"
5971
- },
5972
- icon: {
5973
- "--icon-size": "token(sizes.24)",
5974
- "--icon-margin-outside": "token(sizes.8)",
5975
- "--icon-margin-inside": "token(sizes.1)"
6220
+ "--main-py": "token(sizes.3)",
6221
+ "--main-px": "token(sizes.10)",
6222
+ "--main-slot-side-padding": "token(sizes.0)",
6223
+ "--main-fs": "token(sizes.16)",
6224
+ "--slot-size": "token(sizes.20)",
6225
+ "--slot-px": "token(sizes.6)"
5976
6226
  }
5977
6227
  },
5978
6228
  lg: {
5979
6229
  container: {
5980
- fontSize: "16",
5981
- py: "7",
5982
- px: "14"
5983
- },
5984
- icon: {
5985
- "--icon-size": "token(sizes.24)",
5986
- "--icon-margin-outside": "token(sizes.10)",
5987
- "--icon-margin-inside": "token(sizes.1)"
6230
+ "--main-py": "token(sizes.7)",
6231
+ "--main-px": "token(sizes.12)",
6232
+ "--main-slot-side-padding": "token(sizes.0)",
6233
+ "--main-fs": "token(sizes.16)",
6234
+ "--slot-size": "token(sizes.24)",
6235
+ "--slot-px": "token(sizes.8)"
5988
6236
  }
5989
6237
  },
5990
6238
  xl: {
5991
6239
  container: {
5992
- fontSize: "20",
5993
- py: "9",
5994
- px: "16"
5995
- },
5996
- icon: {
5997
- "--icon-size": "token(sizes.28)",
5998
- "--icon-margin-outside": "token(sizes.10)",
5999
- "--icon-margin-inside": "token(sizes.1)"
6240
+ "--main-py": "token(sizes.9)",
6241
+ "--main-px": "token(sizes.16)",
6242
+ "--main-slot-side-padding": "token(sizes.0)",
6243
+ "--main-fs": "token(sizes.20)",
6244
+ "--slot-size": "token(sizes.28)",
6245
+ "--slot-px": "token(sizes.10)"
6000
6246
  }
6001
6247
  }
6002
6248
  },
6003
- iconBefore: {
6004
- true: { container: {} }
6249
+ before: {
6250
+ true: {
6251
+ mainContent: {
6252
+ ps: "0"
6253
+ }
6254
+ }
6005
6255
  },
6006
- iconAfter: {
6007
- true: { container: {} }
6256
+ after: {
6257
+ true: {
6258
+ mainContent: {
6259
+ pe: "0"
6260
+ }
6261
+ }
6008
6262
  }
6009
6263
  },
6010
6264
  defaultVariants: {
@@ -6015,49 +6269,44 @@ const buttonRecipe = defineSlotRecipe({
6015
6269
  const iconButtonRecipe = defineSlotRecipe({
6016
6270
  className: "iconButton",
6017
6271
  jsx: ["IconButton"],
6018
- slots: ["container", "icon"],
6019
- base: buttonBaseStyles,
6272
+ slots: ["container", "mainContent", "slot"],
6273
+ base: {
6274
+ ...buttonBaseStyles,
6275
+ mainContent: {
6276
+ w: "calc(var(--slot-size) + (var(--slot-px) * 2))",
6277
+ h: "calc(var(--slot-size) + (var(--slot-px) * 2))",
6278
+ p: "var(--slot-px)"
6279
+ },
6280
+ slot: {
6281
+ w: "var(--slot-size)",
6282
+ h: "var(--slot-size)"
6283
+ }
6284
+ },
6020
6285
  variants: {
6021
6286
  ...buttonVariants,
6022
6287
  size: {
6023
- md: {
6288
+ sm: {
6024
6289
  container: {
6025
- fontSize: "16",
6026
- p: "3"
6027
- },
6028
- icon: {
6029
- w: "24",
6030
- h: "24"
6290
+ "--slot-size": "token(sizes.16)",
6291
+ "--slot-px": "token(sizes.3)"
6031
6292
  }
6032
6293
  },
6033
- xl: {
6294
+ md: {
6034
6295
  container: {
6035
- fontSize: "20",
6036
- p: "9"
6037
- },
6038
- icon: {
6039
- w: "28",
6040
- h: "28"
6296
+ "--slot-size": "token(sizes.20)",
6297
+ "--slot-px": "token(sizes.5)"
6041
6298
  }
6042
6299
  },
6043
6300
  lg: {
6044
6301
  container: {
6045
- fontSize: "16",
6046
- p: "7"
6047
- },
6048
- icon: {
6049
- w: "24",
6050
- h: "24"
6302
+ "--slot-size": "token(sizes.24)",
6303
+ "--slot-px": "token(sizes.7)"
6051
6304
  }
6052
6305
  },
6053
- sm: {
6306
+ xl: {
6054
6307
  container: {
6055
- fontSize: "14",
6056
- p: "1"
6057
- },
6058
- icon: {
6059
- w: "22",
6060
- h: "22"
6308
+ "--slot-size": "token(sizes.28)",
6309
+ "--slot-px": "token(sizes.9)"
6061
6310
  }
6062
6311
  }
6063
6312
  }
@@ -6425,10 +6674,15 @@ const menuRecipe = defineSlotRecipe({
6425
6674
  const textInputBase = {
6426
6675
  container: {
6427
6676
  ...globalBaseStyles,
6428
- "--icon-size": "token(sizes.24)",
6429
- "--icon-margin": "token(sizes.3)",
6430
- "--input-icon-padding": "token(sizes.10)",
6677
+ "--input-py": "token(sizes.3)",
6678
+ "--input-px": "token(sizes.10)",
6679
+ "--input-slot-side-padding": "token(sizes.0)",
6680
+ "--input-fs": "token(sizes.16)",
6681
+ "--slot-size": "token(sizes.20)",
6682
+ "--slot-px": "token(sizes.6)",
6431
6683
  position: "relative",
6684
+ display: "flex",
6685
+ alignItems: "center",
6432
6686
  width: "full",
6433
6687
  bg: "surface",
6434
6688
  borderWidth: "1",
@@ -6438,29 +6692,27 @@ const textInputBase = {
6438
6692
  outlineWidth: "1",
6439
6693
  outlineStyle: "solid",
6440
6694
  outlineColor: "transparent",
6441
- overflow: "hidden",
6442
- lineHeight: "none",
6443
- _focusWithin: {
6695
+ "&:focus-within:not(:has(button:focus))": {
6444
6696
  outlineColor: "border.focused",
6445
6697
  borderColor: "border.focused"
6446
6698
  },
6447
6699
  _error: {
6448
6700
  borderColor: "border.danger",
6449
- _focusWithin: {
6701
+ "&:focus-within:not(:has(button:focus))": {
6450
6702
  borderColor: "border.danger",
6451
6703
  outlineColor: "border.danger"
6452
6704
  }
6453
6705
  },
6454
6706
  _invalid: {
6455
6707
  borderColor: "border.danger",
6456
- _focusWithin: {
6708
+ "&:focus-within:not(:has(button:focus))": {
6457
6709
  borderColor: "border.danger",
6458
6710
  outlineColor: "border.danger"
6459
6711
  }
6460
6712
  },
6461
6713
  _valid: {
6462
6714
  borderColor: "border.success",
6463
- _focusWithin: {
6715
+ "&:focus-within:not(:has(button:focus))": {
6464
6716
  borderColor: "border.success",
6465
6717
  outlineColor: "border.success"
6466
6718
  }
@@ -6468,7 +6720,7 @@ const textInputBase = {
6468
6720
  _disabled: {
6469
6721
  opacity: 0.4,
6470
6722
  cursor: "not-allowed",
6471
- _focusWithin: {
6723
+ "&:focus-within:not(:has(button:focus))": {
6472
6724
  outlineColor: "transparent",
6473
6725
  borderColor: "border.input"
6474
6726
  }
@@ -6481,6 +6733,10 @@ const textInputBase = {
6481
6733
  input: {
6482
6734
  width: "full",
6483
6735
  bg: "surface",
6736
+ py: "var(--input-py)",
6737
+ px: "var(--input-px)",
6738
+ fontSize: "var(--input-fs)",
6739
+ borderRadius: "3",
6484
6740
  color: "text",
6485
6741
  lineHeight: "default",
6486
6742
  fontFamily: "body",
@@ -6490,104 +6746,93 @@ const textInputBase = {
6490
6746
  color: "text.placeholder"
6491
6747
  }
6492
6748
  },
6493
- icon: {
6494
- position: "absolute",
6495
- top: "50%",
6496
- transform: "translateY(-50%)",
6497
- w: "var(--icon-size)",
6498
- mx: "var(--icon-margin)",
6499
- fill: "icon.decorative.subtle",
6500
- mixBlendMode: { base: "multiply", _dark: "screen" },
6749
+ slot: {
6750
+ display: "inline-flex",
6751
+ alignItems: "center",
6752
+ transitionDuration: "fast",
6753
+ transitionProperty: "all",
6754
+ transitionTimingFunction: "default",
6755
+ flex: "0 0 var(--slot-size)",
6756
+ px: "var(--slot-px)",
6757
+ fill: "icon.decorative",
6501
6758
  pointerEvents: "none",
6502
6759
  zIndex: 1
6760
+ },
6761
+ buttonSlot: {
6762
+ display: "inline-flex",
6763
+ alignItems: "center",
6764
+ flex: "0 0 var(--slot-size)",
6765
+ px: "0",
6766
+ zIndex: 1,
6767
+ m: "-1"
6503
6768
  }
6504
6769
  };
6505
6770
  const textInputVariants = {
6506
6771
  size: {
6507
6772
  sm: {
6508
6773
  container: {
6509
- "--icon-size": "token(sizes.22)",
6510
- "--icon-margin": "token(sizes.2)",
6511
- "--input-icon-padding": "[26px]"
6512
- },
6513
- input: {
6514
- py: "0",
6515
- px: "8",
6516
- fontSize: "14"
6517
- },
6518
- inputIconBefore: {
6519
- ps: "var(--input-icon-padding)"
6520
- },
6521
- inputIconAfter: {
6522
- pe: "var(--input-icon-padding)"
6774
+ "--input-py": "token(sizes.0)",
6775
+ "--input-px": "token(sizes.8)",
6776
+ "--input-slot-side-padding": "token(sizes.0)",
6777
+ "--input-fs": "token(sizes.14)",
6778
+ "--slot-size": "token(sizes.16)",
6779
+ "--slot-px": "token(sizes.4)"
6523
6780
  }
6524
6781
  },
6525
6782
  md: {
6526
6783
  container: {
6527
- "--icon-size": "token(sizes.24)",
6528
- "--icon-margin": "token(sizes.3)",
6529
- "--input-icon-padding": "[31px]"
6530
- },
6531
- input: {
6532
- py: "3",
6533
- px: "10",
6534
- fontSize: "16"
6535
- },
6536
- inputIconBefore: {
6537
- ps: "var(--input-icon-padding)"
6538
- },
6539
- inputIconAfter: {
6540
- pe: "var(--input-icon-padding)"
6784
+ "--input-py": "token(sizes.3)",
6785
+ "--input-px": "token(sizes.10)",
6786
+ "--input-slot-side-padding": "token(sizes.0)",
6787
+ "--input-fs": "token(sizes.16)",
6788
+ "--slot-size": "token(sizes.20)",
6789
+ "--slot-px": "token(sizes.6)"
6541
6790
  }
6542
6791
  },
6543
6792
  lg: {
6544
6793
  container: {
6545
- "--icon-size": "token(sizes.24)",
6546
- "--icon-margin": "token(sizes.5)",
6547
- "--input-icon-padding": "[34px]"
6548
- },
6549
- input: {
6550
- py: "7",
6551
- px: "12",
6552
- fontSize: "16"
6553
- },
6554
- inputIconBefore: {
6555
- ps: "var(--input-icon-padding)"
6556
- },
6557
- inputIconAfter: {
6558
- pe: "var(--input-icon-padding)"
6794
+ "--input-py": "token(sizes.7)",
6795
+ "--input-px": "token(sizes.12)",
6796
+ "--input-slot-side-padding": "token(sizes.0)",
6797
+ "--input-fs": "token(sizes.16)",
6798
+ "--slot-size": "token(sizes.24)",
6799
+ "--slot-px": "token(sizes.8)"
6559
6800
  }
6560
6801
  },
6561
6802
  xl: {
6562
6803
  container: {
6563
- "--icon-size": "token(sizes.28)",
6564
- "--icon-margin": "token(sizes.7)",
6565
- "--input-icon-padding": "[42px]"
6566
- },
6567
- input: {
6568
- py: "9",
6569
- px: "16",
6570
- fontSize: "20"
6571
- },
6572
- inputIconBefore: {
6573
- ps: "var(--input-icon-padding)"
6574
- },
6575
- inputIconAfter: {
6576
- pe: "var(--input-icon-padding)"
6804
+ "--input-py": "token(sizes.9)",
6805
+ "--input-px": "token(sizes.16)",
6806
+ "--input-slot-side-padding": "token(sizes.0)",
6807
+ "--input-fs": "token(sizes.20)",
6808
+ "--slot-size": "token(sizes.28)",
6809
+ "--slot-px": "token(sizes.10)"
6577
6810
  }
6578
6811
  }
6579
6812
  },
6580
- iconBefore: {
6813
+ before: {
6581
6814
  true: {
6582
- icon: {
6583
- left: "0"
6815
+ input: {
6816
+ ps: "0"
6817
+ },
6818
+ buttonSlot: {
6819
+ "& button": {
6820
+ borderTopRightRadius: "0",
6821
+ borderBottomRightRadius: "0"
6822
+ }
6584
6823
  }
6585
6824
  }
6586
6825
  },
6587
- iconAfter: {
6826
+ after: {
6588
6827
  true: {
6589
- icon: {
6590
- right: "0"
6828
+ input: {
6829
+ pe: "0"
6830
+ },
6831
+ buttonSlot: {
6832
+ "& button": {
6833
+ borderTopLeftRadius: "0",
6834
+ borderBottomLeftRadius: "0"
6835
+ }
6591
6836
  }
6592
6837
  }
6593
6838
  },
@@ -6603,7 +6848,7 @@ const textInputVariants = {
6603
6848
  const textInputRecipe = defineSlotRecipe({
6604
6849
  className: "textInput",
6605
6850
  jsx: ["TextInput"],
6606
- slots: ["container", "input", "icon", "inputIconBefore", "inputIconAfter"],
6851
+ slots: ["container", "input", "slot", "buttonSlot", "before", "after"],
6607
6852
  base: textInputBase,
6608
6853
  variants: textInputVariants,
6609
6854
  defaultVariants: {
@@ -6747,7 +6992,7 @@ const avatarRecipe = defineSlotRecipe({
6747
6992
  },
6748
6993
  variants: {
6749
6994
  size: {
6750
- xs: {
6995
+ sm: {
6751
6996
  root: {
6752
6997
  w: "16"
6753
6998
  },
@@ -6761,7 +7006,7 @@ const avatarRecipe = defineSlotRecipe({
6761
7006
  w: "8"
6762
7007
  }
6763
7008
  },
6764
- sm: {
7009
+ md: {
6765
7010
  root: {
6766
7011
  w: "20"
6767
7012
  },
@@ -6775,7 +7020,7 @@ const avatarRecipe = defineSlotRecipe({
6775
7020
  w: "10"
6776
7021
  }
6777
7022
  },
6778
- md: {
7023
+ lg: {
6779
7024
  root: {
6780
7025
  w: "24"
6781
7026
  },
@@ -6789,7 +7034,7 @@ const avatarRecipe = defineSlotRecipe({
6789
7034
  w: "10"
6790
7035
  }
6791
7036
  },
6792
- lg: {
7037
+ xl: {
6793
7038
  root: {
6794
7039
  w: "28"
6795
7040
  },
@@ -6803,7 +7048,7 @@ const avatarRecipe = defineSlotRecipe({
6803
7048
  w: "12"
6804
7049
  }
6805
7050
  },
6806
- xl: {
7051
+ "2xl": {
6807
7052
  root: {
6808
7053
  w: "36"
6809
7054
  },
@@ -6817,7 +7062,7 @@ const avatarRecipe = defineSlotRecipe({
6817
7062
  w: "16"
6818
7063
  }
6819
7064
  },
6820
- "2xl": {
7065
+ "3xl": {
6821
7066
  root: {
6822
7067
  w: "48"
6823
7068
  },
@@ -6874,7 +7119,10 @@ const badgeRecipe = defineSlotRecipe({
6874
7119
  "--indicator-min-width": "token(sizes.16)",
6875
7120
  display: "inline-flex",
6876
7121
  position: "relative",
6877
- verticalAlign: "middle"
7122
+ verticalAlign: "middle",
7123
+ w: "fit",
7124
+ h: "fit",
7125
+ flex: "0"
6878
7126
  },
6879
7127
  indicator: {
6880
7128
  display: "inline-flex",
@@ -7019,197 +7267,216 @@ const badgeRecipe = defineSlotRecipe({
7019
7267
  variant: "danger"
7020
7268
  }
7021
7269
  });
7270
+ const buttonStyles = {
7271
+ appearance: "none",
7272
+ cursor: "pointer",
7273
+ transitionDuration: "fast",
7274
+ transitionProperty: "background, color",
7275
+ transitionTimingFunction: "default",
7276
+ _icon: {
7277
+ fill: "icon.decorative"
7278
+ },
7279
+ _hover: {
7280
+ bg: "bg.neutral.hovered",
7281
+ _icon: {
7282
+ fill: "icon"
7283
+ }
7284
+ },
7285
+ _active: {
7286
+ bg: "bg.neutral.pressed",
7287
+ _icon: {
7288
+ fill: "icon"
7289
+ }
7290
+ },
7291
+ _focusVisible: {
7292
+ outlineColor: "border.focused"
7293
+ },
7294
+ _disabled: {
7295
+ cursor: "not-allowed"
7296
+ },
7297
+ "&[data-disabled=true]": {
7298
+ cursor: "not-allowed"
7299
+ },
7300
+ "&[data-deleted=true]": {
7301
+ textDecoration: "line-through",
7302
+ opacity: "[0.6]"
7303
+ },
7304
+ "&[data-selected=true]": {
7305
+ bg: "bg.neutral.boldest",
7306
+ _icon: {
7307
+ fill: "icon.decorative.inverse"
7308
+ }
7309
+ },
7310
+ "&[data-selected=true]:is(:hover, [data-hover])": {
7311
+ bg: "bg.neutral.bold.hovered",
7312
+ _icon: {
7313
+ fill: "icon.decorative.inverse.hovered"
7314
+ }
7315
+ },
7316
+ "&[data-selected=true]:is(:active, [data-active])": {
7317
+ bg: "bg.neutral.bold.pressed",
7318
+ _icon: {
7319
+ fill: "icon.decorative.inverse.hovered"
7320
+ }
7321
+ }
7322
+ };
7022
7323
  const chipRecipe = defineSlotRecipe({
7023
7324
  className: "chip",
7024
7325
  jsx: ["Chip"],
7025
- slots: [
7026
- "container",
7027
- "innerWrapper",
7028
- "chipIcon",
7029
- "chipBadge",
7030
- "chipAvatar",
7031
- "slotItem"
7032
- ],
7326
+ slots: ["container", "body", "mainContent", "dismissButton", "slot"],
7033
7327
  base: {
7034
7328
  container: {
7035
7329
  ...globalBaseStyles,
7036
- "--slotItem-margin": "token(sizes.2)",
7037
- "--chipIcon-margin": "var(--slotItem-margin)",
7038
- "--chipBadge-margin": "var(--slotItem-margin)",
7039
- "--chipAvatar-margin": "token(sizes.6)",
7330
+ "--chip-h": "token(sizes.24)",
7331
+ "--main-px": "token(sizes.8)",
7332
+ "--main-fs": "token(sizes.14)",
7333
+ "--main-slot-side-padding": "token(sizes.4)",
7334
+ "--slot-size": "token(sizes.20)",
7335
+ "--slot-px": "token(sizes.2)",
7040
7336
  position: "relative",
7041
7337
  display: "inline-flex",
7042
7338
  alignItems: "center",
7043
- appearance: "none",
7044
7339
  width: "fit",
7340
+ height: "var(--chip-h)",
7045
7341
  borderRadius: "999",
7046
7342
  fontFamily: "body",
7047
7343
  lineHeight: "default",
7048
7344
  fontWeight: "medium",
7049
7345
  whiteSpace: "nowrap",
7050
7346
  verticalAlign: "middle",
7051
- cursor: "pointer",
7052
7347
  transitionDuration: "fast",
7053
- transitionProperty: "background, color",
7348
+ transitionProperty: "all",
7054
7349
  transitionTimingFunction: "default",
7055
7350
  userSelect: "none",
7056
- border: "none",
7057
- outlineWidth: "2",
7058
- outlineStyle: "solid",
7059
- outlineColor: "transparent",
7060
7351
  bg: "bg.neutral",
7061
- _hover: {
7062
- bg: "bg.neutral.hovered"
7063
- },
7064
- _active: {
7065
- bg: "bg.neutral.pressed"
7066
- },
7067
- _focusVisible: {
7068
- outlineColor: "border.focused"
7069
- },
7070
7352
  _loading: {
7071
- cursor: "wait",
7072
7353
  animation: "pulse"
7073
7354
  },
7074
- _deleted: {
7075
- textDecoration: "line-through",
7076
- cursor: "not-allowed",
7077
- opacity: "[0.6]"
7355
+ "&:has([data-selected=true])": {
7356
+ bg: "bg.neutral.boldest",
7357
+ color: "text.inverse"
7078
7358
  },
7079
- _disabled: {
7359
+ "&[data-disabled=true]": {
7080
7360
  cursor: "not-allowed",
7081
7361
  bg: "bg.disabled",
7082
7362
  color: "text.disabled",
7083
- borderColor: "border.disabled",
7084
- _hover: {
7085
- bg: "bg.disabled",
7086
- color: "text.disabled",
7087
- borderColor: "border.disabled",
7088
- chipIcon: { fill: "icon.disabled" }
7089
- }
7090
- },
7091
- _selected: {
7092
- bg: "bg.neutral.boldest",
7093
- _hover: {
7094
- bg: "bg.neutral.bold.hovered"
7095
- },
7096
- _active: {
7097
- bg: "bg.neutral.bold.pressed"
7098
- }
7363
+ opacity: "[0.3]"
7099
7364
  }
7100
7365
  },
7101
- innerWrapper: {
7102
- color: "text",
7103
- display: "flex",
7366
+ body: {
7367
+ ...globalBaseStyles,
7368
+ position: "relative",
7369
+ display: "inline-flex",
7370
+ alignItems: "center",
7371
+ minW: "0",
7372
+ height: "var(--chip-h)",
7373
+ flexShrink: "0",
7374
+ bg: "transparent",
7375
+ border: "none",
7376
+ borderRadius: "999",
7377
+ outlineWidth: "2",
7378
+ outlineStyle: "solid",
7379
+ outlineColor: "transparent",
7380
+ outlineOffset: "calc(token(sizes.2) * -1)",
7381
+ "button&": {
7382
+ ...buttonStyles
7383
+ }
7384
+ },
7385
+ mainContent: {
7386
+ display: "inline-flex",
7104
7387
  alignItems: "center",
7388
+ minW: "0",
7389
+ px: "var(--main-px)",
7390
+ fontSize: "var(--main-fs)",
7391
+ color: "text",
7105
7392
  "[data-selected=true] &": {
7106
7393
  color: "text.inverse"
7107
7394
  }
7108
7395
  },
7109
- slotItem: {
7396
+ dismissButton: {
7397
+ ...globalBaseStyles,
7398
+ position: "relative",
7110
7399
  display: "inline-flex",
7111
- alignItems: "center"
7112
- },
7113
- chipIcon: {
7114
- fill: "icon.decorative",
7115
- aspectRatio: "square",
7400
+ alignItems: "center",
7401
+ minW: "0",
7116
7402
  flexShrink: "0",
7117
- transitionDuration: "fast",
7118
- transitionProperty: "fill",
7119
- transitionTimingFunction: "default",
7120
- _groupHover: { fill: "icon.decorative.hovered" },
7121
- _groupActive: { fill: "icon.decorative.hovered" },
7122
- _groupDisabled: { fill: "icon.decorative" },
7123
- "[data-selected=true] &": {
7124
- fill: "icon.decorative.inverse"
7125
- },
7126
- ".group:is(:hover, [data-hover])[data-selected=true] &": {
7127
- fill: "icon.decorative.inverse.hovered"
7128
- }
7403
+ bg: "transparent",
7404
+ border: "none",
7405
+ borderRadius: "999",
7406
+ outlineWidth: "2",
7407
+ outlineStyle: "solid",
7408
+ outlineColor: "transparent",
7409
+ outlineOffset: "calc(token(sizes.2) * -1)",
7410
+ aspectRatio: "square",
7411
+ ...buttonStyles,
7412
+ w: "calc(var(--slot-size) + (var(--slot-px) * 2))",
7413
+ h: "calc(var(--slot-size) + (var(--slot-px) * 2))"
7414
+ },
7415
+ slot: {
7416
+ display: "inline-flex",
7417
+ alignItems: "center",
7418
+ px: "var(--slot-px)"
7129
7419
  }
7130
7420
  },
7131
7421
  variants: {
7132
7422
  size: {
7133
7423
  sm: {
7134
7424
  container: {
7135
- "--slotItem-margin": "token(sizes.2)",
7136
- "--chipAvatar-margin": "token(sizes.4)",
7137
- h: "20",
7138
- px: "6",
7139
- py: "0",
7140
- fontSize: "14"
7141
- },
7142
- innerWrapper: {
7143
- gap: "3"
7144
- },
7145
- chipIcon: {
7146
- w: "20"
7425
+ "--chip-h": "token(sizes.18)",
7426
+ "--main-px": "token(sizes.6)",
7427
+ "--main-fs": "token(sizes.12)",
7428
+ "--main-slot-side-padding": "token(sizes.4)",
7429
+ "--slot-size": "token(sizes.16)",
7430
+ "--slot-px": "token(sizes.1)"
7147
7431
  }
7148
7432
  },
7149
7433
  md: {
7150
7434
  container: {
7151
- "--slotItem-margin": "token(sizes.4)",
7152
- "--chipAvatar-margin": "token(sizes.6)",
7153
- h: "24",
7154
- px: "8",
7155
- py: "1",
7156
- fontSize: "14"
7157
- },
7158
- innerWrapper: {
7159
- gap: "5"
7160
- },
7161
- chipIcon: {
7162
- w: "20"
7435
+ "--chip-h": "token(sizes.24)",
7436
+ "--main-px": "token(sizes.8)",
7437
+ "--main-fs": "token(sizes.14)",
7438
+ "--main-slot-side-padding": "token(sizes.4)",
7439
+ "--slot-size": "token(sizes.20)",
7440
+ "--slot-px": "token(sizes.2)"
7163
7441
  }
7164
7442
  },
7165
7443
  lg: {
7166
7444
  container: {
7167
- "--slotItem-margin": "token(sizes.6)",
7168
- "--chipAvatar-margin": "token(sizes.8)",
7169
- h: "32",
7170
- px: "10",
7171
- py: "4",
7172
- fontSize: "16"
7173
- },
7174
- innerWrapper: {
7175
- gap: "8"
7176
- },
7177
- chipIcon: {
7178
- w: "24"
7445
+ "--chip-h": "token(sizes.28)",
7446
+ "--main-px": "token(sizes.10)",
7447
+ "--main-fs": "token(sizes.16)",
7448
+ "--main-slot-side-padding": "token(sizes.4)",
7449
+ "--slot-size": "token(sizes.24)",
7450
+ "--slot-px": "token(sizes.2)"
7451
+ }
7452
+ },
7453
+ xl: {
7454
+ container: {
7455
+ "--chip-h": "token(sizes.32)",
7456
+ "--main-px": "token(sizes.12)",
7457
+ "--main-fs": "token(sizes.20)",
7458
+ "--main-slot-side-padding": "token(sizes.4)",
7459
+ "--slot-size": "token(sizes.28)",
7460
+ "--slot-px": "token(sizes.2)"
7179
7461
  }
7180
7462
  }
7181
7463
  },
7182
7464
  before: {
7183
7465
  true: {
7184
- slotItem: {
7185
- ms: "calc(var(--slotItem-margin) * -1)"
7186
- },
7187
- chipIcon: {
7188
- ms: "calc(var(--chipIcon-margin) * -1)"
7189
- },
7190
- chipBadge: {
7191
- ms: "calc(var(--chipBadge-margin) * -1)"
7192
- },
7193
- chipAvatar: {
7194
- ms: "calc(var(--chipAvatar-margin) * -1)"
7466
+ mainContent: {
7467
+ ps: "var(--main-slot-side-padding)"
7195
7468
  }
7196
7469
  }
7197
7470
  },
7198
7471
  after: {
7199
7472
  true: {
7200
- slotItem: {
7201
- me: "calc(var(--slotItem-margin) * -1)"
7202
- },
7203
- chipIcon: {
7204
- me: "calc(var(--chipIcon-margin) * -1)"
7205
- },
7206
- chipBadge: {
7207
- me: "calc(var(--chipBadge-margin) * -1)"
7208
- },
7209
- chipAvatar: {
7210
- me: "calc(var(--chipAvatar-margin) * -1)"
7473
+ mainContent: {
7474
+ pe: "var(--main-slot-side-padding)"
7211
7475
  }
7212
7476
  }
7477
+ },
7478
+ dismissable: {
7479
+ true: {}
7213
7480
  }
7214
7481
  },
7215
7482
  defaultVariants: {
@@ -8058,7 +8325,6 @@ const kbdRecipe = defineSlotRecipe({
8058
8325
  kbdGroup: {
8059
8326
  display: "inline-flex",
8060
8327
  alignItems: "center",
8061
- flexWrap: "wrap",
8062
8328
  gap: "2",
8063
8329
  verticalAlign: "middle"
8064
8330
  },
@@ -8078,6 +8344,7 @@ const kbdRecipe = defineSlotRecipe({
8078
8344
  fontVariant: "mono",
8079
8345
  lineHeight: "tight",
8080
8346
  fontWeight: "bold",
8347
+ textTransform: "uppercase",
8081
8348
  color: "text.subtle",
8082
8349
  userSelect: "none",
8083
8350
  pointerEvents: "none",
@@ -9248,6 +9515,64 @@ const colors = defineSemanticTokens.colors({
9248
9515
  }
9249
9516
  }
9250
9517
  });
9518
+ const fontSizes = defineSemanticTokens.fontSizes({
9519
+ display: {
9520
+ lg: {
9521
+ value: "{sizes.72}"
9522
+ },
9523
+ md: {
9524
+ value: "{sizes.64}"
9525
+ },
9526
+ sm: {
9527
+ value: "{sizes.56}"
9528
+ },
9529
+ xs: {
9530
+ value: "{sizes.48}"
9531
+ }
9532
+ },
9533
+ heading: {
9534
+ lg: {
9535
+ value: "{sizes.40}"
9536
+ },
9537
+ md: {
9538
+ value: "{sizes.32}"
9539
+ },
9540
+ sm: {
9541
+ value: "{sizes.24}"
9542
+ },
9543
+ xs: {
9544
+ value: "{sizes.20}"
9545
+ }
9546
+ },
9547
+ body: {
9548
+ lg: {
9549
+ value: "{sizes.20}"
9550
+ },
9551
+ md: {
9552
+ value: "{sizes.16}"
9553
+ },
9554
+ sm: {
9555
+ value: "{sizes.14}"
9556
+ },
9557
+ xs: {
9558
+ value: "{sizes.12}"
9559
+ }
9560
+ },
9561
+ mono: {
9562
+ lg: {
9563
+ value: "{sizes.20}"
9564
+ },
9565
+ md: {
9566
+ value: "{sizes.16}"
9567
+ },
9568
+ sm: {
9569
+ value: "{sizes.14}"
9570
+ },
9571
+ xs: {
9572
+ value: "{sizes.12}"
9573
+ }
9574
+ }
9575
+ });
9251
9576
  const shadows = defineSemanticTokens.shadows({
9252
9577
  zero: {
9253
9578
  value: { base: "{shadows.zeroShadow}", _dark: "{shadows.zeroShadow}" }
@@ -9312,6 +9637,7 @@ const theme = {
9312
9637
  },
9313
9638
  semanticTokens: {
9314
9639
  colors,
9640
+ fontSizes,
9315
9641
  shadows,
9316
9642
  zIndex
9317
9643
  }
@@ -9325,6 +9651,7 @@ const cetecPreset = definePreset$1({
9325
9651
  },
9326
9652
  semanticTokens: {
9327
9653
  colors: theme.semanticTokens.colors,
9654
+ fontSizes: theme.semanticTokens.fontSizes,
9328
9655
  shadows: theme.semanticTokens.shadows,
9329
9656
  zIndex: theme.semanticTokens.zIndex
9330
9657
  },
@@ -9380,4 +9707,4 @@ export {
9380
9707
  breakpoints as b,
9381
9708
  containerSizes as c
9382
9709
  };
9383
- //# sourceMappingURL=cetec-preset-BB-QcJUK.js.map
9710
+ //# sourceMappingURL=cetec-preset-CMHb1Xn9.js.map