@scania/tegel 1.38.0-handleValueChange-correct-logic-beta.0 → 1.38.0-support-paste-beta.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.
Files changed (83) hide show
  1. package/dist/cjs/handlePasteEvent-901439bf.js +33 -0
  2. package/dist/cjs/index-ca8040ad.js +4 -4
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/tds-core-header-item_2.cjs.entry.js +1 -1
  5. package/dist/cjs/tds-dropdown_2.cjs.entry.js +21 -49
  6. package/dist/cjs/tds-side-menu-collapse-button.cjs.entry.js +6 -4
  7. package/dist/cjs/tds-side-menu-dropdown-list-item.cjs.entry.js +1 -1
  8. package/dist/cjs/tds-side-menu-item.cjs.entry.js +1 -1
  9. package/dist/cjs/tds-slider.cjs.entry.js +10 -39
  10. package/dist/cjs/tds-text-field.cjs.entry.js +31 -6
  11. package/dist/cjs/tds-textarea.cjs.entry.js +18 -3
  12. package/dist/cjs/tegel.cjs.js +1 -1
  13. package/dist/collection/components/dropdown/dropdown-option/dropdown-option.js +3 -13
  14. package/dist/collection/components/dropdown/dropdown.js +18 -48
  15. package/dist/collection/components/header/header-item/header-item.css +3 -3
  16. package/dist/collection/components/side-menu/side-menu-collapse-button/side-menu-collapse-button.js +6 -4
  17. package/dist/collection/components/side-menu/side-menu-dropdown-list-item/side-menu-dropdown-list-item.css +6 -84
  18. package/dist/collection/components/side-menu/side-menu-item/side-menu-item.css +6 -82
  19. package/dist/collection/components/slider/slider.css +28 -24
  20. package/dist/collection/components/slider/slider.js +9 -38
  21. package/dist/collection/components/text-field/text-field.js +31 -6
  22. package/dist/collection/components/textarea/textarea.js +18 -3
  23. package/dist/collection/utils/handlePasteEvent.js +29 -0
  24. package/dist/components/p-0cf97292.js +31 -0
  25. package/dist/components/{p-072bf53a.js → p-63437b77.js} +1 -1
  26. package/dist/components/{p-ad6babcd.js → p-6adb1ce3.js} +1 -1
  27. package/dist/components/{p-9a47d831.js → p-94bfc9f4.js} +19 -37
  28. package/dist/components/{p-c4318e35.js → p-d64878cb.js} +3 -13
  29. package/dist/components/{p-92c2da85.js → p-ea381f94.js} +1 -1
  30. package/dist/components/tds-dropdown-option.js +1 -1
  31. package/dist/components/tds-dropdown.js +1 -1
  32. package/dist/components/tds-header-brand-symbol.js +1 -1
  33. package/dist/components/tds-header-dropdown.js +1 -1
  34. package/dist/components/tds-header-hamburger.js +1 -1
  35. package/dist/components/tds-header-item.js +1 -1
  36. package/dist/components/tds-header-launcher-button.js +1 -1
  37. package/dist/components/tds-header-launcher.js +2 -2
  38. package/dist/components/tds-side-menu-collapse-button.js +7 -5
  39. package/dist/components/tds-side-menu-dropdown-list-item.js +1 -1
  40. package/dist/components/tds-side-menu-dropdown.js +1 -1
  41. package/dist/components/tds-side-menu-item.js +1 -1
  42. package/dist/components/tds-slider.js +12 -59
  43. package/dist/components/tds-table-footer.js +2 -2
  44. package/dist/components/tds-text-field.js +210 -1
  45. package/dist/components/tds-textarea.js +18 -3
  46. package/dist/esm/handlePasteEvent-eefa3884.js +31 -0
  47. package/dist/esm/index-51d04e39.js +4 -4
  48. package/dist/esm/loader.js +1 -1
  49. package/dist/esm/tds-core-header-item_2.entry.js +1 -1
  50. package/dist/esm/tds-dropdown_2.entry.js +21 -49
  51. package/dist/esm/tds-side-menu-collapse-button.entry.js +6 -4
  52. package/dist/esm/tds-side-menu-dropdown-list-item.entry.js +1 -1
  53. package/dist/esm/tds-side-menu-item.entry.js +1 -1
  54. package/dist/esm/tds-slider.entry.js +10 -39
  55. package/dist/esm/tds-text-field.entry.js +31 -6
  56. package/dist/esm/tds-textarea.entry.js +19 -4
  57. package/dist/esm/tegel.js +1 -1
  58. package/dist/tegel/p-06d3490c.entry.js +1 -0
  59. package/dist/tegel/p-0cf97292.js +1 -0
  60. package/dist/tegel/p-397c8969.entry.js +1 -0
  61. package/dist/tegel/p-5c077bb9.entry.js +1 -0
  62. package/dist/tegel/p-61a1dc59.entry.js +1 -0
  63. package/dist/tegel/p-a0591e58.entry.js +1 -0
  64. package/dist/tegel/p-a4f83463.entry.js +1 -0
  65. package/dist/tegel/p-a7a4fb4b.entry.js +1 -0
  66. package/dist/tegel/p-ae438c2e.entry.js +1 -0
  67. package/dist/tegel/tegel.css +1 -1
  68. package/dist/tegel/tegel.esm.js +1 -1
  69. package/dist/types/components/dropdown/dropdown.d.ts +0 -3
  70. package/dist/types/components/slider/slider.d.ts +0 -2
  71. package/dist/types/components/text-field/text-field.d.ts +1 -0
  72. package/dist/types/components/textarea/textarea.d.ts +2 -0
  73. package/dist/types/utils/handlePasteEvent.d.ts +9 -0
  74. package/package.json +1 -1
  75. package/dist/components/p-a0c21704.js +0 -187
  76. package/dist/tegel/p-2c9ea0be.entry.js +0 -1
  77. package/dist/tegel/p-2f9b15f6.entry.js +0 -1
  78. package/dist/tegel/p-336f2de3.entry.js +0 -1
  79. package/dist/tegel/p-7368906f.entry.js +0 -1
  80. package/dist/tegel/p-a98767ea.entry.js +0 -1
  81. package/dist/tegel/p-c465f9b8.entry.js +0 -1
  82. package/dist/tegel/p-c4f701f6.entry.js +0 -1
  83. package/dist/tegel/p-cd5103e3.entry.js +0 -1
@@ -7,14 +7,13 @@ import generateUniqueId from "../../utils/generateUniqueId";
7
7
  function hasValueChanged(newValue, currentValue) {
8
8
  if (newValue.length !== currentValue.length)
9
9
  return true;
10
- return newValue.some((val, i) => val !== currentValue[i]);
10
+ return newValue.some((val) => !currentValue.includes(val));
11
11
  }
12
12
  /**
13
13
  * @slot <default> - <b>Unnamed slot.</b> For dropdown option elements.
14
14
  */
15
15
  export class TdsDropdown {
16
16
  constructor() {
17
- this.hasFocus = false;
18
17
  this.setDefaultOption = () => {
19
18
  if (this.internalDefaultValue) {
20
19
  // Convert the internal default value to an array if it's not already
@@ -129,23 +128,19 @@ export class TdsDropdown {
129
128
  // Add this line to ensure internal value is cleared
130
129
  this.internalValue = '';
131
130
  };
132
- this.handleFocus = () => {
131
+ this.handleFocus = (event) => {
133
132
  this.open = true;
134
133
  this.filterFocus = true;
135
134
  if (this.multiselect && this.inputElement) {
136
135
  this.inputElement.value = '';
137
136
  }
138
- // Focus event is now handled by focusin listener
137
+ this.tdsFocus.emit(event);
139
138
  if (this.filter) {
140
139
  this.handleFilter({ target: { value: '' } });
141
140
  }
142
141
  };
143
- this.handleBlur = () => {
144
- // Handle internal state changes when component loses focus
145
- this.filterFocus = false;
146
- if (this.multiselect && this.inputElement) {
147
- this.inputElement.value = this.getValue();
148
- }
142
+ this.handleBlur = (event) => {
143
+ this.tdsBlur.emit(event);
149
144
  };
150
145
  this.resetInput = () => {
151
146
  const inputEl = this.host.querySelector('input');
@@ -320,7 +315,7 @@ export class TdsDropdown {
320
315
  }
321
316
  }
322
317
  // Always trigger the focus event to open the dropdown
323
- this.handleFocus();
318
+ this.handleFocus({});
324
319
  }
325
320
  /** Method for closing the Dropdown. */
326
321
  async close() {
@@ -342,25 +337,6 @@ export class TdsDropdown {
342
337
  }
343
338
  }
344
339
  }
345
- onFocusIn(event) {
346
- // Check if the focus is within this dropdown component
347
- if (this.host.contains(event.target)) {
348
- if (!this.hasFocus) {
349
- this.hasFocus = true;
350
- this.tdsFocus.emit(event);
351
- }
352
- }
353
- }
354
- onFocusOut(event) {
355
- // Only emit blur if focus is actually leaving the entire dropdown component
356
- const relatedTarget = event.relatedTarget;
357
- // If relatedTarget is null (focus going to body/window) or outside the component, emit blur
358
- if (this.hasFocus && (!relatedTarget || !this.host.contains(relatedTarget))) {
359
- this.hasFocus = false;
360
- this.handleBlur();
361
- this.tdsBlur.emit(event);
362
- }
363
- }
364
340
  async onKeyDown(event) {
365
341
  var _a;
366
342
  // Get the active element
@@ -480,9 +456,9 @@ export class TdsDropdown {
480
456
  // Generate unique IDs for associating labels and helpers with the input/button
481
457
  const labelId = this.label ? `dropdown-label-${this.name || generateUniqueId()}` : undefined;
482
458
  const helperId = this.helper ? `dropdown-helper-${this.name || generateUniqueId()}` : undefined;
483
- return (h(Host, { key: 'fc01da19c2eeb9c225dea61e473e4c8c64adce9a', class: {
459
+ return (h(Host, { key: '69cdc96b6983b9556b4a9133ef8a0d2fa1e9e18e', class: {
484
460
  [`tds-mode-variant-${this.modeVariant}`]: Boolean(this.modeVariant),
485
- } }, this.label && this.labelPosition === 'outside' && (h("div", { key: 'f6a3c12162a750dfdaf7069b4c31b1b8e64d6d31', id: labelId, class: `label-outside ${this.disabled ? 'disabled' : ''}` }, this.label)), h("div", { key: 'c31cab097be72ebebeb9538a721e281f36365405', class: {
461
+ } }, this.label && this.labelPosition === 'outside' && (h("div", { key: '1cc3f825bc81ca34af7bbe845bd900531f724172', id: labelId, class: `label-outside ${this.disabled ? 'disabled' : ''}` }, this.label)), h("div", { key: '213f3149de4b9bc4c147ab658d6d5199d3360181', class: {
486
462
  'dropdown-select': true,
487
463
  [this.size]: true,
488
464
  'disabled': this.disabled,
@@ -499,7 +475,13 @@ export class TdsDropdown {
499
475
  // eslint-disable-next-line no-return-assign
500
476
  ref: (inputEl) => (this.inputElement = inputEl), class: {
501
477
  placeholder: this.labelPosition === 'inside',
502
- }, type: "text", placeholder: this.filterFocus ? '' : this.placeholder, value: this.multiselect && this.filterFocus ? '' : this.getValue(), disabled: this.disabled, onInput: (event) => this.handleFilter(event), onFocus: () => this.handleFocus(), onKeyDown: (event) => {
478
+ }, type: "text", placeholder: this.filterFocus ? '' : this.placeholder, value: this.multiselect && this.filterFocus ? '' : this.getValue(), disabled: this.disabled, onInput: (event) => this.handleFilter(event), onBlur: (event) => {
479
+ this.filterFocus = false;
480
+ if (this.multiselect) {
481
+ this.inputElement.value = this.getValue();
482
+ }
483
+ this.handleBlur(event);
484
+ }, onFocus: (event) => this.handleFocus(event), onKeyDown: (event) => {
503
485
  if (event.key === 'Escape') {
504
486
  this.open = false;
505
487
  }
@@ -526,7 +508,7 @@ export class TdsDropdown {
526
508
  label-inside-as-placeholder
527
509
  ${this.size}
528
510
  ${this.selectedOptions.length ? 'selected' : ''}
529
- ` }, this.label)), h("div", { class: `placeholder ${this.size}` }, this.selectedOptions.length ? this.getValue() : this.placeholder), h("tds-icon", { "aria-label": "Open/Close dropdown", svgTitle: "Open/Close dropdown", class: `menu-icon ${this.open ? 'open' : 'closed'}`, name: "chevron_down", size: "16px" }))))), h("div", { key: 'd4fe7a4e58238ff30e1d2edd1adda57363cd35ca', role: "listbox", "aria-label": this.tdsAriaLabel, inert: !this.open, "aria-orientation": "vertical", "aria-multiselectable": this.multiselect, ref: (element) => {
511
+ ` }, this.label)), h("div", { class: `placeholder ${this.size}` }, this.selectedOptions.length ? this.getValue() : this.placeholder), h("tds-icon", { "aria-label": "Open/Close dropdown", svgTitle: "Open/Close dropdown", class: `menu-icon ${this.open ? 'open' : 'closed'}`, name: "chevron_down", size: "16px" }))))), h("div", { key: 'af7815b0cb8b36e37278965094d5198a9ff5aba9', role: "listbox", "aria-label": this.tdsAriaLabel, inert: !this.open, "aria-orientation": "vertical", "aria-multiselectable": this.multiselect, ref: (element) => {
530
512
  this.dropdownList = element;
531
513
  }, class: {
532
514
  'dropdown-list': true,
@@ -537,11 +519,11 @@ export class TdsDropdown {
537
519
  'closed': !this.open,
538
520
  [`animation-enter-${this.animation}`]: this.animation !== 'none' && this.open,
539
521
  [`animation-exit-${this.animation}`]: this.animation !== 'none' && !this.open,
540
- } }, h("slot", { key: '883d2ffb1497304b8c3ef8131062769a91516d97', onSlotchange: () => this.handleSlotChange() }), this.filterResult === 0 && this.noResultText !== '' && (h("div", { key: 'cc808c5d33b97f400cd4d6e0544f3da78f81f7a8', class: `no-result ${this.size}` }, this.noResultText))), this.helper && (h("div", { key: '66226ce4194e4e0c8d7e618b874c52180aa007f2', id: helperId, class: {
522
+ } }, h("slot", { key: '736b82b5f716fa818c17ae161341bc6b131d9cf2', onSlotchange: () => this.handleSlotChange() }), this.filterResult === 0 && this.noResultText !== '' && (h("div", { key: 'f1c1471cbec4a6dd8830a8540f54e142c559d539', class: `no-result ${this.size}` }, this.noResultText))), this.helper && (h("div", { key: 'aa138a349c073158785ae1177c0879604f6b8d90', id: helperId, class: {
541
523
  helper: true,
542
524
  error: this.error,
543
525
  disabled: this.disabled,
544
- } }, this.error && h("tds-icon", { key: 'c2dd9ccb39957ef4cd2e9e0e0af3dbfdf531f20e', name: "error", size: "16px" }), this.helper))));
526
+ } }, this.error && h("tds-icon", { key: '936a8bd7db8a0ed994d6827c26bbb6732420fea4', name: "error", size: "16px" }), this.helper))));
545
527
  }
546
528
  static get is() { return "tds-dropdown"; }
547
529
  static get encapsulation() { return "shadow"; }
@@ -1130,18 +1112,6 @@ export class TdsDropdown {
1130
1112
  "target": "window",
1131
1113
  "capture": false,
1132
1114
  "passive": true
1133
- }, {
1134
- "name": "focusin",
1135
- "method": "onFocusIn",
1136
- "target": undefined,
1137
- "capture": false,
1138
- "passive": false
1139
- }, {
1140
- "name": "focusout",
1141
- "method": "onFocusOut",
1142
- "target": undefined,
1143
- "capture": false,
1144
- "passive": false
1145
1115
  }, {
1146
1116
  "name": "keydown",
1147
1117
  "method": "onKeyDown",
@@ -22,10 +22,10 @@
22
22
  }
23
23
  :host ::slotted(button:focus-visible),
24
24
  :host ::slotted(a:focus-visible) {
25
- border: none;
26
25
  outline: 2px solid var(--tds-focus-outline-color);
27
- box-shadow: inset 0 0 0 3px var(--tds-white);
28
- outline-offset: -2px;
26
+ box-shadow: 0 0 0 1px var(--tds-white);
27
+ outline-offset: 1px;
28
+ z-index: 1;
29
29
  }
30
30
  :host .component-active ::slotted(button),
31
31
  :host .component-active ::slotted(a) {
@@ -28,12 +28,14 @@ export class TdsSideMenuCollapseButton {
28
28
  this.collapsed = this.sideMenuEl.collapsed;
29
29
  }
30
30
  render() {
31
- return (h(Host, { key: '71376a20166f28551ed139362144a79a20e35213' }, h("div", { key: 'a68ff13ee66ff8866f41bd36dbd5f2a38408ed6c', class: {
31
+ return (h(Host, { key: 'fecd00dc0ef2ce899b82ce304034b5b6f75704ed', role: "button", tabindex: "0", "aria-expanded": !this.collapsed ? 'true' : 'false', onClick: () => {
32
+ this.handleClick();
33
+ } }, h("div", { key: '6d7ae7bd95d8c4c37895d06ce8d4eaebe08e91dd', class: {
32
34
  'wrapper': true,
33
35
  'state-collapsed': this.collapsed,
34
- } }, h("tds-side-menu-item", { key: '087dae21fe6c6f7f0bb7065d5b8ea4ab1f94a759', class: { button: true } }, h("button", { key: 'fd2202b8a038728b756978fac15eaff80f425d25', type: "button", "aria-expanded": !this.collapsed ? 'true' : 'false', onClick: () => {
35
- this.handleClick();
36
- } }, h("svg", { key: '35c741c7fc3a9d009313cb16f6d656033f757b2f', class: "icon", slot: "icon", fill: "none", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 32 32" }, h("path", { key: 'e9b567c3137eef6b8b309cea7606ebae227ebdf9', "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M16 1.975a1 1 0 0 1 1 1v20.3l9.311-9.312a1 1 0 0 1 1.415 1.414l-9.887 9.887a2.6 2.6 0 0 1-3.677 0l-9.887-9.887a1 1 0 1 1 1.414-1.414L15 23.274V2.975a1 1 0 0 1 1-1ZM5.188 28.001a1 1 0 0 0 0 2h21.62a1 1 0 1 0 0-2H5.188Z", fill: "currentColor" })), !this.collapsed && h("slot", { key: 'b6af5dcd3554623803af3d88243eeeef573e20aa' }))))));
36
+ } }, h("tds-side-menu-item", { key: '2cc8087248c6f9eee7943039092c5a45f9c2376d', class: {
37
+ button: true,
38
+ } }, h("a", { key: 'e2510c1f475b5f6ff3d1de367360fc2e34e0c0c0' }, h("svg", { key: '7ea54a6bcfb144cab3045fb34316eac400c59e43', class: "icon", slot: "icon", fill: "none", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 32 32" }, h("path", { key: '3db930370416d9906ccdf821e6d43d0e6633534a', "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M16 1.975a1 1 0 0 1 1 1v20.3l9.311-9.312a1 1 0 0 1 1.415 1.414l-9.887 9.887a2.6 2.6 0 0 1-3.677 0l-9.887-9.887a1 1 0 1 1 1.414-1.414L15 23.274V2.975a1 1 0 0 1 1-1ZM5.188 28.001a1 1 0 0 0 0 2h21.62a1 1 0 1 0 0-2H5.188Z", fill: "currentColor" })), !this.collapsed && h("slot", { key: '7fba28f202ca8089ffce93c051c8d6afc23afef7' }))))));
37
39
  }
38
40
  static get is() { return "tds-side-menu-collapse-button"; }
39
41
  static get encapsulation() { return "shadow"; }
@@ -26,102 +26,24 @@
26
26
  }
27
27
  :host .component ::slotted(a:hover),
28
28
  :host .component ::slotted(button:hover) {
29
- background-color: var(--tds-sidebar-item-state-hover);
29
+ background-color: var(--tds-header-nav-item-dropdown-opened-background-hover);
30
30
  cursor: pointer;
31
- position: relative;
32
- }
33
- :host .component ::slotted(a:hover)::before,
34
- :host .component ::slotted(button:hover)::before {
35
- content: "";
36
- position: absolute;
37
- top: 0;
38
- left: 0;
39
- width: 4px;
40
- height: 100%;
41
- background-color: var(--tds-side-menu-item-hover-indicator);
42
- }
43
- :host .component ::slotted(a:hover:focus-visible),
44
- :host .component ::slotted(button:hover:focus-visible) {
45
- background-color: var(--tds-sidebar-item-state-hover);
46
- cursor: pointer;
47
- position: relative;
48
- }
49
- :host .component ::slotted(a:hover:focus-visible)::before,
50
- :host .component ::slotted(button:hover:focus-visible)::before {
51
- content: "";
52
- position: absolute;
53
- top: 3px;
54
- left: 3px;
55
- width: 4px;
56
- height: calc(100% - 6px);
57
- background-color: var(--tds-side-menu-item-hover-indicator);
58
31
  }
59
32
  :host .component ::slotted(a:active),
60
33
  :host .component ::slotted(button:active) {
61
- background-color: var(--tds-sidemenu-item-state-active) !important;
34
+ background-color: var(--tds-header-nav-item-dropdown-opened-background-active) !important;
62
35
  cursor: pointer;
63
- position: relative;
64
- }
65
- :host .component ::slotted(a:active)::before,
66
- :host .component ::slotted(button:active)::before {
67
- content: "";
68
- position: absolute;
69
- top: 0;
70
- left: 0;
71
- width: 4px;
72
- height: 100%;
73
- background-color: var(--tds-side-menu-item-pressed-indicator);
74
- }
75
- :host .component ::slotted(a:active:focus-visible),
76
- :host .component ::slotted(button:active:focus-visible) {
77
- background-color: var(--tds-sidemenu-item-state-active) !important;
78
- cursor: pointer;
79
- position: relative;
80
- }
81
- :host .component ::slotted(a:active:focus-visible)::before,
82
- :host .component ::slotted(button:active:focus-visible)::before {
83
- content: "";
84
- position: absolute;
85
- top: 3px;
86
- left: 3px;
87
- width: 4px;
88
- height: calc(100% - 6px);
89
- background-color: var(--tds-side-menu-item-pressed-indicator);
90
36
  }
91
37
  :host .component ::slotted(a:focus-visible) {
92
38
  outline: 2px solid var(--tds-focus-outline-color);
93
- box-shadow: inset 0 0 0 3px var(--tds-white);
94
- outline-offset: -2px;
39
+ box-shadow: 0 0 0 1px var(--tds-white);
40
+ outline-offset: 1px;
41
+ z-index: 1;
95
42
  }
96
43
  :host .component.component-selected ::slotted(a),
97
44
  :host .component.component-selected ::slotted(button) {
45
+ box-shadow: inset 4px 0 0 var(--tds-nav-item-border-color-active);
98
46
  background-color: var(--tds-header-nav-item-dropdown-opened-background-selected);
99
- position: relative;
100
- }
101
- :host .component.component-selected ::slotted(a)::before,
102
- :host .component.component-selected ::slotted(button)::before {
103
- content: "";
104
- position: absolute;
105
- top: 0;
106
- left: 0;
107
- width: 4px;
108
- height: 100%;
109
- background-color: var(--tds-sidebar-side-menu-single-subitem-selected-border-color);
110
- }
111
- :host .component.component-selected ::slotted(a:focus-visible),
112
- :host .component.component-selected ::slotted(button:focus-visible) {
113
- background-color: var(--tds-header-nav-item-dropdown-opened-background-selected);
114
- position: relative;
115
- }
116
- :host .component.component-selected ::slotted(a:focus-visible)::before,
117
- :host .component.component-selected ::slotted(button:focus-visible)::before {
118
- content: "";
119
- position: absolute;
120
- top: 3px;
121
- left: 3px;
122
- width: 4px;
123
- height: calc(100% - 6px);
124
- background-color: var(--tds-sidebar-side-menu-single-subitem-selected-border-color);
125
47
  }
126
48
  :host .component.component-dropdown-has-icon:not(.component-collapsed) ::slotted(a),
127
49
  :host .component.component-dropdown-has-icon:not(.component-collapsed) ::slotted(button) {
@@ -43,76 +43,17 @@
43
43
  :host .component ::slotted(a:focus-visible),
44
44
  :host .component ::slotted(button:focus-visible) {
45
45
  outline: 2px solid var(--tds-focus-outline-color);
46
- box-shadow: inset 0 0 0 3px var(--tds-white);
47
- outline-offset: -2px;
46
+ box-shadow: 0 0 0 1px var(--tds-white);
47
+ outline-offset: 1px;
48
+ z-index: 1;
48
49
  }
49
50
  :host .component:hover ::slotted(a),
50
- :host .component:hover ::slotted(button),
51
- :host .component:hover ::slotted(tds-side-menu-user) {
51
+ :host .component:hover ::slotted(button) {
52
52
  background-color: var(--tds-sidebar-item-state-hover);
53
- position: relative;
54
- }
55
- :host .component:hover ::slotted(a)::before,
56
- :host .component:hover ::slotted(button)::before,
57
- :host .component:hover ::slotted(tds-side-menu-user)::before {
58
- content: "";
59
- position: absolute;
60
- top: 0;
61
- left: 0;
62
- width: 4px;
63
- height: 100%;
64
- background-color: var(--tds-side-menu-item-hover-indicator);
65
- }
66
- :host .component:hover ::slotted(a:focus-visible),
67
- :host .component:hover ::slotted(button:focus-visible),
68
- :host .component:hover ::slotted(tds-side-menu-user:focus-visible) {
69
- background-color: var(--tds-sidebar-item-state-hover);
70
- position: relative;
71
- }
72
- :host .component:hover ::slotted(a:focus-visible)::before,
73
- :host .component:hover ::slotted(button:focus-visible)::before,
74
- :host .component:hover ::slotted(tds-side-menu-user:focus-visible)::before {
75
- content: "";
76
- position: absolute;
77
- top: 3px;
78
- left: 3px;
79
- width: 4px;
80
- height: calc(100% - 6px);
81
- background-color: var(--tds-side-menu-item-hover-indicator);
82
53
  }
83
54
  :host .component:active ::slotted(a),
84
- :host .component:active ::slotted(button),
85
- :host .component:active ::slotted(tds-side-menu-user) {
86
- background-color: var(--tds-sidemenu-item-state-active);
87
- position: relative;
88
- }
89
- :host .component:active ::slotted(a)::before,
90
- :host .component:active ::slotted(button)::before,
91
- :host .component:active ::slotted(tds-side-menu-user)::before {
92
- content: "";
93
- position: absolute;
94
- top: 0;
95
- left: 0;
96
- width: 4px;
97
- height: 100%;
98
- background-color: var(--tds-side-menu-item-pressed-indicator);
99
- }
100
- :host .component:active ::slotted(a:focus-visible),
101
- :host .component:active ::slotted(button:focus-visible),
102
- :host .component:active ::slotted(tds-side-menu-user:focus-visible) {
55
+ :host .component:active ::slotted(button) {
103
56
  background-color: var(--tds-sidemenu-item-state-active);
104
- position: relative;
105
- }
106
- :host .component:active ::slotted(a:focus-visible)::before,
107
- :host .component:active ::slotted(button:focus-visible)::before,
108
- :host .component:active ::slotted(tds-side-menu-user:focus-visible)::before {
109
- content: "";
110
- position: absolute;
111
- top: 3px;
112
- left: 3px;
113
- width: 4px;
114
- height: calc(100% - 6px);
115
- background-color: var(--tds-side-menu-item-pressed-indicator);
116
57
  }
117
58
  :host .component-collapsed ::slotted(a),
118
59
  :host .component-collapsed ::slotted(button) {
@@ -125,8 +66,8 @@
125
66
  :host .component-selected:not(:host .component-active) ::slotted(a),
126
67
  :host .component-selected:not(:host .component-active) ::slotted(button),
127
68
  :host .component-selected:not(:host .component-active) ::slotted(tds-side-menu-user) {
128
- background-color: var(--tds-sidebar-item-state-selected);
129
69
  position: relative;
70
+ background-color: var(--tds-sidebar-item-state-selected);
130
71
  }
131
72
  :host .component-selected:not(:host .component-active) ::slotted(a)::before,
132
73
  :host .component-selected:not(:host .component-active) ::slotted(button)::before,
@@ -139,23 +80,6 @@
139
80
  height: 100%;
140
81
  background-color: var(--tds-sidebar-side-menu-single-subitem-selected-border-color);
141
82
  }
142
- :host .component-selected:not(:host .component-active) ::slotted(a:focus-visible),
143
- :host .component-selected:not(:host .component-active) ::slotted(button:focus-visible),
144
- :host .component-selected:not(:host .component-active) ::slotted(tds-side-menu-user:focus-visible) {
145
- background-color: var(--tds-sidebar-item-state-selected);
146
- position: relative;
147
- }
148
- :host .component-selected:not(:host .component-active) ::slotted(a:focus-visible)::before,
149
- :host .component-selected:not(:host .component-active) ::slotted(button:focus-visible)::before,
150
- :host .component-selected:not(:host .component-active) ::slotted(tds-side-menu-user:focus-visible)::before {
151
- content: "";
152
- position: absolute;
153
- top: 3px;
154
- left: 3px;
155
- width: 4px;
156
- height: calc(100% - 6px);
157
- background-color: var(--tds-sidebar-side-menu-single-subitem-selected-border-color);
158
- }
159
83
 
160
84
  @media (min-width: 992px) {
161
85
  :host .component.component-collapsed ::slotted(a),
@@ -27,6 +27,12 @@ tds-slider .sr-only {
27
27
  pointer-events: none;
28
28
  }
29
29
 
30
+ .tds-slider-wrapper:focus-within {
31
+ outline: 2px solid var(--tds-blue-400);
32
+ outline-offset: 2px;
33
+ border-radius: var(--tds-spacing-element-4);
34
+ }
35
+
30
36
  .tds-slider {
31
37
  width: 100%;
32
38
  display: flex;
@@ -38,12 +44,6 @@ tds-slider .sr-only {
38
44
  height: 20px;
39
45
  position: relative;
40
46
  }
41
- .tds-slider .tds-slider-inner:focus-within .tds-slider__thumb-inner {
42
- outline: var(--tds-slider-thumb-focus-outline);
43
- box-shadow: var(--tds-slider-thumb-focus-box-shadow);
44
- outline-offset: var(--tds-slider-thumb-focus-outline-offset);
45
- z-index: 1;
46
- }
47
47
  .tds-slider .tds-slider__controls {
48
48
  position: relative;
49
49
  top: -25px;
@@ -81,22 +81,29 @@ tds-slider .sr-only {
81
81
  justify-content: center;
82
82
  border-radius: 4px 4px 0 0;
83
83
  }
84
- .tds-slider .tds-slider__input-values .tds-slider__input-field-wrapper tds-text-field .text-field-input[type=number] {
85
- width: auto;
86
- padding: 12px;
84
+ .tds-slider .tds-slider__input-values .tds-slider__input-field-wrapper input.tds-slider__input-field {
85
+ font: var(--tds-detail-02);
86
+ letter-spacing: var(--tds-detail-02-ls);
87
+ color: var(--tds-slider-inputfield-number-color);
88
+ border: 0;
89
+ background-color: transparent;
87
90
  text-align: center;
91
+ padding: 12px;
92
+ box-shadow: inset 0 -1px 0 var(--tds-slider-inputfield-box-shadow);
93
+ border-radius: 4px 4px 0 0;
88
94
  appearance: textfield;
89
95
  }
90
- .tds-slider .tds-slider__input-values .tds-slider__input-field-wrapper tds-text-field .text-field-input[type=number]::-webkit-outer-spin-button,
91
- .tds-slider .tds-slider__input-values .tds-slider__input-field-wrapper tds-text-field .text-field-input[type=number]::-webkit-inner-spin-button {
92
- appearance: none;
93
- margin: 0;
96
+ .tds-slider .tds-slider__input-values .tds-slider__input-field-wrapper input.tds-slider__input-field:hover {
97
+ box-shadow: inset 0 -1px 0 var(--tds-grey-600);
94
98
  }
95
- .tds-slider .tds-slider__input-values .tds-slider__input-field-wrapper tds-text-field .text-field-input:read-only {
96
- text-align: left;
99
+ .tds-slider .tds-slider__input-values .tds-slider__input-field-wrapper input.tds-slider__input-field:focus {
100
+ box-shadow: inset 0 -2px 0 var(--tds-blue-400);
101
+ outline: 0;
97
102
  }
98
- .tds-slider .tds-slider__input-values .tds-slider__input-field-wrapper tds-text-field .text-field-icon__readonly {
99
- right: 12px;
103
+ .tds-slider .tds-slider__input-values .tds-slider__input-field-wrapper input.tds-slider__input-field::-webkit-outer-spin-button,
104
+ .tds-slider .tds-slider__input-values .tds-slider__input-field-wrapper input.tds-slider__input-field::-webkit-inner-spin-button {
105
+ appearance: none;
106
+ margin: 0;
100
107
  }
101
108
  .tds-slider label {
102
109
  font: var(--tds-detail-05);
@@ -115,7 +122,7 @@ tds-slider .sr-only {
115
122
  letter-spacing: var(--tds-detail-01-ls);
116
123
  user-select: none;
117
124
  border-radius: 4px;
118
- padding: 8px 11px;
125
+ padding: 8px;
119
126
  position: absolute;
120
127
  transform: translate(-50%, -100%);
121
128
  top: -24px;
@@ -132,9 +139,6 @@ tds-slider .sr-only {
132
139
  .tds-slider .tds-slider__thumb {
133
140
  position: absolute;
134
141
  }
135
- .tds-slider .tds-slider__thumb:hover .tds-slider__value {
136
- display: block;
137
- }
138
142
  .tds-slider .tds-slider__thumb .tds-slider__thumb-inner {
139
143
  width: 20px;
140
144
  height: 20px;
@@ -160,7 +164,7 @@ tds-slider .sr-only {
160
164
  }
161
165
  .tds-slider .tds-slider__thumb .tds-slider__thumb-inner:hover::before {
162
166
  display: block;
163
- background-color: var(--tds-slider-thumb-hover);
167
+ opacity: 0.08;
164
168
  }
165
169
  .tds-slider .tds-slider__thumb .tds-slider__thumb-inner.pressed {
166
170
  width: 24px;
@@ -168,7 +172,7 @@ tds-slider .sr-only {
168
172
  }
169
173
  .tds-slider .tds-slider__thumb .tds-slider__thumb-inner.pressed::before {
170
174
  display: block;
171
- background-color: var(--tds-slider-thumb-pressed);
175
+ opacity: 0.16 !important;
172
176
  }
173
177
  .tds-slider .tds-slider__value-dividers-wrapper {
174
178
  position: relative;
@@ -303,7 +307,7 @@ tds-slider .sr-only {
303
307
  }
304
308
 
305
309
  .tds-slider .tds-slider__controls .tds-slider__control {
306
- cursor: pointer;
310
+ cursor: default;
307
311
  }
308
312
  .tds-slider .tds-slider__controls .tds-slider__control.tds-slider__control-minus tds-icon, .tds-slider .tds-slider__controls .tds-slider__control.tds-slider__control-plus tds-icon {
309
313
  color: var(--tds-slider-controls-color);
@@ -267,25 +267,6 @@ export class TdsSlider {
267
267
  const rounded = this.roundToStep(newValue);
268
268
  this.forceValueUpdate(rounded.toString());
269
269
  }
270
- /** Updates the slider value when using tds-text-field (reads value from host element) */
271
- updateSliderValueFromTextField(event) {
272
- const hostEl = event.target; // tds-text-field host element exposes a value prop
273
- const raw = hostEl && typeof hostEl.value !== 'undefined' ? hostEl.value : '';
274
- let newValue = parseFloat(raw);
275
- if (Number.isNaN(newValue)) {
276
- return;
277
- }
278
- const minNum = parseFloat(this.min);
279
- const maxNum = parseFloat(this.max);
280
- if (newValue < minNum) {
281
- newValue = minNum;
282
- }
283
- else if (newValue > maxNum) {
284
- newValue = maxNum;
285
- }
286
- const rounded = this.roundToStep(newValue);
287
- this.forceValueUpdate(rounded.toString());
288
- }
289
270
  /** Updates the slider value based on the current input value when enter is pressed */
290
271
  handleInputFieldEnterPress(event) {
291
272
  event.stopPropagation();
@@ -306,16 +287,7 @@ export class TdsSlider {
306
287
  }
307
288
  }
308
289
  calculateInputSizeFromMax() {
309
- const input = this.host.querySelector('tds-text-field input[type="number"]');
310
- if (input) {
311
- if (this.readOnly) {
312
- // explicit size to fit suffix icon
313
- input.style.width = `${52 + this.max.length * 8}px`;
314
- }
315
- else {
316
- input.setAttribute('size', `${this.max.length}`);
317
- }
318
- }
290
+ return this.max.length;
319
291
  }
320
292
  controlsStep(delta, event) {
321
293
  if (this.readOnly || this.disabled) {
@@ -386,7 +358,6 @@ export class TdsSlider {
386
358
  }
387
359
  }
388
360
  componentDidLoad() {
389
- this.calculateInputSizeFromMax();
390
361
  if (!this.resizeObserverAdded) {
391
362
  this.resizeObserverAdded = true;
392
363
  const resizeObserver = new ResizeObserver(() => {
@@ -430,30 +401,30 @@ export class TdsSlider {
430
401
  }
431
402
  render() {
432
403
  const ariaLabel = this.readOnly ? this.tdsReadOnlyAriaLabel : this.label || this.tdsAriaLabel;
433
- return (h("div", { key: '6077f356c7723ce54bdee208039af07154499684', class: {
404
+ return (h("div", { key: 'b4dd7706df0be052f0028a5f8ba6b6158f403b13', class: {
434
405
  'tds-slider-wrapper': true,
435
406
  'read-only': this.readOnly,
436
- } }, h("input", { key: '0ee6d0f1c8661bdcae6a3df5eca7b154306338eb', class: "tds-slider-native-element", type: "range", name: this.name, min: this.min, max: this.max, step: this.step, value: this.value, disabled: this.disabled }), h("div", { key: 'cfb2700cf9d16c204182a72f9f00ccd03b58ef89', class: "sr-only", "aria-live": "assertive", ref: (el) => {
407
+ } }, h("input", { key: '672c2aaa6dfee6489cd5e764ef151728c2af10fc', class: "tds-slider-native-element", type: "range", name: this.name, min: this.min, max: this.max, step: this.step, value: this.value, disabled: this.disabled }), h("div", { key: '8c7200436a9ef6524a3b2d554a2556bda8cc6afd', class: "sr-only", "aria-live": "assertive", ref: (el) => {
437
408
  this.ariaLiveElement = el;
438
- } }), h("div", { key: 'b90c1d06afd96682a108b24506660e7544c4be38', class: {
409
+ } }), h("div", { key: '1ce8e7ddccd19ca15733683768900c8fcde514d3', class: {
439
410
  'tds-slider': true,
440
411
  'disabled': this.disabled,
441
412
  'tds-slider-small': this.useSmall,
442
413
  }, ref: (el) => {
443
414
  this.wrapperElement = el;
444
- }, "aria-disabled": this.disabled ? 'true' : 'false' }, h("label", { key: '3d0bc3f42de59e4397dc8da0edf7ec29802ee8ab', id: `${this.sliderId}-label`, class: this.showTickNumbers && 'offset' }, this.label), this.useInput && (h("div", { key: 'c3868e2225cc4dacf60d23e31bdb2b106b85ce22', class: "tds-slider__input-values" }, h("div", { key: 'af100279435087101f37043ea083e5e33d930079', class: "tds-slider__input-value min-value" }, this.min))), this.useControls && (h("div", { key: '83c0078ec0ae39d29582e1ff1f4c3fc5f3a09483', class: "tds-slider__controls" }, h("div", { key: '31947e6cd76c35b8b8e7c0fb92b777e3bf8538b7', class: "tds-slider__control tds-slider__control-minus", onClick: (event) => this.stepLeft(event), role: "button", "aria-label": "Decrease value", tabindex: this.disabled || this.readOnly ? '-1' : '0' }, h("tds-icon", { key: '4c005f8c628236482eecdac51bd43a860f9e38d9', name: "minus", size: "16px" })))), h("div", { key: 'c6f21ded71244d202e255a90039f03872af09d5a', class: "tds-slider-inner", tabIndex: -1 }, this.tickValues.length > 0 && (h("div", { key: 'df1e820e1077ccec24826e38ba1b1fdd8dc0ae90', class: "tds-slider__value-dividers-wrapper" }, h("div", { key: 'f8cadf57f46068f61d1afc2bbcc30997a750705b', class: "tds-slider__value-dividers" }, this.tickValues.map((value) => (h("div", { class: "tds-slider__value-divider" }, this.showTickNumbers && h("span", null, value))))))), h("div", { key: '389ba385948b6772e803b7b9ec858061451f7534', class: "tds-slider__track", ref: (el) => {
415
+ }, "aria-disabled": this.disabled ? 'true' : 'false' }, h("label", { key: '54616f1cb5e4c13541f6f5fa700ddf4b1c4a9493', id: `${this.sliderId}-label`, class: this.showTickNumbers && 'offset' }, this.label), this.useInput && (h("div", { key: 'f6b8283409e9fb74ebf5fe89af5d88c29fde904d', class: "tds-slider__input-values" }, h("div", { key: '30532947c70dc8e0612fea3c01c25a5e86dacfca', class: "tds-slider__input-value min-value" }, this.min))), this.useControls && (h("div", { key: '6c001b8caba4a396bb9f4f4f3ba7b9ee6ca36f84', class: "tds-slider__controls" }, h("div", { key: '7a5804b789f84a4cd749c21d0ecc4b73bf7bae09', class: "tds-slider__control tds-slider__control-minus", onClick: (event) => this.stepLeft(event), role: "button", "aria-label": "Decrease value", tabindex: this.disabled || this.readOnly ? '-1' : '0' }, h("tds-icon", { key: '41db4dc1a8fda4972303fd48400078035648ca5c', name: "minus", size: "16px" })))), h("div", { key: 'f3cb2039ec4245b1d5c58bb819675381c4490197', class: "tds-slider-inner", tabIndex: -1 }, this.tickValues.length > 0 && (h("div", { key: '38bf8ca015894f3a42a0e9e33800cc7f0ff9c8d5', class: "tds-slider__value-dividers-wrapper" }, h("div", { key: '6a5aaa5d652d55f23db24b1b531664d125fc2a23', class: "tds-slider__value-dividers" }, this.tickValues.map((value) => (h("div", { class: "tds-slider__value-divider" }, this.showTickNumbers && h("span", null, value))))))), h("div", { key: '0c99475a8bdb1fdec04358421ec34630111a63b8', class: "tds-slider__track", ref: (el) => {
445
416
  this.trackElement = el;
446
417
  }, tabindex: this.disabled ? '-1' : '0', role: "presentation", onFocus: () => {
447
418
  if (this.thumbElement) {
448
419
  this.thumbElement.focus();
449
420
  }
450
- } }, h("div", { key: '5409aec334156fc5c5ac6a2cdbcb38ee50e35259', class: "tds-slider__track-fill", ref: (el) => {
421
+ } }, h("div", { key: 'd3ece50db5fbc17e4ebbf4272faa17fcf201dccf', class: "tds-slider__track-fill", ref: (el) => {
451
422
  this.trackFillElement = el;
452
- } }), h("div", { key: '8e0953ed9771846db11b9f79f6844065494f1b01', class: "tds-slider__thumb", ref: (el) => {
423
+ } }), h("div", { key: 'c304176e6a240820418d80aa8bfad35fbbdaf0f4', class: "tds-slider__thumb", ref: (el) => {
453
424
  this.thumbElement = el;
454
- }, onMouseDown: () => this.grabThumb(), onTouchStart: () => this.grabThumb(), role: "slider", "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": this.value, "aria-valuetext": `${this.value} of ${this.max}`, "aria-labelledby": `${this.sliderId}-label`, "aria-grabbed": this.thumbGrabbed ? 'true' : 'false', "aria-label": ariaLabel, tabindex: this.disabled ? '-1' : '0' }, this.tooltip && (h("div", { key: 'ed08cca6219adff68babc9c535aff278a1b3325e', class: "tds-slider__value" }, this.value, h("svg", { key: 'dc46d041d7c123400a42ea9c9472cf0a329eb4a1', width: "18", height: "14", viewBox: "0 0 18 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '3d46edb2069bd056a2ae09efa4bfa7f6319afe3b', d: "M8.15882 12.6915L0.990487 1.54076C0.562658 0.875246 1.0405 0 1.83167 0H16.1683C16.9595 0 17.4373 0.875246 17.0095 1.54076L9.84118 12.6915C9.44754 13.3038 8.55246 13.3038 8.15882 12.6915Z", fill: "currentColor" })))), h("div", { key: '202f2b005a969cd7eb3396c14ef6f72224fcd56a', class: "tds-slider__thumb-inner", ref: (el) => {
425
+ }, onMouseDown: () => this.grabThumb(), onTouchStart: () => this.grabThumb(), role: "slider", "aria-valuemin": this.min, "aria-valuemax": this.max, "aria-valuenow": this.value, "aria-valuetext": `${this.value} of ${this.max}`, "aria-labelledby": `${this.sliderId}-label`, "aria-grabbed": this.thumbGrabbed ? 'true' : 'false', "aria-label": ariaLabel, tabindex: this.disabled ? '-1' : '0' }, this.tooltip && (h("div", { key: '7c46c4f8b3cc3bf3aeae7c841a2f38e7b3d1dfbb', class: "tds-slider__value" }, this.value, h("svg", { key: '871a05a8fc1560c8e94071172c57563d63e10f22', width: "18", height: "14", viewBox: "0 0 18 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '0c99295a2049b3aac5d0472880e63acc4318fa07', d: "M8.15882 12.6915L0.990487 1.54076C0.562658 0.875246 1.0405 0 1.83167 0H16.1683C16.9595 0 17.4373 0.875246 17.0095 1.54076L9.84118 12.6915C9.44754 13.3038 8.55246 13.3038 8.15882 12.6915Z", fill: "currentColor" })))), h("div", { key: 'bf42f5b512d3041a88bd8cc420a5a4aaeb875e49', class: "tds-slider__thumb-inner", ref: (el) => {
455
426
  this.thumbInnerElement = el;
456
- } })))), this.useInput && (h("div", { key: 'ca2e84c4bccc24ebbc58a4915f62b5ecb77462c9', class: "tds-slider__input-values" }, h("div", { key: '58fdb8a9a25b9f15314aab8ffaee9424fbb26458', class: "tds-slider__input-value", onClick: (event) => this.stepLeft(event) }, this.max), h("div", { key: '4cba8f4c2b8a89922dbaa9eec4c2f9d12f43b62c', class: "tds-slider__input-field-wrapper" }, h("tds-text-field", { key: '65d311769aa5202134676cf9c4652132fbfc364d', noMinWidth: true, size: "sm", type: "number", value: this.value, min: this.min, max: this.max, readOnly: this.readOnly, disabled: this.disabled, onTdsChange: (e) => console.log(e), tdsAriaLabel: this.readOnly ? this.tdsReadOnlyAriaLabel : undefined, onTdsBlur: (event) => this.updateSliderValueFromTextField(event), onKeyDown: (event) => this.handleInputFieldEnterPress(event) })))), this.useControls && (h("div", { key: 'da8881158bee1aec2724a0e71af3faa88bc0eb17', class: "tds-slider__controls" }, h("div", { key: '241b11a3bee6ce8cf3e53ba77a095e2fb0cdb8a6', class: "tds-slider__control tds-slider__control-plus", onClick: (event) => this.stepRight(event), role: "button", "aria-label": "Increase value", tabindex: this.disabled || this.readOnly ? '-1' : '0' }, h("tds-icon", { key: 'c8e5466b53a1fe6abaaab77741e4adb7ec197341', name: "plus", size: "16px" })))))));
427
+ } })))), this.useInput && (h("div", { key: '9a1ed941f13b84e738500921b12aeb21ace2464c', class: "tds-slider__input-values" }, h("div", { key: '2bdf5b0fb2687075b2fc12ce931859d2f26a0685', class: "tds-slider__input-value", onClick: (event) => this.stepLeft(event) }, this.max), h("div", { key: '480825ddccd550527ac18f046c6a8ce26baaba87', class: "tds-slider__input-field-wrapper" }, h("input", { key: '94a1446990ea0ae3955e8db9f0119e4a0ec71970', size: this.calculateInputSizeFromMax(), class: "tds-slider__input-field", value: this.value, "aria-label": this.readOnly ? this.tdsReadOnlyAriaLabel : undefined, onBlur: (event) => this.updateSliderValueOnInputChange(event), onKeyDown: (event) => this.handleInputFieldEnterPress(event), type: "number", min: this.min, max: this.max, step: this.step })))), this.useControls && (h("div", { key: 'b7415e621df023ffe0eca844d9970454d01c72ce', class: "tds-slider__controls" }, h("div", { key: '044a984a7212d56f8c1bcb5709608d90677d7647', class: "tds-slider__control tds-slider__control-plus", onClick: (event) => this.stepRight(event), role: "button", "aria-label": "Increase value", tabindex: this.disabled || this.readOnly ? '-1' : '0' }, h("tds-icon", { key: '0b6410f7fb4af32681c3f49f29c9696e871bfd5a', name: "plus", size: "16px" })))))));
457
428
  }
458
429
  static get is() { return "tds-slider"; }
459
430
  static get originalStyleUrls() {