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,437 @@
1
+ import * as i0 from '@angular/core';
2
+ import { ComponentRef, WritableSignal, Signal, InjectionToken } from '@angular/core';
3
+ import { OverlayRef } from '@angular/cdk/overlay';
4
+ import { Subject } from 'rxjs';
5
+ import { ComponentType } from '@angular/cdk/portal';
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
+ * Chrome bar density.
15
+ *
16
+ * - `normal` (default) — 2.25rem bar, regular title font.
17
+ * - `compact` — 1.625rem bar, smaller title + tighter action dots; useful
18
+ * for utility / docked panels where vertical space is precious.
19
+ */
20
+ type WrWindowChromeSize = 'compact' | 'normal';
21
+
22
+ /**
23
+ * @license
24
+ *
25
+ * Use of this source code is governed by an MIT-style license that can be
26
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
27
+ */
28
+ /**
29
+ * Chrome style preset. Picks the side, glyphs, and button look of the
30
+ * minimize / maximize / close cluster.
31
+ *
32
+ * - `auto` (default) — read the user's OS from the browser and pick
33
+ * `macos` / `windows` / `linux`. Unknown platforms fall back to
34
+ * `windows`. SSR-safe (resolves to `windows` on the server).
35
+ * - `macos` — traffic-light dots on the LEFT (red close, yellow minimize,
36
+ * green maximize). Glyphs (×, −, +) appear when the cluster is hovered.
37
+ * - `windows` — monochrome glyph buttons on the RIGHT.
38
+ * - `linux` — close-only on the right; minimize / maximize hidden unless
39
+ * explicitly requested.
40
+ */
41
+ type WrWindowOs = 'auto' | 'macos' | 'windows' | 'linux';
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
+ * Size preset — seeds initial width / height when `[initialWidth]` /
51
+ * `[initialHeight]` are not provided.
52
+ *
53
+ * - `sm` — 320 × 200
54
+ * - `md` — 480 × 320 (default)
55
+ * - `lg` — 720 × 480
56
+ */
57
+ type WrWindowSize = 'sm' | 'md' | 'lg';
58
+
59
+ /**
60
+ * @license
61
+ *
62
+ * Use of this source code is governed by an MIT-style license that can be
63
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
64
+ */
65
+ /**
66
+ * Edge / corner snap behaviour. Activated by dragging the title bar
67
+ * close to a viewport edge.
68
+ *
69
+ * - `none` — no snapping.
70
+ * - `edges` — left / right / top edges snap to halves; top snaps to maximise.
71
+ * - `all` — adds the four corners → quarter-screen snaps.
72
+ */
73
+ type WrWindowSnap = 'none' | 'edges' | 'all';
74
+
75
+ /**
76
+ * @license
77
+ *
78
+ * Use of this source code is governed by an MIT-style license that can be
79
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
80
+ */
81
+
82
+ /** What slice of geometry the storage layer should keep in sync. */
83
+ type WrWindowPersistMode = 'position' | 'size' | 'all';
84
+ /**
85
+ * Persistence configuration — drop into `WrWindowConfig.storage`.
86
+ *
87
+ * Reads and writes happen through the consumer's `WrStorage` instance.
88
+ * Override the underlying engine at any injector level with
89
+ * `provideWrStorage({ engine: window.sessionStorage })` when you want
90
+ * session-scoped persistence instead of the default `localStorage`.
91
+ */
92
+ interface WrWindowStorageConfig {
93
+ /**
94
+ * Storage key for this window. Combined with `prefix` (if any) and a
95
+ * `wr:window:` namespace, e.g. `wr:window:my-app:editor`.
96
+ */
97
+ readonly key: string;
98
+ /** Namespace prefix (typically your app id). @default '' */
99
+ readonly prefix?: string;
100
+ /** What to persist. @default 'all' */
101
+ readonly persist?: WrWindowPersistMode;
102
+ }
103
+ /**
104
+ * Options accepted by `WrWindowManager.open(component, config)`.
105
+ *
106
+ * Every property has a sensible default — pass `{}` to open a window
107
+ * with the standard chrome at the cascaded position.
108
+ */
109
+ interface WrWindowConfig<D = unknown> {
110
+ /** Stable identifier — used by the taskbar, workspace save, and DI. */
111
+ readonly id?: string;
112
+ readonly title?: string;
113
+ readonly os?: WrWindowOs;
114
+ /** Initial size preset. Ignored when `width` / `height` are passed. */
115
+ readonly size?: WrWindowSize;
116
+ /** Title-bar density. @default 'normal' */
117
+ readonly chromeSize?: WrWindowChromeSize;
118
+ readonly x?: number;
119
+ readonly y?: number;
120
+ readonly width?: number;
121
+ readonly height?: number;
122
+ readonly minWidth?: number;
123
+ readonly minHeight?: number;
124
+ readonly maxWidth?: number;
125
+ readonly maxHeight?: number;
126
+ readonly movable?: boolean;
127
+ readonly resizable?: boolean;
128
+ readonly keepInViewport?: boolean;
129
+ readonly closeOnEscape?: boolean;
130
+ /** Snap-on-drag mode. @default 'none' */
131
+ readonly snap?: WrWindowSnap;
132
+ readonly showMinimize?: boolean;
133
+ readonly showMaximize?: boolean;
134
+ readonly showClose?: boolean;
135
+ /** Show in `<wr-window-taskbar>` when minimized. @default true */
136
+ readonly taskbar?: boolean;
137
+ readonly animations?: boolean;
138
+ /** CSS selector inside the projected content that restricts the move-grab area. */
139
+ readonly dragHandle?: string;
140
+ readonly storage?: WrWindowStorageConfig;
141
+ readonly data?: D;
142
+ }
143
+
144
+ /**
145
+ * @license
146
+ *
147
+ * Use of this source code is governed by an MIT-style license that can be
148
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
149
+ */
150
+ /**
151
+ * Visual state of a `<wr-window>`:
152
+ * - `normal` — free-floating, drag / resize allowed
153
+ * - `minimized` — collapsed to a small bar (only the header is shown)
154
+ * - `maximized` — pinned to the full viewport, drag / resize disabled
155
+ */
156
+ type WrWindowState = 'normal' | 'minimized' | 'maximized';
157
+
158
+ /** Hook signature for `WrWindowRef.beforeClose()`. Return falsy to veto. */
159
+ type WrWindowBeforeCloseHook<R> = (result: R | undefined) => boolean | Promise<boolean>;
160
+
161
+ /**
162
+ * @license
163
+ *
164
+ * Use of this source code is governed by an MIT-style license that can be
165
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
166
+ */
167
+
168
+ /**
169
+ * Handle returned by `WrWindowManager.open()`.
170
+ *
171
+ * Wraps the underlying overlay, exposes signals for the live geometry,
172
+ * and gives the consumer programmatic control over the window
173
+ * (focus, move, resize, minimize, maximize, close).
174
+ *
175
+ * @example
176
+ * ```ts
177
+ * const ref = manager.open(EditorComponent, {
178
+ * title: 'Untitled.md',
179
+ * storage: { key: 'editor', prefix: 'app' },
180
+ * });
181
+ *
182
+ * ref.beforeClose(async () => {
183
+ * if (!isDirty) return true;
184
+ * return await confirmDiscard();
185
+ * });
186
+ *
187
+ * const saved = await ref.afterClosed(); // resolves with whatever the
188
+ * // component passed to ref.close(value)
189
+ * ```
190
+ */
191
+ declare class WrWindowRef<C, R = unknown> {
192
+ readonly _overlayRef: OverlayRef;
193
+ /** Stable id — used by the taskbar, workspace save, and DI. */
194
+ readonly id: string;
195
+ /** @internal — emits the close result once and completes. */
196
+ readonly _closed: Subject<R | undefined>;
197
+ /** @internal — emits whenever the visual state changes. */
198
+ readonly _stateChanged: Subject<WrWindowState>;
199
+ /** @internal — set by the container right after attach. */
200
+ componentRef: ComponentRef<C> | null;
201
+ /** @internal — whether this window opts into the taskbar list. */
202
+ taskbarVisible: boolean;
203
+ /**
204
+ * @internal — non-`normal` state to apply right after the container
205
+ * wires its bridges (so `restoreLayout` can land a window straight
206
+ * into `minimized` / `maximized` even though it just opened).
207
+ */
208
+ pendingStateOnMount: WrWindowState | null;
209
+ /** @internal */ readonly _state: WritableSignal<WrWindowState>;
210
+ /** @internal */ readonly _x: WritableSignal<number>;
211
+ /** @internal */ readonly _y: WritableSignal<number>;
212
+ /** @internal */ readonly _width: WritableSignal<number>;
213
+ /** @internal */ readonly _height: WritableSignal<number>;
214
+ /** @internal */ readonly _z: WritableSignal<number>;
215
+ /** @internal */ readonly _title: WritableSignal<string>;
216
+ /** Window state. */
217
+ readonly state: Signal<WrWindowState>;
218
+ /** Live X. */
219
+ readonly x: Signal<number>;
220
+ /** Live Y. */
221
+ readonly y: Signal<number>;
222
+ /** Live width. */
223
+ readonly width: Signal<number>;
224
+ /** Live height. */
225
+ readonly height: Signal<number>;
226
+ /** Stack z-index. */
227
+ readonly z: Signal<number>;
228
+ /** Live title. */
229
+ readonly title: Signal<string>;
230
+ private _beforeCloseHook;
231
+ /** @internal */ _doClose: ((result: R | undefined) => void) | null;
232
+ /** @internal */ _doMinimize: (() => void) | null;
233
+ /** @internal */ _doMaximize: (() => void) | null;
234
+ /** @internal */ _doRestore: (() => void) | null;
235
+ /** @internal */ _doFocus: (() => void) | null;
236
+ /** @internal */ _doMoveTo: ((x: number, y: number) => void) | null;
237
+ /** @internal */ _doResizeTo: ((w: number, h: number) => void) | null;
238
+ /** @internal */ _doCenter: (() => void) | null;
239
+ /** @internal */ _doSetTitle: ((title: string) => void) | null;
240
+ constructor(id: string, _overlayRef: OverlayRef);
241
+ /** Resolved instance of the projected component. */
242
+ get componentInstance(): C;
243
+ /**
244
+ * Close the window, optionally returning a result. If a `beforeClose`
245
+ * hook is registered it is consulted first — a falsy resolution
246
+ * cancels the close.
247
+ */
248
+ close(result?: R): Promise<void>;
249
+ /** Toggle the minimized state. */
250
+ minimize(): void;
251
+ /** Toggle the maximized state. */
252
+ maximize(): void;
253
+ /** Force-restore from minimized / maximized to `normal`. */
254
+ restore(): void;
255
+ /** Bring this window to the top of the stack. */
256
+ focus(): void;
257
+ moveTo(x: number, y: number): void;
258
+ resizeTo(width: number, height: number): void;
259
+ /** Re-position the window so it sits centered in the current viewport. */
260
+ center(): void;
261
+ setTitle(title: string): void;
262
+ /**
263
+ * Register a guard that runs before `close()`. Return `false` (or a
264
+ * Promise resolving to false) to veto. Only one hook per ref —
265
+ * subsequent calls replace the previous.
266
+ */
267
+ beforeClose(hook: WrWindowBeforeCloseHook<R>): void;
268
+ /** Resolves with the result passed to `close()` (or `undefined`). */
269
+ afterClosed(): Promise<R | undefined>;
270
+ /** Escape hatch — the underlying CDK overlay ref. */
271
+ get overlayRef(): OverlayRef;
272
+ }
273
+
274
+ /**
275
+ * @license
276
+ *
277
+ * Use of this source code is governed by an MIT-style license that can be
278
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
279
+ */
280
+
281
+ /** Resolves to the active `WrWindowRef` inside a programmatically-opened window's content tree. */
282
+ declare const WR_WINDOW_REF: InjectionToken<WrWindowRef<unknown, unknown>>;
283
+ /** Resolves to the `data` passed in `WrWindowConfig.data`. */
284
+ declare const WR_WINDOW_DATA: InjectionToken<unknown>;
285
+
286
+ interface RestoreSnapshot {
287
+ readonly id: string;
288
+ readonly state: WrWindowState;
289
+ readonly x: number;
290
+ readonly y: number;
291
+ readonly width: number;
292
+ readonly height: number;
293
+ readonly title: string;
294
+ }
295
+ /**
296
+ * Owns the open `<wr-window>` stack, hands out z-indexes, cascades the
297
+ * default spawn position, and opens programmatic windows that wrap a
298
+ * consumer component.
299
+ *
300
+ * Inject the singleton and call `open(component, config)` for a
301
+ * dialog-style flow:
302
+ *
303
+ * ```ts
304
+ * const manager = inject(WrWindowManager);
305
+ *
306
+ * const ref = manager.open(EditorComponent, {
307
+ * title: 'Untitled.md',
308
+ * size: 'lg',
309
+ * storage: { key: 'editor', prefix: 'my-app' },
310
+ * });
311
+ *
312
+ * const saved = await ref.afterClosed();
313
+ * ```
314
+ *
315
+ * Declarative `<wr-window [(open)]="...">` instances also register with
316
+ * the manager on focus, so both styles share the same stack ordering.
317
+ */
318
+ declare class WrWindowManager {
319
+ private readonly overlay;
320
+ private readonly parentInjector;
321
+ private readonly storage;
322
+ private readonly isBrowser;
323
+ private readonly baseZ;
324
+ private topZ;
325
+ private openCount;
326
+ /** All open windows opened via `open()` — declarative `<wr-window>` is not tracked here. */
327
+ private readonly _windows;
328
+ /**
329
+ * Filled by `restoreLayout` right before it invokes the consumer's
330
+ * opener callback. The next `open()` call with a matching `config.id`
331
+ * pops the entry and uses it as the initial geometry (so the seed
332
+ * lands at the saved coords instead of the cascade default) and
333
+ * applies any non-`normal` state after the bridges are wired.
334
+ */
335
+ private readonly pendingRestores;
336
+ /** All currently-open programmatic windows. */
337
+ readonly windows: Signal<readonly WrWindowRef<unknown, unknown>[]>;
338
+ /** Programmatic windows that are minimized AND opted into the taskbar. */
339
+ readonly minimized: Signal<WrWindowRef<unknown, unknown>[]>;
340
+ /** Reserve the next z-index. Strictly increasing across the app's lifetime. */
341
+ bringToFront(): number;
342
+ /** Cascade offset for new windows, so two opens don't perfectly overlap. */
343
+ nextStartOffset(): {
344
+ readonly x: number;
345
+ readonly y: number;
346
+ };
347
+ /**
348
+ * Open a window with `component` rendered as its body. Returns a ref
349
+ * the caller can use to drive the window programmatically and await
350
+ * its result.
351
+ *
352
+ * **Singleton by id** — if `config.id` is set and a window with that
353
+ * id is already open, the existing ref is restored (if minimized),
354
+ * brought to the front, and returned. No duplicate window is
355
+ * created. Use this to coalesce repeated open() calls (e.g. a
356
+ * "Settings" menu item that should always re-focus the same window).
357
+ */
358
+ open<C, R = unknown, D = unknown>(component: ComponentType<C>, config?: WrWindowConfig<D>): WrWindowRef<C, R>;
359
+ /** Close every programmatically-opened window. */
360
+ closeAll(): void;
361
+ /** Look up an open window by its `config.id`. Returns `null` when no match. */
362
+ findById(id: string): WrWindowRef<unknown, unknown> | null;
363
+ /**
364
+ * Drop the persisted geometry for a window so the next open uses the
365
+ * config defaults again. Matches `WrWindowConfig.storage` exactly.
366
+ */
367
+ clearPersistedPosition(cfg: WrWindowStorageConfig): void;
368
+ /** Snapshot of one window — what `saveLayout` writes / `restoreLayout` returns. */
369
+ private layoutKey;
370
+ /**
371
+ * Persist the geometry + state of every open programmatic window
372
+ * under `name`. Pair with `restoreLayout(name)` after re-opening the
373
+ * matching components.
374
+ */
375
+ saveLayout(name: string): void;
376
+ /** Read a saved workspace. Returns `null` when no snapshot is found. */
377
+ readLayout(name: string): readonly RestoreSnapshot[] | null;
378
+ /**
379
+ * Apply a saved workspace.
380
+ *
381
+ * Each saved entry is matched to a currently-open window by `id`. For
382
+ * matches, the geometry / state / title is re-applied immediately.
383
+ * For misses, the optional `open` callback is invoked so the consumer
384
+ * can re-open the right component for that id — the freshly-opened
385
+ * window then seeds straight to the saved geometry (no cascade flicker)
386
+ * and the saved state lands once the bridges are wired.
387
+ *
388
+ * ```ts
389
+ * manager.restoreLayout('default', (id, snap) => {
390
+ * if (id.startsWith('editor:')) {
391
+ * manager.open(EditorComponent, { id, title: snap.title, data: ... });
392
+ * }
393
+ * });
394
+ * ```
395
+ */
396
+ restoreLayout(name: string, open?: (id: string, snapshot: {
397
+ readonly title: string;
398
+ }) => void): void;
399
+ private applyRestore;
400
+ /** Drop a saved workspace. */
401
+ clearLayout(name: string): void;
402
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrWindowManager, never>;
403
+ static ɵprov: i0.ɵɵInjectableDeclaration<WrWindowManager>;
404
+ }
405
+
406
+ /**
407
+ * OS-style window taskbar. Drop one anywhere in the app — typically
408
+ * fixed to the bottom of the viewport — and it lists every window
409
+ * `WrWindowManager.open()` has handed out that's currently
410
+ * `minimized`. Clicking a tab restores the window; clicking the close
411
+ * glyph dismisses it without restoring.
412
+ *
413
+ * Windows opted out via `config.taskbar = false` never show up here.
414
+ *
415
+ * @example
416
+ * ```html
417
+ * <wr-window-taskbar />
418
+ * <wr-window-taskbar position="top" />
419
+ * ```
420
+ *
421
+ * @see https://ngwr.dev/components/window
422
+ */
423
+ declare class WrWindowTaskbar {
424
+ /** Edge the taskbar pins itself to. @default 'bottom' */
425
+ readonly position: i0.InputSignal<"top" | "bottom">;
426
+ private readonly manager;
427
+ /** @internal — minimized windows that haven't opted out via `taskbar: false`. */
428
+ protected readonly items: i0.Signal<WrWindowRef<unknown, unknown>[]>;
429
+ protected readonly classes: i0.Signal<string>;
430
+ protected restore(ref: WrWindowRef<unknown, unknown>): void;
431
+ protected close(ref: WrWindowRef<unknown, unknown>, event: Event): void;
432
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrWindowTaskbar, never>;
433
+ static ɵcmp: i0.ɵɵComponentDeclaration<WrWindowTaskbar, "wr-window-taskbar", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
434
+ }
435
+
436
+ export { WR_WINDOW_DATA, WR_WINDOW_REF, WrWindowManager, WrWindowRef, WrWindowTaskbar };
437
+ export type { WrWindowBeforeCloseHook, WrWindowChromeSize, WrWindowConfig, WrWindowOs, WrWindowPersistMode, WrWindowSize, WrWindowSnap, WrWindowState, WrWindowStorageConfig };
@@ -0,0 +1,33 @@
1
+ .wr-typewriter {
2
+ --wr-typewriter-cursor-blink: 0.5s;
3
+
4
+ display: inline-flex;
5
+ align-items: baseline;
6
+
7
+ &__content {
8
+ white-space: pre;
9
+ }
10
+
11
+ &__cursor {
12
+ display: inline-block;
13
+ margin-left: 1px;
14
+ animation: wr-typewriter-blink var(--wr-typewriter-cursor-blink) ease-in-out infinite alternate;
15
+ }
16
+ }
17
+
18
+ @keyframes wr-typewriter-blink {
19
+ from {
20
+ opacity: 1;
21
+ }
22
+ to {
23
+ opacity: 0;
24
+ }
25
+ }
26
+
27
+ // Reduced motion: solid cursor — the blink is decorative.
28
+ @media (prefers-reduced-motion: reduce) {
29
+ .wr-typewriter__cursor {
30
+ animation: none;
31
+ opacity: 1;
32
+ }
33
+ }
@@ -0,0 +1 @@
1
+ @forward './styles';
@@ -0,0 +1,211 @@
1
+ @use '../../theme/styles' as theme;
2
+
3
+ .wr-typography {
4
+ // Inherit the host element's native display (block for h1/p, inline for span).
5
+ margin: 0;
6
+ color: var(--wr-color-dark);
7
+ font-family: var(--wr-font-family-base);
8
+
9
+ &--display {
10
+ // Flowbite landing heading — 4xl that grows to 6xl on wide screens.
11
+ font-size: clamp(var(--wr-text-4xl), 6vw, 3.75rem);
12
+ font-weight: var(--wr-font-weight-extrabold);
13
+ line-height: var(--wr-leading-none);
14
+ letter-spacing: var(--wr-tracking-tight);
15
+ }
16
+
17
+ &--h1 {
18
+ font-size: var(--wr-text-5xl);
19
+ font-weight: var(--wr-font-weight-bold);
20
+ line-height: var(--wr-leading-none);
21
+ letter-spacing: var(--wr-tracking-tight);
22
+ }
23
+
24
+ &--h2 {
25
+ font-size: var(--wr-text-4xl);
26
+ font-weight: var(--wr-font-weight-bold);
27
+ line-height: 2.5rem;
28
+ letter-spacing: var(--wr-tracking-tight);
29
+ }
30
+
31
+ &--h3 {
32
+ font-size: var(--wr-text-3xl);
33
+ font-weight: var(--wr-font-weight-bold);
34
+ line-height: 2.25rem;
35
+ }
36
+
37
+ &--h4 {
38
+ font-size: var(--wr-text-2xl);
39
+ font-weight: var(--wr-font-weight-bold);
40
+ line-height: 2rem;
41
+ }
42
+
43
+ &--h5 {
44
+ font-size: var(--wr-text-xl);
45
+ font-weight: var(--wr-font-weight-bold);
46
+ line-height: 1.75rem;
47
+ }
48
+
49
+ &--h6 {
50
+ font-size: var(--wr-text-lg);
51
+ font-weight: var(--wr-font-weight-bold);
52
+ line-height: 1.75rem;
53
+ }
54
+
55
+ &--lead {
56
+ font-size: var(--wr-text-xl);
57
+ font-weight: var(--wr-font-weight-regular);
58
+ line-height: var(--wr-leading-relaxed);
59
+ color: var(--wr-color-medium);
60
+ }
61
+
62
+ &--body {
63
+ font-size: var(--wr-text-base);
64
+ font-weight: var(--wr-font-weight-regular);
65
+ line-height: var(--wr-leading-normal);
66
+ }
67
+
68
+ &--small {
69
+ font-size: var(--wr-text-sm);
70
+ line-height: var(--wr-leading-normal);
71
+ }
72
+
73
+ &--caption {
74
+ font-size: var(--wr-text-xs);
75
+ line-height: var(--wr-leading-normal);
76
+ color: var(--wr-color-medium);
77
+ }
78
+
79
+ &--overline {
80
+ font-size: var(--wr-text-xs);
81
+ font-weight: var(--wr-font-weight-semibold);
82
+ text-transform: uppercase;
83
+ letter-spacing: var(--wr-tracking-widest);
84
+ color: var(--wr-color-medium);
85
+ }
86
+
87
+ &--code {
88
+ padding: 0.0625rem 0.375rem;
89
+ background: rgba(var(--wr-color-light-rgb), 0.6);
90
+ border-radius: var(--wr-border-radius-sm);
91
+ font-size: 0.875em;
92
+ }
93
+
94
+ // Lists — flowbite spacing and markers; element selector picks the
95
+ // marker so one variant covers ul / ol / dl.
96
+ &--list {
97
+ // Browser default padding-inline-start doubles the indent next to
98
+ // `inside` markers — the variant owns its own spacing.
99
+ padding: 0;
100
+ font-size: var(--wr-text-base);
101
+ line-height: var(--wr-leading-normal);
102
+ color: var(--wr-color-medium);
103
+
104
+ > li + li,
105
+ > li > ul,
106
+ > li > ol {
107
+ margin-top: 0.25rem;
108
+ }
109
+
110
+ > li > ul,
111
+ > li > ol {
112
+ padding-left: 1.25rem;
113
+ }
114
+ }
115
+
116
+ @at-root {
117
+ ul#{&}--list {
118
+ list-style: disc inside;
119
+ }
120
+
121
+ ol#{&}--list {
122
+ list-style: decimal inside;
123
+ }
124
+
125
+ ul#{&}--list ul {
126
+ list-style: circle inside;
127
+ }
128
+
129
+ ol#{&}--list ol,
130
+ ul#{&}--list ol {
131
+ list-style: decimal inside;
132
+ }
133
+
134
+ dl#{&}--list dt {
135
+ margin-bottom: 0.25rem;
136
+ color: var(--wr-color-medium);
137
+ }
138
+
139
+ dl#{&}--list dd {
140
+ font-size: var(--wr-text-lg);
141
+ font-weight: var(--wr-font-weight-medium);
142
+ color: var(--wr-color-dark);
143
+ }
144
+
145
+ dl#{&}--list dd + dt {
146
+ margin-top: 0.75rem;
147
+ padding-top: 0.75rem;
148
+ border-top: 1px solid var(--wr-color-light);
149
+ }
150
+ }
151
+
152
+ // Links — flowbite default: medium weight, brand color, underline on
153
+ // hover. Add your own `underline` class for the always-underlined look.
154
+ &--link {
155
+ font-weight: var(--wr-font-weight-medium);
156
+ color: var(--wr-color-primary);
157
+ text-decoration: none;
158
+ text-underline-offset: 2px;
159
+ cursor: pointer;
160
+
161
+ &:hover {
162
+ text-decoration: underline;
163
+ }
164
+ }
165
+
166
+ // Tones
167
+ &--tone-dark {
168
+ color: var(--wr-color-dark);
169
+ }
170
+ &--tone-medium {
171
+ color: var(--wr-color-medium);
172
+ }
173
+ &--tone-primary {
174
+ color: var(--wr-color-primary);
175
+ }
176
+ &--tone-success {
177
+ color: var(--wr-color-success);
178
+ }
179
+ &--tone-warning {
180
+ color: var(--wr-color-warning);
181
+ }
182
+ &--tone-danger {
183
+ color: var(--wr-color-danger);
184
+ }
185
+
186
+ // Modifiers
187
+ &--align-start {
188
+ text-align: start;
189
+ }
190
+ &--align-center {
191
+ text-align: center;
192
+ }
193
+ &--align-end {
194
+ text-align: end;
195
+ }
196
+ &--align-justify {
197
+ text-align: justify;
198
+ }
199
+
200
+ &--truncate {
201
+ display: inline-block;
202
+ max-width: 100%;
203
+ overflow: hidden;
204
+ text-overflow: ellipsis;
205
+ white-space: nowrap;
206
+ }
207
+
208
+ &--mono {
209
+ font-family: var(--wr-font-family-mono, ui-monospace, monospace);
210
+ }
211
+ }