@nova-design-system/nova-webcomponents 3.0.0-beta.36 → 3.0.0-beta.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (584) hide show
  1. package/dist/blazor-docs.json +6242 -4908
  2. package/dist/cjs/{app-globals-6b0931bc.js → app-globals-bd4d701e.js} +2 -2
  3. package/dist/cjs/{app-globals-6b0931bc.js.map → app-globals-bd4d701e.js.map} +1 -1
  4. package/dist/cjs/{constants-9525a915.js → constants-69b40456.js} +15 -8
  5. package/dist/cjs/constants-69b40456.js.map +1 -0
  6. package/dist/cjs/events.utils-52846a7d.js +32 -0
  7. package/dist/cjs/events.utils-52846a7d.js.map +1 -0
  8. package/dist/cjs/{grow.animation-46e7ae4b.js → grow.animation-a1f0bc22.js} +1 -29
  9. package/dist/cjs/grow.animation-a1f0bc22.js.map +1 -0
  10. package/dist/cjs/{index-ddc37f87.js → index-5910ba06.js} +75 -18
  11. package/dist/{native/p-9b093b92.js.map → cjs/index-5910ba06.js.map} +1 -1
  12. package/dist/cjs/index.cjs.js +6 -3
  13. package/dist/cjs/index.cjs.js.map +1 -1
  14. package/dist/cjs/loader.cjs.js +3 -3
  15. package/dist/cjs/native.cjs.js +3 -3
  16. package/dist/cjs/nv-alert.cjs.entry.js +3 -3
  17. package/dist/cjs/nv-alert.cjs.entry.js.map +1 -1
  18. package/dist/cjs/nv-avatar.cjs.entry.js +2 -2
  19. package/dist/cjs/nv-badge_2.cjs.entry.js +3 -3
  20. package/dist/cjs/nv-badge_2.cjs.entry.js.map +1 -1
  21. package/dist/cjs/nv-base.cjs.entry.js +1 -1
  22. package/dist/cjs/nv-breadcrumb.cjs.entry.js +4 -3
  23. package/dist/cjs/nv-breadcrumb.cjs.entry.js.map +1 -1
  24. package/dist/cjs/nv-breadcrumbs.cjs.entry.js +3 -3
  25. package/dist/cjs/nv-breadcrumbs.cjs.entry.js.map +1 -1
  26. package/dist/cjs/nv-button.cjs.entry.js +24 -4
  27. package/dist/cjs/nv-button.cjs.entry.js.map +1 -1
  28. package/dist/cjs/nv-col.cjs.entry.js +2 -2
  29. package/dist/cjs/nv-datagrid.cjs.entry.js +3 -3
  30. package/dist/cjs/nv-datagridbody.cjs.entry.js +2 -2
  31. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +2 -2
  32. package/dist/cjs/nv-datagriddatacell.cjs.entry.js +2 -2
  33. package/dist/cjs/nv-datagridhead.cjs.entry.js +2 -2
  34. package/dist/cjs/nv-datagridrow.cjs.entry.js +2 -2
  35. package/dist/cjs/nv-dialog.cjs.entry.js +758 -0
  36. package/dist/cjs/nv-dialog.cjs.entry.js.map +1 -0
  37. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +132 -0
  38. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js.map +1 -0
  39. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +34 -25
  40. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js.map +1 -1
  41. package/dist/cjs/nv-fielddropdown.cjs.entry.js +52 -15
  42. package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
  43. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +2 -2
  44. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +6 -3
  45. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
  46. package/dist/cjs/nv-fieldnumber.cjs.entry.js +12 -12
  47. package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
  48. package/dist/cjs/nv-fieldpassword.cjs.entry.js +4 -4
  49. package/dist/cjs/nv-fieldradio.cjs.entry.js +5 -5
  50. package/dist/cjs/nv-fieldradio.cjs.entry.js.map +1 -1
  51. package/dist/cjs/nv-fieldselect.cjs.entry.js +49 -18
  52. package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
  53. package/dist/cjs/nv-fieldtext.cjs.entry.js +8 -5
  54. package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -1
  55. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +13 -13
  56. package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -1
  57. package/dist/cjs/nv-fieldtime.cjs.entry.js +994 -0
  58. package/dist/cjs/nv-fieldtime.cjs.entry.js.map +1 -0
  59. package/dist/cjs/nv-icon.cjs.entry.js +3 -3
  60. package/dist/cjs/nv-iconbutton.cjs.entry.js +125 -0
  61. package/dist/cjs/nv-iconbutton.cjs.entry.js.map +1 -0
  62. package/dist/cjs/nv-loader.cjs.entry.js +35 -0
  63. package/dist/cjs/nv-loader.cjs.entry.js.map +1 -0
  64. package/dist/cjs/nv-menu.cjs.entry.js +66 -7
  65. package/dist/cjs/nv-menu.cjs.entry.js.map +1 -1
  66. package/dist/cjs/nv-menuitem.cjs.entry.js +2 -2
  67. package/dist/cjs/nv-popover.cjs.entry.js +11 -22
  68. package/dist/cjs/nv-popover.cjs.entry.js.map +1 -1
  69. package/dist/cjs/nv-row.cjs.entry.js +2 -2
  70. package/dist/cjs/nv-stack.cjs.entry.js +2 -2
  71. package/dist/cjs/nv-table.cjs.entry.js +3 -3
  72. package/dist/cjs/nv-tablebody.cjs.entry.js +2 -2
  73. package/dist/cjs/nv-tablecolumn.cjs.entry.js +2 -2
  74. package/dist/cjs/nv-tabledatacell.cjs.entry.js +2 -2
  75. package/dist/cjs/nv-tablehead.cjs.entry.js +2 -2
  76. package/dist/cjs/nv-tablerow.cjs.entry.js +2 -2
  77. package/dist/cjs/nv-toggle.cjs.entry.js +82 -0
  78. package/dist/cjs/nv-toggle.cjs.entry.js.map +1 -0
  79. package/dist/cjs/nv-tooltip.cjs.entry.js +2 -2
  80. package/dist/cjs/string.utils-9c581350.js +25 -0
  81. package/dist/cjs/string.utils-9c581350.js.map +1 -0
  82. package/dist/collection/collection-manifest.json +5 -1
  83. package/dist/collection/components/nv-alert/nv-alert.css +5 -5
  84. package/dist/collection/components/nv-badge/nv-badge.css +10 -10
  85. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.css +57 -4
  86. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js +2 -2
  87. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js.map +1 -1
  88. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.css +1 -1
  89. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js +4 -14
  90. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js.map +1 -1
  91. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.js +1 -1
  92. package/dist/collection/components/nv-button/nv-button.docs.js +6 -1
  93. package/dist/collection/components/nv-button/nv-button.docs.js.map +1 -1
  94. package/dist/collection/components/nv-button/nv-button.js +56 -1
  95. package/dist/collection/components/nv-button/nv-button.js.map +1 -1
  96. package/dist/collection/components/nv-button/styles/nv-button.css +50 -10
  97. package/dist/collection/components/nv-col/nv-col.js +1 -1
  98. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +1 -0
  99. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +1 -1
  100. package/dist/collection/components/nv-datagrid/nv-datagrid.js +2 -2
  101. package/dist/collection/components/nv-datagridbody/nv-datagridbody.js +1 -1
  102. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +1 -1
  103. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.js +1 -1
  104. package/dist/collection/components/nv-datagridhead/nv-datagridhead.js +1 -1
  105. package/dist/collection/components/nv-datagridrow/nv-datagridrow.js +1 -1
  106. package/dist/collection/components/nv-dialog/nv-dialog.css +43 -0
  107. package/dist/collection/components/nv-dialog/nv-dialog.docs.js +79 -0
  108. package/dist/collection/components/nv-dialog/nv-dialog.docs.js.map +1 -0
  109. package/dist/collection/components/nv-dialog/nv-dialog.js +510 -0
  110. package/dist/collection/components/nv-dialog/nv-dialog.js.map +1 -0
  111. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.css +8 -0
  112. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.docs.js +6 -0
  113. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.docs.js.map +1 -0
  114. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js +267 -0
  115. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js.map +1 -0
  116. package/dist/collection/components/nv-dialogheader/nv-dialogheader.css +25 -0
  117. package/dist/collection/components/nv-dialogheader/nv-dialogheader.docs.js +6 -0
  118. package/dist/collection/components/nv-dialogheader/nv-dialogheader.docs.js.map +1 -0
  119. package/dist/collection/components/nv-dialogheader/nv-dialogheader.js +87 -0
  120. package/dist/collection/components/nv-dialogheader/nv-dialogheader.js.map +1 -0
  121. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.css +1 -1
  122. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +45 -30
  123. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js.map +1 -1
  124. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +28 -0
  125. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +1 -1
  126. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +87 -22
  127. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
  128. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +1 -1
  129. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +1 -1
  130. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +7 -1
  131. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js.map +1 -1
  132. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +15 -6
  133. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
  134. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js +15 -14
  135. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js.map +1 -1
  136. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +13 -13
  137. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +1 -1
  138. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js +1 -0
  139. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js.map +1 -1
  140. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +3 -3
  141. package/dist/collection/components/nv-fieldradio/nv-fieldradio.css +1 -1
  142. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +6 -6
  143. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js.map +1 -1
  144. package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js +30 -0
  145. package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js.map +1 -1
  146. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +72 -19
  147. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js.map +1 -1
  148. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +10 -7
  149. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +1 -1
  150. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +14 -14
  151. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js.map +1 -1
  152. package/dist/collection/components/nv-fieldtime/nv-fieldtime.css +261 -0
  153. package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js +110 -0
  154. package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js.map +1 -0
  155. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +1366 -0
  156. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js.map +1 -0
  157. package/dist/collection/components/nv-icon/nv-icon.js +1 -1
  158. package/dist/collection/components/nv-iconbutton/nv-iconbutton.css +4 -4
  159. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
  160. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  161. package/dist/collection/components/nv-menu/nv-menu.docs.js +61 -0
  162. package/dist/collection/components/nv-menu/nv-menu.docs.js.map +1 -1
  163. package/dist/collection/components/nv-menu/nv-menu.js +92 -6
  164. package/dist/collection/components/nv-menu/nv-menu.js.map +1 -1
  165. package/dist/collection/components/nv-menuitem/nv-menuitem.js +1 -1
  166. package/dist/collection/components/nv-popover/nv-popover.docs.js +9 -9
  167. package/dist/collection/components/nv-popover/nv-popover.docs.js.map +1 -1
  168. package/dist/collection/components/nv-popover/nv-popover.js +2 -14
  169. package/dist/collection/components/nv-popover/nv-popover.js.map +1 -1
  170. package/dist/collection/components/nv-row/nv-row.js +1 -1
  171. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  172. package/dist/collection/components/nv-table/nv-table.docs.js +1 -0
  173. package/dist/collection/components/nv-table/nv-table.docs.js.map +1 -1
  174. package/dist/collection/components/nv-table/nv-table.js +2 -2
  175. package/dist/collection/components/nv-tablebody/nv-tablebody.js +1 -1
  176. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js +1 -1
  177. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.js +1 -1
  178. package/dist/collection/components/nv-tablehead/nv-tablehead.js +1 -1
  179. package/dist/collection/components/nv-tablerow/nv-tablerow.js +1 -1
  180. package/dist/collection/components/{nv-fieldtoggle/nv-fieldtoggle.css → nv-toggle/nv-toggle.css} +22 -22
  181. package/dist/collection/components/{nv-fieldtoggle/nv-fieldtoggle.docs.js → nv-toggle/nv-toggle.docs.js} +14 -14
  182. package/dist/collection/components/nv-toggle/nv-toggle.docs.js.map +1 -0
  183. package/dist/collection/components/{nv-fieldtoggle/nv-fieldtoggle.js → nv-toggle/nv-toggle.js} +11 -10
  184. package/dist/collection/components/nv-toggle/nv-toggle.js.map +1 -0
  185. package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
  186. package/dist/collection/dev/dev-components.js +1 -1
  187. package/dist/collection/dev/dev-components.js.map +1 -1
  188. package/dist/collection/index.js +2 -0
  189. package/dist/collection/index.js.map +1 -1
  190. package/dist/collection/templates/navigation.docs.js +12 -2
  191. package/dist/collection/templates/navigation.docs.js.map +1 -1
  192. package/dist/collection/utils/constants.js +11 -5
  193. package/dist/collection/utils/constants.js.map +1 -1
  194. package/dist/collection/utils/string.utils.js +14 -0
  195. package/dist/collection/utils/string.utils.js.map +1 -0
  196. package/dist/components/index.js +5 -4
  197. package/dist/components/index.js.map +1 -1
  198. package/dist/components/nv-alert.js +4 -4
  199. package/dist/components/nv-alert.js.map +1 -1
  200. package/dist/components/nv-avatar.js +3 -3
  201. package/dist/components/nv-badge.js +1 -1
  202. package/dist/components/nv-base.js +1 -1
  203. package/dist/components/nv-breadcrumb.js +7 -12
  204. package/dist/components/nv-breadcrumb.js.map +1 -1
  205. package/dist/components/nv-breadcrumbs.js +3 -3
  206. package/dist/components/nv-breadcrumbs.js.map +1 -1
  207. package/dist/components/nv-button.js +1 -141
  208. package/dist/components/nv-button.js.map +1 -1
  209. package/dist/components/nv-col.js +2 -2
  210. package/dist/components/nv-datagrid.js +3 -3
  211. package/dist/components/nv-datagridbody.js +2 -2
  212. package/dist/components/nv-datagridcolumn.js +2 -2
  213. package/dist/components/nv-datagriddatacell.js +2 -2
  214. package/dist/components/nv-datagridhead.js +2 -2
  215. package/dist/components/nv-datagridrow.js +2 -2
  216. package/dist/components/{nv-fieldtoggle.d.ts → nv-dialog.d.ts} +4 -4
  217. package/dist/components/nv-dialog.js +816 -0
  218. package/dist/components/nv-dialog.js.map +1 -0
  219. package/dist/components/nv-dialogfooter.d.ts +11 -0
  220. package/dist/components/nv-dialogfooter.js +8 -0
  221. package/dist/components/nv-dialogfooter.js.map +1 -0
  222. package/dist/components/nv-dialogheader.d.ts +11 -0
  223. package/dist/components/nv-dialogheader.js +8 -0
  224. package/dist/components/nv-dialogheader.js.map +1 -0
  225. package/dist/components/nv-fieldcheckbox.js +1 -1
  226. package/dist/components/nv-fielddropdown.js +61 -21
  227. package/dist/components/nv-fielddropdown.js.map +1 -1
  228. package/dist/components/nv-fielddropdownitem.js +1 -1
  229. package/dist/components/nv-fielddropdownitemcheck.js +1 -1
  230. package/dist/components/nv-fieldmultiselect.js +14 -11
  231. package/dist/components/nv-fieldmultiselect.js.map +1 -1
  232. package/dist/components/nv-fieldnumber.js +13 -13
  233. package/dist/components/nv-fieldnumber.js.map +1 -1
  234. package/dist/components/nv-fieldpassword.js +7 -7
  235. package/dist/components/nv-fieldradio.js +5 -5
  236. package/dist/components/nv-fieldradio.js.map +1 -1
  237. package/dist/components/nv-fieldselect.js +55 -21
  238. package/dist/components/nv-fieldselect.js.map +1 -1
  239. package/dist/components/nv-fieldtext.js +9 -6
  240. package/dist/components/nv-fieldtext.js.map +1 -1
  241. package/dist/components/nv-fieldtextarea.js +13 -13
  242. package/dist/components/nv-fieldtextarea.js.map +1 -1
  243. package/dist/components/nv-fieldtime.d.ts +11 -0
  244. package/dist/components/nv-fieldtime.js +1054 -0
  245. package/dist/components/nv-fieldtime.js.map +1 -0
  246. package/dist/components/nv-icon.js +1 -1
  247. package/dist/components/nv-iconbutton.js +1 -1
  248. package/dist/components/nv-loader.js +1 -1
  249. package/dist/components/nv-menu.js +90 -10
  250. package/dist/components/nv-menu.js.map +1 -1
  251. package/dist/components/nv-menuitem.js +1 -80
  252. package/dist/components/nv-menuitem.js.map +1 -1
  253. package/dist/components/nv-popover.js +1 -1
  254. package/dist/components/nv-row.js +2 -2
  255. package/dist/components/nv-stack.js +2 -2
  256. package/dist/components/nv-table.js +3 -3
  257. package/dist/components/nv-tablebody.js +2 -2
  258. package/dist/components/nv-tablecolumn.js +2 -2
  259. package/dist/components/nv-tabledatacell.js +2 -2
  260. package/dist/components/nv-tablehead.js +2 -2
  261. package/dist/components/nv-tablerow.js +2 -2
  262. package/dist/components/nv-toggle.d.ts +11 -0
  263. package/dist/components/nv-toggle.js +109 -0
  264. package/dist/components/nv-toggle.js.map +1 -0
  265. package/dist/components/nv-tooltip.js +1 -1
  266. package/dist/components/{p-7a19fef7.js → p-11fcdad9.js} +4 -4
  267. package/dist/components/{p-7a19fef7.js.map → p-11fcdad9.js.map} +1 -1
  268. package/dist/components/{p-7c0db67e.js → p-16badb3b.js} +4 -4
  269. package/dist/components/{p-7c0db67e.js.map → p-16badb3b.js.map} +1 -1
  270. package/dist/components/{p-3a65a05e.js → p-17714233.js} +40 -28
  271. package/dist/components/p-17714233.js.map +1 -0
  272. package/dist/components/{p-0b30dd1b.js → p-18d221e3.js} +3 -3
  273. package/dist/components/{p-0b30dd1b.js.map → p-18d221e3.js.map} +1 -1
  274. package/dist/components/p-2768d2c0.js +57 -0
  275. package/dist/components/p-2768d2c0.js.map +1 -0
  276. package/dist/components/p-2baea6ba.js +84 -0
  277. package/dist/components/p-2baea6ba.js.map +1 -0
  278. package/dist/components/{p-63afc71f.js → p-3859dc5c.js} +4 -4
  279. package/dist/components/{p-63afc71f.js.map → p-3859dc5c.js.map} +1 -1
  280. package/dist/components/{p-2abfadb8.js → p-4938572a.js} +4 -4
  281. package/dist/components/{p-2abfadb8.js.map → p-4938572a.js.map} +1 -1
  282. package/dist/components/{p-74407727.js → p-56f71851.js} +16 -9
  283. package/dist/components/p-56f71851.js.map +1 -0
  284. package/dist/components/{p-3b209e94.js → p-77d0fedc.js} +43 -3
  285. package/dist/components/p-77d0fedc.js.map +1 -0
  286. package/dist/components/p-91bf0cb6.js +166 -0
  287. package/dist/components/p-91bf0cb6.js.map +1 -0
  288. package/dist/components/{p-afa1c98e.js → p-98ff0e5f.js} +37 -28
  289. package/dist/components/p-98ff0e5f.js.map +1 -0
  290. package/dist/components/{p-5b98036c.js → p-a01bdf02.js} +4 -4
  291. package/dist/components/{p-5b98036c.js.map → p-a01bdf02.js.map} +1 -1
  292. package/dist/components/p-a5c8eee9.js +22 -0
  293. package/dist/components/p-a5c8eee9.js.map +1 -0
  294. package/dist/components/{p-78e7c594.js → p-a9a52105.js} +6 -17
  295. package/dist/components/p-a9a52105.js.map +1 -0
  296. package/dist/components/p-d429a343.js +28 -0
  297. package/dist/components/p-d429a343.js.map +1 -0
  298. package/dist/components/p-de8411ee.js +128 -0
  299. package/dist/components/p-de8411ee.js.map +1 -0
  300. package/dist/components/{p-d3b1c116.js → p-e431a0ad.js} +6 -6
  301. package/dist/components/{p-d3b1c116.js.map → p-e431a0ad.js.map} +1 -1
  302. package/dist/docs.json +2211 -911
  303. package/dist/esm/{app-globals-246d6b7c.js → app-globals-0a94217b.js} +2 -2
  304. package/dist/esm/{app-globals-246d6b7c.js.map → app-globals-0a94217b.js.map} +1 -1
  305. package/dist/esm/{constants-7b642e1d.js → constants-0181211f.js} +16 -9
  306. package/dist/esm/constants-0181211f.js.map +1 -0
  307. package/dist/esm/events.utils-fe1d907f.js +28 -0
  308. package/dist/esm/events.utils-fe1d907f.js.map +1 -0
  309. package/dist/esm/{grow.animation-88a8ee8f.js → grow.animation-cac164da.js} +2 -27
  310. package/dist/esm/grow.animation-cac164da.js.map +1 -0
  311. package/dist/esm/{index-cd557d0a.js → index-fac2d5d2.js} +75 -19
  312. package/dist/esm/index-fac2d5d2.js.map +1 -0
  313. package/dist/esm/index.js +4 -3
  314. package/dist/esm/index.js.map +1 -1
  315. package/dist/esm/loader.js +4 -4
  316. package/dist/esm/native.js +4 -4
  317. package/dist/esm/nv-alert.entry.js +3 -3
  318. package/dist/esm/nv-alert.entry.js.map +1 -1
  319. package/dist/esm/nv-avatar.entry.js +2 -2
  320. package/dist/esm/nv-badge_2.entry.js +3 -3
  321. package/dist/esm/nv-badge_2.entry.js.map +1 -1
  322. package/dist/esm/nv-base.entry.js +1 -1
  323. package/dist/esm/nv-breadcrumb.entry.js +4 -3
  324. package/dist/esm/nv-breadcrumb.entry.js.map +1 -1
  325. package/dist/esm/nv-breadcrumbs.entry.js +3 -3
  326. package/dist/esm/nv-breadcrumbs.entry.js.map +1 -1
  327. package/dist/esm/nv-button.entry.js +24 -4
  328. package/dist/esm/nv-button.entry.js.map +1 -1
  329. package/dist/esm/nv-col.entry.js +2 -2
  330. package/dist/esm/nv-datagrid.entry.js +3 -3
  331. package/dist/esm/nv-datagridbody.entry.js +2 -2
  332. package/dist/esm/nv-datagridcolumn.entry.js +2 -2
  333. package/dist/esm/nv-datagriddatacell.entry.js +2 -2
  334. package/dist/esm/nv-datagridhead.entry.js +2 -2
  335. package/dist/esm/nv-datagridrow.entry.js +2 -2
  336. package/dist/esm/nv-dialog.entry.js +754 -0
  337. package/dist/esm/nv-dialog.entry.js.map +1 -0
  338. package/dist/esm/nv-dialogfooter_2.entry.js +127 -0
  339. package/dist/esm/nv-dialogfooter_2.entry.js.map +1 -0
  340. package/dist/esm/nv-fieldcheckbox.entry.js +34 -25
  341. package/dist/esm/nv-fieldcheckbox.entry.js.map +1 -1
  342. package/dist/esm/nv-fielddropdown.entry.js +52 -15
  343. package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
  344. package/dist/esm/nv-fielddropdownitem.entry.js +2 -2
  345. package/dist/esm/nv-fieldmultiselect.entry.js +6 -3
  346. package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
  347. package/dist/esm/nv-fieldnumber.entry.js +12 -12
  348. package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
  349. package/dist/esm/nv-fieldpassword.entry.js +4 -4
  350. package/dist/esm/nv-fieldradio.entry.js +5 -5
  351. package/dist/esm/nv-fieldradio.entry.js.map +1 -1
  352. package/dist/esm/nv-fieldselect.entry.js +49 -18
  353. package/dist/esm/nv-fieldselect.entry.js.map +1 -1
  354. package/dist/esm/nv-fieldtext.entry.js +8 -5
  355. package/dist/esm/nv-fieldtext.entry.js.map +1 -1
  356. package/dist/esm/nv-fieldtextarea.entry.js +13 -13
  357. package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
  358. package/dist/esm/nv-fieldtime.entry.js +990 -0
  359. package/dist/esm/nv-fieldtime.entry.js.map +1 -0
  360. package/dist/esm/nv-icon.entry.js +3 -3
  361. package/dist/esm/nv-iconbutton.entry.js +121 -0
  362. package/dist/esm/nv-iconbutton.entry.js.map +1 -0
  363. package/dist/esm/nv-loader.entry.js +31 -0
  364. package/dist/esm/nv-loader.entry.js.map +1 -0
  365. package/dist/esm/nv-menu.entry.js +66 -7
  366. package/dist/esm/nv-menu.entry.js.map +1 -1
  367. package/dist/esm/nv-menuitem.entry.js +2 -2
  368. package/dist/esm/nv-popover.entry.js +5 -16
  369. package/dist/esm/nv-popover.entry.js.map +1 -1
  370. package/dist/esm/nv-row.entry.js +2 -2
  371. package/dist/esm/nv-stack.entry.js +2 -2
  372. package/dist/esm/nv-table.entry.js +3 -3
  373. package/dist/esm/nv-tablebody.entry.js +2 -2
  374. package/dist/esm/nv-tablecolumn.entry.js +2 -2
  375. package/dist/esm/nv-tabledatacell.entry.js +2 -2
  376. package/dist/esm/nv-tablehead.entry.js +2 -2
  377. package/dist/esm/nv-tablerow.entry.js +2 -2
  378. package/dist/esm/nv-toggle.entry.js +78 -0
  379. package/dist/esm/nv-toggle.entry.js.map +1 -0
  380. package/dist/esm/nv-tooltip.entry.js +2 -2
  381. package/dist/esm/string.utils-16aed4a7.js +22 -0
  382. package/dist/esm/string.utils-16aed4a7.js.map +1 -0
  383. package/dist/native/index.esm.js +1 -1
  384. package/dist/native/index.esm.js.map +1 -1
  385. package/dist/native/native.css +1 -1
  386. package/dist/native/native.esm.js +1 -1
  387. package/dist/native/native.esm.js.map +1 -1
  388. package/dist/native/p-02bb8184.entry.js +2 -0
  389. package/dist/native/p-0bf35abc.entry.js +2 -0
  390. package/dist/native/p-0bf35abc.entry.js.map +1 -0
  391. package/dist/native/p-10ba289c.entry.js +2 -0
  392. package/dist/native/{p-826f1d28.entry.js → p-208accf0.entry.js} +2 -2
  393. package/dist/native/p-208accf0.entry.js.map +1 -0
  394. package/dist/native/p-211f7b19.entry.js +2 -0
  395. package/dist/native/p-211f7b19.entry.js.map +1 -0
  396. package/dist/native/p-2aebf31b.entry.js +2 -0
  397. package/dist/native/p-3a8a9371.entry.js +2 -0
  398. package/dist/native/p-3a8a9371.entry.js.map +1 -0
  399. package/dist/native/{p-6bb2c88f.entry.js → p-3c004551.entry.js} +2 -2
  400. package/dist/native/p-3c004551.entry.js.map +1 -0
  401. package/dist/native/p-46553ffd.entry.js +2 -0
  402. package/dist/native/p-46553ffd.entry.js.map +1 -0
  403. package/dist/native/{p-f7db0785.entry.js → p-4d0caf4a.entry.js} +3 -3
  404. package/dist/native/p-4f11286d.entry.js +2 -0
  405. package/dist/native/{p-40f4828a.entry.js.map → p-4f11286d.entry.js.map} +1 -1
  406. package/dist/native/p-51ad8bcd.entry.js +2 -0
  407. package/dist/native/p-51ad8bcd.entry.js.map +1 -0
  408. package/dist/native/p-5439afb8.js +3 -0
  409. package/dist/native/p-5439afb8.js.map +1 -0
  410. package/dist/native/{p-74407727.js → p-56f71851.js} +2 -2
  411. package/dist/native/p-56f71851.js.map +1 -0
  412. package/dist/native/p-5f1a7e6e.entry.js +2 -0
  413. package/dist/native/p-5f1a7e6e.entry.js.map +1 -0
  414. package/dist/native/{p-575ea40b.entry.js → p-61d2cb2e.entry.js} +2 -2
  415. package/dist/native/{p-cd251f91.entry.js → p-6d68f133.entry.js} +2 -2
  416. package/dist/native/p-724ed8d7.entry.js +7 -0
  417. package/dist/native/p-724ed8d7.entry.js.map +1 -0
  418. package/dist/native/{p-e5fbe545.entry.js → p-75b1ea9f.entry.js} +2 -2
  419. package/dist/native/p-87083363.entry.js +2 -0
  420. package/dist/native/p-87083363.entry.js.map +1 -0
  421. package/dist/native/p-892052c2.entry.js +2 -0
  422. package/dist/native/p-8c1a6aa6.entry.js +2 -0
  423. package/dist/native/p-8c1a6aa6.entry.js.map +1 -0
  424. package/dist/native/p-8ee30013.entry.js +2 -0
  425. package/dist/native/{p-9341cf9d.entry.js.map → p-8ee30013.entry.js.map} +1 -1
  426. package/dist/native/{p-788712dd.entry.js → p-96902bb3.entry.js} +2 -2
  427. package/dist/native/p-99e7a452.entry.js +2 -0
  428. package/dist/native/p-99e7a452.entry.js.map +1 -0
  429. package/dist/native/p-9ac790b3.entry.js +2 -0
  430. package/dist/native/{p-18b227b5.entry.js.map → p-9ac790b3.entry.js.map} +1 -1
  431. package/dist/native/{p-3283505f.entry.js → p-9fb5db20.entry.js} +2 -2
  432. package/dist/native/p-a5c8eee9.js +2 -0
  433. package/dist/native/p-a5c8eee9.js.map +1 -0
  434. package/dist/native/{p-552e7ea4.entry.js → p-a998f8df.entry.js} +2 -2
  435. package/dist/native/p-aa2834e2.entry.js +2 -0
  436. package/dist/native/p-ab5a8ce5.entry.js +2 -0
  437. package/dist/native/p-beab7cbd.entry.js +2 -0
  438. package/dist/native/p-bfeda21c.entry.js +2 -0
  439. package/dist/native/p-bfeda21c.entry.js.map +1 -0
  440. package/dist/native/p-c1765831.js +2 -0
  441. package/dist/native/p-c1765831.js.map +1 -0
  442. package/dist/native/{p-7dfb4a60.entry.js → p-c51ee6dc.entry.js} +2 -2
  443. package/dist/native/p-c51ee6dc.entry.js.map +1 -0
  444. package/dist/native/{p-2063c768.entry.js → p-d24586ed.entry.js} +2 -2
  445. package/dist/native/p-d429a343.js +2 -0
  446. package/dist/native/p-d429a343.js.map +1 -0
  447. package/dist/native/{p-1e2bd4e3.entry.js → p-d4e56727.entry.js} +2 -2
  448. package/dist/native/p-d67b7502.entry.js +2 -0
  449. package/dist/native/p-d67b7502.entry.js.map +1 -0
  450. package/dist/native/p-d776ed48.entry.js +2 -0
  451. package/dist/native/p-d776ed48.entry.js.map +1 -0
  452. package/dist/native/p-dc9dd5a7.entry.js +2 -0
  453. package/dist/native/p-e192c25c.entry.js +2 -0
  454. package/dist/native/p-e192c25c.entry.js.map +1 -0
  455. package/dist/native/p-e3827605.entry.js +2 -0
  456. package/dist/native/{p-5d0dc7c8.entry.js.map → p-e3827605.entry.js.map} +1 -1
  457. package/dist/native/p-e5a7596b.entry.js +2 -0
  458. package/dist/native/p-e6f45df2.entry.js +2 -0
  459. package/dist/native/p-ed47a702.entry.js +2 -0
  460. package/dist/native/p-f30ce086.entry.js +2 -0
  461. package/dist/native/{p-eda8cd9d.entry.js.map → p-f30ce086.entry.js.map} +1 -1
  462. package/dist/native/p-f3fbdea6.js +2 -0
  463. package/dist/native/{p-f79752ca.entry.js → p-fd2955dd.entry.js} +2 -2
  464. package/dist/native/p-fd2955dd.entry.js.map +1 -0
  465. package/dist/types/components/nv-breadcrumb/nv-breadcrumb.d.ts +0 -1
  466. package/dist/types/components/nv-button/nv-button.d.ts +8 -0
  467. package/dist/types/components/nv-dialog/nv-dialog.d.ts +124 -0
  468. package/dist/types/components/nv-dialog/nv-dialog.docs.d.ts +4 -0
  469. package/dist/types/components/nv-dialogfooter/nv-dialogfooter.d.ts +63 -0
  470. package/dist/types/components/nv-dialogfooter/nv-dialogfooter.docs.d.ts +4 -0
  471. package/dist/types/components/nv-dialogheader/nv-dialogheader.d.ts +20 -0
  472. package/dist/types/components/nv-dialogheader/nv-dialogheader.docs.d.ts +4 -0
  473. package/dist/types/components/nv-fieldcheckbox/nv-fieldcheckbox.d.ts +14 -10
  474. package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +34 -10
  475. package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +6 -2
  476. package/dist/types/components/nv-fieldnumber/nv-fieldnumber.d.ts +4 -4
  477. package/dist/types/components/nv-fieldradio/nv-fieldradio.d.ts +2 -2
  478. package/dist/types/components/nv-fieldselect/nv-fieldselect.d.ts +20 -6
  479. package/dist/types/components/nv-fieldtext/nv-fieldtext.d.ts +5 -4
  480. package/dist/types/components/nv-fieldtextarea/nv-fieldtextarea.d.ts +3 -3
  481. package/dist/types/components/nv-fieldtime/nv-fieldtime.d.ts +156 -0
  482. package/dist/types/components/nv-fieldtime/nv-fieldtime.docs.d.ts +4 -0
  483. package/dist/types/components/nv-menu/nv-menu.d.ts +20 -0
  484. package/dist/types/components/{nv-fieldtoggle/nv-fieldtoggle.d.ts → nv-toggle/nv-toggle.d.ts} +4 -4
  485. package/dist/types/components/nv-toggle/nv-toggle.docs.d.ts +4 -0
  486. package/dist/types/components.d.ts +519 -98
  487. package/dist/types/index.d.ts +1 -0
  488. package/dist/types/nova-docs.d.ts +19 -0
  489. package/dist/types/utils/constants.d.ts +6 -1
  490. package/dist/types/utils/string.utils.d.ts +9 -0
  491. package/dist/vscode-data.json +230 -34
  492. package/hydrate/index.js +2609 -442
  493. package/hydrate/index.mjs +2609 -442
  494. package/package.json +21 -9
  495. package/dist/cjs/constants-9525a915.js.map +0 -1
  496. package/dist/cjs/grow.animation-46e7ae4b.js.map +0 -1
  497. package/dist/cjs/index-ddc37f87.js.map +0 -1
  498. package/dist/cjs/nv-fieldtoggle.cjs.entry.js +0 -81
  499. package/dist/cjs/nv-fieldtoggle.cjs.entry.js.map +0 -1
  500. package/dist/cjs/nv-iconbutton_2.cjs.entry.js +0 -151
  501. package/dist/cjs/nv-iconbutton_2.cjs.entry.js.map +0 -1
  502. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.docs.js.map +0 -1
  503. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.js.map +0 -1
  504. package/dist/components/nv-fieldtoggle.js +0 -108
  505. package/dist/components/nv-fieldtoggle.js.map +0 -1
  506. package/dist/components/p-3a65a05e.js.map +0 -1
  507. package/dist/components/p-3b209e94.js.map +0 -1
  508. package/dist/components/p-74407727.js.map +0 -1
  509. package/dist/components/p-78e7c594.js.map +0 -1
  510. package/dist/components/p-afa1c98e.js.map +0 -1
  511. package/dist/esm/constants-7b642e1d.js.map +0 -1
  512. package/dist/esm/grow.animation-88a8ee8f.js.map +0 -1
  513. package/dist/esm/index-cd557d0a.js.map +0 -1
  514. package/dist/esm/nv-fieldtoggle.entry.js +0 -77
  515. package/dist/esm/nv-fieldtoggle.entry.js.map +0 -1
  516. package/dist/esm/nv-iconbutton_2.entry.js +0 -146
  517. package/dist/esm/nv-iconbutton_2.entry.js.map +0 -1
  518. package/dist/native/p-0a9a738c.entry.js +0 -2
  519. package/dist/native/p-0a9a738c.entry.js.map +0 -1
  520. package/dist/native/p-0f9262ed.entry.js +0 -2
  521. package/dist/native/p-18b227b5.entry.js +0 -2
  522. package/dist/native/p-225962f2.entry.js +0 -2
  523. package/dist/native/p-2ac838b8.entry.js +0 -2
  524. package/dist/native/p-38d3eee3.js +0 -2
  525. package/dist/native/p-3adf0c45.entry.js +0 -2
  526. package/dist/native/p-3adf0c45.entry.js.map +0 -1
  527. package/dist/native/p-40f4828a.entry.js +0 -2
  528. package/dist/native/p-44cc8b59.entry.js +0 -2
  529. package/dist/native/p-44cc8b59.entry.js.map +0 -1
  530. package/dist/native/p-4e056cd8.entry.js +0 -2
  531. package/dist/native/p-4e056cd8.entry.js.map +0 -1
  532. package/dist/native/p-4f30312d.entry.js +0 -2
  533. package/dist/native/p-4f30312d.entry.js.map +0 -1
  534. package/dist/native/p-4ffd5c51.entry.js +0 -2
  535. package/dist/native/p-52a7f936.entry.js +0 -2
  536. package/dist/native/p-5d0dc7c8.entry.js +0 -2
  537. package/dist/native/p-5e467b49.entry.js +0 -2
  538. package/dist/native/p-5f160072.entry.js +0 -2
  539. package/dist/native/p-6bb2c88f.entry.js.map +0 -1
  540. package/dist/native/p-6ea62d17.entry.js +0 -2
  541. package/dist/native/p-6ea62d17.entry.js.map +0 -1
  542. package/dist/native/p-74407727.js.map +0 -1
  543. package/dist/native/p-7dfb4a60.entry.js.map +0 -1
  544. package/dist/native/p-826f1d28.entry.js.map +0 -1
  545. package/dist/native/p-87b93cc2.entry.js +0 -2
  546. package/dist/native/p-8ae9aaf1.entry.js +0 -2
  547. package/dist/native/p-8f0984b0.entry.js +0 -2
  548. package/dist/native/p-8f0984b0.entry.js.map +0 -1
  549. package/dist/native/p-9341cf9d.entry.js +0 -2
  550. package/dist/native/p-967f1aee.entry.js +0 -2
  551. package/dist/native/p-967f1aee.entry.js.map +0 -1
  552. package/dist/native/p-9b093b92.js +0 -3
  553. package/dist/native/p-a37c2ac2.js +0 -2
  554. package/dist/native/p-a37c2ac2.js.map +0 -1
  555. package/dist/native/p-e8d181e6.entry.js +0 -2
  556. package/dist/native/p-eade52d4.entry.js +0 -2
  557. package/dist/native/p-eade52d4.entry.js.map +0 -1
  558. package/dist/native/p-ed825c80.entry.js +0 -2
  559. package/dist/native/p-ed825c80.entry.js.map +0 -1
  560. package/dist/native/p-eda8cd9d.entry.js +0 -2
  561. package/dist/native/p-f79752ca.entry.js.map +0 -1
  562. package/dist/native/p-fc8cad13.entry.js +0 -2
  563. package/dist/types/components/nv-fieldtoggle/nv-fieldtoggle.docs.d.ts +0 -4
  564. /package/dist/native/{p-e8d181e6.entry.js.map → p-02bb8184.entry.js.map} +0 -0
  565. /package/dist/native/{p-4ffd5c51.entry.js.map → p-10ba289c.entry.js.map} +0 -0
  566. /package/dist/native/{p-52a7f936.entry.js.map → p-2aebf31b.entry.js.map} +0 -0
  567. /package/dist/native/{p-f7db0785.entry.js.map → p-4d0caf4a.entry.js.map} +0 -0
  568. /package/dist/native/{p-575ea40b.entry.js.map → p-61d2cb2e.entry.js.map} +0 -0
  569. /package/dist/native/{p-cd251f91.entry.js.map → p-6d68f133.entry.js.map} +0 -0
  570. /package/dist/native/{p-e5fbe545.entry.js.map → p-75b1ea9f.entry.js.map} +0 -0
  571. /package/dist/native/{p-fc8cad13.entry.js.map → p-892052c2.entry.js.map} +0 -0
  572. /package/dist/native/{p-788712dd.entry.js.map → p-96902bb3.entry.js.map} +0 -0
  573. /package/dist/native/{p-3283505f.entry.js.map → p-9fb5db20.entry.js.map} +0 -0
  574. /package/dist/native/{p-552e7ea4.entry.js.map → p-a998f8df.entry.js.map} +0 -0
  575. /package/dist/native/{p-5f160072.entry.js.map → p-aa2834e2.entry.js.map} +0 -0
  576. /package/dist/native/{p-225962f2.entry.js.map → p-ab5a8ce5.entry.js.map} +0 -0
  577. /package/dist/native/{p-2ac838b8.entry.js.map → p-beab7cbd.entry.js.map} +0 -0
  578. /package/dist/native/{p-2063c768.entry.js.map → p-d24586ed.entry.js.map} +0 -0
  579. /package/dist/native/{p-1e2bd4e3.entry.js.map → p-d4e56727.entry.js.map} +0 -0
  580. /package/dist/native/{p-5e467b49.entry.js.map → p-dc9dd5a7.entry.js.map} +0 -0
  581. /package/dist/native/{p-0f9262ed.entry.js.map → p-e5a7596b.entry.js.map} +0 -0
  582. /package/dist/native/{p-87b93cc2.entry.js.map → p-e6f45df2.entry.js.map} +0 -0
  583. /package/dist/native/{p-8ae9aaf1.entry.js.map → p-ed47a702.entry.js.map} +0 -0
  584. /package/dist/native/{p-38d3eee3.js.map → p-f3fbdea6.js.map} +0 -0
@@ -1,77 +0,0 @@
1
- import { r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-cd557d0a.js';
2
- import { c as clsx } from './clsx-297c1ffe.js';
3
- import { v as v4 } from './v4-a79185f4.js';
4
-
5
- const nvFieldtoggleCss = "nv-fieldtoggle{display:inline-flex;align-items:flex-start;gap:var(--form-gap-x);position:relative}nv-fieldtoggle:not([disabled],[readonly]) input,nv-fieldtoggle:not([disabled],[readonly]) label{cursor:pointer}nv-fieldtoggle.label-placement-before{flex-direction:row-reverse}nv-fieldtoggle[disabled]{opacity:0.5}nv-fieldtoggle 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:500;line-height:var(--form-label-line-height)}nv-fieldtoggle .input-container{position:relative;color:var(--components-form-shape-foreground-default)}nv-fieldtoggle .input-container:has(input[type=checkbox]:disabled:not([readonly])){color:var(--components-form-shape-foreground-disabled)}nv-fieldtoggle .input-container input[type=checkbox]{appearance:none;position:relative;display:flex;width:var(--form-toggle-width);height:var(--form-toggle-height);flex-direction:column;align-items:flex-start;border-radius:var(--form-toggle-radius);border-width:var(--form-toggle-border-width);border-style:solid;border-color:var(--components-form-field-border-default);background:var(--components-form-field-background-default)}nv-fieldtoggle .input-container input[type=checkbox]::after{content:\"\";display:block;width:var(--form-toggle-switch-dot-default);height:var(--form-toggle-switch-dot-default);background-color:var(--components-form-shape-foreground-switch-dot);border-radius:var(--radius-rounded-full);position:absolute;top:50%;left:25%;transform:translate(-50%, -50%)}nv-fieldtoggle .input-container input[type=checkbox]:hover{border-color:var(--components-form-field-border-hover)}nv-fieldtoggle .input-container input[type=checkbox]:focus{border-color:var(--components-form-field-border-default)}nv-fieldtoggle .input-container input[type=checkbox]:focus,nv-fieldtoggle .input-container input[type=checkbox]:focus-within{outline:none}nv-fieldtoggle .input-container input[type=checkbox]:focus-visible,nv-fieldtoggle .input-container input[type=checkbox]:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-fieldtoggle .input-container input[type=checkbox]:checked{background:var(--components-form-field-background-checked);border-color:var(--components-form-field-background-checked)}nv-fieldtoggle .input-container input[type=checkbox]:checked::after{content:\"\";display:block;width:var(--form-toggle-switch-dot-default);height:var(--form-toggle-switch-dot-default);background-color:var(--components-form-shape-foreground-default);border-radius:var(--radius-rounded-full);position:absolute;top:50%;left:75%;transform:translate(-50%, -50%)}nv-fieldtoggle .input-container input[type=checkbox]:checked:focus{background:var(--components-form-field-background-checked);border-color:var(--components-form-field-border-focus)}nv-fieldtoggle .input-container input[type=checkbox]:disabled:not([readonly]){box-shadow:unset;background:var(--components-form-field-background-disabled);border-color:var(--components-form-field-border-default)}nv-fieldtoggle .input-container input[type=checkbox]:disabled:not([readonly]):checked::after{background-color:var(--components-form-shape-foreground-disabled)}nv-fieldtoggle .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:450;line-height:var(--form-description-line-height)}nv-fieldtoggle .text-container{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0}";
6
- const NvFieldtoggleStyle0 = nvFieldtoggleCss;
7
-
8
- const NvFieldtoggle = class {
9
- constructor(hostRef) {
10
- registerInstance(this, hostRef);
11
- this.checkedChanged = createEvent(this, "checkedChanged", 7);
12
- /****************************************************************************/
13
- //#region PROPERTIES
14
- /**
15
- * Sets the ID for the radio button’s input element and the for attribute of
16
- * the associated label. If no ID is provided, a random one will be
17
- * automatically generated to ensure unique identification, facilitating
18
- * proper label association and accessibility.
19
- */
20
- this.inputId = v4();
21
- /**
22
- * Hides the label visually while still keeping it available for screen
23
- * readers.
24
- */
25
- this.hideLabel = false;
26
- /** Indicates whether the toggle is checked or not. */
27
- this.checked = false;
28
- /** Disables the toggle, preventing user interaction. */
29
- this.disabled = false;
30
- /**
31
- * Sets the toggle to read-only, preventing user changes but still allowing
32
- * focus and selection of text.
33
- */
34
- this.readonly = false;
35
- }
36
- //#endregion EVENTS
37
- /****************************************************************************/
38
- //#region WATCHERS
39
- /**
40
- * Watches for changes to the checked state and emits the new value.
41
- * @param {boolean} checked - The new value of the checked state.
42
- */
43
- onCheckedChanged(checked) {
44
- this.checkedChanged.emit(checked);
45
- }
46
- /**
47
- * Listens for the change event on the toggle input element and updates the checked state.
48
- * the checked state of the host elements.
49
- * @param {Event} event - The change event.
50
- */
51
- handleChange(event) {
52
- const target = event.target;
53
- if (target.type === 'checkbox' && target.id === this.inputId) {
54
- if (this.readonly || this.disabled) {
55
- event.preventDefault();
56
- return;
57
- }
58
- this.checked = target.checked;
59
- }
60
- }
61
- //#endregion WATCHERS
62
- /****************************************************************************/
63
- //#region RENDER
64
- render() {
65
- return (h(Host, { key: '3ea6cc0c5c5955ab9e2447d940e7716a8e120bd8', class: clsx(this.labelPlacement === 'before' && 'label-placement-before') }, h("div", { key: '5b7df808f832edcbc600df0c64af6ad7c1e41e40', class: "input-container" }, h("input", { key: '8680c917371bf0c7b0a91610f18e51800f65f094', type: "checkbox", id: this.inputId, name: this.name, autocomplete: "off", value: this.value, checked: Boolean(this.checked), disabled: this.disabled || this.readonly, readonly: this.readonly })), h("div", { key: '3273cf879e7ebdf9cb0ab81df4b674d39943c8fe', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { key: 'd98f1db14a1de22dc47f6f6cb95431211c364ddf', htmlFor: this.inputId, class: clsx(this.hideLabel && 'visually-hidden') }, h("slot", { key: '1a1ca78c91d39e230a95af52fff8dd1f97a095e0', name: "label" }, this.label))), (this.description ||
66
- this.el.querySelector('[slot="description"]')) && (h("div", { key: '9c63a661b4a722575d74d2a0f38a41813b0b822e', class: "description" }, h("slot", { key: '5074ff74cc430a43387905a53d854e2acda5c8b5', name: "description" }, this.description))))));
67
- }
68
- get el() { return getElement(this); }
69
- static get watchers() { return {
70
- "checked": ["onCheckedChanged"]
71
- }; }
72
- };
73
- NvFieldtoggle.style = NvFieldtoggleStyle0;
74
-
75
- export { NvFieldtoggle as nv_fieldtoggle };
76
-
77
- //# sourceMappingURL=nv-fieldtoggle.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"nv-fieldtoggle.entry.js","mappings":";;;;AAAA,MAAM,gBAAgB,GAAG,ilHAAilH,CAAC;AAC3mH,4BAAe,gBAAgB;;MCwBlB,aAAa;IAL1B;;;;;;;;;;;QAkBW,YAAO,GAAWA,EAAM,EAAE,CAAC;;;;;QAgC3B,cAAS,GAAY,KAAK,CAAC;;QAWpC,YAAO,GAAY,KAAK,CAAC;;QAIhB,aAAQ,GAAY,KAAK,CAAC;;;;;QAO1B,aAAQ,GAAY,KAAK,CAAC;KA2FpC;;;;;;;;IArEC,gBAAgB,CAAC,OAAgB;QAC/B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACnC;;;;;;IAQD,YAAY,CAAC,KAAY;QACvB,MAAM,MAAM,GAAG,KAAK,CAAC,MAA0B,CAAC;QAEhD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE;YAC5D,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAClC,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,OAAO;aACR;YAED,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;SAC/B;KACF;;;;IAMD,MAAM;QACJ,QACE,EAAC,IAAI,qDACH,KAAK,EAAE,IAAI,CACT,IAAI,CAAC,cAAc,KAAK,QAAQ,IAAI,wBAAwB,CAC7D,IAED,4DAAK,KAAK,EAAC,iBAAiB,IAC1B,8DACE,IAAI,EAAC,UAAU,EACf,EAAE,EAAE,IAAI,CAAC,OAAO,EAChB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,YAAY,EAAC,KAAK,EAClB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GACvB,CACE,EAEN,4DAAK,KAAK,EAAC,gBAAgB,IACxB,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,MACrD,8DACE,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,iBAAiB,CAAC,IAEhD,6DAAM,IAAI,EAAC,OAAO,IAAE,IAAI,CAAC,KAAK,CAAQ,CAChC,CACT,EAEA,CAAC,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAC,MAC7C,4DAAK,KAAK,EAAC,aAAa,IACtB,6DAAM,IAAI,EAAC,aAAa,IAAE,IAAI,CAAC,WAAW,CAAQ,CAC9C,CACP,CACG,CACD,EACP;KACH;;;;;;;;;;","names":["uuidv4"],"sources":["src/components/nv-fieldtoggle/nv-fieldtoggle.scss?tag=nv-fieldtoggle","src/components/nv-fieldtoggle/nv-fieldtoggle.tsx"],"sourcesContent":["@import \"../../styles/focus-ring\";\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: 500;\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: 450;\n line-height: var(--form-description-line-height);\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(--components-form-shape-foreground-default);\n\n &:has(input[type=\"checkbox\"]:disabled:not([readonly])) {\n color: var(--components-form-shape-foreground-disabled);\n }\n}\n\n@mixin input-styles() {\n appearance: none;\n position: relative;\n display: flex;\n width: var(--form-toggle-width);\n height: var(--form-toggle-height);\n flex-direction: column;\n align-items: flex-start;\n border-radius: var(--form-toggle-radius);\n border-width: var(--form-toggle-border-width);\n border-style: solid;\n border-color: var(--components-form-field-border-default);\n background: var(--components-form-field-background-default);\n\n &::after {\n content: '';\n display: block;\n width: var(--form-toggle-switch-dot-default);\n height: var(--form-toggle-switch-dot-default);\n background-color: var(--components-form-shape-foreground-switch-dot);\n border-radius: var(--radius-rounded-full);\n position: absolute;\n top: 50%;\n left: 25%;\n transform: translate(-50%, -50%);\n }\n\n &:hover {\n border-color: var(--components-form-field-border-hover);\n }\n\n &:focus {\n border-color: var(--components-form-field-border-default);\n }\n\n @include focus-ring();\n\n &:checked {\n background: var(--components-form-field-background-checked);\n border-color: var(--components-form-field-background-checked);\n\n &::after {\n content: '';\n display: block;\n width: var(--form-toggle-switch-dot-default);\n height: var(--form-toggle-switch-dot-default);\n background-color: var(--components-form-shape-foreground-default);\n border-radius: var(--radius-rounded-full);\n position: absolute;\n top: 50%;\n left: 75%;\n transform: translate(-50%, -50%);\n }\n\n &:focus {\n background: var(--components-form-field-background-checked);\n border-color: var(--components-form-field-border-focus);\n }\n }\n\n &:disabled:not([readonly]) {\n box-shadow: unset;\n background: var(--components-form-field-background-disabled);\n border-color: var(--components-form-field-border-default);\n\n &:checked {\n &::after {\n background-color: var(--components-form-shape-foreground-disabled);\n }\n }\n }\n}\n\nnv-fieldtoggle {\n @include root-styles();\n\n &.label-placement-before {\n @include label-before-styles();\n }\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: var(--components-form-opacity-disabled); Error: Invalid value for --components-form-opacity-disabled (expected a <number> but got \"50px\")\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\n .description {\n @include 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 FieldLabelPlacement } 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 */\n@Component({\n tag: 'nv-fieldtoggle',\n styleUrl: 'nv-fieldtoggle.scss',\n shadow: false,\n})\nexport class NvFieldtoggle {\n @Element() el!: HTMLNvFieldtoggleElement;\n\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()\n readonly inputId: string = uuidv4();\n\n /**\n * The name attribute for the toggle input, used to reference the form data\n * after submission.\n */\n @Prop()\n readonly name?: string;\n\n /**\n * The value attribute of the toggle input, representing the value sent on\n * form submission when the toggle is checked.\n */\n @Prop()\n readonly value?: string;\n\n /** The label displayed next to the toggle.*/\n @Prop()\n readonly label?: string;\n\n /**\n * Determines the position of the label relative to the toggle, either\n * 'start' (before) or 'end' (after).\n */\n @Prop({ reflect: true })\n readonly labelPlacement: `${FieldLabelPlacement}`;\n\n /**\n * Hides the label visually while still keeping it available for screen\n * readers.\n */\n @Prop()\n readonly hideLabel: boolean = false;\n\n /**\n * A description providing additional context or information about the\n * toggle.\n */\n @Prop({ reflect: true })\n readonly description?: string;\n\n /** Indicates whether the toggle is checked or not. */\n @Prop({ reflect: true, mutable: true })\n checked: boolean = false;\n\n /** Disables the toggle, preventing user interaction. */\n @Prop()\n readonly disabled: boolean = false;\n\n /**\n * Sets the toggle to read-only, preventing user changes but still allowing\n * focus and selection of text.\n */\n @Prop()\n readonly readonly: 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 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 /**\n * Listens for the change event on the toggle input element and updates the checked state.\n * the checked state of the host elements.\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 this.checked = target.checked;\n }\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n class={clsx(\n this.labelPlacement === 'before' && 'label-placement-before',\n )}\n >\n <div class=\"input-container\">\n <input\n type=\"checkbox\"\n id={this.inputId}\n name={this.name}\n autocomplete=\"off\"\n value={this.value}\n checked={Boolean(this.checked)}\n disabled={this.disabled || this.readonly}\n readonly={this.readonly}\n />\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 </div>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"version":3}
@@ -1,146 +0,0 @@
1
- import { r as registerInstance, h, a as Host, g as getElement } from './index-cd557d0a.js';
2
- import { c as clsx } from './clsx-297c1ffe.js';
3
-
4
- const nvIconbuttonCss = "nv-iconbutton.root{display:inline-flex;justify-content:center;align-items:center;font-style:normal;font-weight:500;font-family:\"TT Norms Pro\", sans-serif;transition:background-color 150ms ease-out;height:fit-content;width:fit-content}nv-iconbutton.size-xs{padding:var(--button-xs-icon-button-padding);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-iconbutton.size-sm{padding:var(--button-sm-icon-button-padding);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-iconbutton.size-md{padding:var(--button-md-icon-button-padding);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-iconbutton.size-lg{padding:var(--button-lg-icon-button-padding);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-iconbutton.emphasis-high{background:var(--components-button-high-background);border:1px solid var(--components-button-high-border);color:var(--components-button-high-text)}nv-iconbutton.emphasis-high:hover{background:var(--components-button-high-background-hover);color:var(--components-button-high-text-hover)}nv-iconbutton.emphasis-high:focus,nv-iconbutton.emphasis-high:focus-within{outline:none}nv-iconbutton.emphasis-high:focus-visible,nv-iconbutton.emphasis-high:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-iconbutton.emphasis-high:disabled{background:var(--components-button-high-background);color:var(--components-button-high-text);opacity:0.5;cursor:not-allowed;box-shadow:none}nv-iconbutton.emphasis-high nv-icon>svg{color:var(--components-button-high-icon)}nv-iconbutton.emphasis-medium{background:var(--components-button-medium-background);border:1px solid var(--components-button-medium-border);color:var(--components-button-medium-text)}nv-iconbutton.emphasis-medium:hover{background:var(--components-button-medium-background-hover);color:var(--components-button-medium-text-hover)}nv-iconbutton.emphasis-medium:focus,nv-iconbutton.emphasis-medium:focus-within{outline:none}nv-iconbutton.emphasis-medium:focus-visible,nv-iconbutton.emphasis-medium:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-iconbutton.emphasis-medium:disabled{background:var(--components-button-medium-background);color:var(--components-button-medium-text);opacity:0.5;cursor:not-allowed;box-shadow:none}nv-iconbutton.emphasis-medium nv-icon>svg{color:var(--components-button-medium-icon)}nv-iconbutton.emphasis-low{background:var(--components-button-low-background);border:1px solid var(--components-button-low-border);color:var(--components-button-low-text)}nv-iconbutton.emphasis-low:hover{background:var(--components-button-low-background-hover);color:var(--components-button-low-text-hover)}nv-iconbutton.emphasis-low:focus,nv-iconbutton.emphasis-low:focus-within{outline:none}nv-iconbutton.emphasis-low:focus-visible,nv-iconbutton.emphasis-low:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-iconbutton.emphasis-low:disabled{background:var(--components-button-low-background);color:var(--components-button-low-text);opacity:0.5;cursor:not-allowed;box-shadow:none}nv-iconbutton.emphasis-low nv-icon>svg{color:var(--components-button-low-icon)}nv-iconbutton.emphasis-lower{background:var(--components-button-lower-background);border:1px solid var(--components-button-lower-border);color:var(--components-button-lower-text)}nv-iconbutton.emphasis-lower:hover{background:var(--components-button-lower-background-hover);color:var(--components-button-lower-text-hover)}nv-iconbutton.emphasis-lower:focus,nv-iconbutton.emphasis-lower:focus-within{outline:none}nv-iconbutton.emphasis-lower:focus-visible,nv-iconbutton.emphasis-lower:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-iconbutton.emphasis-lower:disabled{background:var(--components-button-lower-background);color:var(--components-button-lower-text);opacity:0.5;cursor:not-allowed;box-shadow:none}nv-iconbutton.emphasis-lower nv-icon>svg{color:var(--components-button-lower-icon)}nv-iconbutton.loading [slot=leading-icon]{display:none}nv-iconbutton.shape-rounded{border-radius:var(--radius-rounded-full)}";
5
- const NvIconbuttonStyle0 = nvIconbuttonCss;
6
-
7
- const NvIconbutton = class {
8
- constructor(hostRef) {
9
- registerInstance(this, hostRef);
10
- if (hostRef.$hostElement$["s-ei"]) {
11
- this.internals = hostRef.$hostElement$["s-ei"];
12
- }
13
- else {
14
- this.internals = hostRef.$hostElement$.attachInternals();
15
- hostRef.$hostElement$["s-ei"] = this.internals;
16
- }
17
- /****************************************************************************/
18
- //#region PROPERTIES
19
- /**
20
- * Determines how large or small the button appears, allowing for
21
- * customization of the button's dimensions to fit different design
22
- * specifications and user needs.
23
- */
24
- this.size = 'md';
25
- /**
26
- * Adjusts the button’s emphasis to make it more or less visually prominent
27
- * to users. Use this to draw attention to important actions or reduce focus
28
- * on less critical ones.
29
- */
30
- this.emphasis = 'high';
31
- /**
32
- * Set this to true to show a spinner on the button, letting users know that
33
- * their action is being processed. It helps improve user experience by
34
- * indicating ongoing activities. The icon is not displayed when the button
35
- * is loading. Also, the button is disabled. If you want to disable the
36
- * button, it is not possible. It is automatically disabled when loading.
37
- */
38
- this.loading = false;
39
- /**
40
- * Disables the button, preventing user interaction.
41
- */
42
- this.disabled = false;
43
- /**
44
- * Makes the button look active when it’s within a compatible component
45
- * like a button group.
46
- */
47
- this.active = false;
48
- /**
49
- * Sets the button type to control its function in forms. Use 'submit' to send
50
- * form data, 'reset' to clear the form, or 'button' for a standard button
51
- * that doesn’t interact with form submission by default.
52
- */
53
- this.type = 'button';
54
- /**
55
- * Sets the shape of the button. Choose between square and rounded.
56
- */
57
- this.shape = 'square';
58
- //#endregion PROPERTIES
59
- /****************************************************************************/
60
- //#region METHODS
61
- /**
62
- * Handles form-related actions when the button is clicked.
63
- * - Submits the form if the button type is 'submit'.
64
- * - Resets the form if the button type is 'reset'.
65
- * @param {Event} event - The click event.
66
- */
67
- this.handleClick = (event) => {
68
- var _a, _b, _c, _d;
69
- if (this.disabled) {
70
- event.preventDefault();
71
- return;
72
- }
73
- if (this.type === 'submit') {
74
- (_b = (_a = this.internals) === null || _a === void 0 ? void 0 : _a.form) === null || _b === void 0 ? void 0 : _b.requestSubmit();
75
- }
76
- if (this.type === 'reset') {
77
- (_d = (_c = this.internals) === null || _c === void 0 ? void 0 : _c.form) === null || _d === void 0 ? void 0 : _d.reset();
78
- }
79
- };
80
- }
81
- //#endregion METHODS
82
- /****************************************************************************/
83
- //#region WATCHERS
84
- handleLoadingChange(loading) {
85
- this.loading = loading;
86
- this.disabled = loading;
87
- }
88
- handleDisabledChange(disabled) {
89
- if (this.loading) {
90
- this.disabled = this.loading;
91
- }
92
- else {
93
- this.disabled = disabled;
94
- }
95
- }
96
- //#endregion WATCHERS
97
- /****************************************************************************/
98
- //#region LIFECYCLE
99
- componentWillLoad() {
100
- if (this.loading) {
101
- this.disabled = this.loading;
102
- }
103
- }
104
- //#endregion LIFECYCLE
105
- /****************************************************************************/
106
- //#region RENDER
107
- render() {
108
- return (h(Host, { key: 'da500bc993c56223fbbef59de813d6abc4edae66', role: "button", type: this.type, tabindex: "0", disabled: this.disabled ? true : undefined, class: clsx('root', `size-${this.size}`, `emphasis-${this.emphasis}`, this.loading && 'loading', `shape-${this.shape}`), onClick: this.handleClick }, this.loading && h("nv-loader", { key: '853eb4bb3b24acab512e4a97d1d62d9f9868c54b', size: this.size }), !this.loading && h("nv-icon", { key: 'ae37d9c53d96da31230b0ea783ba90873bc63fd3', name: this.name, size: this.size }), h("slot", { key: 'e244d12cf966dc1636eee84dcf4ce91a8982127e' })));
109
- }
110
- static get formAssociated() { return true; }
111
- get el() { return getElement(this); }
112
- static get watchers() { return {
113
- "loading": ["handleLoadingChange"],
114
- "disabled": ["handleDisabledChange"]
115
- }; }
116
- };
117
- NvIconbutton.style = NvIconbuttonStyle0;
118
-
119
- const nvLoaderCss = "@keyframes rotation{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}nv-loader{display:inline-block;position:relative;aspect-ratio:1/1;border-radius:9999px;color:inherit}nv-loader.size-xs{width:var(--loader-size-xs);height:var(--loader-size-xs)}nv-loader.size-xs::before,nv-loader.size-xs::after{content:\" \";position:absolute;top:0;left:0;border-radius:inherit;width:100%;height:100%}nv-loader.size-xs::before{content:\" \";border:calc(var(--loader-size-xs) / 10) solid;opacity:0.3}nv-loader.size-xs::after{content:\" \";border-top:calc(var(--loader-size-xs) / 10) solid transparent;border-left:calc(var(--loader-size-xs) / 10) solid transparent;border-right:calc(var(--loader-size-xs) / 10) solid transparent;border-bottom:calc(var(--loader-size-xs) / 10) solid;animation:rotation 1s linear infinite}nv-loader.size-sm{width:var(--loader-size-sm);height:var(--loader-size-sm)}nv-loader.size-sm::before,nv-loader.size-sm::after{content:\" \";position:absolute;top:0;left:0;border-radius:inherit;width:100%;height:100%}nv-loader.size-sm::before{content:\" \";border:calc(var(--loader-size-sm) / 10) solid;opacity:0.3}nv-loader.size-sm::after{content:\" \";border-top:calc(var(--loader-size-sm) / 10) solid transparent;border-left:calc(var(--loader-size-sm) / 10) solid transparent;border-right:calc(var(--loader-size-sm) / 10) solid transparent;border-bottom:calc(var(--loader-size-sm) / 10) solid;animation:rotation 1s linear infinite}nv-loader.size-md{width:var(--loader-size-md);height:var(--loader-size-md)}nv-loader.size-md::before,nv-loader.size-md::after{content:\" \";position:absolute;top:0;left:0;border-radius:inherit;width:100%;height:100%}nv-loader.size-md::before{content:\" \";border:calc(var(--loader-size-md) / 10) solid;opacity:0.3}nv-loader.size-md::after{content:\" \";border-top:calc(var(--loader-size-md) / 10) solid transparent;border-left:calc(var(--loader-size-md) / 10) solid transparent;border-right:calc(var(--loader-size-md) / 10) solid transparent;border-bottom:calc(var(--loader-size-md) / 10) solid;animation:rotation 1s linear infinite}nv-loader.size-lg{width:var(--loader-size-lg);height:var(--loader-size-lg)}nv-loader.size-lg::before,nv-loader.size-lg::after{content:\" \";position:absolute;top:0;left:0;border-radius:inherit;width:100%;height:100%}nv-loader.size-lg::before{content:\" \";border:calc(var(--loader-size-lg) / 10) solid;opacity:0.3}nv-loader.size-lg::after{content:\" \";border-top:calc(var(--loader-size-lg) / 10) solid transparent;border-left:calc(var(--loader-size-lg) / 10) solid transparent;border-right:calc(var(--loader-size-lg) / 10) solid transparent;border-bottom:calc(var(--loader-size-lg) / 10) solid;animation:rotation 1s linear infinite}nv-loader.size-xl{width:var(--loader-size-xl);height:var(--loader-size-xl)}nv-loader.size-xl::before,nv-loader.size-xl::after{content:\" \";position:absolute;top:0;left:0;border-radius:inherit;width:100%;height:100%}nv-loader.size-xl::before{content:\" \";border:calc(var(--loader-size-xl) / 10) solid;opacity:0.3}nv-loader.size-xl::after{content:\" \";border-top:calc(var(--loader-size-xl) / 10) solid transparent;border-left:calc(var(--loader-size-xl) / 10) solid transparent;border-right:calc(var(--loader-size-xl) / 10) solid transparent;border-bottom:calc(var(--loader-size-xl) / 10) solid;animation:rotation 1s linear infinite}nv-loader.color-brand::before{border-color:var(--components-loader-brand-background);opacity:1}nv-loader.color-brand::after{border-bottom-color:var(--components-loader-brand-foreground)}nv-loader.color-white::before{border-color:var(--components-loader-white-background);opacity:1}nv-loader.color-white::after{border-bottom-color:var(--components-loader-white-foreground)}";
120
- const NvLoaderStyle0 = nvLoaderCss;
121
-
122
- const NvLoader = class {
123
- constructor(hostRef) {
124
- registerInstance(this, hostRef);
125
- /****************************************************************************/
126
- //#region PROPERTIES
127
- /**
128
- * Choose the size of the loader to best fit your application’s needs, whether
129
- * it’s a small spinner for subtle loading indicators or a large one for more
130
- * prominent displays.
131
- */
132
- this.size = 'md';
133
- }
134
- //#endregion PROPERTIES
135
- /****************************************************************************/
136
- //#region RENDER
137
- /* <slot> empty to force rendering change */
138
- render() {
139
- return (h(Host, { key: 'd47cddef84d79aa07307501fc9aa43d33ae79287', class: clsx(this.size && `size-${this.size}`, this.color && `color-${this.color}`) }));
140
- }
141
- };
142
- NvLoader.style = NvLoaderStyle0;
143
-
144
- export { NvIconbutton as nv_iconbutton, NvLoader as nv_loader };
145
-
146
- //# sourceMappingURL=nv-iconbutton_2.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"nv-iconbutton.nv-loader.entry.js","mappings":";;;AAAA,MAAM,eAAe,GAAG,8nJAA8nJ,CAAC;AACvpJ,2BAAe,eAAe;;MC4BjB,YAAY;IAPzB;;;;;;;;;;;;;;;;QAoBW,SAAI,GAAoB,IAAI,CAAC;;;;;;QAQ7B,aAAQ,GAAwB,MAAM,CAAC;;;;;;;;QAUhD,YAAO,GAAY,KAAK,CAAC;;;;QAMzB,aAAQ,GAAY,KAAK,CAAC;;;;;QAOjB,WAAM,GAAY,KAAK,CAAC;;;;;;QAgBxB,SAAI,GAAoB,QAAQ,CAAC;;;;QAMjC,UAAK,GAAyB,QAAQ,CAAC;;;;;;;;;;QAYxC,gBAAW,GAAG,CAAC,KAAY;;YACjC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,OAAO;aACR;YAED,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC1B,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,IAAI,0CAAE,aAAa,EAAE,CAAC;aACvC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;gBACzB,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,IAAI,0CAAE,KAAK,EAAE,CAAC;aAC/B;SACF,CAAC;KA6DH;;;;IAtDC,mBAAmB,CAAC,OAAgB;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;KACzB;IAGD,oBAAoB,CAAC,QAAiB;QACpC,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC1B;KACF;;;;IAMD,iBAAiB;QACf,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;SAC9B;KACF;;;;IAMD,MAAM;QACJ,QACE,EAAC,IAAI,qDACH,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAC,GAAG,EACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,SAAS,EAC1C,KAAK,EAAE,IAAI,CACT,MAAM,EACN,QAAQ,IAAI,CAAC,IAAI,EAAE,EACnB,YAAY,IAAI,CAAC,QAAQ,EAAE,EAC3B,IAAI,CAAC,OAAO,IAAI,SAAS,EACzB,SAAS,IAAI,CAAC,KAAK,EAAE,CACtB,EACD,OAAO,EAAE,IAAI,CAAC,WAAW,IAExB,IAAI,CAAC,OAAO,IAAI,kEAAW,IAAI,EAAE,IAAI,CAAC,IAAI,GAAc,EAExD,CAAC,IAAI,CAAC,OAAO,IAAI,gEAAS,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,EAE/D,8DAAa,CACR,EACP;KACH;;;;;;;;;;ACjLH,MAAM,WAAW,GAAG,qoHAAqoH,CAAC;AAC1pH,uBAAe,WAAW;;MCSb,QAAQ;IALrB;;;;;;;;;QAeW,SAAI,GAAuB,IAAI,CAAC;KA2B1C;;;;;IAZC,MAAM;QACJ,QACE,EAAC,IAAI,qDACH,KAAK,EAAE,IAAI,CACT,IAAI,CAAC,IAAI,IAAI,QAAQ,IAAI,CAAC,IAAI,EAAE,EAChC,IAAI,CAAC,KAAK,IAAI,SAAS,IAAI,CAAC,KAAK,EAAE,CACpC,GACK,EACR;KACH;;;;;;","names":[],"sources":["src/components/nv-iconbutton/nv-iconbutton.scss?tag=nv-iconbutton","src/components/nv-iconbutton/nv-iconbutton.tsx","src/components/nv-loader/nv-loader.scss?tag=nv-loader","src/components/nv-loader/nv-loader.tsx"],"sourcesContent":["@use \"sass:map\";\n@import \"../../styles/focus-ring\";\n\n/* Variants */\n$button-sizes: (\"xs\", \"sm\", \"md\", \"lg\");\n$button-emphasis: (\"high\", \"medium\", \"low\", \"lower\");\n\n/* Define maps for size-related variables */\n$button-icon-button-padding: (\n \"xs\": var(--button-xs-icon-button-padding),\n \"sm\": var(--button-sm-icon-button-padding),\n \"md\": var(--button-md-icon-button-padding),\n \"lg\": var(--button-lg-icon-button-padding)\n);\n\n$button-gap: (\n \"xs\": var(--button-xs-gap),\n \"sm\": var(--button-sm-gap),\n \"md\": var(--button-md-gap),\n \"lg\": var(--button-lg-gap)\n);\n\n$button-border-radius: (\n \"xs\": var(--button-xs-border-radius),\n \"sm\": var(--button-sm-border-radius),\n \"md\": var(--button-md-border-radius),\n \"lg\": var(--button-lg-border-radius)\n);\n\n$button-line-height: (\n \"xs\": var(--button-xs-line-height),\n \"sm\": var(--button-sm-line-height),\n \"md\": var(--button-md-line-height),\n \"lg\": var(--button-lg-line-height)\n);\n\n$button-font-size: (\n \"xs\": var(--button-xs-font-size),\n \"sm\": var(--button-sm-font-size),\n \"md\": var(--button-md-font-size),\n \"lg\": var(--button-lg-font-size)\n);\n\n/* Define maps for emphasis-related variables */\n$components-button-background: (\n \"high\": var(--components-button-high-background),\n \"medium\": var(--components-button-medium-background),\n \"low\": var(--components-button-low-background),\n \"lower\": var(--components-button-lower-background)\n);\n\n$components-button-border: (\n \"high\": var(--components-button-high-border),\n \"medium\": var(--components-button-medium-border),\n \"low\": var(--components-button-low-border),\n \"lower\": var(--components-button-lower-border)\n);\n\n$components-button-text: (\n \"high\": var(--components-button-high-text),\n \"medium\": var(--components-button-medium-text),\n \"low\": var(--components-button-low-text),\n \"lower\": var(--components-button-lower-text)\n);\n\n$components-button-background-hover: (\n \"high\": var(--components-button-high-background-hover),\n \"medium\": var(--components-button-medium-background-hover),\n \"low\": var(--components-button-low-background-hover),\n \"lower\": var(--components-button-lower-background-hover)\n);\n\n$components-button-text-hover: (\n \"high\": var(--components-button-high-text-hover),\n \"medium\": var(--components-button-medium-text-hover),\n \"low\": var(--components-button-low-text-hover),\n \"lower\": var(--components-button-lower-text-hover)\n);\n\n$components-button-icon: (\n \"high\": var(--components-button-high-icon),\n \"medium\": var(--components-button-medium-icon),\n \"low\": var(--components-button-low-icon),\n \"lower\": var(--components-button-lower-icon)\n);\n\n@mixin root-styles() {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n font-style: normal;\n font-weight: 500;\n font-family: \"TT Norms Pro\", sans-serif;\n transition: background-color 150ms ease-out;\n height: fit-content;\n width: fit-content;\n}\n\n@mixin size-styles($size) {\n padding: map.get($button-icon-button-padding, $size);\n gap: map.get($button-gap, $size);\n border-radius: map.get($button-border-radius, $size);\n line-height: map.get($button-line-height, $size);\n font-size: map.get($button-font-size, $size);\n}\n\n@mixin emphasis-styles($emphasis) {\n background: map.get($components-button-background, $emphasis);\n border: 1px solid map.get($components-button-border, $emphasis);\n color: map.get($components-button-text, $emphasis);\n\n &:hover {\n background: map.get($components-button-background-hover, $emphasis);\n color: map.get($components-button-text-hover, $emphasis);\n }\n\n @include focus-ring();\n\n &:disabled {\n background: map.get($components-button-background, $emphasis);\n color: map.get($components-button-text, $emphasis);\n opacity: 0.5;\n cursor: not-allowed;\n box-shadow: none;\n }\n\n & nv-icon > svg {\n color: map.get($components-button-icon, $emphasis);\n }\n}\n\nnv-iconbutton {\n &.root {\n @include root-styles();\n }\n\n @each $size in $button-sizes {\n &.size-#{$size} {\n @include size-styles($size);\n }\n }\n\n @each $emphasis in $button-emphasis {\n &.emphasis-#{$emphasis} {\n @include emphasis-styles($emphasis);\n }\n }\n\n &.loading {\n [slot=\"leading-icon\"] {\n display: none;\n }\n }\n\n &.shape-rounded {\n border-radius: var(--radius-rounded-full);\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n AttachInternals,\n Element,\n Watch,\n} from '@stencil/core';\nimport clsx from 'clsx';\n\nimport {\n ButtonSize,\n ButtonEmphasis,\n ButtonType,\n IconButtonShape,\n} from '../../utils/constants';\nimport { IconName } from '../nv-icon/nv-icons';\n\n/**\n * @slot default - Content of the button.\n */\n@Component({\n tag: 'nv-iconbutton',\n shadow: false,\n formAssociated: true,\n styleUrl: 'nv-iconbutton.scss',\n scoped: false,\n})\nexport class NvIconbutton {\n @AttachInternals() internals: ElementInternals;\n @Element() el: HTMLNvIconbuttonElement;\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 * 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. The icon is not displayed when the button\n * is loading. Also, the button is disabled. If you want to disable the\n * button, it is not possible. It is automatically disabled when loading.\n */\n @Prop({ reflect: true, mutable: true })\n loading: boolean = false;\n\n /**\n * Disables the button, preventing user interaction.\n */\n @Prop({ mutable: true, reflect: true })\n disabled: boolean = false;\n\n /**\n * Makes the button look active when it’s within a compatible component\n * like a button group.\n */\n @Prop({ reflect: true })\n readonly active: boolean = false;\n\n /**\n * Choose the icon you want to display. This also sets the aria-label for\n * improved accessibility, helping users who rely on screen readers.\n * The icon is not displayed when the button is loading.\n */\n @Prop({ reflect: true })\n readonly name: `${IconName}` | string;\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 shape of the button. Choose between square and rounded.\n */\n @Prop({ reflect: true })\n readonly shape: `${IconButtonShape}` = 'square';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Handles form-related actions when the button is clicked.\n * - Submits the form if the button type is 'submit'.\n * - Resets the form if the button type is 'reset'.\n * @param {Event} event - The click event.\n */\n private handleClick = (event: Event) => {\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n\n if (this.type === 'submit') {\n this.internals?.form?.requestSubmit();\n }\n if (this.type === 'reset') {\n this.internals?.form?.reset();\n }\n };\n\n //#endregion METHODS\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\n role=\"button\"\n type={this.type}\n tabindex=\"0\"\n disabled={this.disabled ? true : undefined}\n class={clsx(\n 'root',\n `size-${this.size}`,\n `emphasis-${this.emphasis}`,\n this.loading && 'loading',\n `shape-${this.shape}`,\n )}\n onClick={this.handleClick}\n >\n {this.loading && <nv-loader size={this.size}></nv-loader>}\n\n {!this.loading && <nv-icon name={this.name} size={this.size} />}\n\n <slot></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n","@use \"sass:map\";\n\n/* Variants */\n$loader-sizes: (\"xs\", \"sm\", \"md\", \"lg\", \"xl\");\n$loader-color: (\"brand\", \"white\");\n\n/* Define maps for color-related variables */\n$components-loader-background: (\n \"brand\": var(--components-loader-brand-background),\n \"white\": var(--components-loader-white-background)\n);\n\n$components-loader-foreground: (\n \"brand\": var(--components-loader-brand-foreground),\n \"white\": var(--components-loader-white-foreground)\n);\n\n/* Define maps for size-related variables */\n$components-loader-size: (\n \"xs\": var(--loader-size-xs),\n \"sm\": var(--loader-size-sm),\n \"md\": var(--loader-size-md),\n \"lg\": var(--loader-size-lg),\n \"xl\": var(--loader-size-xl)\n);\n\n@mixin root-styles() {\n display: inline-block;\n position: relative;\n aspect-ratio: 1 / 1;\n border-radius: 9999px;\n color: inherit;\n}\n\n@mixin size-styles($size) {\n $loader-size: map.get($components-loader-size, $size);\n $border-size: calc($loader-size / 10);\n\n width: $loader-size;\n height: $loader-size;\n\n &::before,\n &::after {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n border-radius: inherit;\n width: 100%;\n height: 100%;\n }\n\n &::before {\n content: \" \";\n border: $border-size solid;\n opacity: 0.3;\n }\n\n &::after {\n content: \" \";\n border-top: $border-size solid transparent;\n border-left: $border-size solid transparent;\n border-right: $border-size solid transparent;\n border-bottom: $border-size solid;\n animation: rotation 1s linear infinite;\n }\n}\n\n@mixin color-styles($color) {\n &::before {\n border-color: map.get($components-loader-background, $color);\n opacity: 1;\n }\n\n &::after {\n border-bottom-color: map.get($components-loader-foreground, $color);\n }\n}\n\n@keyframes rotation {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\nnv-loader {\n @include root-styles();\n\n @each $size in $loader-sizes {\n &.size-#{$size} {\n @include size-styles($size);\n }\n }\n\n @each $color in $loader-color {\n &.color-#{$color} {\n @include color-styles($color);\n }\n }\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\nimport clsx from 'clsx';\n\nimport { SemanticSizes, LoaderColors } from '../../utils/constants';\n\n@Component({\n tag: 'nv-loader',\n styleUrl: 'nv-loader.scss',\n shadow: false,\n})\nexport class NvLoader {\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Choose the size of the loader to best fit your application’s needs, whether\n * it’s a small spinner for subtle loading indicators or a large one for more\n * prominent displays.\n */\n @Prop({ reflect: true })\n readonly size: `${SemanticSizes}` = 'md';\n\n /**\n * Choose the color of the loader. Options are primary and white to keep the\n * design consistent and ensure the loader stands out or blends in\n * appropriately with your application’s interface.\n */\n @Prop({ reflect: true })\n readonly color: `${LoaderColors}`;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region RENDER\n\n /* <slot> empty to force rendering change */\n render() {\n return (\n <Host\n class={clsx(\n this.size && `size-${this.size}`,\n this.color && `color-${this.color}`,\n )}\n ></Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"version":3}
@@ -1,2 +0,0 @@
1
- import{r as e,c as o,h as t,a as n,g as i}from"./p-9b093b92.js";import{c as r}from"./p-8a1a6e56.js";import{v as a}from"./p-f5ff676c.js";const l='nv-fieldtoggle{display:inline-flex;align-items:flex-start;gap:var(--form-gap-x);position:relative}nv-fieldtoggle:not([disabled],[readonly]) input,nv-fieldtoggle:not([disabled],[readonly]) label{cursor:pointer}nv-fieldtoggle.label-placement-before{flex-direction:row-reverse}nv-fieldtoggle[disabled]{opacity:0.5}nv-fieldtoggle 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:500;line-height:var(--form-label-line-height)}nv-fieldtoggle .input-container{position:relative;color:var(--components-form-shape-foreground-default)}nv-fieldtoggle .input-container:has(input[type=checkbox]:disabled:not([readonly])){color:var(--components-form-shape-foreground-disabled)}nv-fieldtoggle .input-container input[type=checkbox]{appearance:none;position:relative;display:flex;width:var(--form-toggle-width);height:var(--form-toggle-height);flex-direction:column;align-items:flex-start;border-radius:var(--form-toggle-radius);border-width:var(--form-toggle-border-width);border-style:solid;border-color:var(--components-form-field-border-default);background:var(--components-form-field-background-default)}nv-fieldtoggle .input-container input[type=checkbox]::after{content:"";display:block;width:var(--form-toggle-switch-dot-default);height:var(--form-toggle-switch-dot-default);background-color:var(--components-form-shape-foreground-switch-dot);border-radius:var(--radius-rounded-full);position:absolute;top:50%;left:25%;transform:translate(-50%, -50%)}nv-fieldtoggle .input-container input[type=checkbox]:hover{border-color:var(--components-form-field-border-hover)}nv-fieldtoggle .input-container input[type=checkbox]:focus{border-color:var(--components-form-field-border-default)}nv-fieldtoggle .input-container input[type=checkbox]:focus,nv-fieldtoggle .input-container input[type=checkbox]:focus-within{outline:none}nv-fieldtoggle .input-container input[type=checkbox]:focus-visible,nv-fieldtoggle .input-container input[type=checkbox]:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-fieldtoggle .input-container input[type=checkbox]:checked{background:var(--components-form-field-background-checked);border-color:var(--components-form-field-background-checked)}nv-fieldtoggle .input-container input[type=checkbox]:checked::after{content:"";display:block;width:var(--form-toggle-switch-dot-default);height:var(--form-toggle-switch-dot-default);background-color:var(--components-form-shape-foreground-default);border-radius:var(--radius-rounded-full);position:absolute;top:50%;left:75%;transform:translate(-50%, -50%)}nv-fieldtoggle .input-container input[type=checkbox]:checked:focus{background:var(--components-form-field-background-checked);border-color:var(--components-form-field-border-focus)}nv-fieldtoggle .input-container input[type=checkbox]:disabled:not([readonly]){box-shadow:unset;background:var(--components-form-field-background-disabled);border-color:var(--components-form-field-border-default)}nv-fieldtoggle .input-container input[type=checkbox]:disabled:not([readonly]):checked::after{background-color:var(--components-form-shape-foreground-disabled)}nv-fieldtoggle .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:450;line-height:var(--form-description-line-height)}nv-fieldtoggle .text-container{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0}';const c=l;const d=class{constructor(t){e(this,t);this.checkedChanged=o(this,"checkedChanged",7);this.inputId=a();this.hideLabel=false;this.checked=false;this.disabled=false;this.readonly=false}onCheckedChanged(e){this.checkedChanged.emit(e)}handleChange(e){const o=e.target;if(o.type==="checkbox"&&o.id===this.inputId){if(this.readonly||this.disabled){e.preventDefault();return}this.checked=o.checked}}render(){return t(n,{key:"3ea6cc0c5c5955ab9e2447d940e7716a8e120bd8",class:r(this.labelPlacement==="before"&&"label-placement-before")},t("div",{key:"5b7df808f832edcbc600df0c64af6ad7c1e41e40",class:"input-container"},t("input",{key:"8680c917371bf0c7b0a91610f18e51800f65f094",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})),t("div",{key:"3273cf879e7ebdf9cb0ab81df4b674d39943c8fe",class:"text-container"},(this.label||this.el.querySelector('[slot="label"]'))&&t("label",{key:"d98f1db14a1de22dc47f6f6cb95431211c364ddf",htmlFor:this.inputId,class:r(this.hideLabel&&"visually-hidden")},t("slot",{key:"1a1ca78c91d39e230a95af52fff8dd1f97a095e0",name:"label"},this.label)),(this.description||this.el.querySelector('[slot="description"]'))&&t("div",{key:"9c63a661b4a722575d74d2a0f38a41813b0b822e",class:"description"},t("slot",{key:"5074ff74cc430a43387905a53d854e2acda5c8b5",name:"description"},this.description))))}get el(){return i(this)}static get watchers(){return{checked:["onCheckedChanged"]}}};d.style=c;export{d as nv_fieldtoggle};
2
- //# sourceMappingURL=p-0a9a738c.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["nvFieldtoggleCss","NvFieldtoggleStyle0","NvFieldtoggle","constructor","hostRef","this","inputId","uuidv4","hideLabel","checked","disabled","readonly","onCheckedChanged","checkedChanged","emit","handleChange","event","target","type","id","preventDefault","render","h","Host","key","class","clsx","labelPlacement","name","autocomplete","value","Boolean","label","el","querySelector","htmlFor","description"],"sources":["src/components/nv-fieldtoggle/nv-fieldtoggle.scss?tag=nv-fieldtoggle","src/components/nv-fieldtoggle/nv-fieldtoggle.tsx"],"sourcesContent":["@import \"../../styles/focus-ring\";\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: 500;\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: 450;\n line-height: var(--form-description-line-height);\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(--components-form-shape-foreground-default);\n\n &:has(input[type=\"checkbox\"]:disabled:not([readonly])) {\n color: var(--components-form-shape-foreground-disabled);\n }\n}\n\n@mixin input-styles() {\n appearance: none;\n position: relative;\n display: flex;\n width: var(--form-toggle-width);\n height: var(--form-toggle-height);\n flex-direction: column;\n align-items: flex-start;\n border-radius: var(--form-toggle-radius);\n border-width: var(--form-toggle-border-width);\n border-style: solid;\n border-color: var(--components-form-field-border-default);\n background: var(--components-form-field-background-default);\n\n &::after {\n content: '';\n display: block;\n width: var(--form-toggle-switch-dot-default);\n height: var(--form-toggle-switch-dot-default);\n background-color: var(--components-form-shape-foreground-switch-dot);\n border-radius: var(--radius-rounded-full);\n position: absolute;\n top: 50%;\n left: 25%;\n transform: translate(-50%, -50%);\n }\n\n &:hover {\n border-color: var(--components-form-field-border-hover);\n }\n\n &:focus {\n border-color: var(--components-form-field-border-default);\n }\n\n @include focus-ring();\n\n &:checked {\n background: var(--components-form-field-background-checked);\n border-color: var(--components-form-field-background-checked);\n\n &::after {\n content: '';\n display: block;\n width: var(--form-toggle-switch-dot-default);\n height: var(--form-toggle-switch-dot-default);\n background-color: var(--components-form-shape-foreground-default);\n border-radius: var(--radius-rounded-full);\n position: absolute;\n top: 50%;\n left: 75%;\n transform: translate(-50%, -50%);\n }\n\n &:focus {\n background: var(--components-form-field-background-checked);\n border-color: var(--components-form-field-border-focus);\n }\n }\n\n &:disabled:not([readonly]) {\n box-shadow: unset;\n background: var(--components-form-field-background-disabled);\n border-color: var(--components-form-field-border-default);\n\n &:checked {\n &::after {\n background-color: var(--components-form-shape-foreground-disabled);\n }\n }\n }\n}\n\nnv-fieldtoggle {\n @include root-styles();\n\n &.label-placement-before {\n @include label-before-styles();\n }\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: var(--components-form-opacity-disabled); Error: Invalid value for --components-form-opacity-disabled (expected a <number> but got \"50px\")\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\n .description {\n @include 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 FieldLabelPlacement } 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 */\n@Component({\n tag: 'nv-fieldtoggle',\n styleUrl: 'nv-fieldtoggle.scss',\n shadow: false,\n})\nexport class NvFieldtoggle {\n @Element() el!: HTMLNvFieldtoggleElement;\n\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()\n readonly inputId: string = uuidv4();\n\n /**\n * The name attribute for the toggle input, used to reference the form data\n * after submission.\n */\n @Prop()\n readonly name?: string;\n\n /**\n * The value attribute of the toggle input, representing the value sent on\n * form submission when the toggle is checked.\n */\n @Prop()\n readonly value?: string;\n\n /** The label displayed next to the toggle.*/\n @Prop()\n readonly label?: string;\n\n /**\n * Determines the position of the label relative to the toggle, either\n * 'start' (before) or 'end' (after).\n */\n @Prop({ reflect: true })\n readonly labelPlacement: `${FieldLabelPlacement}`;\n\n /**\n * Hides the label visually while still keeping it available for screen\n * readers.\n */\n @Prop()\n readonly hideLabel: boolean = false;\n\n /**\n * A description providing additional context or information about the\n * toggle.\n */\n @Prop({ reflect: true })\n readonly description?: string;\n\n /** Indicates whether the toggle is checked or not. */\n @Prop({ reflect: true, mutable: true })\n checked: boolean = false;\n\n /** Disables the toggle, preventing user interaction. */\n @Prop()\n readonly disabled: boolean = false;\n\n /**\n * Sets the toggle to read-only, preventing user changes but still allowing\n * focus and selection of text.\n */\n @Prop()\n readonly readonly: 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 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 /**\n * Listens for the change event on the toggle input element and updates the checked state.\n * the checked state of the host elements.\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 this.checked = target.checked;\n }\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n class={clsx(\n this.labelPlacement === 'before' && 'label-placement-before',\n )}\n >\n <div class=\"input-container\">\n <input\n type=\"checkbox\"\n id={this.inputId}\n name={this.name}\n autocomplete=\"off\"\n value={this.value}\n checked={Boolean(this.checked)}\n disabled={this.disabled || this.readonly}\n readonly={this.readonly}\n />\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 </div>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"mappings":"wIAAA,MAAMA,EAAmB,0kHACzB,MAAAC,EAAeD,E,MCwBFE,EAAa,MAL1B,WAAAC,CAAAC,G,yDAkBWC,KAAAC,QAAkBC,IAgClBF,KAAAG,UAAqB,MAW9BH,KAAAI,QAAmB,MAIVJ,KAAAK,SAAoB,MAOpBL,KAAAM,SAAoB,K,CAsB7B,gBAAAC,CAAiBH,GACfJ,KAAKQ,eAAeC,KAAKL,E,CAS3B,YAAAM,CAAaC,GACX,MAAMC,EAASD,EAAMC,OAErB,GAAIA,EAAOC,OAAS,YAAcD,EAAOE,KAAOd,KAAKC,QAAS,CAC5D,GAAID,KAAKM,UAAYN,KAAKK,SAAU,CAClCM,EAAMI,iBACN,M,CAGFf,KAAKI,QAAUQ,EAAOR,O,EAQ1B,MAAAY,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAOC,EACLrB,KAAKsB,iBAAmB,UAAY,2BAGtCL,EAAA,OAAAE,IAAA,2CAAKC,MAAM,mBACTH,EAAA,SAAAE,IAAA,2CACEN,KAAK,WACLC,GAAId,KAAKC,QACTsB,KAAMvB,KAAKuB,KACXC,aAAa,MACbC,MAAOzB,KAAKyB,MACZrB,QAASsB,QAAQ1B,KAAKI,SACtBC,SAAUL,KAAKK,UAAYL,KAAKM,SAChCA,SAAUN,KAAKM,YAInBW,EAAA,OAAAE,IAAA,2CAAKC,MAAM,mBACPpB,KAAK2B,OAAS3B,KAAK4B,GAAGC,cAAc,oBACpCZ,EAAA,SAAAE,IAAA,2CACEW,QAAS9B,KAAKC,QACdmB,MAAOC,EAAKrB,KAAKG,WAAa,oBAE9Bc,EAAA,QAAAE,IAAA,2CAAMI,KAAK,SAASvB,KAAK2B,SAI3B3B,KAAK+B,aACL/B,KAAK4B,GAAGC,cAAc,0BACtBZ,EAAA,OAAAE,IAAA,2CAAKC,MAAM,eACTH,EAAA,QAAAE,IAAA,2CAAMI,KAAK,eAAevB,KAAK+B,e","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as a,h as d,a as e}from"./p-9b093b92.js";const s="";const t=s;const o=class{constructor(d){a(this,d)}render(){return d(e,{key:"fdb910bb7b6388d4d0f8d61a18822e8334534a18"},d("tbody",{key:"f19bd351d639a4d9a94d27647e977d14d6cacf7e"},d("slot",{key:"376ae58f100a27adefaec863497479d814af8124"})))}};o.style=t;export{o as nv_datagridbody};
2
- //# sourceMappingURL=p-0f9262ed.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as o,c as e,h as a,a as n,g as i}from"./p-9b093b92.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:var(--focus-outline-stroke) 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:var(--focus-outline-stroke) 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:var(--focus-outline-stroke) 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:var(--focus-outline-stroke) 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:var(--focus-outline-stroke) 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:var(--focus-outline-stroke) 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:var(--focus-outline-stroke) 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:var(--focus-outline-stroke) 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:var(--focus-outline-stroke) 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:var(--focus-outline-stroke) 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 slot-fb,nv-fielddropdownitemcheck span{all:unset}nv-fielddropdownitemcheck nv-fieldcheckbox input[type=checkbox]{all:unset;display:inline-block;margin:0;padding:0;width:20px;height:20px}";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:"790fd77fd927ace8081971a16d37896b44fe95f5"},a("div",{key:"8dbd46bbc2cd9bd83a81117bd66f62bdef3ece88"},a("nv-fieldcheckbox",{key:"1564df63e41efa0dce2f2b47aefc61d7b41bbffc",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-18b227b5.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as e,h as c,a}from"./p-9b093b92.js";const f="";const s=f;const t=class{constructor(c){e(this,c)}render(){return c(a,{key:"49d3a0f625f25d004fb3c0b4fe570c9bece0cf28"},c("thead",{key:"7c3c48978fd21f6e942c2b7da1646c79e0e96e37"},c("slot",{key:"f61a4f0f89571e1d3d0548b1391207a3d0f09319"})))}};t.style=s;export{t as nv_tablehead};
2
- //# sourceMappingURL=p-225962f2.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as e,h as t,a as s,g as i}from"./p-9b093b92.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:"81da4e7fd653192079ab22a607d1f525b504f3e4",style:{display:"block"}},t("slot",{key:"e766e4b073b16d367c473b02c94448cf835a4921"}))}get el(){return i(this)}};export{a as nv_base};
2
- //# sourceMappingURL=p-2ac838b8.entry.js.map
@@ -1,2 +0,0 @@
1
- import"./p-9b093b92.js";const o=()=>{};const s=o;export{s as g};
2
- //# sourceMappingURL=p-38d3eee3.js.map
@@ -1,2 +0,0 @@
1
- import{r as e,c as r,h as o,a as d,g as i}from"./p-9b093b92.js";import{c as a}from"./p-8a1a6e56.js";import{v as n}from"./p-f5ff676c.js";const t='nv-fieldradio{--nv-fieldradio-border-default:var(--components-form-field-border-default);--nv-fieldradio-border-hover:var(--components-form-field-border-hover);--nv-fieldradio-border-focus:var(--components-form-field-border-default);--nv-fieldradio-background-default:var(--components-form-field-background-default);--nv-fieldradio-background-checked:var(--components-form-field-background-checked);--nv-fieldradio-background-disabled:var(--components-form-field-background-disabled);--nv-fieldradio-focus-box-shadow:var(--color-focus-brand);--nv-fieldradio-dot-color-checked:var(--components-form-shape-foreground-default);--nv-fieldradio-dot-color-disabled:var(--components-form-shape-foreground-disabled);--nv-fieldradio-outline-color:var(--color-focus-brand);display:inline-flex;align-items:flex-start;gap:var(--form-gap-x)}nv-fieldradio:not([disabled]) input,nv-fieldradio:not([disabled]) label,nv-fieldradio[disabled=false] input,nv-fieldradio[disabled=false] label{cursor:pointer}nv-fieldradio.error{--nv-fieldradio-border-default:var(--components-form-field-border-error);--nv-fieldradio-border-hover:var(--nv-fieldradio-border-default);--nv-fieldradio-border-focus:var(--components-form-field-border-error);--nv-fieldradio-background-checked:var(--components-form-field-background-error);--nv-fieldradio-focus-box-shadow:var(--color-focus-destructive);--nv-fieldradio-dot-color-checked:var(--components-form-shape-foreground-default);--nv-fieldradio-dot-color-disabled:var(--components-form-field-border-error);--nv-fieldradio-outline-color:var(--color-focus-destructive)}nv-fieldradio.label-placement-before{flex-direction:row-reverse}nv-fieldradio[disabled]{opacity:0.5}nv-fieldradio 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-fieldradio input[type=radio]{appearance:none;position:relative;display:flex;width:var(--form-radio-size);height:var(--form-radio-size);padding:var(--form-radio-inner-circle-padding);flex-direction:column;align-items:flex-start;border-radius:var(--radius-rounded-full);border-width:var(--form-radio-border-width);border-style:solid;border-color:var(--nv-fieldradio-border-default);background:var(--nv-fieldradio-background-default)}nv-fieldradio input[type=radio]:hover{border-color:var(--nv-fieldradio-border-hover)}nv-fieldradio input[type=radio]:focus{border-color:var(--nv-fieldradio-border-focus)}nv-fieldradio input[type=radio]:focus,nv-fieldradio input[type=radio]:focus-within{outline:none}nv-fieldradio input[type=radio]:focus-visible,nv-fieldradio input[type=radio]:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--nv-fieldradio-outline-color);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-fieldradio input[type=radio]:checked{background:var(--nv-fieldradio-background-checked);border-color:var(--nv-fieldradio-background-checked)}nv-fieldradio input[type=radio]:checked:hover,nv-fieldradio input[type=radio]:checked:focus{border-color:var(--nv-fieldradio-background-checked);background:var(--nv-fieldradio-background-checked)}nv-fieldradio input[type=radio]:checked::before{content:"";position:absolute;top:50%;right:50%;transform:translate(50%, -50%);left:0;width:var(--form-radio-inner-circle-size);height:var(--form-radio-inner-circle-size);flex-shrink:0;border-radius:var(--radius-rounded-full);background:var(--nv-fieldradio-dot-color-checked)}nv-fieldradio input[type=radio]:disabled{border-radius:var(--radius-rounded-full);border-width:var(--form-radio-border-width);border-style:solid;border-color:var(--nv-fieldradio-border-default);background:var(--nv-fieldradio-background-disabled)}nv-fieldradio input[type=radio]:disabled:checked::before{background:var(--nv-fieldradio-dot-color-disabled)}nv-fieldradio input[type=radio]:disabled:hover{border-color:var(--nv-fieldradio-border-default);background:var(--nv-fieldradio-background-disabled)}nv-fieldradio .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-fieldradio .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-fieldradio .text-container{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0}';const l=t;const f=class{constructor(o){e(this,o);this.checkedChanged=r(this,"checkedChanged",7);this.labelBefore=false;this.inputId=n();this.error=false;this.checked=false;this.disabled=false}componentWillRender(){if(this.message){this.description=this.message}if(this.labelBefore){this.labelPlacement="before"}}handleCheckedChange(e){this.checkedChanged.emit(e)}handleChange(e){const r=e.target;if((r===null||r===void 0?void 0:r.type)==="radio"){Array.from(document.getElementsByTagName("nv-fieldradio")).forEach((e=>{if(e.name===this.name){e.checked=false}}));this.checked=r.checked}}render(){return o(d,{key:"529231ea33610d441eeabfcb0c87febc003549f7",class:a(this.labelPlacement==="before"&&"label-placement-before",this.error&&"error")},o("input",{key:"ec0ccd0b2f380eeb8cfbfc8554a15218209ab7a3",type:"radio",id:this.inputId,name:this.name,autocomplete:"off",value:this.value,checked:this.checked,disabled:this.disabled}),o("div",{key:"c6e0281290c266e68c4c09cd697384e32bad5204",class:"text-container"},(this.label||this.el.querySelector('[slot="label"]'))&&o("label",{key:"0ac8815394c4d2176165cf3b41c1d946aad87a3d",htmlFor:this.inputId},o("slot",{key:"3e872fba160c095bb25b8b0e16a03947a2880383",name:"label"},this.label)),(this.description||this.el.querySelector('[slot="description"]'))&&o("div",{key:"c1a34348e13f9cf27a73cada9c770913badb8e65",class:"description"},o("slot",{key:"f214bfdf9291dc6460abbef754b00953baa9b4bc",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&o("div",{key:"67c582d253edb3c504e2ad02a2db35bd1544a764",hidden:!this.error,class:"error-description"},o("slot",{key:"428a6e4c7a2de0d22d6fc5e693ade6ac906d4ce3",name:"error-description"},this.errorDescription))))}static get formAssociated(){return true}get el(){return i(this)}static get watchers(){return{checked:["handleCheckedChange"]}}};f.style=l;export{f as nv_fieldradio};
2
- //# sourceMappingURL=p-3adf0c45.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["nvFieldradioCss","NvFieldradioStyle0","NvFieldradio","constructor","hostRef","this","labelBefore","inputId","uuidv4","error","checked","disabled","componentWillRender","message","description","labelPlacement","handleCheckedChange","checkedChanged","emit","handleChange","event","target","type","Array","from","document","getElementsByTagName","forEach","element","name","render","h","Host","key","class","clsx","id","autocomplete","value","label","el","querySelector","htmlFor","errorDescription","hidden"],"sources":["src/components/nv-fieldradio/nv-fieldradio.scss?tag=nv-fieldradio","src/components/nv-fieldradio/nv-fieldradio.tsx"],"sourcesContent":["@import \"../../styles/focus-ring\";\n\n@mixin fieldradio-variables() {\n --nv-fieldradio-border-default: var(--components-form-field-border-default);\n --nv-fieldradio-border-hover: var(--components-form-field-border-hover);\n --nv-fieldradio-border-focus: var(--components-form-field-border-default);\n --nv-fieldradio-background-default: var(--components-form-field-background-default);\n --nv-fieldradio-background-checked: var(--components-form-field-background-checked);\n --nv-fieldradio-background-disabled: var(--components-form-field-background-disabled);\n --nv-fieldradio-focus-box-shadow: var(--color-focus-brand);\n --nv-fieldradio-dot-color-checked: var(--components-form-shape-foreground-default);\n --nv-fieldradio-dot-color-disabled: var(--components-form-shape-foreground-disabled);\n --nv-fieldradio-outline-color: var(--color-focus-brand);\n}\n\n@mixin fieldradio-error-variables() {\n --nv-fieldradio-border-default: var(--components-form-field-border-error);\n --nv-fieldradio-border-hover: var(--nv-fieldradio-border-default);\n --nv-fieldradio-border-focus: var(--components-form-field-border-error);\n --nv-fieldradio-background-checked: var(--components-form-field-background-error);\n --nv-fieldradio-focus-box-shadow: var(--color-focus-destructive);\n --nv-fieldradio-dot-color-checked: var(--components-form-shape-foreground-default);\n --nv-fieldradio-dot-color-disabled: var(--components-form-field-border-error);\n --nv-fieldradio-outline-color: var(--color-focus-destructive);\n\n}\n\n@mixin root-styles() {\n display: inline-flex;\n align-items: flex-start;\n gap: var(--form-gap-x);\n\n &:not([disabled]),\n &[disabled=\"false\"] {\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-styles() {\n appearance: none;\n position: relative;\n display: flex;\n width: var(--form-radio-size);\n height: var(--form-radio-size);\n padding: var(--form-radio-inner-circle-padding);\n flex-direction: column;\n align-items: flex-start;\n //gap: 10px;\n border-radius: var(--radius-rounded-full);\n border-width: var(--form-radio-border-width);\n border-style: solid;\n border-color: var(--nv-fieldradio-border-default);\n background: var(--nv-fieldradio-background-default);\n\n &:hover {\n border-color: var(--nv-fieldradio-border-hover);\n }\n\n &:focus {\n border-color: var(--nv-fieldradio-border-focus);\n }\n\n @include focus-ring(var(--nv-fieldradio-outline-color));\n\n &:checked {\n background: var(--nv-fieldradio-background-checked);\n border-color: var(--nv-fieldradio-background-checked);\n\n &:hover,\n &:focus {\n border-color: var(--nv-fieldradio-background-checked);\n background: var(--nv-fieldradio-background-checked);\n }\n\n &::before {\n content: \"\";\n position: absolute;\n top: 50%;\n right: 50%;\n transform: translate(50%, -50%);\n left: 0;\n width: var(--form-radio-inner-circle-size);\n height: var(--form-radio-inner-circle-size);\n flex-shrink: 0;\n border-radius: var(--radius-rounded-full);\n background: var(--nv-fieldradio-dot-color-checked);\n }\n }\n\n &:disabled {\n border-radius: var(--radius-rounded-full);\n border-width: var(--form-radio-border-width);\n border-style: solid;\n border-color: var(--nv-fieldradio-border-default);\n background: var(--nv-fieldradio-background-disabled);\n\n &:checked {\n &::before {\n background: var(--nv-fieldradio-dot-color-disabled);\n }\n }\n\n &:hover {\n border-color: var(--nv-fieldradio-border-default);\n background: var(--nv-fieldradio-background-disabled);\n }\n }\n}\n\nnv-fieldradio {\n @include fieldradio-variables();\n @include root-styles();\n\n &.error {\n @include fieldradio-error-variables();\n }\n\n &.label-placement-before {\n @include label-before-styles();\n }\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: var(--components-form-opacity-disabled); Error: Invalid value for --components-form-opacity-disabled (expected a <number> but got \"50px\")\n opacity: 0.5;\n }\n\n label {\n @include label-styles();\n }\n\n input[type=\"radio\"] {\n @include input-styles();\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 Event,\n EventEmitter,\n Listen,\n Watch,\n Element,\n} from '@stencil/core';\nimport clsx from 'clsx';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { type FieldLabelPlacement } 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 */\n@Component({\n tag: 'nv-fieldradio',\n shadow: false,\n styleUrl: 'nv-fieldradio.scss',\n formAssociated: true,\n})\nexport class NvFieldradio {\n @Element() el: HTMLNvFieldradioElement;\n\n /****************************************************************************/\n //#region DEPRECATED\n\n /**\n * Adds a helpful hint message below the label\n * @deprecated use description instead.\n */\n @Prop()\n readonly message: string;\n\n /**\n * Set the label placement to before the input\n * @deprecated use labelPlacement instead.\n */\n @Prop()\n readonly labelBefore: boolean = false;\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\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 * Use this to assign a group name to your radio buttons. When you have\n * multiple radio buttons with the same name, users will be able to select\n * only one option within that group, making your forms more organized and\n * user-friendly.\n */\n @Prop({ reflect: true })\n readonly name: string;\n\n /**\n * Defines what data will be sent when the radio button is selected.\n * This helps you identify which option the user has chosen in your form,\n * ensuring accurate data collection. When the form is submitted, the data\n * will consist of a name=value pair.\n */\n @Prop({ reflect: true })\n readonly value: string;\n\n /**\n * Sets the text content that is rendered next to the input element of type\n * radio. This label is essential for accessibility and user clarity, as it\n * describes the purpose or option of the radio button.\n */\n @Prop({ reflect: true })\n readonly label: string;\n\n /**\n * Defines the position of the label relative to the radio button.\n */\n @Prop({ mutable: true, reflect: true })\n labelPlacement: `${FieldLabelPlacement}`;\n\n /**\n * Adds a helpful hint message below the label. This description provides\n * extra information or context about the radio button option, assisting users\n * in making more informed choices.\n */\n @Prop({ mutable: true, reflect: true })\n description: string;\n\n /**\n * Highlight the radio button with error styling. It helps users quickly\n * identify which option needs attention, improving their form-filling\n * experience by making issues more visible.\n * @validator error\n */\n @Prop({ reflect: true })\n readonly error: boolean = false;\n\n /**\n * A description that appears when there is an error related to the radio\n * button.\n * @validator message\n */\n @Prop({ reflect: true })\n readonly errorDescription: string;\n\n /**\n * Controls whether the radio button is selected.\n */\n @Prop({ mutable: true, reflect: true })\n checked: boolean = false;\n\n /**\n * Disables the radio button, making it un-selectable.\n */\n @Prop({ reflect: true })\n readonly disabled: 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 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 handleCheckedChange(checked: boolean) {\n this.checkedChanged.emit(checked);\n }\n\n /**\n * Listens for the change event on the radio button input element and controls\n * the checked state of the host elements.\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 === 'radio') {\n Array.from(document.getElementsByTagName('nv-fieldradio')).forEach(\n element => {\n if (element.name === this.name) {\n element.checked = false;\n }\n },\n );\n\n this.checked = target.checked;\n }\n }\n\n //#endregion WATCHERS\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 <input\n type=\"radio\"\n id={this.inputId}\n name={this.name}\n autocomplete=\"off\"\n value={this.value}\n checked={this.checked}\n disabled={this.disabled}\n />\n\n <div class=\"text-container\">\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 {(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,EAAkB,0rJACxB,MAAAC,EAAeD,E,MC0BFE,EAAY,MANzB,WAAAC,CAAAC,G,yDAwBWC,KAAAC,YAAuB,MAuBvBD,KAAAE,QAAkBC,IAiDlBH,KAAAI,MAAiB,MAc1BJ,KAAAK,QAAmB,MAMVL,KAAAM,SAAoB,K,CA1F7B,mBAAAC,GACE,GAAIP,KAAKQ,QAAS,CAChBR,KAAKS,YAAcT,KAAKQ,O,CAG1B,GAAIR,KAAKC,YAAa,CACpBD,KAAKU,eAAiB,Q,EA0G1B,mBAAAC,CAAoBN,GAClBL,KAAKY,eAAeC,KAAKR,E,CAS3B,YAAAS,CAAaC,GACX,MAAMC,EAASD,EAAMC,OAErB,IAAIA,IAAM,MAANA,SAAM,SAANA,EAAQC,QAAS,QAAS,CAC5BC,MAAMC,KAAKC,SAASC,qBAAqB,kBAAkBC,SACzDC,IACE,GAAIA,EAAQC,OAASxB,KAAKwB,KAAM,CAC9BD,EAAQlB,QAAU,K,KAKxBL,KAAKK,QAAUW,EAAOX,O,EAQ1B,MAAAoB,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAOC,EACL9B,KAAKU,iBAAmB,UAAY,yBACpCV,KAAKI,OAAS,UAGhBsB,EAAA,SAAAE,IAAA,2CACEX,KAAK,QACLc,GAAI/B,KAAKE,QACTsB,KAAMxB,KAAKwB,KACXQ,aAAa,MACbC,MAAOjC,KAAKiC,MACZ5B,QAASL,KAAKK,QACdC,SAAUN,KAAKM,WAGjBoB,EAAA,OAAAE,IAAA,2CAAKC,MAAM,mBACP7B,KAAKkC,OAASlC,KAAKmC,GAAGC,cAAc,oBACpCV,EAAA,SAAAE,IAAA,2CAAOS,QAASrC,KAAKE,SACnBwB,EAAA,QAAAE,IAAA,2CAAMJ,KAAK,SAASxB,KAAKkC,SAI3BlC,KAAKS,aACLT,KAAKmC,GAAGC,cAAc,0BACtBV,EAAA,OAAAE,IAAA,2CAAKC,MAAM,eACTH,EAAA,QAAAE,IAAA,2CAAMJ,KAAK,eAAexB,KAAKS,eAIjCT,KAAKsC,kBACLtC,KAAKmC,GAAGC,cAAc,gCACtBV,EAAA,OAAAE,IAAA,2CAAKW,QAASvC,KAAKI,MAAOyB,MAAM,qBAC9BH,EAAA,QAAAE,IAAA,2CAAMJ,KAAK,qBAAqBxB,KAAKsC,oB","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,c as o,h as a,a as r,g as n}from"./p-9b093b92.js";import{c as t}from"./p-8a1a6e56.js";import{F as s}from"./p-74407727.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:var(--focus-outline-stroke) 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:var(--focus-outline-stroke) 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:var(--focus-outline-stroke) 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:var(--focus-outline-stroke) 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:var(--focus-outline-stroke) 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-40f4828a.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as e,f as a,h as t,a as r,g as c}from"./p-9b093b92.js";const i="nv-breadcrumb{display:flex;align-items:center;color:inherit;gap:var(--spacing-1)}nv-breadcrumb>a{display:inline-flex;align-self:center;color:inherit}nv-breadcrumb[current]:not([current=false]){color:var(--color-interaction-link-high-text)}";const s=i;const n=class{constructor(a){e(this,a);this.type="default"}componentDidLoad(){if(this.type==="collapsed")a(this)}componentWillLoad(){if(this.type==="default"&&this.tooltip){this.popoverTrigger=Array.from(this.el.children).find((e=>e.getAttribute("slot")===null))}}render(){return t(r,{key:"44aca9cb5e3a794ca8bae895b96c0c8bba146fa9",role:"listitem","aria-current":this.current?"location":undefined},this.type==="collapsed"?t("button",{ref:e=>this.popoverTrigger=e},"..."):t("slot",null),this.tooltip&&t("nv-tooltip",{key:"4a3ab4872fe69a361be4699a54ecb17175fe7a77",message:this.tooltip,triggerElement:this.popoverTrigger,placement:"top"}),this.type==="collapsed"&&t("nv-popover",{key:"286cc8222a28f70c72e4d4496ba105c82721a2fe",triggerMode:"click",groupName:"breadcrumbs",triggerElement:this.popoverTrigger},t("ul",{key:"c3bc55b938e5a3ec5f90f5f50aefa9fcb75463f8",slot:"content"},t("slot",{key:"2533b6026d20fc818caa3146580b1ffd4d0aa98c"}))),t("slot",{key:"4f3c160421ca81596f7c131592b797b544f43f98",name:"separator"},t("nv-icon",{key:"e7bdab55acbba96b7149e929affd6b07acb13afb",name:"chevron-right","data-scope":"separator"})))}get el(){return c(this)}};n.style=s;export{n as nv_breadcrumb};
2
- //# sourceMappingURL=p-44cc8b59.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["nvBreadcrumbCss","NvBreadcrumbStyle0","NvBreadcrumb","constructor","hostRef","this","type","componentDidLoad","forceUpdate","componentWillLoad","tooltip","popoverTrigger","Array","from","el","children","find","child","getAttribute","render","h","Host","key","role","current","undefined","ref","message","triggerElement","placement","triggerMode","groupName","slot","name"],"sources":["src/components/nv-breadcrumb/nv-breadcrumb.scss?tag=nv-breadcrumb","src/components/nv-breadcrumb/nv-breadcrumb.tsx"],"sourcesContent":["@mixin root-styles() {\n display: flex;\n align-items: center;\n color: inherit;\n gap: var(--spacing-1);\n}\n\n@mixin link-styles() {\n display: inline-flex;\n align-self: center;\n color: inherit;\n}\n\n@mixin current-styles() {\n color: var(--color-interaction-link-high-text);\n}\n\nnv-breadcrumb {\n @include root-styles();\n\n & > a {\n @include link-styles();\n }\n\n &[current]:not([current=\"false\"]) {\n @include current-styles();\n }\n}\n","import { Component, Prop, Host, h, Element, forceUpdate } from '@stencil/core';\nimport { IconName } from '../nv-icon/nv-icons';\n\n/**\n * @slot default - Pass an icon, a link, or text to render the breadcrumb content.\n * @slot separator - The separator between breadcrumb items.\n */\n@Component({\n tag: 'nv-breadcrumb',\n styleUrl: 'nv-breadcrumb.scss',\n shadow: false,\n})\nexport class NvBreadcrumb {\n @Element() el: HTMLNvBreadcrumbElement;\n private popoverTrigger!: Element;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * The type of the breadcrumb. Use 'collapsed' to house multiple breadcrumbs\n * in a dropdown. Use default for a single item. When passing multiple items\n * as collapsed, make sure to wrap you links in list tags\n */\n @Prop({ reflect: true })\n readonly type: 'collapsed' | 'default' = 'default';\n\n /**\n * Add an optional tooltip to provide extra information about the breadcrumb.\n */\n @Prop({ reflect: true })\n readonly tooltip: string;\n\n /**\n * Use this to highlight the breadcrumb as the current page in your\n * navigation. It also makes the page clearer to screen readers with\n * aria-current=\"location\".\n */\n @Prop({ reflect: true })\n readonly current: boolean;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentDidLoad() {\n // Force a re-render to pass the popoverTrigger ref to the popovers\n if (this.type === 'collapsed') forceUpdate(this);\n }\n\n componentWillLoad() {\n if (this.type === 'default' && this.tooltip) {\n this.popoverTrigger = Array.from(this.el.children).find(\n child => child.getAttribute('slot') === null,\n );\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n role=\"listitem\"\n aria-current={this.current ? 'location' : undefined}\n >\n {this.type === 'collapsed' ? (\n <button ref={el => (this.popoverTrigger = el)}>...</button>\n ) : (\n <slot></slot>\n )}\n\n {this.tooltip && (\n <nv-tooltip\n message={this.tooltip}\n triggerElement={this.popoverTrigger}\n placement=\"top\"\n ></nv-tooltip>\n )}\n\n {this.type === 'collapsed' && (\n <nv-popover\n triggerMode=\"click\"\n groupName=\"breadcrumbs\"\n triggerElement={this.popoverTrigger}\n >\n <ul slot=\"content\">\n <slot></slot>\n </ul>\n </nv-popover>\n )}\n\n <slot name=\"separator\">\n <nv-icon\n name={'chevron-right' satisfies IconName}\n data-scope=\"separator\"\n ></nv-icon>\n </slot>\n </Host>\n );\n }\n\n // #endregion RENDER\n}\n"],"mappings":"gEAAA,MAAMA,EAAkB,kPACxB,MAAAC,EAAeD,E,MCWFE,EAAY,MALzB,WAAAC,CAAAC,G,UAkBWC,KAAAC,KAAgC,S,CAoBzC,gBAAAC,GAEE,GAAIF,KAAKC,OAAS,YAAaE,EAAYH,K,CAG7C,iBAAAI,GACE,GAAIJ,KAAKC,OAAS,WAAaD,KAAKK,QAAS,CAC3CL,KAAKM,eAAiBC,MAAMC,KAAKR,KAAKS,GAAGC,UAAUC,MACjDC,GAASA,EAAMC,aAAa,UAAY,M,EAS9C,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,KAAK,WAAU,eACDlB,KAAKmB,QAAU,WAAaC,WAEzCpB,KAAKC,OAAS,YACbc,EAAA,UAAQM,IAAKZ,GAAOT,KAAKM,eAAiBG,GAAG,OAE7CM,EAAA,aAGDf,KAAKK,SACJU,EAAA,cAAAE,IAAA,2CACEK,QAAStB,KAAKK,QACdkB,eAAgBvB,KAAKM,eACrBkB,UAAU,QAIbxB,KAAKC,OAAS,aACbc,EAAA,cAAAE,IAAA,2CACEQ,YAAY,QACZC,UAAU,cACVH,eAAgBvB,KAAKM,gBAErBS,EAAA,MAAAE,IAAA,2CAAIU,KAAK,WACPZ,EAAA,QAAAE,IAAA,+CAKNF,EAAA,QAAAE,IAAA,2CAAMW,KAAK,aACTb,EAAA,WAAAE,IAAA,2CACEW,KAAM,gBAAkC,aAC7B,e","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{d as t,f as n,r as e,c as o,h as s,a as i,g as r}from"./p-9b093b92.js";import{u as c}from"./p-1daca48a.js";import{a,u as l,r as f}from"./p-a37c2ac2.js";const u=["top","right","bottom","left"];const d=["start","end"];const h=u.reduce(((t,n)=>t.concat(n,n+"-"+d[0],n+"-"+d[1])),[]);const p=Math.min;const m=Math.max;const y=Math.round;const g=t=>({x:t,y:t});const v={left:"right",right:"left",bottom:"top",top:"bottom"};const w={start:"end",end:"start"};function b(t,n,e){return m(t,p(n,e))}function x(t,n){return typeof t==="function"?t(n):t}function k(t){return t.split("-")[0]}function A(t){return t.split("-")[1]}function T(t){return t==="x"?"y":"x"}function O(t){return t==="y"?"height":"width"}function C(t){return["top","bottom"].includes(k(t))?"y":"x"}function P(t){return T(C(t))}function D(t,n,e){if(e===void 0){e=false}const o=A(t);const s=P(t);const i=O(s);let r=s==="x"?o===(e?"end":"start")?"right":"left":o==="start"?"bottom":"top";if(n.reference[i]>n.floating[i]){r=M(r)}return[r,M(r)]}function S(t){const n=M(t);return[R(t),n,R(n)]}function R(t){return t.replace(/start|end/g,(t=>w[t]))}function j(t,n,e){const o=["left","right"];const s=["right","left"];const i=["top","bottom"];const r=["bottom","top"];switch(t){case"top":case"bottom":if(e)return n?s:o;return n?o:s;case"left":case"right":return n?i:r;default:return[]}}function L(t,n,e,o){const s=A(t);let i=j(k(t),e==="start",o);if(s){i=i.map((t=>t+"-"+s));if(n){i=i.concat(i.map(R))}}return i}function M(t){return t.replace(/left|right|bottom|top/g,(t=>v[t]))}function B(t){return{top:0,right:0,bottom:0,left:0,...t}}function E(t){return typeof t!=="number"?B(t):{top:t,right:t,bottom:t,left:t}}function F(t){const{x:n,y:e,width:o,height:s}=t;return{width:o,height:s,top:e,left:n,right:n+o,bottom:e+s,x:n,y:e}}function H(t,n,e){let{reference:o,floating:s}=t;const i=C(n);const r=P(n);const c=O(r);const a=k(n);const l=i==="y";const f=o.x+o.width/2-s.width/2;const u=o.y+o.height/2-s.height/2;const d=o[c]/2-s[c]/2;let h;switch(a){case"top":h={x:f,y:o.y-s.height};break;case"bottom":h={x:f,y:o.y+o.height};break;case"right":h={x:o.x+o.width,y:u};break;case"left":h={x:o.x-s.width,y:u};break;default:h={x:o.x,y:o.y}}switch(A(n)){case"start":h[r]-=d*(e&&l?-1:1);break;case"end":h[r]+=d*(e&&l?-1:1);break}return h}const $=async(t,n,e)=>{const{placement:o="bottom",strategy:s="absolute",middleware:i=[],platform:r}=e;const c=i.filter(Boolean);const a=await(r.isRTL==null?void 0:r.isRTL(n));let l=await r.getElementRects({reference:t,floating:n,strategy:s});let{x:f,y:u}=H(l,o,a);let d=o;let h={};let p=0;for(let e=0;e<c.length;e++){const{name:i,fn:m}=c[e];const{x:y,y:g,data:v,reset:w}=await m({x:f,y:u,initialPlacement:o,placement:d,strategy:s,middlewareData:h,rects:l,platform:r,elements:{reference:t,floating:n}});f=y!=null?y:f;u=g!=null?g:u;h={...h,[i]:{...h[i],...v}};if(w&&p<=50){p++;if(typeof w==="object"){if(w.placement){d=w.placement}if(w.rects){l=w.rects===true?await r.getElementRects({reference:t,floating:n,strategy:s}):w.rects}({x:f,y:u}=H(l,d,a))}e=-1}}return{x:f,y:u,placement:d,strategy:s,middlewareData:h}};async function W(t,n){var e;if(n===void 0){n={}}const{x:o,y:s,platform:i,rects:r,elements:c,strategy:a}=t;const{boundary:l="clippingAncestors",rootBoundary:f="viewport",elementContext:u="floating",altBoundary:d=false,padding:h=0}=x(n,t);const p=E(h);const m=u==="floating"?"reference":"floating";const y=c[d?m:u];const g=F(await i.getClippingRect({element:((e=await(i.isElement==null?void 0:i.isElement(y)))!=null?e:true)?y:y.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(c.floating)),boundary:l,rootBoundary:f,strategy:a}));const v=u==="floating"?{x:o,y:s,width:r.floating.width,height:r.floating.height}:r.reference;const w=await(i.getOffsetParent==null?void 0:i.getOffsetParent(c.floating));const b=await(i.isElement==null?void 0:i.isElement(w))?await(i.getScale==null?void 0:i.getScale(w))||{x:1,y:1}:{x:1,y:1};const k=F(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:v,offsetParent:w,strategy:a}):v);return{top:(g.top-k.top+p.top)/b.y,bottom:(k.bottom-g.bottom+p.bottom)/b.y,left:(g.left-k.left+p.left)/b.x,right:(k.right-g.right+p.right)/b.x}}const z=t=>({name:"arrow",options:t,async fn(n){const{x:e,y:o,placement:s,rects:i,platform:r,elements:c,middlewareData:a}=n;const{element:l,padding:f=0}=x(t,n)||{};if(l==null){return{}}const u=E(f);const d={x:e,y:o};const h=P(s);const m=O(h);const y=await r.getDimensions(l);const g=h==="y";const v=g?"top":"left";const w=g?"bottom":"right";const k=g?"clientHeight":"clientWidth";const T=i.reference[m]+i.reference[h]-d[h]-i.floating[m];const C=d[h]-i.reference[h];const D=await(r.getOffsetParent==null?void 0:r.getOffsetParent(l));let S=D?D[k]:0;if(!S||!await(r.isElement==null?void 0:r.isElement(D))){S=c.floating[k]||i.floating[m]}const R=T/2-C/2;const j=S/2-y[m]/2-1;const L=p(u[v],j);const M=p(u[w],j);const B=L;const F=S-y[m]-M;const H=S/2-y[m]/2+R;const $=b(B,H,F);const W=!a.arrow&&A(s)!=null&&H!==$&&i.reference[m]/2-(H<B?L:M)-y[m]/2<0;const z=W?H<B?H-B:H-F:0;return{[h]:d[h]+z,data:{[h]:$,centerOffset:H-$-z,...W&&{alignmentOffset:z}},reset:W}}});function N(t,n,e){const o=t?[...e.filter((n=>A(n)===t)),...e.filter((n=>A(n)!==t))]:e.filter((t=>k(t)===t));return o.filter((e=>{if(t){return A(e)===t||(n?R(e)!==e:false)}return true}))}const I=function(t){if(t===void 0){t={}}return{name:"autoPlacement",options:t,async fn(n){var e,o,s;const{rects:i,middlewareData:r,placement:c,platform:a,elements:l}=n;const{crossAxis:f=false,alignment:u,allowedPlacements:d=h,autoAlignment:p=true,...m}=x(t,n);const y=u!==undefined||d===h?N(u||null,p,d):d;const g=await W(n,m);const v=((e=r.autoPlacement)==null?void 0:e.index)||0;const w=y[v];if(w==null){return{}}const b=D(w,i,await(a.isRTL==null?void 0:a.isRTL(l.floating)));if(c!==w){return{reset:{placement:y[0]}}}const T=[g[k(w)],g[b[0]],g[b[1]]];const O=[...((o=r.autoPlacement)==null?void 0:o.overflows)||[],{placement:w,overflows:T}];const C=y[v+1];if(C){return{data:{index:v+1,overflows:O},reset:{placement:C}}}const P=O.map((t=>{const n=A(t.placement);return[t.placement,n&&f?t.overflows.slice(0,2).reduce(((t,n)=>t+n),0):t.overflows[0],t.overflows]})).sort(((t,n)=>t[1]-n[1]));const S=P.filter((t=>t[2].slice(0,A(t[0])?2:3).every((t=>t<=0))));const R=((s=S[0])==null?void 0:s[0])||P[0][0];if(R!==c){return{data:{index:v+1,overflows:O},reset:{placement:R}}}return{}}}};const U=function(t){if(t===void 0){t={}}return{name:"flip",options:t,async fn(n){var e,o;const{placement:s,middlewareData:i,rects:r,initialPlacement:c,platform:a,elements:l}=n;const{mainAxis:f=true,crossAxis:u=true,fallbackPlacements:d,fallbackStrategy:h="bestFit",fallbackAxisSideDirection:p="none",flipAlignment:m=true,...y}=x(t,n);if((e=i.arrow)!=null&&e.alignmentOffset){return{}}const g=k(s);const v=k(c)===c;const w=await(a.isRTL==null?void 0:a.isRTL(l.floating));const b=d||(v||!m?[M(c)]:S(c));if(!d&&p!=="none"){b.push(...L(c,m,p,w))}const A=[c,...b];const T=await W(n,y);const O=[];let C=((o=i.flip)==null?void 0:o.overflows)||[];if(f){O.push(T[g])}if(u){const t=D(s,r,w);O.push(T[t[0]],T[t[1]])}C=[...C,{placement:s,overflows:O}];if(!O.every((t=>t<=0))){var P,R;const t=(((P=i.flip)==null?void 0:P.index)||0)+1;const n=A[t];if(n){return{data:{index:t,overflows:C},reset:{placement:n}}}let e=(R=C.filter((t=>t.overflows[0]<=0)).sort(((t,n)=>t.overflows[1]-n.overflows[1]))[0])==null?void 0:R.placement;if(!e){switch(h){case"bestFit":{var j;const t=(j=C.map((t=>[t.placement,t.overflows.filter((t=>t>0)).reduce(((t,n)=>t+n),0)])).sort(((t,n)=>t[1]-n[1]))[0])==null?void 0:j[0];if(t){e=t}break}case"initialPlacement":e=c;break}}if(s!==e){return{reset:{placement:e}}}}return{}}}};function _(t,n){return{top:t.top-n.height,right:t.right-n.width,bottom:t.bottom-n.height,left:t.left-n.width}}function G(t){return u.some((n=>t[n]>=0))}const K=function(t){if(t===void 0){t={}}return{name:"hide",options:t,async fn(n){const{rects:e}=n;const{strategy:o="referenceHidden",...s}=x(t,n);switch(o){case"referenceHidden":{const t=await W(n,{...s,elementContext:"reference"});const o=_(t,e.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:G(o)}}}case"escaped":{const t=await W(n,{...s,altBoundary:true});const o=_(t,e.floating);return{data:{escapedOffsets:o,escaped:G(o)}}}default:{return{}}}}}};function V(t){const n=p(...t.map((t=>t.left)));const e=p(...t.map((t=>t.top)));const o=m(...t.map((t=>t.right)));const s=m(...t.map((t=>t.bottom)));return{x:n,y:e,width:o-n,height:s-e}}function X(t){const n=t.slice().sort(((t,n)=>t.y-n.y));const e=[];let o=null;for(let t=0;t<n.length;t++){const s=n[t];if(!o||s.y-o.y>o.height/2){e.push([s])}else{e[e.length-1].push(s)}o=s}return e.map((t=>F(V(t))))}const Y=function(t){if(t===void 0){t={}}return{name:"inline",options:t,async fn(n){const{placement:e,elements:o,rects:s,platform:i,strategy:r}=n;const{padding:c=2,x:a,y:l}=x(t,n);const f=Array.from(await(i.getClientRects==null?void 0:i.getClientRects(o.reference))||[]);const u=X(f);const d=F(V(f));const h=E(c);function y(){if(u.length===2&&u[0].left>u[1].right&&a!=null&&l!=null){return u.find((t=>a>t.left-h.left&&a<t.right+h.right&&l>t.top-h.top&&l<t.bottom+h.bottom))||d}if(u.length>=2){if(C(e)==="y"){const t=u[0];const n=u[u.length-1];const o=k(e)==="top";const s=t.top;const i=n.bottom;const r=o?t.left:n.left;const c=o?t.right:n.right;const a=c-r;const l=i-s;return{top:s,bottom:i,left:r,right:c,width:a,height:l,x:r,y:s}}const t=k(e)==="left";const n=m(...u.map((t=>t.right)));const o=p(...u.map((t=>t.left)));const s=u.filter((e=>t?e.left===o:e.right===n));const i=s[0].top;const r=s[s.length-1].bottom;const c=o;const a=n;const l=a-c;const f=r-i;return{top:i,bottom:r,left:c,right:a,width:l,height:f,x:c,y:i}}return d}const g=await i.getElementRects({reference:{getBoundingClientRect:y},floating:o.floating,strategy:r});if(s.reference.x!==g.reference.x||s.reference.y!==g.reference.y||s.reference.width!==g.reference.width||s.reference.height!==g.reference.height){return{reset:{rects:g}}}return{}}}};async function q(t,n){const{placement:e,platform:o,elements:s}=t;const i=await(o.isRTL==null?void 0:o.isRTL(s.floating));const r=k(e);const c=A(e);const a=C(e)==="y";const l=["left","top"].includes(r)?-1:1;const f=i&&a?-1:1;const u=x(n,t);let{mainAxis:d,crossAxis:h,alignmentAxis:p}=typeof u==="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...u};if(c&&typeof p==="number"){h=c==="end"?p*-1:p}return a?{x:h*f,y:d*l}:{x:d*l,y:h*f}}const J=function(t){if(t===void 0){t=0}return{name:"offset",options:t,async fn(n){var e,o;const{x:s,y:i,placement:r,middlewareData:c}=n;const a=await q(n,t);if(r===((e=c.offset)==null?void 0:e.placement)&&(o=c.arrow)!=null&&o.alignmentOffset){return{}}return{x:s+a.x,y:i+a.y,data:{...a,placement:r}}}}};const Q=function(t){if(t===void 0){t={}}return{name:"shift",options:t,async fn(n){const{x:e,y:o,placement:s}=n;const{mainAxis:i=true,crossAxis:r=false,limiter:c={fn:t=>{let{x:n,y:e}=t;return{x:n,y:e}}},...a}=x(t,n);const l={x:e,y:o};const f=await W(n,a);const u=C(k(s));const d=T(u);let h=l[d];let p=l[u];if(i){const t=d==="y"?"top":"left";const n=d==="y"?"bottom":"right";const e=h+f[t];const o=h-f[n];h=b(e,h,o)}if(r){const t=u==="y"?"top":"left";const n=u==="y"?"bottom":"right";const e=p+f[t];const o=p-f[n];p=b(e,p,o)}const m=c.fn({...n,[d]:h,[u]:p});return{...m,data:{x:m.x-e,y:m.y-o}}}}};const Z=function(t){if(t===void 0){t={}}return{options:t,fn(n){const{x:e,y:o,placement:s,rects:i,middlewareData:r}=n;const{offset:c=0,mainAxis:a=true,crossAxis:l=true}=x(t,n);const f={x:e,y:o};const u=C(s);const d=T(u);let h=f[d];let p=f[u];const m=x(c,n);const y=typeof m==="number"?{mainAxis:m,crossAxis:0}:{mainAxis:0,crossAxis:0,...m};if(a){const t=d==="y"?"height":"width";const n=i.reference[d]-i.floating[t]+y.mainAxis;const e=i.reference[d]+i.reference[t]-y.mainAxis;if(h<n){h=n}else if(h>e){h=e}}if(l){var g,v;const t=d==="y"?"width":"height";const n=["top","left"].includes(k(s));const e=i.reference[u]-i.floating[t]+(n?((g=r.offset)==null?void 0:g[u])||0:0)+(n?0:y.crossAxis);const o=i.reference[u]+i.reference[t]+(n?0:((v=r.offset)==null?void 0:v[u])||0)-(n?y.crossAxis:0);if(p<e){p=e}else if(p>o){p=o}}return{[d]:h,[u]:p}}}};const tt=function(t){if(t===void 0){t={}}return{name:"size",options:t,async fn(n){const{placement:e,rects:o,platform:s,elements:i}=n;const{apply:r=(()=>{}),...c}=x(t,n);const a=await W(n,c);const l=k(e);const f=A(e);const u=C(e)==="y";const{width:d,height:h}=o.floating;let y;let g;if(l==="top"||l==="bottom"){y=l;g=f===(await(s.isRTL==null?void 0:s.isRTL(i.floating))?"start":"end")?"left":"right"}else{g=l;y=f==="end"?"top":"bottom"}const v=h-a.top-a.bottom;const w=d-a.left-a.right;const b=p(h-a[y],v);const T=p(d-a[g],w);const O=!n.middlewareData.shift;let P=b;let D=T;if(u){D=f||O?p(T,w):w}else{P=f||O?p(b,v):v}if(O&&!f){const t=m(a.left,0);const n=m(a.right,0);const e=m(a.top,0);const o=m(a.bottom,0);if(u){D=d-2*(t!==0||n!==0?t+n:m(a.left,a.right))}else{P=h-2*(e!==0||o!==0?e+o:m(a.top,a.bottom))}}await r({...n,availableWidth:D,availableHeight:P});const S=await s.getDimensions(i.floating);if(d!==S.width||h!==S.height){return{reset:{rects:true}}}return{}}}};function nt(){return typeof window!=="undefined"}function et(t){if(it(t)){return(t.nodeName||"").toLowerCase()}return"#document"}function ot(t){var n;return(t==null||(n=t.ownerDocument)==null?void 0:n.defaultView)||window}function st(t){var n;return(n=(it(t)?t.ownerDocument:t.document)||window.document)==null?void 0:n.documentElement}function it(t){if(!nt()){return false}return t instanceof Node||t instanceof ot(t).Node}function rt(t){if(!nt()){return false}return t instanceof Element||t instanceof ot(t).Element}function ct(t){if(!nt()){return false}return t instanceof HTMLElement||t instanceof ot(t).HTMLElement}function at(t){if(!nt()||typeof ShadowRoot==="undefined"){return false}return t instanceof ShadowRoot||t instanceof ot(t).ShadowRoot}function lt(t){const{overflow:n,overflowX:e,overflowY:o,display:s}=yt(t);return/auto|scroll|overlay|hidden|clip/.test(n+o+e)&&!["inline","contents"].includes(s)}function ft(t){return["table","td","th"].includes(et(t))}function ut(t){return[":popover-open",":modal"].some((n=>{try{return t.matches(n)}catch(t){return false}}))}function dt(t){const n=pt();const e=rt(t)?yt(t):t;return e.transform!=="none"||e.perspective!=="none"||(e.containerType?e.containerType!=="normal":false)||!n&&(e.backdropFilter?e.backdropFilter!=="none":false)||!n&&(e.filter?e.filter!=="none":false)||["transform","perspective","filter"].some((t=>(e.willChange||"").includes(t)))||["paint","layout","strict","content"].some((t=>(e.contain||"").includes(t)))}function ht(t){let n=vt(t);while(ct(n)&&!mt(n)){if(dt(n)){return n}else if(ut(n)){return null}n=vt(n)}return null}function pt(){if(typeof CSS==="undefined"||!CSS.supports)return false;return CSS.supports("-webkit-backdrop-filter","none")}function mt(t){return["html","body","#document"].includes(et(t))}function yt(t){return ot(t).getComputedStyle(t)}function gt(t){if(rt(t)){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}return{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function vt(t){if(et(t)==="html"){return t}const n=t.assignedSlot||t.parentNode||at(t)&&t.host||st(t);return at(n)?n.host:n}function wt(t){const n=vt(t);if(mt(n)){return t.ownerDocument?t.ownerDocument.body:t.body}if(ct(n)&&lt(n)){return n}return wt(n)}function bt(t,n,e){var o;if(n===void 0){n=[]}if(e===void 0){e=true}const s=wt(t);const i=s===((o=t.ownerDocument)==null?void 0:o.body);const r=ot(s);if(i){const t=xt(r);return n.concat(r,r.visualViewport||[],lt(s)?s:[],t&&e?bt(t):[])}return n.concat(s,bt(s,[],e))}function xt(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function kt(t){const n=yt(t);let e=parseFloat(n.width)||0;let o=parseFloat(n.height)||0;const s=ct(t);const i=s?t.offsetWidth:e;const r=s?t.offsetHeight:o;const c=y(e)!==i||y(o)!==r;if(c){e=i;o=r}return{width:e,height:o,$:c}}function At(t){return!rt(t)?t.contextElement:t}function Tt(t){const n=At(t);if(!ct(n)){return g(1)}const e=n.getBoundingClientRect();const{width:o,height:s,$:i}=kt(n);let r=(i?y(e.width):e.width)/o;let c=(i?y(e.height):e.height)/s;if(!r||!Number.isFinite(r)){r=1}if(!c||!Number.isFinite(c)){c=1}return{x:r,y:c}}const Ot=g(0);function Ct(t){const n=ot(t);if(!pt()||!n.visualViewport){return Ot}return{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function Pt(t,n,e){if(n===void 0){n=false}if(!e||n&&e!==ot(t)){return false}return n}function Dt(t,n,e,o){if(n===void 0){n=false}if(e===void 0){e=false}const s=t.getBoundingClientRect();const i=At(t);let r=g(1);if(n){if(o){if(rt(o)){r=Tt(o)}}else{r=Tt(t)}}const c=Pt(i,e,o)?Ct(i):g(0);let a=(s.left+c.x)/r.x;let l=(s.top+c.y)/r.y;let f=s.width/r.x;let u=s.height/r.y;if(i){const t=ot(i);const n=o&&rt(o)?ot(o):o;let e=t;let s=xt(e);while(s&&o&&n!==e){const t=Tt(s);const n=s.getBoundingClientRect();const o=yt(s);const i=n.left+(s.clientLeft+parseFloat(o.paddingLeft))*t.x;const r=n.top+(s.clientTop+parseFloat(o.paddingTop))*t.y;a*=t.x;l*=t.y;f*=t.x;u*=t.y;a+=i;l+=r;e=ot(s);s=xt(e)}}return F({width:f,height:u,x:a,y:l})}function St(t){let{elements:n,rect:e,offsetParent:o,strategy:s}=t;const i=s==="fixed";const r=st(o);const c=n?ut(n.floating):false;if(o===r||c&&i){return e}let a={scrollLeft:0,scrollTop:0};let l=g(1);const f=g(0);const u=ct(o);if(u||!u&&!i){if(et(o)!=="body"||lt(r)){a=gt(o)}if(ct(o)){const t=Dt(o);l=Tt(o);f.x=t.x+o.clientLeft;f.y=t.y+o.clientTop}}return{width:e.width*l.x,height:e.height*l.y,x:e.x*l.x-a.scrollLeft*l.x+f.x,y:e.y*l.y-a.scrollTop*l.y+f.y}}function Rt(t){return Array.from(t.getClientRects())}function jt(t,n){const e=gt(t).scrollLeft;if(!n){return Dt(st(t)).left+e}return n.left+e}function Lt(t){const n=st(t);const e=gt(t);const o=t.ownerDocument.body;const s=m(n.scrollWidth,n.clientWidth,o.scrollWidth,o.clientWidth);const i=m(n.scrollHeight,n.clientHeight,o.scrollHeight,o.clientHeight);let r=-e.scrollLeft+jt(t);const c=-e.scrollTop;if(yt(o).direction==="rtl"){r+=m(n.clientWidth,o.clientWidth)-s}return{width:s,height:i,x:r,y:c}}function Mt(t,n){const e=ot(t);const o=st(t);const s=e.visualViewport;let i=o.clientWidth;let r=o.clientHeight;let c=0;let a=0;if(s){i=s.width;r=s.height;const t=pt();if(!t||t&&n==="fixed"){c=s.offsetLeft;a=s.offsetTop}}return{width:i,height:r,x:c,y:a}}function Bt(t,n){const e=Dt(t,true,n==="fixed");const o=e.top+t.clientTop;const s=e.left+t.clientLeft;const i=ct(t)?Tt(t):g(1);const r=t.clientWidth*i.x;const c=t.clientHeight*i.y;const a=s*i.x;const l=o*i.y;return{width:r,height:c,x:a,y:l}}function Et(t,n,e){let o;if(n==="viewport"){o=Mt(t,e)}else if(n==="document"){o=Lt(st(t))}else if(rt(n)){o=Bt(n,e)}else{const e=Ct(t);o={...n,x:n.x-e.x,y:n.y-e.y}}return F(o)}function Ft(t,n){const e=vt(t);if(e===n||!rt(e)||mt(e)){return false}return yt(e).position==="fixed"||Ft(e,n)}function Ht(t,n){const e=n.get(t);if(e){return e}let o=bt(t,[],false).filter((t=>rt(t)&&et(t)!=="body"));let s=null;const i=yt(t).position==="fixed";let r=i?vt(t):t;while(rt(r)&&!mt(r)){const n=yt(r);const e=dt(r);if(!e&&n.position==="fixed"){s=null}const c=i?!e&&!s:!e&&n.position==="static"&&!!s&&["absolute","fixed"].includes(s.position)||lt(r)&&!e&&Ft(t,r);if(c){o=o.filter((t=>t!==r))}else{s=n}r=vt(r)}n.set(t,o);return o}function $t(t){let{element:n,boundary:e,rootBoundary:o,strategy:s}=t;const i=e==="clippingAncestors"?ut(n)?[]:Ht(n,this._c):[].concat(e);const r=[...i,o];const c=r[0];const a=r.reduce(((t,e)=>{const o=Et(n,e,s);t.top=m(o.top,t.top);t.right=p(o.right,t.right);t.bottom=p(o.bottom,t.bottom);t.left=m(o.left,t.left);return t}),Et(n,c,s));return{width:a.right-a.left,height:a.bottom-a.top,x:a.left,y:a.top}}function Wt(t){const{width:n,height:e}=kt(t);return{width:n,height:e}}function zt(t,n,e){const o=ct(n);const s=st(n);const i=e==="fixed";const r=Dt(t,true,i,n);let c={scrollLeft:0,scrollTop:0};const a=g(0);if(o||!o&&!i){if(et(n)!=="body"||lt(s)){c=gt(n)}if(o){const t=Dt(n,true,i,n);a.x=t.x+n.clientLeft;a.y=t.y+n.clientTop}else if(s){a.x=jt(s)}}let l=0;let f=0;if(s&&!o&&!i){const t=s.getBoundingClientRect();f=t.top+c.scrollTop;l=t.left+c.scrollLeft-jt(s,t)}const u=r.left+c.scrollLeft-a.x-l;const d=r.top+c.scrollTop-a.y-f;return{x:u,y:d,width:r.width,height:r.height}}function Nt(t){return yt(t).position==="static"}function It(t,n){if(!ct(t)||yt(t).position==="fixed"){return null}if(n){return n(t)}let e=t.offsetParent;if(st(t)===e){e=e.ownerDocument.body}return e}function Ut(t,n){const e=ot(t);if(ut(t)){return e}if(!ct(t)){let n=vt(t);while(n&&!mt(n)){if(rt(n)&&!Nt(n)){return n}n=vt(n)}return e}let o=It(t,n);while(o&&ft(o)&&Nt(o)){o=It(o,n)}if(o&&mt(o)&&Nt(o)&&!dt(o)){return e}return o||ht(t)||e}const _t=async function(t){const n=this.getOffsetParent||Ut;const e=this.getDimensions;const o=await e(t.floating);return{reference:zt(t.reference,await n(t.floating),t.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function Gt(t){return yt(t).direction==="rtl"}const Kt={convertOffsetParentRelativeRectToViewportRelativeRect:St,getDocumentElement:st,getClippingRect:$t,getOffsetParent:Ut,getElementRects:_t,getClientRects:Rt,getDimensions:Wt,getScale:Tt,isElement:rt,isRTL:Gt};const Vt=J;I;const Xt=Q;const Yt=U;tt;K;const qt=z;Y;Z;const Jt=(t,n,e)=>{const o=new Map;const s={platform:Kt,...e};const i={...s.platform,_c:o};return $(t,n,{...s,platform:i})};const Qt=(t,n,e)=>{const o=t.get(n);if(!o){t.set(n,[e])}else if(!o.includes(e)){o.push(e)}};const Zt=(t,n)=>{let e;return(...o)=>{if(e){clearTimeout(e)}e=setTimeout((()=>{e=0;t(...o)}),n)}};const tn=t=>!("isConnected"in t)||t.isConnected;const nn=Zt((t=>{for(let n of t.keys()){t.set(n,t.get(n).filter(tn))}}),2e3);const en=()=>{if(typeof t!=="function"){return{}}const e=new Map;return{dispose:()=>e.clear(),get:n=>{const o=t();if(o){Qt(e,n,o)}},set:t=>{const o=e.get(t);if(o){e.set(t,o.filter(n))}nn(e)},reset:()=>{e.forEach((t=>t.forEach(n)));nn(e)}}};const on=t=>typeof t==="function"?t():t;const sn=(t,n=((t,n)=>t!==n))=>{const e=on(t);let o=new Map(Object.entries(e!==null&&e!==void 0?e:{}));const s={dispose:[],get:[],set:[],reset:[]};const i=()=>{var n;o=new Map(Object.entries((n=on(t))!==null&&n!==void 0?n:{}));s.reset.forEach((t=>t()))};const r=()=>{s.dispose.forEach((t=>t()));i()};const c=t=>{s.get.forEach((n=>n(t)));return o.get(t)};const a=(t,e)=>{const i=o.get(t);if(n(e,i,t)){o.set(t,e);s.set.forEach((n=>n(t,e,i)))}};const l=typeof Proxy==="undefined"?{}:new Proxy(e,{get(t,n){return c(n)},ownKeys(t){return Array.from(o.keys())},getOwnPropertyDescriptor(){return{enumerable:true,configurable:true}},has(t,n){return o.has(n)},set(t,n,e){a(n,e);return true}});const f=(t,n)=>{s[t].push(n);return()=>{rn(s[t],n)}};const u=(n,e)=>{const o=f("set",((t,o)=>{if(t===n){e(o)}}));const s=f("reset",(()=>e(on(t)[n])));return()=>{o();s()}};const d=(...t)=>{const n=t.reduce(((t,n)=>{if(n.set){t.push(f("set",n.set))}if(n.get){t.push(f("get",n.get))}if(n.reset){t.push(f("reset",n.reset))}if(n.dispose){t.push(f("dispose",n.dispose))}return t}),[]);return()=>n.forEach((t=>t()))};const h=t=>{const n=o.get(t);s.set.forEach((e=>e(t,n,n)))};return{state:l,get:c,set:a,on:f,onChange:u,use:d,dispose:r,reset:i,forceUpdate:h}};const rn=(t,n)=>{const e=t.indexOf(n);if(e>=0){t[e]=t[t.length-1];t.length--}};const cn=(t,n)=>{const e=sn(t,n);e.use(en());return e};const an="nv-popover{display:inline-block;position:relative}nv-popover:has([fluid]:not([fluid=false])){display:block}nv-popover [data-scope=popover]{width:max-content;background-color:var(--components-popover-background);border-color:var(--components-popover-border);font-weight:var(--font-weight-medium-emphasis);border-width:1px;border-style:solid;border-radius:var(--popover-radius);padding:var(--popover-padding-y) var(--popover-padding-x);position:absolute;top:0;left:0;z-index:1;box-shadow:var(--popover-shadow-1-x) var(--popover-shadow-1-y) var(--popover-shadow-1-blur) -2px var(--popover-shadow-1-opacity), var(--popover-shadow-2-x) var(--popover-shadow-2-y) var(--popover-shadow-2-blur) var(--shadow-spread-lg-2) var(--popover-shadow-2-opacity)}nv-popover [data-scope=arrow]{background-color:var(--components-popover-background);position:absolute;border-color:var(--components-popover-border);border-width:1px;border-style:solid;border-bottom-color:transparent;border-right-color:transparent;width:8px;height:8px;transform:rotate(45deg);border-radius:1px}nv-popover [slot=content]{position:relative;z-index:1}nv-popover slot-fb{display:none}";const ln=an;const{state:fn}=cn({groups:new Map});const un=class{constructor(t){e(this,t);this.openChanged=o(this,"openChanged",7);this.eventsAttached=false;this.open=false;this.triggerMode="click";this.placement="bottom";this.offset=6;this.hasArrow=false;this.disableFlip=false;this.shiftPadding=16;this.enterDelay=0;this.nested=false;this.handleClickOutside=t=>{if(this.el.contains(t.target))return;if(this.triggerElement.contains(t.target))return;this.hide()};this.clickEvents=[["click",this.toggle],["touchstart",this.toggle],["keydown",t=>{if(t.key==="Enter"||t.key===" "){t.preventDefault();this.toggle()}}]];this.hoverEvents=[["focus",()=>{clearTimeout(this.hideTimeout);this.showTimeout=setTimeout((()=>this.show()),this.enterDelay)}],["blur",()=>{clearTimeout(this.showTimeout);this.hideTimeout=setTimeout((()=>this.hide()),50)}],["mouseenter",()=>{clearTimeout(this.hideTimeout);this.showTimeout=setTimeout((()=>this.show()),this.enterDelay)}],["mouseleave",()=>{clearTimeout(this.showTimeout);this.hideTimeout=setTimeout((()=>this.hide()),100)}]];this.closeEvents=[["keydown",t=>{if(t.key==="Escape"){this.hide()}}]];this.isAnimating=false}async show(){this.open=true}async hide(){this.open=false}async toggle(){this.open=!this.open}attachEventListeners(){if(this.triggerElement&&!this.eventsAttached){a(this.closeEvents,document,this);if(this.triggerMode==="click")a(this.clickEvents,this.triggerElement,this);if(this.triggerMode==="hover")a(this.hoverEvents,this.triggerElement,this);this.eventsAttached=true}}positionPopover(){if(!this.triggerElement)return;Jt(this.triggerElement,this.popoverElement,{placement:this.placement,middleware:[Vt(this.offset),!this.disableFlip&&Yt({fallbackStrategy:"bestFit",crossAxis:true,fallbackPlacements:["bottom"]}),Xt({padding:this.shiftPadding}),this.hasArrow&&qt({element:this.arrowElement})]}).then((({x:t,y:n,placement:e,middlewareData:o})=>{Object.assign(this.popoverElement.style,{left:`${t}px`,top:`${n}px`});if(this.hasArrow){const t={top:"bottom",right:"left",bottom:"top",left:"right"}[e.split("-")[0]];const n={top:"rotate(225deg)",right:"rotate(315deg)",bottom:"rotate(45deg)",left:"rotate(135deg)"}[e.split("-")[0]];const{x:s,y:i}=o.arrow;Object.assign(this.arrowElement.style,{left:s!=null?`${s}px`:"",top:i!=null?`${i}px`:"",right:"",bottom:"",transform:n,[t]:"-4px"})}}))}handleOpenChanged(t){var n;if(this.triggerMode==="controlled")return;if(this.nested)return;if((n=t.target)===null||n===void 0?void 0:n.hasAttribute("nested"))return;if(t.target!==this.el&&t.detail===true)this.hide()}handleDocumentClick(t){if(this.triggerMode==="controlled")return;this.handleClickOutside(t)}handleDocumentTouch(t){if(this.triggerMode==="controlled")return;this.handleClickOutside(t)}async handleOpenChange(t){while(this.isAnimating){await new Promise((t=>setTimeout(t,50)))}this.isAnimating=true;const n=fn.groups.get(this.groupName);const e=n&&n.openedBy!==this.el;const o=n&&n.openedBy===this.el;if(t)this.popoverElement.style.removeProperty("display");if(o&&!t)fn.groups.delete(this.groupName);if(this.groupName&&t)fn.groups.set(this.groupName,{openedBy:this.el});const{growIn:s}=l(this.popoverElement,{duration:e?0:100,amount:.85});const{fadeOut:i}=c(this.popoverElement,{duration:e?0:100});if(t===true){this.popoverElement.removeAttribute("hidden");this.positionPopover();await s()}if(t===false){await i();this.popoverElement.setAttribute("hidden","")}this.isAnimating=false;this.openChanged.emit(t)}componentWillLoad(){if(!this.triggerElement)this.triggerElement=Array.from(this.el.children).find((t=>t.getAttribute("slot")==="trigger"))}componentWillUpdate(){this.attachEventListeners()}componentDidLoad(){if(!this.open){const{setGrowOut:t}=l(this.popoverElement);t()}else{const{setFadeIn:t}=c(this.popoverElement);t();this.popoverElement.removeAttribute("hidden")}this.positionPopover();this.attachEventListeners()}disconnectedCallback(){f(this.closeEvents,document,this);if(this.triggerMode==="click")f(this.clickEvents,this.triggerElement,this);if(this.triggerMode==="hover")f(this.hoverEvents,this.triggerElement,this)}render(){return s(i,{key:"1014588b3220a543ba8f51aa82664b933e4ff477"},s("slot",{key:"5a6d7bb46a32f77a4eab3fe0fd105b268862c2aa",name:"trigger"}),s("div",{key:"c9043c20aa2667b80bd3668992a017b89da0dbba","data-scope":"popover",hidden:true,ref:t=>this.popoverElement=t},this.hasArrow&&s("div",{key:"1ffcc0878409b66d7cecd398e18d1923465d5381","data-scope":"arrow",ref:t=>this.arrowElement=t}),s("slot",{key:"814d6cdc6150c66342c35607364bfcf60c85b036",name:"content"})))}get el(){return r(this)}static get watchers(){return{open:["handleOpenChange"]}}};un.style=ln;export{un as nv_popover};
2
- //# sourceMappingURL=p-4e056cd8.entry.js.map