scb-wc 0.1.11 → 0.1.13

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 (183) hide show
  1. package/all.js +104 -1
  2. package/mvc/components/all.js +3 -90
  3. package/mvc/components/scb-accordion/scb-accordion-item.js +211 -1
  4. package/mvc/components/scb-accordion/scb-accordion.js +44 -1
  5. package/mvc/components/scb-app-bar/scb-app-bar.js +166 -1
  6. package/mvc/components/scb-avatar/scb-avatar.js +111 -1
  7. package/mvc/components/scb-badge/scb-badge.js +80 -1
  8. package/mvc/components/scb-breadcrumb/scb-breadcrumb-item.js +14 -1
  9. package/mvc/components/scb-breadcrumb/scb-breadcrumb.js +96 -1
  10. package/mvc/components/scb-button/scb-button.js +268 -1
  11. package/mvc/components/scb-calendar/scb-calendar-event.js +6 -1
  12. package/mvc/components/scb-calendar/scb-calendar.js +168 -1
  13. package/mvc/components/scb-calendar-card/scb-calendar-card.js +346 -1
  14. package/mvc/components/scb-card/scb-card.js +761 -1
  15. package/mvc/components/scb-checkbox/scb-checkbox-group.js +33 -1
  16. package/mvc/components/scb-checkbox/scb-checkbox.js +140 -1
  17. package/mvc/components/{Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-chevron → scb-chevron}/scb-chevron.js +1 -1
  18. package/mvc/components/scb-chip/scb-chip.js +66 -1
  19. package/mvc/components/scb-collapse/scb-collapse.js +89 -1
  20. package/mvc/components/scb-cookies-consent/scb-cookies-consent.js +78 -1
  21. package/mvc/components/{Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-datepicker → scb-datepicker}/scb-datepicker.js +1 -1
  22. package/mvc/components/scb-dialog/scb-dialog.js +265 -1
  23. package/mvc/components/scb-divider/scb-divider.js +69 -1
  24. package/mvc/components/scb-drawer/scb-drawer.js +128 -1
  25. package/mvc/components/scb-drop-zone/scb-drop-zone.js +555 -1
  26. package/mvc/components/scb-dropdown/scb-dropdown.js +306 -1
  27. package/mvc/components/scb-fab/scb-fab.js +108 -1
  28. package/mvc/components/scb-fact-card/scb-fact-card-content.js +46 -1
  29. package/mvc/components/scb-fact-card/scb-fact-card.js +226 -1
  30. package/mvc/components/scb-footer/scb-footer-section.js +3 -1
  31. package/mvc/components/scb-footer/scb-footer.js +210 -1
  32. package/mvc/components/scb-gallery-grid/scb-gallery-grid.js +131 -1
  33. package/mvc/components/scb-grid/scb-grid-item.js +11 -1
  34. package/mvc/components/scb-grid/scb-grid.js +98 -1
  35. package/mvc/components/scb-grid/scb-stack.js +33 -1
  36. package/mvc/components/scb-header/scb-header-menu-group.js +1 -1
  37. package/mvc/components/scb-header/scb-header-menu-item.js +5 -1
  38. package/mvc/components/scb-header/scb-header-tab.js +5 -1
  39. package/mvc/components/scb-header/scb-header-utility.js +1 -1
  40. package/mvc/components/scb-header/scb-header.js +681 -1
  41. package/mvc/components/scb-horizontal-scroller/scb-horizontal-scroller.js +196 -1
  42. package/mvc/components/scb-icon-button/scb-icon-button.js +171 -1
  43. package/mvc/components/scb-keyfigure-card/scb-keyfigure-card.js +212 -1
  44. package/mvc/components/scb-link/scb-link.js +61 -1
  45. package/mvc/components/scb-list/scb-list-item.js +153 -1
  46. package/mvc/components/scb-list/scb-list.js +26 -1
  47. package/mvc/components/scb-menu/scb-menu-item.js +205 -1
  48. package/mvc/components/scb-menu/scb-menu-section.js +42 -1
  49. package/mvc/components/scb-menu/scb-menu.js +81 -1
  50. package/mvc/components/scb-menu/scb-sub-menu.js +10 -1
  51. package/mvc/components/scb-nav/scb-nav-item.js +28 -1
  52. package/mvc/components/scb-nav/scb-nav.js +104 -1
  53. package/mvc/components/scb-notification-card/scb-notification-card.js +358 -1
  54. package/mvc/components/scb-options-menu/scb-options-menu-item.js +66 -1
  55. package/mvc/components/scb-options-menu/scb-options-menu.js +88 -1
  56. package/mvc/components/scb-options-menu/scb-options-sub-menu.js +34 -1
  57. package/mvc/components/scb-overlay/scb-overlay.js +49 -1
  58. package/mvc/components/scb-pagination/scb-pagination.js +312 -1
  59. package/mvc/components/scb-progress-indicator/scb-progress-indicator.js +87 -1
  60. package/mvc/components/scb-progress-stepper/scb-progress-step.js +147 -1
  61. package/mvc/components/scb-progress-stepper/scb-progress-stepper.js +62 -1
  62. package/mvc/components/scb-radio-button/scb-radio-button.js +132 -1
  63. package/mvc/components/scb-radio-button/scb-radio-group.js +43 -1
  64. package/mvc/components/scb-scrollspy/scb-scrollspy.js +79 -1
  65. package/mvc/components/scb-search/scb-search.js +292 -1
  66. package/mvc/components/scb-segmented-button/scb-segmented-button.js +32 -1
  67. package/mvc/components/scb-segmented-button/scb-segmented-item.js +74 -1
  68. package/mvc/components/scb-select/scb-select-option.js +61 -1
  69. package/mvc/components/scb-select/scb-select.js +284 -1
  70. package/mvc/components/scb-skeleton/scb-skeleton.js +38 -1
  71. package/mvc/components/scb-slider/scb-slider.js +27 -1
  72. package/mvc/components/scb-snackbar/scb-snackbar.js +128 -1
  73. package/mvc/components/scb-status-pill/scb-status-pill.js +45 -1
  74. package/mvc/components/scb-stepper/scb-step.js +239 -1
  75. package/mvc/components/scb-stepper/scb-stepper.js +139 -1
  76. package/mvc/components/scb-switch/scb-switch.js +59 -1
  77. package/mvc/components/scb-table/scb-table.js +51 -1
  78. package/mvc/components/scb-table-advanced/scb-table-advanced.js +76 -1
  79. package/mvc/components/scb-tabs/scb-primary-tab.js +6 -1
  80. package/mvc/components/scb-tabs/scb-secondary-tab.js +6 -1
  81. package/mvc/components/scb-tabs/scb-tabs.js +28 -1
  82. package/mvc/components/scb-textfield/scb-textfield.js +595 -1
  83. package/mvc/components/scb-toc/scb-toc-item.js +303 -1
  84. package/mvc/components/scb-toc/scb-toc.js +19 -1
  85. package/mvc/components/scb-tooltip/scb-tooltip.js +196 -1
  86. package/mvc/components/scb-vignette/scb-vignette.js +37 -0
  87. package/mvc/components/scb-viz/scb-viz-actions-runtime.js +2 -1
  88. package/mvc/components/scb-viz/scb-viz-print-runtime.js +98 -1
  89. package/mvc/components/scb-viz/scb-viz-series-differentiation-registry.js +1 -1
  90. package/mvc/components/scb-viz/scb-viz-series-differentiation-runtime.js +1 -1
  91. package/mvc/components/scb-viz/scb-viz-table-runtime.js +1 -1
  92. package/mvc/components/scb-viz/scb-viz.js +1140 -1
  93. package/mvc/scb-logo.svg +20 -20
  94. package/mvc/scb.svg +13 -13
  95. package/package.json +462 -430
  96. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-accordion/scb-accordion-item.js +0 -211
  97. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-accordion/scb-accordion.js +0 -44
  98. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-app-bar/scb-app-bar.js +0 -166
  99. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-avatar/scb-avatar.js +0 -111
  100. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-badge/scb-badge.js +0 -80
  101. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-breadcrumb/scb-breadcrumb-item.js +0 -14
  102. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-breadcrumb/scb-breadcrumb.js +0 -96
  103. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-button/scb-button.js +0 -268
  104. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-calendar/scb-calendar-event.js +0 -6
  105. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-calendar/scb-calendar.js +0 -168
  106. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-calendar-card/scb-calendar-card.js +0 -346
  107. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-card/scb-card.js +0 -761
  108. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-checkbox/scb-checkbox-group.js +0 -33
  109. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-checkbox/scb-checkbox.js +0 -140
  110. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-chip/scb-chip.js +0 -66
  111. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-collapse/scb-collapse.js +0 -89
  112. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-cookies-consent/scb-cookies-consent.js +0 -78
  113. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-dialog/scb-dialog.js +0 -265
  114. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-divider/scb-divider.js +0 -69
  115. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-drawer/scb-drawer.js +0 -128
  116. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-drop-zone/scb-drop-zone.js +0 -555
  117. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-dropdown/scb-dropdown.js +0 -306
  118. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-fab/scb-fab.js +0 -108
  119. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-fact-card/scb-fact-card-content.js +0 -46
  120. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-fact-card/scb-fact-card.js +0 -226
  121. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-footer/scb-footer-section.js +0 -3
  122. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-footer/scb-footer.js +0 -210
  123. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-gallery-grid/scb-gallery-grid.js +0 -131
  124. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-grid/scb-grid-item.js +0 -11
  125. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-grid/scb-grid.js +0 -98
  126. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-grid/scb-stack.js +0 -33
  127. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-header/scb-header-menu-group.js +0 -1
  128. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-header/scb-header-menu-item.js +0 -5
  129. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-header/scb-header-tab.js +0 -5
  130. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-header/scb-header-utility.js +0 -1
  131. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-header/scb-header.js +0 -681
  132. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-horizontal-scroller/scb-horizontal-scroller.js +0 -196
  133. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-icon-button/scb-icon-button.js +0 -171
  134. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-keyfigure-card/scb-keyfigure-card.js +0 -212
  135. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-link/scb-link.js +0 -61
  136. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-list/scb-list-item.js +0 -153
  137. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-list/scb-list.js +0 -26
  138. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-menu/scb-menu-item.js +0 -205
  139. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-menu/scb-menu-section.js +0 -42
  140. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-menu/scb-menu.js +0 -81
  141. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-menu/scb-sub-menu.js +0 -10
  142. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-nav/scb-nav-item.js +0 -28
  143. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-nav/scb-nav.js +0 -104
  144. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-notification-card/scb-notification-card.js +0 -358
  145. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-options-menu/scb-options-menu-item.js +0 -66
  146. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-options-menu/scb-options-menu.js +0 -88
  147. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-options-menu/scb-options-sub-menu.js +0 -34
  148. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-overlay/scb-overlay.js +0 -49
  149. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-pagination/scb-pagination.js +0 -312
  150. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-progress-indicator/scb-progress-indicator.js +0 -87
  151. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-progress-stepper/scb-progress-step.js +0 -147
  152. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-progress-stepper/scb-progress-stepper.js +0 -62
  153. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-radio-button/scb-radio-button.js +0 -132
  154. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-radio-button/scb-radio-group.js +0 -43
  155. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-scrollspy/scb-scrollspy.js +0 -79
  156. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-search/scb-search.js +0 -292
  157. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-segmented-button/scb-segmented-button.js +0 -32
  158. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-segmented-button/scb-segmented-item.js +0 -74
  159. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-select/scb-select-option.js +0 -61
  160. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-select/scb-select.js +0 -284
  161. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-skeleton/scb-skeleton.js +0 -38
  162. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-slider/scb-slider.js +0 -27
  163. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-snackbar/scb-snackbar.js +0 -128
  164. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-status-pill/scb-status-pill.js +0 -45
  165. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-stepper/scb-step.js +0 -239
  166. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-stepper/scb-stepper.js +0 -139
  167. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-switch/scb-switch.js +0 -59
  168. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-table/scb-table.js +0 -51
  169. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-table-advanced/scb-table-advanced.js +0 -76
  170. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-tabs/scb-primary-tab.js +0 -6
  171. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-tabs/scb-secondary-tab.js +0 -6
  172. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-tabs/scb-tabs.js +0 -28
  173. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-textfield/scb-textfield.js +0 -595
  174. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-toc/scb-toc-item.js +0 -303
  175. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-toc/scb-toc.js +0 -19
  176. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-tooltip/scb-tooltip.js +0 -196
  177. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-vignette/scb-vignette.js +0 -37
  178. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-viz/scb-viz-actions-runtime.js +0 -2
  179. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-viz/scb-viz-print-runtime.js +0 -98
  180. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-viz/scb-viz-series-differentiation-registry.js +0 -1
  181. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-viz/scb-viz-series-differentiation-runtime.js +0 -1
  182. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-viz/scb-viz-table-runtime.js +0 -1
  183. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-viz/scb-viz.js +0 -1140
@@ -1,6 +0,0 @@
1
- import{u as r}from"../../../../../../../../vendor/vendor-material.js";import{b as h,g as b,h as l}from"../../../../../../../../vendor/vendor.js";import"../../../../../../../../vendor/vendor-lit.js";import{t as s}from"../../../../../../../../vendor/decorate.js";(function(){try{var n=typeof globalThis<"u"?globalThis:window;if(!n.__scb_ce_guard_installed__){n.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(e,d,u){try{customElements.get(e)||t(e,d,u)}catch(a){var c=String(a||"");if(c.indexOf("already been used")===-1&&c.indexOf("NotSupportedError")===-1)throw a}}}}catch{}})();var o,i=(o=class extends r{constructor(...t){super(...t),this.iconOnly=!1,this._onActivate=()=>{const e=this.textContent?.trim()??"";this.dispatchEvent(new CustomEvent("activate",{detail:{label:e},bubbles:!0,composed:!0}))}}connectedCallback(){super.connectedCallback(),this.setAttribute("role","tab")}get icon(){return this._icon}set icon(t){const e=this._icon;e!==t&&(this._icon=t,this.requestUpdate("icon",e),this.updateIconSlot())}firstUpdated(t){if(super.firstUpdated(t),this.iconOnly&&!this.hasAttribute("aria-label")){const e=this.textContent?.trim()??"";e&&this.setAttribute("aria-label",e)}this.addEventListener("click",this._onActivate),this._icon&&this.updateIconSlot()}updated(){if(super.updated(),this.iconOnly&&!this.hasAttribute("aria-label")){const t=this.textContent?.trim()??"";t&&this.setAttribute("aria-label",t)}}updateIconSlot(){const t=this.querySelector('md-icon[slot="icon"]');if(!this._icon){t?.remove();return}if(t)t.textContent=this._icon;else{const e=document.createElement("md-icon");e.setAttribute("slot","icon"),e.textContent=this._icon,this.appendChild(e)}}},o.styles=[...r.styles,h`
2
- /* Icon-only: göm all text utom slot="icon" */
3
- :host([icon-only]) slot:not([name='icon']) {
4
- display: none;
5
- }
6
- `],o);s([l({type:String})],i.prototype,"icon",null);s([l({type:Boolean,reflect:!0,attribute:"icon-only"})],i.prototype,"iconOnly",void 0);i=s([b("scb-secondary-tab")],i);export{i as ScbSecondaryTab};
@@ -1,28 +0,0 @@
1
- import{l as g}from"../../../../../../../../vendor/vendor-material.js";import{b as y,g as v,h as c}from"../../../../../../../../vendor/vendor.js";import"../../../../../../../../vendor/vendor-lit.js";import{t as n}from"../../../../../../../../vendor/decorate.js";import{n as u,t as o}from"../../../../../../../../vendor/assertClassBrand.js";import"./scb-primary-tab.js";import"./scb-secondary-tab.js";(function(){try{var a=typeof globalThis<"u"?globalThis:window;if(!a.__scb_ce_guard_installed__){a.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(s,r,p){try{customElements.get(s)||t(s,r,p)}catch(h){var b=String(h||"");if(b.indexOf("already been used")===-1&&b.indexOf("NotSupportedError")===-1)throw h}}}}catch{}})();var i,d,e=(i=new WeakSet,d=class extends g{constructor(...t){super(...t),u(this,i),this.ariaLabel="",this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this._isDispatching=!1,this._onChange=s=>{if(!s.composed&&!this._isDispatching){s.stopPropagation(),this._isDispatching=!0;const r=s.target.activeTabIndex;this.dispatchEvent(new CustomEvent("change",{detail:{activeTabIndex:r},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("tabschange",{detail:{activeTabIndex:r},bubbles:!0,composed:!0})),this._isDispatching=!1}}}connectedCallback(){super.connectedCallback(),this.setAttribute("role","tablist")}firstUpdated(t){super.firstUpdated(t),this.addEventListener("change",this._onChange),o(i,this,m).call(this)}updated(t){super.updated(t),(t.has("spacing")||t.has("spacingTop")||t.has("spacingBottom")||t.has("spacingLeft")||t.has("spacingRight"))&&o(i,this,m).call(this)}},d.styles=[...g.styles,y`
2
- :host {
3
- /*Containerfärg */
4
- --md-primary-tab-container-color: var(--md-sys-color-surface);
5
- --md-secondary-tab-container-color: var(--md-sys-color-surface);
6
-
7
- /* Text- och ikonfärger */
8
- --md-primary-tab-label-text-color: var(--md-sys-color-on-surface-variant);
9
- --md-secondary-tab-label-text-color: var(--md-sys-color-on-surface-variant);
10
- --md-primary-tab-active-label-text-color: var(--md-sys-color-on-surface);
11
- --md-secondary-tab-active-label-text-color: var(--md-sys-color-on-surface);
12
-
13
- /* Indikator och divider */
14
- --md-primary-tab-active-indicator-color: var(--md-sys-color-primary);
15
- --md-primary-tab-divider-color: var(--md-sys-color-outline-variant);
16
- --md-secondary-tab-divider-color: var(--md-sys-color-outline-variant);
17
-
18
- /* State layers (hover/press) */
19
- --md-primary-tab-hover-state-layer-color: var(--md-sys-color-on-surface);
20
- --md-secondary-tab-hover-state-layer-color: var(--md-sys-color-on-surface);
21
-
22
- /* Vertikalt avstånd styrs av spacing-attributen via CSS-variabler */
23
- margin-block-start: var(--scb-tabs-spacing-block-start, 0);
24
- margin-block-end: var(--scb-tabs-spacing-block-end, 0);
25
- margin-inline-start: var(--scb-tabs-spacing-inline-start, 0);
26
- margin-inline-end: var(--scb-tabs-spacing-inline-end, 0);
27
- }
28
- `],d);function m(){const a=o(i,this,l).call(this,this.spacing),t=o(i,this,l).call(this,this.spacingTop)??a,s=o(i,this,l).call(this,this.spacingBottom)??a,r=o(i,this,l).call(this,this.spacingLeft),p=o(i,this,l).call(this,this.spacingRight);t?this.style.setProperty("--scb-tabs-spacing-block-start",t):this.style.removeProperty("--scb-tabs-spacing-block-start"),s?this.style.setProperty("--scb-tabs-spacing-block-end",s):this.style.removeProperty("--scb-tabs-spacing-block-end"),r?this.style.setProperty("--scb-tabs-spacing-inline-start",r):this.style.removeProperty("--scb-tabs-spacing-inline-start"),p?this.style.setProperty("--scb-tabs-spacing-inline-end",p):this.style.removeProperty("--scb-tabs-spacing-inline-end")}function l(a){if(!a)return;const t=String(a).trim();if(t)return/^\d+$/.test(t)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(t,10)))})`:t}n([c({type:String,reflect:!0,attribute:"aria-label"})],e.prototype,"ariaLabel",void 0);n([c({type:String,reflect:!0})],e.prototype,"spacing",void 0);n([c({type:String,attribute:"spacing-top",reflect:!0})],e.prototype,"spacingTop",void 0);n([c({type:String,attribute:"spacing-bottom",reflect:!0})],e.prototype,"spacingBottom",void 0);n([c({type:String,attribute:"spacing-left",reflect:!0})],e.prototype,"spacingLeft",void 0);n([c({type:String,attribute:"spacing-right",reflect:!0})],e.prototype,"spacingRight",void 0);e=n([v("scb-tabs")],e);export{e as ScbTabs};
@@ -1,595 +0,0 @@
1
- import"../../../../../../../../vendor/vendor-material.js";import{_,b as w,g as $,h as d,m as k,y as o}from"../../../../../../../../vendor/vendor.js";import"../../../../../../../../vendor/vendor-lit.js";import{t as r}from"../../../../../../../../vendor/decorate.js";import{n as z,t as a}from"../../../../../../../../vendor/assertClassBrand.js";import"../scb-icon-button/scb-icon-button.js";import"../scb-datepicker/scb-datepicker.js";(function(){try{var t=typeof globalThis<"u"?globalThis:window;if(!t.__scb_ce_guard_installed__){t.__scb_ce_guard_installed__=!0;var e=customElements.define.bind(customElements);customElements.define=function(i,n,c){try{customElements.get(i)||e(i,n,c)}catch(b){var p=String(b||"");if(p.indexOf("already been used")===-1&&p.indexOf("NotSupportedError")===-1)throw b}}}}catch{}})();var s,u,l=(s=new WeakSet,u=class extends _{constructor(){super(),z(this,s),this._internals=null,this._inputFocused=!1,this._kbShouldShowRing=!1,this._onGlobalKeydown=e=>{e.key==="Tab"&&(this._kbShouldShowRing=!0,this._inputFocused&&a(s,this,g).call(this))},this._onGlobalPointerDown=()=>{this._kbShouldShowRing=!1,this._inputFocused&&a(s,this,g).call(this)},this._hasRenderedOnce=!1,this._boundField=null,this._onFieldInput=()=>{const e=this._boundField;if(!e)return;const i=e;if(this.value=i.value,this._internals){const n=this.disabled?null:this.value;this._internals.setFormValue(n)}a(s,this,f).call(this),this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("onValueChanged",{detail:{value:this.value},bubbles:!0,composed:!0}))},this._onFieldChange=()=>{this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))},this._onFieldSelect=()=>{this.dispatchEvent(new Event("select",{bubbles:!0,composed:!0}))},this._onFieldFocus=()=>{this._inputFocused=!0,a(s,this,g).call(this)},this._onFieldBlur=()=>{this._inputFocused=!1,a(s,this,g).call(this)},this.type="text",this.label="",this.supportingText="",this.errorText="",this.leadingIcon="",this.name="",this.pattern="",this.value="",this.underLabel="",this.error=!1,this.disabled=!1,this.required=!1,this.size="large",this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this._form=null,this._formSubmitHandler=null,this._formResetHandler=null,this._initialValue="",this._inputId="",this._showDatepicker=!1,this._toggleDatepicker=()=>{this._showDatepicker=!this._showDatepicker},this._onDateSelected=e=>{if(this.value=e.detail.value,this._showDatepicker=!1,this._internals){const i=this.disabled?null:this.value;this._internals.setFormValue(i)}a(s,this,f).call(this),this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("onValueChanged",{detail:{value:this.value},bubbles:!0,composed:!0}))},"attachInternals"in this&&(this._internals=this.attachInternals())}_syncDensityForSize(){this.size==="extra-small"?this.setAttribute("data-density","-5"):this.size==="small"?this.setAttribute("data-density","-4"):this.size==="medium"?this.setAttribute("data-density","-2"):this.removeAttribute("data-density")}render(){const e=this.leadingIcon?o`<md-icon class="scb-textfield-icon">${this.leadingIcon}</md-icon>`:null,i=this.error?o`<md-icon class="scb-textfield-error-icon" aria-hidden="true">error</md-icon>`:null;this.underLabel=this.error?this.errorText||"Ogiltig inmatning.":this.supportingText,this.value=this.value||"";const n=this.underLabel?`${this._inputId}-supporting-text`:void 0,c=this.type==="search"&&this.value?o`
2
- <button
3
- type="button"
4
- class="scb-textfield-clear"
5
- @click=${this._onClearClick}
6
- aria-label="Rensa fält"
7
- >
8
- <svg viewBox="0 0 24 24" aria-hidden="true" focusable="false">
9
- <circle
10
- cx="12"
11
- cy="12"
12
- r="10"
13
- fill="none"
14
- stroke="currentColor"
15
- stroke-width="2"
16
- ></circle>
17
- <line
18
- x1="8"
19
- y1="8"
20
- x2="16"
21
- y2="16"
22
- stroke="currentColor"
23
- stroke-width="2"
24
- ></line>
25
- <line
26
- x1="16"
27
- y1="8"
28
- x2="8"
29
- y2="16"
30
- stroke="currentColor"
31
- stroke-width="2"
32
- ></line>
33
- </svg>
34
- </button>
35
- `:null;return this.type==="textarea"?o`
36
- <label
37
- class="scb-textfield-label ${this.underLabel?"":"scb-textfield-label--without-supporting"}"
38
- for="${this._inputId}"
39
- >
40
- ${this.label}
41
- </label>
42
- ${this.underLabel?o`
43
- <span class="scb-textfield-supporting-text" id="${this._inputId}-supporting-text">
44
- ${this.underLabel}
45
- </span>
46
- `:null}
47
- <div class="scb-textfield-wrapper">
48
- <div class="ripple-wrapper">
49
- <textarea
50
- class="scb-textfield"
51
- .value=${this.value}
52
- ?disabled=${this.disabled}
53
- name="${this.name}"
54
- id="${this._inputId}"
55
- ?required=${this.required}
56
- aria-invalid=${this.error?"true":"false"}
57
- aria-describedby=${n}
58
- ></textarea>
59
- <md-ripple></md-ripple>
60
- <md-focus-ring class="input-ring"></md-focus-ring>
61
- </div>
62
- </div>
63
- `:this.type==="date"?o`
64
- <label
65
- class="scb-textfield-label ${this.underLabel?"":"scb-textfield-label--without-supporting"}"
66
- for="${this._inputId}"
67
- >
68
- ${this.label}
69
- </label>
70
- ${this.underLabel?o`
71
- <span class="scb-textfield-supporting-text" id="${this._inputId}-supporting-text">
72
- ${this.underLabel}
73
- </span>
74
- `:null}
75
- <div class="scb-textfield-wrapper">
76
- ${e}
77
- <div class="ripple-wrapper">
78
- <input
79
- class="scb-textfield${this.error?" has-error-icon":""}"
80
- .value=${this.value}
81
- type="text"
82
- name="${this.name}"
83
- id="${this._inputId}"
84
- ?disabled=${this.disabled}
85
- ?required=${this.required}
86
- aria-invalid=${this.error?"true":"false"}
87
- aria-describedby=${n}
88
- readonly
89
- @focus=${this._toggleDatepicker}
90
- @click=${this._toggleDatepicker}
91
- />
92
- <md-ripple></md-ripple>
93
- <md-focus-ring class="input-ring"></md-focus-ring>
94
- </div>
95
- ${this.error?i:o`
96
- <scb-icon-button
97
- class="scb-textfield-datepicker-button"
98
- icon="calendar_today"
99
- size=${this.size}
100
- @click=${this._toggleDatepicker}
101
- aria-label="Välj datum"
102
- ></scb-icon-button>
103
- `}
104
- <scb-datepicker
105
- .selectedValue=${this.value}
106
- .open=${this._showDatepicker}
107
- @date-selected=${this._onDateSelected}
108
- ></scb-datepicker>
109
- </div>
110
- `:this.type==="datetime-local"?o`
111
- <label
112
- class="scb-textfield-label ${this.underLabel?"":"scb-textfield-label--without-supporting"}"
113
- for="${this._inputId}"
114
- >
115
- ${this.label}
116
- </label>
117
- ${this.underLabel?o`
118
- <span class="scb-textfield-supporting-text" id="${this._inputId}-supporting-text">
119
- ${this.underLabel}
120
- </span>
121
- `:null}
122
- <div class="scb-textfield-wrapper" style="position:relative;">
123
- ${e}
124
- <div class="ripple-wrapper">
125
- <input
126
- class="scb-textfield${this.error?" has-error-icon":""}"
127
- .value=${this.value}
128
- type="text"
129
- name="${this.name}"
130
- id="${this._inputId}"
131
- ?disabled=${this.disabled}
132
- ?required=${this.required}
133
- aria-invalid=${this.error?"true":"false"}
134
- aria-describedby=${n}
135
- readonly
136
- @focus=${this._toggleDatepicker}
137
- @click=${this._toggleDatepicker}
138
- />
139
-
140
- <md-ripple></md-ripple>
141
- <md-focus-ring class="input-ring"></md-focus-ring>
142
- </div>
143
-
144
- ${this.error?i:o`
145
- <scb-icon-button
146
- class="scb-textfield-datepicker-button"
147
- icon="calendar_today"
148
- size=${this.size}
149
- @click=${this._toggleDatepicker}
150
- aria-label="Välj datum"
151
- ></scb-icon-button>
152
- `}
153
- <scb-datepicker
154
- variant="datetime-local"
155
- .selectedValue=${this.value}
156
- .open=${this._showDatepicker}
157
- @date-selected=${this._onDateSelected}
158
- ></scb-datepicker>
159
- </div>
160
- `:this.type==="time"?o`
161
- <label
162
- class="scb-textfield-label ${this.underLabel?"":"scb-textfield-label--without-supporting"}"
163
- for="${this._inputId}"
164
- >
165
- ${this.label}
166
- </label>
167
- ${this.underLabel?o`
168
- <span class="scb-textfield-supporting-text" id="${this._inputId}-supporting-text">
169
- ${this.underLabel}
170
- </span>
171
- `:null}
172
- <div class="scb-textfield-wrapper">
173
- ${e}
174
- <div class="ripple-wrapper">
175
- <input
176
- class="scb-textfield${this.error?" has-error-icon":""}"
177
- .value=${this.value}
178
- type="time"
179
- name="${this.name}"
180
- id="${this._inputId}"
181
- ?disabled=${this.disabled}
182
- ?required=${this.required}
183
- aria-invalid=${this.error?"true":"false"}
184
- aria-describedby=${n}
185
- @input=${p=>{const b=p.target;if(this.value=b.value,this._internals){const y=this.disabled?null:this.value;this._internals.setFormValue(y)}a(s,this,f).call(this),this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("onValueChanged",{detail:{value:this.value},bubbles:!0,composed:!0}))}}
186
- />
187
- ${i}
188
- <md-ripple></md-ripple>
189
- <md-focus-ring class="input-ring"></md-focus-ring>
190
- </div>
191
- </div>
192
- `:o`
193
- <label
194
- class="scb-textfield-label ${this.underLabel?"":"scb-textfield-label--without-supporting"}"
195
- for="${this._inputId}"
196
- >
197
- ${this.label}
198
- </label>
199
- ${this.underLabel?o`
200
- <span class="scb-textfield-supporting-text" id="${this._inputId}-supporting-text">
201
- ${this.underLabel}
202
- </span>
203
- `:null}
204
- <div class="scb-textfield-wrapper">
205
- ${e}
206
- <div class="ripple-wrapper">
207
- <input
208
- class="scb-textfield${this.error?" has-error-icon":""}"
209
- .value=${this.value}
210
- type="${this.type}"
211
- name="${this.name}"
212
- id="${this._inputId}"
213
- ?disabled=${this.disabled}
214
- ?required=${this.required}
215
- aria-invalid=${this.error?"true":"false"}
216
- aria-describedby=${n}
217
- />
218
- ${c}
219
- ${i}
220
- <md-ripple></md-ripple>
221
- <md-focus-ring class="input-ring"></md-focus-ring>
222
- </div>
223
- </div>
224
- `}firstUpdated(e){super.firstUpdated(e),this._initialValue=this.value,this._internals&&this.value&&this._internals.setFormValue(this.value),a(s,this,m).call(this),a(s,this,x).call(this)}updated(e){if(super.updated(e),this.toggleAttribute("aria-disabled",this.disabled),e.has("size")&&this._syncDensityForSize(),this._internals&&(e.has("value")||e.has("disabled"))){const i=this.disabled?null:this.value;this._internals.setFormValue(i)}e.has("type")&&(a(s,this,m).call(this),this._hasRenderedOnce&&a(s,this,S).call(this)),(e.has("spacing")||e.has("spacingTop")||e.has("spacingBottom")||e.has("spacingLeft")||e.has("spacingRight"))&&a(s,this,x).call(this),this._hasRenderedOnce=!0}formDisabledCallback(e){this.disabled=e}connectedCallback(){super.connectedCallback(),this._syncDensityForSize(),this._inputId=this.id||`scb-textfield-${Math.random().toString(36).substr(2,9)}`,this._formSubmitHandler=e=>{this.reportValidity()||(e.preventDefault(),e.stopPropagation())},this._form=this.closest("form"),this._form&&(this._form.addEventListener("submit",this._formSubmitHandler,!0),this._formResetHandler=()=>{this.value=this._initialValue;const e=this.shadowRoot?.querySelector(".scb-textfield");e&&(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)&&(e.value=this._initialValue),this.error=!1},this._form.addEventListener("reset",this._formResetHandler,!0)),window.addEventListener("keydown",this._onGlobalKeydown,!0),window.addEventListener("pointerdown",this._onGlobalPointerDown,!0)}disconnectedCallback(){super.disconnectedCallback(),this._form&&this._formSubmitHandler&&(this._form.removeEventListener("submit",this._formSubmitHandler,!0),this._formResetHandler&&this._form.removeEventListener("reset",this._formResetHandler,!0)),a(s,this,v).call(this),window.removeEventListener("keydown",this._onGlobalKeydown,!0),window.removeEventListener("pointerdown",this._onGlobalPointerDown,!0)}reportValidity(){return a(s,this,f).call(this,!0)}_onClearClick(){const e=this.shadowRoot?.querySelector(".scb-textfield");if(e&&(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)){if(e.value="",this.value="",this._internals){const i=this.disabled?null:this.value;this._internals.setFormValue(i),this._internals.setValidity({})}this.error=!1,e.setCustomValidity(""),this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("onValueChanged",{detail:{value:this.value},bubbles:!0,composed:!0})),e.focus()}}},u.formAssociated=!0,u.styles=[w`
225
- :host {
226
- --scb-textfield-number-max-width: 280px;
227
- --scb-textfield-text-max-width: 400px;
228
- --scb-textfield-search-max-width: 600px;
229
- --scb-textfield-email-max-width: 400px;
230
- --scb-textfield-password-max-width: 400px;
231
- --scb-textfield-tel-max-width: 400px;
232
- --scb-textfield-url-max-width: 400px;
233
- --scb-textfield-textarea-max-width: 600px;
234
- font-family: var(--brand-font);
235
- color: var(--md-sys-color-on-surface);
236
-
237
- /* Avstånd till omgivande innehåll styrs av spacing-attributen via CSS-variabler */
238
- margin-block-start: var(--scb-textfield-spacing-block-start, 0);
239
- margin-block-end: var(--scb-textfield-spacing-block-end, 0);
240
-
241
- margin-inline-start: var(--scb-textfield-spacing-inline-start, 0);
242
- margin-inline-end: var(--scb-textfield-spacing-inline-end, 0);
243
- -webkit-tap-highlight-color: transparent;
244
-
245
- --scb-textfield-padding-x: var(--spacing-5);
246
- --scb-textfield-padding-y: var(--spacing-2);
247
- --scb-textfield-min-height: 56px;
248
-
249
- --scb-textfield-font-size: var(--md-sys-typescale-body-large-size);
250
- --scb-textfield-line-height: var(--md-sys-typescale-body-large-line-height);
251
-
252
- --scb-textfield-label-font-size: var(--md-sys-typescale-label-medium-size);
253
- --scb-textfield-label-line-height: var(--md-sys-typescale-label-medium-line-height);
254
- --scb-textfield-label-letter-spacing: var(--md-sys-typescale-label-medium-tracking);
255
-
256
- --scb-textfield-supporting-font-size: var(--md-sys-typescale-body-medium-size);
257
- --scb-textfield-supporting-line-height: var(--md-sys-typescale-body-medium-line-height);
258
- --scb-textfield-supporting-letter-spacing: var(--md-sys-typescale-body-medium-tracking);
259
- --scb-textfield-label-gap: var(--spacing-3);
260
-
261
- --scb-textfield-leading-inset: var(--spacing-4);
262
- --scb-textfield-leading-icon-size: var(--icon-size-medium, 24px);
263
- --scb-textfield-leading-gap: var(--spacing-4);
264
- --scb-textfield-leading-padding: calc(
265
- var(--scb-textfield-leading-inset) +
266
- var(--scb-textfield-leading-icon-size) +
267
- var(--scb-textfield-leading-gap)
268
- );
269
-
270
- --scb-textfield-trailing-inset: var(--spacing-4);
271
- --scb-textfield-trailing-icon-size: var(--icon-size-medium, 24px);
272
- --scb-textfield-trailing-gap: var(--spacing-3);
273
- --scb-textfield-trailing-action-size: var(--scale-11, 48px);
274
- --scb-textfield-trailing-reserved: calc(
275
- var(--scb-textfield-trailing-inset) +
276
- var(--scb-textfield-trailing-action-size) +
277
- var(--spacing-2)
278
- );
279
- }
280
-
281
- :host([size='medium']) {
282
- --scb-textfield-padding-x: var(--spacing-4);
283
- --scb-textfield-padding-y: var(--spacing-3);
284
- --scb-textfield-min-height: 48px;
285
-
286
- --scb-textfield-font-size: var(--md-sys-typescale-body-medium-size);
287
- --scb-textfield-line-height: var(--md-sys-typescale-body-medium-line-height);
288
-
289
- --scb-textfield-label-font-size: var(--md-sys-typescale-label-small-size);
290
- --scb-textfield-label-line-height: var(--md-sys-typescale-label-small-line-height);
291
- --scb-textfield-label-letter-spacing: var(--md-sys-typescale-label-small-tracking);
292
-
293
- --scb-textfield-supporting-font-size: var(--md-sys-typescale-body-small-size);
294
- --scb-textfield-supporting-line-height: var(--md-sys-typescale-body-small-line-height);
295
- --scb-textfield-supporting-letter-spacing: var(--md-sys-typescale-body-small-tracking);
296
-
297
- --scb-textfield-leading-inset: var(--spacing-3);
298
- --scb-textfield-leading-icon-size: var(--icon-size-small, 20px);
299
- --scb-textfield-leading-gap: var(--spacing-5);
300
-
301
- --scb-textfield-trailing-inset: var(--spacing-3);
302
- --scb-textfield-trailing-icon-size: var(--icon-size-small, 20px);
303
- --scb-textfield-trailing-gap: var(--spacing-3);
304
- --scb-textfield-trailing-action-size: var(--scale-10, 40px);
305
- }
306
-
307
- :host([size='small']) {
308
- --scb-textfield-padding-x: var(--spacing-4);
309
- --scb-textfield-padding-y: var(--spacing-3);
310
- --scb-textfield-min-height: 40px;
311
-
312
- --scb-textfield-font-size: var(--md-sys-typescale-body-small-size);
313
- --scb-textfield-line-height: var(--md-sys-typescale-body-small-line-height);
314
-
315
- --scb-textfield-label-font-size: var(--md-sys-typescale-label-small-size);
316
- --scb-textfield-label-line-height: var(--md-sys-typescale-label-small-line-height);
317
- --scb-textfield-label-letter-spacing: var(--md-sys-typescale-label-small-tracking);
318
-
319
- --scb-textfield-supporting-font-size: var(--md-sys-typescale-body-small-size);
320
- --scb-textfield-supporting-line-height: var(--md-sys-typescale-body-small-line-height);
321
- --scb-textfield-supporting-letter-spacing: var(--md-sys-typescale-body-small-tracking);
322
-
323
- --scb-textfield-leading-inset: var(--spacing-3);
324
- --scb-textfield-leading-icon-size: var(--icon-size-small, 20px);
325
- --scb-textfield-leading-gap: var(--spacing-5);
326
-
327
- --scb-textfield-trailing-inset: var(--spacing-3);
328
- --scb-textfield-trailing-icon-size: var(--icon-size-small, 20px);
329
- --scb-textfield-trailing-gap: var(--spacing-3);
330
- --scb-textfield-trailing-action-size: var(--scale-09, 36px);
331
- }
332
-
333
- :host([size='extra-small']) {
334
- --scb-textfield-padding-x: var(--spacing-3);
335
- --scb-textfield-padding-y: var(--spacing-2);
336
- --scb-textfield-min-height: 32px;
337
-
338
- --scb-textfield-font-size: var(--md-sys-typescale-body-small-size);
339
- --scb-textfield-line-height: var(--md-sys-typescale-body-small-line-height);
340
-
341
- --scb-textfield-label-font-size: var(--md-sys-typescale-label-small-size);
342
- --scb-textfield-label-line-height: var(--md-sys-typescale-label-small-line-height);
343
- --scb-textfield-label-letter-spacing: var(--md-sys-typescale-label-small-tracking);
344
-
345
- --scb-textfield-supporting-font-size: var(--md-sys-typescale-body-small-size);
346
- --scb-textfield-supporting-line-height: var(--md-sys-typescale-body-small-line-height);
347
- --scb-textfield-supporting-letter-spacing: var(--md-sys-typescale-body-small-tracking);
348
-
349
- --scb-textfield-leading-inset: var(--spacing-3);
350
- --scb-textfield-leading-icon-size: var(--icon-size-extra-small, 16px);
351
- --scb-textfield-leading-gap: var(--spacing-4);
352
-
353
- --scb-textfield-trailing-inset: var(--spacing-3);
354
- --scb-textfield-trailing-icon-size: var(--icon-size-extra-small, 16px);
355
- --scb-textfield-trailing-gap: var(--spacing-2);
356
- --scb-textfield-trailing-action-size: var(--scale-08, 32px);
357
- }
358
-
359
- :host([type='number']) {
360
- --scb-textfield-max-width: var(--scb-textfield-number-max-width);
361
- }
362
- :host([type='text']) {
363
- --scb-textfield-max-width: var(--scb-textfield-text-max-width);
364
- }
365
- :host([type='date']) {
366
- --scb-textfield-max-width: var(--scb-textfield-text-max-width);
367
- }
368
- :host([type='datetime-local']) {
369
- --scb-textfield-max-width: var(--scb-textfield-text-max-width);
370
- }
371
- :host([type='search']) {
372
- --scb-textfield-max-width: var(--scb-textfield-search-max-width);
373
- }
374
- :host([type='email']) {
375
- --scb-textfield-max-width: var(--scb-textfield-email-max-width);
376
- }
377
- :host([type='password']) {
378
- --scb-textfield-max-width: var(--scb-textfield-password-max-width);
379
- }
380
- :host([type='tel']) {
381
- --scb-textfield-max-width: var(--scb-textfield-tel-max-width);
382
- }
383
- :host([type='url']) {
384
- --scb-textfield-max-width: var(--scb-textfield-url-max-width);
385
- }
386
- :host([type='textarea']) {
387
- --scb-textfield-max-width: var(--scb-textfield-textarea-max-width);
388
- }
389
- :host([type='date']) {
390
- --scb-textfield-max-width: var(--scb-textfield-text-max-width);
391
- }
392
- :host([type='time']) {
393
- --scb-textfield-max-width: var(--scb-textfield-text-max-width);
394
- }
395
- input[type='time']::-webkit-calendar-picker-indicator {
396
- display: none;
397
- background: none;
398
- }
399
-
400
- :host {
401
- display: flex;
402
- flex-direction: column;
403
- max-width: var(--scb-textfield-max-width);
404
- }
405
-
406
- :host([error]) .scb-textfield-supporting-text {
407
- color: var(--md-sys-color-error);
408
- }
409
- :host([error]) .scb-textfield {
410
- border-color: var(--md-sys-color-error);
411
- }
412
- :host([error]) .scb-textfield:focus-visible {
413
- border-color: var(--md-sys-color-error);
414
- box-shadow: inset 0 0 0 2px var(--md-sys-color-error);
415
- }
416
-
417
- :host([disabled]) {
418
- opacity: 0.38;
419
- cursor: default;
420
- }
421
-
422
- .scb-textfield-label {
423
- display: block;
424
- font-size: var(--scb-textfield-label-font-size);
425
- font-weight: var(--weight-semibold);
426
- line-height: var(--scb-textfield-label-line-height);
427
- letter-spacing: var(--scb-textfield-label-letter-spacing);
428
- }
429
-
430
- .scb-textfield-label--without-supporting {
431
- margin-bottom: var(--scb-textfield-label-gap);
432
- }
433
-
434
- .scb-textfield-supporting-text {
435
- display: block;
436
- font-size: var(--scb-textfield-supporting-font-size);
437
- line-height: var(--scb-textfield-supporting-line-height);
438
- letter-spacing: var(--scb-textfield-supporting-letter-spacing);
439
- margin-bottom: var(--scb-textfield-label-gap);
440
- color: var(--md-sys-color-on-surface-variant);
441
- }
442
-
443
- .scb-textfield {
444
- padding: var(--scb-textfield-padding-y) var(--scb-textfield-padding-x);
445
- min-height: var(--scb-textfield-min-height);
446
- border: 1px solid var(--md-sys-color-outline);
447
- border-radius: var(--md-sys-shape-corner-small);
448
- font-size: var(--scb-textfield-font-size);
449
- font-family: var(--brand-font);
450
- line-height: var(--scb-textfield-line-height);
451
- width: 100%;
452
- box-sizing: border-box;
453
- background-color: transparent;
454
- color: var(--md-sys-color-on-surface);
455
- position: relative;
456
- z-index: 1;
457
- }
458
-
459
- :host([type='search']) .scb-textfield {
460
- padding-right: var(--scb-textfield-trailing-reserved);
461
- }
462
-
463
- :host([type='date']) .scb-textfield {
464
- padding-right: var(--scb-textfield-trailing-reserved);
465
- }
466
-
467
- md-icon + .ripple-wrapper > .scb-textfield {
468
- padding-left: var(--scb-textfield-leading-padding);
469
- }
470
-
471
- .scb-textfield-icon {
472
- position: absolute;
473
- left: var(--scb-textfield-leading-inset);
474
- top: 50%;
475
- transform: translateY(-50%);
476
- pointer-events: none;
477
- font-size: var(--scb-textfield-leading-icon-size);
478
- z-index: 2;
479
- }
480
-
481
- .scb-textfield:focus-visible {
482
- outline: none;
483
- border-color: var(--md-sys-color-primary);
484
- box-shadow: inset 0 0 0 2px var(--md-sys-color-primary);
485
- border: 1px solid var(--md-sys-color-primary);
486
- }
487
-
488
- .scb-textfield-wrapper {
489
- position: relative;
490
- width: 100%;
491
- }
492
-
493
- /* Wrapper som bär ripple och md-focus-ring */
494
- .ripple-wrapper {
495
- position: relative;
496
- width: 100%;
497
- }
498
-
499
- md-focus-ring.input-ring {
500
- position: absolute;
501
- inset: 0;
502
- pointer-events: none;
503
- display: none;
504
- border-radius: var(--md-sys-shape-corner-small);
505
- z-index: 3;
506
- }
507
-
508
- .ripple-wrapper[data-kb-focus='true'] md-focus-ring.input-ring {
509
- display: block;
510
- }
511
-
512
- md-ripple {
513
- border-radius: var(--md-sys-shape-corner-small);
514
- position: absolute;
515
- inset: 0;
516
- z-index: 0;
517
- pointer-events: none;
518
- --md-ripple-hover-color: transparent;
519
- --md-ripple-hover-opacity: 0;
520
- }
521
-
522
- input[type='search']::-webkit-search-cancel-button {
523
- appearance: none;
524
- display: none;
525
- }
526
-
527
- .scb-textfield-error-icon {
528
- position: absolute;
529
- right: var(--scb-textfield-trailing-inset);
530
- top: 50%;
531
- transform: translateY(-50%);
532
- pointer-events: none;
533
- font-size: var(--scb-textfield-trailing-icon-size);
534
- color: var(--md-sys-color-error);
535
- z-index: 2;
536
- }
537
-
538
- .scb-textfield.has-error-icon {
539
- padding-right: calc(
540
- var(--scb-textfield-trailing-inset) +
541
- var(--scb-textfield-trailing-icon-size) +
542
- var(--scb-textfield-trailing-gap)
543
- );
544
- }
545
-
546
- /* Clear-knappen: samma box-storlek som error-ikon (var(--scale-06)).
547
- Ligger längst till höger när det inte är fel.
548
- När error=true flyttas den åt vänster så att error-ikon hamnar till höger. */
549
- .scb-textfield-clear {
550
- position: absolute;
551
- right: var(--scb-textfield-trailing-inset);
552
- top: 50%;
553
- transform: translateY(-50%);
554
- width: var(--scb-textfield-trailing-icon-size);
555
- height: var(--scb-textfield-trailing-icon-size);
556
- padding: 0;
557
- margin: 0;
558
- border: none;
559
- background: none;
560
- display: inline-flex;
561
- align-items: center;
562
- justify-content: center;
563
- cursor: pointer;
564
- color: var(--md-sys-color-on-surface);
565
- z-index: 2;
566
- }
567
-
568
- :host([error]) .scb-textfield-clear {
569
- right: calc(
570
- var(--scb-textfield-trailing-inset) +
571
- var(--scb-textfield-trailing-icon-size) +
572
- var(--spacing-2)
573
- );
574
- }
575
-
576
- .scb-textfield-clear:focus-visible {
577
- outline: 2px solid var(--md-sys-color-primary);
578
- outline-offset: 2px;
579
- }
580
-
581
- .scb-textfield-clear svg {
582
- width: 100%;
583
- height: 100%;
584
- display: block;
585
- }
586
-
587
- /* Datumknappen ovanför input/ripple */
588
- .scb-textfield-datepicker-button {
589
- position: absolute;
590
- right: var(--scb-textfield-trailing-inset);
591
- top: 50%;
592
- transform: translateY(-50%);
593
- z-index: 4;
594
- }
595
- `],u);function x(){const t=a(s,this,h).call(this,this.spacing),e=a(s,this,h).call(this,this.spacingTop)??t,i=a(s,this,h).call(this,this.spacingBottom)??t,n=a(s,this,h).call(this,this.spacingLeft),c=a(s,this,h).call(this,this.spacingRight);e?this.style.setProperty("--scb-textfield-spacing-block-start",e):this.style.removeProperty("--scb-textfield-spacing-block-start"),i?this.style.setProperty("--scb-textfield-spacing-block-end",i):this.style.removeProperty("--scb-textfield-spacing-block-end"),n?this.style.setProperty("--scb-textfield-spacing-inline-start",n):this.style.removeProperty("--scb-textfield-spacing-inline-start"),c?this.style.setProperty("--scb-textfield-spacing-inline-end",c):this.style.removeProperty("--scb-textfield-spacing-inline-end")}function h(t){if(!t)return;const e=String(t).trim();if(e)return/^\d+$/.test(e)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(e,10)))})`:e}function f(t=!1){const e=this.shadowRoot?.querySelector(".scb-textfield");if(!(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement))return!0;const i=this.errorText||"Ogiltig inmatning.";let n="";if(e.setCustomValidity(""),this.required&&!e.value)n=i,e.setCustomValidity(n);else if(this.pattern&&e.value)try{new RegExp(this.pattern).test(e.value)||(n=i,e.setCustomValidity(n))}catch{e.setCustomValidity("")}const c=t?e.reportValidity():e.checkValidity();if(this.error=!c,this._internals)if(c)this._internals.setValidity({});else{const p=n||e.validationMessage||i;this._internals.setValidity({customError:!0},p,e)}return c}function m(){const t=this.shadowRoot?.querySelector(".scb-textfield");t&&(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement)&&this._boundField!==t&&(a(s,this,v).call(this),this._boundField=t,this.type!=="time"&&t.addEventListener("input",this._onFieldInput),t.addEventListener("change",this._onFieldChange),t.addEventListener("select",this._onFieldSelect),t.addEventListener("focus",this._onFieldFocus),t.addEventListener("blur",this._onFieldBlur))}function v(){const t=this._boundField;t&&(t.removeEventListener("input",this._onFieldInput),t.removeEventListener("change",this._onFieldChange),t.removeEventListener("select",this._onFieldSelect),t.removeEventListener("focus",this._onFieldFocus),t.removeEventListener("blur",this._onFieldBlur),this._boundField=null)}function S(){this._showDatepicker=!1;const t=this.shadowRoot?.querySelector(".scb-textfield");if(t&&(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement)&&(t.value="",t.setCustomValidity("")),this.value="",this.error=!1,this._internals){const e=this.disabled?null:"";this._internals.setFormValue(e),this._internals.setValidity({})}}function g(){const t=this.renderRoot?.querySelector(".ripple-wrapper");t&&(this._inputFocused&&this._kbShouldShowRing?t.setAttribute("data-kb-focus","true"):t.removeAttribute("data-kb-focus"))}r([d({type:String,reflect:!0})],l.prototype,"type",void 0);r([d({type:String})],l.prototype,"label",void 0);r([d({type:String,attribute:"supporting-text"})],l.prototype,"supportingText",void 0);r([d({type:String,attribute:"error-text"})],l.prototype,"errorText",void 0);r([d({type:String,attribute:"leading-icon"})],l.prototype,"leadingIcon",void 0);r([d({type:String})],l.prototype,"name",void 0);r([d({type:String})],l.prototype,"pattern",void 0);r([d({type:String,attribute:"value"})],l.prototype,"value",void 0);r([d({type:String})],l.prototype,"underLabel",void 0);r([d({type:Boolean,reflect:!0})],l.prototype,"error",void 0);r([d({type:Boolean,reflect:!0})],l.prototype,"disabled",void 0);r([d({type:Boolean,reflect:!0})],l.prototype,"required",void 0);r([d({type:String,reflect:!0})],l.prototype,"size",void 0);r([d({type:String,reflect:!0})],l.prototype,"spacing",void 0);r([d({type:String,attribute:"spacing-top",reflect:!0})],l.prototype,"spacingTop",void 0);r([d({type:String,attribute:"spacing-bottom",reflect:!0})],l.prototype,"spacingBottom",void 0);r([d({type:String,attribute:"spacing-left",reflect:!0})],l.prototype,"spacingLeft",void 0);r([d({type:String,attribute:"spacing-right",reflect:!0})],l.prototype,"spacingRight",void 0);r([k()],l.prototype,"_showDatepicker",void 0);l=r([$("scb-textfield")],l);export{l as ScbTextField};