@nova-design-system/nova-webcomponents 3.0.0 → 3.2.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 (532) hide show
  1. package/dist/cjs/{constants-bcd6b2e2.js → constants-8fb8ccc0.js} +14 -1
  2. package/dist/cjs/constants-8fb8ccc0.js.map +1 -0
  3. package/dist/cjs/{index-9bda5507.js → index-108ddff0.js} +22 -6
  4. package/dist/cjs/index-108ddff0.js.map +1 -0
  5. package/dist/cjs/index.cjs.js +5 -471
  6. package/dist/cjs/index.cjs.js.map +1 -1
  7. package/dist/cjs/loader.cjs.js +2 -2
  8. package/dist/cjs/native.cjs.js +2 -2
  9. package/dist/cjs/nv-alert.cjs.entry.js +6 -6
  10. package/dist/cjs/nv-alert.cjs.entry.js.map +1 -1
  11. package/dist/cjs/nv-avatar.cjs.entry.js +2 -2
  12. package/dist/cjs/nv-badge_2.cjs.entry.js +18 -9
  13. package/dist/cjs/nv-badge_2.cjs.entry.js.map +1 -1
  14. package/dist/cjs/nv-breadcrumb.cjs.entry.js +1 -1
  15. package/dist/cjs/nv-breadcrumbs.cjs.entry.js +1 -1
  16. package/dist/cjs/nv-button.cjs.entry.js +2 -2
  17. package/dist/cjs/nv-calendar.cjs.entry.js +821 -843
  18. package/dist/cjs/nv-calendar.cjs.entry.js.map +1 -1
  19. package/dist/cjs/nv-col.cjs.entry.js +1 -1
  20. package/dist/cjs/nv-datagrid.cjs.entry.js +423 -94
  21. package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
  22. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +2 -2
  23. package/dist/cjs/nv-datagridcolumn.cjs.entry.js.map +1 -1
  24. package/dist/cjs/nv-dialog.cjs.entry.js +19 -13
  25. package/dist/cjs/nv-dialog.cjs.entry.js.map +1 -1
  26. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +2 -2
  27. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +1 -1
  28. package/dist/cjs/nv-fielddate.cjs.entry.js +9 -18
  29. package/dist/cjs/nv-fielddate.cjs.entry.js.map +1 -1
  30. package/dist/cjs/nv-fielddaterange.cjs.entry.js +85 -32
  31. package/dist/cjs/nv-fielddaterange.cjs.entry.js.map +1 -1
  32. package/dist/cjs/nv-fielddropdown.cjs.entry.js +88 -57
  33. package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
  34. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +2 -2
  35. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +122 -104
  36. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
  37. package/dist/cjs/nv-fieldnumber.cjs.entry.js +9 -5
  38. package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
  39. package/dist/cjs/nv-fieldpassword.cjs.entry.js +9 -5
  40. package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
  41. package/dist/cjs/nv-fieldradio.cjs.entry.js +4 -4
  42. package/dist/cjs/nv-fieldselect.cjs.entry.js +11 -7
  43. package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
  44. package/dist/cjs/nv-fieldslider.cjs.entry.js +663 -0
  45. package/dist/cjs/nv-fieldslider.cjs.entry.js.map +1 -0
  46. package/dist/cjs/nv-fieldtext.cjs.entry.js +9 -5
  47. package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -1
  48. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +9 -5
  49. package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -1
  50. package/dist/cjs/nv-fieldtime.cjs.entry.js +16 -13
  51. package/dist/cjs/nv-fieldtime.cjs.entry.js.map +1 -1
  52. package/dist/cjs/nv-icon.cjs.entry.js +4 -4
  53. package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
  54. package/dist/cjs/nv-iconbutton_2.cjs.entry.js +3 -3
  55. package/dist/cjs/nv-menu.cjs.entry.js +4 -2
  56. package/dist/cjs/nv-menu.cjs.entry.js.map +1 -1
  57. package/dist/cjs/nv-menuitem.cjs.entry.js +2 -2
  58. package/dist/cjs/nv-popover.cjs.entry.js +2 -2
  59. package/dist/cjs/nv-row.cjs.entry.js +2 -2
  60. package/dist/cjs/nv-stack.cjs.entry.js +2 -2
  61. package/dist/cjs/nv-table.cjs.entry.js +3 -3
  62. package/dist/cjs/nv-table.cjs.entry.js.map +1 -1
  63. package/dist/cjs/nv-tablecolumn.cjs.entry.js +1 -1
  64. package/dist/cjs/nv-toggle.cjs.entry.js +3 -3
  65. package/dist/cjs/nv-tooltip.cjs.entry.js +3 -3
  66. package/dist/cjs/nv-tooltip.cjs.entry.js.map +1 -1
  67. package/dist/collection/collection-manifest.json +1 -0
  68. package/dist/collection/components/nv-alert/nv-alert.css +3 -0
  69. package/dist/collection/components/nv-alert/nv-alert.js +6 -11
  70. package/dist/collection/components/nv-alert/nv-alert.js.map +1 -1
  71. package/dist/collection/components/nv-badge/nv-badge.css +181 -1
  72. package/dist/collection/components/nv-badge/nv-badge.docs.js +20 -1
  73. package/dist/collection/components/nv-badge/nv-badge.docs.js.map +1 -1
  74. package/dist/collection/components/nv-badge/nv-badge.js +39 -15
  75. package/dist/collection/components/nv-badge/nv-badge.js.map +1 -1
  76. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js +0 -1
  77. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js.map +1 -1
  78. package/dist/collection/components/nv-calendar/nv-calendar.css +25 -2
  79. package/dist/collection/components/nv-calendar/nv-calendar.docs.js +33 -38
  80. package/dist/collection/components/nv-calendar/nv-calendar.docs.js.map +1 -1
  81. package/dist/collection/components/nv-calendar/nv-calendar.js +659 -897
  82. package/dist/collection/components/nv-calendar/nv-calendar.js.map +1 -1
  83. package/dist/collection/components/nv-calendar/nv-calendar.utils.js +202 -0
  84. package/dist/collection/components/nv-calendar/nv-calendar.utils.js.map +1 -0
  85. package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js +667 -0
  86. package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js.map +1 -0
  87. package/dist/collection/components/nv-datagrid/nv-datagrid.css +98 -0
  88. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +232 -51
  89. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +1 -1
  90. package/dist/collection/components/nv-datagrid/nv-datagrid.js +437 -160
  91. package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +1 -1
  92. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +20 -1
  93. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js.map +1 -1
  94. package/dist/collection/components/nv-dialog/nv-dialog.css +29 -5
  95. package/dist/collection/components/nv-dialog/nv-dialog.docs.js +0 -1
  96. package/dist/collection/components/nv-dialog/nv-dialog.docs.js.map +1 -1
  97. package/dist/collection/components/nv-dialog/nv-dialog.js +16 -10
  98. package/dist/collection/components/nv-dialog/nv-dialog.js.map +1 -1
  99. package/dist/collection/components/nv-fielddate/nv-fielddate.docs.js +16 -8
  100. package/dist/collection/components/nv-fielddate/nv-fielddate.docs.js.map +1 -1
  101. package/dist/collection/components/nv-fielddate/nv-fielddate.js +48 -39
  102. package/dist/collection/components/nv-fielddate/nv-fielddate.js.map +1 -1
  103. package/dist/collection/components/nv-fielddate/styles/nv-fielddate.css +14 -1
  104. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.docs.js +12 -15
  105. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.docs.js.map +1 -1
  106. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +147 -68
  107. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +1 -1
  108. package/dist/collection/components/nv-fielddaterange/styles/nv-fielddaterange.css +20 -12
  109. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +16 -0
  110. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +1 -1
  111. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +197 -103
  112. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
  113. package/dist/collection/components/nv-fielddropdown/styles/nv-fielddropdown.css +36 -1
  114. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +1 -1
  115. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +1 -1
  116. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +8 -1
  117. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js.map +1 -1
  118. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +228 -190
  119. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
  120. package/dist/collection/components/nv-fieldmultiselect/{nv-fieldmultiselect.css → styles/nv-fieldmultiselect.css} +36 -1
  121. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.css +12 -1
  122. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js +8 -0
  123. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js.map +1 -1
  124. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +27 -3
  125. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +1 -1
  126. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.css +12 -1
  127. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js +8 -0
  128. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js.map +1 -1
  129. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +27 -3
  130. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js.map +1 -1
  131. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
  132. package/dist/collection/components/nv-fieldselect/nv-fieldselect.css +12 -1
  133. package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js +8 -0
  134. package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js.map +1 -1
  135. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +29 -5
  136. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js.map +1 -1
  137. package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js +264 -0
  138. package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js.map +1 -0
  139. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +1035 -0
  140. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js.map +1 -0
  141. package/dist/collection/components/nv-fieldslider/nv-fieldslider.utils.js +77 -0
  142. package/dist/collection/components/nv-fieldslider/nv-fieldslider.utils.js.map +1 -0
  143. package/dist/collection/components/nv-fieldslider/partials/field-input.js +33 -0
  144. package/dist/collection/components/nv-fieldslider/partials/field-input.js.map +1 -0
  145. package/dist/collection/components/nv-fieldslider/partials/range-thumb.js +34 -0
  146. package/dist/collection/components/nv-fieldslider/partials/range-thumb.js.map +1 -0
  147. package/dist/collection/components/nv-fieldslider/partials/single-thumb.js +18 -0
  148. package/dist/collection/components/nv-fieldslider/partials/single-thumb.js.map +1 -0
  149. package/dist/collection/components/nv-fieldslider/partials/tick-marks.js +18 -0
  150. package/dist/collection/components/nv-fieldslider/partials/tick-marks.js.map +1 -0
  151. package/dist/collection/components/nv-fieldslider/styles/nv-fieldslider.css +267 -0
  152. package/dist/collection/components/nv-fieldslider/test/nv-fieldslider.utils.test.js +159 -0
  153. package/dist/collection/components/nv-fieldslider/test/nv-fieldslider.utils.test.js.map +1 -0
  154. package/dist/collection/components/nv-fieldtext/nv-fieldtext.css +20 -1
  155. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +17 -1
  156. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js.map +1 -1
  157. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +28 -3
  158. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +1 -1
  159. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.css +30 -1
  160. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js +8 -0
  161. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js.map +1 -1
  162. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +27 -3
  163. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js.map +1 -1
  164. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +13 -10
  165. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js.map +1 -1
  166. package/dist/collection/components/nv-fieldtime/styles/nv-fieldtime.css +26 -3
  167. package/dist/collection/components/nv-icon/nv-icon.js +1 -1
  168. package/dist/collection/components/nv-icon/nv-icons.js +4 -470
  169. package/dist/collection/components/nv-icon/nv-icons.js.map +1 -1
  170. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
  171. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  172. package/dist/collection/components/nv-menu/nv-menu.js +3 -1
  173. package/dist/collection/components/nv-menu/nv-menu.js.map +1 -1
  174. package/dist/collection/components/nv-menuitem/nv-menuitem.js +2 -2
  175. package/dist/collection/components/nv-popover/nv-popover.js +1 -1
  176. package/dist/collection/components/nv-row/nv-row.js +1 -1
  177. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  178. package/dist/collection/components/nv-table/nv-table.js +8 -11
  179. package/dist/collection/components/nv-table/nv-table.js.map +1 -1
  180. package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
  181. package/dist/collection/components/nv-tooltip/nv-tooltip.css +1 -0
  182. package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
  183. package/dist/collection/index.js.map +1 -1
  184. package/dist/collection/interfaces/Column.js.map +1 -1
  185. package/dist/collection/templates/navigation.docs.js +0 -1
  186. package/dist/collection/templates/navigation.docs.js.map +1 -1
  187. package/dist/collection/utils/constants.js +11 -0
  188. package/dist/collection/utils/constants.js.map +1 -1
  189. package/dist/components/index.js +6 -472
  190. package/dist/components/index.js.map +1 -1
  191. package/dist/components/nv-alert.js +7 -7
  192. package/dist/components/nv-alert.js.map +1 -1
  193. package/dist/components/nv-avatar.js +3 -3
  194. package/dist/components/nv-badge.js +1 -1
  195. package/dist/components/nv-breadcrumb.js +3 -3
  196. package/dist/components/nv-breadcrumbs.js +1 -1
  197. package/dist/components/nv-button.js +1 -1
  198. package/dist/components/nv-calendar.js +1 -1
  199. package/dist/components/nv-col.js +1 -1
  200. package/dist/components/nv-datagrid.js +447 -102
  201. package/dist/components/nv-datagrid.js.map +1 -1
  202. package/dist/components/nv-datagridcolumn.js +4 -3
  203. package/dist/components/nv-datagridcolumn.js.map +1 -1
  204. package/dist/components/nv-dialog.js +24 -18
  205. package/dist/components/nv-dialog.js.map +1 -1
  206. package/dist/components/nv-dialogfooter.js +1 -1
  207. package/dist/components/nv-dialogheader.js +1 -1
  208. package/dist/components/nv-fieldcheckbox.js +1 -1
  209. package/dist/components/nv-fielddate.js +19 -27
  210. package/dist/components/nv-fielddate.js.map +1 -1
  211. package/dist/components/nv-fielddaterange.js +99 -44
  212. package/dist/components/nv-fielddaterange.js.map +1 -1
  213. package/dist/components/nv-fielddropdown.js +103 -69
  214. package/dist/components/nv-fielddropdown.js.map +1 -1
  215. package/dist/components/nv-fielddropdownitem.js +1 -1
  216. package/dist/components/nv-fielddropdownitemcheck.js +1 -1
  217. package/dist/components/nv-fieldmultiselect.js +139 -120
  218. package/dist/components/nv-fieldmultiselect.js.map +1 -1
  219. package/dist/components/nv-fieldnumber.js +14 -9
  220. package/dist/components/nv-fieldnumber.js.map +1 -1
  221. package/dist/components/nv-fieldpassword.js +13 -8
  222. package/dist/components/nv-fieldpassword.js.map +1 -1
  223. package/dist/components/nv-fieldradio.js +4 -4
  224. package/dist/components/nv-fieldselect.js +15 -10
  225. package/dist/components/nv-fieldselect.js.map +1 -1
  226. package/dist/components/nv-fieldslider.d.ts +11 -0
  227. package/dist/components/nv-fieldslider.js +726 -0
  228. package/dist/components/nv-fieldslider.js.map +1 -0
  229. package/dist/components/nv-fieldtext.js +1 -158
  230. package/dist/components/nv-fieldtext.js.map +1 -1
  231. package/dist/components/nv-fieldtextarea.js +11 -6
  232. package/dist/components/nv-fieldtextarea.js.map +1 -1
  233. package/dist/components/nv-fieldtime.js +20 -17
  234. package/dist/components/nv-fieldtime.js.map +1 -1
  235. package/dist/components/nv-icon.js +1 -1
  236. package/dist/components/nv-iconbutton.js +1 -1
  237. package/dist/components/nv-loader.js +1 -1
  238. package/dist/components/nv-menu.js +7 -5
  239. package/dist/components/nv-menu.js.map +1 -1
  240. package/dist/components/nv-menuitem.js +1 -1
  241. package/dist/components/nv-popover.js +1 -1
  242. package/dist/components/nv-row.js +2 -2
  243. package/dist/components/nv-stack.js +2 -2
  244. package/dist/components/nv-table.js +3 -3
  245. package/dist/components/nv-table.js.map +1 -1
  246. package/dist/components/nv-tablecolumn.js +1 -1
  247. package/dist/components/nv-toggle.js +3 -3
  248. package/dist/components/nv-tooltip.js +1 -1
  249. package/dist/components/{p-dc3faba3.js → p-04cb3a6f.js} +5 -5
  250. package/dist/components/{p-dc3faba3.js.map → p-04cb3a6f.js.map} +1 -1
  251. package/dist/components/p-07a89754.js +187 -0
  252. package/dist/components/p-07a89754.js.map +1 -0
  253. package/dist/components/{p-b7b78e64.js → p-0ab80d95.js} +3 -3
  254. package/dist/components/{p-b7b78e64.js.map → p-0ab80d95.js.map} +1 -1
  255. package/dist/components/{p-8348db09.js → p-1f505531.js} +15 -2
  256. package/dist/components/p-1f505531.js.map +1 -0
  257. package/dist/components/{p-02752770.js → p-33e231f4.js} +2 -2
  258. package/dist/components/{p-02752770.js.map → p-33e231f4.js.map} +1 -1
  259. package/dist/components/p-4656efae.js +1111 -0
  260. package/dist/components/p-4656efae.js.map +1 -0
  261. package/dist/components/{p-2012b8ba.js → p-581e67cc.js} +4 -4
  262. package/dist/components/{p-2012b8ba.js.map → p-581e67cc.js.map} +1 -1
  263. package/dist/components/{p-1c45c0f2.js → p-679e0fa9.js} +16 -4
  264. package/dist/components/p-679e0fa9.js.map +1 -0
  265. package/dist/components/p-76a30bf1.js +88 -0
  266. package/dist/components/p-76a30bf1.js.map +1 -0
  267. package/dist/components/{p-150daf68.js → p-83c8873a.js} +3 -3
  268. package/dist/components/{p-150daf68.js.map → p-83c8873a.js.map} +1 -1
  269. package/dist/components/{p-c14f6b8e.js → p-c0a91091.js} +5 -5
  270. package/dist/components/p-c0a91091.js.map +1 -0
  271. package/dist/components/{p-6c364a23.js → p-cbdc2c8b.js} +6 -6
  272. package/dist/components/{p-6c364a23.js.map → p-cbdc2c8b.js.map} +1 -1
  273. package/dist/components/{p-2d9ba7d3.js → p-cbe9521f.js} +4 -4
  274. package/dist/components/{p-2d9ba7d3.js.map → p-cbe9521f.js.map} +1 -1
  275. package/dist/components/{p-a30b55fc.js → p-d19b41d2.js} +2 -2
  276. package/dist/components/{p-a30b55fc.js.map → p-d19b41d2.js.map} +1 -1
  277. package/dist/components/{p-4d3ec142.js → p-d63f1cbe.js} +4 -4
  278. package/dist/components/{p-4d3ec142.js.map → p-d63f1cbe.js.map} +1 -1
  279. package/dist/components/{p-e00cbb8a.js → p-dd2273a3.js} +2 -2
  280. package/dist/components/{p-e00cbb8a.js.map → p-dd2273a3.js.map} +1 -1
  281. package/dist/components/p-f0a5e7e4.js +167 -0
  282. package/dist/components/p-f0a5e7e4.js.map +1 -0
  283. package/dist/components/{p-f4d86795.js → p-f1859ddc.js} +4 -4
  284. package/dist/components/{p-f4d86795.js.map → p-f1859ddc.js.map} +1 -1
  285. package/dist/esm/{constants-98e2dcc2.js → constants-b97e736d.js} +15 -2
  286. package/dist/esm/constants-b97e736d.js.map +1 -0
  287. package/dist/esm/{index-1fb7a9a6.js → index-8f0e5f19.js} +22 -6
  288. package/dist/esm/index-8f0e5f19.js.map +1 -0
  289. package/dist/esm/index.js +5 -471
  290. package/dist/esm/index.js.map +1 -1
  291. package/dist/esm/loader.js +3 -3
  292. package/dist/esm/native.js +3 -3
  293. package/dist/esm/nv-alert.entry.js +6 -6
  294. package/dist/esm/nv-alert.entry.js.map +1 -1
  295. package/dist/esm/nv-avatar.entry.js +2 -2
  296. package/dist/esm/nv-badge_2.entry.js +18 -9
  297. package/dist/esm/nv-badge_2.entry.js.map +1 -1
  298. package/dist/esm/nv-breadcrumb.entry.js +1 -1
  299. package/dist/esm/nv-breadcrumbs.entry.js +1 -1
  300. package/dist/esm/nv-button.entry.js +2 -2
  301. package/dist/esm/nv-calendar.entry.js +821 -843
  302. package/dist/esm/nv-calendar.entry.js.map +1 -1
  303. package/dist/esm/nv-col.entry.js +1 -1
  304. package/dist/esm/nv-datagrid.entry.js +423 -94
  305. package/dist/esm/nv-datagrid.entry.js.map +1 -1
  306. package/dist/esm/nv-datagridcolumn.entry.js +2 -2
  307. package/dist/esm/nv-datagridcolumn.entry.js.map +1 -1
  308. package/dist/esm/nv-dialog.entry.js +19 -13
  309. package/dist/esm/nv-dialog.entry.js.map +1 -1
  310. package/dist/esm/nv-dialogfooter_2.entry.js +2 -2
  311. package/dist/esm/nv-fieldcheckbox.entry.js +1 -1
  312. package/dist/esm/nv-fielddate.entry.js +9 -18
  313. package/dist/esm/nv-fielddate.entry.js.map +1 -1
  314. package/dist/esm/nv-fielddaterange.entry.js +85 -32
  315. package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
  316. package/dist/esm/nv-fielddropdown.entry.js +88 -57
  317. package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
  318. package/dist/esm/nv-fielddropdownitem.entry.js +2 -2
  319. package/dist/esm/nv-fieldmultiselect.entry.js +122 -104
  320. package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
  321. package/dist/esm/nv-fieldnumber.entry.js +9 -5
  322. package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
  323. package/dist/esm/nv-fieldpassword.entry.js +9 -5
  324. package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
  325. package/dist/esm/nv-fieldradio.entry.js +4 -4
  326. package/dist/esm/nv-fieldselect.entry.js +11 -7
  327. package/dist/esm/nv-fieldselect.entry.js.map +1 -1
  328. package/dist/esm/nv-fieldslider.entry.js +659 -0
  329. package/dist/esm/nv-fieldslider.entry.js.map +1 -0
  330. package/dist/esm/nv-fieldtext.entry.js +9 -5
  331. package/dist/esm/nv-fieldtext.entry.js.map +1 -1
  332. package/dist/esm/nv-fieldtextarea.entry.js +9 -5
  333. package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
  334. package/dist/esm/nv-fieldtime.entry.js +16 -13
  335. package/dist/esm/nv-fieldtime.entry.js.map +1 -1
  336. package/dist/esm/nv-icon.entry.js +4 -4
  337. package/dist/esm/nv-icon.entry.js.map +1 -1
  338. package/dist/esm/nv-iconbutton_2.entry.js +3 -3
  339. package/dist/esm/nv-menu.entry.js +4 -2
  340. package/dist/esm/nv-menu.entry.js.map +1 -1
  341. package/dist/esm/nv-menuitem.entry.js +2 -2
  342. package/dist/esm/nv-popover.entry.js +2 -2
  343. package/dist/esm/nv-row.entry.js +2 -2
  344. package/dist/esm/nv-stack.entry.js +2 -2
  345. package/dist/esm/nv-table.entry.js +3 -3
  346. package/dist/esm/nv-table.entry.js.map +1 -1
  347. package/dist/esm/nv-tablecolumn.entry.js +1 -1
  348. package/dist/esm/nv-toggle.entry.js +3 -3
  349. package/dist/esm/nv-tooltip.entry.js +3 -3
  350. package/dist/esm/nv-tooltip.entry.js.map +1 -1
  351. package/dist/native/index.esm.js +1 -1
  352. package/dist/native/index.esm.js.map +1 -1
  353. package/dist/native/native.css +1 -1
  354. package/dist/native/native.esm.js +1 -1
  355. package/dist/native/native.esm.js.map +1 -1
  356. package/dist/native/{p-6b348684.entry.js → p-0323daf6.entry.js} +2 -2
  357. package/dist/native/{p-d5cbf5c8.entry.js → p-05d95d4d.entry.js} +2 -2
  358. package/dist/native/{p-fb5bddba.entry.js → p-0ec1e2e3.entry.js} +2 -2
  359. package/dist/native/{p-c7b201cd.entry.js → p-16a4cdf3.entry.js} +2 -2
  360. package/dist/native/p-19fb0fd0.entry.js +2 -0
  361. package/dist/native/p-19fb0fd0.entry.js.map +1 -0
  362. package/dist/native/p-1e3d3374.entry.js +2 -0
  363. package/dist/native/{p-9135fdf5.entry.js.map → p-1e3d3374.entry.js.map} +1 -1
  364. package/dist/native/p-21e7132f.entry.js +2 -0
  365. package/dist/native/p-21e7132f.entry.js.map +1 -0
  366. package/dist/native/p-221b8f72.entry.js +2 -0
  367. package/dist/native/p-221b8f72.entry.js.map +1 -0
  368. package/dist/native/p-2805f9f2.entry.js +2 -0
  369. package/dist/native/p-2805f9f2.entry.js.map +1 -0
  370. package/dist/native/p-3f2b6a22.entry.js +2 -0
  371. package/dist/native/p-3f2b6a22.entry.js.map +1 -0
  372. package/dist/native/{p-0245863d.entry.js → p-407fc32d.entry.js} +2 -2
  373. package/dist/native/{p-63e6aed3.entry.js → p-4c0d81b0.entry.js} +2 -2
  374. package/dist/native/p-4c0d81b0.entry.js.map +1 -0
  375. package/dist/native/{p-39bb95ff.entry.js → p-519b4819.entry.js} +2 -2
  376. package/dist/native/{p-fa77a591.entry.js → p-5382eab2.entry.js} +2 -2
  377. package/dist/native/p-5ba3fc3c.entry.js +2 -0
  378. package/dist/native/p-5ba3fc3c.entry.js.map +1 -0
  379. package/dist/native/{p-bad11367.entry.js → p-60b204ac.entry.js} +2 -2
  380. package/dist/native/p-60b204ac.entry.js.map +1 -0
  381. package/dist/native/p-7092a675.entry.js +2 -0
  382. package/dist/native/p-711a7778.js +3 -0
  383. package/dist/native/p-711a7778.js.map +1 -0
  384. package/dist/native/p-759c9ce4.entry.js +2 -0
  385. package/dist/native/p-759c9ce4.entry.js.map +1 -0
  386. package/dist/native/{p-d7a76400.entry.js → p-7c676f2c.entry.js} +2 -2
  387. package/dist/native/p-7c6edd1c.entry.js +2 -0
  388. package/dist/native/p-7c6edd1c.entry.js.map +1 -0
  389. package/dist/native/p-987c79d8.entry.js +2 -0
  390. package/dist/native/p-987c79d8.entry.js.map +1 -0
  391. package/dist/native/{p-f85aca27.entry.js → p-9fba8663.entry.js} +2 -2
  392. package/dist/native/{p-b094296d.entry.js → p-a2c0f1a7.entry.js} +2 -2
  393. package/dist/native/p-aa86af25.entry.js +2 -0
  394. package/dist/native/p-aa86af25.entry.js.map +1 -0
  395. package/dist/native/p-adc96c3a.entry.js +2 -0
  396. package/dist/native/p-adc96c3a.entry.js.map +1 -0
  397. package/dist/native/p-b0fc08e7.entry.js +2 -0
  398. package/dist/native/p-b0fc08e7.entry.js.map +1 -0
  399. package/dist/native/{p-6ff228da.entry.js → p-c930adb7.entry.js} +2 -2
  400. package/dist/native/{p-701b5557.entry.js → p-cfe0a6c6.entry.js} +2 -2
  401. package/dist/native/p-d07ab618.entry.js +2 -0
  402. package/dist/native/p-dac0089b.entry.js +2 -0
  403. package/dist/native/p-dac0089b.entry.js.map +1 -0
  404. package/dist/native/p-de2c07a6.entry.js +13 -0
  405. package/dist/native/p-de2c07a6.entry.js.map +1 -0
  406. package/dist/native/p-ed488498.entry.js +7 -0
  407. package/dist/native/p-ed488498.entry.js.map +1 -0
  408. package/dist/native/p-ef76178b.entry.js +2 -0
  409. package/dist/native/p-ef76178b.entry.js.map +1 -0
  410. package/dist/native/{p-e5de64d5.entry.js → p-f0ddf60b.entry.js} +2 -2
  411. package/dist/native/p-f39803d9.entry.js +2 -0
  412. package/dist/native/p-f39803d9.entry.js.map +1 -0
  413. package/dist/native/{p-59768ee5.js → p-f85c08f1.js} +2 -2
  414. package/dist/native/p-f85c08f1.js.map +1 -0
  415. package/dist/native/p-fb897f7d.entry.js +2 -0
  416. package/dist/native/p-fb897f7d.entry.js.map +1 -0
  417. package/dist/native/{p-244f56ac.entry.js → p-fc3bea07.entry.js} +2 -2
  418. package/dist/types/components/nv-alert/nv-alert.d.ts +1 -1
  419. package/dist/types/components/nv-badge/nv-badge.d.ts +11 -3
  420. package/dist/types/components/nv-calendar/nv-calendar.d.ts +70 -112
  421. package/dist/types/components/nv-calendar/nv-calendar.utils.d.ts +60 -0
  422. package/dist/types/components/nv-calendar/test/nv-calendar.utils.test.d.ts +1 -0
  423. package/dist/types/components/nv-datagrid/nv-datagrid.d.ts +47 -26
  424. package/dist/types/components/nv-datagridcolumn/nv-datagridcolumn.d.ts +4 -0
  425. package/dist/types/components/nv-dialog/nv-dialog.d.ts +4 -0
  426. package/dist/types/components/nv-fielddate/nv-fielddate.d.ts +6 -7
  427. package/dist/types/components/nv-fielddaterange/nv-fielddaterange.d.ts +23 -12
  428. package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +51 -26
  429. package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +65 -55
  430. package/dist/types/components/nv-fieldnumber/nv-fieldnumber.d.ts +4 -0
  431. package/dist/types/components/nv-fieldpassword/nv-fieldpassword.d.ts +4 -0
  432. package/dist/types/components/nv-fieldselect/nv-fieldselect.d.ts +4 -0
  433. package/dist/types/components/nv-fieldslider/nv-fieldslider.d.ts +230 -0
  434. package/dist/types/components/nv-fieldslider/nv-fieldslider.docs.d.ts +4 -0
  435. package/dist/types/components/nv-fieldslider/nv-fieldslider.utils.d.ts +46 -0
  436. package/dist/types/components/nv-fieldslider/partials/field-input.d.ts +45 -0
  437. package/dist/types/components/nv-fieldslider/partials/range-thumb.d.ts +37 -0
  438. package/dist/types/components/nv-fieldslider/partials/single-thumb.d.ts +35 -0
  439. package/dist/types/components/nv-fieldslider/partials/tick-marks.d.ts +28 -0
  440. package/dist/types/components/nv-fieldslider/test/nv-fieldslider.utils.test.d.ts +1 -0
  441. package/dist/types/components/nv-fieldtext/nv-fieldtext.d.ts +5 -0
  442. package/dist/types/components/nv-fieldtextarea/nv-fieldtextarea.d.ts +4 -0
  443. package/dist/types/components/nv-icon/nv-icons.d.ts +1 -1
  444. package/dist/types/components/nv-table/nv-table.d.ts +13 -2
  445. package/dist/types/components.d.ts +656 -154
  446. package/dist/types/index.d.ts +0 -2
  447. package/dist/types/interfaces/Column.d.ts +5 -1
  448. package/dist/types/utils/constants.d.ts +9 -0
  449. package/dist/vscode-data.json +292 -1546
  450. package/hydrate/index.js +2715 -1533
  451. package/hydrate/index.mjs +2715 -1533
  452. package/package.json +6 -2
  453. package/dist/cjs/constants-bcd6b2e2.js.map +0 -1
  454. package/dist/cjs/index-9bda5507.js.map +0 -1
  455. package/dist/collection/interfaces/actionEvent.js +0 -2
  456. package/dist/collection/interfaces/actionEvent.js.map +0 -1
  457. package/dist/collection/interfaces/calendarShortcut.js +0 -2
  458. package/dist/collection/interfaces/calendarShortcut.js.map +0 -1
  459. package/dist/collection/interfaces/dateRange.js +0 -2
  460. package/dist/collection/interfaces/dateRange.js.map +0 -1
  461. package/dist/components/p-1c45c0f2.js.map +0 -1
  462. package/dist/components/p-373926aa.js +0 -177
  463. package/dist/components/p-373926aa.js.map +0 -1
  464. package/dist/components/p-591730e7.js +0 -88
  465. package/dist/components/p-591730e7.js.map +0 -1
  466. package/dist/components/p-8348db09.js.map +0 -1
  467. package/dist/components/p-c14f6b8e.js.map +0 -1
  468. package/dist/components/p-f331117c.js +0 -1133
  469. package/dist/components/p-f331117c.js.map +0 -1
  470. package/dist/esm/constants-98e2dcc2.js.map +0 -1
  471. package/dist/esm/index-1fb7a9a6.js.map +0 -1
  472. package/dist/native/p-0ee428d5.entry.js +0 -2
  473. package/dist/native/p-0ee428d5.entry.js.map +0 -1
  474. package/dist/native/p-2691e02d.entry.js +0 -2
  475. package/dist/native/p-37f0210e.entry.js +0 -2
  476. package/dist/native/p-37f0210e.entry.js.map +0 -1
  477. package/dist/native/p-4a440970.entry.js +0 -2
  478. package/dist/native/p-4a440970.entry.js.map +0 -1
  479. package/dist/native/p-4ae26462.entry.js +0 -7
  480. package/dist/native/p-4ae26462.entry.js.map +0 -1
  481. package/dist/native/p-4d9c4618.entry.js +0 -2
  482. package/dist/native/p-4d9c4618.entry.js.map +0 -1
  483. package/dist/native/p-4dc1d036.entry.js +0 -2
  484. package/dist/native/p-59768ee5.js.map +0 -1
  485. package/dist/native/p-59e0bd2b.entry.js +0 -2
  486. package/dist/native/p-59e0bd2b.entry.js.map +0 -1
  487. package/dist/native/p-5c00f092.entry.js +0 -2
  488. package/dist/native/p-5c00f092.entry.js.map +0 -1
  489. package/dist/native/p-63e6aed3.entry.js.map +0 -1
  490. package/dist/native/p-7f5eb2ac.entry.js +0 -2
  491. package/dist/native/p-7f5eb2ac.entry.js.map +0 -1
  492. package/dist/native/p-84a73e2a.entry.js +0 -2
  493. package/dist/native/p-84a73e2a.entry.js.map +0 -1
  494. package/dist/native/p-9135fdf5.entry.js +0 -2
  495. package/dist/native/p-93dc2f47.entry.js +0 -2
  496. package/dist/native/p-93dc2f47.entry.js.map +0 -1
  497. package/dist/native/p-9a267f16.entry.js +0 -13
  498. package/dist/native/p-9a267f16.entry.js.map +0 -1
  499. package/dist/native/p-9d6431c7.entry.js +0 -2
  500. package/dist/native/p-9d6431c7.entry.js.map +0 -1
  501. package/dist/native/p-ab002252.js +0 -3
  502. package/dist/native/p-ab002252.js.map +0 -1
  503. package/dist/native/p-b2ce83ad.entry.js +0 -2
  504. package/dist/native/p-b2ce83ad.entry.js.map +0 -1
  505. package/dist/native/p-bad11367.entry.js.map +0 -1
  506. package/dist/native/p-e1a4f776.entry.js +0 -2
  507. package/dist/native/p-e1a4f776.entry.js.map +0 -1
  508. package/dist/native/p-e49bbd02.entry.js +0 -2
  509. package/dist/native/p-e49bbd02.entry.js.map +0 -1
  510. package/dist/native/p-eee01062.entry.js +0 -2
  511. package/dist/native/p-eee01062.entry.js.map +0 -1
  512. package/dist/native/p-f6bdc270.entry.js +0 -2
  513. package/dist/native/p-f6bdc270.entry.js.map +0 -1
  514. package/dist/types/interfaces/actionEvent.d.ts +0 -13
  515. package/dist/types/interfaces/calendarShortcut.d.ts +0 -17
  516. package/dist/types/interfaces/dateRange.d.ts +0 -13
  517. /package/dist/native/{p-6b348684.entry.js.map → p-0323daf6.entry.js.map} +0 -0
  518. /package/dist/native/{p-d5cbf5c8.entry.js.map → p-05d95d4d.entry.js.map} +0 -0
  519. /package/dist/native/{p-fb5bddba.entry.js.map → p-0ec1e2e3.entry.js.map} +0 -0
  520. /package/dist/native/{p-c7b201cd.entry.js.map → p-16a4cdf3.entry.js.map} +0 -0
  521. /package/dist/native/{p-0245863d.entry.js.map → p-407fc32d.entry.js.map} +0 -0
  522. /package/dist/native/{p-39bb95ff.entry.js.map → p-519b4819.entry.js.map} +0 -0
  523. /package/dist/native/{p-fa77a591.entry.js.map → p-5382eab2.entry.js.map} +0 -0
  524. /package/dist/native/{p-2691e02d.entry.js.map → p-7092a675.entry.js.map} +0 -0
  525. /package/dist/native/{p-d7a76400.entry.js.map → p-7c676f2c.entry.js.map} +0 -0
  526. /package/dist/native/{p-f85aca27.entry.js.map → p-9fba8663.entry.js.map} +0 -0
  527. /package/dist/native/{p-b094296d.entry.js.map → p-a2c0f1a7.entry.js.map} +0 -0
  528. /package/dist/native/{p-6ff228da.entry.js.map → p-c930adb7.entry.js.map} +0 -0
  529. /package/dist/native/{p-701b5557.entry.js.map → p-cfe0a6c6.entry.js.map} +0 -0
  530. /package/dist/native/{p-4dc1d036.entry.js.map → p-d07ab618.entry.js.map} +0 -0
  531. /package/dist/native/{p-e5de64d5.entry.js.map → p-f0ddf60b.entry.js.map} +0 -0
  532. /package/dist/native/{p-244f56ac.entry.js.map → p-fc3bea07.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["nvFieldtimeCss","NvFieldtimeStyle0","NvFieldtime","constructor","hostRef","this","inputElements","inputZeroAdded","typeFocused","TimeType","Hours","hours","minutes","seconds","inputId","uuidv4","readonly","disabled","required","success","error","format","open","step","autofocus","handleOpenChanged","event","stopPropagation","detail","handleKeyDown","key","preventDefault","popoverElement","console","warn","stringSelector","items","Array","from","el","querySelectorAll","length","currentIndex","findIndex","item","classList","contains","updateHighlightedItem","click","_a","Minutes","focus","_b","select","Seconds","_c","_d","blur","handleValueChange","newValue","valueChanged","emit","handleInputChange","e","type","inputElement","target","inputValue","value","replace","handleHoursChange","handleMinutesChange","handleSecondsChange","currentValue","reconstructTime","isHHFormat","startsWith","maxHours","reputedToZero","maxHour","parseHour","max","minHour","min","newInputValue","padStart","parseInt","slice","parsedNewInputValue","toString","maxMinutes","minMinute","parseMinute","maxMinute","_e","_f","maxSeconds","minSecond","parseSecond","maxSecond","parseTime","timeString","cleanedTime","hour","minute","second","handleFocus","HandleDropdownIconClick","index","forEach","i","add","setAttribute","scrollIntoView","block","remove","handleTimeOptionClick","option","textContent","handleInputBlur","setTimeout","document","activeElement","handleClickOutside","Object","values","some","input","handleScroll","scrollTop","containerHeight","clientHeight","scrollHeight","itemHeight","options","generateTimeOptions","singleSetHeight","stepInSeconds","generateHourOptions","generateMinuteOptions","generateSecondOptions","hourStep","Math","floor","maxHourValue","minHourValue","push","hourStr","split","isNaN","minuteStep","parts","secondStep","generateInfiniteTimeOptions","totalOptions","repetitions","ceil","fill","flat","getCurrentTime","currentTime","Date","toLocaleTimeString","updateColumnHighlight","selector","x","handleHostClick","targetElement","closest","componentWillLoad","addEventListener","bind","connectedCallback","disconnectedCallback","removeEventListener","componentDidLoad","secondAmPm","amPm","includes","parsedHour","hourSelector","minuteSelector","secondSelector","RenderTimeOptionsColumn","h","class","onScroll","map","selected","onClick","render","Host","onclick","label","querySelector","htmlFor","name","ref","triggerMode","placement","slot","startsWithIgnoreCase","pattern","maxlength","onInput","placeholder","inputMode","onFocus","id","onKeyDown","onBlur","size","emphasis","description","errorDescription","hidden"],"sources":["src/components/nv-fieldtime/styles/nv-fieldtime.scss?tag=nv-fieldtime","src/components/nv-fieldtime/nv-fieldtime.tsx"],"sourcesContent":["@use './mixins' as *;\n@import '../../../styles/form-field';\n\nnv-fieldtime {\n @include form-field-variables();\n @include form-field-root();\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 @include apply-popover-style;\n }\n\n .input-wrapper {\n @include form-field-input-wrapper();\n width: 100%;\n }\n\n .input-container {\n @include form-field-input-container();\n @include flex-container(flex-start);\n position: relative;\n width: 100%;\n min-height: 40px;\n gap: 0;\n padding-left: var(--form-field-padding-x);\n\n input.time-input {\n @include form-field-input();\n @include apply-input-styles();\n }\n\n span {\n width: 100%;\n text-align: center;\n min-width: 24px;\n flex: 0 0 24px;\n padding: 0 4px;\n color: var(--components-form-field-content-text);\n }\n\n > nv-iconbutton {\n @include form-field-action();\n margin-left: auto;\n }\n\n nv-icon.validation {\n @include form-field-icon();\n @include icon-position(50px);\n }\n\n &:focus,\n &:focus-within {\n @include apply-focus-styles;\n }\n }\n\n .description {\n @include form-field-description();\n }\n\n .error-description {\n @include form-field-error-description();\n }\n\n hr {\n border: none;\n border-top: 1px solid var(--dropdown-divider-color, #ccc);\n margin: 0.5rem 0;\n }\n\n .time-dropdown {\n width: 100%;\n\n .time-columns {\n @include flex-container;\n\n .time-column {\n flex: 1;\n text-align: center;\n padding-right: 2px;\n @include scrollable(200px);\n\n &:last-child {\n border-right: none;\n }\n\n .time-option {\n padding: var(--list-dropdown-item-padding-y)\n var(--list-dropdown-item-padding-x);\n text-align: center;\n cursor: pointer;\n transition: background-color 0.2s;\n height: 40px;\n border-radius: var(--list-dropdown-item-radius);\n @include flex-container(center);\n\n &:hover {\n background-color: var(\n --components-list-dropdown-item-background-hover\n );\n color: var(--components-list-dropdown-item-label-hover);\n }\n\n @include state-focus(\n var(--components-list-dropdown-item-background-hover),\n var(--components-list-dropdown-item-label-hover)\n );\n\n &.selected {\n background-color: var(\n --components-list-dropdown-item-background-active\n );\n color: var(--components-list-dropdown-item-label-active);\n @include bordered-element(\n 1px,\n var(--components-list-dropdown-item-border-active)\n );\n }\n\n &.highlighted {\n background-color: var(\n --components-list-dropdown-item-background-hover\n );\n color: var(--components-menu-contextual-item-content-hover);\n }\n }\n }\n }\n }\n}\n","/* eslint-disable react/jsx-no-bind */\nimport {\n Component,\n Host,\n h,\n State,\n Element,\n Event,\n EventEmitter,\n Prop,\n Watch,\n Listen,\n} from '@stencil/core';\nimport { v4 as uuidv4 } from 'uuid';\nimport { startsWithIgnoreCase } from '../../utils/string.utils';\nimport { TimeType } from '../../utils/constants';\n\n/**\n * @slot label - Content to be placed as the label, will override the label prop.\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 leading-input - Content to be placed before the input text, within the input container.\n * @slot error-description - Content to be placed as the error description, will override the errorDescription prop.\n * @slot description - Content to be placed as the description, will override the description prop.\n */\n@Component({\n tag: 'nv-fieldtime',\n styleUrl: 'styles/nv-fieldtime.scss',\n shadow: false,\n formAssociated: true,\n})\nexport class NvFieldtime {\n @Element() el: HTMLNvFieldtimeElement;\n\n // Input elements for hours, minutes, and seconds\n private inputElements: { [key: string]: HTMLInputElement } = {};\n\n private inputZeroAdded: { [key: string]: boolean } = {};\n\n private popoverElement!: HTMLNvPopoverElement;\n\n private typeFocused: TimeType = TimeType.Hours;\n\n /****************************************************************************/\n //#region STATES\n\n @State()\n hours: string = '00';\n @State()\n minutes: string = '00';\n @State()\n seconds: string = '00';\n\n //#endregion STATES\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * The current value of the time input in the specified format.\n */\n @Prop({ reflect: true, mutable: true })\n value: string;\n\n /**\n * Lets you define the text that explains what users should enter in the time\n * input field. It's a crucial element for making forms clear and\n * user-friendly.\n */\n @Prop({ reflect: true })\n readonly label: string;\n\n /**\n * Sets the ID for the input element and the for attribute of the associated\n * label. If no ID is provided, a random one will be automatically generated\n * to ensure unique identification, facilitating proper label association and\n * accessibility.\n */\n @Prop({ reflect: true })\n readonly inputId: string = uuidv4();\n\n /**\n * Display the input field's content without allowing users to change it.\n * Users can still click on it, select, and copy the text, but they won't be\n * able to type or delete anything.\n */\n @Prop({ reflect: true })\n readonly readonly: boolean = false;\n\n /**\n * The disabled prop lets you turn off the input field so that users can't\n * interact with it. When disabled, the field is grayed out and won't respond to\n * clicks or touches.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Marks the input field as required, ensuring that the user must fill it out\n * before submitting the form.\n */\n @Prop({ reflect: true })\n readonly required: boolean = false;\n\n /**\n * Defines the name attribute of the input field, which is crucial for form\n * submission. This value is used as the key in the key-value pair sent to\n * the server, representing the input's data in form submissions.\n */\n @Prop({ reflect: true })\n readonly name: string;\n\n /**\n * Changes the input field’s appearance to indicate successful input or\n * validation.\n */\n @Prop({ reflect: true })\n readonly success: boolean = false;\n\n /**\n * Alters the input field's appearance to indicate an error, helping users\n * identify fields that need correction.\n * @validator error\n */\n @Prop({ reflect: true })\n readonly error: boolean = false;\n\n /**\n * A description that appears when there is an error related to the time\n * field.\n * @validator message\n */\n @Prop({ reflect: true })\n readonly errorDescription: string;\n\n /**\n * Specifies the time format to be used.\n * Available formats:\n * - HH: 24-hour format (00-23)\n * - HH:mm: 24-hour format with minutes (00:00-23:59)\n * - HH:mm:ss: 24-hour format with minutes and seconds (00:00:00-23:59:59)\n * - hh: 12-hour format (01-12)\n * - hh:mm: 12-hour format with minutes (01:00-12:59)\n * - hh:mm:ss: 12-hour format with minutes and seconds (01:00:00-12:59:59)\n */\n @Prop({ reflect: true })\n readonly format: 'HH' | 'HH:mm' | 'HH:mm:ss' | 'hh' | 'hh:mm' | 'hh:mm:ss' =\n 'HH:mm:ss';\n\n /**\n * Add helpful hints or extra information under the time input field. This is\n * where you can clarify what users should enter or provide additional\n * instructions.\n */\n @Prop({ reflect: true })\n readonly description: string;\n\n /**\n * State of the time picker popover.\n */\n @Prop({ reflect: true, mutable: true })\n open: boolean = false;\n\n /**\n * The step interval in milliseconds for time increments/decrements.\n * This affects how the time changes when using arrow keys or spinners.\n */\n @Prop({ reflect: true })\n readonly step: number = 60000; // In secondes\n\n /**\n * The maximum time value that can be selected.\n */\n @Prop({ reflect: true })\n readonly max: string;\n\n /**\n * The minimum time value that can be selected.\n */\n @Prop({ reflect: true })\n readonly min: string;\n\n /**\n * Applies focus to the input field as soon as the component is mounted. This\n * is equivalent to setting the native autofocus attribute on an <input>\n * element.\n */\n @Prop({ reflect: true })\n // eslint-disable-next-line @stencil-community/reserved-member-names\n readonly autofocus: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emit an event when the time value changes.\n * The event detail contains the new time value (HH, HH:mm or HH:mm:ss).\n */\n @Event()\n valueChanged: EventEmitter<string>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region LISTENERS\n\n @Listen('openChanged')\n handleOpenChanged(event: CustomEvent<boolean>) {\n // Stop propagation to prevent the event from affecting parent components like dialogs\n event.stopPropagation();\n\n // Update `open` based on the popover state\n this.open = event.detail;\n }\n\n @Listen('keydown', { passive: false })\n handleKeyDown(event: KeyboardEvent) {\n if (!this.open) {\n if (event.key === 'ArrowDown') {\n this.open = true;\n\n event.preventDefault();\n return;\n }\n return;\n }\n\n // Verify if the popover element is defined\n if (!this.popoverElement) {\n console.warn('nv-fieldtime -> Popover element is not defined');\n return;\n }\n\n const stringSelector = `.time-column.time-column-${this.typeFocused} div`;\n const items = Array.from(\n this.el.querySelectorAll<HTMLElement>(stringSelector),\n );\n\n // Verify if there are items to navigate\n if (items.length === 0) {\n console.warn('nv-fieldtime -> No dropdown items found to navigate');\n return;\n }\n\n let currentIndex = items.findIndex(item =>\n item.classList.contains('highlighted'),\n );\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n currentIndex = (currentIndex + 1) % items.length;\n this.updateHighlightedItem(items, currentIndex);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n currentIndex = (currentIndex - 1 + items.length) % items.length;\n this.updateHighlightedItem(items, currentIndex);\n } else if (event.key === 'Enter' && currentIndex >= 0) {\n event.preventDefault();\n items[currentIndex].click();\n\n if (this.typeFocused === TimeType.Hours) {\n this.inputElements[TimeType.Minutes]?.focus();\n this.inputElements[TimeType.Minutes]?.select();\n } else if (\n this.typeFocused === TimeType.Minutes ||\n this.typeFocused === TimeType.Seconds\n ) {\n this.inputElements[TimeType.Seconds]?.focus();\n this.inputElements[TimeType.Seconds]?.select();\n }\n } else if (event.key === 'Escape') {\n event.preventDefault();\n\n if (this.inputElements[TimeType.Hours]) {\n this.inputElements[TimeType.Hours].blur();\n }\n }\n }\n\n //#endregion LISTENERS\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('value')\n handleValueChange(newValue: string) {\n this.valueChanged.emit(newValue);\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region METHODS\n\n private handleInputChange(e: InputEvent, type: TimeType): void {\n const inputElement = e.target as HTMLInputElement;\n const inputValue = inputElement.value.replace(/[^0-9]/g, ''); // Only keep numeric input\n\n // Update the time value based on the type\n switch (type) {\n case TimeType.Hours:\n this.handleHoursChange(inputValue, type);\n break;\n case TimeType.Minutes:\n this.handleMinutesChange(inputValue, type);\n break;\n case TimeType.Seconds:\n this.handleSecondsChange(inputValue, type);\n break;\n }\n\n // Reconstruct time from inputs\n const currentValue = this.reconstructTime();\n\n this.value = currentValue;\n }\n\n private handleHoursChange(inputValue: string, type: TimeType): void {\n const isHHFormat = this.format.startsWith('HH');\n const maxHours = isHHFormat ? 24 : 12;\n let reputedToZero = false;\n const maxHour =\n this.parseHour(this.max, this.format) ||\n (this.format.startsWith('hh') ? '12' : '24');\n const minHour = this.parseHour(this.min, this.format) || '00';\n\n if (inputValue.length === 1) {\n this.inputZeroAdded[type] = true;\n\n const newInputValue = inputValue.padStart(2, '0');\n\n if (maxHour && parseInt(newInputValue, 10) > parseInt(maxHour, 10)) {\n if (minHour && parseInt(newInputValue, 10) < parseInt(minHour, 10)) {\n this.hours = minHour;\n } else {\n this.hours = '00';\n reputedToZero = true;\n }\n } else {\n if (minHour && parseInt(newInputValue, 10) < parseInt(minHour, 10)) {\n this.hours = minHour;\n } else {\n this.hours = newInputValue;\n }\n }\n } else if (this.inputZeroAdded[type]) {\n this.inputZeroAdded[type] = false;\n\n const newInputValue = inputValue.slice(1, 3).padStart(2, '0');\n const parsedNewInputValue = parseInt(newInputValue, 10) || 0;\n\n if (parsedNewInputValue >= maxHours) {\n if (minHour && parseInt(newInputValue, 10) < parseInt(minHour, 10)) {\n this.hours = minHour;\n } else {\n this.hours = '00';\n reputedToZero = true;\n }\n } else {\n if (maxHour && parseInt(newInputValue, 10) > parseInt(maxHour, 10)) {\n if (minHour && parseInt(newInputValue, 10) < parseInt(minHour, 10)) {\n this.hours = minHour;\n } else {\n this.hours = '00';\n reputedToZero = true;\n }\n } else {\n if (minHour && parseInt(newInputValue, 10) < parseInt(minHour, 10)) {\n this.hours = minHour;\n } else {\n this.hours = newInputValue;\n }\n }\n }\n } else if (inputValue.length > 2) {\n if (inputValue.startsWith('00')) {\n this.inputZeroAdded[type] = true;\n const newInputValue = inputValue.slice(1, 3).padStart(2, '0');\n\n if (maxHour && parseInt(newInputValue, 10) > parseInt(maxHour, 10)) {\n if (minHour && parseInt(newInputValue, 10) < parseInt(minHour, 10)) {\n this.hours = minHour;\n } else {\n this.hours = '00';\n reputedToZero = true;\n }\n } else {\n if (minHour && parseInt(newInputValue, 10) < parseInt(minHour, 10)) {\n this.hours = minHour;\n } else {\n this.hours = newInputValue;\n }\n }\n } else {\n const newInputValue = inputValue.slice(1, 3).padStart(2, '0');\n const parsedNewInputValue = parseInt(newInputValue, 10) || 0;\n\n if (parsedNewInputValue >= maxHours) {\n if (minHour && parseInt(newInputValue, 10) < parseInt(minHour, 10)) {\n this.hours = minHour;\n reputedToZero = true;\n } else {\n this.hours = '00';\n reputedToZero = true;\n }\n } else {\n if (maxHour && parsedNewInputValue > parseInt(maxHour, 10)) {\n if (\n minHour &&\n parseInt(newInputValue, 10) < parseInt(minHour, 10)\n ) {\n this.hours = minHour;\n } else {\n this.hours = '00';\n reputedToZero = true;\n }\n } else {\n if (minHour && parsedNewInputValue < parseInt(minHour, 10)) {\n this.hours = minHour;\n } else {\n this.hours = parsedNewInputValue.toString();\n }\n }\n }\n }\n } else {\n const newInputValue = inputValue.padStart(2, '0');\n const parsedNewInputValue = parseInt(newInputValue, 10) || 0;\n\n if (parsedNewInputValue >= maxHours) {\n if (minHour && parseInt(newInputValue, 10) < parseInt(minHour, 10)) {\n this.hours = minHour;\n } else {\n this.hours = '00';\n reputedToZero = true;\n }\n } else {\n if (maxHour && parsedNewInputValue > parseInt(maxHour, 10)) {\n this.hours = '00';\n reputedToZero = true;\n } else {\n if (minHour && parsedNewInputValue < parseInt(minHour, 10)) {\n this.hours = minHour;\n } else {\n this.hours = parsedNewInputValue.toString();\n }\n }\n }\n }\n\n if (\n this.hours.length === 2 &&\n !this.inputZeroAdded[type] &&\n !reputedToZero\n ) {\n this.inputElements[TimeType.Minutes]?.focus();\n this.inputElements[TimeType.Minutes]?.select();\n } else if (reputedToZero) {\n this.inputElements[TimeType.Hours]?.focus();\n this.inputElements[TimeType.Hours]?.select();\n }\n }\n\n private handleMinutesChange(inputValue: string, type: TimeType): void {\n const maxMinutes = 60;\n let reputedToZero = false;\n const minMinute = this.parseMinute(this.min) ?? 0;\n const maxMinute = this.parseMinute(this.max) ?? 59;\n\n if (inputValue.length === 1) {\n this.inputZeroAdded[type] = true;\n\n const newInputValue = inputValue.padStart(2, '0');\n\n if (maxMinute && parseInt(newInputValue, 10) > maxMinute) {\n if (minMinute && parseInt(newInputValue, 10) < minMinute) {\n this.minutes = minMinute.toString().padStart(2, '0');\n } else {\n this.minutes = '00';\n reputedToZero = true;\n }\n } else {\n if (minMinute && parseInt(newInputValue, 10) < minMinute) {\n this.minutes = minMinute.toString().padStart(2, '0');\n } else {\n this.minutes = newInputValue;\n }\n }\n } else if (this.inputZeroAdded[type]) {\n this.inputZeroAdded[type] = false;\n\n const newInputValue = inputValue.slice(1, 3).padStart(2, '0');\n const parsedNewInputValue = parseInt(newInputValue, 10) || 0;\n\n if (parsedNewInputValue >= maxMinutes) {\n if (minMinute && parseInt(newInputValue, 10) < minMinute) {\n this.minutes = minMinute.toString().padStart(2, '0');\n } else {\n this.minutes = '00';\n reputedToZero = true;\n }\n } else {\n if (maxMinute && parsedNewInputValue > maxMinute) {\n if (minMinute && parseInt(newInputValue, 10) < minMinute) {\n this.minutes = minMinute.toString().padStart(2, '0');\n } else {\n this.minutes = '00';\n reputedToZero = true;\n }\n } else {\n if (minMinute && parsedNewInputValue < minMinute) {\n this.minutes = minMinute.toString().padStart(2, '0');\n } else {\n this.minutes = newInputValue;\n }\n }\n }\n } else if (inputValue.length > 2) {\n if (inputValue.startsWith('00')) {\n this.inputZeroAdded[type] = true;\n const newInputValue = inputValue.slice(1, 3).padStart(2, '0');\n\n if (maxMinute && parseInt(newInputValue, 10) > maxMinute) {\n if (minMinute && parseInt(newInputValue, 10) < minMinute) {\n this.minutes = minMinute.toString().padStart(2, '0');\n } else {\n this.minutes = '00';\n reputedToZero = true;\n }\n } else {\n if (minMinute && parseInt(newInputValue, 10) < minMinute) {\n this.minutes = minMinute.toString().padStart(2, '0');\n } else {\n this.minutes = newInputValue;\n }\n }\n } else {\n const newInputValue = inputValue.slice(1, 3).padStart(2, '0');\n const parsedNewInputValue = parseInt(newInputValue, 10) || 0;\n\n if (parsedNewInputValue >= maxMinutes) {\n if (minMinute && parseInt(newInputValue, 10) < minMinute) {\n this.minutes = minMinute.toString().padStart(2, '0');\n } else {\n this.minutes = '00';\n reputedToZero = true;\n }\n } else {\n if (maxMinute && parsedNewInputValue > maxMinute) {\n if (minMinute && parseInt(newInputValue, 10) < minMinute) {\n this.minutes = minMinute.toString().padStart(2, '0');\n } else {\n this.minutes = '00';\n reputedToZero = true;\n }\n } else {\n if (minMinute && parsedNewInputValue < minMinute) {\n this.minutes = minMinute.toString().padStart(2, '0');\n } else {\n this.minutes = parsedNewInputValue.toString();\n }\n }\n }\n }\n } else {\n const newInputValue = inputValue.padStart(2, '0');\n const parsedNewInputValue = parseInt(newInputValue, 10) || 0;\n\n if (parsedNewInputValue >= maxMinutes) {\n if (minMinute && parseInt(newInputValue, 10) < minMinute) {\n this.minutes = minMinute.toString().padStart(2, '0');\n } else {\n this.minutes = '00';\n reputedToZero = true;\n }\n } else {\n if (maxMinute && parsedNewInputValue > maxMinute) {\n if (minMinute && parseInt(newInputValue, 10) < minMinute) {\n this.minutes = minMinute.toString().padStart(2, '0');\n } else {\n this.minutes = '00';\n reputedToZero = true;\n }\n } else {\n if (minMinute && parsedNewInputValue < minMinute) {\n this.minutes = minMinute.toString().padStart(2, '0');\n } else {\n this.minutes = parsedNewInputValue.toString();\n }\n }\n }\n }\n\n if (\n this.minutes.length === 2 &&\n !this.inputZeroAdded[type] &&\n !reputedToZero\n ) {\n this.inputElements[TimeType.Seconds]?.focus();\n this.inputElements[TimeType.Seconds]?.select();\n } else if (reputedToZero) {\n this.inputElements[TimeType.Minutes]?.focus();\n this.inputElements[TimeType.Minutes]?.select();\n }\n }\n\n private handleSecondsChange(inputValue: string, type: TimeType): void {\n const maxSeconds = 60;\n let reputedToZero = false;\n const minSecond = this.parseSecond(this.min) ?? 0;\n const maxSecond = this.parseSecond(this.max) ?? 59;\n\n if (inputValue.length === 1) {\n this.inputZeroAdded[type] = true;\n const newInputValue = inputValue.padStart(2, '0');\n\n if (maxSecond && parseInt(newInputValue, 10) > maxSecond) {\n if (minSecond && parseInt(newInputValue, 10) < minSecond) {\n this.seconds = minSecond.toString().padStart(2, '0');\n } else {\n this.seconds = '00';\n reputedToZero = true;\n }\n } else {\n if (minSecond && parseInt(newInputValue, 10) < minSecond) {\n this.seconds = minSecond.toString().padStart(2, '0');\n } else {\n this.seconds = newInputValue;\n }\n }\n } else if (this.inputZeroAdded[type]) {\n this.inputZeroAdded[type] = false;\n const newInputValue = inputValue.slice(1, 3).padStart(2, '0');\n const parsedNewInputValue = parseInt(newInputValue, 10) || 0;\n\n if (parsedNewInputValue >= maxSeconds) {\n if (minSecond && parseInt(newInputValue, 10) < minSecond) {\n this.seconds = minSecond.toString().padStart(2, '0');\n } else {\n this.seconds = '00';\n reputedToZero = true;\n }\n } else {\n if (maxSecond && parsedNewInputValue > maxSecond) {\n if (minSecond && parseInt(newInputValue, 10) < minSecond) {\n this.seconds = minSecond.toString().padStart(2, '0');\n } else {\n this.seconds = '00';\n reputedToZero = true;\n }\n } else {\n if (minSecond && parsedNewInputValue < minSecond) {\n this.seconds = minSecond.toString().padStart(2, '0');\n } else {\n this.seconds = newInputValue;\n }\n }\n }\n } else if (inputValue.length > 2) {\n const newInputValue = inputValue.slice(1, 3).padStart(2, '0');\n const parsedNewInputValue = parseInt(newInputValue, 10) || 0;\n\n if (parsedNewInputValue >= maxSeconds) {\n if (minSecond && parseInt(newInputValue, 10) < minSecond) {\n this.seconds = minSecond.toString().padStart(2, '0');\n } else {\n this.seconds = '00';\n reputedToZero = true;\n }\n } else {\n if (maxSecond && parsedNewInputValue > maxSecond) {\n if (minSecond && parseInt(newInputValue, 10) < minSecond) {\n this.seconds = minSecond.toString().padStart(2, '0');\n } else {\n this.seconds = '00';\n reputedToZero = true;\n }\n } else {\n if (minSecond && parsedNewInputValue < minSecond) {\n this.seconds = minSecond.toString().padStart(2, '0');\n } else {\n this.seconds = parsedNewInputValue.toString();\n }\n }\n }\n } else {\n const newInputValue = inputValue.padStart(2, '0');\n const parsedNewInputValue = parseInt(newInputValue, 10) || 0;\n\n if (parsedNewInputValue >= maxSeconds) {\n if (minSecond && parseInt(newInputValue, 10) < minSecond) {\n this.seconds = minSecond.toString().padStart(2, '0');\n } else {\n this.seconds = '00';\n reputedToZero = true;\n }\n } else {\n if (maxSecond && parsedNewInputValue > maxSecond) {\n if (minSecond && parseInt(newInputValue, 10) < minSecond) {\n this.seconds = minSecond.toString().padStart(2, '0');\n } else {\n this.seconds = '00';\n reputedToZero = true;\n }\n } else {\n if (minSecond && parsedNewInputValue < minSecond) {\n this.seconds = minSecond.toString().padStart(2, '0');\n } else {\n this.seconds = parsedNewInputValue.toString();\n }\n }\n }\n }\n\n if (reputedToZero) {\n this.inputElements[TimeType.Seconds]?.focus();\n this.inputElements[TimeType.Seconds]?.select();\n }\n }\n\n // Parse a continuous time string (e.g., \"123456\") into hours, minutes, and seconds\n private parseTime(timeString: string): void {\n if (!timeString) {\n return;\n }\n\n const cleanedTime = timeString.replace(/[^0-9]/g, '').padStart(6, '0');\n const hour = cleanedTime.slice(0, 2);\n const minute = cleanedTime.slice(2, 4);\n const second = cleanedTime.slice(4, 6);\n\n const minHour = this.parseHour(this.min, this.format) || hour;\n const minMinute = this.parseMinute(this.min) || minute;\n const minSecond = this.parseSecond(this.min) || second;\n\n this.hours = minHour.padStart(2, '0');\n this.minutes = minMinute.toString().padStart(2, '0');\n this.seconds = minSecond.toString().padStart(2, '0');\n }\n\n private reconstructTime(): string {\n if (this.format === 'HH' || this.format === 'hh') {\n return this.hours;\n } else if (this.format === 'HH:mm' || this.format === 'hh:mm') {\n return `${this.hours}:${this.minutes}`;\n } else if (this.format === 'HH:mm:ss' || this.format === 'hh:mm:ss') {\n return `${this.hours}:${this.minutes}:${this.seconds}`;\n } else {\n return `${this.hours}:${this.minutes}:${this.seconds}`;\n }\n }\n\n private handleFocus(type: TimeType): void {\n if (this.readonly || this.disabled) {\n return;\n }\n\n if (!this.open) {\n this.open = true; // Force the popover to open\n }\n\n // Refocus on the input if it loses focus and is empty\n if (\n this.inputElements[type]?.value.length === 0 ||\n this.inputElements[type]?.value === '00'\n ) {\n this.inputElements[type]?.focus();\n this.inputElements[type]?.select();\n }\n\n this.typeFocused = type;\n }\n\n private HandleDropdownIconClick(): void {\n if (this.disabled || this.readonly) {\n return; // Do not toggle if disabled or read-only\n }\n\n if (this.open && this.inputElements[TimeType.Hours]) {\n this.open = false; // Close the popover if it is open\n } else if (this.open && this.inputElements[TimeType.Minutes]) {\n this.open = false; // Close the popover if it is open\n } else if (this.open && this.inputElements[TimeType.Seconds]) {\n this.open = false; // Close the popover if it is open\n } else if (!this.open && this.inputElements[TimeType.Hours]) {\n this.inputElements[TimeType.Hours]?.focus(); // Focus will open the popover\n this.inputElements[TimeType.Hours]?.select();\n } else if (!this.open && this.inputElements[TimeType.Minutes]) {\n this.inputElements[TimeType.Minutes]?.focus(); // Focus will open the popover\n this.inputElements[TimeType.Minutes]?.select();\n } else if (!this.open && this.inputElements[TimeType.Seconds]) {\n this.inputElements[TimeType.Seconds]?.focus(); // Focus will open the popover\n this.inputElements[TimeType.Seconds]?.select();\n } else {\n console.warn(\n 'nv-fieldtime -> No input elements found to focus or to blur',\n );\n }\n }\n\n private updateHighlightedItem(items: HTMLElement[], index: number) {\n items.forEach((item, i) => {\n if (i === index) {\n item.classList.add('highlighted');\n item.setAttribute('tabindex', '0');\n item.focus(); // Forcer le focus ici\n item.scrollIntoView({ block: 'nearest' });\n } else {\n item.classList.remove('highlighted');\n item.setAttribute('tabindex', '-1');\n }\n });\n }\n\n private handleTimeOptionClick(event: MouseEvent, type: TimeType): void {\n const option = parseInt(\n (event.target as HTMLElement).textContent || '0',\n 10,\n );\n\n if (type === TimeType.Hours) {\n this.hours = option.toString().padStart(2, '0');\n } else if (type === TimeType.Minutes) {\n this.minutes = option.toString().padStart(2, '0');\n } else if (type === TimeType.Seconds) {\n this.seconds = option.toString().padStart(2, '0');\n }\n\n const reconstructTime = this.reconstructTime();\n this.value = reconstructTime;\n }\n\n private handleInputBlur(): void {\n // Use a delay to check if the focus is still within the popover\n setTimeout(() => {\n if (!this.el.contains(document.activeElement)) {\n if (this.open) {\n this.open = false; // Close the popover if the focus is outside the component\n }\n }\n }, 150);\n }\n\n private handleClickOutside(event: MouseEvent) {\n const target = event.target as Node;\n\n // Check if the click is inside the component or any of the input elements\n if (\n this.el.contains(target) ||\n Object.values(this.inputElements).some(input => input.contains(target))\n ) {\n return;\n }\n\n if (this.open) {\n this.open = false; // Close the popover if the click is outside\n }\n }\n\n private handleScroll(e: Event, type: TimeType): void {\n const target = e.target as HTMLElement;\n const scrollTop = target.scrollTop;\n const containerHeight = target.clientHeight;\n const scrollHeight = target.scrollHeight;\n\n // Define the height of each item, this could be dynamic if the height varies\n const itemHeight = 40; // Consider making this configurable or dynamic\n const options = this.generateTimeOptions(type); // Generates the list of time options\n const singleSetHeight = options.length * itemHeight;\n\n // Check if the scroll is near the bottom or top and reset to the first set\n if (\n scrollTop + containerHeight >= scrollHeight - itemHeight ||\n scrollTop <= 0\n ) {\n target.scrollTop = singleSetHeight; // Reset to the first set from the bottom\n }\n }\n\n private generateTimeOptions(type: TimeType) {\n // Convert the step in seconds\n const stepInSeconds = this.step / 1000;\n\n // Handle edge case for zero step\n if (stepInSeconds === 0) {\n return ['00']; // Just return the default value\n }\n\n // Generate the time options based on the type\n switch (type) {\n case TimeType.Hours:\n return this.generateHourOptions(stepInSeconds);\n\n case TimeType.Minutes:\n return this.generateMinuteOptions(stepInSeconds);\n\n case TimeType.Seconds:\n return this.generateSecondOptions(stepInSeconds);\n\n default:\n return [];\n }\n }\n\n private generateHourOptions(stepInSeconds: number): string[] {\n const hourStep = Math.max(1, Math.floor(stepInSeconds / 3600)); // Prevent step < 1\n const maxHour =\n this.parseHour(this.max, this.format) ||\n (this.format.startsWith('hh') ? '12' : '24');\n const minHour = this.parseHour(this.min, this.format) || '00';\n\n const maxHourValue = parseInt(maxHour, 10);\n const minHourValue = parseInt(minHour, 10);\n const values: string[] = [];\n\n for (let i = minHourValue; i < maxHourValue; i += hourStep) {\n values.push(i.toString().padStart(2, '0'));\n }\n\n return values;\n }\n\n private parseHour(value: string | null, format: string): string | null {\n if (!value) return null;\n const [hourStr] = value.split(':');\n const hour = parseInt(hourStr, 10);\n if (isNaN(hour)) return null;\n if (format.startsWith('hh'))\n return hour > 0 && hour <= 12 ? hourStr.padStart(2, '0') : null;\n return hour >= 0 && hour <= 24 ? hourStr.padStart(2, '0') : null;\n }\n\n private generateMinuteOptions(stepInSeconds: number): string[] {\n const minuteStep = Math.max(1, Math.floor((stepInSeconds % 3600) / 60)); // Ensure step >= 1\n const minMinute = this.parseMinute(this.min) ?? 0;\n const maxMinute = this.parseMinute(this.max) ?? 59;\n\n if (minMinute === 0 && maxMinute === 0) return ['00']; // Handle edge case for zero seconds\n\n const values: string[] = [];\n\n for (let i = minMinute; i <= maxMinute; i += minuteStep) {\n values.push(i.toString().padStart(2, '0'));\n }\n\n return values;\n }\n\n private parseMinute(value: string | null): number | null {\n if (!value) return null;\n const parts = value.split(':');\n if (parts.length < 2) return null; // Expect at least \"hh:mm\"\n const minute = parseInt(parts[1], 10);\n return isNaN(minute) || minute < 0 || minute >= 60 ? null : minute;\n }\n\n private generateSecondOptions(stepInSeconds: number): string[] {\n const secondStep = Math.max(1, stepInSeconds % 60); // Ensure step >= 1\n const minSecond = this.parseSecond(this.min) ?? 0;\n const maxSecond = this.parseSecond(this.max) ?? 59;\n\n if (minSecond === 0 && maxSecond === 0) return ['00']; // Handle edge case for zero seconds\n\n const values: string[] = [];\n\n for (let i = minSecond; i <= maxSecond; i += secondStep) {\n values.push(i.toString().padStart(2, '0'));\n }\n\n return values;\n }\n\n private parseSecond(value: string | null): number | null {\n if (!value) return null;\n const parts = value.split(':');\n if (parts.length < 3) return null; // Expect \"hh:mm:ss\" or \"HH:mm:ss\"\n const second = parseInt(parts[2], 10);\n return isNaN(second) || second < 0 || second >= 60 ? null : second;\n }\n\n private generateInfiniteTimeOptions(type: TimeType): string[] {\n const options = this.generateTimeOptions(type);\n const totalOptions = options.length;\n\n // Dynamically calculate repetitions based on a target number of items (e.g., 300 items)\n const repetitions = Math.ceil(300 / totalOptions);\n return Array(repetitions).fill(options).flat();\n }\n\n private getCurrentTime(): string {\n const currentTime = new Date();\n return currentTime.toLocaleTimeString(); // Returns the time in the locale's format\n }\n\n private updateColumnHighlight(selector, value): void {\n const items = Array.from(this.el.querySelectorAll<HTMLElement>(selector));\n\n const index = items.findIndex(x => x.textContent === value);\n this.updateHighlightedItem(items, index);\n }\n\n private handleHostClick(event: MouseEvent): void {\n if (this.disabled || this.readonly) {\n return;\n }\n\n const targetElement = event.target as HTMLElement;\n\n // Check if the click target or its ancestors are inside an nv-iconbutton element\n if (targetElement.closest('nv-iconbutton')) {\n return; // Handle icon button click separately\n }\n\n if (!this.open) {\n if (this.inputElements) {\n this.inputElements[TimeType.Hours]?.focus();\n this.inputElements[TimeType.Hours]?.select();\n }\n\n event.preventDefault();\n }\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n document.addEventListener('click', this.handleClickOutside.bind(this));\n\n // If an initial value is passed, parse it\n if (this.value) {\n this.parseTime(this.value);\n } else {\n const minHour = this.parseHour(this.min, this.format) || '00';\n const minMinute = this.parseMinute(this.min) || 0;\n const minSecond = this.parseSecond(this.min) || 0;\n\n this.hours = minHour.padStart(2, '0');\n this.minutes = minMinute.toString().padStart(2, '0');\n this.seconds = minSecond.toString().padStart(2, '0');\n }\n }\n\n connectedCallback() {\n document.addEventListener('click', this.handleClickOutside.bind(this));\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.handleClickOutside.bind(this));\n }\n\n componentDidLoad() {\n if (!this.value) {\n const currentTime = this.getCurrentTime();\n\n // Split time into components\n // eslint-disable-next-line prefer-const\n let [hour, minute, secondAmPm] = currentTime.split(':');\n let second, amPm;\n\n // Check if AM/PM is present and split accordingly\n if (secondAmPm.includes(' ')) {\n [second, amPm] = secondAmPm.split(' ');\n } else {\n second = secondAmPm;\n }\n\n // Parse hour as integer for calculations\n let parsedHour = parseInt(hour, 10);\n\n // Convert hour to 24-hour format based on AM/PM (if present)\n if (amPm) {\n if (amPm === 'PM' && parsedHour < 12) {\n parsedHour += 12; // Convert PM to 24-hour\n } else if (amPm === 'AM' && parsedHour === 12) {\n parsedHour = 0; // Midnight in 24-hour format\n }\n }\n\n // Adjust for 12-hour format if necessary\n if (this.format.startsWith('hh')) {\n if (parsedHour === 0) {\n hour = '12'; // Midnight in 12-hour format\n } else if (parsedHour > 12) {\n hour = (parsedHour - 12).toString(); // Convert 24-hour to 12-hour\n } else {\n hour = parsedHour.toString();\n }\n } else {\n hour = parsedHour.toString(); // Use 24-hour format directly\n }\n\n // Pad hour, minute, and second to ensure two digits\n hour = hour.padStart(2, '0');\n minute = minute.padStart(2, '0');\n second = second.padStart(2, '0');\n\n // Update highlighted items for hours\n const hourSelector = `.time-column.time-column-hours div`;\n this.updateColumnHighlight(hourSelector, hour);\n\n // Update highlighted items for minutes\n const minuteSelector = `.time-column.time-column-minutes div`;\n this.updateColumnHighlight(minuteSelector, minute);\n\n // Update highlighted items for seconds\n const secondSelector = `.time-column.time-column-seconds div`;\n this.updateColumnHighlight(secondSelector, second);\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n private RenderTimeOptionsColumn(type: TimeType): HTMLElement {\n return (\n <div\n class={`time-column time-column-${type}`}\n onScroll={e => this.handleScroll(e, type)}\n >\n {/* Hours */}\n {this.generateInfiniteTimeOptions(type).map((option, index) => (\n <div\n class={{\n 'time-option': true,\n 'selected':\n (type === TimeType.Hours && option === this.hours) ||\n (type === TimeType.Minutes && option === this.minutes) ||\n (type === TimeType.Seconds && option === this.seconds),\n }}\n key={`${option}-${index}`}\n onClick={e => this.handleTimeOptionClick(e, type)}\n >\n {option}\n </div>\n ))}\n </div>\n );\n }\n\n render() {\n return (\n <Host onclick={e => this.handleHostClick(e)}>\n {(this.label || this.el.querySelector('[slot=\"label\"]')) && (\n <label htmlFor={this.inputId}>\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n\n <nv-popover\n ref={el => (this.popoverElement = el as HTMLNvPopoverElement)}\n triggerMode=\"controlled\"\n placement=\"bottom-start\"\n open={this.open}\n >\n <div class=\"input-wrapper\" slot=\"trigger\">\n <slot name=\"before-input\"></slot>\n\n <div class=\"input-container\">\n <slot name=\"leading-input\"></slot>\n {/* Input fields for hours, minutes, and seconds */}\n {/* Hours */}\n {startsWithIgnoreCase(this.format, 'HH') && [\n <input\n ref={el => (this.inputElements[TimeType.Hours] = el)}\n type=\"number\"\n autofocus={this.autofocus}\n class=\"time-input\"\n pattern=\"[0-9]*\"\n maxlength=\"3\"\n value={this.hours}\n onInput={e => this.handleInputChange(e, TimeType.Hours)}\n placeholder={this.format.includes('hh') ? 'hh' : 'HH'}\n inputMode=\"numeric\"\n onFocus={() => this.handleFocus(TimeType.Hours)}\n name={\n this.name\n ? `${TimeType.Hours}-${this.name}`\n : TimeType.Hours\n }\n id={this.inputId}\n readonly={this.readonly}\n disabled={this.disabled}\n required={this.required}\n onKeyDown={e => this.handleKeyDown(e)} // Handle arrow keys\n onBlur={() => this.handleInputBlur()}\n />,\n ]}\n {/* Minutes */}\n {this.format.includes('mm') && [\n <span>:</span>,\n <input\n ref={el => (this.inputElements[TimeType.Minutes] = el)}\n type=\"number\"\n autofocus={this.autofocus}\n class=\"time-input\"\n pattern=\"[0-9]*\"\n maxlength=\"3\"\n value={this.minutes}\n onInput={e => this.handleInputChange(e, TimeType.Minutes)}\n placeholder=\"mm\"\n inputMode=\"numeric\"\n onFocus={() => this.handleFocus(TimeType.Minutes)}\n name={\n this.name\n ? `${TimeType.Minutes}-${this.name}`\n : TimeType.Minutes\n }\n id={`${this.inputId}-minutes`}\n readonly={this.readonly}\n disabled={this.disabled}\n required={this.required}\n onKeyDown={e => this.handleKeyDown(e)} // Handle arrow keys\n onBlur={() => this.handleInputBlur()}\n />,\n ]}\n {/* Seconds */}\n {this.format.includes('ss') && [\n <span>:</span>,\n\n <input\n ref={el => (this.inputElements[TimeType.Seconds] = el)}\n type=\"number\"\n autofocus={this.autofocus}\n class=\"time-input\"\n pattern=\"[0-9]*\"\n maxlength=\"3\"\n value={this.seconds}\n onInput={e => this.handleInputChange(e, TimeType.Seconds)}\n placeholder=\"ss\"\n inputMode=\"numeric\"\n onFocus={() => this.handleFocus(TimeType.Seconds)}\n name={\n this.name\n ? `${TimeType.Seconds}-${this.name}`\n : TimeType.Seconds\n }\n id={`${this.inputId}-seconds`}\n readonly={this.readonly}\n disabled={this.disabled}\n required={this.required}\n onKeyDown={e => this.handleKeyDown(e)} // Handle arrow keys\n onBlur={() => this.handleInputBlur()}\n />,\n ]}\n\n <nv-iconbutton\n name={this.open ? 'chevron-top' : 'chevron-down'}\n size=\"md\"\n emphasis=\"lower\"\n aria-label={this.open ? 'Hide time picker' : 'Show time picker'}\n aria-pressed={this.open.toString()}\n onClick={() => this.HandleDropdownIconClick()}\n />\n\n {this.error && (\n <nv-icon name=\"alert-circle\" class=\"validation\" size=\"sm\" />\n )}\n {this.success && (\n <nv-icon name=\"circle-check\" class=\"validation\" size=\"sm\" />\n )}\n </div>\n\n <slot name=\"after-input\"></slot>\n </div>\n\n <div class=\"time-dropdown\" slot=\"content\">\n <div class=\"time-columns\">\n {startsWithIgnoreCase(this.format, 'HH') &&\n this.RenderTimeOptionsColumn(TimeType.Hours)}\n {this.format.includes('mm') &&\n this.RenderTimeOptionsColumn(TimeType.Minutes)}\n {this.format.includes('ss') &&\n this.RenderTimeOptionsColumn(TimeType.Seconds)}\n </div>\n </div>\n </nv-popover>\n\n {(this.description ||\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 <slot name=\"error-description\">{this.errorDescription}</slot>\n </div>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as o,h as t,a,g as e}from"./p-711a7778.js";const r="nv-tooltip{display:inline-block;position:relative;user-select:none}nv-tooltip:has([fluid]:not([fluid=false])){display:block}nv-tooltip [data-scope=popover]{background:var(--components-tooltip-background);color:var(--components-tooltip-text);font-weight:var(--font-weight-medium-emphasis);padding:var(--tooltip-padding-y) var(--tooltip-padding-x);font-size:var(--tooltip-font-size);border-radius:var(--tooltip-radius);border:none;box-shadow:0px var(--shadow-y-axis-lg-1) var(--shadow-blur-lg-1) var(--shadow-spread-lg-1) var(--shadow-color-opacity-1), 0px var(--shadow-y-axis-lg-2) var(--shadow-blur-lg-2) var(--shadow-spread-lg-2) var(--shadow-color-opacity-2)}nv-tooltip [data-scope=popover] [data-scope=arrow]{background:var(--components-tooltip-background);box-shadow:none;border:none}";const s=r;const i=class{constructor(t){o(this,t);this.placement="bottom";this.enterDelay=0}componentWillLoad(){if(!this.triggerElement)this.triggerElement=Array.from(this.el.children).find((o=>o.getAttribute("slot")===null))}render(){return t(a,{key:"893071a64f973b33dccbf3acec95db46e592b717"},t("slot",{key:"010776550ed5f942c02540b12756f0c0f64e31c4"}),t("nv-popover",{key:"21a669333da9e55b697f8a0b0962a8328beac55a",triggerMode:"hover",hasArrow:true,placement:this.placement,triggerElement:this.triggerElement,groupName:"tooltip",enterDelay:this.enterDelay},t("p",{key:"ed89d0bfe1e9e8d12e33e3d7fb0f5b7f2685bbb9",slot:"content"},this.message),t("slot",{key:"fa2d9602e003f1da5c3d23156db7b2ac482966bd",name:"content"})))}get el(){return e(this)}};i.style=s;export{i as nv_tooltip};
2
+ //# sourceMappingURL=p-b0fc08e7.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["nvTooltipCss","NvTooltipStyle0","NvTooltip","constructor","hostRef","this","placement","enterDelay","componentWillLoad","triggerElement","Array","from","el","children","find","child","getAttribute","render","h","Host","key","triggerMode","hasArrow","groupName","slot","message","name"],"sources":["src/components/nv-tooltip/nv-tooltip.scss?tag=nv-tooltip","src/components/nv-tooltip/nv-tooltip.tsx"],"sourcesContent":["@mixin root-styles() {\n display: inline-block;\n position: relative;\n user-select: none;\n &:has([fluid]:not([fluid='false'])) {\n display: block;\n }\n}\n\n@mixin tooltip-styles() {\n background: var(--components-tooltip-background);\n color: var(--components-tooltip-text);\n font-weight: var(--font-weight-medium-emphasis);\n padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n font-size: var(--tooltip-font-size);\n border-radius: var(--tooltip-radius);\n border: none;\n box-shadow:\n 0px var(--shadow-y-axis-lg-1) var(--shadow-blur-lg-1)\n var(--shadow-spread-lg-1) var(--shadow-color-opacity-1),\n 0px var(--shadow-y-axis-lg-2) var(--shadow-blur-lg-2)\n var(--shadow-spread-lg-2) var(--shadow-color-opacity-2);\n}\n\n@mixin arrow-styles() {\n background: var(--components-tooltip-background);\n box-shadow: none;\n border: none;\n}\n\nnv-tooltip {\n @include root-styles();\n\n [data-scope='popover'] {\n @include tooltip-styles();\n\n [data-scope='arrow'] {\n @include arrow-styles();\n }\n }\n}\n","import { Component, Host, h, Element, Prop } from '@stencil/core';\nimport type { Placement } from '@floating-ui/dom';\n\n/**\n * @slot default - Content to be placed as the trigger.\n * @slot content - Content to be placed within the popover. Use for custom html, will render under the message.\n */\n@Component({\n tag: 'nv-tooltip',\n styleUrl: 'nv-tooltip.scss',\n shadow: false,\n})\nexport class NvTooltip {\n @Element() el: HTMLNvTooltipElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * @internal\n * Accepts a reference to the DOM element acting as the popover trigger. This\n * should be used when the slot for the trigger is not defined.\n */\n @Prop({ reflect: false, mutable: true })\n triggerElement: Element;\n\n /**\n * A string representing the text to be displayed inside the tooltip. This\n * content is shown when the tooltip is activated by the user, such as on\n * hover or focus events.\n */\n @Prop({ reflect: true })\n readonly message: string;\n\n /**\n * Decides where the tooltip shows up next to the element it’s linked to\n * (above, below, to the sides). If there isn’t enough room, it will adjust\n * it's position on the axis to fit on the screen, so users can always see it.\n */\n @Prop({ reflect: true })\n readonly placement: Placement = 'bottom';\n\n /**\n * Controls how long (in milliseconds) the tooltip waits to show after you\n * hover over or focus on an element. If you move away before the delay is up,\n * the tooltip won’t appear.\n */\n @Prop({ reflect: true })\n readonly enterDelay: number = 0;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n if (!this.triggerElement)\n this.triggerElement = Array.from(this.el.children).find(child => {\n return child.getAttribute('slot') === null;\n });\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n <slot></slot>\n\n <nv-popover\n triggerMode=\"hover\"\n hasArrow\n placement={this.placement}\n triggerElement={this.triggerElement}\n groupName={'tooltip'}\n enterDelay={this.enterDelay}\n >\n <p slot=\"content\">{this.message}</p>\n <slot name=\"content\"></slot>\n </nv-popover>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"mappings":"oDAAA,MAAMA,EAAe,uxBACrB,MAAAC,EAAeD,E,MCWFE,EAAS,MALtB,WAAAC,CAAAC,G,UAiCWC,KAAAC,UAAuB,SAQvBD,KAAAE,WAAqB,C,CAM9B,iBAAAC,GACE,IAAKH,KAAKI,eACRJ,KAAKI,eAAiBC,MAAMC,KAAKN,KAAKO,GAAGC,UAAUC,MAAKC,GAC/CA,EAAMC,aAAa,UAAY,M,CAQ5C,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,QAAAE,IAAA,6CAEAF,EAAA,cAAAE,IAAA,2CACEC,YAAY,QACZC,SAAQ,KACRhB,UAAWD,KAAKC,UAChBG,eAAgBJ,KAAKI,eACrBc,UAAW,UACXhB,WAAYF,KAAKE,YAEjBW,EAAA,KAAAE,IAAA,2CAAGI,KAAK,WAAWnB,KAAKoB,SACxBP,EAAA,QAAAE,IAAA,2CAAMM,KAAK,a","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,h as a,a as s}from"./p-ab002252.js";import{c as n}from"./p-8a1a6e56.js";const c="nv-stack{display:flex;align-items:center;justify-content:flex-start;flex-direction:row}nv-stack nv-col{display:flex}nv-stack:not(nv-row){flex-wrap:nowrap}nv-stack>.nv-stack-item-flex{flex-shrink:1;flex-grow:1}nv-stack>.nv-stack-item-lead{margin-right:auto}nv-stack>.nv-stack-item-lead+*{margin-left:0}nv-stack>.nv-stack-item-center{margin-right:auto;margin-left:auto}nv-stack>.nv-stack-item-tail{margin-left:auto}nv-stack>.nv-stack-nowrap{white-space:nowrap}nv-stack.nv-stack-vertical{align-items:stretch;flex-direction:column}nv-stack.nv-stack-vertical>.nv-stack-item-lead{margin-right:0;margin-bottom:auto}nv-stack.nv-stack-vertical>.nv-stack-item-lead+*{margin-top:0}nv-stack.nv-stack-vertical>.nv-stack-item-tail{margin-left:0;margin-top:auto}nv-stack.nv-stack-vertical>.nv-stack-item-center{margin:auto 0}nv-stack.nv-stack-flex>*{flex-shrink:1;flex-grow:1}nv-stack.nv-stack-fill>*{height:100%}nv-stack.nv-stack-fill.nv-stack-vertical>*{height:auto;width:100%}";const i=c;const e=class{constructor(a){t(this,a);this.gutter=2}render(){return a(s,{key:"02e184fbc9e9ddd4b02b107baf093047fa3697b0",class:n(this.fill&&"nv-stack-fill",this.flex&&"nv-stack-flex",this.full&&"w-full",this.gutter&&!this.vertical&&`gap-x-${this.gutter}`,this.gutter&&this.vertical&&`gap-y-${this.gutter}`,this.vertical&&"nv-stack-vertical")},a("slot",{key:"1a501fcc419f97f2714be822120072b49590e5ea"}))}};e.style=i;export{e as nv_stack};
2
- //# sourceMappingURL=p-6ff228da.entry.js.map
1
+ import{r as t,h as a,a as s}from"./p-711a7778.js";import{c as n}from"./p-8a1a6e56.js";const c="nv-stack{display:flex;align-items:center;justify-content:flex-start;flex-direction:row}nv-stack nv-col{display:flex}nv-stack:not(nv-row){flex-wrap:nowrap}nv-stack>.nv-stack-item-flex{flex-shrink:1;flex-grow:1}nv-stack>.nv-stack-item-lead{margin-right:auto}nv-stack>.nv-stack-item-lead+*{margin-left:0}nv-stack>.nv-stack-item-center{margin-right:auto;margin-left:auto}nv-stack>.nv-stack-item-tail{margin-left:auto}nv-stack>.nv-stack-nowrap{white-space:nowrap}nv-stack.nv-stack-vertical{align-items:stretch;flex-direction:column}nv-stack.nv-stack-vertical>.nv-stack-item-lead{margin-right:0;margin-bottom:auto}nv-stack.nv-stack-vertical>.nv-stack-item-lead+*{margin-top:0}nv-stack.nv-stack-vertical>.nv-stack-item-tail{margin-left:0;margin-top:auto}nv-stack.nv-stack-vertical>.nv-stack-item-center{margin:auto 0}nv-stack.nv-stack-flex>*{flex-shrink:1;flex-grow:1}nv-stack.nv-stack-fill>*{height:100%}nv-stack.nv-stack-fill.nv-stack-vertical>*{height:auto;width:100%}";const i=c;const e=class{constructor(a){t(this,a);this.gutter=2}render(){return a(s,{key:"bc18faae4116df9b3a2f944b97c5e5cf096654ae",class:n(this.fill&&"nv-stack-fill",this.flex&&"nv-stack-flex",this.full&&"w-full",this.gutter&&!this.vertical&&`gap-x-${this.gutter}`,this.gutter&&this.vertical&&`gap-y-${this.gutter}`,this.vertical&&"nv-stack-vertical")},a("slot",{key:"fe3a07a01bd3a5898bcd1533c7966241cff21b44"}))}};e.style=i;export{e as nv_stack};
2
+ //# sourceMappingURL=p-c930adb7.entry.js.map
@@ -1,2 +1,2 @@
1
- import{d as t,f as n,r as e,c as o,h as s,a as i,g as r}from"./p-ab002252.js";import{u as c}from"./p-1daca48a.js";import{u as a}from"./p-c1765831.js";import{a as l,r as f}from"./p-d429a343.js";const u=["top","right","bottom","left"];const d=["start","end"];const h=u.reduce(((t,n)=>t.concat(n,n+"-"+d[0],n+"-"+d[1])),[]);const p=Math.min;const m=Math.max;const y=Math.round;const v=t=>({x:t,y:t});const g={left:"right",right:"left",bottom:"top",top:"bottom"};const w={start:"end",end:"start"};function b(t,n,e){return m(t,p(n,e))}function x(t,n){return typeof t==="function"?t(n):t}function k(t){return t.split("-")[0]}function A(t){return t.split("-")[1]}function T(t){return t==="x"?"y":"x"}function O(t){return t==="y"?"height":"width"}function P(t){return["top","bottom"].includes(k(t))?"y":"x"}function C(t){return T(P(t))}function D(t,n,e){if(e===void 0){e=false}const o=A(t);const s=C(t);const i=O(s);let r=s==="x"?o===(e?"end":"start")?"right":"left":o==="start"?"bottom":"top";if(n.reference[i]>n.floating[i]){r=M(r)}return[r,M(r)]}function S(t){const n=M(t);return[R(t),n,R(n)]}function R(t){return t.replace(/start|end/g,(t=>w[t]))}function j(t,n,e){const o=["left","right"];const s=["right","left"];const i=["top","bottom"];const r=["bottom","top"];switch(t){case"top":case"bottom":if(e)return n?s:o;return n?o:s;case"left":case"right":return n?i:r;default:return[]}}function L(t,n,e,o){const s=A(t);let i=j(k(t),e==="start",o);if(s){i=i.map((t=>t+"-"+s));if(n){i=i.concat(i.map(R))}}return i}function M(t){return t.replace(/left|right|bottom|top/g,(t=>g[t]))}function B(t){return{top:0,right:0,bottom:0,left:0,...t}}function F(t){return typeof t!=="number"?B(t):{top:t,right:t,bottom:t,left:t}}function E(t){const{x:n,y:e,width:o,height:s}=t;return{width:o,height:s,top:e,left:n,right:n+o,bottom:e+s,x:n,y:e}}function H(t,n,e){let{reference:o,floating:s}=t;const i=P(n);const r=C(n);const c=O(r);const a=k(n);const l=i==="y";const f=o.x+o.width/2-s.width/2;const u=o.y+o.height/2-s.height/2;const d=o[c]/2-s[c]/2;let h;switch(a){case"top":h={x:f,y:o.y-s.height};break;case"bottom":h={x:f,y:o.y+o.height};break;case"right":h={x:o.x+o.width,y:u};break;case"left":h={x:o.x-s.width,y:u};break;default:h={x:o.x,y:o.y}}switch(A(n)){case"start":h[r]-=d*(e&&l?-1:1);break;case"end":h[r]+=d*(e&&l?-1:1);break}return h}const $=async(t,n,e)=>{const{placement:o="bottom",strategy:s="absolute",middleware:i=[],platform:r}=e;const c=i.filter(Boolean);const a=await(r.isRTL==null?void 0:r.isRTL(n));let l=await r.getElementRects({reference:t,floating:n,strategy:s});let{x:f,y:u}=H(l,o,a);let d=o;let h={};let p=0;for(let e=0;e<c.length;e++){const{name:i,fn:m}=c[e];const{x:y,y:v,data:g,reset:w}=await m({x:f,y:u,initialPlacement:o,placement:d,strategy:s,middlewareData:h,rects:l,platform:r,elements:{reference:t,floating:n}});f=y!=null?y:f;u=v!=null?v:u;h={...h,[i]:{...h[i],...g}};if(w&&p<=50){p++;if(typeof w==="object"){if(w.placement){d=w.placement}if(w.rects){l=w.rects===true?await r.getElementRects({reference:t,floating:n,strategy:s}):w.rects}({x:f,y:u}=H(l,d,a))}e=-1}}return{x:f,y:u,placement:d,strategy:s,middlewareData:h}};async function W(t,n){var e;if(n===void 0){n={}}const{x:o,y:s,platform:i,rects:r,elements:c,strategy:a}=t;const{boundary:l="clippingAncestors",rootBoundary:f="viewport",elementContext:u="floating",altBoundary:d=false,padding:h=0}=x(n,t);const p=F(h);const m=u==="floating"?"reference":"floating";const y=c[d?m:u];const v=E(await i.getClippingRect({element:((e=await(i.isElement==null?void 0:i.isElement(y)))!=null?e:true)?y:y.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(c.floating)),boundary:l,rootBoundary:f,strategy:a}));const g=u==="floating"?{x:o,y:s,width:r.floating.width,height:r.floating.height}:r.reference;const w=await(i.getOffsetParent==null?void 0:i.getOffsetParent(c.floating));const b=await(i.isElement==null?void 0:i.isElement(w))?await(i.getScale==null?void 0:i.getScale(w))||{x:1,y:1}:{x:1,y:1};const k=E(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:g,offsetParent:w,strategy:a}):g);return{top:(v.top-k.top+p.top)/b.y,bottom:(k.bottom-v.bottom+p.bottom)/b.y,left:(v.left-k.left+p.left)/b.x,right:(k.right-v.right+p.right)/b.x}}const z=t=>({name:"arrow",options:t,async fn(n){const{x:e,y:o,placement:s,rects:i,platform:r,elements:c,middlewareData:a}=n;const{element:l,padding:f=0}=x(t,n)||{};if(l==null){return{}}const u=F(f);const d={x:e,y:o};const h=C(s);const m=O(h);const y=await r.getDimensions(l);const v=h==="y";const g=v?"top":"left";const w=v?"bottom":"right";const k=v?"clientHeight":"clientWidth";const T=i.reference[m]+i.reference[h]-d[h]-i.floating[m];const P=d[h]-i.reference[h];const D=await(r.getOffsetParent==null?void 0:r.getOffsetParent(l));let S=D?D[k]:0;if(!S||!await(r.isElement==null?void 0:r.isElement(D))){S=c.floating[k]||i.floating[m]}const R=T/2-P/2;const j=S/2-y[m]/2-1;const L=p(u[g],j);const M=p(u[w],j);const B=L;const E=S-y[m]-M;const H=S/2-y[m]/2+R;const $=b(B,H,E);const W=!a.arrow&&A(s)!=null&&H!==$&&i.reference[m]/2-(H<B?L:M)-y[m]/2<0;const z=W?H<B?H-B:H-E:0;return{[h]:d[h]+z,data:{[h]:$,centerOffset:H-$-z,...W&&{alignmentOffset:z}},reset:W}}});function N(t,n,e){const o=t?[...e.filter((n=>A(n)===t)),...e.filter((n=>A(n)!==t))]:e.filter((t=>k(t)===t));return o.filter((e=>{if(t){return A(e)===t||(n?R(e)!==e:false)}return true}))}const I=function(t){if(t===void 0){t={}}return{name:"autoPlacement",options:t,async fn(n){var e,o,s;const{rects:i,middlewareData:r,placement:c,platform:a,elements:l}=n;const{crossAxis:f=false,alignment:u,allowedPlacements:d=h,autoAlignment:p=true,...m}=x(t,n);const y=u!==undefined||d===h?N(u||null,p,d):d;const v=await W(n,m);const g=((e=r.autoPlacement)==null?void 0:e.index)||0;const w=y[g];if(w==null){return{}}const b=D(w,i,await(a.isRTL==null?void 0:a.isRTL(l.floating)));if(c!==w){return{reset:{placement:y[0]}}}const T=[v[k(w)],v[b[0]],v[b[1]]];const O=[...((o=r.autoPlacement)==null?void 0:o.overflows)||[],{placement:w,overflows:T}];const P=y[g+1];if(P){return{data:{index:g+1,overflows:O},reset:{placement:P}}}const C=O.map((t=>{const n=A(t.placement);return[t.placement,n&&f?t.overflows.slice(0,2).reduce(((t,n)=>t+n),0):t.overflows[0],t.overflows]})).sort(((t,n)=>t[1]-n[1]));const S=C.filter((t=>t[2].slice(0,A(t[0])?2:3).every((t=>t<=0))));const R=((s=S[0])==null?void 0:s[0])||C[0][0];if(R!==c){return{data:{index:g+1,overflows:O},reset:{placement:R}}}return{}}}};const U=function(t){if(t===void 0){t={}}return{name:"flip",options:t,async fn(n){var e,o;const{placement:s,middlewareData:i,rects:r,initialPlacement:c,platform:a,elements:l}=n;const{mainAxis:f=true,crossAxis:u=true,fallbackPlacements:d,fallbackStrategy:h="bestFit",fallbackAxisSideDirection:p="none",flipAlignment:m=true,...y}=x(t,n);if((e=i.arrow)!=null&&e.alignmentOffset){return{}}const v=k(s);const g=k(c)===c;const w=await(a.isRTL==null?void 0:a.isRTL(l.floating));const b=d||(g||!m?[M(c)]:S(c));if(!d&&p!=="none"){b.push(...L(c,m,p,w))}const A=[c,...b];const T=await W(n,y);const O=[];let P=((o=i.flip)==null?void 0:o.overflows)||[];if(f){O.push(T[v])}if(u){const t=D(s,r,w);O.push(T[t[0]],T[t[1]])}P=[...P,{placement:s,overflows:O}];if(!O.every((t=>t<=0))){var C,R;const t=(((C=i.flip)==null?void 0:C.index)||0)+1;const n=A[t];if(n){return{data:{index:t,overflows:P},reset:{placement:n}}}let e=(R=P.filter((t=>t.overflows[0]<=0)).sort(((t,n)=>t.overflows[1]-n.overflows[1]))[0])==null?void 0:R.placement;if(!e){switch(h){case"bestFit":{var j;const t=(j=P.map((t=>[t.placement,t.overflows.filter((t=>t>0)).reduce(((t,n)=>t+n),0)])).sort(((t,n)=>t[1]-n[1]))[0])==null?void 0:j[0];if(t){e=t}break}case"initialPlacement":e=c;break}}if(s!==e){return{reset:{placement:e}}}}return{}}}};function _(t,n){return{top:t.top-n.height,right:t.right-n.width,bottom:t.bottom-n.height,left:t.left-n.width}}function G(t){return u.some((n=>t[n]>=0))}const K=function(t){if(t===void 0){t={}}return{name:"hide",options:t,async fn(n){const{rects:e}=n;const{strategy:o="referenceHidden",...s}=x(t,n);switch(o){case"referenceHidden":{const t=await W(n,{...s,elementContext:"reference"});const o=_(t,e.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:G(o)}}}case"escaped":{const t=await W(n,{...s,altBoundary:true});const o=_(t,e.floating);return{data:{escapedOffsets:o,escaped:G(o)}}}default:{return{}}}}}};function V(t){const n=p(...t.map((t=>t.left)));const e=p(...t.map((t=>t.top)));const o=m(...t.map((t=>t.right)));const s=m(...t.map((t=>t.bottom)));return{x:n,y:e,width:o-n,height:s-e}}function X(t){const n=t.slice().sort(((t,n)=>t.y-n.y));const e=[];let o=null;for(let t=0;t<n.length;t++){const s=n[t];if(!o||s.y-o.y>o.height/2){e.push([s])}else{e[e.length-1].push(s)}o=s}return e.map((t=>E(V(t))))}const Y=function(t){if(t===void 0){t={}}return{name:"inline",options:t,async fn(n){const{placement:e,elements:o,rects:s,platform:i,strategy:r}=n;const{padding:c=2,x:a,y:l}=x(t,n);const f=Array.from(await(i.getClientRects==null?void 0:i.getClientRects(o.reference))||[]);const u=X(f);const d=E(V(f));const h=F(c);function y(){if(u.length===2&&u[0].left>u[1].right&&a!=null&&l!=null){return u.find((t=>a>t.left-h.left&&a<t.right+h.right&&l>t.top-h.top&&l<t.bottom+h.bottom))||d}if(u.length>=2){if(P(e)==="y"){const t=u[0];const n=u[u.length-1];const o=k(e)==="top";const s=t.top;const i=n.bottom;const r=o?t.left:n.left;const c=o?t.right:n.right;const a=c-r;const l=i-s;return{top:s,bottom:i,left:r,right:c,width:a,height:l,x:r,y:s}}const t=k(e)==="left";const n=m(...u.map((t=>t.right)));const o=p(...u.map((t=>t.left)));const s=u.filter((e=>t?e.left===o:e.right===n));const i=s[0].top;const r=s[s.length-1].bottom;const c=o;const a=n;const l=a-c;const f=r-i;return{top:i,bottom:r,left:c,right:a,width:l,height:f,x:c,y:i}}return d}const v=await i.getElementRects({reference:{getBoundingClientRect:y},floating:o.floating,strategy:r});if(s.reference.x!==v.reference.x||s.reference.y!==v.reference.y||s.reference.width!==v.reference.width||s.reference.height!==v.reference.height){return{reset:{rects:v}}}return{}}}};async function q(t,n){const{placement:e,platform:o,elements:s}=t;const i=await(o.isRTL==null?void 0:o.isRTL(s.floating));const r=k(e);const c=A(e);const a=P(e)==="y";const l=["left","top"].includes(r)?-1:1;const f=i&&a?-1:1;const u=x(n,t);let{mainAxis:d,crossAxis:h,alignmentAxis:p}=typeof u==="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...u};if(c&&typeof p==="number"){h=c==="end"?p*-1:p}return a?{x:h*f,y:d*l}:{x:d*l,y:h*f}}const J=function(t){if(t===void 0){t=0}return{name:"offset",options:t,async fn(n){var e,o;const{x:s,y:i,placement:r,middlewareData:c}=n;const a=await q(n,t);if(r===((e=c.offset)==null?void 0:e.placement)&&(o=c.arrow)!=null&&o.alignmentOffset){return{}}return{x:s+a.x,y:i+a.y,data:{...a,placement:r}}}}};const Q=function(t){if(t===void 0){t={}}return{name:"shift",options:t,async fn(n){const{x:e,y:o,placement:s}=n;const{mainAxis:i=true,crossAxis:r=false,limiter:c={fn:t=>{let{x:n,y:e}=t;return{x:n,y:e}}},...a}=x(t,n);const l={x:e,y:o};const f=await W(n,a);const u=P(k(s));const d=T(u);let h=l[d];let p=l[u];if(i){const t=d==="y"?"top":"left";const n=d==="y"?"bottom":"right";const e=h+f[t];const o=h-f[n];h=b(e,h,o)}if(r){const t=u==="y"?"top":"left";const n=u==="y"?"bottom":"right";const e=p+f[t];const o=p-f[n];p=b(e,p,o)}const m=c.fn({...n,[d]:h,[u]:p});return{...m,data:{x:m.x-e,y:m.y-o}}}}};const Z=function(t){if(t===void 0){t={}}return{options:t,fn(n){const{x:e,y:o,placement:s,rects:i,middlewareData:r}=n;const{offset:c=0,mainAxis:a=true,crossAxis:l=true}=x(t,n);const f={x:e,y:o};const u=P(s);const d=T(u);let h=f[d];let p=f[u];const m=x(c,n);const y=typeof m==="number"?{mainAxis:m,crossAxis:0}:{mainAxis:0,crossAxis:0,...m};if(a){const t=d==="y"?"height":"width";const n=i.reference[d]-i.floating[t]+y.mainAxis;const e=i.reference[d]+i.reference[t]-y.mainAxis;if(h<n){h=n}else if(h>e){h=e}}if(l){var v,g;const t=d==="y"?"width":"height";const n=["top","left"].includes(k(s));const e=i.reference[u]-i.floating[t]+(n?((v=r.offset)==null?void 0:v[u])||0:0)+(n?0:y.crossAxis);const o=i.reference[u]+i.reference[t]+(n?0:((g=r.offset)==null?void 0:g[u])||0)-(n?y.crossAxis:0);if(p<e){p=e}else if(p>o){p=o}}return{[d]:h,[u]:p}}}};const tt=function(t){if(t===void 0){t={}}return{name:"size",options:t,async fn(n){const{placement:e,rects:o,platform:s,elements:i}=n;const{apply:r=(()=>{}),...c}=x(t,n);const a=await W(n,c);const l=k(e);const f=A(e);const u=P(e)==="y";const{width:d,height:h}=o.floating;let y;let v;if(l==="top"||l==="bottom"){y=l;v=f===(await(s.isRTL==null?void 0:s.isRTL(i.floating))?"start":"end")?"left":"right"}else{v=l;y=f==="end"?"top":"bottom"}const g=h-a.top-a.bottom;const w=d-a.left-a.right;const b=p(h-a[y],g);const T=p(d-a[v],w);const O=!n.middlewareData.shift;let C=b;let D=T;if(u){D=f||O?p(T,w):w}else{C=f||O?p(b,g):g}if(O&&!f){const t=m(a.left,0);const n=m(a.right,0);const e=m(a.top,0);const o=m(a.bottom,0);if(u){D=d-2*(t!==0||n!==0?t+n:m(a.left,a.right))}else{C=h-2*(e!==0||o!==0?e+o:m(a.top,a.bottom))}}await r({...n,availableWidth:D,availableHeight:C});const S=await s.getDimensions(i.floating);if(d!==S.width||h!==S.height){return{reset:{rects:true}}}return{}}}};function nt(){return typeof window!=="undefined"}function et(t){if(it(t)){return(t.nodeName||"").toLowerCase()}return"#document"}function ot(t){var n;return(t==null||(n=t.ownerDocument)==null?void 0:n.defaultView)||window}function st(t){var n;return(n=(it(t)?t.ownerDocument:t.document)||window.document)==null?void 0:n.documentElement}function it(t){if(!nt()){return false}return t instanceof Node||t instanceof ot(t).Node}function rt(t){if(!nt()){return false}return t instanceof Element||t instanceof ot(t).Element}function ct(t){if(!nt()){return false}return t instanceof HTMLElement||t instanceof ot(t).HTMLElement}function at(t){if(!nt()||typeof ShadowRoot==="undefined"){return false}return t instanceof ShadowRoot||t instanceof ot(t).ShadowRoot}function lt(t){const{overflow:n,overflowX:e,overflowY:o,display:s}=yt(t);return/auto|scroll|overlay|hidden|clip/.test(n+o+e)&&!["inline","contents"].includes(s)}function ft(t){return["table","td","th"].includes(et(t))}function ut(t){return[":popover-open",":modal"].some((n=>{try{return t.matches(n)}catch(t){return false}}))}function dt(t){const n=pt();const e=rt(t)?yt(t):t;return e.transform!=="none"||e.perspective!=="none"||(e.containerType?e.containerType!=="normal":false)||!n&&(e.backdropFilter?e.backdropFilter!=="none":false)||!n&&(e.filter?e.filter!=="none":false)||["transform","perspective","filter"].some((t=>(e.willChange||"").includes(t)))||["paint","layout","strict","content"].some((t=>(e.contain||"").includes(t)))}function ht(t){let n=gt(t);while(ct(n)&&!mt(n)){if(dt(n)){return n}else if(ut(n)){return null}n=gt(n)}return null}function pt(){if(typeof CSS==="undefined"||!CSS.supports)return false;return CSS.supports("-webkit-backdrop-filter","none")}function mt(t){return["html","body","#document"].includes(et(t))}function yt(t){return ot(t).getComputedStyle(t)}function vt(t){if(rt(t)){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}return{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function gt(t){if(et(t)==="html"){return t}const n=t.assignedSlot||t.parentNode||at(t)&&t.host||st(t);return at(n)?n.host:n}function wt(t){const n=gt(t);if(mt(n)){return t.ownerDocument?t.ownerDocument.body:t.body}if(ct(n)&&lt(n)){return n}return wt(n)}function bt(t,n,e){var o;if(n===void 0){n=[]}if(e===void 0){e=true}const s=wt(t);const i=s===((o=t.ownerDocument)==null?void 0:o.body);const r=ot(s);if(i){const t=xt(r);return n.concat(r,r.visualViewport||[],lt(s)?s:[],t&&e?bt(t):[])}return n.concat(s,bt(s,[],e))}function xt(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function kt(t){const n=yt(t);let e=parseFloat(n.width)||0;let o=parseFloat(n.height)||0;const s=ct(t);const i=s?t.offsetWidth:e;const r=s?t.offsetHeight:o;const c=y(e)!==i||y(o)!==r;if(c){e=i;o=r}return{width:e,height:o,$:c}}function At(t){return!rt(t)?t.contextElement:t}function Tt(t){const n=At(t);if(!ct(n)){return v(1)}const e=n.getBoundingClientRect();const{width:o,height:s,$:i}=kt(n);let r=(i?y(e.width):e.width)/o;let c=(i?y(e.height):e.height)/s;if(!r||!Number.isFinite(r)){r=1}if(!c||!Number.isFinite(c)){c=1}return{x:r,y:c}}const Ot=v(0);function Pt(t){const n=ot(t);if(!pt()||!n.visualViewport){return Ot}return{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function Ct(t,n,e){if(n===void 0){n=false}if(!e||n&&e!==ot(t)){return false}return n}function Dt(t,n,e,o){if(n===void 0){n=false}if(e===void 0){e=false}const s=t.getBoundingClientRect();const i=At(t);let r=v(1);if(n){if(o){if(rt(o)){r=Tt(o)}}else{r=Tt(t)}}const c=Ct(i,e,o)?Pt(i):v(0);let a=(s.left+c.x)/r.x;let l=(s.top+c.y)/r.y;let f=s.width/r.x;let u=s.height/r.y;if(i){const t=ot(i);const n=o&&rt(o)?ot(o):o;let e=t;let s=xt(e);while(s&&o&&n!==e){const t=Tt(s);const n=s.getBoundingClientRect();const o=yt(s);const i=n.left+(s.clientLeft+parseFloat(o.paddingLeft))*t.x;const r=n.top+(s.clientTop+parseFloat(o.paddingTop))*t.y;a*=t.x;l*=t.y;f*=t.x;u*=t.y;a+=i;l+=r;e=ot(s);s=xt(e)}}return E({width:f,height:u,x:a,y:l})}function St(t){let{elements:n,rect:e,offsetParent:o,strategy:s}=t;const i=s==="fixed";const r=st(o);const c=n?ut(n.floating):false;if(o===r||c&&i){return e}let a={scrollLeft:0,scrollTop:0};let l=v(1);const f=v(0);const u=ct(o);if(u||!u&&!i){if(et(o)!=="body"||lt(r)){a=vt(o)}if(ct(o)){const t=Dt(o);l=Tt(o);f.x=t.x+o.clientLeft;f.y=t.y+o.clientTop}}return{width:e.width*l.x,height:e.height*l.y,x:e.x*l.x-a.scrollLeft*l.x+f.x,y:e.y*l.y-a.scrollTop*l.y+f.y}}function Rt(t){return Array.from(t.getClientRects())}function jt(t,n){const e=vt(t).scrollLeft;if(!n){return Dt(st(t)).left+e}return n.left+e}function Lt(t){const n=st(t);const e=vt(t);const o=t.ownerDocument.body;const s=m(n.scrollWidth,n.clientWidth,o.scrollWidth,o.clientWidth);const i=m(n.scrollHeight,n.clientHeight,o.scrollHeight,o.clientHeight);let r=-e.scrollLeft+jt(t);const c=-e.scrollTop;if(yt(o).direction==="rtl"){r+=m(n.clientWidth,o.clientWidth)-s}return{width:s,height:i,x:r,y:c}}function Mt(t,n){const e=ot(t);const o=st(t);const s=e.visualViewport;let i=o.clientWidth;let r=o.clientHeight;let c=0;let a=0;if(s){i=s.width;r=s.height;const t=pt();if(!t||t&&n==="fixed"){c=s.offsetLeft;a=s.offsetTop}}return{width:i,height:r,x:c,y:a}}function Bt(t,n){const e=Dt(t,true,n==="fixed");const o=e.top+t.clientTop;const s=e.left+t.clientLeft;const i=ct(t)?Tt(t):v(1);const r=t.clientWidth*i.x;const c=t.clientHeight*i.y;const a=s*i.x;const l=o*i.y;return{width:r,height:c,x:a,y:l}}function Ft(t,n,e){let o;if(n==="viewport"){o=Mt(t,e)}else if(n==="document"){o=Lt(st(t))}else if(rt(n)){o=Bt(n,e)}else{const e=Pt(t);o={...n,x:n.x-e.x,y:n.y-e.y}}return E(o)}function Et(t,n){const e=gt(t);if(e===n||!rt(e)||mt(e)){return false}return yt(e).position==="fixed"||Et(e,n)}function Ht(t,n){const e=n.get(t);if(e){return e}let o=bt(t,[],false).filter((t=>rt(t)&&et(t)!=="body"));let s=null;const i=yt(t).position==="fixed";let r=i?gt(t):t;while(rt(r)&&!mt(r)){const n=yt(r);const e=dt(r);if(!e&&n.position==="fixed"){s=null}const c=i?!e&&!s:!e&&n.position==="static"&&!!s&&["absolute","fixed"].includes(s.position)||lt(r)&&!e&&Et(t,r);if(c){o=o.filter((t=>t!==r))}else{s=n}r=gt(r)}n.set(t,o);return o}function $t(t){let{element:n,boundary:e,rootBoundary:o,strategy:s}=t;const i=e==="clippingAncestors"?ut(n)?[]:Ht(n,this._c):[].concat(e);const r=[...i,o];const c=r[0];const a=r.reduce(((t,e)=>{const o=Ft(n,e,s);t.top=m(o.top,t.top);t.right=p(o.right,t.right);t.bottom=p(o.bottom,t.bottom);t.left=m(o.left,t.left);return t}),Ft(n,c,s));return{width:a.right-a.left,height:a.bottom-a.top,x:a.left,y:a.top}}function Wt(t){const{width:n,height:e}=kt(t);return{width:n,height:e}}function zt(t,n,e){const o=ct(n);const s=st(n);const i=e==="fixed";const r=Dt(t,true,i,n);let c={scrollLeft:0,scrollTop:0};const a=v(0);if(o||!o&&!i){if(et(n)!=="body"||lt(s)){c=vt(n)}if(o){const t=Dt(n,true,i,n);a.x=t.x+n.clientLeft;a.y=t.y+n.clientTop}else if(s){a.x=jt(s)}}let l=0;let f=0;if(s&&!o&&!i){const t=s.getBoundingClientRect();f=t.top+c.scrollTop;l=t.left+c.scrollLeft-jt(s,t)}const u=r.left+c.scrollLeft-a.x-l;const d=r.top+c.scrollTop-a.y-f;return{x:u,y:d,width:r.width,height:r.height}}function Nt(t){return yt(t).position==="static"}function It(t,n){if(!ct(t)||yt(t).position==="fixed"){return null}if(n){return n(t)}let e=t.offsetParent;if(st(t)===e){e=e.ownerDocument.body}return e}function Ut(t,n){const e=ot(t);if(ut(t)){return e}if(!ct(t)){let n=gt(t);while(n&&!mt(n)){if(rt(n)&&!Nt(n)){return n}n=gt(n)}return e}let o=It(t,n);while(o&&ft(o)&&Nt(o)){o=It(o,n)}if(o&&mt(o)&&Nt(o)&&!dt(o)){return e}return o||ht(t)||e}const _t=async function(t){const n=this.getOffsetParent||Ut;const e=this.getDimensions;const o=await e(t.floating);return{reference:zt(t.reference,await n(t.floating),t.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function Gt(t){return yt(t).direction==="rtl"}const Kt={convertOffsetParentRelativeRectToViewportRelativeRect:St,getDocumentElement:st,getClippingRect:$t,getOffsetParent:Ut,getElementRects:_t,getClientRects:Rt,getDimensions:Wt,getScale:Tt,isElement:rt,isRTL:Gt};const Vt=J;I;const Xt=Q;const Yt=U;tt;K;const qt=z;Y;Z;const Jt=(t,n,e)=>{const o=new Map;const s={platform:Kt,...e};const i={...s.platform,_c:o};return $(t,n,{...s,platform:i})};const Qt=(t,n,e)=>{const o=t.get(n);if(!o){t.set(n,[e])}else if(!o.includes(e)){o.push(e)}};const Zt=(t,n)=>{let e;return(...o)=>{if(e){clearTimeout(e)}e=setTimeout((()=>{e=0;t(...o)}),n)}};const tn=t=>!("isConnected"in t)||t.isConnected;const nn=Zt((t=>{for(let n of t.keys()){t.set(n,t.get(n).filter(tn))}}),2e3);const en=()=>{if(typeof t!=="function"){return{}}const e=new Map;return{dispose:()=>e.clear(),get:n=>{const o=t();if(o){Qt(e,n,o)}},set:t=>{const o=e.get(t);if(o){e.set(t,o.filter(n))}nn(e)},reset:()=>{e.forEach((t=>t.forEach(n)));nn(e)}}};const on=t=>typeof t==="function"?t():t;const sn=(t,n=((t,n)=>t!==n))=>{const e=on(t);let o=new Map(Object.entries(e!==null&&e!==void 0?e:{}));const s={dispose:[],get:[],set:[],reset:[]};const i=()=>{var n;o=new Map(Object.entries((n=on(t))!==null&&n!==void 0?n:{}));s.reset.forEach((t=>t()))};const r=()=>{s.dispose.forEach((t=>t()));i()};const c=t=>{s.get.forEach((n=>n(t)));return o.get(t)};const a=(t,e)=>{const i=o.get(t);if(n(e,i,t)){o.set(t,e);s.set.forEach((n=>n(t,e,i)))}};const l=typeof Proxy==="undefined"?{}:new Proxy(e,{get(t,n){return c(n)},ownKeys(t){return Array.from(o.keys())},getOwnPropertyDescriptor(){return{enumerable:true,configurable:true}},has(t,n){return o.has(n)},set(t,n,e){a(n,e);return true}});const f=(t,n)=>{s[t].push(n);return()=>{rn(s[t],n)}};const u=(n,e)=>{const o=f("set",((t,o)=>{if(t===n){e(o)}}));const s=f("reset",(()=>e(on(t)[n])));return()=>{o();s()}};const d=(...t)=>{const n=t.reduce(((t,n)=>{if(n.set){t.push(f("set",n.set))}if(n.get){t.push(f("get",n.get))}if(n.reset){t.push(f("reset",n.reset))}if(n.dispose){t.push(f("dispose",n.dispose))}return t}),[]);return()=>n.forEach((t=>t()))};const h=t=>{const n=o.get(t);s.set.forEach((e=>e(t,n,n)))};return{state:l,get:c,set:a,on:f,onChange:u,use:d,dispose:r,reset:i,forceUpdate:h}};const rn=(t,n)=>{const e=t.indexOf(n);if(e>=0){t[e]=t[t.length-1];t.length--}};const cn=(t,n)=>{const e=sn(t,n);e.use(en());return e};const an="nv-popover{display:inline-block;position:relative}nv-popover:has([fluid]:not([fluid=false])){display:block}nv-popover>[data-scope=popover]{width:max-content;background-color:var(--components-popover-background);border-color:var(--components-popover-border);font-weight:var(--font-weight-medium-emphasis);border-width:1px;border-style:solid;border-radius:var(--popover-radius);padding:var(--popover-padding-y) var(--popover-padding-x);position:absolute;top:0;left:0;z-index:1;box-shadow:var(--popover-shadow-1-x) var(--popover-shadow-1-y) var(--popover-shadow-1-blur) -2px var(--popover-shadow-1-opacity), var(--popover-shadow-2-x) var(--popover-shadow-2-y) var(--popover-shadow-2-blur) var(--shadow-spread-lg-2) var(--popover-shadow-2-opacity)}nv-popover>[data-scope=popover][hidden]:not([hidden=false]){display:none}nv-popover>[data-scope=popover]>[data-scope=arrow]{background-color:var(--components-popover-background);position:absolute;border-color:var(--components-popover-border);border-width:1px;border-style:solid;border-bottom-color:transparent;border-right-color:transparent;width:8px;height:8px;transform:rotate(45deg);border-radius:1px}nv-popover>[data-scope=popover]>[slot=content]{position:relative;z-index:1}nv-popover>slot-fb{display:none}";const ln=an;const{state:fn}=cn({groups:new Map});const un=class{constructor(t){e(this,t);this.openChanged=o(this,"openChanged",7);this.eventsAttached=false;this.open=false;this.triggerMode="click";this.placement="bottom";this.offset=6;this.hasArrow=false;this.disableFlip=false;this.shiftPadding=16;this.enterDelay=0;this.nested=false;this.handleClickOutside=t=>{var n;if(this.el.contains(t.target))return;if((n=this.triggerElement)===null||n===void 0?void 0:n.contains(t.target))return;this.open=false};this.clickEvents=[["click",()=>this.open=!this.open]];this.outsideClickEvents=[["click",this.handleClickOutside],["touchstart",this.handleClickOutside]];this.hoverEvents=[["focus",()=>{clearTimeout(this.hideTimeout);this.showTimeout=setTimeout((()=>this.open=true),this.enterDelay)}],["blur",()=>{clearTimeout(this.showTimeout);this.hideTimeout=setTimeout((()=>this.open=false),50)}],["mouseenter",()=>{clearTimeout(this.hideTimeout);this.showTimeout=setTimeout((()=>this.open=true),this.enterDelay)}],["mouseleave",()=>{clearTimeout(this.showTimeout);this.hideTimeout=setTimeout((()=>this.open=false),100)}]];this.closeEvents=[["keydown",t=>{if(t.key==="Escape"){this.open=false}}]];this.isAnimating=false}async show(){this.open=true}async hide(){this.open=false}async toggle(){this.open=!this.open}attachEventListeners(){if(this.triggerElement&&!this.eventsAttached){l(this.closeEvents,document,this);if(this.triggerMode==="click"){l(this.clickEvents,this.triggerElement,this);l(this.outsideClickEvents,document,this)}if(this.triggerMode==="hover"){l(this.hoverEvents,this.triggerElement,this)}this.eventsAttached=true}}positionPopover(){if(!this.triggerElement)return;Jt(this.triggerElement,this.popoverElement,{placement:this.placement,middleware:[Vt(this.offset),!this.disableFlip&&Yt({fallbackStrategy:"bestFit",crossAxis:true,fallbackPlacements:["bottom"]}),Xt({padding:this.shiftPadding}),this.hasArrow&&qt({element:this.arrowElement})]}).then((({x:t,y:n,placement:e,middlewareData:o})=>{Object.assign(this.popoverElement.style,{left:`${t}px`,top:`${n}px`});if(this.hasArrow){const t={top:"bottom",right:"left",bottom:"top",left:"right"}[e.split("-")[0]];const n={top:"rotate(225deg)",right:"rotate(315deg)",bottom:"rotate(45deg)",left:"rotate(135deg)"}[e.split("-")[0]];const{x:s,y:i}=o.arrow;Object.assign(this.arrowElement.style,{left:s!=null?`${s}px`:"",top:i!=null?`${i}px`:"",right:"",bottom:"",transform:n,[t]:"-4px"})}}))}handleOpenChanged(t){var n;if(this.triggerMode==="controlled")return;if(this.nested)return;if((n=t.target)===null||n===void 0?void 0:n.hasAttribute("nested"))return;if(t.target!==this.el&&t.detail===true)this.open=false}async handleOpenChange(t){while(this.isAnimating){await new Promise((t=>setTimeout(t,50)))}this.isAnimating=true;const n=fn.groups.get(this.groupName);const e=n&&n.openedBy!==this.el;const o=n&&n.openedBy===this.el;if(t)this.popoverElement.style.removeProperty("display");if(o&&!t)fn.groups.delete(this.groupName);if(this.groupName&&t)fn.groups.set(this.groupName,{openedBy:this.el});const{growIn:s}=a(this.popoverElement,{duration:e?0:100,amount:.85});const{fadeOut:i}=c(this.popoverElement,{duration:e?0:100});if(t===true){this.popoverElement.removeAttribute("hidden");this.positionPopover();await s()}if(t===false){await i();this.popoverElement.setAttribute("hidden","")}this.isAnimating=false;this.openChanged.emit(t)}componentWillLoad(){if(!this.triggerElement)this.triggerElement=Array.from(this.el.children).find((t=>t.getAttribute("slot")==="trigger"))}componentWillUpdate(){this.attachEventListeners()}componentDidLoad(){if(!this.open){const{setGrowOut:t}=a(this.popoverElement);t()}else{const{setFadeIn:t}=c(this.popoverElement);t();this.popoverElement.removeAttribute("hidden")}this.positionPopover();this.attachEventListeners()}disconnectedCallback(){f(this.closeEvents,document,this);if(this.triggerMode==="click"){f(this.clickEvents,this.triggerElement,this);f(this.outsideClickEvents,document,this)}if(this.triggerMode==="hover")f(this.hoverEvents,this.triggerElement,this);this.eventsAttached=false;if(this.hideTimeout)clearTimeout(this.hideTimeout);if(this.showTimeout)clearTimeout(this.showTimeout)}render(){return s(i,{key:"830051c35f7e10dfa4e31d401663bd5727ac988f"},s("slot",{key:"a49852a712bf6ab9c8557035ca4618d007939f03",name:"trigger"}),s("div",{key:"6d9cd4bd873cb92b1716a8ea88a3877a029cbe9c","data-scope":"popover",hidden:true,ref:t=>this.popoverElement=t},this.hasArrow&&s("div",{key:"f935c9248b602aa1c39e7d28c5503a24067fb744","data-scope":"arrow",ref:t=>this.arrowElement=t}),s("slot",{key:"6b682de05037b2d3b60c9139c448620fab963ea1",name:"content"})))}get el(){return r(this)}static get watchers(){return{open:["handleOpenChange"]}}};un.style=ln;export{un as nv_popover};
2
- //# sourceMappingURL=p-701b5557.entry.js.map
1
+ import{d as t,f as n,r as e,c as o,h as s,a as i,g as r}from"./p-711a7778.js";import{u as c}from"./p-1daca48a.js";import{u as a}from"./p-c1765831.js";import{a as l,r as f}from"./p-d429a343.js";const u=["top","right","bottom","left"];const d=["start","end"];const h=u.reduce(((t,n)=>t.concat(n,n+"-"+d[0],n+"-"+d[1])),[]);const p=Math.min;const m=Math.max;const y=Math.round;const v=t=>({x:t,y:t});const g={left:"right",right:"left",bottom:"top",top:"bottom"};const w={start:"end",end:"start"};function b(t,n,e){return m(t,p(n,e))}function x(t,n){return typeof t==="function"?t(n):t}function k(t){return t.split("-")[0]}function A(t){return t.split("-")[1]}function T(t){return t==="x"?"y":"x"}function O(t){return t==="y"?"height":"width"}function P(t){return["top","bottom"].includes(k(t))?"y":"x"}function C(t){return T(P(t))}function D(t,n,e){if(e===void 0){e=false}const o=A(t);const s=C(t);const i=O(s);let r=s==="x"?o===(e?"end":"start")?"right":"left":o==="start"?"bottom":"top";if(n.reference[i]>n.floating[i]){r=M(r)}return[r,M(r)]}function S(t){const n=M(t);return[R(t),n,R(n)]}function R(t){return t.replace(/start|end/g,(t=>w[t]))}function j(t,n,e){const o=["left","right"];const s=["right","left"];const i=["top","bottom"];const r=["bottom","top"];switch(t){case"top":case"bottom":if(e)return n?s:o;return n?o:s;case"left":case"right":return n?i:r;default:return[]}}function L(t,n,e,o){const s=A(t);let i=j(k(t),e==="start",o);if(s){i=i.map((t=>t+"-"+s));if(n){i=i.concat(i.map(R))}}return i}function M(t){return t.replace(/left|right|bottom|top/g,(t=>g[t]))}function B(t){return{top:0,right:0,bottom:0,left:0,...t}}function F(t){return typeof t!=="number"?B(t):{top:t,right:t,bottom:t,left:t}}function E(t){const{x:n,y:e,width:o,height:s}=t;return{width:o,height:s,top:e,left:n,right:n+o,bottom:e+s,x:n,y:e}}function H(t,n,e){let{reference:o,floating:s}=t;const i=P(n);const r=C(n);const c=O(r);const a=k(n);const l=i==="y";const f=o.x+o.width/2-s.width/2;const u=o.y+o.height/2-s.height/2;const d=o[c]/2-s[c]/2;let h;switch(a){case"top":h={x:f,y:o.y-s.height};break;case"bottom":h={x:f,y:o.y+o.height};break;case"right":h={x:o.x+o.width,y:u};break;case"left":h={x:o.x-s.width,y:u};break;default:h={x:o.x,y:o.y}}switch(A(n)){case"start":h[r]-=d*(e&&l?-1:1);break;case"end":h[r]+=d*(e&&l?-1:1);break}return h}const $=async(t,n,e)=>{const{placement:o="bottom",strategy:s="absolute",middleware:i=[],platform:r}=e;const c=i.filter(Boolean);const a=await(r.isRTL==null?void 0:r.isRTL(n));let l=await r.getElementRects({reference:t,floating:n,strategy:s});let{x:f,y:u}=H(l,o,a);let d=o;let h={};let p=0;for(let e=0;e<c.length;e++){const{name:i,fn:m}=c[e];const{x:y,y:v,data:g,reset:w}=await m({x:f,y:u,initialPlacement:o,placement:d,strategy:s,middlewareData:h,rects:l,platform:r,elements:{reference:t,floating:n}});f=y!=null?y:f;u=v!=null?v:u;h={...h,[i]:{...h[i],...g}};if(w&&p<=50){p++;if(typeof w==="object"){if(w.placement){d=w.placement}if(w.rects){l=w.rects===true?await r.getElementRects({reference:t,floating:n,strategy:s}):w.rects}({x:f,y:u}=H(l,d,a))}e=-1}}return{x:f,y:u,placement:d,strategy:s,middlewareData:h}};async function W(t,n){var e;if(n===void 0){n={}}const{x:o,y:s,platform:i,rects:r,elements:c,strategy:a}=t;const{boundary:l="clippingAncestors",rootBoundary:f="viewport",elementContext:u="floating",altBoundary:d=false,padding:h=0}=x(n,t);const p=F(h);const m=u==="floating"?"reference":"floating";const y=c[d?m:u];const v=E(await i.getClippingRect({element:((e=await(i.isElement==null?void 0:i.isElement(y)))!=null?e:true)?y:y.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(c.floating)),boundary:l,rootBoundary:f,strategy:a}));const g=u==="floating"?{x:o,y:s,width:r.floating.width,height:r.floating.height}:r.reference;const w=await(i.getOffsetParent==null?void 0:i.getOffsetParent(c.floating));const b=await(i.isElement==null?void 0:i.isElement(w))?await(i.getScale==null?void 0:i.getScale(w))||{x:1,y:1}:{x:1,y:1};const k=E(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:g,offsetParent:w,strategy:a}):g);return{top:(v.top-k.top+p.top)/b.y,bottom:(k.bottom-v.bottom+p.bottom)/b.y,left:(v.left-k.left+p.left)/b.x,right:(k.right-v.right+p.right)/b.x}}const z=t=>({name:"arrow",options:t,async fn(n){const{x:e,y:o,placement:s,rects:i,platform:r,elements:c,middlewareData:a}=n;const{element:l,padding:f=0}=x(t,n)||{};if(l==null){return{}}const u=F(f);const d={x:e,y:o};const h=C(s);const m=O(h);const y=await r.getDimensions(l);const v=h==="y";const g=v?"top":"left";const w=v?"bottom":"right";const k=v?"clientHeight":"clientWidth";const T=i.reference[m]+i.reference[h]-d[h]-i.floating[m];const P=d[h]-i.reference[h];const D=await(r.getOffsetParent==null?void 0:r.getOffsetParent(l));let S=D?D[k]:0;if(!S||!await(r.isElement==null?void 0:r.isElement(D))){S=c.floating[k]||i.floating[m]}const R=T/2-P/2;const j=S/2-y[m]/2-1;const L=p(u[g],j);const M=p(u[w],j);const B=L;const E=S-y[m]-M;const H=S/2-y[m]/2+R;const $=b(B,H,E);const W=!a.arrow&&A(s)!=null&&H!==$&&i.reference[m]/2-(H<B?L:M)-y[m]/2<0;const z=W?H<B?H-B:H-E:0;return{[h]:d[h]+z,data:{[h]:$,centerOffset:H-$-z,...W&&{alignmentOffset:z}},reset:W}}});function N(t,n,e){const o=t?[...e.filter((n=>A(n)===t)),...e.filter((n=>A(n)!==t))]:e.filter((t=>k(t)===t));return o.filter((e=>{if(t){return A(e)===t||(n?R(e)!==e:false)}return true}))}const I=function(t){if(t===void 0){t={}}return{name:"autoPlacement",options:t,async fn(n){var e,o,s;const{rects:i,middlewareData:r,placement:c,platform:a,elements:l}=n;const{crossAxis:f=false,alignment:u,allowedPlacements:d=h,autoAlignment:p=true,...m}=x(t,n);const y=u!==undefined||d===h?N(u||null,p,d):d;const v=await W(n,m);const g=((e=r.autoPlacement)==null?void 0:e.index)||0;const w=y[g];if(w==null){return{}}const b=D(w,i,await(a.isRTL==null?void 0:a.isRTL(l.floating)));if(c!==w){return{reset:{placement:y[0]}}}const T=[v[k(w)],v[b[0]],v[b[1]]];const O=[...((o=r.autoPlacement)==null?void 0:o.overflows)||[],{placement:w,overflows:T}];const P=y[g+1];if(P){return{data:{index:g+1,overflows:O},reset:{placement:P}}}const C=O.map((t=>{const n=A(t.placement);return[t.placement,n&&f?t.overflows.slice(0,2).reduce(((t,n)=>t+n),0):t.overflows[0],t.overflows]})).sort(((t,n)=>t[1]-n[1]));const S=C.filter((t=>t[2].slice(0,A(t[0])?2:3).every((t=>t<=0))));const R=((s=S[0])==null?void 0:s[0])||C[0][0];if(R!==c){return{data:{index:g+1,overflows:O},reset:{placement:R}}}return{}}}};const U=function(t){if(t===void 0){t={}}return{name:"flip",options:t,async fn(n){var e,o;const{placement:s,middlewareData:i,rects:r,initialPlacement:c,platform:a,elements:l}=n;const{mainAxis:f=true,crossAxis:u=true,fallbackPlacements:d,fallbackStrategy:h="bestFit",fallbackAxisSideDirection:p="none",flipAlignment:m=true,...y}=x(t,n);if((e=i.arrow)!=null&&e.alignmentOffset){return{}}const v=k(s);const g=k(c)===c;const w=await(a.isRTL==null?void 0:a.isRTL(l.floating));const b=d||(g||!m?[M(c)]:S(c));if(!d&&p!=="none"){b.push(...L(c,m,p,w))}const A=[c,...b];const T=await W(n,y);const O=[];let P=((o=i.flip)==null?void 0:o.overflows)||[];if(f){O.push(T[v])}if(u){const t=D(s,r,w);O.push(T[t[0]],T[t[1]])}P=[...P,{placement:s,overflows:O}];if(!O.every((t=>t<=0))){var C,R;const t=(((C=i.flip)==null?void 0:C.index)||0)+1;const n=A[t];if(n){return{data:{index:t,overflows:P},reset:{placement:n}}}let e=(R=P.filter((t=>t.overflows[0]<=0)).sort(((t,n)=>t.overflows[1]-n.overflows[1]))[0])==null?void 0:R.placement;if(!e){switch(h){case"bestFit":{var j;const t=(j=P.map((t=>[t.placement,t.overflows.filter((t=>t>0)).reduce(((t,n)=>t+n),0)])).sort(((t,n)=>t[1]-n[1]))[0])==null?void 0:j[0];if(t){e=t}break}case"initialPlacement":e=c;break}}if(s!==e){return{reset:{placement:e}}}}return{}}}};function _(t,n){return{top:t.top-n.height,right:t.right-n.width,bottom:t.bottom-n.height,left:t.left-n.width}}function G(t){return u.some((n=>t[n]>=0))}const K=function(t){if(t===void 0){t={}}return{name:"hide",options:t,async fn(n){const{rects:e}=n;const{strategy:o="referenceHidden",...s}=x(t,n);switch(o){case"referenceHidden":{const t=await W(n,{...s,elementContext:"reference"});const o=_(t,e.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:G(o)}}}case"escaped":{const t=await W(n,{...s,altBoundary:true});const o=_(t,e.floating);return{data:{escapedOffsets:o,escaped:G(o)}}}default:{return{}}}}}};function V(t){const n=p(...t.map((t=>t.left)));const e=p(...t.map((t=>t.top)));const o=m(...t.map((t=>t.right)));const s=m(...t.map((t=>t.bottom)));return{x:n,y:e,width:o-n,height:s-e}}function X(t){const n=t.slice().sort(((t,n)=>t.y-n.y));const e=[];let o=null;for(let t=0;t<n.length;t++){const s=n[t];if(!o||s.y-o.y>o.height/2){e.push([s])}else{e[e.length-1].push(s)}o=s}return e.map((t=>E(V(t))))}const Y=function(t){if(t===void 0){t={}}return{name:"inline",options:t,async fn(n){const{placement:e,elements:o,rects:s,platform:i,strategy:r}=n;const{padding:c=2,x:a,y:l}=x(t,n);const f=Array.from(await(i.getClientRects==null?void 0:i.getClientRects(o.reference))||[]);const u=X(f);const d=E(V(f));const h=F(c);function y(){if(u.length===2&&u[0].left>u[1].right&&a!=null&&l!=null){return u.find((t=>a>t.left-h.left&&a<t.right+h.right&&l>t.top-h.top&&l<t.bottom+h.bottom))||d}if(u.length>=2){if(P(e)==="y"){const t=u[0];const n=u[u.length-1];const o=k(e)==="top";const s=t.top;const i=n.bottom;const r=o?t.left:n.left;const c=o?t.right:n.right;const a=c-r;const l=i-s;return{top:s,bottom:i,left:r,right:c,width:a,height:l,x:r,y:s}}const t=k(e)==="left";const n=m(...u.map((t=>t.right)));const o=p(...u.map((t=>t.left)));const s=u.filter((e=>t?e.left===o:e.right===n));const i=s[0].top;const r=s[s.length-1].bottom;const c=o;const a=n;const l=a-c;const f=r-i;return{top:i,bottom:r,left:c,right:a,width:l,height:f,x:c,y:i}}return d}const v=await i.getElementRects({reference:{getBoundingClientRect:y},floating:o.floating,strategy:r});if(s.reference.x!==v.reference.x||s.reference.y!==v.reference.y||s.reference.width!==v.reference.width||s.reference.height!==v.reference.height){return{reset:{rects:v}}}return{}}}};async function q(t,n){const{placement:e,platform:o,elements:s}=t;const i=await(o.isRTL==null?void 0:o.isRTL(s.floating));const r=k(e);const c=A(e);const a=P(e)==="y";const l=["left","top"].includes(r)?-1:1;const f=i&&a?-1:1;const u=x(n,t);let{mainAxis:d,crossAxis:h,alignmentAxis:p}=typeof u==="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...u};if(c&&typeof p==="number"){h=c==="end"?p*-1:p}return a?{x:h*f,y:d*l}:{x:d*l,y:h*f}}const J=function(t){if(t===void 0){t=0}return{name:"offset",options:t,async fn(n){var e,o;const{x:s,y:i,placement:r,middlewareData:c}=n;const a=await q(n,t);if(r===((e=c.offset)==null?void 0:e.placement)&&(o=c.arrow)!=null&&o.alignmentOffset){return{}}return{x:s+a.x,y:i+a.y,data:{...a,placement:r}}}}};const Q=function(t){if(t===void 0){t={}}return{name:"shift",options:t,async fn(n){const{x:e,y:o,placement:s}=n;const{mainAxis:i=true,crossAxis:r=false,limiter:c={fn:t=>{let{x:n,y:e}=t;return{x:n,y:e}}},...a}=x(t,n);const l={x:e,y:o};const f=await W(n,a);const u=P(k(s));const d=T(u);let h=l[d];let p=l[u];if(i){const t=d==="y"?"top":"left";const n=d==="y"?"bottom":"right";const e=h+f[t];const o=h-f[n];h=b(e,h,o)}if(r){const t=u==="y"?"top":"left";const n=u==="y"?"bottom":"right";const e=p+f[t];const o=p-f[n];p=b(e,p,o)}const m=c.fn({...n,[d]:h,[u]:p});return{...m,data:{x:m.x-e,y:m.y-o}}}}};const Z=function(t){if(t===void 0){t={}}return{options:t,fn(n){const{x:e,y:o,placement:s,rects:i,middlewareData:r}=n;const{offset:c=0,mainAxis:a=true,crossAxis:l=true}=x(t,n);const f={x:e,y:o};const u=P(s);const d=T(u);let h=f[d];let p=f[u];const m=x(c,n);const y=typeof m==="number"?{mainAxis:m,crossAxis:0}:{mainAxis:0,crossAxis:0,...m};if(a){const t=d==="y"?"height":"width";const n=i.reference[d]-i.floating[t]+y.mainAxis;const e=i.reference[d]+i.reference[t]-y.mainAxis;if(h<n){h=n}else if(h>e){h=e}}if(l){var v,g;const t=d==="y"?"width":"height";const n=["top","left"].includes(k(s));const e=i.reference[u]-i.floating[t]+(n?((v=r.offset)==null?void 0:v[u])||0:0)+(n?0:y.crossAxis);const o=i.reference[u]+i.reference[t]+(n?0:((g=r.offset)==null?void 0:g[u])||0)-(n?y.crossAxis:0);if(p<e){p=e}else if(p>o){p=o}}return{[d]:h,[u]:p}}}};const tt=function(t){if(t===void 0){t={}}return{name:"size",options:t,async fn(n){const{placement:e,rects:o,platform:s,elements:i}=n;const{apply:r=(()=>{}),...c}=x(t,n);const a=await W(n,c);const l=k(e);const f=A(e);const u=P(e)==="y";const{width:d,height:h}=o.floating;let y;let v;if(l==="top"||l==="bottom"){y=l;v=f===(await(s.isRTL==null?void 0:s.isRTL(i.floating))?"start":"end")?"left":"right"}else{v=l;y=f==="end"?"top":"bottom"}const g=h-a.top-a.bottom;const w=d-a.left-a.right;const b=p(h-a[y],g);const T=p(d-a[v],w);const O=!n.middlewareData.shift;let C=b;let D=T;if(u){D=f||O?p(T,w):w}else{C=f||O?p(b,g):g}if(O&&!f){const t=m(a.left,0);const n=m(a.right,0);const e=m(a.top,0);const o=m(a.bottom,0);if(u){D=d-2*(t!==0||n!==0?t+n:m(a.left,a.right))}else{C=h-2*(e!==0||o!==0?e+o:m(a.top,a.bottom))}}await r({...n,availableWidth:D,availableHeight:C});const S=await s.getDimensions(i.floating);if(d!==S.width||h!==S.height){return{reset:{rects:true}}}return{}}}};function nt(){return typeof window!=="undefined"}function et(t){if(it(t)){return(t.nodeName||"").toLowerCase()}return"#document"}function ot(t){var n;return(t==null||(n=t.ownerDocument)==null?void 0:n.defaultView)||window}function st(t){var n;return(n=(it(t)?t.ownerDocument:t.document)||window.document)==null?void 0:n.documentElement}function it(t){if(!nt()){return false}return t instanceof Node||t instanceof ot(t).Node}function rt(t){if(!nt()){return false}return t instanceof Element||t instanceof ot(t).Element}function ct(t){if(!nt()){return false}return t instanceof HTMLElement||t instanceof ot(t).HTMLElement}function at(t){if(!nt()||typeof ShadowRoot==="undefined"){return false}return t instanceof ShadowRoot||t instanceof ot(t).ShadowRoot}function lt(t){const{overflow:n,overflowX:e,overflowY:o,display:s}=yt(t);return/auto|scroll|overlay|hidden|clip/.test(n+o+e)&&!["inline","contents"].includes(s)}function ft(t){return["table","td","th"].includes(et(t))}function ut(t){return[":popover-open",":modal"].some((n=>{try{return t.matches(n)}catch(t){return false}}))}function dt(t){const n=pt();const e=rt(t)?yt(t):t;return e.transform!=="none"||e.perspective!=="none"||(e.containerType?e.containerType!=="normal":false)||!n&&(e.backdropFilter?e.backdropFilter!=="none":false)||!n&&(e.filter?e.filter!=="none":false)||["transform","perspective","filter"].some((t=>(e.willChange||"").includes(t)))||["paint","layout","strict","content"].some((t=>(e.contain||"").includes(t)))}function ht(t){let n=gt(t);while(ct(n)&&!mt(n)){if(dt(n)){return n}else if(ut(n)){return null}n=gt(n)}return null}function pt(){if(typeof CSS==="undefined"||!CSS.supports)return false;return CSS.supports("-webkit-backdrop-filter","none")}function mt(t){return["html","body","#document"].includes(et(t))}function yt(t){return ot(t).getComputedStyle(t)}function vt(t){if(rt(t)){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}return{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function gt(t){if(et(t)==="html"){return t}const n=t.assignedSlot||t.parentNode||at(t)&&t.host||st(t);return at(n)?n.host:n}function wt(t){const n=gt(t);if(mt(n)){return t.ownerDocument?t.ownerDocument.body:t.body}if(ct(n)&&lt(n)){return n}return wt(n)}function bt(t,n,e){var o;if(n===void 0){n=[]}if(e===void 0){e=true}const s=wt(t);const i=s===((o=t.ownerDocument)==null?void 0:o.body);const r=ot(s);if(i){const t=xt(r);return n.concat(r,r.visualViewport||[],lt(s)?s:[],t&&e?bt(t):[])}return n.concat(s,bt(s,[],e))}function xt(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function kt(t){const n=yt(t);let e=parseFloat(n.width)||0;let o=parseFloat(n.height)||0;const s=ct(t);const i=s?t.offsetWidth:e;const r=s?t.offsetHeight:o;const c=y(e)!==i||y(o)!==r;if(c){e=i;o=r}return{width:e,height:o,$:c}}function At(t){return!rt(t)?t.contextElement:t}function Tt(t){const n=At(t);if(!ct(n)){return v(1)}const e=n.getBoundingClientRect();const{width:o,height:s,$:i}=kt(n);let r=(i?y(e.width):e.width)/o;let c=(i?y(e.height):e.height)/s;if(!r||!Number.isFinite(r)){r=1}if(!c||!Number.isFinite(c)){c=1}return{x:r,y:c}}const Ot=v(0);function Pt(t){const n=ot(t);if(!pt()||!n.visualViewport){return Ot}return{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function Ct(t,n,e){if(n===void 0){n=false}if(!e||n&&e!==ot(t)){return false}return n}function Dt(t,n,e,o){if(n===void 0){n=false}if(e===void 0){e=false}const s=t.getBoundingClientRect();const i=At(t);let r=v(1);if(n){if(o){if(rt(o)){r=Tt(o)}}else{r=Tt(t)}}const c=Ct(i,e,o)?Pt(i):v(0);let a=(s.left+c.x)/r.x;let l=(s.top+c.y)/r.y;let f=s.width/r.x;let u=s.height/r.y;if(i){const t=ot(i);const n=o&&rt(o)?ot(o):o;let e=t;let s=xt(e);while(s&&o&&n!==e){const t=Tt(s);const n=s.getBoundingClientRect();const o=yt(s);const i=n.left+(s.clientLeft+parseFloat(o.paddingLeft))*t.x;const r=n.top+(s.clientTop+parseFloat(o.paddingTop))*t.y;a*=t.x;l*=t.y;f*=t.x;u*=t.y;a+=i;l+=r;e=ot(s);s=xt(e)}}return E({width:f,height:u,x:a,y:l})}function St(t){let{elements:n,rect:e,offsetParent:o,strategy:s}=t;const i=s==="fixed";const r=st(o);const c=n?ut(n.floating):false;if(o===r||c&&i){return e}let a={scrollLeft:0,scrollTop:0};let l=v(1);const f=v(0);const u=ct(o);if(u||!u&&!i){if(et(o)!=="body"||lt(r)){a=vt(o)}if(ct(o)){const t=Dt(o);l=Tt(o);f.x=t.x+o.clientLeft;f.y=t.y+o.clientTop}}return{width:e.width*l.x,height:e.height*l.y,x:e.x*l.x-a.scrollLeft*l.x+f.x,y:e.y*l.y-a.scrollTop*l.y+f.y}}function Rt(t){return Array.from(t.getClientRects())}function jt(t,n){const e=vt(t).scrollLeft;if(!n){return Dt(st(t)).left+e}return n.left+e}function Lt(t){const n=st(t);const e=vt(t);const o=t.ownerDocument.body;const s=m(n.scrollWidth,n.clientWidth,o.scrollWidth,o.clientWidth);const i=m(n.scrollHeight,n.clientHeight,o.scrollHeight,o.clientHeight);let r=-e.scrollLeft+jt(t);const c=-e.scrollTop;if(yt(o).direction==="rtl"){r+=m(n.clientWidth,o.clientWidth)-s}return{width:s,height:i,x:r,y:c}}function Mt(t,n){const e=ot(t);const o=st(t);const s=e.visualViewport;let i=o.clientWidth;let r=o.clientHeight;let c=0;let a=0;if(s){i=s.width;r=s.height;const t=pt();if(!t||t&&n==="fixed"){c=s.offsetLeft;a=s.offsetTop}}return{width:i,height:r,x:c,y:a}}function Bt(t,n){const e=Dt(t,true,n==="fixed");const o=e.top+t.clientTop;const s=e.left+t.clientLeft;const i=ct(t)?Tt(t):v(1);const r=t.clientWidth*i.x;const c=t.clientHeight*i.y;const a=s*i.x;const l=o*i.y;return{width:r,height:c,x:a,y:l}}function Ft(t,n,e){let o;if(n==="viewport"){o=Mt(t,e)}else if(n==="document"){o=Lt(st(t))}else if(rt(n)){o=Bt(n,e)}else{const e=Pt(t);o={...n,x:n.x-e.x,y:n.y-e.y}}return E(o)}function Et(t,n){const e=gt(t);if(e===n||!rt(e)||mt(e)){return false}return yt(e).position==="fixed"||Et(e,n)}function Ht(t,n){const e=n.get(t);if(e){return e}let o=bt(t,[],false).filter((t=>rt(t)&&et(t)!=="body"));let s=null;const i=yt(t).position==="fixed";let r=i?gt(t):t;while(rt(r)&&!mt(r)){const n=yt(r);const e=dt(r);if(!e&&n.position==="fixed"){s=null}const c=i?!e&&!s:!e&&n.position==="static"&&!!s&&["absolute","fixed"].includes(s.position)||lt(r)&&!e&&Et(t,r);if(c){o=o.filter((t=>t!==r))}else{s=n}r=gt(r)}n.set(t,o);return o}function $t(t){let{element:n,boundary:e,rootBoundary:o,strategy:s}=t;const i=e==="clippingAncestors"?ut(n)?[]:Ht(n,this._c):[].concat(e);const r=[...i,o];const c=r[0];const a=r.reduce(((t,e)=>{const o=Ft(n,e,s);t.top=m(o.top,t.top);t.right=p(o.right,t.right);t.bottom=p(o.bottom,t.bottom);t.left=m(o.left,t.left);return t}),Ft(n,c,s));return{width:a.right-a.left,height:a.bottom-a.top,x:a.left,y:a.top}}function Wt(t){const{width:n,height:e}=kt(t);return{width:n,height:e}}function zt(t,n,e){const o=ct(n);const s=st(n);const i=e==="fixed";const r=Dt(t,true,i,n);let c={scrollLeft:0,scrollTop:0};const a=v(0);if(o||!o&&!i){if(et(n)!=="body"||lt(s)){c=vt(n)}if(o){const t=Dt(n,true,i,n);a.x=t.x+n.clientLeft;a.y=t.y+n.clientTop}else if(s){a.x=jt(s)}}let l=0;let f=0;if(s&&!o&&!i){const t=s.getBoundingClientRect();f=t.top+c.scrollTop;l=t.left+c.scrollLeft-jt(s,t)}const u=r.left+c.scrollLeft-a.x-l;const d=r.top+c.scrollTop-a.y-f;return{x:u,y:d,width:r.width,height:r.height}}function Nt(t){return yt(t).position==="static"}function It(t,n){if(!ct(t)||yt(t).position==="fixed"){return null}if(n){return n(t)}let e=t.offsetParent;if(st(t)===e){e=e.ownerDocument.body}return e}function Ut(t,n){const e=ot(t);if(ut(t)){return e}if(!ct(t)){let n=gt(t);while(n&&!mt(n)){if(rt(n)&&!Nt(n)){return n}n=gt(n)}return e}let o=It(t,n);while(o&&ft(o)&&Nt(o)){o=It(o,n)}if(o&&mt(o)&&Nt(o)&&!dt(o)){return e}return o||ht(t)||e}const _t=async function(t){const n=this.getOffsetParent||Ut;const e=this.getDimensions;const o=await e(t.floating);return{reference:zt(t.reference,await n(t.floating),t.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function Gt(t){return yt(t).direction==="rtl"}const Kt={convertOffsetParentRelativeRectToViewportRelativeRect:St,getDocumentElement:st,getClippingRect:$t,getOffsetParent:Ut,getElementRects:_t,getClientRects:Rt,getDimensions:Wt,getScale:Tt,isElement:rt,isRTL:Gt};const Vt=J;I;const Xt=Q;const Yt=U;tt;K;const qt=z;Y;Z;const Jt=(t,n,e)=>{const o=new Map;const s={platform:Kt,...e};const i={...s.platform,_c:o};return $(t,n,{...s,platform:i})};const Qt=(t,n,e)=>{const o=t.get(n);if(!o){t.set(n,[e])}else if(!o.includes(e)){o.push(e)}};const Zt=(t,n)=>{let e;return(...o)=>{if(e){clearTimeout(e)}e=setTimeout((()=>{e=0;t(...o)}),n)}};const tn=t=>!("isConnected"in t)||t.isConnected;const nn=Zt((t=>{for(let n of t.keys()){t.set(n,t.get(n).filter(tn))}}),2e3);const en=()=>{if(typeof t!=="function"){return{}}const e=new Map;return{dispose:()=>e.clear(),get:n=>{const o=t();if(o){Qt(e,n,o)}},set:t=>{const o=e.get(t);if(o){e.set(t,o.filter(n))}nn(e)},reset:()=>{e.forEach((t=>t.forEach(n)));nn(e)}}};const on=t=>typeof t==="function"?t():t;const sn=(t,n=((t,n)=>t!==n))=>{const e=on(t);let o=new Map(Object.entries(e!==null&&e!==void 0?e:{}));const s={dispose:[],get:[],set:[],reset:[]};const i=()=>{var n;o=new Map(Object.entries((n=on(t))!==null&&n!==void 0?n:{}));s.reset.forEach((t=>t()))};const r=()=>{s.dispose.forEach((t=>t()));i()};const c=t=>{s.get.forEach((n=>n(t)));return o.get(t)};const a=(t,e)=>{const i=o.get(t);if(n(e,i,t)){o.set(t,e);s.set.forEach((n=>n(t,e,i)))}};const l=typeof Proxy==="undefined"?{}:new Proxy(e,{get(t,n){return c(n)},ownKeys(t){return Array.from(o.keys())},getOwnPropertyDescriptor(){return{enumerable:true,configurable:true}},has(t,n){return o.has(n)},set(t,n,e){a(n,e);return true}});const f=(t,n)=>{s[t].push(n);return()=>{rn(s[t],n)}};const u=(n,e)=>{const o=f("set",((t,o)=>{if(t===n){e(o)}}));const s=f("reset",(()=>e(on(t)[n])));return()=>{o();s()}};const d=(...t)=>{const n=t.reduce(((t,n)=>{if(n.set){t.push(f("set",n.set))}if(n.get){t.push(f("get",n.get))}if(n.reset){t.push(f("reset",n.reset))}if(n.dispose){t.push(f("dispose",n.dispose))}return t}),[]);return()=>n.forEach((t=>t()))};const h=t=>{const n=o.get(t);s.set.forEach((e=>e(t,n,n)))};return{state:l,get:c,set:a,on:f,onChange:u,use:d,dispose:r,reset:i,forceUpdate:h}};const rn=(t,n)=>{const e=t.indexOf(n);if(e>=0){t[e]=t[t.length-1];t.length--}};const cn=(t,n)=>{const e=sn(t,n);e.use(en());return e};const an="nv-popover{display:inline-block;position:relative}nv-popover:has([fluid]:not([fluid=false])){display:block}nv-popover>[data-scope=popover]{width:max-content;background-color:var(--components-popover-background);border-color:var(--components-popover-border);font-weight:var(--font-weight-medium-emphasis);border-width:1px;border-style:solid;border-radius:var(--popover-radius);padding:var(--popover-padding-y) var(--popover-padding-x);position:absolute;top:0;left:0;z-index:1;box-shadow:var(--popover-shadow-1-x) var(--popover-shadow-1-y) var(--popover-shadow-1-blur) -2px var(--popover-shadow-1-opacity), var(--popover-shadow-2-x) var(--popover-shadow-2-y) var(--popover-shadow-2-blur) var(--shadow-spread-lg-2) var(--popover-shadow-2-opacity)}nv-popover>[data-scope=popover][hidden]:not([hidden=false]){display:none}nv-popover>[data-scope=popover]>[data-scope=arrow]{background-color:var(--components-popover-background);position:absolute;border-color:var(--components-popover-border);border-width:1px;border-style:solid;border-bottom-color:transparent;border-right-color:transparent;width:8px;height:8px;transform:rotate(45deg);border-radius:1px}nv-popover>[data-scope=popover]>[slot=content]{position:relative;z-index:1}nv-popover>slot-fb{display:none}";const ln=an;const{state:fn}=cn({groups:new Map});const un=class{constructor(t){e(this,t);this.openChanged=o(this,"openChanged",7);this.eventsAttached=false;this.open=false;this.triggerMode="click";this.placement="bottom";this.offset=6;this.hasArrow=false;this.disableFlip=false;this.shiftPadding=16;this.enterDelay=0;this.nested=false;this.handleClickOutside=t=>{var n;if(this.el.contains(t.target))return;if((n=this.triggerElement)===null||n===void 0?void 0:n.contains(t.target))return;this.open=false};this.clickEvents=[["click",()=>this.open=!this.open]];this.outsideClickEvents=[["click",this.handleClickOutside],["touchstart",this.handleClickOutside]];this.hoverEvents=[["focus",()=>{clearTimeout(this.hideTimeout);this.showTimeout=setTimeout((()=>this.open=true),this.enterDelay)}],["blur",()=>{clearTimeout(this.showTimeout);this.hideTimeout=setTimeout((()=>this.open=false),50)}],["mouseenter",()=>{clearTimeout(this.hideTimeout);this.showTimeout=setTimeout((()=>this.open=true),this.enterDelay)}],["mouseleave",()=>{clearTimeout(this.showTimeout);this.hideTimeout=setTimeout((()=>this.open=false),100)}]];this.closeEvents=[["keydown",t=>{if(t.key==="Escape"){this.open=false}}]];this.isAnimating=false}async show(){this.open=true}async hide(){this.open=false}async toggle(){this.open=!this.open}attachEventListeners(){if(this.triggerElement&&!this.eventsAttached){l(this.closeEvents,document,this);if(this.triggerMode==="click"){l(this.clickEvents,this.triggerElement,this);l(this.outsideClickEvents,document,this)}if(this.triggerMode==="hover"){l(this.hoverEvents,this.triggerElement,this)}this.eventsAttached=true}}positionPopover(){if(!this.triggerElement)return;Jt(this.triggerElement,this.popoverElement,{placement:this.placement,middleware:[Vt(this.offset),!this.disableFlip&&Yt({fallbackStrategy:"bestFit",crossAxis:true,fallbackPlacements:["bottom"]}),Xt({padding:this.shiftPadding}),this.hasArrow&&qt({element:this.arrowElement})]}).then((({x:t,y:n,placement:e,middlewareData:o})=>{Object.assign(this.popoverElement.style,{left:`${t}px`,top:`${n}px`});if(this.hasArrow){const t={top:"bottom",right:"left",bottom:"top",left:"right"}[e.split("-")[0]];const n={top:"rotate(225deg)",right:"rotate(315deg)",bottom:"rotate(45deg)",left:"rotate(135deg)"}[e.split("-")[0]];const{x:s,y:i}=o.arrow;Object.assign(this.arrowElement.style,{left:s!=null?`${s}px`:"",top:i!=null?`${i}px`:"",right:"",bottom:"",transform:n,[t]:"-4px"})}}))}handleOpenChanged(t){var n;if(this.triggerMode==="controlled")return;if(this.nested)return;if((n=t.target)===null||n===void 0?void 0:n.hasAttribute("nested"))return;if(t.target!==this.el&&t.detail===true)this.open=false}async handleOpenChange(t){while(this.isAnimating){await new Promise((t=>setTimeout(t,50)))}this.isAnimating=true;const n=fn.groups.get(this.groupName);const e=n&&n.openedBy!==this.el;const o=n&&n.openedBy===this.el;if(t)this.popoverElement.style.removeProperty("display");if(o&&!t)fn.groups.delete(this.groupName);if(this.groupName&&t)fn.groups.set(this.groupName,{openedBy:this.el});const{growIn:s}=a(this.popoverElement,{duration:e?0:100,amount:.85});const{fadeOut:i}=c(this.popoverElement,{duration:e?0:100});if(t===true){this.popoverElement.removeAttribute("hidden");this.positionPopover();await s()}if(t===false){await i();this.popoverElement.setAttribute("hidden","")}this.isAnimating=false;this.openChanged.emit(t)}componentWillLoad(){if(!this.triggerElement)this.triggerElement=Array.from(this.el.children).find((t=>t.getAttribute("slot")==="trigger"))}componentWillUpdate(){this.attachEventListeners()}componentDidLoad(){if(!this.open){const{setGrowOut:t}=a(this.popoverElement);t()}else{const{setFadeIn:t}=c(this.popoverElement);t();this.popoverElement.removeAttribute("hidden")}this.positionPopover();this.attachEventListeners()}disconnectedCallback(){f(this.closeEvents,document,this);if(this.triggerMode==="click"){f(this.clickEvents,this.triggerElement,this);f(this.outsideClickEvents,document,this)}if(this.triggerMode==="hover")f(this.hoverEvents,this.triggerElement,this);this.eventsAttached=false;if(this.hideTimeout)clearTimeout(this.hideTimeout);if(this.showTimeout)clearTimeout(this.showTimeout)}render(){return s(i,{key:"af402e7713ddfed886a9965c0bde847be7399f7e"},s("slot",{key:"bdef517573a37c420109712631120377fb862ab1",name:"trigger"}),s("div",{key:"8c2004b6d92bb09a1d19ea1f709b2f104695e111","data-scope":"popover",hidden:true,ref:t=>this.popoverElement=t},this.hasArrow&&s("div",{key:"11d1b809fcdfddf55b471e12618ec4b8735d4a31","data-scope":"arrow",ref:t=>this.arrowElement=t}),s("slot",{key:"989d8f02e4044d4963d3152f137f691fd80ef818",name:"content"})))}get el(){return r(this)}static get watchers(){return{open:["handleOpenChange"]}}};un.style=ln;export{un as nv_popover};
2
+ //# sourceMappingURL=p-cfe0a6c6.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r}from"./p-711a7778.js";const s=class{constructor(s){r(this,s)}render(){return null}};export{s as nv_tablecolumn};
2
+ //# sourceMappingURL=p-d07ab618.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as t,c as e,h as r,a as n,g as a}from"./p-711a7778.js";import{C as s,b as i,W as o}from"./p-f85c08f1.js";import{c}from"./p-0462f723.js";var d={exports:{}};(function(t,e){!function(e,r){t.exports=r()}(c,(function(){var t=1e3,e=6e4,r=36e5,n="millisecond",a="second",s="minute",i="hour",o="day",c="week",d="month",h="quarter",l="year",u="date",f="Invalid Date",p=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,v=/\[([^\]]+)]|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"],r=t%100;return"["+t+(e[(r-20)%10]||e[r]||e[0])+"]"}},g=function(t,e,r){var n=String(t);return!n||n.length>=e?t:""+Array(e+1-n.length).join(r)+t},y={s:g,z:function(t){var e=-t.utcOffset(),r=Math.abs(e),n=Math.floor(r/60),a=r%60;return(e<=0?"+":"-")+g(n,2,"0")+":"+g(a,2,"0")},m:function t(e,r){if(e.date()<r.date())return-t(r,e);var n=12*(r.year()-e.year())+(r.month()-e.month()),a=e.clone().add(n,d),s=r-a<0,i=e.clone().add(n+(s?-1:1),d);return+(-(n+(r-a)/(s?a-i:i-a))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:d,y:l,w:c,d:o,D:u,h:i,m:s,s:a,ms:n,Q:h}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},b="en",w={};w[b]=m;var k="$isDayjsObject",D=function(t){return t instanceof C||!(!t||!t[k])},M=function t(e,r,n){var a;if(!e)return b;if("string"==typeof e){var s=e.toLowerCase();w[s]&&(a=s),r&&(w[s]=r,a=s);var i=e.split("-");if(!a&&i.length>1)return t(i[0])}else{var o=e.name;w[o]=e,a=o}return!n&&a&&(b=a),a||!n&&b},x=function(t,e){if(D(t))return t.clone();var r="object"==typeof e?e:{};return r.date=t,r.args=arguments,new C(r)},Y=y;Y.l=M,Y.i=D,Y.w=function(t,e){return x(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var C=function(){function m(t){this.$L=M(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[k]=!0}var g=m.prototype;return g.parse=function(t){this.$d=function(t){var e=t.date,r=t.utc;if(null===e)return new Date(NaN);if(Y.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var n=e.match(p);if(n){var a=n[2]-1||0,s=(n[7]||"0").substring(0,3);return r?new Date(Date.UTC(n[1],a,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)):new Date(n[1],a,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)}}return new Date(e)}(t),this.init()},g.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()},g.$utils=function(){return Y},g.isValid=function(){return!(this.$d.toString()===f)},g.isSame=function(t,e){var r=x(t);return this.startOf(e)<=r&&r<=this.endOf(e)},g.isAfter=function(t,e){return x(t)<this.startOf(e)},g.isBefore=function(t,e){return this.endOf(e)<x(t)},g.$g=function(t,e,r){return Y.u(t)?this[e]:this.set(r,t)},g.unix=function(){return Math.floor(this.valueOf()/1e3)},g.valueOf=function(){return this.$d.getTime()},g.startOf=function(t,e){var r=this,n=!!Y.u(e)||e,h=Y.p(t),f=function(t,e){var a=Y.w(r.$u?Date.UTC(r.$y,e,t):new Date(r.$y,e,t),r);return n?a:a.endOf(o)},p=function(t,e){return Y.w(r.toDate()[t].apply(r.toDate("s"),(n?[0,0,0,0]:[23,59,59,999]).slice(e)),r)},v=this.$W,m=this.$M,g=this.$D,y="set"+(this.$u?"UTC":"");switch(h){case l:return n?f(1,0):f(31,11);case d:return n?f(1,m):f(0,m+1);case c:var b=this.$locale().weekStart||0,w=(v<b?v+7:v)-b;return f(n?g-w:g+(6-w),m);case o:case u:return p(y+"Hours",0);case i:return p(y+"Minutes",1);case s:return p(y+"Seconds",2);case a:return p(y+"Milliseconds",3);default:return this.clone()}},g.endOf=function(t){return this.startOf(t,!1)},g.$set=function(t,e){var r,c=Y.p(t),h="set"+(this.$u?"UTC":""),f=(r={},r[o]=h+"Date",r[u]=h+"Date",r[d]=h+"Month",r[l]=h+"FullYear",r[i]=h+"Hours",r[s]=h+"Minutes",r[a]=h+"Seconds",r[n]=h+"Milliseconds",r)[c],p=c===o?this.$D+(e-this.$W):e;if(c===d||c===l){var v=this.clone().set(u,1);v.$d[f](p),v.init(),this.$d=v.set(u,Math.min(this.$D,v.daysInMonth())).$d}else f&&this.$d[f](p);return this.init(),this},g.set=function(t,e){return this.clone().$set(t,e)},g.get=function(t){return this[Y.p(t)]()},g.add=function(n,h){var u,f=this;n=Number(n);var p=Y.p(h),v=function(t){var e=x(f);return Y.w(e.date(e.date()+Math.round(t*n)),f)};if(p===d)return this.set(d,this.$M+n);if(p===l)return this.set(l,this.$y+n);if(p===o)return v(1);if(p===c)return v(7);var m=(u={},u[s]=e,u[i]=r,u[a]=t,u)[p]||1,g=this.$d.getTime()+n*m;return Y.w(g,this)},g.subtract=function(t,e){return this.add(-1*t,e)},g.format=function(t){var e=this,r=this.$locale();if(!this.isValid())return r.invalidDate||f;var n=t||"YYYY-MM-DDTHH:mm:ssZ",a=Y.z(this),s=this.$H,i=this.$m,o=this.$M,c=r.weekdays,d=r.months,h=r.meridiem,l=function(t,r,a,s){return t&&(t[r]||t(e,n))||a[r].slice(0,s)},u=function(t){return Y.s(s%12||12,t,"0")},p=h||function(t,e,r){var n=t<12?"AM":"PM";return r?n.toLowerCase():n};return n.replace(v,(function(t,n){return n||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return Y.s(e.$y,4,"0");case"M":return o+1;case"MM":return Y.s(o+1,2,"0");case"MMM":return l(r.monthsShort,o,d,3);case"MMMM":return l(d,o);case"D":return e.$D;case"DD":return Y.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return l(r.weekdaysMin,e.$W,c,2);case"ddd":return l(r.weekdaysShort,e.$W,c,3);case"dddd":return c[e.$W];case"H":return String(s);case"HH":return Y.s(s,2,"0");case"h":return u(1);case"hh":return u(2);case"a":return p(s,i,!0);case"A":return p(s,i,!1);case"m":return String(i);case"mm":return Y.s(i,2,"0");case"s":return String(e.$s);case"ss":return Y.s(e.$s,2,"0");case"SSS":return Y.s(e.$ms,3,"0");case"Z":return a}return null}(t)||a.replace(":","")}))},g.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},g.diff=function(n,u,f){var p,v=this,m=Y.p(u),g=x(n),y=(g.utcOffset()-this.utcOffset())*e,b=this-g,w=function(){return Y.m(v,g)};switch(m){case l:p=w()/12;break;case d:p=w();break;case h:p=w()/3;break;case c:p=(b-y)/6048e5;break;case o:p=(b-y)/864e5;break;case i:p=b/r;break;case s:p=b/e;break;case a:p=b/t;break;default:p=b}return f?p:Y.a(p)},g.daysInMonth=function(){return this.endOf(d).$D},g.$locale=function(){return w[this.$L]},g.locale=function(t,e){if(!t)return this.$L;var r=this.clone(),n=M(t,e,!0);return n&&(r.$L=n),r},g.clone=function(){return Y.w(this.$d,this)},g.toDate=function(){return new Date(this.valueOf())},g.toJSON=function(){return this.isValid()?this.toISOString():null},g.toISOString=function(){return this.$d.toISOString()},g.toString=function(){return this.$d.toUTCString()},m}(),S=C.prototype;return x.prototype=S,[["$ms",n],["$s",a],["$m",s],["$H",i],["$W",o],["$M",d],["$y",l],["$D",u]].forEach((function(t){S[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),x.extend=function(t,e){return t.$i||(t(e,C,x),t.$i=!0),x},x.locale=M,x.isDayjs=D,x.unix=function(t){return x(1e3*t)},x.en=w[b],x.Ls=w,x.p={},x}))})(d);const h=d.exports;var l={exports:{}};(function(t,e){!function(e,r){t.exports=r()}(c,(function(){var t={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"},e=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,r=/\d/,n=/\d\d/,a=/\d\d?/,s=/\d*[^-_:/,()\s\d]+/,i={},o=function(t){return(t=+t)+(t>68?1900:2e3)};var c=function(t){return function(e){this[t]=+e}},d=[/[+-]\d\d:?(\d\d)?|Z/,function(t){(this.zone||(this.zone={})).offset=function(t){if(!t)return 0;if("Z"===t)return 0;var e=t.match(/([+-]|\d\d)/g),r=60*e[1]+(+e[2]||0);return 0===r?0:"+"===e[0]?-r:r}(t)}],h=function(t){var e=i[t];return e&&(e.indexOf?e:e.s.concat(e.f))},l=function(t,e){var r,n=i.meridiem;if(n){for(var a=1;a<=24;a+=1)if(t.indexOf(n(a,0,e))>-1){r=a>12;break}}else r=t===(e?"pm":"PM");return r},u={A:[s,function(t){this.afternoon=l(t,!1)}],a:[s,function(t){this.afternoon=l(t,!0)}],Q:[r,function(t){this.month=3*(t-1)+1}],S:[r,function(t){this.milliseconds=100*+t}],SS:[n,function(t){this.milliseconds=10*+t}],SSS:[/\d{3}/,function(t){this.milliseconds=+t}],s:[a,c("seconds")],ss:[a,c("seconds")],m:[a,c("minutes")],mm:[a,c("minutes")],H:[a,c("hours")],h:[a,c("hours")],HH:[a,c("hours")],hh:[a,c("hours")],D:[a,c("day")],DD:[n,c("day")],Do:[s,function(t){var e=i.ordinal,r=t.match(/\d+/);if(this.day=r[0],e)for(var n=1;n<=31;n+=1)e(n).replace(/\[|\]/g,"")===t&&(this.day=n)}],w:[a,c("week")],ww:[n,c("week")],M:[a,c("month")],MM:[n,c("month")],MMM:[s,function(t){var e=h("months"),r=(h("monthsShort")||e.map((function(t){return t.slice(0,3)}))).indexOf(t)+1;if(r<1)throw new Error;this.month=r%12||r}],MMMM:[s,function(t){var e=h("months").indexOf(t)+1;if(e<1)throw new Error;this.month=e%12||e}],Y:[/[+-]?\d+/,c("year")],YY:[n,function(t){this.year=o(t)}],YYYY:[/\d{4}/,c("year")],Z:d,ZZ:d};function f(r){var n,a;n=r,a=i&&i.formats;for(var s=(r=n.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(e,r,n){var s=n&&n.toUpperCase();return r||a[n]||t[n]||a[s].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(t,e,r){return e||r.slice(1)}))}))).match(e),o=s.length,c=0;c<o;c+=1){var d=s[c],h=u[d],l=h&&h[0],f=h&&h[1];s[c]=f?{regex:l,parser:f}:d.replace(/^\[|\]$/g,"")}return function(t){for(var e={},r=0,n=0;r<o;r+=1){var a=s[r];if("string"==typeof a)n+=a.length;else{var i=a.regex,c=a.parser,d=t.slice(n),h=i.exec(d)[0];c.call(e,h),t=t.replace(h,"")}}return function(t){var e=t.afternoon;if(void 0!==e){var r=t.hours;e?r<12&&(t.hours+=12):12===r&&(t.hours=0),delete t.afternoon}}(e),e}}return function(t,e,r){r.p.customParseFormat=!0,t&&t.parseTwoDigitYear&&(o=t.parseTwoDigitYear);var n=e.prototype,a=n.parse;n.parse=function(t){var e=t.date,n=t.utc,s=t.args;this.$u=n;var o=s[1];if("string"==typeof o){var c=!0===s[2],d=!0===s[3],h=c||d,l=s[2];d&&(l=s[2]),i=this.$locale(),!c&&l&&(i=r.Ls[l]),this.$d=function(t,e,r,n){try{if(["x","X"].indexOf(e)>-1)return new Date(("X"===e?1e3:1)*t);var a=f(e)(t),s=a.year,i=a.month,o=a.day,c=a.hours,d=a.minutes,h=a.seconds,l=a.milliseconds,u=a.zone,p=a.week,v=new Date,m=o||(s||i?1:v.getDate()),g=s||v.getFullYear(),y=0;s&&!i||(y=i>0?i-1:v.getMonth());var b,w=c||0,k=d||0,D=h||0,M=l||0;return u?new Date(Date.UTC(g,y,m,w,k,D,M+60*u.offset*1e3)):r?new Date(Date.UTC(g,y,m,w,k,D,M)):(b=new Date(g,y,m,w,k,D,M),p&&(b=n(b).week(p).toDate()),b)}catch(t){return new Date("")}}(e,o,n,r),this.init(),l&&!0!==l&&(this.$L=this.locale(l).$L),h&&e!=this.format(o)&&(this.$d=new Date("")),i={}}else if(o instanceof Array)for(var u=o.length,p=1;p<=u;p+=1){s[1]=o[p-1];var v=r.apply(this,s);if(v.isValid()){this.$d=v.$d,this.$L=v.$L,this.init();break}p===u&&(this.$d=new Date(""))}else a.call(this,t)}}}))})(l);const u=l.exports;var f={exports:{}};(function(t,e){!function(e,r){t.exports=r()}(c,(function(){var t="minute",e=/[+-]\d\d(?::?\d\d)?/g,r=/([+-]|\d\d)/g;return function(n,a,s){var i=a.prototype;s.utc=function(t){var e={date:t,utc:!0,args:arguments};return new a(e)},i.utc=function(e){var r=s(this.toDate(),{locale:this.$L,utc:!0});return e?r.add(this.utcOffset(),t):r},i.local=function(){return s(this.toDate(),{locale:this.$L,utc:!1})};var o=i.parse;i.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t)};var c=i.init;i.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 c.call(this)};var d=i.utcOffset;i.utcOffset=function(n,a){var s=this.$utils().u;if(s(n))return this.$u?0:s(this.$offset)?d.call(this):this.$offset;if("string"==typeof n&&(n=function(t){void 0===t&&(t="");var n=t.match(e);if(!n)return null;var a=(""+n[0]).match(r)||["-",0,0],s=a[0],i=60*+a[1]+ +a[2];return 0===i?0:"+"===s?i:-i}(n),null===n))return this;var i=Math.abs(n)<=16?60*n:n,o=this;if(a)return o.$offset=i,o.$u=0===n,o;if(0!==n){var c=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(i+c,t)).$offset=i,o.$x.$localOffset=c}else o=this.utc();return o};var h=i.format;i.format=function(t){var e=t||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return h.call(this,e)},i.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},i.isUTC=function(){return!!this.$u},i.toISOString=function(){return this.toDate().toISOString()},i.toString=function(){return this.toDate().toUTCString()};var l=i.toDate;i.toDate=function(t){return"s"===t&&this.$offset?s(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():l.call(this)};var u=i.diff;i.diff=function(t,e,r){if(t&&this.$u===t.$u)return u.call(this,t,e,r);var n=this.local(),a=s(t).local();return u.call(n,a,e,r)}}}))})(f);const p=f.exports;var v={exports:{}};(function(t,e){!function(e,r){t.exports=r()}(c,(function(){var t="week",e="year";return function(r,n,a){var s=n.prototype;s.week=function(r){if(void 0===r&&(r=null),null!==r)return this.add(7*(r-this.week()),"day");var n=this.$locale().yearStart||1;if(11===this.month()&&this.date()>25){var s=a(this).startOf(e).add(1,e).date(n),i=a(this).endOf(t);if(s.isBefore(i))return 1}var o=a(this).startOf(e).date(n).startOf(t).subtract(1,"millisecond"),c=this.diff(o,t,!0);return c<0?a(this).startOf("week").week():Math.ceil(c)},s.weeks=function(t){return void 0===t&&(t=null),this.week(t)}}}))})(v);const m=v.exports;h.extend(u);h.extend(p);h.extend(m);function g(t,e){if(!t)return"";const r=e.dateFormat.includes("Z");const n=e.dateFormat==="YYYY-MM-DD[T]HH:mm:ss[Z]";if(n){return t.toISOString()}if(e.dateFormat==="Ticks"){const e=t.getTime()*1e4+621355968e9;return e.toString()}if(e.dateFormat==="X"){return h(t).unix().toString()}if(e.dateFormat==="x"){return t.getTime().toString()}return r?h(t).utc().format(e.dateFormat):h(t).format(e.dateFormat)}function y(t,e,r){if(!t||!e)return false;if(r.isUTCMode){return t.getUTCFullYear()===e.getUTCFullYear()&&t.getUTCMonth()===e.getUTCMonth()&&t.getUTCDate()===e.getUTCDate()}else{return t.getFullYear()===e.getFullYear()&&t.getMonth()===e.getMonth()&&t.getDate()===e.getDate()}}function b(t,e,r){if(!t||!e)return false;if(r.isUTCMode){return t.getUTCFullYear()<e.getUTCFullYear()||t.getUTCFullYear()===e.getUTCFullYear()&&t.getUTCMonth()<e.getUTCMonth()||t.getUTCFullYear()===e.getUTCFullYear()&&t.getUTCMonth()===e.getUTCMonth()&&t.getUTCDate()<=e.getUTCDate()}else{return t.getFullYear()<e.getFullYear()||t.getFullYear()===e.getFullYear()&&t.getMonth()<e.getMonth()||t.getFullYear()===e.getFullYear()&&t.getMonth()===e.getMonth()&&t.getDate()<=e.getDate()}}function w(t,e,r){if(!t||!e)return false;if(r.isUTCMode){return t.getUTCFullYear()>e.getUTCFullYear()||t.getUTCFullYear()===e.getUTCFullYear()&&t.getUTCMonth()>e.getUTCMonth()||t.getUTCFullYear()===e.getUTCFullYear()&&t.getUTCMonth()===e.getUTCMonth()&&t.getUTCDate()>=e.getUTCDate()}else{return t.getFullYear()>e.getFullYear()||t.getFullYear()===e.getFullYear()&&t.getMonth()>e.getMonth()||t.getFullYear()===e.getFullYear()&&t.getMonth()===e.getMonth()&&t.getDate()>=e.getDate()}}function k(t){const e=new Date(t.getFullYear(),0,1);const r=(t.getTime()-e.getTime())/864e5;return Math.ceil((r+e.getDay()+1)/7)}function D(t,e){if(t instanceof Date)return t;const r=e.includes("Z");if(typeof t==="string"&&/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z$/.test(t)){try{const e=new Date(t);if(!isNaN(e.getTime())){return e}}catch(t){console.error("Error parsing ISO date:",t)}}if(e==="X"){const e=Number(t);if(isNaN(e))return null;return r?h.unix(e).utc().toDate():h.unix(e).toDate()}if(e==="x"){const e=Number(t);if(isNaN(e))return null;return r?h(e).utc().toDate():h(e).toDate()}if(e==="Ticks"){const e=Number(t);if(isNaN(e))return null;const n=(e-621355968e9)/1e4;return r?h(n).utc().toDate():h(n).toDate()}let n;if(r){n=h.utc(t,e,true)}else{n=h(t,e,true)}if(!n.isValid()){console.error(`Parsing error:`,{dateInput:t,dateFormat:e});return null}return n.toDate()}const M='nv-calendar{display:block}.datepicker-root{display:flex;justify-content:center;align-items:flex-start;width:auto}.datepicker-container{font-family:system-ui, sans-serif;display:flex;flex-direction:column;align-items:stretch;background:var(--components-calendar-background);border-radius:var(--calendar-radius);padding:var(--calendar-padding);box-shadow:0px var(--shadow-y-axis-md-1) var(--shadow-blur-md-1) var(--shadow-spread-md, 0) var(--shadow-color-opacity-0), 0px var(--shadow-y-axis-md-2) var(--shadow-blur-md-2) var(--shadow-spread-md, 0) var(--shadow-color-opacity-2);border:1px solid var(--components-calendar-border);width:auto;max-width:100%}.datepicker-container-single{max-width:300px}.datepicker-container-single .datepicker-wrapper:has(.shortcuts-placement-left),.datepicker-container-single .datepicker-wrapper:has(.shortcuts-placement-right){max-width:410px !important}.datepicker-container-single:has(.shortcuts-placement-left),.datepicker-container-single:has(.shortcuts-placement-right){max-width:410px !important}.datepicker-wrapper{display:flex;justify-content:center;align-items:flex-start;gap:var(--calendar-gap-x);width:auto;overflow-x:hidden}.datepicker-wrapper::-webkit-scrollbar{width:6px;height:6px}.datepicker-wrapper::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}.datepicker-wrapper::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}.datepicker-wrapper.single{justify-content:center}.calendar-container{display:flex;flex-direction:column;align-items:center;padding:var(--calendar-padding);width:auto;position:relative}.calendar-separator{width:1px;background:var(--components-calendar-border);height:auto;min-height:100%;margin:0 10px}.header{display:flex;justify-content:start;align-items:center;margin-bottom:var(--calendar-header-margin-bottom);width:100%}.header nv-iconbutton{width:var(--calendar-header-button-size);height:var(--calendar-header-button-size)}.nav-buttons{display:flex;gap:var(--spacing-0);margin-left:auto}.nav-left{order:-1}.date-controls{display:flex;gap:var(--spacing-1);align-items:center;min-height:34px;justify-content:center}.datepicker-container-single .date-controls{justify-content:flex-start}.datepicker-container:not(.datepicker-container-single) .date-controls{justify-content:start;flex-grow:1}.date-controls .month-select,.date-controls .year-input{background:transparent !important}.calendar-wrapper:nth-child(n+2) .datepicker-container{margin-left:42px}.calendar-grid{display:grid;grid-template-columns:auto 1fr;column-gap:var(--calendar-weeks-calendar-gap-x);position:relative}.calendar-grid.slide-left{animation:slideLeft 0.3s ease-out}.calendar-grid.slide-right{animation:slideRight 0.3s ease-out}.week-numbers{display:grid;grid-template-rows:var(--calendar-cell-size) repeat(6, var(--calendar-cell-size));background:var(--components-calendar-weeks-background);color:var(--components-calendar-weeks-text);border-radius:var(--calendar-weeks-radius);width:var(--calendar-weeks-size);row-gap:var(--calendar-grid-gap-y)}.week-numbers .clickable{cursor:pointer}.week-numbers .clickable:hover{background-color:var(--components-calendar-weeks-background-hover);color:var(--components-calendar-weeks-text-hover);border-radius:var(--calendar-radius)}.week-header,.week-number{display:grid;place-items:center;font-size:var(--calendar-cell-font-size)}.week-header{font-weight:700;color:var(--components-calendar-weeks-text)}.week-number{color:var(--components-calendar-cell-text)}.days-container{display:grid;grid-template-rows:auto 1fr;row-gap:var(--calendar-grid-gap-y)}.days-header{display:grid;grid-template-columns:repeat(7, var(--calendar-cell-size));height:var(--calendar-cell-size)}.day-header{display:grid;place-items:center;font-size:var(--calendar-cell-font-size);color:var(--components-calendar-cell-text)}.days-grid{display:grid;grid-template-columns:repeat(7, var(--calendar-cell-size));grid-template-rows:repeat(6, var(--calendar-cell-size));animation:fadeIn 0.2s ease-in;row-gap:var(--calendar-grid-gap-y);z-index:0}.day{display:grid;place-items:center;width:var(--calendar-cell-size);height:var(--calendar-cell-size);font-size:var(--calendar-cell-font-size);border-radius:var(--calendar-cell-radius);cursor:pointer;border:none;background:transparent;transition:all 0.2s ease;text-align:center;animation:scaleIn 0.2s ease-out}.day:hover:not(.disabled,.empty,.selected){background:var(--components-calendar-cell-background-hover);color:var(--components-calendar-cell-text-hover)}.day.selected,.day.selected:hover .day.is-today.selected,.day.is-today.selected:hover{background:var(--components-calendar-cell-background-selected);color:var(--components-calendar-cell-text-selected) !important}.day.disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.day.outside-month{color:var(--components-calendar-cell-text);opacity:var(--opacity-disabled)}.day.outside-month.selected{opacity:1 !important;color:var(--components-calendar-cell-text-selected)}.day.outside-month.in-range{opacity:0.5 !important;background-color:var(--components-calendar-cell-background-in-range);color:var(--components-calendar-cell-text-in-range)}.day.outside-month.in-range:hover{opacity:0.7 !important;background-color:var(--components-calendar-cell-background-in-range)}.day.in-range{background:var(--components-calendar-cell-background-in-range);color:var(--components-calendar-cell-text-in-range);border-radius:0;position:relative}.day.range-start,.day.range-start:focus,.day.range-start:hover,.day.range-end,.day.range-end:focus,.day.range-end:hover{background-color:var(--components-calendar-cell-background-selected) !important;color:var(--components-calendar-cell-text-selected) !important}.day.range-start,.day.range-end,.day.range-start.is-today,.day.range-end.is-today{background:var(--components-calendar-cell-background-selected);color:var(--components-calendar-cell-text-selected);position:relative;border-radius:var(--radius-rounded-full)}.day.range-start:hover,.day.range-end:hover,.day.range-start.is-today:hover,.day.range-end.is-today:hover{color:var(--components-calendar-cell-text-today)}.day.range-start:before,.day.range-end:before,.day.range-start.is-today:before,.day.range-end.is-today:before{content:"";position:absolute;bottom:0;left:0;right:0;top:0;z-index:-1;background-color:var(--components-calendar-cell-background-in-range);border-radius:var(--radius-rounded-full);width:auto;height:auto}.day.range-start:has(~.range-end):before,.day.range-start:has(+.in-range):before{border-top-right-radius:0;border-bottom-right-radius:0}.day.range-end:before{border-top-left-radius:0 !important;border-bottom-left-radius:0 !important}.day.outside-month.range-start,.day.outside-month.range-end{opacity:1 !important;background:var(--components-calendar-cell-background-selected) !important;color:var(--components-calendar-cell-text-selected)}.day.is-today{font-weight:700;position:relative;color:var(--components-calendar-cell-text-today)}.day.is-today.range-start,.day.is-today.range-end{color:var(--components-calendar-cell-text-selected)}.day.is-today.range-start:hover,.day.is-today.range-end:hover{color:var(--components-calendar-cell-text-today)}.day.is-today::after{content:"";position:absolute;bottom:var(--spacing-1);left:50%;transform:translateX(-50%);width:var(--calendar-cell-dot-size);height:var(--calendar-cell-dot-size);background-color:currentColor;border-radius:50%}.day.is-today.selected::after{color:var(--components-calendar-cell-text-selected)}.day.is-today.selected::after::after{background-color:var(--components-calendar-cell-dot-selected)}.calendar-footer{display:flex;gap:var(--spacing-1);justify-content:flex-start;width:100%;flex-wrap:wrap}.footer-placement-left{justify-content:flex-start}.footer-placement-right{justify-content:flex-end}.footer-placement-center{justify-content:center}.datepicker-controls{display:flex;flex-direction:column;border-top:1px solid var(--components-calendar-border);padding:var(--calendar-controls-padding-top) var(--calendar-padding) var(--calendar-padding);gap:var(--calendar-grid-gap-y);margin-top:var(--calendar-controls-margin-top)}.datepicker-actions{display:flex;justify-content:flex-end;gap:var(--spacing-1);width:100%}.datepicker-actions slot-fb{display:contents !important}.calendar-footer+.datepicker-actions{margin-top:0}.shortcuts-placement-left,.shortcuts-placement-right{display:flex;flex-direction:column;gap:var(--spacing-1);margin-top:var(--spacing-4)}.shortcuts-placement-left{align-items:flex-end}.shortcuts-placement-right{align-items:flex-start}@keyframes slideLeft{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideRight{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}';const x=M;const Y=class{constructor(n){t(this,n);this.singleDateChange=e(this,"singleDateChange",7);this.rangeDateChange=e(this,"rangeDateChange",7);this.firstDayOfWeek=0;this.numberOfCalendars=1;this.locale="en-BE";this.dateFormat="YYYY-MM-DD";this.shortcutsPlacement="bottom";this.selectionType="single";this.showActions=false;this.parsedDisabledDates=[];this.currentDate=null;this.selectedDate=null;this.startDate=null;this.endDate=null;this.months=[];this.changeMonth=t=>{const e=new Date(this.currentDate);e.setUTCMonth(e.getUTCMonth()+t);const r=this.el.querySelectorAll(".calendar-grid");r.forEach((e=>{e.classList.remove("slide-left","slide-right");const r=t>0?"slide-left":"slide-right";e.classList.add(r);setTimeout((()=>{e.classList.remove(r)}),300)}));this.currentDate=e};this.handleDateSelection=t=>{if(this.isDateDisabled(t)){return}if(this.selectionType==="single"){this.handleSingleSelection(t)}else{this.handleRangeSelection(t)}};this.handleSingleSelection=t=>{if(!t)return;const e=g(t,{dateFormat:this.dateFormat});this.selectedDate=t;this.singleDateChange.emit(e)};this.handleRangeSelection=t=>{if(!this.startDate||this.startDate&&this.endDate){this.startDate=t;this.endDate=null}else{this.endDate=t;if(this.startDate>this.endDate){[this.startDate,this.endDate]=[this.endDate,this.startDate]}this.rangeDateChange.emit({start:g(this.startDate,{dateFormat:this.dateFormat}),end:g(this.endDate,{dateFormat:this.dateFormat})})}};this.isDateDisabled=t=>{if(!t)return true;if(this.min){const e=D(this.min,this.dateFormat);if(e&&t<e){return true}}if(this.max){const e=D(this.max,this.dateFormat);if(e&&t>e){return true}}return this.parsedDisabledDates.some((e=>y(t,e,{isUTCMode:this.isUTCMode})))};this.isDateInRange=t=>{if(!t||!this.startDate||!this.endDate)return false;const e=D(t,this.dateFormat);const r=D(this.startDate,this.dateFormat);const n=D(this.endDate,this.dateFormat);if(isNaN(r.getTime())||isNaN(n.getTime())){return false}if(r>n)return false;return w(e,r,{isUTCMode:this.isUTCMode})&&b(e,n,{isUTCMode:this.isUTCMode})};this.getDayNames=()=>{if(s[this.locale]){const t=[...s[this.locale]];const e=t.slice(0,this.firstDayOfWeek);const r=t.slice(this.firstDayOfWeek);return[...r,...e]}const t=new Intl.DateTimeFormat(this.locale,{weekday:"short"});const e=[...Array(7)].map(((e,r)=>t.format(new Date(2023,0,r+1)).toUpperCase()));const r=e.slice(0,this.firstDayOfWeek);const n=e.slice(this.firstDayOfWeek);return[...n,...r]};this.getDaysInMonth=(t=0,e=1)=>{const r=this.currentDate.getUTCFullYear();const n=this.currentDate.getUTCMonth()+t;const a=new Date(Date.UTC(r,n,1));const s=new Date(Date.UTC(r,n+1,0));const i=[];const o=a.getUTCDay();const c=(o-this.firstDayOfWeek+7)%7;if(t===0&&c>0){const t=new Date(Date.UTC(r,n,0)).getUTCDate();for(let e=c;e>0;e--){const a=new Date(Date.UTC(r,n-1,t-e+1));i.push({dayOfMonth:a.getUTCDate(),date:a,isCurrentMonth:false,isDisabled:this.isDateDisabled(a)})}}for(let t=1;t<=s.getUTCDate();t++){const e=new Date(Date.UTC(r,n,t));i.push({dayOfMonth:t,date:e,isCurrentMonth:true,isDisabled:this.isDateDisabled(e)})}if(t===e-1){const t=7-(i.length%7||7);for(let e=1;e<=t;e++){const t=new Date(Date.UTC(r,n+1,e));i.push({dayOfMonth:e,date:t,isCurrentMonth:false,isDisabled:this.isDateDisabled(t)})}}return i};this.initializeMonths=()=>{if(i[this.locale]){this.months=i[this.locale].map(((t,e)=>({value:e,label:t})));return}const t=new Intl.DateTimeFormat(this.locale,{month:"short"});this.months=Array.from({length:12},((e,r)=>({value:r,label:t.format(new Date(2e3,r,1)).toUpperCase()})))};this.getLocalizedWeekText=()=>o[this.locale]||"W";this.handleMonthChange=(t,e=0)=>{const r=t.target;const n=parseInt(r.value,10);const a=this.currentDate.getUTCMonth();const s=n-(a+e)%12;const i=new Date(this.currentDate);i.setUTCMonth(i.getUTCMonth()+s);this.currentDate=i};this.handleYearChange=(t,e=0)=>{const r=t.target;const n=parseInt(r.value,10);if(!isNaN(n)&&n>=1900&&n<=2100){const t=new Date(this.currentDate);t.setUTCFullYear(n);t.setUTCMonth(t.getUTCMonth()+e);this.currentDate=t}};this.handleWeekSelection=(t,e)=>{if(this.selectionType!=="range")return;const r=this.getDaysInMonth(e,this.numberOfCalendars);const n=t[0];const a=t[t.length-1];if(!n||!a)return;const s=r.filter((t=>t.date&&t.date>=n&&t.date<=a));const i=s.filter((t=>!this.isDateDisabled(t.date)));if(i.length>0){this.startDate=i[0].date;this.endDate=i[i.length-1].date;this.rangeDateChange.emit({start:g(this.startDate,{dateFormat:this.dateFormat}),end:g(this.endDate,{dateFormat:this.dateFormat})})}};this.isToday=t=>{const e=new Date;return t.getDate()===e.getDate()&&t.getMonth()===e.getMonth()&&t.getFullYear()===e.getFullYear()};this.parseDisabledDates=()=>{if(!this.disabledDates){this.parsedDisabledDates=[];return}try{this.parsedDisabledDates=this.disabledDates.map((t=>D(t,this.dateFormat))).filter((t=>t!==null))}catch(t){console.error("Error parsing disabled dates:",t);this.parsedDisabledDates=[]}};this.applyShortcut=t=>{this.selectedDate=null;this.startDate=null;this.endDate=null;if(t.singleValue){const e=D(t.singleValue,this.dateFormat);this.selectedDate=e;this.singleDateChange.emit(g(e,{dateFormat:this.dateFormat}));this.singleValue=g(e,{dateFormat:this.dateFormat});if(!this.showActions){const t=new CustomEvent("closePopover",{bubbles:true,composed:true});this.el.dispatchEvent(t)}this.forceCalendarUpdate(e)}else{const e=D(t.rangeValue.start,this.dateFormat);const r=D(t.rangeValue.end,this.dateFormat);this.startDate=e;this.endDate=r;this.rangeDateChange.emit({start:g(e,{dateFormat:this.dateFormat}),end:g(r,{dateFormat:this.dateFormat})});this.rangeValue={start:g(e,{dateFormat:this.dateFormat}),end:g(r,{dateFormat:this.dateFormat})};if(!this.showActions){const t=new CustomEvent("closePopover",{bubbles:true,composed:true});this.el.dispatchEvent(t)}this.currentDate=e}};this.forceCalendarUpdate=t=>{this.currentDate=new Date(t)};this.getChangeMonthHandler=t=>()=>this.changeMonth(t);this.getHandleMonthChange=t=>e=>this.handleMonthChange(e,t);this.getHandleYearChange=t=>e=>this.handleYearChange(e,t);this.getDayClickHandler=(t,e)=>e?undefined:()=>this.handleDateSelection(t);this.getShortcutHandler=t=>()=>this.applyShortcut(t);this.getWeekSelectionHandler=(t,e)=>()=>{if(this.selectionType==="range"){this.handleWeekSelection(t,e)}};this.resetSelection=()=>{if(this.selectionType==="single"){this.selectedDate=null;this.singleValue=null;this.singleDateChange.emit("")}else{this.startDate=null;this.endDate=null;this.rangeValue=null;this.rangeDateChange.emit({start:"",end:""})}};this.confirmSelection=()=>{if(this.selectionType==="single"&&this.selectedDate){const t=g(this.selectedDate,{dateFormat:this.dateFormat});this.singleDateChange.emit(t);this.singleValue=t;const e=new CustomEvent("closePopover",{bubbles:true,composed:true});this.el.dispatchEvent(e)}else if(this.selectionType==="range"&&this.startDate&&this.endDate){this.rangeDateChange.emit({start:g(this.startDate,{dateFormat:this.dateFormat}),end:g(this.endDate,{dateFormat:this.dateFormat})});this.rangeValue={start:g(this.startDate,{dateFormat:this.dateFormat}),end:g(this.endDate,{dateFormat:this.dateFormat})};const t=new CustomEvent("closePopover",{bubbles:true,composed:true});this.el.dispatchEvent(t)}};this.renderHeader=(t,e)=>r("div",{class:"header"},this.numberOfCalendars>1&&e===0&&r("nv-iconbutton",{class:"nav-left",emphasis:"lower",name:"chevron-left",onClick:this.getChangeMonthHandler(-1)}),r("div",{class:"date-controls"},r("select",{class:"month-select mr-4",onChange:this.getHandleMonthChange(t)},this.months.map((e=>r("option",{key:e.value,value:e.value,selected:e.value===(this.currentDate.getUTCMonth()+t)%12},e.label)))),r("input",{type:"number",class:"year-input",min:"1950",max:"2100",value:this.currentDate.getUTCFullYear()+Math.floor((this.currentDate.getUTCMonth()+t)/12),onChange:this.getHandleYearChange(t)})),this.numberOfCalendars===1&&r("div",{class:"nav-buttons"},r("nv-iconbutton",{emphasis:"lower",name:"chevron-left",onClick:this.getChangeMonthHandler(-1)}),r("nv-iconbutton",{emphasis:"lower",name:"chevron-right",onClick:this.getChangeMonthHandler(1)})),this.numberOfCalendars>1&&e===this.numberOfCalendars-1&&r("nv-iconbutton",{emphasis:"lower",name:"chevron-right",onClick:this.getChangeMonthHandler(1),class:"nav-right"}));this.renderWeekNumbers=(t,e)=>r("div",{class:"week-numbers"},r("div",{class:"week-header"},this.getLocalizedWeekText()),t.map(((t,n)=>{var a;const s=t.map((t=>t.date));return r("div",{class:`week-number ${this.selectionType==="range"?"clickable":""}`,onClick:this.getWeekSelectionHandler(s,e),key:`week-${n}`},k(((a=t.find((t=>t.date)))===null||a===void 0?void 0:a.date)||new Date))})));this.renderDaysGrid=t=>r("div",{class:"days-grid"},t.map((t=>{const e=t.date;if(!e)return null;const n=this.selectionType==="single"&&y(e,this.selectedDate,{isUTCMode:this.isUTCMode});const a=this.isDateInRange(e);const s=y(e,this.startDate,{isUTCMode:this.isUTCMode});const i=y(e,this.endDate,{isUTCMode:this.isUTCMode});const o=this.isToday(e);const c=!t.isCurrentMonth;const d=["day",n?"selected":"",s?"range-start":"",i?"range-end":"",a?"in-range":"",t.isDisabled?"disabled":"",c?"outside-month":"",o?"is-today":""];return r("div",{class:d.filter(Boolean).join(" "),onClick:this.getDayClickHandler(e,t.isDisabled),"aria-disabled":t.isDisabled,key:`day-${e.toISOString()}`},t.dayOfMonth)})));this.renderCalendar=(t,e)=>{const n=this.getDaysInMonth(e,this.numberOfCalendars);const a=[];for(let t=0;t<n.length;t+=7){a.push(n.slice(t,t+7))}return r("div",{class:"calendar-wrapper"},r("div",{class:"calendar-container",key:`calendar-${t}`},this.renderHeader(e,t),r("div",{class:"calendar-grid"},this.showWeekNumbers&&this.renderWeekNumbers(a,t),r("div",{class:"days-container"},r("div",{class:"days-header"},this.getDayNames().map((t=>r("div",{class:"day-header"},t)))),this.renderDaysGrid(n)))),t<this.numberOfCalendars-1&&r("div",{class:"calendar-separator"}))};this.renderShortcuts=()=>{if(!this.hasShortcuts){return null}return r("div",{class:`shortcuts-container shortcuts-placement-${this.shortcutsPlacement}`},this.shortcuts.map((t=>r("nv-button",{emphasis:"lower",size:"xs","aria-label":t.label,onClick:this.getShortcutHandler(t)},t.label))))};this.renderActions=()=>r("div",{class:"datepicker-actions"},r("slot",{name:"actions"},r("nv-button",{emphasis:"low",size:"xs",onClick:this.resetSelection},"Cancel"),r("nv-button",{size:"xs",onClick:this.confirmSelection},"OK")))}validateNumberOfCalendars(t){if(t<1||t>4){console.warn("numberOfCalendars must be between 1 and 4. Defaulting to 1.");this.numberOfCalendars=1}}onRangeValueChange(t){if(t&&t.start&&t.end){try{const{startDate:e,endDate:r}=this.validateDateRange(t.start,t.end);this.startDate=e;this.endDate=r;const n=this.el.getAttribute("data-prevent-navigation")==="true";if(!n){this.currentDate=e}}catch(t){console.error("Invalid rangeValue:",t)}}}handleDisabledDatesChange(){this.parseDisabledDates()}onSingleValueChange(t,e){if(this.selectionType==="single"&&t!==e&&t){const e=D(t,this.dateFormat);if(e){this.selectedDate=e;const t=this.el.getAttribute("data-prevent-navigation")==="true";if(!t){this.currentDate=e}}}}componentWillLoad(){this.parseDisabledDates();if(this.selectionType==="single"&&this.singleValue){this.selectedDate=D(this.singleValue,this.dateFormat);this.currentDate=this.selectedDate}else if(this.selectionType==="range"&&this.rangeValue){try{if(this.rangeValue.start&&this.rangeValue.end){const{startDate:t,endDate:e,swapped:r}=this.validateDateRange(this.rangeValue.start,this.rangeValue.end);this.startDate=t;this.endDate=e;this.currentDate=t;if(r){this.rangeValue={start:g(t,{dateFormat:this.dateFormat}),end:g(e,{dateFormat:this.dateFormat})}}}}catch(t){console.error("Invalid rangeValue:",t)}}else{this.currentDate=new Date}this.initializeMonths()}get hasShortcuts(){return Boolean(this.shortcutsPlacement&&this.shortcuts)}get hasActions(){return this.showActions}get isUTCMode(){return this.dateFormat.includes("Z")}validateDateRange(t,e){try{const r=D(t,this.dateFormat);const n=D(e,this.dateFormat);if(r&&n&&r>n){console.warn(`Warning: startDate (${g(r,{dateFormat:this.dateFormat})}) is after endDate (${g(n,{dateFormat:this.dateFormat})})`);return{startDate:n,endDate:r,swapped:true}}return{startDate:r,endDate:n,swapped:false}}catch(t){console.error("Invalid date range:",t);throw t}}render(){return r(n,{key:"9804c486acf32e12f2d88f932a54ca6260365887"},r("div",{key:"8503f585401191b904f2de248ed0c24b1fed1505",class:"datepicker-root"},r("div",{key:"9da71618bd2031b44f5a3fd889d40b2580fcca58",class:`datepicker-container ${this.numberOfCalendars===1?"datepicker-container-single":""}`},r("div",{key:"fbf71a34b520ca48f1440d8caeec442773b1e57a",class:`datepicker-wrapper ${this.numberOfCalendars===1?"single":""}`},this.shortcutsPlacement==="left"&&this.renderShortcuts(),Array.from({length:this.numberOfCalendars},((t,e)=>this.renderCalendar(e,e))),this.shortcutsPlacement==="right"&&this.renderShortcuts()),(this.hasShortcuts&&this.shortcutsPlacement==="bottom"||this.hasActions)&&r("div",{key:"4431e3f1221e9d47807d58af380dcaa91bf05c48",class:"datepicker-controls"},this.shortcutsPlacement==="bottom"&&this.renderShortcuts(),this.hasActions&&this.renderActions()))),r("slot",{key:"30386356bda72f4f12a28351084ab498ec95f5b9"}))}get el(){return a(this)}static get watchers(){return{numberOfCalendars:["validateNumberOfCalendars"],rangeValue:["onRangeValueChange"],disabledDates:["handleDisabledDatesChange"],singleValue:["onSingleValueChange"]}}};Y.style=x;export{Y as nv_calendar};
2
+ //# sourceMappingURL=p-dac0089b.entry.js.map