@nova-design-system/nova-webcomponents 3.15.0 → 3.16.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 (536) hide show
  1. package/dist/cjs/{index-c56424e5.js → index-93d3b2f8.js} +5 -6
  2. package/dist/cjs/index-93d3b2f8.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +6 -1
  4. package/dist/cjs/index.cjs.js.map +1 -1
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/native.cjs.js +2 -2
  7. package/dist/cjs/nv-accordion-item.cjs.entry.js +2 -2
  8. package/dist/cjs/nv-accordion-item.cjs.entry.js.map +1 -1
  9. package/dist/cjs/nv-accordion.cjs.entry.js +6 -6
  10. package/dist/cjs/nv-accordion.cjs.entry.js.map +1 -1
  11. package/dist/cjs/nv-alert.cjs.entry.js +2 -2
  12. package/dist/cjs/nv-alert.cjs.entry.js.map +1 -1
  13. package/dist/cjs/nv-avatar.cjs.entry.js +2 -2
  14. package/dist/cjs/nv-avatar.cjs.entry.js.map +1 -1
  15. package/dist/cjs/nv-badge_2.cjs.entry.js +1 -1
  16. package/dist/cjs/nv-breadcrumb.cjs.entry.js +2 -2
  17. package/dist/cjs/nv-breadcrumb.cjs.entry.js.map +1 -1
  18. package/dist/cjs/nv-breadcrumbs.cjs.entry.js +1 -1
  19. package/dist/cjs/nv-button.cjs.entry.js +2 -2
  20. package/dist/cjs/nv-button.cjs.entry.js.map +1 -1
  21. package/dist/cjs/nv-buttongroup.cjs.entry.js +1 -1
  22. package/dist/cjs/nv-calendar.cjs.entry.js +1 -1
  23. package/dist/cjs/nv-col.cjs.entry.js +1 -1
  24. package/dist/cjs/nv-datagrid.cjs.entry.js +177 -10
  25. package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
  26. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +1 -1
  27. package/dist/cjs/nv-dialog.cjs.entry.js +32 -29
  28. package/dist/cjs/nv-dialog.cjs.entry.js.map +1 -1
  29. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +2 -2
  30. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js.map +1 -1
  31. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +2 -2
  32. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js.map +1 -1
  33. package/dist/cjs/nv-fielddate.cjs.entry.js +51 -26
  34. package/dist/cjs/nv-fielddate.cjs.entry.js.map +1 -1
  35. package/dist/cjs/nv-fielddaterange.cjs.entry.js +68 -42
  36. package/dist/cjs/nv-fielddaterange.cjs.entry.js.map +1 -1
  37. package/dist/cjs/nv-fielddropdown.cjs.entry.js +33 -7
  38. package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
  39. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
  40. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +187 -156
  41. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
  42. package/dist/cjs/nv-fieldnumber.cjs.entry.js +2 -2
  43. package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
  44. package/dist/cjs/nv-fieldpassword.cjs.entry.js +2 -2
  45. package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
  46. package/dist/cjs/nv-fieldradio.cjs.entry.js +2 -2
  47. package/dist/cjs/nv-fieldradio.cjs.entry.js.map +1 -1
  48. package/dist/cjs/nv-fieldselect.cjs.entry.js +2 -2
  49. package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
  50. package/dist/cjs/nv-fieldslider.cjs.entry.js +2 -2
  51. package/dist/cjs/nv-fieldslider.cjs.entry.js.map +1 -1
  52. package/dist/cjs/nv-fieldtext.cjs.entry.js +2 -2
  53. package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -1
  54. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +2 -2
  55. package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -1
  56. package/dist/cjs/nv-fieldtime.cjs.entry.js +25 -12
  57. package/dist/cjs/nv-fieldtime.cjs.entry.js.map +1 -1
  58. package/dist/cjs/nv-icon.cjs.entry.js +2 -2
  59. package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
  60. package/dist/cjs/nv-iconbutton_2.cjs.entry.js +2 -2
  61. package/dist/cjs/nv-iconbutton_2.cjs.entry.js.map +1 -1
  62. package/dist/cjs/nv-menu.cjs.entry.js +24 -9
  63. package/dist/cjs/nv-menu.cjs.entry.js.map +1 -1
  64. package/dist/cjs/nv-menuitem.cjs.entry.js +1 -1
  65. package/dist/cjs/nv-notification.cjs.entry.js +2 -2
  66. package/dist/cjs/nv-notification.cjs.entry.js.map +1 -1
  67. package/dist/cjs/nv-notificationcontainer.cjs.entry.js +1 -1
  68. package/dist/cjs/nv-popover.cjs.entry.js +67 -61
  69. package/dist/cjs/nv-popover.cjs.entry.js.map +1 -1
  70. package/dist/cjs/nv-row.cjs.entry.js +1 -1
  71. package/dist/cjs/nv-stack.cjs.entry.js +1 -1
  72. package/dist/cjs/nv-table.cjs.entry.js +216 -310
  73. package/dist/cjs/nv-table.cjs.entry.js.map +1 -1
  74. package/dist/cjs/nv-toggle.cjs.entry.js +4 -4
  75. package/dist/cjs/nv-toggle.cjs.entry.js.map +1 -1
  76. package/dist/cjs/nv-togglebutton.cjs.entry.js +2 -2
  77. package/dist/cjs/nv-togglebuttongroup.cjs.entry.js +2 -2
  78. package/dist/cjs/nv-togglebuttongroup.cjs.entry.js.map +1 -1
  79. package/dist/cjs/nv-tooltip.cjs.entry.js +2 -2
  80. package/dist/collection/collection-manifest.json +0 -1
  81. package/dist/collection/components/nv-accordion/nv-accordion.js +12 -9
  82. package/dist/collection/components/nv-accordion/nv-accordion.js.map +1 -1
  83. package/dist/collection/components/nv-accordion-item/nv-accordion-item.js.map +1 -1
  84. package/dist/collection/components/nv-accordion-item/styles/nv-accordion-item.css +1 -1
  85. package/dist/collection/components/nv-alert/nv-alert.css +1 -1
  86. package/dist/collection/components/nv-avatar/nv-avatar.css +1 -1
  87. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.css +1 -1
  88. package/dist/collection/components/nv-button/styles/nv-button.css +1 -1
  89. package/dist/collection/components/nv-datagrid/nv-datagrid.css +2 -2
  90. package/dist/collection/components/nv-dialog/nv-dialog.css +2 -2
  91. package/dist/collection/components/nv-dialog/nv-dialog.docs.js +13 -0
  92. package/dist/collection/components/nv-dialog/nv-dialog.docs.js.map +1 -1
  93. package/dist/collection/components/nv-dialog/nv-dialog.js +30 -27
  94. package/dist/collection/components/nv-dialog/nv-dialog.js.map +1 -1
  95. package/dist/collection/components/nv-dialogheader/nv-dialogheader.css +4 -4
  96. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.css +3 -3
  97. package/dist/collection/components/nv-fielddate/nv-fielddate.js +49 -24
  98. package/dist/collection/components/nv-fielddate/nv-fielddate.js.map +1 -1
  99. package/dist/collection/components/nv-fielddate/styles/nv-fielddate.css +8 -8
  100. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +66 -43
  101. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +1 -1
  102. package/dist/collection/components/nv-fielddaterange/styles/nv-fielddaterange.css +8 -8
  103. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +26 -4
  104. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +1 -1
  105. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +32 -4
  106. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
  107. package/dist/collection/components/nv-fielddropdown/styles/nv-fielddropdown.css +9 -9
  108. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +186 -153
  109. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
  110. package/dist/collection/components/nv-fieldmultiselect/styles/nv-fieldmultiselect.css +9 -9
  111. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.css +8 -8
  112. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.css +8 -8
  113. package/dist/collection/components/nv-fieldradio/nv-fieldradio.css +3 -3
  114. package/dist/collection/components/nv-fieldselect/nv-fieldselect.css +12 -12
  115. package/dist/collection/components/nv-fieldslider/styles/nv-fieldslider.css +7 -7
  116. package/dist/collection/components/nv-fieldtext/nv-fieldtext.css +8 -8
  117. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +9 -1
  118. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js.map +1 -1
  119. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.css +8 -8
  120. package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js +22 -0
  121. package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js.map +1 -1
  122. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +24 -9
  123. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js.map +1 -1
  124. package/dist/collection/components/nv-fieldtime/styles/nv-fieldtime.css +8 -8
  125. package/dist/collection/components/nv-icon/nv-icons.js +6 -1
  126. package/dist/collection/components/nv-icon/nv-icons.js.map +1 -1
  127. package/dist/collection/components/nv-iconbutton/nv-iconbutton.css +2 -2
  128. package/dist/collection/components/nv-menu/nv-menu.docs.js +7 -0
  129. package/dist/collection/components/nv-menu/nv-menu.docs.js.map +1 -1
  130. package/dist/collection/components/nv-menu/nv-menu.js +26 -8
  131. package/dist/collection/components/nv-menu/nv-menu.js.map +1 -1
  132. package/dist/collection/components/nv-menuitem/nv-menuitem.js +1 -1
  133. package/dist/collection/components/nv-notification/styles/nv-notification.css +2 -2
  134. package/dist/collection/components/nv-popover/nv-popover.docs.js +11 -0
  135. package/dist/collection/components/nv-popover/nv-popover.docs.js.map +1 -1
  136. package/dist/collection/components/nv-popover/nv-popover.js +66 -60
  137. package/dist/collection/components/nv-popover/nv-popover.js.map +1 -1
  138. package/dist/collection/components/nv-table/nv-table.docs.js +16 -155
  139. package/dist/collection/components/nv-table/nv-table.docs.js.map +1 -1
  140. package/dist/collection/components/nv-table/nv-table.js +68 -496
  141. package/dist/collection/components/nv-table/nv-table.js.map +1 -1
  142. package/dist/collection/components/nv-table/nv-table.utils.js +175 -0
  143. package/dist/collection/components/nv-table/nv-table.utils.js.map +1 -0
  144. package/dist/collection/components/nv-table/styles/nv-table.css +84 -0
  145. package/dist/collection/components/nv-table/test/nv-table.utils.test.js +604 -0
  146. package/dist/collection/components/nv-table/test/nv-table.utils.test.js.map +1 -0
  147. package/dist/collection/components/nv-toggle/nv-toggle.css +3 -3
  148. package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
  149. package/dist/collection/components/nv-togglebutton/nv-togglebutton.js +1 -1
  150. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.js +1 -0
  151. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.js.map +1 -1
  152. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js +1 -3
  153. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js.map +1 -1
  154. package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
  155. package/dist/components/index.js +7 -2
  156. package/dist/components/index.js.map +1 -1
  157. package/dist/components/nv-accordion-item.js +1 -1
  158. package/dist/components/nv-accordion.js +10 -10
  159. package/dist/components/nv-accordion.js.map +1 -1
  160. package/dist/components/nv-alert.js +3 -3
  161. package/dist/components/nv-alert.js.map +1 -1
  162. package/dist/components/nv-avatar.js +3 -3
  163. package/dist/components/nv-avatar.js.map +1 -1
  164. package/dist/components/nv-badge.js +1 -1
  165. package/dist/components/nv-breadcrumb.js +4 -4
  166. package/dist/components/nv-breadcrumb.js.map +1 -1
  167. package/dist/components/nv-breadcrumbs.js +1 -1
  168. package/dist/components/nv-button.js +1 -1
  169. package/dist/components/nv-buttongroup.js +1 -1
  170. package/dist/components/nv-calendar.js +1 -1
  171. package/dist/components/nv-col.js +1 -1
  172. package/dist/components/nv-datagrid.js +174 -7
  173. package/dist/components/nv-datagrid.js.map +1 -1
  174. package/dist/components/nv-datagridcolumn.js +1 -1
  175. package/dist/components/nv-dialog.js +37 -34
  176. package/dist/components/nv-dialog.js.map +1 -1
  177. package/dist/components/nv-dialogfooter.js +1 -1
  178. package/dist/components/nv-dialogheader.js +1 -1
  179. package/dist/components/nv-fieldcheckbox.js +1 -1
  180. package/dist/components/nv-fielddate.js +57 -32
  181. package/dist/components/nv-fielddate.js.map +1 -1
  182. package/dist/components/nv-fielddaterange.js +74 -48
  183. package/dist/components/nv-fielddaterange.js.map +1 -1
  184. package/dist/components/nv-fielddropdown.js +40 -13
  185. package/dist/components/nv-fielddropdown.js.map +1 -1
  186. package/dist/components/nv-fielddropdownitem.js +1 -1
  187. package/dist/components/nv-fielddropdownitemcheck.js +1 -1
  188. package/dist/components/nv-fieldmultiselect.js +196 -164
  189. package/dist/components/nv-fieldmultiselect.js.map +1 -1
  190. package/dist/components/nv-fieldnumber.js +1 -1
  191. package/dist/components/nv-fieldpassword.js +5 -5
  192. package/dist/components/nv-fieldpassword.js.map +1 -1
  193. package/dist/components/nv-fieldradio.js +2 -2
  194. package/dist/components/nv-fieldradio.js.map +1 -1
  195. package/dist/components/nv-fieldselect.js +5 -5
  196. package/dist/components/nv-fieldselect.js.map +1 -1
  197. package/dist/components/nv-fieldslider.js +6 -6
  198. package/dist/components/nv-fieldslider.js.map +1 -1
  199. package/dist/components/nv-fieldtext.js +1 -1
  200. package/dist/components/nv-fieldtextarea.js +2 -2
  201. package/dist/components/nv-fieldtextarea.js.map +1 -1
  202. package/dist/components/nv-fieldtime.js +31 -17
  203. package/dist/components/nv-fieldtime.js.map +1 -1
  204. package/dist/components/nv-icon.js +1 -1
  205. package/dist/components/nv-iconbutton.js +1 -1
  206. package/dist/components/nv-loader.js +1 -1
  207. package/dist/components/nv-menu.js +30 -13
  208. package/dist/components/nv-menu.js.map +1 -1
  209. package/dist/components/nv-menuitem.js +1 -1
  210. package/dist/components/nv-notification.js +3 -3
  211. package/dist/components/nv-notification.js.map +1 -1
  212. package/dist/components/nv-notificationcontainer.js +1 -1
  213. package/dist/components/nv-popover.js +1 -1
  214. package/dist/components/nv-row.js +1 -1
  215. package/dist/components/nv-stack.js +1 -1
  216. package/dist/components/nv-table.js +216 -328
  217. package/dist/components/nv-table.js.map +1 -1
  218. package/dist/components/nv-toggle.js +4 -4
  219. package/dist/components/nv-toggle.js.map +1 -1
  220. package/dist/components/nv-togglebutton.js +2 -2
  221. package/dist/components/nv-togglebuttongroup.js +2 -2
  222. package/dist/components/nv-togglebuttongroup.js.map +1 -1
  223. package/dist/components/nv-tooltip.js +1 -1
  224. package/dist/components/{p-00cbf2a1.js → p-0d5ed1d7.js} +3 -3
  225. package/dist/components/p-0d5ed1d7.js.map +1 -0
  226. package/dist/components/{p-54161bad.js → p-0e6f41c7.js} +2 -2
  227. package/dist/components/{p-54161bad.js.map → p-0e6f41c7.js.map} +1 -1
  228. package/dist/components/{p-0c42fafb.js → p-0fd23531.js} +6 -6
  229. package/dist/components/{p-0c42fafb.js.map → p-0fd23531.js.map} +1 -1
  230. package/dist/components/{p-a823b8e9.js → p-1639703f.js} +2 -2
  231. package/dist/components/{p-a823b8e9.js.map → p-1639703f.js.map} +1 -1
  232. package/dist/components/{p-e5c62ea8.js → p-2cc83e0c.js} +3 -3
  233. package/dist/components/{p-e5c62ea8.js.map → p-2cc83e0c.js.map} +1 -1
  234. package/dist/components/p-2d64749f.js +191 -0
  235. package/dist/components/{p-95857e4f.js.map → p-2d64749f.js.map} +1 -1
  236. package/dist/components/{p-3763c9c4.js → p-31478080.js} +3 -3
  237. package/dist/components/{p-3763c9c4.js.map → p-31478080.js.map} +1 -1
  238. package/dist/components/{p-178fa27e.js → p-378e3127.js} +6 -6
  239. package/dist/components/{p-178fa27e.js.map → p-378e3127.js.map} +1 -1
  240. package/dist/components/{p-51876ca1.js → p-429e01f3.js} +3 -3
  241. package/dist/components/p-429e01f3.js.map +1 -0
  242. package/dist/components/p-47d499b4.js +88 -0
  243. package/dist/components/p-47d499b4.js.map +1 -0
  244. package/dist/components/{p-aff3ed68.js → p-5829b9f7.js} +5 -2
  245. package/dist/components/p-5829b9f7.js.map +1 -0
  246. package/dist/components/{p-ee8944f3.js → p-63595ea1.js} +68 -62
  247. package/dist/components/p-63595ea1.js.map +1 -0
  248. package/dist/components/{p-4fc01a78.js → p-7112612c.js} +5 -5
  249. package/dist/components/p-7112612c.js.map +1 -0
  250. package/dist/components/{p-7426b20f.js → p-715e5235.js} +3 -3
  251. package/dist/components/{p-7426b20f.js.map → p-715e5235.js.map} +1 -1
  252. package/dist/components/{p-1af3591a.js → p-9707528d.js} +4 -4
  253. package/dist/components/{p-1af3591a.js.map → p-9707528d.js.map} +1 -1
  254. package/dist/components/{p-fda58a76.js → p-98429fd7.js} +2 -2
  255. package/dist/components/{p-fda58a76.js.map → p-98429fd7.js.map} +1 -1
  256. package/dist/components/{p-31e262bd.js → p-a1ef5e37.js} +5 -5
  257. package/dist/components/{p-31e262bd.js.map → p-a1ef5e37.js.map} +1 -1
  258. package/dist/components/{p-75200cc0.js → p-df5d76a5.js} +3 -3
  259. package/dist/components/{p-75200cc0.js.map → p-df5d76a5.js.map} +1 -1
  260. package/dist/components/{p-51459a44.js → p-f2bac2aa.js} +4 -4
  261. package/dist/components/{p-51459a44.js.map → p-f2bac2aa.js.map} +1 -1
  262. package/dist/esm/{index-a1936cd0.js → index-dc2723f3.js} +5 -6
  263. package/dist/esm/index-dc2723f3.js.map +1 -0
  264. package/dist/esm/index.js +6 -1
  265. package/dist/esm/index.js.map +1 -1
  266. package/dist/esm/loader.js +3 -3
  267. package/dist/esm/native.js +3 -3
  268. package/dist/esm/nv-accordion-item.entry.js +2 -2
  269. package/dist/esm/nv-accordion-item.entry.js.map +1 -1
  270. package/dist/esm/nv-accordion.entry.js +6 -6
  271. package/dist/esm/nv-accordion.entry.js.map +1 -1
  272. package/dist/esm/nv-alert.entry.js +2 -2
  273. package/dist/esm/nv-alert.entry.js.map +1 -1
  274. package/dist/esm/nv-avatar.entry.js +2 -2
  275. package/dist/esm/nv-avatar.entry.js.map +1 -1
  276. package/dist/esm/nv-badge_2.entry.js +1 -1
  277. package/dist/esm/nv-breadcrumb.entry.js +2 -2
  278. package/dist/esm/nv-breadcrumb.entry.js.map +1 -1
  279. package/dist/esm/nv-breadcrumbs.entry.js +1 -1
  280. package/dist/esm/nv-button.entry.js +2 -2
  281. package/dist/esm/nv-button.entry.js.map +1 -1
  282. package/dist/esm/nv-buttongroup.entry.js +1 -1
  283. package/dist/esm/nv-calendar.entry.js +1 -1
  284. package/dist/esm/nv-col.entry.js +1 -1
  285. package/dist/esm/nv-datagrid.entry.js +172 -5
  286. package/dist/esm/nv-datagrid.entry.js.map +1 -1
  287. package/dist/esm/nv-datagridcolumn.entry.js +1 -1
  288. package/dist/esm/nv-dialog.entry.js +32 -29
  289. package/dist/esm/nv-dialog.entry.js.map +1 -1
  290. package/dist/esm/nv-dialogfooter_2.entry.js +2 -2
  291. package/dist/esm/nv-dialogfooter_2.entry.js.map +1 -1
  292. package/dist/esm/nv-fieldcheckbox.entry.js +2 -2
  293. package/dist/esm/nv-fieldcheckbox.entry.js.map +1 -1
  294. package/dist/esm/nv-fielddate.entry.js +51 -26
  295. package/dist/esm/nv-fielddate.entry.js.map +1 -1
  296. package/dist/esm/nv-fielddaterange.entry.js +68 -42
  297. package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
  298. package/dist/esm/nv-fielddropdown.entry.js +33 -7
  299. package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
  300. package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
  301. package/dist/esm/nv-fieldmultiselect.entry.js +187 -156
  302. package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
  303. package/dist/esm/nv-fieldnumber.entry.js +2 -2
  304. package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
  305. package/dist/esm/nv-fieldpassword.entry.js +2 -2
  306. package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
  307. package/dist/esm/nv-fieldradio.entry.js +2 -2
  308. package/dist/esm/nv-fieldradio.entry.js.map +1 -1
  309. package/dist/esm/nv-fieldselect.entry.js +2 -2
  310. package/dist/esm/nv-fieldselect.entry.js.map +1 -1
  311. package/dist/esm/nv-fieldslider.entry.js +2 -2
  312. package/dist/esm/nv-fieldslider.entry.js.map +1 -1
  313. package/dist/esm/nv-fieldtext.entry.js +2 -2
  314. package/dist/esm/nv-fieldtext.entry.js.map +1 -1
  315. package/dist/esm/nv-fieldtextarea.entry.js +2 -2
  316. package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
  317. package/dist/esm/nv-fieldtime.entry.js +25 -12
  318. package/dist/esm/nv-fieldtime.entry.js.map +1 -1
  319. package/dist/esm/nv-icon.entry.js +2 -2
  320. package/dist/esm/nv-icon.entry.js.map +1 -1
  321. package/dist/esm/nv-iconbutton_2.entry.js +2 -2
  322. package/dist/esm/nv-iconbutton_2.entry.js.map +1 -1
  323. package/dist/esm/nv-menu.entry.js +24 -9
  324. package/dist/esm/nv-menu.entry.js.map +1 -1
  325. package/dist/esm/nv-menuitem.entry.js +1 -1
  326. package/dist/esm/nv-notification.entry.js +2 -2
  327. package/dist/esm/nv-notification.entry.js.map +1 -1
  328. package/dist/esm/nv-notificationcontainer.entry.js +1 -1
  329. package/dist/esm/nv-popover.entry.js +67 -61
  330. package/dist/esm/nv-popover.entry.js.map +1 -1
  331. package/dist/esm/nv-row.entry.js +1 -1
  332. package/dist/esm/nv-stack.entry.js +1 -1
  333. package/dist/esm/nv-table.entry.js +216 -310
  334. package/dist/esm/nv-table.entry.js.map +1 -1
  335. package/dist/esm/nv-toggle.entry.js +4 -4
  336. package/dist/esm/nv-toggle.entry.js.map +1 -1
  337. package/dist/esm/nv-togglebutton.entry.js +2 -2
  338. package/dist/esm/nv-togglebuttongroup.entry.js +2 -2
  339. package/dist/esm/nv-togglebuttongroup.entry.js.map +1 -1
  340. package/dist/esm/nv-tooltip.entry.js +2 -2
  341. package/dist/native/index.esm.js +1 -1
  342. package/dist/native/index.esm.js.map +1 -1
  343. package/dist/native/native.css +1 -1
  344. package/dist/native/native.esm.js +1 -1
  345. package/dist/native/native.esm.js.map +1 -1
  346. package/dist/native/{p-d882f417.entry.js → p-075d231e.entry.js} +2 -2
  347. package/dist/native/p-075d231e.entry.js.map +1 -0
  348. package/dist/native/p-107e80c6.entry.js +2 -0
  349. package/dist/native/p-107e80c6.entry.js.map +1 -0
  350. package/dist/native/{p-5c697133.entry.js → p-112d096c.entry.js} +2 -2
  351. package/dist/native/p-217de553.entry.js +2 -0
  352. package/dist/native/p-217de553.entry.js.map +1 -0
  353. package/dist/native/{p-85f8f11a.entry.js → p-230af58a.entry.js} +2 -2
  354. package/dist/native/p-23ee0384.entry.js +2 -0
  355. package/dist/native/{p-29f68e07.entry.js.map → p-23ee0384.entry.js.map} +1 -1
  356. package/dist/native/p-26513cbd.entry.js +2 -0
  357. package/dist/native/p-26513cbd.entry.js.map +1 -0
  358. package/dist/native/p-278613a3.entry.js +2 -0
  359. package/dist/native/{p-6cb6679b.entry.js.map → p-278613a3.entry.js.map} +1 -1
  360. package/dist/native/p-2dfd786f.entry.js +2 -0
  361. package/dist/native/{p-29df974e.entry.js.map → p-2dfd786f.entry.js.map} +1 -1
  362. package/dist/native/{p-d0a33e64.js → p-3060df80.js} +3 -3
  363. package/dist/native/p-3060df80.js.map +1 -0
  364. package/dist/native/p-445221dc.entry.js +2 -0
  365. package/dist/native/p-445221dc.entry.js.map +1 -0
  366. package/dist/native/{p-08322093.entry.js → p-44a78545.entry.js} +2 -2
  367. package/dist/native/p-4dc7483d.entry.js +2 -0
  368. package/dist/native/{p-c7b7ffaf.entry.js.map → p-4dc7483d.entry.js.map} +1 -1
  369. package/dist/native/p-4eaf417d.entry.js +13 -0
  370. package/dist/native/p-4eaf417d.entry.js.map +1 -0
  371. package/dist/native/p-5039ceb8.entry.js +2 -0
  372. package/dist/native/p-5039ceb8.entry.js.map +1 -0
  373. package/dist/native/{p-19090193.entry.js → p-647a0765.entry.js} +2 -2
  374. package/dist/native/p-68dc02be.entry.js +2 -0
  375. package/dist/native/p-68dc02be.entry.js.map +1 -0
  376. package/dist/native/p-6d427897.entry.js +2 -0
  377. package/dist/native/{p-92931ab8.entry.js.map → p-6d427897.entry.js.map} +1 -1
  378. package/dist/native/{p-1504e28b.entry.js → p-701b48a4.entry.js} +2 -2
  379. package/dist/native/p-7c9bf981.entry.js +2 -0
  380. package/dist/native/p-835abdb9.entry.js +2 -0
  381. package/dist/native/{p-f5120223.entry.js.map → p-835abdb9.entry.js.map} +1 -1
  382. package/dist/native/{p-464bb197.entry.js → p-83765537.entry.js} +2 -2
  383. package/dist/native/p-88f9fca5.entry.js +2 -0
  384. package/dist/native/p-88f9fca5.entry.js.map +1 -0
  385. package/dist/native/{p-d2c9247b.entry.js → p-8e423742.entry.js} +3 -3
  386. package/dist/native/{p-d2c9247b.entry.js.map → p-8e423742.entry.js.map} +1 -1
  387. package/dist/native/p-95184ea2.entry.js +2 -0
  388. package/dist/native/p-95184ea2.entry.js.map +1 -0
  389. package/dist/native/p-9613087c.entry.js +2 -0
  390. package/dist/native/{p-2781637d.entry.js.map → p-9613087c.entry.js.map} +1 -1
  391. package/dist/native/{p-94dc9c41.entry.js → p-9d7e099f.entry.js} +2 -2
  392. package/dist/native/p-a2f58133.entry.js +2 -0
  393. package/dist/native/p-a2f58133.entry.js.map +1 -0
  394. package/dist/native/{p-1235c007.entry.js → p-acabac31.entry.js} +2 -2
  395. package/dist/native/p-acada158.entry.js +2 -0
  396. package/dist/native/p-acada158.entry.js.map +1 -0
  397. package/dist/native/{p-e2c99ce2.entry.js → p-b02c896a.entry.js} +2 -2
  398. package/dist/native/p-b06f0e61.entry.js +2 -0
  399. package/dist/native/p-b06f0e61.entry.js.map +1 -0
  400. package/dist/native/p-b4c15f25.entry.js +2 -0
  401. package/dist/native/p-b4c15f25.entry.js.map +1 -0
  402. package/dist/native/{p-74b129e9.entry.js → p-bcf41cd0.entry.js} +2 -2
  403. package/dist/native/p-ce97ce24.entry.js +2 -0
  404. package/dist/native/p-ce97ce24.entry.js.map +1 -0
  405. package/dist/native/p-d0db5e72.entry.js +2 -0
  406. package/dist/native/p-d0db5e72.entry.js.map +1 -0
  407. package/dist/native/p-d45ee8e5.entry.js +2 -0
  408. package/dist/native/{p-6d13a851.entry.js.map → p-d45ee8e5.entry.js.map} +1 -1
  409. package/dist/native/p-d7f444fb.entry.js +2 -0
  410. package/dist/native/p-d7f444fb.entry.js.map +1 -0
  411. package/dist/native/p-d878e90a.entry.js +2 -0
  412. package/dist/native/p-d878e90a.entry.js.map +1 -0
  413. package/dist/native/p-ddc41f1f.entry.js +2 -0
  414. package/dist/native/p-ddc41f1f.entry.js.map +1 -0
  415. package/dist/native/{p-c66565f8.entry.js → p-dfb6b65e.entry.js} +2 -2
  416. package/dist/native/p-f30e0be6.entry.js +2 -0
  417. package/dist/native/p-f30e0be6.entry.js.map +1 -0
  418. package/dist/native/p-f3c73492.entry.js +2 -0
  419. package/dist/native/{p-b32d0a5a.entry.js.map → p-f3c73492.entry.js.map} +1 -1
  420. package/dist/native/{p-9c5d6827.entry.js → p-fa78d8eb.entry.js} +2 -2
  421. package/dist/types/components/nv-accordion/nv-accordion.d.ts +2 -4
  422. package/dist/types/components/nv-dialog/nv-dialog.d.ts +9 -8
  423. package/dist/types/components/nv-fielddate/nv-fielddate.d.ts +6 -3
  424. package/dist/types/components/nv-fielddaterange/nv-fielddaterange.d.ts +5 -4
  425. package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +3 -1
  426. package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +12 -11
  427. package/dist/types/components/nv-fieldtime/nv-fieldtime.d.ts +1 -0
  428. package/dist/types/components/nv-icon/nv-icons.d.ts +1 -1
  429. package/dist/types/components/nv-menu/nv-menu.d.ts +4 -1
  430. package/dist/types/components/nv-popover/nv-popover.d.ts +10 -8
  431. package/dist/types/components/nv-table/nv-table.d.ts +6 -87
  432. package/dist/types/components/nv-table/nv-table.utils.d.ts +129 -0
  433. package/dist/types/components/nv-table/test/nv-table.utils.test.d.ts +1 -0
  434. package/dist/types/components/nv-togglebuttongroup/nv-togglebuttongroup.d.ts +0 -2
  435. package/dist/types/components.d.ts +3 -208
  436. package/dist/vscode-data.json +18 -41
  437. package/hydrate/index.js +800 -783
  438. package/hydrate/index.mjs +800 -783
  439. package/package.json +6 -10
  440. package/dist/cjs/dom.utils-4d43f69a.js +0 -170
  441. package/dist/cjs/dom.utils-4d43f69a.js.map +0 -1
  442. package/dist/cjs/index-c56424e5.js.map +0 -1
  443. package/dist/cjs/nv-tablecolumn.cjs.entry.js +0 -21
  444. package/dist/cjs/nv-tablecolumn.cjs.entry.js.map +0 -1
  445. package/dist/collection/components/nv-table/nv-table.css +0 -35
  446. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.docs.js +0 -6
  447. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.docs.js.map +0 -1
  448. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js +0 -52
  449. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js.map +0 -1
  450. package/dist/components/nv-tablecolumn.d.ts +0 -11
  451. package/dist/components/nv-tablecolumn.js +0 -38
  452. package/dist/components/nv-tablecolumn.js.map +0 -1
  453. package/dist/components/p-00cbf2a1.js.map +0 -1
  454. package/dist/components/p-4fc01a78.js.map +0 -1
  455. package/dist/components/p-51876ca1.js.map +0 -1
  456. package/dist/components/p-5d14ba3f.js +0 -88
  457. package/dist/components/p-5d14ba3f.js.map +0 -1
  458. package/dist/components/p-95857e4f.js +0 -191
  459. package/dist/components/p-aff3ed68.js.map +0 -1
  460. package/dist/components/p-cb34aa4f.js +0 -167
  461. package/dist/components/p-cb34aa4f.js.map +0 -1
  462. package/dist/components/p-ee8944f3.js.map +0 -1
  463. package/dist/esm/dom.utils-ac71e0ef.js +0 -167
  464. package/dist/esm/dom.utils-ac71e0ef.js.map +0 -1
  465. package/dist/esm/index-a1936cd0.js.map +0 -1
  466. package/dist/esm/nv-tablecolumn.entry.js +0 -17
  467. package/dist/esm/nv-tablecolumn.entry.js.map +0 -1
  468. package/dist/native/p-0a99c6fb.entry.js +0 -2
  469. package/dist/native/p-0a99c6fb.entry.js.map +0 -1
  470. package/dist/native/p-1ad1bff9.entry.js +0 -2
  471. package/dist/native/p-1ad1bff9.entry.js.map +0 -1
  472. package/dist/native/p-1c83f540.entry.js +0 -2
  473. package/dist/native/p-1c83f540.entry.js.map +0 -1
  474. package/dist/native/p-224b1a01.entry.js +0 -2
  475. package/dist/native/p-224b1a01.entry.js.map +0 -1
  476. package/dist/native/p-234cfa2e.entry.js +0 -2
  477. package/dist/native/p-2781637d.entry.js +0 -2
  478. package/dist/native/p-29df974e.entry.js +0 -2
  479. package/dist/native/p-29f68e07.entry.js +0 -2
  480. package/dist/native/p-45506c37.entry.js +0 -2
  481. package/dist/native/p-45506c37.entry.js.map +0 -1
  482. package/dist/native/p-48774d0c.entry.js +0 -13
  483. package/dist/native/p-48774d0c.entry.js.map +0 -1
  484. package/dist/native/p-4ec61dec.entry.js +0 -2
  485. package/dist/native/p-4ec61dec.entry.js.map +0 -1
  486. package/dist/native/p-5f0776cb.entry.js +0 -2
  487. package/dist/native/p-5f0776cb.entry.js.map +0 -1
  488. package/dist/native/p-6c7a9a21.entry.js +0 -2
  489. package/dist/native/p-6c7a9a21.entry.js.map +0 -1
  490. package/dist/native/p-6cb6679b.entry.js +0 -2
  491. package/dist/native/p-6d13a851.entry.js +0 -2
  492. package/dist/native/p-87784622.entry.js +0 -2
  493. package/dist/native/p-87784622.entry.js.map +0 -1
  494. package/dist/native/p-92931ab8.entry.js +0 -2
  495. package/dist/native/p-9a46baa9.entry.js +0 -2
  496. package/dist/native/p-9a46baa9.entry.js.map +0 -1
  497. package/dist/native/p-a34beedf.entry.js +0 -2
  498. package/dist/native/p-a34beedf.entry.js.map +0 -1
  499. package/dist/native/p-a69dbcef.entry.js +0 -2
  500. package/dist/native/p-a69dbcef.entry.js.map +0 -1
  501. package/dist/native/p-b32d0a5a.entry.js +0 -2
  502. package/dist/native/p-bc01787b.entry.js +0 -2
  503. package/dist/native/p-bc01787b.entry.js.map +0 -1
  504. package/dist/native/p-c7b7ffaf.entry.js +0 -2
  505. package/dist/native/p-cb34aa4f.js +0 -2
  506. package/dist/native/p-cb34aa4f.js.map +0 -1
  507. package/dist/native/p-cea942b9.entry.js +0 -2
  508. package/dist/native/p-cea942b9.entry.js.map +0 -1
  509. package/dist/native/p-d0a33e64.js.map +0 -1
  510. package/dist/native/p-d0ef1bbb.entry.js +0 -2
  511. package/dist/native/p-d0ef1bbb.entry.js.map +0 -1
  512. package/dist/native/p-d882f417.entry.js.map +0 -1
  513. package/dist/native/p-dd023fd6.entry.js +0 -2
  514. package/dist/native/p-dd023fd6.entry.js.map +0 -1
  515. package/dist/native/p-e765a624.entry.js +0 -2
  516. package/dist/native/p-e765a624.entry.js.map +0 -1
  517. package/dist/native/p-f0cbfb3d.entry.js +0 -2
  518. package/dist/native/p-f0cbfb3d.entry.js.map +0 -1
  519. package/dist/native/p-f5120223.entry.js +0 -2
  520. package/dist/native/p-fa177c39.entry.js +0 -2
  521. package/dist/native/p-fa177c39.entry.js.map +0 -1
  522. package/dist/types/components/nv-tablecolumn/nv-tablecolumn.d.ts +0 -13
  523. package/dist/types/components/nv-tablecolumn/nv-tablecolumn.docs.d.ts +0 -4
  524. /package/dist/native/{p-5c697133.entry.js.map → p-112d096c.entry.js.map} +0 -0
  525. /package/dist/native/{p-85f8f11a.entry.js.map → p-230af58a.entry.js.map} +0 -0
  526. /package/dist/native/{p-08322093.entry.js.map → p-44a78545.entry.js.map} +0 -0
  527. /package/dist/native/{p-19090193.entry.js.map → p-647a0765.entry.js.map} +0 -0
  528. /package/dist/native/{p-1504e28b.entry.js.map → p-701b48a4.entry.js.map} +0 -0
  529. /package/dist/native/{p-234cfa2e.entry.js.map → p-7c9bf981.entry.js.map} +0 -0
  530. /package/dist/native/{p-464bb197.entry.js.map → p-83765537.entry.js.map} +0 -0
  531. /package/dist/native/{p-94dc9c41.entry.js.map → p-9d7e099f.entry.js.map} +0 -0
  532. /package/dist/native/{p-1235c007.entry.js.map → p-acabac31.entry.js.map} +0 -0
  533. /package/dist/native/{p-e2c99ce2.entry.js.map → p-b02c896a.entry.js.map} +0 -0
  534. /package/dist/native/{p-74b129e9.entry.js.map → p-bcf41cd0.entry.js.map} +0 -0
  535. /package/dist/native/{p-c66565f8.entry.js.map → p-dfb6b65e.entry.js.map} +0 -0
  536. /package/dist/native/{p-9c5d6827.entry.js.map → p-fa78d8eb.entry.js.map} +0 -0
@@ -4,7 +4,7 @@ nv-breadcrumb {
4
4
  color: var(--components-breadcrumb-text);
5
5
  font-size: var(--font-size-sm);
6
6
  font-style: normal;
7
- font-weight: 500;
7
+ font-weight: var(--font-weight-medium-emphasis);
8
8
  line-height: var(--line-height-sm);
9
9
  }
10
10
  nv-breadcrumb.visually-hidden {
@@ -5,7 +5,7 @@ nv-button {
5
5
  align-items: center;
6
6
  font-style: normal;
7
7
  font-weight: var(--font-weight-medium-emphasis);
8
- font-family: "TT Norms Pro", sans-serif;
8
+ font-family: var(--font-family-default), var(--font-family-fallback), sans-serif;
9
9
  transition: background-color 150ms ease-out;
10
10
  user-select: none;
11
11
  cursor: pointer;
@@ -37,7 +37,7 @@ nv-datagrid th {
37
37
  height: var(--spacing-12);
38
38
  padding: var(--spacing-3) var(--spacing-4);
39
39
  font-size: var(--font-size-md);
40
- font-weight: 700;
40
+ font-weight: var(--font-weight-high-emphasis);
41
41
  color: var(--components-datagrid-header-text);
42
42
  }
43
43
  nv-datagrid td {
@@ -46,7 +46,7 @@ nv-datagrid td {
46
46
  max-height: var(--spacing-14);
47
47
  padding: var(--spacing-2) var(--spacing-4);
48
48
  font-size: var(--font-size-md);
49
- font-weight: 400;
49
+ font-weight: var(--font-weight-low-emphasis);
50
50
  color: var(--components-datagrid-body-text);
51
51
  white-space: nowrap;
52
52
  text-overflow: ellipsis;
@@ -48,10 +48,10 @@ dialog .content .content-body {
48
48
  padding: var(--dialog-body-padding-y) var(--dialog-body-padding-x);
49
49
  scrollbar-gutter: stable both-edges;
50
50
  /* text/md/regular */
51
- font-family: "TT Norms Pro", sans-serif;
51
+ font-family: var(--font-family-default), var(--font-family-fallback), sans-serif;
52
52
  font-size: var(--font-size-md);
53
53
  font-style: normal;
54
- font-weight: 400;
54
+ font-weight: var(--font-weight-low-emphasis);
55
55
  line-height: var(--line-height-base); /* 150% */
56
56
  color: var(--color-content-medium-text);
57
57
  }
@@ -5,10 +5,12 @@ const NvDialogDocs = {
5
5
  subcomponents: ['nv-dialogheader', 'nv-dialogfooter', 'nv-button', 'nv-icon'],
6
6
  composedComponents: ['nv-dialogheader', 'nv-dialogfooter'],
7
7
  stories: [
8
+ // Default
8
9
  {
9
10
  name: 'Default',
10
11
  template: (h("nv-dialog", { "data-storybook-args": true }, h("nv-button", { slot: "trigger" }, "Open Dialog"), h("p", null, "Child Content"))),
11
12
  },
13
+ // Open
12
14
  {
13
15
  name: nameof(x => x.open),
14
16
  args: {
@@ -16,6 +18,7 @@ const NvDialogDocs = {
16
18
  },
17
19
  template: (h("nv-dialog", { "data-storybook-args": true }, h("nv-button", { slot: "trigger" }, "Open Dialog"), h("p", null, "Child Content"))),
18
20
  },
21
+ // Undismissable
19
22
  {
20
23
  name: nameof(x => x.undismissable),
21
24
  args: {
@@ -23,6 +26,7 @@ const NvDialogDocs = {
23
26
  },
24
27
  template: (h("nv-dialog", { "data-storybook-args": true }, h("nv-button", { slot: "trigger" }, "Open Dialog"), h("p", null, "Child Content"))),
25
28
  },
29
+ // ClickOutside
26
30
  {
27
31
  name: nameof(x => x.clickOutside),
28
32
  args: {
@@ -30,6 +34,7 @@ const NvDialogDocs = {
30
34
  },
31
35
  template: (h("nv-dialog", { "data-storybook-args": true }, h("nv-button", { slot: "trigger" }, "Open Dialog"), h("p", null, "Child Content"))),
32
36
  },
37
+ // Full
33
38
  {
34
39
  name: nameof(x => x.full),
35
40
  args: {
@@ -37,41 +42,49 @@ const NvDialogDocs = {
37
42
  },
38
43
  template: (h("nv-dialog", { "data-storybook-args": true }, h("nv-button", { slot: "trigger" }, "Open Dialog"), h("p", null, "The dialog will take the full width of the screen regardless of the content."))),
39
44
  },
45
+ // Heading
40
46
  {
41
47
  name: nameof(x => x.heading),
42
48
  descriptionSource: 'nv-dialogheader',
43
49
  template: (h("nv-dialog", { "data-storybook-args": true }, h("nv-button", { slot: "trigger" }, "Open Dialog"), h("nv-dialogheader", { slot: "header", heading: "Dialog Heading" }), h("p", null, "Child Content"))),
44
50
  },
51
+ // Subheading
45
52
  {
46
53
  name: nameof(x => x.subheading),
47
54
  descriptionSource: 'nv-dialogheader',
48
55
  template: (h("nv-dialog", { "data-storybook-args": true }, h("nv-button", { slot: "trigger" }, "Open Dialog"), h("nv-dialogheader", { slot: "header", heading: "Dialog Heading", subheading: "Dialog Subheading" }), h("p", null, "Child Content"))),
49
56
  },
57
+ // LeadingIcon
50
58
  {
51
59
  name: nameof(x => x.leadingIcon),
52
60
  descriptionSource: 'nv-dialogfooter',
53
61
  template: (h("nv-dialog", { "data-storybook-args": true }, h("nv-button", { slot: "trigger" }, "Open Dialog"), h("p", null, "Child Content"), h("nv-dialogfooter", { slot: "footer", "leading-icon": "user" }))),
54
62
  },
63
+ // TrailingIcon
55
64
  {
56
65
  name: nameof(x => x.trailingIcon),
57
66
  descriptionSource: 'nv-dialogfooter',
58
67
  template: (h("nv-dialog", { "data-storybook-args": true }, h("nv-button", { slot: "trigger" }, "Open Dialog"), h("p", null, "Child Content"), h("nv-dialogfooter", { slot: "footer", "trailing-icon": "user" }))),
59
68
  },
69
+ // Danger
60
70
  {
61
71
  name: nameof(x => x.danger),
62
72
  descriptionSource: 'nv-dialogfooter',
63
73
  template: (h("nv-dialog", { "data-storybook-args": true }, h("nv-button", { slot: "trigger" }, "Open Dialog"), h("p", null, "Child Content"), h("nv-dialogfooter", { slot: "footer", danger: true }))),
64
74
  },
75
+ // CancelLabel
65
76
  {
66
77
  name: nameof(x => x.cancelLabel),
67
78
  descriptionSource: 'nv-dialogfooter',
68
79
  template: (h("nv-dialog", { "data-storybook-args": true }, h("nv-button", { slot: "trigger" }, "Open Dialog"), h("p", null, "Child Content"), h("nv-dialogfooter", { slot: "footer", "cancel-label": "Abbrechen" }))),
69
80
  },
81
+ // PrimaryLabel
70
82
  {
71
83
  name: nameof(x => x.primaryLabel),
72
84
  descriptionSource: 'nv-dialogfooter',
73
85
  template: (h("nv-dialog", { "data-storybook-args": true }, h("nv-button", { slot: "trigger" }, "Open Dialog"), h("p", null, "Child Content"), h("nv-dialogfooter", { slot: "footer", "submit-label": "Akzeptieren" }))),
74
86
  },
87
+ // Form
75
88
  {
76
89
  name: nameof(x => x.form),
77
90
  descriptionSource: 'nv-dialogfooter',
@@ -1 +1 @@
1
- {"version":3,"file":"nv-dialog.docs.js","sourceRoot":"","sources":["../../../src/components/nv-dialog/nv-dialog.docs.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h } from '@stencil/core';\nimport type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\nimport { nameof } from '../../utils/class.utils';\n\nconst NvDialogDocs: NovaDocs<Components.NvDialog> = {\n component: 'nv-dialog',\n subcomponents: ['nv-dialogheader', 'nv-dialogfooter', 'nv-button', 'nv-icon'],\n composedComponents: ['nv-dialogheader', 'nv-dialogfooter'],\n\n stories: [\n {\n name: 'Default',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n </nv-dialog>\n ),\n },\n {\n name: nameof<Components.NvDialog>(x => x.open),\n args: {\n open: false,\n },\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n </nv-dialog>\n ),\n },\n {\n name: nameof<Components.NvDialog>(x => x.undismissable),\n args: {\n undismissable: true,\n },\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n </nv-dialog>\n ),\n },\n {\n name: nameof<Components.NvDialog>(x => x.clickOutside),\n args: {\n clickOutside: true,\n },\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n </nv-dialog>\n ),\n },\n {\n name: nameof<Components.NvDialog>(x => x.full),\n args: {\n full: true,\n },\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>\n The dialog will take the full width of the screen regardless of the\n content.\n </p>\n </nv-dialog>\n ),\n },\n {\n name: nameof<Components.NvDialogheader>(x => x.heading),\n descriptionSource: 'nv-dialogheader',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <nv-dialogheader\n slot=\"header\"\n heading=\"Dialog Heading\"\n ></nv-dialogheader>\n <p>Child Content</p>\n </nv-dialog>\n ),\n },\n {\n name: nameof<Components.NvDialogheader>(x => x.subheading),\n descriptionSource: 'nv-dialogheader',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <nv-dialogheader\n slot=\"header\"\n heading=\"Dialog Heading\"\n subheading=\"Dialog Subheading\"\n ></nv-dialogheader>\n <p>Child Content</p>\n </nv-dialog>\n ),\n },\n {\n name: nameof<Components.NvDialogfooter>(x => x.leadingIcon),\n descriptionSource: 'nv-dialogfooter',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n <nv-dialogfooter slot=\"footer\" leading-icon=\"user\"></nv-dialogfooter>\n </nv-dialog>\n ),\n },\n {\n name: nameof<Components.NvDialogfooter>(x => x.trailingIcon),\n descriptionSource: 'nv-dialogfooter',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n <nv-dialogfooter slot=\"footer\" trailing-icon=\"user\"></nv-dialogfooter>\n </nv-dialog>\n ),\n },\n {\n name: nameof<Components.NvDialogfooter>(x => x.danger),\n descriptionSource: 'nv-dialogfooter',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n <nv-dialogfooter slot=\"footer\" danger></nv-dialogfooter>\n </nv-dialog>\n ),\n },\n {\n name: nameof<Components.NvDialogfooter>(x => x.cancelLabel),\n descriptionSource: 'nv-dialogfooter',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n <nv-dialogfooter\n slot=\"footer\"\n cancel-label=\"Abbrechen\"\n ></nv-dialogfooter>\n </nv-dialog>\n ),\n },\n {\n name: nameof<Components.NvDialogfooter>(x => x.primaryLabel),\n descriptionSource: 'nv-dialogfooter',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n <nv-dialogfooter\n slot=\"footer\"\n submit-label=\"Akzeptieren\"\n ></nv-dialogfooter>\n </nv-dialog>\n ),\n },\n {\n name: nameof<Components.NvDialogfooter>(x => x.form),\n descriptionSource: 'nv-dialogfooter',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <form id=\"test-form\"></form>\n <nv-dialogfooter slot=\"footer\" form=\"test-form\"></nv-dialogfooter>\n </nv-dialog>\n ),\n },\n ],\n};\n\nexport default NvDialogDocs;\n"]}
1
+ {"version":3,"file":"nv-dialog.docs.js","sourceRoot":"","sources":["../../../src/components/nv-dialog/nv-dialog.docs.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h } from '@stencil/core';\nimport type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\nimport { nameof } from '../../utils/class.utils';\n\nconst NvDialogDocs: NovaDocs<Components.NvDialog> = {\n component: 'nv-dialog',\n subcomponents: ['nv-dialogheader', 'nv-dialogfooter', 'nv-button', 'nv-icon'],\n composedComponents: ['nv-dialogheader', 'nv-dialogfooter'],\n\n stories: [\n // Default\n {\n name: 'Default',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n </nv-dialog>\n ),\n },\n // Open\n {\n name: nameof<Components.NvDialog>(x => x.open),\n args: {\n open: false,\n },\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n </nv-dialog>\n ),\n },\n // Undismissable\n {\n name: nameof<Components.NvDialog>(x => x.undismissable),\n args: {\n undismissable: true,\n },\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n </nv-dialog>\n ),\n },\n // ClickOutside\n {\n name: nameof<Components.NvDialog>(x => x.clickOutside),\n args: {\n clickOutside: true,\n },\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n </nv-dialog>\n ),\n },\n // Full\n {\n name: nameof<Components.NvDialog>(x => x.full),\n args: {\n full: true,\n },\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>\n The dialog will take the full width of the screen regardless of the\n content.\n </p>\n </nv-dialog>\n ),\n },\n // Heading\n {\n name: nameof<Components.NvDialogheader>(x => x.heading),\n descriptionSource: 'nv-dialogheader',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <nv-dialogheader\n slot=\"header\"\n heading=\"Dialog Heading\"\n ></nv-dialogheader>\n <p>Child Content</p>\n </nv-dialog>\n ),\n },\n // Subheading\n {\n name: nameof<Components.NvDialogheader>(x => x.subheading),\n descriptionSource: 'nv-dialogheader',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <nv-dialogheader\n slot=\"header\"\n heading=\"Dialog Heading\"\n subheading=\"Dialog Subheading\"\n ></nv-dialogheader>\n <p>Child Content</p>\n </nv-dialog>\n ),\n },\n // LeadingIcon\n {\n name: nameof<Components.NvDialogfooter>(x => x.leadingIcon),\n descriptionSource: 'nv-dialogfooter',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n <nv-dialogfooter slot=\"footer\" leading-icon=\"user\"></nv-dialogfooter>\n </nv-dialog>\n ),\n },\n // TrailingIcon\n {\n name: nameof<Components.NvDialogfooter>(x => x.trailingIcon),\n descriptionSource: 'nv-dialogfooter',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n <nv-dialogfooter slot=\"footer\" trailing-icon=\"user\"></nv-dialogfooter>\n </nv-dialog>\n ),\n },\n // Danger\n {\n name: nameof<Components.NvDialogfooter>(x => x.danger),\n descriptionSource: 'nv-dialogfooter',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n <nv-dialogfooter slot=\"footer\" danger></nv-dialogfooter>\n </nv-dialog>\n ),\n },\n // CancelLabel\n {\n name: nameof<Components.NvDialogfooter>(x => x.cancelLabel),\n descriptionSource: 'nv-dialogfooter',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n <nv-dialogfooter\n slot=\"footer\"\n cancel-label=\"Abbrechen\"\n ></nv-dialogfooter>\n </nv-dialog>\n ),\n },\n // PrimaryLabel\n {\n name: nameof<Components.NvDialogfooter>(x => x.primaryLabel),\n descriptionSource: 'nv-dialogfooter',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n <nv-dialogfooter\n slot=\"footer\"\n submit-label=\"Akzeptieren\"\n ></nv-dialogfooter>\n </nv-dialog>\n ),\n },\n // Form\n {\n name: nameof<Components.NvDialogfooter>(x => x.form),\n descriptionSource: 'nv-dialogfooter',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <form id=\"test-form\"></form>\n <nv-dialogfooter slot=\"footer\" form=\"test-form\"></nv-dialogfooter>\n </nv-dialog>\n ),\n },\n ],\n};\n\nexport default NvDialogDocs;\n"]}
@@ -13,6 +13,18 @@ import { v4 as uuidv4 } from "uuid";
13
13
  export class NvDialog {
14
14
  constructor() {
15
15
  this.eventsAttached = false;
16
+ this.triggerClickEvents = [
17
+ ['click', this.show],
18
+ [
19
+ 'keydown',
20
+ (e) => {
21
+ if (e.key === 'Enter' || e.key === ' ') {
22
+ e.preventDefault();
23
+ this.show();
24
+ }
25
+ },
26
+ ],
27
+ ];
16
28
  /**
17
29
  * Use this prop to toggle the visibility of the dialog. Set to true to show
18
30
  * the dialog and false to hide it.
@@ -67,18 +79,6 @@ export class NvDialog {
67
79
  event.stopPropagation();
68
80
  }
69
81
  };
70
- this.triggerClickEvents = [
71
- ['click', this.show],
72
- [
73
- 'keydown',
74
- (e) => {
75
- if (e.key === 'Enter' || e.key === ' ') {
76
- e.preventDefault();
77
- this.show();
78
- }
79
- },
80
- ],
81
- ];
82
82
  }
83
83
  //#endregion PROPERTIES
84
84
  /****************************************************************************/
@@ -159,6 +159,22 @@ export class NvDialog {
159
159
  }
160
160
  return formElement.id;
161
161
  }
162
+ //#endregion EVENTS
163
+ /****************************************************************************/
164
+ //#region WATCHERS
165
+ async handleDialogOpenChange(isOpen) {
166
+ if (isOpen) {
167
+ this.show();
168
+ this.openChanged.emit(isOpen);
169
+ }
170
+ else {
171
+ this.close();
172
+ this.openChanged.emit(isOpen);
173
+ }
174
+ }
175
+ //#endregion WATCHERS
176
+ /****************************************************************************/
177
+ //#region LISTENERS
162
178
  /**
163
179
  * Handles the keydown event to optionally prevent the native dialog from closing when the escape key is pressed.
164
180
  * @param {KeyboardEvent} event - The keydown event.
@@ -183,20 +199,7 @@ export class NvDialog {
183
199
  return;
184
200
  this.handleClickOutside(event);
185
201
  }
186
- //#endregion EVENTS
187
- /****************************************************************************/
188
- //#region WATCHERS
189
- async handleDialogOpenChange(isOpen) {
190
- if (isOpen) {
191
- this.show();
192
- this.openChanged.emit(isOpen);
193
- }
194
- else {
195
- this.close();
196
- this.openChanged.emit(isOpen);
197
- }
198
- }
199
- //#endregion WATCHERS
202
+ //#endregion LISTENERS
200
203
  /****************************************************************************/
201
204
  //#region LIFECYCLE
202
205
  /**
@@ -246,7 +249,7 @@ export class NvDialog {
246
249
  //#region RENDER
247
250
  render() {
248
251
  const hasForm = this.form || this.el.querySelector('form');
249
- return (h(Host, { key: 'c5fa728dbdde087203b45eb23f433d6227418657' }, h("slot", { key: '573185fe0ce4b8d4cb2a2dbf5d267a6b7f7a2989', name: "trigger" }), h("dialog", { key: '9641a8579a90e51aabc0a982a7e0f34b9f56b39c', ref: el => (this.dialogElement = el), onClose: this.handleDialogClose, role: "dialog", "aria-modal": "true", "aria-labelledby": "dialog-header", "aria-describedby": "dialog-content", class: clsx({ full: this.full }) }, h("div", { key: '8811f4890cb17bcf67b60705f850986f720a3b29', class: "content" }, !this.undismissable && (h("nv-button", { key: '7348177c577ea9dace324526935f81088e967326', class: "close-button", emphasis: "lower", size: "sm", onClick: this.handleDialogClose, "aria-label": "Close dialog" }, h("nv-icon", { key: '65370e598f80ec8e716b3c1d748cd38aa9ca5844', name: "x", size: "sm" }))), this.headerElement ? (h("slot", { name: "header" })) : (h("nv-dialogheader", { id: "dialog-header" })), h("div", { key: '8957787909e830d3f6d6158eea79e3c955fcf730', class: "content-body", id: "dialog-content" }, h("slot", { key: '46292e1f98ed56b7f098457e20d11d559f0868d0' })), this.footerElement ? (h("slot", { name: "footer" })) : (h("nv-dialogfooter", { form: this.form, primaryButtonType: hasForm ? ButtonType.Submit : ButtonType.Button, onDialogCanceled: this.handleDialogClose, undismissable: this.undismissable }))))));
252
+ return (h(Host, { key: 'b32680019247cf7e39b5861a77dce61e08eadd7b' }, h("slot", { key: '104978b5cccd97997955a6c0db21f9549643f40a', name: "trigger" }), h("dialog", { key: '951a58755ac49f6c2b2f427599d5bc2540c65e2e', ref: el => (this.dialogElement = el), onClose: this.handleDialogClose, role: "dialog", "aria-modal": "true", "aria-labelledby": "dialog-header", "aria-describedby": "dialog-content", class: clsx({ full: this.full }) }, h("div", { key: '96b727e70efe35991086ead905f925af28808cb8', class: "content" }, !this.undismissable && (h("nv-button", { key: '36f2214d2ed81d7b85c3c523f490e75ca2bffc68', class: "close-button", emphasis: "lower", size: "sm", onClick: this.handleDialogClose, "aria-label": "Close dialog" }, h("nv-icon", { key: '7a50fc4e330e7ab67bba0fa429c5cd92630014bc', name: "x", size: "sm" }))), this.headerElement ? (h("slot", { name: "header" })) : (h("nv-dialogheader", { id: "dialog-header" })), h("div", { key: 'cf4269a73467794d0158a4e56f34e2a81edd6643', class: "content-body", id: "dialog-content" }, h("slot", { key: 'f91e72aafdd2f5de65ae78262f274b83bd37560d' })), this.footerElement ? (h("slot", { name: "footer" })) : (h("nv-dialogfooter", { form: this.form, primaryButtonType: hasForm ? ButtonType.Submit : ButtonType.Button, onDialogCanceled: this.handleDialogClose, undismissable: this.undismissable }))))));
250
253
  }
251
254
  static get is() { return "nv-dialog"; }
252
255
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"nv-dialog.js","sourceRoot":"","sources":["../../../src/components/nv-dialog/nv-dialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n Prop,\n h,\n Element,\n Method,\n Event,\n EventEmitter,\n Watch,\n Listen,\n} from '@stencil/core';\nimport { tabbable } from 'tabbable';\nimport {\n addEventListeners,\n removeEventListeners,\n type EventsAndListeners,\n} from '../../utils/events.utils';\nimport clsx from 'clsx';\nimport { ButtonType } from '../../utils/constants';\nimport { v4 as uuidv4 } from 'uuid';\n\n/**\n * @slot default - Body of the dialog.\n * @slot trigger - Content to be placed as the trigger, will override the trigger prop.\n * @slot header - Content to be placed as the header, will override the header prop.\n * @slot footer - Content to be placed as the footer, will override the footer prop.\n */\n@Component({\n tag: 'nv-dialog',\n styleUrl: 'nv-dialog.scss',\n shadow: false,\n})\nexport class NvDialog {\n @Element() el: HTMLNvDialogElement;\n private dialogElement!: HTMLDialogElement;\n private eventsAttached = false;\n private form: string;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * @internal\n * Accepts a reference to the DOM element acting as the popover trigger. This\n * should be used when the slot for the trigger is not defined.\n */\n @Prop({ reflect: false, mutable: true })\n triggerElement: Element;\n\n /**\n * @internal\n * Accepts a reference to the DOM element acting as the header. This should\n * be used when the slot for the header is not defined.\n */\n @Prop({ reflect: false, mutable: true })\n headerElement: Element;\n\n /**\n * @internal\n * Accepts a reference to the DOM element acting as the footer. This should\n * be used when the slot for the footer is not defined.\n */\n @Prop({ reflect: false, mutable: true })\n footerElement: Element;\n\n /**\n * Use this prop to toggle the visibility of the dialog. Set to true to show\n * the dialog and false to hide it.\n */\n @Prop({ reflect: true, mutable: true })\n open: boolean = false;\n\n /**\n * If true, the dialog cannot be closed by the user.\n */\n @Prop({ reflect: true })\n readonly undismissable: boolean = false;\n\n /**\n * If true, the dialog will be closed when the backdrop is clicked.\n */\n @Prop({ reflect: true })\n readonly clickOutside: boolean = false;\n\n /**\n * If true, the dialog visibility is managed manually through methods or the\n * open prop.\n */\n @Prop({ reflect: true })\n readonly controlled: boolean = false;\n\n /**\n * If true, the dialog takes full width styling.\n */\n @Prop({ reflect: true })\n readonly full: boolean = false;\n\n /**\n * Controls whether the dialog should automatically focus the first focusable\n * element when opened. When disabled, prevents unwanted tooltip triggers on\n * dialog open.\n */\n @Prop({ reflect: true })\n // eslint-disable-next-line @stencil-community/reserved-member-names\n readonly autofocus: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Call this method to show the dialog, making it visible on the screen.\n */\n @Method()\n public async show() {\n this.open = true;\n this.preventScroll();\n /** It is recommended to use the .show() or .showModal() method to render\n * dialogs, rather than the open attribute. If a <dialog> is opened using\n * the open attribute, it is non-modal. */\n this.dialogElement.showModal();\n }\n\n /**\n * Call this method to hide the dialog, making it disappear from view.\n */\n @Method()\n public async close() {\n this.open = false;\n this.allowScroll();\n this.dialogElement.close();\n }\n\n /**\n * Sets the autofocus on the first focusable element in the dialog.\n */\n private setAutofocus() {\n const focusableElements = tabbable(this.dialogElement, {\n displayCheck: 'none',\n });\n\n if (focusableElements.length > 0) {\n // Convert to array and find element with smallest top and left position\n let topLeftElement = focusableElements[0];\n let topLeftRect = topLeftElement.getBoundingClientRect();\n\n focusableElements.forEach(element => {\n const rect = element.getBoundingClientRect();\n if (rect.top < topLeftRect.top || rect.left < topLeftRect.left) {\n topLeftElement = element;\n topLeftRect = rect;\n }\n });\n\n // Set autofocus attribute on the found element\n topLeftElement.setAttribute('autofocus', 'true');\n }\n }\n\n /**\n * Attaches event listeners to the dialog.\n */\n private attachEventListeners() {\n if (this.triggerElement && !this.eventsAttached && !this.controlled) {\n addEventListeners(this.triggerClickEvents, this.triggerElement, this);\n this.eventsAttached = true;\n }\n }\n\n /**\n * Prevents the body from scrolling when the dialog is open.\n * Compensates for scrollbar width to prevent layout shift.\n */\n private preventScroll() {\n // Calculate scrollbar width\n const scrollBarWidth =\n window.innerWidth - document.documentElement.clientWidth;\n\n // Apply overflow hidden and padding compensation\n document.documentElement.style.overflow = 'hidden';\n document.documentElement.style.paddingRight = `${scrollBarWidth}px`;\n }\n\n /**\n * Allows the body to scroll when the dialog is closed.\n * Removes the applied overflow and padding styles.\n */\n private allowScroll() {\n // Remove the applied styles\n document.documentElement.style.removeProperty('overflow');\n document.documentElement.style.removeProperty('padding-right');\n }\n\n private ensureFormId(formElement: HTMLFormElement): string {\n if (!formElement.id) {\n formElement.id = `dialog-form-${uuidv4()}`;\n }\n return formElement.id;\n }\n\n /**\n * Checks for and sets up form ID if a form is present\n */\n private checkForForm = () => {\n if (!this.form) {\n const formElement = this.el.querySelector('form') as HTMLFormElement;\n if (formElement) {\n this.form = this.ensureFormId(formElement);\n }\n }\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the dialog is closing in order to allow for cleanup, data-capture, etc.\n * @bind open\n */\n @Event()\n openChanged: EventEmitter<boolean>;\n\n /**\n * Handles the native dialog close event.\n */\n private handleDialogClose = () => {\n if (this.open) {\n this.close();\n }\n };\n\n /**\n * Handles the keydown event to optionally prevent the native dialog from closing when the escape key is pressed.\n * @param {KeyboardEvent} event - The keydown event.\n */\n @Listen('keydown', { target: 'document' })\n handleKeyDown(event: KeyboardEvent) {\n if (event.key !== 'Escape') return;\n\n if (this.undismissable) {\n event.preventDefault();\n event.stopPropagation();\n } else {\n this.close();\n }\n }\n\n /**\n * Handles the click event to close the dialog when clickOutside is true.\n * @param {MouseEvent} event - The click event.\n */\n @Listen('click', { target: 'document' })\n handleDocumentClick(event: MouseEvent) {\n if (!this.clickOutside || this.undismissable) return;\n this.handleClickOutside(event);\n }\n\n private handleClickOutside = (event: MouseEvent) => {\n if (event.target === this.dialogElement) {\n this.close();\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n private triggerClickEvents: EventsAndListeners = [\n ['click', this.show],\n [\n 'keydown',\n (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.show();\n }\n },\n ],\n ];\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('open')\n async handleDialogOpenChange(isOpen: boolean) {\n if (isOpen) {\n this.show();\n this.openChanged.emit(isOpen);\n } else {\n this.close();\n this.openChanged.emit(isOpen);\n }\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n /**\n * Lifecycle method that runs before the component loads.\n * Initializes the trigger, header, and footer elements by finding them in the component's children.\n * Elements are found either by their slot attribute or by their tag name (for dialog header/footer)\n */\n componentWillLoad() {\n this.triggerElement = Array.from(this.el.children).find(child => {\n return child.getAttribute('slot') === 'trigger';\n }) as HTMLElement;\n\n this.headerElement = Array.from(this.el.children).find(child => {\n return (\n child.getAttribute('slot') === 'header' ||\n child.tagName.toLowerCase() === 'nv-dialogheader'\n );\n }) as HTMLElement;\n\n this.footerElement = Array.from(this.el.children).find(child => {\n return (\n child.getAttribute('slot') === 'footer' ||\n child.tagName.toLowerCase() === 'nv-dialogfooter'\n );\n }) as HTMLElement;\n\n // Initial form check\n this.checkForForm();\n }\n\n componentWillUpdate() {\n this.attachEventListeners();\n }\n\n componentDidLoad() {\n if (this.open) {\n this.show();\n }\n // Only set autofocus if the prop is true and no element already has autofocus\n if (this.autofocus && !this.dialogElement.querySelector('[autofocus]')) {\n this.setAutofocus();\n }\n this.attachEventListeners();\n\n // Additional form check in case form was added after initial load\n this.checkForForm();\n }\n\n disconnectedCallback() {\n if (this.triggerElement && !this.eventsAttached && !this.controlled) {\n removeEventListeners(this.triggerClickEvents, this.triggerElement, this);\n this.eventsAttached = false;\n }\n this.allowScroll();\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n const hasForm = this.form || this.el.querySelector('form');\n\n return (\n <Host>\n <slot name=\"trigger\"></slot>\n\n <dialog\n ref={el => (this.dialogElement = el)}\n onClose={this.handleDialogClose}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog-header\"\n aria-describedby=\"dialog-content\"\n class={clsx({ full: this.full })}\n >\n <div class=\"content\">\n {!this.undismissable && (\n <nv-button\n class=\"close-button\"\n emphasis=\"lower\"\n size=\"sm\"\n onClick={this.handleDialogClose}\n aria-label=\"Close dialog\"\n >\n <nv-icon name=\"x\" size=\"sm\" />\n </nv-button>\n )}\n\n {this.headerElement ? (\n <slot name=\"header\"></slot>\n ) : (\n <nv-dialogheader id=\"dialog-header\"></nv-dialogheader>\n )}\n\n <div class=\"content-body\" id=\"dialog-content\">\n <slot></slot>\n </div>\n\n {this.footerElement ? (\n <slot name=\"footer\"></slot>\n ) : (\n <nv-dialogfooter\n form={this.form}\n primaryButtonType={\n hasForm ? ButtonType.Submit : ButtonType.Button\n }\n onDialogCanceled={this.handleDialogClose}\n undismissable={this.undismissable}\n ></nv-dialogfooter>\n )}\n </div>\n </dialog>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"nv-dialog.js","sourceRoot":"","sources":["../../../src/components/nv-dialog/nv-dialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n Prop,\n h,\n Element,\n Method,\n Event,\n EventEmitter,\n Watch,\n Listen,\n} from '@stencil/core';\nimport { tabbable } from 'tabbable';\nimport {\n addEventListeners,\n removeEventListeners,\n type EventsAndListeners,\n} from '../../utils/events.utils';\nimport clsx from 'clsx';\nimport { ButtonType } from '../../utils/constants';\nimport { v4 as uuidv4 } from 'uuid';\n\n/**\n * @slot default - Body of the dialog.\n * @slot trigger - Content to be placed as the trigger, will override the trigger prop.\n * @slot header - Content to be placed as the header, will override the header prop.\n * @slot footer - Content to be placed as the footer, will override the footer prop.\n */\n@Component({\n tag: 'nv-dialog',\n styleUrl: 'nv-dialog.scss',\n shadow: false,\n})\nexport class NvDialog {\n @Element() el: HTMLNvDialogElement;\n private dialogElement!: HTMLDialogElement;\n private eventsAttached = false;\n private form: string;\n\n private triggerClickEvents: EventsAndListeners = [\n ['click', this.show],\n [\n 'keydown',\n (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.show();\n }\n },\n ],\n ];\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * @internal\n * Accepts a reference to the DOM element acting as the popover trigger. This\n * should be used when the slot for the trigger is not defined.\n */\n @Prop({ reflect: false, mutable: true })\n triggerElement: Element;\n\n /**\n * @internal\n * Accepts a reference to the DOM element acting as the header. This should\n * be used when the slot for the header is not defined.\n */\n @Prop({ reflect: false, mutable: true })\n headerElement: Element;\n\n /**\n * @internal\n * Accepts a reference to the DOM element acting as the footer. This should\n * be used when the slot for the footer is not defined.\n */\n @Prop({ reflect: false, mutable: true })\n footerElement: Element;\n\n /**\n * Use this prop to toggle the visibility of the dialog. Set to true to show\n * the dialog and false to hide it.\n */\n @Prop({ reflect: true, mutable: true })\n open: boolean = false;\n\n /**\n * If true, the dialog cannot be closed by the user.\n */\n @Prop({ reflect: true })\n readonly undismissable: boolean = false;\n\n /**\n * If true, the dialog will be closed when the backdrop is clicked.\n */\n @Prop({ reflect: true })\n readonly clickOutside: boolean = false;\n\n /**\n * If true, the dialog visibility is managed manually through methods or the\n * open prop.\n */\n @Prop({ reflect: true })\n readonly controlled: boolean = false;\n\n /**\n * If true, the dialog takes full width styling.\n */\n @Prop({ reflect: true })\n readonly full: boolean = false;\n\n /**\n * Controls whether the dialog should automatically focus the first focusable\n * element when opened. When disabled, prevents unwanted tooltip triggers on\n * dialog open.\n */\n @Prop({ reflect: true })\n // eslint-disable-next-line @stencil-community/reserved-member-names\n readonly autofocus: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Call this method to show the dialog, making it visible on the screen.\n */\n @Method()\n public async show() {\n this.open = true;\n this.preventScroll();\n /** It is recommended to use the .show() or .showModal() method to render\n * dialogs, rather than the open attribute. If a <dialog> is opened using\n * the open attribute, it is non-modal. */\n this.dialogElement.showModal();\n }\n\n /**\n * Call this method to hide the dialog, making it disappear from view.\n */\n @Method()\n public async close() {\n this.open = false;\n this.allowScroll();\n this.dialogElement.close();\n }\n\n /**\n * Sets the autofocus on the first focusable element in the dialog.\n */\n private setAutofocus() {\n const focusableElements = tabbable(this.dialogElement, {\n displayCheck: 'none',\n });\n\n if (focusableElements.length > 0) {\n // Convert to array and find element with smallest top and left position\n let topLeftElement = focusableElements[0];\n let topLeftRect = topLeftElement.getBoundingClientRect();\n\n focusableElements.forEach(element => {\n const rect = element.getBoundingClientRect();\n if (rect.top < topLeftRect.top || rect.left < topLeftRect.left) {\n topLeftElement = element;\n topLeftRect = rect;\n }\n });\n\n // Set autofocus attribute on the found element\n topLeftElement.setAttribute('autofocus', 'true');\n }\n }\n\n /**\n * Attaches event listeners to the dialog.\n */\n private attachEventListeners() {\n if (this.triggerElement && !this.eventsAttached && !this.controlled) {\n addEventListeners(this.triggerClickEvents, this.triggerElement, this);\n this.eventsAttached = true;\n }\n }\n\n /**\n * Prevents the body from scrolling when the dialog is open.\n * Compensates for scrollbar width to prevent layout shift.\n */\n private preventScroll() {\n // Calculate scrollbar width\n const scrollBarWidth =\n window.innerWidth - document.documentElement.clientWidth;\n\n // Apply overflow hidden and padding compensation\n document.documentElement.style.overflow = 'hidden';\n document.documentElement.style.paddingRight = `${scrollBarWidth}px`;\n }\n\n /**\n * Allows the body to scroll when the dialog is closed.\n * Removes the applied overflow and padding styles.\n */\n private allowScroll() {\n // Remove the applied styles\n document.documentElement.style.removeProperty('overflow');\n document.documentElement.style.removeProperty('padding-right');\n }\n\n private ensureFormId(formElement: HTMLFormElement): string {\n if (!formElement.id) {\n formElement.id = `dialog-form-${uuidv4()}`;\n }\n return formElement.id;\n }\n\n /**\n * Checks for and sets up form ID if a form is present\n */\n private checkForForm = () => {\n if (!this.form) {\n const formElement = this.el.querySelector('form') as HTMLFormElement;\n if (formElement) {\n this.form = this.ensureFormId(formElement);\n }\n }\n };\n\n /**\n * Handles the native dialog close event.\n */\n private handleDialogClose = () => {\n if (this.open) {\n this.close();\n }\n };\n\n private handleClickOutside = (event: MouseEvent) => {\n if (event.target === this.dialogElement) {\n this.close();\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the dialog is closing in order to allow for cleanup, data-capture, etc.\n * @bind open\n */\n @Event()\n openChanged: EventEmitter<boolean>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('open')\n async handleDialogOpenChange(isOpen: boolean) {\n if (isOpen) {\n this.show();\n this.openChanged.emit(isOpen);\n } else {\n this.close();\n this.openChanged.emit(isOpen);\n }\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LISTENERS\n\n /**\n * Handles the keydown event to optionally prevent the native dialog from closing when the escape key is pressed.\n * @param {KeyboardEvent} event - The keydown event.\n */\n @Listen('keydown', { target: 'document' })\n handleKeyDown(event: KeyboardEvent) {\n if (event.key !== 'Escape') return;\n\n if (this.undismissable) {\n event.preventDefault();\n event.stopPropagation();\n } else {\n this.close();\n }\n }\n\n /**\n * Handles the click event to close the dialog when clickOutside is true.\n * @param {MouseEvent} event - The click event.\n */\n @Listen('click', { target: 'document' })\n handleDocumentClick(event: MouseEvent) {\n if (!this.clickOutside || this.undismissable) return;\n this.handleClickOutside(event);\n }\n\n //#endregion LISTENERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n /**\n * Lifecycle method that runs before the component loads.\n * Initializes the trigger, header, and footer elements by finding them in the component's children.\n * Elements are found either by their slot attribute or by their tag name (for dialog header/footer)\n */\n componentWillLoad() {\n this.triggerElement = Array.from(this.el.children).find(child => {\n return child.getAttribute('slot') === 'trigger';\n }) as HTMLElement;\n\n this.headerElement = Array.from(this.el.children).find(child => {\n return (\n child.getAttribute('slot') === 'header' ||\n child.tagName.toLowerCase() === 'nv-dialogheader'\n );\n }) as HTMLElement;\n\n this.footerElement = Array.from(this.el.children).find(child => {\n return (\n child.getAttribute('slot') === 'footer' ||\n child.tagName.toLowerCase() === 'nv-dialogfooter'\n );\n }) as HTMLElement;\n\n // Initial form check\n this.checkForForm();\n }\n\n componentWillUpdate() {\n this.attachEventListeners();\n }\n\n componentDidLoad() {\n if (this.open) {\n this.show();\n }\n // Only set autofocus if the prop is true and no element already has autofocus\n if (this.autofocus && !this.dialogElement.querySelector('[autofocus]')) {\n this.setAutofocus();\n }\n this.attachEventListeners();\n\n // Additional form check in case form was added after initial load\n this.checkForForm();\n }\n\n disconnectedCallback() {\n if (this.triggerElement && !this.eventsAttached && !this.controlled) {\n removeEventListeners(this.triggerClickEvents, this.triggerElement, this);\n this.eventsAttached = false;\n }\n this.allowScroll();\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n const hasForm = this.form || this.el.querySelector('form');\n\n return (\n <Host>\n <slot name=\"trigger\"></slot>\n\n <dialog\n ref={el => (this.dialogElement = el)}\n onClose={this.handleDialogClose}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog-header\"\n aria-describedby=\"dialog-content\"\n class={clsx({ full: this.full })}\n >\n <div class=\"content\">\n {!this.undismissable && (\n <nv-button\n class=\"close-button\"\n emphasis=\"lower\"\n size=\"sm\"\n onClick={this.handleDialogClose}\n aria-label=\"Close dialog\"\n >\n <nv-icon name=\"x\" size=\"sm\" />\n </nv-button>\n )}\n\n {this.headerElement ? (\n <slot name=\"header\"></slot>\n ) : (\n <nv-dialogheader id=\"dialog-header\"></nv-dialogheader>\n )}\n\n <div class=\"content-body\" id=\"dialog-content\">\n <slot></slot>\n </div>\n\n {this.footerElement ? (\n <slot name=\"footer\"></slot>\n ) : (\n <nv-dialogfooter\n form={this.form}\n primaryButtonType={\n hasForm ? ButtonType.Submit : ButtonType.Button\n }\n onDialogCanceled={this.handleDialogClose}\n undismissable={this.undismissable}\n ></nv-dialogfooter>\n )}\n </div>\n </dialog>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
@@ -7,10 +7,10 @@ nv-dialogheader {
7
7
  nv-dialogheader .heading {
8
8
  color: var(--color-content-high-text);
9
9
  /* heading/xs/medium */
10
- font-family: "TT Norms Pro", sans-serif;
10
+ font-family: var(--font-family-default), var(--font-family-fallback), sans-serif;
11
11
  font-size: var(--font-size-lg);
12
12
  font-style: normal;
13
- font-weight: 500;
13
+ font-weight: var(--font-weight-medium-emphasis);
14
14
  padding-right: var(--spacing-7);
15
15
  line-height: var(--leading-px-6); /* 133.333% */
16
16
  letter-spacing: var(--letter-spacing-heading-xs);
@@ -18,9 +18,9 @@ nv-dialogheader .heading {
18
18
  nv-dialogheader .subheading {
19
19
  color: var(--color-content-low-text);
20
20
  /* text/sm/regular */
21
- font-family: "TT Norms Pro", sans-serif;
21
+ font-family: var(--font-family-default), var(--font-family-fallback), sans-serif;
22
22
  font-size: var(--font-size-sm);
23
23
  font-style: normal;
24
- font-weight: 400;
24
+ font-weight: var(--font-weight-low-emphasis);
25
25
  line-height: var(--line-height-sm); /* 142.857% */
26
26
  }
@@ -126,7 +126,7 @@ nv-fieldcheckbox > .text-container label {
126
126
  align-self: stretch;
127
127
  text-align: left;
128
128
  color: var(--components-form-text-label-default);
129
- font-family: "TT Norms Pro", sans-serif;
129
+ font-family: var(--font-family-default), var(--font-family-fallback), sans-serif;
130
130
  font-size: var(--form-label-font-size);
131
131
  font-style: normal;
132
132
  font-weight: var(--form-label-font-weight);
@@ -146,7 +146,7 @@ nv-fieldcheckbox > .text-container label.visually-hidden {
146
146
  nv-fieldcheckbox > .text-container .description {
147
147
  align-self: stretch;
148
148
  color: var(--components-form-text-description-default);
149
- font-family: "TT Norms Pro", sans-serif;
149
+ font-family: var(--font-family-default), var(--font-family-fallback), sans-serif;
150
150
  font-size: var(--form-description-font-size);
151
151
  font-style: normal;
152
152
  font-weight: var(--form-description-font-weight);
@@ -155,7 +155,7 @@ nv-fieldcheckbox > .text-container .description {
155
155
  nv-fieldcheckbox > .text-container .error-description {
156
156
  align-self: stretch;
157
157
  color: var(--components-form-text-description-default);
158
- font-family: "TT Norms Pro", sans-serif;
158
+ font-family: var(--font-family-default), var(--font-family-fallback), sans-serif;
159
159
  font-size: var(--form-description-font-size);
160
160
  font-style: normal;
161
161
  font-weight: var(--form-description-font-weight);
@@ -115,16 +115,17 @@ export class NvFielddate {
115
115
  * @param {MouseEvent} event - The click event.
116
116
  */
117
117
  this.handleInputContainerClick = (event) => {
118
+ // Stop propagation to prevent closing parent dialogs
119
+ event.stopPropagation();
118
120
  if (this.readonly || this.disabled) {
119
121
  event.preventDefault();
120
- event.stopPropagation();
121
122
  return;
122
123
  }
123
124
  this.inputElement.focus();
124
125
  };
125
126
  /**
126
127
  * Handles the input event on the input element.
127
- * Updates the singleValue and emits the valueChanged event if empty.
128
+ * Updates internal state to keep UI in sync - events are only emitted on completion or clear.
128
129
  * @param {Event} event - The input event.
129
130
  */
130
131
  this.handleInput = (event) => {
@@ -133,9 +134,11 @@ export class NvFielddate {
133
134
  return;
134
135
  }
135
136
  const input = event.target;
137
+ // Always update singleValue to keep state in sync
136
138
  this.singleValue = input.value;
137
- this.value = input.value;
138
- if (this.value === '') {
139
+ // Only emit event when input is cleared
140
+ if (input.value === '') {
141
+ this.value = '';
139
142
  this.valueChanged.emit('');
140
143
  }
141
144
  };
@@ -174,11 +177,14 @@ export class NvFielddate {
174
177
  };
175
178
  /**
176
179
  * Toggles the opening/closing of the popover.
180
+ * @param {MouseEvent} event - The click event.
177
181
  */
178
- this.toggleCalendar = () => {
182
+ this.toggleCalendar = (event) => {
179
183
  if (this.readonly || this.disabled) {
180
184
  return;
181
185
  }
186
+ // Stop propagation to prevent closing parent dialogs
187
+ event.stopPropagation();
182
188
  this.open = !this.open;
183
189
  };
184
190
  }
@@ -241,7 +247,13 @@ export class NvFielddate {
241
247
  postValidation: true,
242
248
  oncomplete: (e) => {
243
249
  var _a;
244
- this.valueChanged.emit((_a = e.target) === null || _a === void 0 ? void 0 : _a.value);
250
+ const newValue = (_a = e.target) === null || _a === void 0 ? void 0 : _a.value;
251
+ // Only emit if the value actually changed
252
+ if (this.value !== newValue) {
253
+ this.singleValue = newValue;
254
+ this.value = newValue;
255
+ this.valueChanged.emit(newValue);
256
+ }
245
257
  },
246
258
  });
247
259
  inputMask.mask(this.inputElement);
@@ -284,6 +296,30 @@ export class NvFielddate {
284
296
  this.inputElement.inputmask.remove();
285
297
  }
286
298
  }
299
+ //#endregion EVENTS
300
+ /****************************************************************************/
301
+ //#region WATCHERS
302
+ handleValueChange(newValue) {
303
+ this.singleValue = newValue;
304
+ // Only set input value if it's different from current input value
305
+ // This prevents interfering with user typing
306
+ if (this.inputElement && this.inputElement.value !== newValue) {
307
+ this.inputElement.value = newValue;
308
+ }
309
+ }
310
+ handleOpenChange(newOpen) {
311
+ this.updateMask();
312
+ // Additional side effect for external control, e.g., focus calendar if opened externally
313
+ if (newOpen && this.popoverElement) {
314
+ // Focus first selectable date
315
+ const firstDate = this.popoverElement.querySelector('nv-calendar [data-date]');
316
+ if (firstDate)
317
+ firstDate.focus();
318
+ }
319
+ }
320
+ //#endregion WATCHERS
321
+ /****************************************************************************/
322
+ //#region LISTENERS
287
323
  /**
288
324
  * Handles the single date selection event from nv-calendar.
289
325
  * Updates the input value and closes the popover.
@@ -324,28 +360,17 @@ export class NvFielddate {
324
360
  return;
325
361
  }
326
362
  }
327
- handleValueChange(newValue) {
328
- this.singleValue = newValue;
329
- // Only set input value if it's different from current input value
330
- // This prevents interfering with user typing
331
- if (this.inputElement && this.inputElement.value !== newValue) {
332
- this.inputElement.value = newValue;
333
- }
334
- }
335
- handleOpenChange() {
336
- this.updateMask();
337
- }
338
- //#endregion EVENTS
363
+ //#endregion LISTENERS
339
364
  /****************************************************************************/
340
365
  //#region RENDER
341
366
  render() {
342
- return (h(Host, { key: 'e0914be919a272863714493837e515e3b95fa38c' }, ((this.label && this.label.length > 0) ||
343
- this.el.querySelector('[slot="label"]')) && (h("label", { key: '3ecdac541c5d62417892e64ed2ca1ab41b0cb4cf', htmlFor: this.inputId }, h("slot", { key: '58d8c5ab53df1fdc38627504cc3c26033398fccb', name: "label" }, this.label))), h("nv-popover", { key: '1d78703d4f1c979bc6f5d13a9d76d0619d7bfbbe', ref: this.setPopoverRef, id: this.popoverId, triggerMode: "controlled", placement: "bottom-start", open: this.open }, h("div", { key: '12648ac734ee3aab93d77c60df4793f5a20f7298', slot: "trigger", class: "input-wrapper" }, h("slot", { key: '3803e7cf0fdf84fcf3e918c727f4d47198edb813', name: "before-input" }), h("div", { key: 'afe8a466b314adb546da7069f94bb621d8664abb', class: "input-container", onClick: this.handleInputContainerClick }, h("slot", { key: '43af98b4dd4ff2487bc63ab9a0f9b307c51f5357', name: "leading-input" }), h("input", { key: 'f9f5966ad347db7e848b59f9790debb55a0f7e20', id: this.inputId, ref: this.setInputRef, placeholder: this.placeholder ||
344
- this.convertToInputmaskFormat(this.dateFormat), name: this.name, disabled: this.disabled, readOnly: this.readonly, required: this.required, autofocus: this.autofocus, onInput: this.handleInput, onFocus: this.handleFocus, "data-scope": "date" }), this.error && (h("nv-icon", { key: '4601fb0d8d1eaa18f9ff0027c2e4723eb2532b4f', name: "alert-circle", class: "validation", size: "md" })), this.success && (h("nv-icon", { key: '0a8d818eb1c650e45d42e05fc03e28360bb5e283', name: "circle-check", class: "validation", size: "md" })), h("nv-iconbutton", { key: '2f56171211d237eda83b009266e3426eeb83c48e', class: "toggle-calendar-icon", name: "calendar" //{this.open ? 'chevron-top' : 'chevron-down'}
367
+ return (h(Host, { key: '82eb2c86f3fe02b03a7db18d7ae4d7a705765af8' }, ((this.label && this.label.length > 0) ||
368
+ this.el.querySelector('[slot="label"]')) && (h("label", { key: '8f8a341b986275fbcebbdc3a67541db0a7692b68', htmlFor: this.inputId }, h("slot", { key: 'bdab8a01ff5edc5b1b7490d33a7b526f5ee7e710', name: "label" }, this.label))), h("nv-popover", { key: 'af5379b7f23d7d297af947da515d1794ddf2efce', ref: this.setPopoverRef, id: this.popoverId, triggerMode: "controlled", placement: "bottom-start", strategy: "fixed", open: this.open }, h("div", { key: 'a7cd18e088c59da8db3962c67fa9bda5e61d0113', slot: "trigger", class: "input-wrapper" }, h("slot", { key: '46031415f70467700b382081e769c664728df1e9', name: "before-input" }), h("div", { key: 'd92075a9db8ef0857d5d7e4b6f43ab89564eb3d1', class: "input-container", onClick: this.handleInputContainerClick }, h("slot", { key: 'ba368c298cf08b4b321c5d77a5af0bd7f265dcc2', name: "leading-input" }), h("input", { key: 'a384558958d5cb4943b17f2d032cc0022bb884dc', id: this.inputId, ref: this.setInputRef, placeholder: this.placeholder ||
369
+ this.convertToInputmaskFormat(this.dateFormat), name: this.name, disabled: this.disabled, readOnly: this.readonly, required: this.required, autofocus: this.autofocus, onInput: this.handleInput, onFocus: this.handleFocus, "data-scope": "date" }), this.error && (h("nv-icon", { key: 'f3194332ca751ac320b18f6c1d4c888f9237ce58', name: "alert-circle", class: "validation", size: "md" })), this.success && (h("nv-icon", { key: 'dcb9385dfdac0e7b932b8227cf3a434bd4be71c3', name: "circle-check", class: "validation", size: "md" })), h("nv-iconbutton", { key: '9e6cf9f850c3602c8f12a717a2a71f260b260820', class: "toggle-calendar-icon", name: "calendar" //{this.open ? 'chevron-top' : 'chevron-down'}
345
370
  ,
346
- size: "md", emphasis: "lower", "aria-label": this.open ? 'Hide calendar' : 'Show calendar', "aria-pressed": this.open.toString(), onClick: this.toggleCalendar, tabIndex: this.disabled ? -1 : 0 })), h("slot", { key: 'df3476a4edc879ab7bbd9c74190abe857949ca8b', name: "after-input" })), h("div", { key: '7bfab4992d8e4a1fdf9de2941028be095df1cb88', slot: "content" }, h("nv-calendar", { key: '8bab211eb998baa41c6df0b51419f526732ead72', dateFormat: this.dateFormat, singleValue: this.singleValue, firstDayOfWeek: this.firstDayOfWeek, numberOfCalendars: this.numberOfCalendars, min: this.min, max: this.max, locale: this.locale, shortcutsPlacement: this.shortcutsPlacement, showActions: this.showActions, shortcuts: this.shortcuts, showWeekNumbers: this.showWeekNumbers, disabledDates: this.disabledDates, onValueChanged: this.handleCalendarValueChanged }))), ((this.description && this.description.length > 0) ||
347
- this.el.querySelector('[slot="description"]')) && (h("div", { key: '431945fddf898fce6596b49fdb6266dec556cc27', class: "description" }, h("slot", { key: 'b1da904d1790776e404d283e1530a2e14b73f123', name: "description" }, this.description))), (this.errorDescription ||
348
- this.el.querySelector('[slot="error-description"]')) && (h("div", { key: '5de0b4f415fae16da71a80671b00a4c4402834e8', hidden: !this.error, class: "error-description" }, this.el.querySelector('[slot="error-description"]') ? (h("slot", { name: "error-description" })) : (this.errorDescription))), h("slot", { key: '889bf8e7bbb7511937c6a3e0a70dd2a95dc15bd7' })));
371
+ size: "md", emphasis: "lower", "aria-label": this.open ? 'Hide calendar' : 'Show calendar', onClick: this.toggleCalendar, tabIndex: this.disabled ? -1 : 0 })), h("slot", { key: '1770575c9165c2a4947ffcc11403a72cb0649a19', name: "after-input" })), h("div", { key: '993bad8e8f0586e73bb35c3835e210c111f2e092', slot: "content" }, h("nv-calendar", { key: 'c3d4ac3ae966152ace53f2a23371bdd1c9ea9071', dateFormat: this.dateFormat, singleValue: this.singleValue, firstDayOfWeek: this.firstDayOfWeek, numberOfCalendars: this.numberOfCalendars, min: this.min, max: this.max, locale: this.locale, shortcutsPlacement: this.shortcutsPlacement, showActions: this.showActions, shortcuts: this.shortcuts, showWeekNumbers: this.showWeekNumbers, disabledDates: this.disabledDates, onValueChanged: this.handleCalendarValueChanged }))), ((this.description && this.description.length > 0) ||
372
+ this.el.querySelector('[slot="description"]')) && (h("div", { key: '843a383f5880332c41220dd0e52e4123207fc468', class: "description" }, h("slot", { key: '6adddd38bc5c3cc633eb953ce21f5ae45fd659f4', name: "description" }, this.description))), (this.errorDescription ||
373
+ this.el.querySelector('[slot="error-description"]')) && (h("div", { key: 'e9715f6fb742cf2fa568cf6ba2c2657ad39de04a', hidden: !this.error, class: "error-description" }, this.el.querySelector('[slot="error-description"]') ? (h("slot", { name: "error-description" })) : (this.errorDescription))), h("slot", { key: '2ffea0b9384696a0b9d577c7c08c2faf93ef0917' })));
349
374
  }
350
375
  static get is() { return "nv-fielddate"; }
351
376
  static get originalStyleUrls() {