@nova-design-system/nova-webcomponents 3.0.0-beta.38 → 3.0.0-beta.40

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 (696) hide show
  1. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  2. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  3. package/dist/cjs/{constants-69b40456.js → constants-79d2cdfc.js} +25 -5
  4. package/dist/cjs/constants-79d2cdfc.js.map +1 -0
  5. package/dist/cjs/dom.utils-4d43f69a.js +170 -0
  6. package/dist/cjs/dom.utils-4d43f69a.js.map +1 -0
  7. package/dist/cjs/index-5910ba06.js +8 -36
  8. package/dist/cjs/index.cjs.js +3 -1
  9. package/dist/cjs/index.cjs.js.map +1 -1
  10. package/dist/cjs/loader.cjs.js +2 -2
  11. package/dist/cjs/native.cjs.js +2 -2
  12. package/dist/cjs/nv-alert.cjs.entry.js +32 -9
  13. package/dist/cjs/nv-alert.cjs.entry.js.map +1 -1
  14. package/dist/cjs/nv-avatar.cjs.entry.js +2 -2
  15. package/dist/cjs/nv-badge_2.cjs.entry.js +3 -3
  16. package/dist/cjs/nv-base.cjs.entry.js +1 -1
  17. package/dist/cjs/nv-breadcrumb.cjs.entry.js +1 -1
  18. package/dist/cjs/nv-breadcrumbs.cjs.entry.js +1 -1
  19. package/dist/cjs/nv-button.cjs.entry.js +34 -12
  20. package/dist/cjs/nv-button.cjs.entry.js.map +1 -1
  21. package/dist/cjs/nv-calendar.cjs.entry.js +984 -0
  22. package/dist/cjs/nv-calendar.cjs.entry.js.map +1 -0
  23. package/dist/cjs/nv-col.cjs.entry.js +1 -1
  24. package/dist/cjs/nv-datagrid.cjs.entry.js +325 -165
  25. package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
  26. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +1 -5
  27. package/dist/cjs/nv-datagridcolumn.cjs.entry.js.map +1 -1
  28. package/dist/cjs/nv-dialog.cjs.entry.js +21 -10
  29. package/dist/cjs/nv-dialog.cjs.entry.js.map +1 -1
  30. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +17 -12
  31. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js.map +1 -1
  32. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +10 -4
  33. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js.map +1 -1
  34. package/dist/cjs/nv-fielddropdown.cjs.entry.js +146 -223
  35. package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
  36. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +37 -32
  37. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js.map +1 -1
  38. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +12 -11
  39. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
  40. package/dist/cjs/nv-fieldnumber.cjs.entry.js +9 -3
  41. package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
  42. package/dist/cjs/nv-fieldpassword.cjs.entry.js +9 -3
  43. package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
  44. package/dist/cjs/nv-fieldradio.cjs.entry.js +9 -3
  45. package/dist/cjs/nv-fieldradio.cjs.entry.js.map +1 -1
  46. package/dist/cjs/nv-fieldselect.cjs.entry.js +11 -5
  47. package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
  48. package/dist/cjs/nv-fieldtext.cjs.entry.js +9 -3
  49. package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -1
  50. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +9 -3
  51. package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -1
  52. package/dist/cjs/nv-fieldtime.cjs.entry.js +20 -12
  53. package/dist/cjs/nv-fieldtime.cjs.entry.js.map +1 -1
  54. package/dist/cjs/nv-icon.cjs.entry.js +20 -13
  55. package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
  56. package/dist/cjs/nv-iconbutton.cjs.entry.js +1 -1
  57. package/dist/cjs/nv-loader.cjs.entry.js +1 -1
  58. package/dist/cjs/nv-menu.cjs.entry.js +2 -2
  59. package/dist/cjs/nv-menu.cjs.entry.js.map +1 -1
  60. package/dist/cjs/nv-menuitem.cjs.entry.js +1 -1
  61. package/dist/cjs/nv-popover.cjs.entry.js +2 -2
  62. package/dist/cjs/nv-popover.cjs.entry.js.map +1 -1
  63. package/dist/cjs/nv-row.cjs.entry.js +1 -1
  64. package/dist/cjs/nv-stack.cjs.entry.js +1 -1
  65. package/dist/cjs/nv-table.cjs.entry.js +267 -81
  66. package/dist/cjs/nv-table.cjs.entry.js.map +1 -1
  67. package/dist/cjs/nv-tablecolumn.cjs.entry.js +1 -21
  68. package/dist/cjs/nv-tablecolumn.cjs.entry.js.map +1 -1
  69. package/dist/cjs/nv-toggle.cjs.entry.js +2 -2
  70. package/dist/cjs/nv-tooltip.cjs.entry.js +1 -1
  71. package/dist/cjs/uri.utils-8523ad2b.js +26 -0
  72. package/dist/cjs/uri.utils-8523ad2b.js.map +1 -0
  73. package/dist/collection/collection-manifest.json +3 -11
  74. package/dist/collection/components/nv-alert/nv-alert.docs.js +5 -0
  75. package/dist/collection/components/nv-alert/nv-alert.docs.js.map +1 -1
  76. package/dist/collection/components/nv-alert/nv-alert.js +51 -8
  77. package/dist/collection/components/nv-alert/nv-alert.js.map +1 -1
  78. package/dist/collection/components/nv-avatar/nv-avatar.js +1 -1
  79. package/dist/collection/components/nv-badge/nv-badge.js +2 -2
  80. package/dist/collection/components/nv-base/nv-base.js +1 -1
  81. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js +1 -1
  82. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.js +1 -1
  83. package/dist/collection/components/nv-button/nv-button.docs.js +4 -0
  84. package/dist/collection/components/nv-button/nv-button.docs.js.map +1 -1
  85. package/dist/collection/components/nv-button/nv-button.js +54 -13
  86. package/dist/collection/components/nv-button/nv-button.js.map +1 -1
  87. package/dist/collection/components/nv-calendar/nv-calendar.css +341 -0
  88. package/dist/collection/components/nv-calendar/nv-calendar.docs.js +401 -0
  89. package/dist/collection/components/nv-calendar/nv-calendar.docs.js.map +1 -0
  90. package/dist/collection/components/nv-calendar/nv-calendar.js +1328 -0
  91. package/dist/collection/components/nv-calendar/nv-calendar.js.map +1 -0
  92. package/dist/collection/components/nv-col/nv-col.js +1 -1
  93. package/dist/collection/components/nv-datagrid/nv-datagrid.css +30 -0
  94. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +25 -77
  95. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +1 -1
  96. package/dist/collection/components/nv-datagrid/nv-datagrid.js +396 -194
  97. package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +1 -1
  98. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +7 -16
  99. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js.map +1 -1
  100. package/dist/collection/components/nv-dialog/nv-dialog.css +2 -0
  101. package/dist/collection/components/nv-dialog/nv-dialog.docs.js +6 -9
  102. package/dist/collection/components/nv-dialog/nv-dialog.docs.js.map +1 -1
  103. package/dist/collection/components/nv-dialog/nv-dialog.js +20 -29
  104. package/dist/collection/components/nv-dialog/nv-dialog.js.map +1 -1
  105. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js +71 -21
  106. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js.map +1 -1
  107. package/dist/collection/components/nv-dialogheader/nv-dialogheader.js +1 -1
  108. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.docs.js +8 -0
  109. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.docs.js.map +1 -1
  110. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +30 -4
  111. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js.map +1 -1
  112. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +11 -3
  113. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +1 -1
  114. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +197 -252
  115. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
  116. package/dist/collection/components/nv-fielddropdown/{nv-fielddropdown.css → styles/nv-fielddropdown.css} +0 -3
  117. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +55 -47
  118. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js.map +1 -1
  119. package/dist/collection/components/nv-fielddropdownitem/{nv-fielddropdownitem.css → styles/nv-fielddropdownitem.css} +5 -3
  120. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +1 -1
  121. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.css +0 -2
  122. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +10 -2
  123. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js.map +1 -1
  124. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +34 -33
  125. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
  126. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js +8 -0
  127. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js.map +1 -1
  128. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +29 -3
  129. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +1 -1
  130. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js +8 -0
  131. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js.map +1 -1
  132. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +30 -4
  133. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js.map +1 -1
  134. package/dist/collection/components/nv-fieldradio/nv-fieldradio.docs.js +8 -0
  135. package/dist/collection/components/nv-fieldradio/nv-fieldradio.docs.js.map +1 -1
  136. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +29 -3
  137. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js.map +1 -1
  138. package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js +8 -19
  139. package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js.map +1 -1
  140. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +31 -5
  141. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js.map +1 -1
  142. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +8 -0
  143. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js.map +1 -1
  144. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +30 -4
  145. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +1 -1
  146. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js +8 -0
  147. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js.map +1 -1
  148. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +29 -3
  149. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js.map +1 -1
  150. package/dist/collection/components/nv-fieldtime/nv-fieldtime.css +20 -17
  151. package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js +8 -0
  152. package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js.map +1 -1
  153. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +38 -10
  154. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js.map +1 -1
  155. package/dist/collection/components/nv-icon/nv-icon.js +21 -19
  156. package/dist/collection/components/nv-icon/nv-icon.js.map +1 -1
  157. package/dist/collection/components/nv-icon/nv-icons.js.map +1 -1
  158. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
  159. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  160. package/dist/collection/components/nv-menu/nv-menu.docs.js +1 -1
  161. package/dist/collection/components/nv-menu/nv-menu.docs.js.map +1 -1
  162. package/dist/collection/components/nv-menu/nv-menu.js +3 -3
  163. package/dist/collection/components/nv-menu/nv-menu.js.map +1 -1
  164. package/dist/collection/components/nv-menuitem/nv-menuitem.js +3 -3
  165. package/dist/collection/components/nv-popover/nv-popover.css +3 -0
  166. package/dist/collection/components/nv-popover/nv-popover.js +1 -1
  167. package/dist/collection/components/nv-row/nv-row.js +1 -1
  168. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  169. package/dist/collection/components/nv-table/nv-table.css +30 -0
  170. package/dist/collection/components/nv-table/nv-table.docs.js +69 -74
  171. package/dist/collection/components/nv-table/nv-table.docs.js.map +1 -1
  172. package/dist/collection/components/nv-table/nv-table.js +349 -137
  173. package/dist/collection/components/nv-table/nv-table.js.map +1 -1
  174. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js +11 -111
  175. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js.map +1 -1
  176. package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
  177. package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
  178. package/dist/collection/index.js +2 -0
  179. package/dist/collection/index.js.map +1 -1
  180. package/dist/collection/interfaces/ColumnConfig.js +2 -0
  181. package/dist/collection/interfaces/ColumnConfig.js.map +1 -0
  182. package/dist/collection/interfaces/actionEvent.js +2 -0
  183. package/dist/collection/interfaces/actionEvent.js.map +1 -0
  184. package/dist/collection/interfaces/calendarShortcut.js +2 -0
  185. package/dist/collection/interfaces/calendarShortcut.js.map +1 -0
  186. package/dist/collection/interfaces/dateRange.js +2 -0
  187. package/dist/collection/interfaces/dateRange.js.map +1 -0
  188. package/dist/collection/interfaces/localization.js +2 -0
  189. package/dist/collection/interfaces/localization.js.map +1 -0
  190. package/dist/collection/templates/navigation.docs.js +5 -0
  191. package/dist/collection/templates/navigation.docs.js.map +1 -1
  192. package/dist/collection/utils/constants.js +18 -0
  193. package/dist/collection/utils/constants.js.map +1 -1
  194. package/dist/collection/utils/dom.utils.js +164 -0
  195. package/dist/collection/utils/dom.utils.js.map +1 -0
  196. package/dist/collection/utils/test/class.utils.test.js +25 -0
  197. package/dist/collection/utils/test/class.utils.test.js.map +1 -0
  198. package/dist/collection/utils/test/dom.utils.test.js +102 -0
  199. package/dist/collection/utils/test/dom.utils.test.js.map +1 -0
  200. package/dist/collection/utils/test/uri.utils.test.js +21 -0
  201. package/dist/collection/utils/test/uri.utils.test.js.map +1 -0
  202. package/dist/collection/utils/uri.utils.js +15 -0
  203. package/dist/collection/utils/uri.utils.js.map +1 -0
  204. package/dist/components/index.js +3 -2
  205. package/dist/components/index.js.map +1 -1
  206. package/dist/components/nv-alert.js +35 -11
  207. package/dist/components/nv-alert.js.map +1 -1
  208. package/dist/components/nv-avatar.js +3 -3
  209. package/dist/components/nv-badge.js +1 -1
  210. package/dist/components/nv-base.js +1 -1
  211. package/dist/components/nv-breadcrumb.js +3 -3
  212. package/dist/components/nv-breadcrumbs.js +1 -1
  213. package/dist/components/nv-button.js +1 -1
  214. package/dist/components/{nv-tablerow.d.ts → nv-calendar.d.ts} +4 -4
  215. package/dist/components/nv-calendar.js +1046 -0
  216. package/dist/components/nv-calendar.js.map +1 -0
  217. package/dist/components/nv-col.js +1 -1
  218. package/dist/components/nv-datagrid.js +332 -173
  219. package/dist/components/nv-datagrid.js.map +1 -1
  220. package/dist/components/nv-datagridcolumn.js +3 -7
  221. package/dist/components/nv-datagridcolumn.js.map +1 -1
  222. package/dist/components/nv-dialog.js +26 -16
  223. package/dist/components/nv-dialog.js.map +1 -1
  224. package/dist/components/nv-dialogfooter.js +1 -1
  225. package/dist/components/nv-dialogheader.js +1 -1
  226. package/dist/components/nv-fieldcheckbox.js +1 -1
  227. package/dist/components/nv-fielddropdown.js +154 -230
  228. package/dist/components/nv-fielddropdown.js.map +1 -1
  229. package/dist/components/nv-fielddropdownitem.js +1 -1
  230. package/dist/components/nv-fielddropdownitemcheck.js +1 -1
  231. package/dist/components/nv-fieldmultiselect.js +21 -19
  232. package/dist/components/nv-fieldmultiselect.js.map +1 -1
  233. package/dist/components/nv-fieldnumber.js +12 -5
  234. package/dist/components/nv-fieldnumber.js.map +1 -1
  235. package/dist/components/nv-fieldpassword.js +13 -6
  236. package/dist/components/nv-fieldpassword.js.map +1 -1
  237. package/dist/components/nv-fieldradio.js +11 -4
  238. package/dist/components/nv-fieldradio.js.map +1 -1
  239. package/dist/components/nv-fieldselect.js +13 -6
  240. package/dist/components/nv-fieldselect.js.map +1 -1
  241. package/dist/components/nv-fieldtext.js +12 -5
  242. package/dist/components/nv-fieldtext.js.map +1 -1
  243. package/dist/components/nv-fieldtextarea.js +11 -4
  244. package/dist/components/nv-fieldtextarea.js.map +1 -1
  245. package/dist/components/nv-fieldtime.js +25 -16
  246. package/dist/components/nv-fieldtime.js.map +1 -1
  247. package/dist/components/nv-icon.js +1 -1
  248. package/dist/components/nv-iconbutton.js +1 -1
  249. package/dist/components/nv-loader.js +1 -1
  250. package/dist/components/nv-menu.js +5 -5
  251. package/dist/components/nv-menu.js.map +1 -1
  252. package/dist/components/nv-menuitem.js +1 -1
  253. package/dist/components/nv-popover.js +1 -1
  254. package/dist/components/nv-row.js +1 -1
  255. package/dist/components/nv-stack.js +1 -1
  256. package/dist/components/nv-table.js +279 -91
  257. package/dist/components/nv-table.js.map +1 -1
  258. package/dist/components/nv-tablecolumn.js +5 -28
  259. package/dist/components/nv-tablecolumn.js.map +1 -1
  260. package/dist/components/nv-toggle.js +2 -2
  261. package/dist/components/nv-tooltip.js +1 -1
  262. package/dist/components/{p-1c83f303.js → p-11cc38e0.js} +4 -4
  263. package/dist/components/{p-1c83f303.js.map → p-11cc38e0.js.map} +1 -1
  264. package/dist/components/{p-802c9204.js → p-1657eba4.js} +23 -16
  265. package/dist/components/p-1657eba4.js.map +1 -0
  266. package/dist/components/{p-79bf6acb.js → p-33f9bdb1.js} +4 -4
  267. package/dist/components/{p-79bf6acb.js.map → p-33f9bdb1.js.map} +1 -1
  268. package/dist/components/p-4b184820.js +95 -0
  269. package/dist/components/p-4b184820.js.map +1 -0
  270. package/dist/components/{p-b877a150.js → p-4bb5eb79.js} +3 -3
  271. package/dist/components/{p-b877a150.js.map → p-4bb5eb79.js.map} +1 -1
  272. package/dist/components/{p-ab87be7f.js → p-69543282.js} +3 -3
  273. package/dist/components/{p-ab87be7f.js.map → p-69543282.js.map} +1 -1
  274. package/dist/components/p-7e58e7d1.js +23 -0
  275. package/dist/components/p-7e58e7d1.js.map +1 -0
  276. package/dist/components/{p-98ff0e5f.js → p-96605453.js} +13 -6
  277. package/dist/components/p-96605453.js.map +1 -0
  278. package/dist/components/{p-2768d2c0.js → p-a633892a.js} +2 -2
  279. package/dist/components/{p-2768d2c0.js.map → p-a633892a.js.map} +1 -1
  280. package/dist/{esm/constants-0181211f.js → components/p-b316c35d.js} +22 -3
  281. package/dist/components/p-b316c35d.js.map +1 -0
  282. package/dist/components/{p-91bf0cb6.js → p-ba145f46.js} +38 -15
  283. package/dist/components/p-ba145f46.js.map +1 -0
  284. package/dist/components/p-c1765831.js +89 -0
  285. package/dist/components/p-c1765831.js.map +1 -0
  286. package/dist/components/p-cb34aa4f.js +167 -0
  287. package/dist/components/p-cb34aa4f.js.map +1 -0
  288. package/dist/components/{p-a9a52105.js → p-d17558a8.js} +1178 -5
  289. package/dist/components/p-d17558a8.js.map +1 -0
  290. package/dist/components/{p-18d221e3.js → p-f201db34.js} +2 -2
  291. package/dist/components/{p-18d221e3.js.map → p-f201db34.js.map} +1 -1
  292. package/dist/components/{p-d20958c4.js → p-f77c3072.js} +22 -16
  293. package/dist/components/p-f77c3072.js.map +1 -0
  294. package/dist/components/{p-16badb3b.js → p-fad78896.js} +3 -3
  295. package/dist/components/{p-16badb3b.js.map → p-fad78896.js.map} +1 -1
  296. package/dist/docs.json +1331 -935
  297. package/dist/esm/app-globals-0f993ce5.js +5 -0
  298. package/dist/esm/app-globals-0f993ce5.js.map +1 -0
  299. package/dist/{components/p-56f71851.js → esm/constants-75e6d7f0.js} +22 -3
  300. package/dist/esm/constants-75e6d7f0.js.map +1 -0
  301. package/dist/esm/dom.utils-ac71e0ef.js +167 -0
  302. package/dist/esm/dom.utils-ac71e0ef.js.map +1 -0
  303. package/dist/esm/index-fac2d5d2.js +8 -36
  304. package/dist/esm/index.js +2 -1
  305. package/dist/esm/index.js.map +1 -1
  306. package/dist/esm/loader.js +2 -2
  307. package/dist/esm/native.js +2 -2
  308. package/dist/esm/nv-alert.entry.js +32 -9
  309. package/dist/esm/nv-alert.entry.js.map +1 -1
  310. package/dist/esm/nv-avatar.entry.js +2 -2
  311. package/dist/esm/nv-badge_2.entry.js +3 -3
  312. package/dist/esm/nv-base.entry.js +1 -1
  313. package/dist/esm/nv-breadcrumb.entry.js +1 -1
  314. package/dist/esm/nv-breadcrumbs.entry.js +1 -1
  315. package/dist/esm/nv-button.entry.js +34 -12
  316. package/dist/esm/nv-button.entry.js.map +1 -1
  317. package/dist/esm/nv-calendar.entry.js +980 -0
  318. package/dist/esm/nv-calendar.entry.js.map +1 -0
  319. package/dist/esm/nv-col.entry.js +1 -1
  320. package/dist/esm/nv-datagrid.entry.js +326 -166
  321. package/dist/esm/nv-datagrid.entry.js.map +1 -1
  322. package/dist/esm/nv-datagridcolumn.entry.js +1 -5
  323. package/dist/esm/nv-datagridcolumn.entry.js.map +1 -1
  324. package/dist/esm/nv-dialog.entry.js +21 -10
  325. package/dist/esm/nv-dialog.entry.js.map +1 -1
  326. package/dist/esm/nv-dialogfooter_2.entry.js +17 -12
  327. package/dist/esm/nv-dialogfooter_2.entry.js.map +1 -1
  328. package/dist/esm/nv-fieldcheckbox.entry.js +10 -4
  329. package/dist/esm/nv-fieldcheckbox.entry.js.map +1 -1
  330. package/dist/esm/nv-fielddropdown.entry.js +146 -223
  331. package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
  332. package/dist/esm/nv-fielddropdownitem.entry.js +37 -32
  333. package/dist/esm/nv-fielddropdownitem.entry.js.map +1 -1
  334. package/dist/esm/nv-fieldmultiselect.entry.js +12 -11
  335. package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
  336. package/dist/esm/nv-fieldnumber.entry.js +9 -3
  337. package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
  338. package/dist/esm/nv-fieldpassword.entry.js +9 -3
  339. package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
  340. package/dist/esm/nv-fieldradio.entry.js +9 -3
  341. package/dist/esm/nv-fieldradio.entry.js.map +1 -1
  342. package/dist/esm/nv-fieldselect.entry.js +11 -5
  343. package/dist/esm/nv-fieldselect.entry.js.map +1 -1
  344. package/dist/esm/nv-fieldtext.entry.js +9 -3
  345. package/dist/esm/nv-fieldtext.entry.js.map +1 -1
  346. package/dist/esm/nv-fieldtextarea.entry.js +9 -3
  347. package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
  348. package/dist/esm/nv-fieldtime.entry.js +20 -12
  349. package/dist/esm/nv-fieldtime.entry.js.map +1 -1
  350. package/dist/esm/nv-icon.entry.js +20 -13
  351. package/dist/esm/nv-icon.entry.js.map +1 -1
  352. package/dist/esm/nv-iconbutton.entry.js +1 -1
  353. package/dist/esm/nv-loader.entry.js +1 -1
  354. package/dist/esm/nv-menu.entry.js +2 -2
  355. package/dist/esm/nv-menu.entry.js.map +1 -1
  356. package/dist/esm/nv-menuitem.entry.js +1 -1
  357. package/dist/esm/nv-popover.entry.js +2 -2
  358. package/dist/esm/nv-popover.entry.js.map +1 -1
  359. package/dist/esm/nv-row.entry.js +1 -1
  360. package/dist/esm/nv-stack.entry.js +1 -1
  361. package/dist/esm/nv-table.entry.js +268 -82
  362. package/dist/esm/nv-table.entry.js.map +1 -1
  363. package/dist/esm/nv-tablecolumn.entry.js +2 -22
  364. package/dist/esm/nv-tablecolumn.entry.js.map +1 -1
  365. package/dist/esm/nv-toggle.entry.js +2 -2
  366. package/dist/esm/nv-tooltip.entry.js +1 -1
  367. package/dist/esm/uri.utils-4c2a1e4c.js +23 -0
  368. package/dist/esm/uri.utils-4c2a1e4c.js.map +1 -0
  369. package/dist/native/index.esm.js +1 -1
  370. package/dist/native/index.esm.js.map +1 -1
  371. package/dist/native/native.css +1 -1
  372. package/dist/native/native.esm.js +1 -1
  373. package/dist/native/native.esm.js.map +1 -1
  374. package/dist/native/p-0a2a9f8b.entry.js +2 -0
  375. package/dist/native/p-0a2a9f8b.entry.js.map +1 -0
  376. package/dist/native/p-12d08abc.entry.js +2 -0
  377. package/dist/native/p-12d08abc.entry.js.map +1 -0
  378. package/dist/native/{p-211f7b19.entry.js → p-15be3d96.entry.js} +2 -2
  379. package/dist/native/p-184cd119.entry.js +2 -0
  380. package/dist/native/{p-8ee30013.entry.js.map → p-184cd119.entry.js.map} +1 -1
  381. package/dist/native/{p-87083363.entry.js → p-1a3d2a74.entry.js} +2 -2
  382. package/dist/native/{p-87083363.entry.js.map → p-1a3d2a74.entry.js.map} +1 -1
  383. package/dist/native/{p-4f11286d.entry.js → p-27ad7af2.entry.js} +2 -2
  384. package/dist/native/p-27ad7af2.entry.js.map +1 -0
  385. package/dist/native/p-2b2a10f9.entry.js +2 -0
  386. package/dist/native/p-2b2a10f9.entry.js.map +1 -0
  387. package/dist/native/{p-a06bafad.entry.js → p-359f0f53.entry.js} +2 -2
  388. package/dist/native/p-3b65037c.entry.js +2 -0
  389. package/dist/native/p-3b65037c.entry.js.map +1 -0
  390. package/dist/native/p-3be2c9a1.entry.js +2 -0
  391. package/dist/native/p-4283f375.entry.js +2 -0
  392. package/dist/native/p-4283f375.entry.js.map +1 -0
  393. package/dist/native/p-487b81bd.entry.js +2 -0
  394. package/dist/native/p-487b81bd.entry.js.map +1 -0
  395. package/dist/native/{p-d24586ed.entry.js → p-491f4605.entry.js} +2 -2
  396. package/dist/native/{p-e3827605.entry.js → p-554f7b44.entry.js} +2 -2
  397. package/dist/native/p-554f7b44.entry.js.map +1 -0
  398. package/dist/native/p-69fb1c9d.entry.js +2 -0
  399. package/dist/native/p-69fb1c9d.entry.js.map +1 -0
  400. package/dist/native/{p-1bb5a6bd.entry.js → p-729c9d45.entry.js} +2 -2
  401. package/dist/native/p-729c9d45.entry.js.map +1 -0
  402. package/dist/native/{p-130f6c47.entry.js → p-78f08578.entry.js} +2 -2
  403. package/dist/native/p-78f08578.entry.js.map +1 -0
  404. package/dist/native/p-7e58e7d1.js +2 -0
  405. package/dist/native/p-7e58e7d1.js.map +1 -0
  406. package/dist/native/p-8664ab16.entry.js +7 -0
  407. package/dist/native/p-8664ab16.entry.js.map +1 -0
  408. package/dist/native/p-87bd53df.entry.js +2 -0
  409. package/dist/native/p-87bd53df.entry.js.map +1 -0
  410. package/dist/native/{p-96902bb3.entry.js → p-8d6516a3.entry.js} +2 -2
  411. package/dist/native/p-951baf95.entry.js +2 -0
  412. package/dist/native/p-9795090f.entry.js +2 -0
  413. package/dist/native/p-9795090f.entry.js.map +1 -0
  414. package/dist/native/p-af60740c.entry.js +2 -0
  415. package/dist/native/p-af60740c.entry.js.map +1 -0
  416. package/dist/native/{p-56f71851.js → p-b316c35d.js} +2 -2
  417. package/dist/native/p-b316c35d.js.map +1 -0
  418. package/dist/native/p-b58c661b.entry.js +2 -0
  419. package/dist/native/p-b58c661b.entry.js.map +1 -0
  420. package/dist/native/p-b7bc918b.entry.js +2 -0
  421. package/dist/native/p-b7bc918b.entry.js.map +1 -0
  422. package/dist/native/p-cb34aa4f.js +2 -0
  423. package/dist/native/p-cb34aa4f.js.map +1 -0
  424. package/dist/native/{p-a998f8df.entry.js → p-cda56476.entry.js} +2 -2
  425. package/dist/native/p-d1bf4d77.entry.js +2 -0
  426. package/dist/native/{p-54df2174.entry.js → p-d7665a07.entry.js} +2 -2
  427. package/dist/native/p-d7665a07.entry.js.map +1 -0
  428. package/dist/native/{p-3c004551.entry.js → p-daeb7e22.entry.js} +2 -2
  429. package/dist/native/p-daeb7e22.entry.js.map +1 -0
  430. package/dist/native/p-e1255160.js +2 -0
  431. package/dist/native/p-e1255160.js.map +1 -0
  432. package/dist/native/{p-61d2cb2e.entry.js → p-e36e956b.entry.js} +2 -2
  433. package/dist/native/{p-99e7a452.entry.js → p-e9e77494.entry.js} +2 -2
  434. package/dist/native/p-e9e77494.entry.js.map +1 -0
  435. package/dist/native/{p-0bf35abc.entry.js → p-edee1c1f.entry.js} +2 -2
  436. package/dist/native/{p-e192c25c.entry.js → p-f1585fc2.entry.js} +2 -2
  437. package/dist/native/p-f3579407.entry.js +2 -0
  438. package/dist/native/p-f3579407.entry.js.map +1 -0
  439. package/dist/native/p-fca807b4.entry.js +13 -0
  440. package/dist/native/p-fca807b4.entry.js.map +1 -0
  441. package/dist/native/{p-d67b7502.entry.js → p-fde56f9c.entry.js} +2 -2
  442. package/dist/types/components/nv-alert/nv-alert.d.ts +14 -0
  443. package/dist/types/components/nv-base/nv-base.docs.d.ts +1 -1
  444. package/dist/types/components/nv-button/nv-button.d.ts +16 -5
  445. package/dist/types/components/nv-calendar/nv-calendar.d.ts +383 -0
  446. package/dist/types/components/{nv-tablerow/nv-tablerow.docs.d.ts → nv-calendar/nv-calendar.docs.d.ts} +2 -2
  447. package/dist/types/components/nv-datagrid/nv-datagrid.d.ts +48 -31
  448. package/dist/types/components/nv-datagridcolumn/nv-datagridcolumn.d.ts +3 -2
  449. package/dist/types/components/nv-dialog/nv-dialog.d.ts +1 -7
  450. package/dist/types/components/nv-dialogfooter/nv-dialogfooter.d.ts +19 -10
  451. package/dist/types/components/nv-fieldcheckbox/nv-fieldcheckbox.d.ts +6 -0
  452. package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +45 -62
  453. package/dist/types/components/nv-fielddropdownitem/nv-fielddropdownitem.d.ts +27 -13
  454. package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +7 -10
  455. package/dist/types/components/nv-fieldnumber/nv-fieldnumber.d.ts +6 -0
  456. package/dist/types/components/nv-fieldpassword/nv-fieldpassword.d.ts +6 -0
  457. package/dist/types/components/nv-fieldradio/nv-fieldradio.d.ts +6 -0
  458. package/dist/types/components/nv-fieldselect/nv-fieldselect.d.ts +6 -0
  459. package/dist/types/components/nv-fieldtext/nv-fieldtext.d.ts +6 -0
  460. package/dist/types/components/nv-fieldtextarea/nv-fieldtextarea.d.ts +6 -0
  461. package/dist/types/components/nv-fieldtime/nv-fieldtime.d.ts +6 -0
  462. package/dist/types/components/nv-icon/nv-icon.d.ts +6 -4
  463. package/dist/types/components/nv-table/nv-table.d.ts +51 -39
  464. package/dist/types/components/nv-tablecolumn/nv-tablecolumn.d.ts +4 -42
  465. package/dist/types/components.d.ts +428 -284
  466. package/dist/types/index.d.ts +4 -0
  467. package/dist/types/interfaces/ColumnConfig.d.ts +13 -0
  468. package/dist/types/interfaces/actionEvent.d.ts +13 -0
  469. package/dist/types/interfaces/calendarShortcut.d.ts +17 -0
  470. package/dist/types/interfaces/dateRange.d.ts +13 -0
  471. package/dist/types/interfaces/localization.d.ts +9 -0
  472. package/dist/types/utils/constants.d.ts +2 -0
  473. package/dist/types/utils/dom.utils.d.ts +12 -0
  474. package/dist/types/utils/test/uri.utils.test.d.ts +1 -0
  475. package/dist/types/utils/uri.utils.d.ts +6 -0
  476. package/hydrate/index.js +3134 -1824
  477. package/hydrate/index.mjs +3134 -1824
  478. package/package.json +19 -27
  479. package/dist/blazor-docs.json +0 -14813
  480. package/dist/cjs/app-globals-bd4d701e.js +0 -11
  481. package/dist/cjs/app-globals-bd4d701e.js.map +0 -1
  482. package/dist/cjs/constants-69b40456.js.map +0 -1
  483. package/dist/cjs/nv-datagridbody.cjs.entry.js +0 -24
  484. package/dist/cjs/nv-datagridbody.cjs.entry.js.map +0 -1
  485. package/dist/cjs/nv-datagriddatacell.cjs.entry.js +0 -25
  486. package/dist/cjs/nv-datagriddatacell.cjs.entry.js.map +0 -1
  487. package/dist/cjs/nv-datagridhead.cjs.entry.js +0 -24
  488. package/dist/cjs/nv-datagridhead.cjs.entry.js.map +0 -1
  489. package/dist/cjs/nv-datagridrow.cjs.entry.js +0 -24
  490. package/dist/cjs/nv-datagridrow.cjs.entry.js.map +0 -1
  491. package/dist/cjs/nv-tablebody.cjs.entry.js +0 -24
  492. package/dist/cjs/nv-tablebody.cjs.entry.js.map +0 -1
  493. package/dist/cjs/nv-tabledatacell.cjs.entry.js +0 -43
  494. package/dist/cjs/nv-tabledatacell.cjs.entry.js.map +0 -1
  495. package/dist/cjs/nv-tablehead.cjs.entry.js +0 -24
  496. package/dist/cjs/nv-tablehead.cjs.entry.js.map +0 -1
  497. package/dist/cjs/nv-tablerow.cjs.entry.js +0 -24
  498. package/dist/cjs/nv-tablerow.cjs.entry.js.map +0 -1
  499. package/dist/collection/components/nv-datagridbody/nv-datagridbody.css +0 -0
  500. package/dist/collection/components/nv-datagridbody/nv-datagridbody.docs.js +0 -8
  501. package/dist/collection/components/nv-datagridbody/nv-datagridbody.docs.js.map +0 -1
  502. package/dist/collection/components/nv-datagridbody/nv-datagridbody.js +0 -23
  503. package/dist/collection/components/nv-datagridbody/nv-datagridbody.js.map +0 -1
  504. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.css +0 -0
  505. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.css +0 -0
  506. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.docs.js +0 -6
  507. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.docs.js.map +0 -1
  508. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.js +0 -50
  509. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.js.map +0 -1
  510. package/dist/collection/components/nv-datagridhead/nv-datagridhead.css +0 -0
  511. package/dist/collection/components/nv-datagridhead/nv-datagridhead.docs.js +0 -8
  512. package/dist/collection/components/nv-datagridhead/nv-datagridhead.docs.js.map +0 -1
  513. package/dist/collection/components/nv-datagridhead/nv-datagridhead.js +0 -23
  514. package/dist/collection/components/nv-datagridhead/nv-datagridhead.js.map +0 -1
  515. package/dist/collection/components/nv-datagridrow/nv-datagridrow.css +0 -0
  516. package/dist/collection/components/nv-datagridrow/nv-datagridrow.docs.js +0 -8
  517. package/dist/collection/components/nv-datagridrow/nv-datagridrow.docs.js.map +0 -1
  518. package/dist/collection/components/nv-datagridrow/nv-datagridrow.js +0 -23
  519. package/dist/collection/components/nv-datagridrow/nv-datagridrow.js.map +0 -1
  520. package/dist/collection/components/nv-fielddropdownitem/DropdownItemSelectedEventDetail.js +0 -2
  521. package/dist/collection/components/nv-fielddropdownitem/DropdownItemSelectedEventDetail.js.map +0 -1
  522. package/dist/collection/components/nv-tablebody/nv-tablebody.css +0 -0
  523. package/dist/collection/components/nv-tablebody/nv-tablebody.docs.js +0 -8
  524. package/dist/collection/components/nv-tablebody/nv-tablebody.docs.js.map +0 -1
  525. package/dist/collection/components/nv-tablebody/nv-tablebody.js +0 -23
  526. package/dist/collection/components/nv-tablebody/nv-tablebody.js.map +0 -1
  527. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.css +0 -0
  528. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.css +0 -0
  529. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.docs.js +0 -6
  530. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.docs.js.map +0 -1
  531. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.js +0 -116
  532. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.js.map +0 -1
  533. package/dist/collection/components/nv-tablehead/nv-tablehead.css +0 -0
  534. package/dist/collection/components/nv-tablehead/nv-tablehead.docs.js +0 -8
  535. package/dist/collection/components/nv-tablehead/nv-tablehead.docs.js.map +0 -1
  536. package/dist/collection/components/nv-tablehead/nv-tablehead.js +0 -23
  537. package/dist/collection/components/nv-tablehead/nv-tablehead.js.map +0 -1
  538. package/dist/collection/components/nv-tablerow/nv-tablerow.css +0 -0
  539. package/dist/collection/components/nv-tablerow/nv-tablerow.docs.js +0 -8
  540. package/dist/collection/components/nv-tablerow/nv-tablerow.docs.js.map +0 -1
  541. package/dist/collection/components/nv-tablerow/nv-tablerow.js +0 -23
  542. package/dist/collection/components/nv-tablerow/nv-tablerow.js.map +0 -1
  543. package/dist/collection/dev/dev-components.js +0 -3
  544. package/dist/collection/dev/dev-components.js.map +0 -1
  545. package/dist/collection/dev/dev-forms.js +0 -3
  546. package/dist/collection/dev/dev-forms.js.map +0 -1
  547. package/dist/collection/dev/dev-root.js +0 -23
  548. package/dist/collection/dev/dev-root.js.map +0 -1
  549. package/dist/collection/dev/dev-utils.js +0 -54
  550. package/dist/collection/dev/dev-utils.js.map +0 -1
  551. package/dist/collection/global.js +0 -6
  552. package/dist/collection/global.js.map +0 -1
  553. package/dist/components/nv-datagridbody.d.ts +0 -11
  554. package/dist/components/nv-datagridbody.js +0 -38
  555. package/dist/components/nv-datagridbody.js.map +0 -1
  556. package/dist/components/nv-datagriddatacell.d.ts +0 -11
  557. package/dist/components/nv-datagriddatacell.js +0 -41
  558. package/dist/components/nv-datagriddatacell.js.map +0 -1
  559. package/dist/components/nv-datagridhead.d.ts +0 -11
  560. package/dist/components/nv-datagridhead.js +0 -38
  561. package/dist/components/nv-datagridhead.js.map +0 -1
  562. package/dist/components/nv-datagridrow.d.ts +0 -11
  563. package/dist/components/nv-datagridrow.js +0 -38
  564. package/dist/components/nv-datagridrow.js.map +0 -1
  565. package/dist/components/nv-tablebody.d.ts +0 -11
  566. package/dist/components/nv-tablebody.js +0 -38
  567. package/dist/components/nv-tablebody.js.map +0 -1
  568. package/dist/components/nv-tabledatacell.d.ts +0 -11
  569. package/dist/components/nv-tabledatacell.js +0 -61
  570. package/dist/components/nv-tabledatacell.js.map +0 -1
  571. package/dist/components/nv-tablehead.d.ts +0 -11
  572. package/dist/components/nv-tablehead.js +0 -38
  573. package/dist/components/nv-tablehead.js.map +0 -1
  574. package/dist/components/nv-tablerow.js +0 -38
  575. package/dist/components/nv-tablerow.js.map +0 -1
  576. package/dist/components/p-17714233.js +0 -1263
  577. package/dist/components/p-17714233.js.map +0 -1
  578. package/dist/components/p-56f71851.js.map +0 -1
  579. package/dist/components/p-802c9204.js.map +0 -1
  580. package/dist/components/p-91bf0cb6.js.map +0 -1
  581. package/dist/components/p-98ff0e5f.js.map +0 -1
  582. package/dist/components/p-a9a52105.js.map +0 -1
  583. package/dist/components/p-d20958c4.js.map +0 -1
  584. package/dist/components/p-dd34b97d.js +0 -90
  585. package/dist/components/p-dd34b97d.js.map +0 -1
  586. package/dist/esm/app-globals-0a94217b.js +0 -9
  587. package/dist/esm/app-globals-0a94217b.js.map +0 -1
  588. package/dist/esm/constants-0181211f.js.map +0 -1
  589. package/dist/esm/nv-datagridbody.entry.js +0 -20
  590. package/dist/esm/nv-datagridbody.entry.js.map +0 -1
  591. package/dist/esm/nv-datagriddatacell.entry.js +0 -21
  592. package/dist/esm/nv-datagriddatacell.entry.js.map +0 -1
  593. package/dist/esm/nv-datagridhead.entry.js +0 -20
  594. package/dist/esm/nv-datagridhead.entry.js.map +0 -1
  595. package/dist/esm/nv-datagridrow.entry.js +0 -20
  596. package/dist/esm/nv-datagridrow.entry.js.map +0 -1
  597. package/dist/esm/nv-tablebody.entry.js +0 -20
  598. package/dist/esm/nv-tablebody.entry.js.map +0 -1
  599. package/dist/esm/nv-tabledatacell.entry.js +0 -39
  600. package/dist/esm/nv-tabledatacell.entry.js.map +0 -1
  601. package/dist/esm/nv-tablehead.entry.js +0 -20
  602. package/dist/esm/nv-tablehead.entry.js.map +0 -1
  603. package/dist/esm/nv-tablerow.entry.js +0 -20
  604. package/dist/esm/nv-tablerow.entry.js.map +0 -1
  605. package/dist/native/p-02bb8184.entry.js +0 -2
  606. package/dist/native/p-09850aa9.entry.js +0 -2
  607. package/dist/native/p-09850aa9.entry.js.map +0 -1
  608. package/dist/native/p-10ba289c.entry.js +0 -2
  609. package/dist/native/p-10ba289c.entry.js.map +0 -1
  610. package/dist/native/p-1208abf2.entry.js +0 -2
  611. package/dist/native/p-1208abf2.entry.js.map +0 -1
  612. package/dist/native/p-130f6c47.entry.js.map +0 -1
  613. package/dist/native/p-180c45ff.entry.js +0 -2
  614. package/dist/native/p-180c45ff.entry.js.map +0 -1
  615. package/dist/native/p-1bb5a6bd.entry.js.map +0 -1
  616. package/dist/native/p-273d55e5.entry.js +0 -2
  617. package/dist/native/p-273d55e5.entry.js.map +0 -1
  618. package/dist/native/p-2aebf31b.entry.js +0 -2
  619. package/dist/native/p-2aebf31b.entry.js.map +0 -1
  620. package/dist/native/p-2f62f097.entry.js +0 -2
  621. package/dist/native/p-2f62f097.entry.js.map +0 -1
  622. package/dist/native/p-3c004551.entry.js.map +0 -1
  623. package/dist/native/p-46553ffd.entry.js +0 -2
  624. package/dist/native/p-46553ffd.entry.js.map +0 -1
  625. package/dist/native/p-4f11286d.entry.js.map +0 -1
  626. package/dist/native/p-51ad8bcd.entry.js +0 -2
  627. package/dist/native/p-51ad8bcd.entry.js.map +0 -1
  628. package/dist/native/p-54df2174.entry.js.map +0 -1
  629. package/dist/native/p-56f71851.js.map +0 -1
  630. package/dist/native/p-5f1a7e6e.entry.js +0 -2
  631. package/dist/native/p-892052c2.entry.js +0 -2
  632. package/dist/native/p-892052c2.entry.js.map +0 -1
  633. package/dist/native/p-8c1a6aa6.entry.js +0 -2
  634. package/dist/native/p-8c1a6aa6.entry.js.map +0 -1
  635. package/dist/native/p-8ee30013.entry.js +0 -2
  636. package/dist/native/p-8f4788b9.entry.js +0 -13
  637. package/dist/native/p-8f4788b9.entry.js.map +0 -1
  638. package/dist/native/p-99e7a452.entry.js.map +0 -1
  639. package/dist/native/p-aa2834e2.entry.js +0 -2
  640. package/dist/native/p-aa2834e2.entry.js.map +0 -1
  641. package/dist/native/p-ab5a8ce5.entry.js +0 -2
  642. package/dist/native/p-ab5a8ce5.entry.js.map +0 -1
  643. package/dist/native/p-bd6d9237.entry.js +0 -7
  644. package/dist/native/p-bd6d9237.entry.js.map +0 -1
  645. package/dist/native/p-beab7cbd.entry.js +0 -2
  646. package/dist/native/p-c398cdb4.entry.js +0 -2
  647. package/dist/native/p-c398cdb4.entry.js.map +0 -1
  648. package/dist/native/p-d776ed48.entry.js +0 -2
  649. package/dist/native/p-d776ed48.entry.js.map +0 -1
  650. package/dist/native/p-dc9dd5a7.entry.js +0 -2
  651. package/dist/native/p-dc9dd5a7.entry.js.map +0 -1
  652. package/dist/native/p-e3827605.entry.js.map +0 -1
  653. package/dist/native/p-e5a7596b.entry.js +0 -2
  654. package/dist/native/p-e5a7596b.entry.js.map +0 -1
  655. package/dist/native/p-e6f45df2.entry.js +0 -2
  656. package/dist/native/p-e6f45df2.entry.js.map +0 -1
  657. package/dist/native/p-ed47a702.entry.js +0 -2
  658. package/dist/native/p-ed47a702.entry.js.map +0 -1
  659. package/dist/native/p-f30ce086.entry.js +0 -2
  660. package/dist/native/p-f30ce086.entry.js.map +0 -1
  661. package/dist/native/p-f3fbdea6.js +0 -2
  662. package/dist/native/p-f3fbdea6.js.map +0 -1
  663. package/dist/types/components/nv-datagridbody/nv-datagridbody.d.ts +0 -7
  664. package/dist/types/components/nv-datagridbody/nv-datagridbody.docs.d.ts +0 -4
  665. package/dist/types/components/nv-datagriddatacell/nv-datagriddatacell.d.ts +0 -14
  666. package/dist/types/components/nv-datagriddatacell/nv-datagriddatacell.docs.d.ts +0 -4
  667. package/dist/types/components/nv-datagridhead/nv-datagridhead.d.ts +0 -7
  668. package/dist/types/components/nv-datagridhead/nv-datagridhead.docs.d.ts +0 -4
  669. package/dist/types/components/nv-datagridrow/nv-datagridrow.d.ts +0 -7
  670. package/dist/types/components/nv-datagridrow/nv-datagridrow.docs.d.ts +0 -4
  671. package/dist/types/components/nv-fielddropdownitem/DropdownItemSelectedEventDetail.d.ts +0 -21
  672. package/dist/types/components/nv-tablebody/nv-tablebody.d.ts +0 -7
  673. package/dist/types/components/nv-tablebody/nv-tablebody.docs.d.ts +0 -4
  674. package/dist/types/components/nv-tabledatacell/nv-tabledatacell.d.ts +0 -30
  675. package/dist/types/components/nv-tabledatacell/nv-tabledatacell.docs.d.ts +0 -4
  676. package/dist/types/components/nv-tablehead/nv-tablehead.d.ts +0 -7
  677. package/dist/types/components/nv-tablehead/nv-tablehead.docs.d.ts +0 -4
  678. package/dist/types/components/nv-tablerow/nv-tablerow.d.ts +0 -7
  679. package/dist/types/dev/dev-components.d.ts +0 -2
  680. package/dist/types/dev/dev-forms.d.ts +0 -2
  681. package/dist/types/dev/dev-utils.d.ts +0 -17
  682. package/dist/vscode-data.json +0 -4283
  683. /package/dist/native/{p-211f7b19.entry.js.map → p-15be3d96.entry.js.map} +0 -0
  684. /package/dist/native/{p-a06bafad.entry.js.map → p-359f0f53.entry.js.map} +0 -0
  685. /package/dist/native/{p-beab7cbd.entry.js.map → p-3be2c9a1.entry.js.map} +0 -0
  686. /package/dist/native/{p-d24586ed.entry.js.map → p-491f4605.entry.js.map} +0 -0
  687. /package/dist/native/{p-96902bb3.entry.js.map → p-8d6516a3.entry.js.map} +0 -0
  688. /package/dist/native/{p-5f1a7e6e.entry.js.map → p-951baf95.entry.js.map} +0 -0
  689. /package/dist/native/{p-a998f8df.entry.js.map → p-cda56476.entry.js.map} +0 -0
  690. /package/dist/native/{p-02bb8184.entry.js.map → p-d1bf4d77.entry.js.map} +0 -0
  691. /package/dist/native/{p-61d2cb2e.entry.js.map → p-e36e956b.entry.js.map} +0 -0
  692. /package/dist/native/{p-0bf35abc.entry.js.map → p-edee1c1f.entry.js.map} +0 -0
  693. /package/dist/native/{p-e192c25c.entry.js.map → p-f1585fc2.entry.js.map} +0 -0
  694. /package/dist/native/{p-d67b7502.entry.js.map → p-fde56f9c.entry.js.map} +0 -0
  695. /package/dist/types/{dev/dev-root.d.ts → utils/test/class.utils.test.d.ts} +0 -0
  696. /package/dist/types/{global.d.ts → utils/test/dom.utils.test.d.ts} +0 -0
@@ -1,2 +1,2 @@
1
- import{r as e,c as o,h as a,a as r,g as n}from"./p-5439afb8.js";import{c as t}from"./p-8a1a6e56.js";import{F as s}from"./p-56f71851.js";import{u as i,t as c}from"./p-42301d8f.js";import{u as l}from"./p-1daca48a.js";const f='nv-alert{display:flex !important;align-items:flex-start;position:relative;gap:var(--alert-gap-x);border-radius:var(--alert-radius);font-family:"TT Norms Pro", "Montserrat", sans-serif}nv-alert>nv-icon{margin-left:var(--alert-icon-position-x);margin-top:var(--alert-icon-position-y)}nv-alert.feedback-information{background-color:var(--components-alert-information-background);border:1px solid var(--components-alert-information-border) !important}nv-alert.feedback-information>.close:focus,nv-alert.feedback-information>.close:focus-within{outline:none}nv-alert.feedback-information>.close:focus-visible,nv-alert.feedback-information>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-information-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-warning{background-color:var(--components-alert-warning-background);border:1px solid var(--components-alert-warning-border) !important}nv-alert.feedback-warning>.close:focus,nv-alert.feedback-warning>.close:focus-within{outline:none}nv-alert.feedback-warning>.close:focus-visible,nv-alert.feedback-warning>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-warning-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-error{background-color:var(--components-alert-error-background);border:1px solid var(--components-alert-error-border) !important}nv-alert.feedback-error>.close:focus,nv-alert.feedback-error>.close:focus-within{outline:none}nv-alert.feedback-error>.close:focus-visible,nv-alert.feedback-error>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-error-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-success{background-color:var(--components-alert-success-background);border:1px solid var(--components-alert-success-border) !important}nv-alert.feedback-success>.close:focus,nv-alert.feedback-success>.close:focus-within{outline:none}nv-alert.feedback-success>.close:focus-visible,nv-alert.feedback-success>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-success-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-neutral{background-color:var(--components-alert-neutral-background);border:1px solid var(--components-alert-neutral-border) !important}nv-alert.feedback-neutral>.close:focus,nv-alert.feedback-neutral>.close:focus-within{outline:none}nv-alert.feedback-neutral>.close:focus-visible,nv-alert.feedback-neutral>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-neutral-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert>nv-icon.icon-information{color:var(--components-alert-information-icon)}nv-alert>nv-icon.icon-warning{color:var(--components-alert-warning-icon)}nv-alert>nv-icon.icon-error{color:var(--components-alert-error-icon)}nv-alert>nv-icon.icon-success{color:var(--components-alert-success-icon)}nv-alert>nv-icon.icon-neutral{color:var(--components-alert-neutral-icon)}nv-alert>.content{display:flex;padding:var(--alert-padding);padding-left:0;flex-direction:column;gap:var(--alert-gap-y)}nv-alert>.content>.heading{color:var(--components-alert-content-title);font-size:var(--alert-heading-font-size);line-height:var(--alert-heading-line-height);font-weight:var(--alert-heading-font-weight)}nv-alert>.content>.message{color:var(--components-alert-content-description);font-size:var(--alert-message-font-size);line-height:var(--alert-message-line-height)}nv-alert>.close{border-radius:var(--alert-radius);position:absolute;display:flex;top:var(--alert-icon-position-y);right:var(--alert-icon-position-x);padding:0;border:none;background:none;cursor:pointer}';const d=f;const u=class{constructor(a){e(this,a);this.hiddenChanged=o(this,"hiddenChanged",7);this.hiddenChangedComplete=o(this,"hiddenChangedComplete",7);this.closeClicked=o(this,"closeClicked",7);this.feedback="information";this.dismissible=false;this.preventAutoClose=false;this.hidden=false;this.handleDismiss=e=>{if(!this.preventAutoClose){this.hidden=true}this.closeClicked.emit(e)};this.getDefaultIcon=()=>{switch(this.feedback){case s.Warning:return"alert-circle";case s.Information:return"info-circle";case s.Success:return"circle-check";case s.Error:return"alert-circle";case s.Neutral:return"help";default:return"info-circle"}}}componentWillRender(){if(this.color){switch(this.color){case"primary":this.feedback="warning";break;case"secondary":this.feedback="information";break;case"neutral":this.feedback="information";break;default:this.feedback=this.color}}}async handleHiddenChange(e){this.hiddenChanged.emit(e);const{fadeIn:o,fadeOut:a}=l(this.ref,{duration:150});const{collapse:r,expand:n}=i(this.ref,{duration:150});if(e===true)await c(a,r).start();if(e===false)await c(n,o).start();this.hiddenChangedComplete.emit(e)}componentWillLoad(){if(this.color){switch(this.color){case"primary":this.feedback="warning";break;case"secondary":this.feedback="information";break;case"neutral":this.feedback="information";break;default:this.feedback=this.color}}if(this.hidden){const{setCollapsed:e}=i(this.ref);const{setFadeOut:o}=l(this.ref);e();o()}}render(){var e;return a(r,{key:"e14c9a07c3127a8ac3b1881e055526b82a93ff83",role:"alert",class:t("root",`feedback-${this.feedback}`)},a("nv-icon",{key:"c4aaf00e4b18891dd6053f1529f7a6267386c647",name:(e=this.icon)!==null&&e!==void 0?e:this.getDefaultIcon(),class:`icon-${this.feedback}`,size:"md"}),a("div",{key:"9df1b181179cd21361bae2ae347a02dbe07cee63",class:"content"},this.heading&&a("p",{key:"53a21fe4139260bd9aca34cefbb194024a3a1afb",class:"heading"},this.heading),this.message&&a("p",{key:"eb58482e492f4aff15ccb300f3e89c70544c66d9",class:"message"},this.message),a("slot",{key:"2762850b8d37f8c53447321a80f2d12d81c8b6f6"})),this.dismissible&&a("button",{key:"8827d5cbffe2f3757111f09806672514c10f7942",class:"close",type:"button",onClick:this.handleDismiss},a("nv-icon",{key:"398ee6b8fc57eb994b30d7194ea69cd251ae5076",name:"x",size:"sm"})))}get ref(){return n(this)}static get watchers(){return{hidden:["handleHiddenChange"]}}};u.style=d;export{u as nv_alert};
2
- //# sourceMappingURL=p-4f11286d.entry.js.map
1
+ import{r as e,c as a,h as o,a as r,g as t}from"./p-5439afb8.js";import{c as n}from"./p-8a1a6e56.js";import{F as s}from"./p-b316c35d.js";import{u as i,t as c}from"./p-42301d8f.js";import{u as l}from"./p-1daca48a.js";const f='nv-alert{display:flex !important;align-items:flex-start;position:relative;gap:var(--alert-gap-x);border-radius:var(--alert-radius);font-family:"TT Norms Pro", "Montserrat", sans-serif}nv-alert>nv-icon{margin-left:var(--alert-icon-position-x);margin-top:var(--alert-icon-position-y)}nv-alert.feedback-information{background-color:var(--components-alert-information-background);border:1px solid var(--components-alert-information-border) !important}nv-alert.feedback-information>.close:focus,nv-alert.feedback-information>.close:focus-within{outline:none}nv-alert.feedback-information>.close:focus-visible,nv-alert.feedback-information>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-information-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-warning{background-color:var(--components-alert-warning-background);border:1px solid var(--components-alert-warning-border) !important}nv-alert.feedback-warning>.close:focus,nv-alert.feedback-warning>.close:focus-within{outline:none}nv-alert.feedback-warning>.close:focus-visible,nv-alert.feedback-warning>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-warning-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-error{background-color:var(--components-alert-error-background);border:1px solid var(--components-alert-error-border) !important}nv-alert.feedback-error>.close:focus,nv-alert.feedback-error>.close:focus-within{outline:none}nv-alert.feedback-error>.close:focus-visible,nv-alert.feedback-error>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-error-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-success{background-color:var(--components-alert-success-background);border:1px solid var(--components-alert-success-border) !important}nv-alert.feedback-success>.close:focus,nv-alert.feedback-success>.close:focus-within{outline:none}nv-alert.feedback-success>.close:focus-visible,nv-alert.feedback-success>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-success-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-neutral{background-color:var(--components-alert-neutral-background);border:1px solid var(--components-alert-neutral-border) !important}nv-alert.feedback-neutral>.close:focus,nv-alert.feedback-neutral>.close:focus-within{outline:none}nv-alert.feedback-neutral>.close:focus-visible,nv-alert.feedback-neutral>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-neutral-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert>nv-icon.icon-information{color:var(--components-alert-information-icon)}nv-alert>nv-icon.icon-warning{color:var(--components-alert-warning-icon)}nv-alert>nv-icon.icon-error{color:var(--components-alert-error-icon)}nv-alert>nv-icon.icon-success{color:var(--components-alert-success-icon)}nv-alert>nv-icon.icon-neutral{color:var(--components-alert-neutral-icon)}nv-alert>.content{display:flex;padding:var(--alert-padding);padding-left:0;flex-direction:column;gap:var(--alert-gap-y)}nv-alert>.content>.heading{color:var(--components-alert-content-title);font-size:var(--alert-heading-font-size);line-height:var(--alert-heading-line-height);font-weight:var(--alert-heading-font-weight)}nv-alert>.content>.message{color:var(--components-alert-content-description);font-size:var(--alert-message-font-size);line-height:var(--alert-message-line-height)}nv-alert>.close{border-radius:var(--alert-radius);position:absolute;display:flex;top:var(--alert-icon-position-y);right:var(--alert-icon-position-x);padding:0;border:none;background:none;cursor:pointer}';const d=f;const u=class{constructor(o){e(this,o);this.hiddenChanged=a(this,"hiddenChanged",7);this.hiddenChangedComplete=a(this,"hiddenChangedComplete",7);this.closeClicked=a(this,"closeClicked",7);this.feedback="information";this.dismissible=false;this.preventAutoClose=false;this.hidden=false;this.hasNoAnimations=false;this.handleDismiss=e=>{if(!this.preventAutoClose){this.hidden=true}this.closeClicked.emit(e)};this.getDefaultIcon=()=>{switch(this.feedback){case s.Warning:return"alert-circle";case s.Information:return"info-circle";case s.Success:return"circle-check";case s.Error:return"alert-circle";case s.Neutral:return"help";default:return"info-circle"}}}componentWillRender(){if(this.color){switch(this.color){case"primary":this.feedback="warning";break;case"secondary":this.feedback="information";break;case"neutral":this.feedback="information";break;default:this.feedback=this.color}}}async handleHiddenChange(e){this.hiddenChanged.emit(e);await this.updateVisibility(e);this.hiddenChangedComplete.emit(e)}async updateVisibility(e){if(this.hasNoAnimations){this.toggleHiddenClass(e);return}const{fadeIn:a,fadeOut:o}=l(this.ref,{duration:150});const{collapse:r,expand:t}=i(this.ref,{duration:150});if(e){await c(o,r).start();this.toggleHiddenClass(true)}else{this.toggleHiddenClass(false);await c(t,a).start()}}toggleHiddenClass(e){this.ref.classList.toggle("hidden",e)}componentWillLoad(){if(this.color){switch(this.color){case"primary":this.feedback="warning";break;case"secondary":this.feedback="information";break;case"neutral":this.feedback="information";break;default:this.feedback=this.color}}if(this.hidden){this.ref.classList.add("hidden")}}render(){var e;return o(r,{key:"e81f265d69ba269ea5a7433465f68862cf4444d2",role:"alert",class:n("root",`feedback-${this.feedback}`)},o("nv-icon",{key:"e0e21d84a214a51e0b303055e4aa280e0467dfe0",name:(e=this.icon)!==null&&e!==void 0?e:this.getDefaultIcon(),class:`icon-${this.feedback}`,size:"md"}),o("div",{key:"705d079e0abe159e4398f5d53ecec0c6649bcf6d",class:"content"},this.heading&&o("p",{key:"cff1fa5c3caf736d332b2389168030b7263997c1",class:"heading"},this.heading),this.message&&o("p",{key:"6f492a02c068c1ffab48aeae7dd619c1a73b1c19",class:"message"},this.message),o("slot",{key:"e79556d3c7c10b8771e7e6262d4e4086bf895de9"})),this.dismissible&&o("button",{key:"2754a1237501c458b32a84f2f3166109dba9c3e2",class:"close",type:"button",onClick:this.handleDismiss},o("nv-icon",{key:"9563b22ee4689d7e4d35ca4d882827004b334671",name:"x",size:"sm"})))}get ref(){return t(this)}static get watchers(){return{hidden:["handleHiddenChange"]}}};u.style=d;export{u as nv_alert};
2
+ //# sourceMappingURL=p-27ad7af2.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["nvAlertCss","NvAlertStyle0","NvAlert","constructor","hostRef","this","feedback","dismissible","preventAutoClose","hidden","hasNoAnimations","handleDismiss","originalEvent","closeClicked","emit","getDefaultIcon","FeedbackColors","Warning","Information","Success","Error","Neutral","componentWillRender","color","handleHiddenChange","hiddenChanged","updateVisibility","hiddenChangedComplete","toggleHiddenClass","fadeIn","fadeOut","useFade","ref","duration","collapse","expand","useCollapse","timeline","start","classList","toggle","componentWillLoad","add","render","h","Host","key","role","class","clsx","name","_a","icon","size","heading","message","type","onClick"],"sources":["src/components/nv-alert/nv-alert.scss?tag=nv-alert","src/components/nv-alert/nv-alert.tsx"],"sourcesContent":["@use \"sass:map\";\n@import \"../../styles/focus-ring\";\n\n/* Variants */\n$alert-feedback: (\"information\", \"warning\", \"error\", \"success\", \"neutral\");\n\n/* Define maps for feedback-related variables */\n$components-alert-background: (\n \"information\": var(--components-alert-information-background),\n \"warning\": var(--components-alert-warning-background),\n \"error\": var(--components-alert-error-background),\n \"success\": var(--components-alert-success-background),\n \"neutral\": var(--components-alert-neutral-background)\n);\n\n$components-alert-border: (\n \"information\": var(--components-alert-information-border),\n \"warning\": var(--components-alert-warning-border),\n \"error\": var(--components-alert-error-border),\n \"success\": var(--components-alert-success-border),\n \"neutral\": var(--components-alert-neutral-border)\n);\n\n$components-alert-icon: (\n \"information\": var(--components-alert-information-icon),\n \"warning\": var(--components-alert-warning-icon),\n \"error\": var(--components-alert-error-icon),\n \"success\": var(--components-alert-success-icon),\n \"neutral\": var(--components-alert-neutral-icon)\n);\n\n@mixin root-styles() {\n display: flex !important; // override the display: none in [hidden] css\n align-items: flex-start;\n position: relative;\n gap: var(--alert-gap-x);\n border-radius: var(--alert-radius);\n font-family: \"TT Norms Pro\", \"Montserrat\", sans-serif;\n}\n\n@mixin content-styles() {\n display: flex;\n padding: var(--alert-padding);\n padding-left: 0;\n flex-direction: column;\n gap: var(--alert-gap-y);\n}\n\n@mixin feedback-color($feedback-type) {\n background-color: map.get($components-alert-background, $feedback-type);\n border: 1px solid map.get($components-alert-border, $feedback-type) !important;\n}\n\n@mixin icon-color($feedback-type) {\n color: map.get($components-alert-icon, $feedback-type);\n}\n\n@mixin icon-position {\n margin-left: var(--alert-icon-position-x);\n margin-top: var(--alert-icon-position-y);\n}\n\nnv-alert {\n @include root-styles();\n\n & > nv-icon {\n @include icon-position();\n }\n\n @each $feedback in $alert-feedback {\n &.feedback-#{$feedback} {\n @include feedback-color($feedback);\n & > .close {\n @include focus-ring(map.get($components-alert-border, $feedback));\n }\n }\n }\n\n @each $feedback in $alert-feedback {\n & > nv-icon.icon-#{$feedback} {\n @include icon-color($feedback);\n }\n }\n\n & > .content {\n @include content-styles();\n\n & > .heading {\n color: var(--components-alert-content-title);\n font-size: var(--alert-heading-font-size);\n line-height: var(--alert-heading-line-height);\n font-weight: var(--alert-heading-font-weight);\n }\n & > .message {\n color: var(--components-alert-content-description);\n font-size: var(--alert-message-font-size);\n line-height: var(--alert-message-line-height);\n }\n }\n & > .close {\n border-radius: var(--alert-radius);\n position: absolute;\n display: flex;\n top: var(--alert-icon-position-y);\n right: var(--alert-icon-position-x);\n padding: 0;\n border: none;\n background: none;\n cursor: pointer;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Watch,\n Element,\n} from '@stencil/core';\nimport clsx from 'clsx';\n\nimport {\n DeprecatedSemanticColors,\n FeedbackColors,\n} from '../../utils/constants';\nimport { useCollapse, useFade, timeline } from '../../animations';\n\n/**\n * @slot default - Use this slot to insert HTML into the alert content.\n */\n@Component({\n tag: 'nv-alert',\n styleUrl: 'nv-alert.scss',\n shadow: false,\n})\nexport class NvAlert {\n @Element() ref: HTMLNvAlertElement;\n\n /****************************************************************************/\n //#region DEPRECATED\n\n /**\n * Defines color of the alert.\n * @deprecated use feedback instead.\n */\n @Prop()\n readonly color: `${DeprecatedSemanticColors}`;\n\n componentWillRender() {\n if (this.color) {\n switch (this.color) {\n case 'primary' as DeprecatedSemanticColors:\n this.feedback = 'warning' as FeedbackColors;\n break;\n case 'secondary' as DeprecatedSemanticColors:\n this.feedback = 'information' as FeedbackColors;\n break;\n case 'neutral' as DeprecatedSemanticColors:\n this.feedback = 'information' as FeedbackColors;\n break;\n default:\n this.feedback = this.color as FeedbackColors;\n }\n }\n }\n\n //#endregion DEPRECATED\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Specifies the alert type which determines the color and default icon.\n */\n @Prop({ reflect: true, mutable: true })\n feedback: `${FeedbackColors}` = 'information';\n\n /**\n * Main content of the alert. For more complex content, use the default slot\n * instead.\n */\n @Prop({ reflect: true })\n readonly message: string;\n\n /**\n * Short and concise text for the alert title.\n */\n @Prop({ reflect: true })\n readonly heading: string;\n\n /**\n * Icon associated with the alert, defaults vary based on the feedback type.\n */\n @Prop({ reflect: true })\n readonly icon: string;\n\n /**\n * Allows the alert to be dismissed via a close button (x). The alert is not\n * dismissible unless explicitly enabled.\n */\n @Prop({ reflect: true })\n readonly dismissible: boolean = false;\n\n /**\n * When true, the alert does not automatically close upon dismissing.\n * Useful for externally controlled component behavior.\n */\n @Prop({ reflect: true })\n readonly preventAutoClose: boolean = false;\n\n /**\n * Controls the visibility of the alert. Will animate with fade and collapse.\n */\n @Prop({ reflect: true, mutable: true })\n hidden: boolean = false; // eslint-disable-line @stencil-community/reserved-member-names\n\n /**\n * When true, the alert will not animate when it is hidden or shown.\n */\n @Prop({ reflect: true })\n readonly hasNoAnimations: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emits when the 'hidden' prop changes, reflecting a change in visibility.\n * Passes hidden value to the detail.\n * @bind hidden\n */\n @Event()\n hiddenChanged: EventEmitter<boolean>;\n\n /**\n * Emitted when the animations complete, detail includes the hidden value.\n */\n @Event()\n hiddenChangedComplete: EventEmitter<boolean>;\n\n /**\n * Emitted when the close button is clicked.\n */\n @Event()\n closeClicked: EventEmitter<MouseEvent>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n /**\n * Used for 2 way binding with the hidden property.\n * Triggers open and close animations.\n * @param {boolean} hidden - The visibility state of the alert.\n */\n @Watch('hidden')\n async handleHiddenChange(hidden: boolean) {\n this.hiddenChanged.emit(hidden);\n\n await this.updateVisibility(hidden);\n this.hiddenChangedComplete.emit(hidden);\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Handles the dismissal of the alert, considering the preventAutoClose prop.\n * Passes the original event from the close button to the close event detail.\n * @param {MouseEvent} originalEvent - The original event from the close button.\n */\n private handleDismiss = (originalEvent?: MouseEvent) => {\n if (!this.preventAutoClose) {\n this.hidden = true;\n }\n\n this.closeClicked.emit(originalEvent);\n };\n\n /**\n * By default an icon is linked to the feedback type\n * @returns {string} - The default icon name.\n */\n private getDefaultIcon = () => {\n switch (this.feedback) {\n case FeedbackColors.Warning:\n return 'alert-circle';\n case FeedbackColors.Information:\n return 'info-circle';\n case FeedbackColors.Success:\n return 'circle-check';\n case FeedbackColors.Error:\n return 'alert-circle';\n case FeedbackColors.Neutral:\n return 'help';\n default:\n return 'info-circle';\n }\n };\n\n /**\n * Updates the visibility state of the alert with optional animations\n * @param {boolean} hidden - Whether the alert should be hidden\n */\n private async updateVisibility(hidden: boolean) {\n if (this.hasNoAnimations) {\n this.toggleHiddenClass(hidden);\n return;\n }\n\n const { fadeIn, fadeOut } = useFade(this.ref, { duration: 150 });\n const { collapse, expand } = useCollapse(this.ref, { duration: 150 });\n\n if (hidden) {\n await timeline(fadeOut, collapse).start();\n this.toggleHiddenClass(true);\n } else {\n this.toggleHiddenClass(false);\n await timeline(expand, fadeIn).start();\n }\n }\n\n /**\n * Toggles the 'hidden' class on the element\n * @param {boolean} hidden - Whether to add or remove the hidden class\n */\n private toggleHiddenClass(hidden: boolean) {\n this.ref.classList.toggle('hidden', hidden);\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n if (this.color) {\n switch (this.color) {\n case 'primary' as DeprecatedSemanticColors:\n this.feedback = 'warning' as FeedbackColors;\n break;\n case 'secondary' as DeprecatedSemanticColors:\n this.feedback = 'information' as FeedbackColors;\n break;\n case 'neutral' as DeprecatedSemanticColors:\n this.feedback = 'information' as FeedbackColors;\n break;\n default:\n this.feedback = this.color as FeedbackColors;\n }\n }\n\n if (this.hidden) {\n this.ref.classList.add('hidden');\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host role=\"alert\" class={clsx('root', `feedback-${this.feedback}`)}>\n <nv-icon\n name={this.icon ?? this.getDefaultIcon()}\n class={`icon-${this.feedback}`}\n size=\"md\"\n ></nv-icon>\n\n <div class=\"content\">\n {this.heading && <p class=\"heading\">{this.heading}</p>}\n\n {this.message && <p class=\"message\">{this.message}</p>}\n\n <slot></slot>\n </div>\n\n {this.dismissible && (\n <button class=\"close\" type=\"button\" onClick={this.handleDismiss}>\n <nv-icon name=\"x\" size=\"sm\" />\n </button>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"mappings":"uNAAA,MAAMA,EAAa,wvHACnB,MAAAC,EAAeD,E,MCyBFE,EAAO,MALpB,WAAAC,CAAAC,G,+JA4CEC,KAAAC,SAAgC,cA0BvBD,KAAAE,YAAuB,MAOvBF,KAAAG,iBAA4B,MAMrCH,KAAAI,OAAkB,MAMTJ,KAAAK,gBAA2B,MAoD5BL,KAAAM,cAAiBC,IACvB,IAAKP,KAAKG,iBAAkB,CAC1BH,KAAKI,OAAS,I,CAGhBJ,KAAKQ,aAAaC,KAAKF,EAAc,EAO/BP,KAAAU,eAAiB,KACvB,OAAQV,KAAKC,UACX,KAAKU,EAAeC,QAClB,MAAO,eACT,KAAKD,EAAeE,YAClB,MAAO,cACT,KAAKF,EAAeG,QAClB,MAAO,eACT,KAAKH,EAAeI,MAClB,MAAO,eACT,KAAKJ,EAAeK,QAClB,MAAO,OACT,QACE,MAAO,c,EApJb,mBAAAC,GACE,GAAIjB,KAAKkB,MAAO,CACd,OAAQlB,KAAKkB,OACX,IAAK,UACHlB,KAAKC,SAAW,UAChB,MACF,IAAK,YACHD,KAAKC,SAAW,cAChB,MACF,IAAK,UACHD,KAAKC,SAAW,cAChB,MACF,QACED,KAAKC,SAAWD,KAAKkB,M,EA8F7B,wBAAMC,CAAmBf,GACvBJ,KAAKoB,cAAcX,KAAKL,SAElBJ,KAAKqB,iBAAiBjB,GAC5BJ,KAAKsB,sBAAsBb,KAAKL,E,CA6C1B,sBAAMiB,CAAiBjB,GAC7B,GAAIJ,KAAKK,gBAAiB,CACxBL,KAAKuB,kBAAkBnB,GACvB,M,CAGF,MAAMoB,OAAEA,EAAMC,QAAEA,GAAYC,EAAQ1B,KAAK2B,IAAK,CAAEC,SAAU,MAC1D,MAAMC,SAAEA,EAAQC,OAAEA,GAAWC,EAAY/B,KAAK2B,IAAK,CAAEC,SAAU,MAE/D,GAAIxB,EAAQ,OACJ4B,EAASP,EAASI,GAAUI,QAClCjC,KAAKuB,kBAAkB,K,KAClB,CACLvB,KAAKuB,kBAAkB,aACjBS,EAASF,EAAQN,GAAQS,O,EAQ3B,iBAAAV,CAAkBnB,GACxBJ,KAAK2B,IAAIO,UAAUC,OAAO,SAAU/B,E,CAOtC,iBAAAgC,GACE,GAAIpC,KAAKkB,MAAO,CACd,OAAQlB,KAAKkB,OACX,IAAK,UACHlB,KAAKC,SAAW,UAChB,MACF,IAAK,YACHD,KAAKC,SAAW,cAChB,MACF,IAAK,UACHD,KAAKC,SAAW,cAChB,MACF,QACED,KAAKC,SAAWD,KAAKkB,M,CAI3B,GAAIlB,KAAKI,OAAQ,CACfJ,KAAK2B,IAAIO,UAAUG,IAAI,S,EAQ3B,MAAAC,G,MACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,KAAK,QAAQC,MAAOC,EAAK,OAAQ,YAAY5C,KAAKC,aACtDsC,EAAA,WAAAE,IAAA,2CACEI,MAAMC,EAAA9C,KAAK+C,QAAI,MAAAD,SAAA,EAAAA,EAAI9C,KAAKU,iBACxBiC,MAAO,QAAQ3C,KAAKC,WACpB+C,KAAK,OAGPT,EAAA,OAAAE,IAAA,2CAAKE,MAAM,WACR3C,KAAKiD,SAAWV,EAAA,KAAAE,IAAA,2CAAGE,MAAM,WAAW3C,KAAKiD,SAEzCjD,KAAKkD,SAAWX,EAAA,KAAAE,IAAA,2CAAGE,MAAM,WAAW3C,KAAKkD,SAE1CX,EAAA,QAAAE,IAAA,8CAGDzC,KAAKE,aACJqC,EAAA,UAAAE,IAAA,2CAAQE,MAAM,QAAQQ,KAAK,SAASC,QAASpD,KAAKM,eAChDiC,EAAA,WAAAE,IAAA,2CAASI,KAAK,IAAIG,KAAK,Q","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as t,h as n,a as i,g as o}from"./p-5439afb8.js";const r="nv-menuitem{display:flex;align-items:center;max-width:300px;width:100vw;font-size:var(--menu-contextual-item-font-size);font-weight:var(--menu-contextual-item-font-weight);color:var(--components-menu-contextual-item-content);border-radius:var(--menu-contextual-item-radius);gap:var(--menu-contextual-item-gap-x);padding:var(--menu-contextual-item-padding-y) var(--menu-contextual-item-padding-x);transition:background-color 150ms ease-out;cursor:pointer}nv-menuitem:hover,nv-menuitem:focus,nv-menuitem:focus-within{background-color:var(--components-menu-contextual-item-background-hover);color:var(--components-menu-contextual-item-content-hover)}nv-menuitem kbd{color:var(--components-menu-contextual-item-shortcut)}nv-menuitem [data-scope=text]{margin-right:auto}nv-menuitem[disabled]:not([disabled=false]){cursor:unset;background-color:unset;color:var(--components-menu-contextual-item-content-disabled)}nv-menu{display:inline-block;position:relative}nv-menu:has([fluid]:not([fluid=false])){display:block}nv-menu nv-popover{display:unset}nv-menu nv-popover [data-scope=popover]{background-color:transparent !important;padding:0 !important}nv-menu [slot=content]{padding:var(--menu-contextual-padding-y) var(--menu-contextual-padding-x);border-radius:var(--menu-contextual-radius);gap:var(--menu-contextual-gap-y);background-color:var(--components-menu-contextual-background);border-color:var(--components-menu-contextual-border);display:flex;flex-direction:column}nv-menu nv-menu[open]:not([open=false])>nv-menuitem{background-color:var(--components-menu-contextual-item-background-hover);color:var(--components-menu-contextual-item-content-hover)}nv-menu hr{display:block;margin:var(--menu-contextual-divider-padding-top) var(--menu-contextual-divider-padding-x) var(--menu-contextual-divider-padding-bottom) var(--menu-contextual-divider-padding-x)}";const s=r;const a=class{constructor(n){e(this,n);this.menuitemSelected=t(this,"menuitemSelected",7);this.isHandlingKeyDown=false;this.open=false;this.nested=false;this.disableCloseOnSelect=false;this.placement="bottom-end";this.parsedItems=[]}handleItemsChange(e){if(typeof e==="string"){try{this.parsedItems=JSON.parse(e)}catch(e){console.error("Error parsing menu items:",e);this.parsedItems=[]}}}async show(){this.open=true}async close(){this.open=false}handleMenuItemSelect(e){if(this.disableCloseOnSelect)return;if(e.detail.hasSubmenu)return;this.open=false}handleKeydown(e){if(!this.open){if((e.key==="Enter"||e.key==="ArrowDown"||e.key===" ")&&document.activeElement===this.triggerElement){e.preventDefault();this.show();const t=this.popoverElement.querySelector("nv-menuitem");if(t){requestAnimationFrame((()=>t.focus()))}}return}if(this.isHandlingKeyDown)return;this.isHandlingKeyDown=true;if(e.key==="ArrowDown"||e.key==="ArrowUp"||e.key==="ArrowLeft"||e.key==="ArrowRight"||e.key==="Escape"){e.preventDefault()}if(e.key==="Escape"&&!this.nested){this.close();this.triggerElement.focus();this.isHandlingKeyDown=false;return}const t=this.el.querySelector('[slot="content"]');const n=Array.from(t.childNodes).filter((e=>{var t;return(t=e.matches)===null||t===void 0?void 0:t.call(e,"nv-menuitem, nv-menu")}));let i=n.indexOf(document.activeElement);if(i===-1)i=n.indexOf(document.activeElement.parentElement);if(i===-1&&n.find((e=>e.matches("nv-menu[open]")))){this.isHandlingKeyDown=false;return}if(e.key==="ArrowDown"||e.key==="ArrowUp"){n.forEach((e=>{if(e.matches("nv-menu"))e.close()}))}if(e.key==="ArrowDown"){let e=(i+1)%n.length;while(n[e].matches("nv-menuitem[disabled]")){e=(e+1)%n.length}const t=n[e];if(t.matches("nv-menuitem")){t.focus()}else if(t.matches("nv-menu")){t.querySelector("nv-menuitem").focus()}}if(e.key==="ArrowUp"){let e=(i-1+n.length)%n.length;while(n[e].matches("nv-menuitem[disabled]")){e=(e-1+n.length)%n.length}const t=n[e];if(t.matches("nv-menuitem")){t.focus()}else if(t.matches("nv-menu")){t.querySelector("nv-menuitem").focus()}}if(e.key==="ArrowRight"){const e=n[i];if(!e.matches("nv-menu")){this.isHandlingKeyDown=false;return}e.show()}if(e.key==="ArrowLeft"&&this.nested){if(n.find((e=>e.matches("nv-menu[open]")))){this.isHandlingKeyDown=false;return}this.close();this.triggerElement.focus()}this.isHandlingKeyDown=false}handleOpenChanged(e){if(e.target===this.el.querySelector("nv-popover")){this.open=e.detail}const t=this.triggerElement===document.activeElement;const n=this.triggerElement.matches(":focus-visible");if(t&&n)this.focusFirstItem()}focusFirstItem(){const e=this.popoverElement.querySelector("nv-menuitem");if(e){requestAnimationFrame((()=>e.focus()))}}componentWillLoad(){this.triggerElement=Array.from(this.el.children).find((e=>e.getAttribute("slot")==="trigger"));if(this.items){this.handleItemsChange(this.items)}}renderMenuItems(e){return e.map((e=>{var t;if(e.hasSubmenu&&((t=e.submenuItems)===null||t===void 0?void 0:t.length)>0){return n("nv-menu",{nested:true,placement:"right-start",items:JSON.stringify(e.submenuItems)},n("nv-menuitem",{slot:"trigger","has-submenu":true,disabled:e.disabled,icon:e.icon,shortcut:e.shortcut,id:e.value,name:e.label},e.label))}return n("nv-menuitem",{disabled:e.disabled,icon:e.icon,shortcut:e.shortcut,id:e.value,name:e.label},e.label)}))}render(){return n(i,{key:"63955f0dfd09984650fae2e67a1a52e97485c742"},n("slot",{key:"edeaea189977961a8a77e20f6afe31ffebdebf9d",name:"trigger"}),n("nv-popover",{key:"51ded6ba14423c18e9db8053c5c8048d68a3e835",ref:e=>this.popoverElement=e,triggerMode:"click",triggerElement:this.triggerElement,placement:this.placement,nested:this.nested,open:this.open},this.parsedItems.length>0?n("ul",{slot:"content"},this.renderMenuItems(this.parsedItems)):n("slot",{name:"content"})))}get el(){return o(this)}static get watchers(){return{items:["handleItemsChange"]}}};a.style=s;export{a as nv_menu};
2
+ //# sourceMappingURL=p-2b2a10f9.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["nvMenuCss","NvMenuStyle0","NvMenu","constructor","hostRef","this","isHandlingKeyDown","open","nested","disableCloseOnSelect","placement","parsedItems","handleItemsChange","newValue","JSON","parse","error","console","show","close","handleMenuItemSelect","event","detail","hasSubmenu","handleKeydown","key","document","activeElement","triggerElement","preventDefault","firstMenuItem","popoverElement","querySelector","requestAnimationFrame","focus","menuContent","el","menuItems","Array","from","childNodes","filter","item","_a","matches","call","currentIndex","indexOf","parentElement","find","forEach","nextIndex","length","nextFocusable","prevIndex","prevFocusable","submenu","handleOpenChanged","target","triggerHasFocus","triggerHasFocusVisible","focusFirstItem","firstButton","componentWillLoad","children","child","getAttribute","items","renderMenuItems","map","submenuItems","h","stringify","slot","disabled","icon","shortcut","id","value","name","label","render","Host","ref","triggerMode"],"sources":["src/components/nv-menu/nv-menu.scss?tag=nv-menu","src/components/nv-menu/nv-menu.tsx"],"sourcesContent":["@use \"../nv-menuitem/nv-menuitem\" as nv-menuitem;\n\n@mixin root-styles() {\n display: inline-block;\n position: relative;\n\n &:has([fluid]:not([fluid=\"false\"])) {\n display: block;\n }\n}\n\n@mixin content-styles() {\n padding: var(--menu-contextual-padding-y)\n var(--menu-contextual-padding-x);\n border-radius: var(--menu-contextual-radius);\n gap: var(--menu-contextual-gap-y);\n background-color: var(--components-menu-contextual-background);\n border-color: var(--components-menu-contextual-border);\n display: flex;\n flex-direction: column;\n}\n\n@mixin separator-styles() {\n display: block;\n margin: var(--menu-contextual-divider-padding-top)\n var(--menu-contextual-divider-padding-x)\n var(--menu-contextual-divider-padding-bottom)\n var(--menu-contextual-divider-padding-x) ;\n}\n\nnv-menu {\n @include root-styles();\n\n nv-popover {\n display: unset;\n\n [data-scope=popover]{\n background-color: transparent !important;\n padding: 0 !important;\n }\n }\n\n [slot=\"content\"] {\n @include content-styles();\n }\n\n nv-menu[open]:not([open=\"false\"]) {\n > nv-menuitem {\n @include nv-menuitem.focused-styles();\n }\n }\n\n hr {\n @include separator-styles();\n }\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Listen,\n Event,\n EventEmitter,\n Method,\n State,\n Watch,\n} from '@stencil/core';\nimport type { Placement } from '@floating-ui/dom';\nimport type { MenuitemSelectedEventDetail } from '../nv-menuitem/nv-menuitem';\nimport { IconName } from '../nv-icon/nv-icons';\n\n/**\n * Interface to define the structure of a menu item\n */\ninterface MenuItem {\n /**\n * The label of the menu item.\n */\n label: string;\n /**\n * The value of the menu item.\n */\n value?: string;\n /**\n * Whether the menu item is disabled.\n */\n disabled?: boolean;\n /**\n * Whether the menu item has a submenu.\n */\n hasSubmenu?: boolean;\n /**\n * The icon of the menu item.\n */\n icon?: string;\n /**\n * The shortcut of the menu item.\n */\n shortcut?: string;\n /**\n * Whether the menu item is nested.\n */\n nested?: boolean;\n /**\n * The submenu items of the menu item.\n */\n submenuItems?: MenuItem[];\n}\n\n/**\n * @slot trigger - Button to toggle the menu popover.\n * @slot content - Use an &lt;ul&gt;&lt;/ul&gt; tag for the slot, and place &lt;nv-menuitem&gt; elements inside.\n */\n@Component({\n tag: 'nv-menu',\n styleUrl: 'nv-menu.scss',\n shadow: false,\n})\nexport class NvMenu {\n @Element() el: HTMLNvMenuElement;\n private triggerElement!: HTMLElement;\n private popoverElement!: HTMLNvPopoverElement;\n private isHandlingKeyDown: boolean = false;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Use this to toggle the initial visibility of the menu, by default the menu\n * is hidden.\n */\n @Prop({ reflect: true, mutable: true })\n open: boolean = false;\n\n /**\n * Use this if the menu is nested inside another menu. This will prevent the\n * parent menu from closing when the child menu is opened.\n */\n @Prop()\n readonly nested: boolean = false;\n\n /**\n * Use this to disable the menu from closing automatically when a menu item is\n * selected.\n */\n @Prop()\n readonly disableCloseOnSelect: boolean = false;\n\n /**\n * Decides where the menu shows up next to the button it’s linked to (above,\n * below, to the sides). If there isn’t enough room, it will adjust its\n * position on the axis to fit on the screen, so users can always see it.\n */\n @Prop()\n readonly placement: Placement = 'bottom-end';\n\n /**\n * (New feature) Items to display in the menu, provided as a JSON string.\n * Format: [{ label: string, value?: string, disabled?: boolean, hasSubmenu?: boolean, ... }]\n */\n @Prop()\n readonly items?: string;\n\n /**\n * Parsed items stored in state.\n */\n @State()\n private parsedItems: MenuItem[] = [];\n\n /**\n * Watcher to parse the items when the `items` property changes.\n * @param {string} newValue - The new value of the `items` property.\n */\n @Watch('items')\n handleItemsChange(newValue: string) {\n if (typeof newValue === 'string') {\n try {\n this.parsedItems = JSON.parse(newValue);\n } catch (error) {\n console.error('Error parsing menu items:', error);\n this.parsedItems = [];\n }\n }\n }\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Opens the menu.\n */\n @Method()\n async show() {\n this.open = true;\n }\n\n /**\n * Closes the menu.\n */\n @Method()\n async close() {\n this.open = false;\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted from nv-menuitem elements with the corresponding id and name when\n * selected (via click or keyboard). This event listener can be attached to\n * either the nv-menu or the nv-menuitem element.\n */\n @Event()\n menuitemSelected: EventEmitter<MenuitemSelectedEventDetail>;\n\n @Listen('menuitemSelected')\n handleMenuItemSelect(event: CustomEvent<MenuitemSelectedEventDetail>) {\n if (this.disableCloseOnSelect) return;\n if (event.detail.hasSubmenu) return;\n this.open = false;\n }\n\n @Listen('keydown', { passive: false })\n handleKeydown(event: KeyboardEvent) {\n // If the menu is not open, check if the trigger is focused\n // and the user presses Enter or ArrowDown, open the menu\n if (!this.open) {\n if (\n (event.key === 'Enter' ||\n event.key === 'ArrowDown' ||\n event.key === ' ') &&\n document.activeElement === this.triggerElement\n ) {\n event.preventDefault();\n this.show();\n // Then, put the focus on the first menuitem\n const firstMenuItem = this.popoverElement.querySelector('nv-menuitem');\n if (firstMenuItem) {\n requestAnimationFrame(() => (firstMenuItem as HTMLElement).focus());\n }\n }\n return;\n }\n\n if (this.isHandlingKeyDown) return;\n this.isHandlingKeyDown = true;\n\n if (\n event.key === 'ArrowDown' ||\n event.key === 'ArrowUp' ||\n event.key === 'ArrowLeft' ||\n event.key === 'ArrowRight' ||\n event.key === 'Escape'\n ) {\n event.preventDefault();\n }\n\n if (event.key === 'Escape' && !this.nested) {\n this.close();\n this.triggerElement.focus();\n this.isHandlingKeyDown = false;\n return;\n }\n\n const menuContent = this.el.querySelector('[slot=\"content\"]');\n const menuItems = (\n Array.from(menuContent.childNodes) as Array<\n HTMLNvMenuitemElement | HTMLNvMenuElement\n >\n ).filter(item => item.matches?.('nv-menuitem, nv-menu'));\n\n let currentIndex = menuItems.indexOf(\n document.activeElement as HTMLNvMenuitemElement,\n );\n if (currentIndex === -1)\n currentIndex = menuItems.indexOf(\n document.activeElement.parentElement as HTMLNvMenuitemElement,\n );\n if (\n currentIndex === -1 &&\n menuItems.find(item => item.matches('nv-menu[open]'))\n ) {\n this.isHandlingKeyDown = false;\n return;\n }\n\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n menuItems.forEach(item => {\n if (item.matches('nv-menu')) (item as HTMLNvMenuElement).close();\n });\n }\n\n if (event.key === 'ArrowDown') {\n let nextIndex = (currentIndex + 1) % menuItems.length;\n while (menuItems[nextIndex].matches('nv-menuitem[disabled]')) {\n nextIndex = (nextIndex + 1) % menuItems.length;\n }\n const nextFocusable = menuItems[nextIndex];\n if (nextFocusable.matches('nv-menuitem')) {\n nextFocusable.focus();\n } else if (nextFocusable.matches('nv-menu')) {\n nextFocusable.querySelector('nv-menuitem').focus();\n }\n }\n\n if (event.key === 'ArrowUp') {\n let prevIndex = (currentIndex - 1 + menuItems.length) % menuItems.length;\n while (menuItems[prevIndex].matches('nv-menuitem[disabled]')) {\n prevIndex = (prevIndex - 1 + menuItems.length) % menuItems.length;\n }\n const prevFocusable = menuItems[prevIndex];\n if (prevFocusable.matches('nv-menuitem')) {\n prevFocusable.focus();\n } else if (prevFocusable.matches('nv-menu')) {\n prevFocusable.querySelector('nv-menuitem').focus();\n }\n }\n\n if (event.key === 'ArrowRight') {\n const submenu = menuItems[currentIndex];\n if (!submenu.matches('nv-menu')) {\n this.isHandlingKeyDown = false;\n return;\n }\n (submenu as HTMLNvMenuElement).show();\n }\n\n if (event.key === 'ArrowLeft' && this.nested) {\n if (menuItems.find(item => item.matches('nv-menu[open]'))) {\n this.isHandlingKeyDown = false;\n return;\n }\n this.close();\n this.triggerElement.focus();\n }\n\n this.isHandlingKeyDown = false;\n }\n\n @Listen('openChanged')\n handleOpenChanged(event: CustomEvent<boolean>) {\n if (event.target === this.el.querySelector('nv-popover')) {\n this.open = event.detail;\n }\n const triggerHasFocus = this.triggerElement === document.activeElement;\n const triggerHasFocusVisible =\n this.triggerElement.matches(':focus-visible');\n if (triggerHasFocus && triggerHasFocusVisible) this.focusFirstItem();\n }\n\n private focusFirstItem() {\n const firstButton = this.popoverElement.querySelector('nv-menuitem');\n if (firstButton) {\n requestAnimationFrame(() => firstButton.focus());\n }\n }\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.triggerElement = Array.from(this.el.children).find(child => {\n return child.getAttribute('slot') === 'trigger';\n }) as HTMLElement;\n\n // If the items attribute is provided, parse its value.\n if (this.items) {\n this.handleItemsChange(this.items);\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n /**\n * Generates menu items from the `items` property.\n * @param {MenuItem[]} items - The items to display in the menu.\n * @returns {HTMLElement[]} The rendered items.\n */\n private renderMenuItems(items: MenuItem[]) {\n return items.map(item => {\n if (item.hasSubmenu && item.submenuItems?.length > 0) {\n return (\n <nv-menu\n nested\n placement=\"right-start\"\n items={JSON.stringify(item.submenuItems)}\n >\n <nv-menuitem\n slot=\"trigger\"\n has-submenu\n disabled={item.disabled}\n icon={item.icon as IconName}\n shortcut={item.shortcut}\n id={item.value}\n name={item.label}\n >\n {item.label}\n </nv-menuitem>\n </nv-menu>\n );\n }\n return (\n <nv-menuitem\n disabled={item.disabled}\n icon={item.icon as IconName}\n shortcut={item.shortcut}\n id={item.value}\n name={item.label}\n >\n {item.label}\n </nv-menuitem>\n );\n });\n }\n\n render() {\n return (\n <Host>\n <slot name=\"trigger\"></slot>\n <nv-popover\n ref={el => (this.popoverElement = el)}\n triggerMode=\"click\"\n triggerElement={this.triggerElement}\n placement={this.placement}\n nested={this.nested}\n open={this.open}\n >\n {this.parsedItems.length > 0 ? (\n <ul slot=\"content\">{this.renderMenuItems(this.parsedItems)}</ul>\n ) : (\n <slot name=\"content\"></slot>\n )}\n </nv-popover>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"mappings":"gEAAA,MAAMA,EAAY,i0DAClB,MAAAC,EAAeD,E,MC+DFE,EAAM,MALnB,WAAAC,CAAAC,G,6DASUC,KAAAC,kBAA6B,MAUrCD,KAAAE,KAAgB,MAOPF,KAAAG,OAAkB,MAOlBH,KAAAI,qBAAgC,MAQhCJ,KAAAK,UAAuB,aAaxBL,KAAAM,YAA0B,E,CAOlC,iBAAAC,CAAkBC,GAChB,UAAWA,IAAa,SAAU,CAChC,IACER,KAAKM,YAAcG,KAAKC,MAAMF,E,CAC9B,MAAOG,GACPC,QAAQD,MAAM,4BAA6BA,GAC3CX,KAAKM,YAAc,E,GAazB,UAAMO,GACJb,KAAKE,KAAO,I,CAOd,WAAMY,GACJd,KAAKE,KAAO,K,CAgBd,oBAAAa,CAAqBC,GACnB,GAAIhB,KAAKI,qBAAsB,OAC/B,GAAIY,EAAMC,OAAOC,WAAY,OAC7BlB,KAAKE,KAAO,K,CAId,aAAAiB,CAAcH,GAGZ,IAAKhB,KAAKE,KAAM,CACd,IACGc,EAAMI,MAAQ,SACbJ,EAAMI,MAAQ,aACdJ,EAAMI,MAAQ,MAChBC,SAASC,gBAAkBtB,KAAKuB,eAChC,CACAP,EAAMQ,iBACNxB,KAAKa,OAEL,MAAMY,EAAgBzB,KAAK0B,eAAeC,cAAc,eACxD,GAAIF,EAAe,CACjBG,uBAAsB,IAAOH,EAA8BI,S,EAG/D,M,CAGF,GAAI7B,KAAKC,kBAAmB,OAC5BD,KAAKC,kBAAoB,KAEzB,GACEe,EAAMI,MAAQ,aACdJ,EAAMI,MAAQ,WACdJ,EAAMI,MAAQ,aACdJ,EAAMI,MAAQ,cACdJ,EAAMI,MAAQ,SACd,CACAJ,EAAMQ,gB,CAGR,GAAIR,EAAMI,MAAQ,WAAapB,KAAKG,OAAQ,CAC1CH,KAAKc,QACLd,KAAKuB,eAAeM,QACpB7B,KAAKC,kBAAoB,MACzB,M,CAGF,MAAM6B,EAAc9B,KAAK+B,GAAGJ,cAAc,oBAC1C,MAAMK,EACJC,MAAMC,KAAKJ,EAAYK,YAGvBC,QAAOC,IAAI,IAAAC,EAAI,OAAAA,EAAAD,EAAKE,WAAO,MAAAD,SAAA,SAAAA,EAAAE,KAAAH,EAAG,uBAAuB,IAEvD,IAAII,EAAeT,EAAUU,QAC3BrB,SAASC,eAEX,GAAImB,KAAkB,EACpBA,EAAeT,EAAUU,QACvBrB,SAASC,cAAcqB,eAE3B,GACEF,KAAkB,GAClBT,EAAUY,MAAKP,GAAQA,EAAKE,QAAQ,mBACpC,CACAvC,KAAKC,kBAAoB,MACzB,M,CAGF,GAAIe,EAAMI,MAAQ,aAAeJ,EAAMI,MAAQ,UAAW,CACxDY,EAAUa,SAAQR,IAChB,GAAIA,EAAKE,QAAQ,WAAaF,EAA2BvB,OAAO,G,CAIpE,GAAIE,EAAMI,MAAQ,YAAa,CAC7B,IAAI0B,GAAaL,EAAe,GAAKT,EAAUe,OAC/C,MAAOf,EAAUc,GAAWP,QAAQ,yBAA0B,CAC5DO,GAAaA,EAAY,GAAKd,EAAUe,M,CAE1C,MAAMC,EAAgBhB,EAAUc,GAChC,GAAIE,EAAcT,QAAQ,eAAgB,CACxCS,EAAcnB,O,MACT,GAAImB,EAAcT,QAAQ,WAAY,CAC3CS,EAAcrB,cAAc,eAAeE,O,EAI/C,GAAIb,EAAMI,MAAQ,UAAW,CAC3B,IAAI6B,GAAaR,EAAe,EAAIT,EAAUe,QAAUf,EAAUe,OAClE,MAAOf,EAAUiB,GAAWV,QAAQ,yBAA0B,CAC5DU,GAAaA,EAAY,EAAIjB,EAAUe,QAAUf,EAAUe,M,CAE7D,MAAMG,EAAgBlB,EAAUiB,GAChC,GAAIC,EAAcX,QAAQ,eAAgB,CACxCW,EAAcrB,O,MACT,GAAIqB,EAAcX,QAAQ,WAAY,CAC3CW,EAAcvB,cAAc,eAAeE,O,EAI/C,GAAIb,EAAMI,MAAQ,aAAc,CAC9B,MAAM+B,EAAUnB,EAAUS,GAC1B,IAAKU,EAAQZ,QAAQ,WAAY,CAC/BvC,KAAKC,kBAAoB,MACzB,M,CAEDkD,EAA8BtC,M,CAGjC,GAAIG,EAAMI,MAAQ,aAAepB,KAAKG,OAAQ,CAC5C,GAAI6B,EAAUY,MAAKP,GAAQA,EAAKE,QAAQ,mBAAmB,CACzDvC,KAAKC,kBAAoB,MACzB,M,CAEFD,KAAKc,QACLd,KAAKuB,eAAeM,O,CAGtB7B,KAAKC,kBAAoB,K,CAI3B,iBAAAmD,CAAkBpC,GAChB,GAAIA,EAAMqC,SAAWrD,KAAK+B,GAAGJ,cAAc,cAAe,CACxD3B,KAAKE,KAAOc,EAAMC,M,CAEpB,MAAMqC,EAAkBtD,KAAKuB,iBAAmBF,SAASC,cACzD,MAAMiC,EACJvD,KAAKuB,eAAegB,QAAQ,kBAC9B,GAAIe,GAAmBC,EAAwBvD,KAAKwD,gB,CAG9C,cAAAA,GACN,MAAMC,EAAczD,KAAK0B,eAAeC,cAAc,eACtD,GAAI8B,EAAa,CACf7B,uBAAsB,IAAM6B,EAAY5B,S,EAQ5C,iBAAA6B,GACE1D,KAAKuB,eAAiBU,MAAMC,KAAKlC,KAAK+B,GAAG4B,UAAUf,MAAKgB,GAC/CA,EAAMC,aAAa,UAAY,YAIxC,GAAI7D,KAAK8D,MAAO,CACd9D,KAAKO,kBAAkBP,KAAK8D,M,EAaxB,eAAAC,CAAgBD,GACtB,OAAOA,EAAME,KAAI3B,I,MACf,GAAIA,EAAKnB,cAAcoB,EAAAD,EAAK4B,gBAAY,MAAA3B,SAAA,SAAAA,EAAES,QAAS,EAAG,CACpD,OACEmB,EAAA,WACE/D,OAAM,KACNE,UAAU,cACVyD,MAAOrD,KAAK0D,UAAU9B,EAAK4B,eAE3BC,EAAA,eACEE,KAAK,UAAS,mBAEdC,SAAUhC,EAAKgC,SACfC,KAAMjC,EAAKiC,KACXC,SAAUlC,EAAKkC,SACfC,GAAInC,EAAKoC,MACTC,KAAMrC,EAAKsC,OAEVtC,EAAKsC,O,CAKd,OACET,EAAA,eACEG,SAAUhC,EAAKgC,SACfC,KAAMjC,EAAKiC,KACXC,SAAUlC,EAAKkC,SACfC,GAAInC,EAAKoC,MACTC,KAAMrC,EAAKsC,OAEVtC,EAAKsC,MACM,G,CAKpB,MAAAC,GACE,OACEV,EAACW,EAAI,CAAAzD,IAAA,4CACH8C,EAAA,QAAA9C,IAAA,2CAAMsD,KAAK,YACXR,EAAA,cAAA9C,IAAA,2CACE0D,IAAK/C,GAAO/B,KAAK0B,eAAiBK,EAClCgD,YAAY,QACZxD,eAAgBvB,KAAKuB,eACrBlB,UAAWL,KAAKK,UAChBF,OAAQH,KAAKG,OACbD,KAAMF,KAAKE,MAEVF,KAAKM,YAAYyC,OAAS,EACzBmB,EAAA,MAAIE,KAAK,WAAWpE,KAAK+D,gBAAgB/D,KAAKM,cAE9C4D,EAAA,QAAMQ,KAAK,a","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as o,c as e,h as a,a as n,g as i}from"./p-5439afb8.js";import{c}from"./p-8a1a6e56.js";import{u as s,t}from"./p-42301d8f.js";import{u as d}from"./p-1daca48a.js";const r="nv-badge{padding:var(--badge-padding-y) var(--badge-padding-x);display:inline-flex !important;vertical-align:middle;align-items:center;border-radius:var(--radius-rounded-full);height:fit-content;width:fit-content}nv-badge.with-gap{padding:var(--badge-padding-y) var(--badge-padding-x);display:inline-flex !important;vertical-align:middle;align-items:center;border-radius:var(--radius-rounded-full);height:fit-content;width:fit-content;gap:var(--badge-gap-x)}nv-badge:not(.with-gap){padding:var(--badge-padding-y) var(--badge-padding-x);display:inline-flex !important;vertical-align:middle;align-items:center;border-radius:var(--radius-rounded-full);height:fit-content;width:fit-content}nv-badge.badge-1{color:var(--color-rainbow-1-text);background-color:var(--color-rainbow-1-background)}nv-badge.badge-1 .close:focus,nv-badge.badge-1 .close:focus-within{outline:none}nv-badge.badge-1 .close:focus-visible,nv-badge.badge-1 .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-1-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-1 nv-icon{color:var(--color-rainbow-1-icon)}nv-badge.badge-2{color:var(--color-rainbow-2-text);background-color:var(--color-rainbow-2-background)}nv-badge.badge-2 .close:focus,nv-badge.badge-2 .close:focus-within{outline:none}nv-badge.badge-2 .close:focus-visible,nv-badge.badge-2 .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-2-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-2 nv-icon{color:var(--color-rainbow-2-icon)}nv-badge.badge-3{color:var(--color-rainbow-3-text);background-color:var(--color-rainbow-3-background)}nv-badge.badge-3 .close:focus,nv-badge.badge-3 .close:focus-within{outline:none}nv-badge.badge-3 .close:focus-visible,nv-badge.badge-3 .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-3-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-3 nv-icon{color:var(--color-rainbow-3-icon)}nv-badge.badge-4{color:var(--color-rainbow-4-text);background-color:var(--color-rainbow-4-background)}nv-badge.badge-4 .close:focus,nv-badge.badge-4 .close:focus-within{outline:none}nv-badge.badge-4 .close:focus-visible,nv-badge.badge-4 .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-4-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-4 nv-icon{color:var(--color-rainbow-4-icon)}nv-badge.badge-5{color:var(--color-rainbow-5-text);background-color:var(--color-rainbow-5-background)}nv-badge.badge-5 .close:focus,nv-badge.badge-5 .close:focus-within{outline:none}nv-badge.badge-5 .close:focus-visible,nv-badge.badge-5 .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-5-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-5 nv-icon{color:var(--color-rainbow-5-icon)}nv-badge.badge-6{color:var(--color-rainbow-6-text);background-color:var(--color-rainbow-6-background)}nv-badge.badge-6 .close:focus,nv-badge.badge-6 .close:focus-within{outline:none}nv-badge.badge-6 .close:focus-visible,nv-badge.badge-6 .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-6-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-6 nv-icon{color:var(--color-rainbow-6-icon)}nv-badge.badge-7{color:var(--color-rainbow-7-text);background-color:var(--color-rainbow-7-background)}nv-badge.badge-7 .close:focus,nv-badge.badge-7 .close:focus-within{outline:none}nv-badge.badge-7 .close:focus-visible,nv-badge.badge-7 .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-7-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-7 nv-icon{color:var(--color-rainbow-7-icon)}nv-badge.badge-8{color:var(--color-rainbow-8-text);background-color:var(--color-rainbow-8-background)}nv-badge.badge-8 .close:focus,nv-badge.badge-8 .close:focus-within{outline:none}nv-badge.badge-8 .close:focus-visible,nv-badge.badge-8 .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-8-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-8 nv-icon{color:var(--color-rainbow-8-icon)}nv-badge.badge-9{color:var(--color-rainbow-9-text);background-color:var(--color-rainbow-9-background)}nv-badge.badge-9 .close:focus,nv-badge.badge-9 .close:focus-within{outline:none}nv-badge.badge-9 .close:focus-visible,nv-badge.badge-9 .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-9-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-9 nv-icon{color:var(--color-rainbow-9-icon)}nv-badge.badge-10{color:var(--color-rainbow-10-text);background-color:var(--color-rainbow-10-background)}nv-badge.badge-10 .close:focus,nv-badge.badge-10 .close:focus-within{outline:none}nv-badge.badge-10 .close:focus-visible,nv-badge.badge-10 .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-10-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-10 nv-icon{color:var(--color-rainbow-10-icon)}nv-badge span{font-size:var(--font-size-xs);line-height:var(--line-height-xs) !important}nv-badge nv-icon>svg.icon-xs{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge nv-icon>svg.icon-sm{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge nv-icon>svg.icon-md{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge nv-icon>svg.icon-lg{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge nv-icon>svg.icon-xl{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge .close{padding:0;line-height:0;border:none;background:none;cursor:pointer;color:inherit;display:inline-flex;align-items:center;aspect-ratio:1/1;border-radius:var(--radius-rounded-full)}";const l=r;const b=class{constructor(a){o(this,a);this.closeClicked=e(this,"closeClicked",7);this.hiddenChanged=e(this,"hiddenChanged",7);this.hiddenChangedComplete=e(this,"hiddenChangedComplete",7);this.dismissal=false;this.color="1";this.label=null;this.leadIcon=null;this.dismissible=false;this.hidden=false;this._isHidden=this.hidden;this.preventAutoClose=false;this.handleClose=o=>{if(!this.preventAutoClose){this.hidden=true}this.closeClicked.emit(o)}}handleDismissalChange(o){this.dismissible=o}handleIconChange(o){this.leadIcon=o}async handleHiddenChange(o){this.hiddenChanged.emit(o);if(this._isHidden===true)this._isHidden=o;const{fadeIn:e,fadeOut:a}=d(this.ref,{duration:150});const{collapse:n,expand:i}=s(this.ref,{duration:150});if(o===true)await t(a,n).start();if(o===false)await t(i,e).start();this.hiddenChangedComplete.emit(o);if(this._isHidden===false)this._isHidden=o}componentWillLoad(){if(this.dismissal){this.dismissible=this.dismissal}if(this.icon!=null&&this.icon!=""){this.leadIcon=this.icon}if(this.hidden){const{setCollapsed:o}=s(this.ref);const{setFadeOut:e}=d(this.ref);o();e()}}render(){return a(n,{key:"f0b9bf1d1a32c72f9d8176300d06875f0258f068",class:c(`badge-${this.color}`,{"has-close":this.dismissible,"with-gap":this.dismissible||this.label,"visually-hidden":this._isHidden})},a("slot",{key:"967f6cceadd13f1a7758696b0ddb9b77d256caac",name:"leading-icon"},this.leadIcon&&a("nv-icon",{key:"683ccf19e6281ab8fded9e217f61a67d835a7b37",slot:"leading-icon",name:this.leadIcon,size:"sm"})),this.label&&a("span",{key:"e01b6071da8bdc73d7708e91c67afe9bc2819095"},this.label),this.dismissible&&a("button",{key:"f8040e70acd910c63fa377837fc13316a321366c",onClick:this.handleClose,class:"close",type:"button"},a("nv-icon",{key:"405cee0cdcdab3a470086ccbd3aa5b46c5e0e2ea",name:"x",size:"sm"})))}get ref(){return i(this)}static get watchers(){return{dismissal:["handleDismissalChange"],icon:["handleIconChange"],hidden:["handleHiddenChange"]}}};b.style=l;const g="nv-fielddropdownitemcheck{display:flex;padding:var(--list-dropdown-item-padding-y) var(--list-dropdown-item-padding-x);border-radius:var(--list-dropdown-item-radius)}nv-fielddropdownitemcheck slot-fb,nv-fielddropdownitemcheck span{all:unset}nv-fielddropdownitemcheck:hover{background-color:var(--components-list-dropdown-item-background-hover)}";const v=g;const u=class{constructor(a){o(this,a);this.itemChecked=e(this,"itemChecked",7);this.checked=false;this.disabled=false;this.onFieldcheckboxChanged=o=>{if(this.disabled)return;this.checked=o.detail;this.itemChecked.emit({value:this.value,checked:this.checked,group:this.group})}}render(){return a(n,{key:"13160bb659ba6784bb179cfaab73760086ac4c86"},a("div",{key:"9b9d4138a1f6423aee8e68d4402024993e340e97"},a("nv-fieldcheckbox",{key:"a9721d01e8eddb29e989527d5410f377e69bc771",checked:this.checked,name:this.label||this.value,label:this.label||this.value,"label-placement":"after",description:this.description,disabled:this.disabled,tabindex:"-1",role:"option",onCheckedChanged:this.onFieldcheckboxChanged})))}get el(){return i(this)}};u.style=v;export{b as nv_badge,u as nv_fielddropdownitemcheck};
2
- //# sourceMappingURL=p-a06bafad.entry.js.map
1
+ import{r as o,c as e,h as a,a as n,g as i}from"./p-5439afb8.js";import{c}from"./p-8a1a6e56.js";import{u as s,t}from"./p-42301d8f.js";import{u as d}from"./p-1daca48a.js";const r="nv-badge{padding:var(--badge-padding-y) var(--badge-padding-x);display:inline-flex !important;vertical-align:middle;align-items:center;border-radius:var(--radius-rounded-full);height:fit-content;width:fit-content}nv-badge.with-gap{padding:var(--badge-padding-y) var(--badge-padding-x);display:inline-flex !important;vertical-align:middle;align-items:center;border-radius:var(--radius-rounded-full);height:fit-content;width:fit-content;gap:var(--badge-gap-x)}nv-badge:not(.with-gap){padding:var(--badge-padding-y) var(--badge-padding-x);display:inline-flex !important;vertical-align:middle;align-items:center;border-radius:var(--radius-rounded-full);height:fit-content;width:fit-content}nv-badge.badge-1{color:var(--color-rainbow-1-text);background-color:var(--color-rainbow-1-background)}nv-badge.badge-1 .close:focus,nv-badge.badge-1 .close:focus-within{outline:none}nv-badge.badge-1 .close:focus-visible,nv-badge.badge-1 .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-1-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-1 nv-icon{color:var(--color-rainbow-1-icon)}nv-badge.badge-2{color:var(--color-rainbow-2-text);background-color:var(--color-rainbow-2-background)}nv-badge.badge-2 .close:focus,nv-badge.badge-2 .close:focus-within{outline:none}nv-badge.badge-2 .close:focus-visible,nv-badge.badge-2 .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-2-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-2 nv-icon{color:var(--color-rainbow-2-icon)}nv-badge.badge-3{color:var(--color-rainbow-3-text);background-color:var(--color-rainbow-3-background)}nv-badge.badge-3 .close:focus,nv-badge.badge-3 .close:focus-within{outline:none}nv-badge.badge-3 .close:focus-visible,nv-badge.badge-3 .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-3-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-3 nv-icon{color:var(--color-rainbow-3-icon)}nv-badge.badge-4{color:var(--color-rainbow-4-text);background-color:var(--color-rainbow-4-background)}nv-badge.badge-4 .close:focus,nv-badge.badge-4 .close:focus-within{outline:none}nv-badge.badge-4 .close:focus-visible,nv-badge.badge-4 .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-4-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-4 nv-icon{color:var(--color-rainbow-4-icon)}nv-badge.badge-5{color:var(--color-rainbow-5-text);background-color:var(--color-rainbow-5-background)}nv-badge.badge-5 .close:focus,nv-badge.badge-5 .close:focus-within{outline:none}nv-badge.badge-5 .close:focus-visible,nv-badge.badge-5 .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-5-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-5 nv-icon{color:var(--color-rainbow-5-icon)}nv-badge.badge-6{color:var(--color-rainbow-6-text);background-color:var(--color-rainbow-6-background)}nv-badge.badge-6 .close:focus,nv-badge.badge-6 .close:focus-within{outline:none}nv-badge.badge-6 .close:focus-visible,nv-badge.badge-6 .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-6-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-6 nv-icon{color:var(--color-rainbow-6-icon)}nv-badge.badge-7{color:var(--color-rainbow-7-text);background-color:var(--color-rainbow-7-background)}nv-badge.badge-7 .close:focus,nv-badge.badge-7 .close:focus-within{outline:none}nv-badge.badge-7 .close:focus-visible,nv-badge.badge-7 .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-7-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-7 nv-icon{color:var(--color-rainbow-7-icon)}nv-badge.badge-8{color:var(--color-rainbow-8-text);background-color:var(--color-rainbow-8-background)}nv-badge.badge-8 .close:focus,nv-badge.badge-8 .close:focus-within{outline:none}nv-badge.badge-8 .close:focus-visible,nv-badge.badge-8 .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-8-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-8 nv-icon{color:var(--color-rainbow-8-icon)}nv-badge.badge-9{color:var(--color-rainbow-9-text);background-color:var(--color-rainbow-9-background)}nv-badge.badge-9 .close:focus,nv-badge.badge-9 .close:focus-within{outline:none}nv-badge.badge-9 .close:focus-visible,nv-badge.badge-9 .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-9-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-9 nv-icon{color:var(--color-rainbow-9-icon)}nv-badge.badge-10{color:var(--color-rainbow-10-text);background-color:var(--color-rainbow-10-background)}nv-badge.badge-10 .close:focus,nv-badge.badge-10 .close:focus-within{outline:none}nv-badge.badge-10 .close:focus-visible,nv-badge.badge-10 .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-10-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-10 nv-icon{color:var(--color-rainbow-10-icon)}nv-badge span{font-size:var(--font-size-xs);line-height:var(--line-height-xs) !important}nv-badge nv-icon>svg.icon-xs{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge nv-icon>svg.icon-sm{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge nv-icon>svg.icon-md{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge nv-icon>svg.icon-lg{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge nv-icon>svg.icon-xl{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge .close{padding:0;line-height:0;border:none;background:none;cursor:pointer;color:inherit;display:inline-flex;align-items:center;aspect-ratio:1/1;border-radius:var(--radius-rounded-full)}";const l=r;const b=class{constructor(a){o(this,a);this.closeClicked=e(this,"closeClicked",7);this.hiddenChanged=e(this,"hiddenChanged",7);this.hiddenChangedComplete=e(this,"hiddenChangedComplete",7);this.dismissal=false;this.color="1";this.label=null;this.leadIcon=null;this.dismissible=false;this.hidden=false;this._isHidden=this.hidden;this.preventAutoClose=false;this.handleClose=o=>{if(!this.preventAutoClose){this.hidden=true}this.closeClicked.emit(o)}}handleDismissalChange(o){this.dismissible=o}handleIconChange(o){this.leadIcon=o}async handleHiddenChange(o){this.hiddenChanged.emit(o);if(this._isHidden===true)this._isHidden=o;const{fadeIn:e,fadeOut:a}=d(this.ref,{duration:150});const{collapse:n,expand:i}=s(this.ref,{duration:150});if(o===true)await t(a,n).start();if(o===false)await t(i,e).start();this.hiddenChangedComplete.emit(o);if(this._isHidden===false)this._isHidden=o}componentWillLoad(){if(this.dismissal){this.dismissible=this.dismissal}if(this.icon!=null&&this.icon!=""){this.leadIcon=this.icon}if(this.hidden){const{setCollapsed:o}=s(this.ref);const{setFadeOut:e}=d(this.ref);o();e()}}render(){return a(n,{key:"18d3a28777aa74117ccc68aa0c889ea716b90d56",class:c(`badge-${this.color}`,{"has-close":this.dismissible,"with-gap":this.dismissible||this.label,"visually-hidden":this._isHidden})},a("slot",{key:"87ac2dd4ae3ba521d1a6b15394d79c85c1899102",name:"leading-icon"},this.leadIcon&&a("nv-icon",{key:"22fbc091fe0c861e9a6ce12e5ba1b8d0e83ca7da",slot:"leading-icon",name:this.leadIcon,size:"sm"})),this.label&&a("span",{key:"040559657d6a337b2cd3ce265d2e99cdd0245324"},this.label),this.dismissible&&a("button",{key:"d0f992bdf748be5bf63d7a3e9864f96cad4dfae7",onClick:this.handleClose,class:"close",type:"button"},a("nv-icon",{key:"60915e33efb355a5e2820507fe2365ba4e602c26",name:"x",size:"sm"})))}get ref(){return i(this)}static get watchers(){return{dismissal:["handleDismissalChange"],icon:["handleIconChange"],hidden:["handleHiddenChange"]}}};b.style=l;const g="nv-fielddropdownitemcheck{display:flex;padding:var(--list-dropdown-item-padding-y) var(--list-dropdown-item-padding-x);border-radius:var(--list-dropdown-item-radius)}nv-fielddropdownitemcheck slot-fb,nv-fielddropdownitemcheck span{all:unset}nv-fielddropdownitemcheck:hover{background-color:var(--components-list-dropdown-item-background-hover)}";const v=g;const u=class{constructor(a){o(this,a);this.itemChecked=e(this,"itemChecked",7);this.checked=false;this.disabled=false;this.onFieldcheckboxChanged=o=>{if(this.disabled)return;this.checked=o.detail;this.itemChecked.emit({value:this.value,checked:this.checked,group:this.group})}}render(){return a(n,{key:"c76823d19d02d60e94d55c3d48b01319b68c2c9f"},a("div",{key:"09a3207064891e00c88e0443f6b709195da622ba"},a("nv-fieldcheckbox",{key:"74e188edba8f1fb69fed0a08b156a6ead4f37203",checked:this.checked,name:this.label||this.value,label:this.label||this.value,"label-placement":"after",description:this.description,disabled:this.disabled,tabindex:"-1",role:"option",onCheckedChanged:this.onFieldcheckboxChanged})))}get el(){return i(this)}};u.style=v;export{b as nv_badge,u as nv_fielddropdownitemcheck};
2
+ //# sourceMappingURL=p-359f0f53.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as a,h as e,a as c}from"./p-5439afb8.js";const r=class{constructor(e){a(this,e)}render(){return e(c,{key:"1a87ebe6794014751ac7c7be1cc95c50cb76866f"},e("slot",{key:"edfdc5c83a9627a407d41f655faf7202a89abe4a",name:"header"}),e("slot",{key:"45c8b495ae5fccc39faf67dabe23ed0571aaf713",name:"cell"}))}};export{r as nv_datagridcolumn};
2
+ //# sourceMappingURL=p-3b65037c.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NvDatagridcolumn","render","h","Host","key","name"],"sources":["src/components/nv-datagridcolumn/nv-datagridcolumn.tsx"],"sourcesContent":["import { Component, Host, Prop, h } from '@stencil/core';\n\n/**\n * @slot header - Defines how to render the header of the column.\n * @slot cell - Defines how to render every cell of the column.\n */\n@Component({\n tag: 'nv-datagridcolumn',\n shadow: false,\n})\nexport class NvDatagridcolumn {\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Defines the header of the column.\n */\n @Prop({ reflect: true })\n readonly header?: string;\n\n /**\n * Defines the accessor of the column.\n */\n @Prop({ reflect: true })\n readonly accessor!: string;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n <slot name=\"header\"></slot>\n <slot name=\"cell\"></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n /****************************************************************************/\n}\n"],"mappings":"wDAUaA,EAAgB,M,yBAoB3B,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,QAAAE,IAAA,2CAAMC,KAAK,WACXH,EAAA,QAAAE,IAAA,2CAAMC,KAAK,S","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as t,a as s,g as i}from"./p-5439afb8.js";const l={"w-full":"w-full",wFull:"w-full","is-active":"is-active","is-selected":"is-selected"};const a=class{constructor(t){e(this,t)}componentWillLoad(){this.applyClassesOnInitialRender()}componentDidLoad(){this.mutationObserver=new MutationObserver((e=>{e.forEach((e=>{if(e.type==="attributes"){const t=e.target;Object.keys(l).forEach((e=>{if(t.hasAttribute(e)){t.classList.add(l[e])}else{t.classList.remove(l[e])}}))}}))}));this.observeElements()}disconnectedCallback(){if(this.mutationObserver){this.mutationObserver.disconnect()}}applyClassesOnInitialRender(){Object.keys(l).forEach((e=>{const t=this.el.querySelectorAll(`[${e}]`);t.forEach((t=>{t.classList.add(l[e])}))}))}observeElements(){this.mutationObserver.observe(this.el,{attributes:true,attributeFilter:Object.keys(l),subtree:true})}render(){return t(s,{key:"ee2869bb42012e8c6b185e412503b14482f58af0",style:{display:"block"}},t("slot",{key:"2d89c30073a159339419bbec3f323abdcbf312cf"}))}get el(){return i(this)}};export{a as nv_base};
2
+ //# sourceMappingURL=p-3be2c9a1.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r}from"./p-5439afb8.js";const s=class{constructor(s){r(this,s)}render(){return null}};export{s as nv_tablecolumn};
2
+ //# sourceMappingURL=p-4283f375.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NvTablecolumn","render"],"sources":["src/components/nv-tablecolumn/nv-tablecolumn.tsx"],"sourcesContent":["import { Component, Prop } from '@stencil/core';\n\n@Component({\n tag: 'nv-tablecolumn',\n shadow: false,\n})\nexport class NvTablecolumn {\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Name of the column and data accessor\n */\n @Prop({ reflect: true })\n readonly name!: string;\n\n /**\n * Header of the column to be displayed\n */\n @Prop({ reflect: true })\n readonly header?: string;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return null;\n }\n\n // #endregion RENDER\n}\n"],"mappings":"qCAMaA,EAAa,M,yBAoBxB,MAAAC,GACE,OAAO,I","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as o,h as t,a as e,g as n}from"./p-5439afb8.js";import{B as s,a as r}from"./p-b316c35d.js";const a='nv-button{text-decoration:none;display:inline-flex;justify-content:center;align-items:center;font-style:normal;font-weight:var(--font-weight-medium-emphasis);font-family:"TT Norms Pro", sans-serif;transition:background-color 150ms ease-out;user-select:none;cursor:pointer;height:fit-content;width:fit-content}nv-button[size=xs]{padding:var(--button-xs-padding-y) var(--button-xs-padding-x);gap:var(--button-xs-gap);border-radius:var(--button-xs-border-radius);line-height:var(--button-xs-line-height);font-size:var(--button-xs-font-size)}nv-button[size=xs] nv-icon>svg{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-button[size=sm]{padding:var(--button-sm-padding-y) var(--button-sm-padding-x);gap:var(--button-sm-gap);border-radius:var(--button-sm-border-radius);line-height:var(--button-sm-line-height);font-size:var(--button-sm-font-size)}nv-button[size=sm] nv-icon>svg{width:var(--spacing-4);height:var(--spacing-4);stroke-width:1.5px}nv-button[size=md]{padding:var(--button-md-padding-y) var(--button-md-padding-x);gap:var(--button-md-gap);border-radius:var(--button-md-border-radius);line-height:var(--button-md-line-height);font-size:var(--button-md-font-size)}nv-button[size=md] nv-icon>svg{width:var(--spacing-5);height:var(--spacing-5);stroke-width:1.6px}nv-button[size=lg]{padding:var(--button-lg-padding-y) var(--button-lg-padding-x);gap:var(--button-lg-gap);border-radius:var(--button-lg-border-radius);line-height:var(--button-lg-line-height);font-size:var(--button-lg-font-size)}nv-button[size=lg] nv-icon>svg{width:var(--spacing-6);height:var(--spacing-6);stroke-width:1.8px}nv-button[emphasis=high]{background:var(--components-button-high-background);border:1px solid var(--components-button-high-border);color:var(--components-button-high-text)}nv-button[emphasis=high]:hover{background:var(--components-button-high-background-hover);border:1px solid var(--components-button-high-border);color:var(--components-button-high-text-hover)}nv-button[emphasis=high]:active{background:var(--components-button-high-background-active);border:1px solid var(--components-button-high-border-active);color:var(--components-button-high-text-active)}nv-button[emphasis=high]:focus,nv-button[emphasis=high]:focus-within{outline:none}nv-button[emphasis=high]:focus-visible,nv-button[emphasis=high]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=high]:disabled:not([disabled=false]){opacity:0.5;cursor:not-allowed;box-shadow:none}nv-button[emphasis=high][active]:not([active=false]){background:var(--components-button-high-background-active);border:1px solid var(--components-button-high-border-active);color:var(--components-button-high-text-active)}nv-button[emphasis=high][danger]:not([danger=false]){background:var(--components-button-destructive-high-background);border:1px solid transparent;color:var(--components-button-destructive-high-text)}nv-button[emphasis=high][danger]:not([danger=false]):hover{background:var(--components-button-destructive-high-background-hover);border:1px solid transparent;color:var(--components-button-destructive-high-text-hover)}nv-button[emphasis=high][danger]:not([danger=false]):focus,nv-button[emphasis=high][danger]:not([danger=false]):focus-within{outline:none}nv-button[emphasis=high][danger]:not([danger=false]):focus-visible,nv-button[emphasis=high][danger]:not([danger=false]):has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-focus-destructive);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=medium]{background:var(--components-button-medium-background);border:1px solid var(--components-button-medium-border);color:var(--components-button-medium-text)}nv-button[emphasis=medium]:hover{background:var(--components-button-medium-background-hover);border:1px solid var(--components-button-medium-border);color:var(--components-button-medium-text-hover)}nv-button[emphasis=medium]:active{background:var(--components-button-medium-background-active);border:1px solid var(--components-button-medium-border-active);color:var(--components-button-medium-text-active)}nv-button[emphasis=medium]:focus,nv-button[emphasis=medium]:focus-within{outline:none}nv-button[emphasis=medium]:focus-visible,nv-button[emphasis=medium]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=medium]:disabled:not([disabled=false]){opacity:0.5;cursor:not-allowed;box-shadow:none}nv-button[emphasis=medium][active]:not([active=false]){background:var(--components-button-medium-background-active);border:1px solid var(--components-button-medium-border-active);color:var(--components-button-medium-text-active)}nv-button[emphasis=medium][danger]:not([danger=false]){background:var(--components-button-destructive-medium-background);border:1px solid var(--components-button-destructive-medium-border);color:var(--components-button-destructive-medium-text)}nv-button[emphasis=medium][danger]:not([danger=false]):hover{background:var(--components-button-destructive-medium-background-hover);border:1px solid var(--components-button-destructive-medium-border);color:var(--components-button-destructive-medium-text-hover)}nv-button[emphasis=medium][danger]:not([danger=false]):focus,nv-button[emphasis=medium][danger]:not([danger=false]):focus-within{outline:none}nv-button[emphasis=medium][danger]:not([danger=false]):focus-visible,nv-button[emphasis=medium][danger]:not([danger=false]):has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-focus-destructive);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=low]{background:var(--components-button-low-background);border:1px solid var(--components-button-low-border);color:var(--components-button-low-text)}nv-button[emphasis=low]:hover{background:var(--components-button-low-background-hover);border:1px solid var(--components-button-low-border);color:var(--components-button-low-text-hover)}nv-button[emphasis=low]:active{background:var(--components-button-low-background-active);border:1px solid var(--components-button-low-border-active);color:var(--components-button-low-text-active)}nv-button[emphasis=low]:focus,nv-button[emphasis=low]:focus-within{outline:none}nv-button[emphasis=low]:focus-visible,nv-button[emphasis=low]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=low]:disabled:not([disabled=false]){opacity:0.5;cursor:not-allowed;box-shadow:none}nv-button[emphasis=low][active]:not([active=false]){background:var(--components-button-low-background-active);border:1px solid var(--components-button-low-border-active);color:var(--components-button-low-text-active)}nv-button[emphasis=low][danger]:not([danger=false]){background:var(--components-button-destructive-low-background);border:1px solid var(--components-button-destructive-low-border);color:var(--components-button-destructive-low-text)}nv-button[emphasis=low][danger]:not([danger=false]):hover{background:var(--components-button-destructive-low-background-hover);border:1px solid var(--components-button-destructive-low-border);color:var(--components-button-destructive-low-text-hover)}nv-button[emphasis=low][danger]:not([danger=false]):focus,nv-button[emphasis=low][danger]:not([danger=false]):focus-within{outline:none}nv-button[emphasis=low][danger]:not([danger=false]):focus-visible,nv-button[emphasis=low][danger]:not([danger=false]):has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-focus-destructive);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=lower]{background:var(--components-button-lower-background);border:1px solid var(--components-button-lower-border);color:var(--components-button-lower-text)}nv-button[emphasis=lower]:hover{background:var(--components-button-lower-background-hover);border:1px solid var(--components-button-lower-border);color:var(--components-button-lower-text-hover)}nv-button[emphasis=lower]:active{background:var(--components-button-lower-background-active);border:1px solid var(--components-button-lower-border-active);color:var(--components-button-lower-text-active)}nv-button[emphasis=lower]:focus,nv-button[emphasis=lower]:focus-within{outline:none}nv-button[emphasis=lower]:focus-visible,nv-button[emphasis=lower]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=lower]:disabled:not([disabled=false]){opacity:0.5;cursor:not-allowed;box-shadow:none}nv-button[emphasis=lower][active]:not([active=false]){background:var(--components-button-lower-background-active);border:1px solid var(--components-button-lower-border-active);color:var(--components-button-lower-text-active)}nv-button[emphasis=lower][danger]:not([danger=false]){background:var(--components-button-destructive-lower-background);border:1px solid var(--components-button-destructive-lower-border);color:var(--components-button-destructive-lower-text)}nv-button[emphasis=lower][danger]:not([danger=false]):hover{background:var(--components-button-destructive-lower-background-hover);border:1px solid var(--components-button-destructive-lower-border);color:var(--components-button-destructive-lower-text-hover)}nv-button[emphasis=lower][danger]:not([danger=false]):focus,nv-button[emphasis=lower][danger]:not([danger=false]):focus-within{outline:none}nv-button[emphasis=lower][danger]:not([danger=false]):focus-visible,nv-button[emphasis=lower][danger]:not([danger=false]):has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-focus-destructive);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[fluid]:not([fluid=false]){width:100%}nv-button[loading]:not([loading=false]) [slot=leading-icon]{display:none}';const i=a;const u=class{constructor(t){o(this,t);if(t.$hostElement$["s-ei"]){this.internals=t.$hostElement$["s-ei"]}else{this.internals=t.$hostElement$.attachInternals();t.$hostElement$["s-ei"]=this.internals}this.size="md";this.emphasis="high";this.active=false;this.danger=false;this.loading=false;this.disabled=false;this.fluid=false;this.type="button";this.handleButtonClick=o=>{if(this.loading||this.disabled){o.preventDefault();return}if(this.form&&this.type!==s.Button){this.processFormAction()}else if(this.form){console.warn("Button has a form id but is not of type submit or reset so no form action will be processed.",`Button:`,this.el)}};this.processFormAction=()=>{var o,t;const e=this.form?document.getElementById(this.form):(o=this.internals)===null||o===void 0?void 0:o.form;if(!e){console.warn("No form element found.",`Form ID: ${this.form||"Not provided"}`,`Internals form:`,(t=this.internals)===null||t===void 0?void 0:t.form);return}switch(this.type){case s.Submit:e.requestSubmit();break;case s.Reset:e.reset();break}}}handleKeyDown(o){if(o.key==="Enter"||o.key===" "){o.preventDefault();this.el.click()}}handleTouchStart(o){if(o.touches.length>1)return;o.preventDefault();this.el.click()}handleLoadingChange(o){this.loading=o;this.disabled=o}handleDisabledChange(o){if(this.loading){this.disabled=this.loading}else{this.disabled=o}}componentWillLoad(){if(this.loading){this.disabled=this.loading}}render(){return t(e,{key:"bd4fa51791ea88aeffba33f5be108807d0d31dc3",role:"button",tabindex:"0",onClick:this.handleButtonClick},this.loading&&t("nv-loader",{key:"4a48de90f85da844af2114737751619181ddbddd",size:this.size===r.Large?"sm":"xs"}),t("slot",{key:"c48a34e20a792ff7d139488a0dc5e373f7e67c23",name:"leading-icon"}),t("slot",{key:"5d151e40abf25f0089d4980e85eabfff944d3b99"}),t("slot",{key:"e0029a972441daa1abfee3a3bca5c62abf284586",name:"trailing-icon"}))}static get formAssociated(){return true}get el(){return n(this)}static get watchers(){return{loading:["handleLoadingChange"],disabled:["handleDisabledChange"]}}};u.style=i;export{u as nv_button};
2
+ //# sourceMappingURL=p-487b81bd.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["nvButtonCss","NvButtonStyle0","NvButton","constructor","hostRef","this","size","emphasis","active","danger","loading","disabled","fluid","type","handleButtonClick","event","preventDefault","form","ButtonType","Button","processFormAction","console","warn","el","formElement","document","getElementById","_a","internals","_b","Submit","requestSubmit","Reset","reset","handleKeyDown","key","click","handleTouchStart","touches","length","handleLoadingChange","handleDisabledChange","componentWillLoad","render","h","Host","role","tabindex","onClick","ButtonSize","Large","name"],"sources":["src/components/nv-button/styles/nv-button.scss?tag=nv-button","src/components/nv-button/nv-button.tsx"],"sourcesContent":["@use \"./mixins\" as *;\n\n// Make sure to update nv-button class in the tailwind-components.scss file when\n// you add new styles or change the structure here.\nnv-button {\n @include root-styles();\n\n @each $size in $sizes {\n &[size=\"#{$size}\"] {\n @include size-styles($size);\n }\n }\n\n @each $emphasis in $emphases {\n &[emphasis=\"#{$emphasis}\"] {\n @include emphasis-styles($emphasis);\n\n &[active]:not([active=\"false\"]) {\n @include active-styles($emphasis);\n }\n\n &[danger]:not([danger=\"false\"]) {\n @include danger-styles($emphasis);\n }\n }\n }\n\n &[fluid]:not([fluid=\"false\"]) {\n @include fluid-styles();\n }\n\n &[loading]:not([loading=\"false\"]) {\n [slot=\"leading-icon\"] {\n display: none;\n }\n }\n}\n","import {\n Component,\n Listen,\n Host,\n h,\n Prop,\n AttachInternals,\n Element,\n Watch,\n} from '@stencil/core';\n\nimport { ButtonSize, ButtonEmphasis, ButtonType } from '../../utils/constants';\n\n/**\n * @slot default - Content of the button.\n * @slot leading-icon - Icon before the label.\n * @slot trailing-icon - Icon after the label.\n */\n@Component({\n tag: 'nv-button',\n shadow: false,\n formAssociated: true,\n styleUrl: 'styles/nv-button.scss',\n})\nexport class NvButton {\n @AttachInternals() internals: ElementInternals;\n @Element() el: HTMLNvButtonElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Determines how large or small the button appears, allowing for\n * customization of the button's dimensions to fit different design\n * specifications and user needs.\n */\n @Prop({ reflect: true })\n readonly size: `${ButtonSize}` = 'md';\n\n /**\n * Adjusts the button's emphasis to make it more or less visually prominent\n * to users. Use this to draw attention to important actions or reduce focus\n * on less critical ones\n */\n @Prop({ reflect: true })\n readonly emphasis: `${ButtonEmphasis}` = 'high';\n\n /**\n * Use this prop to highlight the button when it represents the current page\n * or active selection. This helps users understand their navigation context.\n */\n @Prop({ reflect: true })\n readonly active: boolean = false;\n\n /**\n * Applies styling that visually indicates the button represents a dangerous\n * action.\n */\n @Prop({ reflect: true })\n readonly danger: boolean = false;\n\n /**\n * Set this to true to show a spinner on the button, letting users know that\n * their action is being processed. It helps improve user experience by\n * indicating ongoing activities.\n */\n @Prop({ reflect: true, mutable: true })\n loading: boolean = false;\n\n /**\n * Disables the button, preventing user interaction.\n */\n @Prop({ reflect: true, mutable: true })\n disabled: boolean = false;\n\n /**\n * Allows the button to stretch and fill the entire width of its container.\n */\n @Prop({ reflect: true })\n readonly fluid: boolean = false;\n\n /**\n * Sets the button type to control its function in forms. Use 'submit' to send\n * form data, 'reset' to clear the form, or 'button' for a standard button\n * that doesn't interact with form submission by default.\n */\n @Prop({ reflect: true })\n readonly type: `${ButtonType}` = 'button';\n\n /**\n * Sets the form associated with the button in case the (submit) button is not a child of a form.\n * Matches the native HTML button 'form' attribute behavior.\n */\n @Prop({ reflect: true })\n readonly form: string;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Handles button click events, managing form actions and disabled states.\n * Prevents default behavior when button is disabled or loading, and\n * processes form submissions/resets when appropriate.\n * @param {Event} event - The click event.\n */\n private handleButtonClick = (event: Event): void => {\n if (this.loading || this.disabled) {\n event.preventDefault();\n return;\n }\n\n if (this.form && this.type !== ButtonType.Button) {\n this.processFormAction();\n } else if (this.form) {\n console.warn(\n 'Button has a form id but is not of type submit or reset so no form action will be processed.',\n `Button:`,\n this.el,\n );\n }\n };\n\n /**\n * Processes form-related actions by finding the associated form element\n * and triggering the appropriate action (submit/reset) based on button type.\n * Falls back to ElementInternals form if no explicit form ID is provided.\n */\n private processFormAction = (): void => {\n const formElement = this.form\n ? (document.getElementById(this.form) as HTMLFormElement)\n : this.internals?.form;\n\n if (!formElement) {\n console.warn(\n 'No form element found.',\n `Form ID: ${this.form || 'Not provided'}`,\n `Internals form:`,\n this.internals?.form,\n );\n return;\n }\n\n switch (this.type) {\n case ButtonType.Submit:\n formElement.requestSubmit();\n break;\n case ButtonType.Reset:\n formElement.reset();\n break;\n }\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region EVENTS\n\n @Listen('keydown', { passive: false })\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.el.click();\n }\n }\n\n @Listen('touchstart', { passive: false })\n handleTouchStart(event: TouchEvent) {\n if (event.touches.length > 1) return;\n event.preventDefault();\n this.el.click();\n }\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('loading')\n handleLoadingChange(loading: boolean) {\n this.loading = loading;\n this.disabled = loading;\n }\n\n @Watch('disabled')\n handleDisabledChange(disabled: boolean) {\n if (this.loading) {\n this.disabled = this.loading;\n } else {\n this.disabled = disabled;\n }\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n if (this.loading) {\n this.disabled = this.loading;\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host role=\"button\" tabindex=\"0\" onClick={this.handleButtonClick}>\n {this.loading && (\n <nv-loader\n size={this.size === ButtonSize.Large ? 'sm' : 'xs'}\n ></nv-loader>\n )}\n\n <slot name=\"leading-icon\"></slot>\n <slot></slot>\n <slot name=\"trailing-icon\"></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"mappings":"oGAAA,MAAMA,EAAc,w1TACpB,MAAAC,EAAeD,E,MCuBFE,EAAQ,MANrB,WAAAC,CAAAC,G,0KAmBWC,KAAAC,KAAwB,KAQxBD,KAAAE,SAAgC,OAOhCF,KAAAG,OAAkB,MAOlBH,KAAAI,OAAkB,MAQ3BJ,KAAAK,QAAmB,MAMnBL,KAAAM,SAAoB,MAMXN,KAAAO,MAAiB,MAQjBP,KAAAQ,KAAwB,SAmBzBR,KAAAS,kBAAqBC,IAC3B,GAAIV,KAAKK,SAAWL,KAAKM,SAAU,CACjCI,EAAMC,iBACN,M,CAGF,GAAIX,KAAKY,MAAQZ,KAAKQ,OAASK,EAAWC,OAAQ,CAChDd,KAAKe,mB,MACA,GAAIf,KAAKY,KAAM,CACpBI,QAAQC,KACN,+FACA,UACAjB,KAAKkB,G,GAUHlB,KAAAe,kBAAoB,K,QAC1B,MAAMI,EAAcnB,KAAKY,KACpBQ,SAASC,eAAerB,KAAKY,OAC9BU,EAAAtB,KAAKuB,aAAS,MAAAD,SAAA,SAAAA,EAAEV,KAEpB,IAAKO,EAAa,CAChBH,QAAQC,KACN,yBACA,YAAYjB,KAAKY,MAAQ,iBACzB,mBACAY,EAAAxB,KAAKuB,aAAS,MAAAC,SAAA,SAAAA,EAAEZ,MAElB,M,CAGF,OAAQZ,KAAKQ,MACX,KAAKK,EAAWY,OACdN,EAAYO,gBACZ,MACF,KAAKb,EAAWc,MACdR,EAAYS,QACZ,M,EASN,aAAAC,CAAcnB,GACZ,GAAIA,EAAMoB,MAAQ,SAAWpB,EAAMoB,MAAQ,IAAK,CAC9CpB,EAAMC,iBACNX,KAAKkB,GAAGa,O,EAKZ,gBAAAC,CAAiBtB,GACf,GAAIA,EAAMuB,QAAQC,OAAS,EAAG,OAC9BxB,EAAMC,iBACNX,KAAKkB,GAAGa,O,CAQV,mBAAAI,CAAoB9B,GAClBL,KAAKK,QAAUA,EACfL,KAAKM,SAAWD,C,CAIlB,oBAAA+B,CAAqB9B,GACnB,GAAIN,KAAKK,QAAS,CAChBL,KAAKM,SAAWN,KAAKK,O,KAChB,CACLL,KAAKM,SAAWA,C,EAQpB,iBAAA+B,GACE,GAAIrC,KAAKK,QAAS,CAChBL,KAAKM,SAAWN,KAAKK,O,EAQzB,MAAAiC,GACE,OACEC,EAACC,EAAI,CAAAV,IAAA,2CAACW,KAAK,SAASC,SAAS,IAAIC,QAAS3C,KAAKS,mBAC5CT,KAAKK,SACJkC,EAAA,aAAAT,IAAA,2CACE7B,KAAMD,KAAKC,OAAS2C,EAAWC,MAAQ,KAAO,OAIlDN,EAAA,QAAAT,IAAA,2CAAMgB,KAAK,iBACXP,EAAA,QAAAT,IAAA,6CACAS,EAAA,QAAAT,IAAA,2CAAMgB,KAAK,kB","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as a,h as t,a as r}from"./p-5439afb8.js";import{c as o}from"./p-8a1a6e56.js";import{S as n}from"./p-56f71851.js";const v='nv-avatar{align-items:center !important;background-color:var(--components-avatar-background-1);border-radius:var(--radius-rounded-full) !important;display:flex !important;flex-shrink:0 !important;font-family:"TT Norms Pro", sans-serif;font-style:normal;font-weight:var(--font-weight-medium-emphasis);justify-content:center !important;leading-trim:both;line-height:1 !important;text-align:center;text-edge:cap;text-transform:uppercase}nv-avatar.avatar-color-1{background-color:var(--components-avatar-background-1);color:var(--components-avatar-content-1)}nv-avatar.avatar-color-2{background-color:var(--components-avatar-background-2);color:var(--components-avatar-content-2)}nv-avatar.avatar-color-3{background-color:var(--components-avatar-background-3);color:var(--components-avatar-content-3)}nv-avatar.avatar-color-4{background-color:var(--components-avatar-background-4);color:var(--components-avatar-content-4)}nv-avatar.avatar-color-5{background-color:var(--components-avatar-background-5);color:var(--components-avatar-content-5)}nv-avatar.avatar-color-6{background-color:var(--components-avatar-background-6);color:var(--components-avatar-content-6)}nv-avatar.avatar-color-7{background-color:var(--components-avatar-background-7);color:var(--components-avatar-content-7)}nv-avatar.avatar-color-8{background-color:var(--components-avatar-background-8);color:var(--components-avatar-content-8)}nv-avatar.avatar-color-9{background-color:var(--components-avatar-background-9);color:var(--components-avatar-content-9)}nv-avatar.avatar-color-10{background-color:var(--components-avatar-background-10);color:var(--components-avatar-content-10)}nv-avatar img{height:100%;width:100%;object-fit:cover;object-position:center;border-radius:50%}nv-avatar.avatar-xs{width:var(--avatar-xs-size);height:var(--avatar-xs-size);font-size:var(--avatar-xs-font-size);line-height:var(--avatar-xs-font-size)}nv-avatar.avatar-xs nv-icon>svg{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-avatar.avatar-sm{width:var(--avatar-sm-size);height:var(--avatar-sm-size);font-size:var(--avatar-sm-font-size);line-height:var(--avatar-sm-font-size)}nv-avatar.avatar-sm nv-icon>svg{width:var(--spacing-4);height:var(--spacing-4);stroke-width:1.5px}nv-avatar.avatar-md{width:var(--avatar-md-size);height:var(--avatar-md-size);font-size:var(--avatar-md-font-size);line-height:var(--avatar-md-font-size)}nv-avatar.avatar-md nv-icon>svg{width:var(--spacing-5);height:var(--spacing-5);stroke-width:1.6px}nv-avatar.avatar-lg{width:var(--avatar-lg-size);height:var(--avatar-lg-size);font-size:var(--avatar-lg-font-size);line-height:var(--avatar-lg-font-size)}nv-avatar.avatar-lg nv-icon>svg{width:var(--spacing-6);height:var(--spacing-6);stroke-width:1.8px}nv-avatar.avatar-xl{width:var(--avatar-xl-size);height:var(--avatar-xl-size);font-size:var(--avatar-xl-font-size);line-height:var(--avatar-xl-font-size)}nv-avatar.avatar-xl nv-icon>svg{width:var(--spacing-7);height:var(--spacing-7);stroke-width:1.9px}';const i=v;const s=class{constructor(t){a(this,t);this.size="md";this.color="1"}componentWillRender(){if(this.xsmall){this.size=n.ExtraSmall}if(this.small){this.size=n.Small}if(this.medium){this.size=n.Medium}if(this.large){this.size=n.Large}if(this.xlarge){this.size=n.ExtraLarge}if(this.text){this.initials=this.text}if(this.url){this.src=this.url}}trimInitials(a){return a.trim().substring(0,2)}render(){return t(r,{key:"4543ac26e2c1d6d91de2c4671657e584486daefe",class:o(`avatar-${this.size}`,`avatar-color-${this.color}`),"aria-label":this.alt},this.src?t("img",{src:this.src,alt:this.alt}):this.initials?this.trimInitials(this.initials):t("slot",{name:"icon"},t("nv-icon",{name:"user"})))}};s.style=i;export{s as nv_avatar};
2
- //# sourceMappingURL=p-d24586ed.entry.js.map
1
+ import{r as a,h as t,a as r}from"./p-5439afb8.js";import{c as o}from"./p-8a1a6e56.js";import{S as n}from"./p-b316c35d.js";const v='nv-avatar{align-items:center !important;background-color:var(--components-avatar-background-1);border-radius:var(--radius-rounded-full) !important;display:flex !important;flex-shrink:0 !important;font-family:"TT Norms Pro", sans-serif;font-style:normal;font-weight:var(--font-weight-medium-emphasis);justify-content:center !important;leading-trim:both;line-height:1 !important;text-align:center;text-edge:cap;text-transform:uppercase}nv-avatar.avatar-color-1{background-color:var(--components-avatar-background-1);color:var(--components-avatar-content-1)}nv-avatar.avatar-color-2{background-color:var(--components-avatar-background-2);color:var(--components-avatar-content-2)}nv-avatar.avatar-color-3{background-color:var(--components-avatar-background-3);color:var(--components-avatar-content-3)}nv-avatar.avatar-color-4{background-color:var(--components-avatar-background-4);color:var(--components-avatar-content-4)}nv-avatar.avatar-color-5{background-color:var(--components-avatar-background-5);color:var(--components-avatar-content-5)}nv-avatar.avatar-color-6{background-color:var(--components-avatar-background-6);color:var(--components-avatar-content-6)}nv-avatar.avatar-color-7{background-color:var(--components-avatar-background-7);color:var(--components-avatar-content-7)}nv-avatar.avatar-color-8{background-color:var(--components-avatar-background-8);color:var(--components-avatar-content-8)}nv-avatar.avatar-color-9{background-color:var(--components-avatar-background-9);color:var(--components-avatar-content-9)}nv-avatar.avatar-color-10{background-color:var(--components-avatar-background-10);color:var(--components-avatar-content-10)}nv-avatar img{height:100%;width:100%;object-fit:cover;object-position:center;border-radius:50%}nv-avatar.avatar-xs{width:var(--avatar-xs-size);height:var(--avatar-xs-size);font-size:var(--avatar-xs-font-size);line-height:var(--avatar-xs-font-size)}nv-avatar.avatar-xs nv-icon>svg{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-avatar.avatar-sm{width:var(--avatar-sm-size);height:var(--avatar-sm-size);font-size:var(--avatar-sm-font-size);line-height:var(--avatar-sm-font-size)}nv-avatar.avatar-sm nv-icon>svg{width:var(--spacing-4);height:var(--spacing-4);stroke-width:1.5px}nv-avatar.avatar-md{width:var(--avatar-md-size);height:var(--avatar-md-size);font-size:var(--avatar-md-font-size);line-height:var(--avatar-md-font-size)}nv-avatar.avatar-md nv-icon>svg{width:var(--spacing-5);height:var(--spacing-5);stroke-width:1.6px}nv-avatar.avatar-lg{width:var(--avatar-lg-size);height:var(--avatar-lg-size);font-size:var(--avatar-lg-font-size);line-height:var(--avatar-lg-font-size)}nv-avatar.avatar-lg nv-icon>svg{width:var(--spacing-6);height:var(--spacing-6);stroke-width:1.8px}nv-avatar.avatar-xl{width:var(--avatar-xl-size);height:var(--avatar-xl-size);font-size:var(--avatar-xl-font-size);line-height:var(--avatar-xl-font-size)}nv-avatar.avatar-xl nv-icon>svg{width:var(--spacing-7);height:var(--spacing-7);stroke-width:1.9px}';const i=v;const s=class{constructor(t){a(this,t);this.size="md";this.color="1"}componentWillRender(){if(this.xsmall){this.size=n.ExtraSmall}if(this.small){this.size=n.Small}if(this.medium){this.size=n.Medium}if(this.large){this.size=n.Large}if(this.xlarge){this.size=n.ExtraLarge}if(this.text){this.initials=this.text}if(this.url){this.src=this.url}}trimInitials(a){return a.trim().substring(0,2)}render(){return t(r,{key:"8cd1fe9e804aa11e821c0983c28eefdbe2275235",class:o(`avatar-${this.size}`,`avatar-color-${this.color}`),"aria-label":this.alt},this.src?t("img",{src:this.src,alt:this.alt}):this.initials?this.trimInitials(this.initials):t("slot",{name:"icon"},t("nv-icon",{name:"user"})))}};s.style=i;export{s as nv_avatar};
2
+ //# sourceMappingURL=p-491f4605.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as e,c as o,h as c,a as i,g as r}from"./p-5439afb8.js";import{c as t}from"./p-8a1a6e56.js";import{v as n}from"./p-f5ff676c.js";const a='nv-fieldcheckbox{--nv-fieldcheckbox-border-default:var(--components-form-field-border-default);--nv-fieldcheckbox-border-hover:var(--components-form-field-border-hover);--nv-fieldcheckbox-border-focus:var(--components-form-field-border-default);--nv-fieldcheckbox-background-default:var(--components-form-field-background-default);--nv-fieldcheckbox-background-checked:var(--components-form-field-background-checked);--nv-fieldcheckbox-background-disabled:var(--components-form-field-background-disabled);--nv-fieldcheckbox-focus-box-shadow:var(--color-focus-brand);--nv-fieldcheckbox-color-checked:var(--components-form-shape-foreground-default);--nv-fieldcheckbox-color-disabled:var(--components-form-shape-foreground-disabled);--nv-fieldcheckbox-outline-color:var(--color-focus-brand);display:inline-flex;align-items:flex-start;gap:var(--form-gap-x);position:relative}nv-fieldcheckbox:not([disabled],[readonly]) input,nv-fieldcheckbox:not([disabled],[readonly]) label{cursor:pointer}nv-fieldcheckbox.error .input-container{--nv-fieldcheckbox-border-default:var(--components-form-field-border-error);--nv-fieldcheckbox-border-hover:var(--nv-fieldcheckbox-border-default);--nv-fieldcheckbox-border-focus:var(--components-form-field-border-error);--nv-fieldcheckbox-focus-box-shadow:var(--color-focus-destructive);--nv-fieldcheckbox-color-disabled:var(--components-form-shape-foreground-disabled-error);--nv-fieldcheckbox-background-checked:var(--components-form-field-background-error);--nv-fieldcheckbox-outline-color:var(--color-focus-destructive)}nv-fieldcheckbox.label-placement-before{flex-direction:row-reverse}nv-fieldcheckbox[disabled]{opacity:0.5}nv-fieldcheckbox label{align-self:stretch;color:var(--components-form-text-label-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:var(--form-label-font-weight);line-height:var(--form-label-line-height)}nv-fieldcheckbox .input-container{position:relative;color:var(--nv-fieldcheckbox-color-checked)}nv-fieldcheckbox .input-container input[type=checkbox][readonly]{opacity:0.5}nv-fieldcheckbox .input-container:has(input[type=checkbox]:disabled:not([readonly])){color:var(--nv-fieldcheckbox-color-disabled)}nv-fieldcheckbox .input-container input[type=checkbox]{appearance:none;position:relative;display:flex;width:var(--form-checkbox-size);height:var(--form-checkbox-size);flex-direction:column;align-items:flex-start;border-radius:var(--form-checkbox-radius);border-width:var(--form-checkbox-border-width);border-style:solid;border-color:var(--nv-fieldcheckbox-border-default);background:var(--nv-fieldcheckbox-background-default)}nv-fieldcheckbox .input-container input[type=checkbox]:hover{border-color:var(--nv-fieldcheckbox-border-hover)}nv-fieldcheckbox .input-container input[type=checkbox]:focus{border-color:var(--nv-fieldcheckbox-border-focus)}nv-fieldcheckbox .input-container input[type=checkbox]:focus,nv-fieldcheckbox .input-container input[type=checkbox]:focus-within{outline:none}nv-fieldcheckbox .input-container input[type=checkbox]:focus-visible,nv-fieldcheckbox .input-container input[type=checkbox]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--nv-fieldcheckbox-outline-color);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-fieldcheckbox .input-container input[type=checkbox]:checked,nv-fieldcheckbox .input-container input[type=checkbox]:indeterminate{background:var(--nv-fieldcheckbox-background-checked);border-color:var(--nv-fieldcheckbox-background-checked)}nv-fieldcheckbox .input-container input[type=checkbox]:disabled:not([readonly]){background:var(--nv-fieldcheckbox-background-disabled);border-color:var(--nv-fieldcheckbox-border-default)}nv-fieldcheckbox .input-container input[type=checkbox][readonly]{opacity:0.5}nv-fieldcheckbox .input-container .icon{pointer-events:none;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}nv-fieldcheckbox .input-container .icon svg{width:var(--form-checkbox-icon-size);height:var(--form-checkbox-icon-size);fill:none;stroke:currentcolor;stroke-width:var(--form-checkbox-icon-stroke);flex-shrink:0}nv-fieldcheckbox .description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;font-weight:var(--form-description-font-weight);line-height:var(--form-description-line-height)}nv-fieldcheckbox .error-description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;font-weight:var(--form-description-font-weight);line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}nv-fieldcheckbox .text-container{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0}';const d=a;const s=class{constructor(c){e(this,c);this.checkedChanged=o(this,"checkedChanged",7);this.labelBefore=false;this.inputId=n();this.hideLabel=false;this.error=false;this.checked=false;this.indeterminate=false;this.disabled=false;this.readonly=false;this.required=false}handleChange(e){const o=e.target;if(o.type==="checkbox"&&o.id===this.inputId){if(this.readonly||this.disabled){e.preventDefault();return}if(this.indeterminate){this.indeterminate=false}this.checked=o.checked}}onCheckedChanged(e){this.checkedChanged.emit(e)}componentWillRender(){if(this.message){this.description=this.message}if(this.labelBefore){this.labelPlacement="before"}if(this.validation){this.errorDescription=this.validation;this.error=true}}render(){return c(i,{key:"e2cfa1c1852963dd0a7cfeb0c8922e863838d306",class:t(this.labelPlacement==="before"&&"label-placement-before",this.error&&"error")},c("div",{key:"3404c7fa3a6291ca44c46df97c4c0e5f8841c183",class:"input-container"},c("input",{key:"d1e19cb0980c42895e75cfe02682b9247068fac1",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&&!this.required,required:this.required,indeterminate:this.indeterminate,ref:e=>{if(e){e.indeterminate=this.indeterminate}}}),c("span",{key:"36763dc1a6895f1f3cfa67bad6beaf9df75c0e42",class:"icon"},this.checked&&!this.indeterminate&&c("slot",{key:"8991155af383d94aceaaa692c0e14113867bff11",name:"checked-icon"},c("svg",{key:"9103f809481495676417216201952a7ceab2a104",xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 14 14",fill:"none"},c("path",{key:"1e22abf1f34fc5dfa40d63da1d193f0de2a64a19",d:"M11.6667 3.5L5.25004 9.91667L2.33337 7","stroke-linecap":"round","stroke-linejoin":"round"}))),this.indeterminate&&c("slot",{key:"69b67227f1061b43990c6d730c2f50e4c409bbc7",name:"indeterminate-icon"},c("svg",{key:"e5ea7ec7309102b980d3a6d8b77b5250c3efbbb7",class:"indeterminate-svg",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 14 14",fill:"none"},c("path",{key:"594493f97b46bb4c652d2fbc7f851eb913ce81b3",d:"M2.9165 7H11.0832","stroke-linecap":"round","stroke-linejoin":"round"}))))),c("div",{key:"93862e8b1ae3be930ac05ea53ba51128e4dd3810",class:"text-container"},(this.label||this.el.querySelector('[slot="label"]'))&&c("label",{key:"21b5023d3a84695b17cbfc19d9aab8f56ec380b5",htmlFor:this.inputId,class:t(this.hideLabel&&"visually-hidden")},c("slot",{key:"52ed9dfe69a442aeea95406e8520ba3ad457f712",name:"label"},this.label)),(this.description||this.el.querySelector('[slot="description"]'))&&c("div",{key:"4151d56507a8f7daa87820eeb161209ccd5cec37",class:"description"},c("slot",{key:"a511f6cada8055b9b731a86a3f6dfff2aca48953",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&c("div",{key:"0f0ac4c183fa4c78074b4a7dc0c05ceb7737bbe9",hidden:!this.error,class:"error-description"},c("slot",{key:"2de4e9fec5258eb70e3169612c3ee2667dd59f7b",name:"error-description"},this.errorDescription))))}static get formAssociated(){return true}get el(){return r(this)}static get watchers(){return{checked:["onCheckedChanged"]}}};s.style=d;export{s as nv_fieldcheckbox};
2
- //# sourceMappingURL=p-e3827605.entry.js.map
1
+ import{r as e,c as o,h as c,a as i,g as r}from"./p-5439afb8.js";import{c as t}from"./p-8a1a6e56.js";import{v as n}from"./p-f5ff676c.js";const a='nv-fieldcheckbox{--nv-fieldcheckbox-border-default:var(--components-form-field-border-default);--nv-fieldcheckbox-border-hover:var(--components-form-field-border-hover);--nv-fieldcheckbox-border-focus:var(--components-form-field-border-default);--nv-fieldcheckbox-background-default:var(--components-form-field-background-default);--nv-fieldcheckbox-background-checked:var(--components-form-field-background-checked);--nv-fieldcheckbox-background-disabled:var(--components-form-field-background-disabled);--nv-fieldcheckbox-focus-box-shadow:var(--color-focus-brand);--nv-fieldcheckbox-color-checked:var(--components-form-shape-foreground-default);--nv-fieldcheckbox-color-disabled:var(--components-form-shape-foreground-disabled);--nv-fieldcheckbox-outline-color:var(--color-focus-brand);display:inline-flex;align-items:flex-start;gap:var(--form-gap-x);position:relative}nv-fieldcheckbox:not([disabled],[readonly]) input,nv-fieldcheckbox:not([disabled],[readonly]) label{cursor:pointer}nv-fieldcheckbox.error .input-container{--nv-fieldcheckbox-border-default:var(--components-form-field-border-error);--nv-fieldcheckbox-border-hover:var(--nv-fieldcheckbox-border-default);--nv-fieldcheckbox-border-focus:var(--components-form-field-border-error);--nv-fieldcheckbox-focus-box-shadow:var(--color-focus-destructive);--nv-fieldcheckbox-color-disabled:var(--components-form-shape-foreground-disabled-error);--nv-fieldcheckbox-background-checked:var(--components-form-field-background-error);--nv-fieldcheckbox-outline-color:var(--color-focus-destructive)}nv-fieldcheckbox.label-placement-before{flex-direction:row-reverse}nv-fieldcheckbox[disabled]{opacity:0.5}nv-fieldcheckbox label{align-self:stretch;color:var(--components-form-text-label-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:var(--form-label-font-weight);line-height:var(--form-label-line-height)}nv-fieldcheckbox .input-container{position:relative;color:var(--nv-fieldcheckbox-color-checked)}nv-fieldcheckbox .input-container input[type=checkbox][readonly]{opacity:0.5}nv-fieldcheckbox .input-container:has(input[type=checkbox]:disabled:not([readonly])){color:var(--nv-fieldcheckbox-color-disabled)}nv-fieldcheckbox .input-container input[type=checkbox]{appearance:none;position:relative;display:flex;width:var(--form-checkbox-size);height:var(--form-checkbox-size);flex-direction:column;align-items:flex-start;border-radius:var(--form-checkbox-radius);border-width:var(--form-checkbox-border-width);border-style:solid;border-color:var(--nv-fieldcheckbox-border-default);background:var(--nv-fieldcheckbox-background-default)}nv-fieldcheckbox .input-container input[type=checkbox]:hover{border-color:var(--nv-fieldcheckbox-border-hover)}nv-fieldcheckbox .input-container input[type=checkbox]:focus{border-color:var(--nv-fieldcheckbox-border-focus)}nv-fieldcheckbox .input-container input[type=checkbox]:focus,nv-fieldcheckbox .input-container input[type=checkbox]:focus-within{outline:none}nv-fieldcheckbox .input-container input[type=checkbox]:focus-visible,nv-fieldcheckbox .input-container input[type=checkbox]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--nv-fieldcheckbox-outline-color);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-fieldcheckbox .input-container input[type=checkbox]:checked,nv-fieldcheckbox .input-container input[type=checkbox]:indeterminate{background:var(--nv-fieldcheckbox-background-checked);border-color:var(--nv-fieldcheckbox-background-checked)}nv-fieldcheckbox .input-container input[type=checkbox]:disabled:not([readonly]){background:var(--nv-fieldcheckbox-background-disabled);border-color:var(--nv-fieldcheckbox-border-default)}nv-fieldcheckbox .input-container input[type=checkbox][readonly]{opacity:0.5}nv-fieldcheckbox .input-container .icon{pointer-events:none;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}nv-fieldcheckbox .input-container .icon svg{width:var(--form-checkbox-icon-size);height:var(--form-checkbox-icon-size);fill:none;stroke:currentcolor;stroke-width:var(--form-checkbox-icon-stroke);flex-shrink:0}nv-fieldcheckbox .description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;font-weight:var(--form-description-font-weight);line-height:var(--form-description-line-height)}nv-fieldcheckbox .error-description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;font-weight:var(--form-description-font-weight);line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}nv-fieldcheckbox .text-container{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0}';const d=a;const s=class{constructor(c){e(this,c);this.checkedChanged=o(this,"checkedChanged",7);this.labelBefore=false;this.inputId=n();this.hideLabel=false;this.error=false;this.checked=false;this.indeterminate=false;this.disabled=false;this.readonly=false;this.required=false;this.autofocus=false}handleChange(e){const o=e.target;if(o.type==="checkbox"&&o.id===this.inputId){if(this.readonly||this.disabled){e.preventDefault();return}if(this.indeterminate){this.indeterminate=false}this.checked=o.checked}}onCheckedChanged(e){this.checkedChanged.emit(e)}componentWillRender(){if(this.message){this.description=this.message}if(this.labelBefore){this.labelPlacement="before"}if(this.validation){this.errorDescription=this.validation;this.error=true}}render(){return c(i,{key:"9c195c41a5b753688622a7b792f03b34f0888995",class:t(this.labelPlacement==="before"&&"label-placement-before",this.error&&"error")},c("div",{key:"7dc85b17b9da5e9d542147e1cf143c5eae8a7745",class:"input-container"},c("input",{key:"78a90ebc8e94459a4e0070234b89c49ecac09c21",type:"checkbox",id:this.inputId,name:this.name,autofocus:this.autofocus,autocomplete:"off",value:this.value,checked:Boolean(this.checked),disabled:this.disabled||this.readonly,readonly:this.readonly&&!this.required,required:this.required,indeterminate:this.indeterminate,ref:e=>{if(e){e.indeterminate=this.indeterminate}}}),c("span",{key:"44884aad946a96805663301ea35a27a78af7f6d7",class:"icon"},this.checked&&!this.indeterminate&&c("slot",{key:"f749fa2634f7600ba82278ffe01fa84e1fd9afaa",name:"checked-icon"},c("svg",{key:"06ebbefd80f35226f47e4f6d541728285dd7fdf3",xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 14 14",fill:"none"},c("path",{key:"b34ce01589b6153d1543fb4f626041610bfd031e",d:"M11.6667 3.5L5.25004 9.91667L2.33337 7","stroke-linecap":"round","stroke-linejoin":"round"}))),this.indeterminate&&c("slot",{key:"5fd07ff3548a65cc644be232b9468dfcf9673dbb",name:"indeterminate-icon"},c("svg",{key:"7981beb86c15d28f3af7eea1792aca9cd86e053c",class:"indeterminate-svg",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 14 14",fill:"none"},c("path",{key:"2de55ab02581af8da280c08b22a0e2e9b93626a2",d:"M2.9165 7H11.0832","stroke-linecap":"round","stroke-linejoin":"round"}))))),c("div",{key:"094133ff43fda7fbc81f0597a1e79842baaa9f3f",class:"text-container"},(this.label||this.el.querySelector('[slot="label"]'))&&c("label",{key:"1b2c4d09b5c1531d28cc45c8beea0c910f0c8ce8",htmlFor:this.inputId,class:t(this.hideLabel&&"visually-hidden")},c("slot",{key:"5b47d609a387173f9e2f1a526908cc87032e494f",name:"label"},this.label)),(this.description||this.el.querySelector('[slot="description"]'))&&c("div",{key:"042d606ba3c4f22b469ec583423bb3fc1abf6a2e",class:"description"},c("slot",{key:"c3de1a16b43fe2045f82068e921a2b6cc80afe3d",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&c("div",{key:"3cad2737d53acd275c636f8090acd993373de3dc",hidden:!this.error,class:"error-description"},c("slot",{key:"d5cb155097265a71f2ed70563a2e2e5b23c09020",name:"error-description"},this.errorDescription))))}static get formAssociated(){return true}get el(){return r(this)}static get watchers(){return{checked:["onCheckedChanged"]}}};s.style=d;export{s as nv_fieldcheckbox};
2
+ //# sourceMappingURL=p-554f7b44.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["nvFieldcheckboxCss","NvFieldcheckboxStyle0","NvFieldcheckbox","constructor","hostRef","this","labelBefore","inputId","uuidv4","hideLabel","error","checked","indeterminate","disabled","readonly","required","autofocus","handleChange","event","target","type","id","preventDefault","onCheckedChanged","checkedChanged","emit","componentWillRender","message","description","labelPlacement","validation","errorDescription","render","h","Host","key","class","clsx","name","autocomplete","value","Boolean","ref","el","xmlns","width","height","viewBox","fill","d","label","querySelector","htmlFor","hidden"],"sources":["src/components/nv-fieldcheckbox/nv-fieldcheckbox.scss?tag=nv-fieldcheckbox","src/components/nv-fieldcheckbox/nv-fieldcheckbox.tsx"],"sourcesContent":["@import \"../../styles/focus-ring\";\n\n@mixin fieldcheckbox-variables() {\n --nv-fieldcheckbox-border-default: var(--components-form-field-border-default);\n --nv-fieldcheckbox-border-hover: var(--components-form-field-border-hover);\n --nv-fieldcheckbox-border-focus: var(--components-form-field-border-default);\n --nv-fieldcheckbox-background-default: var(--components-form-field-background-default);\n --nv-fieldcheckbox-background-checked: var(--components-form-field-background-checked);\n --nv-fieldcheckbox-background-disabled: var(--components-form-field-background-disabled);\n --nv-fieldcheckbox-focus-box-shadow: var(--color-focus-brand);\n --nv-fieldcheckbox-color-checked: var(--components-form-shape-foreground-default);\n --nv-fieldcheckbox-color-disabled: var(--components-form-shape-foreground-disabled);\n --nv-fieldcheckbox-outline-color: var(--color-focus-brand);\n}\n\n@mixin fieldcheckbox-error-variables() {\n --nv-fieldcheckbox-border-default: var(--components-form-field-border-error);\n --nv-fieldcheckbox-border-hover: var(--nv-fieldcheckbox-border-default);\n --nv-fieldcheckbox-border-focus: var(--components-form-field-border-error);\n --nv-fieldcheckbox-focus-box-shadow: var(--color-focus-destructive);\n --nv-fieldcheckbox-color-disabled: var(--components-form-shape-foreground-disabled-error);\n --nv-fieldcheckbox-background-checked: var(--components-form-field-background-error);\n --nv-fieldcheckbox-outline-color: var(--color-focus-destructive);\n}\n\n@mixin root-styles() {\n display: inline-flex;\n align-items: flex-start;\n gap: var(--form-gap-x);\n position: relative;\n\n &:not([disabled], [readonly]) {\n input,\n label {\n cursor: pointer;\n }\n }\n}\n\n@mixin label-before-styles() {\n flex-direction: row-reverse;\n}\n\n@mixin label-styles() {\n align-self: stretch;\n color: var(--components-form-text-label-default);\n font-family: \"TT Norms Pro\", sans-serif;\n font-size: var(--form-label-font-size);\n font-style: normal;\n font-weight: var(--form-label-font-weight);\n line-height: var(--form-label-line-height);\n}\n\n@mixin description-styles() {\n align-self: stretch;\n color: var(--components-form-text-description-default);\n font-family: \"TT Norms Pro\", sans-serif;\n font-size: var(--form-description-font-size);\n font-style: normal;\n font-weight: var(--form-description-font-weight);\n line-height: var(--form-description-line-height);\n}\n\n@mixin error-description-styles() {\n @include description-styles();\n\n color: var(--components-form-text-description-error);\n}\n\n@mixin text-container-styles() {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n flex: 1 0 0;\n}\n\n@mixin input-container-styles() {\n position: relative;\n color: var(--nv-fieldcheckbox-color-checked);\n\n input[type=checkbox][readonly] {\n // TODO: Find a way to use the --components-form-opacity-disabled variable properly, right now it outputs a value of 50px instead of 0.5.\n opacity: 0.5;\n }\n\n &:has(input[type=\"checkbox\"]:disabled:not([readonly])) {\n color: var(--nv-fieldcheckbox-color-disabled);\n }\n}\n\n@mixin input-styles() {\n appearance: none;\n position: relative;\n display: flex;\n width: var(--form-checkbox-size);\n height: var(--form-checkbox-size);\n flex-direction: column;\n align-items: flex-start;\n border-radius: var(--form-checkbox-radius);\n border-width: var(--form-checkbox-border-width);\n border-style: solid;\n border-color: var(--nv-fieldcheckbox-border-default);\n background: var(--nv-fieldcheckbox-background-default);\n\n &:hover {\n border-color: var(--nv-fieldcheckbox-border-hover);\n }\n\n &:focus {\n border-color: var(--nv-fieldcheckbox-border-focus);\n }\n\n @include focus-ring(var(--nv-fieldcheckbox-outline-color));\n\n &:checked,\n &:indeterminate {\n background: var(--nv-fieldcheckbox-background-checked);\n border-color: var(--nv-fieldcheckbox-background-checked);\n }\n\n &:disabled:not([readonly]) {\n background: var(--nv-fieldcheckbox-background-disabled);\n border-color: var(--nv-fieldcheckbox-border-default);\n }\n\n &[readonly] {\n // TODO: Find a way to use the --components-form-opacity-disabled variable properly, right now it outputs a value of 50px instead of 0.5.\n opacity: 0.5;\n }\n}\n\n@mixin icon-styles() {\n pointer-events: none;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n\n svg {\n width: var(--form-checkbox-icon-size);\n height: var(--form-checkbox-icon-size);\n fill: none;\n stroke: currentcolor;\n stroke-width: var(--form-checkbox-icon-stroke);\n flex-shrink: 0;\n }\n}\n\nnv-fieldcheckbox {\n @include fieldcheckbox-variables();\n @include root-styles();\n\n &.error .input-container {\n @include fieldcheckbox-error-variables();\n }\n\n &.label-placement-before {\n @include label-before-styles();\n }\n &[disabled] {\n // TODO: Find a way to use the --components-form-opacity-disabled variable properly, right now it outputs a value of 50px instead of 0.5.\n opacity: 0.5;\n }\n label {\n @include label-styles();\n }\n\n .input-container {\n @include input-container-styles();\n\n input[type=\"checkbox\"] {\n @include input-styles();\n }\n\n .icon {\n @include icon-styles();\n }\n }\n\n .description {\n @include description-styles();\n }\n\n .error-description {\n @include error-description-styles();\n }\n\n .text-container {\n @include text-container-styles();\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Watch,\n Event,\n EventEmitter,\n Listen,\n} from '@stencil/core';\nimport clsx from 'clsx';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { type LabelPlacement } from '../../utils/constants';\n\n/**\n * @slot label - Content to be placed as the label, will override the label prop.\n * @slot description - Content to be placed as the description, will override the description prop.\n * @slot error-description - Content to be placed as the error description, will override the errorDescription prop.\n * @slot checked-icon - Content to be placed as the checked icon, will override the checkedIcon prop.\n * @slot indeterminate-icon - Content to be placed as the indeterminate icon, will override the indeterminateIcon prop.\n */\n@Component({\n tag: 'nv-fieldcheckbox',\n styleUrl: 'nv-fieldcheckbox.scss',\n formAssociated: true,\n shadow: false,\n})\nexport class NvFieldcheckbox {\n @Element() el!: HTMLNvFieldcheckboxElement;\n\n /****************************************************************************/\n //#region DEPRECATED\n\n /**\n * Message define a 'hint ' message for the Field.\n * @deprecated Use `description` instead.\n * */\n @Prop()\n readonly message?: string;\n\n /**\n * The text for the validation message.\n * @deprecated Use `errorDescription` and set the error prop instead.\n * */\n @Prop()\n readonly validation?: string;\n\n /**\n * When true, the label will be placed before the checkbox.\n * @deprecated Use `labelPlacement = end` instead.\n * */\n @Prop()\n readonly labelBefore?: boolean = false;\n\n //#endregion DEPRECATED\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the ID for the radio button’s input element and the for attribute of\n * the associated label. If no ID is provided, a random one will be\n * automatically generated to ensure unique identification, facilitating\n * proper label association and accessibility.\n */\n @Prop({ reflect: true })\n readonly inputId: string = uuidv4();\n\n /**\n * The name attribute for the checkbox input, used to reference the form data\n * after submission.\n */\n @Prop({ reflect: true })\n readonly name?: string;\n\n /**\n * The value attribute of the checkbox input, representing the value sent on\n * form submission when the checkbox is checked. When the form is submitted,\n * the data will consist of a name=value pair.\n */\n @Prop({ reflect: true })\n readonly value?: string;\n\n /**\n * The label displayed next to the checkbox.\n */\n @Prop({ reflect: true })\n readonly label?: string;\n\n /**\n * Determines the position of the label relative to the checkbox, either\n * 'start' (before) or 'end' (after).\n */\n @Prop({ reflect: true, mutable: true })\n labelPlacement: `${LabelPlacement}`;\n\n /**\n * Hides the label visually while still keeping it available for screen\n * readers.\n */\n @Prop({ reflect: true })\n readonly hideLabel: boolean = false;\n\n /**\n * A description providing additional context or information about the\n * checkbox.\n */\n @Prop({ reflect: true, mutable: true })\n description?: string;\n\n /**\n * Signals that there is an error associated with the checkbox, which can\n * trigger visual cues.\n * @validator error\n */\n @Prop({ reflect: true, mutable: true })\n error: boolean = false;\n\n /**\n * A description that appears when there is an error related to the checkbox.\n * @validator message\n */\n @Prop({ reflect: true, mutable: true })\n errorDescription?: string;\n\n /**\n * Indicates whether the checkbox is checked or not.\n */\n @Prop({ reflect: true, mutable: true })\n checked: boolean = false;\n\n /**\n * Indicates whether the checkbox is in an indeterminate state, typically used\n * for hierarchical checkboxes.\n */\n @Prop({ reflect: true, mutable: true })\n indeterminate: boolean = false;\n\n /**\n * Disables the checkbox, preventing user interaction.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Sets the checkbox to read-only, preventing user changes but still allowing\n * focus and selection of text.\n */\n @Prop({ reflect: true })\n readonly readonly: boolean = false;\n\n /**\n * Marks the checkbox as required, indicating that it must be checked for\n * form submission.\n */\n @Prop({ reflect: true })\n readonly required: boolean = false;\n\n /**\n * Applies focus to the input field as soon as the component is mounted. This\n * is equivalent to setting the native autofocus attribute on an <input>\n * element.\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 EVENTS\n\n /**\n * Emits when the checked state changes.\n * @bind checked\n */\n @Event()\n checkedChanged: EventEmitter<boolean>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region LISTENERS\n\n /**\n * Listens for the change event on the checkbox input element and updates the\n * checked state.\n * @param {Event} event - The change event.\n */\n @Listen('change')\n handleChange(event: Event) {\n const target = event.target as HTMLInputElement;\n\n if (target.type === 'checkbox' && target.id === this.inputId) {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n return;\n }\n\n if (this.indeterminate) {\n this.indeterminate = false;\n }\n\n this.checked = target.checked;\n }\n }\n\n //#endregion LISTENERS\n /****************************************************************************/\n //#region WATCHERS\n\n /**\n * Watches for changes to the checked state and emits the new value.\n * @param {boolean} checked - The new value of the checked state.\n */\n @Watch('checked')\n onCheckedChanged(checked: boolean) {\n this.checkedChanged.emit(checked);\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillRender() {\n if (this.message) {\n this.description = this.message;\n }\n\n if (this.labelBefore) {\n this.labelPlacement = 'before';\n }\n\n if (this.validation) {\n this.errorDescription = this.validation;\n this.error = true;\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n class={clsx(\n this.labelPlacement === 'before' && 'label-placement-before',\n this.error && 'error',\n )}\n >\n <div class=\"input-container\">\n <input\n type=\"checkbox\"\n id={this.inputId}\n name={this.name}\n autofocus={this.autofocus}\n autocomplete=\"off\"\n value={this.value}\n checked={Boolean(this.checked)}\n disabled={this.disabled || this.readonly}\n readonly={this.readonly && !this.required}\n required={this.required}\n indeterminate={this.indeterminate}\n ref={el => {\n if (el) {\n el.indeterminate = this.indeterminate;\n }\n }}\n />\n <span class=\"icon\">\n {this.checked && !this.indeterminate && (\n <slot name=\"checked-icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n >\n <path\n d=\"M11.6667 3.5L5.25004 9.91667L2.33337 7\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </slot>\n )}\n {this.indeterminate && (\n <slot name=\"indeterminate-icon\">\n <svg\n class=\"indeterminate-svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n >\n <path\n d=\"M2.9165 7H11.0832\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </slot>\n )}\n </span>\n </div>\n\n <div class=\"text-container\">\n {(this.label || this.el.querySelector('[slot=\"label\"]')) && (\n <label\n htmlFor={this.inputId}\n class={clsx(this.hideLabel && 'visually-hidden')}\n >\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n\n {(this.description ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n\n {(this.errorDescription ||\n this.el.querySelector('[slot=\"error-description\"]')) && (\n <div hidden={!this.error} class=\"error-description\">\n <slot name=\"error-description\">{this.errorDescription}</slot>\n </div>\n )}\n </div>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"mappings":"wIAAA,MAAMA,EAAqB,y1JAC3B,MAAAC,EAAeD,E,MC4BFE,EAAe,MAN5B,WAAAC,CAAAC,G,yDA+BWC,KAAAC,YAAwB,MAaxBD,KAAAE,QAAkBC,IAmClBH,KAAAI,UAAqB,MAe9BJ,KAAAK,MAAiB,MAajBL,KAAAM,QAAmB,MAOnBN,KAAAO,cAAyB,MAMhBP,KAAAQ,SAAoB,MAOpBR,KAAAS,SAAoB,MAOpBT,KAAAU,SAAoB,MASpBV,KAAAW,UAAqB,K,CAuB9B,YAAAC,CAAaC,GACX,MAAMC,EAASD,EAAMC,OAErB,GAAIA,EAAOC,OAAS,YAAcD,EAAOE,KAAOhB,KAAKE,QAAS,CAC5D,GAAIF,KAAKS,UAAYT,KAAKQ,SAAU,CAClCK,EAAMI,iBACN,M,CAGF,GAAIjB,KAAKO,cAAe,CACtBP,KAAKO,cAAgB,K,CAGvBP,KAAKM,QAAUQ,EAAOR,O,EAa1B,gBAAAY,CAAiBZ,GACfN,KAAKmB,eAAeC,KAAKd,E,CAO3B,mBAAAe,GACE,GAAIrB,KAAKsB,QAAS,CAChBtB,KAAKuB,YAAcvB,KAAKsB,O,CAG1B,GAAItB,KAAKC,YAAa,CACpBD,KAAKwB,eAAiB,Q,CAGxB,GAAIxB,KAAKyB,WAAY,CACnBzB,KAAK0B,iBAAmB1B,KAAKyB,WAC7BzB,KAAKK,MAAQ,I,EAQjB,MAAAsB,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAOC,EACLhC,KAAKwB,iBAAmB,UAAY,yBACpCxB,KAAKK,OAAS,UAGhBuB,EAAA,OAAAE,IAAA,2CAAKC,MAAM,mBACTH,EAAA,SAAAE,IAAA,2CACEf,KAAK,WACLC,GAAIhB,KAAKE,QACT+B,KAAMjC,KAAKiC,KACXtB,UAAWX,KAAKW,UAChBuB,aAAa,MACbC,MAAOnC,KAAKmC,MACZ7B,QAAS8B,QAAQpC,KAAKM,SACtBE,SAAUR,KAAKQ,UAAYR,KAAKS,SAChCA,SAAUT,KAAKS,WAAaT,KAAKU,SACjCA,SAAUV,KAAKU,SACfH,cAAeP,KAAKO,cACpB8B,IAAKC,IACH,GAAIA,EAAI,CACNA,EAAG/B,cAAgBP,KAAKO,a,KAI9BqB,EAAA,QAAAE,IAAA,2CAAMC,MAAM,QACT/B,KAAKM,UAAYN,KAAKO,eACrBqB,EAAA,QAAAE,IAAA,2CAAMG,KAAK,gBACTL,EAAA,OAAAE,IAAA,2CACES,MAAM,6BACNC,MAAM,KACNC,OAAO,KACPC,QAAQ,YACRC,KAAK,QAELf,EAAA,QAAAE,IAAA,2CACEc,EAAE,yCAAwC,iBAC3B,QAAO,kBACN,YAKvB5C,KAAKO,eACJqB,EAAA,QAAAE,IAAA,2CAAMG,KAAK,sBACTL,EAAA,OAAAE,IAAA,2CACEC,MAAM,oBACNQ,MAAM,6BACNG,QAAQ,YACRC,KAAK,QAELf,EAAA,QAAAE,IAAA,2CACEc,EAAE,oBAAmB,iBACN,QAAO,kBACN,cAQ5BhB,EAAA,OAAAE,IAAA,2CAAKC,MAAM,mBACP/B,KAAK6C,OAAS7C,KAAKsC,GAAGQ,cAAc,oBACpClB,EAAA,SAAAE,IAAA,2CACEiB,QAAS/C,KAAKE,QACd6B,MAAOC,EAAKhC,KAAKI,WAAa,oBAE9BwB,EAAA,QAAAE,IAAA,2CAAMG,KAAK,SAASjC,KAAK6C,SAI3B7C,KAAKuB,aACLvB,KAAKsC,GAAGQ,cAAc,0BACtBlB,EAAA,OAAAE,IAAA,2CAAKC,MAAM,eACTH,EAAA,QAAAE,IAAA,2CAAMG,KAAK,eAAejC,KAAKuB,eAIjCvB,KAAK0B,kBACL1B,KAAKsC,GAAGQ,cAAc,gCACtBlB,EAAA,OAAAE,IAAA,2CAAKkB,QAAShD,KAAKK,MAAO0B,MAAM,qBAC9BH,EAAA,QAAAE,IAAA,2CAAMG,KAAK,qBAAqBjC,KAAK0B,oB","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as t,h as o,a as i,g as n}from"./p-5439afb8.js";const d="nv-fielddropdownitem{display:flex;gap:var(--spacing-2);flex-wrap:wrap;align-items:center;width:100%;padding:var(--list-dropdown-item-padding-y) var(--list-dropdown-item-padding-x);font-weight:var(--menu-contextual-item-font-weight);font-size:var(--list-dropdown-font-size);line-height:var(--list-dropdown-line-height);color:var(--components-list-dropdown-item-label-default);border-radius:var(--list-dropdown-item-radius);transition:background-color 150ms ease-out, color 150ms ease-out;cursor:pointer}nv-fielddropdownitem:hover,nv-fielddropdownitem:focus,nv-fielddropdownitem:focus-within{background-color:var(--components-list-dropdown-item-background-hover);color:var(--components-menu-contextual-item-content-hover)}nv-fielddropdownitem[disabled]:not([disabled=false]){cursor:not-allowed;background-color:unset;color:var(--components-menu-contextual-item-content-disabled)}nv-fielddropdownitem .text-wrapper{display:flex;flex-grow:1;align-items:center;justify-content:space-between}nv-fielddropdownitem [data-scope=text]{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}nv-fielddropdownitem nv-icon[data-scope=selected]{color:var(--components-list-dropdown-item-label-default);align-self:center;margin-left:auto}";const s=d;const a=class{constructor(o){e(this,o);this.dropdownItemSelected=t(this,"dropdownItemSelected",7);this.composed=false;this.disabled=false;this.selected=false;this.handleSelected=()=>{if(this.disabled||this.selected)return;this.selected=true;this.dropdownItemSelected.emit({label:this.label,value:this.value,selected:this.selected,disabled:this.disabled})}}handleKeyDown(e){if(e.target!==this.el)return;if(e.key==="Enter"||e.key===" "){e.preventDefault();this.handleSelected()}}componentWillLoad(){this.composed=Boolean(this.el.children.length)}componentDidLoad(){var e;if(!this.value){const t=(e=this.label)!==null&&e!==void 0?e:this.el.textContent;this.value=t.replace(/\W+/g,"")}}render(){return o(i,{key:"aaa3f2ebc89268000413b1431fd69bf48a5270e0",role:"menuitem",tabindex:"-1",onClick:this.handleSelected},o("slot",{key:"5ec8b34d1642c4978290db8e741d7b61db1166ef"}),!this.composed&&o("div",{key:"054bab6f0e0c1fe80666c115058d4adbbdfdef05",class:"text-wrapper"},o("span",{key:"eaba500c4e8cdc122a368e2329134c6499fa3827","data-scope":"text"},this.label)),this.selected&&o("nv-icon",{key:"bdffe532360c437512485c93893c4fc0ecccb726",name:"check","aria-hidden":"true","data-scope":"selected"}))}get el(){return n(this)}};a.style=s;export{a as nv_fielddropdownitem};
2
+ //# sourceMappingURL=p-69fb1c9d.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["nvFielddropdownitemCss","NvFielddropdownitemStyle0","NvFielddropdownitem","constructor","hostRef","this","composed","disabled","selected","handleSelected","dropdownItemSelected","emit","label","value","handleKeyDown","event","target","el","key","preventDefault","componentWillLoad","Boolean","children","length","componentDidLoad","fallback","_a","textContent","replace","render","h","Host","role","tabindex","onClick","class","name"],"sources":["src/components/nv-fielddropdownitem/styles/nv-fielddropdownitem.scss?tag=nv-fielddropdownitem","src/components/nv-fielddropdownitem/nv-fielddropdownitem.tsx"],"sourcesContent":["@use \"./mixins\" as *;\n\nnv-fielddropdownitem {\n @include root-styles();\n\n &[disabled]:not([disabled='false']) {\n @include disabled-styles();\n }\n\n .text-wrapper {\n @include text-wrapper-styles();\n }\n\n [data-scope='text'] {\n @include text-styles();\n }\n\n nv-icon[data-scope='selected'] {\n @include selected-icon-styles();\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Element,\n Listen,\n} from '@stencil/core';\n\n/**\n * @slot default - The content to be displayed inside the dropdown item.\n */\n@Component({\n tag: 'nv-fielddropdownitem',\n styleUrl: 'styles/nv-fielddropdownitem.scss',\n shadow: false,\n})\nexport class NvFielddropdownitem {\n @Element() el: HTMLNvFielddropdownitemElement;\n private composed = false;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Disables the item, preventing any user interaction.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Indicates if the item is selected.\n */\n @Prop({ reflect: true, mutable: true })\n selected: boolean = false;\n\n /**\n * Value associated with the item. This is recommended and required for proper\n * form management.\n */\n @Prop({ reflect: true, mutable: true })\n value?: string;\n\n /**\n * Specifies the text label for the dropdown item.\n *\n * When no default slot is provided, this label is rendered as the item's\n * visible text. If the default slot is supplied, the label isn’t directly\n * displayed but is used as the selected text (on the dropdown trigger). If\n * no label is explicitly set, the component will automatically derive the\n * label from the text content of the default slot.\n */\n @Prop({ reflect: true })\n readonly label?: string;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Event emitted when the dropdown item is selected.\n */\n @Event()\n dropdownItemSelected: EventEmitter<{\n /** The value associated with the item. */\n label?: string;\n /** The value associated with the item. */\n value: string;\n /** Indicates if the item is selected. */\n selected: boolean;\n /** Disables the item, preventing any user interaction. */\n disabled: boolean;\n }>;\n\n @Listen('keydown', { passive: false })\n handleKeyDown(event: KeyboardEvent) {\n if (event.target !== this.el) return;\n\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.handleSelected();\n }\n }\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region METHODS\n\n private handleSelected = () => {\n if (this.disabled || this.selected) return;\n\n this.selected = true;\n this.dropdownItemSelected.emit({\n label: this.label,\n value: this.value,\n selected: this.selected,\n disabled: this.disabled,\n });\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.composed = Boolean(this.el.children.length);\n }\n\n componentDidLoad() {\n if (!this.value) {\n const fallback = this.label ?? this.el.textContent;\n this.value = fallback.replace(/\\W+/g, ''); // Remove non-word characters\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host role=\"menuitem\" tabindex={'-1'} onClick={this.handleSelected}>\n <slot />\n\n {!this.composed && (\n <div class=\"text-wrapper\">\n <span data-scope=\"text\">{this.label}</span>\n </div>\n )}\n\n {this.selected && (\n <nv-icon name=\"check\" aria-hidden=\"true\" data-scope=\"selected\" />\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"mappings":"gEAAA,MAAMA,EAAyB,wtCAC/B,MAAAC,EAAeD,E,MCkBFE,EAAmB,MALhC,WAAAC,CAAAC,G,qEAOUC,KAAAC,SAAW,MASVD,KAAAE,SAAoB,MAM7BF,KAAAG,SAAoB,MAsDZH,KAAAI,eAAiB,KACvB,GAAIJ,KAAKE,UAAYF,KAAKG,SAAU,OAEpCH,KAAKG,SAAW,KAChBH,KAAKK,qBAAqBC,KAAK,CAC7BC,MAAOP,KAAKO,MACZC,MAAOR,KAAKQ,MACZL,SAAUH,KAAKG,SACfD,SAAUF,KAAKE,UACf,C,CAtBJ,aAAAO,CAAcC,GACZ,GAAIA,EAAMC,SAAWX,KAAKY,GAAI,OAE9B,GAAIF,EAAMG,MAAQ,SAAWH,EAAMG,MAAQ,IAAK,CAC9CH,EAAMI,iBACNd,KAAKI,gB,EAwBT,iBAAAW,GACEf,KAAKC,SAAWe,QAAQhB,KAAKY,GAAGK,SAASC,O,CAG3C,gBAAAC,G,MACE,IAAKnB,KAAKQ,MAAO,CACf,MAAMY,GAAWC,EAAArB,KAAKO,SAAK,MAAAc,SAAA,EAAAA,EAAIrB,KAAKY,GAAGU,YACvCtB,KAAKQ,MAAQY,EAASG,QAAQ,OAAQ,G,EAQ1C,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAb,IAAA,2CAACc,KAAK,WAAWC,SAAU,KAAMC,QAAS7B,KAAKI,gBAClDqB,EAAA,QAAAZ,IAAA,8CAEEb,KAAKC,UACLwB,EAAA,OAAAZ,IAAA,2CAAKiB,MAAM,gBACTL,EAAA,QAAAZ,IAAA,wDAAiB,QAAQb,KAAKO,QAIjCP,KAAKG,UACJsB,EAAA,WAAAZ,IAAA,2CAASkB,KAAK,QAAO,cAAa,OAAM,aAAY,a","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as n,c as e,h as r,a as i,g as o}from"./p-5439afb8.js";import{c as t}from"./p-8a1a6e56.js";import{v as a}from"./p-f5ff676c.js";const d='nv-fieldnumber {\n --nv-field-border-default: var(--components-form-field-border-default);\n --nv-field-border-hover: var(--components-form-field-border-hover);\n --nv-field-border-focus: var(--components-form-field-border-focus);\n --nv-field-border-disabled: var(--components-form-field-border-default);\n --nv-field-border-readonly: var(--components-form-field-border-default);\n --nv-field-focus-box-shadow: var(--color-focus-brand);\n --nv-field-background: var(--components-form-field-background-default);\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--form-gap-y);\n box-sizing: border-box;\n}\nnv-fieldnumber[readonly]:not([readonly=false]) {\n --nv-field-border-default: var(--components-form-field-border-readonly);\n --nv-field-border-hover: var(--nv-field-border-default);\n --nv-field-border-focus: var(--components-form-field-border-focus);\n --nv-field-border-disabled: var(--nv-field-border-default);\n --nv-field-border-readonly: var(--nv-field-border-default);\n --nv-field-background: var(--components-form-field-background-readonly);\n}\nnv-fieldnumber[error]:not([error=false]) {\n --nv-field-border-default: var(--components-form-field-border-error);\n --nv-field-border-hover: var(--nv-field-border-default);\n --nv-field-border-focus: var(--nv-field-border-default);\n --nv-field-border-disabled: var(--nv-field-border-default);\n --nv-field-border-readonly: var(--nv-field-border-default);\n --nv-field-focus-box-shadow: var(--color-focus-destructive);\n}\nnv-fieldnumber[success]:not([success=false]) {\n --nv-field-border-default: var(--components-form-field-border-success);\n --nv-field-border-hover: var(--nv-field-border-default);\n --nv-field-border-focus: var(--nv-field-border-default);\n --nv-field-border-disabled: var(--nv-field-border-default);\n --nv-field-border-readonly: var(--nv-field-border-default);\n --nv-field-focus-box-shadow: var(--color-focus-success);\n}\nnv-fieldnumber[required]:not([required=false]) label::after {\n content: "*";\n color: var(--components-form-text-required);\n font-weight: 700;\n}\nnv-fieldnumber label {\n display: flex;\n align-items: center;\n gap: var(--form-label-gap);\n align-self: stretch;\n color: var(--components-form-text-label-default);\n font-family: "TT Norms Pro", sans-serif;\n font-size: var(--form-label-font-size);\n font-style: normal;\n font-weight: 500;\n line-height: var(--form-label-line-height);\n}\nnv-fieldnumber .input-wrapper {\n display: flex;\n flex-wrap: wrap;\n gap: var(--form-gap-x);\n align-items: stretch;\n align-self: stretch;\n}\nnv-fieldnumber .input-wrapper .input-container {\n display: flex;\n flex-grow: 1;\n padding: calc(var(--form-field-padding-y) - 1px) var(--form-field-padding-x);\n justify-content: center;\n align-items: center;\n gap: var(--form-field-gap);\n align-self: stretch;\n border-radius: var(--form-field-radius);\n border-width: 1px;\n border-style: solid;\n border-color: var(--nv-field-border-default);\n opacity: var(--components-form-opacity-default, 1);\n background: var(--nv-field-background);\n transition: all 150ms ease-out;\n container-type: inline-size;\n container-name: field-number-input-container;\n overflow: hidden;\n position: relative;\n}\nnv-fieldnumber .input-wrapper .input-container:hover {\n border-color: var(--nv-field-border-hover);\n}\nnv-fieldnumber .input-wrapper .input-container:focus-within, nv-fieldnumber .input-wrapper .input-container:focus-within:hover, nv-fieldnumber .input-wrapper .input-container:focus, nv-fieldnumber .input-wrapper .input-container:focus:hover {\n border-color: var(--nv-field-border-focus);\n box-shadow: 0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow);\n}\nnv-fieldnumber .input-wrapper .input-container:has(input:read-only) {\n opacity: 0.5;\n background-color: var(--components-form-field-background-readonly);\n border-color: var(--nv-field-border-readonly);\n}\nnv-fieldnumber .input-wrapper .input-container:has(input:disabled) {\n opacity: 0.5;\n background-color: var(--components-form-field-background-disabled);\n border-color: var(--nv-field-border-disabled);\n}\nnv-fieldnumber .input-wrapper .input-container input {\n display: flex;\n align-items: center;\n flex: 1 0 0;\n overflow: hidden;\n background-color: transparent;\n color: var(--components-form-field-content-text);\n text-overflow: ellipsis;\n font-size: var(--form-field-font-size);\n font-style: normal;\n font-weight: 500;\n line-height: var(--form-field-line-height);\n width: 100%;\n appearance: textfield;\n}\nnv-fieldnumber .input-wrapper .input-container input:focus {\n outline: none;\n}\nnv-fieldnumber .input-wrapper .input-container input::placeholder {\n overflow: hidden;\n color: var(--components-form-field-content-placeholder);\n text-overflow: ellipsis;\n font-family: "TT Norms Pro", sans-serif;\n font-size: var(--form-field-font-size);\n font-style: normal;\n font-weight: 400;\n line-height: var(--form-field-line-height);\n}\nnv-fieldnumber .input-wrapper .input-container input::-webkit-inner-spin-button, nv-fieldnumber .input-wrapper .input-container input::-webkit-outer-spin-button {\n appearance: none;\n margin: 0;\n}\nnv-fieldnumber .input-wrapper .input-container nv-icon.validation {\n color: var(--nv-field-border-default);\n}\nnv-fieldnumber .input-wrapper .input-container .stepper {\n position: absolute;\n right: 0;\n height: 100%;\n display: flex;\n align-items: center;\n border-left: var(--notification-border-width-low-emphasis) solid var(--components-form-field-border-readonly);\n}\nnv-fieldnumber .input-wrapper .input-container .stepper nv-icon {\n color: var(--components-form-field-icon-default);\n height: 100%;\n}\nnv-fieldnumber .input-wrapper .input-container .stepper nv-icon:first-child {\n padding: var(--form-field-inner-button-padding-y) var(--form-field-inner-button-padding-x-int) var(--form-field-inner-button-padding-y) var(--form-field-inner-button-padding-x-ext);\n}\nnv-fieldnumber .input-wrapper .input-container .stepper nv-icon:last-child {\n padding: var(--form-field-inner-button-padding-y) var(--form-field-inner-button-padding-x-ext) var(--form-field-inner-button-padding-y) var(--form-field-inner-button-padding-x-int);\n}\nnv-fieldnumber .input-wrapper .input-container .stepper nv-icon:hover {\n background: var(--color-interaction-container-neutral-background-hover);\n}\nnv-fieldnumber .input-wrapper .input-container .stepper-spacer {\n width: calc(2 * (var(--form-field-icon-size) + var(--form-field-inner-button-padding-x-ext) + var(--form-field-inner-button-padding-x-int)) + var(--form-field-padding-x) + var(--notification-border-width-low-emphasis));\n}\n@container field-number-input-container (width < 150px) {\n nv-fieldnumber .input-wrapper .input-container .stepper-spacer {\n display: none;\n }\n nv-fieldnumber .input-wrapper .input-container .stepper {\n display: none;\n }\n}\nnv-fieldnumber .description {\n align-self: stretch;\n color: var(--components-form-text-description-default);\n font-family: "TT Norms Pro", sans-serif;\n font-size: var(--form-description-font-size);\n font-style: normal;\n line-height: var(--form-description-line-height);\n}\nnv-fieldnumber .error-description {\n align-self: stretch;\n color: var(--components-form-text-description-default);\n font-family: "TT Norms Pro", sans-serif;\n font-size: var(--form-description-font-size);\n font-style: normal;\n line-height: var(--form-description-line-height);\n color: var(--components-form-text-description-error);\n}';const l=d;const f=class{constructor(r){n(this,r);this.valueChanged=e(this,"valueChanged",7);this.inputId=a();this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.success=false;this.step=1;this.handleInput=n=>{const e=n.target;this.value=Number(e.value)};this.handleInputContainerClick=()=>{this.inputElement.focus()};this.handlePlus=()=>{this.inputElement.stepUp();this.value=Number(this.inputElement.value)};this.handleMinus=()=>{this.inputElement.stepDown();this.value=Number(this.inputElement.value)};this.isMinValueReached=()=>this.min!==undefined&&this.value<=this.min;this.isMaxValueReached=()=>this.max!==undefined&&this.value>=this.max}watchValueHandler(n){this.valueChanged.emit(n)}componentWillRender(){if(this.message){this.description=this.message}if(this.validation){this.errorDescription=this.validation;this.error=true}}render(){return r(i,{key:"d209941096a1c88b73985aa26fb58f9b8bf6ca3e"},(this.label||this.el.querySelector('[slot="label"]'))&&r("label",{key:"b4720fa9692e0337151ddbdc427b482fe06a6d63",htmlFor:this.inputId},r("slot",{key:"03f8b22d963557087b04e0bc2af742b110926253",name:"label"},this.label)),r("div",{key:"d9734628d6a771a64cb7163b91abc82666d7db5e",class:"input-wrapper"},r("slot",{key:"01e9f83f7d96c48ab3f7a3877e027992bfa3c611",name:"before-input"}),r("div",{key:"12e6e80ce7e8e7c3e99b58a3ae86787ebb83acd0",class:"input-container",onClick:this.handleInputContainerClick},r("slot",{key:"6c79d0f8777d94eb74d4e0ef6da9e9dc41e2a9ea",name:"leading-input"}),r("input",{key:"c8cb50a410c4b10988d4d89613fc56f550718e58",id:this.inputId,ref:n=>this.inputElement=n,placeholder:this.placeholder,name:this.name,type:"number",required:this.required,max:this.max,min:this.min,step:this.step,value:this.value,disabled:this.disabled,readOnly:this.readonly,onInput:this.handleInput}),this.error&&r("nv-icon",{key:"9443363b74a7a6aa77e67824e1ddb8113129221d",name:"alert-circle",class:"validation",size:"md"}),this.success&&r("nv-icon",{key:"aca8a5c26a7c495cced88d2ebea93a3a004e42a6",name:"circle-check",class:"validation",size:"md"}),r("div",{key:"e7783cfaf34e31b93b9faf02d9ce4e8e81b3eeec",class:"stepper-spacer"}),r("div",{key:"69dc88252737d0db8a0bba9f664f1b9fde52e9ed",class:"stepper"},r("nv-icon",{key:"44d044fa1f5a58875e848df71e1bc65222d05dc7",name:"minus",size:"md",onClick:this.handleMinus,class:t({disabled:this.isMinValueReached()})}),r("nv-icon",{key:"27320a1bb610d3aa71ea1689460f8065f448a07e",name:"plus",size:"md",onClick:this.handlePlus,class:t({disabled:this.isMaxValueReached()})}))),r("slot",{key:"0e98e77290b8a4c0f4e5eb4caccb7d12dd79f8ff",name:"after-input"})),(this.description||this.el.querySelector('[slot="description"]'))&&r("div",{key:"96249b9427a223a1c913c13905af097505841f2a",class:"description"},r("slot",{key:"a7aadf4d4d406b0eeea93eb5a4fa77c4df1ec315",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&r("div",{key:"cf2cde880a2a906fb04b379ccbfde9da2d283efe",hidden:!this.error,class:"error-description"},r("slot",{key:"92263232256d6935d3a4ed788c1bb11c61fe5467",name:"error-description"},this.errorDescription)))}static get formAssociated(){return true}get el(){return o(this)}static get watchers(){return{value:["watchValueHandler"]}}};f.style=l;export{f as nv_fieldnumber};
2
- //# sourceMappingURL=p-1bb5a6bd.entry.js.map
1
+ import{r as e,c as n,h as r,a as i,g as o}from"./p-5439afb8.js";import{c as t}from"./p-8a1a6e56.js";import{v as a}from"./p-f5ff676c.js";const d='nv-fieldnumber {\n --nv-field-border-default: var(--components-form-field-border-default);\n --nv-field-border-hover: var(--components-form-field-border-hover);\n --nv-field-border-focus: var(--components-form-field-border-focus);\n --nv-field-border-disabled: var(--components-form-field-border-default);\n --nv-field-border-readonly: var(--components-form-field-border-default);\n --nv-field-focus-box-shadow: var(--color-focus-brand);\n --nv-field-background: var(--components-form-field-background-default);\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--form-gap-y);\n box-sizing: border-box;\n}\nnv-fieldnumber[readonly]:not([readonly=false]) {\n --nv-field-border-default: var(--components-form-field-border-readonly);\n --nv-field-border-hover: var(--nv-field-border-default);\n --nv-field-border-focus: var(--components-form-field-border-focus);\n --nv-field-border-disabled: var(--nv-field-border-default);\n --nv-field-border-readonly: var(--nv-field-border-default);\n --nv-field-background: var(--components-form-field-background-readonly);\n}\nnv-fieldnumber[error]:not([error=false]) {\n --nv-field-border-default: var(--components-form-field-border-error);\n --nv-field-border-hover: var(--nv-field-border-default);\n --nv-field-border-focus: var(--nv-field-border-default);\n --nv-field-border-disabled: var(--nv-field-border-default);\n --nv-field-border-readonly: var(--nv-field-border-default);\n --nv-field-focus-box-shadow: var(--color-focus-destructive);\n}\nnv-fieldnumber[success]:not([success=false]) {\n --nv-field-border-default: var(--components-form-field-border-success);\n --nv-field-border-hover: var(--nv-field-border-default);\n --nv-field-border-focus: var(--nv-field-border-default);\n --nv-field-border-disabled: var(--nv-field-border-default);\n --nv-field-border-readonly: var(--nv-field-border-default);\n --nv-field-focus-box-shadow: var(--color-focus-success);\n}\nnv-fieldnumber[required]:not([required=false]) label::after {\n content: "*";\n color: var(--components-form-text-required);\n font-weight: 700;\n}\nnv-fieldnumber label {\n display: flex;\n align-items: center;\n gap: var(--form-label-gap);\n align-self: stretch;\n color: var(--components-form-text-label-default);\n font-family: "TT Norms Pro", sans-serif;\n font-size: var(--form-label-font-size);\n font-style: normal;\n font-weight: 500;\n line-height: var(--form-label-line-height);\n}\nnv-fieldnumber .input-wrapper {\n display: flex;\n flex-wrap: wrap;\n gap: var(--form-gap-x);\n align-items: stretch;\n align-self: stretch;\n}\nnv-fieldnumber .input-wrapper .input-container {\n display: flex;\n flex-grow: 1;\n padding: calc(var(--form-field-padding-y) - 1px) var(--form-field-padding-x);\n justify-content: center;\n align-items: center;\n gap: var(--form-field-gap);\n align-self: stretch;\n border-radius: var(--form-field-radius);\n border-width: 1px;\n border-style: solid;\n border-color: var(--nv-field-border-default);\n opacity: var(--components-form-opacity-default, 1);\n background: var(--nv-field-background);\n transition: all 150ms ease-out;\n container-type: inline-size;\n container-name: field-number-input-container;\n overflow: hidden;\n position: relative;\n}\nnv-fieldnumber .input-wrapper .input-container:hover {\n border-color: var(--nv-field-border-hover);\n}\nnv-fieldnumber .input-wrapper .input-container:focus-within, nv-fieldnumber .input-wrapper .input-container:focus-within:hover, nv-fieldnumber .input-wrapper .input-container:focus, nv-fieldnumber .input-wrapper .input-container:focus:hover {\n border-color: var(--nv-field-border-focus);\n box-shadow: 0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow);\n}\nnv-fieldnumber .input-wrapper .input-container:has(input:read-only) {\n opacity: 0.5;\n background-color: var(--components-form-field-background-readonly);\n border-color: var(--nv-field-border-readonly);\n}\nnv-fieldnumber .input-wrapper .input-container:has(input:disabled) {\n opacity: 0.5;\n background-color: var(--components-form-field-background-disabled);\n border-color: var(--nv-field-border-disabled);\n}\nnv-fieldnumber .input-wrapper .input-container input {\n display: flex;\n align-items: center;\n flex: 1 0 0;\n overflow: hidden;\n background-color: transparent;\n color: var(--components-form-field-content-text);\n text-overflow: ellipsis;\n font-size: var(--form-field-font-size);\n font-style: normal;\n font-weight: 500;\n line-height: var(--form-field-line-height);\n width: 100%;\n appearance: textfield;\n}\nnv-fieldnumber .input-wrapper .input-container input:focus {\n outline: none;\n}\nnv-fieldnumber .input-wrapper .input-container input::placeholder {\n overflow: hidden;\n color: var(--components-form-field-content-placeholder);\n text-overflow: ellipsis;\n font-family: "TT Norms Pro", sans-serif;\n font-size: var(--form-field-font-size);\n font-style: normal;\n font-weight: 400;\n line-height: var(--form-field-line-height);\n}\nnv-fieldnumber .input-wrapper .input-container input::-webkit-inner-spin-button, nv-fieldnumber .input-wrapper .input-container input::-webkit-outer-spin-button {\n appearance: none;\n margin: 0;\n}\nnv-fieldnumber .input-wrapper .input-container nv-icon.validation {\n color: var(--nv-field-border-default);\n}\nnv-fieldnumber .input-wrapper .input-container .stepper {\n position: absolute;\n right: 0;\n height: 100%;\n display: flex;\n align-items: center;\n border-left: var(--notification-border-width-low-emphasis) solid var(--components-form-field-border-readonly);\n}\nnv-fieldnumber .input-wrapper .input-container .stepper nv-icon {\n color: var(--components-form-field-icon-default);\n height: 100%;\n}\nnv-fieldnumber .input-wrapper .input-container .stepper nv-icon:first-child {\n padding: var(--form-field-inner-button-padding-y) var(--form-field-inner-button-padding-x-int) var(--form-field-inner-button-padding-y) var(--form-field-inner-button-padding-x-ext);\n}\nnv-fieldnumber .input-wrapper .input-container .stepper nv-icon:last-child {\n padding: var(--form-field-inner-button-padding-y) var(--form-field-inner-button-padding-x-ext) var(--form-field-inner-button-padding-y) var(--form-field-inner-button-padding-x-int);\n}\nnv-fieldnumber .input-wrapper .input-container .stepper nv-icon:hover {\n background: var(--color-interaction-container-neutral-background-hover);\n}\nnv-fieldnumber .input-wrapper .input-container .stepper-spacer {\n width: calc(2 * (var(--form-field-icon-size) + var(--form-field-inner-button-padding-x-ext) + var(--form-field-inner-button-padding-x-int)) + var(--form-field-padding-x) + var(--notification-border-width-low-emphasis));\n}\n@container field-number-input-container (width < 150px) {\n nv-fieldnumber .input-wrapper .input-container .stepper-spacer {\n display: none;\n }\n nv-fieldnumber .input-wrapper .input-container .stepper {\n display: none;\n }\n}\nnv-fieldnumber .description {\n align-self: stretch;\n color: var(--components-form-text-description-default);\n font-family: "TT Norms Pro", sans-serif;\n font-size: var(--form-description-font-size);\n font-style: normal;\n line-height: var(--form-description-line-height);\n}\nnv-fieldnumber .error-description {\n align-self: stretch;\n color: var(--components-form-text-description-default);\n font-family: "TT Norms Pro", sans-serif;\n font-size: var(--form-description-font-size);\n font-style: normal;\n line-height: var(--form-description-line-height);\n color: var(--components-form-text-description-error);\n}';const l=d;const f=class{constructor(r){e(this,r);this.valueChanged=n(this,"valueChanged",7);this.inputId=a();this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.success=false;this.step=1;this.autofocus=false;this.handleInput=e=>{const n=e.target;this.value=Number(n.value)};this.handleInputContainerClick=()=>{this.inputElement.focus()};this.handlePlus=()=>{this.inputElement.stepUp();this.value=Number(this.inputElement.value)};this.handleMinus=()=>{this.inputElement.stepDown();this.value=Number(this.inputElement.value)};this.isMinValueReached=()=>this.min!==undefined&&this.value<=this.min;this.isMaxValueReached=()=>this.max!==undefined&&this.value>=this.max}watchValueHandler(e){this.valueChanged.emit(e)}componentWillRender(){if(this.message){this.description=this.message}if(this.validation){this.errorDescription=this.validation;this.error=true}}render(){return r(i,{key:"fdc30e5567fc9f51c4fb8d09df429492ea0b884b"},(this.label||this.el.querySelector('[slot="label"]'))&&r("label",{key:"bc0e6520518b959e86c898f71fae71393b60db8c",htmlFor:this.inputId},r("slot",{key:"b752e6e35a2b740743c2beb86d7772e55ba907f6",name:"label"},this.label)),r("div",{key:"678f82dd91a8a78ed807853472b340c0de91ede9",class:"input-wrapper"},r("slot",{key:"d3b8c0135d8a8824057ae5079cb103d1f126eef2",name:"before-input"}),r("div",{key:"03b1d5827013ab5d69e005cea6bbf37a334d3555",class:"input-container",onClick:this.handleInputContainerClick},r("slot",{key:"bab7cedd33af0e9d7cafaa6a7cd449ef37908f1a",name:"leading-input"}),r("input",{key:"ec2eec28ed7c69fb1139e753c921866df17eebab",id:this.inputId,ref:e=>this.inputElement=e,placeholder:this.placeholder,name:this.name,type:"number",autofocus:this.autofocus,required:this.required,max:this.max,min:this.min,step:this.step,value:this.value,disabled:this.disabled,readOnly:this.readonly,onInput:this.handleInput}),this.error&&r("nv-icon",{key:"9f82b0d94fc47d1433cf8acf69eea1873829ccb0",name:"alert-circle",class:"validation",size:"md"}),this.success&&r("nv-icon",{key:"48823ced8adaacbc1de22cfc6b6812359639e986",name:"circle-check",class:"validation",size:"md"}),r("div",{key:"45619dcfafe7fe6356a8d452042eb3846a4361ec",class:"stepper-spacer"}),r("div",{key:"0ec97af02cea09878bbcd0ffb1ddb18355a6d274",class:"stepper"},r("nv-icon",{key:"ec5cb47b730a7554dc6aab838e917645471fe5b1",name:"minus",size:"md",onClick:this.handleMinus,class:t({disabled:this.isMinValueReached()})}),r("nv-icon",{key:"cefbb6b9b8b7c18f1b9bd3fd3c43a7e4b1925939",name:"plus",size:"md",onClick:this.handlePlus,class:t({disabled:this.isMaxValueReached()})}))),r("slot",{key:"ea783ef8cd3f6ae9b5fc025f5eb9e91b7d64c0a3",name:"after-input"})),(this.description||this.el.querySelector('[slot="description"]'))&&r("div",{key:"56488d6b2c0fd5a171345e8e401a15a218eb2d20",class:"description"},r("slot",{key:"bb3ee834416cd2fd3cc8f774854a2e1a279bd1c2",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&r("div",{key:"77827e731e549789eca0f2d23fe9c08086ad3fac",hidden:!this.error,class:"error-description"},r("slot",{key:"27f5125d4a8032a996a70d0901ef82dd888f2631",name:"error-description"},this.errorDescription)))}static get formAssociated(){return true}get el(){return o(this)}static get watchers(){return{value:["watchValueHandler"]}}};f.style=l;export{f as nv_fieldnumber};
2
+ //# sourceMappingURL=p-729c9d45.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["nvFieldnumberCss","NvFieldnumberStyle0","NvFieldnumber","constructor","hostRef","this","inputId","uuidv4","disabled","readonly","required","error","success","step","autofocus","handleInput","event","input","target","value","Number","handleInputContainerClick","inputElement","focus","handlePlus","stepUp","handleMinus","stepDown","isMinValueReached","min","undefined","isMaxValueReached","max","watchValueHandler","newValue","valueChanged","emit","componentWillRender","message","description","validation","errorDescription","render","h","Host","key","label","el","querySelector","htmlFor","name","class","onClick","id","ref","e","placeholder","type","readOnly","onInput","size","clsx","hidden"],"sources":["src/components/nv-fieldnumber/nv-fieldnumber.scss?tag=nv-fieldnumber","src/components/nv-fieldnumber/nv-fieldnumber.tsx"],"sourcesContent":["@import '../../styles/form-field';\n\nnv-fieldnumber {\n @include form-field-variables();\n @include form-field-root();\n\n &[readonly]:not([readonly='false']) {\n @include form-field-readonly-variables();\n }\n\n &[error]:not([error='false']) {\n @include form-field-error-variables();\n }\n\n &[success]:not([success='false']) {\n @include form-field-success-variables();\n }\n\n &[required]:not([required='false']) label {\n @include form-field-label-required();\n }\n\n label {\n @include form-field-label();\n }\n\n .input-wrapper {\n @include form-field-input-wrapper();\n\n .input-container {\n @include form-field-input-container();\n\n container-type: inline-size;\n container-name: field-number-input-container;\n overflow: hidden;\n position: relative;\n\n input {\n @include form-field-input();\n\n width: 100%;\n appearance: textfield;\n\n &::-webkit-inner-spin-button,\n &::-webkit-outer-spin-button {\n appearance: none;\n margin: 0;\n }\n }\n\n nv-icon.validation {\n @include form-field-icon();\n }\n\n .stepper {\n position: absolute;\n right: 0;\n height: 100%;\n display: flex;\n align-items: center;\n border-left: var(--notification-border-width-low-emphasis) solid var(--components-form-field-border-readonly);\n\n nv-icon {\n color: var(--components-form-field-icon-default);\n height: 100%;\n\n &:first-child {\n padding: var(--form-field-inner-button-padding-y) var(--form-field-inner-button-padding-x-int) var(--form-field-inner-button-padding-y) var(--form-field-inner-button-padding-x-ext);\n }\n\n &:last-child {\n padding: var(--form-field-inner-button-padding-y) var(--form-field-inner-button-padding-x-ext) var(--form-field-inner-button-padding-y) var(--form-field-inner-button-padding-x-int);\n }\n\n &:hover {\n background: var(--color-interaction-container-neutral-background-hover);\n }\n }\n }\n\n .stepper-spacer {\n //2 icons both with interior and exterior padding, the default padding from the input-container and the thickness of the separator\n width: calc(2 * (var(--form-field-icon-size) + var(--form-field-inner-button-padding-x-ext) + var(--form-field-inner-button-padding-x-int)) + var(--form-field-padding-x) + var(--notification-border-width-low-emphasis));\n }\n\n // container query to remove .stepper and and the spacer when the container is less than 150px\n // .. this needs to be an absolute value because container queries do not accept variables\n // .. using relative width (cqw) compared to a parent container would not work\n // .. because the parent container follows the child's width\n @container field-number-input-container (width < 150px) {\n .stepper-spacer {\n display: none;\n }\n\n .stepper {\n display: none;\n }\n }\n }\n }\n\n .description {\n @include form-field-description();\n }\n\n .error-description {\n @include form-field-error-description();\n }\n}","import {\n Component,\n Prop,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Watch,\n} from '@stencil/core';\nimport clsx from 'clsx';\nimport { v4 as uuidv4 } from 'uuid';\n\n/**\n * @slot leading-input - Content to be placed before the input text, within the input container.\n * @slot before-input - Content to be placed before the input text, outside the input container.\n * @slot after-input - Content to be placed after the input text, outside the input container.\n * @slot label - Content to be placed as the label, will override the label prop.\n * @slot description - Content to be placed as the description, will override the description prop.\n * @slot error-description - Content to be placed as the error description, will override the errorDescription prop.\n */\n@Component({\n tag: 'nv-fieldnumber',\n styleUrl: 'nv-fieldnumber.scss',\n shadow: false,\n formAssociated: true,\n})\nexport class NvFieldnumber {\n @Element() el: HTMLNvFieldnumberElement;\n private inputElement!: HTMLInputElement;\n\n /****************************************************************************/\n //#region DEPRECATED\n\n /**\n * Message defines a 'hint ' message for the number field.\n * @deprecated Use `description` instead.\n */\n @Prop()\n readonly message: string;\n\n /**\n * Add the message to the validation state.\n * @deprecated Use `errorDescription` and set the error prop instead.\n */\n @Prop()\n readonly validation: string;\n\n //#endregion DEPRECATED\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the ID for the input element and the for attribute of the associated\n * label. If no ID is provided, a random one will be automatically generated\n * to ensure unique identification, facilitating proper label association and\n * accessibility.\n */\n @Prop({ reflect: true })\n readonly inputId: string = uuidv4();\n\n /**\n * Lets you define the text that explains what users should enter in the text\n * input field. It’s a crucial element for making forms clear and\n * user-friendly.\n */\n @Prop({ reflect: true })\n readonly label: string;\n\n /**\n * Add helpful hints or extra information under the text input field. This is\n * where you can clarify what users should enter or provide additional\n * instructions, making the form easier to fill out correctly.\n */\n @Prop({ reflect: true, mutable: true })\n description: string;\n\n /**\n * Display temporary text inside the input field to give users a hint about\n * what to type. It’s a great way to provide examples or suggestions directly\n * in the field before they start typing.\n */\n @Prop({ reflect: true })\n readonly placeholder: string;\n\n /**\n * Defines the name attribute of the input field, which is crucial for form\n * submission. This value is used as the key in the key-value pair sent to\n * the server, representing the input’s data in form submissions. It should be\n * unique within the form to avoid conflicts\n */\n @Prop({ reflect: true })\n readonly name: string;\n\n /**\n * The disabled prop lets you turn off the input field so that users can’t\n * type in it. When disabled, the field is grayed out and won’t respond to#\n * clicks or touches.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Display the input field’s content without allowing users to change it.\n * Users can still click on it, select, and copy the text, but they won’t be\n * able to type or delete anything.\n */\n @Prop({ reflect: true })\n readonly readonly: boolean = false;\n\n /**\n * Marks the input field as required, ensuring that the user must fill it out\n * before submitting the form.\n */\n @Prop({ reflect: true })\n readonly required: boolean = false;\n\n /**\n * Alters the input field’s appearance to indicate an error, helping users\n * identify fields that need correction.\n * @validator error\n */\n @Prop({ reflect: true, mutable: true })\n error: boolean = false;\n\n /**\n * Show a helpful message under the input field when there’s a problem. It\n * explains what’s wrong and how users can fix it, making the error easier to\n * understand and resolve.\n * @validator message\n */\n @Prop({ reflect: true, mutable: true })\n errorDescription: string;\n\n /**\n * Changes the input field’s appearance to indicate successful input or\n * validation.\n */\n @Prop({ reflect: true })\n readonly success: boolean = false;\n\n /**\n * The maximum value that the input field can accept. Use this in combination\n * with min to create a range of valid values.\n */\n @Prop({ reflect: true })\n readonly max: number;\n\n /**\n * The minimum value that the input field can accept. Use this in combination\n * with max to create a range of valid values.\n */\n @Prop({ reflect: true })\n readonly min: number;\n\n /**\n * Define the increment value for the input field. It determines how much the\n * value will increase or decrease when the user clicks the stepper buttons.\n */\n @Prop({ reflect: true })\n readonly step: number = 1;\n\n /**\n * The value of the input field. It’s the text that users type in or the value\n * that you set programmatically. This is the main way to interact with the\n * input field, and it’s essential for creating forms that users can fill out.\n */\n @Prop({ reflect: true, mutable: true })\n value: number;\n\n /**\n * Applies focus to the input field as soon as the component is mounted. This\n * is equivalent to setting the native autofocus attribute on an <input>\n * element.\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 EVENTS\n\n /**\n * Emitted when the input value changes.\n * @bind value\n */\n @Event()\n valueChanged: EventEmitter<number>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('value')\n watchValueHandler(newValue: number) {\n this.valueChanged.emit(newValue);\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region METHODS\n\n private handleInput = (event: Event) => {\n const input = event.target as HTMLInputElement;\n this.value = Number(input.value);\n };\n\n private handleInputContainerClick = () => {\n this.inputElement.focus();\n };\n\n private handlePlus = () => {\n this.inputElement.stepUp();\n this.value = Number(this.inputElement.value);\n };\n\n private handleMinus = () => {\n this.inputElement.stepDown();\n this.value = Number(this.inputElement.value);\n };\n\n private isMinValueReached = (): boolean => {\n return this.min !== undefined && this.value <= this.min;\n };\n\n private isMaxValueReached = (): boolean => {\n return this.max !== undefined && this.value >= this.max;\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillRender() {\n if (this.message) {\n this.description = this.message;\n }\n\n if (this.validation) {\n this.errorDescription = this.validation;\n this.error = true;\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n {(this.label || this.el.querySelector('[slot=\"label\"]')) && (\n <label htmlFor={this.inputId}>\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n\n <div class=\"input-wrapper\">\n <slot name=\"before-input\"></slot>\n\n <div class=\"input-container\" onClick={this.handleInputContainerClick}>\n <slot name=\"leading-input\"></slot>\n <input\n id={this.inputId}\n ref={e => (this.inputElement = e)}\n placeholder={this.placeholder}\n name={this.name}\n type=\"number\"\n autofocus={this.autofocus}\n required={this.required}\n max={this.max}\n min={this.min}\n step={this.step}\n value={this.value}\n disabled={this.disabled}\n readOnly={this.readonly}\n onInput={this.handleInput}\n />\n {this.error && (\n <nv-icon name=\"alert-circle\" class=\"validation\" size=\"md\" />\n )}\n {this.success && (\n <nv-icon name=\"circle-check\" class=\"validation\" size=\"md\" />\n )}\n <div class=\"stepper-spacer\"></div>\n <div class=\"stepper\">\n <nv-icon\n name=\"minus\"\n size=\"md\"\n onClick={this.handleMinus}\n class={clsx({ disabled: this.isMinValueReached() })}\n />\n <nv-icon\n name=\"plus\"\n size=\"md\"\n onClick={this.handlePlus}\n class={clsx({ disabled: this.isMaxValueReached() })}\n />\n </div>\n </div>\n\n <slot name=\"after-input\"></slot>\n </div>\n\n {(this.description ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n\n {(this.errorDescription ||\n this.el.querySelector('[slot=\"error-description\"]')) && (\n <div hidden={!this.error} class=\"error-description\">\n <slot name=\"error-description\">{this.errorDescription}</slot>\n </div>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"mappings":"wIAAA,MAAMA,EAAmB,k/OACzB,MAAAC,EAAeD,E,MC0BFE,EAAa,MAN1B,WAAAC,CAAAC,G,qDAsCWC,KAAAC,QAAkBC,IAyClBF,KAAAG,SAAoB,MAQpBH,KAAAI,SAAoB,MAOpBJ,KAAAK,SAAoB,MAQ7BL,KAAAM,MAAiB,MAgBRN,KAAAO,QAAmB,MAqBnBP,KAAAQ,KAAe,EAiBfR,KAAAS,UAAqB,MA0BtBT,KAAAU,YAAeC,IACrB,MAAMC,EAAQD,EAAME,OACpBb,KAAKc,MAAQC,OAAOH,EAAME,MAAM,EAG1Bd,KAAAgB,0BAA4B,KAClChB,KAAKiB,aAAaC,OAAO,EAGnBlB,KAAAmB,WAAa,KACnBnB,KAAKiB,aAAaG,SAClBpB,KAAKc,MAAQC,OAAOf,KAAKiB,aAAaH,MAAM,EAGtCd,KAAAqB,YAAc,KACpBrB,KAAKiB,aAAaK,WAClBtB,KAAKc,MAAQC,OAAOf,KAAKiB,aAAaH,MAAM,EAGtCd,KAAAuB,kBAAoB,IACnBvB,KAAKwB,MAAQC,WAAazB,KAAKc,OAASd,KAAKwB,IAG9CxB,KAAA0B,kBAAoB,IACnB1B,KAAK2B,MAAQF,WAAazB,KAAKc,OAASd,KAAK2B,G,CAhCtD,iBAAAC,CAAkBC,GAChB7B,KAAK8B,aAAaC,KAAKF,E,CAsCzB,mBAAAG,GACE,GAAIhC,KAAKiC,QAAS,CAChBjC,KAAKkC,YAAclC,KAAKiC,O,CAG1B,GAAIjC,KAAKmC,WAAY,CACnBnC,KAAKoC,iBAAmBpC,KAAKmC,WAC7BnC,KAAKM,MAAQ,I,EAQjB,MAAA+B,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,6CACDxC,KAAKyC,OAASzC,KAAK0C,GAAGC,cAAc,oBACpCL,EAAA,SAAAE,IAAA,2CAAOI,QAAS5C,KAAKC,SACnBqC,EAAA,QAAAE,IAAA,2CAAMK,KAAK,SAAS7C,KAAKyC,QAI7BH,EAAA,OAAAE,IAAA,2CAAKM,MAAM,iBACTR,EAAA,QAAAE,IAAA,2CAAMK,KAAK,iBAEXP,EAAA,OAAAE,IAAA,2CAAKM,MAAM,kBAAkBC,QAAS/C,KAAKgB,2BACzCsB,EAAA,QAAAE,IAAA,2CAAMK,KAAK,kBACXP,EAAA,SAAAE,IAAA,2CACEQ,GAAIhD,KAAKC,QACTgD,IAAKC,GAAMlD,KAAKiB,aAAeiC,EAC/BC,YAAanD,KAAKmD,YAClBN,KAAM7C,KAAK6C,KACXO,KAAK,SACL3C,UAAWT,KAAKS,UAChBJ,SAAUL,KAAKK,SACfsB,IAAK3B,KAAK2B,IACVH,IAAKxB,KAAKwB,IACVhB,KAAMR,KAAKQ,KACXM,MAAOd,KAAKc,MACZX,SAAUH,KAAKG,SACfkD,SAAUrD,KAAKI,SACfkD,QAAStD,KAAKU,cAEfV,KAAKM,OACJgC,EAAA,WAAAE,IAAA,2CAASK,KAAK,eAAeC,MAAM,aAAaS,KAAK,OAEtDvD,KAAKO,SACJ+B,EAAA,WAAAE,IAAA,2CAASK,KAAK,eAAeC,MAAM,aAAaS,KAAK,OAEvDjB,EAAA,OAAAE,IAAA,2CAAKM,MAAM,mBACXR,EAAA,OAAAE,IAAA,2CAAKM,MAAM,WACTR,EAAA,WAAAE,IAAA,2CACEK,KAAK,QACLU,KAAK,KACLR,QAAS/C,KAAKqB,YACdyB,MAAOU,EAAK,CAAErD,SAAUH,KAAKuB,wBAE/Be,EAAA,WAAAE,IAAA,2CACEK,KAAK,OACLU,KAAK,KACLR,QAAS/C,KAAKmB,WACd2B,MAAOU,EAAK,CAAErD,SAAUH,KAAK0B,0BAKnCY,EAAA,QAAAE,IAAA,2CAAMK,KAAK,kBAGX7C,KAAKkC,aACLlC,KAAK0C,GAAGC,cAAc,0BACtBL,EAAA,OAAAE,IAAA,2CAAKM,MAAM,eACTR,EAAA,QAAAE,IAAA,2CAAMK,KAAK,eAAe7C,KAAKkC,eAIjClC,KAAKoC,kBACLpC,KAAK0C,GAAGC,cAAc,gCACtBL,EAAA,OAAAE,IAAA,2CAAKiB,QAASzD,KAAKM,MAAOwC,MAAM,qBAC9BR,EAAA,QAAAE,IAAA,2CAAMK,KAAK,qBAAqB7C,KAAKoC,mB","ignoreList":[]}