@zanichelli/albe-web-components 20.0.2-RC → 21.0.0-RC1

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 (354) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/cjs/z-app-header_12.cjs.entry.js +7 -1
  3. package/dist/cjs/z-app-header_12.cjs.entry.js.map +1 -1
  4. package/dist/collection/components/z-input/index.js +7 -1
  5. package/dist/collection/components/z-input/index.js.map +1 -1
  6. package/dist/components/index.js +1 -1
  7. package/dist/components/index.js.map +1 -1
  8. package/dist/components/{utils.js → p-8C_CrFxp.js} +3 -3
  9. package/dist/components/p-B3VFztJH.js +6 -0
  10. package/dist/components/p-B5U9pSXR.js +2 -0
  11. package/dist/components/{index14.js.map → p-B5U9pSXR.js.map} +1 -1
  12. package/dist/components/p-B6jtvVtV.js +2 -0
  13. package/dist/components/{utils2.js.map → p-B6jtvVtV.js.map} +1 -1
  14. package/dist/components/{_commonjsHelpers.js → p-B85MJLTf.js} +1 -1
  15. package/dist/components/p-BAguKZnb.js +2 -0
  16. package/dist/components/{index4.js.map → p-BAguKZnb.js.map} +1 -1
  17. package/dist/components/p-BbZelagf.js +2 -0
  18. package/dist/components/{index20.js.map → p-BbZelagf.js.map} +1 -1
  19. package/dist/components/p-BeSVHdId.js +2 -0
  20. package/dist/components/{index9.js.map → p-BeSVHdId.js.map} +1 -1
  21. package/dist/components/p-Bj8MyegH.js +2 -0
  22. package/dist/components/{index18.js.map → p-Bj8MyegH.js.map} +1 -1
  23. package/dist/components/p-BoiZb7m1.js +2 -0
  24. package/dist/components/{index13.js.map → p-BoiZb7m1.js.map} +1 -1
  25. package/dist/components/p-BolVsvfr.js +2 -0
  26. package/dist/components/{index5.js.map → p-BolVsvfr.js.map} +1 -1
  27. package/dist/components/p-CGSP8diU.js +2 -0
  28. package/dist/components/{index15.js.map → p-CGSP8diU.js.map} +1 -1
  29. package/dist/components/p-CJjo0ntH.js +2 -0
  30. package/dist/components/{index12.js.map → p-CJjo0ntH.js.map} +1 -1
  31. package/dist/components/p-CaSvyuw6.js +2 -0
  32. package/dist/components/{index17.js.map → p-CaSvyuw6.js.map} +1 -1
  33. package/dist/components/p-CbXEdwLi.js +2 -0
  34. package/dist/components/{index3.js.map → p-CbXEdwLi.js.map} +1 -1
  35. package/dist/components/p-CdBqnUF6.js +2 -0
  36. package/dist/components/{index7.js.map → p-CdBqnUF6.js.map} +1 -1
  37. package/dist/components/p-Ch6o4_VN.js +2 -0
  38. package/dist/components/{index21.js.map → p-Ch6o4_VN.js.map} +1 -1
  39. package/dist/components/{iconset.js → p-D1c5gR45.js} +1 -1
  40. package/dist/components/p-D8wde41u.js +2 -0
  41. package/dist/components/{index16.js.map → p-D8wde41u.js.map} +1 -1
  42. package/dist/components/p-DL2QAfIP.js +2 -0
  43. package/dist/components/{index11.js.map → p-DL2QAfIP.js.map} +1 -1
  44. package/dist/components/{index2.js → p-DdetsoIY.js} +1 -1
  45. package/dist/components/p-LXvmZzZa.js +2 -0
  46. package/dist/components/p-LXvmZzZa.js.map +1 -0
  47. package/dist/components/{breakpoints.js → p-Q-tWjk7P.js} +1 -1
  48. package/dist/components/p-RmbDDbWd.js +2 -0
  49. package/dist/components/p-RmbDDbWd.js.map +1 -0
  50. package/dist/components/p-VP75-vje.js +2 -0
  51. package/dist/components/{index19.js.map → p-VP75-vje.js.map} +1 -1
  52. package/dist/components/p-cpTAMdcF.js +2 -0
  53. package/dist/components/{index8.js.map → p-cpTAMdcF.js.map} +1 -1
  54. package/dist/components/p-mphirYN3.js +2 -0
  55. package/dist/components/{index10.js.map → p-mphirYN3.js.map} +1 -1
  56. package/dist/components/z-accordion.js +1 -1
  57. package/dist/components/z-accordion.js.map +1 -1
  58. package/dist/components/z-anchor-navigation.js +1 -1
  59. package/dist/components/z-anchor-navigation.js.map +1 -1
  60. package/dist/components/z-app-header.js +1 -1
  61. package/dist/components/z-app-header.js.map +1 -1
  62. package/dist/components/z-aria-alert.js +1 -1
  63. package/dist/components/z-aria-alert.js.map +1 -1
  64. package/dist/components/z-avatar.js +1 -1
  65. package/dist/components/z-avatar.js.map +1 -1
  66. package/dist/components/z-book-card-app.js +1 -1
  67. package/dist/components/z-book-card-app.js.map +1 -1
  68. package/dist/components/z-book-card.js +1 -1
  69. package/dist/components/z-book-card.js.map +1 -1
  70. package/dist/components/z-book-cover.js +1 -1
  71. package/dist/components/z-breadcrumb.js +1 -1
  72. package/dist/components/z-breadcrumb.js.map +1 -1
  73. package/dist/components/z-button-sort.js +1 -1
  74. package/dist/components/z-button-sort.js.map +1 -1
  75. package/dist/components/z-button.js +1 -1
  76. package/dist/components/z-card.js +1 -1
  77. package/dist/components/z-card.js.map +1 -1
  78. package/dist/components/z-carousel.js +1 -1
  79. package/dist/components/z-carousel.js.map +1 -1
  80. package/dist/components/z-chip.js +1 -1
  81. package/dist/components/z-color-picker.js +1 -1
  82. package/dist/components/z-color-picker.js.map +1 -1
  83. package/dist/components/z-combobox.js +1 -1
  84. package/dist/components/z-combobox.js.map +1 -1
  85. package/dist/components/z-cover-hero.js +1 -1
  86. package/dist/components/z-cover-hero.js.map +1 -1
  87. package/dist/components/z-date-picker.js +2 -2
  88. package/dist/components/z-date-picker.js.map +1 -1
  89. package/dist/components/z-divider.js +1 -1
  90. package/dist/components/z-dragdrop-area.js +1 -1
  91. package/dist/components/z-file-upload.js +1 -1
  92. package/dist/components/z-file-upload.js.map +1 -1
  93. package/dist/components/z-file.js +1 -1
  94. package/dist/components/z-file.js.map +1 -1
  95. package/dist/components/z-ghost-loading.js +1 -1
  96. package/dist/components/z-icon.js +1 -1
  97. package/dist/components/z-info-box.js +1 -1
  98. package/dist/components/z-info-box.js.map +1 -1
  99. package/dist/components/z-info-reveal.js +1 -1
  100. package/dist/components/z-input-message.js +1 -1
  101. package/dist/components/z-input-range.js +1 -1
  102. package/dist/components/z-input-range.js.map +1 -1
  103. package/dist/components/z-input.js +1 -1
  104. package/dist/components/z-list-element.js +1 -1
  105. package/dist/components/z-list-group.js +1 -1
  106. package/dist/components/z-list.js +1 -1
  107. package/dist/components/z-logo.js +1 -1
  108. package/dist/components/z-logo.js.map +1 -1
  109. package/dist/components/z-menu-section.js +1 -1
  110. package/dist/components/z-menu-section.js.map +1 -1
  111. package/dist/components/z-menu.js +1 -1
  112. package/dist/components/z-menu.js.map +1 -1
  113. package/dist/components/z-modal.js +1 -1
  114. package/dist/components/z-navigation-tabs.js +1 -1
  115. package/dist/components/z-navigation-tabs.js.map +1 -1
  116. package/dist/components/z-notification.js +1 -1
  117. package/dist/components/z-notification.js.map +1 -1
  118. package/dist/components/z-offcanvas.js +1 -1
  119. package/dist/components/z-pagination.js +1 -1
  120. package/dist/components/z-pagination.js.map +1 -1
  121. package/dist/components/z-popover.js +1 -1
  122. package/dist/components/z-range-picker.js +1 -1
  123. package/dist/components/z-range-picker.js.map +1 -1
  124. package/dist/components/z-result-card.js +1 -1
  125. package/dist/components/z-result-card.js.map +1 -1
  126. package/dist/components/z-searchbar.js +1 -1
  127. package/dist/components/z-select.js +1 -1
  128. package/dist/components/z-select.js.map +1 -1
  129. package/dist/components/z-skip-to-content.js +1 -1
  130. package/dist/components/z-skip-to-content.js.map +1 -1
  131. package/dist/components/z-stepper-item.js +1 -1
  132. package/dist/components/z-stepper-item.js.map +1 -1
  133. package/dist/components/z-stepper.js +1 -1
  134. package/dist/components/z-stepper.js.map +1 -1
  135. package/dist/components/z-table.js +1 -1
  136. package/dist/components/z-table.js.map +1 -1
  137. package/dist/components/z-tag.js +1 -1
  138. package/dist/components/z-tbody.js +1 -1
  139. package/dist/components/z-tbody.js.map +1 -1
  140. package/dist/components/z-td.js +1 -1
  141. package/dist/components/z-td.js.map +1 -1
  142. package/dist/components/z-tfoot.js +1 -1
  143. package/dist/components/z-tfoot.js.map +1 -1
  144. package/dist/components/z-th.js +1 -1
  145. package/dist/components/z-th.js.map +1 -1
  146. package/dist/components/z-thead.js +1 -1
  147. package/dist/components/z-thead.js.map +1 -1
  148. package/dist/components/z-toast-notification-list.js +1 -1
  149. package/dist/components/z-toast-notification-list.js.map +1 -1
  150. package/dist/components/z-toast-notification.js +3 -3
  151. package/dist/components/z-toggle-switch.js +1 -1
  152. package/dist/components/z-toggle-switch.js.map +1 -1
  153. package/dist/components/z-tool.js +1 -1
  154. package/dist/components/z-tool.js.map +1 -1
  155. package/dist/components/z-toolbar.js +1 -1
  156. package/dist/components/z-toolbar.js.map +1 -1
  157. package/dist/components/z-tooltip.js +1 -1
  158. package/dist/components/z-tr.js +1 -1
  159. package/dist/components/z-tr.js.map +1 -1
  160. package/dist/components/z-tree-list.js +1 -1
  161. package/dist/components/z-tree-list.js.map +1 -1
  162. package/dist/components/z-visually-hidden.js +1 -1
  163. package/dist/components/z-visually-hidden.js.map +1 -1
  164. package/dist/esm/z-app-header_12.entry.js +7 -1
  165. package/dist/esm/z-app-header_12.entry.js.map +1 -1
  166. package/dist/types/components/z-input/index.d.ts +1 -0
  167. package/dist/web-components-library/p-e2eea612.entry.js +2 -0
  168. package/dist/web-components-library/p-e2eea612.entry.js.map +1 -0
  169. package/dist/web-components-library/web-components-library.esm.js +1 -1
  170. package/package.json +8 -4
  171. package/react/components.d.ts +68 -66
  172. package/react/components.js +134 -69
  173. package/react/z-accordion.d.ts +12 -0
  174. package/react/z-accordion.js +18 -0
  175. package/react/z-anchor-navigation.d.ts +9 -0
  176. package/react/z-anchor-navigation.js +18 -0
  177. package/react/z-app-header.d.ts +12 -0
  178. package/react/z-app-header.js +18 -0
  179. package/react/z-aria-alert.d.ts +9 -0
  180. package/react/z-aria-alert.js +18 -0
  181. package/react/z-avatar.d.ts +9 -0
  182. package/react/z-avatar.js +18 -0
  183. package/react/z-book-card-app.d.ts +12 -0
  184. package/react/z-book-card-app.js +18 -0
  185. package/react/z-book-card.d.ts +14 -0
  186. package/react/z-book-card.js +22 -0
  187. package/react/z-book-cover.d.ts +9 -0
  188. package/react/z-book-cover.js +18 -0
  189. package/react/z-breadcrumb.d.ts +12 -0
  190. package/react/z-breadcrumb.js +18 -0
  191. package/react/z-button-sort.d.ts +12 -0
  192. package/react/z-button-sort.js +18 -0
  193. package/react/z-button.d.ts +9 -0
  194. package/react/z-button.js +18 -0
  195. package/react/z-card.d.ts +9 -0
  196. package/react/z-card.js +18 -0
  197. package/react/z-carousel.d.ts +14 -0
  198. package/react/z-carousel.js +18 -0
  199. package/react/z-chip.d.ts +12 -0
  200. package/react/z-chip.js +18 -0
  201. package/react/z-color-picker.d.ts +12 -0
  202. package/react/z-color-picker.js +18 -0
  203. package/react/z-combobox.d.ts +12 -0
  204. package/react/z-combobox.js +18 -0
  205. package/react/z-cover-hero.d.ts +9 -0
  206. package/react/z-cover-hero.js +18 -0
  207. package/react/z-date-picker.d.ts +12 -0
  208. package/react/z-date-picker.js +18 -0
  209. package/react/z-divider.d.ts +9 -0
  210. package/react/z-divider.js +18 -0
  211. package/react/z-dragdrop-area.d.ts +12 -0
  212. package/react/z-dragdrop-area.js +18 -0
  213. package/react/z-file-upload.d.ts +16 -0
  214. package/react/z-file-upload.js +21 -0
  215. package/react/z-file.d.ts +12 -0
  216. package/react/z-file.js +18 -0
  217. package/react/z-ghost-loading.d.ts +9 -0
  218. package/react/z-ghost-loading.js +18 -0
  219. package/react/z-icon.d.ts +9 -0
  220. package/react/z-icon.js +18 -0
  221. package/react/z-info-box.d.ts +14 -0
  222. package/react/z-info-box.js +18 -0
  223. package/react/z-info-reveal.d.ts +9 -0
  224. package/react/z-info-reveal.js +18 -0
  225. package/react/z-input-message.d.ts +9 -0
  226. package/react/z-input-message.js +18 -0
  227. package/react/z-input-range.d.ts +13 -0
  228. package/react/z-input-range.js +21 -0
  229. package/react/z-input.d.ts +17 -0
  230. package/react/z-input.js +25 -0
  231. package/react/z-list-element.d.ts +14 -0
  232. package/react/z-list-element.js +22 -0
  233. package/react/z-list-group.d.ts +9 -0
  234. package/react/z-list-group.js +18 -0
  235. package/react/z-list.d.ts +9 -0
  236. package/react/z-list.js +18 -0
  237. package/react/z-logo.d.ts +9 -0
  238. package/react/z-logo.js +18 -0
  239. package/react/z-menu-section.d.ts +13 -0
  240. package/react/z-menu-section.js +21 -0
  241. package/react/z-menu.d.ts +13 -0
  242. package/react/z-menu.js +21 -0
  243. package/react/z-modal.d.ts +14 -0
  244. package/react/z-modal.js +22 -0
  245. package/react/z-navigation-tabs.d.ts +12 -0
  246. package/react/z-navigation-tabs.js +18 -0
  247. package/react/z-notification.d.ts +13 -0
  248. package/react/z-notification.js +21 -0
  249. package/react/z-offcanvas.d.ts +12 -0
  250. package/react/z-offcanvas.js +18 -0
  251. package/react/z-pagination.d.ts +12 -0
  252. package/react/z-pagination.js +18 -0
  253. package/react/z-popover.d.ts +17 -0
  254. package/react/z-popover.js +21 -0
  255. package/react/z-range-picker.d.ts +12 -0
  256. package/react/z-range-picker.js +18 -0
  257. package/react/z-result-card.d.ts +9 -0
  258. package/react/z-result-card.js +18 -0
  259. package/react/z-searchbar.d.ts +14 -0
  260. package/react/z-searchbar.js +22 -0
  261. package/react/z-select.d.ts +13 -0
  262. package/react/z-select.js +21 -0
  263. package/react/z-skip-to-content.d.ts +9 -0
  264. package/react/z-skip-to-content.js +18 -0
  265. package/react/z-stepper-item.d.ts +9 -0
  266. package/react/z-stepper-item.js +18 -0
  267. package/react/z-stepper.d.ts +9 -0
  268. package/react/z-stepper.js +18 -0
  269. package/react/z-table.d.ts +9 -0
  270. package/react/z-table.js +18 -0
  271. package/react/z-tag.d.ts +9 -0
  272. package/react/z-tag.js +18 -0
  273. package/react/z-tbody.d.ts +9 -0
  274. package/react/z-tbody.js +18 -0
  275. package/react/z-td.d.ts +12 -0
  276. package/react/z-td.js +18 -0
  277. package/react/z-tfoot.d.ts +9 -0
  278. package/react/z-tfoot.js +18 -0
  279. package/react/z-th.d.ts +12 -0
  280. package/react/z-th.js +18 -0
  281. package/react/z-thead.d.ts +9 -0
  282. package/react/z-thead.js +18 -0
  283. package/react/z-toast-notification-list.d.ts +9 -0
  284. package/react/z-toast-notification-list.js +18 -0
  285. package/react/z-toast-notification.d.ts +12 -0
  286. package/react/z-toast-notification.js +18 -0
  287. package/react/z-toggle-switch.d.ts +12 -0
  288. package/react/z-toggle-switch.js +18 -0
  289. package/react/z-tool.d.ts +13 -0
  290. package/react/z-tool.js +21 -0
  291. package/react/z-toolbar.d.ts +9 -0
  292. package/react/z-toolbar.js +18 -0
  293. package/react/z-tooltip.d.ts +14 -0
  294. package/react/z-tooltip.js +18 -0
  295. package/react/z-tr.d.ts +12 -0
  296. package/react/z-tr.js +18 -0
  297. package/react/z-tree-list.d.ts +16 -0
  298. package/react/z-tree-list.js +18 -0
  299. package/react/z-visually-hidden.d.ts +9 -0
  300. package/react/z-visually-hidden.js +18 -0
  301. package/readme.md +7 -4
  302. package/www/build/{p-9a93e186.js → p-de6e8c2b.js} +1 -1
  303. package/www/build/p-e2eea612.entry.js +2 -0
  304. package/www/build/p-e2eea612.entry.js.map +1 -0
  305. package/www/build/web-components-library.esm.js +1 -1
  306. package/www/index.html +1 -1
  307. package/dist/components/index10.js +0 -2
  308. package/dist/components/index11.js +0 -2
  309. package/dist/components/index12.js +0 -2
  310. package/dist/components/index13.js +0 -2
  311. package/dist/components/index14.js +0 -2
  312. package/dist/components/index15.js +0 -2
  313. package/dist/components/index16.js +0 -2
  314. package/dist/components/index17.js +0 -2
  315. package/dist/components/index18.js +0 -2
  316. package/dist/components/index19.js +0 -2
  317. package/dist/components/index20.js +0 -2
  318. package/dist/components/index21.js +0 -2
  319. package/dist/components/index3.js +0 -2
  320. package/dist/components/index4.js +0 -2
  321. package/dist/components/index5.js +0 -2
  322. package/dist/components/index6.js +0 -2
  323. package/dist/components/index6.js.map +0 -1
  324. package/dist/components/index7.js +0 -2
  325. package/dist/components/index8.js +0 -2
  326. package/dist/components/index9.js +0 -2
  327. package/dist/components/reactive-controller.js +0 -6
  328. package/dist/components/utils2.js +0 -2
  329. package/dist/web-components-library/p-1fad41b2.entry.js +0 -2
  330. package/dist/web-components-library/p-1fad41b2.entry.js.map +0 -1
  331. package/react/react-component-lib/createComponent.d.ts +0 -10
  332. package/react/react-component-lib/createComponent.js +0 -101
  333. package/react/react-component-lib/createOverlayComponent.d.ts +0 -21
  334. package/react/react-component-lib/createOverlayComponent.js +0 -115
  335. package/react/react-component-lib/index.d.ts +0 -2
  336. package/react/react-component-lib/index.js +0 -7
  337. package/react/react-component-lib/interfaces.d.ts +0 -29
  338. package/react/react-component-lib/interfaces.js +0 -2
  339. package/react/react-component-lib/utils/attachProps.d.ts +0 -16
  340. package/react/react-component-lib/utils/attachProps.js +0 -115
  341. package/react/react-component-lib/utils/case.d.ts +0 -2
  342. package/react/react-component-lib/utils/case.js +0 -11
  343. package/react/react-component-lib/utils/dev.d.ts +0 -2
  344. package/react/react-component-lib/utils/dev.js +0 -17
  345. package/react/react-component-lib/utils/index.d.ts +0 -10
  346. package/react/react-component-lib/utils/index.js +0 -55
  347. package/www/build/p-1fad41b2.entry.js +0 -2
  348. package/www/build/p-1fad41b2.entry.js.map +0 -1
  349. /package/dist/components/{utils.js.map → p-8C_CrFxp.js.map} +0 -0
  350. /package/dist/components/{reactive-controller.js.map → p-B3VFztJH.js.map} +0 -0
  351. /package/dist/components/{_commonjsHelpers.js.map → p-B85MJLTf.js.map} +0 -0
  352. /package/dist/components/{iconset.js.map → p-D1c5gR45.js.map} +0 -0
  353. /package/dist/components/{index2.js.map → p-DdetsoIY.js.map} +0 -0
  354. /package/dist/components/{breakpoints.js.map → p-Q-tWjk7P.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["global","factory","module","exports","this","__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","monthToStr","monthNumber","shorthand","locale","months","clearNode","node","firstChild","removeChild","getEventTarget","event","composedPath","path","target","error","defaultConfig","dateFormat","altFormat","theme","monthSelectPlugin","pluginConfig","config","fp","self","monthsContainer","clearUnnecessaryDOMElements","rContainer","index","monthElements","element","parentNode","build","_createElement","tabIndex","buildMonths","appendChild","calendarContainer","classList","add","frag","document","createDocumentFragment","month","createDay","Date","currentYear","dateObj","getMonth","getFullYear","textContent","l10n","addEventListener","selectMonth","minDate","prevMonthNav","remove","maxDate","nextMonthNav","bindEvents","_bind","e","preventDefault","stopPropagation","changeYear","selectYear","mode","onMouseOver","setCurrentlySelected","selectedDates","currentlySelected","querySelectorAll","targetMonth","querySelector","selectedDate","setFullYear","currentYearElement","value","String","forEach","eventTarget","Element","contains","setMonth","closeOnSelect","single","range","close","date","getDate","push","concat","sort","a","b","getTime","setDate","shifts","onKeyDown","_","__","___","shouldMove","keyCode","undefined","Array","indexOf","children","activeElement","firstElementChild","focus","$i","closeHook","_a","clear","stubCurrentMonth","_stubbedCurrentMonth","_initialDate","currentMonth","unstubCurrentMonth","destroyPluginInstance","removeEventListener","onParseConfig","enableTime","onValueUpdate","onReady","onClose","loadedPlugins","onDestroy","filter","hook","stylesCss","ZDatePicker","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","ZDatePickerMode","DATE","name","flatpickrPosition","ZDatePickerPosition","BOTTOM","inputError","emitDateSelect","dateSelect","emit","handleKeyDown","ev","key","picker","hasChildren","_b","open","isCrossIconEntered","_c","isPrevArrowEntered","isNextArrowEntered","arrowPressed","MONTHS","_d","_e","calendar","getElementsByClassName","setAttribute","innerHTML","from","curMonth","curYear","_f","changeMonth","_g","componentWillLoad","customToggle","componentDidLoad","setupPickers","classToAppend","datePickerId","flatpickr","appendTo","DATE_TIME","Italian","allowInput","ariaDateFormat","minuteIncrement","time_24hr","onChange","_selectedDates","dateStr","onOpen","setAriaOptions","setFlatpickrPosition","wrap","plugins","trim","charAt","formatDate","onStopTyping","text","detail","englishData","split","time","englishParsedData","join","isValidDate","validateDate","renderSlottedContent","h","class","renderZInput","htmlAriaLabel","label","type","InputType","TEXT","icon","message","tabindex","onStartTyping","render"],"sources":["node_modules/flatpickr/dist/plugins/monthSelect/index.js","src/components/date-picker/styles.css?tag=z-date-picker","src/components/date-picker/z-date-picker/index.tsx"],"sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.monthSelectPlugin = factory());\n}(this, (function () { 'use strict';\n\n /*! *****************************************************************************\r\n Copyright (c) Microsoft Corporation.\r\n\r\n Permission to use, copy, modify, and/or distribute this software for any\r\n purpose with or without fee is hereby granted.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\n PERFORMANCE OF THIS SOFTWARE.\r\n ***************************************************************************** */\r\n\r\n var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n };\n\n var monthToStr = function (monthNumber, shorthand, locale) { return locale.months[shorthand ? \"shorthand\" : \"longhand\"][monthNumber]; };\n\n function clearNode(node) {\n while (node.firstChild)\n node.removeChild(node.firstChild);\n }\n function getEventTarget(event) {\n try {\n if (typeof event.composedPath === \"function\") {\n var path = event.composedPath();\n return path[0];\n }\n return event.target;\n }\n catch (error) {\n return event.target;\n }\n }\n\n var defaultConfig = {\n shorthand: false,\n dateFormat: \"F Y\",\n altFormat: \"F Y\",\n theme: \"light\",\n };\n function monthSelectPlugin(pluginConfig) {\n var config = __assign(__assign({}, defaultConfig), pluginConfig);\n return function (fp) {\n fp.config.dateFormat = config.dateFormat;\n fp.config.altFormat = config.altFormat;\n var self = { monthsContainer: null };\n function clearUnnecessaryDOMElements() {\n if (!fp.rContainer)\n return;\n clearNode(fp.rContainer);\n for (var index = 0; index < fp.monthElements.length; index++) {\n var element = fp.monthElements[index];\n if (!element.parentNode)\n continue;\n element.parentNode.removeChild(element);\n }\n }\n function build() {\n if (!fp.rContainer)\n return;\n self.monthsContainer = fp._createElement(\"div\", \"flatpickr-monthSelect-months\");\n self.monthsContainer.tabIndex = -1;\n buildMonths();\n fp.rContainer.appendChild(self.monthsContainer);\n fp.calendarContainer.classList.add(\"flatpickr-monthSelect-theme-\" + config.theme);\n }\n function buildMonths() {\n if (!self.monthsContainer)\n return;\n clearNode(self.monthsContainer);\n var frag = document.createDocumentFragment();\n for (var i = 0; i < 12; i++) {\n var month = fp.createDay(\"flatpickr-monthSelect-month\", new Date(fp.currentYear, i), 0, i);\n if (month.dateObj.getMonth() === new Date().getMonth() &&\n month.dateObj.getFullYear() === new Date().getFullYear())\n month.classList.add(\"today\");\n month.textContent = monthToStr(i, config.shorthand, fp.l10n);\n month.addEventListener(\"click\", selectMonth);\n frag.appendChild(month);\n }\n self.monthsContainer.appendChild(frag);\n if (fp.config.minDate &&\n fp.currentYear === fp.config.minDate.getFullYear())\n fp.prevMonthNav.classList.add(\"flatpickr-disabled\");\n else\n fp.prevMonthNav.classList.remove(\"flatpickr-disabled\");\n if (fp.config.maxDate &&\n fp.currentYear === fp.config.maxDate.getFullYear())\n fp.nextMonthNav.classList.add(\"flatpickr-disabled\");\n else\n fp.nextMonthNav.classList.remove(\"flatpickr-disabled\");\n }\n function bindEvents() {\n fp._bind(fp.prevMonthNav, \"click\", function (e) {\n e.preventDefault();\n e.stopPropagation();\n fp.changeYear(fp.currentYear - 1);\n selectYear();\n buildMonths();\n });\n fp._bind(fp.nextMonthNav, \"click\", function (e) {\n e.preventDefault();\n e.stopPropagation();\n fp.changeYear(fp.currentYear + 1);\n selectYear();\n buildMonths();\n });\n fp._bind(self.monthsContainer, \"mouseover\", function (e) {\n if (fp.config.mode === \"range\")\n fp.onMouseOver(getEventTarget(e), \"flatpickr-monthSelect-month\");\n });\n }\n function setCurrentlySelected() {\n if (!fp.rContainer)\n return;\n if (!fp.selectedDates.length)\n return;\n var currentlySelected = fp.rContainer.querySelectorAll(\".flatpickr-monthSelect-month.selected\");\n for (var index = 0; index < currentlySelected.length; index++) {\n currentlySelected[index].classList.remove(\"selected\");\n }\n var targetMonth = fp.selectedDates[0].getMonth();\n var month = fp.rContainer.querySelector(\".flatpickr-monthSelect-month:nth-child(\" + (targetMonth + 1) + \")\");\n if (month) {\n month.classList.add(\"selected\");\n }\n }\n function selectYear() {\n var selectedDate = fp.selectedDates[0];\n if (selectedDate) {\n selectedDate = new Date(selectedDate);\n selectedDate.setFullYear(fp.currentYear);\n if (fp.config.minDate && selectedDate < fp.config.minDate) {\n selectedDate = fp.config.minDate;\n }\n if (fp.config.maxDate && selectedDate > fp.config.maxDate) {\n selectedDate = fp.config.maxDate;\n }\n fp.currentYear = selectedDate.getFullYear();\n }\n fp.currentYearElement.value = String(fp.currentYear);\n if (fp.rContainer) {\n var months = fp.rContainer.querySelectorAll(\".flatpickr-monthSelect-month\");\n months.forEach(function (month) {\n month.dateObj.setFullYear(fp.currentYear);\n if ((fp.config.minDate && month.dateObj < fp.config.minDate) ||\n (fp.config.maxDate && month.dateObj > fp.config.maxDate)) {\n month.classList.add(\"flatpickr-disabled\");\n }\n else {\n month.classList.remove(\"flatpickr-disabled\");\n }\n });\n }\n setCurrentlySelected();\n }\n function selectMonth(e) {\n e.preventDefault();\n e.stopPropagation();\n var eventTarget = getEventTarget(e);\n if (!(eventTarget instanceof Element))\n return;\n if (eventTarget.classList.contains(\"flatpickr-disabled\"))\n return;\n if (eventTarget.classList.contains(\"notAllowed\"))\n return; // necessary??\n setMonth(eventTarget.dateObj);\n if (fp.config.closeOnSelect) {\n var single = fp.config.mode === \"single\";\n var range = fp.config.mode === \"range\" && fp.selectedDates.length === 2;\n if (single || range)\n fp.close();\n }\n }\n function setMonth(date) {\n var selectedDate = new Date(fp.currentYear, date.getMonth(), date.getDate());\n var selectedDates = [];\n switch (fp.config.mode) {\n case \"single\":\n selectedDates = [selectedDate];\n break;\n case \"multiple\":\n selectedDates.push(selectedDate);\n break;\n case \"range\":\n if (fp.selectedDates.length === 2) {\n selectedDates = [selectedDate];\n }\n else {\n selectedDates = fp.selectedDates.concat([selectedDate]);\n selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n }\n break;\n }\n fp.setDate(selectedDates, true);\n setCurrentlySelected();\n }\n var shifts = {\n 37: -1,\n 39: 1,\n 40: 3,\n 38: -3,\n };\n function onKeyDown(_, __, ___, e) {\n var shouldMove = shifts[e.keyCode] !== undefined;\n if (!shouldMove && e.keyCode !== 13) {\n return;\n }\n if (!fp.rContainer || !self.monthsContainer)\n return;\n var currentlySelected = fp.rContainer.querySelector(\".flatpickr-monthSelect-month.selected\");\n var index = Array.prototype.indexOf.call(self.monthsContainer.children, document.activeElement);\n if (index === -1) {\n var target = currentlySelected || self.monthsContainer.firstElementChild;\n target.focus();\n index = target.$i;\n }\n if (shouldMove) {\n self.monthsContainer.children[(12 + index + shifts[e.keyCode]) % 12].focus();\n }\n else if (e.keyCode === 13 &&\n self.monthsContainer.contains(document.activeElement)) {\n setMonth(document.activeElement.dateObj);\n }\n }\n function closeHook() {\n var _a;\n if (((_a = fp.config) === null || _a === void 0 ? void 0 : _a.mode) === \"range\" && fp.selectedDates.length === 1)\n fp.clear(false);\n if (!fp.selectedDates.length)\n buildMonths();\n }\n // Help the prev/next year nav honor config.minDate (see 3fa5a69)\n function stubCurrentMonth() {\n config._stubbedCurrentMonth = fp._initialDate.getMonth();\n fp._initialDate.setMonth(config._stubbedCurrentMonth);\n fp.currentMonth = config._stubbedCurrentMonth;\n }\n function unstubCurrentMonth() {\n if (!config._stubbedCurrentMonth)\n return;\n fp._initialDate.setMonth(config._stubbedCurrentMonth);\n fp.currentMonth = config._stubbedCurrentMonth;\n delete config._stubbedCurrentMonth;\n }\n function destroyPluginInstance() {\n if (self.monthsContainer !== null) {\n var months = self.monthsContainer.querySelectorAll(\".flatpickr-monthSelect-month\");\n for (var index = 0; index < months.length; index++) {\n months[index].removeEventListener(\"click\", selectMonth);\n }\n }\n }\n return {\n onParseConfig: function () {\n fp.config.enableTime = false;\n },\n onValueUpdate: setCurrentlySelected,\n onKeyDown: onKeyDown,\n onReady: [\n stubCurrentMonth,\n clearUnnecessaryDOMElements,\n build,\n bindEvents,\n setCurrentlySelected,\n function () {\n fp.config.onClose.push(closeHook);\n fp.loadedPlugins.push(\"monthSelect\");\n },\n ],\n onDestroy: [\n unstubCurrentMonth,\n destroyPluginInstance,\n function () {\n fp.config.onClose = fp.config.onClose.filter(function (hook) { return hook !== closeHook; });\n },\n ],\n };\n };\n }\n\n return monthSelectPlugin;\n\n})));\n","@import \"~flatpickr/dist/flatpickr.min.css\";\n@import \"~flatpickr/dist/plugins/monthSelect/style.css\";\n\n/* stylelint-disable selector-class-pattern -- we have no control over flatpickr css classes naming */\n\n:host {\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n\n --z-range-picker--toggle-height: 0;\n}\n\nz-date-picker {\n position: relative;\n}\n\nz-date-picker > div > * {\n cursor: pointer !important;\n}\n\nz-range-picker {\n position: relative;\n}\n\n.flatpickr-toggle-container {\n width: fit-content;\n}\n\n.range-pickers-container > div {\n position: relative;\n}\n\n.hidden-input {\n position: absolute;\n bottom: 0;\n width: 0;\n height: 0;\n visibility: hidden !important;\n}\n\n/* Calendar container selectors */\n.flatpickr-calendar::before,\n.flatpickr-calendar::after {\n display: none;\n}\n\n.flatpickr-calendar {\n position: absolute !important;\n top: var(--z-range-picker--toggle-height) !important;\n left: 0 !important;\n padding-top: calc(var(--space-unit) * 2);\n border-radius: 2px;\n box-shadow: var(--shadow-2);\n font-family: var(--font-family-sans) !important;\n}\n\n.months.top > .flatpickr-calendar {\n top: -288px !important;\n}\n\n.date.top > .flatpickr-calendar,\n.date.top > div > .flatpickr-calendar {\n top: -401px !important;\n}\n\n.date-time.top > .flatpickr-calendar,\n.date-time.top > div > .flatpickr-calendar {\n top: -523px !important;\n}\n\n.flatpickr-calendar,\n.flatpickr-innerContainer,\n.flatpickr-days,\n.dayContainer,\n.flatpickr-rContainer,\n.flatpickr-monthSelect-months {\n width: calc(var(--space-unit) * 42) !important;\n max-width: calc(var(--space-unit) * 42) !important;\n}\n\n.flatpickr-monthSelect-months {\n box-sizing: border-box;\n padding: 0 !important;\n margin: calc(var(--space-unit) * 2) 0 !important;\n}\n\n/* Months and year row containers selectors */\n.flatpickr-months {\n position: relative;\n height: calc(var(--space-unit) * 6) !important;\n align-items: center;\n margin-bottom: var(--space-unit) 0 !important;\n}\n\n.flatpickr-month {\n overflow: visible !important;\n height: calc(var(--space-unit) * 6) !important;\n}\n\n.flatpickr-current-month {\n left: 0 !important;\n display: flex !important;\n width: fill-available;\n height: calc(var(--space-unit) * 6);\n align-items: baseline;\n justify-content: space-evenly;\n padding-top: 0;\n}\n\n/* Months arrows selectors */\n.flatpickr-next-month,\n.flatpickr-prev-month {\n position: static !important;\n display: flex;\n width: calc(var(--space-unit) * 4) !important;\n height: calc(var(--space-unit) * 4) !important;\n align-items: center;\n justify-content: center;\n padding: 0 !important;\n}\n\n.flatpickr-prev-month {\n margin-left: var(--space-unit);\n}\n\n.flatpickr-next-month {\n margin-right: var(--space-unit);\n}\n\n.flatpickr-next-month > svg,\n.flatpickr-prev-month > svg {\n width: calc(var(--space-unit) * 2) !important;\n height: calc(var(--space-unit) * 2) !important;\n fill: var(--color-primary01);\n}\n\n.flatpickr-next-month:hover,\n.flatpickr-prev-month:hover,\n.flatpickr-next-month:focus,\n.flatpickr-prev-month:focus {\n border: none !important;\n border-color: var(--color-primary03) !important;\n background-color: var(--color-primary03) !important;\n border-radius: var(--border-radius);\n color: var(--color-hover-primary) !important;\n outline: none !important;\n}\n\n.flatpickr-next-month:hover svg,\n.flatpickr-prev-month:hover svg {\n fill: var(--color-hover-primary) !important;\n}\n\n.flatpickr-next-month:active,\n.flatpickr-prev-month:active {\n border-color: var(--color-surface01) !important;\n background-color: var(--color-surface01) !important;\n border-radius: var(--border-radius);\n box-shadow: var(--shadow-2) !important;\n color: var(--color-primary01) !important;\n}\n\n.flatpickr-next-month:focus svg,\n.flatpickr-prev-month:focus svg {\n fill: var(--color-primary01) !important;\n}\n\n/* Months dropdown selectors */\n.flatpickr-monthDropdown-months {\n width: 108px !important;\n height: calc(var(--space-unit) * 5.5) !important;\n padding-left: var(--space-unit) !important;\n background: var(--color-surface01) !important;\n color: var(--color-default-text) !important;\n font-size: var(--font-size-3) !important;\n font-weight: var(--font-rg) !important;\n outline: 1px solid black !important;\n}\n\n.flatpickr-monthDropdown-months:hover,\n.flatpickr-monthDropdown-months:focus {\n outline: 1px solid var(--color-primary01) !important;\n}\n\n/* Year toggle selectors */\n.flatpickr-current-month > .numInputWrapper {\n display: flex;\n width: calc(var(--space-unit) * 10);\n height: calc(var(--space-unit) * 5.5) !important;\n background: var(--color-surface01) !important;\n color: var(--color-default-text);\n outline: 1px solid black !important;\n}\n\n.flatpickr-current-month > .numInputWrapper:hover,\n.flatpickr-current-month > .numInputWrapper:focus-within {\n outline: 1px solid var(--color-primary01) !important;\n}\n\n.flatpickr-current-month > .numInputWrapper > input {\n padding: 0 calc(var(--space-unit) * 3) 0 var(--space-unit);\n font-size: var(--font-size-3) !important;\n font-weight: var(--font-rg) !important;\n text-align: center;\n}\n\n/* Weekdays selectors */\n.flatpickr-weekdays {\n height: calc(var(--space-unit) * 6);\n border-bottom: 1px solid var(--color-surface03);\n}\n\n.flatpickr-weekday {\n font-size: var(--font-size-3) !important;\n font-weight: var(--font-rg) !important;\n}\n\n/* Calendar days and months selectors */\n.flatpickr-day,\n.flatpickr-monthSelect-month {\n width: calc(var(--space-unit) * 6) !important;\n max-width: 100% !important;\n height: calc(var(--space-unit) * 6) !important;\n border: none;\n margin: 0 !important;\n border-radius: 0 !important;\n box-shadow: none !important;\n font-size: var(--font-size-3) !important;\n line-height: calc(var(--space-unit) * 6) !important;\n}\n\n.flatpickr-day {\n width: calc(var(--space-unit) * 6) !important;\n border: none;\n line-height: calc(var(--space-unit) * 6) !important;\n}\n\n.flatpickr-monthSelect-month {\n width: calc(var(--space-unit) * 14) !important;\n padding: 0 !important;\n border: 2px solid var(--color-surface01) !important;\n line-height: calc(var(--space-unit) * 5) !important;\n}\n\n.flatpickr-day:not(.flatpickr-disabled):hover,\n.flatpickr-day:not(.flatpickr-disabled):active,\n.flatpickr-day:not(.flatpickr-disabled):focus,\n.flatpickr-day:not(.flatpickr-disabled).prevMonthDay:hover,\n.flatpickr-day:not(.flatpickr-disabled).prevMonthDay:active,\n.flatpickr-day:not(.flatpickr-disabled).prevMonthDay:focus,\n.flatpickr-day:not(.flatpickr-disabled).selected:hover,\n.flatpickr-day:not(.flatpickr-disabled).selected:active,\n.flatpickr-day:not(.flatpickr-disabled).selected:focus,\n.flatpickr-monthSelect-month:hover,\n.flatpickr-monthSelect-month:active,\n.flatpickr-monthSelect-month:focus {\n border-color: var(--color-hover-primary) !important;\n background-color: var(--color-hover-primary) !important;\n color: var(--color-text-inverse) !important;\n}\n\n.flatpickr-day.today,\n.flatpickr-monthSelect-month.today {\n border: 2px solid var(--color-hover-primary) !important;\n}\n\n.flatpickr-day.selected:not(.flatpickr-disabled),\n.flatpickr-monthSelect-month.selected:not(.flatpickr-disabled) {\n border-color: var(--color-primary01) !important;\n background-color: var(--color-primary01) !important;\n}\n\n.flatpickr-weekday:nth-child(6),\n.flatpickr-weekday:nth-child(7),\n.flatpickr-day:nth-child(7n + 6),\n.flatpickr-day:nth-child(7n + 7) {\n font-weight: var(--font-sb) !important;\n}\n\n/* Date and time selectors */\n.flatpickr-time {\n display: block;\n height: 90px !important;\n max-height: 90px !important;\n text-align: left;\n}\n\n.flatpickr-time::before {\n display: block;\n width: 100%;\n padding-left: var(--space-unit);\n color: var(--color-default-text) !important;\n content: \"Orario\";\n font-size: var(--font-size-1);\n font-weight: var(--font-sb);\n text-transform: uppercase;\n}\n\n.flatpickr-time.time24hr {\n margin: calc(var(--space-unit) * 2) !important;\n}\n\n.flatpickr-time.time24hr > .numInputWrapper > input:hover,\n.flatpickr-time.time24hr > .numInputWrapper > input:focus,\n.flatpickr-time.time24hr > .numInputWrapper:hover {\n background-color: var(--color-surface01) !important;\n}\n\n.flatpickr-time.time24hr > div {\n width: calc(var(--space-unit) * 10) !important;\n height: calc(var(--space-unit) * 5.5) !important;\n margin-right: var(--space-unit) !important;\n margin-left: var(--space-unit) !important;\n}\n\n.flatpickr-time-separator {\n display: flex;\n height: calc(var(--space-unit) * 5.5) !important;\n align-items: center;\n justify-content: center;\n font-weight: unset !important;\n}\n\n.flatpickr-minute,\n.flatpickr-hour {\n font-size: var(--font-size-3) !important;\n font-weight: var(--font-rg) !important;\n outline: 1px solid black !important;\n}\n\n.numInputWrapper:hover .flatpickr-minute,\n.numInputWrapper:hover .flatpickr-hour,\n.flatpickr-minute:focus,\n.flatpickr-hour:focus {\n outline: 1px solid var(--color-primary01) !important;\n}\n\n/* toggle arrows selectors */\n.arrowUp,\n.arrowDown {\n width: calc(var(--space-unit) * 2) !important;\n height: calc(var(--space-unit) * 2) !important;\n padding: 0 !important;\n border: none !important;\n opacity: 1 !important;\n}\n\n.arrowUp {\n margin-top: calc(var(--space-unit) / 2) !important;\n margin-right: calc(var(--space-unit) / 2) !important;\n}\n\n.arrowDown {\n top: auto !important;\n margin-top: calc(var(--space-unit) * 3) !important;\n margin-right: calc(var(--space-unit) / 2) !important;\n}\n\n.arrowUp:hover,\n.arrowDown:hover {\n border-color: var(--color-primary03) !important;\n background-color: var(--color-primary03) !important;\n border-radius: var(--border-radius);\n color: var(--color-hover-primary) !important;\n}\n\n.arrowUp:active,\n.arrowDown:active {\n border-color: var(--color-surface01) !important;\n background-color: var(--color-surface01) !important;\n border-radius: var(--border-radius);\n box-shadow: var(--shadow-2) !important;\n color: var(--color-primary01) !important;\n}\n\n.arrowUp::after,\n.arrowDown::after {\n padding: 2.5px !important;\n border: solid var(--color-primary01) !important;\n border-width: 0 1px 1px 0 !important;\n}\n\n.arrowUp::after {\n top: 0 !important;\n margin-top: 6px !important;\n margin-left: 5.5px !important;\n transform: rotate(-135deg);\n}\n\n.arrowDown::after {\n top: 0 !important;\n left: 5.5px !important;\n margin-top: 4px !important;\n transform: rotate(45deg);\n}\n\n/* range-date-picker selectors */\n\n.flatpickr-day:not(.flatpickr-disabled).inRange:hover,\n.flatpickr-day:not(.flatpickr-disabled).today.inRange:hover,\n.flatpickr-day.prevMonthDay:not(.flatpickr-disabled).inRange:hover,\n.flatpickr-monthSelect-month:not(.flatpickr-disabled).inRange:hover {\n border-color: var(--color-hover-primary) !important;\n background-color: var(--color-hover-primary) !important;\n}\n\n.flatpickr-day:not(.flatpickr-disabled).inRange,\n.flatpickr-day:not(.flatpickr-disabled).today.inRange,\n.flatpickr-day:not(.flatpickr-disabled).prevMonthDay.inRange,\n.flatpickr-monthSelect-month:not(.flatpickr-disabled).inRange {\n border-color: var(--color-primary03);\n background-color: var(--color-primary03);\n}\n\n.flatpickr-day:not(.flatpickr-disabled).startRange,\n.flatpickr-day:not(.flatpickr-disabled).endRange,\n.flatpickr-monthSelect-month:not(.flatpickr-disabled).startRange,\n.flatpickr-monthSelect-month:not(.flatpickr-disabled).endRange {\n border-color: var(--color-primary01) !important;\n background-color: var(--color-primary01) !important;\n}\n\n.flatpickr-day:not(.flatpickr-disabled).prevMonthDay.selected.startRange,\n.flatpickr-day:not(.flatpickr-disabled).prevMonthDay.selected.endRange {\n border-color: var(--color-primary01) !important;\n background-color: var(--color-primary01) !important;\n}\n\n.flatpickr-range.second-input {\n cursor: pointer;\n}\n\n.range-pickers-container {\n display: flex;\n gap: 16px;\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Listen,\n Prop,\n State,\n Watch,\n h,\n} from \"@stencil/core\";\n\nimport flatpickr from \"flatpickr\";\nimport {Italian} from \"flatpickr/dist/l10n/it.js\";\nimport monthSelectPlugin from \"flatpickr/dist/plugins/monthSelect\";\nimport {InputType, ZDatePickerMode, ZDatePickerPosition} from \"../../../beans\";\nimport {setAriaOptions, setFlatpickrPosition, validateDate} from \"../utils\";\n\n@Component({\n tag: \"z-date-picker\",\n styleUrl: \"../styles.css\",\n shadow: false,\n})\nexport class ZDatePicker implements ComponentInterface {\n @Element() element: HTMLZDatePickerElement;\n\n /** unique id */\n @Prop()\n datePickerId: string;\n\n /** z-input aria label */\n @Prop()\n htmlAriaLabel?: string;\n\n /** z-input label */\n @Prop()\n label?: string;\n\n /** [Optional] datepicker mode: date, datetime, only months */\n @Prop()\n mode: ZDatePickerMode = ZDatePickerMode.DATE;\n\n /** [Optional] the datepicker input name */\n @Prop()\n name?: string = undefined;\n\n /** [Optional] the datepicker input value */\n @Prop()\n value?: string = undefined;\n\n @State()\n flatpickrPosition: ZDatePickerPosition = ZDatePickerPosition.BOTTOM;\n\n @State()\n inputError = false;\n\n private picker;\n\n private hasChildren: boolean;\n\n /** emitted when date changes, returns selected date */\n @Event()\n dateSelect: EventEmitter;\n\n private emitDateSelect(date): void {\n this.dateSelect.emit(date);\n }\n\n @Listen(\"keydown\", {capture: true})\n handleKeyDown(ev: KeyboardEvent): void {\n if (ev.key === \"Escape\") {\n this.picker?.close();\n }\n\n if (ev.key === \"Enter\" || ev.key === \" \") {\n if (!this.hasChildren) {\n this.picker?.open();\n }\n\n const isCrossIconEntered = document.activeElement.classList.contains(\"reset-icon\");\n\n if (isCrossIconEntered) {\n this.inputError = false;\n this.picker?.setDate([]);\n this.dateSelect.emit(null);\n }\n\n const flatpickrDayPressed = document.activeElement.classList.contains(\"flatpickr-day\");\n if (flatpickrDayPressed) {\n //Sistemare il toggle\n }\n const isPrevArrowEntered = document.activeElement.classList.contains(\"flatpickr-prev-month\");\n const isNextArrowEntered = document.activeElement.classList.contains(\"flatpickr-next-month\");\n const arrowPressed = isPrevArrowEntered || isNextArrowEntered;\n\n if (arrowPressed && ev.key === \" \") {\n ev.preventDefault();\n }\n\n if (this.mode === ZDatePickerMode.MONTHS) {\n if (isPrevArrowEntered) {\n this.picker?.changeYear(this.picker.currentYear - 1);\n }\n\n if (isNextArrowEntered) {\n this.picker?.changeYear(this.picker.currentYear + 1);\n }\n\n if (arrowPressed) {\n const calendar = this.element.getElementsByClassName(\"flatpickr-calendar\")[0];\n const months = calendar?.querySelectorAll(\".flatpickr-monthSelect-month\");\n months?.forEach((element) => {\n element.setAttribute(\"aria-label\", `${element.innerHTML} ${this.picker?.currentYear}`);\n });\n\n //Force check of the current day\n Array.from(months ?? []).forEach((element, index) => {\n const curMonth = new Date().getMonth();\n const curYear = new Date().getFullYear();\n\n if (index === curMonth) {\n if (this.picker?.currentYear === curYear) {\n element.setAttribute(\"class\", \"flatpickr-monthSelect-month today\");\n } else {\n element.setAttribute(\"class\", \"flatpickr-monthSelect-month\");\n }\n }\n });\n }\n } else {\n if (isPrevArrowEntered) {\n this.picker?.changeMonth(-1);\n }\n if (isNextArrowEntered) {\n this.picker?.changeMonth(1);\n }\n }\n }\n }\n\n componentWillLoad(): void {\n const customToggle = this.element.querySelector(\"[slot=toggle]\");\n this.hasChildren = !!customToggle;\n if (this.hasChildren) {\n customToggle.setAttribute(\"data-toggle\", \"data-toggle\");\n }\n }\n\n componentDidLoad(): void {\n this.setupPickers();\n }\n\n @Watch(\"mode\")\n setupPickers(): void {\n const classToAppend = this.hasChildren ? `${this.datePickerId}-hidden` : `${this.datePickerId}-container`;\n\n this.picker = flatpickr(`.${classToAppend}`, {\n appendTo: this.element.children[0] as HTMLElement,\n enableTime: this.mode === ZDatePickerMode.DATE_TIME,\n locale: Italian,\n allowInput: true,\n dateFormat: this.mode === ZDatePickerMode.DATE_TIME ? \"d-m-Y - H:i\" : \"d-m-Y\",\n ariaDateFormat: this.mode === ZDatePickerMode.MONTHS ? \"F Y\" : \"d F Y\",\n minuteIncrement: 1,\n time_24hr: true,\n onChange: (_selectedDates, dateStr) => {\n this.emitDateSelect(dateStr);\n },\n onOpen: () => {\n setAriaOptions(this.element as HTMLElement, this.mode);\n this.flatpickrPosition = setFlatpickrPosition(this.element as HTMLElement, this.mode);\n },\n onKeyDown: () => {\n setAriaOptions(this.element as HTMLElement, this.mode);\n },\n wrap: true,\n plugins: this.mode === ZDatePickerMode.MONTHS && [\n monthSelectPlugin({\n dateFormat: \"m-Y\",\n altFormat: \"m-Y\",\n }),\n ],\n });\n\n this.element.querySelectorAll(\".flatpickr-weekday\").forEach((element) => {\n element.innerHTML = element.innerHTML.trim().charAt(0);\n });\n }\n\n private formatDate(date): string {\n if (this.mode === ZDatePickerMode.DATE) {\n return `${flatpickr.formatDate(date, \"d-m-Y\")}`;\n } else if (this.mode === ZDatePickerMode.MONTHS) {\n return `${flatpickr.formatDate(date, \"m-Y\")}`;\n }\n\n return `${flatpickr.formatDate(date, \"d-m-Y - H:i\")}`;\n }\n\n private onStopTyping(value): void {\n let text = value.detail.value;\n\n if (this.mode === ZDatePickerMode.MONTHS) {\n text = \"01-\".concat(value.detail.value);\n }\n\n const englishData = text.split(\"-\");\n const time = this.mode === ZDatePickerMode.DATE_TIME ? `T${englishData[3]}:00` : \"\";\n const englishParsedData = `${englishData[2]}-${englishData[1]}-${englishData[0]}${time}`.split(\" \").join(\"\");\n\n const isValidDate = validateDate(englishParsedData, this.mode === ZDatePickerMode.DATE_TIME);\n\n if (text === \"\") {\n this.inputError = false;\n this.picker.setDate([]);\n this.dateSelect.emit(null);\n } else if (!isValidDate) {\n this.inputError = true;\n this.dateSelect.emit(null);\n } else if (isValidDate) {\n this.inputError = false;\n this.picker.setDate([value.detail.value]);\n this.dateSelect.emit(this.formatDate(new Date(englishParsedData)));\n }\n }\n\n private renderSlottedContent(): HTMLDivElement {\n return (\n <div class={`${this.datePickerId}-hidden`}>\n <input\n class=\"hidden-input\"\n data-input\n name={this.name}\n value={this.value}\n ></input>\n <slot name=\"toggle\"></slot>\n </div>\n );\n }\n\n private renderZInput(): HTMLDivElement {\n return (\n <div class={`${this.datePickerId}-container`}>\n <z-input\n data-input=\"data-input\"\n htmlAriaLabel={this.htmlAriaLabel}\n label={this.label}\n class={this.datePickerId}\n type={InputType.TEXT}\n icon=\"event\"\n message={false}\n name={this.name}\n tabindex=\"0\"\n value={this.value}\n onStopTyping={(value) => {\n this.onStopTyping(value);\n }}\n onStartTyping={() => {\n this.inputError = false;\n }}\n ></z-input>\n </div>\n );\n }\n\n render(): HTMLDivElement {\n return (\n <div\n class={{\n \"flatpickr-toggle-container\": true,\n [this.flatpickrPosition]: true,\n [this.mode]: true,\n }}\n >\n {this.hasChildren ? this.renderSlottedContent() : this.renderZInput()}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["global","factory","module","exports","this","__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","monthToStr","monthNumber","shorthand","locale","months","clearNode","node","firstChild","removeChild","getEventTarget","event","composedPath","path","target","error","defaultConfig","dateFormat","altFormat","theme","monthSelectPlugin","pluginConfig","config","fp","self","monthsContainer","clearUnnecessaryDOMElements","rContainer","index","monthElements","element","parentNode","build","_createElement","tabIndex","buildMonths","appendChild","calendarContainer","classList","add","frag","document","createDocumentFragment","month","createDay","Date","currentYear","dateObj","getMonth","getFullYear","textContent","l10n","addEventListener","selectMonth","minDate","prevMonthNav","remove","maxDate","nextMonthNav","bindEvents","_bind","e","preventDefault","stopPropagation","changeYear","selectYear","mode","onMouseOver","setCurrentlySelected","selectedDates","currentlySelected","querySelectorAll","targetMonth","querySelector","selectedDate","setFullYear","currentYearElement","value","String","forEach","eventTarget","Element","contains","setMonth","closeOnSelect","single","range","close","date","getDate","push","concat","sort","a","b","getTime","setDate","shifts","onKeyDown","_","__","___","shouldMove","keyCode","undefined","Array","indexOf","children","activeElement","firstElementChild","focus","$i","closeHook","_a","clear","stubCurrentMonth","_stubbedCurrentMonth","_initialDate","currentMonth","unstubCurrentMonth","destroyPluginInstance","removeEventListener","onParseConfig","enableTime","onValueUpdate","onReady","onClose","loadedPlugins","onDestroy","filter","hook","stylesCss","ZDatePicker","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","ZDatePickerMode","DATE","name","flatpickrPosition","ZDatePickerPosition","BOTTOM","inputError","emitDateSelect","dateSelect","emit","handleKeyDown","ev","key","picker","hasChildren","_b","open","isCrossIconEntered","_c","isPrevArrowEntered","isNextArrowEntered","arrowPressed","MONTHS","_d","_e","calendar","getElementsByClassName","setAttribute","innerHTML","from","curMonth","curYear","_f","changeMonth","_g","componentWillLoad","customToggle","componentDidLoad","setupPickers","classToAppend","datePickerId","flatpickr","appendTo","DATE_TIME","Italian","allowInput","ariaDateFormat","minuteIncrement","time_24hr","onChange","_selectedDates","dateStr","onOpen","setAriaOptions","setFlatpickrPosition","wrap","plugins","trim","charAt","formatDate","onStopTyping","text","detail","englishData","split","time","englishParsedData","join","isValidDate","validateDate","renderSlottedContent","h","class","renderZInput","htmlAriaLabel","label","type","InputType","TEXT","icon","message","tabindex","onStartTyping","render"],"sources":["node_modules/flatpickr/dist/plugins/monthSelect/index.js","src/components/date-picker/styles.css?tag=z-date-picker","src/components/date-picker/z-date-picker/index.tsx"],"sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.monthSelectPlugin = factory());\n}(this, (function () { 'use strict';\n\n /*! *****************************************************************************\r\n Copyright (c) Microsoft Corporation.\r\n\r\n Permission to use, copy, modify, and/or distribute this software for any\r\n purpose with or without fee is hereby granted.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\n PERFORMANCE OF THIS SOFTWARE.\r\n ***************************************************************************** */\r\n\r\n var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n };\n\n var monthToStr = function (monthNumber, shorthand, locale) { return locale.months[shorthand ? \"shorthand\" : \"longhand\"][monthNumber]; };\n\n function clearNode(node) {\n while (node.firstChild)\n node.removeChild(node.firstChild);\n }\n function getEventTarget(event) {\n try {\n if (typeof event.composedPath === \"function\") {\n var path = event.composedPath();\n return path[0];\n }\n return event.target;\n }\n catch (error) {\n return event.target;\n }\n }\n\n var defaultConfig = {\n shorthand: false,\n dateFormat: \"F Y\",\n altFormat: \"F Y\",\n theme: \"light\",\n };\n function monthSelectPlugin(pluginConfig) {\n var config = __assign(__assign({}, defaultConfig), pluginConfig);\n return function (fp) {\n fp.config.dateFormat = config.dateFormat;\n fp.config.altFormat = config.altFormat;\n var self = { monthsContainer: null };\n function clearUnnecessaryDOMElements() {\n if (!fp.rContainer)\n return;\n clearNode(fp.rContainer);\n for (var index = 0; index < fp.monthElements.length; index++) {\n var element = fp.monthElements[index];\n if (!element.parentNode)\n continue;\n element.parentNode.removeChild(element);\n }\n }\n function build() {\n if (!fp.rContainer)\n return;\n self.monthsContainer = fp._createElement(\"div\", \"flatpickr-monthSelect-months\");\n self.monthsContainer.tabIndex = -1;\n buildMonths();\n fp.rContainer.appendChild(self.monthsContainer);\n fp.calendarContainer.classList.add(\"flatpickr-monthSelect-theme-\" + config.theme);\n }\n function buildMonths() {\n if (!self.monthsContainer)\n return;\n clearNode(self.monthsContainer);\n var frag = document.createDocumentFragment();\n for (var i = 0; i < 12; i++) {\n var month = fp.createDay(\"flatpickr-monthSelect-month\", new Date(fp.currentYear, i), 0, i);\n if (month.dateObj.getMonth() === new Date().getMonth() &&\n month.dateObj.getFullYear() === new Date().getFullYear())\n month.classList.add(\"today\");\n month.textContent = monthToStr(i, config.shorthand, fp.l10n);\n month.addEventListener(\"click\", selectMonth);\n frag.appendChild(month);\n }\n self.monthsContainer.appendChild(frag);\n if (fp.config.minDate &&\n fp.currentYear === fp.config.minDate.getFullYear())\n fp.prevMonthNav.classList.add(\"flatpickr-disabled\");\n else\n fp.prevMonthNav.classList.remove(\"flatpickr-disabled\");\n if (fp.config.maxDate &&\n fp.currentYear === fp.config.maxDate.getFullYear())\n fp.nextMonthNav.classList.add(\"flatpickr-disabled\");\n else\n fp.nextMonthNav.classList.remove(\"flatpickr-disabled\");\n }\n function bindEvents() {\n fp._bind(fp.prevMonthNav, \"click\", function (e) {\n e.preventDefault();\n e.stopPropagation();\n fp.changeYear(fp.currentYear - 1);\n selectYear();\n buildMonths();\n });\n fp._bind(fp.nextMonthNav, \"click\", function (e) {\n e.preventDefault();\n e.stopPropagation();\n fp.changeYear(fp.currentYear + 1);\n selectYear();\n buildMonths();\n });\n fp._bind(self.monthsContainer, \"mouseover\", function (e) {\n if (fp.config.mode === \"range\")\n fp.onMouseOver(getEventTarget(e), \"flatpickr-monthSelect-month\");\n });\n }\n function setCurrentlySelected() {\n if (!fp.rContainer)\n return;\n if (!fp.selectedDates.length)\n return;\n var currentlySelected = fp.rContainer.querySelectorAll(\".flatpickr-monthSelect-month.selected\");\n for (var index = 0; index < currentlySelected.length; index++) {\n currentlySelected[index].classList.remove(\"selected\");\n }\n var targetMonth = fp.selectedDates[0].getMonth();\n var month = fp.rContainer.querySelector(\".flatpickr-monthSelect-month:nth-child(\" + (targetMonth + 1) + \")\");\n if (month) {\n month.classList.add(\"selected\");\n }\n }\n function selectYear() {\n var selectedDate = fp.selectedDates[0];\n if (selectedDate) {\n selectedDate = new Date(selectedDate);\n selectedDate.setFullYear(fp.currentYear);\n if (fp.config.minDate && selectedDate < fp.config.minDate) {\n selectedDate = fp.config.minDate;\n }\n if (fp.config.maxDate && selectedDate > fp.config.maxDate) {\n selectedDate = fp.config.maxDate;\n }\n fp.currentYear = selectedDate.getFullYear();\n }\n fp.currentYearElement.value = String(fp.currentYear);\n if (fp.rContainer) {\n var months = fp.rContainer.querySelectorAll(\".flatpickr-monthSelect-month\");\n months.forEach(function (month) {\n month.dateObj.setFullYear(fp.currentYear);\n if ((fp.config.minDate && month.dateObj < fp.config.minDate) ||\n (fp.config.maxDate && month.dateObj > fp.config.maxDate)) {\n month.classList.add(\"flatpickr-disabled\");\n }\n else {\n month.classList.remove(\"flatpickr-disabled\");\n }\n });\n }\n setCurrentlySelected();\n }\n function selectMonth(e) {\n e.preventDefault();\n e.stopPropagation();\n var eventTarget = getEventTarget(e);\n if (!(eventTarget instanceof Element))\n return;\n if (eventTarget.classList.contains(\"flatpickr-disabled\"))\n return;\n if (eventTarget.classList.contains(\"notAllowed\"))\n return; // necessary??\n setMonth(eventTarget.dateObj);\n if (fp.config.closeOnSelect) {\n var single = fp.config.mode === \"single\";\n var range = fp.config.mode === \"range\" && fp.selectedDates.length === 2;\n if (single || range)\n fp.close();\n }\n }\n function setMonth(date) {\n var selectedDate = new Date(fp.currentYear, date.getMonth(), date.getDate());\n var selectedDates = [];\n switch (fp.config.mode) {\n case \"single\":\n selectedDates = [selectedDate];\n break;\n case \"multiple\":\n selectedDates.push(selectedDate);\n break;\n case \"range\":\n if (fp.selectedDates.length === 2) {\n selectedDates = [selectedDate];\n }\n else {\n selectedDates = fp.selectedDates.concat([selectedDate]);\n selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n }\n break;\n }\n fp.setDate(selectedDates, true);\n setCurrentlySelected();\n }\n var shifts = {\n 37: -1,\n 39: 1,\n 40: 3,\n 38: -3,\n };\n function onKeyDown(_, __, ___, e) {\n var shouldMove = shifts[e.keyCode] !== undefined;\n if (!shouldMove && e.keyCode !== 13) {\n return;\n }\n if (!fp.rContainer || !self.monthsContainer)\n return;\n var currentlySelected = fp.rContainer.querySelector(\".flatpickr-monthSelect-month.selected\");\n var index = Array.prototype.indexOf.call(self.monthsContainer.children, document.activeElement);\n if (index === -1) {\n var target = currentlySelected || self.monthsContainer.firstElementChild;\n target.focus();\n index = target.$i;\n }\n if (shouldMove) {\n self.monthsContainer.children[(12 + index + shifts[e.keyCode]) % 12].focus();\n }\n else if (e.keyCode === 13 &&\n self.monthsContainer.contains(document.activeElement)) {\n setMonth(document.activeElement.dateObj);\n }\n }\n function closeHook() {\n var _a;\n if (((_a = fp.config) === null || _a === void 0 ? void 0 : _a.mode) === \"range\" && fp.selectedDates.length === 1)\n fp.clear(false);\n if (!fp.selectedDates.length)\n buildMonths();\n }\n // Help the prev/next year nav honor config.minDate (see 3fa5a69)\n function stubCurrentMonth() {\n config._stubbedCurrentMonth = fp._initialDate.getMonth();\n fp._initialDate.setMonth(config._stubbedCurrentMonth);\n fp.currentMonth = config._stubbedCurrentMonth;\n }\n function unstubCurrentMonth() {\n if (!config._stubbedCurrentMonth)\n return;\n fp._initialDate.setMonth(config._stubbedCurrentMonth);\n fp.currentMonth = config._stubbedCurrentMonth;\n delete config._stubbedCurrentMonth;\n }\n function destroyPluginInstance() {\n if (self.monthsContainer !== null) {\n var months = self.monthsContainer.querySelectorAll(\".flatpickr-monthSelect-month\");\n for (var index = 0; index < months.length; index++) {\n months[index].removeEventListener(\"click\", selectMonth);\n }\n }\n }\n return {\n onParseConfig: function () {\n fp.config.enableTime = false;\n },\n onValueUpdate: setCurrentlySelected,\n onKeyDown: onKeyDown,\n onReady: [\n stubCurrentMonth,\n clearUnnecessaryDOMElements,\n build,\n bindEvents,\n setCurrentlySelected,\n function () {\n fp.config.onClose.push(closeHook);\n fp.loadedPlugins.push(\"monthSelect\");\n },\n ],\n onDestroy: [\n unstubCurrentMonth,\n destroyPluginInstance,\n function () {\n fp.config.onClose = fp.config.onClose.filter(function (hook) { return hook !== closeHook; });\n },\n ],\n };\n };\n }\n\n return monthSelectPlugin;\n\n})));\n","@import \"~flatpickr/dist/flatpickr.min.css\";\n@import \"~flatpickr/dist/plugins/monthSelect/style.css\";\n\n/* stylelint-disable selector-class-pattern -- we have no control over flatpickr css classes naming */\n\n:host {\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n\n --z-range-picker--toggle-height: 0;\n}\n\nz-date-picker {\n position: relative;\n}\n\nz-date-picker > div > * {\n cursor: pointer !important;\n}\n\nz-range-picker {\n position: relative;\n}\n\n.flatpickr-toggle-container {\n width: fit-content;\n}\n\n.range-pickers-container > div {\n position: relative;\n}\n\n.hidden-input {\n position: absolute;\n bottom: 0;\n width: 0;\n height: 0;\n visibility: hidden !important;\n}\n\n/* Calendar container selectors */\n.flatpickr-calendar::before,\n.flatpickr-calendar::after {\n display: none;\n}\n\n.flatpickr-calendar {\n position: absolute !important;\n top: var(--z-range-picker--toggle-height) !important;\n left: 0 !important;\n padding-top: calc(var(--space-unit) * 2);\n border-radius: 2px;\n box-shadow: var(--shadow-2);\n font-family: var(--font-family-sans) !important;\n}\n\n.months.top > .flatpickr-calendar {\n top: -288px !important;\n}\n\n.date.top > .flatpickr-calendar,\n.date.top > div > .flatpickr-calendar {\n top: -401px !important;\n}\n\n.date-time.top > .flatpickr-calendar,\n.date-time.top > div > .flatpickr-calendar {\n top: -523px !important;\n}\n\n.flatpickr-calendar,\n.flatpickr-innerContainer,\n.flatpickr-days,\n.dayContainer,\n.flatpickr-rContainer,\n.flatpickr-monthSelect-months {\n width: calc(var(--space-unit) * 42) !important;\n max-width: calc(var(--space-unit) * 42) !important;\n}\n\n.flatpickr-monthSelect-months {\n box-sizing: border-box;\n padding: 0 !important;\n margin: calc(var(--space-unit) * 2) 0 !important;\n}\n\n/* Months and year row containers selectors */\n.flatpickr-months {\n position: relative;\n height: calc(var(--space-unit) * 6) !important;\n align-items: center;\n margin-bottom: var(--space-unit) 0 !important;\n}\n\n.flatpickr-month {\n overflow: visible !important;\n height: calc(var(--space-unit) * 6) !important;\n}\n\n.flatpickr-current-month {\n left: 0 !important;\n display: flex !important;\n width: fill-available;\n height: calc(var(--space-unit) * 6);\n align-items: baseline;\n justify-content: space-evenly;\n padding-top: 0;\n}\n\n/* Months arrows selectors */\n.flatpickr-next-month,\n.flatpickr-prev-month {\n position: static !important;\n display: flex;\n width: calc(var(--space-unit) * 4) !important;\n height: calc(var(--space-unit) * 4) !important;\n align-items: center;\n justify-content: center;\n padding: 0 !important;\n}\n\n.flatpickr-prev-month {\n margin-left: var(--space-unit);\n}\n\n.flatpickr-next-month {\n margin-right: var(--space-unit);\n}\n\n.flatpickr-next-month > svg,\n.flatpickr-prev-month > svg {\n width: calc(var(--space-unit) * 2) !important;\n height: calc(var(--space-unit) * 2) !important;\n fill: var(--color-primary01);\n}\n\n.flatpickr-next-month:hover,\n.flatpickr-prev-month:hover,\n.flatpickr-next-month:focus,\n.flatpickr-prev-month:focus {\n border: none !important;\n border-color: var(--color-primary03) !important;\n background-color: var(--color-primary03) !important;\n border-radius: var(--border-radius);\n color: var(--color-hover-primary) !important;\n outline: none !important;\n}\n\n.flatpickr-next-month:hover svg,\n.flatpickr-prev-month:hover svg {\n fill: var(--color-hover-primary) !important;\n}\n\n.flatpickr-next-month:active,\n.flatpickr-prev-month:active {\n border-color: var(--color-surface01) !important;\n background-color: var(--color-surface01) !important;\n border-radius: var(--border-radius);\n box-shadow: var(--shadow-2) !important;\n color: var(--color-primary01) !important;\n}\n\n.flatpickr-next-month:focus svg,\n.flatpickr-prev-month:focus svg {\n fill: var(--color-primary01) !important;\n}\n\n/* Months dropdown selectors */\n.flatpickr-monthDropdown-months {\n width: 108px !important;\n height: calc(var(--space-unit) * 5.5) !important;\n padding-left: var(--space-unit) !important;\n background: var(--color-surface01) !important;\n color: var(--color-default-text) !important;\n font-size: var(--font-size-3) !important;\n font-weight: var(--font-rg) !important;\n outline: 1px solid black !important;\n}\n\n.flatpickr-monthDropdown-months:hover,\n.flatpickr-monthDropdown-months:focus {\n outline: 1px solid var(--color-primary01) !important;\n}\n\n/* Year toggle selectors */\n.flatpickr-current-month > .numInputWrapper {\n display: flex;\n width: calc(var(--space-unit) * 10);\n height: calc(var(--space-unit) * 5.5) !important;\n background: var(--color-surface01) !important;\n color: var(--color-default-text);\n outline: 1px solid black !important;\n}\n\n.flatpickr-current-month > .numInputWrapper:hover,\n.flatpickr-current-month > .numInputWrapper:focus-within {\n outline: 1px solid var(--color-primary01) !important;\n}\n\n.flatpickr-current-month > .numInputWrapper > input {\n padding: 0 calc(var(--space-unit) * 3) 0 var(--space-unit);\n font-size: var(--font-size-3) !important;\n font-weight: var(--font-rg) !important;\n text-align: center;\n}\n\n/* Weekdays selectors */\n.flatpickr-weekdays {\n height: calc(var(--space-unit) * 6);\n border-bottom: 1px solid var(--color-surface03);\n}\n\n.flatpickr-weekday {\n font-size: var(--font-size-3) !important;\n font-weight: var(--font-rg) !important;\n}\n\n/* Calendar days and months selectors */\n.flatpickr-day,\n.flatpickr-monthSelect-month {\n width: calc(var(--space-unit) * 6) !important;\n max-width: 100% !important;\n height: calc(var(--space-unit) * 6) !important;\n border: none;\n margin: 0 !important;\n border-radius: 0 !important;\n box-shadow: none !important;\n font-size: var(--font-size-3) !important;\n line-height: calc(var(--space-unit) * 6) !important;\n}\n\n.flatpickr-day {\n width: calc(var(--space-unit) * 6) !important;\n border: none;\n line-height: calc(var(--space-unit) * 6) !important;\n}\n\n.flatpickr-monthSelect-month {\n width: calc(var(--space-unit) * 14) !important;\n padding: 0 !important;\n border: 2px solid var(--color-surface01) !important;\n line-height: calc(var(--space-unit) * 5) !important;\n}\n\n.flatpickr-day:not(.flatpickr-disabled):hover,\n.flatpickr-day:not(.flatpickr-disabled):active,\n.flatpickr-day:not(.flatpickr-disabled):focus,\n.flatpickr-day:not(.flatpickr-disabled).prevMonthDay:hover,\n.flatpickr-day:not(.flatpickr-disabled).prevMonthDay:active,\n.flatpickr-day:not(.flatpickr-disabled).prevMonthDay:focus,\n.flatpickr-day:not(.flatpickr-disabled).selected:hover,\n.flatpickr-day:not(.flatpickr-disabled).selected:active,\n.flatpickr-day:not(.flatpickr-disabled).selected:focus,\n.flatpickr-monthSelect-month:hover,\n.flatpickr-monthSelect-month:active,\n.flatpickr-monthSelect-month:focus {\n border-color: var(--color-hover-primary) !important;\n background-color: var(--color-hover-primary) !important;\n color: var(--color-text-inverse) !important;\n}\n\n.flatpickr-day.today,\n.flatpickr-monthSelect-month.today {\n border: 2px solid var(--color-hover-primary) !important;\n}\n\n.flatpickr-day.selected:not(.flatpickr-disabled),\n.flatpickr-monthSelect-month.selected:not(.flatpickr-disabled) {\n border-color: var(--color-primary01) !important;\n background-color: var(--color-primary01) !important;\n}\n\n.flatpickr-weekday:nth-child(6),\n.flatpickr-weekday:nth-child(7),\n.flatpickr-day:nth-child(7n + 6),\n.flatpickr-day:nth-child(7n + 7) {\n font-weight: var(--font-sb) !important;\n}\n\n/* Date and time selectors */\n.flatpickr-time {\n display: block;\n height: 90px !important;\n max-height: 90px !important;\n text-align: left;\n}\n\n.flatpickr-time::before {\n display: block;\n width: 100%;\n padding-left: var(--space-unit);\n color: var(--color-default-text) !important;\n content: \"Orario\";\n font-size: var(--font-size-1);\n font-weight: var(--font-sb);\n text-transform: uppercase;\n}\n\n.flatpickr-time.time24hr {\n margin: calc(var(--space-unit) * 2) !important;\n}\n\n.flatpickr-time.time24hr > .numInputWrapper > input:hover,\n.flatpickr-time.time24hr > .numInputWrapper > input:focus,\n.flatpickr-time.time24hr > .numInputWrapper:hover {\n background-color: var(--color-surface01) !important;\n}\n\n.flatpickr-time.time24hr > div {\n width: calc(var(--space-unit) * 10) !important;\n height: calc(var(--space-unit) * 5.5) !important;\n margin-right: var(--space-unit) !important;\n margin-left: var(--space-unit) !important;\n}\n\n.flatpickr-time-separator {\n display: flex;\n height: calc(var(--space-unit) * 5.5) !important;\n align-items: center;\n justify-content: center;\n font-weight: unset !important;\n}\n\n.flatpickr-minute,\n.flatpickr-hour {\n font-size: var(--font-size-3) !important;\n font-weight: var(--font-rg) !important;\n outline: 1px solid black !important;\n}\n\n.numInputWrapper:hover .flatpickr-minute,\n.numInputWrapper:hover .flatpickr-hour,\n.flatpickr-minute:focus,\n.flatpickr-hour:focus {\n outline: 1px solid var(--color-primary01) !important;\n}\n\n/* toggle arrows selectors */\n.arrowUp,\n.arrowDown {\n width: calc(var(--space-unit) * 2) !important;\n height: calc(var(--space-unit) * 2) !important;\n padding: 0 !important;\n border: none !important;\n opacity: 1 !important;\n}\n\n.arrowUp {\n margin-top: calc(var(--space-unit) / 2) !important;\n margin-right: calc(var(--space-unit) / 2) !important;\n}\n\n.arrowDown {\n top: auto !important;\n margin-top: calc(var(--space-unit) * 3) !important;\n margin-right: calc(var(--space-unit) / 2) !important;\n}\n\n.arrowUp:hover,\n.arrowDown:hover {\n border-color: var(--color-primary03) !important;\n background-color: var(--color-primary03) !important;\n border-radius: var(--border-radius);\n color: var(--color-hover-primary) !important;\n}\n\n.arrowUp:active,\n.arrowDown:active {\n border-color: var(--color-surface01) !important;\n background-color: var(--color-surface01) !important;\n border-radius: var(--border-radius);\n box-shadow: var(--shadow-2) !important;\n color: var(--color-primary01) !important;\n}\n\n.arrowUp::after,\n.arrowDown::after {\n padding: 2.5px !important;\n border: solid var(--color-primary01) !important;\n border-width: 0 1px 1px 0 !important;\n}\n\n.arrowUp::after {\n top: 0 !important;\n margin-top: 6px !important;\n margin-left: 5.5px !important;\n transform: rotate(-135deg);\n}\n\n.arrowDown::after {\n top: 0 !important;\n left: 5.5px !important;\n margin-top: 4px !important;\n transform: rotate(45deg);\n}\n\n/* range-date-picker selectors */\n\n.flatpickr-day:not(.flatpickr-disabled).inRange:hover,\n.flatpickr-day:not(.flatpickr-disabled).today.inRange:hover,\n.flatpickr-day.prevMonthDay:not(.flatpickr-disabled).inRange:hover,\n.flatpickr-monthSelect-month:not(.flatpickr-disabled).inRange:hover {\n border-color: var(--color-hover-primary) !important;\n background-color: var(--color-hover-primary) !important;\n}\n\n.flatpickr-day:not(.flatpickr-disabled).inRange,\n.flatpickr-day:not(.flatpickr-disabled).today.inRange,\n.flatpickr-day:not(.flatpickr-disabled).prevMonthDay.inRange,\n.flatpickr-monthSelect-month:not(.flatpickr-disabled).inRange {\n border-color: var(--color-primary03);\n background-color: var(--color-primary03);\n}\n\n.flatpickr-day:not(.flatpickr-disabled).startRange,\n.flatpickr-day:not(.flatpickr-disabled).endRange,\n.flatpickr-monthSelect-month:not(.flatpickr-disabled).startRange,\n.flatpickr-monthSelect-month:not(.flatpickr-disabled).endRange {\n border-color: var(--color-primary01) !important;\n background-color: var(--color-primary01) !important;\n}\n\n.flatpickr-day:not(.flatpickr-disabled).prevMonthDay.selected.startRange,\n.flatpickr-day:not(.flatpickr-disabled).prevMonthDay.selected.endRange {\n border-color: var(--color-primary01) !important;\n background-color: var(--color-primary01) !important;\n}\n\n.flatpickr-range.second-input {\n cursor: pointer;\n}\n\n.range-pickers-container {\n display: flex;\n gap: 16px;\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Listen,\n Prop,\n State,\n Watch,\n h,\n} from \"@stencil/core\";\n\nimport flatpickr from \"flatpickr\";\nimport {Italian} from \"flatpickr/dist/l10n/it.js\";\nimport monthSelectPlugin from \"flatpickr/dist/plugins/monthSelect\";\nimport {InputType, ZDatePickerMode, ZDatePickerPosition} from \"../../../beans\";\nimport {setAriaOptions, setFlatpickrPosition, validateDate} from \"../utils\";\n\n@Component({\n tag: \"z-date-picker\",\n styleUrl: \"../styles.css\",\n shadow: false,\n})\nexport class ZDatePicker implements ComponentInterface {\n @Element() element: HTMLZDatePickerElement;\n\n /** unique id */\n @Prop()\n datePickerId: string;\n\n /** z-input aria label */\n @Prop()\n htmlAriaLabel?: string;\n\n /** z-input label */\n @Prop()\n label?: string;\n\n /** [Optional] datepicker mode: date, datetime, only months */\n @Prop()\n mode: ZDatePickerMode = ZDatePickerMode.DATE;\n\n /** [Optional] the datepicker input name */\n @Prop()\n name?: string = undefined;\n\n /** [Optional] the datepicker input value */\n @Prop()\n value?: string = undefined;\n\n @State()\n flatpickrPosition: ZDatePickerPosition = ZDatePickerPosition.BOTTOM;\n\n @State()\n inputError = false;\n\n private picker;\n\n private hasChildren: boolean;\n\n /** emitted when date changes, returns selected date */\n @Event()\n dateSelect: EventEmitter;\n\n private emitDateSelect(date): void {\n this.dateSelect.emit(date);\n }\n\n @Listen(\"keydown\", {capture: true})\n handleKeyDown(ev: KeyboardEvent): void {\n if (ev.key === \"Escape\") {\n this.picker?.close();\n }\n\n if (ev.key === \"Enter\" || ev.key === \" \") {\n if (!this.hasChildren) {\n this.picker?.open();\n }\n\n const isCrossIconEntered = document.activeElement.classList.contains(\"reset-icon\");\n\n if (isCrossIconEntered) {\n this.inputError = false;\n this.picker?.setDate([]);\n this.dateSelect.emit(null);\n }\n\n const flatpickrDayPressed = document.activeElement.classList.contains(\"flatpickr-day\");\n if (flatpickrDayPressed) {\n //Sistemare il toggle\n }\n const isPrevArrowEntered = document.activeElement.classList.contains(\"flatpickr-prev-month\");\n const isNextArrowEntered = document.activeElement.classList.contains(\"flatpickr-next-month\");\n const arrowPressed = isPrevArrowEntered || isNextArrowEntered;\n\n if (arrowPressed && ev.key === \" \") {\n ev.preventDefault();\n }\n\n if (this.mode === ZDatePickerMode.MONTHS) {\n if (isPrevArrowEntered) {\n this.picker?.changeYear(this.picker.currentYear - 1);\n }\n\n if (isNextArrowEntered) {\n this.picker?.changeYear(this.picker.currentYear + 1);\n }\n\n if (arrowPressed) {\n const calendar = this.element.getElementsByClassName(\"flatpickr-calendar\")[0];\n const months = calendar?.querySelectorAll(\".flatpickr-monthSelect-month\");\n months?.forEach((element) => {\n element.setAttribute(\"aria-label\", `${element.innerHTML} ${this.picker?.currentYear}`);\n });\n\n //Force check of the current day\n Array.from(months ?? []).forEach((element, index) => {\n const curMonth = new Date().getMonth();\n const curYear = new Date().getFullYear();\n\n if (index === curMonth) {\n if (this.picker?.currentYear === curYear) {\n element.setAttribute(\"class\", \"flatpickr-monthSelect-month today\");\n } else {\n element.setAttribute(\"class\", \"flatpickr-monthSelect-month\");\n }\n }\n });\n }\n } else {\n if (isPrevArrowEntered) {\n this.picker?.changeMonth(-1);\n }\n if (isNextArrowEntered) {\n this.picker?.changeMonth(1);\n }\n }\n }\n }\n\n componentWillLoad(): void {\n const customToggle = this.element.querySelector(\"[slot=toggle]\");\n this.hasChildren = !!customToggle;\n if (this.hasChildren) {\n customToggle.setAttribute(\"data-toggle\", \"data-toggle\");\n }\n }\n\n componentDidLoad(): void {\n this.setupPickers();\n }\n\n @Watch(\"mode\")\n setupPickers(): void {\n const classToAppend = this.hasChildren ? `${this.datePickerId}-hidden` : `${this.datePickerId}-container`;\n\n this.picker = flatpickr(`.${classToAppend}`, {\n appendTo: this.element.children[0] as HTMLElement,\n enableTime: this.mode === ZDatePickerMode.DATE_TIME,\n locale: Italian,\n allowInput: true,\n dateFormat: this.mode === ZDatePickerMode.DATE_TIME ? \"d-m-Y - H:i\" : \"d-m-Y\",\n ariaDateFormat: this.mode === ZDatePickerMode.MONTHS ? \"F Y\" : \"d F Y\",\n minuteIncrement: 1,\n time_24hr: true,\n onChange: (_selectedDates, dateStr) => {\n this.emitDateSelect(dateStr);\n },\n onOpen: () => {\n setAriaOptions(this.element as HTMLElement, this.mode);\n this.flatpickrPosition = setFlatpickrPosition(this.element as HTMLElement, this.mode);\n },\n onKeyDown: () => {\n setAriaOptions(this.element as HTMLElement, this.mode);\n },\n wrap: true,\n plugins: this.mode === ZDatePickerMode.MONTHS && [\n monthSelectPlugin({\n dateFormat: \"m-Y\",\n altFormat: \"m-Y\",\n }),\n ],\n });\n\n this.element.querySelectorAll(\".flatpickr-weekday\").forEach((element) => {\n element.innerHTML = element.innerHTML.trim().charAt(0);\n });\n }\n\n private formatDate(date): string {\n if (this.mode === ZDatePickerMode.DATE) {\n return `${flatpickr.formatDate(date, \"d-m-Y\")}`;\n } else if (this.mode === ZDatePickerMode.MONTHS) {\n return `${flatpickr.formatDate(date, \"m-Y\")}`;\n }\n\n return `${flatpickr.formatDate(date, \"d-m-Y - H:i\")}`;\n }\n\n private onStopTyping(value): void {\n let text = value.detail.value;\n\n if (this.mode === ZDatePickerMode.MONTHS) {\n text = \"01-\".concat(value.detail.value);\n }\n\n const englishData = text.split(\"-\");\n const time = this.mode === ZDatePickerMode.DATE_TIME ? `T${englishData[3]}:00` : \"\";\n const englishParsedData = `${englishData[2]}-${englishData[1]}-${englishData[0]}${time}`.split(\" \").join(\"\");\n\n const isValidDate = validateDate(englishParsedData, this.mode === ZDatePickerMode.DATE_TIME);\n\n if (text === \"\") {\n this.inputError = false;\n this.picker.setDate([]);\n this.dateSelect.emit(null);\n } else if (!isValidDate) {\n this.inputError = true;\n this.dateSelect.emit(null);\n } else if (isValidDate) {\n this.inputError = false;\n this.picker.setDate([value.detail.value]);\n this.dateSelect.emit(this.formatDate(new Date(englishParsedData)));\n }\n }\n\n private renderSlottedContent(): HTMLDivElement {\n return (\n <div class={`${this.datePickerId}-hidden`}>\n <input\n class=\"hidden-input\"\n data-input\n name={this.name}\n value={this.value}\n ></input>\n <slot name=\"toggle\"></slot>\n </div>\n );\n }\n\n private renderZInput(): HTMLDivElement {\n return (\n <div class={`${this.datePickerId}-container`}>\n <z-input\n data-input=\"data-input\"\n htmlAriaLabel={this.htmlAriaLabel}\n label={this.label}\n class={this.datePickerId}\n type={InputType.TEXT}\n icon=\"event\"\n message={false}\n name={this.name}\n tabindex=\"0\"\n value={this.value}\n onStopTyping={(value) => {\n this.onStopTyping(value);\n }}\n onStartTyping={() => {\n this.inputError = false;\n }}\n ></z-input>\n </div>\n );\n }\n\n render(): HTMLDivElement {\n return (\n <div\n class={{\n \"flatpickr-toggle-container\": true,\n [this.flatpickrPosition]: true,\n [this.mode]: true,\n }}\n >\n {this.hasChildren ? this.renderSlottedContent() : this.renderZInput()}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{Z as o,d as s}from"./index5.js";const t=o;const n=s;export{t as ZDivider,n as defineCustomElement};
1
+ import{Z as o,d as s}from"./p-BolVsvfr.js";const r=o;const t=s;export{r as ZDivider,t as defineCustomElement};
2
2
  //# sourceMappingURL=z-divider.js.map
@@ -1,2 +1,2 @@
1
- import{Z as o,d as s}from"./index19.js";const t=o;const n=s;export{t as ZDragdropArea,n as defineCustomElement};
1
+ import{Z as o,d as s}from"./p-VP75-vje.js";const t=o;const p=s;export{t as ZDragdropArea,p as defineCustomElement};
2
2
  //# sourceMappingURL=z-dragdrop-area.js.map
@@ -1,2 +1,2 @@
1
- import{proxyCustomElement as e,HTMLElement as i,createEvent as s,h as a,Host as t,transformTag as l}from"@stencil/core/internal/client";import{w as o}from"./index2.js";import{d as r}from"./index4.js";import{d as n}from"./index19.js";import{d as c}from"./index3.js";import{d}from"./index20.js";const p=()=>`.sc-z-file-upload-h{display:flex;flex-direction:column;align-items:flex-start;color:var(--color-default-text);font-family:var(--font-family-sans);font-weight:var(--font-rg)}.sc-z-file-upload-h .modal-wrapper.sc-z-file-upload{display:flex;flex-direction:column;justify-content:center;padding:calc(var(--space-unit) * 2);row-gap:calc(var(--space-unit) * 2)}.sc-z-file-upload-h .modal-wrapper.sc-z-file-upload>.files-wrapper.sc-z-file-upload{display:flex;flex-direction:column;margin:calc(var(--space-unit) * 4);gap:var(--space-unit)}.sc-z-file-upload-h .text-container.sc-z-file-upload{display:flex;flex-direction:column;margin:auto;text-align:center}.sc-z-file-upload-h .text-container.sc-z-file-upload .upload-link.sc-z-file-upload{color:var(--color-text-link-blue);cursor:pointer;text-decoration:underline}.sc-z-file-upload-h .text-container.sc-z-file-upload .upload-link.sc-z-file-upload:focus-visible{box-shadow:var(--shadow-focus-primary);outline:none !important}.sc-z-file-upload-h .text-container.sc-z-file-upload .upload-link-text.sc-z-file-upload{margin-bottom:var(--space-unit)}.sc-z-file-upload-h input[type="file"].sc-z-file-upload{display:none}.sc-z-file-upload-h #title.sc-z-file-upload+#description.sc-z-file-upload{margin-top:var(--space-unit)}.sc-z-file-upload-h>*.sc-z-file-upload+z-button.sc-z-file-upload,.sc-z-file-upload-h>.files-container.sc-z-file-upload+*.sc-z-file-upload,.sc-z-file-upload-h>.files-container.sc-z-file-upload:not(:first-child){margin-top:calc(var(--space-unit) * 3)}.sc-z-file-upload-h>.files-container.hidden.sc-z-file-upload{display:none}.sc-z-file-upload-h>.files-container.sc-z-file-upload>.uploaded-files-label.sc-z-file-upload{margin-bottom:calc(var(--space-unit) * 2)}.sc-z-file-upload-h>.files-container.sc-z-file-upload>.files-wrapper.sc-z-file-upload{display:flex;flex-wrap:wrap;column-gap:calc(var(--space-unit) * 2);row-gap:calc(var(--space-unit) * 2)}@media (min-width: 768px){.sc-z-file-upload-h>.container.sc-z-file-upload>z-button.sc-z-file-upload{align-self:flex-start}.sc-z-file-upload-h .modal-wrapper.sc-z-file-upload{padding:calc(var(--space-unit) * 3)}}@media (min-width: 1152px){.sc-z-file-upload-h .modal-wrapper.sc-z-file-upload{padding:calc(var(--space-unit) * 4)}}`;const f=e(class e extends i{constructor(e){super();if(e!==false){this.__registerHost()}this.fileInput=s(this,"fileInput",7);this.fileError=s(this,"fileError",7);this.type=o.DEFAULT;this.uploadBtnLabel="allega";this.dragAndDropLabel="Rilascia i file in questa area per allegarli.";this.uploadClickableMessage="Carica";this.uploadMessage="o trascina dal tuo computer";this.errorModalTitle="Errore di caricamento";this.uploadedFilesLabel="File appena caricati";this.hasFileSection=true;this.inputName="z-file-upload";this.showErrors=true;this._type=this.type;this.files=[];this.invalidFiles=new Map}onFileRemoved(e){this.removeFile(e.detail.fileName)}fileDroppedListener(e){this.input.files=e.detail;this.checkFilesValidity(this.input.files)}async getFiles(){return this.files}async removeFile(e){const i=this.files;const s=i.findIndex((i=>i.name===e));if(s>=0){i.splice(s,1);this.files=[...i]}}checkFilesValidity(e){if(!e.length){return}Array.from(e).forEach((e=>{const i=e.size/1024/1024;const s=this.acceptedFormat.split(",").some((i=>e.name.toLowerCase().endsWith(i.trim())));const a=i<=this.fileMaxSize;if(a&&s&&!this.files.find((i=>i.name===e.name))){this.files=[...this.files,e];this.fileInput.emit(e);this.input.value="";return}const t=`Il file ${e.name} supera il limite di ${this.fileMaxSize}MB`;const l=`Il file ${e.name} ha un formato non supportato`;const o=[!a&&{cause:"size",message:t},!s&&{cause:"format",message:l}].filter(Boolean);this.invalidFiles.set(e.name,o);this.invalidFiles=new Map(this.invalidFiles);this.fileError.emit({file:e.name,errors:o})}))}resetErrors(){this.invalidFiles=new Map}onFilesChange(e){this.checkFilesValidity(e.target.files)}componentWillLoad(){const e=window.matchMedia("(max-width: 1151px)");this._type=e.matches?o.DEFAULT:this.type;e.addEventListener("change",(e=>{this._type=e.matches?o.DEFAULT:this.type}))}componentDidUpdate(){if(!this.showErrors||!this.invalidFiles.size){return}this.errorModal.open()}renderDescription(e){if(!this.description){return}return a("span",{id:"description",class:e},this.description)}renderAllowedFilesMessage(){let e="";let i="";if(this.acceptedFormat){const i=this.acceptedFormat.split(", ").map((e=>e.substring(1).toUpperCase())).join(", ");e=` nei formati ${i}`}if(this.fileMaxSize){i=` per un massimo di ${this.fileMaxSize}MB di peso`}const s=e||i?`Puoi allegare file${e}${i}.`:undefined;if(!this.allowedFilesMessage&&!s){return}return a("span",{class:"allowed-files-message body-3"},this.allowedFilesMessage||s)}renderFileSection(){if(!this.hasFileSection){return}return a("section",{class:{"files-container":true,hidden:!this.files.length}},a("div",{class:"uploaded-files-label heading-3-sb"},this.uploadedFilesLabel),a("div",{class:"files-wrapper"},a("slot",{name:"files"})))}renderInput(){return a("input",{type:"file",name:this.inputName,multiple:true,onChange:e=>this.onFilesChange(e),accept:this.acceptedFormat,"aria-labelledby":this.description?"description":undefined,ref:e=>this.input=e})}renderUploadButton(){return[a("z-button",{onClick:()=>this.input.click(),onKeyPress:e=>{if(e.code=="Space"||e.code=="Enter"){e.preventDefault();this.input.click()}},id:"fileSelect",variant:this.buttonVariant,icon:"upload"},this.uploadBtnLabel),this.renderInput()]}renderUploadLink(){return[this.renderInput(),a("span",{class:"body-1 upload-link-text"},a("span",{tabIndex:0,class:"body-1-sb upload-link",onClick:()=>this.input.click(),onKeyPress:e=>{if(e.code=="Space"||e.code=="Enter"){e.preventDefault();this.input.click()}}},this.uploadClickableMessage)," ",this.uploadMessage)]}renderDefaultMode(){return[this.renderDescription("body-3-sb"),this.renderAllowedFilesMessage(),this.renderFileSection(),this.renderUploadButton()]}renderDragDropMode(){return[this.renderFileSection(),a("z-dragdrop-area",{"drag-and-drop-label":this.dragAndDropLabel},a("div",{class:"text-container"},this.renderDescription("body-1"),this.renderUploadLink(),this.renderAllowedFilesMessage()))]}renderFileErrors(){return Array.from(this.invalidFiles).map((([e,i])=>{const s=`Il file ${e}`;return a("span",{class:"error-message"},"Il file ",a("span",{class:"body-3-sb"},e),i.map((({message:e})=>e.replace(s,""))).join(" e "),".")}))}render(){return a(t,{key:"26a1a04ff6d1a9c9cf0e16311bb747b349c7ca67"},this.mainTitle&&a("div",{key:"cbce95e36bb7a1fe81c8c41e0723169e6b47442d",id:"title",class:"heading-3-sb"},this.mainTitle),this._type==o.DEFAULT?this.renderDefaultMode():this.renderDragDropMode(),!!this.invalidFiles.size&&this.showErrors&&a("z-modal",{key:"6a000d85f1f9b46a2872b4fa40b978a97427018c",modalid:`file-upload-${this.type}-error-modal`,ref:e=>this.errorModal=e,modaltitle:this.errorModalTitle,onModalClose:()=>this.resetErrors(),onModalBackgroundClick:()=>this.resetErrors()},a("div",{key:"caa8f6424a54d279ed2eca6c7514390324b40c59",slot:"modalContent"},a("div",{key:"b069c1fff610bcf4adbff57b0c5a9fa3e70e32ea",class:"modal-wrapper body-3"},this.errorModalMessage?this.errorModalMessage:this.renderFileErrors()))))}get host(){return this}static get style(){return p()}},[262,"z-file-upload",{type:[513],buttonVariant:[1,"button-variant"],acceptedFormat:[1,"accepted-format"],fileMaxSize:[2,"file-max-size"],mainTitle:[1,"main-title"],description:[1],uploadBtnLabel:[1,"upload-btn-label"],dragAndDropLabel:[1,"drag-and-drop-label"],allowedFilesMessage:[1,"allowed-files-message"],uploadClickableMessage:[1,"upload-clickable-message"],uploadMessage:[1,"upload-message"],errorModalTitle:[1,"error-modal-title"],errorModalMessage:[1,"error-modal-message"],uploadedFilesLabel:[1,"uploaded-files-label"],hasFileSection:[4,"has-file-section"],inputName:[1,"input-name"],showErrors:[4,"show-errors"],_type:[32],files:[32],invalidFiles:[32],input:[32],getFiles:[64],removeFile:[64]},[[0,"removeFile","onFileRemoved"],[0,"fileDropped","fileDroppedListener"]]]);function u(){if(typeof customElements==="undefined"){return}const e=["z-file-upload","z-button","z-dragdrop-area","z-icon","z-modal"];e.forEach((e=>{switch(e){case"z-file-upload":if(!customElements.get(l(e))){customElements.define(l(e),f)}break;case"z-button":if(!customElements.get(l(e))){r()}break;case"z-dragdrop-area":if(!customElements.get(l(e))){n()}break;case"z-icon":if(!customElements.get(l(e))){c()}break;case"z-modal":if(!customElements.get(l(e))){d()}break}}))}const h=f;const m=u;export{h as ZFileUpload,m as defineCustomElement};
1
+ import{p as e,H as i,c as s,h as a,d as t,t as l}from"./p-RmbDDbWd.js";import{w as o}from"./p-DdetsoIY.js";import{d as r}from"./p-BAguKZnb.js";import{d as n}from"./p-VP75-vje.js";import{d as c}from"./p-CbXEdwLi.js";import{d}from"./p-BbZelagf.js";const p=()=>`.sc-z-file-upload-h{display:flex;flex-direction:column;align-items:flex-start;color:var(--color-default-text);font-family:var(--font-family-sans);font-weight:var(--font-rg)}.sc-z-file-upload-h .modal-wrapper.sc-z-file-upload{display:flex;flex-direction:column;justify-content:center;padding:calc(var(--space-unit) * 2);row-gap:calc(var(--space-unit) * 2)}.sc-z-file-upload-h .modal-wrapper.sc-z-file-upload>.files-wrapper.sc-z-file-upload{display:flex;flex-direction:column;margin:calc(var(--space-unit) * 4);gap:var(--space-unit)}.sc-z-file-upload-h .text-container.sc-z-file-upload{display:flex;flex-direction:column;margin:auto;text-align:center}.sc-z-file-upload-h .text-container.sc-z-file-upload .upload-link.sc-z-file-upload{color:var(--color-text-link-blue);cursor:pointer;text-decoration:underline}.sc-z-file-upload-h .text-container.sc-z-file-upload .upload-link.sc-z-file-upload:focus-visible{box-shadow:var(--shadow-focus-primary);outline:none !important}.sc-z-file-upload-h .text-container.sc-z-file-upload .upload-link-text.sc-z-file-upload{margin-bottom:var(--space-unit)}.sc-z-file-upload-h input[type="file"].sc-z-file-upload{display:none}.sc-z-file-upload-h #title.sc-z-file-upload+#description.sc-z-file-upload{margin-top:var(--space-unit)}.sc-z-file-upload-h>*.sc-z-file-upload+z-button.sc-z-file-upload,.sc-z-file-upload-h>.files-container.sc-z-file-upload+*.sc-z-file-upload,.sc-z-file-upload-h>.files-container.sc-z-file-upload:not(:first-child){margin-top:calc(var(--space-unit) * 3)}.sc-z-file-upload-h>.files-container.hidden.sc-z-file-upload{display:none}.sc-z-file-upload-h>.files-container.sc-z-file-upload>.uploaded-files-label.sc-z-file-upload{margin-bottom:calc(var(--space-unit) * 2)}.sc-z-file-upload-h>.files-container.sc-z-file-upload>.files-wrapper.sc-z-file-upload{display:flex;flex-wrap:wrap;column-gap:calc(var(--space-unit) * 2);row-gap:calc(var(--space-unit) * 2)}@media (min-width: 768px){.sc-z-file-upload-h>.container.sc-z-file-upload>z-button.sc-z-file-upload{align-self:flex-start}.sc-z-file-upload-h .modal-wrapper.sc-z-file-upload{padding:calc(var(--space-unit) * 3)}}@media (min-width: 1152px){.sc-z-file-upload-h .modal-wrapper.sc-z-file-upload{padding:calc(var(--space-unit) * 4)}}`;const f=e(class e extends i{constructor(e){super();if(e!==false){this.__registerHost()}this.fileInput=s(this,"fileInput",7);this.fileError=s(this,"fileError",7);this.type=o.DEFAULT;this.uploadBtnLabel="allega";this.dragAndDropLabel="Rilascia i file in questa area per allegarli.";this.uploadClickableMessage="Carica";this.uploadMessage="o trascina dal tuo computer";this.errorModalTitle="Errore di caricamento";this.uploadedFilesLabel="File appena caricati";this.hasFileSection=true;this.inputName="z-file-upload";this.showErrors=true;this._type=this.type;this.files=[];this.invalidFiles=new Map}onFileRemoved(e){this.removeFile(e.detail.fileName)}fileDroppedListener(e){this.input.files=e.detail;this.checkFilesValidity(this.input.files)}async getFiles(){return this.files}async removeFile(e){const i=this.files;const s=i.findIndex((i=>i.name===e));if(s>=0){i.splice(s,1);this.files=[...i]}}checkFilesValidity(e){if(!e.length){return}Array.from(e).forEach((e=>{const i=e.size/1024/1024;const s=this.acceptedFormat.split(",").some((i=>e.name.toLowerCase().endsWith(i.trim())));const a=i<=this.fileMaxSize;if(a&&s&&!this.files.find((i=>i.name===e.name))){this.files=[...this.files,e];this.fileInput.emit(e);this.input.value="";return}const t=`Il file ${e.name} supera il limite di ${this.fileMaxSize}MB`;const l=`Il file ${e.name} ha un formato non supportato`;const o=[!a&&{cause:"size",message:t},!s&&{cause:"format",message:l}].filter(Boolean);this.invalidFiles.set(e.name,o);this.invalidFiles=new Map(this.invalidFiles);this.fileError.emit({file:e.name,errors:o})}))}resetErrors(){this.invalidFiles=new Map}onFilesChange(e){this.checkFilesValidity(e.target.files)}componentWillLoad(){const e=window.matchMedia("(max-width: 1151px)");this._type=e.matches?o.DEFAULT:this.type;e.addEventListener("change",(e=>{this._type=e.matches?o.DEFAULT:this.type}))}componentDidUpdate(){if(!this.showErrors||!this.invalidFiles.size){return}this.errorModal.open()}renderDescription(e){if(!this.description){return}return a("span",{id:"description",class:e},this.description)}renderAllowedFilesMessage(){let e="";let i="";if(this.acceptedFormat){const i=this.acceptedFormat.split(", ").map((e=>e.substring(1).toUpperCase())).join(", ");e=` nei formati ${i}`}if(this.fileMaxSize){i=` per un massimo di ${this.fileMaxSize}MB di peso`}const s=e||i?`Puoi allegare file${e}${i}.`:undefined;if(!this.allowedFilesMessage&&!s){return}return a("span",{class:"allowed-files-message body-3"},this.allowedFilesMessage||s)}renderFileSection(){if(!this.hasFileSection){return}return a("section",{class:{"files-container":true,hidden:!this.files.length}},a("div",{class:"uploaded-files-label heading-3-sb"},this.uploadedFilesLabel),a("div",{class:"files-wrapper"},a("slot",{name:"files"})))}renderInput(){return a("input",{type:"file",name:this.inputName,multiple:true,onChange:e=>this.onFilesChange(e),accept:this.acceptedFormat,"aria-labelledby":this.description?"description":undefined,ref:e=>this.input=e})}renderUploadButton(){return[a("z-button",{onClick:()=>this.input.click(),onKeyPress:e=>{if(e.code=="Space"||e.code=="Enter"){e.preventDefault();this.input.click()}},id:"fileSelect",variant:this.buttonVariant,icon:"upload"},this.uploadBtnLabel),this.renderInput()]}renderUploadLink(){return[this.renderInput(),a("span",{class:"body-1 upload-link-text"},a("span",{tabIndex:0,class:"body-1-sb upload-link",onClick:()=>this.input.click(),onKeyPress:e=>{if(e.code=="Space"||e.code=="Enter"){e.preventDefault();this.input.click()}}},this.uploadClickableMessage)," ",this.uploadMessage)]}renderDefaultMode(){return[this.renderDescription("body-3-sb"),this.renderAllowedFilesMessage(),this.renderFileSection(),this.renderUploadButton()]}renderDragDropMode(){return[this.renderFileSection(),a("z-dragdrop-area",{"drag-and-drop-label":this.dragAndDropLabel},a("div",{class:"text-container"},this.renderDescription("body-1"),this.renderUploadLink(),this.renderAllowedFilesMessage()))]}renderFileErrors(){return Array.from(this.invalidFiles).map((([e,i])=>{const s=`Il file ${e}`;return a("span",{class:"error-message"},"Il file ",a("span",{class:"body-3-sb"},e),i.map((({message:e})=>e.replace(s,""))).join(" e "),".")}))}render(){return a(t,{key:"26a1a04ff6d1a9c9cf0e16311bb747b349c7ca67"},this.mainTitle&&a("div",{key:"cbce95e36bb7a1fe81c8c41e0723169e6b47442d",id:"title",class:"heading-3-sb"},this.mainTitle),this._type==o.DEFAULT?this.renderDefaultMode():this.renderDragDropMode(),!!this.invalidFiles.size&&this.showErrors&&a("z-modal",{key:"6a000d85f1f9b46a2872b4fa40b978a97427018c",modalid:`file-upload-${this.type}-error-modal`,ref:e=>this.errorModal=e,modaltitle:this.errorModalTitle,onModalClose:()=>this.resetErrors(),onModalBackgroundClick:()=>this.resetErrors()},a("div",{key:"caa8f6424a54d279ed2eca6c7514390324b40c59",slot:"modalContent"},a("div",{key:"b069c1fff610bcf4adbff57b0c5a9fa3e70e32ea",class:"modal-wrapper body-3"},this.errorModalMessage?this.errorModalMessage:this.renderFileErrors()))))}get host(){return this}static get style(){return p()}},[262,"z-file-upload",{type:[513],buttonVariant:[1,"button-variant"],acceptedFormat:[1,"accepted-format"],fileMaxSize:[2,"file-max-size"],mainTitle:[1,"main-title"],description:[1],uploadBtnLabel:[1,"upload-btn-label"],dragAndDropLabel:[1,"drag-and-drop-label"],allowedFilesMessage:[1,"allowed-files-message"],uploadClickableMessage:[1,"upload-clickable-message"],uploadMessage:[1,"upload-message"],errorModalTitle:[1,"error-modal-title"],errorModalMessage:[1,"error-modal-message"],uploadedFilesLabel:[1,"uploaded-files-label"],hasFileSection:[4,"has-file-section"],inputName:[1,"input-name"],showErrors:[4,"show-errors"],_type:[32],files:[32],invalidFiles:[32],input:[32],getFiles:[64],removeFile:[64]},[[0,"removeFile","onFileRemoved"],[0,"fileDropped","fileDroppedListener"]]]);function u(){if(typeof customElements==="undefined"){return}const e=["z-file-upload","z-button","z-dragdrop-area","z-icon","z-modal"];e.forEach((e=>{switch(e){case"z-file-upload":if(!customElements.get(l(e))){customElements.define(l(e),f)}break;case"z-button":if(!customElements.get(l(e))){r()}break;case"z-dragdrop-area":if(!customElements.get(l(e))){n()}break;case"z-icon":if(!customElements.get(l(e))){c()}break;case"z-modal":if(!customElements.get(l(e))){d()}break}}))}const h=f;const m=u;export{h as ZFileUpload,m as defineCustomElement};
2
2
  //# sourceMappingURL=z-file-upload.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["stylesCss","ZFileUpload","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","type","ZFileUploadType","DEFAULT","uploadBtnLabel","dragAndDropLabel","uploadClickableMessage","uploadMessage","errorModalTitle","uploadedFilesLabel","hasFileSection","inputName","showErrors","_type","files","invalidFiles","Map","onFileRemoved","e","removeFile","detail","fileName","fileDroppedListener","input","checkFilesValidity","getFiles","index","findIndex","file","name","splice","length","Array","from","forEach","fileSize","size","fileFormatOk","acceptedFormat","split","some","ext","toLowerCase","endsWith","trim","fileSizeOk","fileMaxSize","find","f","fileInput","emit","value","sizeError","formatError","errors","cause","message","filter","Boolean","set","fileError","resetErrors","onFilesChange","target","componentWillLoad","mql","window","matchMedia","matches","addEventListener","componentDidUpdate","errorModal","open","renderDescription","cssClass","description","h","id","class","renderAllowedFilesMessage","fileFormatString","fileWeightString","fileFormat","map","string","substring","toUpperCase","join","defaultMessage","undefined","allowedFilesMessage","renderFileSection","hidden","renderInput","multiple","onChange","accept","ref","val","renderUploadButton","onClick","click","onKeyPress","code","preventDefault","variant","buttonVariant","icon","renderUploadLink","tabIndex","renderDefaultMode","renderDragDropMode","renderFileErrors","prefix","replace","render","Host","key","mainTitle","modalid","modaltitle","onModalClose","onModalBackgroundClick","slot","errorModalMessage"],"sources":["src/components/file-upload/z-file-upload/styles.css?tag=z-file-upload&encapsulation=scoped","src/components/file-upload/z-file-upload/index.tsx"],"sourcesContent":[":host {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n color: var(--color-default-text);\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n:host .modal-wrapper {\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: calc(var(--space-unit) * 2);\n row-gap: calc(var(--space-unit) * 2);\n}\n\n:host .modal-wrapper > .files-wrapper {\n display: flex;\n flex-direction: column;\n margin: calc(var(--space-unit) * 4);\n gap: var(--space-unit);\n}\n\n:host .text-container {\n display: flex;\n flex-direction: column;\n margin: auto;\n text-align: center;\n}\n\n:host .text-container .upload-link {\n color: var(--color-text-link-blue);\n cursor: pointer;\n text-decoration: underline;\n}\n\n:host .text-container .upload-link:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none !important;\n}\n\n:host .text-container .upload-link-text {\n margin-bottom: var(--space-unit);\n}\n\n:host input[type=\"file\"] {\n display: none;\n}\n\n:host #title + #description {\n margin-top: var(--space-unit);\n}\n\n:host > * + z-button,\n:host > .files-container + *,\n:host > .files-container:not(:first-child) {\n margin-top: calc(var(--space-unit) * 3);\n}\n\n:host > .files-container.hidden {\n display: none;\n}\n\n:host > .files-container > .uploaded-files-label {\n margin-bottom: calc(var(--space-unit) * 2);\n}\n\n:host > .files-container > .files-wrapper {\n display: flex;\n flex-wrap: wrap;\n column-gap: calc(var(--space-unit) * 2);\n row-gap: calc(var(--space-unit) * 2);\n}\n\n/* Tablet breakpoint */\n@media (min-width: 768px) {\n :host > .container > z-button {\n align-self: flex-start;\n }\n\n :host .modal-wrapper {\n padding: calc(var(--space-unit) * 3);\n }\n}\n\n@media (min-width: 1152px) {\n :host .modal-wrapper {\n padding: calc(var(--space-unit) * 4);\n }\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Method,\n Prop,\n State,\n h,\n} from \"@stencil/core\";\nimport {ButtonVariant, ZFileUploadType} from \"../../../beans\";\n\nexport type ZFileUploadError = {cause: \"format\" | \"size\"; message: string};\n\n@Component({\n tag: \"z-file-upload\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZFileUpload implements ComponentInterface {\n /** Prop indicating the file upload type - can be default or dragdrop */\n @Prop({reflect: true})\n type: ZFileUploadType = ZFileUploadType.DEFAULT;\n\n /** Prop indicating the button variant*/\n @Prop()\n buttonVariant?: ButtonVariant;\n\n /** Prop indicating the accepted file type: ex \".pdf, .doc, .jpg\" */\n @Prop()\n acceptedFormat?: string;\n\n /** Max file dimension in Megabyte */\n @Prop()\n fileMaxSize?: number;\n\n /** Title */\n @Prop()\n mainTitle?: string;\n\n /** Description */\n @Prop()\n description?: string;\n\n /** upoload button label */\n @Prop()\n uploadBtnLabel?: string = \"allega\";\n\n /** drag & drop button label */\n @Prop()\n dragAndDropLabel?: string = \"Rilascia i file in questa area per allegarli.\";\n\n /** allowed file message */\n @Prop()\n allowedFilesMessage?: string;\n\n /** upload clickable message */\n @Prop()\n uploadClickableMessage?: string = \"Carica\";\n\n /** upload message */\n @Prop()\n uploadMessage?: string = \"o trascina dal tuo computer\";\n\n /** error modal title */\n @Prop()\n errorModalTitle?: string = \"Errore di caricamento\";\n\n /** error modal message */\n @Prop()\n errorModalMessage?: string;\n\n /** loaded files label */\n @Prop()\n uploadedFilesLabel?: string = \"File appena caricati\";\n\n /** uploaded files history rendering */\n @Prop()\n hasFileSection?: boolean = true;\n\n /** Value to set on the file input's `name` attribute (for use with forms) */\n @Prop()\n inputName? = \"z-file-upload\";\n\n /**\n * Whether to show errors in the internal modal or leave the handling to the app.\n * Errors will still be emitted.\n */\n @Prop()\n showErrors = true;\n\n /** Internal store of the component type. It will change when viewport goes from desktop to tablet/mobile and vice versa */\n @State()\n private _type: ZFileUploadType = this.type;\n\n /** Files added by the user */\n @State()\n files: File[] = [];\n\n /** Map of files whose upload caused an error and the relative errors, with the cause and a message */\n @State()\n invalidFiles: Map<string, ZFileUploadError[]> = new Map<string, ZFileUploadError[]>();\n\n /** Input ref */\n @State()\n private input: HTMLInputElement;\n\n /** Emitted when user select one or more files */\n @Event()\n fileInput: EventEmitter<File>;\n\n /**\n * Emits an array of error messages related to one or more files not allowed.\n * Emitted when some file is dropped or selected.\n */\n @Event()\n fileError: EventEmitter<{file: string; errors: ZFileUploadError[]}>;\n\n @Element() host: HTMLZFileUploadElement;\n\n private errorModal: HTMLZModalElement;\n\n /** Listen `removeFile` event sent from z-file component */\n @Listen(\"removeFile\")\n onFileRemoved(e: CustomEvent): void {\n this.removeFile(e.detail.fileName);\n }\n\n /** Listen fileDropped event sent from z-dragdrop-area component */\n @Listen(\"fileDropped\")\n fileDroppedListener(e: CustomEvent): void {\n this.input.files = e.detail;\n this.checkFilesValidity(this.input.files);\n }\n\n /** Get the list of uploaded files */\n @Method()\n async getFiles(): Promise<File[]> {\n return this.files;\n }\n\n /** Remove a previously uploaded file */\n @Method()\n async removeFile(fileName: string): Promise<void> {\n const files = this.files;\n const index = files.findIndex((file) => file.name === fileName);\n if (index >= 0) {\n files.splice(index, 1);\n this.files = [...files];\n }\n }\n\n private checkFilesValidity(files: FileList): Map<string, string[]> {\n if (!files.length) {\n return;\n }\n\n Array.from(files).forEach((file: File) => {\n const fileSize = file.size / 1024 / 1024;\n const fileFormatOk = this.acceptedFormat\n .split(\",\")\n .some((ext: string) => file.name.toLowerCase().endsWith(ext.trim()));\n const fileSizeOk = fileSize <= this.fileMaxSize;\n if (fileSizeOk && fileFormatOk && !this.files.find((f) => f.name === file.name)) {\n this.files = [...this.files, file];\n this.fileInput.emit(file);\n this.input.value = \"\";\n\n return;\n }\n\n const sizeError = `Il file ${file.name} supera il limite di ${this.fileMaxSize}MB`;\n const formatError = `Il file ${file.name} ha un formato non supportato`;\n const errors = [\n !fileSizeOk && {cause: \"size\" as const, message: sizeError},\n !fileFormatOk && {cause: \"format\" as const, message: formatError},\n ].filter(Boolean);\n this.invalidFiles.set(file.name, errors);\n this.invalidFiles = new Map(this.invalidFiles); // trigger state update\n this.fileError.emit({file: file.name, errors});\n });\n }\n\n private resetErrors(): void {\n this.invalidFiles = new Map<string, ZFileUploadError[]>();\n }\n\n private onFilesChange(e: Event): void {\n this.checkFilesValidity((e.target as HTMLInputElement).files);\n }\n\n componentWillLoad(): void {\n // force default type on mobile and tablet viewport\n const mql = window.matchMedia(\"(max-width: 1151px)\");\n this._type = mql.matches ? ZFileUploadType.DEFAULT : this.type;\n mql.addEventListener(\"change\", (e) => {\n this._type = e.matches ? ZFileUploadType.DEFAULT : this.type;\n });\n }\n\n componentDidUpdate(): void {\n if (!this.showErrors || !this.invalidFiles.size) {\n return;\n }\n\n this.errorModal.open();\n }\n\n private renderDescription(cssClass): HTMLElement | undefined {\n if (!this.description) {\n return;\n }\n\n return (\n <span\n id=\"description\"\n class={cssClass}\n >\n {this.description}\n </span>\n );\n }\n\n private renderAllowedFilesMessage(): HTMLElement {\n let fileFormatString = \"\";\n let fileWeightString = \"\";\n\n if (this.acceptedFormat) {\n const fileFormat = this.acceptedFormat\n .split(\", \")\n .map((string) => string.substring(1).toUpperCase())\n .join(\", \");\n fileFormatString = ` nei formati ${fileFormat}`;\n }\n\n if (this.fileMaxSize) {\n fileWeightString = ` per un massimo di ${this.fileMaxSize}MB di peso`;\n }\n\n const defaultMessage =\n fileFormatString || fileWeightString ? `Puoi allegare file${fileFormatString}${fileWeightString}.` : undefined;\n\n if (!this.allowedFilesMessage && !defaultMessage) {\n return;\n }\n\n return <span class=\"allowed-files-message body-3\">{this.allowedFilesMessage || defaultMessage}</span>;\n }\n\n private renderFileSection(): HTMLElement {\n if (!this.hasFileSection) {\n return;\n }\n\n return (\n <section class={{\"files-container\": true, \"hidden\": !this.files.length}}>\n <div class=\"uploaded-files-label heading-3-sb\">{this.uploadedFilesLabel}</div>\n <div class=\"files-wrapper\">\n <slot name=\"files\" />\n </div>\n </section>\n );\n }\n\n private renderInput(): HTMLInputElement {\n return (\n <input\n type=\"file\"\n name={this.inputName}\n multiple\n onChange={(e) => this.onFilesChange(e)}\n accept={this.acceptedFormat}\n aria-labelledby={this.description ? \"description\" : undefined}\n ref={(val) => (this.input = val)}\n />\n );\n }\n\n private renderUploadButton(): unknown[] {\n return [\n <z-button\n onClick={() => this.input.click()}\n onKeyPress={(e) => {\n if (e.code == \"Space\" || e.code == \"Enter\") {\n e.preventDefault();\n this.input.click();\n }\n }}\n id=\"fileSelect\"\n variant={this.buttonVariant}\n icon=\"upload\"\n >\n {this.uploadBtnLabel}\n </z-button>,\n this.renderInput(),\n ];\n }\n\n private renderUploadLink(): unknown[] {\n return [\n this.renderInput(),\n <span class=\"body-1 upload-link-text\">\n <span\n tabIndex={0}\n class=\"body-1-sb upload-link\"\n onClick={() => this.input.click()}\n onKeyPress={(e) => {\n if (e.code == \"Space\" || e.code == \"Enter\") {\n e.preventDefault();\n this.input.click();\n }\n }}\n >\n {this.uploadClickableMessage}\n </span>{\" \"}\n {this.uploadMessage}\n </span>,\n ];\n }\n\n private renderDefaultMode(): unknown[] {\n return [\n this.renderDescription(\"body-3-sb\"),\n this.renderAllowedFilesMessage(),\n this.renderFileSection(),\n this.renderUploadButton(),\n ];\n }\n\n private renderDragDropMode(): unknown[] {\n return [\n this.renderFileSection(),\n <z-dragdrop-area drag-and-drop-label={this.dragAndDropLabel}>\n <div class=\"text-container\">\n {this.renderDescription(\"body-1\")}\n {this.renderUploadLink()}\n {this.renderAllowedFilesMessage()}\n </div>\n </z-dragdrop-area>,\n ];\n }\n\n private renderFileErrors(): HTMLElement[] {\n return Array.from(this.invalidFiles).map(([fileName, errors]) => {\n const prefix = `Il file ${fileName}`;\n\n return (\n <span class=\"error-message\">\n Il file <span class=\"body-3-sb\">{fileName}</span>\n {errors.map(({message}) => message.replace(prefix, \"\")).join(\" e \")}.\n </span>\n );\n });\n }\n\n render(): HTMLZFileUploadElement {\n return (\n <Host>\n {this.mainTitle && (\n <div\n id=\"title\"\n class=\"heading-3-sb\"\n >\n {this.mainTitle}\n </div>\n )}\n {this._type == ZFileUploadType.DEFAULT ? this.renderDefaultMode() : this.renderDragDropMode()}\n {!!this.invalidFiles.size && this.showErrors && (\n <z-modal\n modalid={`file-upload-${this.type}-error-modal`}\n ref={(val) => (this.errorModal = val)}\n modaltitle={this.errorModalTitle}\n onModalClose={() => this.resetErrors()}\n onModalBackgroundClick={() => this.resetErrors()}\n >\n <div slot=\"modalContent\">\n <div class=\"modal-wrapper body-3\">\n {this.errorModalMessage ? this.errorModalMessage : this.renderFileErrors()}\n </div>\n </div>\n </z-modal>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["stylesCss","ZFileUpload","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","type","ZFileUploadType","DEFAULT","uploadBtnLabel","dragAndDropLabel","uploadClickableMessage","uploadMessage","errorModalTitle","uploadedFilesLabel","hasFileSection","inputName","showErrors","_type","files","invalidFiles","Map","onFileRemoved","e","removeFile","detail","fileName","fileDroppedListener","input","checkFilesValidity","getFiles","index","findIndex","file","name","splice","length","Array","from","forEach","fileSize","size","fileFormatOk","acceptedFormat","split","some","ext","toLowerCase","endsWith","trim","fileSizeOk","fileMaxSize","find","f","fileInput","emit","value","sizeError","formatError","errors","cause","message","filter","Boolean","set","fileError","resetErrors","onFilesChange","target","componentWillLoad","mql","window","matchMedia","matches","addEventListener","componentDidUpdate","errorModal","open","renderDescription","cssClass","description","h","id","class","renderAllowedFilesMessage","fileFormatString","fileWeightString","fileFormat","map","string","substring","toUpperCase","join","defaultMessage","undefined","allowedFilesMessage","renderFileSection","hidden","renderInput","multiple","onChange","accept","ref","val","renderUploadButton","onClick","click","onKeyPress","code","preventDefault","variant","buttonVariant","icon","renderUploadLink","tabIndex","renderDefaultMode","renderDragDropMode","renderFileErrors","prefix","replace","render","Host","key","mainTitle","modalid","modaltitle","onModalClose","onModalBackgroundClick","slot","errorModalMessage"],"sources":["src/components/file-upload/z-file-upload/styles.css?tag=z-file-upload&encapsulation=scoped","src/components/file-upload/z-file-upload/index.tsx"],"sourcesContent":[":host {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n color: var(--color-default-text);\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n:host .modal-wrapper {\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: calc(var(--space-unit) * 2);\n row-gap: calc(var(--space-unit) * 2);\n}\n\n:host .modal-wrapper > .files-wrapper {\n display: flex;\n flex-direction: column;\n margin: calc(var(--space-unit) * 4);\n gap: var(--space-unit);\n}\n\n:host .text-container {\n display: flex;\n flex-direction: column;\n margin: auto;\n text-align: center;\n}\n\n:host .text-container .upload-link {\n color: var(--color-text-link-blue);\n cursor: pointer;\n text-decoration: underline;\n}\n\n:host .text-container .upload-link:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none !important;\n}\n\n:host .text-container .upload-link-text {\n margin-bottom: var(--space-unit);\n}\n\n:host input[type=\"file\"] {\n display: none;\n}\n\n:host #title + #description {\n margin-top: var(--space-unit);\n}\n\n:host > * + z-button,\n:host > .files-container + *,\n:host > .files-container:not(:first-child) {\n margin-top: calc(var(--space-unit) * 3);\n}\n\n:host > .files-container.hidden {\n display: none;\n}\n\n:host > .files-container > .uploaded-files-label {\n margin-bottom: calc(var(--space-unit) * 2);\n}\n\n:host > .files-container > .files-wrapper {\n display: flex;\n flex-wrap: wrap;\n column-gap: calc(var(--space-unit) * 2);\n row-gap: calc(var(--space-unit) * 2);\n}\n\n/* Tablet breakpoint */\n@media (min-width: 768px) {\n :host > .container > z-button {\n align-self: flex-start;\n }\n\n :host .modal-wrapper {\n padding: calc(var(--space-unit) * 3);\n }\n}\n\n@media (min-width: 1152px) {\n :host .modal-wrapper {\n padding: calc(var(--space-unit) * 4);\n }\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Method,\n Prop,\n State,\n h,\n} from \"@stencil/core\";\nimport {ButtonVariant, ZFileUploadType} from \"../../../beans\";\n\nexport type ZFileUploadError = {cause: \"format\" | \"size\"; message: string};\n\n@Component({\n tag: \"z-file-upload\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZFileUpload implements ComponentInterface {\n /** Prop indicating the file upload type - can be default or dragdrop */\n @Prop({reflect: true})\n type: ZFileUploadType = ZFileUploadType.DEFAULT;\n\n /** Prop indicating the button variant*/\n @Prop()\n buttonVariant?: ButtonVariant;\n\n /** Prop indicating the accepted file type: ex \".pdf, .doc, .jpg\" */\n @Prop()\n acceptedFormat?: string;\n\n /** Max file dimension in Megabyte */\n @Prop()\n fileMaxSize?: number;\n\n /** Title */\n @Prop()\n mainTitle?: string;\n\n /** Description */\n @Prop()\n description?: string;\n\n /** upoload button label */\n @Prop()\n uploadBtnLabel?: string = \"allega\";\n\n /** drag & drop button label */\n @Prop()\n dragAndDropLabel?: string = \"Rilascia i file in questa area per allegarli.\";\n\n /** allowed file message */\n @Prop()\n allowedFilesMessage?: string;\n\n /** upload clickable message */\n @Prop()\n uploadClickableMessage?: string = \"Carica\";\n\n /** upload message */\n @Prop()\n uploadMessage?: string = \"o trascina dal tuo computer\";\n\n /** error modal title */\n @Prop()\n errorModalTitle?: string = \"Errore di caricamento\";\n\n /** error modal message */\n @Prop()\n errorModalMessage?: string;\n\n /** loaded files label */\n @Prop()\n uploadedFilesLabel?: string = \"File appena caricati\";\n\n /** uploaded files history rendering */\n @Prop()\n hasFileSection?: boolean = true;\n\n /** Value to set on the file input's `name` attribute (for use with forms) */\n @Prop()\n inputName? = \"z-file-upload\";\n\n /**\n * Whether to show errors in the internal modal or leave the handling to the app.\n * Errors will still be emitted.\n */\n @Prop()\n showErrors = true;\n\n /** Internal store of the component type. It will change when viewport goes from desktop to tablet/mobile and vice versa */\n @State()\n private _type: ZFileUploadType = this.type;\n\n /** Files added by the user */\n @State()\n files: File[] = [];\n\n /** Map of files whose upload caused an error and the relative errors, with the cause and a message */\n @State()\n invalidFiles: Map<string, ZFileUploadError[]> = new Map<string, ZFileUploadError[]>();\n\n /** Input ref */\n @State()\n private input: HTMLInputElement;\n\n /** Emitted when user select one or more files */\n @Event()\n fileInput: EventEmitter<File>;\n\n /**\n * Emits an array of error messages related to one or more files not allowed.\n * Emitted when some file is dropped or selected.\n */\n @Event()\n fileError: EventEmitter<{file: string; errors: ZFileUploadError[]}>;\n\n @Element() host: HTMLZFileUploadElement;\n\n private errorModal: HTMLZModalElement;\n\n /** Listen `removeFile` event sent from z-file component */\n @Listen(\"removeFile\")\n onFileRemoved(e: CustomEvent): void {\n this.removeFile(e.detail.fileName);\n }\n\n /** Listen fileDropped event sent from z-dragdrop-area component */\n @Listen(\"fileDropped\")\n fileDroppedListener(e: CustomEvent): void {\n this.input.files = e.detail;\n this.checkFilesValidity(this.input.files);\n }\n\n /** Get the list of uploaded files */\n @Method()\n async getFiles(): Promise<File[]> {\n return this.files;\n }\n\n /** Remove a previously uploaded file */\n @Method()\n async removeFile(fileName: string): Promise<void> {\n const files = this.files;\n const index = files.findIndex((file) => file.name === fileName);\n if (index >= 0) {\n files.splice(index, 1);\n this.files = [...files];\n }\n }\n\n private checkFilesValidity(files: FileList): Map<string, string[]> {\n if (!files.length) {\n return;\n }\n\n Array.from(files).forEach((file: File) => {\n const fileSize = file.size / 1024 / 1024;\n const fileFormatOk = this.acceptedFormat\n .split(\",\")\n .some((ext: string) => file.name.toLowerCase().endsWith(ext.trim()));\n const fileSizeOk = fileSize <= this.fileMaxSize;\n if (fileSizeOk && fileFormatOk && !this.files.find((f) => f.name === file.name)) {\n this.files = [...this.files, file];\n this.fileInput.emit(file);\n this.input.value = \"\";\n\n return;\n }\n\n const sizeError = `Il file ${file.name} supera il limite di ${this.fileMaxSize}MB`;\n const formatError = `Il file ${file.name} ha un formato non supportato`;\n const errors = [\n !fileSizeOk && {cause: \"size\" as const, message: sizeError},\n !fileFormatOk && {cause: \"format\" as const, message: formatError},\n ].filter(Boolean);\n this.invalidFiles.set(file.name, errors);\n this.invalidFiles = new Map(this.invalidFiles); // trigger state update\n this.fileError.emit({file: file.name, errors});\n });\n }\n\n private resetErrors(): void {\n this.invalidFiles = new Map<string, ZFileUploadError[]>();\n }\n\n private onFilesChange(e: Event): void {\n this.checkFilesValidity((e.target as HTMLInputElement).files);\n }\n\n componentWillLoad(): void {\n // force default type on mobile and tablet viewport\n const mql = window.matchMedia(\"(max-width: 1151px)\");\n this._type = mql.matches ? ZFileUploadType.DEFAULT : this.type;\n mql.addEventListener(\"change\", (e) => {\n this._type = e.matches ? ZFileUploadType.DEFAULT : this.type;\n });\n }\n\n componentDidUpdate(): void {\n if (!this.showErrors || !this.invalidFiles.size) {\n return;\n }\n\n this.errorModal.open();\n }\n\n private renderDescription(cssClass): HTMLElement | undefined {\n if (!this.description) {\n return;\n }\n\n return (\n <span\n id=\"description\"\n class={cssClass}\n >\n {this.description}\n </span>\n );\n }\n\n private renderAllowedFilesMessage(): HTMLElement {\n let fileFormatString = \"\";\n let fileWeightString = \"\";\n\n if (this.acceptedFormat) {\n const fileFormat = this.acceptedFormat\n .split(\", \")\n .map((string) => string.substring(1).toUpperCase())\n .join(\", \");\n fileFormatString = ` nei formati ${fileFormat}`;\n }\n\n if (this.fileMaxSize) {\n fileWeightString = ` per un massimo di ${this.fileMaxSize}MB di peso`;\n }\n\n const defaultMessage =\n fileFormatString || fileWeightString ? `Puoi allegare file${fileFormatString}${fileWeightString}.` : undefined;\n\n if (!this.allowedFilesMessage && !defaultMessage) {\n return;\n }\n\n return <span class=\"allowed-files-message body-3\">{this.allowedFilesMessage || defaultMessage}</span>;\n }\n\n private renderFileSection(): HTMLElement {\n if (!this.hasFileSection) {\n return;\n }\n\n return (\n <section class={{\"files-container\": true, \"hidden\": !this.files.length}}>\n <div class=\"uploaded-files-label heading-3-sb\">{this.uploadedFilesLabel}</div>\n <div class=\"files-wrapper\">\n <slot name=\"files\" />\n </div>\n </section>\n );\n }\n\n private renderInput(): HTMLInputElement {\n return (\n <input\n type=\"file\"\n name={this.inputName}\n multiple\n onChange={(e) => this.onFilesChange(e)}\n accept={this.acceptedFormat}\n aria-labelledby={this.description ? \"description\" : undefined}\n ref={(val) => (this.input = val)}\n />\n );\n }\n\n private renderUploadButton(): unknown[] {\n return [\n <z-button\n onClick={() => this.input.click()}\n onKeyPress={(e) => {\n if (e.code == \"Space\" || e.code == \"Enter\") {\n e.preventDefault();\n this.input.click();\n }\n }}\n id=\"fileSelect\"\n variant={this.buttonVariant}\n icon=\"upload\"\n >\n {this.uploadBtnLabel}\n </z-button>,\n this.renderInput(),\n ];\n }\n\n private renderUploadLink(): unknown[] {\n return [\n this.renderInput(),\n <span class=\"body-1 upload-link-text\">\n <span\n tabIndex={0}\n class=\"body-1-sb upload-link\"\n onClick={() => this.input.click()}\n onKeyPress={(e) => {\n if (e.code == \"Space\" || e.code == \"Enter\") {\n e.preventDefault();\n this.input.click();\n }\n }}\n >\n {this.uploadClickableMessage}\n </span>{\" \"}\n {this.uploadMessage}\n </span>,\n ];\n }\n\n private renderDefaultMode(): unknown[] {\n return [\n this.renderDescription(\"body-3-sb\"),\n this.renderAllowedFilesMessage(),\n this.renderFileSection(),\n this.renderUploadButton(),\n ];\n }\n\n private renderDragDropMode(): unknown[] {\n return [\n this.renderFileSection(),\n <z-dragdrop-area drag-and-drop-label={this.dragAndDropLabel}>\n <div class=\"text-container\">\n {this.renderDescription(\"body-1\")}\n {this.renderUploadLink()}\n {this.renderAllowedFilesMessage()}\n </div>\n </z-dragdrop-area>,\n ];\n }\n\n private renderFileErrors(): HTMLElement[] {\n return Array.from(this.invalidFiles).map(([fileName, errors]) => {\n const prefix = `Il file ${fileName}`;\n\n return (\n <span class=\"error-message\">\n Il file <span class=\"body-3-sb\">{fileName}</span>\n {errors.map(({message}) => message.replace(prefix, \"\")).join(\" e \")}.\n </span>\n );\n });\n }\n\n render(): HTMLZFileUploadElement {\n return (\n <Host>\n {this.mainTitle && (\n <div\n id=\"title\"\n class=\"heading-3-sb\"\n >\n {this.mainTitle}\n </div>\n )}\n {this._type == ZFileUploadType.DEFAULT ? this.renderDefaultMode() : this.renderDragDropMode()}\n {!!this.invalidFiles.size && this.showErrors && (\n <z-modal\n modalid={`file-upload-${this.type}-error-modal`}\n ref={(val) => (this.errorModal = val)}\n modaltitle={this.errorModalTitle}\n onModalClose={() => this.resetErrors()}\n onModalBackgroundClick={() => this.resetErrors()}\n >\n <div slot=\"modalContent\">\n <div class=\"modal-wrapper body-3\">\n {this.errorModalMessage ? this.errorModalMessage : this.renderFileErrors()}\n </div>\n </div>\n </z-modal>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"sPAAA,MAAMA,EAAY,IAAM,4rE,MCuBXC,EAAWC,EAAA,MAAAD,UAAAE,EANxB,WAAAC,CAAAC,G,sHASEC,KAAAC,KAAwBC,EAAgBC,QAwBxCH,KAAAI,eAA0B,SAI1BJ,KAAAK,iBAA4B,gDAQ5BL,KAAAM,uBAAkC,SAIlCN,KAAAO,cAAyB,8BAIzBP,KAAAQ,gBAA2B,wBAQ3BR,KAAAS,mBAA8B,uBAI9BT,KAAAU,eAA2B,KAI3BV,KAAAW,UAAa,gBAObX,KAAAY,WAAa,KAILZ,KAAAa,MAAyBb,KAAKC,KAItCD,KAAAc,MAAgB,GAIhBd,KAAAe,aAAgD,IAAIC,GA4RrD,CArQC,aAAAC,CAAcC,GACZlB,KAAKmB,WAAWD,EAAEE,OAAOC,S,CAK3B,mBAAAC,CAAoBJ,GAClBlB,KAAKuB,MAAMT,MAAQI,EAAEE,OACrBpB,KAAKwB,mBAAmBxB,KAAKuB,MAAMT,M,CAKrC,cAAMW,GACJ,OAAOzB,KAAKc,K,CAKd,gBAAMK,CAAWE,GACf,MAAMP,EAAQd,KAAKc,MACnB,MAAMY,EAAQZ,EAAMa,WAAWC,GAASA,EAAKC,OAASR,IACtD,GAAIK,GAAS,EAAG,CACdZ,EAAMgB,OAAOJ,EAAO,GACpB1B,KAAKc,MAAQ,IAAIA,E,EAIb,kBAAAU,CAAmBV,GACzB,IAAKA,EAAMiB,OAAQ,CACjB,M,CAGFC,MAAMC,KAAKnB,GAAOoB,SAASN,IACzB,MAAMO,EAAWP,EAAKQ,KAAO,KAAO,KACpC,MAAMC,EAAerC,KAAKsC,eACvBC,MAAM,KACNC,MAAMC,GAAgBb,EAAKC,KAAKa,cAAcC,SAASF,EAAIG,UAC9D,MAAMC,EAAaV,GAAYnC,KAAK8C,YACpC,GAAID,GAAcR,IAAiBrC,KAAKc,MAAMiC,MAAMC,GAAMA,EAAEnB,OAASD,EAAKC,OAAO,CAC/E7B,KAAKc,MAAQ,IAAId,KAAKc,MAAOc,GAC7B5B,KAAKiD,UAAUC,KAAKtB,GACpB5B,KAAKuB,MAAM4B,MAAQ,GAEnB,M,CAGF,MAAMC,EAAY,WAAWxB,EAAKC,4BAA4B7B,KAAK8C,gBACnE,MAAMO,EAAc,WAAWzB,EAAKC,oCACpC,MAAMyB,EAAS,EACZT,GAAc,CAACU,MAAO,OAAiBC,QAASJ,IAChDf,GAAgB,CAACkB,MAAO,SAAmBC,QAASH,IACrDI,OAAOC,SACT1D,KAAKe,aAAa4C,IAAI/B,EAAKC,KAAMyB,GACjCtD,KAAKe,aAAe,IAAIC,IAAIhB,KAAKe,cACjCf,KAAK4D,UAAUV,KAAK,CAACtB,KAAMA,EAAKC,KAAMyB,UAAQ,G,CAI1C,WAAAO,GACN7D,KAAKe,aAAe,IAAIC,G,CAGlB,aAAA8C,CAAc5C,GACpBlB,KAAKwB,mBAAoBN,EAAE6C,OAA4BjD,M,CAGzD,iBAAAkD,GAEE,MAAMC,EAAMC,OAAOC,WAAW,uBAC9BnE,KAAKa,MAAQoD,EAAIG,QAAUlE,EAAgBC,QAAUH,KAAKC,KAC1DgE,EAAII,iBAAiB,UAAWnD,IAC9BlB,KAAKa,MAAQK,EAAEkD,QAAUlE,EAAgBC,QAAUH,KAAKC,IAAI,G,CAIhE,kBAAAqE,GACE,IAAKtE,KAAKY,aAAeZ,KAAKe,aAAaqB,KAAM,CAC/C,M,CAGFpC,KAAKuE,WAAWC,M,CAGV,iBAAAC,CAAkBC,GACxB,IAAK1E,KAAK2E,YAAa,CACrB,M,CAGF,OACEC,EAAA,QACEC,GAAG,cACHC,MAAOJ,GAEN1E,KAAK2E,Y,CAKJ,yBAAAI,GACN,IAAIC,EAAmB,GACvB,IAAIC,EAAmB,GAEvB,GAAIjF,KAAKsC,eAAgB,CACvB,MAAM4C,EAAalF,KAAKsC,eACrBC,MAAM,MACN4C,KAAKC,GAAWA,EAAOC,UAAU,GAAGC,gBACpCC,KAAK,MACRP,EAAmB,gBAAgBE,G,CAGrC,GAAIlF,KAAK8C,YAAa,CACpBmC,EAAmB,sBAAsBjF,KAAK8C,uB,CAGhD,MAAM0C,EACJR,GAAoBC,EAAmB,qBAAqBD,IAAmBC,KAAsBQ,UAEvG,IAAKzF,KAAK0F,sBAAwBF,EAAgB,CAChD,M,CAGF,OAAOZ,EAAA,QAAME,MAAM,gCAAgC9E,KAAK0F,qBAAuBF,E,CAGzE,iBAAAG,GACN,IAAK3F,KAAKU,eAAgB,CACxB,M,CAGF,OACEkE,EAAA,WAASE,MAAO,CAAC,kBAAmB,KAAMc,QAAW5F,KAAKc,MAAMiB,SAC9D6C,EAAA,OAAKE,MAAM,qCAAqC9E,KAAKS,oBACrDmE,EAAA,OAAKE,MAAM,iBACTF,EAAA,QAAM/C,KAAK,W,CAMX,WAAAgE,GACN,OACEjB,EAAA,SACE3E,KAAK,OACL4B,KAAM7B,KAAKW,UACXmF,SAAQ,KACRC,SAAW7E,GAAMlB,KAAK8D,cAAc5C,GACpC8E,OAAQhG,KAAKsC,eAAc,kBACVtC,KAAK2E,YAAc,cAAgBc,UACpDQ,IAAMC,GAASlG,KAAKuB,MAAQ2E,G,CAK1B,kBAAAC,GACN,MAAO,CACLvB,EAAA,YACEwB,QAAS,IAAMpG,KAAKuB,MAAM8E,QAC1BC,WAAapF,IACX,GAAIA,EAAEqF,MAAQ,SAAWrF,EAAEqF,MAAQ,QAAS,CAC1CrF,EAAEsF,iBACFxG,KAAKuB,MAAM8E,O,GAGfxB,GAAG,aACH4B,QAASzG,KAAK0G,cACdC,KAAK,UAEJ3G,KAAKI,gBAERJ,KAAK6F,c,CAID,gBAAAe,GACN,MAAO,CACL5G,KAAK6F,cACLjB,EAAA,QAAME,MAAM,2BACVF,EAAA,QACEiC,SAAU,EACV/B,MAAM,wBACNsB,QAAS,IAAMpG,KAAKuB,MAAM8E,QAC1BC,WAAapF,IACX,GAAIA,EAAEqF,MAAQ,SAAWrF,EAAEqF,MAAQ,QAAS,CAC1CrF,EAAEsF,iBACFxG,KAAKuB,MAAM8E,O,IAIdrG,KAAKM,wBACA,IACPN,KAAKO,e,CAKJ,iBAAAuG,GACN,MAAO,CACL9G,KAAKyE,kBAAkB,aACvBzE,KAAK+E,4BACL/E,KAAK2F,oBACL3F,KAAKmG,qB,CAID,kBAAAY,GACN,MAAO,CACL/G,KAAK2F,oBACLf,EAAA,yCAAsC5E,KAAKK,kBACzCuE,EAAA,OAAKE,MAAM,kBACR9E,KAAKyE,kBAAkB,UACvBzE,KAAK4G,mBACL5G,KAAK+E,8B,CAMN,gBAAAiC,GACN,OAAOhF,MAAMC,KAAKjC,KAAKe,cAAcoE,KAAI,EAAE9D,EAAUiC,MACnD,MAAM2D,EAAS,WAAW5F,IAE1B,OACEuD,EAAA,QAAME,MAAM,iBAAe,WACjBF,EAAA,QAAME,MAAM,aAAazD,GAChCiC,EAAO6B,KAAI,EAAE3B,aAAaA,EAAQ0D,QAAQD,EAAQ,MAAK1B,KAAK,OACxD,O,CAKb,MAAA4B,GACE,OACEvC,EAACwC,EAAI,CAAAC,IAAA,4CACFrH,KAAKsH,WACJ1C,EAAA,OAAAyC,IAAA,2CACExC,GAAG,QACHC,MAAM,gBAEL9E,KAAKsH,WAGTtH,KAAKa,OAASX,EAAgBC,QAAUH,KAAK8G,oBAAsB9G,KAAK+G,uBACtE/G,KAAKe,aAAaqB,MAAQpC,KAAKY,YAChCgE,EAAA,WAAAyC,IAAA,2CACEE,QAAS,eAAevH,KAAKC,mBAC7BgG,IAAMC,GAASlG,KAAKuE,WAAa2B,EACjCsB,WAAYxH,KAAKQ,gBACjBiH,aAAc,IAAMzH,KAAK6D,cACzB6D,uBAAwB,IAAM1H,KAAK6D,eAEnCe,EAAA,OAAAyC,IAAA,2CAAKM,KAAK,gBACR/C,EAAA,OAAAyC,IAAA,2CAAKvC,MAAM,wBACR9E,KAAK4H,kBAAoB5H,KAAK4H,kBAAoB5H,KAAKgH,sB","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{proxyCustomElement as e,HTMLElement as i,createEvent as t,h as s,Host as o,transformTag as n}from"@stencil/core/internal/client";import{P as a,x as r}from"./index2.js";import{B as l}from"./breakpoints.js";import{d as c}from"./index18.js";import{d as f}from"./index3.js";import{d as p}from"./index16.js";const h=()=>`.sc-z-file-h{position:relative;font-family:var(--font-family-sans);font-weight:var(--font-rg)}.sc-z-file-h>z-popover.sc-z-file{z-index:10}.sc-z-file-h>z-popover.sc-z-file>.tooltip-content.sc-z-file{white-space:nowrap}.sc-z-file-h>z-chip.sc-z-file span.sc-z-file{display:block;overflow:hidden;max-width:250px;letter-spacing:0.32px;line-height:1.33;text-overflow:ellipsis;white-space:nowrap}`;const d=e(class e extends i{constructor(e){super();if(e!==false){this.__registerHost()}this.removeFile=t(this,"removeFile",7);this.allowPopover=false;this.popoverVisible=false}removeFileHandler(){this.removeFile.emit({fileName:this.fileName});this.el.remove()}onMouseOver(){this.popoverVisible=true}onMouseLeave(){this.popoverVisible=false}onInteractiveIconClick(){this.removeFileHandler()}componentDidLoad(){var e,i;if(this.elementHasEllipsis()&&window.innerWidth>l.TABLET){this.allowPopover=true}(i=(e=this.icon)===null||e===void 0?void 0:e.focus)===null||i===void 0?void 0:i.call(e)}elementHasEllipsis(){return this.ellipsis.offsetWidth<this.ellipsis.scrollWidth}render(){return s(o,{key:"28f55431def45d56efe917e949de7dedc05a7989"},this.allowPopover&&s("z-popover",{key:"80116f0fa1b80d746fe957ab3aa88495684c6592",open:this.popoverVisible,position:a.AUTO,bindTo:this.chip},s("span",{key:"aefa6fcad0a69e109e5215154b839b0e07d34f99",class:"body-5 tooltip-content"},this.ellipsis.innerText)),s("z-chip",{key:"d29cda7f421bd066b5082a1ff7999a6eae3a09f2",ref:e=>this.chip=e,id:`chip-${this.fileNumber}`,interactiveIcon:"multiply-circled",type:r.DEFAULT},s("span",{key:"8a57b7285f555807923aee45b9651965bae4254d",ref:e=>this.ellipsis=e,tabIndex:-1},this.fileName)))}get el(){return this}static get style(){return h()}},[2,"z-file",{fileNumber:[2,"file-number"],fileName:[1,"file-name"],allowPopover:[32],popoverVisible:[32]},[[1,"mouseover","onMouseOver"],[1,"mouseleave","onMouseLeave"],[0,"interactiveIconClick","onInteractiveIconClick"]]]);function m(){if(typeof customElements==="undefined"){return}const e=["z-file","z-chip","z-icon","z-popover"];e.forEach((e=>{switch(e){case"z-file":if(!customElements.get(n(e))){customElements.define(n(e),d)}break;case"z-chip":if(!customElements.get(n(e))){c()}break;case"z-icon":if(!customElements.get(n(e))){f()}break;case"z-popover":if(!customElements.get(n(e))){p()}break}}))}const v=d;const u=m;export{v as ZFile,u as defineCustomElement};
1
+ import{p as e,H as i,c as s,h as t,d as o,t as a}from"./p-RmbDDbWd.js";import{x as n,P as r}from"./p-DdetsoIY.js";import{B as l}from"./p-Q-tWjk7P.js";import{d as c}from"./p-Bj8MyegH.js";import{d as f}from"./p-CbXEdwLi.js";import{d as p}from"./p-D8wde41u.js";const d=()=>`.sc-z-file-h{position:relative;font-family:var(--font-family-sans);font-weight:var(--font-rg)}.sc-z-file-h>z-popover.sc-z-file{z-index:10}.sc-z-file-h>z-popover.sc-z-file>.tooltip-content.sc-z-file{white-space:nowrap}.sc-z-file-h>z-chip.sc-z-file span.sc-z-file{display:block;overflow:hidden;max-width:250px;letter-spacing:0.32px;line-height:1.33;text-overflow:ellipsis;white-space:nowrap}`;const h=e(class e extends i{constructor(e){super();if(e!==false){this.__registerHost()}this.removeFile=s(this,"removeFile",7);this.allowPopover=false;this.popoverVisible=false}removeFileHandler(){this.removeFile.emit({fileName:this.fileName});this.el.remove()}onMouseOver(){this.popoverVisible=true}onMouseLeave(){this.popoverVisible=false}onInteractiveIconClick(){this.removeFileHandler()}componentDidLoad(){var e,i;if(this.elementHasEllipsis()&&window.innerWidth>l.TABLET){this.allowPopover=true}(i=(e=this.icon)===null||e===void 0?void 0:e.focus)===null||i===void 0?void 0:i.call(e)}elementHasEllipsis(){return this.ellipsis.offsetWidth<this.ellipsis.scrollWidth}render(){return t(o,{key:"28f55431def45d56efe917e949de7dedc05a7989"},this.allowPopover&&t("z-popover",{key:"80116f0fa1b80d746fe957ab3aa88495684c6592",open:this.popoverVisible,position:r.AUTO,bindTo:this.chip},t("span",{key:"aefa6fcad0a69e109e5215154b839b0e07d34f99",class:"body-5 tooltip-content"},this.ellipsis.innerText)),t("z-chip",{key:"d29cda7f421bd066b5082a1ff7999a6eae3a09f2",ref:e=>this.chip=e,id:`chip-${this.fileNumber}`,interactiveIcon:"multiply-circled",type:n.DEFAULT},t("span",{key:"8a57b7285f555807923aee45b9651965bae4254d",ref:e=>this.ellipsis=e,tabIndex:-1},this.fileName)))}get el(){return this}static get style(){return d()}},[2,"z-file",{fileNumber:[2,"file-number"],fileName:[1,"file-name"],allowPopover:[32],popoverVisible:[32]},[[1,"mouseover","onMouseOver"],[1,"mouseleave","onMouseLeave"],[0,"interactiveIconClick","onInteractiveIconClick"]]]);function m(){if(typeof customElements==="undefined"){return}const e=["z-file","z-chip","z-icon","z-popover"];e.forEach((e=>{switch(e){case"z-file":if(!customElements.get(a(e))){customElements.define(a(e),h)}break;case"z-chip":if(!customElements.get(a(e))){c()}break;case"z-icon":if(!customElements.get(a(e))){f()}break;case"z-popover":if(!customElements.get(a(e))){p()}break}}))}const u=h;const v=m;export{u as ZFile,v as defineCustomElement};
2
2
  //# sourceMappingURL=z-file.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["stylesCss","ZFile","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","allowPopover","popoverVisible","removeFileHandler","removeFile","emit","fileName","el","remove","onMouseOver","onMouseLeave","onInteractiveIconClick","componentDidLoad","elementHasEllipsis","window","innerWidth","Breakpoints","TABLET","_b","_a","icon","focus","call","ellipsis","offsetWidth","scrollWidth","render","h","Host","key","open","position","PopoverPosition","AUTO","bindTo","chip","class","innerText","ref","id","fileNumber","interactiveIcon","type","ZChipType","DEFAULT","tabIndex"],"sources":["src/components/file-upload/z-file/styles.css?tag=z-file&encapsulation=scoped","src/components/file-upload/z-file/index.tsx"],"sourcesContent":[":host {\n position: relative;\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n:host > z-popover {\n z-index: 10;\n}\n\n:host > z-popover > .tooltip-content {\n white-space: nowrap;\n}\n\n:host > z-chip span {\n display: block;\n overflow: hidden;\n max-width: 250px;\n letter-spacing: 0.32px;\n line-height: 1.33;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","import {Component, ComponentInterface, Element, Event, EventEmitter, Host, Listen, Prop, State, h} from \"@stencil/core\";\nimport {PopoverPosition, ZChipType} from \"../../../beans\";\nimport {Breakpoints} from \"../../../constants/breakpoints\";\n\n@Component({\n tag: \"z-file\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZFile implements ComponentInterface {\n private icon: HTMLElement;\n\n private ellipsis?: HTMLSpanElement;\n\n private chip?: HTMLZChipElement;\n\n /** File chip id */\n @Prop()\n fileNumber: number;\n\n /** File name */\n @Prop()\n fileName: string;\n\n @State()\n allowPopover = false;\n\n @State()\n popoverVisible = false;\n\n @Element() el: HTMLZFileElement;\n\n /** Emitted when a z-file component is removed from the DOM */\n @Event()\n removeFile: EventEmitter;\n\n private removeFileHandler(): void {\n this.removeFile.emit({fileName: this.fileName});\n this.el.remove();\n }\n\n @Listen(\"mouseover\")\n onMouseOver(): void {\n this.popoverVisible = true;\n }\n\n @Listen(\"mouseleave\")\n onMouseLeave(): void {\n this.popoverVisible = false;\n }\n\n @Listen(\"interactiveIconClick\")\n onInteractiveIconClick(): void {\n this.removeFileHandler();\n }\n\n componentDidLoad(): void {\n if (this.elementHasEllipsis() && window.innerWidth > Breakpoints.TABLET) {\n this.allowPopover = true;\n }\n\n this.icon?.focus?.();\n }\n\n private elementHasEllipsis(): boolean {\n return this.ellipsis.offsetWidth < this.ellipsis.scrollWidth;\n }\n\n render(): HTMLZFileElement {\n return (\n <Host>\n {this.allowPopover && (\n <z-popover\n open={this.popoverVisible}\n position={PopoverPosition.AUTO}\n bindTo={this.chip}\n >\n <span class=\"body-5 tooltip-content\">{this.ellipsis.innerText}</span>\n </z-popover>\n )}\n <z-chip\n ref={(el) => (this.chip = el as HTMLZChipElement)}\n id={`chip-${this.fileNumber}`}\n interactiveIcon=\"multiply-circled\"\n type={ZChipType.DEFAULT}\n >\n <span\n ref={(el) => (this.ellipsis = el as HTMLSpanElement)}\n tabIndex={-1}\n >\n {this.fileName}\n </span>\n </z-chip>\n </Host>\n );\n }\n}\n"],"mappings":"sTAAA,MAAMA,EAAY,IAAM,wY,MCUXC,EAAKC,EAAA,MAAAD,UAAAE,EANlB,WAAAC,CAAAC,G,mFAsBEC,KAAAC,aAAe,MAGfD,KAAAE,eAAiB,KAoElB,CA5DS,iBAAAC,GACNH,KAAKI,WAAWC,KAAK,CAACC,SAAUN,KAAKM,WACrCN,KAAKO,GAAGC,Q,CAIV,WAAAC,GACET,KAAKE,eAAiB,I,CAIxB,YAAAQ,GACEV,KAAKE,eAAiB,K,CAIxB,sBAAAS,GACEX,KAAKG,mB,CAGP,gBAAAS,G,QACE,GAAIZ,KAAKa,sBAAwBC,OAAOC,WAAaC,EAAYC,OAAQ,CACvEjB,KAAKC,aAAe,I,EAGtBiB,GAAAC,EAAAnB,KAAKoB,QAAI,MAAAD,SAAA,SAAAA,EAAEE,SAAK,MAAAH,SAAA,SAAAA,EAAAI,KAAAH,E,CAGV,kBAAAN,GACN,OAAOb,KAAKuB,SAASC,YAAcxB,KAAKuB,SAASE,W,CAGnD,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACF7B,KAAKC,cACJ0B,EAAA,aAAAE,IAAA,2CACEC,KAAM9B,KAAKE,eACX6B,SAAUC,EAAgBC,KAC1BC,OAAQlC,KAAKmC,MAEbR,EAAA,QAAAE,IAAA,2CAAMO,MAAM,0BAA0BpC,KAAKuB,SAASc,YAGxDV,EAAA,UAAAE,IAAA,2CACES,IAAM/B,GAAQP,KAAKmC,KAAO5B,EAC1BgC,GAAI,QAAQvC,KAAKwC,aACjBC,gBAAgB,mBAChBC,KAAMC,EAAUC,SAEhBjB,EAAA,QAAAE,IAAA,2CACES,IAAM/B,GAAQP,KAAKuB,SAAWhB,EAC9BsC,UAAU,GAET7C,KAAKM,W","ignoreList":[]}
1
+ {"version":3,"names":["stylesCss","ZFile","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","allowPopover","popoverVisible","removeFileHandler","removeFile","emit","fileName","el","remove","onMouseOver","onMouseLeave","onInteractiveIconClick","componentDidLoad","elementHasEllipsis","window","innerWidth","Breakpoints","TABLET","_b","_a","icon","focus","call","ellipsis","offsetWidth","scrollWidth","render","h","Host","key","open","position","PopoverPosition","AUTO","bindTo","chip","class","innerText","ref","id","fileNumber","interactiveIcon","type","ZChipType","DEFAULT","tabIndex"],"sources":["src/components/file-upload/z-file/styles.css?tag=z-file&encapsulation=scoped","src/components/file-upload/z-file/index.tsx"],"sourcesContent":[":host {\n position: relative;\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n:host > z-popover {\n z-index: 10;\n}\n\n:host > z-popover > .tooltip-content {\n white-space: nowrap;\n}\n\n:host > z-chip span {\n display: block;\n overflow: hidden;\n max-width: 250px;\n letter-spacing: 0.32px;\n line-height: 1.33;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","import {Component, ComponentInterface, Element, Event, EventEmitter, Host, Listen, Prop, State, h} from \"@stencil/core\";\nimport {PopoverPosition, ZChipType} from \"../../../beans\";\nimport {Breakpoints} from \"../../../constants/breakpoints\";\n\n@Component({\n tag: \"z-file\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZFile implements ComponentInterface {\n private icon: HTMLElement;\n\n private ellipsis?: HTMLSpanElement;\n\n private chip?: HTMLZChipElement;\n\n /** File chip id */\n @Prop()\n fileNumber: number;\n\n /** File name */\n @Prop()\n fileName: string;\n\n @State()\n allowPopover = false;\n\n @State()\n popoverVisible = false;\n\n @Element() el: HTMLZFileElement;\n\n /** Emitted when a z-file component is removed from the DOM */\n @Event()\n removeFile: EventEmitter;\n\n private removeFileHandler(): void {\n this.removeFile.emit({fileName: this.fileName});\n this.el.remove();\n }\n\n @Listen(\"mouseover\")\n onMouseOver(): void {\n this.popoverVisible = true;\n }\n\n @Listen(\"mouseleave\")\n onMouseLeave(): void {\n this.popoverVisible = false;\n }\n\n @Listen(\"interactiveIconClick\")\n onInteractiveIconClick(): void {\n this.removeFileHandler();\n }\n\n componentDidLoad(): void {\n if (this.elementHasEllipsis() && window.innerWidth > Breakpoints.TABLET) {\n this.allowPopover = true;\n }\n\n this.icon?.focus?.();\n }\n\n private elementHasEllipsis(): boolean {\n return this.ellipsis.offsetWidth < this.ellipsis.scrollWidth;\n }\n\n render(): HTMLZFileElement {\n return (\n <Host>\n {this.allowPopover && (\n <z-popover\n open={this.popoverVisible}\n position={PopoverPosition.AUTO}\n bindTo={this.chip}\n >\n <span class=\"body-5 tooltip-content\">{this.ellipsis.innerText}</span>\n </z-popover>\n )}\n <z-chip\n ref={(el) => (this.chip = el as HTMLZChipElement)}\n id={`chip-${this.fileNumber}`}\n interactiveIcon=\"multiply-circled\"\n type={ZChipType.DEFAULT}\n >\n <span\n ref={(el) => (this.ellipsis = el as HTMLSpanElement)}\n tabIndex={-1}\n >\n {this.fileName}\n </span>\n </z-chip>\n </Host>\n );\n }\n}\n"],"mappings":"kQAAA,MAAMA,EAAY,IAAM,wY,MCUXC,EAAKC,EAAA,MAAAD,UAAAE,EANlB,WAAAC,CAAAC,G,mFAsBEC,KAAAC,aAAe,MAGfD,KAAAE,eAAiB,KAoElB,CA5DS,iBAAAC,GACNH,KAAKI,WAAWC,KAAK,CAACC,SAAUN,KAAKM,WACrCN,KAAKO,GAAGC,Q,CAIV,WAAAC,GACET,KAAKE,eAAiB,I,CAIxB,YAAAQ,GACEV,KAAKE,eAAiB,K,CAIxB,sBAAAS,GACEX,KAAKG,mB,CAGP,gBAAAS,G,QACE,GAAIZ,KAAKa,sBAAwBC,OAAOC,WAAaC,EAAYC,OAAQ,CACvEjB,KAAKC,aAAe,I,EAGtBiB,GAAAC,EAAAnB,KAAKoB,QAAI,MAAAD,SAAA,SAAAA,EAAEE,SAAK,MAAAH,SAAA,SAAAA,EAAAI,KAAAH,E,CAGV,kBAAAN,GACN,OAAOb,KAAKuB,SAASC,YAAcxB,KAAKuB,SAASE,W,CAGnD,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACF7B,KAAKC,cACJ0B,EAAA,aAAAE,IAAA,2CACEC,KAAM9B,KAAKE,eACX6B,SAAUC,EAAgBC,KAC1BC,OAAQlC,KAAKmC,MAEbR,EAAA,QAAAE,IAAA,2CAAMO,MAAM,0BAA0BpC,KAAKuB,SAASc,YAGxDV,EAAA,UAAAE,IAAA,2CACES,IAAM/B,GAAQP,KAAKmC,KAAO5B,EAC1BgC,GAAI,QAAQvC,KAAKwC,aACjBC,gBAAgB,mBAChBC,KAAMC,EAAUC,SAEhBjB,EAAA,QAAAE,IAAA,2CACES,IAAM/B,GAAQP,KAAKuB,SAAWhB,EAC9BsC,UAAU,GAET7C,KAAKM,W","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{Z as o,d as s}from"./index17.js";const t=o;const n=s;export{t as ZGhostLoading,n as defineCustomElement};
1
+ import{Z as o,d as s}from"./p-CaSvyuw6.js";const t=o;const a=s;export{t as ZGhostLoading,a as defineCustomElement};
2
2
  //# sourceMappingURL=z-ghost-loading.js.map
@@ -1,2 +1,2 @@
1
- import{Z as o,d as s}from"./index3.js";const t=o;const n=s;export{t as ZIcon,n as defineCustomElement};
1
+ import{Z as o,d as s}from"./p-CbXEdwLi.js";const t=o;const p=s;export{t as ZIcon,p as defineCustomElement};
2
2
  //# sourceMappingURL=z-icon.js.map
@@ -1,2 +1,2 @@
1
- import{proxyCustomElement as o,HTMLElement as e,createEvent as t,h as n,Host as i,transformTag as c}from"@stencil/core/internal/client";import{d as a}from"./index3.js";const r=()=>`:host,*,::slotted(*){box-sizing:border-box}:host{--z-info-box--border-color:unset;--z-info-box--left-icon-color:var(--z-info-box--border-color, var(--color-primary01-icon));--z-info-box--background-color:var(--color-primary03);display:flex;flex-direction:column;padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);border:var(--border-size-medium) solid var(--z-info-box--border-color, transparent);background:var(--z-info-box--background-color);border-radius:var(--border-radius);font-family:var(--font-family-sans);font-weight:var(--font-rg);gap:calc(var(--space-unit) * 2)}.main-content{display:flex;align-items:flex-start}.main-content .left-icon,.close-button{display:flex;height:1.25rem;align-items:center}.main-content .left-icon z-icon{--z-icon-width:1rem;--z-icon-height:1rem;fill:var(--z-info-box--left-icon-color)}::slotted([slot="content"]){color:var(--color-default-text);font-size:var(--font-size-2);line-height:1.25rem}.main-content .left-icon+::slotted([slot="content"]){margin-left:var(--space-unit)}:host([isclosable]) ::slotted([slot="content"]){margin-right:calc(var(--space-unit) * 2)}.close-button{padding:0;border:none;margin:0;margin-left:auto;background:none;cursor:pointer}.close-button z-icon{fill:var(--color-primary01-icon)}`;const s=o(class o extends e{constructor(o){super();if(o!==false){this.__registerHost()}this.__attachShadow();this.infoBoxClose=t(this,"infoBoxClose",7);this.isclosable=true;this.closeButtonAriaLabel="Chiudi pannello informazioni"}emitInfoBoxClose(){this.infoBoxClose.emit({boxid:this.boxid})}render(){return n(i,{key:"6402c135148e24414ef4df5805dd0e230a8671a1",id:this.boxid},n("div",{key:"656285237abb06bc055db4ed4bf933edfe8028ef",class:"main-content"},this.leftIcon&&n("div",{key:"40c6e5a4aac587f080362bb3bbfd97583d589d69",class:"left-icon"},n("z-icon",{key:"737a02950ac7b498c48104b539913e5cad51f51d",name:this.leftIcon})),n("slot",{key:"c301852f39cb9bf6e07c7460ef8c09fd86baf78e",name:"content"}),this.isclosable&&n("button",{key:"c8b8f1cbea6be9b3047bbd112e315884512b18eb",class:"close-button","aria-label":this.closeButtonAriaLabel,onClick:()=>this.emitInfoBoxClose()},n("z-icon",{key:"7d501f275f9e0a8fc76ce31e755325427e2b6d25",name:"multiply"}))),n("slot",{key:"e516ac4cadbbe7a6c31528f6dc14545919758432",name:"additional-content"}))}static get style(){return r()}},[257,"z-info-box",{boxid:[1],isclosable:[516],closeButtonAriaLabel:[1,"close-button-aria-label"],leftIcon:[1,"left-icon"]}]);function l(){if(typeof customElements==="undefined"){return}const o=["z-info-box","z-icon"];o.forEach((o=>{switch(o){case"z-info-box":if(!customElements.get(c(o))){customElements.define(c(o),s)}break;case"z-icon":if(!customElements.get(c(o))){a()}break}}))}const f=s;const b=l;export{f as ZInfoBox,b as defineCustomElement};
1
+ import{p as o,H as e,c as t,h as n,d as i,t as c}from"./p-RmbDDbWd.js";import{d as a}from"./p-CbXEdwLi.js";const r=()=>`:host,*,::slotted(*){box-sizing:border-box}:host{--z-info-box--border-color:unset;--z-info-box--left-icon-color:var(--z-info-box--border-color, var(--color-primary01-icon));--z-info-box--background-color:var(--color-primary03);display:flex;flex-direction:column;padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);border:var(--border-size-medium) solid var(--z-info-box--border-color, transparent);background:var(--z-info-box--background-color);border-radius:var(--border-radius);font-family:var(--font-family-sans);font-weight:var(--font-rg);gap:calc(var(--space-unit) * 2)}.main-content{display:flex;align-items:flex-start}.main-content .left-icon,.close-button{display:flex;height:1.25rem;align-items:center}.main-content .left-icon z-icon{--z-icon-width:1rem;--z-icon-height:1rem;fill:var(--z-info-box--left-icon-color)}::slotted([slot="content"]){color:var(--color-default-text);font-size:var(--font-size-2);line-height:1.25rem}.main-content .left-icon+::slotted([slot="content"]){margin-left:var(--space-unit)}:host([isclosable]) ::slotted([slot="content"]){margin-right:calc(var(--space-unit) * 2)}.close-button{padding:0;border:none;margin:0;margin-left:auto;background:none;cursor:pointer}.close-button z-icon{fill:var(--color-primary01-icon)}`;const s=o(class o extends e{constructor(o){super();if(o!==false){this.__registerHost()}this.__attachShadow();this.infoBoxClose=t(this,"infoBoxClose",7);this.isclosable=true;this.closeButtonAriaLabel="Chiudi pannello informazioni"}emitInfoBoxClose(){this.infoBoxClose.emit({boxid:this.boxid})}render(){return n(i,{key:"6402c135148e24414ef4df5805dd0e230a8671a1",id:this.boxid},n("div",{key:"656285237abb06bc055db4ed4bf933edfe8028ef",class:"main-content"},this.leftIcon&&n("div",{key:"40c6e5a4aac587f080362bb3bbfd97583d589d69",class:"left-icon"},n("z-icon",{key:"737a02950ac7b498c48104b539913e5cad51f51d",name:this.leftIcon})),n("slot",{key:"c301852f39cb9bf6e07c7460ef8c09fd86baf78e",name:"content"}),this.isclosable&&n("button",{key:"c8b8f1cbea6be9b3047bbd112e315884512b18eb",class:"close-button","aria-label":this.closeButtonAriaLabel,onClick:()=>this.emitInfoBoxClose()},n("z-icon",{key:"7d501f275f9e0a8fc76ce31e755325427e2b6d25",name:"multiply"}))),n("slot",{key:"e516ac4cadbbe7a6c31528f6dc14545919758432",name:"additional-content"}))}static get style(){return r()}},[257,"z-info-box",{boxid:[1],isclosable:[516],closeButtonAriaLabel:[1,"close-button-aria-label"],leftIcon:[1,"left-icon"]}]);function l(){if(typeof customElements==="undefined"){return}const o=["z-info-box","z-icon"];o.forEach((o=>{switch(o){case"z-info-box":if(!customElements.get(c(o))){customElements.define(c(o),s)}break;case"z-icon":if(!customElements.get(c(o))){a()}break}}))}const b=s;const f=l;export{b as ZInfoBox,f as defineCustomElement};
2
2
  //# sourceMappingURL=z-info-box.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["stylesCss","ZInfoBox","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","isclosable","closeButtonAriaLabel","emitInfoBoxClose","infoBoxClose","emit","boxid","render","h","Host","key","id","class","leftIcon","name","onClick"],"sources":["src/components/z-info-box/styles.css?tag=z-info-box&encapsulation=shadow","src/components/z-info-box/index.tsx"],"sourcesContent":[":host,\n*,\n::slotted(*) {\n box-sizing: border-box;\n}\n\n:host {\n /**\n * @prop --z-info-box--border-color: The border color of the info box.\n * @prop --z-info-box--background-color: The background color of the info box.\n * @prop --z-info-box--left-icon-color: The fill color of the icon displayed on the top left of the info box. If `--z-info-box--border-color` is set, this property will default to that value. Otherwise, it will default to `--color-primary01-icon`.\n */\n --z-info-box--border-color: unset;\n --z-info-box--left-icon-color: var(--z-info-box--border-color, var(--color-primary01-icon));\n --z-info-box--background-color: var(--color-primary03);\n\n display: flex;\n flex-direction: column;\n padding: calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);\n border: var(--border-size-medium) solid var(--z-info-box--border-color, transparent);\n background: var(--z-info-box--background-color);\n border-radius: var(--border-radius);\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n gap: calc(var(--space-unit) * 2);\n}\n\n.main-content {\n display: flex;\n align-items: flex-start;\n}\n\n/* visually vertically align the icons to the first line of the text content */\n.main-content .left-icon,\n.close-button {\n display: flex;\n height: 1.25rem;\n align-items: center;\n}\n\n.main-content .left-icon z-icon {\n --z-icon-width: 1rem;\n --z-icon-height: 1rem;\n\n fill: var(--z-info-box--left-icon-color);\n}\n\n::slotted([slot=\"content\"]) {\n color: var(--color-default-text);\n font-size: var(--font-size-2);\n line-height: 1.25rem;\n}\n\n.main-content .left-icon + ::slotted([slot=\"content\"]) {\n margin-left: var(--space-unit);\n}\n\n:host([isclosable]) ::slotted([slot=\"content\"]) {\n margin-right: calc(var(--space-unit) * 2);\n}\n\n.close-button {\n padding: 0;\n border: none;\n margin: 0;\n margin-left: auto;\n background: none;\n cursor: pointer;\n}\n\n.close-button z-icon {\n fill: var(--color-primary01-icon);\n}\n","import {Component, ComponentInterface, Event, EventEmitter, Host, Prop, h} from \"@stencil/core\";\nimport {IconName} from \"../../constants/iconset\";\n\n/**\n * @slot content - set the info box content\n */\n@Component({\n tag: \"z-info-box\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZInfoBox implements ComponentInterface {\n /** info box unique id */\n @Prop()\n boxid: string;\n\n /** render close icon */\n @Prop({reflect: true})\n isclosable = true;\n\n /** Aria label for the close button */\n @Prop()\n closeButtonAriaLabel = \"Chiudi pannello informazioni\";\n\n /**\n * Name of the icon to display on the top left of the info box.\n * The icon's color will be inherited from the border color set through the `--z-info-box--border-color` CSS variable, if set.\n * Otherwise it can be customized using the `--z-info-box--left-icon-color` CSS variable.\n * If none of them is set, the icon will be colored using the `--color-primary01-icon` token.\n */\n @Prop()\n leftIcon: IconName;\n\n /** emitted on close icon click */\n @Event()\n infoBoxClose: EventEmitter<{boxid: string}>;\n\n private emitInfoBoxClose(): void {\n this.infoBoxClose.emit({boxid: this.boxid});\n }\n\n render(): HTMLDivElement {\n return (\n <Host id={this.boxid}>\n <div class=\"main-content\">\n {this.leftIcon && (\n <div class=\"left-icon\">\n <z-icon name={this.leftIcon} />\n </div>\n )}\n\n <slot name=\"content\" />\n\n {this.isclosable && (\n <button\n class=\"close-button\"\n aria-label={this.closeButtonAriaLabel}\n onClick={() => this.emitInfoBoxClose()}\n >\n <z-icon name=\"multiply\" />\n </button>\n )}\n </div>\n\n <slot name=\"additional-content\" />\n </Host>\n );\n }\n}\n"],"mappings":"wKAAA,MAAMA,EAAY,IAAM,qvC,MCWXC,EAAQC,EAAA,MAAAD,UAAAE,EALrB,WAAAC,CAAAC,G,6GAYEC,KAAAC,WAAa,KAIbD,KAAAE,qBAAuB,8BA8CxB,CA/BS,gBAAAC,GACNH,KAAKI,aAAaC,KAAK,CAACC,MAAON,KAAKM,O,CAGtC,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,GAAIX,KAAKM,OACbE,EAAA,OAAAE,IAAA,2CAAKE,MAAM,gBACRZ,KAAKa,UACJL,EAAA,OAAAE,IAAA,2CAAKE,MAAM,aACTJ,EAAA,UAAAE,IAAA,2CAAQI,KAAMd,KAAKa,YAIvBL,EAAA,QAAAE,IAAA,2CAAMI,KAAK,YAEVd,KAAKC,YACJO,EAAA,UAAAE,IAAA,2CACEE,MAAM,eAAc,aACRZ,KAAKE,qBACjBa,QAAS,IAAMf,KAAKG,oBAEpBK,EAAA,UAAAE,IAAA,2CAAQI,KAAK,eAKnBN,EAAA,QAAAE,IAAA,2CAAMI,KAAK,uB","ignoreList":[]}
1
+ {"version":3,"names":["stylesCss","ZInfoBox","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","isclosable","closeButtonAriaLabel","emitInfoBoxClose","infoBoxClose","emit","boxid","render","h","Host","key","id","class","leftIcon","name","onClick"],"sources":["src/components/z-info-box/styles.css?tag=z-info-box&encapsulation=shadow","src/components/z-info-box/index.tsx"],"sourcesContent":[":host,\n*,\n::slotted(*) {\n box-sizing: border-box;\n}\n\n:host {\n /**\n * @prop --z-info-box--border-color: The border color of the info box.\n * @prop --z-info-box--background-color: The background color of the info box.\n * @prop --z-info-box--left-icon-color: The fill color of the icon displayed on the top left of the info box. If `--z-info-box--border-color` is set, this property will default to that value. Otherwise, it will default to `--color-primary01-icon`.\n */\n --z-info-box--border-color: unset;\n --z-info-box--left-icon-color: var(--z-info-box--border-color, var(--color-primary01-icon));\n --z-info-box--background-color: var(--color-primary03);\n\n display: flex;\n flex-direction: column;\n padding: calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);\n border: var(--border-size-medium) solid var(--z-info-box--border-color, transparent);\n background: var(--z-info-box--background-color);\n border-radius: var(--border-radius);\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n gap: calc(var(--space-unit) * 2);\n}\n\n.main-content {\n display: flex;\n align-items: flex-start;\n}\n\n/* visually vertically align the icons to the first line of the text content */\n.main-content .left-icon,\n.close-button {\n display: flex;\n height: 1.25rem;\n align-items: center;\n}\n\n.main-content .left-icon z-icon {\n --z-icon-width: 1rem;\n --z-icon-height: 1rem;\n\n fill: var(--z-info-box--left-icon-color);\n}\n\n::slotted([slot=\"content\"]) {\n color: var(--color-default-text);\n font-size: var(--font-size-2);\n line-height: 1.25rem;\n}\n\n.main-content .left-icon + ::slotted([slot=\"content\"]) {\n margin-left: var(--space-unit);\n}\n\n:host([isclosable]) ::slotted([slot=\"content\"]) {\n margin-right: calc(var(--space-unit) * 2);\n}\n\n.close-button {\n padding: 0;\n border: none;\n margin: 0;\n margin-left: auto;\n background: none;\n cursor: pointer;\n}\n\n.close-button z-icon {\n fill: var(--color-primary01-icon);\n}\n","import {Component, ComponentInterface, Event, EventEmitter, Host, Prop, h} from \"@stencil/core\";\nimport {IconName} from \"../../constants/iconset\";\n\n/**\n * @slot content - set the info box content\n */\n@Component({\n tag: \"z-info-box\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZInfoBox implements ComponentInterface {\n /** info box unique id */\n @Prop()\n boxid: string;\n\n /** render close icon */\n @Prop({reflect: true})\n isclosable = true;\n\n /** Aria label for the close button */\n @Prop()\n closeButtonAriaLabel = \"Chiudi pannello informazioni\";\n\n /**\n * Name of the icon to display on the top left of the info box.\n * The icon's color will be inherited from the border color set through the `--z-info-box--border-color` CSS variable, if set.\n * Otherwise it can be customized using the `--z-info-box--left-icon-color` CSS variable.\n * If none of them is set, the icon will be colored using the `--color-primary01-icon` token.\n */\n @Prop()\n leftIcon: IconName;\n\n /** emitted on close icon click */\n @Event()\n infoBoxClose: EventEmitter<{boxid: string}>;\n\n private emitInfoBoxClose(): void {\n this.infoBoxClose.emit({boxid: this.boxid});\n }\n\n render(): HTMLDivElement {\n return (\n <Host id={this.boxid}>\n <div class=\"main-content\">\n {this.leftIcon && (\n <div class=\"left-icon\">\n <z-icon name={this.leftIcon} />\n </div>\n )}\n\n <slot name=\"content\" />\n\n {this.isclosable && (\n <button\n class=\"close-button\"\n aria-label={this.closeButtonAriaLabel}\n onClick={() => this.emitInfoBoxClose()}\n >\n <z-icon name=\"multiply\" />\n </button>\n )}\n </div>\n\n <slot name=\"additional-content\" />\n </Host>\n );\n }\n}\n"],"mappings":"2GAAA,MAAMA,EAAY,IAAM,qvC,MCWXC,EAAQC,EAAA,MAAAD,UAAAE,EALrB,WAAAC,CAAAC,G,6GAYEC,KAAAC,WAAa,KAIbD,KAAAE,qBAAuB,8BA8CxB,CA/BS,gBAAAC,GACNH,KAAKI,aAAaC,KAAK,CAACC,MAAON,KAAKM,O,CAGtC,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,GAAIX,KAAKM,OACbE,EAAA,OAAAE,IAAA,2CAAKE,MAAM,gBACRZ,KAAKa,UACJL,EAAA,OAAAE,IAAA,2CAAKE,MAAM,aACTJ,EAAA,UAAAE,IAAA,2CAAQI,KAAMd,KAAKa,YAIvBL,EAAA,QAAAE,IAAA,2CAAMI,KAAK,YAEVd,KAAKC,YACJO,EAAA,UAAAE,IAAA,2CACEE,MAAM,eAAc,aACRZ,KAAKE,qBACjBa,QAAS,IAAMf,KAAKG,oBAEpBK,EAAA,UAAAE,IAAA,2CAAQI,KAAK,eAKnBN,EAAA,QAAAE,IAAA,2CAAMI,KAAK,uB","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{Z as o,d as s}from"./index15.js";const t=o;const n=s;export{t as ZInfoReveal,n as defineCustomElement};
1
+ import{Z as o,d as s}from"./p-CGSP8diU.js";const t=o;const p=s;export{t as ZInfoReveal,p as defineCustomElement};
2
2
  //# sourceMappingURL=z-info-reveal.js.map
@@ -1,2 +1,2 @@
1
- import{Z as o,d as s}from"./index7.js";const t=o;const n=s;export{t as ZInputMessage,n as defineCustomElement};
1
+ import{Z as o,d as s}from"./p-CdBqnUF6.js";const t=o;const n=s;export{t as ZInputMessage,n as defineCustomElement};
2
2
  //# sourceMappingURL=z-input-message.js.map