@nova-design-system/nova-webcomponents 3.27.0 → 3.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (401) hide show
  1. package/dist/cjs/index-Cfkoz1kc.js +12 -0
  2. package/dist/cjs/index.cjs.js +6 -0
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/native.cjs.js +1 -1
  5. package/dist/cjs/nova-datetime-DOtVgYBB.js +10643 -0
  6. package/dist/cjs/nv-badge_2.cjs.entry.js +1 -1
  7. package/dist/cjs/nv-datetest.cjs.entry.js +66 -0
  8. package/dist/cjs/nv-datetimetest.cjs.entry.js +54 -0
  9. package/dist/cjs/nv-dialog.cjs.entry.js +1 -1
  10. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +2 -2
  11. package/dist/cjs/nv-drawer.cjs.entry.js +1 -1
  12. package/dist/cjs/nv-drawerfooter_2.cjs.entry.js +2 -2
  13. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +4 -4
  14. package/dist/cjs/nv-fielddate.cjs.entry.js +6 -6
  15. package/dist/cjs/nv-fielddaterange.cjs.entry.js +6 -6
  16. package/dist/cjs/nv-fielddropdown.cjs.entry.js +4 -4
  17. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
  18. package/dist/cjs/nv-fieldnumber.cjs.entry.js +4 -4
  19. package/dist/cjs/nv-fieldpassword.cjs.entry.js +4 -4
  20. package/dist/cjs/nv-fieldradio.cjs.entry.js +3 -3
  21. package/dist/cjs/nv-fieldselect.cjs.entry.js +5 -5
  22. package/dist/cjs/nv-fieldslider.cjs.entry.js +3 -3
  23. package/dist/cjs/nv-fieldtext.cjs.entry.js +4 -4
  24. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +3 -3
  25. package/dist/cjs/nv-fieldtime.cjs.entry.js +3 -3
  26. package/dist/cjs/nv-icon.cjs.entry.js +2 -2
  27. package/dist/cjs/nv-iconbutton_2.cjs.entry.js +2 -2
  28. package/dist/cjs/nv-menu.cjs.entry.js +1 -1
  29. package/dist/cjs/nv-menuitem.cjs.entry.js +1 -1
  30. package/dist/cjs/nv-notification.cjs.entry.js +1 -1
  31. package/dist/cjs/nv-notificationcontainer.cjs.entry.js +1 -13
  32. package/dist/cjs/nv-pagination-nav.cjs.entry.js +1 -1
  33. package/dist/cjs/nv-paginationtable.cjs.entry.js +1 -1
  34. package/dist/cjs/nv-popover.cjs.entry.js +1 -1
  35. package/dist/cjs/nv-row.cjs.entry.js +1 -1
  36. package/dist/cjs/nv-sidebar.cjs.entry.js +1 -1
  37. package/dist/cjs/nv-sidebarcontent.cjs.entry.js +1 -1
  38. package/dist/cjs/nv-sidebardivider.cjs.entry.js +1 -1
  39. package/dist/cjs/nv-sidebarfooter.cjs.entry.js +1 -1
  40. package/dist/cjs/nv-sidebargroup.cjs.entry.js +1 -1
  41. package/dist/cjs/nv-sidebarheader.cjs.entry.js +1 -1
  42. package/dist/cjs/nv-sidebarlogo.cjs.entry.js +1 -1
  43. package/dist/cjs/nv-sidebarnavitem.cjs.entry.js +2 -2
  44. package/dist/cjs/nv-sidebarnavsubitem.cjs.entry.js +1 -1
  45. package/dist/cjs/nv-split.cjs.entry.js +1 -1
  46. package/dist/cjs/nv-stack.cjs.entry.js +1 -1
  47. package/dist/cjs/nv-table.cjs.entry.js +1 -1
  48. package/dist/cjs/nv-tableheader.cjs.entry.js +1 -1
  49. package/dist/cjs/nv-timetest.cjs.entry.js +72 -0
  50. package/dist/cjs/nv-toggle.cjs.entry.js +2 -2
  51. package/dist/cjs/nv-togglebutton.cjs.entry.js +1 -1
  52. package/dist/cjs/nv-togglebuttongroup.cjs.entry.js +1 -1
  53. package/dist/cjs/nv-tooltip.cjs.entry.js +8 -3
  54. package/dist/collection/collection-manifest.json +3 -0
  55. package/dist/collection/components/nv-accordion/nv-accordion.docs.js +1 -0
  56. package/dist/collection/components/nv-accordion-item/nv-accordion-item.docs.js +69 -1
  57. package/dist/collection/components/nv-alert/nv-alert.docs.js +1 -0
  58. package/dist/collection/components/nv-avatar/nv-avatar.docs.js +1 -0
  59. package/dist/collection/components/nv-badge/nv-badge.docs.js +1 -0
  60. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.docs.js +36 -1
  61. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js +1 -0
  62. package/dist/collection/components/nv-button/nv-button.docs.js +1 -0
  63. package/dist/collection/components/nv-buttongroup/nv-buttongroup.docs.js +1 -0
  64. package/dist/collection/components/nv-calendar/nv-calendar.docs.js +1 -0
  65. package/dist/collection/components/nv-col/nv-col.docs.js +1 -0
  66. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +1 -0
  67. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.docs.js +25 -1
  68. package/dist/collection/components/nv-datetest/nv-datetest.css +15 -0
  69. package/dist/collection/components/nv-datetest/nv-datetest.docs.js +12 -0
  70. package/dist/collection/components/nv-datetest/nv-datetest.js +242 -0
  71. package/dist/collection/components/nv-datetimetest/nv-datetimetest.css +15 -0
  72. package/dist/collection/components/nv-datetimetest/nv-datetimetest.docs.js +5 -0
  73. package/dist/collection/components/nv-datetimetest/nv-datetimetest.js +197 -0
  74. package/dist/collection/components/nv-dialog/nv-dialog.docs.js +1 -0
  75. package/dist/collection/components/nv-dialog/nv-dialog.js +1 -1
  76. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.docs.js +9 -1
  77. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js +1 -1
  78. package/dist/collection/components/nv-dialogheader/nv-dialogheader.docs.js +9 -1
  79. package/dist/collection/components/nv-dialogheader/nv-dialogheader.js +1 -1
  80. package/dist/collection/components/nv-drawer/nv-drawer.docs.js +1 -0
  81. package/dist/collection/components/nv-drawer/nv-drawer.js +1 -1
  82. package/dist/collection/components/nv-drawerfooter/nv-drawerfooter.docs.js +9 -1
  83. package/dist/collection/components/nv-drawerfooter/nv-drawerfooter.js +1 -1
  84. package/dist/collection/components/nv-drawerheader/nv-drawerheader.docs.js +9 -1
  85. package/dist/collection/components/nv-drawerheader/nv-drawerheader.js +1 -1
  86. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.docs.js +1 -0
  87. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +4 -4
  88. package/dist/collection/components/nv-fielddate/nv-fielddate.docs.js +1 -0
  89. package/dist/collection/components/nv-fielddate/nv-fielddate.js +6 -6
  90. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.docs.js +1 -0
  91. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +6 -6
  92. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +1 -0
  93. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +4 -4
  94. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.docs.js +54 -1
  95. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +1 -1
  96. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.docs.js +42 -1
  97. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +1 -1
  98. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +1 -0
  99. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js +1 -0
  100. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +4 -4
  101. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js +1 -0
  102. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +4 -4
  103. package/dist/collection/components/nv-fieldradio/nv-fieldradio.docs.js +1 -0
  104. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
  105. package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js +1 -0
  106. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +5 -5
  107. package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js +1 -0
  108. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +3 -3
  109. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +1 -0
  110. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +4 -4
  111. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js +1 -0
  112. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -3
  113. package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js +1 -0
  114. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +3 -3
  115. package/dist/collection/components/nv-icon/nv-icon.docs.js +1 -0
  116. package/dist/collection/components/nv-icon/nv-icon.js +1 -1
  117. package/dist/collection/components/nv-icon/nv-icons.js +4 -0
  118. package/dist/collection/components/nv-iconbutton/nv-iconbutton.docs.js +1 -0
  119. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
  120. package/dist/collection/components/nv-loader/nv-loader.docs.js +1 -0
  121. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  122. package/dist/collection/components/nv-menu/nv-menu.docs.js +1 -0
  123. package/dist/collection/components/nv-menu/nv-menu.js +1 -1
  124. package/dist/collection/components/nv-menuitem/nv-menuitem.docs.js +20 -1
  125. package/dist/collection/components/nv-menuitem/nv-menuitem.js +2 -2
  126. package/dist/collection/components/nv-notification/nv-notification.docs.js +1 -0
  127. package/dist/collection/components/nv-notification/nv-notification.js +1 -1
  128. package/dist/collection/components/nv-notification-bullet/nv-notification-bullet.docs.js +1 -0
  129. package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.docs.js +24 -1
  130. package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.js +1 -15
  131. package/dist/collection/components/nv-pagination-nav/nv-pagination-nav.js +1 -1
  132. package/dist/collection/components/nv-paginationtable/nv-paginationtable.docs.js +1 -0
  133. package/dist/collection/components/nv-paginationtable/nv-paginationtable.js +1 -1
  134. package/dist/collection/components/nv-popover/nv-popover.docs.js +1 -0
  135. package/dist/collection/components/nv-popover/nv-popover.js +1 -1
  136. package/dist/collection/components/nv-row/nv-row.docs.js +1 -0
  137. package/dist/collection/components/nv-row/nv-row.js +1 -1
  138. package/dist/collection/components/nv-sidebar/nv-sidebar.docs.js +1 -0
  139. package/dist/collection/components/nv-sidebar/nv-sidebar.js +1 -1
  140. package/dist/collection/components/nv-sidebarcontent/nv-sidebarcontent.docs.js +14 -1
  141. package/dist/collection/components/nv-sidebarcontent/nv-sidebarcontent.js +1 -1
  142. package/dist/collection/components/nv-sidebardivider/nv-sidebardivider.docs.js +15 -1
  143. package/dist/collection/components/nv-sidebardivider/nv-sidebardivider.js +1 -1
  144. package/dist/collection/components/nv-sidebarfooter/nv-sidebarfooter.docs.js +9 -1
  145. package/dist/collection/components/nv-sidebarfooter/nv-sidebarfooter.js +1 -1
  146. package/dist/collection/components/nv-sidebargroup/nv-sidebargroup.docs.js +15 -1
  147. package/dist/collection/components/nv-sidebargroup/nv-sidebargroup.js +1 -1
  148. package/dist/collection/components/nv-sidebarheader/nv-sidebarheader.docs.js +9 -1
  149. package/dist/collection/components/nv-sidebarheader/nv-sidebarheader.js +1 -1
  150. package/dist/collection/components/nv-sidebarlogo/nv-sidebarlogo.docs.js +10 -1
  151. package/dist/collection/components/nv-sidebarlogo/nv-sidebarlogo.js +1 -1
  152. package/dist/collection/components/nv-sidebarnavitem/nv-sidebarnavitem.docs.js +16 -1
  153. package/dist/collection/components/nv-sidebarnavitem/nv-sidebarnavitem.js +3 -3
  154. package/dist/collection/components/nv-sidebarnavsubitem/nv-sidebarnavsubitem.docs.js +15 -1
  155. package/dist/collection/components/nv-sidebarnavsubitem/nv-sidebarnavsubitem.js +1 -1
  156. package/dist/collection/components/nv-split/nv-split.docs.js +1 -0
  157. package/dist/collection/components/nv-split/nv-split.js +1 -1
  158. package/dist/collection/components/nv-stack/nv-stack.docs.js +1 -0
  159. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  160. package/dist/collection/components/nv-table/nv-table.docs.js +1 -0
  161. package/dist/collection/components/nv-table/nv-table.js +1 -1
  162. package/dist/collection/components/nv-tableheader/nv-tableheader.docs.js +1 -0
  163. package/dist/collection/components/nv-tableheader/nv-tableheader.js +1 -1
  164. package/dist/collection/components/nv-timetest/nv-timetest.css +15 -0
  165. package/dist/collection/components/nv-timetest/nv-timetest.docs.js +5 -0
  166. package/dist/collection/components/nv-timetest/nv-timetest.js +248 -0
  167. package/dist/collection/components/nv-toggle/nv-toggle.docs.js +1 -0
  168. package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
  169. package/dist/collection/components/nv-togglebutton/nv-togglebutton.docs.js +48 -1
  170. package/dist/collection/components/nv-togglebutton/nv-togglebutton.js +1 -1
  171. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.js +1 -0
  172. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js +1 -1
  173. package/dist/collection/components/nv-tooltip/nv-tooltip.docs.js +1 -0
  174. package/dist/collection/components/nv-tooltip/nv-tooltip.js +8 -3
  175. package/dist/collection/index.js +3 -0
  176. package/dist/collection/interfaces/dates.js +1 -0
  177. package/dist/collection/utils/nova-datetime.js +144 -0
  178. package/dist/collection/utils/test/nova-datetime.test.js +230 -0
  179. package/dist/components/index.js +1 -1
  180. package/dist/components/nv-accordion-item.js +1 -1
  181. package/dist/components/nv-accordion.js +1 -1
  182. package/dist/components/nv-alert.js +1 -1
  183. package/dist/components/nv-avatar.js +1 -1
  184. package/dist/components/nv-badge.js +1 -1
  185. package/dist/components/nv-breadcrumb.js +1 -1
  186. package/dist/components/nv-button.js +1 -1
  187. package/dist/components/nv-datagrid.js +1 -1
  188. package/dist/components/nv-datetest.d.ts +11 -0
  189. package/dist/components/nv-datetest.js +1 -0
  190. package/dist/components/nv-datetimetest.d.ts +11 -0
  191. package/dist/components/nv-datetimetest.js +1 -0
  192. package/dist/components/nv-dialog.js +1 -1
  193. package/dist/components/nv-dialogfooter.js +1 -1
  194. package/dist/components/nv-dialogheader.js +1 -1
  195. package/dist/components/nv-drawer.js +1 -1
  196. package/dist/components/nv-drawerfooter.js +1 -1
  197. package/dist/components/nv-drawerheader.js +1 -1
  198. package/dist/components/nv-fieldcheckbox.js +1 -1
  199. package/dist/components/nv-fielddate.js +1 -1
  200. package/dist/components/nv-fielddaterange.js +1 -1
  201. package/dist/components/nv-fielddropdown.js +1 -1
  202. package/dist/components/nv-fielddropdownitem.js +1 -1
  203. package/dist/components/nv-fielddropdownitemcheck.js +1 -1
  204. package/dist/components/nv-fieldmultiselect.js +1 -1
  205. package/dist/components/nv-fieldnumber.js +1 -1
  206. package/dist/components/nv-fieldpassword.js +1 -1
  207. package/dist/components/nv-fieldradio.js +1 -1
  208. package/dist/components/nv-fieldselect.js +1 -1
  209. package/dist/components/nv-fieldslider.js +1 -1
  210. package/dist/components/nv-fieldtext.js +1 -1
  211. package/dist/components/nv-fieldtextarea.js +1 -1
  212. package/dist/components/nv-fieldtime.js +1 -1
  213. package/dist/components/nv-icon.js +1 -1
  214. package/dist/components/nv-iconbutton.js +1 -1
  215. package/dist/components/nv-loader.js +1 -1
  216. package/dist/components/nv-menu.js +1 -1
  217. package/dist/components/nv-menuitem.js +1 -1
  218. package/dist/components/nv-notification.js +1 -1
  219. package/dist/components/nv-notificationcontainer.js +1 -1
  220. package/dist/components/nv-pagination-nav.js +1 -1
  221. package/dist/components/nv-paginationtable.js +1 -1
  222. package/dist/components/nv-popover.js +1 -1
  223. package/dist/components/nv-row.js +1 -1
  224. package/dist/components/nv-sidebar.js +1 -1
  225. package/dist/components/nv-sidebarcontent.js +1 -1
  226. package/dist/components/nv-sidebardivider.js +1 -1
  227. package/dist/components/nv-sidebarfooter.js +1 -1
  228. package/dist/components/nv-sidebargroup.js +1 -1
  229. package/dist/components/nv-sidebarheader.js +1 -1
  230. package/dist/components/nv-sidebarlogo.js +1 -1
  231. package/dist/components/nv-sidebarnavitem.js +1 -1
  232. package/dist/components/nv-sidebarnavsubitem.js +1 -1
  233. package/dist/components/nv-split.js +1 -1
  234. package/dist/components/nv-stack.js +1 -1
  235. package/dist/components/nv-table.js +1 -1
  236. package/dist/components/nv-tableheader.js +1 -1
  237. package/dist/components/nv-timetest.d.ts +11 -0
  238. package/dist/components/nv-timetest.js +1 -0
  239. package/dist/components/nv-toggle.js +1 -1
  240. package/dist/components/nv-togglebutton.js +1 -1
  241. package/dist/components/nv-togglebuttongroup.js +1 -1
  242. package/dist/components/nv-tooltip.js +1 -1
  243. package/dist/components/{p-Ho_7-x5W.js → p-C5J7jtrC.js} +1 -1
  244. package/dist/components/{p-S18SgvAW.js → p-CKFXHAaU.js} +1 -1
  245. package/dist/components/{p-DrgqO3gF.js → p-CLzCfsnq.js} +1 -1
  246. package/dist/components/{p-D0bGRzSN.js → p-CnkB4kvn.js} +1 -1
  247. package/dist/components/{p-Db4JZxyy.js → p-Co8IghI-.js} +1 -1
  248. package/dist/components/p-CrRawrjU.js +1 -0
  249. package/dist/components/p-CyL2J6O4.js +74 -0
  250. package/dist/components/{p-uAXqRBhx.js → p-D2C_Qr5O.js} +1 -1
  251. package/dist/components/{p-T-bBxAoT.js → p-DE792Sds.js} +1 -1
  252. package/dist/components/{p-D-MnI-R8.js → p-DGj-fiRX.js} +1 -1
  253. package/dist/components/{p-IzPWk8zx.js → p-DUaenjr8.js} +1 -1
  254. package/dist/components/{p-DC_2597n.js → p-DVFofrTe.js} +1 -1
  255. package/dist/components/{p-BMpkyzCW.js → p-Du3Fh0jQ.js} +1 -1
  256. package/dist/components/p-DwtLxfU5.js +1 -0
  257. package/dist/components/{p-BBy1Mdgv.js → p-VXpV-BUK.js} +1 -1
  258. package/dist/components/{p-kMTGXpRx.js → p-f8OUzde-.js} +1 -1
  259. package/dist/components/{p-Ba1zVklG.js → p-h3cPA0Cx.js} +1 -1
  260. package/dist/components/p-nzxGC8BS.js +1 -0
  261. package/dist/components/p-qkNH2RHl.js +1 -0
  262. package/dist/components/{p-BvxuoODv.js → p-xrXEz2WP.js} +1 -1
  263. package/dist/esm/index-BCjiE1MF.js +12 -0
  264. package/dist/esm/index.js +5 -0
  265. package/dist/esm/loader.js +1 -1
  266. package/dist/esm/native.js +1 -1
  267. package/dist/esm/nova-datetime-CyL2J6O4.js +10636 -0
  268. package/dist/esm/nv-badge_2.entry.js +1 -1
  269. package/dist/esm/nv-datetest.entry.js +64 -0
  270. package/dist/esm/nv-datetimetest.entry.js +52 -0
  271. package/dist/esm/nv-dialog.entry.js +1 -1
  272. package/dist/esm/nv-dialogfooter_2.entry.js +2 -2
  273. package/dist/esm/nv-drawer.entry.js +1 -1
  274. package/dist/esm/nv-drawerfooter_2.entry.js +2 -2
  275. package/dist/esm/nv-fieldcheckbox.entry.js +4 -4
  276. package/dist/esm/nv-fielddate.entry.js +6 -6
  277. package/dist/esm/nv-fielddaterange.entry.js +6 -6
  278. package/dist/esm/nv-fielddropdown.entry.js +4 -4
  279. package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
  280. package/dist/esm/nv-fieldnumber.entry.js +4 -4
  281. package/dist/esm/nv-fieldpassword.entry.js +4 -4
  282. package/dist/esm/nv-fieldradio.entry.js +3 -3
  283. package/dist/esm/nv-fieldselect.entry.js +5 -5
  284. package/dist/esm/nv-fieldslider.entry.js +3 -3
  285. package/dist/esm/nv-fieldtext.entry.js +4 -4
  286. package/dist/esm/nv-fieldtextarea.entry.js +3 -3
  287. package/dist/esm/nv-fieldtime.entry.js +3 -3
  288. package/dist/esm/nv-icon.entry.js +2 -2
  289. package/dist/esm/nv-iconbutton_2.entry.js +2 -2
  290. package/dist/esm/nv-menu.entry.js +1 -1
  291. package/dist/esm/nv-menuitem.entry.js +1 -1
  292. package/dist/esm/nv-notification.entry.js +1 -1
  293. package/dist/esm/nv-notificationcontainer.entry.js +1 -13
  294. package/dist/esm/nv-pagination-nav.entry.js +1 -1
  295. package/dist/esm/nv-paginationtable.entry.js +1 -1
  296. package/dist/esm/nv-popover.entry.js +1 -1
  297. package/dist/esm/nv-row.entry.js +1 -1
  298. package/dist/esm/nv-sidebar.entry.js +1 -1
  299. package/dist/esm/nv-sidebarcontent.entry.js +1 -1
  300. package/dist/esm/nv-sidebardivider.entry.js +1 -1
  301. package/dist/esm/nv-sidebarfooter.entry.js +1 -1
  302. package/dist/esm/nv-sidebargroup.entry.js +1 -1
  303. package/dist/esm/nv-sidebarheader.entry.js +1 -1
  304. package/dist/esm/nv-sidebarlogo.entry.js +1 -1
  305. package/dist/esm/nv-sidebarnavitem.entry.js +2 -2
  306. package/dist/esm/nv-sidebarnavsubitem.entry.js +1 -1
  307. package/dist/esm/nv-split.entry.js +1 -1
  308. package/dist/esm/nv-stack.entry.js +1 -1
  309. package/dist/esm/nv-table.entry.js +1 -1
  310. package/dist/esm/nv-tableheader.entry.js +1 -1
  311. package/dist/esm/nv-timetest.entry.js +70 -0
  312. package/dist/esm/nv-toggle.entry.js +2 -2
  313. package/dist/esm/nv-togglebutton.entry.js +1 -1
  314. package/dist/esm/nv-togglebuttongroup.entry.js +1 -1
  315. package/dist/esm/nv-tooltip.entry.js +8 -3
  316. package/dist/lib/generators/docs-blazor.js +4 -1
  317. package/dist/lib/utils/parseToCSharpTypes.js +114 -18
  318. package/dist/lib/utils/test/parseToCSharpTypes.test.js +95 -1
  319. package/dist/native/index.esm.js +1 -1
  320. package/dist/native/native.esm.js +1 -1
  321. package/dist/native/{p-927b655d.entry.js → p-05f7bad5.entry.js} +1 -1
  322. package/dist/native/{p-539c04ad.entry.js → p-083b39c5.entry.js} +1 -1
  323. package/dist/native/{p-31ba86b3.entry.js → p-0bb64497.entry.js} +1 -1
  324. package/dist/native/{p-1e0ca4df.entry.js → p-1029a266.entry.js} +1 -1
  325. package/dist/native/p-12a8443b.entry.js +1 -0
  326. package/dist/native/{p-1c97c353.entry.js → p-1d7a27bb.entry.js} +1 -1
  327. package/dist/native/{p-8a0dc37b.entry.js → p-1e03fc3c.entry.js} +1 -1
  328. package/dist/native/{p-7d49e88d.entry.js → p-213c5836.entry.js} +1 -1
  329. package/dist/native/{p-ecce3e66.entry.js → p-291b297d.entry.js} +1 -1
  330. package/dist/native/{p-56593bf0.entry.js → p-2af6d988.entry.js} +1 -1
  331. package/dist/native/{p-855f7be1.entry.js → p-343c04db.entry.js} +1 -1
  332. package/dist/native/{p-24f69387.entry.js → p-37c41059.entry.js} +1 -1
  333. package/dist/native/{p-f9e4daf7.entry.js → p-3c4114b8.entry.js} +1 -1
  334. package/dist/native/p-493c1bb5.entry.js +1 -0
  335. package/dist/native/{p-591f3dcc.entry.js → p-4ac8181c.entry.js} +1 -1
  336. package/dist/native/{p-87758615.entry.js → p-4bf96114.entry.js} +1 -1
  337. package/dist/native/p-544b34d4.entry.js +1 -0
  338. package/dist/native/{p-9fda1976.entry.js → p-58966e0f.entry.js} +1 -1
  339. package/dist/native/p-5ea697a7.entry.js +1 -0
  340. package/dist/native/{p-1f8cc03a.entry.js → p-5ef0ed10.entry.js} +1 -1
  341. package/dist/native/{p-39366f18.entry.js → p-63f2f87f.entry.js} +1 -1
  342. package/dist/native/{p-6f3c3e2a.entry.js → p-644ecff8.entry.js} +1 -1
  343. package/dist/native/{p-24ce0c8d.entry.js → p-6d8d2088.entry.js} +1 -1
  344. package/dist/native/{p-6742f88f.entry.js → p-72d8cb56.entry.js} +1 -1
  345. package/dist/native/p-75a2a2ac.entry.js +1 -0
  346. package/dist/native/{p-a6b3256b.entry.js → p-767ee0fc.entry.js} +1 -1
  347. package/dist/native/{p-eb8ba7a2.entry.js → p-7aa4605d.entry.js} +1 -1
  348. package/dist/native/{p-ebff7ddb.entry.js → p-7c00f6da.entry.js} +1 -1
  349. package/dist/native/p-7d164a7a.entry.js +1 -0
  350. package/dist/native/{p-5a7e46ad.entry.js → p-89348af5.entry.js} +1 -1
  351. package/dist/native/p-8e1bcadc.entry.js +1 -0
  352. package/dist/native/{p-1aea6fe0.entry.js → p-95a9d385.entry.js} +1 -1
  353. package/dist/native/p-9fc95cf3.entry.js +1 -0
  354. package/dist/native/p-CyL2J6O4.js +74 -0
  355. package/dist/native/p-ac765e6a.entry.js +1 -0
  356. package/dist/native/p-b3477504.entry.js +1 -0
  357. package/dist/native/{p-34e19b6e.entry.js → p-c2c826a4.entry.js} +1 -1
  358. package/dist/native/{p-d6e2e120.entry.js → p-c56ffa82.entry.js} +1 -1
  359. package/dist/native/{p-8f76e030.entry.js → p-c5d97054.entry.js} +1 -1
  360. package/dist/native/{p-d12a2841.entry.js → p-cfa0eb58.entry.js} +1 -1
  361. package/dist/native/p-d3e66306.entry.js +1 -0
  362. package/dist/native/p-d5f5a6e1.entry.js +1 -0
  363. package/dist/native/{p-b3964a1c.entry.js → p-d8120afd.entry.js} +1 -1
  364. package/dist/native/p-dc2ce8ee.entry.js +1 -0
  365. package/dist/native/{p-bb43a3b4.entry.js → p-e3fb16af.entry.js} +1 -1
  366. package/dist/native/{p-03cc1f2c.entry.js → p-e46c35a0.entry.js} +1 -1
  367. package/dist/native/{p-c0b05d6f.entry.js → p-ec23ce93.entry.js} +1 -1
  368. package/dist/native/{p-3a35cf46.entry.js → p-f7522dac.entry.js} +1 -1
  369. package/dist/native/{p-157c5ac8.entry.js → p-fab2f2b3.entry.js} +1 -1
  370. package/dist/types/components/nv-datetest/nv-datetest.d.ts +48 -0
  371. package/dist/types/components/nv-datetest/nv-datetest.docs.d.ts +4 -0
  372. package/dist/types/components/nv-datetimetest/nv-datetimetest.d.ts +44 -0
  373. package/dist/types/components/nv-datetimetest/nv-datetimetest.docs.d.ts +4 -0
  374. package/dist/types/components/nv-icon/nv-icons.d.ts +1 -1
  375. package/dist/types/components/nv-notificationcontainer/nv-notificationcontainer.d.ts +0 -6
  376. package/dist/types/components/nv-timetest/nv-timetest.d.ts +48 -0
  377. package/dist/types/components/nv-timetest/nv-timetest.docs.d.ts +4 -0
  378. package/dist/types/components.d.ts +273 -16
  379. package/dist/types/index.d.ts +2 -0
  380. package/dist/types/interfaces/dates.d.ts +8 -0
  381. package/dist/types/nova-docs.d.ts +8 -0
  382. package/dist/types/utils/nova-datetime.d.ts +79 -0
  383. package/dist/types/utils/test/nova-datetime.test.d.ts +1 -0
  384. package/dist/vscode-data.json +58 -0
  385. package/hydrate/index.js +10854 -104
  386. package/hydrate/index.mjs +10854 -104
  387. package/package.json +14 -1
  388. package/dist/components/p-CV12ukSl.js +0 -1
  389. package/dist/components/p-CZkFkVd8.js +0 -1
  390. package/dist/components/p-CcmfuwSa.js +0 -1
  391. package/dist/components/p-CqJqzGJS.js +0 -1
  392. package/dist/native/p-18bdc07a.entry.js +0 -1
  393. package/dist/native/p-23f0ca96.entry.js +0 -1
  394. package/dist/native/p-597cac0f.entry.js +0 -1
  395. package/dist/native/p-5f42a7f1.entry.js +0 -1
  396. package/dist/native/p-7aac0b1a.entry.js +0 -1
  397. package/dist/native/p-99726dd4.entry.js +0 -1
  398. package/dist/native/p-c214e4af.entry.js +0 -1
  399. package/dist/native/p-c29dc907.entry.js +0 -1
  400. package/dist/native/p-d46bd21a.entry.js +0 -1
  401. package/dist/native/p-ddedc9c1.entry.js +0 -1
@@ -0,0 +1,248 @@
1
+ /* eslint-disable jsdoc/require-jsdoc */
2
+ import { Host, h } from "@stencil/core";
3
+ import { parseTimeOnly, formatTimeOnly, LocalDate, } from "../../utils/nova-datetime";
4
+ /**
5
+ * This is a test component for the new TimeOnly type
6
+ * @slot default - Child content of the component.
7
+ *
8
+ * @deprecated [EXPERIMENTAL]
9
+ * @experimental This component is still in development and subject to change in future releases.
10
+ */
11
+ export class NvTimetest {
12
+ constructor() {
13
+ //#endregion PROPERTIES
14
+ /****************************************************************************/
15
+ //#region METHODS
16
+ this.handleStartChange = (event) => {
17
+ const input = event.target;
18
+ const parsed = parseTimeOnly(input.value);
19
+ if (!parsed)
20
+ return;
21
+ const newStart = formatTimeOnly(parsed);
22
+ this.value = { start: newStart, end: this.value?.end };
23
+ this.lastChange = newStart;
24
+ this.history = [...(this.history ?? []), newStart];
25
+ this.valueChanged.emit(this.value);
26
+ this.lastChanged.emit({ time: this.lastChange });
27
+ this.historyChanged.emit({ times: this.history });
28
+ const todayDate = LocalDate.now().toString();
29
+ this.valueDateChanged.emit({
30
+ start: this.value?.start
31
+ ? new Date(todayDate + 'T' + this.value.start)
32
+ : undefined,
33
+ end: this.value?.end
34
+ ? new Date(todayDate + 'T' + this.value.end)
35
+ : undefined,
36
+ });
37
+ };
38
+ this.handleEndChange = (event) => {
39
+ const input = event.target;
40
+ const parsed = parseTimeOnly(input.value);
41
+ if (!parsed)
42
+ return;
43
+ const newEnd = formatTimeOnly(parsed);
44
+ this.value = { start: this.value?.start, end: newEnd };
45
+ this.lastChange = newEnd;
46
+ this.history = [...(this.history ?? []), newEnd];
47
+ this.valueChanged.emit(this.value);
48
+ this.lastChanged.emit({ time: this.lastChange });
49
+ this.historyChanged.emit({ times: this.history });
50
+ const todayDate = LocalDate.now().toString();
51
+ this.valueDateChanged.emit({
52
+ start: this.value?.start
53
+ ? new Date(todayDate + 'T' + this.value.start)
54
+ : undefined,
55
+ end: this.value?.end
56
+ ? new Date(todayDate + 'T' + this.value.end)
57
+ : undefined,
58
+ });
59
+ };
60
+ }
61
+ //#endregion EVENTS
62
+ /****************************************************************************/
63
+ //#region RENDER
64
+ render() {
65
+ return (h(Host, { key: '85d3773d49a180e5bc9b5bc0962cc3b709a474b0' }, h("label", { key: 'c0d5c262578e6aa1555ded8c542e2eef7e42d491' }, "Start:", h("input", { key: '31fe9447be14efd87aab1161dbc01593a30328dc', type: "time", step: "1", value: this.value?.start ?? '', onInput: this.handleStartChange })), h("label", { key: '0959b432f53169c425765b94c098ca5ecc8d6ede' }, "End:", h("input", { key: 'ccc50a80dfea2ab7eb627d11840dd5626ca25f88', type: "time", step: "1", value: this.value?.end ?? '', onInput: this.handleEndChange })), h("slot", { key: 'd4c6a017d41102a245e1f8472d676bc866382c00' })));
66
+ }
67
+ static get is() { return "nv-timetest"; }
68
+ static get originalStyleUrls() {
69
+ return {
70
+ "$": ["nv-timetest.scss"]
71
+ };
72
+ }
73
+ static get styleUrls() {
74
+ return {
75
+ "$": ["nv-timetest.css"]
76
+ };
77
+ }
78
+ static get properties() {
79
+ return {
80
+ "value": {
81
+ "type": "unknown",
82
+ "mutable": true,
83
+ "complexType": {
84
+ "original": "{ start?: TimeOnly; end?: TimeOnly }",
85
+ "resolved": "{ start?: `${number}:${number}:${number}`; end?: `${number}:${number}:${number}`; }",
86
+ "references": {
87
+ "TimeOnly": {
88
+ "location": "import",
89
+ "path": "../../interfaces/dates",
90
+ "id": "src/interfaces/dates.ts::TimeOnly",
91
+ "referenceLocation": "TimeOnly"
92
+ }
93
+ }
94
+ },
95
+ "required": false,
96
+ "optional": false,
97
+ "docs": {
98
+ "tags": [],
99
+ "text": "The time range value with start and end times."
100
+ },
101
+ "getter": false,
102
+ "setter": false
103
+ },
104
+ "history": {
105
+ "type": "unknown",
106
+ "mutable": true,
107
+ "complexType": {
108
+ "original": "TimeOnly[]",
109
+ "resolved": "`${number}:${number}:${number}`[]",
110
+ "references": {
111
+ "TimeOnly": {
112
+ "location": "import",
113
+ "path": "../../interfaces/dates",
114
+ "id": "src/interfaces/dates.ts::TimeOnly",
115
+ "referenceLocation": "TimeOnly"
116
+ }
117
+ }
118
+ },
119
+ "required": false,
120
+ "optional": false,
121
+ "docs": {
122
+ "tags": [],
123
+ "text": "Array of historical time changes."
124
+ },
125
+ "getter": false,
126
+ "setter": false
127
+ },
128
+ "lastChange": {
129
+ "type": "string",
130
+ "mutable": true,
131
+ "complexType": {
132
+ "original": "TimeOnly",
133
+ "resolved": "`${number}:${number}:${number}`",
134
+ "references": {
135
+ "TimeOnly": {
136
+ "location": "import",
137
+ "path": "../../interfaces/dates",
138
+ "id": "src/interfaces/dates.ts::TimeOnly",
139
+ "referenceLocation": "TimeOnly"
140
+ }
141
+ }
142
+ },
143
+ "required": false,
144
+ "optional": false,
145
+ "docs": {
146
+ "tags": [],
147
+ "text": "The last change."
148
+ },
149
+ "getter": false,
150
+ "setter": false,
151
+ "reflect": false,
152
+ "attribute": "last-change"
153
+ }
154
+ };
155
+ }
156
+ static get events() {
157
+ return [{
158
+ "method": "valueChanged",
159
+ "name": "valueChanged",
160
+ "bubbles": false,
161
+ "cancelable": true,
162
+ "composed": true,
163
+ "docs": {
164
+ "tags": [{
165
+ "name": "bind",
166
+ "text": "value"
167
+ }],
168
+ "text": "Emitted when the time range value changes."
169
+ },
170
+ "complexType": {
171
+ "original": "{ start?: TimeOnly; end?: TimeOnly }",
172
+ "resolved": "{ start?: `${number}:${number}:${number}`; end?: `${number}:${number}:${number}`; }",
173
+ "references": {
174
+ "TimeOnly": {
175
+ "location": "import",
176
+ "path": "../../interfaces/dates",
177
+ "id": "src/interfaces/dates.ts::TimeOnly",
178
+ "referenceLocation": "TimeOnly"
179
+ }
180
+ }
181
+ }
182
+ }, {
183
+ "method": "lastChanged",
184
+ "name": "lastChanged",
185
+ "bubbles": false,
186
+ "cancelable": true,
187
+ "composed": true,
188
+ "docs": {
189
+ "tags": [],
190
+ "text": "Emitted when the last change timestamp updates."
191
+ },
192
+ "complexType": {
193
+ "original": "{ time: TimeOnly }",
194
+ "resolved": "{ time: `${number}:${number}:${number}`; }",
195
+ "references": {
196
+ "TimeOnly": {
197
+ "location": "import",
198
+ "path": "../../interfaces/dates",
199
+ "id": "src/interfaces/dates.ts::TimeOnly",
200
+ "referenceLocation": "TimeOnly"
201
+ }
202
+ }
203
+ }
204
+ }, {
205
+ "method": "historyChanged",
206
+ "name": "historyChanged",
207
+ "bubbles": false,
208
+ "cancelable": true,
209
+ "composed": true,
210
+ "docs": {
211
+ "tags": [],
212
+ "text": "Emitted when the history array changes."
213
+ },
214
+ "complexType": {
215
+ "original": "{ times: TimeOnly[] }",
216
+ "resolved": "{ times: `${number}:${number}:${number}`[]; }",
217
+ "references": {
218
+ "TimeOnly": {
219
+ "location": "import",
220
+ "path": "../../interfaces/dates",
221
+ "id": "src/interfaces/dates.ts::TimeOnly",
222
+ "referenceLocation": "TimeOnly"
223
+ }
224
+ }
225
+ }
226
+ }, {
227
+ "method": "valueDateChanged",
228
+ "name": "valueDateChanged",
229
+ "bubbles": false,
230
+ "cancelable": true,
231
+ "composed": true,
232
+ "docs": {
233
+ "tags": [],
234
+ "text": "Emitted when the time range value changes as Date objects (local time)."
235
+ },
236
+ "complexType": {
237
+ "original": "{ start?: Date; end?: Date }",
238
+ "resolved": "{ start?: Date; end?: Date; }",
239
+ "references": {
240
+ "Date": {
241
+ "location": "global",
242
+ "id": "global::Date"
243
+ }
244
+ }
245
+ }
246
+ }];
247
+ }
248
+ }
@@ -2,6 +2,7 @@ import { h } from "@stencil/core";
2
2
  import { nameof } from "../../utils/class.utils";
3
3
  const NvToggleDocs = {
4
4
  component: 'nv-toggle',
5
+ parentGroup: 'Toggle',
5
6
  stories: [
6
7
  // Default
7
8
  {
@@ -60,8 +60,8 @@ export class NvToggle {
60
60
  /****************************************************************************/
61
61
  //#region RENDER
62
62
  render() {
63
- return (h(Host, { key: '626c2acc6992a641c5fd94509fd0ef171fd6d1c6', class: clsx(this.labelPlacement === 'before' && 'label-placement-before') }, h("div", { key: 'a9e4b73d740032520f6094bcada1f835b4bac16c', class: "input-container" }, h("input", { key: '1856dfa88421fecee06bdf098dcad22e69f34c00', type: "checkbox", id: this.inputId, name: this.name, autocomplete: "off", value: this.value, checked: Boolean(this.checked), disabled: this.disabled || this.readonly, readonly: this.readonly })), h("div", { key: '4c46bc519d38a66fdecf75cb15caf6d577d92856', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { key: 'fd61979a72a2b4e3254987beafd4b024fe1c6bae', htmlFor: this.inputId, class: clsx(this.hideLabel && 'visually-hidden') }, h("slot", { key: '0e32e3e03ffda0633f881f41d2372a3d92d82f10', name: "label" }, this.label))), (this.description ||
64
- this.el.querySelector('[slot="description"]')) && (h("div", { key: '688d4160a48d85fa5049556de27f0a26f10ec549', class: "description" }, h("slot", { key: '006a61b40a49426bc7c70f1fe830aeb38ecdbf3b', name: "description" }, this.description))))));
63
+ return (h(Host, { key: '39ad1374bbf8cd5393a99dc4c18fa28091dc5e90', class: clsx(this.labelPlacement === 'before' && 'label-placement-before') }, h("div", { key: '3a8be2405404975398f1a0dae05c0855b913245f', class: "input-container" }, h("input", { key: 'b589b9faa5801f99e698d0e664e0a35779a1271f', type: "checkbox", id: this.inputId, name: this.name, autocomplete: "off", value: this.value, checked: Boolean(this.checked), disabled: this.disabled || this.readonly, readonly: this.readonly })), h("div", { key: 'a3308782b02b1c0eca3d6a1b87509674b9bc5c13', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { key: '854b2ffe7bf61423512154ffe8b3b0351a2950a4', htmlFor: this.inputId, class: clsx(this.hideLabel && 'visually-hidden') }, h("slot", { key: '933bf88b7841f3b2ed24c3bb86fb24159eaac900', name: "label" }, this.label))), (this.description ||
64
+ this.el.querySelector('[slot="description"]')) && (h("div", { key: '5a04358d1be3b935239bb23e1466cc22ed2f3b48', class: "description" }, h("slot", { key: 'f5c1513eff6ee42bc171b0088baec634f8458197', name: "description" }, this.description))))));
65
65
  }
66
66
  static get is() { return "nv-toggle"; }
67
67
  static get formAssociated() { return true; }
@@ -1,5 +1,52 @@
1
+ import { h } from "@stencil/core";
2
+ import { nameof } from "../../utils/class.utils";
1
3
  const NvTogglebuttonDocs = {
2
4
  component: 'nv-togglebutton',
3
- skip: true,
5
+ parentGroup: 'Toggle',
6
+ subcomponents: ['nv-togglebuttongroup', 'nv-icon'],
7
+ stories: [
8
+ // Default
9
+ {
10
+ name: 'Default',
11
+ description: 'Basic toggle button within a toggle button group',
12
+ template: (h("nv-togglebuttongroup", null, h("nv-togglebutton", { "data-storybook-args": true, value: "option1" }, "Option 1"), h("nv-togglebutton", { value: "option2" }, "Option 2"), h("nv-togglebutton", { value: "option3" }, "Option 3"))),
13
+ },
14
+ // value
15
+ {
16
+ name: nameof(x => x.value),
17
+ description: 'Toggle button with specific value',
18
+ template: (h("nv-togglebuttongroup", null, h("nv-togglebutton", { value: "left" }, "Left"), h("nv-togglebutton", { "data-storybook-args": true, value: "center" }, "Center"), h("nv-togglebutton", { value: "right" }, "Right"))),
19
+ },
20
+ // disabled
21
+ {
22
+ name: nameof(x => x.disabled),
23
+ description: 'Disabled toggle button',
24
+ args: {
25
+ disabled: true,
26
+ },
27
+ template: (h("nv-togglebuttongroup", null, h("nv-togglebutton", { value: "option1" }, "Option 1"), h("nv-togglebutton", { "data-storybook-args": true, value: "option2", disabled: true }, "Option 2 (Disabled)"), h("nv-togglebutton", { value: "option3" }, "Option 3"))),
28
+ },
29
+ // active
30
+ {
31
+ name: nameof(x => x.active),
32
+ description: 'Pre-selected toggle button',
33
+ args: {
34
+ active: true,
35
+ },
36
+ template: (h("nv-togglebuttongroup", null, h("nv-togglebutton", { "data-storybook-args": true, value: "option1", active: true }, "Option 1 (Selected)"), h("nv-togglebutton", { value: "option2" }, "Option 2"), h("nv-togglebutton", { value: "option3" }, "Option 3"))),
37
+ },
38
+ // WithIcon
39
+ {
40
+ name: 'WithIcon',
41
+ description: 'Toggle button with icon',
42
+ template: (h("nv-togglebuttongroup", null, h("nv-togglebutton", { value: "bold" }, h("nv-icon", { name: "bold" })), h("nv-togglebutton", { value: "italic" }, h("nv-icon", { name: "italic" })), h("nv-togglebutton", { value: "underline" }, h("nv-icon", { name: "underline" })))),
43
+ },
44
+ // WithIconAndText
45
+ {
46
+ name: 'WithIconAndText',
47
+ description: 'Toggle button with icon and text',
48
+ template: (h("nv-togglebuttongroup", null, h("nv-togglebutton", { value: "list" }, h("nv-icon", { slot: "leading-icon", name: "list" }), "List"), h("nv-togglebutton", { value: "grid" }, h("nv-icon", { slot: "leading-icon", name: "grid" }), "Grid"))),
49
+ },
50
+ ],
4
51
  };
5
52
  export default NvTogglebuttonDocs;
@@ -50,7 +50,7 @@ export class NvTogglebutton {
50
50
  /****************************************************************************/
51
51
  //#region RENDER
52
52
  render() {
53
- return (h(Host, { key: 'd619862ae9db76a7ce34b05c4974d40e731a576e', role: "button", tabindex: "0", "aria-pressed": String(this.active), onClick: this.handleClick }, h("slot", { key: '5bb9a32e26c3c404a9d2bab2bf7d573a501296a5' })));
53
+ return (h(Host, { key: '8e700d38ba155b977d4efa0d9e01b41e73fc4413', role: "button", tabindex: "0", "aria-pressed": String(this.active), onClick: this.handleClick }, h("slot", { key: '92427015839f98b0d9238b8df6af8e08ee511153' })));
54
54
  }
55
55
  static get is() { return "nv-togglebutton"; }
56
56
  static get originalStyleUrls() {
@@ -3,6 +3,7 @@ import { nameof } from "../../utils/class.utils";
3
3
  const NvTogglebuttongroupDocs = {
4
4
  component: 'nv-togglebuttongroup',
5
5
  composedComponents: ['nv-togglebutton'],
6
+ parentGroup: 'Toggle',
6
7
  subcomponents: ['nv-togglebutton', 'nv-icon'],
7
8
  badge: 'new',
8
9
  stories: [
@@ -149,7 +149,7 @@ export class NvTogglebuttongroup {
149
149
  /****************************************************************************/
150
150
  //#region RENDER
151
151
  render() {
152
- return (h(Host, { key: '93a5693197f8b41b18ecef0132168e7f209ec86a' }, h("slot", { key: '3085cde261575115286c295eb416063ef14a7bf2' })));
152
+ return (h(Host, { key: '2026cb95db8b57f2a1cd4ea53608f336843b63fe' }, h("slot", { key: '5c06ab59d6c99e789c3a1c3a8a4842a0772ca3a2' })));
153
153
  }
154
154
  static get is() { return "nv-togglebuttongroup"; }
155
155
  static get originalStyleUrls() {
@@ -2,6 +2,7 @@ import { h } from "@stencil/core";
2
2
  import { nameof } from "../../utils/class.utils";
3
3
  const NvTooltipDocs = {
4
4
  component: 'nv-tooltip',
5
+ parentGroup: 'Tooltip',
5
6
  subcomponents: ['nv-button'],
6
7
  stories: [
7
8
  // Default
@@ -33,15 +33,20 @@ export class NvTooltip {
33
33
  /****************************************************************************/
34
34
  //#region LIFECYCLE
35
35
  componentDidRender() {
36
- if (this.triggerElement || !this.defaultSlot)
36
+ if (!this.popoverElement)
37
37
  return;
38
- this.popoverElement.triggerElement = this.defaultSlot?.nextSibling;
38
+ const trigger = this.triggerElement ??
39
+ this.defaultSlot?.nextElementSibling ??
40
+ this.el.querySelector(':scope > :not(nv-popover):not(slot):not([slot])');
41
+ if (trigger && this.popoverElement.triggerElement !== trigger) {
42
+ this.popoverElement.triggerElement = trigger;
43
+ }
39
44
  }
40
45
  //#endregion LIFECYCLE
41
46
  /****************************************************************************/
42
47
  //#region RENDER
43
48
  render() {
44
- return (h(Host, { key: 'f01e67c6f67c35beba40681c4bcd109886bbdbcf' }, h("nv-popover", { key: '47cd75161715752aeeae29223606e21c617a271a', ref: el => (this.popoverElement = el), triggerMode: "hover", hasArrow: true, placement: this.placement, strategy: this.strategy, triggerElement: this.triggerElement, groupName: 'tooltip', enterDelay: this.enterDelay, onOpenChanged: e => this.openChanged.emit(e.detail) }, h("p", { key: 'fe5b09a6c0e4a67a50c9f43cb8344cee68e197f5', slot: "content" }, this.message), h("slot", { key: '4ef23e294baa1d5e60236ffec4a26439610030c1', name: "content" })), h("slot", { key: '5d8486923cd7cf99da69f4fa4d319dd5b5999cfa', ref: el => (this.defaultSlot = el) })));
49
+ return (h(Host, { key: '8285fbb412cb45cc7baf2936f0405c0438395c8d' }, h("nv-popover", { key: '29d70e9baa826de35d2cdca88f48610d70ec55e4', ref: el => (this.popoverElement = el), triggerMode: "hover", hasArrow: true, placement: this.placement, strategy: this.strategy, groupName: 'tooltip', enterDelay: this.enterDelay, onOpenChanged: e => this.openChanged.emit(e.detail) }, h("p", { key: 'a9c907fa96f9c4108a8d84cec53981218c060811', slot: "content" }, this.message), h("slot", { key: 'af1b7ac8069071fe2d41e925f1c0090f8b6aaab5', name: "content" })), h("slot", { key: 'e5d3c6d16fb7e4a682b66e0016d9e4e30e5647e0', ref: el => (this.defaultSlot = el) })));
45
50
  }
46
51
  static get is() { return "nv-tooltip"; }
47
52
  static get originalStyleUrls() {
@@ -16,8 +16,11 @@ import * as stringUtils_1 from "./utils/string.utils";
16
16
  export { stringUtils_1 as stringUtils };
17
17
  import * as uriUtils_1 from "./utils/uri.utils";
18
18
  export { uriUtils_1 as uriUtils };
19
+ import * as dateTimeUtils_1 from "./utils/nova-datetime";
20
+ export { dateTimeUtils_1 as dateTimeUtils };
19
21
  import * as animations_1 from "./animations";
20
22
  export { animations_1 as animations };
21
23
  import * as searchEngine_1 from "./utils/search-engine";
22
24
  export { searchEngine_1 as searchEngine };
23
25
  export { iconNames } from './components/nv-icon/nv-icons';
26
+ export * from './interfaces/dates';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,144 @@
1
+ /* cSpell:words joda */
2
+ import { LocalTime, LocalDate, LocalDateTime, DateTimeFormatter, } from "@js-joda/core";
3
+ // ─── Parsing (string → js-joda) ─────────────────────────────────────────────
4
+ /**
5
+ * Parse a TimeOnly string (HH:mm or HH:mm:ss) into a LocalTime.
6
+ * @param {string} value - The time string to parse.
7
+ * @returns {LocalTime | null} The parsed LocalTime, or null if invalid.
8
+ */
9
+ export function parseTimeOnly(value) {
10
+ try {
11
+ return LocalTime.parse(value);
12
+ }
13
+ catch {
14
+ console.warn(`[nova] Invalid TimeOnly value: "${value}"`);
15
+ return null;
16
+ }
17
+ }
18
+ /**
19
+ * Parse a DateOnly string (YYYY-MM-DD) into a LocalDate.
20
+ * @param {string} value - The date string to parse.
21
+ * @returns {LocalDate | null} The parsed LocalDate, or null if invalid.
22
+ */
23
+ export function parseDateOnly(value) {
24
+ try {
25
+ return LocalDate.parse(value);
26
+ }
27
+ catch {
28
+ console.warn(`[nova] Invalid DateOnly value: "${value}"`);
29
+ return null;
30
+ }
31
+ }
32
+ /**
33
+ * Parse an ISO-8601 date-time string into a LocalDateTime.
34
+ * @param {string} value - The date-time string to parse.
35
+ * @returns {LocalDateTime | null} The parsed LocalDateTime, or null if invalid.
36
+ */
37
+ export function parseLocalDateTime(value) {
38
+ try {
39
+ return LocalDateTime.parse(value);
40
+ }
41
+ catch {
42
+ console.warn(`[nova] Invalid LocalDateTime value: "${value}"`);
43
+ return null;
44
+ }
45
+ }
46
+ // ─── Formatting (js-joda → branded string) ──────────────────────────────────
47
+ const TIME_FORMATTER = DateTimeFormatter.ofPattern('HH:mm:ss');
48
+ const DATE_FORMATTER = DateTimeFormatter.ofPattern('yyyy-MM-dd');
49
+ /**
50
+ * Format a LocalTime as a TimeOnly string (always HH:mm:ss).
51
+ * @param {LocalTime} time - The LocalTime to format.
52
+ * @returns {TimeOnly} The formatted TimeOnly string.
53
+ */
54
+ export function formatTimeOnly(time) {
55
+ return time.format(TIME_FORMATTER);
56
+ }
57
+ /**
58
+ * Format a LocalDate as a DateOnly string (YYYY-MM-DD).
59
+ * @param {LocalDate} date - The LocalDate to format.
60
+ * @returns {DateOnly} The formatted DateOnly string.
61
+ */
62
+ export function formatDateOnly(date) {
63
+ return date.format(DATE_FORMATTER);
64
+ }
65
+ /**
66
+ * Format a LocalDateTime as an ISO-8601 string.
67
+ * @param {LocalDateTime} dt - The LocalDateTime to format.
68
+ * @returns {string} The formatted ISO-8601 string.
69
+ */
70
+ export function formatLocalDateTime(dt) {
71
+ return dt.toString();
72
+ }
73
+ // ─── Validation (type guards) ───────────────────────────────────────────────
74
+ /**
75
+ * Returns true if the string is a valid TimeOnly value.
76
+ * @param {string} value - The string to validate.
77
+ * @returns {boolean} Whether the string is a valid TimeOnly.
78
+ */
79
+ export function isValidTimeOnly(value) {
80
+ return parseTimeOnly(value) !== null;
81
+ }
82
+ /**
83
+ * Returns true if the string is a valid DateOnly value.
84
+ * @param {string} value - The string to validate.
85
+ * @returns {boolean} Whether the string is a valid DateOnly.
86
+ */
87
+ export function isValidDateOnly(value) {
88
+ return parseDateOnly(value) !== null;
89
+ }
90
+ // ─── Comparison helpers ─────────────────────────────────────────────────────
91
+ /**
92
+ * Returns true if time `a` is before time `b`.
93
+ * @param {TimeOnly} a - The first time to compare.
94
+ * @param {TimeOnly} b - The second time to compare.
95
+ * @returns {boolean} Whether `a` is before `b`.
96
+ */
97
+ export function isTimeBefore(a, b) {
98
+ const pa = parseTimeOnly(a);
99
+ const pb = parseTimeOnly(b);
100
+ if (!pa || !pb)
101
+ return false;
102
+ return pa.isBefore(pb);
103
+ }
104
+ /**
105
+ * Returns true if time `a` is after time `b`.
106
+ * @param {TimeOnly} a - The first time to compare.
107
+ * @param {TimeOnly} b - The second time to compare.
108
+ * @returns {boolean} Whether `a` is after `b`.
109
+ */
110
+ export function isTimeAfter(a, b) {
111
+ const pa = parseTimeOnly(a);
112
+ const pb = parseTimeOnly(b);
113
+ if (!pa || !pb)
114
+ return false;
115
+ return pa.isAfter(pb);
116
+ }
117
+ /**
118
+ * Returns true if date `a` is before date `b`.
119
+ * @param {DateOnly} a - The first date to compare.
120
+ * @param {DateOnly} b - The second date to compare.
121
+ * @returns {boolean} Whether `a` is before `b`.
122
+ */
123
+ export function isDateBefore(a, b) {
124
+ const pa = parseDateOnly(a);
125
+ const pb = parseDateOnly(b);
126
+ if (!pa || !pb)
127
+ return false;
128
+ return pa.isBefore(pb);
129
+ }
130
+ /**
131
+ * Returns true if date `a` is after date `b`.
132
+ * @param {DateOnly} a - The first date to compare.
133
+ * @param {DateOnly} b - The second date to compare.
134
+ * @returns {boolean} Whether `a` is after `b`.
135
+ */
136
+ export function isDateAfter(a, b) {
137
+ const pa = parseDateOnly(a);
138
+ const pb = parseDateOnly(b);
139
+ if (!pa || !pb)
140
+ return false;
141
+ return pa.isAfter(pb);
142
+ }
143
+ // ─── Re-exports for advanced consumers ──────────────────────────────────────
144
+ export { LocalTime, LocalDate, LocalDateTime } from '@js-joda/core';