ngwr 7.3.0 → 9.0.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 (450) hide show
  1. package/README.md +79 -31
  2. package/action-sheet/styles/_index.scss +93 -0
  3. package/alert/styles/_index.scss +45 -18
  4. package/anchor/styles/_index.scss +3 -3
  5. package/avatar/styles/_index.scss +2 -2
  6. package/back-top/styles/_index.scss +1 -1
  7. package/badge/styles/_index.scss +11 -7
  8. package/badge/styles/_tag.scss +4 -4
  9. package/bar-chart/styles/_index.scss +5 -6
  10. package/border-glow/styles/_index.scss +3 -3
  11. package/breadcrumbs/styles/_index.scss +7 -5
  12. package/burger/styles/_index.scss +3 -3
  13. package/button/styles/_index.scss +34 -24
  14. package/calendar/styles/_index.scss +15 -13
  15. package/calendar-heatmap/styles/_index.scss +5 -3
  16. package/card/styles/_index.scss +5 -5
  17. package/carousel/styles/_index.scss +6 -6
  18. package/cascader/styles/_index.scss +69 -29
  19. package/checkbox/styles/_index.scss +41 -9
  20. package/collapse/styles/_index.scss +7 -7
  21. package/color-picker/styles/_index.scss +26 -21
  22. package/command-palette/styles/_index.scss +22 -19
  23. package/compare/styles/_index.scss +6 -6
  24. package/context-menu/styles/_index.scss +17 -7
  25. package/counter/styles/_index.scss +12 -1
  26. package/date-picker/styles/_index.scss +13 -14
  27. package/density/styles/_index.scss +3 -3
  28. package/descriptions/styles/_index.scss +9 -9
  29. package/dialog/styles/_index.scss +10 -9
  30. package/divider/styles/_index.scss +3 -3
  31. package/donut-chart/styles/_index.scss +3 -3
  32. package/drag-drop/styles/_index.scss +11 -6
  33. package/drawer/styles/_index.scss +26 -17
  34. package/dropdown/styles/_index.scss +7 -7
  35. package/empty/styles/_index.scss +4 -4
  36. package/fesm2022/ngwr-action-sheet.mjs +81 -0
  37. package/fesm2022/ngwr-action-sheet.mjs.map +1 -0
  38. package/fesm2022/ngwr-affix.mjs +3 -3
  39. package/fesm2022/ngwr-alert.mjs +23 -11
  40. package/fesm2022/ngwr-alert.mjs.map +1 -1
  41. package/fesm2022/ngwr-anchor.mjs +4 -4
  42. package/fesm2022/ngwr-anchor.mjs.map +1 -1
  43. package/fesm2022/ngwr-aurora.mjs +5 -4
  44. package/fesm2022/ngwr-aurora.mjs.map +1 -1
  45. package/fesm2022/ngwr-avatar.mjs +4 -4
  46. package/fesm2022/ngwr-avatar.mjs.map +1 -1
  47. package/fesm2022/ngwr-back-top.mjs +4 -4
  48. package/fesm2022/ngwr-back-top.mjs.map +1 -1
  49. package/fesm2022/ngwr-badge.mjs +8 -8
  50. package/fesm2022/ngwr-badge.mjs.map +1 -1
  51. package/fesm2022/ngwr-bar-chart.mjs +4 -4
  52. package/fesm2022/ngwr-bar-chart.mjs.map +1 -1
  53. package/fesm2022/ngwr-blur-text.mjs +3 -3
  54. package/fesm2022/ngwr-border-glow.mjs +4 -4
  55. package/fesm2022/ngwr-border-glow.mjs.map +1 -1
  56. package/fesm2022/ngwr-breadcrumbs.mjs +8 -8
  57. package/fesm2022/ngwr-breadcrumbs.mjs.map +1 -1
  58. package/fesm2022/ngwr-burger.mjs +4 -4
  59. package/fesm2022/ngwr-burger.mjs.map +1 -1
  60. package/fesm2022/ngwr-button.mjs +8 -8
  61. package/fesm2022/ngwr-button.mjs.map +1 -1
  62. package/fesm2022/ngwr-calendar-heatmap.mjs +4 -4
  63. package/fesm2022/ngwr-calendar-heatmap.mjs.map +1 -1
  64. package/fesm2022/ngwr-calendar.mjs +5 -5
  65. package/fesm2022/ngwr-calendar.mjs.map +1 -1
  66. package/fesm2022/ngwr-card.mjs +11 -11
  67. package/fesm2022/ngwr-card.mjs.map +1 -1
  68. package/fesm2022/ngwr-carousel.mjs +7 -7
  69. package/fesm2022/ngwr-carousel.mjs.map +1 -1
  70. package/fesm2022/ngwr-cascader.mjs +58 -89
  71. package/fesm2022/ngwr-cascader.mjs.map +1 -1
  72. package/fesm2022/ngwr-checkbox.mjs +80 -129
  73. package/fesm2022/ngwr-checkbox.mjs.map +1 -1
  74. package/fesm2022/ngwr-circular-text.mjs +5 -4
  75. package/fesm2022/ngwr-circular-text.mjs.map +1 -1
  76. package/fesm2022/ngwr-click-spark.mjs +27 -7
  77. package/fesm2022/ngwr-click-spark.mjs.map +1 -1
  78. package/fesm2022/ngwr-clipboard.mjs +28 -7
  79. package/fesm2022/ngwr-clipboard.mjs.map +1 -1
  80. package/fesm2022/ngwr-collapse.mjs +12 -12
  81. package/fesm2022/ngwr-collapse.mjs.map +1 -1
  82. package/fesm2022/ngwr-color-picker.mjs +58 -66
  83. package/fesm2022/ngwr-color-picker.mjs.map +1 -1
  84. package/fesm2022/ngwr-command-palette.mjs +4 -4
  85. package/fesm2022/ngwr-command-palette.mjs.map +1 -1
  86. package/fesm2022/ngwr-compare.mjs +4 -4
  87. package/fesm2022/ngwr-compare.mjs.map +1 -1
  88. package/fesm2022/ngwr-confetti.mjs +3 -3
  89. package/fesm2022/ngwr-context-menu.mjs +98 -75
  90. package/fesm2022/ngwr-context-menu.mjs.map +1 -1
  91. package/fesm2022/ngwr-cookie.mjs +19 -6
  92. package/fesm2022/ngwr-cookie.mjs.map +1 -1
  93. package/fesm2022/ngwr-counter.mjs +32 -14
  94. package/fesm2022/ngwr-counter.mjs.map +1 -1
  95. package/fesm2022/ngwr-date-adapter-fns.mjs +3 -3
  96. package/fesm2022/ngwr-date-adapter-luxon.mjs +3 -3
  97. package/fesm2022/ngwr-date-adapter.mjs +10 -5
  98. package/fesm2022/ngwr-date-adapter.mjs.map +1 -1
  99. package/fesm2022/ngwr-date-picker.mjs +142 -123
  100. package/fesm2022/ngwr-date-picker.mjs.map +1 -1
  101. package/fesm2022/ngwr-decrypt-text.mjs +3 -3
  102. package/fesm2022/ngwr-density.mjs +15 -15
  103. package/fesm2022/ngwr-density.mjs.map +1 -1
  104. package/fesm2022/ngwr-descriptions.mjs +7 -7
  105. package/fesm2022/ngwr-descriptions.mjs.map +1 -1
  106. package/fesm2022/ngwr-dialog.mjs +16 -16
  107. package/fesm2022/ngwr-dialog.mjs.map +1 -1
  108. package/fesm2022/ngwr-directives.mjs +22 -88
  109. package/fesm2022/ngwr-directives.mjs.map +1 -1
  110. package/fesm2022/ngwr-divider.mjs +4 -4
  111. package/fesm2022/ngwr-divider.mjs.map +1 -1
  112. package/fesm2022/ngwr-donut-chart.mjs +11 -5
  113. package/fesm2022/ngwr-donut-chart.mjs.map +1 -1
  114. package/fesm2022/ngwr-drag-drop.mjs +10 -9
  115. package/fesm2022/ngwr-drag-drop.mjs.map +1 -1
  116. package/fesm2022/ngwr-drawer.mjs +19 -18
  117. package/fesm2022/ngwr-drawer.mjs.map +1 -1
  118. package/fesm2022/ngwr-dropdown.mjs +13 -12
  119. package/fesm2022/ngwr-dropdown.mjs.map +1 -1
  120. package/fesm2022/ngwr-empty.mjs +4 -4
  121. package/fesm2022/ngwr-empty.mjs.map +1 -1
  122. package/fesm2022/ngwr-falling-text.mjs +5 -4
  123. package/fesm2022/ngwr-falling-text.mjs.map +1 -1
  124. package/fesm2022/ngwr-file-upload.mjs +58 -60
  125. package/fesm2022/ngwr-file-upload.mjs.map +1 -1
  126. package/fesm2022/ngwr-form.mjs +11 -11
  127. package/fesm2022/ngwr-form.mjs.map +1 -1
  128. package/fesm2022/ngwr-fuzzy-text.mjs +10 -8
  129. package/fesm2022/ngwr-fuzzy-text.mjs.map +1 -1
  130. package/fesm2022/ngwr-gauge.mjs +4 -4
  131. package/fesm2022/ngwr-gauge.mjs.map +1 -1
  132. package/fesm2022/ngwr-glitch-text.mjs +15 -7
  133. package/fesm2022/ngwr-glitch-text.mjs.map +1 -1
  134. package/fesm2022/ngwr-gradient-text.mjs +4 -4
  135. package/fesm2022/ngwr-gradient-text.mjs.map +1 -1
  136. package/fesm2022/ngwr-hotkey.mjs +7 -7
  137. package/fesm2022/ngwr-hotkey.mjs.map +1 -1
  138. package/fesm2022/ngwr-i18n.mjs +10 -10
  139. package/fesm2022/ngwr-i18n.mjs.map +1 -1
  140. package/fesm2022/ngwr-icon-adapters-lucide.mjs +6 -7
  141. package/fesm2022/ngwr-icon-adapters-lucide.mjs.map +1 -1
  142. package/fesm2022/ngwr-icon.mjs +4 -4
  143. package/fesm2022/ngwr-icon.mjs.map +1 -1
  144. package/fesm2022/ngwr-image-cropper.mjs +6 -5
  145. package/fesm2022/ngwr-image-cropper.mjs.map +1 -1
  146. package/fesm2022/ngwr-input-number.mjs +56 -73
  147. package/fesm2022/ngwr-input-number.mjs.map +1 -1
  148. package/fesm2022/ngwr-input-otp.mjs +52 -52
  149. package/fesm2022/ngwr-input-otp.mjs.map +1 -1
  150. package/fesm2022/ngwr-input.mjs +27 -18
  151. package/fesm2022/ngwr-input.mjs.map +1 -1
  152. package/fesm2022/ngwr-keyboard.mjs +4 -4
  153. package/fesm2022/ngwr-keyboard.mjs.map +1 -1
  154. package/fesm2022/ngwr-knob.mjs +47 -58
  155. package/fesm2022/ngwr-knob.mjs.map +1 -1
  156. package/fesm2022/ngwr-layout.mjs +16 -16
  157. package/fesm2022/ngwr-layout.mjs.map +1 -1
  158. package/fesm2022/ngwr-lightbox.mjs +20 -7
  159. package/fesm2022/ngwr-lightbox.mjs.map +1 -1
  160. package/fesm2022/ngwr-line-chart.mjs +4 -4
  161. package/fesm2022/ngwr-line-chart.mjs.map +1 -1
  162. package/fesm2022/ngwr-list.mjs +8 -8
  163. package/fesm2022/ngwr-list.mjs.map +1 -1
  164. package/fesm2022/ngwr-loading-bar.mjs +7 -7
  165. package/fesm2022/ngwr-loading-bar.mjs.map +1 -1
  166. package/fesm2022/ngwr-marquee.mjs +6 -5
  167. package/fesm2022/ngwr-marquee.mjs.map +1 -1
  168. package/fesm2022/ngwr-media.mjs +4 -4
  169. package/fesm2022/ngwr-media.mjs.map +1 -1
  170. package/fesm2022/ngwr-mention.mjs +15 -9
  171. package/fesm2022/ngwr-mention.mjs.map +1 -1
  172. package/fesm2022/ngwr-meta.mjs +7 -7
  173. package/fesm2022/ngwr-meta.mjs.map +1 -1
  174. package/fesm2022/ngwr-meter-group.mjs +4 -4
  175. package/fesm2022/ngwr-meter-group.mjs.map +1 -1
  176. package/fesm2022/ngwr-overlay.mjs +9 -4
  177. package/fesm2022/ngwr-overlay.mjs.map +1 -1
  178. package/fesm2022/ngwr-page-header.mjs +4 -4
  179. package/fesm2022/ngwr-page-header.mjs.map +1 -1
  180. package/fesm2022/ngwr-pagination.mjs +6 -16
  181. package/fesm2022/ngwr-pagination.mjs.map +1 -1
  182. package/fesm2022/ngwr-pipes.mjs +21 -21
  183. package/fesm2022/ngwr-platform.mjs +169 -5
  184. package/fesm2022/ngwr-platform.mjs.map +1 -1
  185. package/fesm2022/ngwr-popconfirm.mjs +7 -7
  186. package/fesm2022/ngwr-popconfirm.mjs.map +1 -1
  187. package/fesm2022/ngwr-popover.mjs +7 -7
  188. package/fesm2022/ngwr-popover.mjs.map +1 -1
  189. package/fesm2022/ngwr-progress.mjs +4 -4
  190. package/fesm2022/ngwr-progress.mjs.map +1 -1
  191. package/fesm2022/ngwr-pull-to-refresh.mjs +172 -0
  192. package/fesm2022/ngwr-pull-to-refresh.mjs.map +1 -0
  193. package/fesm2022/ngwr-qr.mjs +5 -5
  194. package/fesm2022/ngwr-qr.mjs.map +1 -1
  195. package/fesm2022/ngwr-radio.mjs +49 -72
  196. package/fesm2022/ngwr-radio.mjs.map +1 -1
  197. package/fesm2022/ngwr-rating.mjs +41 -65
  198. package/fesm2022/ngwr-rating.mjs.map +1 -1
  199. package/fesm2022/ngwr-result.mjs +13 -13
  200. package/fesm2022/ngwr-result.mjs.map +1 -1
  201. package/fesm2022/ngwr-rotating-text.mjs +15 -4
  202. package/fesm2022/ngwr-rotating-text.mjs.map +1 -1
  203. package/fesm2022/ngwr-scroll.mjs +4 -4
  204. package/fesm2022/ngwr-scroll.mjs.map +1 -1
  205. package/fesm2022/ngwr-segmented.mjs +10 -22
  206. package/fesm2022/ngwr-segmented.mjs.map +1 -1
  207. package/fesm2022/ngwr-select.mjs +303 -86
  208. package/fesm2022/ngwr-select.mjs.map +1 -1
  209. package/fesm2022/ngwr-shiny-text.mjs +7 -7
  210. package/fesm2022/ngwr-shiny-text.mjs.map +1 -1
  211. package/fesm2022/ngwr-sidebar.mjs +4 -4
  212. package/fesm2022/ngwr-sidebar.mjs.map +1 -1
  213. package/fesm2022/ngwr-skeleton.mjs +4 -4
  214. package/fesm2022/ngwr-skeleton.mjs.map +1 -1
  215. package/fesm2022/ngwr-slider.mjs +79 -73
  216. package/fesm2022/ngwr-slider.mjs.map +1 -1
  217. package/fesm2022/ngwr-sparkline.mjs +4 -4
  218. package/fesm2022/ngwr-sparkline.mjs.map +1 -1
  219. package/fesm2022/ngwr-speed-dial.mjs +13 -5
  220. package/fesm2022/ngwr-speed-dial.mjs.map +1 -1
  221. package/fesm2022/ngwr-spinner.mjs +4 -4
  222. package/fesm2022/ngwr-spinner.mjs.map +1 -1
  223. package/fesm2022/ngwr-splash-cursor.mjs +4 -4
  224. package/fesm2022/ngwr-splash-cursor.mjs.map +1 -1
  225. package/fesm2022/ngwr-split-text.mjs +3 -3
  226. package/fesm2022/ngwr-splitter.mjs +4 -4
  227. package/fesm2022/ngwr-splitter.mjs.map +1 -1
  228. package/fesm2022/ngwr-spotlight-card.mjs +8 -8
  229. package/fesm2022/ngwr-spotlight-card.mjs.map +1 -1
  230. package/fesm2022/ngwr-squircle.mjs +7 -7
  231. package/fesm2022/ngwr-squircle.mjs.map +1 -1
  232. package/fesm2022/ngwr-star-border.mjs +4 -4
  233. package/fesm2022/ngwr-star-border.mjs.map +1 -1
  234. package/fesm2022/ngwr-statistic.mjs +138 -14
  235. package/fesm2022/ngwr-statistic.mjs.map +1 -1
  236. package/fesm2022/ngwr-stepper.mjs +8 -8
  237. package/fesm2022/ngwr-stepper.mjs.map +1 -1
  238. package/fesm2022/ngwr-storage.mjs +4 -4
  239. package/fesm2022/ngwr-storage.mjs.map +1 -1
  240. package/fesm2022/ngwr-switch.mjs +22 -58
  241. package/fesm2022/ngwr-switch.mjs.map +1 -1
  242. package/fesm2022/ngwr-table.mjs +824 -20
  243. package/fesm2022/ngwr-table.mjs.map +1 -1
  244. package/fesm2022/ngwr-tabs.mjs +11 -8
  245. package/fesm2022/ngwr-tabs.mjs.map +1 -1
  246. package/fesm2022/ngwr-textarea.mjs +94 -67
  247. package/fesm2022/ngwr-textarea.mjs.map +1 -1
  248. package/fesm2022/ngwr-theme.mjs +20 -5
  249. package/fesm2022/ngwr-theme.mjs.map +1 -1
  250. package/fesm2022/ngwr-tilt-card.mjs +27 -11
  251. package/fesm2022/ngwr-tilt-card.mjs.map +1 -1
  252. package/fesm2022/ngwr-timeline.mjs +7 -7
  253. package/fesm2022/ngwr-timeline.mjs.map +1 -1
  254. package/fesm2022/ngwr-toast.mjs +47 -25
  255. package/fesm2022/ngwr-toast.mjs.map +1 -1
  256. package/fesm2022/ngwr-toolbar.mjs +4 -4
  257. package/fesm2022/ngwr-toolbar.mjs.map +1 -1
  258. package/fesm2022/ngwr-tree.mjs +280 -84
  259. package/fesm2022/ngwr-tree.mjs.map +1 -1
  260. package/fesm2022/ngwr-typewriter.mjs +10 -5
  261. package/fesm2022/ngwr-typewriter.mjs.map +1 -1
  262. package/fesm2022/ngwr-typography.mjs +4 -4
  263. package/fesm2022/ngwr-typography.mjs.map +1 -1
  264. package/fesm2022/ngwr-validators.mjs +42 -4
  265. package/fesm2022/ngwr-validators.mjs.map +1 -1
  266. package/fesm2022/ngwr-version.mjs +1 -1
  267. package/fesm2022/ngwr-version.mjs.map +1 -1
  268. package/fesm2022/ngwr-virtual-scroll.mjs +9 -7
  269. package/fesm2022/ngwr-virtual-scroll.mjs.map +1 -1
  270. package/fesm2022/ngwr-waves.mjs +6 -5
  271. package/fesm2022/ngwr-waves.mjs.map +1 -1
  272. package/fesm2022/ngwr-window.mjs +16 -15
  273. package/fesm2022/ngwr-window.mjs.map +1 -1
  274. package/file-upload/styles/_index.scss +14 -14
  275. package/form/styles/_index.scss +9 -9
  276. package/gauge/styles/_index.scss +2 -2
  277. package/glitch-text/styles/_index.scss +4 -7
  278. package/gradient-text/styles/_index.scss +1 -1
  279. package/image-cropper/styles/_index.scss +8 -7
  280. package/input/styles/_index.scss +35 -16
  281. package/input-number/styles/_index.scss +1 -1
  282. package/input-otp/styles/_index.scss +28 -10
  283. package/keyboard/styles/_index.scss +11 -9
  284. package/knob/styles/_index.scss +7 -3
  285. package/layout/styles/_index.scss +12 -12
  286. package/lightbox/styles/_index.scss +31 -10
  287. package/line-chart/styles/_index.scss +5 -5
  288. package/list/styles/_index.scss +6 -6
  289. package/llms-full.txt +45 -24
  290. package/llms.txt +48 -32
  291. package/marquee/styles/_index.scss +1 -1
  292. package/mention/styles/_index.scss +6 -6
  293. package/meter-group/styles/_index.scss +4 -4
  294. package/overlay/styles/_index.scss +9 -1
  295. package/package.json +21 -14
  296. package/page-header/styles/_index.scss +4 -4
  297. package/pagination/styles/_index.scss +6 -29
  298. package/popconfirm/styles/_index.scss +4 -4
  299. package/popover/styles/_index.scss +7 -7
  300. package/progress/styles/_index.scss +1 -1
  301. package/pull-to-refresh/styles/_index.scss +38 -0
  302. package/radio/styles/_index.scss +24 -9
  303. package/rating/styles/_index.scss +13 -2
  304. package/result/styles/_index.scss +3 -3
  305. package/schematics/migrations/v8/index.js +122 -0
  306. package/schematics/migrations/v9/index.js +71 -0
  307. package/schematics/migrations.json +10 -0
  308. package/schematics/ng-add/index.js +3 -3
  309. package/schematics/ng-add/schema.json +7 -7
  310. package/schematics/provider/schema.json +1 -1
  311. package/schematics/use/symbol-map.json +24 -2
  312. package/segmented/styles/_index.scss +35 -12
  313. package/select/styles/_index.scss +126 -43
  314. package/shiny-text/styles/_index.scss +4 -4
  315. package/sidebar/styles/_index.scss +15 -15
  316. package/slider/styles/_index.scss +7 -8
  317. package/speed-dial/styles/_index.scss +23 -6
  318. package/splash-cursor/styles/_index.scss +1 -0
  319. package/splitter/styles/_index.scss +11 -8
  320. package/spotlight-card/styles/_index.scss +11 -7
  321. package/star-border/styles/_index.scss +3 -3
  322. package/statistic/styles/_index.scss +51 -4
  323. package/stepper/styles/_index.scss +10 -10
  324. package/styles/_animations.scss +0 -23
  325. package/styles/_typography.scss +4 -1
  326. package/styles.scss +2 -1
  327. package/switch/styles/_index.scss +29 -10
  328. package/table/styles/_index.scss +456 -26
  329. package/tabs/styles/_index.scss +25 -6
  330. package/textarea/styles/_index.scss +65 -10
  331. package/theme/styles/_colors.scss +82 -1
  332. package/theme/styles/_dark.scss +22 -8
  333. package/theme/styles/_focus.scss +5 -0
  334. package/theme/styles/_variables.scss +24 -0
  335. package/tilt-card/styles/_index.scss +4 -4
  336. package/timeline/styles/_index.scss +18 -8
  337. package/toast/styles/_index.scss +24 -16
  338. package/toolbar/styles/_index.scss +5 -5
  339. package/tree/styles/_index.scss +63 -32
  340. package/types/ngwr-action-sheet.d.ts +75 -0
  341. package/types/ngwr-alert.d.ts +17 -7
  342. package/types/ngwr-anchor.d.ts +1 -1
  343. package/types/ngwr-avatar.d.ts +1 -1
  344. package/types/ngwr-back-top.d.ts +1 -1
  345. package/types/ngwr-badge.d.ts +4 -4
  346. package/types/ngwr-bar-chart.d.ts +1 -1
  347. package/types/ngwr-breadcrumbs.d.ts +1 -1
  348. package/types/ngwr-burger.d.ts +1 -1
  349. package/types/ngwr-button.d.ts +3 -3
  350. package/types/ngwr-calendar-heatmap.d.ts +1 -1
  351. package/types/ngwr-calendar.d.ts +1 -1
  352. package/types/ngwr-card.d.ts +1 -1
  353. package/types/ngwr-carousel.d.ts +1 -1
  354. package/types/ngwr-cascader.d.ts +31 -17
  355. package/types/ngwr-checkbox.d.ts +67 -44
  356. package/types/ngwr-click-spark.d.ts +13 -1
  357. package/types/ngwr-clipboard.d.ts +13 -2
  358. package/types/ngwr-collapse.d.ts +3 -3
  359. package/types/ngwr-color-picker.d.ts +24 -19
  360. package/types/ngwr-command-palette.d.ts +1 -1
  361. package/types/ngwr-compare.d.ts +1 -1
  362. package/types/ngwr-context-menu.d.ts +42 -23
  363. package/types/ngwr-cookie.d.ts +7 -1
  364. package/types/ngwr-counter.d.ts +9 -2
  365. package/types/ngwr-date-picker.d.ts +39 -23
  366. package/types/ngwr-density.d.ts +8 -8
  367. package/types/ngwr-descriptions.d.ts +1 -1
  368. package/types/ngwr-dialog.d.ts +1 -1
  369. package/types/ngwr-directives.d.ts +18 -49
  370. package/types/ngwr-divider.d.ts +2 -2
  371. package/types/ngwr-donut-chart.d.ts +1 -1
  372. package/types/ngwr-drag-drop.d.ts +1 -1
  373. package/types/ngwr-drawer.d.ts +1 -1
  374. package/types/ngwr-dropdown.d.ts +1 -1
  375. package/types/ngwr-empty.d.ts +1 -1
  376. package/types/ngwr-file-upload.d.ts +28 -17
  377. package/types/ngwr-form.d.ts +2 -2
  378. package/types/ngwr-fuzzy-text.d.ts +1 -1
  379. package/types/ngwr-gauge.d.ts +1 -1
  380. package/types/ngwr-glitch-text.d.ts +9 -3
  381. package/types/ngwr-hotkey.d.ts +1 -1
  382. package/types/ngwr-i18n.d.ts +1 -1
  383. package/types/ngwr-icon-adapters-lucide.d.ts +5 -3
  384. package/types/ngwr-icon.d.ts +1 -1
  385. package/types/ngwr-image-cropper.d.ts +1 -1
  386. package/types/ngwr-input-number.d.ts +25 -19
  387. package/types/ngwr-input-otp.d.ts +28 -18
  388. package/types/ngwr-input.d.ts +29 -15
  389. package/types/ngwr-keyboard.d.ts +1 -1
  390. package/types/ngwr-knob.d.ts +24 -19
  391. package/types/ngwr-layout.d.ts +1 -1
  392. package/types/ngwr-lightbox.d.ts +10 -2
  393. package/types/ngwr-line-chart.d.ts +1 -1
  394. package/types/ngwr-list.d.ts +1 -1
  395. package/types/ngwr-loading-bar.d.ts +1 -1
  396. package/types/ngwr-marquee.d.ts +1 -1
  397. package/types/ngwr-media.d.ts +1 -1
  398. package/types/ngwr-mention.d.ts +1 -1
  399. package/types/ngwr-meta.d.ts +1 -1
  400. package/types/ngwr-meter-group.d.ts +1 -1
  401. package/types/ngwr-page-header.d.ts +1 -1
  402. package/types/ngwr-pagination.d.ts +4 -10
  403. package/types/ngwr-platform.d.ts +93 -2
  404. package/types/ngwr-popconfirm.d.ts +3 -3
  405. package/types/ngwr-progress.d.ts +2 -2
  406. package/types/ngwr-pull-to-refresh.d.ts +69 -0
  407. package/types/ngwr-qr.d.ts +1 -1
  408. package/types/ngwr-radio.d.ts +39 -25
  409. package/types/ngwr-rating.d.ts +32 -20
  410. package/types/ngwr-result.d.ts +1 -1
  411. package/types/ngwr-rotating-text.d.ts +1 -0
  412. package/types/ngwr-scroll.d.ts +1 -1
  413. package/types/ngwr-segmented.d.ts +6 -3
  414. package/types/ngwr-select.d.ts +98 -27
  415. package/types/ngwr-sidebar.d.ts +1 -1
  416. package/types/ngwr-skeleton.d.ts +2 -2
  417. package/types/ngwr-slider.d.ts +35 -21
  418. package/types/ngwr-sparkline.d.ts +1 -1
  419. package/types/ngwr-speed-dial.d.ts +8 -2
  420. package/types/ngwr-spinner.d.ts +1 -1
  421. package/types/ngwr-splitter.d.ts +1 -1
  422. package/types/ngwr-spotlight-card.d.ts +1 -1
  423. package/types/ngwr-squircle.d.ts +1 -1
  424. package/types/ngwr-statistic.d.ts +75 -6
  425. package/types/ngwr-stepper.d.ts +2 -2
  426. package/types/ngwr-storage.d.ts +1 -1
  427. package/types/ngwr-switch.d.ts +24 -16
  428. package/types/ngwr-table.d.ts +417 -6
  429. package/types/ngwr-tabs.d.ts +1 -1
  430. package/types/ngwr-textarea.d.ts +45 -20
  431. package/types/ngwr-theme.d.ts +7 -2
  432. package/types/ngwr-tilt-card.d.ts +3 -0
  433. package/types/ngwr-timeline.d.ts +1 -1
  434. package/types/ngwr-toast.d.ts +8 -2
  435. package/types/ngwr-toolbar.d.ts +1 -1
  436. package/types/ngwr-tree.d.ts +100 -19
  437. package/types/ngwr-typography.d.ts +1 -1
  438. package/types/ngwr-validators.d.ts +4 -2
  439. package/types/ngwr-version.d.ts +1 -1
  440. package/types/ngwr-virtual-scroll.d.ts +1 -1
  441. package/types/ngwr-window.d.ts +1 -1
  442. package/typography/styles/_index.scss +11 -11
  443. package/virtual-scroll/styles/_index.scss +1 -1
  444. package/waves/styles/_index.scss +1 -1
  445. package/window/styles/_index.scss +26 -26
  446. package/fesm2022/ngwr-scramble-text.mjs +0 -165
  447. package/fesm2022/ngwr-scramble-text.mjs.map +0 -1
  448. package/scramble-text/scramble-text.scss +0 -1
  449. package/scramble-text/styles/_index.scss +0 -8
  450. package/types/ngwr-scramble-text.d.ts +0 -49
@@ -1,31 +1,39 @@
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 { FormCheckboxControl, FormValueControl } from '@angular/forms/signals';
4
4
 
5
5
  /**
6
6
  * Two-state checkbox.
7
7
  *
8
- * **Standalone mode** — boolean value, works as a `ControlValueAccessor`:
8
+ * A signal-forms native control: it implements `FormCheckboxControl`, so
9
+ * `[formField]` binds straight to its `checked` model — no
10
+ * `ControlValueAccessor` in between. `[(checked)]` works standalone, and
11
+ * classic `[(ngModel)]` / reactive forms keep working through Angular's bridge.
9
12
  *
10
13
  * @example
11
14
  * ```html
12
- * <wr-checkbox [(ngModel)]="agree">I agree</wr-checkbox>
15
+ * <wr-checkbox [(checked)]="agree">I agree</wr-checkbox>
16
+ * <wr-checkbox [formField]="form.agree">I agree</wr-checkbox>
13
17
  * ```
14
18
  *
15
- * **Inside `<wr-checkbox-group>`** — the checkbox's `value` is added to
16
- * or removed from the group's array. The standalone CVA is ignored.
19
+ * **Inside `<wr-checkbox-group>`** — the checkbox's `checkboxValue` is added to
20
+ * or removed from the group's array, and the group is the native form control.
21
+ * (The identity input is `checkboxValue`, not `value`, because
22
+ * `FormCheckboxControl` reserves `value` — its form state is the boolean
23
+ * `checked`.)
17
24
  *
18
25
  * @example
19
26
  * ```html
20
- * <wr-checkbox-group [(ngModel)]="features">
21
- * <wr-checkbox value="autosave">Autosave</wr-checkbox>
22
- * <wr-checkbox value="notifications">Notifications</wr-checkbox>
27
+ * <wr-checkbox-group [formField]="form.features">
28
+ * <wr-checkbox checkboxValue="autosave">Autosave</wr-checkbox>
29
+ * <wr-checkbox checkboxValue="notifications">Notifications</wr-checkbox>
23
30
  * </wr-checkbox-group>
24
31
  * ```
25
32
  *
26
- * @see https://ngwr.dev/components/checkbox
33
+ * @see https://ngwr.dev/reference/components/checkbox
27
34
  */
28
- declare class WrCheckbox implements ControlValueAccessor {
35
+ type WrCheckboxSize = 'sm' | 'md' | 'lg';
36
+ declare class WrCheckbox implements FormCheckboxControl {
29
37
  /**
30
38
  * Stable id used to associate the native input with its label.
31
39
  *
@@ -33,39 +41,53 @@ declare class WrCheckbox implements ControlValueAccessor {
33
41
  */
34
42
  readonly id: _angular_core.InputSignal<string>;
35
43
  /**
36
- * Per-checkbox value used only when inside a `<wr-checkbox-group>`.
37
- * Ignored in standalone mode.
44
+ * This checkbox's identity when inside a `<wr-checkbox-group>` — the value
45
+ * added to / removed from the group's array. Ignored in standalone mode.
46
+ * (Named `checkboxValue`, not `value`, because `FormCheckboxControl` reserves
47
+ * `value`.)
38
48
  */
39
- readonly value: _angular_core.InputSignal<unknown>;
49
+ readonly checkboxValue: _angular_core.InputSignal<unknown>;
40
50
  /**
41
- * Disable the checkbox. Also set automatically by Angular forms.
51
+ * Checked state — the form value. Bound by `[formField]`, two-way via
52
+ * `[(checked)]`, or `[(ngModel)]`. Ignored inside a `<wr-checkbox-group>`,
53
+ * where the group's array is the source of truth.
54
+ */
55
+ readonly checked: _angular_core.ModelSignal<boolean>;
56
+ /** Emitted on blur so a bound field can mark itself touched. */
57
+ readonly touch: _angular_core.OutputEmitterRef<void>;
58
+ /**
59
+ * Disable the checkbox. Bound automatically from the field's disabled state
60
+ * when used with `[formField]`.
42
61
  *
43
62
  * @default false
44
63
  */
45
64
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
65
+ /** Control size — shares the `--wr-control-*` contract. @default 'md' */
66
+ readonly size: _angular_core.InputSignal<WrCheckboxSize>;
46
67
  /**
47
68
  * Optional icon name rendered inside the box when checked, in place of the
48
69
  * default checkmark. Use any registered NGWR icon.
49
70
  */
50
71
  readonly icon: _angular_core.InputSignal<string | null>;
72
+ /**
73
+ * Show the indeterminate ("mixed") state — a dash instead of a check. Visual
74
+ * only and controlled: set it yourself for a parent "select all" whose
75
+ * children are partly checked, and clear it on the next toggle. Takes visual
76
+ * precedence over `checked`; the native input reports `aria-checked="mixed"`.
77
+ *
78
+ * @default false
79
+ */
80
+ readonly indeterminate: _angular_core.InputSignalWithTransform<boolean, any>;
51
81
  private readonly group;
52
- protected readonly standaloneChecked: _angular_core.WritableSignal<boolean>;
53
- protected readonly standaloneDisabledFromCva: _angular_core.WritableSignal<boolean>;
54
- /** Derived "is checked". Reads from group when grouped, else local state. */
55
- protected readonly checked: _angular_core.Signal<boolean>;
56
- /** Effective disabled — input wins, then group, then CVA. */
82
+ /** Rendered "is checked" — reads the group when grouped, else the `checked` model. */
83
+ protected readonly isChecked: _angular_core.Signal<boolean>;
84
+ /** Effective disabled — the `disabled` input wins, then the group. */
57
85
  protected readonly effectiveDisabled: _angular_core.Signal<boolean>;
58
86
  protected readonly classes: _angular_core.Signal<string>;
59
- private onChange;
60
- private onTouched;
61
- writeValue(value: boolean | null): void;
62
- registerOnChange(fn: (value: boolean) => void): void;
63
- registerOnTouched(fn: () => void): void;
64
- setDisabledState(isDisabled: boolean): void;
65
87
  protected onInputChange(event: Event): void;
66
88
  protected onInputBlur(): void;
67
89
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrCheckbox, never>;
68
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCheckbox, "wr-checkbox", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
90
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCheckbox, "wr-checkbox", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "checkboxValue": { "alias": "checkboxValue"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "touch": "touch"; }, never, ["*"], true, never>;
69
91
  }
70
92
 
71
93
  /**
@@ -100,40 +122,41 @@ declare const WR_CHECKBOX_GROUP: InjectionToken<WrCheckboxGroupContext>;
100
122
  * Manages a group of `<wr-checkbox>` children as a single form value
101
123
  * (an array of the checked items' `value` inputs).
102
124
  *
125
+ * A signal-forms native control: it implements `FormValueControl<unknown[]>`,
126
+ * so `[formField]` binds to its `value` model. `[(value)]` works standalone,
127
+ * and classic `[(ngModel)]` / reactive forms keep working through the bridge.
128
+ *
103
129
  * @example
104
130
  * ```html
105
- * <wr-checkbox-group [(ngModel)]="features">
106
- * <wr-checkbox value="autosave">Autosave</wr-checkbox>
107
- * <wr-checkbox value="notifications">Notifications</wr-checkbox>
108
- * <wr-checkbox value="darkmode">Dark mode</wr-checkbox>
131
+ * <wr-checkbox-group [formField]="form.features">
132
+ * <wr-checkbox checkboxValue="autosave">Autosave</wr-checkbox>
133
+ * <wr-checkbox checkboxValue="notifications">Notifications</wr-checkbox>
134
+ * <wr-checkbox checkboxValue="darkmode">Dark mode</wr-checkbox>
109
135
  * </wr-checkbox-group>
110
136
  * ```
111
137
  *
112
- * @see https://ngwr.dev/components/checkbox
138
+ * @see https://ngwr.dev/reference/components/checkbox
113
139
  */
114
- declare class WrCheckboxGroup implements ControlValueAccessor, WrCheckboxGroupContext {
140
+ declare class WrCheckboxGroup implements FormValueControl<unknown[]>, WrCheckboxGroupContext {
115
141
  /**
116
- * Disable every child checkbox. Also set by Angular forms via
117
- * `setDisabledState`.
142
+ * Disable every child checkbox. Bound automatically from the field's
143
+ * disabled state when used with `[formField]`.
118
144
  *
119
145
  * @default false
120
146
  */
121
147
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
148
+ /** The checked items' values. Bound by `[formField]`, or two-way via `[(value)]`. */
149
+ readonly value: _angular_core.ModelSignal<unknown[]>;
150
+ /** Emitted when a child toggles so a bound field can mark itself touched. */
151
+ readonly touch: _angular_core.OutputEmitterRef<void>;
122
152
  private readonly selected;
123
- private readonly disabledFromCva;
124
- /** Effective disabled state — input wins, CVA second. */
153
+ /** Effective disabled state (WrCheckboxGroupContext). */
125
154
  readonly isDisabled: _angular_core.Signal<boolean>;
126
- private onChange;
127
- private onTouched;
128
155
  isSelected(value: unknown): boolean;
129
156
  toggle(value: unknown): void;
130
- writeValue(value: unknown): void;
131
- registerOnChange(fn: (value: unknown[]) => void): void;
132
- registerOnTouched(fn: () => void): void;
133
- setDisabledState(isDisabled: boolean): void;
134
157
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrCheckboxGroup, never>;
135
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCheckboxGroup, "wr-checkbox-group", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
158
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCheckboxGroup, "wr-checkbox-group", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touch": "touch"; }, never, ["*"], true, never>;
136
159
  }
137
160
 
138
161
  export { WR_CHECKBOX_GROUP, WrCheckbox, WrCheckboxGroup };
139
- export type { WrCheckboxGroupContext };
162
+ export type { WrCheckboxGroupContext, WrCheckboxSize };
@@ -19,7 +19,12 @@ type WrClickSparkEasing = 'linear' | 'ease-in' | 'ease-in-out' | 'ease-out';
19
19
  * @see https://www.reactbits.dev/animations/click-spark
20
20
  */
21
21
  declare class WrClickSpark {
22
- /** Spark line colour. @default '#fff' */
22
+ /**
23
+ * Spark line colour. Accepts any CSS colour, or a `var(--wr-…)` token which is
24
+ * resolved against the host so it tracks the theme. The default flips with the
25
+ * theme — dark sparks in light mode, light sparks in dark.
26
+ * @default 'var(--wr-color-dark)'
27
+ */
23
28
  readonly sparkColor: _angular_core.InputSignal<string>;
24
29
  /** Length of each spark line in pixels (at t=0; tapers to 0 at t=1). @default 10 */
25
30
  readonly sparkSize: _angular_core.InputSignalWithTransform<number, unknown>;
@@ -41,6 +46,13 @@ declare class WrClickSpark {
41
46
  private sparks;
42
47
  constructor();
43
48
  protected onClick(event: MouseEvent): void;
49
+ /**
50
+ * Canvas `strokeStyle` can't read CSS custom properties, so a `var(--wr-…)`
51
+ * token is resolved against the host's computed style here. Plain colours
52
+ * pass through untouched. Falls back to a dark literal if the custom
53
+ * property resolves to nothing.
54
+ */
55
+ private resolveColor;
44
56
  private syncCanvasSize;
45
57
  private watchResize;
46
58
  private startLoop;
@@ -25,7 +25,7 @@ type WrClipboardPermission = 'granted' | 'denied' | 'prompt' | 'unsupported';
25
25
  * await clip.permission('write'); // 'granted' | 'denied' | 'prompt' | 'unsupported'
26
26
  * ```
27
27
  *
28
- * @see https://ngwr.dev/services/clipboard
28
+ * @see https://ngwr.dev/reference/services/clipboard
29
29
  */
30
30
  declare class WrClipboard {
31
31
  private readonly doc;
@@ -41,7 +41,18 @@ declare class WrClipboard {
41
41
  * when the user denied the permission prompt.
42
42
  */
43
43
  read(): Promise<string | null>;
44
- /** Probe the Permissions API for `clipboard-read` / `clipboard-write`. */
44
+ /**
45
+ * Report whether clipboard read / write is available and, when the
46
+ * browser exposes it, what the user has granted.
47
+ *
48
+ * The answer is grounded in the actual Clipboard API capability
49
+ * (`writeText` / `readText`), then refined by the Permissions API when
50
+ * it can speak for the requested name. `clipboard-read` / `clipboard-write`
51
+ * are not recognised everywhere — Firefox and Safari throw on the query —
52
+ * so a missing or throwing Permissions API is treated as "supported,
53
+ * will resolve at use time" (`'prompt'`), not `'unsupported'`. We only
54
+ * return `'unsupported'` when the capability genuinely isn't there.
55
+ */
45
56
  permission(name: 'read' | 'write'): Promise<WrClipboardPermission>;
46
57
  /** Hidden-textarea + `execCommand('copy')` write. Synchronous, no permissions. */
47
58
  private legacyWrite;
@@ -18,7 +18,7 @@ import { InjectionToken, Signal } from '@angular/core';
18
18
  * </wr-collapse-group>
19
19
  * ```
20
20
  *
21
- * @see https://ngwr.dev/components/collapse
21
+ * @see https://ngwr.dev/reference/components/collapse
22
22
  */
23
23
  declare class WrCollapse {
24
24
  /** Header text. */
@@ -89,7 +89,7 @@ interface Member$1 {
89
89
  * Visual + behavioral grouping of `<wr-collapse>` children. When
90
90
  * `accordion` is true, opening one child closes the others.
91
91
  *
92
- * @see https://ngwr.dev/components/collapse
92
+ * @see https://ngwr.dev/reference/components/collapse
93
93
  */
94
94
  declare class WrCollapseGroup implements WrCollapseGroupContext {
95
95
  /** When true, only one child may be open at a time. @default false */
@@ -122,7 +122,7 @@ interface Member {
122
122
  * </wr-accordion>
123
123
  * ```
124
124
  *
125
- * @see https://ngwr.dev/components/collapse
125
+ * @see https://ngwr.dev/reference/components/collapse
126
126
  */
127
127
  declare class WrAccordion implements WrCollapseGroupContext {
128
128
  /** Always behaves as an accordion. Provided for context-interface symmetry. */
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { ControlValueAccessor } from '@angular/forms';
2
+ import { FormValueControl } from '@angular/forms/signals';
3
3
  import { WrSegmentedOption } from 'ngwr/segmented';
4
4
 
5
5
  /**
@@ -169,33 +169,41 @@ type Tab = 'hex' | 'rgb' | 'hsl';
169
169
  type Edges = 'sv' | 'hue' | 'alpha';
170
170
  /**
171
171
  * Inline colour picker — HSV canvas, hue slider, optional alpha slider, HEX
172
- * input. Implements `ControlValueAccessor`, so it binds with `[(ngModel)]`,
173
- * `[formControl]`, or `formControlName`. Output is always a string in the
174
- * format chosen via `[format]`.
172
+ * input.
173
+ *
174
+ * A signal-forms native control: it implements `FormValueControl<string>`, so
175
+ * `[formField]` binds straight to its `value` model — no
176
+ * `ControlValueAccessor` in between. `[(value)]` works standalone. Output is
177
+ * always a hex string.
175
178
  *
176
179
  * @example
177
180
  * ```html
178
- * <wr-color-picker [(ngModel)]="brandColor" />
179
- * <wr-color-picker [(ngModel)]="brandColor" [alpha]="false" />
181
+ * <!-- signal forms -->
182
+ * <wr-color-picker [formField]="form.brandColor" />
183
+ *
184
+ * <!-- standalone two-way binding -->
185
+ * <wr-color-picker [(value)]="brandColor" [alpha]="false" />
180
186
  * ```
181
187
  *
182
- * @see https://ngwr.dev/components/color-picker
188
+ * @see https://ngwr.dev/reference/components/color-picker
183
189
  */
184
- declare class WrColorPicker implements ControlValueAccessor {
190
+ declare class WrColorPicker implements FormValueControl<string> {
185
191
  /** Render the alpha slider and emit 8-digit hex / `rgba()`. @default true */
186
192
  readonly alpha: _angular_core.InputSignalWithTransform<boolean, any>;
187
193
  /** Disable interaction. @default false */
188
194
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
189
- /** Output format produced through the CVA. @default 'hex' */
195
+ /** Output format produced by the control. @default 'hex' */
190
196
  readonly format: _angular_core.InputSignal<WrColorFormat>;
191
197
  /** Preset hex colours rendered as a clickable row beneath the inputs. Empty = no row. @default [] */
192
198
  readonly swatches: _angular_core.InputSignal<readonly string[]>;
199
+ /** The selected colour as a string. Bound by `[formField]`, or two-way via `[(value)]`. */
200
+ readonly value: _angular_core.ModelSignal<string>;
201
+ /** Emitted on blur so a bound field can mark itself touched. */
202
+ readonly touch: _angular_core.OutputEmitterRef<void>;
193
203
  protected readonly h: _angular_core.WritableSignal<number>;
194
204
  protected readonly s: _angular_core.WritableSignal<number>;
195
205
  protected readonly v: _angular_core.WritableSignal<number>;
196
206
  protected readonly a: _angular_core.WritableSignal<number>;
197
- private readonly disabledFromCva;
198
- protected readonly effectiveDisabled: _angular_core.Signal<boolean>;
199
207
  /** RGB view of the current colour, computed lazily. */
200
208
  protected readonly rgb: _angular_core.Signal<WrRgb>;
201
209
  /** Canonical hex (used by the input field and by drag emits). */
@@ -219,12 +227,9 @@ declare class WrColorPicker implements ControlValueAccessor {
219
227
  protected readonly alphaPercent: _angular_core.Signal<number>;
220
228
  protected readonly tabOptions: readonly WrSegmentedOption<Tab>[];
221
229
  protected readonly classes: _angular_core.Signal<string>;
222
- private onChange;
223
- private onTouched;
224
- writeValue(value: string | null): void;
225
- registerOnChange(fn: (value: string) => void): void;
226
- registerOnTouched(fn: () => void): void;
227
- setDisabledState(isDisabled: boolean): void;
230
+ /** Last hex we pushed into `value`; lets the sync effect ignore our own writes. */
231
+ private lastEmittedHex;
232
+ constructor();
228
233
  protected onPointerDown(event: PointerEvent, surface: Edges): void;
229
234
  private updateFromEvent;
230
235
  protected onHexInput(event: Event): void;
@@ -239,7 +244,7 @@ declare class WrColorPicker implements ControlValueAccessor {
239
244
  /** Push an RGB triple into the HSV source of truth (preserving the current alpha if the swap removes it). */
240
245
  private applyRgb;
241
246
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrColorPicker, never>;
242
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrColorPicker, "wr-color-picker", never, { "alpha": { "alias": "alpha"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "swatches": { "alias": "swatches"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
247
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrColorPicker, "wr-color-picker", never, { "alpha": { "alias": "alpha"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "swatches": { "alias": "swatches"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touch": "touch"; }, never, never, true, never>;
243
248
  }
244
249
 
245
250
  /**
@@ -262,7 +267,7 @@ declare class WrColorPicker implements ControlValueAccessor {
262
267
  * </button>
263
268
  * ```
264
269
  *
265
- * @see https://ngwr.dev/components/color-picker
270
+ * @see https://ngwr.dev/reference/components/color-picker
266
271
  */
267
272
  declare class WrColorPickerTrigger {
268
273
  /** Two-way bindable colour value (hex string). */
@@ -53,7 +53,7 @@ interface Bucket {
53
53
  * <wr-command-palette [items]="commands" trigger="mod+k" (picked)="onPicked($event)" />
54
54
  * ```
55
55
  *
56
- * @see https://ngwr.dev/components/command-palette
56
+ * @see https://ngwr.dev/reference/components/command-palette
57
57
  */
58
58
  declare class WrCommandPalette {
59
59
  /** Items shown in the palette. */
@@ -19,7 +19,7 @@ import * as _angular_core from '@angular/core';
19
19
  * </wr-compare>
20
20
  * ```
21
21
  *
22
- * @see https://ngwr.dev/components/compare
22
+ * @see https://ngwr.dev/reference/components/compare
23
23
  */
24
24
  declare class WrCompare {
25
25
  /** Divider position as a percentage (0–100). Two-way bindable. @default 50 */
@@ -24,9 +24,9 @@ declare class WrContextMenuPanel {
24
24
 
25
25
  /**
26
26
  * Attach to any element to show a `<wr-context-menu>` at the pointer
27
- * position when the user right-clicks, long-presses on touch, or otherwise
28
- * sends a `contextmenu` event (Shift+F10, etc.). The native browser menu is
29
- * suppressed for the host element.
27
+ * position when the user right-clicks or otherwise sends a `contextmenu`
28
+ * event (Shift+F10, etc.). The native browser menu is suppressed for the
29
+ * host element.
30
30
  *
31
31
  * @example
32
32
  * ```html
@@ -37,7 +37,7 @@ declare class WrContextMenuPanel {
37
37
  * </wr-context-menu>
38
38
  * ```
39
39
  *
40
- * @see https://ngwr.dev/components/context-menu
40
+ * @see https://ngwr.dev/reference/components/context-menu
41
41
  */
42
42
  declare class WrContextMenu {
43
43
  /** Menu to open. Pass a `<wr-context-menu>` template reference. */
@@ -50,6 +50,13 @@ declare class WrContextMenu {
50
50
  private overlayRef;
51
51
  private closingTimer;
52
52
  private leaveTimer;
53
+ private pressTimer;
54
+ private pressX;
55
+ private pressY;
56
+ private pressPageX;
57
+ private pressPageY;
58
+ private lastLongPressAt;
59
+ private cancelPressScroll;
53
60
  /**
54
61
  * Single open root menu at a time. Submenu items use this to signal
55
62
  * chain-level hover state: when the cursor enters ANY pane in the
@@ -64,6 +71,13 @@ declare class WrContextMenu {
64
71
  static keepChainAlive(): void;
65
72
  /** Called from a submenu pane's mouseleave when the cursor left ALL menus. */
66
73
  static scheduleChainClose(): void;
74
+ /**
75
+ * Called from a `<wr-context-menu-item>` click — selecting an item
76
+ * dismisses the whole chain (root + any open submenus). Items live in
77
+ * a detached overlay portal, so they reach their owning root through
78
+ * this static handle rather than DI.
79
+ */
80
+ static closeActive(): void;
67
81
  /**
68
82
  * Open/close animation duration in ms. Matches the longest SCSS
69
83
  * transition on `.wr-context-menu-overlay` (the spring-scale curve).
@@ -79,31 +93,26 @@ declare class WrContextMenu {
79
93
  * on a deliberate hover-out.
80
94
  */
81
95
  private static readonly LEAVE_DELAY;
82
- /** Hold duration (ms) before a stationary touch press opens the menu. */
96
+ /** Hold duration before a touch long-press opens the menu. */
83
97
  private static readonly LONG_PRESS_MS;
84
- /** Movement (px) that reclassifies a press as a scroll and cancels it. */
85
- private static readonly LONG_PRESS_MOVE_TOLERANCE;
86
- private longPressTimer;
87
- private touchStartX;
88
- private touchStartY;
89
- private longPressFired;
90
- private suppressContextMenuUntil;
98
+ /** Finger travel (px) that turns a pending long-press into a scroll/drag. */
99
+ private static readonly PRESS_MOVE_TOLERANCE;
91
100
  constructor();
92
101
  /** @internal Right-click handler — opens at the pointer (or re-positions if already open). */
93
102
  protected onContextMenu(event: MouseEvent): void;
94
103
  /**
95
- * @internal Touch long-press → open the menu. Native `contextmenu` is
96
- * unreliable on touch (iOS doesn't fire it, Android's timing varies), so we
97
- * detect the press ourselves: a stationary hold for `LONG_PRESS_MS` opens
98
- * the menu at the touch point; moving the finger reclassifies it as a
99
- * scroll and cancels.
104
+ * @internal Touch/pen long-press → open the menu at the press point. Desktop
105
+ * right-click stays on `(contextmenu)`; this path is filtered to non-mouse
106
+ * pointers. Deliberately does NOT `preventDefault`/`setPointerCapture` or set
107
+ * `touch-action` — a press that turns into a scroll must still scroll, so the
108
+ * open is cancelled on movement (> tolerance), on scroll, and on early lift.
100
109
  */
101
- protected onTouchStart(event: TouchEvent): void;
102
- /** @internal Cancel a pending long-press once the finger travels (a scroll). */
103
- protected onTouchMove(event: TouchEvent): void;
104
- /** @internal Release — drop a pending press; swallow the synthetic click a fired press would emit. */
105
- protected onTouchEnd(event: TouchEvent): void;
106
- private clearLongPress;
110
+ protected onPointerDown(event: PointerEvent): void;
111
+ /** @internal Finger moved too far before the hold fired — it's a scroll/drag. */
112
+ protected onPointerMove(event: PointerEvent): void;
113
+ /** @internal Lifted (or the browser claimed the gesture) before the hold fired. */
114
+ protected onPointerUp(): void;
115
+ private cancelPress;
107
116
  /** Close the menu. */
108
117
  close(): void;
109
118
  private openOverlay;
@@ -168,6 +177,16 @@ declare class WrContextMenuItem {
168
177
  */
169
178
  static disposeAll(immediate: boolean): void;
170
179
  constructor();
180
+ /**
181
+ * @internal Pointer activation — selecting a leaf item dismisses the
182
+ * whole menu chain. The consumer's own `(click)` binding on the host
183
+ * runs in the same event; we defer the close to a microtask so that
184
+ * handler (the actual "select") always completes before the overlay
185
+ * tears down, regardless of listener registration order. Items that
186
+ * own a submenu (or are disabled) don't dismiss — clicking them just
187
+ * drills into / ignores the row.
188
+ */
189
+ protected onClick(): void;
171
190
  /** @internal Keyboard activation — Enter / Space. */
172
191
  protected activate(event: Event): void;
173
192
  /** @internal Right-arrow opens the submenu. */
@@ -36,10 +36,16 @@ interface WrCookieOptions {
36
36
  * cookies.keys(); // readonly string[]
37
37
  * ```
38
38
  *
39
- * @see https://ngwr.dev/services/cookie
39
+ * @see https://ngwr.dev/reference/services/cookie
40
40
  */
41
41
  declare class WrCookie {
42
42
  private readonly doc;
43
+ /**
44
+ * `document.cookie`, or `''` when it cannot be read. Mirrors the guard on
45
+ * `set()`: under SSR the server DOM has no cookie support and throws on the
46
+ * getter, and sandboxed iframes reject access too.
47
+ */
48
+ private read;
43
49
  /** Is `key` present (regardless of value)? */
44
50
  has(key: string): boolean;
45
51
  /** Read `key`. Returns `fallback` (default `null`) when the key is missing. */
@@ -46,7 +46,7 @@ type Cell = {
46
46
  * <wr-counter [value]="9.99" mode="tween" [decimals]="2" prefix="$" />
47
47
  * ```
48
48
  *
49
- * @see https://ngwr.dev/components/counter
49
+ * @see https://ngwr.dev/reference/components/counter
50
50
  */
51
51
  declare class WrCounter {
52
52
  /** Target value. */
@@ -71,6 +71,13 @@ declare class WrCounter {
71
71
  private rafId;
72
72
  /** Tween-mode formatted output. */
73
73
  protected readonly tweenText: _angular_core.Signal<string>;
74
+ /**
75
+ * Odometer-mode text for assistive tech and prerendered output. The strip
76
+ * renders every digit 0-9 per column and picks one with a transform, so its
77
+ * markup carries no usable text — screen readers would announce all ten, and
78
+ * static HTML would ship the same noise. This node holds the real value.
79
+ */
80
+ protected readonly odoText: _angular_core.Signal<string>;
74
81
  /** Odometer cells — one per character in the formatted target string. */
75
82
  protected readonly cells: _angular_core.Signal<readonly Cell[]>;
76
83
  constructor();
@@ -106,7 +113,7 @@ declare class WrCounter {
106
113
  * <wr-count-up [from]="60" [to]="0" direction="down" />
107
114
  * ```
108
115
  *
109
- * @see https://ngwr.dev/components/counter
116
+ * @see https://ngwr.dev/reference/components/counter
110
117
  */
111
118
  declare class WrCountUp {
112
119
  /** Starting value. @default 0 */