@nova-design-system/nova-webcomponents 3.0.0-beta.35 → 3.0.0-beta.37

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 (584) hide show
  1. package/dist/blazor-docs.json +6242 -4908
  2. package/dist/cjs/{app-globals-6b0931bc.js → app-globals-bd4d701e.js} +2 -2
  3. package/dist/cjs/{app-globals-6b0931bc.js.map → app-globals-bd4d701e.js.map} +1 -1
  4. package/dist/cjs/{constants-9525a915.js → constants-69b40456.js} +15 -8
  5. package/dist/cjs/constants-69b40456.js.map +1 -0
  6. package/dist/cjs/events.utils-52846a7d.js +32 -0
  7. package/dist/cjs/events.utils-52846a7d.js.map +1 -0
  8. package/dist/cjs/{grow.animation-46e7ae4b.js → grow.animation-a1f0bc22.js} +1 -29
  9. package/dist/cjs/grow.animation-a1f0bc22.js.map +1 -0
  10. package/dist/cjs/{index-ddc37f87.js → index-5910ba06.js} +75 -18
  11. package/dist/{native/p-9b093b92.js.map → cjs/index-5910ba06.js.map} +1 -1
  12. package/dist/cjs/index.cjs.js +6 -3
  13. package/dist/cjs/index.cjs.js.map +1 -1
  14. package/dist/cjs/loader.cjs.js +3 -3
  15. package/dist/cjs/native.cjs.js +3 -3
  16. package/dist/cjs/nv-alert.cjs.entry.js +3 -3
  17. package/dist/cjs/nv-alert.cjs.entry.js.map +1 -1
  18. package/dist/cjs/nv-avatar.cjs.entry.js +2 -2
  19. package/dist/cjs/nv-badge_2.cjs.entry.js +3 -3
  20. package/dist/cjs/nv-badge_2.cjs.entry.js.map +1 -1
  21. package/dist/cjs/nv-base.cjs.entry.js +1 -1
  22. package/dist/cjs/nv-breadcrumb.cjs.entry.js +4 -3
  23. package/dist/cjs/nv-breadcrumb.cjs.entry.js.map +1 -1
  24. package/dist/cjs/nv-breadcrumbs.cjs.entry.js +3 -3
  25. package/dist/cjs/nv-breadcrumbs.cjs.entry.js.map +1 -1
  26. package/dist/cjs/nv-button.cjs.entry.js +24 -4
  27. package/dist/cjs/nv-button.cjs.entry.js.map +1 -1
  28. package/dist/cjs/nv-col.cjs.entry.js +2 -2
  29. package/dist/cjs/nv-datagrid.cjs.entry.js +3 -3
  30. package/dist/cjs/nv-datagridbody.cjs.entry.js +2 -2
  31. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +2 -2
  32. package/dist/cjs/nv-datagriddatacell.cjs.entry.js +2 -2
  33. package/dist/cjs/nv-datagridhead.cjs.entry.js +2 -2
  34. package/dist/cjs/nv-datagridrow.cjs.entry.js +2 -2
  35. package/dist/cjs/nv-dialog.cjs.entry.js +758 -0
  36. package/dist/cjs/nv-dialog.cjs.entry.js.map +1 -0
  37. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +132 -0
  38. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js.map +1 -0
  39. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +34 -25
  40. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js.map +1 -1
  41. package/dist/cjs/nv-fielddropdown.cjs.entry.js +52 -15
  42. package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
  43. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +2 -2
  44. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +6 -3
  45. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
  46. package/dist/cjs/nv-fieldnumber.cjs.entry.js +12 -12
  47. package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
  48. package/dist/cjs/nv-fieldpassword.cjs.entry.js +4 -4
  49. package/dist/cjs/nv-fieldradio.cjs.entry.js +5 -5
  50. package/dist/cjs/nv-fieldradio.cjs.entry.js.map +1 -1
  51. package/dist/cjs/nv-fieldselect.cjs.entry.js +49 -18
  52. package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
  53. package/dist/cjs/nv-fieldtext.cjs.entry.js +8 -5
  54. package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -1
  55. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +13 -13
  56. package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -1
  57. package/dist/cjs/nv-fieldtime.cjs.entry.js +994 -0
  58. package/dist/cjs/nv-fieldtime.cjs.entry.js.map +1 -0
  59. package/dist/cjs/nv-icon.cjs.entry.js +3 -3
  60. package/dist/cjs/nv-iconbutton.cjs.entry.js +125 -0
  61. package/dist/cjs/nv-iconbutton.cjs.entry.js.map +1 -0
  62. package/dist/cjs/nv-loader.cjs.entry.js +35 -0
  63. package/dist/cjs/nv-loader.cjs.entry.js.map +1 -0
  64. package/dist/cjs/nv-menu.cjs.entry.js +66 -7
  65. package/dist/cjs/nv-menu.cjs.entry.js.map +1 -1
  66. package/dist/cjs/nv-menuitem.cjs.entry.js +2 -2
  67. package/dist/cjs/nv-popover.cjs.entry.js +11 -22
  68. package/dist/cjs/nv-popover.cjs.entry.js.map +1 -1
  69. package/dist/cjs/nv-row.cjs.entry.js +2 -2
  70. package/dist/cjs/nv-stack.cjs.entry.js +2 -2
  71. package/dist/cjs/nv-table.cjs.entry.js +3 -3
  72. package/dist/cjs/nv-tablebody.cjs.entry.js +2 -2
  73. package/dist/cjs/nv-tablecolumn.cjs.entry.js +2 -2
  74. package/dist/cjs/nv-tabledatacell.cjs.entry.js +2 -2
  75. package/dist/cjs/nv-tablehead.cjs.entry.js +2 -2
  76. package/dist/cjs/nv-tablerow.cjs.entry.js +2 -2
  77. package/dist/cjs/nv-toggle.cjs.entry.js +82 -0
  78. package/dist/cjs/nv-toggle.cjs.entry.js.map +1 -0
  79. package/dist/cjs/nv-tooltip.cjs.entry.js +2 -2
  80. package/dist/cjs/string.utils-9c581350.js +25 -0
  81. package/dist/cjs/string.utils-9c581350.js.map +1 -0
  82. package/dist/collection/collection-manifest.json +5 -1
  83. package/dist/collection/components/nv-alert/nv-alert.css +5 -5
  84. package/dist/collection/components/nv-badge/nv-badge.css +10 -10
  85. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.css +57 -4
  86. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js +2 -2
  87. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js.map +1 -1
  88. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.css +1 -1
  89. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js +4 -14
  90. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js.map +1 -1
  91. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.js +1 -1
  92. package/dist/collection/components/nv-button/nv-button.docs.js +6 -1
  93. package/dist/collection/components/nv-button/nv-button.docs.js.map +1 -1
  94. package/dist/collection/components/nv-button/nv-button.js +56 -1
  95. package/dist/collection/components/nv-button/nv-button.js.map +1 -1
  96. package/dist/collection/components/nv-button/styles/nv-button.css +50 -10
  97. package/dist/collection/components/nv-col/nv-col.js +1 -1
  98. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +1 -0
  99. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +1 -1
  100. package/dist/collection/components/nv-datagrid/nv-datagrid.js +2 -2
  101. package/dist/collection/components/nv-datagridbody/nv-datagridbody.js +1 -1
  102. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +1 -1
  103. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.js +1 -1
  104. package/dist/collection/components/nv-datagridhead/nv-datagridhead.js +1 -1
  105. package/dist/collection/components/nv-datagridrow/nv-datagridrow.js +1 -1
  106. package/dist/collection/components/nv-dialog/nv-dialog.css +43 -0
  107. package/dist/collection/components/nv-dialog/nv-dialog.docs.js +79 -0
  108. package/dist/collection/components/nv-dialog/nv-dialog.docs.js.map +1 -0
  109. package/dist/collection/components/nv-dialog/nv-dialog.js +510 -0
  110. package/dist/collection/components/nv-dialog/nv-dialog.js.map +1 -0
  111. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.css +8 -0
  112. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.docs.js +6 -0
  113. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.docs.js.map +1 -0
  114. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js +267 -0
  115. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js.map +1 -0
  116. package/dist/collection/components/nv-dialogheader/nv-dialogheader.css +25 -0
  117. package/dist/collection/components/nv-dialogheader/nv-dialogheader.docs.js +6 -0
  118. package/dist/collection/components/nv-dialogheader/nv-dialogheader.docs.js.map +1 -0
  119. package/dist/collection/components/nv-dialogheader/nv-dialogheader.js +87 -0
  120. package/dist/collection/components/nv-dialogheader/nv-dialogheader.js.map +1 -0
  121. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.css +1 -1
  122. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +45 -30
  123. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js.map +1 -1
  124. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +28 -0
  125. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +1 -1
  126. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +87 -22
  127. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
  128. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +1 -1
  129. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +1 -1
  130. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +7 -1
  131. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js.map +1 -1
  132. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +15 -6
  133. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
  134. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js +15 -14
  135. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js.map +1 -1
  136. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +13 -13
  137. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +1 -1
  138. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js +1 -0
  139. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js.map +1 -1
  140. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +3 -3
  141. package/dist/collection/components/nv-fieldradio/nv-fieldradio.css +1 -1
  142. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +6 -6
  143. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js.map +1 -1
  144. package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js +30 -0
  145. package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js.map +1 -1
  146. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +72 -19
  147. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js.map +1 -1
  148. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +10 -7
  149. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +1 -1
  150. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +14 -14
  151. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js.map +1 -1
  152. package/dist/collection/components/nv-fieldtime/nv-fieldtime.css +261 -0
  153. package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js +110 -0
  154. package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js.map +1 -0
  155. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +1366 -0
  156. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js.map +1 -0
  157. package/dist/collection/components/nv-icon/nv-icon.js +1 -1
  158. package/dist/collection/components/nv-iconbutton/nv-iconbutton.css +4 -4
  159. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
  160. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  161. package/dist/collection/components/nv-menu/nv-menu.docs.js +61 -0
  162. package/dist/collection/components/nv-menu/nv-menu.docs.js.map +1 -1
  163. package/dist/collection/components/nv-menu/nv-menu.js +92 -6
  164. package/dist/collection/components/nv-menu/nv-menu.js.map +1 -1
  165. package/dist/collection/components/nv-menuitem/nv-menuitem.js +1 -1
  166. package/dist/collection/components/nv-popover/nv-popover.docs.js +9 -9
  167. package/dist/collection/components/nv-popover/nv-popover.docs.js.map +1 -1
  168. package/dist/collection/components/nv-popover/nv-popover.js +2 -14
  169. package/dist/collection/components/nv-popover/nv-popover.js.map +1 -1
  170. package/dist/collection/components/nv-row/nv-row.js +1 -1
  171. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  172. package/dist/collection/components/nv-table/nv-table.docs.js +1 -0
  173. package/dist/collection/components/nv-table/nv-table.docs.js.map +1 -1
  174. package/dist/collection/components/nv-table/nv-table.js +2 -2
  175. package/dist/collection/components/nv-tablebody/nv-tablebody.js +1 -1
  176. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js +1 -1
  177. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.js +1 -1
  178. package/dist/collection/components/nv-tablehead/nv-tablehead.js +1 -1
  179. package/dist/collection/components/nv-tablerow/nv-tablerow.js +1 -1
  180. package/dist/collection/components/{nv-fieldtoggle/nv-fieldtoggle.css → nv-toggle/nv-toggle.css} +22 -22
  181. package/dist/collection/components/{nv-fieldtoggle/nv-fieldtoggle.docs.js → nv-toggle/nv-toggle.docs.js} +14 -14
  182. package/dist/collection/components/nv-toggle/nv-toggle.docs.js.map +1 -0
  183. package/dist/collection/components/{nv-fieldtoggle/nv-fieldtoggle.js → nv-toggle/nv-toggle.js} +11 -10
  184. package/dist/collection/components/nv-toggle/nv-toggle.js.map +1 -0
  185. package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
  186. package/dist/collection/dev/dev-components.js +1 -1
  187. package/dist/collection/dev/dev-components.js.map +1 -1
  188. package/dist/collection/index.js +2 -0
  189. package/dist/collection/index.js.map +1 -1
  190. package/dist/collection/templates/navigation.docs.js +12 -2
  191. package/dist/collection/templates/navigation.docs.js.map +1 -1
  192. package/dist/collection/utils/constants.js +11 -5
  193. package/dist/collection/utils/constants.js.map +1 -1
  194. package/dist/collection/utils/string.utils.js +14 -0
  195. package/dist/collection/utils/string.utils.js.map +1 -0
  196. package/dist/components/index.js +5 -4
  197. package/dist/components/index.js.map +1 -1
  198. package/dist/components/nv-alert.js +4 -4
  199. package/dist/components/nv-alert.js.map +1 -1
  200. package/dist/components/nv-avatar.js +3 -3
  201. package/dist/components/nv-badge.js +1 -1
  202. package/dist/components/nv-base.js +1 -1
  203. package/dist/components/nv-breadcrumb.js +7 -12
  204. package/dist/components/nv-breadcrumb.js.map +1 -1
  205. package/dist/components/nv-breadcrumbs.js +3 -3
  206. package/dist/components/nv-breadcrumbs.js.map +1 -1
  207. package/dist/components/nv-button.js +1 -141
  208. package/dist/components/nv-button.js.map +1 -1
  209. package/dist/components/nv-col.js +2 -2
  210. package/dist/components/nv-datagrid.js +3 -3
  211. package/dist/components/nv-datagridbody.js +2 -2
  212. package/dist/components/nv-datagridcolumn.js +2 -2
  213. package/dist/components/nv-datagriddatacell.js +2 -2
  214. package/dist/components/nv-datagridhead.js +2 -2
  215. package/dist/components/nv-datagridrow.js +2 -2
  216. package/dist/components/{nv-fieldtoggle.d.ts → nv-dialog.d.ts} +4 -4
  217. package/dist/components/nv-dialog.js +816 -0
  218. package/dist/components/nv-dialog.js.map +1 -0
  219. package/dist/components/nv-dialogfooter.d.ts +11 -0
  220. package/dist/components/nv-dialogfooter.js +8 -0
  221. package/dist/components/nv-dialogfooter.js.map +1 -0
  222. package/dist/components/nv-dialogheader.d.ts +11 -0
  223. package/dist/components/nv-dialogheader.js +8 -0
  224. package/dist/components/nv-dialogheader.js.map +1 -0
  225. package/dist/components/nv-fieldcheckbox.js +1 -1
  226. package/dist/components/nv-fielddropdown.js +61 -21
  227. package/dist/components/nv-fielddropdown.js.map +1 -1
  228. package/dist/components/nv-fielddropdownitem.js +1 -1
  229. package/dist/components/nv-fielddropdownitemcheck.js +1 -1
  230. package/dist/components/nv-fieldmultiselect.js +14 -11
  231. package/dist/components/nv-fieldmultiselect.js.map +1 -1
  232. package/dist/components/nv-fieldnumber.js +13 -13
  233. package/dist/components/nv-fieldnumber.js.map +1 -1
  234. package/dist/components/nv-fieldpassword.js +7 -7
  235. package/dist/components/nv-fieldradio.js +5 -5
  236. package/dist/components/nv-fieldradio.js.map +1 -1
  237. package/dist/components/nv-fieldselect.js +55 -21
  238. package/dist/components/nv-fieldselect.js.map +1 -1
  239. package/dist/components/nv-fieldtext.js +9 -6
  240. package/dist/components/nv-fieldtext.js.map +1 -1
  241. package/dist/components/nv-fieldtextarea.js +13 -13
  242. package/dist/components/nv-fieldtextarea.js.map +1 -1
  243. package/dist/components/nv-fieldtime.d.ts +11 -0
  244. package/dist/components/nv-fieldtime.js +1054 -0
  245. package/dist/components/nv-fieldtime.js.map +1 -0
  246. package/dist/components/nv-icon.js +1 -1
  247. package/dist/components/nv-iconbutton.js +1 -1
  248. package/dist/components/nv-loader.js +1 -1
  249. package/dist/components/nv-menu.js +90 -10
  250. package/dist/components/nv-menu.js.map +1 -1
  251. package/dist/components/nv-menuitem.js +1 -80
  252. package/dist/components/nv-menuitem.js.map +1 -1
  253. package/dist/components/nv-popover.js +1 -1
  254. package/dist/components/nv-row.js +2 -2
  255. package/dist/components/nv-stack.js +2 -2
  256. package/dist/components/nv-table.js +3 -3
  257. package/dist/components/nv-tablebody.js +2 -2
  258. package/dist/components/nv-tablecolumn.js +2 -2
  259. package/dist/components/nv-tabledatacell.js +2 -2
  260. package/dist/components/nv-tablehead.js +2 -2
  261. package/dist/components/nv-tablerow.js +2 -2
  262. package/dist/components/nv-toggle.d.ts +11 -0
  263. package/dist/components/nv-toggle.js +109 -0
  264. package/dist/components/nv-toggle.js.map +1 -0
  265. package/dist/components/nv-tooltip.js +1 -1
  266. package/dist/components/{p-7a19fef7.js → p-11fcdad9.js} +4 -4
  267. package/dist/components/{p-7a19fef7.js.map → p-11fcdad9.js.map} +1 -1
  268. package/dist/components/{p-7c0db67e.js → p-16badb3b.js} +4 -4
  269. package/dist/components/{p-7c0db67e.js.map → p-16badb3b.js.map} +1 -1
  270. package/dist/components/{p-3a65a05e.js → p-17714233.js} +40 -28
  271. package/dist/components/p-17714233.js.map +1 -0
  272. package/dist/components/{p-0b30dd1b.js → p-18d221e3.js} +3 -3
  273. package/dist/components/{p-0b30dd1b.js.map → p-18d221e3.js.map} +1 -1
  274. package/dist/components/p-2768d2c0.js +57 -0
  275. package/dist/components/p-2768d2c0.js.map +1 -0
  276. package/dist/components/p-2baea6ba.js +84 -0
  277. package/dist/components/p-2baea6ba.js.map +1 -0
  278. package/dist/components/{p-63afc71f.js → p-3859dc5c.js} +4 -4
  279. package/dist/components/{p-63afc71f.js.map → p-3859dc5c.js.map} +1 -1
  280. package/dist/components/{p-2abfadb8.js → p-4938572a.js} +4 -4
  281. package/dist/components/{p-2abfadb8.js.map → p-4938572a.js.map} +1 -1
  282. package/dist/components/{p-74407727.js → p-56f71851.js} +16 -9
  283. package/dist/components/p-56f71851.js.map +1 -0
  284. package/dist/components/{p-3b209e94.js → p-77d0fedc.js} +43 -3
  285. package/dist/components/p-77d0fedc.js.map +1 -0
  286. package/dist/components/p-91bf0cb6.js +166 -0
  287. package/dist/components/p-91bf0cb6.js.map +1 -0
  288. package/dist/components/{p-afa1c98e.js → p-98ff0e5f.js} +37 -28
  289. package/dist/components/p-98ff0e5f.js.map +1 -0
  290. package/dist/components/{p-5b98036c.js → p-a01bdf02.js} +4 -4
  291. package/dist/components/{p-5b98036c.js.map → p-a01bdf02.js.map} +1 -1
  292. package/dist/components/p-a5c8eee9.js +22 -0
  293. package/dist/components/p-a5c8eee9.js.map +1 -0
  294. package/dist/components/{p-78e7c594.js → p-a9a52105.js} +6 -17
  295. package/dist/components/p-a9a52105.js.map +1 -0
  296. package/dist/components/p-d429a343.js +28 -0
  297. package/dist/components/p-d429a343.js.map +1 -0
  298. package/dist/components/p-de8411ee.js +128 -0
  299. package/dist/components/p-de8411ee.js.map +1 -0
  300. package/dist/components/{p-d3b1c116.js → p-e431a0ad.js} +6 -6
  301. package/dist/components/{p-d3b1c116.js.map → p-e431a0ad.js.map} +1 -1
  302. package/dist/docs.json +2211 -911
  303. package/dist/esm/{app-globals-246d6b7c.js → app-globals-0a94217b.js} +2 -2
  304. package/dist/esm/{app-globals-246d6b7c.js.map → app-globals-0a94217b.js.map} +1 -1
  305. package/dist/esm/{constants-7b642e1d.js → constants-0181211f.js} +16 -9
  306. package/dist/esm/constants-0181211f.js.map +1 -0
  307. package/dist/esm/events.utils-fe1d907f.js +28 -0
  308. package/dist/esm/events.utils-fe1d907f.js.map +1 -0
  309. package/dist/esm/{grow.animation-88a8ee8f.js → grow.animation-cac164da.js} +2 -27
  310. package/dist/esm/grow.animation-cac164da.js.map +1 -0
  311. package/dist/esm/{index-cd557d0a.js → index-fac2d5d2.js} +75 -19
  312. package/dist/esm/index-fac2d5d2.js.map +1 -0
  313. package/dist/esm/index.js +4 -3
  314. package/dist/esm/index.js.map +1 -1
  315. package/dist/esm/loader.js +4 -4
  316. package/dist/esm/native.js +4 -4
  317. package/dist/esm/nv-alert.entry.js +3 -3
  318. package/dist/esm/nv-alert.entry.js.map +1 -1
  319. package/dist/esm/nv-avatar.entry.js +2 -2
  320. package/dist/esm/nv-badge_2.entry.js +3 -3
  321. package/dist/esm/nv-badge_2.entry.js.map +1 -1
  322. package/dist/esm/nv-base.entry.js +1 -1
  323. package/dist/esm/nv-breadcrumb.entry.js +4 -3
  324. package/dist/esm/nv-breadcrumb.entry.js.map +1 -1
  325. package/dist/esm/nv-breadcrumbs.entry.js +3 -3
  326. package/dist/esm/nv-breadcrumbs.entry.js.map +1 -1
  327. package/dist/esm/nv-button.entry.js +24 -4
  328. package/dist/esm/nv-button.entry.js.map +1 -1
  329. package/dist/esm/nv-col.entry.js +2 -2
  330. package/dist/esm/nv-datagrid.entry.js +3 -3
  331. package/dist/esm/nv-datagridbody.entry.js +2 -2
  332. package/dist/esm/nv-datagridcolumn.entry.js +2 -2
  333. package/dist/esm/nv-datagriddatacell.entry.js +2 -2
  334. package/dist/esm/nv-datagridhead.entry.js +2 -2
  335. package/dist/esm/nv-datagridrow.entry.js +2 -2
  336. package/dist/esm/nv-dialog.entry.js +754 -0
  337. package/dist/esm/nv-dialog.entry.js.map +1 -0
  338. package/dist/esm/nv-dialogfooter_2.entry.js +127 -0
  339. package/dist/esm/nv-dialogfooter_2.entry.js.map +1 -0
  340. package/dist/esm/nv-fieldcheckbox.entry.js +34 -25
  341. package/dist/esm/nv-fieldcheckbox.entry.js.map +1 -1
  342. package/dist/esm/nv-fielddropdown.entry.js +52 -15
  343. package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
  344. package/dist/esm/nv-fielddropdownitem.entry.js +2 -2
  345. package/dist/esm/nv-fieldmultiselect.entry.js +6 -3
  346. package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
  347. package/dist/esm/nv-fieldnumber.entry.js +12 -12
  348. package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
  349. package/dist/esm/nv-fieldpassword.entry.js +4 -4
  350. package/dist/esm/nv-fieldradio.entry.js +5 -5
  351. package/dist/esm/nv-fieldradio.entry.js.map +1 -1
  352. package/dist/esm/nv-fieldselect.entry.js +49 -18
  353. package/dist/esm/nv-fieldselect.entry.js.map +1 -1
  354. package/dist/esm/nv-fieldtext.entry.js +8 -5
  355. package/dist/esm/nv-fieldtext.entry.js.map +1 -1
  356. package/dist/esm/nv-fieldtextarea.entry.js +13 -13
  357. package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
  358. package/dist/esm/nv-fieldtime.entry.js +990 -0
  359. package/dist/esm/nv-fieldtime.entry.js.map +1 -0
  360. package/dist/esm/nv-icon.entry.js +3 -3
  361. package/dist/esm/nv-iconbutton.entry.js +121 -0
  362. package/dist/esm/nv-iconbutton.entry.js.map +1 -0
  363. package/dist/esm/nv-loader.entry.js +31 -0
  364. package/dist/esm/nv-loader.entry.js.map +1 -0
  365. package/dist/esm/nv-menu.entry.js +66 -7
  366. package/dist/esm/nv-menu.entry.js.map +1 -1
  367. package/dist/esm/nv-menuitem.entry.js +2 -2
  368. package/dist/esm/nv-popover.entry.js +5 -16
  369. package/dist/esm/nv-popover.entry.js.map +1 -1
  370. package/dist/esm/nv-row.entry.js +2 -2
  371. package/dist/esm/nv-stack.entry.js +2 -2
  372. package/dist/esm/nv-table.entry.js +3 -3
  373. package/dist/esm/nv-tablebody.entry.js +2 -2
  374. package/dist/esm/nv-tablecolumn.entry.js +2 -2
  375. package/dist/esm/nv-tabledatacell.entry.js +2 -2
  376. package/dist/esm/nv-tablehead.entry.js +2 -2
  377. package/dist/esm/nv-tablerow.entry.js +2 -2
  378. package/dist/esm/nv-toggle.entry.js +78 -0
  379. package/dist/esm/nv-toggle.entry.js.map +1 -0
  380. package/dist/esm/nv-tooltip.entry.js +2 -2
  381. package/dist/esm/string.utils-16aed4a7.js +22 -0
  382. package/dist/esm/string.utils-16aed4a7.js.map +1 -0
  383. package/dist/native/index.esm.js +1 -1
  384. package/dist/native/index.esm.js.map +1 -1
  385. package/dist/native/native.css +1 -1
  386. package/dist/native/native.esm.js +1 -1
  387. package/dist/native/native.esm.js.map +1 -1
  388. package/dist/native/p-02bb8184.entry.js +2 -0
  389. package/dist/native/p-0bf35abc.entry.js +2 -0
  390. package/dist/native/p-0bf35abc.entry.js.map +1 -0
  391. package/dist/native/p-10ba289c.entry.js +2 -0
  392. package/dist/native/{p-826f1d28.entry.js → p-208accf0.entry.js} +2 -2
  393. package/dist/native/p-208accf0.entry.js.map +1 -0
  394. package/dist/native/p-211f7b19.entry.js +2 -0
  395. package/dist/native/p-211f7b19.entry.js.map +1 -0
  396. package/dist/native/p-2aebf31b.entry.js +2 -0
  397. package/dist/native/p-3a8a9371.entry.js +2 -0
  398. package/dist/native/p-3a8a9371.entry.js.map +1 -0
  399. package/dist/native/{p-6bb2c88f.entry.js → p-3c004551.entry.js} +2 -2
  400. package/dist/native/p-3c004551.entry.js.map +1 -0
  401. package/dist/native/p-46553ffd.entry.js +2 -0
  402. package/dist/native/p-46553ffd.entry.js.map +1 -0
  403. package/dist/native/{p-f7db0785.entry.js → p-4d0caf4a.entry.js} +3 -3
  404. package/dist/native/p-4f11286d.entry.js +2 -0
  405. package/dist/native/{p-40f4828a.entry.js.map → p-4f11286d.entry.js.map} +1 -1
  406. package/dist/native/p-51ad8bcd.entry.js +2 -0
  407. package/dist/native/p-51ad8bcd.entry.js.map +1 -0
  408. package/dist/native/p-5439afb8.js +3 -0
  409. package/dist/native/p-5439afb8.js.map +1 -0
  410. package/dist/native/{p-74407727.js → p-56f71851.js} +2 -2
  411. package/dist/native/p-56f71851.js.map +1 -0
  412. package/dist/native/p-5f1a7e6e.entry.js +2 -0
  413. package/dist/native/p-5f1a7e6e.entry.js.map +1 -0
  414. package/dist/native/{p-575ea40b.entry.js → p-61d2cb2e.entry.js} +2 -2
  415. package/dist/native/{p-cd251f91.entry.js → p-6d68f133.entry.js} +2 -2
  416. package/dist/native/p-724ed8d7.entry.js +7 -0
  417. package/dist/native/p-724ed8d7.entry.js.map +1 -0
  418. package/dist/native/{p-e5fbe545.entry.js → p-75b1ea9f.entry.js} +2 -2
  419. package/dist/native/p-87083363.entry.js +2 -0
  420. package/dist/native/p-87083363.entry.js.map +1 -0
  421. package/dist/native/p-892052c2.entry.js +2 -0
  422. package/dist/native/p-8c1a6aa6.entry.js +2 -0
  423. package/dist/native/p-8c1a6aa6.entry.js.map +1 -0
  424. package/dist/native/p-8ee30013.entry.js +2 -0
  425. package/dist/native/{p-9341cf9d.entry.js.map → p-8ee30013.entry.js.map} +1 -1
  426. package/dist/native/{p-788712dd.entry.js → p-96902bb3.entry.js} +2 -2
  427. package/dist/native/p-99e7a452.entry.js +2 -0
  428. package/dist/native/p-99e7a452.entry.js.map +1 -0
  429. package/dist/native/p-9ac790b3.entry.js +2 -0
  430. package/dist/native/{p-18b227b5.entry.js.map → p-9ac790b3.entry.js.map} +1 -1
  431. package/dist/native/{p-3283505f.entry.js → p-9fb5db20.entry.js} +2 -2
  432. package/dist/native/p-a5c8eee9.js +2 -0
  433. package/dist/native/p-a5c8eee9.js.map +1 -0
  434. package/dist/native/{p-552e7ea4.entry.js → p-a998f8df.entry.js} +2 -2
  435. package/dist/native/p-aa2834e2.entry.js +2 -0
  436. package/dist/native/p-ab5a8ce5.entry.js +2 -0
  437. package/dist/native/p-beab7cbd.entry.js +2 -0
  438. package/dist/native/p-bfeda21c.entry.js +2 -0
  439. package/dist/native/p-bfeda21c.entry.js.map +1 -0
  440. package/dist/native/p-c1765831.js +2 -0
  441. package/dist/native/p-c1765831.js.map +1 -0
  442. package/dist/native/{p-7dfb4a60.entry.js → p-c51ee6dc.entry.js} +2 -2
  443. package/dist/native/p-c51ee6dc.entry.js.map +1 -0
  444. package/dist/native/{p-2063c768.entry.js → p-d24586ed.entry.js} +2 -2
  445. package/dist/native/p-d429a343.js +2 -0
  446. package/dist/native/p-d429a343.js.map +1 -0
  447. package/dist/native/{p-1e2bd4e3.entry.js → p-d4e56727.entry.js} +2 -2
  448. package/dist/native/p-d67b7502.entry.js +2 -0
  449. package/dist/native/p-d67b7502.entry.js.map +1 -0
  450. package/dist/native/p-d776ed48.entry.js +2 -0
  451. package/dist/native/p-d776ed48.entry.js.map +1 -0
  452. package/dist/native/p-dc9dd5a7.entry.js +2 -0
  453. package/dist/native/p-e192c25c.entry.js +2 -0
  454. package/dist/native/p-e192c25c.entry.js.map +1 -0
  455. package/dist/native/p-e3827605.entry.js +2 -0
  456. package/dist/native/{p-5d0dc7c8.entry.js.map → p-e3827605.entry.js.map} +1 -1
  457. package/dist/native/p-e5a7596b.entry.js +2 -0
  458. package/dist/native/p-e6f45df2.entry.js +2 -0
  459. package/dist/native/p-ed47a702.entry.js +2 -0
  460. package/dist/native/p-f30ce086.entry.js +2 -0
  461. package/dist/native/{p-eda8cd9d.entry.js.map → p-f30ce086.entry.js.map} +1 -1
  462. package/dist/native/p-f3fbdea6.js +2 -0
  463. package/dist/native/{p-f79752ca.entry.js → p-fd2955dd.entry.js} +2 -2
  464. package/dist/native/p-fd2955dd.entry.js.map +1 -0
  465. package/dist/types/components/nv-breadcrumb/nv-breadcrumb.d.ts +0 -1
  466. package/dist/types/components/nv-button/nv-button.d.ts +8 -0
  467. package/dist/types/components/nv-dialog/nv-dialog.d.ts +124 -0
  468. package/dist/types/components/nv-dialog/nv-dialog.docs.d.ts +4 -0
  469. package/dist/types/components/nv-dialogfooter/nv-dialogfooter.d.ts +63 -0
  470. package/dist/types/components/nv-dialogfooter/nv-dialogfooter.docs.d.ts +4 -0
  471. package/dist/types/components/nv-dialogheader/nv-dialogheader.d.ts +20 -0
  472. package/dist/types/components/nv-dialogheader/nv-dialogheader.docs.d.ts +4 -0
  473. package/dist/types/components/nv-fieldcheckbox/nv-fieldcheckbox.d.ts +14 -10
  474. package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +34 -10
  475. package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +6 -2
  476. package/dist/types/components/nv-fieldnumber/nv-fieldnumber.d.ts +4 -4
  477. package/dist/types/components/nv-fieldradio/nv-fieldradio.d.ts +2 -2
  478. package/dist/types/components/nv-fieldselect/nv-fieldselect.d.ts +20 -6
  479. package/dist/types/components/nv-fieldtext/nv-fieldtext.d.ts +5 -4
  480. package/dist/types/components/nv-fieldtextarea/nv-fieldtextarea.d.ts +3 -3
  481. package/dist/types/components/nv-fieldtime/nv-fieldtime.d.ts +156 -0
  482. package/dist/types/components/nv-fieldtime/nv-fieldtime.docs.d.ts +4 -0
  483. package/dist/types/components/nv-menu/nv-menu.d.ts +20 -0
  484. package/dist/types/components/{nv-fieldtoggle/nv-fieldtoggle.d.ts → nv-toggle/nv-toggle.d.ts} +4 -4
  485. package/dist/types/components/nv-toggle/nv-toggle.docs.d.ts +4 -0
  486. package/dist/types/components.d.ts +519 -98
  487. package/dist/types/index.d.ts +1 -0
  488. package/dist/types/nova-docs.d.ts +19 -0
  489. package/dist/types/utils/constants.d.ts +6 -1
  490. package/dist/types/utils/string.utils.d.ts +9 -0
  491. package/dist/vscode-data.json +230 -34
  492. package/hydrate/index.js +2609 -442
  493. package/hydrate/index.mjs +2609 -442
  494. package/package.json +22 -10
  495. package/dist/cjs/constants-9525a915.js.map +0 -1
  496. package/dist/cjs/grow.animation-46e7ae4b.js.map +0 -1
  497. package/dist/cjs/index-ddc37f87.js.map +0 -1
  498. package/dist/cjs/nv-fieldtoggle.cjs.entry.js +0 -81
  499. package/dist/cjs/nv-fieldtoggle.cjs.entry.js.map +0 -1
  500. package/dist/cjs/nv-iconbutton_2.cjs.entry.js +0 -151
  501. package/dist/cjs/nv-iconbutton_2.cjs.entry.js.map +0 -1
  502. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.docs.js.map +0 -1
  503. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.js.map +0 -1
  504. package/dist/components/nv-fieldtoggle.js +0 -108
  505. package/dist/components/nv-fieldtoggle.js.map +0 -1
  506. package/dist/components/p-3a65a05e.js.map +0 -1
  507. package/dist/components/p-3b209e94.js.map +0 -1
  508. package/dist/components/p-74407727.js.map +0 -1
  509. package/dist/components/p-78e7c594.js.map +0 -1
  510. package/dist/components/p-afa1c98e.js.map +0 -1
  511. package/dist/esm/constants-7b642e1d.js.map +0 -1
  512. package/dist/esm/grow.animation-88a8ee8f.js.map +0 -1
  513. package/dist/esm/index-cd557d0a.js.map +0 -1
  514. package/dist/esm/nv-fieldtoggle.entry.js +0 -77
  515. package/dist/esm/nv-fieldtoggle.entry.js.map +0 -1
  516. package/dist/esm/nv-iconbutton_2.entry.js +0 -146
  517. package/dist/esm/nv-iconbutton_2.entry.js.map +0 -1
  518. package/dist/native/p-0a9a738c.entry.js +0 -2
  519. package/dist/native/p-0a9a738c.entry.js.map +0 -1
  520. package/dist/native/p-0f9262ed.entry.js +0 -2
  521. package/dist/native/p-18b227b5.entry.js +0 -2
  522. package/dist/native/p-225962f2.entry.js +0 -2
  523. package/dist/native/p-2ac838b8.entry.js +0 -2
  524. package/dist/native/p-38d3eee3.js +0 -2
  525. package/dist/native/p-3adf0c45.entry.js +0 -2
  526. package/dist/native/p-3adf0c45.entry.js.map +0 -1
  527. package/dist/native/p-40f4828a.entry.js +0 -2
  528. package/dist/native/p-44cc8b59.entry.js +0 -2
  529. package/dist/native/p-44cc8b59.entry.js.map +0 -1
  530. package/dist/native/p-4e056cd8.entry.js +0 -2
  531. package/dist/native/p-4e056cd8.entry.js.map +0 -1
  532. package/dist/native/p-4f30312d.entry.js +0 -2
  533. package/dist/native/p-4f30312d.entry.js.map +0 -1
  534. package/dist/native/p-4ffd5c51.entry.js +0 -2
  535. package/dist/native/p-52a7f936.entry.js +0 -2
  536. package/dist/native/p-5d0dc7c8.entry.js +0 -2
  537. package/dist/native/p-5e467b49.entry.js +0 -2
  538. package/dist/native/p-5f160072.entry.js +0 -2
  539. package/dist/native/p-6bb2c88f.entry.js.map +0 -1
  540. package/dist/native/p-6ea62d17.entry.js +0 -2
  541. package/dist/native/p-6ea62d17.entry.js.map +0 -1
  542. package/dist/native/p-74407727.js.map +0 -1
  543. package/dist/native/p-7dfb4a60.entry.js.map +0 -1
  544. package/dist/native/p-826f1d28.entry.js.map +0 -1
  545. package/dist/native/p-87b93cc2.entry.js +0 -2
  546. package/dist/native/p-8ae9aaf1.entry.js +0 -2
  547. package/dist/native/p-8f0984b0.entry.js +0 -2
  548. package/dist/native/p-8f0984b0.entry.js.map +0 -1
  549. package/dist/native/p-9341cf9d.entry.js +0 -2
  550. package/dist/native/p-967f1aee.entry.js +0 -2
  551. package/dist/native/p-967f1aee.entry.js.map +0 -1
  552. package/dist/native/p-9b093b92.js +0 -3
  553. package/dist/native/p-a37c2ac2.js +0 -2
  554. package/dist/native/p-a37c2ac2.js.map +0 -1
  555. package/dist/native/p-e8d181e6.entry.js +0 -2
  556. package/dist/native/p-eade52d4.entry.js +0 -2
  557. package/dist/native/p-eade52d4.entry.js.map +0 -1
  558. package/dist/native/p-ed825c80.entry.js +0 -2
  559. package/dist/native/p-ed825c80.entry.js.map +0 -1
  560. package/dist/native/p-eda8cd9d.entry.js +0 -2
  561. package/dist/native/p-f79752ca.entry.js.map +0 -1
  562. package/dist/native/p-fc8cad13.entry.js +0 -2
  563. package/dist/types/components/nv-fieldtoggle/nv-fieldtoggle.docs.d.ts +0 -4
  564. /package/dist/native/{p-e8d181e6.entry.js.map → p-02bb8184.entry.js.map} +0 -0
  565. /package/dist/native/{p-4ffd5c51.entry.js.map → p-10ba289c.entry.js.map} +0 -0
  566. /package/dist/native/{p-52a7f936.entry.js.map → p-2aebf31b.entry.js.map} +0 -0
  567. /package/dist/native/{p-f7db0785.entry.js.map → p-4d0caf4a.entry.js.map} +0 -0
  568. /package/dist/native/{p-575ea40b.entry.js.map → p-61d2cb2e.entry.js.map} +0 -0
  569. /package/dist/native/{p-cd251f91.entry.js.map → p-6d68f133.entry.js.map} +0 -0
  570. /package/dist/native/{p-e5fbe545.entry.js.map → p-75b1ea9f.entry.js.map} +0 -0
  571. /package/dist/native/{p-fc8cad13.entry.js.map → p-892052c2.entry.js.map} +0 -0
  572. /package/dist/native/{p-788712dd.entry.js.map → p-96902bb3.entry.js.map} +0 -0
  573. /package/dist/native/{p-3283505f.entry.js.map → p-9fb5db20.entry.js.map} +0 -0
  574. /package/dist/native/{p-552e7ea4.entry.js.map → p-a998f8df.entry.js.map} +0 -0
  575. /package/dist/native/{p-5f160072.entry.js.map → p-aa2834e2.entry.js.map} +0 -0
  576. /package/dist/native/{p-225962f2.entry.js.map → p-ab5a8ce5.entry.js.map} +0 -0
  577. /package/dist/native/{p-2ac838b8.entry.js.map → p-beab7cbd.entry.js.map} +0 -0
  578. /package/dist/native/{p-2063c768.entry.js.map → p-d24586ed.entry.js.map} +0 -0
  579. /package/dist/native/{p-1e2bd4e3.entry.js.map → p-d4e56727.entry.js.map} +0 -0
  580. /package/dist/native/{p-5e467b49.entry.js.map → p-dc9dd5a7.entry.js.map} +0 -0
  581. /package/dist/native/{p-0f9262ed.entry.js.map → p-e5a7596b.entry.js.map} +0 -0
  582. /package/dist/native/{p-87b93cc2.entry.js.map → p-e6f45df2.entry.js.map} +0 -0
  583. /package/dist/native/{p-8ae9aaf1.entry.js.map → p-ed47a702.entry.js.map} +0 -0
  584. /package/dist/native/{p-38d3eee3.js.map → p-f3fbdea6.js.map} +0 -0
@@ -0,0 +1,994 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-5910ba06.js');
6
+ const string_utils = require('./string.utils-9c581350.js');
7
+ const constants = require('./constants-69b40456.js');
8
+ const v4 = require('./v4-7014b8b0.js');
9
+
10
+ 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-custom-padding);background-color:var(--components-list-custom-background);border:1px solid var(--components-list-custom-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;padding:calc(var(--form-field-padding-y) - 1px) var(--form-field-padding-x);justify-content:center;align-items:center;gap:var(--form-field-gap);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);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}nv-fieldtime .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fieldtime .input-container:focus-within{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);text-overflow:ellipsis;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 .toggle-time-icon{position:absolute;right:0;top:50%;transform:translateY(-50%);margin-left:auto}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-within,nv-fieldtime .input-container: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 .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}.input-container.focus-within,.input-container:hover{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}.time-dropdown{position:absolute;top:calc(100% + 4px);left:0;width:100%;border-radius:4px;box-shadow:0 2px 8px rgba(0, 0, 0, 0.1);z-index:1000}.time-dropdown .time-columns{display:flex;justify-content:flex-start;align-items:center}.time-dropdown .time-columns .time-column{flex:1;text-align:center;max-height:200px;overflow-y:auto;scroll-behavior:smooth}.time-dropdown .time-columns .time-column::-webkit-scrollbar{width:4px}.time-dropdown .time-columns .time-column::-webkit-scrollbar-thumb{border-radius:4px}.time-dropdown .time-columns .time-column:last-child{border-right:none}.time-dropdown .time-columns .time-column .time-option{padding:8px;text-align:center;cursor:pointer;transition:background-color 0.2s;height:40px;display:flex;justify-content:center;align-items:center}.time-dropdown .time-columns .time-column .time-option:hover{border-width:1px;border-style:solid;border-color:var(--color-rainbow-10-background)}.time-dropdown .time-columns .time-column .time-option:hover,.time-dropdown .time-columns .time-column .time-option:focus,.time-dropdown .time-columns .time-column .time-option:focus-within{background-color:var(--components-list-custom-item-background-hover);color:var(--components-menu-contextual-item-content-hover)}.time-dropdown .time-columns .time-column .time-option.selected{background:var(--color-rainbow-10-background);color:var(--color-rainbow-10-text)}.time-dropdown .time-columns .time-column .time-option.highlighted{background-color:var(--components-list-custom-item-background-hover);color:var(--components-menu-contextual-item-content-hover)}";
11
+ const NvFieldtimeStyle0 = nvFieldtimeCss;
12
+
13
+ const NvFieldtime = class {
14
+ constructor(hostRef) {
15
+ index.registerInstance(this, hostRef);
16
+ this.valueChanged = index.createEvent(this, "valueChanged", 7);
17
+ // Input elements for hours, minutes, and seconds
18
+ this.inputElements = {};
19
+ this.inputZeroAdded = {};
20
+ this.typeFocused = constants.TimeType.Hours;
21
+ /****************************************************************************/
22
+ //#region STATES
23
+ this.hours = '00';
24
+ this.minutes = '00';
25
+ this.seconds = '00';
26
+ /**
27
+ * Sets the ID for the input element and the for attribute of the associated
28
+ * label. If no ID is provided, a random one will be automatically generated
29
+ * to ensure unique identification, facilitating proper label association and
30
+ * accessibility.
31
+ */
32
+ this.inputId = v4.v4();
33
+ /**
34
+ * Display the input field's content without allowing users to change it.
35
+ * Users can still click on it, select, and copy the text, but they won't be
36
+ * able to type or delete anything.
37
+ */
38
+ this.readonly = false;
39
+ /**
40
+ * The disabled prop lets you turn off the input field so that users can't
41
+ * interact with it. When disabled, the field is grayed out and won't respond to
42
+ * clicks or touches.
43
+ */
44
+ this.disabled = false;
45
+ /**
46
+ * Marks the input field as required, ensuring that the user must fill it out
47
+ * before submitting the form.
48
+ */
49
+ this.required = false;
50
+ /**
51
+ * Changes the input field’s appearance to indicate successful input or
52
+ * validation.
53
+ */
54
+ this.success = false;
55
+ /**
56
+ * Alters the input field's appearance to indicate an error, helping users
57
+ * identify fields that need correction.
58
+ * @validator error
59
+ */
60
+ this.error = false;
61
+ /**
62
+ * Specifies the time format to be used.
63
+ * Available formats:
64
+ * - HH: 24-hour format (00-23)
65
+ * - HH:mm: 24-hour format with minutes (00:00-23:59)
66
+ * - HH:mm:ss: 24-hour format with minutes and seconds (00:00:00-23:59:59)
67
+ * - hh: 12-hour format (01-12)
68
+ * - hh:mm: 12-hour format with minutes (01:00-12:59)
69
+ * - hh:mm:ss: 12-hour format with minutes and seconds (01:00:00-12:59:59)
70
+ */
71
+ this.format = 'HH:mm:ss';
72
+ /**
73
+ * State of the time picker popover.
74
+ */
75
+ this.open = false;
76
+ /**
77
+ * The step interval in milliseconds for time increments/decrements.
78
+ * This affects how the time changes when using arrow keys or spinners.
79
+ */
80
+ this.step = 60000; // In secondes
81
+ }
82
+ //#endregion EVENTS
83
+ /****************************************************************************/
84
+ //#region LISTENERS
85
+ handleOpenChanged(event) {
86
+ this.open = event.detail; // Update `open` based on the popover state
87
+ }
88
+ handleKeyDown(event) {
89
+ var _a, _b, _c, _d;
90
+ if (!this.open) {
91
+ if (event.key === 'ArrowDown') {
92
+ this.open = true;
93
+ event.preventDefault();
94
+ return;
95
+ }
96
+ return;
97
+ }
98
+ // Verify if the popover element is defined
99
+ if (!this.popoverElement) {
100
+ console.warn('nv-fieldtime -> Popover element is not defined');
101
+ return;
102
+ }
103
+ const stringSelector = `.time-column.time-column-${this.typeFocused} div`;
104
+ const items = Array.from(this.el.querySelectorAll(stringSelector));
105
+ // Verify if there are items to navigate
106
+ if (items.length === 0) {
107
+ console.warn('nv-fieldtime -> No dropdown items found to navigate');
108
+ return;
109
+ }
110
+ let currentIndex = items.findIndex(item => item.classList.contains('highlighted'));
111
+ if (event.key === 'ArrowDown') {
112
+ event.preventDefault();
113
+ currentIndex = (currentIndex + 1) % items.length;
114
+ this.updateHighlightedItem(items, currentIndex);
115
+ }
116
+ else if (event.key === 'ArrowUp') {
117
+ event.preventDefault();
118
+ currentIndex = (currentIndex - 1 + items.length) % items.length;
119
+ this.updateHighlightedItem(items, currentIndex);
120
+ }
121
+ else if (event.key === 'Enter' && currentIndex >= 0) {
122
+ event.preventDefault();
123
+ items[currentIndex].click();
124
+ if (this.typeFocused === constants.TimeType.Hours) {
125
+ (_a = this.inputElements[constants.TimeType.Minutes]) === null || _a === void 0 ? void 0 : _a.focus();
126
+ (_b = this.inputElements[constants.TimeType.Minutes]) === null || _b === void 0 ? void 0 : _b.select();
127
+ }
128
+ else if (this.typeFocused === constants.TimeType.Minutes ||
129
+ this.typeFocused === constants.TimeType.Seconds) {
130
+ (_c = this.inputElements[constants.TimeType.Seconds]) === null || _c === void 0 ? void 0 : _c.focus();
131
+ (_d = this.inputElements[constants.TimeType.Seconds]) === null || _d === void 0 ? void 0 : _d.select();
132
+ }
133
+ }
134
+ else if (event.key === 'Escape') {
135
+ event.preventDefault();
136
+ if (this.inputElements[constants.TimeType.Hours]) {
137
+ this.inputElements[constants.TimeType.Hours].blur();
138
+ }
139
+ }
140
+ }
141
+ //#endregion LISTENERS
142
+ /****************************************************************************/
143
+ //#region WATCHERS
144
+ handleValueChange(newValue) {
145
+ this.valueChanged.emit(newValue);
146
+ }
147
+ //#endregion WATCHERS
148
+ /****************************************************************************/
149
+ //#region METHODS
150
+ handleInputChange(e, type) {
151
+ const inputElement = e.target;
152
+ const inputValue = inputElement.value.replace(/[^0-9]/g, ''); // Only keep numeric input
153
+ // Update the time value based on the type
154
+ switch (type) {
155
+ case constants.TimeType.Hours:
156
+ this.handleHoursChange(inputValue, type);
157
+ break;
158
+ case constants.TimeType.Minutes:
159
+ this.handleMinutesChange(inputValue, type);
160
+ break;
161
+ case constants.TimeType.Seconds:
162
+ this.handleSecondsChange(inputValue, type);
163
+ break;
164
+ }
165
+ // Reconstruct time from inputs
166
+ const currentValue = this.reconstructTime();
167
+ this.value = currentValue;
168
+ }
169
+ handleHoursChange(inputValue, type) {
170
+ var _a, _b, _c, _d;
171
+ const isHHFormat = this.format.startsWith('HH');
172
+ const maxHours = isHHFormat ? 24 : 12;
173
+ let reputedToZero = false;
174
+ const maxHour = this.parseHour(this.max, this.format) ||
175
+ (this.format.startsWith('hh') ? '12' : '24');
176
+ const minHour = this.parseHour(this.min, this.format) || '00';
177
+ if (inputValue.length === 1) {
178
+ this.inputZeroAdded[type] = true;
179
+ const newInputValue = inputValue.padStart(2, '0');
180
+ if (maxHour && parseInt(newInputValue, 10) > parseInt(maxHour, 10)) {
181
+ if (minHour && parseInt(newInputValue, 10) < parseInt(minHour, 10)) {
182
+ this.hours = minHour;
183
+ }
184
+ else {
185
+ this.hours = '00';
186
+ reputedToZero = true;
187
+ }
188
+ }
189
+ else {
190
+ if (minHour && parseInt(newInputValue, 10) < parseInt(minHour, 10)) {
191
+ this.hours = minHour;
192
+ }
193
+ else {
194
+ this.hours = newInputValue;
195
+ }
196
+ }
197
+ }
198
+ else if (this.inputZeroAdded[type]) {
199
+ this.inputZeroAdded[type] = false;
200
+ const newInputValue = inputValue.slice(1, 3).padStart(2, '0');
201
+ const parsedNewInputValue = parseInt(newInputValue, 10) || 0;
202
+ if (parsedNewInputValue >= maxHours) {
203
+ if (minHour && parseInt(newInputValue, 10) < parseInt(minHour, 10)) {
204
+ this.hours = minHour;
205
+ }
206
+ else {
207
+ this.hours = '00';
208
+ reputedToZero = true;
209
+ }
210
+ }
211
+ else {
212
+ if (maxHour && parseInt(newInputValue, 10) > parseInt(maxHour, 10)) {
213
+ if (minHour && parseInt(newInputValue, 10) < parseInt(minHour, 10)) {
214
+ this.hours = minHour;
215
+ }
216
+ else {
217
+ this.hours = '00';
218
+ reputedToZero = true;
219
+ }
220
+ }
221
+ else {
222
+ if (minHour && parseInt(newInputValue, 10) < parseInt(minHour, 10)) {
223
+ this.hours = minHour;
224
+ }
225
+ else {
226
+ this.hours = newInputValue;
227
+ }
228
+ }
229
+ }
230
+ }
231
+ else if (inputValue.length > 2) {
232
+ if (inputValue.startsWith('00')) {
233
+ this.inputZeroAdded[type] = true;
234
+ const newInputValue = inputValue.slice(1, 3).padStart(2, '0');
235
+ if (maxHour && parseInt(newInputValue, 10) > parseInt(maxHour, 10)) {
236
+ if (minHour && parseInt(newInputValue, 10) < parseInt(minHour, 10)) {
237
+ this.hours = minHour;
238
+ }
239
+ else {
240
+ this.hours = '00';
241
+ reputedToZero = true;
242
+ }
243
+ }
244
+ else {
245
+ if (minHour && parseInt(newInputValue, 10) < parseInt(minHour, 10)) {
246
+ this.hours = minHour;
247
+ }
248
+ else {
249
+ this.hours = newInputValue;
250
+ }
251
+ }
252
+ }
253
+ else {
254
+ const newInputValue = inputValue.slice(1, 3).padStart(2, '0');
255
+ const parsedNewInputValue = parseInt(newInputValue, 10) || 0;
256
+ if (parsedNewInputValue >= maxHours) {
257
+ if (minHour && parseInt(newInputValue, 10) < parseInt(minHour, 10)) {
258
+ this.hours = minHour;
259
+ reputedToZero = true;
260
+ }
261
+ else {
262
+ this.hours = '00';
263
+ reputedToZero = true;
264
+ }
265
+ }
266
+ else {
267
+ if (maxHour && parsedNewInputValue > parseInt(maxHour, 10)) {
268
+ if (minHour &&
269
+ parseInt(newInputValue, 10) < parseInt(minHour, 10)) {
270
+ this.hours = minHour;
271
+ }
272
+ else {
273
+ this.hours = '00';
274
+ reputedToZero = true;
275
+ }
276
+ }
277
+ else {
278
+ if (minHour && parsedNewInputValue < parseInt(minHour, 10)) {
279
+ this.hours = minHour;
280
+ }
281
+ else {
282
+ this.hours = parsedNewInputValue.toString();
283
+ }
284
+ }
285
+ }
286
+ }
287
+ }
288
+ else {
289
+ const newInputValue = inputValue.padStart(2, '0');
290
+ const parsedNewInputValue = parseInt(newInputValue, 10) || 0;
291
+ if (parsedNewInputValue >= maxHours) {
292
+ if (minHour && parseInt(newInputValue, 10) < parseInt(minHour, 10)) {
293
+ this.hours = minHour;
294
+ }
295
+ else {
296
+ this.hours = '00';
297
+ reputedToZero = true;
298
+ }
299
+ }
300
+ else {
301
+ if (maxHour && parsedNewInputValue > parseInt(maxHour, 10)) {
302
+ this.hours = '00';
303
+ reputedToZero = true;
304
+ }
305
+ else {
306
+ if (minHour && parsedNewInputValue < parseInt(minHour, 10)) {
307
+ this.hours = minHour;
308
+ }
309
+ else {
310
+ this.hours = parsedNewInputValue.toString();
311
+ }
312
+ }
313
+ }
314
+ }
315
+ if (this.hours.length === 2 &&
316
+ !this.inputZeroAdded[type] &&
317
+ !reputedToZero) {
318
+ (_a = this.inputElements[constants.TimeType.Minutes]) === null || _a === void 0 ? void 0 : _a.focus();
319
+ (_b = this.inputElements[constants.TimeType.Minutes]) === null || _b === void 0 ? void 0 : _b.select();
320
+ }
321
+ else if (reputedToZero) {
322
+ (_c = this.inputElements[constants.TimeType.Hours]) === null || _c === void 0 ? void 0 : _c.focus();
323
+ (_d = this.inputElements[constants.TimeType.Hours]) === null || _d === void 0 ? void 0 : _d.select();
324
+ }
325
+ }
326
+ handleMinutesChange(inputValue, type) {
327
+ var _a, _b, _c, _d, _e, _f;
328
+ const maxMinutes = 60;
329
+ let reputedToZero = false;
330
+ const minMinute = (_a = this.parseMinute(this.min)) !== null && _a !== void 0 ? _a : 0;
331
+ const maxMinute = (_b = this.parseMinute(this.max)) !== null && _b !== void 0 ? _b : 59;
332
+ if (inputValue.length === 1) {
333
+ this.inputZeroAdded[type] = true;
334
+ const newInputValue = inputValue.padStart(2, '0');
335
+ if (maxMinute && parseInt(newInputValue, 10) > maxMinute) {
336
+ if (minMinute && parseInt(newInputValue, 10) < minMinute) {
337
+ this.minutes = minMinute.toString().padStart(2, '0');
338
+ }
339
+ else {
340
+ this.minutes = '00';
341
+ reputedToZero = true;
342
+ }
343
+ }
344
+ else {
345
+ if (minMinute && parseInt(newInputValue, 10) < minMinute) {
346
+ this.minutes = minMinute.toString().padStart(2, '0');
347
+ }
348
+ else {
349
+ this.minutes = newInputValue;
350
+ }
351
+ }
352
+ }
353
+ else if (this.inputZeroAdded[type]) {
354
+ this.inputZeroAdded[type] = false;
355
+ const newInputValue = inputValue.slice(1, 3).padStart(2, '0');
356
+ const parsedNewInputValue = parseInt(newInputValue, 10) || 0;
357
+ if (parsedNewInputValue >= maxMinutes) {
358
+ if (minMinute && parseInt(newInputValue, 10) < minMinute) {
359
+ this.minutes = minMinute.toString().padStart(2, '0');
360
+ }
361
+ else {
362
+ this.minutes = '00';
363
+ reputedToZero = true;
364
+ }
365
+ }
366
+ else {
367
+ if (maxMinute && parsedNewInputValue > maxMinute) {
368
+ if (minMinute && parseInt(newInputValue, 10) < minMinute) {
369
+ this.minutes = minMinute.toString().padStart(2, '0');
370
+ }
371
+ else {
372
+ this.minutes = '00';
373
+ reputedToZero = true;
374
+ }
375
+ }
376
+ else {
377
+ if (minMinute && parsedNewInputValue < minMinute) {
378
+ this.minutes = minMinute.toString().padStart(2, '0');
379
+ }
380
+ else {
381
+ this.minutes = newInputValue;
382
+ }
383
+ }
384
+ }
385
+ }
386
+ else if (inputValue.length > 2) {
387
+ if (inputValue.startsWith('00')) {
388
+ this.inputZeroAdded[type] = true;
389
+ const newInputValue = inputValue.slice(1, 3).padStart(2, '0');
390
+ if (maxMinute && parseInt(newInputValue, 10) > maxMinute) {
391
+ if (minMinute && parseInt(newInputValue, 10) < minMinute) {
392
+ this.minutes = minMinute.toString().padStart(2, '0');
393
+ }
394
+ else {
395
+ this.minutes = '00';
396
+ reputedToZero = true;
397
+ }
398
+ }
399
+ else {
400
+ if (minMinute && parseInt(newInputValue, 10) < minMinute) {
401
+ this.minutes = minMinute.toString().padStart(2, '0');
402
+ }
403
+ else {
404
+ this.minutes = newInputValue;
405
+ }
406
+ }
407
+ }
408
+ else {
409
+ const newInputValue = inputValue.slice(1, 3).padStart(2, '0');
410
+ const parsedNewInputValue = parseInt(newInputValue, 10) || 0;
411
+ if (parsedNewInputValue >= maxMinutes) {
412
+ if (minMinute && parseInt(newInputValue, 10) < minMinute) {
413
+ this.minutes = minMinute.toString().padStart(2, '0');
414
+ }
415
+ else {
416
+ this.minutes = '00';
417
+ reputedToZero = true;
418
+ }
419
+ }
420
+ else {
421
+ if (maxMinute && parsedNewInputValue > maxMinute) {
422
+ if (minMinute && parseInt(newInputValue, 10) < minMinute) {
423
+ this.minutes = minMinute.toString().padStart(2, '0');
424
+ }
425
+ else {
426
+ this.minutes = '00';
427
+ reputedToZero = true;
428
+ }
429
+ }
430
+ else {
431
+ if (minMinute && parsedNewInputValue < minMinute) {
432
+ this.minutes = minMinute.toString().padStart(2, '0');
433
+ }
434
+ else {
435
+ this.minutes = parsedNewInputValue.toString();
436
+ }
437
+ }
438
+ }
439
+ }
440
+ }
441
+ else {
442
+ const newInputValue = inputValue.padStart(2, '0');
443
+ const parsedNewInputValue = parseInt(newInputValue, 10) || 0;
444
+ if (parsedNewInputValue >= maxMinutes) {
445
+ if (minMinute && parseInt(newInputValue, 10) < minMinute) {
446
+ this.minutes = minMinute.toString().padStart(2, '0');
447
+ }
448
+ else {
449
+ this.minutes = '00';
450
+ reputedToZero = true;
451
+ }
452
+ }
453
+ else {
454
+ if (maxMinute && parsedNewInputValue > maxMinute) {
455
+ if (minMinute && parseInt(newInputValue, 10) < minMinute) {
456
+ this.minutes = minMinute.toString().padStart(2, '0');
457
+ }
458
+ else {
459
+ this.minutes = '00';
460
+ reputedToZero = true;
461
+ }
462
+ }
463
+ else {
464
+ if (minMinute && parsedNewInputValue < minMinute) {
465
+ this.minutes = minMinute.toString().padStart(2, '0');
466
+ }
467
+ else {
468
+ this.minutes = parsedNewInputValue.toString();
469
+ }
470
+ }
471
+ }
472
+ }
473
+ if (this.minutes.length === 2 &&
474
+ !this.inputZeroAdded[type] &&
475
+ !reputedToZero) {
476
+ (_c = this.inputElements[constants.TimeType.Seconds]) === null || _c === void 0 ? void 0 : _c.focus();
477
+ (_d = this.inputElements[constants.TimeType.Seconds]) === null || _d === void 0 ? void 0 : _d.select();
478
+ }
479
+ else if (reputedToZero) {
480
+ (_e = this.inputElements[constants.TimeType.Minutes]) === null || _e === void 0 ? void 0 : _e.focus();
481
+ (_f = this.inputElements[constants.TimeType.Minutes]) === null || _f === void 0 ? void 0 : _f.select();
482
+ }
483
+ }
484
+ handleSecondsChange(inputValue, type) {
485
+ var _a, _b, _c, _d;
486
+ const maxSeconds = 60;
487
+ let reputedToZero = false;
488
+ const minSecond = (_a = this.parseSecond(this.min)) !== null && _a !== void 0 ? _a : 0;
489
+ const maxSecond = (_b = this.parseSecond(this.max)) !== null && _b !== void 0 ? _b : 59;
490
+ if (inputValue.length === 1) {
491
+ this.inputZeroAdded[type] = true;
492
+ const newInputValue = inputValue.padStart(2, '0');
493
+ if (maxSecond && parseInt(newInputValue, 10) > maxSecond) {
494
+ if (minSecond && parseInt(newInputValue, 10) < minSecond) {
495
+ this.seconds = minSecond.toString().padStart(2, '0');
496
+ }
497
+ else {
498
+ this.seconds = '00';
499
+ reputedToZero = true;
500
+ }
501
+ }
502
+ else {
503
+ if (minSecond && parseInt(newInputValue, 10) < minSecond) {
504
+ this.seconds = minSecond.toString().padStart(2, '0');
505
+ }
506
+ else {
507
+ this.seconds = newInputValue;
508
+ }
509
+ }
510
+ }
511
+ else if (this.inputZeroAdded[type]) {
512
+ this.inputZeroAdded[type] = false;
513
+ const newInputValue = inputValue.slice(1, 3).padStart(2, '0');
514
+ const parsedNewInputValue = parseInt(newInputValue, 10) || 0;
515
+ if (parsedNewInputValue >= maxSeconds) {
516
+ if (minSecond && parseInt(newInputValue, 10) < minSecond) {
517
+ this.seconds = minSecond.toString().padStart(2, '0');
518
+ }
519
+ else {
520
+ this.seconds = '00';
521
+ reputedToZero = true;
522
+ }
523
+ }
524
+ else {
525
+ if (maxSecond && parsedNewInputValue > maxSecond) {
526
+ if (minSecond && parseInt(newInputValue, 10) < minSecond) {
527
+ this.seconds = minSecond.toString().padStart(2, '0');
528
+ }
529
+ else {
530
+ this.seconds = '00';
531
+ reputedToZero = true;
532
+ }
533
+ }
534
+ else {
535
+ if (minSecond && parsedNewInputValue < minSecond) {
536
+ this.seconds = minSecond.toString().padStart(2, '0');
537
+ }
538
+ else {
539
+ this.seconds = newInputValue;
540
+ }
541
+ }
542
+ }
543
+ }
544
+ else if (inputValue.length > 2) {
545
+ const newInputValue = inputValue.slice(1, 3).padStart(2, '0');
546
+ const parsedNewInputValue = parseInt(newInputValue, 10) || 0;
547
+ if (parsedNewInputValue >= maxSeconds) {
548
+ if (minSecond && parseInt(newInputValue, 10) < minSecond) {
549
+ this.seconds = minSecond.toString().padStart(2, '0');
550
+ }
551
+ else {
552
+ this.seconds = '00';
553
+ reputedToZero = true;
554
+ }
555
+ }
556
+ else {
557
+ if (maxSecond && parsedNewInputValue > maxSecond) {
558
+ if (minSecond && parseInt(newInputValue, 10) < minSecond) {
559
+ this.seconds = minSecond.toString().padStart(2, '0');
560
+ }
561
+ else {
562
+ this.seconds = '00';
563
+ reputedToZero = true;
564
+ }
565
+ }
566
+ else {
567
+ if (minSecond && parsedNewInputValue < minSecond) {
568
+ this.seconds = minSecond.toString().padStart(2, '0');
569
+ }
570
+ else {
571
+ this.seconds = parsedNewInputValue.toString();
572
+ }
573
+ }
574
+ }
575
+ }
576
+ else {
577
+ const newInputValue = inputValue.padStart(2, '0');
578
+ const parsedNewInputValue = parseInt(newInputValue, 10) || 0;
579
+ if (parsedNewInputValue >= maxSeconds) {
580
+ if (minSecond && parseInt(newInputValue, 10) < minSecond) {
581
+ this.seconds = minSecond.toString().padStart(2, '0');
582
+ }
583
+ else {
584
+ this.seconds = '00';
585
+ reputedToZero = true;
586
+ }
587
+ }
588
+ else {
589
+ if (maxSecond && parsedNewInputValue > maxSecond) {
590
+ if (minSecond && parseInt(newInputValue, 10) < minSecond) {
591
+ this.seconds = minSecond.toString().padStart(2, '0');
592
+ }
593
+ else {
594
+ this.seconds = '00';
595
+ reputedToZero = true;
596
+ }
597
+ }
598
+ else {
599
+ if (minSecond && parsedNewInputValue < minSecond) {
600
+ this.seconds = minSecond.toString().padStart(2, '0');
601
+ }
602
+ else {
603
+ this.seconds = parsedNewInputValue.toString();
604
+ }
605
+ }
606
+ }
607
+ }
608
+ if (reputedToZero) {
609
+ (_c = this.inputElements[constants.TimeType.Seconds]) === null || _c === void 0 ? void 0 : _c.focus();
610
+ (_d = this.inputElements[constants.TimeType.Seconds]) === null || _d === void 0 ? void 0 : _d.select();
611
+ }
612
+ }
613
+ // Parse a continuous time string (e.g., "123456") into hours, minutes, and seconds
614
+ parseTime(timeString) {
615
+ if (!timeString) {
616
+ return;
617
+ }
618
+ const cleanedTime = timeString.replace(/[^0-9]/g, '').padStart(6, '0');
619
+ const hour = cleanedTime.slice(0, 2);
620
+ const minute = cleanedTime.slice(2, 4);
621
+ const second = cleanedTime.slice(4, 6);
622
+ const minHour = this.parseHour(this.min, this.format) || hour;
623
+ const minMinute = this.parseMinute(this.min) || minute;
624
+ const minSecond = this.parseSecond(this.min) || second;
625
+ this.hours = minHour.padStart(2, '0');
626
+ this.minutes = minMinute.toString().padStart(2, '0');
627
+ this.seconds = minSecond.toString().padStart(2, '0');
628
+ }
629
+ reconstructTime() {
630
+ if (this.format === 'HH' || this.format === 'hh') {
631
+ return this.hours;
632
+ }
633
+ else if (this.format === 'HH:mm' || this.format === 'hh:mm') {
634
+ return `${this.hours}:${this.minutes}`;
635
+ }
636
+ else if (this.format === 'HH:mm:ss' || this.format === 'hh:mm:ss') {
637
+ return `${this.hours}:${this.minutes}:${this.seconds}`;
638
+ }
639
+ else {
640
+ return `${this.hours}:${this.minutes}:${this.seconds}`;
641
+ }
642
+ }
643
+ handleFocus(type) {
644
+ var _a, _b, _c, _d;
645
+ if (this.readonly || this.disabled) {
646
+ return;
647
+ }
648
+ if (!this.open) {
649
+ this.open = true; // Force the popover to open
650
+ }
651
+ // Refocus on the input if it loses focus and is empty
652
+ if (((_a = this.inputElements[type]) === null || _a === void 0 ? void 0 : _a.value.length) === 0 ||
653
+ ((_b = this.inputElements[type]) === null || _b === void 0 ? void 0 : _b.value) === '00') {
654
+ (_c = this.inputElements[type]) === null || _c === void 0 ? void 0 : _c.focus();
655
+ (_d = this.inputElements[type]) === null || _d === void 0 ? void 0 : _d.select();
656
+ }
657
+ this.typeFocused = type;
658
+ }
659
+ HandleDropdownIconClick() {
660
+ var _a, _b, _c, _d, _e, _f;
661
+ if (this.disabled || this.readonly) {
662
+ return; // Do not toggle if disabled or read-only
663
+ }
664
+ if (this.open && this.inputElements[constants.TimeType.Hours]) {
665
+ this.open = false; // Close the popover if it is open
666
+ }
667
+ else if (this.open && this.inputElements[constants.TimeType.Minutes]) {
668
+ this.open = false; // Close the popover if it is open
669
+ }
670
+ else if (this.open && this.inputElements[constants.TimeType.Seconds]) {
671
+ this.open = false; // Close the popover if it is open
672
+ }
673
+ else if (!this.open && this.inputElements[constants.TimeType.Hours]) {
674
+ (_a = this.inputElements[constants.TimeType.Hours]) === null || _a === void 0 ? void 0 : _a.focus(); // Focus will open the popover
675
+ (_b = this.inputElements[constants.TimeType.Hours]) === null || _b === void 0 ? void 0 : _b.select();
676
+ }
677
+ else if (!this.open && this.inputElements[constants.TimeType.Minutes]) {
678
+ (_c = this.inputElements[constants.TimeType.Minutes]) === null || _c === void 0 ? void 0 : _c.focus(); // Focus will open the popover
679
+ (_d = this.inputElements[constants.TimeType.Minutes]) === null || _d === void 0 ? void 0 : _d.select();
680
+ }
681
+ else if (!this.open && this.inputElements[constants.TimeType.Seconds]) {
682
+ (_e = this.inputElements[constants.TimeType.Seconds]) === null || _e === void 0 ? void 0 : _e.focus(); // Focus will open the popover
683
+ (_f = this.inputElements[constants.TimeType.Seconds]) === null || _f === void 0 ? void 0 : _f.select();
684
+ }
685
+ else {
686
+ console.warn('nv-fieldtime -> No input elements found to focus or to blur');
687
+ }
688
+ }
689
+ updateHighlightedItem(items, index) {
690
+ items.forEach((item, i) => {
691
+ if (i === index) {
692
+ item.classList.add('highlighted');
693
+ item.setAttribute('tabindex', '0');
694
+ item.focus(); // Forcer le focus ici
695
+ item.scrollIntoView({ block: 'nearest' });
696
+ }
697
+ else {
698
+ item.classList.remove('highlighted');
699
+ item.setAttribute('tabindex', '-1');
700
+ }
701
+ });
702
+ }
703
+ handleTimeOptionClick(event, type) {
704
+ const option = parseInt(event.target.textContent || '0', 10);
705
+ if (type === constants.TimeType.Hours) {
706
+ this.hours = option.toString().padStart(2, '0');
707
+ }
708
+ else if (type === constants.TimeType.Minutes) {
709
+ this.minutes = option.toString().padStart(2, '0');
710
+ }
711
+ else if (type === constants.TimeType.Seconds) {
712
+ this.seconds = option.toString().padStart(2, '0');
713
+ }
714
+ const reconstructTime = this.reconstructTime();
715
+ this.value = reconstructTime;
716
+ }
717
+ handleInputBlur() {
718
+ // Use a delay to check if the focus is still within the popover
719
+ setTimeout(() => {
720
+ if (!this.el.contains(document.activeElement)) {
721
+ if (this.open) {
722
+ this.open = false; // Close the popover if the focus is outside the component
723
+ }
724
+ }
725
+ }, 150);
726
+ }
727
+ handleClickOutside(event) {
728
+ const target = event.target;
729
+ // Check if the click is inside the component or any of the input elements
730
+ if (this.el.contains(target) ||
731
+ Object.values(this.inputElements).some(input => input.contains(target))) {
732
+ return;
733
+ }
734
+ if (this.open) {
735
+ this.open = false; // Close the popover if the click is outside
736
+ }
737
+ }
738
+ handleScroll(e, type) {
739
+ const target = e.target;
740
+ const scrollTop = target.scrollTop;
741
+ const containerHeight = target.clientHeight;
742
+ const scrollHeight = target.scrollHeight;
743
+ // Define the height of each item, this could be dynamic if the height varies
744
+ const itemHeight = 40; // Consider making this configurable or dynamic
745
+ const options = this.generateTimeOptions(type); // Generates the list of time options
746
+ const singleSetHeight = options.length * itemHeight;
747
+ // Check if the scroll is near the bottom or top and reset to the first set
748
+ if (scrollTop + containerHeight >= scrollHeight - itemHeight ||
749
+ scrollTop <= 0) {
750
+ target.scrollTop = singleSetHeight; // Reset to the first set from the bottom
751
+ }
752
+ }
753
+ generateTimeOptions(type) {
754
+ // Convert the step in seconds
755
+ const stepInSeconds = this.step / 1000;
756
+ // Handle edge case for zero step
757
+ if (stepInSeconds === 0) {
758
+ return ['00']; // Just return the default value
759
+ }
760
+ // Generate the time options based on the type
761
+ switch (type) {
762
+ case constants.TimeType.Hours:
763
+ return this.generateHourOptions(stepInSeconds);
764
+ case constants.TimeType.Minutes:
765
+ return this.generateMinuteOptions(stepInSeconds);
766
+ case constants.TimeType.Seconds:
767
+ return this.generateSecondOptions(stepInSeconds);
768
+ default:
769
+ return [];
770
+ }
771
+ }
772
+ generateHourOptions(stepInSeconds) {
773
+ const hourStep = Math.max(1, Math.floor(stepInSeconds / 3600)); // Prevent step < 1
774
+ const maxHour = this.parseHour(this.max, this.format) ||
775
+ (this.format.startsWith('hh') ? '12' : '24');
776
+ const minHour = this.parseHour(this.min, this.format) || '00';
777
+ const maxHourValue = parseInt(maxHour, 10);
778
+ const minHourValue = parseInt(minHour, 10);
779
+ const values = [];
780
+ for (let i = minHourValue; i < maxHourValue; i += hourStep) {
781
+ values.push(i.toString().padStart(2, '0'));
782
+ }
783
+ return values;
784
+ }
785
+ parseHour(value, format) {
786
+ if (!value)
787
+ return null;
788
+ const [hourStr] = value.split(':');
789
+ const hour = parseInt(hourStr, 10);
790
+ if (isNaN(hour))
791
+ return null;
792
+ if (format.startsWith('hh'))
793
+ return hour > 0 && hour <= 12 ? hourStr.padStart(2, '0') : null;
794
+ return hour >= 0 && hour <= 24 ? hourStr.padStart(2, '0') : null;
795
+ }
796
+ generateMinuteOptions(stepInSeconds) {
797
+ var _a, _b;
798
+ const minuteStep = Math.max(1, Math.floor((stepInSeconds % 3600) / 60)); // Ensure step >= 1
799
+ const minMinute = (_a = this.parseMinute(this.min)) !== null && _a !== void 0 ? _a : 0;
800
+ const maxMinute = (_b = this.parseMinute(this.max)) !== null && _b !== void 0 ? _b : 59;
801
+ if (minMinute === 0 && maxMinute === 0)
802
+ return ['00']; // Handle edge case for zero seconds
803
+ const values = [];
804
+ for (let i = minMinute; i <= maxMinute; i += minuteStep) {
805
+ values.push(i.toString().padStart(2, '0'));
806
+ }
807
+ return values;
808
+ }
809
+ parseMinute(value) {
810
+ if (!value)
811
+ return null;
812
+ const parts = value.split(':');
813
+ if (parts.length < 2)
814
+ return null; // Expect at least "hh:mm"
815
+ const minute = parseInt(parts[1], 10);
816
+ return isNaN(minute) || minute < 0 || minute >= 60 ? null : minute;
817
+ }
818
+ generateSecondOptions(stepInSeconds) {
819
+ var _a, _b;
820
+ const secondStep = Math.max(1, stepInSeconds % 60); // Ensure step >= 1
821
+ const minSecond = (_a = this.parseSecond(this.min)) !== null && _a !== void 0 ? _a : 0;
822
+ const maxSecond = (_b = this.parseSecond(this.max)) !== null && _b !== void 0 ? _b : 59;
823
+ if (minSecond === 0 && maxSecond === 0)
824
+ return ['00']; // Handle edge case for zero seconds
825
+ const values = [];
826
+ for (let i = minSecond; i <= maxSecond; i += secondStep) {
827
+ values.push(i.toString().padStart(2, '0'));
828
+ }
829
+ return values;
830
+ }
831
+ parseSecond(value) {
832
+ if (!value)
833
+ return null;
834
+ const parts = value.split(':');
835
+ if (parts.length < 3)
836
+ return null; // Expect "hh:mm:ss" or "HH:mm:ss"
837
+ const second = parseInt(parts[2], 10);
838
+ return isNaN(second) || second < 0 || second >= 60 ? null : second;
839
+ }
840
+ generateInfiniteTimeOptions(type) {
841
+ const options = this.generateTimeOptions(type);
842
+ const totalOptions = options.length;
843
+ // Dynamically calculate repetitions based on a target number of items (e.g., 300 items)
844
+ const repetitions = Math.ceil(300 / totalOptions);
845
+ return Array(repetitions).fill(options).flat();
846
+ }
847
+ getCurrentTime() {
848
+ const currentTime = new Date();
849
+ return currentTime.toLocaleTimeString(); // Returns the time in the locale's format
850
+ }
851
+ updateColumnHighlight(selector, value) {
852
+ const items = Array.from(this.el.querySelectorAll(selector));
853
+ const index = items.findIndex(x => x.textContent === value);
854
+ this.updateHighlightedItem(items, index);
855
+ }
856
+ handleHostClick(event) {
857
+ var _a, _b;
858
+ if (this.disabled || this.readonly) {
859
+ return;
860
+ }
861
+ const targetElement = event.target;
862
+ // Check if the click target or its ancestors are inside an nv-iconbutton element
863
+ if (targetElement.closest('nv-iconbutton')) {
864
+ return; // Handle icon button click separately
865
+ }
866
+ if (!this.open) {
867
+ if (this.inputElements) {
868
+ (_a = this.inputElements[constants.TimeType.Hours]) === null || _a === void 0 ? void 0 : _a.focus();
869
+ (_b = this.inputElements[constants.TimeType.Hours]) === null || _b === void 0 ? void 0 : _b.select();
870
+ }
871
+ event.preventDefault();
872
+ }
873
+ }
874
+ //#endregion METHODS
875
+ /****************************************************************************/
876
+ //#region LIFECYCLE
877
+ componentWillLoad() {
878
+ document.addEventListener('click', this.handleClickOutside.bind(this));
879
+ // If an initial value is passed, parse it
880
+ if (this.value) {
881
+ this.parseTime(this.value);
882
+ }
883
+ else {
884
+ const minHour = this.parseHour(this.min, this.format) || '00';
885
+ const minMinute = this.parseMinute(this.min) || 0;
886
+ const minSecond = this.parseSecond(this.min) || 0;
887
+ this.hours = minHour.padStart(2, '0');
888
+ this.minutes = minMinute.toString().padStart(2, '0');
889
+ this.seconds = minSecond.toString().padStart(2, '0');
890
+ }
891
+ }
892
+ connectedCallback() {
893
+ document.addEventListener('click', this.handleClickOutside.bind(this));
894
+ }
895
+ disconnectedCallback() {
896
+ document.removeEventListener('click', this.handleClickOutside.bind(this));
897
+ }
898
+ componentDidLoad() {
899
+ if (!this.value) {
900
+ const currentTime = this.getCurrentTime();
901
+ // Split time into components
902
+ // eslint-disable-next-line prefer-const
903
+ let [hour, minute, secondAmPm] = currentTime.split(':');
904
+ let second, amPm;
905
+ // Check if AM/PM is present and split accordingly
906
+ if (secondAmPm.includes(' ')) {
907
+ [second, amPm] = secondAmPm.split(' ');
908
+ }
909
+ else {
910
+ second = secondAmPm;
911
+ }
912
+ // Parse hour as integer for calculations
913
+ let parsedHour = parseInt(hour, 10);
914
+ // Convert hour to 24-hour format based on AM/PM (if present)
915
+ if (amPm) {
916
+ if (amPm === 'PM' && parsedHour < 12) {
917
+ parsedHour += 12; // Convert PM to 24-hour
918
+ }
919
+ else if (amPm === 'AM' && parsedHour === 12) {
920
+ parsedHour = 0; // Midnight in 24-hour format
921
+ }
922
+ }
923
+ // Adjust for 12-hour format if necessary
924
+ if (this.format.startsWith('hh')) {
925
+ if (parsedHour === 0) {
926
+ hour = '12'; // Midnight in 12-hour format
927
+ }
928
+ else if (parsedHour > 12) {
929
+ hour = (parsedHour - 12).toString(); // Convert 24-hour to 12-hour
930
+ }
931
+ else {
932
+ hour = parsedHour.toString();
933
+ }
934
+ }
935
+ else {
936
+ hour = parsedHour.toString(); // Use 24-hour format directly
937
+ }
938
+ // Pad hour, minute, and second to ensure two digits
939
+ hour = hour.padStart(2, '0');
940
+ minute = minute.padStart(2, '0');
941
+ second = second.padStart(2, '0');
942
+ // Update highlighted items for hours
943
+ const hourSelector = `.time-column.time-column-hours div`;
944
+ this.updateColumnHighlight(hourSelector, hour);
945
+ // Update highlighted items for minutes
946
+ const minuteSelector = `.time-column.time-column-minutes div`;
947
+ this.updateColumnHighlight(minuteSelector, minute);
948
+ // Update highlighted items for seconds
949
+ const secondSelector = `.time-column.time-column-seconds div`;
950
+ this.updateColumnHighlight(secondSelector, second);
951
+ }
952
+ }
953
+ //#endregion LIFECYCLE
954
+ /****************************************************************************/
955
+ //#region RENDER
956
+ RenderTimeOptionsColumn(type) {
957
+ 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: {
958
+ 'time-option': true,
959
+ 'selected': option === this.hours,
960
+ }, key: `${option}-${index$1}`, onClick: e => this.handleTimeOptionClick(e, type) }, option)))));
961
+ }
962
+ render() {
963
+ return (index.h(index.Host, { key: '4eefb9bb8c2bfd63cc229cb9d3f5e51dbe2f5351', onclick: e => this.handleHostClick(e) }, (this.label || this.el.querySelector('[slot="label"]')) && (index.h("label", { key: '8b191f1bca869f85b6186a3cfa66d8f9d886dc07', htmlFor: this.inputId }, index.h("slot", { key: '84438c62746d81ccf65d76a40ac62e8d445adcf0', name: "label" }, this.label))), index.h("nv-popover", { key: '1cc212b0ae814a50a288c195d1b7aa7b378f452a', ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, index.h("div", { key: '1584b3842cbd13989cdd5492baa0588a8aa0015e', class: "input-wrapper", slot: "trigger" }, index.h("slot", { key: '3f747181762dee542935fa5ee614a315e1aa8413', name: "before-input" }), index.h("div", { key: '93f2329aa6a09bad318d2a461e87d69fcff8df30', class: "input-container" }, index.h("slot", { key: '13d2b3f6e3868065cf982690f35996f2f652403b', name: "leading-input" }), string_utils.startsWithIgnoreCase(this.format, 'HH') && [
964
+ index.h("input", { key: 'a15dd9dab27ed4918b81680718601d57bac56f2c', ref: el => (this.inputElements[constants.TimeType.Hours] = el), type: "number", class: "time-input", pattern: "[0-9]*", maxlength: "3", value: this.hours, onInput: e => this.handleInputChange(e, constants.TimeType.Hours), placeholder: this.format.includes('hh') ? 'hh' : 'HH', inputMode: "numeric", onFocus: () => this.handleFocus(constants.TimeType.Hours), name: this.name
965
+ ? `${constants.TimeType.Hours}-${this.name}`
966
+ : constants.TimeType.Hours, id: this.inputId, readonly: this.readonly, disabled: this.disabled, required: this.required, onKeyDown: e => this.handleKeyDown(e), onBlur: () => this.handleInputBlur() }),
967
+ ], this.format.includes('mm') && [
968
+ index.h("span", { key: '0cae25476bdb8a8d70c2d0bb94bffa20e23879a7' }, ":"),
969
+ index.h("input", { key: 'bc6b4ff8a8eda66d51726d34d6aedc43e304c670', ref: el => (this.inputElements[constants.TimeType.Minutes] = el), type: "number", class: "time-input", pattern: "[0-9]*", maxlength: "3", value: this.minutes, onInput: e => this.handleInputChange(e, constants.TimeType.Minutes), placeholder: "mm", inputMode: "numeric", onFocus: () => this.handleFocus(constants.TimeType.Minutes), name: this.name
970
+ ? `${constants.TimeType.Minutes}-${this.name}`
971
+ : constants.TimeType.Minutes, id: `${this.inputId}-minutes`, readonly: this.readonly, disabled: this.disabled, required: this.required, onKeyDown: e => this.handleKeyDown(e), onBlur: () => this.handleInputBlur() }),
972
+ ], this.format.includes('ss') && [
973
+ index.h("span", { key: 'b4faefcaa20ffc346757e6a7454fa6474a5aeb97' }, ":"),
974
+ index.h("input", { key: 'd94a79e3120bad51df44cb3528ac36bb0a39783d', ref: el => (this.inputElements[constants.TimeType.Seconds] = el), type: "number", class: "time-input", pattern: "[0-9]*", maxlength: "3", value: this.seconds, onInput: e => this.handleInputChange(e, constants.TimeType.Seconds), placeholder: "ss", inputMode: "numeric", onFocus: () => this.handleFocus(constants.TimeType.Seconds), name: this.name
975
+ ? `${constants.TimeType.Seconds}-${this.name}`
976
+ : constants.TimeType.Seconds, id: `${this.inputId}-seconds`, readonly: this.readonly, disabled: this.disabled, required: this.required, onKeyDown: e => this.handleKeyDown(e), onBlur: () => this.handleInputBlur() }),
977
+ ], index.h("nv-iconbutton", { key: '791265d0c8ce93514a5d1972784f824723dc66b8', class: "toggle-time-icon", 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: '9c19922e738549938040f36b015bb7c85b09453c', name: "alert-circle", class: "validation", size: "sm" })), this.success && (index.h("nv-icon", { key: '4669516002acd3d1936d3beec1e91950fbdca647', name: "circle-check", class: "validation", size: "sm" }))), index.h("slot", { key: '263ec0dc7d5cbe1f6360522975d74a41a2ad73a8', name: "after-input" })), index.h("div", { key: '7ced75636f91d7079f11ecabe31f4cc9150c6771', class: "time-dropdown", slot: "content" }, index.h("div", { key: '719a8d6720ca4d17a90d614a955d5449f4334e89', class: "time-columns" }, string_utils.startsWithIgnoreCase(this.format, 'HH') &&
978
+ this.RenderTimeOptionsColumn(constants.TimeType.Hours), this.format.includes('mm') &&
979
+ this.RenderTimeOptionsColumn(constants.TimeType.Minutes), this.format.includes('ss') &&
980
+ this.RenderTimeOptionsColumn(constants.TimeType.Seconds)))), (this.description ||
981
+ this.el.querySelector('[slot="description"]')) && (index.h("div", { key: 'f1845d065526c7b73cd95fb66278dcff001c477b', class: "description" }, index.h("slot", { key: 'b4d4c050815f36cdbae73eb0ccd99a12040d5cd9', name: "description" }, this.description))), (this.errorDescription ||
982
+ this.el.querySelector('[slot="error-description"]')) && (index.h("div", { key: '4b5a39a8d8b6370ffe13dd0db969348e283701ae', hidden: !this.error, class: "error-description" }, index.h("slot", { key: 'f07ca5b51fe39ff8d7c64b674515aa0c57c04a6e', name: "error-description" }, this.errorDescription)))));
983
+ }
984
+ static get formAssociated() { return true; }
985
+ get el() { return index.getElement(this); }
986
+ static get watchers() { return {
987
+ "value": ["handleValueChange"]
988
+ }; }
989
+ };
990
+ NvFieldtime.style = NvFieldtimeStyle0;
991
+
992
+ exports.nv_fieldtime = NvFieldtime;
993
+
994
+ //# sourceMappingURL=nv-fieldtime.cjs.entry.js.map