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