cetec-design-system 1.2.0 → 1.2.1-next.1

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,21 +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
+ }
283
+ },
284
+ /** Top-aligned modal: horizontal center only (see modal recipe `position: top`) */
285
+ modalScaleInTop: {
286
+ "0%": {
287
+ opacity: "0",
288
+ transform: "scale(0.97) translateY(-40px)"
289
+ },
290
+ "100%": {
291
+ opacity: "1",
292
+ transform: "scale(1) translateY(0)"
293
+ }
294
+ },
295
+ modalScaleOutTop: {
296
+ "0%": {
297
+ opacity: "1",
298
+ transform: "scale(1) translateY(0)"
299
+ },
300
+ "100%": {
301
+ opacity: "0",
302
+ transform: "scale(0.97) translateY(-40px)"
282
303
  }
283
304
  }
284
305
  });
@@ -5130,80 +5151,75 @@ const cardRecipe = defineRecipe({
5130
5151
  },
5131
5152
  interactive: {
5132
5153
  true: {
5133
- cursor: "pointer"
5134
- }
5135
- }
5136
- },
5137
- compoundVariants: [
5138
- // Default + interactive
5139
- {
5140
- variant: "default",
5141
- interactive: true,
5142
- css: {
5143
- ...interactiveHoverStyles,
5144
- _disabled: {
5145
- _hover: {
5146
- boxShadow: "raised"
5147
- }
5148
- }
5149
- }
5150
- },
5151
- // Flat + interactive
5152
- {
5153
- variant: "flat",
5154
- interactive: true,
5155
- css: {
5156
- ...interactiveHoverStyles,
5157
- _disabled: {
5158
- _hover: {
5159
- boxShadow: "none"
5160
- }
5161
- }
5162
- }
5163
- },
5164
- // Sunken + interactive
5165
- {
5166
- variant: "sunken",
5167
- interactive: true,
5168
- css: {
5169
- ...interactiveHoverStyles,
5170
- _disabled: {
5171
- _hover: {
5172
- boxShadow: "none"
5173
- }
5174
- }
5175
- }
5176
- },
5177
- // Ghost + interactive
5178
- {
5179
- variant: "ghost",
5180
- interactive: true,
5181
- css: {
5182
5154
  ...interactiveHoverStyles,
5155
+ cursor: "pointer",
5183
5156
  _disabled: {
5184
5157
  _hover: {
5185
- boxShadow: "none"
5186
- }
5187
- }
5188
- }
5189
- },
5190
- // Overlay + interactive
5191
- {
5192
- variant: "overlay",
5193
- interactive: true,
5194
- css: {
5195
- _disabled: {
5196
- _hover: {
5197
- boxShadow: "raised"
5158
+ boxShadow: "initial"
5198
5159
  }
5199
5160
  }
5200
5161
  }
5201
5162
  }
5202
- ],
5163
+ },
5203
5164
  defaultVariants: {
5204
5165
  variant: "default"
5205
5166
  }
5206
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
+ };
5207
5223
  const listRecipe = defineRecipe({
5208
5224
  className: "list",
5209
5225
  jsx: ["List"],
@@ -5215,491 +5231,132 @@ const listRecipe = defineRecipe({
5215
5231
  justifyContent: "start",
5216
5232
  gap: "0"
5217
5233
  },
5218
- variants: {}
5234
+ variants: {
5235
+ density: listDensityVars
5236
+ },
5237
+ defaultVariants: {
5238
+ density: "compact"
5239
+ }
5219
5240
  });
5220
- const listItemRecipe = defineSlotRecipe({
5221
- className: "listItem",
5222
- jsx: ["ListItem"],
5223
- slots: [
5224
- "wrapper",
5225
- "icon",
5226
- "itemMain",
5227
- "itemLabel",
5228
- "itemDescription",
5229
- "divider"
5230
- ],
5241
+ const highlightTextRecipe = defineRecipe({
5242
+ className: "highlightText",
5243
+ jsx: ["HighlightText"],
5231
5244
  base: {
5232
- wrapper: {
5233
- ...globalBaseStyles,
5234
- display: "flex",
5235
- alignItems: "start",
5236
- justifyContent: "start",
5237
- gap: "4",
5238
- width: "full",
5239
- textAlign: "left",
5240
- borderWidth: "1",
5241
- borderStyle: "solid",
5242
- borderColor: "transparent",
5243
- color: "text",
5244
- cursor: "pointer",
5245
- outline: "2px solid transparent",
5246
- outlineOffset: "-2",
5247
- bg: "transparent",
5248
- scrollSnapAlign: "start",
5249
- transitionDuration: "fast",
5250
- transitionProperty: "background, color",
5251
- transitionTimingFunction: "default",
5252
- _hover: {
5253
- bg: "bg.neutral.hovered"
5254
- },
5255
- "&:is(:active)": {
5256
- bg: "bg.neutral.hovered"
5257
- },
5258
- _focus: {
5259
- bg: "bg.neutral.hovered"
5260
- },
5261
- _disabled: {
5262
- opacity: "0.4",
5263
- cursor: "not-allowed",
5264
- pointerEvents: "none"
5245
+ ...globalBaseStyles,
5246
+ bg: { base: "gold.10", _dark: "gold.60" },
5247
+ color: "text",
5248
+ borderRadius: "2",
5249
+ lineHeight: "inherit"
5250
+ },
5251
+ variants: {}
5252
+ });
5253
+ const tagBase = {
5254
+ ...globalBaseStyles,
5255
+ display: "flex",
5256
+ alignItems: "center",
5257
+ py: "0",
5258
+ borderRadius: "2",
5259
+ gap: "1",
5260
+ px: "4",
5261
+ w: "fit",
5262
+ h: "20",
5263
+ fontSize: "14",
5264
+ fontWeight: "medium",
5265
+ lineHeight: "tight",
5266
+ whiteSpace: "nowrap"
5267
+ };
5268
+ const tagVariant = {
5269
+ variant: {
5270
+ default: {},
5271
+ bold: {}
5272
+ },
5273
+ hue: {
5274
+ slate: {},
5275
+ tan: {},
5276
+ red: {},
5277
+ tomato: {},
5278
+ orange: {},
5279
+ yellow: {},
5280
+ green: {},
5281
+ grass: {},
5282
+ mint: {},
5283
+ cyan: {},
5284
+ blue: {},
5285
+ indigo: {},
5286
+ purple: {},
5287
+ violet: {},
5288
+ pink: {},
5289
+ rose: {},
5290
+ magenta: {}
5291
+ },
5292
+ iconBefore: {
5293
+ true: {
5294
+ gap: "1",
5295
+ pl: "1"
5296
+ }
5297
+ },
5298
+ iconAfter: {
5299
+ true: {
5300
+ gap: "1",
5301
+ pr: "1"
5302
+ }
5303
+ },
5304
+ hasIcon: {
5305
+ true: {},
5306
+ false: {
5307
+ px: "4"
5308
+ }
5309
+ }
5310
+ };
5311
+ const tagRecipe = defineRecipe({
5312
+ className: "tag",
5313
+ jsx: ["Tag"],
5314
+ base: tagBase,
5315
+ variants: tagVariant,
5316
+ defaultVariants: {
5317
+ variant: "default",
5318
+ hue: "slate"
5319
+ },
5320
+ compoundVariants: [
5321
+ {
5322
+ hue: "slate",
5323
+ variant: "default",
5324
+ css: {
5325
+ color: { base: "slate.70", _dark: "slate.20" },
5326
+ bg: { base: "slate.10", _dark: "slate.70" }
5265
5327
  }
5266
5328
  },
5267
- divider: {
5268
- width: "full"
5329
+ {
5330
+ hue: "slate",
5331
+ variant: "bold",
5332
+ css: {
5333
+ color: { base: "slate.0", _dark: "slate.80" },
5334
+ bg: { base: "slate.50", _dark: "slate.20" }
5335
+ }
5269
5336
  },
5270
- icon: {
5271
- aspectRatio: "square",
5272
- transitionDuration: "fast",
5273
- transitionProperty: "fill",
5274
- transitionTimingFunction: "default",
5275
- flexShrink: "0"
5337
+ {
5338
+ hue: "tan",
5339
+ variant: "default",
5340
+ css: {
5341
+ color: { base: "tan.70", _dark: "tan.20" },
5342
+ bg: { base: "tan.10", _dark: "tan.70" }
5343
+ }
5276
5344
  },
5277
- itemMain: {
5278
- display: "flex",
5279
- flexDirection: "column",
5280
- gap: "0",
5281
- minWidth: "0"
5345
+ {
5346
+ hue: "tan",
5347
+ variant: "bold",
5348
+ css: {
5349
+ color: { base: "slate.0", _dark: "tan.80" },
5350
+ bg: { base: "tan.50", _dark: "tan.20" }
5351
+ }
5282
5352
  },
5283
- itemLabel: {
5284
- color: "text"
5285
- },
5286
- itemDescription: {
5287
- color: "text.subtlest",
5288
- lineHeight: "tight"
5289
- }
5290
- },
5291
- variants: {
5292
- variant: {
5293
- default: {},
5294
- checkbox: {
5295
- wrapper: {
5296
- _hover: {
5297
- bg: "bg.neutral.hovered"
5298
- },
5299
- _focus: {
5300
- bg: "bg.neutral.hovered"
5301
- },
5302
- '&:is(:active), &:is([data-active="true"]):hover': {
5303
- bg: "bg.neutral.hovered"
5304
- },
5305
- _selected: {
5306
- bg: "surface",
5307
- _hover: {
5308
- bg: "surface"
5309
- },
5310
- _focus: {
5311
- bg: "bg.neutral.hovered"
5312
- }
5313
- }
5314
- }
5315
- },
5316
- toggle: {
5317
- wrapper: {
5318
- _hover: {
5319
- bg: "bg.neutral.hovered"
5320
- },
5321
- _focus: {
5322
- bg: "bg.neutral.hovered"
5323
- },
5324
- '&:is(:active), &:is([data-active="true"]):hover': {
5325
- bg: "bg.neutral.hovered"
5326
- },
5327
- _selected: {
5328
- bg: "surface",
5329
- _hover: {
5330
- bg: "surface"
5331
- },
5332
- _focus: {
5333
- bg: "bg.neutral.hovered"
5334
- }
5335
- }
5336
- }
5337
- },
5338
- divider: {}
5339
- },
5340
- density: {
5341
- compact: {
5342
- wrapper: {
5343
- py: "3",
5344
- px: "10"
5345
- },
5346
- itemLabel: {
5347
- textStyle: "body.md",
5348
- color: "text"
5349
- },
5350
- itemDescription: {
5351
- textStyle: "body.xs",
5352
- lineHeight: "tight"
5353
- },
5354
- icon: {
5355
- w: "24",
5356
- h: "24"
5357
- },
5358
- divider: {
5359
- py: "3",
5360
- px: "10"
5361
- }
5362
- },
5363
- comfortable: {
5364
- wrapper: {
5365
- py: "7",
5366
- px: "12"
5367
- },
5368
- itemLabel: {
5369
- textStyle: "body.md",
5370
- color: "text"
5371
- },
5372
- itemDescription: {
5373
- textStyle: "body.xs",
5374
- lineHeight: "tight"
5375
- },
5376
- icon: {
5377
- w: "24",
5378
- h: "24"
5379
- },
5380
- divider: {
5381
- py: "7",
5382
- px: "12"
5383
- }
5384
- },
5385
- spacious: {
5386
- wrapper: {
5387
- py: "9",
5388
- px: "16"
5389
- },
5390
- itemLabel: {
5391
- textStyle: "body.lg",
5392
- color: "text"
5393
- },
5394
- itemDescription: {
5395
- textStyle: "body.sm",
5396
- lineHeight: "tight"
5397
- },
5398
- icon: {
5399
- w: "28",
5400
- h: "28"
5401
- },
5402
- divider: {
5403
- py: "9",
5404
- px: "16"
5405
- }
5406
- }
5407
- },
5408
- selected: {
5409
- true: {
5410
- wrapper: {
5411
- bg: "surface.selected",
5412
- _hover: {
5413
- bg: "surface.selected.hovered"
5414
- },
5415
- "&:is(:active)": {
5416
- bg: "surface.selected.pressed"
5417
- },
5418
- _focusVisible: {
5419
- bg: "surface.selected.hovered"
5420
- }
5421
- }
5422
- },
5423
- false: {}
5424
- },
5425
- iconBefore: {
5426
- true: {},
5427
- false: {}
5428
- },
5429
- iconAfter: {
5430
- true: {},
5431
- false: {}
5432
- }
5433
- },
5434
- compoundVariants: [
5435
- {
5436
- density: "compact",
5437
- iconBefore: true,
5438
- css: {
5439
- wrapper: {
5440
- ps: "5"
5441
- }
5442
- }
5443
- },
5444
- {
5445
- density: "compact",
5446
- iconAfter: true,
5447
- css: {
5448
- wrapper: {
5449
- pe: "5"
5450
- }
5451
- }
5452
- },
5453
- {
5454
- density: "compact",
5455
- variant: "checkbox",
5456
- css: {
5457
- wrapper: {
5458
- ps: "5"
5459
- }
5460
- }
5461
- },
5462
- {
5463
- density: "comfortable",
5464
- iconBefore: true,
5465
- css: {
5466
- wrapper: {
5467
- ps: "7"
5468
- }
5469
- }
5470
- },
5471
- {
5472
- density: "comfortable",
5473
- iconAfter: true,
5474
- css: {
5475
- wrapper: {
5476
- pe: "7"
5477
- }
5478
- }
5479
- },
5480
- {
5481
- density: "comfortable",
5482
- variant: "checkbox",
5483
- css: {
5484
- wrapper: {
5485
- ps: "7"
5486
- }
5487
- }
5488
- },
5489
- {
5490
- density: "spacious",
5491
- iconBefore: true,
5492
- css: {
5493
- wrapper: {
5494
- ps: "9"
5495
- }
5496
- }
5497
- },
5498
- {
5499
- density: "spacious",
5500
- iconAfter: true,
5501
- css: {
5502
- wrapper: {
5503
- pe: "9"
5504
- }
5505
- }
5506
- },
5507
- {
5508
- density: "spacious",
5509
- variant: "checkbox",
5510
- css: {
5511
- wrapper: {
5512
- ps: "9"
5513
- }
5514
- }
5515
- }
5516
- ],
5517
- defaultVariants: {
5518
- variant: "default",
5519
- density: "compact",
5520
- selected: false
5521
- }
5522
- });
5523
- const listItemGroupRecipe = defineSlotRecipe({
5524
- className: "listItemGroup",
5525
- jsx: ["ListItemGroup"],
5526
- slots: ["wrapper", "groupLabel", "divider"],
5527
- base: {
5528
- wrapper: {
5529
- width: "full"
5530
- },
5531
- groupLabel: {
5532
- ...globalBaseStyles,
5533
- color: "text.subtlest",
5534
- borderStyle: "solid",
5535
- borderWidth: "1",
5536
- borderColor: "transparent"
5537
- },
5538
- divider: {}
5539
- },
5540
- variants: {
5541
- density: {
5542
- compact: {
5543
- groupLabel: {
5544
- px: "10",
5545
- pt: "8",
5546
- pb: "2",
5547
- fontSize: "12"
5548
- },
5549
- divider: {
5550
- my: "4",
5551
- mx: "10"
5552
- }
5553
- },
5554
- comfortable: {
5555
- groupLabel: {
5556
- px: "12",
5557
- pt: "12",
5558
- pb: "4",
5559
- fontSize: "14"
5560
- },
5561
- divider: {
5562
- my: "6",
5563
- mx: "12"
5564
- }
5565
- },
5566
- spacious: {
5567
- groupLabel: {
5568
- px: "16",
5569
- pt: "16",
5570
- pb: "6",
5571
- fontSize: "16"
5572
- },
5573
- divider: {
5574
- my: "8",
5575
- mx: "16"
5576
- }
5577
- }
5578
- }
5579
- },
5580
- defaultVariants: {
5581
- density: "compact"
5582
- }
5583
- });
5584
- const highlightTextRecipe = defineRecipe({
5585
- className: "highlightText",
5586
- jsx: ["HighlightText"],
5587
- base: {
5588
- ...globalBaseStyles,
5589
- bg: { base: "gold.10", _dark: "gold.60" },
5590
- color: "text",
5591
- borderRadius: "2",
5592
- lineHeight: "inherit"
5593
- },
5594
- variants: {}
5595
- });
5596
- const tagBase = {
5597
- ...globalBaseStyles,
5598
- display: "flex",
5599
- alignItems: "center",
5600
- py: "0",
5601
- borderRadius: "2",
5602
- gap: "1",
5603
- px: "4",
5604
- w: "fit",
5605
- h: "20",
5606
- fontSize: "14",
5607
- fontWeight: "medium",
5608
- lineHeight: "tight",
5609
- whiteSpace: "nowrap"
5610
- };
5611
- const tagVariant = {
5612
- variant: {
5613
- default: {},
5614
- bold: {}
5615
- },
5616
- hue: {
5617
- slate: {},
5618
- tan: {},
5619
- red: {},
5620
- tomato: {},
5621
- orange: {},
5622
- yellow: {},
5623
- green: {},
5624
- grass: {},
5625
- mint: {},
5626
- cyan: {},
5627
- blue: {},
5628
- indigo: {},
5629
- purple: {},
5630
- violet: {},
5631
- pink: {},
5632
- rose: {},
5633
- magenta: {}
5634
- },
5635
- iconBefore: {
5636
- true: {
5637
- gap: "1",
5638
- pl: "1"
5639
- }
5640
- },
5641
- iconAfter: {
5642
- true: {
5643
- gap: "1",
5644
- pr: "1"
5645
- }
5646
- },
5647
- hasIcon: {
5648
- true: {},
5649
- false: {
5650
- px: "4"
5651
- }
5652
- }
5653
- };
5654
- const tagRecipe = defineRecipe({
5655
- className: "tag",
5656
- jsx: ["Tag"],
5657
- base: tagBase,
5658
- variants: tagVariant,
5659
- defaultVariants: {
5660
- variant: "default",
5661
- hue: "slate"
5662
- },
5663
- compoundVariants: [
5664
- {
5665
- hue: "slate",
5666
- variant: "default",
5667
- css: {
5668
- color: { base: "slate.70", _dark: "slate.20" },
5669
- bg: { base: "slate.10", _dark: "slate.70" }
5670
- }
5671
- },
5672
- {
5673
- hue: "slate",
5674
- variant: "bold",
5675
- css: {
5676
- color: { base: "slate.0", _dark: "slate.80" },
5677
- bg: { base: "slate.50", _dark: "slate.20" }
5678
- }
5679
- },
5680
- {
5681
- hue: "tan",
5682
- variant: "default",
5683
- css: {
5684
- color: { base: "tan.70", _dark: "tan.20" },
5685
- bg: { base: "tan.10", _dark: "tan.70" }
5686
- }
5687
- },
5688
- {
5689
- hue: "tan",
5690
- variant: "bold",
5691
- css: {
5692
- color: { base: "slate.0", _dark: "tan.80" },
5693
- bg: { base: "tan.50", _dark: "tan.20" }
5694
- }
5695
- },
5696
- {
5697
- hue: "red",
5698
- variant: "default",
5699
- css: {
5700
- color: { base: "red.70", _dark: "red.10" },
5701
- bg: { base: "red.10", _dark: "red.70" }
5702
- }
5353
+ {
5354
+ hue: "red",
5355
+ variant: "default",
5356
+ css: {
5357
+ color: { base: "red.70", _dark: "red.10" },
5358
+ bg: { base: "red.10", _dark: "red.70" }
5359
+ }
5703
5360
  },
5704
5361
  {
5705
5362
  hue: "red",
@@ -5990,19 +5647,45 @@ const iconRecipe = defineRecipe({
5990
5647
  jsx: ["Icon"],
5991
5648
  base: {
5992
5649
  aspectRatio: "square",
5993
- 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
5994
5653
  },
5995
5654
  variants: {
5996
5655
  size: sizeVariants
5997
5656
  },
5998
5657
  defaultVariants: {
5999
- 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
+ }
6000
5680
  },
6001
- staticCss: [{ size: ["*"] }]
5681
+ defaultVariants: {
5682
+ variant: "default"
5683
+ }
6002
5684
  });
6003
5685
  const regularRecipes = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
6004
5686
  __proto__: null,
6005
5687
  boxRecipe,
5688
+ breakpointIndicatorRecipe,
6006
5689
  cardRecipe,
6007
5690
  checkboxInputRecipe,
6008
5691
  codeRecipe,
@@ -6012,8 +5695,6 @@ const regularRecipes = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defi
6012
5695
  iconRecipe,
6013
5696
  labelRecipe,
6014
5697
  linkRecipe,
6015
- listItemGroupRecipe,
6016
- listItemRecipe,
6017
5698
  listRecipe,
6018
5699
  preRecipe,
6019
5700
  radioInputRecipe,
@@ -6027,6 +5708,9 @@ const regularRecipes = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defi
6027
5708
  const buttonBaseStyles = {
6028
5709
  container: {
6029
5710
  ...globalBaseStyles,
5711
+ "--icon-size": "token(sizes.24)",
5712
+ "--icon-margin-outside": "token(sizes.6)",
5713
+ "--icon-margin-inside": "token(sizes.1)",
6030
5714
  position: "relative",
6031
5715
  appearance: "none",
6032
5716
  display: "flex",
@@ -6035,6 +5719,7 @@ const buttonBaseStyles = {
6035
5719
  minWidth: "0",
6036
5720
  width: "fit",
6037
5721
  height: "fit",
5722
+ flexShrink: 0,
6038
5723
  transitionDuration: "fast",
6039
5724
  transitionProperty: "background, border-color, color, box-shadow",
6040
5725
  transitionTimingFunction: "default",
@@ -6067,10 +5752,19 @@ const buttonBaseStyles = {
6067
5752
  }
6068
5753
  },
6069
5754
  icon: {
5755
+ w: "var(--icon-size)",
6070
5756
  aspectRatio: "square",
6071
5757
  transitionDuration: "fast",
6072
5758
  transitionProperty: "fill",
6073
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)"
6074
5768
  }
6075
5769
  };
6076
5770
  const buttonVariants = {
@@ -6078,6 +5772,7 @@ const buttonVariants = {
6078
5772
  standard: {
6079
5773
  container: {
6080
5774
  bg: "bg.neutral",
5775
+ borderColor: "transparent",
6081
5776
  color: "text",
6082
5777
  _hover: {
6083
5778
  bg: "bg.neutral.hovered"
@@ -6096,6 +5791,7 @@ const buttonVariants = {
6096
5791
  primary: {
6097
5792
  container: {
6098
5793
  bg: "bg.neutral.boldest",
5794
+ borderColor: "transparent",
6099
5795
  color: "text.inverse",
6100
5796
  _hover: {
6101
5797
  bg: "bg.neutral.bold.hovered"
@@ -6136,6 +5832,7 @@ const buttonVariants = {
6136
5832
  ghost: {
6137
5833
  container: {
6138
5834
  bg: "bg.neutral.subtle",
5835
+ borderColor: "transparent",
6139
5836
  color: "text",
6140
5837
  _hover: {
6141
5838
  bg: "bg.neutral.subtle.hovered"
@@ -6154,6 +5851,7 @@ const buttonVariants = {
6154
5851
  cta: {
6155
5852
  container: {
6156
5853
  bg: "gold.20",
5854
+ borderColor: "transparent",
6157
5855
  color: "neutral.90",
6158
5856
  _hover: {
6159
5857
  bg: "gold.15"
@@ -6175,6 +5873,7 @@ const buttonVariants = {
6175
5873
  danger: {
6176
5874
  container: {
6177
5875
  bg: "red.50",
5876
+ borderColor: "transparent",
6178
5877
  color: "neutral.0",
6179
5878
  _hover: {
6180
5879
  bg: "red.40"
@@ -6196,6 +5895,7 @@ const buttonVariants = {
6196
5895
  selected: {
6197
5896
  container: {
6198
5897
  bg: "bg.selected",
5898
+ borderColor: "transparent",
6199
5899
  color: "text.selected",
6200
5900
  icon: { fill: "icon.selected" },
6201
5901
  _hover: {
@@ -6222,6 +5922,7 @@ const buttonVariants = {
6222
5922
  selectedBold: {
6223
5923
  container: {
6224
5924
  bg: "bg.selected.bold",
5925
+ borderColor: "transparent",
6225
5926
  color: "text.inverse",
6226
5927
  _hover: {
6227
5928
  bg: "bg.selected.bold.hovered"
@@ -6245,31 +5946,33 @@ const buttonVariants = {
6245
5946
  const buttonRecipe = defineSlotRecipe({
6246
5947
  className: "button",
6247
5948
  jsx: ["Button"],
6248
- slots: ["container", "icon"],
5949
+ slots: ["container", "icon", "iconBefore", "iconAfter"],
6249
5950
  base: buttonBaseStyles,
6250
5951
  variants: {
6251
5952
  ...buttonVariants,
6252
5953
  size: {
6253
- md: {
5954
+ sm: {
6254
5955
  container: {
6255
- fontSize: "16",
6256
- py: "3",
6257
- px: "12"
5956
+ fontSize: "14",
5957
+ py: "0",
5958
+ px: "8"
6258
5959
  },
6259
5960
  icon: {
6260
- w: "24",
6261
- h: "24"
5961
+ "--icon-size": "token(sizes.22)",
5962
+ "--icon-margin-outside": "token(sizes.5)",
5963
+ "--icon-margin-inside": "token(sizes.1)"
6262
5964
  }
6263
5965
  },
6264
- xl: {
5966
+ md: {
6265
5967
  container: {
6266
- fontSize: "20",
6267
- py: "9",
6268
- px: "16"
5968
+ fontSize: "16",
5969
+ py: "3",
5970
+ px: "12"
6269
5971
  },
6270
5972
  icon: {
6271
- w: "28",
6272
- h: "28"
5973
+ "--icon-size": "token(sizes.24)",
5974
+ "--icon-margin-outside": "token(sizes.8)",
5975
+ "--icon-margin-inside": "token(sizes.1)"
6273
5976
  }
6274
5977
  },
6275
5978
  lg: {
@@ -6279,19 +5982,21 @@ const buttonRecipe = defineSlotRecipe({
6279
5982
  px: "14"
6280
5983
  },
6281
5984
  icon: {
6282
- w: "24",
6283
- h: "24"
5985
+ "--icon-size": "token(sizes.24)",
5986
+ "--icon-margin-outside": "token(sizes.10)",
5987
+ "--icon-margin-inside": "token(sizes.1)"
6284
5988
  }
6285
5989
  },
6286
- sm: {
5990
+ xl: {
6287
5991
  container: {
6288
- fontSize: "14",
6289
- py: "1",
6290
- px: "8"
5992
+ fontSize: "20",
5993
+ py: "9",
5994
+ px: "16"
6291
5995
  },
6292
5996
  icon: {
6293
- w: "22",
6294
- h: "22"
5997
+ "--icon-size": "token(sizes.28)",
5998
+ "--icon-margin-outside": "token(sizes.10)",
5999
+ "--icon-margin-inside": "token(sizes.1)"
6295
6000
  }
6296
6001
  }
6297
6002
  },
@@ -6302,64 +6007,6 @@ const buttonRecipe = defineSlotRecipe({
6302
6007
  true: { container: {} }
6303
6008
  }
6304
6009
  },
6305
- compoundVariants: [
6306
- {
6307
- size: "md",
6308
- iconBefore: true,
6309
- css: {
6310
- container: { ps: "3" }
6311
- }
6312
- },
6313
- {
6314
- size: "md",
6315
- iconAfter: true,
6316
- css: {
6317
- container: { pe: "3" }
6318
- }
6319
- },
6320
- {
6321
- size: "sm",
6322
- iconBefore: true,
6323
- css: {
6324
- container: { ps: "2" }
6325
- }
6326
- },
6327
- {
6328
- size: "sm",
6329
- iconAfter: true,
6330
- css: {
6331
- container: { pe: "2" }
6332
- }
6333
- },
6334
- {
6335
- size: "lg",
6336
- iconBefore: true,
6337
- css: {
6338
- container: { ps: "5" }
6339
- }
6340
- },
6341
- {
6342
- size: "lg",
6343
- iconAfter: true,
6344
- css: {
6345
- container: { pe: "5" }
6346
- }
6347
- },
6348
- {
6349
- size: "xl",
6350
- iconBefore: true,
6351
- css: {
6352
- container: { ps: "7" }
6353
- }
6354
- },
6355
- {
6356
- size: "xl",
6357
- iconAfter: true,
6358
- css: {
6359
- container: { pe: "7" }
6360
- }
6361
- }
6362
- ],
6363
6010
  defaultVariants: {
6364
6011
  variant: "standard",
6365
6012
  size: "md"
@@ -6660,81 +6307,6 @@ const menuBase = {
6660
6307
  transitionTimingFunction: "default",
6661
6308
  outline: "none"
6662
6309
  },
6663
- // list: {
6664
- // display: 'flex',
6665
- // flexDirection: 'column',
6666
- // },
6667
- // item: {
6668
- // display: 'flex',
6669
- // alignItems: 'flex-start',
6670
- // gap: '4',
6671
- // width: 'full',
6672
- // textAlign: 'left',
6673
- // borderWidth: '1',
6674
- // borderStyle: 'solid',
6675
- // borderColor: 'transparent',
6676
- // color: 'text',
6677
- // cursor: 'pointer',
6678
- // outline: '2px solid transparent',
6679
- // outlineOffset: '-2',
6680
- // bg: 'transparent',
6681
- // _hover: {
6682
- // bg: 'bg.neutral.hovered',
6683
- // },
6684
- // '&:is(:active)': {
6685
- // bg: 'bg.neutral.pressed',
6686
- // },
6687
- // _focus: {
6688
- // bg: 'bg.neutral.hovered',
6689
- // },
6690
- // _selected: {
6691
- // bg: 'surface.selected',
6692
- // _hover: {
6693
- // bg: 'surface.selected.hovered',
6694
- // },
6695
- // '&:is(:active)': {
6696
- // bg: 'surface.selected.pressed',
6697
- // },
6698
- // _focus: {
6699
- // bg: 'surface.selected.hovered',
6700
- // },
6701
- // },
6702
- // _disabled: {
6703
- // opacity: '0.4',
6704
- // cursor: 'not-allowed',
6705
- // pointerEvents: 'none',
6706
- // },
6707
- // },
6708
- // icon: {
6709
- // aspectRatio: 'square',
6710
- // transitionDuration: 'fast',
6711
- // transitionProperty: 'fill',
6712
- // transitionTimingFunction: 'default',
6713
- // flexShrink: '0',
6714
- // },
6715
- // itemMain: {
6716
- // display: 'flex',
6717
- // flexDirection: 'column',
6718
- // gap: '0',
6719
- // minWidth: '0',
6720
- // },
6721
- // itemLabel: {
6722
- // color: 'text',
6723
- // },
6724
- // itemDescription: {
6725
- // color: 'text.subtlest',
6726
- // lineHeight: 'tight',
6727
- // },
6728
- // groupLabel: {
6729
- // color: 'text.subtlest',
6730
- // borderStyle: 'solid',
6731
- // borderWidth: '1',
6732
- // borderColor: 'transparent',
6733
- // },
6734
- // divider: {
6735
- // my: '4',
6736
- // mx: '12',
6737
- // },
6738
6310
  backHeader: {
6739
6311
  display: "flex",
6740
6312
  alignItems: "center",
@@ -6783,11 +6355,6 @@ const menuBase = {
6783
6355
  height: "fit-content",
6784
6356
  overflow: "visible"
6785
6357
  },
6786
- // highlight: {
6787
- // bg: 'gold.5',
6788
- // color: 'text',
6789
- // borderRadius: '2',
6790
- // },
6791
6358
  noResults: {
6792
6359
  px: "12",
6793
6360
  py: "10",
@@ -6797,16 +6364,6 @@ const menuBase = {
6797
6364
  const menuVariants = {
6798
6365
  density: {
6799
6366
  compact: {
6800
- // item: {
6801
- // py: '3',
6802
- // px: '10',
6803
- // },
6804
- // groupLabel: {
6805
- // px: '10',
6806
- // pt: '8',
6807
- // pb: '2',
6808
- // fontSize: '12',
6809
- // },
6810
6367
  backHeader: {
6811
6368
  py: "1",
6812
6369
  pe: "18",
@@ -6814,30 +6371,8 @@ const menuVariants = {
6814
6371
  textStyle: "body.md",
6815
6372
  color: "text"
6816
6373
  }
6817
- // itemLabel: {
6818
- // textStyle: 'body.md',
6819
- // color: 'text',
6820
- // },
6821
- // itemDescription: {
6822
- // textStyle: 'body.xs',
6823
- // lineHeight: 'tight',
6824
- // },
6825
- // icon: {
6826
- // w: '24',
6827
- // h: '24',
6828
- // },
6829
6374
  },
6830
6375
  comfortable: {
6831
- // item: {
6832
- // py: '7',
6833
- // px: '12',
6834
- // },
6835
- // groupLabel: {
6836
- // px: '12',
6837
- // pt: '12',
6838
- // pb: '4',
6839
- // fontSize: '14',
6840
- // },
6841
6376
  backHeader: {
6842
6377
  py: "5",
6843
6378
  pe: "20",
@@ -6845,30 +6380,8 @@ const menuVariants = {
6845
6380
  textStyle: "body.md",
6846
6381
  color: "text"
6847
6382
  }
6848
- // itemLabel: {
6849
- // textStyle: 'body.md',
6850
- // color: 'text',
6851
- // },
6852
- // itemDescription: {
6853
- // textStyle: 'body.xs',
6854
- // lineHeight: 'tight',
6855
- // },
6856
- // icon: {
6857
- // w: '24',
6858
- // h: '24',
6859
- // },
6860
6383
  },
6861
6384
  spacious: {
6862
- // item: {
6863
- // py: '9',
6864
- // px: '16',
6865
- // },
6866
- // groupLabel: {
6867
- // px: '16',
6868
- // pt: '16',
6869
- // pb: '6',
6870
- // fontSize: '16',
6871
- // },
6872
6385
  backHeader: {
6873
6386
  py: "7",
6874
6387
  pe: "24",
@@ -6876,82 +6389,8 @@ const menuVariants = {
6876
6389
  textStyle: "body.lg",
6877
6390
  color: "text"
6878
6391
  }
6879
- // itemLabel: {
6880
- // textStyle: 'body.lg',
6881
- // color: 'text',
6882
- // },
6883
- // itemDescription: {
6884
- // textStyle: 'body.sm',
6885
- // lineHeight: 'tight',
6886
- // },
6887
- // icon: {
6888
- // w: '28',
6889
- // h: '28',
6890
- // },
6891
6392
  }
6892
6393
  },
6893
- // itemVariant: {
6894
- // default: {},
6895
- // checkbox: {
6896
- // item: {
6897
- // _hover: {
6898
- // bg: 'surface',
6899
- // },
6900
- // _focus: {
6901
- // bg: 'bg.neutral.hovered',
6902
- // },
6903
- // '&:is(:active), &:is([data-active="true"]):hover': {
6904
- // bg: 'surface',
6905
- // },
6906
- // _selected: {
6907
- // bg: 'surface',
6908
- // _hover: {
6909
- // bg: 'surface',
6910
- // },
6911
- // _focus: {
6912
- // bg: 'bg.neutral.hovered',
6913
- // },
6914
- // },
6915
- // },
6916
- // },
6917
- // toggle: {
6918
- // item: {
6919
- // _hover: {
6920
- // bg: 'surface',
6921
- // },
6922
- // _focus: {
6923
- // bg: 'bg.neutral.hovered',
6924
- // },
6925
- // '&:is(:active), &:is([data-active="true"]):hover': {
6926
- // bg: 'surface',
6927
- // },
6928
- // _selected: {
6929
- // bg: 'surface',
6930
- // _hover: {
6931
- // bg: 'surface',
6932
- // },
6933
- // _focus: {
6934
- // bg: 'bg.neutral.hovered',
6935
- // },
6936
- // },
6937
- // },
6938
- // },
6939
- // divider: {
6940
- // item: {
6941
- // display: 'none',
6942
- // },
6943
- // },
6944
- // },
6945
- // iconBefore: {
6946
- // true: {
6947
- // item: {},
6948
- // },
6949
- // },
6950
- // iconAfter: {
6951
- // true: {
6952
- // item: {},
6953
- // },
6954
- // },
6955
6394
  panel: {
6956
6395
  true: {
6957
6396
  wrapper: {
@@ -6970,31 +6409,25 @@ const menuRecipe = defineSlotRecipe({
6970
6409
  jsx: ["Menu", "MenuItem", "MenuGroup", "SubMenu"],
6971
6410
  slots: [
6972
6411
  "wrapper",
6973
- // 'list',
6974
- // 'item',
6975
- // 'icon',
6976
- // 'itemMain',
6977
- // 'itemLabel',
6978
- // 'itemDescription',
6979
- // 'groupLabel',
6980
- // 'divider',
6981
6412
  "backHeader",
6982
6413
  "levelsViewport",
6983
6414
  "levelsTrack",
6984
6415
  "level",
6985
6416
  "sizeProbe",
6986
- // 'highlight',
6987
6417
  "noResults"
6988
6418
  ],
6989
6419
  base: menuBase,
6990
6420
  variants: menuVariants,
6991
- // compoundVariants: menuCompoundVariants,
6992
6421
  defaultVariants: {
6993
6422
  density: "compact"
6994
6423
  }
6995
6424
  });
6996
6425
  const textInputBase = {
6997
6426
  container: {
6427
+ ...globalBaseStyles,
6428
+ "--icon-size": "token(sizes.24)",
6429
+ "--icon-margin": "token(sizes.3)",
6430
+ "--input-icon-padding": "token(sizes.10)",
6998
6431
  position: "relative",
6999
6432
  width: "full",
7000
6433
  bg: "surface",
@@ -7040,14 +6473,6 @@ const textInputBase = {
7040
6473
  borderColor: "border.input"
7041
6474
  }
7042
6475
  },
7043
- _readOnly: {
7044
- opacity: 0.4,
7045
- cursor: "not-allowed",
7046
- _focusWithin: {
7047
- outlineColor: "transparent",
7048
- borderColor: "border.input"
7049
- }
7050
- },
7051
6476
  _groupDisabled: {
7052
6477
  opacity: 1
7053
6478
  // let FormField handle disabled state opacity
@@ -7069,6 +6494,8 @@ const textInputBase = {
7069
6494
  position: "absolute",
7070
6495
  top: "50%",
7071
6496
  transform: "translateY(-50%)",
6497
+ w: "var(--icon-size)",
6498
+ mx: "var(--icon-margin)",
7072
6499
  fill: "icon.decorative.subtle",
7073
6500
  mixBlendMode: { base: "multiply", _dark: "screen" },
7074
6501
  pointerEvents: "none",
@@ -7077,48 +6504,76 @@ const textInputBase = {
7077
6504
  };
7078
6505
  const textInputVariants = {
7079
6506
  size: {
7080
- md: {
6507
+ sm: {
6508
+ container: {
6509
+ "--icon-size": "token(sizes.22)",
6510
+ "--icon-margin": "token(sizes.2)",
6511
+ "--input-icon-padding": "[26px]"
6512
+ },
7081
6513
  input: {
7082
- py: 3,
7083
- px: 10,
7084
- fontSize: "16"
6514
+ py: "0",
6515
+ px: "8",
6516
+ fontSize: "14"
7085
6517
  },
7086
- icon: {
7087
- mx: "3",
7088
- w: "24"
6518
+ inputIconBefore: {
6519
+ ps: "var(--input-icon-padding)"
6520
+ },
6521
+ inputIconAfter: {
6522
+ pe: "var(--input-icon-padding)"
7089
6523
  }
7090
6524
  },
7091
- sm: {
6525
+ md: {
6526
+ container: {
6527
+ "--icon-size": "token(sizes.24)",
6528
+ "--icon-margin": "token(sizes.3)",
6529
+ "--input-icon-padding": "[31px]"
6530
+ },
7092
6531
  input: {
7093
- py: 0,
7094
- px: 8,
7095
- fontSize: "14"
6532
+ py: "3",
6533
+ px: "10",
6534
+ fontSize: "16"
7096
6535
  },
7097
- icon: {
7098
- mx: "2",
7099
- w: "22"
6536
+ inputIconBefore: {
6537
+ ps: "var(--input-icon-padding)"
6538
+ },
6539
+ inputIconAfter: {
6540
+ pe: "var(--input-icon-padding)"
7100
6541
  }
7101
6542
  },
7102
6543
  lg: {
6544
+ container: {
6545
+ "--icon-size": "token(sizes.24)",
6546
+ "--icon-margin": "token(sizes.5)",
6547
+ "--input-icon-padding": "[34px]"
6548
+ },
7103
6549
  input: {
7104
- py: 7,
7105
- px: 12,
6550
+ py: "7",
6551
+ px: "12",
7106
6552
  fontSize: "16"
7107
6553
  },
7108
- icon: {
7109
- mx: "5",
7110
- w: "24"
6554
+ inputIconBefore: {
6555
+ ps: "var(--input-icon-padding)"
6556
+ },
6557
+ inputIconAfter: {
6558
+ pe: "var(--input-icon-padding)"
7111
6559
  }
7112
6560
  },
7113
6561
  xl: {
6562
+ container: {
6563
+ "--icon-size": "token(sizes.28)",
6564
+ "--icon-margin": "token(sizes.7)",
6565
+ "--input-icon-padding": "[42px]"
6566
+ },
7114
6567
  input: {
7115
- py: 9,
7116
- px: 16,
6568
+ py: "9",
6569
+ px: "16",
7117
6570
  fontSize: "20"
7118
6571
  },
7119
- icon: {
7120
- mx: "7",
7121
- w: "28"
6572
+ inputIconBefore: {
6573
+ ps: "var(--input-icon-padding)"
6574
+ },
6575
+ inputIconAfter: {
6576
+ pe: "var(--input-icon-padding)"
7122
6577
  }
7123
6578
  }
7124
6579
  },
@@ -7145,71 +6600,12 @@ const textInputVariants = {
7145
6600
  }
7146
6601
  }
7147
6602
  };
7148
- const textInputCompoundVariants = [
7149
- {
7150
- size: "md",
7151
- iconBefore: true,
7152
- css: {
7153
- input: { ps: "[31px]" }
7154
- }
7155
- },
7156
- {
7157
- size: "md",
7158
- iconAfter: true,
7159
- css: {
7160
- input: { pe: "[31px]" }
7161
- }
7162
- },
7163
- {
7164
- size: "sm",
7165
- iconBefore: true,
7166
- css: {
7167
- input: { ps: "[26px]" }
7168
- }
7169
- },
7170
- {
7171
- size: "sm",
7172
- iconAfter: true,
7173
- css: {
7174
- input: { pe: "[26px]" }
7175
- }
7176
- },
7177
- {
7178
- size: "lg",
7179
- iconBefore: true,
7180
- css: {
7181
- input: { ps: "[34px]" }
7182
- }
7183
- },
7184
- {
7185
- size: "lg",
7186
- iconAfter: true,
7187
- css: {
7188
- input: { pe: "[34px]" }
7189
- }
7190
- },
7191
- {
7192
- size: "xl",
7193
- iconBefore: true,
7194
- css: {
7195
- input: { ps: "[42px]" }
7196
- }
7197
- },
7198
- {
7199
- size: "xl",
7200
- iconAfter: true,
7201
- css: {
7202
- input: { pe: "[42px]" }
7203
- }
7204
- }
7205
- ];
7206
6603
  const textInputRecipe = defineSlotRecipe({
7207
6604
  className: "textInput",
7208
6605
  jsx: ["TextInput"],
7209
- slots: ["container", "input", "icon"],
6606
+ slots: ["container", "input", "icon", "inputIconBefore", "inputIconAfter"],
7210
6607
  base: textInputBase,
7211
6608
  variants: textInputVariants,
7212
- compoundVariants: textInputCompoundVariants,
7213
6609
  defaultVariants: {
7214
6610
  size: "md"
7215
6611
  }
@@ -7224,7 +6620,8 @@ const formFieldBase = {
7224
6620
  inputs: {
7225
6621
  display: "flex",
7226
6622
  flexDirection: "column",
7227
- gap: "2"
6623
+ gap: "8",
6624
+ mt: "4"
7228
6625
  },
7229
6626
  labelWrapper: {
7230
6627
  alignItems: "center",
@@ -7292,12 +6689,6 @@ const avatarRecipe = defineSlotRecipe({
7292
6689
  className: "avatar",
7293
6690
  jsx: ["Avatar"],
7294
6691
  slots: ["root", "image", "fallback", "presence", "status"],
7295
- staticCss: [
7296
- {
7297
- size: ["xs", "sm", "md", "lx", "xl", "2xl"],
7298
- shape: ["circle", "square", "hexagon"]
7299
- }
7300
- ],
7301
6692
  base: {
7302
6693
  root: {
7303
6694
  display: "inline-flex",
@@ -7313,7 +6704,7 @@ const avatarRecipe = defineSlotRecipe({
7313
6704
  },
7314
6705
  image: {
7315
6706
  w: "full",
7316
- h: "full",
6707
+ aspectRatio: "square",
7317
6708
  objectFit: "cover",
7318
6709
  overflow: "hidden"
7319
6710
  },
@@ -7322,7 +6713,7 @@ const avatarRecipe = defineSlotRecipe({
7322
6713
  alignItems: "center",
7323
6714
  justifyContent: "center",
7324
6715
  w: "full",
7325
- h: "full",
6716
+ aspectRatio: "square",
7326
6717
  fontFamily: "body",
7327
6718
  fontWeight: "medium",
7328
6719
  textTransform: "uppercase",
@@ -7332,6 +6723,7 @@ const avatarRecipe = defineSlotRecipe({
7332
6723
  position: "absolute",
7333
6724
  bottom: "0",
7334
6725
  right: "0",
6726
+ aspectRatio: "square",
7335
6727
  borderRadius: "100",
7336
6728
  borderWidth: "1",
7337
6729
  borderStyle: "solid",
@@ -7342,6 +6734,7 @@ const avatarRecipe = defineSlotRecipe({
7342
6734
  position: "absolute",
7343
6735
  top: "0",
7344
6736
  right: "0",
6737
+ aspectRatio: "square",
7345
6738
  display: "flex",
7346
6739
  alignItems: "center",
7347
6740
  justifyContent: "center",
@@ -7356,104 +6749,86 @@ const avatarRecipe = defineSlotRecipe({
7356
6749
  size: {
7357
6750
  xs: {
7358
6751
  root: {
7359
- w: "16",
7360
- h: "16"
6752
+ w: "16"
7361
6753
  },
7362
6754
  fallback: {
7363
6755
  fontSize: "8"
7364
6756
  },
7365
6757
  presence: {
7366
- w: "6",
7367
- h: "6"
6758
+ w: "6"
7368
6759
  },
7369
6760
  status: {
7370
- w: "8",
7371
- h: "8"
6761
+ w: "8"
7372
6762
  }
7373
6763
  },
7374
6764
  sm: {
7375
6765
  root: {
7376
- w: "20",
7377
- h: "20"
6766
+ w: "20"
7378
6767
  },
7379
6768
  fallback: {
7380
6769
  fontSize: "10"
7381
6770
  },
7382
6771
  presence: {
7383
- w: "8",
7384
- h: "8"
6772
+ w: "8"
7385
6773
  },
7386
6774
  status: {
7387
- w: "10",
7388
- h: "10"
6775
+ w: "10"
7389
6776
  }
7390
6777
  },
7391
6778
  md: {
7392
6779
  root: {
7393
- w: "24",
7394
- h: "24"
6780
+ w: "24"
7395
6781
  },
7396
6782
  fallback: {
7397
6783
  fontSize: "12"
7398
6784
  },
7399
6785
  presence: {
7400
- w: "8",
7401
- h: "8"
6786
+ w: "8"
7402
6787
  },
7403
6788
  status: {
7404
- w: "10",
7405
- h: "10"
6789
+ w: "10"
7406
6790
  }
7407
6791
  },
7408
6792
  lg: {
7409
6793
  root: {
7410
- w: "32",
7411
- h: "32"
6794
+ w: "28"
7412
6795
  },
7413
6796
  fallback: {
7414
6797
  fontSize: "14"
7415
6798
  },
7416
6799
  presence: {
7417
- w: "10",
7418
- h: "10"
6800
+ w: "10"
7419
6801
  },
7420
6802
  status: {
7421
- w: "12",
7422
- h: "12"
6803
+ w: "12"
7423
6804
  }
7424
6805
  },
7425
6806
  xl: {
7426
6807
  root: {
7427
- w: "48",
7428
- h: "48"
6808
+ w: "36"
7429
6809
  },
7430
6810
  fallback: {
7431
6811
  fontSize: "20"
7432
6812
  },
7433
6813
  presence: {
7434
- w: "12",
7435
- h: "12"
6814
+ w: "12"
7436
6815
  },
7437
6816
  status: {
7438
- w: "16",
7439
- h: "16"
6817
+ w: "16"
7440
6818
  }
7441
6819
  },
7442
6820
  "2xl": {
7443
6821
  root: {
7444
- w: "64",
7445
- h: "64"
6822
+ w: "48"
7446
6823
  },
7447
6824
  fallback: {
7448
6825
  fontSize: "24"
7449
6826
  },
7450
6827
  presence: {
7451
- w: "14",
7452
- h: "14"
6828
+ w: "14"
7453
6829
  },
7454
6830
  status: {
7455
- w: "20",
7456
- h: "20"
6831
+ w: "20"
7457
6832
  }
7458
6833
  }
7459
6834
  },
@@ -7496,6 +6871,7 @@ const badgeRecipe = defineSlotRecipe({
7496
6871
  base: {
7497
6872
  root: {
7498
6873
  ...globalBaseStyles,
6874
+ "--indicator-min-width": "token(sizes.16)",
7499
6875
  display: "inline-flex",
7500
6876
  position: "relative",
7501
6877
  verticalAlign: "middle"
@@ -7504,6 +6880,7 @@ const badgeRecipe = defineSlotRecipe({
7504
6880
  display: "inline-flex",
7505
6881
  alignItems: "center",
7506
6882
  justifyContent: "center",
6883
+ h: "fit",
7507
6884
  borderRadius: "999",
7508
6885
  fontWeight: "medium",
7509
6886
  fontFamily: "body",
@@ -7517,24 +6894,35 @@ const badgeRecipe = defineSlotRecipe({
7517
6894
  size: {
7518
6895
  sm: {
7519
6896
  indicator: {
7520
- h: "6",
6897
+ "--indicator-min-width": "token(sizes.16)",
6898
+ minH: "6",
7521
6899
  fontSize: "10",
7522
6900
  p: "3"
7523
6901
  }
7524
6902
  },
7525
6903
  md: {
7526
6904
  indicator: {
7527
- h: "8",
6905
+ "--indicator-min-width": "token(sizes.20)",
6906
+ minH: "8",
7528
6907
  fontSize: "12",
7529
6908
  p: "4"
7530
6909
  }
7531
6910
  },
7532
6911
  lg: {
7533
6912
  indicator: {
7534
- h: "10",
6913
+ "--indicator-min-width": "token(sizes.24)",
6914
+ minH: "10",
7535
6915
  fontSize: "14",
7536
6916
  p: "5"
7537
6917
  }
6918
+ },
6919
+ xl: {
6920
+ indicator: {
6921
+ "--indicator-min-width": "token(sizes.28)",
6922
+ minH: "12",
6923
+ fontSize: "16",
6924
+ p: "6"
6925
+ }
7538
6926
  }
7539
6927
  },
7540
6928
  // When standalone (no children), don't use absolute positioning
@@ -7545,7 +6933,8 @@ const badgeRecipe = defineSlotRecipe({
7545
6933
  },
7546
6934
  indicator: {
7547
6935
  position: "static",
7548
- transform: "none"
6936
+ transform: "none",
6937
+ h: "fit"
7549
6938
  }
7550
6939
  },
7551
6940
  false: {
@@ -7558,20 +6947,18 @@ const badgeRecipe = defineSlotRecipe({
7558
6947
  position: "absolute",
7559
6948
  top: "0",
7560
6949
  right: "0",
7561
- transform: "translate(50%, -50%)"
6950
+ transform: "translate(50%, -50%)",
6951
+ h: "fit"
7562
6952
  }
7563
6953
  }
7564
6954
  },
7565
6955
  // Dot mode: smaller, no text
7566
6956
  dot: {
7567
- true: {
7568
- indicator: {
7569
- // Dot mode styles handled by base + size variants
7570
- }
7571
- },
6957
+ true: {},
7572
6958
  false: {
7573
6959
  indicator: {
7574
- // Count mode - compound variants handle sizing
6960
+ h: "fit",
6961
+ minW: "var(--indicator-min-width)"
7575
6962
  }
7576
6963
  }
7577
6964
  },
@@ -7627,233 +7014,423 @@ const badgeRecipe = defineSlotRecipe({
7627
7014
  }
7628
7015
  }
7629
7016
  },
7630
- compoundVariants: [
7631
- // Count mode sizes (smaller than count mode)
7632
- {
7633
- dot: false,
7634
- size: "sm",
7635
- css: {
7636
- indicator: {
7637
- minW: "16",
7638
- h: "fit"
7017
+ defaultVariants: {
7018
+ size: "md",
7019
+ variant: "danger"
7020
+ }
7021
+ });
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",
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",
7081
+ bg: "bg.disabled",
7082
+ 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"
7639
7098
  }
7640
7099
  }
7641
7100
  },
7642
- {
7643
- dot: false,
7644
- size: "md",
7645
- css: {
7646
- indicator: {
7647
- minW: "20",
7648
- h: "fit"
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"
7125
+ },
7126
+ ".group:is(:hover, [data-hover])[data-selected=true] &": {
7127
+ fill: "icon.decorative.inverse.hovered"
7128
+ }
7129
+ }
7130
+ },
7131
+ variants: {
7132
+ size: {
7133
+ sm: {
7134
+ 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"
7147
+ }
7148
+ },
7149
+ md: {
7150
+ 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"
7163
+ }
7164
+ },
7165
+ lg: {
7166
+ 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"
7649
7179
  }
7650
7180
  }
7651
7181
  },
7652
- {
7653
- dot: false,
7654
- size: "lg",
7655
- css: {
7656
- indicator: {
7657
- minW: "24",
7658
- h: "fit"
7182
+ before: {
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
+ }
7197
+ },
7198
+ after: {
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)"
7659
7211
  }
7660
7212
  }
7661
7213
  }
7662
- ],
7214
+ },
7663
7215
  defaultVariants: {
7664
- size: "md",
7665
- variant: "danger"
7216
+ size: "md"
7666
7217
  }
7667
7218
  });
7668
- const chipBase = {
7669
- container: {
7670
- ...globalBaseStyles,
7671
- position: "relative",
7672
- display: "inline-flex",
7673
- alignItems: "center",
7674
- appearance: "none",
7675
- width: "fit",
7676
- borderRadius: "999",
7677
- fontFamily: "body",
7678
- lineHeight: "default",
7679
- fontWeight: "medium",
7680
- whiteSpace: "nowrap",
7681
- verticalAlign: "middle",
7682
- cursor: "pointer",
7683
- transitionDuration: "fast",
7684
- transitionProperty: "background, color",
7685
- transitionTimingFunction: "default",
7686
- userSelect: "none",
7687
- border: "none",
7688
- outlineWidth: 2,
7689
- outlineStyle: "solid",
7690
- outlineColor: "transparent",
7691
- bg: "bg.neutral",
7692
- color: "text",
7693
- _hover: {
7694
- bg: "bg.neutral.hovered"
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"
7268
+ }
7695
7269
  },
7696
- _active: {
7697
- bg: "bg.neutral.pressed"
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)"
7278
+ },
7279
+ itemMain: {
7280
+ display: "flex",
7281
+ flexDirection: "column",
7282
+ gap: "0",
7283
+ minWidth: "0"
7698
7284
  },
7699
- _focusVisible: {
7700
- outlineColor: "border.focused"
7285
+ itemLabel: {
7286
+ color: "text",
7287
+ fontSize: "var(--list-item-label-size)"
7701
7288
  },
7702
- _loading: {
7703
- cursor: "wait",
7704
- animation: "pulse"
7289
+ itemDescription: {
7290
+ color: "text.subtlest",
7291
+ fontSize: "var(--list-item-description-size)",
7292
+ lineHeight: "tight"
7705
7293
  },
7706
- _deleted: {
7707
- textDecoration: "line-through",
7708
- cursor: "not-allowed",
7709
- opacity: 0.6
7294
+ beforeSlot: {
7295
+ ms: "calc(var(--list-item-slot-margin) * -1)"
7710
7296
  },
7711
- _disabled: {
7712
- cursor: "not-allowed",
7713
- bg: "bg.disabled",
7714
- color: "text.disabled",
7715
- borderColor: "border.disabled",
7716
- _hover: {
7717
- bg: "bg.disabled",
7718
- color: "text.disabled",
7719
- borderColor: "border.disabled",
7720
- chipIcon: { fill: "icon.disabled" }
7721
- }
7297
+ afterSlot: {
7298
+ me: "calc(var(--list-item-slot-margin) * -1)"
7722
7299
  },
7723
- _selected: {
7724
- bg: "bg.neutral.boldest",
7725
- color: "text.inverse",
7726
- // chipIcon: { fill: 'icon.decorative.inverse' },
7727
- _hover: {
7728
- bg: "bg.neutral.bold.hovered"
7729
- // chipIcon: { fill: 'icon.inverse' },
7730
- },
7731
- _active: {
7732
- bg: "bg.neutral.bold.pressed"
7733
- // chipIcon: { fill: 'icon.inverse' },
7734
- }
7300
+ divider: {
7301
+ width: "full",
7302
+ py: "var(--list-item-padding-y)",
7303
+ px: "var(--list-item-padding-x)"
7735
7304
  }
7736
7305
  },
7737
- chipIcon: {
7738
- fill: "icon.decorative",
7739
- aspectRatio: "square",
7740
- transitionDuration: "fast",
7741
- transitionProperty: "fill",
7742
- transitionTimingFunction: "default",
7743
- _groupHover: { fill: "icon.decorative.hovered" },
7744
- _groupActive: { fill: "icon.decorative.hovered" },
7745
- _groupDisabled: { fill: "icon.decorative" },
7746
- "[data-selected=true] &": {
7747
- fill: "icon.decorative.inverse"
7748
- },
7749
- ".group:is(:hover, [data-hover])[data-selected=true] &": {
7750
- fill: "icon.decorative.inverse.hovered"
7751
- }
7752
- }
7753
- };
7754
- const chipRecipe = defineSlotRecipe({
7755
- className: "chip",
7756
- jsx: ["Chip"],
7757
- slots: ["container", "chipIcon"],
7758
- base: chipBase,
7759
7306
  variants: {
7760
- size: {
7761
- md: {
7762
- container: {
7763
- gap: "4",
7764
- h: "24",
7765
- px: "8",
7766
- py: "1",
7767
- fontSize: "14"
7768
- },
7769
- chipIcon: {
7770
- w: "20",
7771
- h: "20"
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
+ }
7772
7329
  }
7773
7330
  },
7774
- sm: {
7775
- container: {
7776
- gap: "2",
7777
- h: "20",
7778
- px: "6",
7779
- py: "0",
7780
- fontSize: "14"
7781
- },
7782
- chipIcon: {
7783
- w: "20",
7784
- h: "20"
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
+ }
7785
7351
  }
7786
7352
  },
7787
- lg: {
7788
- container: {
7789
- gap: "4",
7790
- h: "32",
7791
- px: "10",
7792
- py: "4",
7793
- fontSize: "16"
7794
- },
7795
- chipIcon: {
7796
- w: "24",
7797
- h: "24"
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
+ }
7798
7369
  }
7799
- }
7370
+ },
7371
+ false: {}
7800
7372
  },
7801
- before: {
7802
- true: { container: {} }
7373
+ iconBefore: {
7374
+ true: {},
7375
+ false: {}
7803
7376
  },
7804
- after: {
7805
- true: { container: {} }
7377
+ iconAfter: {
7378
+ true: {},
7379
+ false: {}
7806
7380
  }
7807
7381
  },
7808
- compoundVariants: [
7809
- {
7810
- size: "md",
7811
- before: true,
7812
- css: {
7813
- container: { ps: "2" }
7814
- }
7815
- },
7816
- {
7817
- size: "md",
7818
- after: true,
7819
- css: {
7820
- container: { pe: "2" }
7821
- }
7822
- },
7823
- {
7824
- size: "sm",
7825
- before: true,
7826
- css: {
7827
- container: { ps: "2" }
7828
- }
7829
- },
7830
- {
7831
- size: "sm",
7832
- after: true,
7833
- css: {
7834
- container: { pe: "2" }
7835
- }
7382
+ defaultVariants: {
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"
7836
7394
  },
7837
- {
7838
- size: "lg",
7839
- before: true,
7840
- css: {
7841
- container: { ps: "4" }
7842
- }
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"
7843
7405
  },
7844
- {
7845
- size: "lg",
7846
- after: true,
7847
- css: {
7848
- container: { pe: "4" }
7849
- }
7406
+ divider: {
7407
+ my: "var(--list-group-divider-margin-y)",
7408
+ mx: "var(--list-group-divider-margin-x)"
7850
7409
  }
7851
- ],
7410
+ },
7411
+ variants: {
7412
+ density: listDensityWrapperVars
7413
+ },
7852
7414
  defaultVariants: {
7853
- size: "md"
7415
+ density: "compact"
7854
7416
  }
7855
7417
  });
7856
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
+ },
7857
7434
  overlay: {
7858
7435
  position: "fixed",
7859
7436
  inset: "0",
@@ -7869,26 +7446,15 @@ const modalBase = {
7869
7446
  },
7870
7447
  container: {
7871
7448
  ...globalBaseStyles,
7872
- position: "fixed",
7873
- top: "50%",
7874
- left: "50%",
7875
7449
  display: "flex",
7876
7450
  flexDirection: "column",
7877
- width: "full",
7878
- maxHeight: "95vh",
7451
+ maxW: "calc(100vw - (2 * var(--wrapper-p)))",
7452
+ maxH: "calc(100vh - (2 * var(--wrapper-p)))",
7879
7453
  bg: "surface.overlay",
7880
7454
  borderRadius: "12",
7881
7455
  boxShadow: "overlay",
7882
7456
  outline: "none",
7883
- zIndex: 1101,
7884
- // Initial state matches animation start
7885
- opacity: "0",
7886
- transform: "translate(-50%, -50%) scale(0.95) translateY(-10px)",
7887
- // Animation handled via data-state
7888
- animation: "modalScaleIn 150ms ease-out forwards",
7889
- '&[data-state="closing"]': {
7890
- animation: "modalScaleOut 150ms ease-out forwards"
7891
- }
7457
+ zIndex: 1101
7892
7458
  },
7893
7459
  header: {
7894
7460
  display: "flex",
@@ -7926,60 +7492,82 @@ const modalBase = {
7926
7492
  borderTop: "default"
7927
7493
  }
7928
7494
  };
7495
+ const mobile = {
7496
+ xsDown: {
7497
+ width: "100vw",
7498
+ height: "100vh",
7499
+ maxWidth: "100vw",
7500
+ maxHeight: "100vh",
7501
+ borderRadius: "0"
7502
+ }
7503
+ };
7929
7504
  const modalVariants = {
7930
7505
  size: {
7931
7506
  sm: {
7932
7507
  container: {
7933
- maxWidth: "md"
7508
+ w: "md",
7509
+ ...mobile
7934
7510
  }
7935
7511
  },
7936
7512
  md: {
7937
7513
  container: {
7938
- maxWidth: "xl"
7514
+ w: "xl",
7515
+ ...mobile
7939
7516
  }
7940
7517
  },
7941
7518
  lg: {
7942
7519
  container: {
7943
- maxWidth: "3xl"
7520
+ w: "3xl",
7521
+ ...mobile
7944
7522
  }
7945
7523
  },
7946
7524
  xl: {
7947
7525
  container: {
7948
- maxWidth: "5xl"
7526
+ w: "5xl",
7527
+ ...mobile
7949
7528
  }
7950
7529
  },
7951
7530
  full: {
7952
7531
  container: {
7953
- maxWidth: "95vw"
7532
+ w: "95vw",
7533
+ ...mobile
7954
7534
  }
7955
7535
  },
7956
- mobile: {
7536
+ fullPage: {
7537
+ positionWrapper: {
7538
+ "--wrapper-p": "token(sizes.0)"
7539
+ },
7957
7540
  container: {
7958
- width: "full",
7959
- height: "full",
7960
- maxWidth: "100vw",
7961
- maxHeight: "100vh",
7962
- borderRadius: "0"
7541
+ w: "100vw",
7542
+ h: "100vh",
7543
+ maxW: "100vw",
7544
+ maxH: "100vh",
7545
+ borderRadius: "0",
7546
+ ...mobile
7963
7547
  }
7964
7548
  }
7965
7549
  },
7966
- variant: {
7967
- default: {
7550
+ position: {
7551
+ centered: {
7552
+ positionWrapper: {
7553
+ placeContent: "center"
7554
+ },
7968
7555
  container: {
7969
- xsDown: {
7970
- width: "full",
7971
- height: "full",
7972
- maxWidth: "100vw",
7973
- maxHeight: "100vh",
7974
- borderRadius: "0"
7556
+ animation: "modalScaleIn 150ms ease-out forwards",
7557
+ '&[data-state="closing"]': {
7558
+ animation: "modalScaleOut 150ms ease-out forwards"
7975
7559
  }
7976
7560
  }
7977
7561
  },
7978
- confirmation: {
7562
+ top: {
7563
+ positionWrapper: {
7564
+ placeContent: "start center"
7565
+ },
7979
7566
  container: {
7980
- height: "fit",
7981
- width: "md",
7982
- maxWidth: "90vw"
7567
+ animation: "modalScaleInTop 150ms ease-out forwards",
7568
+ '&[data-state="closing"]': {
7569
+ animation: "modalScaleOutTop 150ms ease-out forwards"
7570
+ }
7983
7571
  }
7984
7572
  }
7985
7573
  }
@@ -7988,6 +7576,7 @@ const modalRecipe = defineSlotRecipe({
7988
7576
  className: "modal",
7989
7577
  jsx: ["Modal", "ModalHeader", "ModalBody", "ModalFooter"],
7990
7578
  slots: [
7579
+ "positionWrapper",
7991
7580
  "overlay",
7992
7581
  "container",
7993
7582
  "header",
@@ -7999,8 +7588,8 @@ const modalRecipe = defineSlotRecipe({
7999
7588
  base: modalBase,
8000
7589
  variants: modalVariants,
8001
7590
  defaultVariants: {
8002
- variant: "default",
8003
- size: "md"
7591
+ size: "md",
7592
+ position: "centered"
8004
7593
  }
8005
7594
  });
8006
7595
  const datePickerBase = {
@@ -8172,24 +7761,31 @@ const datePickerVariants = {
8172
7761
  size: {
8173
7762
  sm: {
8174
7763
  input: {
8175
- py: 0,
8176
- px: 8,
7764
+ py: "0",
7765
+ px: "8",
8177
7766
  fontSize: "14"
8178
7767
  }
8179
7768
  },
8180
7769
  md: {
8181
7770
  input: {
8182
- py: 3,
8183
- px: 10,
7771
+ py: "3",
7772
+ px: "10",
8184
7773
  fontSize: "16"
8185
7774
  }
8186
7775
  },
8187
7776
  lg: {
8188
7777
  input: {
8189
- py: 7,
8190
- px: 12,
7778
+ py: "7",
7779
+ px: "12",
8191
7780
  fontSize: "16"
8192
7781
  }
7782
+ },
7783
+ xl: {
7784
+ input: {
7785
+ py: "9",
7786
+ px: "16",
7787
+ fontSize: "20"
7788
+ }
8193
7789
  }
8194
7790
  }
8195
7791
  };
@@ -8364,24 +7960,31 @@ const timePickerVariants = {
8364
7960
  size: {
8365
7961
  sm: {
8366
7962
  input: {
8367
- py: 0,
8368
- px: 8,
7963
+ py: "0",
7964
+ px: "8",
8369
7965
  fontSize: "14"
8370
7966
  }
8371
7967
  },
8372
7968
  md: {
8373
7969
  input: {
8374
- py: 3,
8375
- px: 10,
7970
+ py: "3",
7971
+ px: "10",
8376
7972
  fontSize: "16"
8377
7973
  }
8378
7974
  },
8379
7975
  lg: {
8380
7976
  input: {
8381
- py: 7,
8382
- px: 12,
7977
+ py: "7",
7978
+ px: "12",
8383
7979
  fontSize: "16"
8384
7980
  }
7981
+ },
7982
+ xl: {
7983
+ input: {
7984
+ py: "9",
7985
+ px: "16",
7986
+ fontSize: "20"
7987
+ }
8385
7988
  }
8386
7989
  }
8387
7990
  };
@@ -8448,6 +8051,57 @@ const breadcrumbsRecipe = defineSlotRecipe({
8448
8051
  }
8449
8052
  }
8450
8053
  });
8054
+ const kbdRecipe = defineSlotRecipe({
8055
+ className: "kbd",
8056
+ slots: ["kbdGroup", "key"],
8057
+ base: {
8058
+ kbdGroup: {
8059
+ display: "inline-flex",
8060
+ alignItems: "center",
8061
+ flexWrap: "wrap",
8062
+ gap: "2",
8063
+ verticalAlign: "middle"
8064
+ },
8065
+ key: {
8066
+ display: "inline-flex",
8067
+ alignItems: "center",
8068
+ justifyContent: "center",
8069
+ gap: "1",
8070
+ h: "16",
8071
+ w: "fit",
8072
+ minW: "16",
8073
+ rounded: "6",
8074
+ cornerShape: "squircle",
8075
+ bg: "bg.neutral",
8076
+ px: "4",
8077
+ fontFamily: "mono",
8078
+ fontVariant: "mono",
8079
+ lineHeight: "tight",
8080
+ fontWeight: "bold",
8081
+ color: "text.subtle",
8082
+ userSelect: "none",
8083
+ pointerEvents: "none",
8084
+ fontSize: "10"
8085
+ }
8086
+ },
8087
+ variants: {
8088
+ variant: {
8089
+ default: {
8090
+ key: {
8091
+ fontSize: "10"
8092
+ }
8093
+ },
8094
+ symbol: {
8095
+ key: {
8096
+ fontSize: "12"
8097
+ }
8098
+ }
8099
+ }
8100
+ },
8101
+ defaultVariants: {
8102
+ variant: "default"
8103
+ }
8104
+ });
8451
8105
  const slotRecipes = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
8452
8106
  __proto__: null,
8453
8107
  avatarRecipe,
@@ -8459,6 +8113,9 @@ const slotRecipes = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineP
8459
8113
  datePickerRecipe,
8460
8114
  formFieldRecipe,
8461
8115
  iconButtonRecipe,
8116
+ kbdRecipe,
8117
+ listItemGroupRecipe,
8118
+ listItemRecipe,
8462
8119
  menuRecipe,
8463
8120
  modalRecipe,
8464
8121
  radioRecipe,
@@ -9723,4 +9380,4 @@ export {
9723
9380
  breakpoints as b,
9724
9381
  containerSizes as c
9725
9382
  };
9726
- //# sourceMappingURL=cetec-preset-kUkA_FyU.js.map
9383
+ //# sourceMappingURL=cetec-preset-BB-QcJUK.js.map