ngwr 14.9.1 → 14.11.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 (695) hide show
  1. package/editor/styles/_index.scss +16 -1
  2. package/fesm2022/ngwr-action-sheet-testing.mjs +111 -310
  3. package/fesm2022/ngwr-action-sheet-testing.mjs.map +1 -1
  4. package/fesm2022/ngwr-action-sheet.mjs +209 -89
  5. package/fesm2022/ngwr-action-sheet.mjs.map +1 -1
  6. package/fesm2022/ngwr-affix.mjs +122 -140
  7. package/fesm2022/ngwr-affix.mjs.map +1 -1
  8. package/fesm2022/ngwr-alert.mjs +204 -107
  9. package/fesm2022/ngwr-alert.mjs.map +1 -1
  10. package/fesm2022/ngwr-anchor.mjs +171 -113
  11. package/fesm2022/ngwr-anchor.mjs.map +1 -1
  12. package/fesm2022/ngwr-aurora.mjs +278 -198
  13. package/fesm2022/ngwr-aurora.mjs.map +1 -1
  14. package/fesm2022/ngwr-avatar.mjs +191 -190
  15. package/fesm2022/ngwr-avatar.mjs.map +1 -1
  16. package/fesm2022/ngwr-back-top.mjs +140 -95
  17. package/fesm2022/ngwr-back-top.mjs.map +1 -1
  18. package/fesm2022/ngwr-badge.mjs +339 -204
  19. package/fesm2022/ngwr-badge.mjs.map +1 -1
  20. package/fesm2022/ngwr-bar-chart-testing.mjs +56 -120
  21. package/fesm2022/ngwr-bar-chart-testing.mjs.map +1 -1
  22. package/fesm2022/ngwr-bar-chart.mjs +204 -113
  23. package/fesm2022/ngwr-bar-chart.mjs.map +1 -1
  24. package/fesm2022/ngwr-blur-text-testing.mjs +44 -198
  25. package/fesm2022/ngwr-blur-text-testing.mjs.map +1 -1
  26. package/fesm2022/ngwr-blur-text.mjs +322 -202
  27. package/fesm2022/ngwr-blur-text.mjs.map +1 -1
  28. package/fesm2022/ngwr-border-glow-testing.mjs +134 -318
  29. package/fesm2022/ngwr-border-glow-testing.mjs.map +1 -1
  30. package/fesm2022/ngwr-border-glow.mjs +440 -277
  31. package/fesm2022/ngwr-border-glow.mjs.map +1 -1
  32. package/fesm2022/ngwr-breadcrumbs.mjs +256 -120
  33. package/fesm2022/ngwr-breadcrumbs.mjs.map +1 -1
  34. package/fesm2022/ngwr-burger.mjs +115 -63
  35. package/fesm2022/ngwr-burger.mjs.map +1 -1
  36. package/fesm2022/ngwr-button-testing.mjs +39 -94
  37. package/fesm2022/ngwr-button-testing.mjs.map +1 -1
  38. package/fesm2022/ngwr-button.mjs +404 -354
  39. package/fesm2022/ngwr-button.mjs.map +1 -1
  40. package/fesm2022/ngwr-calendar-heatmap-testing.mjs +50 -96
  41. package/fesm2022/ngwr-calendar-heatmap-testing.mjs.map +1 -1
  42. package/fesm2022/ngwr-calendar-heatmap.mjs +360 -264
  43. package/fesm2022/ngwr-calendar-heatmap.mjs.map +1 -1
  44. package/fesm2022/ngwr-calendar-testing.mjs +181 -378
  45. package/fesm2022/ngwr-calendar-testing.mjs.map +1 -1
  46. package/fesm2022/ngwr-calendar.mjs +612 -790
  47. package/fesm2022/ngwr-calendar.mjs.map +1 -1
  48. package/fesm2022/ngwr-card.mjs +216 -98
  49. package/fesm2022/ngwr-card.mjs.map +1 -1
  50. package/fesm2022/ngwr-carousel-testing.mjs +131 -374
  51. package/fesm2022/ngwr-carousel-testing.mjs.map +1 -1
  52. package/fesm2022/ngwr-carousel.mjs +459 -332
  53. package/fesm2022/ngwr-carousel.mjs.map +1 -1
  54. package/fesm2022/ngwr-cascader-testing.mjs +227 -600
  55. package/fesm2022/ngwr-cascader-testing.mjs.map +1 -1
  56. package/fesm2022/ngwr-cascader.mjs +479 -418
  57. package/fesm2022/ngwr-cascader.mjs.map +1 -1
  58. package/fesm2022/ngwr-checkbox-testing.mjs +45 -99
  59. package/fesm2022/ngwr-checkbox-testing.mjs.map +1 -1
  60. package/fesm2022/ngwr-checkbox.mjs +442 -354
  61. package/fesm2022/ngwr-checkbox.mjs.map +1 -1
  62. package/fesm2022/ngwr-circular-text-testing.mjs +56 -223
  63. package/fesm2022/ngwr-circular-text-testing.mjs.map +1 -1
  64. package/fesm2022/ngwr-circular-text.mjs +226 -186
  65. package/fesm2022/ngwr-circular-text.mjs.map +1 -1
  66. package/fesm2022/ngwr-click-spark.mjs +303 -199
  67. package/fesm2022/ngwr-click-spark.mjs.map +1 -1
  68. package/fesm2022/ngwr-clipboard.mjs +95 -163
  69. package/fesm2022/ngwr-clipboard.mjs.map +1 -1
  70. package/fesm2022/ngwr-collapse-testing.mjs +118 -365
  71. package/fesm2022/ngwr-collapse-testing.mjs.map +1 -1
  72. package/fesm2022/ngwr-collapse.mjs +287 -227
  73. package/fesm2022/ngwr-collapse.mjs.map +1 -1
  74. package/fesm2022/ngwr-color-picker-testing.mjs +223 -461
  75. package/fesm2022/ngwr-color-picker-testing.mjs.map +1 -1
  76. package/fesm2022/ngwr-color-picker.mjs +937 -976
  77. package/fesm2022/ngwr-color-picker.mjs.map +1 -1
  78. package/fesm2022/ngwr-command-palette-testing.mjs +236 -585
  79. package/fesm2022/ngwr-command-palette-testing.mjs.map +1 -1
  80. package/fesm2022/ngwr-command-palette.mjs +512 -443
  81. package/fesm2022/ngwr-command-palette.mjs.map +1 -1
  82. package/fesm2022/ngwr-compare.mjs +252 -225
  83. package/fesm2022/ngwr-compare.mjs.map +1 -1
  84. package/fesm2022/ngwr-confetti.mjs +163 -181
  85. package/fesm2022/ngwr-confetti.mjs.map +1 -1
  86. package/fesm2022/ngwr-config.mjs +31 -106
  87. package/fesm2022/ngwr-config.mjs.map +1 -1
  88. package/fesm2022/ngwr-context-menu-testing.mjs +233 -642
  89. package/fesm2022/ngwr-context-menu-testing.mjs.map +1 -1
  90. package/fesm2022/ngwr-context-menu.mjs +837 -1167
  91. package/fesm2022/ngwr-context-menu.mjs.map +1 -1
  92. package/fesm2022/ngwr-cookie.mjs +103 -140
  93. package/fesm2022/ngwr-cookie.mjs.map +1 -1
  94. package/fesm2022/ngwr-counter.mjs +646 -460
  95. package/fesm2022/ngwr-counter.mjs.map +1 -1
  96. package/fesm2022/ngwr-date-adapters-fns.mjs +173 -266
  97. package/fesm2022/ngwr-date-adapters-fns.mjs.map +1 -1
  98. package/fesm2022/ngwr-date-adapters-luxon.mjs +164 -236
  99. package/fesm2022/ngwr-date-adapters-luxon.mjs.map +1 -1
  100. package/fesm2022/ngwr-date-picker-testing.mjs +340 -700
  101. package/fesm2022/ngwr-date-picker-testing.mjs.map +1 -1
  102. package/fesm2022/ngwr-date-picker.mjs +2575 -2416
  103. package/fesm2022/ngwr-date-picker.mjs.map +1 -1
  104. package/fesm2022/ngwr-date.mjs +606 -861
  105. package/fesm2022/ngwr-date.mjs.map +1 -1
  106. package/fesm2022/ngwr-decrypt-text-testing.mjs +57 -256
  107. package/fesm2022/ngwr-decrypt-text-testing.mjs.map +1 -1
  108. package/fesm2022/ngwr-decrypt-text.mjs +489 -409
  109. package/fesm2022/ngwr-decrypt-text.mjs.map +1 -1
  110. package/fesm2022/ngwr-density.mjs +157 -154
  111. package/fesm2022/ngwr-density.mjs.map +1 -1
  112. package/fesm2022/ngwr-descriptions.mjs +188 -90
  113. package/fesm2022/ngwr-descriptions.mjs.map +1 -1
  114. package/fesm2022/ngwr-dialog-testing.mjs +44 -87
  115. package/fesm2022/ngwr-dialog-testing.mjs.map +1 -1
  116. package/fesm2022/ngwr-dialog.mjs +391 -522
  117. package/fesm2022/ngwr-dialog.mjs.map +1 -1
  118. package/fesm2022/ngwr-directives.mjs +354 -271
  119. package/fesm2022/ngwr-directives.mjs.map +1 -1
  120. package/fesm2022/ngwr-divider.mjs +151 -133
  121. package/fesm2022/ngwr-divider.mjs.map +1 -1
  122. package/fesm2022/ngwr-donut-chart-testing.mjs +48 -111
  123. package/fesm2022/ngwr-donut-chart-testing.mjs.map +1 -1
  124. package/fesm2022/ngwr-donut-chart.mjs +295 -190
  125. package/fesm2022/ngwr-donut-chart.mjs.map +1 -1
  126. package/fesm2022/ngwr-drag-drop.mjs +411 -301
  127. package/fesm2022/ngwr-drag-drop.mjs.map +1 -1
  128. package/fesm2022/ngwr-drawer-testing.mjs +97 -248
  129. package/fesm2022/ngwr-drawer-testing.mjs.map +1 -1
  130. package/fesm2022/ngwr-drawer.mjs +862 -889
  131. package/fesm2022/ngwr-drawer.mjs.map +1 -1
  132. package/fesm2022/ngwr-dropdown-testing.mjs +125 -288
  133. package/fesm2022/ngwr-dropdown-testing.mjs.map +1 -1
  134. package/fesm2022/ngwr-dropdown.mjs +613 -641
  135. package/fesm2022/ngwr-dropdown.mjs.map +1 -1
  136. package/fesm2022/ngwr-editor-testing.mjs +196 -563
  137. package/fesm2022/ngwr-editor-testing.mjs.map +1 -1
  138. package/fesm2022/ngwr-editor.mjs +2062 -2442
  139. package/fesm2022/ngwr-editor.mjs.map +1 -1
  140. package/fesm2022/ngwr-empty.mjs +117 -72
  141. package/fesm2022/ngwr-empty.mjs.map +1 -1
  142. package/fesm2022/ngwr-event-calendar-testing.mjs +215 -439
  143. package/fesm2022/ngwr-event-calendar-testing.mjs.map +1 -1
  144. package/fesm2022/ngwr-event-calendar.mjs +906 -822
  145. package/fesm2022/ngwr-event-calendar.mjs.map +1 -1
  146. package/fesm2022/ngwr-falling-text-testing.mjs +52 -216
  147. package/fesm2022/ngwr-falling-text-testing.mjs.map +1 -1
  148. package/fesm2022/ngwr-falling-text.mjs +375 -342
  149. package/fesm2022/ngwr-falling-text.mjs.map +1 -1
  150. package/fesm2022/ngwr-file-upload-testing.mjs +133 -320
  151. package/fesm2022/ngwr-file-upload-testing.mjs.map +1 -1
  152. package/fesm2022/ngwr-file-upload.mjs +457 -328
  153. package/fesm2022/ngwr-file-upload.mjs.map +1 -1
  154. package/fesm2022/ngwr-form-testing.mjs +145 -452
  155. package/fesm2022/ngwr-form-testing.mjs.map +1 -1
  156. package/fesm2022/ngwr-form.mjs +512 -590
  157. package/fesm2022/ngwr-form.mjs.map +1 -1
  158. package/fesm2022/ngwr-fuzzy-text-testing.mjs +36 -132
  159. package/fesm2022/ngwr-fuzzy-text-testing.mjs.map +1 -1
  160. package/fesm2022/ngwr-fuzzy-text.mjs +635 -421
  161. package/fesm2022/ngwr-fuzzy-text.mjs.map +1 -1
  162. package/fesm2022/ngwr-gauge-testing.mjs +49 -98
  163. package/fesm2022/ngwr-gauge-testing.mjs.map +1 -1
  164. package/fesm2022/ngwr-gauge.mjs +297 -129
  165. package/fesm2022/ngwr-gauge.mjs.map +1 -1
  166. package/fesm2022/ngwr-glitch-text-testing.mjs +61 -213
  167. package/fesm2022/ngwr-glitch-text-testing.mjs.map +1 -1
  168. package/fesm2022/ngwr-glitch-text.mjs +170 -73
  169. package/fesm2022/ngwr-glitch-text.mjs.map +1 -1
  170. package/fesm2022/ngwr-gradient-text-testing.mjs +82 -251
  171. package/fesm2022/ngwr-gradient-text-testing.mjs.map +1 -1
  172. package/fesm2022/ngwr-gradient-text.mjs +215 -114
  173. package/fesm2022/ngwr-gradient-text.mjs.map +1 -1
  174. package/fesm2022/ngwr-graph-testing.mjs +65 -233
  175. package/fesm2022/ngwr-graph-testing.mjs.map +1 -1
  176. package/fesm2022/ngwr-graph.mjs +882 -1046
  177. package/fesm2022/ngwr-graph.mjs.map +1 -1
  178. package/fesm2022/ngwr-hotkey.mjs +307 -285
  179. package/fesm2022/ngwr-hotkey.mjs.map +1 -1
  180. package/fesm2022/ngwr-i18n-ar.mjs +375 -464
  181. package/fesm2022/ngwr-i18n-ar.mjs.map +1 -1
  182. package/fesm2022/ngwr-i18n-cs.mjs +375 -434
  183. package/fesm2022/ngwr-i18n-cs.mjs.map +1 -1
  184. package/fesm2022/ngwr-i18n-de.mjs +375 -453
  185. package/fesm2022/ngwr-i18n-de.mjs.map +1 -1
  186. package/fesm2022/ngwr-i18n-en.mjs +375 -561
  187. package/fesm2022/ngwr-i18n-en.mjs.map +1 -1
  188. package/fesm2022/ngwr-i18n-es.mjs +375 -434
  189. package/fesm2022/ngwr-i18n-es.mjs.map +1 -1
  190. package/fesm2022/ngwr-i18n-fr.mjs +375 -458
  191. package/fesm2022/ngwr-i18n-fr.mjs.map +1 -1
  192. package/fesm2022/ngwr-i18n-he.mjs +375 -457
  193. package/fesm2022/ngwr-i18n-he.mjs.map +1 -1
  194. package/fesm2022/ngwr-i18n-hi.mjs +375 -434
  195. package/fesm2022/ngwr-i18n-hi.mjs.map +1 -1
  196. package/fesm2022/ngwr-i18n-id.mjs +375 -434
  197. package/fesm2022/ngwr-i18n-id.mjs.map +1 -1
  198. package/fesm2022/ngwr-i18n-it.mjs +375 -453
  199. package/fesm2022/ngwr-i18n-it.mjs.map +1 -1
  200. package/fesm2022/ngwr-i18n-ja.mjs +375 -438
  201. package/fesm2022/ngwr-i18n-ja.mjs.map +1 -1
  202. package/fesm2022/ngwr-i18n-ko.mjs +375 -446
  203. package/fesm2022/ngwr-i18n-ko.mjs.map +1 -1
  204. package/fesm2022/ngwr-i18n-nl.mjs +375 -450
  205. package/fesm2022/ngwr-i18n-nl.mjs.map +1 -1
  206. package/fesm2022/ngwr-i18n-pl.mjs +375 -460
  207. package/fesm2022/ngwr-i18n-pl.mjs.map +1 -1
  208. package/fesm2022/ngwr-i18n-pt.mjs +375 -443
  209. package/fesm2022/ngwr-i18n-pt.mjs.map +1 -1
  210. package/fesm2022/ngwr-i18n-ru.mjs +375 -447
  211. package/fesm2022/ngwr-i18n-ru.mjs.map +1 -1
  212. package/fesm2022/ngwr-i18n-sv.mjs +375 -434
  213. package/fesm2022/ngwr-i18n-sv.mjs.map +1 -1
  214. package/fesm2022/ngwr-i18n-tr.mjs +375 -458
  215. package/fesm2022/ngwr-i18n-tr.mjs.map +1 -1
  216. package/fesm2022/ngwr-i18n-uk.mjs +375 -455
  217. package/fesm2022/ngwr-i18n-uk.mjs.map +1 -1
  218. package/fesm2022/ngwr-i18n-vi.mjs +375 -451
  219. package/fesm2022/ngwr-i18n-vi.mjs.map +1 -1
  220. package/fesm2022/ngwr-i18n-zh-TW.mjs +375 -442
  221. package/fesm2022/ngwr-i18n-zh-TW.mjs.map +1 -1
  222. package/fesm2022/ngwr-i18n-zh.mjs +375 -433
  223. package/fesm2022/ngwr-i18n-zh.mjs.map +1 -1
  224. package/fesm2022/ngwr-i18n.mjs +415 -683
  225. package/fesm2022/ngwr-i18n.mjs.map +1 -1
  226. package/fesm2022/ngwr-icon-adapters-feather.mjs +28 -77
  227. package/fesm2022/ngwr-icon-adapters-feather.mjs.map +1 -1
  228. package/fesm2022/ngwr-icon-adapters-lucide.mjs +32 -94
  229. package/fesm2022/ngwr-icon-adapters-lucide.mjs.map +1 -1
  230. package/fesm2022/ngwr-icon.mjs +371 -690
  231. package/fesm2022/ngwr-icon.mjs.map +1 -1
  232. package/fesm2022/ngwr-image-cropper-testing.mjs +84 -227
  233. package/fesm2022/ngwr-image-cropper-testing.mjs.map +1 -1
  234. package/fesm2022/ngwr-image-cropper.mjs +577 -639
  235. package/fesm2022/ngwr-image-cropper.mjs.map +1 -1
  236. package/fesm2022/ngwr-input-number-testing.mjs +108 -305
  237. package/fesm2022/ngwr-input-number-testing.mjs.map +1 -1
  238. package/fesm2022/ngwr-input-number.mjs +496 -361
  239. package/fesm2022/ngwr-input-number.mjs.map +1 -1
  240. package/fesm2022/ngwr-input-otp-testing.mjs +172 -420
  241. package/fesm2022/ngwr-input-otp-testing.mjs.map +1 -1
  242. package/fesm2022/ngwr-input-otp.mjs +396 -352
  243. package/fesm2022/ngwr-input-otp.mjs.map +1 -1
  244. package/fesm2022/ngwr-input-testing.mjs +52 -100
  245. package/fesm2022/ngwr-input-testing.mjs.map +1 -1
  246. package/fesm2022/ngwr-input.mjs +356 -303
  247. package/fesm2022/ngwr-input.mjs.map +1 -1
  248. package/fesm2022/ngwr-keyboard.mjs +63 -45
  249. package/fesm2022/ngwr-keyboard.mjs.map +1 -1
  250. package/fesm2022/ngwr-knob-testing.mjs +101 -223
  251. package/fesm2022/ngwr-knob-testing.mjs.map +1 -1
  252. package/fesm2022/ngwr-knob.mjs +421 -303
  253. package/fesm2022/ngwr-knob.mjs.map +1 -1
  254. package/fesm2022/ngwr-layout.mjs +362 -207
  255. package/fesm2022/ngwr-layout.mjs.map +1 -1
  256. package/fesm2022/ngwr-lightbox-testing.mjs +100 -221
  257. package/fesm2022/ngwr-lightbox-testing.mjs.map +1 -1
  258. package/fesm2022/ngwr-lightbox.mjs +335 -268
  259. package/fesm2022/ngwr-lightbox.mjs.map +1 -1
  260. package/fesm2022/ngwr-line-chart-testing.mjs +65 -133
  261. package/fesm2022/ngwr-line-chart-testing.mjs.map +1 -1
  262. package/fesm2022/ngwr-line-chart.mjs +356 -281
  263. package/fesm2022/ngwr-line-chart.mjs.map +1 -1
  264. package/fesm2022/ngwr-list.mjs +251 -134
  265. package/fesm2022/ngwr-list.mjs.map +1 -1
  266. package/fesm2022/ngwr-loading-bar-router.mjs +26 -68
  267. package/fesm2022/ngwr-loading-bar-router.mjs.map +1 -1
  268. package/fesm2022/ngwr-loading-bar.mjs +173 -186
  269. package/fesm2022/ngwr-loading-bar.mjs.map +1 -1
  270. package/fesm2022/ngwr-markdown-testing.mjs +174 -505
  271. package/fesm2022/ngwr-markdown-testing.mjs.map +1 -1
  272. package/fesm2022/ngwr-markdown.mjs +1578 -2219
  273. package/fesm2022/ngwr-markdown.mjs.map +1 -1
  274. package/fesm2022/ngwr-marquee-testing.mjs +118 -331
  275. package/fesm2022/ngwr-marquee-testing.mjs.map +1 -1
  276. package/fesm2022/ngwr-marquee.mjs +411 -230
  277. package/fesm2022/ngwr-marquee.mjs.map +1 -1
  278. package/fesm2022/ngwr-media.mjs +100 -127
  279. package/fesm2022/ngwr-media.mjs.map +1 -1
  280. package/fesm2022/ngwr-mention-testing.mjs +179 -506
  281. package/fesm2022/ngwr-mention-testing.mjs.map +1 -1
  282. package/fesm2022/ngwr-mention.mjs +668 -732
  283. package/fesm2022/ngwr-mention.mjs.map +1 -1
  284. package/fesm2022/ngwr-meta.mjs +257 -329
  285. package/fesm2022/ngwr-meta.mjs.map +1 -1
  286. package/fesm2022/ngwr-meter-group-testing.mjs +56 -101
  287. package/fesm2022/ngwr-meter-group-testing.mjs.map +1 -1
  288. package/fesm2022/ngwr-meter-group.mjs +206 -114
  289. package/fesm2022/ngwr-meter-group.mjs.map +1 -1
  290. package/fesm2022/ngwr-overlay.mjs +264 -576
  291. package/fesm2022/ngwr-overlay.mjs.map +1 -1
  292. package/fesm2022/ngwr-page-header.mjs +107 -67
  293. package/fesm2022/ngwr-page-header.mjs.map +1 -1
  294. package/fesm2022/ngwr-pagination-testing.mjs +125 -388
  295. package/fesm2022/ngwr-pagination-testing.mjs.map +1 -1
  296. package/fesm2022/ngwr-pagination.mjs +505 -335
  297. package/fesm2022/ngwr-pagination.mjs.map +1 -1
  298. package/fesm2022/ngwr-pipes.mjs +343 -382
  299. package/fesm2022/ngwr-pipes.mjs.map +1 -1
  300. package/fesm2022/ngwr-platform.mjs +182 -221
  301. package/fesm2022/ngwr-platform.mjs.map +1 -1
  302. package/fesm2022/ngwr-popconfirm-testing.mjs +112 -307
  303. package/fesm2022/ngwr-popconfirm-testing.mjs.map +1 -1
  304. package/fesm2022/ngwr-popconfirm.mjs +474 -277
  305. package/fesm2022/ngwr-popconfirm.mjs.map +1 -1
  306. package/fesm2022/ngwr-popover-testing.mjs +114 -332
  307. package/fesm2022/ngwr-popover-testing.mjs.map +1 -1
  308. package/fesm2022/ngwr-popover.mjs +1106 -1311
  309. package/fesm2022/ngwr-popover.mjs.map +1 -1
  310. package/fesm2022/ngwr-progress.mjs +124 -68
  311. package/fesm2022/ngwr-progress.mjs.map +1 -1
  312. package/fesm2022/ngwr-pull-to-refresh.mjs +198 -185
  313. package/fesm2022/ngwr-pull-to-refresh.mjs.map +1 -1
  314. package/fesm2022/ngwr-qr.mjs +1179 -1100
  315. package/fesm2022/ngwr-qr.mjs.map +1 -1
  316. package/fesm2022/ngwr-radio-testing.mjs +138 -389
  317. package/fesm2022/ngwr-radio-testing.mjs.map +1 -1
  318. package/fesm2022/ngwr-radio.mjs +346 -239
  319. package/fesm2022/ngwr-radio.mjs.map +1 -1
  320. package/fesm2022/ngwr-rating-testing.mjs +153 -390
  321. package/fesm2022/ngwr-rating-testing.mjs.map +1 -1
  322. package/fesm2022/ngwr-rating.mjs +281 -247
  323. package/fesm2022/ngwr-rating.mjs.map +1 -1
  324. package/fesm2022/ngwr-result.mjs +353 -114
  325. package/fesm2022/ngwr-result.mjs.map +1 -1
  326. package/fesm2022/ngwr-rotating-text-testing.mjs +45 -215
  327. package/fesm2022/ngwr-rotating-text-testing.mjs.map +1 -1
  328. package/fesm2022/ngwr-rotating-text.mjs +402 -272
  329. package/fesm2022/ngwr-rotating-text.mjs.map +1 -1
  330. package/fesm2022/ngwr-schema-form.mjs +384 -213
  331. package/fesm2022/ngwr-schema-form.mjs.map +1 -1
  332. package/fesm2022/ngwr-scroll.mjs +95 -105
  333. package/fesm2022/ngwr-scroll.mjs.map +1 -1
  334. package/fesm2022/ngwr-segmented-testing.mjs +184 -593
  335. package/fesm2022/ngwr-segmented-testing.mjs.map +1 -1
  336. package/fesm2022/ngwr-segmented.mjs +235 -251
  337. package/fesm2022/ngwr-segmented.mjs.map +1 -1
  338. package/fesm2022/ngwr-select-testing.mjs +139 -284
  339. package/fesm2022/ngwr-select-testing.mjs.map +1 -1
  340. package/fesm2022/ngwr-select.mjs +1784 -2098
  341. package/fesm2022/ngwr-select.mjs.map +1 -1
  342. package/fesm2022/ngwr-shiny-text-testing.mjs +83 -228
  343. package/fesm2022/ngwr-shiny-text-testing.mjs.map +1 -1
  344. package/fesm2022/ngwr-shiny-text.mjs +304 -131
  345. package/fesm2022/ngwr-shiny-text.mjs.map +1 -1
  346. package/fesm2022/ngwr-sidebar.mjs +256 -205
  347. package/fesm2022/ngwr-sidebar.mjs.map +1 -1
  348. package/fesm2022/ngwr-skeleton.mjs +101 -72
  349. package/fesm2022/ngwr-skeleton.mjs.map +1 -1
  350. package/fesm2022/ngwr-slider-testing.mjs +191 -473
  351. package/fesm2022/ngwr-slider-testing.mjs.map +1 -1
  352. package/fesm2022/ngwr-slider.mjs +430 -443
  353. package/fesm2022/ngwr-slider.mjs.map +1 -1
  354. package/fesm2022/ngwr-sparkline-testing.mjs +37 -74
  355. package/fesm2022/ngwr-sparkline-testing.mjs.map +1 -1
  356. package/fesm2022/ngwr-sparkline.mjs +311 -196
  357. package/fesm2022/ngwr-sparkline.mjs.map +1 -1
  358. package/fesm2022/ngwr-speed-dial-testing.mjs +135 -278
  359. package/fesm2022/ngwr-speed-dial-testing.mjs.map +1 -1
  360. package/fesm2022/ngwr-speed-dial.mjs +242 -140
  361. package/fesm2022/ngwr-speed-dial.mjs.map +1 -1
  362. package/fesm2022/ngwr-spinner.mjs +97 -60
  363. package/fesm2022/ngwr-spinner.mjs.map +1 -1
  364. package/fesm2022/ngwr-splash-cursor-testing.mjs +23 -87
  365. package/fesm2022/ngwr-splash-cursor-testing.mjs.map +1 -1
  366. package/fesm2022/ngwr-splash-cursor.mjs +980 -725
  367. package/fesm2022/ngwr-splash-cursor.mjs.map +1 -1
  368. package/fesm2022/ngwr-split-text-testing.mjs +48 -218
  369. package/fesm2022/ngwr-split-text-testing.mjs.map +1 -1
  370. package/fesm2022/ngwr-split-text.mjs +365 -220
  371. package/fesm2022/ngwr-split-text.mjs.map +1 -1
  372. package/fesm2022/ngwr-splitter-testing.mjs +107 -241
  373. package/fesm2022/ngwr-splitter-testing.mjs.map +1 -1
  374. package/fesm2022/ngwr-splitter.mjs +222 -184
  375. package/fesm2022/ngwr-splitter.mjs.map +1 -1
  376. package/fesm2022/ngwr-spotlight-card-testing.mjs +105 -360
  377. package/fesm2022/ngwr-spotlight-card-testing.mjs.map +1 -1
  378. package/fesm2022/ngwr-spotlight-card.mjs +217 -135
  379. package/fesm2022/ngwr-spotlight-card.mjs.map +1 -1
  380. package/fesm2022/ngwr-squircle.mjs +410 -326
  381. package/fesm2022/ngwr-squircle.mjs.map +1 -1
  382. package/fesm2022/ngwr-star-border-testing.mjs +53 -168
  383. package/fesm2022/ngwr-star-border-testing.mjs.map +1 -1
  384. package/fesm2022/ngwr-star-border.mjs +160 -70
  385. package/fesm2022/ngwr-star-border.mjs.map +1 -1
  386. package/fesm2022/ngwr-statistic.mjs +570 -389
  387. package/fesm2022/ngwr-statistic.mjs.map +1 -1
  388. package/fesm2022/ngwr-stepper-testing.mjs +158 -471
  389. package/fesm2022/ngwr-stepper-testing.mjs.map +1 -1
  390. package/fesm2022/ngwr-stepper.mjs +336 -215
  391. package/fesm2022/ngwr-stepper.mjs.map +1 -1
  392. package/fesm2022/ngwr-storage.mjs +217 -330
  393. package/fesm2022/ngwr-storage.mjs.map +1 -1
  394. package/fesm2022/ngwr-switch-testing.mjs +42 -75
  395. package/fesm2022/ngwr-switch-testing.mjs.map +1 -1
  396. package/fesm2022/ngwr-switch.mjs +197 -114
  397. package/fesm2022/ngwr-switch.mjs.map +1 -1
  398. package/fesm2022/ngwr-table-testing.mjs +238 -572
  399. package/fesm2022/ngwr-table-testing.mjs.map +1 -1
  400. package/fesm2022/ngwr-table.mjs +1875 -1446
  401. package/fesm2022/ngwr-table.mjs.map +1 -1
  402. package/fesm2022/ngwr-tabs-router.mjs +84 -153
  403. package/fesm2022/ngwr-tabs-router.mjs.map +1 -1
  404. package/fesm2022/ngwr-tabs-testing.mjs +217 -617
  405. package/fesm2022/ngwr-tabs-testing.mjs.map +1 -1
  406. package/fesm2022/ngwr-tabs.mjs +402 -425
  407. package/fesm2022/ngwr-tabs.mjs.map +1 -1
  408. package/fesm2022/ngwr-textarea-testing.mjs +84 -236
  409. package/fesm2022/ngwr-textarea-testing.mjs.map +1 -1
  410. package/fesm2022/ngwr-textarea.mjs +385 -264
  411. package/fesm2022/ngwr-textarea.mjs.map +1 -1
  412. package/fesm2022/ngwr-theme.mjs +247 -443
  413. package/fesm2022/ngwr-theme.mjs.map +1 -1
  414. package/fesm2022/ngwr-tilt-card-testing.mjs +79 -186
  415. package/fesm2022/ngwr-tilt-card-testing.mjs.map +1 -1
  416. package/fesm2022/ngwr-tilt-card.mjs +257 -168
  417. package/fesm2022/ngwr-tilt-card.mjs.map +1 -1
  418. package/fesm2022/ngwr-timeline.mjs +157 -70
  419. package/fesm2022/ngwr-timeline.mjs.map +1 -1
  420. package/fesm2022/ngwr-toast-testing.mjs +59 -99
  421. package/fesm2022/ngwr-toast-testing.mjs.map +1 -1
  422. package/fesm2022/ngwr-toast.mjs +769 -691
  423. package/fesm2022/ngwr-toast.mjs.map +1 -1
  424. package/fesm2022/ngwr-toolbar.mjs +73 -58
  425. package/fesm2022/ngwr-toolbar.mjs.map +1 -1
  426. package/fesm2022/ngwr-tour-testing.mjs +75 -171
  427. package/fesm2022/ngwr-tour-testing.mjs.map +1 -1
  428. package/fesm2022/ngwr-tour.mjs +333 -347
  429. package/fesm2022/ngwr-tour.mjs.map +1 -1
  430. package/fesm2022/ngwr-transfer-testing.mjs +195 -534
  431. package/fesm2022/ngwr-transfer-testing.mjs.map +1 -1
  432. package/fesm2022/ngwr-transfer.mjs +441 -322
  433. package/fesm2022/ngwr-transfer.mjs.map +1 -1
  434. package/fesm2022/ngwr-tree-testing.mjs +277 -754
  435. package/fesm2022/ngwr-tree-testing.mjs.map +1 -1
  436. package/fesm2022/ngwr-tree.mjs +876 -906
  437. package/fesm2022/ngwr-tree.mjs.map +1 -1
  438. package/fesm2022/ngwr-typewriter-testing.mjs +50 -237
  439. package/fesm2022/ngwr-typewriter-testing.mjs.map +1 -1
  440. package/fesm2022/ngwr-typewriter.mjs +461 -242
  441. package/fesm2022/ngwr-typewriter.mjs.map +1 -1
  442. package/fesm2022/ngwr-typography.mjs +142 -81
  443. package/fesm2022/ngwr-typography.mjs.map +1 -1
  444. package/fesm2022/ngwr-utils.mjs +304 -613
  445. package/fesm2022/ngwr-utils.mjs.map +1 -1
  446. package/fesm2022/ngwr-validators.mjs +179 -361
  447. package/fesm2022/ngwr-validators.mjs.map +1 -1
  448. package/fesm2022/ngwr-version.mjs +17 -47
  449. package/fesm2022/ngwr-version.mjs.map +1 -1
  450. package/fesm2022/ngwr-virtual-scroll.mjs +259 -125
  451. package/fesm2022/ngwr-virtual-scroll.mjs.map +1 -1
  452. package/fesm2022/ngwr-waves-testing.mjs +34 -125
  453. package/fesm2022/ngwr-waves-testing.mjs.map +1 -1
  454. package/fesm2022/ngwr-waves.mjs +816 -373
  455. package/fesm2022/ngwr-waves.mjs.map +1 -1
  456. package/fesm2022/ngwr-window-testing.mjs +171 -366
  457. package/fesm2022/ngwr-window-testing.mjs.map +1 -1
  458. package/fesm2022/ngwr-window.mjs +1437 -1351
  459. package/fesm2022/ngwr-window.mjs.map +1 -1
  460. package/fesm2022/ngwr.mjs +0 -4
  461. package/input-number/styles/_index.scss +33 -35
  462. package/llms-full.txt +2 -2
  463. package/package.json +1 -1
  464. package/segmented/styles/_index.scss +10 -3
  465. package/types/ngwr-action-sheet-testing.d.ts +174 -200
  466. package/types/ngwr-action-sheet.d.ts +83 -45
  467. package/types/ngwr-affix.d.ts +27 -22
  468. package/types/ngwr-alert.d.ts +93 -59
  469. package/types/ngwr-anchor.d.ts +52 -35
  470. package/types/ngwr-aurora.d.ts +53 -35
  471. package/types/ngwr-avatar.d.ts +97 -81
  472. package/types/ngwr-back-top.d.ts +36 -23
  473. package/types/ngwr-badge.d.ts +160 -105
  474. package/types/ngwr-bar-chart-testing.d.ts +40 -58
  475. package/types/ngwr-bar-chart.d.ts +86 -60
  476. package/types/ngwr-blur-text-testing.d.ts +103 -121
  477. package/types/ngwr-blur-text.d.ts +99 -60
  478. package/types/ngwr-border-glow-testing.d.ts +155 -173
  479. package/types/ngwr-border-glow.d.ts +93 -45
  480. package/types/ngwr-breadcrumbs.d.ts +60 -32
  481. package/types/ngwr-burger.d.ts +38 -23
  482. package/types/ngwr-button-testing.d.ts +41 -59
  483. package/types/ngwr-button.d.ts +213 -163
  484. package/types/ngwr-calendar-heatmap-testing.d.ts +38 -56
  485. package/types/ngwr-calendar-heatmap.d.ts +151 -105
  486. package/types/ngwr-calendar-testing.d.ts +198 -224
  487. package/types/ngwr-calendar.d.ts +285 -246
  488. package/types/ngwr-card.d.ts +41 -23
  489. package/types/ngwr-carousel-testing.d.ts +196 -214
  490. package/types/ngwr-carousel.d.ts +173 -122
  491. package/types/ngwr-cascader-testing.d.ts +338 -372
  492. package/types/ngwr-cascader.d.ts +230 -161
  493. package/types/ngwr-checkbox-testing.d.ts +45 -63
  494. package/types/ngwr-checkbox.d.ts +238 -183
  495. package/types/ngwr-circular-text-testing.d.ts +108 -126
  496. package/types/ngwr-circular-text.d.ts +53 -41
  497. package/types/ngwr-click-spark.d.ts +82 -50
  498. package/types/ngwr-clipboard.d.ts +40 -44
  499. package/types/ngwr-collapse-testing.d.ts +193 -219
  500. package/types/ngwr-collapse.d.ts +82 -71
  501. package/types/ngwr-color-picker-testing.d.ts +211 -237
  502. package/types/ngwr-color-picker.d.ts +343 -300
  503. package/types/ngwr-command-palette-testing.d.ts +311 -345
  504. package/types/ngwr-command-palette.d.ts +257 -197
  505. package/types/ngwr-compare.d.ts +102 -67
  506. package/types/ngwr-confetti.d.ts +51 -55
  507. package/types/ngwr-config.d.ts +44 -71
  508. package/types/ngwr-context-menu-testing.d.ts +301 -327
  509. package/types/ngwr-context-menu.d.ts +350 -310
  510. package/types/ngwr-cookie.d.ts +37 -41
  511. package/types/ngwr-counter.d.ts +223 -128
  512. package/types/ngwr-date-adapters-fns.d.ts +40 -59
  513. package/types/ngwr-date-adapters-luxon.d.ts +61 -72
  514. package/types/ngwr-date-picker-testing.d.ts +295 -339
  515. package/types/ngwr-date-picker.d.ts +759 -583
  516. package/types/ngwr-date.d.ts +229 -258
  517. package/types/ngwr-decrypt-text-testing.d.ts +140 -158
  518. package/types/ngwr-decrypt-text.d.ts +104 -62
  519. package/types/ngwr-density.d.ts +42 -57
  520. package/types/ngwr-descriptions.d.ts +50 -27
  521. package/types/ngwr-dialog-testing.d.ts +36 -54
  522. package/types/ngwr-dialog.d.ts +166 -190
  523. package/types/ngwr-directives.d.ts +82 -60
  524. package/types/ngwr-divider.d.ts +78 -62
  525. package/types/ngwr-donut-chart-testing.d.ts +36 -54
  526. package/types/ngwr-donut-chart.d.ts +102 -66
  527. package/types/ngwr-drag-drop.d.ts +139 -106
  528. package/types/ngwr-drawer-testing.d.ts +141 -159
  529. package/types/ngwr-drawer.d.ts +374 -316
  530. package/types/ngwr-dropdown-testing.d.ts +128 -154
  531. package/types/ngwr-dropdown.d.ts +260 -166
  532. package/types/ngwr-editor-testing.d.ts +329 -301
  533. package/types/ngwr-editor.d.ts +445 -300
  534. package/types/ngwr-empty.d.ts +41 -28
  535. package/types/ngwr-event-calendar-testing.d.ts +217 -243
  536. package/types/ngwr-event-calendar.d.ts +340 -298
  537. package/types/ngwr-falling-text-testing.d.ts +108 -126
  538. package/types/ngwr-falling-text.d.ts +57 -35
  539. package/types/ngwr-file-upload-testing.d.ts +133 -151
  540. package/types/ngwr-file-upload.d.ts +193 -128
  541. package/types/ngwr-form-testing.d.ts +255 -282
  542. package/types/ngwr-form.d.ts +324 -306
  543. package/types/ngwr-fuzzy-text-testing.d.ts +63 -81
  544. package/types/ngwr-fuzzy-text.d.ts +152 -65
  545. package/types/ngwr-gauge-testing.d.ts +43 -61
  546. package/types/ngwr-gauge.d.ts +113 -61
  547. package/types/ngwr-glitch-text-testing.d.ts +125 -143
  548. package/types/ngwr-glitch-text.d.ts +47 -24
  549. package/types/ngwr-gradient-text-testing.d.ts +114 -132
  550. package/types/ngwr-gradient-text.d.ts +51 -24
  551. package/types/ngwr-graph-testing.d.ts +89 -115
  552. package/types/ngwr-graph.d.ts +137 -124
  553. package/types/ngwr-hotkey.d.ts +85 -75
  554. package/types/ngwr-i18n-ar.d.ts +2 -5
  555. package/types/ngwr-i18n-cs.d.ts +2 -5
  556. package/types/ngwr-i18n-de.d.ts +2 -5
  557. package/types/ngwr-i18n-en.d.ts +2 -5
  558. package/types/ngwr-i18n-es.d.ts +2 -5
  559. package/types/ngwr-i18n-fr.d.ts +2 -5
  560. package/types/ngwr-i18n-he.d.ts +2 -5
  561. package/types/ngwr-i18n-hi.d.ts +2 -5
  562. package/types/ngwr-i18n-id.d.ts +2 -5
  563. package/types/ngwr-i18n-it.d.ts +2 -5
  564. package/types/ngwr-i18n-ja.d.ts +2 -5
  565. package/types/ngwr-i18n-ko.d.ts +2 -5
  566. package/types/ngwr-i18n-nl.d.ts +2 -5
  567. package/types/ngwr-i18n-pl.d.ts +2 -5
  568. package/types/ngwr-i18n-pt.d.ts +2 -5
  569. package/types/ngwr-i18n-ru.d.ts +2 -5
  570. package/types/ngwr-i18n-sv.d.ts +2 -5
  571. package/types/ngwr-i18n-tr.d.ts +2 -5
  572. package/types/ngwr-i18n-uk.d.ts +2 -5
  573. package/types/ngwr-i18n-vi.d.ts +2 -5
  574. package/types/ngwr-i18n-zh-TW.d.ts +2 -5
  575. package/types/ngwr-i18n-zh.d.ts +2 -5
  576. package/types/ngwr-i18n.d.ts +202 -246
  577. package/types/ngwr-icon-adapters-feather.d.ts +2 -11
  578. package/types/ngwr-icon-adapters-lucide.d.ts +2 -12
  579. package/types/ngwr-icon.d.ts +62 -84
  580. package/types/ngwr-image-cropper-testing.d.ts +116 -134
  581. package/types/ngwr-image-cropper.d.ts +287 -252
  582. package/types/ngwr-input-number-testing.d.ts +164 -182
  583. package/types/ngwr-input-number.d.ts +231 -150
  584. package/types/ngwr-input-otp-testing.d.ts +210 -244
  585. package/types/ngwr-input-otp.d.ts +167 -123
  586. package/types/ngwr-input-testing.d.ts +42 -60
  587. package/types/ngwr-input.d.ts +118 -94
  588. package/types/ngwr-keyboard.d.ts +14 -12
  589. package/types/ngwr-knob-testing.d.ts +106 -124
  590. package/types/ngwr-knob.d.ts +194 -129
  591. package/types/ngwr-layout.d.ts +57 -40
  592. package/types/ngwr-lightbox-testing.d.ts +101 -119
  593. package/types/ngwr-lightbox.d.ts +140 -87
  594. package/types/ngwr-line-chart-testing.d.ts +51 -69
  595. package/types/ngwr-line-chart.d.ts +171 -134
  596. package/types/ngwr-list.d.ts +55 -27
  597. package/types/ngwr-loading-bar-router.d.ts +2 -12
  598. package/types/ngwr-loading-bar.d.ts +45 -39
  599. package/types/ngwr-markdown-testing.d.ts +323 -350
  600. package/types/ngwr-markdown.d.ts +432 -318
  601. package/types/ngwr-marquee-testing.d.ts +190 -216
  602. package/types/ngwr-marquee.d.ts +127 -75
  603. package/types/ngwr-media.d.ts +25 -39
  604. package/types/ngwr-mention-testing.d.ts +274 -300
  605. package/types/ngwr-mention.d.ts +249 -164
  606. package/types/ngwr-meta.d.ts +93 -108
  607. package/types/ngwr-meter-group-testing.d.ts +33 -51
  608. package/types/ngwr-meter-group.d.ts +86 -60
  609. package/types/ngwr-overlay.d.ts +57 -132
  610. package/types/ngwr-page-header.d.ts +32 -19
  611. package/types/ngwr-pagination-testing.d.ts +215 -233
  612. package/types/ngwr-pagination.d.ts +213 -141
  613. package/types/ngwr-pipes.d.ts +67 -84
  614. package/types/ngwr-platform.d.ts +52 -57
  615. package/types/ngwr-popconfirm-testing.d.ts +181 -199
  616. package/types/ngwr-popconfirm.d.ts +151 -82
  617. package/types/ngwr-popover-testing.d.ts +183 -201
  618. package/types/ngwr-popover.d.ts +291 -207
  619. package/types/ngwr-progress.d.ts +38 -25
  620. package/types/ngwr-pull-to-refresh.d.ts +55 -40
  621. package/types/ngwr-qr.d.ts +79 -37
  622. package/types/ngwr-radio-testing.d.ts +208 -234
  623. package/types/ngwr-radio.d.ts +162 -125
  624. package/types/ngwr-rating-testing.d.ts +218 -244
  625. package/types/ngwr-rating.d.ts +146 -111
  626. package/types/ngwr-result.d.ts +85 -41
  627. package/types/ngwr-rotating-text-testing.d.ts +107 -125
  628. package/types/ngwr-rotating-text.d.ts +96 -52
  629. package/types/ngwr-schema-form.d.ts +57 -49
  630. package/types/ngwr-scroll.d.ts +27 -31
  631. package/types/ngwr-segmented-testing.d.ts +333 -359
  632. package/types/ngwr-segmented.d.ts +183 -165
  633. package/types/ngwr-select-testing.d.ts +128 -154
  634. package/types/ngwr-select.d.ts +1083 -906
  635. package/types/ngwr-shiny-text-testing.d.ts +82 -100
  636. package/types/ngwr-shiny-text.d.ts +83 -36
  637. package/types/ngwr-sidebar.d.ts +108 -93
  638. package/types/ngwr-skeleton.d.ts +34 -26
  639. package/types/ngwr-slider-testing.d.ts +228 -254
  640. package/types/ngwr-slider.d.ts +236 -186
  641. package/types/ngwr-sparkline-testing.d.ts +29 -47
  642. package/types/ngwr-sparkline.d.ts +130 -88
  643. package/types/ngwr-speed-dial-testing.d.ts +129 -155
  644. package/types/ngwr-speed-dial.d.ts +92 -57
  645. package/types/ngwr-spinner.d.ts +30 -23
  646. package/types/ngwr-splash-cursor-testing.d.ts +42 -60
  647. package/types/ngwr-splash-cursor.d.ts +129 -61
  648. package/types/ngwr-split-text-testing.d.ts +119 -137
  649. package/types/ngwr-split-text.d.ts +120 -71
  650. package/types/ngwr-splitter-testing.d.ts +114 -132
  651. package/types/ngwr-splitter.d.ts +85 -55
  652. package/types/ngwr-spotlight-card-testing.d.ts +177 -203
  653. package/types/ngwr-spotlight-card.d.ts +50 -32
  654. package/types/ngwr-squircle.d.ts +112 -70
  655. package/types/ngwr-star-border-testing.d.ts +74 -92
  656. package/types/ngwr-star-border.d.ts +42 -20
  657. package/types/ngwr-statistic.d.ts +210 -130
  658. package/types/ngwr-stepper-testing.d.ts +258 -284
  659. package/types/ngwr-stepper.d.ts +112 -75
  660. package/types/ngwr-storage.d.ts +96 -118
  661. package/types/ngwr-switch-testing.d.ts +26 -44
  662. package/types/ngwr-switch.d.ts +92 -62
  663. package/types/ngwr-table-testing.d.ts +291 -333
  664. package/types/ngwr-table.d.ts +922 -707
  665. package/types/ngwr-tabs-router.d.ts +21 -24
  666. package/types/ngwr-tabs-testing.d.ts +354 -380
  667. package/types/ngwr-tabs.d.ts +169 -155
  668. package/types/ngwr-textarea-testing.d.ts +123 -141
  669. package/types/ngwr-textarea.d.ts +160 -105
  670. package/types/ngwr-theme.d.ts +81 -163
  671. package/types/ngwr-tilt-card-testing.d.ts +94 -112
  672. package/types/ngwr-tilt-card.d.ts +64 -35
  673. package/types/ngwr-timeline.d.ts +36 -19
  674. package/types/ngwr-toast-testing.d.ts +37 -55
  675. package/types/ngwr-toast.d.ts +165 -209
  676. package/types/ngwr-toolbar.d.ts +17 -14
  677. package/types/ngwr-tour-testing.d.ts +84 -102
  678. package/types/ngwr-tour.d.ts +142 -144
  679. package/types/ngwr-transfer-testing.d.ts +293 -328
  680. package/types/ngwr-transfer.d.ts +217 -159
  681. package/types/ngwr-tree-testing.d.ts +428 -454
  682. package/types/ngwr-tree.d.ts +400 -296
  683. package/types/ngwr-typewriter-testing.d.ts +125 -143
  684. package/types/ngwr-typewriter.d.ts +137 -63
  685. package/types/ngwr-typography.d.ts +49 -27
  686. package/types/ngwr-utils.d.ts +100 -107
  687. package/types/ngwr-validators.d.ts +94 -104
  688. package/types/ngwr-version.d.ts +3 -14
  689. package/types/ngwr-virtual-scroll.d.ts +86 -58
  690. package/types/ngwr-waves-testing.d.ts +61 -79
  691. package/types/ngwr-waves.d.ts +116 -63
  692. package/types/ngwr-window-testing.d.ts +178 -204
  693. package/types/ngwr-window.d.ts +299 -325
  694. package/types/ngwr.d.ts +1 -2
  695. package/fesm2022/ngwr.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ngwr-affix.mjs","sources":["../../../projects/lib/affix/affix.ts","../../../projects/lib/affix/ngwr-affix.ts"],"sourcesContent":["/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n DestroyRef,\n Directive,\n ElementRef,\n Injector,\n PLATFORM_ID,\n afterNextRender,\n effect,\n inject,\n input,\n output,\n} from '@angular/core';\n\n/**\n * Stick-on-scroll directive. Combines native CSS `position: sticky` with\n * an `IntersectionObserver`-driven `wr-affix--active` state class, so consumers\n * can style the element differently while it's pinned (e.g. add a\n * shadow, change the background, shrink the height).\n *\n * The host gets `position: sticky; top: ${offsetTop}px;` inline. A tiny\n * sentinel `<div>` is inserted just before the host — when the sentinel\n * scrolls out of view, the host is \"stuck\" and gets `wr-affix--active`\n * + an `(wrAffixChange)` emission.\n *\n * Works inside any scroll container without configuration — CSS sticky\n * picks the nearest scrollable ancestor automatically.\n *\n * @example\n * ```html\n * <header wrAffix [wrAffixOffsetTop]=\"0\">\n * <!-- adds a shadow once stuck -->\n * </header>\n * ```\n *\n * ```scss\n * header.wr-affix.wr-affix--active {\n * box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);\n * }\n * ```\n */\n@Directive({\n selector: '[wrAffix]',\n host: {\n class: 'wr-affix',\n '[style.position]': '\"sticky\"',\n '[style.top.px]': 'offsetTop()',\n },\n})\nexport class WrAffix {\n /** Pixels from the top of the scroll container when stuck. @default 0 */\n readonly offsetTop = input(0, {\n alias: 'wrAffixOffsetTop',\n transform: (v: unknown): number => coerceNumberProperty(v, 0),\n });\n\n /** Emits `true` when the element becomes affixed, `false` when it unsticks. */\n // eslint-disable-next-line @angular-eslint/no-output-rename -- keep wr-prefixed binding to match `[wrAffix]`\n readonly affixChange = output<boolean>({ alias: 'wrAffixChange' });\n\n private readonly host = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly destroyRef = inject(DestroyRef);\n private readonly isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n /**\n * `afterNextRender`'s callback is not an injection context, and the observer\n * cannot exist before the sentinel it watches — so the effect that rebuilds it\n * is handed the injector explicitly.\n */\n private readonly injector = inject(Injector);\n\n constructor() {\n if (!this.isBrowser) return;\n\n afterNextRender(() => {\n const el = this.host.nativeElement;\n const parent = el.parentElement;\n if (!parent) return;\n\n // Sentinel: an empty zero-height block placed immediately before\n // the host. When the sentinel scrolls out of view, the host is\n // necessarily \"stuck\" at the configured offset.\n const sentinel = el.ownerDocument.createElement('div');\n sentinel.className = 'wr-affix__sentinel';\n sentinel.setAttribute('aria-hidden', 'true');\n sentinel.style.cssText = 'height:0;width:100%;margin:0;padding:0;pointer-events:none;';\n parent.insertBefore(sentinel, el);\n\n // The observer reports STATE, not transitions: it delivers an entry for the\n // sentinel as soon as it starts watching it — before anything has scrolled —\n // and can repeat a state the host is already in (a resize, another crossing of\n // the same threshold). `affixChange` is documented as the transition, so it\n // only fires on one. The starting state is \"not affixed\", which is what the\n // element already renders as, so that first entry is silent.\n let affixed = false;\n\n let observer: IntersectionObserver | null = null;\n\n // `rootMargin` is fixed for an observer's lifetime, so a changed offset means\n // a NEW observer. Without this the two halves of the offset drifted apart:\n // `[style.top.px]` is a live binding, so a header that animates its offset\n // pinned at the new line while still flipping state at the old one.\n // Re-observing re-delivers the current state, which the transition guard\n // above absorbs when nothing has actually changed.\n effect(\n onCleanup => {\n const offset = this.offsetTop();\n\n observer = new IntersectionObserver(\n ([entry]) => {\n // NOT `!entry.isIntersecting` on its own. A sentinel is outside\n // the root in TWO directions, and only one of them means the\n // header has stuck: above the line because the page scrolled past\n // it, or below it because the host simply starts further down the\n // page than the first screen. The bare negation called both\n // \"affixed\", so any sticky element below the fold reported\n // `affixed = true` and painted `.wr-affix--active` on its very\n // first observer callback — before a pixel had scrolled — and\n // emitted a transition that never happened.\n //\n // `rootBounds.top` is the offset line (the negative `rootMargin`\n // above moves it), so a sentinel above it has genuinely gone by.\n const rootTop = entry.rootBounds?.top ?? offset;\n const next = !entry.isIntersecting && entry.boundingClientRect.top < rootTop;\n if (next === affixed) return;\n\n affixed = next;\n el.classList.toggle('wr-affix--active', next);\n this.affixChange.emit(next);\n },\n {\n // Trigger when the sentinel's top crosses the offset line.\n rootMargin: `-${offset}px 0px 0px 0px`,\n threshold: [0],\n }\n );\n observer.observe(sentinel);\n\n onCleanup(() => observer?.disconnect());\n },\n { injector: this.injector }\n );\n\n this.destroyRef.onDestroy(() => {\n observer?.disconnect();\n sentinel.remove();\n el.classList.remove('wr-affix--active');\n });\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngwr-affix.mjs","names":[],"sources":["../../../projects/lib/affix/affix.ts"],"sourcesContent":["/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n DestroyRef,\n Directive,\n ElementRef,\n Injector,\n PLATFORM_ID,\n afterNextRender,\n effect,\n inject,\n input,\n output,\n} from '@angular/core';\n\n/**\n * Stick-on-scroll directive. Combines native CSS `position: sticky` with\n * an `IntersectionObserver`-driven `wr-affix--active` state class, so consumers\n * can style the element differently while it's pinned (e.g. add a\n * shadow, change the background, shrink the height).\n *\n * The host gets `position: sticky; top: ${offsetTop}px;` inline. A tiny\n * sentinel `<div>` is inserted just before the host — when the sentinel\n * scrolls out of view, the host is \"stuck\" and gets `wr-affix--active`\n * + an `(wrAffixChange)` emission.\n *\n * Works inside any scroll container without configuration — CSS sticky\n * picks the nearest scrollable ancestor automatically.\n *\n * @example\n * ```html\n * <header wrAffix [wrAffixOffsetTop]=\"0\">\n * <!-- adds a shadow once stuck -->\n * </header>\n * ```\n *\n * ```scss\n * header.wr-affix.wr-affix--active {\n * box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);\n * }\n * ```\n */\n@Directive({\n selector: '[wrAffix]',\n host: {\n class: 'wr-affix',\n '[style.position]': '\"sticky\"',\n '[style.top.px]': 'offsetTop()',\n },\n})\nexport class WrAffix {\n /** Pixels from the top of the scroll container when stuck. @default 0 */\n readonly offsetTop = input(0, {\n alias: 'wrAffixOffsetTop',\n transform: (v: unknown): number => coerceNumberProperty(v, 0),\n });\n\n /** Emits `true` when the element becomes affixed, `false` when it unsticks. */\n // eslint-disable-next-line @angular-eslint/no-output-rename -- keep wr-prefixed binding to match `[wrAffix]`\n readonly affixChange = output<boolean>({ alias: 'wrAffixChange' });\n\n private readonly host = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly destroyRef = inject(DestroyRef);\n private readonly isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n /**\n * `afterNextRender`'s callback is not an injection context, and the observer\n * cannot exist before the sentinel it watches — so the effect that rebuilds it\n * is handed the injector explicitly.\n */\n private readonly injector = inject(Injector);\n\n constructor() {\n if (!this.isBrowser) return;\n\n afterNextRender(() => {\n const el = this.host.nativeElement;\n const parent = el.parentElement;\n if (!parent) return;\n\n // Sentinel: an empty zero-height block placed immediately before\n // the host. When the sentinel scrolls out of view, the host is\n // necessarily \"stuck\" at the configured offset.\n const sentinel = el.ownerDocument.createElement('div');\n sentinel.className = 'wr-affix__sentinel';\n sentinel.setAttribute('aria-hidden', 'true');\n sentinel.style.cssText = 'height:0;width:100%;margin:0;padding:0;pointer-events:none;';\n parent.insertBefore(sentinel, el);\n\n // The observer reports STATE, not transitions: it delivers an entry for the\n // sentinel as soon as it starts watching it — before anything has scrolled —\n // and can repeat a state the host is already in (a resize, another crossing of\n // the same threshold). `affixChange` is documented as the transition, so it\n // only fires on one. The starting state is \"not affixed\", which is what the\n // element already renders as, so that first entry is silent.\n let affixed = false;\n\n let observer: IntersectionObserver | null = null;\n\n // `rootMargin` is fixed for an observer's lifetime, so a changed offset means\n // a NEW observer. Without this the two halves of the offset drifted apart:\n // `[style.top.px]` is a live binding, so a header that animates its offset\n // pinned at the new line while still flipping state at the old one.\n // Re-observing re-delivers the current state, which the transition guard\n // above absorbs when nothing has actually changed.\n effect(\n onCleanup => {\n const offset = this.offsetTop();\n\n observer = new IntersectionObserver(\n ([entry]) => {\n // NOT `!entry.isIntersecting` on its own. A sentinel is outside\n // the root in TWO directions, and only one of them means the\n // header has stuck: above the line because the page scrolled past\n // it, or below it because the host simply starts further down the\n // page than the first screen. The bare negation called both\n // \"affixed\", so any sticky element below the fold reported\n // `affixed = true` and painted `.wr-affix--active` on its very\n // first observer callback — before a pixel had scrolled — and\n // emitted a transition that never happened.\n //\n // `rootBounds.top` is the offset line (the negative `rootMargin`\n // above moves it), so a sentinel above it has genuinely gone by.\n const rootTop = entry.rootBounds?.top ?? offset;\n const next = !entry.isIntersecting && entry.boundingClientRect.top < rootTop;\n if (next === affixed) return;\n\n affixed = next;\n el.classList.toggle('wr-affix--active', next);\n this.affixChange.emit(next);\n },\n {\n // Trigger when the sentinel's top crosses the offset line.\n rootMargin: `-${offset}px 0px 0px 0px`,\n threshold: [0],\n }\n );\n observer.observe(sentinel);\n\n onCleanup(() => observer?.disconnect());\n },\n { injector: this.injector }\n );\n\n this.destroyRef.onDestroy(() => {\n observer?.disconnect();\n sentinel.remove();\n el.classList.remove('wr-affix--active');\n });\n });\n }\n}\n"],"mappings":";;;;;;;;;;AAyDA,IAAa,UAAb,MAAa,QAAO;CAET,YAAY,MAAM,GAAC;EAAA,GAAA,YAAA,EAAA,WAAA,YAAA,+BAAA,CAAA;EAC1B,OAAO;EACP,YAAY,MAAuB,qBAAqB,GAAG,CAAC;CAAC,CAAA;CAKtD,cAAc,OAAgB,EAAE,OAAO,gBAAe,CAAE;CAEhD,OAAO,OAAgC,UAAU;CACjD,aAAa,OAAO,UAAU;CAC9B,YAAY,kBAAkB,OAAO,WAAW,CAAC;CAMjD,WAAW,OAAO,QAAQ;CAE3C,cAAA;EACE,IAAI,CAAC,KAAK,WAAW;EAErB,sBAAqB;GACnB,MAAM,KAAK,KAAK,KAAK;GACrB,MAAM,SAAS,GAAG;GAClB,IAAI,CAAC,QAAQ;GAKb,MAAM,WAAW,GAAG,cAAc,cAAc,KAAK;GACrD,SAAS,YAAY;GACrB,SAAS,aAAa,eAAe,MAAM;GAC3C,SAAS,MAAM,UAAU;GACzB,OAAO,aAAa,UAAU,EAAE;GAQhC,IAAI,UAAU;GAEd,IAAI,WAAwC;GAQ5C,QACE,cAAY;IACV,MAAM,SAAS,KAAK,UAAS;IAE7B,WAAW,IAAI,sBACZ,CAAC,WAAU;KAaV,MAAM,UAAU,MAAM,YAAY,OAAO;KACzC,MAAM,OAAO,CAAC,MAAM,kBAAkB,MAAM,mBAAmB,MAAM;KACrE,IAAI,SAAS,SAAS;KAEtB,UAAU;KACV,GAAG,UAAU,OAAO,oBAAoB,IAAI;KAC5C,KAAK,YAAY,KAAK,IAAI;IAC5B,GACA;KAEE,YAAY,IAAI,OAAM;KACtB,WAAW,CAAC,CAAC;IACd,CAAA;IAEH,SAAS,QAAQ,QAAQ;IAEzB,gBAAgB,UAAU,WAAU,CAAE;GACxC,GACA,EAAE,UAAU,KAAK,SAAQ,CAAE;GAG7B,KAAK,WAAW,gBAAe;IAC7B,UAAU,WAAU;IACpB,SAAS,OAAM;IACf,GAAG,UAAU,OAAO,kBAAkB;GACxC,CAAC;EACH,CAAC;CACH;CAnGW,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAO,MAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAAP,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAO,cAAA;EAAA,UAAA;EAAA,QAAA,EAAA,WAAA;GAAA,mBAAA;GAAA,YAAA;GAAA,UAAA;GAAA,YAAA;GAAA,mBAAA;EAAA,EAAA;EAAA,SAAA,EAAA,aAAA,gBAAA;EAAA,MAAA;GAAA,YAAA;IAAA,kBAAA;IAAA,gBAAA;GAAA;GAAA,gBAAA;EAAA;EAAA,UAAA;CAAA,CAAA;;AAAP,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAO,YAAA,CAAA;EARnB,MAAA;EAAU,MAAA,CAAA;GACT,UAAU;GACV,MAAM;IACJ,OAAO;IACP,oBAAoB;IACpB,kBAAkB;GACnB;EACF,CAAA"}
@@ -1,109 +1,206 @@
1
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
- import * as i0 from '@angular/core';
3
- import { input, output, signal, computed, ViewEncapsulation, Component } from '@angular/core';
4
- import { useI18nText } from 'ngwr/i18n';
5
- import { WrIcon } from 'ngwr/icon';
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
- * Inline status banner. Use for feedback messages — saved/failed/notice etc.
15
- *
16
- * @example
17
- * ```html
18
- * <wr-alert title="Saved" message="Your changes are live." type="success" />
19
- * <wr-alert title="Failed" type="danger" closable (closed)="onClose()" />
20
- * ```
21
- *
22
- * @see https://ngwr.dev/reference/components/alert
23
- */
24
- class WrAlert {
25
- /** Accessible name. Falls back to `alert.close`, then `'Close alert'`. */
26
- closeLabel = input(null, /* @ts-ignore */
27
- ...(ngDevMode ? [{ debugName: "closeLabel" }] : /* istanbul ignore next */ []));
28
- resolvedCloseLabel = useI18nText(this.closeLabel, 'alert.close', 'Close alert');
29
- /**
30
- * Optional headline shown at the top of the alert.
31
- *
32
- * @default null
33
- */
34
- title = input(null, /* @ts-ignore */
35
- ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
36
- /**
37
- * Visual variant.
38
- *
39
- * @default 'info'
40
- */
41
- type = input('info', /* @ts-ignore */
42
- ...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
43
- /**
44
- * Override the default per-type icon with any ngwr icon name.
45
- *
46
- * @default null
47
- */
48
- iconName = input(null, /* @ts-ignore */
49
- ...(ngDevMode ? [{ debugName: "iconName" }] : /* istanbul ignore next */ []));
50
- /**
51
- * Optional secondary message rendered below the title.
52
- *
53
- * @default null
54
- */
55
- message = input(null, /* @ts-ignore */
56
- ...(ngDevMode ? [{ debugName: "message" }] : /* istanbul ignore next */ []));
57
- /**
58
- * When `true`, renders a leading status icon matching the `type`.
59
- * Pass `false` to hide. Ignored when `iconName` is set.
60
- *
61
- * @default true
62
- */
63
- icon = input(true, { ...(ngDevMode ? { debugName: "icon" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
64
- /**
65
- * When `true`, renders a close button.
66
- *
67
- * @default false
68
- */
69
- closable = input(false, { ...(ngDevMode ? { debugName: "closable" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
70
- /**
71
- * Emitted when the user dismisses the alert via the close button.
72
- */
73
- closed = output();
74
- dismissed = signal(false, /* @ts-ignore */
75
- ...(ngDevMode ? [{ debugName: "dismissed" }] : /* istanbul ignore next */ []));
76
- classes = computed(() => {
77
- const parts = ['wr-alert', `wr-alert--${this.type()}`];
78
- if (this.dismissed())
79
- parts.push('wr-alert--dismissed');
80
- return parts.join(' ');
81
- }, /* @ts-ignore */
82
- ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
83
- /** Escalate role/aria-live for danger/warning alerts. */
84
- liveRole = computed(() => this.dismissed() ? null : this.type() === 'danger' ? 'alert' : 'status', /* @ts-ignore */
85
- ...(ngDevMode ? [{ debugName: "liveRole" }] : /* istanbul ignore next */ []));
86
- liveLevel = computed(() => this.dismissed() ? null : this.type() === 'danger' || this.type() === 'warning' ? 'assertive' : 'polite', /* @ts-ignore */
87
- ...(ngDevMode ? [{ debugName: "liveLevel" }] : /* istanbul ignore next */ []));
88
- onClose() {
89
- this.dismissed.set(true);
90
- this.closed.emit();
91
- }
92
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: WrAlert, deps: [], target: i0.ɵɵFactoryTarget.Component });
93
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: WrAlert, isStandalone: true, selector: "wr-alert", inputs: { closeLabel: { classPropertyName: "closeLabel", publicName: "closeLabel", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, iconName: { classPropertyName: "iconName", publicName: "iconName", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, closable: { classPropertyName: "closable", publicName: "closable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed" }, host: { properties: { "class": "classes()", "attr.role": "liveRole()", "attr.aria-live": "liveLevel()" } }, ngImport: i0, template: "@if (!dismissed()) {\n @if (iconName(); as n) {\n <wr-icon class=\"wr-alert__icon\" [name]=\"n\" />\n } @else if (icon()) {\n <svg\n class=\"wr-alert__icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n @switch (type()) {\n @case ('success') {\n <path d=\"M21.801 10A10 10 0 1 1 17 3.335\" />\n <path d=\"m9 11 3 3L22 4\" />\n }\n @case ('warning') {\n <path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\" />\n <path d=\"M12 9v4\" />\n <path d=\"M12 17h.01\" />\n }\n <!-- An OCTAGON, and the shape is the point. `danger` used to be a\n circle holding a bar over a dot, which is the vertical mirror of\n the `i` the @default branch draws \u2014 at the rendered 18px the two\n differ only by where a 1.5px gap sits. The stop-sign silhouette\n reads at that size and survives greyscale, which a mirrored gap\n does not. -->\n @case ('danger') {\n <path\n d=\"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z\"\n />\n <path d=\"M12 8v4\" />\n <path d=\"M12 16h.01\" />\n }\n <!-- A bar, not the exclamation mark `danger` used to carry: `neutral`\n emitted that glyph byte for byte. The icon is the whole difference\n between these two, because what the component actually paints \u2014\n `danger-ink` #a32a33 (L 0.0968) against `on-surface-muted` #5f6c7d\n (L 0.1464) on tints 1.036:1 apart \u2014 is a hue difference and little\n else. -->\n @case ('neutral') {\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M8 12h8\" />\n }\n @case ('offline') {\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"m4.9 4.9 14.2 14.2\" />\n }\n @default {\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M12 16v-4\" />\n <path d=\"M12 8h.01\" />\n }\n }\n </svg>\n }\n\n <div class=\"wr-alert__body\">\n @if (title(); as t) {\n <p class=\"wr-alert__title\">{{ t }}</p>\n @if (message(); as m) {\n <p class=\"wr-alert__message\">{{ m }}</p>\n }\n } @else if (message(); as m) {\n <p class=\"wr-alert__title\">{{ m }}</p>\n }\n </div>\n\n @if (closable()) {\n <button type=\"button\" class=\"wr-alert__close\" [attr.aria-label]=\"resolvedCloseLabel()\" (click)=\"onClose()\">\n <svg\n class=\"wr-icon__svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n </button>\n }\n}\n", dependencies: [{ kind: "component", type: WrIcon, selector: "wr-icon", inputs: ["name"] }], encapsulation: i0.ViewEncapsulation.None });
94
- }
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: WrAlert, decorators: [{
96
- type: Component,
97
- args: [{ selector: 'wr-alert', imports: [WrIcon], encapsulation: ViewEncapsulation.None, host: {
98
- '[class]': 'classes()',
99
- '[attr.role]': 'liveRole()',
100
- '[attr.aria-live]': 'liveLevel()',
101
- }, template: "@if (!dismissed()) {\n @if (iconName(); as n) {\n <wr-icon class=\"wr-alert__icon\" [name]=\"n\" />\n } @else if (icon()) {\n <svg\n class=\"wr-alert__icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n @switch (type()) {\n @case ('success') {\n <path d=\"M21.801 10A10 10 0 1 1 17 3.335\" />\n <path d=\"m9 11 3 3L22 4\" />\n }\n @case ('warning') {\n <path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\" />\n <path d=\"M12 9v4\" />\n <path d=\"M12 17h.01\" />\n }\n <!-- An OCTAGON, and the shape is the point. `danger` used to be a\n circle holding a bar over a dot, which is the vertical mirror of\n the `i` the @default branch draws \u2014 at the rendered 18px the two\n differ only by where a 1.5px gap sits. The stop-sign silhouette\n reads at that size and survives greyscale, which a mirrored gap\n does not. -->\n @case ('danger') {\n <path\n d=\"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z\"\n />\n <path d=\"M12 8v4\" />\n <path d=\"M12 16h.01\" />\n }\n <!-- A bar, not the exclamation mark `danger` used to carry: `neutral`\n emitted that glyph byte for byte. The icon is the whole difference\n between these two, because what the component actually paints \u2014\n `danger-ink` #a32a33 (L 0.0968) against `on-surface-muted` #5f6c7d\n (L 0.1464) on tints 1.036:1 apart \u2014 is a hue difference and little\n else. -->\n @case ('neutral') {\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M8 12h8\" />\n }\n @case ('offline') {\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"m4.9 4.9 14.2 14.2\" />\n }\n @default {\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M12 16v-4\" />\n <path d=\"M12 8h.01\" />\n }\n }\n </svg>\n }\n\n <div class=\"wr-alert__body\">\n @if (title(); as t) {\n <p class=\"wr-alert__title\">{{ t }}</p>\n @if (message(); as m) {\n <p class=\"wr-alert__message\">{{ m }}</p>\n }\n } @else if (message(); as m) {\n <p class=\"wr-alert__title\">{{ m }}</p>\n }\n </div>\n\n @if (closable()) {\n <button type=\"button\" class=\"wr-alert__close\" [attr.aria-label]=\"resolvedCloseLabel()\" (click)=\"onClose()\">\n <svg\n class=\"wr-icon__svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n </button>\n }\n}\n" }]
102
- }], propDecorators: { closeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeLabel", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], iconName: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconName", required: false }] }], message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], closable: [{ type: i0.Input, args: [{ isSignal: true, alias: "closable", required: false }] }], closed: [{ type: i0.Output, args: ["closed"] }] } });
103
-
1
+ import { coerceBooleanProperty } from "@angular/cdk/coercion";
2
+ import * as i0 from "@angular/core";
3
+ import { Component, ViewEncapsulation, computed, input, output, signal } from "@angular/core";
4
+ import { useI18nText } from "ngwr/i18n";
5
+ import { WrIcon } from "ngwr/icon";
104
6
  /**
105
- * Generated bundle index. Do not edit.
106
- */
107
-
7
+ * @license
8
+ *
9
+ * Use of this source code is governed by an MIT-style license that can be
10
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
11
+ */
12
+ var WrAlert = class WrAlert {
13
+ closeLabel = input(null, ...ngDevMode ? [{ debugName: "closeLabel" }] : /* istanbul ignore next */ []);
14
+ resolvedCloseLabel = useI18nText(this.closeLabel, "alert.close", "Close alert");
15
+ title = input(null, ...ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []);
16
+ type = input("info", ...ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []);
17
+ iconName = input(null, ...ngDevMode ? [{ debugName: "iconName" }] : /* istanbul ignore next */ []);
18
+ message = input(null, ...ngDevMode ? [{ debugName: "message" }] : /* istanbul ignore next */ []);
19
+ icon = input(true, {
20
+ ...ngDevMode ? { debugName: "icon" } : /* istanbul ignore next */ {},
21
+ transform: coerceBooleanProperty
22
+ });
23
+ closable = input(false, {
24
+ ...ngDevMode ? { debugName: "closable" } : /* istanbul ignore next */ {},
25
+ transform: coerceBooleanProperty
26
+ });
27
+ closed = output();
28
+ dismissed = signal(false, ...ngDevMode ? [{ debugName: "dismissed" }] : /* istanbul ignore next */ []);
29
+ classes = computed(() => {
30
+ const parts = ["wr-alert", `wr-alert--${this.type()}`];
31
+ if (this.dismissed()) parts.push("wr-alert--dismissed");
32
+ return parts.join(" ");
33
+ }, ...ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []);
34
+ liveRole = computed(() => this.dismissed() ? null : this.type() === "danger" ? "alert" : "status", ...ngDevMode ? [{ debugName: "liveRole" }] : /* istanbul ignore next */ []);
35
+ liveLevel = computed(() => this.dismissed() ? null : this.type() === "danger" || this.type() === "warning" ? "assertive" : "polite", ...ngDevMode ? [{ debugName: "liveLevel" }] : /* istanbul ignore next */ []);
36
+ onClose() {
37
+ this.dismissed.set(true);
38
+ this.closed.emit();
39
+ }
40
+ static ɵfac = i0.ɵɵngDeclareFactory({
41
+ minVersion: "12.0.0",
42
+ version: "22.2.0",
43
+ ngImport: i0,
44
+ type: WrAlert,
45
+ deps: [],
46
+ target: i0.ɵɵFactoryTarget.Component
47
+ });
48
+ static ɵcmp = i0.ɵɵngDeclareComponent({
49
+ minVersion: "17.0.0",
50
+ version: "22.2.0",
51
+ type: WrAlert,
52
+ isStandalone: true,
53
+ selector: "wr-alert",
54
+ inputs: {
55
+ closeLabel: {
56
+ classPropertyName: "closeLabel",
57
+ publicName: "closeLabel",
58
+ isSignal: true,
59
+ isRequired: false,
60
+ transformFunction: null
61
+ },
62
+ title: {
63
+ classPropertyName: "title",
64
+ publicName: "title",
65
+ isSignal: true,
66
+ isRequired: false,
67
+ transformFunction: null
68
+ },
69
+ type: {
70
+ classPropertyName: "type",
71
+ publicName: "type",
72
+ isSignal: true,
73
+ isRequired: false,
74
+ transformFunction: null
75
+ },
76
+ iconName: {
77
+ classPropertyName: "iconName",
78
+ publicName: "iconName",
79
+ isSignal: true,
80
+ isRequired: false,
81
+ transformFunction: null
82
+ },
83
+ message: {
84
+ classPropertyName: "message",
85
+ publicName: "message",
86
+ isSignal: true,
87
+ isRequired: false,
88
+ transformFunction: null
89
+ },
90
+ icon: {
91
+ classPropertyName: "icon",
92
+ publicName: "icon",
93
+ isSignal: true,
94
+ isRequired: false,
95
+ transformFunction: null
96
+ },
97
+ closable: {
98
+ classPropertyName: "closable",
99
+ publicName: "closable",
100
+ isSignal: true,
101
+ isRequired: false,
102
+ transformFunction: null
103
+ }
104
+ },
105
+ outputs: { closed: "closed" },
106
+ host: { properties: {
107
+ "class": "classes()",
108
+ "attr.role": "liveRole()",
109
+ "attr.aria-live": "liveLevel()"
110
+ } },
111
+ ngImport: i0,
112
+ template: "@if (!dismissed()) {\n @if (iconName(); as n) {\n <wr-icon class=\"wr-alert__icon\" [name]=\"n\" />\n } @else if (icon()) {\n <svg\n class=\"wr-alert__icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n @switch (type()) {\n @case ('success') {\n <path d=\"M21.801 10A10 10 0 1 1 17 3.335\" />\n <path d=\"m9 11 3 3L22 4\" />\n }\n @case ('warning') {\n <path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\" />\n <path d=\"M12 9v4\" />\n <path d=\"M12 17h.01\" />\n }\n <!-- An OCTAGON, and the shape is the point. `danger` used to be a\n circle holding a bar over a dot, which is the vertical mirror of\n the `i` the @default branch draws — at the rendered 18px the two\n differ only by where a 1.5px gap sits. The stop-sign silhouette\n reads at that size and survives greyscale, which a mirrored gap\n does not. -->\n @case ('danger') {\n <path\n d=\"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z\"\n />\n <path d=\"M12 8v4\" />\n <path d=\"M12 16h.01\" />\n }\n <!-- A bar, not the exclamation mark `danger` used to carry: `neutral`\n emitted that glyph byte for byte. The icon is the whole difference\n between these two, because what the component actually paints —\n `danger-ink` #a32a33 (L 0.0968) against `on-surface-muted` #5f6c7d\n (L 0.1464) on tints 1.036:1 apart — is a hue difference and little\n else. -->\n @case ('neutral') {\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M8 12h8\" />\n }\n @case ('offline') {\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"m4.9 4.9 14.2 14.2\" />\n }\n @default {\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M12 16v-4\" />\n <path d=\"M12 8h.01\" />\n }\n }\n </svg>\n }\n\n <div class=\"wr-alert__body\">\n @if (title(); as t) {\n <p class=\"wr-alert__title\">{{ t }}</p>\n @if (message(); as m) {\n <p class=\"wr-alert__message\">{{ m }}</p>\n }\n } @else if (message(); as m) {\n <p class=\"wr-alert__title\">{{ m }}</p>\n }\n </div>\n\n @if (closable()) {\n <button type=\"button\" class=\"wr-alert__close\" [attr.aria-label]=\"resolvedCloseLabel()\" (click)=\"onClose()\">\n <svg\n class=\"wr-icon__svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n </button>\n }\n}\n",
113
+ dependencies: [{
114
+ kind: "component",
115
+ type: WrIcon,
116
+ selector: "wr-icon",
117
+ inputs: ["name"]
118
+ }],
119
+ encapsulation: i0.ViewEncapsulation.None
120
+ });
121
+ };
122
+ i0.ɵɵngDeclareClassMetadata({
123
+ minVersion: "12.0.0",
124
+ version: "22.2.0",
125
+ ngImport: i0,
126
+ type: WrAlert,
127
+ decorators: [{
128
+ type: Component,
129
+ args: [{
130
+ selector: "wr-alert",
131
+ imports: [WrIcon],
132
+ encapsulation: ViewEncapsulation.None,
133
+ host: {
134
+ "[class]": "classes()",
135
+ "[attr.role]": "liveRole()",
136
+ "[attr.aria-live]": "liveLevel()"
137
+ },
138
+ template: "@if (!dismissed()) {\n @if (iconName(); as n) {\n <wr-icon class=\"wr-alert__icon\" [name]=\"n\" />\n } @else if (icon()) {\n <svg\n class=\"wr-alert__icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n @switch (type()) {\n @case ('success') {\n <path d=\"M21.801 10A10 10 0 1 1 17 3.335\" />\n <path d=\"m9 11 3 3L22 4\" />\n }\n @case ('warning') {\n <path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\" />\n <path d=\"M12 9v4\" />\n <path d=\"M12 17h.01\" />\n }\n <!-- An OCTAGON, and the shape is the point. `danger` used to be a\n circle holding a bar over a dot, which is the vertical mirror of\n the `i` the @default branch draws — at the rendered 18px the two\n differ only by where a 1.5px gap sits. The stop-sign silhouette\n reads at that size and survives greyscale, which a mirrored gap\n does not. -->\n @case ('danger') {\n <path\n d=\"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z\"\n />\n <path d=\"M12 8v4\" />\n <path d=\"M12 16h.01\" />\n }\n <!-- A bar, not the exclamation mark `danger` used to carry: `neutral`\n emitted that glyph byte for byte. The icon is the whole difference\n between these two, because what the component actually paints —\n `danger-ink` #a32a33 (L 0.0968) against `on-surface-muted` #5f6c7d\n (L 0.1464) on tints 1.036:1 apart — is a hue difference and little\n else. -->\n @case ('neutral') {\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M8 12h8\" />\n }\n @case ('offline') {\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"m4.9 4.9 14.2 14.2\" />\n }\n @default {\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M12 16v-4\" />\n <path d=\"M12 8h.01\" />\n }\n }\n </svg>\n }\n\n <div class=\"wr-alert__body\">\n @if (title(); as t) {\n <p class=\"wr-alert__title\">{{ t }}</p>\n @if (message(); as m) {\n <p class=\"wr-alert__message\">{{ m }}</p>\n }\n } @else if (message(); as m) {\n <p class=\"wr-alert__title\">{{ m }}</p>\n }\n </div>\n\n @if (closable()) {\n <button type=\"button\" class=\"wr-alert__close\" [attr.aria-label]=\"resolvedCloseLabel()\" (click)=\"onClose()\">\n <svg\n class=\"wr-icon__svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n </button>\n }\n}\n"
139
+ }]
140
+ }],
141
+ propDecorators: {
142
+ closeLabel: [{
143
+ type: i0.Input,
144
+ args: [{
145
+ isSignal: true,
146
+ alias: "closeLabel",
147
+ required: false
148
+ }]
149
+ }],
150
+ title: [{
151
+ type: i0.Input,
152
+ args: [{
153
+ isSignal: true,
154
+ alias: "title",
155
+ required: false
156
+ }]
157
+ }],
158
+ type: [{
159
+ type: i0.Input,
160
+ args: [{
161
+ isSignal: true,
162
+ alias: "type",
163
+ required: false
164
+ }]
165
+ }],
166
+ iconName: [{
167
+ type: i0.Input,
168
+ args: [{
169
+ isSignal: true,
170
+ alias: "iconName",
171
+ required: false
172
+ }]
173
+ }],
174
+ message: [{
175
+ type: i0.Input,
176
+ args: [{
177
+ isSignal: true,
178
+ alias: "message",
179
+ required: false
180
+ }]
181
+ }],
182
+ icon: [{
183
+ type: i0.Input,
184
+ args: [{
185
+ isSignal: true,
186
+ alias: "icon",
187
+ required: false
188
+ }]
189
+ }],
190
+ closable: [{
191
+ type: i0.Input,
192
+ args: [{
193
+ isSignal: true,
194
+ alias: "closable",
195
+ required: false
196
+ }]
197
+ }],
198
+ closed: [{
199
+ type: i0.Output,
200
+ args: ["closed"]
201
+ }]
202
+ }
203
+ });
108
204
  export { WrAlert };
109
- //# sourceMappingURL=ngwr-alert.mjs.map
205
+
206
+ //# sourceMappingURL=ngwr-alert.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngwr-alert.mjs","sources":["../../../projects/lib/alert/alert.ts","../../../projects/lib/alert/alert.html","../../../projects/lib/alert/ngwr-alert.ts"],"sourcesContent":["/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Component, ViewEncapsulation, computed, input, output, signal } from '@angular/core';\n\nimport { useI18nText } from 'ngwr/i18n';\nimport { WrIcon, type WrIconName } from 'ngwr/icon';\n\nimport type { WrAlertType } from './interfaces';\n\n/**\n * Inline status banner. Use for feedback messages — saved/failed/notice etc.\n *\n * @example\n * ```html\n * <wr-alert title=\"Saved\" message=\"Your changes are live.\" type=\"success\" />\n * <wr-alert title=\"Failed\" type=\"danger\" closable (closed)=\"onClose()\" />\n * ```\n *\n * @see https://ngwr.dev/reference/components/alert\n */\n@Component({\n selector: 'wr-alert',\n templateUrl: './alert.html',\n imports: [WrIcon],\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'classes()',\n '[attr.role]': 'liveRole()',\n '[attr.aria-live]': 'liveLevel()',\n },\n})\nexport class WrAlert {\n /** Accessible name. Falls back to `alert.close`, then `'Close alert'`. */\n readonly closeLabel = input<string | null>(null);\n\n protected readonly resolvedCloseLabel = useI18nText(this.closeLabel, 'alert.close', 'Close alert');\n\n /**\n * Optional headline shown at the top of the alert.\n *\n * @default null\n */\n readonly title = input<string | null>(null);\n\n /**\n * Visual variant.\n *\n * @default 'info'\n */\n readonly type = input<WrAlertType>('info');\n\n /**\n * Override the default per-type icon with any ngwr icon name.\n *\n * @default null\n */\n readonly iconName = input<WrIconName | null>(null);\n\n /**\n * Optional secondary message rendered below the title.\n *\n * @default null\n */\n readonly message = input<string | null>(null);\n\n /**\n * When `true`, renders a leading status icon matching the `type`.\n * Pass `false` to hide. Ignored when `iconName` is set.\n *\n * @default true\n */\n readonly icon = input(true, { transform: coerceBooleanProperty });\n\n /**\n * When `true`, renders a close button.\n *\n * @default false\n */\n readonly closable = input(false, { transform: coerceBooleanProperty });\n\n /**\n * Emitted when the user dismisses the alert via the close button.\n */\n readonly closed = output<void>();\n\n protected readonly dismissed = signal(false);\n\n protected readonly classes = computed(() => {\n const parts = ['wr-alert', `wr-alert--${this.type()}`];\n if (this.dismissed()) parts.push('wr-alert--dismissed');\n return parts.join(' ');\n });\n\n /** Escalate role/aria-live for danger/warning alerts. */\n protected readonly liveRole = computed(() =>\n this.dismissed() ? null : this.type() === 'danger' ? 'alert' : 'status'\n );\n protected readonly liveLevel = computed(() =>\n this.dismissed() ? null : this.type() === 'danger' || this.type() === 'warning' ? 'assertive' : 'polite'\n );\n\n protected onClose(): void {\n this.dismissed.set(true);\n this.closed.emit();\n }\n}\n","@if (!dismissed()) {\n @if (iconName(); as n) {\n <wr-icon class=\"wr-alert__icon\" [name]=\"n\" />\n } @else if (icon()) {\n <svg\n class=\"wr-alert__icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n @switch (type()) {\n @case ('success') {\n <path d=\"M21.801 10A10 10 0 1 1 17 3.335\" />\n <path d=\"m9 11 3 3L22 4\" />\n }\n @case ('warning') {\n <path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\" />\n <path d=\"M12 9v4\" />\n <path d=\"M12 17h.01\" />\n }\n <!-- An OCTAGON, and the shape is the point. `danger` used to be a\n circle holding a bar over a dot, which is the vertical mirror of\n the `i` the @default branch draws — at the rendered 18px the two\n differ only by where a 1.5px gap sits. The stop-sign silhouette\n reads at that size and survives greyscale, which a mirrored gap\n does not. -->\n @case ('danger') {\n <path\n d=\"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z\"\n />\n <path d=\"M12 8v4\" />\n <path d=\"M12 16h.01\" />\n }\n <!-- A bar, not the exclamation mark `danger` used to carry: `neutral`\n emitted that glyph byte for byte. The icon is the whole difference\n between these two, because what the component actually paints —\n `danger-ink` #a32a33 (L 0.0968) against `on-surface-muted` #5f6c7d\n (L 0.1464) on tints 1.036:1 apart — is a hue difference and little\n else. -->\n @case ('neutral') {\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M8 12h8\" />\n }\n @case ('offline') {\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"m4.9 4.9 14.2 14.2\" />\n }\n @default {\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M12 16v-4\" />\n <path d=\"M12 8h.01\" />\n }\n }\n </svg>\n }\n\n <div class=\"wr-alert__body\">\n @if (title(); as t) {\n <p class=\"wr-alert__title\">{{ t }}</p>\n @if (message(); as m) {\n <p class=\"wr-alert__message\">{{ m }}</p>\n }\n } @else if (message(); as m) {\n <p class=\"wr-alert__title\">{{ m }}</p>\n }\n </div>\n\n @if (closable()) {\n <button type=\"button\" class=\"wr-alert__close\" [attr.aria-label]=\"resolvedCloseLabel()\" (click)=\"onClose()\">\n <svg\n class=\"wr-icon__svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n </button>\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngwr-alert.mjs","names":[],"sources":["../../../projects/lib/alert/alert.ts","../../../projects/lib/alert/alert.html"],"sourcesContent":["/**\n * @license\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE\n */\n\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Component, ViewEncapsulation, computed, input, output, signal } from '@angular/core';\n\nimport { useI18nText } from 'ngwr/i18n';\nimport { WrIcon, type WrIconName } from 'ngwr/icon';\n\nimport type { WrAlertType } from './interfaces';\n\n/**\n * Inline status banner. Use for feedback messages — saved/failed/notice etc.\n *\n * @example\n * ```html\n * <wr-alert title=\"Saved\" message=\"Your changes are live.\" type=\"success\" />\n * <wr-alert title=\"Failed\" type=\"danger\" closable (closed)=\"onClose()\" />\n * ```\n *\n * @see https://ngwr.dev/reference/components/alert\n */\n@Component({\n selector: 'wr-alert',\n templateUrl: './alert.html',\n imports: [WrIcon],\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'classes()',\n '[attr.role]': 'liveRole()',\n '[attr.aria-live]': 'liveLevel()',\n },\n})\nexport class WrAlert {\n /** Accessible name. Falls back to `alert.close`, then `'Close alert'`. */\n readonly closeLabel = input<string | null>(null);\n\n protected readonly resolvedCloseLabel = useI18nText(this.closeLabel, 'alert.close', 'Close alert');\n\n /**\n * Optional headline shown at the top of the alert.\n *\n * @default null\n */\n readonly title = input<string | null>(null);\n\n /**\n * Visual variant.\n *\n * @default 'info'\n */\n readonly type = input<WrAlertType>('info');\n\n /**\n * Override the default per-type icon with any ngwr icon name.\n *\n * @default null\n */\n readonly iconName = input<WrIconName | null>(null);\n\n /**\n * Optional secondary message rendered below the title.\n *\n * @default null\n */\n readonly message = input<string | null>(null);\n\n /**\n * When `true`, renders a leading status icon matching the `type`.\n * Pass `false` to hide. Ignored when `iconName` is set.\n *\n * @default true\n */\n readonly icon = input(true, { transform: coerceBooleanProperty });\n\n /**\n * When `true`, renders a close button.\n *\n * @default false\n */\n readonly closable = input(false, { transform: coerceBooleanProperty });\n\n /**\n * Emitted when the user dismisses the alert via the close button.\n */\n readonly closed = output<void>();\n\n protected readonly dismissed = signal(false);\n\n protected readonly classes = computed(() => {\n const parts = ['wr-alert', `wr-alert--${this.type()}`];\n if (this.dismissed()) parts.push('wr-alert--dismissed');\n return parts.join(' ');\n });\n\n /** Escalate role/aria-live for danger/warning alerts. */\n protected readonly liveRole = computed(() =>\n this.dismissed() ? null : this.type() === 'danger' ? 'alert' : 'status'\n );\n protected readonly liveLevel = computed(() =>\n this.dismissed() ? null : this.type() === 'danger' || this.type() === 'warning' ? 'assertive' : 'polite'\n );\n\n protected onClose(): void {\n this.dismissed.set(true);\n this.closed.emit();\n }\n}\n","@if (!dismissed()) {\n @if (iconName(); as n) {\n <wr-icon class=\"wr-alert__icon\" [name]=\"n\" />\n } @else if (icon()) {\n <svg\n class=\"wr-alert__icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n @switch (type()) {\n @case ('success') {\n <path d=\"M21.801 10A10 10 0 1 1 17 3.335\" />\n <path d=\"m9 11 3 3L22 4\" />\n }\n @case ('warning') {\n <path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\" />\n <path d=\"M12 9v4\" />\n <path d=\"M12 17h.01\" />\n }\n <!-- An OCTAGON, and the shape is the point. `danger` used to be a\n circle holding a bar over a dot, which is the vertical mirror of\n the `i` the @default branch draws — at the rendered 18px the two\n differ only by where a 1.5px gap sits. The stop-sign silhouette\n reads at that size and survives greyscale, which a mirrored gap\n does not. -->\n @case ('danger') {\n <path\n d=\"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z\"\n />\n <path d=\"M12 8v4\" />\n <path d=\"M12 16h.01\" />\n }\n <!-- A bar, not the exclamation mark `danger` used to carry: `neutral`\n emitted that glyph byte for byte. The icon is the whole difference\n between these two, because what the component actually paints —\n `danger-ink` #a32a33 (L 0.0968) against `on-surface-muted` #5f6c7d\n (L 0.1464) on tints 1.036:1 apart — is a hue difference and little\n else. -->\n @case ('neutral') {\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M8 12h8\" />\n }\n @case ('offline') {\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"m4.9 4.9 14.2 14.2\" />\n }\n @default {\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M12 16v-4\" />\n <path d=\"M12 8h.01\" />\n }\n }\n </svg>\n }\n\n <div class=\"wr-alert__body\">\n @if (title(); as t) {\n <p class=\"wr-alert__title\">{{ t }}</p>\n @if (message(); as m) {\n <p class=\"wr-alert__message\">{{ m }}</p>\n }\n } @else if (message(); as m) {\n <p class=\"wr-alert__title\">{{ m }}</p>\n }\n </div>\n\n @if (closable()) {\n <button type=\"button\" class=\"wr-alert__close\" [attr.aria-label]=\"resolvedCloseLabel()\" (click)=\"onClose()\">\n <svg\n class=\"wr-icon__svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n </button>\n }\n}\n"],"mappings":"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"}