@nova-design-system/nova-react 3.0.0-beta.43 → 3.0.0-beta.44

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 (270) hide show
  1. package/dist/cjs/index-BZCQTWfv.js +26372 -0
  2. package/dist/cjs/index-B_VOAJzk.js +26373 -0
  3. package/dist/cjs/index-CDe7nrrW.js +26373 -0
  4. package/dist/cjs/index-CEWbQ5nh.js +26373 -0
  5. package/dist/cjs/index-CIcUUomJ.js +26373 -0
  6. package/dist/cjs/index-CtI3SivD.js +26373 -0
  7. package/dist/cjs/index-wDACGzKb.js +26373 -0
  8. package/dist/cjs/index.js +1 -1
  9. package/dist/cjs/nv-alert.entry-B-P-Fgdo.js +173 -0
  10. package/dist/cjs/nv-alert.entry-B3NpZh1C.js +173 -0
  11. package/dist/cjs/nv-alert.entry-BU86GY-d.js +173 -0
  12. package/dist/cjs/nv-alert.entry-CwZcD170.js +173 -0
  13. package/dist/cjs/nv-alert.entry-CxSN1zpW.js +173 -0
  14. package/dist/cjs/nv-alert.entry-DsoqN5tQ.js +173 -0
  15. package/dist/cjs/nv-alert.entry-xuY-Lvuj.js +173 -0
  16. package/dist/cjs/nv-avatar.entry-CFgnor0-.js +67 -0
  17. package/dist/cjs/nv-avatar.entry-DJkpupVT.js +67 -0
  18. package/dist/cjs/nv-avatar.entry-DKXMQPOz.js +67 -0
  19. package/dist/cjs/nv-avatar.entry-DWOADxdQ.js +67 -0
  20. package/dist/cjs/nv-avatar.entry-DjyiGt07.js +67 -0
  21. package/dist/cjs/nv-avatar.entry-DuN1d3Vy.js +67 -0
  22. package/dist/cjs/nv-avatar.entry-yyLQEqI7.js +67 -0
  23. package/dist/cjs/nv-badge_2.entry-BFURAuBQ.js +195 -0
  24. package/dist/cjs/nv-badge_2.entry-BQXL0ZhP.js +195 -0
  25. package/dist/cjs/nv-badge_2.entry-CJQWS2xG.js +195 -0
  26. package/dist/cjs/nv-badge_2.entry-D0jeqYIQ.js +195 -0
  27. package/dist/cjs/nv-badge_2.entry-DKGHx4c8.js +194 -0
  28. package/dist/cjs/nv-badge_2.entry-Drgx-565.js +195 -0
  29. package/dist/cjs/nv-badge_2.entry-im1VnU5f.js +195 -0
  30. package/dist/cjs/nv-base.entry-9HF044Di.js +71 -0
  31. package/dist/cjs/nv-base.entry-BmY-1Lne.js +71 -0
  32. package/dist/cjs/nv-base.entry-BuxI7QmU.js +71 -0
  33. package/dist/cjs/nv-base.entry-CcaAXjnO.js +71 -0
  34. package/dist/cjs/nv-base.entry-Ch8ncPl0.js +71 -0
  35. package/dist/cjs/nv-base.entry-D7gUvPIG.js +71 -0
  36. package/dist/cjs/nv-base.entry-c723sI4Y.js +71 -0
  37. package/dist/cjs/nv-breadcrumb.entry-B9rOxsg_.js +45 -0
  38. package/dist/cjs/nv-breadcrumb.entry-BtM_AHRC.js +45 -0
  39. package/dist/cjs/nv-breadcrumb.entry-C-xHbSJw.js +45 -0
  40. package/dist/cjs/nv-breadcrumb.entry-CL9l0Wkr.js +45 -0
  41. package/dist/cjs/nv-breadcrumb.entry-CxGReUqZ.js +45 -0
  42. package/dist/cjs/nv-breadcrumb.entry-LYt0sALP.js +45 -0
  43. package/dist/cjs/nv-breadcrumb.entry-wy-P2BMg.js +45 -0
  44. package/dist/cjs/nv-breadcrumbs.entry-9LlUycIv.js +20 -0
  45. package/dist/cjs/nv-breadcrumbs.entry-B7CaTbBe.js +20 -0
  46. package/dist/cjs/nv-breadcrumbs.entry-BA-TnreZ.js +20 -0
  47. package/dist/cjs/nv-breadcrumbs.entry-CEmZ3yFi.js +20 -0
  48. package/dist/cjs/nv-breadcrumbs.entry-De5lsjQf.js +20 -0
  49. package/dist/cjs/nv-breadcrumbs.entry-_w38BddR.js +20 -0
  50. package/dist/cjs/nv-breadcrumbs.entry-ubxLcEUH.js +20 -0
  51. package/dist/cjs/nv-button.entry-B3rEQuGV.js +162 -0
  52. package/dist/cjs/nv-button.entry-B5-Wf9hh.js +162 -0
  53. package/dist/cjs/nv-button.entry-CBNfIn-r.js +162 -0
  54. package/dist/cjs/nv-button.entry-D-DPQDNM.js +162 -0
  55. package/dist/cjs/nv-button.entry-DHZX7KH4.js +162 -0
  56. package/dist/cjs/nv-button.entry-DLoECCSK.js +162 -0
  57. package/dist/cjs/nv-button.entry-Dk6DqHG2.js +162 -0
  58. package/dist/cjs/nv-calendar.entry-BeCCaAVE.js +1036 -0
  59. package/dist/cjs/nv-calendar.entry-DNyH8T5e.js +1036 -0
  60. package/dist/cjs/nv-calendar.entry-DSWhDnEC.js +1036 -0
  61. package/dist/cjs/nv-calendar.entry-DUHckAh3.js +1036 -0
  62. package/dist/cjs/nv-calendar.entry-NU1TumeS.js +1036 -0
  63. package/dist/cjs/nv-calendar.entry-UUE6v4YC.js +1036 -0
  64. package/dist/cjs/nv-calendar.entry-ZtfR2qOV.js +1036 -0
  65. package/dist/cjs/nv-col.entry-B5nCHhbO.js +37 -0
  66. package/dist/cjs/nv-col.entry-Bx1VZSMw.js +37 -0
  67. package/dist/cjs/nv-col.entry-C400BeEE.js +37 -0
  68. package/dist/cjs/nv-col.entry-CYjFAVMF.js +37 -0
  69. package/dist/cjs/nv-col.entry-DDEtfCv-.js +37 -0
  70. package/dist/cjs/nv-col.entry-DqzImLSJ.js +37 -0
  71. package/dist/cjs/nv-col.entry-DtYBQEJz.js +37 -0
  72. package/dist/cjs/nv-datagrid.entry-5VIvkJGL.js +3671 -0
  73. package/dist/cjs/nv-datagrid.entry-Ba9sfMQp.js +3671 -0
  74. package/dist/cjs/nv-datagrid.entry-Beehe_Sq.js +3671 -0
  75. package/dist/cjs/nv-datagrid.entry-CkD_jV75.js +3671 -0
  76. package/dist/cjs/nv-datagrid.entry-D6p67Pa6.js +3671 -0
  77. package/dist/cjs/nv-datagrid.entry-DKqScS8N.js +3671 -0
  78. package/dist/cjs/nv-datagrid.entry-ee865R4b.js +3671 -0
  79. package/dist/cjs/nv-datagridcolumn.entry-BeGXaBUe.js +18 -0
  80. package/dist/cjs/nv-datagridcolumn.entry-BodICzof.js +18 -0
  81. package/dist/cjs/nv-datagridcolumn.entry-C_FtSltZ.js +18 -0
  82. package/dist/cjs/nv-datagridcolumn.entry-D1cyTR_G.js +18 -0
  83. package/dist/cjs/nv-datagridcolumn.entry-DRE7BDkk.js +18 -0
  84. package/dist/cjs/nv-datagridcolumn.entry-Du6-7fjr.js +18 -0
  85. package/dist/cjs/nv-datagridcolumn.entry-N70Aen6Q.js +18 -0
  86. package/dist/cjs/nv-dialog.entry-BgHknrOx.js +784 -0
  87. package/dist/cjs/nv-dialog.entry-C1hg-EG1.js +784 -0
  88. package/dist/cjs/nv-dialog.entry-COv2do_O.js +784 -0
  89. package/dist/cjs/nv-dialog.entry-Ck2hU43g.js +784 -0
  90. package/dist/cjs/nv-dialog.entry-Cl8iLrCo.js +784 -0
  91. package/dist/cjs/nv-dialog.entry-Cy71tlWz.js +784 -0
  92. package/dist/cjs/nv-dialog.entry-DdAHZGzm.js +784 -0
  93. package/dist/cjs/nv-dialogfooter_2.entry-CXvA0O-2.js +134 -0
  94. package/dist/cjs/nv-dialogfooter_2.entry-Ck6adFfd.js +134 -0
  95. package/dist/cjs/nv-dialogfooter_2.entry-DHa0SYhR.js +134 -0
  96. package/dist/cjs/nv-dialogfooter_2.entry-DKvzkpt3.js +134 -0
  97. package/dist/cjs/nv-dialogfooter_2.entry-D_VuofBe.js +134 -0
  98. package/dist/cjs/nv-dialogfooter_2.entry-L5tHIb_T.js +134 -0
  99. package/dist/cjs/nv-dialogfooter_2.entry-kEa1K0n5.js +134 -0
  100. package/dist/cjs/nv-fieldcheckbox.entry-B4We4zG2.js +137 -0
  101. package/dist/cjs/nv-fieldcheckbox.entry-BmYyNV4r.js +137 -0
  102. package/dist/cjs/nv-fieldcheckbox.entry-CBsQsbIA.js +137 -0
  103. package/dist/cjs/nv-fieldcheckbox.entry-DTIebeJR.js +137 -0
  104. package/dist/cjs/nv-fieldcheckbox.entry-P--9IAJF.js +137 -0
  105. package/dist/cjs/nv-fieldcheckbox.entry-dBYg7CBU.js +137 -0
  106. package/dist/cjs/nv-fieldcheckbox.entry-dxhUZiEg.js +137 -0
  107. package/dist/cjs/nv-fielddate.entry-B53E-JaI.js +278 -0
  108. package/dist/cjs/nv-fielddate.entry-Bofdd2rE.js +278 -0
  109. package/dist/cjs/nv-fielddate.entry-CIo_61Dc.js +278 -0
  110. package/dist/cjs/nv-fielddate.entry-CekIFTA0.js +278 -0
  111. package/dist/cjs/nv-fielddate.entry-DgS0X1wI.js +278 -0
  112. package/dist/cjs/nv-fielddate.entry-Do69eqHA.js +278 -0
  113. package/dist/cjs/nv-fielddate.entry-NJ6RAqlG.js +278 -0
  114. package/dist/cjs/nv-fielddaterange.entry-BtPwfRw-.js +355 -0
  115. package/dist/cjs/nv-fielddaterange.entry-CxaBrZAX.js +355 -0
  116. package/dist/cjs/nv-fielddaterange.entry-D-6LjhjB.js +355 -0
  117. package/dist/cjs/nv-fielddaterange.entry-D0fq5KFb.js +355 -0
  118. package/dist/cjs/nv-fielddaterange.entry-D2dzD3rW.js +355 -0
  119. package/dist/cjs/nv-fielddaterange.entry-DTLKVIqg.js +355 -0
  120. package/dist/cjs/nv-fielddaterange.entry-w8WXPDuX.js +355 -0
  121. package/dist/cjs/nv-fielddropdown.entry-BAaPyGtB.js +361 -0
  122. package/dist/cjs/nv-fielddropdown.entry-C5kMWmPP.js +361 -0
  123. package/dist/cjs/nv-fielddropdown.entry-CX2Ycn2i.js +361 -0
  124. package/dist/cjs/nv-fielddropdown.entry-CZxQlRNa.js +361 -0
  125. package/dist/cjs/nv-fielddropdown.entry-DVl_Uy5A.js +361 -0
  126. package/dist/cjs/nv-fielddropdown.entry-akfp1Bcy.js +361 -0
  127. package/dist/cjs/nv-fielddropdown.entry-hHh_RDC4.js +361 -0
  128. package/dist/cjs/nv-fielddropdownitem.entry-BscNyhXz.js +68 -0
  129. package/dist/cjs/nv-fielddropdownitem.entry-CMWgXP_Z.js +68 -0
  130. package/dist/cjs/nv-fielddropdownitem.entry-CS1Ejbc9.js +68 -0
  131. package/dist/cjs/nv-fielddropdownitem.entry-CW4WMmSZ.js +68 -0
  132. package/dist/cjs/nv-fielddropdownitem.entry-CuQqsz4f.js +68 -0
  133. package/dist/cjs/nv-fielddropdownitem.entry-Dn2HJc1t.js +68 -0
  134. package/dist/cjs/nv-fielddropdownitem.entry-HK2I5pUG.js +68 -0
  135. package/dist/cjs/nv-fieldmultiselect.entry-5jdK36m6.js +1060 -0
  136. package/dist/cjs/nv-fieldmultiselect.entry-6o1yhNI5.js +1060 -0
  137. package/dist/cjs/nv-fieldmultiselect.entry-BGzYCJuF.js +1060 -0
  138. package/dist/cjs/nv-fieldmultiselect.entry-BN1ObPi8.js +1060 -0
  139. package/dist/cjs/nv-fieldmultiselect.entry-CuVEYN0v.js +1060 -0
  140. package/dist/cjs/nv-fieldmultiselect.entry-DHXJErt4.js +1060 -0
  141. package/dist/cjs/nv-fieldmultiselect.entry-DycRd14V.js +1060 -0
  142. package/dist/cjs/nv-fieldnumber.entry-BHhIsjLK.js +126 -0
  143. package/dist/cjs/nv-fieldnumber.entry-BklKxOFA.js +126 -0
  144. package/dist/cjs/nv-fieldnumber.entry-C8zJkL24.js +126 -0
  145. package/dist/cjs/nv-fieldnumber.entry-C9rKWY_M.js +126 -0
  146. package/dist/cjs/nv-fieldnumber.entry-CEmPQK-3.js +126 -0
  147. package/dist/cjs/nv-fieldnumber.entry-CLhjFlCj.js +126 -0
  148. package/dist/cjs/nv-fieldnumber.entry-_UiieYov.js +126 -0
  149. package/dist/cjs/nv-fieldpassword.entry-7lS0Msfg.js +115 -0
  150. package/dist/cjs/nv-fieldpassword.entry-B9-QFEsB.js +115 -0
  151. package/dist/cjs/nv-fieldpassword.entry-BIIoIKH4.js +115 -0
  152. package/dist/cjs/nv-fieldpassword.entry-BPhQxjsj.js +115 -0
  153. package/dist/cjs/nv-fieldpassword.entry-C5vG4jlh.js +115 -0
  154. package/dist/cjs/nv-fieldpassword.entry-C_jsHFJI.js +115 -0
  155. package/dist/cjs/nv-fieldpassword.entry-DZkGQwM8.js +115 -0
  156. package/dist/cjs/nv-fieldradio.entry-BgpmbG9E.js +102 -0
  157. package/dist/cjs/nv-fieldradio.entry-CXR4k3wf.js +102 -0
  158. package/dist/cjs/nv-fieldradio.entry-CnasQlEx.js +102 -0
  159. package/dist/cjs/nv-fieldradio.entry-DUDPigQb.js +102 -0
  160. package/dist/cjs/nv-fieldradio.entry-DiD7Luxv.js +102 -0
  161. package/dist/cjs/nv-fieldradio.entry-Ili2RVKl.js +102 -0
  162. package/dist/cjs/nv-fieldradio.entry-aRAaLwpK.js +102 -0
  163. package/dist/cjs/nv-fieldselect.entry-B94QXSEk.js +365 -0
  164. package/dist/cjs/nv-fieldselect.entry-BwtEjL08.js +365 -0
  165. package/dist/cjs/nv-fieldselect.entry-CFDqeR-D.js +365 -0
  166. package/dist/cjs/nv-fieldselect.entry-CJSu63o5.js +365 -0
  167. package/dist/cjs/nv-fieldselect.entry-CmN1R9ij.js +365 -0
  168. package/dist/cjs/nv-fieldselect.entry-CoDfr4ie.js +365 -0
  169. package/dist/cjs/nv-fieldselect.entry-DgmnHnOR.js +365 -0
  170. package/dist/cjs/nv-fieldtext.entry-B1TlZWjU.js +119 -0
  171. package/dist/cjs/nv-fieldtext.entry-BfQrX8ft.js +119 -0
  172. package/dist/cjs/nv-fieldtext.entry-BrUQu4OD.js +119 -0
  173. package/dist/cjs/nv-fieldtext.entry-CW6P-R-Q.js +119 -0
  174. package/dist/cjs/nv-fieldtext.entry-CyLJxDw6.js +119 -0
  175. package/dist/cjs/nv-fieldtext.entry-DDqDSJp3.js +119 -0
  176. package/dist/cjs/nv-fieldtext.entry-IeIHa3jf.js +119 -0
  177. package/dist/cjs/nv-fieldtextarea.entry-D86SKGIN.js +194 -0
  178. package/dist/cjs/nv-fieldtextarea.entry-DlFdCv_d.js +194 -0
  179. package/dist/cjs/nv-fieldtextarea.entry-DqzeITCG.js +194 -0
  180. package/dist/cjs/nv-fieldtextarea.entry-TI-bucN-.js +194 -0
  181. package/dist/cjs/nv-fieldtextarea.entry-qMX2O8cX.js +194 -0
  182. package/dist/cjs/nv-fieldtextarea.entry-tTnWQgE4.js +194 -0
  183. package/dist/cjs/nv-fieldtextarea.entry-v6VpnEuH.js +194 -0
  184. package/dist/cjs/nv-fieldtime.entry-CPyLyQfR.js +1011 -0
  185. package/dist/cjs/nv-fieldtime.entry-CYmcHY1D.js +1011 -0
  186. package/dist/cjs/nv-fieldtime.entry-DGP1X4wF.js +1011 -0
  187. package/dist/cjs/nv-fieldtime.entry-DLSuRrlr.js +1011 -0
  188. package/dist/cjs/nv-fieldtime.entry-Zbjbmm7_.js +1011 -0
  189. package/dist/cjs/nv-fieldtime.entry-eDVRT6te.js +1011 -0
  190. package/dist/cjs/nv-fieldtime.entry-j-Fliiqj.js +1011 -0
  191. package/dist/cjs/nv-icon.entry-B0Y3rgBQ.js +79 -0
  192. package/dist/cjs/nv-icon.entry-B_wtREWb.js +79 -0
  193. package/dist/cjs/nv-icon.entry-BfRAl2b6.js +79 -0
  194. package/dist/cjs/nv-icon.entry-CrKTCqY_.js +79 -0
  195. package/dist/cjs/nv-icon.entry-DRRmcXzh.js +79 -0
  196. package/dist/cjs/nv-icon.entry-Dlj1ko2i.js +79 -0
  197. package/dist/cjs/nv-icon.entry-S7WlK_lO.js +79 -0
  198. package/dist/cjs/nv-iconbutton_2.entry-B02iDUid.js +163 -0
  199. package/dist/cjs/nv-iconbutton_2.entry-C1Legk9t.js +163 -0
  200. package/dist/cjs/nv-iconbutton_2.entry-CUiW6MtK.js +163 -0
  201. package/dist/cjs/nv-iconbutton_2.entry-ClcvupMe.js +163 -0
  202. package/dist/cjs/nv-iconbutton_2.entry-D8MI5uzP.js +163 -0
  203. package/dist/cjs/nv-iconbutton_2.entry-D8hZ51H-.js +163 -0
  204. package/dist/cjs/nv-iconbutton_2.entry-QwaiOoYl.js +163 -0
  205. package/dist/cjs/nv-menu.entry-BfmYkdYY.js +227 -0
  206. package/dist/cjs/nv-menu.entry-CT98WIRF.js +227 -0
  207. package/dist/cjs/nv-menu.entry-CfERF478.js +227 -0
  208. package/dist/cjs/nv-menu.entry-Ci3I7PDt.js +227 -0
  209. package/dist/cjs/nv-menu.entry-DtLnsQW-.js +227 -0
  210. package/dist/cjs/nv-menu.entry-Kz5kGi2w.js +227 -0
  211. package/dist/cjs/nv-menu.entry-XdjjbAL6.js +227 -0
  212. package/dist/cjs/nv-menuitem.entry-C8nXPwP0.js +58 -0
  213. package/dist/cjs/nv-menuitem.entry-C9dsQqqN.js +58 -0
  214. package/dist/cjs/nv-menuitem.entry-Cedg0TCQ.js +58 -0
  215. package/dist/cjs/nv-menuitem.entry-CxCLeNsY.js +58 -0
  216. package/dist/cjs/nv-menuitem.entry-DkIG5z-x.js +58 -0
  217. package/dist/cjs/nv-menuitem.entry-bPnSDq_9.js +58 -0
  218. package/dist/cjs/nv-menuitem.entry-sRx1fD0O.js +58 -0
  219. package/dist/cjs/nv-popover.entry-BGXEOQM6.js +1960 -0
  220. package/dist/cjs/nv-popover.entry-C57rfYUn.js +1960 -0
  221. package/dist/cjs/nv-popover.entry-C6HFJJ-m.js +1960 -0
  222. package/dist/cjs/nv-popover.entry-CiGCCbn9.js +1960 -0
  223. package/dist/cjs/nv-popover.entry-CjTPZYkq.js +1960 -0
  224. package/dist/cjs/nv-popover.entry-CtO6pR6l.js +1960 -0
  225. package/dist/cjs/nv-popover.entry-Mo3DNUH6.js +1960 -0
  226. package/dist/cjs/nv-row.entry-BEgyuDR-.js +21 -0
  227. package/dist/cjs/nv-row.entry-BM_EcSp4.js +21 -0
  228. package/dist/cjs/nv-row.entry-B_7PiJA7.js +21 -0
  229. package/dist/cjs/nv-row.entry-Ca7LiDAy.js +21 -0
  230. package/dist/cjs/nv-row.entry-Cy9vd2iY.js +21 -0
  231. package/dist/cjs/nv-row.entry-DKoNhAcX.js +21 -0
  232. package/dist/cjs/nv-row.entry-OYGKTXhV.js +21 -0
  233. package/dist/cjs/nv-stack.entry-BNyPxECg.js +30 -0
  234. package/dist/cjs/nv-stack.entry-C8ZFDaKn.js +30 -0
  235. package/dist/cjs/nv-stack.entry-CLMAAbkw.js +30 -0
  236. package/dist/cjs/nv-stack.entry-DfRRFeEo.js +30 -0
  237. package/dist/cjs/nv-stack.entry-DiXvhuSS.js +30 -0
  238. package/dist/cjs/nv-stack.entry-lwhqS230.js +30 -0
  239. package/dist/cjs/nv-stack.entry-u3NjC31-.js +30 -0
  240. package/dist/cjs/nv-table.entry-BNy2ALll.js +338 -0
  241. package/dist/cjs/nv-table.entry-BPazUUGA.js +338 -0
  242. package/dist/cjs/nv-table.entry-COwgRxqz.js +338 -0
  243. package/dist/cjs/nv-table.entry-CTo8cqCN.js +338 -0
  244. package/dist/cjs/nv-table.entry-DzOGLNUx.js +338 -0
  245. package/dist/cjs/nv-table.entry-mEtRfake.js +338 -0
  246. package/dist/cjs/nv-table.entry-o525Lfea.js +338 -0
  247. package/dist/cjs/nv-tablecolumn.entry-BESdQMDh.js +18 -0
  248. package/dist/cjs/nv-tablecolumn.entry-CuEt5Wgn.js +18 -0
  249. package/dist/cjs/nv-tablecolumn.entry-D3I1dB1X.js +18 -0
  250. package/dist/cjs/nv-tablecolumn.entry-DvJF_QTE.js +18 -0
  251. package/dist/cjs/nv-tablecolumn.entry-DvO0JxdY.js +18 -0
  252. package/dist/cjs/nv-tablecolumn.entry-L4KLlHFu.js +18 -0
  253. package/dist/cjs/nv-tablecolumn.entry-vrmt1Y0L.js +18 -0
  254. package/dist/cjs/nv-toggle.entry-BIclNIeq.js +79 -0
  255. package/dist/cjs/nv-toggle.entry-Bv0DrF-x.js +79 -0
  256. package/dist/cjs/nv-toggle.entry-BxKZDHdI.js +79 -0
  257. package/dist/cjs/nv-toggle.entry-DYhnFucd.js +79 -0
  258. package/dist/cjs/nv-toggle.entry-PRWy57Ro.js +79 -0
  259. package/dist/cjs/nv-toggle.entry-fDIAyeVX.js +79 -0
  260. package/dist/cjs/nv-toggle.entry-yqg7e7Qc.js +79 -0
  261. package/dist/cjs/nv-tooltip.entry--TVfBopp.js +44 -0
  262. package/dist/cjs/nv-tooltip.entry-58RCazbO.js +44 -0
  263. package/dist/cjs/nv-tooltip.entry-BBJNnZmj.js +44 -0
  264. package/dist/cjs/nv-tooltip.entry-Bnu7xEl6.js +44 -0
  265. package/dist/cjs/nv-tooltip.entry-BrrSQyMx.js +44 -0
  266. package/dist/cjs/nv-tooltip.entry-BuSwME_F.js +44 -0
  267. package/dist/cjs/nv-tooltip.entry-ChQpdQn_.js +44 -0
  268. package/dist/generated/components.js +2 -2
  269. package/dist/types/generated/components.d.ts +2 -4
  270. package/package.json +1 -1
@@ -0,0 +1,1011 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-CIcUUomJ.js');
4
+ var constants98e2dcc2 = require('./constants-98e2dcc2-C0SBCapP.js');
5
+ var v4A79185f4 = require('./v4-a79185f4-2n0dOd_Y.js');
6
+ require('react');
7
+
8
+ /**
9
+ * Checks if a string starts with a given prefix, ignoring case.
10
+ * @param {string} str - The string to check.
11
+ * @param {string} prefix - The prefix to check for.
12
+ * @returns {boolean} - True if the string starts with the prefix, ignoring case.
13
+ * @example startsWithIgnoreCase('Hello, world!', 'hello') // true
14
+ * @example startsWithIgnoreCase('Hello, world!', 'world') // false
15
+ */
16
+ function startsWithIgnoreCase(str, prefix) {
17
+ if (!str || !prefix)
18
+ return false;
19
+ return str.toLowerCase().startsWith(prefix.toLowerCase());
20
+ }
21
+
22
+ const nvFieldtimeCss = "nv-fieldtime{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box}nv-fieldtime[readonly]:not([readonly=false]){--nv-field-border-default:var(--components-form-field-border-readonly);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-background:var(--components-form-field-background-readonly)}nv-fieldtime[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive)}nv-fieldtime[success]:not([success=false]){--nv-field-border-default:var(--components-form-field-border-success);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-success)}nv-fieldtime[required]:not([required=false]) label::after{content:\"*\";color:var(--components-form-text-required);font-weight:700}nv-fieldtime label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:500;line-height:var(--form-label-line-height)}nv-fieldtime nv-popover{width:100%;display:block}nv-fieldtime nv-popover [data-scope=popover]{padding:var(--list-dropdown-padding);background-color:var(--components-list-dropdown-background);border:1px solid var(--components-list-dropdown-border);width:100%}nv-fieldtime .input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch;width:100%}nv-fieldtime .input-container{display:flex;flex-grow:1;justify-content:center;align-items:center;align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default, 1);background:var(--nv-field-background);transition:all 150ms ease-out;display:flex;justify-content:flex-start;align-items:center;position:relative;width:100%;min-height:40px;gap:0;padding-left:var(--form-field-padding-x)}nv-fieldtime .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fieldtime .input-container:focus-within,nv-fieldtime .input-container:focus-within:hover,nv-fieldtime .input-container:focus,nv-fieldtime .input-container:focus:hover{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fieldtime .input-container:has(input:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fieldtime .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldtime .input-container input.time-input{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);padding:var(--form-field-padding-y) var(--form-field-padding-x);font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height);width:100%;min-width:24px;flex:0 0 24px;text-align:center;padding:0;margin:0}nv-fieldtime .input-container input.time-input:focus{outline:none}nv-fieldtime .input-container input.time-input::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:400;line-height:var(--form-field-line-height)}nv-fieldtime .input-container input.time-input::-webkit-inner-spin-button,nv-fieldtime .input-container input.time-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}nv-fieldtime .input-container span{width:100%;text-align:center;min-width:24px;flex:0 0 24px;padding:0 4px;color:var(--components-form-field-content-text)}nv-fieldtime .input-container>nv-iconbutton{border:0px;border-radius:0px;margin-left:auto}nv-fieldtime .input-container>nv-iconbutton:focus-visible{border-radius:var(--button-md-border-radius);outline-offset:-3px}nv-fieldtime .input-container nv-icon.validation{color:var(--nv-field-border-default);position:absolute;right:50px;top:50%;transform:translateY(-50%)}nv-fieldtime .input-container:focus,nv-fieldtime .input-container:focus-within{border-color:var(--color-focus-brand);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--color-focus-brand)}nv-fieldtime .description{align-self:stretch;color:var(--components-form-text-description-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fieldtime .error-description{align-self:stretch;color:var(--components-form-text-description-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}nv-fieldtime hr{border:none;border-top:1px solid var(--dropdown-divider-color, #ccc);margin:0.5rem 0}nv-fieldtime .time-dropdown{width:100%}nv-fieldtime .time-dropdown .time-columns{display:flex;justify-content:flex-start;align-items:center}nv-fieldtime .time-dropdown .time-columns .time-column{flex:1;text-align:center;max-height:200px;overflow-y:auto;scroll-behavior:smooth}nv-fieldtime .time-dropdown .time-columns .time-column::-webkit-scrollbar{width:4px}nv-fieldtime .time-dropdown .time-columns .time-column::-webkit-scrollbar-thumb{border-radius:4px}nv-fieldtime .time-dropdown .time-columns .time-column:last-child{border-right:none}nv-fieldtime .time-dropdown .time-columns .time-column .time-option{padding:var(--list-dropdown-item-padding-y) var(--list-dropdown-item-padding-x);text-align:center;cursor:pointer;transition:background-color 0.2s;height:40px;border-radius:var(--list-dropdown-item-radius);display:flex;justify-content:center;align-items:center}nv-fieldtime .time-dropdown .time-columns .time-column .time-option:hover{background-color:var(--components-list-dropdown-item-background-hover);color:var(--components-list-dropdown-item-label-hover)}nv-fieldtime .time-dropdown .time-columns .time-column .time-option:focus,nv-fieldtime .time-dropdown .time-columns .time-column .time-option:focus-within{background-color:var(--components-list-dropdown-item-background-hover);color:var(--components-list-dropdown-item-label-hover)}nv-fieldtime .time-dropdown .time-columns .time-column .time-option.selected{background-color:var(--components-list-dropdown-item-background-active);color:var(--components-list-dropdown-item-label-active);border-width:1px;border-style:solid;border-color:var(--components-list-dropdown-item-border-active)}nv-fieldtime .time-dropdown .time-columns .time-column .time-option.highlighted{background-color:var(--components-list-dropdown-item-background-hover);color:var(--components-menu-contextual-item-content-hover)}";
23
+ const NvFieldtimeStyle0 = nvFieldtimeCss;
24
+
25
+ const NvFieldtime = class {
26
+ constructor(hostRef) {
27
+ index.registerInstance(this, hostRef);
28
+ this.valueChanged = index.createEvent(this, "valueChanged");
29
+ // Input elements for hours, minutes, and seconds
30
+ this.inputElements = {};
31
+ this.inputZeroAdded = {};
32
+ this.typeFocused = constants98e2dcc2.TimeType.Hours;
33
+ /****************************************************************************/
34
+ //#region STATES
35
+ this.hours = '00';
36
+ this.minutes = '00';
37
+ this.seconds = '00';
38
+ /**
39
+ * Sets the ID for the input element and the for attribute of the associated
40
+ * label. If no ID is provided, a random one will be automatically generated
41
+ * to ensure unique identification, facilitating proper label association and
42
+ * accessibility.
43
+ */
44
+ this.inputId = v4A79185f4.v4();
45
+ /**
46
+ * Display the input field's content without allowing users to change it.
47
+ * Users can still click on it, select, and copy the text, but they won't be
48
+ * able to type or delete anything.
49
+ */
50
+ this.readonly = false;
51
+ /**
52
+ * The disabled prop lets you turn off the input field so that users can't
53
+ * interact with it. When disabled, the field is grayed out and won't respond to
54
+ * clicks or touches.
55
+ */
56
+ this.disabled = false;
57
+ /**
58
+ * Marks the input field as required, ensuring that the user must fill it out
59
+ * before submitting the form.
60
+ */
61
+ this.required = false;
62
+ /**
63
+ * Changes the input field’s appearance to indicate successful input or
64
+ * validation.
65
+ */
66
+ this.success = false;
67
+ /**
68
+ * Alters the input field's appearance to indicate an error, helping users
69
+ * identify fields that need correction.
70
+ * @validator error
71
+ */
72
+ this.error = false;
73
+ /**
74
+ * Specifies the time format to be used.
75
+ * Available formats:
76
+ * - HH: 24-hour format (00-23)
77
+ * - HH:mm: 24-hour format with minutes (00:00-23:59)
78
+ * - HH:mm:ss: 24-hour format with minutes and seconds (00:00:00-23:59:59)
79
+ * - hh: 12-hour format (01-12)
80
+ * - hh:mm: 12-hour format with minutes (01:00-12:59)
81
+ * - hh:mm:ss: 12-hour format with minutes and seconds (01:00:00-12:59:59)
82
+ */
83
+ this.format = 'HH:mm:ss';
84
+ /**
85
+ * State of the time picker popover.
86
+ */
87
+ this.open = false;
88
+ /**
89
+ * The step interval in milliseconds for time increments/decrements.
90
+ * This affects how the time changes when using arrow keys or spinners.
91
+ */
92
+ this.step = 60000; // In secondes
93
+ /**
94
+ * Applies focus to the input field as soon as the component is mounted. This
95
+ * is equivalent to setting the native autofocus attribute on an <input>
96
+ * element.
97
+ */
98
+ this.autofocus = false;
99
+ }
100
+ //#endregion EVENTS
101
+ /****************************************************************************/
102
+ //#region LISTENERS
103
+ handleOpenChanged(event) {
104
+ this.open = event.detail; // Update `open` based on the popover state
105
+ }
106
+ handleKeyDown(event) {
107
+ var _a, _b, _c, _d;
108
+ if (!this.open) {
109
+ if (event.key === 'ArrowDown') {
110
+ this.open = true;
111
+ event.preventDefault();
112
+ return;
113
+ }
114
+ return;
115
+ }
116
+ // Verify if the popover element is defined
117
+ if (!this.popoverElement) {
118
+ console.warn('nv-fieldtime -> Popover element is not defined');
119
+ return;
120
+ }
121
+ const stringSelector = `.time-column.time-column-${this.typeFocused} div`;
122
+ const items = Array.from(this.el.querySelectorAll(stringSelector));
123
+ // Verify if there are items to navigate
124
+ if (items.length === 0) {
125
+ console.warn('nv-fieldtime -> No dropdown items found to navigate');
126
+ return;
127
+ }
128
+ let currentIndex = items.findIndex(item => item.classList.contains('highlighted'));
129
+ if (event.key === 'ArrowDown') {
130
+ event.preventDefault();
131
+ currentIndex = (currentIndex + 1) % items.length;
132
+ this.updateHighlightedItem(items, currentIndex);
133
+ }
134
+ else if (event.key === 'ArrowUp') {
135
+ event.preventDefault();
136
+ currentIndex = (currentIndex - 1 + items.length) % items.length;
137
+ this.updateHighlightedItem(items, currentIndex);
138
+ }
139
+ else if (event.key === 'Enter' && currentIndex >= 0) {
140
+ event.preventDefault();
141
+ items[currentIndex].click();
142
+ if (this.typeFocused === constants98e2dcc2.TimeType.Hours) {
143
+ (_a = this.inputElements[constants98e2dcc2.TimeType.Minutes]) === null || _a === void 0 ? void 0 : _a.focus();
144
+ (_b = this.inputElements[constants98e2dcc2.TimeType.Minutes]) === null || _b === void 0 ? void 0 : _b.select();
145
+ }
146
+ else if (this.typeFocused === constants98e2dcc2.TimeType.Minutes ||
147
+ this.typeFocused === constants98e2dcc2.TimeType.Seconds) {
148
+ (_c = this.inputElements[constants98e2dcc2.TimeType.Seconds]) === null || _c === void 0 ? void 0 : _c.focus();
149
+ (_d = this.inputElements[constants98e2dcc2.TimeType.Seconds]) === null || _d === void 0 ? void 0 : _d.select();
150
+ }
151
+ }
152
+ else if (event.key === 'Escape') {
153
+ event.preventDefault();
154
+ if (this.inputElements[constants98e2dcc2.TimeType.Hours]) {
155
+ this.inputElements[constants98e2dcc2.TimeType.Hours].blur();
156
+ }
157
+ }
158
+ }
159
+ //#endregion LISTENERS
160
+ /****************************************************************************/
161
+ //#region WATCHERS
162
+ handleValueChange(newValue) {
163
+ this.valueChanged.emit(newValue);
164
+ }
165
+ //#endregion WATCHERS
166
+ /****************************************************************************/
167
+ //#region METHODS
168
+ handleInputChange(e, type) {
169
+ const inputElement = e.target;
170
+ const inputValue = inputElement.value.replace(/[^0-9]/g, ''); // Only keep numeric input
171
+ // Update the time value based on the type
172
+ switch (type) {
173
+ case constants98e2dcc2.TimeType.Hours:
174
+ this.handleHoursChange(inputValue, type);
175
+ break;
176
+ case constants98e2dcc2.TimeType.Minutes:
177
+ this.handleMinutesChange(inputValue, type);
178
+ break;
179
+ case constants98e2dcc2.TimeType.Seconds:
180
+ this.handleSecondsChange(inputValue, type);
181
+ break;
182
+ }
183
+ // Reconstruct time from inputs
184
+ const currentValue = this.reconstructTime();
185
+ this.value = currentValue;
186
+ }
187
+ handleHoursChange(inputValue, type) {
188
+ var _a, _b, _c, _d;
189
+ const isHHFormat = this.format.startsWith('HH');
190
+ const maxHours = isHHFormat ? 24 : 12;
191
+ let reputedToZero = false;
192
+ const maxHour = this.parseHour(this.max, this.format) ||
193
+ (this.format.startsWith('hh') ? '12' : '24');
194
+ const minHour = this.parseHour(this.min, this.format) || '00';
195
+ if (inputValue.length === 1) {
196
+ this.inputZeroAdded[type] = true;
197
+ const newInputValue = inputValue.padStart(2, '0');
198
+ if (maxHour && parseInt(newInputValue, 10) > parseInt(maxHour, 10)) {
199
+ if (parseInt(newInputValue, 10) < parseInt(minHour, 10)) {
200
+ this.hours = minHour;
201
+ }
202
+ else {
203
+ this.hours = '00';
204
+ reputedToZero = true;
205
+ }
206
+ }
207
+ else {
208
+ if (parseInt(newInputValue, 10) < parseInt(minHour, 10)) {
209
+ this.hours = minHour;
210
+ }
211
+ else {
212
+ this.hours = newInputValue;
213
+ }
214
+ }
215
+ }
216
+ else if (this.inputZeroAdded[type]) {
217
+ this.inputZeroAdded[type] = false;
218
+ const newInputValue = inputValue.slice(1, 3).padStart(2, '0');
219
+ const parsedNewInputValue = parseInt(newInputValue, 10) || 0;
220
+ if (parsedNewInputValue >= maxHours) {
221
+ if (parseInt(newInputValue, 10) < parseInt(minHour, 10)) {
222
+ this.hours = minHour;
223
+ }
224
+ else {
225
+ this.hours = '00';
226
+ reputedToZero = true;
227
+ }
228
+ }
229
+ else {
230
+ if (maxHour && parseInt(newInputValue, 10) > parseInt(maxHour, 10)) {
231
+ if (parseInt(newInputValue, 10) < parseInt(minHour, 10)) {
232
+ this.hours = minHour;
233
+ }
234
+ else {
235
+ this.hours = '00';
236
+ reputedToZero = true;
237
+ }
238
+ }
239
+ else {
240
+ if (parseInt(newInputValue, 10) < parseInt(minHour, 10)) {
241
+ this.hours = minHour;
242
+ }
243
+ else {
244
+ this.hours = newInputValue;
245
+ }
246
+ }
247
+ }
248
+ }
249
+ else if (inputValue.length > 2) {
250
+ if (inputValue.startsWith('00')) {
251
+ this.inputZeroAdded[type] = true;
252
+ const newInputValue = inputValue.slice(1, 3).padStart(2, '0');
253
+ if (maxHour && parseInt(newInputValue, 10) > parseInt(maxHour, 10)) {
254
+ if (parseInt(newInputValue, 10) < parseInt(minHour, 10)) {
255
+ this.hours = minHour;
256
+ }
257
+ else {
258
+ this.hours = '00';
259
+ reputedToZero = true;
260
+ }
261
+ }
262
+ else {
263
+ if (parseInt(newInputValue, 10) < parseInt(minHour, 10)) {
264
+ this.hours = minHour;
265
+ }
266
+ else {
267
+ this.hours = newInputValue;
268
+ }
269
+ }
270
+ }
271
+ else {
272
+ const newInputValue = inputValue.slice(1, 3).padStart(2, '0');
273
+ const parsedNewInputValue = parseInt(newInputValue, 10) || 0;
274
+ if (parsedNewInputValue >= maxHours) {
275
+ if (parseInt(newInputValue, 10) < parseInt(minHour, 10)) {
276
+ this.hours = minHour;
277
+ reputedToZero = true;
278
+ }
279
+ else {
280
+ this.hours = '00';
281
+ reputedToZero = true;
282
+ }
283
+ }
284
+ else {
285
+ if (maxHour && parsedNewInputValue > parseInt(maxHour, 10)) {
286
+ if (parseInt(newInputValue, 10) < parseInt(minHour, 10)) {
287
+ this.hours = minHour;
288
+ }
289
+ else {
290
+ this.hours = '00';
291
+ reputedToZero = true;
292
+ }
293
+ }
294
+ else {
295
+ if (parsedNewInputValue < parseInt(minHour, 10)) {
296
+ this.hours = minHour;
297
+ }
298
+ else {
299
+ this.hours = parsedNewInputValue.toString();
300
+ }
301
+ }
302
+ }
303
+ }
304
+ }
305
+ else {
306
+ const newInputValue = inputValue.padStart(2, '0');
307
+ const parsedNewInputValue = parseInt(newInputValue, 10) || 0;
308
+ if (parsedNewInputValue >= maxHours) {
309
+ if (parseInt(newInputValue, 10) < parseInt(minHour, 10)) {
310
+ this.hours = minHour;
311
+ }
312
+ else {
313
+ this.hours = '00';
314
+ reputedToZero = true;
315
+ }
316
+ }
317
+ else {
318
+ if (maxHour && parsedNewInputValue > parseInt(maxHour, 10)) {
319
+ this.hours = '00';
320
+ reputedToZero = true;
321
+ }
322
+ else {
323
+ if (parsedNewInputValue < parseInt(minHour, 10)) {
324
+ this.hours = minHour;
325
+ }
326
+ else {
327
+ this.hours = parsedNewInputValue.toString();
328
+ }
329
+ }
330
+ }
331
+ }
332
+ if (this.hours.length === 2 &&
333
+ !this.inputZeroAdded[type] &&
334
+ !reputedToZero) {
335
+ (_a = this.inputElements[constants98e2dcc2.TimeType.Minutes]) === null || _a === void 0 ? void 0 : _a.focus();
336
+ (_b = this.inputElements[constants98e2dcc2.TimeType.Minutes]) === null || _b === void 0 ? void 0 : _b.select();
337
+ }
338
+ else if (reputedToZero) {
339
+ (_c = this.inputElements[constants98e2dcc2.TimeType.Hours]) === null || _c === void 0 ? void 0 : _c.focus();
340
+ (_d = this.inputElements[constants98e2dcc2.TimeType.Hours]) === null || _d === void 0 ? void 0 : _d.select();
341
+ }
342
+ }
343
+ handleMinutesChange(inputValue, type) {
344
+ var _a, _b, _c, _d, _e, _f;
345
+ const maxMinutes = 60;
346
+ let reputedToZero = false;
347
+ const minMinute = (_a = this.parseMinute(this.min)) !== null && _a !== void 0 ? _a : 0;
348
+ const maxMinute = (_b = this.parseMinute(this.max)) !== null && _b !== void 0 ? _b : 59;
349
+ if (inputValue.length === 1) {
350
+ this.inputZeroAdded[type] = true;
351
+ const newInputValue = inputValue.padStart(2, '0');
352
+ if (maxMinute && parseInt(newInputValue, 10) > maxMinute) {
353
+ if (minMinute && parseInt(newInputValue, 10) < minMinute) {
354
+ this.minutes = minMinute.toString().padStart(2, '0');
355
+ }
356
+ else {
357
+ this.minutes = '00';
358
+ reputedToZero = true;
359
+ }
360
+ }
361
+ else {
362
+ if (minMinute && parseInt(newInputValue, 10) < minMinute) {
363
+ this.minutes = minMinute.toString().padStart(2, '0');
364
+ }
365
+ else {
366
+ this.minutes = newInputValue;
367
+ }
368
+ }
369
+ }
370
+ else if (this.inputZeroAdded[type]) {
371
+ this.inputZeroAdded[type] = false;
372
+ const newInputValue = inputValue.slice(1, 3).padStart(2, '0');
373
+ const parsedNewInputValue = parseInt(newInputValue, 10) || 0;
374
+ if (parsedNewInputValue >= maxMinutes) {
375
+ if (minMinute && parseInt(newInputValue, 10) < minMinute) {
376
+ this.minutes = minMinute.toString().padStart(2, '0');
377
+ }
378
+ else {
379
+ this.minutes = '00';
380
+ reputedToZero = true;
381
+ }
382
+ }
383
+ else {
384
+ if (maxMinute && parsedNewInputValue > maxMinute) {
385
+ if (minMinute && parseInt(newInputValue, 10) < minMinute) {
386
+ this.minutes = minMinute.toString().padStart(2, '0');
387
+ }
388
+ else {
389
+ this.minutes = '00';
390
+ reputedToZero = true;
391
+ }
392
+ }
393
+ else {
394
+ if (minMinute && parsedNewInputValue < minMinute) {
395
+ this.minutes = minMinute.toString().padStart(2, '0');
396
+ }
397
+ else {
398
+ this.minutes = newInputValue;
399
+ }
400
+ }
401
+ }
402
+ }
403
+ else if (inputValue.length > 2) {
404
+ if (inputValue.startsWith('00')) {
405
+ this.inputZeroAdded[type] = true;
406
+ const newInputValue = inputValue.slice(1, 3).padStart(2, '0');
407
+ if (maxMinute && parseInt(newInputValue, 10) > maxMinute) {
408
+ if (minMinute && parseInt(newInputValue, 10) < minMinute) {
409
+ this.minutes = minMinute.toString().padStart(2, '0');
410
+ }
411
+ else {
412
+ this.minutes = '00';
413
+ reputedToZero = true;
414
+ }
415
+ }
416
+ else {
417
+ if (minMinute && parseInt(newInputValue, 10) < minMinute) {
418
+ this.minutes = minMinute.toString().padStart(2, '0');
419
+ }
420
+ else {
421
+ this.minutes = newInputValue;
422
+ }
423
+ }
424
+ }
425
+ else {
426
+ const newInputValue = inputValue.slice(1, 3).padStart(2, '0');
427
+ const parsedNewInputValue = parseInt(newInputValue, 10) || 0;
428
+ if (parsedNewInputValue >= maxMinutes) {
429
+ if (minMinute && parseInt(newInputValue, 10) < minMinute) {
430
+ this.minutes = minMinute.toString().padStart(2, '0');
431
+ }
432
+ else {
433
+ this.minutes = '00';
434
+ reputedToZero = true;
435
+ }
436
+ }
437
+ else {
438
+ if (maxMinute && parsedNewInputValue > maxMinute) {
439
+ if (minMinute && parseInt(newInputValue, 10) < minMinute) {
440
+ this.minutes = minMinute.toString().padStart(2, '0');
441
+ }
442
+ else {
443
+ this.minutes = '00';
444
+ reputedToZero = true;
445
+ }
446
+ }
447
+ else {
448
+ if (minMinute && parsedNewInputValue < minMinute) {
449
+ this.minutes = minMinute.toString().padStart(2, '0');
450
+ }
451
+ else {
452
+ this.minutes = parsedNewInputValue.toString();
453
+ }
454
+ }
455
+ }
456
+ }
457
+ }
458
+ else {
459
+ const newInputValue = inputValue.padStart(2, '0');
460
+ const parsedNewInputValue = parseInt(newInputValue, 10) || 0;
461
+ if (parsedNewInputValue >= maxMinutes) {
462
+ if (minMinute && parseInt(newInputValue, 10) < minMinute) {
463
+ this.minutes = minMinute.toString().padStart(2, '0');
464
+ }
465
+ else {
466
+ this.minutes = '00';
467
+ reputedToZero = true;
468
+ }
469
+ }
470
+ else {
471
+ if (maxMinute && parsedNewInputValue > maxMinute) {
472
+ if (minMinute && parseInt(newInputValue, 10) < minMinute) {
473
+ this.minutes = minMinute.toString().padStart(2, '0');
474
+ }
475
+ else {
476
+ this.minutes = '00';
477
+ reputedToZero = true;
478
+ }
479
+ }
480
+ else {
481
+ if (minMinute && parsedNewInputValue < minMinute) {
482
+ this.minutes = minMinute.toString().padStart(2, '0');
483
+ }
484
+ else {
485
+ this.minutes = parsedNewInputValue.toString();
486
+ }
487
+ }
488
+ }
489
+ }
490
+ if (this.minutes.length === 2 &&
491
+ !this.inputZeroAdded[type] &&
492
+ !reputedToZero) {
493
+ (_c = this.inputElements[constants98e2dcc2.TimeType.Seconds]) === null || _c === void 0 ? void 0 : _c.focus();
494
+ (_d = this.inputElements[constants98e2dcc2.TimeType.Seconds]) === null || _d === void 0 ? void 0 : _d.select();
495
+ }
496
+ else if (reputedToZero) {
497
+ (_e = this.inputElements[constants98e2dcc2.TimeType.Minutes]) === null || _e === void 0 ? void 0 : _e.focus();
498
+ (_f = this.inputElements[constants98e2dcc2.TimeType.Minutes]) === null || _f === void 0 ? void 0 : _f.select();
499
+ }
500
+ }
501
+ handleSecondsChange(inputValue, type) {
502
+ var _a, _b, _c, _d;
503
+ const maxSeconds = 60;
504
+ let reputedToZero = false;
505
+ const minSecond = (_a = this.parseSecond(this.min)) !== null && _a !== void 0 ? _a : 0;
506
+ const maxSecond = (_b = this.parseSecond(this.max)) !== null && _b !== void 0 ? _b : 59;
507
+ if (inputValue.length === 1) {
508
+ this.inputZeroAdded[type] = true;
509
+ const newInputValue = inputValue.padStart(2, '0');
510
+ if (maxSecond && parseInt(newInputValue, 10) > maxSecond) {
511
+ if (minSecond && parseInt(newInputValue, 10) < minSecond) {
512
+ this.seconds = minSecond.toString().padStart(2, '0');
513
+ }
514
+ else {
515
+ this.seconds = '00';
516
+ reputedToZero = true;
517
+ }
518
+ }
519
+ else {
520
+ if (minSecond && parseInt(newInputValue, 10) < minSecond) {
521
+ this.seconds = minSecond.toString().padStart(2, '0');
522
+ }
523
+ else {
524
+ this.seconds = newInputValue;
525
+ }
526
+ }
527
+ }
528
+ else if (this.inputZeroAdded[type]) {
529
+ this.inputZeroAdded[type] = false;
530
+ const newInputValue = inputValue.slice(1, 3).padStart(2, '0');
531
+ const parsedNewInputValue = parseInt(newInputValue, 10) || 0;
532
+ if (parsedNewInputValue >= maxSeconds) {
533
+ if (minSecond && parseInt(newInputValue, 10) < minSecond) {
534
+ this.seconds = minSecond.toString().padStart(2, '0');
535
+ }
536
+ else {
537
+ this.seconds = '00';
538
+ reputedToZero = true;
539
+ }
540
+ }
541
+ else {
542
+ if (maxSecond && parsedNewInputValue > maxSecond) {
543
+ if (minSecond && parseInt(newInputValue, 10) < minSecond) {
544
+ this.seconds = minSecond.toString().padStart(2, '0');
545
+ }
546
+ else {
547
+ this.seconds = '00';
548
+ reputedToZero = true;
549
+ }
550
+ }
551
+ else {
552
+ if (minSecond && parsedNewInputValue < minSecond) {
553
+ this.seconds = minSecond.toString().padStart(2, '0');
554
+ }
555
+ else {
556
+ this.seconds = newInputValue;
557
+ }
558
+ }
559
+ }
560
+ }
561
+ else if (inputValue.length > 2) {
562
+ const newInputValue = inputValue.slice(1, 3).padStart(2, '0');
563
+ const parsedNewInputValue = parseInt(newInputValue, 10) || 0;
564
+ if (parsedNewInputValue >= maxSeconds) {
565
+ if (minSecond && parseInt(newInputValue, 10) < minSecond) {
566
+ this.seconds = minSecond.toString().padStart(2, '0');
567
+ }
568
+ else {
569
+ this.seconds = '00';
570
+ reputedToZero = true;
571
+ }
572
+ }
573
+ else {
574
+ if (maxSecond && parsedNewInputValue > maxSecond) {
575
+ if (minSecond && parseInt(newInputValue, 10) < minSecond) {
576
+ this.seconds = minSecond.toString().padStart(2, '0');
577
+ }
578
+ else {
579
+ this.seconds = '00';
580
+ reputedToZero = true;
581
+ }
582
+ }
583
+ else {
584
+ if (minSecond && parsedNewInputValue < minSecond) {
585
+ this.seconds = minSecond.toString().padStart(2, '0');
586
+ }
587
+ else {
588
+ this.seconds = parsedNewInputValue.toString();
589
+ }
590
+ }
591
+ }
592
+ }
593
+ else {
594
+ const newInputValue = inputValue.padStart(2, '0');
595
+ const parsedNewInputValue = parseInt(newInputValue, 10) || 0;
596
+ if (parsedNewInputValue >= maxSeconds) {
597
+ if (minSecond && parseInt(newInputValue, 10) < minSecond) {
598
+ this.seconds = minSecond.toString().padStart(2, '0');
599
+ }
600
+ else {
601
+ this.seconds = '00';
602
+ reputedToZero = true;
603
+ }
604
+ }
605
+ else {
606
+ if (maxSecond && parsedNewInputValue > maxSecond) {
607
+ if (minSecond && parseInt(newInputValue, 10) < minSecond) {
608
+ this.seconds = minSecond.toString().padStart(2, '0');
609
+ }
610
+ else {
611
+ this.seconds = '00';
612
+ reputedToZero = true;
613
+ }
614
+ }
615
+ else {
616
+ if (minSecond && parsedNewInputValue < minSecond) {
617
+ this.seconds = minSecond.toString().padStart(2, '0');
618
+ }
619
+ else {
620
+ this.seconds = parsedNewInputValue.toString();
621
+ }
622
+ }
623
+ }
624
+ }
625
+ if (reputedToZero) {
626
+ (_c = this.inputElements[constants98e2dcc2.TimeType.Seconds]) === null || _c === void 0 ? void 0 : _c.focus();
627
+ (_d = this.inputElements[constants98e2dcc2.TimeType.Seconds]) === null || _d === void 0 ? void 0 : _d.select();
628
+ }
629
+ }
630
+ // Parse a continuous time string (e.g., "123456") into hours, minutes, and seconds
631
+ parseTime(timeString) {
632
+ if (!timeString) {
633
+ return;
634
+ }
635
+ const cleanedTime = timeString.replace(/[^0-9]/g, '').padStart(6, '0');
636
+ const hour = cleanedTime.slice(0, 2);
637
+ const minute = cleanedTime.slice(2, 4);
638
+ const second = cleanedTime.slice(4, 6);
639
+ const minHour = this.parseHour(this.min, this.format) || hour;
640
+ const minMinute = this.parseMinute(this.min) || minute;
641
+ const minSecond = this.parseSecond(this.min) || second;
642
+ this.hours = minHour.padStart(2, '0');
643
+ this.minutes = minMinute.toString().padStart(2, '0');
644
+ this.seconds = minSecond.toString().padStart(2, '0');
645
+ }
646
+ reconstructTime() {
647
+ if (this.format === 'HH' || this.format === 'hh') {
648
+ return this.hours;
649
+ }
650
+ else if (this.format === 'HH:mm' || this.format === 'hh:mm') {
651
+ return `${this.hours}:${this.minutes}`;
652
+ }
653
+ else if (this.format === 'HH:mm:ss' || this.format === 'hh:mm:ss') {
654
+ return `${this.hours}:${this.minutes}:${this.seconds}`;
655
+ }
656
+ else {
657
+ return `${this.hours}:${this.minutes}:${this.seconds}`;
658
+ }
659
+ }
660
+ handleFocus(type) {
661
+ var _a, _b, _c, _d;
662
+ if (this.readonly || this.disabled) {
663
+ return;
664
+ }
665
+ if (!this.open) {
666
+ this.open = true; // Force the popover to open
667
+ }
668
+ // Refocus on the input if it loses focus and is empty
669
+ if (((_a = this.inputElements[type]) === null || _a === void 0 ? void 0 : _a.value.length) === 0 ||
670
+ ((_b = this.inputElements[type]) === null || _b === void 0 ? void 0 : _b.value) === '00') {
671
+ (_c = this.inputElements[type]) === null || _c === void 0 ? void 0 : _c.focus();
672
+ (_d = this.inputElements[type]) === null || _d === void 0 ? void 0 : _d.select();
673
+ }
674
+ this.typeFocused = type;
675
+ }
676
+ HandleDropdownIconClick() {
677
+ var _a, _b, _c, _d, _e, _f;
678
+ if (this.disabled || this.readonly) {
679
+ return; // Do not toggle if disabled or read-only
680
+ }
681
+ if (this.open && this.inputElements[constants98e2dcc2.TimeType.Hours]) {
682
+ this.open = false; // Close the popover if it is open
683
+ }
684
+ else if (this.open && this.inputElements[constants98e2dcc2.TimeType.Minutes]) {
685
+ this.open = false; // Close the popover if it is open
686
+ }
687
+ else if (this.open && this.inputElements[constants98e2dcc2.TimeType.Seconds]) {
688
+ this.open = false; // Close the popover if it is open
689
+ }
690
+ else if (!this.open && this.inputElements[constants98e2dcc2.TimeType.Hours]) {
691
+ (_a = this.inputElements[constants98e2dcc2.TimeType.Hours]) === null || _a === void 0 ? void 0 : _a.focus(); // Focus will open the popover
692
+ (_b = this.inputElements[constants98e2dcc2.TimeType.Hours]) === null || _b === void 0 ? void 0 : _b.select();
693
+ }
694
+ else if (!this.open && this.inputElements[constants98e2dcc2.TimeType.Minutes]) {
695
+ (_c = this.inputElements[constants98e2dcc2.TimeType.Minutes]) === null || _c === void 0 ? void 0 : _c.focus(); // Focus will open the popover
696
+ (_d = this.inputElements[constants98e2dcc2.TimeType.Minutes]) === null || _d === void 0 ? void 0 : _d.select();
697
+ }
698
+ else if (!this.open && this.inputElements[constants98e2dcc2.TimeType.Seconds]) {
699
+ (_e = this.inputElements[constants98e2dcc2.TimeType.Seconds]) === null || _e === void 0 ? void 0 : _e.focus(); // Focus will open the popover
700
+ (_f = this.inputElements[constants98e2dcc2.TimeType.Seconds]) === null || _f === void 0 ? void 0 : _f.select();
701
+ }
702
+ else {
703
+ console.warn('nv-fieldtime -> No input elements found to focus or to blur');
704
+ }
705
+ }
706
+ updateHighlightedItem(items, index) {
707
+ items.forEach((item, i) => {
708
+ if (i === index) {
709
+ item.classList.add('highlighted');
710
+ item.setAttribute('tabindex', '0');
711
+ item.focus(); // Forcer le focus ici
712
+ item.scrollIntoView({ block: 'nearest' });
713
+ }
714
+ else {
715
+ item.classList.remove('highlighted');
716
+ item.setAttribute('tabindex', '-1');
717
+ }
718
+ });
719
+ }
720
+ handleTimeOptionClick(event, type) {
721
+ const option = parseInt(event.target.textContent || '0', 10);
722
+ if (type === constants98e2dcc2.TimeType.Hours) {
723
+ this.hours = option.toString().padStart(2, '0');
724
+ }
725
+ else if (type === constants98e2dcc2.TimeType.Minutes) {
726
+ this.minutes = option.toString().padStart(2, '0');
727
+ }
728
+ else if (type === constants98e2dcc2.TimeType.Seconds) {
729
+ this.seconds = option.toString().padStart(2, '0');
730
+ }
731
+ const reconstructTime = this.reconstructTime();
732
+ this.value = reconstructTime;
733
+ }
734
+ handleInputBlur() {
735
+ // Use a delay to check if the focus is still within the popover
736
+ setTimeout(() => {
737
+ if (!this.el.contains(document.activeElement)) {
738
+ if (this.open) {
739
+ this.open = false; // Close the popover if the focus is outside the component
740
+ }
741
+ }
742
+ }, 150);
743
+ }
744
+ handleClickOutside(event) {
745
+ const target = event.target;
746
+ // Check if the click is inside the component or any of the input elements
747
+ if (this.el.contains(target) ||
748
+ Object.values(this.inputElements).some(input => input.contains(target))) {
749
+ return;
750
+ }
751
+ if (this.open) {
752
+ this.open = false; // Close the popover if the click is outside
753
+ }
754
+ }
755
+ handleScroll(e, type) {
756
+ const target = e.target;
757
+ const scrollTop = target.scrollTop;
758
+ const containerHeight = target.clientHeight;
759
+ const scrollHeight = target.scrollHeight;
760
+ // Define the height of each item, this could be dynamic if the height varies
761
+ const itemHeight = 40; // Consider making this configurable or dynamic
762
+ const options = this.generateTimeOptions(type); // Generates the list of time options
763
+ const singleSetHeight = options.length * itemHeight;
764
+ // Check if the scroll is near the bottom or top and reset to the first set
765
+ if (scrollTop + containerHeight >= scrollHeight - itemHeight ||
766
+ scrollTop <= 0) {
767
+ target.scrollTop = singleSetHeight; // Reset to the first set from the bottom
768
+ }
769
+ }
770
+ generateTimeOptions(type) {
771
+ // Convert the step in seconds
772
+ const stepInSeconds = this.step / 1000;
773
+ // Handle edge case for zero step
774
+ if (stepInSeconds === 0) {
775
+ return ['00']; // Just return the default value
776
+ }
777
+ // Generate the time options based on the type
778
+ switch (type) {
779
+ case constants98e2dcc2.TimeType.Hours:
780
+ return this.generateHourOptions(stepInSeconds);
781
+ case constants98e2dcc2.TimeType.Minutes:
782
+ return this.generateMinuteOptions(stepInSeconds);
783
+ case constants98e2dcc2.TimeType.Seconds:
784
+ return this.generateSecondOptions(stepInSeconds);
785
+ default:
786
+ return [];
787
+ }
788
+ }
789
+ generateHourOptions(stepInSeconds) {
790
+ const hourStep = Math.max(1, Math.floor(stepInSeconds / 3600)); // Prevent step < 1
791
+ const maxHour = this.parseHour(this.max, this.format) ||
792
+ (this.format.startsWith('hh') ? '12' : '24');
793
+ const minHour = this.parseHour(this.min, this.format) || '00';
794
+ const maxHourValue = parseInt(maxHour, 10);
795
+ const minHourValue = parseInt(minHour, 10);
796
+ const values = [];
797
+ for (let i = minHourValue; i < maxHourValue; i += hourStep) {
798
+ values.push(i.toString().padStart(2, '0'));
799
+ }
800
+ return values;
801
+ }
802
+ parseHour(value, format) {
803
+ if (!value)
804
+ return null;
805
+ const [hourStr] = value.split(':');
806
+ const hour = parseInt(hourStr, 10);
807
+ if (isNaN(hour))
808
+ return null;
809
+ if (format.startsWith('hh'))
810
+ return hour > 0 && hour <= 12 ? hourStr.padStart(2, '0') : null;
811
+ return hour >= 0 && hour <= 24 ? hourStr.padStart(2, '0') : null;
812
+ }
813
+ generateMinuteOptions(stepInSeconds) {
814
+ var _a, _b;
815
+ const minuteStep = Math.max(1, Math.floor((stepInSeconds % 3600) / 60)); // Ensure step >= 1
816
+ const minMinute = (_a = this.parseMinute(this.min)) !== null && _a !== void 0 ? _a : 0;
817
+ const maxMinute = (_b = this.parseMinute(this.max)) !== null && _b !== void 0 ? _b : 59;
818
+ if (minMinute === 0 && maxMinute === 0)
819
+ return ['00']; // Handle edge case for zero seconds
820
+ const values = [];
821
+ for (let i = minMinute; i <= maxMinute; i += minuteStep) {
822
+ values.push(i.toString().padStart(2, '0'));
823
+ }
824
+ return values;
825
+ }
826
+ parseMinute(value) {
827
+ if (!value)
828
+ return null;
829
+ const parts = value.split(':');
830
+ if (parts.length < 2)
831
+ return null; // Expect at least "hh:mm"
832
+ const minute = parseInt(parts[1], 10);
833
+ return isNaN(minute) || minute < 0 || minute >= 60 ? null : minute;
834
+ }
835
+ generateSecondOptions(stepInSeconds) {
836
+ var _a, _b;
837
+ const secondStep = Math.max(1, stepInSeconds % 60); // Ensure step >= 1
838
+ const minSecond = (_a = this.parseSecond(this.min)) !== null && _a !== void 0 ? _a : 0;
839
+ const maxSecond = (_b = this.parseSecond(this.max)) !== null && _b !== void 0 ? _b : 59;
840
+ if (minSecond === 0 && maxSecond === 0)
841
+ return ['00']; // Handle edge case for zero seconds
842
+ const values = [];
843
+ for (let i = minSecond; i <= maxSecond; i += secondStep) {
844
+ values.push(i.toString().padStart(2, '0'));
845
+ }
846
+ return values;
847
+ }
848
+ parseSecond(value) {
849
+ if (!value)
850
+ return null;
851
+ const parts = value.split(':');
852
+ if (parts.length < 3)
853
+ return null; // Expect "hh:mm:ss" or "HH:mm:ss"
854
+ const second = parseInt(parts[2], 10);
855
+ return isNaN(second) || second < 0 || second >= 60 ? null : second;
856
+ }
857
+ generateInfiniteTimeOptions(type) {
858
+ const options = this.generateTimeOptions(type);
859
+ const totalOptions = options.length;
860
+ // Dynamically calculate repetitions based on a target number of items (e.g., 300 items)
861
+ const repetitions = Math.ceil(300 / totalOptions);
862
+ return Array(repetitions).fill(options).flat();
863
+ }
864
+ getCurrentTime() {
865
+ const currentTime = new Date();
866
+ return currentTime.toLocaleTimeString(); // Returns the time in the locale's format
867
+ }
868
+ updateColumnHighlight(selector, value) {
869
+ const items = Array.from(this.el.querySelectorAll(selector));
870
+ const index = items.findIndex(x => x.textContent === value);
871
+ this.updateHighlightedItem(items, index);
872
+ }
873
+ handleHostClick(event) {
874
+ var _a, _b;
875
+ if (this.disabled || this.readonly) {
876
+ return;
877
+ }
878
+ const targetElement = event.target;
879
+ // Check if the click target or its ancestors are inside an nv-iconbutton element
880
+ if (targetElement.closest('nv-iconbutton')) {
881
+ return; // Handle icon button click separately
882
+ }
883
+ if (!this.open) {
884
+ if (this.inputElements) {
885
+ (_a = this.inputElements[constants98e2dcc2.TimeType.Hours]) === null || _a === void 0 ? void 0 : _a.focus();
886
+ (_b = this.inputElements[constants98e2dcc2.TimeType.Hours]) === null || _b === void 0 ? void 0 : _b.select();
887
+ }
888
+ event.preventDefault();
889
+ }
890
+ }
891
+ //#endregion METHODS
892
+ /****************************************************************************/
893
+ //#region LIFECYCLE
894
+ componentWillLoad() {
895
+ document.addEventListener('click', this.handleClickOutside.bind(this));
896
+ // If an initial value is passed, parse it
897
+ if (this.value) {
898
+ this.parseTime(this.value);
899
+ }
900
+ else {
901
+ const minHour = this.parseHour(this.min, this.format) || '00';
902
+ const minMinute = this.parseMinute(this.min) || 0;
903
+ const minSecond = this.parseSecond(this.min) || 0;
904
+ this.hours = minHour.padStart(2, '0');
905
+ this.minutes = minMinute.toString().padStart(2, '0');
906
+ this.seconds = minSecond.toString().padStart(2, '0');
907
+ }
908
+ }
909
+ connectedCallback() {
910
+ document.addEventListener('click', this.handleClickOutside.bind(this));
911
+ }
912
+ disconnectedCallback() {
913
+ document.removeEventListener('click', this.handleClickOutside.bind(this));
914
+ }
915
+ componentDidLoad() {
916
+ if (!this.value) {
917
+ const currentTime = this.getCurrentTime();
918
+ // Split time into components
919
+ // eslint-disable-next-line prefer-const
920
+ let [hour, minute, secondAmPm] = currentTime.split(':');
921
+ let second, amPm;
922
+ // Check if AM/PM is present and split accordingly
923
+ if (secondAmPm.includes(' ')) {
924
+ [second, amPm] = secondAmPm.split(' ');
925
+ }
926
+ else {
927
+ second = secondAmPm;
928
+ }
929
+ // Parse hour as integer for calculations
930
+ let parsedHour = parseInt(hour, 10);
931
+ // Convert hour to 24-hour format based on AM/PM (if present)
932
+ if (amPm) {
933
+ if (amPm === 'PM' && parsedHour < 12) {
934
+ parsedHour += 12; // Convert PM to 24-hour
935
+ }
936
+ else if (amPm === 'AM' && parsedHour === 12) {
937
+ parsedHour = 0; // Midnight in 24-hour format
938
+ }
939
+ }
940
+ // Adjust for 12-hour format if necessary
941
+ if (this.format.startsWith('hh')) {
942
+ if (parsedHour === 0) {
943
+ hour = '12'; // Midnight in 12-hour format
944
+ }
945
+ else if (parsedHour > 12) {
946
+ hour = (parsedHour - 12).toString(); // Convert 24-hour to 12-hour
947
+ }
948
+ else {
949
+ hour = parsedHour.toString();
950
+ }
951
+ }
952
+ else {
953
+ hour = parsedHour.toString(); // Use 24-hour format directly
954
+ }
955
+ // Pad hour, minute, and second to ensure two digits
956
+ hour = hour.padStart(2, '0');
957
+ minute = minute.padStart(2, '0');
958
+ second = second.padStart(2, '0');
959
+ // Update highlighted items for hours
960
+ const hourSelector = `.time-column.time-column-hours div`;
961
+ this.updateColumnHighlight(hourSelector, hour);
962
+ // Update highlighted items for minutes
963
+ const minuteSelector = `.time-column.time-column-minutes div`;
964
+ this.updateColumnHighlight(minuteSelector, minute);
965
+ // Update highlighted items for seconds
966
+ const secondSelector = `.time-column.time-column-seconds div`;
967
+ this.updateColumnHighlight(secondSelector, second);
968
+ }
969
+ }
970
+ //#endregion LIFECYCLE
971
+ /****************************************************************************/
972
+ //#region RENDER
973
+ RenderTimeOptionsColumn(type) {
974
+ return (index.h("div", { class: `time-column time-column-${type}`, onScroll: e => this.handleScroll(e, type) }, this.generateInfiniteTimeOptions(type).map((option, index$1) => (index.h("div", { class: {
975
+ 'time-option': true,
976
+ 'selected': (type === constants98e2dcc2.TimeType.Hours && option === this.hours) ||
977
+ (type === constants98e2dcc2.TimeType.Minutes && option === this.minutes) ||
978
+ (type === constants98e2dcc2.TimeType.Seconds && option === this.seconds),
979
+ }, key: `${option}-${index$1}`, onClick: e => this.handleTimeOptionClick(e, type) }, option)))));
980
+ }
981
+ render() {
982
+ return (index.h(index.Host, { key: '1ef0b47c6886db0b91833d4680638eeafe886894', onclick: e => this.handleHostClick(e) }, (this.label || this.el.querySelector('[slot="label"]')) && (index.h("label", { key: '7f0c658c7ad89e2f0fb5100a4de46d368b8edf85', htmlFor: this.inputId }, index.h("slot", { key: '2378b6f07660bb1c536e52a9e48b7a633f9d8bca', name: "label" }, this.label))), index.h("nv-popover", { key: 'cc543c978adc3a58c343688b3b579240abfd244d', ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, index.h("div", { key: '776927c5aec228f04c0079cc51d7772e50425dae', class: "input-wrapper", slot: "trigger" }, index.h("slot", { key: '9d5324592d1a1e9aed17a4bcdcdfcd0e5be88632', name: "before-input" }), index.h("div", { key: 'ed804b5a42ac0bff1c142f2374d5b32c45d3f5bb', class: "input-container" }, index.h("slot", { key: 'a2085ff4c458cd9cbf5d5824bd2f3624b71560b3', name: "leading-input" }), startsWithIgnoreCase(this.format, 'HH') && [
983
+ index.h("input", { key: 'a21fb6c62075b878dd849d9860bdee7cf8d56e61', ref: el => (this.inputElements[constants98e2dcc2.TimeType.Hours] = el), type: "number", autofocus: this.autofocus, class: "time-input", pattern: "[0-9]*", maxlength: "3", value: this.hours, onInput: e => this.handleInputChange(e, constants98e2dcc2.TimeType.Hours), placeholder: this.format.includes('hh') ? 'hh' : 'HH', inputMode: "numeric", onFocus: () => this.handleFocus(constants98e2dcc2.TimeType.Hours), name: this.name
984
+ ? `${constants98e2dcc2.TimeType.Hours}-${this.name}`
985
+ : constants98e2dcc2.TimeType.Hours, id: this.inputId, readonly: this.readonly, disabled: this.disabled, required: this.required, onKeyDown: e => this.handleKeyDown(e), onBlur: () => this.handleInputBlur() }),
986
+ ], this.format.includes('mm') && [
987
+ index.h("span", { key: 'cb0a76c804e60fb918980271cc2e19c389f6ffbc' }, ":"),
988
+ index.h("input", { key: '5ea428290a17350d74e3038728d0992c6fdad28e', ref: el => (this.inputElements[constants98e2dcc2.TimeType.Minutes] = el), type: "number", autofocus: this.autofocus, class: "time-input", pattern: "[0-9]*", maxlength: "3", value: this.minutes, onInput: e => this.handleInputChange(e, constants98e2dcc2.TimeType.Minutes), placeholder: "mm", inputMode: "numeric", onFocus: () => this.handleFocus(constants98e2dcc2.TimeType.Minutes), name: this.name
989
+ ? `${constants98e2dcc2.TimeType.Minutes}-${this.name}`
990
+ : constants98e2dcc2.TimeType.Minutes, id: `${this.inputId}-minutes`, readonly: this.readonly, disabled: this.disabled, required: this.required, onKeyDown: e => this.handleKeyDown(e), onBlur: () => this.handleInputBlur() }),
991
+ ], this.format.includes('ss') && [
992
+ index.h("span", { key: '68c7d188eee595668066e82fbfa60f387d1078f6' }, ":"),
993
+ index.h("input", { key: '23345802e5b7b9ea2e98fc47ca0ed88fec1f2176', ref: el => (this.inputElements[constants98e2dcc2.TimeType.Seconds] = el), type: "number", autofocus: this.autofocus, class: "time-input", pattern: "[0-9]*", maxlength: "3", value: this.seconds, onInput: e => this.handleInputChange(e, constants98e2dcc2.TimeType.Seconds), placeholder: "ss", inputMode: "numeric", onFocus: () => this.handleFocus(constants98e2dcc2.TimeType.Seconds), name: this.name
994
+ ? `${constants98e2dcc2.TimeType.Seconds}-${this.name}`
995
+ : constants98e2dcc2.TimeType.Seconds, id: `${this.inputId}-seconds`, readonly: this.readonly, disabled: this.disabled, required: this.required, onKeyDown: e => this.handleKeyDown(e), onBlur: () => this.handleInputBlur() }),
996
+ ], index.h("nv-iconbutton", { key: '103fc264c69cf3f8cac073d7815d24b3fdf9a821', name: this.open ? 'chevron-top' : 'chevron-down', size: "md", emphasis: "lower", "aria-label": this.open ? 'Hide time picker' : 'Show time picker', "aria-pressed": this.open.toString(), onClick: () => this.HandleDropdownIconClick() }), this.error && (index.h("nv-icon", { key: 'c78ec167b3f228a03172eee52fe888a8456f5851', name: "alert-circle", class: "validation", size: "sm" })), this.success && (index.h("nv-icon", { key: '845802ea8ebe47b66701a11663c1b5052a51a7e8', name: "circle-check", class: "validation", size: "sm" }))), index.h("slot", { key: 'd07b15d6baf4960bf12dec9cc883e89a969c08ea', name: "after-input" })), index.h("div", { key: 'c165f47781a106f0b586f7e39e30902c873faa07', class: "time-dropdown", slot: "content" }, index.h("div", { key: '2c544ba696b3ed2dc1db98ecc99b00d00f7b1531', class: "time-columns" }, startsWithIgnoreCase(this.format, 'HH') &&
997
+ this.RenderTimeOptionsColumn(constants98e2dcc2.TimeType.Hours), this.format.includes('mm') &&
998
+ this.RenderTimeOptionsColumn(constants98e2dcc2.TimeType.Minutes), this.format.includes('ss') &&
999
+ this.RenderTimeOptionsColumn(constants98e2dcc2.TimeType.Seconds)))), (this.description ||
1000
+ this.el.querySelector('[slot="description"]')) && (index.h("div", { key: 'f096bace0439c56e5707e385df02cd0c8d76665c', class: "description" }, index.h("slot", { key: '2a90719cfeb9f95ca9f298a1dce3383bbbb99f47', name: "description" }, this.description))), (this.errorDescription ||
1001
+ this.el.querySelector('[slot="error-description"]')) && (index.h("div", { key: '62d7d553ac6ad2f1d86d241a3042093a1b95d5d0', hidden: !this.error, class: "error-description" }, index.h("slot", { key: '03ff68aae8a2433f791da59721fd090f2573eebf', name: "error-description" }, this.errorDescription)))));
1002
+ }
1003
+ static get formAssociated() { return true; }
1004
+ get el() { return index.getElement(this); }
1005
+ static get watchers() { return {
1006
+ "value": ["handleValueChange"]
1007
+ }; }
1008
+ };
1009
+ NvFieldtime.style = NvFieldtimeStyle0;
1010
+
1011
+ exports.nv_fieldtime = NvFieldtime;