@six-group/ui-library 0.0.0-insider.daba936 → 0.0.0-insider.dd46619

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 (700) hide show
  1. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  2. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  3. package/dist/cjs/{form-control-72186fcc.js → form-control-de259450.js} +2 -2
  4. package/dist/cjs/{form-control-72186fcc.js.map → form-control-de259450.js.map} +1 -1
  5. package/dist/cjs/{index-5dd19c4b.js → index-1f707a55.js} +76 -44
  6. package/dist/cjs/index-1f707a55.js.map +1 -0
  7. package/dist/cjs/loader.cjs.js +5 -3
  8. package/dist/cjs/loader.cjs.js.map +1 -1
  9. package/dist/cjs/{modal-3ce015be.js → modal-bd7fc5bc.js} +1 -18
  10. package/dist/cjs/modal-bd7fc5bc.js.map +1 -0
  11. package/dist/cjs/six-alert.cjs.entry.js +17 -7
  12. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  13. package/dist/cjs/six-avatar.cjs.entry.js +4 -3
  14. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  15. package/dist/cjs/six-badge.cjs.entry.js +5 -4
  16. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  17. package/dist/cjs/six-button.cjs.entry.js +5 -4
  18. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  19. package/dist/cjs/six-card.cjs.entry.js +4 -3
  20. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  21. package/dist/cjs/six-checkbox_2.cjs.entry.js +11 -9
  22. package/dist/cjs/six-checkbox_2.cjs.entry.js.map +1 -1
  23. package/dist/cjs/six-datepicker.cjs.entry.js +30 -4
  24. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  25. package/dist/cjs/six-details.cjs.entry.js +6 -5
  26. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  27. package/dist/cjs/six-dialog.cjs.entry.js +14 -30
  28. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  29. package/dist/cjs/six-drawer.cjs.entry.js +13 -30
  30. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  31. package/dist/cjs/six-dropdown_2.cjs.entry.js +17 -13
  32. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  33. package/dist/cjs/six-error-page.cjs.entry.js +4 -3
  34. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  35. package/dist/cjs/six-error.cjs.entry.js +4 -3
  36. package/dist/cjs/six-error.cjs.entry.js.map +1 -1
  37. package/dist/cjs/six-file-list-item.cjs.entry.js +5 -4
  38. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  39. package/dist/cjs/six-file-list.cjs.entry.js +4 -3
  40. package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
  41. package/dist/cjs/six-file-upload.cjs.entry.js +34 -9
  42. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  43. package/dist/cjs/six-footer.cjs.entry.js +4 -3
  44. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  45. package/dist/cjs/six-group-label.cjs.entry.js +5 -4
  46. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  47. package/dist/cjs/six-header.cjs.entry.js +13 -12
  48. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  49. package/dist/cjs/six-icon-button.cjs.entry.js +6 -5
  50. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  51. package/dist/cjs/six-icon.cjs.entry.js +5 -4
  52. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  53. package/dist/cjs/six-input.cjs.entry.js +7 -6
  54. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  55. package/dist/cjs/six-item-picker.cjs.entry.js +6 -5
  56. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  57. package/dist/cjs/six-language-switcher.cjs.entry.js +11 -6
  58. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  59. package/dist/cjs/six-layout-grid.cjs.entry.js +4 -3
  60. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  61. package/dist/cjs/six-main-container.cjs.entry.js +4 -3
  62. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  63. package/dist/cjs/six-menu-divider.cjs.entry.js +4 -3
  64. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  65. package/dist/cjs/six-menu-label.cjs.entry.js +4 -3
  66. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  67. package/dist/cjs/six-picto.cjs.entry.js +4 -3
  68. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  69. package/dist/cjs/six-progress-bar.cjs.entry.js +5 -4
  70. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  71. package/dist/cjs/six-progress-ring.cjs.entry.js +4 -3
  72. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  73. package/dist/cjs/six-radio.cjs.entry.js +5 -4
  74. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  75. package/dist/cjs/six-range.cjs.entry.js +17 -6
  76. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  77. package/dist/cjs/six-root.cjs.entry.js +4 -22
  78. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  79. package/dist/cjs/six-search-field.cjs.entry.js +4 -3
  80. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  81. package/dist/cjs/six-select.cjs.entry.js +13 -9
  82. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  83. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +4 -3
  84. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  85. package/dist/cjs/six-sidebar-item.cjs.entry.js +5 -4
  86. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
  87. package/dist/cjs/six-sidebar.cjs.entry.js +5 -4
  88. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  89. package/dist/cjs/six-spinner.cjs.entry.js +3 -2
  90. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  91. package/dist/cjs/six-stage-indicator.cjs.entry.js +23 -0
  92. package/dist/cjs/six-stage-indicator.cjs.entry.js.map +1 -0
  93. package/dist/cjs/six-switch.cjs.entry.js +6 -5
  94. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  95. package/dist/cjs/six-tab-group.cjs.entry.js +34 -8
  96. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  97. package/dist/cjs/six-tab-panel.cjs.entry.js +4 -3
  98. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  99. package/dist/cjs/six-tab.cjs.entry.js +5 -4
  100. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  101. package/dist/cjs/six-tag.cjs.entry.js +5 -4
  102. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  103. package/dist/cjs/six-textarea.cjs.entry.js +6 -5
  104. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  105. package/dist/cjs/six-tile.cjs.entry.js +6 -5
  106. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  107. package/dist/cjs/six-timepicker.cjs.entry.js +4 -3
  108. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  109. package/dist/cjs/six-tooltip.cjs.entry.js +5 -4
  110. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ui-library.cjs.js +6 -4
  112. package/dist/cjs/ui-library.cjs.js.map +1 -1
  113. package/dist/collection/collection-manifest.json +4 -5
  114. package/dist/collection/components/six-alert/six-alert.js +15 -6
  115. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  116. package/dist/collection/components/six-avatar/six-avatar.js +1 -1
  117. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  118. package/dist/collection/components/six-badge/six-badge.js +2 -2
  119. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  120. package/dist/collection/components/six-button/six-button.js +2 -2
  121. package/dist/collection/components/six-button/six-button.js.map +1 -1
  122. package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -1
  123. package/dist/collection/components/six-card/six-card.js +1 -1
  124. package/dist/collection/components/six-card/six-card.js.map +1 -1
  125. package/dist/collection/components/six-checkbox/six-checkbox.css +2 -0
  126. package/dist/collection/components/six-checkbox/six-checkbox.js +2 -2
  127. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  128. package/dist/collection/components/six-datepicker/six-datepicker.js +4 -4
  129. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  130. package/dist/collection/components/six-details/six-details.js +3 -3
  131. package/dist/collection/components/six-details/six-details.js.map +1 -1
  132. package/dist/collection/components/six-dialog/six-dialog.js +10 -28
  133. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  134. package/dist/collection/components/six-drawer/six-drawer.js +9 -28
  135. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  136. package/dist/collection/components/six-dropdown/six-dropdown.js +10 -8
  137. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  138. package/dist/collection/components/six-error/six-error.js +1 -1
  139. package/dist/collection/components/six-error/six-error.js.map +1 -1
  140. package/dist/collection/components/six-error-page/six-error-page.js +1 -1
  141. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
  142. package/dist/collection/components/six-file-list/six-file-list.js +1 -1
  143. package/dist/collection/components/six-file-list/six-file-list.js.map +1 -1
  144. package/dist/collection/components/six-file-list-item/six-file-list-item.js +2 -2
  145. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  146. package/dist/collection/components/six-file-upload/six-file-upload.css +11 -0
  147. package/dist/collection/components/six-file-upload/six-file-upload.js +87 -7
  148. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  149. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +187 -24
  150. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -1
  151. package/dist/collection/components/six-footer/six-footer.js +1 -1
  152. package/dist/collection/components/six-footer/six-footer.js.map +1 -1
  153. package/dist/collection/components/six-group-label/six-group-label.js +1 -1
  154. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  155. package/dist/collection/components/six-header/six-header.js +10 -10
  156. package/dist/collection/components/six-header/six-header.js.map +1 -1
  157. package/dist/collection/components/six-header/test/six-header.spec.js +4 -4
  158. package/dist/collection/components/six-header/test/six-header.spec.js.map +1 -1
  159. package/dist/collection/components/six-icon/six-icon.js +2 -2
  160. package/dist/collection/components/six-icon/six-icon.js.map +1 -1
  161. package/dist/collection/components/six-icon-button/six-icon-button.js +3 -3
  162. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
  163. package/dist/collection/components/six-input/six-input.js +3 -3
  164. package/dist/collection/components/six-input/six-input.js.map +1 -1
  165. package/dist/collection/components/six-item-picker/six-item-picker.js +3 -3
  166. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  167. package/dist/collection/components/six-language-switcher/six-language-switcher.css +7 -2
  168. package/dist/collection/components/six-language-switcher/six-language-switcher.js +7 -3
  169. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  170. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +20 -20
  171. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -1
  172. package/dist/collection/components/six-layout-grid/six-layout-grid.js +1 -1
  173. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
  174. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  175. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  176. package/dist/collection/components/six-menu/six-menu.js +2 -2
  177. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  178. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -1
  179. package/dist/collection/components/six-menu-divider/six-menu-divider.js +1 -1
  180. package/dist/collection/components/six-menu-divider/six-menu-divider.js.map +1 -1
  181. package/dist/collection/components/six-menu-item/six-menu-item.js +2 -2
  182. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  183. package/dist/collection/components/six-menu-label/six-menu-label.js +1 -1
  184. package/dist/collection/components/six-menu-label/six-menu-label.js.map +1 -1
  185. package/dist/collection/components/six-picto/six-picto.js +1 -1
  186. package/dist/collection/components/six-picto/six-picto.js.map +1 -1
  187. package/dist/collection/components/six-progress-bar/six-progress-bar.js +2 -2
  188. package/dist/collection/components/six-progress-bar/six-progress-bar.js.map +1 -1
  189. package/dist/collection/components/six-progress-ring/six-progress-ring.js +1 -1
  190. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
  191. package/dist/collection/components/six-radio/six-radio.js +2 -2
  192. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  193. package/dist/collection/components/six-range/six-range.css +1 -1
  194. package/dist/collection/components/six-range/six-range.js +12 -2
  195. package/dist/collection/components/six-range/six-range.js.map +1 -1
  196. package/dist/collection/components/six-root/six-root.js +1 -69
  197. package/dist/collection/components/six-root/six-root.js.map +1 -1
  198. package/dist/collection/components/six-root/test/six-root.spec.js +0 -7
  199. package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -1
  200. package/dist/collection/components/six-search-field/six-search-field.js +1 -1
  201. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  202. package/dist/collection/components/six-select/six-select.js +9 -6
  203. package/dist/collection/components/six-select/six-select.js.map +1 -1
  204. package/dist/collection/components/six-select/util.js.map +1 -1
  205. package/dist/collection/components/six-sidebar/six-sidebar.js +2 -2
  206. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  207. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +2 -2
  208. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js.map +1 -1
  209. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.css +1 -0
  210. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  211. package/dist/collection/components/six-switch/six-switch.js +2 -2
  212. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  213. package/dist/collection/components/six-tab/six-tab.js +2 -2
  214. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  215. package/dist/collection/components/six-tab-group/six-tab-group.js +33 -7
  216. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  217. package/dist/collection/components/six-tab-panel/six-tab-panel.js +1 -1
  218. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
  219. package/dist/collection/components/six-tag/six-tag.js +2 -2
  220. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  221. package/dist/collection/components/six-textarea/six-textarea.js +2 -2
  222. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  223. package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -1
  224. package/dist/collection/components/six-tile/six-tile.js +3 -3
  225. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  226. package/dist/collection/components/six-timepicker/six-timepicker.js +1 -1
  227. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  228. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -1
  229. package/dist/collection/components/six-tooltip/six-tooltip.js +2 -2
  230. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  231. package/dist/collection/utils/alert.js.map +1 -1
  232. package/dist/collection/utils/date-util.js +25 -0
  233. package/dist/collection/utils/date-util.js.map +1 -1
  234. package/dist/collection/utils/date-util.spec.js.map +1 -1
  235. package/dist/collection/utils/error-messages.js.map +1 -1
  236. package/dist/collection/utils/event-listeners.js.map +1 -1
  237. package/dist/collection/utils/focus-visible.js.map +1 -1
  238. package/dist/collection/utils/form.js.map +1 -1
  239. package/dist/collection/utils/modal.js.map +1 -1
  240. package/dist/collection/utils/popover.js.map +1 -1
  241. package/dist/collection/utils/popup.js.map +1 -1
  242. package/dist/collection/utils/scroll.js.map +1 -1
  243. package/dist/collection/utils/slot.js.map +1 -1
  244. package/dist/collection/utils/tabbable.js.map +1 -1
  245. package/dist/collection/utils/time.util.js.map +1 -1
  246. package/dist/collection/utils/time.util.spec.js.map +1 -1
  247. package/dist/components/index.js +0 -2
  248. package/dist/components/index.js.map +1 -1
  249. package/dist/components/modal.js +1 -17
  250. package/dist/components/modal.js.map +1 -1
  251. package/dist/components/six-alert.js +16 -6
  252. package/dist/components/six-alert.js.map +1 -1
  253. package/dist/components/six-avatar.js +3 -2
  254. package/dist/components/six-avatar.js.map +1 -1
  255. package/dist/components/six-badge.js +4 -3
  256. package/dist/components/six-badge.js.map +1 -1
  257. package/dist/components/six-button2.js +4 -3
  258. package/dist/components/six-button2.js.map +1 -1
  259. package/dist/components/six-card.js +3 -2
  260. package/dist/components/six-card.js.map +1 -1
  261. package/dist/components/six-checkbox2.js +5 -4
  262. package/dist/components/six-checkbox2.js.map +1 -1
  263. package/dist/components/six-datepicker.js +29 -3
  264. package/dist/components/six-datepicker.js.map +1 -1
  265. package/dist/components/six-details2.js +5 -4
  266. package/dist/components/six-details2.js.map +1 -1
  267. package/dist/components/six-dialog.js +13 -29
  268. package/dist/components/six-dialog.js.map +1 -1
  269. package/dist/components/six-drawer.js +12 -29
  270. package/dist/components/six-drawer.js.map +1 -1
  271. package/dist/components/six-dropdown2.js +12 -9
  272. package/dist/components/six-dropdown2.js.map +1 -1
  273. package/dist/components/six-error-page.js +3 -2
  274. package/dist/components/six-error-page.js.map +1 -1
  275. package/dist/components/six-error2.js +3 -2
  276. package/dist/components/six-error2.js.map +1 -1
  277. package/dist/components/six-file-list-item.js +4 -3
  278. package/dist/components/six-file-list-item.js.map +1 -1
  279. package/dist/components/six-file-list.js +3 -2
  280. package/dist/components/six-file-list.js.map +1 -1
  281. package/dist/components/six-file-upload.js +53 -12
  282. package/dist/components/six-file-upload.js.map +1 -1
  283. package/dist/components/six-footer.js +3 -2
  284. package/dist/components/six-footer.js.map +1 -1
  285. package/dist/components/six-group-label.js +3 -2
  286. package/dist/components/six-group-label.js.map +1 -1
  287. package/dist/components/six-header.js +12 -11
  288. package/dist/components/six-header.js.map +1 -1
  289. package/dist/components/six-icon-button2.js +5 -4
  290. package/dist/components/six-icon-button2.js.map +1 -1
  291. package/dist/components/six-icon2.js +4 -3
  292. package/dist/components/six-icon2.js.map +1 -1
  293. package/dist/components/six-input2.js +5 -4
  294. package/dist/components/six-input2.js.map +1 -1
  295. package/dist/components/six-item-picker2.js +5 -4
  296. package/dist/components/six-item-picker2.js.map +1 -1
  297. package/dist/components/six-language-switcher.js +10 -5
  298. package/dist/components/six-language-switcher.js.map +1 -1
  299. package/dist/components/six-layout-grid.js +3 -2
  300. package/dist/components/six-layout-grid.js.map +1 -1
  301. package/dist/components/six-main-container.js +3 -2
  302. package/dist/components/six-main-container.js.map +1 -1
  303. package/dist/components/six-menu-divider.js +3 -2
  304. package/dist/components/six-menu-divider.js.map +1 -1
  305. package/dist/components/six-menu-item2.js +4 -3
  306. package/dist/components/six-menu-item2.js.map +1 -1
  307. package/dist/components/six-menu-label.js +3 -2
  308. package/dist/components/six-menu-label.js.map +1 -1
  309. package/dist/components/six-menu2.js +4 -3
  310. package/dist/components/six-menu2.js.map +1 -1
  311. package/dist/components/six-picto2.js +3 -2
  312. package/dist/components/six-picto2.js.map +1 -1
  313. package/dist/components/six-progress-bar.js +4 -3
  314. package/dist/components/six-progress-bar.js.map +1 -1
  315. package/dist/components/six-progress-ring.js +3 -2
  316. package/dist/components/six-progress-ring.js.map +1 -1
  317. package/dist/components/six-radio.js +4 -3
  318. package/dist/components/six-radio.js.map +1 -1
  319. package/dist/components/six-range.js +15 -4
  320. package/dist/components/six-range.js.map +1 -1
  321. package/dist/components/six-root.js +6 -34
  322. package/dist/components/six-root.js.map +1 -1
  323. package/dist/components/six-search-field.js +3 -2
  324. package/dist/components/six-search-field.js.map +1 -1
  325. package/dist/components/six-select.js +11 -7
  326. package/dist/components/six-select.js.map +1 -1
  327. package/dist/components/six-sidebar-item-group.js +3 -2
  328. package/dist/components/six-sidebar-item-group.js.map +1 -1
  329. package/dist/components/six-sidebar-item.js +4 -3
  330. package/dist/components/six-sidebar-item.js.map +1 -1
  331. package/dist/components/six-sidebar.js +4 -3
  332. package/dist/components/six-sidebar.js.map +1 -1
  333. package/dist/components/six-spinner2.js +2 -1
  334. package/dist/components/six-spinner2.js.map +1 -1
  335. package/dist/components/six-stage-indicator2.js +2 -1
  336. package/dist/components/six-stage-indicator2.js.map +1 -1
  337. package/dist/components/six-switch.js +4 -3
  338. package/dist/components/six-switch.js.map +1 -1
  339. package/dist/components/six-tab-group.js +35 -8
  340. package/dist/components/six-tab-group.js.map +1 -1
  341. package/dist/components/six-tab-panel.js +3 -2
  342. package/dist/components/six-tab-panel.js.map +1 -1
  343. package/dist/components/six-tab.js +4 -3
  344. package/dist/components/six-tab.js.map +1 -1
  345. package/dist/components/six-tag.js +4 -3
  346. package/dist/components/six-tag.js.map +1 -1
  347. package/dist/components/six-textarea.js +4 -3
  348. package/dist/components/six-textarea.js.map +1 -1
  349. package/dist/components/six-tile.js +5 -4
  350. package/dist/components/six-tile.js.map +1 -1
  351. package/dist/components/six-timepicker2.js +3 -2
  352. package/dist/components/six-timepicker2.js.map +1 -1
  353. package/dist/components/six-tooltip2.js +4 -3
  354. package/dist/components/six-tooltip2.js.map +1 -1
  355. package/dist/components.json +116 -114
  356. package/dist/esm/app-globals-0f993ce5.js +5 -0
  357. package/dist/esm/app-globals-0f993ce5.js.map +1 -0
  358. package/dist/esm/{form-control-77fcccd0.js → form-control-30c5bd8b.js} +2 -2
  359. package/dist/esm/{form-control-77fcccd0.js.map → form-control-30c5bd8b.js.map} +1 -1
  360. package/dist/esm/{index-6c10d50b.js → index-5390c1d6.js} +76 -44
  361. package/dist/esm/index-5390c1d6.js.map +1 -0
  362. package/dist/esm/loader.js +6 -4
  363. package/dist/esm/loader.js.map +1 -1
  364. package/dist/esm/{modal-96526245.js → modal-6c1288e3.js} +2 -18
  365. package/dist/esm/modal-6c1288e3.js.map +1 -0
  366. package/dist/esm/six-alert.entry.js +17 -7
  367. package/dist/esm/six-alert.entry.js.map +1 -1
  368. package/dist/esm/six-avatar.entry.js +4 -3
  369. package/dist/esm/six-avatar.entry.js.map +1 -1
  370. package/dist/esm/six-badge.entry.js +5 -4
  371. package/dist/esm/six-badge.entry.js.map +1 -1
  372. package/dist/esm/six-button.entry.js +5 -4
  373. package/dist/esm/six-button.entry.js.map +1 -1
  374. package/dist/esm/six-card.entry.js +4 -3
  375. package/dist/esm/six-card.entry.js.map +1 -1
  376. package/dist/esm/six-checkbox_2.entry.js +11 -9
  377. package/dist/esm/six-checkbox_2.entry.js.map +1 -1
  378. package/dist/esm/six-datepicker.entry.js +30 -4
  379. package/dist/esm/six-datepicker.entry.js.map +1 -1
  380. package/dist/esm/six-details.entry.js +6 -5
  381. package/dist/esm/six-details.entry.js.map +1 -1
  382. package/dist/esm/six-dialog.entry.js +14 -30
  383. package/dist/esm/six-dialog.entry.js.map +1 -1
  384. package/dist/esm/six-drawer.entry.js +13 -30
  385. package/dist/esm/six-drawer.entry.js.map +1 -1
  386. package/dist/esm/six-dropdown_2.entry.js +17 -13
  387. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  388. package/dist/esm/six-error-page.entry.js +4 -3
  389. package/dist/esm/six-error-page.entry.js.map +1 -1
  390. package/dist/esm/six-error.entry.js +4 -3
  391. package/dist/esm/six-error.entry.js.map +1 -1
  392. package/dist/esm/six-file-list-item.entry.js +5 -4
  393. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  394. package/dist/esm/six-file-list.entry.js +4 -3
  395. package/dist/esm/six-file-list.entry.js.map +1 -1
  396. package/dist/esm/six-file-upload.entry.js +34 -9
  397. package/dist/esm/six-file-upload.entry.js.map +1 -1
  398. package/dist/esm/six-footer.entry.js +4 -3
  399. package/dist/esm/six-footer.entry.js.map +1 -1
  400. package/dist/esm/six-group-label.entry.js +5 -4
  401. package/dist/esm/six-group-label.entry.js.map +1 -1
  402. package/dist/esm/six-header.entry.js +13 -12
  403. package/dist/esm/six-header.entry.js.map +1 -1
  404. package/dist/esm/six-icon-button.entry.js +6 -5
  405. package/dist/esm/six-icon-button.entry.js.map +1 -1
  406. package/dist/esm/six-icon.entry.js +5 -4
  407. package/dist/esm/six-icon.entry.js.map +1 -1
  408. package/dist/esm/six-input.entry.js +7 -6
  409. package/dist/esm/six-input.entry.js.map +1 -1
  410. package/dist/esm/six-item-picker.entry.js +6 -5
  411. package/dist/esm/six-item-picker.entry.js.map +1 -1
  412. package/dist/esm/six-language-switcher.entry.js +11 -6
  413. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  414. package/dist/esm/six-layout-grid.entry.js +4 -3
  415. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  416. package/dist/esm/six-main-container.entry.js +4 -3
  417. package/dist/esm/six-main-container.entry.js.map +1 -1
  418. package/dist/esm/six-menu-divider.entry.js +4 -3
  419. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  420. package/dist/esm/six-menu-label.entry.js +4 -3
  421. package/dist/esm/six-menu-label.entry.js.map +1 -1
  422. package/dist/esm/six-picto.entry.js +4 -3
  423. package/dist/esm/six-picto.entry.js.map +1 -1
  424. package/dist/esm/six-progress-bar.entry.js +5 -4
  425. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  426. package/dist/esm/six-progress-ring.entry.js +4 -3
  427. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  428. package/dist/esm/six-radio.entry.js +5 -4
  429. package/dist/esm/six-radio.entry.js.map +1 -1
  430. package/dist/esm/six-range.entry.js +17 -6
  431. package/dist/esm/six-range.entry.js.map +1 -1
  432. package/dist/esm/six-root.entry.js +4 -22
  433. package/dist/esm/six-root.entry.js.map +1 -1
  434. package/dist/esm/six-search-field.entry.js +4 -3
  435. package/dist/esm/six-search-field.entry.js.map +1 -1
  436. package/dist/esm/six-select.entry.js +13 -9
  437. package/dist/esm/six-select.entry.js.map +1 -1
  438. package/dist/esm/six-sidebar-item-group.entry.js +4 -3
  439. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  440. package/dist/esm/six-sidebar-item.entry.js +5 -4
  441. package/dist/esm/six-sidebar-item.entry.js.map +1 -1
  442. package/dist/esm/six-sidebar.entry.js +5 -4
  443. package/dist/esm/six-sidebar.entry.js.map +1 -1
  444. package/dist/esm/six-spinner.entry.js +3 -2
  445. package/dist/esm/six-spinner.entry.js.map +1 -1
  446. package/dist/esm/six-stage-indicator.entry.js +19 -0
  447. package/dist/esm/six-stage-indicator.entry.js.map +1 -0
  448. package/dist/esm/six-switch.entry.js +6 -5
  449. package/dist/esm/six-switch.entry.js.map +1 -1
  450. package/dist/esm/six-tab-group.entry.js +34 -8
  451. package/dist/esm/six-tab-group.entry.js.map +1 -1
  452. package/dist/esm/six-tab-panel.entry.js +4 -3
  453. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  454. package/dist/esm/six-tab.entry.js +5 -4
  455. package/dist/esm/six-tab.entry.js.map +1 -1
  456. package/dist/esm/six-tag.entry.js +5 -4
  457. package/dist/esm/six-tag.entry.js.map +1 -1
  458. package/dist/esm/six-textarea.entry.js +6 -5
  459. package/dist/esm/six-textarea.entry.js.map +1 -1
  460. package/dist/esm/six-tile.entry.js +6 -5
  461. package/dist/esm/six-tile.entry.js.map +1 -1
  462. package/dist/esm/six-timepicker.entry.js +4 -3
  463. package/dist/esm/six-timepicker.entry.js.map +1 -1
  464. package/dist/esm/six-tooltip.entry.js +5 -4
  465. package/dist/esm/six-tooltip.entry.js.map +1 -1
  466. package/dist/esm/ui-library.js +7 -5
  467. package/dist/esm/ui-library.js.map +1 -1
  468. package/dist/types/components/six-alert/six-alert.d.ts +8 -4
  469. package/dist/types/components/six-datepicker/six-datepicker.d.ts +1 -1
  470. package/dist/types/components/six-dialog/six-dialog.d.ts +1 -0
  471. package/dist/types/components/six-file-upload/six-file-upload.d.ts +10 -0
  472. package/dist/types/components/six-range/six-range.d.ts +2 -0
  473. package/dist/types/components/six-root/six-root.d.ts +0 -13
  474. package/dist/types/components/six-tab-group/six-tab-group.d.ts +4 -1
  475. package/dist/types/components.d.ts +28 -54
  476. package/dist/types/utils/date-util.d.ts +9 -1
  477. package/dist/ui-library/p-030fa1fa.entry.js +2 -0
  478. package/dist/ui-library/p-030fa1fa.entry.js.map +1 -0
  479. package/dist/ui-library/{p-2cd674e0.entry.js → p-03d1b956.entry.js} +2 -2
  480. package/dist/ui-library/p-03d1b956.entry.js.map +1 -0
  481. package/dist/ui-library/p-047d02ad.entry.js +2 -0
  482. package/dist/ui-library/p-047d02ad.entry.js.map +1 -0
  483. package/dist/ui-library/p-05eb1bab.js +3 -0
  484. package/dist/ui-library/p-05eb1bab.js.map +1 -0
  485. package/dist/ui-library/{p-1431a2a8.entry.js → p-060069d4.entry.js} +2 -2
  486. package/dist/ui-library/p-060069d4.entry.js.map +1 -0
  487. package/dist/ui-library/p-06ba653e.entry.js +2 -0
  488. package/dist/ui-library/p-06ba653e.entry.js.map +1 -0
  489. package/dist/ui-library/p-07c8de65.entry.js +2 -0
  490. package/dist/ui-library/p-07c8de65.entry.js.map +1 -0
  491. package/dist/ui-library/p-0fb3fb30.entry.js +2 -0
  492. package/dist/ui-library/p-0fb3fb30.entry.js.map +1 -0
  493. package/dist/ui-library/p-14e5fccc.entry.js +2 -0
  494. package/dist/ui-library/p-14e5fccc.entry.js.map +1 -0
  495. package/dist/ui-library/p-16fb5aad.entry.js +2 -0
  496. package/dist/ui-library/p-16fb5aad.entry.js.map +1 -0
  497. package/dist/ui-library/p-189602e4.entry.js +2 -0
  498. package/dist/ui-library/p-189602e4.entry.js.map +1 -0
  499. package/dist/ui-library/p-19560508.entry.js +2 -0
  500. package/dist/ui-library/p-19560508.entry.js.map +1 -0
  501. package/dist/ui-library/{p-a036cc6f.entry.js → p-2386627e.entry.js} +2 -2
  502. package/dist/ui-library/p-2386627e.entry.js.map +1 -0
  503. package/dist/ui-library/p-2c25cb61.entry.js +2 -0
  504. package/dist/ui-library/p-2c25cb61.entry.js.map +1 -0
  505. package/dist/ui-library/p-3603dd96.entry.js +2 -0
  506. package/dist/ui-library/p-3603dd96.entry.js.map +1 -0
  507. package/dist/ui-library/p-39ff5f61.entry.js +2 -0
  508. package/dist/ui-library/p-39ff5f61.entry.js.map +1 -0
  509. package/dist/ui-library/{p-1b135e1c.entry.js → p-3b5a76ea.entry.js} +2 -2
  510. package/dist/ui-library/p-3b5a76ea.entry.js.map +1 -0
  511. package/dist/ui-library/p-419ed003.entry.js +2 -0
  512. package/dist/ui-library/p-419ed003.entry.js.map +1 -0
  513. package/dist/ui-library/p-45003bae.entry.js +2 -0
  514. package/dist/ui-library/p-45003bae.entry.js.map +1 -0
  515. package/dist/ui-library/{p-88767c27.entry.js → p-4963f03c.entry.js} +2 -2
  516. package/dist/ui-library/p-4963f03c.entry.js.map +1 -0
  517. package/dist/ui-library/p-4d89932f.entry.js +2 -0
  518. package/dist/ui-library/p-4d89932f.entry.js.map +1 -0
  519. package/dist/ui-library/{p-67496e8c.js → p-605bdd81.js} +2 -2
  520. package/dist/ui-library/p-63acceb6.entry.js +2 -0
  521. package/dist/ui-library/p-63acceb6.entry.js.map +1 -0
  522. package/dist/ui-library/p-651293e7.js +2 -0
  523. package/dist/ui-library/p-651293e7.js.map +1 -0
  524. package/dist/ui-library/p-6888b9ee.entry.js +2 -0
  525. package/dist/ui-library/p-6888b9ee.entry.js.map +1 -0
  526. package/dist/ui-library/{p-4a3ba956.entry.js → p-6f9153be.entry.js} +2 -2
  527. package/dist/ui-library/p-6f9153be.entry.js.map +1 -0
  528. package/dist/ui-library/p-73be87a7.entry.js +2 -0
  529. package/dist/ui-library/p-73be87a7.entry.js.map +1 -0
  530. package/dist/ui-library/p-7561b336.entry.js +2 -0
  531. package/dist/ui-library/p-7561b336.entry.js.map +1 -0
  532. package/dist/ui-library/p-7c18b8ca.entry.js +2 -0
  533. package/dist/ui-library/p-7c18b8ca.entry.js.map +1 -0
  534. package/dist/ui-library/p-82bd8781.entry.js +2 -0
  535. package/dist/ui-library/p-82bd8781.entry.js.map +1 -0
  536. package/dist/ui-library/p-89db9a8b.entry.js +2 -0
  537. package/dist/ui-library/p-89db9a8b.entry.js.map +1 -0
  538. package/dist/ui-library/{p-831517cd.entry.js → p-8f1d3461.entry.js} +2 -2
  539. package/dist/ui-library/p-8f1d3461.entry.js.map +1 -0
  540. package/dist/ui-library/{p-e340a0ad.entry.js → p-9bc1639b.entry.js} +2 -2
  541. package/dist/ui-library/p-9bc1639b.entry.js.map +1 -0
  542. package/dist/ui-library/p-9cb83369.entry.js +2 -0
  543. package/dist/ui-library/p-9cb83369.entry.js.map +1 -0
  544. package/dist/ui-library/p-a398e3eb.entry.js +2 -0
  545. package/dist/ui-library/p-a398e3eb.entry.js.map +1 -0
  546. package/dist/ui-library/p-a7e2f511.entry.js +2 -0
  547. package/dist/ui-library/p-a7e2f511.entry.js.map +1 -0
  548. package/dist/ui-library/{p-d702b6ec.entry.js → p-a8863197.entry.js} +2 -2
  549. package/dist/ui-library/p-a8863197.entry.js.map +1 -0
  550. package/dist/ui-library/p-a9e009af.entry.js +2 -0
  551. package/dist/ui-library/p-a9e009af.entry.js.map +1 -0
  552. package/dist/ui-library/{p-2132da0a.entry.js → p-ac00076d.entry.js} +2 -2
  553. package/dist/ui-library/p-ac00076d.entry.js.map +1 -0
  554. package/dist/ui-library/p-b4bc4915.entry.js +2 -0
  555. package/dist/ui-library/p-b4bc4915.entry.js.map +1 -0
  556. package/dist/ui-library/p-b5acf54d.entry.js +2 -0
  557. package/dist/ui-library/p-b5acf54d.entry.js.map +1 -0
  558. package/dist/ui-library/p-b60c20aa.entry.js +2 -0
  559. package/dist/ui-library/p-b60c20aa.entry.js.map +1 -0
  560. package/dist/ui-library/p-b60c632a.entry.js +2 -0
  561. package/dist/ui-library/p-b60c632a.entry.js.map +1 -0
  562. package/dist/ui-library/p-c1d68730.entry.js +2 -0
  563. package/dist/ui-library/p-c1d68730.entry.js.map +1 -0
  564. package/dist/ui-library/p-c35a7cef.entry.js +2 -0
  565. package/dist/ui-library/p-c35a7cef.entry.js.map +1 -0
  566. package/dist/ui-library/p-c62893e5.entry.js +2 -0
  567. package/dist/ui-library/p-c62893e5.entry.js.map +1 -0
  568. package/dist/ui-library/p-c6464bfe.entry.js +2 -0
  569. package/dist/ui-library/p-c6464bfe.entry.js.map +1 -0
  570. package/dist/ui-library/{p-8c38a7bd.entry.js → p-cf109cbf.entry.js} +2 -2
  571. package/dist/ui-library/p-cf109cbf.entry.js.map +1 -0
  572. package/dist/ui-library/p-d07b549f.entry.js +2 -0
  573. package/dist/ui-library/p-d07b549f.entry.js.map +1 -0
  574. package/dist/ui-library/{p-021f6da9.entry.js → p-d42f1ea9.entry.js} +2 -2
  575. package/dist/ui-library/p-d42f1ea9.entry.js.map +1 -0
  576. package/dist/ui-library/p-e1255160.js +2 -0
  577. package/dist/ui-library/p-e1255160.js.map +1 -0
  578. package/dist/ui-library/p-fe37dadf.entry.js +2 -0
  579. package/dist/ui-library/p-fe37dadf.entry.js.map +1 -0
  580. package/dist/ui-library/p-fe89a7c4.entry.js +2 -0
  581. package/dist/ui-library/p-fe89a7c4.entry.js.map +1 -0
  582. package/dist/ui-library/p-ff2339a6.entry.js +2 -0
  583. package/dist/ui-library/p-ff2339a6.entry.js.map +1 -0
  584. package/dist/ui-library/ui-library.esm.js +1 -1
  585. package/dist/ui-library/ui-library.esm.js.map +1 -1
  586. package/package.json +6 -6
  587. package/dist/cjs/index-5dd19c4b.js.map +0 -1
  588. package/dist/cjs/modal-3ce015be.js.map +0 -1
  589. package/dist/cjs/set-attributes_2.cjs.entry.js +0 -73
  590. package/dist/cjs/set-attributes_2.cjs.entry.js.map +0 -1
  591. package/dist/collection/utils/support.js +0 -16
  592. package/dist/collection/utils/support.js.map +0 -1
  593. package/dist/collection/wrappers/set-attributes/set-attributes.js +0 -74
  594. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +0 -1
  595. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js +0 -16
  596. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js.map +0 -1
  597. package/dist/components/set-attributes.d.ts +0 -11
  598. package/dist/components/set-attributes.js +0 -8
  599. package/dist/components/set-attributes.js.map +0 -1
  600. package/dist/components/set-attributes2.js +0 -73
  601. package/dist/components/set-attributes2.js.map +0 -1
  602. package/dist/esm/index-6c10d50b.js.map +0 -1
  603. package/dist/esm/modal-96526245.js.map +0 -1
  604. package/dist/esm/set-attributes_2.entry.js +0 -68
  605. package/dist/esm/set-attributes_2.entry.js.map +0 -1
  606. package/dist/types/utils/support.d.ts +0 -1
  607. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +0 -9
  608. package/dist/ui-library/p-01ae4500.entry.js +0 -2
  609. package/dist/ui-library/p-01ae4500.entry.js.map +0 -1
  610. package/dist/ui-library/p-021f6da9.entry.js.map +0 -1
  611. package/dist/ui-library/p-0274c52c.entry.js +0 -2
  612. package/dist/ui-library/p-0274c52c.entry.js.map +0 -1
  613. package/dist/ui-library/p-0cb135aa.entry.js +0 -2
  614. package/dist/ui-library/p-0cb135aa.entry.js.map +0 -1
  615. package/dist/ui-library/p-1431a2a8.entry.js.map +0 -1
  616. package/dist/ui-library/p-1aa28025.entry.js +0 -2
  617. package/dist/ui-library/p-1aa28025.entry.js.map +0 -1
  618. package/dist/ui-library/p-1b135e1c.entry.js.map +0 -1
  619. package/dist/ui-library/p-1be990f9.entry.js +0 -2
  620. package/dist/ui-library/p-1be990f9.entry.js.map +0 -1
  621. package/dist/ui-library/p-2008636b.entry.js +0 -2
  622. package/dist/ui-library/p-2008636b.entry.js.map +0 -1
  623. package/dist/ui-library/p-2132da0a.entry.js.map +0 -1
  624. package/dist/ui-library/p-2cd674e0.entry.js.map +0 -1
  625. package/dist/ui-library/p-2d86ba99.entry.js +0 -2
  626. package/dist/ui-library/p-2d86ba99.entry.js.map +0 -1
  627. package/dist/ui-library/p-31a4a74c.entry.js +0 -2
  628. package/dist/ui-library/p-31a4a74c.entry.js.map +0 -1
  629. package/dist/ui-library/p-391f10f1.entry.js +0 -2
  630. package/dist/ui-library/p-391f10f1.entry.js.map +0 -1
  631. package/dist/ui-library/p-3dd28dc0.entry.js +0 -2
  632. package/dist/ui-library/p-3dd28dc0.entry.js.map +0 -1
  633. package/dist/ui-library/p-46ee280d.entry.js +0 -2
  634. package/dist/ui-library/p-46ee280d.entry.js.map +0 -1
  635. package/dist/ui-library/p-4752a63c.entry.js +0 -2
  636. package/dist/ui-library/p-4752a63c.entry.js.map +0 -1
  637. package/dist/ui-library/p-4772a9d3.entry.js +0 -2
  638. package/dist/ui-library/p-4772a9d3.entry.js.map +0 -1
  639. package/dist/ui-library/p-4a3ba956.entry.js.map +0 -1
  640. package/dist/ui-library/p-4b154936.entry.js +0 -2
  641. package/dist/ui-library/p-4b154936.entry.js.map +0 -1
  642. package/dist/ui-library/p-5a5f6869.entry.js +0 -2
  643. package/dist/ui-library/p-5a5f6869.entry.js.map +0 -1
  644. package/dist/ui-library/p-621c2742.entry.js +0 -2
  645. package/dist/ui-library/p-621c2742.entry.js.map +0 -1
  646. package/dist/ui-library/p-65778e3d.entry.js +0 -2
  647. package/dist/ui-library/p-65778e3d.entry.js.map +0 -1
  648. package/dist/ui-library/p-66cd3b0c.entry.js +0 -2
  649. package/dist/ui-library/p-66cd3b0c.entry.js.map +0 -1
  650. package/dist/ui-library/p-78529c8c.entry.js +0 -2
  651. package/dist/ui-library/p-78529c8c.entry.js.map +0 -1
  652. package/dist/ui-library/p-7eb592a8.entry.js +0 -2
  653. package/dist/ui-library/p-7eb592a8.entry.js.map +0 -1
  654. package/dist/ui-library/p-831517cd.entry.js.map +0 -1
  655. package/dist/ui-library/p-87e197ee.entry.js +0 -2
  656. package/dist/ui-library/p-87e197ee.entry.js.map +0 -1
  657. package/dist/ui-library/p-88767c27.entry.js.map +0 -1
  658. package/dist/ui-library/p-8c38a7bd.entry.js.map +0 -1
  659. package/dist/ui-library/p-943ce0f2.entry.js +0 -2
  660. package/dist/ui-library/p-943ce0f2.entry.js.map +0 -1
  661. package/dist/ui-library/p-979eabb5.entry.js +0 -2
  662. package/dist/ui-library/p-979eabb5.entry.js.map +0 -1
  663. package/dist/ui-library/p-98ce9502.entry.js +0 -2
  664. package/dist/ui-library/p-98ce9502.entry.js.map +0 -1
  665. package/dist/ui-library/p-998de05d.js +0 -2
  666. package/dist/ui-library/p-998de05d.js.map +0 -1
  667. package/dist/ui-library/p-a036cc6f.entry.js.map +0 -1
  668. package/dist/ui-library/p-a29f6a0e.entry.js +0 -2
  669. package/dist/ui-library/p-a29f6a0e.entry.js.map +0 -1
  670. package/dist/ui-library/p-a3fd8c74.entry.js +0 -2
  671. package/dist/ui-library/p-a3fd8c74.entry.js.map +0 -1
  672. package/dist/ui-library/p-a919b557.entry.js +0 -2
  673. package/dist/ui-library/p-a919b557.entry.js.map +0 -1
  674. package/dist/ui-library/p-ace4ec84.entry.js +0 -2
  675. package/dist/ui-library/p-ace4ec84.entry.js.map +0 -1
  676. package/dist/ui-library/p-adf5a4da.entry.js +0 -2
  677. package/dist/ui-library/p-adf5a4da.entry.js.map +0 -1
  678. package/dist/ui-library/p-b5f844f7.entry.js +0 -2
  679. package/dist/ui-library/p-b5f844f7.entry.js.map +0 -1
  680. package/dist/ui-library/p-b8ea574b.entry.js +0 -2
  681. package/dist/ui-library/p-b8ea574b.entry.js.map +0 -1
  682. package/dist/ui-library/p-bff679fa.entry.js +0 -2
  683. package/dist/ui-library/p-bff679fa.entry.js.map +0 -1
  684. package/dist/ui-library/p-ca63a6fa.js +0 -3
  685. package/dist/ui-library/p-ca63a6fa.js.map +0 -1
  686. package/dist/ui-library/p-d221d86a.entry.js +0 -2
  687. package/dist/ui-library/p-d221d86a.entry.js.map +0 -1
  688. package/dist/ui-library/p-d702b6ec.entry.js.map +0 -1
  689. package/dist/ui-library/p-db9d2fde.entry.js +0 -2
  690. package/dist/ui-library/p-db9d2fde.entry.js.map +0 -1
  691. package/dist/ui-library/p-e0dd0307.entry.js +0 -2
  692. package/dist/ui-library/p-e0dd0307.entry.js.map +0 -1
  693. package/dist/ui-library/p-e340a0ad.entry.js.map +0 -1
  694. package/dist/ui-library/p-f640731b.entry.js +0 -2
  695. package/dist/ui-library/p-f640731b.entry.js.map +0 -1
  696. package/dist/ui-library/p-fce214eb.entry.js +0 -2
  697. package/dist/ui-library/p-fce214eb.entry.js.map +0 -1
  698. package/dist/ui-library/p-fe87f64b.entry.js +0 -2
  699. package/dist/ui-library/p-fe87f64b.entry.js.map +0 -1
  700. /package/dist/ui-library/{p-67496e8c.js.map → p-605bdd81.js.map} +0 -0
@@ -1,13 +1,26 @@
1
1
  import { h } from "@stencil/core";
2
+ import { hasSlot } from "../../utils/slot";
2
3
  /**
3
4
  * @since 2.0.0
4
5
  * @status experimental
5
6
  *
7
+ * @slot error-text - Error text that is shown when the status is set to invalid. Alternatively, you can use the error-text prop.
6
8
  */
7
9
  export class SixFileUpload {
8
10
  constructor() {
11
+ this.handleSlotChange = () => {
12
+ let validType = false;
13
+ if (this.errorText != null &&
14
+ ((typeof this.errorText == 'string' && this.errorText.trim().length > 0) ||
15
+ (typeof this.errorText == 'object' && this.errorText.length > 0))) {
16
+ validType = true;
17
+ }
18
+ this.hasError = validType || hasSlot(this.host, 'error-text');
19
+ console.log(this.errorText);
20
+ console.log(this.hasError);
21
+ };
9
22
  this.handleFiles = (files) => {
10
- if (this.disabled || files.length === 0) {
23
+ if (this.disabled || files.length === 0 || this.uploading) {
11
24
  return;
12
25
  }
13
26
  if (!this.multiple && files.length > 1) {
@@ -42,12 +55,16 @@ export class SixFileUpload {
42
55
  }
43
56
  };
44
57
  this.isOver = false;
58
+ this.hasError = false;
45
59
  this.compact = false;
46
60
  this.label = undefined;
47
61
  this.disabled = false;
48
62
  this.accept = undefined;
49
63
  this.multiple = false;
50
64
  this.maxFileSize = undefined;
65
+ this.uploading = false;
66
+ this.errorText = '';
67
+ this.invalid = false;
51
68
  }
52
69
  dragenterHandler() {
53
70
  if (!this.disabled) {
@@ -72,17 +89,24 @@ export class SixFileUpload {
72
89
  }
73
90
  }
74
91
  }
92
+ componentWillLoad() {
93
+ this.handleSlotChange();
94
+ }
75
95
  componentDidLoad() {
96
+ var _a;
76
97
  ['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => {
77
98
  this.host.addEventListener(eventName, this.preventDefaults, false);
78
99
  document.body.addEventListener(eventName, this.preventDefaults, false);
79
100
  });
101
+ (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.addEventListener('slotchange', this.handleSlotChange);
80
102
  }
81
103
  disconnectedCallback() {
104
+ var _a;
82
105
  ['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => {
83
106
  this.host.removeEventListener(eventName, this.preventDefaults, false);
84
107
  document.body.removeEventListener(eventName, this.preventDefaults, false);
85
108
  });
109
+ (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.removeEventListener('slotchange', this.handleSlotChange);
86
110
  }
87
111
  preventDefaults(e) {
88
112
  e.preventDefault();
@@ -94,17 +118,18 @@ export class SixFileUpload {
94
118
  }
95
119
  render() {
96
120
  const Container = this.compact ? 'six-button' : 'six-card';
97
- return (h("div", { class: {
121
+ const errorMessages = (Array.isArray(this.errorText) ? this.errorText : [this.errorText]).filter((text) => text != null && text.trim() !== '');
122
+ return (h("div", { key: 'aeaeba82e5419d410bb070edc4c14e99658a2024', class: {
98
123
  'six-file-upload': true,
99
- 'six-file-upload--disabled': this.disabled,
100
- } }, h(Container, { class: {
124
+ 'six-file-upload--disabled': this.disabled || this.uploading,
125
+ } }, h(Container, { key: '18a2c76f6c1cc07d6a8d69f17fa55df61bcfc486', disabled: this.disabled || this.uploading, "aria-invalid": this.invalid ? 'true' : 'false', class: {
101
126
  'six-file-upload__container--compact': this.compact,
102
127
  'six-file-upload__container--full': !this.compact,
103
- } }, this.compact && (h("span", { slot: "prefix" }, h("six-icon", { class: "six-file-upload__label-icon" }, "arrow_circle_up"))), h("div", { class: {
128
+ } }, this.compact && !this.uploading && (h("span", { slot: "prefix" }, h("six-icon", { class: "six-file-upload__label-icon" }, "arrow_circle_up"))), h("div", { key: '1c4dee810b517670842708c438e280897b80c32a', class: {
104
129
  'six-file-upload__drop-zone': true,
105
130
  'six-file-upload__drop-zone--hover': this.isOver,
106
131
  'six-file-upload__drop-zone--compact': this.compact,
107
- } }, h("span", null, this.renderLabel()), h("input", { class: "six-file-upload__input", type: "file", name: "resume", disabled: this.disabled, accept: this.accept, multiple: this.multiple, onChange: this.onChange, ref: (el) => (this.fileInput = el) })))));
132
+ } }, this.uploading ? (h("span", { class: "six-file-upload__drop-zone__spinner-container" }, h("six-spinner", null), " Uploading...")) : (h("div", null, h("span", null, this.renderLabel()), h("input", { class: "six-file-upload__input", type: "file", name: "resume", disabled: this.disabled, accept: this.accept, multiple: this.multiple, onChange: this.onChange, ref: (el) => (this.fileInput = el) }))))), h("div", { key: '4d8524acc6ab4b919ab8ed469b16d11268ed9994', "aria-hidden": this.invalid ? 'false' : 'true' }, h("slot", { key: '8b104ee4a3feb6c5db255157a5530deeec5dec3d', name: "error-text" }, errorMessages.map((text) => (h("six-error", null, h("div", { class: "six-file-upload__error-text" }, text))))))));
108
133
  }
109
134
  static get is() { return "six-file-upload"; }
110
135
  static get encapsulation() { return "scoped"; }
@@ -224,12 +249,67 @@ export class SixFileUpload {
224
249
  },
225
250
  "attribute": "max-file-size",
226
251
  "reflect": false
252
+ },
253
+ "uploading": {
254
+ "type": "boolean",
255
+ "mutable": false,
256
+ "complexType": {
257
+ "original": "boolean",
258
+ "resolved": "boolean",
259
+ "references": {}
260
+ },
261
+ "required": false,
262
+ "optional": false,
263
+ "docs": {
264
+ "tags": [],
265
+ "text": "Set to true to draw the control in a loading state."
266
+ },
267
+ "attribute": "uploading",
268
+ "reflect": true,
269
+ "defaultValue": "false"
270
+ },
271
+ "errorText": {
272
+ "type": "string",
273
+ "mutable": false,
274
+ "complexType": {
275
+ "original": "string | string[]",
276
+ "resolved": "string | string[]",
277
+ "references": {}
278
+ },
279
+ "required": false,
280
+ "optional": false,
281
+ "docs": {
282
+ "tags": [],
283
+ "text": "The error message shown, if `invalid` is set to true."
284
+ },
285
+ "attribute": "error-text",
286
+ "reflect": false,
287
+ "defaultValue": "''"
288
+ },
289
+ "invalid": {
290
+ "type": "boolean",
291
+ "mutable": false,
292
+ "complexType": {
293
+ "original": "boolean",
294
+ "resolved": "boolean",
295
+ "references": {}
296
+ },
297
+ "required": false,
298
+ "optional": false,
299
+ "docs": {
300
+ "tags": [],
301
+ "text": "If this property is set to true and an error message is provided by `errorText`, the error message is displayed."
302
+ },
303
+ "attribute": "invalid",
304
+ "reflect": true,
305
+ "defaultValue": "false"
227
306
  }
228
307
  };
229
308
  }
230
309
  static get states() {
231
310
  return {
232
- "isOver": {}
311
+ "isOver": {},
312
+ "hasError": {}
233
313
  };
234
314
  }
235
315
  static get events() {
@@ -1 +1 @@
1
- {"version":3,"file":"six-file-upload.js","sourceRoot":"","sources":["../../../src/components/six-file-upload/six-file-upload.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Listen, Prop, State } from '@stencil/core';\n\ninterface ISingleFile {\n file: File;\n}\n\ninterface IMultipleFiles {\n files: FileList;\n}\n\nexport type SixFileUploadSuccessPayload = ISingleFile | IMultipleFiles;\n\nexport interface SixFileUploadFailurePayload {\n reason: string;\n}\n\n/**\n * @since 2.0.0\n * @status experimental\n *\n */\n@Component({\n tag: 'six-file-upload',\n styleUrl: 'six-file-upload.scss',\n scoped: true,\n shadow: false,\n})\nexport class SixFileUpload {\n @Element() readonly host!: HTMLSixFileUploadElement;\n\n private fileInput?: HTMLInputElement;\n\n @State() isOver = false;\n\n /** Set to true if file control should be small. */\n @Prop() readonly compact: boolean = false;\n\n /** Label of the drop area. */\n @Prop() readonly label?: string;\n\n /** Set when button is disabled. */\n @Prop() readonly disabled = false;\n\n /** Accepted MIME-Types. */\n @Prop() readonly accept?: string;\n\n /** More than one file allowed. */\n @Prop() readonly multiple = false;\n\n /** Allowed max file size in bytes. */\n @Prop() readonly maxFileSize?: number;\n\n /** Triggers when a file is added. */\n @Event({ eventName: 'six-file-upload-success' }) success!: EventEmitter<SixFileUploadSuccessPayload>;\n\n /** Triggers when an uploaded file doesn't match MIME type or max file size. */\n @Event({ eventName: 'six-file-upload-failure' }) failure!: EventEmitter<SixFileUploadFailurePayload>;\n\n @Listen('dragenter', { capture: false })\n dragenterHandler() {\n if (!this.disabled) {\n this.isOver = true;\n }\n }\n\n @Listen('dragover', { capture: false })\n dragoverHandler() {\n if (!this.disabled) {\n this.isOver = true;\n }\n }\n\n @Listen('dragleave', { capture: false })\n dragleaveHandler() {\n if (!this.disabled) {\n this.isOver = false;\n }\n }\n\n @Listen('drop', { capture: false })\n dropHandler({ dataTransfer }: DragEvent) {\n if (!this.disabled) {\n this.isOver = false;\n if (dataTransfer != null) {\n this.handleFiles(dataTransfer.files);\n }\n }\n }\n\n private handleFiles = (files: FileList) => {\n if (this.disabled || files.length === 0) {\n return;\n }\n\n if (!this.multiple && files.length > 1) {\n return this.failure.emit({ reason: 'Only one file is allowed.' });\n }\n\n for (const file of files) {\n if (file == null) {\n return;\n }\n\n let acceptedTypesList: string[] = [];\n if (this.accept != null) {\n acceptedTypesList = this.accept.replace(/\\s/g, '').split(',');\n }\n\n if (acceptedTypesList.length > 0 && acceptedTypesList.indexOf(file.type) === -1) {\n const reason = files.length > 1 ? 'One or more files have invalid MIME type.' : 'File has invalid MIME type.';\n return this.failure.emit({ reason });\n }\n\n if (this.maxFileSize != null && file.size > this.maxFileSize) {\n const reason = files.length > 1 ? 'One or more files are too big' : 'File is too big.';\n return this.failure.emit({ reason });\n }\n }\n\n const eventPayload: SixFileUploadSuccessPayload = this.multiple ? { files } : { file: files[0] };\n this.success.emit(eventPayload);\n };\n\n componentDidLoad() {\n ['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => {\n this.host.addEventListener(eventName, this.preventDefaults, false);\n document.body.addEventListener(eventName, this.preventDefaults, false);\n });\n }\n\n disconnectedCallback() {\n ['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => {\n this.host.removeEventListener(eventName, this.preventDefaults, false);\n document.body.removeEventListener(eventName, this.preventDefaults, false);\n });\n }\n\n private preventDefaults(e: Event) {\n e.preventDefault();\n e.stopPropagation();\n }\n\n private onChange = () => {\n if (this.fileInput?.files != null) {\n const files = this.fileInput.files;\n this.handleFiles(files);\n this.fileInput.value = '';\n }\n };\n\n private renderLabel() {\n return (\n this.label ??\n (this.compact ? (\n 'Upload'\n ) : (\n <span>\n Drop files to upload, or <span class=\"six-file-upload__label--highlighted\">browse</span>\n </span>\n ))\n );\n }\n\n render() {\n const Container = this.compact ? 'six-button' : 'six-card';\n\n return (\n <div\n class={{\n 'six-file-upload': true,\n 'six-file-upload--disabled': this.disabled,\n }}\n >\n <Container\n class={{\n 'six-file-upload__container--compact': this.compact,\n 'six-file-upload__container--full': !this.compact,\n }}\n >\n {this.compact && (\n <span slot=\"prefix\">\n <six-icon class=\"six-file-upload__label-icon\">arrow_circle_up</six-icon>\n </span>\n )}\n <div\n class={{\n 'six-file-upload__drop-zone': true,\n 'six-file-upload__drop-zone--hover': this.isOver,\n 'six-file-upload__drop-zone--compact': this.compact,\n }}\n >\n <span>{this.renderLabel()}</span>\n <input\n class=\"six-file-upload__input\"\n type=\"file\"\n name=\"resume\"\n disabled={this.disabled}\n accept={this.accept}\n multiple={this.multiple}\n onChange={this.onChange}\n ref={(el) => (this.fileInput = el)}\n />\n </div>\n </Container>\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"six-file-upload.js","sourceRoot":"","sources":["../../../src/components/six-file-upload/six-file-upload.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Listen, Prop, State } from '@stencil/core';\nimport { hasSlot } from '../../utils/slot';\n\ninterface ISingleFile {\n file: File;\n}\n\ninterface IMultipleFiles {\n files: FileList;\n}\n\nexport type SixFileUploadSuccessPayload = ISingleFile | IMultipleFiles;\n\nexport interface SixFileUploadFailurePayload {\n reason: string;\n}\n\n/**\n * @since 2.0.0\n * @status experimental\n *\n * @slot error-text - Error text that is shown when the status is set to invalid. Alternatively, you can use the error-text prop.\n */\n@Component({\n tag: 'six-file-upload',\n styleUrl: 'six-file-upload.scss',\n scoped: true,\n shadow: false,\n})\nexport class SixFileUpload {\n @Element() readonly host!: HTMLSixFileUploadElement;\n\n private fileInput?: HTMLInputElement;\n\n @State() isOver = false;\n @State() hasError = false;\n\n /** Set to true if file control should be small. */\n @Prop() readonly compact: boolean = false;\n\n /** Label of the drop area. */\n @Prop() readonly label?: string;\n\n /** Set when button is disabled. */\n @Prop() readonly disabled = false;\n\n /** Accepted MIME-Types. */\n @Prop() readonly accept?: string;\n\n /** More than one file allowed. */\n @Prop() readonly multiple = false;\n\n /** Allowed max file size in bytes. */\n @Prop() readonly maxFileSize?: number;\n\n /** Set to true to draw the control in a loading state. */\n @Prop({ reflect: true }) uploading = false;\n\n /** The error message shown, if `invalid` is set to true. */\n @Prop() errorText: string | string[] = '';\n\n /** If this property is set to true and an error message is provided by `errorText`, the error message is displayed. */\n @Prop({ reflect: true }) invalid = false;\n\n /** Triggers when a file is added. */\n @Event({ eventName: 'six-file-upload-success' }) success!: EventEmitter<SixFileUploadSuccessPayload>;\n\n /** Triggers when an uploaded file doesn't match MIME type or max file size. */\n @Event({ eventName: 'six-file-upload-failure' }) failure!: EventEmitter<SixFileUploadFailurePayload>;\n\n @Listen('dragenter', { capture: false })\n dragenterHandler() {\n if (!this.disabled) {\n this.isOver = true;\n }\n }\n\n @Listen('dragover', { capture: false })\n dragoverHandler() {\n if (!this.disabled) {\n this.isOver = true;\n }\n }\n\n @Listen('dragleave', { capture: false })\n dragleaveHandler() {\n if (!this.disabled) {\n this.isOver = false;\n }\n }\n\n @Listen('drop', { capture: false })\n dropHandler({ dataTransfer }: DragEvent) {\n if (!this.disabled) {\n this.isOver = false;\n if (dataTransfer != null) {\n this.handleFiles(dataTransfer.files);\n }\n }\n }\n\n private handleSlotChange = () => {\n let validType = false;\n\n if (\n this.errorText != null &&\n ((typeof this.errorText == 'string' && this.errorText.trim().length > 0) ||\n (typeof this.errorText == 'object' && this.errorText.length > 0))\n ) {\n validType = true;\n }\n\n this.hasError = validType || hasSlot(this.host, 'error-text');\n console.log(this.errorText);\n console.log(this.hasError);\n };\n\n private handleFiles = (files: FileList) => {\n if (this.disabled || files.length === 0 || this.uploading) {\n return;\n }\n\n if (!this.multiple && files.length > 1) {\n return this.failure.emit({ reason: 'Only one file is allowed.' });\n }\n\n for (const file of files) {\n if (file == null) {\n return;\n }\n\n let acceptedTypesList: string[] = [];\n if (this.accept != null) {\n acceptedTypesList = this.accept.replace(/\\s/g, '').split(',');\n }\n\n if (acceptedTypesList.length > 0 && acceptedTypesList.indexOf(file.type) === -1) {\n const reason = files.length > 1 ? 'One or more files have invalid MIME type.' : 'File has invalid MIME type.';\n return this.failure.emit({ reason });\n }\n\n if (this.maxFileSize != null && file.size > this.maxFileSize) {\n const reason = files.length > 1 ? 'One or more files are too big' : 'File is too big.';\n return this.failure.emit({ reason });\n }\n }\n\n const eventPayload: SixFileUploadSuccessPayload = this.multiple ? { files } : { file: files[0] };\n this.success.emit(eventPayload);\n };\n\n componentWillLoad() {\n this.handleSlotChange();\n }\n\n componentDidLoad() {\n ['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => {\n this.host.addEventListener(eventName, this.preventDefaults, false);\n document.body.addEventListener(eventName, this.preventDefaults, false);\n });\n this.host.shadowRoot?.addEventListener('slotchange', this.handleSlotChange);\n }\n\n disconnectedCallback() {\n ['dragenter', 'dragover', 'dragleave', 'drop'].forEach((eventName) => {\n this.host.removeEventListener(eventName, this.preventDefaults, false);\n document.body.removeEventListener(eventName, this.preventDefaults, false);\n });\n this.host.shadowRoot?.removeEventListener('slotchange', this.handleSlotChange);\n }\n\n private preventDefaults(e: Event) {\n e.preventDefault();\n e.stopPropagation();\n }\n\n private onChange = () => {\n if (this.fileInput?.files != null) {\n const files = this.fileInput.files;\n this.handleFiles(files);\n this.fileInput.value = '';\n }\n };\n\n private renderLabel() {\n return (\n this.label ??\n (this.compact ? (\n 'Upload'\n ) : (\n <span>\n Drop files to upload, or <span class=\"six-file-upload__label--highlighted\">browse</span>\n </span>\n ))\n );\n }\n\n render() {\n const Container = this.compact ? 'six-button' : 'six-card';\n\n const errorMessages = (Array.isArray(this.errorText) ? this.errorText : [this.errorText]).filter(\n (text) => text != null && text.trim() !== ''\n );\n\n return (\n <div\n class={{\n 'six-file-upload': true,\n 'six-file-upload--disabled': this.disabled || this.uploading,\n }}\n >\n <Container\n disabled={this.disabled || this.uploading}\n aria-invalid={this.invalid ? 'true' : 'false'}\n class={{\n 'six-file-upload__container--compact': this.compact,\n 'six-file-upload__container--full': !this.compact,\n }}\n >\n {this.compact && !this.uploading && (\n <span slot=\"prefix\">\n <six-icon class=\"six-file-upload__label-icon\">arrow_circle_up</six-icon>\n </span>\n )}\n <div\n class={{\n 'six-file-upload__drop-zone': true,\n 'six-file-upload__drop-zone--hover': this.isOver,\n 'six-file-upload__drop-zone--compact': this.compact,\n }}\n >\n {this.uploading ? (\n <span class=\"six-file-upload__drop-zone__spinner-container\">\n <six-spinner /> Uploading...\n </span>\n ) : (\n <div>\n <span>{this.renderLabel()}</span>\n <input\n class=\"six-file-upload__input\"\n type=\"file\"\n name=\"resume\"\n disabled={this.disabled}\n accept={this.accept}\n multiple={this.multiple}\n onChange={this.onChange}\n ref={(el) => (this.fileInput = el)}\n />\n </div>\n )}\n </div>\n </Container>\n <div aria-hidden={this.invalid ? 'false' : 'true'}>\n <slot name=\"error-text\">\n {errorMessages.map((text) => (\n <six-error>\n <div class=\"six-file-upload__error-text\">{text}</div>\n </six-error>\n ))}\n </slot>\n </div>\n </div>\n );\n }\n}\n"]}
@@ -12,19 +12,22 @@ describe('six-file-upload', () => {
12
12
  expect(page.root).toEqualHtml(`
13
13
  <six-file-upload>
14
14
  <div class="six-file-upload">
15
- <six-card class="six-file-upload__container--full">
15
+ <six-card aria-invalid="false" class="six-file-upload__container--full">
16
16
  <div class="six-file-upload__drop-zone">
17
- <span>
17
+ <div>
18
18
  <span>
19
- Drop files to upload, or
20
- <span class="six-file-upload__label--highlighted">
21
- browse
19
+ <span>
20
+ Drop files to upload, or
21
+ <span class="six-file-upload__label--highlighted">
22
+ browse
23
+ </span>
22
24
  </span>
23
25
  </span>
24
- </span>
25
- <input class="six-file-upload__input" name="resume" type="file">
26
+ <input class="six-file-upload__input" name="resume" type="file">
27
+ </div>
26
28
  </div>
27
29
  </six-card>
30
+ <div aria-hidden="true"></div>
28
31
  </div>
29
32
  </six-file-upload>
30
33
  `);
@@ -37,14 +40,17 @@ describe('six-file-upload', () => {
37
40
  expect(page.root).toEqualHtml(`
38
41
  <six-file-upload label="some custom label">
39
42
  <div class="six-file-upload">
40
- <six-card class="six-file-upload__container--full">
43
+ <six-card aria-invalid="false" class="six-file-upload__container--full">
41
44
  <div class="six-file-upload__drop-zone">
42
- <span>
43
- some custom label
44
- </span>
45
- <input class="six-file-upload__input" name="resume" type="file">
45
+ <div>
46
+ <span>
47
+ some custom label
48
+ </span>
49
+ <input class="six-file-upload__input" name="resume" type="file">
50
+ </div>
46
51
  </div>
47
52
  </six-card>
53
+ <div aria-hidden="true"></div>
48
54
  </div>
49
55
  </six-file-upload>
50
56
  `);
@@ -57,19 +63,22 @@ describe('six-file-upload', () => {
57
63
  expect(page.root).toEqualHtml(`
58
64
  <six-file-upload disabled="">
59
65
  <div class="six-file-upload six-file-upload--disabled">
60
- <six-card class="six-file-upload__container--full">
66
+ <six-card aria-invalid="false" class="six-file-upload__container--full" disabled="">
61
67
  <div class="six-file-upload__drop-zone">
62
- <span>
68
+ <div>
63
69
  <span>
64
- Drop files to upload, or
65
- <span class="six-file-upload__label--highlighted">
66
- browse
70
+ <span>
71
+ Drop files to upload, or
72
+ <span class="six-file-upload__label--highlighted">
73
+ browse
74
+ </span>
67
75
  </span>
68
76
  </span>
69
- </span>
70
- <input class="six-file-upload__input" disabled="" name="resume" type="file">
77
+ <input class="six-file-upload__input" disabled="" name="resume" type="file">
78
+ </div>
71
79
  </div>
72
80
  </six-card>
81
+ <div aria-hidden="true"></div>
73
82
  </div>
74
83
  </six-file-upload>
75
84
  `);
@@ -82,19 +91,173 @@ describe('six-file-upload', () => {
82
91
  expect(page.root).toEqualHtml(`
83
92
  <six-file-upload compact="">
84
93
  <div class="six-file-upload">
85
- <six-button class="six-file-upload__container--compact">
94
+ <six-button aria-invalid="false" class="six-file-upload__container--compact">
86
95
  <span slot="prefix">
87
96
  <six-icon class="six-file-upload__label-icon">
88
97
  arrow_circle_up
89
98
  </six-icon>
90
99
  </span>
91
100
  <div class="six-file-upload__drop-zone six-file-upload__drop-zone--compact">
92
- <span>
93
- Upload
94
- </span>
95
- <input class="six-file-upload__input" name="resume" type="file">
101
+ <div>
102
+ <span>
103
+ Upload
104
+ </span>
105
+ <input class="six-file-upload__input" name="resume" type="file">
106
+ </div>
107
+ </div>
108
+ </six-button>
109
+ <div aria-hidden="true"></div>
110
+ </div>
111
+ </six-file-upload>
112
+ `);
113
+ });
114
+ it('renders compact and disabled', async () => {
115
+ const page = await newSpecPage({
116
+ components: [SixFileUpload],
117
+ html: `<six-file-upload compact disabled></six-file-upload>`,
118
+ });
119
+ expect(page.root).toEqualHtml(`
120
+ <six-file-upload compact="" disabled="">
121
+ <div class="six-file-upload six-file-upload--disabled">
122
+ <six-button aria-invalid="false" class="six-file-upload__container--compact" disabled="">
123
+ <span slot="prefix">
124
+ <six-icon class="six-file-upload__label-icon">
125
+ arrow_circle_up
126
+ </six-icon>
127
+ </span>
128
+ <div class="six-file-upload__drop-zone six-file-upload__drop-zone--compact">
129
+ <div>
130
+ <span>
131
+ Upload
132
+ </span>
133
+ <input class="six-file-upload__input" disabled="" name="resume" type="file">
134
+ </div>
96
135
  </div>
97
136
  </six-button>
137
+ <div aria-hidden="true"></div>
138
+ </div>
139
+ </six-file-upload>
140
+ `);
141
+ });
142
+ it('renders uploading', async () => {
143
+ const page = await newSpecPage({
144
+ components: [SixFileUpload],
145
+ html: `<six-file-upload uploading></six-file-upload>`,
146
+ });
147
+ expect(page.root).toEqualHtml(`
148
+ <six-file-upload uploading="">
149
+ <div class="six-file-upload six-file-upload--disabled">
150
+ <six-card aria-invalid="false" class="six-file-upload__container--full" disabled="">
151
+ <div class="six-file-upload__drop-zone">
152
+ <span class="six-file-upload__drop-zone__spinner-container">
153
+ <six-spinner></six-spinner>
154
+ Uploading...
155
+ </span>
156
+ </div>
157
+ </six-card>
158
+ <div aria-hidden="true"></div>
159
+ </div>
160
+ </six-file-upload>
161
+ `);
162
+ });
163
+ it('renders invalid', async () => {
164
+ const page = await newSpecPage({
165
+ components: [SixFileUpload],
166
+ html: `<six-file-upload invalid error-text="error message"></six-file-upload>`,
167
+ });
168
+ expect(page.root).toEqualHtml(`
169
+ <six-file-upload invalid error-text="error message">
170
+ <div class="six-file-upload">
171
+ <six-card aria-invalid="true" class="six-file-upload__container--full">
172
+ <div class="six-file-upload__drop-zone">
173
+ <div>
174
+ <span>
175
+ <span>
176
+ Drop files to upload, or
177
+ <span class="six-file-upload__label--highlighted">
178
+ browse
179
+ </span>
180
+ </span>
181
+ </span>
182
+ <input class="six-file-upload__input" name="resume" type="file">
183
+ </div>
184
+ </div>
185
+ </six-card>
186
+ <div aria-hidden="false">
187
+ <slot-fb name="error-text">
188
+ <six-error>
189
+ <div class="six-file-upload__error-text">error message</div>
190
+ </six-error>
191
+ </slot-fb>
192
+ </div>
193
+ </div>
194
+ </six-file-upload>
195
+ `);
196
+ });
197
+ it('does not render error message if not invalid', async () => {
198
+ const page = await newSpecPage({
199
+ components: [SixFileUpload],
200
+ html: `<six-file-upload error-text="error message"></six-file-upload>`,
201
+ });
202
+ expect(page.root).toEqualHtml(`
203
+ <six-file-upload error-text="error message">
204
+ <div class="six-file-upload">
205
+ <six-card aria-invalid="false" class="six-file-upload__container--full">
206
+ <div class="six-file-upload__drop-zone">
207
+ <div>
208
+ <span>
209
+ <span>
210
+ Drop files to upload, or
211
+ <span class="six-file-upload__label--highlighted">
212
+ browse
213
+ </span>
214
+ </span>
215
+ </span>
216
+ <input class="six-file-upload__input" name="resume" type="file">
217
+ </div>
218
+ </div>
219
+ </six-card>
220
+ <div aria-hidden="true">
221
+ <slot-fb name="error-text">
222
+ <six-error>
223
+ <div class="six-file-upload__error-text">error message</div>
224
+ </six-error>
225
+ </slot-fb>
226
+ </div>
227
+ </div>
228
+ </six-file-upload>
229
+ `);
230
+ });
231
+ it('render error slot when invalid', async () => {
232
+ const page = await newSpecPage({
233
+ components: [SixFileUpload],
234
+ html: `<six-file-upload invalid><slot name="error-text"><b>bold error</b></six-file-upload>`,
235
+ });
236
+ expect(page.root).toEqualHtml(`
237
+ <six-file-upload invalid>
238
+ <slot hidden="" name="error-text">
239
+ <b>
240
+ bold error
241
+ </b>
242
+ </slot>
243
+ <div class="six-file-upload">
244
+ <six-card aria-invalid="true" class="six-file-upload__container--full">
245
+ <div class="six-file-upload__drop-zone">
246
+ <div>
247
+ <span>
248
+ <span>
249
+ Drop files to upload, or
250
+ <span class="six-file-upload__label--highlighted">
251
+ browse
252
+ </span>
253
+ </span>
254
+ </span>
255
+ <input class="six-file-upload__input" name="resume" type="file">
256
+ </div>
257
+ </div>
258
+ </six-card>
259
+ <div aria-hidden="false">
260
+ </div>
98
261
  </div>
99
262
  </six-file-upload>
100
263
  `);
@@ -1 +1 @@
1
- {"version":3,"file":"six-file-upload.spec.js","sourceRoot":"","sources":["../../../../src/components/six-file-upload/test/six-file-upload.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,qCAAqC;SAC5C,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;KAkB7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,+DAA+D;SACtE,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;KAa7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,8CAA8C;SACrD,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;KAkB7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,6CAA6C;SACpD,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;KAkB7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { SixFileUpload } from '../six-file-upload';\nimport { newSpecPage } from '@stencil/core/testing';\n\ndescribe('six-file-upload', () => {\n it('should create a component instance', () => {\n expect(new SixFileUpload()).toBeInstanceOf(SixFileUpload);\n });\n\n it('renders minimal six-file-upload', async () => {\n const page = await newSpecPage({\n components: [SixFileUpload],\n html: `<six-file-upload></six-file-upload>`,\n });\n\n expect(page.root).toEqualHtml(`\n <six-file-upload>\n <div class=\"six-file-upload\">\n <six-card class=\"six-file-upload__container--full\">\n <div class=\"six-file-upload__drop-zone\">\n <span>\n <span>\n Drop files to upload, or\n <span class=\"six-file-upload__label--highlighted\">\n browse\n </span>\n </span>\n </span>\n <input class=\"six-file-upload__input\" name=\"resume\" type=\"file\">\n </div>\n </six-card>\n </div>\n </six-file-upload>\n `);\n });\n\n it('renders custom label', async () => {\n const page = await newSpecPage({\n components: [SixFileUpload],\n html: `<six-file-upload label=\"some custom label\"></six-file-upload>`,\n });\n\n expect(page.root).toEqualHtml(`\n <six-file-upload label=\"some custom label\">\n <div class=\"six-file-upload\">\n <six-card class=\"six-file-upload__container--full\">\n <div class=\"six-file-upload__drop-zone\">\n <span>\n some custom label\n </span>\n <input class=\"six-file-upload__input\" name=\"resume\" type=\"file\">\n </div>\n </six-card>\n </div>\n </six-file-upload>\n `);\n });\n\n it('renders disabled', async () => {\n const page = await newSpecPage({\n components: [SixFileUpload],\n html: `<six-file-upload disabled></six-file-upload>`,\n });\n\n expect(page.root).toEqualHtml(`\n <six-file-upload disabled=\"\">\n <div class=\"six-file-upload six-file-upload--disabled\">\n <six-card class=\"six-file-upload__container--full\">\n <div class=\"six-file-upload__drop-zone\">\n <span>\n <span>\n Drop files to upload, or\n <span class=\"six-file-upload__label--highlighted\">\n browse\n </span>\n </span>\n </span>\n <input class=\"six-file-upload__input\" disabled=\"\" name=\"resume\" type=\"file\">\n </div>\n </six-card>\n </div>\n </six-file-upload>\n `);\n });\n\n it('renders compact', async () => {\n const page = await newSpecPage({\n components: [SixFileUpload],\n html: `<six-file-upload compact></six-file-upload>`,\n });\n\n expect(page.root).toEqualHtml(`\n <six-file-upload compact=\"\">\n <div class=\"six-file-upload\">\n <six-button class=\"six-file-upload__container--compact\">\n <span slot=\"prefix\">\n <six-icon class=\"six-file-upload__label-icon\">\n arrow_circle_up\n </six-icon>\n </span>\n <div class=\"six-file-upload__drop-zone six-file-upload__drop-zone--compact\">\n <span>\n Upload\n </span>\n <input class=\"six-file-upload__input\" name=\"resume\" type=\"file\">\n </div>\n </six-button>\n </div>\n </six-file-upload>\n `);\n });\n});\n"]}
1
+ {"version":3,"file":"six-file-upload.spec.js","sourceRoot":"","sources":["../../../../src/components/six-file-upload/test/six-file-upload.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,qCAAqC;SAC5C,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;KAqB7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,+DAA+D;SACtE,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;KAgB7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,8CAA8C;SACrD,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;KAqB7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,6CAA6C;SACpD,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;KAqB7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,sDAAsD;SAC7D,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;KAqB7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,+CAA+C;SACtD,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;KAc7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,wEAAwE;SAC/E,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2B7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,gEAAgE;SACvE,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2B7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,IAAI,EAAE,sFAAsF;SAC7F,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2B7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { SixFileUpload } from '../six-file-upload';\nimport { newSpecPage } from '@stencil/core/testing';\n\ndescribe('six-file-upload', () => {\n it('should create a component instance', () => {\n expect(new SixFileUpload()).toBeInstanceOf(SixFileUpload);\n });\n\n it('renders minimal six-file-upload', async () => {\n const page = await newSpecPage({\n components: [SixFileUpload],\n html: `<six-file-upload></six-file-upload>`,\n });\n\n expect(page.root).toEqualHtml(`\n <six-file-upload>\n <div class=\"six-file-upload\">\n <six-card aria-invalid=\"false\" class=\"six-file-upload__container--full\">\n <div class=\"six-file-upload__drop-zone\">\n <div>\n <span>\n <span>\n Drop files to upload, or\n <span class=\"six-file-upload__label--highlighted\">\n browse\n </span>\n </span>\n </span>\n <input class=\"six-file-upload__input\" name=\"resume\" type=\"file\">\n </div>\n </div>\n </six-card>\n <div aria-hidden=\"true\"></div>\n </div>\n </six-file-upload>\n `);\n });\n\n it('renders custom label', async () => {\n const page = await newSpecPage({\n components: [SixFileUpload],\n html: `<six-file-upload label=\"some custom label\"></six-file-upload>`,\n });\n\n expect(page.root).toEqualHtml(`\n <six-file-upload label=\"some custom label\">\n <div class=\"six-file-upload\">\n <six-card aria-invalid=\"false\" class=\"six-file-upload__container--full\">\n <div class=\"six-file-upload__drop-zone\">\n <div>\n <span>\n some custom label\n </span>\n <input class=\"six-file-upload__input\" name=\"resume\" type=\"file\">\n </div>\n </div>\n </six-card>\n <div aria-hidden=\"true\"></div>\n </div>\n </six-file-upload>\n `);\n });\n\n it('renders disabled', async () => {\n const page = await newSpecPage({\n components: [SixFileUpload],\n html: `<six-file-upload disabled></six-file-upload>`,\n });\n\n expect(page.root).toEqualHtml(`\n <six-file-upload disabled=\"\">\n <div class=\"six-file-upload six-file-upload--disabled\">\n <six-card aria-invalid=\"false\" class=\"six-file-upload__container--full\" disabled=\"\">\n <div class=\"six-file-upload__drop-zone\">\n <div>\n <span>\n <span>\n Drop files to upload, or\n <span class=\"six-file-upload__label--highlighted\">\n browse\n </span>\n </span>\n </span>\n <input class=\"six-file-upload__input\" disabled=\"\" name=\"resume\" type=\"file\">\n </div>\n </div>\n </six-card>\n <div aria-hidden=\"true\"></div>\n </div>\n </six-file-upload>\n `);\n });\n\n it('renders compact', async () => {\n const page = await newSpecPage({\n components: [SixFileUpload],\n html: `<six-file-upload compact></six-file-upload>`,\n });\n\n expect(page.root).toEqualHtml(`\n <six-file-upload compact=\"\">\n <div class=\"six-file-upload\">\n <six-button aria-invalid=\"false\" class=\"six-file-upload__container--compact\">\n <span slot=\"prefix\">\n <six-icon class=\"six-file-upload__label-icon\">\n arrow_circle_up\n </six-icon>\n </span>\n <div class=\"six-file-upload__drop-zone six-file-upload__drop-zone--compact\">\n <div>\n <span>\n Upload\n </span>\n <input class=\"six-file-upload__input\" name=\"resume\" type=\"file\">\n </div>\n </div>\n </six-button>\n <div aria-hidden=\"true\"></div>\n </div>\n </six-file-upload>\n `);\n });\n\n it('renders compact and disabled', async () => {\n const page = await newSpecPage({\n components: [SixFileUpload],\n html: `<six-file-upload compact disabled></six-file-upload>`,\n });\n\n expect(page.root).toEqualHtml(`\n <six-file-upload compact=\"\" disabled=\"\">\n <div class=\"six-file-upload six-file-upload--disabled\">\n <six-button aria-invalid=\"false\" class=\"six-file-upload__container--compact\" disabled=\"\">\n <span slot=\"prefix\">\n <six-icon class=\"six-file-upload__label-icon\">\n arrow_circle_up\n </six-icon>\n </span>\n <div class=\"six-file-upload__drop-zone six-file-upload__drop-zone--compact\">\n <div>\n <span>\n Upload\n </span>\n <input class=\"six-file-upload__input\" disabled=\"\" name=\"resume\" type=\"file\">\n </div>\n </div>\n </six-button>\n <div aria-hidden=\"true\"></div>\n </div>\n </six-file-upload>\n `);\n });\n\n it('renders uploading', async () => {\n const page = await newSpecPage({\n components: [SixFileUpload],\n html: `<six-file-upload uploading></six-file-upload>`,\n });\n\n expect(page.root).toEqualHtml(`\n <six-file-upload uploading=\"\">\n <div class=\"six-file-upload six-file-upload--disabled\">\n <six-card aria-invalid=\"false\" class=\"six-file-upload__container--full\" disabled=\"\">\n <div class=\"six-file-upload__drop-zone\">\n <span class=\"six-file-upload__drop-zone__spinner-container\">\n <six-spinner></six-spinner>\n Uploading...\n </span>\n </div>\n </six-card>\n <div aria-hidden=\"true\"></div>\n </div>\n </six-file-upload>\n `);\n });\n\n it('renders invalid', async () => {\n const page = await newSpecPage({\n components: [SixFileUpload],\n html: `<six-file-upload invalid error-text=\"error message\"></six-file-upload>`,\n });\n\n expect(page.root).toEqualHtml(`\n <six-file-upload invalid error-text=\"error message\">\n <div class=\"six-file-upload\">\n <six-card aria-invalid=\"true\" class=\"six-file-upload__container--full\">\n <div class=\"six-file-upload__drop-zone\">\n <div>\n <span>\n <span>\n Drop files to upload, or\n <span class=\"six-file-upload__label--highlighted\">\n browse\n </span>\n </span>\n </span>\n <input class=\"six-file-upload__input\" name=\"resume\" type=\"file\">\n </div>\n </div>\n </six-card>\n <div aria-hidden=\"false\">\n <slot-fb name=\"error-text\">\n <six-error>\n <div class=\"six-file-upload__error-text\">error message</div>\n </six-error>\n </slot-fb>\n </div>\n </div>\n </six-file-upload>\n `);\n });\n\n it('does not render error message if not invalid', async () => {\n const page = await newSpecPage({\n components: [SixFileUpload],\n html: `<six-file-upload error-text=\"error message\"></six-file-upload>`,\n });\n\n expect(page.root).toEqualHtml(`\n <six-file-upload error-text=\"error message\">\n <div class=\"six-file-upload\">\n <six-card aria-invalid=\"false\" class=\"six-file-upload__container--full\">\n <div class=\"six-file-upload__drop-zone\">\n <div>\n <span>\n <span>\n Drop files to upload, or\n <span class=\"six-file-upload__label--highlighted\">\n browse\n </span>\n </span>\n </span>\n <input class=\"six-file-upload__input\" name=\"resume\" type=\"file\">\n </div>\n </div>\n </six-card>\n <div aria-hidden=\"true\">\n <slot-fb name=\"error-text\">\n <six-error>\n <div class=\"six-file-upload__error-text\">error message</div>\n </six-error>\n </slot-fb>\n </div>\n </div>\n </six-file-upload>\n `);\n });\n\n it('render error slot when invalid', async () => {\n const page = await newSpecPage({\n components: [SixFileUpload],\n html: `<six-file-upload invalid><slot name=\"error-text\"><b>bold error</b></six-file-upload>`,\n });\n\n expect(page.root).toEqualHtml(`\n <six-file-upload invalid>\n <slot hidden=\"\" name=\"error-text\">\n <b>\n bold error\n </b>\n </slot>\n <div class=\"six-file-upload\">\n <six-card aria-invalid=\"true\" class=\"six-file-upload__container--full\">\n <div class=\"six-file-upload__drop-zone\">\n <div>\n <span>\n <span>\n Drop files to upload, or\n <span class=\"six-file-upload__label--highlighted\">\n browse\n </span>\n </span>\n </span>\n <input class=\"six-file-upload__input\" name=\"resume\" type=\"file\">\n </div>\n </div>\n </six-card>\n <div aria-hidden=\"false\">\n </div>\n </div>\n </six-file-upload>\n `);\n });\n});\n"]}
@@ -7,7 +7,7 @@ import { h } from "@stencil/core";
7
7
  */
8
8
  export class SixFooter {
9
9
  render() {
10
- return (h("footer", { class: "six-footer" }, h("slot", null)));
10
+ return (h("footer", { key: '3208d35f8c2cec42795d713465cb1488ec2d4e57', class: "six-footer" }, h("slot", { key: '8f9854ed0e213425ea459947635993a1e6b29d54' })));
11
11
  }
12
12
  static get is() { return "six-footer"; }
13
13
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"six-footer.js","sourceRoot":"","sources":["../../../src/components/six-footer/six-footer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAE7C;;;;;GAKG;AAOH,MAAM,OAAO,SAAS;IACpB,MAAM;QACJ,OAAO,CACL,cAAQ,KAAK,EAAC,YAAY;YACxB,eAAQ,CACD,CACV,CAAC;IACJ,CAAC;;;;;;;;;CACF","sourcesContent":["import { Component, h } from '@stencil/core';\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define the content of the footer.\n */\n\n@Component({\n tag: 'six-footer',\n styleUrl: 'six-footer.scss',\n shadow: true,\n})\nexport class SixFooter {\n render() {\n return (\n <footer class=\"six-footer\">\n <slot />\n </footer>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"six-footer.js","sourceRoot":"","sources":["../../../src/components/six-footer/six-footer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAE7C;;;;;GAKG;AAOH,MAAM,OAAO,SAAS;IACpB,MAAM;QACJ,OAAO,CACL,+DAAQ,KAAK,EAAC,YAAY;YACxB,8DAAQ,CACD,CACV,CAAC;IACJ,CAAC;;;;;;;;;CACF","sourcesContent":["import { Component, h } from '@stencil/core';\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define the content of the footer.\n */\n\n@Component({\n tag: 'six-footer',\n styleUrl: 'six-footer.scss',\n shadow: true,\n})\nexport class SixFooter {\n render() {\n return (\n <footer class=\"six-footer\">\n <slot />\n </footer>\n );\n }\n}\n"]}
@@ -47,7 +47,7 @@ export class SixGroupLabel {
47
47
  (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.removeEventListener('slotchange', this.handleSlotChange);
48
48
  }
49
49
  render() {
50
- return (h(FormControl, { inputId: this.wrapperLabelId, label: this.label, labelId: this.labelId, hasLabelSlot: this.hasLabelSlot, helpTextId: this.helpTextId, helpText: this.helpText, hasHelpTextSlot: this.hasHelpTextSlot, size: this.size, disabled: this.disabled, required: this.required }, h("slot", null)));
50
+ return (h(FormControl, { key: 'a518616f11a06ff39d4eef3654b43db9491749c2', inputId: this.wrapperLabelId, label: this.label, labelId: this.labelId, hasLabelSlot: this.hasLabelSlot, helpTextId: this.helpTextId, helpText: this.helpText, hasHelpTextSlot: this.hasHelpTextSlot, size: this.size, disabled: this.disabled, required: this.required }, h("slot", { key: 'dc6946efe018060cd9c6c609b0e6f17d882ae7e0' })));
51
51
  }
52
52
  static get is() { return "six-group-label"; }
53
53
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"six-group-label.js","sourceRoot":"","sources":["../../../src/components/six-group-label/six-group-label.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,WAAW,MAAM,uDAAuD,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,IAAI,EAAE,GAAG,CAAC,CAAC;AAEX;;;;;;;;;;;;GAYG;AAMH,MAAM,OAAO,aAAa;;QAChB,mBAAc,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC;QACjC,YAAO,GAAG,eAAe,EAAE,EAAE,CAAC;QAC9B,eAAU,GAAG,mBAAmB,EAAE,EAAE,CAAC;QAwCrC,qBAAgB,GAAG,GAAG,EAAE;YAC9B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACzD,CAAC,CAAC;+BAvCyB,KAAK;4BACR,KAAK;oBAGiC,QAAQ;qBAGtD,EAAE;wBAGC,EAAE;wBAGe,KAAK;wBAGtB,KAAK;;IAIxB,iBAAiB;QACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,iBAAiB;;QACf,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,0CAAE,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC9E,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,oBAAoB;;QAClB,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,0CAAE,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjF,CAAC;IAOD,MAAM;QACJ,OAAO,CACL,EAAC,WAAW,IACV,OAAO,EAAE,IAAI,CAAC,cAAc,EAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YAEvB,eAAa,CACD,CACf,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, h, Prop, State, Watch } from '@stencil/core';\nimport FormControl from '../../functional-components/form-control/form-control';\nimport { hasSlot } from '../../utils/slot';\n\nlet id = 0;\n\n/**\n * @since 1.1\n * @status stable\n *\n * @slot label - The wrapped component's label. Alternatively, you can use the label prop.\n * @slot help-text - Help text that describes how to use the input.\n * @slot error-text - Error text that is shown for validation errors. Alternatively, you can use the error-text prop.\n *\n * @part base - The component's base wrapper.\n * @part form-control - The form control that wraps the label, textarea, and help text.\n * @part label - The label of wrapped component.\n * @part help-text - The help text of the wrapped component.\n */\n@Component({\n tag: 'six-group-label',\n styleUrl: 'six-group-label.scss',\n shadow: true,\n})\nexport class SixGroupLabel {\n private wrapperLabelId = `label-${++id}`;\n private labelId = `label-label-${id}`;\n private helpTextId = `label-help-text-${id}`;\n\n @Element() host!: HTMLSixGroupLabelElement;\n\n @State() hasHelpTextSlot = false;\n @State() hasLabelSlot = false;\n\n /** The label's size. */\n @Prop({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n /** The wrapper label's label. Alternatively, you can use the label slot. */\n @Prop() label = '';\n\n /** The wrapper label's help text. Alternatively, you can use the help-text slot. */\n @Prop() helpText = '';\n\n /** Set to true to disable the label. */\n @Prop({ reflect: true }) disabled = false;\n\n /** Set to true to show an asterisk beneath the label. */\n @Prop() required = false;\n\n @Watch('helpText')\n @Watch('label')\n handleLabelChange() {\n this.handleSlotChange();\n }\n\n connectedCallback() {\n this.host.shadowRoot?.addEventListener('slotchange', this.handleSlotChange);\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n }\n\n disconnectedCallback() {\n this.host.shadowRoot?.removeEventListener('slotchange', this.handleSlotChange);\n }\n\n private handleSlotChange = () => {\n this.hasLabelSlot = hasSlot(this.host, 'label');\n this.hasHelpTextSlot = hasSlot(this.host, 'help-text');\n };\n\n render() {\n return (\n <FormControl\n inputId={this.wrapperLabelId}\n label={this.label}\n labelId={this.labelId}\n hasLabelSlot={this.hasLabelSlot}\n helpTextId={this.helpTextId}\n helpText={this.helpText}\n hasHelpTextSlot={this.hasHelpTextSlot}\n size={this.size}\n disabled={this.disabled}\n required={this.required}\n >\n <slot></slot>\n </FormControl>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"six-group-label.js","sourceRoot":"","sources":["../../../src/components/six-group-label/six-group-label.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,WAAW,MAAM,uDAAuD,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,IAAI,EAAE,GAAG,CAAC,CAAC;AAEX;;;;;;;;;;;;GAYG;AAMH,MAAM,OAAO,aAAa;;QAChB,mBAAc,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC;QACjC,YAAO,GAAG,eAAe,EAAE,EAAE,CAAC;QAC9B,eAAU,GAAG,mBAAmB,EAAE,EAAE,CAAC;QAwCrC,qBAAgB,GAAG,GAAG,EAAE;YAC9B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACzD,CAAC,CAAC;+BAvCyB,KAAK;4BACR,KAAK;oBAGiC,QAAQ;qBAGtD,EAAE;wBAGC,EAAE;wBAGe,KAAK;wBAGtB,KAAK;;IAIxB,iBAAiB;QACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,iBAAiB;;QACf,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,0CAAE,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC9E,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,oBAAoB;;QAClB,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,0CAAE,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjF,CAAC;IAOD,MAAM;QACJ,OAAO,CACL,EAAC,WAAW,qDACV,OAAO,EAAE,IAAI,CAAC,cAAc,EAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YAEvB,8DAAa,CACD,CACf,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, h, Prop, State, Watch } from '@stencil/core';\nimport FormControl from '../../functional-components/form-control/form-control';\nimport { hasSlot } from '../../utils/slot';\n\nlet id = 0;\n\n/**\n * @since 1.1\n * @status stable\n *\n * @slot label - The wrapped component's label. Alternatively, you can use the label prop.\n * @slot help-text - Help text that describes how to use the input.\n * @slot error-text - Error text that is shown for validation errors. Alternatively, you can use the error-text prop.\n *\n * @part base - The component's base wrapper.\n * @part form-control - The form control that wraps the label, textarea, and help text.\n * @part label - The label of wrapped component.\n * @part help-text - The help text of the wrapped component.\n */\n@Component({\n tag: 'six-group-label',\n styleUrl: 'six-group-label.scss',\n shadow: true,\n})\nexport class SixGroupLabel {\n private wrapperLabelId = `label-${++id}`;\n private labelId = `label-label-${id}`;\n private helpTextId = `label-help-text-${id}`;\n\n @Element() host!: HTMLSixGroupLabelElement;\n\n @State() hasHelpTextSlot = false;\n @State() hasLabelSlot = false;\n\n /** The label's size. */\n @Prop({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n /** The wrapper label's label. Alternatively, you can use the label slot. */\n @Prop() label = '';\n\n /** The wrapper label's help text. Alternatively, you can use the help-text slot. */\n @Prop() helpText = '';\n\n /** Set to true to disable the label. */\n @Prop({ reflect: true }) disabled = false;\n\n /** Set to true to show an asterisk beneath the label. */\n @Prop() required = false;\n\n @Watch('helpText')\n @Watch('label')\n handleLabelChange() {\n this.handleSlotChange();\n }\n\n connectedCallback() {\n this.host.shadowRoot?.addEventListener('slotchange', this.handleSlotChange);\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n }\n\n disconnectedCallback() {\n this.host.shadowRoot?.removeEventListener('slotchange', this.handleSlotChange);\n }\n\n private handleSlotChange = () => {\n this.hasLabelSlot = hasSlot(this.host, 'label');\n this.hasHelpTextSlot = hasSlot(this.host, 'help-text');\n };\n\n render() {\n return (\n <FormControl\n inputId={this.wrapperLabelId}\n label={this.label}\n labelId={this.labelId}\n hasLabelSlot={this.hasLabelSlot}\n helpTextId={this.helpTextId}\n helpText={this.helpText}\n hasHelpTextSlot={this.hasHelpTextSlot}\n size={this.size}\n disabled={this.disabled}\n required={this.required}\n >\n <slot></slot>\n </FormControl>\n );\n }\n}\n"]}