@getflip/swirl-components 0.3.0 → 0.4.0

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 (284) hide show
  1. package/dist/cjs/flip-action-list-item.cjs.entry.js +1 -1
  2. package/dist/cjs/flip-action-list-item.cjs.entry.js.map +1 -1
  3. package/dist/cjs/flip-avatar-group.cjs.entry.js +11 -1
  4. package/dist/cjs/flip-avatar-group.cjs.entry.js.map +1 -1
  5. package/dist/cjs/flip-avatar.cjs.entry.js +11 -1
  6. package/dist/cjs/flip-avatar.cjs.entry.js.map +1 -1
  7. package/dist/cjs/flip-button-group.cjs.entry.js +9 -3
  8. package/dist/cjs/flip-button-group.cjs.entry.js.map +1 -1
  9. package/dist/cjs/flip-button.cjs.entry.js +1 -1
  10. package/dist/cjs/flip-button.cjs.entry.js.map +1 -1
  11. package/dist/cjs/flip-checkbox.cjs.entry.js +1 -1
  12. package/dist/cjs/flip-checkbox.cjs.entry.js.map +1 -1
  13. package/dist/cjs/flip-date-picker_3.cjs.entry.js +20 -12
  14. package/dist/cjs/flip-date-picker_3.cjs.entry.js.map +1 -1
  15. package/dist/cjs/flip-dialog.cjs.entry.js +1 -1
  16. package/dist/cjs/flip-dialog.cjs.entry.js.map +1 -1
  17. package/dist/cjs/flip-file-uploader.cjs.entry.js +1 -1
  18. package/dist/cjs/flip-file-uploader.cjs.entry.js.map +1 -1
  19. package/dist/cjs/flip-file-viewer-audio_6.cjs.entry.js +3 -3
  20. package/dist/cjs/flip-file-viewer-audio_6.cjs.entry.js.map +1 -1
  21. package/dist/cjs/flip-file-viewer.cjs.entry.js +2 -1
  22. package/dist/cjs/flip-file-viewer.cjs.entry.js.map +1 -1
  23. package/dist/cjs/flip-form-group.cjs.entry.js +1 -1
  24. package/dist/cjs/flip-form-group.cjs.entry.js.map +1 -1
  25. package/dist/cjs/flip-icon-arrow-left_3.cjs.entry.js +50 -0
  26. package/dist/cjs/flip-icon-arrow-left_3.cjs.entry.js.map +1 -0
  27. package/dist/cjs/flip-lightbox.cjs.entry.js +205 -0
  28. package/dist/cjs/flip-lightbox.cjs.entry.js.map +1 -0
  29. package/dist/cjs/flip-modal.cjs.entry.js +14 -2
  30. package/dist/cjs/flip-modal.cjs.entry.js.map +1 -1
  31. package/dist/cjs/flip-radio-group.cjs.entry.js +1 -1
  32. package/dist/cjs/flip-radio-group.cjs.entry.js.map +1 -1
  33. package/dist/cjs/flip-radio.cjs.entry.js +1 -1
  34. package/dist/cjs/flip-radio.cjs.entry.js.map +1 -1
  35. package/dist/cjs/flip-tabs.cjs.entry.js +3 -40
  36. package/dist/cjs/flip-tabs.cjs.entry.js.map +1 -1
  37. package/dist/cjs/flip-text-input.cjs.entry.js +1 -1
  38. package/dist/cjs/flip-text-input.cjs.entry.js.map +1 -1
  39. package/dist/cjs/flip-toast.cjs.entry.js +1 -1
  40. package/dist/cjs/flip-toast.cjs.entry.js.map +1 -1
  41. package/dist/cjs/loader.cjs.js +1 -1
  42. package/dist/cjs/swirl-components.cjs.js +1 -1
  43. package/dist/collection/collection-manifest.json +1 -0
  44. package/dist/collection/components/flip-action-list-item/flip-action-list-item.css +4 -0
  45. package/dist/collection/components/flip-avatar/flip-avatar.js +11 -1
  46. package/dist/collection/components/flip-avatar/flip-avatar.js.map +1 -1
  47. package/dist/collection/components/flip-avatar-group/flip-avatar-group.js +11 -1
  48. package/dist/collection/components/flip-avatar-group/flip-avatar-group.js.map +1 -1
  49. package/dist/collection/components/flip-button/flip-button.css +10 -2
  50. package/dist/collection/components/flip-button-group/flip-button-group.css +57 -0
  51. package/dist/collection/components/flip-button-group/flip-button-group.js +27 -5
  52. package/dist/collection/components/flip-button-group/flip-button-group.js.map +1 -1
  53. package/dist/collection/components/flip-button-group/flip-button-group.stories.js +8 -2
  54. package/dist/collection/components/flip-button-group/flip-button-group.stories.js.map +1 -1
  55. package/dist/collection/components/flip-checkbox/flip-checkbox.css +1 -1
  56. package/dist/collection/components/flip-date-picker/flip-date-picker.css +0 -1
  57. package/dist/collection/components/flip-dialog/flip-dialog.css +1 -1
  58. package/dist/collection/components/flip-file-uploader/flip-file-uploader.css +3 -1
  59. package/dist/collection/components/flip-file-viewer/flip-file-viewer.js +20 -1
  60. package/dist/collection/components/flip-file-viewer/flip-file-viewer.js.map +1 -1
  61. package/dist/collection/components/flip-file-viewer/viewers/flip-file-viewer-csv/flip-file-viewer-csv.css +2 -0
  62. package/dist/collection/components/flip-file-viewer/viewers/flip-file-viewer-text/flip-file-viewer-text.css +2 -0
  63. package/dist/collection/components/flip-file-viewer/viewers/flip-file-viewer-video/flip-file-viewer-video.css +2 -2
  64. package/dist/collection/components/flip-form-group/flip-form-group.css +6 -2
  65. package/dist/collection/components/flip-lightbox/flip-lightbox.css +208 -0
  66. package/dist/collection/components/flip-lightbox/flip-lightbox.js +375 -0
  67. package/dist/collection/components/flip-lightbox/flip-lightbox.js.map +1 -0
  68. package/dist/collection/components/flip-lightbox/flip-lightbox.stories.js +44 -0
  69. package/dist/collection/components/flip-lightbox/flip-lightbox.stories.js.map +1 -0
  70. package/dist/collection/components/flip-modal/flip-modal.css +14 -3
  71. package/dist/collection/components/flip-modal/flip-modal.js +16 -2
  72. package/dist/collection/components/flip-modal/flip-modal.js.map +1 -1
  73. package/dist/collection/components/flip-popover/flip-popover.css +1 -1
  74. package/dist/collection/components/flip-popover/flip-popover.js +18 -10
  75. package/dist/collection/components/flip-popover/flip-popover.js.map +1 -1
  76. package/dist/collection/components/flip-radio/flip-radio.css +1 -1
  77. package/dist/collection/components/flip-radio-group/flip-radio-group.css +1 -1
  78. package/dist/collection/components/flip-tabs/flip-tabs.css +25 -36
  79. package/dist/collection/components/flip-tabs/flip-tabs.js +12 -59
  80. package/dist/collection/components/flip-tabs/flip-tabs.js.map +1 -1
  81. package/dist/collection/components/flip-text-input/flip-text-input.css +2 -0
  82. package/dist/collection/components/flip-toast/flip-toast.css +1 -1
  83. package/dist/components/flip-action-list-item.js +1 -1
  84. package/dist/components/flip-action-list-item.js.map +1 -1
  85. package/dist/components/flip-avatar-group.js +11 -1
  86. package/dist/components/flip-avatar-group.js.map +1 -1
  87. package/dist/components/flip-avatar.js +11 -1
  88. package/dist/components/flip-avatar.js.map +1 -1
  89. package/dist/components/flip-button-group2.js +9 -3
  90. package/dist/components/flip-button-group2.js.map +1 -1
  91. package/dist/components/flip-button2.js +1 -1
  92. package/dist/components/flip-button2.js.map +1 -1
  93. package/dist/components/flip-checkbox.js +1 -1
  94. package/dist/components/flip-checkbox.js.map +1 -1
  95. package/dist/components/flip-date-picker2.js +1 -1
  96. package/dist/components/flip-date-picker2.js.map +1 -1
  97. package/dist/components/flip-dialog.js +1 -1
  98. package/dist/components/flip-dialog.js.map +1 -1
  99. package/dist/components/flip-file-uploader.js +1 -1
  100. package/dist/components/flip-file-uploader.js.map +1 -1
  101. package/dist/components/flip-file-viewer-csv2.js +1 -1
  102. package/dist/components/flip-file-viewer-csv2.js.map +1 -1
  103. package/dist/components/flip-file-viewer-text2.js +1 -1
  104. package/dist/components/flip-file-viewer-text2.js.map +1 -1
  105. package/dist/components/flip-file-viewer-video2.js +1 -1
  106. package/dist/components/flip-file-viewer-video2.js.map +1 -1
  107. package/dist/components/flip-file-viewer.js +3 -1
  108. package/dist/components/flip-file-viewer.js.map +1 -1
  109. package/dist/components/flip-form-group.js +1 -1
  110. package/dist/components/flip-form-group.js.map +1 -1
  111. package/dist/components/flip-icon-arrow-left.js +1 -32
  112. package/dist/components/flip-icon-arrow-left.js.map +1 -1
  113. package/dist/{esm/flip-icon-arrow-left.entry.js → components/flip-icon-arrow-left2.js} +26 -8
  114. package/dist/components/flip-icon-arrow-left2.js.map +1 -0
  115. package/dist/components/flip-icon-arrow-right.js +1 -32
  116. package/dist/components/flip-icon-arrow-right.js.map +1 -1
  117. package/dist/{esm/flip-icon-arrow-right.entry.js → components/flip-icon-arrow-right2.js} +26 -8
  118. package/dist/components/flip-icon-arrow-right2.js.map +1 -0
  119. package/dist/components/flip-icon-download.js +1 -32
  120. package/dist/components/flip-icon-download.js.map +1 -1
  121. package/dist/{esm/flip-icon-download.entry.js → components/flip-icon-download2.js} +26 -8
  122. package/dist/components/flip-icon-download2.js.map +1 -0
  123. package/dist/components/flip-lightbox.d.ts +11 -0
  124. package/dist/components/flip-lightbox.js +255 -0
  125. package/dist/components/flip-lightbox.js.map +1 -0
  126. package/dist/components/flip-modal.js +16 -2
  127. package/dist/components/flip-modal.js.map +1 -1
  128. package/dist/components/flip-popover2.js +19 -11
  129. package/dist/components/flip-popover2.js.map +1 -1
  130. package/dist/components/flip-radio-group.js +1 -1
  131. package/dist/components/flip-radio-group.js.map +1 -1
  132. package/dist/components/flip-radio.js +1 -1
  133. package/dist/components/flip-radio.js.map +1 -1
  134. package/dist/components/flip-tabs.js +4 -42
  135. package/dist/components/flip-tabs.js.map +1 -1
  136. package/dist/components/flip-text-input.js +1 -1
  137. package/dist/components/flip-text-input.js.map +1 -1
  138. package/dist/components/flip-toast2.js +1 -1
  139. package/dist/components/flip-toast2.js.map +1 -1
  140. package/dist/components/index.d.ts +1 -0
  141. package/dist/components/index.js +1 -0
  142. package/dist/components/index.js.map +1 -1
  143. package/dist/esm/flip-action-list-item.entry.js +1 -1
  144. package/dist/esm/flip-action-list-item.entry.js.map +1 -1
  145. package/dist/esm/flip-avatar-group.entry.js +11 -1
  146. package/dist/esm/flip-avatar-group.entry.js.map +1 -1
  147. package/dist/esm/flip-avatar.entry.js +11 -1
  148. package/dist/esm/flip-avatar.entry.js.map +1 -1
  149. package/dist/esm/flip-button-group.entry.js +9 -3
  150. package/dist/esm/flip-button-group.entry.js.map +1 -1
  151. package/dist/esm/flip-button.entry.js +1 -1
  152. package/dist/esm/flip-button.entry.js.map +1 -1
  153. package/dist/esm/flip-checkbox.entry.js +1 -1
  154. package/dist/esm/flip-checkbox.entry.js.map +1 -1
  155. package/dist/esm/flip-date-picker_3.entry.js +20 -12
  156. package/dist/esm/flip-date-picker_3.entry.js.map +1 -1
  157. package/dist/esm/flip-dialog.entry.js +1 -1
  158. package/dist/esm/flip-dialog.entry.js.map +1 -1
  159. package/dist/esm/flip-file-uploader.entry.js +1 -1
  160. package/dist/esm/flip-file-uploader.entry.js.map +1 -1
  161. package/dist/esm/flip-file-viewer-audio_6.entry.js +3 -3
  162. package/dist/esm/flip-file-viewer-audio_6.entry.js.map +1 -1
  163. package/dist/esm/flip-file-viewer.entry.js +2 -1
  164. package/dist/esm/flip-file-viewer.entry.js.map +1 -1
  165. package/dist/esm/flip-form-group.entry.js +1 -1
  166. package/dist/esm/flip-form-group.entry.js.map +1 -1
  167. package/dist/esm/flip-icon-arrow-left_3.entry.js +44 -0
  168. package/dist/esm/flip-icon-arrow-left_3.entry.js.map +1 -0
  169. package/dist/esm/flip-lightbox.entry.js +201 -0
  170. package/dist/esm/flip-lightbox.entry.js.map +1 -0
  171. package/dist/esm/flip-modal.entry.js +14 -2
  172. package/dist/esm/flip-modal.entry.js.map +1 -1
  173. package/dist/esm/flip-radio-group.entry.js +1 -1
  174. package/dist/esm/flip-radio-group.entry.js.map +1 -1
  175. package/dist/esm/flip-radio.entry.js +1 -1
  176. package/dist/esm/flip-radio.entry.js.map +1 -1
  177. package/dist/esm/flip-tabs.entry.js +3 -40
  178. package/dist/esm/flip-tabs.entry.js.map +1 -1
  179. package/dist/esm/flip-text-input.entry.js +1 -1
  180. package/dist/esm/flip-text-input.entry.js.map +1 -1
  181. package/dist/esm/flip-toast.entry.js +1 -1
  182. package/dist/esm/flip-toast.entry.js.map +1 -1
  183. package/dist/esm/loader.js +1 -1
  184. package/dist/esm/swirl-components.js +1 -1
  185. package/dist/swirl-components/p-013a1742.entry.js +2 -0
  186. package/dist/swirl-components/p-013a1742.entry.js.map +1 -0
  187. package/dist/swirl-components/{p-c8db8af8.entry.js → p-04eefcca.entry.js} +2 -2
  188. package/dist/swirl-components/p-04eefcca.entry.js.map +1 -0
  189. package/dist/swirl-components/p-1ff7b440.entry.js +2 -0
  190. package/dist/swirl-components/p-1ff7b440.entry.js.map +1 -0
  191. package/dist/swirl-components/p-3147334a.entry.js +2 -0
  192. package/dist/swirl-components/p-3147334a.entry.js.map +1 -0
  193. package/dist/swirl-components/p-5022e258.entry.js +2 -0
  194. package/dist/swirl-components/p-5022e258.entry.js.map +1 -0
  195. package/dist/swirl-components/p-6ddd889e.entry.js +2 -0
  196. package/dist/swirl-components/p-6ddd889e.entry.js.map +1 -0
  197. package/dist/swirl-components/p-6febfe15.entry.js +2 -0
  198. package/dist/swirl-components/p-6febfe15.entry.js.map +1 -0
  199. package/dist/swirl-components/p-8784a282.entry.js +2 -0
  200. package/dist/swirl-components/p-8784a282.entry.js.map +1 -0
  201. package/dist/swirl-components/p-8faa2889.entry.js +2 -0
  202. package/dist/swirl-components/p-8faa2889.entry.js.map +1 -0
  203. package/dist/swirl-components/p-95c9ef17.entry.js +2 -0
  204. package/dist/swirl-components/p-95c9ef17.entry.js.map +1 -0
  205. package/dist/swirl-components/p-a15a28d3.entry.js +2 -0
  206. package/dist/swirl-components/p-a15a28d3.entry.js.map +1 -0
  207. package/dist/swirl-components/p-a178d901.entry.js +2 -0
  208. package/dist/swirl-components/p-a178d901.entry.js.map +1 -0
  209. package/dist/swirl-components/p-ad92140f.entry.js +2 -0
  210. package/dist/swirl-components/p-ad92140f.entry.js.map +1 -0
  211. package/dist/swirl-components/p-b1532bdb.entry.js +2 -0
  212. package/dist/swirl-components/p-b1532bdb.entry.js.map +1 -0
  213. package/dist/swirl-components/{p-c4c5a7ca.entry.js → p-bb9a65d7.entry.js} +3 -3
  214. package/dist/swirl-components/p-bb9a65d7.entry.js.map +1 -0
  215. package/dist/swirl-components/{p-7c20748f.entry.js → p-d6bb9690.entry.js} +2 -2
  216. package/dist/swirl-components/{p-7c20748f.entry.js.map → p-d6bb9690.entry.js.map} +1 -1
  217. package/dist/swirl-components/p-d9dfcd01.entry.js +2 -0
  218. package/dist/swirl-components/p-d9dfcd01.entry.js.map +1 -0
  219. package/dist/swirl-components/{p-06a08b17.entry.js → p-e34707fb.entry.js} +2 -2
  220. package/dist/swirl-components/{p-06a08b17.entry.js.map → p-e34707fb.entry.js.map} +1 -1
  221. package/dist/swirl-components/{p-692cb3d7.entry.js → p-f6a8ea5d.entry.js} +2 -2
  222. package/dist/swirl-components/p-f6a8ea5d.entry.js.map +1 -0
  223. package/dist/swirl-components/p-f94fc675.entry.js +2 -0
  224. package/dist/swirl-components/p-f94fc675.entry.js.map +1 -0
  225. package/dist/swirl-components/swirl-components.css +1 -1
  226. package/dist/swirl-components/swirl-components.esm.js +1 -1
  227. package/dist/swirl-components/swirl-components.esm.js.map +1 -1
  228. package/dist/types/components/flip-avatar/flip-avatar.d.ts +3 -0
  229. package/dist/types/components/flip-avatar-group/flip-avatar-group.d.ts +3 -0
  230. package/dist/types/components/flip-button-group/flip-button-group.d.ts +4 -3
  231. package/dist/types/components/flip-button-group/flip-button-group.stories.d.ts +5 -0
  232. package/dist/types/components/flip-file-viewer/flip-file-viewer.d.ts +1 -0
  233. package/dist/types/components/flip-lightbox/flip-lightbox.d.ts +49 -0
  234. package/dist/types/components/flip-lightbox/flip-lightbox.stories.d.ts +16 -0
  235. package/dist/types/components/flip-modal/flip-modal.d.ts +2 -0
  236. package/dist/types/components/flip-popover/flip-popover.d.ts +2 -0
  237. package/dist/types/components/flip-tabs/flip-tabs.d.ts +0 -7
  238. package/dist/types/components.d.ts +43 -3
  239. package/package.json +1 -1
  240. package/vscode-data.json +37 -0
  241. package/dist/cjs/flip-icon-arrow-left.cjs.entry.js +0 -22
  242. package/dist/cjs/flip-icon-arrow-left.cjs.entry.js.map +0 -1
  243. package/dist/cjs/flip-icon-arrow-right.cjs.entry.js +0 -22
  244. package/dist/cjs/flip-icon-arrow-right.cjs.entry.js.map +0 -1
  245. package/dist/cjs/flip-icon-download.cjs.entry.js +0 -22
  246. package/dist/cjs/flip-icon-download.cjs.entry.js.map +0 -1
  247. package/dist/esm/flip-icon-arrow-left.entry.js.map +0 -1
  248. package/dist/esm/flip-icon-arrow-right.entry.js.map +0 -1
  249. package/dist/esm/flip-icon-download.entry.js.map +0 -1
  250. package/dist/swirl-components/p-273b12eb.entry.js +0 -2
  251. package/dist/swirl-components/p-273b12eb.entry.js.map +0 -1
  252. package/dist/swirl-components/p-4aafa158.entry.js +0 -2
  253. package/dist/swirl-components/p-4aafa158.entry.js.map +0 -1
  254. package/dist/swirl-components/p-529bace4.entry.js +0 -2
  255. package/dist/swirl-components/p-529bace4.entry.js.map +0 -1
  256. package/dist/swirl-components/p-692cb3d7.entry.js.map +0 -1
  257. package/dist/swirl-components/p-91ccf392.entry.js +0 -2
  258. package/dist/swirl-components/p-91ccf392.entry.js.map +0 -1
  259. package/dist/swirl-components/p-91cd33f9.entry.js +0 -2
  260. package/dist/swirl-components/p-91cd33f9.entry.js.map +0 -1
  261. package/dist/swirl-components/p-9ffa5f69.entry.js +0 -2
  262. package/dist/swirl-components/p-9ffa5f69.entry.js.map +0 -1
  263. package/dist/swirl-components/p-b65aec9d.entry.js +0 -2
  264. package/dist/swirl-components/p-b65aec9d.entry.js.map +0 -1
  265. package/dist/swirl-components/p-bada1dda.entry.js +0 -2
  266. package/dist/swirl-components/p-bada1dda.entry.js.map +0 -1
  267. package/dist/swirl-components/p-bc94ecde.entry.js +0 -2
  268. package/dist/swirl-components/p-bc94ecde.entry.js.map +0 -1
  269. package/dist/swirl-components/p-c4c5a7ca.entry.js.map +0 -1
  270. package/dist/swirl-components/p-c8db8af8.entry.js.map +0 -1
  271. package/dist/swirl-components/p-c9f5b33a.entry.js +0 -2
  272. package/dist/swirl-components/p-c9f5b33a.entry.js.map +0 -1
  273. package/dist/swirl-components/p-d9b3b617.entry.js +0 -2
  274. package/dist/swirl-components/p-d9b3b617.entry.js.map +0 -1
  275. package/dist/swirl-components/p-df639805.entry.js +0 -2
  276. package/dist/swirl-components/p-df639805.entry.js.map +0 -1
  277. package/dist/swirl-components/p-dfd81ceb.entry.js +0 -2
  278. package/dist/swirl-components/p-dfd81ceb.entry.js.map +0 -1
  279. package/dist/swirl-components/p-e1debe08.entry.js +0 -2
  280. package/dist/swirl-components/p-e1debe08.entry.js.map +0 -1
  281. package/dist/swirl-components/p-f9c75666.entry.js +0 -2
  282. package/dist/swirl-components/p-f9c75666.entry.js.map +0 -1
  283. package/dist/swirl-components/p-fefffb34.entry.js +0 -2
  284. package/dist/swirl-components/p-fefffb34.entry.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{r as c,c as e,h as o,H as i}from"./p-9fe00e8a.js";import{c as s}from"./p-efffd297.js";import"./p-86bd3473.js";const h='.sc-flip-checkbox-h{display:inline-flex}.sc-flip-checkbox-h *.sc-flip-checkbox{box-sizing:border-box}.checkbox.sc-flip-checkbox{display:inline-flex;line-height:var(--s-line-height-base);cursor:pointer}.checkbox.sc-flip-checkbox:focus-within .checkbox__box.sc-flip-checkbox{box-shadow:0 0 0 0.0625rem var(--s-background-default),\n 0 0 0 0.1875rem var(--s-focus-default)}.checkbox--checked.sc-flip-checkbox .checkbox__control.sc-flip-checkbox:hover .checkbox__box.sc-flip-checkbox,.checkbox--indeterminate.sc-flip-checkbox .checkbox__control.sc-flip-checkbox:hover .checkbox__box.sc-flip-checkbox{border-color:var(--s-interactive-primary-hovered);background-color:var(--s-interactive-primary-hovered)}.checkbox--checked.sc-flip-checkbox .checkbox__box.sc-flip-checkbox,.checkbox--indeterminate.sc-flip-checkbox .checkbox__box.sc-flip-checkbox{border-color:var(--s-icon-highlight);color:var(--s-text-on-status);background-color:var(--s-icon-highlight)}.checkbox--invalid.checkbox--checked.sc-flip-checkbox .checkbox__box.sc-flip-checkbox,.checkbox--invalid.checkbox--indeterminate.sc-flip-checkbox .checkbox__box.sc-flip-checkbox{background-color:var(--s-icon-critical)}.checkbox--invalid.sc-flip-checkbox .checkbox__box.sc-flip-checkbox{border-color:var(--s-icon-critical)}.checkbox--disabled.sc-flip-checkbox{cursor:default}.checkbox--disabled.checkbox--checked.sc-flip-checkbox .checkbox__control.sc-flip-checkbox:hover .checkbox__box.sc-flip-checkbox,.checkbox--disabled.checkbox--indeterminate.sc-flip-checkbox .checkbox__control.sc-flip-checkbox:hover .checkbox__box.sc-flip-checkbox{border-color:var(--s-icon-disabled);background-color:var(--s-icon-disabled)}.checkbox--disabled.checkbox--checked.sc-flip-checkbox .checkbox__box.sc-flip-checkbox,.checkbox--disabled.checkbox--indeterminate.sc-flip-checkbox .checkbox__box.sc-flip-checkbox{background-color:var(--s-icon-disabled)}.checkbox--disabled.sc-flip-checkbox .checkbox__control.sc-flip-checkbox:hover .checkbox__box.sc-flip-checkbox{background-color:transparent}.checkbox--disabled.sc-flip-checkbox .checkbox__box.sc-flip-checkbox{border-color:var(--s-icon-disabled)}.checkbox--disabled.sc-flip-checkbox .checkbox__label.sc-flip-checkbox,.checkbox--disabled.sc-flip-checkbox .checkbox__description.sc-flip-checkbox{color:var(--s-text-disabled)}.checkbox__control.sc-flip-checkbox{position:relative;top:0.125rem;width:1.5rem;height:1.5rem;padding:var(--s-space-2);flex-shrink:0}.checkbox__control.sc-flip-checkbox:hover .checkbox__box.sc-flip-checkbox{background-color:var(--s-action-neutral-hovered)}.checkbox__box.sc-flip-checkbox{position:relative;z-index:1;display:flex;width:100%;height:100%;justify-content:center;align-items:center;border:0.125rem solid var(--s-icon-default);border-radius:var(--s-border-radius-s)}.checkbox__icon.sc-flip-checkbox{display:inline-flex;width:1.0625rem;height:1.0625rem}.checkbox__icon.sc-flip-checkbox>*.sc-flip-checkbox::part(icon){width:1.0625rem;height:1.0625rem}.checkbox__indeterminate-icon.sc-flip-checkbox{position:relative;width:100%;height:100%}.checkbox__indeterminate-icon.sc-flip-checkbox:after{position:absolute;top:50%;left:50%;width:0.625rem;height:0.125rem;border-radius:0.0625rem;background-color:currentColor;content:"";transform:translate3d(-50%, -50%, 0)}.checkbox__label-container.sc-flip-checkbox{display:inline-flex;margin-left:var(--s-space-12);padding-top:var(--s-space-4);align-items:flex-start;flex-direction:column}.checkbox__label.sc-flip-checkbox{font-weight:var(--s-font-weight-medium)}.checkbox__description.sc-flip-checkbox{color:var(--s-text-subdued)}';const b=class{constructor(o){c(this,o);this.valueChange=e(this,"valueChange",7);this.checked=false;this.disabled=false;this.onChange=()=>{this.checked=this.checked===true||this.checked==="true"?false:true;this.valueChange.emit(this.checked)}}render(){const c=this.checked===false||this.checked==="false";const e=this.checked===true||this.checked==="true";const h=this.checked==="indeterminate";const b=Boolean(this.label)||Boolean(this.description);const l=e?"true":c?"false":"mixed";const r=this.invalid===true?"true":this.invalid===false?"false":undefined;const t=s("checkbox",{"checkbox--checked":e,"checkbox--disabled":this.disabled,"checkbox--indeterminate":h,"checkbox--invalid":this.invalid,"checkbox--unchecked":c});return o(i,null,o("label",{class:t,htmlFor:this.inputId},o("span",{class:"checkbox__control"},o("flip-visually-hidden",null,o("input",{"aria-checked":l,"aria-describedby":this.flipAriaDescribedby,"aria-invalid":r,checked:e,class:"checkbox__input",disabled:this.disabled,id:this.inputId,indeterminate:h,name:this.inputName,onChange:this.onChange,type:"checkbox",value:this.value})),o("span",{"aria-hidden":"true",class:"checkbox__box"},o("span",{class:"checkbox__icon"},e&&o("flip-icon-check-strong",null),h&&o("span",{class:"checkbox__indeterminate-icon"})))),b&&o("span",{class:"checkbox__label-container"},this.label&&o("span",{class:"checkbox__label"},this.label),this.description&&o("span",{class:"checkbox__description"},this.description))))}};b.style=h;export{b as flip_checkbox};
2
- //# sourceMappingURL=p-7c20748f.entry.js.map
1
+ import{r as c,c as e,h as o,H as i}from"./p-9fe00e8a.js";import{c as s}from"./p-efffd297.js";import"./p-86bd3473.js";const h='.sc-flip-checkbox-h{display:inline-flex}.sc-flip-checkbox-h *.sc-flip-checkbox{box-sizing:border-box}.checkbox.sc-flip-checkbox{display:inline-flex;line-height:var(--s-line-height-base);cursor:pointer}.checkbox.sc-flip-checkbox:focus-within .checkbox__box.sc-flip-checkbox{box-shadow:0 0 0 0.0625rem var(--s-background-default),\n 0 0 0 0.1875rem var(--s-focus-default)}.checkbox--checked.sc-flip-checkbox .checkbox__control.sc-flip-checkbox:hover .checkbox__box.sc-flip-checkbox,.checkbox--indeterminate.sc-flip-checkbox .checkbox__control.sc-flip-checkbox:hover .checkbox__box.sc-flip-checkbox{border-color:var(--s-interactive-primary-hovered);background-color:var(--s-interactive-primary-hovered)}.checkbox--checked.sc-flip-checkbox .checkbox__box.sc-flip-checkbox,.checkbox--indeterminate.sc-flip-checkbox .checkbox__box.sc-flip-checkbox{border-color:var(--s-icon-highlight);color:var(--s-text-on-status);background-color:var(--s-icon-highlight)}.checkbox--invalid.checkbox--checked.sc-flip-checkbox .checkbox__box.sc-flip-checkbox,.checkbox--invalid.checkbox--indeterminate.sc-flip-checkbox .checkbox__box.sc-flip-checkbox{background-color:var(--s-icon-critical)}.checkbox--invalid.sc-flip-checkbox .checkbox__box.sc-flip-checkbox{border-color:var(--s-icon-critical)}.checkbox--disabled.sc-flip-checkbox{cursor:default}.checkbox--disabled.checkbox--checked.sc-flip-checkbox .checkbox__control.sc-flip-checkbox:hover .checkbox__box.sc-flip-checkbox,.checkbox--disabled.checkbox--indeterminate.sc-flip-checkbox .checkbox__control.sc-flip-checkbox:hover .checkbox__box.sc-flip-checkbox{border-color:var(--s-icon-disabled);background-color:var(--s-icon-disabled)}.checkbox--disabled.checkbox--checked.sc-flip-checkbox .checkbox__box.sc-flip-checkbox,.checkbox--disabled.checkbox--indeterminate.sc-flip-checkbox .checkbox__box.sc-flip-checkbox{background-color:var(--s-icon-disabled)}.checkbox--disabled.sc-flip-checkbox .checkbox__control.sc-flip-checkbox:hover .checkbox__box.sc-flip-checkbox{background-color:transparent}.checkbox--disabled.sc-flip-checkbox .checkbox__box.sc-flip-checkbox{border-color:var(--s-icon-disabled)}.checkbox--disabled.sc-flip-checkbox .checkbox__label.sc-flip-checkbox,.checkbox--disabled.sc-flip-checkbox .checkbox__description.sc-flip-checkbox{color:var(--s-text-disabled)}.checkbox__control.sc-flip-checkbox{position:relative;top:0.125rem;width:1.5rem;height:1.5rem;padding:var(--s-space-2);flex-shrink:0}.checkbox__control.sc-flip-checkbox:hover .checkbox__box.sc-flip-checkbox{background-color:var(--s-action-neutral-hovered)}.checkbox__box.sc-flip-checkbox{position:relative;z-index:1;display:flex;width:100%;height:100%;justify-content:center;align-items:center;border:0.125rem solid var(--s-icon-default);border-radius:var(--s-border-radius-s)}.checkbox__icon.sc-flip-checkbox{display:inline-flex;width:1.0625rem;height:1.0625rem}.checkbox__icon.sc-flip-checkbox>*.sc-flip-checkbox::part(icon){width:1.0625rem;height:1.0625rem}.checkbox__indeterminate-icon.sc-flip-checkbox{position:relative;width:100%;height:100%}.checkbox__indeterminate-icon.sc-flip-checkbox:after{position:absolute;top:50%;left:50%;width:0.625rem;height:0.125rem;border-radius:0.0625rem;background-color:currentColor;content:"";transform:translate3d(-50%, -50%, 0)}.checkbox__label-container.sc-flip-checkbox{display:inline-flex;margin-left:var(--s-space-8);padding-top:var(--s-space-4);align-items:flex-start;flex-direction:column}.checkbox__label.sc-flip-checkbox{font-weight:var(--s-font-weight-medium)}.checkbox__description.sc-flip-checkbox{color:var(--s-text-subdued)}';const b=class{constructor(o){c(this,o);this.valueChange=e(this,"valueChange",7);this.checked=false;this.disabled=false;this.onChange=()=>{this.checked=this.checked===true||this.checked==="true"?false:true;this.valueChange.emit(this.checked)}}render(){const c=this.checked===false||this.checked==="false";const e=this.checked===true||this.checked==="true";const h=this.checked==="indeterminate";const b=Boolean(this.label)||Boolean(this.description);const l=e?"true":c?"false":"mixed";const r=this.invalid===true?"true":this.invalid===false?"false":undefined;const t=s("checkbox",{"checkbox--checked":e,"checkbox--disabled":this.disabled,"checkbox--indeterminate":h,"checkbox--invalid":this.invalid,"checkbox--unchecked":c});return o(i,null,o("label",{class:t,htmlFor:this.inputId},o("span",{class:"checkbox__control"},o("flip-visually-hidden",null,o("input",{"aria-checked":l,"aria-describedby":this.flipAriaDescribedby,"aria-invalid":r,checked:e,class:"checkbox__input",disabled:this.disabled,id:this.inputId,indeterminate:h,name:this.inputName,onChange:this.onChange,type:"checkbox",value:this.value})),o("span",{"aria-hidden":"true",class:"checkbox__box"},o("span",{class:"checkbox__icon"},e&&o("flip-icon-check-strong",null),h&&o("span",{class:"checkbox__indeterminate-icon"})))),b&&o("span",{class:"checkbox__label-container"},this.label&&o("span",{class:"checkbox__label"},this.label),this.description&&o("span",{class:"checkbox__description"},this.description))))}};b.style=h;export{b as flip_checkbox};
2
+ //# sourceMappingURL=p-d6bb9690.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["src/components/flip-checkbox/flip-checkbox.css?tag=flip-checkbox&encapsulation=scoped","src/components/flip-checkbox/flip-checkbox.tsx"],"names":["flipCheckboxCss","FlipCheckbox","[object Object]","hostRef","this","checked","disabled","onChange","valueChange","emit","unchecked","indeterminate","showLabelContainer","Boolean","label","description","ariaCheckedLabel","ariaInvalid","invalid","undefined","className","classnames","checkbox--checked","checkbox--disabled","checkbox--indeterminate","checkbox--invalid","checkbox--unchecked","h","Host","class","htmlFor","inputId","aria-checked","aria-describedby","flipAriaDescribedby","aria-invalid","id","name","inputName","type","value","aria-hidden"],"mappings":"qHAAA,MAAMA,EAAkB,+gHCiBXC,EAAY,MAZzBC,YAAAC,sDAa2BC,KAAAC,QAA8B,MAE/CD,KAAAE,SAAqB,MAUrBF,KAAAG,SAAW,KACjBH,KAAKC,QACHD,KAAKC,UAAY,MAAQD,KAAKC,UAAY,OAAS,MAAQ,KAE7DD,KAAKI,YAAYC,KAAKL,KAAKC,UAG7BH,SACE,MAAMQ,EAAYN,KAAKC,UAAY,OAASD,KAAKC,UAAY,QAC7D,MAAMA,EAAUD,KAAKC,UAAY,MAAQD,KAAKC,UAAY,OAC1D,MAAMM,EAAgBP,KAAKC,UAAY,gBAEvC,MAAMO,EAAqBC,QAAQT,KAAKU,QAAUD,QAAQT,KAAKW,aAE/D,MAAMC,EAAmBX,EAAU,OAASK,EAAY,QAAU,QAClE,MAAMO,EACJb,KAAKc,UAAY,KACb,OACAd,KAAKc,UAAY,MACjB,QACAC,UAEN,MAAMC,EAAYC,EAAW,WAAY,CACvCC,oBAAqBjB,EACrBkB,qBAAsBnB,KAAKE,SAC3BkB,0BAA2Bb,EAC3Bc,oBAAqBrB,KAAKc,QAC1BQ,sBAAuBhB,IAGzB,OACEiB,EAACC,EAAI,KACHD,EAAA,QAAA,CAAOE,MAAOT,EAAWU,QAAS1B,KAAK2B,SACrCJ,EAAA,OAAA,CAAME,MAAM,qBACVF,EAAA,uBAAA,KACEA,EAAA,QAAA,CAAAK,eACgBhB,EAAgBiB,mBACZ7B,KAAK8B,oBAAmBC,eAC5BlB,EACdZ,QAASA,EACTwB,MAAM,kBACNvB,SAAUF,KAAKE,SACf8B,GAAIhC,KAAK2B,QACTpB,cAAeA,EACf0B,KAAMjC,KAAKkC,UACX/B,SAAUH,KAAKG,SACfgC,KAAK,WACLC,MAAOpC,KAAKoC,SAGhBb,EAAA,OAAA,CAAAc,cAAkB,OAAOZ,MAAM,iBAC7BF,EAAA,OAAA,CAAME,MAAM,kBACTxB,GAAWsB,EAAA,yBAAA,MACXhB,GACCgB,EAAA,OAAA,CAAME,MAAM,oCAKnBjB,GACCe,EAAA,OAAA,CAAME,MAAM,6BACTzB,KAAKU,OAASa,EAAA,OAAA,CAAME,MAAM,mBAAmBzB,KAAKU,OAClDV,KAAKW,aACJY,EAAA,OAAA,CAAME,MAAM,yBAAyBzB,KAAKW","sourcesContent":[":host {\n display: inline-flex;\n\n & * {\n box-sizing: border-box;\n }\n}\n\n.checkbox {\n display: inline-flex;\n line-height: var(--s-line-height-base);\n cursor: pointer;\n\n &:focus-within .checkbox__box {\n box-shadow: 0 0 0 0.0625rem var(--s-background-default),\n 0 0 0 0.1875rem var(--s-focus-default);\n }\n}\n\n.checkbox--checked,\n.checkbox--indeterminate {\n & .checkbox__control {\n &:hover {\n & .checkbox__box {\n border-color: var(--s-interactive-primary-hovered);\n background-color: var(--s-interactive-primary-hovered);\n }\n }\n }\n\n & .checkbox__box {\n border-color: var(--s-icon-highlight);\n color: var(--s-text-on-status);\n background-color: var(--s-icon-highlight);\n }\n}\n\n.checkbox--invalid {\n &.checkbox--checked,\n &.checkbox--indeterminate {\n & .checkbox__box {\n background-color: var(--s-icon-critical);\n }\n }\n\n & .checkbox__box {\n border-color: var(--s-icon-critical);\n }\n}\n\n.checkbox--disabled {\n cursor: default;\n\n &.checkbox--checked,\n &.checkbox--indeterminate {\n & .checkbox__control {\n &:hover {\n & .checkbox__box {\n border-color: var(--s-icon-disabled);\n background-color: var(--s-icon-disabled);\n }\n }\n }\n\n & .checkbox__box {\n background-color: var(--s-icon-disabled);\n }\n }\n\n & .checkbox__control {\n &:hover {\n & .checkbox__box {\n background-color: transparent;\n }\n }\n }\n\n & .checkbox__box {\n border-color: var(--s-icon-disabled);\n }\n\n & .checkbox__label,\n & .checkbox__description {\n color: var(--s-text-disabled);\n }\n}\n\n.checkbox__control {\n position: relative;\n top: 0.125rem;\n width: 1.5rem;\n height: 1.5rem;\n padding: var(--s-space-2);\n flex-shrink: 0;\n\n &:hover {\n & .checkbox__box {\n background-color: var(--s-action-neutral-hovered);\n }\n }\n}\n\n.checkbox__box {\n position: relative;\n z-index: 1;\n display: flex;\n width: 100%;\n height: 100%;\n justify-content: center;\n align-items: center;\n border: 0.125rem solid var(--s-icon-default);\n border-radius: var(--s-border-radius-s);\n}\n\n.checkbox__icon {\n display: inline-flex;\n width: 1.0625rem;\n height: 1.0625rem;\n\n & > *::part(icon) {\n width: 1.0625rem;\n height: 1.0625rem;\n }\n}\n\n.checkbox__indeterminate-icon {\n position: relative;\n width: 100%;\n height: 100%;\n\n &:after {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 0.625rem;\n height: 0.125rem;\n border-radius: 0.0625rem;\n background-color: currentColor;\n content: \"\";\n transform: translate3d(-50%, -50%, 0);\n }\n}\n\n.checkbox__label-container {\n display: inline-flex;\n margin-left: var(--s-space-12);\n padding-top: var(--s-space-4);\n align-items: flex-start;\n flex-direction: column;\n}\n\n.checkbox__label {\n font-weight: var(--s-font-weight-medium);\n}\n\n.checkbox__description {\n color: var(--s-text-subdued);\n}\n","import { Component, Event, EventEmitter, h, Host, Prop } from \"@stencil/core\";\nimport classnames from \"classnames\";\n\nexport type FlipCheckboxState = boolean | \"true\" | \"false\" | \"indeterminate\";\n\n@Component({\n /**\n * Form controls in shadow dom can still not be associated with labels in the\n * light dom, cross browser. So for now we disable shadow dom for form\n * controls (inputs, buttons, selects, etc.). Instead we use Stencil's scoping.\n * https://caniuse.com/?search=attachInternals\n */\n scoped: true,\n shadow: false,\n styleUrl: \"flip-checkbox.css\",\n tag: \"flip-checkbox\",\n})\nexport class FlipCheckbox {\n @Prop({ mutable: true }) checked?: FlipCheckboxState = false;\n @Prop() description?: string;\n @Prop() disabled?: boolean = false;\n @Prop() flipAriaDescribedby?: string;\n @Prop() inputId!: string;\n @Prop() inputName!: string;\n @Prop() invalid?: boolean;\n @Prop() label?: string;\n @Prop() value?: string;\n\n @Event() valueChange: EventEmitter<boolean>;\n\n private onChange = () => {\n this.checked =\n this.checked === true || this.checked === \"true\" ? false : true;\n\n this.valueChange.emit(this.checked);\n };\n\n render() {\n const unchecked = this.checked === false || this.checked === \"false\";\n const checked = this.checked === true || this.checked === \"true\";\n const indeterminate = this.checked === \"indeterminate\";\n\n const showLabelContainer = Boolean(this.label) || Boolean(this.description);\n\n const ariaCheckedLabel = checked ? \"true\" : unchecked ? \"false\" : \"mixed\";\n const ariaInvalid =\n this.invalid === true\n ? \"true\"\n : this.invalid === false\n ? \"false\"\n : undefined;\n\n const className = classnames(\"checkbox\", {\n \"checkbox--checked\": checked,\n \"checkbox--disabled\": this.disabled,\n \"checkbox--indeterminate\": indeterminate,\n \"checkbox--invalid\": this.invalid,\n \"checkbox--unchecked\": unchecked,\n });\n\n return (\n <Host>\n <label class={className} htmlFor={this.inputId}>\n <span class=\"checkbox__control\">\n <flip-visually-hidden>\n <input\n aria-checked={ariaCheckedLabel}\n aria-describedby={this.flipAriaDescribedby}\n aria-invalid={ariaInvalid}\n checked={checked}\n class=\"checkbox__input\"\n disabled={this.disabled}\n id={this.inputId}\n indeterminate={indeterminate}\n name={this.inputName}\n onChange={this.onChange}\n type=\"checkbox\"\n value={this.value}\n />\n </flip-visually-hidden>\n <span aria-hidden=\"true\" class=\"checkbox__box\">\n <span class=\"checkbox__icon\">\n {checked && <flip-icon-check-strong></flip-icon-check-strong>}\n {indeterminate && (\n <span class=\"checkbox__indeterminate-icon\"></span>\n )}\n </span>\n </span>\n </span>\n {showLabelContainer && (\n <span class=\"checkbox__label-container\">\n {this.label && <span class=\"checkbox__label\">{this.label}</span>}\n {this.description && (\n <span class=\"checkbox__description\">{this.description}</span>\n )}\n </span>\n )}\n </label>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["src/components/flip-checkbox/flip-checkbox.css?tag=flip-checkbox&encapsulation=scoped","src/components/flip-checkbox/flip-checkbox.tsx"],"names":["flipCheckboxCss","FlipCheckbox","[object Object]","hostRef","this","checked","disabled","onChange","valueChange","emit","unchecked","indeterminate","showLabelContainer","Boolean","label","description","ariaCheckedLabel","ariaInvalid","invalid","undefined","className","classnames","checkbox--checked","checkbox--disabled","checkbox--indeterminate","checkbox--invalid","checkbox--unchecked","h","Host","class","htmlFor","inputId","aria-checked","aria-describedby","flipAriaDescribedby","aria-invalid","id","name","inputName","type","value","aria-hidden"],"mappings":"qHAAA,MAAMA,EAAkB,8gHCiBXC,EAAY,MAZzBC,YAAAC,sDAa2BC,KAAAC,QAA8B,MAE/CD,KAAAE,SAAqB,MAUrBF,KAAAG,SAAW,KACjBH,KAAKC,QACHD,KAAKC,UAAY,MAAQD,KAAKC,UAAY,OAAS,MAAQ,KAE7DD,KAAKI,YAAYC,KAAKL,KAAKC,UAG7BH,SACE,MAAMQ,EAAYN,KAAKC,UAAY,OAASD,KAAKC,UAAY,QAC7D,MAAMA,EAAUD,KAAKC,UAAY,MAAQD,KAAKC,UAAY,OAC1D,MAAMM,EAAgBP,KAAKC,UAAY,gBAEvC,MAAMO,EAAqBC,QAAQT,KAAKU,QAAUD,QAAQT,KAAKW,aAE/D,MAAMC,EAAmBX,EAAU,OAASK,EAAY,QAAU,QAClE,MAAMO,EACJb,KAAKc,UAAY,KACb,OACAd,KAAKc,UAAY,MACjB,QACAC,UAEN,MAAMC,EAAYC,EAAW,WAAY,CACvCC,oBAAqBjB,EACrBkB,qBAAsBnB,KAAKE,SAC3BkB,0BAA2Bb,EAC3Bc,oBAAqBrB,KAAKc,QAC1BQ,sBAAuBhB,IAGzB,OACEiB,EAACC,EAAI,KACHD,EAAA,QAAA,CAAOE,MAAOT,EAAWU,QAAS1B,KAAK2B,SACrCJ,EAAA,OAAA,CAAME,MAAM,qBACVF,EAAA,uBAAA,KACEA,EAAA,QAAA,CAAAK,eACgBhB,EAAgBiB,mBACZ7B,KAAK8B,oBAAmBC,eAC5BlB,EACdZ,QAASA,EACTwB,MAAM,kBACNvB,SAAUF,KAAKE,SACf8B,GAAIhC,KAAK2B,QACTpB,cAAeA,EACf0B,KAAMjC,KAAKkC,UACX/B,SAAUH,KAAKG,SACfgC,KAAK,WACLC,MAAOpC,KAAKoC,SAGhBb,EAAA,OAAA,CAAAc,cAAkB,OAAOZ,MAAM,iBAC7BF,EAAA,OAAA,CAAME,MAAM,kBACTxB,GAAWsB,EAAA,yBAAA,MACXhB,GACCgB,EAAA,OAAA,CAAME,MAAM,oCAKnBjB,GACCe,EAAA,OAAA,CAAME,MAAM,6BACTzB,KAAKU,OAASa,EAAA,OAAA,CAAME,MAAM,mBAAmBzB,KAAKU,OAClDV,KAAKW,aACJY,EAAA,OAAA,CAAME,MAAM,yBAAyBzB,KAAKW","sourcesContent":[":host {\n display: inline-flex;\n\n & * {\n box-sizing: border-box;\n }\n}\n\n.checkbox {\n display: inline-flex;\n line-height: var(--s-line-height-base);\n cursor: pointer;\n\n &:focus-within .checkbox__box {\n box-shadow: 0 0 0 0.0625rem var(--s-background-default),\n 0 0 0 0.1875rem var(--s-focus-default);\n }\n}\n\n.checkbox--checked,\n.checkbox--indeterminate {\n & .checkbox__control {\n &:hover {\n & .checkbox__box {\n border-color: var(--s-interactive-primary-hovered);\n background-color: var(--s-interactive-primary-hovered);\n }\n }\n }\n\n & .checkbox__box {\n border-color: var(--s-icon-highlight);\n color: var(--s-text-on-status);\n background-color: var(--s-icon-highlight);\n }\n}\n\n.checkbox--invalid {\n &.checkbox--checked,\n &.checkbox--indeterminate {\n & .checkbox__box {\n background-color: var(--s-icon-critical);\n }\n }\n\n & .checkbox__box {\n border-color: var(--s-icon-critical);\n }\n}\n\n.checkbox--disabled {\n cursor: default;\n\n &.checkbox--checked,\n &.checkbox--indeterminate {\n & .checkbox__control {\n &:hover {\n & .checkbox__box {\n border-color: var(--s-icon-disabled);\n background-color: var(--s-icon-disabled);\n }\n }\n }\n\n & .checkbox__box {\n background-color: var(--s-icon-disabled);\n }\n }\n\n & .checkbox__control {\n &:hover {\n & .checkbox__box {\n background-color: transparent;\n }\n }\n }\n\n & .checkbox__box {\n border-color: var(--s-icon-disabled);\n }\n\n & .checkbox__label,\n & .checkbox__description {\n color: var(--s-text-disabled);\n }\n}\n\n.checkbox__control {\n position: relative;\n top: 0.125rem;\n width: 1.5rem;\n height: 1.5rem;\n padding: var(--s-space-2);\n flex-shrink: 0;\n\n &:hover {\n & .checkbox__box {\n background-color: var(--s-action-neutral-hovered);\n }\n }\n}\n\n.checkbox__box {\n position: relative;\n z-index: 1;\n display: flex;\n width: 100%;\n height: 100%;\n justify-content: center;\n align-items: center;\n border: 0.125rem solid var(--s-icon-default);\n border-radius: var(--s-border-radius-s);\n}\n\n.checkbox__icon {\n display: inline-flex;\n width: 1.0625rem;\n height: 1.0625rem;\n\n & > *::part(icon) {\n width: 1.0625rem;\n height: 1.0625rem;\n }\n}\n\n.checkbox__indeterminate-icon {\n position: relative;\n width: 100%;\n height: 100%;\n\n &:after {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 0.625rem;\n height: 0.125rem;\n border-radius: 0.0625rem;\n background-color: currentColor;\n content: \"\";\n transform: translate3d(-50%, -50%, 0);\n }\n}\n\n.checkbox__label-container {\n display: inline-flex;\n margin-left: var(--s-space-8);\n padding-top: var(--s-space-4);\n align-items: flex-start;\n flex-direction: column;\n}\n\n.checkbox__label {\n font-weight: var(--s-font-weight-medium);\n}\n\n.checkbox__description {\n color: var(--s-text-subdued);\n}\n","import { Component, Event, EventEmitter, h, Host, Prop } from \"@stencil/core\";\nimport classnames from \"classnames\";\n\nexport type FlipCheckboxState = boolean | \"true\" | \"false\" | \"indeterminate\";\n\n@Component({\n /**\n * Form controls in shadow dom can still not be associated with labels in the\n * light dom, cross browser. So for now we disable shadow dom for form\n * controls (inputs, buttons, selects, etc.). Instead we use Stencil's scoping.\n * https://caniuse.com/?search=attachInternals\n */\n scoped: true,\n shadow: false,\n styleUrl: \"flip-checkbox.css\",\n tag: \"flip-checkbox\",\n})\nexport class FlipCheckbox {\n @Prop({ mutable: true }) checked?: FlipCheckboxState = false;\n @Prop() description?: string;\n @Prop() disabled?: boolean = false;\n @Prop() flipAriaDescribedby?: string;\n @Prop() inputId!: string;\n @Prop() inputName!: string;\n @Prop() invalid?: boolean;\n @Prop() label?: string;\n @Prop() value?: string;\n\n @Event() valueChange: EventEmitter<boolean>;\n\n private onChange = () => {\n this.checked =\n this.checked === true || this.checked === \"true\" ? false : true;\n\n this.valueChange.emit(this.checked);\n };\n\n render() {\n const unchecked = this.checked === false || this.checked === \"false\";\n const checked = this.checked === true || this.checked === \"true\";\n const indeterminate = this.checked === \"indeterminate\";\n\n const showLabelContainer = Boolean(this.label) || Boolean(this.description);\n\n const ariaCheckedLabel = checked ? \"true\" : unchecked ? \"false\" : \"mixed\";\n const ariaInvalid =\n this.invalid === true\n ? \"true\"\n : this.invalid === false\n ? \"false\"\n : undefined;\n\n const className = classnames(\"checkbox\", {\n \"checkbox--checked\": checked,\n \"checkbox--disabled\": this.disabled,\n \"checkbox--indeterminate\": indeterminate,\n \"checkbox--invalid\": this.invalid,\n \"checkbox--unchecked\": unchecked,\n });\n\n return (\n <Host>\n <label class={className} htmlFor={this.inputId}>\n <span class=\"checkbox__control\">\n <flip-visually-hidden>\n <input\n aria-checked={ariaCheckedLabel}\n aria-describedby={this.flipAriaDescribedby}\n aria-invalid={ariaInvalid}\n checked={checked}\n class=\"checkbox__input\"\n disabled={this.disabled}\n id={this.inputId}\n indeterminate={indeterminate}\n name={this.inputName}\n onChange={this.onChange}\n type=\"checkbox\"\n value={this.value}\n />\n </flip-visually-hidden>\n <span aria-hidden=\"true\" class=\"checkbox__box\">\n <span class=\"checkbox__icon\">\n {checked && <flip-icon-check-strong></flip-icon-check-strong>}\n {indeterminate && (\n <span class=\"checkbox__indeterminate-icon\"></span>\n )}\n </span>\n </span>\n </span>\n {showLabelContainer && (\n <span class=\"checkbox__label-container\">\n {this.label && <span class=\"checkbox__label\">{this.label}</span>}\n {this.description && (\n <span class=\"checkbox__description\">{this.description}</span>\n )}\n </span>\n )}\n </label>\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as l,h as i,H as o}from"./p-9fe00e8a.js";import{c as a}from"./p-efffd297.js";import"./p-86bd3473.js";const s=".sc-flip-file-uploader-h{display:block;width:100%}.sc-flip-file-uploader-h *.sc-flip-file-uploader{box-sizing:border-box}.file-uploader.sc-flip-file-uploader{width:100%}.file-uploader--show-dropzone.sc-flip-file-uploader .file-uploader__dropzone.sc-flip-file-uploader{position:relative;display:flex;width:100%;height:10rem;margin-top:var(--s-space-16);justify-content:center;align-items:center;border:var(--s-border-width-default) dashed var(--s-border-strong);border-radius:var(--s-border-radius-s);flex-direction:column}.file-uploader--show-dropzone.sc-flip-file-uploader .file-uploader__dropzone.sc-flip-file-uploader:focus-within{border-width:0.125rem;border-color:var(--s-focus-default)}.file-uploader--show-dropzone.sc-flip-file-uploader .file-uploader__input.sc-flip-file-uploader{position:absolute;z-index:1;display:block;width:100%;cursor:pointer;opacity:0;inset:0}.file-uploader--disabled.sc-flip-file-uploader .file-uploader__input.sc-flip-file-uploader{cursor:default}.file-uploader--disabled.sc-flip-file-uploader .file-uploader__dropzone-cta.sc-flip-file-uploader,.file-uploader--disabled.sc-flip-file-uploader .file-uploader__drag-drop-label.sc-flip-file-uploader{color:var(--s-text-disabled)}.file-uploader--disabled.sc-flip-file-uploader .file-uploader__dropzone-icon.sc-flip-file-uploader{color:var(--s-text-disabled)}.file-uploader__label.sc-flip-file-uploader{display:block;font-weight:var(--s-font-weight-semibold);line-height:var(--s-line-height-base)}.file-uploader__description.sc-flip-file-uploader{display:block;margin-top:var(--s-space-4);font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm)}.file-uploader__dropzone-icon.sc-flip-file-uploader{color:var(--s-icon-highlight)}.file-uploader__dropzone-label.sc-flip-file-uploader{margin-top:var(--s-space-16);line-height:var(--s-line-height-base)}.file-uploader__dropzone-cta.sc-flip-file-uploader{color:var(--s-interactive-primary-default);font-weight:var(--s-font-weight-medium)}.file-uploader__upload-button.sc-flip-file-uploader{margin-top:var(--s-space-16)}.file-uploader__input.sc-flip-file-uploader{display:none}";const r=class{constructor(i){e(this,i);this.valueChange=l(this,"valueChange",7);this.ctaLabel="Click to upload";this.dragDropLabel="or drag and drop.";this.showDropzone=true;this.uploadButtonLabel="Select file";this.onChange=e=>{const l=e.target.files;this.valueChange.emit(l)};this.onUploadButtonClick=()=>{this.inputEl.click()}}async reset(){this.inputEl.value=""}render(){const e=Boolean(this.description)?`${this.inputId}-description ${this.inputId}-additional-label`:`${this.inputId}-additional-label`;const l=this.showDropzone?0:-1;const s=a("file-uploader",{"file-uploader--disabled":this.disabled,"file-uploader--show-dropzone":this.showDropzone});return i(o,null,i("div",{class:s},i("label",{class:"file-uploader__label",htmlFor:this.inputId,id:`${this.inputEl}-label`},this.label),this.description&&i("span",{class:"file-uploader__description",id:`${this.inputId}-description`},this.description),i("div",{class:"file-uploader__dropzone"},this.showDropzone?[i("flip-icon-cloud-upload",{class:"file-uploader__dropzone-icon"}),i("div",{class:"file-uploader__dropzone-label",id:`${this.inputId}-additional-label`},i("span",{class:"file-uploader__dropzone-cta"},this.ctaLabel)," ",i("span",{class:"file-uploader__drag-drop-label"},this.dragDropLabel))]:i("flip-button",{class:"file-uploader__upload-button",disabled:this.disabled,flipAriaDescribedby:e,intent:"primary",label:this.uploadButtonLabel,onClick:this.onUploadButtonClick,variant:"flat"}),i("input",{accept:this.accept,"aria-describedby":e,"aria-disabled":this.disabled,autoComplete:"off",class:"file-uploader__input",disabled:this.disabled,id:this.inputId,multiple:this.multiple,name:this.inputName,onChange:this.onChange,ref:e=>this.inputEl=e,tabIndex:l,type:"file"}))))}};r.style=s;export{r as flip_file_uploader};
2
+ //# sourceMappingURL=p-d9dfcd01.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/flip-file-uploader/flip-file-uploader.css?tag=flip-file-uploader&encapsulation=scoped","src/components/flip-file-uploader/flip-file-uploader.tsx"],"names":["flipFileUploaderCss","FlipFileUploader","[object Object]","hostRef","this","ctaLabel","dragDropLabel","showDropzone","uploadButtonLabel","onChange","event","fileList","target","files","valueChange","emit","onUploadButtonClick","inputEl","click","value","ariaDescribedby","Boolean","description","inputId","tabIndex","className","classnames","file-uploader--disabled","disabled","file-uploader--show-dropzone","h","Host","class","htmlFor","id","label","flipAriaDescribedby","intent","onClick","variant","accept","aria-describedby","aria-disabled","autoComplete","multiple","name","inputName","ref","el","type"],"mappings":"qHAAA,MAAMA,EAAsB,qkECwBfC,EAAgB,MAZ7BC,YAAAC,sDAcUC,KAAAC,SAAoB,kBAGpBD,KAAAE,cAAyB,oBAKzBF,KAAAG,aAAyB,KACzBH,KAAAI,kBAA6B,cAc7BJ,KAAAK,SAAYC,IAClB,MAAMC,EAAYD,EAAME,OAA4BC,MAEpDT,KAAKU,YAAYC,KAAKJ,IAGhBP,KAAAY,oBAAsB,KAC5BZ,KAAKa,QAAQC,SAXRhB,cACLE,KAAKa,QAAQE,MAAQ,GAavBjB,SACE,MAAMkB,EAAkBC,QAAQjB,KAAKkB,aACjC,GAAGlB,KAAKmB,uBAAuBnB,KAAKmB,2BACpC,GAAGnB,KAAKmB,2BAEZ,MAAMC,EAAWpB,KAAKG,aAAe,GAAK,EAE1C,MAAMkB,EAAYC,EAAW,gBAAiB,CAC5CC,0BAA2BvB,KAAKwB,SAChCC,+BAAgCzB,KAAKG,eAGvC,OACEuB,EAACC,EAAI,KACHD,EAAA,MAAA,CAAKE,MAAOP,GACVK,EAAA,QAAA,CACEE,MAAM,uBACNC,QAAS7B,KAAKmB,QACdW,GAAI,GAAG9B,KAAKa,iBAEXb,KAAK+B,OAGP/B,KAAKkB,aACJQ,EAAA,OAAA,CACEE,MAAM,6BACNE,GAAI,GAAG9B,KAAKmB,uBAEXnB,KAAKkB,aAIVQ,EAAA,MAAA,CAAKE,MAAM,2BACR5B,KAAKG,aAAY,CAEduB,EAAA,yBAAA,CAAwBE,MAAM,iCAC9BF,EAAA,MAAA,CACEE,MAAM,gCACNE,GAAI,GAAG9B,KAAKmB,4BAEZO,EAAA,OAAA,CAAME,MAAM,+BACT5B,KAAKC,UACA,IACRyB,EAAA,OAAA,CAAME,MAAM,kCACT5B,KAAKE,iBAKZwB,EAAA,cAAA,CACEE,MAAM,+BACNJ,SAAUxB,KAAKwB,SACfQ,oBAAqBhB,EACrBiB,OAAO,UACPF,MAAO/B,KAAKI,kBACZ8B,QAASlC,KAAKY,oBACduB,QAAQ,SAIZT,EAAA,QAAA,CACEU,OAAQpC,KAAKoC,OAAMC,mBACDrB,EAAesB,gBAClBtC,KAAKwB,SACpBe,aAAa,MACbX,MAAM,uBACNJ,SAAUxB,KAAKwB,SACfM,GAAI9B,KAAKmB,QACTqB,SAAUxC,KAAKwC,SACfC,KAAMzC,KAAK0C,UACXrC,SAAUL,KAAKK,SACfsC,IAAMC,GAAQ5C,KAAKa,QAAU+B,EAC7BxB,SAAUA,EACVyB,KAAK","sourcesContent":[":host {\n display: block;\n width: 100%;\n\n & * {\n box-sizing: border-box;\n }\n}\n\n.file-uploader {\n width: 100%;\n}\n\n.file-uploader--show-dropzone {\n & .file-uploader__dropzone {\n position: relative;\n display: flex;\n width: 100%;\n height: 10rem;\n margin-top: var(--s-space-16);\n justify-content: center;\n align-items: center;\n border: var(--s-border-width-default) dashed var(--s-border-strong);\n border-radius: var(--s-border-radius-s);\n flex-direction: column;\n\n &:focus-within {\n border-width: 0.125rem;\n border-color: var(--s-focus-default);\n }\n }\n\n & .file-uploader__input {\n position: absolute;\n z-index: 1;\n display: block;\n width: 100%;\n cursor: pointer;\n opacity: 0;\n inset: 0;\n }\n}\n\n.file-uploader--disabled {\n & .file-uploader__input {\n cursor: default;\n }\n\n & .file-uploader__dropzone-cta,\n & .file-uploader__drag-drop-label {\n color: var(--s-text-disabled);\n }\n\n & .file-uploader__dropzone-icon {\n color: var(--s-text-disabled);\n }\n}\n\n.file-uploader__label {\n display: block;\n font-weight: var(--s-font-weight-semibold);\n line-height: var(--s-line-height-base);\n}\n\n.file-uploader__description {\n display: block;\n margin-top: var(--s-space-4);\n font-size: var(--s-font-size-sm);\n line-height: var(--s-line-height-sm);\n}\n\n.file-uploader__dropzone-icon {\n color: var(--s-icon-highlight);\n}\n\n.file-uploader__dropzone-label {\n margin-top: var(--s-space-16);\n line-height: var(--s-line-height-base);\n}\n\n.file-uploader__dropzone-cta {\n color: var(--s-interactive-primary-default);\n font-weight: var(--s-font-weight-medium);\n}\n\n.file-uploader__upload-button {\n margin-top: var(--s-space-16);\n}\n\n.file-uploader__input {\n display: none;\n}\n","import {\n Component,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n} from \"@stencil/core\";\nimport classnames from \"classnames\";\nimport { FlipFormInput } from \"../../utils\";\n\n@Component({\n /**\n * Form controls in shadow dom can still not be associated with labels in the\n * light dom, cross browser. So for now we disable shadow dom for form\n * controls (inputs, buttons, selects, etc.). Instead we use Stencil's scoping.\n * https://caniuse.com/?search=attachInternals\n */\n scoped: true,\n shadow: false,\n styleUrl: \"flip-file-uploader.css\",\n tag: \"flip-file-uploader\",\n})\nexport class FlipFileUploader implements FlipFormInput<FileList> {\n @Prop() accept?: string;\n @Prop() ctaLabel?: string = \"Click to upload\";\n @Prop() description?: string;\n @Prop() disabled?: boolean;\n @Prop() dragDropLabel?: string = \"or drag and drop.\";\n @Prop() inputId!: string;\n @Prop() inputName!: string;\n @Prop() label!: string;\n @Prop() multiple?: boolean;\n @Prop() showDropzone?: boolean = true;\n @Prop() uploadButtonLabel?: string = \"Select file\";\n\n @Event() valueChange: EventEmitter<FileList>;\n\n private inputEl: HTMLInputElement;\n\n /**\n * Reset the file input.\n */\n @Method()\n public async reset() {\n this.inputEl.value = \"\";\n }\n\n private onChange = (event: Event) => {\n const fileList = (event.target as HTMLInputElement).files;\n\n this.valueChange.emit(fileList);\n };\n\n private onUploadButtonClick = () => {\n this.inputEl.click();\n };\n\n render() {\n const ariaDescribedby = Boolean(this.description)\n ? `${this.inputId}-description ${this.inputId}-additional-label`\n : `${this.inputId}-additional-label`;\n\n const tabIndex = this.showDropzone ? 0 : -1;\n\n const className = classnames(\"file-uploader\", {\n \"file-uploader--disabled\": this.disabled,\n \"file-uploader--show-dropzone\": this.showDropzone,\n });\n\n return (\n <Host>\n <div class={className}>\n <label\n class=\"file-uploader__label\"\n htmlFor={this.inputId}\n id={`${this.inputEl}-label`}\n >\n {this.label}\n </label>\n\n {this.description && (\n <span\n class=\"file-uploader__description\"\n id={`${this.inputId}-description`}\n >\n {this.description}\n </span>\n )}\n\n <div class=\"file-uploader__dropzone\">\n {this.showDropzone ? (\n [\n <flip-icon-cloud-upload class=\"file-uploader__dropzone-icon\"></flip-icon-cloud-upload>,\n <div\n class=\"file-uploader__dropzone-label\"\n id={`${this.inputId}-additional-label`}\n >\n <span class=\"file-uploader__dropzone-cta\">\n {this.ctaLabel}\n </span>{\" \"}\n <span class=\"file-uploader__drag-drop-label\">\n {this.dragDropLabel}\n </span>\n </div>,\n ]\n ) : (\n <flip-button\n class=\"file-uploader__upload-button\"\n disabled={this.disabled}\n flipAriaDescribedby={ariaDescribedby}\n intent=\"primary\"\n label={this.uploadButtonLabel}\n onClick={this.onUploadButtonClick}\n variant=\"flat\"\n ></flip-button>\n )}\n\n <input\n accept={this.accept}\n aria-describedby={ariaDescribedby}\n aria-disabled={this.disabled}\n autoComplete=\"off\"\n class=\"file-uploader__input\"\n disabled={this.disabled}\n id={this.inputId}\n multiple={this.multiple}\n name={this.inputName}\n onChange={this.onChange}\n ref={(el) => (this.inputEl = el)}\n tabIndex={tabIndex}\n type=\"file\"\n />\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- import{r as i,c as r,h as o,H as a}from"./p-9fe00e8a.js";import{c as d}from"./p-efffd297.js";import"./p-86bd3473.js";const s='.sc-flip-radio-h{display:inline-flex}.sc-flip-radio-h *.sc-flip-radio{box-sizing:border-box}.radio.sc-flip-radio{display:inline-flex;cursor:pointer;line-height:var(--s-line-height-base)}.radio.sc-flip-radio:focus-within .radio__box.sc-flip-radio{box-shadow:0 0 0 0.0625rem var(--s-background-default),\n 0 0 0 0.1875rem var(--s-focus-default)}.radio--checked.sc-flip-radio .radio__control.sc-flip-radio:hover .radio__box.sc-flip-radio{border-color:var(--s-interactive-primary-hovered);background-color:var(--s-interactive-primary-hovered)}.radio--checked.sc-flip-radio .radio__box.sc-flip-radio{position:relative;border-color:var(--s-icon-highlight);background-color:var(--s-icon-highlight)}.radio--checked.sc-flip-radio .radio__box.sc-flip-radio:after{position:absolute;top:50%;left:50%;width:0.5rem;height:0.5rem;border-radius:50%;background-color:var(--s-background-default);content:"";transform:translate3d(-50%, -50%, 0)}.radio--invalid.radio--checked.sc-flip-radio .radio__box.sc-flip-radio,.radio--invalid.radio--indeterminate.sc-flip-radio .radio__box.sc-flip-radio{background-color:var(--s-icon-critical)}.radio--invalid.sc-flip-radio .radio__box.sc-flip-radio{border-color:var(--s-icon-critical)}.radio--disabled.sc-flip-radio{cursor:default}.radio--disabled.radio--checked.sc-flip-radio .radio__control.sc-flip-radio:hover .radio__box.sc-flip-radio{border-color:var(--s-icon-disabled);background-color:transparent}.radio--disabled.radio--checked.sc-flip-radio .radio__box.sc-flip-radio{border-color:var(--s-icon-disabled);background-color:var(--s-background-default)}.radio--disabled.radio--checked.sc-flip-radio .radio__box.sc-flip-radio:after{background-color:var(--s-icon-disabled)}.radio--disabled.sc-flip-radio .radio__control.sc-flip-radio:hover .radio__box.sc-flip-radio{background-color:transparent}.radio--disabled.sc-flip-radio .radio__box.sc-flip-radio{border-color:var(--s-icon-disabled);backround-color:var(--s-icon-disabled)}.radio--disabled.sc-flip-radio .radio__description.sc-flip-radio,.radio--disabled.sc-flip-radio .radio__label.sc-flip-radio{color:var(--s-text-disabled)}.radio__control.sc-flip-radio{position:relative;display:inline-flex;width:1.5rem;height:1.5rem;padding:var(--s-space-2);flex-shrink:0}.radio__control.sc-flip-radio:hover .radio__box.sc-flip-radio{background-color:var(--s-action-neutral-hovered)}.radio__box.sc-flip-radio{position:relative;display:flex;width:100%;height:100%;justify-content:center;align-items:center;border:0.125rem solid var(--s-icon-default);border-radius:50%}.radio__label-container.sc-flip-radio{display:inline-flex;margin-left:var(--s-space-12);padding-top:var(--s-space-2);flex-direction:column}.radio__label.sc-flip-radio{font-weight:var(--s-font-weight-medium)}.radio__description.sc-flip-radio{color:var(--s-text-subdued)}';const e=class{constructor(o){i(this,o);this.valueChange=r(this,"valueChange",7);this.checked=false;this.disabled=false;this.onChange=()=>{this.checked=true;this.valueChange.emit(this.value)}}render(){const i=this.checked===false||this.checked==="false";const r=this.checked===true||this.checked==="true";const s=r?"true":i?"false":"mixed";const e=this.invalid;const l=d("radio",{"radio--checked":r,"radio--disabled":this.disabled,"radio--invalid":this.invalid,"radio--unchecked":i});return o(a,null,o("label",{class:l,htmlFor:this.inputId},o("span",{class:"radio__control"},o("flip-visually-hidden",null,o("input",{"aria-checked":s,"aria-invalid":e,checked:r,class:"radio__input",disabled:this.disabled,id:this.inputId,name:this.inputName,onChange:this.onChange,type:"radio",value:this.value})),o("span",{"aria-hidden":"true",class:"radio__box"})),o("span",{class:"radio__label-container"},this.label&&o("span",{class:"radio__label"},this.label),this.description&&o("span",{class:"radio__description"},this.description))))}};e.style=s;export{e as flip_radio};
2
- //# sourceMappingURL=p-06a08b17.entry.js.map
1
+ import{r as i,c as r,h as o,H as a}from"./p-9fe00e8a.js";import{c as d}from"./p-efffd297.js";import"./p-86bd3473.js";const s='.sc-flip-radio-h{display:inline-flex}.sc-flip-radio-h *.sc-flip-radio{box-sizing:border-box}.radio.sc-flip-radio{display:inline-flex;cursor:pointer;line-height:var(--s-line-height-base)}.radio.sc-flip-radio:focus-within .radio__box.sc-flip-radio{box-shadow:0 0 0 0.0625rem var(--s-background-default),\n 0 0 0 0.1875rem var(--s-focus-default)}.radio--checked.sc-flip-radio .radio__control.sc-flip-radio:hover .radio__box.sc-flip-radio{border-color:var(--s-interactive-primary-hovered);background-color:var(--s-interactive-primary-hovered)}.radio--checked.sc-flip-radio .radio__box.sc-flip-radio{position:relative;border-color:var(--s-icon-highlight);background-color:var(--s-icon-highlight)}.radio--checked.sc-flip-radio .radio__box.sc-flip-radio:after{position:absolute;top:50%;left:50%;width:0.5rem;height:0.5rem;border-radius:50%;background-color:var(--s-background-default);content:"";transform:translate3d(-50%, -50%, 0)}.radio--invalid.radio--checked.sc-flip-radio .radio__box.sc-flip-radio,.radio--invalid.radio--indeterminate.sc-flip-radio .radio__box.sc-flip-radio{background-color:var(--s-icon-critical)}.radio--invalid.sc-flip-radio .radio__box.sc-flip-radio{border-color:var(--s-icon-critical)}.radio--disabled.sc-flip-radio{cursor:default}.radio--disabled.radio--checked.sc-flip-radio .radio__control.sc-flip-radio:hover .radio__box.sc-flip-radio{border-color:var(--s-icon-disabled);background-color:transparent}.radio--disabled.radio--checked.sc-flip-radio .radio__box.sc-flip-radio{border-color:var(--s-icon-disabled);background-color:var(--s-background-default)}.radio--disabled.radio--checked.sc-flip-radio .radio__box.sc-flip-radio:after{background-color:var(--s-icon-disabled)}.radio--disabled.sc-flip-radio .radio__control.sc-flip-radio:hover .radio__box.sc-flip-radio{background-color:transparent}.radio--disabled.sc-flip-radio .radio__box.sc-flip-radio{border-color:var(--s-icon-disabled);backround-color:var(--s-icon-disabled)}.radio--disabled.sc-flip-radio .radio__description.sc-flip-radio,.radio--disabled.sc-flip-radio .radio__label.sc-flip-radio{color:var(--s-text-disabled)}.radio__control.sc-flip-radio{position:relative;display:inline-flex;width:1.5rem;height:1.5rem;padding:var(--s-space-2);flex-shrink:0}.radio__control.sc-flip-radio:hover .radio__box.sc-flip-radio{background-color:var(--s-action-neutral-hovered)}.radio__box.sc-flip-radio{position:relative;display:flex;width:100%;height:100%;justify-content:center;align-items:center;border:0.125rem solid var(--s-icon-default);border-radius:50%}.radio__label-container.sc-flip-radio{display:inline-flex;margin-left:var(--s-space-8);padding-top:var(--s-space-2);flex-direction:column}.radio__label.sc-flip-radio{font-weight:var(--s-font-weight-medium)}.radio__description.sc-flip-radio{color:var(--s-text-subdued)}';const e=class{constructor(o){i(this,o);this.valueChange=r(this,"valueChange",7);this.checked=false;this.disabled=false;this.onChange=()=>{this.checked=true;this.valueChange.emit(this.value)}}render(){const i=this.checked===false||this.checked==="false";const r=this.checked===true||this.checked==="true";const s=r?"true":i?"false":"mixed";const e=this.invalid;const l=d("radio",{"radio--checked":r,"radio--disabled":this.disabled,"radio--invalid":this.invalid,"radio--unchecked":i});return o(a,null,o("label",{class:l,htmlFor:this.inputId},o("span",{class:"radio__control"},o("flip-visually-hidden",null,o("input",{"aria-checked":s,"aria-invalid":e,checked:r,class:"radio__input",disabled:this.disabled,id:this.inputId,name:this.inputName,onChange:this.onChange,type:"radio",value:this.value})),o("span",{"aria-hidden":"true",class:"radio__box"})),o("span",{class:"radio__label-container"},this.label&&o("span",{class:"radio__label"},this.label),this.description&&o("span",{class:"radio__description"},this.description))))}};e.style=s;export{e as flip_radio};
2
+ //# sourceMappingURL=p-e34707fb.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["src/components/flip-radio/flip-radio.css?tag=flip-radio&encapsulation=scoped","src/components/flip-radio/flip-radio.tsx"],"names":["flipRadioCss","FlipRadio","[object Object]","hostRef","this","checked","disabled","onChange","valueChange","emit","value","unchecked","ariaCheckedLabel","ariaInvalid","invalid","className","classnames","radio--checked","radio--disabled","radio--invalid","radio--unchecked","h","Host","class","htmlFor","inputId","aria-checked","aria-invalid","id","name","inputName","type","aria-hidden","label","description"],"mappings":"qHAAA,MAAMA,EAAe,+vFCiBRC,EAAS,MAZtBC,YAAAC,sDAa2BC,KAAAC,QAA2B,MAE5CD,KAAAE,SAAqB,MASrBF,KAAAG,SAAW,KACjBH,KAAKC,QAAU,KACfD,KAAKI,YAAYC,KAAKL,KAAKM,QAG7BR,SACE,MAAMS,EAAYP,KAAKC,UAAY,OAASD,KAAKC,UAAY,QAC7D,MAAMA,EAAUD,KAAKC,UAAY,MAAQD,KAAKC,UAAY,OAE1D,MAAMO,EAAmBP,EAAU,OAASM,EAAY,QAAU,QAClE,MAAME,EAAcT,KAAKU,QAEzB,MAAMC,EAAYC,EAAW,QAAS,CACpCC,iBAAkBZ,EAClBa,kBAAmBd,KAAKE,SACxBa,iBAAkBf,KAAKU,QACvBM,mBAAoBT,IAGtB,OACEU,EAACC,EAAI,KACHD,EAAA,QAAA,CAAOE,MAAOR,EAAWS,QAASpB,KAAKqB,SACrCJ,EAAA,OAAA,CAAME,MAAM,kBACVF,EAAA,uBAAA,KACEA,EAAA,QAAA,CAAAK,eACgBd,EAAgBe,eAChBd,EACdR,QAASA,EACTkB,MAAM,eACNjB,SAAUF,KAAKE,SACfsB,GAAIxB,KAAKqB,QACTI,KAAMzB,KAAK0B,UACXvB,SAAUH,KAAKG,SACfwB,KAAK,QACLrB,MAAON,KAAKM,SAGhBW,EAAA,OAAA,CAAAW,cAAkB,OAAOT,MAAM,gBAEjCF,EAAA,OAAA,CAAME,MAAM,0BACTnB,KAAK6B,OAASZ,EAAA,OAAA,CAAME,MAAM,gBAAgBnB,KAAK6B,OAC/C7B,KAAK8B,aACJb,EAAA,OAAA,CAAME,MAAM,sBAAsBnB,KAAK8B","sourcesContent":[":host {\n display: inline-flex;\n\n & * {\n box-sizing: border-box;\n }\n}\n\n.radio {\n display: inline-flex;\n cursor: pointer;\n line-height: var(--s-line-height-base);\n\n &:focus-within .radio__box {\n box-shadow: 0 0 0 0.0625rem var(--s-background-default),\n 0 0 0 0.1875rem var(--s-focus-default);\n }\n}\n\n.radio--checked {\n & .radio__control {\n &:hover {\n & .radio__box {\n border-color: var(--s-interactive-primary-hovered);\n background-color: var(--s-interactive-primary-hovered);\n }\n }\n }\n\n & .radio__box {\n position: relative;\n border-color: var(--s-icon-highlight);\n background-color: var(--s-icon-highlight);\n\n &:after {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 50%;\n background-color: var(--s-background-default);\n content: \"\";\n transform: translate3d(-50%, -50%, 0);\n }\n }\n}\n\n.radio--invalid {\n &.radio--checked,\n &.radio--indeterminate {\n & .radio__box {\n background-color: var(--s-icon-critical);\n }\n }\n\n & .radio__box {\n border-color: var(--s-icon-critical);\n }\n}\n\n.radio--disabled {\n cursor: default;\n\n &.radio--checked {\n & .radio__control {\n &:hover {\n & .radio__box {\n border-color: var(--s-icon-disabled);\n background-color: transparent;\n }\n }\n }\n\n & .radio__box {\n border-color: var(--s-icon-disabled);\n background-color: var(--s-background-default);\n\n &:after {\n background-color: var(--s-icon-disabled);\n }\n }\n }\n\n & .radio__control {\n &:hover {\n & .radio__box {\n background-color: transparent;\n }\n }\n }\n\n & .radio__box {\n border-color: var(--s-icon-disabled);\n backround-color: var(--s-icon-disabled);\n }\n\n & .radio__description,\n & .radio__label {\n color: var(--s-text-disabled);\n }\n}\n\n.radio__control {\n position: relative;\n display: inline-flex;\n width: 1.5rem;\n height: 1.5rem;\n padding: var(--s-space-2);\n flex-shrink: 0;\n\n &:hover {\n & .radio__box {\n background-color: var(--s-action-neutral-hovered);\n }\n }\n}\n\n.radio__box {\n position: relative;\n display: flex;\n width: 100%;\n height: 100%;\n justify-content: center;\n align-items: center;\n border: 0.125rem solid var(--s-icon-default);\n border-radius: 50%;\n}\n\n.radio__label-container {\n display: inline-flex;\n margin-left: var(--s-space-12);\n padding-top: var(--s-space-2);\n flex-direction: column;\n}\n\n.radio__label {\n font-weight: var(--s-font-weight-medium);\n}\n\n.radio__description {\n color: var(--s-text-subdued);\n}\n","import { Component, Event, EventEmitter, h, Host, Prop } from \"@stencil/core\";\nimport classnames from \"classnames\";\n\nexport type FlipRadioState = boolean | \"true\" | \"false\";\n\n@Component({\n /**\n * Form controls in shadow dom can still not be associated with labels in the\n * light dom, cross browser. So for now we disable shadow dom for form\n * controls (inputs, buttons, selects, etc.). Instead we use Stencil's scoping.\n * https://caniuse.com/?search=attachInternals\n */\n scoped: true,\n shadow: false,\n styleUrl: \"flip-radio.css\",\n tag: \"flip-radio\",\n})\nexport class FlipRadio {\n @Prop({ mutable: true }) checked?: FlipRadioState = false;\n @Prop() description?: string;\n @Prop() disabled?: boolean = false;\n @Prop() inputId!: string;\n @Prop() inputName!: string;\n @Prop() invalid?: boolean;\n @Prop() label?: string;\n @Prop() value!: string;\n\n @Event() valueChange: EventEmitter<string>;\n\n private onChange = () => {\n this.checked = true;\n this.valueChange.emit(this.value);\n };\n\n render() {\n const unchecked = this.checked === false || this.checked === \"false\";\n const checked = this.checked === true || this.checked === \"true\";\n\n const ariaCheckedLabel = checked ? \"true\" : unchecked ? \"false\" : \"mixed\";\n const ariaInvalid = this.invalid;\n\n const className = classnames(\"radio\", {\n \"radio--checked\": checked,\n \"radio--disabled\": this.disabled,\n \"radio--invalid\": this.invalid,\n \"radio--unchecked\": unchecked,\n });\n\n return (\n <Host>\n <label class={className} htmlFor={this.inputId}>\n <span class=\"radio__control\">\n <flip-visually-hidden>\n <input\n aria-checked={ariaCheckedLabel}\n aria-invalid={ariaInvalid}\n checked={checked}\n class=\"radio__input\"\n disabled={this.disabled}\n id={this.inputId}\n name={this.inputName}\n onChange={this.onChange}\n type=\"radio\"\n value={this.value}\n />\n </flip-visually-hidden>\n <span aria-hidden=\"true\" class=\"radio__box\"></span>\n </span>\n <span class=\"radio__label-container\">\n {this.label && <span class=\"radio__label\">{this.label}</span>}\n {this.description && (\n <span class=\"radio__description\">{this.description}</span>\n )}\n </span>\n </label>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["src/components/flip-radio/flip-radio.css?tag=flip-radio&encapsulation=scoped","src/components/flip-radio/flip-radio.tsx"],"names":["flipRadioCss","FlipRadio","[object Object]","hostRef","this","checked","disabled","onChange","valueChange","emit","value","unchecked","ariaCheckedLabel","ariaInvalid","invalid","className","classnames","radio--checked","radio--disabled","radio--invalid","radio--unchecked","h","Host","class","htmlFor","inputId","aria-checked","aria-invalid","id","name","inputName","type","aria-hidden","label","description"],"mappings":"qHAAA,MAAMA,EAAe,8vFCiBRC,EAAS,MAZtBC,YAAAC,sDAa2BC,KAAAC,QAA2B,MAE5CD,KAAAE,SAAqB,MASrBF,KAAAG,SAAW,KACjBH,KAAKC,QAAU,KACfD,KAAKI,YAAYC,KAAKL,KAAKM,QAG7BR,SACE,MAAMS,EAAYP,KAAKC,UAAY,OAASD,KAAKC,UAAY,QAC7D,MAAMA,EAAUD,KAAKC,UAAY,MAAQD,KAAKC,UAAY,OAE1D,MAAMO,EAAmBP,EAAU,OAASM,EAAY,QAAU,QAClE,MAAME,EAAcT,KAAKU,QAEzB,MAAMC,EAAYC,EAAW,QAAS,CACpCC,iBAAkBZ,EAClBa,kBAAmBd,KAAKE,SACxBa,iBAAkBf,KAAKU,QACvBM,mBAAoBT,IAGtB,OACEU,EAACC,EAAI,KACHD,EAAA,QAAA,CAAOE,MAAOR,EAAWS,QAASpB,KAAKqB,SACrCJ,EAAA,OAAA,CAAME,MAAM,kBACVF,EAAA,uBAAA,KACEA,EAAA,QAAA,CAAAK,eACgBd,EAAgBe,eAChBd,EACdR,QAASA,EACTkB,MAAM,eACNjB,SAAUF,KAAKE,SACfsB,GAAIxB,KAAKqB,QACTI,KAAMzB,KAAK0B,UACXvB,SAAUH,KAAKG,SACfwB,KAAK,QACLrB,MAAON,KAAKM,SAGhBW,EAAA,OAAA,CAAAW,cAAkB,OAAOT,MAAM,gBAEjCF,EAAA,OAAA,CAAME,MAAM,0BACTnB,KAAK6B,OAASZ,EAAA,OAAA,CAAME,MAAM,gBAAgBnB,KAAK6B,OAC/C7B,KAAK8B,aACJb,EAAA,OAAA,CAAME,MAAM,sBAAsBnB,KAAK8B","sourcesContent":[":host {\n display: inline-flex;\n\n & * {\n box-sizing: border-box;\n }\n}\n\n.radio {\n display: inline-flex;\n cursor: pointer;\n line-height: var(--s-line-height-base);\n\n &:focus-within .radio__box {\n box-shadow: 0 0 0 0.0625rem var(--s-background-default),\n 0 0 0 0.1875rem var(--s-focus-default);\n }\n}\n\n.radio--checked {\n & .radio__control {\n &:hover {\n & .radio__box {\n border-color: var(--s-interactive-primary-hovered);\n background-color: var(--s-interactive-primary-hovered);\n }\n }\n }\n\n & .radio__box {\n position: relative;\n border-color: var(--s-icon-highlight);\n background-color: var(--s-icon-highlight);\n\n &:after {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 0.5rem;\n height: 0.5rem;\n border-radius: 50%;\n background-color: var(--s-background-default);\n content: \"\";\n transform: translate3d(-50%, -50%, 0);\n }\n }\n}\n\n.radio--invalid {\n &.radio--checked,\n &.radio--indeterminate {\n & .radio__box {\n background-color: var(--s-icon-critical);\n }\n }\n\n & .radio__box {\n border-color: var(--s-icon-critical);\n }\n}\n\n.radio--disabled {\n cursor: default;\n\n &.radio--checked {\n & .radio__control {\n &:hover {\n & .radio__box {\n border-color: var(--s-icon-disabled);\n background-color: transparent;\n }\n }\n }\n\n & .radio__box {\n border-color: var(--s-icon-disabled);\n background-color: var(--s-background-default);\n\n &:after {\n background-color: var(--s-icon-disabled);\n }\n }\n }\n\n & .radio__control {\n &:hover {\n & .radio__box {\n background-color: transparent;\n }\n }\n }\n\n & .radio__box {\n border-color: var(--s-icon-disabled);\n backround-color: var(--s-icon-disabled);\n }\n\n & .radio__description,\n & .radio__label {\n color: var(--s-text-disabled);\n }\n}\n\n.radio__control {\n position: relative;\n display: inline-flex;\n width: 1.5rem;\n height: 1.5rem;\n padding: var(--s-space-2);\n flex-shrink: 0;\n\n &:hover {\n & .radio__box {\n background-color: var(--s-action-neutral-hovered);\n }\n }\n}\n\n.radio__box {\n position: relative;\n display: flex;\n width: 100%;\n height: 100%;\n justify-content: center;\n align-items: center;\n border: 0.125rem solid var(--s-icon-default);\n border-radius: 50%;\n}\n\n.radio__label-container {\n display: inline-flex;\n margin-left: var(--s-space-8);\n padding-top: var(--s-space-2);\n flex-direction: column;\n}\n\n.radio__label {\n font-weight: var(--s-font-weight-medium);\n}\n\n.radio__description {\n color: var(--s-text-subdued);\n}\n","import { Component, Event, EventEmitter, h, Host, Prop } from \"@stencil/core\";\nimport classnames from \"classnames\";\n\nexport type FlipRadioState = boolean | \"true\" | \"false\";\n\n@Component({\n /**\n * Form controls in shadow dom can still not be associated with labels in the\n * light dom, cross browser. So for now we disable shadow dom for form\n * controls (inputs, buttons, selects, etc.). Instead we use Stencil's scoping.\n * https://caniuse.com/?search=attachInternals\n */\n scoped: true,\n shadow: false,\n styleUrl: \"flip-radio.css\",\n tag: \"flip-radio\",\n})\nexport class FlipRadio {\n @Prop({ mutable: true }) checked?: FlipRadioState = false;\n @Prop() description?: string;\n @Prop() disabled?: boolean = false;\n @Prop() inputId!: string;\n @Prop() inputName!: string;\n @Prop() invalid?: boolean;\n @Prop() label?: string;\n @Prop() value!: string;\n\n @Event() valueChange: EventEmitter<string>;\n\n private onChange = () => {\n this.checked = true;\n this.valueChange.emit(this.value);\n };\n\n render() {\n const unchecked = this.checked === false || this.checked === \"false\";\n const checked = this.checked === true || this.checked === \"true\";\n\n const ariaCheckedLabel = checked ? \"true\" : unchecked ? \"false\" : \"mixed\";\n const ariaInvalid = this.invalid;\n\n const className = classnames(\"radio\", {\n \"radio--checked\": checked,\n \"radio--disabled\": this.disabled,\n \"radio--invalid\": this.invalid,\n \"radio--unchecked\": unchecked,\n });\n\n return (\n <Host>\n <label class={className} htmlFor={this.inputId}>\n <span class=\"radio__control\">\n <flip-visually-hidden>\n <input\n aria-checked={ariaCheckedLabel}\n aria-invalid={ariaInvalid}\n checked={checked}\n class=\"radio__input\"\n disabled={this.disabled}\n id={this.inputId}\n name={this.inputName}\n onChange={this.onChange}\n type=\"radio\"\n value={this.value}\n />\n </flip-visually-hidden>\n <span aria-hidden=\"true\" class=\"radio__box\"></span>\n </span>\n <span class=\"radio__label-container\">\n {this.label && <span class=\"radio__label\">{this.label}</span>}\n {this.description && (\n <span class=\"radio__description\">{this.description}</span>\n )}\n </span>\n </label>\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- import{r as t,c as e,h as i,H as s,F as a,g as r}from"./p-9fe00e8a.js";import{c as h,a as n,g as o}from"./p-86bd3473.js";import{c as l,s as c,f as d,a as u}from"./p-e8bb09e8.js";import{e as p,d as m}from"./p-33c168b3.js";import{c as f}from"./p-efffd297.js";import{i as v,q as y}from"./p-db7b3635.js";var b=h((function(t,e){!function(e,i){t.exports=i()}(n,(function(){return function(){var t={d:function(e,i){for(var s in i)t.o(i,s)&&!t.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:i[s]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}},e={};t.d(e,{default:function(){return $}});var i={days:"days",months:"months",years:"years",day:"day",month:"month",year:"year",eventChangeViewDate:"changeViewDate",eventChangeCurrentView:"changeCurrentView",eventChangeFocusDate:"changeFocusDate",eventChangeSelectedDate:"changeSelectedDate",eventChangeTime:"changeTime",eventChangeLastSelectedDate:"changeLastSelectedDate",actionSelectDate:"selectDate",actionUnselectDate:"unselectDate",cssClassWeekend:"-weekend-"},s={classes:"",inline:!1,locale:{days:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],daysShort:["Вос","Пон","Вто","Сре","Чет","Пят","Суб"],daysMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Сегодня",clear:"Очистить",dateFormat:"dd.MM.yyyy",timeFormat:"HH:mm",firstDay:1},startDate:new Date,firstDay:"",weekends:[6,0],dateFormat:"",altField:"",altFieldDateFormat:"T",toggleSelected:!0,keyboardNav:!0,selectedDates:!1,container:"",isMobile:!1,visible:!1,position:"bottom left",offset:12,view:i.days,minView:i.days,showOtherMonths:!0,selectOtherMonths:!0,moveToOtherMonthsOnSelect:!0,showOtherYears:!0,selectOtherYears:!0,moveToOtherYearsOnSelect:!0,minDate:"",maxDate:"",disableNavWhenOutOfRange:!0,multipleDates:!1,multipleDatesSeparator:", ",range:!1,dynamicRange:!0,buttons:!1,monthsField:"monthsShort",showEvent:"focus",autoClose:!1,prevHtml:'<svg><path d="M 17,12 l -5,5 l 5,5"></path></svg>',nextHtml:'<svg><path d="M 14,12 l 5,5 l -5,5"></path></svg>',navTitles:{days:"MMMM, <i>yyyy</i>",months:"yyyy",years:"yyyy1 - yyyy2"},timepicker:!1,onlyTimepicker:!1,dateTimeSeparator:" ",timeFormat:"",minHours:0,maxHours:24,minMinutes:0,maxMinutes:59,hoursStep:1,minutesStep:1,onSelect:!1,onChangeViewDate:!1,onChangeView:!1,onRenderCell:!1,onShow:!1,onHide:!1,onClickDayName:!1};function a(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return"string"==typeof t?e.querySelector(t):t}function r(){let{tagName:t="div",className:e="",innerHtml:i="",id:s="",attrs:a={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=document.createElement(t);return e&&r.classList.add(...e.split(" ")),s&&(r.id=s),i&&(r.innerHTML=i),a&&h(r,a),r}function h(t,e){for(let[i,s]of Object.entries(e))void 0!==s&&t.setAttribute(i,s);return t}function n(t){return new Date(t.getFullYear(),t.getMonth()+1,0).getDate()}function o(t){let e=t.getHours(),i=e%12==0?12:e%12;return{year:t.getFullYear(),month:t.getMonth(),fullMonth:t.getMonth()+1<10?"0"+(t.getMonth()+1):t.getMonth()+1,date:t.getDate(),fullDate:t.getDate()<10?"0"+t.getDate():t.getDate(),day:t.getDay(),hours:e,fullHours:l(e),hours12:i,fullHours12:l(i),minutes:t.getMinutes(),fullMinutes:t.getMinutes()<10?"0"+t.getMinutes():t.getMinutes()}}function l(t){return t<10?"0"+t:t}function c(t){let e=10*Math.floor(t.getFullYear()/10);return[e,e+9]}function d(){let t=[];for(var e=arguments.length,i=new Array(e),s=0;s<e;s++)i[s]=arguments[s];return i.forEach((e=>{if("object"==typeof e)for(let i in e)e[i]&&t.push(i);else e&&t.push(e)})),t.join(" ")}function u(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.days;if(!t||!e)return!1;let a=o(t),r=o(e),h={[i.days]:a.date===r.date&&a.month===r.month&&a.year===r.year,[i.months]:a.month===r.month&&a.year===r.year,[i.years]:a.year===r.year};return h[s]}function p(t,e,i){let s=f(t,!1).getTime(),a=f(e,!1).getTime();return i?s>=a:s>a}function m(t,e){return!p(t,e,!0)}function f(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=new Date(t.getTime());return"boolean"!=typeof e||e||v(i),i}function v(t){return t.setHours(0,0,0,0),t}function y(t,e,i){t.length?t.forEach((t=>{t.addEventListener(e,i)})):t.addEventListener(e,i)}function b(t,e){return!(!t||t===document||t instanceof DocumentFragment)&&(t.matches(e)?t:b(t.parentNode,e))}function g(t,e,i){return t>i?i:t<e?e:t}function w(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),s=1;s<e;s++)i[s-1]=arguments[s];return i.filter((t=>t)).forEach((e=>{for(let[i,s]of Object.entries(e))if(void 0!==s&&"[object Object]"===s.toString()){let e=void 0!==t[i]?t[i].toString():void 0,a=s.toString(),r=Array.isArray(s)?[]:{};t[i]=t[i]?e!==a?r:t[i]:r,w(t[i],s)}else t[i]=s})),t}function k(t){let e=t;return t instanceof Date||(e=new Date(t)),isNaN(e.getTime())&&(console.log('Unable to convert value "'.concat(t,'" to Date object')),e=!1),e}function D(t){let e="\\s|\\.|-|/|\\\\|,|\\$|\\!|\\?|:|;";return new RegExp("(^|>|"+e+")("+t+")($|<|"+e+")","g")}function C(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}class _{constructor(){let{type:t,date:e,dp:i,opts:s,body:a}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};C(this,"focus",(()=>{this.$cell.classList.add("-focus-"),this.focused=!0})),C(this,"removeFocus",(()=>{this.$cell.classList.remove("-focus-"),this.focused=!1})),C(this,"select",(()=>{this.$cell.classList.add("-selected-"),this.selected=!0})),C(this,"removeSelect",(()=>{this.$cell.classList.remove("-selected-","-range-from-","-range-to-"),this.selected=!1})),C(this,"onChangeSelectedDate",(()=>{this.isDisabled||(this._handleSelectedStatus(),this.opts.range&&this._handleRangeStatus())})),C(this,"onChangeFocusDate",(t=>{if(!t)return void(this.focused&&this.removeFocus());let e=u(t,this.date,this.type);e?this.focus():!e&&this.focused&&this.removeFocus(),this.opts.range&&this._handleRangeStatus()})),C(this,"render",(()=>(this.$cell.innerHTML=this._getHtml(),this.$cell.adpCell=this,this.$cell))),this.type=t,this.singleType=this.type.slice(0,-1),this.date=e,this.dp=i,this.opts=s,this.body=a,this.customData=!1,this.init()}init(){let{range:t,onRenderCell:e}=this.opts;e&&(this.customData=e({date:this.date,cellType:this.singleType,datepicker:this.dp})),this._createElement(),this._bindDatepickerEvents(),this._handleInitialFocusStatus(),this.dp.hasSelectedDates&&(this._handleSelectedStatus(),t&&this._handleRangeStatus())}_bindDatepickerEvents(){this.dp.on(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.on(i.eventChangeFocusDate,this.onChangeFocusDate)}unbindDatepickerEvents(){this.dp.off(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.off(i.eventChangeFocusDate,this.onChangeFocusDate)}_createElement(){var t;let{year:e,month:i,date:s}=o(this.date),a=(null===(t=this.customData)||void 0===t?void 0:t.attrs)||{};this.$cell=r({className:this._getClassName(),attrs:{"data-year":e,"data-month":i,"data-date":s,...a}})}_getClassName(){var t,e;let s=new Date,{selectOtherMonths:a,selectOtherYears:r}=this.opts,{minDate:h,maxDate:n}=this.dp,{day:l}=o(this.date),c=this._isOutOfMinMaxRange(),p=null===(t=this.customData)||void 0===t?void 0:t.disabled,m=d("air-datepicker-cell","-".concat(this.singleType,"-"),{"-current-":u(s,this.date,this.type),"-min-date-":h&&u(h,this.date,this.type),"-max-date-":n&&u(n,this.date,this.type)}),f="";switch(this.type){case i.days:f=d({"-weekend-":this.dp.isWeekend(l),"-other-month-":this.isOtherMonth,"-disabled-":this.isOtherMonth&&!a||c||p});break;case i.months:f=d({"-disabled-":c||p});break;case i.years:f=d({"-other-decade-":this.isOtherDecade,"-disabled-":c||this.isOtherDecade&&!r||p})}return d(m,f,null===(e=this.customData)||void 0===e?void 0:e.classes)}_getHtml(){var t;let{year:e,month:s,date:a}=o(this.date),{showOtherMonths:r,showOtherYears:h}=this.opts;if(null!==(t=this.customData)&&void 0!==t&&t.html)return this.customData.html;switch(this.type){case i.days:return!r&&this.isOtherMonth?"":a;case i.months:return this.dp.locale[this.opts.monthsField][s];case i.years:return!h&&this.isOtherDecade?"":e}}_isOutOfMinMaxRange(){let{minDate:t,maxDate:e}=this.dp,{type:s,date:a}=this,{month:r,year:h,date:n}=o(a),l=s===i.days,c=s===i.years,d=!!t&&new Date(h,c?t.getMonth():r,l?n:t.getDate()),u=!!e&&new Date(h,c?e.getMonth():r,l?n:e.getDate());return t&&e?m(d,t)||p(u,e):t?m(d,t):e?p(u,e):void 0}destroy(){this.unbindDatepickerEvents()}_handleRangeStatus(){let{rangeDateFrom:t,rangeDateTo:e}=this.dp,i=d({"-in-range-":t&&e&&(s=this.date,a=t,r=e,p(s,a)&&m(s,r)),"-range-from-":t&&u(this.date,t,this.type),"-range-to-":e&&u(this.date,e,this.type)});var s,a,r;this.$cell.classList.remove("-range-from-","-range-to-","-in-range-"),i&&this.$cell.classList.add(...i.split(" "))}_handleSelectedStatus(){let t=this.dp._checkIfDateIsSelected(this.date,this.type);t?this.select():!t&&this.selected&&this.removeSelect()}_handleInitialFocusStatus(){u(this.dp.focusDate,this.date,this.type)&&this.focus()}get isDisabled(){return this.$cell.matches(".-disabled-")}get isOtherMonth(){return this.dp.isOtherMonth(this.date)}get isOtherDecade(){return this.dp.isOtherDecade(this.date)}}function x(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}let M={[i.days]:'<div class="air-datepicker-body--day-names"></div>'+'<div class="air-datepicker-body--cells -'.concat(i.days,'-"></div>'),[i.months]:'<div class="air-datepicker-body--cells -'.concat(i.months,'-"></div>'),[i.years]:'<div class="air-datepicker-body--cells -'.concat(i.years,'-"></div>')};const S=".air-datepicker-cell";class T{constructor(t){let{dp:e,type:s,opts:a}=t;x(this,"handleClick",(t=>{let e=t.target.closest(S).adpCell;if(e.isDisabled)return;if(!this.dp.isMinViewReached)return void this.dp.down();let i=this.dp._checkIfDateIsSelected(e.date,e.type);i?this.dp._handleAlreadySelectedDates(i,e.date):this.dp.selectDate(e.date)})),x(this,"handleDayNameClick",(t=>{let e=t.target.getAttribute("data-day-index");this.opts.onClickDayName({dayIndex:Number(e),datepicker:this.dp})})),x(this,"onChangeCurrentView",(t=>{t!==this.type?this.hide():(this.show(),this.render())})),x(this,"onMouseOverCell",(t=>{let e=b(t.target,S);this.dp.setFocusDate(!!e&&e.adpCell.date)})),x(this,"onMouseOutCell",(()=>{this.dp.setFocusDate(!1)})),x(this,"onClickBody",(t=>{let{onClickDayName:e}=this.opts,i=t.target;i.closest(S)&&this.handleClick(t),e&&i.closest(".air-datepicker-body--day-name")&&this.handleDayNameClick(t)})),x(this,"onMouseDown",(t=>{this.pressed=!0;let e=b(t.target,S),i=e&&e.adpCell;u(i.date,this.dp.rangeDateFrom)&&(this.rangeFromFocused=!0),u(i.date,this.dp.rangeDateTo)&&(this.rangeToFocused=!0)})),x(this,"onMouseMove",(t=>{if(!this.pressed||!this.dp.isMinViewReached)return;t.preventDefault();let e=b(t.target,S),i=e&&e.adpCell,{selectedDates:s,rangeDateTo:a,rangeDateFrom:r}=this.dp;if(!i||i.isDisabled)return;let{date:h}=i;if(2===s.length){if(this.rangeFromFocused&&!p(h,a)){let{hours:t,minutes:e}=o(r);h.setHours(t),h.setMinutes(e),this.dp.rangeDateFrom=h,this.dp.replaceDate(r,h)}if(this.rangeToFocused&&!m(h,r)){let{hours:t,minutes:e}=o(a);h.setHours(t),h.setMinutes(e),this.dp.rangeDateTo=h,this.dp.replaceDate(a,h)}}})),x(this,"onMouseUp",(()=>{this.pressed=!1,this.rangeFromFocused=!1,this.rangeToFocused=!1})),x(this,"onChangeViewDate",((t,e)=>{if(!this.isVisible)return;let s=c(t),a=c(e);switch(this.dp.currentView){case i.days:if(u(t,e,i.months))return;break;case i.months:if(u(t,e,i.years))return;break;case i.years:if(s[0]===a[0]&&s[1]===a[1])return}this.render()})),x(this,"render",(()=>{this.destroyCells(),this._generateCells(),this.cells.forEach((t=>{this.$cells.appendChild(t.render())}))})),this.dp=e,this.type=s,this.opts=a,this.cells=[],this.$el="",this.pressed=!1,this.isVisible=!0,this.init()}init(){this._buildBaseHtml(),this.type===i.days&&this.renderDayNames(),this.render(),this._bindEvents(),this._bindDatepickerEvents()}_bindEvents(){let{range:t,dynamicRange:e}=this.opts;y(this.$el,"mouseover",this.onMouseOverCell),y(this.$el,"mouseout",this.onMouseOutCell),y(this.$el,"click",this.onClickBody),t&&e&&(y(this.$el,"mousedown",this.onMouseDown),y(this.$el,"mousemove",this.onMouseMove),y(window.document,"mouseup",this.onMouseUp))}_bindDatepickerEvents(){this.dp.on(i.eventChangeViewDate,this.onChangeViewDate),this.dp.on(i.eventChangeCurrentView,this.onChangeCurrentView)}_buildBaseHtml(){this.$el=r({className:"air-datepicker-body -".concat(this.type,"-"),innerHtml:M[this.type]}),this.$names=a(".air-datepicker-body--day-names",this.$el),this.$cells=a(".air-datepicker-body--cells",this.$el)}_getDayNamesHtml(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.dp.locale.firstDay,e="",s=this.dp.isWeekend,{onClickDayName:a}=this.opts,r=t,h=0;for(;h<7;){let t=r%7,n=d("air-datepicker-body--day-name",{[i.cssClassWeekend]:s(t),"-clickable-":!!a}),o=this.dp.locale.daysMin[t];e+='<div class="'.concat(n,"\" data-day-index='").concat(t,"'>").concat(o,"</div>"),h++,r++}return e}_getDaysCells(){let{viewDate:t,locale:{firstDay:e}}=this.dp,i=n(t),{year:s,month:a}=o(t),r=new Date(s,a,1),h=new Date(s,a,i),l=r.getDay()-e,c=6-h.getDay()+e;l=l<0?l+7:l,c=c>6?c-7:c;let d=function(t,e){let{year:i,month:s,date:a}=o(t);return new Date(i,s,a-e)}(r,l),u=i+l+c,p=d.getDate(),{year:m,month:f}=o(d),v=0;for(;v<u;){let t=new Date(m,f,p+v);this._generateCell(t),v++}}_generateCell(t){let{type:e,dp:i,opts:s}=this,a=new _({type:e,dp:i,opts:s,date:t,body:this});return this.cells.push(a),a}_generateDayCells(){this._getDaysCells()}_generateMonthCells(){let{year:t}=this.dp.parsedViewDate,e=0;for(;e<12;)this.cells.push(this._generateCell(new Date(t,e))),e++}_generateYearCells(){let t=c(this.dp.viewDate),e=t[0]-1,i=t[1]+1,s=e;for(;s<=i;)this.cells.push(this._generateCell(new Date(s,0))),s++}renderDayNames(){this.$names.innerHTML=this._getDayNamesHtml()}_generateCells(){switch(this.type){case i.days:this._generateDayCells();break;case i.months:this._generateMonthCells();break;case i.years:this._generateYearCells()}}show(){this.isVisible=!0,this.$el.classList.remove("-hidden-")}hide(){this.isVisible=!1,this.$el.classList.add("-hidden-")}destroyCells(){this.cells.forEach((t=>t.destroy())),this.cells=[],this.$cells.innerHTML=""}destroy(){this.destroyCells(),this.dp.off(i.eventChangeViewDate,this.onChangeViewDate),this.dp.off(i.eventChangeCurrentView,this.onChangeCurrentView)}}function O(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}class H{constructor(t){let{dp:e,opts:i}=t;O(this,"onClickNav",(t=>{let e=b(t.target,".air-datepicker-nav--action");if(!e)return;let i=e.dataset.action;this.dp[i]()})),O(this,"onChangeViewDate",(()=>{this.render(),this._resetNavStatus(),this.handleNavStatus()})),O(this,"onChangeCurrentView",(()=>{this.render(),this._resetNavStatus(),this.handleNavStatus()})),O(this,"onClickNavTitle",(()=>{this.dp.isFinalView||this.dp.up()})),O(this,"update",(()=>{let{prevHtml:t,nextHtml:e}=this.opts;this.$prev.innerHTML=t,this.$next.innerHTML=e,this._resetNavStatus(),this.render(),this.handleNavStatus()})),O(this,"renderDelay",(()=>{setTimeout(this.render)})),O(this,"render",(()=>{this.$title.innerHTML=this._getTitle(),function(t,e){for(let i in e)e[i]?t.classList.add(i):t.classList.remove(i)}(this.$title,{"-disabled-":this.dp.isFinalView})})),this.dp=e,this.opts=i,this.init()}init(){this._createElement(),this._buildBaseHtml(),this._defineDOM(),this.render(),this.handleNavStatus(),this._bindEvents(),this._bindDatepickerEvents()}_defineDOM(){this.$title=a(".air-datepicker-nav--title",this.$el),this.$prev=a('[data-action="prev"]',this.$el),this.$next=a('[data-action="next"]',this.$el)}_bindEvents(){this.$el.addEventListener("click",this.onClickNav),this.$title.addEventListener("click",this.onClickNavTitle)}_bindDatepickerEvents(){this.dp.on(i.eventChangeViewDate,this.onChangeViewDate),this.dp.on(i.eventChangeCurrentView,this.onChangeCurrentView),this.isNavIsFunction&&(this.dp.on(i.eventChangeSelectedDate,this.renderDelay),this.dp.opts.timepicker&&this.dp.on(i.eventChangeTime,this.render))}destroy(){this.dp.off(i.eventChangeViewDate,this.onChangeViewDate),this.dp.off(i.eventChangeCurrentView,this.onChangeCurrentView),this.isNavIsFunction&&(this.dp.off(i.eventChangeSelectedDate,this.renderDelay),this.dp.opts.timepicker&&this.dp.off(i.eventChangeTime,this.render))}_createElement(){this.$el=r({tagName:"nav",className:"air-datepicker-nav"})}_getTitle(){let{dp:t,opts:e}=this,i=e.navTitles[t.currentView];return"function"==typeof i?i(t):t.formatDate(t.viewDate,i)}handleNavStatus(){let{disableNavWhenOutOfRange:t}=this.opts,{minDate:e,maxDate:s}=this.dp;if(!e&&!s||!t)return;let{year:a,month:r}=this.dp.parsedViewDate,h=!!e&&o(e),n=!!s&&o(s);switch(this.dp.currentView){case i.days:e&&h.month>=r&&h.year>=a&&this._disableNav("prev"),s&&n.month<=r&&n.year<=a&&this._disableNav("next");break;case i.months:e&&h.year>=a&&this._disableNav("prev"),s&&n.year<=a&&this._disableNav("next");break;case i.years:{let t=c(this.dp.viewDate);e&&h.year>=t[0]&&this._disableNav("prev"),s&&n.year<=t[1]&&this._disableNav("next");break}}}_disableNav(t){a('[data-action="'+t+'"]',this.$el).classList.add("-disabled-")}_resetNavStatus(){!function(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),s=1;s<e;s++)i[s-1]=arguments[s];t.length?t.forEach((t=>{t.classList.remove(...i)})):t.classList.remove(...i)}(this.$el.querySelectorAll(".air-datepicker-nav--action"),"-disabled-")}_buildBaseHtml(){let{prevHtml:t,nextHtml:e}=this.opts;this.$el.innerHTML='<div class="air-datepicker-nav--action" data-action="prev">'.concat(t,"</div>")+'<div class="air-datepicker-nav--title"></div>'+'<div class="air-datepicker-nav--action" data-action="next">'.concat(e,"</div>")}get isNavIsFunction(){let{navTitles:t}=this.opts;return Object.keys(t).find((e=>"function"==typeof t[e]))}}var V={today:{content:t=>t.locale.today,onClick:t=>t.setViewDate(new Date)},clear:{content:t=>t.locale.clear,onClick:t=>t.clear()}};class A{constructor(t){let{dp:e,opts:i}=t;this.dp=e,this.opts=i,this.init()}init(){this.createElement(),this.render()}createElement(){this.$el=r({className:"air-datepicker-buttons"})}destroy(){this.$el.parentNode.removeChild(this.$el)}clearHtml(){return this.$el.innerHTML="",this}generateButtons(){let{buttons:t}=this.opts;Array.isArray(t)||(t=[t]),t.forEach((t=>{let e=t;"string"==typeof t&&V[t]&&(e=V[t]);let i=this.createButton(e);e.onClick&&this.attachEventToButton(i,e.onClick),this.$el.appendChild(i)}))}attachEventToButton(t,e){t.addEventListener("click",(()=>{e(this.dp)}))}createButton(t){let{content:e,className:i,tagName:s="button",attrs:a={}}=t,h="function"==typeof e?e(this.dp):e;return r({tagName:s,innerHtml:"<span tabindex='-1'>".concat(h,"</span>"),className:d("air-datepicker-button",i),attrs:a})}render(){this.generateButtons()}}function F(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}class N{constructor(){let{opts:t,dp:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};F(this,"toggleTimepickerIsActive",(t=>{this.dp.timepickerIsActive=t})),F(this,"onChangeSelectedDate",(t=>{let{date:e,updateTime:i=!1}=t;e&&(this.setMinMaxTime(e),this.setCurrentTime(!!i&&e),this.addTimeToDate(e))})),F(this,"onChangeLastSelectedDate",(t=>{t&&(this.setTime(t),this.render())})),F(this,"onChangeInputRange",(t=>{let e=t.target;this[e.getAttribute("name")]=e.value,this.updateText(),this.dp.trigger(i.eventChangeTime,{hours:this.hours,minutes:this.minutes})})),F(this,"onMouseEnterLeave",(t=>{let e=t.target.getAttribute("name"),i=this.$minutesText;"hours"===e&&(i=this.$hoursText),i.classList.toggle("-focus-")})),F(this,"onFocus",(()=>{this.toggleTimepickerIsActive(!0)})),F(this,"onBlur",(()=>{this.toggleTimepickerIsActive(!1)})),this.opts=t,this.dp=e;let{timeFormat:s}=this.dp.locale;s&&(s.match(D("h"))||s.match(D("hh")))&&(this.ampm=!0),this.init()}init(){this.setTime(this.dp.lastSelectedDate||this.dp.viewDate),this.createElement(),this.buildHtml(),this.defineDOM(),this.render(),this.bindDatepickerEvents(),this.bindDOMEvents()}bindDatepickerEvents(){this.dp.on(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.on(i.eventChangeLastSelectedDate,this.onChangeLastSelectedDate)}bindDOMEvents(){let t="input";navigator.userAgent.match(/trident/gi)&&(t="change"),y(this.$ranges,t,this.onChangeInputRange),y(this.$ranges,"mouseenter",this.onMouseEnterLeave),y(this.$ranges,"mouseleave",this.onMouseEnterLeave),y(this.$ranges,"focus",this.onFocus),y(this.$ranges,"mousedown",this.onFocus),y(this.$ranges,"blur",this.onBlur)}createElement(){this.$el=r({className:d("air-datepicker-time",{"-am-pm-":this.dp.ampm})})}destroy(){this.dp.off(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.off(i.eventChangeLastSelectedDate,this.onChangeLastSelectedDate),this.$el.parentNode.removeChild(this.$el)}buildHtml(){let{ampm:t,hours:e,displayHours:i,minutes:s,minHours:a,minMinutes:r,maxHours:h,maxMinutes:n,dayPeriod:o,opts:{hoursStep:c,minutesStep:d}}=this;this.$el.innerHTML='<div class="air-datepicker-time--current">'+' <span class="air-datepicker-time--current-hours">'.concat(l(i),"</span>")+' <span class="air-datepicker-time--current-colon">:</span>'+' <span class="air-datepicker-time--current-minutes">'.concat(l(s),"</span>")+" ".concat(t?"<span class='air-datepicker-time--current-ampm'>".concat(o,"</span>"):"")+'</div><div class="air-datepicker-time--sliders"> <div class="air-datepicker-time--row">'+' <input type="range" name="hours" value="'.concat(e,'" min="').concat(a,'" max="').concat(h,'" step="').concat(c,'"/>')+' </div> <div class="air-datepicker-time--row">'+' <input type="range" name="minutes" value="'.concat(s,'" min="').concat(r,'" max="').concat(n,'" step="').concat(d,'"/>')+" </div></div>"}defineDOM(){let t=t=>a(t,this.$el);this.$ranges=this.$el.querySelectorAll('[type="range"]'),this.$hours=t('[name="hours"]'),this.$minutes=t('[name="minutes"]'),this.$hoursText=t(".air-datepicker-time--current-hours"),this.$minutesText=t(".air-datepicker-time--current-minutes"),this.$ampm=t(".air-datepicker-time--current-ampm")}setTime(t){this.setMinMaxTime(t),this.setCurrentTime(t)}addTimeToDate(t){t&&(t.setHours(this.hours),t.setMinutes(this.minutes))}setMinMaxTime(t){if(this.setMinMaxTimeFromOptions(),t){let{minDate:e,maxDate:i}=this.dp;e&&u(t,e)&&this.setMinTimeFromMinDate(e),i&&u(t,i)&&this.setMaxTimeFromMaxDate(i)}}setCurrentTime(t){let{hours:e,minutes:i}=t?o(t):this;this.hours=g(e,this.minHours,this.maxHours),this.minutes=g(i,this.minMinutes,this.maxMinutes)}setMinMaxTimeFromOptions(){let{minHours:t,minMinutes:e,maxHours:i,maxMinutes:s}=this.opts;this.minHours=g(t,0,23),this.minMinutes=g(e,0,59),this.maxHours=g(i,0,23),this.maxMinutes=g(s,0,59)}setMinTimeFromMinDate(t){let{lastSelectedDate:e}=this.dp;this.minHours=t.getHours(),e&&e.getHours()>t.getHours()?this.minMinutes=this.opts.minMinutes:this.minMinutes=t.getMinutes()}setMaxTimeFromMaxDate(t){let{lastSelectedDate:e}=this.dp;this.maxHours=t.getHours(),e&&e.getHours()<t.getHours()?this.maxMinutes=this.opts.maxMinutes:this.maxMinutes=t.getMinutes()}getDayPeriod(t,e){let i=t,s=Number(t);t instanceof Date&&(i=o(t),s=Number(i.hours));let a="am";if(e||this.ampm){switch(!0){case 12===s:case s>11:a="pm"}s=s%12==0?12:s%12}return{hours:s,dayPeriod:a}}updateSliders(){h(this.$hours,{min:this.minHours,max:this.maxHours}).value=this.hours,h(this.$minutes,{min:this.minMinutes,max:this.maxMinutes}).value=this.minutes}updateText(){this.$hoursText.innerHTML=l(this.displayHours),this.$minutesText.innerHTML=l(this.minutes),this.ampm&&(this.$ampm.innerHTML=this.dayPeriod)}set hours(t){this._hours=t;let{hours:e,dayPeriod:i}=this.getDayPeriod(t);this.displayHours=e,this.dayPeriod=i}get hours(){return this._hours}render(){this.updateSliders(),this.updateText()}}function j(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}class E{constructor(t){let{dp:e,opts:i}=t;j(this,"pressedKeys",new Set),j(this,"hotKeys",new Map([[[["Control","ArrowRight"],["Control","ArrowUp"]],t=>t.month++],[[["Control","ArrowLeft"],["Control","ArrowDown"]],t=>t.month--],[[["Shift","ArrowRight"],["Shift","ArrowUp"]],t=>t.year++],[[["Shift","ArrowLeft"],["Shift","ArrowDown"]],t=>t.year--],[[["Alt","ArrowRight"],["Alt","ArrowUp"]],t=>t.year+=10],[[["Alt","ArrowLeft"],["Alt","ArrowDown"]],t=>t.year-=10],[["Control","Shift","ArrowUp"],(t,e)=>e.up()]])),j(this,"handleHotKey",(t=>{let e=this.hotKeys.get(t),i=o(this.getInitialFocusDate());e(i,this.dp);let{year:s,month:a,date:r}=i,h=n(new Date(s,a));h<r&&(r=h);let l=this.dp.getClampedDate(new Date(s,a,r));this.dp.setFocusDate(l,{viewDateTransition:!0})})),j(this,"isHotKeyPressed",(()=>{let t=!1,e=this.pressedKeys.size,i=t=>this.pressedKeys.has(t);for(let[s]of this.hotKeys){if(t)break;if(Array.isArray(s[0]))s.forEach((a=>{t||e!==a.length||(t=a.every(i)&&s)}));else{if(e!==s.length)continue;t=s.every(i)&&s}}return t})),j(this,"isArrow",(t=>t>=37&&t<=40)),j(this,"onKeyDown",(t=>{let{key:e,which:i}=t,{dp:s,dp:{focusDate:a},opts:r}=this;this.registerKey(e);let h=this.isHotKeyPressed();if(h)return t.preventDefault(),void this.handleHotKey(h);if(this.isArrow(i))return t.preventDefault(),void this.focusNextCell(e);if("Enter"===e){if(s.currentView!==r.minView)return void s.down();if(a){let t=s._checkIfDateIsSelected(a);return void(t?s._handleAlreadySelectedDates(t,a):s.selectDate(a))}}"Escape"===e&&this.dp.hide()})),j(this,"onKeyUp",(t=>{this.removeKey(t.key)})),this.dp=e,this.opts=i,this.init()}init(){this.bindKeyboardEvents()}bindKeyboardEvents(){let{$el:t}=this.dp;t.addEventListener("keydown",this.onKeyDown),t.addEventListener("keyup",this.onKeyUp)}destroy(){let{$el:t}=this.dp;t.removeEventListener("keydown",this.onKeyDown),t.removeEventListener("keyup",this.onKeyUp),this.hotKeys=null,this.pressedKeys=null}getInitialFocusDate(){let{focusDate:t,currentView:e,selectedDates:s,parsedViewDate:{year:a,month:r}}=this.dp,h=t||s[s.length-1];if(!h)switch(e){case i.days:h=new Date(a,r,(new Date).getDate());break;case i.months:h=new Date(a,r,1);break;case i.years:h=new Date(a,0,1)}return h}focusNextCell(t){let e=this.getInitialFocusDate(),{currentView:s}=this.dp,{days:a,months:r,years:h}=i,n=o(e),l=n.year,c=n.month,d=n.date;switch(t){case"ArrowLeft":s===a&&(d-=1),s===r&&(c-=1),s===h&&(l-=1);break;case"ArrowUp":s===a&&(d-=7),s===r&&(c-=3),s===h&&(l-=4);break;case"ArrowRight":s===a&&(d+=1),s===r&&(c+=1),s===h&&(l+=1);break;case"ArrowDown":s===a&&(d+=7),s===r&&(c+=3),s===h&&(l+=4)}let u=this.dp.getClampedDate(new Date(l,c,d));this.dp.setFocusDate(u,{viewDateTransition:!0})}registerKey(t){this.pressedKeys.add(t)}removeKey(t){this.pressedKeys.delete(t)}}let z={on(t,e){this.__events||(this.__events={}),this.__events[t]?this.__events[t].push(e):this.__events[t]=[e]},off(t,e){this.__events&&this.__events[t]&&(this.__events[t]=this.__events[t].filter((t=>t!==e)))},removeAllEvents(){this.__events={}},trigger(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),s=1;s<e;s++)i[s-1]=arguments[s];this.__events&&this.__events[t]&&this.__events[t].forEach((t=>{t(...i)}))}};function B(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}let P="",I="",R="",Y=!1;class ${constructor(t,e){var h=this;if(B(this,"viewIndexes",[i.days,i.months,i.years]),B(this,"next",(()=>{let{year:t,month:e}=this.parsedViewDate;switch(this.currentView){case i.days:this.setViewDate(new Date(t,e+1,1));break;case i.months:this.setViewDate(new Date(t+1,e,1));break;case i.years:this.setViewDate(new Date(t+10,0,1))}})),B(this,"prev",(()=>{let{year:t,month:e}=this.parsedViewDate;switch(this.currentView){case i.days:this.setViewDate(new Date(t,e-1,1));break;case i.months:this.setViewDate(new Date(t-1,e,1));break;case i.years:this.setViewDate(new Date(t-10,0,1))}})),B(this,"_finishHide",(()=>{this.hideAnimation=!1,this._destroyComponents(),this.$container.removeChild(this.$datepicker)})),B(this,"setPosition",(function(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if("function"==typeof(t=t||h.opts.position))return void(h.customHide=t({$datepicker:h.$datepicker,$target:h.$el,$pointer:h.$pointer,isViewChange:e,done:h._finishHide}));let i,s,{isMobile:a}=h.opts,r=h.$el.getBoundingClientRect(),n=h.$el.getBoundingClientRect(),o=h.$datepicker.offsetParent,l=h.$el.offsetParent,c=h.$datepicker.getBoundingClientRect(),d=t.split(" "),u=window.scrollY,p=window.scrollX,m=h.opts.offset,f=d[0],v=d[1];if(a)h.$datepicker.style.cssText="left: 50%; top: 50%";else{if(o===l&&o!==document.body&&(n={top:h.$el.offsetTop,left:h.$el.offsetLeft,width:r.width,height:h.$el.offsetHeight},u=0,p=0),o!==l&&o!==document.body){let t=o.getBoundingClientRect();n={top:r.top-t.top,left:r.left-t.left,width:r.width,height:r.height},u=0,p=0}switch(f){case"top":i=n.top-c.height-m;break;case"right":s=n.left+n.width+m;break;case"bottom":i=n.top+n.height+m;break;case"left":s=n.left-c.width-m}switch(v){case"top":i=n.top;break;case"right":s=n.left+n.width-c.width;break;case"bottom":i=n.top+n.height-c.height;break;case"left":s=n.left;break;case"center":/left|right/.test(f)?i=n.top+n.height/2-c.height/2:s=n.left+n.width/2-c.width/2}h.$datepicker.style.cssText="left: ".concat(s+p,"px; top: ").concat(i+u,"px")}})),B(this,"_setInputValue",(()=>{let{opts:t,$altField:e,locale:{dateFormat:i}}=this,{altFieldDateFormat:s,altField:a}=t;a&&e&&(e.value=this._getInputValue(s)),this.$el.value=this._getInputValue(i)})),B(this,"_getInputValue",(t=>{let{selectedDates:e,opts:i}=this,{multipleDates:s,multipleDatesSeparator:a}=i;if(!e.length)return"";let r="function"==typeof t,h=r?t(s?e:e[0]):e.map((e=>this.formatDate(e,t)));return h=r?h:h.join(a),h})),B(this,"_checkIfDateIsSelected",(function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.days,s=!1;return h.selectedDates.some((i=>{let a=u(t,i,e);return s=a&&i,a})),s})),B(this,"_scheduleCallAfterTransition",(t=>{this._cancelScheduledCall(),t&&t(!1),this._onTransitionEnd=()=>{t&&t(!0)},this.$datepicker.addEventListener("transitionend",this._onTransitionEnd,{once:!0})})),B(this,"_cancelScheduledCall",(()=>{this.$datepicker.removeEventListener("transitionend",this._onTransitionEnd)})),B(this,"setViewDate",(t=>{if(!((t=k(t))instanceof Date))return;if(u(t,this.viewDate))return;let e=this.viewDate;this.viewDate=t;let{onChangeViewDate:s}=this.opts;if(s){let{month:t,year:e}=this.parsedViewDate;s({month:t,year:e,decade:this.curDecade})}this.trigger(i.eventChangeViewDate,t,e)})),B(this,"setFocusDate",(function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(!t||(t=k(t))instanceof Date)&&(h.focusDate=t,h.opts.range&&t&&h._handleRangeOnFocus(),h.trigger(i.eventChangeFocusDate,t,e))})),B(this,"setCurrentView",(t=>{if(this.viewIndexes.includes(t)){if(this.currentView=t,this.elIsInput&&this.visible&&this.setPosition(void 0,!0),this.trigger(i.eventChangeCurrentView,t),!this.views[t]){let e=this.views[t]=new T({dp:this,opts:this.opts,type:t});this.shouldUpdateDOM&&this.$content.appendChild(e.$el)}this.opts.onChangeView&&this.opts.onChangeView(t)}})),B(this,"_updateLastSelectedDate",(t=>{this.lastSelectedDate=t,this.trigger(i.eventChangeLastSelectedDate,t)})),B(this,"destroy",(()=>{let{showEvent:t,isMobile:e}=this.opts,i=this.$datepicker.parentNode;i&&i.removeChild(this.$datepicker),this.$el.removeEventListener(t,this._onFocus),this.$el.removeEventListener("blur",this._onBlur),window.removeEventListener("resize",this._onResize),e&&this._removeMobileAttributes(),this.keyboardNav&&this.keyboardNav.destroy(),this.views=null,this.nav=null,this.$datepicker=null,this.opts=null,this.$customContainer=null,this.viewDate=null,this.focusDate=null,this.selectedDates=null,this.rangeDateFrom=null,this.rangeDateTo=null})),B(this,"update",(t=>{let e=w({},this.opts);w(this.opts,t);let{timepicker:s,buttons:a,range:r,selectedDates:h,isMobile:n}=this.opts,o=this.visible||this.treatAsInline;this._createMinMaxDates(),this._limitViewDateByMaxMinDates(),this._handleLocale(),!e.selectedDates&&h&&this.selectDate(h),t.view&&this.setCurrentView(t.view),this._setInputValue(),e.range&&!r?(this.rangeDateTo=!1,this.rangeDateFrom=!1):!e.range&&r&&this.selectedDates.length&&(this.rangeDateFrom=this.selectedDates[0],this.rangeDateTo=this.selectedDates[1]),e.timepicker&&!s?(o&&this.timepicker.destroy(),this.timepicker=!1,this.$timepicker.parentNode.removeChild(this.$timepicker)):!e.timepicker&&s&&this._addTimepicker(),!e.buttons&&a?this._addButtons():e.buttons&&!a?(this.buttons.destroy(),this.$buttons.parentNode.removeChild(this.$buttons)):o&&e.buttons&&a&&this.buttons.clearHtml().render(),!e.isMobile&&n?(this.treatAsInline||R||this._createMobileOverlay(),this._addMobileAttributes(),this.visible&&this._showMobileOverlay()):e.isMobile&&!n&&(this._removeMobileAttributes(),this.visible&&(R.classList.remove("-active-"),"function"!=typeof this.opts.position&&this.setPosition())),o&&(this.nav.update(),this.views[this.currentView].render(),this.currentView===i.days&&this.views[this.currentView].renderDayNames())})),B(this,"isOtherMonth",(t=>{let{month:e}=o(t);return e!==this.parsedViewDate.month})),B(this,"isOtherYear",(t=>{let{year:e}=o(t);return e!==this.parsedViewDate.year})),B(this,"isOtherDecade",(t=>{let{year:e}=o(t),[i,s]=c(this.viewDate);return e<i||e>s})),B(this,"_onChangeSelectedDate",(t=>{let{silent:e}=t;setTimeout((()=>{this._setInputValue(),this.opts.onSelect&&!e&&this._triggerOnSelect()}))})),B(this,"_onChangeFocusedDate",(function(t){let{viewDateTransition:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!t)return;let i=!1;e&&(i=h.isOtherMonth(t)||h.isOtherYear(t)||h.isOtherDecade(t)),i&&h.setViewDate(t)})),B(this,"_onChangeTime",(t=>{let{hours:e,minutes:i}=t,s=new Date,{lastSelectedDate:a,opts:{onSelect:r}}=this,h=a;a||(h=s);let n=this.getCell(h,this.currentViewSingular),o=n&&n.adpCell;o&&o.isDisabled||(h.setHours(e),h.setMinutes(i),a?(this._setInputValue(),r&&this._triggerOnSelect()):this.selectDate(h))})),B(this,"_onFocus",(t=>{this.visible||this.show()})),B(this,"_onBlur",(t=>{this.inFocus||!this.visible||this.opts.isMobile||this.hide()})),B(this,"_onMouseDown",(t=>{this.inFocus=!0})),B(this,"_onMouseUp",(t=>{this.inFocus=!1,this.$el.focus()})),B(this,"_onResize",(()=>{this.visible&&"function"!=typeof this.opts.position&&this.setPosition()})),B(this,"_onClickOverlay",(()=>{this.visible&&this.hide()})),B(this,"isWeekend",(t=>this.opts.weekends.includes(t))),B(this,"getClampedDate",(t=>{let{minDate:e,maxDate:i}=this,s=t;return i&&p(t,i)?s=i:e&&m(t,e)&&(s=e),s})),this.$el=a(t),!this.$el)return;this.$datepicker=r({className:"air-datepicker"}),this.opts=w({},s,e),this.$customContainer=!!this.opts.container&&a(this.opts.container),this.$altField=a(this.opts.altField||!1),P||(P=a("body"));let{view:n,startDate:l}=this.opts;l||(this.opts.startDate=new Date),"INPUT"===this.$el.nodeName&&(this.elIsInput=!0),this.inited=!1,this.visible=!1,this.viewDate=k(this.opts.startDate),this.focusDate=!1,this.initialReadonly=this.$el.getAttribute("readonly"),this.customHide=!1,this.currentView=n,this.selectedDates=[],this.views={},this.keys=[],this.rangeDateFrom="",this.rangeDateTo="",this.timepickerIsActive=!1,this.treatAsInline=this.opts.inline||!this.elIsInput,this.init()}init(){let{opts:t,treatAsInline:e,opts:{inline:i,isMobile:s,selectedDates:a,keyboardNav:h,onlyTimepicker:n}}=this;var o;Y||i||!this.elIsInput||(Y=!0,I=r({className:o=$.defaultContainerId,id:o}),P.appendChild(I)),!s||R||e||this._createMobileOverlay(),this._handleLocale(),this._bindSubEvents(),this._createMinMaxDates(),this._limitViewDateByMaxMinDates(),this.elIsInput&&(i||this._bindEvents(),h&&!n&&(this.keyboardNav=new E({dp:this,opts:t}))),a&&this.selectDate(a,{silent:!0}),this.opts.visible&&!e&&this.show(),s&&!e&&this.$el.setAttribute("readonly",!0),e&&this._createComponents()}_createMobileOverlay(){R=r({className:"air-datepicker-overlay"}),I.appendChild(R)}_createComponents(){let{opts:t,treatAsInline:e,opts:{inline:i,buttons:s,timepicker:a,position:r,classes:h,onlyTimepicker:n,isMobile:o}}=this;this._buildBaseHtml(),this.elIsInput&&(i||this._setPositionClasses(r)),!i&&this.elIsInput||this.$datepicker.classList.add("-inline-"),h&&this.$datepicker.classList.add(...h.split(" ")),n&&this.$datepicker.classList.add("-only-timepicker-"),o&&!e&&this._addMobileAttributes(),this.views[this.currentView]=new T({dp:this,type:this.currentView,opts:t}),this.nav=new H({dp:this,opts:t}),a&&this._addTimepicker(),s&&this._addButtons(),this.$content.appendChild(this.views[this.currentView].$el),this.$nav.appendChild(this.nav.$el)}_destroyComponents(){for(let t in this.views)this.views[t].destroy();this.views={},this.nav.destroy(),this.timepicker&&this.timepicker.destroy()}_addMobileAttributes(){R.addEventListener("click",this._onClickOverlay),this.$datepicker.classList.add("-is-mobile-"),this.$el.setAttribute("readonly",!0)}_removeMobileAttributes(){R.removeEventListener("click",this._onClickOverlay),this.$datepicker.classList.remove("-is-mobile-"),this.initialReadonly||""===this.initialReadonly||this.$el.removeAttribute("readonly")}_createMinMaxDates(){let{minDate:t,maxDate:e}=this.opts;this.minDate=!!t&&k(t),this.maxDate=!!e&&k(e)}_addTimepicker(){this.$timepicker=r({className:"air-datepicker--time"}),this.$datepicker.appendChild(this.$timepicker),this.timepicker=new N({dp:this,opts:this.opts}),this.$timepicker.appendChild(this.timepicker.$el)}_addButtons(){this.$buttons=r({className:"air-datepicker--buttons"}),this.$datepicker.appendChild(this.$buttons),this.buttons=new A({dp:this,opts:this.opts}),this.$buttons.appendChild(this.buttons.$el)}_bindSubEvents(){this.on(i.eventChangeSelectedDate,this._onChangeSelectedDate),this.on(i.eventChangeFocusDate,this._onChangeFocusedDate),this.on(i.eventChangeTime,this._onChangeTime)}_buildBaseHtml(){let{inline:t}=this.opts;var e,i;this.elIsInput?t?(e=this.$datepicker,(i=this.$el).parentNode.insertBefore(e,i.nextSibling)):this.$container.appendChild(this.$datepicker):this.$el.appendChild(this.$datepicker),this.$datepicker.innerHTML='<i class="air-datepicker--pointer"></i><div class="air-datepicker--navigation"></div><div class="air-datepicker--content"></div>',this.$content=a(".air-datepicker--content",this.$datepicker),this.$pointer=a(".air-datepicker--pointer",this.$datepicker),this.$nav=a(".air-datepicker--navigation",this.$datepicker)}_handleLocale(){let{locale:t,dateFormat:e,firstDay:i,timepicker:s,onlyTimepicker:a,timeFormat:r,dateTimeSeparator:h}=this.opts;var n;this.locale=(n=t,JSON.parse(JSON.stringify(n))),e&&(this.locale.dateFormat=e),void 0!==r&&""!==r&&(this.locale.timeFormat=r);let{timeFormat:o}=this.locale;if(""!==i&&(this.locale.firstDay=i),s&&"function"!=typeof e){let t=o?h:"";this.locale.dateFormat=[this.locale.dateFormat,o||""].join(t)}a&&"function"!=typeof e&&(this.locale.dateFormat=this.locale.timeFormat)}_setPositionClasses(t){if("function"==typeof t)return void this.$datepicker.classList.add("-custom-position-");let e=(t=t.split(" "))[0],i=t[1],s="air-datepicker -".concat(e,"-").concat(i,"- -from-").concat(e,"-");this.$datepicker.classList.add(...s.split(" "))}_bindEvents(){this.$el.addEventListener(this.opts.showEvent,this._onFocus),this.$el.addEventListener("blur",this._onBlur),this.$datepicker.addEventListener("mousedown",this._onMouseDown),this.$datepicker.addEventListener("mouseup",this._onMouseUp),window.addEventListener("resize",this._onResize)}_limitViewDateByMaxMinDates(){let{viewDate:t,minDate:e,maxDate:i}=this;i&&p(t,i)&&this.setViewDate(i),e&&m(t,e)&&this.setViewDate(e)}formatDate(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.viewDate,e=arguments.length>1?arguments[1]:void 0;if(t=k(t),!(t instanceof Date))return;let i=e,s=this.locale,a=o(t),r=c(t),h=$.replacer,n="am";this.opts.timepicker&&this.timepicker&&(n=this.timepicker.getDayPeriod(t).dayPeriod);let l={T:t.getTime(),m:a.minutes,mm:a.fullMinutes,h:a.hours12,hh:a.fullHours12,H:a.hours,HH:a.fullHours,aa:n,AA:n.toUpperCase(),E:s.daysShort[a.day],EEEE:s.days[a.day],d:a.date,dd:a.fullDate,M:a.month+1,MM:a.fullMonth,MMM:s.monthsShort[a.month],MMMM:s.months[a.month],yy:a.year.toString().slice(-2),yyyy:a.year,yyyy1:r[0],yyyy2:r[1]};for(let[t,e]of Object.entries(l))i=h(i,D(t),e);return i}down(t){this._handleUpDownActions(t,"down")}up(t){this._handleUpDownActions(t,"up")}selectDate(t){let e,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{currentView:a,parsedViewDate:r,selectedDates:h}=this,{updateTime:n}=s,{moveToOtherMonthsOnSelect:o,moveToOtherYearsOnSelect:l,multipleDates:c,range:d,autoClose:u}=this.opts,m=h.length;if(Array.isArray(t))return t.forEach((t=>{this.selectDate(t,s)})),new Promise((t=>{setTimeout(t)}));if((t=k(t))instanceof Date){if(a===i.days&&t.getMonth()!==r.month&&o&&(e=new Date(t.getFullYear(),t.getMonth(),1)),a===i.years&&t.getFullYear()!==r.year&&l&&(e=new Date(t.getFullYear(),0,1)),e&&this.setViewDate(e),c&&!d){if(m===c)return;this._checkIfDateIsSelected(t)||h.push(t)}else if(d)switch(m){case 1:h.push(t),this.rangeDateTo||(this.rangeDateTo=t),p(this.rangeDateFrom,this.rangeDateTo)&&(this.rangeDateTo=this.rangeDateFrom,this.rangeDateFrom=t),this.selectedDates=[this.rangeDateFrom,this.rangeDateTo];break;case 2:this.selectedDates=[t],this.rangeDateFrom=t,this.rangeDateTo="";break;default:this.selectedDates=[t],this.rangeDateFrom=t}else this.selectedDates=[t];return this.trigger(i.eventChangeSelectedDate,{action:i.actionSelectDate,silent:null==s?void 0:s.silent,date:t,updateTime:n}),this._updateLastSelectedDate(t),u&&!this.timepickerIsActive&&this.visible&&(c||d?d&&1===m&&this.hide():this.hide()),new Promise((t=>{setTimeout(t)}))}}unselectDate(t){let e=this.selectedDates,s=this;if((t=k(t))instanceof Date)return e.some(((a,r)=>{if(u(a,t))return e.splice(r,1),s.selectedDates.length?s._updateLastSelectedDate(s.selectedDates[s.selectedDates.length-1]):(s.rangeDateFrom="",s.rangeDateTo="",s._updateLastSelectedDate(!1)),this.trigger(i.eventChangeSelectedDate,{action:i.actionUnselectDate,date:t}),!0}))}replaceDate(t,e){let s=this.selectedDates.find((e=>u(e,t,this.currentView))),a=this.selectedDates.indexOf(s);a<0||u(this.selectedDates[a],e,this.currentView)||(this.selectedDates[a]=e,this.trigger(i.eventChangeSelectedDate,{action:i.actionSelectDate,date:e,updateTime:!0}),this._updateLastSelectedDate(e))}clear(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.selectedDates=[],this.rangeDateFrom=!1,this.rangeDateTo=!1,this.trigger(i.eventChangeSelectedDate,{action:i.actionUnselectDate,silent:t.silent}),new Promise((t=>{setTimeout(t)}))}show(){let{onShow:t,isMobile:e}=this.opts;this._cancelScheduledCall(),this.visible||this.hideAnimation||this._createComponents(),this.setPosition(this.opts.position),this.$datepicker.classList.add("-active-"),this.visible=!0,t&&this._scheduleCallAfterTransition(t),e&&this._showMobileOverlay()}hide(){let{onHide:t,isMobile:e}=this.opts,i=this._hasTransition();this.visible=!1,this.hideAnimation=!0,this.$datepicker.classList.remove("-active-"),this.customHide&&this.customHide(),this.elIsInput&&this.$el.blur(),this._scheduleCallAfterTransition((e=>{!this.customHide&&(e&&i||!e&&!i)&&this._finishHide(),t&&t(e)})),e&&R.classList.remove("-active-")}_triggerOnSelect(){let t=[],e=[],{selectedDates:i,locale:s,opts:{onSelect:a,multipleDates:r,range:h}}=this,n=r||h,o="function"==typeof s.dateFormat;i.length&&(t=i.map(f),e=o?r?s.dateFormat(t):t.map((t=>s.dateFormat(t))):t.map((t=>this.formatDate(t,s.dateFormat)))),a({date:n?t:t[0],formattedDate:n?e:e[0],datepicker:this})}_handleAlreadySelectedDates(t,e){let{range:i,toggleSelected:s}=this.opts;i?s?this.unselectDate(e):2!==this.selectedDates.length&&this.selectDate(e):s&&this.unselectDate(e),s||this._updateLastSelectedDate(t)}_handleUpDownActions(t,e){if(!((t=k(t||this.focusDate||this.viewDate))instanceof Date))return;let i="up"===e?this.viewIndex+1:this.viewIndex-1;i>2&&(i=2),i<0&&(i=0),this.setViewDate(new Date(t.getFullYear(),t.getMonth(),1)),this.setCurrentView(this.viewIndexes[i])}_handleRangeOnFocus(){1===this.selectedDates.length&&(p(this.selectedDates[0],this.focusDate)?(this.rangeDateTo=this.selectedDates[0],this.rangeDateFrom=this.focusDate):(this.rangeDateTo=this.focusDate,this.rangeDateFrom=this.selectedDates[0]))}getCell(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.day;if(!((t=k(t))instanceof Date))return;let{year:s,month:a,date:r}=o(t),h='[data-year="'.concat(s,'"]'),n='[data-month="'.concat(a,'"]'),l='[data-date="'.concat(r,'"]'),c={[i.day]:"".concat(h).concat(n).concat(l),[i.month]:"".concat(h).concat(n),[i.year]:"".concat(h)};return this.views[this.currentView].$el.querySelector(c[e])}_showMobileOverlay(){R.classList.add("-active-")}_hasTransition(){return window.getComputedStyle(this.$datepicker).getPropertyValue("transition-duration").split(", ").reduce(((t,e)=>parseFloat(e)+t),0)>0}get shouldUpdateDOM(){return this.visible||this.treatAsInline}get parsedViewDate(){return o(this.viewDate)}get currentViewSingular(){return this.currentView.slice(0,-1)}get curDecade(){return c(this.viewDate)}get viewIndex(){return this.viewIndexes.indexOf(this.currentView)}get isFinalView(){return this.currentView===i.years}get hasSelectedDates(){return this.selectedDates.length>0}get isMinViewReached(){return this.currentView===this.opts.minView||this.currentView===i.days}get $container(){return this.$customContainer||I}static replacer(t,e,i){return t.replace(e,(function(t,e,s,a){return e+i+a}))}}var U;return B($,"defaults",s),B($,"version","3.3.0"),B($,"defaultContainerId","air-datepicker-global-container"),U=$.prototype,Object.assign(U,z),e.default}()}))}));var g=h((function(t,e){Object.defineProperty(e,"__esModule",{value:true});e.default=void 0;var i={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear",dateFormat:"MM/dd/yyyy",timeFormat:"hh:mm aa",firstDay:0};e.default=i}));const w=o(g);const k=':host{display:block}:host *{box-sizing:border-box}.date-picker{padding:var(--s-space-8) var(--s-space-16);background-color:var(--s-surface-overlay-default);font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm);letter-spacing:var(--s-letter-spacing-tighter)}@media (min-width: 768px){.date-picker{max-width:17.5rem}}.air-datepicker--pointer{display:none}.air-datepicker-nav{display:flex;margin-bottom:var(--s-space-8);align-items:center;gap:var(--s-space-4)}.air-datepicker-nav--action{position:relative;display:inline-flex;width:2.5rem;height:2.5rem;justify-content:center;align-items:center;border-radius:50%;color:var(--s-icon-highlight);cursor:pointer;order:2}.air-datepicker-nav--action:hover{background-color:var(--s-surface-overlay-hovered)}.air-datepicker-nav--title{padding:var(--s-space-8);flex-grow:1;border-radius:var(--s-border-radius-s);font-size:var(--s-font-size-base);font-weight:var(--s-font-weight-medium);line-height:var(--s-line-height-base);text-align:left;cursor:pointer;order:0}.air-datepicker-nav--title i{font-style:normal}.air-datepicker-body--day-names{display:flex;margin-bottom:var(--s-space-8);justify-content:space-between;align-items:center}.air-datepicker-body--day-name{display:inline-flex;flex-basis:calc(100 / 7 * 1%);justify-content:center;align-items:center;color:var(--s-text-subdued);aspect-ratio:1}.air-datepicker-body--cells{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:space-between}.air-datepicker-body--cells.-months-{gap:var(--s-space-2)}.air-datepicker-cell{position:relative;display:inline-flex;flex-basis:calc(100 / 7 * 1%);justify-content:center;align-items:center;font-weight:var(--s-font-weight-medium);cursor:pointer;aspect-ratio:1}.air-datepicker-cell:not(.-month-):not(.-year-):not(.-in-range-):hover:before{position:absolute;z-index:-1;border-radius:50%;background-color:var(--s-surface-overlay-hovered);content:"";inset:0}.air-datepicker-cell.-month-,.air-datepicker-cell.-year-{height:2.5rem;flex-basis:calc(100 / 3 * 1% - var(--s-space-2) * 2);border-radius:var(--s-border-radius-s);aspect-ratio:auto}.air-datepicker-cell.-month-.-in-range-:before,.air-datepicker-cell.-year-.-in-range-:before{border-radius:var(--s-border-radius-s)}.air-datepicker-cell.-month-:hover:not(.-in-range-):not(.-selected-),.air-datepicker-cell.-year-:hover:not(.-in-range-):not(.-selected-){background-color:var(--s-surface-overlay-hovered)}.air-datepicker-cell.-other-month-{color:var(--s-text-subdued)}.air-datepicker-cell.-current-:not(.-month-):not(.-year-):after{position:absolute;z-index:-1;border:var(--s-border-width-default) solid var(--s-border-highlight);border-radius:50%;content:"";inset:0}.air-datepicker-cell.-selected-{color:var(--s-text-on-surface-highlight)}.air-datepicker-cell.-selected-.-year-,.air-datepicker-cell.-selected-.-month-{background-color:var(--s-surface-highlight-default)}.air-datepicker-cell.-selected-:not(.-month-):not(.-year-):not(.-in-range-):before{position:absolute;z-index:-1;border-radius:50%;background-color:var(--s-surface-highlight-default);content:"";inset:0}.air-datepicker-cell.-disabled-{color:var(--s-text-subdued);cursor:default}.air-datepicker-cell.-disabled-:hover{background-color:transparent}.air-datepicker-cell.-in-range-:before{position:absolute;z-index:-1;top:0.0625rem;right:0;bottom:0.0625rem;left:0;border-radius:0;background-color:var(--s-surface-highlight-default);content:"";opacity:0.2}.air-datepicker-cell.-range-from-:not(.-month-):not(.-year-):not(.-range-to-):hover{color:var(--s-text-on-surface-highlight)}.air-datepicker-cell.-range-from-:not(.-month-):not(.-year-):not(.-range-to-):before{position:absolute;z-index:-1;border-radius:50%;background-color:var(--s-surface-highlight-default);content:"";inset:0}.air-datepicker-cell.-range-from-:not(.-month-):not(.-year-):not(.-range-to-):after{position:absolute;z-index:-1;top:0.0625rem;right:0;bottom:0.0625rem;left:50%;border-radius:0;background-color:var(--s-surface-highlight-default);content:"";opacity:0.2}.air-datepicker-cell.-range-to-:not(.-month-):not(.-year-):not(.-range-from-):hover{color:var(--s-text-on-surface-highlight)}.air-datepicker-cell.-range-to-:not(.-month-):not(.-year-):not(.-range-from-):before{position:absolute;z-index:-1;border-radius:50%;background-color:var(--s-surface-highlight-default);content:"";inset:0}.air-datepicker-cell.-range-to-:not(.-month-):not(.-year-):not(.-range-from-):after{position:absolute;z-index:-1;top:0.0625rem;right:50%;bottom:0.0625rem;left:0;border-radius:0;background-color:var(--s-surface-highlight-default);content:"";opacity:0.2}.-hidden-{display:none}';const D=class{constructor(i){t(this,i);this.valueChange=e(this,"valueChange",3);this.locale=w;this.onClick=t=>{t.stopPropagation();t.preventDefault()}}watchProps(){this.init()}componentDidLoad(){this.init()}disconnectedCallback(){var t;(t=this.picker)===null||t===void 0?void 0:t.destroy()}init(){var t;(t=this.picker)===null||t===void 0?void 0:t.destroy();this.picker=new b(this.containerEl,{classes:"date-picker",inline:true,locale:this.locale,maxDate:this.maxDate,minDate:this.minDate,minView:"days",nextHtml:"<flip-icon-chevron-right></flip-icon-chevron-right>",onSelect:({date:t})=>{this.valueChange.emit(t)},prevHtml:"<flip-icon-chevron-left></flip-icon-chevron-left>",range:this.range,selectedDates:this.value===undefined?undefined:Array.isArray(this.value)?this.value:[this.value],startDate:this.startDate,toggleSelected:!this.range,view:"days"})}render(){return i(s,{onClick:this.onClick},i("div",{ref:t=>this.containerEl=t}))}static get watchers(){return{locale:["watchProps"],maxDate:["watchProps"],minDate:["watchProps"],range:["watchProps"],startDate:["watchProps"],value:["watchProps"]}}};D.style=k;const C=":host{display:inline-flex}";const _=class{constructor(e){t(this,e);this.size=24}render(){return i("svg",{class:"flip-icon",fill:"none",height:this.size,part:"icon",viewBox:`0 0 ${this.size} ${this.size}`,width:this.size,xmlns:"http://www.w3.org/2000/svg"},this.size===16&&i(a,null,i("path",{d:"M6 11C5.53333 11 5.13889 10.8389 4.81667 10.5167C4.49444 10.1945 4.33333 9.80004 4.33333 9.33337C4.33333 8.86671 4.49444 8.47226 4.81667 8.15004C5.13889 7.82782 5.53333 7.66671 6 7.66671C6.46667 7.66671 6.86111 7.82782 7.18333 8.15004C7.50556 8.47226 7.66667 8.86671 7.66667 9.33337C7.66667 9.80004 7.50556 10.1945 7.18333 10.5167C6.86111 10.8389 6.46667 11 6 11ZM3.33333 14.6667C2.96667 14.6667 2.65267 14.5363 2.39133 14.2754C2.13044 14.014 2 13.7 2 13.3334V4.00004C2 3.63337 2.13044 3.3196 2.39133 3.05871C2.65267 2.79737 2.96667 2.66671 3.33333 2.66671H4V2.00004C4 1.81115 4.06378 1.65271 4.19133 1.52471C4.31933 1.39715 4.47778 1.33337 4.66667 1.33337C4.85556 1.33337 5.014 1.39715 5.142 1.52471C5.26956 1.65271 5.33333 1.81115 5.33333 2.00004V2.66671H10.6667V2.00004C10.6667 1.81115 10.7307 1.65271 10.8587 1.52471C10.9862 1.39715 11.1444 1.33337 11.3333 1.33337C11.5222 1.33337 11.6804 1.39715 11.808 1.52471C11.936 1.65271 12 1.81115 12 2.00004V2.66671H12.6667C13.0333 2.66671 13.3473 2.79737 13.6087 3.05871C13.8696 3.3196 14 3.63337 14 4.00004V13.3334C14 13.7 13.8696 14.014 13.6087 14.2754C13.3473 14.5363 13.0333 14.6667 12.6667 14.6667H3.33333ZM3.33333 13.3334H12.6667V6.66671H3.33333V13.3334Z",fill:"currentColor"})),this.size===24&&i(a,null,i("path",{d:"M9 16.5C8.3 16.5 7.70833 16.2583 7.225 15.775C6.74167 15.2917 6.5 14.7 6.5 14C6.5 13.3 6.74167 12.7083 7.225 12.225C7.70833 11.7417 8.3 11.5 9 11.5C9.7 11.5 10.2917 11.7417 10.775 12.225C11.2583 12.7083 11.5 13.3 11.5 14C11.5 14.7 11.2583 15.2917 10.775 15.775C10.2917 16.2583 9.7 16.5 9 16.5ZM5 22C4.45 22 3.979 21.8043 3.587 21.413C3.19567 21.021 3 20.55 3 20V6C3 5.45 3.19567 4.97933 3.587 4.588C3.979 4.196 4.45 4 5 4H6V3C6 2.71667 6.09567 2.479 6.287 2.287C6.479 2.09567 6.71667 2 7 2C7.28333 2 7.521 2.09567 7.713 2.287C7.90433 2.479 8 2.71667 8 3V4H16V3C16 2.71667 16.096 2.479 16.288 2.287C16.4793 2.09567 16.7167 2 17 2C17.2833 2 17.5207 2.09567 17.712 2.287C17.904 2.479 18 2.71667 18 3V4H19C19.55 4 20.021 4.196 20.413 4.588C20.8043 4.97933 21 5.45 21 6V20C21 20.55 20.8043 21.021 20.413 21.413C20.021 21.8043 19.55 22 19 22H5ZM5 20H19V10H5V20Z",fill:"currentColor"})),this.size===28&&i(a,null,i("path",{d:"M10.5 19.25C9.68333 19.25 8.99306 18.9681 8.42917 18.4042C7.86528 17.8403 7.58333 17.15 7.58333 16.3334C7.58333 15.5167 7.86528 14.8264 8.42917 14.2625C8.99306 13.6987 9.68333 13.4167 10.5 13.4167C11.3167 13.4167 12.0069 13.6987 12.5708 14.2625C13.1347 14.8264 13.4167 15.5167 13.4167 16.3334C13.4167 17.15 13.1347 17.8403 12.5708 18.4042C12.0069 18.9681 11.3167 19.25 10.5 19.25ZM5.83333 25.6667C5.19167 25.6667 4.64217 25.4384 4.18483 24.9819C3.72828 24.5245 3.5 23.975 3.5 23.3334V7.00004C3.5 6.35837 3.72828 5.80926 4.18483 5.35271C4.64217 4.89537 5.19167 4.66671 5.83333 4.66671H7V3.50004C7 3.16949 7.11161 2.89221 7.33483 2.66821C7.55883 2.44499 7.83611 2.33337 8.16667 2.33337C8.49722 2.33337 8.7745 2.44499 8.9985 2.66821C9.22172 2.89221 9.33333 3.16949 9.33333 3.50004V4.66671H18.6667V3.50004C18.6667 3.16949 18.7787 2.89221 19.0027 2.66821C19.2259 2.44499 19.5028 2.33337 19.8333 2.33337C20.1639 2.33337 20.4408 2.44499 20.664 2.66821C20.888 2.89221 21 3.16949 21 3.50004V4.66671H22.1667C22.8083 4.66671 23.3578 4.89537 23.8152 5.35271C24.2717 5.80926 24.5 6.35837 24.5 7.00004V23.3334C24.5 23.975 24.2717 24.5245 23.8152 24.9819C23.3578 25.4384 22.8083 25.6667 22.1667 25.6667H5.83333ZM5.83333 23.3334H22.1667V11.6667H5.83333V23.3334Z",fill:"currentColor"})))}};_.style=C;const x=":host{position:relative;z-index:var(--s-z-40);display:inline-flex}:host *{box-sizing:border-box}.popover--active:not(.popover--closing) .popover__backdrop{-webkit-animation:0.15s popover-fade-in;animation:0.15s popover-fade-in}@media (prefers-reduced-motion){.popover--active:not(.popover--closing) .popover__backdrop{-webkit-animation:none;animation:none}}.popover--active:not(.popover--closing) .popover__content{-webkit-animation:0.15s popover-slide-in;animation:0.15s popover-slide-in}@media (min-width: 768px){.popover--active:not(.popover--closing) .popover__content{transform-origin:top left;-webkit-animation:0.15s popover-fade-scale-in;animation:0.15s popover-fade-scale-in}}@media (prefers-reduced-motion){.popover--active:not(.popover--closing) .popover__content{-webkit-animation:none;animation:none}}.popover--closing .popover__backdrop{-webkit-animation:0.15s popover-fade-out;animation:0.15s popover-fade-out;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@media (prefers-reduced-motion){.popover--closing .popover__backdrop{-webkit-animation:none;animation:none}}.popover--closing .popover__content{-webkit-animation:0.15s popover-slide-out;animation:0.15s popover-slide-out;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@media (min-width: 768px){.popover--closing .popover__content{-webkit-animation:0.15s popover-fade-out;animation:0.15s popover-fade-out}}@media (prefers-reduced-motion){.popover--closing .popover__content{-webkit-animation:none;animation:none}}.popover--inactive .popover__content{display:none}.popover__backdrop{position:fixed;z-index:0;background-color:rgba(0, 0, 0, 0.2);-webkit-animation:0.15s popover-backdrop-fade-in;animation:0.15s popover-backdrop-fade-in;inset:0}@media (prefers-reduced-motion){.popover__backdrop{-webkit-animation:none;animation:none}}@media (min-width: 768px){.popover__backdrop{display:none}}.popover__content{position:fixed;z-index:2;right:0;bottom:0;left:0;overflow:hidden;border-top-left-radius:var(--s-border-radius-xl);border-top-right-radius:var(--s-border-radius-xl);background-color:var(--s-surface-overlay-default)}@media (min-width: 768px){.popover__content{right:unset;bottom:unset;left:unset;max-width:22.5rem;border-radius:var(--s-border-radius-xl);-webkit-animation:none;animation:none;box-shadow:0.125rem 0.25rem 2.5rem rgba(0, 0, 0, 0.14)}}.popover__scroll-container{overflow-x:hidden;overflow-y:auto;width:100%;max-height:90vh;padding-top:var(--s-space-24);padding-bottom:var(--s-space-24);overscroll-behavior:contain}@media (min-width: 768px){.popover__scroll-container{max-height:22rem;padding-top:var(--s-space-8);padding-bottom:var(--s-space-8)}}.popover__handle{position:absolute;top:var(--s-space-8);left:50%;width:2.5rem;height:0.375rem;border-radius:0.1875rem;background-color:var(--s-border-default);transform:translatex(-50%)}@media (min-width: 768px){.popover__handle{display:none}}@-webkit-keyframes popover-slide-in{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes popover-slide-in{from{transform:translateY(100%)}to{transform:translateY(0)}}@-webkit-keyframes popover-slide-out{from{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes popover-slide-out{from{transform:translateY(0)}to{transform:translateY(100%)}}@-webkit-keyframes popover-fade-in{from{opacity:0}to{opacity:1}}@keyframes popover-fade-in{from{opacity:0}to{opacity:1}}@-webkit-keyframes popover-fade-out{from{opacity:1}to{opacity:0}}@keyframes popover-fade-out{from{opacity:1}to{opacity:0}}@-webkit-keyframes popover-fade-scale-in{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes popover-fade-scale-in{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}";const M=class{constructor(e){t(this,e);this.placement="bottom-start";this.active=false;this.closing=false;this.onFocusOut=t=>{if(!this.active){return}const e=t.relatedTarget||t.target;const i=!this.el.contains(e);if(i){this.close()}};this.toggle=t=>{t.stopPropagation();if(this.active){this.close()}else{this.open()}};this.onKeydown=t=>{if(t.code==="Escape"&&this.active){this.close()}};this.reposition=async()=>{const t=v();if(!Boolean(this.triggerEl)||!Boolean(this.contentContainer)){return}if(t){this.position=undefined;return}this.position=await l(this.triggerEl,this.contentContainer,{middleware:[c(),d()],placement:this.placement,strategy:"fixed"})}}componentDidLoad(){this.connectTrigger();this.updateChildMenuItems();this.updateTriggerAttributes()}disconnectedCallback(){p(this.scrollContainer)}onWindowClick(t){const e=t.target;if(!this.el.contains(e)){this.close()}}async close(){var t;if(this.closing){return}if(this.disableAutoUpdate){this.disableAutoUpdate()}this.closing=true;setTimeout((()=>{this.active=false;this.closing=false;this.updateTriggerAttributes()}),150);this.unlockBodyScroll();(t=this.triggerEl)===null||t===void 0?void 0:t.focus()}async open(){this.active=true;this.updateChildMenuItems();this.updateTriggerAttributes();requestAnimationFrame((async()=>{await this.reposition();if(this.childMenuItems.length>0){this.childMenuItems[0].focus()}else{this.contentContainer.focus()}if(this.disableAutoUpdate){this.disableAutoUpdate()}this.disableAutoUpdate=u(this.triggerEl,this.contentContainer,this.reposition);this.scrollContainer.scrollTop=0;this.lockBodyScroll()}))}connectTrigger(){var t;const e=y(document.body,`#${this.trigger}`)[0];this.triggerEl=(e===null||e===void 0?void 0:e.children[0])||((t=e===null||e===void 0?void 0:e.shadowRoot)===null||t===void 0?void 0:t.children[0])||e;if(!Boolean(this.triggerEl)){return}this.triggerEl.addEventListener("click",this.toggle)}updateTriggerAttributes(){if(!Boolean(this.triggerEl)){return}this.triggerEl.setAttribute("aria-controls",this.popoverId);this.triggerEl.setAttribute("aria-expanded",String(this.active));this.triggerEl.setAttribute("aria-haspopup","dialog")}updateChildMenuItems(){this.childMenuItems=y(this.el,'[role="menuitem"]')}lockBodyScroll(){const t=v();if(!t){return}m(this.scrollContainer)}unlockBodyScroll(){p(this.scrollContainer)}render(){var t,e;const a=f("popover",{"popover--closing":this.closing,"popover--active":this.active,"popover--inactive":!this.active});return i(s,{id:this.popoverId,onFocusout:this.onFocusOut},i("div",{class:a,onKeyDown:this.onKeydown},i("div",{"aria-hidden":!this.active?"true":"false","aria-label":this.label,class:"popover__content",role:"dialog",tabindex:"-1",ref:t=>this.contentContainer=t,style:{top:Boolean(this.position)?`${(t=this.position)===null||t===void 0?void 0:t.y}px`:"",left:Boolean(this.position)?`${(e=this.position)===null||e===void 0?void 0:e.x}px`:""}},i("span",{class:"popover__handle"}),i("div",{class:"popover__scroll-container",ref:t=>this.scrollContainer=t},i("slot",null))),this.active&&i("div",{class:"popover__backdrop",onClick:this.close})))}get el(){return r(this)}};M.style=x;export{D as flip_date_picker,_ as flip_icon_today,M as flip_popover};
2
- //# sourceMappingURL=p-692cb3d7.entry.js.map
1
+ import{r as t,c as e,h as i,H as s,F as a,g as r}from"./p-9fe00e8a.js";import{c as h,a as n,g as o}from"./p-86bd3473.js";import{c as l,s as c,f as d,a as u}from"./p-e8bb09e8.js";import{e as p,d as m}from"./p-33c168b3.js";import{c as f}from"./p-efffd297.js";import{i as v,q as y}from"./p-db7b3635.js";var b=h((function(t,e){!function(e,i){t.exports=i()}(n,(function(){return function(){var t={d:function(e,i){for(var s in i)t.o(i,s)&&!t.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:i[s]})},o:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}},e={};t.d(e,{default:function(){return $}});var i={days:"days",months:"months",years:"years",day:"day",month:"month",year:"year",eventChangeViewDate:"changeViewDate",eventChangeCurrentView:"changeCurrentView",eventChangeFocusDate:"changeFocusDate",eventChangeSelectedDate:"changeSelectedDate",eventChangeTime:"changeTime",eventChangeLastSelectedDate:"changeLastSelectedDate",actionSelectDate:"selectDate",actionUnselectDate:"unselectDate",cssClassWeekend:"-weekend-"},s={classes:"",inline:!1,locale:{days:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],daysShort:["Вос","Пон","Вто","Сре","Чет","Пят","Суб"],daysMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Сегодня",clear:"Очистить",dateFormat:"dd.MM.yyyy",timeFormat:"HH:mm",firstDay:1},startDate:new Date,firstDay:"",weekends:[6,0],dateFormat:"",altField:"",altFieldDateFormat:"T",toggleSelected:!0,keyboardNav:!0,selectedDates:!1,container:"",isMobile:!1,visible:!1,position:"bottom left",offset:12,view:i.days,minView:i.days,showOtherMonths:!0,selectOtherMonths:!0,moveToOtherMonthsOnSelect:!0,showOtherYears:!0,selectOtherYears:!0,moveToOtherYearsOnSelect:!0,minDate:"",maxDate:"",disableNavWhenOutOfRange:!0,multipleDates:!1,multipleDatesSeparator:", ",range:!1,dynamicRange:!0,buttons:!1,monthsField:"monthsShort",showEvent:"focus",autoClose:!1,prevHtml:'<svg><path d="M 17,12 l -5,5 l 5,5"></path></svg>',nextHtml:'<svg><path d="M 14,12 l 5,5 l -5,5"></path></svg>',navTitles:{days:"MMMM, <i>yyyy</i>",months:"yyyy",years:"yyyy1 - yyyy2"},timepicker:!1,onlyTimepicker:!1,dateTimeSeparator:" ",timeFormat:"",minHours:0,maxHours:24,minMinutes:0,maxMinutes:59,hoursStep:1,minutesStep:1,onSelect:!1,onChangeViewDate:!1,onChangeView:!1,onRenderCell:!1,onShow:!1,onHide:!1,onClickDayName:!1};function a(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return"string"==typeof t?e.querySelector(t):t}function r(){let{tagName:t="div",className:e="",innerHtml:i="",id:s="",attrs:a={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=document.createElement(t);return e&&r.classList.add(...e.split(" ")),s&&(r.id=s),i&&(r.innerHTML=i),a&&h(r,a),r}function h(t,e){for(let[i,s]of Object.entries(e))void 0!==s&&t.setAttribute(i,s);return t}function n(t){return new Date(t.getFullYear(),t.getMonth()+1,0).getDate()}function o(t){let e=t.getHours(),i=e%12==0?12:e%12;return{year:t.getFullYear(),month:t.getMonth(),fullMonth:t.getMonth()+1<10?"0"+(t.getMonth()+1):t.getMonth()+1,date:t.getDate(),fullDate:t.getDate()<10?"0"+t.getDate():t.getDate(),day:t.getDay(),hours:e,fullHours:l(e),hours12:i,fullHours12:l(i),minutes:t.getMinutes(),fullMinutes:t.getMinutes()<10?"0"+t.getMinutes():t.getMinutes()}}function l(t){return t<10?"0"+t:t}function c(t){let e=10*Math.floor(t.getFullYear()/10);return[e,e+9]}function d(){let t=[];for(var e=arguments.length,i=new Array(e),s=0;s<e;s++)i[s]=arguments[s];return i.forEach((e=>{if("object"==typeof e)for(let i in e)e[i]&&t.push(i);else e&&t.push(e)})),t.join(" ")}function u(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.days;if(!t||!e)return!1;let a=o(t),r=o(e),h={[i.days]:a.date===r.date&&a.month===r.month&&a.year===r.year,[i.months]:a.month===r.month&&a.year===r.year,[i.years]:a.year===r.year};return h[s]}function p(t,e,i){let s=f(t,!1).getTime(),a=f(e,!1).getTime();return i?s>=a:s>a}function m(t,e){return!p(t,e,!0)}function f(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=new Date(t.getTime());return"boolean"!=typeof e||e||v(i),i}function v(t){return t.setHours(0,0,0,0),t}function y(t,e,i){t.length?t.forEach((t=>{t.addEventListener(e,i)})):t.addEventListener(e,i)}function b(t,e){return!(!t||t===document||t instanceof DocumentFragment)&&(t.matches(e)?t:b(t.parentNode,e))}function g(t,e,i){return t>i?i:t<e?e:t}function w(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),s=1;s<e;s++)i[s-1]=arguments[s];return i.filter((t=>t)).forEach((e=>{for(let[i,s]of Object.entries(e))if(void 0!==s&&"[object Object]"===s.toString()){let e=void 0!==t[i]?t[i].toString():void 0,a=s.toString(),r=Array.isArray(s)?[]:{};t[i]=t[i]?e!==a?r:t[i]:r,w(t[i],s)}else t[i]=s})),t}function k(t){let e=t;return t instanceof Date||(e=new Date(t)),isNaN(e.getTime())&&(console.log('Unable to convert value "'.concat(t,'" to Date object')),e=!1),e}function D(t){let e="\\s|\\.|-|/|\\\\|,|\\$|\\!|\\?|:|;";return new RegExp("(^|>|"+e+")("+t+")($|<|"+e+")","g")}function C(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}class _{constructor(){let{type:t,date:e,dp:i,opts:s,body:a}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};C(this,"focus",(()=>{this.$cell.classList.add("-focus-"),this.focused=!0})),C(this,"removeFocus",(()=>{this.$cell.classList.remove("-focus-"),this.focused=!1})),C(this,"select",(()=>{this.$cell.classList.add("-selected-"),this.selected=!0})),C(this,"removeSelect",(()=>{this.$cell.classList.remove("-selected-","-range-from-","-range-to-"),this.selected=!1})),C(this,"onChangeSelectedDate",(()=>{this.isDisabled||(this._handleSelectedStatus(),this.opts.range&&this._handleRangeStatus())})),C(this,"onChangeFocusDate",(t=>{if(!t)return void(this.focused&&this.removeFocus());let e=u(t,this.date,this.type);e?this.focus():!e&&this.focused&&this.removeFocus(),this.opts.range&&this._handleRangeStatus()})),C(this,"render",(()=>(this.$cell.innerHTML=this._getHtml(),this.$cell.adpCell=this,this.$cell))),this.type=t,this.singleType=this.type.slice(0,-1),this.date=e,this.dp=i,this.opts=s,this.body=a,this.customData=!1,this.init()}init(){let{range:t,onRenderCell:e}=this.opts;e&&(this.customData=e({date:this.date,cellType:this.singleType,datepicker:this.dp})),this._createElement(),this._bindDatepickerEvents(),this._handleInitialFocusStatus(),this.dp.hasSelectedDates&&(this._handleSelectedStatus(),t&&this._handleRangeStatus())}_bindDatepickerEvents(){this.dp.on(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.on(i.eventChangeFocusDate,this.onChangeFocusDate)}unbindDatepickerEvents(){this.dp.off(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.off(i.eventChangeFocusDate,this.onChangeFocusDate)}_createElement(){var t;let{year:e,month:i,date:s}=o(this.date),a=(null===(t=this.customData)||void 0===t?void 0:t.attrs)||{};this.$cell=r({className:this._getClassName(),attrs:{"data-year":e,"data-month":i,"data-date":s,...a}})}_getClassName(){var t,e;let s=new Date,{selectOtherMonths:a,selectOtherYears:r}=this.opts,{minDate:h,maxDate:n}=this.dp,{day:l}=o(this.date),c=this._isOutOfMinMaxRange(),p=null===(t=this.customData)||void 0===t?void 0:t.disabled,m=d("air-datepicker-cell","-".concat(this.singleType,"-"),{"-current-":u(s,this.date,this.type),"-min-date-":h&&u(h,this.date,this.type),"-max-date-":n&&u(n,this.date,this.type)}),f="";switch(this.type){case i.days:f=d({"-weekend-":this.dp.isWeekend(l),"-other-month-":this.isOtherMonth,"-disabled-":this.isOtherMonth&&!a||c||p});break;case i.months:f=d({"-disabled-":c||p});break;case i.years:f=d({"-other-decade-":this.isOtherDecade,"-disabled-":c||this.isOtherDecade&&!r||p})}return d(m,f,null===(e=this.customData)||void 0===e?void 0:e.classes)}_getHtml(){var t;let{year:e,month:s,date:a}=o(this.date),{showOtherMonths:r,showOtherYears:h}=this.opts;if(null!==(t=this.customData)&&void 0!==t&&t.html)return this.customData.html;switch(this.type){case i.days:return!r&&this.isOtherMonth?"":a;case i.months:return this.dp.locale[this.opts.monthsField][s];case i.years:return!h&&this.isOtherDecade?"":e}}_isOutOfMinMaxRange(){let{minDate:t,maxDate:e}=this.dp,{type:s,date:a}=this,{month:r,year:h,date:n}=o(a),l=s===i.days,c=s===i.years,d=!!t&&new Date(h,c?t.getMonth():r,l?n:t.getDate()),u=!!e&&new Date(h,c?e.getMonth():r,l?n:e.getDate());return t&&e?m(d,t)||p(u,e):t?m(d,t):e?p(u,e):void 0}destroy(){this.unbindDatepickerEvents()}_handleRangeStatus(){let{rangeDateFrom:t,rangeDateTo:e}=this.dp,i=d({"-in-range-":t&&e&&(s=this.date,a=t,r=e,p(s,a)&&m(s,r)),"-range-from-":t&&u(this.date,t,this.type),"-range-to-":e&&u(this.date,e,this.type)});var s,a,r;this.$cell.classList.remove("-range-from-","-range-to-","-in-range-"),i&&this.$cell.classList.add(...i.split(" "))}_handleSelectedStatus(){let t=this.dp._checkIfDateIsSelected(this.date,this.type);t?this.select():!t&&this.selected&&this.removeSelect()}_handleInitialFocusStatus(){u(this.dp.focusDate,this.date,this.type)&&this.focus()}get isDisabled(){return this.$cell.matches(".-disabled-")}get isOtherMonth(){return this.dp.isOtherMonth(this.date)}get isOtherDecade(){return this.dp.isOtherDecade(this.date)}}function x(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}let M={[i.days]:'<div class="air-datepicker-body--day-names"></div>'+'<div class="air-datepicker-body--cells -'.concat(i.days,'-"></div>'),[i.months]:'<div class="air-datepicker-body--cells -'.concat(i.months,'-"></div>'),[i.years]:'<div class="air-datepicker-body--cells -'.concat(i.years,'-"></div>')};const S=".air-datepicker-cell";class T{constructor(t){let{dp:e,type:s,opts:a}=t;x(this,"handleClick",(t=>{let e=t.target.closest(S).adpCell;if(e.isDisabled)return;if(!this.dp.isMinViewReached)return void this.dp.down();let i=this.dp._checkIfDateIsSelected(e.date,e.type);i?this.dp._handleAlreadySelectedDates(i,e.date):this.dp.selectDate(e.date)})),x(this,"handleDayNameClick",(t=>{let e=t.target.getAttribute("data-day-index");this.opts.onClickDayName({dayIndex:Number(e),datepicker:this.dp})})),x(this,"onChangeCurrentView",(t=>{t!==this.type?this.hide():(this.show(),this.render())})),x(this,"onMouseOverCell",(t=>{let e=b(t.target,S);this.dp.setFocusDate(!!e&&e.adpCell.date)})),x(this,"onMouseOutCell",(()=>{this.dp.setFocusDate(!1)})),x(this,"onClickBody",(t=>{let{onClickDayName:e}=this.opts,i=t.target;i.closest(S)&&this.handleClick(t),e&&i.closest(".air-datepicker-body--day-name")&&this.handleDayNameClick(t)})),x(this,"onMouseDown",(t=>{this.pressed=!0;let e=b(t.target,S),i=e&&e.adpCell;u(i.date,this.dp.rangeDateFrom)&&(this.rangeFromFocused=!0),u(i.date,this.dp.rangeDateTo)&&(this.rangeToFocused=!0)})),x(this,"onMouseMove",(t=>{if(!this.pressed||!this.dp.isMinViewReached)return;t.preventDefault();let e=b(t.target,S),i=e&&e.adpCell,{selectedDates:s,rangeDateTo:a,rangeDateFrom:r}=this.dp;if(!i||i.isDisabled)return;let{date:h}=i;if(2===s.length){if(this.rangeFromFocused&&!p(h,a)){let{hours:t,minutes:e}=o(r);h.setHours(t),h.setMinutes(e),this.dp.rangeDateFrom=h,this.dp.replaceDate(r,h)}if(this.rangeToFocused&&!m(h,r)){let{hours:t,minutes:e}=o(a);h.setHours(t),h.setMinutes(e),this.dp.rangeDateTo=h,this.dp.replaceDate(a,h)}}})),x(this,"onMouseUp",(()=>{this.pressed=!1,this.rangeFromFocused=!1,this.rangeToFocused=!1})),x(this,"onChangeViewDate",((t,e)=>{if(!this.isVisible)return;let s=c(t),a=c(e);switch(this.dp.currentView){case i.days:if(u(t,e,i.months))return;break;case i.months:if(u(t,e,i.years))return;break;case i.years:if(s[0]===a[0]&&s[1]===a[1])return}this.render()})),x(this,"render",(()=>{this.destroyCells(),this._generateCells(),this.cells.forEach((t=>{this.$cells.appendChild(t.render())}))})),this.dp=e,this.type=s,this.opts=a,this.cells=[],this.$el="",this.pressed=!1,this.isVisible=!0,this.init()}init(){this._buildBaseHtml(),this.type===i.days&&this.renderDayNames(),this.render(),this._bindEvents(),this._bindDatepickerEvents()}_bindEvents(){let{range:t,dynamicRange:e}=this.opts;y(this.$el,"mouseover",this.onMouseOverCell),y(this.$el,"mouseout",this.onMouseOutCell),y(this.$el,"click",this.onClickBody),t&&e&&(y(this.$el,"mousedown",this.onMouseDown),y(this.$el,"mousemove",this.onMouseMove),y(window.document,"mouseup",this.onMouseUp))}_bindDatepickerEvents(){this.dp.on(i.eventChangeViewDate,this.onChangeViewDate),this.dp.on(i.eventChangeCurrentView,this.onChangeCurrentView)}_buildBaseHtml(){this.$el=r({className:"air-datepicker-body -".concat(this.type,"-"),innerHtml:M[this.type]}),this.$names=a(".air-datepicker-body--day-names",this.$el),this.$cells=a(".air-datepicker-body--cells",this.$el)}_getDayNamesHtml(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.dp.locale.firstDay,e="",s=this.dp.isWeekend,{onClickDayName:a}=this.opts,r=t,h=0;for(;h<7;){let t=r%7,n=d("air-datepicker-body--day-name",{[i.cssClassWeekend]:s(t),"-clickable-":!!a}),o=this.dp.locale.daysMin[t];e+='<div class="'.concat(n,"\" data-day-index='").concat(t,"'>").concat(o,"</div>"),h++,r++}return e}_getDaysCells(){let{viewDate:t,locale:{firstDay:e}}=this.dp,i=n(t),{year:s,month:a}=o(t),r=new Date(s,a,1),h=new Date(s,a,i),l=r.getDay()-e,c=6-h.getDay()+e;l=l<0?l+7:l,c=c>6?c-7:c;let d=function(t,e){let{year:i,month:s,date:a}=o(t);return new Date(i,s,a-e)}(r,l),u=i+l+c,p=d.getDate(),{year:m,month:f}=o(d),v=0;for(;v<u;){let t=new Date(m,f,p+v);this._generateCell(t),v++}}_generateCell(t){let{type:e,dp:i,opts:s}=this,a=new _({type:e,dp:i,opts:s,date:t,body:this});return this.cells.push(a),a}_generateDayCells(){this._getDaysCells()}_generateMonthCells(){let{year:t}=this.dp.parsedViewDate,e=0;for(;e<12;)this.cells.push(this._generateCell(new Date(t,e))),e++}_generateYearCells(){let t=c(this.dp.viewDate),e=t[0]-1,i=t[1]+1,s=e;for(;s<=i;)this.cells.push(this._generateCell(new Date(s,0))),s++}renderDayNames(){this.$names.innerHTML=this._getDayNamesHtml()}_generateCells(){switch(this.type){case i.days:this._generateDayCells();break;case i.months:this._generateMonthCells();break;case i.years:this._generateYearCells()}}show(){this.isVisible=!0,this.$el.classList.remove("-hidden-")}hide(){this.isVisible=!1,this.$el.classList.add("-hidden-")}destroyCells(){this.cells.forEach((t=>t.destroy())),this.cells=[],this.$cells.innerHTML=""}destroy(){this.destroyCells(),this.dp.off(i.eventChangeViewDate,this.onChangeViewDate),this.dp.off(i.eventChangeCurrentView,this.onChangeCurrentView)}}function O(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}class H{constructor(t){let{dp:e,opts:i}=t;O(this,"onClickNav",(t=>{let e=b(t.target,".air-datepicker-nav--action");if(!e)return;let i=e.dataset.action;this.dp[i]()})),O(this,"onChangeViewDate",(()=>{this.render(),this._resetNavStatus(),this.handleNavStatus()})),O(this,"onChangeCurrentView",(()=>{this.render(),this._resetNavStatus(),this.handleNavStatus()})),O(this,"onClickNavTitle",(()=>{this.dp.isFinalView||this.dp.up()})),O(this,"update",(()=>{let{prevHtml:t,nextHtml:e}=this.opts;this.$prev.innerHTML=t,this.$next.innerHTML=e,this._resetNavStatus(),this.render(),this.handleNavStatus()})),O(this,"renderDelay",(()=>{setTimeout(this.render)})),O(this,"render",(()=>{this.$title.innerHTML=this._getTitle(),function(t,e){for(let i in e)e[i]?t.classList.add(i):t.classList.remove(i)}(this.$title,{"-disabled-":this.dp.isFinalView})})),this.dp=e,this.opts=i,this.init()}init(){this._createElement(),this._buildBaseHtml(),this._defineDOM(),this.render(),this.handleNavStatus(),this._bindEvents(),this._bindDatepickerEvents()}_defineDOM(){this.$title=a(".air-datepicker-nav--title",this.$el),this.$prev=a('[data-action="prev"]',this.$el),this.$next=a('[data-action="next"]',this.$el)}_bindEvents(){this.$el.addEventListener("click",this.onClickNav),this.$title.addEventListener("click",this.onClickNavTitle)}_bindDatepickerEvents(){this.dp.on(i.eventChangeViewDate,this.onChangeViewDate),this.dp.on(i.eventChangeCurrentView,this.onChangeCurrentView),this.isNavIsFunction&&(this.dp.on(i.eventChangeSelectedDate,this.renderDelay),this.dp.opts.timepicker&&this.dp.on(i.eventChangeTime,this.render))}destroy(){this.dp.off(i.eventChangeViewDate,this.onChangeViewDate),this.dp.off(i.eventChangeCurrentView,this.onChangeCurrentView),this.isNavIsFunction&&(this.dp.off(i.eventChangeSelectedDate,this.renderDelay),this.dp.opts.timepicker&&this.dp.off(i.eventChangeTime,this.render))}_createElement(){this.$el=r({tagName:"nav",className:"air-datepicker-nav"})}_getTitle(){let{dp:t,opts:e}=this,i=e.navTitles[t.currentView];return"function"==typeof i?i(t):t.formatDate(t.viewDate,i)}handleNavStatus(){let{disableNavWhenOutOfRange:t}=this.opts,{minDate:e,maxDate:s}=this.dp;if(!e&&!s||!t)return;let{year:a,month:r}=this.dp.parsedViewDate,h=!!e&&o(e),n=!!s&&o(s);switch(this.dp.currentView){case i.days:e&&h.month>=r&&h.year>=a&&this._disableNav("prev"),s&&n.month<=r&&n.year<=a&&this._disableNav("next");break;case i.months:e&&h.year>=a&&this._disableNav("prev"),s&&n.year<=a&&this._disableNav("next");break;case i.years:{let t=c(this.dp.viewDate);e&&h.year>=t[0]&&this._disableNav("prev"),s&&n.year<=t[1]&&this._disableNav("next");break}}}_disableNav(t){a('[data-action="'+t+'"]',this.$el).classList.add("-disabled-")}_resetNavStatus(){!function(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),s=1;s<e;s++)i[s-1]=arguments[s];t.length?t.forEach((t=>{t.classList.remove(...i)})):t.classList.remove(...i)}(this.$el.querySelectorAll(".air-datepicker-nav--action"),"-disabled-")}_buildBaseHtml(){let{prevHtml:t,nextHtml:e}=this.opts;this.$el.innerHTML='<div class="air-datepicker-nav--action" data-action="prev">'.concat(t,"</div>")+'<div class="air-datepicker-nav--title"></div>'+'<div class="air-datepicker-nav--action" data-action="next">'.concat(e,"</div>")}get isNavIsFunction(){let{navTitles:t}=this.opts;return Object.keys(t).find((e=>"function"==typeof t[e]))}}var V={today:{content:t=>t.locale.today,onClick:t=>t.setViewDate(new Date)},clear:{content:t=>t.locale.clear,onClick:t=>t.clear()}};class A{constructor(t){let{dp:e,opts:i}=t;this.dp=e,this.opts=i,this.init()}init(){this.createElement(),this.render()}createElement(){this.$el=r({className:"air-datepicker-buttons"})}destroy(){this.$el.parentNode.removeChild(this.$el)}clearHtml(){return this.$el.innerHTML="",this}generateButtons(){let{buttons:t}=this.opts;Array.isArray(t)||(t=[t]),t.forEach((t=>{let e=t;"string"==typeof t&&V[t]&&(e=V[t]);let i=this.createButton(e);e.onClick&&this.attachEventToButton(i,e.onClick),this.$el.appendChild(i)}))}attachEventToButton(t,e){t.addEventListener("click",(()=>{e(this.dp)}))}createButton(t){let{content:e,className:i,tagName:s="button",attrs:a={}}=t,h="function"==typeof e?e(this.dp):e;return r({tagName:s,innerHtml:"<span tabindex='-1'>".concat(h,"</span>"),className:d("air-datepicker-button",i),attrs:a})}render(){this.generateButtons()}}function F(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}class N{constructor(){let{opts:t,dp:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};F(this,"toggleTimepickerIsActive",(t=>{this.dp.timepickerIsActive=t})),F(this,"onChangeSelectedDate",(t=>{let{date:e,updateTime:i=!1}=t;e&&(this.setMinMaxTime(e),this.setCurrentTime(!!i&&e),this.addTimeToDate(e))})),F(this,"onChangeLastSelectedDate",(t=>{t&&(this.setTime(t),this.render())})),F(this,"onChangeInputRange",(t=>{let e=t.target;this[e.getAttribute("name")]=e.value,this.updateText(),this.dp.trigger(i.eventChangeTime,{hours:this.hours,minutes:this.minutes})})),F(this,"onMouseEnterLeave",(t=>{let e=t.target.getAttribute("name"),i=this.$minutesText;"hours"===e&&(i=this.$hoursText),i.classList.toggle("-focus-")})),F(this,"onFocus",(()=>{this.toggleTimepickerIsActive(!0)})),F(this,"onBlur",(()=>{this.toggleTimepickerIsActive(!1)})),this.opts=t,this.dp=e;let{timeFormat:s}=this.dp.locale;s&&(s.match(D("h"))||s.match(D("hh")))&&(this.ampm=!0),this.init()}init(){this.setTime(this.dp.lastSelectedDate||this.dp.viewDate),this.createElement(),this.buildHtml(),this.defineDOM(),this.render(),this.bindDatepickerEvents(),this.bindDOMEvents()}bindDatepickerEvents(){this.dp.on(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.on(i.eventChangeLastSelectedDate,this.onChangeLastSelectedDate)}bindDOMEvents(){let t="input";navigator.userAgent.match(/trident/gi)&&(t="change"),y(this.$ranges,t,this.onChangeInputRange),y(this.$ranges,"mouseenter",this.onMouseEnterLeave),y(this.$ranges,"mouseleave",this.onMouseEnterLeave),y(this.$ranges,"focus",this.onFocus),y(this.$ranges,"mousedown",this.onFocus),y(this.$ranges,"blur",this.onBlur)}createElement(){this.$el=r({className:d("air-datepicker-time",{"-am-pm-":this.dp.ampm})})}destroy(){this.dp.off(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.off(i.eventChangeLastSelectedDate,this.onChangeLastSelectedDate),this.$el.parentNode.removeChild(this.$el)}buildHtml(){let{ampm:t,hours:e,displayHours:i,minutes:s,minHours:a,minMinutes:r,maxHours:h,maxMinutes:n,dayPeriod:o,opts:{hoursStep:c,minutesStep:d}}=this;this.$el.innerHTML='<div class="air-datepicker-time--current">'+' <span class="air-datepicker-time--current-hours">'.concat(l(i),"</span>")+' <span class="air-datepicker-time--current-colon">:</span>'+' <span class="air-datepicker-time--current-minutes">'.concat(l(s),"</span>")+" ".concat(t?"<span class='air-datepicker-time--current-ampm'>".concat(o,"</span>"):"")+'</div><div class="air-datepicker-time--sliders"> <div class="air-datepicker-time--row">'+' <input type="range" name="hours" value="'.concat(e,'" min="').concat(a,'" max="').concat(h,'" step="').concat(c,'"/>')+' </div> <div class="air-datepicker-time--row">'+' <input type="range" name="minutes" value="'.concat(s,'" min="').concat(r,'" max="').concat(n,'" step="').concat(d,'"/>')+" </div></div>"}defineDOM(){let t=t=>a(t,this.$el);this.$ranges=this.$el.querySelectorAll('[type="range"]'),this.$hours=t('[name="hours"]'),this.$minutes=t('[name="minutes"]'),this.$hoursText=t(".air-datepicker-time--current-hours"),this.$minutesText=t(".air-datepicker-time--current-minutes"),this.$ampm=t(".air-datepicker-time--current-ampm")}setTime(t){this.setMinMaxTime(t),this.setCurrentTime(t)}addTimeToDate(t){t&&(t.setHours(this.hours),t.setMinutes(this.minutes))}setMinMaxTime(t){if(this.setMinMaxTimeFromOptions(),t){let{minDate:e,maxDate:i}=this.dp;e&&u(t,e)&&this.setMinTimeFromMinDate(e),i&&u(t,i)&&this.setMaxTimeFromMaxDate(i)}}setCurrentTime(t){let{hours:e,minutes:i}=t?o(t):this;this.hours=g(e,this.minHours,this.maxHours),this.minutes=g(i,this.minMinutes,this.maxMinutes)}setMinMaxTimeFromOptions(){let{minHours:t,minMinutes:e,maxHours:i,maxMinutes:s}=this.opts;this.minHours=g(t,0,23),this.minMinutes=g(e,0,59),this.maxHours=g(i,0,23),this.maxMinutes=g(s,0,59)}setMinTimeFromMinDate(t){let{lastSelectedDate:e}=this.dp;this.minHours=t.getHours(),e&&e.getHours()>t.getHours()?this.minMinutes=this.opts.minMinutes:this.minMinutes=t.getMinutes()}setMaxTimeFromMaxDate(t){let{lastSelectedDate:e}=this.dp;this.maxHours=t.getHours(),e&&e.getHours()<t.getHours()?this.maxMinutes=this.opts.maxMinutes:this.maxMinutes=t.getMinutes()}getDayPeriod(t,e){let i=t,s=Number(t);t instanceof Date&&(i=o(t),s=Number(i.hours));let a="am";if(e||this.ampm){switch(!0){case 12===s:case s>11:a="pm"}s=s%12==0?12:s%12}return{hours:s,dayPeriod:a}}updateSliders(){h(this.$hours,{min:this.minHours,max:this.maxHours}).value=this.hours,h(this.$minutes,{min:this.minMinutes,max:this.maxMinutes}).value=this.minutes}updateText(){this.$hoursText.innerHTML=l(this.displayHours),this.$minutesText.innerHTML=l(this.minutes),this.ampm&&(this.$ampm.innerHTML=this.dayPeriod)}set hours(t){this._hours=t;let{hours:e,dayPeriod:i}=this.getDayPeriod(t);this.displayHours=e,this.dayPeriod=i}get hours(){return this._hours}render(){this.updateSliders(),this.updateText()}}function E(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}class j{constructor(t){let{dp:e,opts:i}=t;E(this,"pressedKeys",new Set),E(this,"hotKeys",new Map([[[["Control","ArrowRight"],["Control","ArrowUp"]],t=>t.month++],[[["Control","ArrowLeft"],["Control","ArrowDown"]],t=>t.month--],[[["Shift","ArrowRight"],["Shift","ArrowUp"]],t=>t.year++],[[["Shift","ArrowLeft"],["Shift","ArrowDown"]],t=>t.year--],[[["Alt","ArrowRight"],["Alt","ArrowUp"]],t=>t.year+=10],[[["Alt","ArrowLeft"],["Alt","ArrowDown"]],t=>t.year-=10],[["Control","Shift","ArrowUp"],(t,e)=>e.up()]])),E(this,"handleHotKey",(t=>{let e=this.hotKeys.get(t),i=o(this.getInitialFocusDate());e(i,this.dp);let{year:s,month:a,date:r}=i,h=n(new Date(s,a));h<r&&(r=h);let l=this.dp.getClampedDate(new Date(s,a,r));this.dp.setFocusDate(l,{viewDateTransition:!0})})),E(this,"isHotKeyPressed",(()=>{let t=!1,e=this.pressedKeys.size,i=t=>this.pressedKeys.has(t);for(let[s]of this.hotKeys){if(t)break;if(Array.isArray(s[0]))s.forEach((a=>{t||e!==a.length||(t=a.every(i)&&s)}));else{if(e!==s.length)continue;t=s.every(i)&&s}}return t})),E(this,"isArrow",(t=>t>=37&&t<=40)),E(this,"onKeyDown",(t=>{let{key:e,which:i}=t,{dp:s,dp:{focusDate:a},opts:r}=this;this.registerKey(e);let h=this.isHotKeyPressed();if(h)return t.preventDefault(),void this.handleHotKey(h);if(this.isArrow(i))return t.preventDefault(),void this.focusNextCell(e);if("Enter"===e){if(s.currentView!==r.minView)return void s.down();if(a){let t=s._checkIfDateIsSelected(a);return void(t?s._handleAlreadySelectedDates(t,a):s.selectDate(a))}}"Escape"===e&&this.dp.hide()})),E(this,"onKeyUp",(t=>{this.removeKey(t.key)})),this.dp=e,this.opts=i,this.init()}init(){this.bindKeyboardEvents()}bindKeyboardEvents(){let{$el:t}=this.dp;t.addEventListener("keydown",this.onKeyDown),t.addEventListener("keyup",this.onKeyUp)}destroy(){let{$el:t}=this.dp;t.removeEventListener("keydown",this.onKeyDown),t.removeEventListener("keyup",this.onKeyUp),this.hotKeys=null,this.pressedKeys=null}getInitialFocusDate(){let{focusDate:t,currentView:e,selectedDates:s,parsedViewDate:{year:a,month:r}}=this.dp,h=t||s[s.length-1];if(!h)switch(e){case i.days:h=new Date(a,r,(new Date).getDate());break;case i.months:h=new Date(a,r,1);break;case i.years:h=new Date(a,0,1)}return h}focusNextCell(t){let e=this.getInitialFocusDate(),{currentView:s}=this.dp,{days:a,months:r,years:h}=i,n=o(e),l=n.year,c=n.month,d=n.date;switch(t){case"ArrowLeft":s===a&&(d-=1),s===r&&(c-=1),s===h&&(l-=1);break;case"ArrowUp":s===a&&(d-=7),s===r&&(c-=3),s===h&&(l-=4);break;case"ArrowRight":s===a&&(d+=1),s===r&&(c+=1),s===h&&(l+=1);break;case"ArrowDown":s===a&&(d+=7),s===r&&(c+=3),s===h&&(l+=4)}let u=this.dp.getClampedDate(new Date(l,c,d));this.dp.setFocusDate(u,{viewDateTransition:!0})}registerKey(t){this.pressedKeys.add(t)}removeKey(t){this.pressedKeys.delete(t)}}let z={on(t,e){this.__events||(this.__events={}),this.__events[t]?this.__events[t].push(e):this.__events[t]=[e]},off(t,e){this.__events&&this.__events[t]&&(this.__events[t]=this.__events[t].filter((t=>t!==e)))},removeAllEvents(){this.__events={}},trigger(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),s=1;s<e;s++)i[s-1]=arguments[s];this.__events&&this.__events[t]&&this.__events[t].forEach((t=>{t(...i)}))}};function B(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}let P="",I="",R="",Y=!1;class ${constructor(t,e){var h=this;if(B(this,"viewIndexes",[i.days,i.months,i.years]),B(this,"next",(()=>{let{year:t,month:e}=this.parsedViewDate;switch(this.currentView){case i.days:this.setViewDate(new Date(t,e+1,1));break;case i.months:this.setViewDate(new Date(t+1,e,1));break;case i.years:this.setViewDate(new Date(t+10,0,1))}})),B(this,"prev",(()=>{let{year:t,month:e}=this.parsedViewDate;switch(this.currentView){case i.days:this.setViewDate(new Date(t,e-1,1));break;case i.months:this.setViewDate(new Date(t-1,e,1));break;case i.years:this.setViewDate(new Date(t-10,0,1))}})),B(this,"_finishHide",(()=>{this.hideAnimation=!1,this._destroyComponents(),this.$container.removeChild(this.$datepicker)})),B(this,"setPosition",(function(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if("function"==typeof(t=t||h.opts.position))return void(h.customHide=t({$datepicker:h.$datepicker,$target:h.$el,$pointer:h.$pointer,isViewChange:e,done:h._finishHide}));let i,s,{isMobile:a}=h.opts,r=h.$el.getBoundingClientRect(),n=h.$el.getBoundingClientRect(),o=h.$datepicker.offsetParent,l=h.$el.offsetParent,c=h.$datepicker.getBoundingClientRect(),d=t.split(" "),u=window.scrollY,p=window.scrollX,m=h.opts.offset,f=d[0],v=d[1];if(a)h.$datepicker.style.cssText="left: 50%; top: 50%";else{if(o===l&&o!==document.body&&(n={top:h.$el.offsetTop,left:h.$el.offsetLeft,width:r.width,height:h.$el.offsetHeight},u=0,p=0),o!==l&&o!==document.body){let t=o.getBoundingClientRect();n={top:r.top-t.top,left:r.left-t.left,width:r.width,height:r.height},u=0,p=0}switch(f){case"top":i=n.top-c.height-m;break;case"right":s=n.left+n.width+m;break;case"bottom":i=n.top+n.height+m;break;case"left":s=n.left-c.width-m}switch(v){case"top":i=n.top;break;case"right":s=n.left+n.width-c.width;break;case"bottom":i=n.top+n.height-c.height;break;case"left":s=n.left;break;case"center":/left|right/.test(f)?i=n.top+n.height/2-c.height/2:s=n.left+n.width/2-c.width/2}h.$datepicker.style.cssText="left: ".concat(s+p,"px; top: ").concat(i+u,"px")}})),B(this,"_setInputValue",(()=>{let{opts:t,$altField:e,locale:{dateFormat:i}}=this,{altFieldDateFormat:s,altField:a}=t;a&&e&&(e.value=this._getInputValue(s)),this.$el.value=this._getInputValue(i)})),B(this,"_getInputValue",(t=>{let{selectedDates:e,opts:i}=this,{multipleDates:s,multipleDatesSeparator:a}=i;if(!e.length)return"";let r="function"==typeof t,h=r?t(s?e:e[0]):e.map((e=>this.formatDate(e,t)));return h=r?h:h.join(a),h})),B(this,"_checkIfDateIsSelected",(function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.days,s=!1;return h.selectedDates.some((i=>{let a=u(t,i,e);return s=a&&i,a})),s})),B(this,"_scheduleCallAfterTransition",(t=>{this._cancelScheduledCall(),t&&t(!1),this._onTransitionEnd=()=>{t&&t(!0)},this.$datepicker.addEventListener("transitionend",this._onTransitionEnd,{once:!0})})),B(this,"_cancelScheduledCall",(()=>{this.$datepicker.removeEventListener("transitionend",this._onTransitionEnd)})),B(this,"setViewDate",(t=>{if(!((t=k(t))instanceof Date))return;if(u(t,this.viewDate))return;let e=this.viewDate;this.viewDate=t;let{onChangeViewDate:s}=this.opts;if(s){let{month:t,year:e}=this.parsedViewDate;s({month:t,year:e,decade:this.curDecade})}this.trigger(i.eventChangeViewDate,t,e)})),B(this,"setFocusDate",(function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(!t||(t=k(t))instanceof Date)&&(h.focusDate=t,h.opts.range&&t&&h._handleRangeOnFocus(),h.trigger(i.eventChangeFocusDate,t,e))})),B(this,"setCurrentView",(t=>{if(this.viewIndexes.includes(t)){if(this.currentView=t,this.elIsInput&&this.visible&&this.setPosition(void 0,!0),this.trigger(i.eventChangeCurrentView,t),!this.views[t]){let e=this.views[t]=new T({dp:this,opts:this.opts,type:t});this.shouldUpdateDOM&&this.$content.appendChild(e.$el)}this.opts.onChangeView&&this.opts.onChangeView(t)}})),B(this,"_updateLastSelectedDate",(t=>{this.lastSelectedDate=t,this.trigger(i.eventChangeLastSelectedDate,t)})),B(this,"destroy",(()=>{let{showEvent:t,isMobile:e}=this.opts,i=this.$datepicker.parentNode;i&&i.removeChild(this.$datepicker),this.$el.removeEventListener(t,this._onFocus),this.$el.removeEventListener("blur",this._onBlur),window.removeEventListener("resize",this._onResize),e&&this._removeMobileAttributes(),this.keyboardNav&&this.keyboardNav.destroy(),this.views=null,this.nav=null,this.$datepicker=null,this.opts=null,this.$customContainer=null,this.viewDate=null,this.focusDate=null,this.selectedDates=null,this.rangeDateFrom=null,this.rangeDateTo=null})),B(this,"update",(t=>{let e=w({},this.opts);w(this.opts,t);let{timepicker:s,buttons:a,range:r,selectedDates:h,isMobile:n}=this.opts,o=this.visible||this.treatAsInline;this._createMinMaxDates(),this._limitViewDateByMaxMinDates(),this._handleLocale(),!e.selectedDates&&h&&this.selectDate(h),t.view&&this.setCurrentView(t.view),this._setInputValue(),e.range&&!r?(this.rangeDateTo=!1,this.rangeDateFrom=!1):!e.range&&r&&this.selectedDates.length&&(this.rangeDateFrom=this.selectedDates[0],this.rangeDateTo=this.selectedDates[1]),e.timepicker&&!s?(o&&this.timepicker.destroy(),this.timepicker=!1,this.$timepicker.parentNode.removeChild(this.$timepicker)):!e.timepicker&&s&&this._addTimepicker(),!e.buttons&&a?this._addButtons():e.buttons&&!a?(this.buttons.destroy(),this.$buttons.parentNode.removeChild(this.$buttons)):o&&e.buttons&&a&&this.buttons.clearHtml().render(),!e.isMobile&&n?(this.treatAsInline||R||this._createMobileOverlay(),this._addMobileAttributes(),this.visible&&this._showMobileOverlay()):e.isMobile&&!n&&(this._removeMobileAttributes(),this.visible&&(R.classList.remove("-active-"),"function"!=typeof this.opts.position&&this.setPosition())),o&&(this.nav.update(),this.views[this.currentView].render(),this.currentView===i.days&&this.views[this.currentView].renderDayNames())})),B(this,"isOtherMonth",(t=>{let{month:e}=o(t);return e!==this.parsedViewDate.month})),B(this,"isOtherYear",(t=>{let{year:e}=o(t);return e!==this.parsedViewDate.year})),B(this,"isOtherDecade",(t=>{let{year:e}=o(t),[i,s]=c(this.viewDate);return e<i||e>s})),B(this,"_onChangeSelectedDate",(t=>{let{silent:e}=t;setTimeout((()=>{this._setInputValue(),this.opts.onSelect&&!e&&this._triggerOnSelect()}))})),B(this,"_onChangeFocusedDate",(function(t){let{viewDateTransition:e}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!t)return;let i=!1;e&&(i=h.isOtherMonth(t)||h.isOtherYear(t)||h.isOtherDecade(t)),i&&h.setViewDate(t)})),B(this,"_onChangeTime",(t=>{let{hours:e,minutes:i}=t,s=new Date,{lastSelectedDate:a,opts:{onSelect:r}}=this,h=a;a||(h=s);let n=this.getCell(h,this.currentViewSingular),o=n&&n.adpCell;o&&o.isDisabled||(h.setHours(e),h.setMinutes(i),a?(this._setInputValue(),r&&this._triggerOnSelect()):this.selectDate(h))})),B(this,"_onFocus",(t=>{this.visible||this.show()})),B(this,"_onBlur",(t=>{this.inFocus||!this.visible||this.opts.isMobile||this.hide()})),B(this,"_onMouseDown",(t=>{this.inFocus=!0})),B(this,"_onMouseUp",(t=>{this.inFocus=!1,this.$el.focus()})),B(this,"_onResize",(()=>{this.visible&&"function"!=typeof this.opts.position&&this.setPosition()})),B(this,"_onClickOverlay",(()=>{this.visible&&this.hide()})),B(this,"isWeekend",(t=>this.opts.weekends.includes(t))),B(this,"getClampedDate",(t=>{let{minDate:e,maxDate:i}=this,s=t;return i&&p(t,i)?s=i:e&&m(t,e)&&(s=e),s})),this.$el=a(t),!this.$el)return;this.$datepicker=r({className:"air-datepicker"}),this.opts=w({},s,e),this.$customContainer=!!this.opts.container&&a(this.opts.container),this.$altField=a(this.opts.altField||!1),P||(P=a("body"));let{view:n,startDate:l}=this.opts;l||(this.opts.startDate=new Date),"INPUT"===this.$el.nodeName&&(this.elIsInput=!0),this.inited=!1,this.visible=!1,this.viewDate=k(this.opts.startDate),this.focusDate=!1,this.initialReadonly=this.$el.getAttribute("readonly"),this.customHide=!1,this.currentView=n,this.selectedDates=[],this.views={},this.keys=[],this.rangeDateFrom="",this.rangeDateTo="",this.timepickerIsActive=!1,this.treatAsInline=this.opts.inline||!this.elIsInput,this.init()}init(){let{opts:t,treatAsInline:e,opts:{inline:i,isMobile:s,selectedDates:a,keyboardNav:h,onlyTimepicker:n}}=this;var o;Y||i||!this.elIsInput||(Y=!0,I=r({className:o=$.defaultContainerId,id:o}),P.appendChild(I)),!s||R||e||this._createMobileOverlay(),this._handleLocale(),this._bindSubEvents(),this._createMinMaxDates(),this._limitViewDateByMaxMinDates(),this.elIsInput&&(i||this._bindEvents(),h&&!n&&(this.keyboardNav=new j({dp:this,opts:t}))),a&&this.selectDate(a,{silent:!0}),this.opts.visible&&!e&&this.show(),s&&!e&&this.$el.setAttribute("readonly",!0),e&&this._createComponents()}_createMobileOverlay(){R=r({className:"air-datepicker-overlay"}),I.appendChild(R)}_createComponents(){let{opts:t,treatAsInline:e,opts:{inline:i,buttons:s,timepicker:a,position:r,classes:h,onlyTimepicker:n,isMobile:o}}=this;this._buildBaseHtml(),this.elIsInput&&(i||this._setPositionClasses(r)),!i&&this.elIsInput||this.$datepicker.classList.add("-inline-"),h&&this.$datepicker.classList.add(...h.split(" ")),n&&this.$datepicker.classList.add("-only-timepicker-"),o&&!e&&this._addMobileAttributes(),this.views[this.currentView]=new T({dp:this,type:this.currentView,opts:t}),this.nav=new H({dp:this,opts:t}),a&&this._addTimepicker(),s&&this._addButtons(),this.$content.appendChild(this.views[this.currentView].$el),this.$nav.appendChild(this.nav.$el)}_destroyComponents(){for(let t in this.views)this.views[t].destroy();this.views={},this.nav.destroy(),this.timepicker&&this.timepicker.destroy()}_addMobileAttributes(){R.addEventListener("click",this._onClickOverlay),this.$datepicker.classList.add("-is-mobile-"),this.$el.setAttribute("readonly",!0)}_removeMobileAttributes(){R.removeEventListener("click",this._onClickOverlay),this.$datepicker.classList.remove("-is-mobile-"),this.initialReadonly||""===this.initialReadonly||this.$el.removeAttribute("readonly")}_createMinMaxDates(){let{minDate:t,maxDate:e}=this.opts;this.minDate=!!t&&k(t),this.maxDate=!!e&&k(e)}_addTimepicker(){this.$timepicker=r({className:"air-datepicker--time"}),this.$datepicker.appendChild(this.$timepicker),this.timepicker=new N({dp:this,opts:this.opts}),this.$timepicker.appendChild(this.timepicker.$el)}_addButtons(){this.$buttons=r({className:"air-datepicker--buttons"}),this.$datepicker.appendChild(this.$buttons),this.buttons=new A({dp:this,opts:this.opts}),this.$buttons.appendChild(this.buttons.$el)}_bindSubEvents(){this.on(i.eventChangeSelectedDate,this._onChangeSelectedDate),this.on(i.eventChangeFocusDate,this._onChangeFocusedDate),this.on(i.eventChangeTime,this._onChangeTime)}_buildBaseHtml(){let{inline:t}=this.opts;var e,i;this.elIsInput?t?(e=this.$datepicker,(i=this.$el).parentNode.insertBefore(e,i.nextSibling)):this.$container.appendChild(this.$datepicker):this.$el.appendChild(this.$datepicker),this.$datepicker.innerHTML='<i class="air-datepicker--pointer"></i><div class="air-datepicker--navigation"></div><div class="air-datepicker--content"></div>',this.$content=a(".air-datepicker--content",this.$datepicker),this.$pointer=a(".air-datepicker--pointer",this.$datepicker),this.$nav=a(".air-datepicker--navigation",this.$datepicker)}_handleLocale(){let{locale:t,dateFormat:e,firstDay:i,timepicker:s,onlyTimepicker:a,timeFormat:r,dateTimeSeparator:h}=this.opts;var n;this.locale=(n=t,JSON.parse(JSON.stringify(n))),e&&(this.locale.dateFormat=e),void 0!==r&&""!==r&&(this.locale.timeFormat=r);let{timeFormat:o}=this.locale;if(""!==i&&(this.locale.firstDay=i),s&&"function"!=typeof e){let t=o?h:"";this.locale.dateFormat=[this.locale.dateFormat,o||""].join(t)}a&&"function"!=typeof e&&(this.locale.dateFormat=this.locale.timeFormat)}_setPositionClasses(t){if("function"==typeof t)return void this.$datepicker.classList.add("-custom-position-");let e=(t=t.split(" "))[0],i=t[1],s="air-datepicker -".concat(e,"-").concat(i,"- -from-").concat(e,"-");this.$datepicker.classList.add(...s.split(" "))}_bindEvents(){this.$el.addEventListener(this.opts.showEvent,this._onFocus),this.$el.addEventListener("blur",this._onBlur),this.$datepicker.addEventListener("mousedown",this._onMouseDown),this.$datepicker.addEventListener("mouseup",this._onMouseUp),window.addEventListener("resize",this._onResize)}_limitViewDateByMaxMinDates(){let{viewDate:t,minDate:e,maxDate:i}=this;i&&p(t,i)&&this.setViewDate(i),e&&m(t,e)&&this.setViewDate(e)}formatDate(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.viewDate,e=arguments.length>1?arguments[1]:void 0;if(t=k(t),!(t instanceof Date))return;let i=e,s=this.locale,a=o(t),r=c(t),h=$.replacer,n="am";this.opts.timepicker&&this.timepicker&&(n=this.timepicker.getDayPeriod(t).dayPeriod);let l={T:t.getTime(),m:a.minutes,mm:a.fullMinutes,h:a.hours12,hh:a.fullHours12,H:a.hours,HH:a.fullHours,aa:n,AA:n.toUpperCase(),E:s.daysShort[a.day],EEEE:s.days[a.day],d:a.date,dd:a.fullDate,M:a.month+1,MM:a.fullMonth,MMM:s.monthsShort[a.month],MMMM:s.months[a.month],yy:a.year.toString().slice(-2),yyyy:a.year,yyyy1:r[0],yyyy2:r[1]};for(let[t,e]of Object.entries(l))i=h(i,D(t),e);return i}down(t){this._handleUpDownActions(t,"down")}up(t){this._handleUpDownActions(t,"up")}selectDate(t){let e,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{currentView:a,parsedViewDate:r,selectedDates:h}=this,{updateTime:n}=s,{moveToOtherMonthsOnSelect:o,moveToOtherYearsOnSelect:l,multipleDates:c,range:d,autoClose:u}=this.opts,m=h.length;if(Array.isArray(t))return t.forEach((t=>{this.selectDate(t,s)})),new Promise((t=>{setTimeout(t)}));if((t=k(t))instanceof Date){if(a===i.days&&t.getMonth()!==r.month&&o&&(e=new Date(t.getFullYear(),t.getMonth(),1)),a===i.years&&t.getFullYear()!==r.year&&l&&(e=new Date(t.getFullYear(),0,1)),e&&this.setViewDate(e),c&&!d){if(m===c)return;this._checkIfDateIsSelected(t)||h.push(t)}else if(d)switch(m){case 1:h.push(t),this.rangeDateTo||(this.rangeDateTo=t),p(this.rangeDateFrom,this.rangeDateTo)&&(this.rangeDateTo=this.rangeDateFrom,this.rangeDateFrom=t),this.selectedDates=[this.rangeDateFrom,this.rangeDateTo];break;case 2:this.selectedDates=[t],this.rangeDateFrom=t,this.rangeDateTo="";break;default:this.selectedDates=[t],this.rangeDateFrom=t}else this.selectedDates=[t];return this.trigger(i.eventChangeSelectedDate,{action:i.actionSelectDate,silent:null==s?void 0:s.silent,date:t,updateTime:n}),this._updateLastSelectedDate(t),u&&!this.timepickerIsActive&&this.visible&&(c||d?d&&1===m&&this.hide():this.hide()),new Promise((t=>{setTimeout(t)}))}}unselectDate(t){let e=this.selectedDates,s=this;if((t=k(t))instanceof Date)return e.some(((a,r)=>{if(u(a,t))return e.splice(r,1),s.selectedDates.length?s._updateLastSelectedDate(s.selectedDates[s.selectedDates.length-1]):(s.rangeDateFrom="",s.rangeDateTo="",s._updateLastSelectedDate(!1)),this.trigger(i.eventChangeSelectedDate,{action:i.actionUnselectDate,date:t}),!0}))}replaceDate(t,e){let s=this.selectedDates.find((e=>u(e,t,this.currentView))),a=this.selectedDates.indexOf(s);a<0||u(this.selectedDates[a],e,this.currentView)||(this.selectedDates[a]=e,this.trigger(i.eventChangeSelectedDate,{action:i.actionSelectDate,date:e,updateTime:!0}),this._updateLastSelectedDate(e))}clear(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.selectedDates=[],this.rangeDateFrom=!1,this.rangeDateTo=!1,this.trigger(i.eventChangeSelectedDate,{action:i.actionUnselectDate,silent:t.silent}),new Promise((t=>{setTimeout(t)}))}show(){let{onShow:t,isMobile:e}=this.opts;this._cancelScheduledCall(),this.visible||this.hideAnimation||this._createComponents(),this.setPosition(this.opts.position),this.$datepicker.classList.add("-active-"),this.visible=!0,t&&this._scheduleCallAfterTransition(t),e&&this._showMobileOverlay()}hide(){let{onHide:t,isMobile:e}=this.opts,i=this._hasTransition();this.visible=!1,this.hideAnimation=!0,this.$datepicker.classList.remove("-active-"),this.customHide&&this.customHide(),this.elIsInput&&this.$el.blur(),this._scheduleCallAfterTransition((e=>{!this.customHide&&(e&&i||!e&&!i)&&this._finishHide(),t&&t(e)})),e&&R.classList.remove("-active-")}_triggerOnSelect(){let t=[],e=[],{selectedDates:i,locale:s,opts:{onSelect:a,multipleDates:r,range:h}}=this,n=r||h,o="function"==typeof s.dateFormat;i.length&&(t=i.map(f),e=o?r?s.dateFormat(t):t.map((t=>s.dateFormat(t))):t.map((t=>this.formatDate(t,s.dateFormat)))),a({date:n?t:t[0],formattedDate:n?e:e[0],datepicker:this})}_handleAlreadySelectedDates(t,e){let{range:i,toggleSelected:s}=this.opts;i?s?this.unselectDate(e):2!==this.selectedDates.length&&this.selectDate(e):s&&this.unselectDate(e),s||this._updateLastSelectedDate(t)}_handleUpDownActions(t,e){if(!((t=k(t||this.focusDate||this.viewDate))instanceof Date))return;let i="up"===e?this.viewIndex+1:this.viewIndex-1;i>2&&(i=2),i<0&&(i=0),this.setViewDate(new Date(t.getFullYear(),t.getMonth(),1)),this.setCurrentView(this.viewIndexes[i])}_handleRangeOnFocus(){1===this.selectedDates.length&&(p(this.selectedDates[0],this.focusDate)?(this.rangeDateTo=this.selectedDates[0],this.rangeDateFrom=this.focusDate):(this.rangeDateTo=this.focusDate,this.rangeDateFrom=this.selectedDates[0]))}getCell(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.day;if(!((t=k(t))instanceof Date))return;let{year:s,month:a,date:r}=o(t),h='[data-year="'.concat(s,'"]'),n='[data-month="'.concat(a,'"]'),l='[data-date="'.concat(r,'"]'),c={[i.day]:"".concat(h).concat(n).concat(l),[i.month]:"".concat(h).concat(n),[i.year]:"".concat(h)};return this.views[this.currentView].$el.querySelector(c[e])}_showMobileOverlay(){R.classList.add("-active-")}_hasTransition(){return window.getComputedStyle(this.$datepicker).getPropertyValue("transition-duration").split(", ").reduce(((t,e)=>parseFloat(e)+t),0)>0}get shouldUpdateDOM(){return this.visible||this.treatAsInline}get parsedViewDate(){return o(this.viewDate)}get currentViewSingular(){return this.currentView.slice(0,-1)}get curDecade(){return c(this.viewDate)}get viewIndex(){return this.viewIndexes.indexOf(this.currentView)}get isFinalView(){return this.currentView===i.years}get hasSelectedDates(){return this.selectedDates.length>0}get isMinViewReached(){return this.currentView===this.opts.minView||this.currentView===i.days}get $container(){return this.$customContainer||I}static replacer(t,e,i){return t.replace(e,(function(t,e,s,a){return e+i+a}))}}var L;return B($,"defaults",s),B($,"version","3.3.0"),B($,"defaultContainerId","air-datepicker-global-container"),L=$.prototype,Object.assign(L,z),e.default}()}))}));var g=h((function(t,e){Object.defineProperty(e,"__esModule",{value:true});e.default=void 0;var i={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear",dateFormat:"MM/dd/yyyy",timeFormat:"hh:mm aa",firstDay:0};e.default=i}));const w=o(g);const k=':host{display:block}:host *{box-sizing:border-box}.date-picker{padding:var(--s-space-8) var(--s-space-16);background-color:var(--s-surface-overlay-default);font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm);letter-spacing:var(--s-letter-spacing-tighter)}@media (min-width: 768px){.date-picker{max-width:17.5rem}}.air-datepicker--pointer{display:none}.air-datepicker-nav{display:flex;margin-bottom:var(--s-space-8);align-items:center}.air-datepicker-nav--action{position:relative;display:inline-flex;width:2.5rem;height:2.5rem;justify-content:center;align-items:center;border-radius:50%;color:var(--s-icon-highlight);cursor:pointer;order:2}.air-datepicker-nav--action:hover{background-color:var(--s-surface-overlay-hovered)}.air-datepicker-nav--title{padding:var(--s-space-8);flex-grow:1;border-radius:var(--s-border-radius-s);font-size:var(--s-font-size-base);font-weight:var(--s-font-weight-medium);line-height:var(--s-line-height-base);text-align:left;cursor:pointer;order:0}.air-datepicker-nav--title i{font-style:normal}.air-datepicker-body--day-names{display:flex;margin-bottom:var(--s-space-8);justify-content:space-between;align-items:center}.air-datepicker-body--day-name{display:inline-flex;flex-basis:calc(100 / 7 * 1%);justify-content:center;align-items:center;color:var(--s-text-subdued);aspect-ratio:1}.air-datepicker-body--cells{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:space-between}.air-datepicker-body--cells.-months-{gap:var(--s-space-2)}.air-datepicker-cell{position:relative;display:inline-flex;flex-basis:calc(100 / 7 * 1%);justify-content:center;align-items:center;font-weight:var(--s-font-weight-medium);cursor:pointer;aspect-ratio:1}.air-datepicker-cell:not(.-month-):not(.-year-):not(.-in-range-):hover:before{position:absolute;z-index:-1;border-radius:50%;background-color:var(--s-surface-overlay-hovered);content:"";inset:0}.air-datepicker-cell.-month-,.air-datepicker-cell.-year-{height:2.5rem;flex-basis:calc(100 / 3 * 1% - var(--s-space-2) * 2);border-radius:var(--s-border-radius-s);aspect-ratio:auto}.air-datepicker-cell.-month-.-in-range-:before,.air-datepicker-cell.-year-.-in-range-:before{border-radius:var(--s-border-radius-s)}.air-datepicker-cell.-month-:hover:not(.-in-range-):not(.-selected-),.air-datepicker-cell.-year-:hover:not(.-in-range-):not(.-selected-){background-color:var(--s-surface-overlay-hovered)}.air-datepicker-cell.-other-month-{color:var(--s-text-subdued)}.air-datepicker-cell.-current-:not(.-month-):not(.-year-):after{position:absolute;z-index:-1;border:var(--s-border-width-default) solid var(--s-border-highlight);border-radius:50%;content:"";inset:0}.air-datepicker-cell.-selected-{color:var(--s-text-on-surface-highlight)}.air-datepicker-cell.-selected-.-year-,.air-datepicker-cell.-selected-.-month-{background-color:var(--s-surface-highlight-default)}.air-datepicker-cell.-selected-:not(.-month-):not(.-year-):not(.-in-range-):before{position:absolute;z-index:-1;border-radius:50%;background-color:var(--s-surface-highlight-default);content:"";inset:0}.air-datepicker-cell.-disabled-{color:var(--s-text-subdued);cursor:default}.air-datepicker-cell.-disabled-:hover{background-color:transparent}.air-datepicker-cell.-in-range-:before{position:absolute;z-index:-1;top:0.0625rem;right:0;bottom:0.0625rem;left:0;border-radius:0;background-color:var(--s-surface-highlight-default);content:"";opacity:0.2}.air-datepicker-cell.-range-from-:not(.-month-):not(.-year-):not(.-range-to-):hover{color:var(--s-text-on-surface-highlight)}.air-datepicker-cell.-range-from-:not(.-month-):not(.-year-):not(.-range-to-):before{position:absolute;z-index:-1;border-radius:50%;background-color:var(--s-surface-highlight-default);content:"";inset:0}.air-datepicker-cell.-range-from-:not(.-month-):not(.-year-):not(.-range-to-):after{position:absolute;z-index:-1;top:0.0625rem;right:0;bottom:0.0625rem;left:50%;border-radius:0;background-color:var(--s-surface-highlight-default);content:"";opacity:0.2}.air-datepicker-cell.-range-to-:not(.-month-):not(.-year-):not(.-range-from-):hover{color:var(--s-text-on-surface-highlight)}.air-datepicker-cell.-range-to-:not(.-month-):not(.-year-):not(.-range-from-):before{position:absolute;z-index:-1;border-radius:50%;background-color:var(--s-surface-highlight-default);content:"";inset:0}.air-datepicker-cell.-range-to-:not(.-month-):not(.-year-):not(.-range-from-):after{position:absolute;z-index:-1;top:0.0625rem;right:50%;bottom:0.0625rem;left:0;border-radius:0;background-color:var(--s-surface-highlight-default);content:"";opacity:0.2}.-hidden-{display:none}';const D=class{constructor(i){t(this,i);this.valueChange=e(this,"valueChange",3);this.locale=w;this.onClick=t=>{t.stopPropagation();t.preventDefault()}}watchProps(){this.init()}componentDidLoad(){this.init()}disconnectedCallback(){var t;(t=this.picker)===null||t===void 0?void 0:t.destroy()}init(){var t;(t=this.picker)===null||t===void 0?void 0:t.destroy();this.picker=new b(this.containerEl,{classes:"date-picker",inline:true,locale:this.locale,maxDate:this.maxDate,minDate:this.minDate,minView:"days",nextHtml:"<flip-icon-chevron-right></flip-icon-chevron-right>",onSelect:({date:t})=>{this.valueChange.emit(t)},prevHtml:"<flip-icon-chevron-left></flip-icon-chevron-left>",range:this.range,selectedDates:this.value===undefined?undefined:Array.isArray(this.value)?this.value:[this.value],startDate:this.startDate,toggleSelected:!this.range,view:"days"})}render(){return i(s,{onClick:this.onClick},i("div",{ref:t=>this.containerEl=t}))}static get watchers(){return{locale:["watchProps"],maxDate:["watchProps"],minDate:["watchProps"],range:["watchProps"],startDate:["watchProps"],value:["watchProps"]}}};D.style=k;const C=":host{display:inline-flex}";const _=class{constructor(e){t(this,e);this.size=24}render(){return i("svg",{class:"flip-icon",fill:"none",height:this.size,part:"icon",viewBox:`0 0 ${this.size} ${this.size}`,width:this.size,xmlns:"http://www.w3.org/2000/svg"},this.size===16&&i(a,null,i("path",{d:"M6 11C5.53333 11 5.13889 10.8389 4.81667 10.5167C4.49444 10.1945 4.33333 9.80004 4.33333 9.33337C4.33333 8.86671 4.49444 8.47226 4.81667 8.15004C5.13889 7.82782 5.53333 7.66671 6 7.66671C6.46667 7.66671 6.86111 7.82782 7.18333 8.15004C7.50556 8.47226 7.66667 8.86671 7.66667 9.33337C7.66667 9.80004 7.50556 10.1945 7.18333 10.5167C6.86111 10.8389 6.46667 11 6 11ZM3.33333 14.6667C2.96667 14.6667 2.65267 14.5363 2.39133 14.2754C2.13044 14.014 2 13.7 2 13.3334V4.00004C2 3.63337 2.13044 3.3196 2.39133 3.05871C2.65267 2.79737 2.96667 2.66671 3.33333 2.66671H4V2.00004C4 1.81115 4.06378 1.65271 4.19133 1.52471C4.31933 1.39715 4.47778 1.33337 4.66667 1.33337C4.85556 1.33337 5.014 1.39715 5.142 1.52471C5.26956 1.65271 5.33333 1.81115 5.33333 2.00004V2.66671H10.6667V2.00004C10.6667 1.81115 10.7307 1.65271 10.8587 1.52471C10.9862 1.39715 11.1444 1.33337 11.3333 1.33337C11.5222 1.33337 11.6804 1.39715 11.808 1.52471C11.936 1.65271 12 1.81115 12 2.00004V2.66671H12.6667C13.0333 2.66671 13.3473 2.79737 13.6087 3.05871C13.8696 3.3196 14 3.63337 14 4.00004V13.3334C14 13.7 13.8696 14.014 13.6087 14.2754C13.3473 14.5363 13.0333 14.6667 12.6667 14.6667H3.33333ZM3.33333 13.3334H12.6667V6.66671H3.33333V13.3334Z",fill:"currentColor"})),this.size===24&&i(a,null,i("path",{d:"M9 16.5C8.3 16.5 7.70833 16.2583 7.225 15.775C6.74167 15.2917 6.5 14.7 6.5 14C6.5 13.3 6.74167 12.7083 7.225 12.225C7.70833 11.7417 8.3 11.5 9 11.5C9.7 11.5 10.2917 11.7417 10.775 12.225C11.2583 12.7083 11.5 13.3 11.5 14C11.5 14.7 11.2583 15.2917 10.775 15.775C10.2917 16.2583 9.7 16.5 9 16.5ZM5 22C4.45 22 3.979 21.8043 3.587 21.413C3.19567 21.021 3 20.55 3 20V6C3 5.45 3.19567 4.97933 3.587 4.588C3.979 4.196 4.45 4 5 4H6V3C6 2.71667 6.09567 2.479 6.287 2.287C6.479 2.09567 6.71667 2 7 2C7.28333 2 7.521 2.09567 7.713 2.287C7.90433 2.479 8 2.71667 8 3V4H16V3C16 2.71667 16.096 2.479 16.288 2.287C16.4793 2.09567 16.7167 2 17 2C17.2833 2 17.5207 2.09567 17.712 2.287C17.904 2.479 18 2.71667 18 3V4H19C19.55 4 20.021 4.196 20.413 4.588C20.8043 4.97933 21 5.45 21 6V20C21 20.55 20.8043 21.021 20.413 21.413C20.021 21.8043 19.55 22 19 22H5ZM5 20H19V10H5V20Z",fill:"currentColor"})),this.size===28&&i(a,null,i("path",{d:"M10.5 19.25C9.68333 19.25 8.99306 18.9681 8.42917 18.4042C7.86528 17.8403 7.58333 17.15 7.58333 16.3334C7.58333 15.5167 7.86528 14.8264 8.42917 14.2625C8.99306 13.6987 9.68333 13.4167 10.5 13.4167C11.3167 13.4167 12.0069 13.6987 12.5708 14.2625C13.1347 14.8264 13.4167 15.5167 13.4167 16.3334C13.4167 17.15 13.1347 17.8403 12.5708 18.4042C12.0069 18.9681 11.3167 19.25 10.5 19.25ZM5.83333 25.6667C5.19167 25.6667 4.64217 25.4384 4.18483 24.9819C3.72828 24.5245 3.5 23.975 3.5 23.3334V7.00004C3.5 6.35837 3.72828 5.80926 4.18483 5.35271C4.64217 4.89537 5.19167 4.66671 5.83333 4.66671H7V3.50004C7 3.16949 7.11161 2.89221 7.33483 2.66821C7.55883 2.44499 7.83611 2.33337 8.16667 2.33337C8.49722 2.33337 8.7745 2.44499 8.9985 2.66821C9.22172 2.89221 9.33333 3.16949 9.33333 3.50004V4.66671H18.6667V3.50004C18.6667 3.16949 18.7787 2.89221 19.0027 2.66821C19.2259 2.44499 19.5028 2.33337 19.8333 2.33337C20.1639 2.33337 20.4408 2.44499 20.664 2.66821C20.888 2.89221 21 3.16949 21 3.50004V4.66671H22.1667C22.8083 4.66671 23.3578 4.89537 23.8152 5.35271C24.2717 5.80926 24.5 6.35837 24.5 7.00004V23.3334C24.5 23.975 24.2717 24.5245 23.8152 24.9819C23.3578 25.4384 22.8083 25.6667 22.1667 25.6667H5.83333ZM5.83333 23.3334H22.1667V11.6667H5.83333V23.3334Z",fill:"currentColor"})))}};_.style=C;const x=":host{position:relative;z-index:var(--s-z-40);display:inline-flex}:host *{box-sizing:border-box}.popover--active:not(.popover--closing) .popover__backdrop{-webkit-animation:0.15s popover-fade-in;animation:0.15s popover-fade-in}@media (prefers-reduced-motion){.popover--active:not(.popover--closing) .popover__backdrop{-webkit-animation:none;animation:none}}.popover--active:not(.popover--closing) .popover__content{-webkit-animation:0.15s popover-slide-in;animation:0.15s popover-slide-in}@media (min-width: 768px){.popover--active:not(.popover--closing) .popover__content{transform-origin:top left;-webkit-animation:0.15s popover-fade-scale-in;animation:0.15s popover-fade-scale-in}}@media (prefers-reduced-motion){.popover--active:not(.popover--closing) .popover__content{-webkit-animation:none;animation:none}}.popover--closing .popover__backdrop{-webkit-animation:0.15s popover-fade-out;animation:0.15s popover-fade-out;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@media (prefers-reduced-motion){.popover--closing .popover__backdrop{-webkit-animation:none;animation:none}}.popover--closing .popover__content{-webkit-animation:0.15s popover-slide-out;animation:0.15s popover-slide-out;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@media (min-width: 768px){.popover--closing .popover__content{-webkit-animation:0.15s popover-fade-out;animation:0.15s popover-fade-out}}@media (prefers-reduced-motion){.popover--closing .popover__content{-webkit-animation:none;animation:none}}.popover--inactive .popover__content{display:none}.popover__backdrop{position:fixed;z-index:0;background-color:rgba(0, 0, 0, 0.2);-webkit-animation:0.15s popover-backdrop-fade-in;animation:0.15s popover-backdrop-fade-in;inset:0}@media (prefers-reduced-motion){.popover__backdrop{-webkit-animation:none;animation:none}}@media (min-width: 768px){.popover__backdrop{display:none}}.popover__content{position:fixed;z-index:2;right:0;bottom:0;left:0;overflow:hidden;border-top-left-radius:var(--s-border-radius-xl);border-top-right-radius:var(--s-border-radius-xl);background-color:var(--s-surface-overlay-default)}@media (min-width: 768px){.popover__content{right:unset;bottom:unset;left:unset;max-width:22.5rem;border-radius:var(--s-border-radius-sm);-webkit-animation:none;animation:none;box-shadow:0.125rem 0.25rem 2.5rem rgba(0, 0, 0, 0.14)}}.popover__scroll-container{overflow-x:hidden;overflow-y:auto;width:100%;max-height:90vh;padding-top:var(--s-space-24);padding-bottom:var(--s-space-24);overscroll-behavior:contain}@media (min-width: 768px){.popover__scroll-container{max-height:22rem;padding-top:var(--s-space-8);padding-bottom:var(--s-space-8)}}.popover__handle{position:absolute;top:var(--s-space-8);left:50%;width:2.5rem;height:0.375rem;border-radius:0.1875rem;background-color:var(--s-border-default);transform:translatex(-50%)}@media (min-width: 768px){.popover__handle{display:none}}@-webkit-keyframes popover-slide-in{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes popover-slide-in{from{transform:translateY(100%)}to{transform:translateY(0)}}@-webkit-keyframes popover-slide-out{from{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes popover-slide-out{from{transform:translateY(0)}to{transform:translateY(100%)}}@-webkit-keyframes popover-fade-in{from{opacity:0}to{opacity:1}}@keyframes popover-fade-in{from{opacity:0}to{opacity:1}}@-webkit-keyframes popover-fade-out{from{opacity:1}to{opacity:0}}@keyframes popover-fade-out{from{opacity:1}to{opacity:0}}@-webkit-keyframes popover-fade-scale-in{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes popover-fade-scale-in{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}";const M=class{constructor(e){t(this,e);this.placement="bottom-start";this.active=false;this.closing=false;this.onFocusOut=t=>{if(!this.active){return}const e=t.relatedTarget||t.target;const i=!this.el.contains(e);if(i){this.close()}};this.toggle=t=>{t.stopPropagation();if(this.active){this.close()}else{this.open()}};this.onKeydown=t=>{if(t.code==="Escape"&&this.active){this.close()}};this.reposition=async()=>{const t=v();if(!Boolean(this.triggerEl)||!Boolean(this.contentContainer)){return}if(t){this.position=undefined;return}this.position=await l(this.triggerEl,this.contentContainer,{middleware:[c(),d()],placement:this.placement,strategy:"fixed"})};this.onCloseButtonClick=()=>{this.close()}}componentDidLoad(){this.connectTrigger();this.updateChildMenuItems();this.updateTriggerAttributes()}disconnectedCallback(){p(this.scrollContainer)}onWindowClick(t){const e=t.target;if(!this.el.contains(e)){this.close()}}async close(){var t;if(this.closing){return}if(this.disableAutoUpdate){this.disableAutoUpdate()}this.closing=true;setTimeout((()=>{this.active=false;this.closing=false;this.updateTriggerAttributes()}),150);this.unlockBodyScroll();(t=this.getNativeTriggerElement())===null||t===void 0?void 0:t.focus()}async open(){this.active=true;this.updateChildMenuItems();this.updateTriggerAttributes();requestAnimationFrame((async()=>{await this.reposition();if(this.childMenuItems.length>0){this.childMenuItems[0].focus()}else{this.contentContainer.focus()}if(this.disableAutoUpdate){this.disableAutoUpdate()}this.disableAutoUpdate=u(this.triggerEl,this.contentContainer,this.reposition);this.scrollContainer.scrollTop=0;this.lockBodyScroll()}))}connectTrigger(){this.triggerEl=y(document.body,`#${this.trigger}`)[0];if(!Boolean(this.triggerEl)){return}this.triggerEl.addEventListener("click",this.toggle)}getNativeTriggerElement(){var t,e,i;return this.triggerEl.tagName.startsWith("FLIP-")?((t=this.triggerEl)===null||t===void 0?void 0:t.children[0])||((i=(e=this.triggerEl)===null||e===void 0?void 0:e.shadowRoot)===null||i===void 0?void 0:i.children[0])||this.triggerEl:this.triggerEl}updateTriggerAttributes(){if(!Boolean(this.triggerEl)){return}const t=this.getNativeTriggerElement();t.setAttribute("aria-controls",this.popoverId);t.setAttribute("aria-expanded",String(this.active));t.setAttribute("aria-haspopup","dialog")}updateChildMenuItems(){this.childMenuItems=y(this.el,'[role="menuitem"]')}lockBodyScroll(){const t=v();if(!t){return}m(this.scrollContainer)}unlockBodyScroll(){p(this.scrollContainer)}render(){var t,e;const a=f("popover",{"popover--closing":this.closing,"popover--active":this.active,"popover--inactive":!this.active});return i(s,{id:this.popoverId,onFocusout:this.onFocusOut},i("div",{class:a,onKeyDown:this.onKeydown},i("div",{"aria-hidden":!this.active?"true":"false","aria-label":this.label,class:"popover__content",role:"dialog",tabindex:"-1",ref:t=>this.contentContainer=t,style:{top:Boolean(this.position)?`${(t=this.position)===null||t===void 0?void 0:t.y}px`:"",left:Boolean(this.position)?`${(e=this.position)===null||e===void 0?void 0:e.x}px`:""}},i("span",{class:"popover__handle"}),i("div",{class:"popover__scroll-container",ref:t=>this.scrollContainer=t},i("slot",null))),this.active&&i("div",{class:"popover__backdrop",onClick:this.onCloseButtonClick})))}get el(){return r(this)}};M.style=x;export{D as flip_date_picker,_ as flip_icon_today,M as flip_popover};
2
+ //# sourceMappingURL=p-f6a8ea5d.entry.js.map