scb-wc 0.1.2 → 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 -1663
  5. package/blazor/scb-blazor-bridge.js +6827 -2517
  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 -2517
  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,402 @@
1
+ import { __decorate as e } from "../_virtual/_@oxc-project_runtime@0.126.0/helpers/decorate.js";
2
+ import "../scb-button/scb-button.js";
3
+ import { LitElement as t, css as n, html as r, nothing as i } from "lit";
4
+ import { customElement as a, property as o } from "lit/decorators.js";
5
+ import "@material/web/icon/icon.js";
6
+ import { unsafeHTML as s } from "lit/directives/unsafe-html.js";
7
+ //#region src/scb-test-components/scb-tooltip/scb-tooltip.ts
8
+ var c = 0, l = class extends t {
9
+ constructor(...e) {
10
+ super(...e), this.variant = "plain", this.arrow = null, this.supportingtext = "", this.label = "", this.trigger = "hover", this.position = "top", this.open = !1, this.delay = .25, this.offset = 0, this.maxWidth = "300px", this._hoverActive = !1, this._clickActive = !1, this._hideTimeout = null, this._triggerEl = null, this._originalPosition = "top", this._tooltipId = `scb-tooltip-${++c}`, this._onTriggerMouseEnter = () => {
11
+ this._hasTooltipContent() && (this._hoverActive = !0, this.open = !0);
12
+ }, this._onTriggerMouseLeave = () => {
13
+ this._hoverActive = !1, this._clickActive || (this.open = !1);
14
+ }, this._onTriggerFocus = () => {
15
+ this._hasTooltipContent() && (this._hoverActive = !0, this.open = !0);
16
+ }, this._onTriggerBlur = () => {
17
+ this._hoverActive = !1, this._clickActive || (this.open = !1);
18
+ }, this._onTooltipMouseEnter = () => {
19
+ this._hasTooltipContent() && (this.trigger === "hover" || this.trigger === "hover-click") && (this._hoverActive = !0, this.open = !0);
20
+ }, this._onTooltipMouseLeave = () => {
21
+ (this.trigger === "hover" || this.trigger === "hover-click") && (this._hoverActive = !1, this._clickActive || (this.open = !1));
22
+ }, this._onTriggerClick = () => {
23
+ this._hasTooltipContent() && (this._clickActive = !this._clickActive, this._clickActive ? this.open = !0 : this._hoverActive || (this.open = !1));
24
+ };
25
+ }
26
+ static {
27
+ this.styles = n`
28
+ :host {
29
+ position: relative;
30
+ display: inline-block;
31
+ --delay: 0.25s;
32
+ --max-width: 300px;
33
+ --wrap: normal;
34
+ }
35
+
36
+ .scb-tooltip {
37
+ position: absolute;
38
+ min-width: 120px;
39
+ max-width: var(--max-width);
40
+ width: max-content;
41
+ opacity: 0;
42
+ visibility: hidden;
43
+ z-index: var(--scb-tooltip-z-index, 1000);
44
+ transition:
45
+ opacity var(--delay) ease-in-out,
46
+ visibility var(--delay) ease-in-out;
47
+ }
48
+
49
+ .scb-tooltip[open] {
50
+ opacity: 1;
51
+ visibility: visible;
52
+ }
53
+
54
+ .hidden {
55
+ visibility: hidden;
56
+ }
57
+
58
+ .scb-tooltip-supporting-text {
59
+ font-family: var(--brand-font, Inter);
60
+ font-size: var(--md-sys-typescale-body-small-size);
61
+ font-style: normal;
62
+ line-height: var(--md-sys-typescale-body-small-line-height);
63
+ letter-spacing: var(--md-sys-typescale-body-small-tracking);
64
+ white-space: var(--wrap);
65
+ }
66
+
67
+ /* Plain variant */
68
+
69
+ :host([variant='plain']) .scb-tooltip {
70
+ max-width: var(--max-width);
71
+ }
72
+
73
+ :host([variant='plain']) .scb-tooltip-container {
74
+ display: inline-flex;
75
+ flex-direction: column;
76
+ justify-content: center;
77
+ align-items: center;
78
+ background: var(--md-sys-color-inverse-surface);
79
+ border-radius: var(--md-sys-shape-corner-extra-small);
80
+ min-height: 14px;
81
+ width: 100%;
82
+ }
83
+
84
+ :host([variant='plain']) .scb-tooltip-supporting-text {
85
+ padding: var(--spacing-2) var(--spacing-3);
86
+ color: var(--md-sys-color-inverse-on-surface);
87
+ }
88
+
89
+ .scb-tooltip-arrow {
90
+ width: 12px;
91
+ height: 6px;
92
+ position: absolute;
93
+ }
94
+
95
+ :host([position='top']) .scb-tooltip-arrow {
96
+ left: 50%;
97
+ bottom: -6px;
98
+ transform: translateX(-50%) rotate(0deg);
99
+ }
100
+
101
+ :host([position='right']) .scb-tooltip-arrow {
102
+ left: -9px;
103
+ top: 50%;
104
+ transform: translateY(-50%) rotate(90deg);
105
+ }
106
+
107
+ :host([position='bottom']) .scb-tooltip-arrow {
108
+ left: 50%;
109
+ top: -6px;
110
+ transform: translateX(-50%) rotate(180deg);
111
+ }
112
+
113
+ :host([position='left']) .scb-tooltip-arrow {
114
+ left: 100%;
115
+ top: 50%;
116
+ transform: translateY(-50%) translateX(-3px) rotate(270deg);
117
+ }
118
+
119
+ :host([variant='plain'][arrow='false']) .scb-tooltip-arrow {
120
+ display: none;
121
+ }
122
+
123
+ /* Rich variant */
124
+
125
+ :host([variant='rich']) {
126
+ align-items: flex-start;
127
+ gap: var(--spacing-2);
128
+ }
129
+
130
+ :host([variant='rich']) .scb-tooltip {
131
+ background: var(--md-sys-color-surface-container, #ebf8ff);
132
+ box-shadow:
133
+ 0 2px 4px -1px rgba(0, 0, 0, 0.2),
134
+ 0 1px 10px 0 rgba(0, 0, 0, 0.12),
135
+ 0 4px 5px 0 rgba(0, 0, 0, 0.14);
136
+ display: inline-flex;
137
+ padding-bottom: var(--spacing-3);
138
+ flex-direction: column;
139
+ align-items: flex-start;
140
+ gap: var(--spacing-3);
141
+ border-radius: var(--md-sys-shape-corner-medium);
142
+ min-width: 200px;
143
+ max-width: var(--max-width);
144
+ }
145
+
146
+ :host([variant='rich']) .scb-tooltip-text-container {
147
+ display: flex;
148
+ min-width: 220px;
149
+ padding: var(--spacing-4) var(--spacing-5) var(--spacing-2) var(--spacing-5);
150
+ align-items: flex-start;
151
+ gap: var(--spacing-2);
152
+ flex-direction: column;
153
+ }
154
+
155
+ :host([variant='rich']) .scb-tooltip-label {
156
+ font-family: var(--brand-font, Inter);
157
+ font-size: var(--md-sys-typescale-title-small-size);
158
+ font-style: normal;
159
+ font-weight: var(--weight-semibold);
160
+ line-height: var(--md-sys-typescale-title-small-Line-Height);
161
+ letter-spacing: var(--md-sys-typescale-title-small-Tracking);
162
+ }
163
+
164
+ :host([variant='rich']) .scb-tooltip-supporting-text {
165
+ color: var(--md-sys-color-on-surface-variant, rgba(11, 5, 68, 0.75));
166
+ }
167
+
168
+ :host([variant='rich']) .scb-tooltip-button-container {
169
+ display: flex;
170
+ padding: 0 var(--spacing-3);
171
+ align-items: center;
172
+ gap: var(--spacing-3);
173
+ align-self: stretch;
174
+ }
175
+ `;
176
+ }
177
+ firstUpdated() {
178
+ if (this._originalPosition = this.position, this._updateDelayCss(), this._updateMaxWidthCss(), this._updateTriggerElement(), this._updateTooltipHoverListeners(), this.open) {
179
+ let e = this._getTooltipElement();
180
+ e && this._showTooltip(e);
181
+ }
182
+ }
183
+ updated(e) {
184
+ if (e.has("trigger") && (this._updateTriggerElement(), this._updateTooltipHoverListeners()), e.has("delay") && this._updateDelayCss(), e.has("maxWidth") && this._updateMaxWidthCss(), (e.has("supportingtext") || e.has("label") || e.has("variant")) && (this._hasTooltipContent() || (this._hoverActive = !1, this._clickActive = !1, this.open = !1), this._updateTriggerElement(), this._updateTooltipHoverListeners()), e.has("open")) {
185
+ if (this.open && !this._hasTooltipContent()) {
186
+ this.open = !1;
187
+ return;
188
+ }
189
+ let e = this._getTooltipElement();
190
+ if (!e) return;
191
+ this.open ? this._showTooltip(e) : this._hideTooltip(e), this._dispatchOpenChanged();
192
+ }
193
+ }
194
+ disconnectedCallback() {
195
+ super.disconnectedCallback(), this._detachTriggerListeners();
196
+ let e = this._getTooltipElement();
197
+ e && (e.removeEventListener("mouseenter", this._onTooltipMouseEnter), e.removeEventListener("mouseleave", this._onTooltipMouseLeave)), this._hideTimeout !== null && (window.clearTimeout(this._hideTimeout), this._hideTimeout = null);
198
+ }
199
+ _getTooltipElement() {
200
+ return this.renderRoot.querySelector(".scb-tooltip");
201
+ }
202
+ _hasTooltipContent() {
203
+ let e = (this.supportingtext || "").trim();
204
+ return this.variant === "rich" ? !!((this.label || "").trim() || e) : !!e;
205
+ }
206
+ _updateDelayCss() {
207
+ let e = Number.isFinite(this.delay) ? this.delay : .25;
208
+ this.style.setProperty("--delay", `${e}s`);
209
+ }
210
+ _updateMaxWidthCss() {
211
+ let e = (this.maxWidth || "").trim(), t = e.toLowerCase() === "none", n = t ? "none" : e || "300px";
212
+ this.style.setProperty("--max-width", n), this.style.setProperty("--wrap", t ? "nowrap" : "normal");
213
+ }
214
+ _dispatchOpenChanged() {
215
+ let e = { open: this.open };
216
+ this.dispatchEvent(new CustomEvent("open-changed", {
217
+ detail: e,
218
+ bubbles: !0,
219
+ composed: !0
220
+ })), this.dispatchEvent(new CustomEvent("openchanged", {
221
+ detail: e,
222
+ bubbles: !0,
223
+ composed: !0
224
+ }));
225
+ }
226
+ _findTriggerElement() {
227
+ return this.querySelector("[scb-tooltip-anchor]:not([slot])") || (Array.from(this.children).find((e) => e.nodeType === Node.ELEMENT_NODE) ?? null);
228
+ }
229
+ _updateTriggerElement() {
230
+ let e = this._triggerEl;
231
+ e && (this._detachTriggerListeners(), e.removeAttribute("aria-describedby"));
232
+ let t = this._findTriggerElement();
233
+ this._triggerEl = t, t && this._hasTooltipContent() && (t.setAttribute("aria-describedby", this._tooltipId), (this.trigger === "click" || this.trigger === "hover-click") && t.addEventListener("click", this._onTriggerClick), (this.trigger === "hover" || this.trigger === "hover-click") && (t.addEventListener("mouseenter", this._onTriggerMouseEnter), t.addEventListener("mouseleave", this._onTriggerMouseLeave), t.addEventListener("focus", this._onTriggerFocus), t.addEventListener("blur", this._onTriggerBlur)));
234
+ }
235
+ _updateTooltipHoverListeners() {
236
+ let e = this._getTooltipElement();
237
+ e && (e.removeEventListener("mouseenter", this._onTooltipMouseEnter), e.removeEventListener("mouseleave", this._onTooltipMouseLeave), (this.trigger === "hover" || this.trigger === "hover-click") && (e.addEventListener("mouseenter", this._onTooltipMouseEnter), e.addEventListener("mouseleave", this._onTooltipMouseLeave)));
238
+ }
239
+ _detachTriggerListeners() {
240
+ let e = this._triggerEl;
241
+ e && (e.removeEventListener("click", this._onTriggerClick), e.removeEventListener("mouseenter", this._onTriggerMouseEnter), e.removeEventListener("mouseleave", this._onTriggerMouseLeave), e.removeEventListener("focus", this._onTriggerFocus), e.removeEventListener("blur", this._onTriggerBlur));
242
+ }
243
+ _showTooltip(e) {
244
+ if (!this._hasTooltipContent()) {
245
+ this.open = !1;
246
+ return;
247
+ }
248
+ this._hideTimeout !== null && (window.clearTimeout(this._hideTimeout), this._hideTimeout = null);
249
+ let t = this._triggerEl;
250
+ this._resetPosition(), e.classList.remove("hidden"), e.setAttribute("aria-hidden", "false"), requestAnimationFrame(() => {
251
+ t && this._positionTooltip(e, t), e.setAttribute("open", "");
252
+ });
253
+ }
254
+ _hideTooltip(e) {
255
+ e.removeAttribute("open"), e.setAttribute("aria-hidden", "true"), this._scheduleHidden(e);
256
+ }
257
+ _scheduleHidden(e) {
258
+ let t = (Number.isFinite(this.delay) ? this.delay : .25) * 1e3;
259
+ if (t <= 0) {
260
+ e.classList.add("hidden");
261
+ return;
262
+ }
263
+ this._hideTimeout = window.setTimeout(() => {
264
+ e.classList.add("hidden"), this._hideTimeout = null;
265
+ }, t);
266
+ }
267
+ _resetPosition() {
268
+ this.position = this._originalPosition;
269
+ }
270
+ _positionTooltip(e, t) {
271
+ let n = t.getBoundingClientRect(), r = e.getBoundingClientRect(), i = this.getBoundingClientRect(), a = (this.offset ?? 0) + 8, o = window.innerHeight - 8, s = window.innerWidth - 8, c = (e) => e >= 8 && e + r.height <= o, l = (e) => e >= 8 && e + r.width <= s, u = (e, t, n, r) => {
272
+ let i = 0;
273
+ e < n && (i += n - e);
274
+ let a = e + t;
275
+ return a > r && (i += a - r), i;
276
+ }, d = (e) => {
277
+ let t = 0, d = 0;
278
+ switch (e) {
279
+ case "top":
280
+ t = n.top - i.top - r.height - a, d = n.left - i.left + (n.width - r.width) / 2;
281
+ break;
282
+ case "bottom":
283
+ t = n.bottom - i.top + a, d = n.left - i.left + (n.width - r.width) / 2;
284
+ break;
285
+ case "left":
286
+ d = n.left - i.left - r.width - a, t = n.top - i.top + (n.height - r.height) / 2;
287
+ break;
288
+ case "right":
289
+ d = n.right - i.left + a, t = n.top - i.top + (n.height - r.height) / 2;
290
+ break;
291
+ }
292
+ let f = t + i.top, p = d + i.left, m = u(f, r.height, 8, o), h = u(p, r.width, 8, s);
293
+ return {
294
+ pos: e,
295
+ top: t,
296
+ left: d,
297
+ fitsV: c(f),
298
+ fitsH: l(p),
299
+ totalOverflow: m + h
300
+ };
301
+ }, f = this.position === "top" || this.position === "bottom", p = this.position, m = [
302
+ p,
303
+ this._getOppositePosition(p),
304
+ f ? "left" : "top",
305
+ f ? "right" : "bottom"
306
+ ].map(d), h = m.find((e) => e.fitsV && e.fitsH) ?? m.reduce((e, t) => t.totalOverflow < e.totalOverflow ? t : e), g = (e, t, n) => Math.min(Math.max(e, t), n), _ = 8 - i.top, v = o - r.height - i.top, y = 8 - i.left, b = s - r.width - i.left, x = g(h.top, _, v), S = g(h.left, y, b);
307
+ e.style.top = `${x}px`, e.style.left = `${S}px`, this.position !== h.pos && (this.position = h.pos);
308
+ }
309
+ _getOppositePosition(e) {
310
+ switch (e) {
311
+ case "top": return "bottom";
312
+ case "bottom": return "top";
313
+ case "left": return "right";
314
+ case "right": return "left";
315
+ }
316
+ }
317
+ _onDefaultSlotChange() {
318
+ this._updateTriggerElement();
319
+ }
320
+ render() {
321
+ let e = this._hasTooltipContent(), t = this.arrow ? r`<svg
322
+ class="scb-tooltip-arrow"
323
+ xmlns="http://www.w3.org/2000/svg"
324
+ width="13"
325
+ height="6"
326
+ viewBox="0 0 13 6"
327
+ fill="none"
328
+ >
329
+ <path
330
+ d="M6.5 6L0.5 0H12.5L6.5 6Z"
331
+ fill="var(--md-sys-color-inverse-surface, #0F0865)"
332
+ />
333
+ </svg>` : i, n = this.label || this.supportingtext;
334
+ return e ? this.variant === "rich" ? r`
335
+ <div
336
+ id=${this._tooltipId}
337
+ class="scb-tooltip hidden"
338
+ role="tooltip"
339
+ aria-label=${n}
340
+ aria-hidden="true"
341
+ >
342
+ <div class="scb-tooltip-text-container">
343
+ <label class="scb-tooltip-label">${this.label}</label>
344
+ <span class="scb-tooltip-supporting-text">
345
+ ${s(this.supportingtext)}
346
+ </span>
347
+ </div>
348
+ <div class="scb-tooltip-button-container">
349
+ <slot name="scb-tooltip-button"></slot>
350
+ </div>
351
+ </div>
352
+ <slot @slotchange=${this._onDefaultSlotChange}></slot>
353
+ ` : r`
354
+ <div
355
+ id=${this._tooltipId}
356
+ class="scb-tooltip hidden"
357
+ role="tooltip"
358
+ aria-label=${n}
359
+ aria-hidden="true"
360
+ >
361
+ <div class="scb-tooltip-container">
362
+ <span class="scb-tooltip-supporting-text">
363
+ ${s(this.supportingtext)}
364
+ </span>
365
+ </div>
366
+ ${t}
367
+ </div>
368
+ <slot @slotchange=${this._onDefaultSlotChange}></slot>
369
+ ` : r`<slot @slotchange=${this._onDefaultSlotChange}></slot>`;
370
+ }
371
+ };
372
+ e([o({
373
+ type: String,
374
+ reflect: !0
375
+ })], l.prototype, "variant", void 0), e([o({
376
+ type: Boolean,
377
+ reflect: !0
378
+ })], l.prototype, "arrow", void 0), e([o({
379
+ type: String,
380
+ attribute: "supporting-text"
381
+ })], l.prototype, "supportingtext", void 0), e([o({ type: String })], l.prototype, "label", void 0), e([o({
382
+ type: String,
383
+ reflect: !0
384
+ })], l.prototype, "trigger", void 0), e([o({
385
+ type: String,
386
+ reflect: !0
387
+ })], l.prototype, "position", void 0), e([o({
388
+ type: Boolean,
389
+ reflect: !0
390
+ })], l.prototype, "open", void 0), e([o({
391
+ type: Number,
392
+ reflect: !0
393
+ })], l.prototype, "delay", void 0), e([o({
394
+ type: Number,
395
+ reflect: !0
396
+ })], l.prototype, "offset", void 0), e([o({
397
+ type: String,
398
+ reflect: !0,
399
+ attribute: "max-width"
400
+ })], l.prototype, "maxWidth", void 0), l = e([a("scb-tooltip")], l);
401
+ //#endregion
402
+ export { l as ScbTooltip };
@@ -1 +1 @@
1
- h1,h2,h3,h4,h5,h6{margin:0 0 .6em;color:var(--md-sys-color-on-surface)}h1{font-family:var(--md-sys-typescale-display-large-font);font-size:var(--md-sys-typescale-display-large-size);line-height:var(--md-sys-typescale-display-large-line-height);font-weight:var(--md-sys-typescale-display-large-weight);letter-spacing:var(--md-sys-typescale-display-large-tracking)}h2{font-family:var(--md-sys-typescale-display-medium-font);font-size:var(--md-sys-typescale-display-medium-size);line-height:var(--md-sys-typescale-display-medium-line-height);font-weight:var(--md-sys-typescale-display-medium-weight);letter-spacing:var(--md-sys-typescale-display-medium-tracking)}h3{font-family:var(--md-sys-typescale-headline-large-font);font-size:var(--md-sys-typescale-headline-large-size);line-height:var(--md-sys-typescale-headline-large-line-height);font-weight:var(--md-sys-typescale-headline-large-weight);letter-spacing:var(--md-sys-typescale-headline-large-tracking)}h4{font-family:var(--md-sys-typescale-headline-medium-font);font-size:var(--md-sys-typescale-headline-medium-size);line-height:var(--md-sys-typescale-headline-medium-line-height);font-weight:var(--md-sys-typescale-headline-medium-weight);letter-spacing:var(--md-sys-typescale-headline-medium-tracking)}h5{font-family:var(--md-sys-typescale-title-large-font);font-size:var(--md-sys-typescale-title-large-size);line-height:var(--md-sys-typescale-title-large-line-height);font-weight:var(--md-sys-typescale-title-large-weight);letter-spacing:var(--md-sys-typescale-title-large-tracking)}h6{font-family:var(--md-sys-typescale-title-medium-font);font-size:var(--md-sys-typescale-title-medium-size);line-height:var(--md-sys-typescale-title-medium-line-height);font-weight:var(--md-sys-typescale-title-medium-weight);letter-spacing:var(--md-sys-typescale-title-medium-tracking)}
1
+ html{font-family:var(--md-sys-typescale-body-large-font)}h1,h2,h3,h4,h5,h6,html,p{color:var(--md-sys-color-on-surface)}h1,h2,h3,h4,h5,h6{margin:0 0 .6em}h1{font-family:var(--md-sys-typescale-display-large-font);font-size:var(--md-sys-typescale-display-medium-size);line-height:var(--md-sys-typescale-display-medium-line-height);font-weight:var(--md-sys-typescale-display-medium-weight);letter-spacing:var(--md-sys-typescale-display-medium-tracking)}h2{font-family:var(--md-sys-typescale-display-medium-font);font-size:var(--md-sys-typescale-headline-large-size);line-height:var(--md-sys-typescale-headline-large-line-height);font-weight:var(--md-sys-typescale-headline-large-weight);letter-spacing:var(--md-sys-typescale-headline-large-tracking)}h3{font-family:var(--md-sys-typescale-headline-large-font);font-size:var(--md-sys-typescale-headline-small-size);line-height:var(--md-sys-typescale-headline-small-line-height);font-weight:var(--md-sys-typescale-headline-small-weight);letter-spacing:var(--md-sys-typescale-headline-small-tracking)}h4,h5,h6{font-family:var(--md-sys-typescale-headline-medium-font);font-size:var(--md-sys-typescale-title-medium-size);line-height:var(--md-sys-typescale-title-medium-line-height);font-weight:var(--md-sys-typescale-title-medium-weight);letter-spacing:var(--md-sys-typescale-title-medium-tracking)}p{font-family:var(--md-sys-typescale-body-large-font);font-size:var(--md-sys-typescale-body-large-size);line-height:var(--md-sys-typescale-body-large-line-height);font-weight:var(--md-sys-typescale-body-large-weight);letter-spacing:var(--md-sys-typescale-body-large-tracking);font-style:normal}a{text-decoration:var(--scb-link-decoration, underline);text-underline-offset:var(--scb-link-underline-offset, .22em);text-decoration-thickness:var(--scb-link-underline-thickness, 1px);color:var(--scb-link-color, var(--md-sys-color-primary))}a:hover{text-decoration-thickness:var(--scb-link-hover-thickness, 2px)}a:focus{outline-offset:4px;outline-color:var(--md-sys-color-Primary, #1F44FF)}
@@ -0,0 +1,88 @@
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-vignette/scb-vignette.ts
5
+ var o = class extends t {
6
+ constructor(...e) {
7
+ super(...e), this.label = "", this.variant = "outline", 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: block;
13
+ margin-block-start: var(--scb-vignette-spacing-block-start, 0);
14
+ margin-block-end: var(--scb-vignette-spacing-block-end, 0);
15
+ margin-inline-start: var(--scb-vignette-spacing-inline-start, 0);
16
+ margin-inline-end: var(--scb-vignette-spacing-inline-end, 0);
17
+ }
18
+
19
+ .vignette {
20
+ --scb-vignette-color: var(--md-sys-color-on-surface, #0F0865);
21
+ padding: 3px 11px;
22
+ border-radius: 8px;
23
+ border: 1px solid var(--md-sys-color-outline);
24
+ width: fit-content;
25
+ color: var(--md-sys-color-on-surface);
26
+ }
27
+
28
+ :host([variant='filled']) .vignette {
29
+ background: color-mix(in srgb, var(--scb-vignette-color) 8%, transparent);
30
+ border: none;
31
+ color: var(--scb-vignette-color);
32
+ }
33
+
34
+ .vignette p {
35
+ font-size: 14px;
36
+ font-style: normal;
37
+ font-weight: 550;
38
+ line-height: 22px;
39
+ margin: 0;
40
+ color: var(--md-sys-color-on-surface);
41
+ }
42
+ `;
43
+ }
44
+ updated(e) {
45
+ super.updated(e), (e.has("spacing") || e.has("spacingTop") || e.has("spacingBottom") || e.has("spacingLeft") || e.has("spacingRight")) && this.applySpacing();
46
+ }
47
+ mapSpacingToken(e) {
48
+ if (!e) return;
49
+ let t = String(e).trim();
50
+ if (t) return /^\d+$/.test(t) ? `var(--spacing-${Math.max(0, Math.min(14, parseInt(t, 10)))})` : t;
51
+ }
52
+ applySpacing() {
53
+ 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);
54
+ t ? this.style.setProperty("--scb-vignette-spacing-block-start", t) : this.style.removeProperty("--scb-vignette-spacing-block-start"), n ? this.style.setProperty("--scb-vignette-spacing-block-end", n) : this.style.removeProperty("--scb-vignette-spacing-block-end"), r ? this.style.setProperty("--scb-vignette-spacing-inline-start", r) : this.style.removeProperty("--scb-vignette-spacing-inline-start"), i ? this.style.setProperty("--scb-vignette-spacing-inline-end", i) : this.style.removeProperty("--scb-vignette-spacing-inline-end");
55
+ }
56
+ render() {
57
+ return r`
58
+ <div class="vignette">
59
+ <p>${this.label}</p>
60
+ </div>
61
+ `;
62
+ }
63
+ };
64
+ e([a({ type: String })], o.prototype, "label", void 0), e([a({
65
+ type: String,
66
+ reflect: !0
67
+ })], o.prototype, "variant", void 0), e([a({
68
+ type: String,
69
+ reflect: !0
70
+ })], o.prototype, "spacing", void 0), e([a({
71
+ type: String,
72
+ attribute: "spacing-top",
73
+ reflect: !0
74
+ })], o.prototype, "spacingTop", void 0), e([a({
75
+ type: String,
76
+ attribute: "spacing-bottom",
77
+ reflect: !0
78
+ })], o.prototype, "spacingBottom", void 0), e([a({
79
+ type: String,
80
+ attribute: "spacing-left",
81
+ reflect: !0
82
+ })], o.prototype, "spacingLeft", void 0), e([a({
83
+ type: String,
84
+ attribute: "spacing-right",
85
+ reflect: !0
86
+ })], o.prototype, "spacingRight", void 0), o = e([i("scb-vignette")], o);
87
+ //#endregion
88
+ export { o as ScbVignette };
@@ -0,0 +1,143 @@
1
+ //#region src/scb-test-components/scb-viz/scb-viz-actions-runtime.ts
2
+ var e = (e) => {
3
+ let t = getComputedStyle(e).backgroundColor;
4
+ return t && t !== "rgba(0, 0, 0, 0)" ? t : "#ffffff";
5
+ };
6
+ function t({ lang: e, title: t }) {
7
+ let n = e === "en" ? "visualization" : "visualisering";
8
+ return (t || n).normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "") || n;
9
+ }
10
+ function n(e, n) {
11
+ let r = n === "csv" ? e.lang === "en" ? "-table" : "-tabell" : "";
12
+ return `${t(e)}${r}.${n}`;
13
+ }
14
+ function r(e = document) {
15
+ return e;
16
+ }
17
+ function i(e = document) {
18
+ let t = r(e);
19
+ return t.fullscreenElement || t.webkitFullscreenElement || null;
20
+ }
21
+ function a(e) {
22
+ return !!(e.requestFullscreen || e.webkitRequestFullscreen);
23
+ }
24
+ async function o(e, t = document) {
25
+ if (!a(e)) return;
26
+ let n = r(t), o = i(t);
27
+ if (o === e) {
28
+ n.exitFullscreen ? await n.exitFullscreen() : n.webkitExitFullscreen && await n.webkitExitFullscreen();
29
+ return;
30
+ }
31
+ o && (n.exitFullscreen ? await n.exitFullscreen() : n.webkitExitFullscreen && await n.webkitExitFullscreen()), e.requestFullscreen ? await e.requestFullscreen() : e.webkitRequestFullscreen && await e.webkitRequestFullscreen();
32
+ }
33
+ async function s(e, t = document) {
34
+ let n = t.createElement("iframe");
35
+ n.setAttribute("aria-hidden", "true"), n.style.position = "fixed", n.style.right = "0", n.style.bottom = "0", n.style.width = "0", n.style.height = "0", n.style.border = "0", n.style.visibility = "hidden", t.body.appendChild(n);
36
+ let r = () => {
37
+ n.remove();
38
+ }, i = n.contentDocument, a = n.contentWindow;
39
+ if (!i || !a) {
40
+ r();
41
+ return;
42
+ }
43
+ i.open(), i.write(e), i.close();
44
+ let o = Array.from(i.images || []);
45
+ await Promise.all(o.map((e) => e.complete ? Promise.resolve() : new Promise((t) => {
46
+ e.addEventListener("load", () => t(null), { once: !0 }), e.addEventListener("error", () => t(null), { once: !0 });
47
+ })));
48
+ let s = () => {
49
+ a.removeEventListener("afterprint", s), r();
50
+ };
51
+ a.addEventListener("afterprint", s, { once: !0 }), setTimeout(() => {
52
+ a.focus(), a.print(), setTimeout(r, 1e3);
53
+ }, 50);
54
+ }
55
+ async function c(e, t) {
56
+ e.setAttribute("data-scb-viz-force-light", ""), await new Promise((e) => requestAnimationFrame(() => e(null)));
57
+ try {
58
+ return await t();
59
+ } finally {
60
+ e.removeAttribute("data-scb-viz-force-light");
61
+ }
62
+ }
63
+ function l(e, t) {
64
+ let n = t === "en" ? "," : ";", r = (e) => `"${String(e ?? "").replace(/\r?\n/g, " ").replace(/"/g, "\"\"")}"`, i = `\uFEFF${e.map((e) => e.map(r).join(n)).join("\r\n")}`;
65
+ return new Blob([i], { type: "text/csv;charset=utf-8;" });
66
+ }
67
+ async function u(e, t, n) {
68
+ let r = await p(e, t);
69
+ return r ? v(r, n === "jpeg" ? "image/jpeg" : "image/png", n === "jpeg" ? .92 : void 0) : null;
70
+ }
71
+ async function d(e, t, n) {
72
+ let r = await p(e, t);
73
+ return r ? r.toDataURL(n === "jpeg" ? "image/jpeg" : "image/png", n === "jpeg" ? .92 : void 0) : null;
74
+ }
75
+ function f(e, t, n = document) {
76
+ let r = URL.createObjectURL(e), i = n.createElement("a");
77
+ i.href = r, i.download = t, n.body.appendChild(i), i.click(), i.remove(), setTimeout(() => URL.revokeObjectURL(r), 0);
78
+ }
79
+ async function p(t, n) {
80
+ let r = e(n);
81
+ if (t instanceof HTMLCanvasElement) {
82
+ let e = t.width || Math.round(t.getBoundingClientRect().width), n = t.height || Math.round(t.getBoundingClientRect().height);
83
+ if (!e || !n) return null;
84
+ let i = document.createElement("canvas");
85
+ i.width = e, i.height = n;
86
+ let a = i.getContext("2d");
87
+ return a ? (a.fillStyle = r, a.fillRect(0, 0, e, n), a.drawImage(t, 0, 0, e, n), i) : null;
88
+ }
89
+ if (t instanceof HTMLImageElement) {
90
+ let e = t.naturalWidth || t.width, n = t.naturalHeight || t.height;
91
+ return !e || !n ? null : g(t.currentSrc || t.src, e, n, r);
92
+ }
93
+ let { width: i, height: a, serialized: o } = m(t);
94
+ if (!i || !a || !o) return null;
95
+ let s = new Blob([o], { type: "image/svg+xml;charset=utf-8" }), c = URL.createObjectURL(s);
96
+ try {
97
+ return await g(c, i, a, r);
98
+ } finally {
99
+ URL.revokeObjectURL(c);
100
+ }
101
+ }
102
+ function m(e) {
103
+ let t = e.cloneNode(!0), n = e.getBoundingClientRect(), r = e.viewBox?.baseVal, i = Math.round(r?.width || n.width || Number(e.getAttribute("width")) || 0), a = Math.round(r?.height || n.height || Number(e.getAttribute("height")) || 0);
104
+ return t.setAttribute("xmlns", "http://www.w3.org/2000/svg"), t.setAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink"), !t.getAttribute("width") && i && t.setAttribute("width", String(i)), !t.getAttribute("height") && a && t.setAttribute("height", String(a)), !t.getAttribute("viewBox") && i && a && t.setAttribute("viewBox", `0 0 ${i} ${a}`), h(e, t), t.querySelectorAll(".highcharts-tooltip, .highcharts-contextmenu, .highcharts-a11y-proxy-container, .highcharts-a11y-dummy-point").forEach((e) => e.remove()), {
105
+ width: i,
106
+ height: a,
107
+ serialized: new XMLSerializer().serializeToString(t)
108
+ };
109
+ }
110
+ function h(e, t) {
111
+ let n = getComputedStyle(e), r = "";
112
+ for (let e = 0; e < n.length; e += 1) {
113
+ let t = n[e], i = n.getPropertyValue(t);
114
+ i && (r += `${t}:${i};`);
115
+ }
116
+ r && t.setAttribute("style", r);
117
+ let i = Array.from(e.children), a = Array.from(t.children);
118
+ for (let e = 0; e < i.length; e += 1) {
119
+ let t = i[e], n = a[e];
120
+ t && n && h(t, n);
121
+ }
122
+ }
123
+ async function g(e, t, n, r) {
124
+ let i = Math.max(1, Math.min(2, window.devicePixelRatio || 1)), a = Math.max(1, Math.round(t)), o = Math.max(1, Math.round(n)), s = document.createElement("canvas");
125
+ s.width = Math.max(1, Math.round(a * i)), s.height = Math.max(1, Math.round(o * i));
126
+ let c = s.getContext("2d");
127
+ if (!c) return null;
128
+ let l = await _(e);
129
+ return l ? (c.scale(i, i), c.fillStyle = r, c.fillRect(0, 0, a, o), c.drawImage(l, 0, 0, a, o), s) : null;
130
+ }
131
+ function _(e) {
132
+ return new Promise((t) => {
133
+ let n = new Image();
134
+ n.crossOrigin = "anonymous", n.onload = () => t(n), n.onerror = () => t(null), n.src = e;
135
+ });
136
+ }
137
+ function v(e, t, n) {
138
+ return new Promise((r) => {
139
+ e.toBlob((e) => r(e), t, n);
140
+ });
141
+ }
142
+ //#endregion
143
+ export { n as buildScbVizExportFileName, l as createScbVizCsvBlob, u as createScbVizRasterBlobFromElement, d as createScbVizRasterDataUrlFromElement, f as downloadScbVizBlob, i as getScbVizCurrentFullscreenElement, t as getScbVizExportBaseFileName, r as getScbVizFullscreenDocument, a as isScbVizFullscreenSupported, s as openScbVizPrintFrame, c as runWithScbVizForcedPrintLightMode, o as toggleScbVizFullscreen };