cetec-design-system 1.2.2-next.0 → 2.0.0-next.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.
@@ -264,42 +264,42 @@ const keyframes = defineKeyframes({
264
264
  modalScaleIn: {
265
265
  "0%": {
266
266
  opacity: "0",
267
- transform: "translate(-50%, -50%) scale(0.95) translateY(-10px)"
267
+ transform: "scale(0.95) translateY(20px)"
268
268
  },
269
269
  "100%": {
270
270
  opacity: "1",
271
- transform: "translate(-50%, -50%) scale(1) translateY(0)"
271
+ transform: "scale(1) translateY(0)"
272
272
  }
273
273
  },
274
274
  modalScaleOut: {
275
275
  "0%": {
276
276
  opacity: "1",
277
- transform: "translate(-50%, -50%) scale(1) translateY(0)"
277
+ transform: "scale(1) translateY(0)"
278
278
  },
279
279
  "100%": {
280
280
  opacity: "0",
281
- transform: "translate(-50%, -50%) scale(0.95) translateY(-10px)"
281
+ transform: "scale(0.95) translateY(20px)"
282
282
  }
283
283
  },
284
284
  /** Top-aligned modal: horizontal center only (see modal recipe `position: top`) */
285
285
  modalScaleInTop: {
286
286
  "0%": {
287
287
  opacity: "0",
288
- transform: "translateX(-50%) scale(0.95) translateY(-10px)"
288
+ transform: "scale(0.97) translateY(-40px)"
289
289
  },
290
290
  "100%": {
291
291
  opacity: "1",
292
- transform: "translateX(-50%) scale(1) translateY(0)"
292
+ transform: "scale(1) translateY(0)"
293
293
  }
294
294
  },
295
295
  modalScaleOutTop: {
296
296
  "0%": {
297
297
  opacity: "1",
298
- transform: "translateX(-50%) scale(1) translateY(0)"
298
+ transform: "scale(1) translateY(0)"
299
299
  },
300
300
  "100%": {
301
301
  opacity: "0",
302
- transform: "translateX(-50%) scale(0.95) translateY(-10px)"
302
+ transform: "scale(0.97) translateY(-40px)"
303
303
  }
304
304
  }
305
305
  });
@@ -5151,80 +5151,75 @@ const cardRecipe = defineRecipe({
5151
5151
  },
5152
5152
  interactive: {
5153
5153
  true: {
5154
- cursor: "pointer"
5155
- }
5156
- }
5157
- },
5158
- compoundVariants: [
5159
- // Default + interactive
5160
- {
5161
- variant: "default",
5162
- interactive: true,
5163
- css: {
5164
5154
  ...interactiveHoverStyles,
5155
+ cursor: "pointer",
5165
5156
  _disabled: {
5166
5157
  _hover: {
5167
- boxShadow: "raised"
5168
- }
5169
- }
5170
- }
5171
- },
5172
- // Flat + interactive
5173
- {
5174
- variant: "flat",
5175
- interactive: true,
5176
- css: {
5177
- ...interactiveHoverStyles,
5178
- _disabled: {
5179
- _hover: {
5180
- boxShadow: "none"
5181
- }
5182
- }
5183
- }
5184
- },
5185
- // Sunken + interactive
5186
- {
5187
- variant: "sunken",
5188
- interactive: true,
5189
- css: {
5190
- ...interactiveHoverStyles,
5191
- _disabled: {
5192
- _hover: {
5193
- boxShadow: "none"
5194
- }
5195
- }
5196
- }
5197
- },
5198
- // Ghost + interactive
5199
- {
5200
- variant: "ghost",
5201
- interactive: true,
5202
- css: {
5203
- ...interactiveHoverStyles,
5204
- _disabled: {
5205
- _hover: {
5206
- boxShadow: "none"
5207
- }
5208
- }
5209
- }
5210
- },
5211
- // Overlay + interactive
5212
- {
5213
- variant: "overlay",
5214
- interactive: true,
5215
- css: {
5216
- _disabled: {
5217
- _hover: {
5218
- boxShadow: "raised"
5158
+ boxShadow: "initial"
5219
5159
  }
5220
5160
  }
5221
5161
  }
5222
5162
  }
5223
- ],
5163
+ },
5224
5164
  defaultVariants: {
5225
5165
  variant: "default"
5226
5166
  }
5227
5167
  });
5168
+ const listDensityVars = {
5169
+ compact: {
5170
+ "--list-item-slot-margin": "token(sizes.5)",
5171
+ "--list-item-padding-y": "token(sizes.3)",
5172
+ "--list-item-padding-x": "token(sizes.10)",
5173
+ "--list-item-icon-size": "token(sizes.24)",
5174
+ "--list-item-label-size": "token(sizes.16)",
5175
+ "--list-item-description-size": "token(sizes.12)",
5176
+ "--list-group-label-padding-x": "token(sizes.10)",
5177
+ "--list-group-label-padding-top": "token(sizes.8)",
5178
+ "--list-group-label-padding-bottom": "token(sizes.2)",
5179
+ "--list-group-label-size": "token(sizes.12)",
5180
+ "--list-group-divider-margin-y": "token(sizes.4)",
5181
+ "--list-group-divider-margin-x": "token(sizes.10)"
5182
+ },
5183
+ comfortable: {
5184
+ "--list-item-slot-margin": "token(sizes.7)",
5185
+ "--list-item-padding-y": "token(sizes.7)",
5186
+ "--list-item-padding-x": "token(sizes.12)",
5187
+ "--list-item-icon-size": "token(sizes.24)",
5188
+ "--list-item-label-size": "token(sizes.16)",
5189
+ "--list-item-description-size": "token(sizes.12)",
5190
+ "--list-group-label-padding-x": "token(sizes.12)",
5191
+ "--list-group-label-padding-top": "token(sizes.12)",
5192
+ "--list-group-label-padding-bottom": "token(sizes.4)",
5193
+ "--list-group-label-size": "token(sizes.14)",
5194
+ "--list-group-divider-margin-y": "token(sizes.6)",
5195
+ "--list-group-divider-margin-x": "token(sizes.12)"
5196
+ },
5197
+ spacious: {
5198
+ "--list-item-slot-margin": "token(sizes.9)",
5199
+ "--list-item-padding-y": "token(sizes.9)",
5200
+ "--list-item-padding-x": "token(sizes.16)",
5201
+ "--list-item-icon-size": "token(sizes.28)",
5202
+ "--list-item-label-size": "token(sizes.20)",
5203
+ "--list-item-description-size": "token(sizes.14)",
5204
+ "--list-group-label-padding-x": "token(sizes.16)",
5205
+ "--list-group-label-padding-top": "token(sizes.16)",
5206
+ "--list-group-label-padding-bottom": "token(sizes.6)",
5207
+ "--list-group-label-size": "token(sizes.16)",
5208
+ "--list-group-divider-margin-y": "token(sizes.8)",
5209
+ "--list-group-divider-margin-x": "token(sizes.16)"
5210
+ }
5211
+ };
5212
+ const listDensityWrapperVars = {
5213
+ compact: {
5214
+ wrapper: listDensityVars.compact
5215
+ },
5216
+ comfortable: {
5217
+ wrapper: listDensityVars.comfortable
5218
+ },
5219
+ spacious: {
5220
+ wrapper: listDensityVars.spacious
5221
+ }
5222
+ };
5228
5223
  const listRecipe = defineRecipe({
5229
5224
  className: "list",
5230
5225
  jsx: ["List"],
@@ -5236,372 +5231,8 @@ const listRecipe = defineRecipe({
5236
5231
  justifyContent: "start",
5237
5232
  gap: "0"
5238
5233
  },
5239
- variants: {}
5240
- });
5241
- const listItemRecipe = defineSlotRecipe({
5242
- className: "listItem",
5243
- jsx: ["ListItem"],
5244
- slots: [
5245
- "wrapper",
5246
- "icon",
5247
- "itemMain",
5248
- "itemLabel",
5249
- "itemDescription",
5250
- "divider"
5251
- ],
5252
- staticCss: [
5253
- {
5254
- selected: ["*"]
5255
- }
5256
- ],
5257
- base: {
5258
- wrapper: {
5259
- ...globalBaseStyles,
5260
- display: "flex",
5261
- alignItems: "start",
5262
- justifyContent: "start",
5263
- gap: "4",
5264
- width: "full",
5265
- textAlign: "left",
5266
- borderWidth: "1",
5267
- borderStyle: "solid",
5268
- borderColor: "transparent",
5269
- color: "text",
5270
- cursor: "pointer",
5271
- outline: "2px solid transparent",
5272
- outlineOffset: "-2",
5273
- bg: "transparent",
5274
- scrollSnapAlign: "start",
5275
- transitionDuration: "fast",
5276
- transitionProperty: "background, color",
5277
- transitionTimingFunction: "default",
5278
- _hover: {
5279
- bg: "bg.neutral.hovered"
5280
- },
5281
- "&:is(:active)": {
5282
- bg: "bg.neutral.hovered"
5283
- },
5284
- _focus: {
5285
- bg: "bg.neutral.hovered"
5286
- },
5287
- _disabled: {
5288
- opacity: "0.4",
5289
- cursor: "not-allowed",
5290
- pointerEvents: "none"
5291
- }
5292
- },
5293
- divider: {
5294
- width: "full"
5295
- },
5296
- icon: {
5297
- aspectRatio: "square",
5298
- transitionDuration: "fast",
5299
- transitionProperty: "fill",
5300
- transitionTimingFunction: "default",
5301
- flexShrink: "0"
5302
- },
5303
- itemMain: {
5304
- display: "flex",
5305
- flexDirection: "column",
5306
- gap: "0",
5307
- minWidth: "0"
5308
- },
5309
- itemLabel: {
5310
- color: "text"
5311
- },
5312
- itemDescription: {
5313
- color: "text.subtlest",
5314
- lineHeight: "tight"
5315
- }
5316
- },
5317
- variants: {
5318
- variant: {
5319
- default: {},
5320
- checkbox: {
5321
- wrapper: {
5322
- _hover: {
5323
- bg: "bg.neutral.hovered"
5324
- },
5325
- _focus: {
5326
- bg: "bg.neutral.hovered"
5327
- },
5328
- '&:is(:active), &:is([data-active="true"]):hover': {
5329
- bg: "bg.neutral.hovered"
5330
- },
5331
- _selected: {
5332
- bg: "surface",
5333
- _hover: {
5334
- bg: "surface"
5335
- },
5336
- _focus: {
5337
- bg: "bg.neutral.hovered"
5338
- }
5339
- }
5340
- }
5341
- },
5342
- toggle: {
5343
- wrapper: {
5344
- _hover: {
5345
- bg: "bg.neutral.hovered"
5346
- },
5347
- _focus: {
5348
- bg: "bg.neutral.hovered"
5349
- },
5350
- '&:is(:active), &:is([data-active="true"]):hover': {
5351
- bg: "bg.neutral.hovered"
5352
- },
5353
- _selected: {
5354
- bg: "surface",
5355
- _hover: {
5356
- bg: "surface"
5357
- },
5358
- _focus: {
5359
- bg: "bg.neutral.hovered"
5360
- }
5361
- }
5362
- }
5363
- },
5364
- divider: {}
5365
- },
5366
- density: {
5367
- compact: {
5368
- wrapper: {
5369
- py: "3",
5370
- px: "10"
5371
- },
5372
- itemLabel: {
5373
- textStyle: "body.md",
5374
- color: "text"
5375
- },
5376
- itemDescription: {
5377
- textStyle: "body.xs",
5378
- lineHeight: "tight"
5379
- },
5380
- icon: {
5381
- w: "24",
5382
- h: "24"
5383
- },
5384
- divider: {
5385
- py: "3",
5386
- px: "10"
5387
- }
5388
- },
5389
- comfortable: {
5390
- wrapper: {
5391
- py: "7",
5392
- px: "12"
5393
- },
5394
- itemLabel: {
5395
- textStyle: "body.md",
5396
- color: "text"
5397
- },
5398
- itemDescription: {
5399
- textStyle: "body.xs",
5400
- lineHeight: "tight"
5401
- },
5402
- icon: {
5403
- w: "24",
5404
- h: "24"
5405
- },
5406
- divider: {
5407
- py: "7",
5408
- px: "12"
5409
- }
5410
- },
5411
- spacious: {
5412
- wrapper: {
5413
- py: "9",
5414
- px: "16"
5415
- },
5416
- itemLabel: {
5417
- textStyle: "body.lg",
5418
- color: "text"
5419
- },
5420
- itemDescription: {
5421
- textStyle: "body.sm",
5422
- lineHeight: "tight"
5423
- },
5424
- icon: {
5425
- w: "28",
5426
- h: "28"
5427
- },
5428
- divider: {
5429
- py: "9",
5430
- px: "16"
5431
- }
5432
- }
5433
- },
5434
- selected: {
5435
- true: {
5436
- wrapper: {
5437
- bg: "surface.selected",
5438
- _hover: {
5439
- bg: "surface.selected.hovered"
5440
- },
5441
- "&:is(:active)": {
5442
- bg: "surface.selected.pressed"
5443
- },
5444
- _focusVisible: {
5445
- bg: "surface.selected.hovered"
5446
- }
5447
- }
5448
- },
5449
- false: {}
5450
- },
5451
- iconBefore: {
5452
- true: {},
5453
- false: {}
5454
- },
5455
- iconAfter: {
5456
- true: {},
5457
- false: {}
5458
- }
5459
- },
5460
- compoundVariants: [
5461
- {
5462
- density: "compact",
5463
- iconBefore: true,
5464
- css: {
5465
- wrapper: {
5466
- ps: "5"
5467
- }
5468
- }
5469
- },
5470
- {
5471
- density: "compact",
5472
- iconAfter: true,
5473
- css: {
5474
- wrapper: {
5475
- pe: "5"
5476
- }
5477
- }
5478
- },
5479
- {
5480
- density: "compact",
5481
- variant: "checkbox",
5482
- css: {
5483
- wrapper: {
5484
- ps: "5"
5485
- }
5486
- }
5487
- },
5488
- {
5489
- density: "comfortable",
5490
- iconBefore: true,
5491
- css: {
5492
- wrapper: {
5493
- ps: "7"
5494
- }
5495
- }
5496
- },
5497
- {
5498
- density: "comfortable",
5499
- iconAfter: true,
5500
- css: {
5501
- wrapper: {
5502
- pe: "7"
5503
- }
5504
- }
5505
- },
5506
- {
5507
- density: "comfortable",
5508
- variant: "checkbox",
5509
- css: {
5510
- wrapper: {
5511
- ps: "7"
5512
- }
5513
- }
5514
- },
5515
- {
5516
- density: "spacious",
5517
- iconBefore: true,
5518
- css: {
5519
- wrapper: {
5520
- ps: "9"
5521
- }
5522
- }
5523
- },
5524
- {
5525
- density: "spacious",
5526
- iconAfter: true,
5527
- css: {
5528
- wrapper: {
5529
- pe: "9"
5530
- }
5531
- }
5532
- },
5533
- {
5534
- density: "spacious",
5535
- variant: "checkbox",
5536
- css: {
5537
- wrapper: {
5538
- ps: "9"
5539
- }
5540
- }
5541
- }
5542
- ],
5543
- defaultVariants: {
5544
- variant: "default",
5545
- density: "compact",
5546
- selected: false
5547
- }
5548
- });
5549
- const listItemGroupRecipe = defineSlotRecipe({
5550
- className: "listItemGroup",
5551
- jsx: ["ListItemGroup"],
5552
- slots: ["wrapper", "groupLabel", "divider"],
5553
- base: {
5554
- wrapper: {
5555
- width: "full"
5556
- },
5557
- groupLabel: {
5558
- ...globalBaseStyles,
5559
- color: "text.subtlest",
5560
- borderStyle: "solid",
5561
- borderWidth: "1",
5562
- borderColor: "transparent"
5563
- },
5564
- divider: {}
5565
- },
5566
5234
  variants: {
5567
- density: {
5568
- compact: {
5569
- groupLabel: {
5570
- px: "10",
5571
- pt: "8",
5572
- pb: "2",
5573
- fontSize: "12"
5574
- },
5575
- divider: {
5576
- my: "4",
5577
- mx: "10"
5578
- }
5579
- },
5580
- comfortable: {
5581
- groupLabel: {
5582
- px: "12",
5583
- pt: "12",
5584
- pb: "4",
5585
- fontSize: "14"
5586
- },
5587
- divider: {
5588
- my: "6",
5589
- mx: "12"
5590
- }
5591
- },
5592
- spacious: {
5593
- groupLabel: {
5594
- px: "16",
5595
- pt: "16",
5596
- pb: "6",
5597
- fontSize: "16"
5598
- },
5599
- divider: {
5600
- my: "8",
5601
- mx: "16"
5602
- }
5603
- }
5604
- }
5235
+ density: listDensityVars
5605
5236
  },
5606
5237
  defaultVariants: {
5607
5238
  density: "compact"
@@ -6016,19 +5647,45 @@ const iconRecipe = defineRecipe({
6016
5647
  jsx: ["Icon"],
6017
5648
  base: {
6018
5649
  aspectRatio: "square",
6019
- fill: "icon.decorative"
5650
+ fill: "icon.decorative",
5651
+ w: "24"
5652
+ // Default size here does not affect the classNames, so it's safe to set
6020
5653
  },
6021
5654
  variants: {
6022
5655
  size: sizeVariants
6023
5656
  },
6024
5657
  defaultVariants: {
6025
- size: "24"
5658
+ // Don't set default size because then it's hard to override in recipes
5659
+ }
5660
+ });
5661
+ const breakpointIndicatorRecipe = defineRecipe({
5662
+ className: "breakpointIndicator",
5663
+ jsx: ["BreakpointIndicator"],
5664
+ base: {
5665
+ zIndex: "1100"
5666
+ },
5667
+ variants: {
5668
+ variant: {
5669
+ default: {
5670
+ position: "relative",
5671
+ bottom: "auto",
5672
+ right: "auto"
5673
+ },
5674
+ fixed: {
5675
+ position: "fixed",
5676
+ bottom: "40",
5677
+ right: "16"
5678
+ }
5679
+ }
6026
5680
  },
6027
- staticCss: [{ size: ["*"] }]
5681
+ defaultVariants: {
5682
+ variant: "default"
5683
+ }
6028
5684
  });
6029
5685
  const regularRecipes = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
6030
5686
  __proto__: null,
6031
5687
  boxRecipe,
5688
+ breakpointIndicatorRecipe,
6032
5689
  cardRecipe,
6033
5690
  checkboxInputRecipe,
6034
5691
  codeRecipe,
@@ -6038,8 +5695,6 @@ const regularRecipes = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defi
6038
5695
  iconRecipe,
6039
5696
  labelRecipe,
6040
5697
  linkRecipe,
6041
- listItemGroupRecipe,
6042
- listItemRecipe,
6043
5698
  listRecipe,
6044
5699
  preRecipe,
6045
5700
  radioInputRecipe,
@@ -6053,6 +5708,9 @@ const regularRecipes = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defi
6053
5708
  const buttonBaseStyles = {
6054
5709
  container: {
6055
5710
  ...globalBaseStyles,
5711
+ "--icon-size": "token(sizes.24)",
5712
+ "--icon-margin-outside": "token(sizes.6)",
5713
+ "--icon-margin-inside": "token(sizes.1)",
6056
5714
  position: "relative",
6057
5715
  appearance: "none",
6058
5716
  display: "flex",
@@ -6061,6 +5719,7 @@ const buttonBaseStyles = {
6061
5719
  minWidth: "0",
6062
5720
  width: "fit",
6063
5721
  height: "fit",
5722
+ flexShrink: 0,
6064
5723
  transitionDuration: "fast",
6065
5724
  transitionProperty: "background, border-color, color, box-shadow",
6066
5725
  transitionTimingFunction: "default",
@@ -6093,10 +5752,19 @@ const buttonBaseStyles = {
6093
5752
  }
6094
5753
  },
6095
5754
  icon: {
5755
+ w: "var(--icon-size)",
6096
5756
  aspectRatio: "square",
6097
5757
  transitionDuration: "fast",
6098
5758
  transitionProperty: "fill",
6099
5759
  transitionTimingFunction: "default"
5760
+ },
5761
+ iconBefore: {
5762
+ ms: "calc(var(--icon-margin-outside) * -1)",
5763
+ me: "calc(var(--icon-margin-inside) * -1)"
5764
+ },
5765
+ iconAfter: {
5766
+ ms: "calc(var(--icon-margin-inside) * -1)",
5767
+ me: "calc(var(--icon-margin-outside) * -1)"
6100
5768
  }
6101
5769
  };
6102
5770
  const buttonVariants = {
@@ -6104,6 +5772,7 @@ const buttonVariants = {
6104
5772
  standard: {
6105
5773
  container: {
6106
5774
  bg: "bg.neutral",
5775
+ borderColor: "transparent",
6107
5776
  color: "text",
6108
5777
  _hover: {
6109
5778
  bg: "bg.neutral.hovered"
@@ -6122,6 +5791,7 @@ const buttonVariants = {
6122
5791
  primary: {
6123
5792
  container: {
6124
5793
  bg: "bg.neutral.boldest",
5794
+ borderColor: "transparent",
6125
5795
  color: "text.inverse",
6126
5796
  _hover: {
6127
5797
  bg: "bg.neutral.bold.hovered"
@@ -6162,6 +5832,7 @@ const buttonVariants = {
6162
5832
  ghost: {
6163
5833
  container: {
6164
5834
  bg: "bg.neutral.subtle",
5835
+ borderColor: "transparent",
6165
5836
  color: "text",
6166
5837
  _hover: {
6167
5838
  bg: "bg.neutral.subtle.hovered"
@@ -6180,6 +5851,7 @@ const buttonVariants = {
6180
5851
  cta: {
6181
5852
  container: {
6182
5853
  bg: "gold.20",
5854
+ borderColor: "transparent",
6183
5855
  color: "neutral.90",
6184
5856
  _hover: {
6185
5857
  bg: "gold.15"
@@ -6201,6 +5873,7 @@ const buttonVariants = {
6201
5873
  danger: {
6202
5874
  container: {
6203
5875
  bg: "red.50",
5876
+ borderColor: "transparent",
6204
5877
  color: "neutral.0",
6205
5878
  _hover: {
6206
5879
  bg: "red.40"
@@ -6222,6 +5895,7 @@ const buttonVariants = {
6222
5895
  selected: {
6223
5896
  container: {
6224
5897
  bg: "bg.selected",
5898
+ borderColor: "transparent",
6225
5899
  color: "text.selected",
6226
5900
  icon: { fill: "icon.selected" },
6227
5901
  _hover: {
@@ -6248,6 +5922,7 @@ const buttonVariants = {
6248
5922
  selectedBold: {
6249
5923
  container: {
6250
5924
  bg: "bg.selected.bold",
5925
+ borderColor: "transparent",
6251
5926
  color: "text.inverse",
6252
5927
  _hover: {
6253
5928
  bg: "bg.selected.bold.hovered"
@@ -6271,31 +5946,33 @@ const buttonVariants = {
6271
5946
  const buttonRecipe = defineSlotRecipe({
6272
5947
  className: "button",
6273
5948
  jsx: ["Button"],
6274
- slots: ["container", "icon"],
5949
+ slots: ["container", "icon", "iconBefore", "iconAfter"],
6275
5950
  base: buttonBaseStyles,
6276
5951
  variants: {
6277
5952
  ...buttonVariants,
6278
5953
  size: {
6279
- md: {
5954
+ sm: {
6280
5955
  container: {
6281
- fontSize: "16",
6282
- py: "3",
6283
- px: "12"
5956
+ fontSize: "14",
5957
+ py: "0",
5958
+ px: "8"
6284
5959
  },
6285
5960
  icon: {
6286
- w: "24",
6287
- h: "24"
5961
+ "--icon-size": "token(sizes.22)",
5962
+ "--icon-margin-outside": "token(sizes.5)",
5963
+ "--icon-margin-inside": "token(sizes.1)"
6288
5964
  }
6289
5965
  },
6290
- xl: {
5966
+ md: {
6291
5967
  container: {
6292
- fontSize: "20",
6293
- py: "9",
6294
- px: "16"
5968
+ fontSize: "16",
5969
+ py: "3",
5970
+ px: "12"
6295
5971
  },
6296
5972
  icon: {
6297
- w: "28",
6298
- h: "28"
5973
+ "--icon-size": "token(sizes.24)",
5974
+ "--icon-margin-outside": "token(sizes.8)",
5975
+ "--icon-margin-inside": "token(sizes.1)"
6299
5976
  }
6300
5977
  },
6301
5978
  lg: {
@@ -6303,89 +5980,33 @@ const buttonRecipe = defineSlotRecipe({
6303
5980
  fontSize: "16",
6304
5981
  py: "7",
6305
5982
  px: "14"
6306
- },
6307
- icon: {
6308
- w: "24",
6309
- h: "24"
6310
- }
6311
- },
6312
- sm: {
6313
- container: {
6314
- fontSize: "14",
6315
- py: "1",
6316
- px: "8"
6317
- },
6318
- icon: {
6319
- w: "22",
6320
- h: "22"
6321
- }
6322
- }
6323
- },
6324
- iconBefore: {
6325
- true: { container: {} }
6326
- },
6327
- iconAfter: {
6328
- true: { container: {} }
6329
- }
6330
- },
6331
- compoundVariants: [
6332
- {
6333
- size: "md",
6334
- iconBefore: true,
6335
- css: {
6336
- container: { ps: "3" }
6337
- }
6338
- },
6339
- {
6340
- size: "md",
6341
- iconAfter: true,
6342
- css: {
6343
- container: { pe: "3" }
6344
- }
6345
- },
6346
- {
6347
- size: "sm",
6348
- iconBefore: true,
6349
- css: {
6350
- container: { ps: "2" }
6351
- }
6352
- },
6353
- {
6354
- size: "sm",
6355
- iconAfter: true,
6356
- css: {
6357
- container: { pe: "2" }
6358
- }
6359
- },
6360
- {
6361
- size: "lg",
6362
- iconBefore: true,
6363
- css: {
6364
- container: { ps: "5" }
6365
- }
6366
- },
6367
- {
6368
- size: "lg",
6369
- iconAfter: true,
6370
- css: {
6371
- container: { pe: "5" }
5983
+ },
5984
+ icon: {
5985
+ "--icon-size": "token(sizes.24)",
5986
+ "--icon-margin-outside": "token(sizes.10)",
5987
+ "--icon-margin-inside": "token(sizes.1)"
5988
+ }
5989
+ },
5990
+ xl: {
5991
+ 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)"
6000
+ }
6372
6001
  }
6373
6002
  },
6374
- {
6375
- size: "xl",
6376
- iconBefore: true,
6377
- css: {
6378
- container: { ps: "7" }
6379
- }
6003
+ iconBefore: {
6004
+ true: { container: {} }
6380
6005
  },
6381
- {
6382
- size: "xl",
6383
- iconAfter: true,
6384
- css: {
6385
- container: { pe: "7" }
6386
- }
6006
+ iconAfter: {
6007
+ true: { container: {} }
6387
6008
  }
6388
- ],
6009
+ },
6389
6010
  defaultVariants: {
6390
6011
  variant: "standard",
6391
6012
  size: "md"
@@ -6686,81 +6307,6 @@ const menuBase = {
6686
6307
  transitionTimingFunction: "default",
6687
6308
  outline: "none"
6688
6309
  },
6689
- // list: {
6690
- // display: 'flex',
6691
- // flexDirection: 'column',
6692
- // },
6693
- // item: {
6694
- // display: 'flex',
6695
- // alignItems: 'flex-start',
6696
- // gap: '4',
6697
- // width: 'full',
6698
- // textAlign: 'left',
6699
- // borderWidth: '1',
6700
- // borderStyle: 'solid',
6701
- // borderColor: 'transparent',
6702
- // color: 'text',
6703
- // cursor: 'pointer',
6704
- // outline: '2px solid transparent',
6705
- // outlineOffset: '-2',
6706
- // bg: 'transparent',
6707
- // _hover: {
6708
- // bg: 'bg.neutral.hovered',
6709
- // },
6710
- // '&:is(:active)': {
6711
- // bg: 'bg.neutral.pressed',
6712
- // },
6713
- // _focus: {
6714
- // bg: 'bg.neutral.hovered',
6715
- // },
6716
- // _selected: {
6717
- // bg: 'surface.selected',
6718
- // _hover: {
6719
- // bg: 'surface.selected.hovered',
6720
- // },
6721
- // '&:is(:active)': {
6722
- // bg: 'surface.selected.pressed',
6723
- // },
6724
- // _focus: {
6725
- // bg: 'surface.selected.hovered',
6726
- // },
6727
- // },
6728
- // _disabled: {
6729
- // opacity: '0.4',
6730
- // cursor: 'not-allowed',
6731
- // pointerEvents: 'none',
6732
- // },
6733
- // },
6734
- // icon: {
6735
- // aspectRatio: 'square',
6736
- // transitionDuration: 'fast',
6737
- // transitionProperty: 'fill',
6738
- // transitionTimingFunction: 'default',
6739
- // flexShrink: '0',
6740
- // },
6741
- // itemMain: {
6742
- // display: 'flex',
6743
- // flexDirection: 'column',
6744
- // gap: '0',
6745
- // minWidth: '0',
6746
- // },
6747
- // itemLabel: {
6748
- // color: 'text',
6749
- // },
6750
- // itemDescription: {
6751
- // color: 'text.subtlest',
6752
- // lineHeight: 'tight',
6753
- // },
6754
- // groupLabel: {
6755
- // color: 'text.subtlest',
6756
- // borderStyle: 'solid',
6757
- // borderWidth: '1',
6758
- // borderColor: 'transparent',
6759
- // },
6760
- // divider: {
6761
- // my: '4',
6762
- // mx: '12',
6763
- // },
6764
6310
  backHeader: {
6765
6311
  display: "flex",
6766
6312
  alignItems: "center",
@@ -6809,11 +6355,6 @@ const menuBase = {
6809
6355
  height: "fit-content",
6810
6356
  overflow: "visible"
6811
6357
  },
6812
- // highlight: {
6813
- // bg: 'gold.5',
6814
- // color: 'text',
6815
- // borderRadius: '2',
6816
- // },
6817
6358
  noResults: {
6818
6359
  px: "12",
6819
6360
  py: "10",
@@ -6823,16 +6364,6 @@ const menuBase = {
6823
6364
  const menuVariants = {
6824
6365
  density: {
6825
6366
  compact: {
6826
- // item: {
6827
- // py: '3',
6828
- // px: '10',
6829
- // },
6830
- // groupLabel: {
6831
- // px: '10',
6832
- // pt: '8',
6833
- // pb: '2',
6834
- // fontSize: '12',
6835
- // },
6836
6367
  backHeader: {
6837
6368
  py: "1",
6838
6369
  pe: "18",
@@ -6840,30 +6371,8 @@ const menuVariants = {
6840
6371
  textStyle: "body.md",
6841
6372
  color: "text"
6842
6373
  }
6843
- // itemLabel: {
6844
- // textStyle: 'body.md',
6845
- // color: 'text',
6846
- // },
6847
- // itemDescription: {
6848
- // textStyle: 'body.xs',
6849
- // lineHeight: 'tight',
6850
- // },
6851
- // icon: {
6852
- // w: '24',
6853
- // h: '24',
6854
- // },
6855
6374
  },
6856
6375
  comfortable: {
6857
- // item: {
6858
- // py: '7',
6859
- // px: '12',
6860
- // },
6861
- // groupLabel: {
6862
- // px: '12',
6863
- // pt: '12',
6864
- // pb: '4',
6865
- // fontSize: '14',
6866
- // },
6867
6376
  backHeader: {
6868
6377
  py: "5",
6869
6378
  pe: "20",
@@ -6871,30 +6380,8 @@ const menuVariants = {
6871
6380
  textStyle: "body.md",
6872
6381
  color: "text"
6873
6382
  }
6874
- // itemLabel: {
6875
- // textStyle: 'body.md',
6876
- // color: 'text',
6877
- // },
6878
- // itemDescription: {
6879
- // textStyle: 'body.xs',
6880
- // lineHeight: 'tight',
6881
- // },
6882
- // icon: {
6883
- // w: '24',
6884
- // h: '24',
6885
- // },
6886
6383
  },
6887
6384
  spacious: {
6888
- // item: {
6889
- // py: '9',
6890
- // px: '16',
6891
- // },
6892
- // groupLabel: {
6893
- // px: '16',
6894
- // pt: '16',
6895
- // pb: '6',
6896
- // fontSize: '16',
6897
- // },
6898
6385
  backHeader: {
6899
6386
  py: "7",
6900
6387
  pe: "24",
@@ -6902,82 +6389,8 @@ const menuVariants = {
6902
6389
  textStyle: "body.lg",
6903
6390
  color: "text"
6904
6391
  }
6905
- // itemLabel: {
6906
- // textStyle: 'body.lg',
6907
- // color: 'text',
6908
- // },
6909
- // itemDescription: {
6910
- // textStyle: 'body.sm',
6911
- // lineHeight: 'tight',
6912
- // },
6913
- // icon: {
6914
- // w: '28',
6915
- // h: '28',
6916
- // },
6917
6392
  }
6918
6393
  },
6919
- // itemVariant: {
6920
- // default: {},
6921
- // checkbox: {
6922
- // item: {
6923
- // _hover: {
6924
- // bg: 'surface',
6925
- // },
6926
- // _focus: {
6927
- // bg: 'bg.neutral.hovered',
6928
- // },
6929
- // '&:is(:active), &:is([data-active="true"]):hover': {
6930
- // bg: 'surface',
6931
- // },
6932
- // _selected: {
6933
- // bg: 'surface',
6934
- // _hover: {
6935
- // bg: 'surface',
6936
- // },
6937
- // _focus: {
6938
- // bg: 'bg.neutral.hovered',
6939
- // },
6940
- // },
6941
- // },
6942
- // },
6943
- // toggle: {
6944
- // item: {
6945
- // _hover: {
6946
- // bg: 'surface',
6947
- // },
6948
- // _focus: {
6949
- // bg: 'bg.neutral.hovered',
6950
- // },
6951
- // '&:is(:active), &:is([data-active="true"]):hover': {
6952
- // bg: 'surface',
6953
- // },
6954
- // _selected: {
6955
- // bg: 'surface',
6956
- // _hover: {
6957
- // bg: 'surface',
6958
- // },
6959
- // _focus: {
6960
- // bg: 'bg.neutral.hovered',
6961
- // },
6962
- // },
6963
- // },
6964
- // },
6965
- // divider: {
6966
- // item: {
6967
- // display: 'none',
6968
- // },
6969
- // },
6970
- // },
6971
- // iconBefore: {
6972
- // true: {
6973
- // item: {},
6974
- // },
6975
- // },
6976
- // iconAfter: {
6977
- // true: {
6978
- // item: {},
6979
- // },
6980
- // },
6981
6394
  panel: {
6982
6395
  true: {
6983
6396
  wrapper: {
@@ -6996,31 +6409,25 @@ const menuRecipe = defineSlotRecipe({
6996
6409
  jsx: ["Menu", "MenuItem", "MenuGroup", "SubMenu"],
6997
6410
  slots: [
6998
6411
  "wrapper",
6999
- // 'list',
7000
- // 'item',
7001
- // 'icon',
7002
- // 'itemMain',
7003
- // 'itemLabel',
7004
- // 'itemDescription',
7005
- // 'groupLabel',
7006
- // 'divider',
7007
6412
  "backHeader",
7008
6413
  "levelsViewport",
7009
6414
  "levelsTrack",
7010
6415
  "level",
7011
6416
  "sizeProbe",
7012
- // 'highlight',
7013
6417
  "noResults"
7014
6418
  ],
7015
6419
  base: menuBase,
7016
6420
  variants: menuVariants,
7017
- // compoundVariants: menuCompoundVariants,
7018
6421
  defaultVariants: {
7019
6422
  density: "compact"
7020
6423
  }
7021
6424
  });
7022
6425
  const textInputBase = {
7023
6426
  container: {
6427
+ ...globalBaseStyles,
6428
+ "--icon-size": "token(sizes.24)",
6429
+ "--icon-margin": "token(sizes.3)",
6430
+ "--input-icon-padding": "token(sizes.10)",
7024
6431
  position: "relative",
7025
6432
  width: "full",
7026
6433
  bg: "surface",
@@ -7087,6 +6494,8 @@ const textInputBase = {
7087
6494
  position: "absolute",
7088
6495
  top: "50%",
7089
6496
  transform: "translateY(-50%)",
6497
+ w: "var(--icon-size)",
6498
+ mx: "var(--icon-margin)",
7090
6499
  fill: "icon.decorative.subtle",
7091
6500
  mixBlendMode: { base: "multiply", _dark: "screen" },
7092
6501
  pointerEvents: "none",
@@ -7095,48 +6504,76 @@ const textInputBase = {
7095
6504
  };
7096
6505
  const textInputVariants = {
7097
6506
  size: {
7098
- md: {
6507
+ sm: {
6508
+ container: {
6509
+ "--icon-size": "token(sizes.22)",
6510
+ "--icon-margin": "token(sizes.2)",
6511
+ "--input-icon-padding": "[26px]"
6512
+ },
7099
6513
  input: {
7100
- py: 3,
7101
- px: 10,
7102
- fontSize: "16"
6514
+ py: "0",
6515
+ px: "8",
6516
+ fontSize: "14"
7103
6517
  },
7104
- icon: {
7105
- mx: "3",
7106
- w: "24"
6518
+ inputIconBefore: {
6519
+ ps: "var(--input-icon-padding)"
6520
+ },
6521
+ inputIconAfter: {
6522
+ pe: "var(--input-icon-padding)"
7107
6523
  }
7108
6524
  },
7109
- sm: {
6525
+ md: {
6526
+ container: {
6527
+ "--icon-size": "token(sizes.24)",
6528
+ "--icon-margin": "token(sizes.3)",
6529
+ "--input-icon-padding": "[31px]"
6530
+ },
7110
6531
  input: {
7111
- py: 0,
7112
- px: 8,
7113
- fontSize: "14"
6532
+ py: "3",
6533
+ px: "10",
6534
+ fontSize: "16"
7114
6535
  },
7115
- icon: {
7116
- mx: "2",
7117
- w: "22"
6536
+ inputIconBefore: {
6537
+ ps: "var(--input-icon-padding)"
6538
+ },
6539
+ inputIconAfter: {
6540
+ pe: "var(--input-icon-padding)"
7118
6541
  }
7119
6542
  },
7120
6543
  lg: {
6544
+ container: {
6545
+ "--icon-size": "token(sizes.24)",
6546
+ "--icon-margin": "token(sizes.5)",
6547
+ "--input-icon-padding": "[34px]"
6548
+ },
7121
6549
  input: {
7122
- py: 7,
7123
- px: 12,
6550
+ py: "7",
6551
+ px: "12",
7124
6552
  fontSize: "16"
7125
6553
  },
7126
- icon: {
7127
- mx: "5",
7128
- w: "24"
6554
+ inputIconBefore: {
6555
+ ps: "var(--input-icon-padding)"
6556
+ },
6557
+ inputIconAfter: {
6558
+ pe: "var(--input-icon-padding)"
7129
6559
  }
7130
6560
  },
7131
6561
  xl: {
6562
+ container: {
6563
+ "--icon-size": "token(sizes.28)",
6564
+ "--icon-margin": "token(sizes.7)",
6565
+ "--input-icon-padding": "[42px]"
6566
+ },
7132
6567
  input: {
7133
- py: 9,
7134
- px: 16,
6568
+ py: "9",
6569
+ px: "16",
7135
6570
  fontSize: "20"
7136
6571
  },
7137
- icon: {
7138
- mx: "7",
7139
- w: "28"
6572
+ inputIconBefore: {
6573
+ ps: "var(--input-icon-padding)"
6574
+ },
6575
+ inputIconAfter: {
6576
+ pe: "var(--input-icon-padding)"
7140
6577
  }
7141
6578
  }
7142
6579
  },
@@ -7163,71 +6600,12 @@ const textInputVariants = {
7163
6600
  }
7164
6601
  }
7165
6602
  };
7166
- const textInputCompoundVariants = [
7167
- {
7168
- size: "md",
7169
- iconBefore: true,
7170
- css: {
7171
- input: { ps: "[31px]" }
7172
- }
7173
- },
7174
- {
7175
- size: "md",
7176
- iconAfter: true,
7177
- css: {
7178
- input: { pe: "[31px]" }
7179
- }
7180
- },
7181
- {
7182
- size: "sm",
7183
- iconBefore: true,
7184
- css: {
7185
- input: { ps: "[26px]" }
7186
- }
7187
- },
7188
- {
7189
- size: "sm",
7190
- iconAfter: true,
7191
- css: {
7192
- input: { pe: "[26px]" }
7193
- }
7194
- },
7195
- {
7196
- size: "lg",
7197
- iconBefore: true,
7198
- css: {
7199
- input: { ps: "[34px]" }
7200
- }
7201
- },
7202
- {
7203
- size: "lg",
7204
- iconAfter: true,
7205
- css: {
7206
- input: { pe: "[34px]" }
7207
- }
7208
- },
7209
- {
7210
- size: "xl",
7211
- iconBefore: true,
7212
- css: {
7213
- input: { ps: "[42px]" }
7214
- }
7215
- },
7216
- {
7217
- size: "xl",
7218
- iconAfter: true,
7219
- css: {
7220
- input: { pe: "[42px]" }
7221
- }
7222
- }
7223
- ];
7224
6603
  const textInputRecipe = defineSlotRecipe({
7225
6604
  className: "textInput",
7226
6605
  jsx: ["TextInput"],
7227
- slots: ["container", "input", "icon"],
6606
+ slots: ["container", "input", "icon", "inputIconBefore", "inputIconAfter"],
7228
6607
  base: textInputBase,
7229
6608
  variants: textInputVariants,
7230
- compoundVariants: textInputCompoundVariants,
7231
6609
  defaultVariants: {
7232
6610
  size: "md"
7233
6611
  }
@@ -7242,7 +6620,8 @@ const formFieldBase = {
7242
6620
  inputs: {
7243
6621
  display: "flex",
7244
6622
  flexDirection: "column",
7245
- gap: "2"
6623
+ gap: "8",
6624
+ mt: "4"
7246
6625
  },
7247
6626
  labelWrapper: {
7248
6627
  alignItems: "center",
@@ -7310,12 +6689,6 @@ const avatarRecipe = defineSlotRecipe({
7310
6689
  className: "avatar",
7311
6690
  jsx: ["Avatar"],
7312
6691
  slots: ["root", "image", "fallback", "presence", "status"],
7313
- staticCss: [
7314
- {
7315
- size: ["xs", "sm", "md", "lx", "xl", "2xl"],
7316
- shape: ["circle", "square", "hexagon"]
7317
- }
7318
- ],
7319
6692
  base: {
7320
6693
  root: {
7321
6694
  display: "inline-flex",
@@ -7331,7 +6704,7 @@ const avatarRecipe = defineSlotRecipe({
7331
6704
  },
7332
6705
  image: {
7333
6706
  w: "full",
7334
- h: "full",
6707
+ aspectRatio: "square",
7335
6708
  objectFit: "cover",
7336
6709
  overflow: "hidden"
7337
6710
  },
@@ -7340,7 +6713,7 @@ const avatarRecipe = defineSlotRecipe({
7340
6713
  alignItems: "center",
7341
6714
  justifyContent: "center",
7342
6715
  w: "full",
7343
- h: "full",
6716
+ aspectRatio: "square",
7344
6717
  fontFamily: "body",
7345
6718
  fontWeight: "medium",
7346
6719
  textTransform: "uppercase",
@@ -7350,6 +6723,7 @@ const avatarRecipe = defineSlotRecipe({
7350
6723
  position: "absolute",
7351
6724
  bottom: "0",
7352
6725
  right: "0",
6726
+ aspectRatio: "square",
7353
6727
  borderRadius: "100",
7354
6728
  borderWidth: "1",
7355
6729
  borderStyle: "solid",
@@ -7360,6 +6734,7 @@ const avatarRecipe = defineSlotRecipe({
7360
6734
  position: "absolute",
7361
6735
  top: "0",
7362
6736
  right: "0",
6737
+ aspectRatio: "square",
7363
6738
  display: "flex",
7364
6739
  alignItems: "center",
7365
6740
  justifyContent: "center",
@@ -7374,104 +6749,86 @@ const avatarRecipe = defineSlotRecipe({
7374
6749
  size: {
7375
6750
  xs: {
7376
6751
  root: {
7377
- w: "16",
7378
- h: "16"
6752
+ w: "16"
7379
6753
  },
7380
6754
  fallback: {
7381
6755
  fontSize: "8"
7382
6756
  },
7383
6757
  presence: {
7384
- w: "6",
7385
- h: "6"
6758
+ w: "6"
7386
6759
  },
7387
6760
  status: {
7388
- w: "8",
7389
- h: "8"
6761
+ w: "8"
7390
6762
  }
7391
6763
  },
7392
6764
  sm: {
7393
6765
  root: {
7394
- w: "20",
7395
- h: "20"
6766
+ w: "20"
7396
6767
  },
7397
6768
  fallback: {
7398
6769
  fontSize: "10"
7399
6770
  },
7400
6771
  presence: {
7401
- w: "8",
7402
- h: "8"
6772
+ w: "8"
7403
6773
  },
7404
6774
  status: {
7405
- w: "10",
7406
- h: "10"
6775
+ w: "10"
7407
6776
  }
7408
6777
  },
7409
6778
  md: {
7410
6779
  root: {
7411
- w: "24",
7412
- h: "24"
6780
+ w: "24"
7413
6781
  },
7414
6782
  fallback: {
7415
6783
  fontSize: "12"
7416
6784
  },
7417
6785
  presence: {
7418
- w: "8",
7419
- h: "8"
6786
+ w: "8"
7420
6787
  },
7421
6788
  status: {
7422
- w: "10",
7423
- h: "10"
6789
+ w: "10"
7424
6790
  }
7425
6791
  },
7426
6792
  lg: {
7427
6793
  root: {
7428
- w: "32",
7429
- h: "32"
6794
+ w: "28"
7430
6795
  },
7431
6796
  fallback: {
7432
6797
  fontSize: "14"
7433
6798
  },
7434
6799
  presence: {
7435
- w: "10",
7436
- h: "10"
6800
+ w: "10"
7437
6801
  },
7438
6802
  status: {
7439
- w: "12",
7440
- h: "12"
6803
+ w: "12"
7441
6804
  }
7442
6805
  },
7443
6806
  xl: {
7444
6807
  root: {
7445
- w: "48",
7446
- h: "48"
6808
+ w: "36"
7447
6809
  },
7448
6810
  fallback: {
7449
6811
  fontSize: "20"
7450
6812
  },
7451
6813
  presence: {
7452
- w: "12",
7453
- h: "12"
6814
+ w: "12"
7454
6815
  },
7455
6816
  status: {
7456
- w: "16",
7457
- h: "16"
6817
+ w: "16"
7458
6818
  }
7459
6819
  },
7460
6820
  "2xl": {
7461
6821
  root: {
7462
- w: "64",
7463
- h: "64"
6822
+ w: "48"
7464
6823
  },
7465
6824
  fallback: {
7466
6825
  fontSize: "24"
7467
6826
  },
7468
6827
  presence: {
7469
- w: "14",
7470
- h: "14"
6828
+ w: "14"
7471
6829
  },
7472
6830
  status: {
7473
- w: "20",
7474
- h: "20"
6831
+ w: "20"
7475
6832
  }
7476
6833
  }
7477
6834
  },
@@ -7514,6 +6871,7 @@ const badgeRecipe = defineSlotRecipe({
7514
6871
  base: {
7515
6872
  root: {
7516
6873
  ...globalBaseStyles,
6874
+ "--indicator-min-width": "token(sizes.16)",
7517
6875
  display: "inline-flex",
7518
6876
  position: "relative",
7519
6877
  verticalAlign: "middle"
@@ -7522,6 +6880,7 @@ const badgeRecipe = defineSlotRecipe({
7522
6880
  display: "inline-flex",
7523
6881
  alignItems: "center",
7524
6882
  justifyContent: "center",
6883
+ h: "fit",
7525
6884
  borderRadius: "999",
7526
6885
  fontWeight: "medium",
7527
6886
  fontFamily: "body",
@@ -7535,24 +6894,35 @@ const badgeRecipe = defineSlotRecipe({
7535
6894
  size: {
7536
6895
  sm: {
7537
6896
  indicator: {
7538
- h: "6",
6897
+ "--indicator-min-width": "token(sizes.16)",
6898
+ minH: "6",
7539
6899
  fontSize: "10",
7540
6900
  p: "3"
7541
6901
  }
7542
6902
  },
7543
6903
  md: {
7544
6904
  indicator: {
7545
- h: "8",
6905
+ "--indicator-min-width": "token(sizes.20)",
6906
+ minH: "8",
7546
6907
  fontSize: "12",
7547
6908
  p: "4"
7548
6909
  }
7549
6910
  },
7550
6911
  lg: {
7551
6912
  indicator: {
7552
- h: "10",
6913
+ "--indicator-min-width": "token(sizes.24)",
6914
+ minH: "10",
7553
6915
  fontSize: "14",
7554
6916
  p: "5"
7555
6917
  }
6918
+ },
6919
+ xl: {
6920
+ indicator: {
6921
+ "--indicator-min-width": "token(sizes.28)",
6922
+ minH: "12",
6923
+ fontSize: "16",
6924
+ p: "6"
6925
+ }
7556
6926
  }
7557
6927
  },
7558
6928
  // When standalone (no children), don't use absolute positioning
@@ -7563,7 +6933,8 @@ const badgeRecipe = defineSlotRecipe({
7563
6933
  },
7564
6934
  indicator: {
7565
6935
  position: "static",
7566
- transform: "none"
6936
+ transform: "none",
6937
+ h: "fit"
7567
6938
  }
7568
6939
  },
7569
6940
  false: {
@@ -7576,20 +6947,18 @@ const badgeRecipe = defineSlotRecipe({
7576
6947
  position: "absolute",
7577
6948
  top: "0",
7578
6949
  right: "0",
7579
- transform: "translate(50%, -50%)"
6950
+ transform: "translate(50%, -50%)",
6951
+ h: "fit"
7580
6952
  }
7581
6953
  }
7582
6954
  },
7583
6955
  // Dot mode: smaller, no text
7584
6956
  dot: {
7585
- true: {
7586
- indicator: {
7587
- // Dot mode styles handled by base + size variants
7588
- }
7589
- },
6957
+ true: {},
7590
6958
  false: {
7591
6959
  indicator: {
7592
- // Count mode - compound variants handle sizing
6960
+ h: "fit",
6961
+ minW: "var(--indicator-min-width)"
7593
6962
  }
7594
6963
  }
7595
6964
  },
@@ -7645,233 +7014,423 @@ const badgeRecipe = defineSlotRecipe({
7645
7014
  }
7646
7015
  }
7647
7016
  },
7648
- compoundVariants: [
7649
- // Count mode sizes (smaller than count mode)
7650
- {
7651
- dot: false,
7652
- size: "sm",
7653
- css: {
7654
- indicator: {
7655
- minW: "16",
7656
- h: "fit"
7657
- }
7658
- }
7659
- },
7660
- {
7661
- dot: false,
7662
- size: "md",
7663
- css: {
7664
- indicator: {
7665
- minW: "20",
7666
- h: "fit"
7667
- }
7668
- }
7669
- },
7670
- {
7671
- dot: false,
7672
- size: "lg",
7673
- css: {
7674
- indicator: {
7675
- minW: "24",
7676
- h: "fit"
7677
- }
7678
- }
7679
- }
7680
- ],
7681
7017
  defaultVariants: {
7682
7018
  size: "md",
7683
7019
  variant: "danger"
7684
7020
  }
7685
7021
  });
7686
- const chipBase = {
7687
- container: {
7688
- ...globalBaseStyles,
7689
- position: "relative",
7690
- display: "inline-flex",
7691
- alignItems: "center",
7692
- appearance: "none",
7693
- width: "fit",
7694
- borderRadius: "999",
7695
- fontFamily: "body",
7696
- lineHeight: "default",
7697
- fontWeight: "medium",
7698
- whiteSpace: "nowrap",
7699
- verticalAlign: "middle",
7700
- cursor: "pointer",
7701
- transitionDuration: "fast",
7702
- transitionProperty: "background, color",
7703
- transitionTimingFunction: "default",
7704
- userSelect: "none",
7705
- border: "none",
7706
- outlineWidth: 2,
7707
- outlineStyle: "solid",
7708
- outlineColor: "transparent",
7709
- bg: "bg.neutral",
7710
- color: "text",
7711
- _hover: {
7712
- bg: "bg.neutral.hovered"
7713
- },
7714
- _active: {
7715
- bg: "bg.neutral.pressed"
7716
- },
7717
- _focusVisible: {
7718
- outlineColor: "border.focused"
7719
- },
7720
- _loading: {
7721
- cursor: "wait",
7722
- animation: "pulse"
7723
- },
7724
- _deleted: {
7725
- textDecoration: "line-through",
7726
- cursor: "not-allowed",
7727
- opacity: 0.6
7728
- },
7729
- _disabled: {
7730
- cursor: "not-allowed",
7731
- bg: "bg.disabled",
7732
- color: "text.disabled",
7733
- borderColor: "border.disabled",
7022
+ const chipRecipe = defineSlotRecipe({
7023
+ className: "chip",
7024
+ jsx: ["Chip"],
7025
+ slots: [
7026
+ "container",
7027
+ "innerWrapper",
7028
+ "chipIcon",
7029
+ "chipBadge",
7030
+ "chipAvatar",
7031
+ "slotItem"
7032
+ ],
7033
+ base: {
7034
+ container: {
7035
+ ...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)",
7040
+ position: "relative",
7041
+ display: "inline-flex",
7042
+ alignItems: "center",
7043
+ appearance: "none",
7044
+ width: "fit",
7045
+ borderRadius: "999",
7046
+ fontFamily: "body",
7047
+ lineHeight: "default",
7048
+ fontWeight: "medium",
7049
+ whiteSpace: "nowrap",
7050
+ verticalAlign: "middle",
7051
+ cursor: "pointer",
7052
+ transitionDuration: "fast",
7053
+ transitionProperty: "background, color",
7054
+ transitionTimingFunction: "default",
7055
+ userSelect: "none",
7056
+ border: "none",
7057
+ outlineWidth: "2",
7058
+ outlineStyle: "solid",
7059
+ outlineColor: "transparent",
7060
+ bg: "bg.neutral",
7734
7061
  _hover: {
7062
+ bg: "bg.neutral.hovered"
7063
+ },
7064
+ _active: {
7065
+ bg: "bg.neutral.pressed"
7066
+ },
7067
+ _focusVisible: {
7068
+ outlineColor: "border.focused"
7069
+ },
7070
+ _loading: {
7071
+ cursor: "wait",
7072
+ animation: "pulse"
7073
+ },
7074
+ _deleted: {
7075
+ textDecoration: "line-through",
7076
+ cursor: "not-allowed",
7077
+ opacity: "[0.6]"
7078
+ },
7079
+ _disabled: {
7080
+ cursor: "not-allowed",
7735
7081
  bg: "bg.disabled",
7736
7082
  color: "text.disabled",
7737
7083
  borderColor: "border.disabled",
7738
- chipIcon: { fill: "icon.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
+ }
7739
7099
  }
7740
7100
  },
7741
- _selected: {
7742
- bg: "bg.neutral.boldest",
7743
- color: "text.inverse",
7744
- // chipIcon: { fill: 'icon.decorative.inverse' },
7745
- _hover: {
7746
- bg: "bg.neutral.bold.hovered"
7747
- // chipIcon: { fill: 'icon.inverse' },
7101
+ innerWrapper: {
7102
+ color: "text",
7103
+ display: "flex",
7104
+ alignItems: "center",
7105
+ "[data-selected=true] &": {
7106
+ color: "text.inverse"
7107
+ }
7108
+ },
7109
+ slotItem: {
7110
+ display: "inline-flex",
7111
+ alignItems: "center"
7112
+ },
7113
+ chipIcon: {
7114
+ fill: "icon.decorative",
7115
+ aspectRatio: "square",
7116
+ 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"
7748
7125
  },
7749
- _active: {
7750
- bg: "bg.neutral.bold.pressed"
7751
- // chipIcon: { fill: 'icon.inverse' },
7126
+ ".group:is(:hover, [data-hover])[data-selected=true] &": {
7127
+ fill: "icon.decorative.inverse.hovered"
7752
7128
  }
7753
7129
  }
7754
7130
  },
7755
- chipIcon: {
7756
- fill: "icon.decorative",
7757
- aspectRatio: "square",
7758
- transitionDuration: "fast",
7759
- transitionProperty: "fill",
7760
- transitionTimingFunction: "default",
7761
- _groupHover: { fill: "icon.decorative.hovered" },
7762
- _groupActive: { fill: "icon.decorative.hovered" },
7763
- _groupDisabled: { fill: "icon.decorative" },
7764
- "[data-selected=true] &": {
7765
- fill: "icon.decorative.inverse"
7766
- },
7767
- ".group:is(:hover, [data-hover])[data-selected=true] &": {
7768
- fill: "icon.decorative.inverse.hovered"
7769
- }
7770
- }
7771
- };
7772
- const chipRecipe = defineSlotRecipe({
7773
- className: "chip",
7774
- jsx: ["Chip"],
7775
- slots: ["container", "chipIcon"],
7776
- base: chipBase,
7777
7131
  variants: {
7778
7132
  size: {
7779
- md: {
7133
+ sm: {
7780
7134
  container: {
7781
- gap: "4",
7782
- h: "24",
7783
- px: "8",
7784
- py: "1",
7135
+ "--slotItem-margin": "token(sizes.2)",
7136
+ "--chipAvatar-margin": "token(sizes.4)",
7137
+ h: "20",
7138
+ px: "6",
7139
+ py: "0",
7785
7140
  fontSize: "14"
7786
7141
  },
7142
+ innerWrapper: {
7143
+ gap: "3"
7144
+ },
7787
7145
  chipIcon: {
7788
- w: "20",
7789
- h: "20"
7146
+ w: "20"
7790
7147
  }
7791
7148
  },
7792
- sm: {
7149
+ md: {
7793
7150
  container: {
7794
- gap: "2",
7795
- h: "20",
7796
- px: "6",
7797
- py: "0",
7151
+ "--slotItem-margin": "token(sizes.4)",
7152
+ "--chipAvatar-margin": "token(sizes.6)",
7153
+ h: "24",
7154
+ px: "8",
7155
+ py: "1",
7798
7156
  fontSize: "14"
7799
7157
  },
7158
+ innerWrapper: {
7159
+ gap: "5"
7160
+ },
7800
7161
  chipIcon: {
7801
- w: "20",
7802
- h: "20"
7162
+ w: "20"
7803
7163
  }
7804
7164
  },
7805
7165
  lg: {
7806
7166
  container: {
7807
- gap: "4",
7167
+ "--slotItem-margin": "token(sizes.6)",
7168
+ "--chipAvatar-margin": "token(sizes.8)",
7808
7169
  h: "32",
7809
7170
  px: "10",
7810
7171
  py: "4",
7811
7172
  fontSize: "16"
7812
7173
  },
7174
+ innerWrapper: {
7175
+ gap: "8"
7176
+ },
7813
7177
  chipIcon: {
7814
- w: "24",
7815
- h: "24"
7178
+ w: "24"
7816
7179
  }
7817
7180
  }
7818
7181
  },
7819
7182
  before: {
7820
- true: { container: {} }
7183
+ 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)"
7195
+ }
7196
+ }
7821
7197
  },
7822
7198
  after: {
7823
- true: { container: {} }
7199
+ 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)"
7211
+ }
7212
+ }
7824
7213
  }
7825
7214
  },
7826
- compoundVariants: [
7827
- {
7828
- size: "md",
7829
- before: true,
7830
- css: {
7831
- container: { ps: "2" }
7215
+ defaultVariants: {
7216
+ size: "md"
7217
+ }
7218
+ });
7219
+ const listItemRecipe = defineSlotRecipe({
7220
+ className: "listItem",
7221
+ jsx: ["ListItem"],
7222
+ slots: [
7223
+ "wrapper",
7224
+ "icon",
7225
+ "beforeSlot",
7226
+ "afterSlot",
7227
+ "itemMain",
7228
+ "itemLabel",
7229
+ "itemDescription",
7230
+ "divider"
7231
+ ],
7232
+ base: {
7233
+ wrapper: {
7234
+ ...globalBaseStyles,
7235
+ display: "flex",
7236
+ alignItems: "start",
7237
+ justifyContent: "start",
7238
+ gap: "4",
7239
+ width: "full",
7240
+ py: "var(--list-item-padding-y)",
7241
+ px: "var(--list-item-padding-x)",
7242
+ textAlign: "left",
7243
+ borderWidth: "1",
7244
+ borderStyle: "solid",
7245
+ borderColor: "transparent",
7246
+ color: "text",
7247
+ cursor: "pointer",
7248
+ outline: "2px solid transparent",
7249
+ outlineOffset: "-2",
7250
+ bg: "transparent",
7251
+ scrollSnapAlign: "start",
7252
+ transitionDuration: "fast",
7253
+ transitionProperty: "background, color",
7254
+ transitionTimingFunction: "default",
7255
+ _hover: {
7256
+ bg: "bg.neutral.hovered"
7257
+ },
7258
+ "&:is(:active)": {
7259
+ bg: "bg.neutral.hovered"
7260
+ },
7261
+ _focus: {
7262
+ bg: "bg.neutral.hovered"
7263
+ },
7264
+ _disabled: {
7265
+ opacity: "0.4",
7266
+ cursor: "not-allowed",
7267
+ pointerEvents: "none"
7832
7268
  }
7833
7269
  },
7834
- {
7835
- size: "md",
7836
- after: true,
7837
- css: {
7838
- container: { pe: "2" }
7839
- }
7270
+ icon: {
7271
+ aspectRatio: "square",
7272
+ transitionDuration: "fast",
7273
+ transitionProperty: "fill",
7274
+ transitionTimingFunction: "default",
7275
+ flexShrink: "0",
7276
+ w: "var(--list-item-icon-size)",
7277
+ h: "var(--list-item-icon-size)"
7840
7278
  },
7841
- {
7842
- size: "sm",
7843
- before: true,
7844
- css: {
7845
- container: { ps: "2" }
7846
- }
7279
+ itemMain: {
7280
+ display: "flex",
7281
+ flexDirection: "column",
7282
+ gap: "0",
7283
+ minWidth: "0"
7847
7284
  },
7848
- {
7849
- size: "sm",
7850
- after: true,
7851
- css: {
7852
- container: { pe: "2" }
7853
- }
7285
+ itemLabel: {
7286
+ color: "text",
7287
+ fontSize: "var(--list-item-label-size)"
7854
7288
  },
7855
- {
7856
- size: "lg",
7857
- before: true,
7858
- css: {
7859
- container: { ps: "4" }
7860
- }
7289
+ itemDescription: {
7290
+ color: "text.subtlest",
7291
+ fontSize: "var(--list-item-description-size)",
7292
+ lineHeight: "tight"
7861
7293
  },
7862
- {
7863
- size: "lg",
7864
- after: true,
7865
- css: {
7866
- container: { pe: "4" }
7867
- }
7294
+ beforeSlot: {
7295
+ ms: "calc(var(--list-item-slot-margin) * -1)"
7296
+ },
7297
+ afterSlot: {
7298
+ me: "calc(var(--list-item-slot-margin) * -1)"
7299
+ },
7300
+ divider: {
7301
+ width: "full",
7302
+ py: "var(--list-item-padding-y)",
7303
+ px: "var(--list-item-padding-x)"
7868
7304
  }
7869
- ],
7305
+ },
7306
+ variants: {
7307
+ variant: {
7308
+ default: {},
7309
+ checkbox: {
7310
+ wrapper: {
7311
+ _hover: {
7312
+ bg: "bg.neutral.hovered"
7313
+ },
7314
+ _focus: {
7315
+ bg: "bg.neutral.hovered"
7316
+ },
7317
+ '&:is(:active), &:is([data-active="true"]):hover': {
7318
+ bg: "bg.neutral.hovered"
7319
+ },
7320
+ _selected: {
7321
+ bg: "surface",
7322
+ _hover: {
7323
+ bg: "surface"
7324
+ },
7325
+ _focus: {
7326
+ bg: "bg.neutral.hovered"
7327
+ }
7328
+ }
7329
+ }
7330
+ },
7331
+ toggle: {
7332
+ wrapper: {
7333
+ _hover: {
7334
+ bg: "bg.neutral.hovered"
7335
+ },
7336
+ _focus: {
7337
+ bg: "bg.neutral.hovered"
7338
+ },
7339
+ '&:is(:active), &:is([data-active="true"]):hover': {
7340
+ bg: "bg.neutral.hovered"
7341
+ },
7342
+ _selected: {
7343
+ bg: "surface",
7344
+ _hover: {
7345
+ bg: "surface"
7346
+ },
7347
+ _focus: {
7348
+ bg: "bg.neutral.hovered"
7349
+ }
7350
+ }
7351
+ }
7352
+ },
7353
+ divider: {}
7354
+ },
7355
+ density: listDensityWrapperVars,
7356
+ selected: {
7357
+ true: {
7358
+ wrapper: {
7359
+ bg: "surface.selected",
7360
+ _hover: {
7361
+ bg: "surface.selected.hovered"
7362
+ },
7363
+ "&:is(:active)": {
7364
+ bg: "surface.selected.pressed"
7365
+ },
7366
+ _focusVisible: {
7367
+ bg: "surface.selected.hovered"
7368
+ }
7369
+ }
7370
+ },
7371
+ false: {}
7372
+ },
7373
+ iconBefore: {
7374
+ true: {},
7375
+ false: {}
7376
+ },
7377
+ iconAfter: {
7378
+ true: {},
7379
+ false: {}
7380
+ }
7381
+ },
7870
7382
  defaultVariants: {
7871
- size: "md"
7383
+ variant: "default",
7384
+ density: "compact"
7385
+ }
7386
+ });
7387
+ const listItemGroupRecipe = defineSlotRecipe({
7388
+ className: "listItemGroup",
7389
+ jsx: ["ListItemGroup"],
7390
+ slots: ["wrapper", "groupLabel", "divider"],
7391
+ base: {
7392
+ wrapper: {
7393
+ width: "full"
7394
+ },
7395
+ groupLabel: {
7396
+ ...globalBaseStyles,
7397
+ color: "text.subtlest",
7398
+ px: "var(--list-group-label-padding-x)",
7399
+ pt: "var(--list-group-label-padding-top)",
7400
+ pb: "var(--list-group-label-padding-bottom)",
7401
+ fontSize: "var(--list-group-label-size)",
7402
+ borderStyle: "solid",
7403
+ borderWidth: "1",
7404
+ borderColor: "transparent"
7405
+ },
7406
+ divider: {
7407
+ my: "var(--list-group-divider-margin-y)",
7408
+ mx: "var(--list-group-divider-margin-x)"
7409
+ }
7410
+ },
7411
+ variants: {
7412
+ density: listDensityWrapperVars
7413
+ },
7414
+ defaultVariants: {
7415
+ density: "compact"
7872
7416
  }
7873
7417
  });
7874
7418
  const modalBase = {
7419
+ positionWrapper: {
7420
+ "--wrapper-p": {
7421
+ base: "token(sizes.0)",
7422
+ xs: "token(sizes.12)",
7423
+ sm: "token(sizes.32)",
7424
+ md: "token(sizes.56)"
7425
+ },
7426
+ position: "fixed",
7427
+ inset: "0",
7428
+ display: "grid",
7429
+ p: "var(--wrapper-p)",
7430
+ w: "100vw",
7431
+ h: "100vh",
7432
+ zIndex: 1100
7433
+ },
7875
7434
  overlay: {
7876
7435
  position: "fixed",
7877
7436
  inset: "0",
@@ -7887,13 +7446,10 @@ const modalBase = {
7887
7446
  },
7888
7447
  container: {
7889
7448
  ...globalBaseStyles,
7890
- position: "fixed",
7891
- left: "50%",
7892
7449
  display: "flex",
7893
7450
  flexDirection: "column",
7894
- width: "full",
7895
- maxW: "95vw",
7896
- maxHeight: "95vh",
7451
+ maxW: "calc(100vw - (2 * var(--wrapper-p)))",
7452
+ maxH: "calc(100vh - (2 * var(--wrapper-p)))",
7897
7453
  bg: "surface.overlay",
7898
7454
  borderRadius: "12",
7899
7455
  boxShadow: "overlay",
@@ -7936,87 +7492,83 @@ const modalBase = {
7936
7492
  borderTop: "default"
7937
7493
  }
7938
7494
  };
7939
- const modalContainerCenteredOverlay = {
7940
- top: "50%",
7941
- transform: "translate(-50%, -50%) scale(0.95) translateY(-10px)",
7942
- animation: "modalScaleIn 150ms ease-out forwards",
7943
- '&[data-state="closing"]': {
7944
- animation: "modalScaleOut 150ms ease-out forwards"
7495
+ const mobile = {
7496
+ xsDown: {
7497
+ width: "100vw",
7498
+ height: "100vh",
7499
+ maxWidth: "100vw",
7500
+ maxHeight: "100vh",
7501
+ borderRadius: "0"
7945
7502
  }
7946
7503
  };
7947
7504
  const modalVariants = {
7948
7505
  size: {
7949
7506
  sm: {
7950
7507
  container: {
7951
- w: "md"
7508
+ w: "md",
7509
+ ...mobile
7952
7510
  }
7953
7511
  },
7954
7512
  md: {
7955
7513
  container: {
7956
- w: "xl"
7514
+ w: "xl",
7515
+ ...mobile
7957
7516
  }
7958
7517
  },
7959
7518
  lg: {
7960
7519
  container: {
7961
- w: "3xl"
7520
+ w: "3xl",
7521
+ ...mobile
7962
7522
  }
7963
7523
  },
7964
7524
  xl: {
7965
7525
  container: {
7966
- w: "5xl"
7526
+ w: "5xl",
7527
+ ...mobile
7967
7528
  }
7968
7529
  },
7969
7530
  full: {
7970
7531
  container: {
7971
- w: "95vw"
7532
+ w: "95vw",
7533
+ ...mobile
7972
7534
  }
7973
7535
  },
7974
- mobile: {
7536
+ fullPage: {
7537
+ positionWrapper: {
7538
+ "--wrapper-p": "token(sizes.0)"
7539
+ },
7975
7540
  container: {
7976
- width: "full",
7977
- height: "full",
7978
- maxWidth: "100vw",
7979
- maxHeight: "100vh",
7980
- borderRadius: "0"
7541
+ w: "100vw",
7542
+ h: "100vh",
7543
+ maxW: "100vw",
7544
+ maxH: "100vh",
7545
+ borderRadius: "0",
7546
+ ...mobile
7981
7547
  }
7982
7548
  }
7983
7549
  },
7984
7550
  position: {
7985
7551
  centered: {
7986
- container: modalContainerCenteredOverlay
7552
+ positionWrapper: {
7553
+ placeContent: "center"
7554
+ },
7555
+ container: {
7556
+ animation: "modalScaleIn 150ms ease-out forwards",
7557
+ '&[data-state="closing"]': {
7558
+ animation: "modalScaleOut 150ms ease-out forwards"
7559
+ }
7560
+ }
7987
7561
  },
7988
7562
  top: {
7563
+ positionWrapper: {
7564
+ placeContent: "start center"
7565
+ },
7989
7566
  container: {
7990
- top: "min(2.5vh, token(spacing.64))",
7991
- transform: "translate(-50%, 0) scale(0.95) translateY(-10px)",
7992
7567
  animation: "modalScaleInTop 150ms ease-out forwards",
7993
7568
  '&[data-state="closing"]': {
7994
7569
  animation: "modalScaleOutTop 150ms ease-out forwards"
7995
- },
7996
- // Align with default centered overlay at `xsDown` (full-viewport sheet):
7997
- // without this, `top` + fixed offset leaves a gap above the sheet.
7998
- xsDown: modalContainerCenteredOverlay
7999
- }
8000
- }
8001
- },
8002
- variant: {
8003
- default: {
8004
- container: {
8005
- xsDown: {
8006
- width: "full",
8007
- height: "full",
8008
- maxWidth: "100vw",
8009
- maxHeight: "100vh",
8010
- borderRadius: "0"
8011
7570
  }
8012
7571
  }
8013
- },
8014
- confirmation: {
8015
- container: {
8016
- height: "fit",
8017
- width: "md",
8018
- maxWidth: "90vw"
8019
- }
8020
7572
  }
8021
7573
  }
8022
7574
  };
@@ -8024,6 +7576,7 @@ const modalRecipe = defineSlotRecipe({
8024
7576
  className: "modal",
8025
7577
  jsx: ["Modal", "ModalHeader", "ModalBody", "ModalFooter"],
8026
7578
  slots: [
7579
+ "positionWrapper",
8027
7580
  "overlay",
8028
7581
  "container",
8029
7582
  "header",
@@ -8034,17 +7587,7 @@ const modalRecipe = defineSlotRecipe({
8034
7587
  ],
8035
7588
  base: modalBase,
8036
7589
  variants: modalVariants,
8037
- compoundVariants: [
8038
- {
8039
- position: "top",
8040
- size: "mobile",
8041
- css: {
8042
- container: modalContainerCenteredOverlay
8043
- }
8044
- }
8045
- ],
8046
7590
  defaultVariants: {
8047
- variant: "default",
8048
7591
  size: "md",
8049
7592
  position: "centered"
8050
7593
  }
@@ -8218,24 +7761,31 @@ const datePickerVariants = {
8218
7761
  size: {
8219
7762
  sm: {
8220
7763
  input: {
8221
- py: 0,
8222
- px: 8,
7764
+ py: "0",
7765
+ px: "8",
8223
7766
  fontSize: "14"
8224
7767
  }
8225
7768
  },
8226
7769
  md: {
8227
7770
  input: {
8228
- py: 3,
8229
- px: 10,
7771
+ py: "3",
7772
+ px: "10",
8230
7773
  fontSize: "16"
8231
7774
  }
8232
7775
  },
8233
7776
  lg: {
8234
7777
  input: {
8235
- py: 7,
8236
- px: 12,
7778
+ py: "7",
7779
+ px: "12",
8237
7780
  fontSize: "16"
8238
7781
  }
7782
+ },
7783
+ xl: {
7784
+ input: {
7785
+ py: "9",
7786
+ px: "16",
7787
+ fontSize: "20"
7788
+ }
8239
7789
  }
8240
7790
  }
8241
7791
  };
@@ -8410,24 +7960,31 @@ const timePickerVariants = {
8410
7960
  size: {
8411
7961
  sm: {
8412
7962
  input: {
8413
- py: 0,
8414
- px: 8,
7963
+ py: "0",
7964
+ px: "8",
8415
7965
  fontSize: "14"
8416
7966
  }
8417
7967
  },
8418
7968
  md: {
8419
7969
  input: {
8420
- py: 3,
8421
- px: 10,
7970
+ py: "3",
7971
+ px: "10",
8422
7972
  fontSize: "16"
8423
7973
  }
8424
7974
  },
8425
7975
  lg: {
8426
7976
  input: {
8427
- py: 7,
8428
- px: 12,
7977
+ py: "7",
7978
+ px: "12",
8429
7979
  fontSize: "16"
8430
7980
  }
7981
+ },
7982
+ xl: {
7983
+ input: {
7984
+ py: "9",
7985
+ px: "16",
7986
+ fontSize: "20"
7987
+ }
8431
7988
  }
8432
7989
  }
8433
7990
  };
@@ -8505,6 +8062,8 @@ const slotRecipes = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineP
8505
8062
  datePickerRecipe,
8506
8063
  formFieldRecipe,
8507
8064
  iconButtonRecipe,
8065
+ listItemGroupRecipe,
8066
+ listItemRecipe,
8508
8067
  menuRecipe,
8509
8068
  modalRecipe,
8510
8069
  radioRecipe,
@@ -9769,4 +9328,4 @@ export {
9769
9328
  breakpoints as b,
9770
9329
  containerSizes as c
9771
9330
  };
9772
- //# sourceMappingURL=cetec-preset-D3bQHejk.js.map
9331
+ //# sourceMappingURL=cetec-preset-DcowG2i7.js.map