ngwr 7.3.0 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (450) hide show
  1. package/README.md +79 -31
  2. package/action-sheet/styles/_index.scss +93 -0
  3. package/alert/styles/_index.scss +45 -18
  4. package/anchor/styles/_index.scss +3 -3
  5. package/avatar/styles/_index.scss +2 -2
  6. package/back-top/styles/_index.scss +1 -1
  7. package/badge/styles/_index.scss +11 -7
  8. package/badge/styles/_tag.scss +4 -4
  9. package/bar-chart/styles/_index.scss +5 -6
  10. package/border-glow/styles/_index.scss +3 -3
  11. package/breadcrumbs/styles/_index.scss +7 -5
  12. package/burger/styles/_index.scss +3 -3
  13. package/button/styles/_index.scss +34 -24
  14. package/calendar/styles/_index.scss +15 -13
  15. package/calendar-heatmap/styles/_index.scss +5 -3
  16. package/card/styles/_index.scss +5 -5
  17. package/carousel/styles/_index.scss +6 -6
  18. package/cascader/styles/_index.scss +69 -29
  19. package/checkbox/styles/_index.scss +41 -9
  20. package/collapse/styles/_index.scss +7 -7
  21. package/color-picker/styles/_index.scss +26 -21
  22. package/command-palette/styles/_index.scss +22 -19
  23. package/compare/styles/_index.scss +6 -6
  24. package/context-menu/styles/_index.scss +17 -7
  25. package/counter/styles/_index.scss +12 -1
  26. package/date-picker/styles/_index.scss +13 -14
  27. package/density/styles/_index.scss +3 -3
  28. package/descriptions/styles/_index.scss +9 -9
  29. package/dialog/styles/_index.scss +10 -9
  30. package/divider/styles/_index.scss +3 -3
  31. package/donut-chart/styles/_index.scss +3 -3
  32. package/drag-drop/styles/_index.scss +11 -6
  33. package/drawer/styles/_index.scss +26 -17
  34. package/dropdown/styles/_index.scss +7 -7
  35. package/empty/styles/_index.scss +4 -4
  36. package/fesm2022/ngwr-action-sheet.mjs +81 -0
  37. package/fesm2022/ngwr-action-sheet.mjs.map +1 -0
  38. package/fesm2022/ngwr-affix.mjs +3 -3
  39. package/fesm2022/ngwr-alert.mjs +23 -11
  40. package/fesm2022/ngwr-alert.mjs.map +1 -1
  41. package/fesm2022/ngwr-anchor.mjs +4 -4
  42. package/fesm2022/ngwr-anchor.mjs.map +1 -1
  43. package/fesm2022/ngwr-aurora.mjs +5 -4
  44. package/fesm2022/ngwr-aurora.mjs.map +1 -1
  45. package/fesm2022/ngwr-avatar.mjs +4 -4
  46. package/fesm2022/ngwr-avatar.mjs.map +1 -1
  47. package/fesm2022/ngwr-back-top.mjs +4 -4
  48. package/fesm2022/ngwr-back-top.mjs.map +1 -1
  49. package/fesm2022/ngwr-badge.mjs +8 -8
  50. package/fesm2022/ngwr-badge.mjs.map +1 -1
  51. package/fesm2022/ngwr-bar-chart.mjs +4 -4
  52. package/fesm2022/ngwr-bar-chart.mjs.map +1 -1
  53. package/fesm2022/ngwr-blur-text.mjs +3 -3
  54. package/fesm2022/ngwr-border-glow.mjs +4 -4
  55. package/fesm2022/ngwr-border-glow.mjs.map +1 -1
  56. package/fesm2022/ngwr-breadcrumbs.mjs +8 -8
  57. package/fesm2022/ngwr-breadcrumbs.mjs.map +1 -1
  58. package/fesm2022/ngwr-burger.mjs +4 -4
  59. package/fesm2022/ngwr-burger.mjs.map +1 -1
  60. package/fesm2022/ngwr-button.mjs +8 -8
  61. package/fesm2022/ngwr-button.mjs.map +1 -1
  62. package/fesm2022/ngwr-calendar-heatmap.mjs +4 -4
  63. package/fesm2022/ngwr-calendar-heatmap.mjs.map +1 -1
  64. package/fesm2022/ngwr-calendar.mjs +5 -5
  65. package/fesm2022/ngwr-calendar.mjs.map +1 -1
  66. package/fesm2022/ngwr-card.mjs +11 -11
  67. package/fesm2022/ngwr-card.mjs.map +1 -1
  68. package/fesm2022/ngwr-carousel.mjs +7 -7
  69. package/fesm2022/ngwr-carousel.mjs.map +1 -1
  70. package/fesm2022/ngwr-cascader.mjs +58 -89
  71. package/fesm2022/ngwr-cascader.mjs.map +1 -1
  72. package/fesm2022/ngwr-checkbox.mjs +80 -129
  73. package/fesm2022/ngwr-checkbox.mjs.map +1 -1
  74. package/fesm2022/ngwr-circular-text.mjs +5 -4
  75. package/fesm2022/ngwr-circular-text.mjs.map +1 -1
  76. package/fesm2022/ngwr-click-spark.mjs +27 -7
  77. package/fesm2022/ngwr-click-spark.mjs.map +1 -1
  78. package/fesm2022/ngwr-clipboard.mjs +28 -7
  79. package/fesm2022/ngwr-clipboard.mjs.map +1 -1
  80. package/fesm2022/ngwr-collapse.mjs +12 -12
  81. package/fesm2022/ngwr-collapse.mjs.map +1 -1
  82. package/fesm2022/ngwr-color-picker.mjs +58 -66
  83. package/fesm2022/ngwr-color-picker.mjs.map +1 -1
  84. package/fesm2022/ngwr-command-palette.mjs +4 -4
  85. package/fesm2022/ngwr-command-palette.mjs.map +1 -1
  86. package/fesm2022/ngwr-compare.mjs +4 -4
  87. package/fesm2022/ngwr-compare.mjs.map +1 -1
  88. package/fesm2022/ngwr-confetti.mjs +3 -3
  89. package/fesm2022/ngwr-context-menu.mjs +98 -75
  90. package/fesm2022/ngwr-context-menu.mjs.map +1 -1
  91. package/fesm2022/ngwr-cookie.mjs +19 -6
  92. package/fesm2022/ngwr-cookie.mjs.map +1 -1
  93. package/fesm2022/ngwr-counter.mjs +32 -14
  94. package/fesm2022/ngwr-counter.mjs.map +1 -1
  95. package/fesm2022/ngwr-date-adapter-fns.mjs +3 -3
  96. package/fesm2022/ngwr-date-adapter-luxon.mjs +3 -3
  97. package/fesm2022/ngwr-date-adapter.mjs +10 -5
  98. package/fesm2022/ngwr-date-adapter.mjs.map +1 -1
  99. package/fesm2022/ngwr-date-picker.mjs +142 -123
  100. package/fesm2022/ngwr-date-picker.mjs.map +1 -1
  101. package/fesm2022/ngwr-decrypt-text.mjs +3 -3
  102. package/fesm2022/ngwr-density.mjs +15 -15
  103. package/fesm2022/ngwr-density.mjs.map +1 -1
  104. package/fesm2022/ngwr-descriptions.mjs +7 -7
  105. package/fesm2022/ngwr-descriptions.mjs.map +1 -1
  106. package/fesm2022/ngwr-dialog.mjs +16 -16
  107. package/fesm2022/ngwr-dialog.mjs.map +1 -1
  108. package/fesm2022/ngwr-directives.mjs +22 -88
  109. package/fesm2022/ngwr-directives.mjs.map +1 -1
  110. package/fesm2022/ngwr-divider.mjs +4 -4
  111. package/fesm2022/ngwr-divider.mjs.map +1 -1
  112. package/fesm2022/ngwr-donut-chart.mjs +11 -5
  113. package/fesm2022/ngwr-donut-chart.mjs.map +1 -1
  114. package/fesm2022/ngwr-drag-drop.mjs +10 -9
  115. package/fesm2022/ngwr-drag-drop.mjs.map +1 -1
  116. package/fesm2022/ngwr-drawer.mjs +19 -18
  117. package/fesm2022/ngwr-drawer.mjs.map +1 -1
  118. package/fesm2022/ngwr-dropdown.mjs +13 -12
  119. package/fesm2022/ngwr-dropdown.mjs.map +1 -1
  120. package/fesm2022/ngwr-empty.mjs +4 -4
  121. package/fesm2022/ngwr-empty.mjs.map +1 -1
  122. package/fesm2022/ngwr-falling-text.mjs +5 -4
  123. package/fesm2022/ngwr-falling-text.mjs.map +1 -1
  124. package/fesm2022/ngwr-file-upload.mjs +58 -60
  125. package/fesm2022/ngwr-file-upload.mjs.map +1 -1
  126. package/fesm2022/ngwr-form.mjs +11 -11
  127. package/fesm2022/ngwr-form.mjs.map +1 -1
  128. package/fesm2022/ngwr-fuzzy-text.mjs +10 -8
  129. package/fesm2022/ngwr-fuzzy-text.mjs.map +1 -1
  130. package/fesm2022/ngwr-gauge.mjs +4 -4
  131. package/fesm2022/ngwr-gauge.mjs.map +1 -1
  132. package/fesm2022/ngwr-glitch-text.mjs +15 -7
  133. package/fesm2022/ngwr-glitch-text.mjs.map +1 -1
  134. package/fesm2022/ngwr-gradient-text.mjs +4 -4
  135. package/fesm2022/ngwr-gradient-text.mjs.map +1 -1
  136. package/fesm2022/ngwr-hotkey.mjs +7 -7
  137. package/fesm2022/ngwr-hotkey.mjs.map +1 -1
  138. package/fesm2022/ngwr-i18n.mjs +10 -10
  139. package/fesm2022/ngwr-i18n.mjs.map +1 -1
  140. package/fesm2022/ngwr-icon-adapters-lucide.mjs +6 -7
  141. package/fesm2022/ngwr-icon-adapters-lucide.mjs.map +1 -1
  142. package/fesm2022/ngwr-icon.mjs +4 -4
  143. package/fesm2022/ngwr-icon.mjs.map +1 -1
  144. package/fesm2022/ngwr-image-cropper.mjs +6 -5
  145. package/fesm2022/ngwr-image-cropper.mjs.map +1 -1
  146. package/fesm2022/ngwr-input-number.mjs +56 -73
  147. package/fesm2022/ngwr-input-number.mjs.map +1 -1
  148. package/fesm2022/ngwr-input-otp.mjs +52 -52
  149. package/fesm2022/ngwr-input-otp.mjs.map +1 -1
  150. package/fesm2022/ngwr-input.mjs +27 -18
  151. package/fesm2022/ngwr-input.mjs.map +1 -1
  152. package/fesm2022/ngwr-keyboard.mjs +4 -4
  153. package/fesm2022/ngwr-keyboard.mjs.map +1 -1
  154. package/fesm2022/ngwr-knob.mjs +47 -58
  155. package/fesm2022/ngwr-knob.mjs.map +1 -1
  156. package/fesm2022/ngwr-layout.mjs +16 -16
  157. package/fesm2022/ngwr-layout.mjs.map +1 -1
  158. package/fesm2022/ngwr-lightbox.mjs +20 -7
  159. package/fesm2022/ngwr-lightbox.mjs.map +1 -1
  160. package/fesm2022/ngwr-line-chart.mjs +4 -4
  161. package/fesm2022/ngwr-line-chart.mjs.map +1 -1
  162. package/fesm2022/ngwr-list.mjs +8 -8
  163. package/fesm2022/ngwr-list.mjs.map +1 -1
  164. package/fesm2022/ngwr-loading-bar.mjs +7 -7
  165. package/fesm2022/ngwr-loading-bar.mjs.map +1 -1
  166. package/fesm2022/ngwr-marquee.mjs +6 -5
  167. package/fesm2022/ngwr-marquee.mjs.map +1 -1
  168. package/fesm2022/ngwr-media.mjs +4 -4
  169. package/fesm2022/ngwr-media.mjs.map +1 -1
  170. package/fesm2022/ngwr-mention.mjs +15 -9
  171. package/fesm2022/ngwr-mention.mjs.map +1 -1
  172. package/fesm2022/ngwr-meta.mjs +7 -7
  173. package/fesm2022/ngwr-meta.mjs.map +1 -1
  174. package/fesm2022/ngwr-meter-group.mjs +4 -4
  175. package/fesm2022/ngwr-meter-group.mjs.map +1 -1
  176. package/fesm2022/ngwr-overlay.mjs +9 -4
  177. package/fesm2022/ngwr-overlay.mjs.map +1 -1
  178. package/fesm2022/ngwr-page-header.mjs +4 -4
  179. package/fesm2022/ngwr-page-header.mjs.map +1 -1
  180. package/fesm2022/ngwr-pagination.mjs +6 -16
  181. package/fesm2022/ngwr-pagination.mjs.map +1 -1
  182. package/fesm2022/ngwr-pipes.mjs +21 -21
  183. package/fesm2022/ngwr-platform.mjs +169 -5
  184. package/fesm2022/ngwr-platform.mjs.map +1 -1
  185. package/fesm2022/ngwr-popconfirm.mjs +7 -7
  186. package/fesm2022/ngwr-popconfirm.mjs.map +1 -1
  187. package/fesm2022/ngwr-popover.mjs +7 -7
  188. package/fesm2022/ngwr-popover.mjs.map +1 -1
  189. package/fesm2022/ngwr-progress.mjs +4 -4
  190. package/fesm2022/ngwr-progress.mjs.map +1 -1
  191. package/fesm2022/ngwr-pull-to-refresh.mjs +172 -0
  192. package/fesm2022/ngwr-pull-to-refresh.mjs.map +1 -0
  193. package/fesm2022/ngwr-qr.mjs +5 -5
  194. package/fesm2022/ngwr-qr.mjs.map +1 -1
  195. package/fesm2022/ngwr-radio.mjs +49 -72
  196. package/fesm2022/ngwr-radio.mjs.map +1 -1
  197. package/fesm2022/ngwr-rating.mjs +41 -65
  198. package/fesm2022/ngwr-rating.mjs.map +1 -1
  199. package/fesm2022/ngwr-result.mjs +13 -13
  200. package/fesm2022/ngwr-result.mjs.map +1 -1
  201. package/fesm2022/ngwr-rotating-text.mjs +15 -4
  202. package/fesm2022/ngwr-rotating-text.mjs.map +1 -1
  203. package/fesm2022/ngwr-scroll.mjs +4 -4
  204. package/fesm2022/ngwr-scroll.mjs.map +1 -1
  205. package/fesm2022/ngwr-segmented.mjs +10 -22
  206. package/fesm2022/ngwr-segmented.mjs.map +1 -1
  207. package/fesm2022/ngwr-select.mjs +303 -86
  208. package/fesm2022/ngwr-select.mjs.map +1 -1
  209. package/fesm2022/ngwr-shiny-text.mjs +7 -7
  210. package/fesm2022/ngwr-shiny-text.mjs.map +1 -1
  211. package/fesm2022/ngwr-sidebar.mjs +4 -4
  212. package/fesm2022/ngwr-sidebar.mjs.map +1 -1
  213. package/fesm2022/ngwr-skeleton.mjs +4 -4
  214. package/fesm2022/ngwr-skeleton.mjs.map +1 -1
  215. package/fesm2022/ngwr-slider.mjs +79 -73
  216. package/fesm2022/ngwr-slider.mjs.map +1 -1
  217. package/fesm2022/ngwr-sparkline.mjs +4 -4
  218. package/fesm2022/ngwr-sparkline.mjs.map +1 -1
  219. package/fesm2022/ngwr-speed-dial.mjs +13 -5
  220. package/fesm2022/ngwr-speed-dial.mjs.map +1 -1
  221. package/fesm2022/ngwr-spinner.mjs +4 -4
  222. package/fesm2022/ngwr-spinner.mjs.map +1 -1
  223. package/fesm2022/ngwr-splash-cursor.mjs +4 -4
  224. package/fesm2022/ngwr-splash-cursor.mjs.map +1 -1
  225. package/fesm2022/ngwr-split-text.mjs +3 -3
  226. package/fesm2022/ngwr-splitter.mjs +4 -4
  227. package/fesm2022/ngwr-splitter.mjs.map +1 -1
  228. package/fesm2022/ngwr-spotlight-card.mjs +8 -8
  229. package/fesm2022/ngwr-spotlight-card.mjs.map +1 -1
  230. package/fesm2022/ngwr-squircle.mjs +7 -7
  231. package/fesm2022/ngwr-squircle.mjs.map +1 -1
  232. package/fesm2022/ngwr-star-border.mjs +4 -4
  233. package/fesm2022/ngwr-star-border.mjs.map +1 -1
  234. package/fesm2022/ngwr-statistic.mjs +138 -14
  235. package/fesm2022/ngwr-statistic.mjs.map +1 -1
  236. package/fesm2022/ngwr-stepper.mjs +8 -8
  237. package/fesm2022/ngwr-stepper.mjs.map +1 -1
  238. package/fesm2022/ngwr-storage.mjs +4 -4
  239. package/fesm2022/ngwr-storage.mjs.map +1 -1
  240. package/fesm2022/ngwr-switch.mjs +22 -58
  241. package/fesm2022/ngwr-switch.mjs.map +1 -1
  242. package/fesm2022/ngwr-table.mjs +824 -20
  243. package/fesm2022/ngwr-table.mjs.map +1 -1
  244. package/fesm2022/ngwr-tabs.mjs +11 -8
  245. package/fesm2022/ngwr-tabs.mjs.map +1 -1
  246. package/fesm2022/ngwr-textarea.mjs +94 -67
  247. package/fesm2022/ngwr-textarea.mjs.map +1 -1
  248. package/fesm2022/ngwr-theme.mjs +20 -5
  249. package/fesm2022/ngwr-theme.mjs.map +1 -1
  250. package/fesm2022/ngwr-tilt-card.mjs +27 -11
  251. package/fesm2022/ngwr-tilt-card.mjs.map +1 -1
  252. package/fesm2022/ngwr-timeline.mjs +7 -7
  253. package/fesm2022/ngwr-timeline.mjs.map +1 -1
  254. package/fesm2022/ngwr-toast.mjs +47 -25
  255. package/fesm2022/ngwr-toast.mjs.map +1 -1
  256. package/fesm2022/ngwr-toolbar.mjs +4 -4
  257. package/fesm2022/ngwr-toolbar.mjs.map +1 -1
  258. package/fesm2022/ngwr-tree.mjs +280 -84
  259. package/fesm2022/ngwr-tree.mjs.map +1 -1
  260. package/fesm2022/ngwr-typewriter.mjs +10 -5
  261. package/fesm2022/ngwr-typewriter.mjs.map +1 -1
  262. package/fesm2022/ngwr-typography.mjs +4 -4
  263. package/fesm2022/ngwr-typography.mjs.map +1 -1
  264. package/fesm2022/ngwr-validators.mjs +42 -4
  265. package/fesm2022/ngwr-validators.mjs.map +1 -1
  266. package/fesm2022/ngwr-version.mjs +1 -1
  267. package/fesm2022/ngwr-version.mjs.map +1 -1
  268. package/fesm2022/ngwr-virtual-scroll.mjs +9 -7
  269. package/fesm2022/ngwr-virtual-scroll.mjs.map +1 -1
  270. package/fesm2022/ngwr-waves.mjs +6 -5
  271. package/fesm2022/ngwr-waves.mjs.map +1 -1
  272. package/fesm2022/ngwr-window.mjs +16 -15
  273. package/fesm2022/ngwr-window.mjs.map +1 -1
  274. package/file-upload/styles/_index.scss +14 -14
  275. package/form/styles/_index.scss +9 -9
  276. package/gauge/styles/_index.scss +2 -2
  277. package/glitch-text/styles/_index.scss +4 -7
  278. package/gradient-text/styles/_index.scss +1 -1
  279. package/image-cropper/styles/_index.scss +8 -7
  280. package/input/styles/_index.scss +35 -16
  281. package/input-number/styles/_index.scss +1 -1
  282. package/input-otp/styles/_index.scss +28 -10
  283. package/keyboard/styles/_index.scss +11 -9
  284. package/knob/styles/_index.scss +7 -3
  285. package/layout/styles/_index.scss +12 -12
  286. package/lightbox/styles/_index.scss +31 -10
  287. package/line-chart/styles/_index.scss +5 -5
  288. package/list/styles/_index.scss +6 -6
  289. package/llms-full.txt +45 -24
  290. package/llms.txt +48 -32
  291. package/marquee/styles/_index.scss +1 -1
  292. package/mention/styles/_index.scss +6 -6
  293. package/meter-group/styles/_index.scss +4 -4
  294. package/overlay/styles/_index.scss +9 -1
  295. package/package.json +21 -14
  296. package/page-header/styles/_index.scss +4 -4
  297. package/pagination/styles/_index.scss +6 -29
  298. package/popconfirm/styles/_index.scss +4 -4
  299. package/popover/styles/_index.scss +7 -7
  300. package/progress/styles/_index.scss +1 -1
  301. package/pull-to-refresh/styles/_index.scss +38 -0
  302. package/radio/styles/_index.scss +24 -9
  303. package/rating/styles/_index.scss +13 -2
  304. package/result/styles/_index.scss +3 -3
  305. package/schematics/migrations/v8/index.js +122 -0
  306. package/schematics/migrations/v9/index.js +71 -0
  307. package/schematics/migrations.json +10 -0
  308. package/schematics/ng-add/index.js +3 -3
  309. package/schematics/ng-add/schema.json +7 -7
  310. package/schematics/provider/schema.json +1 -1
  311. package/schematics/use/symbol-map.json +24 -2
  312. package/segmented/styles/_index.scss +35 -12
  313. package/select/styles/_index.scss +126 -43
  314. package/shiny-text/styles/_index.scss +4 -4
  315. package/sidebar/styles/_index.scss +15 -15
  316. package/slider/styles/_index.scss +7 -8
  317. package/speed-dial/styles/_index.scss +23 -6
  318. package/splash-cursor/styles/_index.scss +1 -0
  319. package/splitter/styles/_index.scss +11 -8
  320. package/spotlight-card/styles/_index.scss +11 -7
  321. package/star-border/styles/_index.scss +3 -3
  322. package/statistic/styles/_index.scss +51 -4
  323. package/stepper/styles/_index.scss +10 -10
  324. package/styles/_animations.scss +0 -23
  325. package/styles/_typography.scss +4 -1
  326. package/styles.scss +2 -1
  327. package/switch/styles/_index.scss +29 -10
  328. package/table/styles/_index.scss +456 -26
  329. package/tabs/styles/_index.scss +25 -6
  330. package/textarea/styles/_index.scss +65 -10
  331. package/theme/styles/_colors.scss +82 -1
  332. package/theme/styles/_dark.scss +22 -8
  333. package/theme/styles/_focus.scss +5 -0
  334. package/theme/styles/_variables.scss +24 -0
  335. package/tilt-card/styles/_index.scss +4 -4
  336. package/timeline/styles/_index.scss +18 -8
  337. package/toast/styles/_index.scss +24 -16
  338. package/toolbar/styles/_index.scss +5 -5
  339. package/tree/styles/_index.scss +63 -32
  340. package/types/ngwr-action-sheet.d.ts +75 -0
  341. package/types/ngwr-alert.d.ts +17 -7
  342. package/types/ngwr-anchor.d.ts +1 -1
  343. package/types/ngwr-avatar.d.ts +1 -1
  344. package/types/ngwr-back-top.d.ts +1 -1
  345. package/types/ngwr-badge.d.ts +4 -4
  346. package/types/ngwr-bar-chart.d.ts +1 -1
  347. package/types/ngwr-breadcrumbs.d.ts +1 -1
  348. package/types/ngwr-burger.d.ts +1 -1
  349. package/types/ngwr-button.d.ts +3 -3
  350. package/types/ngwr-calendar-heatmap.d.ts +1 -1
  351. package/types/ngwr-calendar.d.ts +1 -1
  352. package/types/ngwr-card.d.ts +1 -1
  353. package/types/ngwr-carousel.d.ts +1 -1
  354. package/types/ngwr-cascader.d.ts +31 -17
  355. package/types/ngwr-checkbox.d.ts +67 -44
  356. package/types/ngwr-click-spark.d.ts +13 -1
  357. package/types/ngwr-clipboard.d.ts +13 -2
  358. package/types/ngwr-collapse.d.ts +3 -3
  359. package/types/ngwr-color-picker.d.ts +24 -19
  360. package/types/ngwr-command-palette.d.ts +1 -1
  361. package/types/ngwr-compare.d.ts +1 -1
  362. package/types/ngwr-context-menu.d.ts +42 -23
  363. package/types/ngwr-cookie.d.ts +7 -1
  364. package/types/ngwr-counter.d.ts +9 -2
  365. package/types/ngwr-date-picker.d.ts +39 -23
  366. package/types/ngwr-density.d.ts +8 -8
  367. package/types/ngwr-descriptions.d.ts +1 -1
  368. package/types/ngwr-dialog.d.ts +1 -1
  369. package/types/ngwr-directives.d.ts +18 -49
  370. package/types/ngwr-divider.d.ts +2 -2
  371. package/types/ngwr-donut-chart.d.ts +1 -1
  372. package/types/ngwr-drag-drop.d.ts +1 -1
  373. package/types/ngwr-drawer.d.ts +1 -1
  374. package/types/ngwr-dropdown.d.ts +1 -1
  375. package/types/ngwr-empty.d.ts +1 -1
  376. package/types/ngwr-file-upload.d.ts +28 -17
  377. package/types/ngwr-form.d.ts +2 -2
  378. package/types/ngwr-fuzzy-text.d.ts +1 -1
  379. package/types/ngwr-gauge.d.ts +1 -1
  380. package/types/ngwr-glitch-text.d.ts +9 -3
  381. package/types/ngwr-hotkey.d.ts +1 -1
  382. package/types/ngwr-i18n.d.ts +1 -1
  383. package/types/ngwr-icon-adapters-lucide.d.ts +5 -3
  384. package/types/ngwr-icon.d.ts +1 -1
  385. package/types/ngwr-image-cropper.d.ts +1 -1
  386. package/types/ngwr-input-number.d.ts +25 -19
  387. package/types/ngwr-input-otp.d.ts +28 -18
  388. package/types/ngwr-input.d.ts +29 -15
  389. package/types/ngwr-keyboard.d.ts +1 -1
  390. package/types/ngwr-knob.d.ts +24 -19
  391. package/types/ngwr-layout.d.ts +1 -1
  392. package/types/ngwr-lightbox.d.ts +10 -2
  393. package/types/ngwr-line-chart.d.ts +1 -1
  394. package/types/ngwr-list.d.ts +1 -1
  395. package/types/ngwr-loading-bar.d.ts +1 -1
  396. package/types/ngwr-marquee.d.ts +1 -1
  397. package/types/ngwr-media.d.ts +1 -1
  398. package/types/ngwr-mention.d.ts +1 -1
  399. package/types/ngwr-meta.d.ts +1 -1
  400. package/types/ngwr-meter-group.d.ts +1 -1
  401. package/types/ngwr-page-header.d.ts +1 -1
  402. package/types/ngwr-pagination.d.ts +4 -10
  403. package/types/ngwr-platform.d.ts +93 -2
  404. package/types/ngwr-popconfirm.d.ts +3 -3
  405. package/types/ngwr-progress.d.ts +2 -2
  406. package/types/ngwr-pull-to-refresh.d.ts +69 -0
  407. package/types/ngwr-qr.d.ts +1 -1
  408. package/types/ngwr-radio.d.ts +39 -25
  409. package/types/ngwr-rating.d.ts +32 -20
  410. package/types/ngwr-result.d.ts +1 -1
  411. package/types/ngwr-rotating-text.d.ts +1 -0
  412. package/types/ngwr-scroll.d.ts +1 -1
  413. package/types/ngwr-segmented.d.ts +6 -3
  414. package/types/ngwr-select.d.ts +98 -27
  415. package/types/ngwr-sidebar.d.ts +1 -1
  416. package/types/ngwr-skeleton.d.ts +2 -2
  417. package/types/ngwr-slider.d.ts +35 -21
  418. package/types/ngwr-sparkline.d.ts +1 -1
  419. package/types/ngwr-speed-dial.d.ts +8 -2
  420. package/types/ngwr-spinner.d.ts +1 -1
  421. package/types/ngwr-splitter.d.ts +1 -1
  422. package/types/ngwr-spotlight-card.d.ts +1 -1
  423. package/types/ngwr-squircle.d.ts +1 -1
  424. package/types/ngwr-statistic.d.ts +75 -6
  425. package/types/ngwr-stepper.d.ts +2 -2
  426. package/types/ngwr-storage.d.ts +1 -1
  427. package/types/ngwr-switch.d.ts +24 -16
  428. package/types/ngwr-table.d.ts +417 -6
  429. package/types/ngwr-tabs.d.ts +1 -1
  430. package/types/ngwr-textarea.d.ts +45 -20
  431. package/types/ngwr-theme.d.ts +7 -2
  432. package/types/ngwr-tilt-card.d.ts +3 -0
  433. package/types/ngwr-timeline.d.ts +1 -1
  434. package/types/ngwr-toast.d.ts +8 -2
  435. package/types/ngwr-toolbar.d.ts +1 -1
  436. package/types/ngwr-tree.d.ts +100 -19
  437. package/types/ngwr-typography.d.ts +1 -1
  438. package/types/ngwr-validators.d.ts +4 -2
  439. package/types/ngwr-version.d.ts +1 -1
  440. package/types/ngwr-virtual-scroll.d.ts +1 -1
  441. package/types/ngwr-window.d.ts +1 -1
  442. package/typography/styles/_index.scss +11 -11
  443. package/virtual-scroll/styles/_index.scss +1 -1
  444. package/waves/styles/_index.scss +1 -1
  445. package/window/styles/_index.scss +26 -26
  446. package/fesm2022/ngwr-scramble-text.mjs +0 -165
  447. package/fesm2022/ngwr-scramble-text.mjs.map +0 -1
  448. package/scramble-text/scramble-text.scss +0 -1
  449. package/scramble-text/styles/_index.scss +0 -8
  450. package/types/ngwr-scramble-text.d.ts +0 -49
@@ -5,15 +5,15 @@
5
5
  position: relative;
6
6
 
7
7
  // Defaults
8
- --wr-textarea-color: var(--wr-color-dark);
9
- --wr-textarea-placeholder: rgba(var(--wr-color-medium-rgb), 0.7);
10
- --wr-textarea-bg: var(--wr-color-white);
11
- --wr-textarea-border: var(--wr-color-light);
12
- --wr-textarea-radius: var(--wr-border-radius-base);
8
+ --wr-textarea-color: var(--wr-color-on-surface);
9
+ --wr-textarea-placeholder: rgba(var(--wr-color-on-surface-muted-rgb), 0.7);
10
+ --wr-textarea-bg: var(--wr-color-surface);
11
+ --wr-textarea-border: var(--wr-color-outline);
12
+ --wr-textarea-radius: var(--wr-control-radius-md);
13
13
  --wr-textarea-ring: transparent;
14
14
  --wr-textarea-padding-y: 0.5rem;
15
- --wr-textarea-padding-x: 0.75rem;
16
- --wr-textarea-font-size: 0.875rem;
15
+ --wr-textarea-padding-x: var(--wr-control-padding-x-md);
16
+ --wr-textarea-font-size: var(--wr-text-sm);
17
17
  --wr-textarea-line-height: 1.375rem;
18
18
 
19
19
  background: var(--wr-textarea-bg);
@@ -32,11 +32,34 @@
32
32
  }
33
33
 
34
34
  &--disabled {
35
- --wr-textarea-color: var(--wr-color-medium);
36
- --wr-textarea-bg: rgba(var(--wr-color-light-rgb), 0.35);
35
+ --wr-textarea-color: var(--wr-color-on-surface-muted);
36
+ --wr-textarea-bg: rgba(var(--wr-color-outline-rgb), 0.35);
37
37
  cursor: not-allowed;
38
38
  }
39
39
 
40
+ // Horizontal resize needs a shrinkable, explicit-width box (not full-width block).
41
+ &--resize-x {
42
+ display: inline-block;
43
+ max-width: 100%;
44
+ }
45
+
46
+ // Sizes — radius, padding, font + line-height scale; height stays content-driven.
47
+ &--sm {
48
+ --wr-textarea-radius: var(--wr-control-radius-sm);
49
+ --wr-textarea-padding-y: 0.375rem;
50
+ --wr-textarea-padding-x: var(--wr-control-padding-x-sm);
51
+ --wr-textarea-font-size: var(--wr-text-xs);
52
+ --wr-textarea-line-height: 1.125rem;
53
+ }
54
+
55
+ &--lg {
56
+ --wr-textarea-radius: var(--wr-control-radius-lg);
57
+ --wr-textarea-padding-y: 0.625rem;
58
+ --wr-textarea-padding-x: var(--wr-control-padding-x-lg);
59
+ --wr-textarea-font-size: var(--wr-text-base);
60
+ --wr-textarea-line-height: 1.625rem;
61
+ }
62
+
40
63
  &--no-resize &__native {
41
64
  resize: none;
42
65
  }
@@ -55,7 +78,8 @@
55
78
  line-height: var(--wr-textarea-line-height);
56
79
  padding: calc(var(--wr-textarea-padding-y) * var(--wr-density-y, 1))
57
80
  calc(var(--wr-textarea-padding-x) * var(--wr-density-x, 1));
58
- resize: vertical;
81
+ // Native grip removed — we draw our own corner grip (&__resize) instead.
82
+ resize: none;
59
83
 
60
84
  &::placeholder {
61
85
  color: var(--wr-textarea-placeholder);
@@ -65,4 +89,35 @@
65
89
  cursor: not-allowed;
66
90
  }
67
91
  }
92
+
93
+ // Corner resize grip — icon (move-vertical / -horizontal / -diagonal-2) and
94
+ // cursor follow the `resize` direction.
95
+ &__resize {
96
+ position: absolute;
97
+ right: 0.25rem;
98
+ bottom: 0.25rem;
99
+ display: inline-flex;
100
+ color: var(--wr-color-text-faint);
101
+ touch-action: none;
102
+ transition: color var(--wr-transition-base);
103
+
104
+ &--vertical {
105
+ cursor: ns-resize;
106
+ }
107
+ &--horizontal {
108
+ cursor: ew-resize;
109
+ }
110
+ &--both {
111
+ cursor: nwse-resize;
112
+ }
113
+
114
+ .wr-icon__svg {
115
+ width: 0.875rem;
116
+ height: 0.875rem;
117
+ }
118
+
119
+ &:hover {
120
+ color: var(--wr-color-on-surface-muted);
121
+ }
122
+ }
68
123
  }
@@ -5,7 +5,7 @@
5
5
  // Base palette
6
6
  //
7
7
  // Override the whole palette via:
8
- // @use 'ngwr/theme/colors' with (
8
+ // @use 'ngwr/theme/styles/colors' with (
9
9
  // $base-colors: (primary: #...)
10
10
  // );
11
11
 
@@ -15,6 +15,7 @@ $base-colors: (
15
15
  success: #00a400,
16
16
  warning: #ffba00,
17
17
  danger: #fa383e,
18
+ info: #3b82f6,
18
19
  light: #cbd5e1,
19
20
  medium: #8594a4,
20
21
  dark: #0f172a,
@@ -65,6 +66,72 @@ $contrast-light: #ffffff !default;
65
66
  // and turns the backdrop into a white wash.
66
67
  --wr-color-backdrop-rgb: 0, 0, 0;
67
68
 
69
+ // Generic subtle hover-surface tint (icon buttons, list rows) — one place
70
+ // so the hover strength stays consistent everywhere.
71
+ --wr-color-hover: rgba(var(--wr-color-light-rgb), 0.4);
72
+
73
+ // Border / divider strengths — translucent so they read on any surface and
74
+ // auto-adapt in dark (via the flipping `light` channels). One place each.
75
+ --wr-color-border: rgba(var(--wr-color-light-rgb), 0.5);
76
+ --wr-color-border-subtle: rgba(var(--wr-color-light-rgb), 0.35);
77
+ --wr-color-border-strong: rgba(var(--wr-color-light-rgb), 0.6);
78
+
79
+ // Scrim behind modals / drawers — always black so the dim reads as "covered"
80
+ // regardless of theme.
81
+ --wr-color-overlay: rgba(var(--wr-color-backdrop-rgb), 0.45);
82
+
83
+ // De-emphasized text — `medium` dimmed to two canonical strengths so muted
84
+ // labels / captions / placeholders read consistently. One place each.
85
+ --wr-color-text-muted: rgba(var(--wr-color-medium-rgb), 0.85);
86
+ --wr-color-text-faint: rgba(var(--wr-color-medium-rgb), 0.6);
87
+
88
+ // Neutral gray ramp — a FIXED primitive scale (slate). Each step is a stable
89
+ // job (50 = subtlest surface tint … 950 = strongest ink) and, unlike the
90
+ // semantic neutrals, does NOT flip in dark mode. For theme-aware surface /
91
+ // text jobs reach for the role aliases below instead.
92
+ --wr-color-gray-50: #f8fafc;
93
+ --wr-color-gray-100: #f1f5f9;
94
+ --wr-color-gray-200: #e2e8f0;
95
+ --wr-color-gray-300: #cbd5e1;
96
+ --wr-color-gray-400: #94a3b8;
97
+ --wr-color-gray-500: #64748b;
98
+ --wr-color-gray-600: #475569;
99
+ --wr-color-gray-700: #334155;
100
+ --wr-color-gray-800: #1e293b;
101
+ --wr-color-gray-900: #0f172a;
102
+ --wr-color-gray-950: #020617;
103
+
104
+ // Semantic role aliases over the flipping neutrals — prefer these in new code
105
+ // for intent-free surface / text / outline jobs. They resolve through
106
+ // `white` / `dark` / `medium` / `light`, so they flip with the theme
107
+ // automatically.
108
+ //
109
+ // Why roles at all: the neutrals do double duty. `--wr-color-dark` is both
110
+ // the `color="dark"` INTENT (a button variant, public API) and the default
111
+ // text colour; `--wr-color-white` is both the `color="light"`-adjacent
112
+ // surface and the page background. Reading `dark` in a component tells you
113
+ // nothing about which job it is doing. The roles name the job, so a future
114
+ // reader — and a future re-theme — can tell them apart. The intent scale
115
+ // stays exactly as it is; these sit on top of it.
116
+ //
117
+ // Each role mirrors the literal 1:1, including the `-rgb` channel list so
118
+ // translucent fills (`rgba(var(--wr-color-surface-rgb), α)`) never have to
119
+ // reach back down to a literal.
120
+ --wr-color-surface: var(--wr-color-white);
121
+ --wr-color-surface-rgb: var(--wr-color-white-rgb);
122
+ --wr-color-on-surface: var(--wr-color-dark);
123
+ --wr-color-on-surface-rgb: var(--wr-color-dark-rgb);
124
+ --wr-color-on-surface-muted: var(--wr-color-medium);
125
+ --wr-color-on-surface-muted-rgb: var(--wr-color-medium-rgb);
126
+
127
+ // Solid hairline / divider colour. Distinct from `--wr-color-border` above,
128
+ // which is deliberately translucent (`light` at 50%) so it reads on any
129
+ // surface — `outline` is the opaque one components actually draw 1px rules
130
+ // with today. Both are kept: swapping one for the other changes appearance,
131
+ // not just naming.
132
+ --wr-color-outline: var(--wr-color-light);
133
+ --wr-color-outline-rgb: var(--wr-color-light-rgb);
134
+
68
135
  @each $name, $base in $base-colors {
69
136
  --wr-color-#{$name}: #{$base};
70
137
  --wr-color-#{$name}-rgb: #{_rgb-channels($base)};
@@ -74,6 +141,20 @@ $contrast-light: #ffffff !default;
74
141
  --wr-color-#{$name}-light: #{color.adjust($base, $lightness: 5%)};
75
142
  --wr-color-#{$name}-lighter: #{color.adjust($base, $lightness: 10%)};
76
143
  }
144
+
145
+ // Soft trio per intent (+ `medium` for neutral surfaces) — tokenizes the
146
+ // ad-hoc `rgba(var(--*-rgb), α)` fills components hand-rolled at ~8
147
+ // different alphas, so each alpha lives in ONE place. `-soft` is the
148
+ // canonical low-alpha fill, `-soft-border` the matching hairline, and
149
+ // `-soft-contrast` the readable same-hue text on it (deep in light,
150
+ // light in dark — follows `--wr-color-dark`). All theme-correct over any
151
+ // background via the -rgb channels.
152
+ @each $name in (primary, secondary, success, warning, danger, info, medium) {
153
+ --wr-color-#{$name}-soft: rgba(var(--wr-color-#{$name}-rgb), 0.12);
154
+ --wr-color-#{$name}-soft-border: rgba(var(--wr-color-#{$name}-rgb), 0.3);
155
+ --wr-color-#{$name}-soft-contrast: color-mix(in srgb, var(--wr-color-#{$name}) 62%, var(--wr-color-dark));
156
+ --wr-color-#{$name}-active: rgba(var(--wr-color-#{$name}-rgb), 0.2);
157
+ }
77
158
  }
78
159
 
79
160
  // Public SCSS list
@@ -1,3 +1,5 @@
1
+ @use 'sass:color';
2
+
1
3
  // Dark theme overrides — opt-in via `[data-theme="dark"]` on <html>.
2
4
  // Drive the toggle from `WrTheme` (provided automatically with
3
5
  // `provideWrTheme(...)`).
@@ -5,6 +7,16 @@
5
7
  // Only semantic tokens flip — palette hues stay so brand-coloured
6
8
  // elements look the same regardless of theme.
7
9
 
10
+ // Intents re-tuned for the dark canvas. Looped (below) so each gets the
11
+ // FULL symmetric shade set — the hand blocks used to ship only base+rgb,
12
+ // leaving -light/-dark/-lighter/-darker baked from the LIGHT palette.
13
+ // (primary keeps its hand-tuned block; info stays its light values.)
14
+ $dark-intents: (
15
+ success: #34c759,
16
+ warning: #ffcc33,
17
+ danger: #ff5c5c,
18
+ );
19
+
8
20
  [data-theme='dark'] {
9
21
  // Canvas (was `--wr-color-white` in light mode)
10
22
  // Deeper than slate-900 so an elevated surface in slate-800 reads
@@ -63,14 +75,16 @@
63
75
  --wr-color-primary-lighter: #99b6ff;
64
76
  --wr-color-primary-darker: #1f3a99;
65
77
 
66
- --wr-color-success: #34c759;
67
- --wr-color-success-rgb: 52, 199, 89;
68
-
69
- --wr-color-warning: #ffcc33;
70
- --wr-color-warning-rgb: 255, 204, 51;
71
-
72
- --wr-color-danger: #ff5c5c;
73
- --wr-color-danger-rgb: 255, 92, 92;
78
+ // success / warning / danger — retuned bases now get the FULL symmetric
79
+ // shade set in dark too (generated, so no intent can silently drift).
80
+ @each $name, $base in $dark-intents {
81
+ --wr-color-#{$name}: #{$base};
82
+ --wr-color-#{$name}-rgb: #{color.channel($base, 'red')}, #{color.channel($base, 'green')}, #{color.channel($base, 'blue')};
83
+ --wr-color-#{$name}-light: #{color.adjust($base, $lightness: 5%)};
84
+ --wr-color-#{$name}-lighter: #{color.adjust($base, $lightness: 10%)};
85
+ --wr-color-#{$name}-dark: #{color.adjust($base, $lightness: -5%)};
86
+ --wr-color-#{$name}-darker: #{color.adjust($base, $lightness: -10%)};
87
+ }
74
88
 
75
89
  // Elevation
76
90
  // Black shadows at light-mode alphas vanish on the deep canvas; same
@@ -91,3 +91,8 @@
91
91
  .wr-dropdown-item:focus-visible {
92
92
  @include focus-ring;
93
93
  }
94
+
95
+ // Alert close
96
+ .wr-alert__close:focus-visible {
97
+ @include focus-ring;
98
+ }
@@ -10,6 +10,30 @@
10
10
  --wr-border-radius-lg: 1rem;
11
11
  --wr-border-radius-pill: 50rem;
12
12
 
13
+ // Control sizing
14
+ //
15
+ // The shared contract every form control reads (button, input, select, …)
16
+ // so they line up pixel-for-pixel at each size. Height is NOT fixed — it's
17
+ // the sum of `line-height + 2×padding-y + 2×border(1px)`, so padding-y can
18
+ // stay density-aware (`* var(--wr-density-y)`) and controls track density
19
+ // together. Keep the three parts in sync if you retune a size.
20
+ // sm → 22px · md → 30px · lg → 36px (radius 5 / 6 / 7)
21
+ --wr-control-padding-y-sm: 0.125rem; // 2px → 16 + 4 + 2 = 22
22
+ --wr-control-padding-y-md: 0.25rem; // 4px → 20 + 8 + 2 = 30
23
+ --wr-control-padding-y-lg: 0.3125rem; // 5px → 24 + 10 + 2 = 36
24
+ --wr-control-padding-x-sm: 0.5rem; // 8px
25
+ --wr-control-padding-x-md: 0.75rem; // 12px
26
+ --wr-control-padding-x-lg: 1rem; // 16px
27
+ --wr-control-line-height-sm: 1rem; // 16px
28
+ --wr-control-line-height-md: 1.25rem; // 20px
29
+ --wr-control-line-height-lg: 1.5rem; // 24px
30
+ --wr-control-font-size-sm: var(--wr-text-xs); // 12px
31
+ --wr-control-font-size-md: var(--wr-text-sm); // 14px
32
+ --wr-control-font-size-lg: var(--wr-text-base); // 16px
33
+ --wr-control-radius-sm: 5px;
34
+ --wr-control-radius-md: 6px;
35
+ --wr-control-radius-lg: 7px;
36
+
13
37
  // Easing curves
14
38
  --wr-ease-linear: linear;
15
39
  --wr-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
@@ -7,9 +7,9 @@
7
7
  position: relative;
8
8
  padding: 1.5rem;
9
9
  border-radius: 0.75rem;
10
- border: 1px solid var(--wr-color-light);
11
- background: var(--wr-color-white);
12
- color: var(--wr-color-dark);
10
+ border: 1px solid var(--wr-color-outline);
11
+ background: var(--wr-color-surface);
12
+ color: var(--wr-color-on-surface);
13
13
  box-shadow: 0 1px 2px rgba(var(--wr-color-backdrop-rgb), 0.06);
14
14
  // Card itself doesn't need overflow:hidden by default — the directive
15
15
  // toggles overflow when glare is enabled. Authors can opt in.
@@ -27,7 +27,7 @@
27
27
  // to the classic white sheen below.
28
28
  background: radial-gradient(
29
29
  circle at var(--wr-tilt-glare-x, 50%) var(--wr-tilt-glare-y, 50%),
30
- var(--wr-tilt-glare-color, rgba(var(--wr-color-dark-rgb), 0.12)),
30
+ var(--wr-tilt-glare-color, rgba(var(--wr-color-on-surface-rgb), 0.12)),
31
31
  transparent 60%
32
32
  );
33
33
  mix-blend-mode: multiply;
@@ -7,7 +7,7 @@
7
7
  width: 100%;
8
8
  min-width: 0;
9
9
  font-family: var(--wr-font-family-base);
10
- color: var(--wr-color-dark);
10
+ color: var(--wr-color-on-surface);
11
11
 
12
12
  &--vertical {
13
13
  flex-direction: column;
@@ -36,7 +36,7 @@
36
36
  margin-top: 0.125rem;
37
37
  border-radius: 50%;
38
38
  background: var(--wr-color-primary);
39
- box-shadow: 0 0 0 2px var(--wr-color-white);
39
+ box-shadow: 0 0 0 2px var(--wr-color-surface);
40
40
  z-index: 1;
41
41
  }
42
42
 
@@ -53,6 +53,7 @@
53
53
  }
54
54
 
55
55
  &--medium &__dot {
56
+ // The `color="medium"` INTENT, not the muted-text role — keep the literal.
56
57
  background: var(--wr-color-medium);
57
58
  }
58
59
 
@@ -64,7 +65,7 @@
64
65
  &__time {
65
66
  font-size: var(--wr-text-xs);
66
67
  line-height: 1rem;
67
- color: var(--wr-color-medium);
68
+ color: var(--wr-color-on-surface-muted);
68
69
  font-weight: var(--wr-font-weight-medium);
69
70
  margin-bottom: 0.125rem;
70
71
  }
@@ -79,7 +80,7 @@
79
80
  margin-top: 0.25rem;
80
81
  font-size: var(--wr-text-sm);
81
82
  line-height: var(--wr-leading-relaxed);
82
- color: var(--wr-color-dark);
83
+ color: var(--wr-color-on-surface);
83
84
  }
84
85
 
85
86
  // Vertical: connector line between dots.
@@ -91,7 +92,7 @@
91
92
  top: 1rem;
92
93
  bottom: -1.25rem;
93
94
  width: 1.5px;
94
- background: var(--wr-color-light);
95
+ background: var(--wr-color-outline);
95
96
  }
96
97
 
97
98
  &:last-child::before {
@@ -101,19 +102,28 @@
101
102
 
102
103
  // Horizontal: row layout with line through dots.
103
104
  .wr-timeline--horizontal & {
105
+ // Equal-width columns so every dot sits at the same horizontal pitch
106
+ // and the connectors line up across items.
107
+ flex: 1 1 0;
104
108
  flex-direction: column;
105
109
  align-items: center;
106
110
  text-align: center;
107
111
  min-width: 8rem;
112
+ padding-bottom: 0;
108
113
 
114
+ // Connector runs from this dot's centre to the next dot's centre:
115
+ // half of this item + the 2rem gap + half of the next item. With equal
116
+ // widths that is `100% of the item + the gap`, anchored at the centre.
109
117
  &::before {
110
118
  content: '';
111
119
  position: absolute;
112
- top: 0.625rem;
120
+ // Dot centre: margin-top 0.125rem + half of the 0.75rem dot = 0.5rem.
121
+ top: 0.5rem;
113
122
  left: 50%;
114
- right: -2rem;
123
+ width: calc(100% + 2rem);
115
124
  height: 1.5px;
116
- background: var(--wr-color-light);
125
+ background: var(--wr-color-outline);
126
+ z-index: 0;
117
127
  }
118
128
 
119
129
  &:last-child::before {
@@ -33,6 +33,14 @@ $toast-colors: (
33
33
  pointer-events: auto;
34
34
  }
35
35
 
36
+ // While expanded the toasts spread into a column with gaps. Those gaps are
37
+ // dead space under `pointer-events: none`, so the cursor crossing them fires
38
+ // mouseleave/mouseenter and toggles `expanded` (jitter). Make the whole host
39
+ // hit-testable while expanded so the inter-toast gaps stay "inside" it.
40
+ &--expanded {
41
+ pointer-events: auto;
42
+ }
43
+
36
44
  // Sonner-style stack
37
45
  // Collapsed: every toast except the front one collapses behind it with a
38
46
  // scale-down + tiny offset. Hovering the host expands them into the
@@ -117,11 +125,11 @@ $toast-colors: (
117
125
  }
118
126
 
119
127
  .wr-toast {
120
- --wr-toast-bg: var(--wr-color-white);
121
- --wr-toast-border: var(--wr-color-light);
128
+ --wr-toast-bg: var(--wr-color-surface);
129
+ --wr-toast-border: var(--wr-color-outline);
122
130
  --wr-toast-accent: var(--wr-color-primary);
123
- --wr-toast-title: var(--wr-color-dark);
124
- --wr-toast-message: var(--wr-color-medium);
131
+ --wr-toast-title: var(--wr-color-on-surface);
132
+ --wr-toast-message: var(--wr-color-on-surface-muted);
125
133
 
126
134
  position: relative;
127
135
  display: flex;
@@ -147,7 +155,7 @@ $toast-colors: (
147
155
  &__title {
148
156
  margin: 0 0 0.125rem;
149
157
  color: var(--wr-toast-title);
150
- font-size: 0.875rem;
158
+ font-size: var(--wr-text-sm);
151
159
  font-weight: 600;
152
160
  line-height: 1.25rem;
153
161
  }
@@ -155,7 +163,7 @@ $toast-colors: (
155
163
  &__message {
156
164
  margin: 0;
157
165
  color: var(--wr-toast-message);
158
- font-size: 0.8125rem;
166
+ font-size: var(--wr-text-sm);
159
167
  line-height: 1.125rem;
160
168
  overflow-wrap: break-word;
161
169
  }
@@ -172,7 +180,7 @@ $toast-colors: (
172
180
  background: transparent;
173
181
  border: 0;
174
182
  padding: 0.125rem;
175
- color: var(--wr-color-medium);
183
+ color: var(--wr-color-on-surface-muted);
176
184
  cursor: pointer;
177
185
  border-radius: var(--wr-border-radius-sm);
178
186
  transition:
@@ -182,8 +190,8 @@ $toast-colors: (
182
190
  --wr-icon-size: 0.875rem;
183
191
 
184
192
  &:hover {
185
- color: var(--wr-color-dark);
186
- background: rgba(var(--wr-color-light-rgb), 0.5);
193
+ color: var(--wr-color-on-surface);
194
+ background: var(--wr-color-hover);
187
195
  }
188
196
  }
189
197
 
@@ -237,26 +245,26 @@ $toast-colors: (
237
245
  align-self: stretch;
238
246
  pointer-events: auto;
239
247
  appearance: none;
240
- background: var(--wr-color-white);
241
- border: 1px solid var(--wr-color-light);
248
+ background: var(--wr-color-surface);
249
+ border: 1px solid var(--wr-color-outline);
242
250
  @include theme.smooth-br(var(--wr-border-radius-base));
243
251
  padding: 0.375rem 0.75rem;
244
- color: var(--wr-color-medium);
252
+ color: var(--wr-color-on-surface-muted);
245
253
  font-family: var(--wr-font-family-base);
246
- font-size: 0.75rem;
254
+ font-size: var(--wr-text-xs);
247
255
  font-weight: 500;
248
256
  line-height: 1rem;
249
257
  text-align: center;
250
258
  cursor: pointer;
251
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
259
+ box-shadow: var(--wr-shadow-xs);
252
260
  transition:
253
261
  color var(--wr-transition-base),
254
262
  background var(--wr-transition-base),
255
263
  border-color var(--wr-transition-base);
256
264
 
257
265
  &:hover {
258
- color: var(--wr-color-dark);
259
- border-color: var(--wr-color-medium);
266
+ color: var(--wr-color-on-surface);
267
+ border-color: var(--wr-color-on-surface-muted);
260
268
  }
261
269
  }
262
270
 
@@ -13,12 +13,12 @@
13
13
  min-width: 0;
14
14
  min-height: 3rem;
15
15
  padding: 0.5rem 0.875rem;
16
- background: var(--wr-color-white);
17
- border: 1px solid var(--wr-color-light);
16
+ background: var(--wr-color-surface);
17
+ border: 1px solid var(--wr-color-outline);
18
18
  @include theme.smooth-br(var(--wr-border-radius-base));
19
- box-shadow: 0 1px 0 rgba(0, 0, 0, 0.02);
19
+ box-shadow: var(--wr-shadow-xs);
20
20
  font-family: var(--wr-font-family-base);
21
- color: var(--wr-color-dark);
21
+ color: var(--wr-color-on-surface);
22
22
 
23
23
  // Opt-in (`responsive`): query the toolbar's own width so the zones stack
24
24
  // when it's too narrow for a row. Already full-width, so containment is safe.
@@ -69,7 +69,7 @@
69
69
  transform: translateY(-50%);
70
70
  height: 1.25rem;
71
71
  width: 1px;
72
- background: var(--wr-color-light);
72
+ background: var(--wr-color-outline);
73
73
  }
74
74
  }
75
75
  }