ngwr 6.0.0 → 7.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 (696) hide show
  1. package/LICENSE +1 -3
  2. package/README.md +179 -32
  3. package/affix/styles/_index.scss +12 -0
  4. package/alert/styles/_index.scss +75 -32
  5. package/anchor/styles/_index.scss +59 -0
  6. package/aurora/aurora.scss +1 -0
  7. package/aurora/styles/_index.scss +30 -0
  8. package/avatar/styles/_index.scss +30 -14
  9. package/back-top/styles/_index.scss +42 -0
  10. package/badge/styles/_index.scss +80 -0
  11. package/badge/styles/_tag.scss +81 -0
  12. package/bar-chart/styles/_index.scss +56 -0
  13. package/blur-text/blur-text.scss +1 -0
  14. package/blur-text/styles/_index.scss +14 -0
  15. package/border-glow/border-glow.scss +4 -0
  16. package/border-glow/styles/_index.scss +228 -0
  17. package/breadcrumbs/breadcrumbs.scss +1 -0
  18. package/breadcrumbs/styles/_index.scss +76 -0
  19. package/button/styles/_index.scss +148 -125
  20. package/calendar/styles/_index.scss +252 -0
  21. package/calendar-heatmap/styles/_index.scss +69 -0
  22. package/card/card.scss +1 -0
  23. package/card/styles/_index.scss +96 -0
  24. package/carousel/styles/_index.scss +102 -0
  25. package/cascader/cascader.scss +1 -0
  26. package/cascader/styles/_index.scss +174 -0
  27. package/checkbox/styles/_index.scss +76 -60
  28. package/circular-text/circular-text.scss +1 -0
  29. package/circular-text/styles/_index.scss +45 -0
  30. package/click-spark/click-spark.scss +1 -0
  31. package/click-spark/styles/_index.scss +16 -0
  32. package/collapse/styles/_index.scss +92 -0
  33. package/color-picker/styles/_index.scss +247 -0
  34. package/command-palette/styles/_index.scss +188 -0
  35. package/compare/styles/_index.scss +100 -0
  36. package/context-menu/styles/_index.scss +112 -0
  37. package/counter/styles/_index.scss +44 -0
  38. package/date-picker/styles/_index.scss +204 -0
  39. package/decrypt-text/decrypt-text.scss +1 -0
  40. package/decrypt-text/styles/_index.scss +26 -0
  41. package/density/styles/_index.scss +37 -0
  42. package/descriptions/styles/_index.scss +104 -0
  43. package/dialog/styles/_index.scss +101 -27
  44. package/divider/styles/_index.scss +43 -24
  45. package/donut-chart/styles/_index.scss +76 -0
  46. package/drag-drop/sortable-list.scss +1 -0
  47. package/drag-drop/styles/_index.scss +99 -0
  48. package/drawer/styles/_index.scss +164 -0
  49. package/dropdown/styles/_index.scss +76 -56
  50. package/empty/styles/_index.scss +49 -0
  51. package/falling-text/falling-text.scss +1 -0
  52. package/falling-text/styles/_index.scss +30 -0
  53. package/fesm2022/ngwr-affix.mjs +102 -0
  54. package/fesm2022/ngwr-affix.mjs.map +1 -0
  55. package/fesm2022/ngwr-alert.mjs +70 -52
  56. package/fesm2022/ngwr-alert.mjs.map +1 -1
  57. package/fesm2022/ngwr-anchor.mjs +103 -0
  58. package/fesm2022/ngwr-anchor.mjs.map +1 -0
  59. package/fesm2022/ngwr-aurora.mjs +309 -0
  60. package/fesm2022/ngwr-aurora.mjs.map +1 -0
  61. package/fesm2022/ngwr-avatar.mjs +81 -71
  62. package/fesm2022/ngwr-avatar.mjs.map +1 -1
  63. package/fesm2022/ngwr-back-top.mjs +81 -0
  64. package/fesm2022/ngwr-back-top.mjs.map +1 -0
  65. package/fesm2022/ngwr-badge.mjs +192 -0
  66. package/fesm2022/ngwr-badge.mjs.map +1 -0
  67. package/fesm2022/ngwr-bar-chart.mjs +69 -0
  68. package/fesm2022/ngwr-bar-chart.mjs.map +1 -0
  69. package/fesm2022/ngwr-blur-text.mjs +181 -0
  70. package/fesm2022/ngwr-blur-text.mjs.map +1 -0
  71. package/fesm2022/ngwr-border-glow.mjs +278 -0
  72. package/fesm2022/ngwr-border-glow.mjs.map +1 -0
  73. package/fesm2022/ngwr-breadcrumbs.mjs +101 -0
  74. package/fesm2022/ngwr-breadcrumbs.mjs.map +1 -0
  75. package/fesm2022/ngwr-button.mjs +179 -104
  76. package/fesm2022/ngwr-button.mjs.map +1 -1
  77. package/fesm2022/ngwr-calendar-heatmap.mjs +145 -0
  78. package/fesm2022/ngwr-calendar-heatmap.mjs.map +1 -0
  79. package/fesm2022/ngwr-calendar.mjs +402 -0
  80. package/fesm2022/ngwr-calendar.mjs.map +1 -0
  81. package/fesm2022/ngwr-card.mjs +100 -0
  82. package/fesm2022/ngwr-card.mjs.map +1 -0
  83. package/fesm2022/ngwr-carousel.mjs +128 -0
  84. package/fesm2022/ngwr-carousel.mjs.map +1 -0
  85. package/fesm2022/ngwr-cascader.mjs +280 -0
  86. package/fesm2022/ngwr-cascader.mjs.map +1 -0
  87. package/fesm2022/ngwr-checkbox.mjs +214 -54
  88. package/fesm2022/ngwr-checkbox.mjs.map +1 -1
  89. package/fesm2022/ngwr-circular-text.mjs +168 -0
  90. package/fesm2022/ngwr-circular-text.mjs.map +1 -0
  91. package/fesm2022/ngwr-click-spark.mjs +163 -0
  92. package/fesm2022/ngwr-click-spark.mjs.map +1 -0
  93. package/fesm2022/ngwr-clipboard.mjs +130 -0
  94. package/fesm2022/ngwr-clipboard.mjs.map +1 -0
  95. package/fesm2022/ngwr-collapse.mjs +232 -0
  96. package/fesm2022/ngwr-collapse.mjs.map +1 -0
  97. package/fesm2022/ngwr-color-picker.mjs +646 -0
  98. package/fesm2022/ngwr-color-picker.mjs.map +1 -0
  99. package/fesm2022/ngwr-command-palette.mjs +259 -0
  100. package/fesm2022/ngwr-command-palette.mjs.map +1 -0
  101. package/fesm2022/ngwr-compare.mjs +137 -0
  102. package/fesm2022/ngwr-compare.mjs.map +1 -0
  103. package/fesm2022/ngwr-confetti.mjs +160 -0
  104. package/fesm2022/ngwr-confetti.mjs.map +1 -0
  105. package/fesm2022/ngwr-context-menu.mjs +653 -0
  106. package/fesm2022/ngwr-context-menu.mjs.map +1 -0
  107. package/fesm2022/ngwr-cookie.mjs +127 -0
  108. package/fesm2022/ngwr-cookie.mjs.map +1 -0
  109. package/fesm2022/ngwr-counter.mjs +415 -0
  110. package/fesm2022/ngwr-counter.mjs.map +1 -0
  111. package/fesm2022/ngwr-date-adapter-fns.mjs +180 -0
  112. package/fesm2022/ngwr-date-adapter-fns.mjs.map +1 -0
  113. package/fesm2022/ngwr-date-adapter-luxon.mjs +201 -0
  114. package/fesm2022/ngwr-date-adapter-luxon.mjs.map +1 -0
  115. package/fesm2022/ngwr-date-adapter.mjs +419 -0
  116. package/fesm2022/ngwr-date-adapter.mjs.map +1 -0
  117. package/fesm2022/ngwr-date-picker.mjs +624 -0
  118. package/fesm2022/ngwr-date-picker.mjs.map +1 -0
  119. package/fesm2022/ngwr-decrypt-text.mjs +396 -0
  120. package/fesm2022/ngwr-decrypt-text.mjs.map +1 -0
  121. package/fesm2022/ngwr-density.mjs +157 -0
  122. package/fesm2022/ngwr-density.mjs.map +1 -0
  123. package/fesm2022/ngwr-descriptions.mjs +83 -0
  124. package/fesm2022/ngwr-descriptions.mjs.map +1 -0
  125. package/fesm2022/ngwr-dialog.mjs +249 -383
  126. package/fesm2022/ngwr-dialog.mjs.map +1 -1
  127. package/fesm2022/ngwr-directives.mjs +315 -0
  128. package/fesm2022/ngwr-directives.mjs.map +1 -0
  129. package/fesm2022/ngwr-divider.mjs +74 -59
  130. package/fesm2022/ngwr-divider.mjs.map +1 -1
  131. package/fesm2022/ngwr-donut-chart.mjs +131 -0
  132. package/fesm2022/ngwr-donut-chart.mjs.map +1 -0
  133. package/fesm2022/ngwr-drag-drop.mjs +117 -0
  134. package/fesm2022/ngwr-drag-drop.mjs.map +1 -0
  135. package/fesm2022/ngwr-drawer.mjs +315 -0
  136. package/fesm2022/ngwr-drawer.mjs.map +1 -0
  137. package/fesm2022/ngwr-dropdown.mjs +276 -229
  138. package/fesm2022/ngwr-dropdown.mjs.map +1 -1
  139. package/fesm2022/ngwr-empty.mjs +57 -0
  140. package/fesm2022/ngwr-empty.mjs.map +1 -0
  141. package/fesm2022/ngwr-falling-text.mjs +316 -0
  142. package/fesm2022/ngwr-falling-text.mjs.map +1 -0
  143. package/fesm2022/ngwr-file-upload.mjs +260 -0
  144. package/fesm2022/ngwr-file-upload.mjs.map +1 -0
  145. package/fesm2022/ngwr-form.mjs +133 -48
  146. package/fesm2022/ngwr-form.mjs.map +1 -1
  147. package/fesm2022/ngwr-fuzzy-text.mjs +373 -0
  148. package/fesm2022/ngwr-fuzzy-text.mjs.map +1 -0
  149. package/fesm2022/ngwr-gauge.mjs +83 -0
  150. package/fesm2022/ngwr-gauge.mjs.map +1 -0
  151. package/fesm2022/ngwr-glitch-text.mjs +67 -0
  152. package/fesm2022/ngwr-glitch-text.mjs.map +1 -0
  153. package/fesm2022/ngwr-gradient-text.mjs +109 -0
  154. package/fesm2022/ngwr-gradient-text.mjs.map +1 -0
  155. package/fesm2022/ngwr-hotkey.mjs +263 -0
  156. package/fesm2022/ngwr-hotkey.mjs.map +1 -0
  157. package/fesm2022/ngwr-i18n-en.mjs +168 -0
  158. package/fesm2022/ngwr-i18n-en.mjs.map +1 -0
  159. package/fesm2022/ngwr-i18n-ru.mjs +156 -0
  160. package/fesm2022/ngwr-i18n-ru.mjs.map +1 -0
  161. package/fesm2022/ngwr-i18n.mjs +478 -0
  162. package/fesm2022/ngwr-i18n.mjs.map +1 -0
  163. package/fesm2022/ngwr-icon-adapters-feather.mjs +74 -0
  164. package/fesm2022/ngwr-icon-adapters-feather.mjs.map +1 -0
  165. package/fesm2022/ngwr-icon-adapters-lucide.mjs +88 -0
  166. package/fesm2022/ngwr-icon-adapters-lucide.mjs.map +1 -0
  167. package/fesm2022/ngwr-icon.mjs +189 -650
  168. package/fesm2022/ngwr-icon.mjs.map +1 -1
  169. package/fesm2022/ngwr-image-cropper.mjs +299 -0
  170. package/fesm2022/ngwr-image-cropper.mjs.map +1 -0
  171. package/fesm2022/ngwr-input-number.mjs +239 -0
  172. package/fesm2022/ngwr-input-number.mjs.map +1 -0
  173. package/fesm2022/ngwr-input-otp.mjs +216 -0
  174. package/fesm2022/ngwr-input-otp.mjs.map +1 -0
  175. package/fesm2022/ngwr-input.mjs +183 -104
  176. package/fesm2022/ngwr-input.mjs.map +1 -1
  177. package/fesm2022/ngwr-keyboard.mjs +47 -0
  178. package/fesm2022/ngwr-keyboard.mjs.map +1 -0
  179. package/fesm2022/ngwr-knob.mjs +227 -0
  180. package/fesm2022/ngwr-knob.mjs.map +1 -0
  181. package/fesm2022/ngwr-layout.mjs +197 -0
  182. package/fesm2022/ngwr-layout.mjs.map +1 -0
  183. package/fesm2022/ngwr-lightbox.mjs +131 -0
  184. package/fesm2022/ngwr-lightbox.mjs.map +1 -0
  185. package/fesm2022/ngwr-line-chart.mjs +176 -0
  186. package/fesm2022/ngwr-line-chart.mjs.map +1 -0
  187. package/fesm2022/ngwr-list.mjs +132 -0
  188. package/fesm2022/ngwr-list.mjs.map +1 -0
  189. package/fesm2022/ngwr-loading-bar.mjs +160 -0
  190. package/fesm2022/ngwr-loading-bar.mjs.map +1 -0
  191. package/fesm2022/ngwr-marquee.mjs +224 -0
  192. package/fesm2022/ngwr-marquee.mjs.map +1 -0
  193. package/fesm2022/ngwr-media.mjs +132 -0
  194. package/fesm2022/ngwr-media.mjs.map +1 -0
  195. package/fesm2022/ngwr-mention.mjs +374 -0
  196. package/fesm2022/ngwr-mention.mjs.map +1 -0
  197. package/fesm2022/ngwr-meta.mjs +266 -0
  198. package/fesm2022/ngwr-meta.mjs.map +1 -0
  199. package/fesm2022/ngwr-meter-group.mjs +73 -0
  200. package/fesm2022/ngwr-meter-group.mjs.map +1 -0
  201. package/fesm2022/ngwr-overlay.mjs +145 -0
  202. package/fesm2022/ngwr-overlay.mjs.map +1 -0
  203. package/fesm2022/ngwr-page-header.mjs +53 -0
  204. package/fesm2022/ngwr-page-header.mjs.map +1 -0
  205. package/fesm2022/ngwr-pagination.mjs +152 -96
  206. package/fesm2022/ngwr-pagination.mjs.map +1 -1
  207. package/fesm2022/ngwr-pipes.mjs +290 -11
  208. package/fesm2022/ngwr-pipes.mjs.map +1 -1
  209. package/fesm2022/ngwr-platform.mjs +63 -0
  210. package/fesm2022/ngwr-platform.mjs.map +1 -0
  211. package/fesm2022/ngwr-popconfirm.mjs +188 -0
  212. package/fesm2022/ngwr-popconfirm.mjs.map +1 -0
  213. package/fesm2022/ngwr-popover.mjs +361 -0
  214. package/fesm2022/ngwr-popover.mjs.map +1 -0
  215. package/fesm2022/ngwr-progress.mjs +47 -39
  216. package/fesm2022/ngwr-progress.mjs.map +1 -1
  217. package/fesm2022/ngwr-qr.mjs +168 -190
  218. package/fesm2022/ngwr-qr.mjs.map +1 -1
  219. package/fesm2022/ngwr-radio.mjs +204 -0
  220. package/fesm2022/ngwr-radio.mjs.map +1 -0
  221. package/fesm2022/ngwr-rating.mjs +180 -0
  222. package/fesm2022/ngwr-rating.mjs.map +1 -0
  223. package/fesm2022/ngwr-result.mjs +119 -0
  224. package/fesm2022/ngwr-result.mjs.map +1 -0
  225. package/fesm2022/ngwr-rotating-text.mjs +256 -0
  226. package/fesm2022/ngwr-rotating-text.mjs.map +1 -0
  227. package/fesm2022/ngwr-scramble-text.mjs +165 -0
  228. package/fesm2022/ngwr-scramble-text.mjs.map +1 -0
  229. package/fesm2022/ngwr-scroll.mjs +107 -0
  230. package/fesm2022/ngwr-scroll.mjs.map +1 -0
  231. package/fesm2022/ngwr-segmented.mjs +96 -0
  232. package/fesm2022/ngwr-segmented.mjs.map +1 -0
  233. package/fesm2022/ngwr-select.mjs +842 -307
  234. package/fesm2022/ngwr-select.mjs.map +1 -1
  235. package/fesm2022/ngwr-shiny-text.mjs +127 -0
  236. package/fesm2022/ngwr-shiny-text.mjs.map +1 -0
  237. package/fesm2022/ngwr-sidebar.mjs +134 -0
  238. package/fesm2022/ngwr-sidebar.mjs.map +1 -0
  239. package/fesm2022/ngwr-skeleton.mjs +59 -34
  240. package/fesm2022/ngwr-skeleton.mjs.map +1 -1
  241. package/fesm2022/ngwr-slider.mjs +234 -0
  242. package/fesm2022/ngwr-slider.mjs.map +1 -0
  243. package/fesm2022/ngwr-sparkline.mjs +104 -0
  244. package/fesm2022/ngwr-sparkline.mjs.map +1 -0
  245. package/fesm2022/ngwr-speed-dial.mjs +79 -0
  246. package/fesm2022/ngwr-speed-dial.mjs.map +1 -0
  247. package/fesm2022/ngwr-spinner.mjs +34 -28
  248. package/fesm2022/ngwr-spinner.mjs.map +1 -1
  249. package/fesm2022/ngwr-splash-cursor.mjs +970 -0
  250. package/fesm2022/ngwr-splash-cursor.mjs.map +1 -0
  251. package/fesm2022/ngwr-split-text.mjs +200 -0
  252. package/fesm2022/ngwr-split-text.mjs.map +1 -0
  253. package/fesm2022/ngwr-splitter.mjs +125 -0
  254. package/fesm2022/ngwr-splitter.mjs.map +1 -0
  255. package/fesm2022/ngwr-spotlight-card.mjs +138 -0
  256. package/fesm2022/ngwr-spotlight-card.mjs.map +1 -0
  257. package/fesm2022/ngwr-squircle.mjs +320 -0
  258. package/fesm2022/ngwr-squircle.mjs.map +1 -0
  259. package/fesm2022/ngwr-star-border.mjs +72 -0
  260. package/fesm2022/ngwr-star-border.mjs.map +1 -0
  261. package/fesm2022/ngwr-statistic.mjs +220 -0
  262. package/fesm2022/ngwr-statistic.mjs.map +1 -0
  263. package/fesm2022/ngwr-stepper.mjs +186 -0
  264. package/fesm2022/ngwr-stepper.mjs.map +1 -0
  265. package/fesm2022/ngwr-storage.mjs +317 -0
  266. package/fesm2022/ngwr-storage.mjs.map +1 -0
  267. package/fesm2022/ngwr-switch.mjs +99 -0
  268. package/fesm2022/ngwr-switch.mjs.map +1 -0
  269. package/fesm2022/ngwr-table.mjs +218 -207
  270. package/fesm2022/ngwr-table.mjs.map +1 -1
  271. package/fesm2022/ngwr-tabs.mjs +217 -0
  272. package/fesm2022/ngwr-tabs.mjs.map +1 -0
  273. package/fesm2022/ngwr-textarea.mjs +106 -120
  274. package/fesm2022/ngwr-textarea.mjs.map +1 -1
  275. package/fesm2022/ngwr-theme.mjs +152 -0
  276. package/fesm2022/ngwr-theme.mjs.map +1 -0
  277. package/fesm2022/ngwr-tilt-card.mjs +137 -0
  278. package/fesm2022/ngwr-tilt-card.mjs.map +1 -0
  279. package/fesm2022/ngwr-timeline.mjs +73 -0
  280. package/fesm2022/ngwr-timeline.mjs.map +1 -0
  281. package/fesm2022/ngwr-toast.mjs +446 -0
  282. package/fesm2022/ngwr-toast.mjs.map +1 -0
  283. package/fesm2022/ngwr-toolbar.mjs +46 -0
  284. package/fesm2022/ngwr-toolbar.mjs.map +1 -0
  285. package/fesm2022/ngwr-tree.mjs +483 -0
  286. package/fesm2022/ngwr-tree.mjs.map +1 -0
  287. package/fesm2022/ngwr-typewriter.mjs +229 -0
  288. package/fesm2022/ngwr-typewriter.mjs.map +1 -0
  289. package/fesm2022/ngwr-typography.mjs +79 -0
  290. package/fesm2022/ngwr-typography.mjs.map +1 -0
  291. package/fesm2022/ngwr-utils.mjs +535 -0
  292. package/fesm2022/ngwr-utils.mjs.map +1 -0
  293. package/fesm2022/ngwr-validators.mjs +214 -0
  294. package/fesm2022/ngwr-validators.mjs.map +1 -0
  295. package/fesm2022/ngwr-version.mjs +51 -0
  296. package/fesm2022/ngwr-version.mjs.map +1 -0
  297. package/fesm2022/ngwr-virtual-scroll.mjs +99 -0
  298. package/fesm2022/ngwr-virtual-scroll.mjs.map +1 -0
  299. package/fesm2022/ngwr-waves.mjs +356 -0
  300. package/fesm2022/ngwr-waves.mjs.map +1 -0
  301. package/fesm2022/ngwr-window.mjs +1141 -0
  302. package/fesm2022/ngwr-window.mjs.map +1 -0
  303. package/fesm2022/ngwr.mjs +0 -3
  304. package/fesm2022/ngwr.mjs.map +1 -1
  305. package/file-upload/styles/_index.scss +152 -0
  306. package/form/styles/_index.scss +85 -42
  307. package/gauge/styles/_index.scss +37 -0
  308. package/glitch-text/glitch-text.scss +1 -0
  309. package/glitch-text/styles/_index.scss +144 -0
  310. package/gradient-text/gradient-text.scss +1 -0
  311. package/gradient-text/styles/_index.scss +113 -0
  312. package/icon/styles/_index.scss +21 -15
  313. package/image-cropper/styles/_index.scss +114 -0
  314. package/input/styles/_index.scss +133 -93
  315. package/input-number/styles/_index.scss +75 -0
  316. package/input-otp/styles/_index.scss +53 -0
  317. package/keyboard/styles/_index.scss +55 -0
  318. package/knob/styles/_index.scss +54 -0
  319. package/layout/styles/_index.scss +65 -0
  320. package/lightbox/lightbox.scss +1 -0
  321. package/lightbox/styles/_index.scss +144 -0
  322. package/line-chart/styles/_index.scss +93 -0
  323. package/list/list.scss +1 -0
  324. package/list/styles/_index.scss +101 -0
  325. package/loading-bar/loading-bar.scss +1 -0
  326. package/loading-bar/styles/_index.scss +29 -0
  327. package/marquee/marquee.scss +1 -0
  328. package/marquee/styles/_index.scss +138 -0
  329. package/mention/styles/_index.scss +47 -0
  330. package/meter-group/styles/_index.scss +61 -0
  331. package/package.json +576 -99
  332. package/page-header/styles/_index.scss +78 -0
  333. package/pagination/styles/_index.scss +89 -34
  334. package/popconfirm/styles/_index.scss +32 -0
  335. package/popover/styles/_index.scss +83 -0
  336. package/progress/styles/_index.scss +29 -14
  337. package/qr/styles/_index.scss +6 -3
  338. package/radio/styles/_index.scss +111 -0
  339. package/rating/styles/_index.scss +63 -0
  340. package/result/styles/_index.scss +69 -0
  341. package/rotating-text/rotating-text.scss +1 -0
  342. package/rotating-text/styles/_index.scss +39 -0
  343. package/schematics/collection.json +37 -0
  344. package/schematics/component-style/index.js +49 -0
  345. package/{alert/alert-type.d.ts → schematics/component-style/schema.js} +2 -1
  346. package/schematics/component-style/schema.json +20 -0
  347. package/schematics/icon-set/index.js +96 -0
  348. package/{avatar/public-api.d.ts → schematics/icon-set/schema.js} +2 -1
  349. package/schematics/icon-set/schema.json +39 -0
  350. package/schematics/migrations/v7/index.js +187 -0
  351. package/schematics/migrations.json +10 -0
  352. package/schematics/ng-add/index.js +180 -0
  353. package/{cdk/public-api.d.ts → schematics/ng-add/schema.js} +2 -1
  354. package/schematics/ng-add/schema.json +80 -0
  355. package/schematics/page/index.js +63 -0
  356. package/{alert/public-api.d.ts → schematics/page/schema.js} +2 -2
  357. package/schematics/page/schema.json +39 -0
  358. package/schematics/page/templates.js +198 -0
  359. package/schematics/provider/index.js +126 -0
  360. package/schematics/provider/schema.js +8 -0
  361. package/schematics/provider/schema.json +52 -0
  362. package/schematics/use/index.js +143 -0
  363. package/schematics/use/schema.js +8 -0
  364. package/schematics/use/schema.json +25 -0
  365. package/schematics/use/symbol-map.json +356 -0
  366. package/scramble-text/scramble-text.scss +1 -0
  367. package/scramble-text/styles/_index.scss +8 -0
  368. package/segmented/styles/_index.scss +92 -0
  369. package/select/styles/_index.scss +245 -159
  370. package/shiny-text/shiny-text.scss +1 -0
  371. package/shiny-text/styles/_index.scss +101 -0
  372. package/sidebar/styles/_index.scss +208 -0
  373. package/skeleton/styles/_index.scss +33 -33
  374. package/slider/styles/_index.scss +77 -0
  375. package/sparkline/styles/_index.scss +9 -0
  376. package/speed-dial/styles/_index.scss +158 -0
  377. package/spinner/styles/_index.scss +38 -22
  378. package/splash-cursor/splash-cursor.scss +1 -0
  379. package/splash-cursor/styles/_index.scss +27 -0
  380. package/split-text/split-text.scss +1 -0
  381. package/split-text/styles/_index.scss +22 -0
  382. package/splitter/styles/_index.scss +85 -0
  383. package/spotlight-card/spotlight-card.scss +1 -0
  384. package/spotlight-card/styles/_index.scss +43 -0
  385. package/squircle/styles/_index.scss +34 -0
  386. package/star-border/star-border.scss +1 -0
  387. package/star-border/styles/_index.scss +118 -0
  388. package/statistic/styles/_index.scss +54 -0
  389. package/stepper/styles/_index.scss +162 -0
  390. package/styles/_animations.scss +198 -0
  391. package/styles/_breakpoints.scss +75 -0
  392. package/styles/_grid.scss +71 -0
  393. package/styles/_reset.scss +123 -0
  394. package/styles/_typography.scss +122 -0
  395. package/styles.scss +102 -13
  396. package/switch/styles/_index.scss +82 -0
  397. package/table/styles/_index.scss +255 -4
  398. package/tabs/styles/_index.scss +71 -0
  399. package/textarea/styles/_index.scss +47 -56
  400. package/theme/styles/_colors.scss +83 -0
  401. package/theme/styles/_dark.scss +85 -0
  402. package/theme/styles/_focus.scss +93 -0
  403. package/theme/styles/_index.scss +5 -0
  404. package/theme/styles/_mixins.scss +57 -0
  405. package/theme/styles/_variables.scss +118 -0
  406. package/tilt-card/styles/_index.scss +40 -0
  407. package/tilt-card/tilt-card.scss +1 -0
  408. package/timeline/styles/_index.scss +127 -0
  409. package/toast/styles/_index.scss +263 -0
  410. package/toolbar/styles/_index.scss +65 -0
  411. package/tree/styles/_index.scss +271 -0
  412. package/types/ngwr-affix.d.ts +43 -0
  413. package/types/ngwr-alert.d.ts +68 -0
  414. package/types/ngwr-anchor.d.ts +53 -0
  415. package/types/ngwr-aurora.d.ts +52 -0
  416. package/types/ngwr-avatar.d.ts +90 -0
  417. package/types/ngwr-back-top.d.ts +37 -0
  418. package/types/ngwr-badge.d.ts +158 -0
  419. package/types/ngwr-bar-chart.d.ts +47 -0
  420. package/types/ngwr-blur-text.d.ts +62 -0
  421. package/types/ngwr-border-glow.d.ts +66 -0
  422. package/types/ngwr-breadcrumbs.d.ts +61 -0
  423. package/types/ngwr-button.d.ts +176 -0
  424. package/types/ngwr-calendar-heatmap.d.ts +58 -0
  425. package/types/ngwr-calendar.d.ts +116 -0
  426. package/types/ngwr-card.d.ts +50 -0
  427. package/types/ngwr-carousel.d.ts +57 -0
  428. package/types/ngwr-cascader.d.ts +107 -0
  429. package/types/ngwr-checkbox.d.ts +139 -0
  430. package/types/ngwr-circular-text.d.ts +49 -0
  431. package/types/ngwr-click-spark.d.ts +52 -0
  432. package/types/ngwr-clipboard.d.ts +53 -0
  433. package/types/ngwr-collapse.d.ts +139 -0
  434. package/types/ngwr-color-picker.d.ts +302 -0
  435. package/types/ngwr-command-palette.d.ts +113 -0
  436. package/types/ngwr-compare.d.ts +55 -0
  437. package/types/ngwr-confetti.d.ts +70 -0
  438. package/types/ngwr-context-menu.d.ts +207 -0
  439. package/types/ngwr-cookie.d.ts +60 -0
  440. package/types/ngwr-counter.d.ts +182 -0
  441. package/types/ngwr-date-adapter-fns.d.ts +73 -0
  442. package/types/ngwr-date-adapter-luxon.d.ts +73 -0
  443. package/types/ngwr-date-adapter.d.ts +198 -0
  444. package/types/ngwr-date-picker.d.ts +117 -0
  445. package/types/ngwr-decrypt-text.d.ts +85 -0
  446. package/types/ngwr-density.d.ts +97 -0
  447. package/types/ngwr-descriptions.d.ts +41 -0
  448. package/types/ngwr-dialog.d.ts +210 -0
  449. package/types/ngwr-directives.d.ts +125 -0
  450. package/types/ngwr-divider.d.ts +73 -0
  451. package/types/ngwr-donut-chart.d.ts +53 -0
  452. package/types/ngwr-drag-drop.d.ts +83 -0
  453. package/types/ngwr-drawer.d.ts +155 -0
  454. package/types/ngwr-dropdown.d.ts +124 -0
  455. package/types/ngwr-empty.d.ts +38 -0
  456. package/types/ngwr-falling-text.d.ts +63 -0
  457. package/types/ngwr-file-upload.d.ts +94 -0
  458. package/types/ngwr-form.d.ts +95 -0
  459. package/types/ngwr-fuzzy-text.d.ts +74 -0
  460. package/types/ngwr-gauge.d.ts +39 -0
  461. package/types/ngwr-glitch-text.d.ts +31 -0
  462. package/types/ngwr-gradient-text.d.ts +46 -0
  463. package/types/ngwr-hotkey.d.ts +142 -0
  464. package/types/ngwr-i18n-en.d.ts +18 -0
  465. package/types/ngwr-i18n-ru.d.ts +6 -0
  466. package/types/ngwr-i18n.d.ts +336 -0
  467. package/types/ngwr-icon-adapters-feather.d.ts +44 -0
  468. package/types/ngwr-icon-adapters-lucide.d.ts +54 -0
  469. package/types/ngwr-icon.d.ts +180 -0
  470. package/types/ngwr-image-cropper.d.ts +110 -0
  471. package/types/ngwr-input-number.d.ts +77 -0
  472. package/types/ngwr-input-otp.d.ts +78 -0
  473. package/types/ngwr-input.d.ts +131 -0
  474. package/types/ngwr-keyboard.d.ts +34 -0
  475. package/types/ngwr-knob.d.ts +77 -0
  476. package/types/ngwr-layout.d.ts +89 -0
  477. package/types/ngwr-lightbox.d.ts +50 -0
  478. package/types/ngwr-line-chart.d.ts +90 -0
  479. package/types/ngwr-list.d.ts +71 -0
  480. package/types/ngwr-loading-bar.d.ts +79 -0
  481. package/types/ngwr-marquee.d.ts +95 -0
  482. package/types/ngwr-media.d.ts +74 -0
  483. package/types/ngwr-mention.d.ts +110 -0
  484. package/types/ngwr-meta.d.ts +164 -0
  485. package/types/ngwr-meter-group.d.ts +57 -0
  486. package/types/ngwr-overlay.d.ts +110 -0
  487. package/types/ngwr-page-header.d.ts +35 -0
  488. package/types/ngwr-pagination.d.ts +119 -0
  489. package/types/ngwr-pipes.d.ts +177 -0
  490. package/types/ngwr-platform.d.ts +38 -0
  491. package/types/ngwr-popconfirm.d.ts +79 -0
  492. package/types/ngwr-popover.d.ts +90 -0
  493. package/types/ngwr-progress.d.ts +33 -0
  494. package/types/ngwr-qr.d.ts +56 -0
  495. package/types/ngwr-radio.d.ts +120 -0
  496. package/types/ngwr-rating.d.ts +62 -0
  497. package/types/ngwr-result.d.ts +64 -0
  498. package/types/ngwr-rotating-text.d.ts +72 -0
  499. package/types/ngwr-scramble-text.d.ts +49 -0
  500. package/types/ngwr-scroll.d.ts +65 -0
  501. package/types/ngwr-segmented.d.ts +65 -0
  502. package/types/ngwr-select.d.ts +413 -0
  503. package/types/ngwr-shiny-text.d.ts +70 -0
  504. package/types/ngwr-sidebar.d.ts +83 -0
  505. package/types/ngwr-skeleton.d.ts +41 -0
  506. package/types/ngwr-slider.d.ts +86 -0
  507. package/types/ngwr-sparkline.d.ts +48 -0
  508. package/types/ngwr-speed-dial.d.ts +51 -0
  509. package/types/ngwr-spinner.d.ts +41 -0
  510. package/types/ngwr-splash-cursor.d.ts +94 -0
  511. package/types/ngwr-split-text.d.ts +83 -0
  512. package/types/ngwr-splitter.d.ts +52 -0
  513. package/types/ngwr-spotlight-card.d.ts +71 -0
  514. package/types/ngwr-squircle.d.ts +132 -0
  515. package/types/ngwr-star-border.d.ts +40 -0
  516. package/types/ngwr-statistic.d.ts +88 -0
  517. package/types/ngwr-stepper.d.ts +99 -0
  518. package/types/ngwr-storage.d.ts +178 -0
  519. package/types/ngwr-switch.d.ts +39 -0
  520. package/types/ngwr-table.d.ts +237 -0
  521. package/types/ngwr-tabs.d.ts +125 -0
  522. package/types/ngwr-textarea.d.ts +60 -0
  523. package/types/ngwr-theme.d.ts +124 -0
  524. package/types/ngwr-tilt-card.d.ts +63 -0
  525. package/types/ngwr-timeline.d.ts +40 -0
  526. package/types/ngwr-toast.d.ts +230 -0
  527. package/types/ngwr-toolbar.d.ts +30 -0
  528. package/types/ngwr-tree.d.ts +150 -0
  529. package/types/ngwr-typewriter.d.ts +84 -0
  530. package/types/ngwr-typography.d.ts +56 -0
  531. package/types/ngwr-utils.d.ts +447 -0
  532. package/types/ngwr-validators.d.ts +70 -0
  533. package/types/ngwr-version.d.ts +44 -0
  534. package/types/ngwr-virtual-scroll.d.ts +64 -0
  535. package/types/ngwr-waves.d.ts +71 -0
  536. package/types/ngwr-window.d.ts +437 -0
  537. package/types/ngwr.d.ts +2 -0
  538. package/typewriter/styles/_index.scss +33 -0
  539. package/typewriter/typewriter.scss +1 -0
  540. package/typography/styles/_index.scss +211 -0
  541. package/virtual-scroll/styles/_index.scss +27 -0
  542. package/virtual-scroll/virtual-scroll.scss +1 -0
  543. package/waves/styles/_index.scss +24 -0
  544. package/waves/waves.scss +1 -0
  545. package/window/styles/_index.scss +430 -0
  546. package/alert/alert.component.d.ts +0 -21
  547. package/alert/index.d.ts +0 -5
  548. package/alert/styles/theming.scss +0 -26
  549. package/alert/styles/vars.scss +0 -11
  550. package/avatar/avatar.component.d.ts +0 -27
  551. package/avatar/index.d.ts +0 -5
  552. package/button/button-group.component.d.ts +0 -12
  553. package/button/button.component.d.ts +0 -31
  554. package/button/index.d.ts +0 -5
  555. package/button/public-api.d.ts +0 -8
  556. package/button/styles/vars.scss +0 -13
  557. package/cdk/base.directive.d.ts +0 -20
  558. package/cdk/index.d.ts +0 -5
  559. package/cdk/rxjs/index.d.ts +0 -5
  560. package/cdk/rxjs/is-array.d.ts +0 -8
  561. package/cdk/rxjs/is-defined.d.ts +0 -8
  562. package/cdk/rxjs/is-not-empty-array.d.ts +0 -8
  563. package/cdk/rxjs/is-observable.d.ts +0 -9
  564. package/cdk/rxjs/public-api.d.ts +0 -10
  565. package/cdk/types/index.d.ts +0 -5
  566. package/cdk/types/maybe.d.ts +0 -7
  567. package/cdk/types/public-api.d.ts +0 -9
  568. package/cdk/types/safe-any.d.ts +0 -7
  569. package/cdk/types/theme-color.d.ts +0 -8
  570. package/cdk/utils/generate-random-id.d.ts +0 -12
  571. package/cdk/utils/index.d.ts +0 -5
  572. package/cdk/utils/public-api.d.ts +0 -7
  573. package/checkbox/checkbox.component.d.ts +0 -28
  574. package/checkbox/index.d.ts +0 -5
  575. package/checkbox/public-api.d.ts +0 -7
  576. package/checkbox/styles/vars.scss +0 -16
  577. package/dialog/dialog-animations.d.ts +0 -22
  578. package/dialog/dialog-base.directive.d.ts +0 -40
  579. package/dialog/dialog-close.directive.d.ts +0 -9
  580. package/dialog/dialog-content.directive.d.ts +0 -6
  581. package/dialog/dialog-data.token.d.ts +0 -8
  582. package/dialog/dialog-footer.directive.d.ts +0 -8
  583. package/dialog/dialog-options.d.ts +0 -19
  584. package/dialog/dialog-ref.d.ts +0 -26
  585. package/dialog/dialog-title.directive.d.ts +0 -6
  586. package/dialog/dialog.component.d.ts +0 -28
  587. package/dialog/dialog.module.d.ts +0 -6
  588. package/dialog/dialog.service.d.ts +0 -28
  589. package/dialog/index.d.ts +0 -5
  590. package/dialog/public-api.d.ts +0 -18
  591. package/dialog/styles/vars.scss +0 -7
  592. package/divider/divider.component.d.ts +0 -13
  593. package/divider/index.d.ts +0 -5
  594. package/divider/public-api.d.ts +0 -7
  595. package/dropdown/dropdown-menu-item.component.d.ts +0 -12
  596. package/dropdown/dropdown-menu.component.d.ts +0 -14
  597. package/dropdown/dropdown.directive.d.ts +0 -29
  598. package/dropdown/dropdown.types.d.ts +0 -9
  599. package/dropdown/index.d.ts +0 -5
  600. package/dropdown/public-api.d.ts +0 -10
  601. package/dropdown/styles/vars.scss +0 -18
  602. package/fesm2022/ngwr-cdk-rxjs.mjs +0 -53
  603. package/fesm2022/ngwr-cdk-rxjs.mjs.map +0 -1
  604. package/fesm2022/ngwr-cdk-types.mjs +0 -44
  605. package/fesm2022/ngwr-cdk-types.mjs.map +0 -1
  606. package/fesm2022/ngwr-cdk-utils.mjs +0 -30
  607. package/fesm2022/ngwr-cdk-utils.mjs.map +0 -1
  608. package/fesm2022/ngwr-cdk.mjs +0 -46
  609. package/fesm2022/ngwr-cdk.mjs.map +0 -1
  610. package/fesm2022/ngwr-tag.mjs +0 -87
  611. package/fesm2022/ngwr-tag.mjs.map +0 -1
  612. package/form/form-error.component.d.ts +0 -11
  613. package/form/form-item.component.d.ts +0 -14
  614. package/form/index.d.ts +0 -5
  615. package/form/public-api.d.ts +0 -8
  616. package/icon/icon.component.d.ts +0 -24
  617. package/icon/icon.service.d.ts +0 -23
  618. package/icon/icons.d.ts +0 -770
  619. package/icon/index.d.ts +0 -5
  620. package/icon/provide-wr-icons.d.ts +0 -9
  621. package/icon/public-api.d.ts +0 -10
  622. package/icon/styles/vars.scss +0 -3
  623. package/index.d.ts +0 -5
  624. package/input/index.d.ts +0 -5
  625. package/input/input-types.d.ts +0 -1
  626. package/input/input.component.d.ts +0 -38
  627. package/input/public-api.d.ts +0 -8
  628. package/input/styles/vars.scss +0 -17
  629. package/pagination/index.d.ts +0 -5
  630. package/pagination/pagination.component.d.ts +0 -23
  631. package/pagination/pagination.types.d.ts +0 -7
  632. package/pagination/public-api.d.ts +0 -8
  633. package/pagination/styles/vars.scss +0 -14
  634. package/pipes/index.d.ts +0 -5
  635. package/pipes/new-array.pipe.d.ts +0 -13
  636. package/pipes/public-api.d.ts +0 -7
  637. package/progress/index.d.ts +0 -5
  638. package/progress/progress.component.d.ts +0 -10
  639. package/progress/public-api.d.ts +0 -7
  640. package/progress/styles/theming.scss +0 -8
  641. package/progress/styles/vars.scss +0 -6
  642. package/public-api.d.ts +0 -2
  643. package/qr/generator.d.ts +0 -7
  644. package/qr/index.d.ts +0 -5
  645. package/qr/public-api.d.ts +0 -7
  646. package/qr/qr.component.d.ts +0 -31
  647. package/qr/qrcodegen.d.ts +0 -94
  648. package/select/index.d.ts +0 -5
  649. package/select/public-api.d.ts +0 -10
  650. package/select/select-option-group.component.d.ts +0 -19
  651. package/select/select-option.component.d.ts +0 -22
  652. package/select/select.component.d.ts +0 -63
  653. package/select/select.types.d.ts +0 -17
  654. package/select/styles/vars.scss +0 -32
  655. package/skeleton/index.d.ts +0 -1
  656. package/skeleton/skeleton.component.d.ts +0 -10
  657. package/spinner/index.d.ts +0 -1
  658. package/spinner/spinner.component.d.ts +0 -13
  659. package/spinner/spinner.types.d.ts +0 -7
  660. package/styles/animations.scss +0 -92
  661. package/styles/cdk.scss +0 -5
  662. package/styles/colors.scss +0 -72
  663. package/styles/grid.scss +0 -99
  664. package/styles/maps.scss +0 -31
  665. package/styles/reset.scss +0 -112
  666. package/styles/variables.scss +0 -72
  667. package/table/index.d.ts +0 -5
  668. package/table/public-api.d.ts +0 -11
  669. package/table/styles/table-filter.scss +0 -202
  670. package/table/styles/table-sort.scss +0 -47
  671. package/table/styles/table.scss +0 -232
  672. package/table/styles/vars.scss +0 -21
  673. package/table/table-cell/index.d.ts +0 -7
  674. package/table/table-cell/table-cell.directive.d.ts +0 -8
  675. package/table/table-filter/index.d.ts +0 -7
  676. package/table/table-filter/table-filter.component.d.ts +0 -18
  677. package/table/table-sort/index.d.ts +0 -7
  678. package/table/table-sort/table-sort.component.d.ts +0 -8
  679. package/table/table.component.d.ts +0 -33
  680. package/table/types/index.d.ts +0 -6
  681. package/table/types/table-cell-context.d.ts +0 -6
  682. package/table/types/table-columns.d.ts +0 -7
  683. package/table/types/table-filter-emit.d.ts +0 -5
  684. package/table/types/table-filter-item.d.ts +0 -6
  685. package/table/types/table-order-item.d.ts +0 -5
  686. package/table/types/table-order.enum.d.ts +0 -5
  687. package/tag/index.d.ts +0 -5
  688. package/tag/public-api.d.ts +0 -7
  689. package/tag/styles/_index.scss +0 -32
  690. package/tag/styles/theming.scss +0 -21
  691. package/tag/styles/vars.scss +0 -12
  692. package/tag/tag.component.d.ts +0 -21
  693. package/textarea/index.d.ts +0 -7
  694. package/textarea/public-api.d.ts +0 -7
  695. package/textarea/styles/vars.scss +0 -17
  696. package/textarea/textarea.component.d.ts +0 -44
@@ -0,0 +1,177 @@
1
+ import * as i0 from '@angular/core';
2
+ import { PipeTransform } from '@angular/core';
3
+ import { WrDateFormat } from 'ngwr/date-adapter';
4
+ import { SafeHtml } from '@angular/platform-browser';
5
+
6
+ /**
7
+ * Humanise a byte count using binary (1024-based) units.
8
+ *
9
+ * @example
10
+ * ```html
11
+ * {{ 1234 | wrBytes }} <!-- "1.2 KB" -->
12
+ * {{ 1234567 | wrBytes: 0 }} <!-- "1 MB" -->
13
+ * {{ 0 | wrBytes }} <!-- "0 B" -->
14
+ * ```
15
+ */
16
+ declare class WrBytes implements PipeTransform {
17
+ transform(value: number | string | null | undefined, decimals?: number): string;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrBytes, never>;
19
+ static ɵpipe: i0.ɵɵPipeDeclaration<WrBytes, "wrBytes", true>;
20
+ }
21
+
22
+ /**
23
+ * Locale-aware date formatting. Delegates to `WrDateAdapter` when
24
+ * `provideWrDateAdapter()` is in the provider tree (giving access to named
25
+ * format keys like `'shortDate'` and `'longDate'`), otherwise falls back to
26
+ * a minimal `Intl.DateTimeFormat`-based formatter so the pipe still works
27
+ * without the date-adapter package wired up.
28
+ *
29
+ * @example
30
+ * ```html
31
+ * {{ now | wrDate }} <!-- shortDate -->
32
+ * {{ now | wrDate: 'mediumDateTime' }} <!-- named key -->
33
+ * {{ now | wrDate: 'dd.MM.yyyy' }} <!-- raw token string -->
34
+ * ```
35
+ */
36
+ declare class WrDate implements PipeTransform {
37
+ private readonly adapter;
38
+ private readonly locale;
39
+ transform(value: Date | string | number | null | undefined, format?: WrDateFormat | (string & {})): string;
40
+ /** Tiny fallback for the named keys when no adapter is provided. */
41
+ private fallback;
42
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrDate, never>;
43
+ static ɵpipe: i0.ɵɵPipeDeclaration<WrDate, "wrDate", true>;
44
+ }
45
+
46
+ /**
47
+ * @license
48
+ *
49
+ * Use of this source code is governed by an MIT-style license that can be
50
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
51
+ */
52
+
53
+ /**
54
+ * Wrap every occurrence of `query` in `<mark>` tags. Useful for highlighting
55
+ * search-term matches in autocomplete results, lists, and table cells.
56
+ *
57
+ * The output is `SafeHtml` — bind with `[innerHTML]`. Input is escaped first
58
+ * so user-supplied values can't inject markup.
59
+ *
60
+ * @example
61
+ * ```html
62
+ * <span [innerHTML]="row.name | wrMark: query()"></span>
63
+ *
64
+ * <!-- Case-sensitive: -->
65
+ * <span [innerHTML]="row.name | wrMark: query() : true"></span>
66
+ * ```
67
+ */
68
+ declare class WrMark implements PipeTransform {
69
+ private readonly sanitizer;
70
+ /**
71
+ * @param value Source text.
72
+ * @param query Search term to highlight. Empty/null skips the wrap.
73
+ * @param caseSensitive Match exactly. @default false
74
+ */
75
+ transform(value: string | null | undefined, query: string | null | undefined, caseSensitive?: boolean): SafeHtml;
76
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrMark, never>;
77
+ static ɵpipe: i0.ɵɵPipeDeclaration<WrMark, "wrMark", true>;
78
+ }
79
+
80
+ /** Word forms keyed by CLDR plural category. Only `other` is required. */
81
+ type WrPluralForms = Partial<Record<Intl.LDMLPluralRule, string>> & {
82
+ readonly other: string;
83
+ };
84
+ interface WrPluralOptions {
85
+ /** Prefix the formatted count before the word. @default true */
86
+ readonly includeValue?: boolean;
87
+ /** Locale override; defaults to Angular's `LOCALE_ID`. */
88
+ readonly locale?: string;
89
+ }
90
+ /** Built-in style shortcuts — pick a sensible `Intl.NumberFormat` preset by name. */
91
+ type WrNumberStyle = 'decimal' | 'percent' | 'currency';
92
+
93
+ /**
94
+ * Locale-aware number formatting via `Intl.NumberFormat`. Uses Angular's
95
+ * `LOCALE_ID` as the default locale.
96
+ *
97
+ * Accepts either a style shortcut (with optional currency code) or a full
98
+ * `Intl.NumberFormatOptions` object for fine-grained control.
99
+ *
100
+ * @example
101
+ * ```html
102
+ * {{ 1234.5 | wrNumber }} <!-- "1,234.5" -->
103
+ * {{ 0.875 | wrNumber: 'percent' }} <!-- "88%" -->
104
+ * {{ 19.99 | wrNumber: 'currency': 'USD' }} <!-- "$19.99" -->
105
+ * {{ 19.99 | wrNumber: { minimumFractionDigits: 2 } }}
106
+ * ```
107
+ */
108
+ declare class WrNumber implements PipeTransform {
109
+ private readonly locale;
110
+ transform(value: number | string | null | undefined, styleOrOptions?: WrNumberStyle | Intl.NumberFormatOptions, currency?: string): string;
111
+ private toOptions;
112
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrNumber, never>;
113
+ static ɵpipe: i0.ɵɵPipeDeclaration<WrNumber, "wrNumber", true>;
114
+ }
115
+
116
+ /**
117
+ * Locale-aware pluralization via `Intl.PluralRules`. Picks the right word
118
+ * form for the count — including languages with more than two forms
119
+ * (Russian, Polish, Arabic, …) — without hand-rolled `n % 10` rules.
120
+ *
121
+ * Categories follow CLDR: `zero` / `one` / `two` / `few` / `many` /
122
+ * `other`. Missing categories fall back to `other`.
123
+ *
124
+ * @example
125
+ * ```html
126
+ * {{ 1 | wrPlural: { one: 'comment', other: 'comments' } }}
127
+ * <!-- "1 comment" -->
128
+ *
129
+ * {{ 5 | wrPlural: { one: 'файл', few: 'файла', other: 'файлов' } }}
130
+ * <!-- "5 файлов" (with LOCALE_ID = ru) -->
131
+ *
132
+ * {{ count() | wrPlural: forms : { includeValue: false } }}
133
+ * <!-- word only -->
134
+ * ```
135
+ */
136
+ declare class WrPlural implements PipeTransform {
137
+ private readonly locale;
138
+ transform(value: number | null | undefined, forms: WrPluralForms, options?: WrPluralOptions): string;
139
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrPlural, never>;
140
+ static ɵpipe: i0.ɵɵPipeDeclaration<WrPlural, "wrPlural", true>;
141
+ }
142
+
143
+ /**
144
+ * Creates an array of sequential indices `[0, 1, 2, ..., n-1]`.
145
+ *
146
+ * Useful for repeating template blocks a fixed number of times.
147
+ *
148
+ * @example
149
+ * ```html
150
+ * @for (i of (5 | wrRange); track i) {
151
+ * <div>Item {{ i }}</div>
152
+ * }
153
+ * ```
154
+ */
155
+ declare class WrRange implements PipeTransform {
156
+ transform(length: number): number[];
157
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrRange, never>;
158
+ static ɵpipe: i0.ɵɵPipeDeclaration<WrRange, "wrRange", true>;
159
+ }
160
+
161
+ /**
162
+ * Clamp a string to `length` characters, appending `ellipsis` when truncated.
163
+ *
164
+ * @example
165
+ * ```html
166
+ * {{ 'Hello, world' | wrTruncate: 5 }} <!-- "Hello…" -->
167
+ * {{ 'Hello, world' | wrTruncate: 8: '...' }} <!-- "Hello, w..." -->
168
+ * ```
169
+ */
170
+ declare class WrTruncate implements PipeTransform {
171
+ transform(value: string | null | undefined, length?: number, ellipsis?: string): string;
172
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrTruncate, never>;
173
+ static ɵpipe: i0.ɵɵPipeDeclaration<WrTruncate, "wrTruncate", true>;
174
+ }
175
+
176
+ export { WrBytes, WrDate, WrMark, WrNumber, WrPlural, WrRange, WrTruncate };
177
+ export type { WrNumberStyle, WrPluralForms, WrPluralOptions };
@@ -0,0 +1,38 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Signal } from '@angular/core';
3
+
4
+ /**
5
+ * SSR-safe environment probes. Use to gate browser-only code paths and
6
+ * react to user preferences without scattering `matchMedia` calls around.
7
+ *
8
+ * - `isBrowser` / `isServer` — synchronous platform check.
9
+ * - `userAgent` — `navigator.userAgent` or `null` on the server.
10
+ * - `prefersDark` — signal mirroring `(prefers-color-scheme: dark)`.
11
+ * - `prefersReducedMotion` — signal mirroring `(prefers-reduced-motion: reduce)`.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * private readonly platform = inject(WrPlatform);
16
+ * if (this.platform.isBrowser) {
17
+ * localStorage.setItem('theme', 'dark');
18
+ * }
19
+ *
20
+ * protected readonly dark = this.platform.prefersDark;
21
+ * ```
22
+ *
23
+ * @see https://ngwr.dev/services/platform
24
+ */
25
+ declare class WrPlatform {
26
+ private readonly destroyRef;
27
+ private readonly doc;
28
+ readonly isBrowser: boolean;
29
+ readonly isServer: boolean;
30
+ readonly userAgent: string | null;
31
+ readonly prefersDark: Signal<boolean>;
32
+ readonly prefersReducedMotion: Signal<boolean>;
33
+ private mediaSignal;
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrPlatform, never>;
35
+ static ɵprov: i0.ɵɵInjectableDeclaration<WrPlatform>;
36
+ }
37
+
38
+ export { WrPlatform };
@@ -0,0 +1,79 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ /**
4
+ * @license
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
8
+ */
9
+
10
+ type WrPopconfirmPosition = 'top' | 'bottom' | 'left' | 'right';
11
+
12
+ /**
13
+ * Small "Are you sure?" panel anchored to its trigger. Fires `confirmed`
14
+ * or `cancelled` and closes automatically. Built on CDK Overlay.
15
+ *
16
+ * @example
17
+ * ```html
18
+ * <wr-btn
19
+ * color="danger"
20
+ * [wrPopconfirm]="'Delete this item?'"
21
+ * confirmColor="danger"
22
+ * confirmText="Delete"
23
+ * (confirmed)="remove()"
24
+ * >Delete</wr-btn>
25
+ * ```
26
+ *
27
+ * @see https://ngwr.dev/components/popconfirm
28
+ */
29
+ declare class WrPopconfirm {
30
+ /** Confirmation message. */
31
+ readonly message: _angular_core.InputSignal<string>;
32
+ /** Anchor side. @default 'top' */
33
+ readonly position: _angular_core.InputSignal<WrPopconfirmPosition>;
34
+ /** Label for the confirm button. @default 'Confirm' */
35
+ readonly confirmText: _angular_core.InputSignal<string>;
36
+ /** Label for the cancel button. @default 'Cancel' */
37
+ readonly cancelText: _angular_core.InputSignal<string>;
38
+ /** Color of the confirm button. @default 'primary' */
39
+ readonly confirmColor: _angular_core.InputSignal<"primary" | "secondary" | "success" | "warning" | "danger" | "light" | "medium" | "dark">;
40
+ /** Fires when the user clicks confirm. */
41
+ readonly confirmed: _angular_core.OutputEmitterRef<void>;
42
+ /** Fires when the user clicks cancel or dismisses the overlay. */
43
+ readonly cancelled: _angular_core.OutputEmitterRef<void>;
44
+ private readonly host;
45
+ private readonly overlay;
46
+ private readonly vcr;
47
+ private readonly scrollStrategies;
48
+ private readonly destroyRef;
49
+ private overlayRef;
50
+ constructor();
51
+ /** @internal */
52
+ protected toggle(event: MouseEvent): void;
53
+ open(): void;
54
+ close(): void;
55
+ private dismiss;
56
+ private dispose;
57
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrPopconfirm, never>;
58
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<WrPopconfirm, "[wrPopconfirm]", never, { "message": { "alias": "wrPopconfirm"; "required": true; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "confirmText": { "alias": "confirmText"; "required": false; "isSignal": true; }; "cancelText": { "alias": "cancelText"; "required": false; "isSignal": true; }; "confirmColor": { "alias": "confirmColor"; "required": false; "isSignal": true; }; }, { "confirmed": "confirmed"; "cancelled": "cancelled"; }, never, never, true, never>;
59
+ }
60
+
61
+ /**
62
+ * Confirmation panel rendered inside the popconfirm overlay. Not part
63
+ * of the public template API — use `[wrPopconfirm]` instead.
64
+ *
65
+ * @internal
66
+ */
67
+ declare class WrPopconfirmPanel {
68
+ readonly message: _angular_core.InputSignal<string>;
69
+ readonly confirmText: _angular_core.InputSignal<string>;
70
+ readonly cancelText: _angular_core.InputSignal<string>;
71
+ readonly confirmColor: _angular_core.InputSignal<"primary" | "secondary" | "success" | "warning" | "danger" | "light" | "medium" | "dark">;
72
+ readonly confirmed: _angular_core.OutputEmitterRef<void>;
73
+ readonly cancelled: _angular_core.OutputEmitterRef<void>;
74
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrPopconfirmPanel, never>;
75
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrPopconfirmPanel, "wr-popconfirm", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; "confirmText": { "alias": "confirmText"; "required": false; "isSignal": true; }; "cancelText": { "alias": "cancelText"; "required": false; "isSignal": true; }; "confirmColor": { "alias": "confirmColor"; "required": false; "isSignal": true; }; }, { "confirmed": "confirmed"; "cancelled": "cancelled"; }, never, never, true, never>;
76
+ }
77
+
78
+ export { WrPopconfirm, WrPopconfirmPanel };
79
+ export type { WrPopconfirmPosition };
@@ -0,0 +1,90 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { TemplateRef } from '@angular/core';
3
+
4
+ /**
5
+ * @license
6
+ *
7
+ * Use of this source code is governed by an MIT-style license that can be
8
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
9
+ */
10
+
11
+ type WrPopoverPosition = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'right';
12
+
13
+ declare class WrPopover {
14
+ /**
15
+ * Content to render inside the panel.
16
+ * - In **popover** mode (default): pass a `TemplateRef`.
17
+ * - In **tooltip** mode: pass a plain string.
18
+ */
19
+ readonly content: _angular_core.InputSignal<string | TemplateRef<unknown>>;
20
+ /**
21
+ * Shape preset.
22
+ *
23
+ * - `'popover'` (default) — template content, click trigger, dialog
24
+ * semantics.
25
+ * - `'tooltip'` — text content, hover+focus trigger, `role="tooltip"`,
26
+ * `aria-describedby` on the host.
27
+ */
28
+ readonly mode: _angular_core.InputSignal<"tooltip" | "popover">;
29
+ /**
30
+ * How the popover opens. Ignored in tooltip mode — tooltips are always
31
+ * hover+focus. @default 'click'
32
+ */
33
+ readonly trigger: _angular_core.InputSignal<"click" | "hover">;
34
+ /** Anchor side. @default 'bottom' for popover, 'top' for tooltip */
35
+ readonly position: _angular_core.InputSignal<WrPopoverPosition | null>;
36
+ /** Tooltip only — delay before showing, in ms. @default 120 */
37
+ readonly showDelay: _angular_core.InputSignalWithTransform<number, unknown>;
38
+ /** Tooltip only — delay before hiding, in ms. @default 60 */
39
+ readonly hideDelay: _angular_core.InputSignalWithTransform<number, unknown>;
40
+ /** Fires after the panel opens. */
41
+ readonly opened: _angular_core.OutputEmitterRef<void>;
42
+ /** Fires after the panel closes. */
43
+ readonly closed: _angular_core.OutputEmitterRef<void>;
44
+ private readonly host;
45
+ private readonly overlay;
46
+ private readonly vcr;
47
+ private readonly scrollStrategies;
48
+ private readonly destroyRef;
49
+ /** @internal */
50
+ readonly isOpen: _angular_core.WritableSignal<boolean>;
51
+ /** @internal */
52
+ protected readonly isTooltip: _angular_core.Signal<boolean>;
53
+ /** Auto-generated id for `aria-controls` / `aria-describedby`. */
54
+ protected readonly panelId: string;
55
+ private readonly resolvedPosition;
56
+ private overlayRef;
57
+ private hoverCloseTimer;
58
+ private showTimer;
59
+ private hideTimer;
60
+ constructor();
61
+ open(): void;
62
+ close(): void;
63
+ toggle(): void;
64
+ /** @internal */
65
+ protected onClick(event: MouseEvent): void;
66
+ /** @internal */
67
+ protected onMouseEnter(): void;
68
+ /** @internal */
69
+ protected onMouseLeave(event: MouseEvent): void;
70
+ /** @internal */
71
+ protected onFocus(): void;
72
+ /** @internal */
73
+ protected onBlur(): void;
74
+ /** @internal */
75
+ protected onEscape(): void;
76
+ private scheduleShow;
77
+ private scheduleHide;
78
+ private clearTimers;
79
+ private openOverlay;
80
+ private closeOverlay;
81
+ private readonly onOverlayLeave;
82
+ private readonly onOverlayEnter;
83
+ private scheduleHoverClose;
84
+ private clearHoverClose;
85
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrPopover, never>;
86
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<WrPopover, "[wrPopover]", never, { "content": { "alias": "wrPopover"; "required": true; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "trigger": { "alias": "trigger"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "showDelay": { "alias": "showDelay"; "required": false; "isSignal": true; }; "hideDelay": { "alias": "hideDelay"; "required": false; "isSignal": true; }; }, { "opened": "opened"; "closed": "closed"; }, never, never, true, never>;
87
+ }
88
+
89
+ export { WrPopover };
90
+ export type { WrPopoverPosition };
@@ -0,0 +1,33 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ /**
4
+ * Horizontal progress bar.
5
+ *
6
+ * @example
7
+ * ```html
8
+ * <wr-progress [value]="42" />
9
+ * <wr-progress color="success" [value]="80" />
10
+ * ```
11
+ *
12
+ * @see https://ngwr.dev/components/progress
13
+ */
14
+ declare class WrProgress {
15
+ /**
16
+ * Bar color.
17
+ *
18
+ * @default 'primary'
19
+ */
20
+ readonly color: _angular_core.InputSignal<"primary" | "secondary" | "success" | "warning" | "danger" | "light" | "medium" | "dark">;
21
+ /**
22
+ * Progress value, clamped to `[0, 100]`.
23
+ *
24
+ * @default 0
25
+ */
26
+ readonly value: _angular_core.InputSignalWithTransform<number, unknown>;
27
+ protected readonly clamped: _angular_core.Signal<number>;
28
+ protected readonly classes: _angular_core.Signal<string>;
29
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrProgress, never>;
30
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrProgress, "wr-progress", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
31
+ }
32
+
33
+ export { WrProgress };
@@ -0,0 +1,56 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ElementRef } from '@angular/core';
3
+
4
+ /**
5
+ * @license
6
+ *
7
+ * Use of this source code is governed by an MIT-style license that can be
8
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
9
+ */
10
+ /**
11
+ * QR code error correction level.
12
+ *
13
+ * - `'L'` — Low (~7%)
14
+ * - `'M'` — Medium (~15%)
15
+ * - `'Q'` — Quartile (~25%)
16
+ * - `'H'` — High (~30%) — needed if overlaying a center icon
17
+ */
18
+ type WrQrErrorLevel = 'L' | 'M' | 'Q' | 'H';
19
+
20
+ /**
21
+ * Renders a QR code on a `<canvas>`.
22
+ *
23
+ * @example
24
+ * ```html
25
+ * <wr-qr value="https://ngwr.dev" [size]="200" level="H" />
26
+ * <wr-qr value="..." iconUrl="/logo.png" [iconSize]="48" level="H" />
27
+ * ```
28
+ *
29
+ * @see https://ngwr.dev/components/qrcode
30
+ */
31
+ declare class WrQr {
32
+ /** Text or URL to encode. Required. */
33
+ readonly value: _angular_core.InputSignal<string>;
34
+ /** Error correction level. Use `'H'` if you overlay an icon. @default 'M' */
35
+ readonly level: _angular_core.InputSignal<WrQrErrorLevel>;
36
+ /** Side length of the rendered canvas, in pixels. @default 160 */
37
+ readonly size: _angular_core.InputSignalWithTransform<number, unknown>;
38
+ /** Outer quiet-zone padding in pixels. @default 10 */
39
+ readonly padding: _angular_core.InputSignalWithTransform<number, unknown>;
40
+ /** Module (dot) color. @default '#000000' */
41
+ readonly color: _angular_core.InputSignal<string>;
42
+ /** Background color of the canvas + host. @default '#ffffff' */
43
+ readonly bgColor: _angular_core.InputSignal<string>;
44
+ /** Optional image URL or data URL to overlay in the center. */
45
+ readonly iconUrl: _angular_core.InputSignal<string | null>;
46
+ /** Center icon size in logical pixels. @default 42 */
47
+ readonly iconSize: _angular_core.InputSignalWithTransform<number, unknown>;
48
+ protected readonly canvas: _angular_core.Signal<ElementRef<HTMLCanvasElement> | undefined>;
49
+ protected readonly isBrowser: boolean;
50
+ constructor();
51
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrQr, never>;
52
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrQr, "wr-qr", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "level": { "alias": "level"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "padding": { "alias": "padding"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "bgColor": { "alias": "bgColor"; "required": false; "isSignal": true; }; "iconUrl": { "alias": "iconUrl"; "required": false; "isSignal": true; }; "iconSize": { "alias": "iconSize"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
53
+ }
54
+
55
+ export { WrQr };
56
+ export type { WrQrErrorLevel };
@@ -0,0 +1,120 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { InjectionToken, Signal } from '@angular/core';
3
+ import { ControlValueAccessor } from '@angular/forms';
4
+
5
+ /**
6
+ * Single-choice option. Must be a child of `<wr-radio-group>`.
7
+ *
8
+ * @example
9
+ * ```html
10
+ * <wr-radio-group [(ngModel)]="size">
11
+ * <wr-radio value="sm">Small</wr-radio>
12
+ * <wr-radio value="md">Medium</wr-radio>
13
+ * <wr-radio value="lg">Large</wr-radio>
14
+ * </wr-radio-group>
15
+ * ```
16
+ *
17
+ * @see https://ngwr.dev/components/radio
18
+ */
19
+ declare class WrRadio {
20
+ /** Stable id used to associate the native input with its label. */
21
+ readonly id: _angular_core.InputSignal<string>;
22
+ /** Value selected when this radio is checked. */
23
+ readonly value: _angular_core.InputSignal<unknown>;
24
+ /**
25
+ * Optional icon name rendered inside the dot when checked, in place of the
26
+ * default solid circle. Use any registered NGWR icon.
27
+ */
28
+ readonly icon: _angular_core.InputSignal<string | null>;
29
+ private readonly group;
30
+ constructor();
31
+ protected readonly name: _angular_core.Signal<string>;
32
+ protected readonly checked: _angular_core.Signal<boolean>;
33
+ protected readonly disabled: _angular_core.Signal<boolean>;
34
+ protected readonly classes: _angular_core.Signal<string>;
35
+ protected onSelect(): void;
36
+ protected onBlur(): void;
37
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrRadio, never>;
38
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrRadio, "wr-radio", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": true; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
39
+ }
40
+
41
+ /**
42
+ * @license
43
+ *
44
+ * Use of this source code is governed by an MIT-style license that can be
45
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
46
+ */
47
+
48
+ /**
49
+ * Contract a radio uses to talk to its parent `<wr-radio-group>`.
50
+ *
51
+ * @internal
52
+ */
53
+ interface WrRadioGroupContext {
54
+ /** Shared `name` attribute applied to every native input in the group. */
55
+ readonly name: Signal<string>;
56
+ /** Currently selected value. */
57
+ readonly value: Signal<unknown>;
58
+ /** Whether the entire group is disabled. */
59
+ readonly isDisabled: Signal<boolean>;
60
+ /** Select the given value. */
61
+ select(value: unknown): void;
62
+ /** Mark the group as touched (called on blur from any child). */
63
+ touch(): void;
64
+ }
65
+ /**
66
+ * Token a `<wr-radio>` injects to participate in its parent `<wr-radio-group>`
67
+ * — reads the selected value, shares the `name` attribute, and signals
68
+ * selection / blur back up.
69
+ *
70
+ * @internal
71
+ */
72
+ declare const WR_RADIO_GROUP: InjectionToken<WrRadioGroupContext>;
73
+
74
+ /**
75
+ * Hosts a group of `<wr-radio>` children as a single-value selection.
76
+ *
77
+ * Implements `ControlValueAccessor` — the group's `value` is the
78
+ * currently selected radio's `value`.
79
+ *
80
+ * @example
81
+ * ```html
82
+ * <wr-radio-group [(ngModel)]="size">
83
+ * <wr-radio value="sm">Small</wr-radio>
84
+ * <wr-radio value="md">Medium</wr-radio>
85
+ * <wr-radio value="lg">Large</wr-radio>
86
+ * </wr-radio-group>
87
+ * ```
88
+ *
89
+ * @see https://ngwr.dev/components/radio
90
+ */
91
+ declare class WrRadioGroup implements ControlValueAccessor, WrRadioGroupContext {
92
+ /**
93
+ * Shared `name` attribute. Defaults to a random id so multiple groups
94
+ * on the same page don't collide.
95
+ */
96
+ readonly name: _angular_core.InputSignal<string>;
97
+ /**
98
+ * Disable the whole group. Also set by Angular forms via `setDisabledState`.
99
+ *
100
+ * @default false
101
+ */
102
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
103
+ readonly value: _angular_core.WritableSignal<unknown>;
104
+ private readonly disabledFromCva;
105
+ /** Effective disabled state — true if either source disables. */
106
+ readonly isDisabled: _angular_core.Signal<boolean>;
107
+ private onChange;
108
+ private onTouched;
109
+ select(value: unknown): void;
110
+ touch(): void;
111
+ writeValue(value: unknown): void;
112
+ registerOnChange(fn: (value: unknown) => void): void;
113
+ registerOnTouched(fn: () => void): void;
114
+ setDisabledState(isDisabled: boolean): void;
115
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrRadioGroup, never>;
116
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrRadioGroup, "wr-radio-group", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
117
+ }
118
+
119
+ export { WR_RADIO_GROUP, WrRadio, WrRadioGroup };
120
+ export type { WrRadioGroupContext };
@@ -0,0 +1,62 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+
4
+ /**
5
+ * Star rating input. Click or hover to set a value; supports half-star
6
+ * increments via `step="0.5"`. Implements `ControlValueAccessor` — value
7
+ * is `number | null` (clamped to `[0, count]`).
8
+ *
9
+ * Keyboard: `←` / `→` bump by `step`, `Home` / `End` jump to 0 / max.
10
+ * Clicking the current value clears it (toggle off).
11
+ *
12
+ * @example
13
+ * ```html
14
+ * <wr-rating [(ngModel)]="score" />
15
+ * <wr-rating [(ngModel)]="score" [count]="10" step="0.5" />
16
+ * <wr-rating [ngModel]="4.5" [readonly]="true" />
17
+ * ```
18
+ *
19
+ * @see https://ngwr.dev/components/rating
20
+ */
21
+ declare class WrRating implements ControlValueAccessor {
22
+ /** Total number of slots. @default 5 */
23
+ readonly count: _angular_core.InputSignalWithTransform<number, unknown>;
24
+ /** Step granularity — `1` for whole stars, `0.5` for halves. @default 1 */
25
+ readonly step: _angular_core.InputSignalWithTransform<1 | 0.5, unknown>;
26
+ /** Read-only — value is displayed but not interactive. @default false */
27
+ readonly readonly: _angular_core.InputSignalWithTransform<boolean, any>;
28
+ /** Disable interaction. @default false */
29
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
30
+ /** Accessible label. @default 'Rating' */
31
+ readonly ariaLabel: _angular_core.InputSignal<string>;
32
+ /** Last committed value (mirrored from the CVA). */
33
+ protected readonly value: _angular_core.WritableSignal<number | null>;
34
+ /** Transient hover preview — overrides `value` for display when set. */
35
+ protected readonly hoverValue: _angular_core.WritableSignal<number | null>;
36
+ private readonly disabledFromCva;
37
+ protected readonly effectiveDisabled: _angular_core.Signal<boolean>;
38
+ protected readonly interactive: _angular_core.Signal<boolean>;
39
+ /** What we actually render — hover wins while hovering. */
40
+ protected readonly displayValue: _angular_core.Signal<number>;
41
+ protected readonly slots: _angular_core.Signal<number[]>;
42
+ protected readonly classes: _angular_core.Signal<string>;
43
+ /** Fill ratio for slot `i` in `[0, 1]` — drives the CSS clip width. */
44
+ protected fillFor(i: number): number;
45
+ private onChange;
46
+ private onTouched;
47
+ writeValue(value: number | null): void;
48
+ registerOnChange(fn: (value: number | null) => void): void;
49
+ registerOnTouched(fn: () => void): void;
50
+ setDisabledState(isDisabled: boolean): void;
51
+ protected onSlotMove(event: MouseEvent, index: number): void;
52
+ protected onLeave(): void;
53
+ protected onSlotClick(event: MouseEvent, index: number): void;
54
+ protected onKeydown(event: KeyboardEvent): void;
55
+ /** Convert a mouse position over slot `index` to a snapped value. */
56
+ private computeValue;
57
+ private commit;
58
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrRating, never>;
59
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrRating, "wr-rating", never, { "count": { "alias": "count"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
60
+ }
61
+
62
+ export { WrRating };