@decidables/detectable-elements 0.5.1 → 0.6.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.
@@ -5968,18 +5968,6 @@
5968
5968
  getComputedStyleValue(property) {
5969
5969
  return getComputedStyle(this).getPropertyValue(property).trim();
5970
5970
  }
5971
- firstUpdated(changedProperties) {
5972
- super.firstUpdated(changedProperties);
5973
-
5974
- // Use focus highlighting if keyboard is used at all
5975
- select(this.renderRoot.host).classed('keyboard', true).on('mousemove.keyboard touchstart.keyboard', event => {
5976
- const element = event.currentTarget;
5977
- select(element.renderRoot.host).classed('keyboard', false).on('mousemove.keyboard touchstart.keyboard', null);
5978
- }).on('keydown.keyboard', event => {
5979
- const element = event.currentTarget;
5980
- select(element.renderRoot.host).classed('keyboard', true).on('keydown.keyboard mousemove.keyboard touchstart.keyboard', null);
5981
- });
5982
- }
5983
5971
  static get greys() {
5984
5972
  const grey = '#999999';
5985
5973
  const greys = {};
@@ -6115,7 +6103,7 @@
6115
6103
  };
6116
6104
  /* eslint-enable key-spacing, object-curly-newline */
6117
6105
  }
6118
- static cssBoxShadow(elevation, rotate = false, inverse = false) {
6106
+ static cssBoxShadow(elevation, inverse = false) {
6119
6107
  const umbraO = this.shadows.opacityUmbra + this.shadows.opacityBoost;
6120
6108
  const penumbraO = this.shadows.opacityPenumbra + this.shadows.opacityBoost;
6121
6109
  const ambientO = this.shadows.opacityAmbient + this.shadows.opacityBoost;
@@ -6125,9 +6113,9 @@
6125
6113
  const umbraM = this.shadows.mapUmbra[elevation];
6126
6114
  const penumbraM = this.shadows.mapPenumbra[elevation];
6127
6115
  const ambientM = this.shadows.mapAmbient[elevation];
6128
- const umbraS = rotate ? `${-umbraM.y}px ${umbraM.y / 2}px ${umbraM.b}px ${umbraM.s}px` : `${umbraM.y / 2}px ${umbraM.y}px ${umbraM.b}px ${umbraM.s}px`;
6129
- const penumbraS = rotate ? `${-penumbraM.y}px ${penumbraM.y / 2}px ${penumbraM.b}px ${penumbraM.s}px` : `${penumbraM.y / 2}px ${penumbraM.y}px ${penumbraM.b}px ${penumbraM.s}px`;
6130
- const ambientS = rotate ? `${-ambientM.y}px ${ambientM.y / 2}px ${ambientM.b}px ${ambientM.s}px` : `${ambientM.y / 2}px ${ambientM.y}px ${ambientM.b}px ${ambientM.s}px`;
6116
+ const umbraS = `${umbraM.y / 2}px ${umbraM.y}px ${umbraM.b}px ${umbraM.s}px`;
6117
+ const penumbraS = `${penumbraM.y / 2}px ${penumbraM.y}px ${penumbraM.b}px ${penumbraM.s}px`;
6118
+ const ambientS = `${ambientM.y / 2}px ${ambientM.y}px ${ambientM.b}px ${ambientM.s}px`;
6131
6119
  return `${umbraS} ${umbraC}, ${penumbraS} ${penumbraC}, ${ambientS} ${ambientC}`;
6132
6120
  }
6133
6121
  static get svgFilters() {
@@ -6263,49 +6251,58 @@
6263
6251
  button {
6264
6252
  width: 100%;
6265
6253
  height: 100%;
6254
+
6266
6255
  padding: 0.375rem 0.75rem;
6267
6256
 
6268
6257
  font-family: var(---font-family-base);
6269
6258
  font-size: 1.125rem;
6259
+
6270
6260
  line-height: 1.5;
6261
+
6271
6262
  color: var(---color-text-inverse);
6272
6263
 
6264
+ outline: none;
6265
+
6273
6266
  border: 0;
6274
6267
  border-radius: var(---border-radius);
6275
- outline: none;
6276
6268
  }
6277
6269
 
6278
6270
  button:disabled {
6279
- background-color: var(---decidables-button-background-color-disabled);
6280
6271
  outline: none;
6272
+
6273
+ background-color: var(---decidables-button-background-color-disabled);
6281
6274
  box-shadow: none;
6282
6275
  }
6283
6276
 
6284
6277
  button:enabled {
6285
6278
  cursor: pointer;
6279
+ outline: none;
6286
6280
 
6287
6281
  background-color: var(---decidables-button-background-color-enabled);
6288
- outline: none;
6289
6282
  box-shadow: var(---shadow-2);
6290
6283
  }
6291
6284
 
6292
6285
  button:enabled:hover {
6293
6286
  outline: none;
6287
+
6294
6288
  box-shadow: var(---shadow-4);
6295
6289
  }
6296
6290
 
6297
6291
  button:enabled:active {
6298
6292
  outline: none;
6293
+
6299
6294
  box-shadow: var(---shadow-8);
6300
6295
  }
6301
6296
 
6302
- :host(.keyboard) button:enabled:focus {
6297
+ button:enabled:focus-visible {
6303
6298
  outline: none;
6299
+
6304
6300
  box-shadow: var(---shadow-4);
6305
6301
  }
6306
6302
 
6307
- :host(.keyboard) button:enabled:focus:active {
6303
+ button:enabled:focus-visible:active {
6308
6304
  outline: none;
6305
+
6309
6306
  box-shadow: var(---shadow-8);
6310
6307
  }
6311
6308
  `];
@@ -6422,10 +6419,6 @@
6422
6419
  ---decidables-slider-color: var(--decidables-slider-color, var(---color-element-enabled));
6423
6420
  ---decidables-spinner-background-color: var(--decidables-slider-background-color, none);
6424
6421
 
6425
- ---shadow-2-rotate: var(--shadow-2-rotate, ${r$2(this.cssBoxShadow(2, true, false))});
6426
- ---shadow-4-rotate: var(--shadow-4-rotate, ${r$2(this.cssBoxShadow(4, true, false))});
6427
- ---shadow-8-rotate: var(--shadow-8-rotate, ${r$2(this.cssBoxShadow(8, true, false))});
6428
-
6429
6422
  display: flex;
6430
6423
 
6431
6424
  flex-direction: column;
@@ -6440,12 +6433,14 @@
6440
6433
 
6441
6434
  .range {
6442
6435
  position: relative;
6436
+
6443
6437
  display: flex;
6444
6438
 
6445
6439
  flex-direction: row;
6446
6440
 
6447
6441
  width: 3.5rem;
6448
6442
  height: 4.75rem;
6443
+
6449
6444
  margin: 0 0.25rem 0.25rem;
6450
6445
  }
6451
6446
 
@@ -6457,21 +6452,20 @@
6457
6452
  background: var(---decidables-spinner-background-color);
6458
6453
  }
6459
6454
 
6460
- /* Adapted from http://danielstern.ca/range.css/#/ */
6461
6455
  /* Overall */
6462
6456
  input[type=range] {
6463
- width: 4.75rem;
6464
- height: 3.5rem;
6457
+ width: 3.5rem;
6458
+ height: 4.75rem;
6459
+
6465
6460
  padding: 0;
6466
6461
  margin: 0;
6462
+
6463
+ appearance: none;
6467
6464
 
6468
6465
  background-color: unset;
6469
6466
 
6470
- transform: rotate(-90deg);
6471
- transform-origin: 2.375rem 2.375rem;
6472
-
6473
- /* stylelint-disable-next-line property-no-vendor-prefix */
6474
- -webkit-appearance: none;
6467
+ direction: rtl;
6468
+ writing-mode: vertical-lr;
6475
6469
  }
6476
6470
 
6477
6471
  input[type=range]:enabled {
@@ -6482,16 +6476,10 @@
6482
6476
  outline: none;
6483
6477
  }
6484
6478
 
6485
- /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */
6486
- input[type=range]::-ms-tooltip {
6487
- display: none;
6488
- }
6489
-
6490
6479
  /* Track */
6491
- /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */
6492
6480
  input[type=range]::-webkit-slider-runnable-track {
6493
- width: 100%;
6494
- height: 4px;
6481
+ width: 4px;
6482
+ height: 100%;
6495
6483
 
6496
6484
  background: var(---decidables-slider-background-color);
6497
6485
  border: 0;
@@ -6503,10 +6491,9 @@
6503
6491
  background: var(---decidables-slider-background-color);
6504
6492
  }
6505
6493
 
6506
- /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */
6507
6494
  input[type=range]::-moz-range-track {
6508
- width: 100%;
6509
- height: 4px;
6495
+ width: 4px;
6496
+ height: 100%;
6510
6497
 
6511
6498
  background: var(---decidables-slider-background-color);
6512
6499
  border: 0;
@@ -6514,57 +6501,17 @@
6514
6501
  box-shadow: none;
6515
6502
  }
6516
6503
 
6517
- /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */
6518
- input[type=range]::-ms-track {
6519
- width: 100%;
6520
- height: 4px;
6521
-
6522
- color: transparent;
6523
-
6524
- background: transparent;
6525
- border-color: transparent;
6526
- }
6527
-
6528
- /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */
6529
- input[type=range]::-ms-fill-lower {
6530
- background: #cccccc;
6531
- /* background: var(---decidables-slider-background-color); */
6532
- border: 0;
6533
- border-radius: 2px;
6534
- box-shadow: none;
6535
- }
6536
-
6537
- /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */
6538
- input[type=range]::-ms-fill-upper {
6539
- background: #cccccc;
6540
- /* background: var(---decidables-slider-background-color); */
6541
- border: 0;
6542
- border-radius: 2px;
6543
- box-shadow: none;
6544
- }
6545
-
6546
- /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */
6547
- input[type=range]:focus::-ms-fill-lower {
6548
- background: var(---decidables-slider-background-color);
6549
- }
6550
-
6551
- /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */
6552
- input[type=range]:focus::-ms-fill-upper {
6553
- background: var(---decidables-slider-background-color);
6554
- }
6555
-
6556
6504
  /* Thumb */
6557
- /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */
6558
6505
  input[type=range]::-webkit-slider-thumb {
6559
- width: 10px;
6560
- height: 20px;
6561
- margin-top: -8px;
6506
+ width: 20px;
6507
+ height: 10px;
6508
+
6509
+ margin-left: -8px;
6510
+
6511
+ appearance: none;
6562
6512
 
6563
6513
  border: 0;
6564
6514
  border-radius: 4px;
6565
-
6566
- /* stylelint-disable-next-line property-no-vendor-prefix */
6567
- -webkit-appearance: none;
6568
6515
  }
6569
6516
 
6570
6517
  input[type=range]:disabled::-webkit-slider-thumb {
@@ -6574,112 +6521,65 @@
6574
6521
 
6575
6522
  input[type=range]:enabled::-webkit-slider-thumb {
6576
6523
  background: var(---decidables-slider-color);
6577
- box-shadow: var(---shadow-2-rotate);
6524
+ box-shadow: var(---shadow-2);
6578
6525
  }
6579
6526
 
6580
6527
  input[type=range]:enabled:hover::-webkit-slider-thumb {
6581
- box-shadow: var(---shadow-4-rotate);
6528
+ box-shadow: var(---shadow-4);
6582
6529
  }
6583
6530
 
6584
6531
  input[type=range]:enabled:active::-webkit-slider-thumb {
6585
- box-shadow: var(---shadow-8-rotate);
6532
+ box-shadow: var(---shadow-8);
6586
6533
  }
6587
6534
 
6588
- :host(.keyboard) input[type=range]:enabled:focus::-webkit-slider-thumb {
6589
- box-shadow: var(---shadow-4-rotate);
6535
+ input[type=range]:enabled:focus-visible::-webkit-slider-thumb {
6536
+ box-shadow: var(---shadow-4);
6590
6537
  }
6591
6538
 
6592
- :host(.keyboard) input[type=range]:focus:active::-webkit-slider-thumb {
6593
- box-shadow: var(---shadow-8-rotate);
6539
+ input[type=range]:enabled:focus-visible:active::-webkit-slider-thumb {
6540
+ box-shadow: var(---shadow-8);
6594
6541
  }
6595
6542
 
6596
- /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */
6597
6543
  input[type=range]::-moz-range-thumb {
6598
- width: 10px;
6599
- height: 20px;
6544
+ width: 20px;
6545
+ height: 10px;
6600
6546
 
6601
6547
  border: 0;
6602
6548
  border-radius: 4px;
6603
6549
  }
6604
6550
 
6605
- /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */
6606
6551
  input[type=range]:disabled::-moz-range-thumb {
6607
6552
  background: var(---decidables-slider-background-color);
6608
6553
  box-shadow: none;
6609
6554
  }
6610
6555
 
6611
- /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */
6612
6556
  input[type=range]:enabled::-moz-range-thumb {
6613
6557
  background: var(---decidables-slider-color);
6614
- box-shadow: var(---shadow-2-rotate);
6558
+ box-shadow: var(---shadow-2);
6615
6559
  }
6616
6560
 
6617
- /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */
6618
6561
  input[type=range]:enabled:hover::-moz-range-thumb {
6619
- box-shadow: var(---shadow-4-rotate);
6562
+ box-shadow: var(---shadow-4);
6620
6563
  }
6621
6564
 
6622
- /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */
6623
6565
  input[type=range]:enabled:active::-moz-range-thumb {
6624
- box-shadow: var(---shadow-8-rotate);
6625
- }
6626
-
6627
- :host(.keyboard) input[type=range]:enabled:focus::-moz-range-thumb {
6628
- box-shadow: var(---shadow-4-rotate);
6629
- }
6630
-
6631
- :host(.keyboard) input[type=range]:enabled:focus:active::-moz-range-thumb {
6632
- box-shadow: var(---shadow-8-rotate);
6633
- }
6634
-
6635
- /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */
6636
- input[type=range]::-ms-thumb {
6637
- width: 10px;
6638
- height: 20px;
6639
- margin-top: 0;
6640
-
6641
- background: #999999;
6642
- /* background: var(---color-element-enabled); */
6643
- border: 0;
6644
- border-radius: 4px;
6645
- box-shadow: var(---shadow-2-rotate);
6646
- }
6647
-
6648
- /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */
6649
- input[type=range]:disabled::-ms-thumb {
6650
- background: var(---decidables-slider-background-color);
6651
- box-shadow: none;
6652
- }
6653
-
6654
- /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */
6655
- input[type=range]:enabled::-ms-thumb {
6656
- background: var(---decidables-slider-color);
6657
- box-shadow: var(---shadow-2-rotate);
6658
- }
6659
-
6660
- /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */
6661
- input[type=range]:enabled:hover::-ms-thumb {
6662
- box-shadow: var(---shadow-4-rotate);
6663
- }
6664
-
6665
- /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */
6666
- input[type=range]:enabled:active::-ms-thumb {
6667
- box-shadow: var(---shadow-8-rotate);
6566
+ box-shadow: var(---shadow-8);
6668
6567
  }
6669
6568
 
6670
- /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */
6671
- :host(.keyboard) input[type=range]:enabled:focus::-ms-thumb {
6672
- box-shadow: var(---shadow-4-rotate);
6569
+ input[type=range]:enabled:focus-visible::-moz-range-thumb {
6570
+ box-shadow: var(---shadow-4);
6673
6571
  }
6674
6572
 
6675
- :host(.keyboard) input[type=range]:enabled:focus:active::-ms-thumb {
6676
- box-shadow: var(---shadow-8-rotate);
6573
+ input[type=range]:enabled:focus-visible:active::-moz-range-thumb {
6574
+ box-shadow: var(---shadow-8);
6677
6575
  }
6678
6576
 
6679
- datalist {
6577
+ /* Tick marks */
6578
+ .datalist {
6680
6579
  position: absolute;
6681
6580
  left: 2rem;
6682
6581
  z-index: -1;
6582
+
6683
6583
  display: flex;
6684
6584
 
6685
6585
  flex-direction: column;
@@ -6692,14 +6592,13 @@
6692
6592
  font-size: 0.75rem;
6693
6593
  }
6694
6594
 
6695
- option {
6696
- padding: 0;
6697
-
6595
+ .option {
6698
6596
  line-height: 0.8;
6699
- min-block-size: 0;
6597
+
6598
+ white-space: nowrap;
6700
6599
  }
6701
6600
 
6702
- option::before {
6601
+ .option::before {
6703
6602
  content: "– ";
6704
6603
  }
6705
6604
  `];
@@ -6712,10 +6611,10 @@
6712
6611
  <div class="range">
6713
6612
  <input ?disabled=${this.disabled} type="range" id="slider" min=${o(this.rangeMin)} max=${o(this.rangeMax)} step=${o(this.rangeStep)} .value=${this.rangeValue} @change=${this.rangeChanged.bind(this)} @input=${this.rangeInputted.bind(this)}>
6714
6613
  ${this.scale ? x$1`
6715
- <datalist id="ticks">
6716
- <option value=${o(this.rangeMax)} label=${o(this.max)}></option>
6717
- <option value=${o(this.rangeMin)} label=${o(this.min)}></option>
6718
- </datalist>
6614
+ <div class="datalist">
6615
+ <div class="option">${o(this.max)}</div>
6616
+ <div class="option">${o(this.min)}</div>
6617
+ </div>
6719
6618
  ` : x$1``}
6720
6619
  </div>
6721
6620
  <decidables-spinner ?disabled=${this.disabled} min=${o(this.min)} max=${o(this.max)} step=${o(this.step)} .value=${this.value} @input=${this.spinnerInputted.bind(this)}></decidables-spinner>
@@ -6775,13 +6674,14 @@
6775
6674
  ---decidables-spinner-prefix: var(--decidables-spinner-prefix, "");
6776
6675
 
6777
6676
  ---decidables-spinner-postfix: var(--decidables-spinner-postfix, "");
6778
- ---decidables-spinner-postfix-padding: var(--decidables-spinner-postfix-padding, 0);
6677
+ ---decidables-spinner-postfix-padding: var(--decidables-spinner-postfix-padding, 0rem);
6779
6678
 
6780
6679
  display: block;
6781
6680
  }
6782
6681
 
6783
6682
  label {
6784
6683
  position: relative;
6684
+
6785
6685
  display: flex;
6786
6686
 
6787
6687
  flex-direction: column;
@@ -6799,6 +6699,7 @@
6799
6699
  left: calc(50% - var(---decidables-spinner-input-width) / 2 + 0.25rem);
6800
6700
 
6801
6701
  font-size: var(---decidables-spinner-font-size);
6702
+
6802
6703
  line-height: normal;
6803
6704
 
6804
6705
  content: var(---decidables-spinner-prefix);
@@ -6810,6 +6711,7 @@
6810
6711
  bottom: 1px;
6811
6712
 
6812
6713
  font-size: var(---decidables-spinner-font-size);
6714
+
6813
6715
  line-height: normal;
6814
6716
 
6815
6717
  content: var(---decidables-spinner-postfix);
@@ -6817,20 +6719,24 @@
6817
6719
 
6818
6720
  input[type=number] {
6819
6721
  width: var(---decidables-spinner-input-width);
6820
- padding-right: var(---decidables-spinner-postfix-padding);
6722
+
6723
+ padding: 1px var(---decidables-spinner-postfix-padding) 1px 2px;
6724
+ margin: 0;
6821
6725
 
6822
6726
  font-family: var(---font-family-base);
6823
6727
  font-size: var(---decidables-spinner-font-size);
6728
+
6824
6729
  color: inherit;
6730
+
6825
6731
  text-align: right;
6826
6732
 
6733
+ appearance: none;
6734
+ outline: none;
6735
+
6827
6736
  background: none;
6828
6737
  border: 0;
6829
6738
  border-radius: 0;
6830
- outline: none;
6831
6739
  box-shadow: var(---shadow-2);
6832
-
6833
- -webkit-appearance: none; /* stylelint-disable-line property-no-vendor-prefix */
6834
6740
  }
6835
6741
 
6836
6742
  input[type=number]:hover {
@@ -6847,20 +6753,54 @@
6847
6753
 
6848
6754
  border: 0;
6849
6755
  box-shadow: none;
6756
+ }
6757
+
6758
+ /* HACK: Manage spinners in Firefox */
6759
+ @supports (-moz-appearance: textfield) {
6760
+ input[type=number] {
6761
+ padding-right: calc(18px + var(---decidables-spinner-postfix-padding));
6762
+
6763
+ appearance: textfield;
6764
+ }
6850
6765
 
6851
- /* HACK: Use correct text color in Safari */
6852
- -webkit-opacity: 1;
6853
- /* HACK: Hide spinners in disabled input for Firefox and Safari */
6854
- -moz-appearance: textfield; /* stylelint-disable-line property-no-vendor-prefix */
6855
- /* HACK: Use correct text color in Safari */
6856
- -webkit-text-fill-color: var(---color-text);
6766
+ input[type=number]:hover,
6767
+ input[type=number]:focus,
6768
+ input[type=number]:active {
6769
+ padding-right: var(---decidables-spinner-postfix-padding);
6770
+
6771
+ appearance: none;
6772
+ }
6773
+
6774
+ input[type=number]:disabled {
6775
+ padding-right: calc(18px + var(---decidables-spinner-postfix-padding));
6776
+
6777
+ appearance: textfield;
6778
+ }
6779
+ }
6780
+
6781
+ /* HACK: Manage spinners in Chrome/Edge/Safari */
6782
+ input[type=number]::-webkit-inner-spin-button {
6783
+ /* Avoid oversized spinners in Safari */
6784
+ font-size: 1.125rem;
6785
+
6786
+ opacity: 0;
6787
+ }
6788
+
6789
+ input[type=number]:hover::-webkit-inner-spin-button,
6790
+ input[type=number]:focus::-webkit-inner-spin-button,
6791
+ input[type=number]:active::-webkit-inner-spin-button {
6792
+ opacity: 1;
6857
6793
  }
6858
6794
 
6859
- /* HACK: Hide spinners in disabled input for Firefox and Safari */
6860
- input[type=number]:disabled::-webkit-outer-spin-button,
6861
6795
  input[type=number]:disabled::-webkit-inner-spin-button {
6862
- margin: 0;
6863
- -webkit-appearance: none; /* stylelint-disable-line property-no-vendor-prefix */
6796
+ opacity: 0;
6797
+ }
6798
+
6799
+ /* HACK: Adjust padding on mobile w/o spinners */
6800
+ @media only screen and (hover: none) and (pointer: coarse) {
6801
+ input[type=number] {
6802
+ padding-right: calc(1.125rem + var(---decidables-spinner-postfix-padding));
6803
+ }
6864
6804
  }
6865
6805
  `];
6866
6806
  }
@@ -6924,13 +6864,16 @@
6924
6864
 
6925
6865
  width: 1px;
6926
6866
  height: 1px;
6867
+
6927
6868
  padding: 0;
6928
6869
  margin: -1px;
6870
+
6929
6871
  overflow: hidden;
6930
6872
 
6931
6873
  white-space: nowrap;
6932
6874
 
6933
6875
  border: 0;
6876
+
6934
6877
  clip-path: inset(100%); /* May cause a performance issue: https://github.com/h5bp/html5-boilerplate/issues/2021 */
6935
6878
  }
6936
6879
 
@@ -6946,6 +6889,7 @@
6946
6889
  position: relative;
6947
6890
 
6948
6891
  min-width: 24px;
6892
+
6949
6893
  padding: 0 0 36px;
6950
6894
  margin: 0.25rem 0.25rem 0;
6951
6895
 
@@ -6957,17 +6901,17 @@
6957
6901
  input[type=checkbox] + label + label::before,
6958
6902
  input[type=checkbox] + label + label::after {
6959
6903
  position: absolute;
6960
-
6961
6904
  left: 50%;
6962
6905
 
6963
6906
  margin: 0;
6964
6907
 
6965
- content: "";
6966
-
6967
6908
  outline: 0;
6968
6909
 
6969
- transition: all var(---transition-duration) ease;
6910
+ content: "";
6911
+
6970
6912
  transform: translate(-50%, 0);
6913
+
6914
+ transition: all var(---transition-duration) ease;
6971
6915
  }
6972
6916
 
6973
6917
  input[type=checkbox] + label + label::before {
@@ -7015,17 +6959,14 @@
7015
6959
  box-shadow: var(---shadow-8);
7016
6960
  }
7017
6961
 
7018
- /* stylelint-disable-next-line selector-max-compound-selectors */
7019
- :host(.keyboard) input[type=checkbox]:enabled:focus + label + label::after {
6962
+ input[type=checkbox]:enabled:focus-visible + label + label::after {
7020
6963
  box-shadow: var(---shadow-4);
7021
6964
  }
7022
6965
 
7023
- /* stylelint-disable selector-max-compound-selectors */
7024
- :host(.keyboard) input[type=checkbox]:enabled:focus + label + label:active::after,
7025
- :host(.keyboard) input[type=checkbox]:enabled:focus:active + label + label::after {
6966
+ input[type=checkbox]:enabled:focus-visible + label + label:active::after,
6967
+ input[type=checkbox]:enabled:focus-visible:active + label + label::after {
7026
6968
  box-shadow: var(---shadow-8);
7027
6969
  }
7028
- /* stylelint-enable selector-max-compound-selectors */
7029
6970
  `];
7030
6971
  }
7031
6972
  render() {
@@ -7145,39 +7086,46 @@
7145
7086
 
7146
7087
  width: 1px;
7147
7088
  height: 1px;
7089
+
7148
7090
  padding: 0;
7149
7091
  margin: -1px;
7092
+
7150
7093
  overflow: hidden;
7151
7094
 
7152
7095
  white-space: nowrap;
7153
7096
 
7154
7097
  border: 0;
7098
+
7155
7099
  clip-path: inset(100%); /* May cause a performance issue: https://github.com/h5bp/html5-boilerplate/issues/2021 */
7156
7100
  }
7157
7101
 
7158
7102
  input[type=radio] + label {
7159
7103
  width: 100%;
7104
+
7160
7105
  padding: 0.375rem 0.75rem;
7161
7106
 
7162
7107
  font-family: var(---font-family-base);
7163
7108
  font-size: 1.125rem;
7109
+
7164
7110
  line-height: 1.5;
7111
+
7165
7112
  color: var(---color-text-inverse);
7113
+
7166
7114
  text-align: center;
7167
7115
 
7168
7116
  cursor: pointer;
7117
+ outline: none;
7169
7118
 
7170
7119
  background-color: var(---color-element-enabled);
7171
7120
  border: 0;
7172
7121
  border-radius: 0;
7173
- outline: none;
7174
-
7175
7122
  box-shadow: var(---shadow-2);
7176
7123
  }
7177
7124
 
7178
7125
  input[type=radio]:checked + label {
7179
- background-color: var(---color-element-selected);
7180
7126
  outline: none;
7127
+
7128
+ background-color: var(---color-element-selected);
7181
7129
  box-shadow: var(---shadow-2);
7182
7130
  }
7183
7131
 
@@ -7185,6 +7133,7 @@
7185
7133
  z-index: 1;
7186
7134
 
7187
7135
  outline: none;
7136
+
7188
7137
  box-shadow: var(---shadow-4);
7189
7138
  }
7190
7139
 
@@ -7192,6 +7141,7 @@
7192
7141
  z-index: 2;
7193
7142
 
7194
7143
  outline: none;
7144
+
7195
7145
  box-shadow: var(---shadow-8);
7196
7146
  }
7197
7147
 
@@ -7205,25 +7155,28 @@
7205
7155
  border-bottom-left-radius: 0.25rem;
7206
7156
  }
7207
7157
 
7208
- :host(.keyboard) input[type=radio]:focus + label {
7158
+ input[type=radio]:focus-visible + label {
7209
7159
  z-index: 1;
7210
7160
 
7211
7161
  outline: none;
7162
+
7212
7163
  box-shadow: var(---shadow-4);
7213
7164
  }
7214
7165
 
7215
- :host(.keyboard) input[type=radio]:focus:checked + label {
7166
+ input[type=radio]:focus-visible:checked + label {
7216
7167
  z-index: 1;
7217
7168
 
7218
- background-color: var(---color-element-selected);
7219
7169
  outline: none;
7170
+
7171
+ background-color: var(---color-element-selected);
7220
7172
  box-shadow: var(---shadow-4);
7221
7173
  }
7222
7174
 
7223
- :host(.keyboard) input[type=radio]:focus + label:active {
7175
+ input[type=radio]:focus-visible + label:active {
7224
7176
  z-index: 2;
7225
7177
 
7226
7178
  outline: none;
7179
+
7227
7180
  box-shadow: var(---shadow-8);
7228
7181
  }
7229
7182
  `];
@@ -7932,6 +7885,7 @@
7932
7885
 
7933
7886
  width: 6rem;
7934
7887
  height: 3.5rem;
7888
+
7935
7889
  padding: 0.375rem 0.75rem;
7936
7890
  margin: 0.25rem;
7937
7891
 
@@ -7978,6 +7932,7 @@
7978
7932
 
7979
7933
  .feedback .outcome {
7980
7934
  font-weight: 600;
7935
+
7981
7936
  line-height: 1.15;
7982
7937
  }
7983
7938
 
@@ -12802,6 +12757,7 @@
12802
12757
  /* Labels */
12803
12758
  .payoff {
12804
12759
  font-weight: 600;
12760
+
12805
12761
  line-height: 0.75rem;
12806
12762
  }
12807
12763
 
@@ -16247,9 +16203,9 @@
16247
16203
 
16248
16204
  .point.interactive {
16249
16205
  cursor: move;
16206
+ outline: none;
16250
16207
 
16251
16208
  filter: url("#shadow-2");
16252
- outline: none;
16253
16209
 
16254
16210
  /* HACK: This gets Safari to correctly apply the filter! */
16255
16211
  /* https://github.com/emilbjorklund/svg-weirdness/issues/27 */
@@ -16272,7 +16228,7 @@
16272
16228
  stroke: #00ff00;
16273
16229
  }
16274
16230
 
16275
- :host(.keyboard) .point.interactive:focus {
16231
+ .point.interactive:focus-visible {
16276
16232
  filter: url("#shadow-8");
16277
16233
 
16278
16234
  /* HACK: This gets Safari to correctly apply the filter! */
@@ -16311,8 +16267,8 @@
16311
16267
 
16312
16268
  .diagonal {
16313
16269
  stroke: var(---color-element-border);
16314
- stroke-dasharray: 4;
16315
16270
  stroke-width: 1;
16271
+ stroke-dasharray: 4;
16316
16272
  }
16317
16273
 
16318
16274
  .curve-iso-d {
@@ -16337,8 +16293,8 @@
16337
16293
  font-size: 0.75rem;
16338
16294
 
16339
16295
  dominant-baseline: central;
16340
- text-anchor: middle;
16341
16296
 
16297
+ text-anchor: middle;
16342
16298
  fill: var(---color-text-inverse);
16343
16299
  }
16344
16300
 
@@ -16350,8 +16306,8 @@
16350
16306
 
16351
16307
  @media (pointer: coarse) {
16352
16308
  .interactive .touch {
16353
- stroke-linecap: round;
16354
16309
  stroke-width: 12;
16310
+ stroke-linecap: round;
16355
16311
  }
16356
16312
  }
16357
16313
  `];
@@ -17111,16 +17067,16 @@
17111
17067
  .signal.interactive,
17112
17068
  .threshold.interactive {
17113
17069
  cursor: ew-resize;
17070
+ outline: none;
17114
17071
 
17115
17072
  filter: url("#shadow-2");
17116
- outline: none;
17117
17073
  }
17118
17074
 
17119
17075
  .signal.unequal {
17120
17076
  cursor: ns-resize;
17077
+ outline: none;
17121
17078
 
17122
17079
  filter: url("#shadow-2");
17123
- outline: none;
17124
17080
  }
17125
17081
 
17126
17082
  .signal.interactive.unequal {
@@ -17148,10 +17104,10 @@
17148
17104
  transform: translateY(0);
17149
17105
  }
17150
17106
 
17151
- :host(.keyboard) .noise.interactive:focus,
17152
- :host(.keyboard) .signal.interactive:focus,
17153
- :host(.keyboard) .signal.unequal:focus,
17154
- :host(.keyboard) .threshold.interactive:focus {
17107
+ .noise.interactive:focus-visible,
17108
+ .signal.interactive:focus-visible,
17109
+ .signal.unequal:focus-visible,
17110
+ .threshold.interactive:focus-visible {
17155
17111
  filter: url("#shadow-8");
17156
17112
 
17157
17113
  /* HACK: This gets Safari to correctly apply the filter! */
@@ -17316,8 +17272,8 @@
17316
17272
 
17317
17273
  @media (pointer: coarse) {
17318
17274
  .interactive .touch {
17319
- stroke-linecap: round;
17320
17275
  stroke-width: 12;
17276
+ stroke-linecap: round;
17321
17277
  }
17322
17278
  }
17323
17279
  `];
@@ -18202,7 +18158,7 @@
18202
18158
 
18203
18159
  /*
18204
18160
  SDTParameters element
18205
- <sdt-paramters>
18161
+ <sdt-parameters>
18206
18162
 
18207
18163
  Attributes:
18208
18164
 
@@ -18279,6 +18235,7 @@
18279
18235
 
18280
18236
  decidables-slider {
18281
18237
  line-height: 1;
18238
+
18282
18239
  text-align: center;
18283
18240
  }
18284
18241