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 +1,292 @@
1
- import"../Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-search/scb-search.js";(function(){try{var t=typeof globalThis<"u"?globalThis:window;if(!t.__scb_ce_guard_installed__){t.__scb_ce_guard_installed__=!0;var r=customElements.define.bind(customElements);customElements.define=function(e,c,o){try{customElements.get(e)||r(e,c,o)}catch(i){var n=String(i||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw i}}}}catch{}})();
1
+ import"../../vendor/vendor-material.js";import{_ as x,b as S,g as w,h as o,v as _,y as h}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as a}from"../../vendor/decorate.js";import"../scb-list/scb-list.js";(function(){try{var u=typeof globalThis<"u"?globalThis:window;if(!u.__scb_ce_guard_installed__){u.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(e,s,r){try{customElements.get(e)||t(e,s,r)}catch(l){var i=String(l||"");if(i.indexOf("already been used")===-1&&i.indexOf("NotSupportedError")===-1)throw l}}}}catch{}})();var d,A=0,n=(d=class extends x{constructor(){super(),this._internals=null,this.supportingText="",this.value="",this.name="",this.disabled=!1,this.required=!1,this.autocomplete=!1,this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this.size="large",this.fullScreen=!1,this._inputFocused=!1,this._visibleSuggestions=0,this._activeIndex=-1,this._listboxId=`scb-search-listbox-${++A}`,this._kbMode=!1,this._valueOnFocus="",this._lastChangeValue="",this._kbShouldShowRing=!1,this._onGlobalKeydown=t=>{t.key==="Tab"&&(this._kbShouldShowRing=!0,this._inputFocused&&this._updateInputRingVisibility())},this._onGlobalPointerDown=()=>{this._kbShouldShowRing=!1,this._inputFocused&&this._updateInputRingVisibility()},this._form=null,this._formResetHandler=null,this._formSubmitHandler=null,this._initialValue="",this._customValidationMessage="",this._listScrollHandler=()=>{const t=this._getActiveItem();this._kbMode&&t&&this._positionOptionRing(t)},"attachInternals"in this&&(this._internals=this.attachInternals())}_syncDensityForSize(){this.size==="small"?this.setAttribute("data-density","-4"):this.size==="medium"?this.setAttribute("data-density","-2"):this.removeAttribute("data-density")}connectedCallback(){super.connectedCallback(),this._syncDensityForSize(),this._onWindowResize=this._onWindowResize.bind(this),window.addEventListener("resize",this._onWindowResize,{passive:!0}),window.addEventListener("keydown",this._onGlobalKeydown,!0),window.addEventListener("pointerdown",this._onGlobalPointerDown,!0),this._initialValue=this.value??"",this._lastChangeValue=this.value??"",this._form=this.closest("form"),this._form&&(this._formSubmitHandler=t=>{this.reportValidity()||(t.preventDefault(),t.stopPropagation())},this._form.addEventListener("submit",this._formSubmitHandler,!0),this._formResetHandler=()=>{this.value=this._initialValue;const t=this._inputEl();t&&(t.value=this._initialValue),this._lastChangeValue=this._initialValue,this._syncFormValue(),this._filterSuggestions(this.value),this._activeIndex=-1,this._kbMode=!1,this._updateComboboxA11y()},this._form.addEventListener("reset",this._formResetHandler,!0)),this._syncFormValue(),this._syncValidity()}disconnectedCallback(){const t=this._inputEl();t&&this._boundNativeKeydown&&t.removeEventListener("keydown",this._boundNativeKeydown,!0),this._detachListScrollListener(),window.removeEventListener("resize",this._onWindowResize),window.removeEventListener("keydown",this._onGlobalKeydown,!0),window.removeEventListener("pointerdown",this._onGlobalPointerDown,!0),this._form&&this._formResetHandler&&this._form.removeEventListener("reset",this._formResetHandler,!0),this._form&&this._formSubmitHandler&&this._form.removeEventListener("submit",this._formSubmitHandler,!0),super.disconnectedCallback()}firstUpdated(){this._ensureListboxA11y(),this._updateComboboxA11y();const t=this._inputEl();t&&(this._boundNativeKeydown=e=>this._handleKey(e),t.addEventListener("keydown",this._boundNativeKeydown,!0),t.disabled=this.disabled),this.applySpacing()}updated(t){if(super.updated(t),t.has("size")&&this._syncDensityForSize(),this._ensureListboxA11y(),this._updateComboboxA11y(),this._attachListScrollListener(),(t.has("value")||t.has("disabled"))&&this._syncFormValue(),(t.has("value")||t.has("disabled")||t.has("required"))&&this._syncValidity(),t.has("disabled")){this.toggleAttribute("aria-disabled",this.disabled);const e=this._inputEl();e&&(e.disabled=this.disabled)}(t.has("spacing")||t.has("spacingTop")||t.has("spacingBottom")||t.has("spacingLeft")||t.has("spacingRight"))&&this.applySpacing()}render(){const t=(this.value??"").trim().length>0,e=this._inputFocused&&t&&this._hasSuggestions;return h`
2
+ <div class="ripple-wrapper">
3
+ <md-icon class="leading">${t?"arrow_back":"search"}</md-icon>
4
+
5
+ <input
6
+ id="searchInput"
7
+ type="search"
8
+ class=${e?"with-list":""}
9
+ .value=${this.value}
10
+ placeholder=${this.supportingText}
11
+ autocomplete=${this.autocomplete?"on":"off"}
12
+ ?disabled=${this.disabled}
13
+ ?required=${this.required}
14
+ @input=${this._onInput}
15
+ @change=${this._onNativeChange}
16
+ @focus=${this._onFocus}
17
+ @blur=${this._onBlur}
18
+ aria-label=${this.supportingText||"Sök"}
19
+ />
20
+
21
+ ${t?h`<button
22
+ class="clear-btn"
23
+ type="button"
24
+ ?disabled=${this.disabled}
25
+ @click=${this._clearInput}
26
+ tabindex="-1"
27
+ aria-label="Rensa sökfält"
28
+ >
29
+ <md-icon>close</md-icon>
30
+ </button>`:this.trailingIcon?h`<span class="trailing"><md-icon>${this.trailingIcon}</md-icon></span>`:_}
31
+
32
+ <md-ripple></md-ripple>
33
+ <md-focus-ring class="input-ring"></md-focus-ring>
34
+ </div>
35
+
36
+ <div class="list-divider" aria-hidden=${String(!(this.fullScreen&&e))}></div>
37
+
38
+ ${e?h`
39
+ <scb-list class="suggestion-list" id=${this._listboxId}>
40
+ <slot @slotchange=${this._onSlotChange}></slot>
41
+ </scb-list>
42
+ <md-focus-ring id="optionRing" class="option-ring"></md-focus-ring>
43
+ `:_}
44
+ `}formDisabledCallback(t){this.disabled=t}_getValidationMessage(){return this._customValidationMessage?this._customValidationMessage:this.required&&!(this.value??"").trim()?"Fyll i det här fältet.":""}_syncValidity(){const t=this._inputEl(),e=this.disabled?"":this._getValidationMessage();t&&(t.setCustomValidity(e),t.setAttribute("aria-invalid",e?"true":"false")),this._internals&&(e?this._internals.setValidity({valueMissing:!0},e,t??void 0):this._internals.setValidity({})),this.toggleAttribute("aria-invalid",!!e)}checkValidity(){return!this._getValidationMessage()}reportValidity(){this._syncValidity();const t=this._inputEl();return t?t.reportValidity():this._internals?this._internals.reportValidity():this.checkValidity()}setCustomValidity(t){this._customValidationMessage=t,this._syncValidity()}get validity(){return this._internals?.validity}get validationMessage(){return this._internals?.validationMessage??this._getValidationMessage()}get willValidate(){return this._internals?.willValidate??!0}submit(){const t=this._getActiveItem(),e={value:this.value};t&&(e.active=this._itemPayload(t)),this._dispatchSubmit(e)}get _hasSuggestions(){return this._visibleSuggestions>=0?this._visibleSuggestions>0:Array.from(this.getElementsByTagName("scb-list-item")).some(t=>!t.hasAttribute("hidden")&&t.style.display!=="none")}_onSlotChange(){this._filterSuggestions(this.value)}_onInput(t){t.stopPropagation();const e=t.target;this.value=e.value,this._syncFormValue(),this._filterSuggestions(this.value),this._activeIndex=-1,this._kbMode=!1,this._updateComboboxA11y();const s={value:this.value};this.dispatchEvent(new CustomEvent("scb-search-input",{detail:s,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("scbsearchinput",{detail:s,bubbles:!0,composed:!0})),this._dispatchStandardInput()}_onNativeChange(t){t.stopPropagation()}_onFocus(){this.disabled||(this._valueOnFocus=this.value??"",this._inputFocused=!0,this._updateInputRingVisibility(),this._filterSuggestions(this.value),this._updateComboboxA11y(),this.requestUpdate())}_onBlur(){setTimeout(()=>{this._inputFocused=!1,this._activeIndex=-1,this._kbMode=!1,this._updateInputRingVisibility(),this._updateComboboxA11y(),this._hideOptionRing(),this._valueOnFocus!==(this.value??"")&&this._dispatchStandardChangeIfNeeded(),this.requestUpdate()},100)}_updateInputRingVisibility(){const t=this.renderRoot?.querySelector(".ripple-wrapper");t&&(this._inputFocused&&this._kbShouldShowRing?t.setAttribute("data-kb-focus","true"):t.removeAttribute("data-kb-focus"))}_handleKey(t){if(this.disabled||!this._inputEl())return;const e=this._getVisibleItems(),s=(this.value??"").trim().length>0,r=this._inputFocused&&s&&e.length>0,i=t.key,l=t.keyCode,p=i==="ArrowDown"||i==="Down"||l===40,b=i==="ArrowUp"||i==="Up"||l===38,g=i==="Home"||l===36,m=i==="End"||l===35,f=i==="Enter"||l===13,y=i==="Escape"||i==="Esc"||l===27;if(p){if(!r)return;t.preventDefault(),this._kbMode=!0,this._moveActive(e,1);return}if(b){if(!r)return;t.preventDefault(),this._kbMode=!0,this._moveActive(e,-1);return}if(g){if(!r)return;t.preventDefault(),this._kbMode=!0,this._activeIndex=e.length?0:-1,this._updateComboboxA11y(),this._scrollActiveIntoView();return}if(m){if(!r)return;t.preventDefault(),this._kbMode=!0,this._activeIndex=e.length?e.length-1:-1,this._updateComboboxA11y(),this._scrollActiveIntoView();return}if(f){if(!r){const c=this._internals?.form??this._form??this.closest("form");c?(t.preventDefault(),this.reportValidity()&&c.requestSubmit()):this.submit();return}t.preventDefault();const v=this._getActiveItem();if(v){const c=v.getAttribute("label")||"";this.value=c,this._syncFormValue(),this._dispatchStandardInput(),this._dispatchSubmit({value:this.value,active:this._itemPayload(v)}),this._visibleSuggestions=0,this._activeIndex=-1,this._kbMode=!1,this._hideOptionRing(),this.requestUpdate()}else this.submit();return}if(y){t.preventDefault(),this._clearInput();return}}_clearInput(){if(this.disabled)return;this.value="",this._activeIndex=-1,this._kbMode=!1;const t=this._inputEl();t&&(t.value="",t.focus()),this._filterSuggestions(""),this._updateComboboxA11y(),this._hideOptionRing(),this._syncFormValue(),this._dispatchStandardInput(),this.dispatchEvent(new CustomEvent("scb-search-clear",{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("scbsearchclear",{bubbles:!0,composed:!0})),this._dispatchStandardChangeIfNeeded()}_filterSuggestions(t){const e=(t??"").trim().toLowerCase(),s=Array.from(this.querySelectorAll("scb-list-item"));let r=0;for(const i of s){const l=`${(i.getAttribute("label")||"").toLowerCase()} ${(i.getAttribute("supporting-text")||"").toLowerCase()}`.trim();e!==""&&l.includes(e)?(i.removeAttribute("hidden"),r++):i.setAttribute("hidden",""),this._ensureOptionA11y(i)}this._visibleSuggestions=r,this._activeIndex>=r&&(this._activeIndex=-1),this._updateComboboxA11y(),this.requestUpdate()}_inputEl(){return this.renderRoot?.querySelector("#searchInput")??null}_listEl(){return this.renderRoot?.querySelector("scb-list.suggestion-list")??null}_ringEl(){return this.renderRoot?.querySelector("#optionRing")??null}_getVisibleItems(){return Array.from(this.querySelectorAll("scb-list-item")).filter(t=>!t.hasAttribute("hidden")&&t.style.display!=="none")}_getActiveItem(){const t=this._getVisibleItems();return this._activeIndex<0||this._activeIndex>=t.length?null:t[this._activeIndex]??null}_moveActive(t,e){if(!t.length){this._activeIndex=-1,this._updateComboboxA11y(),this._hideOptionRing();return}let s=this._activeIndex+e;this._activeIndex===-1?s=e>0?0:t.length-1:(s<0&&(s=0),s>=t.length&&(s=t.length-1)),this._activeIndex=s,this._updateComboboxA11y(),this._scrollActiveIntoView()}_scrollActiveIntoView(){const t=this._getActiveItem();t&&t.scrollIntoView({block:"nearest"})}_itemPayload(t){return{label:t.getAttribute("label")||"",supportingText:t.getAttribute("supporting-text")||"",href:t.getAttribute("href")||"",type:t.getAttribute("type")||"",id:t.id||""}}_ensureListboxA11y(){const t=this._listEl();t&&(t.id||(t.id=this._listboxId),t.setAttribute("role","listbox"),t.setAttribute("aria-label","Sökförslag")),Array.from(this.querySelectorAll("scb-list-item")).forEach(e=>this._ensureOptionA11y(e))}_ensureOptionA11y(t){t.id||(t.id=`${this._listboxId}-opt-${Math.random().toString(36).slice(2,8)}`),t.setAttribute("role","option"),t.setAttribute("tabindex","-1")}_updateComboboxA11y(){const t=this._inputEl();if(!t)return;const e=this._getVisibleItems(),s=(this.value??"").trim().length>0,r=this._inputFocused&&s&&e.length>0;t.setAttribute("role","combobox"),t.setAttribute("aria-autocomplete","list"),t.setAttribute("aria-controls",this._listboxId),t.setAttribute("aria-expanded",String(r));const i=r?this._getActiveItem():null;i?.id?t.setAttribute("aria-activedescendant",i.id):t.removeAttribute("aria-activedescendant"),this._kbMode&&i&&r?this._positionOptionRing(i):this._hideOptionRing()}_positionOptionRing(t){const e=this._ringEl(),s=this._listEl();if(!e||!s)return;const r=this.getBoundingClientRect(),i=t.getBoundingClientRect(),l=i.top-r.top,p=i.left-r.left,b=i.width,g=i.height;e.style.top=`${l}px`,e.style.left=`${p}px`,e.style.width=`${b}px`,e.style.height=`${g}px`,e.setAttribute("data-show","true")}_hideOptionRing(){const t=this._ringEl();t&&t.removeAttribute("data-show")}_onWindowResize(){const t=this._getActiveItem();this._kbMode&&t&&this._positionOptionRing(t)}_attachListScrollListener(){const t=this._listEl();!t||this._listWithHandler===t||(this._detachListScrollListener(),t.addEventListener("scroll",this._listScrollHandler,{passive:!0}),this._listWithHandler=t)}_detachListScrollListener(){this._listWithHandler&&(this._listWithHandler.removeEventListener("scroll",this._listScrollHandler),this._listWithHandler=void 0)}_dispatchStandardInput(){this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0}))}_dispatchStandardChangeIfNeeded(){const t=this.value??"";t!==this._lastChangeValue&&(this._lastChangeValue=t,this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})))}_dispatchSubmit(t){this.dispatchEvent(new CustomEvent("scb-search-submit",{detail:t,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("scbsearchsubmit",{detail:t,bubbles:!0,composed:!0})),this._dispatchStandardChangeIfNeeded()}mapSpacingToken(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}applySpacing(){const t=this.mapSpacingToken(this.spacing),e=this.mapSpacingToken(this.spacingTop)??t,s=this.mapSpacingToken(this.spacingBottom)??t,r=this.mapSpacingToken(this.spacingLeft),i=this.mapSpacingToken(this.spacingRight);e?this.style.setProperty("--scb-search-spacing-block-start",e):this.style.removeProperty("--scb-search-spacing-block-start"),s?this.style.setProperty("--scb-search-spacing-block-end",s):this.style.removeProperty("--scb-search-spacing-block-end"),r?this.style.setProperty("--scb-search-spacing-inline-start",r):this.style.removeProperty("--scb-search-spacing-inline-start"),i?this.style.setProperty("--scb-search-spacing-inline-end",i):this.style.removeProperty("--scb-search-spacing-inline-end")}_syncFormValue(){if(!this._internals)return;const t=this.disabled?null:this.value;this._internals.setFormValue(t)}},d.formAssociated=!0,d.styles=S`
45
+ :host {
46
+ display: flex;
47
+ flex-direction: column;
48
+ position: relative;
49
+ color: var(--md-sys-color-on-surface);
50
+ -webkit-tap-highlight-color: transparent;
51
+
52
+ margin-block-start: var(--scb-search-spacing-block-start, 0);
53
+ margin-block-end: var(--scb-search-spacing-block-end, 0);
54
+ margin-inline-start: var(--scb-search-spacing-inline-start, 0);
55
+ margin-inline-end: var(--scb-search-spacing-inline-end, 0);
56
+
57
+ --scb-search-radius: var(--radius-full, 1000px);
58
+ --scb-search-open-radius: var(--radius-xl, 24px);
59
+
60
+ --scb-search-height: calc(var(--scb-search-line-height) + var(--scb-search-padding-y) + var(--scb-search-padding-y));
61
+ --scb-search-padding-x: var(--spacing-4, 12px);
62
+ --scb-search-padding-y: var(--spacing-4, 12px);
63
+ --scb-search-leading-size: var(--scale-10, 40px);
64
+ --scb-search-trailing-size: var(--scale-10, 40px);
65
+ --scb-search-gap: var(--spacing-2, 4px);
66
+
67
+ letter-spacing: var(--md-sys-typescale-body-large-tracking, -0.3px);
68
+
69
+ --scb-search-leading-gap: calc(
70
+ var(--scb-search-padding-x) + var(--scb-search-leading-size) + var(--scb-search-gap)
71
+ );
72
+ --scb-search-trailing-gap: calc(
73
+ var(--scb-search-padding-x) + var(--scb-search-trailing-size) + var(--scb-search-gap)
74
+ );
75
+
76
+ --scb-search-font-size: var(--md-sys-typescale-body-medium-size, 16px);
77
+ --scb-search-line-height: var(--md-sys-typescale-body-medium-line-height, 24px);
78
+
79
+ --scb-search-icon-size: var(--icon-size-small, 20px);
80
+ }
81
+
82
+ :host([size='large']) {
83
+ --scb-search-padding-x: var(--spacing-5, 16px);
84
+ --scb-search-padding-y: var(--spacing-5, 16px);
85
+ --scb-search-leading-size: var(--scale-11, 48px);
86
+ --scb-search-trailing-size: var(--scale-11, 48px);
87
+ --scb-search-icon-size: var(--icon-size-medium, 24px);
88
+ --scb-search-font-size: var(--md-sys-typescale-body-large-size, 18px);
89
+ --scb-search-line-height: var(--md-sys-typescale-body-large-line-height, 26px);
90
+ }
91
+
92
+ :host([size='small']) {
93
+ --scb-search-padding-x: var(--spacing-3, 8px);
94
+ --scb-search-padding-y: var(--spacing-3, 8px);
95
+ --scb-search-leading-size: var(--scale-09, 36px);
96
+ --scb-search-trailing-size: var(--scale-09, 36px);
97
+ --scb-search-icon-size: var(--icon-size-small, 20px);
98
+ --scb-search-font-size: var(--md-sys-typescale-body-small-size, 14px);
99
+ --scb-search-line-height: var(--md-sys-typescale-body-small-line-height, 20px);
100
+ }
101
+ :host([disabled]) {
102
+ opacity: 0.38;
103
+ cursor: default;
104
+ }
105
+
106
+ .ripple-wrapper {
107
+ position: relative;
108
+ display: flex;
109
+ align-items: center;
110
+ width: 100%;
111
+ }
112
+
113
+ md-focus-ring.input-ring {
114
+ position: absolute;
115
+ inset: 0;
116
+ pointer-events: none;
117
+ display: none;
118
+ border-radius: var(--scb-search-radius);
119
+ z-index: 4;
120
+ }
121
+ .ripple-wrapper[data-kb-focus='true'] md-focus-ring.input-ring {
122
+ display: block;
123
+ }
124
+ input.with-list ~ md-focus-ring.input-ring {
125
+ border-radius: var(--scb-search-open-radius) var(--scb-search-open-radius) 0 0;
126
+ }
127
+ :host([full-screen]) md-focus-ring.input-ring {
128
+ border-radius: var(--radius-none, 0px) !important;
129
+ }
130
+
131
+ md-focus-ring.option-ring {
132
+ position: absolute;
133
+ display: none;
134
+ pointer-events: none;
135
+ z-index: 11;
136
+ border-radius: var(--md-sys-shape-corner-small, 8px);
137
+ }
138
+ md-focus-ring.option-ring[data-show='true'] {
139
+ display: block;
140
+ }
141
+
142
+ .leading {
143
+ position: absolute;
144
+ left: var(--scb-search-padding-x);
145
+ top: 50%;
146
+ transform: translateY(-50%);
147
+ width: var(--scb-search-leading-size);
148
+ height: var(--scb-search-leading-size);
149
+ display: flex;
150
+ align-items: center;
151
+ justify-content: center;
152
+ pointer-events: none;
153
+ color: var(--md-sys-color-on-surface-variant);
154
+ z-index: 2;
155
+ }
156
+ .leading md-icon,
157
+ .trailing md-icon,
158
+ .clear-btn md-icon {
159
+ --md-icon-size: var(--scb-search-icon-size);
160
+ font-size: var(--scb-search-icon-size);
161
+ line-height: 1;
162
+ }
163
+
164
+ .trailing,
165
+ .clear-btn {
166
+ position: absolute;
167
+ right: var(--scb-search-padding-x);
168
+ top: 50%;
169
+ transform: translateY(-50%);
170
+ width: var(--scb-search-trailing-size);
171
+ height: var(--scb-search-trailing-size);
172
+ display: inline-flex;
173
+ align-items: center;
174
+ justify-content: center;
175
+ color: var(--md-sys-color-on-surface-variant);
176
+ z-index: 3;
177
+ }
178
+ .trailing md-icon {
179
+ pointer-events: none;
180
+ }
181
+
182
+ .clear-btn {
183
+ background: none;
184
+ border: 0;
185
+ padding: 0;
186
+ cursor: pointer;
187
+ }
188
+ .clear-btn[hidden] {
189
+ display: none;
190
+ }
191
+ .clear-btn:disabled {
192
+ cursor: default;
193
+ }
194
+
195
+ input[type='search'] {
196
+ padding: var(--scb-search-padding-y) var(--scb-search-trailing-gap)
197
+ var(--scb-search-padding-y) var(--scb-search-leading-gap);
198
+ min-height: var(--scb-search-height);
199
+ width: 100%;
200
+ box-sizing: border-box;
201
+
202
+ border: var(--stroke-border, 1px) solid var(--md-sys-color-outline);
203
+ border-radius: var(--scb-search-radius);
204
+
205
+ font-family: var(--md-sys-typescale-body-large-font, var(--brand-font, Inter), sans-serif);
206
+ font-size: var(--scb-search-font-size);
207
+ line-height: var(--scb-search-line-height);
208
+
209
+ color: var(--md-sys-color-on-surface);
210
+ background: transparent;
211
+
212
+ position: relative;
213
+ z-index: 1;
214
+ }
215
+ input[type='search']::placeholder {
216
+ color: var(--md-sys-color-on-surface-variant);
217
+ font-size: var(--scb-search-font-size);
218
+ line-height: var(--scb-search-line-height);
219
+ }
220
+ input[type='search']:hover {
221
+ outline: var(--md-sys-color-outline) auto var(--stroke-border, 1px);
222
+ }
223
+ input[type='search']:focus {
224
+ outline: none;
225
+ }
226
+
227
+ md-ripple {
228
+ border-radius: var(--scb-search-radius);
229
+ position: absolute;
230
+ inset: 0;
231
+ z-index: 2;
232
+ pointer-events: none;
233
+ --md-ripple-hover-color: transparent;
234
+ --md-ripple-hover-opacity: 0;
235
+ }
236
+
237
+ input[type='search']::-webkit-search-cancel-button {
238
+ -webkit-appearance: none;
239
+ appearance: none;
240
+ display: none;
241
+ }
242
+
243
+ input.with-list {
244
+ border-radius: var(--scb-search-open-radius) var(--scb-search-open-radius) 0 0;
245
+ }
246
+ input.with-list ~ md-ripple {
247
+ border-radius: var(--scb-search-open-radius) var(--scb-search-open-radius) 0 0;
248
+ }
249
+
250
+ scb-list.suggestion-list {
251
+ position: absolute;
252
+ top: 100%;
253
+ left: 0;
254
+ width: 100%;
255
+ z-index: 10;
256
+ background: var(--md-sys-color-surface-container-lowest);
257
+ border: var(--stroke-border, 1px) solid var(--md-sys-color-outline);
258
+ border-top: 0;
259
+ border-radius: 0 0 var(--scb-search-open-radius) var(--scb-search-open-radius);
260
+ overflow: auto;
261
+ box-sizing: border-box;
262
+ max-height: var(--scb-search-suggestions-max-h, 60vh);
263
+ }
264
+
265
+ :host([full-screen]) input[type='search'],
266
+ :host([full-screen]) input.with-list,
267
+ :host([full-screen]) input.with-list ~ md-ripple {
268
+ border-radius: var(--radius-none, 0px) !important;
269
+ }
270
+ :host([full-screen]) scb-list.suggestion-list {
271
+ position: static;
272
+ border: 0;
273
+ border-radius: 0;
274
+ background: transparent;
275
+ }
276
+
277
+ .list-divider {
278
+ display: none;
279
+ height: var(--stroke-border, 1px);
280
+ background: var(--md-sys-color-outline);
281
+ width: 100%;
282
+ }
283
+ :host([full-screen]) .list-divider[aria-hidden='false'] {
284
+ display: block;
285
+ }
286
+
287
+ @media (prefers-color-scheme: dark) {
288
+ :host {
289
+ color: var(--md-sys-color-on-surface);
290
+ }
291
+ }
292
+ `,d);a([o({type:String,attribute:"trailing-icon"})],n.prototype,"trailingIcon",void 0);a([o({type:String,attribute:"supporting-text"})],n.prototype,"supportingText",void 0);a([o({type:String})],n.prototype,"value",void 0);a([o({type:String,reflect:!0})],n.prototype,"name",void 0);a([o({type:Boolean,reflect:!0})],n.prototype,"disabled",void 0);a([o({type:Boolean,reflect:!0})],n.prototype,"required",void 0);a([o({type:Boolean,reflect:!0})],n.prototype,"autocomplete",void 0);a([o({type:String,reflect:!0})],n.prototype,"spacing",void 0);a([o({type:String,attribute:"spacing-top",reflect:!0})],n.prototype,"spacingTop",void 0);a([o({type:String,attribute:"spacing-bottom",reflect:!0})],n.prototype,"spacingBottom",void 0);a([o({type:String,attribute:"spacing-left",reflect:!0})],n.prototype,"spacingLeft",void 0);a([o({type:String,attribute:"spacing-right",reflect:!0})],n.prototype,"spacingRight",void 0);a([o({type:String,reflect:!0})],n.prototype,"size",void 0);a([o({type:Boolean,attribute:"full-screen",reflect:!0})],n.prototype,"fullScreen",void 0);n=a([w("scb-search")],n);
@@ -1 +1,32 @@
1
- import"../Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-segmented-button/scb-segmented-item.js";import"../Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-segmented-button/scb-segmented-button.js";(function(){try{var t=typeof globalThis<"u"?globalThis:window;if(!t.__scb_ce_guard_installed__){t.__scb_ce_guard_installed__=!0;var o=customElements.define.bind(customElements);customElements.define=function(e,r,d){try{customElements.get(e)||o(e,r,d)}catch(i){var n=String(i||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw i}}}}catch{}})();
1
+ import{_ as p,b as g,g as b,h as r,y as f}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as n}from"../../vendor/decorate.js";import{n as v,t as h}from"../../vendor/assertClassBrand.js";import"./scb-segmented-item.js";(function(){try{var l=typeof globalThis<"u"?globalThis:window;if(!l.__scb_ce_guard_installed__){l.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(e,i,s){try{customElements.get(e)||t(e,i,s)}catch(c){var o=String(c||"");if(o.indexOf("already been used")===-1&&o.indexOf("NotSupportedError")===-1)throw c}}}}catch{}})();var d,u,a=(d=new WeakSet,u=class extends p{constructor(){super(),v(this,d),this._internals=null,this.variant="single-select",this.value="",this.values=[],this.disabled=!1,this.required=!1,this.name="",this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this._form=null,this._formResetHandler=null,this._initialValue="",this._initialValues=[],this._customValidationMessage="","attachInternals"in this&&(this._internals=this.attachInternals())}connectedCallback(){super.connectedCallback(),this._form=this.closest("form"),this._form&&(this._formResetHandler=()=>{this.value=this._initialValue,this.values=Array.isArray(this._initialValues)?[...this._initialValues]:[],this.updateSegments(),this._syncFormValue()},this._form.addEventListener("reset",this._formResetHandler,!0))}disconnectedCallback(){this._form&&this._formResetHandler&&this._form.removeEventListener("reset",this._formResetHandler,!0),super.disconnectedCallback()}firstUpdated(){this._initialValue=this.value,this._initialValues=Array.isArray(this.values)?[...this.values]:[],this.updateSegments();const t=this.shadowRoot?.querySelector("slot");t&&(t.addEventListener("slotchange",()=>{this.updateSegments()}),t.addEventListener("click",e=>this.onSlotClick(e)),t.addEventListener("focus",()=>{this.dispatchEvent(new CustomEvent("focus",{detail:{},bubbles:!0,composed:!0}))},!0),t.addEventListener("blur",()=>{this.dispatchEvent(new CustomEvent("blur",{detail:{},bubbles:!0,composed:!0}))},!0),t.addEventListener("keydown",e=>{if(e.code==="Space"||e.code==="Enter"||e.code==="NumpadEnter"){const i=e.target;if(i&&i.closest){const s=i.closest("scb-segmented-item");s&&!s.hasAttribute("disabled")&&!this.disabled&&(this.onSlotClick(e),e.preventDefault())}}})),this._syncFormValue(),this._syncValidity(),h(d,this,m).call(this)}updated(t){super.updated(t),this.updateSegments(),(t.has("value")||t.has("values")||t.has("disabled")||t.has("variant")||t.has("name"))&&(this._syncFormValue(),this._syncValidity()),(t.has("spacing")||t.has("spacingTop")||t.has("spacingBottom")||t.has("spacingLeft")||t.has("spacingRight"))&&h(d,this,m).call(this)}onSlotClick(t){let e=t.target;if(!e||!e.closest)return;const i=e.closest("scb-segmented-item");if(!i||this.disabled||i.hasAttribute("disabled"))return;const s=i.getAttribute("value")||"";s&&(this.variant==="multi-select"?(this.values.indexOf(s)===-1?this.values=[...this.values,s]:this.values=this.values.filter(o=>o!==s),this.dispatchEvent(new CustomEvent("change",{detail:{values:this.values},bubbles:!0,composed:!0})),this.updateSegments()):s!==this.value&&(this.value=s,this.dispatchEvent(new CustomEvent("change",{detail:{value:s},bubbles:!0,composed:!0})),this.updateSegments()))}updateSegments(){const t=this.shadowRoot?.querySelector("slot");t&&t.assignedElements().forEach(e=>{if(e.tagName==="SCB-SEGMENTED-ITEM"){const i=e.getAttribute("value")||"";if(i){let s=!1;this.variant==="multi-select"?s=!!this.values&&this.values.includes(i):s=i===this.value,e.setAttribute("aria-pressed",s?"true":"false"),s?e.setAttribute("selected","true"):e.removeAttribute("selected")}this.disabled&&e.setAttribute("disabled","true")}})}formDisabledCallback(t){this.disabled=t}_getValidationMessage(){return this._customValidationMessage?this._customValidationMessage:this.required?this.variant==="multi-select"?this.values.length===0?"Välj minst ett alternativ.":"":this.value?"":"Välj ett alternativ.":""}_syncValidity(){if(!this._internals)return;const t=this.disabled?"":this._getValidationMessage();t?(this._internals.setValidity({valueMissing:!0},t),this.setAttribute("aria-invalid","true")):(this._internals.setValidity({}),this.removeAttribute("aria-invalid"))}checkValidity(){return!this._getValidationMessage()}reportValidity(){return this._syncValidity(),this._internals?this._internals.reportValidity():this.checkValidity()}setCustomValidity(t){this._customValidationMessage=t,this._syncValidity()}get validity(){return this._internals?.validity}get validationMessage(){return this._internals?.validationMessage??this._getValidationMessage()}get willValidate(){return this._internals?.willValidate??!0}_syncFormValue(){if(this._internals){if(this.disabled||!this.name){this._internals.setFormValue(null);return}if(this.variant==="multi-select"){if(!this.values||this.values.length===0){this._internals.setFormValue(null);return}const t=new FormData;for(const e of this.values)t.append(this.name,e);this._internals.setFormValue(t)}else{if(!this.value){this._internals.setFormValue(null);return}this._internals.setFormValue(this.value)}}}mapSpacingToken(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}render(){return f`<slot></slot>`}},u.formAssociated=!0,u.styles=g`
2
+ :host {
3
+ --scb-segmented-button-width: 100%;
4
+ --scb-segmented-button-height: 48px;
5
+ max-width: var(--scb-segmented-button-width);
6
+ height: var(--scb-segmented-button-height);
7
+ display: grid;
8
+ grid-auto-flow: column;
9
+ grid-auto-columns: 1fr;
10
+ font-family: var(--brand-font, var(--brand, "Inter"), sans-serif);
11
+ margin-block-start: var(--scb-segmented-button-spacing-block-start, 0);
12
+ margin-block-end: var(--scb-segmented-button-spacing-block-end, 0);
13
+ margin-inline-start: var(--scb-segmented-button-spacing-inline-start, 0);
14
+ margin-inline-end: var(--scb-segmented-button-spacing-inline-end, 0);
15
+ }
16
+ /* Border radius only on first and last button */
17
+ ::slotted(scb-segmented-item:first-child .segmented-item),
18
+ ::slotted([role='button']:first-child .segmented-item) {
19
+ border-top-left-radius: var(--md-sys-shape-corner-full);
20
+ border-bottom-left-radius: var(--md-sys-shape-corner-full);
21
+ }
22
+ ::slotted(scb-segmented-item:last-child .segmented-item),
23
+ ::slotted([role='button']:last-child .segmented-item) {
24
+ border-top-right-radius: var(--md-sys-shape-corner-full);
25
+ border-bottom-right-radius: var(--md-sys-shape-corner-full);
26
+ }
27
+ /* First button gets left border */
28
+ ::slotted(scb-segmented-item:first-child .segmented-item),
29
+ ::slotted([role='button']:first-child .segmented-item) {
30
+ border-left: 1px solid var(--md-sys-color-outline);
31
+ }
32
+ `,u);function m(){const l=this.mapSpacingToken(this.spacing),t=this.mapSpacingToken(this.spacingTop)??l,e=this.mapSpacingToken(this.spacingBottom)??l,i=this.mapSpacingToken(this.spacingLeft),s=this.mapSpacingToken(this.spacingRight);t?this.style.setProperty("--scb-segmented-button-spacing-block-start",t):this.style.removeProperty("--scb-segmented-button-spacing-block-start"),e?this.style.setProperty("--scb-segmented-button-spacing-block-end",e):this.style.removeProperty("--scb-segmented-button-spacing-block-end"),i?this.style.setProperty("--scb-segmented-button-spacing-inline-start",i):this.style.removeProperty("--scb-segmented-button-spacing-inline-start"),s?this.style.setProperty("--scb-segmented-button-spacing-inline-end",s):this.style.removeProperty("--scb-segmented-button-spacing-inline-end")}n([r({type:String,reflect:!0})],a.prototype,"variant",void 0);n([r({type:String,reflect:!0})],a.prototype,"value",void 0);n([r({type:Array})],a.prototype,"values",void 0);n([r({type:Boolean,reflect:!0})],a.prototype,"disabled",void 0);n([r({type:Boolean,reflect:!0})],a.prototype,"required",void 0);n([r({type:String,reflect:!0})],a.prototype,"name",void 0);n([r({type:String,reflect:!0})],a.prototype,"spacing",void 0);n([r({type:String,attribute:"spacing-top",reflect:!0})],a.prototype,"spacingTop",void 0);n([r({type:String,attribute:"spacing-bottom",reflect:!0})],a.prototype,"spacingBottom",void 0);n([r({type:String,attribute:"spacing-left",reflect:!0})],a.prototype,"spacingLeft",void 0);n([r({type:String,attribute:"spacing-right",reflect:!0})],a.prototype,"spacingRight",void 0);a=n([b("scb-segmented-button")],a);
@@ -1 +1,74 @@
1
- import"../Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-segmented-button/scb-segmented-item.js";(function(){try{var t=typeof globalThis<"u"?globalThis:window;if(!t.__scb_ce_guard_installed__){t.__scb_ce_guard_installed__=!0;var r=customElements.define.bind(customElements);customElements.define=function(e,d,o){try{customElements.get(e)||r(e,d,o)}catch(i){var n=String(i||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw i}}}}catch{}})();
1
+ import"../../vendor/vendor-material.js";import{_ as m,b as u,g as p,h as n,y as i}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as o}from"../../vendor/decorate.js";(function(){try{var l=typeof globalThis<"u"?globalThis:window;if(!l.__scb_ce_guard_installed__){l.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(e,s,a){try{customElements.get(e)||t(e,s,a)}catch(h){var d=String(h||"");if(d.indexOf("already been used")===-1&&d.indexOf("NotSupportedError")===-1)throw h}}}}catch{}})();var c,r=(c=class extends m{constructor(...t){super(...t),this.label="",this.value="",this.selected=!1,this.icon="",this.href="",this.disabled=!1,this.onHostKeydown=e=>{if(!this.href||this.isEffectivelyDisabled||e.code!=="Space"&&e.code!=="Enter"&&e.code!=="NumpadEnter")return;const s=this.shadowRoot?.querySelector("a[href]");s&&(e.preventDefault(),e.stopPropagation(),s.click())}}get isEffectivelyDisabled(){const t=this.parentElement?.hasAttribute?.("disabled");return this.disabled||!!t}render(){const t=this.isEffectivelyDisabled,e=!!this.icon,s=!!this.label,a=`segmented-item${e||this.selected?" has-icon":""}${s?"":" no-label"}`,d=i`
2
+ <md-ripple ?disabled="${t}"></md-ripple>
3
+ ${this.selected?e&&s?i`<md-icon>check</md-icon>`:e?i`<md-icon>check</md-icon><md-icon>${this.icon}</md-icon>`:i`<md-icon>check</md-icon>`:e?i`<md-icon>${this.icon}</md-icon>`:""}
4
+ ${s?i`<span>${this.label}</span>`:""}
5
+ <md-focus-ring inward></md-focus-ring>
6
+ `;return this.href?i`<a class="${a}" href="${this.href}" aria-disabled="${t?"true":"false"}" tabindex="-1">${d}</a>`:i`<div class="${a}" aria-disabled="${t?"true":"false"}">${d}</div>`}updateInteractiveAttributes(){this.setAttribute("tabindex",this.disabled?"-1":"0"),this.setAttribute("role",this.href?"link":"button")}firstUpdated(){this.addEventListener("keydown",this.onHostKeydown),this.updateInteractiveAttributes()}disconnectedCallback(){this.removeEventListener("keydown",this.onHostKeydown),super.disconnectedCallback()}updated(t){super.updated(t),(t.has("disabled")||t.has("href"))&&this.updateInteractiveAttributes()}},c.styles=u`
7
+ .segmented-item {
8
+ display: flex;
9
+ gap: var(--spacing-3);
10
+ align-items: center;
11
+ text-decoration: none;
12
+ border: 1px solid var(--md-sys-color-outline);
13
+ border-left: none;
14
+ background-color: var(--md-sys-color-surface);
15
+ padding: var(--spacing-3) var(--spacing-4);
16
+ font: inherit;
17
+ cursor: pointer;
18
+ position: relative;
19
+ font-size: var(--md-sys-typescale-label-medium-size);
20
+ line-height: var(--md-sys-typescale-label-medium-line-height);
21
+ font-weight: var(--md-sys-typescale-label-medium-weight);
22
+ letter-spacing: var(--md-sys-typescale-label-medium-tracking);
23
+ color: var(--md-sys-color-on-surface);
24
+ justify-content: center;
25
+ height: 100%;
26
+ box-sizing: border-box;
27
+ }
28
+ .segmented-item span {
29
+ white-space: nowrap;
30
+ }
31
+ md-icon {
32
+ font-size: 20px;
33
+ width: 20px;
34
+ height: 20px;
35
+ }
36
+ :host([disabled]) .segmented-item,
37
+ .segmented-item[aria-disabled="true"] {
38
+ opacity: 0.5;
39
+ cursor: not-allowed;
40
+ pointer-events: none;
41
+ filter: grayscale(0.5);
42
+ }
43
+ :host([aria-pressed="true"]) .segmented-item {
44
+ background-color: var(--md-sys-color-secondary-container);
45
+ color: var(--md-sys-color-primary);
46
+ }
47
+ :host(:focus){
48
+ outline: none;
49
+ }
50
+ md-focus-ring {
51
+ position: absolute;
52
+ inset: 0;
53
+ pointer-events: none;
54
+ display: none;
55
+ border-radius: inherit;
56
+ }
57
+ :host(:focus) md-focus-ring,
58
+ md-focus-ring[data-show="true"] {
59
+ display: block;
60
+ }
61
+ :host([disabled]):host(:focus) md-focus-ring,
62
+ :host([disabled]) md-focus-ring[data-show="true"] {
63
+ display: none;
64
+ }
65
+ :host(:first-child) .segmented-item{
66
+ border: 1px solid var(--md-sys-color-outline);
67
+ border-top-left-radius: var(--md-sys-shape-corner-full);
68
+ border-bottom-left-radius: var(--md-sys-shape-corner-full);
69
+ }
70
+ :host(:last-child) .segmented-item {
71
+ border-top-right-radius: var(--md-sys-shape-corner-full);
72
+ border-bottom-right-radius: var(--md-sys-shape-corner-full);
73
+ }
74
+ `,c);o([n({type:String,reflect:!0})],r.prototype,"label",void 0);o([n({type:String,reflect:!0})],r.prototype,"value",void 0);o([n({type:Boolean,reflect:!0})],r.prototype,"selected",void 0);o([n({type:String,reflect:!0})],r.prototype,"icon",void 0);o([n({type:String,reflect:!0})],r.prototype,"href",void 0);o([n({type:Boolean,reflect:!0})],r.prototype,"disabled",void 0);r=o([p("scb-segmented-item")],r);
@@ -1 +1,61 @@
1
- import"../Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-select/scb-select-option.js";(function(){try{var t=typeof globalThis<"u"?globalThis:window;if(!t.__scb_ce_guard_installed__){t.__scb_ce_guard_installed__=!0;var o=customElements.define.bind(customElements);customElements.define=function(e,r,c){try{customElements.get(e)||o(e,r,c)}catch(i){var n=String(i||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw i}}}}catch{}})();
1
+ import"../../vendor/vendor-material.js";import{_ as p,b,g as m,h as o,y as i}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t}from"../../vendor/decorate.js";(function(){try{var s=typeof globalThis<"u"?globalThis:window;if(!s.__scb_ce_guard_installed__){s.__scb_ce_guard_installed__=!0;var c=customElements.define.bind(customElements);customElements.define=function(a,n,h){try{customElements.get(a)||c(a,n,h)}catch(d){var r=String(d||"");if(r.indexOf("already been used")===-1&&r.indexOf("NotSupportedError")===-1)throw d}}}}catch{}})();var l,e=(l=class extends p{constructor(...c){super(...c),this.value="",this.disabled=!1,this.showCheckbox=!1,this.checked=!1,this.showRadio=!1,this.label="",this.noHighlightSelected=!1}render(){return i`
2
+ <div class="item ${this.checked?"checked":""}" ?aria-disabled=${this.disabled}>
3
+ <md-ripple></md-ripple>
4
+ ${this.showCheckbox?i`<md-icon class="${this.checked?"checkbox-checked":""}" aria-hidden="true">${this.checked?"check_box":"check_box_outline_blank"}</md-icon>`:null}
5
+ ${this.showRadio?i`<md-icon class="${this.checked?"radio-checked":""}" aria-hidden="true">${this.checked?"radio_button_checked":"radio_button_unchecked"}</md-icon>`:null}
6
+ <div class="label">${this.label?this.label:i`<slot></slot>`}</div>
7
+ <md-focus-ring inward></md-focus-ring>
8
+ </div>
9
+ `}},l.styles=b`
10
+ :host {
11
+ display: block;
12
+ outline: none;
13
+ }
14
+ :host([hidden]) {
15
+ display: none;
16
+ }
17
+ :host([disabled]) {
18
+ pointer-events: none;
19
+ opacity: 0.38;
20
+ }
21
+ :host(:focus-visible) .item {
22
+ outline: 2px solid var(--md-sys-color-primary);
23
+ outline-offset: -2px;
24
+ }
25
+ :host([data-focused]) .item {
26
+ background-color: var(--md-sys-color-surface-container);
27
+ }
28
+ .item {
29
+ display: flex;
30
+ align-items: center;
31
+ padding: var(--scb-select-option-padding-y, var(--spacing-3))
32
+ var(--scb-select-option-padding-x, var(--spacing-5));
33
+ gap: var(--scb-select-option-gap, var(--spacing-4));
34
+ min-height: var(--scb-select-option-min-height, 40px);
35
+ position: relative;
36
+ font-size: var(--scb-select-option-font-size, var(--md-sys-typescale-body-large-size));
37
+ line-height: var(--scb-select-option-line-height, var(--md-sys-typescale-body-large-line-height));
38
+ letter-spacing: var(--scb-select-option-letter-spacing, var(--md-sys-typescale-body-large-tracking));
39
+ }
40
+ .label {
41
+ min-width: 0;
42
+ flex: 1 1 auto;
43
+ }
44
+ md-icon {
45
+ font-size: var(--scb-select-option-icon-size, var(--icon-size-medium, 24px));
46
+ line-height: 1;
47
+ flex: 0 0 auto;
48
+ }
49
+ md-focus-ring {
50
+ border-radius: var(--md-sys-shape-corner-small);
51
+ }
52
+ .item.checked {
53
+ background-color: var(--md-sys-color-secondary-container);
54
+ }
55
+ :host([no-highlight-selected]) .item.checked {
56
+ background-color: transparent;
57
+ }
58
+ md-icon.radio-checked {
59
+ color: var(--md-sys-color-primary);
60
+ }
61
+ `,l);t([o({type:String})],e.prototype,"value",void 0);t([o({type:Boolean,reflect:!0})],e.prototype,"disabled",void 0);t([o({type:Boolean})],e.prototype,"showCheckbox",void 0);t([o({type:Boolean})],e.prototype,"checked",void 0);t([o({type:Boolean})],e.prototype,"showRadio",void 0);t([o({type:String})],e.prototype,"label",void 0);t([o({type:Boolean,attribute:"no-highlight-selected",reflect:!0})],e.prototype,"noHighlightSelected",void 0);e=t([m("scb-select-option")],e);