ngwr 6.0.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (696) hide show
  1. package/LICENSE +1 -3
  2. package/README.md +179 -32
  3. package/affix/styles/_index.scss +12 -0
  4. package/alert/styles/_index.scss +75 -32
  5. package/anchor/styles/_index.scss +59 -0
  6. package/aurora/aurora.scss +1 -0
  7. package/aurora/styles/_index.scss +30 -0
  8. package/avatar/styles/_index.scss +30 -14
  9. package/back-top/styles/_index.scss +42 -0
  10. package/badge/styles/_index.scss +80 -0
  11. package/badge/styles/_tag.scss +81 -0
  12. package/bar-chart/styles/_index.scss +56 -0
  13. package/blur-text/blur-text.scss +1 -0
  14. package/blur-text/styles/_index.scss +14 -0
  15. package/border-glow/border-glow.scss +4 -0
  16. package/border-glow/styles/_index.scss +228 -0
  17. package/breadcrumbs/breadcrumbs.scss +1 -0
  18. package/breadcrumbs/styles/_index.scss +76 -0
  19. package/button/styles/_index.scss +148 -125
  20. package/calendar/styles/_index.scss +252 -0
  21. package/calendar-heatmap/styles/_index.scss +69 -0
  22. package/card/card.scss +1 -0
  23. package/card/styles/_index.scss +96 -0
  24. package/carousel/styles/_index.scss +102 -0
  25. package/cascader/cascader.scss +1 -0
  26. package/cascader/styles/_index.scss +174 -0
  27. package/checkbox/styles/_index.scss +76 -60
  28. package/circular-text/circular-text.scss +1 -0
  29. package/circular-text/styles/_index.scss +45 -0
  30. package/click-spark/click-spark.scss +1 -0
  31. package/click-spark/styles/_index.scss +16 -0
  32. package/collapse/styles/_index.scss +92 -0
  33. package/color-picker/styles/_index.scss +247 -0
  34. package/command-palette/styles/_index.scss +188 -0
  35. package/compare/styles/_index.scss +100 -0
  36. package/context-menu/styles/_index.scss +112 -0
  37. package/counter/styles/_index.scss +44 -0
  38. package/date-picker/styles/_index.scss +204 -0
  39. package/decrypt-text/decrypt-text.scss +1 -0
  40. package/decrypt-text/styles/_index.scss +26 -0
  41. package/density/styles/_index.scss +37 -0
  42. package/descriptions/styles/_index.scss +104 -0
  43. package/dialog/styles/_index.scss +101 -27
  44. package/divider/styles/_index.scss +43 -24
  45. package/donut-chart/styles/_index.scss +76 -0
  46. package/drag-drop/sortable-list.scss +1 -0
  47. package/drag-drop/styles/_index.scss +99 -0
  48. package/drawer/styles/_index.scss +164 -0
  49. package/dropdown/styles/_index.scss +76 -56
  50. package/empty/styles/_index.scss +49 -0
  51. package/falling-text/falling-text.scss +1 -0
  52. package/falling-text/styles/_index.scss +30 -0
  53. package/fesm2022/ngwr-affix.mjs +102 -0
  54. package/fesm2022/ngwr-affix.mjs.map +1 -0
  55. package/fesm2022/ngwr-alert.mjs +70 -52
  56. package/fesm2022/ngwr-alert.mjs.map +1 -1
  57. package/fesm2022/ngwr-anchor.mjs +103 -0
  58. package/fesm2022/ngwr-anchor.mjs.map +1 -0
  59. package/fesm2022/ngwr-aurora.mjs +309 -0
  60. package/fesm2022/ngwr-aurora.mjs.map +1 -0
  61. package/fesm2022/ngwr-avatar.mjs +81 -71
  62. package/fesm2022/ngwr-avatar.mjs.map +1 -1
  63. package/fesm2022/ngwr-back-top.mjs +81 -0
  64. package/fesm2022/ngwr-back-top.mjs.map +1 -0
  65. package/fesm2022/ngwr-badge.mjs +192 -0
  66. package/fesm2022/ngwr-badge.mjs.map +1 -0
  67. package/fesm2022/ngwr-bar-chart.mjs +69 -0
  68. package/fesm2022/ngwr-bar-chart.mjs.map +1 -0
  69. package/fesm2022/ngwr-blur-text.mjs +181 -0
  70. package/fesm2022/ngwr-blur-text.mjs.map +1 -0
  71. package/fesm2022/ngwr-border-glow.mjs +278 -0
  72. package/fesm2022/ngwr-border-glow.mjs.map +1 -0
  73. package/fesm2022/ngwr-breadcrumbs.mjs +101 -0
  74. package/fesm2022/ngwr-breadcrumbs.mjs.map +1 -0
  75. package/fesm2022/ngwr-button.mjs +179 -104
  76. package/fesm2022/ngwr-button.mjs.map +1 -1
  77. package/fesm2022/ngwr-calendar-heatmap.mjs +145 -0
  78. package/fesm2022/ngwr-calendar-heatmap.mjs.map +1 -0
  79. package/fesm2022/ngwr-calendar.mjs +402 -0
  80. package/fesm2022/ngwr-calendar.mjs.map +1 -0
  81. package/fesm2022/ngwr-card.mjs +100 -0
  82. package/fesm2022/ngwr-card.mjs.map +1 -0
  83. package/fesm2022/ngwr-carousel.mjs +128 -0
  84. package/fesm2022/ngwr-carousel.mjs.map +1 -0
  85. package/fesm2022/ngwr-cascader.mjs +280 -0
  86. package/fesm2022/ngwr-cascader.mjs.map +1 -0
  87. package/fesm2022/ngwr-checkbox.mjs +214 -54
  88. package/fesm2022/ngwr-checkbox.mjs.map +1 -1
  89. package/fesm2022/ngwr-circular-text.mjs +168 -0
  90. package/fesm2022/ngwr-circular-text.mjs.map +1 -0
  91. package/fesm2022/ngwr-click-spark.mjs +163 -0
  92. package/fesm2022/ngwr-click-spark.mjs.map +1 -0
  93. package/fesm2022/ngwr-clipboard.mjs +130 -0
  94. package/fesm2022/ngwr-clipboard.mjs.map +1 -0
  95. package/fesm2022/ngwr-collapse.mjs +232 -0
  96. package/fesm2022/ngwr-collapse.mjs.map +1 -0
  97. package/fesm2022/ngwr-color-picker.mjs +646 -0
  98. package/fesm2022/ngwr-color-picker.mjs.map +1 -0
  99. package/fesm2022/ngwr-command-palette.mjs +259 -0
  100. package/fesm2022/ngwr-command-palette.mjs.map +1 -0
  101. package/fesm2022/ngwr-compare.mjs +137 -0
  102. package/fesm2022/ngwr-compare.mjs.map +1 -0
  103. package/fesm2022/ngwr-confetti.mjs +160 -0
  104. package/fesm2022/ngwr-confetti.mjs.map +1 -0
  105. package/fesm2022/ngwr-context-menu.mjs +653 -0
  106. package/fesm2022/ngwr-context-menu.mjs.map +1 -0
  107. package/fesm2022/ngwr-cookie.mjs +127 -0
  108. package/fesm2022/ngwr-cookie.mjs.map +1 -0
  109. package/fesm2022/ngwr-counter.mjs +415 -0
  110. package/fesm2022/ngwr-counter.mjs.map +1 -0
  111. package/fesm2022/ngwr-date-adapter-fns.mjs +180 -0
  112. package/fesm2022/ngwr-date-adapter-fns.mjs.map +1 -0
  113. package/fesm2022/ngwr-date-adapter-luxon.mjs +201 -0
  114. package/fesm2022/ngwr-date-adapter-luxon.mjs.map +1 -0
  115. package/fesm2022/ngwr-date-adapter.mjs +419 -0
  116. package/fesm2022/ngwr-date-adapter.mjs.map +1 -0
  117. package/fesm2022/ngwr-date-picker.mjs +624 -0
  118. package/fesm2022/ngwr-date-picker.mjs.map +1 -0
  119. package/fesm2022/ngwr-decrypt-text.mjs +396 -0
  120. package/fesm2022/ngwr-decrypt-text.mjs.map +1 -0
  121. package/fesm2022/ngwr-density.mjs +157 -0
  122. package/fesm2022/ngwr-density.mjs.map +1 -0
  123. package/fesm2022/ngwr-descriptions.mjs +83 -0
  124. package/fesm2022/ngwr-descriptions.mjs.map +1 -0
  125. package/fesm2022/ngwr-dialog.mjs +249 -383
  126. package/fesm2022/ngwr-dialog.mjs.map +1 -1
  127. package/fesm2022/ngwr-directives.mjs +315 -0
  128. package/fesm2022/ngwr-directives.mjs.map +1 -0
  129. package/fesm2022/ngwr-divider.mjs +74 -59
  130. package/fesm2022/ngwr-divider.mjs.map +1 -1
  131. package/fesm2022/ngwr-donut-chart.mjs +131 -0
  132. package/fesm2022/ngwr-donut-chart.mjs.map +1 -0
  133. package/fesm2022/ngwr-drag-drop.mjs +117 -0
  134. package/fesm2022/ngwr-drag-drop.mjs.map +1 -0
  135. package/fesm2022/ngwr-drawer.mjs +315 -0
  136. package/fesm2022/ngwr-drawer.mjs.map +1 -0
  137. package/fesm2022/ngwr-dropdown.mjs +276 -229
  138. package/fesm2022/ngwr-dropdown.mjs.map +1 -1
  139. package/fesm2022/ngwr-empty.mjs +57 -0
  140. package/fesm2022/ngwr-empty.mjs.map +1 -0
  141. package/fesm2022/ngwr-falling-text.mjs +316 -0
  142. package/fesm2022/ngwr-falling-text.mjs.map +1 -0
  143. package/fesm2022/ngwr-file-upload.mjs +260 -0
  144. package/fesm2022/ngwr-file-upload.mjs.map +1 -0
  145. package/fesm2022/ngwr-form.mjs +133 -48
  146. package/fesm2022/ngwr-form.mjs.map +1 -1
  147. package/fesm2022/ngwr-fuzzy-text.mjs +373 -0
  148. package/fesm2022/ngwr-fuzzy-text.mjs.map +1 -0
  149. package/fesm2022/ngwr-gauge.mjs +83 -0
  150. package/fesm2022/ngwr-gauge.mjs.map +1 -0
  151. package/fesm2022/ngwr-glitch-text.mjs +67 -0
  152. package/fesm2022/ngwr-glitch-text.mjs.map +1 -0
  153. package/fesm2022/ngwr-gradient-text.mjs +109 -0
  154. package/fesm2022/ngwr-gradient-text.mjs.map +1 -0
  155. package/fesm2022/ngwr-hotkey.mjs +263 -0
  156. package/fesm2022/ngwr-hotkey.mjs.map +1 -0
  157. package/fesm2022/ngwr-i18n-en.mjs +168 -0
  158. package/fesm2022/ngwr-i18n-en.mjs.map +1 -0
  159. package/fesm2022/ngwr-i18n-ru.mjs +156 -0
  160. package/fesm2022/ngwr-i18n-ru.mjs.map +1 -0
  161. package/fesm2022/ngwr-i18n.mjs +478 -0
  162. package/fesm2022/ngwr-i18n.mjs.map +1 -0
  163. package/fesm2022/ngwr-icon-adapters-feather.mjs +74 -0
  164. package/fesm2022/ngwr-icon-adapters-feather.mjs.map +1 -0
  165. package/fesm2022/ngwr-icon-adapters-lucide.mjs +88 -0
  166. package/fesm2022/ngwr-icon-adapters-lucide.mjs.map +1 -0
  167. package/fesm2022/ngwr-icon.mjs +189 -650
  168. package/fesm2022/ngwr-icon.mjs.map +1 -1
  169. package/fesm2022/ngwr-image-cropper.mjs +299 -0
  170. package/fesm2022/ngwr-image-cropper.mjs.map +1 -0
  171. package/fesm2022/ngwr-input-number.mjs +239 -0
  172. package/fesm2022/ngwr-input-number.mjs.map +1 -0
  173. package/fesm2022/ngwr-input-otp.mjs +216 -0
  174. package/fesm2022/ngwr-input-otp.mjs.map +1 -0
  175. package/fesm2022/ngwr-input.mjs +183 -104
  176. package/fesm2022/ngwr-input.mjs.map +1 -1
  177. package/fesm2022/ngwr-keyboard.mjs +47 -0
  178. package/fesm2022/ngwr-keyboard.mjs.map +1 -0
  179. package/fesm2022/ngwr-knob.mjs +227 -0
  180. package/fesm2022/ngwr-knob.mjs.map +1 -0
  181. package/fesm2022/ngwr-layout.mjs +197 -0
  182. package/fesm2022/ngwr-layout.mjs.map +1 -0
  183. package/fesm2022/ngwr-lightbox.mjs +131 -0
  184. package/fesm2022/ngwr-lightbox.mjs.map +1 -0
  185. package/fesm2022/ngwr-line-chart.mjs +176 -0
  186. package/fesm2022/ngwr-line-chart.mjs.map +1 -0
  187. package/fesm2022/ngwr-list.mjs +132 -0
  188. package/fesm2022/ngwr-list.mjs.map +1 -0
  189. package/fesm2022/ngwr-loading-bar.mjs +160 -0
  190. package/fesm2022/ngwr-loading-bar.mjs.map +1 -0
  191. package/fesm2022/ngwr-marquee.mjs +224 -0
  192. package/fesm2022/ngwr-marquee.mjs.map +1 -0
  193. package/fesm2022/ngwr-media.mjs +132 -0
  194. package/fesm2022/ngwr-media.mjs.map +1 -0
  195. package/fesm2022/ngwr-mention.mjs +374 -0
  196. package/fesm2022/ngwr-mention.mjs.map +1 -0
  197. package/fesm2022/ngwr-meta.mjs +266 -0
  198. package/fesm2022/ngwr-meta.mjs.map +1 -0
  199. package/fesm2022/ngwr-meter-group.mjs +73 -0
  200. package/fesm2022/ngwr-meter-group.mjs.map +1 -0
  201. package/fesm2022/ngwr-overlay.mjs +145 -0
  202. package/fesm2022/ngwr-overlay.mjs.map +1 -0
  203. package/fesm2022/ngwr-page-header.mjs +53 -0
  204. package/fesm2022/ngwr-page-header.mjs.map +1 -0
  205. package/fesm2022/ngwr-pagination.mjs +152 -96
  206. package/fesm2022/ngwr-pagination.mjs.map +1 -1
  207. package/fesm2022/ngwr-pipes.mjs +290 -11
  208. package/fesm2022/ngwr-pipes.mjs.map +1 -1
  209. package/fesm2022/ngwr-platform.mjs +63 -0
  210. package/fesm2022/ngwr-platform.mjs.map +1 -0
  211. package/fesm2022/ngwr-popconfirm.mjs +188 -0
  212. package/fesm2022/ngwr-popconfirm.mjs.map +1 -0
  213. package/fesm2022/ngwr-popover.mjs +361 -0
  214. package/fesm2022/ngwr-popover.mjs.map +1 -0
  215. package/fesm2022/ngwr-progress.mjs +47 -39
  216. package/fesm2022/ngwr-progress.mjs.map +1 -1
  217. package/fesm2022/ngwr-qr.mjs +168 -190
  218. package/fesm2022/ngwr-qr.mjs.map +1 -1
  219. package/fesm2022/ngwr-radio.mjs +204 -0
  220. package/fesm2022/ngwr-radio.mjs.map +1 -0
  221. package/fesm2022/ngwr-rating.mjs +180 -0
  222. package/fesm2022/ngwr-rating.mjs.map +1 -0
  223. package/fesm2022/ngwr-result.mjs +119 -0
  224. package/fesm2022/ngwr-result.mjs.map +1 -0
  225. package/fesm2022/ngwr-rotating-text.mjs +256 -0
  226. package/fesm2022/ngwr-rotating-text.mjs.map +1 -0
  227. package/fesm2022/ngwr-scramble-text.mjs +165 -0
  228. package/fesm2022/ngwr-scramble-text.mjs.map +1 -0
  229. package/fesm2022/ngwr-scroll.mjs +107 -0
  230. package/fesm2022/ngwr-scroll.mjs.map +1 -0
  231. package/fesm2022/ngwr-segmented.mjs +96 -0
  232. package/fesm2022/ngwr-segmented.mjs.map +1 -0
  233. package/fesm2022/ngwr-select.mjs +842 -307
  234. package/fesm2022/ngwr-select.mjs.map +1 -1
  235. package/fesm2022/ngwr-shiny-text.mjs +127 -0
  236. package/fesm2022/ngwr-shiny-text.mjs.map +1 -0
  237. package/fesm2022/ngwr-sidebar.mjs +134 -0
  238. package/fesm2022/ngwr-sidebar.mjs.map +1 -0
  239. package/fesm2022/ngwr-skeleton.mjs +59 -34
  240. package/fesm2022/ngwr-skeleton.mjs.map +1 -1
  241. package/fesm2022/ngwr-slider.mjs +234 -0
  242. package/fesm2022/ngwr-slider.mjs.map +1 -0
  243. package/fesm2022/ngwr-sparkline.mjs +104 -0
  244. package/fesm2022/ngwr-sparkline.mjs.map +1 -0
  245. package/fesm2022/ngwr-speed-dial.mjs +79 -0
  246. package/fesm2022/ngwr-speed-dial.mjs.map +1 -0
  247. package/fesm2022/ngwr-spinner.mjs +34 -28
  248. package/fesm2022/ngwr-spinner.mjs.map +1 -1
  249. package/fesm2022/ngwr-splash-cursor.mjs +970 -0
  250. package/fesm2022/ngwr-splash-cursor.mjs.map +1 -0
  251. package/fesm2022/ngwr-split-text.mjs +200 -0
  252. package/fesm2022/ngwr-split-text.mjs.map +1 -0
  253. package/fesm2022/ngwr-splitter.mjs +125 -0
  254. package/fesm2022/ngwr-splitter.mjs.map +1 -0
  255. package/fesm2022/ngwr-spotlight-card.mjs +138 -0
  256. package/fesm2022/ngwr-spotlight-card.mjs.map +1 -0
  257. package/fesm2022/ngwr-squircle.mjs +320 -0
  258. package/fesm2022/ngwr-squircle.mjs.map +1 -0
  259. package/fesm2022/ngwr-star-border.mjs +72 -0
  260. package/fesm2022/ngwr-star-border.mjs.map +1 -0
  261. package/fesm2022/ngwr-statistic.mjs +220 -0
  262. package/fesm2022/ngwr-statistic.mjs.map +1 -0
  263. package/fesm2022/ngwr-stepper.mjs +186 -0
  264. package/fesm2022/ngwr-stepper.mjs.map +1 -0
  265. package/fesm2022/ngwr-storage.mjs +317 -0
  266. package/fesm2022/ngwr-storage.mjs.map +1 -0
  267. package/fesm2022/ngwr-switch.mjs +99 -0
  268. package/fesm2022/ngwr-switch.mjs.map +1 -0
  269. package/fesm2022/ngwr-table.mjs +218 -207
  270. package/fesm2022/ngwr-table.mjs.map +1 -1
  271. package/fesm2022/ngwr-tabs.mjs +217 -0
  272. package/fesm2022/ngwr-tabs.mjs.map +1 -0
  273. package/fesm2022/ngwr-textarea.mjs +106 -120
  274. package/fesm2022/ngwr-textarea.mjs.map +1 -1
  275. package/fesm2022/ngwr-theme.mjs +152 -0
  276. package/fesm2022/ngwr-theme.mjs.map +1 -0
  277. package/fesm2022/ngwr-tilt-card.mjs +137 -0
  278. package/fesm2022/ngwr-tilt-card.mjs.map +1 -0
  279. package/fesm2022/ngwr-timeline.mjs +73 -0
  280. package/fesm2022/ngwr-timeline.mjs.map +1 -0
  281. package/fesm2022/ngwr-toast.mjs +446 -0
  282. package/fesm2022/ngwr-toast.mjs.map +1 -0
  283. package/fesm2022/ngwr-toolbar.mjs +46 -0
  284. package/fesm2022/ngwr-toolbar.mjs.map +1 -0
  285. package/fesm2022/ngwr-tree.mjs +483 -0
  286. package/fesm2022/ngwr-tree.mjs.map +1 -0
  287. package/fesm2022/ngwr-typewriter.mjs +229 -0
  288. package/fesm2022/ngwr-typewriter.mjs.map +1 -0
  289. package/fesm2022/ngwr-typography.mjs +79 -0
  290. package/fesm2022/ngwr-typography.mjs.map +1 -0
  291. package/fesm2022/ngwr-utils.mjs +535 -0
  292. package/fesm2022/ngwr-utils.mjs.map +1 -0
  293. package/fesm2022/ngwr-validators.mjs +214 -0
  294. package/fesm2022/ngwr-validators.mjs.map +1 -0
  295. package/fesm2022/ngwr-version.mjs +51 -0
  296. package/fesm2022/ngwr-version.mjs.map +1 -0
  297. package/fesm2022/ngwr-virtual-scroll.mjs +99 -0
  298. package/fesm2022/ngwr-virtual-scroll.mjs.map +1 -0
  299. package/fesm2022/ngwr-waves.mjs +356 -0
  300. package/fesm2022/ngwr-waves.mjs.map +1 -0
  301. package/fesm2022/ngwr-window.mjs +1141 -0
  302. package/fesm2022/ngwr-window.mjs.map +1 -0
  303. package/fesm2022/ngwr.mjs +0 -3
  304. package/fesm2022/ngwr.mjs.map +1 -1
  305. package/file-upload/styles/_index.scss +152 -0
  306. package/form/styles/_index.scss +85 -42
  307. package/gauge/styles/_index.scss +37 -0
  308. package/glitch-text/glitch-text.scss +1 -0
  309. package/glitch-text/styles/_index.scss +144 -0
  310. package/gradient-text/gradient-text.scss +1 -0
  311. package/gradient-text/styles/_index.scss +113 -0
  312. package/icon/styles/_index.scss +21 -15
  313. package/image-cropper/styles/_index.scss +114 -0
  314. package/input/styles/_index.scss +133 -93
  315. package/input-number/styles/_index.scss +75 -0
  316. package/input-otp/styles/_index.scss +53 -0
  317. package/keyboard/styles/_index.scss +55 -0
  318. package/knob/styles/_index.scss +54 -0
  319. package/layout/styles/_index.scss +65 -0
  320. package/lightbox/lightbox.scss +1 -0
  321. package/lightbox/styles/_index.scss +144 -0
  322. package/line-chart/styles/_index.scss +93 -0
  323. package/list/list.scss +1 -0
  324. package/list/styles/_index.scss +101 -0
  325. package/loading-bar/loading-bar.scss +1 -0
  326. package/loading-bar/styles/_index.scss +29 -0
  327. package/marquee/marquee.scss +1 -0
  328. package/marquee/styles/_index.scss +138 -0
  329. package/mention/styles/_index.scss +47 -0
  330. package/meter-group/styles/_index.scss +61 -0
  331. package/package.json +576 -99
  332. package/page-header/styles/_index.scss +78 -0
  333. package/pagination/styles/_index.scss +89 -34
  334. package/popconfirm/styles/_index.scss +32 -0
  335. package/popover/styles/_index.scss +83 -0
  336. package/progress/styles/_index.scss +29 -14
  337. package/qr/styles/_index.scss +6 -3
  338. package/radio/styles/_index.scss +111 -0
  339. package/rating/styles/_index.scss +63 -0
  340. package/result/styles/_index.scss +69 -0
  341. package/rotating-text/rotating-text.scss +1 -0
  342. package/rotating-text/styles/_index.scss +39 -0
  343. package/schematics/collection.json +37 -0
  344. package/schematics/component-style/index.js +49 -0
  345. package/{alert/alert-type.d.ts → schematics/component-style/schema.js} +2 -1
  346. package/schematics/component-style/schema.json +20 -0
  347. package/schematics/icon-set/index.js +96 -0
  348. package/{avatar/public-api.d.ts → schematics/icon-set/schema.js} +2 -1
  349. package/schematics/icon-set/schema.json +39 -0
  350. package/schematics/migrations/v7/index.js +187 -0
  351. package/schematics/migrations.json +10 -0
  352. package/schematics/ng-add/index.js +180 -0
  353. package/{cdk/public-api.d.ts → schematics/ng-add/schema.js} +2 -1
  354. package/schematics/ng-add/schema.json +80 -0
  355. package/schematics/page/index.js +63 -0
  356. package/{alert/public-api.d.ts → schematics/page/schema.js} +2 -2
  357. package/schematics/page/schema.json +39 -0
  358. package/schematics/page/templates.js +198 -0
  359. package/schematics/provider/index.js +126 -0
  360. package/schematics/provider/schema.js +8 -0
  361. package/schematics/provider/schema.json +52 -0
  362. package/schematics/use/index.js +143 -0
  363. package/schematics/use/schema.js +8 -0
  364. package/schematics/use/schema.json +25 -0
  365. package/schematics/use/symbol-map.json +356 -0
  366. package/scramble-text/scramble-text.scss +1 -0
  367. package/scramble-text/styles/_index.scss +8 -0
  368. package/segmented/styles/_index.scss +92 -0
  369. package/select/styles/_index.scss +245 -159
  370. package/shiny-text/shiny-text.scss +1 -0
  371. package/shiny-text/styles/_index.scss +101 -0
  372. package/sidebar/styles/_index.scss +208 -0
  373. package/skeleton/styles/_index.scss +33 -33
  374. package/slider/styles/_index.scss +77 -0
  375. package/sparkline/styles/_index.scss +9 -0
  376. package/speed-dial/styles/_index.scss +158 -0
  377. package/spinner/styles/_index.scss +38 -22
  378. package/splash-cursor/splash-cursor.scss +1 -0
  379. package/splash-cursor/styles/_index.scss +27 -0
  380. package/split-text/split-text.scss +1 -0
  381. package/split-text/styles/_index.scss +22 -0
  382. package/splitter/styles/_index.scss +85 -0
  383. package/spotlight-card/spotlight-card.scss +1 -0
  384. package/spotlight-card/styles/_index.scss +43 -0
  385. package/squircle/styles/_index.scss +34 -0
  386. package/star-border/star-border.scss +1 -0
  387. package/star-border/styles/_index.scss +118 -0
  388. package/statistic/styles/_index.scss +54 -0
  389. package/stepper/styles/_index.scss +162 -0
  390. package/styles/_animations.scss +198 -0
  391. package/styles/_breakpoints.scss +75 -0
  392. package/styles/_grid.scss +71 -0
  393. package/styles/_reset.scss +123 -0
  394. package/styles/_typography.scss +122 -0
  395. package/styles.scss +102 -13
  396. package/switch/styles/_index.scss +82 -0
  397. package/table/styles/_index.scss +255 -4
  398. package/tabs/styles/_index.scss +71 -0
  399. package/textarea/styles/_index.scss +47 -56
  400. package/theme/styles/_colors.scss +83 -0
  401. package/theme/styles/_dark.scss +85 -0
  402. package/theme/styles/_focus.scss +93 -0
  403. package/theme/styles/_index.scss +5 -0
  404. package/theme/styles/_mixins.scss +57 -0
  405. package/theme/styles/_variables.scss +118 -0
  406. package/tilt-card/styles/_index.scss +40 -0
  407. package/tilt-card/tilt-card.scss +1 -0
  408. package/timeline/styles/_index.scss +127 -0
  409. package/toast/styles/_index.scss +263 -0
  410. package/toolbar/styles/_index.scss +65 -0
  411. package/tree/styles/_index.scss +271 -0
  412. package/types/ngwr-affix.d.ts +43 -0
  413. package/types/ngwr-alert.d.ts +68 -0
  414. package/types/ngwr-anchor.d.ts +53 -0
  415. package/types/ngwr-aurora.d.ts +52 -0
  416. package/types/ngwr-avatar.d.ts +90 -0
  417. package/types/ngwr-back-top.d.ts +37 -0
  418. package/types/ngwr-badge.d.ts +158 -0
  419. package/types/ngwr-bar-chart.d.ts +47 -0
  420. package/types/ngwr-blur-text.d.ts +62 -0
  421. package/types/ngwr-border-glow.d.ts +66 -0
  422. package/types/ngwr-breadcrumbs.d.ts +61 -0
  423. package/types/ngwr-button.d.ts +176 -0
  424. package/types/ngwr-calendar-heatmap.d.ts +58 -0
  425. package/types/ngwr-calendar.d.ts +116 -0
  426. package/types/ngwr-card.d.ts +50 -0
  427. package/types/ngwr-carousel.d.ts +57 -0
  428. package/types/ngwr-cascader.d.ts +107 -0
  429. package/types/ngwr-checkbox.d.ts +139 -0
  430. package/types/ngwr-circular-text.d.ts +49 -0
  431. package/types/ngwr-click-spark.d.ts +52 -0
  432. package/types/ngwr-clipboard.d.ts +53 -0
  433. package/types/ngwr-collapse.d.ts +139 -0
  434. package/types/ngwr-color-picker.d.ts +302 -0
  435. package/types/ngwr-command-palette.d.ts +113 -0
  436. package/types/ngwr-compare.d.ts +55 -0
  437. package/types/ngwr-confetti.d.ts +70 -0
  438. package/types/ngwr-context-menu.d.ts +207 -0
  439. package/types/ngwr-cookie.d.ts +60 -0
  440. package/types/ngwr-counter.d.ts +182 -0
  441. package/types/ngwr-date-adapter-fns.d.ts +73 -0
  442. package/types/ngwr-date-adapter-luxon.d.ts +73 -0
  443. package/types/ngwr-date-adapter.d.ts +198 -0
  444. package/types/ngwr-date-picker.d.ts +117 -0
  445. package/types/ngwr-decrypt-text.d.ts +85 -0
  446. package/types/ngwr-density.d.ts +97 -0
  447. package/types/ngwr-descriptions.d.ts +41 -0
  448. package/types/ngwr-dialog.d.ts +210 -0
  449. package/types/ngwr-directives.d.ts +125 -0
  450. package/types/ngwr-divider.d.ts +73 -0
  451. package/types/ngwr-donut-chart.d.ts +53 -0
  452. package/types/ngwr-drag-drop.d.ts +83 -0
  453. package/types/ngwr-drawer.d.ts +155 -0
  454. package/types/ngwr-dropdown.d.ts +124 -0
  455. package/types/ngwr-empty.d.ts +38 -0
  456. package/types/ngwr-falling-text.d.ts +63 -0
  457. package/types/ngwr-file-upload.d.ts +94 -0
  458. package/types/ngwr-form.d.ts +95 -0
  459. package/types/ngwr-fuzzy-text.d.ts +74 -0
  460. package/types/ngwr-gauge.d.ts +39 -0
  461. package/types/ngwr-glitch-text.d.ts +31 -0
  462. package/types/ngwr-gradient-text.d.ts +46 -0
  463. package/types/ngwr-hotkey.d.ts +142 -0
  464. package/types/ngwr-i18n-en.d.ts +18 -0
  465. package/types/ngwr-i18n-ru.d.ts +6 -0
  466. package/types/ngwr-i18n.d.ts +336 -0
  467. package/types/ngwr-icon-adapters-feather.d.ts +44 -0
  468. package/types/ngwr-icon-adapters-lucide.d.ts +54 -0
  469. package/types/ngwr-icon.d.ts +180 -0
  470. package/types/ngwr-image-cropper.d.ts +110 -0
  471. package/types/ngwr-input-number.d.ts +77 -0
  472. package/types/ngwr-input-otp.d.ts +78 -0
  473. package/types/ngwr-input.d.ts +131 -0
  474. package/types/ngwr-keyboard.d.ts +34 -0
  475. package/types/ngwr-knob.d.ts +77 -0
  476. package/types/ngwr-layout.d.ts +89 -0
  477. package/types/ngwr-lightbox.d.ts +50 -0
  478. package/types/ngwr-line-chart.d.ts +90 -0
  479. package/types/ngwr-list.d.ts +71 -0
  480. package/types/ngwr-loading-bar.d.ts +79 -0
  481. package/types/ngwr-marquee.d.ts +95 -0
  482. package/types/ngwr-media.d.ts +74 -0
  483. package/types/ngwr-mention.d.ts +110 -0
  484. package/types/ngwr-meta.d.ts +164 -0
  485. package/types/ngwr-meter-group.d.ts +57 -0
  486. package/types/ngwr-overlay.d.ts +110 -0
  487. package/types/ngwr-page-header.d.ts +35 -0
  488. package/types/ngwr-pagination.d.ts +119 -0
  489. package/types/ngwr-pipes.d.ts +177 -0
  490. package/types/ngwr-platform.d.ts +38 -0
  491. package/types/ngwr-popconfirm.d.ts +79 -0
  492. package/types/ngwr-popover.d.ts +90 -0
  493. package/types/ngwr-progress.d.ts +33 -0
  494. package/types/ngwr-qr.d.ts +56 -0
  495. package/types/ngwr-radio.d.ts +120 -0
  496. package/types/ngwr-rating.d.ts +62 -0
  497. package/types/ngwr-result.d.ts +64 -0
  498. package/types/ngwr-rotating-text.d.ts +72 -0
  499. package/types/ngwr-scramble-text.d.ts +49 -0
  500. package/types/ngwr-scroll.d.ts +65 -0
  501. package/types/ngwr-segmented.d.ts +65 -0
  502. package/types/ngwr-select.d.ts +413 -0
  503. package/types/ngwr-shiny-text.d.ts +70 -0
  504. package/types/ngwr-sidebar.d.ts +83 -0
  505. package/types/ngwr-skeleton.d.ts +41 -0
  506. package/types/ngwr-slider.d.ts +86 -0
  507. package/types/ngwr-sparkline.d.ts +48 -0
  508. package/types/ngwr-speed-dial.d.ts +51 -0
  509. package/types/ngwr-spinner.d.ts +41 -0
  510. package/types/ngwr-splash-cursor.d.ts +94 -0
  511. package/types/ngwr-split-text.d.ts +83 -0
  512. package/types/ngwr-splitter.d.ts +52 -0
  513. package/types/ngwr-spotlight-card.d.ts +71 -0
  514. package/types/ngwr-squircle.d.ts +132 -0
  515. package/types/ngwr-star-border.d.ts +40 -0
  516. package/types/ngwr-statistic.d.ts +88 -0
  517. package/types/ngwr-stepper.d.ts +99 -0
  518. package/types/ngwr-storage.d.ts +178 -0
  519. package/types/ngwr-switch.d.ts +39 -0
  520. package/types/ngwr-table.d.ts +237 -0
  521. package/types/ngwr-tabs.d.ts +125 -0
  522. package/types/ngwr-textarea.d.ts +60 -0
  523. package/types/ngwr-theme.d.ts +124 -0
  524. package/types/ngwr-tilt-card.d.ts +63 -0
  525. package/types/ngwr-timeline.d.ts +40 -0
  526. package/types/ngwr-toast.d.ts +230 -0
  527. package/types/ngwr-toolbar.d.ts +30 -0
  528. package/types/ngwr-tree.d.ts +150 -0
  529. package/types/ngwr-typewriter.d.ts +84 -0
  530. package/types/ngwr-typography.d.ts +56 -0
  531. package/types/ngwr-utils.d.ts +447 -0
  532. package/types/ngwr-validators.d.ts +70 -0
  533. package/types/ngwr-version.d.ts +44 -0
  534. package/types/ngwr-virtual-scroll.d.ts +64 -0
  535. package/types/ngwr-waves.d.ts +71 -0
  536. package/types/ngwr-window.d.ts +437 -0
  537. package/types/ngwr.d.ts +2 -0
  538. package/typewriter/styles/_index.scss +33 -0
  539. package/typewriter/typewriter.scss +1 -0
  540. package/typography/styles/_index.scss +211 -0
  541. package/virtual-scroll/styles/_index.scss +27 -0
  542. package/virtual-scroll/virtual-scroll.scss +1 -0
  543. package/waves/styles/_index.scss +24 -0
  544. package/waves/waves.scss +1 -0
  545. package/window/styles/_index.scss +430 -0
  546. package/alert/alert.component.d.ts +0 -21
  547. package/alert/index.d.ts +0 -5
  548. package/alert/styles/theming.scss +0 -26
  549. package/alert/styles/vars.scss +0 -11
  550. package/avatar/avatar.component.d.ts +0 -27
  551. package/avatar/index.d.ts +0 -5
  552. package/button/button-group.component.d.ts +0 -12
  553. package/button/button.component.d.ts +0 -31
  554. package/button/index.d.ts +0 -5
  555. package/button/public-api.d.ts +0 -8
  556. package/button/styles/vars.scss +0 -13
  557. package/cdk/base.directive.d.ts +0 -20
  558. package/cdk/index.d.ts +0 -5
  559. package/cdk/rxjs/index.d.ts +0 -5
  560. package/cdk/rxjs/is-array.d.ts +0 -8
  561. package/cdk/rxjs/is-defined.d.ts +0 -8
  562. package/cdk/rxjs/is-not-empty-array.d.ts +0 -8
  563. package/cdk/rxjs/is-observable.d.ts +0 -9
  564. package/cdk/rxjs/public-api.d.ts +0 -10
  565. package/cdk/types/index.d.ts +0 -5
  566. package/cdk/types/maybe.d.ts +0 -7
  567. package/cdk/types/public-api.d.ts +0 -9
  568. package/cdk/types/safe-any.d.ts +0 -7
  569. package/cdk/types/theme-color.d.ts +0 -8
  570. package/cdk/utils/generate-random-id.d.ts +0 -12
  571. package/cdk/utils/index.d.ts +0 -5
  572. package/cdk/utils/public-api.d.ts +0 -7
  573. package/checkbox/checkbox.component.d.ts +0 -28
  574. package/checkbox/index.d.ts +0 -5
  575. package/checkbox/public-api.d.ts +0 -7
  576. package/checkbox/styles/vars.scss +0 -16
  577. package/dialog/dialog-animations.d.ts +0 -22
  578. package/dialog/dialog-base.directive.d.ts +0 -40
  579. package/dialog/dialog-close.directive.d.ts +0 -9
  580. package/dialog/dialog-content.directive.d.ts +0 -6
  581. package/dialog/dialog-data.token.d.ts +0 -8
  582. package/dialog/dialog-footer.directive.d.ts +0 -8
  583. package/dialog/dialog-options.d.ts +0 -19
  584. package/dialog/dialog-ref.d.ts +0 -26
  585. package/dialog/dialog-title.directive.d.ts +0 -6
  586. package/dialog/dialog.component.d.ts +0 -28
  587. package/dialog/dialog.module.d.ts +0 -6
  588. package/dialog/dialog.service.d.ts +0 -28
  589. package/dialog/index.d.ts +0 -5
  590. package/dialog/public-api.d.ts +0 -18
  591. package/dialog/styles/vars.scss +0 -7
  592. package/divider/divider.component.d.ts +0 -13
  593. package/divider/index.d.ts +0 -5
  594. package/divider/public-api.d.ts +0 -7
  595. package/dropdown/dropdown-menu-item.component.d.ts +0 -12
  596. package/dropdown/dropdown-menu.component.d.ts +0 -14
  597. package/dropdown/dropdown.directive.d.ts +0 -29
  598. package/dropdown/dropdown.types.d.ts +0 -9
  599. package/dropdown/index.d.ts +0 -5
  600. package/dropdown/public-api.d.ts +0 -10
  601. package/dropdown/styles/vars.scss +0 -18
  602. package/fesm2022/ngwr-cdk-rxjs.mjs +0 -53
  603. package/fesm2022/ngwr-cdk-rxjs.mjs.map +0 -1
  604. package/fesm2022/ngwr-cdk-types.mjs +0 -44
  605. package/fesm2022/ngwr-cdk-types.mjs.map +0 -1
  606. package/fesm2022/ngwr-cdk-utils.mjs +0 -30
  607. package/fesm2022/ngwr-cdk-utils.mjs.map +0 -1
  608. package/fesm2022/ngwr-cdk.mjs +0 -46
  609. package/fesm2022/ngwr-cdk.mjs.map +0 -1
  610. package/fesm2022/ngwr-tag.mjs +0 -87
  611. package/fesm2022/ngwr-tag.mjs.map +0 -1
  612. package/form/form-error.component.d.ts +0 -11
  613. package/form/form-item.component.d.ts +0 -14
  614. package/form/index.d.ts +0 -5
  615. package/form/public-api.d.ts +0 -8
  616. package/icon/icon.component.d.ts +0 -24
  617. package/icon/icon.service.d.ts +0 -23
  618. package/icon/icons.d.ts +0 -770
  619. package/icon/index.d.ts +0 -5
  620. package/icon/provide-wr-icons.d.ts +0 -9
  621. package/icon/public-api.d.ts +0 -10
  622. package/icon/styles/vars.scss +0 -3
  623. package/index.d.ts +0 -5
  624. package/input/index.d.ts +0 -5
  625. package/input/input-types.d.ts +0 -1
  626. package/input/input.component.d.ts +0 -38
  627. package/input/public-api.d.ts +0 -8
  628. package/input/styles/vars.scss +0 -17
  629. package/pagination/index.d.ts +0 -5
  630. package/pagination/pagination.component.d.ts +0 -23
  631. package/pagination/pagination.types.d.ts +0 -7
  632. package/pagination/public-api.d.ts +0 -8
  633. package/pagination/styles/vars.scss +0 -14
  634. package/pipes/index.d.ts +0 -5
  635. package/pipes/new-array.pipe.d.ts +0 -13
  636. package/pipes/public-api.d.ts +0 -7
  637. package/progress/index.d.ts +0 -5
  638. package/progress/progress.component.d.ts +0 -10
  639. package/progress/public-api.d.ts +0 -7
  640. package/progress/styles/theming.scss +0 -8
  641. package/progress/styles/vars.scss +0 -6
  642. package/public-api.d.ts +0 -2
  643. package/qr/generator.d.ts +0 -7
  644. package/qr/index.d.ts +0 -5
  645. package/qr/public-api.d.ts +0 -7
  646. package/qr/qr.component.d.ts +0 -31
  647. package/qr/qrcodegen.d.ts +0 -94
  648. package/select/index.d.ts +0 -5
  649. package/select/public-api.d.ts +0 -10
  650. package/select/select-option-group.component.d.ts +0 -19
  651. package/select/select-option.component.d.ts +0 -22
  652. package/select/select.component.d.ts +0 -63
  653. package/select/select.types.d.ts +0 -17
  654. package/select/styles/vars.scss +0 -32
  655. package/skeleton/index.d.ts +0 -1
  656. package/skeleton/skeleton.component.d.ts +0 -10
  657. package/spinner/index.d.ts +0 -1
  658. package/spinner/spinner.component.d.ts +0 -13
  659. package/spinner/spinner.types.d.ts +0 -7
  660. package/styles/animations.scss +0 -92
  661. package/styles/cdk.scss +0 -5
  662. package/styles/colors.scss +0 -72
  663. package/styles/grid.scss +0 -99
  664. package/styles/maps.scss +0 -31
  665. package/styles/reset.scss +0 -112
  666. package/styles/variables.scss +0 -72
  667. package/table/index.d.ts +0 -5
  668. package/table/public-api.d.ts +0 -11
  669. package/table/styles/table-filter.scss +0 -202
  670. package/table/styles/table-sort.scss +0 -47
  671. package/table/styles/table.scss +0 -232
  672. package/table/styles/vars.scss +0 -21
  673. package/table/table-cell/index.d.ts +0 -7
  674. package/table/table-cell/table-cell.directive.d.ts +0 -8
  675. package/table/table-filter/index.d.ts +0 -7
  676. package/table/table-filter/table-filter.component.d.ts +0 -18
  677. package/table/table-sort/index.d.ts +0 -7
  678. package/table/table-sort/table-sort.component.d.ts +0 -8
  679. package/table/table.component.d.ts +0 -33
  680. package/table/types/index.d.ts +0 -6
  681. package/table/types/table-cell-context.d.ts +0 -6
  682. package/table/types/table-columns.d.ts +0 -7
  683. package/table/types/table-filter-emit.d.ts +0 -5
  684. package/table/types/table-filter-item.d.ts +0 -6
  685. package/table/types/table-order-item.d.ts +0 -5
  686. package/table/types/table-order.enum.d.ts +0 -5
  687. package/tag/index.d.ts +0 -5
  688. package/tag/public-api.d.ts +0 -7
  689. package/tag/styles/_index.scss +0 -32
  690. package/tag/styles/theming.scss +0 -21
  691. package/tag/styles/vars.scss +0 -12
  692. package/tag/tag.component.d.ts +0 -21
  693. package/textarea/index.d.ts +0 -7
  694. package/textarea/public-api.d.ts +0 -7
  695. package/textarea/styles/vars.scss +0 -17
  696. package/textarea/textarea.component.d.ts +0 -44
@@ -0,0 +1,80 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "ngwr-ng-add",
4
+ "title": "ngwr ng-add",
5
+ "type": "object",
6
+ "properties": {
7
+ "project": {
8
+ "type": "string",
9
+ "description": "Target Angular project name. Defaults to the workspace default project.",
10
+ "$default": { "$source": "projectName" }
11
+ },
12
+ "styles": {
13
+ "type": "string",
14
+ "enum": ["all", "none"],
15
+ "default": "all",
16
+ "description": "How to wire ngwr styles. `all` appends `@use 'ngwr';` to the project's global stylesheet. `none` skips — opt in per-component later via `ng g ngwr:component-style <name>`.",
17
+ "x-prompt": {
18
+ "message": "How should ngwr styles be wired?",
19
+ "type": "list",
20
+ "items": [
21
+ { "value": "all", "label": "All — one `@use 'ngwr';` import (recommended)" },
22
+ { "value": "none", "label": "None — opt in per-component later" }
23
+ ]
24
+ }
25
+ },
26
+ "dateAdapter": {
27
+ "type": "string",
28
+ "enum": ["none", "native", "date-fns", "luxon"],
29
+ "default": "none",
30
+ "description": "Wire a date adapter for calendar / date-picker. `none` skips. `native` uses the built-in Date adapter (no extra deps). `date-fns` / `luxon` auto-install the corresponding peer.",
31
+ "x-prompt": {
32
+ "message": "Wire a date adapter? (Used by calendar / date-picker.)",
33
+ "type": "list",
34
+ "items": [
35
+ { "value": "none", "label": "None — skip (you can add later)" },
36
+ { "value": "native", "label": "Native — built-in Date, no extra deps" },
37
+ { "value": "date-fns", "label": "date-fns — small, modular" },
38
+ { "value": "luxon", "label": "Luxon — Intl-backed, locale-rich" }
39
+ ]
40
+ }
41
+ },
42
+ "density": {
43
+ "type": "string",
44
+ "enum": ["none", "comfortable", "compact"],
45
+ "default": "none",
46
+ "description": "Density preset wired via `provideWrDensity()`. `none` uses lib defaults.",
47
+ "x-prompt": {
48
+ "message": "Pick a density preset",
49
+ "type": "list",
50
+ "items": [
51
+ { "value": "none", "label": "None — use lib defaults" },
52
+ { "value": "comfortable", "label": "Comfortable — relaxed spacing" },
53
+ { "value": "compact", "label": "Compact — tight spacing" }
54
+ ]
55
+ }
56
+ },
57
+ "theme": {
58
+ "type": "string",
59
+ "enum": ["none", "light", "dark", "system"],
60
+ "default": "none",
61
+ "description": "Theme starter for `data-wr-theme` on `<html>`. `system` auto-switches via `prefers-color-scheme`.",
62
+ "x-prompt": {
63
+ "message": "Theme starter?",
64
+ "type": "list",
65
+ "items": [
66
+ { "value": "none", "label": "None — stay on lib defaults" },
67
+ { "value": "light", "label": "Light" },
68
+ { "value": "dark", "label": "Dark" },
69
+ { "value": "system", "label": "System — auto-switch via prefers-color-scheme" }
70
+ ]
71
+ }
72
+ },
73
+ "skipPeerInstall": {
74
+ "type": "boolean",
75
+ "default": false,
76
+ "description": "Skip running the package manager install task — useful in monorepos where you manage installs yourself."
77
+ }
78
+ },
79
+ "required": []
80
+ }
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const schematics_1 = require("@angular-devkit/schematics");
10
+ const workspace_1 = require("@schematics/angular/utility/workspace");
11
+ const templates_1 = require("./templates");
12
+ function page(options) {
13
+ return async (tree, context) => {
14
+ const preset = options.preset;
15
+ if (!preset)
16
+ throw new schematics_1.SchematicsException('ngwr:page: missing `preset` (form / table / dashboard).');
17
+ const workspace = await (0, workspace_1.getWorkspace)(tree);
18
+ const projectName = options.project ?? workspace.extensions.defaultProject;
19
+ const project = (projectName && workspace.projects.get(projectName)) ?? workspace.projects.values().next().value;
20
+ if (!project)
21
+ throw new schematics_1.SchematicsException('ngwr:page: no Angular project found.');
22
+ const sourceRoot = project.sourceRoot ?? `${project.root || ''}/src`.replace(/^\//, '');
23
+ const parentDir = options.path ?? `${sourceRoot}/app/pages`;
24
+ const dashName = dasherize(options.name ?? preset);
25
+ const pascalName = `${pascalize(dashName)}Page`;
26
+ const dir = `${parentDir}/${dashName}`;
27
+ const tsPath = `${dir}/${dashName}.ts`;
28
+ const htmlPath = `${dir}/${dashName}.html`;
29
+ const scssPath = `${dir}/${dashName}.scss`;
30
+ for (const path of [tsPath, htmlPath, scssPath]) {
31
+ if (tree.exists(path)) {
32
+ throw new schematics_1.SchematicsException(`ngwr:page: ${path} already exists. Pick a different --name or remove the existing file.`);
33
+ }
34
+ }
35
+ const out = (0, templates_1.render)(preset, dashName, pascalName);
36
+ tree.create(tsPath, out.ts);
37
+ tree.create(htmlPath, out.html);
38
+ if (out.scss)
39
+ tree.create(scssPath, out.scss);
40
+ context.logger.info(`✓ Created ${preset} page under ${dir}/`);
41
+ context.logger.info(` • ${tsPath}`);
42
+ context.logger.info(` • ${htmlPath}`);
43
+ if (out.scss)
44
+ context.logger.info(` • ${scssPath}`);
45
+ context.logger.info(`\nAdd it to your routes:\n { path: '${dashName}', loadComponent: () => import('./pages/${dashName}/${dashName}') }`);
46
+ return tree;
47
+ };
48
+ }
49
+ function dasherize(value) {
50
+ return value
51
+ .trim()
52
+ .replace(/([a-z0-9])([A-Z])/g, '$1-$2')
53
+ .replace(/[\s_]+/g, '-')
54
+ .toLowerCase();
55
+ }
56
+ function pascalize(dashName) {
57
+ return dashName
58
+ .split('-')
59
+ .filter(Boolean)
60
+ .map(part => part.charAt(0).toUpperCase() + part.slice(1))
61
+ .join('');
62
+ }
63
+ exports.default = page;
@@ -1,8 +1,8 @@
1
+ "use strict";
1
2
  /**
2
3
  * @license
3
4
  *
4
5
  * Use of this source code is governed by an MIT-style license that can be
5
6
  * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
6
7
  */
7
- export * from './alert-type';
8
- export * from './alert.component';
8
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,39 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "ngwr-page",
4
+ "title": "ngwr page",
5
+ "type": "object",
6
+ "properties": {
7
+ "preset": {
8
+ "type": "string",
9
+ "enum": ["form", "table", "dashboard"],
10
+ "description": "Starter shape.",
11
+ "$default": { "$source": "argv", "index": 0 },
12
+ "x-prompt": {
13
+ "message": "Page preset?",
14
+ "type": "list",
15
+ "items": [
16
+ { "value": "form", "label": "form — wr-form-field + wr-input + wr-button" },
17
+ { "value": "table", "label": "table — wr-table + sort + pagination" },
18
+ { "value": "dashboard", "label": "dashboard — wr-card grid + wr-statistic" }
19
+ ]
20
+ }
21
+ },
22
+ "name": {
23
+ "type": "string",
24
+ "description": "Component dir name (e.g. `signup`). Defaults to the preset name.",
25
+ "$default": { "$source": "argv", "index": 1 }
26
+ },
27
+ "path": {
28
+ "type": "string",
29
+ "format": "path",
30
+ "description": "Parent directory. Defaults to `<sourceRoot>/app/pages`."
31
+ },
32
+ "project": {
33
+ "type": "string",
34
+ "description": "Target Angular project.",
35
+ "$default": { "$source": "projectName" }
36
+ }
37
+ },
38
+ "required": ["preset"]
39
+ }
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.render = render;
10
+ /** Render a starter page for the given preset + dasherized name. */
11
+ function render(preset, dashName, pascalName) {
12
+ switch (preset) {
13
+ case 'form':
14
+ return renderForm(dashName, pascalName);
15
+ case 'table':
16
+ return renderTable(dashName, pascalName);
17
+ case 'dashboard':
18
+ return renderDashboard(dashName, pascalName);
19
+ }
20
+ }
21
+ function renderForm(dashName, pascalName) {
22
+ const ts = `import { Component, signal } from '@angular/core';
23
+ import { FormsModule } from '@angular/forms';
24
+
25
+ import { WrButton } from 'ngwr/button';
26
+ import { WrFormField, WrLabel, WrErrorMessage } from 'ngwr/form';
27
+ import { WrInput } from 'ngwr/input';
28
+
29
+ @Component({
30
+ selector: 'app-${dashName}',
31
+ templateUrl: './${dashName}.html',
32
+ styleUrl: './${dashName}.scss',
33
+ imports: [FormsModule, WrButton, WrFormField, WrLabel, WrErrorMessage, WrInput],
34
+ })
35
+ export default class ${pascalName} {
36
+ protected readonly name = signal('');
37
+ protected readonly email = signal('');
38
+ protected readonly submitting = signal(false);
39
+
40
+ protected async onSubmit(): Promise<void> {
41
+ this.submitting.set(true);
42
+ try {
43
+ await fetch('/api/${dashName}', {
44
+ method: 'POST',
45
+ body: JSON.stringify({ name: this.name(), email: this.email() }),
46
+ });
47
+ } finally {
48
+ this.submitting.set(false);
49
+ }
50
+ }
51
+ }
52
+ `;
53
+ const html = `<form class="${dashName}" (ngSubmit)="onSubmit()">
54
+ <h1>${titleCase(pascalName)}</h1>
55
+
56
+ <wr-form-field>
57
+ <wr-label>Name</wr-label>
58
+ <input wrInput [(ngModel)]="name" name="name" required />
59
+ </wr-form-field>
60
+
61
+ <wr-form-field>
62
+ <wr-label>Email</wr-label>
63
+ <input wrInput type="email" [(ngModel)]="email" name="email" required />
64
+ </wr-form-field>
65
+
66
+ <button wr-btn color="primary" type="submit" [loading]="submitting()">
67
+ Submit
68
+ </button>
69
+ </form>
70
+ `;
71
+ const scss = `.${dashName} {
72
+ display: flex;
73
+ flex-direction: column;
74
+ gap: 1rem;
75
+ max-width: 28rem;
76
+ margin: 2rem auto;
77
+ padding: 1.5rem;
78
+ }
79
+ `;
80
+ return { ts, html, scss };
81
+ }
82
+ function renderTable(dashName, pascalName) {
83
+ const ts = `import { Component, signal } from '@angular/core';
84
+
85
+ import { WrTable } from 'ngwr/table';
86
+ import { WrPagination } from 'ngwr/pagination';
87
+
88
+ interface Row {
89
+ readonly id: number;
90
+ readonly name: string;
91
+ readonly status: 'active' | 'archived';
92
+ }
93
+
94
+ @Component({
95
+ selector: 'app-${dashName}',
96
+ templateUrl: './${dashName}.html',
97
+ styleUrl: './${dashName}.scss',
98
+ imports: [WrTable, WrPagination],
99
+ })
100
+ export default class ${pascalName} {
101
+ protected readonly columns = ['id', 'name', 'status'] as const;
102
+
103
+ protected readonly rows = signal<readonly Row[]>([
104
+ { id: 1, name: 'Alpha', status: 'active' },
105
+ { id: 2, name: 'Bravo', status: 'archived' },
106
+ { id: 3, name: 'Charlie', status: 'active' },
107
+ ]);
108
+
109
+ protected readonly page = signal(1);
110
+ protected readonly pageSize = signal(10);
111
+ protected readonly total = signal(3);
112
+ }
113
+ `;
114
+ const html = `<section class="${dashName}">
115
+ <h1>${titleCase(pascalName)}</h1>
116
+
117
+ <wr-table [data]="rows()" [columns]="columns" />
118
+
119
+ <wr-pagination
120
+ [(page)]="page"
121
+ [pageSize]="pageSize()"
122
+ [total]="total()"
123
+ />
124
+ </section>
125
+ `;
126
+ const scss = `.${dashName} {
127
+ display: flex;
128
+ flex-direction: column;
129
+ gap: 1rem;
130
+ padding: 1.5rem;
131
+ }
132
+ `;
133
+ return { ts, html, scss };
134
+ }
135
+ function renderDashboard(dashName, pascalName) {
136
+ const ts = `import { Component, signal } from '@angular/core';
137
+
138
+ import { WrCard } from 'ngwr/card';
139
+ import { WrStatistic } from 'ngwr/statistic';
140
+ import { WrCountUp } from 'ngwr/counter';
141
+
142
+ @Component({
143
+ selector: 'app-${dashName}',
144
+ templateUrl: './${dashName}.html',
145
+ styleUrl: './${dashName}.scss',
146
+ imports: [WrCard, WrStatistic, WrCountUp],
147
+ })
148
+ export default class ${pascalName} {
149
+ protected readonly users = signal(1284);
150
+ protected readonly revenue = signal(45_320);
151
+ protected readonly active = signal(372);
152
+ }
153
+ `;
154
+ const html = `<section class="${dashName}">
155
+ <h1>${titleCase(pascalName)}</h1>
156
+
157
+ <div class="${dashName}__grid">
158
+ <wr-card>
159
+ <wr-statistic title="Users">
160
+ <wr-count-up [to]="users()" />
161
+ </wr-statistic>
162
+ </wr-card>
163
+
164
+ <wr-card>
165
+ <wr-statistic title="Revenue" prefix="$">
166
+ <wr-count-up [to]="revenue()" />
167
+ </wr-statistic>
168
+ </wr-card>
169
+
170
+ <wr-card>
171
+ <wr-statistic title="Active">
172
+ <wr-count-up [to]="active()" />
173
+ </wr-statistic>
174
+ </wr-card>
175
+ </div>
176
+ </section>
177
+ `;
178
+ const scss = `.${dashName} {
179
+ display: flex;
180
+ flex-direction: column;
181
+ gap: 1.5rem;
182
+ padding: 1.5rem;
183
+
184
+ &__grid {
185
+ display: grid;
186
+ grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
187
+ gap: 1rem;
188
+ }
189
+ }
190
+ `;
191
+ return { ts, html, scss };
192
+ }
193
+ function titleCase(value) {
194
+ return value
195
+ .replace(/([A-Z])/g, ' $1')
196
+ .replace(/^./, c => c.toUpperCase())
197
+ .trim();
198
+ }
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const schematics_1 = require("@angular-devkit/schematics");
10
+ const workspace_1 = require("@schematics/angular/utility/workspace");
11
+ const PROVIDERS = {
12
+ overlay: { subpath: 'ngwr/overlay', factory: 'provideWrOverlay', call: 'provideWrOverlay()' },
13
+ icons: {
14
+ subpath: 'ngwr/icon',
15
+ factory: 'provideWrIcons',
16
+ call: 'provideWrIcons([plus, trash])',
17
+ extras: [['plus, trash', 'ngwr/icon']],
18
+ },
19
+ toast: { subpath: 'ngwr/toast', factory: 'provideWrToast', call: 'provideWrToast()' },
20
+ i18n: { subpath: 'ngwr/i18n', factory: 'provideWrI18n', call: 'provideWrI18n()' },
21
+ 'date-adapter': {
22
+ subpath: 'ngwr/date-adapter',
23
+ factory: 'provideWrDateAdapter',
24
+ call: 'provideWrDateAdapter()',
25
+ },
26
+ density: { subpath: 'ngwr/density', factory: 'provideWrDensity', call: 'provideWrDensity()' },
27
+ 'loading-bar': {
28
+ subpath: 'ngwr/loading-bar',
29
+ factory: 'provideWrLoadingBar',
30
+ call: 'provideWrLoadingBar()',
31
+ },
32
+ cookie: { subpath: 'ngwr/cookie', factory: 'provideWrCookie', call: 'provideWrCookie()' },
33
+ storage: { subpath: 'ngwr/storage', factory: 'provideWrStorage', call: 'provideWrStorage()' },
34
+ theme: { subpath: 'ngwr/theme', factory: 'provideWrTheme', call: 'provideWrTheme()' },
35
+ };
36
+ function provider(options) {
37
+ return async (tree, context) => {
38
+ const spec = PROVIDERS[options.name];
39
+ if (!spec)
40
+ throw new schematics_1.SchematicsException(`ngwr:provider: unknown provider "${options.name}".`);
41
+ const filePath = await resolveMainFile(tree, options);
42
+ if (!filePath) {
43
+ context.logger.info(printSnippet(spec));
44
+ return tree;
45
+ }
46
+ const original = tree.readText(filePath);
47
+ let next = original;
48
+ next = ensureImport(next, spec.factory, spec.subpath);
49
+ if (options.name === 'icons') {
50
+ next = ensureImport(next, 'plus', 'ngwr/icon');
51
+ next = ensureImport(next, 'trash', 'ngwr/icon');
52
+ }
53
+ next = ensureProviderCall(next, spec.call);
54
+ if (next === original) {
55
+ context.logger.info(`ngwr:provider: ${filePath} already has ${spec.factory} — no changes.`);
56
+ return tree;
57
+ }
58
+ tree.overwrite(filePath, next);
59
+ context.logger.info(`✓ Added ${spec.call} to ${filePath}.`);
60
+ return tree;
61
+ };
62
+ }
63
+ async function resolveMainFile(tree, options) {
64
+ if (options.path && tree.exists(options.path))
65
+ return options.path;
66
+ const workspace = await (0, workspace_1.getWorkspace)(tree);
67
+ const projectName = options.project ?? workspace.extensions.defaultProject;
68
+ const project = (projectName && workspace.projects.get(projectName)) ?? workspace.projects.values().next().value;
69
+ if (!project)
70
+ return null;
71
+ const main = project.targets.get('build')?.options?.main;
72
+ const browser = project.targets.get('build')?.options?.browser;
73
+ const candidate = main ?? browser ?? `${project.sourceRoot ?? 'src'}/main.ts`;
74
+ return tree.exists(candidate) ? candidate : null;
75
+ }
76
+ function ensureImport(source, symbol, subpath) {
77
+ if (new RegExp(`\\bimport\\s*\\{[^}]*\\b${symbol}\\b[^}]*\\}\\s*from`).test(source))
78
+ return source;
79
+ const sameRe = new RegExp(`(import\\s*\\{)([^}]*)(\\}\\s*from\\s*['"]${escapeRegExp(subpath)}['"])`, 'm');
80
+ const sameMatch = sameRe.exec(source);
81
+ if (sameMatch) {
82
+ const head = sameMatch[1];
83
+ const body = sameMatch[2].trim().replace(/,\s*$/, '');
84
+ const tail = sameMatch[3];
85
+ const merged = body ? `${head} ${body}, ${symbol} ${tail}` : `${head} ${symbol} ${tail}`;
86
+ return source.replace(sameMatch[0], merged);
87
+ }
88
+ const blockRe = /(^|\n)(import\s[^;]+;\s*\n)+/m;
89
+ const block = blockRe.exec(source);
90
+ const newLine = `import { ${symbol} } from '${subpath}';\n`;
91
+ if (block) {
92
+ const end = (block.index ?? 0) + block[0].length;
93
+ return `${source.slice(0, end)}${newLine}${source.slice(end)}`;
94
+ }
95
+ return `${newLine}${source}`;
96
+ }
97
+ function ensureProviderCall(source, call) {
98
+ // Splice into the providers array of bootstrapApplication / ApplicationConfig.
99
+ const arrayRe = /(\bproviders\s*:\s*\[)([\s\S]*?)(\])/m;
100
+ const match = arrayRe.exec(source);
101
+ if (!match)
102
+ return source;
103
+ // Already present?
104
+ const callBase = call.split('(')[0];
105
+ if (new RegExp(`\\b${escapeRegExp(callBase)}\\s*\\(`).test(match[2]))
106
+ return source;
107
+ const trimmed = match[2].replace(/\s+$/, '');
108
+ const sep = trimmed.length && !trimmed.endsWith(',') ? ', ' : trimmed.length ? ' ' : '';
109
+ const replaced = `${match[1]}${trimmed}${sep}${call}${match[3]}`;
110
+ return source.replace(match[0], replaced);
111
+ }
112
+ function escapeRegExp(value) {
113
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
114
+ }
115
+ function printSnippet(spec) {
116
+ return `
117
+ ngwr:provider — copy this into your bootstrap:
118
+
119
+ import { ${spec.factory} } from '${spec.subpath}';
120
+
121
+ bootstrapApplication(AppComponent, {
122
+ providers: [/* …, */ ${spec.call}],
123
+ });
124
+ `;
125
+ }
126
+ exports.default = provider;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,52 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "ngwr-provider",
4
+ "title": "ngwr provider",
5
+ "type": "object",
6
+ "properties": {
7
+ "name": {
8
+ "type": "string",
9
+ "enum": [
10
+ "overlay",
11
+ "icons",
12
+ "toast",
13
+ "i18n",
14
+ "date-adapter",
15
+ "density",
16
+ "loading-bar",
17
+ "cookie",
18
+ "storage",
19
+ "theme"
20
+ ],
21
+ "description": "Provider to add.",
22
+ "$default": { "$source": "argv", "index": 0 },
23
+ "x-prompt": {
24
+ "message": "Which provider?",
25
+ "type": "list",
26
+ "items": [
27
+ { "value": "overlay", "label": "overlay — required for every overlay-backed component" },
28
+ { "value": "icons", "label": "icons — register a tree-shaken icon set" },
29
+ { "value": "toast", "label": "toast — global toast service" },
30
+ { "value": "i18n", "label": "i18n — Transloco-class translation core" },
31
+ { "value": "date-adapter", "label": "date-adapter — calendar / date-picker plumbing" },
32
+ { "value": "density", "label": "density — comfortable / compact preset" },
33
+ { "value": "loading-bar", "label": "loading-bar — router-aware progress bar" },
34
+ { "value": "cookie", "label": "cookie — wr cookie service" },
35
+ { "value": "storage", "label": "storage — swappable engine + TTL" },
36
+ { "value": "theme", "label": "theme — light/dark/auto mode" }
37
+ ]
38
+ }
39
+ },
40
+ "path": {
41
+ "type": "string",
42
+ "format": "path",
43
+ "description": "Main entry file to patch. Defaults to the first match in `src/main.ts`."
44
+ },
45
+ "project": {
46
+ "type": "string",
47
+ "description": "Target Angular project.",
48
+ "$default": { "$source": "projectName" }
49
+ }
50
+ },
51
+ "required": ["name"]
52
+ }