@scania/tegel 1.38.0 → 1.39.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 (130) hide show
  1. package/dist/cjs/getAriaInvalid-66a2eade.js +25 -0
  2. package/dist/cjs/index-ca8040ad.js +6 -10
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/tds-accordion-item.cjs.entry.js +1 -1
  5. package/dist/cjs/{tds-button.cjs.entry.js → tds-button_2.cjs.entry.js} +25 -0
  6. package/dist/cjs/tds-card.cjs.entry.js +10 -3
  7. package/dist/cjs/tds-core-header-item_2.cjs.entry.js +1 -1
  8. package/dist/cjs/tds-dropdown_2.cjs.entry.js +55 -22
  9. package/dist/cjs/tds-link.cjs.entry.js +1 -1
  10. package/dist/cjs/tds-navigation-tab.cjs.entry.js +1 -1
  11. package/dist/cjs/tds-popover-canvas.cjs.entry.js +6 -3
  12. package/dist/cjs/tds-side-menu-collapse-button.cjs.entry.js +4 -6
  13. package/dist/cjs/tds-side-menu-dropdown-list-item.cjs.entry.js +1 -1
  14. package/dist/cjs/tds-side-menu-item.cjs.entry.js +1 -1
  15. package/dist/cjs/tds-slider.cjs.entry.js +39 -10
  16. package/dist/cjs/tds-text-field.cjs.entry.js +6 -5
  17. package/dist/cjs/tds-textarea.cjs.entry.js +5 -3
  18. package/dist/cjs/tds-toast.cjs.entry.js +1 -1
  19. package/dist/cjs/tegel.cjs.js +1 -1
  20. package/dist/collection/components/accordion/accordion-item/accordion-item.css +8 -4
  21. package/dist/collection/components/card/card.css +12 -0
  22. package/dist/collection/components/card/card.js +45 -2
  23. package/dist/collection/components/dropdown/dropdown-option/dropdown-option.js +13 -3
  24. package/dist/collection/components/dropdown/dropdown.js +56 -20
  25. package/dist/collection/components/header/header-item/header-item.css +3 -3
  26. package/dist/collection/components/link/link.css +13 -15
  27. package/dist/collection/components/popover-canvas/popover-canvas.css +1 -1
  28. package/dist/collection/components/popover-canvas/popover-canvas.js +26 -10
  29. package/dist/collection/components/side-menu/side-menu-collapse-button/side-menu-collapse-button.js +4 -6
  30. package/dist/collection/components/side-menu/side-menu-dropdown-list-item/side-menu-dropdown-list-item.css +84 -6
  31. package/dist/collection/components/side-menu/side-menu-item/side-menu-item.css +82 -6
  32. package/dist/collection/components/slider/slider.css +24 -28
  33. package/dist/collection/components/slider/slider.js +38 -9
  34. package/dist/collection/components/tabs/navigation-tabs/navigation-tab/navigation-tab.css +1 -1
  35. package/dist/collection/components/text-field/text-field.js +6 -5
  36. package/dist/collection/components/textarea/textarea.js +5 -3
  37. package/dist/collection/components/toast/toast.css +7 -7
  38. package/dist/collection/utils/getAriaInvalid.js +21 -0
  39. package/dist/components/{p-63437b77.js → p-072bf53a.js} +1 -1
  40. package/dist/components/p-3b58a9f3.js +188 -0
  41. package/dist/components/{p-ea381f94.js → p-92c2da85.js} +1 -1
  42. package/dist/components/{p-6adb1ce3.js → p-ad6babcd.js} +1 -1
  43. package/dist/components/p-bbf9492a.js +23 -0
  44. package/dist/components/{p-d64878cb.js → p-c4318e35.js} +13 -3
  45. package/dist/{esm/tds-button.entry.js → components/p-c8dc3566.js} +37 -9
  46. package/dist/components/{p-94bfc9f4.js → p-de36fc8a.js} +44 -20
  47. package/dist/components/{p-df84759a.js → p-f04f04b5.js} +7 -3
  48. package/dist/components/tds-accordion-item.js +1 -1
  49. package/dist/components/tds-button.js +1 -89
  50. package/dist/components/tds-card.js +27 -6
  51. package/dist/components/tds-dropdown-option.js +1 -1
  52. package/dist/components/tds-dropdown.js +1 -1
  53. package/dist/components/tds-header-brand-symbol.js +1 -1
  54. package/dist/components/tds-header-dropdown.js +2 -2
  55. package/dist/components/tds-header-hamburger.js +1 -1
  56. package/dist/components/tds-header-item.js +1 -1
  57. package/dist/components/tds-header-launcher-button.js +1 -1
  58. package/dist/components/tds-header-launcher.js +3 -3
  59. package/dist/components/tds-link.js +1 -1
  60. package/dist/components/tds-navigation-tab.js +1 -1
  61. package/dist/components/tds-popover-canvas.js +1 -1
  62. package/dist/components/tds-side-menu-collapse-button.js +5 -7
  63. package/dist/components/tds-side-menu-dropdown-list-item.js +1 -1
  64. package/dist/components/tds-side-menu-dropdown.js +1 -1
  65. package/dist/components/tds-side-menu-item.js +1 -1
  66. package/dist/components/tds-slider.js +59 -12
  67. package/dist/components/tds-table-footer.js +2 -2
  68. package/dist/components/tds-text-field.js +1 -185
  69. package/dist/components/tds-textarea.js +5 -3
  70. package/dist/components/tds-toast.js +1 -1
  71. package/dist/esm/getAriaInvalid-a9944cb9.js +23 -0
  72. package/dist/esm/index-51d04e39.js +6 -10
  73. package/dist/esm/loader.js +1 -1
  74. package/dist/esm/tds-accordion-item.entry.js +1 -1
  75. package/dist/esm/tds-button_2.entry.js +87 -0
  76. package/dist/esm/tds-card.entry.js +10 -3
  77. package/dist/esm/tds-core-header-item_2.entry.js +1 -1
  78. package/dist/esm/tds-dropdown_2.entry.js +55 -22
  79. package/dist/esm/tds-link.entry.js +1 -1
  80. package/dist/esm/tds-navigation-tab.entry.js +1 -1
  81. package/dist/esm/tds-popover-canvas.entry.js +6 -3
  82. package/dist/esm/tds-side-menu-collapse-button.entry.js +4 -6
  83. package/dist/esm/tds-side-menu-dropdown-list-item.entry.js +1 -1
  84. package/dist/esm/tds-side-menu-item.entry.js +1 -1
  85. package/dist/esm/tds-slider.entry.js +39 -10
  86. package/dist/esm/tds-text-field.entry.js +6 -5
  87. package/dist/esm/tds-textarea.entry.js +6 -4
  88. package/dist/esm/tds-toast.entry.js +1 -1
  89. package/dist/esm/tegel.js +1 -1
  90. package/dist/tegel/p-1859156f.entry.js +1 -0
  91. package/dist/tegel/p-2c9ea0be.entry.js +1 -0
  92. package/dist/tegel/p-2f9b15f6.entry.js +1 -0
  93. package/dist/tegel/p-30901c4d.entry.js +1 -0
  94. package/dist/tegel/p-336f2de3.entry.js +1 -0
  95. package/dist/tegel/p-35293420.entry.js +1 -0
  96. package/dist/tegel/p-4a666337.entry.js +1 -0
  97. package/dist/tegel/p-628dc7f7.entry.js +1 -0
  98. package/dist/tegel/p-83e6e31f.entry.js +1 -0
  99. package/dist/tegel/p-87740f23.entry.js +1 -0
  100. package/dist/tegel/{p-a74cb560.entry.js → p-af63a774.entry.js} +1 -1
  101. package/dist/tegel/p-bbf9492a.js +1 -0
  102. package/dist/tegel/p-c465f9b8.entry.js +1 -0
  103. package/dist/tegel/p-c4f701f6.entry.js +1 -0
  104. package/dist/tegel/{p-5734c6ef.entry.js → p-c61ecc8e.entry.js} +1 -1
  105. package/dist/tegel/{p-db38b4f2.entry.js → p-ecb34850.entry.js} +1 -1
  106. package/dist/tegel/tegel.css +2 -2
  107. package/dist/tegel/tegel.esm.js +1 -1
  108. package/dist/types/components/card/card.d.ts +10 -0
  109. package/dist/types/components/dropdown/dropdown.d.ts +4 -0
  110. package/dist/types/components/popover-canvas/popover-canvas.d.ts +3 -1
  111. package/dist/types/components/slider/slider.d.ts +2 -0
  112. package/dist/types/components/textarea/textarea.d.ts +1 -0
  113. package/dist/types/components.d.ts +26 -2
  114. package/dist/types/utils/getAriaInvalid.d.ts +14 -0
  115. package/package.json +1 -1
  116. package/dist/cjs/tds-divider.cjs.entry.js +0 -31
  117. package/dist/esm/tds-divider.entry.js +0 -27
  118. package/dist/tegel/p-06d3490c.entry.js +0 -1
  119. package/dist/tegel/p-25d026a6.entry.js +0 -1
  120. package/dist/tegel/p-397c8969.entry.js +0 -1
  121. package/dist/tegel/p-49364819.entry.js +0 -1
  122. package/dist/tegel/p-4a77edf1.entry.js +0 -1
  123. package/dist/tegel/p-5c077bb9.entry.js +0 -1
  124. package/dist/tegel/p-61a1dc59.entry.js +0 -1
  125. package/dist/tegel/p-a0591e58.entry.js +0 -1
  126. package/dist/tegel/p-a98767ea.entry.js +0 -1
  127. package/dist/tegel/p-abad3489.entry.js +0 -1
  128. package/dist/tegel/p-ae438c2e.entry.js +0 -1
  129. package/dist/tegel/p-b994e7ac.entry.js +0 -1
  130. package/dist/tegel/p-cd5103e3.entry.js +0 -1
@@ -0,0 +1,188 @@
1
+ import { p as proxyCustomElement, H, d as createEvent, h } from './p-28ef5186.js';
2
+ import { h as hasSlot } from './p-ae110fc2.js';
3
+ import { g as generateUniqueId } from './p-11648030.js';
4
+ import { g as getAriaInvalid } from './p-bbf9492a.js';
5
+ import { d as defineCustomElement$3 } from './p-b390ece5.js';
6
+ import { d as defineCustomElement$2 } from './p-d3866be7.js';
7
+ import { d as defineCustomElement$1 } from './p-40253725.js';
8
+
9
+ const textFieldCss = ".text-field-input-lg.sc-tds-text-field{all:unset;border-radius:4px 4px 0 0;width:100%;box-sizing:border-box;margin:0;border:none;outline:none;height:100%;color:var(--tds-text-field-color);background-color:var(--tds-text-field-background);font:var(--tds-detail-02);letter-spacing:var(--tds-detail-02-ls);padding:var(--tds-spacing-element-20) var(--tds-spacing-element-16)}.text-field-input-lg.sc-tds-text-field::placeholder{color:var(--tds-text-field-placeholder)}.text-field-input-lg.sc-tds-text-field:disabled{user-select:none;pointer-events:none;background-color:var(--tds-text-field-background-disabled);color:var(--tds-text-field-color-disabled)}.text-field-input-lg.sc-tds-text-field:disabled::placeholder{color:var(--tds-text-field-placeholder-disabled)}.text-field-input-lg.sc-tds-text-field:disabled~.text-field-label-inside.sc-tds-text-field{color:var(--tds-text-field-label-disabled)}.text-field-input-md.sc-tds-text-field{all:unset;border-radius:4px 4px 0 0;width:100%;box-sizing:border-box;margin:0;border:none;outline:none;height:100%;color:var(--tds-text-field-color);background-color:var(--tds-text-field-background);font:var(--tds-detail-02);letter-spacing:var(--tds-detail-02-ls);padding:var(--tds-spacing-element-16)}.text-field-input-md.sc-tds-text-field::placeholder{color:var(--tds-text-field-placeholder)}.text-field-input-md.sc-tds-text-field:disabled{user-select:none;pointer-events:none;background-color:var(--tds-text-field-background-disabled);color:var(--tds-text-field-color-disabled)}.text-field-input-md.sc-tds-text-field:disabled::placeholder{color:var(--tds-text-field-placeholder-disabled)}.text-field-input-md.sc-tds-text-field:disabled~.text-field-label-inside.sc-tds-text-field{color:var(--tds-text-field-label-disabled)}.text-field-input-sm.sc-tds-text-field{all:unset;border-radius:4px 4px 0 0;width:100%;box-sizing:border-box;margin:0;border:none;outline:none;height:100%;color:var(--tds-text-field-color);background-color:var(--tds-text-field-background);font:var(--tds-detail-02);letter-spacing:var(--tds-detail-02-ls);padding:var(--tds-spacing-element-16)}.text-field-input-sm.sc-tds-text-field::placeholder{color:var(--tds-text-field-placeholder)}.text-field-input-sm.sc-tds-text-field:disabled{user-select:none;pointer-events:none;background-color:var(--tds-text-field-background-disabled);color:var(--tds-text-field-color-disabled)}.text-field-input-sm.sc-tds-text-field:disabled::placeholder{color:var(--tds-text-field-placeholder-disabled)}.text-field-input-sm.sc-tds-text-field:disabled~.text-field-label-inside.sc-tds-text-field{color:var(--tds-text-field-label-disabled)}.text-field-container.sc-tds-text-field{border-radius:4px 4px 0 0;display:flex;position:relative;height:56px;box-sizing:border-box;background-color:var(--tds-text-field-background);border-bottom:1px solid var(--tds-text-field-border-bottom);border-top:1px solid transparent;transition:border-bottom-color 200ms ease}.text-field-container.sc-tds-text-field:hover{border-bottom-color:var(--tds-text-field-border-bottom-hover)}.form-text-field-md.sc-tds-text-field .text-field-container.sc-tds-text-field{height:48px}.form-text-field-sm.sc-tds-text-field .text-field-container.sc-tds-text-field{height:40px}.text-field-container.sc-tds-text-field:focus-within{border:2px solid var(--tds-focus-outline-color);margin:0 -2px}.text-field-input-container.sc-tds-text-field{position:relative;width:100%}.text-field-data.sc-tds-text-field,.text-field-input.sc-tds-text-field{color:var(--tds-text-field-data-color)}.text-field-label-outside.sc-tds-text-field>*.sc-tds-text-field{font:var(--tds-detail-05);letter-spacing:var(--tds-detail-05-ls);display:block;margin-bottom:var(--tds-spacing-element-8);color:var(--tds-text-field-label-color)}.text-field-label-inside.sc-tds-text-field{font:var(--tds-detail-02);letter-spacing:var(--tds-detail-02-ls);position:absolute;pointer-events:none;color:var(--tds-text-field-label-inside-color);left:16px}.form-text-field.sc-tds-text-field{display:block;min-width:208px}.form-text-field-nomin.sc-tds-text-field{min-width:auto}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-lg.sc-tds-text-field{padding-top:var(--tds-spacing-element-24);padding-bottom:15px}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-lg.sc-tds-text-field~.text-field-label-inside.sc-tds-text-field{top:20px}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-lg.sc-tds-text-field::placeholder{color:transparent}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-lg.sc-tds-text-field .sc-tds-text-field::placeholder{color:transparent}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-lg.sc-tds-text-field:focus::placeholder{transition:color 0.35s ease;color:var(--tds-text-field-placeholder)}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-md.sc-tds-text-field{padding-top:var(--tds-spacing-element-20);padding-bottom:11px}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-md.sc-tds-text-field~.text-field-label-inside.sc-tds-text-field{top:16px}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-md.sc-tds-text-field::placeholder{color:transparent}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-md.sc-tds-text-field .sc-tds-text-field::placeholder{color:transparent}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-md.sc-tds-text-field:focus::placeholder{transition:color 0.35s ease;color:var(--tds-text-field-placeholder)}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-sm.sc-tds-text-field{padding-top:var(--tds-spacing-element-20);padding-bottom:11px}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-sm.sc-tds-text-field~.text-field-label-inside.sc-tds-text-field{top:16px}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-sm.sc-tds-text-field::placeholder{color:transparent}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-sm.sc-tds-text-field .sc-tds-text-field::placeholder{color:transparent}.form-text-field.text-field-container-label-inside.sc-tds-text-field .text-field-input-sm.sc-tds-text-field:focus::placeholder{transition:color 0.35s ease;color:var(--tds-text-field-placeholder)}.form-text-field.text-field-container-label-inside.text-field-focus.sc-tds-text-field .text-field-input-sm.sc-tds-text-field~.text-field-label-inside.sc-tds-text-field,.form-text-field.text-field-container-label-inside.text-field-data.sc-tds-text-field .text-field-input-sm.sc-tds-text-field~.text-field-label-inside.sc-tds-text-field{font:var(--tds-detail-07);letter-spacing:var(--tds-detail-07-ls);transition:0.1s ease all;top:8px}.form-text-field.text-field-container-label-inside.text-field-focus.sc-tds-text-field .text-field-input-md.sc-tds-text-field~.text-field-label-inside.sc-tds-text-field,.form-text-field.text-field-container-label-inside.text-field-data.sc-tds-text-field .text-field-input-md.sc-tds-text-field~.text-field-label-inside.sc-tds-text-field{font:var(--tds-detail-07);letter-spacing:var(--tds-detail-07-ls);transition:0.1s ease all;top:8px}.form-text-field.text-field-container-label-inside.text-field-focus.sc-tds-text-field .text-field-input-lg.sc-tds-text-field~.text-field-label-inside.sc-tds-text-field,.form-text-field.text-field-container-label-inside.text-field-data.sc-tds-text-field .text-field-input-lg.sc-tds-text-field~.text-field-label-inside.sc-tds-text-field{font:var(--tds-detail-07);letter-spacing:var(--tds-detail-07-ls);transition:0.1s ease all;top:12px}.text-field-helper.sc-tds-text-field{font:var(--tds-detail-05);letter-spacing:var(--tds-detail-05-ls);display:flex;gap:8px;justify-content:space-between;flex-basis:100%;padding-top:var(--tds-spacing-element-4);color:var(--tds-text-field-helper)}.text-field-helper.sc-tds-text-field .text-field-textcounter.sc-tds-text-field{margin-left:auto}.form-text-field-disabled.sc-tds-text-field .text-field-container.sc-tds-text-field{cursor:not-allowed;border-bottom-color:transparent}.form-text-field-disabled.sc-tds-text-field .text-field-slot-wrap-prefix.sc-tds-text-field>*.sc-tds-text-field,.form-text-field-disabled.sc-tds-text-field .text-field-slot-wrap-suffix.sc-tds-text-field>*.sc-tds-text-field{color:var(--tds-text-field-ps-color-disabled)}.form-text-field-disabled.sc-tds-text-field .text-field-label-outside.sc-tds-text-field>*.sc-tds-text-field{color:var(--tds-text-field-label-disabled)}.form-text-field-disabled.sc-tds-text-field .text-field-helper.sc-tds-text-field{color:var(--tds-text-field-helper-disabled)}.text-field-icon__readonly.sc-tds-text-field{display:none;position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--tds-text-field-icon-read-only-label-color)}.text-field-icon__readonly.sc-tds-text-field .tds-tooltip.sc-tds-text-field{min-width:150px}.form-text-field-readonly.sc-tds-text-field{user-select:auto;caret-color:transparent;cursor:default}.form-text-field-readonly.sc-tds-text-field .text-field-container.sc-tds-text-field{border-bottom-color:var(--tds-text-field-border-bottom-readonly)}.form-text-field-readonly.sc-tds-text-field .text-field-icon__readonly.sc-tds-text-field{display:block}.form-text-field-readonly.sc-tds-text-field .text-field-icon__readonly.sc-tds-text-field:hover~.text-field-icon__readonly-label.sc-tds-text-field{display:block}.form-text-field-readonly.sc-tds-text-field .text-field-input.sc-tds-text-field{background-color:transparent}.form-text-field-readonly.sc-tds-text-field:has(.text-field-icon__readonly) .text-field-input.sc-tds-text-field{padding-right:54px}.form-text-field-success.sc-tds-text-field:not(.form-text-field-readonly) .text-field-container.sc-tds-text-field{border-bottom-color:var(--tds-text-field-border-bottom-success)}.form-text-field-error.sc-tds-text-field:not(.form-text-field-readonly) .text-field-helper.sc-tds-text-field{color:var(--tds-text-field-helper-error)}.form-text-field-error.sc-tds-text-field:not(.form-text-field-readonly) .text-field-container.sc-tds-text-field{border-bottom-color:var(--tds-text-field-border-bottom-error)}.text-field-helper-error-state.sc-tds-text-field{display:flex;gap:8px;flex-wrap:nowrap}.text-field-textcounter-disabled.sc-tds-text-field{color:var(--tds-text-field-textcounter-disabled)}.text-field-textcounter.sc-tds-text-field{font:var(--tds-detail-05);letter-spacing:var(--tds-detail-05-ls);color:var(--tds-text-field-textcounter);float:right}.text-field-textcounter.text-field-textcounter-disabled.sc-tds-text-field{color:var(--tds-text-field-textcounter-disabled)}.text-field-textcounter.text-field-textcounter-divider.sc-tds-text-field{color:var(--tds-text-field-textcounter-divider)}.text-field-textcounter.text-field-textcounter-divider-disabled.sc-tds-text-field{color:var(--tds-text-field-textcounter-divider-disabled)}.text-field-slot-wrap-prefix.sc-tds-text-field,.text-field-slot-wrap-suffix.sc-tds-text-field{align-self:center;font:var(--tds-detail-02);letter-spacing:var(--tds-detail-02-ls);margin:0 0 0 14px;color:var(--tds-text-field-ps-color)}.text-field-slot-wrap-prefix.sc-tds-text-field-s>:not(tds-icon),.text-field-slot-wrap-suffix.sc-tds-text-field-s>:not(tds-icon){margin:0 0 0 2px}.text-field-slot-wrap-prefix.text-field-error.sc-tds-text-field,.text-field-slot-wrap-suffix.text-field-error.sc-tds-text-field{color:var(--tds-text-field-ps-color-error)}.text-field-slot-wrap-suffix.sc-tds-text-field{margin:0 14px 0 0}.text-field-slot-wrap-suffix.sc-tds-text-field-s>:not(tds-icon){margin:0 2px 0 0}";
10
+ const TdsTextFieldStyle0 = textFieldCss;
11
+
12
+ const TdsTextField = /*@__PURE__*/ proxyCustomElement(class TdsTextField extends H {
13
+ constructor() {
14
+ super();
15
+ this.__registerHost();
16
+ this.tdsChange = createEvent(this, "tdsChange", 6);
17
+ this.tdsInput = createEvent(this, "tdsInput", 6);
18
+ this.tdsFocus = createEvent(this, "tdsFocus", 6);
19
+ this.tdsBlur = createEvent(this, "tdsBlur", 6);
20
+ this.uuid = generateUniqueId();
21
+ this.type = 'text';
22
+ this.labelPosition = 'no-label';
23
+ this.label = '';
24
+ this.min = undefined;
25
+ this.max = undefined;
26
+ this.helper = undefined;
27
+ this.placeholder = '';
28
+ this.value = '';
29
+ this.disabled = false;
30
+ this.readOnly = false;
31
+ this.hideReadOnlyIcon = false;
32
+ this.size = 'lg';
33
+ this.modeVariant = null;
34
+ this.noMinWidth = false;
35
+ this.name = '';
36
+ this.state = 'default';
37
+ this.maxLength = undefined;
38
+ this.autofocus = false;
39
+ this.tdsAriaLabel = undefined;
40
+ this.focusInput = false;
41
+ }
42
+ handleChange(event) {
43
+ this.tdsChange.emit(event);
44
+ }
45
+ // Data input event in value prop
46
+ handleInput(event) {
47
+ const inputEl = event.target;
48
+ let { value } = inputEl;
49
+ // Custom handling of number inputs when min/max are set
50
+ if (this.type === 'number') {
51
+ const numericValue = Number(value);
52
+ if (this.min !== undefined && numericValue < Number(this.min)) {
53
+ value = String(this.min);
54
+ }
55
+ if (this.max !== undefined && numericValue > Number(this.max)) {
56
+ value = String(this.max);
57
+ }
58
+ inputEl.value = value;
59
+ }
60
+ this.value = value;
61
+ this.tdsInput.emit(event);
62
+ }
63
+ /** Set the input as focus when clicking the whole Text Field with suffix/prefix */
64
+ handleFocus(event) {
65
+ this.textInput.focus();
66
+ this.focusInput = true;
67
+ this.tdsFocus.emit(event);
68
+ }
69
+ /** Set the input as focus when clicking the whole Text Field with suffix/prefix */
70
+ handleBlur(event) {
71
+ this.focusInput = false;
72
+ this.tdsBlur.emit(event);
73
+ }
74
+ /** Method to handle focus */
75
+ async focusElement() {
76
+ if (this.textInput) {
77
+ this.textInput.focus();
78
+ }
79
+ }
80
+ render() {
81
+ var _a;
82
+ const usesPrefixSlot = hasSlot('prefix', this.host);
83
+ const usesSuffixSlot = hasSlot('suffix', this.host);
84
+ return (h("div", { key: '323df30951c2ee070b043228f78c3045b33e2fc9', class: {
85
+ 'form-text-field': true,
86
+ 'form-text-field-nomin': this.noMinWidth,
87
+ 'text-field-focus': this.focusInput && !this.disabled,
88
+ 'text-field-data': this.value !== '' && this.value !== null,
89
+ 'text-field-container-label-inside': this.labelPosition === 'inside' && this.size !== 'sm',
90
+ 'form-text-field-disabled': this.disabled,
91
+ 'form-text-field-readonly': this.disabled ? false : this.readOnly,
92
+ 'tds-mode-variant-primary': this.readOnly
93
+ ? this.modeVariant === 'secondary'
94
+ : this.modeVariant === 'primary',
95
+ 'tds-mode-variant-secondary': this.readOnly
96
+ ? this.modeVariant === 'primary'
97
+ : this.modeVariant === 'secondary',
98
+ 'form-text-field-md': this.size === 'md',
99
+ 'form-text-field-sm': this.size === 'sm',
100
+ 'form-text-field-error': this.state === 'error',
101
+ 'form-text-field-success': this.state === 'success',
102
+ } }, this.labelPosition === 'outside' && (h("div", { key: 'fe9768bbf8999dc49f90e096bfd138710a91e7bb', class: "text-field-label-outside" }, h("label", { key: '91d39c768b49e7867a87f7fc78b50ec4034c4560', htmlFor: `text-field-input-element-${this.uuid}` }, this.label))), h("div", { key: 'abb84b67da94a281e986891a00a8bd348ad3b131', onClick: () => this.textInput.focus(), class: "text-field-container" }, usesPrefixSlot && (h("div", { key: '4661114d6fe3e809ee7c0254686c9feb55fce6ad', class: {
103
+ 'text-field-slot-wrap-prefix': true,
104
+ 'text-field-error': this.state === 'error',
105
+ 'text-field-success': this.state === 'success',
106
+ 'text-field-default': this.state === 'default',
107
+ } }, h("slot", { key: '40aac31a850fb3ad1d703834b578c73a35c9f255', name: "prefix" }))), h("div", { key: '1c85331cb4dd7a03527c3730996f07a5d25293d7', class: "text-field-input-container" }, h("input", { key: '498c3ae25cc2508c28dd2e5f8483c35adb9f8bb9', ref: (inputEl) => {
108
+ this.textInput = inputEl;
109
+ }, class: {
110
+ 'text-field-input': true,
111
+ 'text-field-input-sm': this.size === 'sm',
112
+ 'text-field-input-md': this.size === 'md',
113
+ 'text-field-input-lg': this.size === 'lg',
114
+ }, type: this.type, disabled: this.disabled, readonly: this.disabled ? false : this.readOnly, placeholder: this.placeholder, value: this.value, autofocus: this.autofocus, maxlength: this.maxLength, name: this.name, min: this.min, max: this.max, onInput: (event) => this.handleInput(event), onChange: (event) => this.handleChange(event), onFocus: (event) => {
115
+ if (!this.readOnly) {
116
+ this.handleFocus(event);
117
+ }
118
+ }, onBlur: (event) => {
119
+ if (!this.readOnly) {
120
+ this.handleBlur(event);
121
+ }
122
+ }, "aria-invalid": getAriaInvalid(this.host, this.state), "aria-label": this.tdsAriaLabel ? this.tdsAriaLabel : this.label, "aria-describedby": `text-field-helper-element-${this.uuid}`, "aria-readonly": this.readOnly, id: `text-field-input-element-${this.uuid}` }), this.labelPosition === 'inside' && this.size !== 'sm' && (h("label", { key: '41a2f20f416c65fb2d7d9992286f4bc9c9dcc52c', class: "text-field-label-inside", htmlFor: `text-field-input-element-${this.uuid}` }, this.label))), usesSuffixSlot && (h("div", { key: '2b7b63efd24c1398d2d40a3d5a48d3003931cff8', class: {
123
+ 'text-field-slot-wrap-suffix': true,
124
+ 'text-field-error': this.state === 'error',
125
+ 'text-field-success': this.state === 'success',
126
+ 'text-field-default': this.state === 'default',
127
+ 'tds-u-display-none': this.readOnly,
128
+ } }, h("slot", { key: 'b594b47a2ee6bfb393b44c8b704232881e53c119', name: "suffix" }))), this.readOnly && !this.hideReadOnlyIcon && (h("span", { key: '5a9d4e1492b908a397881a42f9c0229d32e2a457', class: "text-field-icon__readonly" }, h("tds-tooltip", { key: '02bb93263fc40d5d6aeb2dda3ad5ac49f2e2ccf6', placement: "top-end", text: "This field is non-editable", selector: "#readonly-tooltip" }), h("tds-icon", { key: 'e926eb2de3946822875badbcc7e325e9981b8271', id: "readonly-tooltip", name: "edit_inactive", size: "20px" })))), h("div", { key: 'ac28d59eb12ef9efe38cd940daf1299b06dd4446', "aria-live": "assertive" }, (this.helper || this.maxLength > 0) && (h("div", { key: 'd1b09c6f543f0e985476b798ee642c6a11cb7485', class: "text-field-helper", id: `text-field-helper-element-${this.uuid}` }, this.state === 'error' && (h("div", { key: '160ca65e021a3f313b828dbcf82b158036d748ad', class: "text-field-helper-error-state" }, !this.readOnly && h("tds-icon", { key: '34bb9eaa6c267d882fc28a9b80fd331523bd981b', name: "error", size: "16px" }), this.helper)), this.state !== 'error' && this.helper, !this.readOnly && this.maxLength > 0 && (h("span", { key: '6b1ad7dbce2e2fe37e116c1d8f0b11f2dfe00260', class: {
129
+ 'text-field-textcounter-divider': true,
130
+ 'text-field-textcounter-disabled': this.disabled,
131
+ } }, this.value === null ? 0 : (_a = this.value) === null || _a === void 0 ? void 0 : _a.length, " / ", this.maxLength)))))));
132
+ }
133
+ get host() { return this; }
134
+ static get style() { return TdsTextFieldStyle0; }
135
+ }, [6, "tds-text-field", {
136
+ "type": [513],
137
+ "labelPosition": [1, "label-position"],
138
+ "label": [1],
139
+ "min": [8],
140
+ "max": [8],
141
+ "helper": [1],
142
+ "placeholder": [1],
143
+ "value": [513],
144
+ "disabled": [4],
145
+ "readOnly": [4, "read-only"],
146
+ "hideReadOnlyIcon": [4, "hide-read-only-icon"],
147
+ "size": [1],
148
+ "modeVariant": [1, "mode-variant"],
149
+ "noMinWidth": [4, "no-min-width"],
150
+ "name": [1],
151
+ "state": [1],
152
+ "maxLength": [2, "max-length"],
153
+ "autofocus": [4],
154
+ "tdsAriaLabel": [1, "tds-aria-label"],
155
+ "focusInput": [32],
156
+ "focusElement": [64]
157
+ }]);
158
+ function defineCustomElement() {
159
+ if (typeof customElements === "undefined") {
160
+ return;
161
+ }
162
+ const components = ["tds-text-field", "tds-icon", "tds-popover-core", "tds-tooltip"];
163
+ components.forEach(tagName => { switch (tagName) {
164
+ case "tds-text-field":
165
+ if (!customElements.get(tagName)) {
166
+ customElements.define(tagName, TdsTextField);
167
+ }
168
+ break;
169
+ case "tds-icon":
170
+ if (!customElements.get(tagName)) {
171
+ defineCustomElement$3();
172
+ }
173
+ break;
174
+ case "tds-popover-core":
175
+ if (!customElements.get(tagName)) {
176
+ defineCustomElement$2();
177
+ }
178
+ break;
179
+ case "tds-tooltip":
180
+ if (!customElements.get(tagName)) {
181
+ defineCustomElement$1();
182
+ }
183
+ break;
184
+ } });
185
+ }
186
+ defineCustomElement();
187
+
188
+ export { TdsTextField as T, defineCustomElement as d };
@@ -1,7 +1,7 @@
1
1
  import { p as proxyCustomElement, H, h, c as Host } from './p-28ef5186.js';
2
2
  import { d as dfs } from './p-52bf0fdf.js';
3
3
 
4
- const sideMenuItemCss = ":host{display:block}:host .component ::slotted(a),:host .component ::slotted(button){all:unset;box-sizing:border-box;height:68px;width:100%;display:flex;align-items:center;gap:10px;padding:0 22px;border:none;background-color:var(--tds-sidebar-side-menu-background-cover);font:var(--tds-headline-07);letter-spacing:var(--tds-headline-07-ls);color:var(--tds-sidebar-side-menu-single-item-color);cursor:pointer}:host .component ::slotted(tds-side-menu-user),:host .component-has-user ::slotted(button){all:unset;box-sizing:border-box;height:68px;width:100%;display:flex;align-items:center;gap:16px;padding:0 22px 0 16px;border:none;background-color:var(--tds-sidebar-side-menu-background-cover);font:var(--tds-headline-07);letter-spacing:var(--tds-headline-07-ls);color:var(--tds-sidebar-side-menu-single-item-color);cursor:pointer}:host .component tds-icon{color:red !important}:host .component ::slotted(a:focus-visible),:host .component ::slotted(button:focus-visible){outline:2px solid var(--tds-focus-outline-color);box-shadow:0 0 0 1px var(--tds-white);outline-offset:1px;z-index:1}:host .component:hover ::slotted(a),:host .component:hover ::slotted(button){background-color:var(--tds-sidebar-item-state-hover)}:host .component:active ::slotted(a),:host .component:active ::slotted(button){background-color:var(--tds-sidemenu-item-state-active)}:host .component-collapsed ::slotted(a),:host .component-collapsed ::slotted(button){padding:0;display:flex;justify-content:center;align-items:center;position:relative}:host .component-selected:not(:host .component-active) ::slotted(a),:host .component-selected:not(:host .component-active) ::slotted(button),:host .component-selected:not(:host .component-active) ::slotted(tds-side-menu-user){position:relative;background-color:var(--tds-sidebar-item-state-selected)}:host .component-selected:not(:host .component-active) ::slotted(a)::before,:host .component-selected:not(:host .component-active) ::slotted(button)::before,:host .component-selected:not(:host .component-active) ::slotted(tds-side-menu-user)::before{content:\"\";position:absolute;top:0;left:0;width:4px;height:100%;background-color:var(--tds-sidebar-side-menu-single-subitem-selected-border-color)}@media (min-width: 992px){:host .component.component-collapsed ::slotted(a),:host .component.component-collapsed ::slotted(button){color:rgba(90, 90, 90, 0);overflow:hidden}}";
4
+ const sideMenuItemCss = ":host{display:block}:host .component ::slotted(a),:host .component ::slotted(button){all:unset;box-sizing:border-box;height:68px;width:100%;display:flex;align-items:center;gap:10px;padding:0 22px;border:none;background-color:var(--tds-sidebar-side-menu-background-cover);font:var(--tds-headline-07);letter-spacing:var(--tds-headline-07-ls);color:var(--tds-sidebar-side-menu-single-item-color);cursor:pointer}:host .component ::slotted(tds-side-menu-user),:host .component-has-user ::slotted(button){all:unset;box-sizing:border-box;height:68px;width:100%;display:flex;align-items:center;gap:16px;padding:0 22px 0 16px;border:none;background-color:var(--tds-sidebar-side-menu-background-cover);font:var(--tds-headline-07);letter-spacing:var(--tds-headline-07-ls);color:var(--tds-sidebar-side-menu-single-item-color);cursor:pointer}:host .component tds-icon{color:red !important}:host .component ::slotted(a:focus-visible),:host .component ::slotted(button:focus-visible){outline:2px solid var(--tds-focus-outline-color);box-shadow:inset 0 0 0 3px var(--tds-white);outline-offset:-2px}:host .component:hover ::slotted(a),:host .component:hover ::slotted(button),:host .component:hover ::slotted(tds-side-menu-user){background-color:var(--tds-sidebar-item-state-hover);position:relative}:host .component:hover ::slotted(a)::before,:host .component:hover ::slotted(button)::before,:host .component:hover ::slotted(tds-side-menu-user)::before{content:\"\";position:absolute;top:0;left:0;width:4px;height:100%;background-color:var(--tds-side-menu-item-hover-indicator)}:host .component:hover ::slotted(a:focus-visible),:host .component:hover ::slotted(button:focus-visible),:host .component:hover ::slotted(tds-side-menu-user:focus-visible){background-color:var(--tds-sidebar-item-state-hover);position:relative}:host .component:hover ::slotted(a:focus-visible)::before,:host .component:hover ::slotted(button:focus-visible)::before,:host .component:hover ::slotted(tds-side-menu-user:focus-visible)::before{content:\"\";position:absolute;top:3px;left:3px;width:4px;height:calc(100% - 6px);background-color:var(--tds-side-menu-item-hover-indicator)}:host .component:active ::slotted(a),:host .component:active ::slotted(button),:host .component:active ::slotted(tds-side-menu-user){background-color:var(--tds-sidemenu-item-state-active);position:relative}:host .component:active ::slotted(a)::before,:host .component:active ::slotted(button)::before,:host .component:active ::slotted(tds-side-menu-user)::before{content:\"\";position:absolute;top:0;left:0;width:4px;height:100%;background-color:var(--tds-side-menu-item-pressed-indicator)}:host .component:active ::slotted(a:focus-visible),:host .component:active ::slotted(button:focus-visible),:host .component:active ::slotted(tds-side-menu-user:focus-visible){background-color:var(--tds-sidemenu-item-state-active);position:relative}:host .component:active ::slotted(a:focus-visible)::before,:host .component:active ::slotted(button:focus-visible)::before,:host .component:active ::slotted(tds-side-menu-user:focus-visible)::before{content:\"\";position:absolute;top:3px;left:3px;width:4px;height:calc(100% - 6px);background-color:var(--tds-side-menu-item-pressed-indicator)}:host .component-collapsed ::slotted(a),:host .component-collapsed ::slotted(button){padding:0;display:flex;justify-content:center;align-items:center;position:relative}:host .component-selected:not(:host .component-active) ::slotted(a),:host .component-selected:not(:host .component-active) ::slotted(button),:host .component-selected:not(:host .component-active) ::slotted(tds-side-menu-user){background-color:var(--tds-sidebar-item-state-selected);position:relative}:host .component-selected:not(:host .component-active) ::slotted(a)::before,:host .component-selected:not(:host .component-active) ::slotted(button)::before,:host .component-selected:not(:host .component-active) ::slotted(tds-side-menu-user)::before{content:\"\";position:absolute;top:0;left:0;width:4px;height:100%;background-color:var(--tds-sidebar-side-menu-single-subitem-selected-border-color)}:host .component-selected:not(:host .component-active) ::slotted(a:focus-visible),:host .component-selected:not(:host .component-active) ::slotted(button:focus-visible),:host .component-selected:not(:host .component-active) ::slotted(tds-side-menu-user:focus-visible){background-color:var(--tds-sidebar-item-state-selected);position:relative}:host .component-selected:not(:host .component-active) ::slotted(a:focus-visible)::before,:host .component-selected:not(:host .component-active) ::slotted(button:focus-visible)::before,:host .component-selected:not(:host .component-active) ::slotted(tds-side-menu-user:focus-visible)::before{content:\"\";position:absolute;top:3px;left:3px;width:4px;height:calc(100% - 6px);background-color:var(--tds-sidebar-side-menu-single-subitem-selected-border-color)}@media (min-width: 992px){:host .component.component-collapsed ::slotted(a),:host .component.component-collapsed ::slotted(button){color:rgba(90, 90, 90, 0);overflow:hidden}}";
5
5
  const TdsSideMenuItemStyle0 = sideMenuItemCss;
6
6
 
7
7
  const TdsSideMenuItem = /*@__PURE__*/ proxyCustomElement(class TdsSideMenuItem extends H {
@@ -2,7 +2,7 @@ import { p as proxyCustomElement, H, h, c as Host } from './p-28ef5186.js';
2
2
  import { d as dfs } from './p-52bf0fdf.js';
3
3
  import { d as defineCustomElement$1 } from './p-9ad61cb5.js';
4
4
 
5
- const headerItemCss = ":host ::slotted(button),:host ::slotted(a){all:unset;box-sizing:border-box;background-color:var(--tds-header-background);border-right:1px solid var(--tds-header--basic-element-border);width:100%;height:100%;cursor:pointer;padding:0 24px;display:flex;align-items:center;gap:8px}:host ::slotted(button) *,:host ::slotted(a) *{box-sizing:border-box}:host ::slotted(button:hover),:host ::slotted(a:hover){background-color:var(--tds-header-item-hover)}:host ::slotted(button:focus-visible),:host ::slotted(a:focus-visible){outline:2px solid var(--tds-focus-outline-color);box-shadow:0 0 0 1px var(--tds-white);outline-offset:1px;z-index:1}:host .component-active ::slotted(button),:host .component-active ::slotted(a){background-color:var(--tds-header--basic-element-background-open);color:var(--tds-header-nav-item-dropdown-opened-color);border-color:var(--tds-header--basic-element-border-open)}:host .component-selected:not(.component-active) ::slotted(button),:host .component-selected:not(.component-active) ::slotted(a){background-color:var(--tds-header--basic-element-background-selected);padding-top:4px;border-bottom-style:solid;border-bottom-width:4px;border-bottom-color:var(--tds-nav-item-border-color-active)}";
5
+ const headerItemCss = ":host ::slotted(button),:host ::slotted(a){all:unset;box-sizing:border-box;background-color:var(--tds-header-background);border-right:1px solid var(--tds-header--basic-element-border);width:100%;height:100%;cursor:pointer;padding:0 24px;display:flex;align-items:center;gap:8px}:host ::slotted(button) *,:host ::slotted(a) *{box-sizing:border-box}:host ::slotted(button:hover),:host ::slotted(a:hover){background-color:var(--tds-header-item-hover)}:host ::slotted(button:focus-visible),:host ::slotted(a:focus-visible){border:none;outline:2px solid var(--tds-focus-outline-color);box-shadow:inset 0 0 0 3px var(--tds-white);outline-offset:-2px}:host .component-active ::slotted(button),:host .component-active ::slotted(a){background-color:var(--tds-header--basic-element-background-open);color:var(--tds-header-nav-item-dropdown-opened-color);border-color:var(--tds-header--basic-element-border-open)}:host .component-selected:not(.component-active) ::slotted(button),:host .component-selected:not(.component-active) ::slotted(a){background-color:var(--tds-header--basic-element-background-selected);padding-top:4px;border-bottom-style:solid;border-bottom-width:4px;border-bottom-color:var(--tds-nav-item-border-color-active)}";
6
6
  const TdsHeaderItemStyle0 = headerItemCss;
7
7
 
8
8
  const TdsHeaderItem = /*@__PURE__*/ proxyCustomElement(class TdsHeaderItem extends H {
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Gets the appropriate aria-invalid value for form components.
3
+ *
4
+ * This utility handles cross-framework compatibility by checking for an explicit
5
+ * aria-invalid attribute on the host element first, then falling back to the
6
+ * component's state. It properly handles both string and boolean values that
7
+ * may be passed from different frameworks (especially React).
8
+ *
9
+ * @param host - The host element to check for aria-invalid attribute
10
+ * @param state - The component's state ('error', 'success', 'default')
11
+ * @returns The aria-invalid value as a string ('true' or 'false')
12
+ *
13
+ */
14
+ const getAriaInvalid = (host, state) => {
15
+ const hostAriaInvalid = host.getAttribute('aria-invalid');
16
+ if (hostAriaInvalid !== null) {
17
+ return String(hostAriaInvalid);
18
+ }
19
+ // Fallback to state-based aria-invalid
20
+ return state === 'error' ? 'true' : 'false';
21
+ };
22
+
23
+ export { getAriaInvalid as g };
@@ -66,10 +66,18 @@ const TdsDropdownOption = /*@__PURE__*/ proxyCustomElement(class TdsDropdownOpti
66
66
  }
67
67
  };
68
68
  this.handleFocus = (event) => {
69
- this.tdsFocus.emit(event);
69
+ // Focus events are now handled by the parent dropdown component
70
+ // Only emit if this is a standalone option (not within a dropdown)
71
+ if (!this.parentElement) {
72
+ this.tdsFocus.emit(event);
73
+ }
70
74
  };
71
75
  this.handleBlur = (event) => {
72
- this.tdsBlur.emit(event);
76
+ // Blur events are now handled by the parent dropdown component
77
+ // Only emit if this is a standalone option (not within a dropdown)
78
+ if (!this.parentElement) {
79
+ this.tdsBlur.emit(event);
80
+ }
73
81
  };
74
82
  this.value = undefined;
75
83
  this.internalValue = undefined;
@@ -90,7 +98,7 @@ const TdsDropdownOption = /*@__PURE__*/ proxyCustomElement(class TdsDropdownOpti
90
98
  this.internalValue = convertToString(this.value);
91
99
  }
92
100
  render() {
93
- return (h(Host, { key: 'd35a3153be292b1656d0efca93f06bfc1357041b' }, h("div", { key: '384353f9868a3fb559ca4140d5cd4f5553e024ad', class: `dropdown-option
101
+ return (h(Host, { key: '5448be3efbb06ae6d0fa3797f4b724c2d656d7a3' }, h("div", { key: '78945300c0bddb4ce95ab6f8de50eded1383dec7', class: `dropdown-option
94
102
  ${this.size}
95
103
  ${this.selected ? 'selected' : ''}
96
104
  ${this.disabled ? 'disabled' : ''}
@@ -100,6 +108,8 @@ const TdsDropdownOption = /*@__PURE__*/ proxyCustomElement(class TdsDropdownOpti
100
108
  }
101
109
  } }, h("tds-checkbox", { onTdsChange: (event) => {
102
110
  this.handleMultiselect(event);
111
+ }, onTdsBlur: (event) => {
112
+ event.stopPropagation();
103
113
  }, disabled: this.disabled, checked: this.selected, tdsAriaLabel: this.tdsAriaLabel, class: {
104
114
  [this.size]: true,
105
115
  } }, h("div", { slot: "label" }, h("slot", null))))) : (h("button", { role: "option", "aria-disabled": this.disabled, "aria-selected": this.selected, "aria-label": this.tdsAriaLabel, onClick: () => {
@@ -1,12 +1,13 @@
1
- import { r as registerInstance, h, H as Host, g as getElement } from './index-51d04e39.js';
2
- import { h as hasSlot } from './hasSlot-d52114d0.js';
1
+ import { p as proxyCustomElement, H, h, c as Host } from './p-28ef5186.js';
2
+ import { h as hasSlot } from './p-ae110fc2.js';
3
3
 
4
4
  const buttonCss = ".sc-tds-button:root,.tds-mode-light.sc-tds-button{--tds-btn-primary-background:var(--background-clickable-primary-primary);--tds-btn-primary-background-hover:var(--background-clickable-primary-primary-hover);--tds-btn-primary-background-active:var(--background-clickable-primary-pressed);--tds-btn-primary-background-focus:var(--background-clickable-primary-focus);--tds-btn-primary-background-disabled-primary:var(--background-clickable-primary-disabled);--tds-btn-primary-background-disabled-secondary:var(--tds-white);--tds-btn-primary-background-disabled:var(--tds-btn-primary-background-disabled-primary);--tds-btn-primary-color:var(--tds-white);--tds-btn-primary-color-hover:var(--tds-white);--tds-btn-primary-color-active:var(--tds-white);--tds-btn-primary-color-focus:var(--tds-white);--tds-btn-primary-color-disabled:var(--tds-grey-250);--tds-btn-primary-border-color:transparent;--tds-btn-primary-border-color-hover:transparent;--tds-btn-primary-border-color-active:var(--tds-blue-700);--tds-btn-primary-border-color-focus:var(--tds-blue-700);--tds-btn-primary-outline-color-focus:var(--tds-blue-400);--tds-btn-primary-border-color-disabled:transparent;--tds-btn-icon-primary-fill:var(--tds-grey-50);--tds-btn-icon-primary-color:var(--tds-grey-50);--tds-btn-secondary-background:transparent;--tds-btn-secondary-color:var(--tds-black);--tds-btn-secondary-border-color:var(--tds-grey-350);--tds-btn-secondary-background-hover:var(--tds-blue-700);--tds-btn-secondary-color-hover:var(--tds-white);--tds-btn-secondary-border-color-hover:var(--tds-blue-500);--tds-btn-secondary-background-active:transparent;--tds-btn-secondary-color-active:var(--tds-black);--tds-btn-secondary-border-color-active:var(--tds-grey-650);--tds-btn-secondary-background-focus:var(--tds-blue-700);--tds-btn-secondary-color-focus:var(--tds-white);--tds-btn-secondary-border-color-focus:var(--tds-white);--tds-btn-secondary-outline-color:var(--tds-black-38);--tds-btn-secondary-outline-color-focus:var(--tds-blue-400);--tds-btn-secondary-background-disabled:transparent;--tds-btn-secondary-color-disabled:var(--tds-grey-250);--tds-btn-secondary-border-color-disabled:var(--tds-grey-250);--tds-btn-icon-secondary-color-focus:var(--tds-black);--tds-btn-icon-secondary-fill-focus:var(--tds-black);--tds-btn-icon-secondary-fill-active:var(--tds-grey-958);--tds-btn-icon-secondary-fill:var(--tds-grey-958);--tds-btn-icon-secondary-color:var(--tds-grey-958);--tds-btn-icon-secondary-fill-hover:var(--tds-grey-50);--tds-btn-icon-secondary-color-hover:var(--tds-grey-50);--tds-btn-icon-secondary-color-active:var(--tds-grey-958);--tds-btn-ghost-background:transparent;--tds-btn-ghost-color:var(--tds-grey-950);--tds-btn-ghost-border-color:transparent;--tds-btn-ghost-background-hover:transparent;--tds-btn-ghost-color-hover:var(--tds-grey-950);--tds-btn-ghost-border-color-hover:var(--tds-grey-350);--tds-btn-ghost-outline-color-hover:var(--tds-black-48);--tds-btn-ghost-background-active:transparent;--tds-btn-ghost-color-active:var(--tds-grey-950);--tds-btn-ghost-border-color-active:var(--tds-grey-650);--tds-btn-ghost-background-focus:transparent;--tds-btn-ghost-color-focus:var(--tds-grey-950);--tds-btn-ghost-border-color-focus:var(--tds-grey-350);--tds-btn-ghost-outline-color-focus:var(--tds-blue-400);--tds-btn-ghost-background-disabled:transparent;--tds-btn-ghost-color-disabled:var(--tds-black-38);--tds-btn-ghost-border-color-disabled:transparent;--tds-btn-icon-ghost-fill:var(--tds-grey-958);--tds-btn-icon-ghost-color:var(--tds-grey-958);--tds-btn-danger-background:var(--scania-extended-red-400);--tds-btn-danger-color:var(--tds-white);--tds-btn-danger-border-color:transparent;--tds-btn-danger-background-hover:var(--scania-extended-red-500);--tds-btn-danger-color-hover:var(--tds-white);--tds-btn-danger-border-color-hover:transparent;--tds-btn-danger-background-active:var(--scania-extended-red-600);--tds-btn-danger-color-active:var(--tds-white);--tds-btn-danger-border-color-active:var(--tds-red-700);--tds-btn-danger-background-focus:var(--scania-extended-red-500);--tds-btn-danger-color-focus:var(--tds-white);--tds-btn-danger-border-color-focus:var(--tds-red-500);--tds-btn-danger-outline-color-focus:var(--tds-blue-400);--tds-btn-danger-background-disabled-primary:var(--scania-neutral-solid-50);--tds-btn-danger-background-disabled-secondary:var(--tds-white);--tds-btn-danger-background-disabled:var(--tds-btn-danger-background-disabled-primary);--tds-btn-danger-color-disabled:var(--tds-black-38);--tds-btn-danger-border-color-disabled:transparent;--tds-btn-icon-danger-fill:var(--tds-grey-50);--tds-btn-icon-danger-color:var(--tds-grey-50)}.sc-tds-button:root .tds-mode-variant-primary.sc-tds-button,.tds-mode-light.sc-tds-button .tds-mode-variant-primary.sc-tds-button{--tds-btn-danger-background-disabled:var(--tds-btn-danger-background-disabled-primary);--tds-btn-primary-background-disabled:var(--tds-btn-primary-background-disabled-primary)}.sc-tds-button:root .tds-mode-variant-secondary.sc-tds-button,.tds-mode-light.sc-tds-button .tds-mode-variant-secondary.sc-tds-button{--tds-btn-danger-background-disabled:var(--tds-btn-danger-background-disabled-secondary);--tds-btn-primary-background-disabled:var(--tds-btn-primary-background-disabled-secondary)}.tds-mode-dark.sc-tds-button{--tds-btn-primary-background:var(--scania-blue-400);--tds-btn-primary-background-hover:var(--scania-blue-500);--tds-btn-primary-background-active:var(--scania-blue-600);--tds-btn-primary-background-focus:var(--scania-blue-500);--tds-btn-primary-border-color-focus:var(--tds-white);--tds-btn-primary-border-color:transparent;--tds-btn-primary-border-color-hover:var(--tds-white);--tds-btn-primary-outline-color-focus:var(--tds-blue-300);--tds-btn-primary-background-disabled-primary:var(--tds-grey-900);--tds-btn-primary-background-disabled-secondary:var(--tds-grey-850);--tds-btn-primary-background-disabled:var(--tds-btn-primary-background-disabled-primary);--tds-btn-primary-color-disabled:var(--scania-neutral-transparent-inverse-500);--tds-btn-icon-primary-fill:var(--tds-grey-50);--tds-btn-icon-primary-color:var(--tds-grey-50);--tds-btn-secondary-background:transparent;--tds-btn-secondary-color:var(--tds-white);--tds-btn-secondary-border-color:var(--scania-neutral-transparent-inverse-400);--tds-btn-secondary-background-hover:var(--tds-blue-500);--tds-btn-secondary-color-hover:var(--tds-white);--tds-btn-secondary-border-color-hover:var(--tds-white);--tds-btn-secondary-background-active:var(--scania-blue-600);--tds-btn-secondary-color-active:var(--tds-white);--tds-btn-secondary-border-color-active:var(--tds-grey-200);--tds-btn-secondary-background-focus:var(--scania-blue-500);--tds-btn-secondary-color-focus:var(--tds-white);--tds-btn-secondary-border-color-focus:var(--tds-white);--tds-btn-secondary-outline-color-focus:var(--tds-blue-300);--tds-btn-secondary-outline-color:var(--tds-white);--tds-btn-secondary-background-disabled:transparent;--tds-btn-secondary-color-disabled:var(--tds-grey-500);--tds-btn-secondary-border-color-disabled:var(--tds-grey-500);--tds-btn-icon-secondary-color-focus:var(--tds-white);--tds-btn-icon-secondary-fill-focus:var(--tds-white);--tds-btn-icon-secondary-fill:var(--tds-grey-50);--tds-btn-icon-secondary-color:var(--tds-grey-50);--tds-btn-ghost-background:transparent;--tds-btn-ghost-color:var(--tds-white);--tds-btn-ghost-border-color:transparent;--tds-btn-ghost-background-hover:transparent;--tds-btn-ghost-color-hover:var(--tds-white);--tds-btn-ghost-border-color-hover:var(--scania-neutral-transparent-inverse-400);--tds-btn-ghost-outline-color-hover:var(--tds-white-48);--tds-btn-ghost-background-active:transparent;--tds-btn-ghost-color-active:var(--tds-white);--tds-btn-ghost-border-color-active:var(--scania-neutral-transparent-inverse-200);--tds-btn-ghost-background-focus:transparent;--tds-btn-ghost-color-focus:var(--tds-white);--tds-btn-ghost-border-color-focus:var(--tds-white);--tds-btn-ghost-outline-color-focus:var(--tds-blue-300);--tds-btn-ghost-background-disabled:transparent;--tds-btn-ghost-color-disabled:var(--tds-grey-500);--tds-btn-ghost-border-color-disabled:transparent;--tds-btn-icon-ghost-fill:var(--tds-grey-50);--tds-btn-icon-ghost-color:var(--tds-grey-50);--tds-btn-danger-background:var(--scania-extended-red-400);--tds-btn-danger-color:var(--tds-white);--tds-btn-danger-border-color:transparent;--tds-btn-danger-background-hover:var(--scania-extended-red-500);--tds-btn-danger-color-hover:var(--tds-white);--tds-btn-danger-border-color-hover:var(--tds-white);--tds-btn-danger-background-active:var(--scania-extended-red-600);--tds-btn-danger-color-active:var(--tds-white);--tds-btn-danger-border-color-active:transparent;--tds-btn-danger-background-focus:var(--scania-extended-red-500);--tds-btn-danger-color-focus:var(--tds-white);--tds-btn-danger-border-color-focus:var(--tds-white);--tds-btn-danger-outline-color-focus:var(--tds-blue-300);--tds-btn-danger-background-disabled-primary:var(--tds-grey-900);--tds-btn-danger-background-disabled-secondary:var(--tds-grey-850);--tds-btn-danger-background-disabled:var(--tds-btn-danger-background-disabled-primary);--tds-btn-danger-color-disabled:var(--tds-grey-500);--tds-btn-danger-border-color-disabled:transparent;--tds-btn-icon-danger-fill:var(--tds-white);--tds-btn-icon-danger-color:var(--tds-white)}.tds-mode-dark.sc-tds-button .tds-mode-variant-primary.sc-tds-button{--tds-btn-danger-background-disabled:var(--tds-btn-danger-background-disabled-primary);--tds-btn-primary-background-disabled:var(--tds-btn-primary-background-disabled-primary)}.tds-mode-dark.sc-tds-button .tds-mode-variant-secondary.sc-tds-button{--tds-btn-danger-background-disabled:var(--tds-btn-danger-background-disabled-secondary);--tds-btn-primary-background-disabled:var(--tds-btn-primary-background-disabled-secondary)}button.sc-tds-button{box-sizing:border-box;font:var(--tds-detail-02);letter-spacing:var(--tds-detail-02-ls);display:inline-flex;align-items:center;border-radius:4px;border:none;box-shadow:none;position:relative;text-decoration:none;cursor:pointer;height:56px;padding:var(--tds-spacing-element-20);border:1px solid transparent}button.sc-tds-button *.sc-tds-button{box-sizing:border-box}button.sc-tds-button:focus{outline:1px solid var(--scania-blue-400)}button.sc-tds-button:focus-visible{outline:2px solid var(--tds-focus-outline-color);box-shadow:0 0 0 1px var(--tds-white);outline-offset:1px;z-index:1}button.xs.sc-tds-button{padding:var(--tds-spacing-element-4) var(--tds-spacing-element-8);height:24px;font-size:12px;border-radius:2px}button.sm.sc-tds-button{padding:var(--tds-spacing-element-12);height:40px}button.sm.icon.sc-tds-button{padding:10px var(--tds-spacing-element-12)}button.sm.only-icon.sc-tds-button{padding:11px}button.md.sc-tds-button{padding:var(--tds-spacing-element-16);height:48px}button.md.icon.sc-tds-button{padding:14px var(--tds-spacing-element-16)}button.md.only-icon.sc-tds-button{padding:13px}button.lg.sc-tds-button{padding:var(--tds-spacing-element-20);height:56px}button.lg.icon.sc-tds-button{padding:18px var(--tds-spacing-element-20)}button.lg.only-icon.sc-tds-button{padding:17px}button.fullbleed.sc-tds-button{width:100%;display:flex;justify-content:center}button.animation-fade.sc-tds-button{transition:background-color var(--tds-motion-duration-fast-02) var(--tds-motion-easing-scania)}button.primary.sc-tds-button{background:var(--tds-btn-primary-background);border-color:var(--tds-btn-primary-border-color);color:var(--tds-btn-primary-color);outline-color:var(--tds-btn-primary-outline-color)}button.primary.icon.sc-tds-button{fill:var(--tds-btn-icon-primary-fill);color:var(--tds-btn-icon-primary-fill);fill:var(--tds-btn-icon-primary-color);color:var(--tds-btn-icon-primary-color)}button.primary.sc-tds-button:hover{background:var(--tds-btn-primary-background-hover);border-color:var(--tds-btn-primary-border-color-hover);color:var(--tds-btn-primary-color-hover);outline-color:var(--tds-btn-primary-outline-color-hover)}button.primary:hover:not(.disabled).sc-tds-button-s>[slot=icon],button.primary:hover:not(.disabled) .sc-tds-button-s>[slot=icon]{fill:var(--tds-btn-icon-primary-fill-hover);color:var(--tds-btn-icon-primary-fill-hover);fill:var(--tds-btn-icon-primary-color-hover);color:var(--tds-btn-icon-primary-color-hover)}button.primary.sc-tds-button:focus-visible{background:var(--tds-btn-primary-background-focus);border-color:var(--tds-btn-primary-border-color-focus);color:var(--tds-btn-primary-color-focus);outline-color:var(--tds-btn-primary-outline-color-focus)}button.primary:focus-visible.sc-tds-button-s>[slot=icon],button.primary:focus-visible .sc-tds-button-s>[slot=icon]{fill:var(--tds-btn-icon-primary-fill-focus);color:var(--tds-btn-icon-primary-fill-focus);fill:var(--tds-btn-icon-primary-color-focus);color:var(--tds-btn-icon-primary-color-focus)}button.primary.sc-tds-button:active,button.primary.active.sc-tds-button{background:var(--tds-btn-primary-background-active);border-color:var(--tds-btn-primary-border-color-active);color:var(--tds-btn-primary-color-active);outline-color:var(--tds-btn-primary-outline-color-active)}button.primary:active:not(.disabled).sc-tds-button-s>[slot=icon],button.primary:active:not(.disabled) .sc-tds-button-s>[slot=icon],button.primary.active:not(.disabled).sc-tds-button-s>[slot=icon],button.primary.active:not(.disabled) .sc-tds-button-s>[slot=icon]{fill:var(--tds-btn-icon-primary-fill-active);color:var(--tds-btn-icon-primary-fill-active);fill:var(--tds-btn-icon-primary-color-active);color:var(--tds-btn-icon-primary-color-active)}button.primary.disabled.sc-tds-button,button.primary.sc-tds-button:disabled{background:var(--tds-btn-primary-background-disabled);border-color:var(--tds-btn-primary-border-color-disabled);color:var(--tds-btn-primary-color-disabled);outline-color:var(--tds-btn-primary-outline-color-disabled)}button.secondary.sc-tds-button{background:var(--tds-btn-secondary-background);border-color:var(--tds-btn-secondary-border-color);color:var(--tds-btn-secondary-color);outline-color:var(--tds-btn-secondary-outline-color)}button.secondary.icon.sc-tds-button{fill:var(--tds-btn-icon-secondary-fill);color:var(--tds-btn-icon-secondary-fill);fill:var(--tds-btn-icon-secondary-color);color:var(--tds-btn-icon-secondary-color)}button.secondary.sc-tds-button:hover{background:var(--tds-btn-secondary-background-hover);border-color:var(--tds-btn-secondary-border-color-hover);color:var(--tds-btn-secondary-color-hover);outline-color:var(--tds-btn-secondary-outline-color-hover)}button.secondary:hover:not(.disabled).sc-tds-button-s>[slot=icon],button.secondary:hover:not(.disabled) .sc-tds-button-s>[slot=icon]{fill:var(--tds-btn-icon-secondary-fill-hover);color:var(--tds-btn-icon-secondary-fill-hover);fill:var(--tds-btn-icon-secondary-color-hover);color:var(--tds-btn-icon-secondary-color-hover)}button.secondary.sc-tds-button:focus-visible{background:var(--tds-btn-secondary-background-focus);border-color:var(--tds-btn-secondary-border-color-focus);color:var(--tds-btn-secondary-color-focus);outline-color:var(--tds-btn-secondary-outline-color-focus)}button.secondary:focus-visible.sc-tds-button-s>[slot=icon],button.secondary:focus-visible .sc-tds-button-s>[slot=icon]{fill:var(--tds-btn-icon-secondary-fill-focus);color:var(--tds-btn-icon-secondary-fill-focus);fill:var(--tds-btn-icon-secondary-color-focus);color:var(--tds-btn-icon-secondary-color-focus)}button.secondary.sc-tds-button:active,button.secondary.active.sc-tds-button{background:var(--tds-btn-secondary-background-active);border-color:var(--tds-btn-secondary-border-color-active);color:var(--tds-btn-secondary-color-active);outline-color:var(--tds-btn-secondary-outline-color-active)}button.secondary:active:not(.disabled).sc-tds-button-s>[slot=icon],button.secondary:active:not(.disabled) .sc-tds-button-s>[slot=icon],button.secondary.active:not(.disabled).sc-tds-button-s>[slot=icon],button.secondary.active:not(.disabled) .sc-tds-button-s>[slot=icon]{fill:var(--tds-btn-icon-secondary-fill-active);color:var(--tds-btn-icon-secondary-fill-active);fill:var(--tds-btn-icon-secondary-color-active);color:var(--tds-btn-icon-secondary-color-active)}button.secondary.disabled.sc-tds-button,button.secondary.sc-tds-button:disabled{background:var(--tds-btn-secondary-background-disabled);border-color:var(--tds-btn-secondary-border-color-disabled);color:var(--tds-btn-secondary-color-disabled);outline-color:var(--tds-btn-secondary-outline-color-disabled)}button.ghost.sc-tds-button{background:var(--tds-btn-ghost-background);border-color:var(--tds-btn-ghost-border-color);color:var(--tds-btn-ghost-color);outline-color:var(--tds-btn-ghost-outline-color)}button.ghost.icon.sc-tds-button{fill:var(--tds-btn-icon-ghost-fill);color:var(--tds-btn-icon-ghost-fill);fill:var(--tds-btn-icon-ghost-color);color:var(--tds-btn-icon-ghost-color)}button.ghost.sc-tds-button:hover{background:var(--tds-btn-ghost-background-hover);border-color:var(--tds-btn-ghost-border-color-hover);color:var(--tds-btn-ghost-color-hover);outline-color:var(--tds-btn-ghost-outline-color-hover)}button.ghost:hover:not(.disabled).sc-tds-button-s>[slot=icon],button.ghost:hover:not(.disabled) .sc-tds-button-s>[slot=icon]{fill:var(--tds-btn-icon-ghost-fill-hover);color:var(--tds-btn-icon-ghost-fill-hover);fill:var(--tds-btn-icon-ghost-color-hover);color:var(--tds-btn-icon-ghost-color-hover)}button.ghost.sc-tds-button:focus-visible{background:var(--tds-btn-ghost-background-focus);border-color:var(--tds-btn-ghost-border-color-focus);color:var(--tds-btn-ghost-color-focus);outline-color:var(--tds-btn-ghost-outline-color-focus)}button.ghost:focus-visible.sc-tds-button-s>[slot=icon],button.ghost:focus-visible .sc-tds-button-s>[slot=icon]{fill:var(--tds-btn-icon-ghost-fill-focus);color:var(--tds-btn-icon-ghost-fill-focus);fill:var(--tds-btn-icon-ghost-color-focus);color:var(--tds-btn-icon-ghost-color-focus)}button.ghost.sc-tds-button:active,button.ghost.active.sc-tds-button{background:var(--tds-btn-ghost-background-active);border-color:var(--tds-btn-ghost-border-color-active);color:var(--tds-btn-ghost-color-active);outline-color:var(--tds-btn-ghost-outline-color-active)}button.ghost:active:not(.disabled).sc-tds-button-s>[slot=icon],button.ghost:active:not(.disabled) .sc-tds-button-s>[slot=icon],button.ghost.active:not(.disabled).sc-tds-button-s>[slot=icon],button.ghost.active:not(.disabled) .sc-tds-button-s>[slot=icon]{fill:var(--tds-btn-icon-ghost-fill-active);color:var(--tds-btn-icon-ghost-fill-active);fill:var(--tds-btn-icon-ghost-color-active);color:var(--tds-btn-icon-ghost-color-active)}button.ghost.disabled.sc-tds-button,button.ghost.sc-tds-button:disabled{background:var(--tds-btn-ghost-background-disabled);border-color:var(--tds-btn-ghost-border-color-disabled);color:var(--tds-btn-ghost-color-disabled);outline-color:var(--tds-btn-ghost-outline-color-disabled)}button.danger.sc-tds-button{background:var(--tds-btn-danger-background);border-color:var(--tds-btn-danger-border-color);color:var(--tds-btn-danger-color);outline-color:var(--tds-btn-danger-outline-color)}button.danger.icon.sc-tds-button{fill:var(--tds-btn-icon-danger-fill);color:var(--tds-btn-icon-danger-fill);fill:var(--tds-btn-icon-danger-color);color:var(--tds-btn-icon-danger-color)}button.danger.sc-tds-button:hover{background:var(--tds-btn-danger-background-hover);border-color:var(--tds-btn-danger-border-color-hover);color:var(--tds-btn-danger-color-hover);outline-color:var(--tds-btn-danger-outline-color-hover)}button.danger:hover:not(.disabled).sc-tds-button-s>[slot=icon],button.danger:hover:not(.disabled) .sc-tds-button-s>[slot=icon]{fill:var(--tds-btn-icon-danger-fill-hover);color:var(--tds-btn-icon-danger-fill-hover);fill:var(--tds-btn-icon-danger-color-hover);color:var(--tds-btn-icon-danger-color-hover)}button.danger.sc-tds-button:focus-visible{background:var(--tds-btn-danger-background-focus);border-color:var(--tds-btn-danger-border-color-focus);color:var(--tds-btn-danger-color-focus);outline-color:var(--tds-btn-danger-outline-color-focus)}button.danger:focus-visible.sc-tds-button-s>[slot=icon],button.danger:focus-visible .sc-tds-button-s>[slot=icon]{fill:var(--tds-btn-icon-danger-fill-focus);color:var(--tds-btn-icon-danger-fill-focus);fill:var(--tds-btn-icon-danger-color-focus);color:var(--tds-btn-icon-danger-color-focus)}button.danger.sc-tds-button:active,button.danger.active.sc-tds-button{background:var(--tds-btn-danger-background-active);border-color:var(--tds-btn-danger-border-color-active);color:var(--tds-btn-danger-color-active);outline-color:var(--tds-btn-danger-outline-color-active)}button.danger:active:not(.disabled).sc-tds-button-s>[slot=icon],button.danger:active:not(.disabled) .sc-tds-button-s>[slot=icon],button.danger.active:not(.disabled).sc-tds-button-s>[slot=icon],button.danger.active:not(.disabled) .sc-tds-button-s>[slot=icon]{fill:var(--tds-btn-icon-danger-fill-active);color:var(--tds-btn-icon-danger-fill-active);fill:var(--tds-btn-icon-danger-color-active);color:var(--tds-btn-icon-danger-color-active)}button.danger.disabled.sc-tds-button,button.danger.sc-tds-button:disabled{background:var(--tds-btn-danger-background-disabled);border-color:var(--tds-btn-danger-border-color-disabled);color:var(--tds-btn-danger-color-disabled);outline-color:var(--tds-btn-danger-outline-color-disabled)}tds-button.sc-tds-button-h{display:inline-flex;align-items:center}.sc-tds-button-htds-button.sc-tds-button-s>[slot=icon],.sc-tds-button-htds-button .sc-tds-button-s>[slot=icon]{width:var(--tds-spacing-element-20);height:var(--tds-spacing-element-20)}.sc-tds-button-htds-button .sm.sc-tds-button-s>[slot=icon],.sc-tds-button-htds-button .sm .sc-tds-button-s>[slot=icon]{width:var(--tds-spacing-element-16);height:var(--tds-spacing-element-16)}.disabled.sc-tds-button-h:active{pointer-events:none}.disabled.sc-tds-button-h button.sc-tds-button{cursor:not-allowed}.fullbleed.sc-tds-button-h{width:100%;justify-content:center}tds-button.sc-tds-button button.sc-tds-button{display:inline-flex;align-items:center}tds-button button.sm.sc-tds-button-s>[slot=icon]{margin-left:var(--tds-spacing-element-12);width:var(--tds-spacing-element-16);height:var(--tds-spacing-element-16)}tds-button button.md.sc-tds-button-s>[slot=icon]{margin-left:var(--tds-spacing-element-16);width:var(--tds-spacing-element-20);height:var(--tds-spacing-element-20)}tds-button button.lg.sc-tds-button-s>[slot=icon]{margin-left:var(--tds-spacing-element-20);width:var(--tds-spacing-element-20);height:var(--tds-spacing-element-20)}tds-button button.only-icon.sc-tds-button-s>[slot=icon]{margin-left:0}";
5
5
  const TdsButtonStyle0 = buttonCss;
6
6
 
7
- const TdsButton = class {
8
- constructor(hostRef) {
9
- registerInstance(this, hostRef);
7
+ const TdsButton = /*@__PURE__*/ proxyCustomElement(class TdsButton extends H {
8
+ constructor() {
9
+ super();
10
+ this.__registerHost();
10
11
  this.text = undefined;
11
12
  this.type = 'button';
12
13
  this.variant = 'primary';
@@ -56,8 +57,35 @@ const TdsButton = class {
56
57
  [`animation-${this.animation}`]: this.animation !== 'none',
57
58
  } }, (this.onlyIcon && this.tdsAriaLabel && { 'aria-label': this.tdsAriaLabel })), this.text, hasLabelSlot && !this.onlyIcon && h("slot", { key: '2dc9400b032af40765d7ba1add85c09249dea64b', name: "label" }), hasIconSlot && h("slot", { key: '01af3eeaa00abc5dc824f4fa4633b2460fb4fe46', name: "icon" }))));
58
59
  }
59
- get host() { return getElement(this); }
60
- };
61
- TdsButton.style = TdsButtonStyle0;
60
+ get host() { return this; }
61
+ static get style() { return TdsButtonStyle0; }
62
+ }, [6, "tds-button", {
63
+ "text": [1],
64
+ "type": [1],
65
+ "variant": [1],
66
+ "size": [1],
67
+ "disabled": [4],
68
+ "fullbleed": [4],
69
+ "modeVariant": [1, "mode-variant"],
70
+ "animation": [1],
71
+ "tdsAriaLabel": [1, "tds-aria-label"],
72
+ "name": [1],
73
+ "value": [1],
74
+ "onlyIcon": [32]
75
+ }, [[0, "keydown", "handleKeyDown"], [0, "keyup", "handleKeyUp"]]]);
76
+ function defineCustomElement() {
77
+ if (typeof customElements === "undefined") {
78
+ return;
79
+ }
80
+ const components = ["tds-button"];
81
+ components.forEach(tagName => { switch (tagName) {
82
+ case "tds-button":
83
+ if (!customElements.get(tagName)) {
84
+ customElements.define(tagName, TdsButton);
85
+ }
86
+ break;
87
+ } });
88
+ }
89
+ defineCustomElement();
62
90
 
63
- export { TdsButton as tds_button };
91
+ export { TdsButton as T, defineCustomElement as d };
@@ -78,6 +78,7 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
78
78
  this.tdsFocus = createEvent(this, "tdsFocus", 6);
79
79
  this.tdsBlur = createEvent(this, "tdsBlur", 6);
80
80
  this.tdsInput = createEvent(this, "tdsInput", 6);
81
+ this.hasFocus = false;
81
82
  this.setDefaultOption = () => {
82
83
  if (this.internalDefaultValue) {
83
84
  // Convert the internal default value to an array if it's not already
@@ -160,6 +161,7 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
160
161
  this.handleFilter = (event) => {
161
162
  this.tdsInput.emit(event);
162
163
  const query = event.target.value.toLowerCase();
164
+ this.filterQuery = query;
163
165
  /* Check if the query is empty, and if so, show all options */
164
166
  const children = this.getChildren();
165
167
  if (query === '') {
@@ -185,26 +187,33 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
185
187
  }
186
188
  };
187
189
  this.handleFilterReset = () => {
188
- this.reset();
190
+ // only reset selected values when filterquery is blank
191
+ if (!this.filterQuery.length) {
192
+ this.reset();
193
+ }
189
194
  this.inputElement.value = '';
190
195
  this.handleFilter({ target: { value: '' } });
191
196
  this.inputElement.focus();
192
197
  // Add this line to ensure internal value is cleared
193
198
  this.internalValue = '';
194
199
  };
195
- this.handleFocus = (event) => {
200
+ this.handleFocus = () => {
196
201
  this.open = true;
197
202
  this.filterFocus = true;
198
- if (this.multiselect && this.inputElement) {
203
+ if (this.inputElement) {
199
204
  this.inputElement.value = '';
200
205
  }
201
- this.tdsFocus.emit(event);
206
+ // Focus event is now handled by focusin listener
202
207
  if (this.filter) {
203
208
  this.handleFilter({ target: { value: '' } });
204
209
  }
205
210
  };
206
- this.handleBlur = (event) => {
207
- this.tdsBlur.emit(event);
211
+ this.handleBlur = () => {
212
+ // Handle internal state changes when component loses focus
213
+ this.filterFocus = false;
214
+ if (this.inputElement) {
215
+ this.inputElement.value = this.getValue();
216
+ }
208
217
  };
209
218
  this.resetInput = () => {
210
219
  const inputEl = this.host.querySelector('input');
@@ -236,6 +245,7 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
236
245
  this.filterFocus = undefined;
237
246
  this.internalDefaultValue = undefined;
238
247
  this.selectedOptions = [];
248
+ this.filterQuery = '';
239
249
  }
240
250
  handleValueChange(newValue) {
241
251
  // Normalize to array
@@ -379,7 +389,7 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
379
389
  }
380
390
  }
381
391
  // Always trigger the focus event to open the dropdown
382
- this.handleFocus({});
392
+ this.handleFocus();
383
393
  }
384
394
  /** Method for closing the Dropdown. */
385
395
  async close() {
@@ -401,6 +411,25 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
401
411
  }
402
412
  }
403
413
  }
414
+ onFocusIn(event) {
415
+ // Check if the focus is within this dropdown component
416
+ if (this.host.contains(event.target)) {
417
+ if (!this.hasFocus) {
418
+ this.hasFocus = true;
419
+ this.tdsFocus.emit(event);
420
+ }
421
+ }
422
+ }
423
+ onFocusOut(event) {
424
+ // Only emit blur if focus is actually leaving the entire dropdown component
425
+ const relatedTarget = event.relatedTarget;
426
+ // If relatedTarget is null (focus going to body/window) or outside the component, emit blur
427
+ if (this.hasFocus && (!relatedTarget || !this.host.contains(relatedTarget))) {
428
+ this.hasFocus = false;
429
+ this.handleBlur();
430
+ this.tdsBlur.emit(event);
431
+ }
432
+ }
404
433
  async onKeyDown(event) {
405
434
  var _a;
406
435
  // Get the active element
@@ -520,9 +549,9 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
520
549
  // Generate unique IDs for associating labels and helpers with the input/button
521
550
  const labelId = this.label ? `dropdown-label-${this.name || generateUniqueId()}` : undefined;
522
551
  const helperId = this.helper ? `dropdown-helper-${this.name || generateUniqueId()}` : undefined;
523
- return (h(Host, { key: '69cdc96b6983b9556b4a9133ef8a0d2fa1e9e18e', class: {
552
+ return (h(Host, { key: '66323582950b2ac2a9e15cbcde747ab377af8c4b', class: {
524
553
  [`tds-mode-variant-${this.modeVariant}`]: Boolean(this.modeVariant),
525
- } }, this.label && this.labelPosition === 'outside' && (h("div", { key: '1cc3f825bc81ca34af7bbe845bd900531f724172', id: labelId, class: `label-outside ${this.disabled ? 'disabled' : ''}` }, this.label)), h("div", { key: '213f3149de4b9bc4c147ab658d6d5199d3360181', class: {
554
+ } }, this.label && this.labelPosition === 'outside' && (h("div", { key: 'f931805898336e462f931705f6d6b7bec8b2516a', id: labelId, class: `label-outside ${this.disabled ? 'disabled' : ''}` }, this.label)), h("div", { key: '56097022f7ae2d0a5501ab0dfbf1f802d3c5802f', class: {
526
555
  'dropdown-select': true,
527
556
  [this.size]: true,
528
557
  'disabled': this.disabled,
@@ -539,13 +568,7 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
539
568
  // eslint-disable-next-line no-return-assign
540
569
  ref: (inputEl) => (this.inputElement = inputEl), class: {
541
570
  placeholder: this.labelPosition === 'inside',
542
- }, type: "text", placeholder: this.filterFocus ? '' : this.placeholder, value: this.multiselect && this.filterFocus ? '' : this.getValue(), disabled: this.disabled, onInput: (event) => this.handleFilter(event), onBlur: (event) => {
543
- this.filterFocus = false;
544
- if (this.multiselect) {
545
- this.inputElement.value = this.getValue();
546
- }
547
- this.handleBlur(event);
548
- }, onFocus: (event) => this.handleFocus(event), onKeyDown: (event) => {
571
+ }, type: "text", placeholder: this.filterFocus ? '' : this.placeholder, value: this.multiselect && this.filterFocus ? this.filterQuery : this.getValue(), disabled: this.disabled, onInput: (event) => this.handleFilter(event), onFocus: () => this.handleFocus(), onKeyDown: (event) => {
549
572
  if (event.key === 'Escape') {
550
573
  this.open = false;
551
574
  }
@@ -572,7 +595,7 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
572
595
  label-inside-as-placeholder
573
596
  ${this.size}
574
597
  ${this.selectedOptions.length ? 'selected' : ''}
575
- ` }, 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) => {
598
+ ` }, 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: '165c4d884bd364ecbbc61f071e1302a31213b538', role: "listbox", "aria-label": this.tdsAriaLabel, inert: !this.open, "aria-orientation": "vertical", "aria-multiselectable": this.multiselect, ref: (element) => {
576
599
  this.dropdownList = element;
577
600
  }, class: {
578
601
  'dropdown-list': true,
@@ -583,11 +606,11 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
583
606
  'closed': !this.open,
584
607
  [`animation-enter-${this.animation}`]: this.animation !== 'none' && this.open,
585
608
  [`animation-exit-${this.animation}`]: this.animation !== 'none' && !this.open,
586
- } }, 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: {
609
+ } }, h("slot", { key: '3ad8c4742a8f8a8483769be189042b557ed7a37c', onSlotchange: () => this.handleSlotChange() }), this.filterResult === 0 && this.noResultText !== '' && (h("div", { key: '71918f0b750cf920246034a19444f6e694333031', class: `no-result ${this.size}` }, this.noResultText))), this.helper && (h("div", { key: 'ce6219f445aa2282ef31434b8a363c62c635d347', id: helperId, class: {
587
610
  helper: true,
588
611
  error: this.error,
589
612
  disabled: this.disabled,
590
- } }, this.error && h("tds-icon", { key: '936a8bd7db8a0ed994d6827c26bbb6732420fea4', name: "error", size: "16px" }), this.helper))));
613
+ } }, this.error && h("tds-icon", { key: '1868cc5a58e787aa686754cea80b1a9b3b1f3a82', name: "error", size: "16px" }), this.helper))));
591
614
  }
592
615
  get host() { return this; }
593
616
  static get watchers() { return {
@@ -621,6 +644,7 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
621
644
  "filterFocus": [32],
622
645
  "internalDefaultValue": [32],
623
646
  "selectedOptions": [32],
647
+ "filterQuery": [32],
624
648
  "setValue": [64],
625
649
  "reset": [64],
626
650
  "removeValue": [64],
@@ -628,7 +652,7 @@ const TdsDropdown = /*@__PURE__*/ proxyCustomElement(class TdsDropdown extends H
628
652
  "close": [64],
629
653
  "updateDisplay": [64],
630
654
  "appendValue": [64]
631
- }, [[9, "mousedown", "onAnyClick"], [0, "keydown", "onKeyDown"]], {
655
+ }, [[9, "mousedown", "onAnyClick"], [0, "focusin", "onFocusIn"], [0, "focusout", "onFocusOut"], [0, "keydown", "onKeyDown"]], {
632
656
  "value": ["handleValueChange"],
633
657
  "open": ["handleOpenState"],
634
658
  "defaultValue": ["handleDefaultValueChange"]