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
package/llms-full.txt CHANGED
@@ -4,16 +4,23 @@
4
4
  > selector(s), public exports, and description. For exact input / output
5
5
  > signatures read the bundled `.d.ts` types. Concise quick-ref: /llms.txt
6
6
 
7
+ ## ngwr/action-sheet
8
+ - import: `import { WrActionSheet } from 'ngwr/action-sheet'`
9
+ - selector: `wr-action-sheet`
10
+ - exports: WrActionSheet, WrActionSheetAction
11
+ - An iOS-style bottom sheet of choices — a data-driven preset over the drawer, with destructive and cancel roles.
12
+
7
13
  ## ngwr/affix
8
14
  - import: `import { WrAffix } from 'ngwr/affix'`
9
15
  - selector: `[wrAffix]`
10
16
  - exports: WrAffix
17
+ - Stick-on-scroll directive. Combines native CSS `position: sticky` with an `IntersectionObserver` sentinel that toggles a `wr-affix--active` class while pinned — so you can style the stuck state (shadow, background, shrink) without a scroll listener.
11
18
 
12
19
  ## ngwr/alert
13
20
  - import: `import { WrAlert } from 'ngwr/alert'`
14
21
  - selector: `wr-alert`
15
22
  - exports: WrAlert, WrAlertType
16
- - Inline status banner — info, success, warning, danger.
23
+ - Inline status banner — info, success, warning, danger, neutral, offline.
17
24
 
18
25
  ## ngwr/anchor
19
26
  - import: `import { WrAnchor } from 'ngwr/anchor'`
@@ -105,13 +112,13 @@
105
112
  ## ngwr/cascader
106
113
  - import: `import { WrCascader } from 'ngwr/cascader'`
107
114
  - selector: `wr-cascader`
108
- - exports: WrCascader, type WrCascaderOption
115
+ - exports: WrCascader, type WrCascaderOption, type WrCascaderSize
109
116
  - Multi-level select. Drills through hierarchical categories one column at a time; picking a leaf commits the full path. Implements `ControlValueAccessor` — model is `readonly T[]`.
110
117
 
111
118
  ## ngwr/checkbox
112
119
  - import: `import { WrCheckbox } from 'ngwr/checkbox'`
113
120
  - selector: `wr-checkbox-group`, `wr-checkbox`
114
- - exports: WrCheckbox, WrCheckboxGroup, WR_CHECKBOX_GROUP, type WrCheckboxGroupContext
121
+ - exports: WrCheckbox, WrCheckboxSize, WrCheckboxGroup, WR_CHECKBOX_GROUP, type WrCheckboxGroupContext
115
122
  - Two-state checkbox. Standalone (boolean) or inside <wr-checkbox-group> (array of values).
116
123
 
117
124
  ## ngwr/circular-text
@@ -127,6 +134,7 @@
127
134
  ## ngwr/clipboard
128
135
  - import: `import { WrClipboard } from 'ngwr/clipboard'`
129
136
  - exports: WrClipboard, type WrClipboardPermission
137
+ - Programmatic clipboard read and write. Uses `navigator.clipboard.writeText` when available, with a hidden-textarea + `execCommand` fallback for non-secure contexts.
130
138
 
131
139
  ## ngwr/collapse
132
140
  - import: `import { WrCollapse } from 'ngwr/collapse'`
@@ -160,11 +168,12 @@
160
168
  - import: `import { WrContextMenu } from 'ngwr/context-menu'`
161
169
  - selector: `wr-context-menu-divider`, `wr-context-menu-item`, `wr-context-menu`, `[wrContextMenu]`
162
170
  - exports: WrContextMenu, WrContextMenuPanel, WrContextMenuItem, WrContextMenuDivider
163
- - Attach `[wrContextMenu]` to any element to open a `<wr-context-menu>` at the pointer position on right-click — or a long-press on touch. Native browser menu is suppressed on the host.
171
+ - Attach `[wrContextMenu]` to any element to open a `<wr-context-menu>` at the pointer position on right-click. Native browser menu is suppressed on the host.
164
172
 
165
173
  ## ngwr/cookie
166
174
  - import: `import { WrCookie } from 'ngwr/cookie'`
167
175
  - exports: WrCookie, type WrCookieOptions
176
+ - Thin, SSR-safe `document.cookie` wrapper modelled after `WrStorage`. Read, write, delete, and list cookies — with typed options for expiry, path, domain, secure, and SameSite.
168
177
 
169
178
  ## ngwr/counter
170
179
  - import: `import { WrCounter } from 'ngwr/counter'`
@@ -199,6 +208,7 @@
199
208
  - import: `import { WrDensity } from 'ngwr/density'`
200
209
  - selector: `[wrDensity]`
201
210
  - exports: WrDensity, WrDensityDirective, provideWrDensity, WR_DENSITY_CONFIG, DEFAULT_WR_DENSITY_CONFIG, type WrDensityValue, type WrDensityConfig
211
+ - Density scale — `compact` / `default` / `comfortable` / `touch` — applied as CSS-variable multipliers on per-component paddings. `touch` enlarges hit areas for finger input. Persisted via WrStorage and overrideable per-subtree with the `[wrDensity]` directive.
202
212
 
203
213
  ## ngwr/descriptions
204
214
  - import: `import { WrDescriptions } from 'ngwr/descriptions'`
@@ -213,8 +223,8 @@
213
223
 
214
224
  ## ngwr/directives
215
225
  - import: `import { WrAutofocus } from 'ngwr/directives'`
216
- - selector: `[wrAutofocus]`, `textarea[wrAutosize]`, `[wrClickOutside]`, `[wrCopyToClipboard]`, `[wrReveal]`
217
- - exports: WrAutofocus, WrAutosize, WrClickOutside, WrCopyToClipboard, WrReveal
226
+ - selector: `[wrAutofocus]`, `textarea[wrAutosize]`, `[wrClickOutside]`, `[wrCopyToClipboard]`
227
+ - exports: WrAutofocus, WrAutosize, WrClickOutside, WrCopyToClipboard
218
228
 
219
229
  ## ngwr/divider
220
230
  - import: `import { WrDivider } from 'ngwr/divider'`
@@ -294,11 +304,13 @@
294
304
  - import: `import { WrHotkey } from 'ngwr/hotkey'`
295
305
  - selector: `[wrHotkey]`
296
306
  - exports: WrHotkey, WrHotkeyBinding, parseHotkeySpec, matchesHotkey, type WrParsedHotkey, WrHotkeyHandle, WrHotkeyOptions, WrHotkeySpec
307
+ - Raw `keydown` listeners need platform-aware modifier mapping (⌘ vs Ctrl), input-field exclusion, and teardown. `WrHotkey` registers a declarative combo and cleans up with the host's `DestroyRef`.
297
308
 
298
309
  ## ngwr/i18n
299
310
  - import: `import { WrI18n } from 'ngwr/i18n'`
300
311
  - selector: `[wrT]`
301
312
  - exports: WrI18n, WrTPipe, WrTDirective, WR_I18N_CONFIG, DEFAULT_WR_I18N_CONFIG, type WrI18nCatalog, type WrI18nConfig, type WrI18nConfigResolved, type WrI18nParams, type WrI18nMissingHandler, WR_I18N_LOADER, type WrI18nLoader, WrI18nStaticLoader, type WrI18nStaticCatalogs, type WrI18nStaticScopedCatalogs, WrI18nHttpLoader, type WrI18nHttpLoaderConfig, provideWrI18n, provideWrI18nStaticLoader, provideWrI18nHttpLoader, type ProvideWrI18nOptions, useI18nText, readI18nText, useI18nFormatter
313
+ - Reactive i18n service. Active locale lives on a signal, catalogs load lazily through a swappable loader (HTTP or static), and double-brace placeholders interpolate at render time. Scopes let feature modules ship and load their own catalogs.
302
314
 
303
315
  ## ngwr/icon
304
316
  - import: `import { WrIcon } from 'ngwr/icon'`
@@ -315,7 +327,7 @@
315
327
  ## ngwr/input
316
328
  - import: `import { WrInput } from 'ngwr/input'`
317
329
  - selector: `wr-input-group`, `wr-password-toggle`
318
- - exports: WrInput, WrInputPrefix, WrInputSuffix, WrInputGroup, WrPasswordToggle, WrInputType
330
+ - exports: WrInput, WrInputPrefix, WrInputSuffix, WrInputGroup, WrPasswordToggle, WrInputType, WrInputSize
319
331
  - Attribute directive applied to a native `<input>` (or `<textarea>`). Because the styling lives on the real input, third-party directives like `ngx-mask`, custom validators, and `[(ngModel)]` compose naturally on the same element.
320
332
 
321
333
  ## ngwr/input-number
@@ -327,7 +339,7 @@
327
339
  ## ngwr/input-otp
328
340
  - import: `import { WrInputOtp } from 'ngwr/input-otp'`
329
341
  - selector: `wr-input-otp`
330
- - exports: WrInputOtp, WrInputOtpMode
342
+ - exports: WrInputOtp, WrInputOtpMode, WrInputOtpSize
331
343
  - Fixed-length one-time-code input. One cell per character, auto-advances focus on typing, handles paste of a full code, optional masking like a password field.
332
344
 
333
345
  ## ngwr/keyboard
@@ -370,6 +382,7 @@
370
382
  - import: `import { WrLoadingBar } from 'ngwr/loading-bar'`
371
383
  - selector: `wr-loading-bar`
372
384
  - exports: WrLoadingBar, type WrLoadingState, WrLoadingBarComponent
385
+ - Top-of-page progress bar driven by router navigations out of the box, plus a manual `start()` / `complete()` slot API for HTTP interceptors or any long-running task.
373
386
 
374
387
  ## ngwr/marquee
375
388
  - import: `import { WrMarquee } from 'ngwr/marquee'`
@@ -379,6 +392,7 @@
379
392
  ## ngwr/media
380
393
  - import: `import { WrMedia } from 'ngwr/media'`
381
394
  - exports: WrMedia, provideWrMedia, WR_BREAKPOINTS, DEFAULT_WR_BREAKPOINTS, WrBreakpoint, WrBreakpointMap
395
+ - Signal-backed viewport queries. Named breakpoints mirror `_breakpoints.scss`; raw matchMedia strings work too.
382
396
 
383
397
  ## ngwr/mention
384
398
  - import: `import { WrMention } from 'ngwr/mention'`
@@ -390,6 +404,7 @@
390
404
  - import: `import { WrMeta } from 'ngwr/meta'`
391
405
  - selector: `[wrMeta]`
392
406
  - exports: WrMeta, WrMetaBinding, provideWrMeta, WR_META_DEFAULTS, WrMetaConfig, WrMetaHandle, WrMetaOg, WrMetaTwitter
407
+ - Centralised `<head>` manager — title, description, keywords, canonical, Open Graph and Twitter Card. Stack-based push/pop so route overrides auto-revert.
393
408
 
394
409
  ## ngwr/meter-group
395
410
  - import: `import { WrMeterGroup } from 'ngwr/meter-group'`
@@ -419,7 +434,8 @@
419
434
 
420
435
  ## ngwr/platform
421
436
  - import: `import { WrPlatform } from 'ngwr/platform'`
422
- - exports: WrPlatform
437
+ - exports: WrPlatform, WrVisualViewport, WrHaptics, type WrHapticImpact
438
+ - SSR-safe environment probes. Use to gate browser-only code paths and react to user preferences.
423
439
 
424
440
  ## ngwr/popconfirm
425
441
  - import: `import { WrPopconfirm } from 'ngwr/popconfirm'`
@@ -438,6 +454,12 @@
438
454
  - exports: WrProgress
439
455
  - Horizontal progress bar with theme colors and an animated fill.
440
456
 
457
+ ## ngwr/pull-to-refresh
458
+ - import: `import { WrPullToRefresh } from 'ngwr/pull-to-refresh'`
459
+ - selector: `wr-pull-to-refresh`
460
+ - exports: WrPullToRefresh
461
+ - Drag down from the top of a scrollable area to trigger a refresh — a touch gesture that lives beside native scrolling.
462
+
441
463
  ## ngwr/qr
442
464
  - import: `import { WrQr } from 'ngwr/qr'`
443
465
  - selector: `wr-qr`
@@ -447,13 +469,13 @@
447
469
  ## ngwr/radio
448
470
  - import: `import { WrRadio } from 'ngwr/radio'`
449
471
  - selector: `wr-radio-group`, `wr-radio`
450
- - exports: WrRadio, WrRadioGroup, WR_RADIO_GROUP, type WrRadioGroupContext
472
+ - exports: WrRadio, WrRadioSize, WrRadioGroup, WR_RADIO_GROUP, type WrRadioGroupContext
451
473
  - Single-choice option. Always used inside <wr-radio-group>, which implements ControlValueAccessor.
452
474
 
453
475
  ## ngwr/rating
454
476
  - import: `import { WrRating } from 'ngwr/rating'`
455
477
  - selector: `wr-rating`
456
- - exports: WrRating
478
+ - exports: WrRating, WrRatingSize
457
479
  - Star rating input with whole or half-step granularity. Value type is `number | null` (clamped to `[0, count]`). Keyboard: arrows step by `step`, Home / End jump to 0 / max, Delete / Backspace clears.
458
480
 
459
481
  ## ngwr/result
@@ -467,25 +489,21 @@
467
489
  - selector: `wr-rotating-text`
468
490
  - exports: WrRotatingText, type WrRotatingTextSplit, type WrRotatingTextStaggerFrom
469
491
 
470
- ## ngwr/scramble-text
471
- - import: `import { WrScrambleText } from 'ngwr/scramble-text'`
472
- - selector: `wr-scramble-text`
473
- - exports: WrScrambleText
474
-
475
492
  ## ngwr/scroll
476
493
  - import: `import { WrScroll } from 'ngwr/scroll'`
477
494
  - exports: WrScroll, WrScrollTarget, WrScrollOptions
495
+ - Smooth-scroll utility. Resolves elements / ids / selectors / coords; subtracts an `offset` for sticky headers; auto-falls back to instant scrolling when the user has `prefers-reduced-motion: reduce`.
478
496
 
479
497
  ## ngwr/segmented
480
498
  - import: `import { WrSegmented } from 'ngwr/segmented'`
481
499
  - selector: `wr-segmented`
482
- - exports: WrSegmented, WrSegmentedOption
500
+ - exports: WrSegmented, WrSegmentedOption, WrSegmentedSize
483
501
  - Single-choice picker rendered as a segmented control. Two-way binds the selected value.
484
502
 
485
503
  ## ngwr/select
486
504
  - import: `import { WrSelect } from 'ngwr/select'`
487
505
  - selector: `wr-option-group`, `wr-option`, `wr-select`
488
- - exports: WrSelect, WrOption, WrOptionGroup, WR_SELECT, type WrSelectContext, WrSelectMode, WrSelectSearchLoader, WrSelectTagValidator
506
+ - exports: WrSelect, WrOption, WrOptionGroup, WR_SELECT, type WrSelectContext, WrSelectMode, WrSelectSearchLoader, WrSelectTagValidator, WrSelectSize
489
507
  - Native-like select built on CDK Overlay. Implements ControlValueAccessor.
490
508
 
491
509
  ## ngwr/shiny-text
@@ -563,8 +581,8 @@
563
581
 
564
582
  ## ngwr/statistic
565
583
  - import: `import { WrStatistic } from 'ngwr/statistic'`
566
- - selector: `wr-statistic-countdown`, `wr-statistic`
567
- - exports: WrStatistic, WrStatisticCountdown
584
+ - selector: `wr-statistic-countdown`, `wr-statistic-group`, `wr-statistic`
585
+ - exports: WrStatistic, WrStatisticCountdown, WrStatisticGroup
568
586
  - KPI card — label + big number + optional prefix / suffix + delta.
569
587
 
570
588
  ## ngwr/stepper
@@ -576,17 +594,18 @@
576
594
  ## ngwr/storage
577
595
  - import: `import { WrStorage } from 'ngwr/storage'`
578
596
  - exports: WrStorage, provideWrStorage, type ProvideWrStorageOptions, WR_STORAGE_CONFIG, DEFAULT_WR_STORAGE_CONFIG, type WrStorageConfig, type WrStorageConfigResolved, WR_STORAGE_ENGINE, createMemoryStorage, type WrStorageEngine
597
+ - Reactive key/value storage on top of any `Storage`-compatible engine. Swap the engine through DI (defaults to `localStorage` with an in-memory SSR / private-mode fallback). Built-in prefixing, TTL, and signal-based `watch()` for local + cross-tab updates.
579
598
 
580
599
  ## ngwr/switch
581
600
  - import: `import { WrSwitch } from 'ngwr/switch'`
582
601
  - selector: `wr-switch`
583
- - exports: WrSwitch
602
+ - exports: WrSwitch, WrSwitchSize
584
603
  - Boolean toggle with an iOS-style slider. Implements ControlValueAccessor.
585
604
 
586
605
  ## ngwr/table
587
606
  - import: `import { WrTable } from 'ngwr/table'`
588
- - selector: `[wrTableCell]`, `wr-table-filter`, `wr-table-sort`, `wr-table`
589
- - exports: WrTable, WrTableCell, WrTableSort, WrTableFilter, WrTableCellContext, WrTableColumn, WrTableColumns, WrTableFilterChange, WrTableFilterItem, WrTableSortState, WrTableSortDirection
607
+ - selector: `[wrTableCell]`, `ng-template[wrTableExpand]`, `wr-table-filter`, `ng-template[wrTableGroupHeader]`, `wr-table-sort`, `wr-table`
608
+ - exports: WrTable, WrTableCell, WrTableExpand, WrTableGroupHeader, WrTableSort, WrTableFilter, WrTableCellContext, WrTableColumn, WrTableColumns, WrTableCsvOptions, WrTableExpandContext, WrTableFilterChange, WrTableFilterItem, WrTableGroupContext, WrTableSortState, WrTableSortDirection, WrTableSummary
590
609
  - Data table with sortable / filterable headers and custom cell templates.
591
610
 
592
611
  ## ngwr/tabs
@@ -598,12 +617,13 @@
598
617
  ## ngwr/textarea
599
618
  - import: `import { WrTextarea } from 'ngwr/textarea'`
600
619
  - selector: `wr-textarea`
601
- - exports: WrTextarea
620
+ - exports: WrTextarea, WrTextareaSize, WrTextareaResize
602
621
  - Multi-line text input. Implements ControlValueAccessor. Optional autosize.
603
622
 
604
623
  ## ngwr/theme
605
624
  - import: `import { WR_COLORS } from 'ngwr/theme'`
606
625
  - exports: WR_COLORS, WrColor, WrTheme, provideWrTheme, WR_THEME_CONFIG, DEFAULT_WR_THEME_CONFIG, type WrResolvedTheme, type WrThemeMode, type WrThemeConfig
626
+ - Light / dark theme manager. Writes `[data-theme]` on `<html>`, persists the chosen mode to localStorage. `auto` mode follows `WrPlatform.prefersDark`.
607
627
 
608
628
  ## ngwr/tilt-card
609
629
  - import: `import { WrTiltCard } from 'ngwr/tilt-card'`
@@ -643,6 +663,7 @@
643
663
  - import: `import { WrTypography } from 'ngwr/typography'`
644
664
  - selector: `[wrTypography]`
645
665
  - exports: WrTypography, WrTypographyVariant, WrTypographyAlign, WrTypographyTone
666
+ - One directive covering every text role. It sets no element of its own — put it on the `<p>`, `<h1>`, `<code>` or `<ul>` you already have, pick a variant, and it applies the shared `--wr-text-*` / `--wr-font-weight-*` / `--wr-leading-*` tokens by binding a class.
646
667
 
647
668
  ## ngwr/utils
648
669
  - import: `import { Maybe } from 'ngwr/utils'`
package/llms.txt CHANGED
@@ -1,19 +1,20 @@
1
1
  # ngwr
2
2
 
3
3
  > Angular UI library — standalone, signals-first, zoneless, fully tree-shakable.
4
- > ~124 components built on `@angular/cdk` primitives. The only runtime dependency
5
- > is `tslib`. Docs and live demos: https://ngwr.dev — source:
6
- > https://github.com/thekhegay/ngwr
4
+ > 127 entry points — 105 of them components and directives — built on
5
+ > `@angular/cdk` primitives. The only runtime dependency is `tslib`. Docs and
6
+ > live demos: https://ngwr.dev — source: https://github.com/thekhegay/ngwr
7
7
 
8
8
  This file orients AI agents and LLMs that consume ngwr. For exact, current
9
- component APIs, read the bundled TypeScript types (`node_modules/ngwr/<name>`).
10
- Note: **ngwr.dev is a single-page app** — fetching its routes returns a JS shell,
11
- not text. Use the machine-readable resources listed at the bottom instead.
9
+ component APIs, read the bundled TypeScript types
10
+ (`node_modules/ngwr/types/ngwr-<name>.d.ts`). Note: **ngwr.dev is a single-page
11
+ app** — fetching its routes returns a JS shell, not text. Use the
12
+ machine-readable resources listed at the bottom instead.
12
13
 
13
14
  ## Install
14
15
 
15
- Preferred — the schematic installs ngwr, wires the providers + styles, and
16
- prints a tailored bootstrap snippet:
16
+ Preferred — the schematic installs ngwr + its peers, adds `@use 'ngwr'` to your
17
+ global styles, and prints a tailored provider snippet to paste into bootstrap:
17
18
 
18
19
  ```
19
20
  ng add ngwr
@@ -25,6 +26,10 @@ Or add it manually (pnpm / npm / yarn):
25
26
  pnpm add ngwr @angular/cdk
26
27
  ```
27
28
 
29
+ Requires Angular / CDK `>= 22.0.0` (peers: `@angular/cdk`, `@angular/common`,
30
+ `@angular/core`, `@angular/platform-browser`, `rxjs ^7`; optional `date-fns` /
31
+ `luxon` / `lucide`).
32
+
28
33
  Each component is a tree-shakable subpath import: `import { WrButton } from
29
34
  'ngwr/button'`. Styles: `@use 'ngwr'` (everything) or `@use 'ngwr/<name>'` (per
30
35
  component) in your global SCSS.
@@ -33,8 +38,13 @@ component) in your global SCSS.
33
38
 
34
39
  Add from their entry points as needed:
35
40
 
36
- - `provideWrOverlay()` — required for any overlay (dialog / select / dropdown /
37
- popover / toast / drawer). Add `provideWrResponsiveOverlays()` for mobile sheets.
41
+ - `provideWrOverlay()` — strongly recommended for any overlay (dialog / select /
42
+ dropdown / popover / toast / drawer): gives ngwr its own CDK overlay container
43
+ so it never collides with other CDK consumers, and installs the visual-viewport
44
+ tracker mobile sheets need to clear the on-screen keyboard. Without it overlays
45
+ still work, falling back to CDK's shared root container — but
46
+ `--wr-keyboard-inset` stays 0 and sheets won't lift above the keyboard. Add
47
+ `provideWrResponsiveOverlays()` for mobile sheets.
38
48
  - `provideWrIcons(lucideIcons({ check: Check }))` — icon registry (`ngwr/icon`,
39
49
  adapters under `ngwr/icon/adapters/*`).
40
50
  - `provideWrTheme()` — `--wr-*` design tokens. `provideWrDensity()` — sizing.
@@ -59,48 +69,54 @@ Add from their entry points as needed:
59
69
  The catalog is large: prefer an ngwr component, util, pipe, or validator over raw
60
70
  markup, custom logic, or another library. e.g. use `wr-file-upload`, not a bare
61
71
  `<input type="file">`; reach for `ngwr/utils`, `ngwr/pipes`, `ngwr/validators`
62
- before writing your own. Full catalog: https://ngwr.dev/components.
72
+ before writing your own. Full catalog: https://ngwr.dev/reference/components.
63
73
 
64
74
  ## Common components (selector — import)
65
75
 
66
76
  - **Form** — `wr-btn` (ngwr/button), `wrInput` (ngwr/input), `wr-select`
67
- (ngwr/select; modes single/multi/search/tag), `wr-checkbox`, `wr-switch`,
68
- `wr-slider`, `wr-input-number`, `wr-input-otp`, `wr-date-picker`
69
- (date/time/datetime), `wr-file-upload`, `wr-form-field`, `wr-color-picker`.
70
- - **Data** — `wr-table`, `wr-pagination`, `wr-tree`, `wr-virtual-scroll`,
71
- `wr-sortable-list` (drag-to-reorder).
72
- - **Feedback** — `wr-alert`, `wr-toast`, `wr-result`, `wr-empty`, `wr-skeleton`,
77
+ (ngwr/select; modes single/multi/search/tag), `wr-checkbox` (form state is
78
+ `[(checked)]`; inside `<wr-checkbox-group>` the identity input is
79
+ `checkboxValue`, NOT `value`), `wr-switch`, `wr-slider`, `wr-input-number`,
80
+ `wr-input-otp`, `wr-date-picker` (date/time/datetime), `wr-file-upload`,
81
+ `wr-form-field`, `wr-color-picker`.
82
+ - **Data** — `wr-table` (column pin/resize/drag-reorder, row selection,
83
+ expandable rows, grouping, summary rows, CSV export, virtualized body),
84
+ `wr-pagination`, `wr-tree`, `wr-virtual-scroll`, `wr-sortable-list`
85
+ (drag-to-reorder).
86
+ - **Feedback** — `wr-alert`, `wr-result`, `wr-empty`, `wr-skeleton`,
73
87
  `wr-spinner`.
74
88
  - **Layout / Display** — `wr-card`, `wr-carousel`, `wr-collapse`, `wr-splitter`,
75
- `wr-toolbar`, `wr-descriptions`, `wr-statistic`, `wr-lightbox`.
89
+ `wr-toolbar`, `wr-descriptions`, `wr-statistic`, `wr-lightbox`,
90
+ `wr-pull-to-refresh`.
76
91
  - **Navigation** — `wr-tabs`, `wr-stepper`, `wr-breadcrumbs`, `wr-dropdown-menu`.
77
- - **Overlays** — `wr-drawer`, `wr-popover` (has a `tooltip` mode),
78
- `wr-command-palette`, `wr-context-menu`, `wr-popconfirm`. (Dialog is
79
- service-opened.)
92
+ - **Overlays** — `wr-drawer`, `wr-action-sheet`, `[wrPopover]` (directive; has a
93
+ `tooltip` mode), `wr-command-palette`, `wr-context-menu`, `wr-popconfirm`.
94
+ (Dialog and toast are service-opened — inject `WrDialog` / `WrToast`.)
80
95
 
81
96
  ## Patterns
82
97
 
83
- - **Forms** — components are ControlValueAccessors → bind `[formField]="form.x"`
84
- (Signal Forms) or `[(ngModel)]`.
98
+ - **Forms** — every value control is signal-forms native (`FormValueControl`, or
99
+ `FormCheckboxControl` for checkbox) — no `ControlValueAccessor` in between.
100
+ Bind `[formField]="form.x"`, use the two-way model standalone (`[(value)]`, or
101
+ `[(checked)]` on checkbox/switch), or classic `[(ngModel)]` / reactive forms
102
+ via Angular's bridge.
85
103
  - **Icons** — register via `provideWrIcons`, render `<wr-icon name="check" />`.
86
104
  - **i18n** — `{{ 'key' | wrT }}` (pipe from `ngwr/i18n`).
87
105
  - **Theme** — CSS custom properties `--wr-color-*`, `--wr-border-radius-*`, … set
88
106
  by `provideWrTheme()`.
89
107
  - **Mobile** — overlays collapse to sheets (`provideWrResponsiveOverlays()`), a
90
- `responsive` input reflows layout components, and a `touch` density preset
91
- enlarges controls.
108
+ `responsive` input reflows layout components, a `touch` density preset enlarges
109
+ controls, and `WrHaptics` (ngwr/platform) fires vibration feedback.
110
+ - **Large datasets** — `virtualScroll` is an opt-in input on `wr-table`,
111
+ `wr-tree` and `wr-select` (search mode), alongside the standalone
112
+ `wr-virtual-scroll` wrapper.
92
113
 
93
114
  ## Resources (machine-readable)
94
115
 
95
- ngwr.dev is a single-page app, so its HTML routes return a JS shell with no
96
- content. Read these instead:
97
-
98
116
  - This quick-ref: https://ngwr.dev/llms.txt
99
117
  - Full reference (every entry point + selector + description):
100
118
  https://ngwr.dev/llms-full.txt
101
119
  - All site URLs (for crawlers): https://ngwr.dev/sitemap.xml
102
120
  - Source, README, per-component `.d.ts` types: https://github.com/thekhegay/ngwr
103
- (installed at `node_modules/ngwr/<name>`; the package also ships `README.md`,
104
- `llms.txt`, and `llms-full.txt`)
105
-
106
- Human-facing live demos (JS, for people): https://ngwr.dev.
121
+ (installed at `node_modules/ngwr/types/ngwr-<name>.d.ts`; the package also
122
+ ships `README.md`, `llms.txt`, and `llms-full.txt`)
@@ -9,7 +9,7 @@
9
9
  --wr-marquee-height: 28px;
10
10
  // Default to the lib's surface colour; consumers can override via
11
11
  // `[fadeOutColor]` or by setting `--wr-marquee-fade-color` directly.
12
- --wr-marquee-fade-color-auto: var(--wr-color-white, #ffffff);
12
+ --wr-marquee-fade-color-auto: var(--wr-color-surface, #ffffff);
13
13
 
14
14
  position: relative;
15
15
  display: block;
@@ -8,13 +8,13 @@
8
8
  display: block;
9
9
  min-width: 12rem;
10
10
  max-width: 20rem;
11
- background: var(--wr-color-white);
12
- border: 1px solid var(--wr-color-light);
11
+ background: var(--wr-color-surface);
12
+ border: 1px solid var(--wr-color-outline);
13
13
  @include theme.smooth-br(var(--wr-border-radius-base));
14
14
  box-shadow: var(--wr-shadow-overlay);
15
15
  font-family: var(--wr-font-family-base);
16
- font-size: 0.875rem;
17
- color: var(--wr-color-dark);
16
+ font-size: var(--wr-text-sm);
17
+ color: var(--wr-color-on-surface);
18
18
  overflow: hidden;
19
19
 
20
20
  &__list {
@@ -40,8 +40,8 @@
40
40
 
41
41
  &__empty {
42
42
  padding: 0.5rem 0.75rem;
43
- color: var(--wr-color-medium);
44
- font-size: 0.875rem;
43
+ color: var(--wr-color-on-surface-muted);
44
+ font-size: var(--wr-text-sm);
45
45
  user-select: none;
46
46
  }
47
47
  }
@@ -5,7 +5,7 @@
5
5
  flex-direction: column;
6
6
  gap: 0.5rem;
7
7
  font-family: var(--wr-font-family-base);
8
- color: var(--wr-color-dark);
8
+ color: var(--wr-color-on-surface);
9
9
 
10
10
  &__bar {
11
11
  display: flex;
@@ -13,7 +13,7 @@
13
13
  height: 0.625rem;
14
14
  border-radius: var(--wr-border-radius-pill);
15
15
  overflow: hidden;
16
- background: rgba(var(--wr-color-light-rgb), 0.5);
16
+ background: rgba(var(--wr-color-outline-rgb), 0.5);
17
17
  }
18
18
 
19
19
  &__slice {
@@ -40,7 +40,7 @@
40
40
  align-items: center;
41
41
  gap: 0.375rem;
42
42
  font-size: var(--wr-text-xs);
43
- color: var(--wr-color-dark);
43
+ color: var(--wr-color-on-surface);
44
44
  }
45
45
 
46
46
  &__swatch {
@@ -55,7 +55,7 @@
55
55
  }
56
56
 
57
57
  &__legend-value {
58
- color: var(--wr-color-medium);
58
+ color: var(--wr-color-on-surface-muted);
59
59
  font-variant-numeric: tabular-nums;
60
60
  }
61
61
  }
@@ -10,14 +10,22 @@
10
10
  min-width: 0 !important;
11
11
  max-width: 100% !important;
12
12
  max-height: 90vh !important;
13
+ // Dynamic viewport height, and never taller than the space left above the
14
+ // on-screen keyboard (--wr-keyboard-inset, set by WrVisualViewport; 0 when
15
+ // there is no keyboard, on the server, or in browsers without the API).
16
+ max-height: calc(90dvh - var(--wr-keyboard-inset, 0px)) !important;
13
17
  border-radius: var(--wr-border-radius-lg) var(--wr-border-radius-lg) 0 0 !important;
14
18
  padding-bottom: env(safe-area-inset-bottom);
19
+ // Lift the bottom-pinned sheet clear of the keyboard. margin (not transform)
20
+ // so it doesn't fight the slide-up animation; transitions smoothly.
21
+ margin-bottom: var(--wr-keyboard-inset, 0px);
22
+ transition: margin-bottom var(--wr-overlay-duration, 0.2s) var(--wr-overlay-ease, ease-out);
15
23
  animation: wr-overlay-sheet-up var(--wr-overlay-duration, 0.2s) var(--wr-overlay-ease, ease-out) !important;
16
24
  }
17
25
 
18
26
  // Dim + blur behind a sheet — for overlays that otherwise have no backdrop.
19
27
  .wr-overlay-backdrop {
20
- background: rgba(var(--wr-color-backdrop-rgb), 0.45);
28
+ background: var(--wr-color-overlay);
21
29
  backdrop-filter: blur(2px);
22
30
  }
23
31
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngwr",
3
- "version": "7.3.0",
3
+ "version": "9.0.0",
4
4
  "license": "MIT",
5
5
  "description": "NGWR – Angular UI components library",
6
6
  "author": "Roman Khegay <rk@garuna.dev> (https://garuna.dev)",
@@ -82,6 +82,11 @@
82
82
  "./typography-utilities": {
83
83
  "sass": "./styles/_typography.scss"
84
84
  },
85
+ "./action-sheet": {
86
+ "sass": "./action-sheet/styles/_index.scss",
87
+ "types": "./types/ngwr-action-sheet.d.ts",
88
+ "default": "./fesm2022/ngwr-action-sheet.mjs"
89
+ },
85
90
  "./affix": {
86
91
  "sass": "./affix/styles/_index.scss",
87
92
  "types": "./types/ngwr-affix.d.ts",
@@ -232,6 +237,11 @@
232
237
  "types": "./types/ngwr-density.d.ts",
233
238
  "default": "./fesm2022/ngwr-density.mjs"
234
239
  },
240
+ "./descriptions": {
241
+ "sass": "./descriptions/styles/_index.scss",
242
+ "types": "./types/ngwr-descriptions.d.ts",
243
+ "default": "./fesm2022/ngwr-descriptions.mjs"
244
+ },
235
245
  "./dialog": {
236
246
  "sass": "./dialog/styles/_index.scss",
237
247
  "types": "./types/ngwr-dialog.d.ts",
@@ -337,6 +347,11 @@
337
347
  "types": "./types/ngwr-layout.d.ts",
338
348
  "default": "./fesm2022/ngwr-layout.mjs"
339
349
  },
350
+ "./lightbox": {
351
+ "sass": "./lightbox/styles/_index.scss",
352
+ "types": "./types/ngwr-lightbox.d.ts",
353
+ "default": "./fesm2022/ngwr-lightbox.mjs"
354
+ },
340
355
  "./line-chart": {
341
356
  "sass": "./line-chart/styles/_index.scss",
342
357
  "types": "./types/ngwr-line-chart.d.ts",
@@ -397,6 +412,11 @@
397
412
  "types": "./types/ngwr-progress.d.ts",
398
413
  "default": "./fesm2022/ngwr-progress.mjs"
399
414
  },
415
+ "./pull-to-refresh": {
416
+ "sass": "./pull-to-refresh/styles/_index.scss",
417
+ "types": "./types/ngwr-pull-to-refresh.d.ts",
418
+ "default": "./fesm2022/ngwr-pull-to-refresh.mjs"
419
+ },
400
420
  "./qr": {
401
421
  "sass": "./qr/styles/_index.scss",
402
422
  "types": "./types/ngwr-qr.d.ts",
@@ -422,11 +442,6 @@
422
442
  "types": "./types/ngwr-rotating-text.d.ts",
423
443
  "default": "./fesm2022/ngwr-rotating-text.mjs"
424
444
  },
425
- "./scramble-text": {
426
- "sass": "./scramble-text/styles/_index.scss",
427
- "types": "./types/ngwr-scramble-text.d.ts",
428
- "default": "./fesm2022/ngwr-scramble-text.mjs"
429
- },
430
445
  "./segmented": {
431
446
  "sass": "./segmented/styles/_index.scss",
432
447
  "types": "./types/ngwr-segmented.d.ts",
@@ -604,10 +619,6 @@
604
619
  "types": "./types/ngwr-date-adapter-luxon.d.ts",
605
620
  "default": "./fesm2022/ngwr-date-adapter-luxon.mjs"
606
621
  },
607
- "./descriptions": {
608
- "types": "./types/ngwr-descriptions.d.ts",
609
- "default": "./fesm2022/ngwr-descriptions.mjs"
610
- },
611
622
  "./directives": {
612
623
  "types": "./types/ngwr-directives.d.ts",
613
624
  "default": "./fesm2022/ngwr-directives.mjs"
@@ -640,10 +651,6 @@
640
651
  "types": "./types/ngwr-icon-adapters-lucide.d.ts",
641
652
  "default": "./fesm2022/ngwr-icon-adapters-lucide.mjs"
642
653
  },
643
- "./lightbox": {
644
- "types": "./types/ngwr-lightbox.d.ts",
645
- "default": "./fesm2022/ngwr-lightbox.mjs"
646
- },
647
654
  "./media": {
648
655
  "types": "./types/ngwr-media.d.ts",
649
656
  "default": "./fesm2022/ngwr-media.mjs"
@@ -9,7 +9,7 @@
9
9
  width: 100%;
10
10
  min-width: 0;
11
11
  padding: 1.5rem 0 1.25rem;
12
- border-bottom: 1px solid var(--wr-color-light);
12
+ border-bottom: 1px solid var(--wr-color-outline);
13
13
  font-family: var(--wr-font-family-base);
14
14
 
15
15
  // Opt-in (`responsive`): query the box's own width so the title + actions row
@@ -21,7 +21,7 @@
21
21
 
22
22
  &__breadcrumbs {
23
23
  font-size: var(--wr-text-sm);
24
- color: var(--wr-color-medium);
24
+ color: var(--wr-color-on-surface-muted);
25
25
 
26
26
  &:empty {
27
27
  display: none;
@@ -49,14 +49,14 @@
49
49
  font-weight: var(--wr-font-weight-bold);
50
50
  line-height: var(--wr-leading-tight);
51
51
  letter-spacing: -0.015em;
52
- color: var(--wr-color-dark);
52
+ color: var(--wr-color-on-surface);
53
53
  }
54
54
 
55
55
  &__subtitle {
56
56
  margin: 0;
57
57
  font-size: var(--wr-text-base);
58
58
  line-height: var(--wr-leading-normal);
59
- color: var(--wr-color-medium);
59
+ color: var(--wr-color-on-surface-muted);
60
60
  }
61
61
 
62
62
  &__actions {