@nova-design-system/nova-webcomponents 3.0.0-beta.17

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 (540) hide show
  1. package/LICENSE.MD +157 -0
  2. package/dist/blazor-docs.json +9342 -0
  3. package/dist/cjs/app-globals-2ceecab2.js +11 -0
  4. package/dist/cjs/app-globals-2ceecab2.js.map +1 -0
  5. package/dist/cjs/clsx-fc789adc.js +7 -0
  6. package/dist/cjs/clsx-fc789adc.js.map +1 -0
  7. package/dist/cjs/constants-33057c89.js +140 -0
  8. package/dist/cjs/constants-33057c89.js.map +1 -0
  9. package/dist/cjs/fade.animation-0d33d198.js +1875 -0
  10. package/dist/cjs/fade.animation-0d33d198.js.map +1 -0
  11. package/dist/cjs/grow.animation-46e7ae4b.js +119 -0
  12. package/dist/cjs/grow.animation-46e7ae4b.js.map +1 -0
  13. package/dist/cjs/index-5d1f2412.js +1984 -0
  14. package/dist/cjs/index-5d1f2412.js.map +1 -0
  15. package/dist/cjs/index.cjs.js +494 -0
  16. package/dist/cjs/index.cjs.js.map +1 -0
  17. package/dist/cjs/loader.cjs.js +17 -0
  18. package/dist/cjs/loader.cjs.js.map +1 -0
  19. package/dist/cjs/native.cjs.js +48 -0
  20. package/dist/cjs/native.cjs.js.map +1 -0
  21. package/dist/cjs/nv-alert.cjs.entry.js +140 -0
  22. package/dist/cjs/nv-alert.cjs.entry.js.map +1 -0
  23. package/dist/cjs/nv-avatar.cjs.entry.js +73 -0
  24. package/dist/cjs/nv-avatar.cjs.entry.js.map +1 -0
  25. package/dist/cjs/nv-badge.cjs.entry.js +119 -0
  26. package/dist/cjs/nv-badge.cjs.entry.js.map +1 -0
  27. package/dist/cjs/nv-base.cjs.entry.js +75 -0
  28. package/dist/cjs/nv-base.cjs.entry.js.map +1 -0
  29. package/dist/cjs/nv-button.cjs.entry.js +91 -0
  30. package/dist/cjs/nv-button.cjs.entry.js.map +1 -0
  31. package/dist/cjs/nv-col.cjs.entry.js +41 -0
  32. package/dist/cjs/nv-col.cjs.entry.js.map +1 -0
  33. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +94 -0
  34. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js.map +1 -0
  35. package/dist/cjs/nv-fieldnumber.cjs.entry.js +94 -0
  36. package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -0
  37. package/dist/cjs/nv-fieldpassword.cjs.entry.js +79 -0
  38. package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -0
  39. package/dist/cjs/nv-fieldradio.cjs.entry.js +81 -0
  40. package/dist/cjs/nv-fieldradio.cjs.entry.js.map +1 -0
  41. package/dist/cjs/nv-fieldselect.cjs.entry.js +290 -0
  42. package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -0
  43. package/dist/cjs/nv-fieldtext.cjs.entry.js +83 -0
  44. package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -0
  45. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +151 -0
  46. package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -0
  47. package/dist/cjs/nv-fieldtoggle.cjs.entry.js +64 -0
  48. package/dist/cjs/nv-fieldtoggle.cjs.entry.js.map +1 -0
  49. package/dist/cjs/nv-icon.cjs.entry.js +66 -0
  50. package/dist/cjs/nv-icon.cjs.entry.js.map +1 -0
  51. package/dist/cjs/nv-iconbutton.cjs.entry.js +92 -0
  52. package/dist/cjs/nv-iconbutton.cjs.entry.js.map +1 -0
  53. package/dist/cjs/nv-loader.cjs.entry.js +29 -0
  54. package/dist/cjs/nv-loader.cjs.entry.js.map +1 -0
  55. package/dist/cjs/nv-menu.cjs.entry.js +189 -0
  56. package/dist/cjs/nv-menu.cjs.entry.js.map +1 -0
  57. package/dist/cjs/nv-menuitem.cjs.entry.js +30 -0
  58. package/dist/cjs/nv-menuitem.cjs.entry.js.map +1 -0
  59. package/dist/cjs/nv-popover.cjs.entry.js +2327 -0
  60. package/dist/cjs/nv-popover.cjs.entry.js.map +1 -0
  61. package/dist/cjs/nv-row.cjs.entry.js +24 -0
  62. package/dist/cjs/nv-row.cjs.entry.js.map +1 -0
  63. package/dist/cjs/nv-stack.cjs.entry.js +31 -0
  64. package/dist/cjs/nv-stack.cjs.entry.js.map +1 -0
  65. package/dist/cjs/nv-tooltip.cjs.entry.js +37 -0
  66. package/dist/cjs/nv-tooltip.cjs.entry.js.map +1 -0
  67. package/dist/cjs/timeline.animation-dbb9c5ea.js +107 -0
  68. package/dist/cjs/timeline.animation-dbb9c5ea.js.map +1 -0
  69. package/dist/cjs/v4-7014b8b0.js +67 -0
  70. package/dist/cjs/v4-7014b8b0.js.map +1 -0
  71. package/dist/collection/animations/collapse.animation.js +82 -0
  72. package/dist/collection/animations/collapse.animation.js.map +1 -0
  73. package/dist/collection/animations/fade.animation.js +66 -0
  74. package/dist/collection/animations/fade.animation.js.map +1 -0
  75. package/dist/collection/animations/grow.animation.js +87 -0
  76. package/dist/collection/animations/grow.animation.js.map +1 -0
  77. package/dist/collection/animations/index.js +5 -0
  78. package/dist/collection/animations/index.js.map +1 -0
  79. package/dist/collection/animations/timeline.animation.js +21 -0
  80. package/dist/collection/animations/timeline.animation.js.map +1 -0
  81. package/dist/collection/collection-manifest.json +35 -0
  82. package/dist/collection/components/nv-alert/nv-alert.css +113 -0
  83. package/dist/collection/components/nv-alert/nv-alert.docs.js +61 -0
  84. package/dist/collection/components/nv-alert/nv-alert.docs.js.map +1 -0
  85. package/dist/collection/components/nv-alert/nv-alert.js +355 -0
  86. package/dist/collection/components/nv-alert/nv-alert.js.map +1 -0
  87. package/dist/collection/components/nv-avatar/nv-avatar.css +154 -0
  88. package/dist/collection/components/nv-avatar/nv-avatar.docs.js +42 -0
  89. package/dist/collection/components/nv-avatar/nv-avatar.docs.js.map +1 -0
  90. package/dist/collection/components/nv-avatar/nv-avatar.js +311 -0
  91. package/dist/collection/components/nv-avatar/nv-avatar.js.map +1 -0
  92. package/dist/collection/components/nv-badge/nv-badge.css +174 -0
  93. package/dist/collection/components/nv-badge/nv-badge.docs.js +72 -0
  94. package/dist/collection/components/nv-badge/nv-badge.docs.js.map +1 -0
  95. package/dist/collection/components/nv-badge/nv-badge.js +354 -0
  96. package/dist/collection/components/nv-badge/nv-badge.js.map +1 -0
  97. package/dist/collection/components/nv-base/nv-base.docs.js +5 -0
  98. package/dist/collection/components/nv-base/nv-base.docs.js.map +1 -0
  99. package/dist/collection/components/nv-base/nv-base.js +69 -0
  100. package/dist/collection/components/nv-base/nv-base.js.map +1 -0
  101. package/dist/collection/components/nv-button/nv-button.css +259 -0
  102. package/dist/collection/components/nv-button/nv-button.docs.js +56 -0
  103. package/dist/collection/components/nv-button/nv-button.docs.js.map +1 -0
  104. package/dist/collection/components/nv-button/nv-button.js +241 -0
  105. package/dist/collection/components/nv-button/nv-button.js.map +1 -0
  106. package/dist/collection/components/nv-col/nv-col.css +45 -0
  107. package/dist/collection/components/nv-col/nv-col.docs.js +18 -0
  108. package/dist/collection/components/nv-col/nv-col.docs.js.map +1 -0
  109. package/dist/collection/components/nv-col/nv-col.js +63 -0
  110. package/dist/collection/components/nv-col/nv-col.js.map +1 -0
  111. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.css +136 -0
  112. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.docs.js +231 -0
  113. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.docs.js.map +1 -0
  114. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +448 -0
  115. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js.map +1 -0
  116. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.css +183 -0
  117. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js +180 -0
  118. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js.map +1 -0
  119. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +435 -0
  120. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +1 -0
  121. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.css +149 -0
  122. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js +189 -0
  123. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js.map +1 -0
  124. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +465 -0
  125. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js.map +1 -0
  126. package/dist/collection/components/nv-fieldradio/nv-fieldradio.css +133 -0
  127. package/dist/collection/components/nv-fieldradio/nv-fieldradio.docs.js +121 -0
  128. package/dist/collection/components/nv-fieldradio/nv-fieldradio.docs.js.map +1 -0
  129. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +347 -0
  130. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js.map +1 -0
  131. package/dist/collection/components/nv-fieldselect/nv-fieldselect.css +197 -0
  132. package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js +157 -0
  133. package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js.map +1 -0
  134. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +610 -0
  135. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js.map +1 -0
  136. package/dist/collection/components/nv-fieldtext/nv-fieldtext.css +141 -0
  137. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +206 -0
  138. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js.map +1 -0
  139. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +499 -0
  140. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +1 -0
  141. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.css +141 -0
  142. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js +175 -0
  143. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js.map +1 -0
  144. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +527 -0
  145. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js.map +1 -0
  146. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.css +114 -0
  147. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.docs.js +65 -0
  148. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.docs.js.map +1 -0
  149. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.js +283 -0
  150. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.js.map +1 -0
  151. package/dist/collection/components/nv-icon/nv-icon.css +32 -0
  152. package/dist/collection/components/nv-icon/nv-icon.docs.js +31 -0
  153. package/dist/collection/components/nv-icon/nv-icon.docs.js.map +1 -0
  154. package/dist/collection/components/nv-icon/nv-icon.js +245 -0
  155. package/dist/collection/components/nv-icon/nv-icon.js.map +1 -0
  156. package/dist/collection/components/nv-icon/nv-icons.js +450 -0
  157. package/dist/collection/components/nv-icon/nv-icons.js.map +1 -0
  158. package/dist/collection/components/nv-icon/test/nv-icon.test.js +25 -0
  159. package/dist/collection/components/nv-icon/test/nv-icon.test.js.map +1 -0
  160. package/dist/collection/components/nv-iconbutton/nv-iconbutton.css +152 -0
  161. package/dist/collection/components/nv-iconbutton/nv-iconbutton.docs.js +61 -0
  162. package/dist/collection/components/nv-iconbutton/nv-iconbutton.docs.js.map +1 -0
  163. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +263 -0
  164. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js.map +1 -0
  165. package/dist/collection/components/nv-loader/nv-loader.css +162 -0
  166. package/dist/collection/components/nv-loader/nv-loader.docs.js +27 -0
  167. package/dist/collection/components/nv-loader/nv-loader.docs.js.map +1 -0
  168. package/dist/collection/components/nv-loader/nv-loader.js +78 -0
  169. package/dist/collection/components/nv-loader/nv-loader.js.map +1 -0
  170. package/dist/collection/components/nv-menu/nv-menu.css +61 -0
  171. package/dist/collection/components/nv-menu/nv-menu.docs.js +40 -0
  172. package/dist/collection/components/nv-menu/nv-menu.docs.js.map +1 -0
  173. package/dist/collection/components/nv-menu/nv-menu.js +355 -0
  174. package/dist/collection/components/nv-menu/nv-menu.js.map +1 -0
  175. package/dist/collection/components/nv-menuitem/nv-menuitem.css +29 -0
  176. package/dist/collection/components/nv-menuitem/nv-menuitem.docs.js +6 -0
  177. package/dist/collection/components/nv-menuitem/nv-menuitem.docs.js.map +1 -0
  178. package/dist/collection/components/nv-menuitem/nv-menuitem.js +111 -0
  179. package/dist/collection/components/nv-menuitem/nv-menuitem.js.map +1 -0
  180. package/dist/collection/components/nv-popover/nv-popover.css +42 -0
  181. package/dist/collection/components/nv-popover/nv-popover.docs.js +74 -0
  182. package/dist/collection/components/nv-popover/nv-popover.docs.js.map +1 -0
  183. package/dist/collection/components/nv-popover/nv-popover.js +587 -0
  184. package/dist/collection/components/nv-popover/nv-popover.js.map +1 -0
  185. package/dist/collection/components/nv-row/nv-row.css +7 -0
  186. package/dist/collection/components/nv-row/nv-row.docs.js +13 -0
  187. package/dist/collection/components/nv-row/nv-row.docs.js.map +1 -0
  188. package/dist/collection/components/nv-row/nv-row.js +23 -0
  189. package/dist/collection/components/nv-row/nv-row.js.map +1 -0
  190. package/dist/collection/components/nv-stack/nv-stack.css +61 -0
  191. package/dist/collection/components/nv-stack/nv-stack.docs.js +39 -0
  192. package/dist/collection/components/nv-stack/nv-stack.docs.js.map +1 -0
  193. package/dist/collection/components/nv-stack/nv-stack.js +123 -0
  194. package/dist/collection/components/nv-stack/nv-stack.js.map +1 -0
  195. package/dist/collection/components/nv-tooltip/nv-tooltip.css +22 -0
  196. package/dist/collection/components/nv-tooltip/nv-tooltip.docs.js +38 -0
  197. package/dist/collection/components/nv-tooltip/nv-tooltip.docs.js.map +1 -0
  198. package/dist/collection/components/nv-tooltip/nv-tooltip.js +102 -0
  199. package/dist/collection/components/nv-tooltip/nv-tooltip.js.map +1 -0
  200. package/dist/collection/dev/dev-components.js +3 -0
  201. package/dist/collection/dev/dev-components.js.map +1 -0
  202. package/dist/collection/dev/dev-forms.js +3 -0
  203. package/dist/collection/dev/dev-forms.js.map +1 -0
  204. package/dist/collection/dev/dev-root.js +23 -0
  205. package/dist/collection/dev/dev-root.js.map +1 -0
  206. package/dist/collection/dev/dev-utils.js +54 -0
  207. package/dist/collection/dev/dev-utils.js.map +1 -0
  208. package/dist/collection/fonts/TT_Norms_Pro_Bold.woff2 +0 -0
  209. package/dist/collection/fonts/TT_Norms_Pro_Medium.woff2 +0 -0
  210. package/dist/collection/fonts/TT_Norms_Pro_Mono_Bold.woff2 +0 -0
  211. package/dist/collection/fonts/TT_Norms_Pro_Mono_Medium.woff2 +0 -0
  212. package/dist/collection/fonts/TT_Norms_Pro_Mono_Regular.woff2 +0 -0
  213. package/dist/collection/fonts/TT_Norms_Pro_Regular.woff2 +0 -0
  214. package/dist/collection/global.js +6 -0
  215. package/dist/collection/global.js.map +1 -0
  216. package/dist/collection/index.js +10 -0
  217. package/dist/collection/index.js.map +1 -0
  218. package/dist/collection/utils/class.utils.js +15 -0
  219. package/dist/collection/utils/class.utils.js.map +1 -0
  220. package/dist/collection/utils/constants.js +122 -0
  221. package/dist/collection/utils/constants.js.map +1 -0
  222. package/dist/collection/utils/events.utils.js +19 -0
  223. package/dist/collection/utils/events.utils.js.map +1 -0
  224. package/dist/components/index.d.ts +33 -0
  225. package/dist/components/index.js +488 -0
  226. package/dist/components/index.js.map +1 -0
  227. package/dist/components/nv-alert.d.ts +11 -0
  228. package/dist/components/nv-alert.js +171 -0
  229. package/dist/components/nv-alert.js.map +1 -0
  230. package/dist/components/nv-avatar.d.ts +11 -0
  231. package/dist/components/nv-avatar.js +106 -0
  232. package/dist/components/nv-avatar.js.map +1 -0
  233. package/dist/components/nv-badge.d.ts +11 -0
  234. package/dist/components/nv-badge.js +154 -0
  235. package/dist/components/nv-badge.js.map +1 -0
  236. package/dist/components/nv-base.d.ts +11 -0
  237. package/dist/components/nv-base.js +89 -0
  238. package/dist/components/nv-base.js.map +1 -0
  239. package/dist/components/nv-button.d.ts +11 -0
  240. package/dist/components/nv-button.js +116 -0
  241. package/dist/components/nv-button.js.map +1 -0
  242. package/dist/components/nv-col.d.ts +11 -0
  243. package/dist/components/nv-col.js +57 -0
  244. package/dist/components/nv-col.js.map +1 -0
  245. package/dist/components/nv-fieldcheckbox.d.ts +11 -0
  246. package/dist/components/nv-fieldcheckbox.js +128 -0
  247. package/dist/components/nv-fieldcheckbox.js.map +1 -0
  248. package/dist/components/nv-fieldnumber.d.ts +11 -0
  249. package/dist/components/nv-fieldnumber.js +134 -0
  250. package/dist/components/nv-fieldnumber.js.map +1 -0
  251. package/dist/components/nv-fieldpassword.d.ts +11 -0
  252. package/dist/components/nv-fieldpassword.js +134 -0
  253. package/dist/components/nv-fieldpassword.js.map +1 -0
  254. package/dist/components/nv-fieldradio.d.ts +11 -0
  255. package/dist/components/nv-fieldradio.js +110 -0
  256. package/dist/components/nv-fieldradio.js.map +1 -0
  257. package/dist/components/nv-fieldselect.d.ts +11 -0
  258. package/dist/components/nv-fieldselect.js +332 -0
  259. package/dist/components/nv-fieldselect.js.map +1 -0
  260. package/dist/components/nv-fieldtext.d.ts +11 -0
  261. package/dist/components/nv-fieldtext.js +125 -0
  262. package/dist/components/nv-fieldtext.js.map +1 -0
  263. package/dist/components/nv-fieldtextarea.d.ts +11 -0
  264. package/dist/components/nv-fieldtextarea.js +188 -0
  265. package/dist/components/nv-fieldtextarea.js.map +1 -0
  266. package/dist/components/nv-fieldtoggle.d.ts +11 -0
  267. package/dist/components/nv-fieldtoggle.js +91 -0
  268. package/dist/components/nv-fieldtoggle.js.map +1 -0
  269. package/dist/components/nv-icon.d.ts +11 -0
  270. package/dist/components/nv-icon.js +8 -0
  271. package/dist/components/nv-icon.js.map +1 -0
  272. package/dist/components/nv-iconbutton.d.ts +11 -0
  273. package/dist/components/nv-iconbutton.js +8 -0
  274. package/dist/components/nv-iconbutton.js.map +1 -0
  275. package/dist/components/nv-loader.d.ts +11 -0
  276. package/dist/components/nv-loader.js +8 -0
  277. package/dist/components/nv-loader.js.map +1 -0
  278. package/dist/components/nv-menu.d.ts +11 -0
  279. package/dist/components/nv-menu.js +216 -0
  280. package/dist/components/nv-menu.js.map +1 -0
  281. package/dist/components/nv-menuitem.d.ts +11 -0
  282. package/dist/components/nv-menuitem.js +55 -0
  283. package/dist/components/nv-menuitem.js.map +1 -0
  284. package/dist/components/nv-popover.d.ts +11 -0
  285. package/dist/components/nv-popover.js +8 -0
  286. package/dist/components/nv-popover.js.map +1 -0
  287. package/dist/components/nv-row.d.ts +11 -0
  288. package/dist/components/nv-row.js +38 -0
  289. package/dist/components/nv-row.js.map +1 -0
  290. package/dist/components/nv-stack.d.ts +11 -0
  291. package/dist/components/nv-stack.js +51 -0
  292. package/dist/components/nv-stack.js.map +1 -0
  293. package/dist/components/nv-tooltip.d.ts +11 -0
  294. package/dist/components/nv-tooltip.js +61 -0
  295. package/dist/components/nv-tooltip.js.map +1 -0
  296. package/dist/components/p-1daca48a.js +1871 -0
  297. package/dist/components/p-1daca48a.js.map +1 -0
  298. package/dist/components/p-42301d8f.js +104 -0
  299. package/dist/components/p-42301d8f.js.map +1 -0
  300. package/dist/components/p-50bd2808.js +1198 -0
  301. package/dist/components/p-50bd2808.js.map +1 -0
  302. package/dist/components/p-6146d4b0.js +87 -0
  303. package/dist/components/p-6146d4b0.js.map +1 -0
  304. package/dist/components/p-632bedb8.js +1730 -0
  305. package/dist/components/p-632bedb8.js.map +1 -0
  306. package/dist/components/p-8a1a6e56.js +5 -0
  307. package/dist/components/p-8a1a6e56.js.map +1 -0
  308. package/dist/components/p-8da6d9a3.js +43 -0
  309. package/dist/components/p-8da6d9a3.js.map +1 -0
  310. package/dist/components/p-a15ddd42.js +138 -0
  311. package/dist/components/p-a15ddd42.js.map +1 -0
  312. package/dist/components/p-be79e7bc.js +121 -0
  313. package/dist/components/p-be79e7bc.js.map +1 -0
  314. package/dist/components/p-c711fe67.js +2355 -0
  315. package/dist/components/p-c711fe67.js.map +1 -0
  316. package/dist/components/p-f5ff676c.js +65 -0
  317. package/dist/components/p-f5ff676c.js.map +1 -0
  318. package/dist/docs.d.ts +435 -0
  319. package/dist/docs.json +9249 -0
  320. package/dist/esm/app-globals-df0a3c8d.js +9 -0
  321. package/dist/esm/app-globals-df0a3c8d.js.map +1 -0
  322. package/dist/esm/clsx-297c1ffe.js +5 -0
  323. package/dist/esm/clsx-297c1ffe.js.map +1 -0
  324. package/dist/esm/constants-e9bee611.js +138 -0
  325. package/dist/esm/constants-e9bee611.js.map +1 -0
  326. package/dist/esm/fade.animation-2a077983.js +1871 -0
  327. package/dist/esm/fade.animation-2a077983.js.map +1 -0
  328. package/dist/esm/grow.animation-88a8ee8f.js +114 -0
  329. package/dist/esm/grow.animation-88a8ee8f.js.map +1 -0
  330. package/dist/esm/index-179dfba2.js +1952 -0
  331. package/dist/esm/index-179dfba2.js.map +1 -0
  332. package/dist/esm/index.js +487 -0
  333. package/dist/esm/index.js.map +1 -0
  334. package/dist/esm/loader.js +13 -0
  335. package/dist/esm/loader.js.map +1 -0
  336. package/dist/esm/native.js +43 -0
  337. package/dist/esm/native.js.map +1 -0
  338. package/dist/esm/nv-alert.entry.js +136 -0
  339. package/dist/esm/nv-alert.entry.js.map +1 -0
  340. package/dist/esm/nv-avatar.entry.js +69 -0
  341. package/dist/esm/nv-avatar.entry.js.map +1 -0
  342. package/dist/esm/nv-badge.entry.js +115 -0
  343. package/dist/esm/nv-badge.entry.js.map +1 -0
  344. package/dist/esm/nv-base.entry.js +71 -0
  345. package/dist/esm/nv-base.entry.js.map +1 -0
  346. package/dist/esm/nv-button.entry.js +87 -0
  347. package/dist/esm/nv-button.entry.js.map +1 -0
  348. package/dist/esm/nv-col.entry.js +37 -0
  349. package/dist/esm/nv-col.entry.js.map +1 -0
  350. package/dist/esm/nv-fieldcheckbox.entry.js +90 -0
  351. package/dist/esm/nv-fieldcheckbox.entry.js.map +1 -0
  352. package/dist/esm/nv-fieldnumber.entry.js +90 -0
  353. package/dist/esm/nv-fieldnumber.entry.js.map +1 -0
  354. package/dist/esm/nv-fieldpassword.entry.js +75 -0
  355. package/dist/esm/nv-fieldpassword.entry.js.map +1 -0
  356. package/dist/esm/nv-fieldradio.entry.js +77 -0
  357. package/dist/esm/nv-fieldradio.entry.js.map +1 -0
  358. package/dist/esm/nv-fieldselect.entry.js +286 -0
  359. package/dist/esm/nv-fieldselect.entry.js.map +1 -0
  360. package/dist/esm/nv-fieldtext.entry.js +79 -0
  361. package/dist/esm/nv-fieldtext.entry.js.map +1 -0
  362. package/dist/esm/nv-fieldtextarea.entry.js +147 -0
  363. package/dist/esm/nv-fieldtextarea.entry.js.map +1 -0
  364. package/dist/esm/nv-fieldtoggle.entry.js +60 -0
  365. package/dist/esm/nv-fieldtoggle.entry.js.map +1 -0
  366. package/dist/esm/nv-icon.entry.js +62 -0
  367. package/dist/esm/nv-icon.entry.js.map +1 -0
  368. package/dist/esm/nv-iconbutton.entry.js +88 -0
  369. package/dist/esm/nv-iconbutton.entry.js.map +1 -0
  370. package/dist/esm/nv-loader.entry.js +25 -0
  371. package/dist/esm/nv-loader.entry.js.map +1 -0
  372. package/dist/esm/nv-menu.entry.js +185 -0
  373. package/dist/esm/nv-menu.entry.js.map +1 -0
  374. package/dist/esm/nv-menuitem.entry.js +26 -0
  375. package/dist/esm/nv-menuitem.entry.js.map +1 -0
  376. package/dist/esm/nv-popover.entry.js +2323 -0
  377. package/dist/esm/nv-popover.entry.js.map +1 -0
  378. package/dist/esm/nv-row.entry.js +20 -0
  379. package/dist/esm/nv-row.entry.js.map +1 -0
  380. package/dist/esm/nv-stack.entry.js +27 -0
  381. package/dist/esm/nv-stack.entry.js.map +1 -0
  382. package/dist/esm/nv-tooltip.entry.js +33 -0
  383. package/dist/esm/nv-tooltip.entry.js.map +1 -0
  384. package/dist/esm/timeline.animation-1b88f052.js +104 -0
  385. package/dist/esm/timeline.animation-1b88f052.js.map +1 -0
  386. package/dist/esm/v4-a79185f4.js +65 -0
  387. package/dist/esm/v4-a79185f4.js.map +1 -0
  388. package/dist/index.cjs.js +1 -0
  389. package/dist/index.js +1 -0
  390. package/dist/native/fonts/TT_Norms_Pro_Bold.woff2 +0 -0
  391. package/dist/native/fonts/TT_Norms_Pro_Medium.woff2 +0 -0
  392. package/dist/native/fonts/TT_Norms_Pro_Mono_Bold.woff2 +0 -0
  393. package/dist/native/fonts/TT_Norms_Pro_Mono_Medium.woff2 +0 -0
  394. package/dist/native/fonts/TT_Norms_Pro_Mono_Regular.woff2 +0 -0
  395. package/dist/native/fonts/TT_Norms_Pro_Regular.woff2 +0 -0
  396. package/dist/native/index.esm.js +2 -0
  397. package/dist/native/index.esm.js.map +1 -0
  398. package/dist/native/native.css +1 -0
  399. package/dist/native/native.esm.js +2 -0
  400. package/dist/native/native.esm.js.map +1 -0
  401. package/dist/native/p-06f64d05.entry.js +2 -0
  402. package/dist/native/p-06f64d05.entry.js.map +1 -0
  403. package/dist/native/p-0aa0193b.entry.js +2 -0
  404. package/dist/native/p-0aa0193b.entry.js.map +1 -0
  405. package/dist/native/p-124a7067.entry.js +2 -0
  406. package/dist/native/p-124a7067.entry.js.map +1 -0
  407. package/dist/native/p-13d0ab5b.entry.js +2 -0
  408. package/dist/native/p-13d0ab5b.entry.js.map +1 -0
  409. package/dist/native/p-14c08510.entry.js +2 -0
  410. package/dist/native/p-14c08510.entry.js.map +1 -0
  411. package/dist/native/p-1ceee367.entry.js +2 -0
  412. package/dist/native/p-1ceee367.entry.js.map +1 -0
  413. package/dist/native/p-1daca48a.js +16 -0
  414. package/dist/native/p-1daca48a.js.map +1 -0
  415. package/dist/native/p-29d482cd.entry.js +2 -0
  416. package/dist/native/p-29d482cd.entry.js.map +1 -0
  417. package/dist/native/p-42301d8f.js +2 -0
  418. package/dist/native/p-42301d8f.js.map +1 -0
  419. package/dist/native/p-43cd42ca.entry.js +2 -0
  420. package/dist/native/p-43cd42ca.entry.js.map +1 -0
  421. package/dist/native/p-519e0f59.entry.js +2 -0
  422. package/dist/native/p-519e0f59.entry.js.map +1 -0
  423. package/dist/native/p-617d6a09.entry.js +2 -0
  424. package/dist/native/p-617d6a09.entry.js.map +1 -0
  425. package/dist/native/p-6f762ec2.entry.js +2 -0
  426. package/dist/native/p-6f762ec2.entry.js.map +1 -0
  427. package/dist/native/p-71d6aad8.entry.js +2 -0
  428. package/dist/native/p-71d6aad8.entry.js.map +1 -0
  429. package/dist/native/p-7ce1b712.entry.js +2 -0
  430. package/dist/native/p-7ce1b712.entry.js.map +1 -0
  431. package/dist/native/p-80788ddf.js +2 -0
  432. package/dist/native/p-80788ddf.js.map +1 -0
  433. package/dist/native/p-830ec54a.entry.js +2 -0
  434. package/dist/native/p-830ec54a.entry.js.map +1 -0
  435. package/dist/native/p-89accab1.entry.js +2 -0
  436. package/dist/native/p-89accab1.entry.js.map +1 -0
  437. package/dist/native/p-8a1a6e56.js +2 -0
  438. package/dist/native/p-8a1a6e56.js.map +1 -0
  439. package/dist/native/p-8b65b16f.entry.js +2 -0
  440. package/dist/native/p-8b65b16f.entry.js.map +1 -0
  441. package/dist/native/p-a15ddd42.js +2 -0
  442. package/dist/native/p-a15ddd42.js.map +1 -0
  443. package/dist/native/p-a37c2ac2.js +2 -0
  444. package/dist/native/p-a37c2ac2.js.map +1 -0
  445. package/dist/native/p-b5e4a9e7.entry.js +2 -0
  446. package/dist/native/p-b5e4a9e7.entry.js.map +1 -0
  447. package/dist/native/p-b8eb4c31.entry.js +2 -0
  448. package/dist/native/p-b8eb4c31.entry.js.map +1 -0
  449. package/dist/native/p-b99aa075.entry.js +2 -0
  450. package/dist/native/p-b99aa075.entry.js.map +1 -0
  451. package/dist/native/p-d5a8b6c4.entry.js +2 -0
  452. package/dist/native/p-d5a8b6c4.entry.js.map +1 -0
  453. package/dist/native/p-db2a68f3.js +3 -0
  454. package/dist/native/p-db2a68f3.js.map +1 -0
  455. package/dist/native/p-f5acea50.entry.js +2 -0
  456. package/dist/native/p-f5acea50.entry.js.map +1 -0
  457. package/dist/native/p-f5ff676c.js +2 -0
  458. package/dist/native/p-f5ff676c.js.map +1 -0
  459. package/dist/native/p-f9aac71a.entry.js +2 -0
  460. package/dist/native/p-f9aac71a.entry.js.map +1 -0
  461. package/dist/native/p-fb6f42b7.entry.js +2 -0
  462. package/dist/native/p-fb6f42b7.entry.js.map +1 -0
  463. package/dist/types/animations/collapse.animation.d.ts +11 -0
  464. package/dist/types/animations/fade.animation.d.ts +11 -0
  465. package/dist/types/animations/grow.animation.d.ts +15 -0
  466. package/dist/types/animations/index.d.ts +4 -0
  467. package/dist/types/animations/timeline.animation.d.ts +18 -0
  468. package/dist/types/components/nv-alert/nv-alert.d.ts +85 -0
  469. package/dist/types/components/nv-alert/nv-alert.docs.d.ts +4 -0
  470. package/dist/types/components/nv-avatar/nv-avatar.d.ts +75 -0
  471. package/dist/types/components/nv-avatar/nv-avatar.docs.d.ts +4 -0
  472. package/dist/types/components/nv-badge/nv-badge.d.ts +93 -0
  473. package/dist/types/components/nv-badge/nv-badge.docs.d.ts +4 -0
  474. package/dist/types/components/nv-base/nv-base.d.ts +17 -0
  475. package/dist/types/components/nv-base/nv-base.docs.d.ts +5 -0
  476. package/dist/types/components/nv-button/nv-button.d.ts +63 -0
  477. package/dist/types/components/nv-button/nv-button.docs.d.ts +4 -0
  478. package/dist/types/components/nv-col/nv-col.d.ts +18 -0
  479. package/dist/types/components/nv-col/nv-col.docs.d.ts +4 -0
  480. package/dist/types/components/nv-fieldcheckbox/nv-fieldcheckbox.d.ts +119 -0
  481. package/dist/types/components/nv-fieldcheckbox/nv-fieldcheckbox.docs.d.ts +4 -0
  482. package/dist/types/components/nv-fieldnumber/nv-fieldnumber.d.ts +132 -0
  483. package/dist/types/components/nv-fieldnumber/nv-fieldnumber.docs.d.ts +4 -0
  484. package/dist/types/components/nv-fieldpassword/nv-fieldpassword.d.ts +145 -0
  485. package/dist/types/components/nv-fieldpassword/nv-fieldpassword.docs.d.ts +4 -0
  486. package/dist/types/components/nv-fieldradio/nv-fieldradio.d.ts +101 -0
  487. package/dist/types/components/nv-fieldradio/nv-fieldradio.docs.d.ts +4 -0
  488. package/dist/types/components/nv-fieldselect/nv-fieldselect.d.ts +195 -0
  489. package/dist/types/components/nv-fieldselect/nv-fieldselect.docs.d.ts +4 -0
  490. package/dist/types/components/nv-fieldtext/nv-fieldtext.d.ts +162 -0
  491. package/dist/types/components/nv-fieldtext/nv-fieldtext.docs.d.ts +4 -0
  492. package/dist/types/components/nv-fieldtextarea/nv-fieldtextarea.d.ts +161 -0
  493. package/dist/types/components/nv-fieldtextarea/nv-fieldtextarea.docs.d.ts +4 -0
  494. package/dist/types/components/nv-fieldtoggle/nv-fieldtoggle.d.ts +73 -0
  495. package/dist/types/components/nv-fieldtoggle/nv-fieldtoggle.docs.d.ts +4 -0
  496. package/dist/types/components/nv-icon/nv-icon.d.ts +51 -0
  497. package/dist/types/components/nv-icon/nv-icon.docs.d.ts +4 -0
  498. package/dist/types/components/nv-icon/nv-icons.d.ts +3 -0
  499. package/dist/types/components/nv-icon/test/nv-icon.test.d.ts +1 -0
  500. package/dist/types/components/nv-iconbutton/nv-iconbutton.d.ts +70 -0
  501. package/dist/types/components/nv-iconbutton/nv-iconbutton.docs.d.ts +4 -0
  502. package/dist/types/components/nv-loader/nv-loader.d.ts +18 -0
  503. package/dist/types/components/nv-loader/nv-loader.docs.d.ts +4 -0
  504. package/dist/types/components/nv-menu/nv-menu.d.ts +60 -0
  505. package/dist/types/components/nv-menu/nv-menu.docs.d.ts +4 -0
  506. package/dist/types/components/nv-menuitem/nv-menuitem.d.ts +31 -0
  507. package/dist/types/components/nv-menuitem/nv-menuitem.docs.d.ts +4 -0
  508. package/dist/types/components/nv-popover/nv-popover.d.ts +114 -0
  509. package/dist/types/components/nv-popover/nv-popover.docs.d.ts +4 -0
  510. package/dist/types/components/nv-row/nv-row.d.ts +7 -0
  511. package/dist/types/components/nv-row/nv-row.docs.d.ts +4 -0
  512. package/dist/types/components/nv-stack/nv-stack.d.ts +36 -0
  513. package/dist/types/components/nv-stack/nv-stack.docs.d.ts +4 -0
  514. package/dist/types/components/nv-tooltip/nv-tooltip.d.ts +32 -0
  515. package/dist/types/components/nv-tooltip/nv-tooltip.docs.d.ts +4 -0
  516. package/dist/types/components.d.ts +2412 -0
  517. package/dist/types/dev/dev-components.d.ts +2 -0
  518. package/dist/types/dev/dev-forms.d.ts +2 -0
  519. package/dist/types/dev/dev-root.d.ts +1 -0
  520. package/dist/types/dev/dev-utils.d.ts +17 -0
  521. package/dist/types/global.d.ts +1 -0
  522. package/dist/types/index.d.ts +15 -0
  523. package/dist/types/nova-docs.d.ts +32 -0
  524. package/dist/types/stencil-public-runtime.d.ts +1678 -0
  525. package/dist/types/utils/class.utils.d.ts +6 -0
  526. package/dist/types/utils/constants.d.ts +112 -0
  527. package/dist/types/utils/events.utils.d.ts +15 -0
  528. package/dist/vscode-data.json +3179 -0
  529. package/hydrate/index.d.ts +242 -0
  530. package/hydrate/index.js +24827 -0
  531. package/hydrate/index.mjs +24819 -0
  532. package/hydrate/package.json +12 -0
  533. package/loader/cdn.js +1 -0
  534. package/loader/index.cjs.js +1 -0
  535. package/loader/index.d.ts +24 -0
  536. package/loader/index.es2017.js +1 -0
  537. package/loader/index.js +2 -0
  538. package/loader/package.json +11 -0
  539. package/package.json +197 -0
  540. package/readme.md +67 -0
@@ -0,0 +1,89 @@
1
+ import { p as proxyCustomElement, H, h, d as Host } from './p-632bedb8.js';
2
+
3
+ const classes = {
4
+ 'w-full': 'w-full',
5
+ 'wFull': 'w-full',
6
+ 'is-active': 'is-active',
7
+ 'is-selected': 'is-selected',
8
+ };
9
+ const NvBaseComponent = /*@__PURE__*/ proxyCustomElement(class NvBaseComponent extends H {
10
+ constructor() {
11
+ super();
12
+ this.__registerHost();
13
+ }
14
+ /****************************************************************************/
15
+ //#region LIFECYCLE
16
+ componentWillLoad() {
17
+ this.applyClassesOnInitialRender();
18
+ }
19
+ componentDidLoad() {
20
+ this.mutationObserver = new MutationObserver(mutations => {
21
+ console.log(mutations);
22
+ mutations.forEach(mutation => {
23
+ if (mutation.type === 'attributes') {
24
+ const target = mutation.target;
25
+ Object.keys(classes).forEach(attributeName => {
26
+ if (target.hasAttribute(attributeName)) {
27
+ target.classList.add(classes[attributeName]);
28
+ }
29
+ else {
30
+ target.classList.remove(classes[attributeName]);
31
+ }
32
+ });
33
+ }
34
+ });
35
+ });
36
+ this.observeElements();
37
+ }
38
+ disconnectedCallback() {
39
+ if (this.mutationObserver) {
40
+ this.mutationObserver.disconnect();
41
+ }
42
+ }
43
+ //#endregion LIFECYCLE
44
+ /****************************************************************************/
45
+ //#region METHODS
46
+ applyClassesOnInitialRender() {
47
+ Object.keys(classes).forEach(attributeName => {
48
+ const elements = this.el.querySelectorAll(`[${attributeName}]`);
49
+ elements.forEach(element => {
50
+ element.classList.add(classes[attributeName]);
51
+ });
52
+ });
53
+ }
54
+ observeElements() {
55
+ this.mutationObserver.observe(this.el, {
56
+ attributes: true,
57
+ attributeFilter: Object.keys(classes),
58
+ subtree: true,
59
+ });
60
+ }
61
+ //#endregion METHODS
62
+ /****************************************************************************/
63
+ //#region RENDER
64
+ render() {
65
+ return (h(Host, { key: 'b337eb1cfbe80ce8cefdb00a9d0d1fbb153869ba', style: { display: 'block' } }, h("slot", { key: '575c8605510de2b97bf202809492dd5e2ba4a285' })));
66
+ }
67
+ get el() { return this; }
68
+ }, [4, "nv-base"]);
69
+ function defineCustomElement$1() {
70
+ if (typeof customElements === "undefined") {
71
+ return;
72
+ }
73
+ const components = ["nv-base"];
74
+ components.forEach(tagName => { switch (tagName) {
75
+ case "nv-base":
76
+ if (!customElements.get(tagName)) {
77
+ customElements.define(tagName, NvBaseComponent);
78
+ }
79
+ break;
80
+ } });
81
+ }
82
+ defineCustomElement$1();
83
+
84
+ const NvBase = NvBaseComponent;
85
+ const defineCustomElement = defineCustomElement$1;
86
+
87
+ export { NvBase, defineCustomElement };
88
+
89
+ //# sourceMappingURL=nv-base.js.map
@@ -0,0 +1 @@
1
+ {"file":"nv-base.js","mappings":";;AAEA,MAAM,OAAO,GAA2B;IACtC,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,WAAW;IACxB,aAAa,EAAE,aAAa;CAC7B,CAAC;MAUW,eAAe;;;;;;;IAQ1B,iBAAiB;QACf,IAAI,CAAC,2BAA2B,EAAE,CAAC;KACpC;IAED,gBAAgB;QACd,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,SAAS;YACpD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvB,SAAS,CAAC,OAAO,CAAC,QAAQ;gBACxB,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE;oBAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAqB,CAAC;oBAE9C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa;wBACxC,IAAI,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE;4BACtC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;yBAC9C;6BAAM;4BACL,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;yBACjD;qBACF,CAAC,CAAC;iBACJ;aACF,CAAC,CAAC;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,EAAE,CAAC;KACxB;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;SACpC;KACF;;;;IAMO,2BAA2B;QACjC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,aAAa,GAAG,CAAC,CAAC;YAChE,QAAQ,CAAC,OAAO,CAAC,OAAO;gBACtB,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;aAC/C,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ;IAEO,eAAe;QACrB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;YACrC,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YACrC,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;KACJ;;;;IAMD,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAC/B,8DAAa,CACR,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/nv-base/nv-base.tsx"],"sourcesContent":["import { Component, Element, h, Host } from '@stencil/core';\n\nconst classes: Record<string, string> = {\n 'w-full': 'w-full',\n 'wFull': 'w-full',\n 'is-active': 'is-active',\n 'is-selected': 'is-selected',\n};\n\n/**\n * @slot default - render children\n * @deprecated This is only to help with the migration from v2 to v3. It will be removed in the next major release.\n */\n@Component({\n tag: 'nv-base',\n shadow: false,\n})\nexport class NvBaseComponent {\n @Element() el: HTMLNvBaseElement;\n\n private mutationObserver: MutationObserver;\n\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.applyClassesOnInitialRender();\n }\n\n componentDidLoad() {\n this.mutationObserver = new MutationObserver(mutations => {\n console.log(mutations);\n mutations.forEach(mutation => {\n if (mutation.type === 'attributes') {\n const target = mutation.target as HTMLElement;\n\n Object.keys(classes).forEach(attributeName => {\n if (target.hasAttribute(attributeName)) {\n target.classList.add(classes[attributeName]);\n } else {\n target.classList.remove(classes[attributeName]);\n }\n });\n }\n });\n });\n this.observeElements();\n }\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region METHODS\n\n private applyClassesOnInitialRender() {\n Object.keys(classes).forEach(attributeName => {\n const elements = this.el.querySelectorAll(`[${attributeName}]`);\n elements.forEach(element => {\n element.classList.add(classes[attributeName]);\n });\n });\n }\n\n private observeElements() {\n this.mutationObserver.observe(this.el, {\n attributes: true,\n attributeFilter: Object.keys(classes),\n subtree: true,\n });\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host style={{ display: 'block' }}>\n <slot></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface NvButton extends Components.NvButton, HTMLElement {}
4
+ export const NvButton: {
5
+ prototype: NvButton;
6
+ new (): NvButton;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,116 @@
1
+ import { p as proxyCustomElement, H, h, d as Host } from './p-632bedb8.js';
2
+ import { B as ButtonSize } from './p-a15ddd42.js';
3
+ import { d as defineCustomElement$2 } from './p-8da6d9a3.js';
4
+
5
+ const nvButtonCss = "nv-icon{display:inline-block;width:fit-content;height:fit-content;color:inherit}nv-icon>.nv-icon-xs{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-icon>.nv-icon-sm{width:var(--spacing-4);height:var(--spacing-4);stroke-width:1.5px}nv-icon>.nv-icon-md{width:var(--spacing-5);height:var(--spacing-5);stroke-width:1.6px}nv-icon>.nv-icon-lg{width:var(--spacing-6);height:var(--spacing-6);stroke-width:1.8px}nv-icon>.nv-icon-xl{width:var(--spacing-7);height:var(--spacing-7);stroke-width:1.9px}nv-button{display:inline-flex;justify-content:center;align-items:center;font-style:normal;font-weight:var(--font-weight-medium-emphasis);font-family:\"TT Norms Pro\", sans-serif;transition:background-color 150ms ease-out;user-select:none;cursor:pointer;height:fit-content;width:fit-content}nv-button[size=xs]{padding:var(--button-xs-padding-y) var(--button-xs-padding-x);gap:var(--button-xs-gap);border-radius:var(--button-xs-border-radius);line-height:var(--button-xs-line-height);font-size:var(--button-xs-font-size)}nv-button[size=xs] nv-icon>svg{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-button[size=sm]{padding:var(--button-sm-padding-y) var(--button-sm-padding-x);gap:var(--button-sm-gap);border-radius:var(--button-sm-border-radius);line-height:var(--button-sm-line-height);font-size:var(--button-sm-font-size)}nv-button[size=sm] nv-icon>svg{width:var(--spacing-4);height:var(--spacing-4);stroke-width:1.5px}nv-button[size=md]{padding:var(--button-md-padding-y) var(--button-md-padding-x);gap:var(--button-md-gap);border-radius:var(--button-md-border-radius);line-height:var(--button-md-line-height);font-size:var(--button-md-font-size)}nv-button[size=md] nv-icon>svg{width:var(--spacing-5);height:var(--spacing-5);stroke-width:1.6px}nv-button[size=lg]{padding:var(--button-lg-padding-y) var(--button-lg-padding-x);gap:var(--button-lg-gap);border-radius:var(--button-lg-border-radius);line-height:var(--button-lg-line-height);font-size:var(--button-lg-font-size)}nv-button[size=lg] nv-icon>svg{width:var(--spacing-6);height:var(--spacing-6);stroke-width:1.8px}nv-button[emphasis=high]{background:var(--components-button-high-background);border:1px solid var(--components-button-high-border);color:var(--components-button-high-text)}nv-button[emphasis=high]:hover{background:var(--components-button-high-background-hover);border:1px solid var(--components-button-high-border);color:var(--components-button-high-text-hover)}nv-button[emphasis=high]:focus,nv-button[emphasis=high]:focus-within{outline:none}nv-button[emphasis=high]:focus-visible,nv-button[emphasis=high]:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=high]:disabled:not([disabled=false]){opacity:0.5;cursor:not-allowed;box-shadow:none}nv-button[emphasis=high][danger]:not([danger=false]){background:var(--components-button-high-background);border:1px solid var(--components-button-high-border);color:var(--components-button-high-text)}nv-button[emphasis=high][danger]:not([danger=false]):hover{background:var(--components-button-high-background-hover);border:1px solid var(--components-button-high-border);color:var(--components-button-high-text-hover)}nv-button[emphasis=high][danger]:not([danger=false]):focus,nv-button[emphasis=high][danger]:not([danger=false]):focus-within{outline:none}nv-button[emphasis=high][danger]:not([danger=false]):focus-visible,nv-button[emphasis=high][danger]:not([danger=false]):has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-destructive);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=medium]{background:var(--components-button-medium-background);border:1px solid var(--components-button-medium-border);color:var(--components-button-medium-text)}nv-button[emphasis=medium]:hover{background:var(--components-button-medium-background-hover);border:1px solid var(--components-button-medium-border);color:var(--components-button-medium-text-hover)}nv-button[emphasis=medium]:focus,nv-button[emphasis=medium]:focus-within{outline:none}nv-button[emphasis=medium]:focus-visible,nv-button[emphasis=medium]:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=medium]:disabled:not([disabled=false]){opacity:0.5;cursor:not-allowed;box-shadow:none}nv-button[emphasis=medium][danger]:not([danger=false]){background:var(--components-button-medium-background);border:1px solid var(--components-button-medium-border);color:var(--components-button-medium-text)}nv-button[emphasis=medium][danger]:not([danger=false]):hover{background:var(--components-button-medium-background-hover);border:1px solid var(--components-button-medium-border);color:var(--components-button-medium-text-hover)}nv-button[emphasis=medium][danger]:not([danger=false]):focus,nv-button[emphasis=medium][danger]:not([danger=false]):focus-within{outline:none}nv-button[emphasis=medium][danger]:not([danger=false]):focus-visible,nv-button[emphasis=medium][danger]:not([danger=false]):has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-destructive);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=low]{background:var(--components-button-low-background);border:1px solid var(--components-button-low-border);color:var(--components-button-low-text)}nv-button[emphasis=low]:hover{background:var(--components-button-low-background-hover);border:1px solid var(--components-button-low-border);color:var(--components-button-low-text-hover)}nv-button[emphasis=low]:focus,nv-button[emphasis=low]:focus-within{outline:none}nv-button[emphasis=low]:focus-visible,nv-button[emphasis=low]:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=low]:disabled:not([disabled=false]){opacity:0.5;cursor:not-allowed;box-shadow:none}nv-button[emphasis=low][danger]:not([danger=false]){background:var(--components-button-low-background);border:1px solid var(--components-button-low-border);color:var(--components-button-low-text)}nv-button[emphasis=low][danger]:not([danger=false]):hover{background:var(--components-button-low-background-hover);border:1px solid var(--components-button-low-border);color:var(--components-button-low-text-hover)}nv-button[emphasis=low][danger]:not([danger=false]):focus,nv-button[emphasis=low][danger]:not([danger=false]):focus-within{outline:none}nv-button[emphasis=low][danger]:not([danger=false]):focus-visible,nv-button[emphasis=low][danger]:not([danger=false]):has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-destructive);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=lower]{background:var(--components-button-lower-background);border:1px solid var(--components-button-lower-border);color:var(--components-button-lower-text)}nv-button[emphasis=lower]:hover{background:var(--components-button-lower-background-hover);border:1px solid var(--components-button-lower-border);color:var(--components-button-lower-text-hover)}nv-button[emphasis=lower]:focus,nv-button[emphasis=lower]:focus-within{outline:none}nv-button[emphasis=lower]:focus-visible,nv-button[emphasis=lower]:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=lower]:disabled:not([disabled=false]){opacity:0.5;cursor:not-allowed;box-shadow:none}nv-button[emphasis=lower][danger]:not([danger=false]){background:var(--components-button-lower-background);border:1px solid var(--components-button-lower-border);color:var(--components-button-lower-text)}nv-button[emphasis=lower][danger]:not([danger=false]):hover{background:var(--components-button-lower-background-hover);border:1px solid var(--components-button-lower-border);color:var(--components-button-lower-text-hover)}nv-button[emphasis=lower][danger]:not([danger=false]):focus,nv-button[emphasis=lower][danger]:not([danger=false]):focus-within{outline:none}nv-button[emphasis=lower][danger]:not([danger=false]):focus-visible,nv-button[emphasis=lower][danger]:not([danger=false]):has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-destructive);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[fluid]:not([fluid=false]){width:100%}nv-button[loading]:not([loading=false]) [slot=leading-icon]{display:none}";
6
+ const NvButtonStyle0 = nvButtonCss;
7
+
8
+ const NvButton$1 = /*@__PURE__*/ proxyCustomElement(class NvButton extends H {
9
+ constructor() {
10
+ super();
11
+ this.__registerHost();
12
+ this.internals = this.attachInternals();
13
+ //#endregion PROPERTIES
14
+ /****************************************************************************/
15
+ //#region METHODS
16
+ /**
17
+ * Handles form-related actions when the button is clicked.
18
+ * - Submits the form if the button type is 'submit'.
19
+ * - Resets the form if the button type is 'reset'.
20
+ * @param {Event} event - The click event.
21
+ */
22
+ this.handleClick = (event) => {
23
+ var _a, _b, _c, _d;
24
+ if (this.loading || this.disabled) {
25
+ event.preventDefault();
26
+ return;
27
+ }
28
+ if (this.type === 'submit') {
29
+ (_b = (_a = this.internals) === null || _a === void 0 ? void 0 : _a.form) === null || _b === void 0 ? void 0 : _b.requestSubmit();
30
+ }
31
+ if (this.type === 'reset') {
32
+ (_d = (_c = this.internals) === null || _c === void 0 ? void 0 : _c.form) === null || _d === void 0 ? void 0 : _d.reset();
33
+ }
34
+ };
35
+ this.size = 'md';
36
+ this.emphasis = 'high';
37
+ this.danger = false;
38
+ this.loading = false;
39
+ this.disabled = false;
40
+ this.fluid = false;
41
+ this.type = 'button';
42
+ }
43
+ //#endregion METHODS
44
+ /****************************************************************************/
45
+ //#region WATCHERS
46
+ handleLoadingChange(loading) {
47
+ this.loading = loading;
48
+ this.disabled = loading;
49
+ }
50
+ handleDisabledChange(disabled) {
51
+ if (this.loading) {
52
+ this.disabled = this.loading;
53
+ }
54
+ else {
55
+ this.disabled = disabled;
56
+ }
57
+ }
58
+ //#endregion WATCHERS
59
+ /****************************************************************************/
60
+ //#region LIFECYCLE
61
+ componentWillLoad() {
62
+ if (this.loading) {
63
+ this.disabled = this.loading;
64
+ }
65
+ }
66
+ //#endregion LIFECYCLE
67
+ /****************************************************************************/
68
+ //#region RENDER
69
+ render() {
70
+ return (h(Host, { key: 'f3349cdf1da05ae9a11a1b213db9f4cf062f6d9d', role: "button", tabindex: "0", onClick: this.handleClick }, this.loading && (h("nv-loader", { key: 'e776853069e4a34e72a1f07065cb969a08998f19', size: this.size === ButtonSize.Large ? 'sm' : 'xs' })), h("slot", { key: '4533e74ed576e23a75ca68a58711013c4c3482cd', name: "leading-icon" }), h("slot", { key: 'ecd5b1c5e970e47144ee522d17891af2a9c8eef7' }), h("slot", { key: '275517fb22c5cbfda415d0c5b5e45f44e1d99b21', name: "trailing-icon" })));
71
+ }
72
+ static get formAssociated() { return true; }
73
+ get el() { return this; }
74
+ static get watchers() { return {
75
+ "loading": ["handleLoadingChange"],
76
+ "disabled": ["handleDisabledChange"]
77
+ }; }
78
+ static get style() { return NvButtonStyle0; }
79
+ }, [68, "nv-button", {
80
+ "size": [513],
81
+ "emphasis": [513],
82
+ "danger": [516],
83
+ "loading": [1540],
84
+ "disabled": [1540],
85
+ "fluid": [516],
86
+ "type": [513]
87
+ }, undefined, {
88
+ "loading": ["handleLoadingChange"],
89
+ "disabled": ["handleDisabledChange"]
90
+ }]);
91
+ function defineCustomElement$1() {
92
+ if (typeof customElements === "undefined") {
93
+ return;
94
+ }
95
+ const components = ["nv-button", "nv-loader"];
96
+ components.forEach(tagName => { switch (tagName) {
97
+ case "nv-button":
98
+ if (!customElements.get(tagName)) {
99
+ customElements.define(tagName, NvButton$1);
100
+ }
101
+ break;
102
+ case "nv-loader":
103
+ if (!customElements.get(tagName)) {
104
+ defineCustomElement$2();
105
+ }
106
+ break;
107
+ } });
108
+ }
109
+ defineCustomElement$1();
110
+
111
+ const NvButton = NvButton$1;
112
+ const defineCustomElement = defineCustomElement$1;
113
+
114
+ export { NvButton, defineCustomElement };
115
+
116
+ //# sourceMappingURL=nv-button.js.map
@@ -0,0 +1 @@
1
+ {"file":"nv-button.js","mappings":";;;;AAAA,MAAM,WAAW,GAAG,w3QAAw3Q,CAAC;AAC74Q,uBAAe,WAAW;;MCsBbA,UAAQ;;;;;;;;;;;;;;QAoEX,gBAAW,GAAG,CAAC,KAAY;;YACjC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjC,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;oBAnE+B,IAAI;wBAQI,MAAM;sBAOpB,KAAK;uBAQb,KAAK;wBAMJ,KAAK;qBAMC,KAAK;oBAQE,QAAQ;;;;;IA+BzC,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,qDAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAC,GAAG,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW,IACvD,IAAI,CAAC,OAAO,KACX,kEACE,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,GACvC,CACd,EAED,6DAAM,IAAI,EAAC,cAAc,GAAQ,EACjC,8DAAa,EACb,6DAAM,IAAI,EAAC,eAAe,GAAQ,CAC7B,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["NvButton"],"sources":["src/components/nv-button/nv-button.scss?tag=nv-button","src/components/nv-button/nv-button.tsx"],"sourcesContent":["@use \"sass:map\";\n@use \"../nv-icon/nv-icon.scss\" as icon;\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-padding-y: (\n \"xs\": var(--button-xs-padding-y),\n \"sm\": var(--button-sm-padding-y),\n \"md\": var(--button-md-padding-y),\n \"lg\": var(--button-lg-padding-y)\n);\n\n$button-padding-x: (\n \"xs\": var(--button-xs-padding-x),\n \"sm\": var(--button-sm-padding-x),\n \"md\": var(--button-md-padding-x),\n \"lg\": var(--button-lg-padding-x)\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@mixin root-styles() {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n font-style: normal;\n font-weight: var(--font-weight-medium-emphasis);\n font-family: \"TT Norms Pro\", sans-serif;\n transition: background-color 150ms ease-out;\n user-select: none;\n cursor: pointer;\n height: fit-content;\n width: fit-content;\n}\n\n@mixin size-styles($size) {\n padding: map.get($button-padding-y, $size) map.get($button-padding-x, $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 & nv-icon > svg {\n @include icon.icon-size-and-stroke(\n map.get(map.get(icon.$icon-config, $size), size),\n map.get(map.get(icon.$icon-config, $size), stroke)\n );\n }\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 border: 1px solid map.get($components-button-border, $emphasis);\n color: map.get($components-button-text-hover, $emphasis);\n }\n\n @include focus-ring();\n\n &:disabled:not([disabled=\"false\"]) {\n opacity: 0.5;\n cursor: not-allowed;\n box-shadow: none;\n }\n}\n\n@mixin danger-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 border: 1px solid map.get($components-button-border, $emphasis);\n color: map.get($components-button-text-hover, $emphasis);\n }\n\n @include focus-ring(var(--color-focus-destructive));\n}\n\n@mixin fluid-styles() {\n width: 100%;\n}\n\nnv-button {\n @include root-styles();\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 &[danger]:not([danger=\"false\"]) {\n @include danger-styles($emphasis);\n }\n }\n }\n\n &[fluid]:not([fluid=\"false\"]) {\n @include fluid-styles();\n }\n\n &[loading]:not([loading=\"false\"]) {\n [slot=\"leading-icon\"] {\n display: none;\n }\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n AttachInternals,\n Element,\n Watch,\n} from '@stencil/core';\n\nimport { ButtonSize, ButtonEmphasis, ButtonType } from '../../utils/constants';\n\n/**\n * @slot default - Content of the button.\n * @slot leading-icon - Icon before the label.\n * @slot trailing-icon - Icon after the label.\n */\n@Component({\n tag: 'nv-button',\n shadow: false,\n formAssociated: true,\n styleUrl: 'nv-button.scss',\n})\nexport class NvButton {\n @AttachInternals() internals: ElementInternals;\n @Element() el: HTMLNvButtonElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Determines how large or small the button appears, allowing for\n * customization of the button's dimensions to fit different design\n * specifications and user needs.\n */\n @Prop({ reflect: true })\n readonly size: `${ButtonSize}` = 'md';\n\n /**\n * Adjusts the button's emphasis to make it more or less visually prominent\n * to users. Use this to draw attention to important actions or reduce focus\n * on less critical ones\n */\n @Prop({ reflect: true })\n readonly emphasis: `${ButtonEmphasis}` = 'high';\n\n /**\n * Applies styling that visually indicates the button represents a dangerous\n * action.\n */\n @Prop({ reflect: true })\n readonly danger: boolean = false;\n\n /**\n * Set this to true to show a spinner on the button, letting users know that\n * their action is being processed. It helps improve user experience by\n * indicating ongoing activities.\n */\n @Prop({ reflect: true, mutable: true })\n loading: boolean = false;\n\n /**\n * Disables the button, preventing user interaction.\n */\n @Prop({ reflect: true, mutable: true })\n disabled: boolean = false;\n\n /**\n * Allows the button to stretch and fill the entire width of its container.\n */\n @Prop({ reflect: true })\n readonly fluid: boolean = false;\n\n /**\n * Sets the button type to control its function in forms. Use 'submit' to send\n * form data, 'reset' to clear the form, or 'button' for a standard button\n * that doesn’t interact with form submission by default.\n */\n @Prop({ reflect: true })\n readonly type: `${ButtonType}` = 'button';\n\n //#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.loading || 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 role=\"button\" tabindex=\"0\" onClick={this.handleClick}>\n {this.loading && (\n <nv-loader\n size={this.size === ButtonSize.Large ? 'sm' : 'xs'}\n ></nv-loader>\n )}\n\n <slot name=\"leading-icon\"></slot>\n <slot></slot>\n <slot name=\"trailing-icon\"></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface NvCol extends Components.NvCol, HTMLElement {}
4
+ export const NvCol: {
5
+ prototype: NvCol;
6
+ new (): NvCol;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,57 @@
1
+ import { p as proxyCustomElement, H, h, d as Host } from './p-632bedb8.js';
2
+ import { c as clsx } from './p-8a1a6e56.js';
3
+
4
+ const nvColCss = "nv-col{display:block;flex:1 1 0%;padding-left:calc(var(--spacing-4) / 2);padding-right:calc(var(--spacing-4) / 2)}nv-col[class*=w-]{flex:none}nv-col.w-1\\/12{width:calc(100% * 1 / 12)}nv-col.w-2\\/12{width:calc(100% * 2 / 12)}nv-col.w-3\\/12{width:calc(100% * 3 / 12)}nv-col.w-4\\/12{width:calc(100% * 4 / 12)}nv-col.w-5\\/12{width:calc(100% * 5 / 12)}nv-col.w-6\\/12{width:calc(100% * 6 / 12)}nv-col.w-7\\/12{width:calc(100% * 7 / 12)}nv-col.w-8\\/12{width:calc(100% * 8 / 12)}nv-col.w-9\\/12{width:calc(100% * 9 / 12)}nv-col.w-10\\/12{width:calc(100% * 10 / 12)}nv-col.w-11\\/12{width:calc(100% * 11 / 12)}nv-col.w-12\\/12{width:calc(100% * 12 / 12)}";
5
+ const NvColStyle0 = nvColCss;
6
+
7
+ const NvCol$1 = /*@__PURE__*/ proxyCustomElement(class NvCol extends H {
8
+ constructor() {
9
+ super();
10
+ this.__registerHost();
11
+ this.size = undefined;
12
+ }
13
+ //#endregion PROPERTIES
14
+ /****************************************************************************/
15
+ //#region METHODS
16
+ /**
17
+ * Get the column size class.
18
+ * @returns {string | undefined} The column size class.
19
+ */
20
+ getColSize() {
21
+ if (this.size) {
22
+ if (this.size < 1 || this.size > 12)
23
+ return;
24
+ return `w-${this.size}/12`;
25
+ }
26
+ }
27
+ //#endregion METHODS
28
+ /****************************************************************************/
29
+ //#region RENDER
30
+ render() {
31
+ return (h(Host, { key: 'e0caccedd19c02c1854eb48f89302405e2cb0f46', class: clsx(this.getColSize()) }, h("slot", { key: 'a8d672a55a70d6ee551e9ac9e7366455f76aa1e5' })));
32
+ }
33
+ static get style() { return NvColStyle0; }
34
+ }, [4, "nv-col", {
35
+ "size": [514]
36
+ }]);
37
+ function defineCustomElement$1() {
38
+ if (typeof customElements === "undefined") {
39
+ return;
40
+ }
41
+ const components = ["nv-col"];
42
+ components.forEach(tagName => { switch (tagName) {
43
+ case "nv-col":
44
+ if (!customElements.get(tagName)) {
45
+ customElements.define(tagName, NvCol$1);
46
+ }
47
+ break;
48
+ } });
49
+ }
50
+ defineCustomElement$1();
51
+
52
+ const NvCol = NvCol$1;
53
+ const defineCustomElement = defineCustomElement$1;
54
+
55
+ export { NvCol, defineCustomElement };
56
+
57
+ //# sourceMappingURL=nv-col.js.map
@@ -0,0 +1 @@
1
+ {"file":"nv-col.js","mappings":";;;AAAA,MAAM,QAAQ,GAAG,8oBAA8oB,CAAC;AAChqB,oBAAe,QAAQ;;MCUVA,OAAK;;;;;;;;;;;;;IAkBR,UAAU;QAChB,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,EAAE;gBAAE,OAAO;YAC5C,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC;SAC5B;KACF;;;;IAMD,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAClC,8DAAa,CACR,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;","names":["NvCol"],"sources":["src/components/nv-col/nv-col.scss?tag=nv-col","src/components/nv-col/nv-col.tsx"],"sourcesContent":["@function calculate-width($columns) {\n $total-columns: 12;\n @return calc(100% * #{$columns} / #{$total-columns});\n}\n\nnv-col {\n display: block;\n flex: 1 1 0%;\n padding-left: calc(var(--spacing-4) / 2);\n padding-right: calc(var(--spacing-4) / 2);\n\n &[class*=\"w-\"] {\n flex: none;\n }\n\n @for $i from 1 through 12 {\n &.w-#{$i}\\/12 {\n width: calculate-width($i);\n }\n }\n}","import { Component, Host, Prop, h } from '@stencil/core';\nimport clsx from 'clsx';\n\n/**\n * @slot default - The column content.\n */\n@Component({\n tag: 'nv-col',\n styleUrl: './nv-col.scss',\n shadow: false,\n})\nexport class NvCol {\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Defines the column size based on a 12 column grid system.\n */\n @Prop({ reflect: true })\n readonly size: number;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Get the column size class.\n * @returns {string | undefined} The column size class.\n */\n private getColSize() {\n if (this.size) {\n if (this.size < 1 || this.size > 12) return;\n return `w-${this.size}/12`;\n }\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host class={clsx(this.getColSize())}>\n <slot></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface NvFieldcheckbox extends Components.NvFieldcheckbox, HTMLElement {}
4
+ export const NvFieldcheckbox: {
5
+ prototype: NvFieldcheckbox;
6
+ new (): NvFieldcheckbox;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,128 @@
1
+ import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-632bedb8.js';
2
+ import { c as clsx } from './p-8a1a6e56.js';
3
+ import { v as v4 } from './p-f5ff676c.js';
4
+
5
+ const nvFieldcheckboxCss = "nv-fieldcheckbox{--nv-fieldcheckbox-border-default:var(--components-form-field-border-default);--nv-fieldcheckbox-border-hover:var(--components-form-field-border-hover);--nv-fieldcheckbox-border-focus:var(--components-form-field-border-default);--nv-fieldcheckbox-background-default:var(--components-form-field-background-default);--nv-fieldcheckbox-background-checked:var(--components-form-field-background-checked);--nv-fieldcheckbox-background-disabled:var(--components-form-field-background-disabled);--nv-fieldcheckbox-focus-box-shadow:var(--color-focus-brand);--nv-fieldcheckbox-color-checked:var(--components-form-shape-foreground-default);--nv-fieldcheckbox-color-disabled:var(--components-form-shape-foreground-disabled);--nv-fieldcheckbox-outline-color:var(--color-focus-brand);display:inline-flex;align-items:flex-start;gap:var(--form-gap-x);position:relative}nv-fieldcheckbox:not([disabled],[readonly]) input,nv-fieldcheckbox:not([disabled],[readonly]) label{cursor:pointer}nv-fieldcheckbox.error .input-container{--nv-fieldcheckbox-border-default:var(--components-form-field-border-error);--nv-fieldcheckbox-border-hover:var(--nv-fieldcheckbox-border-default);--nv-fieldcheckbox-border-focus:var(--components-form-field-border-error);--nv-fieldcheckbox-focus-box-shadow:var(--color-focus-destructive);--nv-fieldcheckbox-color-disabled:var(--components-form-shape-foreground-disabled-error);--nv-fieldcheckbox-background-checked:var(--components-form-field-background-error);--nv-fieldcheckbox-outline-color:var(--color-focus-destructive)}nv-fieldcheckbox.label-placement-before{flex-direction:row-reverse}nv-fieldcheckbox[disabled]{opacity:0.5}nv-fieldcheckbox label{align-self:stretch;color:var(--components-form-text-label-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:var(--form-label-font-weight);line-height:var(--form-label-line-height)}nv-fieldcheckbox .input-container{position:relative;color:var(--nv-fieldcheckbox-color-checked)}nv-fieldcheckbox .input-container input[type=checkbox][readonly]{opacity:0.5}nv-fieldcheckbox .input-container:has(input[type=checkbox]:disabled:not([readonly])){color:var(--nv-fieldcheckbox-color-disabled)}nv-fieldcheckbox .input-container input[type=checkbox]{appearance:none;position:relative;display:flex;width:var(--form-checkbox-size);height:var(--form-checkbox-size);flex-direction:column;align-items:flex-start;border-radius:var(--form-checkbox-radius);border-width:var(--form-checkbox-border-width);border-style:solid;border-color:var(--nv-fieldcheckbox-border-default);background:var(--nv-fieldcheckbox-background-default)}nv-fieldcheckbox .input-container input[type=checkbox]:hover{border-color:var(--nv-fieldcheckbox-border-hover)}nv-fieldcheckbox .input-container input[type=checkbox]:focus{border-color:var(--nv-fieldcheckbox-border-focus)}nv-fieldcheckbox .input-container input[type=checkbox]:focus,nv-fieldcheckbox .input-container input[type=checkbox]:focus-within{outline:none}nv-fieldcheckbox .input-container input[type=checkbox]:focus-visible,nv-fieldcheckbox .input-container input[type=checkbox]:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--nv-fieldcheckbox-outline-color);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-fieldcheckbox .input-container input[type=checkbox]:checked,nv-fieldcheckbox .input-container input[type=checkbox]:indeterminate{background:var(--nv-fieldcheckbox-background-checked);border-color:var(--nv-fieldcheckbox-background-checked)}nv-fieldcheckbox .input-container input[type=checkbox]:disabled:not([readonly]){background:var(--nv-fieldcheckbox-background-disabled);border-color:var(--nv-fieldcheckbox-border-default)}nv-fieldcheckbox .input-container input[type=checkbox][readonly]{opacity:0.5}nv-fieldcheckbox .input-container .icon{pointer-events:none;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}nv-fieldcheckbox .input-container .icon svg{width:var(--form-checkbox-icon-size);height:var(--form-checkbox-icon-size);fill:none;stroke:currentcolor;stroke-width:var(--form-checkbox-icon-stroke);flex-shrink:0}nv-fieldcheckbox .description{align-self:stretch;color:var(--components-form-text-description-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-description-font-size);font-style:normal;font-weight:var(--form-description-font-weight);line-height:var(--form-description-line-height)}nv-fieldcheckbox .error-description{align-self:stretch;color:var(--components-form-text-description-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-description-font-size);font-style:normal;font-weight:var(--form-description-font-weight);line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}nv-fieldcheckbox .text-container{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0}";
6
+ const NvFieldcheckboxStyle0 = nvFieldcheckboxCss;
7
+
8
+ const NvFieldcheckbox$1 = /*@__PURE__*/ proxyCustomElement(class NvFieldcheckbox extends H {
9
+ constructor() {
10
+ super();
11
+ this.__registerHost();
12
+ this.checkedChanged = createEvent(this, "checkedChanged", 7);
13
+ this.message = undefined;
14
+ this.validation = undefined;
15
+ this.labelBefore = false;
16
+ this.inputId = v4();
17
+ this.name = undefined;
18
+ this.value = undefined;
19
+ this.label = undefined;
20
+ this.labelPlacement = undefined;
21
+ this.hideLabel = false;
22
+ this.description = undefined;
23
+ this.error = false;
24
+ this.errorDescription = undefined;
25
+ this.checked = false;
26
+ this.indeterminate = false;
27
+ this.disabled = false;
28
+ this.readonly = false;
29
+ this.required = false;
30
+ }
31
+ componentWillRender() {
32
+ if (this.message) {
33
+ this.description = this.message;
34
+ }
35
+ if (this.labelBefore) {
36
+ this.labelPlacement = 'before';
37
+ }
38
+ if (this.validation) {
39
+ this.errorDescription = this.validation;
40
+ }
41
+ }
42
+ //#endregion EVENTS
43
+ /****************************************************************************/
44
+ //#region WATCHERS
45
+ /**
46
+ * Watches for changes to the checked state and emits the new value.
47
+ * @param {boolean} checked - The new value of the checked state.
48
+ */
49
+ onCheckedChanged(checked) {
50
+ this.checkedChanged.emit(checked);
51
+ }
52
+ /**
53
+ * Listens for the change event on the checkbox input element and updates the
54
+ * checked state.
55
+ * @param {Event} event - The change event.
56
+ */
57
+ handleChange(event) {
58
+ const target = event.target;
59
+ if (target.type === 'checkbox' && target.id === this.inputId) {
60
+ if (this.readonly || this.disabled) {
61
+ event.preventDefault();
62
+ return;
63
+ }
64
+ if (this.indeterminate) {
65
+ this.indeterminate = false;
66
+ }
67
+ this.checked = target.checked;
68
+ }
69
+ }
70
+ //#endregion WATCHERS
71
+ /****************************************************************************/
72
+ //#region RENDER
73
+ render() {
74
+ return (h(Host, { key: 'b927465541957ac5e40c6af190757ac44cf4a104', class: clsx(this.labelPlacement === 'before' && 'label-placement-before', this.error && 'error') }, h("div", { key: 'a8a14a21f274f0ad1ebaecb4af0b6eeee73ad0bd', class: "input-container" }, h("input", { key: '1ca6af28c329360b9b919a65516b1f1573669881', type: "checkbox", id: this.inputId, name: this.name, autocomplete: "off", value: this.value, checked: Boolean(this.checked), disabled: this.disabled || this.readonly, readonly: this.readonly && !this.required, required: this.required, indeterminate: this.indeterminate, ref: el => {
75
+ if (el) {
76
+ el.indeterminate = this.indeterminate;
77
+ }
78
+ } }), h("span", { key: 'ebdf5ba1086be1fed6c4364557c8c78c1b226333', class: "icon" }, this.checked && !this.indeterminate && (h("slot", { key: '5722e106a2945a670ff93a49203f41dafafc230b', name: "checked-icon" }, h("svg", { key: 'ba9707c495766d7909f2f234f122a5eb1dd975a5', xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 14 14", fill: "none" }, h("path", { key: 'dea34c4e8dd9857321c1f5625fbb3d5b02aa42ca', d: "M11.6667 3.5L5.25004 9.91667L2.33337 7", "stroke-linecap": "round", "stroke-linejoin": "round" })))), this.indeterminate && (h("slot", { key: 'd833f4c34381f2579a09049239b467e77f90ac45', name: "indeterminate-icon" }, h("svg", { key: 'c0555c3edaa8eaa841b36d90f2bbd7cee458007d', class: "indeterminate-svg", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 14 14", fill: "none" }, h("path", { key: 'c5f4f39e6a4ae2bead864a3945a5f7b6b737f724', d: "M2.9165 7H11.0832", "stroke-linecap": "round", "stroke-linejoin": "round" })))))), h("div", { key: '986f1a08c34f548675cf6d9872514445a36a07af', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { key: '8a4925c138bc779af8df218c7a4bfaa290e71142', htmlFor: this.inputId, class: clsx(this.hideLabel && 'visually-hidden') }, h("slot", { key: '514f59b77e90d090b2459aaa65ffdab6e56158fc', name: "label" }, this.label))), (this.description ||
79
+ this.el.querySelector('[slot="description"]')) && (h("div", { key: '569e7989c59ffed32610f88a01e75074520884c0', class: "description" }, h("slot", { key: '53eb9d3836b74e99e27a7b0ae6b4e91e6d4b16c6', name: "description" }, this.description))), (this.errorDescription ||
80
+ this.el.querySelector('[slot="error-description"]')) && (h("div", { key: 'ab1b17a3b93ec09021d16ece7d37bce578d20dcb', hidden: !this.error, class: "error-description" }, h("slot", { key: '7c183b11c038a45b8f5e4a78f268fefe1512b1eb', name: "error-description" }, this.errorDescription))))));
81
+ }
82
+ get el() { return this; }
83
+ static get watchers() { return {
84
+ "checked": ["onCheckedChanged"]
85
+ }; }
86
+ static get style() { return NvFieldcheckboxStyle0; }
87
+ }, [4, "nv-fieldcheckbox", {
88
+ "message": [1],
89
+ "validation": [1],
90
+ "labelBefore": [4, "label-before"],
91
+ "inputId": [513, "input-id"],
92
+ "name": [513],
93
+ "value": [513],
94
+ "label": [513],
95
+ "labelPlacement": [1537, "label-placement"],
96
+ "hideLabel": [516, "hide-label"],
97
+ "description": [1537],
98
+ "error": [516],
99
+ "errorDescription": [1537, "error-description"],
100
+ "checked": [1540],
101
+ "indeterminate": [1540],
102
+ "disabled": [516],
103
+ "readonly": [516],
104
+ "required": [516]
105
+ }, [[0, "change", "handleChange"]], {
106
+ "checked": ["onCheckedChanged"]
107
+ }]);
108
+ function defineCustomElement$1() {
109
+ if (typeof customElements === "undefined") {
110
+ return;
111
+ }
112
+ const components = ["nv-fieldcheckbox"];
113
+ components.forEach(tagName => { switch (tagName) {
114
+ case "nv-fieldcheckbox":
115
+ if (!customElements.get(tagName)) {
116
+ customElements.define(tagName, NvFieldcheckbox$1);
117
+ }
118
+ break;
119
+ } });
120
+ }
121
+ defineCustomElement$1();
122
+
123
+ const NvFieldcheckbox = NvFieldcheckbox$1;
124
+ const defineCustomElement = defineCustomElement$1;
125
+
126
+ export { NvFieldcheckbox, defineCustomElement };
127
+
128
+ //# sourceMappingURL=nv-fieldcheckbox.js.map
@@ -0,0 +1 @@
1
+ {"file":"nv-fieldcheckbox.js","mappings":";;;;AAAA,MAAM,kBAAkB,GAAG,o1JAAo1J,CAAC;AACh3J,8BAAe,kBAAkB;;MC2BpBA,iBAAe;;;;;;;2BAyBO,KAAK;uBA2BXC,EAAM,EAAE;;;;;yBAmCL,KAAK;;qBAcT,KAAK;;uBAYZ,KAAK;6BAOC,KAAK;wBAMD,KAAK;wBAOL,KAAK;wBAOL,KAAK;;IAjHlC,mBAAmB;QACjB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;SACjC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;SAChC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC;SACzC;KACF;;;;;;;;IA2HD,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,IAAI,CAAC,aAAa,EAAE;gBACtB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;aAC5B;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,EAC5D,IAAI,CAAC,KAAK,IAAI,OAAO,CACtB,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,IAAI,CAAC,IAAI,CAAC,QAAQ,EACzC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,GAAG,EAAE,EAAE;gBACL,IAAI,EAAE,EAAE;oBACN,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;iBACvC;aACF,GACD,EACF,6DAAM,KAAK,EAAC,MAAM,IACf,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,KAClC,6DAAM,IAAI,EAAC,cAAc,IACvB,4DACE,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,IAEX,6DACE,CAAC,EAAC,wCAAwC,oBAC3B,OAAO,qBACN,OAAO,GACvB,CACE,CACD,CACR,EACA,IAAI,CAAC,aAAa,KACjB,6DAAM,IAAI,EAAC,oBAAoB,IAC7B,4DACE,KAAK,EAAC,mBAAmB,EACzB,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,IAEX,6DACE,CAAC,EAAC,mBAAmB,oBACN,OAAO,qBACN,OAAO,GACvB,CACE,CACD,CACR,CACI,CACH,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,EAEA,CAAC,IAAI,CAAC,gBAAgB;YACrB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,4BAA4B,CAAC,MACnD,4DAAK,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAC,mBAAmB,IACjD,6DAAM,IAAI,EAAC,mBAAmB,IAAE,IAAI,CAAC,gBAAgB,CAAQ,CACzD,CACP,CACG,CACD,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["NvFieldcheckbox","uuidv4"],"sources":["src/components/nv-fieldcheckbox/nv-fieldcheckbox.scss?tag=nv-fieldcheckbox","src/components/nv-fieldcheckbox/nv-fieldcheckbox.tsx"],"sourcesContent":["@import \"../../styles/focus-ring\";\n\n@mixin fieldcheckbox-variables() {\n --nv-fieldcheckbox-border-default: var(--components-form-field-border-default);\n --nv-fieldcheckbox-border-hover: var(--components-form-field-border-hover);\n --nv-fieldcheckbox-border-focus: var(--components-form-field-border-default);\n --nv-fieldcheckbox-background-default: var(--components-form-field-background-default);\n --nv-fieldcheckbox-background-checked: var(--components-form-field-background-checked);\n --nv-fieldcheckbox-background-disabled: var(--components-form-field-background-disabled);\n --nv-fieldcheckbox-focus-box-shadow: var(--color-focus-brand);\n --nv-fieldcheckbox-color-checked: var(--components-form-shape-foreground-default);\n --nv-fieldcheckbox-color-disabled: var(--components-form-shape-foreground-disabled);\n --nv-fieldcheckbox-outline-color: var(--color-focus-brand);\n}\n\n@mixin fieldcheckbox-error-variables() {\n --nv-fieldcheckbox-border-default: var(--components-form-field-border-error);\n --nv-fieldcheckbox-border-hover: var(--nv-fieldcheckbox-border-default);\n --nv-fieldcheckbox-border-focus: var(--components-form-field-border-error);\n --nv-fieldcheckbox-focus-box-shadow: var(--color-focus-destructive);\n --nv-fieldcheckbox-color-disabled: var(--components-form-shape-foreground-disabled-error);\n --nv-fieldcheckbox-background-checked: var(--components-form-field-background-error);\n --nv-fieldcheckbox-outline-color: var(--color-focus-destructive);\n}\n\n@mixin root-styles() {\n display: inline-flex;\n align-items: flex-start;\n gap: var(--form-gap-x);\n position: relative;\n\n &:not([disabled], [readonly]) {\n input,\n label {\n cursor: pointer;\n }\n }\n}\n\n@mixin label-before-styles() {\n flex-direction: row-reverse;\n}\n\n@mixin label-styles() {\n align-self: stretch;\n color: var(--components-form-text-label-default);\n font-family: \"TT Norms Pro\", sans-serif;\n font-size: var(--form-label-font-size);\n font-style: normal;\n font-weight: var(--form-label-font-weight);\n line-height: var(--form-label-line-height);\n}\n\n@mixin description-styles() {\n align-self: stretch;\n color: var(--components-form-text-description-default);\n font-family: \"TT Norms Pro\", sans-serif;\n font-size: var(--form-description-font-size);\n font-style: normal;\n font-weight: var(--form-description-font-weight);\n line-height: var(--form-description-line-height);\n}\n\n@mixin error-description-styles() {\n @include description-styles();\n\n color: var(--components-form-text-description-error);\n}\n\n@mixin text-container-styles() {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n flex: 1 0 0;\n}\n\n@mixin input-container-styles() {\n position: relative;\n color: var(--nv-fieldcheckbox-color-checked);\n\n input[type=checkbox][readonly] {\n // TODO: Find a way to use the --components-form-opacity-disabled variable properly, right now it outputs a value of 50px instead of 0.5.\n opacity: 0.5;\n }\n\n &:has(input[type=\"checkbox\"]:disabled:not([readonly])) {\n color: var(--nv-fieldcheckbox-color-disabled);\n }\n}\n\n@mixin input-styles() {\n appearance: none;\n position: relative;\n display: flex;\n width: var(--form-checkbox-size);\n height: var(--form-checkbox-size);\n flex-direction: column;\n align-items: flex-start;\n border-radius: var(--form-checkbox-radius);\n border-width: var(--form-checkbox-border-width);\n border-style: solid;\n border-color: var(--nv-fieldcheckbox-border-default);\n background: var(--nv-fieldcheckbox-background-default);\n\n &:hover {\n border-color: var(--nv-fieldcheckbox-border-hover);\n }\n\n &:focus {\n border-color: var(--nv-fieldcheckbox-border-focus);\n }\n\n @include focus-ring(var(--nv-fieldcheckbox-outline-color));\n\n &:checked,\n &:indeterminate {\n background: var(--nv-fieldcheckbox-background-checked);\n border-color: var(--nv-fieldcheckbox-background-checked);\n }\n\n &:disabled:not([readonly]) {\n background: var(--nv-fieldcheckbox-background-disabled);\n border-color: var(--nv-fieldcheckbox-border-default);\n }\n\n &[readonly] {\n // TODO: Find a way to use the --components-form-opacity-disabled variable properly, right now it outputs a value of 50px instead of 0.5.\n opacity: 0.5;\n }\n}\n\n@mixin icon-styles() {\n pointer-events: none;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n\n svg {\n width: var(--form-checkbox-icon-size);\n height: var(--form-checkbox-icon-size);\n fill: none;\n stroke: currentcolor;\n stroke-width: var(--form-checkbox-icon-stroke);\n flex-shrink: 0;\n }\n}\n\nnv-fieldcheckbox {\n @include fieldcheckbox-variables();\n @include root-styles();\n\n &.error .input-container {\n @include fieldcheckbox-error-variables();\n }\n\n &.label-placement-before {\n @include label-before-styles();\n }\n &[disabled] {\n // TODO: Find a way to use the --components-form-opacity-disabled variable properly, right now it outputs a value of 50px instead of 0.5.\n opacity: 0.5;\n }\n label {\n @include label-styles();\n }\n\n .input-container {\n @include input-container-styles();\n\n input[type=\"checkbox\"] {\n @include input-styles();\n }\n\n .icon {\n @include icon-styles();\n }\n }\n\n .description {\n @include description-styles();\n }\n\n .error-description {\n @include error-description-styles();\n }\n\n .text-container {\n @include text-container-styles();\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Watch,\n Event,\n EventEmitter,\n Listen,\n} from '@stencil/core';\nimport clsx from 'clsx';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { type 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 * @slot checked-icon - Content to be placed as the checked icon, will override the checkedIcon prop.\n * @slot indeterminate-icon - Content to be placed as the indeterminate icon, will override the indeterminateIcon prop.\n */\n@Component({\n tag: 'nv-fieldcheckbox',\n styleUrl: 'nv-fieldcheckbox.scss',\n shadow: false,\n})\nexport class NvFieldcheckbox {\n @Element() el!: HTMLNvFieldcheckboxElement;\n\n /****************************************************************************/\n //#region DEPRECATED\n\n /**\n * Message define a 'hint ' message for the Field.\n * @deprecated Use `description` instead.\n * */\n @Prop()\n readonly message?: string;\n\n /**\n * The text for the validation message.\n * @deprecated Use `errorDescription` instead.\n * */\n @Prop()\n readonly validation?: string;\n\n /**\n * When true, the label will be placed before the checkbox.\n * @deprecated Use `labelPlacement = end` instead.\n * */\n @Prop()\n readonly labelBefore?: boolean = false;\n\n componentWillRender() {\n if (this.message) {\n this.description = this.message;\n }\n\n if (this.labelBefore) {\n this.labelPlacement = 'before';\n }\n\n if (this.validation) {\n this.errorDescription = this.validation;\n }\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 * The name attribute for the checkbox input, used to reference the form data\n * after submission.\n */\n @Prop({ reflect: true })\n readonly name?: string;\n\n /**\n * The value attribute of the checkbox input, representing the value sent on\n * form submission when the checkbox is checked. When the form is submitted,\n * the data will consist of a name=value pair.\n */\n @Prop({ reflect: true })\n readonly value?: string;\n\n /**\n * The label displayed next to the checkbox.\n */\n @Prop({ reflect: true })\n readonly label?: string;\n\n /**\n * Determines the position of the label relative to the checkbox, either\n * 'start' (before) or 'end' (after).\n */\n @Prop({ reflect: true, mutable: true })\n labelPlacement: `${FieldLabelPlacement}`;\n\n /**\n * Hides the label visually while still keeping it available for screen\n * readers.\n */\n @Prop({ reflect: true })\n readonly hideLabel: boolean = false;\n\n /**\n * A description providing additional context or information about the\n * checkbox.\n */\n @Prop({ reflect: true, mutable: true })\n description?: string;\n\n /**\n * Signals that there is an error associated with the checkbox, which can\n * trigger visual cues.\n */\n @Prop({ reflect: true })\n readonly error: boolean = false;\n\n /**\n * A description that appears when there is an error related to the checkbox.\n */\n @Prop({ reflect: true, mutable: true })\n errorDescription?: string;\n\n /**\n * Indicates whether the checkbox is checked or not.\n */\n @Prop({ reflect: true, mutable: true })\n checked: boolean = false;\n\n /**\n * Indicates whether the checkbox is in an indeterminate state, typically used\n * for hierarchical checkboxes.\n */\n @Prop({ reflect: true, mutable: true })\n indeterminate: boolean = false;\n\n /**\n * Disables the checkbox, preventing user interaction.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Sets the checkbox to read-only, preventing user changes but still allowing\n * focus and selection of text.\n */\n @Prop({ reflect: true })\n readonly readonly: boolean = false;\n\n /**\n * Marks the checkbox as required, indicating that it must be checked for\n * form submission.\n */\n @Prop({ reflect: true })\n readonly required: boolean = false;\n\n //#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 checkbox input element and updates the\n * checked state.\n * @param {Event} event - The change event.\n */\n @Listen('change')\n handleChange(event: Event) {\n const target = event.target as HTMLInputElement;\n\n if (target.type === 'checkbox' && target.id === this.inputId) {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n return;\n }\n\n if (this.indeterminate) {\n this.indeterminate = false;\n }\n\n this.checked = target.checked;\n }\n }\n\n //#endregion 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 <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 && !this.required}\n required={this.required}\n indeterminate={this.indeterminate}\n ref={el => {\n if (el) {\n el.indeterminate = this.indeterminate;\n }\n }}\n />\n <span class=\"icon\">\n {this.checked && !this.indeterminate && (\n <slot name=\"checked-icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n >\n <path\n d=\"M11.6667 3.5L5.25004 9.91667L2.33337 7\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </slot>\n )}\n {this.indeterminate && (\n <slot name=\"indeterminate-icon\">\n <svg\n class=\"indeterminate-svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n >\n <path\n d=\"M2.9165 7H11.0832\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </slot>\n )}\n </span>\n </div>\n\n <div class=\"text-container\">\n {(this.label || this.el.querySelector('[slot=\"label\"]')) && (\n <label\n htmlFor={this.inputId}\n class={clsx(this.hideLabel && 'visually-hidden')}\n >\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n\n {(this.description ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n\n {(this.errorDescription ||\n this.el.querySelector('[slot=\"error-description\"]')) && (\n <div hidden={!this.error} class=\"error-description\">\n <slot name=\"error-description\">{this.errorDescription}</slot>\n </div>\n )}\n </div>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface NvFieldnumber extends Components.NvFieldnumber, HTMLElement {}
4
+ export const NvFieldnumber: {
5
+ prototype: NvFieldnumber;
6
+ new (): NvFieldnumber;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;