ngwr 14.7.0 → 14.9.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 (482) hide show
  1. package/README.md +66 -332
  2. package/alert/styles/_index.scss +10 -0
  3. package/avatar/styles/_index.scss +18 -7
  4. package/badge/styles/_index.scss +7 -0
  5. package/badge/styles/_tag.scss +7 -1
  6. package/bar-chart/styles/_index.scss +1 -0
  7. package/button/styles/_index.scss +6 -0
  8. package/calendar-heatmap/styles/_index.scss +1 -0
  9. package/cascader/styles/_rules.scss +87 -15
  10. package/checkbox/styles/_index.scss +4 -0
  11. package/command-palette/styles/_index.scss +1 -1
  12. package/date-picker/styles/_index.scss +30 -0
  13. package/density/styles/_index.scss +4 -2
  14. package/divider/styles/_index.scss +2 -0
  15. package/donut-chart/styles/_index.scss +10 -0
  16. package/dropdown/styles/_index.scss +67 -5
  17. package/editor/styles/_index.scss +441 -0
  18. package/event-calendar/styles/_index.scss +209 -35
  19. package/fesm2022/ngwr-action-sheet-testing.mjs.map +1 -1
  20. package/fesm2022/ngwr-action-sheet.mjs +3 -3
  21. package/fesm2022/ngwr-action-sheet.mjs.map +1 -1
  22. package/fesm2022/ngwr-affix.mjs +3 -3
  23. package/fesm2022/ngwr-affix.mjs.map +1 -1
  24. package/fesm2022/ngwr-alert.mjs +3 -3
  25. package/fesm2022/ngwr-alert.mjs.map +1 -1
  26. package/fesm2022/ngwr-anchor.mjs +3 -3
  27. package/fesm2022/ngwr-anchor.mjs.map +1 -1
  28. package/fesm2022/ngwr-aurora.mjs +3 -3
  29. package/fesm2022/ngwr-aurora.mjs.map +1 -1
  30. package/fesm2022/ngwr-avatar.mjs +3 -3
  31. package/fesm2022/ngwr-avatar.mjs.map +1 -1
  32. package/fesm2022/ngwr-back-top.mjs +3 -3
  33. package/fesm2022/ngwr-back-top.mjs.map +1 -1
  34. package/fesm2022/ngwr-badge.mjs +28 -13
  35. package/fesm2022/ngwr-badge.mjs.map +1 -1
  36. package/fesm2022/ngwr-bar-chart-testing.mjs.map +1 -1
  37. package/fesm2022/ngwr-bar-chart.mjs +31 -6
  38. package/fesm2022/ngwr-bar-chart.mjs.map +1 -1
  39. package/fesm2022/ngwr-blur-text-testing.mjs.map +1 -1
  40. package/fesm2022/ngwr-blur-text.mjs +3 -3
  41. package/fesm2022/ngwr-blur-text.mjs.map +1 -1
  42. package/fesm2022/ngwr-border-glow-testing.mjs.map +1 -1
  43. package/fesm2022/ngwr-border-glow.mjs +3 -3
  44. package/fesm2022/ngwr-border-glow.mjs.map +1 -1
  45. package/fesm2022/ngwr-breadcrumbs.mjs +6 -6
  46. package/fesm2022/ngwr-breadcrumbs.mjs.map +1 -1
  47. package/fesm2022/ngwr-burger.mjs +3 -3
  48. package/fesm2022/ngwr-burger.mjs.map +1 -1
  49. package/fesm2022/ngwr-button-testing.mjs.map +1 -1
  50. package/fesm2022/ngwr-button.mjs +6 -6
  51. package/fesm2022/ngwr-button.mjs.map +1 -1
  52. package/fesm2022/ngwr-calendar-heatmap-testing.mjs.map +1 -1
  53. package/fesm2022/ngwr-calendar-heatmap.mjs +61 -6
  54. package/fesm2022/ngwr-calendar-heatmap.mjs.map +1 -1
  55. package/fesm2022/ngwr-calendar-testing.mjs.map +1 -1
  56. package/fesm2022/ngwr-calendar.mjs +3 -3
  57. package/fesm2022/ngwr-calendar.mjs.map +1 -1
  58. package/fesm2022/ngwr-card.mjs +9 -9
  59. package/fesm2022/ngwr-card.mjs.map +1 -1
  60. package/fesm2022/ngwr-carousel-testing.mjs.map +1 -1
  61. package/fesm2022/ngwr-carousel.mjs +6 -6
  62. package/fesm2022/ngwr-carousel.mjs.map +1 -1
  63. package/fesm2022/ngwr-cascader-testing.mjs.map +1 -1
  64. package/fesm2022/ngwr-cascader.mjs +4 -4
  65. package/fesm2022/ngwr-cascader.mjs.map +1 -1
  66. package/fesm2022/ngwr-checkbox-testing.mjs.map +1 -1
  67. package/fesm2022/ngwr-checkbox.mjs +18 -8
  68. package/fesm2022/ngwr-checkbox.mjs.map +1 -1
  69. package/fesm2022/ngwr-circular-text-testing.mjs.map +1 -1
  70. package/fesm2022/ngwr-circular-text.mjs +3 -3
  71. package/fesm2022/ngwr-circular-text.mjs.map +1 -1
  72. package/fesm2022/ngwr-click-spark.mjs +3 -3
  73. package/fesm2022/ngwr-click-spark.mjs.map +1 -1
  74. package/fesm2022/ngwr-clipboard.mjs +3 -3
  75. package/fesm2022/ngwr-clipboard.mjs.map +1 -1
  76. package/fesm2022/ngwr-collapse-testing.mjs.map +1 -1
  77. package/fesm2022/ngwr-collapse.mjs +9 -9
  78. package/fesm2022/ngwr-collapse.mjs.map +1 -1
  79. package/fesm2022/ngwr-color-picker-testing.mjs.map +1 -1
  80. package/fesm2022/ngwr-color-picker.mjs +6 -6
  81. package/fesm2022/ngwr-color-picker.mjs.map +1 -1
  82. package/fesm2022/ngwr-command-palette-testing.mjs.map +1 -1
  83. package/fesm2022/ngwr-command-palette.mjs +3 -3
  84. package/fesm2022/ngwr-command-palette.mjs.map +1 -1
  85. package/fesm2022/ngwr-compare.mjs +3 -3
  86. package/fesm2022/ngwr-compare.mjs.map +1 -1
  87. package/fesm2022/ngwr-confetti.mjs +3 -3
  88. package/fesm2022/ngwr-confetti.mjs.map +1 -1
  89. package/fesm2022/ngwr-config.mjs.map +1 -1
  90. package/fesm2022/ngwr-context-menu-testing.mjs.map +1 -1
  91. package/fesm2022/ngwr-context-menu.mjs +12 -12
  92. package/fesm2022/ngwr-context-menu.mjs.map +1 -1
  93. package/fesm2022/ngwr-cookie.mjs +3 -3
  94. package/fesm2022/ngwr-cookie.mjs.map +1 -1
  95. package/fesm2022/ngwr-counter.mjs +6 -6
  96. package/fesm2022/ngwr-counter.mjs.map +1 -1
  97. package/fesm2022/ngwr-date-adapters-fns.mjs +3 -3
  98. package/fesm2022/ngwr-date-adapters-fns.mjs.map +1 -1
  99. package/fesm2022/ngwr-date-adapters-luxon.mjs +3 -3
  100. package/fesm2022/ngwr-date-adapters-luxon.mjs.map +1 -1
  101. package/fesm2022/ngwr-date-picker-testing.mjs.map +1 -1
  102. package/fesm2022/ngwr-date-picker.mjs +721 -62
  103. package/fesm2022/ngwr-date-picker.mjs.map +1 -1
  104. package/fesm2022/ngwr-date.mjs +3 -3
  105. package/fesm2022/ngwr-date.mjs.map +1 -1
  106. package/fesm2022/ngwr-decrypt-text-testing.mjs.map +1 -1
  107. package/fesm2022/ngwr-decrypt-text.mjs +3 -3
  108. package/fesm2022/ngwr-decrypt-text.mjs.map +1 -1
  109. package/fesm2022/ngwr-density.mjs +6 -6
  110. package/fesm2022/ngwr-density.mjs.map +1 -1
  111. package/fesm2022/ngwr-descriptions.mjs +6 -6
  112. package/fesm2022/ngwr-descriptions.mjs.map +1 -1
  113. package/fesm2022/ngwr-dialog-testing.mjs.map +1 -1
  114. package/fesm2022/ngwr-dialog.mjs +15 -15
  115. package/fesm2022/ngwr-dialog.mjs.map +1 -1
  116. package/fesm2022/ngwr-directives.mjs +12 -12
  117. package/fesm2022/ngwr-directives.mjs.map +1 -1
  118. package/fesm2022/ngwr-divider.mjs +3 -3
  119. package/fesm2022/ngwr-divider.mjs.map +1 -1
  120. package/fesm2022/ngwr-donut-chart-testing.mjs.map +1 -1
  121. package/fesm2022/ngwr-donut-chart.mjs +48 -6
  122. package/fesm2022/ngwr-donut-chart.mjs.map +1 -1
  123. package/fesm2022/ngwr-drag-drop.mjs +6 -6
  124. package/fesm2022/ngwr-drag-drop.mjs.map +1 -1
  125. package/fesm2022/ngwr-drawer-testing.mjs.map +1 -1
  126. package/fesm2022/ngwr-drawer.mjs +18 -18
  127. package/fesm2022/ngwr-drawer.mjs.map +1 -1
  128. package/fesm2022/ngwr-dropdown-testing.mjs.map +1 -1
  129. package/fesm2022/ngwr-dropdown.mjs +174 -25
  130. package/fesm2022/ngwr-dropdown.mjs.map +1 -1
  131. package/fesm2022/ngwr-editor-testing.mjs +568 -0
  132. package/fesm2022/ngwr-editor-testing.mjs.map +1 -0
  133. package/fesm2022/ngwr-editor.mjs +2601 -0
  134. package/fesm2022/ngwr-editor.mjs.map +1 -0
  135. package/fesm2022/ngwr-empty.mjs +3 -3
  136. package/fesm2022/ngwr-empty.mjs.map +1 -1
  137. package/fesm2022/ngwr-event-calendar-testing.mjs.map +1 -1
  138. package/fesm2022/ngwr-event-calendar.mjs +14 -7
  139. package/fesm2022/ngwr-event-calendar.mjs.map +1 -1
  140. package/fesm2022/ngwr-falling-text-testing.mjs.map +1 -1
  141. package/fesm2022/ngwr-falling-text.mjs +3 -3
  142. package/fesm2022/ngwr-falling-text.mjs.map +1 -1
  143. package/fesm2022/ngwr-file-upload-testing.mjs.map +1 -1
  144. package/fesm2022/ngwr-file-upload.mjs +3 -3
  145. package/fesm2022/ngwr-file-upload.mjs.map +1 -1
  146. package/fesm2022/ngwr-form-testing.mjs.map +1 -1
  147. package/fesm2022/ngwr-form.mjs +61 -10
  148. package/fesm2022/ngwr-form.mjs.map +1 -1
  149. package/fesm2022/ngwr-fuzzy-text-testing.mjs.map +1 -1
  150. package/fesm2022/ngwr-fuzzy-text.mjs +3 -3
  151. package/fesm2022/ngwr-fuzzy-text.mjs.map +1 -1
  152. package/fesm2022/ngwr-gauge-testing.mjs.map +1 -1
  153. package/fesm2022/ngwr-gauge.mjs +35 -6
  154. package/fesm2022/ngwr-gauge.mjs.map +1 -1
  155. package/fesm2022/ngwr-glitch-text-testing.mjs.map +1 -1
  156. package/fesm2022/ngwr-glitch-text.mjs +3 -3
  157. package/fesm2022/ngwr-glitch-text.mjs.map +1 -1
  158. package/fesm2022/ngwr-gradient-text-testing.mjs.map +1 -1
  159. package/fesm2022/ngwr-gradient-text.mjs +3 -3
  160. package/fesm2022/ngwr-gradient-text.mjs.map +1 -1
  161. package/fesm2022/ngwr-graph-testing.mjs.map +1 -1
  162. package/fesm2022/ngwr-graph.mjs +6 -6
  163. package/fesm2022/ngwr-graph.mjs.map +1 -1
  164. package/fesm2022/ngwr-hotkey.mjs +6 -6
  165. package/fesm2022/ngwr-hotkey.mjs.map +1 -1
  166. package/fesm2022/ngwr-i18n-ar.mjs +31 -0
  167. package/fesm2022/ngwr-i18n-ar.mjs.map +1 -1
  168. package/fesm2022/ngwr-i18n-cs.mjs +31 -0
  169. package/fesm2022/ngwr-i18n-cs.mjs.map +1 -1
  170. package/fesm2022/ngwr-i18n-de.mjs +31 -0
  171. package/fesm2022/ngwr-i18n-de.mjs.map +1 -1
  172. package/fesm2022/ngwr-i18n-en.mjs +39 -0
  173. package/fesm2022/ngwr-i18n-en.mjs.map +1 -1
  174. package/fesm2022/ngwr-i18n-es.mjs +31 -0
  175. package/fesm2022/ngwr-i18n-es.mjs.map +1 -1
  176. package/fesm2022/ngwr-i18n-fr.mjs +31 -0
  177. package/fesm2022/ngwr-i18n-fr.mjs.map +1 -1
  178. package/fesm2022/ngwr-i18n-he.mjs +31 -0
  179. package/fesm2022/ngwr-i18n-he.mjs.map +1 -1
  180. package/fesm2022/ngwr-i18n-hi.mjs +31 -0
  181. package/fesm2022/ngwr-i18n-hi.mjs.map +1 -1
  182. package/fesm2022/ngwr-i18n-id.mjs +31 -0
  183. package/fesm2022/ngwr-i18n-id.mjs.map +1 -1
  184. package/fesm2022/ngwr-i18n-it.mjs +31 -0
  185. package/fesm2022/ngwr-i18n-it.mjs.map +1 -1
  186. package/fesm2022/ngwr-i18n-ja.mjs +31 -0
  187. package/fesm2022/ngwr-i18n-ja.mjs.map +1 -1
  188. package/fesm2022/ngwr-i18n-ko.mjs +31 -0
  189. package/fesm2022/ngwr-i18n-ko.mjs.map +1 -1
  190. package/fesm2022/ngwr-i18n-nl.mjs +31 -0
  191. package/fesm2022/ngwr-i18n-nl.mjs.map +1 -1
  192. package/fesm2022/ngwr-i18n-pl.mjs +31 -0
  193. package/fesm2022/ngwr-i18n-pl.mjs.map +1 -1
  194. package/fesm2022/ngwr-i18n-pt.mjs +31 -0
  195. package/fesm2022/ngwr-i18n-pt.mjs.map +1 -1
  196. package/fesm2022/ngwr-i18n-ru.mjs +31 -0
  197. package/fesm2022/ngwr-i18n-ru.mjs.map +1 -1
  198. package/fesm2022/ngwr-i18n-sv.mjs +31 -0
  199. package/fesm2022/ngwr-i18n-sv.mjs.map +1 -1
  200. package/fesm2022/ngwr-i18n-tr.mjs +31 -0
  201. package/fesm2022/ngwr-i18n-tr.mjs.map +1 -1
  202. package/fesm2022/ngwr-i18n-uk.mjs +31 -0
  203. package/fesm2022/ngwr-i18n-uk.mjs.map +1 -1
  204. package/fesm2022/ngwr-i18n-vi.mjs +31 -0
  205. package/fesm2022/ngwr-i18n-vi.mjs.map +1 -1
  206. package/fesm2022/ngwr-i18n-zh-TW.mjs +31 -0
  207. package/fesm2022/ngwr-i18n-zh-TW.mjs.map +1 -1
  208. package/fesm2022/ngwr-i18n-zh.mjs +31 -0
  209. package/fesm2022/ngwr-i18n-zh.mjs.map +1 -1
  210. package/fesm2022/ngwr-i18n.mjs +9 -9
  211. package/fesm2022/ngwr-i18n.mjs.map +1 -1
  212. package/fesm2022/ngwr-icon-adapters-feather.mjs.map +1 -1
  213. package/fesm2022/ngwr-icon-adapters-lucide.mjs.map +1 -1
  214. package/fesm2022/ngwr-icon.mjs +6 -6
  215. package/fesm2022/ngwr-icon.mjs.map +1 -1
  216. package/fesm2022/ngwr-image-cropper-testing.mjs.map +1 -1
  217. package/fesm2022/ngwr-image-cropper.mjs +3 -3
  218. package/fesm2022/ngwr-image-cropper.mjs.map +1 -1
  219. package/fesm2022/ngwr-input-number-testing.mjs.map +1 -1
  220. package/fesm2022/ngwr-input-number.mjs +15 -3
  221. package/fesm2022/ngwr-input-number.mjs.map +1 -1
  222. package/fesm2022/ngwr-input-otp-testing.mjs.map +1 -1
  223. package/fesm2022/ngwr-input-otp.mjs +3 -3
  224. package/fesm2022/ngwr-input-otp.mjs.map +1 -1
  225. package/fesm2022/ngwr-input-testing.mjs.map +1 -1
  226. package/fesm2022/ngwr-input.mjs +15 -15
  227. package/fesm2022/ngwr-input.mjs.map +1 -1
  228. package/fesm2022/ngwr-keyboard.mjs +3 -3
  229. package/fesm2022/ngwr-keyboard.mjs.map +1 -1
  230. package/fesm2022/ngwr-knob-testing.mjs.map +1 -1
  231. package/fesm2022/ngwr-knob.mjs +3 -3
  232. package/fesm2022/ngwr-knob.mjs.map +1 -1
  233. package/fesm2022/ngwr-layout.mjs +15 -15
  234. package/fesm2022/ngwr-layout.mjs.map +1 -1
  235. package/fesm2022/ngwr-lightbox-testing.mjs.map +1 -1
  236. package/fesm2022/ngwr-lightbox.mjs +3 -3
  237. package/fesm2022/ngwr-lightbox.mjs.map +1 -1
  238. package/fesm2022/ngwr-line-chart-testing.mjs.map +1 -1
  239. package/fesm2022/ngwr-line-chart.mjs +18 -7
  240. package/fesm2022/ngwr-line-chart.mjs.map +1 -1
  241. package/fesm2022/ngwr-list.mjs +6 -6
  242. package/fesm2022/ngwr-list.mjs.map +1 -1
  243. package/fesm2022/ngwr-loading-bar-router.mjs.map +1 -1
  244. package/fesm2022/ngwr-loading-bar.mjs +6 -6
  245. package/fesm2022/ngwr-loading-bar.mjs.map +1 -1
  246. package/fesm2022/ngwr-markdown-testing.mjs.map +1 -1
  247. package/fesm2022/ngwr-markdown.mjs +798 -17
  248. package/fesm2022/ngwr-markdown.mjs.map +1 -1
  249. package/fesm2022/ngwr-marquee-testing.mjs.map +1 -1
  250. package/fesm2022/ngwr-marquee.mjs +3 -3
  251. package/fesm2022/ngwr-marquee.mjs.map +1 -1
  252. package/fesm2022/ngwr-media.mjs +3 -3
  253. package/fesm2022/ngwr-media.mjs.map +1 -1
  254. package/fesm2022/ngwr-mention-testing.mjs.map +1 -1
  255. package/fesm2022/ngwr-mention.mjs +6 -6
  256. package/fesm2022/ngwr-mention.mjs.map +1 -1
  257. package/fesm2022/ngwr-meta.mjs +6 -6
  258. package/fesm2022/ngwr-meta.mjs.map +1 -1
  259. package/fesm2022/ngwr-meter-group-testing.mjs +7 -3
  260. package/fesm2022/ngwr-meter-group-testing.mjs.map +1 -1
  261. package/fesm2022/ngwr-meter-group.mjs +26 -6
  262. package/fesm2022/ngwr-meter-group.mjs.map +1 -1
  263. package/fesm2022/ngwr-overlay.mjs +6 -6
  264. package/fesm2022/ngwr-overlay.mjs.map +1 -1
  265. package/fesm2022/ngwr-page-header.mjs +13 -5
  266. package/fesm2022/ngwr-page-header.mjs.map +1 -1
  267. package/fesm2022/ngwr-pagination-testing.mjs.map +1 -1
  268. package/fesm2022/ngwr-pagination.mjs +3 -3
  269. package/fesm2022/ngwr-pagination.mjs.map +1 -1
  270. package/fesm2022/ngwr-pipes.mjs +21 -21
  271. package/fesm2022/ngwr-pipes.mjs.map +1 -1
  272. package/fesm2022/ngwr-platform.mjs +9 -9
  273. package/fesm2022/ngwr-platform.mjs.map +1 -1
  274. package/fesm2022/ngwr-popconfirm-testing.mjs.map +1 -1
  275. package/fesm2022/ngwr-popconfirm.mjs +6 -6
  276. package/fesm2022/ngwr-popconfirm.mjs.map +1 -1
  277. package/fesm2022/ngwr-popover-testing.mjs.map +1 -1
  278. package/fesm2022/ngwr-popover.mjs +578 -16
  279. package/fesm2022/ngwr-popover.mjs.map +1 -1
  280. package/fesm2022/ngwr-progress.mjs +3 -3
  281. package/fesm2022/ngwr-progress.mjs.map +1 -1
  282. package/fesm2022/ngwr-pull-to-refresh.mjs +3 -3
  283. package/fesm2022/ngwr-pull-to-refresh.mjs.map +1 -1
  284. package/fesm2022/ngwr-qr.mjs +3 -3
  285. package/fesm2022/ngwr-qr.mjs.map +1 -1
  286. package/fesm2022/ngwr-radio-testing.mjs.map +1 -1
  287. package/fesm2022/ngwr-radio.mjs +6 -6
  288. package/fesm2022/ngwr-radio.mjs.map +1 -1
  289. package/fesm2022/ngwr-rating-testing.mjs.map +1 -1
  290. package/fesm2022/ngwr-rating.mjs +3 -3
  291. package/fesm2022/ngwr-rating.mjs.map +1 -1
  292. package/fesm2022/ngwr-result.mjs +12 -12
  293. package/fesm2022/ngwr-result.mjs.map +1 -1
  294. package/fesm2022/ngwr-rotating-text-testing.mjs.map +1 -1
  295. package/fesm2022/ngwr-rotating-text.mjs +3 -3
  296. package/fesm2022/ngwr-rotating-text.mjs.map +1 -1
  297. package/fesm2022/ngwr-schema-form.mjs +3 -3
  298. package/fesm2022/ngwr-schema-form.mjs.map +1 -1
  299. package/fesm2022/ngwr-scroll.mjs +3 -3
  300. package/fesm2022/ngwr-scroll.mjs.map +1 -1
  301. package/fesm2022/ngwr-segmented-testing.mjs.map +1 -1
  302. package/fesm2022/ngwr-segmented.mjs +3 -3
  303. package/fesm2022/ngwr-segmented.mjs.map +1 -1
  304. package/fesm2022/ngwr-select-testing.mjs.map +1 -1
  305. package/fesm2022/ngwr-select.mjs +12 -12
  306. package/fesm2022/ngwr-select.mjs.map +1 -1
  307. package/fesm2022/ngwr-shiny-text-testing.mjs.map +1 -1
  308. package/fesm2022/ngwr-shiny-text.mjs +6 -6
  309. package/fesm2022/ngwr-shiny-text.mjs.map +1 -1
  310. package/fesm2022/ngwr-sidebar.mjs +10 -3
  311. package/fesm2022/ngwr-sidebar.mjs.map +1 -1
  312. package/fesm2022/ngwr-skeleton.mjs +3 -3
  313. package/fesm2022/ngwr-skeleton.mjs.map +1 -1
  314. package/fesm2022/ngwr-slider-testing.mjs.map +1 -1
  315. package/fesm2022/ngwr-slider.mjs +3 -3
  316. package/fesm2022/ngwr-slider.mjs.map +1 -1
  317. package/fesm2022/ngwr-sparkline-testing.mjs.map +1 -1
  318. package/fesm2022/ngwr-sparkline.mjs +84 -10
  319. package/fesm2022/ngwr-sparkline.mjs.map +1 -1
  320. package/fesm2022/ngwr-speed-dial-testing.mjs.map +1 -1
  321. package/fesm2022/ngwr-speed-dial.mjs +3 -3
  322. package/fesm2022/ngwr-speed-dial.mjs.map +1 -1
  323. package/fesm2022/ngwr-spinner.mjs +3 -3
  324. package/fesm2022/ngwr-spinner.mjs.map +1 -1
  325. package/fesm2022/ngwr-splash-cursor-testing.mjs.map +1 -1
  326. package/fesm2022/ngwr-splash-cursor.mjs +3 -3
  327. package/fesm2022/ngwr-splash-cursor.mjs.map +1 -1
  328. package/fesm2022/ngwr-split-text-testing.mjs.map +1 -1
  329. package/fesm2022/ngwr-split-text.mjs +3 -3
  330. package/fesm2022/ngwr-split-text.mjs.map +1 -1
  331. package/fesm2022/ngwr-splitter-testing.mjs.map +1 -1
  332. package/fesm2022/ngwr-splitter.mjs +3 -3
  333. package/fesm2022/ngwr-splitter.mjs.map +1 -1
  334. package/fesm2022/ngwr-spotlight-card-testing.mjs.map +1 -1
  335. package/fesm2022/ngwr-spotlight-card.mjs +6 -6
  336. package/fesm2022/ngwr-spotlight-card.mjs.map +1 -1
  337. package/fesm2022/ngwr-squircle.mjs +6 -6
  338. package/fesm2022/ngwr-squircle.mjs.map +1 -1
  339. package/fesm2022/ngwr-star-border-testing.mjs.map +1 -1
  340. package/fesm2022/ngwr-star-border.mjs +3 -3
  341. package/fesm2022/ngwr-star-border.mjs.map +1 -1
  342. package/fesm2022/ngwr-statistic.mjs +9 -9
  343. package/fesm2022/ngwr-statistic.mjs.map +1 -1
  344. package/fesm2022/ngwr-stepper-testing.mjs.map +1 -1
  345. package/fesm2022/ngwr-stepper.mjs +6 -6
  346. package/fesm2022/ngwr-stepper.mjs.map +1 -1
  347. package/fesm2022/ngwr-storage.mjs +3 -3
  348. package/fesm2022/ngwr-storage.mjs.map +1 -1
  349. package/fesm2022/ngwr-switch-testing.mjs.map +1 -1
  350. package/fesm2022/ngwr-switch.mjs +3 -3
  351. package/fesm2022/ngwr-switch.mjs.map +1 -1
  352. package/fesm2022/ngwr-table-testing.mjs.map +1 -1
  353. package/fesm2022/ngwr-table.mjs +18 -18
  354. package/fesm2022/ngwr-table.mjs.map +1 -1
  355. package/fesm2022/ngwr-tabs-router.mjs +3 -3
  356. package/fesm2022/ngwr-tabs-router.mjs.map +1 -1
  357. package/fesm2022/ngwr-tabs-testing.mjs.map +1 -1
  358. package/fesm2022/ngwr-tabs.mjs +6 -6
  359. package/fesm2022/ngwr-tabs.mjs.map +1 -1
  360. package/fesm2022/ngwr-textarea-testing.mjs.map +1 -1
  361. package/fesm2022/ngwr-textarea.mjs +3 -3
  362. package/fesm2022/ngwr-textarea.mjs.map +1 -1
  363. package/fesm2022/ngwr-theme.mjs +3 -3
  364. package/fesm2022/ngwr-theme.mjs.map +1 -1
  365. package/fesm2022/ngwr-tilt-card-testing.mjs.map +1 -1
  366. package/fesm2022/ngwr-tilt-card.mjs +6 -6
  367. package/fesm2022/ngwr-tilt-card.mjs.map +1 -1
  368. package/fesm2022/ngwr-timeline.mjs +6 -6
  369. package/fesm2022/ngwr-timeline.mjs.map +1 -1
  370. package/fesm2022/ngwr-toast-testing.mjs.map +1 -1
  371. package/fesm2022/ngwr-toast.mjs +9 -9
  372. package/fesm2022/ngwr-toast.mjs.map +1 -1
  373. package/fesm2022/ngwr-toolbar.mjs +10 -3
  374. package/fesm2022/ngwr-toolbar.mjs.map +1 -1
  375. package/fesm2022/ngwr-tour-testing.mjs.map +1 -1
  376. package/fesm2022/ngwr-tour.mjs +6 -6
  377. package/fesm2022/ngwr-tour.mjs.map +1 -1
  378. package/fesm2022/ngwr-transfer-testing.mjs.map +1 -1
  379. package/fesm2022/ngwr-transfer.mjs +3 -3
  380. package/fesm2022/ngwr-transfer.mjs.map +1 -1
  381. package/fesm2022/ngwr-tree-testing.mjs.map +1 -1
  382. package/fesm2022/ngwr-tree.mjs +3 -3
  383. package/fesm2022/ngwr-tree.mjs.map +1 -1
  384. package/fesm2022/ngwr-typewriter-testing.mjs.map +1 -1
  385. package/fesm2022/ngwr-typewriter.mjs +3 -3
  386. package/fesm2022/ngwr-typewriter.mjs.map +1 -1
  387. package/fesm2022/ngwr-typography.mjs +7 -3
  388. package/fesm2022/ngwr-typography.mjs.map +1 -1
  389. package/fesm2022/ngwr-utils.mjs.map +1 -1
  390. package/fesm2022/ngwr-validators.mjs.map +1 -1
  391. package/fesm2022/ngwr-version.mjs +1 -1
  392. package/fesm2022/ngwr-version.mjs.map +1 -1
  393. package/fesm2022/ngwr-virtual-scroll.mjs +3 -3
  394. package/fesm2022/ngwr-virtual-scroll.mjs.map +1 -1
  395. package/fesm2022/ngwr-waves-testing.mjs.map +1 -1
  396. package/fesm2022/ngwr-waves.mjs +3 -3
  397. package/fesm2022/ngwr-waves.mjs.map +1 -1
  398. package/fesm2022/ngwr-window-testing.mjs.map +1 -1
  399. package/fesm2022/ngwr-window.mjs +12 -12
  400. package/fesm2022/ngwr-window.mjs.map +1 -1
  401. package/form/styles/_index.scss +16 -1
  402. package/gauge/styles/_index.scss +1 -0
  403. package/i18n/ar.json +32 -1
  404. package/i18n/cs.json +32 -1
  405. package/i18n/de.json +32 -1
  406. package/i18n/en.json +32 -1
  407. package/i18n/es.json +32 -1
  408. package/i18n/fr.json +32 -1
  409. package/i18n/he.json +32 -1
  410. package/i18n/hi.json +32 -1
  411. package/i18n/id.json +32 -1
  412. package/i18n/it.json +32 -1
  413. package/i18n/ja.json +32 -1
  414. package/i18n/ko.json +32 -1
  415. package/i18n/nl.json +32 -1
  416. package/i18n/pl.json +32 -1
  417. package/i18n/pt.json +32 -1
  418. package/i18n/ru.json +32 -1
  419. package/i18n/sv.json +32 -1
  420. package/i18n/tr.json +32 -1
  421. package/i18n/uk.json +32 -1
  422. package/i18n/vi.json +32 -1
  423. package/i18n/zh-TW.json +32 -1
  424. package/i18n/zh.json +32 -1
  425. package/input/styles/_index.scss +24 -1
  426. package/input-number/styles/_index.scss +69 -0
  427. package/input-otp/styles/_index.scss +5 -5
  428. package/line-chart/styles/_index.scss +30 -2
  429. package/llms-full.txt +14 -4
  430. package/llms.txt +188 -132
  431. package/mcp/providers.js +2 -2
  432. package/mcp/server.js +1 -1
  433. package/meter-group/styles/_index.scss +1 -0
  434. package/overlay/styles/_arrow.scss +30 -2
  435. package/package.json +43 -2
  436. package/page-header/styles/_index.scss +37 -1
  437. package/pagination/styles/_index.scss +9 -5
  438. package/popover/styles/_index.scss +73 -5
  439. package/progress/styles/_index.scss +4 -0
  440. package/radio/styles/_index.scss +4 -1
  441. package/schematics/use/symbol-map.json +1 -0
  442. package/select/styles/_index.scss +51 -12
  443. package/sidebar/styles/_index.scss +44 -2
  444. package/skeleton/styles/_index.scss +3 -0
  445. package/skills/ngwr/SKILL.md +5 -5
  446. package/skills/ngwr/references/catalog.md +2 -0
  447. package/skills/ngwr/references/setup.md +3 -3
  448. package/sparkline/styles/_index.scss +19 -0
  449. package/styles.scss +1 -0
  450. package/table/styles/_index.scss +7 -0
  451. package/textarea/styles/_index.scss +12 -3
  452. package/theme/styles/_colors.scss +39 -13
  453. package/theme/styles/_contrast.scss +9 -7
  454. package/toast/styles/_index.scss +4 -0
  455. package/toolbar/styles/_index.scss +35 -1
  456. package/tree/styles/_index.scss +46 -7
  457. package/types/ngwr-badge.d.ts +22 -7
  458. package/types/ngwr-bar-chart.d.ts +19 -1
  459. package/types/ngwr-calendar-heatmap.d.ts +29 -1
  460. package/types/ngwr-checkbox.d.ts +2 -0
  461. package/types/ngwr-config.d.ts +12 -0
  462. package/types/ngwr-date-picker.d.ts +308 -43
  463. package/types/ngwr-donut-chart.d.ts +24 -1
  464. package/types/ngwr-dropdown.d.ts +22 -2
  465. package/types/ngwr-editor-testing.d.ts +378 -0
  466. package/types/ngwr-editor.d.ts +449 -0
  467. package/types/ngwr-event-calendar.d.ts +8 -0
  468. package/types/ngwr-form.d.ts +35 -5
  469. package/types/ngwr-gauge.d.ts +20 -1
  470. package/types/ngwr-input-number.d.ts +7 -0
  471. package/types/ngwr-line-chart.d.ts +9 -1
  472. package/types/ngwr-markdown.d.ts +61 -2
  473. package/types/ngwr-meter-group-testing.d.ts +3 -2
  474. package/types/ngwr-meter-group.d.ts +14 -1
  475. package/types/ngwr-page-header.d.ts +10 -2
  476. package/types/ngwr-popover.d.ts +154 -3
  477. package/types/ngwr-sidebar.d.ts +7 -0
  478. package/types/ngwr-sparkline.d.ts +43 -1
  479. package/types/ngwr-toolbar.d.ts +7 -0
  480. package/types/ngwr-typography.d.ts +4 -0
  481. package/types/ngwr-version.d.ts +1 -1
  482. package/typography/styles/_index.scss +16 -0
package/llms.txt CHANGED
@@ -1,9 +1,11 @@
1
1
  # ngwr
2
2
 
3
3
  > Angular UI library — standalone, signals-first, zoneless, fully tree-shakable.
4
- > 227 secondary entry points, 177 component and directive classes, built on
5
- > `@angular/cdk` primitives. The only runtime dependency is `tslib`. Docs and
6
- > live demos: https://ngwr.dev — source: https://github.com/thekhegay/ngwr
4
+ > Over two hundred secondary entry points, built on `@angular/cdk` primitives.
5
+ > The only runtime dependency is `tslib`. Docs and live demos: https://ngwr.dev
6
+ > (the current counts of entry points, components, harnesses and tests are on
7
+ > https://ngwr.dev/start/quality, generated from the repository). Source:
8
+ > https://github.com/thekhegay/ngwr
7
9
 
8
10
  This file orients AI agents and LLMs that consume ngwr. For exact, current
9
11
  component APIs, read the bundled TypeScript types
@@ -27,9 +29,13 @@ pnpm add ngwr @angular/cdk
27
29
  ```
28
30
 
29
31
  Requires Angular / CDK `>= 22.0.0` (peers: `@angular/cdk`, `@angular/common`,
30
- `@angular/core`, `@angular/platform-browser`, `rxjs ^7`; optional `date-fns` /
31
- `luxon` / `lucide`). On Angular 21 or older the INSTALL succeeds — every package
32
- manager treats an unmet peer as a warning — and the `ng build` fails instead, in
32
+ `@angular/core`, `@angular/forms`, `@angular/platform-browser`, `rxjs ^7`.
33
+ Optional: `@angular/router`, which `wr-sidebar`, a breadcrumb `routerLink` and
34
+ the two router adapters need; `date-fns` / `luxon` for their date adapters; and
35
+ the eight `prosemirror-*` packages that only `ngwr/editor` imports. Icon sets
36
+ such as `lucide` are not peers, since the adapters take the icon data). On
37
+ Angular 21 or older the INSTALL succeeds — every package manager treats an unmet
38
+ peer as a warning — and the `ng build` fails instead, in
33
39
  the linker, with `Unsupported enum value for [object Object]`. The floor is real
34
40
  and the ceiling is absent — an Angular newer than the release has not been built
35
41
  or tested against, and nothing warns. There is no `engines` field and no
@@ -39,13 +45,20 @@ does not promise: https://ngwr.dev/start/versioning
39
45
  **There is no root barrel: `import { X } from 'ngwr'` is always wrong.** The root
40
46
  entry point exports nothing, so an IDE auto-import from it gives `TS2305` and no
41
47
  hint. Every symbol comes from its entry point — `import { WrButton } from
42
- 'ngwr/button'` — and the entry point is the last segment of the component's docs
43
- URL. Mind the ones that do not match the selector: `<wr-btn>` is `ngwr/button`,
44
- `<wr-tag>` is `ngwr/badge`, `<wr-option>` is `ngwr/select`, `<wr-accordion>` is
45
- `ngwr/collapse`, `<wr-form-field>` is `ngwr/form`, `<wr-sortable-list>` is
46
- `ngwr/drag-drop`, `<wr-kbd>` is `ngwr/keyboard`.
47
-
48
- Styles: `@use 'ngwr'` (everything — about 290 kB minified, 42 kB gzipped) or
48
+ 'ngwr/button'` — and for most components the entry point is the last segment of
49
+ the docs URL. Not for all of them: `/reference/components/qrcode` is `ngwr/qr`,
50
+ `form-field` is `ngwr/form` and `button-group` is `ngwr/button`, while the
51
+ directive, pipe, util and validator pages share `ngwr/directives`, `ngwr/pipes`,
52
+ `ngwr/utils` and `ngwr/validators`. Each page's import snippet names the right
53
+ one. Mind the ones that do not match the selector: `<wr-btn>` and
54
+ `<wr-btn-group>` are `ngwr/button`, `<wr-tag>` is `ngwr/badge`, `<wr-option>` is
55
+ `ngwr/select`, `<wr-accordion>` is `ngwr/collapse`, `<wr-form-field>` is
56
+ `ngwr/form`, `<wr-sortable-list>` is `ngwr/drag-drop`, `<wr-kbd>` is
57
+ `ngwr/keyboard`, `<wr-count-up>` is `ngwr/counter`, and `[wrAutofocus]`,
58
+ `[wrAutosize]`, `[wrClickOutside]` and `[wrCopyToClipboard]` are
59
+ `ngwr/directives`.
60
+
61
+ Styles: `@use 'ngwr'` (everything, over 300 kB of minified CSS) or
49
62
  `@use 'ngwr/<name>'` per component in your global SCSS. **Per component, the
50
63
  theme tokens come with each entry but the other components it renders do not**,
51
64
  and nothing warns — the control just paints wrong. Always add `ngwr/icon` (the
@@ -54,7 +67,8 @@ inline chevrons, carets and sort arrows are bare SVGs sized by `.wr-icon__svg`),
54
67
  `provideWrDensity()` silently does nothing without it) and `ngwr/overlay` (the
55
68
  responsive bottom sheet). Then follow what a component renders:
56
69
  `ngwr/table` needs checkbox / dropdown / pagination / spinner, `ngwr/pagination`
57
- needs button / select, `ngwr/date-picker` needs calendar / input, and a service
70
+ needs button / select, `ngwr/date-picker` needs calendar / input,
71
+ `ngwr/editor` needs button / input / popover, and a service
58
72
  mounts a component no template names — `WrDialog.open()` needs `ngwr/dialog`,
59
73
  `WrToast.show()` needs `ngwr/toast`. Full table:
60
74
  https://ngwr.dev/start/installation
@@ -81,7 +95,8 @@ Add from their entry points as needed:
81
95
  (`ngwr/config`) — app-wide component DEFAULTS. A value bound on the element always
82
96
  wins, and a bound `false` beats a configured `true`, so a config never has to be
83
97
  escaped. Covers `size` on the form controls, `rounded` on `input` / `inputNumber`
84
- / `select`, and `linkTarget` / `copyable` on `markdown`. There is deliberately no
98
+ / `select`, `format` on `editor` (what the app stores: HTML, markdown or JSON),
99
+ and `linkTarget` / `copyable` on `markdown`. There is deliberately no
85
100
  `color` key — a bound `[color]="null"` means "no intent", which a default cannot
86
101
  express without inventing a sentinel.
87
102
  - `provideWrI18n(...)` + `provideWrI18nBaseCatalogs({ en: wrEn })` +
@@ -109,52 +124,52 @@ one element at a time; a step whose target is missing is skipped, not floated.
109
124
  - `ng g ngwr:page <form|table|dashboard>` — starter page wired with ngwr.
110
125
  - `ng update ngwr` — runs upgrade migrations.
111
126
 
112
- ## Upgrading to v14
113
-
114
- Run `ng update ngwr@14`, once, from whatever major the app is on — it runs every
115
- migration between the installed version and 14, in order. Do not step through the
116
- majors, and never target a 7.x, 8.x or 9.x release: their schematics die with
117
- `exports is not defined in ES module scope`. It rewrites the renames and REPORTS
118
- the rest — read its output, because the reported half is where the silent
119
- failures are.
120
-
121
- Rewritten for you (six renames, one word per concept):
122
-
123
- - `<wr-alert>` from `closeable` to `closable`.
124
- - `[wrInput]` from `wrSize` to `size`, like every other control. v13's release
125
- note announced this rename and did NOT make it; it lands in v14. On v13 a
126
- `size` written on an ngwr input compiled — it is a legal native attribute —
127
- and the control quietly fell back to `md`.
128
- - `<wr-table>` from `[totalItems]` to `[total]`.
129
- - `<wr-pagination>` from `[(currentPage)]` to `[(page)]`, and from
130
- `(currentPageChange)` to `(pageChange)`.
131
- - `isDisabledWhenLoading` to `disabledWhenLoading` (the library's last
132
- `is`-prefixed boolean).
133
- - The window `chromeSize` scale from `'compact' | 'normal'` to `'sm' | 'md'`,
134
- including the `.wr-window--chrome-compact` class.
135
-
136
- Reported, not rewritten — each needs a decision a codemod cannot make:
137
-
138
- - **Router integration is opt-in.** `<wr-loading-bar>` no longer follows the
139
- router on its own: add `provideWrLoadingBarRouter()` from
140
- `ngwr/loading-bar/router`. A `<wr-tab routerLink>` needs `wrTabsRouting` on the
141
- strip and `WrTabsRouting` (from `ngwr/tabs/router`) in `imports`. The tab strip
142
- throws without it; **the loading bar does not — it just never moves.**
143
- - **Locale comes from Angular's `LOCALE_ID`.** `WR_DATE_LOCALE` and `WrI18n`'s
144
- `defaultLocale` / `availableLocales` used to read `navigator.language` or a
145
- literal `'en'`. An app that really wants the browser's tag now writes
146
- `provideWrDateAdapter({ locale: navigator.language })`.
147
- - **A named date format refuses input it cannot read.** `shortDate` / `time` and
148
- friends parse through the same `Intl` formatter that printed the string, so
149
- they round-trip; unreadable input returns null and leaves the committed value
150
- alone instead of guessing. Pass an explicit token `[format]` if you relied on
151
- `new Date()`'s leniency.
152
- - **`<wr-pagination ofLabel>` is gone**, and the `pagination.of` catalog key with
153
- it. The range is one `pagination.range` template with `{{from}}` / `{{to}}` /
154
- `{{total}}` placeholders — a catalog still carrying the old key reverts that
155
- line to English silently.
156
-
157
- Earlier steps, with diffs, back to v6: https://ngwr.dev/start/migration
127
+ ## Upgrading
128
+
129
+ Run `ng update ngwr` once, from whatever major the app is on. It installs the
130
+ latest release and runs every migration between the installed version and that
131
+ release, in order. Do not step through the majors, and never target a 7.x, 8.x or
132
+ 9.x release: their schematics die with `exports is not defined in ES module
133
+ scope`. A migration rewrites what is a pure rename and REPORTS, by file, what
134
+ needs a decision only the app can make. Read its output, because the reported
135
+ half is where the silent failures are. Every breaking change, newest first, each
136
+ with a diff: https://ngwr.dev/start/migration
137
+
138
+ Names older majors used, which code written for them (and a model trained on
139
+ that code) still spells. The migration for each major rewrites them:
140
+
141
+ - v14: `<wr-alert closeable>` is `closable`; `[wrInput]`'s `wrSize` is `size`;
142
+ `<wr-table [totalItems]>` is `[total]`; `<wr-pagination [(currentPage)]>` and
143
+ `(currentPageChange)` are `[(page)]` and `(pageChange)`;
144
+ `isDisabledWhenLoading` is `disabledWhenLoading`; the window `chromeSize`
145
+ values `'compact' | 'normal'` are `'sm' | 'md'`.
146
+ - v12: `ngwr/date-adapter`, `ngwr/date-adapter-fns` and
147
+ `ngwr/date-adapter-luxon` are `ngwr/date`, `ngwr/date/adapters/fns` and
148
+ `ngwr/date/adapters/luxon`.
149
+ - v9: a grouped `<wr-checkbox value="…">` is `checkboxValue`.
150
+ - v8: the density values `compact` / `default` / `comfortable` are `sm` / `md`
151
+ / `lg`.
152
+ - v7: classes lost their suffix (`WrButtonComponent` is `WrButton`,
153
+ `WrToastService` is `WrToast`), `[wrTooltip]` is `[wrPopover]` with
154
+ `mode="tooltip"`, `ngwr/tag` is `ngwr/badge` and `ngwr/form-field` is
155
+ `ngwr/form`.
156
+
157
+ Changes no migration rewrites. All but the last fail silently:
158
+
159
+ - `<wr-pagination ofLabel>` is gone (v14), and the `pagination.of` catalog key
160
+ with it. The range is one `pagination.range` template with `{{from}}` /
161
+ `{{to}}` / `{{total}}` placeholders, and a catalog still carrying the old key
162
+ reverts that line to English.
163
+ - `[id]` on `<wr-checkbox>`, `<wr-radio>` and `<wr-switch>` goes to the inner
164
+ `<input>` rather than the host (v13), so a `wr-checkbox#agree` selector stops
165
+ matching. `#agree` alone still works.
166
+ - `lucideIcons()` registers its keys verbatim (v9): `{ chevronDown: ChevronDown }`
167
+ is no longer found as `chevron-down`, so quote multi-word keys.
168
+ - `readI18nText()` returns a `Signal<string>` (v12). This one is loud: the
169
+ compiler names every call site that needs a `()`.
170
+
171
+ The router adapters, the `LOCALE_ID` default and the stricter date parsing, all
172
+ from v14, are current behaviour and described under Patterns below.
158
173
 
159
174
  ## Use ngwr — don't hand-roll
160
175
 
@@ -165,63 +180,100 @@ before writing your own. Full catalog: https://ngwr.dev/reference/components.
165
180
 
166
181
  ## Common components (selector — import)
167
182
 
168
- - **Form** — `wr-btn` (ngwr/button), `wrInput` (ngwr/input), `wr-select`
169
- (ngwr/select; modes single/multi/search/tag, plus `searchable` for a
170
- multi-with-typeahead and `(searchChange)` for server-side search),
171
- `wr-checkbox` (form state is `[(checked)]`; inside `<wr-checkbox-group>` the
172
- identity input is `checkboxValue`, NOT `value`), `wr-switch`, `wr-slider`,
173
- `wr-input-number`, `wr-input-otp`, `wr-date-picker` (date/time/datetime) and
174
- `wr-date-range-picker` (both in ngwr/date-picker; the range value is
175
- `[start, end]`, hence a separate component), `wr-file-upload`,
176
- `wr-form-field` (in ngwr/form), `wr-color-picker`, `wr-transfer` (dual listbox;
177
- the value is the RIGHT pane).
183
+ - **Form** — `wr-btn` (ngwr/button), `wr-speed-dial`, `wrInput` (ngwr/input),
184
+ `wr-textarea`, `wr-select` (ngwr/select; modes single/multi/search/tag, plus
185
+ `searchable` for a multi-with-typeahead and `(searchChange)` for server-side
186
+ search), `wr-checkbox` (form state is `[(checked)]`; inside
187
+ `<wr-checkbox-group>` the identity input is `checkboxValue`, NOT `value`),
188
+ `wr-radio-group` (ngwr/radio), `wr-switch`, `wr-slider`, `wr-segmented`,
189
+ `wr-rating`, `wr-knob`, `wr-input-number`, `wr-input-otp`, `wr-date-picker`
190
+ (date/time/datetime) and `wr-date-range-picker` (both in ngwr/date-picker; the
191
+ range value is `[start, end]`, hence a separate component), `wr-cascader` (the
192
+ value is the whole path), `[wrMention]` (ngwr/mention, on a textarea or input),
193
+ `wr-file-upload`, `wr-form-field` (in ngwr/form), `wr-color-picker`,
194
+ `wr-transfer` (dual listbox; the value is the RIGHT pane), `wr-editor`
195
+ (ngwr/editor — rich text on ProseMirror, an optional peer; `format` makes the
196
+ value an HTML string, a markdown string or a JSON tree, and every value is
197
+ sanitised through the schema; a value it cannot read is refused and the editor
198
+ keeps its document), `wr-schema-form` (ngwr/schema-form; draws a form from the
199
+ `WR_FIELD` metadata on a Signal Forms schema, and skips a field that carries
200
+ none).
178
201
  - **Data** — `wr-table` (column pin/resize/drag-reorder, row selection,
179
202
  expandable rows, grouping, tree rows (`childrenKey`), summary rows,
180
203
  CSV export, virtualized body),
181
- `wr-pagination`, `wr-tree`, `wr-graph` (read-only layered diagram: `nodes`
182
- plus `{ from, to }` parent-to-child `edges`, each node a default card or an
183
- `ng-template wrGraphNode`), `wr-virtual-scroll`, `wr-sortable-list`
184
- (drag-to-reorder, with `[wrDragHandle]` — both in ngwr/drag-drop).
204
+ `wr-pagination`, `wr-tree`, `wr-list`, `wr-timeline`, `wr-calendar`,
205
+ `wr-event-calendar` (see Scheduling below), `wr-graph` (read-only layered
206
+ diagram: `nodes` plus `{ from, to }` parent-to-child `edges`, each node a
207
+ default card or an `ng-template wrGraphNode`), `wr-virtual-scroll`,
208
+ `wr-sortable-list` (drag-to-reorder, with `[wrDragHandle]` — both in
209
+ ngwr/drag-drop).
210
+ - **Charts** — `wr-line-chart`, `wr-bar-chart`, `wr-donut-chart`,
211
+ `wr-sparkline`, `wr-gauge`, `wr-calendar-heatmap`, `wr-meter-group`, each its
212
+ own entry point, themed through the `--wr-*` tokens and each with a hover
213
+ tooltip.
185
214
  - **Feedback** — `wr-alert`, `wr-result`, `wr-empty`, `wr-skeleton`,
186
- `wr-spinner`.
187
- - **Layout / Display** — `wr-card`, `wr-carousel`, `wr-collapse`, `wr-splitter`,
188
- `wr-toolbar`, `wr-descriptions`, `wr-statistic`, `wr-lightbox`,
189
- `wr-pull-to-refresh`, `wr-markdown` (renders markdown as DOM, never as HTML —
190
- raw HTML in the source is escaped; `[streaming]` for a partial document;
191
- `provideWrMarkdownHighlighter()` takes coloured spans, not markup).
192
- - **Navigation** — `wr-tabs`, `wr-stepper`, `wr-breadcrumbs`, `wr-dropdown-menu`
193
- (with its `[wrDropdown]` trigger — both in ngwr/dropdown).
215
+ `wr-spinner`, `wr-progress`, `wr-loading-bar`.
216
+ - **Layout / Display** — `wr-layout` (with header / sider / content / footer),
217
+ `wr-page-header`, `wr-card`, `wr-divider`, `wr-carousel`, `wr-collapse`,
218
+ `wr-splitter`, `wr-toolbar`, `wr-window`, `wr-descriptions`, `wr-statistic`,
219
+ `wr-avatar`, `wr-badge` and `wr-tag` (both ngwr/badge), `wr-qr` (ngwr/qr),
220
+ `wr-lightbox`, `wr-image-cropper`, `wr-compare`, `wr-pull-to-refresh`,
221
+ `wr-markdown` (renders markdown as DOM, never as HTML — raw HTML in the source
222
+ is escaped; `[streaming]` for a partial document;
223
+ `provideWrMarkdownHighlighter()` takes coloured spans, not markup). The same
224
+ entry point exports `parseMarkdown()`, which returns the block tree, and
225
+ `serializeMarkdown()`, which writes a tree back as markdown: the pair
226
+ round-trips, and what this dialect cannot express is normalised rather than
227
+ guessed at.
228
+ - **Navigation** — `wr-tabs`, `wr-stepper`, `wr-breadcrumbs`, `wr-anchor`,
229
+ `wr-sidebar` (follows the active route by injecting `Router`),
230
+ `wr-back-top`, `[wrAffix]`, `wr-dropdown-menu` (with its `[wrDropdown]`
231
+ trigger — both in ngwr/dropdown).
194
232
  - **Overlays** — `wr-drawer` (or `WrDrawerManager.open()` to open a component as
195
233
  a drawer from code), `wr-action-sheet`, `[wrPopover]` (directive; has a
196
234
  `tooltip` mode), `wr-command-palette`, `wr-context-menu`, `wr-popconfirm`.
197
235
  (Dialog and toast are service-opened — inject `WrDialog` / `WrToast`.
198
236
  Content inside a service-opened dialog or drawer can `inject(WrDialogRef)` /
199
237
  `inject(WrDrawerRef)` to close itself.)
238
+ - **Animations** — text effects, cursor effects and backgrounds, each its own
239
+ entry point, documented under https://ngwr.dev/animations/ and listed in
240
+ `llms-full.txt`.
200
241
 
201
242
  ## Patterns
202
243
 
203
- - **Forms** — nineteen value controls are signal-forms native (`FormValueControl`,
204
- or `FormCheckboxControl` for checkbox/switch) — no `ControlValueAccessor` in the
205
- library. A count rather than "every": `[wrColorPickerTrigger]` is public, carries
206
- its own `value` model, and implements neither.
244
+ - **Forms** — the value controls are signal-forms native (`FormValueControl`,
245
+ or `FormCheckboxControl` for checkbox/switch), and there is no
246
+ `ControlValueAccessor` in the library. One public class with a `value` model
247
+ implements neither: `[wrColorPickerTrigger]`, a trigger that drives a
248
+ `<wr-color-picker>`, which does.
207
249
  Bind `[formField]="form.x"`, use the two-way model standalone (`[(value)]`, or
208
250
  `[(checked)]` on checkbox/switch), or classic `[(ngModel)]` / reactive forms
209
251
  via Angular's bridge. **That bridge is not an accessor and does not behave like
210
- one**, and the differences are silent: `updateOn: 'blur'` / `'submit'` do not
211
- apply to an ngwr control while a native `<input>` in the same group still
252
+ one**, and the differences are silent: template validator attributes
253
+ (`required`, `minlength`, `pattern`, …) on an ngwr control are never applied,
254
+ so validators belong on the `FormControl`; `updateOn: 'blur'` / `'submit'` do
255
+ not apply to an ngwr control while a native `<input>` in the same group still
212
256
  honours them; a `{ emitEvent: false }` write moves the model and leaves the
213
257
  control showing the old value; `<wr-select>` compares object values by `===`
214
258
  with no `compareWith`. What the bridge carries, what it drops, and what a form
215
259
  does about each: https://ngwr.dev/guides/forms
216
260
  - **Icons** — register via `provideWrIcons`, render `<wr-icon name="check" />`.
217
- - **Router** — nothing injects `@angular/router` unless you opt in. A
261
+ - **Router** — only what is about routes touches `@angular/router`:
262
+ `wr-sidebar` injects `Router` to follow the active route, and
263
+ `wr-breadcrumbs-item` renders a `RouterLink` when you pass `routerLink`. The tab
264
+ strip and the loading bar take routing through opt-in adapters instead. A
218
265
  `<wr-tab routerLink>` needs `wrTabsRouting` on the strip plus `WrTabsRouting`
219
266
  (`ngwr/tabs/router`) in `imports`, and it throws if you forget.
220
267
  `<wr-loading-bar>` follows navigation only with
221
268
  `provideWrLoadingBarRouter()` (`ngwr/loading-bar/router`), and it does NOT
222
269
  throw — without the provider the bar simply never moves.
223
270
  - **i18n** — `{{ 'key' | wrT }}` (pipe from `ngwr/i18n`). The locale defaults to
224
- Angular's `LOCALE_ID`, not the browser, for both copy and dates.
271
+ Angular's `LOCALE_ID`, not the browser, for both copy and dates; an app that
272
+ wants the browser's tag writes
273
+ `provideWrDateAdapter({ locale: navigator.language })`. A named date format
274
+ (`shortDate`, `time`, …) parses through the same `Intl` formatter that printed
275
+ it, so input it cannot read returns null and leaves the committed value alone.
276
+ A field that must accept a specific pattern takes an explicit token `[format]`.
225
277
  - **Theme** — CSS custom properties `--wr-color-*`, `--wr-border-radius-*`, … set
226
278
  by `provideWrTheme()`. Two contrast tokens per intent, easy to confuse:
227
279
  `--wr-color-<intent>-contrast` is the label ON a filled intent;
@@ -230,7 +282,9 @@ before writing your own. Full catalog: https://ngwr.dev/reference/components.
230
282
  surface for every intent but `warning` and `light`, but still fails on the `-soft`
231
283
  tint — which is exactly where outlined / ghost / tinted variants paint it, so use
232
284
  `-ink` there. For muted prose use `--wr-color-on-surface-muted`, not the `medium`
233
- intent.
285
+ intent, and for placeholder text `--wr-color-placeholder` (never
286
+ `--wr-color-text-faint`, which is decorative only). An intent colour on a tag,
287
+ badge or typography tone is decoration or category: the words carry the state.
234
288
  - **SSR** — everything renders on the server; the library contains no
235
289
  `ngSkipHydration`, so `provideClientHydration()` and `withEventReplay()` need
236
290
  nothing from it. Two calls are NOT no-ops there and ship an overlay into a
@@ -249,23 +303,22 @@ before writing your own. Full catalog: https://ngwr.dev/reference/components.
249
303
  `wr-tree` and `wr-select` (search mode), alongside the standalone
250
304
  `wr-virtual-scroll` wrapper.
251
305
  - **Testing** — CDK component harnesses ship beside the components they drive, at
252
- `ngwr/<name>/testing`. 71 entry points so far, 106 exported harness names over
253
- 105 distinct classes — `WrCalendarDayHarness` ships under two, since a date
254
- picker's popup IS a calendar — covering the
255
- form controls, the overlays, the data views, the navigation / disclosure set
256
- (`tabs`, `stepper`, `carousel`, `pagination`, `segmented`, `collapse`,
257
- `transfer`) and `markdown`: the form controls
306
+ `ngwr/<name>/testing` (how many there are is on https://ngwr.dev/start/quality).
307
+ Every control, every overlay and every chart has one: the form controls
258
308
  (`button`, `input`, `textarea`, `checkbox`, `switch`, `radio`, `select`,
259
309
  `input-number`, `input-otp`, `slider`, `rating`, `file-upload`, `color-picker`,
260
- `knob`, `form` for `<wr-form-field>`), the overlays (`date-picker`, `dropdown`,
261
- `popover`, `dialog`, `drawer`, `action-sheet`, `toast`, `context-menu`, `popconfirm`,
262
- `command-palette`, `cascader`, `mention`), the data views (`table`, `tree`, `graph`),
263
- `splitter`, `speed-dial`, `lightbox`, `tour`, `calendar`, `event-calendar`,
264
- `window`, `image-cropper`, every chart and eighteen of the twenty-one animations —
265
- every control, every overlay and every chart has one. `aurora`, `click-spark`,
266
- `confetti` and `virtual-scroll` deliberately have none: what they do is a canvas or
267
- a measured viewport, so every honest method would read the same for a working
268
- component and a broken one.
310
+ `knob`, `segmented`, `editor`, and `form` for `<wr-form-field>`), the overlays
311
+ (`date-picker`, `dropdown`, `popover`, `dialog`, `drawer`, `action-sheet`,
312
+ `toast`, `context-menu`, `popconfirm`, `command-palette`, `cascader`,
313
+ `mention`), the data views (`table`, `tree`, `graph`), the navigation and
314
+ disclosure set (`tabs`, `stepper`, `carousel`, `pagination`, `collapse`,
315
+ `transfer`), `markdown`, `splitter`, `speed-dial`, `lightbox`, `tour`,
316
+ `calendar`, `event-calendar`, `window`, `image-cropper`, and every animation
317
+ but three. `WrCalendarDayHarness` ships under two entry points, since a date
318
+ picker's popup IS a calendar. `aurora`, `click-spark`, `confetti` and
319
+ `virtual-scroll` deliberately have none: what they do is a canvas or a measured
320
+ viewport, so every honest method would read the same for a working component
321
+ and a broken one.
269
322
  Load them with `TestbedHarnessEnvironment` and narrow with
270
323
  `WrButtonHarness.with({ text: 'Save' })` instead of querying ngwr's markup.
271
324
  Dialog, toast and a service-opened drawer render outside the fixture — load
@@ -292,27 +345,28 @@ before writing your own. Full catalog: https://ngwr.dev/reference/components.
292
345
  Four pages exist for the question before installation, and everything on them
293
346
  is meant to be checkable rather than taken on trust:
294
347
 
295
- - **Why ngwr, and when not to** — the wedge (nineteen value controls are Signal
348
+ - **Why ngwr, and when not to** — the wedge (the value controls are Signal
296
349
  Forms controls; no `ControlValueAccessor` in the library), a comparison against
297
350
  Material / PrimeNG / NG-ZORRO / Taiga / Spartan, and a per-competitor "choose
298
351
  something else if" section: https://ngwr.dev/start/comparison
299
- - **What gates a change** — nine gates on every PR, three separate
300
- accessibility sweeps and what each one cannot see, the two nightly baselines
301
- and what is accepted in them, plus what the test suite does NOT cover:
352
+ - **What gates a change** — the gates every PR must pass, three separate
353
+ accessibility sweeps and what each one cannot see, the nightly baselines and
354
+ what is accepted in them, plus what the test suite does NOT cover:
302
355
  https://ngwr.dev/start/quality
303
356
  - **A live Signal Forms demo** you can read before installing anything:
304
357
  https://ngwr.dev/start/playground
305
358
  - **What a version number promises** — what a major is allowed to break, and the
306
359
  one semver rule made mechanical: `release:prepare` refuses a minor or patch
307
- bump when any commit since the last tag is marked breaking, so `^14.0.0` is a
308
- safe range (12.2.0 was a minor carrying a breaking change, which is why the
309
- guard exists). Also the support window — current major in full, previous major
310
- mechanical security fixes only, ending when the next major ships — and the
311
- actual cadence: https://ngwr.dev/start/versioning
360
+ bump when any commit since the last tag is marked breaking, so a caret range
361
+ on a major is a safe range (12.2.0 was a minor carrying a breaking change,
362
+ which is why the guard exists). Also the support window — current major in
363
+ full, previous major mechanical security fixes only, ending when the next
364
+ major ships — and the actual cadence: https://ngwr.dev/start/versioning
312
365
 
313
366
  The honest shape of the project, since these pages say it too: one maintainer,
314
- MIT, eight majors shipped since 2026-06-12, a codemod for every break a codemod
315
- can repair and a reported diagnosis for the rest, no commercial support.
367
+ MIT, eight majors between 2026-06-12 (v7.0.0) and 2026-09-04 (v14.0.0), a
368
+ codemod for every break a codemod can repair and a reported diagnosis for the
369
+ rest, no commercial support.
316
370
 
317
371
  Public API is three surfaces and all three move only in a major: the exported
318
372
  TypeScript, the `.wr-*` BEM class names (every component ships
@@ -320,9 +374,10 @@ TypeScript, the `.wr-*` BEM class names (every component ships
320
374
  TSDoc means not API and survives into the published types, so
321
375
  `grep -rn "@internal" node_modules/ngwr/types` answers it. A few helpers are
322
376
  exported, unmarked and undocumented — `wrAppendOverlayClose`, `wrMirrorOffsets`,
323
- `wrPresentAsSheet`, `WrOutsideClick`, `useConfigValue`, `useFormFieldAria`,
324
- `squirclePath`, `wrContrastFor`, `isSafeCssValue` — and carry no stability
325
- statement; do not build on them.
377
+ `wrPresentAsSheet`, `wrFollowDirection`, `WrOutsideClick`, `useConfigValue`,
378
+ `useFormFieldAria`, `squirclePath`, `wrContrastFor`, `wrIntentTokens`,
379
+ `isSafeCssValue`, and a handful of `WR_*` context tokens such as `WR_STEPPER` —
380
+ and carry no stability statement; do not build on them.
326
381
 
327
382
  ## Resources (machine-readable)
328
383
 
@@ -335,15 +390,16 @@ statement; do not build on them.
335
390
  prose and code samples and API tables, without the site chrome. Prefer it over
336
391
  `llms-full.txt` when you already know which component you need. Each HTML page
337
392
  advertises its twin as `<link rel="alternate" type="text/markdown">`.
338
- - **MCP server — the same files, askable.** `npx -y ngwr-mcp` (a bin in the
339
- installed package; zero dependencies, JSON-RPC over stdio) exposes four tools:
340
- `search_ngwr` turns a need into an entry point name, `get_ngwr_component`
341
- summarises one entry point, `get_ngwr_api` returns a class's inputs / models /
342
- outputs read out of the shipped `.d.ts`, and `get_ngwr_setup` returns the
343
- install / `ng g ngwr:use` / provider commands as text — it never runs them,
344
- and it never reaches outside its own package: no network, no commands. It reads the resources
345
- listed here rather than embedding a copy of them. Client config for Claude
346
- Code / Claude Desktop / Cursor, and a worked example of each tool:
393
+ - **MCP server — the same files, askable.** `npx -y -p ngwr ngwr-mcp` (a bin
394
+ in the installed package; zero dependencies, JSON-RPC over stdio) exposes
395
+ four tools: `search_ngwr` turns a need into an entry point name,
396
+ `get_ngwr_component` summarises one entry point, `get_ngwr_api` returns a
397
+ class's inputs / models / outputs read out of the shipped `.d.ts`, and
398
+ `get_ngwr_setup` returns the install / `ng g ngwr:use` / provider commands as
399
+ text — it never runs them, and it never reaches outside its own package: no
400
+ network, no commands. It reads the resources listed here rather than
401
+ embedding a copy of them. Client config for Claude Code / Claude Desktop /
402
+ Cursor, and a worked example of each tool:
347
403
  https://ngwr.dev/guides/mcp
348
404
  - **Agent skill — the rules, not the catalog.** `skills/ngwr/SKILL.md` in the
349
405
  installed package (also at https://ngwr.dev/skills/ngwr/SKILL.md) is about a
@@ -355,8 +411,8 @@ statement; do not build on them.
355
411
  https://ngwr.dev/guides/agent-skill
356
412
  - **Registry — an open format for shareable theme presets and blocks.** One
357
413
  installable unit per JSON file, hosted anywhere; the contract is
358
- https://ngwr.dev/registry/schema.json and four worked examples sit beside it
359
- at `/registry/items/` — three theme presets and one block. `cssVars` keys are
414
+ https://ngwr.dev/registry/schema.json and worked examples sit beside it at
415
+ `/registry/items/`, theme presets and a block. `cssVars` keys are
360
416
  `--wr-*` tokens, `entryPoints` names `ngwr/*` subpaths, and a `files[].target`
361
417
  is always relative:
362
418
  https://ngwr.dev/guides/registry
package/mcp/providers.js CHANGED
@@ -6,9 +6,9 @@
6
6
  */
7
7
  const REQUIRED_PROVIDERS = [
8
8
  {
9
- test: /^Wr(Dialog|Drawer|Toast|Popover|Popconfirm|ContextMenu|Select|Dropdown|CommandPalette|Cascader|Mention|DatePicker|Tour|Lightbox)/,
9
+ test: /^Wr(Dialog|Drawer|Toast|Popover|Popconfirm|ContextMenu|Select|Dropdown|CommandPalette|Cascader|Mention|DatePicker|Tour|Lightbox|Editor)/,
10
10
  provider: "provideWrOverlay() // from 'ngwr/overlay'",
11
- why: 'overlays render into an ngwr-owned container; without it they never appear',
11
+ why: 'gives ngwr overlays their own container, so they never collide with other CDK overlays',
12
12
  },
13
13
  {
14
14
  test: /^WrIcon/,
package/mcp/server.js CHANGED
@@ -22,7 +22,7 @@ import { TOOLS, callTool, validateArguments } from './tools.js';
22
22
  * not fail — it waits, which is worse. Every branch here now ends in exactly one
23
23
  * reply per request, and none for a notification.
24
24
  *
25
- * Run it with `npx ngwr-mcp`, or point a client at
25
+ * Run it with `npx -y -p ngwr ngwr-mcp`, or point a client at
26
26
  * `node ./node_modules/ngwr/mcp/server.js`.
27
27
  *
28
28
  * @see https://modelcontextprotocol.io
@@ -1,4 +1,5 @@
1
1
  @use '../../theme/styles' as theme;
2
+ @use '../../popover/styles'; // the `.wr-tooltip` chip the hover tooltip renders into
2
3
 
3
4
  .wr-meter-group {
4
5
  display: flex;
@@ -139,8 +139,15 @@ $placements: (
139
139
  /// turns the right border into the down-right face and the bottom one into the
140
140
  /// down-left face, so `right + bottom` is what outlines a tip pointing DOWN.
141
141
  /// Swapping only the inline half would paint two faces that are tucked under
142
- /// the panel. A mirrored arrow needs the rotation mirrored as well — more than
143
- /// a property rewrite, so it is left for the RTL pass that owns the TS side.
142
+ /// the panel.
143
+ ///
144
+ /// That is also why a side edge needs its own RTL rule, which `anchored-arrow`
145
+ /// emits. `at()` hangs the arrow off the panel's inline start or end, so under
146
+ /// `dir="rtl"` a `right`-placed panel carries it on its PHYSICAL right while
147
+ /// these faces still outline a tip pointing left — the two faces painted are
148
+ /// the ones inside the panel, drawn over its content as a chevron, and the tip
149
+ /// that does stick out has no outline. The top and bottom edges are symmetric
150
+ /// about the vertical axis and need nothing.
144
151
  @mixin faces($edge, $color) {
145
152
  @if $edge == bottom {
146
153
  // rtl-ok: down-right face of a 45°-rotated square — fixed by the rotation
@@ -213,6 +220,9 @@ $placements: (
213
220
  }
214
221
  }
215
222
 
223
+ // color-ok: placements, not states — `$placements-used` is a mixin argument
224
+ // the gate cannot resolve, and every member is an edge plus an alignment
225
+ // (`top`, `bottom-start`, …) that `at()` turns into a position.
216
226
  @each $placement in $placements-used {
217
227
  $spec: map.get($placements, $placement);
218
228
 
@@ -239,5 +249,23 @@ $placements: (
239
249
  @include faces($edge, $border);
240
250
  }
241
251
  }
252
+
253
+ // A side edge under RTL: the arrow already sits on the mirrored side (`at()`
254
+ // is logical), so the outline moves to the mirrored faces — see `faces()`.
255
+ // Keyed on the `dir` the CDK writes on the pane's own host, as a CHILD
256
+ // combinator, rather than on any RTL ancestor: an overlay created `ltr` inside
257
+ // an `rtl` page lays out `ltr`, and a descendant match would outline it wrong.
258
+ @if $border != null and ($edge == left or $edge == right) {
259
+ $mirrored: left;
260
+
261
+ @if $edge == left {
262
+ $mirrored: right;
263
+ }
264
+
265
+ [dir='rtl'] > #{$pane}--#{$placement} #{$panel}::after {
266
+ border: 0;
267
+ @include faces($mirrored, $border);
268
+ }
269
+ }
242
270
  }
243
271
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngwr",
3
- "version": "14.7.0",
3
+ "version": "14.9.0",
4
4
  "bin": {
5
5
  "ngwr-mcp": "mcp/server.js"
6
6
  },
@@ -49,7 +49,15 @@
49
49
  "@angular/router": ">=22.0.0",
50
50
  "rxjs": "^7.0.0",
51
51
  "date-fns": "^3.0.0 || ^4.0.0",
52
- "luxon": "^3.0.0"
52
+ "luxon": "^3.0.0",
53
+ "prosemirror-commands": "^1.7.2",
54
+ "prosemirror-history": "^1.5.0",
55
+ "prosemirror-inputrules": "^1.5.1",
56
+ "prosemirror-keymap": "^1.2.3",
57
+ "prosemirror-model": "^1.25.8",
58
+ "prosemirror-schema-list": "^1.5.1",
59
+ "prosemirror-state": "^1.4.4",
60
+ "prosemirror-view": "^1.42.3"
53
61
  },
54
62
  "peerDependenciesMeta": {
55
63
  "@angular/router": {
@@ -60,6 +68,30 @@
60
68
  },
61
69
  "luxon": {
62
70
  "optional": true
71
+ },
72
+ "prosemirror-commands": {
73
+ "optional": true
74
+ },
75
+ "prosemirror-history": {
76
+ "optional": true
77
+ },
78
+ "prosemirror-inputrules": {
79
+ "optional": true
80
+ },
81
+ "prosemirror-keymap": {
82
+ "optional": true
83
+ },
84
+ "prosemirror-model": {
85
+ "optional": true
86
+ },
87
+ "prosemirror-schema-list": {
88
+ "optional": true
89
+ },
90
+ "prosemirror-state": {
91
+ "optional": true
92
+ },
93
+ "prosemirror-view": {
94
+ "optional": true
63
95
  }
64
96
  },
65
97
  "dependencies": {
@@ -276,6 +308,11 @@
276
308
  "types": "./types/ngwr-dropdown.d.ts",
277
309
  "default": "./fesm2022/ngwr-dropdown.mjs"
278
310
  },
311
+ "./editor": {
312
+ "sass": "./editor/styles/_index.scss",
313
+ "types": "./types/ngwr-editor.d.ts",
314
+ "default": "./fesm2022/ngwr-editor.mjs"
315
+ },
279
316
  "./empty": {
280
317
  "sass": "./empty/styles/_index.scss",
281
318
  "types": "./types/ngwr-empty.d.ts",
@@ -764,6 +801,10 @@
764
801
  "types": "./types/ngwr-dropdown-testing.d.ts",
765
802
  "default": "./fesm2022/ngwr-dropdown-testing.mjs"
766
803
  },
804
+ "./editor/testing": {
805
+ "types": "./types/ngwr-editor-testing.d.ts",
806
+ "default": "./fesm2022/ngwr-editor-testing.mjs"
807
+ },
767
808
  "./event-calendar/testing": {
768
809
  "types": "./types/ngwr-event-calendar-testing.d.ts",
769
810
  "default": "./fesm2022/ngwr-event-calendar-testing.mjs"