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,1231 @@
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 "../scb-icon-button/scb-icon-button.js";
4
+ import "../scb-list/scb-list.js";
5
+ import "../scb-avatar/scb-avatar.js";
6
+ import "../scb-link/scb-link.js";
7
+ import "../scb-tooltip/scb-tooltip.js";
8
+ import "../scb-vignette/scb-vignette.js";
9
+ import { LitElement as t, css as n, html as r, nothing as i } from "lit";
10
+ import { customElement as a, property as o } from "lit/decorators.js";
11
+ import "@material/web/focus/md-focus-ring.js";
12
+ //#region src/scb-test-components/scb-card/scb-card.ts
13
+ var s, c = {
14
+ fromAttribute: (e) => e ?? "",
15
+ toAttribute: (e) => typeof e == "string" ? e.trim() === "" ? null : e : null
16
+ }, l = class extends t {
17
+ static {
18
+ s = this;
19
+ }
20
+ constructor(...e) {
21
+ super(...e), this.__managedSocialAttributes = new Set([
22
+ "social-comments-text",
23
+ "social-comments",
24
+ "social-comments-href",
25
+ "social-likes-text",
26
+ "social-likes",
27
+ "social-likes-hover-content",
28
+ "social-has-liked",
29
+ "social-likes-interactive",
30
+ "social-author",
31
+ "social-author-text",
32
+ "social-author-href"
33
+ ]), this.__isSyncingManagedSocialAttributes = !1, this.type = "standard", this.variant = "standard", this.direction = "dynamic", this.size = "large", this.mediaType = "", this.mediaHref = "", this.mediaAlt = "", this.mediaSrcset = "", this.mediaSizes = "", this.mediaLoading = "auto", this.mediaDecoding = "async", this.mediaFetchPriority = "auto", this.mediaFit = "cover", this.mediaPosition = "center", this.mediaWidth = "", this.mediaHeight = "", this.mediaAspect = "", this.mediaPlaceholder = !1, this.cardHref = "", this.href = "", this.title = "", this.cardTitle = "", this.subtitle = "", this.vignette = "", this.vignetteVariant = "filled", this.vignetteSpacing = void 0, this.vignetteSpacingTop = void 0, this.vignetteSpacingBottom = void 0, this.vignetteSpacingLeft = void 0, this.vignetteSpacingRight = void 0, this.supportingText = "", this.commentsText = "", this.commentsDisabled = !1, this.commentsHref = "", this.likesText = "", this.likesDisabled = !1, this.likesHoverContent = "", this.hasLiked = !1, this.likesInteractive = !0, this.author = !1, this.authorText = "", this.authorHref = "", this.replyEnabled = !1, this.editEnabled = !1, this.deleteEnabled = !1, this.sizing = "stretch", this.width = "", this.maxWidth = "", this.height = "", this.maxHeight = "", this.spacing = void 0, this.spacingTop = void 0, this.spacingBottom = void 0, this.spacingLeft = void 0, this.spacingRight = void 0, this.innerPadding = void 0, this.paddingTop = void 0, this.paddingBottom = void 0, this.paddingLeft = void 0, this.paddingRight = void 0, this.__onImgLoad = (e) => {
34
+ let t = e.currentTarget.closest(".media");
35
+ t && t.classList.add("is-loaded");
36
+ }, this.__onKeyDown = (e) => {
37
+ let t = this.__effectiveHref();
38
+ (e.key === "Enter" || e.key === " ") && t && (e.preventDefault(), this.__navigate(t, e));
39
+ }, this.__handleHrefNavigation = (e) => {
40
+ let t = this.__effectiveHref();
41
+ t && (e.target.closest("a") || this.__navigate(t, e));
42
+ };
43
+ }
44
+ static {
45
+ this.__iconLoaded = !1;
46
+ }
47
+ static {
48
+ this.__rippleLoaded = !1;
49
+ }
50
+ static {
51
+ this.styles = n`
52
+ :host {
53
+ display: block;
54
+ container-type: inline-size;
55
+ box-sizing: border-box;
56
+ position: relative;
57
+ inline-size: 100%;
58
+ min-inline-size: 0;
59
+ max-inline-size: var(--scb-card-max-w, none);
60
+ height: auto;
61
+ padding: var(--scb-card-focus-ring-gap, 4px);
62
+ --scb-card-horizontal-media-max: 176px;
63
+ --scb-card-horizontal-media-min: 96px;
64
+ --scb-card-horizontal-media-aspect: 3 / 2;
65
+
66
+ margin-block-start: var(--scb-card-spacing-block-start, 0);
67
+ margin-block-end: var(--scb-card-spacing-block-end, 0);
68
+ margin-inline-start: var(--scb-card-spacing-inline-start, 0);
69
+ margin-inline-end: var(--scb-card-spacing-inline-end, 0);
70
+
71
+ --scb-card-size-content-padding-block: var(--spacing-7, 24px);
72
+ --scb-card-size-content-padding-inline: var(--spacing-6, 20px);
73
+ --scb-card-size-container-gap: var(--spacing-4, 12px);
74
+ --scb-card-size-container-gap-with-header: var(--spacing-5, 16px);
75
+ --scb-card-size-top-gap: var(--spacing-4, 12px);
76
+
77
+ --scb-card-size-header-font-size: var(--md-sys-typescale-headline-small-size, 22px);
78
+ --scb-card-size-header-line-height: var(--md-sys-typescale-headline-small-line-height, 28px);
79
+ --scb-card-size-header-letter-spacing: var(--md-sys-typescale-headline-small-tracking, -0.5px);
80
+
81
+ --scb-card-size-sub-label-font-size: var(--md-sys-typescale-title-medium-size, 18px);
82
+ --scb-card-size-sub-label-line-height: var(--md-sys-typescale-title-medium-line-height, 26px);
83
+ --scb-card-size-sub-label-letter-spacing: var(--md-sys-typescale-title-medium-tracking, -0.3px);
84
+
85
+ --scb-card-size-supporting-font-size: var(--md-sys-typescale-body-medium-size, 16px);
86
+ --scb-card-size-supporting-line-height: var(--md-sys-typescale-body-medium-line-height, 24px);
87
+ --scb-card-size-supporting-letter-spacing: var(--md-sys-typescale-body-medium-tracking, -0.15px);
88
+
89
+ --scb-card-size-date-font-size: var(--md-sys-typescale-body-small-size, 12px);
90
+ --scb-card-size-date-line-height: var(--md-sys-typescale-body-small-line-height, 24px);
91
+ --scb-card-size-date-letter-spacing: var(--md-sys-typescale-body-small-tracking, -0.15px);
92
+
93
+ --scb-card-size-horizontal-gap: var(--spacing-6, 20px);
94
+ --scb-card-size-horizontal-padding: var(--spacing-6, 20px);
95
+ --scb-card-size-horizontal-media-min: 96px;
96
+ --scb-card-size-horizontal-media-max: 176px;
97
+
98
+ --scb-card-size-social-gap: var(--spacing-5, 16px);
99
+ --scb-card-size-social-icon: var(--scale-05, 20px);
100
+ --scb-card-size-social-icon-font-size: var(--md-sys-typescale-title-large-size, 20px);
101
+ --scb-card-size-social-text: var(--md-sys-typescale-body-small-size, 12px);
102
+
103
+ --scb-card-size-list-offset: var(--spacing-7, 24px);
104
+ --scb-card-size-actions-offset: var(--spacing-7, 24px);
105
+ --scb-card-size-links-offset: var(--spacing-3, 8px);
106
+ --scb-card-size-links-item-offset: var(--spacing-3, 8px);
107
+ }
108
+
109
+ :host([size='medium']) {
110
+ --scb-card-size-content-padding-block: var(--spacing-6, 20px);
111
+ --scb-card-size-content-padding-inline: var(--spacing-5, 16px);
112
+ --scb-card-size-container-gap: var(--spacing-3, 8px);
113
+ --scb-card-size-container-gap-with-header: var(--spacing-4, 12px);
114
+ --scb-card-size-top-gap: var(--spacing-3, 8px);
115
+
116
+ --scb-card-size-header-font-size: var(--md-sys-typescale-title-large-size, 20px);
117
+ --scb-card-size-header-line-height: var(--md-sys-typescale-title-large-line-height, 28px);
118
+ --scb-card-size-header-letter-spacing: var(--md-sys-typescale-title-large-tracking, -0.3px);
119
+
120
+ --scb-card-size-sub-label-font-size: var(--md-sys-typescale-title-small-size, 16px);
121
+ --scb-card-size-sub-label-line-height: var(--md-sys-typescale-title-small-line-height, 24px);
122
+ --scb-card-size-sub-label-letter-spacing: var(--md-sys-typescale-title-small-tracking, -0.2px);
123
+
124
+ --scb-card-size-supporting-font-size: var(--md-sys-typescale-body-small-size, 14px);
125
+ --scb-card-size-supporting-line-height: var(--md-sys-typescale-body-small-line-height, 20px);
126
+ --scb-card-size-supporting-letter-spacing: var(--md-sys-typescale-body-small-tracking, -0.1px);
127
+
128
+ --scb-card-size-horizontal-gap: var(--spacing-5, 16px);
129
+ --scb-card-size-horizontal-padding: var(--spacing-5, 16px);
130
+ --scb-card-size-horizontal-media-min: 88px;
131
+ --scb-card-size-horizontal-media-max: 156px;
132
+
133
+ --scb-card-size-social-gap: var(--spacing-4, 12px);
134
+ --scb-card-size-social-icon: var(--scale-04, 18px);
135
+ --scb-card-size-social-icon-font-size: var(--scale-04, 18px);
136
+
137
+ --scb-card-size-list-offset: var(--spacing-6, 20px);
138
+ --scb-card-size-actions-offset: var(--spacing-6, 20px);
139
+ --scb-card-size-links-offset: var(--spacing-2, 4px);
140
+ --scb-card-size-links-item-offset: var(--spacing-2, 4px);
141
+ }
142
+
143
+ :host([size='small']) {
144
+ --scb-card-size-content-padding-block: var(--spacing-5, 16px);
145
+ --scb-card-size-content-padding-inline: var(--spacing-4, 12px);
146
+ --scb-card-size-container-gap: var(--spacing-3, 8px);
147
+ --scb-card-size-container-gap-with-header: var(--spacing-3, 8px);
148
+ --scb-card-size-top-gap: var(--spacing-2, 4px);
149
+
150
+ --scb-card-size-header-font-size: var(--md-sys-typescale-title-medium-size, 18px);
151
+ --scb-card-size-header-line-height: var(--md-sys-typescale-title-medium-line-height, 26px);
152
+ --scb-card-size-header-letter-spacing: var(--md-sys-typescale-title-medium-tracking, -0.3px);
153
+
154
+ --scb-card-size-sub-label-font-size: var(--md-sys-typescale-body-medium-size, 16px);
155
+ --scb-card-size-sub-label-line-height: var(--md-sys-typescale-body-medium-line-height, 24px);
156
+ --scb-card-size-sub-label-letter-spacing: var(--md-sys-typescale-body-medium-tracking, -0.15px);
157
+
158
+ --scb-card-size-supporting-font-size: var(--md-sys-typescale-body-small-size, 14px);
159
+ --scb-card-size-supporting-line-height: var(--md-sys-typescale-body-small-line-height, 20px);
160
+ --scb-card-size-supporting-letter-spacing: var(--md-sys-typescale-body-small-tracking, -0.1px);
161
+
162
+ --scb-card-size-horizontal-gap: var(--spacing-4, 12px);
163
+ --scb-card-size-horizontal-padding: var(--spacing-4, 12px);
164
+ --scb-card-size-horizontal-media-min: 80px;
165
+ --scb-card-size-horizontal-media-max: 136px;
166
+
167
+ --scb-card-size-social-gap: var(--spacing-3, 8px);
168
+ --scb-card-size-social-icon: var(--scale-03, 16px);
169
+ --scb-card-size-social-icon-font-size: var(--scale-03, 16px);
170
+
171
+ --scb-card-size-list-offset: var(--spacing-5, 16px);
172
+ --scb-card-size-actions-offset: var(--spacing-5, 16px);
173
+ --scb-card-size-links-offset: var(--spacing-2, 4px);
174
+ --scb-card-size-links-item-offset: var(--spacing-2, 4px);
175
+ }
176
+ :host:not(:defined){
177
+ min-height: 190px;
178
+ }
179
+ .scb-card.no-hover,
180
+ .scb-card.no-hover:hover,
181
+ .scb-card.no-hover:active {
182
+ /* Ta bort hover/klick-effekter */
183
+ box-shadow: none !important;
184
+ cursor: default !important;
185
+ }
186
+ .scb-card.no-hover md-ripple {
187
+ display: none !important;
188
+ }
189
+ :host([type='standard']) {
190
+ --scb-card-max-w: var(--scb-card-standard-max-w, none);
191
+ }
192
+ :host([type='list']) {
193
+ --scb-card-max-w: var(--scb-card-list-max-w, none);
194
+ }
195
+ :host([type='social']) {
196
+ --scb-card-max-w: var(--scb-card-social-max-w, none);
197
+ }
198
+ :host([type='link']) {
199
+ --scb-card-max-w: var(--scb-card-link-max-w, none);
200
+ }
201
+ :host([type='action']) {
202
+ --scb-card-max-w: var(--scb-card-action-max-w, none);
203
+ }
204
+ :host([type='container']) {
205
+ --scb-card-max-w: var(--scb-card-container-max-w, none);
206
+ }
207
+
208
+ :host([height]) .scb-card,
209
+ :host([max-height]) .scb-card,
210
+ :host([sizing='stretch']) .scb-card {
211
+ block-size: 100%;
212
+ }
213
+
214
+ :host([sizing='stretch']) {
215
+ inline-size: 100%;
216
+ block-size: 100%;
217
+ max-inline-size: none;
218
+ }
219
+
220
+ :host([sizing='content-width']) {
221
+ display: inline-block;
222
+ inline-size: auto;
223
+ block-size: auto;
224
+ }
225
+ :host([sizing='content-width']) .scb-card {
226
+ inline-size: max-content;
227
+ }
228
+
229
+ :host([sizing='content-height']) {
230
+ inline-size: 100%;
231
+ block-size: auto;
232
+ max-inline-size: none;
233
+ }
234
+
235
+ md-focus-ring {
236
+ position: absolute;
237
+ inset: 0;
238
+ pointer-events: none;
239
+ display: none;
240
+ border-radius: var(--scb-card-focus-ring-radius, var(--md-sys-shape-corner-large, 16px));
241
+ }
242
+ .scb-card:focus-visible + md-focus-ring {
243
+ display: block;
244
+ }
245
+
246
+ .scb-card {
247
+ color: var(--md-sys-color-on-surface, #0F0865);
248
+ font-family: var(--brand-font, var(--brand, "Inter"), sans-serif);
249
+ display: flex;
250
+ position: relative;
251
+ border-radius: var(--md-sys-shape-corner-large, 16px);
252
+ background: var(--md-sys-color-surface, #FFFFFF);
253
+ box-sizing: border-box;
254
+ inline-size: 100%;
255
+ min-inline-size: 0;
256
+ max-inline-size: 100%;
257
+ }
258
+
259
+ :host([type='social']) .scb-card {
260
+ overflow: visible;
261
+ }
262
+
263
+ .scb-card:focus,
264
+ .scb-card:focus-visible {
265
+ outline: none;
266
+ }
267
+ .scb-card a:focus,
268
+ .scb-card a:focus-visible {
269
+ outline: none;
270
+ }
271
+
272
+ .scb-card.outlined {
273
+ border: 1px solid var(--md-sys-color-outline-variant, #CCCCCC);
274
+ }
275
+ .scb-card.filled {
276
+ background: var(--md-sys-color-surface-dim, #F9F8EF);
277
+ }
278
+ .scb-card.filled-alternative {
279
+ background: var(--md-sys-color-surface-container, #EEF3FF);
280
+ }
281
+ .scb-card.vertical {
282
+ flex-direction: column;
283
+ }
284
+ .scb-card.dynamic-direction {
285
+ flex-direction: column;
286
+ }
287
+ .scb-card.clickable {
288
+ cursor: pointer;
289
+ }
290
+ .social-metrics a.comments,
291
+ .social-metrics a.author {
292
+ color: var(--md-sys-color-primary, #1F44FF);
293
+ text-decoration: none;
294
+ border-radius: 4px;
295
+ cursor: pointer;
296
+ outline: none;
297
+ }
298
+ .social-metrics a.comments:hover,
299
+ .social-metrics a.comments:focus,
300
+ .social-metrics a.author:hover,
301
+ .social-metrics a.author:focus {
302
+ color: var(--md-sys-color-primary, #1F44FF);
303
+ text-decoration: var(--scb-link-decoration, underline);
304
+ text-underline-offset: var(--scb-link-underline-offset, .22em);
305
+ text-decoration-thickness: var(--scb-link-underline-thickness, 1px);
306
+ }
307
+
308
+ md-ripple {
309
+ position: absolute;
310
+ inset: 0;
311
+ border-radius: var(--md-sys-shape-corner-large, 16px);
312
+ pointer-events: none;
313
+ }
314
+
315
+ .media {
316
+ position: relative;
317
+ display: inline-flex;
318
+ flex: 0 0 auto;
319
+ overflow: hidden;
320
+ border-radius: var(--md-sys-shape-corner-large, 16px);
321
+ }
322
+ .media img {
323
+ display: block;
324
+ inline-size: 100%;
325
+ max-inline-size: 100%;
326
+ height: auto;
327
+ object-fit: var(--scb-card-media-fit, cover);
328
+ object-position: var(--scb-card-media-position, center);
329
+ }
330
+
331
+ /* Skeleton-placeholder */
332
+ .media.has-ph::before {
333
+ content: '';
334
+ position: absolute;
335
+ inset: 0;
336
+ background:
337
+ linear-gradient(
338
+ 90deg,
339
+ rgba(0, 0, 0, 0.06) 25%,
340
+ rgba(0, 0, 0, 0.12) 37%,
341
+ rgba(0, 0, 0, 0.06) 63%
342
+ );
343
+ animation: scb-card-shimmer 1.2s infinite linear;
344
+ }
345
+ .media.is-loaded::before {
346
+ content: none;
347
+ }
348
+ @keyframes scb-card-shimmer {
349
+ 0% {
350
+ transform: translateX(-100%);
351
+ }
352
+ 100% {
353
+ transform: translateX(100%);
354
+ }
355
+ }
356
+
357
+ .full-content {
358
+ padding-block-start: var(--scb-card-content-padding-block-start, var(--scb-card-size-content-padding-block));
359
+ padding-block-end: var(--scb-card-content-padding-block-end, var(--scb-card-size-content-padding-block));
360
+ padding-inline-start: var(--scb-card-content-padding-inline-start, var(--scb-card-size-content-padding-inline));
361
+ padding-inline-end: var(--scb-card-content-padding-inline-end, var(--scb-card-size-content-padding-inline));
362
+ }
363
+ .container-content {
364
+ display: flex;
365
+ flex-direction: column;
366
+ gap: var(--scb-card-container-gap, var(--scb-card-size-container-gap));
367
+ padding-block-start: var(--scb-card-container-padding-block-start, var(--scb-card-content-padding-block-start, var(--scb-card-size-content-padding-block)));
368
+ padding-block-end: var(--scb-card-container-padding-block-end, var(--scb-card-content-padding-block-end, var(--scb-card-size-content-padding-block)));
369
+ padding-inline-start: var(--scb-card-container-padding-inline-start, var(--scb-card-content-padding-inline-start, var(--scb-card-size-content-padding-inline)));
370
+ padding-inline-end: var(--scb-card-container-padding-inline-end, var(--scb-card-content-padding-inline-end, var(--scb-card-size-content-padding-inline)));
371
+ min-inline-size: 0;
372
+ }
373
+ .container-content.has-header {
374
+ gap: var(--scb-card-container-gap-with-header, var(--scb-card-size-container-gap-with-header));
375
+ }
376
+ .top-content {
377
+ display: flex;
378
+ flex-direction: column;
379
+ gap: var(--scb-card-size-top-gap);
380
+ min-inline-size: 0;
381
+ }
382
+
383
+ .header {
384
+ font-size: var(--scb-card-size-header-font-size);
385
+ font-weight: var(--weight-bold, 700);
386
+ line-height: var(--scb-card-size-header-line-height);
387
+ letter-spacing: var(--scb-card-size-header-letter-spacing);
388
+ display: flex;
389
+ align-items: center;
390
+ justify-content: space-between;
391
+ column-gap: var(--spacing-3, 8px);
392
+ min-inline-size: 0;
393
+ }
394
+
395
+ .header .title {
396
+ display: block;
397
+ flex: 1 1 auto;
398
+ min-inline-size: 0;
399
+ white-space: normal;
400
+ overflow: visible;
401
+ text-overflow: clip;
402
+ word-break: normal;
403
+ overflow-wrap: normal;
404
+ hyphens: auto;
405
+ }
406
+ .header a.title {
407
+ color: inherit;
408
+ text-decoration: none;
409
+ }
410
+ .header md-icon {
411
+ flex: 0 0 auto;
412
+ align-self: start;
413
+ }
414
+
415
+ .sub-label {
416
+ font-size: var(--scb-card-size-sub-label-font-size);
417
+ font-weight: var(--weight-semibold, 600);
418
+ line-height: var(--scb-card-size-sub-label-line-height);
419
+ letter-spacing: var(--scb-card-size-sub-label-letter-spacing);
420
+ }
421
+ .supporting-text {
422
+ font-size: var(--scb-card-size-supporting-font-size);
423
+ line-height: var(--scb-card-size-supporting-line-height);
424
+ letter-spacing: var(--scb-card-size-supporting-letter-spacing);
425
+ }
426
+ .date {
427
+ font-size: var(--scb-card-size-date-font-size);
428
+ line-height: var(--scb-card-size-date-line-height);
429
+ letter-spacing: var(--scb-card-size-date-letter-spacing);
430
+ }
431
+
432
+ .media ::slotted(scb-avatar) {
433
+ margin: var(--spacing-7, 24px) 0 0 var(--spacing-6, 20px);
434
+ }
435
+
436
+ .scb-card.horizontal {
437
+ flex-direction: row;
438
+ align-items: flex-start;
439
+ column-gap: var(--scb-card-size-horizontal-gap);
440
+ padding: var(--scb-card-size-horizontal-padding);
441
+ }
442
+ .scb-card.horizontal .media {
443
+ align-self: flex-start;
444
+ flex: 0 1 var(--scb-card-size-horizontal-media-max, var(--scb-card-horizontal-media-max, 176px));
445
+ min-inline-size: 0;
446
+ max-inline-size: min(100%, var(--scb-card-size-horizontal-media-max, var(--scb-card-horizontal-media-max, 176px)));
447
+ inline-size: min(100%, var(--scb-card-size-horizontal-media-max, var(--scb-card-horizontal-media-max, 176px)));
448
+ }
449
+ .scb-card.horizontal .media ::slotted(scb-avatar) {
450
+ margin: 0;
451
+ }
452
+ .scb-card.horizontal .full-content {
453
+ align-self: flex-start;
454
+ padding: 0;
455
+ inline-size: auto;
456
+ min-inline-size: min(18ch, 100%);
457
+ flex: 1 1 0%;
458
+ }
459
+ .scb-card.horizontal .header {
460
+ align-items: flex-start;
461
+ }
462
+ .scb-card.horizontal .header md-icon {
463
+ align-self: flex-start;
464
+ }
465
+
466
+ .scb-card.horizontal .media img {
467
+ margin: 0;
468
+ object-fit: var(--scb-card-media-fit, cover);
469
+ aspect-ratio: var(--scb-card-horizontal-media-aspect, 3 / 2);
470
+ inline-size: 100%;
471
+ block-size: auto;
472
+ }
473
+
474
+ @container (min-width: 500px) {
475
+ .scb-card.dynamic-direction {
476
+ flex-direction: row;
477
+ align-items: flex-start;
478
+ column-gap: var(--scb-card-size-horizontal-gap);
479
+ padding: var(--scb-card-size-horizontal-padding);
480
+ }
481
+ .scb-card.dynamic-direction .media {
482
+ align-self: flex-start;
483
+ flex: 0 1 var(--scb-card-size-horizontal-media-max, var(--scb-card-horizontal-media-max, 176px));
484
+ min-inline-size: 0;
485
+ max-inline-size: min(100%, var(--scb-card-size-horizontal-media-max, var(--scb-card-horizontal-media-max, 176px)));
486
+ inline-size: min(100%, var(--scb-card-size-horizontal-media-max, var(--scb-card-horizontal-media-max, 176px)));
487
+ }
488
+ .scb-card.dynamic-direction .media ::slotted(scb-avatar) {
489
+ margin: 0;
490
+ }
491
+ .scb-card.dynamic-direction .full-content {
492
+ align-self: flex-start;
493
+ padding: 0;
494
+ inline-size: auto;
495
+ min-inline-size: min(18ch, 100%);
496
+ flex: 1 1 0%;
497
+ }
498
+ .scb-card.dynamic-direction .header {
499
+ align-items: flex-start;
500
+ }
501
+ .scb-card.dynamic-direction .header md-icon {
502
+ align-self: flex-start;
503
+ }
504
+
505
+ .scb-card.dynamic-direction .media img {
506
+ margin: 0;
507
+ object-fit: var(--scb-card-media-fit, cover);
508
+ aspect-ratio: var(--scb-card-horizontal-media-aspect, 3 / 2);
509
+ inline-size: 100%;
510
+ block-size: auto;
511
+ }
512
+
513
+ :host([sizing='content-width']) .scb-card.dynamic-direction:has(.media img) .full-content {
514
+ inline-size: max-content;
515
+ flex: 0 1 auto;
516
+ }
517
+ }
518
+
519
+ :host([sizing='content-width']) .scb-card.horizontal:has(.media img) .full-content {
520
+ inline-size: max-content;
521
+ flex: 0 1 auto;
522
+ }
523
+
524
+ .social-metrics {
525
+ display: flex;
526
+ margin-top: var(--spacing-4, 12px);
527
+ gap: var(--scb-card-size-social-gap);
528
+ flex-wrap: wrap;
529
+ align-items: center;
530
+ }
531
+ .social-metrics md-icon {
532
+ width: var(--scb-card-size-social-icon);
533
+ height: var(--scb-card-size-social-icon);
534
+ font-size: var(--scb-card-size-social-icon-font-size, var(--scb-card-size-social-icon));
535
+ vertical-align: middle;
536
+ }
537
+ .social-text{
538
+ font-size: var(--scb-card-size-social-text);
539
+ }
540
+ .comments,
541
+ .likes {
542
+ display: flex;
543
+ align-items: center;
544
+ gap: var(--spacing-2, 4px);
545
+ }
546
+
547
+ .social-action {
548
+ display: inline-flex;
549
+ align-items: center;
550
+ gap: var(--spacing-1, 2px);
551
+ }
552
+
553
+ .scb-card .content.list {
554
+ margin-top: var(--scb-card-size-list-offset);
555
+ }
556
+
557
+ .scb-card .content.actions ::slotted(*) {
558
+ margin-top: var(--scb-card-size-actions-offset);
559
+ display: flex;
560
+ flex-wrap: wrap;
561
+ gap: var(--spacing-3, 8px);
562
+ }
563
+
564
+ .scb-card .content.links {
565
+ margin-top: var(--scb-card-size-links-offset);
566
+ }
567
+ .scb-card .content.links ::slotted(a),
568
+ .scb-card .content.links ::slotted(scb-link) {
569
+ display: block;
570
+ margin-block-start: var(--scb-card-size-links-item-offset);
571
+ }
572
+
573
+ .scb-card:not(.filled):not(.filled-alternative) .content.list ::slotted(scb-list) {
574
+ --scb-list-bg: var(--md-sys-color-surface, #FFFFFF);
575
+ }
576
+ .scb-card.filled .content.list ::slotted(scb-list) {
577
+ --scb-list-bg: var(--md-sys-color-surface-dim, #F9F8EF);
578
+ }
579
+ .scb-card.filled-alternative .content.list ::slotted(scb-list) {
580
+ --scb-list-bg: var(--md-sys-color-surface-container, #EEF3FF);
581
+ }
582
+ `;
583
+ }
584
+ attributeChangedCallback(e, t, n) {
585
+ this.__isSyncingManagedSocialAttributes && this.__managedSocialAttributes.has(e) || super.attributeChangedCallback(e, t, n);
586
+ }
587
+ get likeButton() {
588
+ return this.type === "social" ? this.renderRoot.querySelector(".likes scb-icon-button") : null;
589
+ }
590
+ __calcAspectWH(e) {
591
+ let t = (e || "").trim();
592
+ if (!t) return {
593
+ w: 600,
594
+ h: 400
595
+ };
596
+ let n = t.includes("/") ? t.split("/") : t.includes(":") ? t.split(":") : t.includes("x") ? t.split("x") : null;
597
+ if (n && n.length === 2) {
598
+ let e = Number(n[0]), t = Number(n[1]);
599
+ if (e > 0 && t > 0) return {
600
+ w: e,
601
+ h: t
602
+ };
603
+ }
604
+ let r = Number(t);
605
+ return isFinite(r) && r > 0 ? {
606
+ w: 1e3,
607
+ h: Math.round(1e3 / r)
608
+ } : {
609
+ w: 600,
610
+ h: 400
611
+ };
612
+ }
613
+ __noWrapText(e) {
614
+ return (e ?? "").replace(/ /g, "\xA0").replace(/-/g, "‑");
615
+ }
616
+ get #e() {
617
+ return this.cardTitle || this.title;
618
+ }
619
+ __dispatchLikeEvent(e, t) {
620
+ this.dispatchEvent(new CustomEvent(e, {
621
+ bubbles: !0,
622
+ composed: !0,
623
+ detail: t
624
+ })), this.dispatchEvent(new CustomEvent(e.replace("-", ""), {
625
+ bubbles: !0,
626
+ composed: !0,
627
+ detail: t
628
+ }));
629
+ }
630
+ __dispatchSocialActionEvent(e, t) {
631
+ this.dispatchEvent(new CustomEvent(`social-${e}`, {
632
+ bubbles: !0,
633
+ composed: !0,
634
+ detail: {
635
+ action: e,
636
+ originalEvent: t
637
+ }
638
+ }));
639
+ }
640
+ __dispatchCardNavigate(e, t) {
641
+ let n = {
642
+ href: e,
643
+ originalEvent: t
644
+ }, r = new CustomEvent("card-navigate", {
645
+ bubbles: !0,
646
+ composed: !0,
647
+ cancelable: !0,
648
+ detail: n
649
+ });
650
+ if (this.dispatchEvent(r), r.defaultPrevented) return !1;
651
+ let i = new CustomEvent("cardnavigate", {
652
+ bubbles: !0,
653
+ composed: !0,
654
+ cancelable: !0,
655
+ detail: n
656
+ });
657
+ return this.dispatchEvent(i), !i.defaultPrevented;
658
+ }
659
+ __effectiveHref() {
660
+ return this.cardHref || this.href;
661
+ }
662
+ __navigate(e, t) {
663
+ e && this.__dispatchCardNavigate(e, t) && window.open(e, "_self");
664
+ }
665
+ __mediaTemplate() {
666
+ if ((this.mediaType || "").toLowerCase() === "avatar") return r`
667
+ <div class="media">
668
+ <slot name="media">
669
+ <scb-avatar variant="icon" label="${this.#e}" icon-name="person"></scb-avatar>
670
+ </slot>
671
+ </div>
672
+ `;
673
+ if (this.mediaHref || this.mediaSrcset) {
674
+ let e = Number(this.mediaWidth) || 0, t = Number(this.mediaHeight) || 0, n = (this.mediaAspect || "").trim();
675
+ if (!e || !t) {
676
+ let r = this.__calcAspectWH(n || "3/2");
677
+ e ||= r.w, t ||= r.h;
678
+ }
679
+ let i = `aspect-ratio:${n || `${e}/${t}`};`;
680
+ return r`
681
+ <div class="media ${this.mediaPlaceholder ? "has-ph" : ""}" style="${i}">
682
+ <slot name="media-sources"></slot>
683
+ <img
684
+ src="${this.mediaHref || ""}"
685
+ srcset="${this.mediaSrcset || ""}"
686
+ sizes="${this.mediaSizes || ""}"
687
+ alt="${this.mediaAlt || ""}"
688
+ loading="${this.mediaLoading}"
689
+ decoding="${this.mediaDecoding}"
690
+ fetchpriority="${this.mediaFetchPriority}"
691
+ width="${e}"
692
+ height="${t}"
693
+ @load=${this.__onImgLoad}
694
+ />
695
+ </div>
696
+ `;
697
+ }
698
+ return null;
699
+ }
700
+ mapSpacingToken(e) {
701
+ if (!e) return;
702
+ let t = String(e).trim();
703
+ if (t) return /^\d+$/.test(t) ? `var(--spacing-${Math.max(0, Math.min(14, parseInt(t, 10)))})` : t;
704
+ }
705
+ #t() {
706
+ 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);
707
+ t ? this.style.setProperty("--scb-card-spacing-block-start", t) : this.style.removeProperty("--scb-card-spacing-block-start"), n ? this.style.setProperty("--scb-card-spacing-block-end", n) : this.style.removeProperty("--scb-card-spacing-block-end"), r ? this.style.setProperty("--scb-card-spacing-inline-start", r) : this.style.removeProperty("--scb-card-spacing-inline-start"), i ? this.style.setProperty("--scb-card-spacing-inline-end", i) : this.style.removeProperty("--scb-card-spacing-inline-end");
708
+ }
709
+ #n() {
710
+ let e = this.mapSpacingToken(this.innerPadding), t = this.mapSpacingToken(this.paddingTop) ?? e, n = this.mapSpacingToken(this.paddingBottom) ?? e, r = this.mapSpacingToken(this.paddingLeft) ?? e, i = this.mapSpacingToken(this.paddingRight) ?? e;
711
+ t ? this.style.setProperty("--scb-card-content-padding-block-start", t) : this.style.removeProperty("--scb-card-content-padding-block-start"), n ? this.style.setProperty("--scb-card-content-padding-block-end", n) : this.style.removeProperty("--scb-card-content-padding-block-end"), r ? this.style.setProperty("--scb-card-content-padding-inline-start", r) : this.style.removeProperty("--scb-card-content-padding-inline-start"), i ? this.style.setProperty("--scb-card-content-padding-inline-end", i) : this.style.removeProperty("--scb-card-content-padding-inline-end");
712
+ }
713
+ __syncStringAttribute(e, t) {
714
+ this.__isSyncingManagedSocialAttributes = !0;
715
+ try {
716
+ typeof t == "string" && t.trim() !== "" ? this.setAttribute(e, t) : this.removeAttribute(e);
717
+ } finally {
718
+ this.__isSyncingManagedSocialAttributes = !1;
719
+ }
720
+ }
721
+ __syncNumberAttribute(e, t) {
722
+ this.__isSyncingManagedSocialAttributes = !0;
723
+ try {
724
+ typeof t == "number" && Number.isFinite(t) ? this.setAttribute(e, String(t)) : this.removeAttribute(e);
725
+ } finally {
726
+ this.__isSyncingManagedSocialAttributes = !1;
727
+ }
728
+ }
729
+ __syncBooleanAttribute(e, t) {
730
+ this.__isSyncingManagedSocialAttributes = !0;
731
+ try {
732
+ t ? this.setAttribute(e, "") : this.removeAttribute(e);
733
+ } finally {
734
+ this.__isSyncingManagedSocialAttributes = !1;
735
+ }
736
+ }
737
+ __syncSocialAttributes() {
738
+ this.type === "social" && (this.__syncStringAttribute("social-comments-text", this.commentsText), this.__syncNumberAttribute("social-comments", this.comments), this.__syncStringAttribute("social-comments-href", this.commentsHref), this.__syncStringAttribute("social-likes-text", this.likesText), this.__syncNumberAttribute("social-likes", this.likes), this.__syncStringAttribute("social-likes-hover-content", this.likesHoverContent), this.__syncBooleanAttribute("social-has-liked", this.hasLiked), this.__syncBooleanAttribute("social-likes-interactive", this.likesInteractive), this.__syncBooleanAttribute("social-author", this.author), this.__syncStringAttribute("social-author-text", this.authorText), this.__syncStringAttribute("social-author-href", this.authorHref));
739
+ }
740
+ render() {
741
+ let e = this.variant ? `${this.variant.toLowerCase()}` : "", t = (this.direction || "dynamic").toLowerCase(), n = this.type !== "list" && this.type !== "container" && t !== "vertical" && t !== "horizontal" ? "dynamic-direction" : "", a = this.type === "list" || this.type === "container" ? "vertical" : t === "horizontal" ? "horizontal" : "vertical", o = this.__effectiveHref(), s = (this.type === "standard" || this.type === "social") && !!o, c = s ? "clickable" : "", l = this.date instanceof Date ? this.date.toISOString().slice(0, 10) : this.date || "", u = (e = !1) => e ? r`<a class="title" href="${o}" tabindex="-1"
742
+ >${this.#e}</a
743
+ ><md-icon>arrow_forward</md-icon>` : r`<span class="title">${this.#e}</span>`, d = () => this.__mediaTemplate(), f = this.vignetteSpacing || i, p = this.vignetteSpacingTop || i, m = this.vignetteSpacingBottom || (this.vignetteSpacing ? i : "5"), h = this.vignetteSpacingLeft || i, g = this.vignetteSpacingRight || i, _ = () => this.vignette && this.vignette.trim() ? r`<scb-vignette
744
+ class="content-vignette"
745
+ variant="${this.vignetteVariant}"
746
+ label="${this.vignette}"
747
+ spacing=${f}
748
+ spacing-top=${p}
749
+ spacing-bottom=${m}
750
+ spacing-left=${h}
751
+ spacing-right=${g}
752
+ ></scb-vignette>` : i, v = (t) => r`
753
+ <div
754
+ class="scb-card ${e} ${a} ${n} ${c}"
755
+ @click=${s ? this.__handleHrefNavigation : null}
756
+ @keydown=${s ? this.__onKeyDown : null}
757
+ style="cursor:${s ? "pointer" : "default"};"
758
+ role=${s ? "link" : i}
759
+ tabindex=${s ? "0" : i}
760
+ aria-label=${this.#e || this.subtitle || "Kort"}
761
+ >
762
+ ${s ? r`<md-ripple></md-ripple>` : ""}
763
+ ${d()}
764
+ ${t}
765
+ </div>
766
+ <md-focus-ring></md-focus-ring>
767
+ `;
768
+ switch (this.type) {
769
+ case "standard": return v(r`
770
+ <div class="full-content">
771
+ ${_()}
772
+ <div class="top-content">
773
+ ${this.#e ? r`<div class="header">${u(!!o)}</div>` : ""}
774
+ ${this.subtitle ? r`<div class="sub-label">${this.subtitle}</div>` : ""}
775
+ ${this.supportingText ? r`<div class="supporting-text">${this.supportingText}</div>` : ""}
776
+ ${l ? r`<div class="date">${l}</div>` : ""}
777
+ </div>
778
+ </div>
779
+ `);
780
+ case "list": return v(r`
781
+ <div class="full-content">
782
+ ${_()}
783
+ <div class="top-content">
784
+ ${this.#e ? r`<div class="header"><span class="title">${this.#e}</span></div>` : ""}
785
+ ${this.subtitle ? r`<div class="sub-label">${this.subtitle}</div>` : ""}
786
+ ${this.supportingText ? r`<div class="supporting-text">${this.supportingText}</div>` : ""}
787
+ ${l ? r`<div class="date">${l}</div>` : ""}
788
+ </div>
789
+ <div class="content list">
790
+ <slot></slot>
791
+ </div>
792
+ </div>
793
+ `);
794
+ case "social":
795
+ let e = this.commentsHref, t = (e) => {
796
+ e.stopPropagation();
797
+ }, n = (e) => {
798
+ let t = this.renderRoot?.querySelector(".scb-card");
799
+ t && (e ? t.classList.add("no-hover") : t.classList.remove("no-hover"));
800
+ }, a = this.commentsText ? `${this.commentsText}: ` : "", s = this.likesText ? `${this.likesText}: ` : "", c = (e) => (t) => {
801
+ t.stopPropagation(), this.__dispatchSocialActionEvent(e, t);
802
+ }, d = this.likesDisabled ? i : r`
803
+ <span
804
+ class="likes"
805
+ @mouseenter=${() => n(!0)}
806
+ @mouseleave=${() => n(!1)}
807
+ >
808
+ ${this.likesInteractive ? r`
809
+ <scb-icon-button
810
+ id="like-button"
811
+ variant="standard"
812
+ icon="thumb_up"
813
+ ?icon-filled=${this.hasLiked}
814
+ aria-label="${this.likesText || "Gilla"}"
815
+ @click=${(e) => {
816
+ e.stopPropagation(), this.hasLiked = !this.hasLiked, this.__dispatchLikeEvent("like-click", {
817
+ hasLiked: this.hasLiked,
818
+ likes: this.likes ?? 0
819
+ });
820
+ }}
821
+ @keydown=${(e) => {
822
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), e.stopPropagation(), this.hasLiked = !this.hasLiked, this.__dispatchLikeEvent("like-click", {
823
+ hasLiked: this.hasLiked,
824
+ likes: this.likes ?? 0
825
+ }));
826
+ }}
827
+ @hover=${(e) => {
828
+ e.preventDefault(), e.stopPropagation(), this.__dispatchLikeEvent("like-hover", {
829
+ hasLiked: this.hasLiked,
830
+ likes: this.likes ?? 0
831
+ });
832
+ }}
833
+ ></scb-icon-button>
834
+ ` : r`<md-icon>thumb_up</md-icon>`}
835
+ <span class="social-text">${s}${this.likes ?? 0}</span>
836
+ </span>
837
+ `;
838
+ return v(r`
839
+ <div class="full-content">
840
+ ${_()}
841
+ <div class="top-content">
842
+ ${this.#e ? r`<div class="header">${u(!!o)}</div>` : ""}
843
+ ${this.subtitle ? r`<div class="sub-label">${this.subtitle}</div>` : ""}
844
+ ${this.supportingText ? r`<div class="supporting-text">${this.supportingText}</div>` : ""}
845
+ ${l ? r`<div class="date">${l}</div>` : ""}
846
+ </div>
847
+ <div class="content">
848
+ <div class="social-metrics">
849
+ ${this.author ? r`
850
+ <a
851
+ class="author social-text"
852
+ href="${this.authorHref || "#"}"
853
+ tabindex="0"
854
+ @click=${t}
855
+ @mouseenter=${() => n(!0)}
856
+ @mouseleave=${() => n(!1)}
857
+ >${this.authorText}</a
858
+ >
859
+ ` : ""}
860
+ ${this.commentsDisabled ? i : r`
861
+ <span
862
+ class="comments"
863
+ @mouseenter=${() => n(!0)}
864
+ @mouseleave=${() => n(!1)}
865
+ >
866
+ ${e === "" ? r`
867
+ <md-icon>comment</md-icon>
868
+ ` : r`
869
+ <scb-icon-button
870
+ href="${e}"
871
+ tabindex="0"
872
+ @click=${t}
873
+ variant="standard"
874
+ icon="comment"
875
+ aria-label="Gå till kommentarer"
876
+ ></scb-icon-button>
877
+ `}
878
+ <span class="social-text">${a}${this.comments ?? 0}</span>
879
+ </span>
880
+ `}
881
+ ${this.likesHoverContent ? r`
882
+ <scb-tooltip
883
+ variant="rich"
884
+ for="like-button"
885
+ supporting-text=${this.__noWrapText(this.likesHoverContent)}
886
+ trigger="hover"
887
+ position="right"
888
+ >
889
+ ${d}
890
+ </scb-tooltip>
891
+ ` : d}
892
+ ${this.replyEnabled ? r`
893
+ <span class="social-action">
894
+ <scb-icon-button
895
+ variant="standard"
896
+ icon="reply"
897
+ aria-label="Svara"
898
+ @click=${c("reply")}
899
+ ></scb-icon-button>
900
+ <span class="social-text">Svara</span>
901
+ </span>
902
+ ` : i}
903
+ ${this.editEnabled ? r`
904
+ <span class="social-action">
905
+ <scb-icon-button
906
+ variant="standard"
907
+ icon="edit"
908
+ aria-label="Redigera"
909
+ @click=${c("edit")}
910
+ ></scb-icon-button>
911
+ <span class="social-text">Redigera</span>
912
+ </span>
913
+ ` : i}
914
+ ${this.deleteEnabled ? r`
915
+ <span class="social-action">
916
+ <scb-icon-button
917
+ variant="standard"
918
+ icon="delete"
919
+ aria-label="Ta bort"
920
+ @click=${c("delete")}
921
+ ></scb-icon-button>
922
+ <span class="social-text">Ta bort</span>
923
+ </span>
924
+ ` : i}
925
+ </div>
926
+ </div>
927
+ </div>
928
+ `);
929
+ case "link": return v(r`
930
+ <div class="full-content">
931
+ ${_()}
932
+ <div class="top-content">
933
+ ${this.#e ? r`<div class="header"><span class="title">${this.#e}</span></div>` : ""}
934
+ ${this.subtitle ? r`<div class="sub-label">${this.subtitle}</div>` : ""}
935
+ ${this.supportingText ? r`<div class="supporting-text">${this.supportingText}</div>` : ""}
936
+ ${l ? r`<div class="date">${l}</div>` : ""}
937
+ </div>
938
+ <div class="content links">
939
+ <slot></slot>
940
+ </div>
941
+ </div>
942
+ `);
943
+ case "action": return v(r`
944
+ <div class="full-content">
945
+ ${_()}
946
+ <div class="top-content">
947
+ ${this.#e ? r`<div class="header"><span class="title">${this.#e}</span></div>` : ""}
948
+ ${this.subtitle ? r`<div class="sub-label">${this.subtitle}</div>` : ""}
949
+ ${this.supportingText ? r`<div class="supporting-text">${this.supportingText}</div>` : ""}
950
+ ${l ? r`<div class="date">${l}</div>` : ""}
951
+ </div>
952
+ <div class="content actions">
953
+ <slot></slot>
954
+ </div>
955
+ </div>
956
+ `);
957
+ case "container": return v(r`
958
+ <div class="container-content ${this.#e || this.subtitle ? "has-header" : ""}">
959
+ ${_()}
960
+ ${this.#e || this.subtitle ? r`
961
+ <div class="top-content">
962
+ ${this.#e ? r`<div class="header"><span class="title">${this.#e}</span></div>` : ""}
963
+ ${this.subtitle ? r`<div class="sub-label">${this.subtitle}</div>` : ""}
964
+ </div>
965
+ ` : ""}
966
+ <slot></slot>
967
+ </div>
968
+ `);
969
+ default: return v(r`
970
+ <div class="full-content">
971
+ ${_()}
972
+ <div class="top-content">
973
+ ${this.#e ? r`<div class="header">${u(!!o)}</div>` : ""}
974
+ ${this.subtitle ? r`<div class="sub-label">${this.subtitle}</div>` : ""}
975
+ ${this.supportingText ? r`<div class="supporting-text">${this.supportingText}</div>` : ""}
976
+ ${l ? r`<div class="date">${l}</div>` : ""}
977
+ </div>
978
+ </div>
979
+ `);
980
+ }
981
+ }
982
+ updated(e) {
983
+ super.updated(e), e.has("width") && (this.width ? this.style.inlineSize = this.width : this.style.removeProperty("inline-size")), e.has("maxWidth") && (this.maxWidth ? this.style.maxInlineSize = this.maxWidth : this.style.removeProperty("max-inline-size")), e.has("height") && (this.height ? this.style.blockSize = this.height : this.style.removeProperty("block-size")), e.has("maxHeight") && (this.maxHeight ? this.style.maxBlockSize = this.maxHeight : this.style.removeProperty("max-block-size")), e.has("type") && (this.type === "list" ? this.setAttribute("data-density", "-2") : this.removeAttribute("data-density")), this.mediaFit && this.mediaFit !== "cover" ? this.style.setProperty("--scb-card-media-fit", this.mediaFit) : this.style.removeProperty("--scb-card-media-fit"), this.mediaPosition && this.mediaPosition !== "center" ? this.style.setProperty("--scb-card-media-position", this.mediaPosition) : this.style.removeProperty("--scb-card-media-position"), this.__syncSocialAttributes(), (e.has("spacing") || e.has("spacingTop") || e.has("spacingBottom") || e.has("spacingLeft") || e.has("spacingRight")) && this.#t(), (e.has("innerPadding") || e.has("paddingTop") || e.has("paddingBottom") || e.has("paddingLeft") || e.has("paddingRight")) && this.#n();
984
+ }
985
+ async firstUpdated(e) {
986
+ s.__iconLoaded || (await import("@material/web/icon/icon.js"), s.__iconLoaded = !0), s.__rippleLoaded || (await import("@material/web/ripple/ripple.js"), s.__rippleLoaded = !0), this.#t(), this.#n(), this.__syncSocialAttributes();
987
+ }
988
+ };
989
+ e([o({
990
+ type: String,
991
+ reflect: !0,
992
+ converter: c
993
+ })], l.prototype, "type", void 0), e([o({
994
+ type: String,
995
+ reflect: !0,
996
+ converter: c
997
+ })], l.prototype, "variant", void 0), e([o({
998
+ type: String,
999
+ reflect: !0,
1000
+ converter: c
1001
+ })], l.prototype, "direction", void 0), e([o({
1002
+ type: String,
1003
+ reflect: !0
1004
+ })], l.prototype, "size", void 0), e([o({
1005
+ type: String,
1006
+ attribute: "media-type"
1007
+ })], l.prototype, "mediaType", void 0), e([o({
1008
+ type: String,
1009
+ attribute: "media-href"
1010
+ })], l.prototype, "mediaHref", void 0), e([o({
1011
+ type: String,
1012
+ attribute: "media-alt"
1013
+ })], l.prototype, "mediaAlt", void 0), e([o({
1014
+ type: String,
1015
+ attribute: "media-srcset"
1016
+ })], l.prototype, "mediaSrcset", void 0), e([o({
1017
+ type: String,
1018
+ attribute: "media-sizes"
1019
+ })], l.prototype, "mediaSizes", void 0), e([o({
1020
+ type: String,
1021
+ attribute: "media-loading"
1022
+ })], l.prototype, "mediaLoading", void 0), e([o({
1023
+ type: String,
1024
+ attribute: "media-decoding"
1025
+ })], l.prototype, "mediaDecoding", void 0), e([o({
1026
+ type: String,
1027
+ attribute: "media-fetchpriority"
1028
+ })], l.prototype, "mediaFetchPriority", void 0), e([o({
1029
+ type: String,
1030
+ attribute: "media-fit"
1031
+ })], l.prototype, "mediaFit", void 0), e([o({
1032
+ type: String,
1033
+ attribute: "media-position"
1034
+ })], l.prototype, "mediaPosition", void 0), e([o({
1035
+ type: String,
1036
+ attribute: "media-width"
1037
+ })], l.prototype, "mediaWidth", void 0), e([o({
1038
+ type: String,
1039
+ attribute: "media-height"
1040
+ })], l.prototype, "mediaHeight", void 0), e([o({
1041
+ type: String,
1042
+ attribute: "media-aspect"
1043
+ })], l.prototype, "mediaAspect", void 0), e([o({
1044
+ type: Boolean,
1045
+ attribute: "media-placeholder"
1046
+ })], l.prototype, "mediaPlaceholder", void 0), e([o({
1047
+ type: String,
1048
+ attribute: "card-href",
1049
+ reflect: !0,
1050
+ converter: c
1051
+ })], l.prototype, "cardHref", void 0), e([o({
1052
+ type: String,
1053
+ reflect: !0,
1054
+ converter: c
1055
+ })], l.prototype, "href", void 0), e([o({
1056
+ type: String,
1057
+ reflect: !0,
1058
+ converter: c
1059
+ })], l.prototype, "title", void 0), e([o({
1060
+ type: String,
1061
+ attribute: "card-title",
1062
+ reflect: !0,
1063
+ converter: c
1064
+ })], l.prototype, "cardTitle", void 0), e([o({
1065
+ type: String,
1066
+ reflect: !0,
1067
+ converter: c
1068
+ })], l.prototype, "subtitle", void 0), e([o({
1069
+ type: String,
1070
+ reflect: !0,
1071
+ converter: c
1072
+ })], l.prototype, "vignette", void 0), e([o({
1073
+ type: String,
1074
+ attribute: "vignette-variant",
1075
+ reflect: !0,
1076
+ converter: c
1077
+ })], l.prototype, "vignetteVariant", void 0), e([o({
1078
+ type: String,
1079
+ attribute: "vignette-spacing",
1080
+ reflect: !0,
1081
+ converter: c
1082
+ })], l.prototype, "vignetteSpacing", void 0), e([o({
1083
+ type: String,
1084
+ attribute: "vignette-spacing-top",
1085
+ reflect: !0,
1086
+ converter: c
1087
+ })], l.prototype, "vignetteSpacingTop", void 0), e([o({
1088
+ type: String,
1089
+ attribute: "vignette-spacing-bottom",
1090
+ reflect: !0,
1091
+ converter: c
1092
+ })], l.prototype, "vignetteSpacingBottom", void 0), e([o({
1093
+ type: String,
1094
+ attribute: "vignette-spacing-left",
1095
+ reflect: !0,
1096
+ converter: c
1097
+ })], l.prototype, "vignetteSpacingLeft", void 0), e([o({
1098
+ type: String,
1099
+ attribute: "vignette-spacing-right",
1100
+ reflect: !0,
1101
+ converter: c
1102
+ })], l.prototype, "vignetteSpacingRight", void 0), e([o({
1103
+ type: String,
1104
+ attribute: "supporting-text",
1105
+ reflect: !0,
1106
+ converter: c
1107
+ })], l.prototype, "supportingText", void 0), e([o({
1108
+ type: Date,
1109
+ reflect: !0
1110
+ })], l.prototype, "date", void 0), e([o({
1111
+ type: String,
1112
+ attribute: "social-comments-text"
1113
+ })], l.prototype, "commentsText", void 0), e([o({
1114
+ type: Number,
1115
+ attribute: "social-comments"
1116
+ })], l.prototype, "comments", void 0), e([o({
1117
+ type: Boolean,
1118
+ attribute: "social-comments-disabled"
1119
+ })], l.prototype, "commentsDisabled", void 0), e([o({
1120
+ type: String,
1121
+ attribute: "social-comments-href"
1122
+ })], l.prototype, "commentsHref", void 0), e([o({
1123
+ type: String,
1124
+ attribute: "social-likes-text"
1125
+ })], l.prototype, "likesText", void 0), e([o({
1126
+ type: Number,
1127
+ attribute: "social-likes"
1128
+ })], l.prototype, "likes", void 0), e([o({
1129
+ type: Boolean,
1130
+ attribute: "social-likes-disabled"
1131
+ })], l.prototype, "likesDisabled", void 0), e([o({
1132
+ type: String,
1133
+ attribute: "social-likes-hover-content"
1134
+ })], l.prototype, "likesHoverContent", void 0), e([o({
1135
+ type: Boolean,
1136
+ attribute: "social-has-liked"
1137
+ })], l.prototype, "hasLiked", void 0), e([o({
1138
+ type: Boolean,
1139
+ attribute: "social-likes-interactive"
1140
+ })], l.prototype, "likesInteractive", void 0), e([o({
1141
+ type: Boolean,
1142
+ attribute: "social-author"
1143
+ })], l.prototype, "author", void 0), e([o({
1144
+ type: String,
1145
+ attribute: "social-author-text"
1146
+ })], l.prototype, "authorText", void 0), e([o({
1147
+ type: String,
1148
+ attribute: "social-author-href"
1149
+ })], l.prototype, "authorHref", void 0), e([o({
1150
+ type: Boolean,
1151
+ attribute: "social-reply-enabled"
1152
+ })], l.prototype, "replyEnabled", void 0), e([o({
1153
+ type: Boolean,
1154
+ attribute: "social-edit-enabled"
1155
+ })], l.prototype, "editEnabled", void 0), e([o({
1156
+ type: Boolean,
1157
+ attribute: "social-delete-enabled"
1158
+ })], l.prototype, "deleteEnabled", void 0), e([o({
1159
+ type: String,
1160
+ reflect: !0,
1161
+ converter: c
1162
+ })], l.prototype, "sizing", void 0), e([o({
1163
+ type: String,
1164
+ reflect: !0,
1165
+ converter: c
1166
+ })], l.prototype, "width", void 0), e([o({
1167
+ type: String,
1168
+ reflect: !0,
1169
+ attribute: "max-width",
1170
+ converter: c
1171
+ })], l.prototype, "maxWidth", void 0), e([o({
1172
+ type: String,
1173
+ reflect: !0,
1174
+ converter: c
1175
+ })], l.prototype, "height", void 0), e([o({
1176
+ type: String,
1177
+ reflect: !0,
1178
+ attribute: "max-height",
1179
+ converter: c
1180
+ })], l.prototype, "maxHeight", void 0), e([o({
1181
+ type: String,
1182
+ reflect: !0,
1183
+ converter: c
1184
+ })], l.prototype, "spacing", void 0), e([o({
1185
+ type: String,
1186
+ attribute: "spacing-top",
1187
+ reflect: !0,
1188
+ converter: c
1189
+ })], l.prototype, "spacingTop", void 0), e([o({
1190
+ type: String,
1191
+ attribute: "spacing-bottom",
1192
+ reflect: !0,
1193
+ converter: c
1194
+ })], l.prototype, "spacingBottom", void 0), e([o({
1195
+ type: String,
1196
+ attribute: "spacing-left",
1197
+ reflect: !0,
1198
+ converter: c
1199
+ })], l.prototype, "spacingLeft", void 0), e([o({
1200
+ type: String,
1201
+ attribute: "spacing-right",
1202
+ reflect: !0,
1203
+ converter: c
1204
+ })], l.prototype, "spacingRight", void 0), e([o({
1205
+ type: String,
1206
+ attribute: "padding",
1207
+ reflect: !0,
1208
+ converter: c
1209
+ })], l.prototype, "innerPadding", void 0), e([o({
1210
+ type: String,
1211
+ attribute: "padding-top",
1212
+ reflect: !0,
1213
+ converter: c
1214
+ })], l.prototype, "paddingTop", void 0), e([o({
1215
+ type: String,
1216
+ attribute: "padding-bottom",
1217
+ reflect: !0,
1218
+ converter: c
1219
+ })], l.prototype, "paddingBottom", void 0), e([o({
1220
+ type: String,
1221
+ attribute: "padding-left",
1222
+ reflect: !0,
1223
+ converter: c
1224
+ })], l.prototype, "paddingLeft", void 0), e([o({
1225
+ type: String,
1226
+ attribute: "padding-right",
1227
+ reflect: !0,
1228
+ converter: c
1229
+ })], l.prototype, "paddingRight", void 0), l = s = e([a("scb-card")], l);
1230
+ //#endregion
1231
+ export { l as ScbCard };