scb-wc 0.1.11 → 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/all.js +104 -1
  2. package/mvc/components/all.js +3 -90
  3. package/mvc/components/scb-accordion/scb-accordion-item.js +211 -1
  4. package/mvc/components/scb-accordion/scb-accordion.js +44 -1
  5. package/mvc/components/scb-app-bar/scb-app-bar.js +166 -1
  6. package/mvc/components/scb-avatar/scb-avatar.js +111 -1
  7. package/mvc/components/scb-badge/scb-badge.js +80 -1
  8. package/mvc/components/scb-breadcrumb/scb-breadcrumb-item.js +14 -1
  9. package/mvc/components/scb-breadcrumb/scb-breadcrumb.js +96 -1
  10. package/mvc/components/scb-button/scb-button.js +268 -1
  11. package/mvc/components/scb-calendar/scb-calendar-event.js +6 -1
  12. package/mvc/components/scb-calendar/scb-calendar.js +168 -1
  13. package/mvc/components/scb-calendar-card/scb-calendar-card.js +346 -1
  14. package/mvc/components/scb-card/scb-card.js +761 -1
  15. package/mvc/components/scb-checkbox/scb-checkbox-group.js +33 -1
  16. package/mvc/components/scb-checkbox/scb-checkbox.js +140 -1
  17. package/mvc/components/{Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-chevron → scb-chevron}/scb-chevron.js +1 -1
  18. package/mvc/components/scb-chip/scb-chip.js +66 -1
  19. package/mvc/components/scb-collapse/scb-collapse.js +89 -1
  20. package/mvc/components/scb-cookies-consent/scb-cookies-consent.js +78 -1
  21. package/mvc/components/{Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-datepicker → scb-datepicker}/scb-datepicker.js +1 -1
  22. package/mvc/components/scb-dialog/scb-dialog.js +265 -1
  23. package/mvc/components/scb-divider/scb-divider.js +69 -1
  24. package/mvc/components/scb-drawer/scb-drawer.js +128 -1
  25. package/mvc/components/scb-drop-zone/scb-drop-zone.js +555 -1
  26. package/mvc/components/scb-dropdown/scb-dropdown.js +306 -1
  27. package/mvc/components/scb-fab/scb-fab.js +108 -1
  28. package/mvc/components/scb-fact-card/scb-fact-card-content.js +46 -1
  29. package/mvc/components/scb-fact-card/scb-fact-card.js +226 -1
  30. package/mvc/components/scb-footer/scb-footer-section.js +3 -1
  31. package/mvc/components/scb-footer/scb-footer.js +210 -1
  32. package/mvc/components/scb-gallery-grid/scb-gallery-grid.js +131 -1
  33. package/mvc/components/scb-grid/scb-grid-item.js +11 -1
  34. package/mvc/components/scb-grid/scb-grid.js +98 -1
  35. package/mvc/components/scb-grid/scb-stack.js +33 -1
  36. package/mvc/components/scb-header/scb-header-menu-group.js +1 -1
  37. package/mvc/components/scb-header/scb-header-menu-item.js +5 -1
  38. package/mvc/components/scb-header/scb-header-tab.js +5 -1
  39. package/mvc/components/scb-header/scb-header-utility.js +1 -1
  40. package/mvc/components/scb-header/scb-header.js +681 -1
  41. package/mvc/components/scb-horizontal-scroller/scb-horizontal-scroller.js +196 -1
  42. package/mvc/components/scb-icon-button/scb-icon-button.js +171 -1
  43. package/mvc/components/scb-keyfigure-card/scb-keyfigure-card.js +212 -1
  44. package/mvc/components/scb-link/scb-link.js +61 -1
  45. package/mvc/components/scb-list/scb-list-item.js +153 -1
  46. package/mvc/components/scb-list/scb-list.js +26 -1
  47. package/mvc/components/scb-menu/scb-menu-item.js +205 -1
  48. package/mvc/components/scb-menu/scb-menu-section.js +42 -1
  49. package/mvc/components/scb-menu/scb-menu.js +81 -1
  50. package/mvc/components/scb-menu/scb-sub-menu.js +10 -1
  51. package/mvc/components/scb-nav/scb-nav-item.js +28 -1
  52. package/mvc/components/scb-nav/scb-nav.js +104 -1
  53. package/mvc/components/scb-notification-card/scb-notification-card.js +358 -1
  54. package/mvc/components/scb-options-menu/scb-options-menu-item.js +66 -1
  55. package/mvc/components/scb-options-menu/scb-options-menu.js +88 -1
  56. package/mvc/components/scb-options-menu/scb-options-sub-menu.js +34 -1
  57. package/mvc/components/scb-overlay/scb-overlay.js +49 -1
  58. package/mvc/components/scb-pagination/scb-pagination.js +312 -1
  59. package/mvc/components/scb-progress-indicator/scb-progress-indicator.js +87 -1
  60. package/mvc/components/scb-progress-stepper/scb-progress-step.js +147 -1
  61. package/mvc/components/scb-progress-stepper/scb-progress-stepper.js +62 -1
  62. package/mvc/components/scb-radio-button/scb-radio-button.js +132 -1
  63. package/mvc/components/scb-radio-button/scb-radio-group.js +43 -1
  64. package/mvc/components/scb-scrollspy/scb-scrollspy.js +79 -1
  65. package/mvc/components/scb-search/scb-search.js +292 -1
  66. package/mvc/components/scb-segmented-button/scb-segmented-button.js +32 -1
  67. package/mvc/components/scb-segmented-button/scb-segmented-item.js +74 -1
  68. package/mvc/components/scb-select/scb-select-option.js +61 -1
  69. package/mvc/components/scb-select/scb-select.js +284 -1
  70. package/mvc/components/scb-skeleton/scb-skeleton.js +38 -1
  71. package/mvc/components/scb-slider/scb-slider.js +27 -1
  72. package/mvc/components/scb-snackbar/scb-snackbar.js +128 -1
  73. package/mvc/components/scb-status-pill/scb-status-pill.js +45 -1
  74. package/mvc/components/scb-stepper/scb-step.js +239 -1
  75. package/mvc/components/scb-stepper/scb-stepper.js +139 -1
  76. package/mvc/components/scb-switch/scb-switch.js +59 -1
  77. package/mvc/components/scb-table/scb-table.js +51 -1
  78. package/mvc/components/scb-table-advanced/scb-table-advanced.js +76 -1
  79. package/mvc/components/scb-tabs/scb-primary-tab.js +6 -1
  80. package/mvc/components/scb-tabs/scb-secondary-tab.js +6 -1
  81. package/mvc/components/scb-tabs/scb-tabs.js +28 -1
  82. package/mvc/components/scb-textfield/scb-textfield.js +595 -1
  83. package/mvc/components/scb-toc/scb-toc-item.js +303 -1
  84. package/mvc/components/scb-toc/scb-toc.js +19 -1
  85. package/mvc/components/scb-tooltip/scb-tooltip.js +196 -1
  86. package/mvc/components/scb-vignette/scb-vignette.js +37 -0
  87. package/mvc/components/scb-viz/scb-viz-actions-runtime.js +2 -1
  88. package/mvc/components/scb-viz/scb-viz-print-runtime.js +98 -1
  89. package/mvc/components/scb-viz/scb-viz-series-differentiation-registry.js +1 -1
  90. package/mvc/components/scb-viz/scb-viz-series-differentiation-runtime.js +1 -1
  91. package/mvc/components/scb-viz/scb-viz-table-runtime.js +1 -1
  92. package/mvc/components/scb-viz/scb-viz.js +1140 -1
  93. package/mvc/scb-logo.svg +20 -20
  94. package/mvc/scb.svg +13 -13
  95. package/package.json +462 -430
  96. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-accordion/scb-accordion-item.js +0 -211
  97. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-accordion/scb-accordion.js +0 -44
  98. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-app-bar/scb-app-bar.js +0 -166
  99. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-avatar/scb-avatar.js +0 -111
  100. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-badge/scb-badge.js +0 -80
  101. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-breadcrumb/scb-breadcrumb-item.js +0 -14
  102. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-breadcrumb/scb-breadcrumb.js +0 -96
  103. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-button/scb-button.js +0 -268
  104. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-calendar/scb-calendar-event.js +0 -6
  105. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-calendar/scb-calendar.js +0 -168
  106. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-calendar-card/scb-calendar-card.js +0 -346
  107. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-card/scb-card.js +0 -761
  108. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-checkbox/scb-checkbox-group.js +0 -33
  109. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-checkbox/scb-checkbox.js +0 -140
  110. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-chip/scb-chip.js +0 -66
  111. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-collapse/scb-collapse.js +0 -89
  112. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-cookies-consent/scb-cookies-consent.js +0 -78
  113. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-dialog/scb-dialog.js +0 -265
  114. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-divider/scb-divider.js +0 -69
  115. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-drawer/scb-drawer.js +0 -128
  116. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-drop-zone/scb-drop-zone.js +0 -555
  117. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-dropdown/scb-dropdown.js +0 -306
  118. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-fab/scb-fab.js +0 -108
  119. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-fact-card/scb-fact-card-content.js +0 -46
  120. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-fact-card/scb-fact-card.js +0 -226
  121. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-footer/scb-footer-section.js +0 -3
  122. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-footer/scb-footer.js +0 -210
  123. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-gallery-grid/scb-gallery-grid.js +0 -131
  124. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-grid/scb-grid-item.js +0 -11
  125. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-grid/scb-grid.js +0 -98
  126. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-grid/scb-stack.js +0 -33
  127. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-header/scb-header-menu-group.js +0 -1
  128. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-header/scb-header-menu-item.js +0 -5
  129. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-header/scb-header-tab.js +0 -5
  130. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-header/scb-header-utility.js +0 -1
  131. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-header/scb-header.js +0 -681
  132. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-horizontal-scroller/scb-horizontal-scroller.js +0 -196
  133. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-icon-button/scb-icon-button.js +0 -171
  134. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-keyfigure-card/scb-keyfigure-card.js +0 -212
  135. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-link/scb-link.js +0 -61
  136. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-list/scb-list-item.js +0 -153
  137. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-list/scb-list.js +0 -26
  138. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-menu/scb-menu-item.js +0 -205
  139. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-menu/scb-menu-section.js +0 -42
  140. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-menu/scb-menu.js +0 -81
  141. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-menu/scb-sub-menu.js +0 -10
  142. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-nav/scb-nav-item.js +0 -28
  143. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-nav/scb-nav.js +0 -104
  144. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-notification-card/scb-notification-card.js +0 -358
  145. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-options-menu/scb-options-menu-item.js +0 -66
  146. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-options-menu/scb-options-menu.js +0 -88
  147. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-options-menu/scb-options-sub-menu.js +0 -34
  148. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-overlay/scb-overlay.js +0 -49
  149. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-pagination/scb-pagination.js +0 -312
  150. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-progress-indicator/scb-progress-indicator.js +0 -87
  151. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-progress-stepper/scb-progress-step.js +0 -147
  152. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-progress-stepper/scb-progress-stepper.js +0 -62
  153. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-radio-button/scb-radio-button.js +0 -132
  154. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-radio-button/scb-radio-group.js +0 -43
  155. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-scrollspy/scb-scrollspy.js +0 -79
  156. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-search/scb-search.js +0 -292
  157. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-segmented-button/scb-segmented-button.js +0 -32
  158. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-segmented-button/scb-segmented-item.js +0 -74
  159. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-select/scb-select-option.js +0 -61
  160. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-select/scb-select.js +0 -284
  161. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-skeleton/scb-skeleton.js +0 -38
  162. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-slider/scb-slider.js +0 -27
  163. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-snackbar/scb-snackbar.js +0 -128
  164. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-status-pill/scb-status-pill.js +0 -45
  165. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-stepper/scb-step.js +0 -239
  166. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-stepper/scb-stepper.js +0 -139
  167. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-switch/scb-switch.js +0 -59
  168. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-table/scb-table.js +0 -51
  169. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-table-advanced/scb-table-advanced.js +0 -76
  170. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-tabs/scb-primary-tab.js +0 -6
  171. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-tabs/scb-secondary-tab.js +0 -6
  172. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-tabs/scb-tabs.js +0 -28
  173. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-textfield/scb-textfield.js +0 -595
  174. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-toc/scb-toc-item.js +0 -303
  175. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-toc/scb-toc.js +0 -19
  176. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-tooltip/scb-tooltip.js +0 -196
  177. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-vignette/scb-vignette.js +0 -37
  178. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-viz/scb-viz-actions-runtime.js +0 -2
  179. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-viz/scb-viz-print-runtime.js +0 -98
  180. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-viz/scb-viz-series-differentiation-registry.js +0 -1
  181. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-viz/scb-viz-series-differentiation-runtime.js +0 -1
  182. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-viz/scb-viz-table-runtime.js +0 -1
  183. package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-viz/scb-viz.js +0 -1140
@@ -1,555 +0,0 @@
1
- import{_ as g,b as f,g as b,h as l,m as p,y as n}from"../../../../../../../../vendor/vendor.js";import"../../../../../../../../vendor/vendor-lit.js";import{t as a}from"../../../../../../../../vendor/decorate.js";import"../scb-button/scb-button.js";(function(){try{var m=typeof globalThis<"u"?globalThis:window;if(!m.__scb_ce_guard_installed__){m.__scb_ce_guard_installed__=!0;var e=customElements.define.bind(customElements);customElements.define=function(i,t,r){try{customElements.get(i)||e(i,t,r)}catch(d){var o=String(d||"");if(o.indexOf("already been used")===-1&&o.indexOf("NotSupportedError")===-1)throw d}}}}catch{}})();var v,s=(v=class extends g{constructor(){super(),this._internals=null,this.type="default",this.name="",this.multiple=!1,this.label="",this.supportingText="",this.metaText="",this.buttonLabel="",this.replaceButtonLabel="",this.removeButtonLabel="",this.previewEyebrow="",this.emptyPreviewTitle="",this.emptyPreviewMeta="",this.accept="",this.hidePreview=!1,this.showExistingPreview=!1,this.disabled=!1,this.previewSrc="",this.previewAlt="",this.previewTitle="",this.previewMeta="",this.existingValue="",this.existingValueName="",this.removeValueName="",this._isDragOver=!1,this._selectedPreviewKind="empty",this._selectedPreviewSrc="",this._selectedPreviewAlt="",this._selectedPreviewTitle="",this._selectedPreviewMeta="",this._selectedPreviewItems=[],this._markedForRemoval=!1,this._dragDepth=0,this._previewSource="external",this._form=null,this._formDataHandler=null,"attachInternals"in this&&(this._internals=this.attachInternals())}get _resolvedAccept(){return this.accept.trim()||(this.type==="image"?"image/*,.png,.jpg,.jpeg,.webp,.svg,.gif,.bmp,.avif":"")}get _hasExistingPreview(){return this.multiple||this._markedForRemoval||!(this.existingValue.trim()||this.previewSrc.trim()||this.previewTitle.trim()||this.previewMeta.trim())?!1:this.showExistingPreview||!!this.previewSrc.trim()}get _resolvedPreviewKind(){return this._previewSource==="external"&&this._hasExistingPreview?this.previewSrc.trim()?"image":"file":this._selectedPreviewKind}get _hasPreview(){return this._resolvedPreviewKind!=="empty"}get _resolvedLabel(){return this.label||(this.type==="image"?"Ladda upp bild":"Ladda upp fil")}get _resolvedSupportingText(){return this.multiple?this.supportingText||(this.type==="image"?"Dra och släpp en eller flera bilder här, eller välj bilder från din dator.":"Dra och släpp en eller flera filer här, eller välj filer från din dator."):this.supportingText||(this.type==="image"?"Dra och släpp en bild här, eller välj en bild från din dator.":"Dra och släpp en fil här, eller välj en fil från din dator.")}get _resolvedMetaText(){return this.metaText?this.metaText:this.type==="image"?"PNG, JPG, SVG, GIF, BMP, AVIF och WebP stöds.":"Alla filtyper stöds."}get _resolvedButtonLabel(){return this.buttonLabel||(this.type==="image"?"Välj bild":"Välj fil")}get _resolvedReplaceButtonLabel(){return this.replaceButtonLabel?this.replaceButtonLabel:this.multiple||this._resolvedPreviewKind==="multi"?"Lägg till fler filer":this._previewSource==="external"&&this._hasExistingPreview?this._resolvedPreviewKind==="image"?"Ersätt bild":"Ersätt fil":this._resolvedPreviewKind==="image"?"Byt bild":"Byt fil"}get _resolvedRemoveButtonLabel(){return this.removeButtonLabel?this.removeButtonLabel:this._resolvedPreviewKind==="multi"?"Ta bort filer":this._previewSource==="external"&&this._hasExistingPreview?this._resolvedPreviewKind==="image"?"Ta bort befintlig bild":"Ta bort befintlig fil":this._resolvedPreviewKind==="image"?"Ta bort bild":"Ta bort fil"}get _resolvedPreviewEyebrow(){return this.previewEyebrow?this.previewEyebrow:this._hasPreview?this._resolvedPreviewKind==="multi"?"Uppladdade filer":this._previewSource==="external"&&this._hasExistingPreview?this._resolvedPreviewKind==="image"?"Befintlig bild":"Befintlig fil":this._resolvedPreviewKind==="image"?"Uppladdad bild":"Uppladdad fil":"Förhandsvisning"}get _resolvedEmptyPreviewTitle(){return this.emptyPreviewTitle?this.emptyPreviewTitle:this.multiple?this.type==="image"?"Inga bilder uppladdade":"Inga filer uppladdade":this.type==="image"?"Ingen bild uppladdad":"Ingen fil uppladdad"}get _resolvedEmptyPreviewMeta(){return this.emptyPreviewMeta?this.emptyPreviewMeta:this.multiple?this.type==="image"?"Förhandsvisningen visas här när du har laddat upp bilder.":"Förhandsvisningen visas här när du har laddat upp filer.":this.type==="image"?"Förhandsvisningen visas här när du har laddat upp en bild.":"Förhandsvisningen visas här när du har laddat upp en fil."}get _resolvedPreviewSrc(){return this._previewSource==="external"&&this._hasExistingPreview?this.previewSrc.trim():this._selectedPreviewSrc}get _resolvedPreviewAlt(){return this._previewSource==="external"&&this._hasExistingPreview?this.previewAlt:this._selectedPreviewAlt}get _resolvedPreviewTitle(){return this._previewSource==="external"&&this._hasExistingPreview?this.previewTitle||(this._resolvedPreviewKind==="image"?"Befintlig bild":"Befintlig fil"):this._selectedPreviewTitle}get _resolvedPreviewMeta(){return this._previewSource==="external"&&this._hasExistingPreview?this.previewMeta:this._selectedPreviewMeta}connectedCallback(){super.connectedCallback(),this._syncFormValue(),this._form=this.closest("form"),this._form&&(this._formDataHandler=e=>{const i=e.formData;i&&this._appendToFormData(i)},this._form.addEventListener("formdata",this._formDataHandler))}disconnectedCallback(){this._form&&this._formDataHandler&&this._form.removeEventListener("formdata",this._formDataHandler),this._formDataHandler=null,this._form=null,this._revokeObjectUrl(),super.disconnectedCallback()}updated(e){e.has("type")&&this.type==="image"&&this._selectedPreviewKind==="file"&&this._clearSelectedFileState(),(e.has("disabled")||e.has("name")||e.has("multiple")||e.has("existingValueName")||e.has("removeValueName")||e.has("existingValue"))&&this._syncFormValue()}formDisabledCallback(e){this.disabled=e}formResetCallback(){this._clearSelectedFileState(),this._markedForRemoval=!1,this._previewSource="external",this._clearNativeInputValue(),this._syncFormValue()}_syncFormValue(){if(!this._internals)return;const e=this.name.trim(),i=this.existingValueName.trim(),t=this.removeValueName.trim(),r=new FormData;if(!this.disabled&&e&&this._selectedPreviewItems.length&&this._selectedPreviewItems.forEach(o=>{r.append(e,o.file,o.file.name)}),!this.disabled&&!this.multiple&&i&&this.existingValue.trim()&&r.append(i,this.existingValue),!this.disabled&&!this.multiple&&t&&r.append(t,this._markedForRemoval?"true":"false"),[...r.keys()].length===0){this._internals.setFormValue(null);return}this._internals.setFormValue(r)}_appendToFormData(e){if(this.disabled)return;const i=this.name.trim();if(i&&this._selectedPreviewItems.length&&(e.getAll(i).some(t=>t instanceof File&&this._selectedPreviewItems.some(r=>r.file===t))||this._selectedPreviewItems.forEach(t=>{e.append(i,t.file,t.file.name)})),!this.multiple){const t=this.existingValueName.trim();t&&this.existingValue.trim()&&!e.has(t)&&e.append(t,this.existingValue);const r=this.removeValueName.trim();r&&!e.has(r)&&e.append(r,this._markedForRemoval?"true":"false")}}openPicker(){if(this.disabled)return;const e=this.renderRoot.querySelector('[data-role="native-input"]');if(e){try{e.value=""}catch{}e.click()}}setPreviewState(e){this.previewSrc=e?.src??"",this.previewAlt=e?.alt??"",this.previewTitle=e?.title??"",this.previewMeta=e?.meta??"",this._markedForRemoval=!1,this._previewSource=this._selectedPreviewItems.length?"internal":"external",this._syncFormValue()}setExistingFileState(e){if(this.multiple){this.existingValue="",this.previewSrc="",this.previewAlt="",this.previewTitle="",this.previewMeta="",this._markedForRemoval=!1,this._syncFormValue();return}this.existingValue=e?.value??"",this.previewSrc=e?.src??"",this.previewAlt=e?.alt??"",this.previewTitle=e?.title??"",this.previewMeta=e?.meta??"",this._markedForRemoval=!1,this._previewSource=this._selectedPreviewItems.length?"internal":"external",this._syncFormValue()}clearPreviewState(){this.previewSrc="",this.previewAlt="",this.previewTitle="",this.previewMeta="",this._markedForRemoval=!1,this._previewSource="external",this._clearSelectedFileState(),this._clearNativeInputValue(),this._syncFormValue()}clearExistingFileState(){this.existingValue="",this.previewSrc="",this.previewAlt="",this.previewTitle="",this.previewMeta="",this._markedForRemoval=!1,this._selectedPreviewItems.length||(this._previewSource="external"),this._syncFormValue()}_dispatch(e,i={},t=!1){const r=new CustomEvent(e,{detail:i,bubbles:!0,composed:!0,cancelable:t});return this.dispatchEvent(r),r}_handleFiles(e){const i=Array.from(e??[]).filter(o=>this._isAcceptedFile(o));if(!i.length)return;const t=this.multiple?i:[i[0]];this._setSelectedFilesState(t,this.multiple);const r=this._selectedPreviewItems.map(o=>o.file);this._dispatch("file-selected",{file:r[0],files:r,addedFiles:t,existingValue:this.existingValue,markedForRemoval:this._markedForRemoval}),this._dispatch("change",{file:r[0],files:r,addedFiles:t,existingValue:this.existingValue,markedForRemoval:this._markedForRemoval})}_onZoneClick(e){this.disabled||e.composedPath().some(i=>i instanceof HTMLElement&&i.getAttribute("data-role")==="choose-button")||this.openPicker()}_onZoneKeydown(e){this.disabled||(e.key==="Enter"||e.key===" "||e.key==="Spacebar")&&(e.preventDefault(),this.openPicker())}_preventDefaultDrag(e){e.preventDefault(),e.stopPropagation()}_onDragEnter(e){this.disabled||(this._preventDefaultDrag(e),this._dragDepth+=1,this._isDragOver=!0)}_onDragOver(e){this.disabled||(this._preventDefaultDrag(e),this._isDragOver=!0)}_onDragLeave(e){this.disabled||(this._preventDefaultDrag(e),this._dragDepth=Math.max(0,this._dragDepth-1),this._dragDepth||(this._isDragOver=!1))}_onDrop(e){this.disabled||(this._preventDefaultDrag(e),this._dragDepth=0,this._isDragOver=!1,this._handleFiles(e.dataTransfer?.files??null))}_onNativeInputChange(e){const i=e.currentTarget;this._handleFiles(i?.files??null)}_onChooseButtonClick(e){e.preventDefault(),e.stopPropagation(),this.openPicker()}_onReplaceButtonClick(e){e.preventDefault(),e.stopPropagation(),this.openPicker()}_onRemoveButtonClick(e){if(e.preventDefault(),e.stopPropagation(),!this._dispatch("clear-request",{file:this._selectedPreviewItems[0]?.file??null,files:this._selectedPreviewItems.map(i=>i.file),existingValue:this.existingValue,markedForRemoval:this._markedForRemoval},!0).defaultPrevented){if(this._selectedPreviewItems.length){this._clearSelectedFileState(),this._clearNativeInputValue(),this._previewSource=this._hasExistingPreview?"external":"internal",this._dispatch("change",{file:null,files:[],existingValue:this.existingValue,markedForRemoval:this._markedForRemoval});return}if(this._hasExistingPreview){this._markedForRemoval=!0,this._previewSource="external",this._syncFormValue(),this.requestUpdate(),this._dispatch("change",{file:null,files:[],existingValue:this.existingValue,markedForRemoval:!0});return}this.clearPreviewState()}}_onRemoveSelectedItemClick(e){if(e.preventDefault(),e.stopPropagation(),this.disabled)return;const i=e.currentTarget?.getAttribute("data-index")||"",t=Number.parseInt(i,10);Number.isInteger(t)&&this._removeSelectedItemAt(t)}_isAcceptedFile(e){const i=this._resolvedAccept.trim();if(!i)return!0;const t=e.name.toLowerCase(),r=(e.type||"").toLowerCase(),o=i.split(",").map(d=>d.trim().toLowerCase()).filter(Boolean);return o.length?o.some(d=>d==="*/*"?!0:d.endsWith("/*")?r.startsWith(d.slice(0,-1)):d.startsWith(".")?t.endsWith(d):r===d):!0}_setSelectedFilesState(e,i){const t=e.filter(Boolean);if(!t.length)return;const r=i?this._selectedPreviewItems:[],o=t.map(c=>{const h=this._getPreviewKindForFile(c),u=this._getFileTypeLabel(c),_=this._formatFileSize(c.size);return{file:c,kind:h,src:h==="image"?URL.createObjectURL(c):"",alt:h==="image"?c.name||"Uppladdad bild":"",title:c.name||(h==="image"?"Uppladdad bild":"Uppladdad fil"),meta:[u,_].filter(Boolean).join(" • ")}});i||this._revokeObjectUrl();const d=this.multiple?[...r,...o]:[o[0]];!this.multiple&&r.length&&this._revokeObjectUrlsForItems(r),this._markedForRemoval=!1,this._applySelectedPreviewItems(d)}_clearSelectedFileState(){this._revokeObjectUrl(),this._applySelectedPreviewItems([])}_applySelectedPreviewItems(e){this._selectedPreviewItems=e;const i=e[0];if(!i){this._selectedPreviewKind="empty",this._selectedPreviewTitle="",this._selectedPreviewMeta="",this._selectedPreviewAlt="",this._selectedPreviewSrc="",this._previewSource="internal",this._syncFormValue();return}if(e.length>1){const t=e.reduce((r,o)=>r+(Number.isFinite(o.file.size)?o.file.size:0),0);this._selectedPreviewKind="multi",this._selectedPreviewTitle=`${e.length} filer valda`,this._selectedPreviewMeta=`Totalt ${this._formatFileSize(t)}`,this._selectedPreviewAlt="",this._selectedPreviewSrc=""}else this._selectedPreviewKind=i.kind,this._selectedPreviewTitle=i.title,this._selectedPreviewMeta=i.meta,this._selectedPreviewAlt=i.alt,this._selectedPreviewSrc=i.src;this._previewSource="internal",this._syncFormValue()}_removeSelectedItemAt(e){if(e<0||e>=this._selectedPreviewItems.length)return;const i=this._selectedPreviewItems[e];i.src&&URL.revokeObjectURL(i.src);const t=this._selectedPreviewItems.filter((r,o)=>o!==e);this._applySelectedPreviewItems(t),this._dispatch("file-removed",{file:i.file,files:t.map(r=>r.file),index:e,existingValue:this.existingValue,markedForRemoval:this._markedForRemoval}),this._dispatch("change",{file:t[0]?.file??null,files:t.map(r=>r.file),removedFile:i.file,removedIndex:e,existingValue:this.existingValue,markedForRemoval:this._markedForRemoval})}_renderSelectedImageCards(){return!this.multiple||this.type!=="image"||this.hidePreview||!this._selectedPreviewItems.some(e=>e.kind==="image"&&e.src)?null:n`
2
- <div class="scb-drop-zone__selected-images" aria-label="Valda bilder">
3
- ${this._selectedPreviewItems.map((e,i)=>e.kind!=="image"||!e.src?null:n`
4
- <article class="scb-drop-zone__selected-image-card" aria-label=${`${e.title}, ${e.meta}`}>
5
- <img class="scb-drop-zone__selected-image" src=${e.src} alt=${e.alt||e.title} />
6
- <span class="scb-drop-zone__selected-image-title">${e.title}</span>
7
- <span class="scb-drop-zone__selected-image-meta">${e.meta}</span>
8
- <scb-button
9
- class="scb-drop-zone__selected-image-action"
10
- data-index=${String(i)}
11
- variant="text"
12
- size="small"
13
- label="Ta bort"
14
- aria-label=${`Ta bort ${e.title}`}
15
- @click=${this._onRemoveSelectedItemClick}
16
- ></scb-button>
17
- </article>
18
- `)}
19
- </div>
20
- `}_clearNativeInputValue(){const e=this.renderRoot.querySelector('[data-role="native-input"]');if(e)try{e.value=""}catch{}}_revokeObjectUrl(){this._revokeObjectUrlsForItems(this._selectedPreviewItems)}_revokeObjectUrlsForItems(e){e.forEach(i=>{i.src&&URL.revokeObjectURL(i.src)})}_getPreviewKindForFile(e){const i=(e.type||"").toLowerCase(),t=this._getFileExtension(e.name).toLowerCase();return i.startsWith("image/")||["png","jpg","jpeg","webp","svg","gif","bmp","avif"].includes(t)?"image":"file"}_getFileExtension(e){return/\.([^.]+)$/.exec(e||"")?.[1]??""}_getFileExtensionLabel(e){return(this._getFileExtension(e)||(this._resolvedPreviewKind==="image"?"IMG":"FIL")).slice(0,6).toUpperCase()}_getFileTypeLabel(e){if(e.type)return e.type;const i=this._getFileExtension(e.name);return i?i.toUpperCase():"Okänd filtyp"}_formatFileSize(e){return!Number.isFinite(e)||e<0?"":e<1024?`${e} B`:e<1024*1024?`${new Intl.NumberFormat("sv-SE",{maximumFractionDigits:1}).format(e/1024)} kB`:`${new Intl.NumberFormat("sv-SE",{maximumFractionDigits:1}).format(e/(1024*1024))} MB`}_renderPreviewMedia(){return this._resolvedPreviewKind==="multi"?this.multiple&&this.type==="image"?n`
21
- <div class="scb-drop-zone__preview-placeholder">
22
- <div class="scb-drop-zone__preview-placeholder-inner">
23
- <span class="scb-drop-zone__preview-placeholder-label">Bild</span>
24
- <p class="scb-drop-zone__preview-file-label">Valda bilder visas under uppladdningsytan.</p>
25
- </div>
26
- </div>
27
- `:n`
28
- <ul class="scb-drop-zone__preview-list" aria-label="Valda filer">
29
- ${this._selectedPreviewItems.map((e,i)=>n`
30
- <li class="scb-drop-zone__preview-list-item" aria-label=${`${e.title}, ${e.meta}`}>
31
- ${e.kind==="image"&&e.src?n`<img class="scb-drop-zone__preview-image scb-drop-zone__preview-image--thumb" src=${e.src} alt=${e.alt||e.title} />`:n`
32
- <span class="scb-drop-zone__preview-list-extension" aria-hidden="true">
33
- ${this._getFileExtensionLabel(e.title)}
34
- </span>
35
- <span class="scb-drop-zone__sr-only">Fil</span>
36
- `}
37
- <span class="scb-drop-zone__preview-list-content">
38
- <span class="scb-drop-zone__preview-list-title">${e.title}</span>
39
- <span class="scb-drop-zone__preview-list-meta">${e.meta}</span>
40
- </span>
41
- <scb-button
42
- class="scb-drop-zone__preview-list-item-action"
43
- data-index=${String(i)}
44
- variant="text"
45
- size="small"
46
- label="Ta bort"
47
- aria-label=${`Ta bort ${e.title}`}
48
- @click=${this._onRemoveSelectedItemClick}
49
- ></scb-button>
50
- </li>
51
- `)}
52
- </ul>
53
- `:this._resolvedPreviewKind==="image"&&this._resolvedPreviewSrc?n`<img class="scb-drop-zone__preview-image" src=${this._resolvedPreviewSrc} alt=${this._resolvedPreviewAlt} />`:this._hasPreview?n`
54
- <div class="scb-drop-zone__preview-file-card">
55
- <div class="scb-drop-zone__preview-file-card-inner">
56
- <span class="scb-drop-zone__preview-file-extension">${this._getFileExtensionLabel(this._resolvedPreviewTitle)}</span>
57
- <p class="scb-drop-zone__preview-file-label">${this._previewSource==="external"?"Befintlig fil":"Vald fil"}</p>
58
- </div>
59
- </div>
60
- `:n`
61
- <div class="scb-drop-zone__preview-placeholder">
62
- <div class="scb-drop-zone__preview-placeholder-inner">
63
- <span class="scb-drop-zone__preview-placeholder-label">${this.type==="image"?"Bild":"Fil"}</span>
64
- </div>
65
- </div>
66
- `}_renderPreview(){if(this.hidePreview||this.multiple&&this.type==="image")return null;const e=this._hasPreview?this._resolvedPreviewTitle:this._resolvedEmptyPreviewTitle,i=this._hasPreview?this._resolvedPreviewMeta:this._resolvedEmptyPreviewMeta;return n`
67
- <div class="scb-drop-zone__preview">
68
- <div class="scb-drop-zone__preview-media">
69
- ${this._renderPreviewMedia()}
70
- </div>
71
-
72
- <div class="scb-drop-zone__preview-body">
73
- <p class="scb-drop-zone__preview-eyebrow">${this._resolvedPreviewEyebrow}</p>
74
- <h3 class="scb-drop-zone__preview-title">${e}</h3>
75
- <p class="scb-drop-zone__preview-meta" aria-live="polite">${i}</p>
76
-
77
- ${this._hasPreview?n`
78
- <div class="scb-drop-zone__preview-actions">
79
- <scb-button
80
- data-role="replace-button"
81
- variant="outlined"
82
- size="medium"
83
- label=${this._resolvedReplaceButtonLabel}
84
- @click=${this._onReplaceButtonClick}
85
- ></scb-button>
86
- <scb-button
87
- data-role="remove-button"
88
- variant="text"
89
- size="medium"
90
- label=${this._resolvedRemoveButtonLabel}
91
- @click=${this._onRemoveButtonClick}
92
- ></scb-button>
93
- </div>
94
- `:null}
95
- </div>
96
- </div>
97
- `}render(){const e={"scb-drop-zone__surface":!0,"is-dragover":this._isDragOver};return n`
98
- <div class="scb-drop-zone">
99
- <div class="scb-drop-zone__layout ${this.hidePreview?"":"scb-drop-zone__layout--with-preview"}">
100
- <div class="scb-drop-zone__main">
101
- <div
102
- class=${Object.keys(e).filter(i=>e[i]).join(" ")}
103
- data-role="zone"
104
- role="button"
105
- tabindex=${this.disabled?"-1":"0"}
106
- aria-label=${this._resolvedLabel}
107
- @click=${this._onZoneClick}
108
- @keydown=${this._onZoneKeydown}
109
- @dragenter=${this._onDragEnter}
110
- @dragover=${this._onDragOver}
111
- @dragleave=${this._onDragLeave}
112
- @drop=${this._onDrop}
113
- >
114
- <input
115
- class="scb-drop-zone__native-input"
116
- data-role="native-input"
117
- type="file"
118
- .accept=${this._resolvedAccept}
119
- ?multiple=${this.multiple}
120
- ?disabled=${this.disabled}
121
- @change=${this._onNativeInputChange}
122
- />
123
-
124
- <div class="scb-drop-zone__inner">
125
- <h2 class="scb-drop-zone__title">${this._resolvedLabel}</h2>
126
- <p class="scb-drop-zone__lead">${this._resolvedSupportingText}</p>
127
- ${this._resolvedMetaText?n`<p class="scb-drop-zone__meta">${this._resolvedMetaText}</p>`:null}
128
-
129
- <div class="scb-drop-zone__actions">
130
- <scb-button
131
- data-role="choose-button"
132
- variant="filled"
133
- size="medium"
134
- label=${this._resolvedButtonLabel}
135
- @click=${this._onChooseButtonClick}
136
- ></scb-button>
137
- </div>
138
- </div>
139
- </div>
140
- </div>
141
-
142
- ${this._renderPreview()}
143
- </div>
144
-
145
- ${this._renderSelectedImageCards()}
146
- </div>
147
- `}},v.formAssociated=!0,v.styles=f`
148
- :host {
149
- display: block;
150
- width: 100%;
151
- min-width: 0;
152
- font-family: var(--brand-font, Inter, sans-serif);
153
- color: var(--md-sys-color-on-surface, #111111);
154
- }
155
-
156
- .scb-drop-zone {
157
- display: block;
158
- width: 100%;
159
- }
160
-
161
- .scb-drop-zone__layout {
162
- display: grid;
163
- gap: var(--spacing-5, 16px);
164
- align-items: stretch;
165
- }
166
-
167
- .scb-drop-zone__layout--with-preview {
168
- grid-template-columns: minmax(0, 7fr) minmax(280px, 3fr);
169
- }
170
-
171
- :host([multiple]) .scb-drop-zone__layout--with-preview {
172
- grid-template-columns: 1fr;
173
- }
174
-
175
- .scb-drop-zone__surface,
176
- .scb-drop-zone__preview {
177
- min-width: 0;
178
- }
179
-
180
- .scb-drop-zone__main {
181
- min-width: 0;
182
- display: grid;
183
- gap: var(--spacing-4, 12px);
184
- }
185
-
186
- .scb-drop-zone__surface {
187
- box-sizing: border-box;
188
- width: 100%;
189
- min-height: var(--scb-drop-zone-min-height, min(46vh, 420px));
190
- height: 100%;
191
- display: flex;
192
- align-items: center;
193
- justify-content: center;
194
- padding: var(--spacing-8, 32px);
195
- border: 2px dashed var(--md-sys-color-outline-variant, #cccccc);
196
- border-radius: var(--radius-l, 16px);
197
- background: var(--md-sys-color-surface-container-lowest, #ffffff);
198
- cursor: pointer;
199
- transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
200
- outline: none;
201
- }
202
-
203
- :host([multiple]) .scb-drop-zone__surface {
204
- min-height: var(--scb-drop-zone-multi-min-height, min(32vh, 280px));
205
- padding: var(--spacing-6, 20px);
206
- }
207
-
208
- .scb-drop-zone__surface:hover,
209
- .scb-drop-zone__surface:focus-visible,
210
- .scb-drop-zone__surface.is-dragover {
211
- border-color: var(--md-sys-color-primary, #005799);
212
- background: var(--md-sys-color-surface-container, #f5f5f5);
213
- box-shadow: 0 0 0 1px var(--md-sys-color-primary, #005799);
214
- }
215
-
216
- :host([disabled]) .scb-drop-zone__surface {
217
- cursor: default;
218
- opacity: 0.6;
219
- }
220
-
221
- .scb-drop-zone__inner {
222
- width: min(760px, 100%);
223
- text-align: center;
224
- }
225
-
226
- .scb-drop-zone__title {
227
- margin: 0 0 var(--spacing-3, 8px) 0;
228
- font-size: var(--md-sys-typescale-headline-medium-size, 24px);
229
- line-height: var(--md-sys-typescale-headline-medium-line-height, 30px);
230
- color: var(--md-sys-color-on-surface, #111111);
231
- }
232
-
233
- .scb-drop-zone__lead {
234
- margin: 0;
235
- color: var(--md-sys-color-on-surface-variant, #444444);
236
- line-height: 1.6;
237
- }
238
-
239
- .scb-drop-zone__meta {
240
- margin: var(--spacing-4, 12px) 0 0 0;
241
- color: var(--md-sys-color-on-surface-variant, #444444);
242
- line-height: 1.6;
243
- }
244
-
245
- .scb-drop-zone__actions {
246
- display: flex;
247
- justify-content: center;
248
- margin-top: var(--spacing-6, 20px);
249
- }
250
-
251
- .scb-drop-zone__native-input {
252
- display: none;
253
- }
254
-
255
- .scb-drop-zone__preview {
256
- display: grid;
257
- grid-template-columns: 1fr;
258
- grid-template-rows: minmax(0, 1fr) auto;
259
- gap: var(--spacing-6, 20px);
260
- min-height: var(--scb-drop-zone-min-height, min(46vh, 420px));
261
- height: 100%;
262
- padding: var(--spacing-6, 20px);
263
- box-sizing: border-box;
264
- border: 1px solid var(--md-sys-color-outline-variant, #cccccc);
265
- border-radius: var(--radius-l, 16px);
266
- background: var(--md-sys-color-surface-container-lowest, #ffffff);
267
- align-items: stretch;
268
- align-content: stretch;
269
- }
270
-
271
-
272
- .scb-drop-zone__preview-media {
273
- width: 100%;
274
- height: 100%;
275
- min-height: 0;
276
- display: flex;
277
- align-items: center;
278
- justify-content: center;
279
- padding: 0;
280
- box-sizing: border-box;
281
- }
282
-
283
- .scb-drop-zone__preview-image {
284
- display: block;
285
- max-width: 100%;
286
- max-height: var(--scb-drop-zone-preview-max-height, 240px);
287
- width: auto;
288
- height: auto;
289
- object-fit: contain;
290
- border-radius: var(--radius-m, 12px);
291
- }
292
-
293
- .scb-drop-zone__preview-image--thumb {
294
- width: 40px;
295
- height: 40px;
296
- max-width: 40px;
297
- max-height: 40px;
298
- border-radius: var(--radius-s, 8px);
299
- object-fit: cover;
300
- flex: 0 0 auto;
301
- }
302
-
303
- .scb-drop-zone__preview-placeholder,
304
- .scb-drop-zone__preview-file-card {
305
- box-sizing: border-box;
306
- width: 100%;
307
- height: 100%;
308
- display: flex;
309
- align-items: center;
310
- justify-content: center;
311
- padding: var(--spacing-6, 20px);
312
- }
313
-
314
- .scb-drop-zone__preview-placeholder-inner,
315
- .scb-drop-zone__preview-file-card-inner {
316
- box-sizing: border-box;
317
- width: 100%;
318
- max-width: 320px;
319
- height: 100%;
320
- min-height: 180px;
321
- display: flex;
322
- flex-direction: column;
323
- align-items: center;
324
- justify-content: center;
325
- gap: var(--spacing-4, 12px);
326
- padding: var(--spacing-6, 20px);
327
- border: 2px dashed var(--md-sys-color-outline-variant, #cccccc);
328
- border-radius: var(--radius-m, 12px);
329
- background: var(--md-sys-color-surface-container-lowest, #ffffff);
330
- text-align: center;
331
- }
332
-
333
- .scb-drop-zone__preview-file-card-inner {
334
- border-style: solid;
335
- background: var(--md-sys-color-surface-container, #f5f5f5);
336
- }
337
-
338
- .scb-drop-zone__preview-placeholder-label,
339
- .scb-drop-zone__preview-file-extension {
340
- display: inline-flex;
341
- align-items: center;
342
- justify-content: center;
343
- min-width: 72px;
344
- min-height: 72px;
345
- padding: var(--spacing-3, 8px);
346
- border-radius: var(--radius-m, 12px);
347
- background: var(--md-sys-color-surface-container, #f5f5f5);
348
- color: var(--md-sys-color-on-surface, #111111);
349
- font-size: var(--md-sys-typescale-title-medium-size, 16px);
350
- line-height: var(--md-sys-typescale-title-medium-line-height, 24px);
351
- font-weight: 700;
352
- letter-spacing: 0.06em;
353
- text-transform: uppercase;
354
- }
355
-
356
- .scb-drop-zone__preview-file-extension {
357
- background: var(--md-sys-color-primary-container, #d9e2ff);
358
- color: var(--md-sys-color-on-primary-container, #001944);
359
- }
360
-
361
- .scb-drop-zone__preview-file-label {
362
- margin: 0;
363
- color: var(--md-sys-color-on-surface-variant, #444444);
364
- line-height: 1.6;
365
- }
366
-
367
- .scb-drop-zone__preview-list {
368
- width: 100%;
369
- max-height: 300px;
370
- margin: 0;
371
- padding: 0;
372
- list-style: none;
373
- display: grid;
374
- gap: var(--spacing-2, 4px);
375
- overflow: auto;
376
- }
377
-
378
-
379
- .scb-drop-zone__preview-list-item {
380
- display: flex;
381
- align-items: center;
382
- gap: var(--spacing-3, 8px);
383
- min-width: 0;
384
- padding: var(--spacing-3, 8px);
385
- border-radius: var(--radius-s, 8px);
386
- background: var(--md-sys-color-surface-container, #f5f5f5);
387
- }
388
-
389
- .scb-drop-zone__preview-list-extension {
390
- display: inline-flex;
391
- align-items: center;
392
- justify-content: center;
393
- flex: 0 0 auto;
394
- border-radius: var(--radius-s, 8px);
395
- color: var(--md-sys-color-on-primary-container, #001944);
396
- font-size: var(--md-sys-typescale-label-medium-size, 12px);
397
- line-height: var(--md-sys-typescale-label-medium-line-height, 16px);
398
- font-weight: 700;
399
- letter-spacing: 0.04em;
400
- text-transform: uppercase;
401
- }
402
-
403
- .scb-drop-zone__preview-list-content {
404
- display: flex;
405
- flex-direction: column;
406
- min-width: 0;
407
- text-align: left;
408
- flex: 1 1 auto;
409
- }
410
-
411
- .scb-drop-zone__preview-list-item-action {
412
- flex: 0 0 auto;
413
- margin-left: auto;
414
- }
415
-
416
- .scb-drop-zone__preview-list-title,
417
- .scb-drop-zone__preview-list-meta {
418
- white-space: nowrap;
419
- overflow: hidden;
420
- text-overflow: ellipsis;
421
- }
422
-
423
- .scb-drop-zone__preview-list-title {
424
- font-size: var(--md-sys-typescale-body-medium-size, 16px);
425
- line-height: var(--md-sys-typescale-body-medium-line-height, 24px);
426
- color: var(--md-sys-color-on-surface, #111111);
427
- }
428
-
429
- .scb-drop-zone__preview-list-meta {
430
- font-size: var(--md-sys-typescale-body-small-size, 14px);
431
- line-height: var(--md-sys-typescale-body-small-line-height, 20px);
432
- color: var(--md-sys-color-on-surface-variant, #444444);
433
- }
434
-
435
- .scb-drop-zone__sr-only {
436
- position: absolute;
437
- width: 1px;
438
- height: 1px;
439
- padding: 0;
440
- margin: -1px;
441
- overflow: hidden;
442
- clip: rect(0, 0, 0, 0);
443
- white-space: nowrap;
444
- border: 0;
445
- }
446
-
447
- .scb-drop-zone__preview-body {
448
- display: flex;
449
- flex-direction: column;
450
- min-width: 0;
451
- }
452
-
453
- .scb-drop-zone__preview-eyebrow {
454
- margin: 0 0 var(--spacing-2, 4px) 0;
455
- color: var(--md-sys-color-on-surface-variant, #444444);
456
- font-size: var(--md-sys-typescale-body-small-size, 14px);
457
- line-height: var(--md-sys-typescale-body-small-line-height, 20px);
458
- letter-spacing: var(--md-sys-typescale-body-small-tracking, 0.1px);
459
- text-transform: uppercase;
460
- }
461
-
462
- .scb-drop-zone__preview-title {
463
- margin: 0;
464
- color: var(--md-sys-color-on-surface, #111111);
465
- font-size: var(--md-sys-typescale-title-large-size, 20px);
466
- line-height: var(--md-sys-typescale-title-large-line-height, 28px);
467
- word-break: break-word;
468
- }
469
-
470
- .scb-drop-zone__preview-meta {
471
- margin: var(--spacing-3, 8px) 0 0 0;
472
- color: var(--md-sys-color-on-surface-variant, #444444);
473
- line-height: 1.6;
474
- word-break: break-word;
475
- }
476
-
477
- .scb-drop-zone__preview-actions {
478
- display: flex;
479
- flex-wrap: wrap;
480
- gap: var(--spacing-3, 8px);
481
- margin-top: auto;
482
- padding-top: var(--spacing-5, 16px);
483
- }
484
-
485
- .scb-drop-zone__selected-images {
486
- display: grid;
487
- grid-template-columns: repeat(4, minmax(180px, 1fr));
488
- gap: var(--spacing-3, 8px);
489
- margin-top: var(--spacing-4, 12px);
490
- }
491
-
492
- .scb-drop-zone__selected-image-card {
493
- display: grid;
494
- gap: var(--spacing-2, 4px);
495
- border: 1px solid var(--md-sys-color-outline-variant, #cccccc);
496
- border-radius: var(--radius-m, 12px);
497
- background: var(--md-sys-color-surface-container-lowest, #ffffff);
498
- padding: var(--spacing-3, 8px);
499
- min-width: 0;
500
- }
501
-
502
- .scb-drop-zone__selected-image {
503
- display: block;
504
- width: 100%;
505
- aspect-ratio: 4 / 3;
506
- object-fit: cover;
507
- border-radius: var(--radius-s, 8px);
508
- background: var(--md-sys-color-surface-container, #f5f5f5);
509
- }
510
-
511
- .scb-drop-zone__selected-image-title,
512
- .scb-drop-zone__selected-image-meta {
513
- white-space: nowrap;
514
- overflow: hidden;
515
- text-overflow: ellipsis;
516
- }
517
-
518
- .scb-drop-zone__selected-image-title {
519
- font-size: var(--md-sys-typescale-body-medium-size, 16px);
520
- line-height: var(--md-sys-typescale-body-medium-line-height, 24px);
521
- color: var(--md-sys-color-on-surface, #111111);
522
- }
523
-
524
- .scb-drop-zone__selected-image-meta {
525
- font-size: var(--md-sys-typescale-body-small-size, 14px);
526
- line-height: var(--md-sys-typescale-body-small-line-height, 20px);
527
- color: var(--md-sys-color-on-surface-variant, #444444);
528
- }
529
-
530
- .scb-drop-zone__selected-image-action {
531
- justify-self: end;
532
- }
533
-
534
- @media (max-width: 1280px) {
535
- .scb-drop-zone__selected-images {
536
- grid-template-columns: repeat(3, minmax(180px, 1fr));
537
- }
538
- }
539
-
540
- @media (max-width: 900px) {
541
- .scb-drop-zone__layout--with-preview {
542
- grid-template-columns: 1fr;
543
- }
544
-
545
- .scb-drop-zone__selected-images {
546
- grid-template-columns: repeat(2, minmax(180px, 1fr));
547
- }
548
- }
549
-
550
- @media (max-width: 640px) {
551
- .scb-drop-zone__selected-images {
552
- grid-template-columns: 1fr;
553
- }
554
- }
555
- `,v);a([l({type:String,reflect:!0})],s.prototype,"type",void 0);a([l({type:String})],s.prototype,"name",void 0);a([l({type:Boolean,reflect:!0})],s.prototype,"multiple",void 0);a([l({type:String})],s.prototype,"label",void 0);a([l({type:String,attribute:"supporting-text"})],s.prototype,"supportingText",void 0);a([l({type:String,attribute:"meta-text"})],s.prototype,"metaText",void 0);a([l({type:String,attribute:"button-label"})],s.prototype,"buttonLabel",void 0);a([l({type:String,attribute:"replace-button-label"})],s.prototype,"replaceButtonLabel",void 0);a([l({type:String,attribute:"remove-button-label"})],s.prototype,"removeButtonLabel",void 0);a([l({type:String,attribute:"preview-eyebrow"})],s.prototype,"previewEyebrow",void 0);a([l({type:String,attribute:"empty-preview-title"})],s.prototype,"emptyPreviewTitle",void 0);a([l({type:String,attribute:"empty-preview-meta"})],s.prototype,"emptyPreviewMeta",void 0);a([l({type:String})],s.prototype,"accept",void 0);a([l({type:Boolean,attribute:"hide-preview",reflect:!0})],s.prototype,"hidePreview",void 0);a([l({type:Boolean,attribute:"show-existing-preview",reflect:!0})],s.prototype,"showExistingPreview",void 0);a([l({type:Boolean,reflect:!0})],s.prototype,"disabled",void 0);a([l({type:String,attribute:"preview-src"})],s.prototype,"previewSrc",void 0);a([l({type:String,attribute:"preview-alt"})],s.prototype,"previewAlt",void 0);a([l({type:String,attribute:"preview-title"})],s.prototype,"previewTitle",void 0);a([l({type:String,attribute:"preview-meta"})],s.prototype,"previewMeta",void 0);a([l({type:String,attribute:"existing-value"})],s.prototype,"existingValue",void 0);a([l({type:String,attribute:"existing-value-name"})],s.prototype,"existingValueName",void 0);a([l({type:String,attribute:"remove-value-name"})],s.prototype,"removeValueName",void 0);a([p()],s.prototype,"_isDragOver",void 0);a([p()],s.prototype,"_selectedPreviewKind",void 0);a([p()],s.prototype,"_selectedPreviewSrc",void 0);a([p()],s.prototype,"_selectedPreviewAlt",void 0);a([p()],s.prototype,"_selectedPreviewTitle",void 0);a([p()],s.prototype,"_selectedPreviewMeta",void 0);a([p()],s.prototype,"_selectedPreviewItems",void 0);a([p()],s.prototype,"_markedForRemoval",void 0);s=a([b("scb-drop-zone")],s);export{s as ScbDropZone};