@ttoss/theme 1.4.23 → 1.4.25

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.
@@ -77,6 +77,7 @@ import chevronUpIcon from "@iconify/icons-carbon/chevron-up";
77
77
  import closeFilledIcon from "@iconify/icons-carbon/close-filled";
78
78
  import closeIcon from "@iconify/icons-carbon/close";
79
79
  import copyIcon from "@iconify/icons-carbon/copy";
80
+ import editIcon from "@iconify/icons-carbon/edit";
80
81
  import errorFilledIcon from "@iconify/icons-carbon/error-filled";
81
82
  import informationFilledIcon from "@iconify/icons-carbon/information-filled";
82
83
  import pasteIcon from "@iconify/icons-carbon/paste";
@@ -120,6 +121,7 @@ addIcon("check", checkMarkIcon);
120
121
  addIcon("check-mark", checkMarkOutlineIcon);
121
122
  addIcon("close", closeIcon);
122
123
  addIcon("copy", copyIcon);
124
+ addIcon("edit", editIcon);
123
125
  addIcon("delete", trashCanIcon);
124
126
  addIcon("error", errorFilledIcon);
125
127
  addIcon("info", informationFilledIcon);
@@ -185,6 +187,17 @@ var letterSpacings = {
185
187
  widest: "0.1em"
186
188
  };
187
189
 
190
+ // src/tokens/lineHeights.ts
191
+ var lineHeights = {
192
+ "2xs": "0.422",
193
+ xs: "0.562",
194
+ sm: "calc(1 / 1.333)",
195
+ base: "normal",
196
+ lg: "calc(1 * 1.333)",
197
+ xl: "1.776",
198
+ "2xl": "2.368"
199
+ };
200
+
188
201
  // src/tokens/space.ts
189
202
  var space = {
190
203
  none: 0,
@@ -263,6 +276,7 @@ var BruttalTheme = {
263
276
  fontWeights,
264
277
  letterSpacings,
265
278
  space,
279
+ lineHeights,
266
280
  colors: {
267
281
  background: coreColors.white,
268
282
  text: coreColors.black,
@@ -300,13 +314,15 @@ var BruttalTheme = {
300
314
  h6: coreFonts.contrast,
301
315
  body: coreFonts.main,
302
316
  highlight: coreFonts.main,
303
- caption: coreFonts.monospace
317
+ caption: coreFonts.main
304
318
  },
305
319
  borders: {
306
- default: coreBorders.medium,
320
+ default: coreBorders.thin,
321
+ secondary: coreBorders.medium,
307
322
  muted: coreBorders.thin,
308
323
  interaction: coreBorders.medium,
309
- danger: coreBorders.medium
324
+ danger: coreBorders.medium,
325
+ highlight: coreBorders.medium
310
326
  },
311
327
  radii: {
312
328
  informative: coreRadii.xs,
@@ -344,6 +360,7 @@ var BruttalTheme = {
344
360
  bg: "positive",
345
361
  fontFamily: "caption",
346
362
  fontWeight: "normal",
363
+ lineHeight: "base",
347
364
  fontSize: "xs",
348
365
  paddingX: "xs",
349
366
  paddingY: "2xs",
@@ -354,6 +371,7 @@ var BruttalTheme = {
354
371
  bg: "danger",
355
372
  fontFamily: "caption",
356
373
  fontWeight: "normal",
374
+ lineHeight: "base",
357
375
  fontSize: "xs",
358
376
  paddingX: "xs",
359
377
  paddingY: "2xs",
@@ -365,6 +383,7 @@ var BruttalTheme = {
365
383
  fontFamily: "caption",
366
384
  fontSize: "xs",
367
385
  fontWeight: "normal",
386
+ lineHeight: "base",
368
387
  paddingX: "xs",
369
388
  paddingY: "2xs",
370
389
  borderRadius: "informative",
@@ -376,6 +395,7 @@ var BruttalTheme = {
376
395
  bg: "notice",
377
396
  fontFamily: "caption",
378
397
  fontWeight: "normal",
398
+ lineHeight: "base",
379
399
  fontSize: "xs",
380
400
  paddingX: "xs",
381
401
  paddingY: "2xs",
@@ -389,14 +409,13 @@ var BruttalTheme = {
389
409
  borderRadius: "action",
390
410
  borderColor: "accent",
391
411
  ":hover:not(:active,[disabled])": {
392
- backgroundColor: "highlight",
393
- color: "onHighlight",
394
- borderColor: "highlight"
412
+ filter: "brightness(90%)"
395
413
  },
396
414
  ":disabled": {
397
415
  cursor: "default",
398
416
  backgroundColor: "muted",
399
- borderColor: "muted"
417
+ borderColor: "muted",
418
+ color: "onMuted"
400
419
  }
401
420
  },
402
421
  primary: {
@@ -405,9 +424,7 @@ var BruttalTheme = {
405
424
  borderRadius: "action",
406
425
  borderColor: "primary",
407
426
  ":hover:not(:active,[disabled])": {
408
- backgroundColor: "highlight",
409
- color: "onHighlight",
410
- borderColor: "highlight"
427
+ filter: "brightness(90%)"
411
428
  },
412
429
  ":active": {
413
430
  backgroundColor: "primary",
@@ -417,59 +434,63 @@ var BruttalTheme = {
417
434
  ":disabled": {
418
435
  cursor: "default",
419
436
  backgroundColor: "muted",
420
- borderColor: "muted"
437
+ borderColor: "muted",
438
+ color: "onMuted"
421
439
  }
422
440
  },
423
441
  secondary: {
424
442
  backgroundColor: "secondary",
425
443
  color: "onSecondary",
426
444
  borderRadius: "action",
427
- borderColor: "secondary",
445
+ border: "secondary",
446
+ borderColor: "onSecondary",
428
447
  ":hover:not(:active,[disabled])": {
429
- backgroundColor: "highlight",
430
- color: "onHighlight",
431
- borderColor: "highlight"
448
+ filter: "brightness(90%)"
432
449
  },
433
450
  ":disabled": {
434
451
  cursor: "default",
435
452
  backgroundColor: "muted",
436
- borderColor: "muted"
453
+ borderColor: "muted",
454
+ color: "onMuted"
437
455
  }
438
456
  },
439
- neutral: {
440
- backgroundColor: "muted",
441
- color: "onMuted",
442
- borderRadius: "action",
443
- borderColor: "muted",
457
+ destructive: {
458
+ color: "onDanger",
459
+ backgroundColor: "danger",
444
460
  ":hover:not(:active,[disabled])": {
445
- backgroundColor: "highlight",
446
- color: "onHighlight",
447
- borderColor: "highlight"
461
+ filter: "brightness(90%)"
448
462
  },
449
463
  ":disabled": {
450
464
  cursor: "default",
451
465
  backgroundColor: "muted",
452
- borderColor: "muted"
466
+ borderColor: "muted",
467
+ color: "onMuted"
453
468
  }
454
469
  },
455
- danger: {
456
- color: "onDanger",
457
- backgroundColor: "danger"
458
- },
459
470
  closeButton: {
460
- backgroundColor: "transparent",
461
- color: "text",
471
+ backgroundColor: "background",
472
+ fontFamily: "caption",
473
+ color: "primary",
462
474
  fontSize: "xs",
463
475
  display: "inline-flex",
464
476
  alignItems: "center",
465
477
  cursor: "pointer",
478
+ gap: "sm",
479
+ padding: "sm",
480
+ border: "default",
481
+ borderColor: "primary",
482
+ width: "fit-content",
466
483
  ":disabled": {
467
- color: "muted",
484
+ border: "muted",
485
+ backgroundColor: "muted",
486
+ color: "onMuted",
468
487
  cursor: "not-allowed"
469
488
  },
470
489
  ":is(:focus-within, :hover):not(:disabled)": {
471
- color: "accent",
472
- outlineColor: "transparent"
490
+ color: "onHighlight",
491
+ backgroundColor: "highlight",
492
+ border: "highlight",
493
+ borderColor: "highlight"
473
494
  }
474
495
  }
475
496
  },
@@ -488,6 +509,7 @@ var BruttalTheme = {
488
509
  label: {
489
510
  color: "text",
490
511
  fontFamily: "body",
512
+ alignItems: "center",
491
513
  '&:is([aria-disabled="true"])': {
492
514
  color: "onMuted"
493
515
  },
@@ -514,9 +536,15 @@ var BruttalTheme = {
514
536
  },
515
537
  'input[aria-invalid="true"] ~ &': {
516
538
  color: "danger"
539
+ },
540
+ "input:focus ~ &": {
541
+ bg: "transparent"
517
542
  }
518
543
  },
519
544
  checkbox: {
545
+ "input:focus ~ &": {
546
+ bg: "transparent"
547
+ },
520
548
  "input:not(:checked) ~ &": {
521
549
  color: "primary"
522
550
  },
@@ -547,8 +575,8 @@ var BruttalTheme = {
547
575
  },
548
576
  ":disabled": {
549
577
  backgroundColor: "muted",
550
- borderColor: "onMuted",
551
- border: "muted"
578
+ border: "muted",
579
+ borderColor: "onMuted"
552
580
  },
553
581
  "&.error": {
554
582
  borderColor: "danger"
@@ -566,8 +594,8 @@ var BruttalTheme = {
566
594
  paddingY: "lg",
567
595
  paddingX: "xl",
568
596
  ":disabled": {
569
- borderColor: "onMuted",
570
597
  border: "muted",
598
+ borderColor: "onMuted",
571
599
  color: "muted"
572
600
  },
573
601
  ":disabled ~ span > iconify-icon": {
package/dist/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /** Powered by @ttoss/config. https://ttoss.dev/docs/modules/packages/config/ */
2
- import { BruttalTheme } from "./chunk-ZHO2ZEWA.js";
2
+ import { BruttalTheme } from "./chunk-AHVGJFKI.js";
3
3
 
4
4
  // src/createTheme.ts
5
5
  import deepmerge from "deepmerge";
@@ -1,3 +1,3 @@
1
1
  /** Powered by @ttoss/config. https://ttoss.dev/docs/modules/packages/config/ */
2
- import { BruttalFonts, BruttalTheme } from "../../chunk-ZHO2ZEWA.js";
2
+ import { BruttalFonts, BruttalTheme } from "../../chunk-AHVGJFKI.js";
3
3
  export { BruttalFonts, BruttalTheme };
package/dist/index.js CHANGED
@@ -93,6 +93,7 @@ var import_chevron_up = __toESM(require("@iconify/icons-carbon/chevron-up"));
93
93
  var import_close_filled = __toESM(require("@iconify/icons-carbon/close-filled"));
94
94
  var import_close = __toESM(require("@iconify/icons-carbon/close"));
95
95
  var import_copy = __toESM(require("@iconify/icons-carbon/copy"));
96
+ var import_edit = __toESM(require("@iconify/icons-carbon/edit"));
96
97
  var import_error_filled = __toESM(require("@iconify/icons-carbon/error-filled"));
97
98
  var import_information_filled = __toESM(require("@iconify/icons-carbon/information-filled"));
98
99
  var import_loading = __toESM(require_loading());
@@ -138,6 +139,7 @@ var subtractIcon = {
138
139
  (0, import_react.addIcon)("check-mark", import_checkmark_outline.default);
139
140
  (0, import_react.addIcon)("close", import_close.default);
140
141
  (0, import_react.addIcon)("copy", import_copy.default);
142
+ (0, import_react.addIcon)("edit", import_edit.default);
141
143
  (0, import_react.addIcon)("delete", import_trash_can.default);
142
144
  (0, import_react.addIcon)("error", import_error_filled.default);
143
145
  (0, import_react.addIcon)("info", import_information_filled.default);
@@ -200,6 +202,17 @@ var letterSpacings = {
200
202
  widest: "0.1em"
201
203
  };
202
204
 
205
+ // src/tokens/lineHeights.ts
206
+ var lineHeights = {
207
+ "2xs": "0.422",
208
+ xs: "0.562",
209
+ sm: "calc(1 / 1.333)",
210
+ base: "normal",
211
+ lg: "calc(1 * 1.333)",
212
+ xl: "1.776",
213
+ "2xl": "2.368"
214
+ };
215
+
203
216
  // src/tokens/space.ts
204
217
  var space = {
205
218
  none: 0,
@@ -278,6 +291,7 @@ var BruttalTheme = {
278
291
  fontWeights,
279
292
  letterSpacings,
280
293
  space,
294
+ lineHeights,
281
295
  colors: {
282
296
  background: coreColors.white,
283
297
  text: coreColors.black,
@@ -315,13 +329,15 @@ var BruttalTheme = {
315
329
  h6: coreFonts.contrast,
316
330
  body: coreFonts.main,
317
331
  highlight: coreFonts.main,
318
- caption: coreFonts.monospace
332
+ caption: coreFonts.main
319
333
  },
320
334
  borders: {
321
- default: coreBorders.medium,
335
+ default: coreBorders.thin,
336
+ secondary: coreBorders.medium,
322
337
  muted: coreBorders.thin,
323
338
  interaction: coreBorders.medium,
324
- danger: coreBorders.medium
339
+ danger: coreBorders.medium,
340
+ highlight: coreBorders.medium
325
341
  },
326
342
  radii: {
327
343
  informative: coreRadii.xs,
@@ -359,6 +375,7 @@ var BruttalTheme = {
359
375
  bg: "positive",
360
376
  fontFamily: "caption",
361
377
  fontWeight: "normal",
378
+ lineHeight: "base",
362
379
  fontSize: "xs",
363
380
  paddingX: "xs",
364
381
  paddingY: "2xs",
@@ -369,6 +386,7 @@ var BruttalTheme = {
369
386
  bg: "danger",
370
387
  fontFamily: "caption",
371
388
  fontWeight: "normal",
389
+ lineHeight: "base",
372
390
  fontSize: "xs",
373
391
  paddingX: "xs",
374
392
  paddingY: "2xs",
@@ -380,6 +398,7 @@ var BruttalTheme = {
380
398
  fontFamily: "caption",
381
399
  fontSize: "xs",
382
400
  fontWeight: "normal",
401
+ lineHeight: "base",
383
402
  paddingX: "xs",
384
403
  paddingY: "2xs",
385
404
  borderRadius: "informative",
@@ -391,6 +410,7 @@ var BruttalTheme = {
391
410
  bg: "notice",
392
411
  fontFamily: "caption",
393
412
  fontWeight: "normal",
413
+ lineHeight: "base",
394
414
  fontSize: "xs",
395
415
  paddingX: "xs",
396
416
  paddingY: "2xs",
@@ -404,14 +424,13 @@ var BruttalTheme = {
404
424
  borderRadius: "action",
405
425
  borderColor: "accent",
406
426
  ":hover:not(:active,[disabled])": {
407
- backgroundColor: "highlight",
408
- color: "onHighlight",
409
- borderColor: "highlight"
427
+ filter: "brightness(90%)"
410
428
  },
411
429
  ":disabled": {
412
430
  cursor: "default",
413
431
  backgroundColor: "muted",
414
- borderColor: "muted"
432
+ borderColor: "muted",
433
+ color: "onMuted"
415
434
  }
416
435
  },
417
436
  primary: {
@@ -420,9 +439,7 @@ var BruttalTheme = {
420
439
  borderRadius: "action",
421
440
  borderColor: "primary",
422
441
  ":hover:not(:active,[disabled])": {
423
- backgroundColor: "highlight",
424
- color: "onHighlight",
425
- borderColor: "highlight"
442
+ filter: "brightness(90%)"
426
443
  },
427
444
  ":active": {
428
445
  backgroundColor: "primary",
@@ -432,59 +449,63 @@ var BruttalTheme = {
432
449
  ":disabled": {
433
450
  cursor: "default",
434
451
  backgroundColor: "muted",
435
- borderColor: "muted"
452
+ borderColor: "muted",
453
+ color: "onMuted"
436
454
  }
437
455
  },
438
456
  secondary: {
439
457
  backgroundColor: "secondary",
440
458
  color: "onSecondary",
441
459
  borderRadius: "action",
442
- borderColor: "secondary",
460
+ border: "secondary",
461
+ borderColor: "onSecondary",
443
462
  ":hover:not(:active,[disabled])": {
444
- backgroundColor: "highlight",
445
- color: "onHighlight",
446
- borderColor: "highlight"
463
+ filter: "brightness(90%)"
447
464
  },
448
465
  ":disabled": {
449
466
  cursor: "default",
450
467
  backgroundColor: "muted",
451
- borderColor: "muted"
468
+ borderColor: "muted",
469
+ color: "onMuted"
452
470
  }
453
471
  },
454
- neutral: {
455
- backgroundColor: "muted",
456
- color: "onMuted",
457
- borderRadius: "action",
458
- borderColor: "muted",
472
+ destructive: {
473
+ color: "onDanger",
474
+ backgroundColor: "danger",
459
475
  ":hover:not(:active,[disabled])": {
460
- backgroundColor: "highlight",
461
- color: "onHighlight",
462
- borderColor: "highlight"
476
+ filter: "brightness(90%)"
463
477
  },
464
478
  ":disabled": {
465
479
  cursor: "default",
466
480
  backgroundColor: "muted",
467
- borderColor: "muted"
481
+ borderColor: "muted",
482
+ color: "onMuted"
468
483
  }
469
484
  },
470
- danger: {
471
- color: "onDanger",
472
- backgroundColor: "danger"
473
- },
474
485
  closeButton: {
475
- backgroundColor: "transparent",
476
- color: "text",
486
+ backgroundColor: "background",
487
+ fontFamily: "caption",
488
+ color: "primary",
477
489
  fontSize: "xs",
478
490
  display: "inline-flex",
479
491
  alignItems: "center",
480
492
  cursor: "pointer",
493
+ gap: "sm",
494
+ padding: "sm",
495
+ border: "default",
496
+ borderColor: "primary",
497
+ width: "fit-content",
481
498
  ":disabled": {
482
- color: "muted",
499
+ border: "muted",
500
+ backgroundColor: "muted",
501
+ color: "onMuted",
483
502
  cursor: "not-allowed"
484
503
  },
485
504
  ":is(:focus-within, :hover):not(:disabled)": {
486
- color: "accent",
487
- outlineColor: "transparent"
505
+ color: "onHighlight",
506
+ backgroundColor: "highlight",
507
+ border: "highlight",
508
+ borderColor: "highlight"
488
509
  }
489
510
  }
490
511
  },
@@ -503,6 +524,7 @@ var BruttalTheme = {
503
524
  label: {
504
525
  color: "text",
505
526
  fontFamily: "body",
527
+ alignItems: "center",
506
528
  '&:is([aria-disabled="true"])': {
507
529
  color: "onMuted"
508
530
  },
@@ -529,9 +551,15 @@ var BruttalTheme = {
529
551
  },
530
552
  'input[aria-invalid="true"] ~ &': {
531
553
  color: "danger"
554
+ },
555
+ "input:focus ~ &": {
556
+ bg: "transparent"
532
557
  }
533
558
  },
534
559
  checkbox: {
560
+ "input:focus ~ &": {
561
+ bg: "transparent"
562
+ },
535
563
  "input:not(:checked) ~ &": {
536
564
  color: "primary"
537
565
  },
@@ -562,8 +590,8 @@ var BruttalTheme = {
562
590
  },
563
591
  ":disabled": {
564
592
  backgroundColor: "muted",
565
- borderColor: "onMuted",
566
- border: "muted"
593
+ border: "muted",
594
+ borderColor: "onMuted"
567
595
  },
568
596
  "&.error": {
569
597
  borderColor: "danger"
@@ -581,8 +609,8 @@ var BruttalTheme = {
581
609
  paddingY: "lg",
582
610
  paddingX: "xl",
583
611
  ":disabled": {
584
- borderColor: "onMuted",
585
612
  border: "muted",
613
+ borderColor: "onMuted",
586
614
  color: "muted"
587
615
  },
588
616
  ":disabled ~ span > iconify-icon": {
@@ -94,6 +94,7 @@ var import_chevron_up = __toESM(require("@iconify/icons-carbon/chevron-up"));
94
94
  var import_close_filled = __toESM(require("@iconify/icons-carbon/close-filled"));
95
95
  var import_close = __toESM(require("@iconify/icons-carbon/close"));
96
96
  var import_copy = __toESM(require("@iconify/icons-carbon/copy"));
97
+ var import_edit = __toESM(require("@iconify/icons-carbon/edit"));
97
98
  var import_error_filled = __toESM(require("@iconify/icons-carbon/error-filled"));
98
99
  var import_information_filled = __toESM(require("@iconify/icons-carbon/information-filled"));
99
100
  var import_loading = __toESM(require_loading());
@@ -139,6 +140,7 @@ var subtractIcon = {
139
140
  (0, import_react.addIcon)("check-mark", import_checkmark_outline.default);
140
141
  (0, import_react.addIcon)("close", import_close.default);
141
142
  (0, import_react.addIcon)("copy", import_copy.default);
143
+ (0, import_react.addIcon)("edit", import_edit.default);
142
144
  (0, import_react.addIcon)("delete", import_trash_can.default);
143
145
  (0, import_react.addIcon)("error", import_error_filled.default);
144
146
  (0, import_react.addIcon)("info", import_information_filled.default);
@@ -204,6 +206,17 @@ var letterSpacings = {
204
206
  widest: "0.1em"
205
207
  };
206
208
 
209
+ // src/tokens/lineHeights.ts
210
+ var lineHeights = {
211
+ "2xs": "0.422",
212
+ xs: "0.562",
213
+ sm: "calc(1 / 1.333)",
214
+ base: "normal",
215
+ lg: "calc(1 * 1.333)",
216
+ xl: "1.776",
217
+ "2xl": "2.368"
218
+ };
219
+
207
220
  // src/tokens/space.ts
208
221
  var space = {
209
222
  none: 0,
@@ -282,6 +295,7 @@ var BruttalTheme = {
282
295
  fontWeights,
283
296
  letterSpacings,
284
297
  space,
298
+ lineHeights,
285
299
  colors: {
286
300
  background: coreColors.white,
287
301
  text: coreColors.black,
@@ -319,13 +333,15 @@ var BruttalTheme = {
319
333
  h6: coreFonts.contrast,
320
334
  body: coreFonts.main,
321
335
  highlight: coreFonts.main,
322
- caption: coreFonts.monospace
336
+ caption: coreFonts.main
323
337
  },
324
338
  borders: {
325
- default: coreBorders.medium,
339
+ default: coreBorders.thin,
340
+ secondary: coreBorders.medium,
326
341
  muted: coreBorders.thin,
327
342
  interaction: coreBorders.medium,
328
- danger: coreBorders.medium
343
+ danger: coreBorders.medium,
344
+ highlight: coreBorders.medium
329
345
  },
330
346
  radii: {
331
347
  informative: coreRadii.xs,
@@ -363,6 +379,7 @@ var BruttalTheme = {
363
379
  bg: "positive",
364
380
  fontFamily: "caption",
365
381
  fontWeight: "normal",
382
+ lineHeight: "base",
366
383
  fontSize: "xs",
367
384
  paddingX: "xs",
368
385
  paddingY: "2xs",
@@ -373,6 +390,7 @@ var BruttalTheme = {
373
390
  bg: "danger",
374
391
  fontFamily: "caption",
375
392
  fontWeight: "normal",
393
+ lineHeight: "base",
376
394
  fontSize: "xs",
377
395
  paddingX: "xs",
378
396
  paddingY: "2xs",
@@ -384,6 +402,7 @@ var BruttalTheme = {
384
402
  fontFamily: "caption",
385
403
  fontSize: "xs",
386
404
  fontWeight: "normal",
405
+ lineHeight: "base",
387
406
  paddingX: "xs",
388
407
  paddingY: "2xs",
389
408
  borderRadius: "informative",
@@ -395,6 +414,7 @@ var BruttalTheme = {
395
414
  bg: "notice",
396
415
  fontFamily: "caption",
397
416
  fontWeight: "normal",
417
+ lineHeight: "base",
398
418
  fontSize: "xs",
399
419
  paddingX: "xs",
400
420
  paddingY: "2xs",
@@ -408,14 +428,13 @@ var BruttalTheme = {
408
428
  borderRadius: "action",
409
429
  borderColor: "accent",
410
430
  ":hover:not(:active,[disabled])": {
411
- backgroundColor: "highlight",
412
- color: "onHighlight",
413
- borderColor: "highlight"
431
+ filter: "brightness(90%)"
414
432
  },
415
433
  ":disabled": {
416
434
  cursor: "default",
417
435
  backgroundColor: "muted",
418
- borderColor: "muted"
436
+ borderColor: "muted",
437
+ color: "onMuted"
419
438
  }
420
439
  },
421
440
  primary: {
@@ -424,9 +443,7 @@ var BruttalTheme = {
424
443
  borderRadius: "action",
425
444
  borderColor: "primary",
426
445
  ":hover:not(:active,[disabled])": {
427
- backgroundColor: "highlight",
428
- color: "onHighlight",
429
- borderColor: "highlight"
446
+ filter: "brightness(90%)"
430
447
  },
431
448
  ":active": {
432
449
  backgroundColor: "primary",
@@ -436,59 +453,63 @@ var BruttalTheme = {
436
453
  ":disabled": {
437
454
  cursor: "default",
438
455
  backgroundColor: "muted",
439
- borderColor: "muted"
456
+ borderColor: "muted",
457
+ color: "onMuted"
440
458
  }
441
459
  },
442
460
  secondary: {
443
461
  backgroundColor: "secondary",
444
462
  color: "onSecondary",
445
463
  borderRadius: "action",
446
- borderColor: "secondary",
464
+ border: "secondary",
465
+ borderColor: "onSecondary",
447
466
  ":hover:not(:active,[disabled])": {
448
- backgroundColor: "highlight",
449
- color: "onHighlight",
450
- borderColor: "highlight"
467
+ filter: "brightness(90%)"
451
468
  },
452
469
  ":disabled": {
453
470
  cursor: "default",
454
471
  backgroundColor: "muted",
455
- borderColor: "muted"
472
+ borderColor: "muted",
473
+ color: "onMuted"
456
474
  }
457
475
  },
458
- neutral: {
459
- backgroundColor: "muted",
460
- color: "onMuted",
461
- borderRadius: "action",
462
- borderColor: "muted",
476
+ destructive: {
477
+ color: "onDanger",
478
+ backgroundColor: "danger",
463
479
  ":hover:not(:active,[disabled])": {
464
- backgroundColor: "highlight",
465
- color: "onHighlight",
466
- borderColor: "highlight"
480
+ filter: "brightness(90%)"
467
481
  },
468
482
  ":disabled": {
469
483
  cursor: "default",
470
484
  backgroundColor: "muted",
471
- borderColor: "muted"
485
+ borderColor: "muted",
486
+ color: "onMuted"
472
487
  }
473
488
  },
474
- danger: {
475
- color: "onDanger",
476
- backgroundColor: "danger"
477
- },
478
489
  closeButton: {
479
- backgroundColor: "transparent",
480
- color: "text",
490
+ backgroundColor: "background",
491
+ fontFamily: "caption",
492
+ color: "primary",
481
493
  fontSize: "xs",
482
494
  display: "inline-flex",
483
495
  alignItems: "center",
484
496
  cursor: "pointer",
497
+ gap: "sm",
498
+ padding: "sm",
499
+ border: "default",
500
+ borderColor: "primary",
501
+ width: "fit-content",
485
502
  ":disabled": {
486
- color: "muted",
503
+ border: "muted",
504
+ backgroundColor: "muted",
505
+ color: "onMuted",
487
506
  cursor: "not-allowed"
488
507
  },
489
508
  ":is(:focus-within, :hover):not(:disabled)": {
490
- color: "accent",
491
- outlineColor: "transparent"
509
+ color: "onHighlight",
510
+ backgroundColor: "highlight",
511
+ border: "highlight",
512
+ borderColor: "highlight"
492
513
  }
493
514
  }
494
515
  },
@@ -507,6 +528,7 @@ var BruttalTheme = {
507
528
  label: {
508
529
  color: "text",
509
530
  fontFamily: "body",
531
+ alignItems: "center",
510
532
  '&:is([aria-disabled="true"])': {
511
533
  color: "onMuted"
512
534
  },
@@ -533,9 +555,15 @@ var BruttalTheme = {
533
555
  },
534
556
  'input[aria-invalid="true"] ~ &': {
535
557
  color: "danger"
558
+ },
559
+ "input:focus ~ &": {
560
+ bg: "transparent"
536
561
  }
537
562
  },
538
563
  checkbox: {
564
+ "input:focus ~ &": {
565
+ bg: "transparent"
566
+ },
539
567
  "input:not(:checked) ~ &": {
540
568
  color: "primary"
541
569
  },
@@ -566,8 +594,8 @@ var BruttalTheme = {
566
594
  },
567
595
  ":disabled": {
568
596
  backgroundColor: "muted",
569
- borderColor: "onMuted",
570
- border: "muted"
597
+ border: "muted",
598
+ borderColor: "onMuted"
571
599
  },
572
600
  "&.error": {
573
601
  borderColor: "danger"
@@ -585,8 +613,8 @@ var BruttalTheme = {
585
613
  paddingY: "lg",
586
614
  paddingX: "xl",
587
615
  ":disabled": {
588
- borderColor: "onMuted",
589
616
  border: "muted",
617
+ borderColor: "onMuted",
590
618
  color: "muted"
591
619
  },
592
620
  ":disabled ~ span > iconify-icon": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ttoss/theme",
3
- "version": "1.4.23",
3
+ "version": "1.4.25",
4
4
  "description": "Theme for packages.",
5
5
  "license": "UNLICENSED",
6
6
  "author": "ttoss",
@@ -59,5 +59,5 @@
59
59
  ]
60
60
  }
61
61
  },
62
- "gitHead": "b40f78fe1adc22d91e947b4d4453d0e51669a358"
62
+ "gitHead": "a07424c53959642b5b1aedd07994091e79d63ecc"
63
63
  }
@@ -17,6 +17,7 @@ import chevronUpIcon from '@iconify/icons-carbon/chevron-up';
17
17
  import closeFilledIcon from '@iconify/icons-carbon/close-filled';
18
18
  import closeIcon from '@iconify/icons-carbon/close';
19
19
  import copyIcon from '@iconify/icons-carbon/copy';
20
+ import editIcon from '@iconify/icons-carbon/edit';
20
21
  import errorFilledIcon from '@iconify/icons-carbon/error-filled';
21
22
  import informationFilledIcon from '@iconify/icons-carbon/information-filled';
22
23
  import loadingIcon from '@iconify/icons-eos-icons/loading';
@@ -66,6 +67,7 @@ addIcon('check', checkMarkIcon);
66
67
  addIcon('check-mark', checkMarkOutlineIcon);
67
68
  addIcon('close', closeIcon);
68
69
  addIcon('copy', copyIcon);
70
+ addIcon('edit', editIcon);
69
71
  addIcon('delete', trashCanIcon);
70
72
  addIcon('error', errorFilledIcon);
71
73
  addIcon('info', informationFilledIcon);
@@ -2,6 +2,7 @@ import { Theme } from 'theme-ui';
2
2
  import { fontSizes } from '../../tokens/fontSizes';
3
3
  import { fontWeights } from '../../tokens/fontWeights';
4
4
  import { letterSpacings } from '../../tokens/letterSpacings';
5
+ import { lineHeights } from '../../tokens/lineHeights';
5
6
  import { space } from '../../tokens/space';
6
7
 
7
8
  const coreFonts = {
@@ -69,6 +70,7 @@ export const BruttalTheme: Theme = {
69
70
  fontWeights,
70
71
  letterSpacings,
71
72
  space,
73
+ lineHeights,
72
74
  colors: {
73
75
  background: coreColors.white,
74
76
  text: coreColors.black,
@@ -106,13 +108,15 @@ export const BruttalTheme: Theme = {
106
108
  h6: coreFonts.contrast,
107
109
  body: coreFonts.main,
108
110
  highlight: coreFonts.main,
109
- caption: coreFonts.monospace,
111
+ caption: coreFonts.main,
110
112
  },
111
113
  borders: {
112
- default: coreBorders.medium,
114
+ default: coreBorders.thin,
115
+ secondary: coreBorders.medium,
113
116
  muted: coreBorders.thin,
114
117
  interaction: coreBorders.medium,
115
118
  danger: coreBorders.medium,
119
+ highlight: coreBorders.medium,
116
120
  },
117
121
  radii: {
118
122
  informative: coreRadii.xs,
@@ -150,6 +154,7 @@ export const BruttalTheme: Theme = {
150
154
  bg: 'positive',
151
155
  fontFamily: 'caption',
152
156
  fontWeight: 'normal',
157
+ lineHeight: 'base',
153
158
  fontSize: 'xs',
154
159
  paddingX: 'xs',
155
160
  paddingY: '2xs',
@@ -160,6 +165,7 @@ export const BruttalTheme: Theme = {
160
165
  bg: 'danger',
161
166
  fontFamily: 'caption',
162
167
  fontWeight: 'normal',
168
+ lineHeight: 'base',
163
169
  fontSize: 'xs',
164
170
  paddingX: 'xs',
165
171
  paddingY: '2xs',
@@ -171,6 +177,7 @@ export const BruttalTheme: Theme = {
171
177
  fontFamily: 'caption',
172
178
  fontSize: 'xs',
173
179
  fontWeight: 'normal',
180
+ lineHeight: 'base',
174
181
  paddingX: 'xs',
175
182
  paddingY: '2xs',
176
183
  borderRadius: 'informative',
@@ -182,6 +189,7 @@ export const BruttalTheme: Theme = {
182
189
  bg: 'notice',
183
190
  fontFamily: 'caption',
184
191
  fontWeight: 'normal',
192
+ lineHeight: 'base',
185
193
  fontSize: 'xs',
186
194
  paddingX: 'xs',
187
195
  paddingY: '2xs',
@@ -195,14 +203,13 @@ export const BruttalTheme: Theme = {
195
203
  borderRadius: 'action',
196
204
  borderColor: 'accent',
197
205
  ':hover:not(:active,[disabled])': {
198
- backgroundColor: 'highlight',
199
- color: 'onHighlight',
200
- borderColor: 'highlight',
206
+ filter: 'brightness(90%)',
201
207
  },
202
208
  ':disabled': {
203
209
  cursor: 'default',
204
210
  backgroundColor: 'muted',
205
211
  borderColor: 'muted',
212
+ color: 'onMuted',
206
213
  },
207
214
  },
208
215
  primary: {
@@ -211,9 +218,7 @@ export const BruttalTheme: Theme = {
211
218
  borderRadius: 'action',
212
219
  borderColor: 'primary',
213
220
  ':hover:not(:active,[disabled])': {
214
- backgroundColor: 'highlight',
215
- color: 'onHighlight',
216
- borderColor: 'highlight',
221
+ filter: 'brightness(90%)',
217
222
  },
218
223
  ':active': {
219
224
  backgroundColor: 'primary',
@@ -224,58 +229,62 @@ export const BruttalTheme: Theme = {
224
229
  cursor: 'default',
225
230
  backgroundColor: 'muted',
226
231
  borderColor: 'muted',
232
+ color: 'onMuted',
227
233
  },
228
234
  },
229
235
  secondary: {
230
236
  backgroundColor: 'secondary',
231
237
  color: 'onSecondary',
232
238
  borderRadius: 'action',
233
- borderColor: 'secondary',
239
+ border: 'secondary',
240
+ borderColor: 'onSecondary',
234
241
  ':hover:not(:active,[disabled])': {
235
- backgroundColor: 'highlight',
236
- color: 'onHighlight',
237
- borderColor: 'highlight',
242
+ filter: 'brightness(90%)',
238
243
  },
239
244
  ':disabled': {
240
245
  cursor: 'default',
241
246
  backgroundColor: 'muted',
242
247
  borderColor: 'muted',
248
+ color: 'onMuted',
243
249
  },
244
250
  },
245
- neutral: {
246
- backgroundColor: 'muted',
247
- color: 'onMuted',
248
- borderRadius: 'action',
249
- borderColor: 'muted',
251
+ destructive: {
252
+ color: 'onDanger',
253
+ backgroundColor: 'danger',
250
254
  ':hover:not(:active,[disabled])': {
251
- backgroundColor: 'highlight',
252
- color: 'onHighlight',
253
- borderColor: 'highlight',
255
+ filter: 'brightness(90%)',
254
256
  },
255
257
  ':disabled': {
256
258
  cursor: 'default',
257
259
  backgroundColor: 'muted',
258
260
  borderColor: 'muted',
261
+ color: 'onMuted',
259
262
  },
260
263
  },
261
- danger: {
262
- color: 'onDanger',
263
- backgroundColor: 'danger',
264
- },
265
264
  closeButton: {
266
- backgroundColor: 'transparent',
267
- color: 'text',
265
+ backgroundColor: 'background',
266
+ fontFamily: 'caption',
267
+ color: 'primary',
268
268
  fontSize: 'xs',
269
269
  display: 'inline-flex',
270
270
  alignItems: 'center',
271
271
  cursor: 'pointer',
272
+ gap: 'sm',
273
+ padding: 'sm',
274
+ border: 'default',
275
+ borderColor: 'primary',
276
+ width: 'fit-content',
272
277
  ':disabled': {
273
- color: 'muted',
278
+ border: 'muted',
279
+ backgroundColor: 'muted',
280
+ color: 'onMuted',
274
281
  cursor: 'not-allowed',
275
282
  },
276
283
  ':is(:focus-within, :hover):not(:disabled)': {
277
- color: 'accent',
278
- outlineColor: 'transparent',
284
+ color: 'onHighlight',
285
+ backgroundColor: 'highlight',
286
+ border: 'highlight',
287
+ borderColor: 'highlight',
279
288
  },
280
289
  },
281
290
  },
@@ -294,6 +303,7 @@ export const BruttalTheme: Theme = {
294
303
  label: {
295
304
  color: 'text',
296
305
  fontFamily: 'body',
306
+ alignItems: 'center',
297
307
  '&:is([aria-disabled="true"])': {
298
308
  color: 'onMuted',
299
309
  },
@@ -321,8 +331,14 @@ export const BruttalTheme: Theme = {
321
331
  'input[aria-invalid="true"] ~ &': {
322
332
  color: 'danger',
323
333
  },
334
+ 'input:focus ~ &': {
335
+ bg: 'transparent',
336
+ },
324
337
  },
325
338
  checkbox: {
339
+ 'input:focus ~ &': {
340
+ bg: 'transparent',
341
+ },
326
342
  'input:not(:checked) ~ &': {
327
343
  color: 'primary',
328
344
  },
@@ -353,8 +369,8 @@ export const BruttalTheme: Theme = {
353
369
  },
354
370
  ':disabled': {
355
371
  backgroundColor: 'muted',
356
- borderColor: 'onMuted',
357
372
  border: 'muted',
373
+ borderColor: 'onMuted',
358
374
  },
359
375
  '&.error': {
360
376
  borderColor: 'danger',
@@ -372,8 +388,8 @@ export const BruttalTheme: Theme = {
372
388
  paddingY: 'lg',
373
389
  paddingX: 'xl',
374
390
  ':disabled': {
375
- borderColor: 'onMuted',
376
391
  border: 'muted',
392
+ borderColor: 'onMuted',
377
393
  color: 'muted',
378
394
  },
379
395
  ':disabled ~ span > iconify-icon': {
@@ -0,0 +1,9 @@
1
+ export const lineHeights = {
2
+ '2xs': '0.422',
3
+ xs: '0.562',
4
+ sm: 'calc(1 / 1.333)',
5
+ base: 'normal',
6
+ lg: 'calc(1 * 1.333)',
7
+ xl: '1.776',
8
+ '2xl': '2.368',
9
+ };