ngwr 6.1.1 → 7.1.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 (609) 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/burger/styles/_index.scss +101 -0
  20. package/button/styles/_index.scss +148 -125
  21. package/calendar/styles/_index.scss +252 -0
  22. package/calendar-heatmap/styles/_index.scss +69 -0
  23. package/card/card.scss +1 -0
  24. package/card/styles/_index.scss +96 -0
  25. package/carousel/styles/_index.scss +102 -0
  26. package/cascader/cascader.scss +1 -0
  27. package/cascader/styles/_index.scss +174 -0
  28. package/checkbox/styles/_index.scss +76 -60
  29. package/circular-text/circular-text.scss +1 -0
  30. package/circular-text/styles/_index.scss +45 -0
  31. package/click-spark/click-spark.scss +1 -0
  32. package/click-spark/styles/_index.scss +16 -0
  33. package/collapse/styles/_index.scss +92 -0
  34. package/color-picker/styles/_index.scss +247 -0
  35. package/command-palette/styles/_index.scss +188 -0
  36. package/compare/styles/_index.scss +100 -0
  37. package/context-menu/styles/_index.scss +112 -0
  38. package/counter/styles/_index.scss +44 -0
  39. package/date-picker/styles/_index.scss +204 -0
  40. package/decrypt-text/decrypt-text.scss +1 -0
  41. package/decrypt-text/styles/_index.scss +26 -0
  42. package/density/styles/_index.scss +37 -0
  43. package/descriptions/styles/_index.scss +104 -0
  44. package/dialog/styles/_index.scss +101 -27
  45. package/divider/styles/_index.scss +43 -24
  46. package/donut-chart/styles/_index.scss +76 -0
  47. package/drag-drop/sortable-list.scss +1 -0
  48. package/drag-drop/styles/_index.scss +99 -0
  49. package/drawer/styles/_index.scss +164 -0
  50. package/dropdown/styles/_index.scss +76 -56
  51. package/empty/styles/_index.scss +49 -0
  52. package/falling-text/falling-text.scss +1 -0
  53. package/falling-text/styles/_index.scss +30 -0
  54. package/fesm2022/ngwr-affix.mjs +102 -0
  55. package/fesm2022/ngwr-affix.mjs.map +1 -0
  56. package/fesm2022/ngwr-alert.mjs +70 -52
  57. package/fesm2022/ngwr-alert.mjs.map +1 -1
  58. package/fesm2022/ngwr-anchor.mjs +103 -0
  59. package/fesm2022/ngwr-anchor.mjs.map +1 -0
  60. package/fesm2022/ngwr-aurora.mjs +309 -0
  61. package/fesm2022/ngwr-aurora.mjs.map +1 -0
  62. package/fesm2022/ngwr-avatar.mjs +81 -71
  63. package/fesm2022/ngwr-avatar.mjs.map +1 -1
  64. package/fesm2022/ngwr-back-top.mjs +81 -0
  65. package/fesm2022/ngwr-back-top.mjs.map +1 -0
  66. package/fesm2022/ngwr-badge.mjs +192 -0
  67. package/fesm2022/ngwr-badge.mjs.map +1 -0
  68. package/fesm2022/ngwr-bar-chart.mjs +69 -0
  69. package/fesm2022/ngwr-bar-chart.mjs.map +1 -0
  70. package/fesm2022/ngwr-blur-text.mjs +181 -0
  71. package/fesm2022/ngwr-blur-text.mjs.map +1 -0
  72. package/fesm2022/ngwr-border-glow.mjs +278 -0
  73. package/fesm2022/ngwr-border-glow.mjs.map +1 -0
  74. package/fesm2022/ngwr-breadcrumbs.mjs +101 -0
  75. package/fesm2022/ngwr-breadcrumbs.mjs.map +1 -0
  76. package/fesm2022/ngwr-burger.mjs +60 -0
  77. package/fesm2022/ngwr-burger.mjs.map +1 -0
  78. package/fesm2022/ngwr-button.mjs +179 -104
  79. package/fesm2022/ngwr-button.mjs.map +1 -1
  80. package/fesm2022/ngwr-calendar-heatmap.mjs +145 -0
  81. package/fesm2022/ngwr-calendar-heatmap.mjs.map +1 -0
  82. package/fesm2022/ngwr-calendar.mjs +402 -0
  83. package/fesm2022/ngwr-calendar.mjs.map +1 -0
  84. package/fesm2022/ngwr-card.mjs +100 -0
  85. package/fesm2022/ngwr-card.mjs.map +1 -0
  86. package/fesm2022/ngwr-carousel.mjs +128 -0
  87. package/fesm2022/ngwr-carousel.mjs.map +1 -0
  88. package/fesm2022/ngwr-cascader.mjs +280 -0
  89. package/fesm2022/ngwr-cascader.mjs.map +1 -0
  90. package/fesm2022/ngwr-checkbox.mjs +214 -54
  91. package/fesm2022/ngwr-checkbox.mjs.map +1 -1
  92. package/fesm2022/ngwr-circular-text.mjs +168 -0
  93. package/fesm2022/ngwr-circular-text.mjs.map +1 -0
  94. package/fesm2022/ngwr-click-spark.mjs +163 -0
  95. package/fesm2022/ngwr-click-spark.mjs.map +1 -0
  96. package/fesm2022/ngwr-clipboard.mjs +130 -0
  97. package/fesm2022/ngwr-clipboard.mjs.map +1 -0
  98. package/fesm2022/ngwr-collapse.mjs +232 -0
  99. package/fesm2022/ngwr-collapse.mjs.map +1 -0
  100. package/fesm2022/ngwr-color-picker.mjs +646 -0
  101. package/fesm2022/ngwr-color-picker.mjs.map +1 -0
  102. package/fesm2022/ngwr-command-palette.mjs +259 -0
  103. package/fesm2022/ngwr-command-palette.mjs.map +1 -0
  104. package/fesm2022/ngwr-compare.mjs +137 -0
  105. package/fesm2022/ngwr-compare.mjs.map +1 -0
  106. package/fesm2022/ngwr-confetti.mjs +160 -0
  107. package/fesm2022/ngwr-confetti.mjs.map +1 -0
  108. package/fesm2022/ngwr-context-menu.mjs +653 -0
  109. package/fesm2022/ngwr-context-menu.mjs.map +1 -0
  110. package/fesm2022/ngwr-cookie.mjs +127 -0
  111. package/fesm2022/ngwr-cookie.mjs.map +1 -0
  112. package/fesm2022/ngwr-counter.mjs +415 -0
  113. package/fesm2022/ngwr-counter.mjs.map +1 -0
  114. package/fesm2022/ngwr-date-adapter-fns.mjs +180 -0
  115. package/fesm2022/ngwr-date-adapter-fns.mjs.map +1 -0
  116. package/fesm2022/ngwr-date-adapter-luxon.mjs +201 -0
  117. package/fesm2022/ngwr-date-adapter-luxon.mjs.map +1 -0
  118. package/fesm2022/ngwr-date-adapter.mjs +419 -0
  119. package/fesm2022/ngwr-date-adapter.mjs.map +1 -0
  120. package/fesm2022/ngwr-date-picker.mjs +624 -0
  121. package/fesm2022/ngwr-date-picker.mjs.map +1 -0
  122. package/fesm2022/ngwr-decrypt-text.mjs +396 -0
  123. package/fesm2022/ngwr-decrypt-text.mjs.map +1 -0
  124. package/fesm2022/ngwr-density.mjs +157 -0
  125. package/fesm2022/ngwr-density.mjs.map +1 -0
  126. package/fesm2022/ngwr-descriptions.mjs +83 -0
  127. package/fesm2022/ngwr-descriptions.mjs.map +1 -0
  128. package/fesm2022/ngwr-dialog.mjs +249 -377
  129. package/fesm2022/ngwr-dialog.mjs.map +1 -1
  130. package/fesm2022/ngwr-directives.mjs +315 -0
  131. package/fesm2022/ngwr-directives.mjs.map +1 -0
  132. package/fesm2022/ngwr-divider.mjs +74 -59
  133. package/fesm2022/ngwr-divider.mjs.map +1 -1
  134. package/fesm2022/ngwr-donut-chart.mjs +131 -0
  135. package/fesm2022/ngwr-donut-chart.mjs.map +1 -0
  136. package/fesm2022/ngwr-drag-drop.mjs +117 -0
  137. package/fesm2022/ngwr-drag-drop.mjs.map +1 -0
  138. package/fesm2022/ngwr-drawer.mjs +315 -0
  139. package/fesm2022/ngwr-drawer.mjs.map +1 -0
  140. package/fesm2022/ngwr-dropdown.mjs +276 -229
  141. package/fesm2022/ngwr-dropdown.mjs.map +1 -1
  142. package/fesm2022/ngwr-empty.mjs +57 -0
  143. package/fesm2022/ngwr-empty.mjs.map +1 -0
  144. package/fesm2022/ngwr-falling-text.mjs +316 -0
  145. package/fesm2022/ngwr-falling-text.mjs.map +1 -0
  146. package/fesm2022/ngwr-file-upload.mjs +260 -0
  147. package/fesm2022/ngwr-file-upload.mjs.map +1 -0
  148. package/fesm2022/ngwr-form.mjs +133 -48
  149. package/fesm2022/ngwr-form.mjs.map +1 -1
  150. package/fesm2022/ngwr-fuzzy-text.mjs +373 -0
  151. package/fesm2022/ngwr-fuzzy-text.mjs.map +1 -0
  152. package/fesm2022/ngwr-gauge.mjs +83 -0
  153. package/fesm2022/ngwr-gauge.mjs.map +1 -0
  154. package/fesm2022/ngwr-glitch-text.mjs +67 -0
  155. package/fesm2022/ngwr-glitch-text.mjs.map +1 -0
  156. package/fesm2022/ngwr-gradient-text.mjs +109 -0
  157. package/fesm2022/ngwr-gradient-text.mjs.map +1 -0
  158. package/fesm2022/ngwr-hotkey.mjs +263 -0
  159. package/fesm2022/ngwr-hotkey.mjs.map +1 -0
  160. package/fesm2022/ngwr-i18n-en.mjs +168 -0
  161. package/fesm2022/ngwr-i18n-en.mjs.map +1 -0
  162. package/fesm2022/ngwr-i18n-ru.mjs +156 -0
  163. package/fesm2022/ngwr-i18n-ru.mjs.map +1 -0
  164. package/fesm2022/ngwr-i18n.mjs +478 -0
  165. package/fesm2022/ngwr-i18n.mjs.map +1 -0
  166. package/fesm2022/ngwr-icon-adapters-feather.mjs +74 -0
  167. package/fesm2022/ngwr-icon-adapters-feather.mjs.map +1 -0
  168. package/fesm2022/ngwr-icon-adapters-lucide.mjs +88 -0
  169. package/fesm2022/ngwr-icon-adapters-lucide.mjs.map +1 -0
  170. package/fesm2022/ngwr-icon.mjs +189 -649
  171. package/fesm2022/ngwr-icon.mjs.map +1 -1
  172. package/fesm2022/ngwr-image-cropper.mjs +299 -0
  173. package/fesm2022/ngwr-image-cropper.mjs.map +1 -0
  174. package/fesm2022/ngwr-input-number.mjs +239 -0
  175. package/fesm2022/ngwr-input-number.mjs.map +1 -0
  176. package/fesm2022/ngwr-input-otp.mjs +216 -0
  177. package/fesm2022/ngwr-input-otp.mjs.map +1 -0
  178. package/fesm2022/ngwr-input.mjs +183 -104
  179. package/fesm2022/ngwr-input.mjs.map +1 -1
  180. package/fesm2022/ngwr-keyboard.mjs +47 -0
  181. package/fesm2022/ngwr-keyboard.mjs.map +1 -0
  182. package/fesm2022/ngwr-knob.mjs +227 -0
  183. package/fesm2022/ngwr-knob.mjs.map +1 -0
  184. package/fesm2022/ngwr-layout.mjs +197 -0
  185. package/fesm2022/ngwr-layout.mjs.map +1 -0
  186. package/fesm2022/ngwr-lightbox.mjs +131 -0
  187. package/fesm2022/ngwr-lightbox.mjs.map +1 -0
  188. package/fesm2022/ngwr-line-chart.mjs +176 -0
  189. package/fesm2022/ngwr-line-chart.mjs.map +1 -0
  190. package/fesm2022/ngwr-list.mjs +132 -0
  191. package/fesm2022/ngwr-list.mjs.map +1 -0
  192. package/fesm2022/ngwr-loading-bar.mjs +160 -0
  193. package/fesm2022/ngwr-loading-bar.mjs.map +1 -0
  194. package/fesm2022/ngwr-marquee.mjs +224 -0
  195. package/fesm2022/ngwr-marquee.mjs.map +1 -0
  196. package/fesm2022/ngwr-media.mjs +132 -0
  197. package/fesm2022/ngwr-media.mjs.map +1 -0
  198. package/fesm2022/ngwr-mention.mjs +374 -0
  199. package/fesm2022/ngwr-mention.mjs.map +1 -0
  200. package/fesm2022/ngwr-meta.mjs +323 -0
  201. package/fesm2022/ngwr-meta.mjs.map +1 -0
  202. package/fesm2022/ngwr-meter-group.mjs +73 -0
  203. package/fesm2022/ngwr-meter-group.mjs.map +1 -0
  204. package/fesm2022/ngwr-overlay.mjs +145 -0
  205. package/fesm2022/ngwr-overlay.mjs.map +1 -0
  206. package/fesm2022/ngwr-page-header.mjs +53 -0
  207. package/fesm2022/ngwr-page-header.mjs.map +1 -0
  208. package/fesm2022/ngwr-pagination.mjs +152 -96
  209. package/fesm2022/ngwr-pagination.mjs.map +1 -1
  210. package/fesm2022/ngwr-pipes.mjs +290 -11
  211. package/fesm2022/ngwr-pipes.mjs.map +1 -1
  212. package/fesm2022/ngwr-platform.mjs +63 -0
  213. package/fesm2022/ngwr-platform.mjs.map +1 -0
  214. package/fesm2022/ngwr-popconfirm.mjs +188 -0
  215. package/fesm2022/ngwr-popconfirm.mjs.map +1 -0
  216. package/fesm2022/ngwr-popover.mjs +365 -0
  217. package/fesm2022/ngwr-popover.mjs.map +1 -0
  218. package/fesm2022/ngwr-progress.mjs +47 -39
  219. package/fesm2022/ngwr-progress.mjs.map +1 -1
  220. package/fesm2022/ngwr-qr.mjs +160 -179
  221. package/fesm2022/ngwr-qr.mjs.map +1 -1
  222. package/fesm2022/ngwr-radio.mjs +204 -0
  223. package/fesm2022/ngwr-radio.mjs.map +1 -0
  224. package/fesm2022/ngwr-rating.mjs +180 -0
  225. package/fesm2022/ngwr-rating.mjs.map +1 -0
  226. package/fesm2022/ngwr-result.mjs +119 -0
  227. package/fesm2022/ngwr-result.mjs.map +1 -0
  228. package/fesm2022/ngwr-rotating-text.mjs +256 -0
  229. package/fesm2022/ngwr-rotating-text.mjs.map +1 -0
  230. package/fesm2022/ngwr-scramble-text.mjs +165 -0
  231. package/fesm2022/ngwr-scramble-text.mjs.map +1 -0
  232. package/fesm2022/ngwr-scroll.mjs +107 -0
  233. package/fesm2022/ngwr-scroll.mjs.map +1 -0
  234. package/fesm2022/ngwr-segmented.mjs +96 -0
  235. package/fesm2022/ngwr-segmented.mjs.map +1 -0
  236. package/fesm2022/ngwr-select.mjs +844 -309
  237. package/fesm2022/ngwr-select.mjs.map +1 -1
  238. package/fesm2022/ngwr-shiny-text.mjs +127 -0
  239. package/fesm2022/ngwr-shiny-text.mjs.map +1 -0
  240. package/fesm2022/ngwr-sidebar.mjs +134 -0
  241. package/fesm2022/ngwr-sidebar.mjs.map +1 -0
  242. package/fesm2022/ngwr-skeleton.mjs +59 -34
  243. package/fesm2022/ngwr-skeleton.mjs.map +1 -1
  244. package/fesm2022/ngwr-slider.mjs +234 -0
  245. package/fesm2022/ngwr-slider.mjs.map +1 -0
  246. package/fesm2022/ngwr-sparkline.mjs +104 -0
  247. package/fesm2022/ngwr-sparkline.mjs.map +1 -0
  248. package/fesm2022/ngwr-speed-dial.mjs +79 -0
  249. package/fesm2022/ngwr-speed-dial.mjs.map +1 -0
  250. package/fesm2022/ngwr-spinner.mjs +34 -28
  251. package/fesm2022/ngwr-spinner.mjs.map +1 -1
  252. package/fesm2022/ngwr-splash-cursor.mjs +970 -0
  253. package/fesm2022/ngwr-splash-cursor.mjs.map +1 -0
  254. package/fesm2022/ngwr-split-text.mjs +200 -0
  255. package/fesm2022/ngwr-split-text.mjs.map +1 -0
  256. package/fesm2022/ngwr-splitter.mjs +125 -0
  257. package/fesm2022/ngwr-splitter.mjs.map +1 -0
  258. package/fesm2022/ngwr-spotlight-card.mjs +138 -0
  259. package/fesm2022/ngwr-spotlight-card.mjs.map +1 -0
  260. package/fesm2022/ngwr-squircle.mjs +320 -0
  261. package/fesm2022/ngwr-squircle.mjs.map +1 -0
  262. package/fesm2022/ngwr-star-border.mjs +72 -0
  263. package/fesm2022/ngwr-star-border.mjs.map +1 -0
  264. package/fesm2022/ngwr-statistic.mjs +220 -0
  265. package/fesm2022/ngwr-statistic.mjs.map +1 -0
  266. package/fesm2022/ngwr-stepper.mjs +186 -0
  267. package/fesm2022/ngwr-stepper.mjs.map +1 -0
  268. package/fesm2022/ngwr-storage.mjs +317 -0
  269. package/fesm2022/ngwr-storage.mjs.map +1 -0
  270. package/fesm2022/ngwr-switch.mjs +99 -0
  271. package/fesm2022/ngwr-switch.mjs.map +1 -0
  272. package/fesm2022/ngwr-table.mjs +217 -206
  273. package/fesm2022/ngwr-table.mjs.map +1 -1
  274. package/fesm2022/ngwr-tabs.mjs +217 -0
  275. package/fesm2022/ngwr-tabs.mjs.map +1 -0
  276. package/fesm2022/ngwr-textarea.mjs +106 -120
  277. package/fesm2022/ngwr-textarea.mjs.map +1 -1
  278. package/fesm2022/ngwr-theme.mjs +152 -0
  279. package/fesm2022/ngwr-theme.mjs.map +1 -0
  280. package/fesm2022/ngwr-tilt-card.mjs +137 -0
  281. package/fesm2022/ngwr-tilt-card.mjs.map +1 -0
  282. package/fesm2022/ngwr-timeline.mjs +73 -0
  283. package/fesm2022/ngwr-timeline.mjs.map +1 -0
  284. package/fesm2022/ngwr-toast.mjs +446 -0
  285. package/fesm2022/ngwr-toast.mjs.map +1 -0
  286. package/fesm2022/ngwr-toolbar.mjs +46 -0
  287. package/fesm2022/ngwr-toolbar.mjs.map +1 -0
  288. package/fesm2022/ngwr-tree.mjs +483 -0
  289. package/fesm2022/ngwr-tree.mjs.map +1 -0
  290. package/fesm2022/ngwr-typewriter.mjs +229 -0
  291. package/fesm2022/ngwr-typewriter.mjs.map +1 -0
  292. package/fesm2022/ngwr-typography.mjs +79 -0
  293. package/fesm2022/ngwr-typography.mjs.map +1 -0
  294. package/fesm2022/ngwr-utils.mjs +535 -0
  295. package/fesm2022/ngwr-utils.mjs.map +1 -0
  296. package/fesm2022/ngwr-validators.mjs +214 -0
  297. package/fesm2022/ngwr-validators.mjs.map +1 -0
  298. package/fesm2022/ngwr-version.mjs +51 -0
  299. package/fesm2022/ngwr-version.mjs.map +1 -0
  300. package/fesm2022/ngwr-virtual-scroll.mjs +99 -0
  301. package/fesm2022/ngwr-virtual-scroll.mjs.map +1 -0
  302. package/fesm2022/ngwr-waves.mjs +356 -0
  303. package/fesm2022/ngwr-waves.mjs.map +1 -0
  304. package/fesm2022/ngwr-window.mjs +1141 -0
  305. package/fesm2022/ngwr-window.mjs.map +1 -0
  306. package/fesm2022/ngwr.mjs +0 -3
  307. package/fesm2022/ngwr.mjs.map +1 -1
  308. package/file-upload/styles/_index.scss +152 -0
  309. package/form/styles/_index.scss +85 -42
  310. package/gauge/styles/_index.scss +37 -0
  311. package/glitch-text/glitch-text.scss +1 -0
  312. package/glitch-text/styles/_index.scss +144 -0
  313. package/gradient-text/gradient-text.scss +1 -0
  314. package/gradient-text/styles/_index.scss +113 -0
  315. package/icon/styles/_index.scss +21 -15
  316. package/image-cropper/styles/_index.scss +114 -0
  317. package/input/styles/_index.scss +133 -93
  318. package/input-number/styles/_index.scss +75 -0
  319. package/input-otp/styles/_index.scss +53 -0
  320. package/keyboard/styles/_index.scss +55 -0
  321. package/knob/styles/_index.scss +54 -0
  322. package/layout/styles/_index.scss +65 -0
  323. package/lightbox/lightbox.scss +1 -0
  324. package/lightbox/styles/_index.scss +144 -0
  325. package/line-chart/styles/_index.scss +93 -0
  326. package/list/list.scss +1 -0
  327. package/list/styles/_index.scss +101 -0
  328. package/loading-bar/loading-bar.scss +1 -0
  329. package/loading-bar/styles/_index.scss +29 -0
  330. package/marquee/marquee.scss +1 -0
  331. package/marquee/styles/_index.scss +138 -0
  332. package/mention/styles/_index.scss +47 -0
  333. package/meter-group/styles/_index.scss +61 -0
  334. package/package.json +586 -104
  335. package/page-header/styles/_index.scss +78 -0
  336. package/pagination/styles/_index.scss +89 -34
  337. package/popconfirm/styles/_index.scss +32 -0
  338. package/popover/styles/_index.scss +99 -0
  339. package/progress/styles/_index.scss +29 -14
  340. package/qr/styles/_index.scss +6 -3
  341. package/radio/styles/_index.scss +111 -0
  342. package/rating/styles/_index.scss +63 -0
  343. package/result/styles/_index.scss +69 -0
  344. package/rotating-text/rotating-text.scss +1 -0
  345. package/rotating-text/styles/_index.scss +39 -0
  346. package/schematics/collection.json +37 -0
  347. package/schematics/component-style/index.js +49 -0
  348. package/{cdk/utils/index.d.ts → schematics/component-style/schema.js} +2 -8
  349. package/schematics/component-style/schema.json +20 -0
  350. package/schematics/icon-set/index.js +96 -0
  351. package/schematics/icon-set/schema.js +8 -0
  352. package/schematics/icon-set/schema.json +39 -0
  353. package/schematics/migrations/v7/index.js +187 -0
  354. package/schematics/migrations.json +10 -0
  355. package/schematics/ng-add/index.js +180 -0
  356. package/schematics/ng-add/schema.js +8 -0
  357. package/schematics/ng-add/schema.json +80 -0
  358. package/schematics/page/index.js +63 -0
  359. package/schematics/page/schema.js +8 -0
  360. package/schematics/page/schema.json +39 -0
  361. package/schematics/page/templates.js +198 -0
  362. package/schematics/provider/index.js +126 -0
  363. package/schematics/provider/schema.js +8 -0
  364. package/schematics/provider/schema.json +52 -0
  365. package/schematics/use/index.js +143 -0
  366. package/schematics/use/schema.js +8 -0
  367. package/schematics/use/schema.json +25 -0
  368. package/schematics/use/symbol-map.json +357 -0
  369. package/scramble-text/scramble-text.scss +1 -0
  370. package/scramble-text/styles/_index.scss +8 -0
  371. package/segmented/styles/_index.scss +92 -0
  372. package/select/styles/_index.scss +245 -159
  373. package/shiny-text/shiny-text.scss +1 -0
  374. package/shiny-text/styles/_index.scss +101 -0
  375. package/sidebar/styles/_index.scss +208 -0
  376. package/skeleton/styles/_index.scss +33 -33
  377. package/slider/styles/_index.scss +77 -0
  378. package/sparkline/styles/_index.scss +9 -0
  379. package/speed-dial/styles/_index.scss +158 -0
  380. package/spinner/styles/_index.scss +38 -22
  381. package/splash-cursor/splash-cursor.scss +1 -0
  382. package/splash-cursor/styles/_index.scss +27 -0
  383. package/split-text/split-text.scss +1 -0
  384. package/split-text/styles/_index.scss +22 -0
  385. package/splitter/styles/_index.scss +85 -0
  386. package/spotlight-card/spotlight-card.scss +1 -0
  387. package/spotlight-card/styles/_index.scss +43 -0
  388. package/squircle/styles/_index.scss +34 -0
  389. package/star-border/star-border.scss +1 -0
  390. package/star-border/styles/_index.scss +118 -0
  391. package/statistic/styles/_index.scss +54 -0
  392. package/stepper/styles/_index.scss +162 -0
  393. package/styles/_animations.scss +198 -0
  394. package/styles/_breakpoints.scss +75 -0
  395. package/styles/_grid.scss +71 -0
  396. package/styles/_reset.scss +123 -0
  397. package/styles/_typography.scss +122 -0
  398. package/styles.scss +103 -13
  399. package/switch/styles/_index.scss +82 -0
  400. package/table/styles/_index.scss +255 -4
  401. package/tabs/styles/_index.scss +71 -0
  402. package/textarea/styles/_index.scss +47 -56
  403. package/theme/styles/_colors.scss +83 -0
  404. package/theme/styles/_dark.scss +85 -0
  405. package/theme/styles/_focus.scss +93 -0
  406. package/theme/styles/_index.scss +5 -0
  407. package/theme/styles/_mixins.scss +57 -0
  408. package/theme/styles/_variables.scss +118 -0
  409. package/tilt-card/styles/_index.scss +40 -0
  410. package/tilt-card/tilt-card.scss +1 -0
  411. package/timeline/styles/_index.scss +127 -0
  412. package/toast/styles/_index.scss +263 -0
  413. package/toolbar/styles/_index.scss +65 -0
  414. package/tree/styles/_index.scss +271 -0
  415. package/types/ngwr-affix.d.ts +43 -0
  416. package/types/ngwr-alert.d.ts +68 -0
  417. package/types/ngwr-anchor.d.ts +53 -0
  418. package/types/ngwr-aurora.d.ts +52 -0
  419. package/types/ngwr-avatar.d.ts +90 -0
  420. package/types/ngwr-back-top.d.ts +37 -0
  421. package/types/ngwr-badge.d.ts +158 -0
  422. package/types/ngwr-bar-chart.d.ts +47 -0
  423. package/types/ngwr-blur-text.d.ts +62 -0
  424. package/types/ngwr-border-glow.d.ts +66 -0
  425. package/types/ngwr-breadcrumbs.d.ts +61 -0
  426. package/types/ngwr-burger.d.ts +36 -0
  427. package/types/ngwr-button.d.ts +176 -0
  428. package/types/ngwr-calendar-heatmap.d.ts +58 -0
  429. package/types/ngwr-calendar.d.ts +116 -0
  430. package/types/ngwr-card.d.ts +50 -0
  431. package/types/ngwr-carousel.d.ts +57 -0
  432. package/types/ngwr-cascader.d.ts +107 -0
  433. package/types/ngwr-checkbox.d.ts +139 -0
  434. package/types/ngwr-circular-text.d.ts +49 -0
  435. package/types/ngwr-click-spark.d.ts +52 -0
  436. package/types/ngwr-clipboard.d.ts +53 -0
  437. package/types/ngwr-collapse.d.ts +139 -0
  438. package/types/ngwr-color-picker.d.ts +302 -0
  439. package/types/ngwr-command-palette.d.ts +113 -0
  440. package/types/ngwr-compare.d.ts +55 -0
  441. package/types/ngwr-confetti.d.ts +70 -0
  442. package/types/ngwr-context-menu.d.ts +207 -0
  443. package/types/ngwr-cookie.d.ts +60 -0
  444. package/types/ngwr-counter.d.ts +182 -0
  445. package/types/ngwr-date-adapter-fns.d.ts +73 -0
  446. package/types/ngwr-date-adapter-luxon.d.ts +73 -0
  447. package/types/ngwr-date-adapter.d.ts +198 -0
  448. package/types/ngwr-date-picker.d.ts +117 -0
  449. package/types/ngwr-decrypt-text.d.ts +85 -0
  450. package/types/ngwr-density.d.ts +97 -0
  451. package/types/ngwr-descriptions.d.ts +41 -0
  452. package/types/ngwr-dialog.d.ts +210 -0
  453. package/types/ngwr-directives.d.ts +125 -0
  454. package/types/ngwr-divider.d.ts +73 -0
  455. package/types/ngwr-donut-chart.d.ts +53 -0
  456. package/types/ngwr-drag-drop.d.ts +83 -0
  457. package/types/ngwr-drawer.d.ts +155 -0
  458. package/types/ngwr-dropdown.d.ts +124 -0
  459. package/types/ngwr-empty.d.ts +38 -0
  460. package/types/ngwr-falling-text.d.ts +63 -0
  461. package/types/ngwr-file-upload.d.ts +94 -0
  462. package/types/ngwr-form.d.ts +95 -0
  463. package/types/ngwr-fuzzy-text.d.ts +74 -0
  464. package/types/ngwr-gauge.d.ts +39 -0
  465. package/types/ngwr-glitch-text.d.ts +31 -0
  466. package/types/ngwr-gradient-text.d.ts +46 -0
  467. package/types/ngwr-hotkey.d.ts +142 -0
  468. package/types/ngwr-i18n-en.d.ts +18 -0
  469. package/types/ngwr-i18n-ru.d.ts +6 -0
  470. package/types/ngwr-i18n.d.ts +336 -0
  471. package/types/ngwr-icon-adapters-feather.d.ts +44 -0
  472. package/types/ngwr-icon-adapters-lucide.d.ts +54 -0
  473. package/types/ngwr-icon.d.ts +180 -0
  474. package/types/ngwr-image-cropper.d.ts +110 -0
  475. package/types/ngwr-input-number.d.ts +77 -0
  476. package/types/ngwr-input-otp.d.ts +78 -0
  477. package/types/ngwr-input.d.ts +131 -0
  478. package/types/ngwr-keyboard.d.ts +34 -0
  479. package/types/ngwr-knob.d.ts +77 -0
  480. package/types/ngwr-layout.d.ts +89 -0
  481. package/types/ngwr-lightbox.d.ts +50 -0
  482. package/types/ngwr-line-chart.d.ts +90 -0
  483. package/types/ngwr-list.d.ts +71 -0
  484. package/types/ngwr-loading-bar.d.ts +79 -0
  485. package/types/ngwr-marquee.d.ts +95 -0
  486. package/types/ngwr-media.d.ts +74 -0
  487. package/types/ngwr-mention.d.ts +110 -0
  488. package/types/ngwr-meta.d.ts +188 -0
  489. package/types/ngwr-meter-group.d.ts +57 -0
  490. package/types/ngwr-overlay.d.ts +110 -0
  491. package/types/ngwr-page-header.d.ts +35 -0
  492. package/types/ngwr-pagination.d.ts +119 -0
  493. package/types/ngwr-pipes.d.ts +177 -0
  494. package/types/ngwr-platform.d.ts +38 -0
  495. package/types/ngwr-popconfirm.d.ts +79 -0
  496. package/types/ngwr-popover.d.ts +90 -0
  497. package/types/ngwr-progress.d.ts +33 -0
  498. package/types/ngwr-qr.d.ts +56 -0
  499. package/types/ngwr-radio.d.ts +120 -0
  500. package/types/ngwr-rating.d.ts +62 -0
  501. package/types/ngwr-result.d.ts +64 -0
  502. package/types/ngwr-rotating-text.d.ts +72 -0
  503. package/types/ngwr-scramble-text.d.ts +49 -0
  504. package/types/ngwr-scroll.d.ts +65 -0
  505. package/types/ngwr-segmented.d.ts +65 -0
  506. package/types/ngwr-select.d.ts +413 -0
  507. package/types/ngwr-shiny-text.d.ts +70 -0
  508. package/types/ngwr-sidebar.d.ts +83 -0
  509. package/types/ngwr-skeleton.d.ts +41 -0
  510. package/types/ngwr-slider.d.ts +86 -0
  511. package/types/ngwr-sparkline.d.ts +48 -0
  512. package/types/ngwr-speed-dial.d.ts +51 -0
  513. package/types/ngwr-spinner.d.ts +41 -0
  514. package/types/ngwr-splash-cursor.d.ts +94 -0
  515. package/types/ngwr-split-text.d.ts +83 -0
  516. package/types/ngwr-splitter.d.ts +52 -0
  517. package/types/ngwr-spotlight-card.d.ts +71 -0
  518. package/types/ngwr-squircle.d.ts +132 -0
  519. package/types/ngwr-star-border.d.ts +40 -0
  520. package/types/ngwr-statistic.d.ts +88 -0
  521. package/types/ngwr-stepper.d.ts +99 -0
  522. package/types/ngwr-storage.d.ts +178 -0
  523. package/types/ngwr-switch.d.ts +39 -0
  524. package/types/ngwr-table.d.ts +237 -0
  525. package/types/ngwr-tabs.d.ts +125 -0
  526. package/types/ngwr-textarea.d.ts +60 -0
  527. package/types/ngwr-theme.d.ts +124 -0
  528. package/types/ngwr-tilt-card.d.ts +63 -0
  529. package/types/ngwr-timeline.d.ts +40 -0
  530. package/types/ngwr-toast.d.ts +230 -0
  531. package/types/ngwr-toolbar.d.ts +30 -0
  532. package/types/ngwr-tree.d.ts +150 -0
  533. package/types/ngwr-typewriter.d.ts +84 -0
  534. package/types/ngwr-typography.d.ts +56 -0
  535. package/types/ngwr-utils.d.ts +447 -0
  536. package/types/ngwr-validators.d.ts +70 -0
  537. package/types/ngwr-version.d.ts +44 -0
  538. package/types/ngwr-virtual-scroll.d.ts +64 -0
  539. package/types/ngwr-waves.d.ts +71 -0
  540. package/types/ngwr-window.d.ts +437 -0
  541. package/typewriter/styles/_index.scss +33 -0
  542. package/typewriter/typewriter.scss +1 -0
  543. package/typography/styles/_index.scss +211 -0
  544. package/virtual-scroll/styles/_index.scss +27 -0
  545. package/virtual-scroll/virtual-scroll.scss +1 -0
  546. package/waves/styles/_index.scss +24 -0
  547. package/waves/waves.scss +1 -0
  548. package/window/styles/_index.scss +430 -0
  549. package/alert/index.d.ts +0 -32
  550. package/alert/styles/theming.scss +0 -26
  551. package/alert/styles/vars.scss +0 -11
  552. package/avatar/index.d.ts +0 -30
  553. package/button/index.d.ts +0 -45
  554. package/button/styles/vars.scss +0 -13
  555. package/cdk/index.d.ts +0 -24
  556. package/cdk/rxjs/index.d.ts +0 -40
  557. package/cdk/types/index.d.ts +0 -27
  558. package/checkbox/index.d.ts +0 -31
  559. package/checkbox/styles/vars.scss +0 -16
  560. package/dialog/index.d.ts +0 -193
  561. package/dialog/styles/vars.scss +0 -7
  562. package/divider/index.d.ts +0 -16
  563. package/dropdown/index.d.ts +0 -68
  564. package/dropdown/styles/vars.scss +0 -18
  565. package/fesm2022/ngwr-cdk-rxjs.mjs +0 -53
  566. package/fesm2022/ngwr-cdk-rxjs.mjs.map +0 -1
  567. package/fesm2022/ngwr-cdk-types.mjs +0 -44
  568. package/fesm2022/ngwr-cdk-types.mjs.map +0 -1
  569. package/fesm2022/ngwr-cdk-utils.mjs +0 -30
  570. package/fesm2022/ngwr-cdk-utils.mjs.map +0 -1
  571. package/fesm2022/ngwr-cdk.mjs +0 -46
  572. package/fesm2022/ngwr-cdk.mjs.map +0 -1
  573. package/fesm2022/ngwr-tag.mjs +0 -87
  574. package/fesm2022/ngwr-tag.mjs.map +0 -1
  575. package/form/index.d.ts +0 -28
  576. package/icon/index.d.ts +0 -830
  577. package/icon/styles/vars.scss +0 -3
  578. package/input/index.d.ts +0 -43
  579. package/input/styles/vars.scss +0 -17
  580. package/pagination/index.d.ts +0 -34
  581. package/pagination/styles/vars.scss +0 -14
  582. package/pipes/index.d.ts +0 -17
  583. package/progress/index.d.ts +0 -13
  584. package/progress/styles/theming.scss +0 -8
  585. package/progress/styles/vars.scss +0 -6
  586. package/qr/index.d.ts +0 -127
  587. package/select/index.d.ts +0 -121
  588. package/select/styles/vars.scss +0 -32
  589. package/skeleton/index.d.ts +0 -13
  590. package/spinner/index.d.ts +0 -23
  591. package/styles/animations.scss +0 -92
  592. package/styles/cdk.scss +0 -5
  593. package/styles/colors.scss +0 -72
  594. package/styles/grid.scss +0 -99
  595. package/styles/maps.scss +0 -31
  596. package/styles/reset.scss +0 -112
  597. package/styles/variables.scss +0 -72
  598. package/table/index.d.ts +0 -101
  599. package/table/styles/table-filter.scss +0 -202
  600. package/table/styles/table-sort.scss +0 -47
  601. package/table/styles/table.scss +0 -232
  602. package/table/styles/vars.scss +0 -21
  603. package/tag/index.d.ts +0 -24
  604. package/tag/styles/_index.scss +0 -32
  605. package/tag/styles/theming.scss +0 -21
  606. package/tag/styles/vars.scss +0 -12
  607. package/textarea/index.d.ts +0 -47
  608. package/textarea/styles/vars.scss +0 -17
  609. /package/{index.d.ts → types/ngwr.d.ts} +0 -0
@@ -0,0 +1,53 @@
1
+ import * as i0 from '@angular/core';
2
+
3
+ /** Outcome of a clipboard read or permission probe. */
4
+ type WrClipboardPermission = 'granted' | 'denied' | 'prompt' | 'unsupported';
5
+
6
+ /**
7
+ * Programmatic clipboard read / write.
8
+ *
9
+ * - **Write** uses `navigator.clipboard.writeText` with a hidden
10
+ * `<textarea>` + `execCommand('copy')` fallback for non-secure contexts.
11
+ * - **Read** uses `navigator.clipboard.readText` (no fallback — older
12
+ * browsers expose no equivalent).
13
+ * - **Available** / **permission** check what the current browser allows
14
+ * so UI can disable the action when it would silently no-op.
15
+ *
16
+ * SSR-safe: every method short-circuits when there's no `document.defaultView`.
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * const clip = inject(WrClipboard);
21
+ *
22
+ * await clip.write('Hello'); // resolves to true on success
23
+ * const text = await clip.read(); // string | null
24
+ * clip.available(); // boolean
25
+ * await clip.permission('write'); // 'granted' | 'denied' | 'prompt' | 'unsupported'
26
+ * ```
27
+ *
28
+ * @see https://ngwr.dev/services/clipboard
29
+ */
30
+ declare class WrClipboard {
31
+ private readonly doc;
32
+ /** Is any clipboard write path available (async API or `execCommand`)? */
33
+ available(): boolean;
34
+ /**
35
+ * Write text. Resolves to `true` on success, `false` on failure (denied
36
+ * permission, no clipboard, etc).
37
+ */
38
+ write(text: string): Promise<boolean>;
39
+ /**
40
+ * Read text from the clipboard. Returns `null` when unsupported or
41
+ * when the user denied the permission prompt.
42
+ */
43
+ read(): Promise<string | null>;
44
+ /** Probe the Permissions API for `clipboard-read` / `clipboard-write`. */
45
+ permission(name: 'read' | 'write'): Promise<WrClipboardPermission>;
46
+ /** Hidden-textarea + `execCommand('copy')` write. Synchronous, no permissions. */
47
+ private legacyWrite;
48
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrClipboard, never>;
49
+ static ɵprov: i0.ɵɵInjectableDeclaration<WrClipboard>;
50
+ }
51
+
52
+ export { WrClipboard };
53
+ export type { WrClipboardPermission };
@@ -0,0 +1,139 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { InjectionToken, Signal } from '@angular/core';
3
+
4
+ /**
5
+ * Expandable panel with a clickable header. Two-way binds the `open`
6
+ * state. When wrapped in `<wr-collapse-group accordion>`, only one
7
+ * sibling can be open at a time.
8
+ *
9
+ * @example
10
+ * ```html
11
+ * <wr-collapse title="Section title">
12
+ * Section body…
13
+ * </wr-collapse>
14
+ *
15
+ * <wr-collapse-group accordion>
16
+ * <wr-collapse title="A">…</wr-collapse>
17
+ * <wr-collapse title="B">…</wr-collapse>
18
+ * </wr-collapse-group>
19
+ * ```
20
+ *
21
+ * @see https://ngwr.dev/components/collapse
22
+ */
23
+ declare class WrCollapse {
24
+ /** Header text. */
25
+ readonly title: _angular_core.InputSignal<string>;
26
+ /** Two-way bindable open/closed state. @default false */
27
+ readonly open: _angular_core.ModelSignal<boolean>;
28
+ /** Disable interaction. @default false */
29
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
30
+ /** Identity used by the parent group when tracking children. @internal */
31
+ readonly id: {
32
+ name: string;
33
+ };
34
+ /** DOM id for the body element, referenced by header's `aria-controls`. */
35
+ protected readonly bodyId: string;
36
+ private readonly group;
37
+ private readonly destroyRef;
38
+ protected readonly classes: _angular_core.Signal<string>;
39
+ constructor();
40
+ /** Open the panel. */
41
+ openPanel(): void;
42
+ /** Close the panel. */
43
+ close(): void;
44
+ /** Toggle the panel. */
45
+ toggle(): void;
46
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrCollapse, never>;
47
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCollapse, "wr-collapse", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, never, ["*"], true, never>;
48
+ }
49
+
50
+ /**
51
+ * @license
52
+ *
53
+ * Use of this source code is governed by an MIT-style license that can be
54
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
55
+ */
56
+
57
+ /**
58
+ * Contract a collapse uses to talk to its parent `<wr-collapse-group>`.
59
+ *
60
+ * @internal
61
+ */
62
+ interface WrCollapseGroupContext {
63
+ /** When true, only one child collapse may be open at a time. */
64
+ readonly accordion: Signal<boolean>;
65
+ /** Called by a child when it opens — closes siblings in accordion mode. */
66
+ notifyOpened(opener: object): void;
67
+ /** Register a child so the group can call `closeAll()` etc. */
68
+ register(member: {
69
+ close(): void;
70
+ readonly id: object;
71
+ }): void;
72
+ /** Unregister on destroy. */
73
+ unregister(memberId: object): void;
74
+ }
75
+ /**
76
+ * Token a `<wr-collapse>` injects to register itself with — and notify of
77
+ * open events — its parent `<wr-collapse-group>`. Drives the accordion
78
+ * behaviour when the group has `accordion` enabled.
79
+ *
80
+ * @internal
81
+ */
82
+ declare const WR_COLLAPSE_GROUP: InjectionToken<WrCollapseGroupContext>;
83
+
84
+ interface Member$1 {
85
+ close(): void;
86
+ readonly id: object;
87
+ }
88
+ /**
89
+ * Visual + behavioral grouping of `<wr-collapse>` children. When
90
+ * `accordion` is true, opening one child closes the others.
91
+ *
92
+ * @see https://ngwr.dev/components/collapse
93
+ */
94
+ declare class WrCollapseGroup implements WrCollapseGroupContext {
95
+ /** When true, only one child may be open at a time. @default false */
96
+ readonly accordion: _angular_core.InputSignalWithTransform<boolean, any>;
97
+ private readonly members;
98
+ register(member: Member$1): void;
99
+ unregister(memberId: object): void;
100
+ notifyOpened(opener: object): void;
101
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrCollapseGroup, never>;
102
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCollapseGroup, "wr-collapse-group", never, { "accordion": { "alias": "accordion"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
103
+ }
104
+
105
+ interface Member {
106
+ close(): void;
107
+ readonly id: object;
108
+ }
109
+ /**
110
+ * Accordion — a `<wr-collapse>` container that enforces single-open
111
+ * behavior: opening a child closes its siblings.
112
+ *
113
+ * Use `<wr-collapse-group>` when you only need visual grouping without
114
+ * the mutually-exclusive open semantics.
115
+ *
116
+ * @example
117
+ * ```html
118
+ * <wr-accordion>
119
+ * <wr-collapse title="Profile">…</wr-collapse>
120
+ * <wr-collapse title="Security">…</wr-collapse>
121
+ * <wr-collapse title="Notifications">…</wr-collapse>
122
+ * </wr-accordion>
123
+ * ```
124
+ *
125
+ * @see https://ngwr.dev/components/collapse
126
+ */
127
+ declare class WrAccordion implements WrCollapseGroupContext {
128
+ /** Always behaves as an accordion. Provided for context-interface symmetry. */
129
+ readonly accordion: _angular_core.Signal<boolean>;
130
+ private readonly members;
131
+ register(member: Member): void;
132
+ unregister(memberId: object): void;
133
+ notifyOpened(opener: object): void;
134
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrAccordion, never>;
135
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrAccordion, "wr-accordion", never, {}, {}, never, ["*"], true, never>;
136
+ }
137
+
138
+ export { WR_COLLAPSE_GROUP, WrAccordion, WrCollapse, WrCollapseGroup };
139
+ export type { WrCollapseGroupContext };
@@ -0,0 +1,302 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+ import { WrSegmentedOption } from 'ngwr/segmented';
4
+
5
+ /**
6
+ * @license
7
+ *
8
+ * Use of this source code is governed by an MIT-style license that can be
9
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
10
+ */
11
+ /**
12
+ * sRGB colour with straight alpha.
13
+ *
14
+ * - `r`, `g`, `b` ∈ `[0, 255]`
15
+ * - `a` ∈ `[0, 1]`
16
+ */
17
+ interface WrRgb {
18
+ readonly r: number;
19
+ readonly g: number;
20
+ readonly b: number;
21
+ readonly a: number;
22
+ }
23
+
24
+ /**
25
+ * @license
26
+ *
27
+ * Use of this source code is governed by an MIT-style license that can be
28
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
29
+ */
30
+ /**
31
+ * Hue / Saturation / Value with alpha.
32
+ *
33
+ * - `h` ∈ `[0, 360)` (degrees)
34
+ * - `s`, `v`, `a` ∈ `[0, 1]`
35
+ */
36
+ interface WrHsv {
37
+ readonly h: number;
38
+ readonly s: number;
39
+ readonly v: number;
40
+ readonly a: number;
41
+ }
42
+
43
+ /**
44
+ * @license
45
+ *
46
+ * Use of this source code is governed by an MIT-style license that can be
47
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
48
+ */
49
+ /**
50
+ * Hue / Saturation / Lightness with alpha.
51
+ *
52
+ * - `h` ∈ `[0, 360)` (degrees)
53
+ * - `s`, `l`, `a` ∈ `[0, 1]`
54
+ */
55
+ interface WrHsl {
56
+ readonly h: number;
57
+ readonly s: number;
58
+ readonly l: number;
59
+ readonly a: number;
60
+ }
61
+
62
+ /**
63
+ * @license
64
+ *
65
+ * Use of this source code is governed by an MIT-style license that can be
66
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
67
+ */
68
+
69
+ /**
70
+ * Convert sRGB to HSV. Preserves alpha.
71
+ */
72
+ declare function rgbToHsv(rgb: WrRgb): WrHsv;
73
+
74
+ /**
75
+ * @license
76
+ *
77
+ * Use of this source code is governed by an MIT-style license that can be
78
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
79
+ */
80
+
81
+ /**
82
+ * Convert HSV to sRGB. Preserves alpha. Returns integer channels in `[0, 255]`.
83
+ */
84
+ declare function hsvToRgb(hsv: WrHsv): WrRgb;
85
+
86
+ /**
87
+ * @license
88
+ *
89
+ * Use of this source code is governed by an MIT-style license that can be
90
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
91
+ */
92
+
93
+ /**
94
+ * Convert sRGB to HSL. Preserves alpha.
95
+ */
96
+ declare function rgbToHsl(rgb: WrRgb): WrHsl;
97
+
98
+ /**
99
+ * @license
100
+ *
101
+ * Use of this source code is governed by an MIT-style license that can be
102
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
103
+ */
104
+
105
+ /**
106
+ * Convert HSL to sRGB. Preserves alpha. Returns integer channels in `[0, 255]`.
107
+ */
108
+ declare function hslToRgb(hsl: WrHsl): WrRgb;
109
+
110
+ /**
111
+ * @license
112
+ *
113
+ * Use of this source code is governed by an MIT-style license that can be
114
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
115
+ */
116
+
117
+ /**
118
+ * Parse a CSS hex colour into {@link WrRgb}. Accepts 3, 4, 6, or 8 digit
119
+ * forms with or without a leading `#`. Returns `null` for anything that
120
+ * isn't a valid hex string.
121
+ *
122
+ * @example
123
+ * ```ts
124
+ * parseHex('#f00'); // { r: 255, g: 0, b: 0, a: 1 }
125
+ * parseHex('3969e2'); // { r: 57, g: 105, b: 226, a: 1 }
126
+ * parseHex('#3969e2ff'); // { r: 57, g: 105, b: 226, a: 1 }
127
+ * parseHex('nope'); // null
128
+ * ```
129
+ */
130
+ declare function parseHex(input: string): WrRgb | null;
131
+
132
+ /**
133
+ * @license
134
+ *
135
+ * Use of this source code is governed by an MIT-style license that can be
136
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
137
+ */
138
+
139
+ /**
140
+ * Format a {@link WrRgb} as a CSS hex string with a leading `#`. When
141
+ * `withAlpha` is `true` the result is 8 digits (`#rrggbbaa`); otherwise
142
+ * 6 digits.
143
+ *
144
+ * @example
145
+ * ```ts
146
+ * toHex({ r: 57, g: 105, b: 226, a: 1 }); // '#3969e2'
147
+ * toHex({ r: 57, g: 105, b: 226, a: 0.5 }, true); // '#3969e280'
148
+ * ```
149
+ */
150
+ declare function toHex(rgb: WrRgb, withAlpha?: boolean): string;
151
+
152
+ /**
153
+ * @license
154
+ *
155
+ * Use of this source code is governed by an MIT-style license that can be
156
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
157
+ */
158
+ /**
159
+ * Output format produced by `<wr-color-picker>` when emitting through its
160
+ * `ControlValueAccessor`:
161
+ *
162
+ * - `hex` — `#3969e2` or `#3969e2ff` when alpha is enabled
163
+ * - `rgba` — `rgba(57, 105, 226, 0.5)`
164
+ * - `hsla` — `hsla(220, 73%, 56%, 0.5)`
165
+ */
166
+ type WrColorFormat = 'hex' | 'rgba' | 'hsla';
167
+
168
+ type Tab = 'hex' | 'rgb' | 'hsl';
169
+ type Edges = 'sv' | 'hue' | 'alpha';
170
+ /**
171
+ * Inline colour picker — HSV canvas, hue slider, optional alpha slider, HEX
172
+ * input. Implements `ControlValueAccessor`, so it binds with `[(ngModel)]`,
173
+ * `[formControl]`, or `formControlName`. Output is always a string in the
174
+ * format chosen via `[format]`.
175
+ *
176
+ * @example
177
+ * ```html
178
+ * <wr-color-picker [(ngModel)]="brandColor" />
179
+ * <wr-color-picker [(ngModel)]="brandColor" [alpha]="false" />
180
+ * ```
181
+ *
182
+ * @see https://ngwr.dev/components/color-picker
183
+ */
184
+ declare class WrColorPicker implements ControlValueAccessor {
185
+ /** Render the alpha slider and emit 8-digit hex / `rgba()`. @default true */
186
+ readonly alpha: _angular_core.InputSignalWithTransform<boolean, any>;
187
+ /** Disable interaction. @default false */
188
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
189
+ /** Output format produced through the CVA. @default 'hex' */
190
+ readonly format: _angular_core.InputSignal<WrColorFormat>;
191
+ /** Preset hex colours rendered as a clickable row beneath the inputs. Empty = no row. @default [] */
192
+ readonly swatches: _angular_core.InputSignal<readonly string[]>;
193
+ protected readonly h: _angular_core.WritableSignal<number>;
194
+ protected readonly s: _angular_core.WritableSignal<number>;
195
+ protected readonly v: _angular_core.WritableSignal<number>;
196
+ protected readonly a: _angular_core.WritableSignal<number>;
197
+ private readonly disabledFromCva;
198
+ protected readonly effectiveDisabled: _angular_core.Signal<boolean>;
199
+ /** RGB view of the current colour, computed lazily. */
200
+ protected readonly rgb: _angular_core.Signal<WrRgb>;
201
+ /** Canonical hex (used by the input field and by drag emits). */
202
+ protected readonly hex: _angular_core.Signal<string>;
203
+ /** SV canvas background colour (full-saturation hue). */
204
+ protected readonly hueCss: _angular_core.Signal<string>;
205
+ /** RGB string used for the alpha-slider gradient. */
206
+ protected readonly rgbCss: _angular_core.Signal<string>;
207
+ /** Thumb positions in % for each surface. */
208
+ protected readonly svThumbX: _angular_core.Signal<number>;
209
+ protected readonly svThumbY: _angular_core.Signal<number>;
210
+ protected readonly hueThumbX: _angular_core.Signal<number>;
211
+ protected readonly alphaThumbX: _angular_core.Signal<number>;
212
+ /** Mirror of the canonical hex, edited by the user via the input field. */
213
+ protected readonly hexInput: _angular_core.WritableSignal<string>;
214
+ /** Active tab in the input switcher. */
215
+ protected readonly activeTab: _angular_core.WritableSignal<Tab>;
216
+ /** HSL view of the current colour, computed lazily. */
217
+ protected readonly hslView: _angular_core.Signal<WrHsl>;
218
+ /** Alpha as integer percent for display in numeric tabs. */
219
+ protected readonly alphaPercent: _angular_core.Signal<number>;
220
+ protected readonly tabOptions: readonly WrSegmentedOption<Tab>[];
221
+ protected readonly classes: _angular_core.Signal<string>;
222
+ private onChange;
223
+ private onTouched;
224
+ writeValue(value: string | null): void;
225
+ registerOnChange(fn: (value: string) => void): void;
226
+ registerOnTouched(fn: () => void): void;
227
+ setDisabledState(isDisabled: boolean): void;
228
+ protected onPointerDown(event: PointerEvent, surface: Edges): void;
229
+ private updateFromEvent;
230
+ protected onHexInput(event: Event): void;
231
+ protected onHexBlur(): void;
232
+ private emit;
233
+ private emitWithoutHexSync;
234
+ protected onTabChange(tab: Tab | null): void;
235
+ protected onRgbChannel(channel: 'r' | 'g' | 'b', event: Event): void;
236
+ protected onHslChannel(channel: 'h' | 's' | 'l', event: Event): void;
237
+ protected onAlphaPercent(event: Event): void;
238
+ protected onSwatchClick(hex: string): void;
239
+ /** Push an RGB triple into the HSV source of truth (preserving the current alpha if the swap removes it). */
240
+ private applyRgb;
241
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrColorPicker, never>;
242
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrColorPicker, "wr-color-picker", never, { "alpha": { "alias": "alpha"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "swatches": { "alias": "swatches"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
243
+ }
244
+
245
+ /**
246
+ * Opens a `<wr-color-picker>` in an overlay anchored to the host element.
247
+ *
248
+ * Apply to any clickable element (typically a button). Two-way binds the
249
+ * current colour through `[(value)]`; forwards `alpha` / `format` /
250
+ * `swatches` / `disabled` to the inner picker.
251
+ *
252
+ * Same overlay isolation as the rest of the lib — uses {@link WR_OVERLAY},
253
+ * not CDK's root container.
254
+ *
255
+ * @example
256
+ * ```html
257
+ * <button wrColorPickerTrigger
258
+ * [(value)]="brandColor"
259
+ * [swatches]="palette">
260
+ * <span class="swatch" [style.background]="brandColor"></span>
261
+ * {{ brandColor }}
262
+ * </button>
263
+ * ```
264
+ *
265
+ * @see https://ngwr.dev/components/color-picker
266
+ */
267
+ declare class WrColorPickerTrigger {
268
+ /** Two-way bindable colour value (hex string). */
269
+ readonly value: _angular_core.ModelSignal<string>;
270
+ /** Forwarded to the inner picker. @default true */
271
+ readonly alpha: _angular_core.InputSignalWithTransform<boolean, any>;
272
+ /** Forwarded to the inner picker. @default 'hex' */
273
+ readonly format: _angular_core.InputSignal<WrColorFormat>;
274
+ /** Forwarded to the inner picker. @default [] */
275
+ readonly swatches: _angular_core.InputSignal<readonly string[]>;
276
+ /** Disable the trigger entirely. @default false */
277
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
278
+ /** Fires after the picker opens. */
279
+ readonly opened: _angular_core.OutputEmitterRef<void>;
280
+ /** Fires after the picker closes. */
281
+ readonly closed: _angular_core.OutputEmitterRef<void>;
282
+ private readonly host;
283
+ private readonly overlay;
284
+ private readonly vcr;
285
+ private readonly scrollStrategies;
286
+ private readonly destroyRef;
287
+ private readonly isOpen;
288
+ private overlayRef;
289
+ constructor();
290
+ /** Toggle the picker. Open if closed, close if open. */
291
+ toggle(): void;
292
+ /** Open the picker. No-op if already open. */
293
+ open(): void;
294
+ /** Close the picker. No-op if already closed. */
295
+ close(): void;
296
+ private dispose;
297
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrColorPickerTrigger, never>;
298
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<WrColorPickerTrigger, "[wrColorPickerTrigger]", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "alpha": { "alias": "alpha"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "swatches": { "alias": "swatches"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "opened": "opened"; "closed": "closed"; }, never, never, true, never>;
299
+ }
300
+
301
+ export { WrColorPicker, WrColorPickerTrigger, hslToRgb, hsvToRgb, parseHex, rgbToHsl, rgbToHsv, toHex };
302
+ export type { WrColorFormat, WrHsl, WrHsv, WrRgb };
@@ -0,0 +1,113 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ElementRef } from '@angular/core';
3
+ import { WrIconName } from 'ngwr/icon';
4
+
5
+ /**
6
+ * @license
7
+ *
8
+ * Use of this source code is governed by an MIT-style license that can be
9
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
10
+ */
11
+
12
+ /** A single action / page entry in {@link WrCommandPalette}. */
13
+ interface WrCommandItem {
14
+ /** Stable identifier — used for `track $index` and option focus. */
15
+ readonly id: string;
16
+ /** Primary visible label. */
17
+ readonly label: string;
18
+ /** Secondary text shown under the label. */
19
+ readonly description?: string;
20
+ /** Optional group title (items with the same group are bucketed). */
21
+ readonly group?: string;
22
+ /** Optional icon shown on the left. */
23
+ readonly icon?: WrIconName;
24
+ /** Extra search terms — added to the haystack alongside label + description. */
25
+ readonly keywords?: readonly string[];
26
+ /** Visual hint shown on the right (e.g. `'⌘K'`, `'G H'`). */
27
+ readonly shortcut?: string;
28
+ /** Imperative callback fired when this item is picked. */
29
+ readonly action?: () => void;
30
+ }
31
+ /** Flat list of items grouped under a single header — convenience type. */
32
+ interface WrCommandGroup {
33
+ readonly title: string;
34
+ readonly items: readonly WrCommandItem[];
35
+ }
36
+
37
+ interface Bucket {
38
+ readonly title: string | null;
39
+ readonly items: readonly WrCommandItem[];
40
+ }
41
+ /**
42
+ * `⌘K`-style command palette — a centred modal with a search input and
43
+ * filtered list of actions. Items can be grouped, have icons, descriptions,
44
+ * and visual shortcut hints.
45
+ *
46
+ * Drop one at the root of the app, pass it the list of commands, and bind
47
+ * a global hotkey (default `'mod+k'`). Use `[(open)]` for controlled
48
+ * visibility, or let it manage itself.
49
+ *
50
+ * @example
51
+ * ```html
52
+ * <wr-command-palette [items]="commands" trigger="mod+k" (picked)="onPicked($event)" />
53
+ * ```
54
+ *
55
+ * @see https://ngwr.dev/components/command-palette
56
+ */
57
+ declare class WrCommandPalette {
58
+ /** Items shown in the palette. */
59
+ readonly items: _angular_core.InputSignal<readonly WrCommandItem[]>;
60
+ /** Controlled open state (two-way bindable). @default false */
61
+ readonly open: _angular_core.ModelSignal<boolean>;
62
+ /** Global hotkey that opens the palette. `null` disables auto-binding. @default 'mod+k' */
63
+ readonly trigger: _angular_core.InputSignal<string | null>;
64
+ /** Search input placeholder. Falls back to `commandPalette.placeholder`. */
65
+ readonly placeholder: _angular_core.InputSignal<string | null>;
66
+ /** Text shown when no items match. Falls back to `commandPalette.noResults`. */
67
+ readonly emptyText: _angular_core.InputSignal<string | null>;
68
+ protected readonly resolvedPlaceholder: _angular_core.Signal<string>;
69
+ protected readonly resolvedEmpty: _angular_core.Signal<string>;
70
+ /** Auto-close on `(picked)`. Set false to keep open. @default true */
71
+ readonly closeOnPick: _angular_core.InputSignalWithTransform<boolean, any>;
72
+ /** Fires when the user commits an item (Enter / click). */
73
+ readonly picked: _angular_core.OutputEmitterRef<WrCommandItem>;
74
+ protected readonly query: _angular_core.WritableSignal<string>;
75
+ protected readonly activeIndex: _angular_core.WritableSignal<number>;
76
+ protected readonly inputEl: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
77
+ protected readonly panelEl: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
78
+ /** Listbox id (referenced by the input's `aria-controls`). */
79
+ protected readonly listboxId: string;
80
+ /** @internal Build a stable option id for a given flat index. */
81
+ protected optionId(i: number): string;
82
+ /** Id of the active option for `aria-activedescendant`. */
83
+ protected readonly activeOptionId: _angular_core.Signal<string | null>;
84
+ private readonly hotkeys;
85
+ private readonly destroyRef;
86
+ private readonly focusTrapFactory;
87
+ private readonly isBrowser;
88
+ private bindingHandle;
89
+ private focusTrap;
90
+ private previouslyFocused;
91
+ /** Flat filtered list — what keyboard navigation walks. */
92
+ protected readonly filtered: _angular_core.Signal<readonly WrCommandItem[]>;
93
+ /** Grouped view — what the template renders. */
94
+ protected readonly buckets: _angular_core.Signal<readonly Bucket[]>;
95
+ constructor();
96
+ protected onQueryInput(event: Event): void;
97
+ protected onKeydown(event: KeyboardEvent): void;
98
+ protected onBackdropClick(): void;
99
+ protected onItemClick(item: WrCommandItem, event: MouseEvent): void;
100
+ protected onItemHover(item: WrCommandItem): void;
101
+ /** Flat index of an item within the filtered list — for highlight checks. */
102
+ protected indexOf(item: WrCommandItem): number;
103
+ /** Open the palette. */
104
+ show(): void;
105
+ /** Close the palette. */
106
+ close(): void;
107
+ private commit;
108
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrCommandPalette, never>;
109
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCommandPalette, "wr-command-palette", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "trigger": { "alias": "trigger"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "closeOnPick": { "alias": "closeOnPick"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "picked": "picked"; }, never, never, true, never>;
110
+ }
111
+
112
+ export { WrCommandPalette };
113
+ export type { WrCommandGroup, WrCommandItem };
@@ -0,0 +1,55 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ /**
4
+ * Before/after comparison slider. Works with any content — project two
5
+ * pieces of markup with `wrCompareBefore` and `wrCompareAfter` attributes;
6
+ * the component stacks them in the same cell and clips the "after" side
7
+ * with a draggable divider.
8
+ *
9
+ * @example
10
+ * ```html
11
+ * <wr-compare [(position)]="pos">
12
+ * <img wrCompareBefore src="before.jpg" alt="" />
13
+ * <img wrCompareAfter src="after.jpg" alt="" />
14
+ * </wr-compare>
15
+ *
16
+ * <wr-compare orientation="vertical">
17
+ * <pre wrCompareBefore>{{ oldCode }}</pre>
18
+ * <pre wrCompareAfter>{{ newCode }}</pre>
19
+ * </wr-compare>
20
+ * ```
21
+ *
22
+ * @see https://ngwr.dev/components/compare
23
+ */
24
+ declare class WrCompare {
25
+ /** Divider position as a percentage (0–100). Two-way bindable. @default 50 */
26
+ readonly position: _angular_core.ModelSignal<number>;
27
+ /**
28
+ * Divider direction:
29
+ * - `'horizontal'` — divider line is vertical, drags left/right.
30
+ * - `'vertical'` — divider line is horizontal, drags up/down.
31
+ * @default 'horizontal'
32
+ */
33
+ readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
34
+ /** Show the round drag handle on the divider. @default true */
35
+ readonly showHandle: _angular_core.InputSignalWithTransform<boolean, any>;
36
+ /** Disable interaction (divider stays put). @default false */
37
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, any>;
38
+ /** Initial position transform — accepts any number / numeric string. */
39
+ readonly minPosition: _angular_core.InputSignalWithTransform<number, unknown>;
40
+ readonly maxPosition: _angular_core.InputSignalWithTransform<number, unknown>;
41
+ private readonly host;
42
+ private dragging;
43
+ protected readonly classes: _angular_core.Signal<string>;
44
+ /** Clip path applied to the "after" layer so the divider reveals it. */
45
+ protected readonly clipPath: _angular_core.Signal<string>;
46
+ protected onPointerDown(event: PointerEvent): void;
47
+ protected onPointerMove(event: PointerEvent): void;
48
+ protected onPointerUp(event: PointerEvent): void;
49
+ protected onKeydown(event: KeyboardEvent): void;
50
+ private updateFromPointer;
51
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrCompare, never>;
52
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrCompare, "wr-compare", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "showHandle": { "alias": "showHandle"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "minPosition": { "alias": "minPosition"; "required": false; "isSignal": true; }; "maxPosition": { "alias": "maxPosition"; "required": false; "isSignal": true; }; }, { "position": "positionChange"; }, never, ["[wrCompareBefore]", "[wrCompareAfter]"], true, never>;
53
+ }
54
+
55
+ export { WrCompare };