ngwr 8.0.0 → 9.0.1

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 (431) hide show
  1. package/README.md +76 -29
  2. package/action-sheet/styles/_index.scss +93 -0
  3. package/alert/styles/_index.scss +10 -10
  4. package/anchor/styles/_index.scss +3 -3
  5. package/back-top/styles/_index.scss +1 -1
  6. package/badge/styles/_tag.scss +3 -3
  7. package/bar-chart/styles/_index.scss +4 -4
  8. package/border-glow/styles/_index.scss +3 -3
  9. package/breadcrumbs/styles/_index.scss +3 -3
  10. package/burger/styles/_index.scss +1 -1
  11. package/button/styles/_index.scss +4 -4
  12. package/calendar/styles/_index.scss +4 -4
  13. package/calendar-heatmap/styles/_index.scss +3 -3
  14. package/card/styles/_index.scss +5 -5
  15. package/carousel/styles/_index.scss +5 -5
  16. package/cascader/styles/_index.scss +15 -15
  17. package/checkbox/styles/_index.scss +20 -5
  18. package/collapse/styles/_index.scss +6 -6
  19. package/color-picker/styles/_index.scss +15 -9
  20. package/command-palette/styles/_index.scss +19 -16
  21. package/compare/styles/_index.scss +3 -3
  22. package/context-menu/styles/_index.scss +16 -6
  23. package/counter/styles/_index.scss +12 -1
  24. package/date-picker/styles/_index.scss +8 -8
  25. package/descriptions/styles/_index.scss +9 -9
  26. package/dialog/styles/_index.scss +7 -6
  27. package/divider/styles/_index.scss +2 -2
  28. package/donut-chart/styles/_index.scss +3 -3
  29. package/drag-drop/styles/_index.scss +11 -6
  30. package/drawer/styles/_index.scss +15 -6
  31. package/dropdown/styles/_index.scss +5 -5
  32. package/empty/styles/_index.scss +4 -4
  33. package/fesm2022/ngwr-action-sheet.mjs +81 -0
  34. package/fesm2022/ngwr-action-sheet.mjs.map +1 -0
  35. package/fesm2022/ngwr-affix.mjs +3 -3
  36. package/fesm2022/ngwr-alert.mjs +4 -4
  37. package/fesm2022/ngwr-alert.mjs.map +1 -1
  38. package/fesm2022/ngwr-anchor.mjs +4 -4
  39. package/fesm2022/ngwr-anchor.mjs.map +1 -1
  40. package/fesm2022/ngwr-aurora.mjs +5 -4
  41. package/fesm2022/ngwr-aurora.mjs.map +1 -1
  42. package/fesm2022/ngwr-avatar.mjs +4 -4
  43. package/fesm2022/ngwr-avatar.mjs.map +1 -1
  44. package/fesm2022/ngwr-back-top.mjs +4 -4
  45. package/fesm2022/ngwr-back-top.mjs.map +1 -1
  46. package/fesm2022/ngwr-badge.mjs +8 -8
  47. package/fesm2022/ngwr-badge.mjs.map +1 -1
  48. package/fesm2022/ngwr-bar-chart.mjs +4 -4
  49. package/fesm2022/ngwr-bar-chart.mjs.map +1 -1
  50. package/fesm2022/ngwr-blur-text.mjs +3 -3
  51. package/fesm2022/ngwr-border-glow.mjs +4 -4
  52. package/fesm2022/ngwr-border-glow.mjs.map +1 -1
  53. package/fesm2022/ngwr-breadcrumbs.mjs +8 -8
  54. package/fesm2022/ngwr-breadcrumbs.mjs.map +1 -1
  55. package/fesm2022/ngwr-burger.mjs +4 -4
  56. package/fesm2022/ngwr-burger.mjs.map +1 -1
  57. package/fesm2022/ngwr-button.mjs +8 -8
  58. package/fesm2022/ngwr-button.mjs.map +1 -1
  59. package/fesm2022/ngwr-calendar-heatmap.mjs +4 -4
  60. package/fesm2022/ngwr-calendar-heatmap.mjs.map +1 -1
  61. package/fesm2022/ngwr-calendar.mjs +4 -4
  62. package/fesm2022/ngwr-calendar.mjs.map +1 -1
  63. package/fesm2022/ngwr-card.mjs +11 -11
  64. package/fesm2022/ngwr-card.mjs.map +1 -1
  65. package/fesm2022/ngwr-carousel.mjs +7 -7
  66. package/fesm2022/ngwr-carousel.mjs.map +1 -1
  67. package/fesm2022/ngwr-cascader.mjs +52 -60
  68. package/fesm2022/ngwr-cascader.mjs.map +1 -1
  69. package/fesm2022/ngwr-checkbox.mjs +74 -106
  70. package/fesm2022/ngwr-checkbox.mjs.map +1 -1
  71. package/fesm2022/ngwr-circular-text.mjs +5 -4
  72. package/fesm2022/ngwr-circular-text.mjs.map +1 -1
  73. package/fesm2022/ngwr-click-spark.mjs +5 -4
  74. package/fesm2022/ngwr-click-spark.mjs.map +1 -1
  75. package/fesm2022/ngwr-clipboard.mjs +4 -4
  76. package/fesm2022/ngwr-clipboard.mjs.map +1 -1
  77. package/fesm2022/ngwr-collapse.mjs +12 -12
  78. package/fesm2022/ngwr-collapse.mjs.map +1 -1
  79. package/fesm2022/ngwr-color-picker.mjs +58 -66
  80. package/fesm2022/ngwr-color-picker.mjs.map +1 -1
  81. package/fesm2022/ngwr-command-palette.mjs +4 -4
  82. package/fesm2022/ngwr-command-palette.mjs.map +1 -1
  83. package/fesm2022/ngwr-compare.mjs +4 -4
  84. package/fesm2022/ngwr-compare.mjs.map +1 -1
  85. package/fesm2022/ngwr-confetti.mjs +3 -3
  86. package/fesm2022/ngwr-context-menu.mjs +86 -15
  87. package/fesm2022/ngwr-context-menu.mjs.map +1 -1
  88. package/fesm2022/ngwr-cookie.mjs +19 -6
  89. package/fesm2022/ngwr-cookie.mjs.map +1 -1
  90. package/fesm2022/ngwr-counter.mjs +26 -12
  91. package/fesm2022/ngwr-counter.mjs.map +1 -1
  92. package/fesm2022/ngwr-date-adapter-fns.mjs +3 -3
  93. package/fesm2022/ngwr-date-adapter-luxon.mjs +3 -3
  94. package/fesm2022/ngwr-date-adapter.mjs +10 -5
  95. package/fesm2022/ngwr-date-adapter.mjs.map +1 -1
  96. package/fesm2022/ngwr-date-picker.mjs +128 -123
  97. package/fesm2022/ngwr-date-picker.mjs.map +1 -1
  98. package/fesm2022/ngwr-decrypt-text.mjs +3 -3
  99. package/fesm2022/ngwr-density.mjs +7 -7
  100. package/fesm2022/ngwr-density.mjs.map +1 -1
  101. package/fesm2022/ngwr-descriptions.mjs +7 -7
  102. package/fesm2022/ngwr-descriptions.mjs.map +1 -1
  103. package/fesm2022/ngwr-dialog.mjs +16 -16
  104. package/fesm2022/ngwr-dialog.mjs.map +1 -1
  105. package/fesm2022/ngwr-directives.mjs +21 -15
  106. package/fesm2022/ngwr-directives.mjs.map +1 -1
  107. package/fesm2022/ngwr-divider.mjs +4 -4
  108. package/fesm2022/ngwr-divider.mjs.map +1 -1
  109. package/fesm2022/ngwr-donut-chart.mjs +4 -4
  110. package/fesm2022/ngwr-donut-chart.mjs.map +1 -1
  111. package/fesm2022/ngwr-drag-drop.mjs +10 -9
  112. package/fesm2022/ngwr-drag-drop.mjs.map +1 -1
  113. package/fesm2022/ngwr-drawer.mjs +19 -18
  114. package/fesm2022/ngwr-drawer.mjs.map +1 -1
  115. package/fesm2022/ngwr-dropdown.mjs +13 -12
  116. package/fesm2022/ngwr-dropdown.mjs.map +1 -1
  117. package/fesm2022/ngwr-empty.mjs +4 -4
  118. package/fesm2022/ngwr-empty.mjs.map +1 -1
  119. package/fesm2022/ngwr-falling-text.mjs +5 -4
  120. package/fesm2022/ngwr-falling-text.mjs.map +1 -1
  121. package/fesm2022/ngwr-file-upload.mjs +58 -60
  122. package/fesm2022/ngwr-file-upload.mjs.map +1 -1
  123. package/fesm2022/ngwr-form.mjs +11 -11
  124. package/fesm2022/ngwr-form.mjs.map +1 -1
  125. package/fesm2022/ngwr-fuzzy-text.mjs +5 -4
  126. package/fesm2022/ngwr-fuzzy-text.mjs.map +1 -1
  127. package/fesm2022/ngwr-gauge.mjs +4 -4
  128. package/fesm2022/ngwr-gauge.mjs.map +1 -1
  129. package/fesm2022/ngwr-glitch-text.mjs +4 -4
  130. package/fesm2022/ngwr-glitch-text.mjs.map +1 -1
  131. package/fesm2022/ngwr-gradient-text.mjs +4 -4
  132. package/fesm2022/ngwr-gradient-text.mjs.map +1 -1
  133. package/fesm2022/ngwr-hotkey.mjs +7 -7
  134. package/fesm2022/ngwr-hotkey.mjs.map +1 -1
  135. package/fesm2022/ngwr-i18n.mjs +10 -10
  136. package/fesm2022/ngwr-i18n.mjs.map +1 -1
  137. package/fesm2022/ngwr-icon-adapters-lucide.mjs +6 -7
  138. package/fesm2022/ngwr-icon-adapters-lucide.mjs.map +1 -1
  139. package/fesm2022/ngwr-icon.mjs +4 -4
  140. package/fesm2022/ngwr-icon.mjs.map +1 -1
  141. package/fesm2022/ngwr-image-cropper.mjs +6 -5
  142. package/fesm2022/ngwr-image-cropper.mjs.map +1 -1
  143. package/fesm2022/ngwr-input-number.mjs +56 -73
  144. package/fesm2022/ngwr-input-number.mjs.map +1 -1
  145. package/fesm2022/ngwr-input-otp.mjs +46 -52
  146. package/fesm2022/ngwr-input-otp.mjs.map +1 -1
  147. package/fesm2022/ngwr-input.mjs +17 -17
  148. package/fesm2022/ngwr-input.mjs.map +1 -1
  149. package/fesm2022/ngwr-keyboard.mjs +4 -4
  150. package/fesm2022/ngwr-keyboard.mjs.map +1 -1
  151. package/fesm2022/ngwr-knob.mjs +47 -58
  152. package/fesm2022/ngwr-knob.mjs.map +1 -1
  153. package/fesm2022/ngwr-layout.mjs +16 -16
  154. package/fesm2022/ngwr-layout.mjs.map +1 -1
  155. package/fesm2022/ngwr-lightbox.mjs +7 -6
  156. package/fesm2022/ngwr-lightbox.mjs.map +1 -1
  157. package/fesm2022/ngwr-line-chart.mjs +4 -4
  158. package/fesm2022/ngwr-line-chart.mjs.map +1 -1
  159. package/fesm2022/ngwr-list.mjs +8 -8
  160. package/fesm2022/ngwr-list.mjs.map +1 -1
  161. package/fesm2022/ngwr-loading-bar.mjs +7 -7
  162. package/fesm2022/ngwr-loading-bar.mjs.map +1 -1
  163. package/fesm2022/ngwr-marquee.mjs +6 -5
  164. package/fesm2022/ngwr-marquee.mjs.map +1 -1
  165. package/fesm2022/ngwr-media.mjs +4 -4
  166. package/fesm2022/ngwr-media.mjs.map +1 -1
  167. package/fesm2022/ngwr-mention.mjs +15 -9
  168. package/fesm2022/ngwr-mention.mjs.map +1 -1
  169. package/fesm2022/ngwr-meta.mjs +7 -7
  170. package/fesm2022/ngwr-meta.mjs.map +1 -1
  171. package/fesm2022/ngwr-meter-group.mjs +4 -4
  172. package/fesm2022/ngwr-meter-group.mjs.map +1 -1
  173. package/fesm2022/ngwr-overlay.mjs +9 -4
  174. package/fesm2022/ngwr-overlay.mjs.map +1 -1
  175. package/fesm2022/ngwr-page-header.mjs +4 -4
  176. package/fesm2022/ngwr-page-header.mjs.map +1 -1
  177. package/fesm2022/ngwr-pagination.mjs +4 -4
  178. package/fesm2022/ngwr-pagination.mjs.map +1 -1
  179. package/fesm2022/ngwr-pipes.mjs +21 -21
  180. package/fesm2022/ngwr-platform.mjs +169 -5
  181. package/fesm2022/ngwr-platform.mjs.map +1 -1
  182. package/fesm2022/ngwr-popconfirm.mjs +7 -7
  183. package/fesm2022/ngwr-popconfirm.mjs.map +1 -1
  184. package/fesm2022/ngwr-popover.mjs +7 -7
  185. package/fesm2022/ngwr-popover.mjs.map +1 -1
  186. package/fesm2022/ngwr-progress.mjs +4 -4
  187. package/fesm2022/ngwr-progress.mjs.map +1 -1
  188. package/fesm2022/ngwr-pull-to-refresh.mjs +172 -0
  189. package/fesm2022/ngwr-pull-to-refresh.mjs.map +1 -0
  190. package/fesm2022/ngwr-qr.mjs +5 -5
  191. package/fesm2022/ngwr-qr.mjs.map +1 -1
  192. package/fesm2022/ngwr-radio.mjs +27 -52
  193. package/fesm2022/ngwr-radio.mjs.map +1 -1
  194. package/fesm2022/ngwr-rating.mjs +35 -48
  195. package/fesm2022/ngwr-rating.mjs.map +1 -1
  196. package/fesm2022/ngwr-result.mjs +13 -13
  197. package/fesm2022/ngwr-result.mjs.map +1 -1
  198. package/fesm2022/ngwr-rotating-text.mjs +15 -4
  199. package/fesm2022/ngwr-rotating-text.mjs.map +1 -1
  200. package/fesm2022/ngwr-scroll.mjs +4 -4
  201. package/fesm2022/ngwr-scroll.mjs.map +1 -1
  202. package/fesm2022/ngwr-segmented.mjs +3 -3
  203. package/fesm2022/ngwr-segmented.mjs.map +1 -1
  204. package/fesm2022/ngwr-select.mjs +289 -85
  205. package/fesm2022/ngwr-select.mjs.map +1 -1
  206. package/fesm2022/ngwr-shiny-text.mjs +7 -7
  207. package/fesm2022/ngwr-shiny-text.mjs.map +1 -1
  208. package/fesm2022/ngwr-sidebar.mjs +4 -4
  209. package/fesm2022/ngwr-sidebar.mjs.map +1 -1
  210. package/fesm2022/ngwr-skeleton.mjs +4 -4
  211. package/fesm2022/ngwr-skeleton.mjs.map +1 -1
  212. package/fesm2022/ngwr-slider.mjs +79 -73
  213. package/fesm2022/ngwr-slider.mjs.map +1 -1
  214. package/fesm2022/ngwr-sparkline.mjs +4 -4
  215. package/fesm2022/ngwr-sparkline.mjs.map +1 -1
  216. package/fesm2022/ngwr-speed-dial.mjs +13 -5
  217. package/fesm2022/ngwr-speed-dial.mjs.map +1 -1
  218. package/fesm2022/ngwr-spinner.mjs +4 -4
  219. package/fesm2022/ngwr-spinner.mjs.map +1 -1
  220. package/fesm2022/ngwr-splash-cursor.mjs +4 -4
  221. package/fesm2022/ngwr-splash-cursor.mjs.map +1 -1
  222. package/fesm2022/ngwr-split-text.mjs +3 -3
  223. package/fesm2022/ngwr-splitter.mjs +4 -4
  224. package/fesm2022/ngwr-splitter.mjs.map +1 -1
  225. package/fesm2022/ngwr-spotlight-card.mjs +7 -7
  226. package/fesm2022/ngwr-spotlight-card.mjs.map +1 -1
  227. package/fesm2022/ngwr-squircle.mjs +7 -7
  228. package/fesm2022/ngwr-squircle.mjs.map +1 -1
  229. package/fesm2022/ngwr-star-border.mjs +4 -4
  230. package/fesm2022/ngwr-star-border.mjs.map +1 -1
  231. package/fesm2022/ngwr-statistic.mjs +65 -10
  232. package/fesm2022/ngwr-statistic.mjs.map +1 -1
  233. package/fesm2022/ngwr-stepper.mjs +8 -8
  234. package/fesm2022/ngwr-stepper.mjs.map +1 -1
  235. package/fesm2022/ngwr-storage.mjs +4 -4
  236. package/fesm2022/ngwr-storage.mjs.map +1 -1
  237. package/fesm2022/ngwr-switch.mjs +16 -48
  238. package/fesm2022/ngwr-switch.mjs.map +1 -1
  239. package/fesm2022/ngwr-table.mjs +824 -20
  240. package/fesm2022/ngwr-table.mjs.map +1 -1
  241. package/fesm2022/ngwr-tabs.mjs +9 -8
  242. package/fesm2022/ngwr-tabs.mjs.map +1 -1
  243. package/fesm2022/ngwr-textarea.mjs +18 -50
  244. package/fesm2022/ngwr-textarea.mjs.map +1 -1
  245. package/fesm2022/ngwr-theme.mjs +20 -5
  246. package/fesm2022/ngwr-theme.mjs.map +1 -1
  247. package/fesm2022/ngwr-tilt-card.mjs +27 -11
  248. package/fesm2022/ngwr-tilt-card.mjs.map +1 -1
  249. package/fesm2022/ngwr-timeline.mjs +7 -7
  250. package/fesm2022/ngwr-timeline.mjs.map +1 -1
  251. package/fesm2022/ngwr-toast.mjs +10 -10
  252. package/fesm2022/ngwr-toast.mjs.map +1 -1
  253. package/fesm2022/ngwr-toolbar.mjs +4 -4
  254. package/fesm2022/ngwr-toolbar.mjs.map +1 -1
  255. package/fesm2022/ngwr-tree.mjs +280 -84
  256. package/fesm2022/ngwr-tree.mjs.map +1 -1
  257. package/fesm2022/ngwr-typewriter.mjs +10 -5
  258. package/fesm2022/ngwr-typewriter.mjs.map +1 -1
  259. package/fesm2022/ngwr-typography.mjs +4 -4
  260. package/fesm2022/ngwr-typography.mjs.map +1 -1
  261. package/fesm2022/ngwr-validators.mjs +1 -1
  262. package/fesm2022/ngwr-validators.mjs.map +1 -1
  263. package/fesm2022/ngwr-version.mjs +1 -1
  264. package/fesm2022/ngwr-version.mjs.map +1 -1
  265. package/fesm2022/ngwr-virtual-scroll.mjs +9 -7
  266. package/fesm2022/ngwr-virtual-scroll.mjs.map +1 -1
  267. package/fesm2022/ngwr-waves.mjs +6 -5
  268. package/fesm2022/ngwr-waves.mjs.map +1 -1
  269. package/fesm2022/ngwr-window.mjs +16 -15
  270. package/fesm2022/ngwr-window.mjs.map +1 -1
  271. package/file-upload/styles/_index.scss +11 -11
  272. package/form/styles/_index.scss +4 -4
  273. package/gauge/styles/_index.scss +2 -2
  274. package/glitch-text/styles/_index.scss +1 -1
  275. package/gradient-text/styles/_index.scss +1 -1
  276. package/image-cropper/styles/_index.scss +5 -4
  277. package/input/styles/_index.scss +9 -9
  278. package/input-number/styles/_index.scss +1 -1
  279. package/input-otp/styles/_index.scss +5 -5
  280. package/keyboard/styles/_index.scss +5 -5
  281. package/knob/styles/_index.scss +6 -2
  282. package/layout/styles/_index.scss +12 -12
  283. package/lightbox/styles/_index.scss +10 -8
  284. package/line-chart/styles/_index.scss +5 -5
  285. package/list/styles/_index.scss +3 -3
  286. package/llms-full.txt +31 -5
  287. package/llms.txt +48 -32
  288. package/marquee/styles/_index.scss +1 -1
  289. package/mention/styles/_index.scss +4 -4
  290. package/meter-group/styles/_index.scss +4 -4
  291. package/overlay/styles/_index.scss +8 -0
  292. package/package.json +21 -9
  293. package/page-header/styles/_index.scss +4 -4
  294. package/pagination/styles/_index.scss +3 -3
  295. package/popconfirm/styles/_index.scss +3 -3
  296. package/popover/styles/_index.scss +5 -5
  297. package/progress/styles/_index.scss +1 -1
  298. package/pull-to-refresh/styles/_index.scss +38 -0
  299. package/radio/styles/_index.scss +4 -4
  300. package/rating/styles/_index.scss +1 -1
  301. package/result/styles/_index.scss +3 -3
  302. package/schematics/migrations/v9/index.js +71 -0
  303. package/schematics/migrations.json +5 -0
  304. package/schematics/ng-add/schema.json +1 -1
  305. package/schematics/use/symbol-map.json +13 -0
  306. package/segmented/styles/_index.scss +4 -4
  307. package/select/styles/_index.scss +53 -18
  308. package/shiny-text/styles/_index.scss +4 -4
  309. package/sidebar/styles/_index.scss +12 -12
  310. package/slider/styles/_index.scss +5 -5
  311. package/speed-dial/styles/_index.scss +22 -6
  312. package/splash-cursor/styles/_index.scss +1 -0
  313. package/splitter/styles/_index.scss +7 -4
  314. package/spotlight-card/styles/_index.scss +7 -7
  315. package/star-border/styles/_index.scss +3 -3
  316. package/statistic/styles/_index.scss +51 -4
  317. package/stepper/styles/_index.scss +6 -6
  318. package/styles/_typography.scss +4 -1
  319. package/styles.scss +2 -0
  320. package/switch/styles/_index.scss +4 -4
  321. package/table/styles/_index.scss +447 -17
  322. package/tabs/styles/_index.scss +3 -3
  323. package/textarea/styles/_index.scss +7 -7
  324. package/theme/styles/_colors.scss +27 -3
  325. package/tilt-card/styles/_index.scss +4 -4
  326. package/timeline/styles/_index.scss +7 -6
  327. package/toast/styles/_index.scss +11 -11
  328. package/toolbar/styles/_index.scss +4 -4
  329. package/tree/styles/_index.scss +45 -15
  330. package/types/ngwr-action-sheet.d.ts +75 -0
  331. package/types/ngwr-alert.d.ts +1 -1
  332. package/types/ngwr-anchor.d.ts +1 -1
  333. package/types/ngwr-avatar.d.ts +1 -1
  334. package/types/ngwr-back-top.d.ts +1 -1
  335. package/types/ngwr-badge.d.ts +4 -4
  336. package/types/ngwr-bar-chart.d.ts +1 -1
  337. package/types/ngwr-breadcrumbs.d.ts +1 -1
  338. package/types/ngwr-burger.d.ts +1 -1
  339. package/types/ngwr-button.d.ts +3 -3
  340. package/types/ngwr-calendar-heatmap.d.ts +1 -1
  341. package/types/ngwr-calendar.d.ts +1 -1
  342. package/types/ngwr-card.d.ts +1 -1
  343. package/types/ngwr-carousel.d.ts +1 -1
  344. package/types/ngwr-cascader.d.ts +27 -16
  345. package/types/ngwr-checkbox.d.ts +63 -43
  346. package/types/ngwr-clipboard.d.ts +1 -1
  347. package/types/ngwr-collapse.d.ts +3 -3
  348. package/types/ngwr-color-picker.d.ts +24 -19
  349. package/types/ngwr-command-palette.d.ts +1 -1
  350. package/types/ngwr-compare.d.ts +1 -1
  351. package/types/ngwr-context-menu.d.ts +25 -1
  352. package/types/ngwr-cookie.d.ts +7 -1
  353. package/types/ngwr-counter.d.ts +9 -2
  354. package/types/ngwr-date-picker.d.ts +36 -23
  355. package/types/ngwr-density.d.ts +1 -1
  356. package/types/ngwr-descriptions.d.ts +1 -1
  357. package/types/ngwr-dialog.d.ts +1 -1
  358. package/types/ngwr-directives.d.ts +1 -0
  359. package/types/ngwr-divider.d.ts +2 -2
  360. package/types/ngwr-donut-chart.d.ts +1 -1
  361. package/types/ngwr-drag-drop.d.ts +1 -1
  362. package/types/ngwr-drawer.d.ts +1 -1
  363. package/types/ngwr-dropdown.d.ts +1 -1
  364. package/types/ngwr-empty.d.ts +1 -1
  365. package/types/ngwr-file-upload.d.ts +28 -17
  366. package/types/ngwr-form.d.ts +2 -2
  367. package/types/ngwr-gauge.d.ts +1 -1
  368. package/types/ngwr-hotkey.d.ts +1 -1
  369. package/types/ngwr-i18n.d.ts +1 -1
  370. package/types/ngwr-icon-adapters-lucide.d.ts +5 -3
  371. package/types/ngwr-icon.d.ts +1 -1
  372. package/types/ngwr-image-cropper.d.ts +1 -1
  373. package/types/ngwr-input-number.d.ts +25 -19
  374. package/types/ngwr-input-otp.d.ts +23 -17
  375. package/types/ngwr-input.d.ts +2 -2
  376. package/types/ngwr-keyboard.d.ts +1 -1
  377. package/types/ngwr-knob.d.ts +24 -19
  378. package/types/ngwr-layout.d.ts +1 -1
  379. package/types/ngwr-lightbox.d.ts +1 -1
  380. package/types/ngwr-line-chart.d.ts +1 -1
  381. package/types/ngwr-list.d.ts +1 -1
  382. package/types/ngwr-loading-bar.d.ts +1 -1
  383. package/types/ngwr-marquee.d.ts +1 -1
  384. package/types/ngwr-media.d.ts +1 -1
  385. package/types/ngwr-mention.d.ts +1 -1
  386. package/types/ngwr-meta.d.ts +1 -1
  387. package/types/ngwr-meter-group.d.ts +1 -1
  388. package/types/ngwr-page-header.d.ts +1 -1
  389. package/types/ngwr-pagination.d.ts +1 -1
  390. package/types/ngwr-platform.d.ts +93 -2
  391. package/types/ngwr-popconfirm.d.ts +3 -3
  392. package/types/ngwr-progress.d.ts +2 -2
  393. package/types/ngwr-pull-to-refresh.d.ts +69 -0
  394. package/types/ngwr-qr.d.ts +1 -1
  395. package/types/ngwr-radio.d.ts +25 -22
  396. package/types/ngwr-rating.d.ts +28 -20
  397. package/types/ngwr-result.d.ts +1 -1
  398. package/types/ngwr-rotating-text.d.ts +1 -0
  399. package/types/ngwr-scroll.d.ts +1 -1
  400. package/types/ngwr-segmented.d.ts +1 -1
  401. package/types/ngwr-select.d.ts +93 -26
  402. package/types/ngwr-sidebar.d.ts +1 -1
  403. package/types/ngwr-skeleton.d.ts +2 -2
  404. package/types/ngwr-slider.d.ts +35 -21
  405. package/types/ngwr-sparkline.d.ts +1 -1
  406. package/types/ngwr-speed-dial.d.ts +8 -2
  407. package/types/ngwr-spinner.d.ts +1 -1
  408. package/types/ngwr-splitter.d.ts +1 -1
  409. package/types/ngwr-squircle.d.ts +1 -1
  410. package/types/ngwr-statistic.d.ts +40 -5
  411. package/types/ngwr-stepper.d.ts +2 -2
  412. package/types/ngwr-storage.d.ts +1 -1
  413. package/types/ngwr-switch.d.ts +20 -16
  414. package/types/ngwr-table.d.ts +417 -6
  415. package/types/ngwr-tabs.d.ts +1 -1
  416. package/types/ngwr-textarea.d.ts +21 -18
  417. package/types/ngwr-theme.d.ts +7 -2
  418. package/types/ngwr-tilt-card.d.ts +3 -0
  419. package/types/ngwr-timeline.d.ts +1 -1
  420. package/types/ngwr-toast.d.ts +1 -1
  421. package/types/ngwr-toolbar.d.ts +1 -1
  422. package/types/ngwr-tree.d.ts +100 -19
  423. package/types/ngwr-typography.d.ts +1 -1
  424. package/types/ngwr-validators.d.ts +1 -1
  425. package/types/ngwr-version.d.ts +1 -1
  426. package/types/ngwr-virtual-scroll.d.ts +1 -1
  427. package/types/ngwr-window.d.ts +1 -1
  428. package/typography/styles/_index.scss +11 -11
  429. package/virtual-scroll/styles/_index.scss +1 -1
  430. package/waves/styles/_index.scss +1 -1
  431. package/window/styles/_index.scss +18 -18
@@ -54,7 +54,7 @@ type PageEntry = number | typeof ELLIPSIS;
54
54
  * />
55
55
  * ```
56
56
  *
57
- * @see https://ngwr.dev/components/pagination
57
+ * @see https://ngwr.dev/reference/components/pagination
58
58
  */
59
59
  declare class WrPagination {
60
60
  /** Currently displayed page (1-based). Two-way bindable. */
@@ -20,7 +20,7 @@ import { Signal } from '@angular/core';
20
20
  * protected readonly dark = this.platform.prefersDark;
21
21
  * ```
22
22
  *
23
- * @see https://ngwr.dev/services/platform
23
+ * @see https://ngwr.dev/reference/services/platform
24
24
  */
25
25
  declare class WrPlatform {
26
26
  private readonly destroyRef;
@@ -35,4 +35,95 @@ declare class WrPlatform {
35
35
  static ɵprov: i0.ɵɵInjectableDeclaration<WrPlatform>;
36
36
  }
37
37
 
38
- export { WrPlatform };
38
+ /**
39
+ * SSR-safe view onto `window.visualViewport` — the part of the layout viewport
40
+ * actually visible once the on-screen keyboard (or other browser chrome) is
41
+ * accounted for.
42
+ *
43
+ * - `bottomInset` — px hidden at the bottom of the layout viewport (the
44
+ * keyboard height); `0` when nothing covers it, on the server, or in browsers
45
+ * without the API.
46
+ * - `offsetTop` — how far the visual viewport is pushed/scrolled down.
47
+ *
48
+ * While active it also mirrors `bottomInset` onto `--wr-keyboard-inset` on the
49
+ * document root, so purely presentational surfaces (the responsive overlay
50
+ * sheet, the command-palette sheet) can lift above the keyboard with CSS alone.
51
+ *
52
+ * @see https://ngwr.dev/reference/services/platform
53
+ */
54
+ declare class WrVisualViewport {
55
+ private readonly destroyRef;
56
+ private readonly doc;
57
+ private readonly isBrowser;
58
+ private readonly _bottomInset;
59
+ private readonly _offsetTop;
60
+ /** Height (px) the keyboard / browser chrome hides at the viewport bottom. */
61
+ readonly bottomInset: Signal<number>;
62
+ /** The visual viewport's top offset (px). */
63
+ readonly offsetTop: Signal<number>;
64
+ constructor();
65
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrVisualViewport, never>;
66
+ static ɵprov: i0.ɵɵInjectableDeclaration<WrVisualViewport>;
67
+ }
68
+
69
+ /** Impact weight for {@link WrHaptics.impact}. */
70
+ type WrHapticImpact = 'light' | 'medium' | 'heavy';
71
+ /**
72
+ * SSR-safe wrapper around the Vibration API for tactile feedback on touch
73
+ * devices. Semantic presets (`impact`, `selection`, `success`, `warning`,
74
+ * `error`) map to sensible vibration patterns so call sites stay readable.
75
+ *
76
+ * Every method is a no-op — returning `false` — when there is no support:
77
+ * on the server, in browsers without `navigator.vibrate`, and notably on
78
+ * **iOS Safari**, which does not expose the Vibration API at all (its
79
+ * haptics are native-only). Check {@link supported} to branch UI on it.
80
+ *
81
+ * Haptics are best paired with a real user gesture (tap) — some browsers
82
+ * ignore `vibrate()` calls that aren't triggered by one. This service does
83
+ * not gate on `prefers-reduced-motion`; read {@link WrPlatform.prefersReducedMotion}
84
+ * at the call site if you want to suppress feedback for those users.
85
+ *
86
+ * @example
87
+ * ```ts
88
+ * private readonly haptics = inject(WrHaptics);
89
+ *
90
+ * onDelete(): void {
91
+ * this.haptics.warning(); // buzz before a destructive confirm
92
+ * }
93
+ *
94
+ * onToggle(): void {
95
+ * this.haptics.selection(); // subtle tick on a switch / segmented change
96
+ * }
97
+ * ```
98
+ *
99
+ * @see https://ngwr.dev/reference/services/platform
100
+ */
101
+ declare class WrHaptics {
102
+ private readonly isBrowser;
103
+ private readonly nav;
104
+ /** Whether the Vibration API is available (browser + `navigator.vibrate`). */
105
+ readonly supported: boolean;
106
+ /**
107
+ * Fire a raw vibration pattern — a single duration in ms, or an alternating
108
+ * `[buzz, pause, buzz, …]` array. Returns whether it was dispatched; passing
109
+ * `0` / `[]` cancels any ongoing vibration.
110
+ */
111
+ vibrate(pattern: number | readonly number[]): boolean;
112
+ /** A physical "tap" — `light`, `medium` (default), or `heavy`. */
113
+ impact(strength?: WrHapticImpact): boolean;
114
+ /** A subtle tick for a discrete change (switch, segmented, stepper). */
115
+ selection(): boolean;
116
+ /** A confirming pulse for a completed action. */
117
+ success(): boolean;
118
+ /** A cautioning pulse before a risky or destructive action. */
119
+ warning(): boolean;
120
+ /** A buzzing pulse for a failure or rejected action. */
121
+ error(): boolean;
122
+ /** Cancel any in-progress vibration. */
123
+ stop(): void;
124
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrHaptics, never>;
125
+ static ɵprov: i0.ɵɵInjectableDeclaration<WrHaptics>;
126
+ }
127
+
128
+ export { WrHaptics, WrPlatform, WrVisualViewport };
129
+ export type { WrHapticImpact };
@@ -24,7 +24,7 @@ type WrPopconfirmPosition = 'top' | 'bottom' | 'left' | 'right';
24
24
  * >Delete</wr-btn>
25
25
  * ```
26
26
  *
27
- * @see https://ngwr.dev/components/popconfirm
27
+ * @see https://ngwr.dev/reference/components/popconfirm
28
28
  */
29
29
  declare class WrPopconfirm {
30
30
  /** Confirmation message. */
@@ -36,7 +36,7 @@ declare class WrPopconfirm {
36
36
  /** Label for the cancel button. @default 'Cancel' */
37
37
  readonly cancelText: _angular_core.InputSignal<string>;
38
38
  /** Color of the confirm button. @default 'primary' */
39
- readonly confirmColor: _angular_core.InputSignal<"primary" | "secondary" | "success" | "warning" | "danger" | "light" | "medium" | "dark">;
39
+ readonly confirmColor: _angular_core.InputSignal<"primary" | "secondary" | "success" | "warning" | "danger" | "info" | "light" | "medium" | "dark">;
40
40
  /** Fires when the user clicks confirm. */
41
41
  readonly confirmed: _angular_core.OutputEmitterRef<void>;
42
42
  /** Fires when the user clicks cancel or dismisses the overlay. */
@@ -68,7 +68,7 @@ declare class WrPopconfirmPanel {
68
68
  readonly message: _angular_core.InputSignal<string>;
69
69
  readonly confirmText: _angular_core.InputSignal<string>;
70
70
  readonly cancelText: _angular_core.InputSignal<string>;
71
- readonly confirmColor: _angular_core.InputSignal<"primary" | "secondary" | "success" | "warning" | "danger" | "light" | "medium" | "dark">;
71
+ readonly confirmColor: _angular_core.InputSignal<"primary" | "secondary" | "success" | "warning" | "danger" | "info" | "light" | "medium" | "dark">;
72
72
  readonly confirmed: _angular_core.OutputEmitterRef<void>;
73
73
  readonly cancelled: _angular_core.OutputEmitterRef<void>;
74
74
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrPopconfirmPanel, never>;
@@ -9,7 +9,7 @@ import * as _angular_core from '@angular/core';
9
9
  * <wr-progress color="success" [value]="80" />
10
10
  * ```
11
11
  *
12
- * @see https://ngwr.dev/components/progress
12
+ * @see https://ngwr.dev/reference/components/progress
13
13
  */
14
14
  declare class WrProgress {
15
15
  /**
@@ -17,7 +17,7 @@ declare class WrProgress {
17
17
  *
18
18
  * @default 'primary'
19
19
  */
20
- readonly color: _angular_core.InputSignal<"primary" | "secondary" | "success" | "warning" | "danger" | "light" | "medium" | "dark">;
20
+ readonly color: _angular_core.InputSignal<"primary" | "secondary" | "success" | "warning" | "danger" | "info" | "light" | "medium" | "dark">;
21
21
  /**
22
22
  * Progress value, clamped to `[0, 100]`.
23
23
  *
@@ -0,0 +1,69 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ /**
4
+ * Pull-to-refresh wrapper. Make its own content scrollable (give it a height /
5
+ * `max-height`), and when the user drags down from the very top past
6
+ * `threshold` and lets go, `refresh` fires.
7
+ *
8
+ * It is a **controlled** spinner: bind `refreshing` — set it `true` in your
9
+ * `refresh` handler and `false` once the async work settles, and the indicator
10
+ * holds open until then. Setting `refreshing` `true` yourself (without a pull)
11
+ * shows the spinner too, so it doubles as a programmatic "reloading" state.
12
+ *
13
+ * Touch-only by design (the gesture is meaningless with a mouse); it lives
14
+ * beside native scrolling — a pull only starts at `scrollTop === 0`, otherwise
15
+ * the list scrolls as usual. Fires a light {@link WrHaptics} tap when the pull
16
+ * arms. `overscroll-behavior` stops the browser's own pull-to-refresh from
17
+ * fighting it.
18
+ *
19
+ * @example
20
+ * ```html
21
+ * <wr-pull-to-refresh style="height: 20rem" [refreshing]="loading()" (refresh)="reload()">
22
+ * @for (item of items(); track item.id) {
23
+ * <div class="row">{{ item.label }}</div>
24
+ * }
25
+ * </wr-pull-to-refresh>
26
+ * ```
27
+ * ```ts
28
+ * reload(): void {
29
+ * this.loading.set(true);
30
+ * this.api.fetch().subscribe((rows) => {
31
+ * this.items.set(rows);
32
+ * this.loading.set(false); // closes the indicator
33
+ * });
34
+ * }
35
+ * ```
36
+ *
37
+ * @see https://ngwr.dev/reference/components/pull-to-refresh
38
+ */
39
+ declare class WrPullToRefresh {
40
+ private readonly el;
41
+ private readonly haptics;
42
+ /**
43
+ * Whether the refresh is in flight — drives the spinner. Set `true` in your
44
+ * `refresh` handler and `false` when the work resolves. @default false
45
+ */
46
+ readonly refreshing: _angular_core.InputSignalWithTransform<boolean, any>;
47
+ /** Disable the gesture entirely. @default false */
48
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
49
+ /** Distance (px) the pull must reach for a release to trigger `refresh`. @default 64 */
50
+ readonly threshold: _angular_core.InputSignalWithTransform<number, unknown>;
51
+ /** Fires once each time the user pulls past `threshold` and releases. */
52
+ readonly refresh: _angular_core.OutputEmitterRef<void>;
53
+ protected readonly distance: _angular_core.WritableSignal<number>;
54
+ protected readonly dragging: _angular_core.WritableSignal<boolean>;
55
+ protected readonly thresholdPx: _angular_core.Signal<number>;
56
+ protected readonly armed: _angular_core.Signal<boolean>;
57
+ protected readonly progress: _angular_core.Signal<number>;
58
+ protected readonly contentTransform: _angular_core.Signal<string | null>;
59
+ private startY;
60
+ private canPull;
61
+ constructor();
62
+ protected onTouchStart(event: TouchEvent): void;
63
+ protected onTouchMove(event: TouchEvent): void;
64
+ protected onTouchEnd(): void;
65
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrPullToRefresh, never>;
66
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrPullToRefresh, "wr-pull-to-refresh", never, { "refreshing": { "alias": "refreshing"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "threshold": { "alias": "threshold"; "required": false; "isSignal": true; }; }, { "refresh": "refresh"; }, never, ["*"], true, never>;
67
+ }
68
+
69
+ export { WrPullToRefresh };
@@ -26,7 +26,7 @@ type WrQrErrorLevel = 'L' | 'M' | 'Q' | 'H';
26
26
  * <wr-qr value="..." iconUrl="/logo.png" [iconSize]="48" level="H" />
27
27
  * ```
28
28
  *
29
- * @see https://ngwr.dev/components/qrcode
29
+ * @see https://ngwr.dev/reference/components/qrcode
30
30
  */
31
31
  declare class WrQr {
32
32
  /** Text or URL to encode. Required. */
@@ -1,6 +1,6 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { InjectionToken, Signal } from '@angular/core';
3
- import { ControlValueAccessor } from '@angular/forms';
3
+ import { FormValueControl } from '@angular/forms/signals';
4
4
 
5
5
  /**
6
6
  * Single-choice option. Must be a child of `<wr-radio-group>`.
@@ -14,7 +14,7 @@ import { ControlValueAccessor } from '@angular/forms';
14
14
  * </wr-radio-group>
15
15
  * ```
16
16
  *
17
- * @see https://ngwr.dev/components/radio
17
+ * @see https://ngwr.dev/reference/components/radio
18
18
  */
19
19
  type WrRadioSize = 'sm' | 'md' | 'lg';
20
20
  declare class WrRadio {
@@ -70,8 +70,12 @@ interface WrRadioGroupContext {
70
70
  readonly isDisabled: Signal<boolean>;
71
71
  /** Select the given value. */
72
72
  select(value: unknown): void;
73
- /** Mark the group as touched (called on blur from any child). */
74
- touch(): void;
73
+ /**
74
+ * Mark the group as touched (called on blur from any child). Named
75
+ * `markTouched` rather than `touch` so it doesn't clash with the
76
+ * `FormUiControl.touch` output the group now exposes for signal forms.
77
+ */
78
+ markTouched(): void;
75
79
  }
76
80
  /**
77
81
  * Token a `<wr-radio>` injects to participate in its parent `<wr-radio-group>`
@@ -85,46 +89,45 @@ declare const WR_RADIO_GROUP: InjectionToken<WrRadioGroupContext>;
85
89
  /**
86
90
  * Hosts a group of `<wr-radio>` children as a single-value selection.
87
91
  *
88
- * Implements `ControlValueAccessor` — the group's `value` is the
89
- * currently selected radio's `value`.
92
+ * A signal-forms native control: it implements `FormValueControl<unknown>`, so
93
+ * `[formField]` binds to its `value` model — the currently selected radio's
94
+ * `value`. `[(value)]` works standalone. Classic `[(ngModel)]` / reactive forms
95
+ * keep working through Angular's bridge.
90
96
  *
91
97
  * @example
92
98
  * ```html
93
- * <wr-radio-group [(ngModel)]="size">
99
+ * <wr-radio-group [formField]="form.size">
94
100
  * <wr-radio value="sm">Small</wr-radio>
95
101
  * <wr-radio value="md">Medium</wr-radio>
96
102
  * <wr-radio value="lg">Large</wr-radio>
97
103
  * </wr-radio-group>
98
104
  * ```
99
105
  *
100
- * @see https://ngwr.dev/components/radio
106
+ * @see https://ngwr.dev/reference/components/radio
101
107
  */
102
- declare class WrRadioGroup implements ControlValueAccessor, WrRadioGroupContext {
108
+ declare class WrRadioGroup implements FormValueControl<unknown>, WrRadioGroupContext {
103
109
  /**
104
110
  * Shared `name` attribute. Defaults to a random id so multiple groups
105
- * on the same page don't collide.
111
+ * on the same page don't collide. (Also the `FormUiControl.name` slot.)
106
112
  */
107
113
  readonly name: _angular_core.InputSignal<string>;
108
114
  /**
109
- * Disable the whole group. Also set by Angular forms via `setDisabledState`.
115
+ * Disable the whole group. Bound automatically from the field's disabled
116
+ * state when used with `[formField]`.
110
117
  *
111
118
  * @default false
112
119
  */
113
120
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
114
- readonly value: _angular_core.WritableSignal<unknown>;
115
- private readonly disabledFromCva;
116
- /** Effective disabled state — true if either source disables. */
121
+ /** The selected radio's value. Bound by `[formField]`, or two-way via `[(value)]`. */
122
+ readonly value: _angular_core.ModelSignal<unknown>;
123
+ /** Emitted on blur from any child so a bound field can mark itself touched. */
124
+ readonly touch: _angular_core.OutputEmitterRef<void>;
125
+ /** Effective disabled state (WrRadioGroupContext). */
117
126
  readonly isDisabled: _angular_core.Signal<boolean>;
118
- private onChange;
119
- private onTouched;
120
127
  select(value: unknown): void;
121
- touch(): void;
122
- writeValue(value: unknown): void;
123
- registerOnChange(fn: (value: unknown) => void): void;
124
- registerOnTouched(fn: () => void): void;
125
- setDisabledState(isDisabled: boolean): void;
128
+ markTouched(): void;
126
129
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrRadioGroup, never>;
127
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrRadioGroup, "wr-radio-group", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
130
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrRadioGroup, "wr-radio-group", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touch": "touch"; }, never, ["*"], true, never>;
128
131
  }
129
132
 
130
133
  export { WR_RADIO_GROUP, WrRadio, WrRadioGroup };
@@ -1,65 +1,73 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { ControlValueAccessor } from '@angular/forms';
2
+ import { FormValueControl } from '@angular/forms/signals';
3
3
 
4
4
  /**
5
5
  * Star rating input. Click or hover to set a value; supports half-star
6
- * increments via `step="0.5"`. Implements `ControlValueAccessor` — value
7
- * is `number | null` (clamped to `[0, count]`).
6
+ * increments via `step="0.5"`. Value is `number | null` (clamped to
7
+ * `[0, count]`).
8
+ *
9
+ * A signal-forms native control: it implements `FormValueControl<number | null>`,
10
+ * so `[formField]` binds straight to its `value` model — no
11
+ * `ControlValueAccessor` in between. `[(value)]` works standalone.
8
12
  *
9
13
  * Keyboard: `←` / `→` bump by `step`, `Home` / `End` jump to 0 / max.
10
14
  * Clicking the current value clears it (toggle off).
11
15
  *
12
16
  * @example
13
17
  * ```html
14
- * <wr-rating [(ngModel)]="score" />
15
- * <wr-rating [(ngModel)]="score" [count]="10" step="0.5" />
16
- * <wr-rating [ngModel]="4.5" [readonly]="true" />
18
+ * <!-- signal forms -->
19
+ * <wr-rating [formField]="form.score" />
20
+ *
21
+ * <!-- standalone two-way binding -->
22
+ * <wr-rating [(value)]="score" [count]="10" step="0.5" />
23
+ * <wr-rating [value]="4.5" [readonly]="true" />
17
24
  * ```
18
25
  *
19
- * @see https://ngwr.dev/components/rating
26
+ * @see https://ngwr.dev/reference/components/rating
20
27
  */
21
28
  type WrRatingSize = 'sm' | 'md' | 'lg';
22
- declare class WrRating implements ControlValueAccessor {
29
+ declare class WrRating implements FormValueControl<number | null> {
23
30
  /** Total number of slots. @default 5 */
24
31
  readonly count: _angular_core.InputSignalWithTransform<number, unknown>;
25
32
  /** Step granularity — `1` for whole stars, `0.5` for halves. @default 1 */
26
33
  readonly step: _angular_core.InputSignalWithTransform<1 | 0.5, unknown>;
27
34
  /** Read-only — value is displayed but not interactive. @default false */
28
35
  readonly readonly: _angular_core.InputSignalWithTransform<boolean, any>;
29
- /** Disable interaction. @default false */
36
+ /**
37
+ * Disable interaction. Bound automatically from the field's disabled state
38
+ * when used with `[formField]`.
39
+ *
40
+ * @default false
41
+ */
30
42
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
31
43
  /** Control size — scales the icons + gaps. @default 'md' */
32
44
  readonly size: _angular_core.InputSignal<WrRatingSize>;
33
45
  /** Accessible label. @default 'Rating' */
34
46
  readonly ariaLabel: _angular_core.InputSignal<string>;
35
- /** Last committed value (mirrored from the CVA). */
36
- protected readonly value: _angular_core.WritableSignal<number | null>;
47
+ /** The rating. Bound by `[formField]`, or two-way via `[(value)]`. */
48
+ readonly value: _angular_core.ModelSignal<number | null>;
49
+ /** Emitted on blur so a bound field can mark itself touched. */
50
+ readonly touch: _angular_core.OutputEmitterRef<void>;
37
51
  /** Transient hover preview — overrides `value` for display when set. */
38
52
  protected readonly hoverValue: _angular_core.WritableSignal<number | null>;
39
- private readonly disabledFromCva;
40
- protected readonly effectiveDisabled: _angular_core.Signal<boolean>;
41
53
  protected readonly interactive: _angular_core.Signal<boolean>;
42
54
  /** What we actually render — hover wins while hovering. */
43
55
  protected readonly displayValue: _angular_core.Signal<number>;
44
56
  protected readonly slots: _angular_core.Signal<number[]>;
45
57
  protected readonly classes: _angular_core.Signal<string>;
58
+ constructor();
46
59
  /** Fill ratio for slot `i` in `[0, 1]` — drives the CSS clip width. */
47
60
  protected fillFor(i: number): number;
48
- private onChange;
49
- private onTouched;
50
- writeValue(value: number | null): void;
51
- registerOnChange(fn: (value: number | null) => void): void;
52
- registerOnTouched(fn: () => void): void;
53
- setDisabledState(isDisabled: boolean): void;
54
61
  protected onSlotMove(event: MouseEvent, index: number): void;
55
62
  protected onLeave(): void;
56
63
  protected onSlotClick(event: MouseEvent, index: number): void;
57
64
  protected onKeydown(event: KeyboardEvent): void;
65
+ protected onBlur(): void;
58
66
  /** Convert a mouse position over slot `index` to a snapped value. */
59
67
  private computeValue;
60
68
  private commit;
61
69
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrRating, never>;
62
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrRating, "wr-rating", never, { "count": { "alias": "count"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
70
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrRating, "wr-rating", never, { "count": { "alias": "count"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touch": "touch"; }, never, never, true, never>;
63
71
  }
64
72
 
65
73
  export { WrRating };
@@ -18,7 +18,7 @@ type WrResultStatus = 'success' | 'warning' | 'error' | 'info' | 'empty';
18
18
  * </wr-result>
19
19
  * ```
20
20
  *
21
- * @see https://ngwr.dev/components/result
21
+ * @see https://ngwr.dev/reference/components/result
22
22
  */
23
23
  declare class WrResult {
24
24
  readonly title: _angular_core.InputSignal<string>;
@@ -55,6 +55,7 @@ declare class WrRotatingText {
55
55
  private readonly platform;
56
56
  private timerId;
57
57
  private isAnimating;
58
+ private destroyed;
58
59
  constructor();
59
60
  next(): void;
60
61
  previous(): void;
@@ -43,7 +43,7 @@ interface WrScrollOptions {
43
43
  * scroll.intoView(myEl, { offset: 64 });
44
44
  * ```
45
45
  *
46
- * @see https://ngwr.dev/services/scroll
46
+ * @see https://ngwr.dev/reference/services/scroll
47
47
  */
48
48
  declare class WrScroll {
49
49
  private readonly doc;
@@ -37,7 +37,7 @@ interface WrSegmentedOption<T = unknown> {
37
37
  * />
38
38
  * ```
39
39
  *
40
- * @see https://ngwr.dev/components/segmented
40
+ * @see https://ngwr.dev/reference/components/segmented
41
41
  */
42
42
  type WrSegmentedSize = 'sm' | 'md' | 'lg';
43
43
  declare class WrSegmented<T = unknown> {