@nova-design-system/nova-webcomponents 3.1.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (474) hide show
  1. package/dist/cjs/{index-9bda5507.js → index-c56424e5.js} +34 -186
  2. package/dist/cjs/index-c56424e5.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +1 -0
  4. package/dist/cjs/index.cjs.js.map +1 -1
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/native.cjs.js +2 -23
  7. package/dist/cjs/native.cjs.js.map +1 -1
  8. package/dist/cjs/nv-alert.cjs.entry.js +1 -1
  9. package/dist/cjs/nv-avatar.cjs.entry.js +1 -1
  10. package/dist/cjs/nv-badge_2.cjs.entry.js +1 -1
  11. package/dist/cjs/nv-breadcrumb.cjs.entry.js +1 -1
  12. package/dist/cjs/nv-breadcrumbs.cjs.entry.js +1 -1
  13. package/dist/cjs/nv-button.cjs.entry.js +1 -1
  14. package/dist/cjs/nv-calendar.cjs.entry.js +384 -172
  15. package/dist/cjs/nv-calendar.cjs.entry.js.map +1 -1
  16. package/dist/cjs/nv-col.cjs.entry.js +1 -1
  17. package/dist/cjs/nv-datagrid.cjs.entry.js +95 -103
  18. package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
  19. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +2 -2
  20. package/dist/cjs/nv-datagridcolumn.cjs.entry.js.map +1 -1
  21. package/dist/cjs/nv-dialog.cjs.entry.js +1 -1
  22. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +1 -1
  23. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +1 -1
  24. package/dist/cjs/nv-fielddate.cjs.entry.js +45 -11
  25. package/dist/cjs/nv-fielddate.cjs.entry.js.map +1 -1
  26. package/dist/cjs/nv-fielddaterange.cjs.entry.js +128 -42
  27. package/dist/cjs/nv-fielddaterange.cjs.entry.js.map +1 -1
  28. package/dist/cjs/nv-fielddropdown.cjs.entry.js +84 -60
  29. package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
  30. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
  31. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +116 -104
  32. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
  33. package/dist/cjs/nv-fieldnumber.cjs.entry.js +2 -2
  34. package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
  35. package/dist/cjs/nv-fieldpassword.cjs.entry.js +2 -2
  36. package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
  37. package/dist/cjs/nv-fieldradio.cjs.entry.js +1 -1
  38. package/dist/cjs/nv-fieldselect.cjs.entry.js +2 -2
  39. package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
  40. package/dist/cjs/nv-fieldslider.cjs.entry.js +668 -0
  41. package/dist/cjs/nv-fieldslider.cjs.entry.js.map +1 -0
  42. package/dist/cjs/nv-fieldtext.cjs.entry.js +5 -5
  43. package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -1
  44. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +5 -5
  45. package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -1
  46. package/dist/cjs/nv-fieldtime.cjs.entry.js +11 -11
  47. package/dist/cjs/nv-fieldtime.cjs.entry.js.map +1 -1
  48. package/dist/cjs/nv-icon.cjs.entry.js +3 -3
  49. package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
  50. package/dist/cjs/nv-iconbutton_2.cjs.entry.js +3 -3
  51. package/dist/cjs/nv-menu.cjs.entry.js +2 -2
  52. package/dist/cjs/nv-menuitem.cjs.entry.js +2 -2
  53. package/dist/cjs/nv-popover.cjs.entry.js +2 -2
  54. package/dist/cjs/nv-row.cjs.entry.js +2 -2
  55. package/dist/cjs/nv-stack.cjs.entry.js +2 -2
  56. package/dist/cjs/nv-table.cjs.entry.js +3 -3
  57. package/dist/cjs/nv-tablecolumn.cjs.entry.js +1 -1
  58. package/dist/cjs/nv-toggle.cjs.entry.js +3 -3
  59. package/dist/cjs/nv-tooltip.cjs.entry.js +3 -3
  60. package/dist/cjs/nv-tooltip.cjs.entry.js.map +1 -1
  61. package/dist/collection/collection-manifest.json +1 -0
  62. package/dist/collection/components/nv-calendar/nv-calendar.css +6 -2
  63. package/dist/collection/components/nv-calendar/nv-calendar.js +247 -169
  64. package/dist/collection/components/nv-calendar/nv-calendar.js.map +1 -1
  65. package/dist/collection/components/nv-calendar/nv-calendar.utils.js +12 -3
  66. package/dist/collection/components/nv-calendar/nv-calendar.utils.js.map +1 -1
  67. package/dist/collection/components/nv-calendar/partials/calendar-actions.js +11 -0
  68. package/dist/collection/components/nv-calendar/partials/calendar-actions.js.map +1 -0
  69. package/dist/collection/components/nv-calendar/partials/calendar-grid.js +24 -0
  70. package/dist/collection/components/nv-calendar/partials/calendar-grid.js.map +1 -0
  71. package/dist/collection/components/nv-calendar/partials/calendar-header.js +38 -0
  72. package/dist/collection/components/nv-calendar/partials/calendar-header.js.map +1 -0
  73. package/dist/collection/components/nv-calendar/partials/calendar-shortcuts.js +22 -0
  74. package/dist/collection/components/nv-calendar/partials/calendar-shortcuts.js.map +1 -0
  75. package/dist/collection/components/nv-calendar/partials/day-cell.js +31 -0
  76. package/dist/collection/components/nv-calendar/partials/day-cell.js.map +1 -0
  77. package/dist/collection/components/nv-calendar/partials/index.js +7 -0
  78. package/dist/collection/components/nv-calendar/partials/index.js.map +1 -0
  79. package/dist/collection/components/nv-calendar/partials/week-numbers.js +36 -0
  80. package/dist/collection/components/nv-calendar/partials/week-numbers.js.map +1 -0
  81. package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js +692 -651
  82. package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js.map +1 -1
  83. package/dist/collection/components/nv-calendar/test/partials/calendar-actions.logic.test.js +169 -0
  84. package/dist/collection/components/nv-calendar/test/partials/calendar-actions.logic.test.js.map +1 -0
  85. package/dist/collection/components/nv-calendar/test/partials/calendar-grid.logic.test.js +262 -0
  86. package/dist/collection/components/nv-calendar/test/partials/calendar-grid.logic.test.js.map +1 -0
  87. package/dist/collection/components/nv-calendar/test/partials/calendar-header.logic.test.js +208 -0
  88. package/dist/collection/components/nv-calendar/test/partials/calendar-header.logic.test.js.map +1 -0
  89. package/dist/collection/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.js +355 -0
  90. package/dist/collection/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.js.map +1 -0
  91. package/dist/collection/components/nv-calendar/test/partials/day-cell.logic.test.js +250 -0
  92. package/dist/collection/components/nv-calendar/test/partials/day-cell.logic.test.js.map +1 -0
  93. package/dist/collection/components/nv-calendar/test/partials/week-numbers.logic.test.js +217 -0
  94. package/dist/collection/components/nv-calendar/test/partials/week-numbers.logic.test.js.map +1 -0
  95. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +131 -48
  96. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +1 -1
  97. package/dist/collection/components/nv-datagrid/nv-datagrid.js +94 -152
  98. package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +1 -1
  99. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +20 -1
  100. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js.map +1 -1
  101. package/dist/collection/components/nv-fielddate/nv-fielddate.js +56 -16
  102. package/dist/collection/components/nv-fielddate/nv-fielddate.js.map +1 -1
  103. package/dist/collection/components/nv-fielddate/styles/nv-fielddate.css +51 -1
  104. package/dist/collection/components/nv-fielddate/test/nv-fielddate.logic.test.js +196 -0
  105. package/dist/collection/components/nv-fielddate/test/nv-fielddate.logic.test.js.map +1 -0
  106. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +165 -41
  107. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +1 -1
  108. package/dist/collection/components/nv-fielddaterange/styles/nv-fielddaterange.css +51 -1
  109. package/dist/collection/components/nv-fielddaterange/test/nv-fielddaterange.logic.test.js +137 -0
  110. package/dist/collection/components/nv-fielddaterange/test/nv-fielddaterange.logic.test.js.map +1 -0
  111. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +8 -0
  112. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +1 -1
  113. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +173 -106
  114. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
  115. package/dist/collection/components/nv-fielddropdown/styles/nv-fielddropdown.css +77 -1
  116. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +202 -190
  117. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
  118. package/dist/collection/components/nv-fieldmultiselect/{nv-fieldmultiselect.css → styles/nv-fieldmultiselect.css} +61 -4
  119. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.css +51 -1
  120. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.css +51 -1
  121. package/dist/collection/components/nv-fieldselect/nv-fieldselect.css +51 -1
  122. package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js +264 -0
  123. package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js.map +1 -0
  124. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +1036 -0
  125. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js.map +1 -0
  126. package/dist/collection/components/nv-fieldslider/nv-fieldslider.utils.js +77 -0
  127. package/dist/collection/components/nv-fieldslider/nv-fieldslider.utils.js.map +1 -0
  128. package/dist/collection/components/nv-fieldslider/partials/field-input.js +33 -0
  129. package/dist/collection/components/nv-fieldslider/partials/field-input.js.map +1 -0
  130. package/dist/collection/components/nv-fieldslider/partials/range-thumb.js +34 -0
  131. package/dist/collection/components/nv-fieldslider/partials/range-thumb.js.map +1 -0
  132. package/dist/collection/components/nv-fieldslider/partials/single-thumb.js +18 -0
  133. package/dist/collection/components/nv-fieldslider/partials/single-thumb.js.map +1 -0
  134. package/dist/collection/components/nv-fieldslider/partials/tick-marks.js +18 -0
  135. package/dist/collection/components/nv-fieldslider/partials/tick-marks.js.map +1 -0
  136. package/dist/collection/components/nv-fieldslider/styles/nv-fieldslider.css +338 -0
  137. package/dist/collection/components/nv-fieldslider/test/nv-fieldslider.utils.test.js +159 -0
  138. package/dist/collection/components/nv-fieldslider/test/nv-fieldslider.utils.test.js.map +1 -0
  139. package/dist/collection/components/nv-fieldtext/nv-fieldtext.css +59 -1
  140. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +9 -1
  141. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js.map +1 -1
  142. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +4 -3
  143. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +1 -1
  144. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.css +45 -1
  145. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -3
  146. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +9 -9
  147. package/dist/collection/components/nv-fieldtime/styles/nv-fieldtime.css +51 -1
  148. package/dist/collection/components/nv-icon/nv-icon.js +1 -1
  149. package/dist/collection/components/nv-icon/nv-icons.js +1 -0
  150. package/dist/collection/components/nv-icon/nv-icons.js.map +1 -1
  151. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
  152. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  153. package/dist/collection/components/nv-menu/nv-menu.js +1 -1
  154. package/dist/collection/components/nv-menuitem/nv-menuitem.js +2 -2
  155. package/dist/collection/components/nv-popover/nv-popover.js +1 -1
  156. package/dist/collection/components/nv-row/nv-row.js +1 -1
  157. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  158. package/dist/collection/components/nv-table/nv-table.js +2 -2
  159. package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
  160. package/dist/collection/components/nv-tooltip/nv-tooltip.css +1 -0
  161. package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
  162. package/dist/collection/interfaces/Column.js.map +1 -1
  163. package/dist/components/index.js +2 -1
  164. package/dist/components/index.js.map +1 -1
  165. package/dist/components/nv-alert.js +2 -2
  166. package/dist/components/nv-avatar.js +2 -2
  167. package/dist/components/nv-badge.js +1 -1
  168. package/dist/components/nv-breadcrumb.js +3 -3
  169. package/dist/components/nv-breadcrumbs.js +1 -1
  170. package/dist/components/nv-button.js +1 -1
  171. package/dist/components/nv-calendar.js +1 -1
  172. package/dist/components/nv-col.js +1 -1
  173. package/dist/components/nv-datagrid.js +97 -109
  174. package/dist/components/nv-datagrid.js.map +1 -1
  175. package/dist/components/nv-datagridcolumn.js +4 -3
  176. package/dist/components/nv-datagridcolumn.js.map +1 -1
  177. package/dist/components/nv-dialog.js +6 -6
  178. package/dist/components/nv-dialogfooter.js +1 -1
  179. package/dist/components/nv-dialogheader.js +1 -1
  180. package/dist/components/nv-fieldcheckbox.js +1 -1
  181. package/dist/components/nv-fielddate.js +53 -25
  182. package/dist/components/nv-fielddate.js.map +1 -1
  183. package/dist/components/nv-fielddaterange.js +137 -57
  184. package/dist/components/nv-fielddaterange.js.map +1 -1
  185. package/dist/components/nv-fielddropdown.js +98 -72
  186. package/dist/components/nv-fielddropdown.js.map +1 -1
  187. package/dist/components/nv-fielddropdownitem.js +1 -1
  188. package/dist/components/nv-fielddropdownitemcheck.js +1 -1
  189. package/dist/components/nv-fieldmultiselect.js +132 -120
  190. package/dist/components/nv-fieldmultiselect.js.map +1 -1
  191. package/dist/components/nv-fieldnumber.js +5 -5
  192. package/dist/components/nv-fieldnumber.js.map +1 -1
  193. package/dist/components/nv-fieldpassword.js +5 -5
  194. package/dist/components/nv-fieldpassword.js.map +1 -1
  195. package/dist/components/nv-fieldradio.js +1 -1
  196. package/dist/components/nv-fieldselect.js +5 -5
  197. package/dist/components/nv-fieldselect.js.map +1 -1
  198. package/dist/components/nv-fieldslider.d.ts +11 -0
  199. package/dist/components/nv-fieldslider.js +731 -0
  200. package/dist/components/nv-fieldslider.js.map +1 -0
  201. package/dist/components/nv-fieldtext.js +1 -1
  202. package/dist/components/nv-fieldtextarea.js +5 -5
  203. package/dist/components/nv-fieldtextarea.js.map +1 -1
  204. package/dist/components/nv-fieldtime.js +15 -15
  205. package/dist/components/nv-fieldtime.js.map +1 -1
  206. package/dist/components/nv-icon.js +1 -1
  207. package/dist/components/nv-iconbutton.js +1 -1
  208. package/dist/components/nv-loader.js +1 -1
  209. package/dist/components/nv-menu.js +5 -5
  210. package/dist/components/nv-menuitem.js +1 -1
  211. package/dist/components/nv-popover.js +1 -1
  212. package/dist/components/nv-row.js +2 -2
  213. package/dist/components/nv-stack.js +2 -2
  214. package/dist/components/nv-table.js +3 -3
  215. package/dist/components/nv-tablecolumn.js +1 -1
  216. package/dist/components/nv-toggle.js +3 -3
  217. package/dist/components/nv-tooltip.js +1 -1
  218. package/dist/components/{p-eb632278.js → p-2ae214d2.js} +3 -3
  219. package/dist/components/{p-eb632278.js.map → p-2ae214d2.js.map} +1 -1
  220. package/dist/components/{p-f76bb0c3.js → p-3e32b5a1.js} +5 -5
  221. package/dist/components/p-3e32b5a1.js.map +1 -0
  222. package/dist/components/{p-854c32dc.js → p-5e90b9b8.js} +389 -199
  223. package/dist/components/p-5e90b9b8.js.map +1 -0
  224. package/dist/components/{p-a2527411.js → p-5ee4015d.js} +3 -3
  225. package/dist/components/{p-a2527411.js.map → p-5ee4015d.js.map} +1 -1
  226. package/dist/components/{p-02752770.js → p-6277f746.js} +2 -2
  227. package/dist/components/{p-02752770.js.map → p-6277f746.js.map} +1 -1
  228. package/dist/components/p-7935c1cb.js +167 -0
  229. package/dist/components/p-7935c1cb.js.map +1 -0
  230. package/dist/components/{p-b48d5a94.js → p-8d92f0e1.js} +4 -4
  231. package/dist/components/{p-b48d5a94.js.map → p-8d92f0e1.js.map} +1 -1
  232. package/dist/components/{p-41c56ddc.js → p-95a7581c.js} +5 -5
  233. package/dist/components/{p-41c56ddc.js.map → p-95a7581c.js.map} +1 -1
  234. package/dist/components/{p-e00cbb8a.js → p-9e6e26cb.js} +2 -2
  235. package/dist/components/{p-e00cbb8a.js.map → p-9e6e26cb.js.map} +1 -1
  236. package/dist/components/p-9fa0de38.js +88 -0
  237. package/dist/components/p-9fa0de38.js.map +1 -0
  238. package/dist/components/{p-1c45c0f2.js → p-aff3ed68.js} +24 -177
  239. package/dist/components/p-aff3ed68.js.map +1 -0
  240. package/dist/components/{p-608eb9da.js → p-b6d858b2.js} +2 -2
  241. package/dist/components/{p-608eb9da.js.map → p-b6d858b2.js.map} +1 -1
  242. package/dist/components/{p-f5cb0a63.js → p-bb6d1e4e.js} +3 -3
  243. package/dist/components/{p-f5cb0a63.js.map → p-bb6d1e4e.js.map} +1 -1
  244. package/dist/components/{p-35a70c5e.js → p-c07c32d2.js} +3 -3
  245. package/dist/components/{p-35a70c5e.js.map → p-c07c32d2.js.map} +1 -1
  246. package/dist/components/{p-10faa938.js → p-c9006520.js} +5 -5
  247. package/dist/components/{p-10faa938.js.map → p-c9006520.js.map} +1 -1
  248. package/dist/components/{p-0a0f6daf.js → p-e28c4707.js} +3 -3
  249. package/dist/components/{p-0a0f6daf.js.map → p-e28c4707.js.map} +1 -1
  250. package/dist/components/{p-10b37876.js → p-eabbc885.js} +3 -3
  251. package/dist/components/{p-10b37876.js.map → p-eabbc885.js.map} +1 -1
  252. package/dist/esm/{constants-b97e736d.js → constants-4faa1fae.js} +2 -2
  253. package/dist/esm/{constants-b97e736d.js.map → constants-4faa1fae.js.map} +1 -1
  254. package/dist/esm/{index-1fb7a9a6.js → index-a1936cd0.js} +35 -186
  255. package/dist/esm/index-a1936cd0.js.map +1 -0
  256. package/dist/esm/index.js +2 -1
  257. package/dist/esm/index.js.map +1 -1
  258. package/dist/esm/loader.js +3 -3
  259. package/dist/esm/native.js +3 -24
  260. package/dist/esm/native.js.map +1 -1
  261. package/dist/esm/nv-alert.entry.js +2 -2
  262. package/dist/esm/nv-avatar.entry.js +2 -2
  263. package/dist/esm/nv-badge_2.entry.js +1 -1
  264. package/dist/esm/nv-breadcrumb.entry.js +1 -1
  265. package/dist/esm/nv-breadcrumbs.entry.js +1 -1
  266. package/dist/esm/nv-button.entry.js +2 -2
  267. package/dist/esm/nv-calendar.entry.js +385 -173
  268. package/dist/esm/nv-calendar.entry.js.map +1 -1
  269. package/dist/esm/nv-col.entry.js +1 -1
  270. package/dist/esm/nv-datagrid.entry.js +96 -104
  271. package/dist/esm/nv-datagrid.entry.js.map +1 -1
  272. package/dist/esm/nv-datagridcolumn.entry.js +2 -2
  273. package/dist/esm/nv-datagridcolumn.entry.js.map +1 -1
  274. package/dist/esm/nv-dialog.entry.js +2 -2
  275. package/dist/esm/nv-dialogfooter_2.entry.js +2 -2
  276. package/dist/esm/nv-fieldcheckbox.entry.js +1 -1
  277. package/dist/esm/nv-fielddate.entry.js +45 -11
  278. package/dist/esm/nv-fielddate.entry.js.map +1 -1
  279. package/dist/esm/nv-fielddaterange.entry.js +128 -42
  280. package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
  281. package/dist/esm/nv-fielddropdown.entry.js +84 -60
  282. package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
  283. package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
  284. package/dist/esm/nv-fieldmultiselect.entry.js +116 -104
  285. package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
  286. package/dist/esm/nv-fieldnumber.entry.js +2 -2
  287. package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
  288. package/dist/esm/nv-fieldpassword.entry.js +2 -2
  289. package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
  290. package/dist/esm/nv-fieldradio.entry.js +1 -1
  291. package/dist/esm/nv-fieldselect.entry.js +2 -2
  292. package/dist/esm/nv-fieldselect.entry.js.map +1 -1
  293. package/dist/esm/nv-fieldslider.entry.js +664 -0
  294. package/dist/esm/nv-fieldslider.entry.js.map +1 -0
  295. package/dist/esm/nv-fieldtext.entry.js +5 -5
  296. package/dist/esm/nv-fieldtext.entry.js.map +1 -1
  297. package/dist/esm/nv-fieldtextarea.entry.js +5 -5
  298. package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
  299. package/dist/esm/nv-fieldtime.entry.js +12 -12
  300. package/dist/esm/nv-fieldtime.entry.js.map +1 -1
  301. package/dist/esm/nv-icon.entry.js +4 -4
  302. package/dist/esm/nv-icon.entry.js.map +1 -1
  303. package/dist/esm/nv-iconbutton_2.entry.js +3 -3
  304. package/dist/esm/nv-menu.entry.js +2 -2
  305. package/dist/esm/nv-menuitem.entry.js +2 -2
  306. package/dist/esm/nv-popover.entry.js +2 -2
  307. package/dist/esm/nv-row.entry.js +2 -2
  308. package/dist/esm/nv-stack.entry.js +2 -2
  309. package/dist/esm/nv-table.entry.js +3 -3
  310. package/dist/esm/nv-tablecolumn.entry.js +1 -1
  311. package/dist/esm/nv-toggle.entry.js +3 -3
  312. package/dist/esm/nv-tooltip.entry.js +3 -3
  313. package/dist/esm/nv-tooltip.entry.js.map +1 -1
  314. package/dist/native/index.esm.js +1 -1
  315. package/dist/native/index.esm.js.map +1 -1
  316. package/dist/native/native.css +1 -1
  317. package/dist/native/native.esm.js +1 -1
  318. package/dist/native/native.esm.js.map +1 -1
  319. package/dist/native/p-050d6c6c.entry.js +2 -0
  320. package/dist/native/{p-4d164ed6.entry.js.map → p-050d6c6c.entry.js.map} +1 -1
  321. package/dist/native/{p-615947e7.entry.js → p-08ca678c.entry.js} +2 -2
  322. package/dist/native/p-1a5d3b87.entry.js +2 -0
  323. package/dist/native/{p-efe6a46c.entry.js.map → p-1a5d3b87.entry.js.map} +1 -1
  324. package/dist/native/{p-7fd4d13d.entry.js → p-1c1ecd38.entry.js} +2 -2
  325. package/dist/native/{p-c7b201cd.entry.js → p-1d98477d.entry.js} +2 -2
  326. package/dist/native/{p-1da72182.entry.js → p-2006f5d4.entry.js} +2 -2
  327. package/dist/native/p-26cf4938.entry.js +2 -0
  328. package/dist/native/p-26cf4938.entry.js.map +1 -0
  329. package/dist/native/p-3817efb2.entry.js +2 -0
  330. package/dist/native/{p-fc97f071.entry.js.map → p-3817efb2.entry.js.map} +1 -1
  331. package/dist/native/p-45459dbb.entry.js +2 -0
  332. package/dist/native/{p-7042ba8a.entry.js.map → p-45459dbb.entry.js.map} +1 -1
  333. package/dist/native/p-45cbe6e4.entry.js +2 -0
  334. package/dist/native/{p-9135fdf5.entry.js.map → p-45cbe6e4.entry.js.map} +1 -1
  335. package/dist/native/p-46428304.entry.js +2 -0
  336. package/dist/native/p-46428304.entry.js.map +1 -0
  337. package/dist/native/p-4f9cdf0b.entry.js +2 -0
  338. package/dist/native/{p-3b7ef609.entry.js → p-58bb90ad.entry.js} +2 -2
  339. package/dist/native/p-59b07b36.entry.js +2 -0
  340. package/dist/native/p-59b07b36.entry.js.map +1 -0
  341. package/dist/native/{p-3cd77d82.entry.js → p-5b6c59e0.entry.js} +2 -2
  342. package/dist/native/p-6029e51b.entry.js +2 -0
  343. package/dist/native/{p-244f56ac.entry.js.map → p-6029e51b.entry.js.map} +1 -1
  344. package/dist/native/{p-08a75cfa.entry.js → p-60c64f2b.entry.js} +2 -2
  345. package/dist/native/p-64a76565.entry.js +2 -0
  346. package/dist/native/p-64a76565.entry.js.map +1 -0
  347. package/dist/native/{p-c67186f8.entry.js → p-83288db0.entry.js} +2 -2
  348. package/dist/native/p-838f7842.entry.js +2 -0
  349. package/dist/native/p-838f7842.entry.js.map +1 -0
  350. package/dist/native/{p-0245863d.entry.js → p-86ab23ea.entry.js} +2 -2
  351. package/dist/native/p-87784622.entry.js +2 -0
  352. package/dist/native/p-8fb4e5c0.entry.js +2 -0
  353. package/dist/native/{p-b94d9f0b.entry.js.map → p-8fb4e5c0.entry.js.map} +1 -1
  354. package/dist/native/{p-14c07207.entry.js → p-914da1e1.entry.js} +2 -2
  355. package/dist/native/p-abbe5d69.entry.js +2 -0
  356. package/dist/native/p-abbe5d69.entry.js.map +1 -0
  357. package/dist/native/p-abc251aa.entry.js +2 -0
  358. package/dist/native/p-abc251aa.entry.js.map +1 -0
  359. package/dist/native/{p-c0f79bac.entry.js → p-ad128108.entry.js} +2 -2
  360. package/dist/native/{p-e5de64d5.entry.js → p-b5b9190a.entry.js} +2 -2
  361. package/dist/native/{p-470588c2.entry.js → p-b8f2c1e7.entry.js} +3 -3
  362. package/dist/native/p-b8f2c1e7.entry.js.map +1 -0
  363. package/dist/native/{p-b8b6875d.entry.js → p-d040bd61.entry.js} +2 -2
  364. package/dist/native/p-d0a33e64.js +3 -0
  365. package/dist/native/p-d0a33e64.js.map +1 -0
  366. package/dist/native/{p-3953464e.entry.js → p-d21b2da2.entry.js} +3 -3
  367. package/dist/native/{p-90e6d9dd.entry.js → p-d53e8795.entry.js} +2 -2
  368. package/dist/native/p-dc7dd7f3.entry.js +2 -0
  369. package/dist/native/{p-ae7ab110.entry.js.map → p-dc7dd7f3.entry.js.map} +1 -1
  370. package/dist/native/p-e2c1992e.entry.js +2 -0
  371. package/dist/native/{p-656c56f0.entry.js.map → p-e2c1992e.entry.js.map} +1 -1
  372. package/dist/native/{p-f85c08f1.js → p-e2d0a77d.js} +2 -2
  373. package/dist/native/p-ed6019fe.entry.js +2 -0
  374. package/dist/native/p-ed6019fe.entry.js.map +1 -0
  375. package/dist/native/p-f94d7054.entry.js +2 -0
  376. package/dist/native/{p-49cac014.entry.js.map → p-f94d7054.entry.js.map} +1 -1
  377. package/dist/native/p-fdea17ce.entry.js +2 -0
  378. package/dist/native/p-fdea17ce.entry.js.map +1 -0
  379. package/dist/types/components/nv-calendar/nv-calendar.d.ts +26 -50
  380. package/dist/types/components/nv-calendar/partials/calendar-actions.d.ts +19 -0
  381. package/dist/types/components/nv-calendar/partials/calendar-grid.d.ts +46 -0
  382. package/dist/types/components/nv-calendar/partials/calendar-header.d.ts +38 -0
  383. package/dist/types/components/nv-calendar/partials/calendar-shortcuts.d.ts +35 -0
  384. package/dist/types/components/nv-calendar/partials/day-cell.d.ts +35 -0
  385. package/dist/types/components/nv-calendar/partials/index.d.ts +6 -0
  386. package/dist/types/components/nv-calendar/partials/week-numbers.d.ts +30 -0
  387. package/dist/types/components/nv-calendar/test/partials/calendar-actions.logic.test.d.ts +1 -0
  388. package/dist/types/components/nv-calendar/test/partials/calendar-grid.logic.test.d.ts +1 -0
  389. package/dist/types/components/nv-calendar/test/partials/calendar-header.logic.test.d.ts +1 -0
  390. package/dist/types/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.d.ts +1 -0
  391. package/dist/types/components/nv-calendar/test/partials/day-cell.logic.test.d.ts +1 -0
  392. package/dist/types/components/nv-calendar/test/partials/week-numbers.logic.test.d.ts +1 -0
  393. package/dist/types/components/nv-datagrid/nv-datagrid.d.ts +0 -16
  394. package/dist/types/components/nv-datagridcolumn/nv-datagridcolumn.d.ts +4 -0
  395. package/dist/types/components/nv-fielddate/nv-fielddate.d.ts +21 -9
  396. package/dist/types/components/nv-fielddate/test/nv-fielddate.logic.test.d.ts +1 -0
  397. package/dist/types/components/nv-fielddaterange/nv-fielddaterange.d.ts +24 -3
  398. package/dist/types/components/nv-fielddaterange/test/nv-fielddaterange.logic.test.d.ts +1 -0
  399. package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +47 -26
  400. package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +61 -55
  401. package/dist/types/components/nv-fieldslider/nv-fieldslider.d.ts +229 -0
  402. package/dist/types/components/nv-fieldslider/nv-fieldslider.docs.d.ts +4 -0
  403. package/dist/types/components/nv-fieldslider/nv-fieldslider.utils.d.ts +46 -0
  404. package/dist/types/components/nv-fieldslider/partials/field-input.d.ts +45 -0
  405. package/dist/types/components/nv-fieldslider/partials/range-thumb.d.ts +37 -0
  406. package/dist/types/components/nv-fieldslider/partials/single-thumb.d.ts +35 -0
  407. package/dist/types/components/nv-fieldslider/partials/tick-marks.d.ts +28 -0
  408. package/dist/types/components/nv-fieldslider/test/nv-fieldslider.utils.test.d.ts +1 -0
  409. package/dist/types/components/nv-fieldtext/nv-fieldtext.d.ts +1 -0
  410. package/dist/types/components/nv-icon/nv-icons.d.ts +1 -1
  411. package/dist/types/components.d.ts +402 -54
  412. package/dist/types/interfaces/Column.d.ts +5 -1
  413. package/dist/vscode-data.json +121 -9
  414. package/hydrate/index.js +1664 -584
  415. package/hydrate/index.mjs +1664 -584
  416. package/package.json +6 -2
  417. package/dist/cjs/index-9bda5507.js.map +0 -1
  418. package/dist/components/p-1c45c0f2.js.map +0 -1
  419. package/dist/components/p-76646ce9.js +0 -88
  420. package/dist/components/p-76646ce9.js.map +0 -1
  421. package/dist/components/p-854c32dc.js.map +0 -1
  422. package/dist/components/p-9decffb6.js +0 -167
  423. package/dist/components/p-9decffb6.js.map +0 -1
  424. package/dist/components/p-f76bb0c3.js.map +0 -1
  425. package/dist/esm/index-1fb7a9a6.js.map +0 -1
  426. package/dist/native/p-244f56ac.entry.js +0 -2
  427. package/dist/native/p-2523eead.entry.js +0 -2
  428. package/dist/native/p-2523eead.entry.js.map +0 -1
  429. package/dist/native/p-470588c2.entry.js.map +0 -1
  430. package/dist/native/p-49cac014.entry.js +0 -2
  431. package/dist/native/p-4d164ed6.entry.js +0 -2
  432. package/dist/native/p-4dc1d036.entry.js +0 -2
  433. package/dist/native/p-4e635fa7.entry.js +0 -2
  434. package/dist/native/p-4e635fa7.entry.js.map +0 -1
  435. package/dist/native/p-5d21532a.entry.js +0 -2
  436. package/dist/native/p-5d21532a.entry.js.map +0 -1
  437. package/dist/native/p-656c56f0.entry.js +0 -2
  438. package/dist/native/p-7042ba8a.entry.js +0 -2
  439. package/dist/native/p-7e154bfd.entry.js +0 -2
  440. package/dist/native/p-7e154bfd.entry.js.map +0 -1
  441. package/dist/native/p-7eba904e.entry.js +0 -2
  442. package/dist/native/p-7eba904e.entry.js.map +0 -1
  443. package/dist/native/p-9135fdf5.entry.js +0 -2
  444. package/dist/native/p-ab002252.js +0 -3
  445. package/dist/native/p-ab002252.js.map +0 -1
  446. package/dist/native/p-ae7ab110.entry.js +0 -2
  447. package/dist/native/p-b94d9f0b.entry.js +0 -2
  448. package/dist/native/p-c71c6f23.entry.js +0 -2
  449. package/dist/native/p-c71c6f23.entry.js.map +0 -1
  450. package/dist/native/p-d9a52884.entry.js +0 -2
  451. package/dist/native/p-d9a52884.entry.js.map +0 -1
  452. package/dist/native/p-efe6a46c.entry.js +0 -2
  453. package/dist/native/p-f2ef6771.entry.js +0 -2
  454. package/dist/native/p-f5f68992.entry.js +0 -2
  455. package/dist/native/p-f5f68992.entry.js.map +0 -1
  456. package/dist/native/p-fc97f071.entry.js +0 -2
  457. /package/dist/native/{p-615947e7.entry.js.map → p-08ca678c.entry.js.map} +0 -0
  458. /package/dist/native/{p-7fd4d13d.entry.js.map → p-1c1ecd38.entry.js.map} +0 -0
  459. /package/dist/native/{p-c7b201cd.entry.js.map → p-1d98477d.entry.js.map} +0 -0
  460. /package/dist/native/{p-1da72182.entry.js.map → p-2006f5d4.entry.js.map} +0 -0
  461. /package/dist/native/{p-f2ef6771.entry.js.map → p-4f9cdf0b.entry.js.map} +0 -0
  462. /package/dist/native/{p-3b7ef609.entry.js.map → p-58bb90ad.entry.js.map} +0 -0
  463. /package/dist/native/{p-3cd77d82.entry.js.map → p-5b6c59e0.entry.js.map} +0 -0
  464. /package/dist/native/{p-08a75cfa.entry.js.map → p-60c64f2b.entry.js.map} +0 -0
  465. /package/dist/native/{p-c67186f8.entry.js.map → p-83288db0.entry.js.map} +0 -0
  466. /package/dist/native/{p-0245863d.entry.js.map → p-86ab23ea.entry.js.map} +0 -0
  467. /package/dist/native/{p-4dc1d036.entry.js.map → p-87784622.entry.js.map} +0 -0
  468. /package/dist/native/{p-14c07207.entry.js.map → p-914da1e1.entry.js.map} +0 -0
  469. /package/dist/native/{p-c0f79bac.entry.js.map → p-ad128108.entry.js.map} +0 -0
  470. /package/dist/native/{p-e5de64d5.entry.js.map → p-b5b9190a.entry.js.map} +0 -0
  471. /package/dist/native/{p-b8b6875d.entry.js.map → p-d040bd61.entry.js.map} +0 -0
  472. /package/dist/native/{p-3953464e.entry.js.map → p-d21b2da2.entry.js.map} +0 -0
  473. /package/dist/native/{p-90e6d9dd.entry.js.map → p-d53e8795.entry.js.map} +0 -0
  474. /package/dist/native/{p-f85c08f1.js.map → p-e2d0a77d.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["t","e","module","exports","this","n","r","i","s","u","a","o","c","f","h","d","l","$","y","M","name","weekdays","split","months","ordinal","m","String","length","Array","join","v","z","utcOffset","Math","abs","floor","date","year","month","clone","add","ceil","p","w","D","ms","Q","toLowerCase","replace","g","S","_","O","args","arguments","b","locale","$L","utc","$u","x","$x","$offset","parse","prototype","$d","Date","NaN","test","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","toString","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","valueOf","getTime","toDate","apply","slice","$locale","weekStart","$set","min","daysInMonth","get","Number","round","subtract","format","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","k","forEach","extend","$i","isDayjs","en","Ls","LTS","LT","L","LL","LLL","LLLL","zone","offset","indexOf","concat","A","afternoon","milliseconds","SS","SSS","ss","mm","H","HH","hh","DD","Do","day","ww","MM","MMM","map","Error","MMMM","Y","YY","YYYY","Z","ZZ","formats","toUpperCase","regex","parser","exec","call","hours","customParseFormat","parseTwoDigitYear","minutes","seconds","week","local","getUTCFullYear","getUTCMonth","getUTCDate","getUTCDay","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","$localOffset","isUTC","yearStart","weeks","dayjs","weekOfYear","formatDate","options","isUTCMode","dateFormat","includes","isISO8601Format","ticks","isSameDate","compareDate","isSameOrBefore","isSameOrAfter","getWeekNumber","startOfYear","pastDaysOfYear","parseDate","dateInput","parsedDate","isNaN","error","console","unixSeconds","unixMilliseconds","parsed","nvCalendarCss","NvCalendarStyle0","NvCalendar","constructor","hostRef","firstDayOfWeek","numberOfCalendars","shortcutsPlacement","selectionType","showActions","parsedDisabledDates","currentDate","selectedDate","startDate","endDate","changeMonth","newDate","setUTCMonth","containers","el","querySelectorAll","container","classList","remove","animationClass","setTimeout","handleDateSelection","isDateDisabled","handleSingleSelection","handleRangeSelection","formattedDate","singleDateChange","emit","rangeDateChange","start","end","minDate","max","maxDate","some","disabledDate","isDateInRange","checkDate","getDayNames","CUSTOM_DAY_NAMES","days","firstDays","remainingDays","formatter","Intl","DateTimeFormat","weekday","getDaysInMonth","totalCalendars","firstDay","lastDay","dayOfWeekIndex","offsetDays","prevMonthLastDay","push","dayOfMonth","isCurrentMonth","isDisabled","nextMonthDaysNeeded","initializeMonths","CUSTOM_MONTH_NAMES","label","value","from","getLocalizedWeekText","WEEK_ABBREVIATIONS","handleMonthChange","event","calendarOffset","select","target","selectedMonth","parseInt","currentMonth","monthDiff","handleYearChange","input","setUTCFullYear","handleWeekSelection","weekDays","calendarIndex","allDays","weekEnd","selectedWeekDays","filter","validDays","isToday","today","parseDisabledDates","disabledDates","applyShortcut","shortcut","singleValue","CustomEvent","bubbles","composed","dispatchEvent","forceCalendarUpdate","rangeValue","requestAnimationFrame","document","style","pointerEvents","body","addEventListener","clearTouchState","passive","removeEventListener","getChangeMonthHandler","direction","getHandleMonthChange","getHandleYearChange","getDayClickHandler","undefined","getShortcutHandler","getWeekSelectionHandler","dates","index","resetSelection","confirmSelection","dateStr","renderHeader","class","emphasis","onClick","onChange","key","selected","type","renderWeekNumbers","weekIndex","_a","find","renderDaysGrid","isSelected","isInRange","isStart","isEnd","isOutsideMonth","dayClasses","Boolean","renderCalendar","showWeekNumbers","renderShortcuts","hasShortcuts","shortcuts","size","renderActions","validateNumberOfCalendars","newValue","warn","onRangeValueChange","validateDateRange","handleDisabledDatesChange","onSingleValueChange","oldValue","componentWillLoad","swapped","hasActions","startDateStr","endDateStr","render","Host"],"sources":["../../node_modules/dayjs/dayjs.min.js","../../node_modules/dayjs/plugin/customParseFormat.js","../../node_modules/dayjs/plugin/utc.js","../../node_modules/dayjs/plugin/weekOfYear.js","src/components/nv-calendar/nv-calendar.utils.ts","src/components/nv-calendar/nv-calendar.scss?tag=nv-calendar","src/components/nv-calendar/nv-calendar.tsx"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_customParseFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},t=/(\\[[^[]*\\])|([-_:/.,()\\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\\d/,r=/\\d\\d/,i=/\\d\\d?/,o=/\\d*[^-_:/,()\\s\\d]+/,s={},a=function(e){return(e=+e)+(e>68?1900:2e3)};var f=function(e){return function(t){this[e]=+t}},h=[/[+-]\\d\\d:?(\\d\\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if(\"Z\"===e)return 0;var t=e.match(/([+-]|\\d\\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:\"+\"===t[0]?-n:n}(e)}],u=function(e){var t=s[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=s.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?\"pm\":\"PM\");return n},c={A:[o,function(e){this.afternoon=d(e,!1)}],a:[o,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*+e}],SS:[r,function(e){this.milliseconds=10*+e}],SSS:[/\\d{3}/,function(e){this.milliseconds=+e}],s:[i,f(\"seconds\")],ss:[i,f(\"seconds\")],m:[i,f(\"minutes\")],mm:[i,f(\"minutes\")],H:[i,f(\"hours\")],h:[i,f(\"hours\")],HH:[i,f(\"hours\")],hh:[i,f(\"hours\")],D:[i,f(\"day\")],DD:[r,f(\"day\")],Do:[o,function(e){var t=s.ordinal,n=e.match(/\\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\\[|\\]/g,\"\")===e&&(this.day=r)}],w:[i,f(\"week\")],ww:[r,f(\"week\")],M:[i,f(\"month\")],MM:[r,f(\"month\")],MMM:[o,function(e){var t=u(\"months\"),n=(u(\"monthsShort\")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[o,function(e){var t=u(\"months\").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\\d+/,f(\"year\")],YY:[r,function(e){this.year=a(e)}],YYYY:[/\\d{4}/,f(\"year\")],Z:h,ZZ:h};function l(n){var r,i;r=n,i=s&&s.formats;for(var o=(n=r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=o.length,f=0;f<a;f+=1){var h=o[f],u=c[h],d=u&&u[0],l=u&&u[1];o[f]=l?{regex:d,parser:l}:h.replace(/^\\[|\\]$/g,\"\")}return function(e){for(var t={},n=0,r=0;n<a;n+=1){var i=o[n];if(\"string\"==typeof i)r+=i.length;else{var s=i.regex,f=i.parser,h=e.slice(r),u=s.exec(h)[0];f.call(t,u),e=e.replace(u,\"\")}}return function(e){var t=e.afternoon;if(void 0!==t){var n=e.hours;t?n<12&&(e.hours+=12):12===n&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(a=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,o=e.args;this.$u=r;var a=o[1];if(\"string\"==typeof a){var f=!0===o[2],h=!0===o[3],u=f||h,d=o[2];h&&(d=o[2]),s=this.$locale(),!f&&d&&(s=n.Ls[d]),this.$d=function(e,t,n,r){try{if([\"x\",\"X\"].indexOf(t)>-1)return new Date((\"X\"===t?1e3:1)*e);var i=l(t)(e),o=i.year,s=i.month,a=i.day,f=i.hours,h=i.minutes,u=i.seconds,d=i.milliseconds,c=i.zone,m=i.week,M=new Date,Y=a||(o||s?1:M.getDate()),p=o||M.getFullYear(),v=0;o&&!s||(v=s>0?s-1:M.getMonth());var D,w=f||0,g=h||0,y=u||0,L=d||0;return c?new Date(Date.UTC(p,v,Y,w,g,y,L+60*c.offset*1e3)):n?new Date(Date.UTC(p,v,Y,w,g,y,L)):(D=new Date(p,v,Y,w,g,y,L),m&&(D=r(D).week(m).toDate()),D)}catch(e){return new Date(\"\")}}(t,a,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date(\"\")),s={}}else if(a instanceof Array)for(var c=a.length,m=1;m<=c;m+=1){o[1]=a[m-1];var M=n.apply(this,o);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===c&&(this.$d=new Date(\"\"))}else i.call(this,e)}}}));","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t)};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else r.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekOfYear=t()}(this,(function(){\"use strict\";var e=\"week\",t=\"year\";return function(i,n,r){var f=n.prototype;f.week=function(i){if(void 0===i&&(i=null),null!==i)return this.add(7*(i-this.week()),\"day\");var n=this.$locale().yearStart||1;if(11===this.month()&&this.date()>25){var f=r(this).startOf(t).add(1,t).date(n),s=r(this).endOf(e);if(f.isBefore(s))return 1}var a=r(this).startOf(t).date(n).startOf(e).subtract(1,\"millisecond\"),o=this.diff(a,e,!0);return o<0?r(this).startOf(\"week\").week():Math.ceil(o)},f.weeks=function(e){return void 0===e&&(e=null),this.week(e)}}}));","import dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport utc from 'dayjs/plugin/utc';\nimport weekOfYear from 'dayjs/plugin/weekOfYear';\n\ndayjs.extend(customParseFormat);\ndayjs.extend(utc);\ndayjs.extend(weekOfYear);\n\n/**\n * Formats a date to a string according to the format\n * @param {Date} date - Date to format\n * @returns {string} Formatted date\n * @param {Object} options - Additional options\n * @param {string} options.dateFormat - Date format (ex: 'YYYY-MM-DD', 'DD-MM-YYYY', etc.)\n */\nexport function formatDate(\n date: Date,\n options: {\n /** Date format (ex: 'YYYY-MM-DD', 'DD-MM-YYYY', etc.) */\n dateFormat: string;\n },\n): string {\n if (!date) return '';\n\n const isUTCMode = options.dateFormat.includes('Z');\n const isISO8601Format = options.dateFormat === 'YYYY-MM-DD[T]HH:mm:ss[Z]';\n\n // Special case for ISO 8601\n if (isISO8601Format) {\n // For the ISO 8601 format, use directly toISOString() which is standard\n return date.toISOString();\n }\n\n // If the format is \"Ticks\", convert the time to C# ticks\n if (options.dateFormat === 'Ticks') {\n const ticks = date.getTime() * 10000 + 621355968000000000;\n return ticks.toString();\n }\n\n // If the format is \"X\" (Unix Seconds)\n if (options.dateFormat === 'X') {\n return dayjs(date).unix().toString();\n }\n\n // If the format is \"x\" (Unix Milliseconds)\n if (options.dateFormat === 'x') {\n return date.getTime().toString();\n }\n\n // Otherwise, format according to the mode (UTC or local)\n return isUTCMode\n ? dayjs(date).utc().format(options.dateFormat)\n : dayjs(date).format(options.dateFormat);\n}\n\n/**\n * Checks if two dates are identical\n * @param {Date | null} date - First date\n * @param {Date | null} compareDate - Second date\n * @param {Object} options - Additional options\n * @param {boolean} options.isUTCMode - Whether the dates are in UTC mode\n * @returns {boolean} true if the dates are identical\n */\nexport function isSameDate(\n date: Date | null,\n compareDate: Date | null,\n options: {\n /** Whether the dates are in UTC mode */\n isUTCMode: boolean;\n },\n): boolean {\n if (!date || !compareDate) return false;\n if (options.isUTCMode) {\n return (\n date.getUTCFullYear() === compareDate.getUTCFullYear() &&\n date.getUTCMonth() === compareDate.getUTCMonth() &&\n date.getUTCDate() === compareDate.getUTCDate()\n );\n } else {\n return (\n date.getFullYear() === compareDate.getFullYear() &&\n date.getMonth() === compareDate.getMonth() &&\n date.getDate() === compareDate.getDate()\n );\n }\n}\n\n/**\n * Checks if a date is identical or before another date\n * @param {Date} date - Date to check\n * @param {Date} compareDate - Reference date\n * @param {Object} options - Additional options\n * @param {boolean} options.isUTCMode - Whether the dates are in UTC mode\n * @returns {boolean} true if `date` <= `compareDate`\n */\nexport function isSameOrBefore(\n date: Date,\n compareDate: Date,\n options: {\n /** Whether the dates are in UTC mode */\n isUTCMode: boolean;\n },\n): boolean {\n if (!date || !compareDate) return false;\n\n if (options.isUTCMode) {\n return (\n date.getUTCFullYear() < compareDate.getUTCFullYear() ||\n (date.getUTCFullYear() === compareDate.getUTCFullYear() &&\n date.getUTCMonth() < compareDate.getUTCMonth()) ||\n (date.getUTCFullYear() === compareDate.getUTCFullYear() &&\n date.getUTCMonth() === compareDate.getUTCMonth() &&\n date.getUTCDate() <= compareDate.getUTCDate())\n );\n } else {\n return (\n date.getFullYear() < compareDate.getFullYear() ||\n (date.getFullYear() === compareDate.getFullYear() &&\n date.getMonth() < compareDate.getMonth()) ||\n (date.getFullYear() === compareDate.getFullYear() &&\n date.getMonth() === compareDate.getMonth() &&\n date.getDate() <= compareDate.getDate())\n );\n }\n}\n\n/**\n * Checks if a date is identical or after another date\n * @param {Date} date - Date to check\n * @param {Date} compareDate - Reference date\n * @param {Object} options - Additional options\n * @param {boolean} options.isUTCMode - Whether the dates are in UTC mode\n * @returns {boolean} true if `date` >= `compareDate`\n */\nexport function isSameOrAfter(\n date: Date,\n compareDate: Date,\n options: {\n /** Whether the dates are in UTC mode */\n isUTCMode: boolean;\n },\n): boolean {\n if (!date || !compareDate) return false;\n\n if (options.isUTCMode) {\n return (\n date.getUTCFullYear() > compareDate.getUTCFullYear() ||\n (date.getUTCFullYear() === compareDate.getUTCFullYear() &&\n date.getUTCMonth() > compareDate.getUTCMonth()) ||\n (date.getUTCFullYear() === compareDate.getUTCFullYear() &&\n date.getUTCMonth() === compareDate.getUTCMonth() &&\n date.getUTCDate() >= compareDate.getUTCDate())\n );\n } else {\n return (\n date.getFullYear() > compareDate.getFullYear() ||\n (date.getFullYear() === compareDate.getFullYear() &&\n date.getMonth() > compareDate.getMonth()) ||\n (date.getFullYear() === compareDate.getFullYear() &&\n date.getMonth() === compareDate.getMonth() &&\n date.getDate() >= compareDate.getDate())\n );\n }\n}\n\n/**\n * Calculates the ISO week number\n * @param {Date} date - Date to calculate\n * @returns {number} Week number\n */\nexport function getWeekNumber(date: Date): number {\n const startOfYear = new Date(date.getFullYear(), 0, 1);\n const pastDaysOfYear = (date.getTime() - startOfYear.getTime()) / 86400000;\n return Math.ceil((pastDaysOfYear + startOfYear.getDay() + 1) / 7);\n}\n\n/**\n * Convert a date string/Date to a Date without timezone offset\n * @param {string | Date} dateInput - Date under string or Date object form\n * @param {string} dateFormat - Date format (ex: 'YYYY-MM-DD', 'DD-MM-YYYY', etc.)\n * @returns {Date} Date in Date form without timezone offset\n */\nexport function parseDate(\n dateInput: string | Date,\n dateFormat: string,\n): Date | null {\n if (dateInput instanceof Date) return dateInput;\n const isUTCMode = dateFormat.includes('Z');\n\n // Attempt to automatically detect ISO 8601 format (generated by toISOString())\n // The regex checks the standard ISO format: YYYY-MM-DDTHH:mm:ss.sssZ\n if (\n typeof dateInput === 'string' &&\n /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z$/.test(dateInput)\n ) {\n try {\n const parsedDate = new Date(dateInput);\n if (!isNaN(parsedDate.getTime())) {\n return parsedDate;\n }\n } catch (error) {\n // If it fails, continue with other methods\n console.error('Error parsing ISO date:', error);\n }\n }\n\n // Handling Unix Seconds (\"X\") formats\n if (dateFormat === 'X') {\n const unixSeconds = Number(dateInput);\n if (isNaN(unixSeconds)) return null;\n return isUTCMode\n ? dayjs.unix(unixSeconds).utc().toDate()\n : dayjs.unix(unixSeconds).toDate();\n }\n\n // Handling Unix Milliseconds (\"x\") formats\n if (dateFormat === 'x') {\n const unixMilliseconds = Number(dateInput);\n if (isNaN(unixMilliseconds)) return null;\n return isUTCMode\n ? dayjs(unixMilliseconds).utc().toDate()\n : dayjs(unixMilliseconds).toDate();\n }\n\n // Handling C# Ticks format\n if (dateFormat === 'Ticks') {\n const ticks = Number(dateInput);\n if (isNaN(ticks)) return null;\n // Conversion of .NET ticks to milliseconds since Unix epoch\n const unixMilliseconds = (ticks - 621355968000000000) / 10000;\n return isUTCMode\n ? dayjs(unixMilliseconds).utc().toDate()\n : dayjs(unixMilliseconds).toDate();\n }\n\n // For all other formats, use customParseFormat in strict mode\n let parsed;\n if (isUTCMode) {\n parsed = dayjs.utc(dateInput, dateFormat, true);\n } else {\n parsed = dayjs(dateInput, dateFormat, true);\n }\n if (!parsed.isValid()) {\n console.error(`Parsing error:`, {\n dateInput,\n dateFormat: dateFormat,\n });\n return null;\n }\n return parsed.toDate();\n}\n","@import '../../styles/shadow';\n@import '../../styles/scrollbar';\n\n// Borders & Radius\n$border-width: 1px;\n$border-style: solid;\n\n// Transitions\n$transition-speed: 0.2s ease;\n\n$calendar-cell-size: var(--calendar-cell-size);\n\n// Typography\n$font-family: system-ui, sans-serif;\n$font-weight-bold: 700;\n\n// Animations\n$slide-duration: 0.3s;\n$fade-duration: 0.2s;\n\n@mixin root-styles() {\n display: block;\n}\n\nnv-calendar {\n @include root-styles();\n}\n\n.datepicker-root {\n display: flex;\n justify-content: center;\n align-items: flex-start;\n width: auto;\n}\n\n.datepicker-container {\n font-family: $font-family;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n background: var(--components-calendar-background);\n border-radius: var(--calendar-radius);\n padding: var(--calendar-padding);\n @include shadow(md);\n border: $border-width $border-style var(--components-calendar-border);\n width: auto;\n max-width: 100%;\n}\n\n.datepicker-container-single {\n max-width: 300px;\n\n .datepicker-wrapper:has(.shortcuts-placement-left),\n .datepicker-wrapper:has(.shortcuts-placement-right) {\n max-width: 410px !important;\n }\n\n &:has(.shortcuts-placement-left),\n &:has(.shortcuts-placement-right) {\n max-width: 410px !important;\n }\n}\n\n.datepicker-wrapper {\n @include scrollbar();\n display: flex;\n justify-content: center;\n align-items: flex-start;\n gap: var(--calendar-gap-x);\n width: auto;\n overflow-x: hidden;\n}\n\n.datepicker-wrapper.single {\n justify-content: center;\n}\n\n.calendar-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: var(--calendar-padding);\n width: auto;\n position: relative;\n}\n\n.calendar-separator {\n width: $border-width;\n background: var(--components-calendar-border);\n height: auto;\n min-height: 100%;\n margin: 0 10px;\n}\n\n.header {\n display: flex;\n justify-content: start;\n align-items: center;\n margin-bottom: var(--calendar-header-margin-bottom);\n width: 100%;\n\n nv-iconbutton {\n width: var(--calendar-header-button-size);\n height: var(--calendar-header-button-size);\n }\n}\n\n.nav-buttons {\n display: flex;\n gap: var(--spacing-0);\n margin-left: auto;\n}\n.nav-left {\n order: -1;\n}\n\n.date-controls {\n display: flex;\n gap: var(--spacing-1);\n align-items: center;\n min-height: 34px;\n justify-content: center;\n\n .datepicker-container-single & {\n justify-content: flex-start /*!important*/;\n }\n\n .datepicker-container:not(.datepicker-container-single) & {\n justify-content: start;\n flex-grow: 1;\n }\n .month-select,\n .year-input {\n background: transparent !important;\n }\n}\n.calendar-wrapper:nth-child(n + 2) {\n .datepicker-container {\n margin-left: 42px;\n }\n}\n.calendar-grid {\n display: grid;\n grid-template-columns: auto 1fr;\n column-gap: var(--calendar-weeks-calendar-gap-x);\n position: relative;\n\n &.slide-left {\n animation: slideLeft $slide-duration ease-out;\n }\n\n &.slide-right {\n animation: slideRight $slide-duration ease-out;\n }\n}\n\n.week-numbers {\n display: grid;\n grid-template-rows: var(--calendar-cell-size) repeat(\n 6,\n var(--calendar-cell-size)\n );\n background: var(--components-calendar-weeks-background);\n color: var(--components-calendar-weeks-text);\n border-radius: var(--calendar-weeks-radius);\n width: var(--calendar-weeks-size);\n row-gap: var(--calendar-grid-gap-y);\n\n .clickable {\n cursor: pointer;\n &:hover {\n background-color: var(--components-calendar-weeks-background-hover);\n color: var(--components-calendar-weeks-text-hover);\n border-radius: var(--calendar-radius);\n }\n }\n}\n\n.week-header,\n.week-number {\n display: grid;\n place-items: center;\n font-size: var(--calendar-cell-font-size);\n}\n\n.week-header {\n font-weight: $font-weight-bold;\n color: var(--components-calendar-weeks-text);\n}\n\n.week-number {\n color: var(--components-calendar-cell-text);\n}\n\n.days-container {\n display: grid;\n grid-template-rows: auto 1fr;\n row-gap: var(--calendar-grid-gap-y);\n}\n\n.days-header {\n display: grid;\n grid-template-columns: repeat(7, $calendar-cell-size);\n height: $calendar-cell-size;\n}\n\n.day-header {\n display: grid;\n place-items: center;\n font-size: var(--calendar-cell-font-size);\n color: var(--components-calendar-cell-text);\n}\n\n.days-grid {\n display: grid;\n grid-template-columns: repeat(7, $calendar-cell-size);\n grid-template-rows: repeat(6, $calendar-cell-size);\n animation: fadeIn $fade-duration ease-in;\n row-gap: var(--calendar-grid-gap-y);\n z-index: 0;\n}\n\n.day {\n display: grid;\n place-items: center;\n width: $calendar-cell-size;\n height: $calendar-cell-size;\n font-size: var(--calendar-cell-font-size);\n border-radius: var(--calendar-cell-radius);\n cursor: pointer;\n border: none;\n background: transparent;\n transition: all $transition-speed;\n text-align: center;\n animation: scaleIn $fade-duration ease-out;\n\n &:hover:not(.disabled, .empty, .selected) {\n background: var(--components-calendar-cell-background-hover);\n color: var(--components-calendar-cell-text-hover);\n }\n\n &.selected,\n &.selected:hover \n &.is-today.selected,\n &.is-today.selected:hover {\n background: var(--components-calendar-cell-background-selected);\n color: var(--components-calendar-cell-text-selected) !important;\n }\n\n &.disabled {\n opacity: var(--opacity-disabled);\n cursor: not-allowed;\n }\n\n &.outside-month {\n color: var(--components-calendar-cell-text);\n opacity: var(--opacity-disabled);\n }\n\n &.outside-month.selected {\n opacity: 1 !important;\n color: var(--components-calendar-cell-text-selected);\n }\n &.outside-month.in-range {\n opacity: 1 !important;\n background-color: var(--components-calendar-cell-background-in-range);\n color: var(--components-calendar-cell-text-in-range);\n }\n\n &.in-range {\n background: var(--components-calendar-cell-background-in-range);\n color: var(--components-calendar-cell-text-in-range);\n border-radius: 0;\n position: relative;\n }\n\n &.range-start,\n &.range-start:focus,\n &.range-start:hover,\n &.range-end,\n &.range-end:focus,\n &.range-end:hover {\n background-color: var(\n --components-calendar-cell-background-selected\n ) !important;\n color: var(--components-calendar-cell-text-selected) !important;\n }\n\n &.range-start,\n &.range-end,\n &.range-start.is-today,\n &.range-end.is-today {\n background: var(--components-calendar-cell-background-selected);\n color: var(--components-calendar-cell-text-selected);\n position: relative;\n border-radius: var(--radius-rounded-full);\n\n &:hover {\n color: var(--components-calendar-cell-text-today);\n }\n\n &:before {\n content: '';\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n top: 0;\n z-index: -1;\n background-color: var(--components-calendar-cell-background-in-range);\n border-radius: var(--radius-rounded-full);\n width: auto;\n height: auto;\n }\n }\n &.range-start:has(~ .range-end):before,\n &.range-start:has(+ .in-range):before {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n &.range-end:before {\n border-top-left-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n }\n\n &.outside-month.range-start,\n &.outside-month.range-end {\n background: var(--components-calendar-cell-background-selected) !important;\n color: var(--components-calendar-cell-text-selected);\n opacity: 1 !important;\n }\n\n &.is-today {\n font-weight: $font-weight-bold;\n position: relative;\n color: var(--components-calendar-cell-text-today);\n\n &.range-start,\n &.range-end {\n color: var(--components-calendar-cell-text-selected);\n &:hover {\n color: var(--components-calendar-cell-text-today);\n }\n }\n\n &::after {\n content: '';\n position: absolute;\n bottom: var(--spacing-1);\n left: 50%;\n transform: translateX(-50%);\n width: var(--calendar-cell-dot-size);\n height: var(--calendar-cell-dot-size);\n background-color: currentColor;\n border-radius: 50%;\n }\n\n &.selected::after {\n color: var(--components-calendar-cell-text-selected);\n &::after {\n background-color: var(--components-calendar-cell-dot-selected);\n }\n }\n }\n}\n\n.calendar-footer {\n display: flex;\n gap: var(--spacing-1);\n justify-content: flex-start;\n width: 100%;\n flex-wrap: wrap;\n}\n\n.footer-placement-left {\n justify-content: flex-start;\n}\n\n.footer-placement-right {\n justify-content: flex-end;\n}\n\n.footer-placement-center {\n justify-content: center;\n}\n\n.datepicker-controls {\n display: flex;\n flex-direction: column;\n border-top: $border-width $border-style var(--components-calendar-border);\n padding: var(--calendar-controls-padding-top) var(--calendar-padding)\n var(--calendar-padding);\n gap: var(--calendar-grid-gap-y);\n margin-top: var(--calendar-controls-margin-top);\n}\n\n.datepicker-actions {\n display: flex;\n justify-content: flex-end;\n gap: var(--spacing-1);\n width: 100%;\n\n slot-fb {\n display: contents !important;\n }\n}\n\n.calendar-footer + .datepicker-actions {\n margin-top: 0;\n}\n\n.shortcuts-placement-left,\n.shortcuts-placement-right {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-1);\n margin-top: var(--spacing-4);\n}\n\n.shortcuts-placement-left {\n align-items: flex-end;\n}\n\n.shortcuts-placement-right {\n align-items: flex-start;\n}\n\n@keyframes slideLeft {\n from {\n opacity: 0;\n transform: translateX(20px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n\n@keyframes slideRight {\n from {\n opacity: 0;\n transform: translateX(-20px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes scaleIn {\n from {\n opacity: 0;\n transform: scale(0.9);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n Watch,\n} from '@stencil/core';\nimport {\n WEEK_ABBREVIATIONS,\n CUSTOM_DAY_NAMES,\n CUSTOM_MONTH_NAMES,\n} from '../../utils/constants';\n\nimport {\n getWeekNumber,\n parseDate,\n isSameDate,\n formatDate,\n isSameOrAfter,\n isSameOrBefore,\n} from './nv-calendar.utils';\n\n/**\n * @slot default - Child content of the component.\n * @slot actions - Child content of the component.\n */\n@Component({\n tag: 'nv-calendar',\n styleUrl: 'nv-calendar.scss',\n shadow: false,\n})\nexport class NvCalendar {\n @Element() el: HTMLNvCalendarElement;\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * First day of the week (0 = Sunday, 1 = Monday, etc.)\n * @default 0\n */\n @Prop({ reflect: true })\n readonly firstDayOfWeek: number = 0;\n\n /**\n * Number of calendars to display\n * @default 1\n */\n @Prop({ mutable: true, reflect: true })\n numberOfCalendars: number = 1;\n\n /**\n * Selected date (ISO string format)\n * ex: \"2025-03-15\"\n */\n @Prop({ reflect: true, mutable: true })\n singleValue: string;\n\n /**\n * Selected date range\n * format: { start: ISO string, end: ISO string }\n * ex: { start: \"2025-03-15\", end: \"2025-03-20\" }\n */\n @Prop({ reflect: false, mutable: true })\n rangeValue: {\n /** ISO string for start date */\n start: string;\n /** ISO string for end date */\n end: string;\n };\n\n /**\n * Minimum date for selection (ISO string format, ex: \"2025-01-01\")\n */\n @Prop({ reflect: true })\n readonly min?: string;\n\n /**\n * Maximum date for selection (ISO string format, ex: \"2025-12-31\")\n */\n @Prop({ reflect: true })\n readonly max?: string;\n\n /**\n * Disabled dates (ISO string array)\n */\n @Prop({ reflect: false })\n readonly disabledDates: Array<string>;\n\n /**\n * Locale for date formatting\n * @default 'en-BE'\n */\n @Prop({ reflect: true })\n readonly locale: string = 'en-BE';\n\n /**\n * Date format (ex: 'YYYY-MM-DD', 'DD-MM-YYYY', etc.)\n * @default 'YYYY-MM-DD'\n * @note If the date format is in UTC mode, the date will be displayed in UTC time.\n * @note If the date format is not in UTC mode, the date will be displayed in the local time.\n */\n @Prop({ reflect: true })\n readonly dateFormat: string = 'YYYY-MM-DD';\n\n /**\n * Footer placement\n * @default 'bottom'\n */\n @Prop({ reflect: true })\n readonly shortcutsPlacement: 'bottom' | 'left' | 'right' = 'bottom';\n\n /**\n * Selection type (single date or date range)\n * @default 'single'\n */\n @Prop({ reflect: true })\n readonly selectionType: 'single' | 'range' = 'single';\n\n /**\n * Show action buttons\n */\n @Prop({ reflect: true })\n readonly showActions: boolean = false;\n\n /**\n * Custom actions to display in the footer\n */\n @Prop({ reflect: true })\n readonly shortcuts: {\n /** Label of the shortcut */\n label: string;\n /** Selected date value for single selection mode */\n singleValue?: string;\n /** Date range values for range selection mode */\n rangeValue?: HTMLNvCalendarElement['rangeValue'];\n }[];\n\n /**\n * Show week numbers\n */\n @Prop({ reflect: true })\n readonly showWeekNumbers: boolean;\n\n /** Cache for parsed disabled dates */\n private parsedDisabledDates: Date[] = [];\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region STATE\n\n @State()\n currentDate: Date | null = null;\n\n @State()\n selectedDate: Date | null = null;\n\n @State()\n startDate: Date | null = null;\n\n @State()\n endDate: Date | null = null;\n\n /** List of formatted months for the selector */\n @State()\n private months: {\n /** Month value */\n value: number;\n /** Month label */\n label: string;\n }[] = [];\n\n //#endregion STATE\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when a single date is selected\n */\n @Event()\n singleDateChange: EventEmitter<string>;\n\n /**\n * Emitted when a date range is selected\n */\n @Event()\n rangeDateChange: EventEmitter<HTMLNvCalendarElement['rangeValue']>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n /**\n * Watches the changes of the number of calendars\n * @param {number} newValue - New number of calendars\n */\n @Watch('numberOfCalendars')\n validateNumberOfCalendars(newValue: number) {\n if (newValue < 1 || newValue > 4) {\n console.warn(\n 'numberOfCalendars must be between 1 and 4. Defaulting to 1.',\n );\n this.numberOfCalendars = 1;\n }\n }\n\n /**\n * Watches the changes of the selected date range\n * @param {Object} newValue - New rangeValue value\n * @param {string} newValue.start - Start date\n * @param {string} newValue.end - End date\n */\n @Watch('rangeValue')\n onRangeValueChange(newValue: typeof this.rangeValue) {\n if (newValue && newValue.start && newValue.end) {\n try {\n const { startDate, endDate } = this.validateDateRange(\n newValue.start,\n newValue.end,\n );\n\n this.startDate = startDate;\n this.endDate = endDate;\n this.currentDate = startDate;\n } catch (error) {\n console.error('Invalid rangeValue:', error);\n }\n }\n }\n\n /**\n * Watches the changes of the disabled dates\n * @description Watches the changes of the disabled dates\n */\n @Watch('disabledDates')\n handleDisabledDatesChange() {\n this.parseDisabledDates();\n }\n\n /**\n * Watches the changes of the single value\n * @param {string} newValue - New single value\n * @param {string} oldValue - Old single value\n */\n @Watch('singleValue')\n onSingleValueChange(newValue: string, oldValue: string) {\n if (this.selectionType === 'single' && newValue !== oldValue && newValue) {\n const parsedDate = parseDate(newValue, this.dateFormat);\n if (parsedDate) {\n this.selectedDate = parsedDate;\n this.currentDate = parsedDate;\n }\n }\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.parseDisabledDates();\n\n if (this.selectionType === 'single' && this.singleValue) {\n this.selectedDate = parseDate(this.singleValue, this.dateFormat);\n this.currentDate = this.selectedDate;\n } else if (this.selectionType === 'range' && this.rangeValue) {\n try {\n if (this.rangeValue.start && this.rangeValue.end) {\n const { startDate, endDate, swapped } = this.validateDateRange(\n this.rangeValue.start,\n this.rangeValue.end,\n );\n\n this.startDate = startDate;\n this.endDate = endDate;\n this.currentDate = startDate;\n\n if (swapped) {\n // If dates were swapped, update the rangeValue property\n this.rangeValue = {\n start: formatDate(startDate, { dateFormat: this.dateFormat }),\n end: formatDate(endDate, { dateFormat: this.dateFormat }),\n };\n }\n }\n } catch (error) {\n console.error('Invalid rangeValue:', error);\n }\n } else {\n this.currentDate = new Date();\n }\n\n this.initializeMonths();\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Checks if shortcuts are visible\n * @returns {boolean} true if shortcuts are visible\n */\n private get hasShortcuts(): boolean {\n return Boolean(this.shortcutsPlacement && this.shortcuts);\n }\n\n /**\n * Checks if actions are visible\n * @returns {boolean} true if actions are visible\n */\n private get hasActions(): boolean {\n return this.showActions;\n }\n\n /**\n * Checks if the date format is in UTC mode\n * @returns {boolean} true if the date format is in UTC mode\n */\n private get isUTCMode(): boolean {\n return this.dateFormat.includes('Z');\n }\n\n /**\n * Validates and processes a date range, warning if start is after end\n * @param {string} startDateStr - Start date in ISO string format\n * @param {string} endDateStr - End date in ISO string format\n * @returns {object} Object containing the validated start and end dates\n */\n private validateDateRange(\n startDateStr: string,\n endDateStr: string,\n ): {\n /** Start date */\n startDate: Date;\n /** End date */\n endDate: Date;\n /** If the dates were swapped */\n swapped: boolean;\n } {\n try {\n const startDate = parseDate(startDateStr, this.dateFormat);\n const endDate = parseDate(endDateStr, this.dateFormat);\n\n if (startDate && endDate && startDate > endDate) {\n console.warn(\n `Warning: startDate (${formatDate(startDate, {\n dateFormat: this.dateFormat,\n })}) is after endDate (${formatDate(endDate, {\n dateFormat: this.dateFormat,\n })})`,\n );\n\n // Return dates in correct order, with swapped flag\n return {\n startDate: endDate,\n endDate: startDate,\n swapped: true,\n };\n }\n\n return {\n startDate,\n endDate,\n swapped: false,\n };\n } catch (error) {\n console.error('Invalid date range:', error);\n throw error; // Re-throw to let the caller handle it\n }\n }\n\n /**\n * Change the displayed month\n * @param {number} offset - Month offset (-1 for previous, 1 for next)\n */\n private changeMonth = (offset: number) => {\n const newDate = new Date(this.currentDate);\n // Ensure we only move by one month at a time\n newDate.setUTCMonth(newDate.getUTCMonth() + offset);\n\n // Add the appropriate animation class\n const containers = this.el.querySelectorAll('.calendar-grid');\n containers.forEach(container => {\n // Remove existing animation classes\n container.classList.remove('slide-left', 'slide-right');\n\n // Add the new animation class\n const animationClass = offset > 0 ? 'slide-left' : 'slide-right';\n container.classList.add(animationClass);\n\n // Remove the class after the animation\n setTimeout(() => {\n container.classList.remove(animationClass);\n }, 300); // 300ms corresponds to $slide-duration in the SCSS\n });\n\n this.currentDate = newDate;\n };\n\n /**\n * Handles date selection based on the mode\n * @param {Date} date - Selected date\n */\n private handleDateSelection = (date: Date) => {\n if (this.isDateDisabled(date)) {\n return;\n }\n\n if (this.selectionType === 'single') {\n this.handleSingleSelection(date);\n } else {\n this.handleRangeSelection(date);\n }\n };\n\n /**\n * Handles single date selection\n * @param {Date} date - Selected date\n */\n private handleSingleSelection = (date: Date) => {\n if (!date) return;\n\n const formattedDate = formatDate(date, { dateFormat: this.dateFormat });\n this.selectedDate = date;\n this.singleDateChange.emit(formattedDate);\n };\n\n /**\n * Handles range date selection\n * @param {Date} date - Selected date\n */\n private handleRangeSelection = (date: Date) => {\n if (!this.startDate || (this.startDate && this.endDate)) {\n this.startDate = date;\n this.endDate = null;\n } else {\n this.endDate = date;\n\n if (this.startDate > this.endDate) {\n [this.startDate, this.endDate] = [this.endDate, this.startDate];\n }\n\n this.rangeDateChange.emit({\n start: formatDate(this.startDate, { dateFormat: this.dateFormat }),\n end: formatDate(this.endDate, { dateFormat: this.dateFormat }),\n });\n }\n };\n\n /**\n * Checks if a date is disabled.\n * Disabled if:\n * - The date is before min (if defined)\n * - The date is after max (if defined)\n * - The date is in the disabledDates array\n * @param {Date} date - Date to check\n * @returns {boolean} true if the date is disabled\n */\n private isDateDisabled = (date: Date): boolean => {\n if (!date) return true;\n\n // Minimum bound check\n if (this.min) {\n const minDate = parseDate(this.min, this.dateFormat);\n if (minDate && date < minDate) {\n return true;\n }\n }\n\n // Maximum bound check\n if (this.max) {\n const maxDate = parseDate(this.max, this.dateFormat);\n if (maxDate && date > maxDate) {\n return true;\n }\n }\n\n // Check disabled dates\n return this.parsedDisabledDates.some(disabledDate =>\n isSameDate(date, disabledDate, { isUTCMode: this.isUTCMode }),\n );\n };\n\n /**\n * Checks if a date is in the selected range\n * @param {Date} date - Date to check\n * @returns {boolean} true if the date is in the range\n */\n private isDateInRange = (date: Date): boolean => {\n if (!date || !this.startDate || !this.endDate) return false;\n\n const checkDate = parseDate(date, this.dateFormat);\n const startDate = parseDate(this.startDate, this.dateFormat);\n const endDate = parseDate(this.endDate, this.dateFormat);\n\n // Verify if startDate and endDate are valid\n if (isNaN(startDate.getTime()) || isNaN(endDate.getTime())) {\n return false;\n }\n\n // Verify that startDate is before endDate (additional security)\n if (startDate > endDate) return false;\n\n // Comparison based only on the date (year, month, day)\n return (\n isSameOrAfter(checkDate, startDate, { isUTCMode: this.isUTCMode }) &&\n isSameOrBefore(checkDate, endDate, { isUTCMode: this.isUTCMode })\n );\n };\n\n /**\n * Retrieves the localized day names\n * @returns {string[]} Array of short day names\n */\n private getDayNames = (): string[] => {\n // If we have custom day names for this locale\n if (CUSTOM_DAY_NAMES[this.locale]) {\n const days = [...CUSTOM_DAY_NAMES[this.locale]];\n // Reorganize the days based on the first day of the week\n const firstDays = days.slice(0, this.firstDayOfWeek);\n const remainingDays = days.slice(this.firstDayOfWeek);\n return [...remainingDays, ...firstDays];\n }\n\n // Otherwise, use the default behavior\n const formatter = new Intl.DateTimeFormat(this.locale, {\n weekday: 'short',\n });\n const days = [...Array(7)].map((_, i) =>\n formatter.format(new Date(2023, 0, i + 1)).toUpperCase(),\n );\n // Reorganize the days based on the first day of the week\n const firstDays = days.slice(0, this.firstDayOfWeek);\n const remainingDays = days.slice(this.firstDayOfWeek);\n return [...remainingDays, ...firstDays];\n };\n\n /**\n * Generates the days of the current month\n * @param {number} offset - Month offset (0 by default)\n * @param {number} totalCalendars - Number of calendars to display (1 by default)\n * @returns {Array<{ dayOfMonth: number | null, date: Date | null, isSelected: boolean, isDisabled: boolean }>} Array of formatted days\n */\n private getDaysInMonth = (\n offset: number = 0,\n totalCalendars: number = 1,\n ): Array<{\n /** Day of the month (1 to 31) */\n dayOfMonth: number;\n /** Complete date */\n date: Date;\n /** If the day belongs to the current month */\n isCurrentMonth: boolean;\n /** If the day is disabled */\n isDisabled: boolean;\n }> => {\n const year = this.currentDate.getUTCFullYear();\n const month = this.currentDate.getUTCMonth() + offset;\n\n const firstDay = new Date(Date.UTC(year, month, 1));\n const lastDay = new Date(Date.UTC(year, month + 1, 0));\n\n const days = [];\n\n // Correct calculation of offset for previous month days\n // Use getUTCDay to stay consistent with UTC timezone\n const dayOfWeekIndex = firstDay.getUTCDay(); // 0 = Sunday, 1 = Monday, etc.\n\n // Adjust based on firstDayOfWeek (if week starts on Monday, offset is different)\n const offsetDays = (dayOfWeekIndex - this.firstDayOfWeek + 7) % 7;\n\n // Add the days of the previous month for the first calendar\n if (offset === 0 && offsetDays > 0) {\n const prevMonthLastDay = new Date(Date.UTC(year, month, 0)).getUTCDate();\n for (let i = offsetDays; i > 0; i--) {\n const date = new Date(\n Date.UTC(year, month - 1, prevMonthLastDay - i + 1),\n );\n days.push({\n dayOfMonth: date.getUTCDate(),\n date,\n isCurrentMonth: false,\n isDisabled: this.isDateDisabled(date),\n });\n }\n }\n\n // Add the days of the current month\n for (let i = 1; i <= lastDay.getUTCDate(); i++) {\n const date = new Date(Date.UTC(year, month, i));\n days.push({\n dayOfMonth: i,\n date,\n isCurrentMonth: true,\n isDisabled: this.isDateDisabled(date),\n });\n }\n\n // Add the days of the next month only for the last calendar\n if (offset === totalCalendars - 1) {\n const nextMonthDaysNeeded = 7 - (days.length % 7 || 7);\n for (let i = 1; i <= nextMonthDaysNeeded; i++) {\n const date = new Date(Date.UTC(year, month + 1, i));\n days.push({\n dayOfMonth: i,\n date,\n isCurrentMonth: false,\n isDisabled: this.isDateDisabled(date),\n });\n }\n }\n\n return days;\n };\n\n /** Initializes the list of formatted months according to the locale */\n private initializeMonths = () => {\n // If we have custom month names for this locale\n if (CUSTOM_MONTH_NAMES[this.locale]) {\n this.months = CUSTOM_MONTH_NAMES[this.locale].map((label, value) => ({\n value,\n label,\n }));\n return;\n }\n\n // Otherwise, use the default behavior\n const formatter = new Intl.DateTimeFormat(this.locale, { month: 'short' });\n this.months = Array.from({ length: 12 }, (_, i) => ({\n value: i,\n label: formatter.format(new Date(2000, i, 1)).toUpperCase(),\n }));\n };\n\n /**\n * Retrieves the localized abbreviation for \"week\"\n * @returns {string} Localized abbreviation for \"week\"\n */\n private getLocalizedWeekText = (): string => {\n return WEEK_ABBREVIATIONS[this.locale] || 'W';\n };\n\n /**\n * Handles month change in the selector\n * @param {Event} event - Month change event\n * @param {number} calendarOffset - Calendar offset (0 by default)\n */\n private handleMonthChange = (event: Event, calendarOffset: number = 0) => {\n const select = event.target as HTMLSelectElement;\n const selectedMonth = parseInt(select.value, 10);\n const currentMonth = this.currentDate.getUTCMonth();\n\n // Calculate the difference considering the calendar offset\n const monthDiff = selectedMonth - ((currentMonth + calendarOffset) % 12);\n\n const newDate = new Date(this.currentDate);\n newDate.setUTCMonth(newDate.getUTCMonth() + monthDiff);\n this.currentDate = newDate;\n };\n\n /**\n * Handles year change in the numeric entry\n * @param {Event} event - Year change event\n * @param {number} calendarOffset - Calendar offset (0 by default)\n */\n private handleYearChange = (event: Event, calendarOffset: number = 0) => {\n const input = event.target as HTMLInputElement;\n const year = parseInt(input.value, 10);\n if (!isNaN(year) && year >= 1900 && year <= 2100) {\n const newDate = new Date(this.currentDate);\n newDate.setUTCFullYear(year);\n newDate.setUTCMonth(newDate.getUTCMonth() + calendarOffset);\n this.currentDate = newDate;\n }\n };\n\n /**\n * Handles week selection\n * @param {Date[]} weekDays - Selected week days\n * @param {number} calendarIndex - Calendar index from which the selection is made\n */\n private handleWeekSelection = (weekDays: Date[], calendarIndex: number) => {\n if (this.selectionType !== 'range') return;\n\n const allDays = this.getDaysInMonth(calendarIndex, this.numberOfCalendars);\n\n const weekStart = weekDays[0];\n const weekEnd = weekDays[weekDays.length - 1];\n\n if (!weekStart || !weekEnd) return;\n\n const selectedWeekDays = allDays.filter(\n day => day.date && day.date >= weekStart && day.date <= weekEnd,\n );\n\n const validDays = selectedWeekDays.filter(\n day => !this.isDateDisabled(day.date),\n );\n\n if (validDays.length > 0) {\n this.startDate = validDays[0].date;\n this.endDate = validDays[validDays.length - 1].date;\n\n this.rangeDateChange.emit({\n start: formatDate(this.startDate, { dateFormat: this.dateFormat }),\n end: formatDate(this.endDate, { dateFormat: this.dateFormat }),\n });\n }\n };\n\n /**\n * Checks if a date corresponds to today\n * @param {Date} date - Date to check\n * @returns {boolean} true if the date is today\n */\n private isToday = (date: Date): boolean => {\n const today = new Date();\n return (\n date.getDate() === today.getDate() &&\n date.getMonth() === today.getMonth() &&\n date.getFullYear() === today.getFullYear()\n );\n };\n\n /**\n * Parse and cache the disabled dates\n * @description Parse and cache the disabled dates\n */\n private parseDisabledDates = () => {\n if (!this.disabledDates) {\n this.parsedDisabledDates = [];\n return;\n }\n\n try {\n this.parsedDisabledDates = this.disabledDates\n .map(date => parseDate(date, this.dateFormat))\n .filter(date => date !== null) as Date[];\n } catch (error) {\n console.error('Error parsing disabled dates:', error);\n this.parsedDisabledDates = [];\n }\n };\n\n /**\n * Applies a shortcut selection\n * @param {Object} shortcut - Shortcut to apply\n * @param {string | Date} shortcut.singleValue - Selected date value\n * @param {Object} shortcut.rangeValue - Start and end date values\n * @param {string | Date} shortcut.rangeValue.start - Start date value\n * @param {string | Date} shortcut.rangeValue.end - End date value\n * @param {string} shortcut.label - Label\n */\n private applyShortcut = (shortcut: (typeof this.shortcuts)[number]) => {\n this.selectedDate = null;\n this.startDate = null;\n this.endDate = null;\n\n if (shortcut.singleValue) {\n const newDate = parseDate(shortcut.singleValue, this.dateFormat);\n this.selectedDate = newDate;\n this.singleDateChange.emit(\n formatDate(newDate, { dateFormat: this.dateFormat }),\n );\n this.singleValue = formatDate(newDate, { dateFormat: this.dateFormat });\n\n if (!this.showActions) {\n const event = new CustomEvent('closePopover', {\n bubbles: true,\n composed: true,\n });\n this.el.dispatchEvent(event);\n }\n\n this.forceCalendarUpdate(newDate);\n } else {\n const start = parseDate(shortcut.rangeValue.start, this.dateFormat);\n const end = parseDate(shortcut.rangeValue.end, this.dateFormat);\n\n this.startDate = start;\n this.endDate = end;\n this.rangeDateChange.emit({\n start: formatDate(start, { dateFormat: this.dateFormat }),\n end: formatDate(end, { dateFormat: this.dateFormat }),\n });\n this.rangeValue = {\n start: formatDate(start, { dateFormat: this.dateFormat }),\n end: formatDate(end, { dateFormat: this.dateFormat }),\n };\n\n if (!this.showActions) {\n const event = new CustomEvent('closePopover', {\n bubbles: true,\n composed: true,\n });\n this.el.dispatchEvent(event);\n }\n\n this.forceCalendarUpdate(end);\n }\n };\n\n /**\n * Method to force the complete calendar update (and fix the persistent hover problem)\n * @param {Date} newDate - Date to force\n */\n private forceCalendarUpdate = newDate => {\n this.currentDate = new Date(newDate);\n this.currentDate = new Date(this.currentDate); // Force a re-render\n\n // Reset visually the hover/touch effect\n requestAnimationFrame(() => {\n const days = document.querySelectorAll('.day');\n\n days.forEach(el => {\n (el as HTMLElement).classList.remove('hover', 'active', 'touched');\n (el as HTMLElement).style.pointerEvents = 'none';\n });\n\n // Add specific touch handling (for mobile)\n document.body.addEventListener('touchstart', this.clearTouchState, {\n passive: true,\n });\n\n // Reset the touch state after 50ms\n setTimeout(() => {\n days.forEach(el => {\n (el as HTMLElement).style.pointerEvents = '';\n });\n }, 50);\n });\n };\n\n /**\n * Function to reset the touch effect (Mobile fix)\n */\n private clearTouchState = () => {\n document.querySelectorAll('.day').forEach(el => {\n (el as HTMLElement).classList.remove('touched');\n });\n\n // Remove the listener after the first interaction\n document.body.removeEventListener('touchstart', this.clearTouchState);\n };\n\n /**\n * Handles month change with an offset\n * @param {number} direction - Direction (-1 for previous, 1 for next)\n * @returns {Function} Change month handler\n */\n private getChangeMonthHandler = (direction: number) => {\n return () => this.changeMonth(direction);\n };\n\n /**\n * Handles month change from an event (ex: dropdown)\n * @param {number} offset - Month offset (0 by default)\n * @returns {Function} Change month handler\n */\n private getHandleMonthChange = (offset: number) => {\n return (event: Event) => this.handleMonthChange(event, offset);\n };\n\n /**\n * Handles year change from an event (ex: dropdown)\n * @param {number} offset - Year offset (0 by default)\n * @returns {Function} Change year handler\n */\n private getHandleYearChange = (offset: number) => {\n return (event: Event) => this.handleYearChange(event, offset);\n };\n\n /**\n * Handles day click\n * @param {Date} date - Date to handle\n * @param {boolean} isDisabled - Whether the date is disabled\n * @returns {Function} Day click handler\n */\n private getDayClickHandler = (\n date: Date,\n isDisabled: boolean,\n ): (() => void) | undefined => {\n return isDisabled ? undefined : () => this.handleDateSelection(date);\n };\n\n /**\n * Handles shortcut selection\n * @param {Object} shortcut - Shortcut to handle\n * @param {string | Date} shortcut.singleValue - Selected date value\n * @param {Object} shortcut.rangeValue - Start and end date values\n * @param {string | Date} shortcut.rangeValue.start - Start date value\n * @param {string | Date} shortcut.rangeValue.end - End date value\n * @param {string} shortcut.label - Label\n * @returns {Function} Shortcut selection handler\n */\n private getShortcutHandler = (shortcut: (typeof this.shortcuts)[number]) => {\n return () => this.applyShortcut(shortcut);\n };\n\n /**\n * Handles week selection\n * @param {Date[]} dates - Dates to handle\n * @param {number} index - Calendar index\n * @returns {Function} Week selection handler\n */\n private getWeekSelectionHandler = (dates: Date[], index: number) => {\n return () => {\n if (this.selectionType === 'range') {\n this.handleWeekSelection(dates, index);\n }\n };\n };\n\n /**\n * Resets the current selection\n */\n private resetSelection = (): void => {\n if (this.selectionType === 'single') {\n this.selectedDate = null;\n this.singleValue = null;\n this.singleDateChange.emit('');\n } else {\n this.startDate = null;\n this.endDate = null;\n this.rangeValue = null;\n this.rangeDateChange.emit({ start: '', end: '' });\n }\n };\n\n /**\n * Confirms the current selection\n */\n private confirmSelection = (): void => {\n if (this.selectionType === 'single' && this.selectedDate) {\n const dateStr = formatDate(this.selectedDate, {\n dateFormat: this.dateFormat,\n });\n this.singleDateChange.emit(dateStr);\n this.singleValue = dateStr;\n const event = new CustomEvent('closePopover', {\n bubbles: true,\n composed: true,\n });\n this.el.dispatchEvent(event);\n } else if (\n this.selectionType === 'range' &&\n this.startDate &&\n this.endDate\n ) {\n this.rangeDateChange.emit({\n start: formatDate(this.startDate, { dateFormat: this.dateFormat }),\n end: formatDate(this.endDate, { dateFormat: this.dateFormat }),\n });\n this.rangeValue = {\n start: formatDate(this.startDate, { dateFormat: this.dateFormat }),\n end: formatDate(this.endDate, { dateFormat: this.dateFormat }),\n };\n const event = new CustomEvent('closePopover', {\n bubbles: true,\n composed: true,\n });\n this.el.dispatchEvent(event);\n }\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region RENDER\n\n /**\n * Renders the header\n * @param {number} offset - Month offset\n * @param {number} index - Calendar index\n * @returns {JSX.Element} Header\n * @description Renders the header of the calendar\n */\n private renderHeader = (offset: number, index: number) => {\n return (\n <div class=\"header\">\n {/* If multiple calendars, display the left button only on the first calendar */}\n {this.numberOfCalendars > 1 && index === 0 && (\n <nv-iconbutton\n class=\"nav-left\"\n emphasis=\"lower\"\n name=\"chevron-left\"\n onClick={this.getChangeMonthHandler(-1)}\n ></nv-iconbutton>\n )}\n\n <div class=\"date-controls\">\n <select\n class=\"month-select mr-4\"\n onChange={this.getHandleMonthChange(offset)}\n >\n {this.months.map(month => (\n <option\n key={month.value}\n value={month.value}\n selected={\n month.value === (this.currentDate.getUTCMonth() + offset) % 12\n }\n >\n {month.label}\n </option>\n ))}\n </select>\n <input\n type=\"number\"\n class=\"year-input\"\n min=\"1950\"\n max=\"2100\"\n value={\n this.currentDate.getUTCFullYear() +\n Math.floor((this.currentDate.getUTCMonth() + offset) / 12)\n }\n onChange={this.getHandleYearChange(offset)}\n />\n </div>\n\n {/* If a single calendar, display the navigation buttons side by side */}\n {this.numberOfCalendars === 1 && (\n <div class=\"nav-buttons\">\n <nv-iconbutton\n emphasis=\"lower\"\n name=\"chevron-left\"\n onClick={this.getChangeMonthHandler(-1)}\n ></nv-iconbutton>\n\n <nv-iconbutton\n emphasis=\"lower\"\n name=\"chevron-right\"\n onClick={this.getChangeMonthHandler(1)}\n ></nv-iconbutton>\n </div>\n )}\n\n {/* If multiple calendars, display the right button only on the last calendar */}\n {this.numberOfCalendars > 1 && index === this.numberOfCalendars - 1 && (\n <nv-iconbutton\n emphasis=\"lower\"\n name=\"chevron-right\"\n onClick={this.getChangeMonthHandler(1)}\n class=\"nav-right\"\n ></nv-iconbutton>\n )}\n </div>\n );\n };\n\n /**\n * Renders the week numbers\n * @param {Array<{date: Date}>} weeks - Weeks to render\n * @param {number} index - Calendar index\n * @returns {JSX.Element} Week numbers\n * @description Renders the week numbers of the calendar\n */\n private renderWeekNumbers = (\n /** Weeks to render */\n weeks: Array<{\n /** Date */\n date: Date;\n }>[],\n /** Calendar index */\n index: number,\n ) => {\n return (\n <div class=\"week-numbers\">\n <div class=\"week-header\">{this.getLocalizedWeekText()}</div>\n {weeks.map((week, weekIndex) => {\n const dates = week.map(d => d.date);\n return (\n <div\n class={`week-number ${\n this.selectionType === 'range' ? 'clickable' : ''\n }`}\n onClick={this.getWeekSelectionHandler(dates, index)}\n key={`week-${weekIndex}`}\n >\n {getWeekNumber(week.find(d => d.date)?.date || new Date())}\n </div>\n );\n })}\n </div>\n );\n };\n\n private renderDaysGrid = (\n /** Days to render */\n days: Array<{\n /** Date */\n date: Date;\n /** If the day belongs to the current month */\n isCurrentMonth: boolean;\n /** If the day is disabled */\n isDisabled: boolean;\n /** Day of the month (1 to 31) */\n dayOfMonth: number;\n }>,\n ) => {\n return (\n <div class=\"days-grid\">\n {days.map(day => {\n const date = day.date;\n if (!date) return null;\n\n const isSelected =\n this.selectionType === 'single' &&\n isSameDate(date, this.selectedDate, { isUTCMode: this.isUTCMode });\n const isInRange = this.isDateInRange(date);\n const isStart = isSameDate(date, this.startDate, {\n isUTCMode: this.isUTCMode,\n });\n const isEnd = isSameDate(date, this.endDate, {\n isUTCMode: this.isUTCMode,\n });\n const isToday = this.isToday(date);\n const isOutsideMonth = !day.isCurrentMonth;\n\n const dayClasses = [\n 'day',\n isSelected ? 'selected' : '',\n isStart ? 'range-start' : '',\n isEnd ? 'range-end' : '',\n isInRange ? 'in-range' : '',\n day.isDisabled ? 'disabled' : '',\n isOutsideMonth ? 'outside-month' : '',\n isToday ? 'is-today' : '',\n ];\n\n return (\n <div\n class={dayClasses.filter(Boolean).join(' ')}\n onClick={this.getDayClickHandler(date, day.isDisabled)}\n aria-disabled={day.isDisabled}\n key={`day-${date.toISOString()}`}\n >\n {day.dayOfMonth}\n </div>\n );\n })}\n </div>\n );\n };\n\n /**\n * Renders the calendar\n * @param {number} index - Calendar index\n * @param {number} offset - Month offset\n * @returns {JSX.Element} Calendar\n * @description Renders the calendar of the calendar\n */\n private renderCalendar = (\n /** Calendar index */\n index: number,\n /** Month offset */\n offset: number,\n ) => {\n const days = this.getDaysInMonth(offset, this.numberOfCalendars);\n const weeks = [];\n for (let i = 0; i < days.length; i += 7) {\n weeks.push(days.slice(i, i + 7));\n }\n\n return (\n <div class=\"calendar-wrapper\">\n <div class=\"calendar-container\" key={`calendar-${index}`}>\n {this.renderHeader(offset, index)}\n <div class=\"calendar-grid\">\n {this.showWeekNumbers && this.renderWeekNumbers(weeks, index)}\n <div class=\"days-container\">\n <div class=\"days-header\">\n {this.getDayNames().map(day => (\n <div class=\"day-header\">{day}</div>\n ))}\n </div>\n {this.renderDaysGrid(days)}\n </div>\n </div>\n </div>\n\n {/* Display a vertical separator only if multiple calendars */}\n {index < this.numberOfCalendars - 1 && (\n <div class=\"calendar-separator\"></div>\n )}\n </div>\n );\n };\n\n /**\n * Renders the shortcuts\n * @returns {JSX.Element} Shortcuts\n * @description Renders the shortcuts of the calendar\n */\n private renderShortcuts = () => {\n if (!this.hasShortcuts) {\n return null;\n }\n\n return (\n <div\n class={`shortcuts-container shortcuts-placement-${this.shortcutsPlacement}`}\n >\n {this.shortcuts.map(shortcut => (\n <nv-button\n emphasis=\"lower\"\n size=\"xs\"\n aria-label={shortcut.label}\n onClick={this.getShortcutHandler(shortcut)}\n >\n {shortcut.label}\n </nv-button>\n ))}\n </div>\n );\n };\n\n /**\n * Renders the actions\n * @returns {JSX.Element} Actions\n * @description Renders the actions of the calendar\n * @slot actions - Child content of the component.\n */\n private renderActions = () => {\n return (\n <div class=\"datepicker-actions\">\n <slot name=\"actions\">\n <nv-button emphasis=\"low\" size=\"xs\" onClick={this.resetSelection}>\n Cancel\n </nv-button>\n <nv-button size=\"xs\" onClick={this.confirmSelection}>\n OK\n </nv-button>\n </slot>\n </div>\n );\n };\n\n /**\n * Renders the datepicker\n * @returns {JSX.Element} Datepicker\n * @description Renders the datepicker of the calendar\n * @slot default - Child content of the component.\n */\n render() {\n return (\n <Host>\n <div class=\"datepicker-root\">\n <div\n class={`datepicker-container ${\n this.numberOfCalendars === 1 ? 'datepicker-container-single' : ''\n }`}\n >\n <div\n class={`datepicker-wrapper ${\n this.numberOfCalendars === 1 ? 'single' : ''\n }`}\n >\n {this.shortcutsPlacement === 'left' && this.renderShortcuts()}\n\n {Array.from({ length: this.numberOfCalendars }, (_, index) =>\n this.renderCalendar(index, index),\n )}\n\n {this.shortcutsPlacement === 'right' && this.renderShortcuts()}\n </div>\n\n {((this.hasShortcuts && this.shortcutsPlacement === 'bottom') ||\n this.hasActions) && (\n <div class=\"datepicker-controls\">\n {this.shortcutsPlacement === 'bottom' && this.renderShortcuts()}\n {this.hasActions && this.renderActions()}\n </div>\n )}\n </div>\n </div>\n <slot></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,c as t,h as r,a as n,g as i}from"./p-ab002252.js";import{I as a}from"./p-53aa81dd.js";import{v as o}from"./p-f5ff676c.js";import"./p-0462f723.js";const d='nv-fielddaterange{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box;max-width:480px}nv-fielddaterange[fluid]:not([fluid=false]){max-width:unset}nv-fielddaterange[readonly]:not([readonly=false]){--nv-field-border-default:var(--components-form-field-border-readonly);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-background:var(--components-form-field-background-readonly)}nv-fielddaterange[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive)}nv-fielddaterange[success]:not([success=false]){--nv-field-border-default:var(--components-form-field-border-success);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-success)}nv-fielddaterange[required]:not([required=false]) label::after{content:"*";color:var(--components-form-text-required);font-weight:700}nv-fielddaterange label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:500;line-height:var(--form-label-line-height)}nv-fielddaterange nv-popover{width:100%;display:block}nv-fielddaterange nv-popover [data-scope=popover]{padding:0;background-color:var(--components-list-dropdown-background);border:1px solid var(--components-list-dropdown-border);width:auto}nv-fielddaterange nv-popover [slot=content]{display:block;width:100%}nv-fielddaterange .input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch;display:flex;align-items:center;gap:8px}nv-fielddaterange .input-wrapper .input-container{display:flex;flex-grow:1;justify-content:center;align-items:center;align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default, 1);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fielddaterange .input-wrapper .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fielddaterange .input-wrapper .input-container:focus-within,nv-fielddaterange .input-wrapper .input-container:focus-within:hover,nv-fielddaterange .input-wrapper .input-container:focus,nv-fielddaterange .input-wrapper .input-container:focus:hover{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fielddaterange .input-wrapper .input-container:has(input:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fielddaterange .input-wrapper .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fielddaterange .input-wrapper .input-container input{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);padding:var(--form-field-padding-y) var(--form-field-padding-x);font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height);width:100%;width:100%}nv-fielddaterange .input-wrapper .input-container input:focus{outline:none}nv-fielddaterange .input-wrapper .input-container input::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:"TT Norms Pro", sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:400;line-height:var(--form-field-line-height)}nv-fielddaterange .input-wrapper .input-container>nv-iconbutton{border:0px;border-radius:0px}nv-fielddaterange .input-wrapper .input-container>nv-iconbutton:focus-visible{border-radius:var(--button-md-border-radius);outline-offset:-3px}nv-fielddaterange .input-wrapper .input-container nv-icon.validation{color:var(--nv-field-border-default)}nv-fielddaterange .description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fielddaterange .error-description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}nv-fielddaterange .range-inputs{display:flex;align-items:center;gap:8px}nv-fielddaterange .range-inputs input{flex:1;border:none;outline:none;padding:0;font-size:var(--form-field-font-size);color:var(--components-form-field-content-text);background:transparent;min-width:0;text-align:center}nv-fielddaterange .range-inputs input::placeholder{color:var(--components-form-field-content-placeholder)}nv-fielddaterange .range-inputs input:disabled{cursor:not-allowed;color:var(--components-form-field-content-text);background-color:var(--components-form-field-background-disabled)}';const s=d;const l=class{constructor(r){e(this,r);this.dateRangeChange=t(this,"dateRangeChange",7);this.popoverId=o();this.startInputId=o();this.endInputId=o();this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.success=false;this.autofocus=false;this.value="";this.startValue="";this.endValue="";this.open=false;this.firstDayOfWeek=1;this.numberOfCalendars=2;this.min="";this.max="";this.locale="en-BE";this.dateFormat="YYYY-MM-DD";this.shortcutsPlacement="bottom";this.showActions=false;this.fluid=false;this.handleClickOutside=e=>{if(this.open&&this.el&&!this.el.contains(e.target)){this.open=false}};this.handleStartInput=e=>{if(this.readonly||this.disabled){e.preventDefault();return}const t=e.target;this.startValue=t.value;this.dateRangeChange.emit({start:t.value,end:this.endValue});this.updateCalendarValue()};this.handleEndInput=e=>{if(this.readonly||this.disabled){e.preventDefault();return}const t=e.target;this.endValue=t.value;this.dateRangeChange.emit({start:this.startValue,end:t.value});this.updateCalendarValue()};this.handleFocus=e=>{if(this.readonly||this.disabled){e.preventDefault();e.target.blur();return}this.open=true};this.toggleCalendar=()=>{if(this.readonly||this.disabled){return}this.open=!this.open}}convertToInputmaskFormat(e){if(!e){return"dd/mm/yyyy"}const t={"YYYY-MM-DD":"yyyy-mm-dd","DD/MM/YYYY":"dd/mm/yyyy","MM/DD/YYYY":"mm/dd/yyyy","DD.MM.YYYY":"dd.mm.yyyy",YYYYMMDD:"yyyymmdd"};return t[e]||"dd/mm/yyyy"}updateCalendarValue(){const e=this.el.querySelector("nv-calendar");if(e&&this.startValue&&this.endValue){e.rangeValue={start:this.startValue,end:this.endValue}}}connectedCallback(){document.addEventListener("click",this.handleClickOutside)}componentWillLoad(){if(this.value){try{const e=JSON.parse(this.value);this.startValue=e.start||"";this.endValue=e.end||""}catch(e){console.error("Invalid JSON for value:");console.error(e)}}}componentDidLoad(){const e=this.el.querySelectorAll(".input-wrapper input");e.forEach((e=>{const t=new a({alias:"datetime",inputFormat:this.convertToInputmaskFormat(this.dateFormat),placeholder:"_",clearIncomplete:false,showMaskOnHover:false,showMaskOnFocus:false,clearMaskOnLostFocus:false,insertMode:true,rightAlign:false,oncomplete:function(e){const t=e.target;const r=new CustomEvent("input",{bubbles:true});t.dispatchEvent(r)}});t.mask(e);if(e.name===this.startName&&this.startValue){requestAnimationFrame((()=>{e.value=this.startValue;const t=new CustomEvent("input",{bubbles:true});e.dispatchEvent(t)}))}else if(e.name===this.endName&&this.endValue){requestAnimationFrame((()=>{e.value=this.endValue;const t=new CustomEvent("input",{bubbles:true});e.dispatchEvent(t)}))}}))}componentDidRender(){const e=this.el.querySelectorAll(".input-wrapper input");e.forEach((e=>{const t=e.name===this.startName?this.startValue:this.endName?this.endValue:"";if(t){requestAnimationFrame((()=>{e.value=t;e.setAttribute("value",t)}))}}))}disconnectedCallback(){document.removeEventListener("click",this.handleClickOutside)}handleRangeDateChange(e){const{start:t,end:r}=e.detail||{};if(t&&r){this.startValue=t;this.endValue=r;this.dateRangeChange.emit({start:this.startValue,end:this.endValue});if(!this.showActions){this.open=false}}}handleClosePopover(){this.open=false}handleApplyDateRange(){this.open=false}handleKeyDown(e){if(!this.open){if(e.key==="ArrowDown"){this.open=true;e.preventDefault();return}return}if(!this.popoverElement){console.warn("nv-fielddaterange -> Popover element is not defined");return}}handleValueChange(e){try{const t=JSON.parse(e);this.startValue=t.start||"";this.endValue=t.end||""}catch(e){console.error("Invalid JSON for value:",e)}}render(){return r(n,{key:"9a86c3e67127ffdbfd67bf3d1ed7231ff1953c20"},(this.label&&this.label.length>0||this.el.querySelector('[slot="label"]'))&&r("label",{key:"2e289da417fe9056d7a411382d8cf7413a2584f7",htmlFor:this.startInputId},r("slot",{key:"dded9fc8dc9ee2bc37547daf4d72c51ff6fa05b4",name:"label"},this.label)),r("nv-popover",{key:"a683217e7c21aa85091656f6e88834a6f1ba9d2b",ref:e=>this.popoverElement=e,id:this.popoverId,triggerMode:"controlled",placement:"bottom-start",open:this.open},r("div",{key:"659a3bdc6f008c3b38cdbac18727a2c44d81ca30",slot:"trigger",class:"input-wrapper"},r("slot",{key:"127890f146a8c959fb48b86e05991984c1d48cdb",name:"before-input"}),r("div",{key:"244b4809da40407e2fe6b80b51236277deb92233",class:"input-container"},r("slot",{key:"7098d56dc45d7aa20995c412910463485559bc60",name:"leading-input"}),r("div",{key:"dae09fc6e139301d1de4378fbee3e3e98b17ee56",class:"range-inputs"},r("input",{key:"5fd4543e2ce1fbd157d80a8ad1e9ddba2d907b84",id:this.startInputId,type:"text",placeholder:this.startPlaceholder,name:this.startName,disabled:this.disabled,readOnly:this.readonly,required:this.required,autofocus:this.autofocus,value:this.startValue,onInput:this.handleStartInput,onFocus:this.handleFocus,"data-scope":"date-range"}),r("svg",{key:"1e8bd37b3cb4a7755ab79603baf359f1710a133e",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"icon icon-tabler icons-tabler-outline icon-tabler-arrows-move-horizontal"},r("path",{key:"a2d7c5e4ecd18264625b7a23bee25f079e74bd68",stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),r("path",{key:"3aae4cbe301f41b5f4baddf97763c6e25990d8f0",d:"M18 9l3 3l-3 3"}),r("path",{key:"e7d2051a2cfb213943284b1344ab2410367a94cf",d:"M15 12h6"}),r("path",{key:"5a010518ec9fa67a9cd57fddfde943e0b1e1bc87",d:"M6 9l-3 3l3 3"}),r("path",{key:"d306b27327ffb3d3e2f56183eff389c5dfab9a74",d:"M3 12h6"})),r("input",{key:"21db190063ebbba0952d0a505ed50b30f5990022",id:this.endInputId,type:"text",placeholder:this.endPlaceholder,name:this.endName,disabled:this.disabled,readOnly:this.readonly,required:this.required,value:this.endValue,onInput:this.handleEndInput,onFocus:this.handleFocus,"data-scope":"date-range"})),this.error&&r("nv-icon",{key:"9e13cae015f7514fffc1f300417c9b2ce8821834",name:"alert-circle",class:"validation",size:"md"}),this.success&&r("nv-icon",{key:"437d6a83af2b88feb9aac140bf5fd24d40fd4737",name:"circle-check",class:"validation",size:"md"}),r("nv-iconbutton",{key:"1e601ef8c2fd9017bc2ae7b2a5aee16bcb3f8484",class:"toggle-calendar-icon",name:"calendar",size:"md",emphasis:"lower","aria-label":this.open?"Hide calendar":"Show calendar","aria-pressed":this.open.toString(),onClick:this.toggleCalendar,tabIndex:this.disabled?-1:0})),r("slot",{key:"03f8321ba62c537d6f0ed57a787d637deebc13ad",name:"after-input"})),r("div",{key:"02f20014c5ea3220f89e1789330b4b75f14a929e",slot:"content"},r("nv-calendar",{key:"94d69454bdb2d86252ac809bd6d3bbfa38ff5059",dateFormat:this.dateFormat,rangeValue:this.startValue&&this.endValue?{start:this.startValue,end:this.endValue}:null,firstDayOfWeek:this.firstDayOfWeek,numberOfCalendars:this.numberOfCalendars,min:this.min,max:this.max,locale:this.locale,shortcutsPlacement:this.shortcutsPlacement,showActions:this.showActions,shortcuts:this.shortcuts,showWeekNumbers:this.showWeekNumbers,disabledDates:this.disabledDates,selectionType:"range"}))),(this.description&&this.description.length>0||this.el.querySelector('[slot="description"]'))&&r("div",{key:"af16ac5b05633198fcd91f4ad1513b981ceca4db",class:"description"},r("slot",{key:"affaa713de178e9d8e8d4e9b210166a9502f5685",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&r("div",{key:"5dfb1d255607efdb7290ffaace2ce18eedf1f123",hidden:!this.error,class:"error-description"},this.el.querySelector('[slot="error-description"]')?r("slot",{name:"error-description"}):this.errorDescription),r("slot",{key:"89a4cef668960f0e205916142b6cb192e18cab4c"}))}get el(){return i(this)}static get watchers(){return{value:["handleValueChange"]}}};l.style=s;export{l as nv_fielddaterange};
2
- //# sourceMappingURL=p-7eba904e.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["nvFielddaterangeCss","NvFielddaterangeStyle0","NvFielddaterange","constructor","hostRef","this","popoverId","uuidv4","startInputId","endInputId","disabled","readonly","required","error","success","autofocus","value","startValue","endValue","open","firstDayOfWeek","numberOfCalendars","min","max","locale","dateFormat","shortcutsPlacement","showActions","fluid","handleClickOutside","event","el","contains","target","handleStartInput","preventDefault","input","dateRangeChange","emit","start","end","updateCalendarValue","handleEndInput","handleFocus","blur","toggleCalendar","convertToInputmaskFormat","format","formatMap","YYYYMMDD","calendar","querySelector","rangeValue","connectedCallback","document","addEventListener","componentWillLoad","range","JSON","parse","console","componentDidLoad","inputs","querySelectorAll","forEach","inputMask","Inputmask","alias","inputFormat","placeholder","clearIncomplete","showMaskOnHover","showMaskOnFocus","clearMaskOnLostFocus","insertMode","rightAlign","oncomplete","e","CustomEvent","bubbles","dispatchEvent","mask","name","startName","requestAnimationFrame","endName","componentDidRender","setAttribute","disconnectedCallback","removeEventListener","handleRangeDateChange","detail","handleClosePopover","handleApplyDateRange","handleKeyDown","key","popoverElement","warn","handleValueChange","newValue","render","h","Host","label","length","htmlFor","ref","id","triggerMode","placement","slot","class","type","startPlaceholder","readOnly","onInput","onFocus","xmlns","width","height","viewBox","fill","stroke","d","endPlaceholder","size","emphasis","toString","onClick","tabIndex","shortcuts","showWeekNumbers","disabledDates","selectionType","description","errorDescription","hidden"],"sources":["src/components/nv-fielddaterange/styles/nv-fielddaterange.scss?tag=nv-fielddaterange","src/components/nv-fielddaterange/nv-fielddaterange.tsx"],"sourcesContent":["@import '../../../styles/form-field';\n\nnv-fielddaterange {\n @include form-field-variables();\n @include form-field-root();\n\n &[fluid]:not([fluid=\"false\"]) {\n @include form-field-fluid();\n }\n\n &[readonly]:not([readonly='false']) {\n @include form-field-readonly-variables();\n }\n\n &[error]:not([error='false']) {\n @include form-field-error-variables();\n }\n\n &[success]:not([success='false']) {\n @include form-field-success-variables();\n }\n\n &[required]:not([required='false']) label {\n @include form-field-label-required();\n }\n\n label {\n @include form-field-label();\n }\n\n nv-popover {\n width: 100%;\n display: block;\n\n [data-scope='popover'] {\n padding: 0;\n background-color: var(--components-list-dropdown-background);\n border: 1px solid var(--components-list-dropdown-border);\n width: auto;\n }\n\n [slot='content'] {\n display: block;\n width: 100%;\n }\n }\n\n .input-wrapper {\n @include form-field-input-wrapper();\n display: flex;\n align-items: center;\n gap: 8px;\n\n .input-container {\n @include form-field-input-container();\n\n input {\n @include form-field-input();\n width: 100%;\n }\n\n > nv-iconbutton {\n @include form-field-action();\n }\n\n nv-icon.validation {\n @include form-field-icon();\n }\n }\n }\n\n .description {\n @include form-field-description();\n }\n\n .error-description {\n @include form-field-error-description();\n }\n\n .range-inputs {\n display: flex;\n align-items: center;\n gap: 8px;\n\n input {\n flex: 1;\n border: none;\n outline: none;\n padding: 0;\n font-size: var(--form-field-font-size);\n color: var(--components-form-field-content-text);\n background: transparent;\n min-width: 0; // to avoid overflow\n text-align: center;\n\n &::placeholder {\n color: var(--components-form-field-content-placeholder);\n }\n\n &:disabled {\n cursor: not-allowed;\n color: var(--components-form-field-content-text);\n background-color: var(--components-form-field-background-disabled);\n }\n }\n }\n}\n","import {\n Component,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n Listen,\n Host,\n Watch,\n} from '@stencil/core';\nimport Inputmask from 'inputmask';\nimport { v4 as uuidv4 } from 'uuid';\n\n/**\n * @slot default - Child content of the component.\n * @slot leading-input - Content to be placed before the input text, within the input container.\n * @slot before-input - Content to be placed before the input text, outside the input container.\n * @slot after-input - Content to be placed after the input text, outside the input container.\n * @slot label - Content to be placed as the label, will override the label prop.\n * @slot description - Content to be placed as the description, will override the description prop.\n * @slot error-description - Content to be placed as the error description, will override the errorDescription prop.\n */\n@Component({\n tag: 'nv-fielddaterange',\n styleUrl: 'styles/nv-fielddaterange.scss',\n shadow: false,\n})\nexport class NvFielddaterange {\n @Element() el!: HTMLNvFielddaterangeElement;\n private popoverElement!: HTMLNvPopoverElement;\n private popoverId: string = uuidv4();\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the ID for the start input element and the for attribute of the associated\n * label. If no ID is provided, a random one will be automatically generated.\n */\n @Prop({ reflect: true })\n readonly startInputId: string = uuidv4();\n\n /**\n * Sets the ID for the end input element and the for attribute of the associated\n * label. If no ID is provided, a random one will be automatically generated.\n */\n @Prop({ reflect: true })\n readonly endInputId: string = uuidv4();\n\n /**\n * Text displayed as label. A slot label can override this prop.\n */\n @Prop({ reflect: true })\n readonly label: string;\n\n /**\n * Description displayed below the input. A slot description can override this prop.\n */\n @Prop({ reflect: true })\n readonly description: string;\n\n /**\n * Placeholder for the start input field.\n */\n @Prop({ reflect: true })\n readonly startPlaceholder: string;\n\n /**\n * Placeholder for the end input field.\n */\n @Prop({ reflect: true })\n readonly endPlaceholder: string;\n\n /**\n * Name attribute for the start input.\n */\n @Prop({ reflect: true })\n readonly startName: string;\n\n /**\n * Name attribute for the end input.\n */\n @Prop({ reflect: true })\n readonly endName: string;\n\n /**\n * Disables both input fields.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Sets both input fields as read-only.\n */\n @Prop({ reflect: true })\n readonly readonly: boolean = false;\n\n /**\n * Marks both input fields as required.\n */\n @Prop({ reflect: true })\n readonly required: boolean = false;\n\n /**\n * Indicates an error state.\n */\n @Prop({ reflect: true })\n readonly error: boolean = false;\n\n /**\n * Error description. A slot error-description can override this prop.\n */\n @Prop({ reflect: true })\n readonly errorDescription?: string;\n\n /**\n * Indicates a success state.\n */\n @Prop({ reflect: true })\n readonly success: boolean = false;\n\n /**\n * Autofocus the start input when the component is mounted.\n */\n @Prop({ reflect: true })\n // eslint-disable-next-line @stencil-community/reserved-member-names\n readonly autofocus: boolean = false;\n\n /**\n * The initial value of the date range (in string format).\n */\n @Prop({ reflect: true })\n readonly value: string = '';\n\n /**\n * The current value of the start date in string format.\n */\n @State()\n startValue: string = '';\n\n /**\n * The current value of the end date in string format.\n */\n @State()\n endValue: string = '';\n\n /**\n * Controls the opening of the popover.\n */\n @State()\n open: boolean = false;\n\n /**\n * First day of the week 0 = Sunday, 1 = Monday, etc.\n * @default 1\n */\n @Prop({ reflect: true })\n readonly firstDayOfWeek: number = 1;\n\n /**\n * Number of calendars to display\n * @default 2\n */\n @Prop({ reflect: true })\n readonly numberOfCalendars: number = 2;\n\n /**\n * Minimum date for selection ISO string format, ex: 2025-01-01\n */\n @Prop({ reflect: true })\n readonly min?: string = '';\n\n /**\n * Maximum date for selection ISO string format, ex: 2025-12-31\n */\n @Prop({ reflect: true })\n readonly max?: string = '';\n\n /** Locale for date formatting\n * @default 'en-BE'\n */\n @Prop({ reflect: true })\n readonly locale: string = 'en-BE';\n\n /** Date format ex: YYYY-MM-DD, DD-MM-YYYY, etc.\n * @default 'YYYY-MM-DD'\n */\n @Prop({ reflect: true })\n readonly dateFormat: string = 'YYYY-MM-DD';\n\n /**\n * Footer placement\n * @default 'bottom'\n */\n @Prop({ reflect: true })\n readonly shortcutsPlacement: 'bottom' | 'left' | 'right' = 'bottom';\n\n /**\n * Show action buttons\n * @default false\n */\n @Prop({ reflect: true })\n readonly showActions: boolean = false;\n\n /**\n * Custom actions to display in the footer\n */\n @Prop({ reflect: true })\n readonly shortcuts: HTMLNvCalendarElement['shortcuts'];\n\n /**\n * Show week numbers\n */\n @Prop({ reflect: true })\n readonly showWeekNumbers: boolean;\n\n /**\n * Disabled dates ISO string array\n */\n @Prop({ reflect: true })\n readonly disabledDates: Array<string>;\n\n /**\n * Allows the field to stretch and fill the entire width of its container.\n */\n @Prop({ reflect: true })\n readonly fluid: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Converts the nv-calendar date format to the format expected by Inputmask.\n * @param {string} format - The date format to convert\n * @returns {string} The converted format for Inputmask\n */\n private convertToInputmaskFormat(format: string): string {\n // If the format is not specified, use the default format YYYY-MM-DD\n if (!format) {\n return 'dd/mm/yyyy';\n }\n\n const formatMap = {\n 'YYYY-MM-DD': 'yyyy-mm-dd',\n 'DD/MM/YYYY': 'dd/mm/yyyy',\n 'MM/DD/YYYY': 'mm/dd/yyyy',\n 'DD.MM.YYYY': 'dd.mm.yyyy',\n 'YYYYMMDD': 'yyyymmdd',\n };\n\n return formatMap[format] || 'dd/mm/yyyy';\n }\n\n /**\n * Closes the popover when a click is detected outside the component.\n * @param {MouseEvent} event - The mouse event\n */\n private handleClickOutside = (event: MouseEvent) => {\n if (this.open && this.el && !this.el.contains(event.target as Node)) {\n this.open = false;\n }\n };\n\n /**\n * Handles the input event on the start input element.\n * @param {Event} event - The input event\n */\n private handleStartInput = (event: Event) => {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n return;\n }\n const input = event.target as HTMLInputElement;\n this.startValue = input.value;\n this.dateRangeChange.emit({ start: input.value, end: this.endValue });\n this.updateCalendarValue();\n };\n\n /**\n * Handles the input event on the end input element.\n * @param {Event} event - The input event\n */\n private handleEndInput = (event: Event) => {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n return;\n }\n const input = event.target as HTMLInputElement;\n this.endValue = input.value;\n this.dateRangeChange.emit({ start: this.startValue, end: input.value });\n this.updateCalendarValue();\n };\n\n /**\n * Update the calendar's rangeValue property\n */\n private updateCalendarValue() {\n const calendar = this.el.querySelector(\n 'nv-calendar',\n ) as HTMLNvCalendarElement;\n if (calendar && this.startValue && this.endValue) {\n calendar.rangeValue = {\n start: this.startValue,\n end: this.endValue,\n };\n }\n }\n\n /**\n * Handles focus events on the input elements.\n * @param {FocusEvent} event - The focus event\n */\n private handleFocus = (event: FocusEvent) => {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n (event.target as HTMLElement).blur();\n return;\n }\n\n // Open the popover when an input is focused\n this.open = true;\n };\n\n /**\n * Toggles the opening/closing of the popover.\n */\n private toggleCalendar = () => {\n if (this.readonly || this.disabled) {\n return;\n }\n this.open = !this.open;\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n connectedCallback() {\n document.addEventListener('click', this.handleClickOutside);\n }\n\n componentWillLoad() {\n if (this.value) {\n try {\n const range = JSON.parse(\n this.value,\n ) as HTMLNvCalendarElement['rangeValue'];\n this.startValue = range.start || '';\n this.endValue = range.end || '';\n } catch (error) {\n console.error('Invalid JSON for value:');\n console.error(error);\n }\n }\n }\n\n componentDidLoad() {\n const inputs = this.el.querySelectorAll('.input-wrapper input');\n inputs.forEach((input: HTMLInputElement) => {\n const inputMask = new Inputmask({\n alias: 'datetime',\n inputFormat: this.convertToInputmaskFormat(this.dateFormat),\n placeholder: '_',\n clearIncomplete: false,\n showMaskOnHover: false,\n showMaskOnFocus: false,\n clearMaskOnLostFocus: false,\n insertMode: true,\n rightAlign: false,\n oncomplete: function (e) {\n const input = e.target as HTMLInputElement;\n const event = new CustomEvent('input', { bubbles: true });\n input.dispatchEvent(event);\n },\n });\n inputMask.mask(input);\n\n // Set the value after applying the mask\n if (input.name === this.startName && this.startValue) {\n requestAnimationFrame(() => {\n input.value = this.startValue;\n const event = new CustomEvent('input', { bubbles: true });\n input.dispatchEvent(event);\n });\n } else if (input.name === this.endName && this.endValue) {\n requestAnimationFrame(() => {\n input.value = this.endValue;\n const event = new CustomEvent('input', { bubbles: true });\n input.dispatchEvent(event);\n });\n }\n });\n }\n\n componentDidRender() {\n const inputs = this.el.querySelectorAll('.input-wrapper input');\n inputs.forEach((input: HTMLInputElement) => {\n const value =\n input.name === this.startName\n ? this.startValue\n : this.endName\n ? this.endValue\n : '';\n if (value) {\n // Make sure the value is defined both as a property and attribute\n requestAnimationFrame(() => {\n input.value = value;\n input.setAttribute('value', value);\n });\n }\n });\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.handleClickOutside);\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emits an event when the date range changes.\n */\n @Event()\n dateRangeChange: EventEmitter<\n HTMLNvCalendarElementEventMap['rangeDateChange']\n >;\n\n /**\n * Handles the range date selection event from nv-calendar.\n * @param {CustomEvent<DateRange>} event - The custom event\n */\n @Listen('rangeDateChange')\n handleRangeDateChange(\n event: CustomEvent<HTMLNvCalendarElementEventMap['rangeDateChange']>,\n ) {\n const { start, end } = event.detail || {};\n\n // Check that both dates are defined\n if (start && end) {\n this.startValue = start;\n this.endValue = end;\n this.dateRangeChange.emit({\n start: this.startValue,\n end: this.endValue,\n });\n\n if (!this.showActions) {\n this.open = false;\n }\n }\n }\n\n @Listen('closePopover')\n handleClosePopover() {\n this.open = false;\n }\n\n @Listen('applyDateRange')\n handleApplyDateRange() {\n this.open = false;\n }\n\n /**\n * Handles keyboard events.\n * @param {KeyboardEvent} event - The keyboard event\n */\n @Listen('keydown', { passive: false })\n handleKeyDown(event: KeyboardEvent) {\n if (!this.open) {\n if (event.key === 'ArrowDown') {\n this.open = true;\n event.preventDefault();\n return;\n }\n return;\n }\n\n if (!this.popoverElement) {\n console.warn('nv-fielddaterange -> Popover element is not defined');\n return;\n }\n }\n\n @Watch('value')\n handleValueChange(newValue: string) {\n try {\n const range = JSON.parse(newValue) as HTMLNvCalendarElement['rangeValue'];\n this.startValue = range.start || '';\n this.endValue = range.end || '';\n } catch (error) {\n console.error('Invalid JSON for value:', error);\n }\n }\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n {((this.label && this.label.length > 0) ||\n this.el.querySelector('[slot=\"label\"]')) && (\n <label htmlFor={this.startInputId}>\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n\n <nv-popover\n ref={el => (this.popoverElement = el as HTMLNvPopoverElement)}\n id={this.popoverId}\n triggerMode=\"controlled\"\n placement=\"bottom-start\"\n open={this.open}\n >\n <div slot=\"trigger\" class=\"input-wrapper\">\n <slot name=\"before-input\"></slot>\n\n <div class=\"input-container\">\n <slot name=\"leading-input\"></slot>\n\n <div class=\"range-inputs\">\n <input\n id={this.startInputId}\n type=\"text\"\n placeholder={this.startPlaceholder}\n name={this.startName}\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n autofocus={this.autofocus}\n value={this.startValue}\n onInput={this.handleStartInput}\n onFocus={this.handleFocus}\n data-scope=\"date-range\"\n />\n\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"icon icon-tabler icons-tabler-outline icon-tabler-arrows-move-horizontal\"\n >\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M18 9l3 3l-3 3\" />\n <path d=\"M15 12h6\" />\n <path d=\"M6 9l-3 3l3 3\" />\n <path d=\"M3 12h6\" />\n </svg>\n\n <input\n id={this.endInputId}\n type=\"text\"\n placeholder={this.endPlaceholder}\n name={this.endName}\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n value={this.endValue}\n onInput={this.handleEndInput}\n onFocus={this.handleFocus}\n data-scope=\"date-range\"\n />\n </div>\n\n {this.error && (\n <nv-icon name=\"alert-circle\" class=\"validation\" size=\"md\" />\n )}\n {this.success && (\n <nv-icon name=\"circle-check\" class=\"validation\" size=\"md\" />\n )}\n\n <nv-iconbutton\n class=\"toggle-calendar-icon\"\n name=\"calendar\"\n size=\"md\"\n emphasis=\"lower\"\n aria-label={this.open ? 'Hide calendar' : 'Show calendar'}\n aria-pressed={this.open.toString()}\n onClick={this.toggleCalendar}\n tabIndex={this.disabled ? -1 : 0}\n />\n </div>\n\n <slot name=\"after-input\"></slot>\n </div>\n\n <div slot=\"content\">\n <nv-calendar\n dateFormat={this.dateFormat}\n rangeValue={\n this.startValue && this.endValue\n ? {\n start: this.startValue,\n end: this.endValue,\n }\n : null\n }\n firstDayOfWeek={this.firstDayOfWeek}\n numberOfCalendars={this.numberOfCalendars}\n min={this.min}\n max={this.max}\n locale={this.locale}\n shortcutsPlacement={this.shortcutsPlacement}\n showActions={this.showActions}\n shortcuts={this.shortcuts}\n showWeekNumbers={this.showWeekNumbers}\n disabledDates={this.disabledDates}\n selectionType=\"range\"\n ></nv-calendar>\n </div>\n </nv-popover>\n\n {((this.description && this.description.length > 0) ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n\n {(this.errorDescription ||\n this.el.querySelector('[slot=\"error-description\"]')) && (\n <div hidden={!this.error} class=\"error-description\">\n {this.el.querySelector('[slot=\"error-description\"]') ? (\n <slot name=\"error-description\"></slot>\n ) : (\n this.errorDescription\n )}\n </div>\n )}\n\n <slot></slot>\n </Host>\n );\n }\n //#endregion RENDER\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,h as a,a as b}from"./p-ab002252.js";const c=class{constructor(a){e(this,a);this.repeatTemplate=false}render(){return a(b,{key:"20839d4a0abfa07e55a49b434ad26e3ddaebb66b"},a("slot",{key:"2c1b24aef73e9be8e500d48741e4dc6a42ed6f06",name:"header"}),a("slot",{key:"cbc4bcbb080f8647c6f702e4a52411fe9be1f6ca",name:"cell"}))}};export{c as nv_datagridcolumn};
2
- //# sourceMappingURL=p-9135fdf5.entry.js.map
@@ -1,3 +0,0 @@
1
- const e="native";const t={allRenderFn:true,appendChildSlotFix:true,asyncLoading:true,asyncQueue:false,attachStyles:true,cloneNodeFix:true,constructableCSS:true,cssAnnotations:true,devTools:false,element:false,event:true,experimentalScopedSlotChanges:true,experimentalSlotFixes:true,formAssociated:true,hasRenderFn:true,hostListener:true,hostListenerTarget:true,hostListenerTargetBody:false,hostListenerTargetDocument:true,hostListenerTargetParent:false,hostListenerTargetWindow:false,hotModuleReplacement:false,hydrateClientSide:true,hydrateServerSide:false,hydratedAttribute:false,hydratedClass:true,hydratedSelectorName:"hydrated",initializeNextTick:false,invisiblePrehydration:true,isDebug:false,isDev:false,isTesting:false,lazyLoad:true,lifecycle:true,lifecycleDOMEvents:false,member:true,method:true,mode:false,modernPropertyDecls:false,observeAttribute:true,profile:false,prop:true,propBoolean:true,propMutable:true,propNumber:true,propString:true,reflect:true,scoped:false,scopedSlotTextContentFix:true,scriptDataOpts:false,shadowDelegatesFocus:false,shadowDom:false,slot:true,slotChildNodesFix:true,slotRelocation:true,state:true,style:true,svg:true,taskQueue:true,transformTagName:false,updatable:true,vdomAttribute:true,vdomClass:true,vdomFunctional:true,vdomKey:true,vdomListener:true,vdomPropOrAttr:true,vdomRef:true,vdomRender:true,vdomStyle:true,vdomText:true,vdomXlink:false,watchCallback:true};var n=Object.defineProperty;var r=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:true})};var i="http://www.w3.org/2000/svg";var l="http://www.w3.org/1999/xhtml";var s=e=>{if(e.__stencil__getHostRef){return e.__stencil__getHostRef()}return void 0};var o=(e,t)=>{e.__stencil__getHostRef=()=>t;t.t=e};var f=(e,t)=>{const n={i:0,$hostElement$:e,l:t,o:new Map};{n.u=new Promise((e=>n.v=e))}{n.h=new Promise((e=>n.p=e));e["s-p"]=[];e["s-rc"]=[]}const r=n;e.__stencil__getHostRef=()=>r;return r};var a=(e,t)=>t in e;var c=(e,t)=>(0,console.error)(e,t);var u=new Map;var v=(e,t,n)=>{const r=e.m.replace(/-/g,"_");const i=e.$;if(!i){return void 0}const l=u.get(i);if(l){return l[r]}
2
- /*!__STENCIL_STATIC_IMPORT_SWITCH__*/return import(`./${i}.entry.js${""}`).then((e=>{{u.set(i,e)}return e[r]}),(e=>{c(e,t.$hostElement$)}))};var d=new Map;var h="r";var p="o";var m="s";var $="t";var b="c";var y="s-id";var g="sty-id";var w="c-id";var S="{visibility:hidden}.hydrated{visibility:inherit}";var O="slot-fb{display:contents}slot-fb[hidden]{display:none}";var j=["formAssociatedCallback","formResetCallback","formDisabledCallback","formStateRestoreCallback"];var C=typeof window!=="undefined"?window:{};var k=C.HTMLElement||class{};var x={i:0,S:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,n,r)=>e.addEventListener(t,n,r),rel:(e,t,n,r)=>e.removeEventListener(t,n,r),ce:(e,t)=>new CustomEvent(e,t)};var N=t.shadowDom;var E=(()=>{var e;let t=false;try{(e=C.document)==null?void 0:e.addEventListener("e",null,Object.defineProperty({},"passive",{get(){t=true}}))}catch(e){}return t})();var T=e=>Promise.resolve(e);var F=(()=>{try{new CSSStyleSheet;return typeof(new CSSStyleSheet).replaceSync==="function"}catch(e){}return false})();var R=false;var L=[];var A=[];var D=(e,t)=>n=>{e.push(n);if(!R){R=true;if(t&&x.i&4){I(P)}else{x.raf(P)}}};var M=e=>{for(let t=0;t<e.length;t++){try{e[t](performance.now())}catch(e){c(e)}}e.length=0};var P=()=>{M(L);{M(A);if(R=L.length>0){x.raf(P)}}};var I=e=>T().then(e);var U=D(A,true);var W=e=>{e=typeof e;return e==="object"||e==="function"};function _(e){var t,n,r;return(r=(n=(t=e.head)==null?void 0:t.querySelector('meta[name="csp-nonce"]'))==null?void 0:n.getAttribute("content"))!=null?r:void 0}var B={};r(B,{err:()=>H,map:()=>Q,ok:()=>z,unwrap:()=>V,unwrapErr:()=>Y});var z=e=>({isOk:true,isErr:false,value:e});var H=e=>({isOk:false,isErr:true,value:e});function Q(e,t){if(e.isOk){const n=t(e.value);if(n instanceof Promise){return n.then((e=>z(e)))}else{return z(n)}}if(e.isErr){const t=e.value;return H(t)}throw"should never get here"}var V=e=>{if(e.isOk){return e.value}else{throw e.value}};var Y=e=>{if(e.isErr){return e.value}else{throw e.value}};var q=e=>{const t=de(e,"childNodes");if(e.tagName&&e.tagName.includes("-")&&e["s-cr"]&&e.tagName!=="SLOT-FB"){K(t,e.tagName).forEach((e=>{if(e.nodeType===1&&e.tagName==="SLOT-FB"){if(X(e,ee(e),false).length){e.hidden=true}else{e.hidden=false}}}))}let n=0;for(n=0;n<t.length;n++){const e=t[n];if(e.nodeType===1&&de(e,"childNodes").length){q(e)}}};var G=e=>{const t=[];for(let n=0;n<e.length;n++){const r=e[n]["s-nr"]||void 0;if(r&&r.isConnected){t.push(r)}}return t};function K(e,t,n){let r=0;let i=[];let l;for(;r<e.length;r++){l=e[r];if(l["s-sr"]&&(!t||l["s-hn"]===t)&&(n===void 0||ee(l)===n)){i.push(l);if(typeof n!=="undefined")return i}i=[...i,...K(l.childNodes,t,n)]}return i}var X=(e,t,n=true)=>{const r=[];if(n&&e["s-sr"]||!e["s-sr"])r.push(e);let i=e;while(i=i.nextSibling){if(ee(i)===t&&(n||!i["s-sr"]))r.push(i)}return r};var J=(e,t)=>{if(e.nodeType===1){if(e.getAttribute("slot")===null&&t===""){return true}if(e.getAttribute("slot")===t){return true}return false}if(e["s-sn"]===t){return true}return t===""};var Z=(e,t,n,r)=>{if(e["s-ol"]&&e["s-ol"].isConnected){return}const i=document.createTextNode("");i["s-nr"]=e;if(!t["s-cr"]||!t["s-cr"].parentNode)return;const l=t["s-cr"].parentNode;const s=n?de(l,"prepend"):de(l,"appendChild");if(typeof r!=="undefined"){i["s-oo"]=r;const e=de(l,"childNodes");const t=[i];e.forEach((e=>{if(e["s-nr"])t.push(e)}));t.sort(((e,t)=>{if(!e["s-oo"]||e["s-oo"]<(t["s-oo"]||0))return-1;else if(!t["s-oo"]||t["s-oo"]<e["s-oo"])return 1;return 0}));t.forEach((e=>s.call(l,e)))}else{s.call(l,i)}e["s-ol"]=i;e["s-sh"]=t["s-hn"]};var ee=e=>typeof e["s-sn"]==="string"?e["s-sn"]:e.nodeType===1&&e.getAttribute("slot")||void 0;function te(e){if(e.assignedElements||e.assignedNodes||!e["s-sr"])return;const t=t=>function(e){const n=[];const r=this["s-sn"];if(e==null?void 0:e.flatten){console.error(`\n Flattening is not supported for Stencil non-shadow slots. \n You can use \`.childNodes\` to nested slot fallback content.\n If you have a particular use case, please open an issue on the Stencil repo.\n `)}const i=this["s-cr"].parentElement;const l=i.__childNodes?i.childNodes:G(i.childNodes);l.forEach((e=>{if(r===ee(e)){n.push(e)}}));if(t){return n.filter((e=>e.nodeType===1))}return n}.bind(e);e.assignedElements=t(true);e.assignedNodes=t(false)}function ne(e){e.dispatchEvent(new CustomEvent("slotchange",{bubbles:false,cancelable:false,composed:false}))}function re(e,t){var n;t=t||((n=e["s-ol"])==null?void 0:n.parentElement);if(!t)return{slotNode:null,slotName:""};const r=e["s-sn"]=ee(e)||"";const i=de(t,"childNodes");const l=K(i,t.tagName,r)[0];return{slotNode:l,slotName:r}}var ie=e=>{if(!e||e.__nextSibling!==void 0||!globalThis.Node)return;le(e);oe(e);ae(e);if(e.nodeType===Node.ELEMENT_NODE){se(e);fe(e)}};var le=e=>{if(!e||e.__nextSibling)return;ve("nextSibling",e);Object.defineProperty(e,"nextSibling",{get:function(){var e;const t=(e=this["s-ol"])==null?void 0:e.parentNode.childNodes;const n=t==null?void 0:t.indexOf(this);if(t&&n>-1){return t[n+1]}return this.__nextSibling}})};var se=e=>{if(!e||e.__nextElementSibling)return;ve("nextElementSibling",e);Object.defineProperty(e,"nextElementSibling",{get:function(){var e;const t=(e=this["s-ol"])==null?void 0:e.parentNode.children;const n=t==null?void 0:t.indexOf(this);if(t&&n>-1){return t[n+1]}return this.__nextElementSibling}})};var oe=e=>{if(!e||e.__previousSibling)return;ve("previousSibling",e);Object.defineProperty(e,"previousSibling",{get:function(){var e;const t=(e=this["s-ol"])==null?void 0:e.parentNode.childNodes;const n=t==null?void 0:t.indexOf(this);if(t&&n>-1){return t[n-1]}return this.__previousSibling}})};var fe=e=>{if(!e||e.__previousElementSibling)return;ve("previousElementSibling",e);Object.defineProperty(e,"previousElementSibling",{get:function(){var e;const t=(e=this["s-ol"])==null?void 0:e.parentNode.children;const n=t==null?void 0:t.indexOf(this);if(t&&n>-1){return t[n-1]}return this.__previousElementSibling}})};var ae=e=>{if(!e||e.__parentNode)return;ve("parentNode",e);Object.defineProperty(e,"parentNode",{get:function(){var e;return((e=this["s-ol"])==null?void 0:e.parentNode)||this.__parentNode},set:function(e){this.__parentNode=e}})};var ce=["children","nextElementSibling","previousElementSibling"];var ue=["childNodes","firstChild","lastChild","nextSibling","previousSibling","textContent","parentNode"];function ve(e,t){let n;if(ce.includes(e)){n=Object.getOwnPropertyDescriptor(Element.prototype,e)}else if(ue.includes(e)){n=Object.getOwnPropertyDescriptor(Node.prototype,e)}if(!n){n=Object.getOwnPropertyDescriptor(t,e)}if(n)Object.defineProperty(t,"__"+e,n)}function de(e,t){if("__"+t in e){const n=e["__"+t];if(typeof n!=="function")return n;return n.bind(e)}else{if(typeof e[t]!=="function")return e[t];return e[t].bind(e)}}var he=(e,t="")=>{{return()=>{}}};var pe=(e,t)=>{{return()=>{}}};var me=(e,t,...n)=>{let r=null;let i=null;let l=null;let s=false;let o=false;const f=[];const a=t=>{for(let n=0;n<t.length;n++){r=t[n];if(Array.isArray(r)){a(r)}else if(r!=null&&typeof r!=="boolean"){if(s=typeof e!=="function"&&!W(r)){r=String(r)}if(s&&o){f[f.length-1].O+=r}else{f.push(s?$e(null,r):r)}o=s}}};a(n);if(t){if(t.key){i=t.key}if(t.name){l=t.name}{const e=t.className||t.class;if(e){t.class=typeof e!=="object"?e:Object.keys(e).filter((t=>e[t])).join(" ")}}}if(typeof e==="function"){return e(t===null?{}:t,f,ge)}const c=$e(e,null);c.j=t;if(f.length>0){c.C=f}{c.k=i}{c.N=l}return c};var $e=(e,t)=>{const n={i:0,T:e,O:t,F:null,C:null};{n.j=null}{n.k=null}{n.N=null}return n};var be={};var ye=e=>e&&e.T===be;var ge={forEach:(e,t)=>e.map(we).forEach(t),map:(e,t)=>e.map(we).map(t).map(Se)};var we=e=>({vattrs:e.j,vchildren:e.C,vkey:e.k,vname:e.N,vtag:e.T,vtext:e.O});var Se=e=>{if(typeof e.vtag==="function"){const t={...e.vattrs};if(e.vkey){t.key=e.vkey}if(e.vname){t.name=e.vname}return me(e.vtag,t,...e.vchildren||[])}const t=$e(e.vtag,e.vtext);t.j=e.vattrs;t.C=e.vchildren;t.k=e.vkey;t.N=e.vname;return t};var Oe=(e,t,n,r)=>{const i=he("hydrateClient",t);const l=e.shadowRoot;const s=[];const o=[];const f=[];const a=null;const c=$e(t,null);c.F=e;if(C.document&&(!x.R||!x.R.size)){Ce(C.document.body,x.R=new Map)}e[y]=n;e.removeAttribute(y);r.L=je(c,s,o,a,e,e,n,f);let u=0;const v=s.length;let d;for(u;u<v;u++){d=s[u];const n=d.A+"."+d.D;const r=x.R.get(n);const i=d.F;if(!l){i["s-hn"]=t.toUpperCase();if(d.T==="slot"){i["s-cr"]=e["s-cr"]}}if(d.T==="slot"){d.N=d.F["s-sn"]||d.F["name"]||null;if(d.C){d.i|=2;if(!d.F.childNodes.length){d.C.forEach((e=>{d.F.appendChild(e.F)}))}}else{d.i|=1}}if(r&&r.isConnected){if(l&&r["s-en"]===""){r.parentNode.insertBefore(i,r.nextSibling)}r.parentNode.removeChild(r);if(!l){i["s-oo"]=parseInt(d.D)}}x.R.delete(n)}const h=[];const p=f.length;let m=0;let $;let b;let g;let w;for(m;m<p;m++){$=f[m];if(!$||!$.length)continue;g=$.length;b=0;for(b;b<g;b++){w=$[b];if(!h[w.hostId]){h[w.hostId]=x.R.get(w.hostId)}if(!h[w.hostId])continue;const e=h[w.hostId];if(!e.shadowRoot||!l){w.slot["s-cr"]=e["s-cr"];if(!w.slot["s-cr"]&&e.shadowRoot){w.slot["s-cr"]=e}else{w.slot["s-cr"]=(e.__childNodes||e.childNodes)[0]}Z(w.node,w.slot,false,w.node["s-oo"]);{ie(w.node)}}if(e.shadowRoot&&w.node.parentElement!==e){e.appendChild(w.node)}}}x.R.delete(e["s-id"]);r.$hostElement$=e;i()};var je=(e,t,n,r,i,l,s,o=[])=>{let f;let a;let c;let u;if(l.nodeType===1){f=l.getAttribute(w);if(f){a=f.split(".");if(a[0]===s||a[0]==="0"){c=ke({i:0,A:a[0],D:a[1],M:a[2],P:a[3],T:l.tagName.toLowerCase(),F:l,j:{class:l.className||""}});t.push(c);l.removeAttribute(w);if(!e.C){e.C=[]}const i=c.F.getAttribute("s-sn");if(typeof i==="string"){if(c.T==="slot-fb"){xe(i,a[2],c,l,e,t,n,r,o)}c.F["s-sn"]=i;c.F.removeAttribute("s-sn")}if(c.P!==void 0){e.C[c.P]=c}e=c;if(r&&c.M==="0"){r[c.P]=c.F}}}if(l.shadowRoot){for(u=l.shadowRoot.childNodes.length-1;u>=0;u--){je(e,t,n,r,i,l.shadowRoot.childNodes[u],s,o)}}const v=l.__childNodes||l.childNodes;for(u=v.length-1;u>=0;u--){je(e,t,n,r,i,v[u],s,o)}}else if(l.nodeType===8){a=l.nodeValue.split(".");if(a[1]===s||a[1]==="0"){f=a[0];c=ke({A:a[1],D:a[2],M:a[3],P:a[4]||"0",F:l,j:null,C:null,k:null,N:null,T:null,O:null});if(f===$){c.F=Ee(l,3);if(c.F&&c.F.nodeType===3){c.O=c.F.textContent;t.push(c);l.remove();if(s===c.A){if(!e.C){e.C=[]}e.C[c.P]=c}if(r&&c.M==="0"){r[c.P]=c.F}}}else if(f===b){c.F=Ee(l,8);if(c.F&&c.F.nodeType===8){t.push(c);l.remove()}}else if(c.A===s){if(f===m){const i=l["s-sn"]=a[5]||"";xe(i,a[2],c,l,e,t,n,r,o)}else if(f===h){{i["s-cr"]=l;l["s-cn"]=true}}}}}else if(e&&e.T==="style"){const t=$e(null,l.textContent);t.F=l;t.P="0";e.C=[t]}else{if(l.nodeType===3&&!l.wholeText.trim()){l.remove()}}return e};var Ce=(e,t)=>{if(e.nodeType===1){const n=e[y]||e.getAttribute(y);if(n){t.set(n,e)}let r=0;if(e.shadowRoot){for(;r<e.shadowRoot.childNodes.length;r++){Ce(e.shadowRoot.childNodes[r],t)}}const i=e.__childNodes||e.childNodes;for(r=0;r<i.length;r++){Ce(i[r],t)}}else if(e.nodeType===8){const n=e.nodeValue.split(".");if(n[0]===p){t.set(n[1]+"."+n[2],e);e.nodeValue="";e["s-en"]=n[3]}}};var ke=e=>{const t={i:0,A:null,D:null,M:null,P:"0",F:null,j:null,C:null,k:null,N:null,T:null,O:null};return{...t,...e}};function xe(e,t,n,r,i,l,s,o,f){r["s-sr"]=true;n.N=e||null;n.T="slot";const a=(i==null?void 0:i.F)?i.F["s-id"]||i.F.getAttribute("s-id"):"";{const s=n.F;const o=a&&a!==n.A&&i.F.shadowRoot;Ne(f,t,e,r,o?a:n.A);te(r);if(o){i.F.insertBefore(s,i.F.children[0])}l.push(n)}s.push(n);if(!i.C){i.C=[]}i.C[n.P]=n}var Ne=(e,t,n,r,i)=>{let l=r.nextSibling;e[t]=e[t]||[];while(l&&((l["getAttribute"]&&l.getAttribute("slot")||l["s-sn"])===n||n===""&&!l["s-sn"]&&(l.nodeType===8&&l.nodeValue.indexOf(".")!==1||l.nodeType===3))){l["s-sn"]=n;e[t].push({slot:r,node:l,hostId:i});l=l.nextSibling}};var Ee=(e,t)=>{let n=e;do{n=n.nextSibling}while(n&&(n.nodeType!==t||!n.nodeValue));return n};var Te=(e,t)=>{if(e!=null&&!W(e)){if(t&4){return e==="false"?false:e===""||!!e}if(t&2){return parseFloat(e)}if(t&1){return String(e)}return e}return e};var Fe=e=>s(e).$hostElement$;var Re=(e,t,n)=>{const r=Fe(e);return{emit:e=>Le(r,t,{bubbles:!!(n&4),composed:!!(n&2),cancelable:!!(n&1),detail:e})}};var Le=(e,t,n)=>{const r=x.ce(t,n);e.dispatchEvent(r);return r};var Ae=new WeakMap;var De=(e,t,n)=>{let r=d.get(e);if(F&&n){r=r||new CSSStyleSheet;if(typeof r==="string"){r=t}else{r.replaceSync(t)}}else{r=t}d.set(e,r)};var Me=(e,t,n)=>{var r;const i=Ie(t);const l=d.get(i);if(!C.document){return i}e=e.nodeType===11?e:C.document;if(l){if(typeof l==="string"){e=e.head||e;let n=Ae.get(e);let s;if(!n){Ae.set(e,n=new Set)}if(!n.has(i)){if(e.host&&(s=e.querySelector(`[${g}="${i}"]`))){s.innerHTML=l}else{s=document.querySelector(`[${g}="${i}"]`)||C.document.createElement("style");s.innerHTML=l;const n=(r=x.I)!=null?r:_(C.document);if(n!=null){s.setAttribute("nonce",n)}if(!(t.i&1)){if(e.nodeName==="HEAD"){const t=e.querySelectorAll("link[rel=preconnect]");const n=t.length>0?t[t.length-1].nextSibling:e.querySelector("style");e.insertBefore(s,(n==null?void 0:n.parentNode)===e?n:null)}else if("host"in e){if(F){const t=new CSSStyleSheet;t.replaceSync(l);e.adoptedStyleSheets=[t,...e.adoptedStyleSheets]}else{const t=e.querySelector("style");if(t){t.innerHTML=l+t.innerHTML}else{e.prepend(s)}}}else{e.append(s)}}if(t.i&1){e.insertBefore(s,null)}}if(t.i&4){s.innerHTML+=O}if(n){n.add(i)}}}else if(!e.adoptedStyleSheets.includes(l)){e.adoptedStyleSheets=[...e.adoptedStyleSheets,l]}}return i};var Pe=e=>{const t=e.l;const n=e.$hostElement$;const r=he("attachStyles",t.m);Me(n.getRootNode(),t);r()};var Ie=(e,t)=>"sc-"+e.m;var Ue=(e,t,n,r,i,l,s)=>{if(n===r){return}let o=a(e,t);let f=t.toLowerCase();if(t==="class"){const t=e.classList;const i=_e(n);let l=_e(r);if(e["s-si"]&&s){l.push(e["s-si"]);i.forEach((t=>{if(t.startsWith(e["s-si"]))l.push(t)}));l=[...new Set(l)];t.add(...l)}else{t.remove(...i.filter((e=>e&&!l.includes(e))));t.add(...l.filter((e=>e&&!i.includes(e))))}}else if(t==="style"){{for(const t in n){if(!r||r[t]==null){if(t.includes("-")){e.style.removeProperty(t)}else{e.style[t]=""}}}}for(const t in r){if(!n||r[t]!==n[t]){if(t.includes("-")){e.style.setProperty(t,r[t])}else{e.style[t]=r[t]}}}}else if(t==="key");else if(t==="ref"){if(r){r(e)}}else if(!o&&t[0]==="o"&&t[1]==="n"){if(t[2]==="-"){t=t.slice(3)}else if(a(C,f)){t=f.slice(2)}else{t=f[2]+t.slice(3)}if(n||r){const i=t.endsWith(Be);t=t.replace(ze,"");if(n){x.rel(e,t,n,i)}if(r){x.ael(e,t,r,i)}}}else{const s=W(r);if((o||s&&r!==null)&&!i){try{if(!e.tagName.includes("-")){const i=r==null?"":r;if(t==="list"){o=false}else if(n==null||e[t]!=i){if(typeof e.__lookupSetter__(t)==="function"){e[t]=i}else{e.setAttribute(t,i)}}}else if(e[t]!==r){e[t]=r}}catch(e){}}if(r==null||r===false){if(r!==false||e.getAttribute(t)===""){{e.removeAttribute(t)}}}else if((!o||l&4||i)&&!s&&e.nodeType===1){r=r===true?"":r;{e.setAttribute(t,r)}}}};var We=/\s/;var _e=e=>{if(typeof e==="object"&&e&&"baseVal"in e){e=e.baseVal}if(!e||typeof e!=="string"){return[]}return e.split(We)};var Be="Capture";var ze=new RegExp(Be+"$");var He=(e,t,n,r)=>{const i=t.F.nodeType===11&&t.F.host?t.F.host:t.F;const l=e&&e.j||{};const s=t.j||{};{for(const e of Qe(Object.keys(l))){if(!(e in s)){Ue(i,e,l[e],void 0,n,t.i,r)}}}for(const e of Qe(Object.keys(s))){Ue(i,e,l[e],s[e],n,t.i,r)}};function Qe(e){return e.includes("ref")?[...e.filter((e=>e!=="ref")),"ref"]:e}var Ve;var Ye;var qe=false;var Ge=false;var Ke=false;var Xe=false;var Je=(e,n,r)=>{var s;const o=n.C[r];let f=0;let a;let c;let u;if(!qe){Ke=true;if(o.T==="slot"){o.i|=o.C?2:1}}if(o.O!==null){a=o.F=C.document.createTextNode(o.O)}else if(o.i&1){a=o.F=C.document.createTextNode("");{He(null,o,Xe)}}else{if(!Xe){Xe=o.T==="svg"}if(!C.document){throw new Error("You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component.")}a=o.F=C.document.createElementNS(Xe?i:l,!qe&&t.slotRelocation&&o.i&2?"slot-fb":o.T);if(Xe&&o.T==="foreignObject"){Xe=false}{He(null,o,Xe)}if(o.C){for(f=0;f<o.C.length;++f){c=Je(e,o,f);if(c){a.appendChild(c)}}}{if(o.T==="svg"){Xe=false}else if(a.tagName==="foreignObject"){Xe=true}}}a["s-hn"]=Ye;{if(o.i&(2|1)){a["s-sr"]=true;a["s-cr"]=Ve;a["s-sn"]=o.N||"";a["s-rf"]=(s=o.j)==null?void 0:s.ref;te(a);u=e&&e.C&&e.C[r];if(u&&u.T===o.T&&e.F){{Ze(e.F)}}}}return a};var Ze=e=>{x.i|=1;const t=e.closest(Ye.toLowerCase());if(t!=null){const n=Array.from(t.__childNodes||t.childNodes).find((e=>e["s-cr"]));const r=Array.from(e.__childNodes||e.childNodes);for(const e of n?r.reverse():r){if(e["s-sh"]!=null){ct(t,e,n!=null?n:null);e["s-sh"]=void 0;Ke=true}}}x.i&=~1};var et=(e,n)=>{x.i|=1;const r=Array.from(e.__childNodes||e.childNodes);if(e["s-sr"]&&t.experimentalSlotFixes){let t=e;while(t=t.nextSibling){if(t&&t["s-sn"]===e["s-sn"]&&t["s-sh"]===Ye){r.push(t)}}}for(let e=r.length-1;e>=0;e--){const t=r[e];if(t["s-hn"]!==Ye&&t["s-ol"]){ct(lt(t).parentNode,t,lt(t));t["s-ol"].remove();t["s-ol"]=void 0;t["s-sh"]=void 0;Ke=true}if(n){et(t,n)}}x.i&=~1};var tt=(e,t,n,r,i,l)=>{let s=e["s-cr"]&&e["s-cr"].parentNode||e;let o;for(;i<=l;++i){if(r[i]){o=Je(null,n,i);if(o){r[i].F=o;ct(s,o,lt(t))}}}};var nt=(e,t,n)=>{for(let r=t;r<=n;++r){const t=e[r];if(t){const e=t.F;at(t);if(e){{Ge=true;if(e["s-ol"]){e["s-ol"].remove()}else{et(e,true)}}e.remove()}}}};var rt=(e,t,n,r,i=false)=>{let l=0;let s=0;let o=0;let f=0;let a=t.length-1;let c=t[0];let u=t[a];let v=r.length-1;let d=r[0];let h=r[v];let p;let m;while(l<=a&&s<=v){if(c==null){c=t[++l]}else if(u==null){u=t[--a]}else if(d==null){d=r[++s]}else if(h==null){h=r[--v]}else if(it(c,d,i)){st(c,d,i);c=t[++l];d=r[++s]}else if(it(u,h,i)){st(u,h,i);u=t[--a];h=r[--v]}else if(it(c,h,i)){if(c.T==="slot"||h.T==="slot"){et(c.F.parentNode,false)}st(c,h,i);ct(e,c.F,u.F.nextSibling);c=t[++l];h=r[--v]}else if(it(u,d,i)){if(c.T==="slot"||h.T==="slot"){et(u.F.parentNode,false)}st(u,d,i);ct(e,u.F,c.F);u=t[--a];d=r[++s]}else{o=-1;{for(f=l;f<=a;++f){if(t[f]&&t[f].k!==null&&t[f].k===d.k){o=f;break}}}if(o>=0){m=t[o];if(m.T!==d.T){p=Je(t&&t[s],n,o)}else{st(m,d,i);t[o]=void 0;p=m.F}d=r[++s]}else{p=Je(t&&t[s],n,s);d=r[++s]}if(p){{ct(lt(c.F).parentNode,p,lt(c.F))}}}}if(l>a){tt(e,r[v+1]==null?null:r[v+1].F,n,r,s,v)}else if(s>v){nt(t,l,a)}};var it=(e,t,n=false)=>{if(e.T===t.T){if(e.T==="slot"){return e.N===t.N}if(!n){return e.k===t.k}if(n&&!e.k&&t.k){e.k=t.k}return true}return false};var lt=e=>e&&e["s-ol"]||e;var st=(e,n,r=false)=>{const i=n.F=e.F;const l=e.C;const s=n.C;const o=n.T;const f=n.O;let a;if(f===null){{Xe=o==="svg"?true:o==="foreignObject"?false:Xe}{if(o==="slot"&&!qe){if(e.N!==n.N){n.F["s-sn"]=n.N||"";Ze(n.F.parentElement)}}He(e,n,Xe,r)}if(l!==null&&s!==null){rt(i,l,n,s,r)}else if(s!==null){if(e.O!==null){i.textContent=""}tt(i,null,n,s,0,s.length-1)}else if(!r&&t.updatable&&l!==null){nt(l,0,l.length-1)}if(Xe&&o==="svg"){Xe=false}}else if(a=i["s-cr"]){a.parentNode.textContent=f}else if(e.O!==f){i.data=f}};var ot=[];var ft=e=>{let t;let n;let r;const i=e.__childNodes||e.childNodes;for(const e of i){if(e["s-sr"]&&(t=e["s-cr"])&&t.parentNode){n=t.parentNode.__childNodes||t.parentNode.childNodes;const i=e["s-sn"];for(r=n.length-1;r>=0;r--){t=n[r];if(!t["s-cn"]&&!t["s-nr"]&&t["s-hn"]!==e["s-hn"]&&(!t["s-sh"]||t["s-sh"]!==e["s-hn"])){if(J(t,i)){let n=ot.find((e=>e.U===t));Ge=true;t["s-sn"]=t["s-sn"]||i;if(n){n.U["s-sh"]=e["s-hn"];n.W=e}else{t["s-sh"]=e["s-hn"];ot.push({W:e,U:t})}if(t["s-sr"]){ot.map((e=>{if(J(e.U,t["s-sn"])){n=ot.find((e=>e.U===t));if(n&&!e.W){e.W=n.W}}}))}}else if(!ot.some((e=>e.U===t))){ot.push({U:t})}}}}if(e.nodeType===1){ft(e)}}};var at=e=>{{e.j&&e.j.ref&&e.j.ref(null);e.C&&e.C.map(at)}};var ct=(e,t,n)=>{if(typeof t["s-sn"]==="string"){if(e.getRootNode().nodeType!==11){ae(t)}e.insertBefore(t,n);const{slotNode:r}=re(t);if(r)ne(r);return t}if(e.__insertBefore){return e.__insertBefore(t,n)}else{return e==null?void 0:e.insertBefore(t,n)}};var ut=(e,t,n=false)=>{var r,i,l,s,o;const f=e.$hostElement$;const a=e.l;const c=e.L||$e(null,null);const u=ye(t)?t:me(null,null,t);Ye=f.tagName;if(a._){u.j=u.j||{};a._.map((([e,t])=>u.j[t]=f[e]))}if(n&&u.j){for(const e of Object.keys(u.j)){if(f.hasAttribute(e)&&!["key","ref","style","class"].includes(e)){u.j[e]=f[e]}}}u.T=null;u.i|=4;e.L=u;u.F=c.F=f;qe=N;{Ve=f["s-cr"];Ge=false}st(c,u,n);{x.i|=1;if(Ke){ft(u.F);for(const e of ot){const t=e.U;if(!t["s-ol"]&&C.document){const e=C.document.createTextNode("");e["s-nr"]=t;ct(t.parentNode,t["s-ol"]=e,t)}}for(const e of ot){const t=e.U;const o=e.W;if(o){const e=o.parentNode;let n=o.nextSibling;if(n&&n.nodeType===1){let l=(r=t["s-ol"])==null?void 0:r.previousSibling;while(l){let r=(i=l["s-nr"])!=null?i:null;if(r&&r["s-sn"]===t["s-sn"]&&e===(r.__parentNode||r.parentNode)){r=r.nextSibling;while(r===t||(r==null?void 0:r["s-sr"])){r=r==null?void 0:r.nextSibling}if(!r||!r["s-nr"]){n=r;break}}l=l.previousSibling}}const s=t.__parentNode||t.parentNode;const f=t.__nextSibling||t.nextSibling;if(!n&&e!==s||f!==n){if(t!==n){ct(e,t,n);if(t.nodeType===1&&t.tagName!=="SLOT-FB"){t.hidden=(l=t["s-ih"])!=null?l:false}}}t&&typeof o["s-rf"]==="function"&&o["s-rf"](o)}else{if(t.nodeType===1){if(n){t["s-ih"]=(s=t.hidden)!=null?s:false}t.hidden=true}}}}if(Ge){q(u.F)}x.i&=~1;ot.length=0}if(a.i&2){const e=u.F.__childNodes||u.F.childNodes;for(const t of e){if(t["s-hn"]!==Ye&&!t["s-sh"]){if(n&&t["s-ih"]==null){t["s-ih"]=(o=t.hidden)!=null?o:false}t.hidden=true}}}Ve=void 0};var vt=(e,t)=>{if(t&&!e.B&&t["s-p"]){const n=t["s-p"].push(new Promise((r=>e.B=()=>{t["s-p"].splice(n-1,1);r()})))}};var dt=(e,t)=>{{e.i|=16}if(e.i&4){e.i|=512;return}vt(e,e.H);const n=()=>ht(e,t);return U(n)};var ht=(e,t)=>{const n=e.$hostElement$;const r=he("scheduleUpdate",e.l.m);const i=e.t;if(!i){throw new Error(`Can't render component <${n.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`)}let l;if(t){{e.i|=256;if(e.V){e.V.map((([e,t])=>jt(i,e,t,n)));e.V=void 0}}l=jt(i,"componentWillLoad",void 0,n)}else{l=jt(i,"componentWillUpdate",void 0,n)}l=pt(l,(()=>jt(i,"componentWillRender",void 0,n)));r();return pt(l,(()=>$t(e,i,t)))};var pt=(e,t)=>mt(e)?e.then(t).catch((e=>{console.error(e);t()})):t();var mt=e=>e instanceof Promise||e&&e.then&&typeof e.then==="function";var $t=async(e,t,n)=>{var r;const i=e.$hostElement$;const l=he("update",e.l.m);const s=i["s-rc"];if(n){Pe(e)}const o=he("render",e.l.m);{yt(e,t,i,n)}if(s){s.map((e=>e()));i["s-rc"]=void 0}o();l();{const t=(r=i["s-p"])!=null?r:[];const n=()=>wt(e);if(t.length===0){n()}else{Promise.all(t).then(n);e.i|=4;t.length=0}}};var bt=null;var yt=(e,t,n,r)=>{try{bt=t;t=t.render();{e.i&=~16}{e.i|=2}{{{ut(e,t,r)}}}}catch(t){c(t,e.$hostElement$)}bt=null;return null};var gt=()=>bt;var wt=e=>{const t=e.l.m;const n=e.$hostElement$;const r=he("postUpdate",t);const i=e.t;const l=e.H;jt(i,"componentDidRender",void 0,n);if(!(e.i&64)){e.i|=64;{Ct(n)}jt(i,"componentDidLoad",void 0,n);r();{e.p(n);if(!l){Ot()}}}else{jt(i,"componentDidUpdate",void 0,n);r()}{e.v(n)}{if(e.B){e.B();e.B=void 0}if(e.i&512){I((()=>dt(e,false)))}e.i&=~(4|512)}};var St=e=>{{const t=s(e);const n=t.$hostElement$.isConnected;if(n&&(t.i&(2|16))===2){dt(t,false)}return n}};var Ot=t=>{I((()=>Le(C,"appload",{detail:{namespace:e}})))};var jt=(e,t,n,r)=>{if(e&&e[t]){try{return e[t](n)}catch(e){c(e,r)}}return void 0};var Ct=e=>{var n;return e.classList.add((n=t.hydratedSelectorName)!=null?n:"hydrated")};var kt=(e,t)=>s(e).o.get(t);var xt=(e,t,n,r)=>{const i=s(e);if(!i){throw new Error(`Couldn't find host element for "${r.m}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/ionic-team/stencil/issues/5457).`)}const l=i.$hostElement$;const o=i.o.get(t);const f=i.i;const a=i.t;n=Te(n,r.Y[t][0]);const u=Number.isNaN(o)&&Number.isNaN(n);const v=n!==o&&!u;if((!(f&8)||o===void 0)&&v){i.o.set(t,n);if(a){if(r.q&&f&128){const e=r.q[t];if(e){e.map((e=>{try{a[e](n,o,t)}catch(e){c(e,l)}}))}}if((f&(2|16))===2){if(a.componentShouldUpdate){if(a.componentShouldUpdate(n,o,t)===false){return}}dt(i,false)}}}};var Nt=(e,n,r)=>{var i,l;const o=e.prototype;if(n.i&64&&r&1){j.forEach((e=>{Object.defineProperty(o,e,{value(...t){const n=s(this);const r=n.t;if(!r){n.h.then((n=>{const r=n[e];typeof r==="function"&&r.call(n,...t)}))}else{const n=r[e];typeof n==="function"&&n.call(r,...t)}}})}))}if(n.Y||(n.q||e.watchers)){if(e.watchers&&!n.q){n.q=e.watchers}const f=Object.entries((i=n.Y)!=null?i:{});f.map((([e,[t]])=>{if(t&31||r&2&&t&32){const{get:i,set:l}=Object.getOwnPropertyDescriptor(o,e)||{};if(i)n.Y[e][0]|=2048;if(l)n.Y[e][0]|=4096;if(r&1||!i){Object.defineProperty(o,e,{get(){{if((n.Y[e][0]&2048)===0){return kt(this,e)}const t=s(this);const r=t?t.t:o;if(!r)return;return r[e]}},configurable:true,enumerable:true})}Object.defineProperty(o,e,{set(i){const o=s(this);if(l){const r=t&32?this[e]:o.$hostElement$[e];if(typeof r==="undefined"&&o.o.get(e)){i=o.o.get(e)}else if(!o.o.get(e)&&r){o.o.set(e,r)}l.apply(this,[Te(i,t)]);i=t&32?this[e]:o.$hostElement$[e];xt(this,e,i,n);return}{if((r&1)===0||(n.Y[e][0]&4096)===0){xt(this,e,i,n);if(r&1&&!o.t){o.h.then((()=>{if(n.Y[e][0]&4096&&o.t[e]!==o.o.get(e)){o.t[e]=i}}))}return}const l=()=>{const r=o.t[e];if(!o.o.get(e)&&r){o.o.set(e,r)}o.t[e]=Te(i,t);xt(this,e,o.t[e],n)};if(o.t){l()}else{o.h.then((()=>l()))}}}})}else if(r&1&&t&64){Object.defineProperty(o,e,{value(...t){var n;const r=s(this);return(n=r==null?void 0:r.u)==null?void 0:n.then((()=>{var n;return(n=r.t)==null?void 0:n[e](...t)}))}})}}));if(r&1){const r=new Map;o.attributeChangedCallback=function(e,i,l){x.jmp((()=>{var f;const a=r.get(e);if(this.hasOwnProperty(a)&&t.lazyLoad){l=this[a];delete this[a]}else if(o.hasOwnProperty(a)&&typeof this[a]==="number"&&this[a]==l){return}else if(a==null){const t=s(this);const r=t==null?void 0:t.i;if(r&&!(r&8)&&r&128&&l!==i){const r=t.t;const s=(f=n.q)==null?void 0:f[e];s==null?void 0:s.forEach((t=>{if(r[t]!=null){r[t].call(r,l,i,e)}}))}return}const c=Object.getOwnPropertyDescriptor(o,a);l=l===null&&typeof this[a]==="boolean"?false:l;if(l!==this[a]&&(!c.get||!!c.set)){this[a]=l}}))};e.observedAttributes=Array.from(new Set([...Object.keys((l=n.q)!=null?l:{}),...f.filter((([e,t])=>t[0]&15)).map((([e,t])=>{var i;const l=t[1]||e;r.set(l,e);if(t[0]&512){(i=n._)==null?void 0:i.push([e,l])}return l}))]))}}return e};var Et=async(e,t,n,r)=>{let i;if((t.i&32)===0){t.i|=32;const r=n.$;if(r){const r=v(n,t);if(r&&"then"in r){const e=pe();i=await r;e()}else{i=r}if(!i){throw new Error(`Constructor for "${n.m}#${t.G}" was not found`)}if(!i.isProxied){{n.q=i.watchers}Nt(i,n,2);i.isProxied=true}const l=he("createInstance",n.m);{t.i|=8}try{new i(t)}catch(t){c(t,e)}{t.i&=~8}{t.i|=128}l();Tt(t.t,e)}else{i=e.constructor;const n=e.localName;customElements.whenDefined(n).then((()=>t.i|=128))}if(i&&i.style){let e;if(typeof i.style==="string"){e=i.style}const t=Ie(n);if(!d.has(t)){const r=he("registerStyles",n.m);De(t,e,!!(n.i&1));r()}}}const l=t.H;const s=()=>dt(t,true);if(l&&l["s-rc"]){l["s-rc"].push(s)}else{s()}};var Tt=(e,t)=>{{jt(e,"connectedCallback",void 0,t)}};var Ft=e=>{if((x.i&1)===0){const t=s(e);const n=t.l;const r=he("connectedCallback",n.m);if(!(t.i&1)){t.i|=1;let r;{r=e.getAttribute(y);if(r){Oe(e,n.m,r,t)}}if(!r){if(n.i&(4|8)){Rt(e)}}{let n=e;while(n=n.parentNode||n.host){if(n.nodeType===1&&n.hasAttribute("s-id")&&n["s-p"]||n["s-p"]){vt(t,t.H=n);break}}}if(n.Y){Object.entries(n.Y).map((([t,[n]])=>{if(n&31&&e.hasOwnProperty(t)){const n=e[t];delete e[t];e[t]=n}}))}{Et(e,t,n)}}else{Pt(e,t,n.K);if(t==null?void 0:t.t){Tt(t.t,e)}else if(t==null?void 0:t.h){t.h.then((()=>Tt(t.t,e)))}}r()}};var Rt=e=>{if(!C.document){return}const t=e["s-cr"]=C.document.createComment("");t["s-cn"]=true;ct(e,t,e.firstChild)};var Lt=(e,t)=>{{jt(e,"disconnectedCallback",void 0,t||e)}};var At=async e=>{if((x.i&1)===0){const t=s(e);{if(t.X){t.X.map((e=>e()));t.X=void 0}}if(t==null?void 0:t.t){Lt(t.t,e)}else if(t==null?void 0:t.h){t.h.then((()=>Lt(t.t,e)))}}if(Ae.has(e)){Ae.delete(e)}if(e.shadowRoot&&Ae.has(e.shadowRoot)){Ae.delete(e.shadowRoot)}};var Dt=(e,t={})=>{var n;if(!C.document){console.warn("Stencil: No document found. Skipping bootstrapping lazy components.");return}const r=he();const i=[];const l=t.exclude||[];const o=C.customElements;const a=C.document.head;const c=a.querySelector("meta[charset]");const u=C.document.createElement("style");const v=[];let d;let h=true;Object.assign(x,t);x.S=new URL(t.resourcesUrl||"./",C.document.baseURI).href;{x.i|=2}let p=false;e.map((e=>{e[1].map((t=>{var n;const r={i:t[0],m:t[1],Y:t[2],K:t[3]};if(r.i&4){p=true}{r.Y=t[2]}{r.K=t[3]}{r._=[]}{r.q=(n=t[4])!=null?n:{}}const a=r.m;const c=class extends HTMLElement{constructor(e){super(e);this.hasRegisteredEventListeners=false;e=this;f(e,r)}connectedCallback(){const e=s(this);if(!this.hasRegisteredEventListeners){this.hasRegisteredEventListeners=true;Pt(this,e,r.K)}if(d){clearTimeout(d);d=null}if(h){v.push(this)}else{x.jmp((()=>Ft(this)))}}disconnectedCallback(){x.jmp((()=>At(this)));x.raf((()=>{var e;const t=s(this);const n=v.findIndex((e=>e===this));if(n>-1){v.splice(n,1)}if(((e=t==null?void 0:t.L)==null?void 0:e.F)instanceof Node&&!t.L.F.isConnected){delete t.L.F}}))}componentOnReady(){return s(this).h}};if(r.i&64){c.formAssociated=true}r.$=e[0];if(!l.includes(a)&&!o.get(a)){i.push(a);o.define(a,Nt(c,r,1))}}))}));if(i.length>0){if(p){u.textContent+=O}{u.textContent+=i.sort()+S}if(u.innerHTML.length){u.setAttribute("data-styles","");const e=(n=x.I)!=null?n:_(C.document);if(e!=null){u.setAttribute("nonce",e)}a.insertBefore(u,c?c.nextSibling:a.firstChild)}}h=false;if(v.length){v.map((e=>e.connectedCallback()))}else{{x.jmp((()=>d=setTimeout(Ot,30)))}}r()};var Mt=(e,t)=>t;var Pt=(e,t,n,r)=>{if(n&&C.document){n.map((([n,r,i])=>{const l=Ut(C.document,e,n);const s=It(t,i);const o=Wt(n);x.ael(l,r,s,o);(t.X=t.X||[]).push((()=>x.rel(l,r,s,o)))}))}};var It=(e,t)=>n=>{var r;try{{if(e.i&256){(r=e.t)==null?void 0:r[t](n)}else{(e.V=e.V||[]).push([t,n])}}}catch(t){c(t,e.$hostElement$)}};var Ut=(e,t,n)=>{if(n&4){return e}return t};var Wt=e=>E?{passive:(e&1)!==0,capture:(e&2)!==0}:(e&2)!==0;var _t=e=>x.I=e;export{Mt as F,k as H,be as a,Dt as b,Re as c,gt as d,St as f,Fe as g,me as h,T as p,o as r,_t as s};
3
- //# sourceMappingURL=p-ab002252.js.map