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,54 @@
1
+ import { WrIconDef } from 'ngwr/icon';
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
+ /**
11
+ * Shape of a `lucide` icon export — an array of `[tag, attrs]` tuples
12
+ * representing the inner SVG children. The outer `<svg>` wrapper is
13
+ * added by the adapter when converting to a {@link WrIconDef}.
14
+ */
15
+ type LucideIconNode = readonly (readonly [string, Record<string, string | number | undefined>])[];
16
+ /**
17
+ * Wrap a single Lucide icon in the {@link WrIconDef} envelope. Use this
18
+ * when you need fine-grained control over the registered name, or when
19
+ * the bulk {@link lucideIcons} helper isn't a good fit.
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * import { Plus } from 'lucide';
24
+ * import { lucide } from 'ngwr/icon/adapters/lucide';
25
+ *
26
+ * provideWrIcons([lucide('plus', Plus)]);
27
+ * ```
28
+ */
29
+ declare function lucide(name: string, children: LucideIconNode): WrIconDef;
30
+ /**
31
+ * Wrap a bag of Lucide icons in one shot. Keys become the registered
32
+ * names (camelCase → kebab-case), values are the upstream IconNode
33
+ * tuples. The shape mirrors how you'd write `provideWrIcons` anyway.
34
+ *
35
+ * Tree-shaking: every `Plus`, `Trash`, … import lives in *your* file
36
+ * — ngwr ships only this wrapper, not the icon data. Unused icons in
37
+ * `lucide` itself get dropped by the bundler.
38
+ *
39
+ * @example
40
+ * ```ts
41
+ * import { Plus, Trash, ChevronDown } from 'lucide';
42
+ * import { lucideIcons } from 'ngwr/icon/adapters/lucide';
43
+ *
44
+ * bootstrapApplication(AppComponent, {
45
+ * providers: [
46
+ * provideWrIcons(lucideIcons({ plus: Plus, trash: Trash, chevronDown: ChevronDown })),
47
+ * ],
48
+ * });
49
+ * ```
50
+ */
51
+ declare function lucideIcons(icons: Record<string, LucideIconNode>): WrIconDef[];
52
+
53
+ export { lucide, lucideIcons };
54
+ export type { LucideIconNode };
@@ -0,0 +1,180 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Provider } from '@angular/core';
3
+
4
+ /**
5
+ * Renders a registered SVG icon.
6
+ *
7
+ * Icons must be registered via {@link provideWrIcons} before use —
8
+ * either at the application root or on any ancestor component.
9
+ *
10
+ * @example
11
+ * ```html
12
+ * <wr-icon name="home" />
13
+ * ```
14
+ *
15
+ * @see https://ngwr.dev/components/icon
16
+ */
17
+ declare class WrIcon {
18
+ readonly name: i0.InputSignal<string>;
19
+ private readonly host;
20
+ /**
21
+ * Merged view of every `WR_ICONS` multi-provider visible from this
22
+ * injector position — element-level first overlay, environment-level
23
+ * (app/lazy-route bootstrap) as the base.
24
+ *
25
+ * Angular's default `inject(WR_ICONS)` only returns the **closest**
26
+ * injector's contribution; if a component declares its own
27
+ * `provideWrIcons(...)`, the root registration is **shadowed**, not
28
+ * appended. That contradicts the docstring's "each call adds to the
29
+ * registry" promise and silently breaks any page that overrides while
30
+ * still relying on root-registered icons.
31
+ *
32
+ * We work around it by also asking the environment injector directly
33
+ * (`envInjector.get(WR_ICONS, null, …)`). When no element-level
34
+ * provider exists both calls return the same array reference and we
35
+ * skip the redundant pass. Otherwise we lay element on top of env so
36
+ * a page's local icons can override a root-registered name.
37
+ *
38
+ * One known limitation: multiple element-injector levels in between
39
+ * still shadow each other — but the showcase doesn't nest providers
40
+ * that deep, and the env+local merge fixes the dominant case.
41
+ */
42
+ private readonly iconSets;
43
+ private readonly registry;
44
+ private readonly icon;
45
+ constructor();
46
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrIcon, never>;
47
+ static ɵcmp: i0.ɵɵComponentDeclaration<WrIcon, "wr-icon", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
48
+ }
49
+
50
+ /**
51
+ * @license
52
+ *
53
+ * Use of this source code is governed by an MIT-style license that can be
54
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
55
+ */
56
+ /**
57
+ * Any icon name registered via {@link provideWrIcons}.
58
+ *
59
+ * Kept as a string alias so consumers can pass any name they've wired
60
+ * — there are no built-ins shipped by ngwr. Bring an icon set via one
61
+ * of the adapters under `ngwr/icon/adapters/<set>` or via `svgIcon()`.
62
+ */
63
+ type WrIconName = string;
64
+
65
+ /**
66
+ * @license
67
+ *
68
+ * Use of this source code is governed by an MIT-style license that can be
69
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
70
+ */
71
+
72
+ /**
73
+ * Shape of an icon registered with the icon registry.
74
+ *
75
+ * The library ships a set of built-in icons, but consumers can also
76
+ * provide their own custom icons with the same shape.
77
+ *
78
+ * @example
79
+ * ```ts
80
+ * const myIcon: WrIconDef = {
81
+ * name: 'my-custom-logo',
82
+ * data: '<svg viewBox="0 0 24 24">...</svg>',
83
+ * };
84
+ *
85
+ * provideWrIcons([myIcon]);
86
+ * ```
87
+ */
88
+ interface WrIconDef {
89
+ name: WrIconName;
90
+ data: string;
91
+ }
92
+
93
+ /**
94
+ * @license
95
+ *
96
+ * Use of this source code is governed by an MIT-style license that can be
97
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
98
+ */
99
+
100
+ /**
101
+ * Registers a set of icons for use by `<wr-icon>`.
102
+ *
103
+ * Can be called multiple times — each call adds to the registry.
104
+ * Works at both the application root and at the component level,
105
+ * so a feature module or a single component can bring its own icons
106
+ * without polluting the global config.
107
+ *
108
+ * In dev mode, each icon is validated for common issues (missing
109
+ * `viewBox`, malformed root). Validation is dropped from production
110
+ * builds via `isDevMode()` tree-shaking.
111
+ *
112
+ * @example
113
+ * ```ts
114
+ * // App-level registration
115
+ * import { home, user, cog, provideWrIcons } from 'ngwr/icon';
116
+ *
117
+ * export const appConfig: ApplicationConfig = {
118
+ * providers: [
119
+ * provideWrIcons([home, user, cog]),
120
+ * ],
121
+ * };
122
+ * ```
123
+ *
124
+ * @example
125
+ * ```ts
126
+ * // Component-level registration
127
+ * import { logoGithub, logoNpm, provideWrIcons, WrIconDef } from 'ngwr/icon';
128
+ *
129
+ * @Component({
130
+ * selector: 'ngwr-header',
131
+ * imports: [WrIcon],
132
+ * providers: [provideWrIcons([logoGithub, logoNpm])],
133
+ * template: `<wr-icon name="logo-github" />`,
134
+ * })
135
+ * export class HeaderComponent {}
136
+ * ```
137
+ */
138
+ declare function provideWrIcons(icons: WrIconDef[]): Provider[];
139
+
140
+ /**
141
+ * @license
142
+ *
143
+ * Use of this source code is governed by an MIT-style license that can be
144
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
145
+ */
146
+
147
+ /**
148
+ * Wrap a raw SVG string in the {@link WrIconDef} envelope. Use this when
149
+ * importing icons from sources that ship full `<svg>` files — Tabler,
150
+ * Phosphor, Heroicons, Iconoir, Radix, Bootstrap Icons, your designer.
151
+ *
152
+ * Pair with a bundler's raw-SVG import (Vite's `?raw`, Webpack's
153
+ * `raw-loader`, esbuild's `--loader:.svg=text`) so the SVG file becomes
154
+ * a string at build time.
155
+ *
156
+ * For sets with a non-SVG shape (Lucide's IconNode tuples, Feather's
157
+ * inner-only SVG), use the dedicated adapter under
158
+ * `ngwr/icon/adapters/<set>` instead.
159
+ *
160
+ * @example
161
+ * ```ts
162
+ * import { svgIcon, provideWrIcons } from 'ngwr/icon';
163
+ * // Vite: the `?raw` suffix returns the file as a string.
164
+ * import plusSvg from '@tabler/icons/icons/plus.svg?raw';
165
+ * import phosphorPlusSvg from '@phosphor-icons/core/assets/regular/plus.svg?raw';
166
+ *
167
+ * bootstrapApplication(AppComponent, {
168
+ * providers: [
169
+ * provideWrIcons([
170
+ * svgIcon('plus', plusSvg),
171
+ * svgIcon('plus-phosphor', phosphorPlusSvg),
172
+ * ]),
173
+ * ],
174
+ * });
175
+ * ```
176
+ */
177
+ declare function svgIcon(name: string, svg: string): WrIconDef;
178
+
179
+ export { WrIcon, provideWrIcons, svgIcon };
180
+ export type { WrIconDef, WrIconName };
@@ -0,0 +1,110 @@
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
+ /** Crop rectangle in source-image (natural) pixel coordinates. */
11
+ interface WrCropRect {
12
+ readonly x: number;
13
+ readonly y: number;
14
+ readonly width: number;
15
+ readonly height: number;
16
+ }
17
+ /** Possible drag handles on the crop overlay. */
18
+ type WrCropHandle = 'move' | 'n' | 's' | 'e' | 'w' | 'ne' | 'nw' | 'se' | 'sw';
19
+ /** Supported output MIME types for {@link WrImageCropper.toBlob}. */
20
+ type WrImageOutputType = 'image/png' | 'image/jpeg' | 'image/webp';
21
+
22
+ interface RectPx {
23
+ x: number;
24
+ y: number;
25
+ w: number;
26
+ h: number;
27
+ }
28
+ /**
29
+ * Image crop UI. Pass `[src]` (URL, `File`, or `Blob`); the user drags
30
+ * the crop window or any of its eight handles. Optionally lock the crop
31
+ * to a fixed `[aspectRatio]`.
32
+ *
33
+ * `(cropped)` fires after each drag end with a freshly-rendered `Blob`
34
+ * of the cropped region. For one-off reads use `toBlob()` / `toDataUrl()`.
35
+ *
36
+ * @example
37
+ * ```html
38
+ * <wr-image-cropper
39
+ * [src]="file"
40
+ * [aspectRatio]="1"
41
+ * (cropped)="onBlob($event)"
42
+ * />
43
+ * ```
44
+ *
45
+ * @see https://ngwr.dev/components/image-cropper
46
+ */
47
+ declare class WrImageCropper {
48
+ /** Image source — URL string, `File`, or `Blob`. */
49
+ readonly src: _angular_core.InputSignal<string | File | Blob | null>;
50
+ /** Aspect ratio (width / height). `null` = free. @default null */
51
+ readonly aspectRatio: _angular_core.InputSignal<number | null>;
52
+ /** Minimum crop width in display pixels. @default 32 */
53
+ readonly minWidth: _angular_core.InputSignalWithTransform<number, unknown>;
54
+ /** Minimum crop height in display pixels. @default 32 */
55
+ readonly minHeight: _angular_core.InputSignalWithTransform<number, unknown>;
56
+ /** Default output type for `(cropped)`. @default 'image/png' */
57
+ readonly outputType: _angular_core.InputSignal<WrImageOutputType>;
58
+ /** JPEG / WebP quality for `(cropped)` in [0, 1]. @default 0.92 */
59
+ readonly outputQuality: _angular_core.InputSignal<number>;
60
+ /** Emits a Blob after each drag end. */
61
+ readonly cropped: _angular_core.OutputEmitterRef<Blob>;
62
+ protected readonly imgEl: _angular_core.Signal<ElementRef<HTMLImageElement>>;
63
+ /** Resolved object URL for `src` (so File / Blob render in `<img>`). */
64
+ protected readonly objectUrl: _angular_core.WritableSignal<string | null>;
65
+ /** Previous object URL we created — kept off-signal so the resolve
66
+ * effect doesn't depend on its own writes (which would loop). */
67
+ private previousObjectUrl;
68
+ /** Natural (source) pixel dimensions. */
69
+ protected readonly natural: _angular_core.WritableSignal<{
70
+ w: number;
71
+ h: number;
72
+ }>;
73
+ /** Display (rendered) pixel dimensions. */
74
+ protected readonly display: _angular_core.WritableSignal<{
75
+ w: number;
76
+ h: number;
77
+ }>;
78
+ /** Crop rect in display coordinates. */
79
+ protected readonly cropDisplay: _angular_core.WritableSignal<RectPx>;
80
+ /** Currently active drag handle. */
81
+ private active;
82
+ private startPointer;
83
+ private startRect;
84
+ private readonly destroyRef;
85
+ /** Resolved crop rect in natural (source) pixel coordinates. */
86
+ readonly cropRect: _angular_core.Signal<WrCropRect>;
87
+ constructor();
88
+ protected onImageLoad(): void;
89
+ /** Compute a sensible initial crop — centered, respecting aspectRatio. */
90
+ private initialCrop;
91
+ protected readonly handles: readonly WrCropHandle[];
92
+ protected onPointerDown(handle: WrCropHandle, event: PointerEvent): void;
93
+ protected onPointerMove(event: PointerEvent): void;
94
+ protected onPointerUp(event: PointerEvent): void;
95
+ private applyMove;
96
+ private applyResize;
97
+ /** Render the current crop as a Blob. */
98
+ toBlob(type?: WrImageOutputType, quality?: number): Promise<Blob>;
99
+ /** Render the current crop as a data URL. */
100
+ toDataUrl(type?: WrImageOutputType, quality?: number): string;
101
+ /** Re-emit the crop without waiting for a drag (e.g. after a programmatic change). */
102
+ refresh(): Promise<void>;
103
+ private toCanvas;
104
+ private emitCropped;
105
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrImageCropper, never>;
106
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrImageCropper, "wr-image-cropper", never, { "src": { "alias": "src"; "required": false; "isSignal": true; }; "aspectRatio": { "alias": "aspectRatio"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "minHeight": { "alias": "minHeight"; "required": false; "isSignal": true; }; "outputType": { "alias": "outputType"; "required": false; "isSignal": true; }; "outputQuality": { "alias": "outputQuality"; "required": false; "isSignal": true; }; }, { "cropped": "cropped"; }, never, never, true, never>;
107
+ }
108
+
109
+ export { WrImageCropper };
110
+ export type { WrCropHandle, WrCropRect, WrImageOutputType };
@@ -0,0 +1,77 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+
4
+ /**
5
+ * Numeric input with locale-aware formatting + ▲▼ stepper buttons.
6
+ *
7
+ * Implements `ControlValueAccessor` — value type is `number | null`.
8
+ * Parses leniently while typing (allows partial input like `"1."` or `"-"`),
9
+ * re-formats with grouping + fixed decimals on blur.
10
+ *
11
+ * Locale comes from Angular's `LOCALE_ID` — input-number intentionally does
12
+ * NOT depend on `ngwr/date-adapter` so it can be used in date-free apps.
13
+ *
14
+ * @example
15
+ * ```html
16
+ * <wr-input-number [(ngModel)]="qty" [min]="0" [max]="100" />
17
+ * <wr-input-number [(ngModel)]="price" [decimals]="2" suffix="USD" />
18
+ * ```
19
+ *
20
+ * @see https://ngwr.dev/components/input-number
21
+ */
22
+ declare class WrInputNumber implements ControlValueAccessor {
23
+ /** Minimum allowed value. @default -Infinity */
24
+ readonly min: _angular_core.InputSignalWithTransform<number, unknown>;
25
+ /** Maximum allowed value. @default Infinity */
26
+ readonly max: _angular_core.InputSignalWithTransform<number, unknown>;
27
+ /** Step used by stepper buttons + arrow keys. @default 1 */
28
+ readonly step: _angular_core.InputSignalWithTransform<number, unknown>;
29
+ /** Fixed number of decimals shown on blur. `null` keeps the entered precision. @default null */
30
+ readonly decimals: _angular_core.InputSignal<number | null>;
31
+ /** Render the ▲▼ stepper column. @default true */
32
+ readonly showSteppers: _angular_core.InputSignalWithTransform<boolean, any>;
33
+ /** Optional prefix label (e.g. `"$"`). */
34
+ readonly prefix: _angular_core.InputSignal<string>;
35
+ /** Optional suffix label (e.g. `"kg"`). */
36
+ readonly suffix: _angular_core.InputSignal<string>;
37
+ /** Placeholder shown when the input is empty. */
38
+ readonly placeholder: _angular_core.InputSignal<string>;
39
+ /** Disable interaction. @default false */
40
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
41
+ /** Read-only — values cannot be changed (steppers + typing disabled). @default false */
42
+ readonly readonly: _angular_core.InputSignalWithTransform<boolean, any>;
43
+ private readonly locale;
44
+ private readonly separators;
45
+ /** Current numeric value mirrored from the CVA. */
46
+ protected readonly value: _angular_core.WritableSignal<number | null>;
47
+ /** Text currently in the input (may be partial / invalid mid-type). */
48
+ protected readonly text: _angular_core.WritableSignal<string>;
49
+ private readonly disabledFromCva;
50
+ protected readonly effectiveDisabled: _angular_core.Signal<boolean>;
51
+ protected readonly interactive: _angular_core.Signal<boolean>;
52
+ protected readonly atMin: _angular_core.Signal<boolean>;
53
+ protected readonly atMax: _angular_core.Signal<boolean>;
54
+ protected readonly classes: _angular_core.Signal<string>;
55
+ private onChange;
56
+ private onTouched;
57
+ writeValue(value: number | null): void;
58
+ registerOnChange(fn: (value: number | null) => void): void;
59
+ registerOnTouched(fn: () => void): void;
60
+ setDisabledState(isDisabled: boolean): void;
61
+ protected onInput(event: Event): void;
62
+ protected onBlur(): void;
63
+ protected onKeydown(event: KeyboardEvent): void;
64
+ protected stepBy(direction: 1 | -1): void;
65
+ private bump;
66
+ /** Choose a sensible starting point when bumping from `null`. */
67
+ private fallbackBase;
68
+ private constrain;
69
+ /** Parse a locale-formatted string. Returns `null` for partial / not-yet-numeric input. */
70
+ private parse;
71
+ /** Format a value using `Intl.NumberFormat` for the active locale. */
72
+ private format;
73
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrInputNumber, never>;
74
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrInputNumber, "wr-input-number", never, { "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "decimals": { "alias": "decimals"; "required": false; "isSignal": true; }; "showSteppers": { "alias": "showSteppers"; "required": false; "isSignal": true; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; "suffix": { "alias": "suffix"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
75
+ }
76
+
77
+ export { WrInputNumber };
@@ -0,0 +1,78 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ElementRef } from '@angular/core';
3
+ import { ControlValueAccessor } from '@angular/forms';
4
+
5
+ /**
6
+ * @license
7
+ *
8
+ * Use of this source code is governed by an MIT-style license that can be
9
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
10
+ */
11
+ /**
12
+ * Character set accepted by `<wr-input-otp>`:
13
+ * - `numeric` — digits only (also sets `inputmode="numeric"` so mobile keyboards
14
+ * show the number pad)
15
+ * - `alphanumeric` — letters + digits
16
+ * - `text` — any single character per cell
17
+ */
18
+ type WrInputOtpMode = 'numeric' | 'alphanumeric' | 'text';
19
+
20
+ /**
21
+ * Fixed-length one-time-code input. Renders one `<input>` per character,
22
+ * auto-advances focus on typing, handles paste of a full code, and supports
23
+ * masking like a password field.
24
+ *
25
+ * Implements `ControlValueAccessor` — emits the joined string through
26
+ * `[(ngModel)]` / `formControl`. Emits `completed` once all cells are
27
+ * filled (useful for auto-submission).
28
+ *
29
+ * @example
30
+ * ```html
31
+ * <wr-input-otp [(ngModel)]="code" length="6" (completed)="verify($event)" />
32
+ * ```
33
+ *
34
+ * @see https://ngwr.dev/components/input-otp
35
+ */
36
+ declare class WrInputOtp implements ControlValueAccessor {
37
+ /** Number of cells to render. Clamped to `[1, 20]`. @default 6 */
38
+ readonly length: _angular_core.InputSignalWithTransform<number, unknown>;
39
+ /** Character set per cell. @default 'numeric' */
40
+ readonly mode: _angular_core.InputSignal<WrInputOtpMode>;
41
+ /** Mask the typed characters like a password. @default false */
42
+ readonly mask: _angular_core.InputSignalWithTransform<boolean, any>;
43
+ /** Disable interaction. @default false */
44
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
45
+ /** Character shown in empty cells. @default '•' */
46
+ readonly placeholder: _angular_core.InputSignal<string>;
47
+ /** Fires once when every cell holds a character. */
48
+ readonly completed: _angular_core.OutputEmitterRef<string>;
49
+ protected readonly cells: _angular_core.WritableSignal<readonly string[]>;
50
+ private readonly disabledFromCva;
51
+ protected readonly effectiveDisabled: _angular_core.Signal<boolean>;
52
+ protected readonly classes: _angular_core.Signal<string>;
53
+ protected readonly cellType: _angular_core.Signal<"text" | "password">;
54
+ protected readonly cellInputMode: _angular_core.Signal<"numeric" | "text">;
55
+ protected readonly cellRefs: _angular_core.Signal<readonly ElementRef<HTMLInputElement>[]>;
56
+ constructor();
57
+ private onChange;
58
+ private onTouched;
59
+ writeValue(v: string | null): void;
60
+ registerOnChange(fn: (value: string) => void): void;
61
+ registerOnTouched(fn: () => void): void;
62
+ setDisabledState(isDisabled: boolean): void;
63
+ protected onInput(event: Event, index: number): void;
64
+ protected onKeyDown(event: KeyboardEvent, index: number): void;
65
+ protected onPaste(event: ClipboardEvent): void;
66
+ protected onBlur(): void;
67
+ protected trackIndex(index: number): number;
68
+ private update;
69
+ private emitChange;
70
+ private focusCell;
71
+ /** Drop a character that doesn't match the configured mode. */
72
+ private sanitiseChar;
73
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrInputOtp, never>;
74
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrInputOtp, "wr-input-otp", never, { "length": { "alias": "length"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "mask": { "alias": "mask"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, { "completed": "completed"; }, never, never, true, never>;
75
+ }
76
+
77
+ export { WrInputOtp };
78
+ export type { WrInputOtpMode };
@@ -0,0 +1,131 @@
1
+ import * as i0 from '@angular/core';
2
+
3
+ /**
4
+ * Applies NGWR input styling to a native `<input>` element.
5
+ *
6
+ * Because this is an attribute directive on the real `<input>` (not a wrapper
7
+ * component), any other directive that targets `input` — `[(ngModel)]`,
8
+ * `[formControl]`, validators, third-party libraries like `ngx-mask` — composes
9
+ * naturally on the same element.
10
+ *
11
+ * @example
12
+ * ```html
13
+ * <input wrInput [(ngModel)]="name" placeholder="Your name" />
14
+ *
15
+ * <!-- Works with ngx-mask, validators, etc. -->
16
+ * <input wrInput [(ngModel)]="phone" mask="(000) 000-0000" />
17
+ * ```
18
+ *
19
+ * For prefix / suffix / password-toggle layouts, wrap the input in
20
+ * `<wr-input-group>`.
21
+ *
22
+ * @see https://ngwr.dev/components/input
23
+ */
24
+ declare class WrInput {
25
+ /** Pill-shaped corners. @default false */
26
+ readonly rounded: i0.InputSignalWithTransform<boolean, any>;
27
+ protected readonly classes: i0.Signal<string>;
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrInput, never>;
29
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WrInput, "input[wrInput], textarea[wrInput]", never, { "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
30
+ }
31
+
32
+ /**
33
+ * Marks an element as the **left** decoration inside `<wr-input-group>`.
34
+ * Adds the `.wr-input-group__affix` class so the group's layout flexes it
35
+ * to the input's left edge.
36
+ *
37
+ * @example
38
+ * ```html
39
+ * <wr-input-group>
40
+ * <span wrInputPrefix>$</span>
41
+ * <input wrInput [(ngModel)]="amount" type="number" />
42
+ * </wr-input-group>
43
+ * ```
44
+ */
45
+ declare class WrInputPrefix {
46
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrInputPrefix, never>;
47
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WrInputPrefix, "[wrInputPrefix]", never, {}, {}, never, never, true, never>;
48
+ }
49
+
50
+ /**
51
+ * Marks an element as the **right** decoration inside `<wr-input-group>`.
52
+ * Adds the `.wr-input-group__affix` class so the group's layout flexes it
53
+ * to the input's right edge.
54
+ *
55
+ * @example
56
+ * ```html
57
+ * <wr-input-group>
58
+ * <input wrInput [(ngModel)]="amount" type="number" />
59
+ * <span wrInputSuffix>USD</span>
60
+ * </wr-input-group>
61
+ * ```
62
+ */
63
+ declare class WrInputSuffix {
64
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrInputSuffix, never>;
65
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WrInputSuffix, "[wrInputSuffix]", never, {}, {}, never, never, true, never>;
66
+ }
67
+
68
+ /**
69
+ * Container for `<input wrInput>` + `[wrInputPrefix]` / `[wrInputSuffix]` /
70
+ * `<wr-password-toggle>` siblings. Renders the border and focus ring; the
71
+ * inner native input drops its own border so it visually melts into the
72
+ * group.
73
+ *
74
+ * Pure layout — no signals shared with the inner directive, focus styling is
75
+ * driven entirely by `:focus-within` so any focusable child counts.
76
+ *
77
+ * @example
78
+ * ```html
79
+ * <wr-input-group>
80
+ * <span wrInputPrefix>$</span>
81
+ * <input wrInput [(ngModel)]="amount" type="number" />
82
+ * <span wrInputSuffix>USD</span>
83
+ * </wr-input-group>
84
+ * ```
85
+ *
86
+ * @see https://ngwr.dev/components/input
87
+ */
88
+ declare class WrInputGroup {
89
+ /** Pill-shaped corners. @default false */
90
+ readonly rounded: i0.InputSignalWithTransform<boolean, any>;
91
+ protected readonly classes: i0.Signal<string>;
92
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrInputGroup, never>;
93
+ static ɵcmp: i0.ɵɵComponentDeclaration<WrInputGroup, "wr-input-group", never, { "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
94
+ }
95
+
96
+ /**
97
+ * Self-contained eye-toggle button. Flips the linked `<input>`'s `type`
98
+ * attribute between `password` and `text`. Drop it inside an
99
+ * `<wr-input-group>` next to a password input.
100
+ *
101
+ * @example
102
+ * ```html
103
+ * <wr-input-group>
104
+ * <input wrInput type="password" [(ngModel)]="pw" #pwInput />
105
+ * <wr-password-toggle [for]="pwInput" />
106
+ * </wr-input-group>
107
+ * ```
108
+ */
109
+ declare class WrPasswordToggle {
110
+ /** Reference to the linked password input. */
111
+ readonly for: i0.InputSignal<HTMLInputElement>;
112
+ protected readonly revealed: i0.WritableSignal<boolean>;
113
+ protected readonly ariaLabel: i0.Signal<"Hide password" | "Show password">;
114
+ protected toggle(): void;
115
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrPasswordToggle, never>;
116
+ static ɵcmp: i0.ɵɵComponentDeclaration<WrPasswordToggle, "wr-password-toggle", never, { "for": { "alias": "for"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
117
+ }
118
+
119
+ /**
120
+ * @license
121
+ *
122
+ * Use of this source code is governed by an MIT-style license that can be
123
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
124
+ */
125
+ /**
126
+ * Native input `type` values supported by `<wr-input>`.
127
+ */
128
+ type WrInputType = 'text' | 'number' | 'password' | 'email' | 'search' | 'tel' | 'url';
129
+
130
+ export { WrInput, WrInputGroup, WrInputPrefix, WrInputSuffix, WrPasswordToggle };
131
+ export type { WrInputType };
@@ -0,0 +1,34 @@
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
+ /** Visual size variant. */
10
+ type WrKbdSize = 'sm' | 'md' | 'lg';
11
+
12
+ /**
13
+ * Tiny keycap chip — renders projected content (`⌘`, `K`, `Enter`, etc.) in
14
+ * a beveled rectangle that reads as a physical key. Stack multiple `<wr-kbd>`
15
+ * with a plain `+` between them for chords.
16
+ *
17
+ * @example
18
+ * ```html
19
+ * <wr-kbd>⌘</wr-kbd> + <wr-kbd>K</wr-kbd>
20
+ * <wr-kbd size="lg">Esc</wr-kbd>
21
+ * ```
22
+ *
23
+ * @see https://ngwr.dev/components/keyboard
24
+ */
25
+ declare class WrKbd {
26
+ /** Visual size variant. @default 'md' */
27
+ readonly size: _angular_core.InputSignal<WrKbdSize>;
28
+ protected readonly classes: _angular_core.Signal<string>;
29
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrKbd, never>;
30
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrKbd, "wr-kbd", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
31
+ }
32
+
33
+ export { WrKbd };
34
+ export type { WrKbdSize };