ngwr 6.1.1 → 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 (605) 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 -377
  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 -649
  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 +160 -179
  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 +844 -309
  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 +217 -206
  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/{cdk/utils/index.d.ts → schematics/component-style/schema.js} +2 -8
  346. package/schematics/component-style/schema.json +20 -0
  347. package/schematics/icon-set/index.js +96 -0
  348. package/schematics/icon-set/schema.js +8 -0
  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/schematics/ng-add/schema.js +8 -0
  354. package/schematics/ng-add/schema.json +80 -0
  355. package/schematics/page/index.js +63 -0
  356. package/schematics/page/schema.js +8 -0
  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/typewriter/styles/_index.scss +33 -0
  538. package/typewriter/typewriter.scss +1 -0
  539. package/typography/styles/_index.scss +211 -0
  540. package/virtual-scroll/styles/_index.scss +27 -0
  541. package/virtual-scroll/virtual-scroll.scss +1 -0
  542. package/waves/styles/_index.scss +24 -0
  543. package/waves/waves.scss +1 -0
  544. package/window/styles/_index.scss +430 -0
  545. package/alert/index.d.ts +0 -32
  546. package/alert/styles/theming.scss +0 -26
  547. package/alert/styles/vars.scss +0 -11
  548. package/avatar/index.d.ts +0 -30
  549. package/button/index.d.ts +0 -45
  550. package/button/styles/vars.scss +0 -13
  551. package/cdk/index.d.ts +0 -24
  552. package/cdk/rxjs/index.d.ts +0 -40
  553. package/cdk/types/index.d.ts +0 -27
  554. package/checkbox/index.d.ts +0 -31
  555. package/checkbox/styles/vars.scss +0 -16
  556. package/dialog/index.d.ts +0 -193
  557. package/dialog/styles/vars.scss +0 -7
  558. package/divider/index.d.ts +0 -16
  559. package/dropdown/index.d.ts +0 -68
  560. package/dropdown/styles/vars.scss +0 -18
  561. package/fesm2022/ngwr-cdk-rxjs.mjs +0 -53
  562. package/fesm2022/ngwr-cdk-rxjs.mjs.map +0 -1
  563. package/fesm2022/ngwr-cdk-types.mjs +0 -44
  564. package/fesm2022/ngwr-cdk-types.mjs.map +0 -1
  565. package/fesm2022/ngwr-cdk-utils.mjs +0 -30
  566. package/fesm2022/ngwr-cdk-utils.mjs.map +0 -1
  567. package/fesm2022/ngwr-cdk.mjs +0 -46
  568. package/fesm2022/ngwr-cdk.mjs.map +0 -1
  569. package/fesm2022/ngwr-tag.mjs +0 -87
  570. package/fesm2022/ngwr-tag.mjs.map +0 -1
  571. package/form/index.d.ts +0 -28
  572. package/icon/index.d.ts +0 -830
  573. package/icon/styles/vars.scss +0 -3
  574. package/input/index.d.ts +0 -43
  575. package/input/styles/vars.scss +0 -17
  576. package/pagination/index.d.ts +0 -34
  577. package/pagination/styles/vars.scss +0 -14
  578. package/pipes/index.d.ts +0 -17
  579. package/progress/index.d.ts +0 -13
  580. package/progress/styles/theming.scss +0 -8
  581. package/progress/styles/vars.scss +0 -6
  582. package/qr/index.d.ts +0 -127
  583. package/select/index.d.ts +0 -121
  584. package/select/styles/vars.scss +0 -32
  585. package/skeleton/index.d.ts +0 -13
  586. package/spinner/index.d.ts +0 -23
  587. package/styles/animations.scss +0 -92
  588. package/styles/cdk.scss +0 -5
  589. package/styles/colors.scss +0 -72
  590. package/styles/grid.scss +0 -99
  591. package/styles/maps.scss +0 -31
  592. package/styles/reset.scss +0 -112
  593. package/styles/variables.scss +0 -72
  594. package/table/index.d.ts +0 -101
  595. package/table/styles/table-filter.scss +0 -202
  596. package/table/styles/table-sort.scss +0 -47
  597. package/table/styles/table.scss +0 -232
  598. package/table/styles/vars.scss +0 -21
  599. package/tag/index.d.ts +0 -24
  600. package/tag/styles/_index.scss +0 -32
  601. package/tag/styles/theming.scss +0 -21
  602. package/tag/styles/vars.scss +0 -12
  603. package/textarea/index.d.ts +0 -47
  604. package/textarea/styles/vars.scss +0 -17
  605. /package/{index.d.ts → types/ngwr.d.ts} +0 -0
@@ -0,0 +1,132 @@
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
+ * Squircle path computation — port of the algorithm from `figma-squircle`
10
+ * (https://github.com/phamfoo/figma-squircle, MIT). Generates an SVG `d`
11
+ * string for a smooth-corner rectangle.
12
+ */
13
+ /** Per-corner radii for the squircle. */
14
+ interface WrSquircleCorners {
15
+ readonly topLeft: number;
16
+ readonly topRight: number;
17
+ readonly bottomRight: number;
18
+ readonly bottomLeft: number;
19
+ }
20
+ /**
21
+ * Generate an SVG `d` string for a squircle (smooth-corner rectangle).
22
+ *
23
+ * @param width Box width in user units.
24
+ * @param height Box height in user units.
25
+ * @param radius Either a single number applied to all four corners or a
26
+ * `WrSquircleCorners` object with per-corner radii.
27
+ * @param smoothing 0–1. `0` = standard rounded rectangle; `1` = full
28
+ * iOS-style smooth corner. @default 1
29
+ */
30
+ declare function squirclePath(width: number, height: number, radius: number | WrSquircleCorners, smoothing?: number): string;
31
+
32
+ /**
33
+ * Which corners to squircle. `'all'` = standard four-corner squircle;
34
+ * the side-named values squircle the two corners on that side and leave
35
+ * the other two at 90°. Useful for tab-/segment-style controls where
36
+ * only outer corners need smoothing.
37
+ */
38
+ type WrSquircleCornerMask = 'all' | 'left' | 'right' | 'top' | 'bottom' | 'none';
39
+
40
+ /**
41
+ * Apply a Figma-style smooth-corner ("squircle") `clip-path` to the host
42
+ * element. Re-computes the path whenever the element resizes.
43
+ *
44
+ * Borders: pass `[borderWidth]` (px) + `[borderColor]` and the directive
45
+ * paints a `::before` pseudo with an *inset* squircle path on top of the
46
+ * host. The visible border is the host's own background colour, so set
47
+ * `background: <border-color>` on the host (or use the convenience
48
+ * `[borderColor]` input which writes the host background for you).
49
+ *
50
+ * @example
51
+ * ```html
52
+ * <button wrButton wrSquircle [radius]="16">Save</button>
53
+ * <wr-tag wrSquircle>v2.0</wr-tag>
54
+ * <div wrSquircle [radius]="32" [smoothing]="0.8">…</div>
55
+ * <div wrSquircle [borderWidth]="2" borderColor="var(--wr-color-primary)">…</div>
56
+ * ```
57
+ */
58
+ declare class WrSquircle {
59
+ /** Corner radius in CSS pixels. Falls back to `--wr-border-radius-base` × 16. @default 12 */
60
+ readonly radius: _angular_core.InputSignalWithTransform<number, unknown>;
61
+ /** Smoothing factor — `0` = plain rounded rect; `1` = full smooth iOS corner. @default 1 */
62
+ readonly smoothing: _angular_core.InputSignalWithTransform<number, unknown>;
63
+ /**
64
+ * Whether the squircle clip-path is applied. When `false`, the directive
65
+ * stays inert (clip-path cleared).
66
+ *
67
+ * Modelled as `model()` so a parent component composing this directive
68
+ * (`inject(WrSquircle, { self: true }).enabled.set(...)`) can flip the
69
+ * state from outside without exposing an `enabled` input on its own API.
70
+ *
71
+ * @default true
72
+ */
73
+ readonly enabled: _angular_core.ModelSignal<boolean>;
74
+ /**
75
+ * Border thickness in CSS pixels. `0` disables the border ring entirely.
76
+ * Modelled (not `input()`) so parent components composing this directive
77
+ * can flip it imperatively — e.g. `WrButton` turning on a 1px ring when
78
+ * `shape="squircle" outlined` is active.
79
+ * @default 0
80
+ */
81
+ readonly borderWidth: _angular_core.ModelSignal<number>;
82
+ /**
83
+ * Border colour — any CSS colour. Applied to the host's background so the
84
+ * outer squircle reveals it. Defaults to `currentColor` so the consuming
85
+ * element's text colour drives the ring.
86
+ * @default 'currentColor'
87
+ */
88
+ readonly borderColor: _angular_core.ModelSignal<string>;
89
+ /**
90
+ * Which corners to squircle. `'all'` (default) is the standard four-
91
+ * corner shape; `'left'` / `'right'` / `'top'` / `'bottom'` squircle
92
+ * only the two corners on the named side and leave the other two at
93
+ * 90°. `'none'` is equivalent to disabling the directive.
94
+ *
95
+ * Modelled so parent components composing the directive can flip the
96
+ * value imperatively — used by `WrButtonGroup` to squircle only the
97
+ * outer corners of the first / last child.
98
+ *
99
+ * @default 'all'
100
+ */
101
+ readonly corners: _angular_core.ModelSignal<WrSquircleCornerMask>;
102
+ private readonly el;
103
+ private readonly isBrowser;
104
+ private readonly destroyRef;
105
+ private observer;
106
+ constructor();
107
+ private apply;
108
+ private clear;
109
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrSquircle, never>;
110
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<WrSquircle, "[wrSquircle]", never, { "radius": { "alias": "radius"; "required": false; "isSignal": true; }; "smoothing": { "alias": "smoothing"; "required": false; "isSignal": true; }; "enabled": { "alias": "enabled"; "required": false; "isSignal": true; }; "borderWidth": { "alias": "borderWidth"; "required": false; "isSignal": true; }; "borderColor": { "alias": "borderColor"; "required": false; "isSignal": true; }; "corners": { "alias": "corners"; "required": false; "isSignal": true; }; }, { "enabled": "enabledChange"; "borderWidth": "borderWidthChange"; "borderColor": "borderColorChange"; "corners": "cornersChange"; }, never, never, true, never>;
111
+ }
112
+
113
+ /**
114
+ * Standalone squircle container. Equivalent to `<div wrSquircle>` but
115
+ * named for ergonomics in templates.
116
+ *
117
+ * @example
118
+ * ```html
119
+ * <wr-squircle [radius]="24" style="width: 160px; height: 160px; background: var(--wr-color-primary)">
120
+ * …
121
+ * </wr-squircle>
122
+ * ```
123
+ *
124
+ * @see https://ngwr.dev/components/squircle
125
+ */
126
+ declare class WrSquircleHost {
127
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrSquircleHost, never>;
128
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrSquircleHost, "wr-squircle", never, {}, {}, never, ["*"], true, [{ directive: typeof WrSquircle; inputs: { "radius": "radius"; "smoothing": "smoothing"; "borderWidth": "borderWidth"; "borderColor": "borderColor"; }; outputs: {}; }]>;
129
+ }
130
+
131
+ export { WrSquircle, WrSquircleHost, squirclePath };
132
+ export type { WrSquircleCornerMask, WrSquircleCorners };
@@ -0,0 +1,40 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ /** When the rays animate. */
4
+ type WrStarBorderMode = 'infinite' | 'hover';
5
+ /** Ray layout — both edges (reactbits default) or just the bottom one. */
6
+ type WrStarBorderRays = 'mirror' | 'single';
7
+
8
+ /**
9
+ * Star border — radial "comet" rays orbiting the top and bottom edges of
10
+ * a rounded container. Project any content; it sits on a themed inner
11
+ * panel above the rays.
12
+ *
13
+ * Works as an element or as an attribute on buttons / links.
14
+ *
15
+ * @example
16
+ * ```html
17
+ * <wr-star-border>Star border</wr-star-border>
18
+ * <button wr-star-border mode="hover" rays="single">Hover me</button>
19
+ * ```
20
+ *
21
+ * @see https://ngwr.dev/animations/star-border
22
+ */
23
+ declare class WrStarBorder {
24
+ /** Ray colour. When unset, the theme decides: primary on light, white on dark. */
25
+ readonly color: _angular_core.InputSignal<string | null>;
26
+ /** Seconds per ray sweep. @default 6 */
27
+ readonly speed: _angular_core.InputSignalWithTransform<number, unknown>;
28
+ /** Vertical bleed of the rays past the inner panel, in px. @default 1 */
29
+ readonly thickness: _angular_core.InputSignalWithTransform<number, unknown>;
30
+ /** `'infinite'` animates always; `'hover'` only while hovered. @default 'infinite' */
31
+ readonly mode: _angular_core.InputSignal<WrStarBorderMode>;
32
+ /** `'mirror'` runs rays along both edges; `'single'` only the bottom. @default 'mirror' */
33
+ readonly rays: _angular_core.InputSignal<WrStarBorderRays>;
34
+ protected readonly classes: () => string;
35
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrStarBorder, never>;
36
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrStarBorder, "wr-star-border, [wr-star-border]", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "speed": { "alias": "speed"; "required": false; "isSignal": true; }; "thickness": { "alias": "thickness"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "rays": { "alias": "rays"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
37
+ }
38
+
39
+ export { WrStarBorder };
40
+ export type { WrStarBorderMode, WrStarBorderRays };
@@ -0,0 +1,88 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ /**
4
+ * KPI card — label + big number + optional prefix/suffix + delta. Pair
5
+ * with a layout grid for dashboards.
6
+ *
7
+ * @example
8
+ * ```html
9
+ * <wr-statistic label="Active users" [value]="12345" suffix="users" />
10
+ * <wr-statistic label="Revenue" [value]="9512" prefix="$" [delta]="12.4" />
11
+ * ```
12
+ *
13
+ * @see https://ngwr.dev/components/statistic
14
+ */
15
+ declare class WrStatistic {
16
+ readonly label: _angular_core.InputSignal<string>;
17
+ /** The number (or string) to display in the main slot. */
18
+ readonly value: _angular_core.InputSignal<string | number | null>;
19
+ /** Prefix glyph / symbol (e.g. `'$'`). */
20
+ readonly prefix: _angular_core.InputSignal<string>;
21
+ /** Suffix glyph / unit (e.g. `'%'`, `'kg'`). */
22
+ readonly suffix: _angular_core.InputSignal<string>;
23
+ /**
24
+ * Optional delta vs previous period — shown as `+x.x%` (or `-x.x%`).
25
+ * Use `deltaSuffix` to change the trailing unit.
26
+ */
27
+ readonly delta: _angular_core.InputSignalWithTransform<number | null, number | null>;
28
+ /** Unit appended to the delta value. @default '%' */
29
+ readonly deltaSuffix: _angular_core.InputSignal<string>;
30
+ protected readonly hasDelta: _angular_core.Signal<boolean>;
31
+ protected readonly deltaDirection: _angular_core.Signal<"up" | "down" | "flat">;
32
+ protected readonly deltaText: _angular_core.Signal<string>;
33
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrStatistic, never>;
34
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrStatistic, "wr-statistic", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; "suffix": { "alias": "suffix"; "required": false; "isSignal": true; }; "delta": { "alias": "delta"; "required": false; "isSignal": true; }; "deltaSuffix": { "alias": "deltaSuffix"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
35
+ }
36
+
37
+ /**
38
+ * Live-counting variant of `<wr-statistic>` that targets a future date
39
+ * and ticks down to zero. The format string uses Day/Hour/Minute/Second
40
+ * tokens (`D`, `H`, `m`, `s`, double for zero-padded, plus `SSS` for
41
+ * milliseconds).
42
+ *
43
+ * @example
44
+ * ```html
45
+ * <wr-statistic-countdown
46
+ * label="Launch in"
47
+ * [target]="launchDate"
48
+ * format="D days HH:mm:ss"
49
+ * (countdownEnd)="onLive()"
50
+ * />
51
+ * ```
52
+ *
53
+ * @see https://ngwr.dev/components/statistic
54
+ */
55
+ declare class WrStatisticCountdown {
56
+ /** Target date / timestamp the countdown is running down to. */
57
+ readonly target: _angular_core.InputSignal<string | number | Date>;
58
+ /** Label rendered above the value. */
59
+ readonly label: _angular_core.InputSignal<string>;
60
+ /**
61
+ * Format string. Tokens: `D`/`DD` (days), `H`/`HH` (hours),
62
+ * `m`/`mm` (minutes), `s`/`ss` (seconds), `SSS` (milliseconds).
63
+ * Double-letter forms zero-pad to width 2. @default 'HH:mm:ss'
64
+ */
65
+ readonly format: _angular_core.InputSignal<string>;
66
+ /** Optional text shown once the countdown reaches zero. */
67
+ readonly endText: _angular_core.InputSignal<string | null>;
68
+ /**
69
+ * Tick interval in ms. Drop to ~16 for `SSS` (millisecond display).
70
+ * @default 1000
71
+ */
72
+ readonly tickMs: _angular_core.InputSignal<number>;
73
+ /** Fires once when the countdown crosses zero. */
74
+ readonly countdownEnd: _angular_core.OutputEmitterRef<void>;
75
+ private readonly destroyRef;
76
+ private readonly isBrowser;
77
+ private readonly targetMs;
78
+ /** Remaining milliseconds (live signal). */
79
+ protected readonly remaining: _angular_core.WritableSignal<number>;
80
+ protected readonly finished: _angular_core.WritableSignal<boolean>;
81
+ protected readonly display: _angular_core.Signal<string>;
82
+ constructor();
83
+ private tick;
84
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrStatisticCountdown, never>;
85
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrStatisticCountdown, "wr-statistic-countdown", never, { "target": { "alias": "target"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "endText": { "alias": "endText"; "required": false; "isSignal": true; }; "tickMs": { "alias": "tickMs"; "required": false; "isSignal": true; }; }, { "countdownEnd": "countdownEnd"; }, never, never, true, never>;
86
+ }
87
+
88
+ export { WrStatistic, WrStatisticCountdown };
@@ -0,0 +1,99 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { InjectionToken, Signal } from '@angular/core';
3
+
4
+ /**
5
+ * One step in a {@link WrStepper}. Project as a child:
6
+ *
7
+ * ```html
8
+ * <wr-stepper>
9
+ * <wr-step label="Account"> … </wr-step>
10
+ * <wr-step label="Profile" description="Optional"> … </wr-step>
11
+ * </wr-stepper>
12
+ * ```
13
+ *
14
+ * The stepper hides every step except the active one via a host class —
15
+ * each step still mounts once, so component state survives navigation.
16
+ *
17
+ * @see https://ngwr.dev/components/stepper
18
+ */
19
+ declare class WrStep {
20
+ /** Header label. */
21
+ readonly label: _angular_core.InputSignal<string>;
22
+ /** Secondary text shown under the label. */
23
+ readonly description: _angular_core.InputSignal<string>;
24
+ /** Marks the step as optional in the header. */
25
+ readonly optional: _angular_core.InputSignalWithTransform<boolean, any>;
26
+ /**
27
+ * Override completion state. When unset, the stepper auto-derives it
28
+ * from the active index (any step before `active` is completed).
29
+ */
30
+ readonly completed: _angular_core.InputSignal<boolean | null>;
31
+ /** Disables the header — also blocks header clicks. */
32
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
33
+ /** Stepper-assigned index. Set by the parent when contentChildren updates. */
34
+ readonly _index: _angular_core.WritableSignal<number>;
35
+ private readonly stepper;
36
+ protected readonly isActive: _angular_core.Signal<boolean>;
37
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrStep, never>;
38
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrStep, "wr-step", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "optional": { "alias": "optional"; "required": false; "isSignal": true; }; "completed": { "alias": "completed"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "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
+ /** Surface a {@link WrStepper} provides for its child `<wr-step>`s. */
49
+ interface WrStepperContext {
50
+ /** Index of the currently visible step. */
51
+ readonly active: Signal<number>;
52
+ /** Linear mode — steps after the latest completed one are locked. */
53
+ readonly linear: Signal<boolean>;
54
+ }
55
+ declare const WR_STEPPER: InjectionToken<WrStepperContext>;
56
+
57
+ /**
58
+ * Multi-step wizard container. Children are `<wr-step>` components — the
59
+ * stepper renders one numbered header per step (with connectors) and the
60
+ * body of the currently active one.
61
+ *
62
+ * Two-way bind `[(active)]` to the active step index. Set `linear="true"`
63
+ * to forbid jumping past incomplete steps.
64
+ *
65
+ * @example
66
+ * ```html
67
+ * <wr-stepper [(active)]="step" linear>
68
+ * <wr-step label="Account">…</wr-step>
69
+ * <wr-step label="Profile">…</wr-step>
70
+ * <wr-step label="Confirm">…</wr-step>
71
+ * </wr-stepper>
72
+ * ```
73
+ *
74
+ * @see https://ngwr.dev/components/stepper
75
+ */
76
+ declare class WrStepper implements WrStepperContext {
77
+ /** Index of the currently visible step. */
78
+ readonly active: _angular_core.ModelSignal<number>;
79
+ /** Layout direction. @default 'horizontal' */
80
+ readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
81
+ /** Lock steps after the latest completed one. @default false */
82
+ readonly linear: _angular_core.InputSignalWithTransform<boolean, any>;
83
+ protected readonly steps: _angular_core.Signal<readonly WrStep[]>;
84
+ protected readonly classes: _angular_core.Signal<string>;
85
+ constructor();
86
+ /** Is the step at `index` considered completed? */
87
+ protected isCompleted(index: number): boolean;
88
+ /** Is the step at `index` reachable for direct header clicks? */
89
+ protected isReachable(index: number): boolean;
90
+ protected onHeaderClick(index: number): void;
91
+ goTo(index: number): void;
92
+ next(): void;
93
+ prev(): void;
94
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrStepper, never>;
95
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrStepper, "wr-stepper", never, { "active": { "alias": "active"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "linear": { "alias": "linear"; "required": false; "isSignal": true; }; }, { "active": "activeChange"; }, ["steps"], ["*"], true, never>;
96
+ }
97
+
98
+ export { WR_STEPPER, WrStep, WrStepper };
99
+ export type { WrStepperContext };
@@ -0,0 +1,178 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Signal, InjectionToken, EnvironmentProviders } from '@angular/core';
3
+ import * as ngwr_storage from 'ngwr/storage';
4
+
5
+ /**
6
+ * Reactive key/value storage on top of any `Storage`-compatible engine.
7
+ *
8
+ * - **Swap engines** through {@link WR_STORAGE_ENGINE} or
9
+ * {@link provideWrStorage}. Default: `localStorage` with an in-memory
10
+ * fallback for SSR / private mode.
11
+ * - **Namespacing** via `prefix` (config) — every key is transparently
12
+ * prefixed on read / write.
13
+ * - **TTL** per-call or default — values past their expiry are removed
14
+ * lazily on the next `get` / `watch` read.
15
+ * - **Reactive watch** — `watch(key)` returns a `Signal` that updates on
16
+ * local writes and cross-tab `storage` events.
17
+ *
18
+ * SSR-safe: the default engine factory returns an in-memory shim when
19
+ * `localStorage` is unavailable, so reads always work.
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * const store = inject(WrStorage);
24
+ *
25
+ * store.set('user', { name: 'Ada' });
26
+ * store.get<{ name: string }>('user'); // { name: 'Ada' }
27
+ *
28
+ * store.set('cart', items, { ttl: 60_000 }); // expires in 60s
29
+ *
30
+ * const theme = store.watch<'light' | 'dark'>('theme', 'light');
31
+ * effect(() => console.log('theme is', theme()));
32
+ * ```
33
+ *
34
+ * @see https://ngwr.dev/services/storage
35
+ */
36
+ declare class WrStorage {
37
+ private readonly engine;
38
+ private readonly config;
39
+ private readonly isBrowser;
40
+ /** Per-key watchers. Shared so multiple `watch(k)` calls reuse one signal. */
41
+ private readonly watchers;
42
+ private listenerInstalled;
43
+ /** Is `key` present (regardless of value / expiry)? */
44
+ has(key: string): boolean;
45
+ /**
46
+ * Read `key`. Returns `fallback` (default `null`) when the key is
47
+ * missing or expired. Expired values are also removed as a side effect.
48
+ */
49
+ get<T = unknown>(key: string, fallback?: T | null): T | null;
50
+ /**
51
+ * Write `value` at `key`. Per-call `ttl` (ms) overrides the config
52
+ * default. JSON-serializable values only when `json` is on (the default).
53
+ */
54
+ set<T = unknown>(key: string, value: T, opts?: {
55
+ ttl?: number;
56
+ }): void;
57
+ /** Remove `key`. No-op when absent. */
58
+ remove(key: string): void;
59
+ /**
60
+ * Clear every key owned by this prefix. When `prefix` is empty this
61
+ * defers to `engine.clear()` (clears everything — be careful with
62
+ * shared storage).
63
+ */
64
+ clear(): void;
65
+ /** All known keys under our prefix, with the prefix stripped. */
66
+ keys(): readonly string[];
67
+ /**
68
+ * Reactive read of `key`. Updates when this instance writes to the key,
69
+ * when `clear()` runs, and when another tab updates `localStorage`
70
+ * under the same prefix. Returned signal is shared per key — calling
71
+ * `watch(k)` twice returns the same signal.
72
+ */
73
+ watch<T = unknown>(key: string, fallback?: T | null): Signal<T | null>;
74
+ private fullKey;
75
+ private notify;
76
+ private rawKeys;
77
+ private installCrossTabListener;
78
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrStorage, never>;
79
+ static ɵprov: i0.ɵɵInjectableDeclaration<WrStorage>;
80
+ }
81
+
82
+ /**
83
+ * Storage backend. Anything implementing the native `Storage` interface
84
+ * works — `localStorage`, `sessionStorage`, a Map-backed shim, an
85
+ * IndexedDB sync wrapper, an encrypted wrapper, a worker bridge, …
86
+ */
87
+ type WrStorageEngine = Storage;
88
+ /** {@link WrStorage} configuration. Pass partial — merged with defaults. */
89
+ interface WrStorageConfig {
90
+ /**
91
+ * Prefix prepended to every key on read / write. Keeps your app's keys
92
+ * from colliding with third-party libs sharing the same storage.
93
+ * @default ''
94
+ */
95
+ readonly prefix?: string;
96
+ /**
97
+ * Auto JSON-(de)serialize values. Disable to store / read raw strings
98
+ * verbatim (useful when interop with non-ngwr code).
99
+ * @default true
100
+ */
101
+ readonly json?: boolean;
102
+ /**
103
+ * Default TTL in milliseconds applied to every `set()` without a
104
+ * per-call override. `0` means no expiry.
105
+ * @default 0
106
+ */
107
+ readonly ttl?: number;
108
+ }
109
+ /** Fully-resolved config (all defaults filled). @internal */
110
+ type WrStorageConfigResolved = Required<WrStorageConfig>;
111
+
112
+ declare const DEFAULT_WR_STORAGE_CONFIG: WrStorageConfigResolved;
113
+ declare const WR_STORAGE_CONFIG: InjectionToken<Required<ngwr_storage.WrStorageConfig>>;
114
+
115
+ /**
116
+ * @license
117
+ *
118
+ * Use of this source code is governed by an MIT-style license that can be
119
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
120
+ */
121
+
122
+ /**
123
+ * In-memory implementation of `Storage`. Used as the SSR / private-mode
124
+ * fallback. Exported so consumers can opt into it explicitly for tests.
125
+ */
126
+ declare function createMemoryStorage(): WrStorageEngine;
127
+ /**
128
+ * Injection token for the active storage engine. Override at any
129
+ * injector level to swap engines (e.g. a feature module uses
130
+ * `sessionStorage`; the rest uses `localStorage`):
131
+ *
132
+ * ```ts
133
+ * providers: [{ provide: WR_STORAGE_ENGINE, useValue: sessionStorage }]
134
+ * ```
135
+ *
136
+ * The default factory returns `localStorage` in the browser when it's
137
+ * actually writable, an in-memory map otherwise.
138
+ */
139
+ declare const WR_STORAGE_ENGINE: InjectionToken<Storage>;
140
+
141
+ /**
142
+ * @license
143
+ *
144
+ * Use of this source code is governed by an MIT-style license that can be
145
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
146
+ */
147
+
148
+ /**
149
+ * Configure {@link WrStorage}. All fields optional — merged with defaults.
150
+ *
151
+ * @example Override the engine globally (e.g. session storage)
152
+ * ```ts
153
+ * provideWrStorage({ engine: sessionStorage })
154
+ * ```
155
+ *
156
+ * @example Lazy engine factory (e.g. wrap localStorage with encryption)
157
+ * ```ts
158
+ * provideWrStorage({ engine: () => new EncryptedStorage(localStorage, key) })
159
+ * ```
160
+ *
161
+ * @example Namespace + auto-expire
162
+ * ```ts
163
+ * provideWrStorage({ prefix: 'myapp:', ttl: 24 * 60 * 60 * 1000 })
164
+ * ```
165
+ */
166
+ interface ProvideWrStorageOptions extends WrStorageConfig {
167
+ /**
168
+ * Storage engine. Either an instance (eager) or a factory (lazy —
169
+ * called inside the injection context the first time `WR_STORAGE_ENGINE`
170
+ * is read). Defaults to {@link WR_STORAGE_ENGINE}'s factory
171
+ * (`localStorage` with in-memory fallback).
172
+ */
173
+ readonly engine?: WrStorageEngine | (() => WrStorageEngine);
174
+ }
175
+ declare function provideWrStorage(options?: ProvideWrStorageOptions): EnvironmentProviders;
176
+
177
+ export { DEFAULT_WR_STORAGE_CONFIG, WR_STORAGE_CONFIG, WR_STORAGE_ENGINE, WrStorage, createMemoryStorage, provideWrStorage };
178
+ export type { ProvideWrStorageOptions, WrStorageConfig, WrStorageConfigResolved, WrStorageEngine };
@@ -0,0 +1,39 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+
4
+ /**
5
+ * Boolean toggle with an iOS-style slider. Implements `ControlValueAccessor`.
6
+ *
7
+ * @example
8
+ * ```html
9
+ * <wr-switch [(ngModel)]="enabled">Notifications</wr-switch>
10
+ * ```
11
+ *
12
+ * @see https://ngwr.dev/components/switch
13
+ */
14
+ declare class WrSwitch implements ControlValueAccessor {
15
+ /** Stable id used to associate the native input with its label. */
16
+ readonly id: _angular_core.InputSignal<string>;
17
+ /**
18
+ * Disable the switch. Also set by Angular forms via `setDisabledState`.
19
+ *
20
+ * @default false
21
+ */
22
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
23
+ protected readonly checked: _angular_core.WritableSignal<boolean>;
24
+ private readonly disabledFromCva;
25
+ protected readonly effectiveDisabled: _angular_core.Signal<boolean>;
26
+ protected readonly classes: _angular_core.Signal<string>;
27
+ private onChange;
28
+ private onTouched;
29
+ writeValue(value: boolean | null): void;
30
+ registerOnChange(fn: (value: boolean) => void): void;
31
+ registerOnTouched(fn: () => void): void;
32
+ setDisabledState(isDisabled: boolean): void;
33
+ protected onInputChange(event: Event): void;
34
+ protected onInputBlur(): void;
35
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrSwitch, never>;
36
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrSwitch, "wr-switch", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
37
+ }
38
+
39
+ export { WrSwitch };