scb-wc 0.1.7 → 0.1.8

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 (212) hide show
  1. package/README.md +22 -32
  2. package/index.js +91 -88
  3. package/mvc/components/all.js +3 -90
  4. package/mvc/components/scb-accordion/scb-accordion-item.js +211 -1
  5. package/mvc/components/scb-accordion/scb-accordion.js +44 -1
  6. package/mvc/components/scb-app-bar/scb-app-bar.js +166 -1
  7. package/mvc/components/scb-avatar/scb-avatar.js +111 -1
  8. package/mvc/components/scb-badge/scb-badge.js +80 -1
  9. package/mvc/components/scb-breadcrumb/scb-breadcrumb-item.js +14 -1
  10. package/mvc/components/scb-breadcrumb/scb-breadcrumb.js +96 -1
  11. package/mvc/components/scb-button/scb-button.js +268 -1
  12. package/mvc/components/scb-calendar/scb-calendar-event.js +6 -1
  13. package/mvc/components/scb-calendar/scb-calendar.js +168 -1
  14. package/mvc/components/scb-calendar-card/scb-calendar-card.js +346 -1
  15. package/mvc/components/scb-card/scb-card.js +761 -1
  16. package/mvc/components/scb-checkbox/scb-checkbox-group.js +33 -1
  17. package/mvc/components/scb-checkbox/scb-checkbox.js +140 -1
  18. package/mvc/components/{Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-chevron → scb-chevron}/scb-chevron.js +1 -1
  19. package/mvc/components/scb-chip/scb-chip.js +66 -1
  20. package/mvc/components/scb-collapse/scb-collapse.js +89 -1
  21. package/mvc/components/scb-cookies-consent/scb-cookies-consent.js +78 -1
  22. package/mvc/components/{Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-datepicker → scb-datepicker}/scb-datepicker.js +1 -1
  23. package/mvc/components/scb-dialog/scb-dialog.js +265 -1
  24. package/mvc/components/scb-divider/scb-divider.js +69 -1
  25. package/mvc/components/scb-drawer/scb-drawer.js +128 -1
  26. package/mvc/components/scb-drop-zone/scb-drop-zone.js +555 -1
  27. package/mvc/components/scb-dropdown/scb-dropdown.js +306 -1
  28. package/mvc/components/scb-fab/scb-fab.js +108 -1
  29. package/mvc/components/scb-fact-card/scb-fact-card-content.js +46 -1
  30. package/mvc/components/scb-fact-card/scb-fact-card.js +226 -1
  31. package/mvc/components/scb-footer/scb-footer-section.js +3 -1
  32. package/mvc/components/scb-footer/scb-footer.js +210 -1
  33. package/mvc/components/scb-gallery-grid/scb-gallery-grid.js +131 -1
  34. package/mvc/components/scb-grid/scb-grid-item.js +11 -1
  35. package/mvc/components/scb-grid/scb-grid.js +98 -1
  36. package/mvc/components/scb-grid/scb-stack.js +33 -1
  37. package/mvc/components/scb-header/scb-header-menu-group.js +1 -1
  38. package/mvc/components/scb-header/scb-header-menu-item.js +5 -1
  39. package/mvc/components/scb-header/scb-header-tab.js +5 -1
  40. package/mvc/components/scb-header/scb-header-utility.js +1 -1
  41. package/mvc/components/scb-header/scb-header.js +681 -1
  42. package/mvc/components/scb-horizontal-scroller/scb-horizontal-scroller.js +196 -1
  43. package/mvc/components/scb-icon-button/scb-icon-button.js +171 -1
  44. package/mvc/components/scb-keyfigure-card/scb-keyfigure-card.js +212 -1
  45. package/mvc/components/scb-link/scb-link.js +61 -1
  46. package/mvc/components/scb-list/scb-list-item.js +153 -1
  47. package/mvc/components/scb-list/scb-list.js +26 -1
  48. package/mvc/components/scb-menu/scb-menu-item.js +205 -1
  49. package/mvc/components/scb-menu/scb-menu-section.js +42 -1
  50. package/mvc/components/scb-menu/scb-menu.js +81 -1
  51. package/mvc/components/scb-menu/scb-sub-menu.js +10 -1
  52. package/mvc/components/scb-nav/scb-nav-item.js +28 -1
  53. package/mvc/components/scb-nav/scb-nav.js +104 -1
  54. package/mvc/components/scb-notification-card/scb-notification-card.js +358 -1
  55. package/mvc/components/scb-options-menu/scb-options-menu-item.js +66 -1
  56. package/mvc/components/scb-options-menu/scb-options-menu.js +88 -1
  57. package/mvc/components/scb-options-menu/scb-options-sub-menu.js +34 -1
  58. package/mvc/components/scb-overlay/scb-overlay.js +49 -1
  59. package/mvc/components/scb-pagination/scb-pagination.js +312 -1
  60. package/mvc/components/scb-progress-indicator/scb-progress-indicator.js +87 -1
  61. package/mvc/components/scb-progress-stepper/scb-progress-step.js +147 -1
  62. package/mvc/components/scb-progress-stepper/scb-progress-stepper.js +62 -1
  63. package/mvc/components/scb-radio-button/scb-radio-button.js +132 -1
  64. package/mvc/components/scb-radio-button/scb-radio-group.js +43 -1
  65. package/mvc/components/scb-scrollspy/scb-scrollspy.js +79 -1
  66. package/mvc/components/scb-search/scb-search.js +292 -1
  67. package/mvc/components/scb-segmented-button/scb-segmented-button.js +32 -1
  68. package/mvc/components/scb-segmented-button/scb-segmented-item.js +74 -1
  69. package/mvc/components/scb-select/scb-select-option.js +61 -1
  70. package/mvc/components/scb-select/scb-select.js +284 -1
  71. package/mvc/components/scb-skeleton/scb-skeleton.js +38 -1
  72. package/mvc/components/scb-slider/scb-slider.js +27 -1
  73. package/mvc/components/scb-snackbar/scb-snackbar.js +128 -1
  74. package/mvc/components/scb-status-pill/scb-status-pill.js +45 -1
  75. package/mvc/components/scb-stepper/scb-step.js +239 -1
  76. package/mvc/components/scb-stepper/scb-stepper.js +139 -1
  77. package/mvc/components/scb-switch/scb-switch.js +59 -1
  78. package/mvc/components/scb-table/scb-table.js +51 -1
  79. package/mvc/components/scb-table-advanced/scb-table-advanced.js +76 -1
  80. package/mvc/components/scb-tabs/scb-primary-tab.js +6 -1
  81. package/mvc/components/scb-tabs/scb-secondary-tab.js +6 -1
  82. package/mvc/components/scb-tabs/scb-tabs.js +28 -1
  83. package/mvc/components/scb-textfield/scb-textfield.js +595 -1
  84. package/mvc/components/scb-toc/scb-toc-item.js +303 -1
  85. package/mvc/components/scb-toc/scb-toc.js +19 -1
  86. package/mvc/components/scb-tooltip/scb-tooltip.js +196 -1
  87. package/mvc/components/scb-vignette/scb-vignette.js +37 -0
  88. package/mvc/components/scb-viz/scb-viz-actions-runtime.js +2 -1
  89. package/mvc/components/scb-viz/scb-viz-print-runtime.js +98 -1
  90. package/mvc/components/scb-viz/scb-viz-series-differentiation-registry.js +1 -1
  91. package/mvc/components/scb-viz/scb-viz-series-differentiation-runtime.js +1 -1
  92. package/mvc/components/scb-viz/scb-viz-table-runtime.js +1 -1
  93. package/mvc/components/scb-viz/scb-viz.js +1140 -1
  94. package/package.json +2 -6
  95. package/scb-chevron/scb-chevron.js +1 -0
  96. package/scb-datepicker/scb-datepicker.js +1 -0
  97. package/scb-vignette/scb-vignette.js +1 -0
  98. package/scb-wc.bundle.js +214 -214
  99. package/scb-wc.d.ts +180 -174
  100. package/bin/scb-wc.mjs +0 -141
  101. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-accordion/scb-accordion-item.js +0 -211
  102. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-accordion/scb-accordion.js +0 -44
  103. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-app-bar/scb-app-bar.js +0 -166
  104. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-avatar/scb-avatar.js +0 -111
  105. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-badge/scb-badge.js +0 -80
  106. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-breadcrumb/scb-breadcrumb-item.js +0 -14
  107. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-breadcrumb/scb-breadcrumb.js +0 -96
  108. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-button/scb-button.js +0 -268
  109. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-calendar/scb-calendar-event.js +0 -6
  110. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-calendar/scb-calendar.js +0 -168
  111. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-calendar-card/scb-calendar-card.js +0 -346
  112. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-card/scb-card.js +0 -761
  113. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-checkbox/scb-checkbox-group.js +0 -33
  114. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-checkbox/scb-checkbox.js +0 -140
  115. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-chip/scb-chip.js +0 -66
  116. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-collapse/scb-collapse.js +0 -89
  117. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-cookies-consent/scb-cookies-consent.js +0 -78
  118. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-dialog/scb-dialog.js +0 -265
  119. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-divider/scb-divider.js +0 -69
  120. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-drawer/scb-drawer.js +0 -128
  121. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-drop-zone/scb-drop-zone.js +0 -555
  122. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-dropdown/scb-dropdown.js +0 -306
  123. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-fab/scb-fab.js +0 -108
  124. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-fact-card/scb-fact-card-content.js +0 -46
  125. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-fact-card/scb-fact-card.js +0 -226
  126. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-footer/scb-footer-section.js +0 -3
  127. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-footer/scb-footer.js +0 -210
  128. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-gallery-grid/scb-gallery-grid.js +0 -131
  129. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-grid/scb-grid-item.js +0 -11
  130. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-grid/scb-grid.js +0 -98
  131. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-grid/scb-stack.js +0 -33
  132. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-header/scb-header-menu-group.js +0 -1
  133. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-header/scb-header-menu-item.js +0 -5
  134. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-header/scb-header-tab.js +0 -5
  135. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-header/scb-header-utility.js +0 -1
  136. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-header/scb-header.js +0 -681
  137. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-horizontal-scroller/scb-horizontal-scroller.js +0 -196
  138. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-icon-button/scb-icon-button.js +0 -171
  139. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-keyfigure-card/scb-keyfigure-card.js +0 -212
  140. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-link/scb-link.js +0 -61
  141. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-list/scb-list-item.js +0 -153
  142. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-list/scb-list.js +0 -26
  143. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-menu/scb-menu-item.js +0 -205
  144. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-menu/scb-menu-section.js +0 -42
  145. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-menu/scb-menu.js +0 -81
  146. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-menu/scb-sub-menu.js +0 -10
  147. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-nav/scb-nav-item.js +0 -28
  148. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-nav/scb-nav.js +0 -104
  149. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-notification-card/scb-notification-card.js +0 -358
  150. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-options-menu/scb-options-menu-item.js +0 -66
  151. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-options-menu/scb-options-menu.js +0 -88
  152. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-options-menu/scb-options-sub-menu.js +0 -34
  153. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-overlay/scb-overlay.js +0 -49
  154. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-pagination/scb-pagination.js +0 -312
  155. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-progress-indicator/scb-progress-indicator.js +0 -87
  156. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-progress-stepper/scb-progress-step.js +0 -147
  157. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-progress-stepper/scb-progress-stepper.js +0 -62
  158. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-radio-button/scb-radio-button.js +0 -132
  159. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-radio-button/scb-radio-group.js +0 -43
  160. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-scrollspy/scb-scrollspy.js +0 -79
  161. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-search/scb-search.js +0 -292
  162. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-segmented-button/scb-segmented-button.js +0 -32
  163. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-segmented-button/scb-segmented-item.js +0 -74
  164. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-select/scb-select-option.js +0 -61
  165. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-select/scb-select.js +0 -284
  166. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-skeleton/scb-skeleton.js +0 -38
  167. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-slider/scb-slider.js +0 -27
  168. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-snackbar/scb-snackbar.js +0 -128
  169. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-status-pill/scb-status-pill.js +0 -45
  170. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-stepper/scb-step.js +0 -239
  171. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-stepper/scb-stepper.js +0 -139
  172. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-switch/scb-switch.js +0 -59
  173. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-table/scb-table.js +0 -51
  174. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-table-advanced/scb-table-advanced.js +0 -76
  175. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-tabs/scb-primary-tab.js +0 -6
  176. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-tabs/scb-secondary-tab.js +0 -6
  177. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-tabs/scb-tabs.js +0 -28
  178. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-textfield/scb-textfield.js +0 -595
  179. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-toc/scb-toc-item.js +0 -303
  180. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-toc/scb-toc.js +0 -19
  181. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-tooltip/scb-tooltip.js +0 -196
  182. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-vignette/scb-vignette.js +0 -37
  183. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-viz/scb-viz-actions-runtime.js +0 -2
  184. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-viz/scb-viz-print-runtime.js +0 -98
  185. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-viz/scb-viz-series-differentiation-registry.js +0 -1
  186. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-viz/scb-viz-series-differentiation-runtime.js +0 -1
  187. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-viz/scb-viz-table-runtime.js +0 -1
  188. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-viz/scb-viz.js +0 -1140
  189. package/scb-wc-public-entry/index.d.ts +0 -87
  190. package/starters/blazor/Components/App.razor +0 -34
  191. package/starters/blazor/Components/Layout/MainLayout.razor +0 -39
  192. package/starters/blazor/Components/Pages/Home.razor +0 -80
  193. package/starters/blazor/Components/Routes.razor +0 -14
  194. package/starters/blazor/Components/_Imports.razor +0 -10
  195. package/starters/blazor/Program.cs +0 -23
  196. package/starters/blazor/README.md +0 -28
  197. package/starters/blazor/ScbStarterApp.csproj +0 -7
  198. package/starters/blazor/dot-gitignore +0 -3
  199. package/starters/blazor/package.json +0 -14
  200. package/starters/blazor/wwwroot/app.css +0 -54
  201. package/starters/html/README.md +0 -23
  202. package/starters/html/dot-gitignore +0 -2
  203. package/starters/html/index.html +0 -12
  204. package/starters/html/main.js +0 -135
  205. package/starters/html/package.json +0 -16
  206. package/starters/react/README.md +0 -24
  207. package/starters/react/dot-gitignore +0 -2
  208. package/starters/react/index.html +0 -12
  209. package/starters/react/package.json +0 -19
  210. package/starters/react/src/App.jsx +0 -118
  211. package/starters/react/src/main.jsx +0 -29
  212. package/starters/react/vite.config.js +0 -6
@@ -1,292 +0,0 @@
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);export{n as ScbSearch};
@@ -1,32 +0,0 @@
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);export{a as ScbSegmentedButton};
@@ -1,74 +0,0 @@
1
- import"../../../../../../../../vendor/vendor-material.js";import{_ as m,b as p,g as u,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=p`
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([u("scb-segmented-item")],r);export{r as ScbSegmentedItem};
@@ -1,61 +0,0 @@
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);export{e as ScbSelectOption};