@sbb-esta/lyne-elements 1.16.0 → 2.0.1

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 (675) hide show
  1. package/accordion/accordion.d.ts +4 -1
  2. package/accordion/accordion.d.ts.map +1 -1
  3. package/accordion.js +31 -22
  4. package/action-group/action-group.d.ts +6 -4
  5. package/action-group/action-group.d.ts.map +1 -1
  6. package/action-group.js +20 -17
  7. package/alert/alert/alert.d.ts +7 -23
  8. package/alert/alert/alert.d.ts.map +1 -1
  9. package/alert/alert-group/alert-group.d.ts +0 -4
  10. package/alert/alert-group/alert-group.d.ts.map +1 -1
  11. package/alert/alert-group.js +46 -47
  12. package/alert/alert.js +74 -132
  13. package/animation.css +4 -8
  14. package/autocomplete/autocomplete-base-element.d.ts +7 -6
  15. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  16. package/autocomplete/autocomplete.d.ts +0 -1
  17. package/autocomplete/autocomplete.d.ts.map +1 -1
  18. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +0 -1
  19. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  20. package/autocomplete-grid/autocomplete-grid-button.js +11 -11
  21. package/autocomplete-grid/autocomplete-grid.js +0 -3
  22. package/autocomplete.js +68 -67
  23. package/button/accent-button/accent-button.d.ts +19 -0
  24. package/button/accent-button/accent-button.d.ts.map +1 -0
  25. package/button/accent-button-link/accent-button-link.d.ts +19 -0
  26. package/button/accent-button-link/accent-button-link.d.ts.map +1 -0
  27. package/button/accent-button-link.d.ts +2 -0
  28. package/button/accent-button-link.d.ts.map +1 -0
  29. package/button/accent-button-link.js +17 -0
  30. package/button/accent-button-static/accent-button-static.d.ts +19 -0
  31. package/button/accent-button-static/accent-button-static.d.ts.map +1 -0
  32. package/button/accent-button-static.d.ts +2 -0
  33. package/button/accent-button-static.d.ts.map +1 -0
  34. package/button/accent-button-static.js +17 -0
  35. package/button/accent-button.d.ts +2 -0
  36. package/button/accent-button.d.ts.map +1 -0
  37. package/button/accent-button.js +17 -0
  38. package/button/common/button-common.d.ts.map +1 -1
  39. package/button/common.d.ts.map +1 -1
  40. package/button/common.js +20 -16
  41. package/button/mini-button/mini-button.d.ts +4 -3
  42. package/button/mini-button/mini-button.d.ts.map +1 -1
  43. package/button/mini-button-group/mini-button-group.d.ts +4 -1
  44. package/button/mini-button-group/mini-button-group.d.ts.map +1 -1
  45. package/button/mini-button-group.js +12 -8
  46. package/button/mini-button.d.ts +0 -1
  47. package/button/mini-button.d.ts.map +1 -1
  48. package/button/mini-button.js +10 -20
  49. package/button.d.ts +3 -3
  50. package/button.d.ts.map +1 -1
  51. package/button.js +3 -3
  52. package/calendar.js +25 -25
  53. package/card/card/card.d.ts +4 -1
  54. package/card/card/card.d.ts.map +1 -1
  55. package/card/card.js +10 -6
  56. package/checkbox/checkbox/checkbox.d.ts +4 -6
  57. package/checkbox/checkbox/checkbox.d.ts.map +1 -1
  58. package/checkbox/checkbox-group/checkbox-group.d.ts +4 -1
  59. package/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
  60. package/checkbox/checkbox-group.js +14 -10
  61. package/checkbox/checkbox-panel/checkbox-panel.d.ts +4 -4
  62. package/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
  63. package/checkbox/checkbox-panel.js +21 -18
  64. package/checkbox/checkbox.js +28 -26
  65. package/{chip/chip.d.ts → chip-label/chip-label.d.ts} +4 -4
  66. package/chip-label/chip-label.d.ts.map +1 -0
  67. package/chip-label.d.ts +2 -0
  68. package/chip-label.d.ts.map +1 -0
  69. package/chip-label.js +54 -0
  70. package/clock.js +1 -1
  71. package/container/container.js +21 -21
  72. package/container/sticky-bar/sticky-bar.d.ts +1 -0
  73. package/container/sticky-bar/sticky-bar.d.ts.map +1 -1
  74. package/container/sticky-bar.js +20 -12
  75. package/core/base-elements/button-base-element.d.ts +27 -18
  76. package/core/base-elements/button-base-element.d.ts.map +1 -1
  77. package/core/base-elements/open-close-base-element.d.ts.map +1 -1
  78. package/core/base-elements.js +135 -138
  79. package/core/datetime/date-adapter.d.ts +2 -1
  80. package/core/datetime/date-adapter.d.ts.map +1 -1
  81. package/core/datetime/native-date-adapter.d.ts +1 -1
  82. package/core/datetime/native-date-adapter.d.ts.map +1 -1
  83. package/core/datetime.js +29 -28
  84. package/core/dom/animation.d.ts +2 -0
  85. package/core/dom/animation.d.ts.map +1 -0
  86. package/core/dom/lean-context.d.ts +5 -0
  87. package/core/dom/lean-context.d.ts.map +1 -0
  88. package/core/dom.d.ts +2 -2
  89. package/core/dom.d.ts.map +1 -1
  90. package/core/dom.js +50 -55
  91. package/core/eventing/form-element-handlers.d.ts +0 -7
  92. package/core/eventing/form-element-handlers.d.ts.map +1 -1
  93. package/core/eventing.d.ts +0 -1
  94. package/core/eventing.d.ts.map +1 -1
  95. package/core/eventing.js +28 -49
  96. package/core/i18n/i18n.d.ts +4 -2
  97. package/core/i18n/i18n.d.ts.map +1 -1
  98. package/core/i18n.js +147 -140
  99. package/core/mixins/disabled-mixin.d.ts +2 -7
  100. package/core/mixins/disabled-mixin.d.ts.map +1 -1
  101. package/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  102. package/core/mixins/form-associated-radio-button-mixin.d.ts +35 -0
  103. package/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -0
  104. package/core/mixins.d.ts +1 -0
  105. package/core/mixins.d.ts.map +1 -1
  106. package/core/mixins.js +347 -220
  107. package/core/styles/_index.scss +1 -0
  108. package/core/styles/core.scss +150 -0
  109. package/core/styles/image.scss +66 -0
  110. package/core/styles/mixins/animation.scss +2 -4
  111. package/core/styles/mixins/buttons.scss +7 -4
  112. package/core/styles/mixins/card.scss +1 -1
  113. package/core/styles/mixins/chip.scss +35 -35
  114. package/core/styles/mixins/image.scss +34 -0
  115. package/core/styles/mixins/overlay.scss +1 -1
  116. package/core/styles/mixins/panel.scss +1 -1
  117. package/core/styles/standard-theme.scss +1 -0
  118. package/core/styles/table.scss +4 -0
  119. package/core/testing/event-spy.d.ts +2 -1
  120. package/core/testing/event-spy.d.ts.map +1 -1
  121. package/core/testing.d.ts +0 -1
  122. package/core/testing.d.ts.map +1 -1
  123. package/core/testing.js +48 -57
  124. package/core.css +113 -0
  125. package/custom-elements.json +25946 -21671
  126. package/datepicker/common/datepicker-button.d.ts +3 -5
  127. package/datepicker/common/datepicker-button.d.ts.map +1 -1
  128. package/datepicker/common.js +30 -29
  129. package/datepicker/datepicker/datepicker.d.ts +25 -72
  130. package/datepicker/datepicker/datepicker.d.ts.map +1 -1
  131. package/datepicker/datepicker-next-day/datepicker-next-day.d.ts +1 -3
  132. package/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -1
  133. package/datepicker/datepicker-next-day.js +10 -12
  134. package/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts +1 -3
  135. package/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -1
  136. package/datepicker/datepicker-previous-day.js +11 -13
  137. package/datepicker/datepicker.js +129 -157
  138. package/development/accordion/accordion.d.ts +4 -1
  139. package/development/accordion/accordion.d.ts.map +1 -1
  140. package/development/accordion.js +16 -5
  141. package/development/action-group/action-group.d.ts +6 -4
  142. package/development/action-group/action-group.d.ts.map +1 -1
  143. package/development/action-group.js +10 -7
  144. package/development/alert/alert/alert.d.ts +7 -23
  145. package/development/alert/alert/alert.d.ts.map +1 -1
  146. package/development/alert/alert-group/alert-group.d.ts +0 -4
  147. package/development/alert/alert-group/alert-group.d.ts.map +1 -1
  148. package/development/alert/alert-group.js +10 -12
  149. package/development/alert/alert.js +38 -122
  150. package/development/autocomplete/autocomplete-base-element.d.ts +7 -6
  151. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  152. package/development/autocomplete/autocomplete.d.ts +0 -1
  153. package/development/autocomplete/autocomplete.d.ts.map +1 -1
  154. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts +0 -1
  155. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  156. package/development/autocomplete-grid/autocomplete-grid-button.js +6 -6
  157. package/development/autocomplete-grid/autocomplete-grid.js +1 -7
  158. package/development/autocomplete.js +23 -19
  159. package/development/button/accent-button/accent-button.d.ts +19 -0
  160. package/development/button/accent-button/accent-button.d.ts.map +1 -0
  161. package/development/button/accent-button-link/accent-button-link.d.ts +19 -0
  162. package/development/button/accent-button-link/accent-button-link.d.ts.map +1 -0
  163. package/development/button/accent-button-link.d.ts +2 -0
  164. package/development/button/accent-button-link.d.ts.map +1 -0
  165. package/development/button/accent-button-link.js +25 -0
  166. package/development/button/accent-button-static/accent-button-static.d.ts +19 -0
  167. package/development/button/accent-button-static/accent-button-static.d.ts.map +1 -0
  168. package/development/button/accent-button-static.d.ts +2 -0
  169. package/development/button/accent-button-static.d.ts.map +1 -0
  170. package/development/button/accent-button-static.js +25 -0
  171. package/development/button/accent-button.d.ts +2 -0
  172. package/development/button/accent-button.d.ts.map +1 -0
  173. package/development/button/accent-button.js +25 -0
  174. package/development/button/common/button-common.d.ts.map +1 -1
  175. package/development/button/common.d.ts.map +1 -1
  176. package/development/button/common.js +20 -16
  177. package/development/button/mini-button/mini-button.d.ts +4 -3
  178. package/development/button/mini-button/mini-button.d.ts.map +1 -1
  179. package/development/button/mini-button-group/mini-button-group.d.ts +4 -1
  180. package/development/button/mini-button-group/mini-button-group.d.ts.map +1 -1
  181. package/development/button/mini-button-group.js +7 -3
  182. package/development/button/mini-button.d.ts +0 -1
  183. package/development/button/mini-button.d.ts.map +1 -1
  184. package/development/button/mini-button.js +14 -32
  185. package/development/button.d.ts +3 -3
  186. package/development/button.d.ts.map +1 -1
  187. package/development/button.js +3 -3
  188. package/development/calendar.js +1 -1
  189. package/development/card/card/card.d.ts +4 -1
  190. package/development/card/card/card.d.ts.map +1 -1
  191. package/development/card/card.js +8 -4
  192. package/development/checkbox/checkbox/checkbox.d.ts +4 -6
  193. package/development/checkbox/checkbox/checkbox.d.ts.map +1 -1
  194. package/development/checkbox/checkbox-group/checkbox-group.d.ts +4 -1
  195. package/development/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -1
  196. package/development/checkbox/checkbox-group.js +7 -3
  197. package/development/checkbox/checkbox-panel/checkbox-panel.d.ts +4 -4
  198. package/development/checkbox/checkbox-panel/checkbox-panel.d.ts.map +1 -1
  199. package/development/checkbox/checkbox-panel.js +7 -4
  200. package/development/checkbox/checkbox.js +8 -6
  201. package/development/{chip/chip.d.ts → chip-label/chip-label.d.ts} +4 -4
  202. package/development/chip-label/chip-label.d.ts.map +1 -0
  203. package/development/chip-label.d.ts +2 -0
  204. package/development/chip-label.d.ts.map +1 -0
  205. package/development/{chip.js → chip-label.js} +26 -26
  206. package/development/clock.js +1 -1
  207. package/development/container/container.js +8 -12
  208. package/development/container/sticky-bar/sticky-bar.d.ts +1 -0
  209. package/development/container/sticky-bar/sticky-bar.d.ts.map +1 -1
  210. package/development/container/sticky-bar.js +18 -10
  211. package/development/core/base-elements/button-base-element.d.ts +27 -18
  212. package/development/core/base-elements/button-base-element.d.ts.map +1 -1
  213. package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
  214. package/development/core/base-elements.js +66 -74
  215. package/development/core/datetime/date-adapter.d.ts +2 -1
  216. package/development/core/datetime/date-adapter.d.ts.map +1 -1
  217. package/development/core/datetime/native-date-adapter.d.ts +1 -1
  218. package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
  219. package/development/core/datetime.js +4 -3
  220. package/development/core/dom/animation.d.ts +2 -0
  221. package/development/core/dom/animation.d.ts.map +1 -0
  222. package/development/core/dom/lean-context.d.ts +5 -0
  223. package/development/core/dom/lean-context.d.ts.map +1 -0
  224. package/development/core/dom.d.ts +2 -2
  225. package/development/core/dom.d.ts.map +1 -1
  226. package/development/core/dom.js +13 -21
  227. package/development/core/eventing/form-element-handlers.d.ts +0 -7
  228. package/development/core/eventing/form-element-handlers.d.ts.map +1 -1
  229. package/development/core/eventing.d.ts +0 -1
  230. package/development/core/eventing.d.ts.map +1 -1
  231. package/development/core/eventing.js +1 -25
  232. package/development/core/i18n/i18n.d.ts +4 -2
  233. package/development/core/i18n/i18n.d.ts.map +1 -1
  234. package/development/core/i18n.js +27 -23
  235. package/development/core/mixins/disabled-mixin.d.ts +2 -7
  236. package/development/core/mixins/disabled-mixin.d.ts.map +1 -1
  237. package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  238. package/development/core/mixins/form-associated-radio-button-mixin.d.ts +35 -0
  239. package/development/core/mixins/form-associated-radio-button-mixin.d.ts.map +1 -0
  240. package/development/core/mixins.d.ts +1 -0
  241. package/development/core/mixins.d.ts.map +1 -1
  242. package/development/core/mixins.js +221 -30
  243. package/development/core/testing/event-spy.d.ts +2 -1
  244. package/development/core/testing/event-spy.d.ts.map +1 -1
  245. package/development/core/testing.d.ts +0 -1
  246. package/development/core/testing.d.ts.map +1 -1
  247. package/development/core/testing.js +4 -15
  248. package/development/datepicker/common/datepicker-button.d.ts +3 -5
  249. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  250. package/development/datepicker/common.js +13 -12
  251. package/development/datepicker/datepicker/datepicker.d.ts +25 -72
  252. package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
  253. package/development/datepicker/datepicker-next-day/datepicker-next-day.d.ts +1 -3
  254. package/development/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -1
  255. package/development/datepicker/datepicker-next-day.js +9 -15
  256. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts +1 -3
  257. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -1
  258. package/development/datepicker/datepicker-previous-day.js +9 -15
  259. package/development/datepicker/datepicker.js +74 -115
  260. package/development/dialog/dialog/dialog.d.ts +3 -0
  261. package/development/dialog/dialog/dialog.d.ts.map +1 -1
  262. package/development/dialog/dialog-title.js +2 -1
  263. package/development/dialog/dialog.js +46 -39
  264. package/development/expansion-panel/expansion-panel/expansion-panel.d.ts +7 -1
  265. package/development/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
  266. package/development/expansion-panel/expansion-panel-header.js +3 -3
  267. package/development/expansion-panel/expansion-panel.js +32 -17
  268. package/development/file-selector/common/file-selector-common.d.ts +23 -0
  269. package/development/file-selector/common/file-selector-common.d.ts.map +1 -0
  270. package/development/file-selector/common.d.ts +2 -0
  271. package/development/file-selector/common.d.ts.map +1 -0
  272. package/development/file-selector/common.js +382 -0
  273. package/development/file-selector/file-selector/file-selector.d.ts +24 -0
  274. package/development/file-selector/file-selector/file-selector.d.ts.map +1 -0
  275. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.d.ts +33 -0
  276. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.d.ts.map +1 -0
  277. package/development/file-selector/file-selector-dropzone.d.ts +2 -0
  278. package/development/file-selector/file-selector-dropzone.d.ts.map +1 -0
  279. package/development/file-selector/file-selector-dropzone.js +181 -0
  280. package/development/file-selector/file-selector.d.ts +1 -87
  281. package/development/file-selector/file-selector.d.ts.map +1 -1
  282. package/development/file-selector/file-selector.js +52 -0
  283. package/development/file-selector.d.ts +2 -0
  284. package/development/file-selector.d.ts.map +1 -1
  285. package/development/file-selector.js +4 -552
  286. package/development/flip-card/flip-card-details.js +1 -1
  287. package/development/flip-card/flip-card-summary.js +3 -11
  288. package/development/flip-card/flip-card.js +6 -6
  289. package/development/form-field/form-field/form-field.d.ts +5 -10
  290. package/development/form-field/form-field/form-field.d.ts.map +1 -1
  291. package/development/form-field/form-field-clear.js +6 -6
  292. package/development/form-field/form-field.js +32 -40
  293. package/development/header/common.js +2 -2
  294. package/development/header/header/header.d.ts +5 -3
  295. package/development/header/header/header.d.ts.map +1 -1
  296. package/development/header/header.js +15 -20
  297. package/development/image/image.d.ts +0 -30
  298. package/development/image/image.d.ts.map +1 -1
  299. package/development/image.js +62 -273
  300. package/development/journey-header/journey-header.d.ts +4 -1
  301. package/development/journey-header/journey-header.d.ts.map +1 -1
  302. package/development/journey-header.js +7 -3
  303. package/development/lead-container.js +2 -10
  304. package/development/link/common/link-common.d.ts.map +1 -1
  305. package/development/link/common.js +9 -8
  306. package/development/link-list/common/link-list-base.d.ts +1 -0
  307. package/development/link-list/common/link-list-base.d.ts.map +1 -1
  308. package/development/link-list/common.js +4 -2
  309. package/development/link-list/link-list-anchor.js +4 -4
  310. package/development/loading-indicator/loading-indicator.d.ts +1 -3
  311. package/development/loading-indicator/loading-indicator.d.ts.map +1 -1
  312. package/development/loading-indicator-circle/loading-indicator-circle.d.ts +16 -0
  313. package/development/loading-indicator-circle/loading-indicator-circle.d.ts.map +1 -0
  314. package/development/loading-indicator-circle.d.ts +2 -0
  315. package/development/loading-indicator-circle.d.ts.map +1 -0
  316. package/development/loading-indicator-circle.js +146 -0
  317. package/development/loading-indicator.js +81 -182
  318. package/development/map-container/map-container.d.ts.map +1 -1
  319. package/development/map-container.js +5 -5
  320. package/development/menu/common.js +5 -5
  321. package/development/menu/menu/menu.d.ts +3 -0
  322. package/development/menu/menu/menu.d.ts.map +1 -1
  323. package/development/menu/menu.js +39 -24
  324. package/development/message.js +4 -2
  325. package/development/navigation/common/navigation-action-common.d.ts.map +1 -1
  326. package/development/navigation/common.js +9 -5
  327. package/development/navigation/navigation/navigation.d.ts +3 -0
  328. package/development/navigation/navigation/navigation.d.ts.map +1 -1
  329. package/development/navigation/navigation-list/navigation-list.d.ts.map +1 -1
  330. package/development/navigation/navigation-list.js +3 -2
  331. package/development/navigation/navigation-marker/navigation-marker.d.ts +2 -1
  332. package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  333. package/development/navigation/navigation-marker.js +6 -4
  334. package/development/navigation/navigation-section/navigation-section.d.ts +3 -0
  335. package/development/navigation/navigation-section/navigation-section.d.ts.map +1 -1
  336. package/development/navigation/navigation-section.js +38 -22
  337. package/development/navigation/navigation.js +42 -27
  338. package/development/notification/notification.d.ts +6 -2
  339. package/development/notification/notification.d.ts.map +1 -1
  340. package/development/notification.js +27 -21
  341. package/development/option/option/option-base-element.d.ts +0 -7
  342. package/development/option/option/option-base-element.d.ts.map +1 -1
  343. package/development/option/option.js +5 -26
  344. package/development/overlay/overlay-base-element.d.ts +2 -0
  345. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  346. package/development/overlay/overlay.d.ts +3 -0
  347. package/development/overlay/overlay.d.ts.map +1 -1
  348. package/development/overlay.js +43 -31
  349. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  350. package/development/paginator/common.js +7 -3
  351. package/development/paginator/paginator.js +1 -1
  352. package/development/popover/popover/popover.d.ts +3 -0
  353. package/development/popover/popover/popover.d.ts.map +1 -1
  354. package/development/popover/popover-trigger.js +9 -9
  355. package/development/popover/popover.js +41 -26
  356. package/development/radio-button/common/radio-button-common.d.ts +3 -10
  357. package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
  358. package/development/radio-button/common.js +44 -121
  359. package/development/radio-button/radio-button/radio-button.d.ts +9 -1
  360. package/development/radio-button/radio-button/radio-button.d.ts.map +1 -1
  361. package/development/radio-button/radio-button-group/radio-button-group.d.ts +19 -26
  362. package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  363. package/development/radio-button/radio-button-group.js +87 -123
  364. package/development/radio-button/radio-button-panel/radio-button-panel.d.ts +19 -1
  365. package/development/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
  366. package/development/radio-button/radio-button-panel.js +35 -15
  367. package/development/radio-button/radio-button.js +11 -15
  368. package/development/select/select.d.ts +3 -9
  369. package/development/select/select.d.ts.map +1 -1
  370. package/development/select.js +27 -25
  371. package/development/selection-expansion-panel/selection-expansion-panel.d.ts +4 -1
  372. package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  373. package/development/selection-expansion-panel.js +28 -16
  374. package/development/skiplink-list/skiplink-list.d.ts.map +1 -1
  375. package/development/skiplink-list.js +3 -2
  376. package/development/slider/slider.d.ts +0 -1
  377. package/development/slider/slider.d.ts.map +1 -1
  378. package/development/slider.js +2 -2
  379. package/development/stepper/step-label/step-label.d.ts +0 -2
  380. package/development/stepper/step-label/step-label.d.ts.map +1 -1
  381. package/development/stepper/step-label.js +10 -11
  382. package/development/stepper/step.js +1 -1
  383. package/development/stepper/stepper/stepper.d.ts +4 -1
  384. package/development/stepper/stepper/stepper.d.ts.map +1 -1
  385. package/development/stepper/stepper.js +9 -7
  386. package/development/tabs/tab-group/tab-group.d.ts +4 -1
  387. package/development/tabs/tab-group/tab-group.d.ts.map +1 -1
  388. package/development/tabs/tab-group.js +8 -4
  389. package/development/tabs/tab-label.js +1 -1
  390. package/development/tag/tag/tag.d.ts +4 -1
  391. package/development/tag/tag/tag.d.ts.map +1 -1
  392. package/development/tag/tag-group/tag-group.d.ts +5 -2
  393. package/development/tag/tag-group/tag-group.d.ts.map +1 -1
  394. package/development/tag/tag-group.js +7 -4
  395. package/development/tag/tag.js +16 -12
  396. package/development/teaser/teaser.d.ts +2 -2
  397. package/development/teaser/teaser.d.ts.map +1 -1
  398. package/development/teaser-hero/teaser-hero.d.ts +2 -6
  399. package/development/teaser-hero/teaser-hero.d.ts.map +1 -1
  400. package/development/teaser-hero.js +9 -60
  401. package/development/teaser-product/common.js +7 -14
  402. package/development/teaser-product/teaser-product.js +1 -21
  403. package/development/teaser.js +14 -32
  404. package/development/time-input/time-input.d.ts +3 -6
  405. package/development/time-input/time-input.d.ts.map +1 -1
  406. package/development/time-input.js +33 -27
  407. package/development/toast/toast.d.ts +3 -0
  408. package/development/toast/toast.d.ts.map +1 -1
  409. package/development/toast.js +27 -13
  410. package/development/toggle/toggle/toggle.d.ts +4 -8
  411. package/development/toggle/toggle/toggle.d.ts.map +1 -1
  412. package/development/toggle/toggle.js +9 -12
  413. package/development/toggle-check/toggle-check.d.ts +4 -6
  414. package/development/toggle-check/toggle-check.d.ts.map +1 -1
  415. package/development/toggle-check.js +9 -7
  416. package/development/train/train/train.d.ts.map +1 -1
  417. package/development/train/train-blocked-passage.js +2 -2
  418. package/development/train/train-formation/train-formation.d.ts +3 -11
  419. package/development/train/train-formation/train-formation.d.ts.map +1 -1
  420. package/development/train/train-formation.js +43 -74
  421. package/development/train/train-wagon/train-wagon.d.ts +11 -8
  422. package/development/train/train-wagon/train-wagon.d.ts.map +1 -1
  423. package/development/train/train-wagon.js +149 -124
  424. package/development/train/train.js +35 -112
  425. package/development/visual-checkbox/visual-checkbox.d.ts +4 -1
  426. package/development/visual-checkbox/visual-checkbox.d.ts.map +1 -1
  427. package/development/visual-checkbox.js +7 -3
  428. package/dialog/dialog/dialog.d.ts +3 -0
  429. package/dialog/dialog/dialog.d.ts.map +1 -1
  430. package/dialog/dialog-title.js +9 -9
  431. package/dialog/dialog.js +56 -51
  432. package/expansion-panel/expansion-panel/expansion-panel.d.ts +7 -1
  433. package/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -1
  434. package/expansion-panel/expansion-panel-header.js +1 -1
  435. package/expansion-panel/expansion-panel.js +41 -28
  436. package/file-selector/common/file-selector-common.d.ts +23 -0
  437. package/file-selector/common/file-selector-common.d.ts.map +1 -0
  438. package/file-selector/common.d.ts +2 -0
  439. package/file-selector/common.d.ts.map +1 -0
  440. package/file-selector/common.js +210 -0
  441. package/file-selector/file-selector/file-selector.d.ts +24 -0
  442. package/file-selector/file-selector/file-selector.d.ts.map +1 -0
  443. package/file-selector/file-selector-dropzone/file-selector-dropzone.d.ts +33 -0
  444. package/file-selector/file-selector-dropzone/file-selector-dropzone.d.ts.map +1 -0
  445. package/file-selector/file-selector-dropzone.d.ts +2 -0
  446. package/file-selector/file-selector-dropzone.d.ts.map +1 -0
  447. package/file-selector/file-selector-dropzone.js +97 -0
  448. package/file-selector/file-selector.d.ts +1 -87
  449. package/file-selector/file-selector.d.ts.map +1 -1
  450. package/file-selector/file-selector.js +44 -0
  451. package/file-selector.d.ts +2 -0
  452. package/file-selector.d.ts.map +1 -1
  453. package/file-selector.js +3 -301
  454. package/flip-card/flip-card-details.js +5 -5
  455. package/flip-card/flip-card-summary.js +7 -7
  456. package/flip-card/flip-card.js +9 -9
  457. package/form-field/form-field/form-field.d.ts +5 -10
  458. package/form-field/form-field/form-field.d.ts.map +1 -1
  459. package/form-field/form-field-clear.js +12 -12
  460. package/form-field/form-field.js +143 -141
  461. package/header/common.js +10 -10
  462. package/header/header/header.d.ts +5 -3
  463. package/header/header/header.d.ts.map +1 -1
  464. package/header/header.js +28 -31
  465. package/image/image.d.ts +0 -30
  466. package/image/image.d.ts.map +1 -1
  467. package/image.js +187 -281
  468. package/index.d.ts +13 -9
  469. package/index.js +13 -9
  470. package/journey-header/journey-header.d.ts +4 -1
  471. package/journey-header/journey-header.d.ts.map +1 -1
  472. package/journey-header.js +29 -25
  473. package/lead-container.js +5 -5
  474. package/link/common/link-common.d.ts.map +1 -1
  475. package/link/common.js +18 -16
  476. package/link-list/common/link-list-base.d.ts +1 -0
  477. package/link-list/common/link-list-base.d.ts.map +1 -1
  478. package/link-list/common.js +11 -9
  479. package/link-list/link-list-anchor.js +8 -8
  480. package/loading-indicator/loading-indicator.d.ts +1 -3
  481. package/loading-indicator/loading-indicator.d.ts.map +1 -1
  482. package/loading-indicator-circle/loading-indicator-circle.d.ts +16 -0
  483. package/loading-indicator-circle/loading-indicator-circle.d.ts.map +1 -0
  484. package/loading-indicator-circle.d.ts +2 -0
  485. package/loading-indicator-circle.d.ts.map +1 -0
  486. package/loading-indicator-circle.js +46 -0
  487. package/loading-indicator.js +41 -51
  488. package/map-container/map-container.d.ts.map +1 -1
  489. package/map-container.js +7 -7
  490. package/menu/common.js +8 -8
  491. package/menu/menu/menu.d.ts +3 -0
  492. package/menu/menu/menu.d.ts.map +1 -1
  493. package/menu/menu.js +52 -43
  494. package/message.js +12 -12
  495. package/navigation/common/navigation-action-common.d.ts.map +1 -1
  496. package/navigation/common.js +10 -6
  497. package/navigation/navigation/navigation.d.ts +3 -0
  498. package/navigation/navigation/navigation.d.ts.map +1 -1
  499. package/navigation/navigation-list/navigation-list.d.ts.map +1 -1
  500. package/navigation/navigation-list.js +17 -16
  501. package/navigation/navigation-marker/navigation-marker.d.ts +2 -1
  502. package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  503. package/navigation/navigation-marker.js +12 -10
  504. package/navigation/navigation-section/navigation-section.d.ts +3 -0
  505. package/navigation/navigation-section/navigation-section.d.ts.map +1 -1
  506. package/navigation/navigation-section.js +46 -37
  507. package/navigation/navigation.js +30 -21
  508. package/notification/notification.d.ts +6 -2
  509. package/notification/notification.d.ts.map +1 -1
  510. package/notification.js +55 -51
  511. package/option/option/option-base-element.d.ts +0 -7
  512. package/option/option/option-base-element.d.ts.map +1 -1
  513. package/option/option.js +110 -125
  514. package/overlay/overlay-base-element.d.ts +2 -0
  515. package/overlay/overlay-base-element.d.ts.map +1 -1
  516. package/overlay/overlay.d.ts +3 -0
  517. package/overlay/overlay.d.ts.map +1 -1
  518. package/overlay.js +83 -77
  519. package/package.json +40 -25
  520. package/paginator/common/paginator-common.d.ts.map +1 -1
  521. package/paginator/common.js +21 -17
  522. package/paginator/paginator.js +1 -1
  523. package/popover/popover/popover.d.ts +3 -0
  524. package/popover/popover/popover.d.ts.map +1 -1
  525. package/popover/popover-trigger.js +6 -6
  526. package/popover/popover.js +114 -109
  527. package/radio-button/common/radio-button-common.d.ts +3 -10
  528. package/radio-button/common/radio-button-common.d.ts.map +1 -1
  529. package/radio-button/common.js +43 -90
  530. package/radio-button/radio-button/radio-button.d.ts +9 -1
  531. package/radio-button/radio-button/radio-button.d.ts.map +1 -1
  532. package/radio-button/radio-button-group/radio-button-group.d.ts +19 -26
  533. package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -1
  534. package/radio-button/radio-button-group.js +112 -131
  535. package/radio-button/radio-button-panel/radio-button-panel.d.ts +19 -1
  536. package/radio-button/radio-button-panel/radio-button-panel.d.ts.map +1 -1
  537. package/radio-button/radio-button-panel.js +56 -44
  538. package/radio-button/radio-button.js +34 -38
  539. package/select/select.d.ts +3 -9
  540. package/select/select.d.ts.map +1 -1
  541. package/select.js +65 -66
  542. package/selection-expansion-panel/selection-expansion-panel.d.ts +4 -1
  543. package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  544. package/selection-expansion-panel.js +41 -31
  545. package/skiplink-list/skiplink-list.d.ts.map +1 -1
  546. package/skiplink-list.js +14 -13
  547. package/slider/slider.d.ts +0 -1
  548. package/slider/slider.d.ts.map +1 -1
  549. package/slider.js +1 -1
  550. package/standard-theme.css +238 -8
  551. package/stepper/step-label/step-label.d.ts +0 -2
  552. package/stepper/step-label/step-label.d.ts.map +1 -1
  553. package/stepper/step-label.js +6 -6
  554. package/stepper/step.js +4 -4
  555. package/stepper/stepper/stepper.d.ts +4 -1
  556. package/stepper/stepper/stepper.d.ts.map +1 -1
  557. package/stepper/stepper.js +22 -19
  558. package/table.css +15 -0
  559. package/tabs/tab-group/tab-group.d.ts +4 -1
  560. package/tabs/tab-group/tab-group.d.ts.map +1 -1
  561. package/tabs/tab-group.js +24 -20
  562. package/tabs/tab-label.js +1 -1
  563. package/tag/tag/tag.d.ts +4 -1
  564. package/tag/tag/tag.d.ts.map +1 -1
  565. package/tag/tag-group/tag-group.d.ts +5 -2
  566. package/tag/tag-group/tag-group.d.ts.map +1 -1
  567. package/tag/tag-group.js +13 -10
  568. package/tag/tag.js +25 -21
  569. package/teaser/teaser.d.ts +2 -2
  570. package/teaser/teaser.d.ts.map +1 -1
  571. package/teaser-hero/teaser-hero.d.ts +2 -6
  572. package/teaser-hero/teaser-hero.d.ts.map +1 -1
  573. package/teaser-hero.js +32 -57
  574. package/teaser-product/common.js +1 -1
  575. package/teaser-product/teaser-product.js +13 -13
  576. package/teaser.js +28 -28
  577. package/time-input/time-input.d.ts +3 -6
  578. package/time-input/time-input.d.ts.map +1 -1
  579. package/time-input.js +56 -55
  580. package/toast/toast.d.ts +3 -0
  581. package/toast/toast.d.ts.map +1 -1
  582. package/toast.js +51 -42
  583. package/toggle/toggle/toggle.d.ts +4 -8
  584. package/toggle/toggle/toggle.d.ts.map +1 -1
  585. package/toggle/toggle.js +48 -48
  586. package/toggle-check/toggle-check.d.ts +4 -6
  587. package/toggle-check/toggle-check.d.ts.map +1 -1
  588. package/toggle-check.js +23 -21
  589. package/train/train/train.d.ts.map +1 -1
  590. package/train/train-blocked-passage.js +1 -1
  591. package/train/train-formation/train-formation.d.ts +3 -11
  592. package/train/train-formation/train-formation.d.ts.map +1 -1
  593. package/train/train-formation.js +47 -65
  594. package/train/train-wagon/train-wagon.d.ts +11 -8
  595. package/train/train-wagon/train-wagon.d.ts.map +1 -1
  596. package/train/train-wagon.js +123 -134
  597. package/train/train.js +74 -78
  598. package/visual-checkbox/visual-checkbox.d.ts +4 -1
  599. package/visual-checkbox/visual-checkbox.d.ts.map +1 -1
  600. package/visual-checkbox.js +21 -17
  601. package/button/mini-button/mini-button-base-element.d.ts +0 -8
  602. package/button/mini-button/mini-button-base-element.d.ts.map +0 -1
  603. package/button/tertiary-button/tertiary-button.d.ts +0 -19
  604. package/button/tertiary-button/tertiary-button.d.ts.map +0 -1
  605. package/button/tertiary-button-link/tertiary-button-link.d.ts +0 -19
  606. package/button/tertiary-button-link/tertiary-button-link.d.ts.map +0 -1
  607. package/button/tertiary-button-link.d.ts +0 -2
  608. package/button/tertiary-button-link.d.ts.map +0 -1
  609. package/button/tertiary-button-link.js +0 -17
  610. package/button/tertiary-button-static/tertiary-button-static.d.ts +0 -19
  611. package/button/tertiary-button-static/tertiary-button-static.d.ts.map +0 -1
  612. package/button/tertiary-button-static.d.ts +0 -2
  613. package/button/tertiary-button-static.d.ts.map +0 -1
  614. package/button/tertiary-button-static.js +0 -17
  615. package/button/tertiary-button.d.ts +0 -2
  616. package/button/tertiary-button.d.ts.map +0 -1
  617. package/button/tertiary-button.js +0 -17
  618. package/chip/chip.d.ts.map +0 -1
  619. package/chip.d.ts +0 -2
  620. package/chip.d.ts.map +0 -1
  621. package/chip.js +0 -54
  622. package/core/dom/get-document-writing-mode.d.ts +0 -5
  623. package/core/dom/get-document-writing-mode.d.ts.map +0 -1
  624. package/core/dom/ssr.d.ts +0 -13
  625. package/core/dom/ssr.d.ts.map +0 -1
  626. package/core/eventing/handler-repository.d.ts +0 -28
  627. package/core/eventing/handler-repository.d.ts.map +0 -1
  628. package/core/observers/intersection-observer.d.ts +0 -20
  629. package/core/observers/intersection-observer.d.ts.map +0 -1
  630. package/core/observers/mutation-observer.d.ts +0 -13
  631. package/core/observers/mutation-observer.d.ts.map +0 -1
  632. package/core/observers/resize-observer.d.ts +0 -16
  633. package/core/observers/resize-observer.d.ts.map +0 -1
  634. package/core/observers.d.ts +0 -4
  635. package/core/observers.d.ts.map +0 -1
  636. package/core/observers.js +0 -38
  637. package/core/testing/wait-for-event.d.ts +0 -2
  638. package/core/testing/wait-for-event.d.ts.map +0 -1
  639. package/development/button/mini-button/mini-button-base-element.d.ts +0 -8
  640. package/development/button/mini-button/mini-button-base-element.d.ts.map +0 -1
  641. package/development/button/tertiary-button/tertiary-button.d.ts +0 -19
  642. package/development/button/tertiary-button/tertiary-button.d.ts.map +0 -1
  643. package/development/button/tertiary-button-link/tertiary-button-link.d.ts +0 -19
  644. package/development/button/tertiary-button-link/tertiary-button-link.d.ts.map +0 -1
  645. package/development/button/tertiary-button-link.d.ts +0 -2
  646. package/development/button/tertiary-button-link.d.ts.map +0 -1
  647. package/development/button/tertiary-button-link.js +0 -25
  648. package/development/button/tertiary-button-static/tertiary-button-static.d.ts +0 -19
  649. package/development/button/tertiary-button-static/tertiary-button-static.d.ts.map +0 -1
  650. package/development/button/tertiary-button-static.d.ts +0 -2
  651. package/development/button/tertiary-button-static.d.ts.map +0 -1
  652. package/development/button/tertiary-button-static.js +0 -25
  653. package/development/button/tertiary-button.d.ts +0 -2
  654. package/development/button/tertiary-button.d.ts.map +0 -1
  655. package/development/button/tertiary-button.js +0 -25
  656. package/development/chip/chip.d.ts.map +0 -1
  657. package/development/chip.d.ts +0 -2
  658. package/development/chip.d.ts.map +0 -1
  659. package/development/core/dom/get-document-writing-mode.d.ts +0 -5
  660. package/development/core/dom/get-document-writing-mode.d.ts.map +0 -1
  661. package/development/core/dom/ssr.d.ts +0 -13
  662. package/development/core/dom/ssr.d.ts.map +0 -1
  663. package/development/core/eventing/handler-repository.d.ts +0 -28
  664. package/development/core/eventing/handler-repository.d.ts.map +0 -1
  665. package/development/core/observers/intersection-observer.d.ts +0 -20
  666. package/development/core/observers/intersection-observer.d.ts.map +0 -1
  667. package/development/core/observers/mutation-observer.d.ts +0 -13
  668. package/development/core/observers/mutation-observer.d.ts.map +0 -1
  669. package/development/core/observers/resize-observer.d.ts +0 -16
  670. package/development/core/observers/resize-observer.d.ts.map +0 -1
  671. package/development/core/observers.d.ts +0 -4
  672. package/development/core/observers.d.ts.map +0 -1
  673. package/development/core/observers.js +0 -39
  674. package/development/core/testing/wait-for-event.d.ts +0 -2
  675. package/development/core/testing/wait-for-event.d.ts.map +0 -1
@@ -0,0 +1,382 @@
1
+ var __typeError = (msg) => {
2
+ throw TypeError(msg);
3
+ };
4
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
5
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
6
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
7
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
8
+ import { __runInitializers, __esDecorate } from "tslib";
9
+ import { nothing, css } from "lit";
10
+ import { property } from "lit/decorators.js";
11
+ import { ref } from "lit/directives/ref.js";
12
+ import { html, unsafeStatic } from "lit/static-html.js";
13
+ import { sbbInputModalityDetector } from "../core/a11y.js";
14
+ import { SbbLanguageController } from "../core/controllers.js";
15
+ import { forceType } from "../core/decorators.js";
16
+ import { isLean } from "../core/dom.js";
17
+ import { EventEmitter, forwardEventToHost } from "../core/eventing.js";
18
+ import { i18nFileSelectorCurrentlySelected, i18nFileSelectorDeleteFile, i18nFileSelectorButtonLabel } from "../core/i18n.js";
19
+ import { SbbDisabledMixin, SbbFormAssociatedMixin } from "../core/mixins.js";
20
+ import "../button/secondary-button.js";
21
+ import "../button/secondary-button-static.js";
22
+ import "../icon.js";
23
+ const SbbFileSelectorCommonElementMixin = (superclass) => {
24
+ let SbbFileSelectorCommonElement = (() => {
25
+ var _size_accessor_storage, _multiple_accessor_storage, _multipleMode_accessor_storage, _accept_accessor_storage, _accessibilityLabel_accessor_storage, _a;
26
+ let _classSuper = SbbDisabledMixin(SbbFormAssociatedMixin(superclass));
27
+ let _instanceExtraInitializers = [];
28
+ let _size_decorators;
29
+ let _size_initializers = [];
30
+ let _size_extraInitializers = [];
31
+ let _multiple_decorators;
32
+ let _multiple_initializers = [];
33
+ let _multiple_extraInitializers = [];
34
+ let _multipleMode_decorators;
35
+ let _multipleMode_initializers = [];
36
+ let _multipleMode_extraInitializers = [];
37
+ let _accept_decorators;
38
+ let _accept_initializers = [];
39
+ let _accept_extraInitializers = [];
40
+ let _accessibilityLabel_decorators;
41
+ let _accessibilityLabel_initializers = [];
42
+ let _accessibilityLabel_extraInitializers = [];
43
+ let _set_value_decorators;
44
+ let _set_files_decorators;
45
+ return _a = class extends _classSuper {
46
+ constructor() {
47
+ super(...arguments);
48
+ __privateAdd(this, _size_accessor_storage);
49
+ __privateAdd(this, _multiple_accessor_storage);
50
+ __privateAdd(this, _multipleMode_accessor_storage);
51
+ __privateAdd(this, _accept_accessor_storage);
52
+ __privateAdd(this, _accessibilityLabel_accessor_storage);
53
+ __privateSet(this, _size_accessor_storage, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _size_initializers, isLean() ? "s" : "m")));
54
+ __privateSet(this, _multiple_accessor_storage, (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _multiple_initializers, false)));
55
+ __privateSet(this, _multipleMode_accessor_storage, (__runInitializers(this, _multiple_extraInitializers), __runInitializers(this, _multipleMode_initializers, "default")));
56
+ __privateSet(this, _accept_accessor_storage, (__runInitializers(this, _multipleMode_extraInitializers), __runInitializers(this, _accept_initializers, "")));
57
+ __privateSet(this, _accessibilityLabel_accessor_storage, (__runInitializers(this, _accept_extraInitializers), __runInitializers(this, _accessibilityLabel_initializers, "")));
58
+ this._files = (__runInitializers(this, _accessibilityLabel_extraInitializers), []);
59
+ this._fileChangedEvent = new EventEmitter(this, _a.events.fileChangedEvent);
60
+ this._suffixes = ["B", "kB", "MB", "GB", "TB"];
61
+ this.language = new SbbLanguageController(this);
62
+ }
63
+ /**
64
+ * Size variant, either s or m.
65
+ * @default 'm' / 's' (lean)
66
+ */
67
+ get size() {
68
+ return __privateGet(this, _size_accessor_storage);
69
+ }
70
+ set size(value) {
71
+ __privateSet(this, _size_accessor_storage, value);
72
+ }
73
+ /** Whether more than one file can be selected. */
74
+ get multiple() {
75
+ return __privateGet(this, _multiple_accessor_storage);
76
+ }
77
+ set multiple(value) {
78
+ __privateSet(this, _multiple_accessor_storage, value);
79
+ }
80
+ /** Whether the newly added files should override the previously added ones. */
81
+ get multipleMode() {
82
+ return __privateGet(this, _multipleMode_accessor_storage);
83
+ }
84
+ set multipleMode(value) {
85
+ __privateSet(this, _multipleMode_accessor_storage, value);
86
+ }
87
+ /** A comma-separated list of allowed unique file type specifiers. */
88
+ get accept() {
89
+ return __privateGet(this, _accept_accessor_storage);
90
+ }
91
+ set accept(value) {
92
+ __privateSet(this, _accept_accessor_storage, value);
93
+ }
94
+ /** This will be forwarded as aria-label to the native input element. */
95
+ get accessibilityLabel() {
96
+ return __privateGet(this, _accessibilityLabel_accessor_storage);
97
+ }
98
+ set accessibilityLabel(value) {
99
+ __privateSet(this, _accessibilityLabel_accessor_storage, value);
100
+ }
101
+ /** The path of the first selected file. Empty string ('') if no file is selected */
102
+ set value(value) {
103
+ this._hiddenInput.value = value ?? "";
104
+ if (!value) {
105
+ this.files = [];
106
+ }
107
+ }
108
+ get value() {
109
+ var _a2;
110
+ return (_a2 = this._hiddenInput) == null ? void 0 : _a2.value;
111
+ }
112
+ /** The list of selected files. */
113
+ set files(value) {
114
+ this._files = value ?? [];
115
+ const dt = new DataTransfer();
116
+ this.files.forEach((e) => dt.items.add(e));
117
+ this._hiddenInput.files = dt.files;
118
+ this.updateFormValue();
119
+ }
120
+ get files() {
121
+ return this._files;
122
+ }
123
+ /**
124
+ * Form type of element.
125
+ * @default 'file'
126
+ */
127
+ get type() {
128
+ return "file";
129
+ }
130
+ formResetCallback() {
131
+ this.files = [];
132
+ }
133
+ formStateRestoreCallback(state, _reason) {
134
+ if (!state) {
135
+ return;
136
+ }
137
+ this.files = state.map(([_, value]) => value);
138
+ }
139
+ updateFormValue() {
140
+ const formValue = new FormData();
141
+ this.files.forEach((file) => formValue.append(this.name, file));
142
+ this.internals.setFormValue(formValue);
143
+ }
144
+ _checkFileEquality(file1, file2) {
145
+ return file1.name === file2.name && file1.size === file2.size && file1.lastModified === file2.lastModified;
146
+ }
147
+ _onFocus() {
148
+ if (sbbInputModalityDetector.mostRecentModality === "keyboard") {
149
+ this.loadButton.toggleAttribute("data-focus-visible", true);
150
+ }
151
+ }
152
+ _onBlur() {
153
+ if (sbbInputModalityDetector.mostRecentModality === "keyboard") {
154
+ this.loadButton.removeAttribute("data-focus-visible");
155
+ }
156
+ }
157
+ _readFiles(event) {
158
+ const fileInput = event.target;
159
+ if (fileInput.files) {
160
+ this.createFileList(fileInput.files);
161
+ }
162
+ forwardEventToHost(event, this);
163
+ }
164
+ createFileList(files) {
165
+ if (!this.multiple || this.multipleMode !== "persistent" || this.files.length === 0) {
166
+ this.files = Array.from(files);
167
+ } else {
168
+ this.files = Array.from(files).filter(
169
+ // Remove duplicates
170
+ (newFile) => this.files.findIndex((oldFile) => this._checkFileEquality(newFile, oldFile)) === -1
171
+ ).concat(this.files);
172
+ }
173
+ this._updateA11yLiveRegion();
174
+ this._fileChangedEvent.emit(this.files);
175
+ }
176
+ _removeFile(file) {
177
+ this.files = this.files.filter((f) => !this._checkFileEquality(file, f));
178
+ this._updateA11yLiveRegion();
179
+ this.dispatchEvent(new Event("input", { composed: true, bubbles: true }));
180
+ this.dispatchEvent(new Event("change", { bubbles: true }));
181
+ this._fileChangedEvent.emit(this.files);
182
+ }
183
+ /** Calculates the correct unit for the file's size. */
184
+ _formatFileSize(size) {
185
+ const i = Math.floor(Math.log(size) / Math.log(1024));
186
+ return `${(size / Math.pow(1024, i)).toFixed(0)} ${this._suffixes[i]}`;
187
+ }
188
+ _updateA11yLiveRegion() {
189
+ this._liveRegion.innerText = i18nFileSelectorCurrentlySelected(this.files.map((e) => e.name))[this.language.current];
190
+ }
191
+ _renderFileList() {
192
+ const TAG_NAME = this.files.length > 1 ? { WRAPPER: "ul", ELEMENT: "li" } : { WRAPPER: "div", ELEMENT: "span" };
193
+ return html`
194
+ <${unsafeStatic(TAG_NAME.WRAPPER)} class='sbb-file-selector__file-list'>
195
+ ${this.files.map((file) => html`
196
+ <${unsafeStatic(TAG_NAME.ELEMENT)} class='sbb-file-selector__file'>
197
+ <span class='sbb-file-selector__file-details'>
198
+ <span class='sbb-file-selector__file-name'>${file.name}</span>
199
+ <span class='sbb-file-selector__file-size'>${this._formatFileSize(file.size)}</span>
200
+ </span>
201
+ <sbb-secondary-button
202
+ size='${this.size}'
203
+ icon-name='trash-small'
204
+ @click='${() => this._removeFile(file)}'
205
+ aria-label='${`${i18nFileSelectorDeleteFile[this.language.current]} - ${file.name}`}'
206
+ ></sbb-secondary-button>
207
+ </${unsafeStatic(TAG_NAME.ELEMENT)}>`)}
208
+ </${unsafeStatic(TAG_NAME.WRAPPER)}>
209
+ `;
210
+ }
211
+ render() {
212
+ const ariaLabel = this.accessibilityLabel ? `${i18nFileSelectorButtonLabel[this.language.current]} - ${this.accessibilityLabel}` : void 0;
213
+ return html`
214
+ <div class="sbb-file-selector">
215
+ ${this.renderTemplate(html`<input
216
+ class="sbb-file-selector__visually-hidden"
217
+ type="file"
218
+ ?disabled="${this.disabled || this.formDisabled}"
219
+ ?multiple="${this.multiple}"
220
+ accept="${this.accept || nothing}"
221
+ aria-label="${ariaLabel || nothing}"
222
+ @change="${this._readFiles}"
223
+ @focus="${this._onFocus}"
224
+ @blur="${this._onBlur}"
225
+ ${ref((el) => {
226
+ this._hiddenInput = el;
227
+ })}
228
+ />`)}
229
+ <p
230
+ role="status"
231
+ class="sbb-file-selector__visually-hidden"
232
+ ${ref((p) => this._liveRegion = p)}
233
+ ></p>
234
+ ${this.files.length > 0 ? this._renderFileList() : nothing}
235
+ <div class="sbb-file-selector__error">
236
+ <slot name="error"></slot>
237
+ </div>
238
+ </div>
239
+ `;
240
+ }
241
+ }, _size_accessor_storage = new WeakMap(), _multiple_accessor_storage = new WeakMap(), _multipleMode_accessor_storage = new WeakMap(), _accept_accessor_storage = new WeakMap(), _accessibilityLabel_accessor_storage = new WeakMap(), (() => {
242
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
243
+ _size_decorators = [property({ reflect: true })];
244
+ _multiple_decorators = [forceType(), property({ type: Boolean })];
245
+ _multipleMode_decorators = [property({ attribute: "multiple-mode" })];
246
+ _accept_decorators = [forceType(), property()];
247
+ _accessibilityLabel_decorators = [forceType(), property({ attribute: "accessibility-label" })];
248
+ _set_value_decorators = [property({ attribute: false })];
249
+ _set_files_decorators = [property({ attribute: false })];
250
+ __esDecorate(_a, null, _size_decorators, { kind: "accessor", name: "size", static: false, private: false, access: { has: (obj) => "size" in obj, get: (obj) => obj.size, set: (obj, value) => {
251
+ obj.size = value;
252
+ } }, metadata: _metadata }, _size_initializers, _size_extraInitializers);
253
+ __esDecorate(_a, null, _multiple_decorators, { kind: "accessor", name: "multiple", static: false, private: false, access: { has: (obj) => "multiple" in obj, get: (obj) => obj.multiple, set: (obj, value) => {
254
+ obj.multiple = value;
255
+ } }, metadata: _metadata }, _multiple_initializers, _multiple_extraInitializers);
256
+ __esDecorate(_a, null, _multipleMode_decorators, { kind: "accessor", name: "multipleMode", static: false, private: false, access: { has: (obj) => "multipleMode" in obj, get: (obj) => obj.multipleMode, set: (obj, value) => {
257
+ obj.multipleMode = value;
258
+ } }, metadata: _metadata }, _multipleMode_initializers, _multipleMode_extraInitializers);
259
+ __esDecorate(_a, null, _accept_decorators, { kind: "accessor", name: "accept", static: false, private: false, access: { has: (obj) => "accept" in obj, get: (obj) => obj.accept, set: (obj, value) => {
260
+ obj.accept = value;
261
+ } }, metadata: _metadata }, _accept_initializers, _accept_extraInitializers);
262
+ __esDecorate(_a, null, _accessibilityLabel_decorators, { kind: "accessor", name: "accessibilityLabel", static: false, private: false, access: { has: (obj) => "accessibilityLabel" in obj, get: (obj) => obj.accessibilityLabel, set: (obj, value) => {
263
+ obj.accessibilityLabel = value;
264
+ } }, metadata: _metadata }, _accessibilityLabel_initializers, _accessibilityLabel_extraInitializers);
265
+ __esDecorate(_a, null, _set_value_decorators, { kind: "setter", name: "value", static: false, private: false, access: { has: (obj) => "value" in obj, set: (obj, value) => {
266
+ obj.value = value;
267
+ } }, metadata: _metadata }, null, _instanceExtraInitializers);
268
+ __esDecorate(_a, null, _set_files_decorators, { kind: "setter", name: "files", static: false, private: false, access: { has: (obj) => "files" in obj, set: (obj, value) => {
269
+ obj.files = value;
270
+ } }, metadata: _metadata }, null, _instanceExtraInitializers);
271
+ if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
272
+ })(), _a.events = {
273
+ fileChangedEvent: "fileChanged"
274
+ }, _a;
275
+ })();
276
+ return SbbFileSelectorCommonElement;
277
+ };
278
+ const fileSelectorCommon = css`*,
279
+ ::before,
280
+ ::after {
281
+ box-sizing: border-box;
282
+ }
283
+
284
+ :host {
285
+ --sbb-file-selector-color: var(--sbb-color-black);
286
+ --sbb-file-selector-subtitle-color: var(--sbb-color-granite);
287
+ --sbb-file-selector-background-color: var(--sbb-color-white);
288
+ --sbb-file-selector-border-color: var(--sbb-color-cloud);
289
+ --sbb-file-selector-transition-duration: var(
290
+ --sbb-disable-animation-duration,
291
+ var(--sbb-animation-duration-2x)
292
+ );
293
+ --sbb-file-selector-transition-easing-function: var(--sbb-animation-easing);
294
+ display: block;
295
+ width: 20rem;
296
+ }
297
+
298
+ @media (forced-colors: active) {
299
+ :host(:disabled) {
300
+ --sbb-file-selector-color: GrayText;
301
+ --sbb-file-selector-subtitle-color: GrayText;
302
+ --sbb-file-selector-border-color: GrayText;
303
+ }
304
+ }
305
+
306
+ :host([data-active]) {
307
+ --sbb-file-selector-background-color: var(--sbb-color-milk);
308
+ --sbb-file-selector-border-color: var(--sbb-color-storm);
309
+ }
310
+ @media (forced-colors: active) {
311
+ :host([data-active]) {
312
+ --sbb-file-selector-border-color: Highlight;
313
+ }
314
+ }
315
+
316
+ .sbb-file-selector__input-container {
317
+ -webkit-tap-highlight-color: transparent;
318
+ display: flex;
319
+ flex-direction: column;
320
+ }
321
+
322
+ .sbb-file-selector__visually-hidden {
323
+ border: 0;
324
+ clip: rect(0 0 0 0);
325
+ height: 1px;
326
+ margin: -1px;
327
+ overflow: hidden;
328
+ padding: 0;
329
+ position: absolute;
330
+ white-space: nowrap;
331
+ width: 1px;
332
+ }
333
+
334
+ .sbb-file-selector__file-list {
335
+ display: flex;
336
+ flex-direction: column;
337
+ row-gap: var(--sbb-spacing-fixed-3x);
338
+ margin-block: 0;
339
+ padding-inline: 0;
340
+ padding-block: var(--sbb-spacing-fixed-6x) var(--sbb-spacing-fixed-1x);
341
+ }
342
+
343
+ .sbb-file-selector__file {
344
+ --sbb-text-font-size: var(--sbb-font-size-text-s);
345
+ font-family: var(--sbb-typo-font-family);
346
+ font-weight: normal;
347
+ line-height: var(--sbb-typo-line-height-body-text);
348
+ letter-spacing: var(--sbb-typo-letter-spacing-body-text);
349
+ font-size: var(--sbb-text-font-size);
350
+ display: flex;
351
+ gap: var(--sbb-spacing-fixed-4x);
352
+ align-items: center;
353
+ justify-content: space-between;
354
+ }
355
+
356
+ .sbb-file-selector__file-details {
357
+ display: flex;
358
+ flex: 1;
359
+ justify-content: space-between;
360
+ gap: var(--sbb-spacing-fixed-4x);
361
+ overflow: auto;
362
+ }
363
+
364
+ .sbb-file-selector__file-name {
365
+ overflow: hidden;
366
+ white-space: nowrap;
367
+ text-overflow: ellipsis;
368
+ }
369
+
370
+ .sbb-file-selector__file-size {
371
+ white-space: nowrap;
372
+ color: var(--sbb-color-metal);
373
+ }
374
+
375
+ :host(:not([data-slot-names~=error])) .sbb-file-selector__error {
376
+ display: none;
377
+ }`;
378
+ export {
379
+ SbbFileSelectorCommonElementMixin,
380
+ fileSelectorCommon as fileSelectorCommonStyle
381
+ };
382
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvZmlsZS1zZWxlY3Rvci9jb21tb24vZmlsZS1zZWxlY3Rvci1jb21tb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaXRFbGVtZW50LCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcbmltcG9ydCB7IGh0bWwsIHVuc2FmZVN0YXRpYyB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB0eXBlIHsgU2JiU2Vjb25kYXJ5QnV0dG9uU3RhdGljRWxlbWVudCB9IGZyb20gJy4uLy4uL2J1dHRvbi5qcyc7XG5pbXBvcnQgeyBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaXNMZWFuIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBmb3J3YXJkRXZlbnRUb0hvc3QgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7XG4gIGkxOG5GaWxlU2VsZWN0b3JCdXR0b25MYWJlbCxcbiAgaTE4bkZpbGVTZWxlY3RvckN1cnJlbnRseVNlbGVjdGVkLFxuICBpMThuRmlsZVNlbGVjdG9yRGVsZXRlRmlsZSxcbn0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgRm9ybVJlc3RvcmVSZWFzb24sXG4gIHR5cGUgRm9ybVJlc3RvcmVTdGF0ZSxcbiAgU2JiRGlzYWJsZWRNaXhpbixcbiAgU2JiRm9ybUFzc29jaWF0ZWRNaXhpbixcbiAgdHlwZSBTYmJGb3JtQXNzb2NpYXRlZE1peGluVHlwZSxcbiAgdHlwZSBDb25zdHJ1Y3Rvcixcbn0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuXG5pbXBvcnQgJy4uLy4uL2J1dHRvbi9zZWNvbmRhcnktYnV0dG9uLmpzJztcbmltcG9ydCAnLi4vLi4vYnV0dG9uL3NlY29uZGFyeS1idXR0b24tc3RhdGljLmpzJztcbmltcG9ydCAnLi4vLi4vaWNvbi5qcyc7XG5cbmV4cG9ydCBkZWNsYXJlIGFic3RyYWN0IGNsYXNzIFNiYkZpbGVTZWxlY3RvckNvbW1vbkVsZW1lbnRNaXhpblR5cGUgZXh0ZW5kcyBTYmJGb3JtQXNzb2NpYXRlZE1peGluVHlwZSB7XG4gIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAncycgfCAnbSc7XG4gIHB1YmxpYyBhY2Nlc3NvciBtdWx0aXBsZTogYm9vbGVhbjtcbiAgcHVibGljIGFjY2Vzc29yIG11bHRpcGxlTW9kZTogJ2RlZmF1bHQnIHwgJ3BlcnNpc3RlbnQnO1xuICBwdWJsaWMgYWNjZXNzb3IgYWNjZXB0OiBzdHJpbmc7XG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5TGFiZWw6IHN0cmluZztcbiAgcHVibGljIGFjY2Vzc29yIGRpc2FibGVkOiBib29sZWFuO1xuICBwdWJsaWMgYWNjZXNzb3IgZmlsZXM6IFJlYWRvbmx5PEZpbGU+W107XG4gIHByb3RlY3RlZCBmb3JtRGlzYWJsZWQ6IGJvb2xlYW47XG4gIHByb3RlY3RlZCBsb2FkQnV0dG9uOiBTYmJTZWNvbmRhcnlCdXR0b25TdGF0aWNFbGVtZW50O1xuICBwcm90ZWN0ZWQgbGFuZ3VhZ2U6IFNiYkxhbmd1YWdlQ29udHJvbGxlcjtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHJlbmRlclRlbXBsYXRlKGlucHV0OiBUZW1wbGF0ZVJlc3VsdCk6IFRlbXBsYXRlUmVzdWx0O1xuICBwcm90ZWN0ZWQgY3JlYXRlRmlsZUxpc3QoZmlsZXM6IEZpbGVMaXN0KTogdm9pZDtcbiAgcHJvdGVjdGVkIHVwZGF0ZUZvcm1WYWx1ZSgpOiB2b2lkO1xuICBwdWJsaWMgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZDtcbiAgcHVibGljIGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsIHJlYXNvbjogRm9ybVJlc3RvcmVSZWFzb24pOiB2b2lkO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiRmlsZVNlbGVjdG9yQ29tbW9uRWxlbWVudE1peGluID0gPFQgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxMaXRFbGVtZW50Pj4oXG4gIHN1cGVyY2xhc3M6IFQsXG4pOiBDb25zdHJ1Y3RvcjxTYmJGaWxlU2VsZWN0b3JDb21tb25FbGVtZW50TWl4aW5UeXBlPiAmIFQgPT4ge1xuICBhYnN0cmFjdCBjbGFzcyBTYmJGaWxlU2VsZWN0b3JDb21tb25FbGVtZW50XG4gICAgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4oc3VwZXJjbGFzcykpXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkZpbGVTZWxlY3RvckNvbW1vbkVsZW1lbnRNaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICAgIGZpbGVDaGFuZ2VkRXZlbnQ6ICdmaWxlQ2hhbmdlZCcsXG4gICAgfSBhcyBjb25zdDtcblxuICAgIC8qKlxuICAgICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIHMgb3IgbS5cbiAgICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAgICovXG4gICAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ3MnIHwgJ20nID0gaXNMZWFuKCkgPyAncycgOiAnbSc7XG5cbiAgICAvKiogV2hldGhlciBtb3JlIHRoYW4gb25lIGZpbGUgY2FuIGJlIHNlbGVjdGVkLiAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4gfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBuZXdseSBhZGRlZCBmaWxlcyBzaG91bGQgb3ZlcnJpZGUgdGhlIHByZXZpb3VzbHkgYWRkZWQgb25lcy4gKi9cbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdtdWx0aXBsZS1tb2RlJyB9KVxuICAgIHB1YmxpYyBhY2Nlc3NvciBtdWx0aXBsZU1vZGU6ICdkZWZhdWx0JyB8ICdwZXJzaXN0ZW50JyA9ICdkZWZhdWx0JztcblxuICAgIC8qKiBBIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGFsbG93ZWQgdW5pcXVlIGZpbGUgdHlwZSBzcGVjaWZpZXJzLiAqL1xuICAgIEBmb3JjZVR5cGUoKVxuICAgIEBwcm9wZXJ0eSgpXG4gICAgcHVibGljIGFjY2Vzc29yIGFjY2VwdDogc3RyaW5nID0gJyc7XG5cbiAgICAvKiogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSBuYXRpdmUgaW5wdXQgZWxlbWVudC4gKi9cbiAgICBAZm9yY2VUeXBlKClcbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LWxhYmVsJyB9KVxuICAgIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5TGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqIFRoZSBwYXRoIG9mIHRoZSBmaXJzdCBzZWxlY3RlZCBmaWxlLiBFbXB0eSBzdHJpbmcgKCcnKSBpZiBubyBmaWxlIGlzIHNlbGVjdGVkICovXG4gICAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiBmYWxzZSB9KVxuICAgIHB1YmxpYyBvdmVycmlkZSBzZXQgdmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcbiAgICAgIHRoaXMuX2hpZGRlbklucHV0LnZhbHVlID0gdmFsdWUgPz8gJyc7XG5cbiAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgdGhpcy5maWxlcyA9IFtdO1xuICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBnZXQgdmFsdWUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICByZXR1cm4gdGhpcy5faGlkZGVuSW5wdXQ/LnZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBUaGUgbGlzdCBvZiBzZWxlY3RlZCBmaWxlcy4gKi9cbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6IGZhbHNlIH0pXG4gICAgcHVibGljIHNldCBmaWxlcyh2YWx1ZTogUmVhZG9ubHk8RmlsZT5bXSkge1xuICAgICAgdGhpcy5fZmlsZXMgPSB2YWx1ZSA/PyBbXTtcblxuICAgICAgLy8gdXBkYXRlIHRoZSBpbm5lciBpbnB1dFxuICAgICAgY29uc3QgZHQ6IERhdGFUcmFuc2ZlciA9IG5ldyBEYXRhVHJhbnNmZXIoKTtcbiAgICAgIHRoaXMuZmlsZXMuZm9yRWFjaCgoZTogUmVhZG9ubHk8RmlsZT4pID0+IGR0Lml0ZW1zLmFkZChlKSk7XG4gICAgICB0aGlzLl9oaWRkZW5JbnB1dC5maWxlcyA9IGR0LmZpbGVzO1xuXG4gICAgICB0aGlzLnVwZGF0ZUZvcm1WYWx1ZSgpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGZpbGVzKCk6IFJlYWRvbmx5PEZpbGU+W10ge1xuICAgICAgcmV0dXJuIHRoaXMuX2ZpbGVzO1xuICAgIH1cbiAgICBwcml2YXRlIF9maWxlczogUmVhZG9ubHk8RmlsZT5bXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogRm9ybSB0eXBlIG9mIGVsZW1lbnQuXG4gICAgICogQGRlZmF1bHQgJ2ZpbGUnXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGdldCB0eXBlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gJ2ZpbGUnO1xuICAgIH1cblxuICAgIC8qKiBBbiBldmVudCB3aGljaCBpcyBlbWl0dGVkIGVhY2ggdGltZSB0aGUgZmlsZSBsaXN0IGNoYW5nZXMuICovXG4gICAgcHJpdmF0ZSBfZmlsZUNoYW5nZWRFdmVudDogRXZlbnRFbWl0dGVyPFJlYWRvbmx5PEZpbGU+W10+ID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICAgIHRoaXMsXG4gICAgICBTYmJGaWxlU2VsZWN0b3JDb21tb25FbGVtZW50LmV2ZW50cy5maWxlQ2hhbmdlZEV2ZW50LFxuICAgICk7XG5cbiAgICBwcml2YXRlIF9oaWRkZW5JbnB1dCE6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBfc3VmZml4ZXM6IHN0cmluZ1tdID0gWydCJywgJ2tCJywgJ01CJywgJ0dCJywgJ1RCJ107XG4gICAgcHJpdmF0ZSBfbGl2ZVJlZ2lvbiE6IEhUTUxQYXJhZ3JhcGhFbGVtZW50O1xuICAgIHByb3RlY3RlZCBsb2FkQnV0dG9uITogU2JiU2Vjb25kYXJ5QnV0dG9uU3RhdGljRWxlbWVudDtcbiAgICBwcm90ZWN0ZWQgbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHJlbmRlclRlbXBsYXRlKGlucHV0OiBUZW1wbGF0ZVJlc3VsdCk6IFRlbXBsYXRlUmVzdWx0O1xuXG4gICAgcHVibGljIG92ZXJyaWRlIGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQge1xuICAgICAgdGhpcy5maWxlcyA9IFtdO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgICBzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsXG4gICAgICBfcmVhc29uPzogRm9ybVJlc3RvcmVSZWFzb24sXG4gICAgKTogdm9pZCB7XG4gICAgICBpZiAoIXN0YXRlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuZmlsZXMgPSAoc3RhdGUgYXMgW3N0cmluZywgRm9ybURhdGFFbnRyeVZhbHVlXVtdKS5tYXAoXG4gICAgICAgIChbXywgdmFsdWVdKSA9PiB2YWx1ZSBhcyBSZWFkb25seTxGaWxlPixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZUZvcm1WYWx1ZSgpOiB2b2lkIHtcbiAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgdGhpcy5maWxlcy5mb3JFYWNoKChmaWxlKSA9PiBmb3JtVmFsdWUuYXBwZW5kKHRoaXMubmFtZSwgZmlsZSkpO1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc2V0Rm9ybVZhbHVlKGZvcm1WYWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY2hlY2tGaWxlRXF1YWxpdHkoZmlsZTE6IFJlYWRvbmx5PEZpbGU+LCBmaWxlMjogUmVhZG9ubHk8RmlsZT4pOiBib29sZWFuIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGZpbGUxLm5hbWUgPT09IGZpbGUyLm5hbWUgJiZcbiAgICAgICAgZmlsZTEuc2l6ZSA9PT0gZmlsZTIuc2l6ZSAmJlxuICAgICAgICBmaWxlMS5sYXN0TW9kaWZpZWQgPT09IGZpbGUyLmxhc3RNb2RpZmllZFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9vbkZvY3VzKCk6IHZvaWQge1xuICAgICAgaWYgKHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5tb3N0UmVjZW50TW9kYWxpdHkgPT09ICdrZXlib2FyZCcpIHtcbiAgICAgICAgdGhpcy5sb2FkQnV0dG9uLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1mb2N1cy12aXNpYmxlJywgdHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfb25CbHVyKCk6IHZvaWQge1xuICAgICAgaWYgKHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5tb3N0UmVjZW50TW9kYWxpdHkgPT09ICdrZXlib2FyZCcpIHtcbiAgICAgICAgdGhpcy5sb2FkQnV0dG9uLnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1mb2N1cy12aXNpYmxlJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVhZEZpbGVzKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgY29uc3QgZmlsZUlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICBpZiAoZmlsZUlucHV0LmZpbGVzKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlRmlsZUxpc3QoZmlsZUlucHV0LmZpbGVzKTtcbiAgICAgIH1cbiAgICAgIGZvcndhcmRFdmVudFRvSG9zdChldmVudCwgdGhpcyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUZpbGVMaXN0KGZpbGVzOiBGaWxlTGlzdCk6IHZvaWQge1xuICAgICAgaWYgKCF0aGlzLm11bHRpcGxlIHx8IHRoaXMubXVsdGlwbGVNb2RlICE9PSAncGVyc2lzdGVudCcgfHwgdGhpcy5maWxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5maWxlcyA9IEFycmF5LmZyb20oZmlsZXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5maWxlcyA9IEFycmF5LmZyb20oZmlsZXMpXG4gICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgIC8vIFJlbW92ZSBkdXBsaWNhdGVzXG4gICAgICAgICAgICAobmV3RmlsZTogUmVhZG9ubHk8RmlsZT4pOiBib29sZWFuID0+XG4gICAgICAgICAgICAgIHRoaXMuZmlsZXMhLmZpbmRJbmRleCgob2xkRmlsZTogUmVhZG9ubHk8RmlsZT4pID0+XG4gICAgICAgICAgICAgICAgdGhpcy5fY2hlY2tGaWxlRXF1YWxpdHkobmV3RmlsZSwgb2xkRmlsZSksXG4gICAgICAgICAgICAgICkgPT09IC0xLFxuICAgICAgICAgIClcbiAgICAgICAgICAuY29uY2F0KHRoaXMuZmlsZXMpO1xuICAgICAgfVxuICAgICAgdGhpcy5fdXBkYXRlQTExeUxpdmVSZWdpb24oKTtcbiAgICAgIHRoaXMuX2ZpbGVDaGFuZ2VkRXZlbnQuZW1pdCh0aGlzLmZpbGVzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZW1vdmVGaWxlKGZpbGU6IFJlYWRvbmx5PEZpbGU+KTogdm9pZCB7XG4gICAgICB0aGlzLmZpbGVzID0gdGhpcy5maWxlcy5maWx0ZXIoKGY6IFJlYWRvbmx5PEZpbGU+KSA9PiAhdGhpcy5fY2hlY2tGaWxlRXF1YWxpdHkoZmlsZSwgZikpO1xuICAgICAgdGhpcy5fdXBkYXRlQTExeUxpdmVSZWdpb24oKTtcblxuICAgICAgLy8gRGlzcGF0Y2ggbmF0aXZlIGV2ZW50cyBhcyBpZiB0aGUgcmVzZXQgaXMgZG9uZSB2aWEgdGhlIGZpbGUgc2VsZWN0aW9uIHdpbmRvdy5cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2lucHV0JywgeyBjb21wb3NlZDogdHJ1ZSwgYnViYmxlczogdHJ1ZSB9KSk7XG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgdGhpcy5fZmlsZUNoYW5nZWRFdmVudC5lbWl0KHRoaXMuZmlsZXMpO1xuICAgIH1cblxuICAgIC8qKiBDYWxjdWxhdGVzIHRoZSBjb3JyZWN0IHVuaXQgZm9yIHRoZSBmaWxlJ3Mgc2l6ZS4gKi9cbiAgICBwcml2YXRlIF9mb3JtYXRGaWxlU2l6ZShzaXplOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgY29uc3QgaTogbnVtYmVyID0gTWF0aC5mbG9vcihNYXRoLmxvZyhzaXplKSAvIE1hdGgubG9nKDEwMjQpKTtcbiAgICAgIHJldHVybiBgJHsoc2l6ZSAvIE1hdGgucG93KDEwMjQsIGkpKS50b0ZpeGVkKDApfSAke3RoaXMuX3N1ZmZpeGVzW2ldfWA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdXBkYXRlQTExeUxpdmVSZWdpb24oKTogdm9pZCB7XG4gICAgICB0aGlzLl9saXZlUmVnaW9uLmlubmVyVGV4dCA9IGkxOG5GaWxlU2VsZWN0b3JDdXJyZW50bHlTZWxlY3RlZCh0aGlzLmZpbGVzLm1hcCgoZSkgPT4gZS5uYW1lKSlbXG4gICAgICAgIHRoaXMubGFuZ3VhZ2UuY3VycmVudFxuICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZW5kZXJGaWxlTGlzdCgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgICBjb25zdCBUQUdfTkFNRTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9XG4gICAgICAgIHRoaXMuZmlsZXMubGVuZ3RoID4gMVxuICAgICAgICAgID8geyBXUkFQUEVSOiAndWwnLCBFTEVNRU5UOiAnbGknIH1cbiAgICAgICAgICA6IHsgV1JBUFBFUjogJ2RpdicsIEVMRU1FTlQ6ICdzcGFuJyB9O1xuXG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSBsaXQvYmluZGluZy1wb3NpdGlvbnMgKi9cbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgPCR7dW5zYWZlU3RhdGljKFRBR19OQU1FLldSQVBQRVIpfSBjbGFzcz0nc2JiLWZpbGUtc2VsZWN0b3JfX2ZpbGUtbGlzdCc+XG4gICAgICAgICR7dGhpcy5maWxlcy5tYXAoXG4gICAgICAgICAgKGZpbGU6IFJlYWRvbmx5PEZpbGU+KSA9PiBodG1sYFxuICAgICAgICAgICAgPCR7dW5zYWZlU3RhdGljKFRBR19OQU1FLkVMRU1FTlQpfSBjbGFzcz0nc2JiLWZpbGUtc2VsZWN0b3JfX2ZpbGUnPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSdzYmItZmlsZS1zZWxlY3Rvcl9fZmlsZS1kZXRhaWxzJz5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSdzYmItZmlsZS1zZWxlY3Rvcl9fZmlsZS1uYW1lJz4ke2ZpbGUubmFtZX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0nc2JiLWZpbGUtc2VsZWN0b3JfX2ZpbGUtc2l6ZSc+JHt0aGlzLl9mb3JtYXRGaWxlU2l6ZShmaWxlLnNpemUpfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxzYmItc2Vjb25kYXJ5LWJ1dHRvblxuICAgICAgICAgICAgICAgIHNpemU9JyR7dGhpcy5zaXplfSdcbiAgICAgICAgICAgICAgICBpY29uLW5hbWU9J3RyYXNoLXNtYWxsJ1xuICAgICAgICAgICAgICAgIEBjbGljaz0nJHsoKSA9PiB0aGlzLl9yZW1vdmVGaWxlKGZpbGUpfSdcbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPScke2Ake2kxOG5GaWxlU2VsZWN0b3JEZWxldGVGaWxlW3RoaXMubGFuZ3VhZ2UuY3VycmVudF19IC0gJHtmaWxlLm5hbWV9YH0nXG4gICAgICAgICAgICAgID48L3NiYi1zZWNvbmRhcnktYnV0dG9uPlxuICAgICAgICAgICAgPC8ke3Vuc2FmZVN0YXRpYyhUQUdfTkFNRS5FTEVNRU5UKX0+YCxcbiAgICAgICAgKX1cbiAgICAgIDwvJHt1bnNhZmVTdGF0aWMoVEFHX05BTUUuV1JBUFBFUil9PlxuICAgIGA7XG4gICAgICAvKiBlc2xpbnQtZW5hYmxlIGxpdC9iaW5kaW5nLXBvc2l0aW9ucyAqL1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgICAgY29uc3QgYXJpYUxhYmVsID0gdGhpcy5hY2Nlc3NpYmlsaXR5TGFiZWxcbiAgICAgICAgPyBgJHtpMThuRmlsZVNlbGVjdG9yQnV0dG9uTGFiZWxbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX0gLSAke3RoaXMuYWNjZXNzaWJpbGl0eUxhYmVsfWBcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4gaHRtbGBcbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1maWxlLXNlbGVjdG9yXCI+XG4gICAgICAgICAgJHt0aGlzLnJlbmRlclRlbXBsYXRlKFxuICAgICAgICAgICAgaHRtbGA8aW5wdXRcbiAgICAgICAgICAgICAgY2xhc3M9XCJzYmItZmlsZS1zZWxlY3Rvcl9fdmlzdWFsbHktaGlkZGVuXCJcbiAgICAgICAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICAgICAgICA/ZGlzYWJsZWQ9XCIke3RoaXMuZGlzYWJsZWQgfHwgdGhpcy5mb3JtRGlzYWJsZWR9XCJcbiAgICAgICAgICAgICAgP211bHRpcGxlPVwiJHt0aGlzLm11bHRpcGxlfVwiXG4gICAgICAgICAgICAgIGFjY2VwdD1cIiR7dGhpcy5hY2NlcHQgfHwgbm90aGluZ31cIlxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiJHthcmlhTGFiZWwgfHwgbm90aGluZ31cIlxuICAgICAgICAgICAgICBAY2hhbmdlPVwiJHt0aGlzLl9yZWFkRmlsZXN9XCJcbiAgICAgICAgICAgICAgQGZvY3VzPVwiJHt0aGlzLl9vbkZvY3VzfVwiXG4gICAgICAgICAgICAgIEBibHVyPVwiJHt0aGlzLl9vbkJsdXJ9XCJcbiAgICAgICAgICAgICAgJHtyZWYoKGVsPzogRWxlbWVudCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2hpZGRlbklucHV0ID0gZWwgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAvPmAsXG4gICAgICAgICAgKX1cbiAgICAgICAgICA8cFxuICAgICAgICAgICAgcm9sZT1cInN0YXR1c1wiXG4gICAgICAgICAgICBjbGFzcz1cInNiYi1maWxlLXNlbGVjdG9yX192aXN1YWxseS1oaWRkZW5cIlxuICAgICAgICAgICAgJHtyZWYoKHA/OiBFbGVtZW50KSA9PiAodGhpcy5fbGl2ZVJlZ2lvbiA9IHAgYXMgSFRNTFBhcmFncmFwaEVsZW1lbnQpKX1cbiAgICAgICAgICA+PC9wPlxuICAgICAgICAgICR7dGhpcy5maWxlcy5sZW5ndGggPiAwID8gdGhpcy5fcmVuZGVyRmlsZUxpc3QoKSA6IG5vdGhpbmd9XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1maWxlLXNlbGVjdG9yX19lcnJvclwiPlxuICAgICAgICAgICAgPHNsb3QgbmFtZT1cImVycm9yXCI+PC9zbG90PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGA7XG4gICAgfVxuICB9XG4gIHJldHVybiBTYmJGaWxlU2VsZWN0b3JDb21tb25FbGVtZW50IGFzIHVua25vd24gYXMgQ29uc3RydWN0b3I8U2JiRmlsZVNlbGVjdG9yQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJlxuICAgIFQ7XG59O1xuIl0sIm5hbWVzIjpbIlNiYkZpbGVTZWxlY3RvckNvbW1vbkVsZW1lbnQiLCJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlEYSxNQUFBLG9DQUFvQyxDQUMvQyxlQUMwRDtNQUMzQyxnQ0FBNEIsTUFBQTs7QUFDakMsUUFBQSxjQUFBLGlCQUFpQix1QkFBdUIsVUFBVSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRDlDLFdBQUEsbUJBQ0wsWUFBb0Q7QUFBQTs7QUFXL0I7QUFLN0I7QUFJQTtBQUtBO0FBS0E7QUFuQjZDLDJCQUFBLHlCQVpoQyxrQkFBNEIsTUFBQSwwQkFBQSxHQUFBLGtCQUFBLE1BQUEsb0JBWXNCLE9BQUEsSUFBVyxNQUFNLEdBQUc7QUFLbkUsMkJBQUEsNkJBQUEsa0JBQUEsTUFBQSx1QkFBQSxHQUFBLGtCQUFBLE1BQUEsd0JBQW9CLEtBQUs7QUFJekIsMkJBQUEsaUNBQUEsa0JBQUEsTUFBQSwyQkFBQSxHQUFBLGtCQUFBLE1BQUEsNEJBQXlDLFNBQVM7QUFLbEQsMkJBQUEsMkJBQUEsa0JBQUEsTUFBQSwrQkFBQSxHQUFBLGtCQUFBLE1BQUEsc0JBQWlCLEVBQUU7QUFLbkIsMkJBQUEsdUNBQUEsa0JBQUEsTUFBQSx5QkFBQSxHQUFBLGtCQUFBLE1BQUEsa0NBQTZCLEVBQUU7QUErQnZDLGFBQU0sVUFBQSxrQkFBQSxNQUFBLHFDQUFBLEdBQXFCLENBQUE7QUFXM0IsYUFBQSxvQkFBb0QsSUFBSSxhQUM5RCxNQUNBQSxHQUE2QixPQUFPLGdCQUFnQjtB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
@@ -0,0 +1,24 @@
1
+ import { CSSResultGroup, LitElement, TemplateResult } from 'lit';
2
+ declare const SbbFileSelectorElement_base: import('../../core/mixins.js').Constructor<import('../common.js').SbbFileSelectorCommonElementMixinType> & typeof LitElement;
3
+ /**
4
+ * It allows to select one or more file from storage devices and display them.
5
+ *
6
+ * @slot error - Use this to provide a `sbb-form-error` to show an error message.
7
+ * @event {CustomEvent<Readonly<File>[]>} fileChanged - An event which is emitted each time the file list changes.
8
+ * @event change - An event which is emitted each time the user modifies the value. Unlike the input event, the change event is not necessarily fired for each alteration to an element's value
9
+ * @event input - An event which is emitted each time the value changes as a direct result of a user action.
10
+ */
11
+ export declare class SbbFileSelectorElement extends SbbFileSelectorElement_base {
12
+ static styles: CSSResultGroup;
13
+ static readonly events: {
14
+ readonly fileChangedEvent: "fileChanged";
15
+ };
16
+ protected renderTemplate(input: TemplateResult): TemplateResult;
17
+ }
18
+ declare global {
19
+ interface HTMLElementTagNameMap {
20
+ 'sbb-file-selector': SbbFileSelectorElement;
21
+ }
22
+ }
23
+ export {};
24
+ //# sourceMappingURL=file-selector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-selector.d.ts","sourceRoot":"","sources":["../../../../../src/elements/file-selector/file-selector/file-selector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAU3E,OAAO,kCAAkC,CAAC;AAC1C,OAAO,yCAAyC,CAAC;AACjD,OAAO,eAAe,CAAC;;AAEvB;;;;;;;GAOG;AACH,qBAGM,sBAAuB,SAAQ,2BAA6C;IAChF,OAAuB,MAAM,EAAE,cAAc,CAA2B;IACxE,gBAAuB,MAAM;;MAElB;cAEQ,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc;CAmBzE;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,mBAAmB,EAAE,sBAAsB,CAAC;KAC7C;CACF"}
@@ -0,0 +1,33 @@
1
+ import { CSSResultGroup, LitElement, TemplateResult } from 'lit';
2
+ declare const SbbFileSelectorDropzoneElement_base: import('../../core/mixins.js').Constructor<import('../common.js').SbbFileSelectorCommonElementMixinType> & typeof LitElement;
3
+ /**
4
+ * It allows to select one or more file from storage devices via button click or drag and drop, and display them.
5
+ *
6
+ * @slot error - Use this to provide a `sbb-form-error` to show an error message.
7
+ * @event {CustomEvent<Readonly<File>[]>} fileChanged - An event which is emitted each time the file list changes.
8
+ * @event change - An event which is emitted each time the user modifies the value. Unlike the input event, the change event is not necessarily fired for each alteration to an element's value
9
+ * @event input - An event which is emitted each time the value changes as a direct result of a user action.
10
+ */
11
+ export declare class SbbFileSelectorDropzoneElement extends SbbFileSelectorDropzoneElement_base {
12
+ static styles: CSSResultGroup;
13
+ static readonly events: {
14
+ readonly fileChangedEvent: "fileChanged";
15
+ };
16
+ /** The title displayed in `dropzone` variant. */
17
+ accessor titleContent: string;
18
+ private _counter;
19
+ private _dragTarget?;
20
+ private _blockEvent;
21
+ private _onDragEnter;
22
+ private _onDragLeave;
23
+ private _onFileDrop;
24
+ private _setDragState;
25
+ protected renderTemplate(input: TemplateResult): TemplateResult;
26
+ }
27
+ declare global {
28
+ interface HTMLElementTagNameMap {
29
+ 'sbb-file-selector-dropzone': SbbFileSelectorDropzoneElement;
30
+ }
31
+ }
32
+ export {};
33
+ //# sourceMappingURL=file-selector-dropzone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-selector-dropzone.d.ts","sourceRoot":"","sources":["../../../../../src/elements/file-selector/file-selector-dropzone/file-selector-dropzone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAU3E,OAAO,kCAAkC,CAAC;AAC1C,OAAO,yCAAyC,CAAC;AACjD,OAAO,eAAe,CAAC;;AAIvB;;;;;;;GAOG;AACH,qBAGM,8BAA+B,SAAQ,mCAA6C;IACxF,OAAuB,MAAM,EAAE,cAAc,CAAoC;IACjF,gBAAuB,MAAM;;MAElB;IAEX,iDAAiD;IACjD,SAEgB,YAAY,EAAE,MAAM,CAAM;IAI1C,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAAC,CAAc;IAElC,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,aAAa;cASF,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc;CAqCzE;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,4BAA4B,EAAE,8BAA8B,CAAC;KAC9D;CACF"}
@@ -0,0 +1,2 @@
1
+ export * from './file-selector-dropzone/file-selector-dropzone.js';
2
+ //# sourceMappingURL=file-selector-dropzone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-selector-dropzone.d.ts","sourceRoot":"","sources":["../../../../src/elements/file-selector/file-selector-dropzone.ts"],"names":[],"mappings":"AAAA,cAAc,oDAAoD,CAAC"}