@nova-design-system/nova-webcomponents 3.1.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (474) hide show
  1. package/dist/cjs/{index-9bda5507.js → index-c56424e5.js} +34 -186
  2. package/dist/cjs/index-c56424e5.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +1 -0
  4. package/dist/cjs/index.cjs.js.map +1 -1
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/native.cjs.js +2 -23
  7. package/dist/cjs/native.cjs.js.map +1 -1
  8. package/dist/cjs/nv-alert.cjs.entry.js +1 -1
  9. package/dist/cjs/nv-avatar.cjs.entry.js +1 -1
  10. package/dist/cjs/nv-badge_2.cjs.entry.js +1 -1
  11. package/dist/cjs/nv-breadcrumb.cjs.entry.js +1 -1
  12. package/dist/cjs/nv-breadcrumbs.cjs.entry.js +1 -1
  13. package/dist/cjs/nv-button.cjs.entry.js +1 -1
  14. package/dist/cjs/nv-calendar.cjs.entry.js +384 -172
  15. package/dist/cjs/nv-calendar.cjs.entry.js.map +1 -1
  16. package/dist/cjs/nv-col.cjs.entry.js +1 -1
  17. package/dist/cjs/nv-datagrid.cjs.entry.js +95 -103
  18. package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
  19. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +2 -2
  20. package/dist/cjs/nv-datagridcolumn.cjs.entry.js.map +1 -1
  21. package/dist/cjs/nv-dialog.cjs.entry.js +1 -1
  22. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +1 -1
  23. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +1 -1
  24. package/dist/cjs/nv-fielddate.cjs.entry.js +45 -11
  25. package/dist/cjs/nv-fielddate.cjs.entry.js.map +1 -1
  26. package/dist/cjs/nv-fielddaterange.cjs.entry.js +128 -42
  27. package/dist/cjs/nv-fielddaterange.cjs.entry.js.map +1 -1
  28. package/dist/cjs/nv-fielddropdown.cjs.entry.js +84 -60
  29. package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
  30. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
  31. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +116 -104
  32. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
  33. package/dist/cjs/nv-fieldnumber.cjs.entry.js +2 -2
  34. package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
  35. package/dist/cjs/nv-fieldpassword.cjs.entry.js +2 -2
  36. package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
  37. package/dist/cjs/nv-fieldradio.cjs.entry.js +1 -1
  38. package/dist/cjs/nv-fieldselect.cjs.entry.js +2 -2
  39. package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
  40. package/dist/cjs/nv-fieldslider.cjs.entry.js +668 -0
  41. package/dist/cjs/nv-fieldslider.cjs.entry.js.map +1 -0
  42. package/dist/cjs/nv-fieldtext.cjs.entry.js +5 -5
  43. package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -1
  44. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +5 -5
  45. package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -1
  46. package/dist/cjs/nv-fieldtime.cjs.entry.js +11 -11
  47. package/dist/cjs/nv-fieldtime.cjs.entry.js.map +1 -1
  48. package/dist/cjs/nv-icon.cjs.entry.js +3 -3
  49. package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
  50. package/dist/cjs/nv-iconbutton_2.cjs.entry.js +3 -3
  51. package/dist/cjs/nv-menu.cjs.entry.js +2 -2
  52. package/dist/cjs/nv-menuitem.cjs.entry.js +2 -2
  53. package/dist/cjs/nv-popover.cjs.entry.js +2 -2
  54. package/dist/cjs/nv-row.cjs.entry.js +2 -2
  55. package/dist/cjs/nv-stack.cjs.entry.js +2 -2
  56. package/dist/cjs/nv-table.cjs.entry.js +3 -3
  57. package/dist/cjs/nv-tablecolumn.cjs.entry.js +1 -1
  58. package/dist/cjs/nv-toggle.cjs.entry.js +3 -3
  59. package/dist/cjs/nv-tooltip.cjs.entry.js +3 -3
  60. package/dist/cjs/nv-tooltip.cjs.entry.js.map +1 -1
  61. package/dist/collection/collection-manifest.json +1 -0
  62. package/dist/collection/components/nv-calendar/nv-calendar.css +6 -2
  63. package/dist/collection/components/nv-calendar/nv-calendar.js +247 -169
  64. package/dist/collection/components/nv-calendar/nv-calendar.js.map +1 -1
  65. package/dist/collection/components/nv-calendar/nv-calendar.utils.js +12 -3
  66. package/dist/collection/components/nv-calendar/nv-calendar.utils.js.map +1 -1
  67. package/dist/collection/components/nv-calendar/partials/calendar-actions.js +11 -0
  68. package/dist/collection/components/nv-calendar/partials/calendar-actions.js.map +1 -0
  69. package/dist/collection/components/nv-calendar/partials/calendar-grid.js +24 -0
  70. package/dist/collection/components/nv-calendar/partials/calendar-grid.js.map +1 -0
  71. package/dist/collection/components/nv-calendar/partials/calendar-header.js +38 -0
  72. package/dist/collection/components/nv-calendar/partials/calendar-header.js.map +1 -0
  73. package/dist/collection/components/nv-calendar/partials/calendar-shortcuts.js +22 -0
  74. package/dist/collection/components/nv-calendar/partials/calendar-shortcuts.js.map +1 -0
  75. package/dist/collection/components/nv-calendar/partials/day-cell.js +31 -0
  76. package/dist/collection/components/nv-calendar/partials/day-cell.js.map +1 -0
  77. package/dist/collection/components/nv-calendar/partials/index.js +7 -0
  78. package/dist/collection/components/nv-calendar/partials/index.js.map +1 -0
  79. package/dist/collection/components/nv-calendar/partials/week-numbers.js +36 -0
  80. package/dist/collection/components/nv-calendar/partials/week-numbers.js.map +1 -0
  81. package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js +692 -651
  82. package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js.map +1 -1
  83. package/dist/collection/components/nv-calendar/test/partials/calendar-actions.logic.test.js +169 -0
  84. package/dist/collection/components/nv-calendar/test/partials/calendar-actions.logic.test.js.map +1 -0
  85. package/dist/collection/components/nv-calendar/test/partials/calendar-grid.logic.test.js +262 -0
  86. package/dist/collection/components/nv-calendar/test/partials/calendar-grid.logic.test.js.map +1 -0
  87. package/dist/collection/components/nv-calendar/test/partials/calendar-header.logic.test.js +208 -0
  88. package/dist/collection/components/nv-calendar/test/partials/calendar-header.logic.test.js.map +1 -0
  89. package/dist/collection/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.js +355 -0
  90. package/dist/collection/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.js.map +1 -0
  91. package/dist/collection/components/nv-calendar/test/partials/day-cell.logic.test.js +250 -0
  92. package/dist/collection/components/nv-calendar/test/partials/day-cell.logic.test.js.map +1 -0
  93. package/dist/collection/components/nv-calendar/test/partials/week-numbers.logic.test.js +217 -0
  94. package/dist/collection/components/nv-calendar/test/partials/week-numbers.logic.test.js.map +1 -0
  95. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +131 -48
  96. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +1 -1
  97. package/dist/collection/components/nv-datagrid/nv-datagrid.js +94 -152
  98. package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +1 -1
  99. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +20 -1
  100. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js.map +1 -1
  101. package/dist/collection/components/nv-fielddate/nv-fielddate.js +56 -16
  102. package/dist/collection/components/nv-fielddate/nv-fielddate.js.map +1 -1
  103. package/dist/collection/components/nv-fielddate/styles/nv-fielddate.css +51 -1
  104. package/dist/collection/components/nv-fielddate/test/nv-fielddate.logic.test.js +196 -0
  105. package/dist/collection/components/nv-fielddate/test/nv-fielddate.logic.test.js.map +1 -0
  106. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +165 -41
  107. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +1 -1
  108. package/dist/collection/components/nv-fielddaterange/styles/nv-fielddaterange.css +51 -1
  109. package/dist/collection/components/nv-fielddaterange/test/nv-fielddaterange.logic.test.js +137 -0
  110. package/dist/collection/components/nv-fielddaterange/test/nv-fielddaterange.logic.test.js.map +1 -0
  111. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +8 -0
  112. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +1 -1
  113. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +173 -106
  114. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
  115. package/dist/collection/components/nv-fielddropdown/styles/nv-fielddropdown.css +77 -1
  116. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +202 -190
  117. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
  118. package/dist/collection/components/nv-fieldmultiselect/{nv-fieldmultiselect.css → styles/nv-fieldmultiselect.css} +61 -4
  119. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.css +51 -1
  120. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.css +51 -1
  121. package/dist/collection/components/nv-fieldselect/nv-fieldselect.css +51 -1
  122. package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js +264 -0
  123. package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js.map +1 -0
  124. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +1036 -0
  125. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js.map +1 -0
  126. package/dist/collection/components/nv-fieldslider/nv-fieldslider.utils.js +77 -0
  127. package/dist/collection/components/nv-fieldslider/nv-fieldslider.utils.js.map +1 -0
  128. package/dist/collection/components/nv-fieldslider/partials/field-input.js +33 -0
  129. package/dist/collection/components/nv-fieldslider/partials/field-input.js.map +1 -0
  130. package/dist/collection/components/nv-fieldslider/partials/range-thumb.js +34 -0
  131. package/dist/collection/components/nv-fieldslider/partials/range-thumb.js.map +1 -0
  132. package/dist/collection/components/nv-fieldslider/partials/single-thumb.js +18 -0
  133. package/dist/collection/components/nv-fieldslider/partials/single-thumb.js.map +1 -0
  134. package/dist/collection/components/nv-fieldslider/partials/tick-marks.js +18 -0
  135. package/dist/collection/components/nv-fieldslider/partials/tick-marks.js.map +1 -0
  136. package/dist/collection/components/nv-fieldslider/styles/nv-fieldslider.css +338 -0
  137. package/dist/collection/components/nv-fieldslider/test/nv-fieldslider.utils.test.js +159 -0
  138. package/dist/collection/components/nv-fieldslider/test/nv-fieldslider.utils.test.js.map +1 -0
  139. package/dist/collection/components/nv-fieldtext/nv-fieldtext.css +59 -1
  140. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +9 -1
  141. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js.map +1 -1
  142. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +4 -3
  143. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +1 -1
  144. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.css +45 -1
  145. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -3
  146. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +9 -9
  147. package/dist/collection/components/nv-fieldtime/styles/nv-fieldtime.css +51 -1
  148. package/dist/collection/components/nv-icon/nv-icon.js +1 -1
  149. package/dist/collection/components/nv-icon/nv-icons.js +1 -0
  150. package/dist/collection/components/nv-icon/nv-icons.js.map +1 -1
  151. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
  152. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  153. package/dist/collection/components/nv-menu/nv-menu.js +1 -1
  154. package/dist/collection/components/nv-menuitem/nv-menuitem.js +2 -2
  155. package/dist/collection/components/nv-popover/nv-popover.js +1 -1
  156. package/dist/collection/components/nv-row/nv-row.js +1 -1
  157. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  158. package/dist/collection/components/nv-table/nv-table.js +2 -2
  159. package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
  160. package/dist/collection/components/nv-tooltip/nv-tooltip.css +1 -0
  161. package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
  162. package/dist/collection/interfaces/Column.js.map +1 -1
  163. package/dist/components/index.js +2 -1
  164. package/dist/components/index.js.map +1 -1
  165. package/dist/components/nv-alert.js +2 -2
  166. package/dist/components/nv-avatar.js +2 -2
  167. package/dist/components/nv-badge.js +1 -1
  168. package/dist/components/nv-breadcrumb.js +3 -3
  169. package/dist/components/nv-breadcrumbs.js +1 -1
  170. package/dist/components/nv-button.js +1 -1
  171. package/dist/components/nv-calendar.js +1 -1
  172. package/dist/components/nv-col.js +1 -1
  173. package/dist/components/nv-datagrid.js +97 -109
  174. package/dist/components/nv-datagrid.js.map +1 -1
  175. package/dist/components/nv-datagridcolumn.js +4 -3
  176. package/dist/components/nv-datagridcolumn.js.map +1 -1
  177. package/dist/components/nv-dialog.js +6 -6
  178. package/dist/components/nv-dialogfooter.js +1 -1
  179. package/dist/components/nv-dialogheader.js +1 -1
  180. package/dist/components/nv-fieldcheckbox.js +1 -1
  181. package/dist/components/nv-fielddate.js +53 -25
  182. package/dist/components/nv-fielddate.js.map +1 -1
  183. package/dist/components/nv-fielddaterange.js +137 -57
  184. package/dist/components/nv-fielddaterange.js.map +1 -1
  185. package/dist/components/nv-fielddropdown.js +98 -72
  186. package/dist/components/nv-fielddropdown.js.map +1 -1
  187. package/dist/components/nv-fielddropdownitem.js +1 -1
  188. package/dist/components/nv-fielddropdownitemcheck.js +1 -1
  189. package/dist/components/nv-fieldmultiselect.js +132 -120
  190. package/dist/components/nv-fieldmultiselect.js.map +1 -1
  191. package/dist/components/nv-fieldnumber.js +5 -5
  192. package/dist/components/nv-fieldnumber.js.map +1 -1
  193. package/dist/components/nv-fieldpassword.js +5 -5
  194. package/dist/components/nv-fieldpassword.js.map +1 -1
  195. package/dist/components/nv-fieldradio.js +1 -1
  196. package/dist/components/nv-fieldselect.js +5 -5
  197. package/dist/components/nv-fieldselect.js.map +1 -1
  198. package/dist/components/nv-fieldslider.d.ts +11 -0
  199. package/dist/components/nv-fieldslider.js +731 -0
  200. package/dist/components/nv-fieldslider.js.map +1 -0
  201. package/dist/components/nv-fieldtext.js +1 -1
  202. package/dist/components/nv-fieldtextarea.js +5 -5
  203. package/dist/components/nv-fieldtextarea.js.map +1 -1
  204. package/dist/components/nv-fieldtime.js +15 -15
  205. package/dist/components/nv-fieldtime.js.map +1 -1
  206. package/dist/components/nv-icon.js +1 -1
  207. package/dist/components/nv-iconbutton.js +1 -1
  208. package/dist/components/nv-loader.js +1 -1
  209. package/dist/components/nv-menu.js +5 -5
  210. package/dist/components/nv-menuitem.js +1 -1
  211. package/dist/components/nv-popover.js +1 -1
  212. package/dist/components/nv-row.js +2 -2
  213. package/dist/components/nv-stack.js +2 -2
  214. package/dist/components/nv-table.js +3 -3
  215. package/dist/components/nv-tablecolumn.js +1 -1
  216. package/dist/components/nv-toggle.js +3 -3
  217. package/dist/components/nv-tooltip.js +1 -1
  218. package/dist/components/{p-eb632278.js → p-2ae214d2.js} +3 -3
  219. package/dist/components/{p-eb632278.js.map → p-2ae214d2.js.map} +1 -1
  220. package/dist/components/{p-f76bb0c3.js → p-3e32b5a1.js} +5 -5
  221. package/dist/components/p-3e32b5a1.js.map +1 -0
  222. package/dist/components/{p-854c32dc.js → p-5e90b9b8.js} +389 -199
  223. package/dist/components/p-5e90b9b8.js.map +1 -0
  224. package/dist/components/{p-a2527411.js → p-5ee4015d.js} +3 -3
  225. package/dist/components/{p-a2527411.js.map → p-5ee4015d.js.map} +1 -1
  226. package/dist/components/{p-02752770.js → p-6277f746.js} +2 -2
  227. package/dist/components/{p-02752770.js.map → p-6277f746.js.map} +1 -1
  228. package/dist/components/p-7935c1cb.js +167 -0
  229. package/dist/components/p-7935c1cb.js.map +1 -0
  230. package/dist/components/{p-b48d5a94.js → p-8d92f0e1.js} +4 -4
  231. package/dist/components/{p-b48d5a94.js.map → p-8d92f0e1.js.map} +1 -1
  232. package/dist/components/{p-41c56ddc.js → p-95a7581c.js} +5 -5
  233. package/dist/components/{p-41c56ddc.js.map → p-95a7581c.js.map} +1 -1
  234. package/dist/components/{p-e00cbb8a.js → p-9e6e26cb.js} +2 -2
  235. package/dist/components/{p-e00cbb8a.js.map → p-9e6e26cb.js.map} +1 -1
  236. package/dist/components/p-9fa0de38.js +88 -0
  237. package/dist/components/p-9fa0de38.js.map +1 -0
  238. package/dist/components/{p-1c45c0f2.js → p-aff3ed68.js} +24 -177
  239. package/dist/components/p-aff3ed68.js.map +1 -0
  240. package/dist/components/{p-608eb9da.js → p-b6d858b2.js} +2 -2
  241. package/dist/components/{p-608eb9da.js.map → p-b6d858b2.js.map} +1 -1
  242. package/dist/components/{p-f5cb0a63.js → p-bb6d1e4e.js} +3 -3
  243. package/dist/components/{p-f5cb0a63.js.map → p-bb6d1e4e.js.map} +1 -1
  244. package/dist/components/{p-35a70c5e.js → p-c07c32d2.js} +3 -3
  245. package/dist/components/{p-35a70c5e.js.map → p-c07c32d2.js.map} +1 -1
  246. package/dist/components/{p-10faa938.js → p-c9006520.js} +5 -5
  247. package/dist/components/{p-10faa938.js.map → p-c9006520.js.map} +1 -1
  248. package/dist/components/{p-0a0f6daf.js → p-e28c4707.js} +3 -3
  249. package/dist/components/{p-0a0f6daf.js.map → p-e28c4707.js.map} +1 -1
  250. package/dist/components/{p-10b37876.js → p-eabbc885.js} +3 -3
  251. package/dist/components/{p-10b37876.js.map → p-eabbc885.js.map} +1 -1
  252. package/dist/esm/{constants-b97e736d.js → constants-4faa1fae.js} +2 -2
  253. package/dist/esm/{constants-b97e736d.js.map → constants-4faa1fae.js.map} +1 -1
  254. package/dist/esm/{index-1fb7a9a6.js → index-a1936cd0.js} +35 -186
  255. package/dist/esm/index-a1936cd0.js.map +1 -0
  256. package/dist/esm/index.js +2 -1
  257. package/dist/esm/index.js.map +1 -1
  258. package/dist/esm/loader.js +3 -3
  259. package/dist/esm/native.js +3 -24
  260. package/dist/esm/native.js.map +1 -1
  261. package/dist/esm/nv-alert.entry.js +2 -2
  262. package/dist/esm/nv-avatar.entry.js +2 -2
  263. package/dist/esm/nv-badge_2.entry.js +1 -1
  264. package/dist/esm/nv-breadcrumb.entry.js +1 -1
  265. package/dist/esm/nv-breadcrumbs.entry.js +1 -1
  266. package/dist/esm/nv-button.entry.js +2 -2
  267. package/dist/esm/nv-calendar.entry.js +385 -173
  268. package/dist/esm/nv-calendar.entry.js.map +1 -1
  269. package/dist/esm/nv-col.entry.js +1 -1
  270. package/dist/esm/nv-datagrid.entry.js +96 -104
  271. package/dist/esm/nv-datagrid.entry.js.map +1 -1
  272. package/dist/esm/nv-datagridcolumn.entry.js +2 -2
  273. package/dist/esm/nv-datagridcolumn.entry.js.map +1 -1
  274. package/dist/esm/nv-dialog.entry.js +2 -2
  275. package/dist/esm/nv-dialogfooter_2.entry.js +2 -2
  276. package/dist/esm/nv-fieldcheckbox.entry.js +1 -1
  277. package/dist/esm/nv-fielddate.entry.js +45 -11
  278. package/dist/esm/nv-fielddate.entry.js.map +1 -1
  279. package/dist/esm/nv-fielddaterange.entry.js +128 -42
  280. package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
  281. package/dist/esm/nv-fielddropdown.entry.js +84 -60
  282. package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
  283. package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
  284. package/dist/esm/nv-fieldmultiselect.entry.js +116 -104
  285. package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
  286. package/dist/esm/nv-fieldnumber.entry.js +2 -2
  287. package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
  288. package/dist/esm/nv-fieldpassword.entry.js +2 -2
  289. package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
  290. package/dist/esm/nv-fieldradio.entry.js +1 -1
  291. package/dist/esm/nv-fieldselect.entry.js +2 -2
  292. package/dist/esm/nv-fieldselect.entry.js.map +1 -1
  293. package/dist/esm/nv-fieldslider.entry.js +664 -0
  294. package/dist/esm/nv-fieldslider.entry.js.map +1 -0
  295. package/dist/esm/nv-fieldtext.entry.js +5 -5
  296. package/dist/esm/nv-fieldtext.entry.js.map +1 -1
  297. package/dist/esm/nv-fieldtextarea.entry.js +5 -5
  298. package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
  299. package/dist/esm/nv-fieldtime.entry.js +12 -12
  300. package/dist/esm/nv-fieldtime.entry.js.map +1 -1
  301. package/dist/esm/nv-icon.entry.js +4 -4
  302. package/dist/esm/nv-icon.entry.js.map +1 -1
  303. package/dist/esm/nv-iconbutton_2.entry.js +3 -3
  304. package/dist/esm/nv-menu.entry.js +2 -2
  305. package/dist/esm/nv-menuitem.entry.js +2 -2
  306. package/dist/esm/nv-popover.entry.js +2 -2
  307. package/dist/esm/nv-row.entry.js +2 -2
  308. package/dist/esm/nv-stack.entry.js +2 -2
  309. package/dist/esm/nv-table.entry.js +3 -3
  310. package/dist/esm/nv-tablecolumn.entry.js +1 -1
  311. package/dist/esm/nv-toggle.entry.js +3 -3
  312. package/dist/esm/nv-tooltip.entry.js +3 -3
  313. package/dist/esm/nv-tooltip.entry.js.map +1 -1
  314. package/dist/native/index.esm.js +1 -1
  315. package/dist/native/index.esm.js.map +1 -1
  316. package/dist/native/native.css +1 -1
  317. package/dist/native/native.esm.js +1 -1
  318. package/dist/native/native.esm.js.map +1 -1
  319. package/dist/native/p-050d6c6c.entry.js +2 -0
  320. package/dist/native/{p-4d164ed6.entry.js.map → p-050d6c6c.entry.js.map} +1 -1
  321. package/dist/native/{p-615947e7.entry.js → p-08ca678c.entry.js} +2 -2
  322. package/dist/native/p-1a5d3b87.entry.js +2 -0
  323. package/dist/native/{p-efe6a46c.entry.js.map → p-1a5d3b87.entry.js.map} +1 -1
  324. package/dist/native/{p-7fd4d13d.entry.js → p-1c1ecd38.entry.js} +2 -2
  325. package/dist/native/{p-c7b201cd.entry.js → p-1d98477d.entry.js} +2 -2
  326. package/dist/native/{p-1da72182.entry.js → p-2006f5d4.entry.js} +2 -2
  327. package/dist/native/p-26cf4938.entry.js +2 -0
  328. package/dist/native/p-26cf4938.entry.js.map +1 -0
  329. package/dist/native/p-3817efb2.entry.js +2 -0
  330. package/dist/native/{p-fc97f071.entry.js.map → p-3817efb2.entry.js.map} +1 -1
  331. package/dist/native/p-45459dbb.entry.js +2 -0
  332. package/dist/native/{p-7042ba8a.entry.js.map → p-45459dbb.entry.js.map} +1 -1
  333. package/dist/native/p-45cbe6e4.entry.js +2 -0
  334. package/dist/native/{p-9135fdf5.entry.js.map → p-45cbe6e4.entry.js.map} +1 -1
  335. package/dist/native/p-46428304.entry.js +2 -0
  336. package/dist/native/p-46428304.entry.js.map +1 -0
  337. package/dist/native/p-4f9cdf0b.entry.js +2 -0
  338. package/dist/native/{p-3b7ef609.entry.js → p-58bb90ad.entry.js} +2 -2
  339. package/dist/native/p-59b07b36.entry.js +2 -0
  340. package/dist/native/p-59b07b36.entry.js.map +1 -0
  341. package/dist/native/{p-3cd77d82.entry.js → p-5b6c59e0.entry.js} +2 -2
  342. package/dist/native/p-6029e51b.entry.js +2 -0
  343. package/dist/native/{p-244f56ac.entry.js.map → p-6029e51b.entry.js.map} +1 -1
  344. package/dist/native/{p-08a75cfa.entry.js → p-60c64f2b.entry.js} +2 -2
  345. package/dist/native/p-64a76565.entry.js +2 -0
  346. package/dist/native/p-64a76565.entry.js.map +1 -0
  347. package/dist/native/{p-c67186f8.entry.js → p-83288db0.entry.js} +2 -2
  348. package/dist/native/p-838f7842.entry.js +2 -0
  349. package/dist/native/p-838f7842.entry.js.map +1 -0
  350. package/dist/native/{p-0245863d.entry.js → p-86ab23ea.entry.js} +2 -2
  351. package/dist/native/p-87784622.entry.js +2 -0
  352. package/dist/native/p-8fb4e5c0.entry.js +2 -0
  353. package/dist/native/{p-b94d9f0b.entry.js.map → p-8fb4e5c0.entry.js.map} +1 -1
  354. package/dist/native/{p-14c07207.entry.js → p-914da1e1.entry.js} +2 -2
  355. package/dist/native/p-abbe5d69.entry.js +2 -0
  356. package/dist/native/p-abbe5d69.entry.js.map +1 -0
  357. package/dist/native/p-abc251aa.entry.js +2 -0
  358. package/dist/native/p-abc251aa.entry.js.map +1 -0
  359. package/dist/native/{p-c0f79bac.entry.js → p-ad128108.entry.js} +2 -2
  360. package/dist/native/{p-e5de64d5.entry.js → p-b5b9190a.entry.js} +2 -2
  361. package/dist/native/{p-470588c2.entry.js → p-b8f2c1e7.entry.js} +3 -3
  362. package/dist/native/p-b8f2c1e7.entry.js.map +1 -0
  363. package/dist/native/{p-b8b6875d.entry.js → p-d040bd61.entry.js} +2 -2
  364. package/dist/native/p-d0a33e64.js +3 -0
  365. package/dist/native/p-d0a33e64.js.map +1 -0
  366. package/dist/native/{p-3953464e.entry.js → p-d21b2da2.entry.js} +3 -3
  367. package/dist/native/{p-90e6d9dd.entry.js → p-d53e8795.entry.js} +2 -2
  368. package/dist/native/p-dc7dd7f3.entry.js +2 -0
  369. package/dist/native/{p-ae7ab110.entry.js.map → p-dc7dd7f3.entry.js.map} +1 -1
  370. package/dist/native/p-e2c1992e.entry.js +2 -0
  371. package/dist/native/{p-656c56f0.entry.js.map → p-e2c1992e.entry.js.map} +1 -1
  372. package/dist/native/{p-f85c08f1.js → p-e2d0a77d.js} +2 -2
  373. package/dist/native/p-ed6019fe.entry.js +2 -0
  374. package/dist/native/p-ed6019fe.entry.js.map +1 -0
  375. package/dist/native/p-f94d7054.entry.js +2 -0
  376. package/dist/native/{p-49cac014.entry.js.map → p-f94d7054.entry.js.map} +1 -1
  377. package/dist/native/p-fdea17ce.entry.js +2 -0
  378. package/dist/native/p-fdea17ce.entry.js.map +1 -0
  379. package/dist/types/components/nv-calendar/nv-calendar.d.ts +26 -50
  380. package/dist/types/components/nv-calendar/partials/calendar-actions.d.ts +19 -0
  381. package/dist/types/components/nv-calendar/partials/calendar-grid.d.ts +46 -0
  382. package/dist/types/components/nv-calendar/partials/calendar-header.d.ts +38 -0
  383. package/dist/types/components/nv-calendar/partials/calendar-shortcuts.d.ts +35 -0
  384. package/dist/types/components/nv-calendar/partials/day-cell.d.ts +35 -0
  385. package/dist/types/components/nv-calendar/partials/index.d.ts +6 -0
  386. package/dist/types/components/nv-calendar/partials/week-numbers.d.ts +30 -0
  387. package/dist/types/components/nv-calendar/test/partials/calendar-actions.logic.test.d.ts +1 -0
  388. package/dist/types/components/nv-calendar/test/partials/calendar-grid.logic.test.d.ts +1 -0
  389. package/dist/types/components/nv-calendar/test/partials/calendar-header.logic.test.d.ts +1 -0
  390. package/dist/types/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.d.ts +1 -0
  391. package/dist/types/components/nv-calendar/test/partials/day-cell.logic.test.d.ts +1 -0
  392. package/dist/types/components/nv-calendar/test/partials/week-numbers.logic.test.d.ts +1 -0
  393. package/dist/types/components/nv-datagrid/nv-datagrid.d.ts +0 -16
  394. package/dist/types/components/nv-datagridcolumn/nv-datagridcolumn.d.ts +4 -0
  395. package/dist/types/components/nv-fielddate/nv-fielddate.d.ts +21 -9
  396. package/dist/types/components/nv-fielddate/test/nv-fielddate.logic.test.d.ts +1 -0
  397. package/dist/types/components/nv-fielddaterange/nv-fielddaterange.d.ts +24 -3
  398. package/dist/types/components/nv-fielddaterange/test/nv-fielddaterange.logic.test.d.ts +1 -0
  399. package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +47 -26
  400. package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +61 -55
  401. package/dist/types/components/nv-fieldslider/nv-fieldslider.d.ts +229 -0
  402. package/dist/types/components/nv-fieldslider/nv-fieldslider.docs.d.ts +4 -0
  403. package/dist/types/components/nv-fieldslider/nv-fieldslider.utils.d.ts +46 -0
  404. package/dist/types/components/nv-fieldslider/partials/field-input.d.ts +45 -0
  405. package/dist/types/components/nv-fieldslider/partials/range-thumb.d.ts +37 -0
  406. package/dist/types/components/nv-fieldslider/partials/single-thumb.d.ts +35 -0
  407. package/dist/types/components/nv-fieldslider/partials/tick-marks.d.ts +28 -0
  408. package/dist/types/components/nv-fieldslider/test/nv-fieldslider.utils.test.d.ts +1 -0
  409. package/dist/types/components/nv-fieldtext/nv-fieldtext.d.ts +1 -0
  410. package/dist/types/components/nv-icon/nv-icons.d.ts +1 -1
  411. package/dist/types/components.d.ts +402 -54
  412. package/dist/types/interfaces/Column.d.ts +5 -1
  413. package/dist/vscode-data.json +121 -9
  414. package/hydrate/index.js +1664 -584
  415. package/hydrate/index.mjs +1664 -584
  416. package/package.json +6 -2
  417. package/dist/cjs/index-9bda5507.js.map +0 -1
  418. package/dist/components/p-1c45c0f2.js.map +0 -1
  419. package/dist/components/p-76646ce9.js +0 -88
  420. package/dist/components/p-76646ce9.js.map +0 -1
  421. package/dist/components/p-854c32dc.js.map +0 -1
  422. package/dist/components/p-9decffb6.js +0 -167
  423. package/dist/components/p-9decffb6.js.map +0 -1
  424. package/dist/components/p-f76bb0c3.js.map +0 -1
  425. package/dist/esm/index-1fb7a9a6.js.map +0 -1
  426. package/dist/native/p-244f56ac.entry.js +0 -2
  427. package/dist/native/p-2523eead.entry.js +0 -2
  428. package/dist/native/p-2523eead.entry.js.map +0 -1
  429. package/dist/native/p-470588c2.entry.js.map +0 -1
  430. package/dist/native/p-49cac014.entry.js +0 -2
  431. package/dist/native/p-4d164ed6.entry.js +0 -2
  432. package/dist/native/p-4dc1d036.entry.js +0 -2
  433. package/dist/native/p-4e635fa7.entry.js +0 -2
  434. package/dist/native/p-4e635fa7.entry.js.map +0 -1
  435. package/dist/native/p-5d21532a.entry.js +0 -2
  436. package/dist/native/p-5d21532a.entry.js.map +0 -1
  437. package/dist/native/p-656c56f0.entry.js +0 -2
  438. package/dist/native/p-7042ba8a.entry.js +0 -2
  439. package/dist/native/p-7e154bfd.entry.js +0 -2
  440. package/dist/native/p-7e154bfd.entry.js.map +0 -1
  441. package/dist/native/p-7eba904e.entry.js +0 -2
  442. package/dist/native/p-7eba904e.entry.js.map +0 -1
  443. package/dist/native/p-9135fdf5.entry.js +0 -2
  444. package/dist/native/p-ab002252.js +0 -3
  445. package/dist/native/p-ab002252.js.map +0 -1
  446. package/dist/native/p-ae7ab110.entry.js +0 -2
  447. package/dist/native/p-b94d9f0b.entry.js +0 -2
  448. package/dist/native/p-c71c6f23.entry.js +0 -2
  449. package/dist/native/p-c71c6f23.entry.js.map +0 -1
  450. package/dist/native/p-d9a52884.entry.js +0 -2
  451. package/dist/native/p-d9a52884.entry.js.map +0 -1
  452. package/dist/native/p-efe6a46c.entry.js +0 -2
  453. package/dist/native/p-f2ef6771.entry.js +0 -2
  454. package/dist/native/p-f5f68992.entry.js +0 -2
  455. package/dist/native/p-f5f68992.entry.js.map +0 -1
  456. package/dist/native/p-fc97f071.entry.js +0 -2
  457. /package/dist/native/{p-615947e7.entry.js.map → p-08ca678c.entry.js.map} +0 -0
  458. /package/dist/native/{p-7fd4d13d.entry.js.map → p-1c1ecd38.entry.js.map} +0 -0
  459. /package/dist/native/{p-c7b201cd.entry.js.map → p-1d98477d.entry.js.map} +0 -0
  460. /package/dist/native/{p-1da72182.entry.js.map → p-2006f5d4.entry.js.map} +0 -0
  461. /package/dist/native/{p-f2ef6771.entry.js.map → p-4f9cdf0b.entry.js.map} +0 -0
  462. /package/dist/native/{p-3b7ef609.entry.js.map → p-58bb90ad.entry.js.map} +0 -0
  463. /package/dist/native/{p-3cd77d82.entry.js.map → p-5b6c59e0.entry.js.map} +0 -0
  464. /package/dist/native/{p-08a75cfa.entry.js.map → p-60c64f2b.entry.js.map} +0 -0
  465. /package/dist/native/{p-c67186f8.entry.js.map → p-83288db0.entry.js.map} +0 -0
  466. /package/dist/native/{p-0245863d.entry.js.map → p-86ab23ea.entry.js.map} +0 -0
  467. /package/dist/native/{p-4dc1d036.entry.js.map → p-87784622.entry.js.map} +0 -0
  468. /package/dist/native/{p-14c07207.entry.js.map → p-914da1e1.entry.js.map} +0 -0
  469. /package/dist/native/{p-c0f79bac.entry.js.map → p-ad128108.entry.js.map} +0 -0
  470. /package/dist/native/{p-e5de64d5.entry.js.map → p-b5b9190a.entry.js.map} +0 -0
  471. /package/dist/native/{p-b8b6875d.entry.js.map → p-d040bd61.entry.js.map} +0 -0
  472. /package/dist/native/{p-3953464e.entry.js.map → p-d21b2da2.entry.js.map} +0 -0
  473. /package/dist/native/{p-90e6d9dd.entry.js.map → p-d53e8795.entry.js.map} +0 -0
  474. /package/dist/native/{p-f85c08f1.js.map → p-e2d0a77d.js.map} +0 -0
@@ -0,0 +1,338 @@
1
+ /* used */
2
+ /* not used */
3
+ /* TODO: integrate this logic in the proper structure */
4
+ nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range {
5
+ background: var(--components-slider-track-filled-hover);
6
+ }
7
+ nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb {
8
+ border-color: var(--components-slider-track-filled-hover);
9
+ }
10
+ nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range {
11
+ background: var(--components-slider-track-filled-focus);
12
+ }
13
+ nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb {
14
+ border-color: var(--components-slider-track-filled-focus);
15
+ }
16
+ nv-fieldslider[error] .slider-container .track-container .track .track-range {
17
+ background: var(--components-slider-track-filled-error);
18
+ }
19
+ nv-fieldslider[error] .slider-container .track-container .track .thumb {
20
+ border-color: var(--components-slider-track-filled-error);
21
+ }
22
+ nv-fieldslider[error] .slider-container .track-container .track .thumb:hover {
23
+ border-color: var(--components-slider-track-filled-error);
24
+ outline: calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);
25
+ outline-offset: calc(var(--focus-outline-offset) * 1);
26
+ background-color: var(--components-slider-handler-background-error);
27
+ }
28
+ nv-fieldslider[error] .slider-container .track-container .track .thumb:focus {
29
+ border-color: var(--components-slider-track-filled-error);
30
+ outline: calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);
31
+ outline-offset: calc(var(--focus-outline-offset) * 1);
32
+ background-color: var(--components-slider-track-filled-error);
33
+ }
34
+ nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range {
35
+ background: var(--components-slider-track-filled-error);
36
+ }
37
+ nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb {
38
+ border-color: var(--components-slider-track-filled-error);
39
+ }
40
+
41
+ nv-fieldslider {
42
+ --nv-field-border-default: var(--components-form-field-border-default);
43
+ --nv-field-border-hover: var(--components-form-field-border-hover);
44
+ --nv-field-border-focus: var(--components-form-field-border-focus);
45
+ --nv-field-border-disabled: var(--components-form-field-border-default);
46
+ --nv-field-border-readonly: var(--components-form-field-border-default);
47
+ --nv-field-focus-box-shadow: var(--color-focus-brand);
48
+ --nv-field-background: var(--components-form-field-background-default);
49
+ display: flex;
50
+ flex-direction: column;
51
+ align-items: flex-start;
52
+ gap: var(--form-gap-y);
53
+ box-sizing: border-box;
54
+ max-width: 480px;
55
+ }
56
+ nv-fieldslider .slider-container {
57
+ width: 100%;
58
+ display: flex;
59
+ flex-direction: row;
60
+ align-items: center;
61
+ gap: var(--form-gap-x);
62
+ }
63
+ nv-fieldslider .slider-container .track-container {
64
+ position: relative;
65
+ flex: 1;
66
+ height: calc(var(--slider-handler-size-min) + 0.25rem);
67
+ padding: calc(var(--slider-handler-size-min) / 2) 0;
68
+ }
69
+ nv-fieldslider .slider-container .track-container .track {
70
+ position: relative;
71
+ height: var(--slider-track-height);
72
+ background: var(--components-slider-track-background);
73
+ border-radius: var(--slider-track-radius);
74
+ cursor: pointer;
75
+ }
76
+ nv-fieldslider .slider-container .track-container .track .track-range {
77
+ position: absolute;
78
+ top: 0;
79
+ height: var(--slider-track-height);
80
+ background: var(--components-slider-track-filled-default);
81
+ border-radius: var(--slider-track-radius);
82
+ pointer-events: none;
83
+ }
84
+ nv-fieldslider .slider-container .track-container .track .thumb {
85
+ position: absolute;
86
+ top: 50%;
87
+ width: var(--slider-handler-size-min);
88
+ height: var(--slider-handler-size-min);
89
+ background: #ffffff;
90
+ border: var(--slider-handler-stroke) solid var(--components-slider-track-filled-default);
91
+ border-radius: 50%;
92
+ transform: translate(-50%, -50%);
93
+ z-index: 1;
94
+ cursor: grab;
95
+ transition: width 0.2s, height 0.2s, box-shadow 0.2s, background-color 0.2s;
96
+ }
97
+ nv-fieldslider .slider-container .track-container .track .thumb:hover {
98
+ width: var(--slider-handler-size-max);
99
+ height: var(--slider-handler-size-max);
100
+ border-color: var(--components-slider-track-filled-hover);
101
+ }
102
+ nv-fieldslider .slider-container .track-container .track .thumb:focus {
103
+ width: var(--slider-handler-size-min);
104
+ height: var(--slider-handler-size-min);
105
+ border-color: var(--components-slider-track-filled-focus);
106
+ outline: calc(var(--focus-outline-stroke) * 1) solid var(--color-focus-brand);
107
+ outline-offset: calc(var(--focus-outline-offset) * 1);
108
+ transition: outline;
109
+ background: var(--components-slider-handler-background-focus);
110
+ }
111
+ nv-fieldslider .slider-container .track-container .track .thumb:active {
112
+ cursor: grabbing;
113
+ background: var(--components-slider-handler-background-hover);
114
+ }
115
+ nv-fieldslider .slider-container .track-container .track .thumb .thumb-tooltip {
116
+ position: absolute;
117
+ top: 25px;
118
+ left: 50%;
119
+ background-color: var(--components-tooltip-background);
120
+ color: var(--components-tooltip-text);
121
+ padding: 5px;
122
+ border-radius: var(--tooltip-radius);
123
+ font-size: var(--tooltip-font-size);
124
+ z-index: 10;
125
+ pointer-events: none;
126
+ user-select: none;
127
+ opacity: 0;
128
+ transition: opacity 0.3s ease-in-out;
129
+ transform: translateX(-50%);
130
+ }
131
+ nv-fieldslider .slider-container .track-container .track .thumb .thumb-tooltip:after {
132
+ content: "";
133
+ background: var(--components-tooltip-background);
134
+ box-shadow: none;
135
+ border: none;
136
+ position: absolute;
137
+ border-bottom-color: transparent;
138
+ border-right-color: transparent;
139
+ width: 6px;
140
+ height: 6px;
141
+ transform: rotate(45deg);
142
+ border-radius: 1px;
143
+ top: -3px;
144
+ left: 50%;
145
+ margin-left: -3px;
146
+ }
147
+ nv-fieldslider .slider-container .track-container .track .thumb:hover .thumb-tooltip, nv-fieldslider .slider-container .track-container .track .thumb:active .thumb-tooltip, nv-fieldslider .slider-container .track-container .track .thumb:focus .thumb-tooltip {
148
+ opacity: 1;
149
+ }
150
+ nv-fieldslider .slider-container .track-container .track-ticks {
151
+ position: relative;
152
+ height: 1rem;
153
+ margin-top: 0.25rem;
154
+ }
155
+ nv-fieldslider .slider-container .track-container .track-ticks .track-tick {
156
+ position: absolute;
157
+ top: 0;
158
+ width: var(--slider-tick-height);
159
+ height: var(--slider-tick-height);
160
+ background: var(--components-form-field-border-default);
161
+ border-radius: 50%;
162
+ transform: translate(-50%, 0);
163
+ pointer-events: none;
164
+ }
165
+ nv-fieldslider .slider-container .track-container .track-ticks .track-tick:first-of-type {
166
+ transform: translate(0, 0);
167
+ }
168
+ nv-fieldslider .slider-container .track-container .track-ticks .track-tick:last-of-type {
169
+ transform: translate(-100%, 0);
170
+ }
171
+ nv-fieldslider .slider-container .track-container .track-ticks .track-tick .tick-label {
172
+ position: absolute;
173
+ top: calc(var(--slider-tick-height) + 0.25rem);
174
+ left: 50%;
175
+ color: var(--components-form-field-border-default);
176
+ transform: translateX(-50%);
177
+ white-space: nowrap;
178
+ }
179
+ .track-tick-first nv-fieldslider .slider-container .track-container .track-ticks .track-tick .tick-label {
180
+ left: 0;
181
+ transform: translateX(0);
182
+ }
183
+ .track-tick-last nv-fieldslider .slider-container .track-container .track-ticks .track-tick .tick-label {
184
+ left: 100%;
185
+ transform: translateX(-100%);
186
+ }
187
+ nv-fieldslider .slider-container .input-container {
188
+ display: flex;
189
+ flex-grow: 1;
190
+ justify-content: center;
191
+ align-items: center;
192
+ align-self: stretch;
193
+ border-radius: var(--form-field-radius);
194
+ border-width: 1px;
195
+ border-style: solid;
196
+ border-color: var(--nv-field-border-default);
197
+ opacity: var(--components-form-opacity-default, 1);
198
+ background: var(--nv-field-background);
199
+ transition: all 150ms ease-out;
200
+ width: 70px;
201
+ flex-grow: unset;
202
+ }
203
+ nv-fieldslider .slider-container .input-container:hover {
204
+ border-color: var(--nv-field-border-hover);
205
+ }
206
+ nv-fieldslider .slider-container .input-container:focus-within, nv-fieldslider .slider-container .input-container:focus-within:hover, nv-fieldslider .slider-container .input-container:focus, nv-fieldslider .slider-container .input-container:focus:hover {
207
+ border-color: var(--nv-field-border-focus);
208
+ box-shadow: 0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow);
209
+ }
210
+ nv-fieldslider .slider-container .input-container:has(input:read-only) {
211
+ opacity: 0.5;
212
+ background-color: var(--components-form-field-background-readonly);
213
+ border-color: var(--nv-field-border-readonly);
214
+ }
215
+ nv-fieldslider .slider-container .input-container:has(input:disabled) {
216
+ opacity: 0.5;
217
+ background-color: var(--components-form-field-background-disabled);
218
+ border-color: var(--nv-field-border-disabled);
219
+ }
220
+ nv-fieldslider .slider-container .input-container input {
221
+ display: flex;
222
+ align-items: center;
223
+ flex: 1 0 0;
224
+ overflow: hidden;
225
+ background-color: transparent;
226
+ color: var(--components-form-field-content-text);
227
+ padding: var(--form-field-padding-y) var(--form-field-padding-x);
228
+ font-size: var(--form-field-font-size);
229
+ font-style: normal;
230
+ font-weight: 500;
231
+ line-height: var(--form-field-line-height);
232
+ width: 100%;
233
+ /* Hide Edge built-in password reveal and clear icons */
234
+ }
235
+ nv-fieldslider .slider-container .input-container input:focus {
236
+ outline: none;
237
+ }
238
+ nv-fieldslider .slider-container .input-container input::placeholder {
239
+ overflow: hidden;
240
+ color: var(--components-form-field-content-placeholder);
241
+ text-overflow: ellipsis;
242
+ font-family: "TT Norms Pro", sans-serif;
243
+ font-size: var(--form-field-font-size);
244
+ font-style: normal;
245
+ font-weight: 400;
246
+ line-height: var(--form-field-line-height);
247
+ }
248
+ nv-fieldslider .slider-container .input-container input[type=password]::-ms-clear, nv-fieldslider .slider-container .input-container input[type=password]::-ms-reveal {
249
+ display: none;
250
+ width: 0;
251
+ height: 0;
252
+ }
253
+ nv-fieldslider[fluid]:not([fluid=false]) {
254
+ max-width: unset;
255
+ }
256
+ nv-fieldslider[error]:not([error=false]) {
257
+ --nv-field-border-default: var(--components-form-field-border-error);
258
+ --nv-field-border-hover: var(--nv-field-border-default);
259
+ --nv-field-border-focus: var(--nv-field-border-default);
260
+ --nv-field-border-disabled: var(--nv-field-border-default);
261
+ --nv-field-border-readonly: var(--nv-field-border-default);
262
+ --nv-field-focus-box-shadow: var(--color-focus-destructive-in-field);
263
+ }
264
+ nv-fieldslider[success]:not([success=false]) {
265
+ --nv-field-border-default: var(--components-form-field-border-success);
266
+ --nv-field-border-hover: var(--nv-field-border-default);
267
+ --nv-field-border-focus: var(--nv-field-border-default);
268
+ --nv-field-border-disabled: var(--nv-field-border-default);
269
+ --nv-field-border-readonly: var(--nv-field-border-default);
270
+ --nv-field-focus-box-shadow: var(--color-focus-success);
271
+ }
272
+ nv-fieldslider[readonly]:not([readonly=false]) {
273
+ --nv-field-border-default: var(--components-form-field-border-readonly);
274
+ --nv-field-border-hover: var(--nv-field-border-default);
275
+ --nv-field-border-focus: var(--components-form-field-border-focus);
276
+ --nv-field-border-disabled: var(--nv-field-border-default);
277
+ --nv-field-border-readonly: var(--nv-field-border-default);
278
+ --nv-field-background: var(--components-form-field-background-readonly);
279
+ }
280
+ nv-fieldslider[readonly]:not([readonly=false]) .track,
281
+ nv-fieldslider[readonly]:not([readonly=false]) .thumb {
282
+ cursor: default;
283
+ }
284
+ nv-fieldslider label {
285
+ display: flex;
286
+ align-items: center;
287
+ gap: var(--form-label-gap);
288
+ align-self: stretch;
289
+ color: var(--components-form-text-label-default);
290
+ font-family: "TT Norms Pro", sans-serif;
291
+ font-size: var(--form-label-font-size);
292
+ font-style: normal;
293
+ font-weight: 500;
294
+ line-height: var(--form-label-line-height);
295
+ }
296
+ nv-fieldslider nv-icon.validation {
297
+ color: var(--nv-field-border-default);
298
+ }
299
+ nv-fieldslider[hide-label]:not([hide-label=false]) label {
300
+ position: absolute;
301
+ width: 1px;
302
+ height: 1px;
303
+ padding: 0;
304
+ margin: -1px;
305
+ overflow: hidden;
306
+ clip: rect(0, 0, 0, 0);
307
+ white-space: nowrap;
308
+ border-width: 0;
309
+ }
310
+ nv-fieldslider[has-field]:not([has-field=false]) .thumb-tooltip {
311
+ display: none;
312
+ }
313
+ nv-fieldslider > .description {
314
+ display: flex;
315
+ align-items: center;
316
+ align-self: stretch;
317
+ gap: var(--spacing-1);
318
+ color: var(--components-form-text-description-default);
319
+ font-family: "TT Norms Pro", sans-serif;
320
+ font-size: var(--form-description-font-size);
321
+ font-style: normal;
322
+ line-height: var(--form-description-line-height);
323
+ }
324
+ nv-fieldslider > .error-description {
325
+ display: flex;
326
+ align-items: center;
327
+ align-self: stretch;
328
+ gap: var(--spacing-1);
329
+ color: var(--components-form-text-description-default);
330
+ font-family: "TT Norms Pro", sans-serif;
331
+ font-size: var(--form-description-font-size);
332
+ font-style: normal;
333
+ line-height: var(--form-description-line-height);
334
+ color: var(--components-form-text-description-error);
335
+ }
336
+ nv-fieldslider > .error-description[hidden] {
337
+ display: none;
338
+ }
@@ -0,0 +1,159 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { clamp, valueToPercent, snapToStep, generateTicks, snapToTicks, } from "../nv-fieldslider.utils";
3
+ describe('nv-fieldslider -> utils', () => {
4
+ describe('clamp', () => {
5
+ it('should clamp value to min when value is below min', () => {
6
+ expect(clamp(-10, 0, 100)).toBe(0);
7
+ });
8
+ it('should clamp value to max when value is above max', () => {
9
+ expect(clamp(150, 0, 100)).toBe(100);
10
+ });
11
+ it('should return value when it is within range', () => {
12
+ expect(clamp(50, 0, 100)).toBe(50);
13
+ });
14
+ it('should handle edge cases', () => {
15
+ expect(clamp(0, 0, 100)).toBe(0);
16
+ expect(clamp(100, 0, 100)).toBe(100);
17
+ });
18
+ it('should handle negative ranges', () => {
19
+ expect(clamp(-150, -200, -100)).toBe(-150);
20
+ expect(clamp(-50, -200, -100)).toBe(-100);
21
+ expect(clamp(-250, -200, -100)).toBe(-200);
22
+ });
23
+ });
24
+ describe('valueToPercent', () => {
25
+ it('should convert value to percentage within range', () => {
26
+ expect(valueToPercent(50, 0, 100)).toBe(50);
27
+ expect(valueToPercent(25, 0, 100)).toBe(25);
28
+ expect(valueToPercent(75, 0, 100)).toBe(75);
29
+ });
30
+ it('should handle values outside the range', () => {
31
+ expect(valueToPercent(-10, 0, 100)).toBe(-10);
32
+ expect(valueToPercent(150, 0, 100)).toBe(150);
33
+ });
34
+ it('should handle custom ranges', () => {
35
+ expect(valueToPercent(30, 20, 40)).toBe(50);
36
+ expect(valueToPercent(10, -10, 10)).toBe(100);
37
+ expect(valueToPercent(0, -10, 10)).toBe(50);
38
+ expect(valueToPercent(-10, -10, 10)).toBe(0);
39
+ });
40
+ it('should return 0 when min equals max', () => {
41
+ expect(valueToPercent(50, 50, 50)).toBe(0);
42
+ expect(valueToPercent(100, 100, 100)).toBe(0);
43
+ });
44
+ it('should handle negative ranges', () => {
45
+ expect(valueToPercent(-150, -200, -100)).toBe(50);
46
+ });
47
+ it('should handle decimal values', () => {
48
+ expect(valueToPercent(2.5, 0, 5)).toBe(50);
49
+ expect(valueToPercent(0.5, 0, 1)).toBe(50);
50
+ });
51
+ });
52
+ describe('snapToStep', () => {
53
+ it('should snap value to nearest step', () => {
54
+ expect(snapToStep(42, 0, 100, 5)).toBe(40);
55
+ expect(snapToStep(43, 0, 100, 5)).toBe(45);
56
+ expect(snapToStep(2.7, 0, 10, 0.5)).toBe(2.5);
57
+ expect(snapToStep(2.8, 0, 10, 0.5)).toBe(3);
58
+ });
59
+ it('should clamp value to min when below min', () => {
60
+ expect(snapToStep(-10, 0, 100, 5)).toBe(0);
61
+ });
62
+ it('should clamp value to max when above max', () => {
63
+ expect(snapToStep(110, 0, 100, 5)).toBe(100);
64
+ });
65
+ it('should handle edge cases', () => {
66
+ // Exactly on a step
67
+ expect(snapToStep(20, 0, 100, 5)).toBe(20);
68
+ // Min and max values
69
+ expect(snapToStep(0, 0, 100, 5)).toBe(0);
70
+ expect(snapToStep(100, 0, 100, 5)).toBe(100);
71
+ // Value between min and first step
72
+ expect(snapToStep(2, 0, 100, 5)).toBe(0);
73
+ expect(snapToStep(3, 0, 100, 5)).toBe(5);
74
+ });
75
+ it('should handle negative ranges', () => {
76
+ expect(snapToStep(-152, -200, -100, 10)).toBe(-150);
77
+ });
78
+ it("should handle step sizes that don't divide evenly into the range", () => {
79
+ expect(snapToStep(97, 0, 100, 30)).toBe(90);
80
+ expect(snapToStep(98, 0, 100, 30)).toBe(90); // Not 120 because it's clamped to max (100)
81
+ });
82
+ });
83
+ describe('generateTicks', () => {
84
+ it('should generate ticks for a simple range', () => {
85
+ const ticks = generateTicks(0, 10, 2);
86
+ expect(ticks).toEqual([0, 2, 4, 6, 8, 10]);
87
+ });
88
+ it('should include max value when it falls on a step', () => {
89
+ const ticks = generateTicks(0, 10, 5);
90
+ expect(ticks).toEqual([0, 5, 10]);
91
+ });
92
+ it("should include max value even when it doesn't fall on a step", () => {
93
+ const ticks = generateTicks(0, 11, 5);
94
+ expect(ticks).toEqual([0, 5, 10, 11]);
95
+ });
96
+ it('should handle negative ranges', () => {
97
+ const ticks = generateTicks(-10, 0, 2);
98
+ expect(ticks).toEqual([-10, -8, -6, -4, -2, 0]);
99
+ });
100
+ it('should handle floating point step sizes', () => {
101
+ const ticks = generateTicks(0, 1, 0.2);
102
+ // Using toEqual with approximate values due to floating point precision
103
+ expect(ticks).toEqual([0, 0.2, 0.4, 0.6, 0.8, 1]);
104
+ });
105
+ it('should handle small step sizes correctly', () => {
106
+ const ticks = generateTicks(0, 0.5, 0.1);
107
+ expect(ticks).toEqual([0, 0.1, 0.2, 0.3, 0.4, 0.5]);
108
+ });
109
+ it('should handle case when min equals max', () => {
110
+ const ticks = generateTicks(10, 10, 5);
111
+ expect(ticks).toEqual([10]);
112
+ });
113
+ });
114
+ describe('snapToTicks', () => {
115
+ it('should snap value to closest tick', () => {
116
+ const ticks = [
117
+ { value: 0 },
118
+ { value: 25 },
119
+ { value: 50 },
120
+ { value: 75 },
121
+ { value: 100 },
122
+ ];
123
+ expect(snapToTicks(12, ticks)).toBe(0); // Closer to 0
124
+ expect(snapToTicks(13, ticks)).toBe(25); // Closer to 25
125
+ expect(snapToTicks(37, ticks)).toBe(25); // Closer to 25
126
+ expect(snapToTicks(38, ticks)).toBe(50); // Closer to 50
127
+ expect(snapToTicks(87, ticks)).toBe(75); // Closer to 75
128
+ expect(snapToTicks(88, ticks)).toBe(100); // Closer to 100
129
+ });
130
+ it('should return original value when ticks is empty or undefined', () => {
131
+ expect(snapToTicks(42, [])).toBe(42);
132
+ expect(snapToTicks(42, undefined)).toBe(42);
133
+ });
134
+ it('should return tick value when input exactly matches a tick', () => {
135
+ const ticks = [{ value: 0 }, { value: 50 }, { value: 100 }];
136
+ expect(snapToTicks(0, ticks)).toBe(0);
137
+ expect(snapToTicks(50, ticks)).toBe(50);
138
+ expect(snapToTicks(100, ticks)).toBe(100);
139
+ });
140
+ it('should handle equidistant values by taking the first encountered tick', () => {
141
+ const ticks = [{ value: 0 }, { value: 10 }];
142
+ // Value 5 is exactly equidistant from 0 and 10
143
+ expect(snapToTicks(5, ticks)).toBe(0);
144
+ });
145
+ it('should handle negative and decimal values', () => {
146
+ const ticks = [
147
+ { value: -10 },
148
+ { value: -5.5 },
149
+ { value: 0 },
150
+ { value: 2.25 },
151
+ ];
152
+ expect(snapToTicks(-8, ticks)).toBe(-10);
153
+ expect(snapToTicks(-3, ticks)).toBe(-5.5);
154
+ expect(snapToTicks(1, ticks)).toBe(0);
155
+ expect(snapToTicks(1.5, ticks)).toBe(2.25);
156
+ });
157
+ });
158
+ });
159
+ //# sourceMappingURL=nv-fieldslider.utils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nv-fieldslider.utils.test.js","sourceRoot":"","sources":["../../../../src/components/nv-fieldslider/test/nv-fieldslider.utils.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe, it, expect } from 'vitest';\nimport {\n clamp,\n valueToPercent,\n snapToStep,\n generateTicks,\n snapToTicks,\n} from '../nv-fieldslider.utils';\n\ndescribe('nv-fieldslider -> utils', () => {\n describe('clamp', () => {\n it('should clamp value to min when value is below min', () => {\n expect(clamp(-10, 0, 100)).toBe(0);\n });\n\n it('should clamp value to max when value is above max', () => {\n expect(clamp(150, 0, 100)).toBe(100);\n });\n\n it('should return value when it is within range', () => {\n expect(clamp(50, 0, 100)).toBe(50);\n });\n\n it('should handle edge cases', () => {\n expect(clamp(0, 0, 100)).toBe(0);\n expect(clamp(100, 0, 100)).toBe(100);\n });\n\n it('should handle negative ranges', () => {\n expect(clamp(-150, -200, -100)).toBe(-150);\n expect(clamp(-50, -200, -100)).toBe(-100);\n expect(clamp(-250, -200, -100)).toBe(-200);\n });\n });\n\n describe('valueToPercent', () => {\n it('should convert value to percentage within range', () => {\n expect(valueToPercent(50, 0, 100)).toBe(50);\n expect(valueToPercent(25, 0, 100)).toBe(25);\n expect(valueToPercent(75, 0, 100)).toBe(75);\n });\n\n it('should handle values outside the range', () => {\n expect(valueToPercent(-10, 0, 100)).toBe(-10);\n expect(valueToPercent(150, 0, 100)).toBe(150);\n });\n\n it('should handle custom ranges', () => {\n expect(valueToPercent(30, 20, 40)).toBe(50);\n expect(valueToPercent(10, -10, 10)).toBe(100);\n expect(valueToPercent(0, -10, 10)).toBe(50);\n expect(valueToPercent(-10, -10, 10)).toBe(0);\n });\n\n it('should return 0 when min equals max', () => {\n expect(valueToPercent(50, 50, 50)).toBe(0);\n expect(valueToPercent(100, 100, 100)).toBe(0);\n });\n\n it('should handle negative ranges', () => {\n expect(valueToPercent(-150, -200, -100)).toBe(50);\n });\n\n it('should handle decimal values', () => {\n expect(valueToPercent(2.5, 0, 5)).toBe(50);\n expect(valueToPercent(0.5, 0, 1)).toBe(50);\n });\n });\n\n describe('snapToStep', () => {\n it('should snap value to nearest step', () => {\n expect(snapToStep(42, 0, 100, 5)).toBe(40);\n expect(snapToStep(43, 0, 100, 5)).toBe(45);\n expect(snapToStep(2.7, 0, 10, 0.5)).toBe(2.5);\n expect(snapToStep(2.8, 0, 10, 0.5)).toBe(3);\n });\n\n it('should clamp value to min when below min', () => {\n expect(snapToStep(-10, 0, 100, 5)).toBe(0);\n });\n\n it('should clamp value to max when above max', () => {\n expect(snapToStep(110, 0, 100, 5)).toBe(100);\n });\n\n it('should handle edge cases', () => {\n // Exactly on a step\n expect(snapToStep(20, 0, 100, 5)).toBe(20);\n // Min and max values\n expect(snapToStep(0, 0, 100, 5)).toBe(0);\n expect(snapToStep(100, 0, 100, 5)).toBe(100);\n // Value between min and first step\n expect(snapToStep(2, 0, 100, 5)).toBe(0);\n expect(snapToStep(3, 0, 100, 5)).toBe(5);\n });\n\n it('should handle negative ranges', () => {\n expect(snapToStep(-152, -200, -100, 10)).toBe(-150);\n });\n\n it(\"should handle step sizes that don't divide evenly into the range\", () => {\n expect(snapToStep(97, 0, 100, 30)).toBe(90);\n expect(snapToStep(98, 0, 100, 30)).toBe(90); // Not 120 because it's clamped to max (100)\n });\n });\n\n describe('generateTicks', () => {\n it('should generate ticks for a simple range', () => {\n const ticks = generateTicks(0, 10, 2);\n expect(ticks).toEqual([0, 2, 4, 6, 8, 10]);\n });\n\n it('should include max value when it falls on a step', () => {\n const ticks = generateTicks(0, 10, 5);\n expect(ticks).toEqual([0, 5, 10]);\n });\n\n it(\"should include max value even when it doesn't fall on a step\", () => {\n const ticks = generateTicks(0, 11, 5);\n expect(ticks).toEqual([0, 5, 10, 11]);\n });\n\n it('should handle negative ranges', () => {\n const ticks = generateTicks(-10, 0, 2);\n expect(ticks).toEqual([-10, -8, -6, -4, -2, 0]);\n });\n\n it('should handle floating point step sizes', () => {\n const ticks = generateTicks(0, 1, 0.2);\n // Using toEqual with approximate values due to floating point precision\n expect(ticks).toEqual([0, 0.2, 0.4, 0.6, 0.8, 1]);\n });\n\n it('should handle small step sizes correctly', () => {\n const ticks = generateTicks(0, 0.5, 0.1);\n expect(ticks).toEqual([0, 0.1, 0.2, 0.3, 0.4, 0.5]);\n });\n\n it('should handle case when min equals max', () => {\n const ticks = generateTicks(10, 10, 5);\n expect(ticks).toEqual([10]);\n });\n });\n\n describe('snapToTicks', () => {\n it('should snap value to closest tick', () => {\n const ticks = [\n { value: 0 },\n { value: 25 },\n { value: 50 },\n { value: 75 },\n { value: 100 },\n ];\n\n expect(snapToTicks(12, ticks)).toBe(0); // Closer to 0\n expect(snapToTicks(13, ticks)).toBe(25); // Closer to 25\n expect(snapToTicks(37, ticks)).toBe(25); // Closer to 25\n expect(snapToTicks(38, ticks)).toBe(50); // Closer to 50\n expect(snapToTicks(87, ticks)).toBe(75); // Closer to 75\n expect(snapToTicks(88, ticks)).toBe(100); // Closer to 100\n });\n\n it('should return original value when ticks is empty or undefined', () => {\n expect(snapToTicks(42, [])).toBe(42);\n expect(snapToTicks(42, undefined)).toBe(42);\n });\n\n it('should return tick value when input exactly matches a tick', () => {\n const ticks = [{ value: 0 }, { value: 50 }, { value: 100 }];\n\n expect(snapToTicks(0, ticks)).toBe(0);\n expect(snapToTicks(50, ticks)).toBe(50);\n expect(snapToTicks(100, ticks)).toBe(100);\n });\n\n it('should handle equidistant values by taking the first encountered tick', () => {\n const ticks = [{ value: 0 }, { value: 10 }];\n\n // Value 5 is exactly equidistant from 0 and 10\n expect(snapToTicks(5, ticks)).toBe(0);\n });\n\n it('should handle negative and decimal values', () => {\n const ticks = [\n { value: -10 },\n { value: -5.5 },\n { value: 0 },\n { value: 2.25 },\n ];\n\n expect(snapToTicks(-8, ticks)).toBe(-10);\n expect(snapToTicks(-3, ticks)).toBe(-5.5);\n expect(snapToTicks(1, ticks)).toBe(0);\n expect(snapToTicks(1.5, ticks)).toBe(2.25);\n });\n });\n});\n"]}
@@ -1,3 +1,41 @@
1
+ /* TODO: integrate this logic in the proper structure */
2
+ nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range {
3
+ background: var(--components-slider-track-filled-hover);
4
+ }
5
+ nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb {
6
+ border-color: var(--components-slider-track-filled-hover);
7
+ }
8
+ nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range {
9
+ background: var(--components-slider-track-filled-focus);
10
+ }
11
+ nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb {
12
+ border-color: var(--components-slider-track-filled-focus);
13
+ }
14
+ nv-fieldslider[error] .slider-container .track-container .track .track-range {
15
+ background: var(--components-slider-track-filled-error);
16
+ }
17
+ nv-fieldslider[error] .slider-container .track-container .track .thumb {
18
+ border-color: var(--components-slider-track-filled-error);
19
+ }
20
+ nv-fieldslider[error] .slider-container .track-container .track .thumb:hover {
21
+ border-color: var(--components-slider-track-filled-error);
22
+ outline: calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);
23
+ outline-offset: calc(var(--focus-outline-offset) * 1);
24
+ background-color: var(--components-slider-handler-background-error);
25
+ }
26
+ nv-fieldslider[error] .slider-container .track-container .track .thumb:focus {
27
+ border-color: var(--components-slider-track-filled-error);
28
+ outline: calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);
29
+ outline-offset: calc(var(--focus-outline-offset) * 1);
30
+ background-color: var(--components-slider-track-filled-error);
31
+ }
32
+ nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range {
33
+ background: var(--components-slider-track-filled-error);
34
+ }
35
+ nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb {
36
+ border-color: var(--components-slider-track-filled-error);
37
+ }
38
+
1
39
  nv-fieldtext {
2
40
  --nv-field-border-default: var(--components-form-field-border-default);
3
41
  --nv-field-border-hover: var(--components-form-field-border-hover);
@@ -30,7 +68,7 @@ nv-fieldtext[error]:not([error=false]) {
30
68
  --nv-field-border-focus: var(--nv-field-border-default);
31
69
  --nv-field-border-disabled: var(--nv-field-border-default);
32
70
  --nv-field-border-readonly: var(--nv-field-border-default);
33
- --nv-field-focus-box-shadow: var(--color-focus-destructive);
71
+ --nv-field-focus-box-shadow: var(--color-focus-destructive-in-field);
34
72
  }
35
73
  nv-fieldtext[success]:not([success=false]) {
36
74
  --nv-field-border-default: var(--components-form-field-border-success);
@@ -95,6 +133,10 @@ nv-fieldtext > .input-wrapper .input-container:has(input:disabled) {
95
133
  background-color: var(--components-form-field-background-disabled);
96
134
  border-color: var(--nv-field-border-disabled);
97
135
  }
136
+ nv-fieldtext > .input-wrapper .input-container > [slot=leading-input] {
137
+ display: block;
138
+ margin-left: var(--form-field-padding-x);
139
+ }
98
140
  nv-fieldtext > .input-wrapper .input-container input {
99
141
  display: flex;
100
142
  align-items: center;
@@ -108,6 +150,7 @@ nv-fieldtext > .input-wrapper .input-container input {
108
150
  font-weight: 500;
109
151
  line-height: var(--form-field-line-height);
110
152
  width: 100%;
153
+ /* Hide Edge built-in password reveal and clear icons */
111
154
  }
112
155
  nv-fieldtext > .input-wrapper .input-container input:focus {
113
156
  outline: none;
@@ -122,12 +165,24 @@ nv-fieldtext > .input-wrapper .input-container input::placeholder {
122
165
  font-weight: 400;
123
166
  line-height: var(--form-field-line-height);
124
167
  }
168
+ nv-fieldtext > .input-wrapper .input-container input[type=password]::-ms-clear, nv-fieldtext > .input-wrapper .input-container input[type=password]::-ms-reveal {
169
+ display: none;
170
+ width: 0;
171
+ height: 0;
172
+ }
125
173
  nv-fieldtext > .input-wrapper .input-container nv-icon.validation {
126
174
  color: var(--nv-field-border-default);
127
175
  margin-right: var(--form-gap-x);
128
176
  }
177
+ nv-fieldtext > .input-wrapper .input-container > [slot=trailing-input] {
178
+ display: block;
179
+ margin-right: var(--form-field-padding-x);
180
+ }
129
181
  nv-fieldtext > .description {
182
+ display: flex;
183
+ align-items: center;
130
184
  align-self: stretch;
185
+ gap: var(--spacing-1);
131
186
  color: var(--components-form-text-description-default);
132
187
  font-family: "TT Norms Pro", sans-serif;
133
188
  font-size: var(--form-description-font-size);
@@ -135,7 +190,10 @@ nv-fieldtext > .description {
135
190
  line-height: var(--form-description-line-height);
136
191
  }
137
192
  nv-fieldtext > .error-description {
193
+ display: flex;
194
+ align-items: center;
138
195
  align-self: stretch;
196
+ gap: var(--spacing-1);
139
197
  color: var(--components-form-text-description-default);
140
198
  font-family: "TT Norms Pro", sans-serif;
141
199
  font-size: var(--form-description-font-size);
@@ -169,7 +169,15 @@ const NvFieldtextDocs = {
169
169
  args: {
170
170
  label: 'Leading Input',
171
171
  },
172
- template: (h("nv-fieldtext", { "data-storybook-args": true }, h("nv-badge", { slot: "leading-input", label: "test", dismissible: true, "data-class": "ml-1" }))),
172
+ template: (h("nv-fieldtext", { "data-storybook-args": true }, h("nv-badge", { slot: "leading-input", label: "test", dismissible: true }))),
173
+ },
174
+ {
175
+ name: 'trailingInputSlot',
176
+ description: 'Content to be placed after the input text, within the input container.',
177
+ args: {
178
+ label: 'Trailing Input',
179
+ },
180
+ template: (h("nv-fieldtext", { "data-storybook-args": true }, h("span", { slot: "trailing-input" }, "MWh"))),
173
181
  },
174
182
  {
175
183
  name: 'labelSlot',