@simplybusiness/theme-core 7.12.1 → 7.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 7.13.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 5d01a2f: Added CTM theme variations for Radio, Checkbox and ErrorMessage
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [485a83d]
12
+ - Updated dependencies [5d01a2f]
13
+ - @simplybusiness/mobius@6.3.0
14
+
3
15
  ## 7.12.1
4
16
 
5
17
  ### Patch Changes
package/dist/index.css CHANGED
@@ -38,16 +38,17 @@
38
38
  display:flex;
39
39
  align-items:center;
40
40
  border-radius:var(--radius-1);
41
- color:var(--color-secondary);
41
+ color:var(--color-accordion-link, var(--color-secondary));
42
42
  cursor:pointer;
43
43
  outline:none;
44
44
  -webkit-text-decoration:underline;
45
45
  text-decoration:underline;
46
- text-underline-offset:6px;
46
+ text-underline-offset:var(--accordion-link-underline-offset, 6px);
47
47
  }
48
48
 
49
49
  .mobius-accordion__link:hover,.mobius-accordion__link:active{
50
- color:var(--color-secondary-hover);
50
+ color:var(--color-accordion-link-hover, var(--color-secondary-hover));
51
+ text-decoration:var(--accordion-link-hover-text-decoration, underline);
51
52
  }
52
53
 
53
54
  .mobius-accordion__link:focus-visible{
@@ -63,13 +64,16 @@ h5.mobius-accordion__link-text,
63
64
  h6.mobius-accordion__link-text,
64
65
  .mobius-accordion__link-text{
65
66
  margin:0;
66
- margin-right:var(--size-xs);
67
+ order:calc(3 - var(--mobius-accordion-icon-position, 2));
67
68
  line-height:var(--line-height-normal);
68
- font-size:var(--font-size-small-paragraph);
69
- font-weight:var(--font-weight-normal);
69
+ font-size:var(--accordion-font-size, var(--font-size-small-paragraph));
70
+ font-weight:var(--accordion-font-weight, var(--font-weight-normal));
70
71
  }
71
72
 
72
73
  .mobius-accordion__link-icon{
74
+ order:var(--mobius-accordion-icon-position, 2);
75
+ margin-left:calc((var(--mobius-accordion-icon-position, 2) - 1) * var(--accordion-icon-margin, var(--size-xs)));
76
+ margin-right:calc((2 - var(--mobius-accordion-icon-position, 2)) * var(--accordion-icon-margin, var(--size-xs)));
73
77
  transition:transform var(--transition-duration);
74
78
  }
75
79
 
@@ -415,6 +419,10 @@ a.mobius-button:focus-visible,
415
419
  background-color:var(--checkbox-background-color-invalid);
416
420
  }
417
421
 
422
+ .mobius-checkbox__input.--is-selected.--is-disabled{
423
+ background-color:var(--checkbox-background-color-disabled);
424
+ }
425
+
418
426
  .mobius-checkbox__input:focus-visible{
419
427
  outline:none;
420
428
  }
@@ -501,11 +509,14 @@ a.mobius-button:focus-visible,
501
509
  }
502
510
 
503
511
  .mobius-checkbox__visible-label{
512
+ display:flex;
513
+ align-items:center;
504
514
  box-sizing:border-box;
505
515
  width:100%;
516
+ height:var(--checkbox-visible-label-height);
506
517
  font-family:var(--font-family);
507
518
  line-height:var(--line-height-normal);
508
- font-size:var(--font-size-regular);
519
+ font-size:var(--checkbox-visible-label-font-size);
509
520
  margin-left:var(--checkbox-label-gap);
510
521
  }
511
522
 
@@ -516,7 +527,7 @@ a.mobius-button:focus-visible,
516
527
 
517
528
  .mobius-checkbox-group .mobius-checkbox-group__wrapper{
518
529
  display:grid;
519
- margin-bottom:var(--size-sm);
530
+ margin-bottom:var(--checkbox-group-wrapper-margin-bottom);
520
531
  }
521
532
 
522
533
  .mobius-checkbox-group .mobius-checkbox,.mobius-checkbox-group .mobius-checkbox-group__wrapper{
@@ -525,11 +536,11 @@ a.mobius-button:focus-visible,
525
536
 
526
537
  .mobius-checkbox-group.--is-horizontal .mobius-checkbox-group__wrapper{
527
538
  grid-template-columns:repeat(var(--checkbox-items-per-row), 1fr);
528
- gap:var(--size-sm);
539
+ gap:var(--checkbox-group-wrapper-gap-horizontal);
529
540
  }
530
541
 
531
542
  .mobius-checkbox-group.--is-vertical .mobius-checkbox-group__wrapper{
532
- gap:var(--size-xs);
543
+ gap:var(--checkbox-group-wrapper-gap-vertical);
533
544
  }
534
545
 
535
546
  .mobius-checkbox-group:where(.--is-optional) > :where(.mobius-label)::after{
@@ -927,12 +938,19 @@ a.mobius-button:focus-visible,
927
938
  .mobius-error-message{
928
939
  box-sizing:border-box;
929
940
  display:grid;
930
- gap:var(--size-xs);
941
+ gap:var(--error-message-grid-gap, var(--size-xs));
931
942
  grid-template-columns:min-content 1fr;
932
943
  color:var(--color-error);
933
944
  }
934
945
 
946
+ .mobius-error-message__icon{
947
+ width:var(--error-message-icon-width, auto);
948
+ height:var(--error-message-icon-height, auto);
949
+ overflow:hidden;
950
+ }
951
+
935
952
  .mobius-error-message__text.mobius-text{
953
+ font-size:var(--error-message-font-size);
936
954
  line-height:var(--font-size-regular);
937
955
  }
938
956
 
@@ -1440,11 +1458,11 @@ a.mobius-button:focus-visible,
1440
1458
  }
1441
1459
 
1442
1460
  .mobius-radio-group.--is-horizontal .mobius-radio__label:not(:last-child){
1443
- margin-right:var(--size-xs);
1461
+ margin-right:var(--radio-gap);
1444
1462
  }
1445
1463
 
1446
1464
  .mobius-radio-group.--is-vertical .mobius-radio__label:not(:last-child){
1447
- margin-bottom:var(--size-xs);
1465
+ margin-bottom:var(--radio-gap);
1448
1466
  }
1449
1467
 
1450
1468
  .mobius-radio-group:where(.--is-optional) > :where(.mobius-label)::after{
@@ -1466,9 +1484,11 @@ a.mobius-button:focus-visible,
1466
1484
  .mobius-radio__input{
1467
1485
  position:relative;
1468
1486
  align-self:center;
1469
- margin:0 calc(var(--size-xs) + 2px) 0 0;
1487
+ margin:0 var(--radio-label-gap) 0 0;
1470
1488
  padding:var(--size-xs);
1471
- border:2px solid var(--color-primary-light);
1489
+ width:var(--radio-size);
1490
+ height:var(--radio-size);
1491
+ border:var(--radio-border-width) solid var(--color-primary);
1472
1492
  border-radius:50%;
1473
1493
  -webkit-appearance:none;
1474
1494
  appearance:none;
@@ -1483,11 +1503,12 @@ a.mobius-button:focus-visible,
1483
1503
  position:absolute;
1484
1504
  content:"";
1485
1505
  display:block;
1486
- width:10px;
1487
- height:10px;
1506
+ width:var(--radio-inner-size);
1507
+ height:var(--radio-inner-size);
1488
1508
  border-radius:50%;
1489
- top:3px;
1490
- left:3px;
1509
+ top:50%;
1510
+ left:50%;
1511
+ transform:translate(-50%, -50%);
1491
1512
  }
1492
1513
 
1493
1514
  .mobius-radio__input:checked::after{
@@ -1495,46 +1516,46 @@ a.mobius-button:focus-visible,
1495
1516
  }
1496
1517
 
1497
1518
  .mobius-radio__input:disabled{
1498
- border-color:var(--color-border-medium);
1519
+ border-color:var(--radio-input-disabled-border-color);
1499
1520
  }
1500
1521
 
1501
1522
  .mobius-radio__input:disabled:checked::after{
1502
- background-color:var(--color-background-light);
1523
+ background-color:var(--radio-input-disabled-inner-color);
1503
1524
  }
1504
1525
 
1505
1526
  .mobius-radio__input.--is-multiline{
1506
1527
  align-self:flex-start;
1507
1528
  margin-top:var(--size-xxs);
1508
- margin-right:calc(var(--size-sm) - 1px);
1529
+ margin-right:var(--radio-label-gap);
1509
1530
  }
1510
1531
 
1511
1532
  .mobius-radio__label{
1512
1533
  display:flex;
1513
- align-items:center;
1534
+ align-items:var(--radio-label-align-items);
1514
1535
  box-sizing:border-box;
1515
1536
  width:100%;
1516
- padding:var(--input-field-padding-tight);
1537
+ padding:var(--radio-label-padding);
1517
1538
  font-family:var(--font-family);
1518
1539
  font-size:var(--font-size-regular);
1519
1540
  font-weight:var(--font-weight-normal);
1520
- border:var(--border-default);
1541
+ border:var(--radio-label-border);
1521
1542
  border-radius:var(--radius-1);
1522
1543
  color:var(--color-text);
1523
1544
  outline:0;
1524
1545
  position:relative;
1525
1546
  cursor:pointer;
1526
- background-color:var(--color-background-input);
1547
+ background-color:var(--radio-label-background);
1527
1548
  }
1528
1549
 
1529
1550
  .mobius-radio__label.--is-disabled{
1530
- background-color:var(--color-background-light);
1531
- border-color:var(--color-border-medium);
1532
- color:var(--color-text-light);
1551
+ background-color:var(--radio-label-background-disabled);
1552
+ border-color:var(--radio-label-disabled-border-color);
1553
+ color:var(--radio-label-disabled-text-color);
1533
1554
  cursor:not-allowed;
1534
1555
  }
1535
1556
 
1536
1557
  .mobius-radio__label.--is-disabled.--is-selected{
1537
- border-color:var(--color-border-light);
1558
+ border-color:var(--radio-label-disabled-selected-border-color);
1538
1559
  }
1539
1560
 
1540
1561
  .mobius-radio__label.--is-selected:not(.--is-invalid .mobius-radio__label):not(.--is-disabled){
@@ -1551,7 +1572,7 @@ a.mobius-button:focus-visible,
1551
1572
 
1552
1573
  .mobius-radio__label:hover:not(.--is-disabled):not(.--is-invalid .mobius-radio__label){
1553
1574
  border-color:var(--color-primary);
1554
- background-color:var(--color-background-input-active);
1575
+ background-color:var(--radio-label-background-hover);
1555
1576
  }
1556
1577
 
1557
1578
  .mobius-radio__label:hover:not(.--is-disabled):not(.--is-invalid .mobius-radio__label) .mobius-radio__input{
@@ -1562,20 +1583,20 @@ a.mobius-button:focus-visible,
1562
1583
  background-color:var(--color-primary);
1563
1584
  }
1564
1585
 
1565
- .mobius-radio__label:focus-within:not(.--is-disabled){
1586
+ .mobius-radio__label:has(:focus-visible):not(.--is-disabled){
1566
1587
  box-shadow:var(--box-shadow-default);
1567
1588
  }
1568
1589
 
1569
- .mobius-radio__label:focus-within:not(.--is-disabled):not(.--is-invalid .mobius-radio__label:focus-within:not(.--is-disabled)){
1590
+ .mobius-radio__label:has(:focus-visible):not(.--is-disabled):not(.--is-invalid .mobius-radio__label:has(:focus-visible):not(.--is-disabled)){
1570
1591
  border-color:var(--color-primary);
1571
- background-color:var(--color-background-input-active);
1592
+ background-color:var(--radio-label-background-focus);
1572
1593
  }
1573
1594
 
1574
- .mobius-radio__label:focus-within:not(.--is-disabled):not(.--is-invalid .mobius-radio__label:focus-within:not(.--is-disabled)) .mobius-radio__input{
1595
+ .mobius-radio__label:has(:focus-visible):not(.--is-disabled):not(.--is-invalid .mobius-radio__label:has(:focus-visible):not(.--is-disabled)) .mobius-radio__input{
1575
1596
  border-color:var(--color-primary);
1576
1597
  }
1577
1598
 
1578
- :is(.mobius-radio__label:focus-within:not(.--is-disabled):not(.--is-invalid .mobius-radio__label:focus-within:not(.--is-disabled)) .mobius-radio__input):checked::after{
1599
+ :is(.mobius-radio__label:has(:focus-visible):not(.--is-disabled):not(.--is-invalid .mobius-radio__label:has(:focus-visible):not(.--is-disabled)) .mobius-radio__input):checked::after{
1579
1600
  background-color:var(--color-primary);
1580
1601
  }
1581
1602
 
@@ -1584,36 +1605,46 @@ a.mobius-button:focus-visible,
1584
1605
  }
1585
1606
 
1586
1607
  .--is-invalid .mobius-radio__label:not(.--is-disabled){
1587
- border-color:var(--color-error);
1588
- color:var(--color-error);
1608
+ border-color:var(--radio-label-invalid-border-color);
1609
+ color:var(--radio-label-invalid-text-color);
1589
1610
  }
1590
1611
 
1591
1612
  :is(.--is-invalid .mobius-radio__label:not(.--is-disabled)):hover,:is(.--is-invalid .mobius-radio__label:not(.--is-disabled)):focus-within{
1592
- border-color:var(--color-error);
1593
- background-color:var(--color-error-background);
1613
+ border-color:var(--radio-label-invalid-border-color);
1614
+ background-color:var(--radio-label-background-invalid);
1594
1615
  }
1595
1616
 
1596
1617
  :is(.--is-invalid .mobius-radio__label:not(.--is-disabled)) .mobius-radio__input{
1597
- border-color:var(--color-error);
1618
+ border-color:var(--radio-input-invalid-border-color);
1598
1619
  }
1599
1620
 
1600
1621
  :is(:is(.--is-invalid .mobius-radio__label:not(.--is-disabled)) .mobius-radio__input):checked::after{
1601
- background-color:var(--color-error);
1622
+ background-color:var(--radio-input-invalid-inner-color);
1602
1623
  }
1603
1624
 
1604
1625
  .mobius-radio__content{
1605
1626
  box-sizing:border-box;
1606
1627
  flex:1;
1628
+ font-size:var(--radio-content-font-size);
1629
+ color:var(--radio-content-color);
1630
+ line-height:var(--radio-content-line-height);
1607
1631
  }
1608
1632
 
1609
1633
  .mobius-radio__content--multiline{
1610
1634
  flex:1;
1635
+ font-size:var(--radio-content-font-size);
1636
+ color:var(--radio-content-color);
1637
+ line-height:var(--radio-content-line-height);
1611
1638
  }
1612
1639
 
1613
1640
  .mobius-radio__content-first-line{
1614
1641
  font-weight:var(--font-weight-bold);
1615
- margin-bottom:var(--size-xs);
1616
- padding-top:calc(var(--size-xxs) - 1px);
1642
+ margin-bottom:var(--radio-first-line-margin-bottom);
1643
+ padding-top:var(--radio-first-line-padding-top);
1644
+ }
1645
+
1646
+ .mobius-radio__extra-content{
1647
+ color:var(--radio-extra-content-color);
1617
1648
  }
1618
1649
 
1619
1650
  .mobius-radio__label.--has-icon-first .mobius-radio__content{
@@ -3037,6 +3068,9 @@ svg:not(:host).svg-inline--mobius-icon{
3037
3068
  --checkbox-color:var(--color-primary-light);
3038
3069
  --checkbox-label-color:var(--color-text);
3039
3070
  --checkbox-border-color:var(--color-background-input);
3071
+ --checkbox-background-color:var(--color-background-input);
3072
+ --checkbox-background-color-disabled:var(--color-border-medium);
3073
+ --checkbox-background-color-invalid:var(--color-error);
3040
3074
  --checkbox-color-disabled:var(--color-text-light);
3041
3075
  --checkbox-label-color-disabled:var(--color-text-light);
3042
3076
  --checkbox-label-background-color-disabled:var(--color-background-light);
@@ -3045,7 +3079,42 @@ svg:not(:host).svg-inline--mobius-icon{
3045
3079
  --checkbox-label-color-invalid:var(--color-error);
3046
3080
  --checkbox-label-background-color-invalid:var(--color-error-background);
3047
3081
  --checkbox-border-color-invalid:var(--color-error);
3082
+ --checkbox-visible-label-font-size:var(--font-size-regular);
3083
+ --checkbox-visible-label-height:auto;
3084
+ --checkbox-multiline-content-font-size:var(--font-size-regular);
3085
+ --checkbox-group-wrapper-margin-bottom:var(--size-sm);
3086
+ --checkbox-group-wrapper-gap-horizontal:var(--size-sm);
3087
+ --checkbox-group-wrapper-gap-vertical:var(--size-xs);
3048
3088
  --checkbox-default-icon-visibility:visible;
3089
+ --radio-border-width:2px;
3090
+ --radio-size:auto;
3091
+ --radio-inner-size:10px;
3092
+ --radio-gap:var(--size-xs);
3093
+ --radio-label-gap:calc(var(--size-xs) + 2px);
3094
+ --radio-label-border:var(--radio-border-width) solid var(--color-primary);
3095
+ --radio-label-align-items:center;
3096
+ --radio-label-background:var(--color-background-input);
3097
+ --radio-label-background-disabled:var(--color-background-light);
3098
+ --radio-label-background-hover:var(--color-background-input-active);
3099
+ --radio-label-background-focus:var(--color-background-input-active);
3100
+ --radio-label-background-invalid:var(--color-error-background);
3101
+ --radio-label-padding:var(--input-field-padding-tight);
3102
+ --radio-content-font-size:var(--font-size-regular);
3103
+ --radio-content-color:inherit;
3104
+ --radio-content-line-height:normal;
3105
+ --radio-first-line-margin-bottom:var(--size-xs);
3106
+ --radio-first-line-padding-top:calc(var(--size-xxs) - 1px);
3107
+ --radio-extra-content-color:inherit;
3108
+ --radio-input-disabled-border-color:var(--color-border-medium);
3109
+ --radio-input-disabled-inner-color:var(--color-background-light);
3110
+ --radio-label-disabled-border-color:var(--color-border-medium);
3111
+ --radio-label-disabled-text-color:var(--color-text-light);
3112
+ --radio-label-disabled-selected-border-color:var(--color-border-light);
3113
+ --radio-label-invalid-border-color:var(--color-error);
3114
+ --radio-label-invalid-text-color:var(--color-error);
3115
+ --radio-input-invalid-border-color:var(--color-error);
3116
+ --radio-input-invalid-inner-color:var(--color-error);
3117
+ --error-message-font-size:var(--font-size-regular);
3049
3118
  --popover-max-width:260px;
3050
3119
  --popover-z-index:2147483647;
3051
3120
  --color-background-popover:var(--color-azure-700);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simplybusiness/theme-core",
3
- "version": "7.12.1",
3
+ "version": "7.13.0",
4
4
  "main": "dist/index.css",
5
5
  "simplyBusiness": {
6
6
  "publishToPublicNpm": true
@@ -26,7 +26,7 @@
26
26
  "./fonts": "./dist/fonts.css"
27
27
  },
28
28
  "dependencies": {
29
- "@simplybusiness/mobius": "^6.2.1"
29
+ "@simplybusiness/mobius": "^6.3.0"
30
30
  },
31
31
  "devDependencies": {
32
32
  "build-scripts": "^1.0.1"
package/src/variables.css CHANGED
@@ -191,6 +191,9 @@
191
191
  --checkbox-color: var(--color-primary-light);
192
192
  --checkbox-label-color: var(--color-text);
193
193
  --checkbox-border-color: var(--color-background-input);
194
+ --checkbox-background-color: var(--color-background-input);
195
+ --checkbox-background-color-disabled: var(--color-border-medium);
196
+ --checkbox-background-color-invalid: var(--color-error);
194
197
  /* Disabled */
195
198
  --checkbox-color-disabled: var(--color-text-light);
196
199
  --checkbox-label-color-disabled: var(--color-text-light);
@@ -201,9 +204,50 @@
201
204
  --checkbox-label-color-invalid: var(--color-error);
202
205
  --checkbox-label-background-color-invalid: var(--color-error-background);
203
206
  --checkbox-border-color-invalid: var(--color-error);
207
+ /* Typography */
208
+ --checkbox-visible-label-font-size: var(--font-size-regular);
209
+ --checkbox-visible-label-height: auto;
210
+ --checkbox-multiline-content-font-size: var(--font-size-regular);
211
+ /* CheckboxGroup */
212
+ --checkbox-group-wrapper-margin-bottom: var(--size-sm);
213
+ --checkbox-group-wrapper-gap-horizontal: var(--size-sm);
214
+ --checkbox-group-wrapper-gap-vertical: var(--size-xs);
204
215
  /* Icon */
205
216
  --checkbox-default-icon-visibility: visible;
206
217
 
218
+ /* Radio */
219
+ --radio-border-width: 2px;
220
+ --radio-size: auto;
221
+ --radio-inner-size: 10px;
222
+ --radio-gap: var(--size-xs);
223
+ --radio-label-gap: calc(var(--size-xs) + 2px);
224
+ --radio-label-border: var(--radio-border-width) solid var(--color-primary);
225
+ --radio-label-align-items: center;
226
+ --radio-label-background: var(--color-background-input);
227
+ --radio-label-background-disabled: var(--color-background-light);
228
+ --radio-label-background-hover: var(--color-background-input-active);
229
+ --radio-label-background-focus: var(--color-background-input-active);
230
+ --radio-label-background-invalid: var(--color-error-background);
231
+ --radio-label-padding: var(--input-field-padding-tight);
232
+ --radio-content-font-size: var(--font-size-regular);
233
+ --radio-content-color: inherit;
234
+ --radio-content-line-height: normal;
235
+ --radio-first-line-margin-bottom: var(--size-xs);
236
+ --radio-first-line-padding-top: calc(var(--size-xxs) - 1px);
237
+ --radio-extra-content-color: inherit;
238
+ --radio-input-disabled-border-color: var(--color-border-medium);
239
+ --radio-input-disabled-inner-color: var(--color-background-light);
240
+ --radio-label-disabled-border-color: var(--color-border-medium);
241
+ --radio-label-disabled-text-color: var(--color-text-light);
242
+ --radio-label-disabled-selected-border-color: var(--color-border-light);
243
+ --radio-label-invalid-border-color: var(--color-error);
244
+ --radio-label-invalid-text-color: var(--color-error);
245
+ --radio-input-invalid-border-color: var(--color-error);
246
+ --radio-input-invalid-inner-color: var(--color-error);
247
+
248
+ /* ErrorMessage */
249
+ --error-message-font-size: var(--font-size-regular);
250
+
207
251
  /* Popover */
208
252
  --popover-max-width: 260px;
209
253
  --popover-z-index: 2147483647;