scb-wc 0.1.3 → 0.1.4

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 (339) hide show
  1. package/README.md +194 -164
  2. package/all.js +91 -5
  3. package/blazor/CustomEvents.cs +83 -0
  4. package/blazor/ScbBlazorInteropBase.cs +4460 -1674
  5. package/blazor/scb-blazor-bridge.js +6827 -2805
  6. package/blazor/wrappers/ScbAccordion.razor +50 -0
  7. package/blazor/wrappers/ScbAppBar.razor +95 -0
  8. package/blazor/wrappers/ScbBreadcrumb.razor +59 -0
  9. package/blazor/wrappers/ScbCalendar.razor +100 -0
  10. package/blazor/wrappers/ScbCalendarCard.razor +189 -0
  11. package/blazor/wrappers/ScbCheckbox.razor +92 -0
  12. package/blazor/wrappers/ScbCollapse.razor +76 -0
  13. package/blazor/wrappers/ScbCookiesConsent.razor +106 -0
  14. package/blazor/wrappers/ScbDatepicker.razor +77 -0
  15. package/blazor/wrappers/ScbDialog.razor +72 -0
  16. package/blazor/wrappers/ScbDrawer.razor +64 -0
  17. package/blazor/wrappers/ScbDropZone.razor +168 -0
  18. package/blazor/wrappers/ScbDropdown.razor +76 -0
  19. package/blazor/wrappers/ScbHorizontalScroller.razor +137 -0
  20. package/blazor/wrappers/ScbList.razor +77 -0
  21. package/blazor/wrappers/ScbMenu.razor +71 -0
  22. package/blazor/wrappers/ScbNav.razor +92 -0
  23. package/blazor/wrappers/ScbNotificationCard.razor +122 -0
  24. package/blazor/wrappers/ScbOptionsMenu.razor +88 -0
  25. package/blazor/wrappers/ScbPagination.razor +80 -0
  26. package/blazor/wrappers/ScbRadioGroup.razor +94 -0
  27. package/blazor/wrappers/ScbSearch.razor +83 -0
  28. package/blazor/wrappers/ScbSegmentedButton.razor +85 -0
  29. package/blazor/wrappers/ScbSelect.razor +79 -0
  30. package/blazor/wrappers/ScbSlider.razor +96 -0
  31. package/blazor/wrappers/ScbSnackbar.razor +93 -0
  32. package/blazor/wrappers/ScbSwitch.razor +92 -0
  33. package/blazor/wrappers/ScbTable.razor +67 -0
  34. package/blazor/wrappers/ScbTableAdvanced.razor +78 -0
  35. package/blazor/wrappers/ScbTabs.razor +55 -0
  36. package/blazor/wrappers/ScbTextfield.razor +104 -0
  37. package/blazor/wrappers/ScbTooltip.razor +88 -0
  38. package/blazor/wrappers/ScbViz.razor +142 -0
  39. package/demo-data-preview.svg +12 -0
  40. package/dummy.png +0 -0
  41. package/fonts/inter/files/inter-latin-wght-italic.woff2 +0 -0
  42. package/fonts/inter/files/inter-latin-wght-normal.woff2 +0 -0
  43. package/fonts/material-symbols-outlined/files/material-symbols-outlined-latin-wght-normal.woff2 +0 -0
  44. package/index.js +91 -1
  45. package/mvc/components/all.js +90 -1
  46. package/mvc/components/scb-accordion/scb-accordion-item.js +211 -0
  47. package/mvc/components/scb-accordion/scb-accordion.js +44 -0
  48. package/mvc/components/scb-app-bar/scb-app-bar.js +166 -0
  49. package/mvc/components/scb-avatar/scb-avatar.js +111 -0
  50. package/mvc/components/scb-badge/scb-badge.js +80 -0
  51. package/mvc/components/scb-breadcrumb/scb-breadcrumb-item.js +14 -0
  52. package/mvc/components/scb-breadcrumb/scb-breadcrumb.js +96 -0
  53. package/mvc/components/scb-button/scb-button.js +268 -0
  54. package/mvc/components/scb-calendar/scb-calendar-event.js +6 -0
  55. package/mvc/components/scb-calendar/scb-calendar.js +168 -0
  56. package/mvc/components/scb-calendar-card/scb-calendar-card.js +346 -0
  57. package/mvc/components/scb-card/scb-card.js +761 -0
  58. package/mvc/components/scb-checkbox/scb-checkbox-group.js +33 -0
  59. package/mvc/components/scb-checkbox/scb-checkbox.js +140 -0
  60. package/mvc/components/scb-chevron/scb-chevron.js +121 -0
  61. package/mvc/components/scb-chip/scb-chip.js +66 -0
  62. package/mvc/components/scb-collapse/scb-collapse.js +89 -0
  63. package/mvc/components/scb-cookies-consent/scb-cookies-consent.js +78 -0
  64. package/mvc/components/scb-datepicker/scb-datepicker.js +296 -0
  65. package/mvc/components/scb-dialog/scb-dialog.js +265 -0
  66. package/mvc/components/scb-divider/scb-divider.js +69 -0
  67. package/mvc/components/scb-drawer/scb-drawer.js +128 -0
  68. package/mvc/components/scb-drop-zone/scb-drop-zone.js +555 -0
  69. package/mvc/components/scb-dropdown/scb-dropdown.js +306 -0
  70. package/mvc/components/scb-fab/scb-fab.js +108 -0
  71. package/mvc/components/scb-fact-card/scb-fact-card-content.js +46 -0
  72. package/mvc/components/scb-fact-card/scb-fact-card.js +226 -0
  73. package/mvc/components/scb-footer/scb-footer-section.js +3 -0
  74. package/mvc/components/scb-footer/scb-footer.js +210 -0
  75. package/mvc/components/scb-gallery-grid/scb-gallery-grid.js +131 -0
  76. package/mvc/components/scb-grid/scb-grid-item.js +11 -0
  77. package/mvc/components/scb-grid/scb-grid.js +98 -0
  78. package/mvc/components/scb-grid/scb-stack.js +33 -0
  79. package/mvc/components/scb-header/scb-header-menu-group.js +1 -0
  80. package/mvc/components/scb-header/scb-header-menu-item.js +5 -0
  81. package/mvc/components/scb-header/scb-header-tab.js +5 -0
  82. package/mvc/components/scb-header/scb-header-utility.js +1 -0
  83. package/mvc/components/scb-header/scb-header.js +681 -0
  84. package/mvc/components/scb-horizontal-scroller/scb-horizontal-scroller.js +196 -0
  85. package/mvc/components/scb-icon-button/scb-icon-button.js +171 -0
  86. package/mvc/components/scb-keyfigure-card/scb-keyfigure-card.js +212 -0
  87. package/mvc/components/scb-link/scb-link.js +61 -0
  88. package/mvc/components/scb-list/scb-list-item.js +153 -0
  89. package/mvc/components/scb-list/scb-list.js +26 -0
  90. package/mvc/components/scb-menu/scb-menu-item.js +205 -0
  91. package/mvc/components/scb-menu/scb-menu-section.js +42 -0
  92. package/mvc/components/scb-menu/scb-menu.js +81 -0
  93. package/mvc/components/scb-menu/scb-sub-menu.js +10 -0
  94. package/mvc/components/scb-nav/scb-nav-item.js +28 -0
  95. package/mvc/components/scb-nav/scb-nav.js +104 -0
  96. package/mvc/components/scb-notification-card/scb-notification-card.js +358 -0
  97. package/mvc/components/scb-options-menu/scb-options-menu-item.js +66 -0
  98. package/mvc/components/scb-options-menu/scb-options-menu.js +88 -0
  99. package/mvc/components/scb-options-menu/scb-options-sub-menu.js +34 -0
  100. package/mvc/components/scb-overlay/scb-overlay.js +49 -0
  101. package/mvc/components/scb-pagination/scb-pagination.js +312 -0
  102. package/mvc/components/scb-progress-indicator/scb-progress-indicator.js +87 -0
  103. package/mvc/components/scb-progress-stepper/scb-progress-step.js +147 -0
  104. package/mvc/components/scb-progress-stepper/scb-progress-stepper.js +62 -0
  105. package/mvc/components/scb-radio-button/scb-radio-button.js +132 -0
  106. package/mvc/components/scb-radio-button/scb-radio-group.js +43 -0
  107. package/mvc/components/scb-scrollspy/scb-scrollspy.js +79 -0
  108. package/mvc/components/scb-search/scb-search.js +292 -0
  109. package/mvc/components/scb-segmented-button/scb-segmented-button.js +32 -0
  110. package/mvc/components/scb-segmented-button/scb-segmented-item.js +74 -0
  111. package/mvc/components/scb-select/scb-select-option.js +61 -0
  112. package/mvc/components/scb-select/scb-select.js +284 -0
  113. package/mvc/components/scb-skeleton/scb-skeleton.js +38 -0
  114. package/mvc/components/scb-slider/scb-slider.js +27 -0
  115. package/mvc/components/scb-snackbar/scb-snackbar.js +128 -0
  116. package/mvc/components/scb-status-pill/scb-status-pill.js +45 -0
  117. package/mvc/components/scb-stepper/scb-step.js +239 -0
  118. package/mvc/components/scb-stepper/scb-stepper.js +139 -0
  119. package/mvc/components/scb-switch/scb-switch.js +59 -0
  120. package/mvc/components/scb-table/scb-table.js +51 -0
  121. package/mvc/components/scb-table-advanced/scb-table-advanced.js +76 -0
  122. package/mvc/components/scb-tabs/scb-primary-tab.js +6 -0
  123. package/mvc/components/scb-tabs/scb-secondary-tab.js +6 -0
  124. package/mvc/components/scb-tabs/scb-tabs.js +28 -0
  125. package/mvc/components/scb-textfield/scb-textfield.js +595 -0
  126. package/mvc/components/scb-toc/scb-toc-item.js +303 -0
  127. package/mvc/components/scb-toc/scb-toc.js +19 -0
  128. package/mvc/components/scb-tooltip/scb-tooltip.js +196 -0
  129. package/mvc/components/scb-vignette/scb-vignette.js +37 -0
  130. package/mvc/components/scb-viz/scb-viz-actions-runtime.js +2 -0
  131. package/mvc/components/scb-viz/scb-viz-print-runtime.js +98 -0
  132. package/mvc/components/scb-viz/scb-viz-series-differentiation-registry.js +1 -0
  133. package/mvc/components/scb-viz/scb-viz-series-differentiation-runtime.js +1 -0
  134. package/mvc/components/scb-viz/scb-viz-table-runtime.js +1 -0
  135. package/mvc/components/scb-viz/scb-viz.js +1140 -0
  136. package/mvc/fonts/inter/files/inter-latin-wght-italic.woff2 +0 -0
  137. package/mvc/fonts/inter/files/inter-latin-wght-normal.woff2 +0 -0
  138. package/mvc/fonts/material-symbols-outlined/files/material-symbols-outlined-latin-wght-normal.woff2 +0 -0
  139. package/mvc/scb-blazor-bridge.js +6827 -2805
  140. package/mvc/scb-logo.svg +20 -20
  141. package/mvc/scb-typography.css +1 -1
  142. package/mvc/scb-wc.css +3 -2
  143. package/mvc/scb.svg +13 -13
  144. package/mvc/vendor/assertClassBrand.js +1 -0
  145. package/mvc/vendor/classPrivateFieldGet2.js +1 -0
  146. package/mvc/vendor/decorate.js +1 -0
  147. package/mvc/vendor/preload-helper.js +1 -0
  148. package/mvc/vendor/vendor-lit.js +1 -0
  149. package/mvc/vendor/vendor-material.js +364 -0
  150. package/mvc/vendor/vendor.js +4 -0
  151. package/package.json +420 -77
  152. package/scb-accordion/scb-accordion-item.js +340 -0
  153. package/scb-accordion/scb-accordion.js +151 -0
  154. package/scb-app-bar/scb-app-bar.js +317 -0
  155. package/scb-avatar/scb-avatar.js +197 -0
  156. package/scb-badge/scb-badge.js +165 -0
  157. package/scb-breadcrumb/scb-breadcrumb-item.js +62 -0
  158. package/scb-breadcrumb/scb-breadcrumb.js +255 -0
  159. package/scb-button/scb-button.js +398 -0
  160. package/scb-calendar/scb-calendar-event.js +48 -0
  161. package/scb-calendar/scb-calendar.js +700 -0
  162. package/scb-calendar-card/scb-calendar-card.js +505 -0
  163. package/scb-card/scb-card.js +1231 -0
  164. package/scb-checkbox/scb-checkbox-group.js +104 -0
  165. package/scb-checkbox/scb-checkbox.js +316 -0
  166. package/scb-chevron/scb-chevron.js +144 -0
  167. package/scb-chip/scb-chip.js +234 -0
  168. package/scb-collapse/scb-collapse.js +231 -0
  169. package/scb-cookies-consent/scb-cookies-consent.js +164 -0
  170. package/scb-datepicker/scb-datepicker.js +470 -0
  171. package/scb-dialog/scb-dialog.js +574 -0
  172. package/scb-divider/scb-divider.js +119 -0
  173. package/scb-drawer/scb-drawer.js +297 -0
  174. package/scb-drop-zone/scb-drop-zone.js +965 -0
  175. package/scb-dropdown/scb-dropdown.js +598 -0
  176. package/scb-fab/scb-fab.js +190 -0
  177. package/scb-fact-card/scb-fact-card-content.js +82 -0
  178. package/scb-fact-card/scb-fact-card.js +376 -0
  179. package/scb-footer/scb-footer-section.js +23 -0
  180. package/scb-footer/scb-footer.js +343 -0
  181. package/scb-gallery-grid/scb-gallery-grid.js +242 -0
  182. package/scb-grid/scb-grid-item.js +81 -0
  183. package/scb-grid/scb-grid.js +200 -0
  184. package/scb-grid/scb-stack.js +120 -0
  185. package/scb-header/scb-header-menu-group.js +21 -0
  186. package/scb-header/scb-header-menu-item.js +22 -0
  187. package/scb-header/scb-header-tab.js +25 -0
  188. package/scb-header/scb-header-utility.js +27 -0
  189. package/scb-header/scb-header.js +1358 -0
  190. package/scb-horizontal-scroller/scb-horizontal-scroller.js +353 -0
  191. package/scb-icon-button/scb-icon-button.js +335 -0
  192. package/scb-keyfigure-card/scb-keyfigure-card.js +340 -0
  193. package/scb-link/scb-link.js +136 -0
  194. package/scb-list/scb-list-item.js +297 -0
  195. package/scb-list/scb-list.js +119 -0
  196. package/scb-menu/scb-menu-item.js +330 -0
  197. package/scb-menu/scb-menu-section.js +60 -0
  198. package/scb-menu/scb-menu.js +154 -0
  199. package/scb-menu/scb-sub-menu.js +36 -0
  200. package/scb-nav/scb-nav-item.js +96 -0
  201. package/scb-nav/scb-nav.js +263 -0
  202. package/scb-notification-card/scb-notification-card.js +479 -0
  203. package/scb-options-menu/scb-options-menu-item.js +218 -0
  204. package/scb-options-menu/scb-options-menu.js +237 -0
  205. package/scb-options-menu/scb-options-sub-menu.js +69 -0
  206. package/scb-overlay/scb-overlay.js +144 -0
  207. package/scb-pagination/scb-pagination.js +438 -0
  208. package/scb-progress-indicator/scb-progress-indicator.js +199 -0
  209. package/scb-progress-stepper/scb-progress-step.js +213 -0
  210. package/scb-progress-stepper/scb-progress-stepper.js +132 -0
  211. package/scb-radio-button/scb-radio-button.js +249 -0
  212. package/scb-radio-button/scb-radio-group.js +216 -0
  213. package/scb-scrollspy/scb-scrollspy.js +670 -0
  214. package/scb-search/scb-search.js +643 -0
  215. package/scb-segmented-button/scb-segmented-button.js +215 -0
  216. package/scb-segmented-button/scb-segmented-item.js +133 -0
  217. package/scb-select/scb-select-option.js +88 -0
  218. package/scb-select/scb-select.js +517 -0
  219. package/scb-skeleton/scb-skeleton.js +92 -0
  220. package/scb-slider/scb-slider.js +98 -0
  221. package/scb-snackbar/scb-snackbar.js +223 -0
  222. package/scb-status-pill/scb-status-pill.js +100 -0
  223. package/scb-stepper/scb-step.js +311 -0
  224. package/scb-stepper/scb-stepper.js +325 -0
  225. package/scb-switch/scb-switch.js +182 -0
  226. package/scb-table/scb-table.js +202 -0
  227. package/scb-table-advanced/scb-table-advanced.js +327 -0
  228. package/scb-tabs/scb-primary-tab.js +68 -0
  229. package/scb-tabs/scb-secondary-tab.js +68 -0
  230. package/scb-tabs/scb-tabs.js +100 -0
  231. package/scb-test-components/index.d.ts +90 -0
  232. package/scb-test-components/scb-accordion/scb-accordion-item.d.ts +39 -0
  233. package/scb-test-components/scb-accordion/scb-accordion.d.ts +27 -0
  234. package/scb-test-components/scb-app-bar/scb-app-bar.d.ts +25 -0
  235. package/scb-test-components/scb-avatar/scb-avatar.d.ts +37 -0
  236. package/scb-test-components/scb-badge/scb-badge.d.ts +28 -0
  237. package/scb-test-components/scb-breadcrumb/scb-breadcrumb-item.d.ts +15 -0
  238. package/scb-test-components/scb-breadcrumb/scb-breadcrumb.d.ts +27 -0
  239. package/scb-test-components/scb-button/scb-button.d.ts +40 -0
  240. package/scb-test-components/scb-calendar/scb-calendar-event.d.ts +15 -0
  241. package/scb-test-components/scb-calendar/scb-calendar.d.ts +77 -0
  242. package/scb-test-components/scb-calendar-card/scb-calendar-card.d.ts +45 -0
  243. package/scb-test-components/scb-card/scb-card.d.ts +101 -0
  244. package/scb-test-components/scb-checkbox/scb-checkbox-group.d.ts +23 -0
  245. package/scb-test-components/scb-checkbox/scb-checkbox.d.ts +52 -0
  246. package/scb-test-components/scb-chevron/scb-chevron.d.ts +13 -0
  247. package/scb-test-components/scb-chip/scb-chip.d.ts +61 -0
  248. package/scb-test-components/scb-collapse/scb-collapse.d.ts +29 -0
  249. package/scb-test-components/scb-cookies-consent/scb-cookies-consent.d.ts +23 -0
  250. package/scb-test-components/scb-datepicker/scb-datepicker.d.ts +39 -0
  251. package/scb-test-components/scb-dialog/scb-dialog.d.ts +72 -0
  252. package/scb-test-components/scb-divider/scb-divider.d.ts +34 -0
  253. package/scb-test-components/scb-drawer/scb-drawer.d.ts +72 -0
  254. package/scb-test-components/scb-drop-zone/scb-drop-zone.d.ts +143 -0
  255. package/scb-test-components/scb-dropdown/scb-dropdown.d.ts +70 -0
  256. package/scb-test-components/scb-fab/scb-fab.d.ts +42 -0
  257. package/scb-test-components/scb-fact-card/scb-fact-card-content.d.ts +15 -0
  258. package/scb-test-components/scb-fact-card/scb-fact-card.d.ts +49 -0
  259. package/scb-test-components/scb-footer/scb-footer-section.d.ts +20 -0
  260. package/scb-test-components/scb-footer/scb-footer.d.ts +31 -0
  261. package/scb-test-components/scb-gallery-grid/scb-gallery-grid.d.ts +20 -0
  262. package/scb-test-components/scb-grid/scb-grid-item.d.ts +32 -0
  263. package/scb-test-components/scb-grid/scb-grid.d.ts +36 -0
  264. package/scb-test-components/scb-grid/scb-stack.d.ts +32 -0
  265. package/scb-test-components/scb-header/scb-header-menu-group.d.ts +12 -0
  266. package/scb-test-components/scb-header/scb-header-menu-item.d.ts +13 -0
  267. package/scb-test-components/scb-header/scb-header-tab.d.ts +13 -0
  268. package/scb-test-components/scb-header/scb-header-utility.d.ts +14 -0
  269. package/scb-test-components/scb-header/scb-header.d.ts +132 -0
  270. package/scb-test-components/scb-horizontal-scroller/scb-horizontal-scroller.d.ts +47 -0
  271. package/scb-test-components/scb-icon-button/scb-icon-button.d.ts +76 -0
  272. package/scb-test-components/scb-keyfigure-card/scb-keyfigure-card.d.ts +46 -0
  273. package/scb-test-components/scb-link/scb-link.d.ts +25 -0
  274. package/scb-test-components/scb-list/scb-list-item.d.ts +38 -0
  275. package/scb-test-components/scb-list/scb-list.d.ts +26 -0
  276. package/scb-test-components/scb-menu/scb-menu-item.d.ts +52 -0
  277. package/scb-test-components/scb-menu/scb-menu-section.d.ts +11 -0
  278. package/scb-test-components/scb-menu/scb-menu.d.ts +25 -0
  279. package/scb-test-components/scb-menu/scb-sub-menu.d.ts +14 -0
  280. package/scb-test-components/scb-nav/scb-nav-item.d.ts +20 -0
  281. package/scb-test-components/scb-nav/scb-nav.d.ts +50 -0
  282. package/scb-test-components/scb-notification-card/scb-notification-card.d.ts +46 -0
  283. package/scb-test-components/scb-options-menu/scb-options-menu-item.d.ts +29 -0
  284. package/scb-test-components/scb-options-menu/scb-options-menu.d.ts +35 -0
  285. package/scb-test-components/scb-options-menu/scb-options-sub-menu.d.ts +11 -0
  286. package/scb-test-components/scb-overlay/scb-overlay.d.ts +24 -0
  287. package/scb-test-components/scb-pagination/scb-pagination.d.ts +36 -0
  288. package/scb-test-components/scb-progress-indicator/scb-progress-indicator.d.ts +28 -0
  289. package/scb-test-components/scb-progress-stepper/scb-progress-step.d.ts +21 -0
  290. package/scb-test-components/scb-progress-stepper/scb-progress-stepper.d.ts +22 -0
  291. package/scb-test-components/scb-radio-button/scb-radio-button.d.ts +26 -0
  292. package/scb-test-components/scb-radio-button/scb-radio-group.d.ts +49 -0
  293. package/scb-test-components/scb-scrollspy/scb-scrollspy.d.ts +217 -0
  294. package/scb-test-components/scb-search/scb-search.d.ts +96 -0
  295. package/scb-test-components/scb-segmented-button/scb-segmented-button.d.ts +80 -0
  296. package/scb-test-components/scb-segmented-button/scb-segmented-item.d.ts +21 -0
  297. package/scb-test-components/scb-select/scb-select-option.d.ts +16 -0
  298. package/scb-test-components/scb-select/scb-select.d.ts +62 -0
  299. package/scb-test-components/scb-skeleton/scb-skeleton.d.ts +25 -0
  300. package/scb-test-components/scb-slider/scb-slider.d.ts +28 -0
  301. package/scb-test-components/scb-snackbar/scb-snackbar.d.ts +24 -0
  302. package/scb-test-components/scb-status-pill/scb-status-pill.d.ts +22 -0
  303. package/scb-test-components/scb-stepper/scb-step.d.ts +22 -0
  304. package/scb-test-components/scb-stepper/scb-stepper.d.ts +47 -0
  305. package/scb-test-components/scb-switch/scb-switch.d.ts +52 -0
  306. package/scb-test-components/scb-table/scb-table.d.ts +24 -0
  307. package/scb-test-components/scb-table-advanced/scb-table-advanced.d.ts +39 -0
  308. package/scb-test-components/scb-tabs/scb-primary-tab.d.ts +15 -0
  309. package/scb-test-components/scb-tabs/scb-secondary-tab.d.ts +15 -0
  310. package/scb-test-components/scb-tabs/scb-tabs.d.ts +21 -0
  311. package/scb-test-components/scb-textfield/scb-textfield.d.ts +75 -0
  312. package/scb-test-components/scb-toc/scb-toc-item.d.ts +38 -0
  313. package/scb-test-components/scb-toc/scb-toc.d.ts +27 -0
  314. package/scb-test-components/scb-tooltip/scb-tooltip.d.ts +51 -0
  315. package/scb-test-components/scb-vignette/scb-vignette.d.ts +20 -0
  316. package/scb-test-components/scb-viz/scb-viz-actions-runtime.d.ts +26 -0
  317. package/scb-test-components/scb-viz/scb-viz-print-runtime.d.ts +27 -0
  318. package/scb-test-components/scb-viz/scb-viz-series-differentiation-registry.d.ts +21 -0
  319. package/scb-test-components/scb-viz/scb-viz-series-differentiation-runtime.d.ts +42 -0
  320. package/scb-test-components/scb-viz/scb-viz-table-runtime.d.ts +28 -0
  321. package/scb-test-components/scb-viz/scb-viz.d.ts +207 -0
  322. package/scb-textfield/scb-textfield.js +827 -0
  323. package/scb-toc/scb-toc-item.js +477 -0
  324. package/scb-toc/scb-toc.js +101 -0
  325. package/scb-tooltip/scb-tooltip.js +402 -0
  326. package/scb-typography.css +1 -1
  327. package/scb-vignette/scb-vignette.js +88 -0
  328. package/scb-viz/scb-viz-actions-runtime.js +143 -0
  329. package/scb-viz/scb-viz-print-runtime.js +121 -0
  330. package/scb-viz/scb-viz-series-differentiation-registry.js +117 -0
  331. package/scb-viz/scb-viz-series-differentiation-runtime.js +126 -0
  332. package/scb-viz/scb-viz-table-runtime.js +86 -0
  333. package/scb-viz/scb-viz.js +2195 -0
  334. package/scb-wc-selfhost.css +29 -0
  335. package/scb-wc.bundle.js +12893 -1099
  336. package/scb-wc.css +3 -2
  337. package/scb-wc.d.ts +180 -0
  338. package/index.d.ts +0 -0
  339. package/mvc/components/index.js +0 -1
@@ -0,0 +1,61 @@
1
+ import"../../vendor/vendor-material.js";import{_ as u,b as v,g as y,h as n,s as a,y as m}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as s}from"../../vendor/decorate.js";import{n as k,t as b}from"../../vendor/assertClassBrand.js";import{n as _,r as S,t as x}from"../../vendor/classPrivateFieldGet2.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(i,o,c){try{customElements.get(i)||t(i,o,c)}catch(h){var g=String(h||"");if(g.indexOf("already been used")===-1&&g.indexOf("NotSupportedError")===-1)throw h}}}}catch{}})();var l,p,d,e=(l=new WeakSet,p=new WeakMap,d=class extends u{constructor(...t){super(...t),k(this,l),S(this,p,void 0),this.href="",this.disabled=!1,this.ariaLabel="",this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,_(p,this,i=>{this.disabled&&(i.preventDefault(),i.stopPropagation())})}firstUpdated(){b(l,this,f).call(this)}updated(t){(t.has("spacing")||t.has("spacingTop")||t.has("spacingBottom")||t.has("spacingLeft")||t.has("spacingRight"))&&b(l,this,f).call(this)}mapSpacingToken(t){if(!t)return;const i=String(t).trim();if(i)return/^\d+$/.test(i)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(i,10)))})`:i}render(){const t=this.target==="_blank"&&!this.rel?"noopener noreferrer":this.rel;return m`
2
+ <a
3
+ part="anchor"
4
+ href=${a(this.disabled?void 0:this.href||void 0)}
5
+ target=${a(this.target)}
6
+ rel=${a(t)}
7
+ download=${a(this.download)}
8
+ aria-disabled=${this.disabled?"true":"false"}
9
+ aria-label=${a(this.ariaLabel||void 0)}
10
+ @click=${x(p,this)}
11
+ ><slot></slot></a>
12
+
13
+ <md-focus-ring></md-focus-ring>
14
+ `}},d.styles=v`
15
+ :host {
16
+ display: inline-block;
17
+ position: relative;
18
+ padding: var(--scb-link-focus-ring-gap, 4px);
19
+ font-family: var(--brand-font, inherit);
20
+ color: var(--md-sys-color-on-surface);
21
+ width: fit-content;
22
+ margin-block-start: var(--scb-link-spacing-block-start, 0);
23
+ margin-block-end: var(--scb-link-spacing-block-end, 0);
24
+ margin-inline-start: var(--scb-link-spacing-inline-start, 0);
25
+ margin-inline-end: var(--scb-link-spacing-inline-end, 0);
26
+ }
27
+
28
+ md-focus-ring {
29
+ position: absolute;
30
+ inset: 0;
31
+ pointer-events: none;
32
+ display: none;
33
+ border-radius: var(--scb-link-focus-ring-radius, var(--md-sys-shape-corner-small, 1px));
34
+ }
35
+
36
+ a {
37
+ text-decoration: var(--scb-link-decoration, underline);
38
+ text-underline-offset: var(--scb-link-underline-offset, .22em);
39
+ text-decoration-thickness: var(--scb-link-underline-thickness, 1px);
40
+
41
+ color: var(--scb-link-color, var(--md-sys-color-primary));
42
+ border-radius: var(--radius-2, 2px);
43
+ outline: none;
44
+ cursor: pointer;
45
+ transition: text-decoration-thickness .12s ease;
46
+
47
+ white-space: var(--scb-link-white-space, normal);
48
+ }
49
+ a:hover { text-decoration-thickness: var(--scb-link-hover-thickness, 2px); }
50
+ a:focus { outline: none; }
51
+
52
+ :host([disabled]) a {
53
+ pointer-events: none;
54
+ opacity: .64;
55
+ text-decoration: none;
56
+ cursor: default;
57
+ }
58
+ a:focus-visible + md-focus-ring {
59
+ display: block;
60
+ }
61
+ `,d);function f(){const r=this.mapSpacingToken(this.spacing),t=this.mapSpacingToken(this.spacingTop)??r,i=this.mapSpacingToken(this.spacingBottom)??r,o=this.mapSpacingToken(this.spacingLeft),c=this.mapSpacingToken(this.spacingRight);t?this.style.setProperty("--scb-link-spacing-block-start",t):this.style.removeProperty("--scb-link-spacing-block-start"),i?this.style.setProperty("--scb-link-spacing-block-end",i):this.style.removeProperty("--scb-link-spacing-block-end"),o?this.style.setProperty("--scb-link-spacing-inline-start",o):this.style.removeProperty("--scb-link-spacing-inline-start"),c?this.style.setProperty("--scb-link-spacing-inline-end",c):this.style.removeProperty("--scb-link-spacing-inline-end")}s([n({type:String,reflect:!0})],e.prototype,"href",void 0);s([n({type:String,reflect:!0})],e.prototype,"target",void 0);s([n({type:String,reflect:!0})],e.prototype,"rel",void 0);s([n({type:String,reflect:!0})],e.prototype,"download",void 0);s([n({type:Boolean,reflect:!0})],e.prototype,"disabled",void 0);s([n({type:String,attribute:"aria-label"})],e.prototype,"ariaLabel",void 0);s([n({type:String,reflect:!0})],e.prototype,"spacing",void 0);s([n({type:String,attribute:"spacing-top",reflect:!0})],e.prototype,"spacingTop",void 0);s([n({type:String,attribute:"spacing-bottom",reflect:!0})],e.prototype,"spacingBottom",void 0);s([n({type:String,attribute:"spacing-left",reflect:!0})],e.prototype,"spacingLeft",void 0);s([n({type:String,attribute:"spacing-right",reflect:!0})],e.prototype,"spacingRight",void 0);e=s([y("scb-link")],e);
@@ -0,0 +1,153 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../../vendor/vendor-material.js","../../vendor/vendor.js","../../vendor/vendor-lit.js","../scb-checkbox/scb-checkbox.js","../../vendor/assertClassBrand.js","../../vendor/classPrivateFieldGet2.js","../../vendor/decorate.js","../scb-checkbox/scb-checkbox-group.js","../scb-switch/scb-switch.js"])))=>i.map(i=>d[i]);
2
+ import"../../vendor/vendor-material.js";import{_ as L,b as E,g as T,h as e,v as n,y as o}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as i}from"../../vendor/decorate.js";import{n as z,t as w}from"../../vendor/assertClassBrand.js";import{t as x}from"../../vendor/preload-helper.js";import{n as h,r as v,t as u}from"../../vendor/classPrivateFieldGet2.js";(function(){try{var l=typeof globalThis<"u"?globalThis:window;if(!l.__scb_ce_guard_installed__){l.__scb_ce_guard_installed__=!0;var r=customElements.define.bind(customElements);customElements.define=function(a,s,c){try{customElements.get(a)||r(a,s,c)}catch(d){var m=String(d||"");if(m.indexOf("already been used")===-1&&m.indexOf("NotSupportedError")===-1)throw d}}}}catch{}})();var b,y,f,g,S,k,t=(b=new WeakMap,y=new WeakMap,f=new WeakMap,g=new WeakSet,S=new WeakMap,k=new WeakMap,class extends L{constructor(...r){super(...r),z(this,g),v(this,b,void 0),v(this,y,void 0),v(this,f,void 0),v(this,S,void 0),v(this,k,void 0),this.type="text",this.href="",this.itemHref="",this.target="",this.disabled=!1,this.label="",this.supportingText="",this.overline="",this.leading=!1,this.leadingVariant="",this.leadingIcon="",this.avatarLabel="",this.avatarAlt="",this.avatarVariant="icon",this.avatarSrc="",this.imgHrefImage="",this.trailing=!1,this.trailingVariant="",this.trailingIcon="",this.trailingSwitchLabel="",this.trailingSwitchWidth="",this.trailingSwitchSelected=!1,this.density=0,this.noDivider=!1,h(b,this,!1),h(y,this,!1),h(f,this,!1),this.onRowClick=()=>{if(this.type==="link"&&(this.href||this.itemHref))return;const a=this.shadowRoot?.querySelector("scb-checkbox"),s=this.shadowRoot?.querySelector("scb-switch");if(a&&(a.checked=!a.checked),s){const c=!this.trailingSwitchSelected;s.selected=c,w(g,this,V).call(this,c,!0)}},h(S,this,a=>{const s=a.detail?.selected,c=typeof s=="boolean"?s:a.currentTarget?.selected??!1;w(g,this,V).call(this,c,!0)}),h(k,this,a=>{if(!a.defaultPrevented&&(a.key==="Enter"||a.key===" ")){if(this.type==="link"){const s=this.shadowRoot?.querySelector("a[href]");if(s){a.preventDefault(),s.click();return}}a.preventDefault(),this.onRowClick()}})}static get styles(){return E`
3
+ :host {
4
+ border-bottom: var(--stroke-border, 1px) solid var(--md-sys-color-outline-variant);
5
+ margin-bottom: calc(var(--stroke-border, 1px) * -1);
6
+ outline: none;
7
+ position: relative;
8
+ color: var(--md-sys-color-on-surface);
9
+ font-family: var(--brand-font);
10
+ }
11
+
12
+ :host([no-divider]) { --stroke-border: 0px; }
13
+
14
+ md-focus-ring {
15
+ position: absolute;
16
+ inset: 0;
17
+ pointer-events: none;
18
+ display: none;
19
+ border-radius: var(--scb-list-item-focus-ring-radius, var(--md-sys-shape-corner-small, 8px));
20
+ }
21
+ :host(:focus-visible) md-focus-ring { display: block; }
22
+
23
+ .row {
24
+ display: flex;
25
+ align-items: center;
26
+ gap: var(--spacing-5, 16px);
27
+ padding-block: var(--spacing-7, 24px);
28
+ padding-inline: var(--spacing-5, 16px);
29
+ border-radius: var(--radius-none, 0px);
30
+ -webkit-tap-highlight-color: transparent;
31
+ position: relative;
32
+ overflow: hidden;
33
+ cursor: default;
34
+ }
35
+ :host([type="link"]) .row { cursor: pointer; }
36
+
37
+ :host([density="-2"]) .row,
38
+ :host-context([data-density="-2"]) .row {
39
+ padding-block: var(--spacing-5, 16px);
40
+ }
41
+ :host([density="-4"]) .row,
42
+ :host-context([data-density="-4"]) .row {
43
+ padding-block: var(--spacing-4, 12px);
44
+ }
45
+
46
+ md-ripple {
47
+ border-radius: inherit;
48
+ inset: 0;
49
+ position: absolute;
50
+ pointer-events: none;
51
+ }
52
+
53
+ .leading { align-self: center; display: grid; place-items: center; }
54
+ .img {
55
+ width: calc(var(--icon-size-extra-large, 36px) + var(--spacing-5, 16px));
56
+ height: calc(var(--icon-size-extra-large, 36px) + var(--spacing-5, 16px));
57
+ object-fit: contain;
58
+ border-radius: var(--radius-s, 8px);
59
+ filter: var(--scb-list-leading-image-filter, none);
60
+ }
61
+
62
+ .texts { display: grid; gap: var(--spacing-1, 2px); min-inline-size: 0; }
63
+
64
+ .overline {
65
+ font-family: var(--brand-font);
66
+ font-size: var(--md-sys-typescale-label-medium-size);
67
+ line-height: var(--md-sys-typescale-label-medium-line-height);
68
+ font-weight: var(--weight-regular);
69
+ letter-spacing: var(--md-sys-typescale-label-medium-tracking);
70
+ color: var(--md-sys-color-on-surface-variant);
71
+ }
72
+ .label {
73
+ font-family: var(--brand-font);
74
+ font-size: var(--md-sys-typescale-title-large-size);
75
+ line-height: var(--md-sys-typescale-title-large-line-height);
76
+ font-weight: var(--weight-semibold);
77
+ letter-spacing: var(--md-sys-typescale-title-large-tracking);
78
+ color: var(--md-sys-color-on-surface);
79
+ }
80
+ .supporting-text {
81
+ font-family: var(--brand-font);
82
+ font-size: var(--md-sys-typescale-body-medium-size);
83
+ line-height: var(--md-sys-typescale-body-medium-line-height);
84
+ font-weight: var(--weight-regular);
85
+ letter-spacing: var(--md-sys-typescale-body-medium-tracking);
86
+ color: var(--md-sys-color-on-surface-variant);
87
+ }
88
+
89
+
90
+ .trailing { margin-left: auto; align-self: center; display: flex; }
91
+ .trailing.trailing-switch {
92
+ justify-content: flex-end;
93
+ }
94
+ .trailing scb-checkbox { margin-inline-end: var(--scb-list-trailing-checkbox-nudge); }
95
+
96
+ :host([trailing-variant="checkbox"]) .row,
97
+ :host([trailing-variant="switch"]) .row {
98
+ cursor: pointer;
99
+ }
100
+
101
+ :host([disabled]) .row {
102
+ cursor: default;
103
+ }
104
+
105
+ .link {
106
+ text-decoration: none;
107
+ color: inherit;
108
+ display: flex;
109
+ width: 100%;
110
+ gap: 12px;
111
+ }
112
+ `}async firstUpdated(){await w(g,this,$).call(this),this.addEventListener("keydown",u(k,this))}updated(r){super.updated(r),(r.has("leading")||r.has("leadingVariant")||r.has("trailing")||r.has("trailingVariant")||r.has("type")||r.has("target"))&&w(g,this,$).call(this)}render(){const r=this.leading?(()=>{switch(this.leadingVariant){case"icon":return this.leadingIcon?o`<div class="leading"><md-icon>${this.leadingIcon}</md-icon></div>`:n;case"avatar":return o`
113
+ <div class="leading">
114
+ <scb-avatar
115
+ label=${this.avatarLabel}
116
+ alt=${this.avatarAlt}
117
+ src=${this.avatarVariant==="image"?this.avatarSrc:""}
118
+ size="medium"
119
+ shape="circular"
120
+ variant=${this.avatarVariant}
121
+ ></scb-avatar>
122
+ </div>
123
+ `;case"image":return this.imgHrefImage?o`<div class="leading"><img class="img" part="leading-image" src="${this.imgHrefImage}" alt="" /></div>`:n;default:return n}})():n,a=this.href||this.itemHref||"",s=this.target==="_blank"?"open_in_new":"chevron_right",c=this.label?`Välj ${this.label}`:"Välj",m=this.label?`Växla ${this.label}`:"Växla";let d=n;if(this.trailing)if(this.trailingVariant==="icon"){const p=this.trailingIcon||(this.type==="link"?s:"");d=p?o`<div class="trailing"><md-icon>${p}</md-icon></div>`:n}else this.trailingVariant==="checkbox"?d=o`
124
+ <div class="trailing">
125
+ <scb-checkbox
126
+ aria-label=${c}
127
+ @click=${p=>p.stopPropagation()}
128
+ ></scb-checkbox>
129
+ </div>`:this.trailingVariant==="switch"&&(d=o`
130
+ <div class="trailing trailing-switch" style=${this.trailingSwitchWidth?`inline-size: ${this.trailingSwitchWidth}; min-inline-size: ${this.trailingSwitchWidth};`:n}>
131
+ <scb-switch
132
+ .selected=${this.trailingSwitchSelected}
133
+ label=${this.trailingSwitchLabel||n}
134
+ aria-label=${m}
135
+ @click=${p=>p.stopPropagation()}
136
+ @change=${u(S,this)}
137
+ ></scb-switch>
138
+ </div>`);else this.type==="link"&&(d=o`<div class="trailing"><md-icon>${s}</md-icon></div>`);const I=this.type==="link"&&this.target==="_blank"?"noopener noreferrer":n,_=o`
139
+ ${r}
140
+ <div class="texts">
141
+ ${this.overline?o`<div class="overline">${this.overline}</div>`:n}
142
+ <div class="label">${this.label}</div>
143
+ ${this.supportingText?o`<div class="supporting-text">${this.supportingText}</div>`:n}
144
+ </div>
145
+ ${d}
146
+ `;return o`
147
+ <div class="row" @click=${this.onRowClick} ?inert=${this.disabled} aria-disabled=${this.disabled?"true":"false"}>
148
+ ${this.type==="link"&&a?o`<a class="link" href=${a} target=${this.target||n} rel=${I}>${_}</a>`:_}
149
+ ${this.type==="link"?o`<md-ripple></md-ripple>`:n}
150
+ </div>
151
+
152
+ <md-focus-ring></md-focus-ring>
153
+ `}});async function $(){const l=this.type==="link"&&(!this.trailing||this.trailingVariant==="icon");(this.leading&&this.leadingVariant==="icon"||this.trailing&&this.trailingVariant==="icon"||l)&&!u(b,this)&&(await x(()=>import("../../vendor/vendor-material.js").then(r=>r.p),__vite__mapDeps([0,1,2]),import.meta.url),h(b,this,!0)),this.trailing&&this.trailingVariant==="checkbox"&&!u(y,this)&&(await x(()=>import("../scb-checkbox/scb-checkbox.js"),__vite__mapDeps([3,4,5,6,0,1,2,7]),import.meta.url),h(y,this,!0)),this.trailing&&this.trailingVariant==="switch"&&!u(f,this)&&(await x(()=>import("../scb-switch/scb-switch.js"),__vite__mapDeps([8,4,6,0,1,2]),import.meta.url),h(f,this,!0))}function V(l,r){this.trailingSwitchSelected=l,r&&this.dispatchEvent(new CustomEvent("trailing-switch-change",{detail:{selected:l},bubbles:!0,composed:!0}))}i([e({type:String,reflect:!0,attribute:"type"})],t.prototype,"type",void 0);i([e({type:String})],t.prototype,"href",void 0);i([e({type:String,attribute:"item-href"})],t.prototype,"itemHref",void 0);i([e({type:String,attribute:"target"})],t.prototype,"target",void 0);i([e({type:Boolean,attribute:"disabled"})],t.prototype,"disabled",void 0);i([e({type:String,reflect:!0})],t.prototype,"label",void 0);i([e({type:String,attribute:"supporting-text"})],t.prototype,"supportingText",void 0);i([e({type:String,attribute:"overline"})],t.prototype,"overline",void 0);i([e({type:Boolean})],t.prototype,"leading",void 0);i([e({type:String,attribute:"leading-variant",reflect:!0})],t.prototype,"leadingVariant",void 0);i([e({type:String,attribute:"leading-icon"})],t.prototype,"leadingIcon",void 0);i([e({type:String,attribute:"avatar-label"})],t.prototype,"avatarLabel",void 0);i([e({type:String,attribute:"avatar-alt"})],t.prototype,"avatarAlt",void 0);i([e({type:String,attribute:"avatar-variant"})],t.prototype,"avatarVariant",void 0);i([e({type:String,attribute:"avatar-src"})],t.prototype,"avatarSrc",void 0);i([e({type:String,reflect:!0,attribute:"img-href-image"})],t.prototype,"imgHrefImage",void 0);i([e({type:Boolean})],t.prototype,"trailing",void 0);i([e({type:String,attribute:"trailing-variant",reflect:!0})],t.prototype,"trailingVariant",void 0);i([e({type:String,attribute:"trailing-icon"})],t.prototype,"trailingIcon",void 0);i([e({type:String,attribute:"trailing-switch-label"})],t.prototype,"trailingSwitchLabel",void 0);i([e({type:String,attribute:"trailing-switch-width"})],t.prototype,"trailingSwitchWidth",void 0);i([e({type:Boolean,attribute:"trailing-switch-selected",reflect:!0})],t.prototype,"trailingSwitchSelected",void 0);i([e({type:Number,reflect:!0})],t.prototype,"density",void 0);i([e({type:Boolean,attribute:"no-divider",reflect:!0})],t.prototype,"noDivider",void 0);t=i([T("scb-list-item")],t);
@@ -0,0 +1,26 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../../vendor/vendor-material.js","../../vendor/vendor.js","../../vendor/vendor-lit.js"])))=>i.map(i=>d[i]);
2
+ import{_ as u,b as f,g as b,h as o,p as _,y as v}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as a}from"../../vendor/decorate.js";import{t as y}from"../../vendor/preload-helper.js";import{n as g,r as S,t as k}from"../../vendor/classPrivateFieldGet2.js";import"./scb-list-item.js";(function(){try{var c=typeof globalThis<"u"?globalThis:window;if(!c.__scb_ce_guard_installed__){c.__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(l){var r=String(l||"");if(r.indexOf("already been used")===-1&&r.indexOf("NotSupportedError")===-1)throw l}}}}catch{}})();var p,d,n=(p=new WeakMap,d=class extends u{constructor(...t){super(...t),S(this,p,void 0),g(p,this,!1),this.noDivider=!1,this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this._onSlotChange=()=>this._setupItems()}async firstUpdated(){k(p,this)||(await y(()=>import("../../vendor/vendor-material.js").then(t=>t.t),__vite__mapDeps([0,1,2]),import.meta.url),g(p,this,!0)),this._setupItems(),this._applySpacing()}updated(t){super.updated(t),(t.has("spacing")||t.has("spacingTop")||t.has("spacingBottom")||t.has("spacingLeft")||t.has("spacingRight"))&&this._applySpacing()}_getItems(){return(this._slotEl?.assignedElements({flatten:!0})??[]).filter(t=>t instanceof HTMLElement)}_setupItems(){this._getItems().forEach((e,i)=>{e.hasAttribute("role")||e.setAttribute("role","listitem"),e.setAttribute("tabindex",i===0?"0":"-1")});const t=this.renderRoot?.querySelector("md-list");t&&!t.hasAttribute("data-kbd")&&(t.setAttribute("data-kbd","true"),t.addEventListener("keydown",e=>this._onKeyDown(e)))}_onKeyDown(t){const e=this._getItems();if(!e.length)return;const i=e.findIndex(r=>r.getAttribute("tabindex")==="0"),s=r=>{const l=(r%e.length+e.length)%e.length;e.forEach(m=>m.setAttribute("tabindex","-1"));const h=e[l];h.setAttribute("tabindex","0"),h.focus()};switch(t.key){case"ArrowDown":case"ArrowRight":t.preventDefault(),s(i<0?0:i+1);break;case"ArrowUp":case"ArrowLeft":t.preventDefault(),s(i<0?0:i-1);break;case"Home":t.preventDefault(),s(0);break;case"End":t.preventDefault(),s(e.length-1);break;default:break}}_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,i=this._mapSpacingToken(this.spacingBottom)??t,s=this._mapSpacingToken(this.spacingLeft),r=this._mapSpacingToken(this.spacingRight);e?this.style.marginBlockStart=e:this.style.removeProperty("margin-block-start"),i?this.style.marginBlockEnd=i:this.style.removeProperty("margin-block-end"),s?this.style.marginInlineStart=s:this.style.removeProperty("margin-inline-start"),r?this.style.marginInlineEnd=r:this.style.removeProperty("margin-inline-end")}render(){return v`
3
+ <md-list role="list" @slotchange=${this._onSlotChange}>
4
+ <slot></slot>
5
+ </md-list>
6
+ `}},d.styles=[f`
7
+ :host {
8
+ display: block;
9
+ --scb-list-bg: transparent;
10
+ }
11
+
12
+ md-list {
13
+ background: var(--scb-list-bg);
14
+ }
15
+
16
+ /* Visa top-border på första raden endast när listan saknar no-divider
17
+ och endast om första item inte själv är markerad med no-divider. */
18
+ :host(:not([no-divider])) ::slotted(scb-list-item:first-of-type:not([no-divider])) {
19
+ border-top: 1px solid var(--md-sys-color-outline-variant);
20
+ }
21
+
22
+ /* När listan har no-divider, tryck ned variabeln till alla barn */
23
+ :host([no-divider]) ::slotted(scb-list-item) {
24
+ --stroke-border: 0px;
25
+ }
26
+ `],d);a([o({type:Boolean,attribute:"no-divider",reflect:!0})],n.prototype,"noDivider",void 0);a([o({type:String,reflect:!0})],n.prototype,"spacing",void 0);a([o({type:String,reflect:!0,attribute:"spacing-top"})],n.prototype,"spacingTop",void 0);a([o({type:String,reflect:!0,attribute:"spacing-bottom"})],n.prototype,"spacingBottom",void 0);a([o({type:String,reflect:!0,attribute:"spacing-left"})],n.prototype,"spacingLeft",void 0);a([o({type:String,reflect:!0,attribute:"spacing-right"})],n.prototype,"spacingRight",void 0);a([_("slot")],n.prototype,"_slotEl",void 0);n=a([b("scb-list")],n);
@@ -0,0 +1,205 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../../vendor/vendor-material.js","../../vendor/vendor.js","../../vendor/vendor-lit.js"])))=>i.map(i=>d[i]);
2
+ import{_ as b,b as g,g as _,h as c,m as f,v as u,y as d}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as o}from"../../vendor/decorate.js";import"../scb-chevron/scb-chevron.js";import{t as m}from"../../vendor/preload-helper.js";(function(){try{var l=typeof globalThis<"u"?globalThis:window;if(!l.__scb_ce_guard_installed__){l.__scb_ce_guard_installed__=!0;var e=customElements.define.bind(customElements);customElements.define=function(t,n,a){try{customElements.get(t)||e(t,n,a)}catch(h){var p=String(h||"");if(p.indexOf("already been used")===-1&&p.indexOf("NotSupportedError")===-1)throw h}}}}catch{}})();var r,s,i=(r=class extends b{constructor(...e){super(...e),this.label="",this.selected=!1,this.noHighlightSelected=!1,this.leadingIcon="",this.itemHref="",this.hasSlotContent=!1,this.expanded=!1,this.__submenuId=`sub-${Math.random().toString(36).slice(2)}`,this.__focusId=`f-${Math.random().toString(36).slice(2)}`,this._toggleExpand=t=>{t&&t.stopPropagation(),this.hasSlotContent&&this.__setExpanded(!this.expanded)},this._onButtonClick=t=>{t.stopPropagation(),this._dispatchSelect(),this._toggleExpand()},this._onLinkClick=()=>{this._dispatchSelect()},this._onKeyDown=t=>{const n=Array.from(this.closest("scb-sub-menu, scb-menu")?.querySelectorAll("scb-menu-item")||[]),a=n.indexOf(this);switch(t.key){case"ArrowDown":t.preventDefault(),(n[a+1]||n[0]).shadowRoot?.querySelector(".scb-menu-label-text")?.focus();break;case"ArrowUp":t.preventDefault(),(n[a-1]||n[n.length-1]).shadowRoot?.querySelector(".scb-menu-label-text")?.focus();break;case"Home":t.preventDefault(),n[0].shadowRoot?.querySelector(".scb-menu-label-text")?.focus();break;case"End":t.preventDefault(),n[n.length-1].shadowRoot?.querySelector(".scb-menu-label-text")?.focus();break}}}get __submenuEl(){return this.renderRoot.querySelector(`#${this.__submenuId}`)}async __ensureDepsLoaded(){s.__rippleLoaded||(await m(()=>import("../../vendor/vendor-material.js").then(e=>e.f),__vite__mapDeps([0,1,2]),import.meta.url),s.__rippleLoaded=!0),s.__focusRingLoaded||(await m(()=>import("../../vendor/vendor-material.js").then(e=>e.m),__vite__mapDeps([0,1,2]),import.meta.url),s.__focusRingLoaded=!0),this.leadingIcon&&!s.__iconLoaded&&(await m(()=>import("../../vendor/vendor-material.js").then(e=>e.p),__vite__mapDeps([0,1,2]),import.meta.url),s.__iconLoaded=!0)}__syncHasSlotContentFromLightDom(){const e=Array.from(this.children);this.hasSlotContent=e.length>0&&e.every(t=>t.tagName==="SCB-SUB-MENU")}connectedCallback(){super.connectedCallback(),this.__syncHasSlotContentFromLightDom()}_onSlotChange(e){const t=e.target.assignedElements({flatten:!0});this.hasSlotContent=t.length>0&&t.every(n=>n.tagName==="SCB-SUB-MENU")}__setExpanded(e){this.hasSlotContent&&(this.expanded=e,this.dispatchEvent(new CustomEvent("scb-menu-expand",{bubbles:!0,composed:!0,detail:{item:this,expanded:e}})),this.dispatchEvent(new CustomEvent("scbmenuexpand",{bubbles:!0,composed:!0,detail:{item:this,expanded:e}})))}_dispatchSelect(){this.dispatchEvent(new CustomEvent("scb-menu-select",{bubbles:!0,composed:!0,detail:{item:this}})),this.dispatchEvent(new CustomEvent("scbmenuselect",{bubbles:!0,composed:!0,detail:{item:this}}))}async firstUpdated(){await this.__ensureDepsLoaded()}updated(e){e.has("leadingIcon")&&this.leadingIcon&&this.__ensureDepsLoaded(),e.has("hasSlotContent")&&this.hasSlotContent&&this.__ensureDepsLoaded(),e.has("expanded")&&this.__applyInert()}__applyInert(){const e=this.__submenuEl;e&&(this.expanded?(e.removeAttribute("inert"),e.setAttribute("aria-hidden","false")):(e.setAttribute("inert",""),e.setAttribute("aria-hidden","true")))}render(){const e=!!this.leadingIcon,t=!!this.itemHref,n=this.hasSlotContent;return d`
3
+ <div class="scb-menu-item">
4
+ <div class="scb-menu-item-label" ?selected=${this.selected} ?no-highlight-selected=${this.noHighlightSelected}>
5
+ ${t?d`
6
+ <a
7
+ id=${this.__focusId}
8
+ class="scb-menu-label-text"
9
+ aria-label="${this.label}"
10
+ href="${this.itemHref}"
11
+ aria-current=${this.selected?"page":u}
12
+ @click=${this._onLinkClick}
13
+ @keydown=${this._onKeyDown}
14
+ >
15
+ <span class="scb-menu-click ${e?"has-icon":""}">
16
+ <md-ripple></md-ripple>
17
+ ${e?d`<md-icon>${this.leadingIcon}</md-icon>`:""}
18
+ ${this.label}
19
+ </span>
20
+ </a>
21
+ <md-focus-ring for=${this.__focusId} inward></md-focus-ring>
22
+ `:d`
23
+ <button
24
+ id=${this.__focusId}
25
+ type="button"
26
+ class="scb-menu-label-text"
27
+ @click=${this._onButtonClick}
28
+ @keydown=${this._onKeyDown}
29
+ aria-expanded=${n?String(this.expanded):u}
30
+ aria-controls=${n?this.__submenuId:u}
31
+ >
32
+ <span class="scb-menu-click ${e?"has-icon":""}">
33
+ <md-ripple></md-ripple>
34
+ ${e?d`<md-icon>${this.leadingIcon}</md-icon>`:""}
35
+ ${this.label}
36
+ </span>
37
+ </button>
38
+ <md-focus-ring for=${this.__focusId} inward></md-focus-ring>
39
+ `}
40
+ ${n?d`
41
+ <button
42
+ class="menu-chevron-button"
43
+ type="button"
44
+ role="presentation"
45
+ tabindex="-1"
46
+ @click=${a=>{a.stopPropagation(),this._toggleExpand(a)}}
47
+ >
48
+ <md-ripple></md-ripple>
49
+ <scb-chevron class="menu-chevron" .open=${this.expanded}></scb-chevron>
50
+ </button>
51
+ `:""}
52
+ </div>
53
+
54
+ <div
55
+ id="${this.__submenuId}"
56
+ class="submenu ${this.expanded?"expanded":""}"
57
+ role="region"
58
+ aria-hidden=${this.expanded?"false":"true"}
59
+ >
60
+ <div class="submenu__inner">
61
+ <slot @slotchange=${this._onSlotChange}></slot>
62
+ </div>
63
+ </div>
64
+ </div>
65
+ `}},s=r,r.__rippleLoaded=!1,r.__iconLoaded=!1,r.__focusRingLoaded=!1,r.styles=g`
66
+ :host {
67
+ /* Animationtokens */
68
+ --scb-menu-sub-transition-duration: var(--scb-motion-duration-quick, 150ms);
69
+ --scb-menu-sub-transition-easing: var(--scb-motion-easing-standard, cubic-bezier(.69,.16,.2,.98));
70
+
71
+ --scb-menu-chevron-transition-duration: var(--motion-duration-medium, 150ms);
72
+ --scb-menu-chevron-transition-easing: var(
73
+ --motion-easing-emphasized-accelerate,
74
+ var(--motion-easing-emphasized, cubic-bezier(.69,.16,.2,.98))
75
+ );
76
+
77
+ --scb-menu-item-padding-y: 14px;
78
+ --scb-menu-item-padding-x: 20px;
79
+ --scb-menu-item-padding-x-has-icon: var(--spacing-4, 12px);
80
+ --scb-menu-item-radius: 28px;
81
+ --scb-menu-item-gap: var(--spacing-4, 12px);
82
+ }
83
+
84
+ :host([expanded]) {
85
+ --scb-menu-chevron-transition-easing: var(
86
+ --motion-easing-emphasized-decelerate,
87
+ var(--motion-easing-emphasized, cubic-bezier(.69,.16,.2,.98))
88
+ );
89
+ }
90
+
91
+ .scb-menu-item-label {
92
+ display: flex;
93
+ align-items: center;
94
+ position: relative;
95
+ }
96
+
97
+ .scb-menu-label-text {
98
+ width: 100%;
99
+ display: block;
100
+ background: transparent;
101
+ border: 0;
102
+ text-align: left;
103
+ font: inherit;
104
+ color: inherit;
105
+ text-decoration: none;
106
+ cursor: pointer;
107
+ padding: 0;
108
+ margin: 0;
109
+ appearance: none;
110
+ -webkit-appearance: none;
111
+ box-sizing: border-box;
112
+ outline: none;
113
+ -webkit-tap-highlight-color: transparent;
114
+ }
115
+ .scb-menu-label-text:focus,
116
+ .scb-menu-label-text:focus-visible {
117
+ outline: none;
118
+ }
119
+ .scb-menu-label-text:-moz-focusring {
120
+ outline: none;
121
+ }
122
+
123
+ .scb-menu-click {
124
+ display: flex;
125
+ align-items: center;
126
+ gap: var(--scb-menu-item-gap);
127
+ padding-block: var(--scb-menu-item-padding-y);
128
+ padding-inline: var(--scb-menu-item-padding-x);
129
+ border-radius: var(--scb-menu-item-radius);
130
+ position: relative;
131
+ overflow: hidden;
132
+ color: var(--md-sys-color-on-surface);
133
+ }
134
+ .scb-menu-click.has-icon {
135
+ padding-inline: var(--scb-menu-item-padding-x-has-icon);
136
+ padding-block: var(--scb-menu-item-padding-y);
137
+ }
138
+
139
+ .scb-menu-click md-ripple {
140
+ --md-ripple-focus-opacity: 0;
141
+ }
142
+
143
+ .scb-menu-item-label[selected]:not([no-highlight-selected]) .scb-menu-click,
144
+ :host([selected]):not([no-highlight-selected]) .scb-menu-click {
145
+ color: var(--md-sys-color-on-secondary-container);
146
+ background: var(--md-sys-color-secondary-container);
147
+ font-weight: 600;
148
+ }
149
+
150
+ .menu-chevron-button {
151
+ margin-left: auto;
152
+ flex: 0 0 auto;
153
+ position: relative;
154
+ display: inline-flex;
155
+ align-items: center;
156
+ justify-content: center;
157
+ inline-size: 48px;
158
+ block-size: 48px;
159
+ padding: 0;
160
+ border: 0;
161
+ border-radius: 999px;
162
+ background: transparent;
163
+ color: inherit;
164
+ cursor: pointer;
165
+ -webkit-tap-highlight-color: transparent;
166
+ }
167
+
168
+ .menu-chevron-button:focus {
169
+ outline: none;
170
+ }
171
+
172
+ .menu-chevron-button md-ripple {
173
+ border-radius: inherit;
174
+ }
175
+
176
+ .menu-chevron {
177
+ --scb-chevron-size: var(--icon-size-medium, 24px);
178
+ }
179
+
180
+ /* Undermeny: CSS-grid 0fr till 1fr för höjd-animation utan JS-mätningar */
181
+ .submenu {
182
+ display: grid;
183
+ grid-template-rows: 0fr;
184
+ transition:
185
+ grid-template-rows var(--scb-menu-sub-transition-duration) var(--scb-menu-sub-transition-easing),
186
+ opacity var(--scb-menu-sub-transition-duration) var(--scb-menu-sub-transition-easing);
187
+ opacity: 0;
188
+ overflow: hidden;
189
+ padding-left: var(--spacing-5, 16px);
190
+ }
191
+ .submenu.expanded {
192
+ grid-template-rows: 1fr;
193
+ opacity: 1;
194
+ }
195
+ .submenu__inner {
196
+ overflow: hidden;
197
+ }
198
+
199
+ /* Minskar rörelse för användare som önskar det */
200
+ @media (prefers-reduced-motion: reduce) {
201
+ .submenu {
202
+ transition: none;
203
+ }
204
+ }
205
+ `,r);o([c({type:String})],i.prototype,"label",void 0);o([c({type:Boolean,reflect:!0})],i.prototype,"selected",void 0);o([c({type:Boolean,attribute:"no-highlight-selected",reflect:!0})],i.prototype,"noHighlightSelected",void 0);o([c({type:String,attribute:"leading-icon"})],i.prototype,"leadingIcon",void 0);o([c({type:String,attribute:"item-href"})],i.prototype,"itemHref",void 0);o([f()],i.prototype,"hasSlotContent",void 0);o([c({type:Boolean,reflect:!0})],i.prototype,"expanded",void 0);i=s=o([_("scb-menu-item")],i);
@@ -0,0 +1,42 @@
1
+ import{_ as m,b,g as u,h as v,y as o}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as c}from"../../vendor/decorate.js";import"../scb-divider/scb-divider.js";(function(){try{var e=typeof globalThis<"u"?globalThis:window;if(!e.__scb_ce_guard_installed__){e.__scb_ce_guard_installed__=!0;var i=customElements.define.bind(customElements);customElements.define=function(s,l,d){try{customElements.get(s)||i(s,l,d)}catch(r){var n=String(r||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw r}}}}catch{}})();var t,a=(t=class extends m{constructor(...i){super(...i),this.label=""}render(){return o`
2
+ <scb-divider></scb-divider>
3
+ ${this.label?o`
4
+ <div class="scb-menu-section">
5
+ <div class="scb-menu-label">${this.label}</div>
6
+ </div>
7
+ `:""}
8
+ `}},t.styles=b`
9
+ :host {
10
+ color: var(--md-sys-color-on-surface);
11
+ font-family: var(--brand-font);
12
+ }
13
+
14
+ .scb-menu-section {
15
+ display: block;
16
+ width: 100%;
17
+
18
+ padding-block: var(--scb-menu-section-padding-block, 14px);
19
+ padding-inline: var(--spacing-4, 12px);
20
+ color: var(--md-sys-color-on-surface);
21
+ font-weight: var(--weight-semibold, 600);
22
+ }
23
+
24
+ .scb-menu-label {
25
+ font-family: var(--brand-font);
26
+ font-size: var(--md-sys-typescale-label-medium-size);
27
+ line-height: var(--md-sys-typescale-label-medium-line-height);
28
+ font-weight: var(
29
+ --md-sys-typescale-label-medium-weight,
30
+ var(--weight-semibold)
31
+ );
32
+ letter-spacing: var(
33
+ --md-sys-typescale-label-medium-tracking
34
+ );
35
+ color: var(--md-sys-color-on-surface);
36
+ }
37
+
38
+ scb-divider {
39
+ margin-block: var(--spacing-2, 4px);
40
+ margin-inline: var(--spacing-4, 12px);
41
+ }
42
+ `,t);c([v({type:String})],a.prototype,"label",void 0);a=c([u("scb-menu-section")],a);
@@ -0,0 +1,81 @@
1
+ import{_ as m,b as u,g as v,h as n,v as y,y as b}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as i}from"../../vendor/decorate.js";import{n as f,t as g}from"../../vendor/assertClassBrand.js";import"../scb-divider/scb-divider.js";import"./scb-menu-item.js";import"./scb-menu-section.js";import"./scb-sub-menu.js";(function(){try{var l=typeof globalThis<"u"?globalThis:window;if(!l.__scb_ce_guard_installed__){l.__scb_ce_guard_installed__=!0;var e=customElements.define.bind(customElements);customElements.define=function(t,r,a){try{customElements.get(t)||e(t,r,a)}catch(d){var p=String(d||"");if(p.indexOf("already been used")===-1&&p.indexOf("NotSupportedError")===-1)throw d}}}}catch{}})();var c,o,s=(c=new WeakSet,o=class extends m{constructor(...e){super(...e),f(this,c),this.label="",this.subLabel="",this.noHighlightSelected=!1,this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this._onGlobalSelect=t=>{const r=t;this.querySelectorAll("scb-menu-item").forEach(a=>{a.selected=!1,this.noHighlightSelected?a.setAttribute("no-highlight-selected",""):a.removeAttribute("no-highlight-selected")}),this.contains(r.detail.item)&&(r.detail.item.selected=!0)}}render(){return b`
2
+ <nav
3
+ aria-label="${this.label}"
4
+ >
5
+ ${this.label?b`
6
+ <div class="scb-menu-label-wrapper">
7
+ <div class="scb-menu-label">${this.label}</div>
8
+ <div class="scb-menu-sublabel">
9
+ ${this.subLabel}
10
+ </div>
11
+ </div>
12
+ <scb-divider></scb-divider>
13
+ `:y}
14
+ <div class="panel">
15
+ <slot></slot>
16
+ </div>
17
+ </nav>
18
+ `}firstUpdated(e){super.firstUpdated(e),g(c,this,h).call(this)}updated(e){super.updated(e),(e.has("spacing")||e.has("spacingTop")||e.has("spacingBottom")||e.has("spacingLeft")||e.has("spacingRight"))&&g(c,this,h).call(this)}mapSpacingToken(e){if(!e)return;const t=String(e).trim();if(t)return/^\d+$/.test(t)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(t,10)))})`:t}connectedCallback(){super.connectedCallback(),window.addEventListener("scb-menu-select",this._onGlobalSelect)}disconnectedCallback(){window.removeEventListener("scb-menu-select",this._onGlobalSelect),super.disconnectedCallback()}},o.styles=u`
19
+ :host {
20
+ display: block;
21
+ color: var(--md-sys-color-on-surface);
22
+ padding: var(--spacing-4, 12px);
23
+ background: var(--scb-menu-background, var(--md-sys-color-surface-container));
24
+ font-family: var(--brand-font);
25
+
26
+ margin-block-start: var(--scb-menu-spacing-block-start, 0);
27
+ margin-block-end: var(--scb-menu-spacing-block-end, 0);
28
+ margin-inline-start: var(--scb-menu-spacing-inline-start, 0);
29
+ margin-inline-end: var(--scb-menu-spacing-inline-end, 0);
30
+ }
31
+
32
+ .scb-menu-label {
33
+ font-size: var(--md-sys-typescale-label-large-size);
34
+ line-height: var(
35
+ --md-sys-typescale-label-large-line-height
36
+ );
37
+ font-weight: var(
38
+ --md-sys-typescale-label-large-weight,
39
+ var(--weight-semibold)
40
+ );
41
+ letter-spacing: var(
42
+ --md-sys-typescale-label-large-tracking
43
+ );
44
+ color: var(--md-sys-color-on-surface);
45
+ }
46
+
47
+ .scb-menu-sublabel {
48
+ font-size: var(--md-sys-typescale-body-small-size);
49
+ line-height: var(
50
+ --md-sys-typescale-body-small-line-height
51
+ );
52
+ font-weight: var(
53
+ --md-sys-typescale-body-small-weight,
54
+ var(--weight-regular)
55
+ );
56
+ letter-spacing: var(
57
+ --md-sys-typescale-body-small-tracking
58
+ );
59
+ color: var(--md-sys-color-on-surface);
60
+ }
61
+
62
+ .scb-menu-label-wrapper {
63
+ padding: var(--spacing-4, 12px);
64
+ color: inherit;
65
+ }
66
+
67
+ scb-divider {
68
+ margin-block: var(--spacing-2, 4px);
69
+ }
70
+
71
+ ::slotted(scb-search) {
72
+ display: block;
73
+ width: 100%;
74
+ box-sizing: border-box;
75
+ padding: var(--scb-menu-search-padding, var(--spacing-4, 12px));
76
+ }
77
+
78
+ .panel {
79
+ contain: layout paint style;
80
+ }
81
+ `,o);function h(){const l=this.mapSpacingToken(this.spacing),e=this.mapSpacingToken(this.spacingTop)??l,t=this.mapSpacingToken(this.spacingBottom)??l,r=this.mapSpacingToken(this.spacingLeft),a=this.mapSpacingToken(this.spacingRight);e?this.style.setProperty("--scb-menu-spacing-block-start",e):this.style.removeProperty("--scb-menu-spacing-block-start"),t?this.style.setProperty("--scb-menu-spacing-block-end",t):this.style.removeProperty("--scb-menu-spacing-block-end"),r?this.style.setProperty("--scb-menu-spacing-inline-start",r):this.style.removeProperty("--scb-menu-spacing-inline-start"),a?this.style.setProperty("--scb-menu-spacing-inline-end",a):this.style.removeProperty("--scb-menu-spacing-inline-end")}i([n({type:String})],s.prototype,"label",void 0);i([n({type:String,attribute:"sub-label"})],s.prototype,"subLabel",void 0);i([n({type:Boolean,attribute:"no-highlight-selected",reflect:!0})],s.prototype,"noHighlightSelected",void 0);i([n({type:String,reflect:!0})],s.prototype,"spacing",void 0);i([n({type:String,attribute:"spacing-top",reflect:!0})],s.prototype,"spacingTop",void 0);i([n({type:String,attribute:"spacing-bottom",reflect:!0})],s.prototype,"spacingBottom",void 0);i([n({type:String,attribute:"spacing-left",reflect:!0})],s.prototype,"spacingLeft",void 0);i([n({type:String,attribute:"spacing-right",reflect:!0})],s.prototype,"spacingRight",void 0);s=i([v("scb-menu")],s);
@@ -0,0 +1,10 @@
1
+ import{_ as d,b as u,g as b,h as m,y as _}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as r}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 n=customElements.define.bind(customElements);customElements.define=function(e,t,l){try{customElements.get(e)||n(e,t,l)}catch(o){var i=String(o||"");if(i.indexOf("already been used")===-1&&i.indexOf("NotSupportedError")===-1)throw o}}}}catch{}})();var c,a=(c=class extends d{constructor(...n){super(...n),this.label="",this._onGlobalSelect=e=>{const t=e;this.querySelectorAll("scb-menu-item").forEach(l=>l.selected=!1),this.contains(t.detail.item)&&(t.detail.item.selected=!0)}}connectedCallback(){super.connectedCallback(),window.addEventListener("scb-menu-select",this._onGlobalSelect)}disconnectedCallback(){window.removeEventListener("scb-menu-select",this._onGlobalSelect),super.disconnectedCallback()}render(){return _`
2
+ <nav aria-label="${this.label}">
3
+ <slot></slot>
4
+ </nav>
5
+ `}},c.styles=u`
6
+ :host {
7
+ display: block;
8
+ width: 100%;
9
+ }
10
+ `,c);r([m({type:String})],a.prototype,"label",void 0);a=r([b("scb-sub-menu")],a);
@@ -0,0 +1,28 @@
1
+ import{_ as h,b as u,g as f,h as a,y as _}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as s}from"../../vendor/decorate.js";(function(){try{var r=typeof globalThis<"u"?globalThis:window;if(!r.__scb_ce_guard_installed__){r.__scb_ce_guard_installed__=!0;var i=customElements.define.bind(customElements);customElements.define=function(e,t,c){try{customElements.get(e)||i(e,t,c)}catch(l){var d=String(l||"");if(d.indexOf("already been used")===-1&&d.indexOf("NotSupportedError")===-1)throw l}}}}catch{}})();var o,n=(o=class extends h{constructor(...i){super(...i),this.href="",this.dataHref="",this.disabled=!1,this.__onClick=e=>{if(e.defaultPrevented)return;if(this.disabled){e.preventDefault(),e.stopImmediatePropagation();return}const t=(this.href||"").trim();if(t){if(t.startsWith("#")){typeof window<"u"&&(window.location.hash=t.slice(1));return}if((this.getAttribute("target")||"").trim()==="_blank"){window.open(t,"_blank","noopener,noreferrer");return}window.location.href=t}},this.__onKeyDown=e=>{if(!this.disabled){if(e.key==="Enter"){e.preventDefault(),this.click();return}e.key===" "&&e.preventDefault()}},this.__onKeyUp=e=>{this.disabled||e.key===" "&&(e.preventDefault(),this.click())}}connectedCallback(){super.connectedCallback(),this.addEventListener("click",this.__onClick),this.addEventListener("keydown",this.__onKeyDown),this.addEventListener("keyup",this.__onKeyUp),this.__syncA11y()}disconnectedCallback(){this.removeEventListener("click",this.__onClick),this.removeEventListener("keydown",this.__onKeyDown),this.removeEventListener("keyup",this.__onKeyUp),super.disconnectedCallback()}updated(){this.__syncA11y()}__syncA11y(){const i=!!(this.href||"").trim();if(this.disabled){this.setAttribute("aria-disabled","true"),this.tabIndex=-1,this.removeAttribute("role");return}this.removeAttribute("aria-disabled"),this.tabIndex=0,this.setAttribute("role",i?"link":"button")}render(){return _`<span class="label"><slot></slot></span>`}},o.styles=u`
2
+ :host {
3
+ display: inline-flex;
4
+ align-items: center;
5
+ justify-content: center;
6
+ outline: none;
7
+ position: relative;
8
+ overflow: hidden;
9
+ }
10
+
11
+ :host([disabled]) {
12
+ cursor: default;
13
+ pointer-events: none;
14
+ opacity: 0.6;
15
+ }
16
+
17
+ :host(:focus-visible) {
18
+ outline: none;
19
+ }
20
+
21
+ :host(:focus) {
22
+ outline: none;
23
+ }
24
+
25
+ .label {
26
+ pointer-events: none;
27
+ }
28
+ `,o);s([a({type:String})],n.prototype,"href",void 0);s([a({type:String,attribute:"data-href"})],n.prototype,"dataHref",void 0);s([a({type:Boolean,reflect:!0})],n.prototype,"disabled",void 0);n=s([f("scb-nav-item")],n);