ngwr 10.2.1 → 11.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) hide show
  1. package/README.md +39 -19
  2. package/action-sheet/styles/_index.scss +4 -1
  3. package/anchor/styles/_index.scss +6 -5
  4. package/back-top/styles/_index.scss +6 -1
  5. package/blur-text/styles/_index.scss +13 -0
  6. package/button/styles/_index.scss +11 -6
  7. package/calendar/styles/_index.scss +11 -2
  8. package/carousel/styles/_index.scss +13 -2
  9. package/cascader/styles/_index.scss +5 -3
  10. package/circular-text/styles/_index.scss +2 -0
  11. package/collapse/styles/_index.scss +1 -1
  12. package/color-picker/styles/_index.scss +6 -1
  13. package/command-palette/styles/_index.scss +2 -1
  14. package/compare/styles/_index.scss +1 -2
  15. package/context-menu/styles/_index.scss +8 -2
  16. package/descriptions/styles/_index.scss +2 -2
  17. package/dialog/styles/_index.scss +7 -0
  18. package/drawer/styles/_index.scss +20 -1
  19. package/dropdown/styles/_index.scss +19 -5
  20. package/empty/styles/_index.scss +10 -0
  21. package/falling-text/styles/_index.scss +2 -1
  22. package/fesm2022/ngwr-action-sheet.mjs +13 -3
  23. package/fesm2022/ngwr-action-sheet.mjs.map +1 -1
  24. package/fesm2022/ngwr-affix.mjs +40 -13
  25. package/fesm2022/ngwr-affix.mjs.map +1 -1
  26. package/fesm2022/ngwr-anchor.mjs +18 -6
  27. package/fesm2022/ngwr-anchor.mjs.map +1 -1
  28. package/fesm2022/ngwr-aurora.mjs +2 -2
  29. package/fesm2022/ngwr-aurora.mjs.map +1 -1
  30. package/fesm2022/ngwr-avatar.mjs +31 -7
  31. package/fesm2022/ngwr-avatar.mjs.map +1 -1
  32. package/fesm2022/ngwr-back-top.mjs +6 -2
  33. package/fesm2022/ngwr-back-top.mjs.map +1 -1
  34. package/fesm2022/ngwr-badge.mjs +1 -1
  35. package/fesm2022/ngwr-badge.mjs.map +1 -1
  36. package/fesm2022/ngwr-bar-chart.mjs +30 -9
  37. package/fesm2022/ngwr-bar-chart.mjs.map +1 -1
  38. package/fesm2022/ngwr-blur-text.mjs +2 -2
  39. package/fesm2022/ngwr-blur-text.mjs.map +1 -1
  40. package/fesm2022/ngwr-border-glow.mjs +2 -2
  41. package/fesm2022/ngwr-border-glow.mjs.map +1 -1
  42. package/fesm2022/ngwr-breadcrumbs.mjs +2 -2
  43. package/fesm2022/ngwr-breadcrumbs.mjs.map +1 -1
  44. package/fesm2022/ngwr-burger.mjs +9 -4
  45. package/fesm2022/ngwr-burger.mjs.map +1 -1
  46. package/fesm2022/ngwr-button-testing.mjs +96 -0
  47. package/fesm2022/ngwr-button-testing.mjs.map +1 -0
  48. package/fesm2022/ngwr-button.mjs +31 -14
  49. package/fesm2022/ngwr-button.mjs.map +1 -1
  50. package/fesm2022/ngwr-calendar-heatmap.mjs +40 -8
  51. package/fesm2022/ngwr-calendar-heatmap.mjs.map +1 -1
  52. package/fesm2022/ngwr-calendar.mjs +20 -1
  53. package/fesm2022/ngwr-calendar.mjs.map +1 -1
  54. package/fesm2022/ngwr-card.mjs +2 -2
  55. package/fesm2022/ngwr-card.mjs.map +1 -1
  56. package/fesm2022/ngwr-carousel-testing.mjs +377 -0
  57. package/fesm2022/ngwr-carousel-testing.mjs.map +1 -0
  58. package/fesm2022/ngwr-carousel.mjs +67 -13
  59. package/fesm2022/ngwr-carousel.mjs.map +1 -1
  60. package/fesm2022/ngwr-cascader-testing.mjs +534 -0
  61. package/fesm2022/ngwr-cascader-testing.mjs.map +1 -0
  62. package/fesm2022/ngwr-cascader.mjs +2 -2
  63. package/fesm2022/ngwr-cascader.mjs.map +1 -1
  64. package/fesm2022/ngwr-checkbox-testing.mjs +90 -0
  65. package/fesm2022/ngwr-checkbox-testing.mjs.map +1 -0
  66. package/fesm2022/ngwr-checkbox.mjs +9 -3
  67. package/fesm2022/ngwr-checkbox.mjs.map +1 -1
  68. package/fesm2022/ngwr-circular-text.mjs +2 -2
  69. package/fesm2022/ngwr-circular-text.mjs.map +1 -1
  70. package/fesm2022/ngwr-click-spark.mjs +2 -2
  71. package/fesm2022/ngwr-click-spark.mjs.map +1 -1
  72. package/fesm2022/ngwr-collapse-testing.mjs +368 -0
  73. package/fesm2022/ngwr-collapse-testing.mjs.map +1 -0
  74. package/fesm2022/ngwr-color-picker.mjs +134 -14
  75. package/fesm2022/ngwr-color-picker.mjs.map +1 -1
  76. package/fesm2022/ngwr-command-palette-testing.mjs +589 -0
  77. package/fesm2022/ngwr-command-palette-testing.mjs.map +1 -0
  78. package/fesm2022/ngwr-command-palette.mjs +58 -8
  79. package/fesm2022/ngwr-command-palette.mjs.map +1 -1
  80. package/fesm2022/ngwr-compare.mjs +103 -13
  81. package/fesm2022/ngwr-compare.mjs.map +1 -1
  82. package/fesm2022/ngwr-config.mjs +106 -0
  83. package/fesm2022/ngwr-config.mjs.map +1 -0
  84. package/fesm2022/ngwr-context-menu-testing.mjs +631 -0
  85. package/fesm2022/ngwr-context-menu-testing.mjs.map +1 -0
  86. package/fesm2022/ngwr-context-menu.mjs +94 -8
  87. package/fesm2022/ngwr-context-menu.mjs.map +1 -1
  88. package/fesm2022/ngwr-cookie.mjs +5 -1
  89. package/fesm2022/ngwr-cookie.mjs.map +1 -1
  90. package/fesm2022/ngwr-counter.mjs +11 -3
  91. package/fesm2022/ngwr-counter.mjs.map +1 -1
  92. package/fesm2022/ngwr-date-adapter-luxon.mjs +52 -4
  93. package/fesm2022/ngwr-date-adapter-luxon.mjs.map +1 -1
  94. package/fesm2022/ngwr-date-adapter.mjs +54 -8
  95. package/fesm2022/ngwr-date-adapter.mjs.map +1 -1
  96. package/fesm2022/ngwr-date-picker-testing.mjs +766 -0
  97. package/fesm2022/ngwr-date-picker-testing.mjs.map +1 -0
  98. package/fesm2022/ngwr-date-picker.mjs +73 -3
  99. package/fesm2022/ngwr-date-picker.mjs.map +1 -1
  100. package/fesm2022/ngwr-decrypt-text.mjs +27 -9
  101. package/fesm2022/ngwr-decrypt-text.mjs.map +1 -1
  102. package/fesm2022/ngwr-dialog-testing.mjs +89 -0
  103. package/fesm2022/ngwr-dialog-testing.mjs.map +1 -0
  104. package/fesm2022/ngwr-directives.mjs +36 -12
  105. package/fesm2022/ngwr-directives.mjs.map +1 -1
  106. package/fesm2022/ngwr-donut-chart.mjs +22 -5
  107. package/fesm2022/ngwr-donut-chart.mjs.map +1 -1
  108. package/fesm2022/ngwr-drag-drop.mjs +2 -2
  109. package/fesm2022/ngwr-drag-drop.mjs.map +1 -1
  110. package/fesm2022/ngwr-drawer-testing.mjs +250 -0
  111. package/fesm2022/ngwr-drawer-testing.mjs.map +1 -0
  112. package/fesm2022/ngwr-dropdown-testing.mjs +291 -0
  113. package/fesm2022/ngwr-dropdown-testing.mjs.map +1 -0
  114. package/fesm2022/ngwr-dropdown.mjs +10 -2
  115. package/fesm2022/ngwr-dropdown.mjs.map +1 -1
  116. package/fesm2022/ngwr-empty.mjs +24 -7
  117. package/fesm2022/ngwr-empty.mjs.map +1 -1
  118. package/fesm2022/ngwr-event-calendar.mjs +57 -10
  119. package/fesm2022/ngwr-event-calendar.mjs.map +1 -1
  120. package/fesm2022/ngwr-falling-text.mjs +2 -2
  121. package/fesm2022/ngwr-falling-text.mjs.map +1 -1
  122. package/fesm2022/ngwr-file-upload-testing.mjs +332 -0
  123. package/fesm2022/ngwr-file-upload-testing.mjs.map +1 -0
  124. package/fesm2022/ngwr-form-testing.mjs +451 -0
  125. package/fesm2022/ngwr-form-testing.mjs.map +1 -0
  126. package/fesm2022/ngwr-form.mjs +19 -3
  127. package/fesm2022/ngwr-form.mjs.map +1 -1
  128. package/fesm2022/ngwr-fuzzy-text.mjs +9 -2
  129. package/fesm2022/ngwr-fuzzy-text.mjs.map +1 -1
  130. package/fesm2022/ngwr-gauge.mjs +19 -5
  131. package/fesm2022/ngwr-gauge.mjs.map +1 -1
  132. package/fesm2022/ngwr-glitch-text.mjs +2 -2
  133. package/fesm2022/ngwr-glitch-text.mjs.map +1 -1
  134. package/fesm2022/ngwr-gradient-text.mjs +2 -2
  135. package/fesm2022/ngwr-gradient-text.mjs.map +1 -1
  136. package/fesm2022/ngwr-i18n-en.mjs +50 -0
  137. package/fesm2022/ngwr-i18n-en.mjs.map +1 -1
  138. package/fesm2022/ngwr-i18n-ru.mjs +48 -0
  139. package/fesm2022/ngwr-i18n-ru.mjs.map +1 -1
  140. package/fesm2022/ngwr-image-cropper.mjs +23 -0
  141. package/fesm2022/ngwr-image-cropper.mjs.map +1 -1
  142. package/fesm2022/ngwr-input-number-testing.mjs +306 -0
  143. package/fesm2022/ngwr-input-number-testing.mjs.map +1 -0
  144. package/fesm2022/ngwr-input-number.mjs +35 -3
  145. package/fesm2022/ngwr-input-number.mjs.map +1 -1
  146. package/fesm2022/ngwr-input-otp-testing.mjs +419 -0
  147. package/fesm2022/ngwr-input-otp-testing.mjs.map +1 -0
  148. package/fesm2022/ngwr-input-otp.mjs +36 -5
  149. package/fesm2022/ngwr-input-otp.mjs.map +1 -1
  150. package/fesm2022/ngwr-input-testing.mjs +102 -0
  151. package/fesm2022/ngwr-input-testing.mjs.map +1 -0
  152. package/fesm2022/ngwr-input.mjs +47 -10
  153. package/fesm2022/ngwr-input.mjs.map +1 -1
  154. package/fesm2022/ngwr-knob.mjs +44 -8
  155. package/fesm2022/ngwr-knob.mjs.map +1 -1
  156. package/fesm2022/ngwr-layout.mjs +21 -5
  157. package/fesm2022/ngwr-layout.mjs.map +1 -1
  158. package/fesm2022/ngwr-lightbox.mjs +33 -6
  159. package/fesm2022/ngwr-lightbox.mjs.map +1 -1
  160. package/fesm2022/ngwr-line-chart.mjs +17 -4
  161. package/fesm2022/ngwr-line-chart.mjs.map +1 -1
  162. package/fesm2022/ngwr-list.mjs +2 -2
  163. package/fesm2022/ngwr-list.mjs.map +1 -1
  164. package/fesm2022/ngwr-loading-bar.mjs +2 -2
  165. package/fesm2022/ngwr-loading-bar.mjs.map +1 -1
  166. package/fesm2022/ngwr-markdown-testing.mjs +516 -0
  167. package/fesm2022/ngwr-markdown-testing.mjs.map +1 -0
  168. package/fesm2022/ngwr-markdown.mjs +1492 -0
  169. package/fesm2022/ngwr-markdown.mjs.map +1 -0
  170. package/fesm2022/ngwr-marquee.mjs +17 -6
  171. package/fesm2022/ngwr-marquee.mjs.map +1 -1
  172. package/fesm2022/ngwr-mention-testing.mjs +513 -0
  173. package/fesm2022/ngwr-mention-testing.mjs.map +1 -0
  174. package/fesm2022/ngwr-mention.mjs +10 -1
  175. package/fesm2022/ngwr-mention.mjs.map +1 -1
  176. package/fesm2022/ngwr-meta.mjs +22 -7
  177. package/fesm2022/ngwr-meta.mjs.map +1 -1
  178. package/fesm2022/ngwr-meter-group.mjs +19 -5
  179. package/fesm2022/ngwr-meter-group.mjs.map +1 -1
  180. package/fesm2022/ngwr-overlay.mjs +41 -1
  181. package/fesm2022/ngwr-overlay.mjs.map +1 -1
  182. package/fesm2022/ngwr-pagination-testing.mjs +389 -0
  183. package/fesm2022/ngwr-pagination-testing.mjs.map +1 -0
  184. package/fesm2022/ngwr-pagination.mjs +14 -2
  185. package/fesm2022/ngwr-pagination.mjs.map +1 -1
  186. package/fesm2022/ngwr-popconfirm-testing.mjs +309 -0
  187. package/fesm2022/ngwr-popconfirm-testing.mjs.map +1 -0
  188. package/fesm2022/ngwr-popconfirm.mjs +95 -17
  189. package/fesm2022/ngwr-popconfirm.mjs.map +1 -1
  190. package/fesm2022/ngwr-popover-testing.mjs +316 -0
  191. package/fesm2022/ngwr-popover-testing.mjs.map +1 -0
  192. package/fesm2022/ngwr-popover.mjs +21 -3
  193. package/fesm2022/ngwr-popover.mjs.map +1 -1
  194. package/fesm2022/ngwr-pull-to-refresh.mjs +17 -2
  195. package/fesm2022/ngwr-pull-to-refresh.mjs.map +1 -1
  196. package/fesm2022/ngwr-qr.mjs +13 -3
  197. package/fesm2022/ngwr-qr.mjs.map +1 -1
  198. package/fesm2022/ngwr-radio-testing.mjs +392 -0
  199. package/fesm2022/ngwr-radio-testing.mjs.map +1 -0
  200. package/fesm2022/ngwr-radio.mjs +10 -3
  201. package/fesm2022/ngwr-radio.mjs.map +1 -1
  202. package/fesm2022/ngwr-rating-testing.mjs +384 -0
  203. package/fesm2022/ngwr-rating-testing.mjs.map +1 -0
  204. package/fesm2022/ngwr-rating.mjs +37 -2
  205. package/fesm2022/ngwr-rating.mjs.map +1 -1
  206. package/fesm2022/ngwr-segmented-testing.mjs +512 -0
  207. package/fesm2022/ngwr-segmented-testing.mjs.map +1 -0
  208. package/fesm2022/ngwr-select-testing.mjs +268 -0
  209. package/fesm2022/ngwr-select-testing.mjs.map +1 -0
  210. package/fesm2022/ngwr-select.mjs +87 -16
  211. package/fesm2022/ngwr-select.mjs.map +1 -1
  212. package/fesm2022/ngwr-shiny-text.mjs +2 -2
  213. package/fesm2022/ngwr-shiny-text.mjs.map +1 -1
  214. package/fesm2022/ngwr-sidebar.mjs +65 -12
  215. package/fesm2022/ngwr-sidebar.mjs.map +1 -1
  216. package/fesm2022/ngwr-slider-testing.mjs +478 -0
  217. package/fesm2022/ngwr-slider-testing.mjs.map +1 -0
  218. package/fesm2022/ngwr-slider.mjs +57 -13
  219. package/fesm2022/ngwr-slider.mjs.map +1 -1
  220. package/fesm2022/ngwr-sparkline.mjs +26 -6
  221. package/fesm2022/ngwr-sparkline.mjs.map +1 -1
  222. package/fesm2022/ngwr-speed-dial.mjs +37 -4
  223. package/fesm2022/ngwr-speed-dial.mjs.map +1 -1
  224. package/fesm2022/ngwr-spinner.mjs +12 -3
  225. package/fesm2022/ngwr-spinner.mjs.map +1 -1
  226. package/fesm2022/ngwr-splash-cursor.mjs +2 -2
  227. package/fesm2022/ngwr-splash-cursor.mjs.map +1 -1
  228. package/fesm2022/ngwr-split-text.mjs +2 -2
  229. package/fesm2022/ngwr-split-text.mjs.map +1 -1
  230. package/fesm2022/ngwr-splitter.mjs +70 -9
  231. package/fesm2022/ngwr-splitter.mjs.map +1 -1
  232. package/fesm2022/ngwr-spotlight-card.mjs +2 -2
  233. package/fesm2022/ngwr-spotlight-card.mjs.map +1 -1
  234. package/fesm2022/ngwr-star-border.mjs +2 -2
  235. package/fesm2022/ngwr-star-border.mjs.map +1 -1
  236. package/fesm2022/ngwr-statistic.mjs +24 -7
  237. package/fesm2022/ngwr-statistic.mjs.map +1 -1
  238. package/fesm2022/ngwr-stepper-testing.mjs +477 -0
  239. package/fesm2022/ngwr-stepper-testing.mjs.map +1 -0
  240. package/fesm2022/ngwr-switch-testing.mjs +77 -0
  241. package/fesm2022/ngwr-switch-testing.mjs.map +1 -0
  242. package/fesm2022/ngwr-switch.mjs +9 -3
  243. package/fesm2022/ngwr-switch.mjs.map +1 -1
  244. package/fesm2022/ngwr-table-testing.mjs +580 -0
  245. package/fesm2022/ngwr-table-testing.mjs.map +1 -0
  246. package/fesm2022/ngwr-table.mjs +87 -14
  247. package/fesm2022/ngwr-table.mjs.map +1 -1
  248. package/fesm2022/ngwr-tabs-testing.mjs +617 -0
  249. package/fesm2022/ngwr-tabs-testing.mjs.map +1 -0
  250. package/fesm2022/ngwr-tabs.mjs +38 -6
  251. package/fesm2022/ngwr-tabs.mjs.map +1 -1
  252. package/fesm2022/ngwr-textarea-testing.mjs +238 -0
  253. package/fesm2022/ngwr-textarea-testing.mjs.map +1 -0
  254. package/fesm2022/ngwr-textarea.mjs +32 -4
  255. package/fesm2022/ngwr-textarea.mjs.map +1 -1
  256. package/fesm2022/ngwr-tilt-card.mjs +2 -2
  257. package/fesm2022/ngwr-tilt-card.mjs.map +1 -1
  258. package/fesm2022/ngwr-toast-testing.mjs +101 -0
  259. package/fesm2022/ngwr-toast-testing.mjs.map +1 -0
  260. package/fesm2022/ngwr-toast.mjs +2 -2
  261. package/fesm2022/ngwr-toast.mjs.map +1 -1
  262. package/fesm2022/ngwr-tour.mjs +61 -9
  263. package/fesm2022/ngwr-tour.mjs.map +1 -1
  264. package/fesm2022/ngwr-transfer-testing.mjs +538 -0
  265. package/fesm2022/ngwr-transfer-testing.mjs.map +1 -0
  266. package/fesm2022/ngwr-transfer.mjs +45 -14
  267. package/fesm2022/ngwr-transfer.mjs.map +1 -1
  268. package/fesm2022/ngwr-tree-testing.mjs +734 -0
  269. package/fesm2022/ngwr-tree-testing.mjs.map +1 -0
  270. package/fesm2022/ngwr-tree.mjs +73 -7
  271. package/fesm2022/ngwr-tree.mjs.map +1 -1
  272. package/fesm2022/ngwr-typewriter.mjs +5 -3
  273. package/fesm2022/ngwr-typewriter.mjs.map +1 -1
  274. package/fesm2022/ngwr-version.mjs +1 -1
  275. package/fesm2022/ngwr-version.mjs.map +1 -1
  276. package/fesm2022/ngwr-virtual-scroll.mjs +31 -5
  277. package/fesm2022/ngwr-virtual-scroll.mjs.map +1 -1
  278. package/fesm2022/ngwr-waves.mjs +3 -3
  279. package/fesm2022/ngwr-waves.mjs.map +1 -1
  280. package/fesm2022/ngwr-window.mjs +8 -0
  281. package/fesm2022/ngwr-window.mjs.map +1 -1
  282. package/file-upload/styles/_index.scss +7 -2
  283. package/gauge/styles/_index.scss +1 -1
  284. package/glitch-text/styles/_index.scss +4 -0
  285. package/i18n/en.json +48 -0
  286. package/i18n/ru.json +48 -0
  287. package/image-cropper/styles/_index.scss +13 -1
  288. package/input/styles/_index.scss +2 -2
  289. package/input-number/styles/_index.scss +7 -2
  290. package/knob/styles/_index.scss +8 -1
  291. package/layout/styles/_index.scss +3 -3
  292. package/lightbox/styles/_index.scss +10 -2
  293. package/line-chart/styles/_index.scss +6 -0
  294. package/llms-full.txt +151 -4
  295. package/llms.txt +57 -8
  296. package/loading-bar/styles/_index.scss +1 -2
  297. package/markdown/styles/_index.scss +296 -0
  298. package/marquee/styles/_index.scss +12 -0
  299. package/mcp/api.js +512 -0
  300. package/mcp/catalog.js +157 -0
  301. package/mcp/server.js +273 -0
  302. package/mcp/tools.js +366 -0
  303. package/meter-group/styles/_index.scss +1 -1
  304. package/package.json +186 -35
  305. package/pagination/styles/_index.scss +6 -6
  306. package/popover/styles/_index.scss +37 -5
  307. package/rating/styles/_index.scss +10 -0
  308. package/result/styles/_index.scss +3 -1
  309. package/schematics/use/symbol-map.json +2 -0
  310. package/segmented/styles/_index.scss +12 -1
  311. package/select/styles/_index.scss +32 -10
  312. package/sidebar/styles/_index.scss +30 -5
  313. package/slider/styles/_index.scss +15 -0
  314. package/speed-dial/styles/_index.scss +20 -0
  315. package/split-text/styles/_index.scss +13 -0
  316. package/star-border/styles/_index.scss +2 -0
  317. package/stepper/styles/_index.scss +19 -3
  318. package/styles/_grid.scss +4 -4
  319. package/styles.scss +1 -0
  320. package/switch/styles/_index.scss +5 -3
  321. package/table/styles/_index.scss +25 -12
  322. package/tabs/styles/_index.scss +11 -1
  323. package/textarea/styles/_index.scss +5 -0
  324. package/theme/styles/_colors.scss +44 -15
  325. package/theme/styles/_dark.scss +35 -15
  326. package/theme/styles/_mixins.scss +3 -0
  327. package/timeline/styles/_index.scss +2 -2
  328. package/toast/styles/_index.scss +17 -8
  329. package/toolbar/styles/_index.scss +3 -3
  330. package/tour/styles/_index.scss +7 -1
  331. package/tree/styles/_index.scss +9 -5
  332. package/types/ngwr-action-sheet.d.ts +9 -1
  333. package/types/ngwr-affix.d.ts +7 -1
  334. package/types/ngwr-anchor.d.ts +8 -1
  335. package/types/ngwr-avatar.d.ts +13 -3
  336. package/types/ngwr-bar-chart.d.ts +16 -0
  337. package/types/ngwr-burger.d.ts +6 -2
  338. package/types/ngwr-button-testing.d.ts +85 -0
  339. package/types/ngwr-button.d.ts +26 -10
  340. package/types/ngwr-calendar-heatmap.d.ts +16 -2
  341. package/types/ngwr-calendar.d.ts +10 -0
  342. package/types/ngwr-carousel-testing.d.ts +257 -0
  343. package/types/ngwr-carousel.d.ts +20 -4
  344. package/types/ngwr-cascader-testing.d.ts +392 -0
  345. package/types/ngwr-checkbox-testing.d.ts +77 -0
  346. package/types/ngwr-checkbox.d.ts +7 -2
  347. package/types/ngwr-collapse-testing.d.ts +290 -0
  348. package/types/ngwr-color-picker.d.ts +20 -11
  349. package/types/ngwr-command-palette-testing.d.ts +437 -0
  350. package/types/ngwr-command-palette.d.ts +25 -2
  351. package/types/ngwr-compare.d.ts +50 -2
  352. package/types/ngwr-config.d.ts +176 -0
  353. package/types/ngwr-context-menu-testing.d.ts +401 -0
  354. package/types/ngwr-context-menu.d.ts +65 -17
  355. package/types/ngwr-counter.d.ts +6 -1
  356. package/types/ngwr-date-adapter-luxon.d.ts +26 -0
  357. package/types/ngwr-date-picker-testing.d.ts +518 -0
  358. package/types/ngwr-date-picker.d.ts +4 -0
  359. package/types/ngwr-dialog-testing.d.ts +79 -0
  360. package/types/ngwr-directives.d.ts +10 -1
  361. package/types/ngwr-donut-chart.d.ts +8 -1
  362. package/types/ngwr-drawer-testing.d.ts +196 -0
  363. package/types/ngwr-dropdown-testing.d.ts +202 -0
  364. package/types/ngwr-dropdown.d.ts +7 -1
  365. package/types/ngwr-empty.d.ts +19 -4
  366. package/types/ngwr-event-calendar.d.ts +26 -1
  367. package/types/ngwr-file-upload-testing.d.ts +194 -0
  368. package/types/ngwr-form-testing.d.ts +379 -0
  369. package/types/ngwr-form.d.ts +17 -0
  370. package/types/ngwr-gauge.d.ts +13 -1
  371. package/types/ngwr-image-cropper.d.ts +10 -0
  372. package/types/ngwr-input-number-testing.d.ts +226 -0
  373. package/types/ngwr-input-number.d.ts +29 -1
  374. package/types/ngwr-input-otp-testing.d.ts +299 -0
  375. package/types/ngwr-input-otp.d.ts +23 -2
  376. package/types/ngwr-input-testing.d.ts +84 -0
  377. package/types/ngwr-input.d.ts +20 -6
  378. package/types/ngwr-knob.d.ts +18 -0
  379. package/types/ngwr-layout.d.ts +1 -0
  380. package/types/ngwr-lightbox.d.ts +17 -3
  381. package/types/ngwr-line-chart.d.ts +9 -2
  382. package/types/ngwr-markdown-testing.d.ts +462 -0
  383. package/types/ngwr-markdown.d.ts +534 -0
  384. package/types/ngwr-marquee.d.ts +12 -2
  385. package/types/ngwr-mention-testing.d.ts +359 -0
  386. package/types/ngwr-meta.d.ts +4 -2
  387. package/types/ngwr-meter-group.d.ts +11 -1
  388. package/types/ngwr-overlay.d.ts +33 -2
  389. package/types/ngwr-pagination-testing.d.ts +291 -0
  390. package/types/ngwr-pagination.d.ts +1 -0
  391. package/types/ngwr-popconfirm-testing.d.ts +235 -0
  392. package/types/ngwr-popconfirm.d.ts +31 -21
  393. package/types/ngwr-popover-testing.d.ts +221 -0
  394. package/types/ngwr-popover.d.ts +9 -0
  395. package/types/ngwr-pull-to-refresh.d.ts +7 -0
  396. package/types/ngwr-qr.d.ts +9 -1
  397. package/types/ngwr-radio-testing.d.ts +296 -0
  398. package/types/ngwr-radio.d.ts +8 -2
  399. package/types/ngwr-rating-testing.d.ts +291 -0
  400. package/types/ngwr-rating.d.ts +23 -0
  401. package/types/ngwr-segmented-testing.d.ts +401 -0
  402. package/types/ngwr-select-testing.d.ts +175 -0
  403. package/types/ngwr-select.d.ts +45 -4
  404. package/types/ngwr-sidebar.d.ts +17 -2
  405. package/types/ngwr-slider-testing.d.ts +329 -0
  406. package/types/ngwr-slider.d.ts +35 -1
  407. package/types/ngwr-sparkline.d.ts +12 -2
  408. package/types/ngwr-speed-dial.d.ts +17 -18
  409. package/types/ngwr-spinner.d.ts +8 -1
  410. package/types/ngwr-splitter.d.ts +24 -1
  411. package/types/ngwr-statistic.d.ts +12 -2
  412. package/types/ngwr-stepper-testing.d.ts +346 -0
  413. package/types/ngwr-switch-testing.d.ts +66 -0
  414. package/types/ngwr-switch.d.ts +7 -2
  415. package/types/ngwr-table-testing.d.ts +423 -0
  416. package/types/ngwr-table.d.ts +42 -0
  417. package/types/ngwr-tabs-testing.d.ts +470 -0
  418. package/types/ngwr-tabs.d.ts +9 -0
  419. package/types/ngwr-textarea-testing.d.ts +184 -0
  420. package/types/ngwr-textarea.d.ts +7 -2
  421. package/types/ngwr-toast-testing.d.ts +80 -0
  422. package/types/ngwr-tour.d.ts +27 -0
  423. package/types/ngwr-transfer-testing.d.ts +444 -0
  424. package/types/ngwr-transfer.d.ts +16 -1
  425. package/types/ngwr-tree-testing.d.ts +501 -0
  426. package/types/ngwr-tree.d.ts +33 -0
  427. package/types/ngwr-version.d.ts +1 -1
  428. package/types/ngwr-virtual-scroll.d.ts +13 -1
  429. package/typewriter/styles/_index.scss +1 -1
  430. package/typography/styles/_index.scss +1 -1
  431. package/window/styles/_index.scss +32 -9
package/package.json CHANGED
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "name": "ngwr",
3
- "version": "10.2.1",
3
+ "version": "11.1.0",
4
+ "bin": {
5
+ "ngwr-mcp": "./mcp/server.js"
6
+ },
4
7
  "license": "MIT",
5
8
  "description": "Signals-first Angular UI library: 100+ standalone, zoneless-ready components with native Signal Forms, SSR-safe rendering and CSS-variable theming.",
6
9
  "author": "Roman Khegay <rk@garuna.dev> (https://garuna.dev)",
@@ -75,31 +78,6 @@
75
78
  "types": "./types/ngwr.d.ts",
76
79
  "default": "./fesm2022/ngwr.mjs"
77
80
  },
78
- "./theme": {
79
- "sass": "./theme/styles/_index.scss",
80
- "types": "./types/ngwr-theme.d.ts",
81
- "default": "./fesm2022/ngwr-theme.mjs"
82
- },
83
- "./breakpoints": {
84
- "sass": "./styles/_breakpoints.scss"
85
- },
86
- "./grid": {
87
- "sass": "./styles/_grid.scss"
88
- },
89
- "./reset": {
90
- "sass": "./styles/_reset.scss"
91
- },
92
- "./animations": {
93
- "sass": "./styles/_animations.scss"
94
- },
95
- "./typography": {
96
- "sass": "./typography/styles/_index.scss",
97
- "types": "./types/ngwr-typography.d.ts",
98
- "default": "./fesm2022/ngwr-typography.mjs"
99
- },
100
- "./typography-utilities": {
101
- "sass": "./styles/_typography.scss"
102
- },
103
81
  "./action-sheet": {
104
82
  "sass": "./action-sheet/styles/_index.scss",
105
83
  "types": "./types/ngwr-action-sheet.d.ts",
@@ -120,6 +98,9 @@
120
98
  "types": "./types/ngwr-anchor.d.ts",
121
99
  "default": "./fesm2022/ngwr-anchor.mjs"
122
100
  },
101
+ "./animations": {
102
+ "sass": "./styles/_animations.scss"
103
+ },
123
104
  "./aurora": {
124
105
  "sass": "./aurora/styles/_index.scss",
125
106
  "types": "./types/ngwr-aurora.d.ts",
@@ -160,6 +141,9 @@
160
141
  "types": "./types/ngwr-breadcrumbs.d.ts",
161
142
  "default": "./fesm2022/ngwr-breadcrumbs.mjs"
162
143
  },
144
+ "./breakpoints": {
145
+ "sass": "./styles/_breakpoints.scss"
146
+ },
163
147
  "./burger": {
164
148
  "sass": "./burger/styles/_index.scss",
165
149
  "types": "./types/ngwr-burger.d.ts",
@@ -295,6 +279,11 @@
295
279
  "types": "./types/ngwr-empty.d.ts",
296
280
  "default": "./fesm2022/ngwr-empty.mjs"
297
281
  },
282
+ "./event-calendar": {
283
+ "sass": "./event-calendar/styles/_index.scss",
284
+ "types": "./types/ngwr-event-calendar.d.ts",
285
+ "default": "./fesm2022/ngwr-event-calendar.mjs"
286
+ },
298
287
  "./falling-text": {
299
288
  "sass": "./falling-text/styles/_index.scss",
300
289
  "types": "./types/ngwr-falling-text.d.ts",
@@ -325,6 +314,9 @@
325
314
  "types": "./types/ngwr-gradient-text.d.ts",
326
315
  "default": "./fesm2022/ngwr-gradient-text.mjs"
327
316
  },
317
+ "./grid": {
318
+ "sass": "./styles/_grid.scss"
319
+ },
328
320
  "./icon": {
329
321
  "sass": "./icon/styles/_index.scss",
330
322
  "types": "./types/ngwr-icon.d.ts",
@@ -385,6 +377,11 @@
385
377
  "types": "./types/ngwr-loading-bar.d.ts",
386
378
  "default": "./fesm2022/ngwr-loading-bar.mjs"
387
379
  },
380
+ "./markdown": {
381
+ "sass": "./markdown/styles/_index.scss",
382
+ "types": "./types/ngwr-markdown.d.ts",
383
+ "default": "./fesm2022/ngwr-markdown.mjs"
384
+ },
388
385
  "./marquee": {
389
386
  "sass": "./marquee/styles/_index.scss",
390
387
  "types": "./types/ngwr-marquee.d.ts",
@@ -450,6 +447,9 @@
450
447
  "types": "./types/ngwr-rating.d.ts",
451
448
  "default": "./fesm2022/ngwr-rating.mjs"
452
449
  },
450
+ "./reset": {
451
+ "sass": "./styles/_reset.scss"
452
+ },
453
453
  "./result": {
454
454
  "sass": "./result/styles/_index.scss",
455
455
  "types": "./types/ngwr-result.d.ts",
@@ -565,6 +565,11 @@
565
565
  "types": "./types/ngwr-textarea.d.ts",
566
566
  "default": "./fesm2022/ngwr-textarea.mjs"
567
567
  },
568
+ "./theme": {
569
+ "sass": "./theme/styles/_index.scss",
570
+ "types": "./types/ngwr-theme.d.ts",
571
+ "default": "./fesm2022/ngwr-theme.mjs"
572
+ },
568
573
  "./tilt-card": {
569
574
  "sass": "./tilt-card/styles/_index.scss",
570
575
  "types": "./types/ngwr-tilt-card.d.ts",
@@ -585,6 +590,16 @@
585
590
  "types": "./types/ngwr-toolbar.d.ts",
586
591
  "default": "./fesm2022/ngwr-toolbar.mjs"
587
592
  },
593
+ "./tour": {
594
+ "sass": "./tour/styles/_index.scss",
595
+ "types": "./types/ngwr-tour.d.ts",
596
+ "default": "./fesm2022/ngwr-tour.mjs"
597
+ },
598
+ "./transfer": {
599
+ "sass": "./transfer/styles/_index.scss",
600
+ "types": "./types/ngwr-transfer.d.ts",
601
+ "default": "./fesm2022/ngwr-transfer.mjs"
602
+ },
588
603
  "./tree": {
589
604
  "sass": "./tree/styles/_index.scss",
590
605
  "types": "./types/ngwr-tree.d.ts",
@@ -595,6 +610,14 @@
595
610
  "types": "./types/ngwr-typewriter.d.ts",
596
611
  "default": "./fesm2022/ngwr-typewriter.mjs"
597
612
  },
613
+ "./typography": {
614
+ "sass": "./typography/styles/_index.scss",
615
+ "types": "./types/ngwr-typography.d.ts",
616
+ "default": "./fesm2022/ngwr-typography.mjs"
617
+ },
618
+ "./typography-utilities": {
619
+ "sass": "./styles/_typography.scss"
620
+ },
598
621
  "./virtual-scroll": {
599
622
  "sass": "./virtual-scroll/styles/_index.scss",
600
623
  "types": "./types/ngwr-virtual-scroll.d.ts",
@@ -613,14 +636,46 @@
613
636
  "./package.json": {
614
637
  "default": "./package.json"
615
638
  },
639
+ "./button/testing": {
640
+ "types": "./types/ngwr-button-testing.d.ts",
641
+ "default": "./fesm2022/ngwr-button-testing.mjs"
642
+ },
643
+ "./carousel/testing": {
644
+ "types": "./types/ngwr-carousel-testing.d.ts",
645
+ "default": "./fesm2022/ngwr-carousel-testing.mjs"
646
+ },
647
+ "./cascader/testing": {
648
+ "types": "./types/ngwr-cascader-testing.d.ts",
649
+ "default": "./fesm2022/ngwr-cascader-testing.mjs"
650
+ },
651
+ "./checkbox/testing": {
652
+ "types": "./types/ngwr-checkbox-testing.d.ts",
653
+ "default": "./fesm2022/ngwr-checkbox-testing.mjs"
654
+ },
616
655
  "./clipboard": {
617
656
  "types": "./types/ngwr-clipboard.d.ts",
618
657
  "default": "./fesm2022/ngwr-clipboard.mjs"
619
658
  },
659
+ "./collapse/testing": {
660
+ "types": "./types/ngwr-collapse-testing.d.ts",
661
+ "default": "./fesm2022/ngwr-collapse-testing.mjs"
662
+ },
663
+ "./command-palette/testing": {
664
+ "types": "./types/ngwr-command-palette-testing.d.ts",
665
+ "default": "./fesm2022/ngwr-command-palette-testing.mjs"
666
+ },
620
667
  "./confetti": {
621
668
  "types": "./types/ngwr-confetti.d.ts",
622
669
  "default": "./fesm2022/ngwr-confetti.mjs"
623
670
  },
671
+ "./config": {
672
+ "types": "./types/ngwr-config.d.ts",
673
+ "default": "./fesm2022/ngwr-config.mjs"
674
+ },
675
+ "./context-menu/testing": {
676
+ "types": "./types/ngwr-context-menu-testing.d.ts",
677
+ "default": "./fesm2022/ngwr-context-menu-testing.mjs"
678
+ },
624
679
  "./cookie": {
625
680
  "types": "./types/ngwr-cookie.d.ts",
626
681
  "default": "./fesm2022/ngwr-cookie.mjs"
@@ -637,13 +692,33 @@
637
692
  "types": "./types/ngwr-date-adapter-luxon.d.ts",
638
693
  "default": "./fesm2022/ngwr-date-adapter-luxon.mjs"
639
694
  },
695
+ "./date-picker/testing": {
696
+ "types": "./types/ngwr-date-picker-testing.d.ts",
697
+ "default": "./fesm2022/ngwr-date-picker-testing.mjs"
698
+ },
699
+ "./dialog/testing": {
700
+ "types": "./types/ngwr-dialog-testing.d.ts",
701
+ "default": "./fesm2022/ngwr-dialog-testing.mjs"
702
+ },
640
703
  "./directives": {
641
704
  "types": "./types/ngwr-directives.d.ts",
642
705
  "default": "./fesm2022/ngwr-directives.mjs"
643
706
  },
644
- "./event-calendar": {
645
- "types": "./types/ngwr-event-calendar.d.ts",
646
- "default": "./fesm2022/ngwr-event-calendar.mjs"
707
+ "./drawer/testing": {
708
+ "types": "./types/ngwr-drawer-testing.d.ts",
709
+ "default": "./fesm2022/ngwr-drawer-testing.mjs"
710
+ },
711
+ "./dropdown/testing": {
712
+ "types": "./types/ngwr-dropdown-testing.d.ts",
713
+ "default": "./fesm2022/ngwr-dropdown-testing.mjs"
714
+ },
715
+ "./file-upload/testing": {
716
+ "types": "./types/ngwr-file-upload-testing.d.ts",
717
+ "default": "./fesm2022/ngwr-file-upload-testing.mjs"
718
+ },
719
+ "./form/testing": {
720
+ "types": "./types/ngwr-form-testing.d.ts",
721
+ "default": "./fesm2022/ngwr-form-testing.mjs"
647
722
  },
648
723
  "./fuzzy-text": {
649
724
  "types": "./types/ngwr-fuzzy-text.d.ts",
@@ -673,14 +748,38 @@
673
748
  "types": "./types/ngwr-icon-adapters-lucide.d.ts",
674
749
  "default": "./fesm2022/ngwr-icon-adapters-lucide.mjs"
675
750
  },
751
+ "./input-number/testing": {
752
+ "types": "./types/ngwr-input-number-testing.d.ts",
753
+ "default": "./fesm2022/ngwr-input-number-testing.mjs"
754
+ },
755
+ "./input-otp/testing": {
756
+ "types": "./types/ngwr-input-otp-testing.d.ts",
757
+ "default": "./fesm2022/ngwr-input-otp-testing.mjs"
758
+ },
759
+ "./input/testing": {
760
+ "types": "./types/ngwr-input-testing.d.ts",
761
+ "default": "./fesm2022/ngwr-input-testing.mjs"
762
+ },
763
+ "./markdown/testing": {
764
+ "types": "./types/ngwr-markdown-testing.d.ts",
765
+ "default": "./fesm2022/ngwr-markdown-testing.mjs"
766
+ },
676
767
  "./media": {
677
768
  "types": "./types/ngwr-media.d.ts",
678
769
  "default": "./fesm2022/ngwr-media.mjs"
679
770
  },
771
+ "./mention/testing": {
772
+ "types": "./types/ngwr-mention-testing.d.ts",
773
+ "default": "./fesm2022/ngwr-mention-testing.mjs"
774
+ },
680
775
  "./meta": {
681
776
  "types": "./types/ngwr-meta.d.ts",
682
777
  "default": "./fesm2022/ngwr-meta.mjs"
683
778
  },
779
+ "./pagination/testing": {
780
+ "types": "./types/ngwr-pagination-testing.d.ts",
781
+ "default": "./fesm2022/ngwr-pagination-testing.mjs"
782
+ },
684
783
  "./pipes": {
685
784
  "types": "./types/ngwr-pipes.d.ts",
686
785
  "default": "./fesm2022/ngwr-pipes.mjs"
@@ -689,21 +788,73 @@
689
788
  "types": "./types/ngwr-platform.d.ts",
690
789
  "default": "./fesm2022/ngwr-platform.mjs"
691
790
  },
791
+ "./popconfirm/testing": {
792
+ "types": "./types/ngwr-popconfirm-testing.d.ts",
793
+ "default": "./fesm2022/ngwr-popconfirm-testing.mjs"
794
+ },
795
+ "./popover/testing": {
796
+ "types": "./types/ngwr-popover-testing.d.ts",
797
+ "default": "./fesm2022/ngwr-popover-testing.mjs"
798
+ },
799
+ "./radio/testing": {
800
+ "types": "./types/ngwr-radio-testing.d.ts",
801
+ "default": "./fesm2022/ngwr-radio-testing.mjs"
802
+ },
803
+ "./rating/testing": {
804
+ "types": "./types/ngwr-rating-testing.d.ts",
805
+ "default": "./fesm2022/ngwr-rating-testing.mjs"
806
+ },
692
807
  "./scroll": {
693
808
  "types": "./types/ngwr-scroll.d.ts",
694
809
  "default": "./fesm2022/ngwr-scroll.mjs"
695
810
  },
811
+ "./segmented/testing": {
812
+ "types": "./types/ngwr-segmented-testing.d.ts",
813
+ "default": "./fesm2022/ngwr-segmented-testing.mjs"
814
+ },
815
+ "./select/testing": {
816
+ "types": "./types/ngwr-select-testing.d.ts",
817
+ "default": "./fesm2022/ngwr-select-testing.mjs"
818
+ },
819
+ "./slider/testing": {
820
+ "types": "./types/ngwr-slider-testing.d.ts",
821
+ "default": "./fesm2022/ngwr-slider-testing.mjs"
822
+ },
823
+ "./stepper/testing": {
824
+ "types": "./types/ngwr-stepper-testing.d.ts",
825
+ "default": "./fesm2022/ngwr-stepper-testing.mjs"
826
+ },
696
827
  "./storage": {
697
828
  "types": "./types/ngwr-storage.d.ts",
698
829
  "default": "./fesm2022/ngwr-storage.mjs"
699
830
  },
700
- "./tour": {
701
- "types": "./types/ngwr-tour.d.ts",
702
- "default": "./fesm2022/ngwr-tour.mjs"
831
+ "./switch/testing": {
832
+ "types": "./types/ngwr-switch-testing.d.ts",
833
+ "default": "./fesm2022/ngwr-switch-testing.mjs"
703
834
  },
704
- "./transfer": {
705
- "types": "./types/ngwr-transfer.d.ts",
706
- "default": "./fesm2022/ngwr-transfer.mjs"
835
+ "./table/testing": {
836
+ "types": "./types/ngwr-table-testing.d.ts",
837
+ "default": "./fesm2022/ngwr-table-testing.mjs"
838
+ },
839
+ "./tabs/testing": {
840
+ "types": "./types/ngwr-tabs-testing.d.ts",
841
+ "default": "./fesm2022/ngwr-tabs-testing.mjs"
842
+ },
843
+ "./textarea/testing": {
844
+ "types": "./types/ngwr-textarea-testing.d.ts",
845
+ "default": "./fesm2022/ngwr-textarea-testing.mjs"
846
+ },
847
+ "./toast/testing": {
848
+ "types": "./types/ngwr-toast-testing.d.ts",
849
+ "default": "./fesm2022/ngwr-toast-testing.mjs"
850
+ },
851
+ "./transfer/testing": {
852
+ "types": "./types/ngwr-transfer-testing.d.ts",
853
+ "default": "./fesm2022/ngwr-transfer-testing.mjs"
854
+ },
855
+ "./tree/testing": {
856
+ "types": "./types/ngwr-tree-testing.d.ts",
857
+ "default": "./fesm2022/ngwr-tree-testing.mjs"
707
858
  },
708
859
  "./utils": {
709
860
  "types": "./types/ngwr-utils.d.ts",
@@ -57,8 +57,8 @@
57
57
  height: var(--wr-pagination-cell, 2rem);
58
58
  padding-top: 0;
59
59
  padding-bottom: 0;
60
- padding-left: 0.5rem;
61
- padding-right: 0.5rem;
60
+ padding-inline-start: 0.5rem;
61
+ padding-inline-end: 0.5rem;
62
62
  }
63
63
  }
64
64
 
@@ -115,12 +115,12 @@
115
115
  border-radius: 0;
116
116
  }
117
117
  &--square &__nav .wr-btn:first-child {
118
- border-top-left-radius: var(--wr-border-radius-sm);
119
- border-bottom-left-radius: var(--wr-border-radius-sm);
118
+ border-start-start-radius: var(--wr-border-radius-sm);
119
+ border-end-start-radius: var(--wr-border-radius-sm);
120
120
  }
121
121
  &--square &__nav .wr-btn:last-child {
122
- border-top-right-radius: var(--wr-border-radius-sm);
123
- border-bottom-right-radius: var(--wr-border-radius-sm);
122
+ border-start-end-radius: var(--wr-border-radius-sm);
123
+ border-end-end-radius: var(--wr-border-radius-sm);
124
124
  }
125
125
  }
126
126
 
@@ -71,17 +71,35 @@ $_arrow-placement: (
71
71
  );
72
72
 
73
73
  /// Positions the arrow against `$edge`, offset outwards by `$pull`.
74
+ ///
75
+ /// `left` / `right` name the panel edge in LTR terms only. Every side-anchored
76
+ /// and `-start` / `-end` entry in `WR_POPOVER_POSITIONS` is expressed as CDK
77
+ /// `originX: start | end` — plain `top` / `bottom` use `center`, which mirrors
78
+ /// to itself — and CDK resolves start / end against `Directionality`. So under
79
+ /// `dir="rtl"` the panel lands on the mirrored side of the trigger while the
80
+ /// modifier class keeps its requested name (it is set from the `position` input,
81
+ /// and there are no fallback positions to change it), and the arrow has to
82
+ /// travel with the panel. Same for the `-start` / `-end` alignment along a
83
+ /// horizontal edge.
74
84
  @mixin _arrow-at($edge, $align, $pull) {
75
- #{$edge}: -$pull;
85
+ @if $edge == left {
86
+ inset-inline-start: -$pull;
87
+ } @else if $edge == right {
88
+ inset-inline-end: -$pull;
89
+ } @else {
90
+ #{$edge}: -$pull;
91
+ }
76
92
 
77
93
  @if $edge == bottom or $edge == top {
78
94
  @if $align == center {
79
- left: 50%;
80
- margin-left: -$_arrow-half;
95
+ // Both halves of the centring pair go logical together, so the arrow
96
+ // stays on the midpoint whichever way the axis runs.
97
+ inset-inline-start: 50%;
98
+ margin-inline-start: -$_arrow-half;
81
99
  } @else if $align == start {
82
- left: $_arrow-inset;
100
+ inset-inline-start: $_arrow-inset;
83
101
  } @else {
84
- right: $_arrow-inset;
102
+ inset-inline-end: $_arrow-inset;
85
103
  }
86
104
  } @else {
87
105
  @if $align == center {
@@ -96,18 +114,30 @@ $_arrow-placement: (
96
114
  }
97
115
 
98
116
  /// The two faces of the rotated square that stay visible outside the panel.
117
+ ///
118
+ /// These stay physical, and it is not an oversight. Which two borders paint is
119
+ /// decided by `transform: rotate(45deg)`, not by reading order: the rotation
120
+ /// turns the right border into the down-right face and the bottom one into the
121
+ /// down-left face, so `right + bottom` is what outlines a tip pointing DOWN.
122
+ /// Swapping only the inline half would paint two faces that are tucked under
123
+ /// the panel. A mirrored arrow needs the rotation mirrored as well — more than
124
+ /// a property rewrite, so it is left for the RTL pass that owns the TS side.
99
125
  @mixin _arrow-border($edge) {
100
126
  @if $edge == bottom {
127
+ // rtl-ok: down-right face of a 45°-rotated square — fixed by the rotation
101
128
  border-right: 1px solid var(--wr-color-outline);
102
129
  border-bottom: 1px solid var(--wr-color-outline);
103
130
  } @else if $edge == top {
131
+ // rtl-ok: up-left face of a 45°-rotated square — fixed by the rotation
104
132
  border-left: 1px solid var(--wr-color-outline);
105
133
  border-top: 1px solid var(--wr-color-outline);
106
134
  } @else if $edge == right {
107
135
  border-top: 1px solid var(--wr-color-outline);
136
+ // rtl-ok: down-right face of a 45°-rotated square — fixed by the rotation
108
137
  border-right: 1px solid var(--wr-color-outline);
109
138
  } @else {
110
139
  border-bottom: 1px solid var(--wr-color-outline);
140
+ // rtl-ok: up-left face of a 45°-rotated square — fixed by the rotation
111
141
  border-left: 1px solid var(--wr-color-outline);
112
142
  }
113
143
  }
@@ -126,6 +156,7 @@ $_arrow-placement: (
126
156
  font-family: var(--wr-font-family-base);
127
157
  color: var(--wr-color-on-surface);
128
158
  animation: wr-overlay-in var(--wr-overlay-duration) var(--wr-overlay-ease);
159
+ // rtl-ok: scale-in growth corner — `transform-origin` takes no logical keywords
129
160
  transform-origin: top left;
130
161
 
131
162
  &::after {
@@ -196,6 +227,7 @@ $_arrow-placement: (
196
227
  line-height: 1rem;
197
228
  box-shadow: var(--wr-shadow-overlay);
198
229
  animation: wr-overlay-in var(--wr-overlay-duration) var(--wr-overlay-ease);
230
+ // rtl-ok: scale-in growth corner — `transform-origin` takes no logical keywords
199
231
  transform-origin: top left;
200
232
 
201
233
  // Arrow — geometry from the shared placement loop at the top of this file.
@@ -47,6 +47,16 @@
47
47
  // `--wr-rating-fill` is set per-slot from the component (0..1).
48
48
  clip-path: inset(0 calc((1 - var(--wr-rating-fill, 0)) * 100%) 0 0);
49
49
  transition: clip-path var(--wr-transition-base);
50
+
51
+ // `inset()` names physical sides and has no logical form, so the trimmed edge
52
+ // has to be moved by hand. The row is `inline-flex`, so under `dir="rtl"` it
53
+ // is mirrored and a star fills from its INLINE-start edge — the right one.
54
+ // Left alone, a half star paints the half an RTL reader reaches LAST, and
55
+ // since the component already commits the correct value there, the picture
56
+ // would be the only thing still inverted.
57
+ [dir='rtl'] & {
58
+ clip-path: inset(0 0 0 calc((1 - var(--wr-rating-fill, 0)) * 100%));
59
+ }
50
60
  }
51
61
 
52
62
  // Sizes — scale the icon glyph + the gap between slots.
@@ -60,7 +60,9 @@
60
60
  }
61
61
 
62
62
  &--info &__icon {
63
- color: var(--wr-color-primary);
63
+ // `-ink`, like the three variants above. This one alone carried the bare
64
+ // intent, which is what made the set inconsistent rather than deliberate.
65
+ color: var(--wr-color-primary-ink);
64
66
  }
65
67
 
66
68
  &--empty &__icon {
@@ -120,6 +120,8 @@
120
120
  "WrListItem": "ngwr/list",
121
121
  "WrLoadingBar": "ngwr/loading-bar",
122
122
  "WrLoadingBarComponent": "ngwr/loading-bar",
123
+ "WrMarkdown": "ngwr/markdown",
124
+ "WrMarkdownHighlight": "ngwr/markdown",
123
125
  "WrMarquee": "ngwr/marquee",
124
126
  "WrMedia": "ngwr/media",
125
127
  "WrMention": "ngwr/mention",
@@ -49,6 +49,13 @@
49
49
  position: absolute;
50
50
  top: var(--wr-segmented-padding);
51
51
  bottom: var(--wr-segmented-padding);
52
+ // The slide is `--wr-segmented-thumb-index` driving `translateX` below, which has
53
+ // no logical form and would still travel rightward under RTL — so converting only
54
+ // this anchor would park the thumb at the right edge and then push it off the
55
+ // track. Both halves have to move together (a `[dir]` rule flipping the transform's
56
+ // sign, or a direction-aware offset from segmented.ts), which is beyond a
57
+ // property-level rewrite. Worth a second opinion when the TS side of G1 lands.
58
+ // rtl-ok: anchor half of an anchor + physical `translateX` pair — see above
52
59
  left: var(--wr-segmented-padding);
53
60
  width: calc((100% - 2 * var(--wr-segmented-padding)) / var(--wr-segmented-thumb-count));
54
61
  transform: translateX(calc(100% * var(--wr-segmented-thumb-index)));
@@ -87,7 +94,11 @@
87
94
  transition: color var(--wr-transition-base);
88
95
 
89
96
  &:hover:not(:disabled):not(.wr-segmented__option--selected) {
90
- color: var(--wr-color-primary);
97
+ // The option label is text on the NEUTRAL track (`--wr-segmented-bg`), not
98
+ // on a primary tint — the option itself is transparent. Bare measured
99
+ // 4.19:1 light / 3.63:1 dark, under AA in both, so this was never only a
100
+ // dark-theme bug.
101
+ color: var(--wr-color-primary-ink);
91
102
  }
92
103
 
93
104
  &--selected {
@@ -61,7 +61,7 @@
61
61
  font-size: var(--wr-select-font-size);
62
62
  line-height: var(--wr-select-line-height);
63
63
  cursor: pointer;
64
- text-align: left;
64
+ text-align: start;
65
65
  transition:
66
66
  border-color var(--wr-transition-base),
67
67
  box-shadow var(--wr-transition-base);
@@ -105,12 +105,18 @@
105
105
  }
106
106
 
107
107
  // Multi-mode trigger chrome
108
- // Chips fill the trigger's flex row; the trigger grows vertically as
109
- // needed. A clear-all (×) button appears at the row's tail.
110
-
108
+ // Chips fill the trigger's row and the trigger grows vertically as needed. The
109
+ // clear-all (×) sits at the row's tail.
110
+ //
111
+ // The trigger itself must NOT wrap, and that is the whole subtlety: the wrapping
112
+ // belongs to `&__chips`, which is `flex: 1 1 auto` and therefore takes the full
113
+ // row as soon as its content needs a second line. A wrapping trigger then pushes
114
+ // the × onto a flex line of its own, where — as the only item on it — it lands
115
+ // against the inline START, under the chips, and adds a phantom row to the
116
+ // control's height. That is what a full multi-select looked like: a stray ×
117
+ // floating below the field.
111
118
  &--multi &__trigger,
112
119
  &--tag &__trigger {
113
- flex-wrap: wrap;
114
120
  align-items: center;
115
121
  padding: calc(var(--wr-select-padding-y) * var(--wr-density-y, 1))
116
122
  calc(var(--wr-select-padding-x) * var(--wr-density-x, 1));
@@ -197,7 +203,9 @@
197
203
  align-items: center;
198
204
  gap: 0.125rem;
199
205
  max-width: 100%;
200
- padding: 0.125rem 0.25rem 0.125rem 0.5rem;
206
+ // Roomier on the label side, tighter where the remove (×) sits.
207
+ padding-block: 0.125rem;
208
+ padding-inline: 0.5rem 0.25rem;
201
209
  border-radius: 999px;
202
210
  background: var(--wr-color-primary-soft);
203
211
  // `-ink`, not the raw intent: the chip paints the hue on its own soft tint,
@@ -237,12 +245,15 @@
237
245
 
238
246
  &__clear {
239
247
  --wr-icon-size: 0.875rem;
248
+ // Never shrink: the chips box is allowed to grow into the whole row, so the
249
+ // × has to hold its own size against it.
250
+ flex: 0 0 auto;
240
251
  display: inline-flex;
241
252
  align-items: center;
242
253
  justify-content: center;
243
254
  width: 1.125rem;
244
255
  height: 1.125rem;
245
- margin-right: -0.25rem;
256
+ margin-inline-end: -0.25rem;
246
257
  border-radius: 999px;
247
258
  color: var(--wr-color-on-surface-muted);
248
259
  cursor: pointer;
@@ -340,7 +351,9 @@
340
351
 
341
352
  &--selected {
342
353
  background: var(--wr-color-primary-soft);
343
- color: var(--wr-color-primary);
354
+ // Text on the intent's own `-soft` tint: `-ink`, by calibration.
355
+ // Bare measured 4.17:1 light / 3.65:1 dark.
356
+ color: var(--wr-color-primary-ink);
344
357
  font-weight: 500;
345
358
  }
346
359
 
@@ -401,6 +414,14 @@
401
414
  flex-direction: column;
402
415
  gap: var(--wr-option-gap);
403
416
 
417
+ // A group whose every option is filtered out has nothing left but its heading.
418
+ // Filtering lives entirely on the option (`.wr-option--hidden`), so without
419
+ // this the labels of empty groups stayed on screen — with their dividers —
420
+ // above a "No results" row.
421
+ &:not(:has(.wr-option:not(.wr-option--hidden))) {
422
+ display: none;
423
+ }
424
+
404
425
  &__label {
405
426
  padding: 0.5rem 0.625rem 0.25rem;
406
427
  color: var(--wr-color-on-surface-muted);
@@ -434,7 +455,8 @@
434
455
 
435
456
  .wr-select__chip {
436
457
  gap: 0.375rem;
437
- padding: 0.375rem 0.5rem 0.375rem 0.75rem;
458
+ padding-block: 0.375rem;
459
+ padding-inline: 0.75rem 0.5rem;
438
460
  }
439
461
 
440
462
  .wr-select__chip-remove,
@@ -445,6 +467,6 @@
445
467
  }
446
468
 
447
469
  .wr-select__clear {
448
- margin-right: 0;
470
+ margin-inline-end: 0;
449
471
  }
450
472
  }