ngwr 8.0.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 (431) hide show
  1. package/README.md +75 -28
  2. package/action-sheet/styles/_index.scss +93 -0
  3. package/alert/styles/_index.scss +10 -10
  4. package/anchor/styles/_index.scss +3 -3
  5. package/back-top/styles/_index.scss +1 -1
  6. package/badge/styles/_tag.scss +3 -3
  7. package/bar-chart/styles/_index.scss +4 -4
  8. package/border-glow/styles/_index.scss +3 -3
  9. package/breadcrumbs/styles/_index.scss +3 -3
  10. package/burger/styles/_index.scss +1 -1
  11. package/button/styles/_index.scss +4 -4
  12. package/calendar/styles/_index.scss +4 -4
  13. package/calendar-heatmap/styles/_index.scss +3 -3
  14. package/card/styles/_index.scss +5 -5
  15. package/carousel/styles/_index.scss +5 -5
  16. package/cascader/styles/_index.scss +15 -15
  17. package/checkbox/styles/_index.scss +20 -5
  18. package/collapse/styles/_index.scss +6 -6
  19. package/color-picker/styles/_index.scss +15 -9
  20. package/command-palette/styles/_index.scss +19 -16
  21. package/compare/styles/_index.scss +3 -3
  22. package/context-menu/styles/_index.scss +16 -6
  23. package/counter/styles/_index.scss +12 -1
  24. package/date-picker/styles/_index.scss +8 -8
  25. package/descriptions/styles/_index.scss +9 -9
  26. package/dialog/styles/_index.scss +7 -6
  27. package/divider/styles/_index.scss +2 -2
  28. package/donut-chart/styles/_index.scss +3 -3
  29. package/drag-drop/styles/_index.scss +11 -6
  30. package/drawer/styles/_index.scss +15 -6
  31. package/dropdown/styles/_index.scss +5 -5
  32. package/empty/styles/_index.scss +4 -4
  33. package/fesm2022/ngwr-action-sheet.mjs +81 -0
  34. package/fesm2022/ngwr-action-sheet.mjs.map +1 -0
  35. package/fesm2022/ngwr-affix.mjs +3 -3
  36. package/fesm2022/ngwr-alert.mjs +4 -4
  37. package/fesm2022/ngwr-alert.mjs.map +1 -1
  38. package/fesm2022/ngwr-anchor.mjs +4 -4
  39. package/fesm2022/ngwr-anchor.mjs.map +1 -1
  40. package/fesm2022/ngwr-aurora.mjs +5 -4
  41. package/fesm2022/ngwr-aurora.mjs.map +1 -1
  42. package/fesm2022/ngwr-avatar.mjs +4 -4
  43. package/fesm2022/ngwr-avatar.mjs.map +1 -1
  44. package/fesm2022/ngwr-back-top.mjs +4 -4
  45. package/fesm2022/ngwr-back-top.mjs.map +1 -1
  46. package/fesm2022/ngwr-badge.mjs +8 -8
  47. package/fesm2022/ngwr-badge.mjs.map +1 -1
  48. package/fesm2022/ngwr-bar-chart.mjs +4 -4
  49. package/fesm2022/ngwr-bar-chart.mjs.map +1 -1
  50. package/fesm2022/ngwr-blur-text.mjs +3 -3
  51. package/fesm2022/ngwr-border-glow.mjs +4 -4
  52. package/fesm2022/ngwr-border-glow.mjs.map +1 -1
  53. package/fesm2022/ngwr-breadcrumbs.mjs +8 -8
  54. package/fesm2022/ngwr-breadcrumbs.mjs.map +1 -1
  55. package/fesm2022/ngwr-burger.mjs +4 -4
  56. package/fesm2022/ngwr-burger.mjs.map +1 -1
  57. package/fesm2022/ngwr-button.mjs +8 -8
  58. package/fesm2022/ngwr-button.mjs.map +1 -1
  59. package/fesm2022/ngwr-calendar-heatmap.mjs +4 -4
  60. package/fesm2022/ngwr-calendar-heatmap.mjs.map +1 -1
  61. package/fesm2022/ngwr-calendar.mjs +4 -4
  62. package/fesm2022/ngwr-calendar.mjs.map +1 -1
  63. package/fesm2022/ngwr-card.mjs +11 -11
  64. package/fesm2022/ngwr-card.mjs.map +1 -1
  65. package/fesm2022/ngwr-carousel.mjs +7 -7
  66. package/fesm2022/ngwr-carousel.mjs.map +1 -1
  67. package/fesm2022/ngwr-cascader.mjs +52 -60
  68. package/fesm2022/ngwr-cascader.mjs.map +1 -1
  69. package/fesm2022/ngwr-checkbox.mjs +74 -106
  70. package/fesm2022/ngwr-checkbox.mjs.map +1 -1
  71. package/fesm2022/ngwr-circular-text.mjs +5 -4
  72. package/fesm2022/ngwr-circular-text.mjs.map +1 -1
  73. package/fesm2022/ngwr-click-spark.mjs +5 -4
  74. package/fesm2022/ngwr-click-spark.mjs.map +1 -1
  75. package/fesm2022/ngwr-clipboard.mjs +4 -4
  76. package/fesm2022/ngwr-clipboard.mjs.map +1 -1
  77. package/fesm2022/ngwr-collapse.mjs +12 -12
  78. package/fesm2022/ngwr-collapse.mjs.map +1 -1
  79. package/fesm2022/ngwr-color-picker.mjs +58 -66
  80. package/fesm2022/ngwr-color-picker.mjs.map +1 -1
  81. package/fesm2022/ngwr-command-palette.mjs +4 -4
  82. package/fesm2022/ngwr-command-palette.mjs.map +1 -1
  83. package/fesm2022/ngwr-compare.mjs +4 -4
  84. package/fesm2022/ngwr-compare.mjs.map +1 -1
  85. package/fesm2022/ngwr-confetti.mjs +3 -3
  86. package/fesm2022/ngwr-context-menu.mjs +86 -15
  87. package/fesm2022/ngwr-context-menu.mjs.map +1 -1
  88. package/fesm2022/ngwr-cookie.mjs +19 -6
  89. package/fesm2022/ngwr-cookie.mjs.map +1 -1
  90. package/fesm2022/ngwr-counter.mjs +26 -12
  91. package/fesm2022/ngwr-counter.mjs.map +1 -1
  92. package/fesm2022/ngwr-date-adapter-fns.mjs +3 -3
  93. package/fesm2022/ngwr-date-adapter-luxon.mjs +3 -3
  94. package/fesm2022/ngwr-date-adapter.mjs +10 -5
  95. package/fesm2022/ngwr-date-adapter.mjs.map +1 -1
  96. package/fesm2022/ngwr-date-picker.mjs +128 -123
  97. package/fesm2022/ngwr-date-picker.mjs.map +1 -1
  98. package/fesm2022/ngwr-decrypt-text.mjs +3 -3
  99. package/fesm2022/ngwr-density.mjs +7 -7
  100. package/fesm2022/ngwr-density.mjs.map +1 -1
  101. package/fesm2022/ngwr-descriptions.mjs +7 -7
  102. package/fesm2022/ngwr-descriptions.mjs.map +1 -1
  103. package/fesm2022/ngwr-dialog.mjs +16 -16
  104. package/fesm2022/ngwr-dialog.mjs.map +1 -1
  105. package/fesm2022/ngwr-directives.mjs +21 -15
  106. package/fesm2022/ngwr-directives.mjs.map +1 -1
  107. package/fesm2022/ngwr-divider.mjs +4 -4
  108. package/fesm2022/ngwr-divider.mjs.map +1 -1
  109. package/fesm2022/ngwr-donut-chart.mjs +4 -4
  110. package/fesm2022/ngwr-donut-chart.mjs.map +1 -1
  111. package/fesm2022/ngwr-drag-drop.mjs +10 -9
  112. package/fesm2022/ngwr-drag-drop.mjs.map +1 -1
  113. package/fesm2022/ngwr-drawer.mjs +19 -18
  114. package/fesm2022/ngwr-drawer.mjs.map +1 -1
  115. package/fesm2022/ngwr-dropdown.mjs +13 -12
  116. package/fesm2022/ngwr-dropdown.mjs.map +1 -1
  117. package/fesm2022/ngwr-empty.mjs +4 -4
  118. package/fesm2022/ngwr-empty.mjs.map +1 -1
  119. package/fesm2022/ngwr-falling-text.mjs +5 -4
  120. package/fesm2022/ngwr-falling-text.mjs.map +1 -1
  121. package/fesm2022/ngwr-file-upload.mjs +58 -60
  122. package/fesm2022/ngwr-file-upload.mjs.map +1 -1
  123. package/fesm2022/ngwr-form.mjs +11 -11
  124. package/fesm2022/ngwr-form.mjs.map +1 -1
  125. package/fesm2022/ngwr-fuzzy-text.mjs +5 -4
  126. package/fesm2022/ngwr-fuzzy-text.mjs.map +1 -1
  127. package/fesm2022/ngwr-gauge.mjs +4 -4
  128. package/fesm2022/ngwr-gauge.mjs.map +1 -1
  129. package/fesm2022/ngwr-glitch-text.mjs +4 -4
  130. package/fesm2022/ngwr-glitch-text.mjs.map +1 -1
  131. package/fesm2022/ngwr-gradient-text.mjs +4 -4
  132. package/fesm2022/ngwr-gradient-text.mjs.map +1 -1
  133. package/fesm2022/ngwr-hotkey.mjs +7 -7
  134. package/fesm2022/ngwr-hotkey.mjs.map +1 -1
  135. package/fesm2022/ngwr-i18n.mjs +10 -10
  136. package/fesm2022/ngwr-i18n.mjs.map +1 -1
  137. package/fesm2022/ngwr-icon-adapters-lucide.mjs +6 -7
  138. package/fesm2022/ngwr-icon-adapters-lucide.mjs.map +1 -1
  139. package/fesm2022/ngwr-icon.mjs +4 -4
  140. package/fesm2022/ngwr-icon.mjs.map +1 -1
  141. package/fesm2022/ngwr-image-cropper.mjs +6 -5
  142. package/fesm2022/ngwr-image-cropper.mjs.map +1 -1
  143. package/fesm2022/ngwr-input-number.mjs +56 -73
  144. package/fesm2022/ngwr-input-number.mjs.map +1 -1
  145. package/fesm2022/ngwr-input-otp.mjs +46 -52
  146. package/fesm2022/ngwr-input-otp.mjs.map +1 -1
  147. package/fesm2022/ngwr-input.mjs +17 -17
  148. package/fesm2022/ngwr-input.mjs.map +1 -1
  149. package/fesm2022/ngwr-keyboard.mjs +4 -4
  150. package/fesm2022/ngwr-keyboard.mjs.map +1 -1
  151. package/fesm2022/ngwr-knob.mjs +47 -58
  152. package/fesm2022/ngwr-knob.mjs.map +1 -1
  153. package/fesm2022/ngwr-layout.mjs +16 -16
  154. package/fesm2022/ngwr-layout.mjs.map +1 -1
  155. package/fesm2022/ngwr-lightbox.mjs +7 -6
  156. package/fesm2022/ngwr-lightbox.mjs.map +1 -1
  157. package/fesm2022/ngwr-line-chart.mjs +4 -4
  158. package/fesm2022/ngwr-line-chart.mjs.map +1 -1
  159. package/fesm2022/ngwr-list.mjs +8 -8
  160. package/fesm2022/ngwr-list.mjs.map +1 -1
  161. package/fesm2022/ngwr-loading-bar.mjs +7 -7
  162. package/fesm2022/ngwr-loading-bar.mjs.map +1 -1
  163. package/fesm2022/ngwr-marquee.mjs +6 -5
  164. package/fesm2022/ngwr-marquee.mjs.map +1 -1
  165. package/fesm2022/ngwr-media.mjs +4 -4
  166. package/fesm2022/ngwr-media.mjs.map +1 -1
  167. package/fesm2022/ngwr-mention.mjs +15 -9
  168. package/fesm2022/ngwr-mention.mjs.map +1 -1
  169. package/fesm2022/ngwr-meta.mjs +7 -7
  170. package/fesm2022/ngwr-meta.mjs.map +1 -1
  171. package/fesm2022/ngwr-meter-group.mjs +4 -4
  172. package/fesm2022/ngwr-meter-group.mjs.map +1 -1
  173. package/fesm2022/ngwr-overlay.mjs +9 -4
  174. package/fesm2022/ngwr-overlay.mjs.map +1 -1
  175. package/fesm2022/ngwr-page-header.mjs +4 -4
  176. package/fesm2022/ngwr-page-header.mjs.map +1 -1
  177. package/fesm2022/ngwr-pagination.mjs +4 -4
  178. package/fesm2022/ngwr-pagination.mjs.map +1 -1
  179. package/fesm2022/ngwr-pipes.mjs +21 -21
  180. package/fesm2022/ngwr-platform.mjs +169 -5
  181. package/fesm2022/ngwr-platform.mjs.map +1 -1
  182. package/fesm2022/ngwr-popconfirm.mjs +7 -7
  183. package/fesm2022/ngwr-popconfirm.mjs.map +1 -1
  184. package/fesm2022/ngwr-popover.mjs +7 -7
  185. package/fesm2022/ngwr-popover.mjs.map +1 -1
  186. package/fesm2022/ngwr-progress.mjs +4 -4
  187. package/fesm2022/ngwr-progress.mjs.map +1 -1
  188. package/fesm2022/ngwr-pull-to-refresh.mjs +172 -0
  189. package/fesm2022/ngwr-pull-to-refresh.mjs.map +1 -0
  190. package/fesm2022/ngwr-qr.mjs +5 -5
  191. package/fesm2022/ngwr-qr.mjs.map +1 -1
  192. package/fesm2022/ngwr-radio.mjs +27 -52
  193. package/fesm2022/ngwr-radio.mjs.map +1 -1
  194. package/fesm2022/ngwr-rating.mjs +35 -48
  195. package/fesm2022/ngwr-rating.mjs.map +1 -1
  196. package/fesm2022/ngwr-result.mjs +13 -13
  197. package/fesm2022/ngwr-result.mjs.map +1 -1
  198. package/fesm2022/ngwr-rotating-text.mjs +15 -4
  199. package/fesm2022/ngwr-rotating-text.mjs.map +1 -1
  200. package/fesm2022/ngwr-scroll.mjs +4 -4
  201. package/fesm2022/ngwr-scroll.mjs.map +1 -1
  202. package/fesm2022/ngwr-segmented.mjs +3 -3
  203. package/fesm2022/ngwr-segmented.mjs.map +1 -1
  204. package/fesm2022/ngwr-select.mjs +289 -85
  205. package/fesm2022/ngwr-select.mjs.map +1 -1
  206. package/fesm2022/ngwr-shiny-text.mjs +7 -7
  207. package/fesm2022/ngwr-shiny-text.mjs.map +1 -1
  208. package/fesm2022/ngwr-sidebar.mjs +4 -4
  209. package/fesm2022/ngwr-sidebar.mjs.map +1 -1
  210. package/fesm2022/ngwr-skeleton.mjs +4 -4
  211. package/fesm2022/ngwr-skeleton.mjs.map +1 -1
  212. package/fesm2022/ngwr-slider.mjs +79 -73
  213. package/fesm2022/ngwr-slider.mjs.map +1 -1
  214. package/fesm2022/ngwr-sparkline.mjs +4 -4
  215. package/fesm2022/ngwr-sparkline.mjs.map +1 -1
  216. package/fesm2022/ngwr-speed-dial.mjs +13 -5
  217. package/fesm2022/ngwr-speed-dial.mjs.map +1 -1
  218. package/fesm2022/ngwr-spinner.mjs +4 -4
  219. package/fesm2022/ngwr-spinner.mjs.map +1 -1
  220. package/fesm2022/ngwr-splash-cursor.mjs +4 -4
  221. package/fesm2022/ngwr-splash-cursor.mjs.map +1 -1
  222. package/fesm2022/ngwr-split-text.mjs +3 -3
  223. package/fesm2022/ngwr-splitter.mjs +4 -4
  224. package/fesm2022/ngwr-splitter.mjs.map +1 -1
  225. package/fesm2022/ngwr-spotlight-card.mjs +7 -7
  226. package/fesm2022/ngwr-spotlight-card.mjs.map +1 -1
  227. package/fesm2022/ngwr-squircle.mjs +7 -7
  228. package/fesm2022/ngwr-squircle.mjs.map +1 -1
  229. package/fesm2022/ngwr-star-border.mjs +4 -4
  230. package/fesm2022/ngwr-star-border.mjs.map +1 -1
  231. package/fesm2022/ngwr-statistic.mjs +65 -10
  232. package/fesm2022/ngwr-statistic.mjs.map +1 -1
  233. package/fesm2022/ngwr-stepper.mjs +8 -8
  234. package/fesm2022/ngwr-stepper.mjs.map +1 -1
  235. package/fesm2022/ngwr-storage.mjs +4 -4
  236. package/fesm2022/ngwr-storage.mjs.map +1 -1
  237. package/fesm2022/ngwr-switch.mjs +16 -48
  238. package/fesm2022/ngwr-switch.mjs.map +1 -1
  239. package/fesm2022/ngwr-table.mjs +824 -20
  240. package/fesm2022/ngwr-table.mjs.map +1 -1
  241. package/fesm2022/ngwr-tabs.mjs +9 -8
  242. package/fesm2022/ngwr-tabs.mjs.map +1 -1
  243. package/fesm2022/ngwr-textarea.mjs +18 -50
  244. package/fesm2022/ngwr-textarea.mjs.map +1 -1
  245. package/fesm2022/ngwr-theme.mjs +20 -5
  246. package/fesm2022/ngwr-theme.mjs.map +1 -1
  247. package/fesm2022/ngwr-tilt-card.mjs +27 -11
  248. package/fesm2022/ngwr-tilt-card.mjs.map +1 -1
  249. package/fesm2022/ngwr-timeline.mjs +7 -7
  250. package/fesm2022/ngwr-timeline.mjs.map +1 -1
  251. package/fesm2022/ngwr-toast.mjs +10 -10
  252. package/fesm2022/ngwr-toast.mjs.map +1 -1
  253. package/fesm2022/ngwr-toolbar.mjs +4 -4
  254. package/fesm2022/ngwr-toolbar.mjs.map +1 -1
  255. package/fesm2022/ngwr-tree.mjs +280 -84
  256. package/fesm2022/ngwr-tree.mjs.map +1 -1
  257. package/fesm2022/ngwr-typewriter.mjs +10 -5
  258. package/fesm2022/ngwr-typewriter.mjs.map +1 -1
  259. package/fesm2022/ngwr-typography.mjs +4 -4
  260. package/fesm2022/ngwr-typography.mjs.map +1 -1
  261. package/fesm2022/ngwr-validators.mjs +1 -1
  262. package/fesm2022/ngwr-validators.mjs.map +1 -1
  263. package/fesm2022/ngwr-version.mjs +1 -1
  264. package/fesm2022/ngwr-version.mjs.map +1 -1
  265. package/fesm2022/ngwr-virtual-scroll.mjs +9 -7
  266. package/fesm2022/ngwr-virtual-scroll.mjs.map +1 -1
  267. package/fesm2022/ngwr-waves.mjs +6 -5
  268. package/fesm2022/ngwr-waves.mjs.map +1 -1
  269. package/fesm2022/ngwr-window.mjs +16 -15
  270. package/fesm2022/ngwr-window.mjs.map +1 -1
  271. package/file-upload/styles/_index.scss +11 -11
  272. package/form/styles/_index.scss +4 -4
  273. package/gauge/styles/_index.scss +2 -2
  274. package/glitch-text/styles/_index.scss +1 -1
  275. package/gradient-text/styles/_index.scss +1 -1
  276. package/image-cropper/styles/_index.scss +5 -4
  277. package/input/styles/_index.scss +9 -9
  278. package/input-number/styles/_index.scss +1 -1
  279. package/input-otp/styles/_index.scss +5 -5
  280. package/keyboard/styles/_index.scss +5 -5
  281. package/knob/styles/_index.scss +6 -2
  282. package/layout/styles/_index.scss +12 -12
  283. package/lightbox/styles/_index.scss +10 -8
  284. package/line-chart/styles/_index.scss +5 -5
  285. package/list/styles/_index.scss +3 -3
  286. package/llms-full.txt +31 -5
  287. package/llms.txt +48 -32
  288. package/marquee/styles/_index.scss +1 -1
  289. package/mention/styles/_index.scss +4 -4
  290. package/meter-group/styles/_index.scss +4 -4
  291. package/overlay/styles/_index.scss +8 -0
  292. package/package.json +21 -9
  293. package/page-header/styles/_index.scss +4 -4
  294. package/pagination/styles/_index.scss +3 -3
  295. package/popconfirm/styles/_index.scss +3 -3
  296. package/popover/styles/_index.scss +5 -5
  297. package/progress/styles/_index.scss +1 -1
  298. package/pull-to-refresh/styles/_index.scss +38 -0
  299. package/radio/styles/_index.scss +4 -4
  300. package/rating/styles/_index.scss +1 -1
  301. package/result/styles/_index.scss +3 -3
  302. package/schematics/migrations/v9/index.js +71 -0
  303. package/schematics/migrations.json +5 -0
  304. package/schematics/ng-add/schema.json +1 -1
  305. package/schematics/use/symbol-map.json +13 -0
  306. package/segmented/styles/_index.scss +4 -4
  307. package/select/styles/_index.scss +53 -18
  308. package/shiny-text/styles/_index.scss +4 -4
  309. package/sidebar/styles/_index.scss +12 -12
  310. package/slider/styles/_index.scss +5 -5
  311. package/speed-dial/styles/_index.scss +22 -6
  312. package/splash-cursor/styles/_index.scss +1 -0
  313. package/splitter/styles/_index.scss +7 -4
  314. package/spotlight-card/styles/_index.scss +7 -7
  315. package/star-border/styles/_index.scss +3 -3
  316. package/statistic/styles/_index.scss +51 -4
  317. package/stepper/styles/_index.scss +6 -6
  318. package/styles/_typography.scss +4 -1
  319. package/styles.scss +2 -0
  320. package/switch/styles/_index.scss +4 -4
  321. package/table/styles/_index.scss +447 -17
  322. package/tabs/styles/_index.scss +3 -3
  323. package/textarea/styles/_index.scss +7 -7
  324. package/theme/styles/_colors.scss +27 -3
  325. package/tilt-card/styles/_index.scss +4 -4
  326. package/timeline/styles/_index.scss +7 -6
  327. package/toast/styles/_index.scss +11 -11
  328. package/toolbar/styles/_index.scss +4 -4
  329. package/tree/styles/_index.scss +45 -15
  330. package/types/ngwr-action-sheet.d.ts +75 -0
  331. package/types/ngwr-alert.d.ts +1 -1
  332. package/types/ngwr-anchor.d.ts +1 -1
  333. package/types/ngwr-avatar.d.ts +1 -1
  334. package/types/ngwr-back-top.d.ts +1 -1
  335. package/types/ngwr-badge.d.ts +4 -4
  336. package/types/ngwr-bar-chart.d.ts +1 -1
  337. package/types/ngwr-breadcrumbs.d.ts +1 -1
  338. package/types/ngwr-burger.d.ts +1 -1
  339. package/types/ngwr-button.d.ts +3 -3
  340. package/types/ngwr-calendar-heatmap.d.ts +1 -1
  341. package/types/ngwr-calendar.d.ts +1 -1
  342. package/types/ngwr-card.d.ts +1 -1
  343. package/types/ngwr-carousel.d.ts +1 -1
  344. package/types/ngwr-cascader.d.ts +27 -16
  345. package/types/ngwr-checkbox.d.ts +63 -43
  346. package/types/ngwr-clipboard.d.ts +1 -1
  347. package/types/ngwr-collapse.d.ts +3 -3
  348. package/types/ngwr-color-picker.d.ts +24 -19
  349. package/types/ngwr-command-palette.d.ts +1 -1
  350. package/types/ngwr-compare.d.ts +1 -1
  351. package/types/ngwr-context-menu.d.ts +25 -1
  352. package/types/ngwr-cookie.d.ts +7 -1
  353. package/types/ngwr-counter.d.ts +9 -2
  354. package/types/ngwr-date-picker.d.ts +36 -23
  355. package/types/ngwr-density.d.ts +1 -1
  356. package/types/ngwr-descriptions.d.ts +1 -1
  357. package/types/ngwr-dialog.d.ts +1 -1
  358. package/types/ngwr-directives.d.ts +1 -0
  359. package/types/ngwr-divider.d.ts +2 -2
  360. package/types/ngwr-donut-chart.d.ts +1 -1
  361. package/types/ngwr-drag-drop.d.ts +1 -1
  362. package/types/ngwr-drawer.d.ts +1 -1
  363. package/types/ngwr-dropdown.d.ts +1 -1
  364. package/types/ngwr-empty.d.ts +1 -1
  365. package/types/ngwr-file-upload.d.ts +28 -17
  366. package/types/ngwr-form.d.ts +2 -2
  367. package/types/ngwr-gauge.d.ts +1 -1
  368. package/types/ngwr-hotkey.d.ts +1 -1
  369. package/types/ngwr-i18n.d.ts +1 -1
  370. package/types/ngwr-icon-adapters-lucide.d.ts +5 -3
  371. package/types/ngwr-icon.d.ts +1 -1
  372. package/types/ngwr-image-cropper.d.ts +1 -1
  373. package/types/ngwr-input-number.d.ts +25 -19
  374. package/types/ngwr-input-otp.d.ts +23 -17
  375. package/types/ngwr-input.d.ts +2 -2
  376. package/types/ngwr-keyboard.d.ts +1 -1
  377. package/types/ngwr-knob.d.ts +24 -19
  378. package/types/ngwr-layout.d.ts +1 -1
  379. package/types/ngwr-lightbox.d.ts +1 -1
  380. package/types/ngwr-line-chart.d.ts +1 -1
  381. package/types/ngwr-list.d.ts +1 -1
  382. package/types/ngwr-loading-bar.d.ts +1 -1
  383. package/types/ngwr-marquee.d.ts +1 -1
  384. package/types/ngwr-media.d.ts +1 -1
  385. package/types/ngwr-mention.d.ts +1 -1
  386. package/types/ngwr-meta.d.ts +1 -1
  387. package/types/ngwr-meter-group.d.ts +1 -1
  388. package/types/ngwr-page-header.d.ts +1 -1
  389. package/types/ngwr-pagination.d.ts +1 -1
  390. package/types/ngwr-platform.d.ts +93 -2
  391. package/types/ngwr-popconfirm.d.ts +3 -3
  392. package/types/ngwr-progress.d.ts +2 -2
  393. package/types/ngwr-pull-to-refresh.d.ts +69 -0
  394. package/types/ngwr-qr.d.ts +1 -1
  395. package/types/ngwr-radio.d.ts +25 -22
  396. package/types/ngwr-rating.d.ts +28 -20
  397. package/types/ngwr-result.d.ts +1 -1
  398. package/types/ngwr-rotating-text.d.ts +1 -0
  399. package/types/ngwr-scroll.d.ts +1 -1
  400. package/types/ngwr-segmented.d.ts +1 -1
  401. package/types/ngwr-select.d.ts +93 -26
  402. package/types/ngwr-sidebar.d.ts +1 -1
  403. package/types/ngwr-skeleton.d.ts +2 -2
  404. package/types/ngwr-slider.d.ts +35 -21
  405. package/types/ngwr-sparkline.d.ts +1 -1
  406. package/types/ngwr-speed-dial.d.ts +8 -2
  407. package/types/ngwr-spinner.d.ts +1 -1
  408. package/types/ngwr-splitter.d.ts +1 -1
  409. package/types/ngwr-squircle.d.ts +1 -1
  410. package/types/ngwr-statistic.d.ts +40 -5
  411. package/types/ngwr-stepper.d.ts +2 -2
  412. package/types/ngwr-storage.d.ts +1 -1
  413. package/types/ngwr-switch.d.ts +20 -16
  414. package/types/ngwr-table.d.ts +417 -6
  415. package/types/ngwr-tabs.d.ts +1 -1
  416. package/types/ngwr-textarea.d.ts +21 -18
  417. package/types/ngwr-theme.d.ts +7 -2
  418. package/types/ngwr-tilt-card.d.ts +3 -0
  419. package/types/ngwr-timeline.d.ts +1 -1
  420. package/types/ngwr-toast.d.ts +1 -1
  421. package/types/ngwr-toolbar.d.ts +1 -1
  422. package/types/ngwr-tree.d.ts +100 -19
  423. package/types/ngwr-typography.d.ts +1 -1
  424. package/types/ngwr-validators.d.ts +1 -1
  425. package/types/ngwr-version.d.ts +1 -1
  426. package/types/ngwr-virtual-scroll.d.ts +1 -1
  427. package/types/ngwr-window.d.ts +1 -1
  428. package/typography/styles/_index.scss +11 -11
  429. package/virtual-scroll/styles/_index.scss +1 -1
  430. package/waves/styles/_index.scss +1 -1
  431. package/window/styles/_index.scss +18 -18
@@ -17,6 +17,7 @@
17
17
  display: block;
18
18
  max-width: 100%;
19
19
  max-height: 70vh;
20
+ max-height: 70dvh;
20
21
  height: auto;
21
22
  pointer-events: none;
22
23
  user-select: none;
@@ -32,7 +33,7 @@
32
33
  &__window {
33
34
  position: absolute;
34
35
  box-sizing: border-box;
35
- border: 1px solid var(--wr-color-white);
36
+ border: 1px solid var(--wr-color-surface);
36
37
  cursor: move;
37
38
  box-shadow: 0 0 0 1px rgba(var(--wr-color-primary-rgb), 0.6);
38
39
  }
@@ -41,7 +42,7 @@
41
42
  position: absolute;
42
43
  width: 0.75rem;
43
44
  height: 0.75rem;
44
- background: var(--wr-color-white);
45
+ background: var(--wr-color-surface);
45
46
  border: 1px solid var(--wr-color-primary);
46
47
  border-radius: 50%;
47
48
  box-shadow: 0 0 0 1px rgba(var(--wr-color-black-rgb), 0.15);
@@ -106,9 +107,9 @@
106
107
  &__empty {
107
108
  padding: 2rem;
108
109
  text-align: center;
109
- color: var(--wr-color-medium);
110
+ color: var(--wr-color-on-surface-muted);
110
111
  background: var(--wr-color-hover);
111
- border: 1px dashed var(--wr-color-light);
112
+ border: 1px dashed var(--wr-color-outline);
112
113
  @include theme.smooth-br(var(--wr-border-radius-base));
113
114
  }
114
115
  }
@@ -6,10 +6,10 @@
6
6
  // border so the visuals belong to the group instead).
7
7
  //
8
8
  .wr-input {
9
- --wr-input-color: var(--wr-color-dark);
10
- --wr-input-placeholder: rgba(var(--wr-color-medium-rgb), 0.7);
11
- --wr-input-bg: var(--wr-color-white);
12
- --wr-input-border: var(--wr-color-light);
9
+ --wr-input-color: var(--wr-color-on-surface);
10
+ --wr-input-placeholder: rgba(var(--wr-color-on-surface-muted-rgb), 0.7);
11
+ --wr-input-bg: var(--wr-color-surface);
12
+ --wr-input-border: var(--wr-color-outline);
13
13
  --wr-input-radius: var(--wr-control-radius-md);
14
14
  --wr-input-ring: transparent;
15
15
  --wr-input-padding-y: var(--wr-control-padding-y-md);
@@ -49,8 +49,8 @@
49
49
 
50
50
  &:disabled,
51
51
  &[readonly] {
52
- --wr-input-color: var(--wr-color-medium);
53
- --wr-input-bg: rgba(var(--wr-color-light-rgb), 0.35);
52
+ --wr-input-color: var(--wr-color-on-surface-muted);
53
+ --wr-input-bg: rgba(var(--wr-color-outline-rgb), 0.35);
54
54
  }
55
55
 
56
56
  &:disabled {
@@ -90,10 +90,10 @@
90
90
  //
91
91
  .wr-input-group {
92
92
  --wr-input-group-radius: var(--wr-control-radius-md);
93
- --wr-input-group-bg: var(--wr-color-white);
94
- --wr-input-group-border: var(--wr-color-light);
93
+ --wr-input-group-bg: var(--wr-color-surface);
94
+ --wr-input-group-border: var(--wr-color-outline);
95
95
  --wr-input-group-ring: transparent;
96
- --wr-input-group-affix: var(--wr-color-medium);
96
+ --wr-input-group-affix: var(--wr-color-on-surface-muted);
97
97
  --wr-input-group-padding-x: 0.75rem;
98
98
 
99
99
  display: inline-flex;
@@ -34,7 +34,7 @@
34
34
  display: inline-flex;
35
35
  align-items: center;
36
36
  justify-content: center;
37
- color: var(--wr-color-medium);
37
+ color: var(--wr-color-on-surface-muted);
38
38
  cursor: pointer;
39
39
  outline: 0;
40
40
  transition:
@@ -1,9 +1,9 @@
1
1
  @use '../../theme/styles' as theme;
2
2
 
3
3
  .wr-input-otp {
4
- --wr-input-otp-bg: var(--wr-color-white);
5
- --wr-input-otp-border: var(--wr-color-light);
6
- --wr-input-otp-color: var(--wr-color-dark);
4
+ --wr-input-otp-bg: var(--wr-color-surface);
5
+ --wr-input-otp-border: var(--wr-color-outline);
6
+ --wr-input-otp-color: var(--wr-color-on-surface);
7
7
  --wr-input-otp-focus: var(--wr-color-primary);
8
8
  --wr-input-otp-size: 2.5rem; // md cell (40px)
9
9
  --wr-input-otp-font: var(--wr-text-lg); // 18px
@@ -44,8 +44,8 @@
44
44
  }
45
45
 
46
46
  &:disabled {
47
- background: rgba(var(--wr-color-light-rgb), 0.5);
48
- color: var(--wr-color-medium);
47
+ background: rgba(var(--wr-color-outline-rgb), 0.5);
48
+ color: var(--wr-color-on-surface-muted);
49
49
  cursor: not-allowed;
50
50
  }
51
51
  }
@@ -1,11 +1,11 @@
1
1
  .wr-kbd {
2
2
  // Override these on `:root` / a scope to retheme every keycap at once.
3
- --wr-kbd-bg: var(--wr-color-white);
4
- --wr-kbd-border: rgba(var(--wr-color-dark-rgb), 0.18);
5
- --wr-kbd-border-bottom: rgba(var(--wr-color-dark-rgb), 0.32);
6
- --wr-kbd-color: var(--wr-color-dark);
3
+ --wr-kbd-bg: var(--wr-color-surface);
4
+ --wr-kbd-border: rgba(var(--wr-color-on-surface-rgb), 0.18);
5
+ --wr-kbd-border-bottom: rgba(var(--wr-color-on-surface-rgb), 0.32);
6
+ --wr-kbd-color: var(--wr-color-on-surface);
7
7
  --wr-kbd-radius: var(--wr-control-radius-md);
8
- // Shadow uses the always-black backdrop token, not `--wr-color-dark-rgb`
8
+ // Shadow uses the always-black backdrop token, not `--wr-color-on-surface-rgb`
9
9
  // — the dark RGB flips to light in dark mode, which would turn the
10
10
  // 1px drop-shadow into a top highlight.
11
11
  --wr-kbd-shadow: 0 1px 0 rgba(var(--wr-color-backdrop-rgb), 0.25);
@@ -3,7 +3,7 @@
3
3
  .wr-knob {
4
4
  display: inline-block;
5
5
  font-family: var(--wr-font-family-base);
6
- color: var(--wr-color-dark);
6
+ color: var(--wr-color-on-surface);
7
7
 
8
8
  &__surface {
9
9
  position: relative;
@@ -13,6 +13,10 @@
13
13
  touch-action: none;
14
14
  outline: 0;
15
15
 
16
+ // Coarse pointers: floor the dial's hit area at 44px so a small knob
17
+ // (size < 44) stays grabbable. No-op when the dial is already >= 44px.
18
+ @include theme.touch-target($positioned: true);
19
+
16
20
  &:focus-visible {
17
21
  @include theme.focus-ring;
18
22
  border-radius: 50%;
@@ -43,7 +47,7 @@
43
47
  &__suffix {
44
48
  margin-left: 0.125rem;
45
49
  font-size: var(--wr-text-sm);
46
- color: var(--wr-color-medium);
50
+ color: var(--wr-color-on-surface-muted);
47
51
  font-weight: var(--wr-font-weight-medium);
48
52
  }
49
53
 
@@ -6,7 +6,7 @@
6
6
  flex: 1 1 auto;
7
7
  min-height: 0;
8
8
  min-width: 0;
9
- background: var(--wr-color-white);
9
+ background: var(--wr-color-surface);
10
10
 
11
11
  // When a sider is among direct children, switch to row.
12
12
  &--has-sider {
@@ -20,10 +20,10 @@
20
20
  flex: 0 0 auto;
21
21
  min-height: 3.5rem;
22
22
  padding: 0 1.5rem;
23
- background: var(--wr-color-white);
24
- border-bottom: 1px solid var(--wr-color-light);
23
+ background: var(--wr-color-surface);
24
+ border-bottom: 1px solid var(--wr-color-outline);
25
25
  font-family: var(--wr-font-family-base);
26
- color: var(--wr-color-dark);
26
+ color: var(--wr-color-on-surface);
27
27
  }
28
28
 
29
29
  .wr-layout-content {
@@ -32,9 +32,9 @@
32
32
  min-height: 0;
33
33
  min-width: 0;
34
34
  padding: 1.5rem;
35
- background: var(--wr-color-white);
35
+ background: var(--wr-color-surface);
36
36
  font-family: var(--wr-font-family-base);
37
- color: var(--wr-color-dark);
37
+ color: var(--wr-color-on-surface);
38
38
  }
39
39
 
40
40
  .wr-layout-footer {
@@ -43,23 +43,23 @@
43
43
  flex: 0 0 auto;
44
44
  min-height: 3rem;
45
45
  padding: 0 1.5rem;
46
- background: var(--wr-color-white);
47
- border-top: 1px solid var(--wr-color-light);
46
+ background: var(--wr-color-surface);
47
+ border-top: 1px solid var(--wr-color-outline);
48
48
  font-family: var(--wr-font-family-base);
49
- color: var(--wr-color-medium);
49
+ color: var(--wr-color-on-surface-muted);
50
50
  }
51
51
 
52
52
  .wr-layout-sider {
53
53
  flex: 0 0 auto;
54
54
  min-height: 0;
55
- background: var(--wr-color-white);
56
- border-right: 1px solid var(--wr-color-light);
55
+ background: var(--wr-color-surface);
56
+ border-right: 1px solid var(--wr-color-outline);
57
57
  transition: width var(--wr-transition-base);
58
58
  overflow: hidden;
59
59
 
60
60
  &--reverse {
61
61
  order: 1;
62
62
  border-right: 0;
63
- border-left: 1px solid var(--wr-color-light);
63
+ border-left: 1px solid var(--wr-color-outline);
64
64
  }
65
65
  }
@@ -25,9 +25,9 @@
25
25
  // so the shimmer is visible over the reserved area while loading.
26
26
  background: linear-gradient(
27
27
  90deg,
28
- rgba(var(--wr-color-white-rgb), 0) 0%,
29
- rgba(var(--wr-color-white-rgb), 0.45) 50%,
30
- rgba(var(--wr-color-white-rgb), 0) 100%
28
+ rgba(var(--wr-color-surface-rgb), 0) 0%,
29
+ rgba(var(--wr-color-surface-rgb), 0.45) 50%,
30
+ rgba(var(--wr-color-surface-rgb), 0) 100%
31
31
  );
32
32
  background-size: 200% 100%;
33
33
  animation: wr-lightbox-shimmer 1.4s linear infinite;
@@ -95,6 +95,7 @@
95
95
  gap: 1rem;
96
96
  max-width: 95vw;
97
97
  max-height: 95vh;
98
+ max-height: 95dvh;
98
99
  padding: 1rem;
99
100
  animation: wr-lightbox-viewer-in 0.18s ease;
100
101
  outline: none;
@@ -114,8 +115,8 @@
114
115
  padding: 0;
115
116
  border: 0;
116
117
  border-radius: 999px;
117
- background: rgba(var(--wr-color-white-rgb), 0.12);
118
- color: rgba(var(--wr-color-white-rgb), 0.9);
118
+ background: rgba(var(--wr-color-surface-rgb), 0.12);
119
+ color: rgba(var(--wr-color-surface-rgb), 0.9);
119
120
  cursor: pointer;
120
121
  transition:
121
122
  background 0.15s ease,
@@ -124,7 +125,7 @@
124
125
  @include theme.touch-target($positioned: true); // 36px -> 44px tap area on touch
125
126
 
126
127
  &:hover {
127
- background: rgba(var(--wr-color-white-rgb), 0.2);
128
+ background: rgba(var(--wr-color-surface-rgb), 0.2);
128
129
  }
129
130
 
130
131
  &:active {
@@ -132,7 +133,7 @@
132
133
  }
133
134
 
134
135
  &:focus-visible {
135
- outline: 2px solid rgba(var(--wr-color-white-rgb), 0.9);
136
+ outline: 2px solid rgba(var(--wr-color-surface-rgb), 0.9);
136
137
  outline-offset: 2px;
137
138
  }
138
139
  }
@@ -141,13 +142,14 @@
141
142
  display: block;
142
143
  max-width: 100%;
143
144
  max-height: calc(95vh - 4rem);
145
+ max-height: calc(95dvh - 4rem);
144
146
  object-fit: contain;
145
147
  cursor: zoom-out;
146
148
  @include theme.smooth-br(0.5rem);
147
149
  }
148
150
 
149
151
  &__caption {
150
- color: rgba(var(--wr-color-white-rgb), 0.85);
152
+ color: rgba(var(--wr-color-surface-rgb), 0.85);
151
153
  font-family: var(--wr-font-family-base);
152
154
  font-size: var(--wr-text-sm);
153
155
  text-align: center;
@@ -3,7 +3,7 @@
3
3
  .wr-line-chart {
4
4
  display: block;
5
5
  font-family: var(--wr-font-family-base);
6
- color: var(--wr-color-dark);
6
+ color: var(--wr-color-on-surface);
7
7
 
8
8
  &__legend {
9
9
  list-style: none;
@@ -41,8 +41,8 @@
41
41
  &__tooltip {
42
42
  position: absolute;
43
43
  transform: translate(-50%, 0.5rem);
44
- background: var(--wr-color-white);
45
- border: 1px solid var(--wr-color-light);
44
+ background: var(--wr-color-surface);
45
+ border: 1px solid var(--wr-color-outline);
46
46
  border-radius: var(--wr-border-radius-base);
47
47
  box-shadow: var(--wr-shadow-sm);
48
48
  padding: 0.5rem 0.625rem;
@@ -66,7 +66,7 @@
66
66
 
67
67
  &__tooltip-name {
68
68
  flex: 1 1 auto;
69
- color: var(--wr-color-medium);
69
+ color: var(--wr-color-on-surface-muted);
70
70
  }
71
71
 
72
72
  &__tooltip-value {
@@ -85,7 +85,7 @@
85
85
  flex: 1 1 0;
86
86
  text-align: center;
87
87
  font-size: var(--wr-text-xs);
88
- color: var(--wr-color-medium);
88
+ color: var(--wr-color-on-surface-muted);
89
89
  overflow: hidden;
90
90
  text-overflow: ellipsis;
91
91
  white-space: nowrap;
@@ -9,7 +9,7 @@
9
9
  --wr-list-item-padding-y: 0.625rem;
10
10
  --wr-list-item-padding-x: 1rem;
11
11
  --wr-list-item-gap: 0.75rem;
12
- --wr-list-divider-color: var(--wr-color-light);
12
+ --wr-list-divider-color: var(--wr-color-outline);
13
13
  --wr-list-bg: transparent;
14
14
  --wr-list-hover-bg: var(--wr-color-hover);
15
15
  --wr-list-active-bg: rgba(var(--wr-color-primary-rgb), 0.08);
@@ -17,7 +17,7 @@
17
17
  display: block;
18
18
  font-family: var(--wr-font-family-base);
19
19
  font-size: var(--wr-text-sm);
20
- color: var(--wr-color-dark);
20
+ color: var(--wr-color-on-surface);
21
21
  background: var(--wr-list-bg);
22
22
 
23
23
  &__items {
@@ -82,7 +82,7 @@
82
82
  display: inline-flex;
83
83
  align-items: center;
84
84
  flex: 0 0 auto;
85
- color: rgba(var(--wr-color-dark-rgb), 0.65);
85
+ color: rgba(var(--wr-color-on-surface-rgb), 0.65);
86
86
 
87
87
  &:empty {
88
88
  display: none;
package/llms-full.txt CHANGED
@@ -4,10 +4,17 @@
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'`
@@ -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'`
@@ -165,6 +173,7 @@
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'`
@@ -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'`
@@ -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`
@@ -470,6 +492,7 @@
470
492
  ## ngwr/scroll
471
493
  - import: `import { WrScroll } from 'ngwr/scroll'`
472
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`.
473
496
 
474
497
  ## ngwr/segmented
475
498
  - import: `import { WrSegmented } from 'ngwr/segmented'`
@@ -558,8 +581,8 @@
558
581
 
559
582
  ## ngwr/statistic
560
583
  - import: `import { WrStatistic } from 'ngwr/statistic'`
561
- - selector: `wr-statistic-countdown`, `wr-statistic`
562
- - exports: WrStatistic, WrStatisticCountdown
584
+ - selector: `wr-statistic-countdown`, `wr-statistic-group`, `wr-statistic`
585
+ - exports: WrStatistic, WrStatisticCountdown, WrStatisticGroup
563
586
  - KPI card — label + big number + optional prefix / suffix + delta.
564
587
 
565
588
  ## ngwr/stepper
@@ -571,6 +594,7 @@
571
594
  ## ngwr/storage
572
595
  - import: `import { WrStorage } from 'ngwr/storage'`
573
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.
574
598
 
575
599
  ## ngwr/switch
576
600
  - import: `import { WrSwitch } from 'ngwr/switch'`
@@ -580,8 +604,8 @@
580
604
 
581
605
  ## ngwr/table
582
606
  - import: `import { WrTable } from 'ngwr/table'`
583
- - selector: `[wrTableCell]`, `wr-table-filter`, `wr-table-sort`, `wr-table`
584
- - 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
585
609
  - Data table with sortable / filterable headers and custom cell templates.
586
610
 
587
611
  ## ngwr/tabs
@@ -599,6 +623,7 @@
599
623
  ## ngwr/theme
600
624
  - import: `import { WR_COLORS } from 'ngwr/theme'`
601
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`.
602
627
 
603
628
  ## ngwr/tilt-card
604
629
  - import: `import { WrTiltCard } from 'ngwr/tilt-card'`
@@ -638,6 +663,7 @@
638
663
  - import: `import { WrTypography } from 'ngwr/typography'`
639
664
  - selector: `[wrTypography]`
640
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.
641
667
 
642
668
  ## ngwr/utils
643
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;