@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":["stylesCss","ZPagination","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","navArrows","skip","edges","currentPage","_visiblePages","visiblePages","isMobile","goToPageValue","setPagesContainerWidth","split","host","style","setProperty","pagesContainerStyle","window","getComputedStyle","pageButtonWidth","getPropertyValue","setVisiblePages","Math","min","totalPages","onPageChanged","pageChanged","emit","scrollToPage","onSplitChanged","onResize","setMobile","mobileMediaQuery","matchMedia","matches","getPagesChunks","pages","Array","from","length","_","i","chunks","chunksCount","ceil","index","push","slice","container","querySelector","pageBtn","navBtn","containerWidth","getBoundingClientRect","width","pageBtnWidth","navBtnWidth","_b","_a","scrollLeft","selectPage","page","max","renderPage","h","class","type","title","onClick","renderEllipsisButton","renderPages","pagesChunks","map","chunk","renderSplitPages","renderBackButton","disabled","name","renderForwardButton","renderMobile","label","goToPage","role","tabIndex","onSubmit","ev","preventDefault","InputType","NUMBER","message","onInput","target","value","placeholder","toString","hasclearicon","componentDidLoad","componentDidRender","render","Host","onKeyDown","key"],"sources":["src/components/z-pagination/styles.css?tag=z-pagination","src/components/z-pagination/index.tsx"],"sourcesContent":["z-pagination {\n /**\n * @prop --z-pagination--page-button-width: Width of the pagination's page buttons. The default is 64px on mobile and 88px on desktop.\n * @prop --z-pagination--pages-container-max-width: Max width of the container of the page buttons. The default is 100% (full width).\n * @prop --z-pagination-background-color: Background of the pagination's tabs. The default is --color-background\n * @prop --z-pagination-background-color-hover: Background of the pagination's tabs on hover. The default is --color-surface01\n */\n --z-pagination--page-button-width: 64px;\n --z-pagination--pages-container-max-width: 100%;\n --z-pagination-background-color: var(--color-background);\n --z-pagination-background-color-hover: var(--color-surface01);\n\n display: flex;\n max-width: 100%;\n flex-flow: column wrap;\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n gap: calc(var(--space-unit) * 2) calc(var(--space-unit) * 4);\n}\n\nz-pagination,\nz-pagination * {\n box-sizing: border-box;\n}\n\nz-pagination button {\n height: 100%;\n}\n\nz-pagination z-icon {\n fill: var(--color-primary01-icon);\n}\n\nz-pagination *:disabled z-icon {\n fill: var(--color-disabled03);\n}\n\nz-pagination .page-label {\n margin-right: calc(var(--space-unit) * 3);\n color: var(--color-default-text);\n}\n\nz-pagination .pagination-bar {\n display: flex;\n max-width: 100%;\n height: 48px;\n align-items: center;\n}\n\nz-pagination .pagination-bar button {\n display: flex;\n align-items: center;\n justify-content: center;\n border: none;\n margin: 0;\n background-color: var(--z-pagination-background-color);\n color: var(--color-primary01);\n cursor: pointer;\n font-family: inherit;\n font-weight: inherit;\n transition:\n background-color 0.15s ease-out,\n color 0.15s ease-out,\n border-bottom-color 0.15s ease-out,\n font-size 0.15s ease-in-out,\n font-weight 0.15s ease-in-out;\n}\n\nz-pagination .pagination-bar button:focus-visible {\n background-color: var(--color-surface01);\n outline: none;\n}\n\nz-pagination .pagination-bar .pagination-button {\n padding: calc(var(--space-unit) * 2);\n font-weight: var(--font-sb);\n text-transform: uppercase;\n white-space: nowrap;\n}\n\nz-pagination .pagination-bar .navigation-button {\n padding: calc(var(--space-unit) * 2) calc(var(--space-unit) * 1.5);\n}\n\nz-pagination .pagination-bar .pagination-button:disabled,\nz-pagination .pagination-bar .navigation-button:disabled {\n color: var(--color-disabled03);\n cursor: default;\n fill: var(--color-disabled03);\n pointer-events: none;\n}\n\nz-pagination .pagination-bar .page-button,\nz-pagination .pagination-bar .ellipsis-button {\n width: var(--z-pagination--page-button-width);\n}\n\nz-pagination .pages-container {\n position: relative;\n display: inline-flex;\n max-width: 100%;\n height: 100%;\n overflow-x: auto;\n scroll-behavior: smooth;\n scroll-snap-align: center;\n\n /* hide scrollbar in Firefox */\n scrollbar-width: none;\n}\n\nz-pagination .pages-container::-webkit-scrollbar {\n display: none;\n}\n\nz-pagination .pages-chunk {\n display: flex;\n scroll-snap-align: center;\n}\n\nz-pagination .pagination-bar .page-button {\n padding-top: var(--border-size-large) solid transparent;\n border-bottom: var(--border-size-large) solid transparent;\n font-size: var(--font-size-2);\n font-weight: var(--font-sb);\n}\n\nz-pagination .pagination-bar .page-button[data-current] {\n border-bottom-color: var(--color-primary01);\n font-size: var(--font-size-7);\n}\n\nz-pagination .go-to-page {\n display: flex;\n flex-direction: column;\n}\n\nz-pagination .go-to-page .inputs {\n display: flex;\n column-gap: var(--space-unit);\n}\n\nz-pagination .go-to-page .inputs z-input {\n width: calc(var(--space-unit) * 11);\n}\n\nz-pagination .go-to-page .inputs z-input input,\nz-pagination .mobile-go-to-page z-input input {\n padding: 0 calc(var(--space-unit) * 1.5) !important;\n appearance: none;\n}\n\nz-pagination .mobile-go-to-page {\n display: flex;\n height: 100%;\n flex: 1 auto;\n align-items: center;\n justify-content: center;\n background-color: var(--color-surface02);\n}\n\nz-pagination .mobile-go-to-page z-input {\n width: var(--z-pagination--page-button-width);\n margin-right: var(--space-unit);\n}\n\nz-pagination .mobile-go-to-page z-input input {\n text-align: center;\n}\n\nz-pagination .mobile-go-to-page z-input input::-webkit-outer-spin-button,\nz-pagination .mobile-go-to-page z-input input::-webkit-inner-spin-button {\n appearance: none;\n}\n\nz-pagination .mobile-go-to-page > span {\n font-size: var(--font-size-2);\n}\n\n@media (hover: hover) {\n z-pagination .pagination-bar button:hover {\n background-color: var(--z-pagination-background-color-hover);\n }\n\n z-pagination .pagination-bar .page-button:hover {\n border-bottom-color: var(--color-hover-primary);\n color: var(--color-hover-primary);\n }\n}\n\n@media (min-width: 768px) {\n z-pagination {\n --z-pagination--page-button-width: 88px;\n\n flex-direction: row;\n align-items: flex-end;\n }\n\n z-pagination .pages-container {\n max-width: var(--z-pagination--pages-container-max-width);\n }\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n h,\n} from \"@stencil/core\";\nimport {InputType} from \"../../beans\";\n\n/**\n * Pagination bar component.\n */\n@Component({\n tag: \"z-pagination\",\n styleUrl: \"styles.css\",\n})\nexport class ZPagination implements ComponentInterface {\n @Element() host: HTMLZPaginationElement;\n\n /** Pagination label placed before the bar. */\n @Prop()\n label?: string;\n\n /** Enable navigation arrows. */\n @Prop()\n navArrows = true;\n\n /** Total number of pages. Required. */\n @Prop()\n totalPages!: number;\n\n /** Number of pages to skip. */\n @Prop()\n skip = 0;\n\n /** Enable buttons to go to the first and last pages. */\n @Prop()\n edges = false;\n\n /** Number of pages to show left/right of the current, before showing \"load more\" symbol (…). */\n @Prop()\n split?: number;\n\n /** Number of pages to show at a time. If not set, all pages will be shown. */\n @Prop()\n visiblePages?: number;\n\n /** Current page. */\n @Prop({mutable: true})\n currentPage = 1;\n\n /** Whether to show \"go to page\" feature. */\n @Prop()\n goToPage: boolean;\n\n /**\n * Internal visible pages variable.\n * Needed to better handle conflicting props like `visiblePages` and `split`.\n * This state will change based on props values and validation,\n * keeping original `visiblePages` value intact.\n */\n @State()\n private _visiblePages = this.visiblePages;\n\n /** Used to hides/change some functionalities on smaller screen sizes */\n @State()\n isMobile = false;\n\n /** Value of the go to page input */\n @State()\n goToPageValue = null;\n\n /** Event emitted when the current page has changed. */\n @Event()\n pageChanged: EventEmitter;\n\n /**\n * Set the max width of the pages container.\n */\n @Watch(\"_visiblePages\")\n setPagesContainerWidth(): void {\n if (!this._visiblePages || this.split) {\n this.host.style.setProperty(\"--z-pagination--pages-container-max-width\", \"100%\");\n\n return;\n }\n\n const pagesContainerStyle = window.getComputedStyle(this.host);\n const pageButtonWidth = pagesContainerStyle.getPropertyValue(\"--z-pagination--page-button-width\");\n this.host.style.setProperty(\n \"--z-pagination--pages-container-max-width\",\n `calc(${pageButtonWidth} * ${this._visiblePages})`\n );\n }\n\n /**\n * Set visible pages.\n * Ensure that the visible pages are always <= the total pages.\n * If `visiblePages` isn't set, fallback to the total pages.\n */\n @Watch(\"visiblePages\")\n setVisiblePages(): void {\n this._visiblePages = Math.min(this.visiblePages || this.totalPages, this.totalPages);\n }\n\n /**\n * On page changed.\n * @emits pageChanged\n */\n @Watch(\"currentPage\")\n onPageChanged(): void {\n this.pageChanged.emit(this.currentPage);\n this.scrollToPage();\n }\n\n /**\n * On split changed.\n * Empty `edges` value. The split feature wins over the pages chunks and edges.\n */\n @Watch(\"split\")\n onSplitChanged(): void {\n if (this.split) {\n this.edges = false;\n }\n }\n\n /**\n * Hide stuff on mobile.\n */\n @Listen(\"resize\", {target: \"window\", passive: true})\n onResize(): void {\n this.setMobile();\n }\n\n /**\n * Set functionalities according to screen size.\n */\n private setMobile(): void {\n const mobileMediaQuery = \"screen and (max-width: 767px)\";\n this.isMobile = window.matchMedia(mobileMediaQuery).matches;\n }\n\n /**\n * Get a list of pages chunks, each of `visiblePages` length.\n * @returns {number[][]}\n */\n private getPagesChunks(): number[][] {\n // array of numbers from 1 to `totalPages`\n const pages = Array.from({length: this.totalPages}, (_, i) => i + 1);\n\n const chunks = [];\n const chunksCount = Math.ceil(pages.length / this._visiblePages);\n for (let index = 0; index < chunksCount; index++) {\n chunks.push(pages.slice(index * this._visiblePages, (index + 1) * this._visiblePages));\n }\n\n return chunks;\n }\n\n /**\n * Scroll to the left the chunk of pages containing the current page.\n */\n private scrollToPage(): void {\n const container = this.host.querySelector(\".pages-container\") as HTMLElement;\n const pageBtn = this.host.querySelector(`[data-page=\"${this.currentPage}\"]`) as HTMLElement;\n const navBtn = this.host.querySelector(\".navigation-button\") as HTMLElement;\n\n if (!pageBtn || !container) {\n return;\n }\n\n const containerWidth = container.getBoundingClientRect().width;\n const pageBtnWidth = pageBtn.getBoundingClientRect().width;\n const navBtnWidth = navBtn?.getBoundingClientRect()?.width ?? 0;\n\n container.scrollLeft = this.currentPage * pageBtnWidth - navBtnWidth - containerWidth / 2;\n }\n\n /**\n * Select a page.\n * Do validations on the passed value before assigning it to `currentPage`.\n * @param {number} page Page number to set\n */\n private selectPage(page): void {\n this.currentPage = Math.min(Math.max(page, 1), this.totalPages);\n }\n\n /**\n * Render page number button.\n * @param {number} page Page number to render\n * @returns {HTMLButtonElement}\n */\n private renderPage(page): HTMLButtonElement {\n return (\n <button\n class=\"page-button\"\n type=\"button\"\n aria-current={this.currentPage === page ? \"page\" : \"false\"}\n title={`Vai alla pagina ${page}`}\n data-page={page}\n data-current={this.currentPage === page}\n onClick={() => this.selectPage(page)}\n >\n {page}\n </button>\n );\n }\n\n /**\n * Render split button.\n * @param {number} page Page to select on click.\n * @returns {HTMLButtonElement}\n */\n private renderEllipsisButton(page): HTMLButtonElement {\n return (\n <button\n class=\"ellipsis-button\"\n type=\"button\"\n title={`Vai alla pagina ${page}`}\n onClick={() => this.selectPage(page)}\n >\n …\n </button>\n );\n }\n\n /**\n * Render chunked page buttons.\n * @returns {HTMLDivElement[]}\n */\n private renderPages(): HTMLDivElement[] {\n const pagesChunks = this.getPagesChunks();\n if (pagesChunks.length <= 0) {\n return;\n }\n\n return pagesChunks.map((chunk) => <div class=\"pages-chunk\">{chunk.map((page) => this.renderPage(page))}</div>);\n }\n\n /**\n * Render page buttons when split feature is enabled.\n * @returns {HTMLButtonElement[]}\n */\n private renderSplitPages(): HTMLButtonElement[] {\n // left and right split pages, current page, first and last page, left and right ellipsis button\n if (this.totalPages <= this.split * 2 + 5) {\n // Too few pages: ellipsis will never be rendered, so let's just render all pages and that's it.\n return Array.from({length: this.totalPages}, (_, i) => this.renderPage(i + 1));\n }\n\n if (this.currentPage <= this.split * 2 + 2) {\n // Render first (2 * split + 3) pages, ellipsis, then last page.\n return [\n ...Array.from({length: this.split * 2 + 3}, (_, i) => this.renderPage(i + 1)),\n this.renderEllipsisButton(this.split * 2 + 4),\n this.renderPage(this.totalPages),\n ];\n }\n\n if (this.currentPage > this.split * 2 + 2 && this.currentPage < this.totalPages - this.split * 2 - 1) {\n // Render first page, ellipsis, current page surrounded by (split) pages both before and after, another ellipsis, then last page.\n return [\n this.renderPage(1),\n this.renderEllipsisButton(this.currentPage - this.split - 1),\n ...Array.from({length: this.split * 2 + 1}, (_, i) => this.renderPage(this.currentPage - this.split + i)),\n this.renderEllipsisButton(this.currentPage + this.split + 1),\n this.renderPage(this.totalPages),\n ];\n }\n\n // Render first page, ellipsis, then last (2 * split + 3) pages.\n return [\n this.renderPage(1),\n this.renderEllipsisButton(this.totalPages - this.split * 2 - 3),\n ...Array.from({length: this.split * 2 + 3}, (_, i) => this.renderPage(this.totalPages - this.split * 2 - 2 + i)),\n ];\n }\n\n private renderBackButton(): HTMLButtonElement {\n return (\n <button\n class=\"navigation-button\"\n type=\"button\"\n aria-label=\"Vai alla pagina precedente\"\n title=\"Vai alla pagina precedente\"\n disabled={this.currentPage === 1}\n onClick={() => this.selectPage(this.currentPage - 1)}\n >\n <z-icon name=\"chevron-left\"></z-icon>\n </button>\n );\n }\n\n private renderForwardButton(): HTMLButtonElement {\n return (\n <button\n class=\"navigation-button\"\n type=\"button\"\n aria-label=\"Vai alla prossima pagina\"\n title=\"Vai alla prossima pagina\"\n disabled={this.currentPage === this.totalPages}\n onClick={() => this.selectPage(this.currentPage + 1)}\n >\n <z-icon name=\"chevron-right\"></z-icon>\n </button>\n );\n }\n\n private renderMobile(): HTMLElement[] {\n const pagesChunks = this.getPagesChunks();\n\n return [\n this.label && <span class=\"page-label body-1-sb\">{this.label}</span>,\n\n <div class=\"pagination-bar\">\n {this.renderBackButton()}\n\n {!this.goToPage && (\n <div\n class=\"pages-container\"\n role=\"navigation\"\n tabIndex={-1}\n >\n {pagesChunks.length > 0 &&\n pagesChunks.map((chunk) => <div class=\"pages-chunk\">{chunk.map((page) => this.renderPage(page))}</div>)}\n </div>\n )}\n\n {this.goToPage && (\n <form\n class=\"mobile-go-to-page\"\n onSubmit={(ev) => {\n ev.preventDefault();\n this.selectPage(this.goToPageValue);\n }}\n >\n <z-input\n class=\"go-to-page-input\"\n type={InputType.NUMBER}\n min={1}\n max={this.totalPages}\n message={false}\n onInput={(ev: InputEvent) => {\n this.goToPageValue = (ev.target as HTMLZInputElement).value;\n }}\n placeholder={this.currentPage.toString()}\n hasclearicon={false}\n ></z-input>\n <span>{`/${this.totalPages}`}</span>\n </form>\n )}\n\n {this.renderForwardButton()}\n </div>,\n ];\n }\n\n componentDidLoad(): void {\n this.setVisiblePages();\n }\n\n componentDidRender(): void {\n if (this.split) {\n this.edges = false;\n }\n\n this.setPagesContainerWidth();\n this.setMobile();\n this.scrollToPage();\n }\n\n render(): HTMLZPaginationElement {\n if (this.isMobile) {\n return <Host>{this.renderMobile()}</Host>;\n }\n\n return (\n <Host>\n <div class=\"pagination-bar\">\n {this.label && <span class=\"page-label body-1-sb\">{this.label}</span>}\n\n {this.edges && (\n <button\n class=\"pagination-button\"\n type=\"button\"\n title=\"Vai alla pagina 1\"\n disabled={this.currentPage === 1}\n onClick={() => this.selectPage(1)}\n >\n Pagina 1\n </button>\n )}\n\n {this.skip < this.totalPages && this.skip > 1 && (\n <button\n class=\"pagination-button\"\n type=\"button\"\n title={`Vai alla pagina ${this.currentPage - this.skip}`}\n disabled={this.currentPage <= this.skip}\n onClick={() => this.selectPage(this.currentPage - this.skip)}\n >\n -{this.skip}\n </button>\n )}\n\n {this.navArrows && this.renderBackButton()}\n\n <div\n class=\"pages-container\"\n role=\"navigation\"\n tabIndex={-1}\n >\n {this.split ? this.renderSplitPages() : this.renderPages()}\n </div>\n\n {this.navArrows && this.renderForwardButton()}\n\n {this.skip < this.totalPages && this.skip > 1 && (\n <button\n class=\"pagination-button\"\n type=\"button\"\n title={`Vai alla pagina ${this.currentPage + this.skip}`}\n disabled={this.currentPage > this.totalPages - this.skip}\n onClick={() => this.selectPage(this.currentPage + this.skip)}\n >\n +{this.skip}\n </button>\n )}\n\n {this.edges && (\n <button\n class=\"pagination-button\"\n type=\"button\"\n title={`Vai alla pagina ${this.totalPages}`}\n disabled={this.currentPage === this.totalPages}\n onClick={() => this.selectPage(this.totalPages)}\n >\n Pagina {this.totalPages}\n </button>\n )}\n </div>\n {this.goToPage && (\n <div class=\"go-to-page\">\n <span class=\"z-label body-5-sb\">Vai a pagina:</span>\n <div class=\"inputs\">\n <z-input\n class=\"go-to-page-input\"\n type={InputType.NUMBER}\n min={1}\n max={this.totalPages}\n message={false}\n placeholder=\"2\"\n hasclearicon={false}\n onInput={(ev: InputEvent) => {\n this.goToPageValue = (ev.target as HTMLZInputElement).value;\n }}\n onKeyDown={(ev) => ev.key === \"Enter\" && this.selectPage(this.goToPageValue)}\n ></z-input>\n <z-button\n disabled={!this.goToPageValue}\n title=\"Vai alla pagina inserita\"\n onClick={() => this.selectPage(this.goToPageValue)}\n >\n vai\n </z-button>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["stylesCss","ZPagination","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","navArrows","skip","edges","currentPage","_visiblePages","visiblePages","isMobile","goToPageValue","setPagesContainerWidth","split","host","style","setProperty","pagesContainerStyle","window","getComputedStyle","pageButtonWidth","getPropertyValue","setVisiblePages","Math","min","totalPages","onPageChanged","pageChanged","emit","scrollToPage","onSplitChanged","onResize","setMobile","mobileMediaQuery","matchMedia","matches","getPagesChunks","pages","Array","from","length","_","i","chunks","chunksCount","ceil","index","push","slice","container","querySelector","pageBtn","navBtn","containerWidth","getBoundingClientRect","width","pageBtnWidth","navBtnWidth","_b","_a","scrollLeft","selectPage","page","max","renderPage","h","class","type","title","onClick","renderEllipsisButton","renderPages","pagesChunks","map","chunk","renderSplitPages","renderBackButton","disabled","name","renderForwardButton","renderMobile","label","goToPage","role","tabIndex","onSubmit","ev","preventDefault","InputType","NUMBER","message","onInput","target","value","placeholder","toString","hasclearicon","componentDidLoad","componentDidRender","render","Host","onKeyDown","key"],"sources":["src/components/z-pagination/styles.css?tag=z-pagination","src/components/z-pagination/index.tsx"],"sourcesContent":["z-pagination {\n /**\n * @prop --z-pagination--page-button-width: Width of the pagination's page buttons. The default is 64px on mobile and 88px on desktop.\n * @prop --z-pagination--pages-container-max-width: Max width of the container of the page buttons. The default is 100% (full width).\n * @prop --z-pagination-background-color: Background of the pagination's tabs. The default is --color-background\n * @prop --z-pagination-background-color-hover: Background of the pagination's tabs on hover. The default is --color-surface01\n */\n --z-pagination--page-button-width: 64px;\n --z-pagination--pages-container-max-width: 100%;\n --z-pagination-background-color: var(--color-background);\n --z-pagination-background-color-hover: var(--color-surface01);\n\n display: flex;\n max-width: 100%;\n flex-flow: column wrap;\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n gap: calc(var(--space-unit) * 2) calc(var(--space-unit) * 4);\n}\n\nz-pagination,\nz-pagination * {\n box-sizing: border-box;\n}\n\nz-pagination button {\n height: 100%;\n}\n\nz-pagination z-icon {\n fill: var(--color-primary01-icon);\n}\n\nz-pagination *:disabled z-icon {\n fill: var(--color-disabled03);\n}\n\nz-pagination .page-label {\n margin-right: calc(var(--space-unit) * 3);\n color: var(--color-default-text);\n}\n\nz-pagination .pagination-bar {\n display: flex;\n max-width: 100%;\n height: 48px;\n align-items: center;\n}\n\nz-pagination .pagination-bar button {\n display: flex;\n align-items: center;\n justify-content: center;\n border: none;\n margin: 0;\n background-color: var(--z-pagination-background-color);\n color: var(--color-primary01);\n cursor: pointer;\n font-family: inherit;\n font-weight: inherit;\n transition:\n background-color 0.15s ease-out,\n color 0.15s ease-out,\n border-bottom-color 0.15s ease-out,\n font-size 0.15s ease-in-out,\n font-weight 0.15s ease-in-out;\n}\n\nz-pagination .pagination-bar button:focus-visible {\n background-color: var(--color-surface01);\n outline: none;\n}\n\nz-pagination .pagination-bar .pagination-button {\n padding: calc(var(--space-unit) * 2);\n font-weight: var(--font-sb);\n text-transform: uppercase;\n white-space: nowrap;\n}\n\nz-pagination .pagination-bar .navigation-button {\n padding: calc(var(--space-unit) * 2) calc(var(--space-unit) * 1.5);\n}\n\nz-pagination .pagination-bar .pagination-button:disabled,\nz-pagination .pagination-bar .navigation-button:disabled {\n color: var(--color-disabled03);\n cursor: default;\n fill: var(--color-disabled03);\n pointer-events: none;\n}\n\nz-pagination .pagination-bar .page-button,\nz-pagination .pagination-bar .ellipsis-button {\n width: var(--z-pagination--page-button-width);\n}\n\nz-pagination .pages-container {\n position: relative;\n display: inline-flex;\n max-width: 100%;\n height: 100%;\n overflow-x: auto;\n scroll-behavior: smooth;\n scroll-snap-align: center;\n\n /* hide scrollbar in Firefox */\n scrollbar-width: none;\n}\n\nz-pagination .pages-container::-webkit-scrollbar {\n display: none;\n}\n\nz-pagination .pages-chunk {\n display: flex;\n scroll-snap-align: center;\n}\n\nz-pagination .pagination-bar .page-button {\n padding-top: var(--border-size-large) solid transparent;\n border-bottom: var(--border-size-large) solid transparent;\n font-size: var(--font-size-2);\n font-weight: var(--font-sb);\n}\n\nz-pagination .pagination-bar .page-button[data-current] {\n border-bottom-color: var(--color-primary01);\n font-size: var(--font-size-7);\n}\n\nz-pagination .go-to-page {\n display: flex;\n flex-direction: column;\n}\n\nz-pagination .go-to-page .inputs {\n display: flex;\n column-gap: var(--space-unit);\n}\n\nz-pagination .go-to-page .inputs z-input {\n width: calc(var(--space-unit) * 11);\n}\n\nz-pagination .go-to-page .inputs z-input input,\nz-pagination .mobile-go-to-page z-input input {\n padding: 0 calc(var(--space-unit) * 1.5) !important;\n appearance: none;\n}\n\nz-pagination .mobile-go-to-page {\n display: flex;\n height: 100%;\n flex: 1 auto;\n align-items: center;\n justify-content: center;\n background-color: var(--color-surface02);\n}\n\nz-pagination .mobile-go-to-page z-input {\n width: var(--z-pagination--page-button-width);\n margin-right: var(--space-unit);\n}\n\nz-pagination .mobile-go-to-page z-input input {\n text-align: center;\n}\n\nz-pagination .mobile-go-to-page z-input input::-webkit-outer-spin-button,\nz-pagination .mobile-go-to-page z-input input::-webkit-inner-spin-button {\n appearance: none;\n}\n\nz-pagination .mobile-go-to-page > span {\n font-size: var(--font-size-2);\n}\n\n@media (hover: hover) {\n z-pagination .pagination-bar button:hover {\n background-color: var(--z-pagination-background-color-hover);\n }\n\n z-pagination .pagination-bar .page-button:hover {\n border-bottom-color: var(--color-hover-primary);\n color: var(--color-hover-primary);\n }\n}\n\n@media (min-width: 768px) {\n z-pagination {\n --z-pagination--page-button-width: 88px;\n\n flex-direction: row;\n align-items: flex-end;\n }\n\n z-pagination .pages-container {\n max-width: var(--z-pagination--pages-container-max-width);\n }\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n h,\n} from \"@stencil/core\";\nimport {InputType} from \"../../beans\";\n\n/**\n * Pagination bar component.\n */\n@Component({\n tag: \"z-pagination\",\n styleUrl: \"styles.css\",\n})\nexport class ZPagination implements ComponentInterface {\n @Element() host: HTMLZPaginationElement;\n\n /** Pagination label placed before the bar. */\n @Prop()\n label?: string;\n\n /** Enable navigation arrows. */\n @Prop()\n navArrows = true;\n\n /** Total number of pages. Required. */\n @Prop()\n totalPages!: number;\n\n /** Number of pages to skip. */\n @Prop()\n skip = 0;\n\n /** Enable buttons to go to the first and last pages. */\n @Prop()\n edges = false;\n\n /** Number of pages to show left/right of the current, before showing \"load more\" symbol (…). */\n @Prop()\n split?: number;\n\n /** Number of pages to show at a time. If not set, all pages will be shown. */\n @Prop()\n visiblePages?: number;\n\n /** Current page. */\n @Prop({mutable: true})\n currentPage = 1;\n\n /** Whether to show \"go to page\" feature. */\n @Prop()\n goToPage: boolean;\n\n /**\n * Internal visible pages variable.\n * Needed to better handle conflicting props like `visiblePages` and `split`.\n * This state will change based on props values and validation,\n * keeping original `visiblePages` value intact.\n */\n @State()\n private _visiblePages = this.visiblePages;\n\n /** Used to hides/change some functionalities on smaller screen sizes */\n @State()\n isMobile = false;\n\n /** Value of the go to page input */\n @State()\n goToPageValue = null;\n\n /** Event emitted when the current page has changed. */\n @Event()\n pageChanged: EventEmitter;\n\n /**\n * Set the max width of the pages container.\n */\n @Watch(\"_visiblePages\")\n setPagesContainerWidth(): void {\n if (!this._visiblePages || this.split) {\n this.host.style.setProperty(\"--z-pagination--pages-container-max-width\", \"100%\");\n\n return;\n }\n\n const pagesContainerStyle = window.getComputedStyle(this.host);\n const pageButtonWidth = pagesContainerStyle.getPropertyValue(\"--z-pagination--page-button-width\");\n this.host.style.setProperty(\n \"--z-pagination--pages-container-max-width\",\n `calc(${pageButtonWidth} * ${this._visiblePages})`\n );\n }\n\n /**\n * Set visible pages.\n * Ensure that the visible pages are always <= the total pages.\n * If `visiblePages` isn't set, fallback to the total pages.\n */\n @Watch(\"visiblePages\")\n setVisiblePages(): void {\n this._visiblePages = Math.min(this.visiblePages || this.totalPages, this.totalPages);\n }\n\n /**\n * On page changed.\n * @emits pageChanged\n */\n @Watch(\"currentPage\")\n onPageChanged(): void {\n this.pageChanged.emit(this.currentPage);\n this.scrollToPage();\n }\n\n /**\n * On split changed.\n * Empty `edges` value. The split feature wins over the pages chunks and edges.\n */\n @Watch(\"split\")\n onSplitChanged(): void {\n if (this.split) {\n this.edges = false;\n }\n }\n\n /**\n * Hide stuff on mobile.\n */\n @Listen(\"resize\", {target: \"window\", passive: true})\n onResize(): void {\n this.setMobile();\n }\n\n /**\n * Set functionalities according to screen size.\n */\n private setMobile(): void {\n const mobileMediaQuery = \"screen and (max-width: 767px)\";\n this.isMobile = window.matchMedia(mobileMediaQuery).matches;\n }\n\n /**\n * Get a list of pages chunks, each of `visiblePages` length.\n * @returns {number[][]}\n */\n private getPagesChunks(): number[][] {\n // array of numbers from 1 to `totalPages`\n const pages = Array.from({length: this.totalPages}, (_, i) => i + 1);\n\n const chunks = [];\n const chunksCount = Math.ceil(pages.length / this._visiblePages);\n for (let index = 0; index < chunksCount; index++) {\n chunks.push(pages.slice(index * this._visiblePages, (index + 1) * this._visiblePages));\n }\n\n return chunks;\n }\n\n /**\n * Scroll to the left the chunk of pages containing the current page.\n */\n private scrollToPage(): void {\n const container = this.host.querySelector(\".pages-container\") as HTMLElement;\n const pageBtn = this.host.querySelector(`[data-page=\"${this.currentPage}\"]`) as HTMLElement;\n const navBtn = this.host.querySelector(\".navigation-button\") as HTMLElement;\n\n if (!pageBtn || !container) {\n return;\n }\n\n const containerWidth = container.getBoundingClientRect().width;\n const pageBtnWidth = pageBtn.getBoundingClientRect().width;\n const navBtnWidth = navBtn?.getBoundingClientRect()?.width ?? 0;\n\n container.scrollLeft = this.currentPage * pageBtnWidth - navBtnWidth - containerWidth / 2;\n }\n\n /**\n * Select a page.\n * Do validations on the passed value before assigning it to `currentPage`.\n * @param {number} page Page number to set\n */\n private selectPage(page): void {\n this.currentPage = Math.min(Math.max(page, 1), this.totalPages);\n }\n\n /**\n * Render page number button.\n * @param {number} page Page number to render\n * @returns {HTMLButtonElement}\n */\n private renderPage(page): HTMLButtonElement {\n return (\n <button\n class=\"page-button\"\n type=\"button\"\n aria-current={this.currentPage === page ? \"page\" : \"false\"}\n title={`Vai alla pagina ${page}`}\n data-page={page}\n data-current={this.currentPage === page}\n onClick={() => this.selectPage(page)}\n >\n {page}\n </button>\n );\n }\n\n /**\n * Render split button.\n * @param {number} page Page to select on click.\n * @returns {HTMLButtonElement}\n */\n private renderEllipsisButton(page): HTMLButtonElement {\n return (\n <button\n class=\"ellipsis-button\"\n type=\"button\"\n title={`Vai alla pagina ${page}`}\n onClick={() => this.selectPage(page)}\n >\n …\n </button>\n );\n }\n\n /**\n * Render chunked page buttons.\n * @returns {HTMLDivElement[]}\n */\n private renderPages(): HTMLDivElement[] {\n const pagesChunks = this.getPagesChunks();\n if (pagesChunks.length <= 0) {\n return;\n }\n\n return pagesChunks.map((chunk) => <div class=\"pages-chunk\">{chunk.map((page) => this.renderPage(page))}</div>);\n }\n\n /**\n * Render page buttons when split feature is enabled.\n * @returns {HTMLButtonElement[]}\n */\n private renderSplitPages(): HTMLButtonElement[] {\n // left and right split pages, current page, first and last page, left and right ellipsis button\n if (this.totalPages <= this.split * 2 + 5) {\n // Too few pages: ellipsis will never be rendered, so let's just render all pages and that's it.\n return Array.from({length: this.totalPages}, (_, i) => this.renderPage(i + 1));\n }\n\n if (this.currentPage <= this.split * 2 + 2) {\n // Render first (2 * split + 3) pages, ellipsis, then last page.\n return [\n ...Array.from({length: this.split * 2 + 3}, (_, i) => this.renderPage(i + 1)),\n this.renderEllipsisButton(this.split * 2 + 4),\n this.renderPage(this.totalPages),\n ];\n }\n\n if (this.currentPage > this.split * 2 + 2 && this.currentPage < this.totalPages - this.split * 2 - 1) {\n // Render first page, ellipsis, current page surrounded by (split) pages both before and after, another ellipsis, then last page.\n return [\n this.renderPage(1),\n this.renderEllipsisButton(this.currentPage - this.split - 1),\n ...Array.from({length: this.split * 2 + 1}, (_, i) => this.renderPage(this.currentPage - this.split + i)),\n this.renderEllipsisButton(this.currentPage + this.split + 1),\n this.renderPage(this.totalPages),\n ];\n }\n\n // Render first page, ellipsis, then last (2 * split + 3) pages.\n return [\n this.renderPage(1),\n this.renderEllipsisButton(this.totalPages - this.split * 2 - 3),\n ...Array.from({length: this.split * 2 + 3}, (_, i) => this.renderPage(this.totalPages - this.split * 2 - 2 + i)),\n ];\n }\n\n private renderBackButton(): HTMLButtonElement {\n return (\n <button\n class=\"navigation-button\"\n type=\"button\"\n aria-label=\"Vai alla pagina precedente\"\n title=\"Vai alla pagina precedente\"\n disabled={this.currentPage === 1}\n onClick={() => this.selectPage(this.currentPage - 1)}\n >\n <z-icon name=\"chevron-left\"></z-icon>\n </button>\n );\n }\n\n private renderForwardButton(): HTMLButtonElement {\n return (\n <button\n class=\"navigation-button\"\n type=\"button\"\n aria-label=\"Vai alla prossima pagina\"\n title=\"Vai alla prossima pagina\"\n disabled={this.currentPage === this.totalPages}\n onClick={() => this.selectPage(this.currentPage + 1)}\n >\n <z-icon name=\"chevron-right\"></z-icon>\n </button>\n );\n }\n\n private renderMobile(): HTMLElement[] {\n const pagesChunks = this.getPagesChunks();\n\n return [\n this.label && <span class=\"page-label body-1-sb\">{this.label}</span>,\n\n <div class=\"pagination-bar\">\n {this.renderBackButton()}\n\n {!this.goToPage && (\n <div\n class=\"pages-container\"\n role=\"navigation\"\n tabIndex={-1}\n >\n {pagesChunks.length > 0 &&\n pagesChunks.map((chunk) => <div class=\"pages-chunk\">{chunk.map((page) => this.renderPage(page))}</div>)}\n </div>\n )}\n\n {this.goToPage && (\n <form\n class=\"mobile-go-to-page\"\n onSubmit={(ev) => {\n ev.preventDefault();\n this.selectPage(this.goToPageValue);\n }}\n >\n <z-input\n class=\"go-to-page-input\"\n type={InputType.NUMBER}\n min={1}\n max={this.totalPages}\n message={false}\n onInput={(ev: InputEvent) => {\n this.goToPageValue = (ev.target as HTMLZInputElement).value;\n }}\n placeholder={this.currentPage.toString()}\n hasclearicon={false}\n ></z-input>\n <span>{`/${this.totalPages}`}</span>\n </form>\n )}\n\n {this.renderForwardButton()}\n </div>,\n ];\n }\n\n componentDidLoad(): void {\n this.setVisiblePages();\n }\n\n componentDidRender(): void {\n if (this.split) {\n this.edges = false;\n }\n\n this.setPagesContainerWidth();\n this.setMobile();\n this.scrollToPage();\n }\n\n render(): HTMLZPaginationElement {\n if (this.isMobile) {\n return <Host>{this.renderMobile()}</Host>;\n }\n\n return (\n <Host>\n <div class=\"pagination-bar\">\n {this.label && <span class=\"page-label body-1-sb\">{this.label}</span>}\n\n {this.edges && (\n <button\n class=\"pagination-button\"\n type=\"button\"\n title=\"Vai alla pagina 1\"\n disabled={this.currentPage === 1}\n onClick={() => this.selectPage(1)}\n >\n Pagina 1\n </button>\n )}\n\n {this.skip < this.totalPages && this.skip > 1 && (\n <button\n class=\"pagination-button\"\n type=\"button\"\n title={`Vai alla pagina ${this.currentPage - this.skip}`}\n disabled={this.currentPage <= this.skip}\n onClick={() => this.selectPage(this.currentPage - this.skip)}\n >\n -{this.skip}\n </button>\n )}\n\n {this.navArrows && this.renderBackButton()}\n\n <div\n class=\"pages-container\"\n role=\"navigation\"\n tabIndex={-1}\n >\n {this.split ? this.renderSplitPages() : this.renderPages()}\n </div>\n\n {this.navArrows && this.renderForwardButton()}\n\n {this.skip < this.totalPages && this.skip > 1 && (\n <button\n class=\"pagination-button\"\n type=\"button\"\n title={`Vai alla pagina ${this.currentPage + this.skip}`}\n disabled={this.currentPage > this.totalPages - this.skip}\n onClick={() => this.selectPage(this.currentPage + this.skip)}\n >\n +{this.skip}\n </button>\n )}\n\n {this.edges && (\n <button\n class=\"pagination-button\"\n type=\"button\"\n title={`Vai alla pagina ${this.totalPages}`}\n disabled={this.currentPage === this.totalPages}\n onClick={() => this.selectPage(this.totalPages)}\n >\n Pagina {this.totalPages}\n </button>\n )}\n </div>\n {this.goToPage && (\n <div class=\"go-to-page\">\n <span class=\"z-label body-5-sb\">Vai a pagina:</span>\n <div class=\"inputs\">\n <z-input\n class=\"go-to-page-input\"\n type={InputType.NUMBER}\n min={1}\n max={this.totalPages}\n message={false}\n placeholder=\"2\"\n hasclearicon={false}\n onInput={(ev: InputEvent) => {\n this.goToPageValue = (ev.target as HTMLZInputElement).value;\n }}\n onKeyDown={(ev) => ev.key === \"Enter\" && this.selectPage(this.goToPageValue)}\n ></z-input>\n <z-button\n disabled={!this.goToPageValue}\n title=\"Vai alla pagina inserita\"\n onClick={() => this.selectPage(this.goToPageValue)}\n >\n vai\n </z-button>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{Z as o,d as s}from"./index16.js";const t=o;const n=s;export{t as ZPopover,n as defineCustomElement};
1
+ import{Z as o,d as s}from"./p-D8wde41u.js";const t=o;const p=s;export{t as ZPopover,p as defineCustomElement};
2
2
  //# sourceMappingURL=z-popover.js.map
@@ -1,2 +1,2 @@
1
- import{proxyCustomElement as t,HTMLElement as e,createEvent as r,h as a,transformTag as i}from"@stencil/core/internal/client";import{f as n,i as o,s as l,v as p,a as c}from"./utils2.js";import{J as s,H as d,I as f,f as h}from"./index2.js";import{d as m}from"./index3.js";import{d as k}from"./index6.js";import{d as u}from"./index7.js";const b=()=>`.flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,0.08);box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,0.08)}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none !important;box-shadow:none !important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:'';height:0;width:0;left:22px}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.arrowRight:after{left:auto;right:22px}.flatpickr-calendar.arrowCenter:before,.flatpickr-calendar.arrowCenter:after{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:transparent;color:rgba(0,0,0,0.9);fill:rgba(0,0,0,0.9);height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:rgba(0,0,0,0.9);fill:rgba(0,0,0,0.9)}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#959ea9}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,0.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,0.1)}.numInputWrapper span:active{background:rgba(0,0,0,0.2)}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,0.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,0.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:rgba(0,0,0,0.5)}.numInputWrapper:hover{background:rgba(0,0,0,0.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,0.05)}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\\0;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:rgba(0,0,0,0.9)}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:rgba(0,0,0,0.9)}.flatpickr-current-month input.cur-year{background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(0,0,0,0.5);background:transparent;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:transparent;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:none;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,0.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:none;padding:0}.flatpickr-weekdays{background:transparent;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:transparent;color:rgba(0,0,0,0.54);line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.dayContainer+.dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 0 #e6e6e6}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 0 #569ff7}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:rgba(57,57,57,0.3);background:transparent;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(57,57,57,0.1)}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(57,57,57,0.3);background:transparent;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:bold}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:bold;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.flatpickr-monthSelect-months{margin:10px 1px 3px 1px;flex-wrap:wrap}.flatpickr-monthSelect-month{background:none;border:1px solid transparent;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;display:inline-block;font-weight:400;margin:0.5px;justify-content:center;padding:10px;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;text-align:center;width:33%}.flatpickr-monthSelect-month.flatpickr-disabled{color:#eee}.flatpickr-monthSelect-month.flatpickr-disabled:hover,.flatpickr-monthSelect-month.flatpickr-disabled:focus{cursor:not-allowed;background:none !important}.flatpickr-monthSelect-theme-dark{background:#3f4458}.flatpickr-monthSelect-theme-dark .flatpickr-current-month input.cur-year{color:#fff}.flatpickr-monthSelect-theme-dark .flatpickr-months .flatpickr-prev-month,.flatpickr-monthSelect-theme-dark .flatpickr-months .flatpickr-next-month{color:#fff;fill:#fff}.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month{color:rgba(255, 255, 255, 0.95)}.flatpickr-monthSelect-month.today{border-color:#959ea9}.flatpickr-monthSelect-month.inRange,.flatpickr-monthSelect-month.inRange.today,.flatpickr-monthSelect-month:hover,.flatpickr-monthSelect-month:focus{background:#e6e6e6;cursor:pointer;outline:0;border-color:#e6e6e6}.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month.inRange,.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month:hover,.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month:focus{background:#646c8c;border-color:#646c8c}.flatpickr-monthSelect-month.today:hover,.flatpickr-monthSelect-month.today:focus{background:#959ea9;border-color:#959ea9;color:#fff}.flatpickr-monthSelect-month.selected,.flatpickr-monthSelect-month.startRange,.flatpickr-monthSelect-month.endRange{background-color:#569ff7;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-monthSelect-month.startRange{border-radius:50px 0 0 50px}.flatpickr-monthSelect-month.endRange{border-radius:0 50px 50px 0}.flatpickr-monthSelect-month.startRange.endRange{border-radius:50px}.flatpickr-monthSelect-month.inRange{border-radius:0;box-shadow:-5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6}.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month.selected,.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month.startRange,.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month.endRange{background:#80cbc4;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#80cbc4}:host{font-family:var(--font-family-sans);font-weight:var(--font-rg);--z-range-picker--toggle-height:0}z-date-picker{position:relative}z-date-picker>div>*{cursor:pointer !important}z-range-picker{position:relative}.flatpickr-toggle-container{width:fit-content}.range-pickers-container>div{position:relative}.hidden-input{position:absolute;bottom:0;width:0;height:0;visibility:hidden !important}.flatpickr-calendar::before,.flatpickr-calendar::after{display:none}.flatpickr-calendar{position:absolute !important;top:var(--z-range-picker--toggle-height) !important;left:0 !important;padding-top:calc(var(--space-unit) * 2);border-radius:2px;box-shadow:var(--shadow-2);font-family:var(--font-family-sans) !important}.months.top>.flatpickr-calendar{top:-288px !important}.date.top>.flatpickr-calendar,.date.top>div>.flatpickr-calendar{top:-401px !important}.date-time.top>.flatpickr-calendar,.date-time.top>div>.flatpickr-calendar{top:-523px !important}.flatpickr-calendar,.flatpickr-innerContainer,.flatpickr-days,.dayContainer,.flatpickr-rContainer,.flatpickr-monthSelect-months{width:calc(var(--space-unit) * 42) !important;max-width:calc(var(--space-unit) * 42) !important}.flatpickr-monthSelect-months{box-sizing:border-box;padding:0 !important;margin:calc(var(--space-unit) * 2) 0 !important}.flatpickr-months{position:relative;height:calc(var(--space-unit) * 6) !important;align-items:center;margin-bottom:var(--space-unit) 0 !important}.flatpickr-month{overflow:visible !important;height:calc(var(--space-unit) * 6) !important}.flatpickr-current-month{left:0 !important;display:flex !important;width:fill-available;height:calc(var(--space-unit) * 6);align-items:baseline;justify-content:space-evenly;padding-top:0}.flatpickr-next-month,.flatpickr-prev-month{position:static !important;display:flex;width:calc(var(--space-unit) * 4) !important;height:calc(var(--space-unit) * 4) !important;align-items:center;justify-content:center;padding:0 !important}.flatpickr-prev-month{margin-left:var(--space-unit)}.flatpickr-next-month{margin-right:var(--space-unit)}.flatpickr-next-month>svg,.flatpickr-prev-month>svg{width:calc(var(--space-unit) * 2) !important;height:calc(var(--space-unit) * 2) !important;fill:var(--color-primary01)}.flatpickr-next-month:hover,.flatpickr-prev-month:hover,.flatpickr-next-month:focus,.flatpickr-prev-month:focus{border:none !important;border-color:var(--color-primary03) !important;background-color:var(--color-primary03) !important;border-radius:var(--border-radius);color:var(--color-hover-primary) !important;outline:none !important}.flatpickr-next-month:hover svg,.flatpickr-prev-month:hover svg{fill:var(--color-hover-primary) !important}.flatpickr-next-month:active,.flatpickr-prev-month:active{border-color:var(--color-surface01) !important;background-color:var(--color-surface01) !important;border-radius:var(--border-radius);box-shadow:var(--shadow-2) !important;color:var(--color-primary01) !important}.flatpickr-next-month:focus svg,.flatpickr-prev-month:focus svg{fill:var(--color-primary01) !important}.flatpickr-monthDropdown-months{width:108px !important;height:calc(var(--space-unit) * 5.5) !important;padding-left:var(--space-unit) !important;background:var(--color-surface01) !important;color:var(--color-default-text) !important;font-size:var(--font-size-3) !important;font-weight:var(--font-rg) !important;outline:1px solid black !important}.flatpickr-monthDropdown-months:hover,.flatpickr-monthDropdown-months:focus{outline:1px solid var(--color-primary01) !important}.flatpickr-current-month>.numInputWrapper{display:flex;width:calc(var(--space-unit) * 10);height:calc(var(--space-unit) * 5.5) !important;background:var(--color-surface01) !important;color:var(--color-default-text);outline:1px solid black !important}.flatpickr-current-month>.numInputWrapper:hover,.flatpickr-current-month>.numInputWrapper:focus-within{outline:1px solid var(--color-primary01) !important}.flatpickr-current-month>.numInputWrapper>input{padding:0 calc(var(--space-unit) * 3) 0 var(--space-unit);font-size:var(--font-size-3) !important;font-weight:var(--font-rg) !important;text-align:center}.flatpickr-weekdays{height:calc(var(--space-unit) * 6);border-bottom:1px solid var(--color-surface03)}.flatpickr-weekday{font-size:var(--font-size-3) !important;font-weight:var(--font-rg) !important}.flatpickr-day,.flatpickr-monthSelect-month{width:calc(var(--space-unit) * 6) !important;max-width:100% !important;height:calc(var(--space-unit) * 6) !important;border:none;margin:0 !important;border-radius:0 !important;box-shadow:none !important;font-size:var(--font-size-3) !important;line-height:calc(var(--space-unit) * 6) !important}.flatpickr-day{width:calc(var(--space-unit) * 6) !important;border:none;line-height:calc(var(--space-unit) * 6) !important}.flatpickr-monthSelect-month{width:calc(var(--space-unit) * 14) !important;padding:0 !important;border:2px solid var(--color-surface01) !important;line-height:calc(var(--space-unit) * 5) !important}.flatpickr-day:not(.flatpickr-disabled):hover,.flatpickr-day:not(.flatpickr-disabled):active,.flatpickr-day:not(.flatpickr-disabled):focus,.flatpickr-day:not(.flatpickr-disabled).prevMonthDay:hover,.flatpickr-day:not(.flatpickr-disabled).prevMonthDay:active,.flatpickr-day:not(.flatpickr-disabled).prevMonthDay:focus,.flatpickr-day:not(.flatpickr-disabled).selected:hover,.flatpickr-day:not(.flatpickr-disabled).selected:active,.flatpickr-day:not(.flatpickr-disabled).selected:focus,.flatpickr-monthSelect-month:hover,.flatpickr-monthSelect-month:active,.flatpickr-monthSelect-month:focus{border-color:var(--color-hover-primary) !important;background-color:var(--color-hover-primary) !important;color:var(--color-text-inverse) !important}.flatpickr-day.today,.flatpickr-monthSelect-month.today{border:2px solid var(--color-hover-primary) !important}.flatpickr-day.selected:not(.flatpickr-disabled),.flatpickr-monthSelect-month.selected:not(.flatpickr-disabled){border-color:var(--color-primary01) !important;background-color:var(--color-primary01) !important}.flatpickr-weekday:nth-child(6),.flatpickr-weekday:nth-child(7),.flatpickr-day:nth-child(7n+6),.flatpickr-day:nth-child(7n+7){font-weight:var(--font-sb) !important}.flatpickr-time{display:block;height:90px !important;max-height:90px !important;text-align:left}.flatpickr-time::before{display:block;width:100%;padding-left:var(--space-unit);color:var(--color-default-text) !important;content:"Orario";font-size:var(--font-size-1);font-weight:var(--font-sb);text-transform:uppercase}.flatpickr-time.time24hr{margin:calc(var(--space-unit) * 2) !important}.flatpickr-time.time24hr>.numInputWrapper>input:hover,.flatpickr-time.time24hr>.numInputWrapper>input:focus,.flatpickr-time.time24hr>.numInputWrapper:hover{background-color:var(--color-surface01) !important}.flatpickr-time.time24hr>div{width:calc(var(--space-unit) * 10) !important;height:calc(var(--space-unit) * 5.5) !important;margin-right:var(--space-unit) !important;margin-left:var(--space-unit) !important}.flatpickr-time-separator{display:flex;height:calc(var(--space-unit) * 5.5) !important;align-items:center;justify-content:center;font-weight:unset !important}.flatpickr-minute,.flatpickr-hour{font-size:var(--font-size-3) !important;font-weight:var(--font-rg) !important;outline:1px solid black !important}.numInputWrapper:hover .flatpickr-minute,.numInputWrapper:hover .flatpickr-hour,.flatpickr-minute:focus,.flatpickr-hour:focus{outline:1px solid var(--color-primary01) !important}.arrowUp,.arrowDown{width:calc(var(--space-unit) * 2) !important;height:calc(var(--space-unit) * 2) !important;padding:0 !important;border:none !important;opacity:1 !important}.arrowUp{margin-top:calc(var(--space-unit) / 2) !important;margin-right:calc(var(--space-unit) / 2) !important}.arrowDown{top:auto !important;margin-top:calc(var(--space-unit) * 3) !important;margin-right:calc(var(--space-unit) / 2) !important}.arrowUp:hover,.arrowDown:hover{border-color:var(--color-primary03) !important;background-color:var(--color-primary03) !important;border-radius:var(--border-radius);color:var(--color-hover-primary) !important}.arrowUp:active,.arrowDown:active{border-color:var(--color-surface01) !important;background-color:var(--color-surface01) !important;border-radius:var(--border-radius);box-shadow:var(--shadow-2) !important;color:var(--color-primary01) !important}.arrowUp::after,.arrowDown::after{padding:2.5px !important;border:solid var(--color-primary01) !important;border-width:0 1px 1px 0 !important}.arrowUp::after{top:0 !important;margin-top:6px !important;margin-left:5.5px !important;transform:rotate(-135deg)}.arrowDown::after{top:0 !important;left:5.5px !important;margin-top:4px !important;transform:rotate(45deg)}.flatpickr-day:not(.flatpickr-disabled).inRange:hover,.flatpickr-day:not(.flatpickr-disabled).today.inRange:hover,.flatpickr-day.prevMonthDay:not(.flatpickr-disabled).inRange:hover,.flatpickr-monthSelect-month:not(.flatpickr-disabled).inRange:hover{border-color:var(--color-hover-primary) !important;background-color:var(--color-hover-primary) !important}.flatpickr-day:not(.flatpickr-disabled).inRange,.flatpickr-day:not(.flatpickr-disabled).today.inRange,.flatpickr-day:not(.flatpickr-disabled).prevMonthDay.inRange,.flatpickr-monthSelect-month:not(.flatpickr-disabled).inRange{border-color:var(--color-primary03);background-color:var(--color-primary03)}.flatpickr-day:not(.flatpickr-disabled).startRange,.flatpickr-day:not(.flatpickr-disabled).endRange,.flatpickr-monthSelect-month:not(.flatpickr-disabled).startRange,.flatpickr-monthSelect-month:not(.flatpickr-disabled).endRange{border-color:var(--color-primary01) !important;background-color:var(--color-primary01) !important}.flatpickr-day:not(.flatpickr-disabled).prevMonthDay.selected.startRange,.flatpickr-day:not(.flatpickr-disabled).prevMonthDay.selected.endRange{border-color:var(--color-primary01) !important;background-color:var(--color-primary01) !important}.flatpickr-range.second-input{cursor:pointer}.range-pickers-container{display:flex;gap:16px}`;const g=t(class t extends e{constructor(t){super();if(t!==false){this.__registerHost()}this.dateSelect=r(this,"dateSelect",7);this.mode=s.DATE;this.firstPickerReadOnly=false;this.lastPickerReadOnly=false;this.firstPickerPlaceholder="";this.lastPickerPlaceholder="";this.flatpickrPosition=d.BOTTOM;this.activeInput="start-input";this.firstInputError=false;this.lastInputError=false}handleClick(){this.getFocusedInput()}handleKeyDown(t){var e,r,a,i,n,o;const l=this.activeInput==="start-input"?this.firstPicker:this.lastPicker;this.getFocusedInput();if(t.key==="Escape"){if(document.activeElement.classList.contains(`${this.rangePickerId}-1`)){(e=this.firstPicker)===null||e===void 0?void 0:e.close()}if(document.activeElement.classList.contains(`${this.rangePickerId}-2`)){(r=this.lastPicker)===null||r===void 0?void 0:r.close()}}if(t.key==="Enter"||t.key===" "){if(document.activeElement.classList.contains(`${this.rangePickerId}-1`)||document.activeElement.classList.contains(`${this.rangePickerId}-2`)){l===null||l===void 0?void 0:l.open()}const e=document.activeElement.classList.contains("reset-icon");if(e){if(this.activeInput==="start-input"){this.firstInputError=false;(a=this.firstPicker)===null||a===void 0?void 0:a.clear();this.printDate(null,((i=this.lastPicker)===null||i===void 0?void 0:i.selectedDates[0])||null)}if(this.activeInput==="end-input"){this.lastInputError=false;(n=this.firstPicker)===null||n===void 0?void 0:n.clear();this.printDate(((o=this.firstPicker)===null||o===void 0?void 0:o.selectedDates[0])||null,null)}}const r=document.activeElement.classList.contains("flatpickr-prev-month");const p=document.activeElement.classList.contains("flatpickr-next-month");const c=r||p;if(c&&t.key===" "){t.preventDefault()}if(r){l===null||l===void 0?void 0:l.changeMonth(-1)}if(p){l===null||l===void 0?void 0:l.changeMonth(1)}}}componentDidLoad(){this.setupPickers()}setupFirstPickersReadOnly(){var t;(t=this.firstPicker)===null||t===void 0?void 0:t.set("clickOpens",!this.firstPickerReadOnly)}setupLastPickersReadOnly(){var t;(t=this.lastPicker)===null||t===void 0?void 0:t.set("clickOpens",!this.lastPickerReadOnly)}setupPickers(){const t={enableTime:this.mode===s.DATE_TIME,locale:o.Italian,allowInput:true,wrap:true,dateFormat:this.mode===s.DATE_TIME?"d-m-Y - H:i":"d-m-Y",ariaDateFormat:"d F Y",minuteIncrement:1,time_24hr:true,onValueUpdate:()=>{const t=this.activeInput==="start-input";const e=this.firstPicker.selectedDates[0];const r=this.lastPicker.selectedDates[0];if(+e>+r){if(t){this.firstInputError=true;this.printDate(null,r||null)}else{this.lastInputError=true;this.printDate(e||null,null)}}else{this.lastInputError=false;this.firstInputError=false;this.printDate(e||null,r||null)}this.setRangeStyle(0);this.setRangeStyle(1)},onChange:(t,e,r)=>{this.onDateSelect();this.setRangeStyle(r.input.classList.contains("start-input")?0:1)},onOpen:(t,e,r)=>{l(this.element,this.mode);this.flatpickrPosition=c(this.element,this.mode);this.setRangeStyle(r.input.classList.contains("start-input")?0:1);this.getFocusedInput()},onYearChange:(t,e,r)=>{this.setRangeStyle(r.input.classList.contains("start-input")?0:1)},onMonthChange:(t,e,r)=>{this.setRangeStyle(r.input.classList.contains("start-input")?0:1)},onKeyDown:()=>{l(this.element,this.mode)}};this.firstPicker=n(`.${this.rangePickerId}-1-container`,Object.assign(Object.assign({},Object.assign(Object.assign({},t),{clickOpens:!this.firstPickerReadOnly})),{mode:"single",appendTo:this.element.querySelector(`.${this.rangePickerId}-1-wrapper`)}));this.lastPicker=n(`.${this.rangePickerId}-2-container`,Object.assign(Object.assign({},Object.assign(Object.assign({},t),{clickOpens:!this.lastPickerReadOnly})),{mode:"single",appendTo:this.element.querySelector(`.${this.rangePickerId}-2-wrapper`)}));this.element.querySelectorAll(".flatpickr-weekday").forEach((t=>{t.innerHTML=t.innerHTML.trim().charAt(0)}))}onDateSelect(){const t=this.activeInput==="start-input";const e=this.firstPicker.selectedDates[0];const r=this.lastPicker.selectedDates[0];if(+e>+r){if(t){this.firstInputError=true;this.printDate(null,r||null)}else{this.lastInputError=true;this.printDate(e||null,null)}}else{this.lastInputError=false;this.firstInputError=false;this.printDate(e||null,r||null)}}disableDates(t,e){const r=this.element.getElementsByClassName("flatpickr-calendar")[e];Array.from(r.getElementsByClassName("flatpickr-day")).forEach((r=>{const a=this.getDateWithoutTime(this.replaceMonths(r.ariaLabel,null));const i=this.getDateWithoutTime(t);const n=e===0?a>i:a<i;if(n){r.classList.toggle("flatpickr-disabled",true)}else{r.classList.toggle("flatpickr-disabled",false)}}));l(this.element,this.mode)}formatDate(t){if(this.mode===s.DATE){return`${n.formatDate(t,"d-m-Y")}`}return`${n.formatDate(t,"d-m-Y - H:i")}`}printDate(t,e){const r=t?this.formatDate(t):null;const a=e?this.formatDate(e):null;this.dateSelect.emit([r,a])}getDateWithoutTime(t){const e=new Date(t.getFullYear(),t.getMonth(),t.getDate(),0,0);return e}replaceMonths(t,e){const r=t.split(" ")[1];const a={Gennaio:"01",Febbraio:"02",Marzo:"03",Aprile:"04",Maggio:"05",Giugno:"06",Luglio:"07",Agosto:"08",Settembre:"09",Ottobre:"10",Novembre:"11",Dicembre:"12"};const i=t.replace(r,a[r]).split(" ");return new Date(parseInt(i[2]),parseInt(i[1])-1,parseInt(i[0]),e?parseInt(e.split(":")[0]):0,e?parseInt(e.split(":")[1]):0)}getFocusedInput(){const t=document.activeElement.closest("z-input");if(!t){return}if(t===null||t===void 0?void 0:t.classList.contains("start-input")){this.activeInput="start-input"}else if(t.classList.contains("end-input")){this.activeInput="end-input"}}setRangeStyle(t){Array.from(this.element.getElementsByClassName("flatpickr-calendar")).forEach((e=>{Array.from(e.getElementsByClassName("flatpickr-day")).forEach((e=>{const r=this.firstPicker.selectedDates.length===1;const a=this.lastPicker.selectedDates.length===1;let i;let n;const o=this.getDateWithoutTime(this.replaceMonths(e.ariaLabel,null));if(r){i=this.getDateWithoutTime(this.firstPicker.selectedDates[0]);if(+o===+i){e.classList.toggle("startRange",true)}else{e.classList.toggle("startRange",false)}}if(a){n=this.getDateWithoutTime(this.lastPicker.selectedDates[0]);if(+o===+n){e.classList.toggle("endRange",true)}else{e.classList.toggle("endRange",false)}}if(r&&a){if(o>i&&o<n){e.classList.toggle("inRange",true)}else{e.classList.toggle("inRange",false)}}if(t===0&&a){this.disableDates(this.lastPicker.selectedDates[0],t)}if(t===1&&r){this.disableDates(this.firstPicker.selectedDates[0],t)}}))}))}onStopTyping(t){const e=t.detail.value.replace("/","-");const r=e.split("-");const a=this.mode===s.DATE_TIME?`T${r[3]}:00`:"";const i=`${r[2]}-${r[1]}-${r[0]}${a}`.split(" ").join("");const n=p(e,this.mode===s.DATE_TIME);const o=Date.parse(i).toString();if(this.activeInput==="start-input"){if(e===""){this.firstInputError=false;this.firstPicker.setDate([]);this.printDate(null,this.lastPicker.selectedDates[0]||null)}else if(!n){this.firstInputError=true;this.printDate(null,this.lastPicker.selectedDates[0]||null)}else if(n){if(this.lastPicker.selectedDates.length===1){if(+o<=+this.lastPicker.selectedDates[0]){this.firstInputError=false;this.firstPicker.setDate([e]);this.printDate(new Date(i),this.lastPicker.selectedDates[0])}else{this.firstInputError=true;this.printDate(null,this.lastPicker.selectedDates[0])}}else{this.firstInputError=false;this.firstPicker.setDate([e]);this.printDate(new Date(i),null)}}}else if(e===""){this.lastInputError=false;this.lastPicker.setDate([]);this.printDate(this.firstPicker.selectedDates[0]||null,null)}else if(!n){this.lastInputError=true;this.printDate(this.firstPicker.selectedDates[0]||null,null)}else if(n){if(this.firstPicker.selectedDates.length===1){if(+o>=+this.firstPicker.selectedDates[0]){this.lastInputError=false;this.lastPicker.setDate([e]);this.printDate(this.firstPicker.selectedDates[0],new Date(i))}else{this.lastInputError=true;this.printDate(this.firstPicker.selectedDates[0],null)}}else{this.lastInputError=false;this.lastPicker.setDate([e]);this.printDate(null,new Date(i))}}this.setRangeStyle(this.activeInput==="start-input"?0:1)}render(){const t={type:f.TEXT,icon:"event",tabindex:"0",message:false,onStopTyping:this.onStopTyping.bind(this),value:""};return a("div",{key:"4523d5064162ea6984b0c64dd4035f81b6908e7c",class:{["range-pickers-container"]:true,[this.mode]:true,[this.activeInput]:true,[this.flatpickrPosition]:true}},a("div",{key:"f7072a89e4cca123a3b89a01f2b45c06477241c2",class:`${this.rangePickerId}-1-wrapper`},a("div",{key:"d9e2e55356671cfd1b266b14a054d15fbb0af64c",class:`${this.rangePickerId}-1-container`},a("z-input",Object.assign({key:"acfca5557a45a205f7c6835c6d51faf43f926153"},t,{placeholder:this.firstPickerPlaceholder,readonly:this.firstPickerReadOnly,"data-input":"data-input",class:`start-input ${this.rangePickerId}-1`,ariaLabel:this.firstAriaLabel,label:this.firstLabel,status:this.firstInputError&&h.ERROR,onStartTyping:()=>{this.firstInputError=false}})))),a("div",{key:"d416470bfc3792ed75819358bc2e184afb2f513e",class:`${this.rangePickerId}-2-wrapper`},a("div",{key:"7479622363768dc67c8d21ed1671938bb8595274",class:`${this.rangePickerId}-2-container`},a("z-input",Object.assign({key:"2cb2232b8abf95ba126034956ef3d183d7b193aa"},t,{placeholder:this.lastPickerPlaceholder,readonly:this.lastPickerReadOnly,"data-input":"data-input",class:`end-input ${this.rangePickerId}-2`,ariaLabel:this.secondAriaLabel,label:this.secondLabel,status:this.lastInputError&&h.ERROR,onStartTyping:()=>{this.lastInputError=false}})))))}get element(){return this}static get watchers(){return{firstPickerReadOnly:[{setupFirstPickersReadOnly:0}],lastPickerReadOnly:[{setupLastPickersReadOnly:0}],mode:[{setupPickers:0}]}}static get style(){return b()}},[0,"z-range-picker",{rangePickerId:[1,"range-picker-id"],firstAriaLabel:[1,"first-aria-label"],firstLabel:[1,"first-label"],secondAriaLabel:[1,"second-aria-label"],secondLabel:[1,"second-label"],mode:[1],firstPickerReadOnly:[4,"first-picker-read-only"],lastPickerReadOnly:[4,"last-picker-read-only"],firstPickerPlaceholder:[1,"first-picker-placeholder"],lastPickerPlaceholder:[1,"last-picker-placeholder"],flatpickrPosition:[32],activeInput:[32],firstInputError:[32],lastInputError:[32]},[[18,"click","handleClick"],[18,"keyup","handleKeyDown"]],{firstPickerReadOnly:[{setupFirstPickersReadOnly:0}],lastPickerReadOnly:[{setupLastPickersReadOnly:0}],mode:[{setupPickers:0}]}]);function x(){if(typeof customElements==="undefined"){return}const t=["z-range-picker","z-icon","z-input","z-input-message"];t.forEach((t=>{switch(t){case"z-range-picker":if(!customElements.get(i(t))){customElements.define(i(t),g)}break;case"z-icon":if(!customElements.get(i(t))){m()}break;case"z-input":if(!customElements.get(i(t))){k()}break;case"z-input-message":if(!customElements.get(i(t))){u()}break}}))}const y=g;const v=x;export{y as ZRangePicker,v as defineCustomElement};
1
+ import{p as t,H as e,c as r,h as a,t as i}from"./p-RmbDDbWd.js";import{f as n,i as o,s as l,v as p,a as c}from"./p-B6jtvVtV.js";import{J as s,H as d,I as f,f as h}from"./p-DdetsoIY.js";import{d as m}from"./p-CbXEdwLi.js";import{d as k}from"./p-LXvmZzZa.js";import{d as u}from"./p-CdBqnUF6.js";const b=()=>`.flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,0.08);box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,0.08)}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none !important;box-shadow:none !important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:'';height:0;width:0;left:22px}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.arrowRight:after{left:auto;right:22px}.flatpickr-calendar.arrowCenter:before,.flatpickr-calendar.arrowCenter:after{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:transparent;color:rgba(0,0,0,0.9);fill:rgba(0,0,0,0.9);height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:rgba(0,0,0,0.9);fill:rgba(0,0,0,0.9)}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#959ea9}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,0.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,0.1)}.numInputWrapper span:active{background:rgba(0,0,0,0.2)}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,0.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,0.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:rgba(0,0,0,0.5)}.numInputWrapper:hover{background:rgba(0,0,0,0.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,0.05)}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\\0;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:rgba(0,0,0,0.9)}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:rgba(0,0,0,0.9)}.flatpickr-current-month input.cur-year{background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(0,0,0,0.5);background:transparent;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:transparent;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:none;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,0.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:none;padding:0}.flatpickr-weekdays{background:transparent;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:transparent;color:rgba(0,0,0,0.54);line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.dayContainer+.dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 0 #e6e6e6}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 0 #569ff7}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:rgba(57,57,57,0.3);background:transparent;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(57,57,57,0.1)}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(57,57,57,0.3);background:transparent;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:bold}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:bold;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.flatpickr-monthSelect-months{margin:10px 1px 3px 1px;flex-wrap:wrap}.flatpickr-monthSelect-month{background:none;border:1px solid transparent;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;display:inline-block;font-weight:400;margin:0.5px;justify-content:center;padding:10px;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;text-align:center;width:33%}.flatpickr-monthSelect-month.flatpickr-disabled{color:#eee}.flatpickr-monthSelect-month.flatpickr-disabled:hover,.flatpickr-monthSelect-month.flatpickr-disabled:focus{cursor:not-allowed;background:none !important}.flatpickr-monthSelect-theme-dark{background:#3f4458}.flatpickr-monthSelect-theme-dark .flatpickr-current-month input.cur-year{color:#fff}.flatpickr-monthSelect-theme-dark .flatpickr-months .flatpickr-prev-month,.flatpickr-monthSelect-theme-dark .flatpickr-months .flatpickr-next-month{color:#fff;fill:#fff}.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month{color:rgba(255, 255, 255, 0.95)}.flatpickr-monthSelect-month.today{border-color:#959ea9}.flatpickr-monthSelect-month.inRange,.flatpickr-monthSelect-month.inRange.today,.flatpickr-monthSelect-month:hover,.flatpickr-monthSelect-month:focus{background:#e6e6e6;cursor:pointer;outline:0;border-color:#e6e6e6}.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month.inRange,.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month:hover,.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month:focus{background:#646c8c;border-color:#646c8c}.flatpickr-monthSelect-month.today:hover,.flatpickr-monthSelect-month.today:focus{background:#959ea9;border-color:#959ea9;color:#fff}.flatpickr-monthSelect-month.selected,.flatpickr-monthSelect-month.startRange,.flatpickr-monthSelect-month.endRange{background-color:#569ff7;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-monthSelect-month.startRange{border-radius:50px 0 0 50px}.flatpickr-monthSelect-month.endRange{border-radius:0 50px 50px 0}.flatpickr-monthSelect-month.startRange.endRange{border-radius:50px}.flatpickr-monthSelect-month.inRange{border-radius:0;box-shadow:-5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6}.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month.selected,.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month.startRange,.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month.endRange{background:#80cbc4;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#80cbc4}:host{font-family:var(--font-family-sans);font-weight:var(--font-rg);--z-range-picker--toggle-height:0}z-date-picker{position:relative}z-date-picker>div>*{cursor:pointer !important}z-range-picker{position:relative}.flatpickr-toggle-container{width:fit-content}.range-pickers-container>div{position:relative}.hidden-input{position:absolute;bottom:0;width:0;height:0;visibility:hidden !important}.flatpickr-calendar::before,.flatpickr-calendar::after{display:none}.flatpickr-calendar{position:absolute !important;top:var(--z-range-picker--toggle-height) !important;left:0 !important;padding-top:calc(var(--space-unit) * 2);border-radius:2px;box-shadow:var(--shadow-2);font-family:var(--font-family-sans) !important}.months.top>.flatpickr-calendar{top:-288px !important}.date.top>.flatpickr-calendar,.date.top>div>.flatpickr-calendar{top:-401px !important}.date-time.top>.flatpickr-calendar,.date-time.top>div>.flatpickr-calendar{top:-523px !important}.flatpickr-calendar,.flatpickr-innerContainer,.flatpickr-days,.dayContainer,.flatpickr-rContainer,.flatpickr-monthSelect-months{width:calc(var(--space-unit) * 42) !important;max-width:calc(var(--space-unit) * 42) !important}.flatpickr-monthSelect-months{box-sizing:border-box;padding:0 !important;margin:calc(var(--space-unit) * 2) 0 !important}.flatpickr-months{position:relative;height:calc(var(--space-unit) * 6) !important;align-items:center;margin-bottom:var(--space-unit) 0 !important}.flatpickr-month{overflow:visible !important;height:calc(var(--space-unit) * 6) !important}.flatpickr-current-month{left:0 !important;display:flex !important;width:fill-available;height:calc(var(--space-unit) * 6);align-items:baseline;justify-content:space-evenly;padding-top:0}.flatpickr-next-month,.flatpickr-prev-month{position:static !important;display:flex;width:calc(var(--space-unit) * 4) !important;height:calc(var(--space-unit) * 4) !important;align-items:center;justify-content:center;padding:0 !important}.flatpickr-prev-month{margin-left:var(--space-unit)}.flatpickr-next-month{margin-right:var(--space-unit)}.flatpickr-next-month>svg,.flatpickr-prev-month>svg{width:calc(var(--space-unit) * 2) !important;height:calc(var(--space-unit) * 2) !important;fill:var(--color-primary01)}.flatpickr-next-month:hover,.flatpickr-prev-month:hover,.flatpickr-next-month:focus,.flatpickr-prev-month:focus{border:none !important;border-color:var(--color-primary03) !important;background-color:var(--color-primary03) !important;border-radius:var(--border-radius);color:var(--color-hover-primary) !important;outline:none !important}.flatpickr-next-month:hover svg,.flatpickr-prev-month:hover svg{fill:var(--color-hover-primary) !important}.flatpickr-next-month:active,.flatpickr-prev-month:active{border-color:var(--color-surface01) !important;background-color:var(--color-surface01) !important;border-radius:var(--border-radius);box-shadow:var(--shadow-2) !important;color:var(--color-primary01) !important}.flatpickr-next-month:focus svg,.flatpickr-prev-month:focus svg{fill:var(--color-primary01) !important}.flatpickr-monthDropdown-months{width:108px !important;height:calc(var(--space-unit) * 5.5) !important;padding-left:var(--space-unit) !important;background:var(--color-surface01) !important;color:var(--color-default-text) !important;font-size:var(--font-size-3) !important;font-weight:var(--font-rg) !important;outline:1px solid black !important}.flatpickr-monthDropdown-months:hover,.flatpickr-monthDropdown-months:focus{outline:1px solid var(--color-primary01) !important}.flatpickr-current-month>.numInputWrapper{display:flex;width:calc(var(--space-unit) * 10);height:calc(var(--space-unit) * 5.5) !important;background:var(--color-surface01) !important;color:var(--color-default-text);outline:1px solid black !important}.flatpickr-current-month>.numInputWrapper:hover,.flatpickr-current-month>.numInputWrapper:focus-within{outline:1px solid var(--color-primary01) !important}.flatpickr-current-month>.numInputWrapper>input{padding:0 calc(var(--space-unit) * 3) 0 var(--space-unit);font-size:var(--font-size-3) !important;font-weight:var(--font-rg) !important;text-align:center}.flatpickr-weekdays{height:calc(var(--space-unit) * 6);border-bottom:1px solid var(--color-surface03)}.flatpickr-weekday{font-size:var(--font-size-3) !important;font-weight:var(--font-rg) !important}.flatpickr-day,.flatpickr-monthSelect-month{width:calc(var(--space-unit) * 6) !important;max-width:100% !important;height:calc(var(--space-unit) * 6) !important;border:none;margin:0 !important;border-radius:0 !important;box-shadow:none !important;font-size:var(--font-size-3) !important;line-height:calc(var(--space-unit) * 6) !important}.flatpickr-day{width:calc(var(--space-unit) * 6) !important;border:none;line-height:calc(var(--space-unit) * 6) !important}.flatpickr-monthSelect-month{width:calc(var(--space-unit) * 14) !important;padding:0 !important;border:2px solid var(--color-surface01) !important;line-height:calc(var(--space-unit) * 5) !important}.flatpickr-day:not(.flatpickr-disabled):hover,.flatpickr-day:not(.flatpickr-disabled):active,.flatpickr-day:not(.flatpickr-disabled):focus,.flatpickr-day:not(.flatpickr-disabled).prevMonthDay:hover,.flatpickr-day:not(.flatpickr-disabled).prevMonthDay:active,.flatpickr-day:not(.flatpickr-disabled).prevMonthDay:focus,.flatpickr-day:not(.flatpickr-disabled).selected:hover,.flatpickr-day:not(.flatpickr-disabled).selected:active,.flatpickr-day:not(.flatpickr-disabled).selected:focus,.flatpickr-monthSelect-month:hover,.flatpickr-monthSelect-month:active,.flatpickr-monthSelect-month:focus{border-color:var(--color-hover-primary) !important;background-color:var(--color-hover-primary) !important;color:var(--color-text-inverse) !important}.flatpickr-day.today,.flatpickr-monthSelect-month.today{border:2px solid var(--color-hover-primary) !important}.flatpickr-day.selected:not(.flatpickr-disabled),.flatpickr-monthSelect-month.selected:not(.flatpickr-disabled){border-color:var(--color-primary01) !important;background-color:var(--color-primary01) !important}.flatpickr-weekday:nth-child(6),.flatpickr-weekday:nth-child(7),.flatpickr-day:nth-child(7n+6),.flatpickr-day:nth-child(7n+7){font-weight:var(--font-sb) !important}.flatpickr-time{display:block;height:90px !important;max-height:90px !important;text-align:left}.flatpickr-time::before{display:block;width:100%;padding-left:var(--space-unit);color:var(--color-default-text) !important;content:"Orario";font-size:var(--font-size-1);font-weight:var(--font-sb);text-transform:uppercase}.flatpickr-time.time24hr{margin:calc(var(--space-unit) * 2) !important}.flatpickr-time.time24hr>.numInputWrapper>input:hover,.flatpickr-time.time24hr>.numInputWrapper>input:focus,.flatpickr-time.time24hr>.numInputWrapper:hover{background-color:var(--color-surface01) !important}.flatpickr-time.time24hr>div{width:calc(var(--space-unit) * 10) !important;height:calc(var(--space-unit) * 5.5) !important;margin-right:var(--space-unit) !important;margin-left:var(--space-unit) !important}.flatpickr-time-separator{display:flex;height:calc(var(--space-unit) * 5.5) !important;align-items:center;justify-content:center;font-weight:unset !important}.flatpickr-minute,.flatpickr-hour{font-size:var(--font-size-3) !important;font-weight:var(--font-rg) !important;outline:1px solid black !important}.numInputWrapper:hover .flatpickr-minute,.numInputWrapper:hover .flatpickr-hour,.flatpickr-minute:focus,.flatpickr-hour:focus{outline:1px solid var(--color-primary01) !important}.arrowUp,.arrowDown{width:calc(var(--space-unit) * 2) !important;height:calc(var(--space-unit) * 2) !important;padding:0 !important;border:none !important;opacity:1 !important}.arrowUp{margin-top:calc(var(--space-unit) / 2) !important;margin-right:calc(var(--space-unit) / 2) !important}.arrowDown{top:auto !important;margin-top:calc(var(--space-unit) * 3) !important;margin-right:calc(var(--space-unit) / 2) !important}.arrowUp:hover,.arrowDown:hover{border-color:var(--color-primary03) !important;background-color:var(--color-primary03) !important;border-radius:var(--border-radius);color:var(--color-hover-primary) !important}.arrowUp:active,.arrowDown:active{border-color:var(--color-surface01) !important;background-color:var(--color-surface01) !important;border-radius:var(--border-radius);box-shadow:var(--shadow-2) !important;color:var(--color-primary01) !important}.arrowUp::after,.arrowDown::after{padding:2.5px !important;border:solid var(--color-primary01) !important;border-width:0 1px 1px 0 !important}.arrowUp::after{top:0 !important;margin-top:6px !important;margin-left:5.5px !important;transform:rotate(-135deg)}.arrowDown::after{top:0 !important;left:5.5px !important;margin-top:4px !important;transform:rotate(45deg)}.flatpickr-day:not(.flatpickr-disabled).inRange:hover,.flatpickr-day:not(.flatpickr-disabled).today.inRange:hover,.flatpickr-day.prevMonthDay:not(.flatpickr-disabled).inRange:hover,.flatpickr-monthSelect-month:not(.flatpickr-disabled).inRange:hover{border-color:var(--color-hover-primary) !important;background-color:var(--color-hover-primary) !important}.flatpickr-day:not(.flatpickr-disabled).inRange,.flatpickr-day:not(.flatpickr-disabled).today.inRange,.flatpickr-day:not(.flatpickr-disabled).prevMonthDay.inRange,.flatpickr-monthSelect-month:not(.flatpickr-disabled).inRange{border-color:var(--color-primary03);background-color:var(--color-primary03)}.flatpickr-day:not(.flatpickr-disabled).startRange,.flatpickr-day:not(.flatpickr-disabled).endRange,.flatpickr-monthSelect-month:not(.flatpickr-disabled).startRange,.flatpickr-monthSelect-month:not(.flatpickr-disabled).endRange{border-color:var(--color-primary01) !important;background-color:var(--color-primary01) !important}.flatpickr-day:not(.flatpickr-disabled).prevMonthDay.selected.startRange,.flatpickr-day:not(.flatpickr-disabled).prevMonthDay.selected.endRange{border-color:var(--color-primary01) !important;background-color:var(--color-primary01) !important}.flatpickr-range.second-input{cursor:pointer}.range-pickers-container{display:flex;gap:16px}`;const g=t(class t extends e{constructor(t){super();if(t!==false){this.__registerHost()}this.dateSelect=r(this,"dateSelect",7);this.mode=s.DATE;this.firstPickerReadOnly=false;this.lastPickerReadOnly=false;this.firstPickerPlaceholder="";this.lastPickerPlaceholder="";this.flatpickrPosition=d.BOTTOM;this.activeInput="start-input";this.firstInputError=false;this.lastInputError=false}handleClick(){this.getFocusedInput()}handleKeyDown(t){var e,r,a,i,n,o;const l=this.activeInput==="start-input"?this.firstPicker:this.lastPicker;this.getFocusedInput();if(t.key==="Escape"){if(document.activeElement.classList.contains(`${this.rangePickerId}-1`)){(e=this.firstPicker)===null||e===void 0?void 0:e.close()}if(document.activeElement.classList.contains(`${this.rangePickerId}-2`)){(r=this.lastPicker)===null||r===void 0?void 0:r.close()}}if(t.key==="Enter"||t.key===" "){if(document.activeElement.classList.contains(`${this.rangePickerId}-1`)||document.activeElement.classList.contains(`${this.rangePickerId}-2`)){l===null||l===void 0?void 0:l.open()}const e=document.activeElement.classList.contains("reset-icon");if(e){if(this.activeInput==="start-input"){this.firstInputError=false;(a=this.firstPicker)===null||a===void 0?void 0:a.clear();this.printDate(null,((i=this.lastPicker)===null||i===void 0?void 0:i.selectedDates[0])||null)}if(this.activeInput==="end-input"){this.lastInputError=false;(n=this.firstPicker)===null||n===void 0?void 0:n.clear();this.printDate(((o=this.firstPicker)===null||o===void 0?void 0:o.selectedDates[0])||null,null)}}const r=document.activeElement.classList.contains("flatpickr-prev-month");const p=document.activeElement.classList.contains("flatpickr-next-month");const c=r||p;if(c&&t.key===" "){t.preventDefault()}if(r){l===null||l===void 0?void 0:l.changeMonth(-1)}if(p){l===null||l===void 0?void 0:l.changeMonth(1)}}}componentDidLoad(){this.setupPickers()}setupFirstPickersReadOnly(){var t;(t=this.firstPicker)===null||t===void 0?void 0:t.set("clickOpens",!this.firstPickerReadOnly)}setupLastPickersReadOnly(){var t;(t=this.lastPicker)===null||t===void 0?void 0:t.set("clickOpens",!this.lastPickerReadOnly)}setupPickers(){const t={enableTime:this.mode===s.DATE_TIME,locale:o.Italian,allowInput:true,wrap:true,dateFormat:this.mode===s.DATE_TIME?"d-m-Y - H:i":"d-m-Y",ariaDateFormat:"d F Y",minuteIncrement:1,time_24hr:true,onValueUpdate:()=>{const t=this.activeInput==="start-input";const e=this.firstPicker.selectedDates[0];const r=this.lastPicker.selectedDates[0];if(+e>+r){if(t){this.firstInputError=true;this.printDate(null,r||null)}else{this.lastInputError=true;this.printDate(e||null,null)}}else{this.lastInputError=false;this.firstInputError=false;this.printDate(e||null,r||null)}this.setRangeStyle(0);this.setRangeStyle(1)},onChange:(t,e,r)=>{this.onDateSelect();this.setRangeStyle(r.input.classList.contains("start-input")?0:1)},onOpen:(t,e,r)=>{l(this.element,this.mode);this.flatpickrPosition=c(this.element,this.mode);this.setRangeStyle(r.input.classList.contains("start-input")?0:1);this.getFocusedInput()},onYearChange:(t,e,r)=>{this.setRangeStyle(r.input.classList.contains("start-input")?0:1)},onMonthChange:(t,e,r)=>{this.setRangeStyle(r.input.classList.contains("start-input")?0:1)},onKeyDown:()=>{l(this.element,this.mode)}};this.firstPicker=n(`.${this.rangePickerId}-1-container`,Object.assign(Object.assign({},Object.assign(Object.assign({},t),{clickOpens:!this.firstPickerReadOnly})),{mode:"single",appendTo:this.element.querySelector(`.${this.rangePickerId}-1-wrapper`)}));this.lastPicker=n(`.${this.rangePickerId}-2-container`,Object.assign(Object.assign({},Object.assign(Object.assign({},t),{clickOpens:!this.lastPickerReadOnly})),{mode:"single",appendTo:this.element.querySelector(`.${this.rangePickerId}-2-wrapper`)}));this.element.querySelectorAll(".flatpickr-weekday").forEach((t=>{t.innerHTML=t.innerHTML.trim().charAt(0)}))}onDateSelect(){const t=this.activeInput==="start-input";const e=this.firstPicker.selectedDates[0];const r=this.lastPicker.selectedDates[0];if(+e>+r){if(t){this.firstInputError=true;this.printDate(null,r||null)}else{this.lastInputError=true;this.printDate(e||null,null)}}else{this.lastInputError=false;this.firstInputError=false;this.printDate(e||null,r||null)}}disableDates(t,e){const r=this.element.getElementsByClassName("flatpickr-calendar")[e];Array.from(r.getElementsByClassName("flatpickr-day")).forEach((r=>{const a=this.getDateWithoutTime(this.replaceMonths(r.ariaLabel,null));const i=this.getDateWithoutTime(t);const n=e===0?a>i:a<i;if(n){r.classList.toggle("flatpickr-disabled",true)}else{r.classList.toggle("flatpickr-disabled",false)}}));l(this.element,this.mode)}formatDate(t){if(this.mode===s.DATE){return`${n.formatDate(t,"d-m-Y")}`}return`${n.formatDate(t,"d-m-Y - H:i")}`}printDate(t,e){const r=t?this.formatDate(t):null;const a=e?this.formatDate(e):null;this.dateSelect.emit([r,a])}getDateWithoutTime(t){const e=new Date(t.getFullYear(),t.getMonth(),t.getDate(),0,0);return e}replaceMonths(t,e){const r=t.split(" ")[1];const a={Gennaio:"01",Febbraio:"02",Marzo:"03",Aprile:"04",Maggio:"05",Giugno:"06",Luglio:"07",Agosto:"08",Settembre:"09",Ottobre:"10",Novembre:"11",Dicembre:"12"};const i=t.replace(r,a[r]).split(" ");return new Date(parseInt(i[2]),parseInt(i[1])-1,parseInt(i[0]),e?parseInt(e.split(":")[0]):0,e?parseInt(e.split(":")[1]):0)}getFocusedInput(){const t=document.activeElement.closest("z-input");if(!t){return}if(t===null||t===void 0?void 0:t.classList.contains("start-input")){this.activeInput="start-input"}else if(t.classList.contains("end-input")){this.activeInput="end-input"}}setRangeStyle(t){Array.from(this.element.getElementsByClassName("flatpickr-calendar")).forEach((e=>{Array.from(e.getElementsByClassName("flatpickr-day")).forEach((e=>{const r=this.firstPicker.selectedDates.length===1;const a=this.lastPicker.selectedDates.length===1;let i;let n;const o=this.getDateWithoutTime(this.replaceMonths(e.ariaLabel,null));if(r){i=this.getDateWithoutTime(this.firstPicker.selectedDates[0]);if(+o===+i){e.classList.toggle("startRange",true)}else{e.classList.toggle("startRange",false)}}if(a){n=this.getDateWithoutTime(this.lastPicker.selectedDates[0]);if(+o===+n){e.classList.toggle("endRange",true)}else{e.classList.toggle("endRange",false)}}if(r&&a){if(o>i&&o<n){e.classList.toggle("inRange",true)}else{e.classList.toggle("inRange",false)}}if(t===0&&a){this.disableDates(this.lastPicker.selectedDates[0],t)}if(t===1&&r){this.disableDates(this.firstPicker.selectedDates[0],t)}}))}))}onStopTyping(t){const e=t.detail.value.replace("/","-");const r=e.split("-");const a=this.mode===s.DATE_TIME?`T${r[3]}:00`:"";const i=`${r[2]}-${r[1]}-${r[0]}${a}`.split(" ").join("");const n=p(e,this.mode===s.DATE_TIME);const o=Date.parse(i).toString();if(this.activeInput==="start-input"){if(e===""){this.firstInputError=false;this.firstPicker.setDate([]);this.printDate(null,this.lastPicker.selectedDates[0]||null)}else if(!n){this.firstInputError=true;this.printDate(null,this.lastPicker.selectedDates[0]||null)}else if(n){if(this.lastPicker.selectedDates.length===1){if(+o<=+this.lastPicker.selectedDates[0]){this.firstInputError=false;this.firstPicker.setDate([e]);this.printDate(new Date(i),this.lastPicker.selectedDates[0])}else{this.firstInputError=true;this.printDate(null,this.lastPicker.selectedDates[0])}}else{this.firstInputError=false;this.firstPicker.setDate([e]);this.printDate(new Date(i),null)}}}else if(e===""){this.lastInputError=false;this.lastPicker.setDate([]);this.printDate(this.firstPicker.selectedDates[0]||null,null)}else if(!n){this.lastInputError=true;this.printDate(this.firstPicker.selectedDates[0]||null,null)}else if(n){if(this.firstPicker.selectedDates.length===1){if(+o>=+this.firstPicker.selectedDates[0]){this.lastInputError=false;this.lastPicker.setDate([e]);this.printDate(this.firstPicker.selectedDates[0],new Date(i))}else{this.lastInputError=true;this.printDate(this.firstPicker.selectedDates[0],null)}}else{this.lastInputError=false;this.lastPicker.setDate([e]);this.printDate(null,new Date(i))}}this.setRangeStyle(this.activeInput==="start-input"?0:1)}render(){const t={type:f.TEXT,icon:"event",tabindex:"0",message:false,onStopTyping:this.onStopTyping.bind(this),value:""};return a("div",{key:"4523d5064162ea6984b0c64dd4035f81b6908e7c",class:{["range-pickers-container"]:true,[this.mode]:true,[this.activeInput]:true,[this.flatpickrPosition]:true}},a("div",{key:"f7072a89e4cca123a3b89a01f2b45c06477241c2",class:`${this.rangePickerId}-1-wrapper`},a("div",{key:"d9e2e55356671cfd1b266b14a054d15fbb0af64c",class:`${this.rangePickerId}-1-container`},a("z-input",Object.assign({key:"acfca5557a45a205f7c6835c6d51faf43f926153"},t,{placeholder:this.firstPickerPlaceholder,readonly:this.firstPickerReadOnly,"data-input":"data-input",class:`start-input ${this.rangePickerId}-1`,ariaLabel:this.firstAriaLabel,label:this.firstLabel,status:this.firstInputError&&h.ERROR,onStartTyping:()=>{this.firstInputError=false}})))),a("div",{key:"d416470bfc3792ed75819358bc2e184afb2f513e",class:`${this.rangePickerId}-2-wrapper`},a("div",{key:"7479622363768dc67c8d21ed1671938bb8595274",class:`${this.rangePickerId}-2-container`},a("z-input",Object.assign({key:"2cb2232b8abf95ba126034956ef3d183d7b193aa"},t,{placeholder:this.lastPickerPlaceholder,readonly:this.lastPickerReadOnly,"data-input":"data-input",class:`end-input ${this.rangePickerId}-2`,ariaLabel:this.secondAriaLabel,label:this.secondLabel,status:this.lastInputError&&h.ERROR,onStartTyping:()=>{this.lastInputError=false}})))))}get element(){return this}static get watchers(){return{firstPickerReadOnly:[{setupFirstPickersReadOnly:0}],lastPickerReadOnly:[{setupLastPickersReadOnly:0}],mode:[{setupPickers:0}]}}static get style(){return b()}},[0,"z-range-picker",{rangePickerId:[1,"range-picker-id"],firstAriaLabel:[1,"first-aria-label"],firstLabel:[1,"first-label"],secondAriaLabel:[1,"second-aria-label"],secondLabel:[1,"second-label"],mode:[1],firstPickerReadOnly:[4,"first-picker-read-only"],lastPickerReadOnly:[4,"last-picker-read-only"],firstPickerPlaceholder:[1,"first-picker-placeholder"],lastPickerPlaceholder:[1,"last-picker-placeholder"],flatpickrPosition:[32],activeInput:[32],firstInputError:[32],lastInputError:[32]},[[18,"click","handleClick"],[18,"keyup","handleKeyDown"]],{firstPickerReadOnly:[{setupFirstPickersReadOnly:0}],lastPickerReadOnly:[{setupLastPickersReadOnly:0}],mode:[{setupPickers:0}]}]);function x(){if(typeof customElements==="undefined"){return}const t=["z-range-picker","z-icon","z-input","z-input-message"];t.forEach((t=>{switch(t){case"z-range-picker":if(!customElements.get(i(t))){customElements.define(i(t),g)}break;case"z-icon":if(!customElements.get(i(t))){m()}break;case"z-input":if(!customElements.get(i(t))){k()}break;case"z-input-message":if(!customElements.get(i(t))){u()}break}}))}const y=g;const v=x;export{y as ZRangePicker,v as defineCustomElement};
2
2
  //# sourceMappingURL=z-range-picker.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["stylesCss","ZRangePicker","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","mode","ZRangePickerMode","DATE","firstPickerReadOnly","lastPickerReadOnly","firstPickerPlaceholder","lastPickerPlaceholder","flatpickrPosition","ZDatePickerPosition","BOTTOM","activeInput","firstInputError","lastInputError","handleClick","getFocusedInput","handleKeyDown","ev","currentPicker","firstPicker","lastPicker","key","document","activeElement","classList","contains","rangePickerId","_a","close","_b","open","isCrossIconEntered","_c","clear","printDate","_d","selectedDates","_e","_f","isPrevArrowEntered","isNextArrowEntered","arrowPressed","preventDefault","changeMonth","componentDidLoad","setupPickers","setupFirstPickersReadOnly","set","setupLastPickersReadOnly","config","enableTime","DATE_TIME","locale","Italian","allowInput","wrap","dateFormat","ariaDateFormat","minuteIncrement","time_24hr","onValueUpdate","firstInputActive","firstDate","lastDate","setRangeStyle","onChange","_selectedDates","_dateStr","instance","onDateSelect","input","onOpen","setAriaOptions","element","setFlatpickrPosition","onYearChange","onMonthChange","onKeyDown","flatpickr","Object","assign","clickOpens","appendTo","querySelector","querySelectorAll","forEach","innerHTML","trim","charAt","disableDates","date","index","calendar","getElementsByClassName","Array","from","calendarDate","getDateWithoutTime","replaceMonths","ariaLabel","breakpoint","inRange","toggle","formatDate","firstDateString","lastDateString","dateSelect","emit","newDate","Date","getFullYear","getMonth","getDate","time","month","split","months","Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre","pieces","replace","parseInt","focusedZInput","closest","hasFirstDate","length","hasLastDate","onStopTyping","value","text","detail","englishData","englishParsedData","join","isValidDate","validateDate","parse","toString","setDate","render","zInputProps","type","InputType","TEXT","icon","tabindex","message","bind","h","class","placeholder","readonly","firstAriaLabel","label","firstLabel","status","InputStatus","ERROR","onStartTyping","secondAriaLabel","secondLabel"],"sources":["src/components/date-picker/styles.css?tag=z-range-picker","src/components/date-picker/z-range-picker/index.tsx"],"sourcesContent":["@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\";\n\nimport {InputStatus, InputType, ZDatePickerPosition, ZRangePickerMode} from \"../../../beans\";\nimport {setAriaOptions, setFlatpickrPosition, validateDate} from \"../utils\";\n\n@Component({\n tag: \"z-range-picker\",\n styleUrl: \"../styles.css\",\n shadow: false,\n})\nexport class ZRangePicker implements ComponentInterface {\n @Element() element: HTMLZRangePickerElement;\n\n /** unique id */\n @Prop()\n rangePickerId: string;\n\n /** first z-input aria label */\n @Prop()\n firstAriaLabel?: string;\n\n /** first z-input label */\n @Prop()\n firstLabel?: string;\n\n /** second z-input aria label */\n @Prop()\n secondAriaLabel?: string;\n\n /** second z-input label */\n @Prop()\n secondLabel?: string;\n\n /** [Optional] datepicker mode: date or datetime */\n @Prop()\n mode: ZRangePickerMode = ZRangePickerMode.DATE;\n\n /** readonly mode */\n @Prop()\n firstPickerReadOnly = false;\n\n /** readonly mode */\n @Prop()\n lastPickerReadOnly = false;\n\n /** readonly mode */\n @Prop()\n firstPickerPlaceholder = \"\";\n\n /** readonly mode */\n @Prop()\n lastPickerPlaceholder = \"\";\n\n @State()\n flatpickrPosition: ZDatePickerPosition = ZDatePickerPosition.BOTTOM;\n\n @State()\n activeInput = \"start-input\";\n\n @State()\n firstInputError = false;\n\n @State()\n lastInputError = false;\n\n private firstPicker;\n\n private lastPicker;\n\n /** emitted when date changes, returns an array with the two selected dates */\n @Event()\n dateSelect: EventEmitter;\n\n @Listen(\"click\", {target: \"body\", capture: true})\n handleClick(): void {\n this.getFocusedInput();\n }\n\n @Listen(\"keyup\", {target: \"body\", capture: true})\n handleKeyDown(ev: KeyboardEvent): void {\n const currentPicker = this.activeInput === \"start-input\" ? this.firstPicker : this.lastPicker;\n\n this.getFocusedInput();\n\n if (ev.key === \"Escape\") {\n if (document.activeElement.classList.contains(`${this.rangePickerId}-1`)) {\n this.firstPicker?.close();\n }\n if (document.activeElement.classList.contains(`${this.rangePickerId}-2`)) {\n this.lastPicker?.close();\n }\n }\n\n if (ev.key === \"Enter\" || ev.key === \" \") {\n if (\n document.activeElement.classList.contains(`${this.rangePickerId}-1`) ||\n document.activeElement.classList.contains(`${this.rangePickerId}-2`)\n ) {\n currentPicker?.open();\n }\n\n const isCrossIconEntered = document.activeElement.classList.contains(\"reset-icon\");\n\n if (isCrossIconEntered) {\n if (this.activeInput === \"start-input\") {\n this.firstInputError = false;\n this.firstPicker?.clear();\n this.printDate(null, this.lastPicker?.selectedDates[0] || null);\n }\n if (this.activeInput === \"end-input\") {\n this.lastInputError = false;\n this.firstPicker?.clear();\n this.printDate(this.firstPicker?.selectedDates[0] || null, null);\n }\n }\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 (isPrevArrowEntered) {\n currentPicker?.changeMonth(-1);\n }\n if (isNextArrowEntered) {\n currentPicker?.changeMonth(1);\n }\n }\n }\n\n componentDidLoad(): void {\n this.setupPickers();\n }\n\n @Watch(\"firstPickerReadOnly\")\n setupFirstPickersReadOnly(): void {\n this.firstPicker?.set(\"clickOpens\", !this.firstPickerReadOnly);\n }\n\n @Watch(\"lastPickerReadOnly\")\n setupLastPickersReadOnly(): void {\n this.lastPicker?.set(\"clickOpens\", !this.lastPickerReadOnly);\n }\n\n @Watch(\"mode\")\n setupPickers(): void {\n const config = {\n enableTime: this.mode === ZRangePickerMode.DATE_TIME,\n locale: Italian,\n allowInput: true,\n wrap: true,\n dateFormat: this.mode === ZRangePickerMode.DATE_TIME ? \"d-m-Y - H:i\" : \"d-m-Y\",\n ariaDateFormat: \"d F Y\",\n minuteIncrement: 1,\n time_24hr: true,\n onValueUpdate: () => {\n const firstInputActive = this.activeInput === \"start-input\";\n const firstDate = this.firstPicker.selectedDates[0];\n const lastDate = this.lastPicker.selectedDates[0];\n\n if (+firstDate > +lastDate) {\n if (firstInputActive) {\n this.firstInputError = true;\n this.printDate(null, lastDate || null);\n } else {\n this.lastInputError = true;\n this.printDate(firstDate || null, null);\n }\n } else {\n this.lastInputError = false;\n this.firstInputError = false;\n this.printDate(firstDate || null, lastDate || null);\n }\n this.setRangeStyle(0);\n this.setRangeStyle(1);\n },\n onChange: (_selectedDates, _dateStr, instance) => {\n this.onDateSelect();\n this.setRangeStyle(instance.input.classList.contains(\"start-input\") ? 0 : 1);\n },\n onOpen: (_selectedDates, _dateStr, instance) => {\n setAriaOptions(this.element, this.mode);\n this.flatpickrPosition = setFlatpickrPosition(this.element, this.mode);\n this.setRangeStyle(instance.input.classList.contains(\"start-input\") ? 0 : 1);\n this.getFocusedInput();\n },\n onYearChange: (_selectedDates, _dateStr, instance) => {\n this.setRangeStyle(instance.input.classList.contains(\"start-input\") ? 0 : 1);\n },\n onMonthChange: (_selectedDates, _dateStr, instance) => {\n this.setRangeStyle(instance.input.classList.contains(\"start-input\") ? 0 : 1);\n },\n onKeyDown: () => {\n setAriaOptions(this.element, this.mode);\n },\n };\n\n this.firstPicker = flatpickr(`.${this.rangePickerId}-1-container`, {\n ...{...config, clickOpens: !this.firstPickerReadOnly},\n mode: \"single\",\n appendTo: this.element.querySelector(`.${this.rangePickerId}-1-wrapper`),\n });\n this.lastPicker = flatpickr(`.${this.rangePickerId}-2-container`, {\n ...{...config, clickOpens: !this.lastPickerReadOnly},\n mode: \"single\",\n appendTo: this.element.querySelector(`.${this.rangePickerId}-2-wrapper`),\n });\n\n this.element.querySelectorAll(\".flatpickr-weekday\").forEach((element) => {\n element.innerHTML = element.innerHTML.trim().charAt(0);\n });\n }\n\n private onDateSelect(): void {\n const firstInputActive = this.activeInput === \"start-input\";\n const firstDate = this.firstPicker.selectedDates[0];\n const lastDate = this.lastPicker.selectedDates[0];\n\n if (+firstDate > +lastDate) {\n if (firstInputActive) {\n this.firstInputError = true;\n this.printDate(null, lastDate || null);\n } else {\n this.lastInputError = true;\n this.printDate(firstDate || null, null);\n }\n } else {\n this.lastInputError = false;\n this.firstInputError = false;\n this.printDate(firstDate || null, lastDate || null);\n }\n }\n\n private disableDates(date, index): void {\n const calendar = this.element.getElementsByClassName(\"flatpickr-calendar\")[index];\n\n Array.from(calendar.getElementsByClassName(\"flatpickr-day\")).forEach((element: Element) => {\n const calendarDate = this.getDateWithoutTime(this.replaceMonths(element.ariaLabel, null));\n\n const breakpoint = this.getDateWithoutTime(date);\n const inRange = index === 0 ? calendarDate > breakpoint : calendarDate < breakpoint;\n\n if (inRange) {\n element.classList.toggle(\"flatpickr-disabled\", true);\n } else {\n element.classList.toggle(\"flatpickr-disabled\", false);\n }\n });\n setAriaOptions(this.element, this.mode);\n }\n\n private formatDate(date): string {\n if (this.mode === ZRangePickerMode.DATE) {\n return `${flatpickr.formatDate(date, \"d-m-Y\")}`;\n }\n\n return `${flatpickr.formatDate(date, \"d-m-Y - H:i\")}`;\n }\n\n private printDate(firstDate, lastDate): void {\n const firstDateString = firstDate ? this.formatDate(firstDate) : null;\n const lastDateString = lastDate ? this.formatDate(lastDate) : null;\n\n this.dateSelect.emit([firstDateString, lastDateString]);\n }\n\n private getDateWithoutTime(date): Date {\n const newDate = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0);\n\n return newDate;\n }\n\n /** Replace month word to month number */\n private replaceMonths(date, time): Date {\n const month = date.split(\" \")[1];\n const months = {\n Gennaio: \"01\",\n Febbraio: \"02\",\n Marzo: \"03\",\n Aprile: \"04\",\n Maggio: \"05\",\n Giugno: \"06\",\n Luglio: \"07\",\n Agosto: \"08\",\n Settembre: \"09\",\n Ottobre: \"10\",\n Novembre: \"11\",\n Dicembre: \"12\",\n };\n\n const pieces = date.replace(month, months[month]).split(\" \");\n\n return new Date(\n parseInt(pieces[2]),\n parseInt(pieces[1]) - 1,\n parseInt(pieces[0]),\n time ? parseInt(time.split(\":\")[0]) : 0,\n time ? parseInt(time.split(\":\")[1]) : 0\n );\n }\n\n /** Get the current focused input, first or last */\n private getFocusedInput(): string {\n const focusedZInput = document.activeElement.closest(\"z-input\");\n if (!focusedZInput) {\n return;\n }\n\n if (focusedZInput?.classList.contains(\"start-input\")) {\n this.activeInput = \"start-input\";\n } else if (focusedZInput.classList.contains(\"end-input\")) {\n this.activeInput = \"end-input\";\n }\n }\n\n /** Set style of the days between the two selected dates */\n private setRangeStyle(index): void {\n Array.from(this.element.getElementsByClassName(\"flatpickr-calendar\")).forEach((element: Element) => {\n Array.from(element.getElementsByClassName(\"flatpickr-day\")).forEach((element: Element) => {\n const hasFirstDate = this.firstPicker.selectedDates.length === 1;\n const hasLastDate = this.lastPicker.selectedDates.length === 1;\n let firstDate;\n let lastDate;\n const date = this.getDateWithoutTime(this.replaceMonths(element.ariaLabel, null));\n\n if (hasFirstDate) {\n firstDate = this.getDateWithoutTime(this.firstPicker.selectedDates[0]);\n if (+date === +firstDate) {\n element.classList.toggle(\"startRange\", true);\n } else {\n element.classList.toggle(\"startRange\", false);\n }\n }\n\n if (hasLastDate) {\n lastDate = this.getDateWithoutTime(this.lastPicker.selectedDates[0]);\n if (+date === +lastDate) {\n element.classList.toggle(\"endRange\", true);\n } else {\n element.classList.toggle(\"endRange\", false);\n }\n }\n\n if (hasFirstDate && hasLastDate) {\n if (date > firstDate && date < lastDate) {\n element.classList.toggle(\"inRange\", true);\n } else {\n element.classList.toggle(\"inRange\", false);\n }\n }\n\n if (index === 0 && hasLastDate) {\n this.disableDates(this.lastPicker.selectedDates[0], index);\n }\n if (index === 1 && hasFirstDate) {\n this.disableDates(this.firstPicker.selectedDates[0], index);\n }\n });\n });\n }\n\n private onStopTyping(value): void {\n const text = value.detail.value.replace(\"/\", \"-\");\n const englishData = text.split(\"-\");\n const time = this.mode === ZRangePickerMode.DATE_TIME ? `T${englishData[3]}:00` : \"\";\n const englishParsedData = `${englishData[2]}-${englishData[1]}-${englishData[0]}${time}`.split(\" \").join(\"\");\n\n const isValidDate = validateDate(text, this.mode === ZRangePickerMode.DATE_TIME);\n\n const date = Date.parse(englishParsedData).toString();\n\n if (this.activeInput === \"start-input\") {\n if (text === \"\") {\n this.firstInputError = false;\n this.firstPicker.setDate([]);\n this.printDate(null, this.lastPicker.selectedDates[0] || null);\n } else if (!isValidDate) {\n this.firstInputError = true;\n this.printDate(null, this.lastPicker.selectedDates[0] || null);\n } else if (isValidDate) {\n if (this.lastPicker.selectedDates.length === 1) {\n if (+date <= +this.lastPicker.selectedDates[0]) {\n this.firstInputError = false;\n this.firstPicker.setDate([text]);\n this.printDate(new Date(englishParsedData), this.lastPicker.selectedDates[0]);\n } else {\n this.firstInputError = true;\n this.printDate(null, this.lastPicker.selectedDates[0]);\n }\n } else {\n this.firstInputError = false;\n this.firstPicker.setDate([text]);\n this.printDate(new Date(englishParsedData), null);\n }\n }\n } else if (text === \"\") {\n this.lastInputError = false;\n this.lastPicker.setDate([]);\n this.printDate(this.firstPicker.selectedDates[0] || null, null);\n } else if (!isValidDate) {\n this.lastInputError = true;\n this.printDate(this.firstPicker.selectedDates[0] || null, null);\n } else if (isValidDate) {\n if (this.firstPicker.selectedDates.length === 1) {\n if (+date >= +this.firstPicker.selectedDates[0]) {\n this.lastInputError = false;\n this.lastPicker.setDate([text]);\n this.printDate(this.firstPicker.selectedDates[0], new Date(englishParsedData));\n } else {\n this.lastInputError = true;\n this.printDate(this.firstPicker.selectedDates[0], null);\n }\n } else {\n this.lastInputError = false;\n this.lastPicker.setDate([text]);\n this.printDate(null, new Date(englishParsedData));\n }\n }\n\n this.setRangeStyle(this.activeInput === \"start-input\" ? 0 : 1);\n }\n\n render(): HTMLDivElement {\n const zInputProps = {\n type: InputType.TEXT,\n icon: \"event\",\n tabindex: \"0\",\n message: false,\n onStopTyping: this.onStopTyping.bind(this),\n value: \"\",\n };\n\n return (\n <div\n class={{\n [\"range-pickers-container\"]: true,\n [this.mode]: true,\n [this.activeInput]: true,\n [this.flatpickrPosition]: true,\n }}\n >\n <div class={`${this.rangePickerId}-1-wrapper`}>\n <div class={`${this.rangePickerId}-1-container`}>\n <z-input\n {...zInputProps}\n placeholder={this.firstPickerPlaceholder}\n readonly={this.firstPickerReadOnly}\n data-input=\"data-input\"\n class={`start-input ${this.rangePickerId}-1`}\n ariaLabel={this.firstAriaLabel}\n label={this.firstLabel}\n status={this.firstInputError && InputStatus.ERROR}\n onStartTyping={() => {\n this.firstInputError = false;\n }}\n />\n </div>\n </div>\n <div class={`${this.rangePickerId}-2-wrapper`}>\n <div class={`${this.rangePickerId}-2-container`}>\n <z-input\n {...zInputProps}\n placeholder={this.lastPickerPlaceholder}\n readonly={this.lastPickerReadOnly}\n data-input=\"data-input\"\n class={`end-input ${this.rangePickerId}-2`}\n ariaLabel={this.secondAriaLabel}\n label={this.secondLabel}\n status={this.lastInputError && InputStatus.ERROR}\n onStartTyping={() => {\n this.lastInputError = false;\n }}\n />\n </div>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["stylesCss","ZRangePicker","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","mode","ZRangePickerMode","DATE","firstPickerReadOnly","lastPickerReadOnly","firstPickerPlaceholder","lastPickerPlaceholder","flatpickrPosition","ZDatePickerPosition","BOTTOM","activeInput","firstInputError","lastInputError","handleClick","getFocusedInput","handleKeyDown","ev","currentPicker","firstPicker","lastPicker","key","document","activeElement","classList","contains","rangePickerId","_a","close","_b","open","isCrossIconEntered","_c","clear","printDate","_d","selectedDates","_e","_f","isPrevArrowEntered","isNextArrowEntered","arrowPressed","preventDefault","changeMonth","componentDidLoad","setupPickers","setupFirstPickersReadOnly","set","setupLastPickersReadOnly","config","enableTime","DATE_TIME","locale","Italian","allowInput","wrap","dateFormat","ariaDateFormat","minuteIncrement","time_24hr","onValueUpdate","firstInputActive","firstDate","lastDate","setRangeStyle","onChange","_selectedDates","_dateStr","instance","onDateSelect","input","onOpen","setAriaOptions","element","setFlatpickrPosition","onYearChange","onMonthChange","onKeyDown","flatpickr","Object","assign","clickOpens","appendTo","querySelector","querySelectorAll","forEach","innerHTML","trim","charAt","disableDates","date","index","calendar","getElementsByClassName","Array","from","calendarDate","getDateWithoutTime","replaceMonths","ariaLabel","breakpoint","inRange","toggle","formatDate","firstDateString","lastDateString","dateSelect","emit","newDate","Date","getFullYear","getMonth","getDate","time","month","split","months","Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre","pieces","replace","parseInt","focusedZInput","closest","hasFirstDate","length","hasLastDate","onStopTyping","value","text","detail","englishData","englishParsedData","join","isValidDate","validateDate","parse","toString","setDate","render","zInputProps","type","InputType","TEXT","icon","tabindex","message","bind","h","class","placeholder","readonly","firstAriaLabel","label","firstLabel","status","InputStatus","ERROR","onStartTyping","secondAriaLabel","secondLabel"],"sources":["src/components/date-picker/styles.css?tag=z-range-picker","src/components/date-picker/z-range-picker/index.tsx"],"sourcesContent":["@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\";\n\nimport {InputStatus, InputType, ZDatePickerPosition, ZRangePickerMode} from \"../../../beans\";\nimport {setAriaOptions, setFlatpickrPosition, validateDate} from \"../utils\";\n\n@Component({\n tag: \"z-range-picker\",\n styleUrl: \"../styles.css\",\n shadow: false,\n})\nexport class ZRangePicker implements ComponentInterface {\n @Element() element: HTMLZRangePickerElement;\n\n /** unique id */\n @Prop()\n rangePickerId: string;\n\n /** first z-input aria label */\n @Prop()\n firstAriaLabel?: string;\n\n /** first z-input label */\n @Prop()\n firstLabel?: string;\n\n /** second z-input aria label */\n @Prop()\n secondAriaLabel?: string;\n\n /** second z-input label */\n @Prop()\n secondLabel?: string;\n\n /** [Optional] datepicker mode: date or datetime */\n @Prop()\n mode: ZRangePickerMode = ZRangePickerMode.DATE;\n\n /** readonly mode */\n @Prop()\n firstPickerReadOnly = false;\n\n /** readonly mode */\n @Prop()\n lastPickerReadOnly = false;\n\n /** readonly mode */\n @Prop()\n firstPickerPlaceholder = \"\";\n\n /** readonly mode */\n @Prop()\n lastPickerPlaceholder = \"\";\n\n @State()\n flatpickrPosition: ZDatePickerPosition = ZDatePickerPosition.BOTTOM;\n\n @State()\n activeInput = \"start-input\";\n\n @State()\n firstInputError = false;\n\n @State()\n lastInputError = false;\n\n private firstPicker;\n\n private lastPicker;\n\n /** emitted when date changes, returns an array with the two selected dates */\n @Event()\n dateSelect: EventEmitter;\n\n @Listen(\"click\", {target: \"body\", capture: true})\n handleClick(): void {\n this.getFocusedInput();\n }\n\n @Listen(\"keyup\", {target: \"body\", capture: true})\n handleKeyDown(ev: KeyboardEvent): void {\n const currentPicker = this.activeInput === \"start-input\" ? this.firstPicker : this.lastPicker;\n\n this.getFocusedInput();\n\n if (ev.key === \"Escape\") {\n if (document.activeElement.classList.contains(`${this.rangePickerId}-1`)) {\n this.firstPicker?.close();\n }\n if (document.activeElement.classList.contains(`${this.rangePickerId}-2`)) {\n this.lastPicker?.close();\n }\n }\n\n if (ev.key === \"Enter\" || ev.key === \" \") {\n if (\n document.activeElement.classList.contains(`${this.rangePickerId}-1`) ||\n document.activeElement.classList.contains(`${this.rangePickerId}-2`)\n ) {\n currentPicker?.open();\n }\n\n const isCrossIconEntered = document.activeElement.classList.contains(\"reset-icon\");\n\n if (isCrossIconEntered) {\n if (this.activeInput === \"start-input\") {\n this.firstInputError = false;\n this.firstPicker?.clear();\n this.printDate(null, this.lastPicker?.selectedDates[0] || null);\n }\n if (this.activeInput === \"end-input\") {\n this.lastInputError = false;\n this.firstPicker?.clear();\n this.printDate(this.firstPicker?.selectedDates[0] || null, null);\n }\n }\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 (isPrevArrowEntered) {\n currentPicker?.changeMonth(-1);\n }\n if (isNextArrowEntered) {\n currentPicker?.changeMonth(1);\n }\n }\n }\n\n componentDidLoad(): void {\n this.setupPickers();\n }\n\n @Watch(\"firstPickerReadOnly\")\n setupFirstPickersReadOnly(): void {\n this.firstPicker?.set(\"clickOpens\", !this.firstPickerReadOnly);\n }\n\n @Watch(\"lastPickerReadOnly\")\n setupLastPickersReadOnly(): void {\n this.lastPicker?.set(\"clickOpens\", !this.lastPickerReadOnly);\n }\n\n @Watch(\"mode\")\n setupPickers(): void {\n const config = {\n enableTime: this.mode === ZRangePickerMode.DATE_TIME,\n locale: Italian,\n allowInput: true,\n wrap: true,\n dateFormat: this.mode === ZRangePickerMode.DATE_TIME ? \"d-m-Y - H:i\" : \"d-m-Y\",\n ariaDateFormat: \"d F Y\",\n minuteIncrement: 1,\n time_24hr: true,\n onValueUpdate: () => {\n const firstInputActive = this.activeInput === \"start-input\";\n const firstDate = this.firstPicker.selectedDates[0];\n const lastDate = this.lastPicker.selectedDates[0];\n\n if (+firstDate > +lastDate) {\n if (firstInputActive) {\n this.firstInputError = true;\n this.printDate(null, lastDate || null);\n } else {\n this.lastInputError = true;\n this.printDate(firstDate || null, null);\n }\n } else {\n this.lastInputError = false;\n this.firstInputError = false;\n this.printDate(firstDate || null, lastDate || null);\n }\n this.setRangeStyle(0);\n this.setRangeStyle(1);\n },\n onChange: (_selectedDates, _dateStr, instance) => {\n this.onDateSelect();\n this.setRangeStyle(instance.input.classList.contains(\"start-input\") ? 0 : 1);\n },\n onOpen: (_selectedDates, _dateStr, instance) => {\n setAriaOptions(this.element, this.mode);\n this.flatpickrPosition = setFlatpickrPosition(this.element, this.mode);\n this.setRangeStyle(instance.input.classList.contains(\"start-input\") ? 0 : 1);\n this.getFocusedInput();\n },\n onYearChange: (_selectedDates, _dateStr, instance) => {\n this.setRangeStyle(instance.input.classList.contains(\"start-input\") ? 0 : 1);\n },\n onMonthChange: (_selectedDates, _dateStr, instance) => {\n this.setRangeStyle(instance.input.classList.contains(\"start-input\") ? 0 : 1);\n },\n onKeyDown: () => {\n setAriaOptions(this.element, this.mode);\n },\n };\n\n this.firstPicker = flatpickr(`.${this.rangePickerId}-1-container`, {\n ...{...config, clickOpens: !this.firstPickerReadOnly},\n mode: \"single\",\n appendTo: this.element.querySelector(`.${this.rangePickerId}-1-wrapper`),\n });\n this.lastPicker = flatpickr(`.${this.rangePickerId}-2-container`, {\n ...{...config, clickOpens: !this.lastPickerReadOnly},\n mode: \"single\",\n appendTo: this.element.querySelector(`.${this.rangePickerId}-2-wrapper`),\n });\n\n this.element.querySelectorAll(\".flatpickr-weekday\").forEach((element) => {\n element.innerHTML = element.innerHTML.trim().charAt(0);\n });\n }\n\n private onDateSelect(): void {\n const firstInputActive = this.activeInput === \"start-input\";\n const firstDate = this.firstPicker.selectedDates[0];\n const lastDate = this.lastPicker.selectedDates[0];\n\n if (+firstDate > +lastDate) {\n if (firstInputActive) {\n this.firstInputError = true;\n this.printDate(null, lastDate || null);\n } else {\n this.lastInputError = true;\n this.printDate(firstDate || null, null);\n }\n } else {\n this.lastInputError = false;\n this.firstInputError = false;\n this.printDate(firstDate || null, lastDate || null);\n }\n }\n\n private disableDates(date, index): void {\n const calendar = this.element.getElementsByClassName(\"flatpickr-calendar\")[index];\n\n Array.from(calendar.getElementsByClassName(\"flatpickr-day\")).forEach((element: Element) => {\n const calendarDate = this.getDateWithoutTime(this.replaceMonths(element.ariaLabel, null));\n\n const breakpoint = this.getDateWithoutTime(date);\n const inRange = index === 0 ? calendarDate > breakpoint : calendarDate < breakpoint;\n\n if (inRange) {\n element.classList.toggle(\"flatpickr-disabled\", true);\n } else {\n element.classList.toggle(\"flatpickr-disabled\", false);\n }\n });\n setAriaOptions(this.element, this.mode);\n }\n\n private formatDate(date): string {\n if (this.mode === ZRangePickerMode.DATE) {\n return `${flatpickr.formatDate(date, \"d-m-Y\")}`;\n }\n\n return `${flatpickr.formatDate(date, \"d-m-Y - H:i\")}`;\n }\n\n private printDate(firstDate, lastDate): void {\n const firstDateString = firstDate ? this.formatDate(firstDate) : null;\n const lastDateString = lastDate ? this.formatDate(lastDate) : null;\n\n this.dateSelect.emit([firstDateString, lastDateString]);\n }\n\n private getDateWithoutTime(date): Date {\n const newDate = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0);\n\n return newDate;\n }\n\n /** Replace month word to month number */\n private replaceMonths(date, time): Date {\n const month = date.split(\" \")[1];\n const months = {\n Gennaio: \"01\",\n Febbraio: \"02\",\n Marzo: \"03\",\n Aprile: \"04\",\n Maggio: \"05\",\n Giugno: \"06\",\n Luglio: \"07\",\n Agosto: \"08\",\n Settembre: \"09\",\n Ottobre: \"10\",\n Novembre: \"11\",\n Dicembre: \"12\",\n };\n\n const pieces = date.replace(month, months[month]).split(\" \");\n\n return new Date(\n parseInt(pieces[2]),\n parseInt(pieces[1]) - 1,\n parseInt(pieces[0]),\n time ? parseInt(time.split(\":\")[0]) : 0,\n time ? parseInt(time.split(\":\")[1]) : 0\n );\n }\n\n /** Get the current focused input, first or last */\n private getFocusedInput(): string {\n const focusedZInput = document.activeElement.closest(\"z-input\");\n if (!focusedZInput) {\n return;\n }\n\n if (focusedZInput?.classList.contains(\"start-input\")) {\n this.activeInput = \"start-input\";\n } else if (focusedZInput.classList.contains(\"end-input\")) {\n this.activeInput = \"end-input\";\n }\n }\n\n /** Set style of the days between the two selected dates */\n private setRangeStyle(index): void {\n Array.from(this.element.getElementsByClassName(\"flatpickr-calendar\")).forEach((element: Element) => {\n Array.from(element.getElementsByClassName(\"flatpickr-day\")).forEach((element: Element) => {\n const hasFirstDate = this.firstPicker.selectedDates.length === 1;\n const hasLastDate = this.lastPicker.selectedDates.length === 1;\n let firstDate;\n let lastDate;\n const date = this.getDateWithoutTime(this.replaceMonths(element.ariaLabel, null));\n\n if (hasFirstDate) {\n firstDate = this.getDateWithoutTime(this.firstPicker.selectedDates[0]);\n if (+date === +firstDate) {\n element.classList.toggle(\"startRange\", true);\n } else {\n element.classList.toggle(\"startRange\", false);\n }\n }\n\n if (hasLastDate) {\n lastDate = this.getDateWithoutTime(this.lastPicker.selectedDates[0]);\n if (+date === +lastDate) {\n element.classList.toggle(\"endRange\", true);\n } else {\n element.classList.toggle(\"endRange\", false);\n }\n }\n\n if (hasFirstDate && hasLastDate) {\n if (date > firstDate && date < lastDate) {\n element.classList.toggle(\"inRange\", true);\n } else {\n element.classList.toggle(\"inRange\", false);\n }\n }\n\n if (index === 0 && hasLastDate) {\n this.disableDates(this.lastPicker.selectedDates[0], index);\n }\n if (index === 1 && hasFirstDate) {\n this.disableDates(this.firstPicker.selectedDates[0], index);\n }\n });\n });\n }\n\n private onStopTyping(value): void {\n const text = value.detail.value.replace(\"/\", \"-\");\n const englishData = text.split(\"-\");\n const time = this.mode === ZRangePickerMode.DATE_TIME ? `T${englishData[3]}:00` : \"\";\n const englishParsedData = `${englishData[2]}-${englishData[1]}-${englishData[0]}${time}`.split(\" \").join(\"\");\n\n const isValidDate = validateDate(text, this.mode === ZRangePickerMode.DATE_TIME);\n\n const date = Date.parse(englishParsedData).toString();\n\n if (this.activeInput === \"start-input\") {\n if (text === \"\") {\n this.firstInputError = false;\n this.firstPicker.setDate([]);\n this.printDate(null, this.lastPicker.selectedDates[0] || null);\n } else if (!isValidDate) {\n this.firstInputError = true;\n this.printDate(null, this.lastPicker.selectedDates[0] || null);\n } else if (isValidDate) {\n if (this.lastPicker.selectedDates.length === 1) {\n if (+date <= +this.lastPicker.selectedDates[0]) {\n this.firstInputError = false;\n this.firstPicker.setDate([text]);\n this.printDate(new Date(englishParsedData), this.lastPicker.selectedDates[0]);\n } else {\n this.firstInputError = true;\n this.printDate(null, this.lastPicker.selectedDates[0]);\n }\n } else {\n this.firstInputError = false;\n this.firstPicker.setDate([text]);\n this.printDate(new Date(englishParsedData), null);\n }\n }\n } else if (text === \"\") {\n this.lastInputError = false;\n this.lastPicker.setDate([]);\n this.printDate(this.firstPicker.selectedDates[0] || null, null);\n } else if (!isValidDate) {\n this.lastInputError = true;\n this.printDate(this.firstPicker.selectedDates[0] || null, null);\n } else if (isValidDate) {\n if (this.firstPicker.selectedDates.length === 1) {\n if (+date >= +this.firstPicker.selectedDates[0]) {\n this.lastInputError = false;\n this.lastPicker.setDate([text]);\n this.printDate(this.firstPicker.selectedDates[0], new Date(englishParsedData));\n } else {\n this.lastInputError = true;\n this.printDate(this.firstPicker.selectedDates[0], null);\n }\n } else {\n this.lastInputError = false;\n this.lastPicker.setDate([text]);\n this.printDate(null, new Date(englishParsedData));\n }\n }\n\n this.setRangeStyle(this.activeInput === \"start-input\" ? 0 : 1);\n }\n\n render(): HTMLDivElement {\n const zInputProps = {\n type: InputType.TEXT,\n icon: \"event\",\n tabindex: \"0\",\n message: false,\n onStopTyping: this.onStopTyping.bind(this),\n value: \"\",\n };\n\n return (\n <div\n class={{\n [\"range-pickers-container\"]: true,\n [this.mode]: true,\n [this.activeInput]: true,\n [this.flatpickrPosition]: true,\n }}\n >\n <div class={`${this.rangePickerId}-1-wrapper`}>\n <div class={`${this.rangePickerId}-1-container`}>\n <z-input\n {...zInputProps}\n placeholder={this.firstPickerPlaceholder}\n readonly={this.firstPickerReadOnly}\n data-input=\"data-input\"\n class={`start-input ${this.rangePickerId}-1`}\n ariaLabel={this.firstAriaLabel}\n label={this.firstLabel}\n status={this.firstInputError && InputStatus.ERROR}\n onStartTyping={() => {\n this.firstInputError = false;\n }}\n />\n </div>\n </div>\n <div class={`${this.rangePickerId}-2-wrapper`}>\n <div class={`${this.rangePickerId}-2-container`}>\n <z-input\n {...zInputProps}\n placeholder={this.lastPickerPlaceholder}\n readonly={this.lastPickerReadOnly}\n data-input=\"data-input\"\n class={`end-input ${this.rangePickerId}-2`}\n ariaLabel={this.secondAriaLabel}\n label={this.secondLabel}\n status={this.lastInputError && InputStatus.ERROR}\n onStartTyping={() => {\n this.lastInputError = false;\n }}\n />\n </div>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{proxyCustomElement as e,HTMLElement as t,h as i,Host as o,transformTag as r}from"@stencil/core/internal/client";import{d as a}from"./index14.js";import{d as s}from"./index3.js";const l=()=>`:host,*{box-sizing:border-box}:host{display:flex;overflow:hidden;min-width:0;min-height:11.125rem;padding:var(--space-unit);border:var(--border-size-medium) solid var(--color-surface02);background-color:var(--color-surface01);border-radius:var(--border-size-large);cursor:pointer;font-family:var(--font-family-sans);gap:calc(var(--space-unit) * 2)}z-book-cover{--z-book-cover-stack-shift-x:6px;--z-book-cover-stack-shift-y:8px;--z-book-cover-height:158px;--z-book-cover-border-radius:0}.info-container{display:flex;overflow:hidden;min-width:0;flex:1;flex-direction:column}.authors-label{overflow:hidden;color:var(--color-default-text);font-size:var(--font-size-2);font-weight:var(--font-rg);text-overflow:ellipsis;white-space:nowrap}.card-title{display:-webkit-box;overflow:hidden;margin:0;-webkit-box-orient:vertical;font-size:var(--font-size-3);font-weight:var(--font-bd);-webkit-line-clamp:2;line-clamp:2;line-height:1.5;word-break:break-word}.card-subtitle{overflow:hidden;color:var(--color-default-text);line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.tags-container{display:flex;max-width:100%;flex-wrap:wrap;margin-top:calc(var(--space-unit) * 2);gap:var(--space-unit)}.volumes-label{display:flex;flex-grow:1;align-items:end;color:var(--color-default-text);font-size:var(--font-size-1)}:host(.info-card){height:5rem;gap:calc(var(--space-unit) * 1.5)}:host(.info-card) .info-icon-container{display:flex;align-items:center;align-self:flex-start;justify-content:center;padding:var(--space-unit);margin-bottom:calc(var(--space-unit) * 3);background-color:var(--gray50);border-radius:var(--border-size-large)}:host(.info-card) .info-icon{--z-icon-width:1.125rem;--z-icon-height:1.125rem;fill:var(--color-default-icon)}:host(.info-card) .card-title{display:-webkit-box;overflow:hidden;min-width:0;max-width:100%;max-height:2.4em;margin-top:0;margin-bottom:calc(var(--space-unit) / 2);-webkit-box-orient:vertical;font-size:var(--font-size-3);font-weight:var(--font-bd);-webkit-line-clamp:1;line-clamp:1;line-height:1.2;word-break:break-word}:host(.info-card) .card-subtitle{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;line-height:1.2;white-space:normal;word-break:break-word}@media (max-width: 767px){.card-title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;line-height:1.4;word-break:break-word}}`;const n=e(class e extends t{constructor(e){super();if(e!==false){this.__registerHost()}this.__attachShadow();this.hasMultipleCovers=false;this.isInfoCard=false;this.resizeHandler=()=>{this.setTooltipTitle(this.authorsRef);this.setTooltipTitle(this.titleRef);this.setTooltipTitle(this.subtitleRef)};this.renderTitle=()=>{const e=this.titleHtmlTag||"div";return i(e,{class:"card-title",ref:e=>this.titleRef=e},this.cardTitle)};this.renderSubtitle=()=>i("span",{class:"card-subtitle",ref:e=>this.subtitleRef=e},this.cardSubtitle);this.renderOperaCard=()=>i(o,null,i("z-book-cover",{cover:this.cover,coverAlt:this.coverAlt,fallbackCover:this.fallbackCover,multiple:this.hasMultipleCovers,bordered:true}),i("div",{class:"info-container"},this.authors&&i("span",{class:"authors-label",ref:e=>this.authorsRef=e},this.authors),this.renderTitle(),this.renderSubtitle(),i("div",{class:"tags-container"},i("slot",{name:"tags"})),i("div",{class:"volumes-label"},i("slot",{name:"volumes"}))));this.renderInfoCard=()=>i(o,{class:"info-card"},i("div",{class:"info-icon-container"},i("z-icon",{class:"info-icon",name:"link"})),i("div",{class:"info-container"},this.renderTitle(),this.renderSubtitle()))}setTooltipTitle(e){if(!e){return}const t=window.getComputedStyle(e);const i=t.getPropertyValue("-webkit-line-clamp")!=="none";let o;if(i){const i=parseInt(t.lineHeight);const r=parseInt(t.getPropertyValue("-webkit-line-clamp"));const a=i*r;o=e.scrollHeight>a}else{o=e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight}if(o){e.setAttribute("title",e.textContent.trim())}else{e.removeAttribute("title")}}componentDidRender(){this.setTooltipTitle(this.authorsRef);this.setTooltipTitle(this.titleRef);this.setTooltipTitle(this.subtitleRef)}componentDidLoad(){window.addEventListener("resize",this.resizeHandler)}disconnectedCallback(){window.removeEventListener("resize",this.resizeHandler)}render(){return this.isInfoCard?this.renderInfoCard():this.renderOperaCard()}get hostElement(){return this}static get style(){return l()}},[257,"z-result-card",{cardTitle:[1,"card-title"],cardSubtitle:[1,"card-subtitle"],authors:[1],cover:[1],fallbackCover:[1,"fallback-cover"],coverAlt:[1,"cover-alt"],hasMultipleCovers:[4,"has-multiple-covers"],isInfoCard:[4,"is-info-card"],titleHtmlTag:[1,"title-html-tag"]}]);function c(){if(typeof customElements==="undefined"){return}const e=["z-result-card","z-book-cover","z-icon"];e.forEach((e=>{switch(e){case"z-result-card":if(!customElements.get(r(e))){customElements.define(r(e),n)}break;case"z-book-cover":if(!customElements.get(r(e))){a()}break;case"z-icon":if(!customElements.get(r(e))){s()}break}}))}const d=n;const h=c;export{d as ZResultCard,h as defineCustomElement};
1
+ import{p as e,H as t,h as i,d as o,t as r}from"./p-RmbDDbWd.js";import{d as a}from"./p-B5U9pSXR.js";import{d as s}from"./p-CbXEdwLi.js";const l=()=>`:host,*{box-sizing:border-box}:host{display:flex;overflow:hidden;min-width:0;min-height:11.125rem;padding:var(--space-unit);border:var(--border-size-medium) solid var(--color-surface02);background-color:var(--color-surface01);border-radius:var(--border-size-large);cursor:pointer;font-family:var(--font-family-sans);gap:calc(var(--space-unit) * 2)}z-book-cover{--z-book-cover-stack-shift-x:6px;--z-book-cover-stack-shift-y:8px;--z-book-cover-height:158px;--z-book-cover-border-radius:0}.info-container{display:flex;overflow:hidden;min-width:0;flex:1;flex-direction:column}.authors-label{overflow:hidden;color:var(--color-default-text);font-size:var(--font-size-2);font-weight:var(--font-rg);text-overflow:ellipsis;white-space:nowrap}.card-title{display:-webkit-box;overflow:hidden;margin:0;-webkit-box-orient:vertical;font-size:var(--font-size-3);font-weight:var(--font-bd);-webkit-line-clamp:2;line-clamp:2;line-height:1.5;word-break:break-word}.card-subtitle{overflow:hidden;color:var(--color-default-text);line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.tags-container{display:flex;max-width:100%;flex-wrap:wrap;margin-top:calc(var(--space-unit) * 2);gap:var(--space-unit)}.volumes-label{display:flex;flex-grow:1;align-items:end;color:var(--color-default-text);font-size:var(--font-size-1)}:host(.info-card){height:5rem;gap:calc(var(--space-unit) * 1.5)}:host(.info-card) .info-icon-container{display:flex;align-items:center;align-self:flex-start;justify-content:center;padding:var(--space-unit);margin-bottom:calc(var(--space-unit) * 3);background-color:var(--gray50);border-radius:var(--border-size-large)}:host(.info-card) .info-icon{--z-icon-width:1.125rem;--z-icon-height:1.125rem;fill:var(--color-default-icon)}:host(.info-card) .card-title{display:-webkit-box;overflow:hidden;min-width:0;max-width:100%;max-height:2.4em;margin-top:0;margin-bottom:calc(var(--space-unit) / 2);-webkit-box-orient:vertical;font-size:var(--font-size-3);font-weight:var(--font-bd);-webkit-line-clamp:1;line-clamp:1;line-height:1.2;word-break:break-word}:host(.info-card) .card-subtitle{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;line-height:1.2;white-space:normal;word-break:break-word}@media (max-width: 767px){.card-title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;line-height:1.4;word-break:break-word}}`;const n=e(class e extends t{constructor(e){super();if(e!==false){this.__registerHost()}this.__attachShadow();this.hasMultipleCovers=false;this.isInfoCard=false;this.resizeHandler=()=>{this.setTooltipTitle(this.authorsRef);this.setTooltipTitle(this.titleRef);this.setTooltipTitle(this.subtitleRef)};this.renderTitle=()=>{const e=this.titleHtmlTag||"div";return i(e,{class:"card-title",ref:e=>this.titleRef=e},this.cardTitle)};this.renderSubtitle=()=>i("span",{class:"card-subtitle",ref:e=>this.subtitleRef=e},this.cardSubtitle);this.renderOperaCard=()=>i(o,null,i("z-book-cover",{cover:this.cover,coverAlt:this.coverAlt,fallbackCover:this.fallbackCover,multiple:this.hasMultipleCovers,bordered:true}),i("div",{class:"info-container"},this.authors&&i("span",{class:"authors-label",ref:e=>this.authorsRef=e},this.authors),this.renderTitle(),this.renderSubtitle(),i("div",{class:"tags-container"},i("slot",{name:"tags"})),i("div",{class:"volumes-label"},i("slot",{name:"volumes"}))));this.renderInfoCard=()=>i(o,{class:"info-card"},i("div",{class:"info-icon-container"},i("z-icon",{class:"info-icon",name:"link"})),i("div",{class:"info-container"},this.renderTitle(),this.renderSubtitle()))}setTooltipTitle(e){if(!e){return}const t=window.getComputedStyle(e);const i=t.getPropertyValue("-webkit-line-clamp")!=="none";let o;if(i){const i=parseInt(t.lineHeight);const r=parseInt(t.getPropertyValue("-webkit-line-clamp"));const a=i*r;o=e.scrollHeight>a}else{o=e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight}if(o){e.setAttribute("title",e.textContent.trim())}else{e.removeAttribute("title")}}componentDidRender(){this.setTooltipTitle(this.authorsRef);this.setTooltipTitle(this.titleRef);this.setTooltipTitle(this.subtitleRef)}componentDidLoad(){window.addEventListener("resize",this.resizeHandler)}disconnectedCallback(){window.removeEventListener("resize",this.resizeHandler)}render(){return this.isInfoCard?this.renderInfoCard():this.renderOperaCard()}get hostElement(){return this}static get style(){return l()}},[257,"z-result-card",{cardTitle:[1,"card-title"],cardSubtitle:[1,"card-subtitle"],authors:[1],cover:[1],fallbackCover:[1,"fallback-cover"],coverAlt:[1,"cover-alt"],hasMultipleCovers:[4,"has-multiple-covers"],isInfoCard:[4,"is-info-card"],titleHtmlTag:[1,"title-html-tag"]}]);function c(){if(typeof customElements==="undefined"){return}const e=["z-result-card","z-book-cover","z-icon"];e.forEach((e=>{switch(e){case"z-result-card":if(!customElements.get(r(e))){customElements.define(r(e),n)}break;case"z-book-cover":if(!customElements.get(r(e))){a()}break;case"z-icon":if(!customElements.get(r(e))){s()}break}}))}const d=n;const h=c;export{d as ZResultCard,h as defineCustomElement};
2
2
  //# sourceMappingURL=z-result-card.js.map