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,517 @@
1
+ import { __decorate as e } from "../_virtual/_@oxc-project_runtime@0.126.0/helpers/decorate.js";
2
+ import "../scb-chevron/scb-chevron.js";
3
+ import "./scb-select-option.js";
4
+ import { LitElement as t, css as n, html as r } from "lit";
5
+ import { customElement as i, property as a } from "lit/decorators.js";
6
+ import "@material/web/focus/md-focus-ring.js";
7
+ import { ifDefined as o } from "lit/directives/if-defined.js";
8
+ //#region src/scb-test-components/scb-select/scb-select.ts
9
+ var s = class extends t {
10
+ static {
11
+ this.formAssociated = !0;
12
+ }
13
+ constructor() {
14
+ super(), this._optionsObserver = null, this._internals = null, this.focusedIndex = -1, this.variant = "single-select", this.value = "", this.values = [], this.disabled = !1, this.required = !1, this.open = !1, this.label = "", this.name = "", this.placeholder = "", this.supportingText = "", this.withRadiobuttons = !1, this.noHighlightSelected = !1, this.size = "large", this.spacing = void 0, this.spacingTop = void 0, this.spacingBottom = void 0, this.spacingLeft = void 0, this.spacingRight = void 0, this.zIndex = void 0, this._form = null, this._formResetHandler = null, this._formSubmitHandler = null, this._initialValue = "", this._initialValues = [], this._customValidationMessage = "", this._onDocumentClick = (e) => {
15
+ this.open && (e.composedPath().includes(this) || this._setOpen(!1));
16
+ }, this._onSlotClick = (e) => {
17
+ let t = this.shadowRoot?.querySelector("slot");
18
+ if (!t) return;
19
+ let n = t.assignedElements({ flatten: !0 }).filter((e) => e.tagName.toLowerCase() === "scb-select-option"), r = e.composedPath(), i = n.find((e) => r.includes(e));
20
+ i && (this._selectOption(i), e.stopPropagation());
21
+ }, this._onKeyDown = (e) => {
22
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), this._toggleOpen());
23
+ }, this._onOptionKeyDown = (e) => {
24
+ if (e.key === "Enter" || e.key === " ") {
25
+ e.preventDefault();
26
+ let t = this.shadowRoot?.querySelector("slot");
27
+ if (!t) return;
28
+ let n = t.assignedElements({ flatten: !0 }).filter((e) => e.tagName.toLowerCase() === "scb-select-option"), r = e.composedPath(), i = n.find((e) => r.includes(e));
29
+ i && this._selectOption(i);
30
+ }
31
+ }, "attachInternals" in this && (this._internals = this.attachInternals());
32
+ }
33
+ _syncDensityForSize() {
34
+ this.size === "extra-small" ? this.setAttribute("data-density", "-5") : this.size === "small" ? this.setAttribute("data-density", "-4") : this.size === "medium" ? this.setAttribute("data-density", "-2") : this.removeAttribute("data-density");
35
+ }
36
+ static {
37
+ this.styles = n`
38
+ :host {
39
+ display: flex;
40
+ flex-direction: column;
41
+ color: var(--md-sys-color-on-surface);
42
+ font-family: var(--brand-font);
43
+ --scb-select-max-width: 400px;
44
+ --scb-select-padding-x: var(--spacing-5);
45
+ --scb-select-padding-y: var(--spacing-2);
46
+ --scb-select-min-height: 56px;
47
+ --scb-select-font-size: var(--md-sys-typescale-body-large-size);
48
+ --scb-select-line-height: var(--md-sys-typescale-body-large-line-height);
49
+ --scb-select-letter-spacing: var(--md-sys-typescale-body-large-tracking);
50
+ --scb-select-label-font-size: var(--md-sys-typescale-label-medium-size);
51
+ --scb-select-label-line-height: var(--md-sys-typescale-label-medium-line-height);
52
+ --scb-select-label-letter-spacing: var(--md-sys-typescale-label-medium-tracking);
53
+ --scb-select-supporting-font-size: var(--md-sys-typescale-body-medium-size);
54
+ --scb-select-supporting-line-height: var(--md-sys-typescale-body-medium-line-height);
55
+ --scb-select-supporting-letter-spacing: var(--md-sys-typescale-body-medium-tracking);
56
+ --scb-select-label-gap: var(--spacing-3);
57
+ max-width: var(--scb-select-max-width);
58
+ width: 100%;
59
+ margin-block-start: var(--scb-select-spacing-block-start, 0);
60
+ margin-block-end: var(--scb-select-spacing-block-end, 0);
61
+ margin-inline-start: var(--scb-select-spacing-inline-start, 0);
62
+ margin-inline-end: var(--scb-select-spacing-inline-end, 0);
63
+ }
64
+ :host([disabled]) {
65
+ pointer-events: none;
66
+ opacity: 0.38;
67
+ }
68
+ :host([size='medium']) {
69
+ --scb-select-padding-x: var(--spacing-4);
70
+ --scb-select-padding-y: var(--spacing-3);
71
+ --scb-select-min-height: 48px;
72
+ --scb-select-font-size: var(--md-sys-typescale-body-medium-size);
73
+ --scb-select-line-height: var(--md-sys-typescale-body-medium-line-height);
74
+ --scb-select-letter-spacing: var(--md-sys-typescale-body-medium-tracking);
75
+ --scb-select-label-font-size: var(--md-sys-typescale-label-small-size);
76
+ --scb-select-label-line-height: var(--md-sys-typescale-label-small-line-height);
77
+ --scb-select-label-letter-spacing: var(--md-sys-typescale-label-small-tracking);
78
+ --scb-select-supporting-font-size: var(--md-sys-typescale-body-small-size);
79
+ --scb-select-supporting-line-height: var(--md-sys-typescale-body-small-line-height);
80
+ --scb-select-supporting-letter-spacing: var(--md-sys-typescale-body-small-tracking);
81
+ --scb-select-option-padding-y: var(--spacing-2);
82
+ --scb-select-option-padding-x: var(--spacing-4);
83
+ --scb-select-option-gap: var(--spacing-3);
84
+ --scb-select-option-min-height: 40px;
85
+
86
+ --scb-select-option-font-size: var(--md-sys-typescale-body-medium-size);
87
+ --scb-select-option-line-height: var(--md-sys-typescale-body-medium-line-height);
88
+ --scb-select-option-letter-spacing: var(--md-sys-typescale-body-medium-tracking);
89
+ --scb-select-option-icon-size: var(--icon-size-small, 20px);
90
+ }
91
+ :host([size='small']) {
92
+ --scb-select-padding-x: var(--spacing-4);
93
+ --scb-select-padding-y: var(--spacing-3);
94
+ --scb-select-min-height: 40px;
95
+ --scb-select-font-size: var(--md-sys-typescale-body-small-size);
96
+ --scb-select-line-height: var(--md-sys-typescale-body-small-line-height);
97
+ --scb-select-letter-spacing: var(--md-sys-typescale-body-small-tracking);
98
+ --scb-select-label-font-size: var(--md-sys-typescale-label-small-size);
99
+ --scb-select-label-line-height: var(--md-sys-typescale-label-small-line-height);
100
+ --scb-select-label-letter-spacing: var(--md-sys-typescale-label-small-tracking);
101
+ --scb-select-supporting-font-size: var(--md-sys-typescale-body-small-size);
102
+ --scb-select-supporting-line-height: var(--md-sys-typescale-body-small-line-height);
103
+ --scb-select-supporting-letter-spacing: var(--md-sys-typescale-body-small-tracking);
104
+ --scb-select-option-padding-y: var(--spacing-2);
105
+ --scb-select-option-padding-x: var(--spacing-4);
106
+ --scb-select-option-gap: var(--spacing-3);
107
+ --scb-select-option-min-height: 40px;
108
+
109
+ --scb-select-option-font-size: var(--md-sys-typescale-body-small-size);
110
+ --scb-select-option-line-height: var(--md-sys-typescale-body-small-line-height);
111
+ --scb-select-option-letter-spacing: var(--md-sys-typescale-body-small-tracking);
112
+ --scb-select-option-icon-size: var(--icon-size-small, 20px);
113
+ }
114
+ :host([size='extra-small']) {
115
+ --scb-select-padding-x: var(--spacing-3);
116
+ --scb-select-padding-y: var(--spacing-2);
117
+ --scb-select-min-height: 32px;
118
+ --scb-select-font-size: var(--md-sys-typescale-body-small-size);
119
+ --scb-select-line-height: var(--md-sys-typescale-body-small-line-height);
120
+ --scb-select-letter-spacing: var(--md-sys-typescale-body-small-tracking);
121
+ --scb-select-label-font-size: var(--md-sys-typescale-label-small-size);
122
+ --scb-select-label-line-height: var(--md-sys-typescale-label-small-line-height);
123
+ --scb-select-label-letter-spacing: var(--md-sys-typescale-label-small-tracking);
124
+ --scb-select-supporting-font-size: var(--md-sys-typescale-body-small-size);
125
+ --scb-select-supporting-line-height: var(--md-sys-typescale-body-small-line-height);
126
+ --scb-select-supporting-letter-spacing: var(--md-sys-typescale-body-small-tracking);
127
+ --scb-select-option-padding-y: var(--spacing-2);
128
+ --scb-select-option-padding-x: var(--spacing-3);
129
+ --scb-select-option-gap: var(--spacing-2);
130
+ --scb-select-option-min-height: 32px;
131
+
132
+ --scb-select-option-font-size: var(--md-sys-typescale-body-small-size);
133
+ --scb-select-option-line-height: var(--md-sys-typescale-body-small-line-height);
134
+ --scb-select-option-letter-spacing: var(--md-sys-typescale-body-small-tracking);
135
+ --scb-select-option-icon-size: var(--icon-size-extra-small, 16px);
136
+ }
137
+ .select {
138
+ position: relative;
139
+
140
+ background: var(--md-sys-color-surface);
141
+ cursor: pointer;
142
+ border-radius: var(--md-sys-shape-corner-small);
143
+ border: 1px solid var(--md-sys-color-outline);
144
+ outline: 1px solid transparent;
145
+ transition: border 0.2s;
146
+
147
+ }
148
+ :host .select:hover, :host([open]) .select {
149
+ outline: 1px solid var(--md-sys-color-outline);
150
+ }
151
+
152
+ .selected-value {
153
+ flex: 1 1 auto;
154
+ min-width: 0;
155
+ overflow: hidden;
156
+ text-overflow: ellipsis;
157
+ white-space: nowrap;
158
+ display: block;
159
+ border: none;
160
+ background: transparent;
161
+ font: inherit;
162
+ color: inherit;
163
+ padding: 0;
164
+ outline: none;
165
+ cursor: pointer;
166
+ font-size: var(--scb-select-font-size);
167
+ line-height: var(--scb-select-line-height);
168
+ letter-spacing: var(--scb-select-letter-spacing);
169
+ }
170
+ .selected-value-container:focus-within {
171
+ outline: none;
172
+ }
173
+ .select-label{
174
+ display: block;
175
+ font-size: var(--scb-select-label-font-size);
176
+ font-weight: var(--weight-semibold);
177
+ line-height: var(--scb-select-label-line-height);
178
+ letter-spacing: var(--scb-select-label-letter-spacing);
179
+ }
180
+ .select-label--without-supporting {
181
+ margin-bottom: var(--scb-select-label-gap);
182
+ }
183
+ .select-sub-label{
184
+ display: block;
185
+ font-size: var(--scb-select-supporting-font-size);
186
+ line-height: var(--scb-select-supporting-line-height);
187
+ letter-spacing: var(--scb-select-supporting-letter-spacing);
188
+ font-weight: var(--weight-regular);
189
+ margin-bottom: var(--scb-select-label-gap);
190
+ color: var(--md-sys-color-on-surface-variant);
191
+ }
192
+ md-focus-ring {
193
+ position:absolute;
194
+ border-radius: 8px;
195
+ }
196
+
197
+ .arrow {
198
+ position: absolute;
199
+ right: 8px;
200
+ top: 50%;
201
+ transform: translateY(-50%);
202
+ display: flex;
203
+ align-items: center;
204
+ justify-content: center;
205
+ pointer-events: none;
206
+ }
207
+ .options {
208
+ position: absolute;
209
+ left: 0;
210
+ right: 0;
211
+ top: calc(100% + 3px);
212
+ z-index: 10;
213
+ max-height: 0;
214
+ overflow-y: hidden;
215
+ transition:
216
+ max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1),
217
+ opacity 0.15s linear 0.15s,
218
+ visibility 0s linear 0.3s;
219
+ visibility: hidden;
220
+ opacity: 0;
221
+ pointer-events: none;
222
+ border-radius: var(--md-sys-shape-corner-small);
223
+ background: var(--md-sys-color-surface);
224
+ padding: 8px 0;
225
+ /* Drop Shadow/2 */
226
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.30), 0 2px 6px 2px rgba(0, 0, 0, 0.15);
227
+ }
228
+ .options::-webkit-scrollbar {
229
+ width: 12px;
230
+ background: var(--md-sys-color-surface);
231
+ border-radius: var(--md-sys-shape-corner-small);
232
+ }
233
+ .options::-webkit-scrollbar-thumb {
234
+ background: var(--md-sys-color-outline);
235
+ border-radius: var(--md-sys-shape-corner-small);
236
+ border: 4px solid var(--md-sys-color-surface);
237
+
238
+ }
239
+ .options::-webkit-scrollbar-track {
240
+ background: var(--md-sys-color-surface);
241
+ border-radius: var(--md-sys-shape-corner-small);
242
+ }
243
+ :host([open]) .options {
244
+ max-height: 240px;
245
+ visibility: visible;
246
+ opacity: 1;
247
+ pointer-events: auto;
248
+ transition:
249
+ max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1),
250
+ opacity 0s linear 0s,
251
+ visibility 0s linear 0s;
252
+ opacity: 1;
253
+ }
254
+ .options.options--scroll {
255
+ overflow-y: auto;
256
+ }
257
+ .option[aria-selected="true"] {
258
+ background: #e6f0fa;
259
+ }
260
+ .option[aria-disabled="true"] {
261
+ color: #aaa;
262
+ pointer-events: none;
263
+ }
264
+ .selected-value-container {
265
+ height: 100%;
266
+ min-height: var(--scb-select-min-height);
267
+ box-sizing: border-box;
268
+ position: relative;
269
+ display: flex;
270
+ align-items: center;
271
+ padding: var(--scb-select-padding-y) 52px var(--scb-select-padding-y) var(--scb-select-padding-x);
272
+ }
273
+ :host([size='extra-small']) .selected-value-container {
274
+ padding-right: 44px;
275
+ }
276
+
277
+ `;
278
+ }
279
+ connectedCallback() {
280
+ super.connectedCallback(), document.addEventListener("mousedown", this._onDocumentClick), this._optionsObserver = new MutationObserver(() => {
281
+ this.requestUpdate();
282
+ }), this._optionsObserver.observe(this, {
283
+ childList: !0,
284
+ subtree: !0,
285
+ attributes: !0,
286
+ attributeFilter: [
287
+ "label",
288
+ "value",
289
+ "disabled"
290
+ ]
291
+ }), this._syncDensityForSize(), this._initialValue = this.value, this._initialValues = Array.isArray(this.values) ? [...this.values] : [], this._form = this.closest("form"), this._form && (this._formResetHandler = () => {
292
+ this.value = this._initialValue, this.values = Array.isArray(this._initialValues) ? [...this._initialValues] : [], this._syncFormValue(), this._syncValidity(), this.requestUpdate();
293
+ }, this._formSubmitHandler = (e) => {
294
+ this.reportValidity() || (e.preventDefault(), e.stopPropagation());
295
+ }, this._form.addEventListener("reset", this._formResetHandler, !0), this._form.addEventListener("submit", this._formSubmitHandler, !0));
296
+ }
297
+ disconnectedCallback() {
298
+ document.removeEventListener("mousedown", this._onDocumentClick), this._form && this._formResetHandler && this._form.removeEventListener("reset", this._formResetHandler, !0), this._form && this._formSubmitHandler && this._form.removeEventListener("submit", this._formSubmitHandler, !0), this._optionsObserver?.disconnect(), this._optionsObserver = null, super.disconnectedCallback();
299
+ }
300
+ _getMultiValues() {
301
+ return Array.isArray(this.values) && this.values.length > 0 ? this.values : this.value ? this.value.split(",").map((e) => e.trim()).filter(Boolean) : [];
302
+ }
303
+ _mapSpacingToken(e) {
304
+ if (!e) return;
305
+ let t = String(e).trim();
306
+ if (t) return /^\d+$/.test(t) ? `var(--spacing-${Math.max(0, Math.min(14, parseInt(t, 10)))})` : t;
307
+ }
308
+ _applySpacing() {
309
+ let e = this._mapSpacingToken(this.spacing), t = this._mapSpacingToken(this.spacingTop) ?? e, n = this._mapSpacingToken(this.spacingBottom) ?? e, r = this._mapSpacingToken(this.spacingLeft), i = this._mapSpacingToken(this.spacingRight);
310
+ t ? this.style.setProperty("--scb-select-spacing-block-start", t) : this.style.removeProperty("--scb-select-spacing-block-start"), n ? this.style.setProperty("--scb-select-spacing-block-end", n) : this.style.removeProperty("--scb-select-spacing-block-end"), r ? this.style.setProperty("--scb-select-spacing-inline-start", r) : this.style.removeProperty("--scb-select-spacing-inline-start"), i ? this.style.setProperty("--scb-select-spacing-inline-end", i) : this.style.removeProperty("--scb-select-spacing-inline-end");
311
+ }
312
+ _setOpen(e) {
313
+ this.open !== e && (this.open = e, e ? (this.focusedIndex = 0, this.requestUpdate()) : this.focusedIndex = -1);
314
+ }
315
+ _toggleOpen() {
316
+ this.disabled || this._setOpen(!this.open);
317
+ }
318
+ _hasMoreThanFourOptions() {
319
+ let e = this.shadowRoot?.querySelector("slot");
320
+ if (!e) return !1;
321
+ let t = e.assignedElements({ flatten: !0 }).filter((e) => e.tagName.toLowerCase() === "scb-select-option");
322
+ return [
323
+ "extra-small",
324
+ "small",
325
+ "medium"
326
+ ].includes(this.size) ? t.length > 5 : t.length > 4;
327
+ }
328
+ _selectOption(e) {
329
+ if (!e.disabled) {
330
+ if (this.variant === "multi-select") {
331
+ let t = this._getMultiValues();
332
+ t.indexOf(e.value) > -1 ? this.values = t.filter((t) => t !== e.value) : this.values = [...t, e.value], this.value = this.values.join(","), this.dispatchEvent(new CustomEvent("change", {
333
+ detail: { values: this.values },
334
+ bubbles: !0,
335
+ composed: !0
336
+ }));
337
+ } else this.variant === "single-select" && this.withRadiobuttons ? (this.value = e.value, this.dispatchEvent(new CustomEvent("change", {
338
+ detail: { value: this.value },
339
+ bubbles: !0,
340
+ composed: !0
341
+ }))) : (this.value = e.value, this._setOpen(!1), this.dispatchEvent(new CustomEvent("change", {
342
+ detail: { value: this.value },
343
+ bubbles: !0,
344
+ composed: !0
345
+ })));
346
+ this._updateOptionsChecked(), this.requestUpdate();
347
+ }
348
+ }
349
+ _getSelectedLabel() {
350
+ let e = this.shadowRoot?.querySelector("slot");
351
+ if (!e) return "";
352
+ let t = e.assignedElements({ flatten: !0 }).filter((e) => e.tagName.toLowerCase() === "scb-select-option");
353
+ if (this.variant === "multi-select") {
354
+ let e = this._getMultiValues(), n = t.filter((t) => e.includes(t.value));
355
+ return n && n.length > 0 ? n.map((e) => e.label).join(", ") : "";
356
+ } else {
357
+ let e = t.find((e) => e.value === this.value);
358
+ return e ? e.label : "";
359
+ }
360
+ }
361
+ firstUpdated() {
362
+ this._updateOptionsChecked(), this._syncFormValue(), this._syncValidity(), this._applySpacing();
363
+ }
364
+ updated(e) {
365
+ this._updateOptionsChecked(), this._syncFormValue(), this._syncValidity(), e.has("size") && this._syncDensityForSize(), (e.has("spacing") || e.has("spacingTop") || e.has("spacingBottom") || e.has("spacingLeft") || e.has("spacingRight")) && this._applySpacing();
366
+ }
367
+ _syncFormValue() {
368
+ if (this._internals) {
369
+ if (this.disabled || !this.name) {
370
+ this._internals.setFormValue(null);
371
+ return;
372
+ }
373
+ if (this.variant === "multi-select") {
374
+ let e = this._getMultiValues();
375
+ if (e.length === 0) {
376
+ this._internals.setFormValue(null);
377
+ return;
378
+ }
379
+ let t = new FormData();
380
+ e.forEach((e) => t.append(this.name, e)), this._internals.setFormValue(t);
381
+ return;
382
+ }
383
+ this._internals.setFormValue(this.value || null);
384
+ }
385
+ }
386
+ _getValidationMessage() {
387
+ return this._customValidationMessage ? this._customValidationMessage : this.required && !(this.variant === "multi-select" ? this._getMultiValues().length > 0 : this.value) ? "Välj ett alternativ." : "";
388
+ }
389
+ _syncValidity() {
390
+ if (!this._internals) return;
391
+ let e = this.disabled ? "" : this._getValidationMessage(), t = this.shadowRoot?.querySelector(".selected-value");
392
+ if (!e) {
393
+ this._internals.setValidity({}), this.removeAttribute("aria-invalid"), t && t.setCustomValidity("");
394
+ return;
395
+ }
396
+ t && t.setCustomValidity(e), this._internals.setValidity({ valueMissing: !0 }, e, t ?? void 0), this.setAttribute("aria-invalid", "true");
397
+ }
398
+ checkValidity() {
399
+ return !this._getValidationMessage();
400
+ }
401
+ reportValidity() {
402
+ return this._syncValidity(), this._internals ? this._internals.reportValidity() : this.checkValidity();
403
+ }
404
+ setCustomValidity(e) {
405
+ this._customValidationMessage = e, this._syncValidity();
406
+ }
407
+ get validity() {
408
+ return this._internals?.validity;
409
+ }
410
+ get validationMessage() {
411
+ return this._internals?.validationMessage ?? this._getValidationMessage();
412
+ }
413
+ get willValidate() {
414
+ return this._internals?.willValidate ?? !0;
415
+ }
416
+ _updateOptionsChecked() {
417
+ let e = this.shadowRoot?.querySelector("slot");
418
+ e && e.assignedElements({ flatten: !0 }).filter((e) => e.tagName.toLowerCase() === "scb-select-option").forEach((e) => {
419
+ if (this.noHighlightSelected ? e.setAttribute("no-highlight-selected", "") : e.removeAttribute("no-highlight-selected"), this.variant === "multi-select") {
420
+ let t = this._getMultiValues();
421
+ e.showCheckbox = !0, e.checked = t.includes(e.value), e.showRadio = !1;
422
+ } else e.showCheckbox = !1, e.checked = this.value === e.value, this.withRadiobuttons && (e.showRadio = !0);
423
+ });
424
+ }
425
+ render() {
426
+ return r`
427
+ ${this.label ? r`
428
+ <label
429
+ class="select-label ${this.supportingText ? "" : "select-label--without-supporting"}"
430
+ id="scb-select-label-${this.name}"
431
+ >
432
+ ${this.label}
433
+ </label>
434
+ ` : ""}
435
+ ${this.supportingText ? r`
436
+ <span class="select-sub-label">${this.supportingText}</span>
437
+ ` : ""}
438
+ <div class="select">
439
+ <div class="selected-value-container" tabindex="0" @click="${this._toggleOpen}" @keydown="${this._onKeyDown}">
440
+ <md-focus-ring inward></md-focus-ring>
441
+ <md-ripple></md-ripple>
442
+ <input
443
+ tabindex="-1"
444
+ class="selected-value"
445
+ type="text"
446
+ readonly
447
+ .value="${this._getSelectedLabel() || this.placeholder}"
448
+ name="${this.name}"
449
+ ?required=${this.required}
450
+ aria-required="${this.required ? "true" : "false"}"
451
+ aria-labelledby="${this.label ? `scb-select-label-${this.name}` : ""}"
452
+ aria-label="${!this.label && this.placeholder ? this.placeholder : ""}"
453
+ title="${!this.label && this.placeholder ? this.placeholder : ""}"
454
+ placeholder="${this.placeholder}"
455
+ />
456
+ <span class="arrow">
457
+ <scb-chevron .open=${this.open}></scb-chevron>
458
+ </span>
459
+ </div>
460
+ <div
461
+ class="${this._hasMoreThanFourOptions() ? "options options--scroll" : "options"}"
462
+ style=${o(this.zIndex ? `z-index: ${this.zIndex};` : void 0)}
463
+ @click=${this._onSlotClick}
464
+ @keydown=${this._onOptionKeyDown}
465
+ >
466
+ <slot @slotchange="${() => {
467
+ this.requestUpdate();
468
+ }}"></slot>
469
+ </div>
470
+ </div>
471
+ `;
472
+ }
473
+ };
474
+ e([a({ type: String })], s.prototype, "variant", void 0), e([a({ type: String })], s.prototype, "value", void 0), e([a({ type: Array })], s.prototype, "values", void 0), e([a({ type: Boolean })], s.prototype, "disabled", void 0), e([a({
475
+ type: Boolean,
476
+ reflect: !0
477
+ })], s.prototype, "required", void 0), e([a({
478
+ type: Boolean,
479
+ reflect: !0
480
+ })], s.prototype, "open", void 0), e([a({ type: String })], s.prototype, "label", void 0), e([a({ type: String })], s.prototype, "name", void 0), e([a({ type: String })], s.prototype, "placeholder", void 0), e([a({
481
+ type: String,
482
+ attribute: "supporting-text"
483
+ })], s.prototype, "supportingText", void 0), e([a({
484
+ type: Boolean,
485
+ attribute: "with-radiobuttons"
486
+ })], s.prototype, "withRadiobuttons", void 0), e([a({
487
+ type: Boolean,
488
+ attribute: "no-highlight-selected",
489
+ reflect: !0
490
+ })], s.prototype, "noHighlightSelected", void 0), e([a({
491
+ type: String,
492
+ reflect: !0
493
+ })], s.prototype, "size", void 0), e([a({
494
+ type: String,
495
+ reflect: !0
496
+ })], s.prototype, "spacing", void 0), e([a({
497
+ type: String,
498
+ attribute: "spacing-top",
499
+ reflect: !0
500
+ })], s.prototype, "spacingTop", void 0), e([a({
501
+ type: String,
502
+ attribute: "spacing-bottom",
503
+ reflect: !0
504
+ })], s.prototype, "spacingBottom", void 0), e([a({
505
+ type: String,
506
+ attribute: "spacing-left",
507
+ reflect: !0
508
+ })], s.prototype, "spacingLeft", void 0), e([a({
509
+ type: String,
510
+ attribute: "spacing-right",
511
+ reflect: !0
512
+ })], s.prototype, "spacingRight", void 0), e([a({
513
+ type: String,
514
+ attribute: "z-index"
515
+ })], s.prototype, "zIndex", void 0), s = e([i("scb-select")], s);
516
+ //#endregion
517
+ export { s as ScbSelect };
@@ -0,0 +1,92 @@
1
+ import { __decorate as e } from "../_virtual/_@oxc-project_runtime@0.126.0/helpers/decorate.js";
2
+ import { LitElement as t, css as n, html as r } from "lit";
3
+ import { customElement as i, property as a } from "lit/decorators.js";
4
+ //#region src/scb-test-components/scb-skeleton/scb-skeleton.ts
5
+ var o = class extends t {
6
+ constructor(...e) {
7
+ super(...e), this.variant = "rectangular", this.width = "100%", this.height = "100%", this.borderSize = "small", this.spacing = void 0, this.spacingTop = void 0, this.spacingBottom = void 0, this.spacingLeft = void 0, this.spacingRight = void 0;
8
+ }
9
+ static {
10
+ this.styles = n`
11
+ :host {
12
+ display: inline-block;
13
+ max-width: var(--scb-skeleton-width);
14
+ width: 100%;
15
+ height: var(--scb-skeleton-height);
16
+
17
+ margin-block-start: var(--scb-skeleton-spacing-block-start, 0);
18
+ margin-block-end: var(--scb-skeleton-spacing-block-end, 0);
19
+ margin-inline-start: var(--scb-skeleton-spacing-inline-start, 0);
20
+ margin-inline-end: var(--scb-skeleton-spacing-inline-end, 0);
21
+ }
22
+ .skeleton {
23
+ background: linear-gradient(90deg, var(--md-sys-color-surface-container-high) 25%, var(--md-sys-color-surface-container-highest) 50%, var(--md-sys-color-surface-container-high) 75%);
24
+ background-size: 200% 100%;
25
+ animation: skeleton-loading 3.2s infinite linear;
26
+ width: 100%;
27
+ height: 100%;
28
+ }
29
+ .rounded {
30
+ border-radius: var(--scb-skeleton-border-size);
31
+ }
32
+ .circle {
33
+ border-radius: 50%;
34
+ }
35
+ @keyframes skeleton-loading {
36
+ 0% {
37
+ background-position: 200% 0;
38
+ }
39
+ 100% {
40
+ background-position: -200% 0;
41
+ }
42
+ }
43
+ `;
44
+ }
45
+ mapSpacingToken(e) {
46
+ if (!e) return;
47
+ let t = String(e).trim();
48
+ if (t) return /^\d+$/.test(t) ? `var(--spacing-${Math.max(0, Math.min(14, parseInt(t, 10)))})` : t;
49
+ }
50
+ applySpacing() {
51
+ let e = this.mapSpacingToken(this.spacing), t = this.mapSpacingToken(this.spacingTop) ?? e, n = this.mapSpacingToken(this.spacingBottom) ?? e, r = this.mapSpacingToken(this.spacingLeft), i = this.mapSpacingToken(this.spacingRight);
52
+ t ? this.style.setProperty("--scb-skeleton-spacing-block-start", t) : this.style.removeProperty("--scb-skeleton-spacing-block-start"), n ? this.style.setProperty("--scb-skeleton-spacing-block-end", n) : this.style.removeProperty("--scb-skeleton-spacing-block-end"), r ? this.style.setProperty("--scb-skeleton-spacing-inline-start", r) : this.style.removeProperty("--scb-skeleton-spacing-inline-start"), i ? this.style.setProperty("--scb-skeleton-spacing-inline-end", i) : this.style.removeProperty("--scb-skeleton-spacing-inline-end");
53
+ }
54
+ firstUpdated(e) {
55
+ super.firstUpdated(e), this.applySpacing();
56
+ }
57
+ updated(e) {
58
+ super.updated(e), (e.has("spacing") || e.has("spacingTop") || e.has("spacingBottom") || e.has("spacingLeft") || e.has("spacingRight")) && this.applySpacing();
59
+ }
60
+ render() {
61
+ return this.style.setProperty("--scb-skeleton-width", this.width), this.style.setProperty("--scb-skeleton-height", this.height), this.variant === "rounded" && this.style.setProperty("--scb-skeleton-border-size", this.borderSize === "small" ? "8px" : this.borderSize === "medium" ? "16px" : this.borderSize === "large" ? "24px" : "8px"), r`
62
+ <div
63
+ class="skeleton${this.variant === "circular" ? " circle" : ""} ${this.variant === "rounded" ? " rounded" : ""}"
64
+ ><slot></slot></div>
65
+ `;
66
+ }
67
+ };
68
+ e([a({ type: String })], o.prototype, "variant", void 0), e([a({ type: String })], o.prototype, "width", void 0), e([a({ type: String })], o.prototype, "height", void 0), e([a({
69
+ type: String,
70
+ attribute: "border-size"
71
+ })], o.prototype, "borderSize", void 0), e([a({
72
+ type: String,
73
+ reflect: !0
74
+ })], o.prototype, "spacing", void 0), e([a({
75
+ type: String,
76
+ attribute: "spacing-top",
77
+ reflect: !0
78
+ })], o.prototype, "spacingTop", void 0), e([a({
79
+ type: String,
80
+ attribute: "spacing-bottom",
81
+ reflect: !0
82
+ })], o.prototype, "spacingBottom", void 0), e([a({
83
+ type: String,
84
+ attribute: "spacing-left",
85
+ reflect: !0
86
+ })], o.prototype, "spacingLeft", void 0), e([a({
87
+ type: String,
88
+ attribute: "spacing-right",
89
+ reflect: !0
90
+ })], o.prototype, "spacingRight", void 0), o = e([i("scb-skeleton")], o);
91
+ //#endregion
92
+ export { o as ScbSkeleton };