@nova-design-system/nova-webcomponents 3.26.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 (468) hide show
  1. package/dist/cjs/{index-BQjqJTJB.js → index-Cfkoz1kc.js} +17 -1
  2. package/dist/cjs/index.cjs.js +6 -0
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/native.cjs.js +2 -2
  5. package/dist/cjs/nova-datetime-DOtVgYBB.js +10643 -0
  6. package/dist/cjs/nv-accordion-item.cjs.entry.js +1 -1
  7. package/dist/cjs/nv-accordion.cjs.entry.js +1 -1
  8. package/dist/cjs/nv-alert.cjs.entry.js +1 -1
  9. package/dist/cjs/nv-avatar.cjs.entry.js +1 -1
  10. package/dist/cjs/nv-badge_2.cjs.entry.js +2 -2
  11. package/dist/cjs/nv-breadcrumb.cjs.entry.js +1 -1
  12. package/dist/cjs/nv-breadcrumbs.cjs.entry.js +1 -1
  13. package/dist/cjs/nv-button.cjs.entry.js +1 -1
  14. package/dist/cjs/nv-buttongroup.cjs.entry.js +1 -1
  15. package/dist/cjs/nv-calendar.cjs.entry.js +1 -1
  16. package/dist/cjs/nv-col.cjs.entry.js +1 -1
  17. package/dist/cjs/nv-datagrid.cjs.entry.js +1 -1
  18. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +1 -1
  19. package/dist/cjs/nv-datetest.cjs.entry.js +66 -0
  20. package/dist/cjs/nv-datetimetest.cjs.entry.js +54 -0
  21. package/dist/cjs/nv-dialog.cjs.entry.js +16 -3
  22. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +3 -3
  23. package/dist/cjs/nv-drawer.cjs.entry.js +2 -2
  24. package/dist/cjs/nv-drawerfooter_2.cjs.entry.js +3 -3
  25. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +5 -5
  26. package/dist/cjs/nv-fielddate.cjs.entry.js +7 -7
  27. package/dist/cjs/nv-fielddaterange.cjs.entry.js +7 -7
  28. package/dist/cjs/nv-fielddropdown.cjs.entry.js +5 -5
  29. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +2 -2
  30. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +1 -1
  31. package/dist/cjs/nv-fieldnumber.cjs.entry.js +5 -5
  32. package/dist/cjs/nv-fieldpassword.cjs.entry.js +5 -5
  33. package/dist/cjs/nv-fieldradio.cjs.entry.js +4 -4
  34. package/dist/cjs/nv-fieldselect.cjs.entry.js +6 -6
  35. package/dist/cjs/nv-fieldslider.cjs.entry.js +4 -4
  36. package/dist/cjs/nv-fieldtext.cjs.entry.js +5 -5
  37. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +4 -4
  38. package/dist/cjs/nv-fieldtime.cjs.entry.js +4 -4
  39. package/dist/cjs/nv-icon.cjs.entry.js +3 -3
  40. package/dist/cjs/nv-iconbutton_2.cjs.entry.js +3 -3
  41. package/dist/cjs/nv-menu.cjs.entry.js +2 -2
  42. package/dist/cjs/nv-menuitem.cjs.entry.js +2 -2
  43. package/dist/cjs/nv-notification-bullet.cjs.entry.js +1 -1
  44. package/dist/cjs/nv-notification.cjs.entry.js +2 -2
  45. package/dist/cjs/nv-notificationcontainer.cjs.entry.js +2 -14
  46. package/dist/cjs/nv-pagination-nav.cjs.entry.js +198 -0
  47. package/dist/cjs/nv-paginationtable.cjs.entry.js +2 -2
  48. package/dist/cjs/nv-popover.cjs.entry.js +2 -2
  49. package/dist/cjs/nv-row.cjs.entry.js +2 -2
  50. package/dist/cjs/nv-sidebar.cjs.entry.js +2 -2
  51. package/dist/cjs/nv-sidebarcontent.cjs.entry.js +2 -2
  52. package/dist/cjs/nv-sidebardivider.cjs.entry.js +2 -2
  53. package/dist/cjs/nv-sidebarfooter.cjs.entry.js +2 -2
  54. package/dist/cjs/nv-sidebargroup.cjs.entry.js +2 -2
  55. package/dist/cjs/nv-sidebarheader.cjs.entry.js +2 -2
  56. package/dist/cjs/nv-sidebarlogo.cjs.entry.js +2 -2
  57. package/dist/cjs/nv-sidebarnavitem.cjs.entry.js +12 -5
  58. package/dist/cjs/nv-sidebarnavsubitem.cjs.entry.js +2 -2
  59. package/dist/cjs/nv-split.cjs.entry.js +2 -2
  60. package/dist/cjs/nv-stack.cjs.entry.js +2 -2
  61. package/dist/cjs/nv-table.cjs.entry.js +2 -2
  62. package/dist/cjs/nv-tableheader.cjs.entry.js +2 -2
  63. package/dist/cjs/nv-timetest.cjs.entry.js +72 -0
  64. package/dist/cjs/nv-toggle.cjs.entry.js +3 -3
  65. package/dist/cjs/nv-togglebutton.cjs.entry.js +2 -2
  66. package/dist/cjs/nv-togglebuttongroup.cjs.entry.js +2 -2
  67. package/dist/cjs/nv-tooltip.cjs.entry.js +9 -4
  68. package/dist/collection/collection-manifest.json +4 -0
  69. package/dist/collection/components/nv-accordion/nv-accordion.docs.js +1 -0
  70. package/dist/collection/components/nv-accordion-item/nv-accordion-item.docs.js +69 -1
  71. package/dist/collection/components/nv-alert/nv-alert.docs.js +1 -0
  72. package/dist/collection/components/nv-avatar/nv-avatar.docs.js +1 -0
  73. package/dist/collection/components/nv-badge/nv-badge.docs.js +1 -0
  74. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.docs.js +36 -1
  75. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js +1 -0
  76. package/dist/collection/components/nv-button/nv-button.docs.js +1 -0
  77. package/dist/collection/components/nv-buttongroup/nv-buttongroup.docs.js +1 -0
  78. package/dist/collection/components/nv-calendar/nv-calendar.docs.js +1 -0
  79. package/dist/collection/components/nv-col/nv-col.docs.js +1 -0
  80. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +1 -0
  81. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.docs.js +25 -1
  82. package/dist/collection/components/nv-datetest/nv-datetest.css +15 -0
  83. package/dist/collection/components/nv-datetest/nv-datetest.docs.js +12 -0
  84. package/dist/collection/components/nv-datetest/nv-datetest.js +242 -0
  85. package/dist/collection/components/nv-datetimetest/nv-datetimetest.css +15 -0
  86. package/dist/collection/components/nv-datetimetest/nv-datetimetest.docs.js +5 -0
  87. package/dist/collection/components/nv-datetimetest/nv-datetimetest.js +197 -0
  88. package/dist/collection/components/nv-dialog/nv-dialog.docs.js +1 -0
  89. package/dist/collection/components/nv-dialog/nv-dialog.js +15 -2
  90. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.docs.js +9 -1
  91. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js +1 -1
  92. package/dist/collection/components/nv-dialogheader/nv-dialogheader.docs.js +9 -1
  93. package/dist/collection/components/nv-dialogheader/nv-dialogheader.js +1 -1
  94. package/dist/collection/components/nv-drawer/nv-drawer.docs.js +1 -0
  95. package/dist/collection/components/nv-drawer/nv-drawer.js +1 -1
  96. package/dist/collection/components/nv-drawerfooter/nv-drawerfooter.docs.js +9 -1
  97. package/dist/collection/components/nv-drawerfooter/nv-drawerfooter.js +1 -1
  98. package/dist/collection/components/nv-drawerheader/nv-drawerheader.docs.js +9 -1
  99. package/dist/collection/components/nv-drawerheader/nv-drawerheader.js +1 -1
  100. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.docs.js +1 -0
  101. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +4 -4
  102. package/dist/collection/components/nv-fielddate/nv-fielddate.docs.js +1 -0
  103. package/dist/collection/components/nv-fielddate/nv-fielddate.js +6 -6
  104. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.docs.js +1 -0
  105. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +6 -6
  106. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +1 -0
  107. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +4 -4
  108. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.docs.js +54 -1
  109. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +1 -1
  110. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.docs.js +42 -1
  111. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +1 -1
  112. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +1 -0
  113. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js +1 -0
  114. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +4 -4
  115. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js +1 -0
  116. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +4 -4
  117. package/dist/collection/components/nv-fieldradio/nv-fieldradio.docs.js +1 -0
  118. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
  119. package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js +1 -0
  120. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +5 -5
  121. package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js +1 -0
  122. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +3 -3
  123. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +1 -0
  124. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +4 -4
  125. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js +1 -0
  126. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -3
  127. package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js +1 -0
  128. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +3 -3
  129. package/dist/collection/components/nv-icon/nv-icon.docs.js +1 -0
  130. package/dist/collection/components/nv-icon/nv-icon.js +1 -1
  131. package/dist/collection/components/nv-icon/nv-icons.js +4 -0
  132. package/dist/collection/components/nv-iconbutton/nv-iconbutton.docs.js +1 -0
  133. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
  134. package/dist/collection/components/nv-loader/nv-loader.docs.js +1 -0
  135. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  136. package/dist/collection/components/nv-menu/nv-menu.docs.js +1 -0
  137. package/dist/collection/components/nv-menu/nv-menu.js +1 -1
  138. package/dist/collection/components/nv-menuitem/nv-menuitem.docs.js +20 -1
  139. package/dist/collection/components/nv-menuitem/nv-menuitem.js +2 -2
  140. package/dist/collection/components/nv-notification/nv-notification.docs.js +1 -0
  141. package/dist/collection/components/nv-notification/nv-notification.js +1 -1
  142. package/dist/collection/components/nv-notification-bullet/nv-notification-bullet.docs.js +1 -0
  143. package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.docs.js +24 -1
  144. package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.js +1 -15
  145. package/dist/collection/components/nv-pagination-nav/nv-pagination-nav.css +37 -0
  146. package/dist/collection/components/nv-pagination-nav/nv-pagination-nav.docs.js +278 -0
  147. package/dist/collection/components/nv-pagination-nav/nv-pagination-nav.js +359 -0
  148. package/dist/collection/components/nv-pagination-nav/nv-pagination-nav.utils.js +70 -0
  149. package/dist/collection/components/nv-pagination-nav/test/nv-pagination-nav.utils.test.js +66 -0
  150. package/dist/collection/components/nv-paginationtable/nv-paginationtable.docs.js +1 -0
  151. package/dist/collection/components/nv-paginationtable/nv-paginationtable.js +1 -1
  152. package/dist/collection/components/nv-popover/nv-popover.docs.js +1 -0
  153. package/dist/collection/components/nv-popover/nv-popover.js +1 -1
  154. package/dist/collection/components/nv-row/nv-row.docs.js +1 -0
  155. package/dist/collection/components/nv-row/nv-row.js +1 -1
  156. package/dist/collection/components/nv-sidebar/nv-sidebar.docs.js +1 -0
  157. package/dist/collection/components/nv-sidebar/nv-sidebar.js +1 -1
  158. package/dist/collection/components/nv-sidebarcontent/nv-sidebarcontent.docs.js +14 -1
  159. package/dist/collection/components/nv-sidebarcontent/nv-sidebarcontent.js +1 -1
  160. package/dist/collection/components/nv-sidebardivider/nv-sidebardivider.docs.js +15 -1
  161. package/dist/collection/components/nv-sidebardivider/nv-sidebardivider.js +1 -1
  162. package/dist/collection/components/nv-sidebarfooter/nv-sidebarfooter.docs.js +9 -1
  163. package/dist/collection/components/nv-sidebarfooter/nv-sidebarfooter.js +1 -1
  164. package/dist/collection/components/nv-sidebargroup/nv-sidebargroup.docs.js +15 -1
  165. package/dist/collection/components/nv-sidebargroup/nv-sidebargroup.js +1 -1
  166. package/dist/collection/components/nv-sidebarheader/nv-sidebarheader.docs.js +9 -1
  167. package/dist/collection/components/nv-sidebarheader/nv-sidebarheader.js +1 -1
  168. package/dist/collection/components/nv-sidebarlogo/nv-sidebarlogo.docs.js +10 -1
  169. package/dist/collection/components/nv-sidebarlogo/nv-sidebarlogo.js +3 -1
  170. package/dist/collection/components/nv-sidebarnavitem/nv-sidebarnavitem.docs.js +16 -1
  171. package/dist/collection/components/nv-sidebarnavitem/nv-sidebarnavitem.js +12 -5
  172. package/dist/collection/components/nv-sidebarnavsubitem/nv-sidebarnavsubitem.docs.js +15 -1
  173. package/dist/collection/components/nv-sidebarnavsubitem/nv-sidebarnavsubitem.js +1 -1
  174. package/dist/collection/components/nv-split/nv-split.docs.js +1 -0
  175. package/dist/collection/components/nv-split/nv-split.js +1 -1
  176. package/dist/collection/components/nv-stack/nv-stack.docs.js +1 -0
  177. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  178. package/dist/collection/components/nv-table/nv-table.docs.js +1 -0
  179. package/dist/collection/components/nv-table/nv-table.js +1 -1
  180. package/dist/collection/components/nv-tableheader/nv-tableheader.docs.js +1 -0
  181. package/dist/collection/components/nv-tableheader/nv-tableheader.js +1 -1
  182. package/dist/collection/components/nv-timetest/nv-timetest.css +15 -0
  183. package/dist/collection/components/nv-timetest/nv-timetest.docs.js +5 -0
  184. package/dist/collection/components/nv-timetest/nv-timetest.js +248 -0
  185. package/dist/collection/components/nv-toggle/nv-toggle.docs.js +1 -0
  186. package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
  187. package/dist/collection/components/nv-togglebutton/nv-togglebutton.docs.js +48 -1
  188. package/dist/collection/components/nv-togglebutton/nv-togglebutton.js +1 -1
  189. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.js +1 -0
  190. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js +1 -1
  191. package/dist/collection/components/nv-tooltip/nv-tooltip.docs.js +1 -0
  192. package/dist/collection/components/nv-tooltip/nv-tooltip.js +8 -3
  193. package/dist/collection/index.js +3 -0
  194. package/dist/collection/interfaces/dates.js +1 -0
  195. package/dist/collection/utils/nova-datetime.js +144 -0
  196. package/dist/collection/utils/test/nova-datetime.test.js +230 -0
  197. package/dist/components/index.js +1 -1
  198. package/dist/components/nv-accordion-item.js +1 -1
  199. package/dist/components/nv-accordion.js +1 -1
  200. package/dist/components/nv-alert.js +1 -1
  201. package/dist/components/nv-avatar.js +1 -1
  202. package/dist/components/nv-badge.js +1 -1
  203. package/dist/components/nv-breadcrumb.js +1 -1
  204. package/dist/components/nv-breadcrumbs.js +1 -1
  205. package/dist/components/nv-button.js +1 -1
  206. package/dist/components/nv-buttongroup.js +1 -1
  207. package/dist/components/nv-calendar.js +1 -1
  208. package/dist/components/nv-col.js +1 -1
  209. package/dist/components/nv-datagrid.js +1 -1
  210. package/dist/components/nv-datagridcolumn.js +1 -1
  211. package/dist/components/nv-datetest.d.ts +11 -0
  212. package/dist/components/nv-datetest.js +1 -0
  213. package/dist/components/nv-datetimetest.d.ts +11 -0
  214. package/dist/components/nv-datetimetest.js +1 -0
  215. package/dist/components/nv-dialog.js +1 -1
  216. package/dist/components/nv-dialogfooter.js +1 -1
  217. package/dist/components/nv-dialogheader.js +1 -1
  218. package/dist/components/nv-drawer.js +1 -1
  219. package/dist/components/nv-drawerfooter.js +1 -1
  220. package/dist/components/nv-drawerheader.js +1 -1
  221. package/dist/components/nv-fieldcheckbox.js +1 -1
  222. package/dist/components/nv-fielddate.js +1 -1
  223. package/dist/components/nv-fielddaterange.js +1 -1
  224. package/dist/components/nv-fielddropdown.js +1 -1
  225. package/dist/components/nv-fielddropdownitem.js +1 -1
  226. package/dist/components/nv-fielddropdownitemcheck.js +1 -1
  227. package/dist/components/nv-fieldmultiselect.js +1 -1
  228. package/dist/components/nv-fieldnumber.js +1 -1
  229. package/dist/components/nv-fieldpassword.js +1 -1
  230. package/dist/components/nv-fieldradio.js +1 -1
  231. package/dist/components/nv-fieldselect.js +1 -1
  232. package/dist/components/nv-fieldslider.js +1 -1
  233. package/dist/components/nv-fieldtext.js +1 -1
  234. package/dist/components/nv-fieldtextarea.js +1 -1
  235. package/dist/components/nv-fieldtime.js +1 -1
  236. package/dist/components/nv-icon.js +1 -1
  237. package/dist/components/nv-iconbutton.js +1 -1
  238. package/dist/components/nv-loader.js +1 -1
  239. package/dist/components/nv-menu.js +1 -1
  240. package/dist/components/nv-menuitem.js +1 -1
  241. package/dist/components/nv-notification-bullet.js +1 -1
  242. package/dist/components/nv-notification.js +1 -1
  243. package/dist/components/nv-notificationcontainer.js +1 -1
  244. package/dist/components/nv-pagination-nav.d.ts +11 -0
  245. package/dist/components/nv-pagination-nav.js +1 -0
  246. package/dist/components/nv-paginationtable.js +1 -1
  247. package/dist/components/nv-popover.js +1 -1
  248. package/dist/components/nv-row.js +1 -1
  249. package/dist/components/nv-sidebar.js +1 -1
  250. package/dist/components/nv-sidebarcontent.js +1 -1
  251. package/dist/components/nv-sidebardivider.js +1 -1
  252. package/dist/components/nv-sidebarfooter.js +1 -1
  253. package/dist/components/nv-sidebargroup.js +1 -1
  254. package/dist/components/nv-sidebarheader.js +1 -1
  255. package/dist/components/nv-sidebarlogo.js +1 -1
  256. package/dist/components/nv-sidebarnavitem.js +1 -1
  257. package/dist/components/nv-sidebarnavsubitem.js +1 -1
  258. package/dist/components/nv-split.js +1 -1
  259. package/dist/components/nv-stack.js +1 -1
  260. package/dist/components/nv-table.js +1 -1
  261. package/dist/components/nv-tableheader.js +1 -1
  262. package/dist/components/nv-timetest.d.ts +11 -0
  263. package/dist/components/nv-timetest.js +1 -0
  264. package/dist/components/nv-toggle.js +1 -1
  265. package/dist/components/nv-togglebutton.js +1 -1
  266. package/dist/components/nv-togglebuttongroup.js +1 -1
  267. package/dist/components/nv-tooltip.js +1 -1
  268. package/dist/components/{p-iXsbKJzR.js → p-6nAIGZFL.js} +1 -1
  269. package/dist/components/{p-yHGZRC6Q.js → p-BwYt1BAb.js} +1 -1
  270. package/dist/components/{p-C9p4yTS2.js → p-C5J7jtrC.js} +1 -1
  271. package/dist/components/{p-CEI7jWvn.js → p-CAGzfU3O.js} +1 -1
  272. package/dist/components/{p-B5KLppep.js → p-CKFXHAaU.js} +1 -1
  273. package/dist/components/{p-DHNSuxz-.js → p-CLzCfsnq.js} +1 -1
  274. package/dist/components/{p-Bh6WGsHA.js → p-CnkB4kvn.js} +1 -1
  275. package/dist/components/{p-DDqZBSGn.js → p-Co8IghI-.js} +1 -1
  276. package/dist/components/p-CrRawrjU.js +1 -0
  277. package/dist/components/p-CyL2J6O4.js +74 -0
  278. package/dist/components/{p-Ce1IBFTa.js → p-D2C_Qr5O.js} +1 -1
  279. package/dist/components/{p-CAKTe96z.js → p-DE792Sds.js} +1 -1
  280. package/dist/components/{p-RUeDcouW.js → p-DGj-fiRX.js} +1 -1
  281. package/dist/components/{p-C2J7j_fw.js → p-DUaenjr8.js} +1 -1
  282. package/dist/components/{p-laRga5dw.js → p-DVFofrTe.js} +1 -1
  283. package/dist/components/{p-BfaMgLx7.js → p-DlOgBZa8.js} +2 -2
  284. package/dist/components/{p-BAlaMmS4.js → p-Du3Fh0jQ.js} +1 -1
  285. package/dist/components/p-DwtLxfU5.js +1 -0
  286. package/dist/components/{p-DhDxhFz-.js → p-VXpV-BUK.js} +1 -1
  287. package/dist/components/{p-CZcMM7Lh.js → p-f8OUzde-.js} +1 -1
  288. package/dist/components/{p-DqU-wS_x.js → p-h3cPA0Cx.js} +1 -1
  289. package/dist/components/p-nzxGC8BS.js +1 -0
  290. package/dist/components/p-qkNH2RHl.js +1 -0
  291. package/dist/components/{p-nmQOuX7R.js → p-xrXEz2WP.js} +1 -1
  292. package/dist/esm/{index-S-IZ4AN_.js → index-BCjiE1MF.js} +17 -1
  293. package/dist/esm/index.js +5 -0
  294. package/dist/esm/loader.js +3 -3
  295. package/dist/esm/native.js +3 -3
  296. package/dist/esm/nova-datetime-CyL2J6O4.js +10636 -0
  297. package/dist/esm/nv-accordion-item.entry.js +1 -1
  298. package/dist/esm/nv-accordion.entry.js +1 -1
  299. package/dist/esm/nv-alert.entry.js +1 -1
  300. package/dist/esm/nv-avatar.entry.js +1 -1
  301. package/dist/esm/nv-badge_2.entry.js +2 -2
  302. package/dist/esm/nv-breadcrumb.entry.js +1 -1
  303. package/dist/esm/nv-breadcrumbs.entry.js +1 -1
  304. package/dist/esm/nv-button.entry.js +1 -1
  305. package/dist/esm/nv-buttongroup.entry.js +1 -1
  306. package/dist/esm/nv-calendar.entry.js +1 -1
  307. package/dist/esm/nv-col.entry.js +1 -1
  308. package/dist/esm/nv-datagrid.entry.js +1 -1
  309. package/dist/esm/nv-datagridcolumn.entry.js +1 -1
  310. package/dist/esm/nv-datetest.entry.js +64 -0
  311. package/dist/esm/nv-datetimetest.entry.js +52 -0
  312. package/dist/esm/nv-dialog.entry.js +16 -3
  313. package/dist/esm/nv-dialogfooter_2.entry.js +3 -3
  314. package/dist/esm/nv-drawer.entry.js +2 -2
  315. package/dist/esm/nv-drawerfooter_2.entry.js +3 -3
  316. package/dist/esm/nv-fieldcheckbox.entry.js +5 -5
  317. package/dist/esm/nv-fielddate.entry.js +7 -7
  318. package/dist/esm/nv-fielddaterange.entry.js +7 -7
  319. package/dist/esm/nv-fielddropdown.entry.js +5 -5
  320. package/dist/esm/nv-fielddropdownitem.entry.js +2 -2
  321. package/dist/esm/nv-fieldmultiselect.entry.js +1 -1
  322. package/dist/esm/nv-fieldnumber.entry.js +5 -5
  323. package/dist/esm/nv-fieldpassword.entry.js +5 -5
  324. package/dist/esm/nv-fieldradio.entry.js +4 -4
  325. package/dist/esm/nv-fieldselect.entry.js +6 -6
  326. package/dist/esm/nv-fieldslider.entry.js +4 -4
  327. package/dist/esm/nv-fieldtext.entry.js +5 -5
  328. package/dist/esm/nv-fieldtextarea.entry.js +4 -4
  329. package/dist/esm/nv-fieldtime.entry.js +4 -4
  330. package/dist/esm/nv-icon.entry.js +3 -3
  331. package/dist/esm/nv-iconbutton_2.entry.js +3 -3
  332. package/dist/esm/nv-menu.entry.js +2 -2
  333. package/dist/esm/nv-menuitem.entry.js +2 -2
  334. package/dist/esm/nv-notification-bullet.entry.js +1 -1
  335. package/dist/esm/nv-notification.entry.js +2 -2
  336. package/dist/esm/nv-notificationcontainer.entry.js +2 -14
  337. package/dist/esm/nv-pagination-nav.entry.js +196 -0
  338. package/dist/esm/nv-paginationtable.entry.js +2 -2
  339. package/dist/esm/nv-popover.entry.js +2 -2
  340. package/dist/esm/nv-row.entry.js +2 -2
  341. package/dist/esm/nv-sidebar.entry.js +2 -2
  342. package/dist/esm/nv-sidebarcontent.entry.js +2 -2
  343. package/dist/esm/nv-sidebardivider.entry.js +2 -2
  344. package/dist/esm/nv-sidebarfooter.entry.js +2 -2
  345. package/dist/esm/nv-sidebargroup.entry.js +2 -2
  346. package/dist/esm/nv-sidebarheader.entry.js +2 -2
  347. package/dist/esm/nv-sidebarlogo.entry.js +2 -2
  348. package/dist/esm/nv-sidebarnavitem.entry.js +12 -5
  349. package/dist/esm/nv-sidebarnavsubitem.entry.js +2 -2
  350. package/dist/esm/nv-split.entry.js +2 -2
  351. package/dist/esm/nv-stack.entry.js +2 -2
  352. package/dist/esm/nv-table.entry.js +2 -2
  353. package/dist/esm/nv-tableheader.entry.js +2 -2
  354. package/dist/esm/nv-timetest.entry.js +70 -0
  355. package/dist/esm/nv-toggle.entry.js +3 -3
  356. package/dist/esm/nv-togglebutton.entry.js +2 -2
  357. package/dist/esm/nv-togglebuttongroup.entry.js +2 -2
  358. package/dist/esm/nv-tooltip.entry.js +9 -4
  359. package/dist/lib/generators/docs-blazor.js +4 -1
  360. package/dist/lib/utils/parseToCSharpTypes.js +114 -18
  361. package/dist/lib/utils/test/parseToCSharpTypes.test.js +95 -1
  362. package/dist/native/index.esm.js +1 -1
  363. package/dist/native/native.css +1 -1
  364. package/dist/native/native.esm.js +1 -1
  365. package/dist/native/{p-a8bc3b92.entry.js → p-05f7bad5.entry.js} +1 -1
  366. package/dist/native/{p-043d500e.entry.js → p-083b39c5.entry.js} +1 -1
  367. package/dist/native/{p-3fb1a188.entry.js → p-0bb64497.entry.js} +1 -1
  368. package/dist/native/{p-1bf1a213.entry.js → p-0fe84123.entry.js} +1 -1
  369. package/dist/native/p-1029a266.entry.js +1 -0
  370. package/dist/native/p-12a8443b.entry.js +1 -0
  371. package/dist/native/{p-bdaab534.entry.js → p-148c1d3e.entry.js} +1 -1
  372. package/dist/native/{p-79d8c26b.entry.js → p-1d7a27bb.entry.js} +1 -1
  373. package/dist/native/{p-11eb959b.entry.js → p-1e03fc3c.entry.js} +1 -1
  374. package/dist/native/{p-f22d2ad9.entry.js → p-213c5836.entry.js} +1 -1
  375. package/dist/native/{p-d46ea49a.entry.js → p-25ef7329.entry.js} +1 -1
  376. package/dist/native/p-291b297d.entry.js +1 -0
  377. package/dist/native/{p-e937d495.entry.js → p-2af6d988.entry.js} +1 -1
  378. package/dist/native/{p-89f7d483.entry.js → p-343c04db.entry.js} +1 -1
  379. package/dist/native/{p-7a8e2ef3.entry.js → p-37c41059.entry.js} +1 -1
  380. package/dist/native/{p-a92e2ad8.entry.js → p-3c4114b8.entry.js} +1 -1
  381. package/dist/native/{p-31301f1e.entry.js → p-46267895.entry.js} +1 -1
  382. package/dist/native/p-493c1bb5.entry.js +1 -0
  383. package/dist/native/{p-70abbe4f.entry.js → p-4ac8181c.entry.js} +1 -1
  384. package/dist/native/{p-04956305.entry.js → p-4bf96114.entry.js} +1 -1
  385. package/dist/native/p-544b34d4.entry.js +1 -0
  386. package/dist/native/{p-0ec34d19.entry.js → p-58966e0f.entry.js} +1 -1
  387. package/dist/native/{p-e1021e2c.entry.js → p-5c003e50.entry.js} +1 -1
  388. package/dist/native/{p-1dd3da3b.entry.js → p-5ce3d30b.entry.js} +1 -1
  389. package/dist/native/p-5ea697a7.entry.js +1 -0
  390. package/dist/native/{p-3a04a563.entry.js → p-5ef0ed10.entry.js} +1 -1
  391. package/dist/native/{p-0e8b544b.entry.js → p-63f2f87f.entry.js} +1 -1
  392. package/dist/native/{p-6a9363a6.entry.js → p-644ecff8.entry.js} +1 -1
  393. package/dist/native/{p-5cbf5973.entry.js → p-67e0680e.entry.js} +1 -1
  394. package/dist/native/{p-bd143e7b.entry.js → p-6d8d2088.entry.js} +1 -1
  395. package/dist/native/{p-a9a20f37.entry.js → p-72d8cb56.entry.js} +1 -1
  396. package/dist/native/p-75a2a2ac.entry.js +1 -0
  397. package/dist/native/{p-bdbc92d9.entry.js → p-767ee0fc.entry.js} +1 -1
  398. package/dist/native/{p-8ce17efd.entry.js → p-7aa4605d.entry.js} +1 -1
  399. package/dist/native/{p-0819a7b1.entry.js → p-7c00f6da.entry.js} +1 -1
  400. package/dist/native/p-7d164a7a.entry.js +1 -0
  401. package/dist/native/{p-06a17aba.entry.js → p-7ec28d5d.entry.js} +1 -1
  402. package/dist/native/{p-dc0d1690.entry.js → p-89348af5.entry.js} +1 -1
  403. package/dist/native/p-8e1bcadc.entry.js +1 -0
  404. package/dist/native/{p-b0d97496.entry.js → p-90b8b889.entry.js} +1 -1
  405. package/dist/native/{p-945ca1db.entry.js → p-95a9d385.entry.js} +1 -1
  406. package/dist/native/{p-a9a07a8d.entry.js → p-9709c7d5.entry.js} +1 -1
  407. package/dist/native/p-9fc95cf3.entry.js +1 -0
  408. package/dist/native/{p-S-IZ4AN_.js → p-BCjiE1MF.js} +1 -1
  409. package/dist/native/p-CyL2J6O4.js +74 -0
  410. package/dist/native/{p-aa232a20.entry.js → p-a16f8a14.entry.js} +1 -1
  411. package/dist/native/p-ac765e6a.entry.js +1 -0
  412. package/dist/native/p-b3477504.entry.js +1 -0
  413. package/dist/native/{p-c3ea1eca.entry.js → p-c2c826a4.entry.js} +1 -1
  414. package/dist/native/p-c56ffa82.entry.js +1 -0
  415. package/dist/native/{p-6b655545.entry.js → p-c5d97054.entry.js} +1 -1
  416. package/dist/native/{p-48e7b457.entry.js → p-cfa0eb58.entry.js} +1 -1
  417. package/dist/native/p-d3e66306.entry.js +1 -0
  418. package/dist/native/p-d5f5a6e1.entry.js +1 -0
  419. package/dist/native/{p-702a6646.entry.js → p-d8120afd.entry.js} +1 -1
  420. package/dist/native/p-dc2ce8ee.entry.js +1 -0
  421. package/dist/native/{p-85c8be32.entry.js → p-e3fb16af.entry.js} +1 -1
  422. package/dist/native/{p-7c413f8b.entry.js → p-e46c35a0.entry.js} +1 -1
  423. package/dist/native/{p-e05b6008.entry.js → p-ec23ce93.entry.js} +1 -1
  424. package/dist/native/{p-bef3d325.entry.js → p-f7522dac.entry.js} +1 -1
  425. package/dist/native/{p-64104dbd.entry.js → p-f9612edf.entry.js} +1 -1
  426. package/dist/native/{p-fba55e2f.entry.js → p-fab2f2b3.entry.js} +1 -1
  427. package/dist/native/{p-2106dfbd.entry.js → p-fb34fc7d.entry.js} +1 -1
  428. package/dist/native/{p-98ea927d.entry.js → p-fd5e27ae.entry.js} +1 -1
  429. package/dist/types/components/nv-datetest/nv-datetest.d.ts +48 -0
  430. package/dist/types/components/nv-datetest/nv-datetest.docs.d.ts +4 -0
  431. package/dist/types/components/nv-datetimetest/nv-datetimetest.d.ts +44 -0
  432. package/dist/types/components/nv-datetimetest/nv-datetimetest.docs.d.ts +4 -0
  433. package/dist/types/components/nv-dialog/nv-dialog.d.ts +9 -0
  434. package/dist/types/components/nv-icon/nv-icons.d.ts +1 -1
  435. package/dist/types/components/nv-notificationcontainer/nv-notificationcontainer.d.ts +0 -6
  436. package/dist/types/components/nv-pagination-nav/nv-pagination-nav.d.ts +82 -0
  437. package/dist/types/components/nv-pagination-nav/nv-pagination-nav.docs.d.ts +4 -0
  438. package/dist/types/components/nv-pagination-nav/nv-pagination-nav.utils.d.ts +26 -0
  439. package/dist/types/components/nv-pagination-nav/test/nv-pagination-nav.utils.test.d.ts +1 -0
  440. package/dist/types/components/nv-sidebarlogo/nv-sidebarlogo.d.ts +2 -0
  441. package/dist/types/components/nv-timetest/nv-timetest.d.ts +48 -0
  442. package/dist/types/components/nv-timetest/nv-timetest.docs.d.ts +4 -0
  443. package/dist/types/components.d.ts +421 -15
  444. package/dist/types/index.d.ts +2 -0
  445. package/dist/types/interfaces/dates.d.ts +8 -0
  446. package/dist/types/nova-docs.d.ts +8 -0
  447. package/dist/types/utils/nova-datetime.d.ts +79 -0
  448. package/dist/types/utils/test/nova-datetime.test.d.ts +1 -0
  449. package/dist/vscode-data.json +107 -0
  450. package/hydrate/index.js +11096 -107
  451. package/hydrate/index.mjs +11096 -107
  452. package/package.json +18 -1
  453. package/dist/components/p-BPufjY85.js +0 -1
  454. package/dist/components/p-D15RdWEG.js +0 -1
  455. package/dist/components/p-FSPz8FER.js +0 -1
  456. package/dist/components/p-jZF_Ggmx.js +0 -1
  457. package/dist/native/p-0bfd188c.entry.js +0 -1
  458. package/dist/native/p-17f2525a.entry.js +0 -1
  459. package/dist/native/p-1a5db5e9.entry.js +0 -1
  460. package/dist/native/p-87a1b06c.entry.js +0 -1
  461. package/dist/native/p-8dadc0c9.entry.js +0 -1
  462. package/dist/native/p-97a5f8d5.entry.js +0 -1
  463. package/dist/native/p-ae4fc02a.entry.js +0 -1
  464. package/dist/native/p-c825c542.entry.js +0 -1
  465. package/dist/native/p-ce2c17dc.entry.js +0 -1
  466. package/dist/native/p-f2a32774.entry.js +0 -1
  467. package/dist/native/p-f5eff2b2.entry.js +0 -1
  468. package/dist/native/p-f64f1bea.entry.js +0 -1
@@ -18,7 +18,7 @@ export class NvStack {
18
18
  /****************************************************************************/
19
19
  //#region RENDER
20
20
  render() {
21
- return (h(Host, { key: '1fe102ad734149231a7058af441e5ee77ef97ca3', class: clsx(this.fill && 'nv-stack-fill', this.flex && 'nv-stack-flex', this.full && 'w-full', this.gutter && !this.vertical && `gap-x-${this.gutter}`, this.gutter && this.vertical && `gap-y-${this.gutter}`, this.vertical && 'nv-stack-vertical') }, h("slot", { key: 'f7ed597dabd90182887096441ff1258812dfe9fc' })));
21
+ return (h(Host, { key: '861c5eed0b6dc7cdd5bf3a2d07af92127e2025bf', class: clsx(this.fill && 'nv-stack-fill', this.flex && 'nv-stack-flex', this.full && 'w-full', this.gutter && !this.vertical && `gap-x-${this.gutter}`, this.gutter && this.vertical && `gap-y-${this.gutter}`, this.vertical && 'nv-stack-vertical') }, h("slot", { key: '4cf3d3fb15fa6c4ed2d7d6bb70334965b0cca457' })));
22
22
  }
23
23
  static get is() { return "nv-stack"; }
24
24
  static get originalStyleUrls() {
@@ -1,6 +1,7 @@
1
1
  import { h } from "@stencil/core";
2
2
  const NvTableDocs = {
3
3
  component: 'nv-table',
4
+ parentGroup: 'Table/nv-table',
4
5
  subcomponents: ['nv-tableheader'],
5
6
  composedComponents: ['nv-tableheader'],
6
7
  stories: [
@@ -58,7 +58,7 @@ export class NvTable {
58
58
  /****************************************************************************/
59
59
  //#region RENDER
60
60
  render() {
61
- return (h(Host, { key: '0d5518a54b41c67bdd7c73d5147fd954fb53d388' }, h("slot", { key: '8ab65d5dd1ce751fd357b275b84db042b1d9ce2e' })));
61
+ return (h(Host, { key: 'a6882cbcf9b0b12776f6d4be6d9cbfb42aff6833' }, h("slot", { key: 'd4d47a2eb77c50ff30109e217ceecd2677b9d28d' })));
62
62
  }
63
63
  static get is() { return "nv-table"; }
64
64
  static get originalStyleUrls() {
@@ -2,6 +2,7 @@ import { h } from "@stencil/core";
2
2
  import { nameof } from "../../utils/class.utils";
3
3
  const NvTableheaderDocs = {
4
4
  component: 'nv-tableheader',
5
+ parentGroup: 'Table/nv-table',
5
6
  badge: 'beta',
6
7
  stories: [
7
8
  // Default
@@ -55,7 +55,7 @@ export class NvTableheader {
55
55
  /****************************************************************************/
56
56
  //#region RENDER
57
57
  render() {
58
- return (h(Host, { key: '95447cd8ccde74d09226bcdbf645eed309be0fa8', role: "columnheader", "aria-sort": this.ariaSort, tabindex: this.sortable ? 0 : undefined, onKeyDown: this.handleKeyDown.bind(this), onClick: this.cycleSortDirection.bind(this) }, h("slot", { key: '4e26aa21f080cf23ce42fb72d6777463bd079991' }), this.sortable && (h("span", { key: '666254c197e97226d2f1c6830d1216b9457c4acc', class: "sort-icon-wrap", "aria-hidden": "true" }, h("nv-iconbutton", { key: '11b2de5c4c270740857094ec8a39f1d392d7246a', disableTabindex: true, name: "arrow-up", size: "xs", emphasis: this.sortDirection === 'none' ? 'lower' : 'low',
58
+ return (h(Host, { key: '962f555a02b3035148c5915ae7493c68c0202cc7', role: "columnheader", "aria-sort": this.ariaSort, tabindex: this.sortable ? 0 : undefined, onKeyDown: this.handleKeyDown.bind(this), onClick: this.cycleSortDirection.bind(this) }, h("slot", { key: '0e69da3d4e2eb8ad01060f51d5043ffc14380415' }), this.sortable && (h("span", { key: 'a9b5ff97552d142cc3e1becc14a34ebab1f3092d', class: "sort-icon-wrap", "aria-hidden": "true" }, h("nv-iconbutton", { key: '76f832eba2b57f244dbce597668f493a918cf599', disableTabindex: true, name: "arrow-up", size: "xs", emphasis: this.sortDirection === 'none' ? 'lower' : 'low',
59
59
  // prevent mousedown from selecting text
60
60
  onMouseDown: (e) => e.preventDefault(), class: {
61
61
  'is-none': this.sortDirection === 'none',
@@ -0,0 +1,15 @@
1
+ nv-timetest {
2
+ display: flex;
3
+ }
4
+ nv-timetest label {
5
+ display: flex;
6
+ flex-direction: column;
7
+ margin-right: 10px;
8
+ font-weight: bold;
9
+ }
10
+ nv-timetest input {
11
+ font-weight: normal;
12
+ padding: var(--spacing-2);
13
+ border-radius: var(--spacing-1);
14
+ border: 1px solid #ccc;
15
+ }
@@ -0,0 +1,5 @@
1
+ const NvTimetestDocs = {
2
+ component: 'nv-timetest',
3
+ skip: true,
4
+ };
5
+ export default NvTimetestDocs;
@@ -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: '38dd2a460c82599e2c2bfd6b039eafff0dc6fc67', class: clsx(this.labelPlacement === 'before' && 'label-placement-before') }, h("div", { key: '4d6bf742f548cc5f92ae84497f12569d9680dcef', class: "input-container" }, h("input", { key: '97f54363c17cde48ec226680ee58da012e590b69', 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: 'e4576a0884f02731a3e6d2d20537cfabf411a8fe', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { key: '4744036b0d1e73f350bbc4b6f6e7664bb9361d1e', htmlFor: this.inputId, class: clsx(this.hideLabel && 'visually-hidden') }, h("slot", { key: '44a2aeb86c840246473bc47e0ba01269af77ef06', name: "label" }, this.label))), (this.description ||
64
- this.el.querySelector('[slot="description"]')) && (h("div", { key: '6e5c3d1721c9db3cffd019c9274294c40793daf0', class: "description" }, h("slot", { key: '87c3d35c78ded085cd1ddb5b2874dfae7bd99842', 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: '4af1293d9eb69a3a20d8f30c6b2876c6c29ddc03', role: "button", tabindex: "0", "aria-pressed": String(this.active), onClick: this.handleClick }, h("slot", { key: '783fad27c525553cd404c1ffed0ae1305d330de8' })));
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: '1116872815229d09e1e286dd1f12a9787218e207' }, h("slot", { key: 'fa5363ec707f38830065718b2423dd8493acdd4e' })));
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: 'bda9ba58186add585457f8fdf4a8e1d6389da01a' }, h("nv-popover", { key: 'ac67ea44cebbc8abb9ff4e190668093bb7179222', 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: 'b677689d4a73462b7d16ff7d9f31bfd61e7f47eb', slot: "content" }, this.message), h("slot", { key: 'bd1540db065fdeceb89d09d69e1dbf7ad4de728d', name: "content" })), h("slot", { key: '648d3c3125b0528cd8e88675122d775ad7cc40d9', 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';