@mono-lit/helper 0.0.0-stage → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (538) hide show
  1. package/LICENSE.md +55 -0
  2. package/README.md +34 -2
  3. package/dist/breakpoints-CAbhDUht.js +84 -0
  4. package/dist/checkbox-Cqpie9Ap.js +4 -0
  5. package/dist/chip-DBUUa2eB.js +4 -0
  6. package/dist/chip-limits-BMoO31JM.js +213 -0
  7. package/dist/chip-strip-Cw3gyz0q.js +213 -0
  8. package/dist/color-DHYrfXsX.js +253 -0
  9. package/dist/css-class-BRKRzHx-.js +60 -0
  10. package/dist/css-size-DhHSVZJK.js +37 -0
  11. package/dist/data/theme/presets.json.d.ts +140 -0
  12. package/dist/data-search-Bwo5bg8K.js +573 -0
  13. package/dist/data-source-controller-C50Qyfzh.js +178 -0
  14. package/dist/data-source-options-BTpfrOZ_.js +535 -0
  15. package/dist/data-source-options-CQSTZHPE.js +537 -0
  16. package/dist/data-source-read-CUX-lgrQ.js +216 -0
  17. package/dist/data-source-read-DL88aH8t.js +217 -0
  18. package/dist/decorate-DEXtNagw.js +141 -0
  19. package/dist/element-props-CLB6yvbm.js +114 -0
  20. package/dist/esm-Ptok4SQZ.js +2026 -0
  21. package/dist/excel-CY6zGkcx.js +608 -0
  22. package/dist/excel-DopRbEMK.js +608 -0
  23. package/dist/export-BvlBx_GZ.js +2302 -0
  24. package/dist/export.d.ts +1 -0
  25. package/dist/export.js +2302 -0
  26. package/dist/field-icons-BoOG6KrL.js +51 -0
  27. package/dist/field-path-C92eGLg3.js +251 -0
  28. package/dist/filter-builder-Bke3qOgJ.js +205 -0
  29. package/dist/filter-builder-CE4zE0V5.js +205 -0
  30. package/dist/filter-eval-DIfU2EAn.js +173 -0
  31. package/dist/filter-odata-C1vSGZaY.js +591 -0
  32. package/dist/form-control-core-B8d7k6vk.js +223 -0
  33. package/dist/form-control-core-eeRr0zLU.js +223 -0
  34. package/dist/hydration-flush-RB5Tz5nl.js +1001 -0
  35. package/dist/icon-CJkTlmTb.js +55 -0
  36. package/dist/icon-dVhYJUIH.js +17 -0
  37. package/dist/import-BgJdkwBI.js +606 -0
  38. package/dist/import.d.ts +1 -0
  39. package/dist/import.js +606 -0
  40. package/dist/index.d.ts +1 -0
  41. package/dist/index.js +16 -0
  42. package/dist/index.node-DjvYOL-J.js +395 -0
  43. package/dist/index.node.d.ts +1 -0
  44. package/dist/index.node.js +16 -0
  45. package/dist/input-zGOULADt.js +4 -0
  46. package/dist/layout-var-CZnzMC0s.js +73 -0
  47. package/dist/light-slots-BVJwyg_2.js +244 -0
  48. package/dist/light-slots-DW1WgfgT.js +254 -0
  49. package/dist/markdown-DfqrfOJN.js +20146 -0
  50. package/dist/mono-button-CoVnBLav.js +873 -0
  51. package/dist/mono-button.shadow-FfP_hMH4.js +784 -0
  52. package/dist/mono-data-chart-ChU4Ii3p.js +738 -0
  53. package/dist/mono-data-dropdown-BAUl58kW.js +357 -0
  54. package/dist/mono-data-grid-CLBK8clE.js +4140 -0
  55. package/dist/mono-data-grid-Db80FzdZ.js +4142 -0
  56. package/dist/mono-element-B0kP_96P.js +232 -0
  57. package/dist/mono-event-Bi1qP9uN.js +129 -0
  58. package/dist/mono-form-controller-5PfsU4qa.js +409 -0
  59. package/dist/mono-modal-controller-BMO3n3rP.js +223 -0
  60. package/dist/mono-ui-CPV7rrdo.js +358 -0
  61. package/dist/notifier-CE4yxMUQ.js +88 -0
  62. package/dist/nuxt.d.ts +1 -0
  63. package/dist/nuxt.js +130 -0
  64. package/dist/popup-portal-BziRX1yG.js +465 -0
  65. package/dist/popup-stack-CEEMib__.js +189 -0
  66. package/dist/rate-limit-BBa2PO79.js +521 -0
  67. package/dist/reactive-BHsqVjRh.js +789 -0
  68. package/dist/reactive-D3EERqgO.js +47 -0
  69. package/dist/search.d.ts +1 -0
  70. package/dist/search.js +97 -0
  71. package/dist/src/components/accordion/accordion-core.d.ts +62 -0
  72. package/dist/src/components/accordion/accordion-types.d.ts +62 -0
  73. package/dist/src/components/accordion/index.d.ts +3 -0
  74. package/dist/src/components/accordion/index.shadow.d.ts +5 -0
  75. package/dist/src/components/accordion/mono-accordion.d.ts +55 -0
  76. package/dist/src/components/accordion/mono-accordion.shadow.d.ts +56 -0
  77. package/dist/src/components/alert/alert-core.d.ts +46 -0
  78. package/dist/src/components/alert/alert-types.d.ts +44 -0
  79. package/dist/src/components/alert/index.d.ts +3 -0
  80. package/dist/src/components/alert/index.shadow.d.ts +5 -0
  81. package/dist/src/components/alert/mono-alert.d.ts +44 -0
  82. package/dist/src/components/alert/mono-alert.shadow.d.ts +34 -0
  83. package/dist/src/components/breadcrumb/breadcrumb-core.d.ts +61 -0
  84. package/dist/src/components/breadcrumb/breadcrumb-list-core.d.ts +49 -0
  85. package/dist/src/components/breadcrumb/breadcrumb-render.d.ts +31 -0
  86. package/dist/src/components/breadcrumb/breadcrumb-types.d.ts +117 -0
  87. package/dist/src/components/breadcrumb/breadcrumb-utils.d.ts +43 -0
  88. package/dist/src/components/breadcrumb/index.d.ts +6 -0
  89. package/dist/src/components/breadcrumb/index.shadow.d.ts +8 -0
  90. package/dist/src/components/breadcrumb/mono-breadcrumb-list.d.ts +29 -0
  91. package/dist/src/components/breadcrumb/mono-breadcrumb-list.shadow.d.ts +48 -0
  92. package/dist/src/components/breadcrumb/mono-breadcrumb.d.ts +38 -0
  93. package/dist/src/components/breadcrumb/mono-breadcrumb.shadow.d.ts +73 -0
  94. package/dist/src/components/button/button-core.d.ts +90 -0
  95. package/dist/src/components/button/button-dropdown-core.d.ts +57 -0
  96. package/dist/src/components/button/button-dropdown-types.d.ts +129 -0
  97. package/dist/src/components/button/button-types.d.ts +219 -0
  98. package/dist/src/components/button/button-utils.d.ts +18 -0
  99. package/dist/src/components/button/index.button-dropdown.d.ts +4 -0
  100. package/dist/src/components/button/index.button-dropdown.shadow.d.ts +4 -0
  101. package/dist/src/components/button/index.d.ts +8 -0
  102. package/dist/src/components/button/index.shadow.d.ts +5 -0
  103. package/dist/src/components/button/mono-button-dropdown.d.ts +35 -0
  104. package/dist/src/components/button/mono-button-dropdown.shadow.d.ts +45 -0
  105. package/dist/src/components/button/mono-button.d.ts +123 -0
  106. package/dist/src/components/button/mono-button.shadow.d.ts +56 -0
  107. package/dist/src/components/card/card-core.d.ts +74 -0
  108. package/dist/src/components/card/card-types.d.ts +137 -0
  109. package/dist/src/components/card/card-utils.d.ts +23 -0
  110. package/dist/src/components/card/index.d.ts +4 -0
  111. package/dist/src/components/card/index.shadow.d.ts +6 -0
  112. package/dist/src/components/card/mono-card.d.ts +56 -0
  113. package/dist/src/components/card/mono-card.shadow.d.ts +52 -0
  114. package/dist/src/components/chart/chart-core.d.ts +43 -0
  115. package/dist/src/components/chart/chart-odata.d.ts +52 -0
  116. package/dist/src/components/chart/chart-types.d.ts +337 -0
  117. package/dist/src/components/chart/index.d.ts +8 -0
  118. package/dist/src/components/chart/index.shadow.d.ts +7 -0
  119. package/dist/src/components/chart/mono-chart-presets.d.ts +43 -0
  120. package/dist/src/components/chart/mono-chart-presets.shadow.d.ts +43 -0
  121. package/dist/src/components/chart/mono-chart.d.ts +30 -0
  122. package/dist/src/components/chart/mono-chart.shadow.d.ts +22 -0
  123. package/dist/src/components/chart/mono-data-chart.d.ts +27 -0
  124. package/dist/src/components/checkbox/checkbox-core.d.ts +53 -0
  125. package/dist/src/components/checkbox/checkbox-types.d.ts +69 -0
  126. package/dist/src/components/checkbox/checkbox-utils.d.ts +35 -0
  127. package/dist/src/components/checkbox/index.d.ts +4 -0
  128. package/dist/src/components/checkbox/index.shadow.d.ts +5 -0
  129. package/dist/src/components/checkbox/mono-checkbox.d.ts +34 -0
  130. package/dist/src/components/checkbox/mono-checkbox.shadow.d.ts +45 -0
  131. package/dist/src/components/chip/chip-core.d.ts +58 -0
  132. package/dist/src/components/chip/chip-types.d.ts +142 -0
  133. package/dist/src/components/chip/chip-utils.d.ts +24 -0
  134. package/dist/src/components/chip/index.d.ts +8 -0
  135. package/dist/src/components/chip/index.shadow.d.ts +6 -0
  136. package/dist/src/components/chip/mono-chip.d.ts +48 -0
  137. package/dist/src/components/chip/mono-chip.shadow.d.ts +33 -0
  138. package/dist/src/components/chip/mono-status-dot.d.ts +34 -0
  139. package/dist/src/components/date/date-core.d.ts +80 -0
  140. package/dist/src/components/date/date-types.d.ts +163 -0
  141. package/dist/src/components/date/index.d.ts +3 -0
  142. package/dist/src/components/date/index.shadow.d.ts +4 -0
  143. package/dist/src/components/date/mono-date.d.ts +22 -0
  144. package/dist/src/components/date/mono-date.shadow.d.ts +31 -0
  145. package/dist/src/components/drawer/drawer-core.d.ts +99 -0
  146. package/dist/src/components/drawer/drawer-types.d.ts +153 -0
  147. package/dist/src/components/drawer/index.d.ts +3 -0
  148. package/dist/src/components/drawer/index.shadow.d.ts +4 -0
  149. package/dist/src/components/drawer/mono-drawer.d.ts +45 -0
  150. package/dist/src/components/drawer/mono-drawer.shadow.d.ts +46 -0
  151. package/dist/src/components/dropdown/dropdown-core.d.ts +33 -0
  152. package/dist/src/components/dropdown/dropdown-types.d.ts +88 -0
  153. package/dist/src/components/dropdown/index.d.ts +3 -0
  154. package/dist/src/components/dropdown/index.shadow.d.ts +4 -0
  155. package/dist/src/components/dropdown/mono-dropdown.d.ts +34 -0
  156. package/dist/src/components/dropdown/mono-dropdown.shadow.d.ts +28 -0
  157. package/dist/src/components/dropdown-table/dropdown-table-core.d.ts +65 -0
  158. package/dist/src/components/dropdown-table/dropdown-table-types.d.ts +278 -0
  159. package/dist/src/components/dropdown-table/index.d.ts +5 -0
  160. package/dist/src/components/dropdown-table/index.shadow.d.ts +6 -0
  161. package/dist/src/components/dropdown-table/mono-data-dropdown.d.ts +152 -0
  162. package/dist/src/components/dropdown-table/mono-dropdown-table.d.ts +46 -0
  163. package/dist/src/components/dropdown-table/mono-dropdown-table.shadow.d.ts +22 -0
  164. package/dist/src/components/file-upload/file-upload-core.d.ts +60 -0
  165. package/dist/src/components/file-upload/file-upload-types.d.ts +145 -0
  166. package/dist/src/components/file-upload/file-upload-utils.d.ts +16 -0
  167. package/dist/src/components/file-upload/index.d.ts +4 -0
  168. package/dist/src/components/file-upload/index.shadow.d.ts +5 -0
  169. package/dist/src/components/file-upload/mono-file-upload.d.ts +33 -0
  170. package/dist/src/components/file-upload/mono-file-upload.shadow.d.ts +50 -0
  171. package/dist/src/components/filter/filter-builder-core.d.ts +36 -0
  172. package/dist/src/components/filter/filter-builder.d.ts +23 -0
  173. package/dist/src/components/filter/filter-odata.d.ts +27 -0
  174. package/dist/src/components/filter/filter-operators.d.ts +13 -0
  175. package/dist/src/components/filter/filter-types.d.ts +253 -0
  176. package/dist/src/components/filter/index.d.ts +6 -0
  177. package/dist/src/components/filter/index.shadow.d.ts +7 -0
  178. package/dist/src/components/filter/mono-filter-builder.d.ts +21 -0
  179. package/dist/src/components/filter/mono-filter-builder.shadow.d.ts +17 -0
  180. package/dist/src/components/form/form-control-core.d.ts +37 -0
  181. package/dist/src/components/form/form-rules.d.ts +25 -0
  182. package/dist/src/components/form/form-types.d.ts +307 -0
  183. package/dist/src/components/form/index.d.ts +6 -0
  184. package/dist/src/components/form/mono-form-controller.d.ts +16 -0
  185. package/dist/src/components/input/index.d.ts +6 -0
  186. package/dist/src/components/input/index.shadow.d.ts +8 -0
  187. package/dist/src/components/input/input-core.d.ts +91 -0
  188. package/dist/src/components/input/input-format.d.ts +118 -0
  189. package/dist/src/components/input/input-types.d.ts +179 -0
  190. package/dist/src/components/input/input-utils.d.ts +10 -0
  191. package/dist/src/components/input/mono-input.d.ts +46 -0
  192. package/dist/src/components/input/mono-input.shadow.d.ts +34 -0
  193. package/dist/src/components/menu/index.d.ts +6 -0
  194. package/dist/src/components/menu/index.shadow.d.ts +7 -0
  195. package/dist/src/components/menu/menu-core.d.ts +65 -0
  196. package/dist/src/components/menu/menu-render.d.ts +55 -0
  197. package/dist/src/components/menu/menu-types.d.ts +195 -0
  198. package/dist/src/components/menu/menu-utils.d.ts +53 -0
  199. package/dist/src/components/menu/mono-menu-list.d.ts +118 -0
  200. package/dist/src/components/menu/mono-menu.d.ts +39 -0
  201. package/dist/src/components/menu/mono-menu.shadow.d.ts +40 -0
  202. package/dist/src/components/modal/index.d.ts +4 -0
  203. package/dist/src/components/modal/index.shadow.d.ts +5 -0
  204. package/dist/src/components/modal/modal-core.d.ts +110 -0
  205. package/dist/src/components/modal/modal-types.d.ts +304 -0
  206. package/dist/src/components/modal/mono-modal-controller.d.ts +4 -0
  207. package/dist/src/components/modal/mono-modal.d.ts +45 -0
  208. package/dist/src/components/modal/mono-modal.shadow.d.ts +50 -0
  209. package/dist/src/components/nav/index.d.ts +4 -0
  210. package/dist/src/components/nav/index.shadow.d.ts +6 -0
  211. package/dist/src/components/nav/mono-nav.d.ts +41 -0
  212. package/dist/src/components/nav/mono-nav.shadow.d.ts +21 -0
  213. package/dist/src/components/nav/nav-core.d.ts +34 -0
  214. package/dist/src/components/nav/nav-types.d.ts +48 -0
  215. package/dist/src/components/nav/nav-utils.d.ts +12 -0
  216. package/dist/src/components/radio/index.d.ts +4 -0
  217. package/dist/src/components/radio/index.shadow.d.ts +5 -0
  218. package/dist/src/components/radio/mono-radio.d.ts +31 -0
  219. package/dist/src/components/radio/mono-radio.shadow.d.ts +35 -0
  220. package/dist/src/components/radio/radio-core.d.ts +45 -0
  221. package/dist/src/components/radio/radio-types.d.ts +58 -0
  222. package/dist/src/components/radio/radio-utils.d.ts +12 -0
  223. package/dist/src/components/rich-text-editor/index.d.ts +5 -0
  224. package/dist/src/components/rich-text-editor/index.shadow.d.ts +6 -0
  225. package/dist/src/components/rich-text-editor/mono-rich-text-editor.d.ts +31 -0
  226. package/dist/src/components/rich-text-editor/mono-rich-text-editor.shadow.d.ts +34 -0
  227. package/dist/src/components/rich-text-editor/rich-text-editor-core.d.ts +100 -0
  228. package/dist/src/components/rich-text-editor/rich-text-editor-loader.d.ts +17 -0
  229. package/dist/src/components/rich-text-editor/rich-text-editor-toolbar.d.ts +65 -0
  230. package/dist/src/components/rich-text-editor/rich-text-editor-types.d.ts +231 -0
  231. package/dist/src/components/select/index.d.ts +4 -0
  232. package/dist/src/components/select/index.shadow.d.ts +5 -0
  233. package/dist/src/components/select/mono-select.d.ts +69 -0
  234. package/dist/src/components/select/mono-select.shadow.d.ts +48 -0
  235. package/dist/src/components/select/select-core.d.ts +98 -0
  236. package/dist/src/components/select/select-types.d.ts +258 -0
  237. package/dist/src/components/select/select-utils.d.ts +7 -0
  238. package/dist/src/components/sidebar/index.d.ts +4 -0
  239. package/dist/src/components/sidebar/index.shadow.d.ts +6 -0
  240. package/dist/src/components/sidebar/mono-sidebar.d.ts +34 -0
  241. package/dist/src/components/sidebar/mono-sidebar.shadow.d.ts +27 -0
  242. package/dist/src/components/sidebar/sidebar-core.d.ts +51 -0
  243. package/dist/src/components/sidebar/sidebar-types.d.ts +119 -0
  244. package/dist/src/components/sidebar/sidebar-utils.d.ts +55 -0
  245. package/dist/src/components/switch/index.d.ts +4 -0
  246. package/dist/src/components/switch/index.shadow.d.ts +5 -0
  247. package/dist/src/components/switch/mono-switch.d.ts +31 -0
  248. package/dist/src/components/switch/mono-switch.shadow.d.ts +36 -0
  249. package/dist/src/components/switch/switch-core.d.ts +49 -0
  250. package/dist/src/components/switch/switch-types.d.ts +64 -0
  251. package/dist/src/components/switch/switch-utils.d.ts +12 -0
  252. package/dist/src/components/table/array-source.d.ts +44 -0
  253. package/dist/src/components/table/date-filter-tree.d.ts +93 -0
  254. package/dist/src/components/table/grouping.d.ts +55 -0
  255. package/dist/src/components/table/index.d.ts +33 -0
  256. package/dist/src/components/table/index.shadow.d.ts +47 -0
  257. package/dist/src/components/table/mono-data-grid.d.ts +1756 -0
  258. package/dist/src/components/table/mono-table-checkbox-core.d.ts +76 -0
  259. package/dist/src/components/table/mono-table-checkbox.d.ts +34 -0
  260. package/dist/src/components/table/mono-table-checkbox.shadow.d.ts +26 -0
  261. package/dist/src/components/table/mono-table-detail-core.d.ts +87 -0
  262. package/dist/src/components/table/mono-table-detail.d.ts +32 -0
  263. package/dist/src/components/table/mono-table-detail.shadow.d.ts +31 -0
  264. package/dist/src/components/table/mono-table-empty-core.d.ts +60 -0
  265. package/dist/src/components/table/mono-table-empty.d.ts +35 -0
  266. package/dist/src/components/table/mono-table-empty.shadow.d.ts +40 -0
  267. package/dist/src/components/table/mono-table-error-core.d.ts +84 -0
  268. package/dist/src/components/table/mono-table-error.d.ts +28 -0
  269. package/dist/src/components/table/mono-table-error.shadow.d.ts +21 -0
  270. package/dist/src/components/table/mono-table-info-core.d.ts +13 -0
  271. package/dist/src/components/table/mono-table-info.d.ts +19 -0
  272. package/dist/src/components/table/mono-table-info.shadow.d.ts +14 -0
  273. package/dist/src/components/table/mono-table-loading-core.d.ts +41 -0
  274. package/dist/src/components/table/mono-table-loading.d.ts +50 -0
  275. package/dist/src/components/table/mono-table-loading.shadow.d.ts +14 -0
  276. package/dist/src/components/table/mono-table-page-size-core.d.ts +14 -0
  277. package/dist/src/components/table/mono-table-page-size.d.ts +16 -0
  278. package/dist/src/components/table/mono-table-page-size.shadow.d.ts +11 -0
  279. package/dist/src/components/table/mono-table-paging-core.d.ts +22 -0
  280. package/dist/src/components/table/mono-table-paging-group-core.d.ts +18 -0
  281. package/dist/src/components/table/mono-table-paging-group.d.ts +20 -0
  282. package/dist/src/components/table/mono-table-paging-group.shadow.d.ts +13 -0
  283. package/dist/src/components/table/mono-table-paging.d.ts +16 -0
  284. package/dist/src/components/table/mono-table-paging.shadow.d.ts +11 -0
  285. package/dist/src/components/table/mono-table-search-core.d.ts +74 -0
  286. package/dist/src/components/table/mono-table-search.d.ts +34 -0
  287. package/dist/src/components/table/mono-table-search.shadow.d.ts +21 -0
  288. package/dist/src/components/table/mono-table-sort-core.d.ts +35 -0
  289. package/dist/src/components/table/mono-table-sort.d.ts +38 -0
  290. package/dist/src/components/table/mono-table-sort.shadow.d.ts +20 -0
  291. package/dist/src/components/table/mono-table-summary-core.d.ts +26 -0
  292. package/dist/src/components/table/mono-table-summary.d.ts +24 -0
  293. package/dist/src/components/table/mono-table-summary.shadow.d.ts +14 -0
  294. package/dist/src/components/table/mono-table-th-core.d.ts +56 -0
  295. package/dist/src/components/table/mono-table-th.d.ts +41 -0
  296. package/dist/src/components/table/mono-table-th.shadow.d.ts +19 -0
  297. package/dist/src/components/table/store-group-source.d.ts +24 -0
  298. package/dist/src/components/table/table-controller-core.d.ts +40 -0
  299. package/dist/src/components/table/table-filter-icons.d.ts +3 -0
  300. package/dist/src/components/table/table-menu-core.d.ts +65 -0
  301. package/dist/src/components/table/table-overlay.d.ts +165 -0
  302. package/dist/src/components/table/table-sort-icons.d.ts +4 -0
  303. package/dist/src/components/table/table-sort-utils.d.ts +20 -0
  304. package/dist/src/components/table/table-types.d.ts +475 -0
  305. package/dist/src/components/tabs/index.d.ts +3 -0
  306. package/dist/src/components/tabs/index.shadow.d.ts +4 -0
  307. package/dist/src/components/tabs/mono-tabs.d.ts +33 -0
  308. package/dist/src/components/tabs/mono-tabs.shadow.d.ts +37 -0
  309. package/dist/src/components/tabs/tabs-core.d.ts +57 -0
  310. package/dist/src/components/tabs/tabs-types.d.ts +65 -0
  311. package/dist/src/components/tag-input/index.d.ts +4 -0
  312. package/dist/src/components/tag-input/index.shadow.d.ts +5 -0
  313. package/dist/src/components/tag-input/mono-tag-input.d.ts +66 -0
  314. package/dist/src/components/tag-input/mono-tag-input.shadow.d.ts +40 -0
  315. package/dist/src/components/tag-input/tag-input-core.d.ts +108 -0
  316. package/dist/src/components/tag-input/tag-input-types.d.ts +394 -0
  317. package/dist/src/components/tag-input/tag-input-utils.d.ts +8 -0
  318. package/dist/src/components/textarea/index.d.ts +4 -0
  319. package/dist/src/components/textarea/index.shadow.d.ts +5 -0
  320. package/dist/src/components/textarea/mono-textarea.d.ts +29 -0
  321. package/dist/src/components/textarea/mono-textarea.shadow.d.ts +31 -0
  322. package/dist/src/components/textarea/textarea-core.d.ts +60 -0
  323. package/dist/src/components/textarea/textarea-types.d.ts +131 -0
  324. package/dist/src/components/textarea/textarea-utils.d.ts +7 -0
  325. package/dist/src/components/tooltip/control-tooltip.d.ts +36 -0
  326. package/dist/src/components/tooltip/index.d.ts +6 -0
  327. package/dist/src/components/tooltip/tooltip-config.d.ts +27 -0
  328. package/dist/src/components/tooltip/tooltip-declarative.d.ts +41 -0
  329. package/dist/src/components/tooltip/tooltip-loader.d.ts +1 -0
  330. package/dist/src/components/tooltip/tooltip-types.d.ts +110 -0
  331. package/dist/src/composables/breakpoints.d.ts +59 -0
  332. package/dist/src/composables/chip-limits.d.ts +48 -0
  333. package/dist/src/composables/chip-strip.d.ts +93 -0
  334. package/dist/src/composables/color.d.ts +103 -0
  335. package/dist/src/composables/css-class.d.ts +27 -0
  336. package/dist/src/composables/css-size.d.ts +40 -0
  337. package/dist/src/composables/data-source-controller.d.ts +84 -0
  338. package/dist/src/composables/element-props.d.ts +46 -0
  339. package/dist/src/composables/field-icons.d.ts +7 -0
  340. package/dist/src/composables/hybird-prop.d.ts +79 -0
  341. package/dist/src/composables/hydration-flush.d.ts +34 -0
  342. package/dist/src/composables/icon.d.ts +17 -0
  343. package/dist/src/composables/layout-var.d.ts +34 -0
  344. package/dist/src/composables/light-slots.d.ts +133 -0
  345. package/dist/src/composables/mdi-glyphs.d.ts +4 -0
  346. package/dist/src/composables/mono-element.d.ts +9 -0
  347. package/dist/src/composables/mono-event.d.ts +55 -0
  348. package/dist/src/composables/mono-pending.d.ts +8 -0
  349. package/dist/src/composables/mono-skeleton.d.ts +193 -0
  350. package/dist/src/composables/mono-ui.d.ts +58 -0
  351. package/dist/src/composables/notifier.d.ts +46 -0
  352. package/dist/src/composables/popup-portal.d.ts +226 -0
  353. package/dist/src/composables/popup-stack.d.ts +70 -0
  354. package/dist/src/composables/rate-limit.d.ts +108 -0
  355. package/dist/src/composables/reactive.d.ts +53 -0
  356. package/dist/src/composables/shadow-css.d.ts +42 -0
  357. package/dist/src/composables/visibility.d.ts +36 -0
  358. package/dist/src/data/theme/index.d.ts +30 -0
  359. package/dist/src/data/theme/presets.d.ts +94 -0
  360. package/dist/src/entries/index.d.ts +2 -0
  361. package/dist/src/entries/index.node.d.ts +42 -0
  362. package/dist/src/entries/search.d.ts +3 -0
  363. package/dist/src/export/detail.d.ts +29 -0
  364. package/dist/src/export/download.d.ts +9 -0
  365. package/dist/src/export/excel/index.d.ts +27 -0
  366. package/dist/src/export/excel/nodes.d.ts +123 -0
  367. package/dist/src/export/expression.d.ts +36 -0
  368. package/dist/src/export/helpers.d.ts +6 -0
  369. package/dist/src/export/index.d.ts +13 -0
  370. package/dist/src/export/markdown.d.ts +52 -0
  371. package/dist/src/export/resolve-data.d.ts +31 -0
  372. package/dist/src/export/sentinel.d.ts +97 -0
  373. package/dist/src/export/sheet-name.d.ts +45 -0
  374. package/dist/src/export/styles.d.ts +33 -0
  375. package/dist/src/export/template.d.ts +10 -0
  376. package/dist/src/export/types.d.ts +259 -0
  377. package/dist/src/import/coerce.d.ts +38 -0
  378. package/dist/src/import/index.d.ts +16 -0
  379. package/dist/src/import/match.d.ts +54 -0
  380. package/dist/src/import/parse.d.ts +15 -0
  381. package/dist/src/import/types.d.ts +153 -0
  382. package/dist/src/nuxt/index.d.ts +94 -0
  383. package/dist/src/search/data-search.d.ts +207 -0
  384. package/dist/src/search/field-path.d.ts +107 -0
  385. package/dist/src/search/filter-eval.d.ts +30 -0
  386. package/dist/src/search/index.d.ts +22 -0
  387. package/dist/src/search/odata-search.d.ts +18 -0
  388. package/dist/src/search/search-expr.d.ts +160 -0
  389. package/dist/src/utils/data-source-apply.d.ts +97 -0
  390. package/dist/src/utils/data-source-options.d.ts +116 -0
  391. package/dist/src/utils/data-source-read.d.ts +85 -0
  392. package/dist/src/utils/data-source-summary.d.ts +55 -0
  393. package/dist/src/utils/normalize-error.d.ts +60 -0
  394. package/dist/src/vite/index.d.ts +48 -0
  395. package/dist/src/vite/mono-client-only.d.ts +35 -0
  396. package/dist/src/vite/mono-ssr-stub.d.ts +20 -0
  397. package/dist/src/vite/shadow-manifest.d.ts +8 -0
  398. package/dist/styles-BIJ31TM4.js +20146 -0
  399. package/dist/tooltip-CysgRgBi.js +760 -0
  400. package/dist/tooltip.d.ts +1 -0
  401. package/dist/tooltip.js +2 -0
  402. package/dist/ui/accordion.d.ts +1 -0
  403. package/dist/ui/accordion.js +466 -0
  404. package/dist/ui/alert.d.ts +1 -0
  405. package/dist/ui/alert.js +221 -0
  406. package/dist/ui/breadcrumb.d.ts +1 -0
  407. package/dist/ui/breadcrumb.js +902 -0
  408. package/dist/ui/button-dropdown.d.ts +1 -0
  409. package/dist/ui/button-dropdown.js +679 -0
  410. package/dist/ui/button.d.ts +1 -0
  411. package/dist/ui/button.js +63 -0
  412. package/dist/ui/card.d.ts +1 -0
  413. package/dist/ui/card.js +511 -0
  414. package/dist/ui/chart.d.ts +1 -0
  415. package/dist/ui/chart.js +808 -0
  416. package/dist/ui/checkbox.d.ts +1 -0
  417. package/dist/ui/checkbox.js +413 -0
  418. package/dist/ui/chip.d.ts +1 -0
  419. package/dist/ui/chip.js +558 -0
  420. package/dist/ui/date.d.ts +1 -0
  421. package/dist/ui/date.js +686 -0
  422. package/dist/ui/drawer.d.ts +1 -0
  423. package/dist/ui/drawer.js +901 -0
  424. package/dist/ui/dropdown-table.d.ts +1 -0
  425. package/dist/ui/dropdown-table.js +1291 -0
  426. package/dist/ui/dropdown.d.ts +1 -0
  427. package/dist/ui/dropdown.js +586 -0
  428. package/dist/ui/file-upload.d.ts +1 -0
  429. package/dist/ui/file-upload.js +688 -0
  430. package/dist/ui/filter.d.ts +1 -0
  431. package/dist/ui/filter.js +400 -0
  432. package/dist/ui/font/files/geist-47c091c9.woff2 +0 -0
  433. package/dist/ui/font/files/geist-8dd77544.woff2 +0 -0
  434. package/dist/ui/font/files/geist-b9248b1e.woff2 +0 -0
  435. package/dist/ui/font/files/geist-d40d74b4.woff2 +0 -0
  436. package/dist/ui/font/files/geist-f493429a.woff2 +0 -0
  437. package/dist/ui/font/files/geistmono-03737868.woff2 +0 -0
  438. package/dist/ui/font/files/geistmono-421a7e38.woff2 +0 -0
  439. package/dist/ui/font/files/geistmono-48ef518d.woff2 +0 -0
  440. package/dist/ui/font/files/geistmono-5df35d39.woff2 +0 -0
  441. package/dist/ui/font/files/geistmono-7de289a4.woff2 +0 -0
  442. package/dist/ui/font/files/geistmono-e976128f.woff2 +0 -0
  443. package/dist/ui/font/files/inter-05cf802c.woff2 +0 -0
  444. package/dist/ui/font/files/inter-2b2f25a4.woff2 +0 -0
  445. package/dist/ui/font/files/inter-467acc7a.woff2 +0 -0
  446. package/dist/ui/font/files/inter-6e85163c.woff2 +0 -0
  447. package/dist/ui/font/files/inter-7048add3.woff2 +0 -0
  448. package/dist/ui/font/files/inter-9be0371e.woff2 +0 -0
  449. package/dist/ui/font/files/inter-a28b7e31.woff2 +0 -0
  450. package/dist/ui/font/files/poppins-054df55a.woff2 +0 -0
  451. package/dist/ui/font/files/poppins-0ee5dc9a.woff2 +0 -0
  452. package/dist/ui/font/files/poppins-0f44cb18.woff2 +0 -0
  453. package/dist/ui/font/files/poppins-0ff0d30c.woff2 +0 -0
  454. package/dist/ui/font/files/poppins-13045147.woff2 +0 -0
  455. package/dist/ui/font/files/poppins-1db57cd9.woff2 +0 -0
  456. package/dist/ui/font/files/poppins-2cf2a902.woff2 +0 -0
  457. package/dist/ui/font/files/poppins-39e7f079.woff2 +0 -0
  458. package/dist/ui/font/files/poppins-9607042d.woff2 +0 -0
  459. package/dist/ui/font/files/poppins-9a88fc1f.woff2 +0 -0
  460. package/dist/ui/font/files/poppins-b8f4f752.woff2 +0 -0
  461. package/dist/ui/font/files/poppins-f5e57db4.woff2 +0 -0
  462. package/dist/ui/font/geist-mono.css +104 -0
  463. package/dist/ui/font/geist.css +168 -0
  464. package/dist/ui/font/inter.css +232 -0
  465. package/dist/ui/font/poppins.css +104 -0
  466. package/dist/ui/form.d.ts +1 -0
  467. package/dist/ui/form.js +3 -0
  468. package/dist/ui/index.css +21826 -0
  469. package/dist/ui/input.d.ts +1 -0
  470. package/dist/ui/input.js +1176 -0
  471. package/dist/ui/menu.d.ts +1 -0
  472. package/dist/ui/menu.js +1289 -0
  473. package/dist/ui/modal.d.ts +1 -0
  474. package/dist/ui/modal.js +995 -0
  475. package/dist/ui/nav.d.ts +1 -0
  476. package/dist/ui/nav.js +295 -0
  477. package/dist/ui/radio.d.ts +1 -0
  478. package/dist/ui/radio.js +379 -0
  479. package/dist/ui/rich-text-editor.d.ts +1 -0
  480. package/dist/ui/rich-text-editor.js +1338 -0
  481. package/dist/ui/select.d.ts +1 -0
  482. package/dist/ui/select.js +2066 -0
  483. package/dist/ui/shadow/accordion.js +442 -0
  484. package/dist/ui/shadow/alert.js +218 -0
  485. package/dist/ui/shadow/breadcrumb.js +919 -0
  486. package/dist/ui/shadow/button-dropdown.js +696 -0
  487. package/dist/ui/shadow/button.js +63 -0
  488. package/dist/ui/shadow/card.js +524 -0
  489. package/dist/ui/shadow/chart.js +1569 -0
  490. package/dist/ui/shadow/checkbox.js +457 -0
  491. package/dist/ui/shadow/chip.js +559 -0
  492. package/dist/ui/shadow/date.js +712 -0
  493. package/dist/ui/shadow/drawer.js +869 -0
  494. package/dist/ui/shadow/dropdown-table.js +1620 -0
  495. package/dist/ui/shadow/dropdown.js +547 -0
  496. package/dist/ui/shadow/file-upload.js +731 -0
  497. package/dist/ui/shadow/filter.js +402 -0
  498. package/dist/ui/shadow/input.js +1150 -0
  499. package/dist/ui/shadow/menu.js +899 -0
  500. package/dist/ui/shadow/modal.js +1193 -0
  501. package/dist/ui/shadow/nav.js +240 -0
  502. package/dist/ui/shadow/radio.js +408 -0
  503. package/dist/ui/shadow/rich-text-editor.js +1344 -0
  504. package/dist/ui/shadow/select.js +2033 -0
  505. package/dist/ui/shadow/sidebar.js +606 -0
  506. package/dist/ui/shadow/switch.js +428 -0
  507. package/dist/ui/shadow/table.js +4755 -0
  508. package/dist/ui/shadow/tabs.js +372 -0
  509. package/dist/ui/shadow/tag-input.js +2846 -0
  510. package/dist/ui/shadow/textarea.js +816 -0
  511. package/dist/ui/sidebar.d.ts +1 -0
  512. package/dist/ui/sidebar.js +659 -0
  513. package/dist/ui/switch.d.ts +1 -0
  514. package/dist/ui/switch.js +398 -0
  515. package/dist/ui/table.d.ts +1 -0
  516. package/dist/ui/table.js +4654 -0
  517. package/dist/ui/tabs.d.ts +1 -0
  518. package/dist/ui/tabs.js +379 -0
  519. package/dist/ui/tag-input.d.ts +1 -0
  520. package/dist/ui/tag-input.js +2819 -0
  521. package/dist/ui/textarea.d.ts +1 -0
  522. package/dist/ui/textarea.js +819 -0
  523. package/dist/ui/theme/legacy.css +293 -0
  524. package/dist/ui/theme/luma.css +743 -0
  525. package/dist/ui/theme/lyra.css +754 -0
  526. package/dist/ui/theme/maia.css +673 -0
  527. package/dist/ui/theme/mira.css +802 -0
  528. package/dist/ui/theme/nova.css +662 -0
  529. package/dist/ui/theme/one.css +699 -0
  530. package/dist/ui/theme/rhea.css +742 -0
  531. package/dist/ui/theme/sera.css +845 -0
  532. package/dist/ui/theme/tokens.css +261 -0
  533. package/dist/ui/theme/vega.css +467 -0
  534. package/dist/vite-C5iUK7so.js +329 -0
  535. package/dist/vite.d.ts +1 -0
  536. package/dist/vite.js +2 -0
  537. package/dist/vue.d.ts +282 -0
  538. package/package.json +411 -3
@@ -0,0 +1,2026 @@
1
+ //#region ../../node_modules/.pnpm/flatpickr@4.6.13/node_modules/flatpickr/dist/esm/types/options.js
2
+ var HOOKS = [
3
+ "onChange",
4
+ "onClose",
5
+ "onDayCreate",
6
+ "onDestroy",
7
+ "onKeyDown",
8
+ "onMonthChange",
9
+ "onOpen",
10
+ "onParseConfig",
11
+ "onReady",
12
+ "onValueUpdate",
13
+ "onYearChange",
14
+ "onPreCalendarPosition"
15
+ ];
16
+ var defaults = {
17
+ _disable: [],
18
+ allowInput: false,
19
+ allowInvalidPreload: false,
20
+ altFormat: "F j, Y",
21
+ altInput: false,
22
+ altInputClass: "form-control input",
23
+ animate: typeof window === "object" && window.navigator.userAgent.indexOf("MSIE") === -1,
24
+ ariaDateFormat: "F j, Y",
25
+ autoFillDefaultTime: true,
26
+ clickOpens: true,
27
+ closeOnSelect: true,
28
+ conjunction: ", ",
29
+ dateFormat: "Y-m-d",
30
+ defaultHour: 12,
31
+ defaultMinute: 0,
32
+ defaultSeconds: 0,
33
+ disable: [],
34
+ disableMobile: false,
35
+ enableSeconds: false,
36
+ enableTime: false,
37
+ errorHandler: function(err) {
38
+ return typeof console !== "undefined" && console.warn(err);
39
+ },
40
+ getWeek: function(givenDate) {
41
+ var date = new Date(givenDate.getTime());
42
+ date.setHours(0, 0, 0, 0);
43
+ date.setDate(date.getDate() + 3 - (date.getDay() + 6) % 7);
44
+ var week1 = new Date(date.getFullYear(), 0, 4);
45
+ return 1 + Math.round(((date.getTime() - week1.getTime()) / 864e5 - 3 + (week1.getDay() + 6) % 7) / 7);
46
+ },
47
+ hourIncrement: 1,
48
+ ignoredFocusElements: [],
49
+ inline: false,
50
+ locale: "default",
51
+ minuteIncrement: 5,
52
+ mode: "single",
53
+ monthSelectorType: "dropdown",
54
+ nextArrow: "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>",
55
+ noCalendar: false,
56
+ now: /* @__PURE__ */ new Date(),
57
+ onChange: [],
58
+ onClose: [],
59
+ onDayCreate: [],
60
+ onDestroy: [],
61
+ onKeyDown: [],
62
+ onMonthChange: [],
63
+ onOpen: [],
64
+ onParseConfig: [],
65
+ onReady: [],
66
+ onValueUpdate: [],
67
+ onYearChange: [],
68
+ onPreCalendarPosition: [],
69
+ plugins: [],
70
+ position: "auto",
71
+ positionElement: void 0,
72
+ prevArrow: "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>",
73
+ shorthandCurrentMonth: false,
74
+ showMonths: 1,
75
+ static: false,
76
+ time_24hr: false,
77
+ weekNumbers: false,
78
+ wrap: false
79
+ };
80
+ //#endregion
81
+ //#region ../../node_modules/.pnpm/flatpickr@4.6.13/node_modules/flatpickr/dist/esm/l10n/default.js
82
+ var english = {
83
+ weekdays: {
84
+ shorthand: [
85
+ "Sun",
86
+ "Mon",
87
+ "Tue",
88
+ "Wed",
89
+ "Thu",
90
+ "Fri",
91
+ "Sat"
92
+ ],
93
+ longhand: [
94
+ "Sunday",
95
+ "Monday",
96
+ "Tuesday",
97
+ "Wednesday",
98
+ "Thursday",
99
+ "Friday",
100
+ "Saturday"
101
+ ]
102
+ },
103
+ months: {
104
+ shorthand: [
105
+ "Jan",
106
+ "Feb",
107
+ "Mar",
108
+ "Apr",
109
+ "May",
110
+ "Jun",
111
+ "Jul",
112
+ "Aug",
113
+ "Sep",
114
+ "Oct",
115
+ "Nov",
116
+ "Dec"
117
+ ],
118
+ longhand: [
119
+ "January",
120
+ "February",
121
+ "March",
122
+ "April",
123
+ "May",
124
+ "June",
125
+ "July",
126
+ "August",
127
+ "September",
128
+ "October",
129
+ "November",
130
+ "December"
131
+ ]
132
+ },
133
+ daysInMonth: [
134
+ 31,
135
+ 28,
136
+ 31,
137
+ 30,
138
+ 31,
139
+ 30,
140
+ 31,
141
+ 31,
142
+ 30,
143
+ 31,
144
+ 30,
145
+ 31
146
+ ],
147
+ firstDayOfWeek: 0,
148
+ ordinal: function(nth) {
149
+ var s = nth % 100;
150
+ if (s > 3 && s < 21) return "th";
151
+ switch (s % 10) {
152
+ case 1: return "st";
153
+ case 2: return "nd";
154
+ case 3: return "rd";
155
+ default: return "th";
156
+ }
157
+ },
158
+ rangeSeparator: " to ",
159
+ weekAbbreviation: "Wk",
160
+ scrollTitle: "Scroll to increment",
161
+ toggleTitle: "Click to toggle",
162
+ amPM: ["AM", "PM"],
163
+ yearAriaLabel: "Year",
164
+ monthAriaLabel: "Month",
165
+ hourAriaLabel: "Hour",
166
+ minuteAriaLabel: "Minute",
167
+ time_24hr: false
168
+ };
169
+ //#endregion
170
+ //#region ../../node_modules/.pnpm/flatpickr@4.6.13/node_modules/flatpickr/dist/esm/utils/index.js
171
+ var pad = function(number, length) {
172
+ if (length === void 0) length = 2;
173
+ return ("000" + number).slice(length * -1);
174
+ };
175
+ var int = function(bool) {
176
+ return bool === true ? 1 : 0;
177
+ };
178
+ function debounce(fn, wait) {
179
+ var t;
180
+ return function() {
181
+ var _this = this;
182
+ var args = arguments;
183
+ clearTimeout(t);
184
+ t = setTimeout(function() {
185
+ return fn.apply(_this, args);
186
+ }, wait);
187
+ };
188
+ }
189
+ var arrayify = function(obj) {
190
+ return obj instanceof Array ? obj : [obj];
191
+ };
192
+ //#endregion
193
+ //#region ../../node_modules/.pnpm/flatpickr@4.6.13/node_modules/flatpickr/dist/esm/utils/dom.js
194
+ function toggleClass(elem, className, bool) {
195
+ if (bool === true) return elem.classList.add(className);
196
+ elem.classList.remove(className);
197
+ }
198
+ function createElement(tag, className, content) {
199
+ var e = window.document.createElement(tag);
200
+ className = className || "";
201
+ content = content || "";
202
+ e.className = className;
203
+ if (content !== void 0) e.textContent = content;
204
+ return e;
205
+ }
206
+ function clearNode(node) {
207
+ while (node.firstChild) node.removeChild(node.firstChild);
208
+ }
209
+ function findParent(node, condition) {
210
+ if (condition(node)) return node;
211
+ else if (node.parentNode) return findParent(node.parentNode, condition);
212
+ }
213
+ function createNumberInput(inputClassName, opts) {
214
+ var wrapper = createElement("div", "numInputWrapper"), numInput = createElement("input", "numInput " + inputClassName), arrowUp = createElement("span", "arrowUp"), arrowDown = createElement("span", "arrowDown");
215
+ if (navigator.userAgent.indexOf("MSIE 9.0") === -1) numInput.type = "number";
216
+ else {
217
+ numInput.type = "text";
218
+ numInput.pattern = "\\d*";
219
+ }
220
+ if (opts !== void 0) for (var key in opts) numInput.setAttribute(key, opts[key]);
221
+ wrapper.appendChild(numInput);
222
+ wrapper.appendChild(arrowUp);
223
+ wrapper.appendChild(arrowDown);
224
+ return wrapper;
225
+ }
226
+ function getEventTarget(event) {
227
+ try {
228
+ if (typeof event.composedPath === "function") return event.composedPath()[0];
229
+ return event.target;
230
+ } catch (error) {
231
+ return event.target;
232
+ }
233
+ }
234
+ //#endregion
235
+ //#region ../../node_modules/.pnpm/flatpickr@4.6.13/node_modules/flatpickr/dist/esm/utils/formatting.js
236
+ var doNothing = function() {};
237
+ var monthToStr = function(monthNumber, shorthand, locale) {
238
+ return locale.months[shorthand ? "shorthand" : "longhand"][monthNumber];
239
+ };
240
+ var revFormat = {
241
+ D: doNothing,
242
+ F: function(dateObj, monthName, locale) {
243
+ dateObj.setMonth(locale.months.longhand.indexOf(monthName));
244
+ },
245
+ G: function(dateObj, hour) {
246
+ dateObj.setHours((dateObj.getHours() >= 12 ? 12 : 0) + parseFloat(hour));
247
+ },
248
+ H: function(dateObj, hour) {
249
+ dateObj.setHours(parseFloat(hour));
250
+ },
251
+ J: function(dateObj, day) {
252
+ dateObj.setDate(parseFloat(day));
253
+ },
254
+ K: function(dateObj, amPM, locale) {
255
+ dateObj.setHours(dateObj.getHours() % 12 + 12 * int(new RegExp(locale.amPM[1], "i").test(amPM)));
256
+ },
257
+ M: function(dateObj, shortMonth, locale) {
258
+ dateObj.setMonth(locale.months.shorthand.indexOf(shortMonth));
259
+ },
260
+ S: function(dateObj, seconds) {
261
+ dateObj.setSeconds(parseFloat(seconds));
262
+ },
263
+ U: function(_, unixSeconds) {
264
+ return /* @__PURE__ */ new Date(parseFloat(unixSeconds) * 1e3);
265
+ },
266
+ W: function(dateObj, weekNum, locale) {
267
+ var weekNumber = parseInt(weekNum);
268
+ var date = new Date(dateObj.getFullYear(), 0, 2 + (weekNumber - 1) * 7, 0, 0, 0, 0);
269
+ date.setDate(date.getDate() - date.getDay() + locale.firstDayOfWeek);
270
+ return date;
271
+ },
272
+ Y: function(dateObj, year) {
273
+ dateObj.setFullYear(parseFloat(year));
274
+ },
275
+ Z: function(_, ISODate) {
276
+ return new Date(ISODate);
277
+ },
278
+ d: function(dateObj, day) {
279
+ dateObj.setDate(parseFloat(day));
280
+ },
281
+ h: function(dateObj, hour) {
282
+ dateObj.setHours((dateObj.getHours() >= 12 ? 12 : 0) + parseFloat(hour));
283
+ },
284
+ i: function(dateObj, minutes) {
285
+ dateObj.setMinutes(parseFloat(minutes));
286
+ },
287
+ j: function(dateObj, day) {
288
+ dateObj.setDate(parseFloat(day));
289
+ },
290
+ l: doNothing,
291
+ m: function(dateObj, month) {
292
+ dateObj.setMonth(parseFloat(month) - 1);
293
+ },
294
+ n: function(dateObj, month) {
295
+ dateObj.setMonth(parseFloat(month) - 1);
296
+ },
297
+ s: function(dateObj, seconds) {
298
+ dateObj.setSeconds(parseFloat(seconds));
299
+ },
300
+ u: function(_, unixMillSeconds) {
301
+ return new Date(parseFloat(unixMillSeconds));
302
+ },
303
+ w: doNothing,
304
+ y: function(dateObj, year) {
305
+ dateObj.setFullYear(2e3 + parseFloat(year));
306
+ }
307
+ };
308
+ var tokenRegex = {
309
+ D: "",
310
+ F: "",
311
+ G: "(\\d\\d|\\d)",
312
+ H: "(\\d\\d|\\d)",
313
+ J: "(\\d\\d|\\d)\\w+",
314
+ K: "",
315
+ M: "",
316
+ S: "(\\d\\d|\\d)",
317
+ U: "(.+)",
318
+ W: "(\\d\\d|\\d)",
319
+ Y: "(\\d{4})",
320
+ Z: "(.+)",
321
+ d: "(\\d\\d|\\d)",
322
+ h: "(\\d\\d|\\d)",
323
+ i: "(\\d\\d|\\d)",
324
+ j: "(\\d\\d|\\d)",
325
+ l: "",
326
+ m: "(\\d\\d|\\d)",
327
+ n: "(\\d\\d|\\d)",
328
+ s: "(\\d\\d|\\d)",
329
+ u: "(.+)",
330
+ w: "(\\d\\d|\\d)",
331
+ y: "(\\d{2})"
332
+ };
333
+ var formats = {
334
+ Z: function(date) {
335
+ return date.toISOString();
336
+ },
337
+ D: function(date, locale, options) {
338
+ return locale.weekdays.shorthand[formats.w(date, locale, options)];
339
+ },
340
+ F: function(date, locale, options) {
341
+ return monthToStr(formats.n(date, locale, options) - 1, false, locale);
342
+ },
343
+ G: function(date, locale, options) {
344
+ return pad(formats.h(date, locale, options));
345
+ },
346
+ H: function(date) {
347
+ return pad(date.getHours());
348
+ },
349
+ J: function(date, locale) {
350
+ return locale.ordinal !== void 0 ? date.getDate() + locale.ordinal(date.getDate()) : date.getDate();
351
+ },
352
+ K: function(date, locale) {
353
+ return locale.amPM[int(date.getHours() > 11)];
354
+ },
355
+ M: function(date, locale) {
356
+ return monthToStr(date.getMonth(), true, locale);
357
+ },
358
+ S: function(date) {
359
+ return pad(date.getSeconds());
360
+ },
361
+ U: function(date) {
362
+ return date.getTime() / 1e3;
363
+ },
364
+ W: function(date, _, options) {
365
+ return options.getWeek(date);
366
+ },
367
+ Y: function(date) {
368
+ return pad(date.getFullYear(), 4);
369
+ },
370
+ d: function(date) {
371
+ return pad(date.getDate());
372
+ },
373
+ h: function(date) {
374
+ return date.getHours() % 12 ? date.getHours() % 12 : 12;
375
+ },
376
+ i: function(date) {
377
+ return pad(date.getMinutes());
378
+ },
379
+ j: function(date) {
380
+ return date.getDate();
381
+ },
382
+ l: function(date, locale) {
383
+ return locale.weekdays.longhand[date.getDay()];
384
+ },
385
+ m: function(date) {
386
+ return pad(date.getMonth() + 1);
387
+ },
388
+ n: function(date) {
389
+ return date.getMonth() + 1;
390
+ },
391
+ s: function(date) {
392
+ return date.getSeconds();
393
+ },
394
+ u: function(date) {
395
+ return date.getTime();
396
+ },
397
+ w: function(date) {
398
+ return date.getDay();
399
+ },
400
+ y: function(date) {
401
+ return String(date.getFullYear()).substring(2);
402
+ }
403
+ };
404
+ //#endregion
405
+ //#region ../../node_modules/.pnpm/flatpickr@4.6.13/node_modules/flatpickr/dist/esm/utils/dates.js
406
+ var createDateFormatter = function(_a) {
407
+ var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c, _d = _a.isMobile, isMobile = _d === void 0 ? false : _d;
408
+ return function(dateObj, frmt, overrideLocale) {
409
+ var locale = overrideLocale || l10n;
410
+ if (config.formatDate !== void 0 && !isMobile) return config.formatDate(dateObj, frmt, locale);
411
+ return frmt.split("").map(function(c, i, arr) {
412
+ return formats[c] && arr[i - 1] !== "\\" ? formats[c](dateObj, locale, config) : c !== "\\" ? c : "";
413
+ }).join("");
414
+ };
415
+ };
416
+ var createDateParser = function(_a) {
417
+ var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c;
418
+ return function(date, givenFormat, timeless, customLocale) {
419
+ if (date !== 0 && !date) return void 0;
420
+ var locale = customLocale || l10n;
421
+ var parsedDate;
422
+ var dateOrig = date;
423
+ if (date instanceof Date) parsedDate = new Date(date.getTime());
424
+ else if (typeof date !== "string" && date.toFixed !== void 0) parsedDate = new Date(date);
425
+ else if (typeof date === "string") {
426
+ var format = givenFormat || (config || defaults).dateFormat;
427
+ var datestr = String(date).trim();
428
+ if (datestr === "today") {
429
+ parsedDate = /* @__PURE__ */ new Date();
430
+ timeless = true;
431
+ } else if (config && config.parseDate) parsedDate = config.parseDate(date, format);
432
+ else if (/Z$/.test(datestr) || /GMT$/.test(datestr)) parsedDate = new Date(date);
433
+ else {
434
+ var matched = void 0, ops = [];
435
+ for (var i = 0, matchIndex = 0, regexStr = ""; i < format.length; i++) {
436
+ var token = format[i];
437
+ var isBackSlash = token === "\\";
438
+ var escaped = format[i - 1] === "\\" || isBackSlash;
439
+ if (tokenRegex[token] && !escaped) {
440
+ regexStr += tokenRegex[token];
441
+ var match = new RegExp(regexStr).exec(date);
442
+ if (match && (matched = true)) ops[token !== "Y" ? "push" : "unshift"]({
443
+ fn: revFormat[token],
444
+ val: match[++matchIndex]
445
+ });
446
+ } else if (!isBackSlash) regexStr += ".";
447
+ }
448
+ parsedDate = !config || !config.noCalendar ? new Date((/* @__PURE__ */ new Date()).getFullYear(), 0, 1, 0, 0, 0, 0) : new Date((/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0));
449
+ ops.forEach(function(_a) {
450
+ var fn = _a.fn, val = _a.val;
451
+ return parsedDate = fn(parsedDate, val, locale) || parsedDate;
452
+ });
453
+ parsedDate = matched ? parsedDate : void 0;
454
+ }
455
+ }
456
+ if (!(parsedDate instanceof Date && !isNaN(parsedDate.getTime()))) {
457
+ config.errorHandler(/* @__PURE__ */ new Error("Invalid date provided: " + dateOrig));
458
+ return;
459
+ }
460
+ if (timeless === true) parsedDate.setHours(0, 0, 0, 0);
461
+ return parsedDate;
462
+ };
463
+ };
464
+ function compareDates(date1, date2, timeless) {
465
+ if (timeless === void 0) timeless = true;
466
+ if (timeless !== false) return new Date(date1.getTime()).setHours(0, 0, 0, 0) - new Date(date2.getTime()).setHours(0, 0, 0, 0);
467
+ return date1.getTime() - date2.getTime();
468
+ }
469
+ var isBetween = function(ts, ts1, ts2) {
470
+ return ts > Math.min(ts1, ts2) && ts < Math.max(ts1, ts2);
471
+ };
472
+ var calculateSecondsSinceMidnight = function(hours, minutes, seconds) {
473
+ return hours * 3600 + minutes * 60 + seconds;
474
+ };
475
+ var parseSeconds = function(secondsSinceMidnight) {
476
+ var hours = Math.floor(secondsSinceMidnight / 3600), minutes = (secondsSinceMidnight - hours * 3600) / 60;
477
+ return [
478
+ hours,
479
+ minutes,
480
+ secondsSinceMidnight - hours * 3600 - minutes * 60
481
+ ];
482
+ };
483
+ var duration = { DAY: 864e5 };
484
+ function getDefaultHours(config) {
485
+ var hours = config.defaultHour;
486
+ var minutes = config.defaultMinute;
487
+ var seconds = config.defaultSeconds;
488
+ if (config.minDate !== void 0) {
489
+ var minHour = config.minDate.getHours();
490
+ var minMinutes = config.minDate.getMinutes();
491
+ var minSeconds = config.minDate.getSeconds();
492
+ if (hours < minHour) hours = minHour;
493
+ if (hours === minHour && minutes < minMinutes) minutes = minMinutes;
494
+ if (hours === minHour && minutes === minMinutes && seconds < minSeconds) seconds = config.minDate.getSeconds();
495
+ }
496
+ if (config.maxDate !== void 0) {
497
+ var maxHr = config.maxDate.getHours();
498
+ var maxMinutes = config.maxDate.getMinutes();
499
+ hours = Math.min(hours, maxHr);
500
+ if (hours === maxHr) minutes = Math.min(maxMinutes, minutes);
501
+ if (hours === maxHr && minutes === maxMinutes) seconds = config.maxDate.getSeconds();
502
+ }
503
+ return {
504
+ hours,
505
+ minutes,
506
+ seconds
507
+ };
508
+ }
509
+ //#endregion
510
+ //#region ../../node_modules/.pnpm/flatpickr@4.6.13/node_modules/flatpickr/dist/esm/utils/polyfills.js
511
+ if (typeof Object.assign !== "function") Object.assign = function(target) {
512
+ var args = [];
513
+ for (var _i = 1; _i < arguments.length; _i++) args[_i - 1] = arguments[_i];
514
+ if (!target) throw TypeError("Cannot convert undefined or null to object");
515
+ var _loop_1 = function(source) {
516
+ if (source) Object.keys(source).forEach(function(key) {
517
+ return target[key] = source[key];
518
+ });
519
+ };
520
+ for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {
521
+ var source = args_1[_a];
522
+ _loop_1(source);
523
+ }
524
+ return target;
525
+ };
526
+ //#endregion
527
+ //#region ../../node_modules/.pnpm/flatpickr@4.6.13/node_modules/flatpickr/dist/esm/index.js
528
+ var __assign = function() {
529
+ __assign = Object.assign || function(t) {
530
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
531
+ s = arguments[i];
532
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
533
+ }
534
+ return t;
535
+ };
536
+ return __assign.apply(this, arguments);
537
+ };
538
+ var __spreadArrays = function() {
539
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
540
+ for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j];
541
+ return r;
542
+ };
543
+ var DEBOUNCED_CHANGE_MS = 300;
544
+ function FlatpickrInstance(element, instanceConfig) {
545
+ var self = {
546
+ config: __assign(__assign({}, defaults), flatpickr.defaultConfig),
547
+ l10n: english
548
+ };
549
+ self.parseDate = createDateParser({
550
+ config: self.config,
551
+ l10n: self.l10n
552
+ });
553
+ self._handlers = [];
554
+ self.pluginElements = [];
555
+ self.loadedPlugins = [];
556
+ self._bind = bind;
557
+ self._setHoursFromDate = setHoursFromDate;
558
+ self._positionCalendar = positionCalendar;
559
+ self.changeMonth = changeMonth;
560
+ self.changeYear = changeYear;
561
+ self.clear = clear;
562
+ self.close = close;
563
+ self.onMouseOver = onMouseOver;
564
+ self._createElement = createElement;
565
+ self.createDay = createDay;
566
+ self.destroy = destroy;
567
+ self.isEnabled = isEnabled;
568
+ self.jumpToDate = jumpToDate;
569
+ self.updateValue = updateValue;
570
+ self.open = open;
571
+ self.redraw = redraw;
572
+ self.set = set;
573
+ self.setDate = setDate;
574
+ self.toggle = toggle;
575
+ function setupHelperFunctions() {
576
+ self.utils = { getDaysInMonth: function(month, yr) {
577
+ if (month === void 0) month = self.currentMonth;
578
+ if (yr === void 0) yr = self.currentYear;
579
+ if (month === 1 && (yr % 4 === 0 && yr % 100 !== 0 || yr % 400 === 0)) return 29;
580
+ return self.l10n.daysInMonth[month];
581
+ } };
582
+ }
583
+ function init() {
584
+ self.element = self.input = element;
585
+ self.isOpen = false;
586
+ parseConfig();
587
+ setupLocale();
588
+ setupInputs();
589
+ setupDates();
590
+ setupHelperFunctions();
591
+ if (!self.isMobile) build();
592
+ bindEvents();
593
+ if (self.selectedDates.length || self.config.noCalendar) {
594
+ if (self.config.enableTime) setHoursFromDate(self.config.noCalendar ? self.latestSelectedDateObj : void 0);
595
+ updateValue(false);
596
+ }
597
+ setCalendarWidth();
598
+ var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
599
+ if (!self.isMobile && isSafari) positionCalendar();
600
+ triggerEvent("onReady");
601
+ }
602
+ function getClosestActiveElement() {
603
+ var _a;
604
+ return ((_a = self.calendarContainer) === null || _a === void 0 ? void 0 : _a.getRootNode()).activeElement || document.activeElement;
605
+ }
606
+ function bindToInstance(fn) {
607
+ return fn.bind(self);
608
+ }
609
+ function setCalendarWidth() {
610
+ var config = self.config;
611
+ if (config.weekNumbers === false && config.showMonths === 1) return;
612
+ else if (config.noCalendar !== true) window.requestAnimationFrame(function() {
613
+ if (self.calendarContainer !== void 0) {
614
+ self.calendarContainer.style.visibility = "hidden";
615
+ self.calendarContainer.style.display = "block";
616
+ }
617
+ if (self.daysContainer !== void 0) {
618
+ var daysWidth = (self.days.offsetWidth + 1) * config.showMonths;
619
+ self.daysContainer.style.width = daysWidth + "px";
620
+ self.calendarContainer.style.width = daysWidth + (self.weekWrapper !== void 0 ? self.weekWrapper.offsetWidth : 0) + "px";
621
+ self.calendarContainer.style.removeProperty("visibility");
622
+ self.calendarContainer.style.removeProperty("display");
623
+ }
624
+ });
625
+ }
626
+ function updateTime(e) {
627
+ if (self.selectedDates.length === 0) {
628
+ var defaultDate = self.config.minDate === void 0 || compareDates(/* @__PURE__ */ new Date(), self.config.minDate) >= 0 ? /* @__PURE__ */ new Date() : new Date(self.config.minDate.getTime());
629
+ var defaults = getDefaultHours(self.config);
630
+ defaultDate.setHours(defaults.hours, defaults.minutes, defaults.seconds, defaultDate.getMilliseconds());
631
+ self.selectedDates = [defaultDate];
632
+ self.latestSelectedDateObj = defaultDate;
633
+ }
634
+ if (e !== void 0 && e.type !== "blur") timeWrapper(e);
635
+ var prevValue = self._input.value;
636
+ setHoursFromInputs();
637
+ updateValue();
638
+ if (self._input.value !== prevValue) self._debouncedChange();
639
+ }
640
+ function ampm2military(hour, amPM) {
641
+ return hour % 12 + 12 * int(amPM === self.l10n.amPM[1]);
642
+ }
643
+ function military2ampm(hour) {
644
+ switch (hour % 24) {
645
+ case 0:
646
+ case 12: return 12;
647
+ default: return hour % 12;
648
+ }
649
+ }
650
+ function setHoursFromInputs() {
651
+ if (self.hourElement === void 0 || self.minuteElement === void 0) return;
652
+ var hours = (parseInt(self.hourElement.value.slice(-2), 10) || 0) % 24, minutes = (parseInt(self.minuteElement.value, 10) || 0) % 60, seconds = self.secondElement !== void 0 ? (parseInt(self.secondElement.value, 10) || 0) % 60 : 0;
653
+ if (self.amPM !== void 0) hours = ampm2military(hours, self.amPM.textContent);
654
+ var limitMinHours = self.config.minTime !== void 0 || self.config.minDate && self.minDateHasTime && self.latestSelectedDateObj && compareDates(self.latestSelectedDateObj, self.config.minDate, true) === 0;
655
+ var limitMaxHours = self.config.maxTime !== void 0 || self.config.maxDate && self.maxDateHasTime && self.latestSelectedDateObj && compareDates(self.latestSelectedDateObj, self.config.maxDate, true) === 0;
656
+ if (self.config.maxTime !== void 0 && self.config.minTime !== void 0 && self.config.minTime > self.config.maxTime) {
657
+ var minBound = calculateSecondsSinceMidnight(self.config.minTime.getHours(), self.config.minTime.getMinutes(), self.config.minTime.getSeconds());
658
+ var maxBound = calculateSecondsSinceMidnight(self.config.maxTime.getHours(), self.config.maxTime.getMinutes(), self.config.maxTime.getSeconds());
659
+ var currentTime = calculateSecondsSinceMidnight(hours, minutes, seconds);
660
+ if (currentTime > maxBound && currentTime < minBound) {
661
+ var result = parseSeconds(minBound);
662
+ hours = result[0];
663
+ minutes = result[1];
664
+ seconds = result[2];
665
+ }
666
+ } else {
667
+ if (limitMaxHours) {
668
+ var maxTime = self.config.maxTime !== void 0 ? self.config.maxTime : self.config.maxDate;
669
+ hours = Math.min(hours, maxTime.getHours());
670
+ if (hours === maxTime.getHours()) minutes = Math.min(minutes, maxTime.getMinutes());
671
+ if (minutes === maxTime.getMinutes()) seconds = Math.min(seconds, maxTime.getSeconds());
672
+ }
673
+ if (limitMinHours) {
674
+ var minTime = self.config.minTime !== void 0 ? self.config.minTime : self.config.minDate;
675
+ hours = Math.max(hours, minTime.getHours());
676
+ if (hours === minTime.getHours() && minutes < minTime.getMinutes()) minutes = minTime.getMinutes();
677
+ if (minutes === minTime.getMinutes()) seconds = Math.max(seconds, minTime.getSeconds());
678
+ }
679
+ }
680
+ setHours(hours, minutes, seconds);
681
+ }
682
+ function setHoursFromDate(dateObj) {
683
+ var date = dateObj || self.latestSelectedDateObj;
684
+ if (date && date instanceof Date) setHours(date.getHours(), date.getMinutes(), date.getSeconds());
685
+ }
686
+ function setHours(hours, minutes, seconds) {
687
+ if (self.latestSelectedDateObj !== void 0) self.latestSelectedDateObj.setHours(hours % 24, minutes, seconds || 0, 0);
688
+ if (!self.hourElement || !self.minuteElement || self.isMobile) return;
689
+ self.hourElement.value = pad(!self.config.time_24hr ? (12 + hours) % 12 + 12 * int(hours % 12 === 0) : hours);
690
+ self.minuteElement.value = pad(minutes);
691
+ if (self.amPM !== void 0) self.amPM.textContent = self.l10n.amPM[int(hours >= 12)];
692
+ if (self.secondElement !== void 0) self.secondElement.value = pad(seconds);
693
+ }
694
+ function onYearInput(event) {
695
+ var eventTarget = getEventTarget(event);
696
+ var year = parseInt(eventTarget.value) + (event.delta || 0);
697
+ if (year / 1e3 > 1 || event.key === "Enter" && !/[^\d]/.test(year.toString())) changeYear(year);
698
+ }
699
+ function bind(element, event, handler, options) {
700
+ if (event instanceof Array) return event.forEach(function(ev) {
701
+ return bind(element, ev, handler, options);
702
+ });
703
+ if (element instanceof Array) return element.forEach(function(el) {
704
+ return bind(el, event, handler, options);
705
+ });
706
+ element.addEventListener(event, handler, options);
707
+ self._handlers.push({ remove: function() {
708
+ return element.removeEventListener(event, handler, options);
709
+ } });
710
+ }
711
+ function triggerChange() {
712
+ triggerEvent("onChange");
713
+ }
714
+ function bindEvents() {
715
+ if (self.config.wrap) [
716
+ "open",
717
+ "close",
718
+ "toggle",
719
+ "clear"
720
+ ].forEach(function(evt) {
721
+ Array.prototype.forEach.call(self.element.querySelectorAll("[data-" + evt + "]"), function(el) {
722
+ return bind(el, "click", self[evt]);
723
+ });
724
+ });
725
+ if (self.isMobile) {
726
+ setupMobile();
727
+ return;
728
+ }
729
+ var debouncedResize = debounce(onResize, 50);
730
+ self._debouncedChange = debounce(triggerChange, DEBOUNCED_CHANGE_MS);
731
+ if (self.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent)) bind(self.daysContainer, "mouseover", function(e) {
732
+ if (self.config.mode === "range") onMouseOver(getEventTarget(e));
733
+ });
734
+ bind(self._input, "keydown", onKeyDown);
735
+ if (self.calendarContainer !== void 0) bind(self.calendarContainer, "keydown", onKeyDown);
736
+ if (!self.config.inline && !self.config.static) bind(window, "resize", debouncedResize);
737
+ if (window.ontouchstart !== void 0) bind(window.document, "touchstart", documentClick);
738
+ else bind(window.document, "mousedown", documentClick);
739
+ bind(window.document, "focus", documentClick, { capture: true });
740
+ if (self.config.clickOpens === true) {
741
+ bind(self._input, "focus", self.open);
742
+ bind(self._input, "click", self.open);
743
+ }
744
+ if (self.daysContainer !== void 0) {
745
+ bind(self.monthNav, "click", onMonthNavClick);
746
+ bind(self.monthNav, ["keyup", "increment"], onYearInput);
747
+ bind(self.daysContainer, "click", selectDate);
748
+ }
749
+ if (self.timeContainer !== void 0 && self.minuteElement !== void 0 && self.hourElement !== void 0) {
750
+ var selText = function(e) {
751
+ return getEventTarget(e).select();
752
+ };
753
+ bind(self.timeContainer, ["increment"], updateTime);
754
+ bind(self.timeContainer, "blur", updateTime, { capture: true });
755
+ bind(self.timeContainer, "click", timeIncrement);
756
+ bind([self.hourElement, self.minuteElement], ["focus", "click"], selText);
757
+ if (self.secondElement !== void 0) bind(self.secondElement, "focus", function() {
758
+ return self.secondElement && self.secondElement.select();
759
+ });
760
+ if (self.amPM !== void 0) bind(self.amPM, "click", function(e) {
761
+ updateTime(e);
762
+ });
763
+ }
764
+ if (self.config.allowInput) bind(self._input, "blur", onBlur);
765
+ }
766
+ function jumpToDate(jumpDate, triggerChange) {
767
+ var jumpTo = jumpDate !== void 0 ? self.parseDate(jumpDate) : self.latestSelectedDateObj || (self.config.minDate && self.config.minDate > self.now ? self.config.minDate : self.config.maxDate && self.config.maxDate < self.now ? self.config.maxDate : self.now);
768
+ var oldYear = self.currentYear;
769
+ var oldMonth = self.currentMonth;
770
+ try {
771
+ if (jumpTo !== void 0) {
772
+ self.currentYear = jumpTo.getFullYear();
773
+ self.currentMonth = jumpTo.getMonth();
774
+ }
775
+ } catch (e) {
776
+ e.message = "Invalid date supplied: " + jumpTo;
777
+ self.config.errorHandler(e);
778
+ }
779
+ if (triggerChange && self.currentYear !== oldYear) {
780
+ triggerEvent("onYearChange");
781
+ buildMonthSwitch();
782
+ }
783
+ if (triggerChange && (self.currentYear !== oldYear || self.currentMonth !== oldMonth)) triggerEvent("onMonthChange");
784
+ self.redraw();
785
+ }
786
+ function timeIncrement(e) {
787
+ var eventTarget = getEventTarget(e);
788
+ if (~eventTarget.className.indexOf("arrow")) incrementNumInput(e, eventTarget.classList.contains("arrowUp") ? 1 : -1);
789
+ }
790
+ function incrementNumInput(e, delta, inputElem) {
791
+ var target = e && getEventTarget(e);
792
+ var input = inputElem || target && target.parentNode && target.parentNode.firstChild;
793
+ var event = createEvent("increment");
794
+ event.delta = delta;
795
+ input && input.dispatchEvent(event);
796
+ }
797
+ function build() {
798
+ var fragment = window.document.createDocumentFragment();
799
+ self.calendarContainer = createElement("div", "flatpickr-calendar");
800
+ self.calendarContainer.tabIndex = -1;
801
+ if (!self.config.noCalendar) {
802
+ fragment.appendChild(buildMonthNav());
803
+ self.innerContainer = createElement("div", "flatpickr-innerContainer");
804
+ if (self.config.weekNumbers) {
805
+ var _a = buildWeeks(), weekWrapper = _a.weekWrapper, weekNumbers = _a.weekNumbers;
806
+ self.innerContainer.appendChild(weekWrapper);
807
+ self.weekNumbers = weekNumbers;
808
+ self.weekWrapper = weekWrapper;
809
+ }
810
+ self.rContainer = createElement("div", "flatpickr-rContainer");
811
+ self.rContainer.appendChild(buildWeekdays());
812
+ if (!self.daysContainer) {
813
+ self.daysContainer = createElement("div", "flatpickr-days");
814
+ self.daysContainer.tabIndex = -1;
815
+ }
816
+ buildDays();
817
+ self.rContainer.appendChild(self.daysContainer);
818
+ self.innerContainer.appendChild(self.rContainer);
819
+ fragment.appendChild(self.innerContainer);
820
+ }
821
+ if (self.config.enableTime) fragment.appendChild(buildTime());
822
+ toggleClass(self.calendarContainer, "rangeMode", self.config.mode === "range");
823
+ toggleClass(self.calendarContainer, "animate", self.config.animate === true);
824
+ toggleClass(self.calendarContainer, "multiMonth", self.config.showMonths > 1);
825
+ self.calendarContainer.appendChild(fragment);
826
+ var customAppend = self.config.appendTo !== void 0 && self.config.appendTo.nodeType !== void 0;
827
+ if (self.config.inline || self.config.static) {
828
+ self.calendarContainer.classList.add(self.config.inline ? "inline" : "static");
829
+ if (self.config.inline) {
830
+ if (!customAppend && self.element.parentNode) self.element.parentNode.insertBefore(self.calendarContainer, self._input.nextSibling);
831
+ else if (self.config.appendTo !== void 0) self.config.appendTo.appendChild(self.calendarContainer);
832
+ }
833
+ if (self.config.static) {
834
+ var wrapper = createElement("div", "flatpickr-wrapper");
835
+ if (self.element.parentNode) self.element.parentNode.insertBefore(wrapper, self.element);
836
+ wrapper.appendChild(self.element);
837
+ if (self.altInput) wrapper.appendChild(self.altInput);
838
+ wrapper.appendChild(self.calendarContainer);
839
+ }
840
+ }
841
+ if (!self.config.static && !self.config.inline) (self.config.appendTo !== void 0 ? self.config.appendTo : window.document.body).appendChild(self.calendarContainer);
842
+ }
843
+ function createDay(className, date, _dayNumber, i) {
844
+ var dateIsEnabled = isEnabled(date, true), dayElement = createElement("span", className, date.getDate().toString());
845
+ dayElement.dateObj = date;
846
+ dayElement.$i = i;
847
+ dayElement.setAttribute("aria-label", self.formatDate(date, self.config.ariaDateFormat));
848
+ if (className.indexOf("hidden") === -1 && compareDates(date, self.now) === 0) {
849
+ self.todayDateElem = dayElement;
850
+ dayElement.classList.add("today");
851
+ dayElement.setAttribute("aria-current", "date");
852
+ }
853
+ if (dateIsEnabled) {
854
+ dayElement.tabIndex = -1;
855
+ if (isDateSelected(date)) {
856
+ dayElement.classList.add("selected");
857
+ self.selectedDateElem = dayElement;
858
+ if (self.config.mode === "range") {
859
+ toggleClass(dayElement, "startRange", self.selectedDates[0] && compareDates(date, self.selectedDates[0], true) === 0);
860
+ toggleClass(dayElement, "endRange", self.selectedDates[1] && compareDates(date, self.selectedDates[1], true) === 0);
861
+ if (className === "nextMonthDay") dayElement.classList.add("inRange");
862
+ }
863
+ }
864
+ } else dayElement.classList.add("flatpickr-disabled");
865
+ if (self.config.mode === "range") {
866
+ if (isDateInRange(date) && !isDateSelected(date)) dayElement.classList.add("inRange");
867
+ }
868
+ if (self.weekNumbers && self.config.showMonths === 1 && className !== "prevMonthDay" && i % 7 === 6) self.weekNumbers.insertAdjacentHTML("beforeend", "<span class='flatpickr-day'>" + self.config.getWeek(date) + "</span>");
869
+ triggerEvent("onDayCreate", dayElement);
870
+ return dayElement;
871
+ }
872
+ function focusOnDayElem(targetNode) {
873
+ targetNode.focus();
874
+ if (self.config.mode === "range") onMouseOver(targetNode);
875
+ }
876
+ function getFirstAvailableDay(delta) {
877
+ var startMonth = delta > 0 ? 0 : self.config.showMonths - 1;
878
+ var endMonth = delta > 0 ? self.config.showMonths : -1;
879
+ for (var m = startMonth; m != endMonth; m += delta) {
880
+ var month = self.daysContainer.children[m];
881
+ var startIndex = delta > 0 ? 0 : month.children.length - 1;
882
+ var endIndex = delta > 0 ? month.children.length : -1;
883
+ for (var i = startIndex; i != endIndex; i += delta) {
884
+ var c = month.children[i];
885
+ if (c.className.indexOf("hidden") === -1 && isEnabled(c.dateObj)) return c;
886
+ }
887
+ }
888
+ }
889
+ function getNextAvailableDay(current, delta) {
890
+ var givenMonth = current.className.indexOf("Month") === -1 ? current.dateObj.getMonth() : self.currentMonth;
891
+ var endMonth = delta > 0 ? self.config.showMonths : -1;
892
+ var loopDelta = delta > 0 ? 1 : -1;
893
+ for (var m = givenMonth - self.currentMonth; m != endMonth; m += loopDelta) {
894
+ var month = self.daysContainer.children[m];
895
+ var startIndex = givenMonth - self.currentMonth === m ? current.$i + delta : delta < 0 ? month.children.length - 1 : 0;
896
+ var numMonthDays = month.children.length;
897
+ for (var i = startIndex; i >= 0 && i < numMonthDays && i != (delta > 0 ? numMonthDays : -1); i += loopDelta) {
898
+ var c = month.children[i];
899
+ if (c.className.indexOf("hidden") === -1 && isEnabled(c.dateObj) && Math.abs(current.$i - i) >= Math.abs(delta)) return focusOnDayElem(c);
900
+ }
901
+ }
902
+ self.changeMonth(loopDelta);
903
+ focusOnDay(getFirstAvailableDay(loopDelta), 0);
904
+ }
905
+ function focusOnDay(current, offset) {
906
+ var activeElement = getClosestActiveElement();
907
+ var dayFocused = isInView(activeElement || document.body);
908
+ var startElem = current !== void 0 ? current : dayFocused ? activeElement : self.selectedDateElem !== void 0 && isInView(self.selectedDateElem) ? self.selectedDateElem : self.todayDateElem !== void 0 && isInView(self.todayDateElem) ? self.todayDateElem : getFirstAvailableDay(offset > 0 ? 1 : -1);
909
+ if (startElem === void 0) self._input.focus();
910
+ else if (!dayFocused) focusOnDayElem(startElem);
911
+ else getNextAvailableDay(startElem, offset);
912
+ }
913
+ function buildMonthDays(year, month) {
914
+ var firstOfMonth = (new Date(year, month, 1).getDay() - self.l10n.firstDayOfWeek + 7) % 7;
915
+ var prevMonthDays = self.utils.getDaysInMonth((month - 1 + 12) % 12, year);
916
+ var daysInMonth = self.utils.getDaysInMonth(month, year), days = window.document.createDocumentFragment(), isMultiMonth = self.config.showMonths > 1, prevMonthDayClass = isMultiMonth ? "prevMonthDay hidden" : "prevMonthDay", nextMonthDayClass = isMultiMonth ? "nextMonthDay hidden" : "nextMonthDay";
917
+ var dayNumber = prevMonthDays + 1 - firstOfMonth, dayIndex = 0;
918
+ for (; dayNumber <= prevMonthDays; dayNumber++, dayIndex++) days.appendChild(createDay("flatpickr-day " + prevMonthDayClass, new Date(year, month - 1, dayNumber), dayNumber, dayIndex));
919
+ for (dayNumber = 1; dayNumber <= daysInMonth; dayNumber++, dayIndex++) days.appendChild(createDay("flatpickr-day", new Date(year, month, dayNumber), dayNumber, dayIndex));
920
+ for (var dayNum = daysInMonth + 1; dayNum <= 42 - firstOfMonth && (self.config.showMonths === 1 || dayIndex % 7 !== 0); dayNum++, dayIndex++) days.appendChild(createDay("flatpickr-day " + nextMonthDayClass, new Date(year, month + 1, dayNum % daysInMonth), dayNum, dayIndex));
921
+ var dayContainer = createElement("div", "dayContainer");
922
+ dayContainer.appendChild(days);
923
+ return dayContainer;
924
+ }
925
+ function buildDays() {
926
+ if (self.daysContainer === void 0) return;
927
+ clearNode(self.daysContainer);
928
+ if (self.weekNumbers) clearNode(self.weekNumbers);
929
+ var frag = document.createDocumentFragment();
930
+ for (var i = 0; i < self.config.showMonths; i++) {
931
+ var d = new Date(self.currentYear, self.currentMonth, 1);
932
+ d.setMonth(self.currentMonth + i);
933
+ frag.appendChild(buildMonthDays(d.getFullYear(), d.getMonth()));
934
+ }
935
+ self.daysContainer.appendChild(frag);
936
+ self.days = self.daysContainer.firstChild;
937
+ if (self.config.mode === "range" && self.selectedDates.length === 1) onMouseOver();
938
+ }
939
+ function buildMonthSwitch() {
940
+ if (self.config.showMonths > 1 || self.config.monthSelectorType !== "dropdown") return;
941
+ var shouldBuildMonth = function(month) {
942
+ if (self.config.minDate !== void 0 && self.currentYear === self.config.minDate.getFullYear() && month < self.config.minDate.getMonth()) return false;
943
+ return !(self.config.maxDate !== void 0 && self.currentYear === self.config.maxDate.getFullYear() && month > self.config.maxDate.getMonth());
944
+ };
945
+ self.monthsDropdownContainer.tabIndex = -1;
946
+ self.monthsDropdownContainer.innerHTML = "";
947
+ for (var i = 0; i < 12; i++) {
948
+ if (!shouldBuildMonth(i)) continue;
949
+ var month = createElement("option", "flatpickr-monthDropdown-month");
950
+ month.value = new Date(self.currentYear, i).getMonth().toString();
951
+ month.textContent = monthToStr(i, self.config.shorthandCurrentMonth, self.l10n);
952
+ month.tabIndex = -1;
953
+ if (self.currentMonth === i) month.selected = true;
954
+ self.monthsDropdownContainer.appendChild(month);
955
+ }
956
+ }
957
+ function buildMonth() {
958
+ var container = createElement("div", "flatpickr-month");
959
+ var monthNavFragment = window.document.createDocumentFragment();
960
+ var monthElement;
961
+ if (self.config.showMonths > 1 || self.config.monthSelectorType === "static") monthElement = createElement("span", "cur-month");
962
+ else {
963
+ self.monthsDropdownContainer = createElement("select", "flatpickr-monthDropdown-months");
964
+ self.monthsDropdownContainer.setAttribute("aria-label", self.l10n.monthAriaLabel);
965
+ bind(self.monthsDropdownContainer, "change", function(e) {
966
+ var target = getEventTarget(e);
967
+ var selectedMonth = parseInt(target.value, 10);
968
+ self.changeMonth(selectedMonth - self.currentMonth);
969
+ triggerEvent("onMonthChange");
970
+ });
971
+ buildMonthSwitch();
972
+ monthElement = self.monthsDropdownContainer;
973
+ }
974
+ var yearInput = createNumberInput("cur-year", { tabindex: "-1" });
975
+ var yearElement = yearInput.getElementsByTagName("input")[0];
976
+ yearElement.setAttribute("aria-label", self.l10n.yearAriaLabel);
977
+ if (self.config.minDate) yearElement.setAttribute("min", self.config.minDate.getFullYear().toString());
978
+ if (self.config.maxDate) {
979
+ yearElement.setAttribute("max", self.config.maxDate.getFullYear().toString());
980
+ yearElement.disabled = !!self.config.minDate && self.config.minDate.getFullYear() === self.config.maxDate.getFullYear();
981
+ }
982
+ var currentMonth = createElement("div", "flatpickr-current-month");
983
+ currentMonth.appendChild(monthElement);
984
+ currentMonth.appendChild(yearInput);
985
+ monthNavFragment.appendChild(currentMonth);
986
+ container.appendChild(monthNavFragment);
987
+ return {
988
+ container,
989
+ yearElement,
990
+ monthElement
991
+ };
992
+ }
993
+ function buildMonths() {
994
+ clearNode(self.monthNav);
995
+ self.monthNav.appendChild(self.prevMonthNav);
996
+ if (self.config.showMonths) {
997
+ self.yearElements = [];
998
+ self.monthElements = [];
999
+ }
1000
+ for (var m = self.config.showMonths; m--;) {
1001
+ var month = buildMonth();
1002
+ self.yearElements.push(month.yearElement);
1003
+ self.monthElements.push(month.monthElement);
1004
+ self.monthNav.appendChild(month.container);
1005
+ }
1006
+ self.monthNav.appendChild(self.nextMonthNav);
1007
+ }
1008
+ function buildMonthNav() {
1009
+ self.monthNav = createElement("div", "flatpickr-months");
1010
+ self.yearElements = [];
1011
+ self.monthElements = [];
1012
+ self.prevMonthNav = createElement("span", "flatpickr-prev-month");
1013
+ self.prevMonthNav.innerHTML = self.config.prevArrow;
1014
+ self.nextMonthNav = createElement("span", "flatpickr-next-month");
1015
+ self.nextMonthNav.innerHTML = self.config.nextArrow;
1016
+ buildMonths();
1017
+ Object.defineProperty(self, "_hidePrevMonthArrow", {
1018
+ get: function() {
1019
+ return self.__hidePrevMonthArrow;
1020
+ },
1021
+ set: function(bool) {
1022
+ if (self.__hidePrevMonthArrow !== bool) {
1023
+ toggleClass(self.prevMonthNav, "flatpickr-disabled", bool);
1024
+ self.__hidePrevMonthArrow = bool;
1025
+ }
1026
+ }
1027
+ });
1028
+ Object.defineProperty(self, "_hideNextMonthArrow", {
1029
+ get: function() {
1030
+ return self.__hideNextMonthArrow;
1031
+ },
1032
+ set: function(bool) {
1033
+ if (self.__hideNextMonthArrow !== bool) {
1034
+ toggleClass(self.nextMonthNav, "flatpickr-disabled", bool);
1035
+ self.__hideNextMonthArrow = bool;
1036
+ }
1037
+ }
1038
+ });
1039
+ self.currentYearElement = self.yearElements[0];
1040
+ updateNavigationCurrentMonth();
1041
+ return self.monthNav;
1042
+ }
1043
+ function buildTime() {
1044
+ self.calendarContainer.classList.add("hasTime");
1045
+ if (self.config.noCalendar) self.calendarContainer.classList.add("noCalendar");
1046
+ var defaults = getDefaultHours(self.config);
1047
+ self.timeContainer = createElement("div", "flatpickr-time");
1048
+ self.timeContainer.tabIndex = -1;
1049
+ var separator = createElement("span", "flatpickr-time-separator", ":");
1050
+ var hourInput = createNumberInput("flatpickr-hour", { "aria-label": self.l10n.hourAriaLabel });
1051
+ self.hourElement = hourInput.getElementsByTagName("input")[0];
1052
+ var minuteInput = createNumberInput("flatpickr-minute", { "aria-label": self.l10n.minuteAriaLabel });
1053
+ self.minuteElement = minuteInput.getElementsByTagName("input")[0];
1054
+ self.hourElement.tabIndex = self.minuteElement.tabIndex = -1;
1055
+ self.hourElement.value = pad(self.latestSelectedDateObj ? self.latestSelectedDateObj.getHours() : self.config.time_24hr ? defaults.hours : military2ampm(defaults.hours));
1056
+ self.minuteElement.value = pad(self.latestSelectedDateObj ? self.latestSelectedDateObj.getMinutes() : defaults.minutes);
1057
+ self.hourElement.setAttribute("step", self.config.hourIncrement.toString());
1058
+ self.minuteElement.setAttribute("step", self.config.minuteIncrement.toString());
1059
+ self.hourElement.setAttribute("min", self.config.time_24hr ? "0" : "1");
1060
+ self.hourElement.setAttribute("max", self.config.time_24hr ? "23" : "12");
1061
+ self.hourElement.setAttribute("maxlength", "2");
1062
+ self.minuteElement.setAttribute("min", "0");
1063
+ self.minuteElement.setAttribute("max", "59");
1064
+ self.minuteElement.setAttribute("maxlength", "2");
1065
+ self.timeContainer.appendChild(hourInput);
1066
+ self.timeContainer.appendChild(separator);
1067
+ self.timeContainer.appendChild(minuteInput);
1068
+ if (self.config.time_24hr) self.timeContainer.classList.add("time24hr");
1069
+ if (self.config.enableSeconds) {
1070
+ self.timeContainer.classList.add("hasSeconds");
1071
+ var secondInput = createNumberInput("flatpickr-second");
1072
+ self.secondElement = secondInput.getElementsByTagName("input")[0];
1073
+ self.secondElement.value = pad(self.latestSelectedDateObj ? self.latestSelectedDateObj.getSeconds() : defaults.seconds);
1074
+ self.secondElement.setAttribute("step", self.minuteElement.getAttribute("step"));
1075
+ self.secondElement.setAttribute("min", "0");
1076
+ self.secondElement.setAttribute("max", "59");
1077
+ self.secondElement.setAttribute("maxlength", "2");
1078
+ self.timeContainer.appendChild(createElement("span", "flatpickr-time-separator", ":"));
1079
+ self.timeContainer.appendChild(secondInput);
1080
+ }
1081
+ if (!self.config.time_24hr) {
1082
+ self.amPM = createElement("span", "flatpickr-am-pm", self.l10n.amPM[int((self.latestSelectedDateObj ? self.hourElement.value : self.config.defaultHour) > 11)]);
1083
+ self.amPM.title = self.l10n.toggleTitle;
1084
+ self.amPM.tabIndex = -1;
1085
+ self.timeContainer.appendChild(self.amPM);
1086
+ }
1087
+ return self.timeContainer;
1088
+ }
1089
+ function buildWeekdays() {
1090
+ if (!self.weekdayContainer) self.weekdayContainer = createElement("div", "flatpickr-weekdays");
1091
+ else clearNode(self.weekdayContainer);
1092
+ for (var i = self.config.showMonths; i--;) {
1093
+ var container = createElement("div", "flatpickr-weekdaycontainer");
1094
+ self.weekdayContainer.appendChild(container);
1095
+ }
1096
+ updateWeekdays();
1097
+ return self.weekdayContainer;
1098
+ }
1099
+ function updateWeekdays() {
1100
+ if (!self.weekdayContainer) return;
1101
+ var firstDayOfWeek = self.l10n.firstDayOfWeek;
1102
+ var weekdays = __spreadArrays(self.l10n.weekdays.shorthand);
1103
+ if (firstDayOfWeek > 0 && firstDayOfWeek < weekdays.length) weekdays = __spreadArrays(weekdays.splice(firstDayOfWeek, weekdays.length), weekdays.splice(0, firstDayOfWeek));
1104
+ for (var i = self.config.showMonths; i--;) self.weekdayContainer.children[i].innerHTML = "\n <span class='flatpickr-weekday'>\n " + weekdays.join("</span><span class='flatpickr-weekday'>") + "\n </span>\n ";
1105
+ }
1106
+ function buildWeeks() {
1107
+ self.calendarContainer.classList.add("hasWeeks");
1108
+ var weekWrapper = createElement("div", "flatpickr-weekwrapper");
1109
+ weekWrapper.appendChild(createElement("span", "flatpickr-weekday", self.l10n.weekAbbreviation));
1110
+ var weekNumbers = createElement("div", "flatpickr-weeks");
1111
+ weekWrapper.appendChild(weekNumbers);
1112
+ return {
1113
+ weekWrapper,
1114
+ weekNumbers
1115
+ };
1116
+ }
1117
+ function changeMonth(value, isOffset) {
1118
+ if (isOffset === void 0) isOffset = true;
1119
+ var delta = isOffset ? value : value - self.currentMonth;
1120
+ if (delta < 0 && self._hidePrevMonthArrow === true || delta > 0 && self._hideNextMonthArrow === true) return;
1121
+ self.currentMonth += delta;
1122
+ if (self.currentMonth < 0 || self.currentMonth > 11) {
1123
+ self.currentYear += self.currentMonth > 11 ? 1 : -1;
1124
+ self.currentMonth = (self.currentMonth + 12) % 12;
1125
+ triggerEvent("onYearChange");
1126
+ buildMonthSwitch();
1127
+ }
1128
+ buildDays();
1129
+ triggerEvent("onMonthChange");
1130
+ updateNavigationCurrentMonth();
1131
+ }
1132
+ function clear(triggerChangeEvent, toInitial) {
1133
+ if (triggerChangeEvent === void 0) triggerChangeEvent = true;
1134
+ if (toInitial === void 0) toInitial = true;
1135
+ self.input.value = "";
1136
+ if (self.altInput !== void 0) self.altInput.value = "";
1137
+ if (self.mobileInput !== void 0) self.mobileInput.value = "";
1138
+ self.selectedDates = [];
1139
+ self.latestSelectedDateObj = void 0;
1140
+ if (toInitial === true) {
1141
+ self.currentYear = self._initialDate.getFullYear();
1142
+ self.currentMonth = self._initialDate.getMonth();
1143
+ }
1144
+ if (self.config.enableTime === true) {
1145
+ var _a = getDefaultHours(self.config), hours = _a.hours, minutes = _a.minutes, seconds = _a.seconds;
1146
+ setHours(hours, minutes, seconds);
1147
+ }
1148
+ self.redraw();
1149
+ if (triggerChangeEvent) triggerEvent("onChange");
1150
+ }
1151
+ function close() {
1152
+ self.isOpen = false;
1153
+ if (!self.isMobile) {
1154
+ if (self.calendarContainer !== void 0) self.calendarContainer.classList.remove("open");
1155
+ if (self._input !== void 0) self._input.classList.remove("active");
1156
+ }
1157
+ triggerEvent("onClose");
1158
+ }
1159
+ function destroy() {
1160
+ if (self.config !== void 0) triggerEvent("onDestroy");
1161
+ for (var i = self._handlers.length; i--;) self._handlers[i].remove();
1162
+ self._handlers = [];
1163
+ if (self.mobileInput) {
1164
+ if (self.mobileInput.parentNode) self.mobileInput.parentNode.removeChild(self.mobileInput);
1165
+ self.mobileInput = void 0;
1166
+ } else if (self.calendarContainer && self.calendarContainer.parentNode) if (self.config.static && self.calendarContainer.parentNode) {
1167
+ var wrapper = self.calendarContainer.parentNode;
1168
+ wrapper.lastChild && wrapper.removeChild(wrapper.lastChild);
1169
+ if (wrapper.parentNode) {
1170
+ while (wrapper.firstChild) wrapper.parentNode.insertBefore(wrapper.firstChild, wrapper);
1171
+ wrapper.parentNode.removeChild(wrapper);
1172
+ }
1173
+ } else self.calendarContainer.parentNode.removeChild(self.calendarContainer);
1174
+ if (self.altInput) {
1175
+ self.input.type = "text";
1176
+ if (self.altInput.parentNode) self.altInput.parentNode.removeChild(self.altInput);
1177
+ delete self.altInput;
1178
+ }
1179
+ if (self.input) {
1180
+ self.input.type = self.input._type;
1181
+ self.input.classList.remove("flatpickr-input");
1182
+ self.input.removeAttribute("readonly");
1183
+ }
1184
+ [
1185
+ "_showTimeInput",
1186
+ "latestSelectedDateObj",
1187
+ "_hideNextMonthArrow",
1188
+ "_hidePrevMonthArrow",
1189
+ "__hideNextMonthArrow",
1190
+ "__hidePrevMonthArrow",
1191
+ "isMobile",
1192
+ "isOpen",
1193
+ "selectedDateElem",
1194
+ "minDateHasTime",
1195
+ "maxDateHasTime",
1196
+ "days",
1197
+ "daysContainer",
1198
+ "_input",
1199
+ "_positionElement",
1200
+ "innerContainer",
1201
+ "rContainer",
1202
+ "monthNav",
1203
+ "todayDateElem",
1204
+ "calendarContainer",
1205
+ "weekdayContainer",
1206
+ "prevMonthNav",
1207
+ "nextMonthNav",
1208
+ "monthsDropdownContainer",
1209
+ "currentMonthElement",
1210
+ "currentYearElement",
1211
+ "navigationCurrentMonth",
1212
+ "selectedDateElem",
1213
+ "config"
1214
+ ].forEach(function(k) {
1215
+ try {
1216
+ delete self[k];
1217
+ } catch (_) {}
1218
+ });
1219
+ }
1220
+ function isCalendarElem(elem) {
1221
+ return self.calendarContainer.contains(elem);
1222
+ }
1223
+ function documentClick(e) {
1224
+ if (self.isOpen && !self.config.inline) {
1225
+ var eventTarget_1 = getEventTarget(e);
1226
+ var isCalendarElement = isCalendarElem(eventTarget_1);
1227
+ var lostFocus = !(eventTarget_1 === self.input || eventTarget_1 === self.altInput || self.element.contains(eventTarget_1) || e.path && e.path.indexOf && (~e.path.indexOf(self.input) || ~e.path.indexOf(self.altInput))) && !isCalendarElement && !isCalendarElem(e.relatedTarget);
1228
+ var isIgnored = !self.config.ignoredFocusElements.some(function(elem) {
1229
+ return elem.contains(eventTarget_1);
1230
+ });
1231
+ if (lostFocus && isIgnored) {
1232
+ if (self.config.allowInput) self.setDate(self._input.value, false, self.config.altInput ? self.config.altFormat : self.config.dateFormat);
1233
+ if (self.timeContainer !== void 0 && self.minuteElement !== void 0 && self.hourElement !== void 0 && self.input.value !== "" && self.input.value !== void 0) updateTime();
1234
+ self.close();
1235
+ if (self.config && self.config.mode === "range" && self.selectedDates.length === 1) self.clear(false);
1236
+ }
1237
+ }
1238
+ }
1239
+ function changeYear(newYear) {
1240
+ if (!newYear || self.config.minDate && newYear < self.config.minDate.getFullYear() || self.config.maxDate && newYear > self.config.maxDate.getFullYear()) return;
1241
+ var newYearNum = newYear, isNewYear = self.currentYear !== newYearNum;
1242
+ self.currentYear = newYearNum || self.currentYear;
1243
+ if (self.config.maxDate && self.currentYear === self.config.maxDate.getFullYear()) self.currentMonth = Math.min(self.config.maxDate.getMonth(), self.currentMonth);
1244
+ else if (self.config.minDate && self.currentYear === self.config.minDate.getFullYear()) self.currentMonth = Math.max(self.config.minDate.getMonth(), self.currentMonth);
1245
+ if (isNewYear) {
1246
+ self.redraw();
1247
+ triggerEvent("onYearChange");
1248
+ buildMonthSwitch();
1249
+ }
1250
+ }
1251
+ function isEnabled(date, timeless) {
1252
+ var _a;
1253
+ if (timeless === void 0) timeless = true;
1254
+ var dateToCheck = self.parseDate(date, void 0, timeless);
1255
+ if (self.config.minDate && dateToCheck && compareDates(dateToCheck, self.config.minDate, timeless !== void 0 ? timeless : !self.minDateHasTime) < 0 || self.config.maxDate && dateToCheck && compareDates(dateToCheck, self.config.maxDate, timeless !== void 0 ? timeless : !self.maxDateHasTime) > 0) return false;
1256
+ if (!self.config.enable && self.config.disable.length === 0) return true;
1257
+ if (dateToCheck === void 0) return false;
1258
+ var bool = !!self.config.enable, array = (_a = self.config.enable) !== null && _a !== void 0 ? _a : self.config.disable;
1259
+ for (var i = 0, d = void 0; i < array.length; i++) {
1260
+ d = array[i];
1261
+ if (typeof d === "function" && d(dateToCheck)) return bool;
1262
+ else if (d instanceof Date && dateToCheck !== void 0 && d.getTime() === dateToCheck.getTime()) return bool;
1263
+ else if (typeof d === "string") {
1264
+ var parsed = self.parseDate(d, void 0, true);
1265
+ return parsed && parsed.getTime() === dateToCheck.getTime() ? bool : !bool;
1266
+ } else if (typeof d === "object" && dateToCheck !== void 0 && d.from && d.to && dateToCheck.getTime() >= d.from.getTime() && dateToCheck.getTime() <= d.to.getTime()) return bool;
1267
+ }
1268
+ return !bool;
1269
+ }
1270
+ function isInView(elem) {
1271
+ if (self.daysContainer !== void 0) return elem.className.indexOf("hidden") === -1 && elem.className.indexOf("flatpickr-disabled") === -1 && self.daysContainer.contains(elem);
1272
+ return false;
1273
+ }
1274
+ function onBlur(e) {
1275
+ var isInput = e.target === self._input;
1276
+ var valueChanged = self._input.value.trimEnd() !== getDateStr();
1277
+ if (isInput && valueChanged && !(e.relatedTarget && isCalendarElem(e.relatedTarget))) self.setDate(self._input.value, true, e.target === self.altInput ? self.config.altFormat : self.config.dateFormat);
1278
+ }
1279
+ function onKeyDown(e) {
1280
+ var eventTarget = getEventTarget(e);
1281
+ var isInput = self.config.wrap ? element.contains(eventTarget) : eventTarget === self._input;
1282
+ var allowInput = self.config.allowInput;
1283
+ var allowKeydown = self.isOpen && (!allowInput || !isInput);
1284
+ var allowInlineKeydown = self.config.inline && isInput && !allowInput;
1285
+ if (e.keyCode === 13 && isInput) if (allowInput) {
1286
+ self.setDate(self._input.value, true, eventTarget === self.altInput ? self.config.altFormat : self.config.dateFormat);
1287
+ self.close();
1288
+ return eventTarget.blur();
1289
+ } else self.open();
1290
+ else if (isCalendarElem(eventTarget) || allowKeydown || allowInlineKeydown) {
1291
+ var isTimeObj = !!self.timeContainer && self.timeContainer.contains(eventTarget);
1292
+ switch (e.keyCode) {
1293
+ case 13:
1294
+ if (isTimeObj) {
1295
+ e.preventDefault();
1296
+ updateTime();
1297
+ focusAndClose();
1298
+ } else selectDate(e);
1299
+ break;
1300
+ case 27:
1301
+ e.preventDefault();
1302
+ focusAndClose();
1303
+ break;
1304
+ case 8:
1305
+ case 46:
1306
+ if (isInput && !self.config.allowInput) {
1307
+ e.preventDefault();
1308
+ self.clear();
1309
+ }
1310
+ break;
1311
+ case 37:
1312
+ case 39:
1313
+ if (!isTimeObj && !isInput) {
1314
+ e.preventDefault();
1315
+ var activeElement = getClosestActiveElement();
1316
+ if (self.daysContainer !== void 0 && (allowInput === false || activeElement && isInView(activeElement))) {
1317
+ var delta_1 = e.keyCode === 39 ? 1 : -1;
1318
+ if (!e.ctrlKey) focusOnDay(void 0, delta_1);
1319
+ else {
1320
+ e.stopPropagation();
1321
+ changeMonth(delta_1);
1322
+ focusOnDay(getFirstAvailableDay(1), 0);
1323
+ }
1324
+ }
1325
+ } else if (self.hourElement) self.hourElement.focus();
1326
+ break;
1327
+ case 38:
1328
+ case 40:
1329
+ e.preventDefault();
1330
+ var delta = e.keyCode === 40 ? 1 : -1;
1331
+ if (self.daysContainer && eventTarget.$i !== void 0 || eventTarget === self.input || eventTarget === self.altInput) {
1332
+ if (e.ctrlKey) {
1333
+ e.stopPropagation();
1334
+ changeYear(self.currentYear - delta);
1335
+ focusOnDay(getFirstAvailableDay(1), 0);
1336
+ } else if (!isTimeObj) focusOnDay(void 0, delta * 7);
1337
+ } else if (eventTarget === self.currentYearElement) changeYear(self.currentYear - delta);
1338
+ else if (self.config.enableTime) {
1339
+ if (!isTimeObj && self.hourElement) self.hourElement.focus();
1340
+ updateTime(e);
1341
+ self._debouncedChange();
1342
+ }
1343
+ break;
1344
+ case 9:
1345
+ if (isTimeObj) {
1346
+ var elems = [
1347
+ self.hourElement,
1348
+ self.minuteElement,
1349
+ self.secondElement,
1350
+ self.amPM
1351
+ ].concat(self.pluginElements).filter(function(x) {
1352
+ return x;
1353
+ });
1354
+ var i = elems.indexOf(eventTarget);
1355
+ if (i !== -1) {
1356
+ var target = elems[i + (e.shiftKey ? -1 : 1)];
1357
+ e.preventDefault();
1358
+ (target || self._input).focus();
1359
+ }
1360
+ } else if (!self.config.noCalendar && self.daysContainer && self.daysContainer.contains(eventTarget) && e.shiftKey) {
1361
+ e.preventDefault();
1362
+ self._input.focus();
1363
+ }
1364
+ break;
1365
+ default: break;
1366
+ }
1367
+ }
1368
+ if (self.amPM !== void 0 && eventTarget === self.amPM) switch (e.key) {
1369
+ case self.l10n.amPM[0].charAt(0):
1370
+ case self.l10n.amPM[0].charAt(0).toLowerCase():
1371
+ self.amPM.textContent = self.l10n.amPM[0];
1372
+ setHoursFromInputs();
1373
+ updateValue();
1374
+ break;
1375
+ case self.l10n.amPM[1].charAt(0):
1376
+ case self.l10n.amPM[1].charAt(0).toLowerCase():
1377
+ self.amPM.textContent = self.l10n.amPM[1];
1378
+ setHoursFromInputs();
1379
+ updateValue();
1380
+ break;
1381
+ }
1382
+ if (isInput || isCalendarElem(eventTarget)) triggerEvent("onKeyDown", e);
1383
+ }
1384
+ function onMouseOver(elem, cellClass) {
1385
+ if (cellClass === void 0) cellClass = "flatpickr-day";
1386
+ if (self.selectedDates.length !== 1 || elem && (!elem.classList.contains(cellClass) || elem.classList.contains("flatpickr-disabled"))) return;
1387
+ var hoverDate = elem ? elem.dateObj.getTime() : self.days.firstElementChild.dateObj.getTime(), initialDate = self.parseDate(self.selectedDates[0], void 0, true).getTime(), rangeStartDate = Math.min(hoverDate, self.selectedDates[0].getTime()), rangeEndDate = Math.max(hoverDate, self.selectedDates[0].getTime());
1388
+ var containsDisabled = false;
1389
+ var minRange = 0, maxRange = 0;
1390
+ for (var t = rangeStartDate; t < rangeEndDate; t += duration.DAY) if (!isEnabled(new Date(t), true)) {
1391
+ containsDisabled = containsDisabled || t > rangeStartDate && t < rangeEndDate;
1392
+ if (t < initialDate && (!minRange || t > minRange)) minRange = t;
1393
+ else if (t > initialDate && (!maxRange || t < maxRange)) maxRange = t;
1394
+ }
1395
+ Array.from(self.rContainer.querySelectorAll("*:nth-child(-n+" + self.config.showMonths + ") > ." + cellClass)).forEach(function(dayElem) {
1396
+ var timestamp = dayElem.dateObj.getTime();
1397
+ var outOfRange = minRange > 0 && timestamp < minRange || maxRange > 0 && timestamp > maxRange;
1398
+ if (outOfRange) {
1399
+ dayElem.classList.add("notAllowed");
1400
+ [
1401
+ "inRange",
1402
+ "startRange",
1403
+ "endRange"
1404
+ ].forEach(function(c) {
1405
+ dayElem.classList.remove(c);
1406
+ });
1407
+ return;
1408
+ } else if (containsDisabled && !outOfRange) return;
1409
+ [
1410
+ "startRange",
1411
+ "inRange",
1412
+ "endRange",
1413
+ "notAllowed"
1414
+ ].forEach(function(c) {
1415
+ dayElem.classList.remove(c);
1416
+ });
1417
+ if (elem !== void 0) {
1418
+ elem.classList.add(hoverDate <= self.selectedDates[0].getTime() ? "startRange" : "endRange");
1419
+ if (initialDate < hoverDate && timestamp === initialDate) dayElem.classList.add("startRange");
1420
+ else if (initialDate > hoverDate && timestamp === initialDate) dayElem.classList.add("endRange");
1421
+ if (timestamp >= minRange && (maxRange === 0 || timestamp <= maxRange) && isBetween(timestamp, initialDate, hoverDate)) dayElem.classList.add("inRange");
1422
+ }
1423
+ });
1424
+ }
1425
+ function onResize() {
1426
+ if (self.isOpen && !self.config.static && !self.config.inline) positionCalendar();
1427
+ }
1428
+ function open(e, positionElement) {
1429
+ if (positionElement === void 0) positionElement = self._positionElement;
1430
+ if (self.isMobile === true) {
1431
+ if (e) {
1432
+ e.preventDefault();
1433
+ var eventTarget = getEventTarget(e);
1434
+ if (eventTarget) eventTarget.blur();
1435
+ }
1436
+ if (self.mobileInput !== void 0) {
1437
+ self.mobileInput.focus();
1438
+ self.mobileInput.click();
1439
+ }
1440
+ triggerEvent("onOpen");
1441
+ return;
1442
+ } else if (self._input.disabled || self.config.inline) return;
1443
+ var wasOpen = self.isOpen;
1444
+ self.isOpen = true;
1445
+ if (!wasOpen) {
1446
+ self.calendarContainer.classList.add("open");
1447
+ self._input.classList.add("active");
1448
+ triggerEvent("onOpen");
1449
+ positionCalendar(positionElement);
1450
+ }
1451
+ if (self.config.enableTime === true && self.config.noCalendar === true) {
1452
+ if (self.config.allowInput === false && (e === void 0 || !self.timeContainer.contains(e.relatedTarget))) setTimeout(function() {
1453
+ return self.hourElement.select();
1454
+ }, 50);
1455
+ }
1456
+ }
1457
+ function minMaxDateSetter(type) {
1458
+ return function(date) {
1459
+ var dateObj = self.config["_" + type + "Date"] = self.parseDate(date, self.config.dateFormat);
1460
+ var inverseDateObj = self.config["_" + (type === "min" ? "max" : "min") + "Date"];
1461
+ if (dateObj !== void 0) self[type === "min" ? "minDateHasTime" : "maxDateHasTime"] = dateObj.getHours() > 0 || dateObj.getMinutes() > 0 || dateObj.getSeconds() > 0;
1462
+ if (self.selectedDates) {
1463
+ self.selectedDates = self.selectedDates.filter(function(d) {
1464
+ return isEnabled(d);
1465
+ });
1466
+ if (!self.selectedDates.length && type === "min") setHoursFromDate(dateObj);
1467
+ updateValue();
1468
+ }
1469
+ if (self.daysContainer) {
1470
+ redraw();
1471
+ if (dateObj !== void 0) self.currentYearElement[type] = dateObj.getFullYear().toString();
1472
+ else self.currentYearElement.removeAttribute(type);
1473
+ self.currentYearElement.disabled = !!inverseDateObj && dateObj !== void 0 && inverseDateObj.getFullYear() === dateObj.getFullYear();
1474
+ }
1475
+ };
1476
+ }
1477
+ function parseConfig() {
1478
+ var boolOpts = [
1479
+ "wrap",
1480
+ "weekNumbers",
1481
+ "allowInput",
1482
+ "allowInvalidPreload",
1483
+ "clickOpens",
1484
+ "time_24hr",
1485
+ "enableTime",
1486
+ "noCalendar",
1487
+ "altInput",
1488
+ "shorthandCurrentMonth",
1489
+ "inline",
1490
+ "static",
1491
+ "enableSeconds",
1492
+ "disableMobile"
1493
+ ];
1494
+ var userConfig = __assign(__assign({}, JSON.parse(JSON.stringify(element.dataset || {}))), instanceConfig);
1495
+ var formats = {};
1496
+ self.config.parseDate = userConfig.parseDate;
1497
+ self.config.formatDate = userConfig.formatDate;
1498
+ Object.defineProperty(self.config, "enable", {
1499
+ get: function() {
1500
+ return self.config._enable;
1501
+ },
1502
+ set: function(dates) {
1503
+ self.config._enable = parseDateRules(dates);
1504
+ }
1505
+ });
1506
+ Object.defineProperty(self.config, "disable", {
1507
+ get: function() {
1508
+ return self.config._disable;
1509
+ },
1510
+ set: function(dates) {
1511
+ self.config._disable = parseDateRules(dates);
1512
+ }
1513
+ });
1514
+ var timeMode = userConfig.mode === "time";
1515
+ if (!userConfig.dateFormat && (userConfig.enableTime || timeMode)) {
1516
+ var defaultDateFormat = flatpickr.defaultConfig.dateFormat || defaults.dateFormat;
1517
+ formats.dateFormat = userConfig.noCalendar || timeMode ? "H:i" + (userConfig.enableSeconds ? ":S" : "") : defaultDateFormat + " H:i" + (userConfig.enableSeconds ? ":S" : "");
1518
+ }
1519
+ if (userConfig.altInput && (userConfig.enableTime || timeMode) && !userConfig.altFormat) {
1520
+ var defaultAltFormat = flatpickr.defaultConfig.altFormat || defaults.altFormat;
1521
+ formats.altFormat = userConfig.noCalendar || timeMode ? "h:i" + (userConfig.enableSeconds ? ":S K" : " K") : defaultAltFormat + (" h:i" + (userConfig.enableSeconds ? ":S" : "") + " K");
1522
+ }
1523
+ Object.defineProperty(self.config, "minDate", {
1524
+ get: function() {
1525
+ return self.config._minDate;
1526
+ },
1527
+ set: minMaxDateSetter("min")
1528
+ });
1529
+ Object.defineProperty(self.config, "maxDate", {
1530
+ get: function() {
1531
+ return self.config._maxDate;
1532
+ },
1533
+ set: minMaxDateSetter("max")
1534
+ });
1535
+ var minMaxTimeSetter = function(type) {
1536
+ return function(val) {
1537
+ self.config[type === "min" ? "_minTime" : "_maxTime"] = self.parseDate(val, "H:i:S");
1538
+ };
1539
+ };
1540
+ Object.defineProperty(self.config, "minTime", {
1541
+ get: function() {
1542
+ return self.config._minTime;
1543
+ },
1544
+ set: minMaxTimeSetter("min")
1545
+ });
1546
+ Object.defineProperty(self.config, "maxTime", {
1547
+ get: function() {
1548
+ return self.config._maxTime;
1549
+ },
1550
+ set: minMaxTimeSetter("max")
1551
+ });
1552
+ if (userConfig.mode === "time") {
1553
+ self.config.noCalendar = true;
1554
+ self.config.enableTime = true;
1555
+ }
1556
+ Object.assign(self.config, formats, userConfig);
1557
+ for (var i = 0; i < boolOpts.length; i++) self.config[boolOpts[i]] = self.config[boolOpts[i]] === true || self.config[boolOpts[i]] === "true";
1558
+ HOOKS.filter(function(hook) {
1559
+ return self.config[hook] !== void 0;
1560
+ }).forEach(function(hook) {
1561
+ self.config[hook] = arrayify(self.config[hook] || []).map(bindToInstance);
1562
+ });
1563
+ self.isMobile = !self.config.disableMobile && !self.config.inline && self.config.mode === "single" && !self.config.disable.length && !self.config.enable && !self.config.weekNumbers && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
1564
+ for (var i = 0; i < self.config.plugins.length; i++) {
1565
+ var pluginConf = self.config.plugins[i](self) || {};
1566
+ for (var key in pluginConf) if (HOOKS.indexOf(key) > -1) self.config[key] = arrayify(pluginConf[key]).map(bindToInstance).concat(self.config[key]);
1567
+ else if (typeof userConfig[key] === "undefined") self.config[key] = pluginConf[key];
1568
+ }
1569
+ if (!userConfig.altInputClass) self.config.altInputClass = getInputElem().className + " " + self.config.altInputClass;
1570
+ triggerEvent("onParseConfig");
1571
+ }
1572
+ function getInputElem() {
1573
+ return self.config.wrap ? element.querySelector("[data-input]") : element;
1574
+ }
1575
+ function setupLocale() {
1576
+ if (typeof self.config.locale !== "object" && typeof flatpickr.l10ns[self.config.locale] === "undefined") self.config.errorHandler(/* @__PURE__ */ new Error("flatpickr: invalid locale " + self.config.locale));
1577
+ self.l10n = __assign(__assign({}, flatpickr.l10ns.default), typeof self.config.locale === "object" ? self.config.locale : self.config.locale !== "default" ? flatpickr.l10ns[self.config.locale] : void 0);
1578
+ tokenRegex.D = "(" + self.l10n.weekdays.shorthand.join("|") + ")";
1579
+ tokenRegex.l = "(" + self.l10n.weekdays.longhand.join("|") + ")";
1580
+ tokenRegex.M = "(" + self.l10n.months.shorthand.join("|") + ")";
1581
+ tokenRegex.F = "(" + self.l10n.months.longhand.join("|") + ")";
1582
+ tokenRegex.K = "(" + self.l10n.amPM[0] + "|" + self.l10n.amPM[1] + "|" + self.l10n.amPM[0].toLowerCase() + "|" + self.l10n.amPM[1].toLowerCase() + ")";
1583
+ if (__assign(__assign({}, instanceConfig), JSON.parse(JSON.stringify(element.dataset || {}))).time_24hr === void 0 && flatpickr.defaultConfig.time_24hr === void 0) self.config.time_24hr = self.l10n.time_24hr;
1584
+ self.formatDate = createDateFormatter(self);
1585
+ self.parseDate = createDateParser({
1586
+ config: self.config,
1587
+ l10n: self.l10n
1588
+ });
1589
+ }
1590
+ function positionCalendar(customPositionElement) {
1591
+ if (typeof self.config.position === "function") {
1592
+ self.config.position(self, customPositionElement);
1593
+ return;
1594
+ }
1595
+ if (self.calendarContainer === void 0) return;
1596
+ triggerEvent("onPreCalendarPosition");
1597
+ var positionElement = customPositionElement || self._positionElement;
1598
+ var calendarHeight = Array.prototype.reduce.call(self.calendarContainer.children, (function(acc, child) {
1599
+ return acc + child.offsetHeight;
1600
+ }), 0), calendarWidth = self.calendarContainer.offsetWidth, configPos = self.config.position.split(" "), configPosVertical = configPos[0], configPosHorizontal = configPos.length > 1 ? configPos[1] : null, inputBounds = positionElement.getBoundingClientRect(), distanceFromBottom = window.innerHeight - inputBounds.bottom, showOnTop = configPosVertical === "above" || configPosVertical !== "below" && distanceFromBottom < calendarHeight && inputBounds.top > calendarHeight;
1601
+ var top = window.pageYOffset + inputBounds.top + (!showOnTop ? positionElement.offsetHeight + 2 : -calendarHeight - 2);
1602
+ toggleClass(self.calendarContainer, "arrowTop", !showOnTop);
1603
+ toggleClass(self.calendarContainer, "arrowBottom", showOnTop);
1604
+ if (self.config.inline) return;
1605
+ var left = window.pageXOffset + inputBounds.left;
1606
+ var isCenter = false;
1607
+ var isRight = false;
1608
+ if (configPosHorizontal === "center") {
1609
+ left -= (calendarWidth - inputBounds.width) / 2;
1610
+ isCenter = true;
1611
+ } else if (configPosHorizontal === "right") {
1612
+ left -= calendarWidth - inputBounds.width;
1613
+ isRight = true;
1614
+ }
1615
+ toggleClass(self.calendarContainer, "arrowLeft", !isCenter && !isRight);
1616
+ toggleClass(self.calendarContainer, "arrowCenter", isCenter);
1617
+ toggleClass(self.calendarContainer, "arrowRight", isRight);
1618
+ var right = window.document.body.offsetWidth - (window.pageXOffset + inputBounds.right);
1619
+ var rightMost = left + calendarWidth > window.document.body.offsetWidth;
1620
+ var centerMost = right + calendarWidth > window.document.body.offsetWidth;
1621
+ toggleClass(self.calendarContainer, "rightMost", rightMost);
1622
+ if (self.config.static) return;
1623
+ self.calendarContainer.style.top = top + "px";
1624
+ if (!rightMost) {
1625
+ self.calendarContainer.style.left = left + "px";
1626
+ self.calendarContainer.style.right = "auto";
1627
+ } else if (!centerMost) {
1628
+ self.calendarContainer.style.left = "auto";
1629
+ self.calendarContainer.style.right = right + "px";
1630
+ } else {
1631
+ var doc = getDocumentStyleSheet();
1632
+ if (doc === void 0) return;
1633
+ var bodyWidth = window.document.body.offsetWidth;
1634
+ var centerLeft = Math.max(0, bodyWidth / 2 - calendarWidth / 2);
1635
+ var centerBefore = ".flatpickr-calendar.centerMost:before";
1636
+ var centerAfter = ".flatpickr-calendar.centerMost:after";
1637
+ var centerIndex = doc.cssRules.length;
1638
+ var centerStyle = "{left:" + inputBounds.left + "px;right:auto;}";
1639
+ toggleClass(self.calendarContainer, "rightMost", false);
1640
+ toggleClass(self.calendarContainer, "centerMost", true);
1641
+ doc.insertRule(centerBefore + "," + centerAfter + centerStyle, centerIndex);
1642
+ self.calendarContainer.style.left = centerLeft + "px";
1643
+ self.calendarContainer.style.right = "auto";
1644
+ }
1645
+ }
1646
+ function getDocumentStyleSheet() {
1647
+ var editableSheet = null;
1648
+ for (var i = 0; i < document.styleSheets.length; i++) {
1649
+ var sheet = document.styleSheets[i];
1650
+ if (!sheet.cssRules) continue;
1651
+ try {
1652
+ sheet.cssRules;
1653
+ } catch (err) {
1654
+ continue;
1655
+ }
1656
+ editableSheet = sheet;
1657
+ break;
1658
+ }
1659
+ return editableSheet != null ? editableSheet : createStyleSheet();
1660
+ }
1661
+ function createStyleSheet() {
1662
+ var style = document.createElement("style");
1663
+ document.head.appendChild(style);
1664
+ return style.sheet;
1665
+ }
1666
+ function redraw() {
1667
+ if (self.config.noCalendar || self.isMobile) return;
1668
+ buildMonthSwitch();
1669
+ updateNavigationCurrentMonth();
1670
+ buildDays();
1671
+ }
1672
+ function focusAndClose() {
1673
+ self._input.focus();
1674
+ if (window.navigator.userAgent.indexOf("MSIE") !== -1 || navigator.msMaxTouchPoints !== void 0) setTimeout(self.close, 0);
1675
+ else self.close();
1676
+ }
1677
+ function selectDate(e) {
1678
+ e.preventDefault();
1679
+ e.stopPropagation();
1680
+ var isSelectable = function(day) {
1681
+ return day.classList && day.classList.contains("flatpickr-day") && !day.classList.contains("flatpickr-disabled") && !day.classList.contains("notAllowed");
1682
+ };
1683
+ var t = findParent(getEventTarget(e), isSelectable);
1684
+ if (t === void 0) return;
1685
+ var target = t;
1686
+ var selectedDate = self.latestSelectedDateObj = new Date(target.dateObj.getTime());
1687
+ var shouldChangeMonth = (selectedDate.getMonth() < self.currentMonth || selectedDate.getMonth() > self.currentMonth + self.config.showMonths - 1) && self.config.mode !== "range";
1688
+ self.selectedDateElem = target;
1689
+ if (self.config.mode === "single") self.selectedDates = [selectedDate];
1690
+ else if (self.config.mode === "multiple") {
1691
+ var selectedIndex = isDateSelected(selectedDate);
1692
+ if (selectedIndex) self.selectedDates.splice(parseInt(selectedIndex), 1);
1693
+ else self.selectedDates.push(selectedDate);
1694
+ } else if (self.config.mode === "range") {
1695
+ if (self.selectedDates.length === 2) self.clear(false, false);
1696
+ self.latestSelectedDateObj = selectedDate;
1697
+ self.selectedDates.push(selectedDate);
1698
+ if (compareDates(selectedDate, self.selectedDates[0], true) !== 0) self.selectedDates.sort(function(a, b) {
1699
+ return a.getTime() - b.getTime();
1700
+ });
1701
+ }
1702
+ setHoursFromInputs();
1703
+ if (shouldChangeMonth) {
1704
+ var isNewYear = self.currentYear !== selectedDate.getFullYear();
1705
+ self.currentYear = selectedDate.getFullYear();
1706
+ self.currentMonth = selectedDate.getMonth();
1707
+ if (isNewYear) {
1708
+ triggerEvent("onYearChange");
1709
+ buildMonthSwitch();
1710
+ }
1711
+ triggerEvent("onMonthChange");
1712
+ }
1713
+ updateNavigationCurrentMonth();
1714
+ buildDays();
1715
+ updateValue();
1716
+ if (!shouldChangeMonth && self.config.mode !== "range" && self.config.showMonths === 1) focusOnDayElem(target);
1717
+ else if (self.selectedDateElem !== void 0 && self.hourElement === void 0) self.selectedDateElem && self.selectedDateElem.focus();
1718
+ if (self.hourElement !== void 0) self.hourElement !== void 0 && self.hourElement.focus();
1719
+ if (self.config.closeOnSelect) {
1720
+ var single = self.config.mode === "single" && !self.config.enableTime;
1721
+ var range = self.config.mode === "range" && self.selectedDates.length === 2 && !self.config.enableTime;
1722
+ if (single || range) focusAndClose();
1723
+ }
1724
+ triggerChange();
1725
+ }
1726
+ var CALLBACKS = {
1727
+ locale: [setupLocale, updateWeekdays],
1728
+ showMonths: [
1729
+ buildMonths,
1730
+ setCalendarWidth,
1731
+ buildWeekdays
1732
+ ],
1733
+ minDate: [jumpToDate],
1734
+ maxDate: [jumpToDate],
1735
+ positionElement: [updatePositionElement],
1736
+ clickOpens: [function() {
1737
+ if (self.config.clickOpens === true) {
1738
+ bind(self._input, "focus", self.open);
1739
+ bind(self._input, "click", self.open);
1740
+ } else {
1741
+ self._input.removeEventListener("focus", self.open);
1742
+ self._input.removeEventListener("click", self.open);
1743
+ }
1744
+ }]
1745
+ };
1746
+ function set(option, value) {
1747
+ if (option !== null && typeof option === "object") {
1748
+ Object.assign(self.config, option);
1749
+ for (var key in option) if (CALLBACKS[key] !== void 0) CALLBACKS[key].forEach(function(x) {
1750
+ return x();
1751
+ });
1752
+ } else {
1753
+ self.config[option] = value;
1754
+ if (CALLBACKS[option] !== void 0) CALLBACKS[option].forEach(function(x) {
1755
+ return x();
1756
+ });
1757
+ else if (HOOKS.indexOf(option) > -1) self.config[option] = arrayify(value);
1758
+ }
1759
+ self.redraw();
1760
+ updateValue(true);
1761
+ }
1762
+ function setSelectedDate(inputDate, format) {
1763
+ var dates = [];
1764
+ if (inputDate instanceof Array) dates = inputDate.map(function(d) {
1765
+ return self.parseDate(d, format);
1766
+ });
1767
+ else if (inputDate instanceof Date || typeof inputDate === "number") dates = [self.parseDate(inputDate, format)];
1768
+ else if (typeof inputDate === "string") switch (self.config.mode) {
1769
+ case "single":
1770
+ case "time":
1771
+ dates = [self.parseDate(inputDate, format)];
1772
+ break;
1773
+ case "multiple":
1774
+ dates = inputDate.split(self.config.conjunction).map(function(date) {
1775
+ return self.parseDate(date, format);
1776
+ });
1777
+ break;
1778
+ case "range":
1779
+ dates = inputDate.split(self.l10n.rangeSeparator).map(function(date) {
1780
+ return self.parseDate(date, format);
1781
+ });
1782
+ break;
1783
+ default: break;
1784
+ }
1785
+ else self.config.errorHandler(/* @__PURE__ */ new Error("Invalid date supplied: " + JSON.stringify(inputDate)));
1786
+ self.selectedDates = self.config.allowInvalidPreload ? dates : dates.filter(function(d) {
1787
+ return d instanceof Date && isEnabled(d, false);
1788
+ });
1789
+ if (self.config.mode === "range") self.selectedDates.sort(function(a, b) {
1790
+ return a.getTime() - b.getTime();
1791
+ });
1792
+ }
1793
+ function setDate(date, triggerChange, format) {
1794
+ if (triggerChange === void 0) triggerChange = false;
1795
+ if (format === void 0) format = self.config.dateFormat;
1796
+ if (date !== 0 && !date || date instanceof Array && date.length === 0) return self.clear(triggerChange);
1797
+ setSelectedDate(date, format);
1798
+ self.latestSelectedDateObj = self.selectedDates[self.selectedDates.length - 1];
1799
+ self.redraw();
1800
+ jumpToDate(void 0, triggerChange);
1801
+ setHoursFromDate();
1802
+ if (self.selectedDates.length === 0) self.clear(false);
1803
+ updateValue(triggerChange);
1804
+ if (triggerChange) triggerEvent("onChange");
1805
+ }
1806
+ function parseDateRules(arr) {
1807
+ return arr.slice().map(function(rule) {
1808
+ if (typeof rule === "string" || typeof rule === "number" || rule instanceof Date) return self.parseDate(rule, void 0, true);
1809
+ else if (rule && typeof rule === "object" && rule.from && rule.to) return {
1810
+ from: self.parseDate(rule.from, void 0),
1811
+ to: self.parseDate(rule.to, void 0)
1812
+ };
1813
+ return rule;
1814
+ }).filter(function(x) {
1815
+ return x;
1816
+ });
1817
+ }
1818
+ function setupDates() {
1819
+ self.selectedDates = [];
1820
+ self.now = self.parseDate(self.config.now) || /* @__PURE__ */ new Date();
1821
+ var preloadedDate = self.config.defaultDate || ((self.input.nodeName === "INPUT" || self.input.nodeName === "TEXTAREA") && self.input.placeholder && self.input.value === self.input.placeholder ? null : self.input.value);
1822
+ if (preloadedDate) setSelectedDate(preloadedDate, self.config.dateFormat);
1823
+ self._initialDate = self.selectedDates.length > 0 ? self.selectedDates[0] : self.config.minDate && self.config.minDate.getTime() > self.now.getTime() ? self.config.minDate : self.config.maxDate && self.config.maxDate.getTime() < self.now.getTime() ? self.config.maxDate : self.now;
1824
+ self.currentYear = self._initialDate.getFullYear();
1825
+ self.currentMonth = self._initialDate.getMonth();
1826
+ if (self.selectedDates.length > 0) self.latestSelectedDateObj = self.selectedDates[0];
1827
+ if (self.config.minTime !== void 0) self.config.minTime = self.parseDate(self.config.minTime, "H:i");
1828
+ if (self.config.maxTime !== void 0) self.config.maxTime = self.parseDate(self.config.maxTime, "H:i");
1829
+ self.minDateHasTime = !!self.config.minDate && (self.config.minDate.getHours() > 0 || self.config.minDate.getMinutes() > 0 || self.config.minDate.getSeconds() > 0);
1830
+ self.maxDateHasTime = !!self.config.maxDate && (self.config.maxDate.getHours() > 0 || self.config.maxDate.getMinutes() > 0 || self.config.maxDate.getSeconds() > 0);
1831
+ }
1832
+ function setupInputs() {
1833
+ self.input = getInputElem();
1834
+ if (!self.input) {
1835
+ self.config.errorHandler(/* @__PURE__ */ new Error("Invalid input element specified"));
1836
+ return;
1837
+ }
1838
+ self.input._type = self.input.type;
1839
+ self.input.type = "text";
1840
+ self.input.classList.add("flatpickr-input");
1841
+ self._input = self.input;
1842
+ if (self.config.altInput) {
1843
+ self.altInput = createElement(self.input.nodeName, self.config.altInputClass);
1844
+ self._input = self.altInput;
1845
+ self.altInput.placeholder = self.input.placeholder;
1846
+ self.altInput.disabled = self.input.disabled;
1847
+ self.altInput.required = self.input.required;
1848
+ self.altInput.tabIndex = self.input.tabIndex;
1849
+ self.altInput.type = "text";
1850
+ self.input.setAttribute("type", "hidden");
1851
+ if (!self.config.static && self.input.parentNode) self.input.parentNode.insertBefore(self.altInput, self.input.nextSibling);
1852
+ }
1853
+ if (!self.config.allowInput) self._input.setAttribute("readonly", "readonly");
1854
+ updatePositionElement();
1855
+ }
1856
+ function updatePositionElement() {
1857
+ self._positionElement = self.config.positionElement || self._input;
1858
+ }
1859
+ function setupMobile() {
1860
+ var inputType = self.config.enableTime ? self.config.noCalendar ? "time" : "datetime-local" : "date";
1861
+ self.mobileInput = createElement("input", self.input.className + " flatpickr-mobile");
1862
+ self.mobileInput.tabIndex = 1;
1863
+ self.mobileInput.type = inputType;
1864
+ self.mobileInput.disabled = self.input.disabled;
1865
+ self.mobileInput.required = self.input.required;
1866
+ self.mobileInput.placeholder = self.input.placeholder;
1867
+ self.mobileFormatStr = inputType === "datetime-local" ? "Y-m-d\\TH:i:S" : inputType === "date" ? "Y-m-d" : "H:i:S";
1868
+ if (self.selectedDates.length > 0) self.mobileInput.defaultValue = self.mobileInput.value = self.formatDate(self.selectedDates[0], self.mobileFormatStr);
1869
+ if (self.config.minDate) self.mobileInput.min = self.formatDate(self.config.minDate, "Y-m-d");
1870
+ if (self.config.maxDate) self.mobileInput.max = self.formatDate(self.config.maxDate, "Y-m-d");
1871
+ if (self.input.getAttribute("step")) self.mobileInput.step = String(self.input.getAttribute("step"));
1872
+ self.input.type = "hidden";
1873
+ if (self.altInput !== void 0) self.altInput.type = "hidden";
1874
+ try {
1875
+ if (self.input.parentNode) self.input.parentNode.insertBefore(self.mobileInput, self.input.nextSibling);
1876
+ } catch (_a) {}
1877
+ bind(self.mobileInput, "change", function(e) {
1878
+ self.setDate(getEventTarget(e).value, false, self.mobileFormatStr);
1879
+ triggerEvent("onChange");
1880
+ triggerEvent("onClose");
1881
+ });
1882
+ }
1883
+ function toggle(e) {
1884
+ if (self.isOpen === true) return self.close();
1885
+ self.open(e);
1886
+ }
1887
+ function triggerEvent(event, data) {
1888
+ if (self.config === void 0) return;
1889
+ var hooks = self.config[event];
1890
+ if (hooks !== void 0 && hooks.length > 0) for (var i = 0; hooks[i] && i < hooks.length; i++) hooks[i](self.selectedDates, self.input.value, self, data);
1891
+ if (event === "onChange") {
1892
+ self.input.dispatchEvent(createEvent("change"));
1893
+ self.input.dispatchEvent(createEvent("input"));
1894
+ }
1895
+ }
1896
+ function createEvent(name) {
1897
+ var e = document.createEvent("Event");
1898
+ e.initEvent(name, true, true);
1899
+ return e;
1900
+ }
1901
+ function isDateSelected(date) {
1902
+ for (var i = 0; i < self.selectedDates.length; i++) {
1903
+ var selectedDate = self.selectedDates[i];
1904
+ if (selectedDate instanceof Date && compareDates(selectedDate, date) === 0) return "" + i;
1905
+ }
1906
+ return false;
1907
+ }
1908
+ function isDateInRange(date) {
1909
+ if (self.config.mode !== "range" || self.selectedDates.length < 2) return false;
1910
+ return compareDates(date, self.selectedDates[0]) >= 0 && compareDates(date, self.selectedDates[1]) <= 0;
1911
+ }
1912
+ function updateNavigationCurrentMonth() {
1913
+ if (self.config.noCalendar || self.isMobile || !self.monthNav) return;
1914
+ self.yearElements.forEach(function(yearElement, i) {
1915
+ var d = new Date(self.currentYear, self.currentMonth, 1);
1916
+ d.setMonth(self.currentMonth + i);
1917
+ if (self.config.showMonths > 1 || self.config.monthSelectorType === "static") self.monthElements[i].textContent = monthToStr(d.getMonth(), self.config.shorthandCurrentMonth, self.l10n) + " ";
1918
+ else self.monthsDropdownContainer.value = d.getMonth().toString();
1919
+ yearElement.value = d.getFullYear().toString();
1920
+ });
1921
+ self._hidePrevMonthArrow = self.config.minDate !== void 0 && (self.currentYear === self.config.minDate.getFullYear() ? self.currentMonth <= self.config.minDate.getMonth() : self.currentYear < self.config.minDate.getFullYear());
1922
+ self._hideNextMonthArrow = self.config.maxDate !== void 0 && (self.currentYear === self.config.maxDate.getFullYear() ? self.currentMonth + 1 > self.config.maxDate.getMonth() : self.currentYear > self.config.maxDate.getFullYear());
1923
+ }
1924
+ function getDateStr(specificFormat) {
1925
+ var format = specificFormat || (self.config.altInput ? self.config.altFormat : self.config.dateFormat);
1926
+ return self.selectedDates.map(function(dObj) {
1927
+ return self.formatDate(dObj, format);
1928
+ }).filter(function(d, i, arr) {
1929
+ return self.config.mode !== "range" || self.config.enableTime || arr.indexOf(d) === i;
1930
+ }).join(self.config.mode !== "range" ? self.config.conjunction : self.l10n.rangeSeparator);
1931
+ }
1932
+ function updateValue(triggerChange) {
1933
+ if (triggerChange === void 0) triggerChange = true;
1934
+ if (self.mobileInput !== void 0 && self.mobileFormatStr) self.mobileInput.value = self.latestSelectedDateObj !== void 0 ? self.formatDate(self.latestSelectedDateObj, self.mobileFormatStr) : "";
1935
+ self.input.value = getDateStr(self.config.dateFormat);
1936
+ if (self.altInput !== void 0) self.altInput.value = getDateStr(self.config.altFormat);
1937
+ if (triggerChange !== false) triggerEvent("onValueUpdate");
1938
+ }
1939
+ function onMonthNavClick(e) {
1940
+ var eventTarget = getEventTarget(e);
1941
+ var isPrevMonth = self.prevMonthNav.contains(eventTarget);
1942
+ var isNextMonth = self.nextMonthNav.contains(eventTarget);
1943
+ if (isPrevMonth || isNextMonth) changeMonth(isPrevMonth ? -1 : 1);
1944
+ else if (self.yearElements.indexOf(eventTarget) >= 0) eventTarget.select();
1945
+ else if (eventTarget.classList.contains("arrowUp")) self.changeYear(self.currentYear + 1);
1946
+ else if (eventTarget.classList.contains("arrowDown")) self.changeYear(self.currentYear - 1);
1947
+ }
1948
+ function timeWrapper(e) {
1949
+ e.preventDefault();
1950
+ var isKeyDown = e.type === "keydown", eventTarget = getEventTarget(e), input = eventTarget;
1951
+ if (self.amPM !== void 0 && eventTarget === self.amPM) self.amPM.textContent = self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];
1952
+ var min = parseFloat(input.getAttribute("min")), max = parseFloat(input.getAttribute("max")), step = parseFloat(input.getAttribute("step")), curValue = parseInt(input.value, 10);
1953
+ var newValue = curValue + step * (e.delta || (isKeyDown ? e.which === 38 ? 1 : -1 : 0));
1954
+ if (typeof input.value !== "undefined" && input.value.length === 2) {
1955
+ var isHourElem = input === self.hourElement, isMinuteElem = input === self.minuteElement;
1956
+ if (newValue < min) {
1957
+ newValue = max + newValue + int(!isHourElem) + (int(isHourElem) && int(!self.amPM));
1958
+ if (isMinuteElem) incrementNumInput(void 0, -1, self.hourElement);
1959
+ } else if (newValue > max) {
1960
+ newValue = input === self.hourElement ? newValue - max - int(!self.amPM) : min;
1961
+ if (isMinuteElem) incrementNumInput(void 0, 1, self.hourElement);
1962
+ }
1963
+ if (self.amPM && isHourElem && (step === 1 ? newValue + curValue === 23 : Math.abs(newValue - curValue) > step)) self.amPM.textContent = self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];
1964
+ input.value = pad(newValue);
1965
+ }
1966
+ }
1967
+ init();
1968
+ return self;
1969
+ }
1970
+ function _flatpickr(nodeList, config) {
1971
+ var nodes = Array.prototype.slice.call(nodeList).filter(function(x) {
1972
+ return x instanceof HTMLElement;
1973
+ });
1974
+ var instances = [];
1975
+ for (var i = 0; i < nodes.length; i++) {
1976
+ var node = nodes[i];
1977
+ try {
1978
+ if (node.getAttribute("data-fp-omit") !== null) continue;
1979
+ if (node._flatpickr !== void 0) {
1980
+ node._flatpickr.destroy();
1981
+ node._flatpickr = void 0;
1982
+ }
1983
+ node._flatpickr = FlatpickrInstance(node, config || {});
1984
+ instances.push(node._flatpickr);
1985
+ } catch (e) {
1986
+ console.error(e);
1987
+ }
1988
+ }
1989
+ return instances.length === 1 ? instances[0] : instances;
1990
+ }
1991
+ if (typeof HTMLElement !== "undefined" && typeof HTMLCollection !== "undefined" && typeof NodeList !== "undefined") {
1992
+ HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function(config) {
1993
+ return _flatpickr(this, config);
1994
+ };
1995
+ HTMLElement.prototype.flatpickr = function(config) {
1996
+ return _flatpickr([this], config);
1997
+ };
1998
+ }
1999
+ var flatpickr = function(selector, config) {
2000
+ if (typeof selector === "string") return _flatpickr(window.document.querySelectorAll(selector), config);
2001
+ else if (selector instanceof Node) return _flatpickr([selector], config);
2002
+ else return _flatpickr(selector, config);
2003
+ };
2004
+ flatpickr.defaultConfig = {};
2005
+ flatpickr.l10ns = {
2006
+ en: __assign({}, english),
2007
+ default: __assign({}, english)
2008
+ };
2009
+ flatpickr.localize = function(l10n) {
2010
+ flatpickr.l10ns.default = __assign(__assign({}, flatpickr.l10ns.default), l10n);
2011
+ };
2012
+ flatpickr.setDefaults = function(config) {
2013
+ flatpickr.defaultConfig = __assign(__assign({}, flatpickr.defaultConfig), config);
2014
+ };
2015
+ flatpickr.parseDate = createDateParser({});
2016
+ flatpickr.formatDate = createDateFormatter({});
2017
+ flatpickr.compareDates = compareDates;
2018
+ if (typeof jQuery !== "undefined" && typeof jQuery.fn !== "undefined") jQuery.fn.flatpickr = function(config) {
2019
+ return _flatpickr(this, config);
2020
+ };
2021
+ Date.prototype.fp_incr = function(days) {
2022
+ return new Date(this.getFullYear(), this.getMonth(), this.getDate() + (typeof days === "string" ? parseInt(days, 10) : days));
2023
+ };
2024
+ if (typeof window !== "undefined") window.flatpickr = flatpickr;
2025
+ //#endregion
2026
+ export { flatpickr as default };