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,413 @@
1
+ import * as ngwr_i18n from 'ngwr/i18n';
2
+ import * as _angular_core from '@angular/core';
3
+ import { InjectionToken, Signal, TemplateRef, ElementRef } from '@angular/core';
4
+ import { ControlValueAccessor } from '@angular/forms';
5
+ import { Observable } from 'rxjs';
6
+
7
+ /**
8
+ * @license
9
+ *
10
+ * Use of this source code is governed by an MIT-style license that can be
11
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
12
+ */
13
+
14
+ /**
15
+ * Behavior mode for `<wr-select>`. The component is the unified
16
+ * combobox primitive — every shape (single, multi, type-to-search,
17
+ * free-text-tags) is the same component with a different `mode`.
18
+ *
19
+ * - `'single'` — one value, no input field. The classic dropdown.
20
+ * - `'multi'` — array value, chips on the trigger, options toggle on click.
21
+ * - `'search'` — type-ahead with sync filter or async loader (replaces
22
+ * the standalone `<wr-autocomplete>`).
23
+ * - `'tag'` — free-text + chips, with optional `allowCreate` /
24
+ * `createValidator` for typed lists (replaces `<wr-chips-input>`).
25
+ */
26
+ type WrSelectMode = 'single' | 'multi' | 'search' | 'tag';
27
+ /**
28
+ * Tag-mode validator. Return `true` to accept the value, `false` to
29
+ * silently reject (e.g. shape check, dedupe against a custom set).
30
+ */
31
+ type WrSelectTagValidator = (value: string, existing: readonly string[]) => boolean;
32
+ /**
33
+ * Search-mode async loader. Receives the current query, returns matching
34
+ * items as an array, Observable, or Promise. Cancellation: `switchMap`
35
+ * inside `WrSelect` cancels in-flight calls when a new keystroke lands,
36
+ * so stale responses can't clobber fresh ones.
37
+ */
38
+ type WrSelectSearchLoader<T> = (query: string) => Observable<readonly T[]> | Promise<readonly T[]> | readonly T[];
39
+
40
+ /**
41
+ * @license
42
+ *
43
+ * Use of this source code is governed by an MIT-style license that can be
44
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
45
+ */
46
+
47
+ /** Per-option registration metadata. @internal */
48
+ interface WrSelectOptionRegistration {
49
+ readonly id: string;
50
+ readonly value: unknown;
51
+ readonly disabled: boolean;
52
+ /**
53
+ * Lazy label reader. Options render text via `<ng-content>`, so we
54
+ * read it at call time once Angular has settled the projected content.
55
+ */
56
+ readonly getLabel: () => string;
57
+ }
58
+ /**
59
+ * Contract a `<wr-option>` uses to talk to its parent `<wr-select>`.
60
+ *
61
+ * @internal
62
+ */
63
+ interface WrSelectContext {
64
+ /**
65
+ * Currently selected value. Single mode: `T | null`. Multi mode:
66
+ * `readonly T[]`. Options consult {@link isSelected} instead of
67
+ * reading this directly so the same option code works in both modes.
68
+ */
69
+ readonly value: Signal<unknown>;
70
+ /** Whether the select is in multi-selection mode. */
71
+ readonly multi: Signal<boolean>;
72
+ /** Whether the select is disabled. */
73
+ readonly isDisabled: Signal<boolean>;
74
+ /** Id of the option currently highlighted by keyboard navigation. */
75
+ readonly activeOptionId: Signal<string | null>;
76
+ /**
77
+ * Active search query (search mode only). Empty string when there is
78
+ * no filter applied — options treat that as "show me".
79
+ */
80
+ readonly searchQuery: Signal<string>;
81
+ /** True only when `mode="search"`. Options gate filtering on this. */
82
+ readonly isSearch: Signal<boolean>;
83
+ /** Is the given option value currently selected? Handles both single and multi. */
84
+ isSelected(value: unknown): boolean;
85
+ /**
86
+ * Called when a child option is clicked. The label is read lazily
87
+ * via {@link WrSelectOptionRegistration.getLabel}, so callers don't
88
+ * need to thread it through.
89
+ */
90
+ selectOption(value: unknown): void;
91
+ /** Register an option; returns an unregister function. */
92
+ registerOption(reg: WrSelectOptionRegistration): () => void;
93
+ }
94
+ /**
95
+ * Token a `<wr-option>` injects to register itself with and notify its
96
+ * parent `<wr-select>`.
97
+ *
98
+ * @internal
99
+ */
100
+ declare const WR_SELECT: InjectionToken<WrSelectContext>;
101
+
102
+ interface SelectedChip {
103
+ readonly value: unknown;
104
+ readonly label: string;
105
+ }
106
+ /**
107
+ * Combobox primitive. Renders a button that opens a CDK overlay
108
+ * containing the projected `<wr-option>` (and optionally
109
+ * `<wr-option-group>`) children. Every shape is the same component
110
+ * with a different `[mode]`:
111
+ *
112
+ * - `'single'` (default) — one value, no input. Classic dropdown.
113
+ * - `'multi'` — array value, chips on the trigger; clicking an option
114
+ * toggles instead of closing, Backspace removes the last chip.
115
+ * - `'search'` — type-ahead with sync `[options]` filter or async
116
+ * `[loader]`. Replaces the standalone `<wr-autocomplete>`.
117
+ * - `'tag'` — free-text + chips with `[separators]` / `[validate]` /
118
+ * `[allowDuplicates]`. Replaces `<wr-chips-input>`.
119
+ *
120
+ * Implements `ControlValueAccessor` — usable with `[(ngModel)]`,
121
+ * `formControl`, or `formControlName`.
122
+ *
123
+ * @example
124
+ * ```html
125
+ * <!-- Single -->
126
+ * <wr-select placeholder="Pick a size" [(ngModel)]="size">
127
+ * <wr-option value="sm">Small</wr-option>
128
+ * <wr-option value="md">Medium</wr-option>
129
+ * <wr-option value="lg">Large</wr-option>
130
+ * </wr-select>
131
+ *
132
+ * <!-- Multi -->
133
+ * <wr-select mode="multi" placeholder="Pick tags" [(ngModel)]="tags">
134
+ * <wr-option value="ts">TypeScript</wr-option>
135
+ * <wr-option value="ng">Angular</wr-option>
136
+ * </wr-select>
137
+ * ```
138
+ *
139
+ * The legacy `[multi]="true"` boolean is still accepted but is now an
140
+ * alias for `[mode]="'multi'"` — prefer the explicit mode.
141
+ *
142
+ * @see https://ngwr.dev/components/select
143
+ */
144
+ declare class WrSelect implements ControlValueAccessor, WrSelectContext {
145
+ /** Placeholder shown when no option is selected. Falls back to `select.placeholder`. */
146
+ readonly placeholder: _angular_core.InputSignal<string | null>;
147
+ /** Clear-selection (×) button aria-label. Falls back to `select.clearSelection`. */
148
+ readonly clearLabel: _angular_core.InputSignal<string | null>;
149
+ protected readonly resolvedPlaceholder: _angular_core.Signal<string>;
150
+ protected readonly resolvedClear: _angular_core.Signal<string>;
151
+ /** Per-chip ARIA label — interpolates `{{label}}`. @internal */
152
+ protected readonly chipRemoveLabel: (params?: ngwr_i18n.WrI18nParams) => string;
153
+ /** Disable the select. Also set by Angular forms via `setDisabledState`. */
154
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
155
+ /** Pill-shaped corners on the trigger. @default false */
156
+ readonly rounded: _angular_core.InputSignalWithTransform<boolean, any>;
157
+ /**
158
+ * Behavior mode. `<wr-select>` is the unified combobox primitive —
159
+ * pick the shape via `[mode]`:
160
+ *
161
+ * - `'single'` (default) — one value, no input. Classic dropdown.
162
+ * - `'multi'` — array value, chips on the trigger.
163
+ * - `'search'` *(planned)* — type-ahead with sync filter or async loader.
164
+ * - `'tag'` *(planned)* — free-text + chips with optional `allowCreate`.
165
+ *
166
+ */
167
+ readonly mode: _angular_core.InputSignal<WrSelectMode | null>;
168
+ /** Resolved mode — `'single'` unless `[mode]` says otherwise. */
169
+ protected readonly effectiveMode: _angular_core.Signal<WrSelectMode>;
170
+ /** Convenience — `effectiveMode() === 'multi'`. */
171
+ protected readonly isMulti: _angular_core.Signal<boolean>;
172
+ /** Convenience — `effectiveMode() === 'tag'`. */
173
+ protected readonly isTag: _angular_core.Signal<boolean>;
174
+ /** Convenience — `effectiveMode() === 'search'`. Exposed via context for options. */
175
+ readonly isSearch: _angular_core.Signal<boolean>;
176
+ /** WrSelectContext — resolved multi-selection flag for child options. */
177
+ readonly multi: _angular_core.Signal<boolean>;
178
+ /** Both multi and tag render chips on the trigger. */
179
+ protected readonly hasChips: _angular_core.Signal<boolean>;
180
+ /**
181
+ * Search-mode query. Empty string = no filter. Exposed via context so
182
+ * each `<wr-option>` can self-hide non-matching rows.
183
+ */
184
+ readonly searchQuery: _angular_core.WritableSignal<string>;
185
+ /**
186
+ * Search mode: dynamic option array. Each item is rendered as a
187
+ * `<wr-option>` whose label comes from `[displayWith]`. Works
188
+ * alongside projected `<wr-option>` children — both lists are
189
+ * filtered by the search query.
190
+ */
191
+ readonly options: _angular_core.InputSignal<readonly unknown[]>;
192
+ /** Search mode: map a dynamic option item to its display label. @default String */
193
+ readonly displayWith: _angular_core.InputSignal<(item: unknown) => string>;
194
+ /**
195
+ * Search mode: async loader. When set, the loader is called on every
196
+ * (debounced) keystroke and its result replaces `[options]`. Supports
197
+ * Observables, Promises, and plain arrays.
198
+ */
199
+ readonly loader: _angular_core.InputSignal<WrSelectSearchLoader<unknown> | null>;
200
+ /** Search mode: debounce (ms) applied to the loader. @default 250 */
201
+ readonly debounceMs: _angular_core.InputSignalWithTransform<number, unknown>;
202
+ /** Search mode: minimum query length before the panel opens / loader fires. @default 0 */
203
+ readonly minChars: _angular_core.InputSignalWithTransform<number, unknown>;
204
+ /**
205
+ * Search mode: allow values not in the options list. Enter on an
206
+ * unmatched query commits the raw text as the form value. @default false
207
+ */
208
+ readonly freeText: _angular_core.InputSignalWithTransform<boolean, any>;
209
+ /** Search mode: text shown when the filter / loader returns nothing. Falls back to `select.noResults`. */
210
+ readonly noResultsText: _angular_core.InputSignal<string | null>;
211
+ /** Search mode: text shown while the async loader is in flight. Falls back to `select.loading`. */
212
+ readonly loadingText: _angular_core.InputSignal<string | null>;
213
+ protected readonly resolvedNoResults: _angular_core.Signal<string>;
214
+ protected readonly resolvedLoading: _angular_core.Signal<string>;
215
+ /** Search mode: results returned by the async loader. @internal */
216
+ protected readonly loadedOptions: _angular_core.WritableSignal<readonly unknown[]>;
217
+ /** Search mode: true while the loader is in flight. @internal */
218
+ protected readonly loading: _angular_core.WritableSignal<boolean>;
219
+ /**
220
+ * Tag mode: keys / characters that commit the current draft into a chip.
221
+ * `'Enter'` is the key name; everything else is a literal character watched
222
+ * in keypresses and pastes. @default ['Enter', ',']
223
+ */
224
+ readonly separators: _angular_core.InputSignal<readonly string[]>;
225
+ /** Tag mode: allow the same value to appear more than once. @default false */
226
+ readonly allowDuplicates: _angular_core.InputSignalWithTransform<boolean, any>;
227
+ /**
228
+ * Tag mode: custom validator — return `true` to accept the value, `false`
229
+ * to silently reject. Receives the trimmed draft + the existing chips.
230
+ */
231
+ readonly validate: _angular_core.InputSignal<WrSelectTagValidator | null>;
232
+ /** Tag-mode draft (text currently typed in the inline input). @internal */
233
+ protected readonly draft: _angular_core.WritableSignal<string>;
234
+ /**
235
+ * Show a clear-all (×) button at the end of the chip row when at
236
+ * least one option is selected (multi mode only). @default true
237
+ */
238
+ readonly clearable: _angular_core.InputSignalWithTransform<boolean, any>;
239
+ /**
240
+ * Cap on selected items (multi mode). `0` = unlimited. Once reached,
241
+ * additional clicks on unselected options are ignored. @default 0
242
+ */
243
+ readonly maxItems: _angular_core.InputSignalWithTransform<number, unknown>;
244
+ /**
245
+ * Maximum number of chips rendered before collapsing the rest into a
246
+ * `+N more` indicator. `0` = render every chip. @default 0
247
+ */
248
+ readonly maxTagCount: _angular_core.InputSignalWithTransform<number, unknown>;
249
+ /**
250
+ * Unified value signal. Single mode holds `T | null`; multi mode
251
+ * holds `readonly T[]`. Internal — consumers go through `[(ngModel)]`
252
+ * or `[formControl]` via CVA.
253
+ * @internal
254
+ */
255
+ readonly value: _angular_core.WritableSignal<unknown>;
256
+ /** Listbox id used by the trigger's `aria-controls`. */
257
+ protected readonly listboxId: string;
258
+ /** Registered options (insertion order). Internal — distinct from the public `[options]` input. */
259
+ private readonly registry;
260
+ /** Keyboard cursor index into `options`. -1 = none. */
261
+ private readonly activeIndex;
262
+ /** Id of the active option (for `aria-activedescendant`). */
263
+ readonly activeOptionId: _angular_core.Signal<string | null>;
264
+ protected readonly open: _angular_core.WritableSignal<boolean>;
265
+ protected readonly selectedLabel: _angular_core.WritableSignal<string | null>;
266
+ /**
267
+ * Selected chips (multi + tag modes). Multi reads labels from the
268
+ * registered `<wr-option>` children; tag uses each raw string as
269
+ * both value and label.
270
+ */
271
+ protected readonly selectedChips: _angular_core.Signal<readonly SelectedChip[]>;
272
+ protected readonly visibleChips: _angular_core.Signal<readonly SelectedChip[]>;
273
+ protected readonly hiddenChipCount: _angular_core.Signal<number>;
274
+ protected readonly hasSelection: _angular_core.Signal<boolean>;
275
+ private readonly disabledFromCva;
276
+ /** Effective disabled state — input wins, CVA second. */
277
+ readonly isDisabled: _angular_core.Signal<boolean>;
278
+ protected readonly classes: _angular_core.Signal<string>;
279
+ /**
280
+ * Search-mode dynamic options. Loader results win when the loader is
281
+ * set; otherwise the static `[options]` array. Each item is rendered
282
+ * as an internal `<wr-option>` in the panel.
283
+ */
284
+ protected readonly dynamicOptions: _angular_core.Signal<readonly unknown[]>;
285
+ /**
286
+ * Count of registered options that pass the current search filter.
287
+ * Hides the noResults state when the panel has at least one visible row.
288
+ */
289
+ protected readonly visibleCount: _angular_core.Signal<number>;
290
+ /** Search mode: show "no results" when the panel has nothing to offer. */
291
+ protected readonly hasNoResults: _angular_core.Signal<boolean>;
292
+ /** Search mode: is this option hidden by the current query? @internal */
293
+ private isOptionHidden;
294
+ protected readonly panelTpl: _angular_core.Signal<TemplateRef<any>>;
295
+ /** Tag-mode inline input. Present only when `mode="tag"`. @internal */
296
+ protected readonly tagInputEl: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
297
+ /** Search-mode inline input. Present only when `mode="search"`. @internal */
298
+ protected readonly searchInputEl: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
299
+ protected focusTagInput(): void;
300
+ protected focusSearchInput(): void;
301
+ protected onSearchInput(event: Event): void;
302
+ protected onSearchFocus(): void;
303
+ protected onSearchKey(event: KeyboardEvent): void;
304
+ /**
305
+ * Display text for the search input. Shows the selected option's
306
+ * label when collapsed, or the live query while typing / panel open.
307
+ * @internal
308
+ */
309
+ protected readonly searchDisplay: _angular_core.Signal<string>;
310
+ private readonly host;
311
+ private readonly overlay;
312
+ private readonly vcr;
313
+ private readonly scrollStrategies;
314
+ private readonly destroyRef;
315
+ private overlayRef;
316
+ private onChange;
317
+ protected onTouched: () => void;
318
+ constructor();
319
+ isSelected(value: unknown): boolean;
320
+ selectOption(value: unknown): void;
321
+ registerOption(reg: WrSelectOptionRegistration): () => void;
322
+ /** Remove one selection (chip × button). Works for multi and tag modes. */
323
+ protected removeChip(value: unknown, event: Event): void;
324
+ /** Clear every selection (× button). Multi/tag → empty array; search → null. */
325
+ protected clearAll(event: Event): void;
326
+ /** Capacity check used by tag mode to refuse the next add. */
327
+ protected readonly atCapacity: _angular_core.Signal<boolean>;
328
+ protected onTagInput(event: Event): void;
329
+ protected onTagKeydown(event: KeyboardEvent): void;
330
+ protected onTagPaste(event: ClipboardEvent): void;
331
+ protected onTagBlur(): void;
332
+ private commitDraft;
333
+ private tryAddTag;
334
+ writeValue(value: unknown): void;
335
+ registerOnChange(fn: (value: unknown) => void): void;
336
+ registerOnTouched(fn: () => void): void;
337
+ setDisabledState(isDisabled: boolean): void;
338
+ protected onTriggerClick(): void;
339
+ protected onTriggerKey(event: KeyboardEvent): void;
340
+ private seedActiveIndex;
341
+ private moveActive;
342
+ private firstEnabled;
343
+ private lastEnabled;
344
+ /** Coerce the multi-mode value signal into an array (handles writeValue from non-array). */
345
+ private asArray;
346
+ private openOverlay;
347
+ private closeOverlay;
348
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrSelect, never>;
349
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrSelect, "wr-select", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "clearLabel": { "alias": "clearLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "displayWith": { "alias": "displayWith"; "required": false; "isSignal": true; }; "loader": { "alias": "loader"; "required": false; "isSignal": true; }; "debounceMs": { "alias": "debounceMs"; "required": false; "isSignal": true; }; "minChars": { "alias": "minChars"; "required": false; "isSignal": true; }; "freeText": { "alias": "freeText"; "required": false; "isSignal": true; }; "noResultsText": { "alias": "noResultsText"; "required": false; "isSignal": true; }; "loadingText": { "alias": "loadingText"; "required": false; "isSignal": true; }; "separators": { "alias": "separators"; "required": false; "isSignal": true; }; "allowDuplicates": { "alias": "allowDuplicates"; "required": false; "isSignal": true; }; "validate": { "alias": "validate"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "maxItems": { "alias": "maxItems"; "required": false; "isSignal": true; }; "maxTagCount": { "alias": "maxTagCount"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
350
+ }
351
+
352
+ /**
353
+ * Single option inside a `<wr-select>`.
354
+ *
355
+ * The option's display label is taken from its projected text content;
356
+ * the form value is its `value` input.
357
+ *
358
+ * @example
359
+ * ```html
360
+ * <wr-option value="sm">Small</wr-option>
361
+ * <wr-option [value]="42">Forty-two</wr-option>
362
+ * ```
363
+ */
364
+ declare class WrOption {
365
+ /** The value contributed when this option is chosen. Required. */
366
+ readonly value: _angular_core.InputSignal<unknown>;
367
+ /** Disable this option. @default false */
368
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
369
+ /** Stable id used for `aria-activedescendant`. */
370
+ readonly id: string;
371
+ private readonly host;
372
+ private readonly parent;
373
+ /**
374
+ * @internal — true when this option is currently selected. Works for
375
+ * both single and multi-select parents via `WrSelectContext.isSelected`.
376
+ */
377
+ protected readonly selected: _angular_core.Signal<boolean>;
378
+ /** @internal — true when this option is the keyboard cursor target. */
379
+ protected readonly active: _angular_core.Signal<boolean>;
380
+ /**
381
+ * @internal — search mode only. True when the parent has a query that
382
+ * the option's text content does not match (case-insensitive substring).
383
+ * Hidden options stay in the DOM so registration order survives but
384
+ * collapse via CSS.
385
+ */
386
+ protected readonly hidden: _angular_core.Signal<boolean>;
387
+ protected readonly classes: _angular_core.Signal<string>;
388
+ constructor();
389
+ protected onClick(): void;
390
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrOption, never>;
391
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrOption, "wr-option", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
392
+ }
393
+
394
+ /**
395
+ * Visually groups options under a label inside a `<wr-select>`.
396
+ *
397
+ * @example
398
+ * ```html
399
+ * <wr-option-group label="Sizes">
400
+ * <wr-option value="sm">Small</wr-option>
401
+ * <wr-option value="md">Medium</wr-option>
402
+ * </wr-option-group>
403
+ * ```
404
+ */
405
+ declare class WrOptionGroup {
406
+ /** Section heading shown above the options. */
407
+ readonly label: _angular_core.InputSignal<string>;
408
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrOptionGroup, never>;
409
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrOptionGroup, "wr-option-group", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
410
+ }
411
+
412
+ export { WR_SELECT, WrOption, WrOptionGroup, WrSelect };
413
+ export type { WrSelectContext, WrSelectMode, WrSelectSearchLoader, WrSelectTagValidator };
@@ -0,0 +1,70 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ /**
4
+ * Animated shimmer-over-text effect. A bright stripe sweeps across the
5
+ * text using `background-clip: text` + an animated `background-position`.
6
+ *
7
+ * @example
8
+ * ```html
9
+ * <wr-shiny-text text="Premium" />
10
+ * <wr-shiny-text
11
+ * text="Custom"
12
+ * color="#444"
13
+ * shineColor="#a0e0ff"
14
+ * [speed]="3"
15
+ * [delay]="0.5"
16
+ * [yoyo]="true"
17
+ * [pauseOnHover]="true"
18
+ * />
19
+ * ```
20
+ *
21
+ * @see https://www.reactbits.dev/text-animations/shiny-text
22
+ */
23
+ declare class WrShinyText {
24
+ /** Text to render. */
25
+ readonly text: _angular_core.InputSignal<string>;
26
+ /** Pause the animation. @default false */
27
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
28
+ /** Time for the bright stripe to traverse the text, in seconds. @default 2 */
29
+ readonly speed: _angular_core.InputSignalWithTransform<number, unknown>;
30
+ /** Base text colour (outside the bright stripe). @default '#b5b5b5' */
31
+ /** Base text colour. When unset, the theme decides. */
32
+ readonly color: _angular_core.InputSignal<string | null>;
33
+ /** Bright stripe colour. @default '#ffffff' */
34
+ /** Sweep highlight colour. When unset, the theme decides. */
35
+ readonly shineColor: _angular_core.InputSignal<string | null>;
36
+ /** Gradient angle in degrees. @default 120 */
37
+ readonly spread: _angular_core.InputSignalWithTransform<number, unknown>;
38
+ /** Bounce the stripe back-and-forth instead of restarting. @default false */
39
+ readonly yoyo: _angular_core.InputSignalWithTransform<boolean, any>;
40
+ /** Pause the animation while hovered. @default false */
41
+ readonly pauseOnHover: _angular_core.InputSignalWithTransform<boolean, any>;
42
+ /** Sweep direction. @default 'left' */
43
+ readonly direction: _angular_core.InputSignal<"left" | "right">;
44
+ /** Pause between sweeps in seconds. @default 0 */
45
+ readonly delay: _angular_core.InputSignalWithTransform<number, unknown>;
46
+ /** Total animation cycle (speed + delay) in seconds. */
47
+ protected readonly totalDuration: _angular_core.Signal<number>;
48
+ protected readonly gradient: _angular_core.Signal<string>;
49
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrShinyText, never>;
50
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrShinyText, "wr-shiny-text", never, { "text": { "alias": "text"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "speed": { "alias": "speed"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "shineColor": { "alias": "shineColor"; "required": false; "isSignal": true; }; "spread": { "alias": "spread"; "required": false; "isSignal": true; }; "yoyo": { "alias": "yoyo"; "required": false; "isSignal": true; }; "pauseOnHover": { "alias": "pauseOnHover"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "delay": { "alias": "delay"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
51
+ }
52
+
53
+ /**
54
+ * Gradient sweep over text. Applies a `background-clip: text` gradient
55
+ * with a moving highlight — gives any text a subtle shimmer.
56
+ *
57
+ * The directive only adds the `wr-shimmer` host class. Pair with the
58
+ * styles in `ngwr/animations` (which include the `wr-shimmer` keyframes).
59
+ *
60
+ * @example
61
+ * ```html
62
+ * <h1 wrShimmer>Premium</h1>
63
+ * ```
64
+ */
65
+ declare class WrShimmer {
66
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrShimmer, never>;
67
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<WrShimmer, "[wrShimmer]", never, {}, {}, never, never, true, never>;
68
+ }
69
+
70
+ export { WrShimmer, WrShinyText };
@@ -0,0 +1,83 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { WrIconName } from 'ngwr/icon';
3
+
4
+ /**
5
+ * @license
6
+ *
7
+ * Use of this source code is governed by an MIT-style license that can be
8
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
9
+ */
10
+
11
+ /** A single navigable entry. */
12
+ interface WrSidebarItem {
13
+ readonly title: string;
14
+ /** Router commands array — passed to `[routerLink]`. */
15
+ readonly url: readonly (string | number)[];
16
+ readonly icon?: WrIconName;
17
+ /** Optional trailing badge text (e.g. `'new'`, `'12'`). */
18
+ readonly badge?: string;
19
+ /** Render as disabled (no navigation). */
20
+ readonly disabled?: boolean;
21
+ }
22
+ /** Expandable group of items. */
23
+ interface WrSidebarGroup {
24
+ readonly title: string;
25
+ readonly icon?: WrIconName;
26
+ readonly children: readonly WrSidebarItem[];
27
+ /** Open by default. @default false */
28
+ readonly defaultOpen?: boolean;
29
+ }
30
+ /** Either a direct-link item or an expandable group. */
31
+ type WrSidebarEntry = WrSidebarItem | WrSidebarGroup;
32
+
33
+ declare function isGroup(entry: WrSidebarEntry): entry is WrSidebarGroup;
34
+ /**
35
+ * Data-driven sidebar nav. Pass `[entries]` — either flat
36
+ * `WrSidebarItem`s (direct links) or `WrSidebarGroup`s (expand to reveal
37
+ * child items). Active route auto-expands its containing group.
38
+ *
39
+ * @example
40
+ * ```html
41
+ * <wr-sidebar [entries]="[
42
+ * { title: 'Dashboard', icon: 'home', url: ['/dashboard'] },
43
+ * {
44
+ * title: 'Settings',
45
+ * icon: 'cog',
46
+ * children: [
47
+ * { title: 'Profile', url: ['/settings', 'profile'] },
48
+ * { title: 'Billing', url: ['/settings', 'billing'] }
49
+ * ]
50
+ * }
51
+ * ]" />
52
+ * ```
53
+ *
54
+ * @see https://ngwr.dev/components/sidebar
55
+ */
56
+ declare class WrSidebar {
57
+ readonly entries: _angular_core.InputSignal<readonly WrSidebarEntry[]>;
58
+ /** Default icon for entries without one. @default 'folder' */
59
+ readonly defaultGroupIcon: _angular_core.InputSignal<string>;
60
+ /** Default icon for items without one. @default 'caret-forward' */
61
+ readonly defaultItemIcon: _angular_core.InputSignal<string>;
62
+ /** Auto-expand the group containing the active route. @default true */
63
+ readonly autoExpand: _angular_core.InputSignalWithTransform<boolean, any>;
64
+ protected readonly isGroup: typeof isGroup;
65
+ private readonly opened;
66
+ private readonly router;
67
+ private readonly currentUrl;
68
+ /** Last URL we auto-expanded — prevents re-opening a group the user collapsed. */
69
+ private lastAutoUrl;
70
+ constructor();
71
+ protected isOpen(title: string): boolean;
72
+ /** Stable id for the group body, referenced by the toggle's `aria-controls`. */
73
+ protected groupBodyId(title: string): string;
74
+ protected toggleGroup(title: string): void;
75
+ protected asItem(entry: WrSidebarEntry): WrSidebarItem;
76
+ protected asGroup(entry: WrSidebarEntry): WrSidebarGroup;
77
+ private findGroupForUrl;
78
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrSidebar, never>;
79
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrSidebar, "wr-sidebar", never, { "entries": { "alias": "entries"; "required": false; "isSignal": true; }; "defaultGroupIcon": { "alias": "defaultGroupIcon"; "required": false; "isSignal": true; }; "defaultItemIcon": { "alias": "defaultItemIcon"; "required": false; "isSignal": true; }; "autoExpand": { "alias": "autoExpand"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
80
+ }
81
+
82
+ export { WrSidebar };
83
+ export type { WrSidebarEntry, WrSidebarGroup, WrSidebarItem };
@@ -0,0 +1,41 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ /**
4
+ * Placeholder block shown while content is loading.
5
+ *
6
+ * Default sizing fills the parent width and matches the surrounding
7
+ * text height (`1lh`). Override `--wr-skeleton-height` / `width` on the
8
+ * host for custom shapes.
9
+ *
10
+ * @example
11
+ * ```html
12
+ * <wr-skeleton />
13
+ * <wr-skeleton color="primary" [animated]="false" />
14
+ * ```
15
+ *
16
+ * @see https://ngwr.dev/components/skeleton
17
+ */
18
+ declare class WrSkeleton {
19
+ /**
20
+ * Color tint for the placeholder.
21
+ *
22
+ * Default is `'light'` because it's theme-stable — the `light` token is
23
+ * slate-300 in light mode (subtle gray on white) and slate-800 in dark
24
+ * mode (subtle lift on near-black). The `'dark'` value flips to a near-
25
+ * white wash in dark mode and breaks the placeholder affordance.
26
+ *
27
+ * @default 'light'
28
+ */
29
+ readonly color: _angular_core.InputSignal<"primary" | "secondary" | "success" | "warning" | "danger" | "light" | "medium" | "dark">;
30
+ /**
31
+ * Whether the shimmer animation runs.
32
+ *
33
+ * @default true
34
+ */
35
+ readonly animated: _angular_core.InputSignalWithTransform<boolean, any>;
36
+ protected readonly classes: _angular_core.Signal<string>;
37
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrSkeleton, never>;
38
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrSkeleton, "wr-skeleton", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "animated": { "alias": "animated"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
39
+ }
40
+
41
+ export { WrSkeleton };