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,239 @@
1
- import"../Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-stepper/scb-step.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,o,c){try{customElements.get(e)||r(e,o,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 b,b as p,g as h,h as a,y as s}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as i}from"../../vendor/decorate.js";(function(){try{var n=typeof globalThis<"u"?globalThis:window;if(!n.__scb_ce_guard_installed__){n.__scb_ce_guard_installed__=!0;var e=customElements.define.bind(customElements);customElements.define=function(o,d,m){try{customElements.get(o)||e(o,d,m)}catch(c){var r=String(c||"");if(r.indexOf("already been used")===-1&&r.indexOf("NotSupportedError")===-1)throw c}}}}catch{}})();var l,t=(l=class extends b{constructor(...e){super(...e),this.label="",this.subLabel="",this.symbolVariant="number",this.number=0,this.active=!1,this.completed=!1,this.changeOnCompleted=!1,this.islast=!1,this.variant="horizontal",this.widthWeight=1,this.icon=""}updated(){!this.subLabel||this.subLabel.trim()===""?this.setAttribute("no-content",""):this.removeAttribute("no-content"),this.widthWeight>0?this.style.setProperty("--scb-step-width-weight",String(this.widthWeight)):this.style.removeProperty("--scb-step-width-weight")}handleKeyDown(e){e.key==="Enter"||e.key===" "?(e.preventDefault(),this.dispatchEvent(new MouseEvent("click",{bubbles:!0,composed:!0}))):(e.key==="ArrowRight"||e.key==="ArrowLeft")&&(this.dispatchEvent(new CustomEvent("scb-stepper-keynav",{detail:{key:e.key},bubbles:!0,composed:!0})),e.preventDefault())}render(){const e=this.active?"step":void 0,o=this.label?`${this.label}${this.subLabel?": "+this.subLabel:""}`:void 0;switch(this.symbolVariant){case"icon":return s`
2
+ <div
3
+ class="scb-step-content"
4
+ tabindex="0"
5
+ role="listitem"
6
+ aria-current=${e}
7
+ aria-label=${o}
8
+ @keydown=${this.handleKeyDown}
9
+ >
10
+ <md-ripple></md-ripple>
11
+ <div class="symbol">
12
+ ${this.completed&&this.changeOnCompleted?s`<md-icon>check</md-icon>`:s`<md-icon>${this.icon}</md-icon>`}
13
+ </div>
14
+ <div class="content">
15
+ <div class="label" data-label="${this.label}"><span class="label-text">${this.label}</span></div>
16
+ <div class="sub-label" data-label="${this.subLabel}"><span class="sub-label-text">${this.subLabel}</span></div>
17
+ </div>
18
+ <md-focus-ring></md-focus-ring>
19
+ </div>
20
+ `;case"marker":return s`
21
+ <div
22
+ class="scb-step-content"
23
+ tabindex="0"
24
+ role="listitem"
25
+ aria-current=${e}
26
+ aria-label=${o}
27
+ @keydown=${this.handleKeyDown}
28
+ >
29
+ <md-ripple></md-ripple>
30
+ <div class="symbol">
31
+ ${this.completed&&this.changeOnCompleted?s`<md-icon>check</md-icon>`:s``}
32
+ </div>
33
+ <div class="content">
34
+ <div class="label" data-label="${this.label}"><span class="label-text">${this.label}</span></div>
35
+ <div class="sub-label" data-label="${this.subLabel}"><span class="sub-label-text">${this.subLabel}</span></div>
36
+ </div>
37
+ <md-focus-ring></md-focus-ring>
38
+ </div>
39
+ `;default:return s`
40
+ <div
41
+ class="scb-step-content"
42
+ tabindex="0"
43
+ role="listitem"
44
+ aria-current=${e}
45
+ aria-label=${o}
46
+ @keydown=${this.handleKeyDown}
47
+ >
48
+ <md-ripple></md-ripple>
49
+ <div class="symbol">
50
+ ${this.completed&&this.changeOnCompleted?s`<md-icon>check</md-icon>`:s`<span>${this.number}</span>`}
51
+ </div>
52
+ <div class="content">
53
+ <div class="label" data-label="${this.label}"><span class="label-text">${this.label}</span></div>
54
+ <div class="sub-label" data-label="${this.subLabel}"><span class="sub-label-text">${this.subLabel}</span></div>
55
+ </div>
56
+ <md-focus-ring></md-focus-ring>
57
+ </div>
58
+ `}}},l.styles=p`
59
+ :host {
60
+ font-family: var(--brand-font);
61
+ --scb-step-slide-from-x: 0px;
62
+ --scb-step-slide-from-y: 0px;
63
+ --scb-step-label-active-weight: 600;
64
+ }
65
+ .scb-step-content {
66
+ width: fit-content;
67
+ max-width: 100%;
68
+ min-width: 0;
69
+ min-height: 100%;
70
+ display: flex;
71
+ flex-direction: column;
72
+ align-items: center;
73
+ position: relative;
74
+ margin-inline: auto;
75
+ cursor: pointer;
76
+ background: none;
77
+ box-sizing: border-box;
78
+ user-select: none;
79
+ padding-block: var(--spacing-1);
80
+ padding-inline: var(--spacing-4);
81
+ }
82
+ .scb-step-content:focus,
83
+ .scb-step-content:focus-visible {
84
+ outline: none ;
85
+ box-shadow: none ;
86
+ }
87
+ .symbol {
88
+ background-color: var(--md-sys-color-outline-variant);
89
+ color: var(--md-sys-color-on-primary);
90
+ border-radius: var(--md-sys-shape-corner-full);
91
+ min-width: var(--icon-size-medium);
92
+ height: var(--icon-size-medium);
93
+ display: flex;
94
+ align-items: center;
95
+ justify-content: center;
96
+ font-weight: var(--md-sys-typescale-label-small-weight);
97
+ font-size: var(--md-sys-typescale-label-small-size);
98
+ line-height: var(--md-sys-typescale-label-small-line-height);
99
+ letter-spacing: var(--md-sys-typescale-label-small-tracking);
100
+ position: relative;
101
+ z-index: 1;
102
+ will-change: transform, opacity;
103
+ transition:
104
+ background-color var(--motion-duration-short) var(--motion-easing-standard),
105
+ color var(--motion-duration-short) var(--motion-easing-standard),
106
+ transform var(--motion-duration-short) var(--motion-easing-emphasized);
107
+ padding: var(--spacing-3);
108
+ }
109
+ md-focus-ring {
110
+ border-radius: var(--md-sys-shape-corner-small);
111
+ }
112
+ md-icon {
113
+ font-size: 20px;
114
+ }
115
+ :host([active]) .symbol {
116
+ background-color: var(--md-sys-color-primary);
117
+ color: var(--md-sys-color-on-primary);
118
+ }
119
+ :host([completed]) .symbol {
120
+ background-color: var(--md-sys-color-primary);
121
+ color: var(--md-sys-color-on-primary);
122
+ }
123
+ .label {
124
+ margin-top: var(--spacing-3);
125
+ text-align: center;
126
+ font-size: var(--md-sys-typescale-label-medium-size);
127
+ line-height: var(--md-sys-typescale-label-medium-line-height);
128
+ letter-spacing: var(--md-sys-typescale-label-medium-tracking);
129
+ color: var(--md-sys-color-on-surface);
130
+ max-width: 90px;
131
+ word-break: break-word;
132
+ margin-bottom: var(--spacing-3);
133
+ display: grid;
134
+ justify-items: center;
135
+ }
136
+ .label::before {
137
+ content: attr(data-label);
138
+ font-weight: var(--scb-step-label-active-weight);
139
+ grid-area: 1 / 1;
140
+ height: 0;
141
+ overflow: hidden;
142
+ visibility: hidden;
143
+ white-space: inherit;
144
+ }
145
+ .label-text {
146
+ grid-area: 1 / 1;
147
+ }
148
+ .sub-label {
149
+ text-align: center;
150
+ display: grid;
151
+ justify-items: center;
152
+ }
153
+ .sub-label::before {
154
+ content: attr(data-label);
155
+ font-weight: var(--scb-step-label-active-weight);
156
+ grid-area: 1 / 1;
157
+ height: 0;
158
+ overflow: hidden;
159
+ visibility: hidden;
160
+ white-space: inherit;
161
+ }
162
+ .sub-label-text {
163
+ grid-area: 1 / 1;
164
+ }
165
+ :host([active]) .label, :host([active]) .sub-label {
166
+ font-weight: var(--scb-step-label-active-weight);
167
+ }
168
+ .content{
169
+ display: flex;
170
+ flex-direction: column;
171
+ align-items: center;
172
+ min-width: 0;
173
+ will-change: transform, opacity;
174
+ }
175
+ :host([variant="vertical"]) {
176
+ .scb-step-content {
177
+ width: 100%;
178
+ flex-direction: row;
179
+ align-items: flex-start;
180
+ gap: var(--spacing-5);
181
+ margin-inline: 0;
182
+ padding: var(--spacing-4);
183
+ }
184
+ }
185
+ :host([no-content]) {
186
+ .scb-step-content {
187
+ align-items: center;
188
+ .label {
189
+ margin-bottom: 0px;
190
+ }
191
+ }
192
+ }
193
+ :host([variant="vertical"]) .label{
194
+ margin-top: 0;
195
+ max-width: none;
196
+ text-align: left;
197
+ justify-items: start;
198
+ word-break: normal;
199
+ }
200
+ :host([variant="vertical"]) .sub-label{
201
+ text-align: left;
202
+ justify-items: start;
203
+ word-break: normal;
204
+ }
205
+ :host([variant="vertical"]) .content{
206
+ align-items: flex-start;
207
+ min-width: 0;
208
+ }
209
+ :host([symbol-variant="marker"]) .symbol {
210
+ min-width: 16px;
211
+ height: 16px;
212
+ }
213
+ :host([symbol-variant="marker"][completed][change-on-completed]) .symbol {
214
+ background-color: transparent;
215
+ color: var(--md-sys-color-primary);
216
+ md-icon{
217
+ font-size: var(--icon-size-small);
218
+ }
219
+ }
220
+
221
+ :host([active]) .symbol {
222
+ --scb-kf-pulse-scale: 1.08;
223
+ animation-duration: var(--motion-duration-medium);
224
+ animation-timing-function: var(--motion-easing-emphasized);
225
+ animation-iteration-count: 1;
226
+ animation-fill-mode: both;
227
+ animation-name: var(--motion-keyframe-pulse, scb-kf-pulse);
228
+ }
229
+
230
+ :host([completed]:not([active])) .symbol {
231
+ --scb-kf-pulse-scale: 1.04;
232
+ animation-duration: var(--motion-duration-short);
233
+ animation-timing-function: var(--motion-easing-standard);
234
+ animation-iteration-count: 1;
235
+ animation-fill-mode: both;
236
+ animation-name: var(--motion-keyframe-pulse, scb-kf-pulse);
237
+ }
238
+
239
+ `,l);i([a({type:String,reflect:!0})],t.prototype,"label",void 0);i([a({type:String,reflect:!0,attribute:"sub-label"})],t.prototype,"subLabel",void 0);i([a({type:String,reflect:!0,attribute:"symbol-variant"})],t.prototype,"symbolVariant",void 0);i([a({type:Number,reflect:!0})],t.prototype,"number",void 0);i([a({type:Boolean,reflect:!0})],t.prototype,"active",void 0);i([a({type:Boolean,reflect:!0})],t.prototype,"completed",void 0);i([a({type:Boolean,reflect:!0,attribute:"change-on-completed"})],t.prototype,"changeOnCompleted",void 0);i([a({type:Boolean,reflect:!0})],t.prototype,"islast",void 0);i([a({type:String,reflect:!0})],t.prototype,"variant",void 0);i([a({type:Number,reflect:!0,attribute:"width-weight"})],t.prototype,"widthWeight",void 0);i([a({type:String})],t.prototype,"icon",void 0);t=i([h("scb-step")],t);
@@ -1 +1,139 @@
1
- import"../Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-stepper/scb-step.js";import"../Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-stepper/scb-stepper.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,o,c){try{customElements.get(e)||r(e,o,c)}catch(n){var i=String(n||"");if(i.indexOf("already been used")===-1&&i.indexOf("NotSupportedError")===-1)throw n}}}}catch{}})();
1
+ import{_,b as x,g as k,h as l,y as w}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as p}from"../../vendor/decorate.js";import{n as I,t as c}from"../../vendor/assertClassBrand.js";import{n as g,r as y,t as b}from"../../vendor/classPrivateFieldGet2.js";import"./scb-step.js";(function(){try{var n=typeof globalThis<"u"?globalThis:window;if(!n.__scb_ce_guard_installed__){n.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(e,s,r){try{customElements.get(e)||t(e,s,r)}catch(h){var i=String(h||"");if(i.indexOf("already been used")===-1&&i.indexOf("NotSupportedError")===-1)throw h}}}}catch{}})();var v,d,a,u,o=(v=new WeakMap,d=new WeakMap,a=new WeakSet,u=class extends _{constructor(...t){super(...t),I(this,a),y(this,v,void 0),y(this,d,void 0),this.type="",this.label="",this.changeOnCompleted=!1,this.variant="horizontal",this.symbolVariant="number",this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this.activeIndex=0,g(d,this,0),this._onKeyNav=e=>{const s=this._getSteps(),r=this.activeIndex;let i=r;e.detail.key==="ArrowRight"?r<s.length-1?i=r+1:i=0:e.detail.key==="ArrowLeft"&&(r>0?i=r-1:i=s.length-1),i!==r&&(this._onStepClick(i),setTimeout(()=>{const h=s[i].shadowRoot?.querySelector(".scb-step-content");h&&"focus"in h&&typeof h.focus=="function"&&h.focus()},0))},this._onStepContainerClick=e=>{const s=this._getSteps(),r=e.composedPath(),i=s.findIndex(h=>r.includes(h));i!==-1&&this._onStepClick(i)},this._onSlotChange=()=>{const e=this._getSteps();if(e.length===0){this.activeIndex=0;return}this.activeIndex>e.length-1?this.activeIndex=e.length-1:this.activeIndex<0&&(this.activeIndex=0),this._updateSteps(),c(a,this,f).call(this)}}_onStepClick(t){const e=this.activeIndex;this.activeIndex=t,this._updateSteps(),this.dispatchEvent(new CustomEvent("step-change",{detail:{index:this.activeIndex,step:this._getSteps()[this.activeIndex]},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("stepchange",{detail:{index:this.activeIndex,step:this._getSteps()[this.activeIndex]},bubbles:!0,composed:!0})),t>e?(this.dispatchEvent(new CustomEvent("step-next",{detail:{from:e,to:t,step:this._getSteps()[t]},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("stepnext",{detail:{from:e,to:t,step:this._getSteps()[t]},bubbles:!0,composed:!0}))):t<e&&(this.dispatchEvent(new CustomEvent("step-prev",{detail:{from:e,to:t,step:this._getSteps()[t]},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("stepprev",{detail:{from:e,to:t,step:this._getSteps()[t]},bubbles:!0,composed:!0})))}nextStep(){const t=this._getSteps();this.activeIndex<t.length-1&&this._onStepClick(this.activeIndex+1)}prevStep(){this.activeIndex>0&&this._onStepClick(this.activeIndex-1)}getActiveIndex(){return this.activeIndex}_updateSteps(){const t=this._getSteps();this.style.setProperty("--scb-stepper-step-count",String(Math.max(1,t.length))),t.forEach((e,s)=>{e.active=s===this.activeIndex,e.completed=s<this.activeIndex,e.islast=!1,e.changeOnCompleted=this.changeOnCompleted,e.number=s+1,e.variant=this.variant,e.symbolVariant=this.symbolVariant}),t.length>0&&(t[t.length-1].islast=!0)}_getSteps(){return Array.from(this.querySelectorAll("scb-step"))}firstUpdated(t){this._updateSteps(),c(a,this,S).call(this),c(a,this,f).call(this)}updated(t){this._updateSteps(),(t.has("variant")||t.has("symbolVariant"))&&c(a,this,f).call(this),(t.has("spacing")||t.has("spacingTop")||t.has("spacingBottom")||t.has("spacingLeft")||t.has("spacingRight"))&&c(a,this,S).call(this)}render(){return w`
2
+ <div
3
+ class="steps"
4
+ role="list"
5
+ aria-label="Steg i processen"
6
+ @click=${this._onStepContainerClick}
7
+ @scb-stepper-keynav=${this._onKeyNav}
8
+ >
9
+ <slot @slotchange=${this._onSlotChange}></slot>
10
+ </div>
11
+ `}connectedCallback(){super.connectedCallback(),typeof ResizeObserver<"u"&&(g(v,this,new ResizeObserver(()=>{c(a,this,f).call(this)})),b(v,this).observe(this))}disconnectedCallback(){b(v,this)&&(b(v,this).disconnect(),g(v,this,void 0)),b(d,this)&&(cancelAnimationFrame(b(d,this)),g(d,this,0)),super.disconnectedCallback()}},u.styles=x`
12
+ :host {
13
+ --scb-stepper-width: 100%;
14
+ --scb-stepper-height: 100%;
15
+ --scb-stepper-step-count: 1;
16
+ --scb-stepper-connector-gap: var(--spacing-2);
17
+ --scb-stepper-symbol-size: var(--icon-size-medium);
18
+ display: block;
19
+ padding: var(--spacing-5) 0;
20
+ width: 100%;
21
+ color: var(--md-sys-color-on-surface);
22
+ font-family: var(--brand-font);
23
+ max-width: var(--scb-stepper-width);
24
+ height: var(--scb-stepper-height);
25
+
26
+ margin-block-start: var(--scb-stepper-spacing-block-start, 0);
27
+ margin-block-end: var(--scb-stepper-spacing-block-end, 0);
28
+ margin-inline-start: var(--scb-stepper-spacing-inline-start, 0);
29
+ margin-inline-end: var(--scb-stepper-spacing-inline-end, 0);
30
+ }
31
+ .steps {
32
+ display: flex;
33
+ flex-direction: row;
34
+ align-items: stretch;
35
+ justify-content: center;
36
+ position: relative;
37
+ width: 100%;
38
+ gap: 0;
39
+ height: 100%;
40
+ }
41
+ :host([variant='vertical']) .steps {
42
+ flex-direction: column;
43
+ gap: var(--spacing-8);
44
+ }
45
+
46
+ :host([symbol-variant='marker']) {
47
+ --scb-stepper-symbol-size: 16px;
48
+ }
49
+ ::slotted(scb-step) {
50
+ position: relative;
51
+ z-index: 1;
52
+ width: 100%;
53
+ min-width: 0;
54
+ }
55
+
56
+ :host([variant='horizontal']) ::slotted(scb-step) {
57
+ flex: var(--scb-step-width-weight, 1) 1 0;
58
+ }
59
+
60
+ /* Horisontell connector
61
+ Bygger upp en linje per steg, med glapp både före och efter varje symbol.
62
+ Första steget ritar bara sin högra del och sista steget ritar bara sin vänstra del.
63
+ */
64
+ :host([variant='horizontal']) ::slotted(scb-step)::before,
65
+ :host([variant='horizontal']) ::slotted(scb-step)::after {
66
+ content: '';
67
+ position: absolute;
68
+ top: calc(var(--spacing-4) + (var(--scb-stepper-symbol-size) / 2));
69
+ height: 1px;
70
+ background-color: var(--n-70);
71
+ transition: background-color var(--motion-duration-medium) var(--motion-easing-standard);
72
+ z-index: 0;
73
+ pointer-events: none;
74
+ }
75
+
76
+ :host([variant='horizontal']) ::slotted(scb-step)::before {
77
+ left: 0;
78
+ right: calc(50% + (var(--scb-stepper-symbol-size) / 2) + var(--scb-stepper-connector-gap));
79
+ }
80
+
81
+ :host([variant='horizontal']) ::slotted(scb-step)::after {
82
+ left: calc(50% + (var(--scb-stepper-symbol-size) / 2) + var(--scb-stepper-connector-gap));
83
+ right: 0;
84
+ }
85
+
86
+ :host([variant='horizontal']) ::slotted(scb-step:first-child)::before {
87
+ display: none;
88
+ }
89
+
90
+ :host([variant='horizontal']) ::slotted(scb-step:last-child)::after {
91
+ display: none;
92
+ }
93
+
94
+ :host([variant='horizontal']) ::slotted(scb-step[completed])::before,
95
+ :host([variant='horizontal']) ::slotted(scb-step[completed])::after {
96
+ background-color: var(--md-sys-color-primary);
97
+ }
98
+ :host([variant='horizontal']) ::slotted(scb-step[active])::before {
99
+ background-color: var(--md-sys-color-primary);
100
+ }
101
+ /* Vertikal connector */
102
+ ::slotted(scb-step[variant='vertical'][completed]:not(:last-child))::after {
103
+ background-color: var(--md-sys-color-primary);
104
+ }
105
+ ::slotted(scb-step[variant='vertical'][symbol-variant='marker'][completed]:not(:last-child))::after {
106
+ background-color: var(--md-sys-color-primary);
107
+ }
108
+
109
+ ::slotted(scb-step[variant='vertical']:not(:first-child))::before {
110
+ display: none;
111
+ }
112
+ ::slotted(scb-step[variant='vertical']:not(:last-child))::after {
113
+ content: '';
114
+ position: absolute;
115
+ left: 28px;
116
+ top: 52px;
117
+ width: 1px;
118
+ height: calc(100% - 16px);
119
+ background-color: var(--n-70);
120
+ transition: background-color var(--motion-duration-medium) var(--motion-easing-standard);
121
+ z-index: 0;
122
+ transform: translateX(-50%);
123
+ }
124
+ ::slotted(scb-step[variant='vertical'][symbol-variant='marker']:not(:last-child))::after {
125
+ content: '';
126
+ position: absolute;
127
+ left: 20px;
128
+ top: 38px;
129
+ width: 1px;
130
+ height: calc(100% - 2px);
131
+ background-color: var(--n-70);
132
+ transition: background-color var(--motion-duration-medium) var(--motion-easing-standard);
133
+ z-index: 0;
134
+ transform: translateX(-50%);
135
+ }
136
+ ::slotted(scb-step[symbol-variant='marker']:not(:first-child))::before {
137
+ top: 20px;
138
+ }
139
+ `,u);function S(){const n=c(a,this,m).call(this,this.spacing),t=c(a,this,m).call(this,this.spacingTop)??n,e=c(a,this,m).call(this,this.spacingBottom)??n,s=c(a,this,m).call(this,this.spacingLeft),r=c(a,this,m).call(this,this.spacingRight);t?this.style.setProperty("--scb-stepper-spacing-block-start",t):this.style.removeProperty("--scb-stepper-spacing-block-start"),e?this.style.setProperty("--scb-stepper-spacing-block-end",e):this.style.removeProperty("--scb-stepper-spacing-block-end"),s?this.style.setProperty("--scb-stepper-spacing-inline-start",s):this.style.removeProperty("--scb-stepper-spacing-inline-start"),r?this.style.setProperty("--scb-stepper-spacing-inline-end",r):this.style.removeProperty("--scb-stepper-spacing-inline-end")}function m(n){if(!n)return;const t=String(n).trim();if(t)return/^\d+$/.test(t)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(t,10)))})`:t}function f(){b(d,this)||g(d,this,requestAnimationFrame(()=>{g(d,this,0),c(a,this,C).call(this)}))}function C(){const n=this._getSteps();n.length!==0&&n.forEach(t=>{const e=t.shadowRoot;if(!e)return;const s=e.querySelector(".label"),r=e.querySelector(".scb-step-content");if(!s)return;if(this.variant!=="horizontal"){s.style.removeProperty("max-width"),s.style.removeProperty("white-space"),s.style.removeProperty("word-break"),s.style.removeProperty("overflow-wrap");return}s.style.maxWidth="none",s.style.whiteSpace="nowrap",s.style.wordBreak="normal",s.style.overflowWrap="normal";const i=r?.clientWidth??t.clientWidth;i>0&&s.scrollWidth>i&&(s.style.maxWidth="100%",s.style.whiteSpace="normal",s.style.wordBreak="break-word",s.style.overflowWrap="anywhere")})}p([l({type:String,reflect:!0})],o.prototype,"type",void 0);p([l({type:String,reflect:!0})],o.prototype,"label",void 0);p([l({type:Boolean,reflect:!0,attribute:"change-on-completed"})],o.prototype,"changeOnCompleted",void 0);p([l({type:String})],o.prototype,"variant",void 0);p([l({type:String,reflect:!0,attribute:"symbol-variant"})],o.prototype,"symbolVariant",void 0);p([l({type:String,reflect:!0})],o.prototype,"spacing",void 0);p([l({type:String,attribute:"spacing-top",reflect:!0})],o.prototype,"spacingTop",void 0);p([l({type:String,attribute:"spacing-bottom",reflect:!0})],o.prototype,"spacingBottom",void 0);p([l({type:String,attribute:"spacing-left",reflect:!0})],o.prototype,"spacingLeft",void 0);p([l({type:String,attribute:"spacing-right",reflect:!0})],o.prototype,"spacingRight",void 0);p([l({type:Number,reflect:!0,attribute:"active-index"})],o.prototype,"activeIndex",void 0);o=p([k("scb-stepper")],o);
@@ -1 +1,59 @@
1
- import{ScbSwitch as _}from"../Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-switch/scb-switch.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,o,c){try{customElements.get(e)||r(e,o,c)}catch(n){var i=String(n||"");if(i.indexOf("already been used")===-1&&i.indexOf("NotSupportedError")===-1)throw n}}}}catch{}})();export{_ as ScbSwitch};
1
+ import"../../vendor/vendor-material.js";import{_ as y,b as m,g as _,h as s,v as f,y as g}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as i}from"../../vendor/decorate.js";import{n as v,t as o}from"../../vendor/assertClassBrand.js";(function(){try{var r=typeof globalThis<"u"?globalThis:window;if(!r.__scb_ce_guard_installed__){r.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(a,n,h){try{customElements.get(a)||t(a,n,h)}catch(u){var p=String(u||"");if(p.indexOf("already been used")===-1&&p.indexOf("NotSupportedError")===-1)throw u}}}}catch{}})();var l,d,e=(l=new WeakSet,d=class extends y{constructor(){super(),v(this,l),this._internals=null,this.label="",this.ariaLabel="",this.icons=!1,this.selected=!1,this.required=!1,this.disabled=!1,this.fullWidth=!1,this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this.name="",this.value="on",this._form=null,this._formResetHandler=null,this._initialSelected=!1,this._customValidationMessage="","attachInternals"in this&&(this._internals=this.attachInternals())}connectedCallback(){super.connectedCallback(),this._initialSelected=this.selected,this._form=this.closest("form"),this._form&&(this._formResetHandler=()=>{this.selected=this._initialSelected,this.__syncFormValue()},this._form.addEventListener("reset",this._formResetHandler,!0)),this.__syncFormValue()}disconnectedCallback(){this._form&&this._formResetHandler&&this._form.removeEventListener("reset",this._formResetHandler,!0),super.disconnectedCallback()}firstUpdated(){this.shadowRoot?.querySelector("md-switch")?.addEventListener("change",t=>{this.selected=t.target.selected,this.dispatchEvent(new CustomEvent("change",{detail:{selected:this.selected},bubbles:!0,composed:!0}))}),o(l,this,b).call(this)}updated(t){super.updated(t),t.has("disabled")&&this.toggleAttribute("aria-disabled",this.disabled),(t.has("selected")||t.has("disabled")||t.has("value"))&&this.__syncFormValue(),(t.has("selected")||t.has("disabled")||t.has("required"))&&this.__syncValidity(),(t.has("spacing")||t.has("spacingTop")||t.has("spacingBottom")||t.has("spacingLeft")||t.has("spacingRight"))&&o(l,this,b).call(this)}formDisabledCallback(t){this.disabled=t}__getValidationMessage(){return this._customValidationMessage?this._customValidationMessage:this.required&&!this.selected?"Aktivera det här valet.":""}__syncValidity(){const t=this.shadowRoot?.querySelector("md-switch"),a=this.disabled?"":this.__getValidationMessage();this._internals&&(a?this._internals.setValidity({valueMissing:!0},a,t??void 0):this._internals.setValidity({})),this.toggleAttribute("aria-invalid",!!a)}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)return;const t=this.disabled||!this.selected?null:this.value;this._internals.setFormValue(t)}render(){const t=this.label.trim().length>0,a=t?f:this.ariaLabel||f,n=g`
2
+ <md-switch
3
+ ?icons=${this.icons}
4
+ ?selected=${this.selected}
5
+ ?disabled=${this.disabled}
6
+ aria-required=${this.required?"true":"false"}
7
+ aria-label=${a}
8
+ ></md-switch>
9
+ `;return t?g`
10
+ <label class="switch-container" ?disabled=${this.disabled}>
11
+ <span class="switch-label">${this.label}</span>
12
+ ${n}
13
+ </label>
14
+ `:n}},d.formAssociated=!0,d.styles=m`
15
+ :host {
16
+ display: block;
17
+ /* Vertikalt avstånd styrs av spacing-attributen via CSS-variabler */
18
+ margin-block-start: var(--scb-switch-spacing-block-start, 0);
19
+ margin-block-end: var(--scb-switch-spacing-block-end, 0);
20
+ margin-inline-start: var(--scb-switch-spacing-inline-start, 0);
21
+ margin-inline-end: var(--scb-switch-spacing-inline-end, 0);
22
+ }
23
+
24
+ .switch-container {
25
+ display: flex;
26
+ align-items: center;
27
+ justify-content: flex-start;
28
+ width: auto;
29
+
30
+ /* Gap hämtas från spacing-tokens och följer density-lägen */
31
+ gap: var(--scb-switch-gap, var(--spacing-3, 8px));
32
+
33
+ cursor: pointer;
34
+
35
+ /* Basfärg för innehållet. Labeln ärver om inget annat anges. */
36
+ color: var(--md-sys-color-on-surface);
37
+ }
38
+
39
+ /* När full-width är true, kör space-between + 100% bredd */
40
+ :host([full-width]) .switch-container {
41
+ justify-content: space-between;
42
+ width: 100%;
43
+ }
44
+
45
+ .switch-label {
46
+ /* liten vertikal justering kopplad till spacing-tokens */
47
+ transform: translateY(var(--scb-switch-label-offset-y, var(--spacing-1, 2px)));
48
+
49
+ /* Typografiska tokens*/
50
+ font-family: var(--brand-font, 'Inter', sans-serif);
51
+ font-size: var(--md-sys-typescale-title-medium-size, 18px);
52
+ line-height: var(--md-sys-typescale-title-medium-line-height, 26px);
53
+ font-weight: var(--md-sys-typescale-title-large-weight, 600);
54
+ letter-spacing: var(--md-sys-typescale-title-medium-tracking, -0.3px);
55
+
56
+ /* Ärver färg från container */
57
+ color: var(--scb-switch-label-color, inherit);
58
+ }
59
+ `,d);function b(){const r=o(l,this,c).call(this,this.spacing),t=o(l,this,c).call(this,this.spacingTop)??r,a=o(l,this,c).call(this,this.spacingBottom)??r,n=o(l,this,c).call(this,this.spacingLeft),h=o(l,this,c).call(this,this.spacingRight);t?this.style.setProperty("--scb-switch-spacing-block-start",t):this.style.removeProperty("--scb-switch-spacing-block-start"),a?this.style.setProperty("--scb-switch-spacing-block-end",a):this.style.removeProperty("--scb-switch-spacing-block-end"),n?this.style.setProperty("--scb-switch-spacing-inline-start",n):this.style.removeProperty("--scb-switch-spacing-inline-start"),h?this.style.setProperty("--scb-switch-spacing-inline-end",h):this.style.removeProperty("--scb-switch-spacing-inline-end")}function c(r){if(!r)return;const t=String(r).trim();if(t)return/^\d+$/.test(t)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(t,10)))})`:t}i([s({type:String})],e.prototype,"label",void 0);i([s({type:String,reflect:!0,attribute:"aria-label"})],e.prototype,"ariaLabel",void 0);i([s({type:Boolean,reflect:!0})],e.prototype,"icons",void 0);i([s({type:Boolean,reflect:!0})],e.prototype,"selected",void 0);i([s({type:Boolean,reflect:!0})],e.prototype,"required",void 0);i([s({type:Boolean,reflect:!0})],e.prototype,"disabled",void 0);i([s({type:Boolean,reflect:!0,attribute:"full-width"})],e.prototype,"fullWidth",void 0);i([s({type:String,reflect:!0})],e.prototype,"spacing",void 0);i([s({type:String,attribute:"spacing-top",reflect:!0})],e.prototype,"spacingTop",void 0);i([s({type:String,attribute:"spacing-bottom",reflect:!0})],e.prototype,"spacingBottom",void 0);i([s({type:String,attribute:"spacing-left",reflect:!0})],e.prototype,"spacingLeft",void 0);i([s({type:String,attribute:"spacing-right",reflect:!0})],e.prototype,"spacingRight",void 0);i([s({type:String})],e.prototype,"name",void 0);i([s({type:String})],e.prototype,"value",void 0);e=i([_("scb-switch")],e);export{e as ScbSwitch};
@@ -1 +1,51 @@
1
- import"../Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-table/scb-table.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,o,c){try{customElements.get(e)||r(e,o,c)}catch(i){var n=String(i||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw i}}}}catch{}})();
1
+ import{_ as g,b as _,g as v,h as b,y as C}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as f}from"../../vendor/decorate.js";import"../scb-icon-button/scb-icon-button.js";(function(){try{var y=typeof globalThis<"u"?globalThis:window;if(!y.__scb_ce_guard_installed__){y.__scb_ce_guard_installed__=!0;var e=customElements.define.bind(customElements);customElements.define=function(r,s,o){try{customElements.get(r)||e(r,s,o)}catch(i){var l=String(i||"");if(l.indexOf("already been used")===-1&&l.indexOf("NotSupportedError")===-1)throw i}}}}catch{}})();var p,m=(p=class extends g{constructor(...e){super(...e),this.dataSorting=!1,this.columnWidthMode="auto",this._sortedColumn=null,this._sortDirection="asc",this._columnWidthFrame=null,this._onSlotChange=()=>{this._attachThListeners()}}render(){return C`
2
+ <div class="scb-table-scroll-wrapper">
3
+ <slot @slotchange=${this._onSlotChange}></slot>
4
+ </div>
5
+ `}firstUpdated(){const e=this.shadowRoot?.querySelector("slot");e&&(e.addEventListener("slotchange",()=>this._attachThListeners()),this._attachThListeners())}updated(e){e.has("dataSorting")&&(this.dataSorting||(this._sortedColumn=null,this._sortDirection="asc"),this._attachThListeners()),e.has("columnWidthMode")&&this._queueColumnWidthUpdate()}disconnectedCallback(){super.disconnectedCallback(),this._columnWidthFrame!==null&&(cancelAnimationFrame(this._columnWidthFrame),this._columnWidthFrame=null)}_getTbody(){const e=this.shadowRoot?.querySelector("slot");if(!e)return null;const r=e.assignedNodes({flatten:!0});for(const s of r)if(s.nodeType===Node.ELEMENT_NODE){const o=s,l=o.tagName.toLowerCase()==="tbody"?o:o.querySelector("tbody");if(l)return l}return null}_getTables(){const e=this.shadowRoot?.querySelector("slot");if(!e)return[];const r=e.assignedNodes({flatten:!0}),s=[];return r.forEach(o=>{if(o.nodeType===Node.ELEMENT_NODE){const l=o;l.tagName.toLowerCase()==="table"&&s.push(l),s.push(...Array.from(l.querySelectorAll("table")))}}),s}_attachThListeners(){const e=this.shadowRoot?.querySelector("slot");if(!e)return;const r=e.assignedNodes({flatten:!0}),s=[],o=[],l=[],i=[];r.forEach(t=>{t.nodeType===Node.ELEMENT_NODE&&(s.push(...t.querySelectorAll("thead")),o.push(...t.querySelectorAll("th")),l.push(...t.querySelectorAll("td")),i.push(...t.querySelectorAll("tr")))}),s.forEach(t=>{t.style.borderTop="1px solid var(--md-sys-color-on-surface)"}),o.forEach((t,c)=>{t.style.textAlign="left",t.style.padding="12px",t.style.position="relative",t.style.backgroundColor="var(--md-sys-color-surface)",t.style.fontFamily="var(--md-sys-typescale-label-medium-font)",t.style.fontSize="var(--md-sys-typescale-label-medium-size)",t.style.lineHeight="var(--md-sys-typescale-label-medium-line-height)",t.style.fontWeight=" var(--weight-bold)",t.style.letterSpacing="var(--md-sys-typescale-label-medium-tracking)",t.style.verticalAlign="bottom",t.style.borderRight="1px solid var(--md-sys-color-on-surface)",t.style.borderBottom="1px solid var(--md-sys-color-on-surface)";const d=(t.textContent??"").replace(/\s+/g," ").trim();for(;t.firstChild;)t.removeChild(t.firstChild);const a=document.createElement("p");if(a.textContent=d,a.style.margin="0",this.dataSorting){const n=document.createElement("scb-icon-button");n.className="scb-sort-icon",n.onclick=()=>this._onThClick(c),n.setAttribute("variant","standard"),n.setAttribute("size","small"),n.style.alignSelf="end",this._sortedColumn===c?(n.setAttribute("variant","filled-tonal"),n.setAttribute("icon",this._sortDirection==="asc"?"arrow_downward":"arrow_upward")):(n.setAttribute("icon","swap_horiz"),n.style.transform+=" rotate(90deg)");const u=document.createElement("div");u.style.display="flex",u.style.gap="8px",u.style.flexWrap="nowrap",u.style.alignItems="center",u.appendChild(a),u.appendChild(n),t.appendChild(u)}else t.appendChild(a)}),l.forEach(t=>{t.style.padding="12px",t.style.textAlign="left",t.style.borderTop="1px solid var(--md-sys-color-outline-variant)",t.style.verticalAlign="text-top",t.style.backgroundColor="var(--md-sys-color-surface)",t.style.fontFamily="var(--md-sys-typescale-body-medium-font)",t.style.fontSize="var(--md-sys-typescale-body-medium-size)",t.style.lineHeight="var(--md-sys-typescale-body-medium-line-height)",t.style.fontWeight="var(--md-sys-typescale-body-medium-weight)",t.style.letterSpacing="var(--md-sys-typescale-body-medium-tracking)",t.style.borderRight="1px solid var(--md-sys-color-on-surface)",t.style.borderBottom="1px solid var(--md-sys-color-on-surface)"}),i.forEach(t=>{const c=t.querySelectorAll("th");c.length>0&&c.forEach((a,n)=>{n===c.length-1&&(a.style.borderRight="none")});const d=t.querySelectorAll("td");d.length>0&&d.forEach((a,n)=>{n===d.length-1&&(a.style.borderRight="none")})});const h=this._getTbody();h&&Array.from(h.querySelectorAll("tr")).forEach((t,c)=>{const d=c%2===0?"var(--md-sys-color-surface-container)":"var(--md-sys-color-surface)";t.querySelectorAll("td").forEach(a=>{a.style.backgroundColor=d})}),this._queueColumnWidthUpdate()}_queueColumnWidthUpdate(){this._columnWidthFrame!==null&&cancelAnimationFrame(this._columnWidthFrame),this._columnWidthFrame=requestAnimationFrame(()=>{this._columnWidthFrame=null,this._applyColumnWidthMode()})}_applyColumnWidthMode(){this._getTables().forEach(e=>{if(this._removeGeneratedColGroup(e),e.style.tableLayout="",e.style.width="",e.style.minWidth="",e.style.maxWidth="",this.columnWidthMode!=="header")return;const r=Array.from(e.querySelectorAll("thead tr")),s=r[r.length-1];if(!s)return;const o=Array.from(s.cells).map(i=>`${Math.ceil(this._measureCellContentWidth(i))}px`),l=o.reduce((i,h)=>i+parseFloat(h),0);this._applyGeneratedColGroup(e,o),e.style.tableLayout="fixed",e.style.width=`${Math.ceil(l)}px`,e.style.minWidth=`${Math.ceil(l)}px`,e.style.maxWidth="none"})}_applyGeneratedColGroup(e,r){const s=document.createElement("colgroup");s.setAttribute("data-scb-generated-column-widths","true"),r.forEach(o=>{const l=document.createElement("col");l.style.width=o,l.style.minWidth=o,s.appendChild(l)}),e.insertBefore(s,e.firstChild)}_removeGeneratedColGroup(e){e.querySelector('colgroup[data-scb-generated-column-widths="true"]')?.remove()}_measureCellContentWidth(e){const r=e.firstElementChild?.cloneNode(!0)??document.createElement("span");e.firstElementChild||(r.textContent=e.textContent??"");const s=window.getComputedStyle(e),o=document.createElement("div");o.style.position="absolute",o.style.left="-99999px",o.style.top="0",o.style.visibility="hidden",o.style.pointerEvents="none",o.style.width="max-content",o.style.maxWidth="none",o.style.whiteSpace="nowrap",o.style.fontFamily=s.fontFamily,o.style.fontSize=s.fontSize,o.style.fontWeight=s.fontWeight,o.style.lineHeight=s.lineHeight,o.style.letterSpacing=s.letterSpacing,r instanceof HTMLElement&&(r.style.width="max-content",r.style.maxWidth="none",r.style.whiteSpace="nowrap"),o.appendChild(r),document.body.appendChild(o);const l=parseFloat(s.paddingLeft||"0"),i=parseFloat(s.paddingRight||"0"),h=o.getBoundingClientRect().width+l+i;return document.body.removeChild(o),h}_onThClick(e){this.dataSorting&&(this._sortedColumn===e?this._sortDirection=this._sortDirection==="asc"?"desc":"asc":(this._sortedColumn=e,this._sortDirection="asc"),this._sortTable(e,this._sortDirection),this._attachThListeners(),this.dispatchEvent(new CustomEvent("tablesortchange",{detail:{sortedColumn:this._sortedColumn,sortDirection:this._sortDirection},bubbles:!0,composed:!0})))}_sortTable(e,r){const s=this._getTbody();if(!s)return;const o=Array.from(s.querySelectorAll("tr"));o.sort((l,i)=>{const h=l.children[e]?.textContent?.trim()??"",t=i.children[e]?.textContent?.trim()??"",c=Date.parse(h.replace(/\s+/g," ")),d=Date.parse(t.replace(/\s+/g," "));if(!isNaN(c)&&!isNaN(d))return r==="asc"?c-d:d-c;const a=parseFloat(h.replace(",",".")),n=parseFloat(t.replace(",","."));if(!isNaN(a)&&!isNaN(n))return r==="asc"?a-n:n-a;const u=h.localeCompare(t,"sv");return r==="asc"?u:-u}),o.forEach(l=>s.appendChild(l))}},p.styles=_`
6
+ :host {
7
+ display: block;
8
+ color: var(--md-sys-color-on-surface);
9
+ font-family: var(--brand, Inter);
10
+ }
11
+
12
+ .scb-table-scroll-wrapper {
13
+ width: 100%;
14
+ overflow-x: auto;
15
+ overflow-y: auto;
16
+ max-width: 100%;
17
+ padding-bottom: 24px;
18
+ }
19
+
20
+ .scb-table-scroll-wrapper::-webkit-scrollbar {
21
+ border-radius: var(--md-sys-shape-corner-large);
22
+ height: 8px;
23
+ width: 10px;
24
+ }
25
+
26
+ .scb-table-scroll-wrapper::-webkit-scrollbar-thumb {
27
+ background: var(--md-sys-color-on-surface);
28
+ border-radius: var(--md-sys-shape-corner-large);
29
+ cursor: pointer;
30
+ }
31
+
32
+ .scb-table-scroll-wrapper::-webkit-scrollbar-track {
33
+ background: var(--md-sys-color-secondary-container);
34
+ border-radius: var(--md-sys-shape-corner-large);
35
+ }
36
+
37
+ ::slotted(table) {
38
+ border-collapse: collapse;
39
+ border-spacing: 0;
40
+ min-width: 100%;
41
+ overflow: hidden;
42
+ }
43
+
44
+ ::slotted(th) .scb-sort-icon {
45
+ pointer-events: none;
46
+ }
47
+
48
+ ::slotted(th:hover) .scb-sort-icon {
49
+ pointer-events: auto;
50
+ }
51
+ `,p);f([b({type:Boolean,attribute:"data-sorting"})],m.prototype,"dataSorting",void 0);f([b({type:String,attribute:"column-width-mode"})],m.prototype,"columnWidthMode",void 0);m=f([v("scb-table")],m);
@@ -1 +1,76 @@
1
- import"../Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-search/scb-search.js";import"../Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-pagination/scb-pagination.js";import"../Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-table-advanced/scb-table-advanced.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,o,d){try{customElements.get(e)||r(e,o,d)}catch(n){var i=String(n||"");if(i.indexOf("already been used")===-1&&i.indexOf("NotSupportedError")===-1)throw n}}}}catch{}})();
1
+ import{_ as w,b as C,g as E,h as g,y as m}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as p}from"../../vendor/decorate.js";import"../scb-icon-button/scb-icon-button.js";import"../scb-search/scb-search.js";import"../scb-pagination/scb-pagination.js";(function(){try{var v=typeof globalThis<"u"?globalThis:window;if(!v.__scb_ce_guard_installed__){v.__scb_ce_guard_installed__=!0;var e=customElements.define.bind(customElements);customElements.define=function(r,o,h){try{customElements.get(r)||e(r,o,h)}catch(t){var l=String(t||"");if(l.indexOf("already been used")===-1&&l.indexOf("NotSupportedError")===-1)throw t}}}}catch{}})();var T,u=(T=class extends w{constructor(...e){super(...e),this.searchTerm="",this.pagination=!1,this.filteringSearch=!1,this.noScroll=!1,this.pageSize=10,this.currentPage=1,this.totalRows=0,this._sortedColumn=null,this._sortDirection="asc",this._filteredRows=null,this._tbodyObserver=null,this._observedTbody=null,this._pendingTableRefresh=!1,this._suppressTbodyObserver=!1,this._onSlotChange=()=>{this._attachTbodyObserver(),this._refreshFromTableContent()},this._onPaginationChange=r=>{const o=r.detail;o&&typeof o.page=="number"&&this._changePage(o.page)}}disconnectedCallback(){super.disconnectedCallback(),this._disconnectTbodyObserver()}attributeChangedCallback(e,r,o){if(super.attributeChangedCallback(e,r,o),r!==o){if(e==="searchterm"){queueMicrotask(()=>{this.isConnected&&this._filterTable()});return}if(e==="currentpage"){queueMicrotask(()=>{this.isConnected&&this._paginateTable()});return}(e==="page-size"||e==="with-filtering-search"||e==="with-pagination")&&this._scheduleTableRefresh()}}render(){const e=Math.ceil(this.totalRows/this.pageSize);return m`
2
+ ${this.filteringSearch?m`
3
+ <div style="margin-bottom: 12px;">
4
+ <scb-search
5
+ value=${this.searchTerm}
6
+ @input=${r=>this._onSearchInput(r)}
7
+ />
8
+ </div>
9
+ `:""}
10
+ ${this.noScroll?m`<slot @slotchange=${this._onSlotChange}></slot>`:m`
11
+ <div class="scb-table-scroll-wrapper">
12
+ <slot @slotchange=${this._onSlotChange}></slot>
13
+ </div>
14
+ `}
15
+ <div class="pagination">
16
+ ${this.pagination&&e>1?m`
17
+ <scb-pagination
18
+ .page=${this.currentPage}
19
+ .totalPages=${e}
20
+ @page-change=${this._onPaginationChange}
21
+ variant="icon"
22
+ ></scb-pagination>
23
+ `:""}
24
+ </div>
25
+ `}_onSearchInput(e){const r=e.target.value;this.searchTerm=r,this._filterTable(),this.dispatchEvent(new CustomEvent("tableadvancedchange",{detail:{searchTerm:this.searchTerm,currentPage:this.currentPage},bubbles:!0,composed:!0}))}_filterTable(){const e=this.shadowRoot.querySelector("slot");if(!e)return;const r=e.assignedNodes({flatten:!0});let o=null;if(r.forEach(i=>{if(i.nodeType===Node.ELEMENT_NODE){const s=i.querySelector("tbody");s&&(o=s)}}),!o)return;const l=Array.from(o.querySelectorAll("tr")),t=this.searchTerm.trim().toLowerCase();if(!t)this._filteredRows=null,l.forEach(i=>i.style.display=""),this._updateTotalRows(),this._ensureCurrentPageWithinBounds(),this.pagination&&this._paginateTable(),this._sortedColumn!==null&&this._sortTable(this._sortedColumn,this._sortDirection);else{this._filteredRows=l.filter(s=>(s.textContent?.toLowerCase()??"").includes(t)),l.forEach(s=>s.style.display="none");let i=this._filteredRows;this._sortedColumn!==null&&(i=[...i],i.sort((s,c)=>{const n=s.children[this._sortedColumn]?.textContent?.trim()??"",a=c.children[this._sortedColumn]?.textContent?.trim()??"",d=Date.parse(n.replace(/\s+/g," ")),b=Date.parse(a.replace(/\s+/g," "));if(!isNaN(d)&&!isNaN(b))return this._sortDirection==="asc"?d-b:b-d;const f=parseFloat(n.replace(",",".")),y=parseFloat(a.replace(",","."));if(!isNaN(f)&&!isNaN(y))return this._sortDirection==="asc"?f-y:y-f;const _=n.localeCompare(a,"sv");return this._sortDirection==="asc"?_:-_}),this._filteredRows=i),this.totalRows=this._filteredRows.length,this._ensureCurrentPageWithinBounds(),this.pagination?this._paginateTable():this._filteredRows.forEach(s=>s.style.display="")}}firstUpdated(){const e=this.shadowRoot.querySelector("slot");e&&(e.addEventListener("slotchange",()=>this._attachThListeners()),this._attachThListeners(),this._attachTbodyObserver(),this._refreshFromTableContent())}updated(e){super.updated(e),(e.has("searchTerm")||e.has("currentPage")||e.has("pageSize")||e.has("filteringSearch")||e.has("pagination"))&&this.updateComplete.then(()=>{this.isConnected&&this._refreshFromTableContent()})}_disconnectTbodyObserver(){this._tbodyObserver&&(this._tbodyObserver.disconnect(),this._tbodyObserver=null),this._observedTbody=null}_attachTbodyObserver(){const e=this._getTbody();if(!e){this._disconnectTbodyObserver();return}this._observedTbody!==e&&(this._disconnectTbodyObserver(),this._observedTbody=e,this._tbodyObserver=new MutationObserver(()=>{this._suppressTbodyObserver||this._scheduleTableRefresh()}),this._tbodyObserver.observe(e,{childList:!0,subtree:!0,characterData:!0}))}_scheduleTableRefresh(){this._pendingTableRefresh||(this._pendingTableRefresh=!0,queueMicrotask(()=>{this._pendingTableRefresh=!1,this._refreshFromTableContent()}))}_refreshFromTableContent(){if(this._attachTbodyObserver(),this.filteringSearch){this._filterTable();return}if(this._updateTotalRows(),this._ensureCurrentPageWithinBounds(),this._sortedColumn!==null){this._sortTable(this._sortedColumn,this._sortDirection);return}this.pagination&&this._paginateTable()}_ensureCurrentPageWithinBounds(){const e=Math.max(1,Math.ceil(this.totalRows/this.pageSize)),r=Math.min(Math.max(1,this.currentPage),e);r!==this.currentPage&&(this.currentPage=r)}_getTbody(){const e=this.shadowRoot.querySelector("slot");if(!e)return null;const r=e.assignedNodes({flatten:!0});for(const o of r)if(o.nodeType===Node.ELEMENT_NODE){const h=o.querySelector("tbody");if(h)return h}return null}_attachThListeners(){const e=this.shadowRoot.querySelector("slot");if(!e)return;const r=e.assignedNodes({flatten:!0}),o=[],h=[],l=[];r.forEach(t=>{t.nodeType===Node.ELEMENT_NODE&&(o.push(...t.querySelectorAll("th")),h.push(...t.querySelectorAll("td")),l.push(...t.querySelectorAll("tr")))}),o.forEach((t,i)=>{t.style.textAlign="left",t.style.padding="16px 0px 16px 32px",t.style.position="relative",t.style.backgroundColor="var(--md-sys-color-surface)",t.style.fontFamily="var(--md-sys-typescale-label-medium-font)",t.style.fontSize="var(--md-sys-typescale-label-medium-size)",t.style.lineHeight="var(--md-sys-typescale-label-medium-line-height)",t.style.fontWeight="var(--md-sys-typescale-label-medium-weight)",t.style.letterSpacing="var(--md-sys-typescale-label-medium-tracking)",t.style.verticalAlign="bottom";const s=t.firstChild;if(s&&s.nodeType===Node.TEXT_NODE&&s.textContent?.trim()||s&&s.nodeType===Node.ELEMENT_NODE&&s.tagName.toLowerCase()!=="p"){const n=document.createElement("p");n.textContent=s.textContent?s.textContent.trim():"",n.style.margin="0",t.replaceChild(n,s),t.querySelectorAll("scb-icon-button.scb-sort-icon").forEach(d=>d.remove());const a=document.createElement("scb-icon-button");a.className="scb-sort-icon",a.onclick=()=>this._onThClick(i),a.setAttribute("variant","standard"),a.setAttribute("size","small"),this._sortedColumn===i?(a.setAttribute("variant","filled-tonal"),a.setAttribute("icon",this._sortDirection==="asc"?"arrow_downward":"arrow_upward")):(a.setAttribute("icon","swap_horiz"),a.style.transform+=" rotate(90deg)",a.style.alignSelf="end");var c=document.createElement("div");c.style.display="flex",c.style.gap="8px",c.style.flexWrap="nowrap",c.style.alignItems="center",c.appendChild(n),c.appendChild(a),t.appendChild(c)}}),h.forEach(t=>{t.style.padding="16px 0px 16px 32px",t.style.textAlign="left",t.style.borderTop="1px solid var(--md-sys-color-outline-variant)",t.style.verticalAlign="text-top",t.style.backgroundColor="var(--md-sys-color-surface)",t.style.fontFamily="var(--md-sys-typescale-body-medium-font)",t.style.fontSize="var(--md-sys-typescale-body-medium-size)",t.style.lineHeight="var(--md-sys-typescale-body-medium-line-height)",t.style.fontWeight="var(--md-sys-typescale-body-medium-weight)",t.style.letterSpacing="var(--md-sys-typescale-body-medium-tracking)"}),l.forEach((t,i)=>{i%2===1&&t.querySelectorAll("td").forEach(n=>{n.style.backgroundColor="var(--scb-background-row)"});const s=t.querySelectorAll("th");s.length>0&&s.forEach((n,a)=>{a===0&&(n.style.paddingLeft="24px"),a===s.length-1?n.style.paddingRight="24px":n.style.paddingRight=""});const c=t.querySelectorAll("td");c.length>0&&c.forEach((n,a)=>{a===0&&(n.style.paddingLeft="24px"),a===c.length-1?n.style.paddingRight="24px":n.style.paddingRight=""})}),this.pagination&&this._paginateTable()}_onThClick(e){this._sortedColumn===e?this._sortDirection=this._sortDirection==="asc"?"desc":"asc":(this._sortedColumn=e,this._sortDirection="asc"),this._sortTable(e,this._sortDirection),this._attachThListeners()}_sortTable(e,r){const o=this.shadowRoot.querySelector("slot");if(!o)return;const h=o.assignedNodes({flatten:!0});let l=null;if(h.forEach(s=>{if(s.nodeType===Node.ELEMENT_NODE){const c=s.querySelector("tbody");c&&(l=c)}}),!l)return;let t;this._filteredRows?t=[...this._filteredRows]:t=Array.from(l.querySelectorAll("tr")),t.sort((s,c)=>{const n=s.children[e]?.textContent?.trim()??"",a=c.children[e]?.textContent?.trim()??"",d=Date.parse(n.replace(/\s+/g," ")),b=Date.parse(a.replace(/\s+/g," "));if(!isNaN(d)&&!isNaN(b))return r==="asc"?d-b:b-d;const f=parseFloat(n.replace(",",".")),y=parseFloat(a.replace(",","."));if(!isNaN(f)&&!isNaN(y))return r==="asc"?f-y:y-f;const _=n.localeCompare(a,"sv");return r==="asc"?_:-_});const i=this._tbodyObserver!==null;i&&this._disconnectTbodyObserver();try{t.forEach(s=>l.appendChild(s))}finally{i&&this._attachTbodyObserver()}this._filteredRows&&(this._filteredRows=t,this.totalRows=this._filteredRows.length),this.pagination&&this._paginateTable()}_updateTotalRows(){const e=this.shadowRoot.querySelector("slot");if(!e)return;const r=e.assignedNodes({flatten:!0});let o=null;r.forEach(h=>{if(h.nodeType===Node.ELEMENT_NODE){const l=h.querySelector("tbody");l&&(o=l)}}),o&&(this.totalRows=o.querySelectorAll("tr").length,this._ensureCurrentPageWithinBounds())}_paginateTable(){const e=this.shadowRoot.querySelector("slot");if(!e)return;const r=e.assignedNodes({flatten:!0});let o=null;if(r.forEach(i=>{if(i.nodeType===Node.ELEMENT_NODE){const s=i.querySelector("tbody");s&&(o=s)}}),!o)return;let h;this._filteredRows?h=this._filteredRows:h=Array.from(o.querySelectorAll("tr")),Array.from(o.querySelectorAll("tr")).forEach(i=>i.style.display="none");const l=(this.currentPage-1)*this.pageSize,t=l+this.pageSize;h.slice(l,t).forEach(i=>i.style.display="")}_changePage(e){const r=Math.ceil(this.totalRows/this.pageSize);e<1||e>r||(this.currentPage=e,this._paginateTable(),this.dispatchEvent(new CustomEvent("tableadvancedchange",{detail:{searchTerm:this.searchTerm,currentPage:this.currentPage},bubbles:!0,composed:!0})),this.requestUpdate())}},T.styles=C`
26
+ :host {
27
+ display: block;
28
+ color: var(--md-sys-color-on-surface);
29
+ font-family: var(--brand, Inter);
30
+ --scb-background-row: var(--md-sys-color-surface);
31
+ }
32
+ scb-search{
33
+ max-width: 400px;
34
+ }
35
+ .scb-table-scroll-wrapper {
36
+ width: 100%;
37
+ overflow-x: auto;
38
+ overflow-y: auto;
39
+ max-width: 100%;
40
+ padding-bottom: 24px;
41
+ /* Optional: set max-height if you want vertical scroll */
42
+ }
43
+ .scb-table-scroll-wrapper::-webkit-scrollbar {
44
+ border-radius: var(--md-sys-shape-corner-large);
45
+ height: 8px;
46
+ width: 10px;
47
+ }
48
+ .scb-table-scroll-wrapper::-webkit-scrollbar-thumb {
49
+ background: var(--md-sys-color-on-surface);
50
+ border-radius: var(--md-sys-shape-corner-large);
51
+ cursor: pointer;
52
+ }
53
+ .scb-table-scroll-wrapper::-webkit-scrollbar-track {
54
+ background: var(--md-sys-color-secondary-container);
55
+ border-radius: var(--md-sys-shape-corner-large);
56
+ }
57
+ ::slotted(table) {
58
+ border-collapse: collapse;
59
+ border-spacing: 0;
60
+ border-radius: 24px;
61
+ min-width: 100%;
62
+ overflow: hidden;
63
+ /* Remove overflow: hidden to allow scroll */
64
+ }
65
+ .pagination {
66
+ margin-top: 16px;
67
+ display: flex;
68
+ justify-self: center;
69
+ }
70
+ ::slotted(th) .scb-sort-icon {
71
+ pointer-events: none;
72
+ }
73
+ ::slotted(th:hover) .scb-sort-icon {
74
+ pointer-events: auto;
75
+ }
76
+ `,T);p([g({type:String})],u.prototype,"searchTerm",void 0);p([g({type:Boolean,attribute:"with-pagination"})],u.prototype,"pagination",void 0);p([g({type:Boolean,attribute:"with-filtering-search"})],u.prototype,"filteringSearch",void 0);p([g({type:Boolean,attribute:"no-scroll"})],u.prototype,"noScroll",void 0);p([g({type:Number,attribute:"page-size"})],u.prototype,"pageSize",void 0);p([g({type:Number})],u.prototype,"currentPage",void 0);p([g({type:Number})],u.prototype,"totalRows",void 0);u=p([E("scb-table-advanced")],u);