ngwr 6.1.1 → 7.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 (609) hide show
  1. package/LICENSE +1 -3
  2. package/README.md +179 -32
  3. package/affix/styles/_index.scss +12 -0
  4. package/alert/styles/_index.scss +75 -32
  5. package/anchor/styles/_index.scss +59 -0
  6. package/aurora/aurora.scss +1 -0
  7. package/aurora/styles/_index.scss +30 -0
  8. package/avatar/styles/_index.scss +30 -14
  9. package/back-top/styles/_index.scss +42 -0
  10. package/badge/styles/_index.scss +80 -0
  11. package/badge/styles/_tag.scss +81 -0
  12. package/bar-chart/styles/_index.scss +56 -0
  13. package/blur-text/blur-text.scss +1 -0
  14. package/blur-text/styles/_index.scss +14 -0
  15. package/border-glow/border-glow.scss +4 -0
  16. package/border-glow/styles/_index.scss +228 -0
  17. package/breadcrumbs/breadcrumbs.scss +1 -0
  18. package/breadcrumbs/styles/_index.scss +76 -0
  19. package/burger/styles/_index.scss +101 -0
  20. package/button/styles/_index.scss +148 -125
  21. package/calendar/styles/_index.scss +252 -0
  22. package/calendar-heatmap/styles/_index.scss +69 -0
  23. package/card/card.scss +1 -0
  24. package/card/styles/_index.scss +96 -0
  25. package/carousel/styles/_index.scss +102 -0
  26. package/cascader/cascader.scss +1 -0
  27. package/cascader/styles/_index.scss +174 -0
  28. package/checkbox/styles/_index.scss +76 -60
  29. package/circular-text/circular-text.scss +1 -0
  30. package/circular-text/styles/_index.scss +45 -0
  31. package/click-spark/click-spark.scss +1 -0
  32. package/click-spark/styles/_index.scss +16 -0
  33. package/collapse/styles/_index.scss +92 -0
  34. package/color-picker/styles/_index.scss +247 -0
  35. package/command-palette/styles/_index.scss +188 -0
  36. package/compare/styles/_index.scss +100 -0
  37. package/context-menu/styles/_index.scss +112 -0
  38. package/counter/styles/_index.scss +44 -0
  39. package/date-picker/styles/_index.scss +204 -0
  40. package/decrypt-text/decrypt-text.scss +1 -0
  41. package/decrypt-text/styles/_index.scss +26 -0
  42. package/density/styles/_index.scss +37 -0
  43. package/descriptions/styles/_index.scss +104 -0
  44. package/dialog/styles/_index.scss +101 -27
  45. package/divider/styles/_index.scss +43 -24
  46. package/donut-chart/styles/_index.scss +76 -0
  47. package/drag-drop/sortable-list.scss +1 -0
  48. package/drag-drop/styles/_index.scss +99 -0
  49. package/drawer/styles/_index.scss +164 -0
  50. package/dropdown/styles/_index.scss +76 -56
  51. package/empty/styles/_index.scss +49 -0
  52. package/falling-text/falling-text.scss +1 -0
  53. package/falling-text/styles/_index.scss +30 -0
  54. package/fesm2022/ngwr-affix.mjs +102 -0
  55. package/fesm2022/ngwr-affix.mjs.map +1 -0
  56. package/fesm2022/ngwr-alert.mjs +70 -52
  57. package/fesm2022/ngwr-alert.mjs.map +1 -1
  58. package/fesm2022/ngwr-anchor.mjs +103 -0
  59. package/fesm2022/ngwr-anchor.mjs.map +1 -0
  60. package/fesm2022/ngwr-aurora.mjs +309 -0
  61. package/fesm2022/ngwr-aurora.mjs.map +1 -0
  62. package/fesm2022/ngwr-avatar.mjs +81 -71
  63. package/fesm2022/ngwr-avatar.mjs.map +1 -1
  64. package/fesm2022/ngwr-back-top.mjs +81 -0
  65. package/fesm2022/ngwr-back-top.mjs.map +1 -0
  66. package/fesm2022/ngwr-badge.mjs +192 -0
  67. package/fesm2022/ngwr-badge.mjs.map +1 -0
  68. package/fesm2022/ngwr-bar-chart.mjs +69 -0
  69. package/fesm2022/ngwr-bar-chart.mjs.map +1 -0
  70. package/fesm2022/ngwr-blur-text.mjs +181 -0
  71. package/fesm2022/ngwr-blur-text.mjs.map +1 -0
  72. package/fesm2022/ngwr-border-glow.mjs +278 -0
  73. package/fesm2022/ngwr-border-glow.mjs.map +1 -0
  74. package/fesm2022/ngwr-breadcrumbs.mjs +101 -0
  75. package/fesm2022/ngwr-breadcrumbs.mjs.map +1 -0
  76. package/fesm2022/ngwr-burger.mjs +60 -0
  77. package/fesm2022/ngwr-burger.mjs.map +1 -0
  78. package/fesm2022/ngwr-button.mjs +179 -104
  79. package/fesm2022/ngwr-button.mjs.map +1 -1
  80. package/fesm2022/ngwr-calendar-heatmap.mjs +145 -0
  81. package/fesm2022/ngwr-calendar-heatmap.mjs.map +1 -0
  82. package/fesm2022/ngwr-calendar.mjs +402 -0
  83. package/fesm2022/ngwr-calendar.mjs.map +1 -0
  84. package/fesm2022/ngwr-card.mjs +100 -0
  85. package/fesm2022/ngwr-card.mjs.map +1 -0
  86. package/fesm2022/ngwr-carousel.mjs +128 -0
  87. package/fesm2022/ngwr-carousel.mjs.map +1 -0
  88. package/fesm2022/ngwr-cascader.mjs +280 -0
  89. package/fesm2022/ngwr-cascader.mjs.map +1 -0
  90. package/fesm2022/ngwr-checkbox.mjs +214 -54
  91. package/fesm2022/ngwr-checkbox.mjs.map +1 -1
  92. package/fesm2022/ngwr-circular-text.mjs +168 -0
  93. package/fesm2022/ngwr-circular-text.mjs.map +1 -0
  94. package/fesm2022/ngwr-click-spark.mjs +163 -0
  95. package/fesm2022/ngwr-click-spark.mjs.map +1 -0
  96. package/fesm2022/ngwr-clipboard.mjs +130 -0
  97. package/fesm2022/ngwr-clipboard.mjs.map +1 -0
  98. package/fesm2022/ngwr-collapse.mjs +232 -0
  99. package/fesm2022/ngwr-collapse.mjs.map +1 -0
  100. package/fesm2022/ngwr-color-picker.mjs +646 -0
  101. package/fesm2022/ngwr-color-picker.mjs.map +1 -0
  102. package/fesm2022/ngwr-command-palette.mjs +259 -0
  103. package/fesm2022/ngwr-command-palette.mjs.map +1 -0
  104. package/fesm2022/ngwr-compare.mjs +137 -0
  105. package/fesm2022/ngwr-compare.mjs.map +1 -0
  106. package/fesm2022/ngwr-confetti.mjs +160 -0
  107. package/fesm2022/ngwr-confetti.mjs.map +1 -0
  108. package/fesm2022/ngwr-context-menu.mjs +653 -0
  109. package/fesm2022/ngwr-context-menu.mjs.map +1 -0
  110. package/fesm2022/ngwr-cookie.mjs +127 -0
  111. package/fesm2022/ngwr-cookie.mjs.map +1 -0
  112. package/fesm2022/ngwr-counter.mjs +415 -0
  113. package/fesm2022/ngwr-counter.mjs.map +1 -0
  114. package/fesm2022/ngwr-date-adapter-fns.mjs +180 -0
  115. package/fesm2022/ngwr-date-adapter-fns.mjs.map +1 -0
  116. package/fesm2022/ngwr-date-adapter-luxon.mjs +201 -0
  117. package/fesm2022/ngwr-date-adapter-luxon.mjs.map +1 -0
  118. package/fesm2022/ngwr-date-adapter.mjs +419 -0
  119. package/fesm2022/ngwr-date-adapter.mjs.map +1 -0
  120. package/fesm2022/ngwr-date-picker.mjs +624 -0
  121. package/fesm2022/ngwr-date-picker.mjs.map +1 -0
  122. package/fesm2022/ngwr-decrypt-text.mjs +396 -0
  123. package/fesm2022/ngwr-decrypt-text.mjs.map +1 -0
  124. package/fesm2022/ngwr-density.mjs +157 -0
  125. package/fesm2022/ngwr-density.mjs.map +1 -0
  126. package/fesm2022/ngwr-descriptions.mjs +83 -0
  127. package/fesm2022/ngwr-descriptions.mjs.map +1 -0
  128. package/fesm2022/ngwr-dialog.mjs +249 -377
  129. package/fesm2022/ngwr-dialog.mjs.map +1 -1
  130. package/fesm2022/ngwr-directives.mjs +315 -0
  131. package/fesm2022/ngwr-directives.mjs.map +1 -0
  132. package/fesm2022/ngwr-divider.mjs +74 -59
  133. package/fesm2022/ngwr-divider.mjs.map +1 -1
  134. package/fesm2022/ngwr-donut-chart.mjs +131 -0
  135. package/fesm2022/ngwr-donut-chart.mjs.map +1 -0
  136. package/fesm2022/ngwr-drag-drop.mjs +117 -0
  137. package/fesm2022/ngwr-drag-drop.mjs.map +1 -0
  138. package/fesm2022/ngwr-drawer.mjs +315 -0
  139. package/fesm2022/ngwr-drawer.mjs.map +1 -0
  140. package/fesm2022/ngwr-dropdown.mjs +276 -229
  141. package/fesm2022/ngwr-dropdown.mjs.map +1 -1
  142. package/fesm2022/ngwr-empty.mjs +57 -0
  143. package/fesm2022/ngwr-empty.mjs.map +1 -0
  144. package/fesm2022/ngwr-falling-text.mjs +316 -0
  145. package/fesm2022/ngwr-falling-text.mjs.map +1 -0
  146. package/fesm2022/ngwr-file-upload.mjs +260 -0
  147. package/fesm2022/ngwr-file-upload.mjs.map +1 -0
  148. package/fesm2022/ngwr-form.mjs +133 -48
  149. package/fesm2022/ngwr-form.mjs.map +1 -1
  150. package/fesm2022/ngwr-fuzzy-text.mjs +373 -0
  151. package/fesm2022/ngwr-fuzzy-text.mjs.map +1 -0
  152. package/fesm2022/ngwr-gauge.mjs +83 -0
  153. package/fesm2022/ngwr-gauge.mjs.map +1 -0
  154. package/fesm2022/ngwr-glitch-text.mjs +67 -0
  155. package/fesm2022/ngwr-glitch-text.mjs.map +1 -0
  156. package/fesm2022/ngwr-gradient-text.mjs +109 -0
  157. package/fesm2022/ngwr-gradient-text.mjs.map +1 -0
  158. package/fesm2022/ngwr-hotkey.mjs +263 -0
  159. package/fesm2022/ngwr-hotkey.mjs.map +1 -0
  160. package/fesm2022/ngwr-i18n-en.mjs +168 -0
  161. package/fesm2022/ngwr-i18n-en.mjs.map +1 -0
  162. package/fesm2022/ngwr-i18n-ru.mjs +156 -0
  163. package/fesm2022/ngwr-i18n-ru.mjs.map +1 -0
  164. package/fesm2022/ngwr-i18n.mjs +478 -0
  165. package/fesm2022/ngwr-i18n.mjs.map +1 -0
  166. package/fesm2022/ngwr-icon-adapters-feather.mjs +74 -0
  167. package/fesm2022/ngwr-icon-adapters-feather.mjs.map +1 -0
  168. package/fesm2022/ngwr-icon-adapters-lucide.mjs +88 -0
  169. package/fesm2022/ngwr-icon-adapters-lucide.mjs.map +1 -0
  170. package/fesm2022/ngwr-icon.mjs +189 -649
  171. package/fesm2022/ngwr-icon.mjs.map +1 -1
  172. package/fesm2022/ngwr-image-cropper.mjs +299 -0
  173. package/fesm2022/ngwr-image-cropper.mjs.map +1 -0
  174. package/fesm2022/ngwr-input-number.mjs +239 -0
  175. package/fesm2022/ngwr-input-number.mjs.map +1 -0
  176. package/fesm2022/ngwr-input-otp.mjs +216 -0
  177. package/fesm2022/ngwr-input-otp.mjs.map +1 -0
  178. package/fesm2022/ngwr-input.mjs +183 -104
  179. package/fesm2022/ngwr-input.mjs.map +1 -1
  180. package/fesm2022/ngwr-keyboard.mjs +47 -0
  181. package/fesm2022/ngwr-keyboard.mjs.map +1 -0
  182. package/fesm2022/ngwr-knob.mjs +227 -0
  183. package/fesm2022/ngwr-knob.mjs.map +1 -0
  184. package/fesm2022/ngwr-layout.mjs +197 -0
  185. package/fesm2022/ngwr-layout.mjs.map +1 -0
  186. package/fesm2022/ngwr-lightbox.mjs +131 -0
  187. package/fesm2022/ngwr-lightbox.mjs.map +1 -0
  188. package/fesm2022/ngwr-line-chart.mjs +176 -0
  189. package/fesm2022/ngwr-line-chart.mjs.map +1 -0
  190. package/fesm2022/ngwr-list.mjs +132 -0
  191. package/fesm2022/ngwr-list.mjs.map +1 -0
  192. package/fesm2022/ngwr-loading-bar.mjs +160 -0
  193. package/fesm2022/ngwr-loading-bar.mjs.map +1 -0
  194. package/fesm2022/ngwr-marquee.mjs +224 -0
  195. package/fesm2022/ngwr-marquee.mjs.map +1 -0
  196. package/fesm2022/ngwr-media.mjs +132 -0
  197. package/fesm2022/ngwr-media.mjs.map +1 -0
  198. package/fesm2022/ngwr-mention.mjs +374 -0
  199. package/fesm2022/ngwr-mention.mjs.map +1 -0
  200. package/fesm2022/ngwr-meta.mjs +323 -0
  201. package/fesm2022/ngwr-meta.mjs.map +1 -0
  202. package/fesm2022/ngwr-meter-group.mjs +73 -0
  203. package/fesm2022/ngwr-meter-group.mjs.map +1 -0
  204. package/fesm2022/ngwr-overlay.mjs +145 -0
  205. package/fesm2022/ngwr-overlay.mjs.map +1 -0
  206. package/fesm2022/ngwr-page-header.mjs +53 -0
  207. package/fesm2022/ngwr-page-header.mjs.map +1 -0
  208. package/fesm2022/ngwr-pagination.mjs +152 -96
  209. package/fesm2022/ngwr-pagination.mjs.map +1 -1
  210. package/fesm2022/ngwr-pipes.mjs +290 -11
  211. package/fesm2022/ngwr-pipes.mjs.map +1 -1
  212. package/fesm2022/ngwr-platform.mjs +63 -0
  213. package/fesm2022/ngwr-platform.mjs.map +1 -0
  214. package/fesm2022/ngwr-popconfirm.mjs +188 -0
  215. package/fesm2022/ngwr-popconfirm.mjs.map +1 -0
  216. package/fesm2022/ngwr-popover.mjs +365 -0
  217. package/fesm2022/ngwr-popover.mjs.map +1 -0
  218. package/fesm2022/ngwr-progress.mjs +47 -39
  219. package/fesm2022/ngwr-progress.mjs.map +1 -1
  220. package/fesm2022/ngwr-qr.mjs +160 -179
  221. package/fesm2022/ngwr-qr.mjs.map +1 -1
  222. package/fesm2022/ngwr-radio.mjs +204 -0
  223. package/fesm2022/ngwr-radio.mjs.map +1 -0
  224. package/fesm2022/ngwr-rating.mjs +180 -0
  225. package/fesm2022/ngwr-rating.mjs.map +1 -0
  226. package/fesm2022/ngwr-result.mjs +119 -0
  227. package/fesm2022/ngwr-result.mjs.map +1 -0
  228. package/fesm2022/ngwr-rotating-text.mjs +256 -0
  229. package/fesm2022/ngwr-rotating-text.mjs.map +1 -0
  230. package/fesm2022/ngwr-scramble-text.mjs +165 -0
  231. package/fesm2022/ngwr-scramble-text.mjs.map +1 -0
  232. package/fesm2022/ngwr-scroll.mjs +107 -0
  233. package/fesm2022/ngwr-scroll.mjs.map +1 -0
  234. package/fesm2022/ngwr-segmented.mjs +96 -0
  235. package/fesm2022/ngwr-segmented.mjs.map +1 -0
  236. package/fesm2022/ngwr-select.mjs +844 -309
  237. package/fesm2022/ngwr-select.mjs.map +1 -1
  238. package/fesm2022/ngwr-shiny-text.mjs +127 -0
  239. package/fesm2022/ngwr-shiny-text.mjs.map +1 -0
  240. package/fesm2022/ngwr-sidebar.mjs +134 -0
  241. package/fesm2022/ngwr-sidebar.mjs.map +1 -0
  242. package/fesm2022/ngwr-skeleton.mjs +59 -34
  243. package/fesm2022/ngwr-skeleton.mjs.map +1 -1
  244. package/fesm2022/ngwr-slider.mjs +234 -0
  245. package/fesm2022/ngwr-slider.mjs.map +1 -0
  246. package/fesm2022/ngwr-sparkline.mjs +104 -0
  247. package/fesm2022/ngwr-sparkline.mjs.map +1 -0
  248. package/fesm2022/ngwr-speed-dial.mjs +79 -0
  249. package/fesm2022/ngwr-speed-dial.mjs.map +1 -0
  250. package/fesm2022/ngwr-spinner.mjs +34 -28
  251. package/fesm2022/ngwr-spinner.mjs.map +1 -1
  252. package/fesm2022/ngwr-splash-cursor.mjs +970 -0
  253. package/fesm2022/ngwr-splash-cursor.mjs.map +1 -0
  254. package/fesm2022/ngwr-split-text.mjs +200 -0
  255. package/fesm2022/ngwr-split-text.mjs.map +1 -0
  256. package/fesm2022/ngwr-splitter.mjs +125 -0
  257. package/fesm2022/ngwr-splitter.mjs.map +1 -0
  258. package/fesm2022/ngwr-spotlight-card.mjs +138 -0
  259. package/fesm2022/ngwr-spotlight-card.mjs.map +1 -0
  260. package/fesm2022/ngwr-squircle.mjs +320 -0
  261. package/fesm2022/ngwr-squircle.mjs.map +1 -0
  262. package/fesm2022/ngwr-star-border.mjs +72 -0
  263. package/fesm2022/ngwr-star-border.mjs.map +1 -0
  264. package/fesm2022/ngwr-statistic.mjs +220 -0
  265. package/fesm2022/ngwr-statistic.mjs.map +1 -0
  266. package/fesm2022/ngwr-stepper.mjs +186 -0
  267. package/fesm2022/ngwr-stepper.mjs.map +1 -0
  268. package/fesm2022/ngwr-storage.mjs +317 -0
  269. package/fesm2022/ngwr-storage.mjs.map +1 -0
  270. package/fesm2022/ngwr-switch.mjs +99 -0
  271. package/fesm2022/ngwr-switch.mjs.map +1 -0
  272. package/fesm2022/ngwr-table.mjs +217 -206
  273. package/fesm2022/ngwr-table.mjs.map +1 -1
  274. package/fesm2022/ngwr-tabs.mjs +217 -0
  275. package/fesm2022/ngwr-tabs.mjs.map +1 -0
  276. package/fesm2022/ngwr-textarea.mjs +106 -120
  277. package/fesm2022/ngwr-textarea.mjs.map +1 -1
  278. package/fesm2022/ngwr-theme.mjs +152 -0
  279. package/fesm2022/ngwr-theme.mjs.map +1 -0
  280. package/fesm2022/ngwr-tilt-card.mjs +137 -0
  281. package/fesm2022/ngwr-tilt-card.mjs.map +1 -0
  282. package/fesm2022/ngwr-timeline.mjs +73 -0
  283. package/fesm2022/ngwr-timeline.mjs.map +1 -0
  284. package/fesm2022/ngwr-toast.mjs +446 -0
  285. package/fesm2022/ngwr-toast.mjs.map +1 -0
  286. package/fesm2022/ngwr-toolbar.mjs +46 -0
  287. package/fesm2022/ngwr-toolbar.mjs.map +1 -0
  288. package/fesm2022/ngwr-tree.mjs +483 -0
  289. package/fesm2022/ngwr-tree.mjs.map +1 -0
  290. package/fesm2022/ngwr-typewriter.mjs +229 -0
  291. package/fesm2022/ngwr-typewriter.mjs.map +1 -0
  292. package/fesm2022/ngwr-typography.mjs +79 -0
  293. package/fesm2022/ngwr-typography.mjs.map +1 -0
  294. package/fesm2022/ngwr-utils.mjs +535 -0
  295. package/fesm2022/ngwr-utils.mjs.map +1 -0
  296. package/fesm2022/ngwr-validators.mjs +214 -0
  297. package/fesm2022/ngwr-validators.mjs.map +1 -0
  298. package/fesm2022/ngwr-version.mjs +51 -0
  299. package/fesm2022/ngwr-version.mjs.map +1 -0
  300. package/fesm2022/ngwr-virtual-scroll.mjs +99 -0
  301. package/fesm2022/ngwr-virtual-scroll.mjs.map +1 -0
  302. package/fesm2022/ngwr-waves.mjs +356 -0
  303. package/fesm2022/ngwr-waves.mjs.map +1 -0
  304. package/fesm2022/ngwr-window.mjs +1141 -0
  305. package/fesm2022/ngwr-window.mjs.map +1 -0
  306. package/fesm2022/ngwr.mjs +0 -3
  307. package/fesm2022/ngwr.mjs.map +1 -1
  308. package/file-upload/styles/_index.scss +152 -0
  309. package/form/styles/_index.scss +85 -42
  310. package/gauge/styles/_index.scss +37 -0
  311. package/glitch-text/glitch-text.scss +1 -0
  312. package/glitch-text/styles/_index.scss +144 -0
  313. package/gradient-text/gradient-text.scss +1 -0
  314. package/gradient-text/styles/_index.scss +113 -0
  315. package/icon/styles/_index.scss +21 -15
  316. package/image-cropper/styles/_index.scss +114 -0
  317. package/input/styles/_index.scss +133 -93
  318. package/input-number/styles/_index.scss +75 -0
  319. package/input-otp/styles/_index.scss +53 -0
  320. package/keyboard/styles/_index.scss +55 -0
  321. package/knob/styles/_index.scss +54 -0
  322. package/layout/styles/_index.scss +65 -0
  323. package/lightbox/lightbox.scss +1 -0
  324. package/lightbox/styles/_index.scss +144 -0
  325. package/line-chart/styles/_index.scss +93 -0
  326. package/list/list.scss +1 -0
  327. package/list/styles/_index.scss +101 -0
  328. package/loading-bar/loading-bar.scss +1 -0
  329. package/loading-bar/styles/_index.scss +29 -0
  330. package/marquee/marquee.scss +1 -0
  331. package/marquee/styles/_index.scss +138 -0
  332. package/mention/styles/_index.scss +47 -0
  333. package/meter-group/styles/_index.scss +61 -0
  334. package/package.json +586 -104
  335. package/page-header/styles/_index.scss +78 -0
  336. package/pagination/styles/_index.scss +89 -34
  337. package/popconfirm/styles/_index.scss +32 -0
  338. package/popover/styles/_index.scss +99 -0
  339. package/progress/styles/_index.scss +29 -14
  340. package/qr/styles/_index.scss +6 -3
  341. package/radio/styles/_index.scss +111 -0
  342. package/rating/styles/_index.scss +63 -0
  343. package/result/styles/_index.scss +69 -0
  344. package/rotating-text/rotating-text.scss +1 -0
  345. package/rotating-text/styles/_index.scss +39 -0
  346. package/schematics/collection.json +37 -0
  347. package/schematics/component-style/index.js +49 -0
  348. package/{cdk/utils/index.d.ts → schematics/component-style/schema.js} +2 -8
  349. package/schematics/component-style/schema.json +20 -0
  350. package/schematics/icon-set/index.js +96 -0
  351. package/schematics/icon-set/schema.js +8 -0
  352. package/schematics/icon-set/schema.json +39 -0
  353. package/schematics/migrations/v7/index.js +187 -0
  354. package/schematics/migrations.json +10 -0
  355. package/schematics/ng-add/index.js +180 -0
  356. package/schematics/ng-add/schema.js +8 -0
  357. package/schematics/ng-add/schema.json +80 -0
  358. package/schematics/page/index.js +63 -0
  359. package/schematics/page/schema.js +8 -0
  360. package/schematics/page/schema.json +39 -0
  361. package/schematics/page/templates.js +198 -0
  362. package/schematics/provider/index.js +126 -0
  363. package/schematics/provider/schema.js +8 -0
  364. package/schematics/provider/schema.json +52 -0
  365. package/schematics/use/index.js +143 -0
  366. package/schematics/use/schema.js +8 -0
  367. package/schematics/use/schema.json +25 -0
  368. package/schematics/use/symbol-map.json +357 -0
  369. package/scramble-text/scramble-text.scss +1 -0
  370. package/scramble-text/styles/_index.scss +8 -0
  371. package/segmented/styles/_index.scss +92 -0
  372. package/select/styles/_index.scss +245 -159
  373. package/shiny-text/shiny-text.scss +1 -0
  374. package/shiny-text/styles/_index.scss +101 -0
  375. package/sidebar/styles/_index.scss +208 -0
  376. package/skeleton/styles/_index.scss +33 -33
  377. package/slider/styles/_index.scss +77 -0
  378. package/sparkline/styles/_index.scss +9 -0
  379. package/speed-dial/styles/_index.scss +158 -0
  380. package/spinner/styles/_index.scss +38 -22
  381. package/splash-cursor/splash-cursor.scss +1 -0
  382. package/splash-cursor/styles/_index.scss +27 -0
  383. package/split-text/split-text.scss +1 -0
  384. package/split-text/styles/_index.scss +22 -0
  385. package/splitter/styles/_index.scss +85 -0
  386. package/spotlight-card/spotlight-card.scss +1 -0
  387. package/spotlight-card/styles/_index.scss +43 -0
  388. package/squircle/styles/_index.scss +34 -0
  389. package/star-border/star-border.scss +1 -0
  390. package/star-border/styles/_index.scss +118 -0
  391. package/statistic/styles/_index.scss +54 -0
  392. package/stepper/styles/_index.scss +162 -0
  393. package/styles/_animations.scss +198 -0
  394. package/styles/_breakpoints.scss +75 -0
  395. package/styles/_grid.scss +71 -0
  396. package/styles/_reset.scss +123 -0
  397. package/styles/_typography.scss +122 -0
  398. package/styles.scss +103 -13
  399. package/switch/styles/_index.scss +82 -0
  400. package/table/styles/_index.scss +255 -4
  401. package/tabs/styles/_index.scss +71 -0
  402. package/textarea/styles/_index.scss +47 -56
  403. package/theme/styles/_colors.scss +83 -0
  404. package/theme/styles/_dark.scss +85 -0
  405. package/theme/styles/_focus.scss +93 -0
  406. package/theme/styles/_index.scss +5 -0
  407. package/theme/styles/_mixins.scss +57 -0
  408. package/theme/styles/_variables.scss +118 -0
  409. package/tilt-card/styles/_index.scss +40 -0
  410. package/tilt-card/tilt-card.scss +1 -0
  411. package/timeline/styles/_index.scss +127 -0
  412. package/toast/styles/_index.scss +263 -0
  413. package/toolbar/styles/_index.scss +65 -0
  414. package/tree/styles/_index.scss +271 -0
  415. package/types/ngwr-affix.d.ts +43 -0
  416. package/types/ngwr-alert.d.ts +68 -0
  417. package/types/ngwr-anchor.d.ts +53 -0
  418. package/types/ngwr-aurora.d.ts +52 -0
  419. package/types/ngwr-avatar.d.ts +90 -0
  420. package/types/ngwr-back-top.d.ts +37 -0
  421. package/types/ngwr-badge.d.ts +158 -0
  422. package/types/ngwr-bar-chart.d.ts +47 -0
  423. package/types/ngwr-blur-text.d.ts +62 -0
  424. package/types/ngwr-border-glow.d.ts +66 -0
  425. package/types/ngwr-breadcrumbs.d.ts +61 -0
  426. package/types/ngwr-burger.d.ts +36 -0
  427. package/types/ngwr-button.d.ts +176 -0
  428. package/types/ngwr-calendar-heatmap.d.ts +58 -0
  429. package/types/ngwr-calendar.d.ts +116 -0
  430. package/types/ngwr-card.d.ts +50 -0
  431. package/types/ngwr-carousel.d.ts +57 -0
  432. package/types/ngwr-cascader.d.ts +107 -0
  433. package/types/ngwr-checkbox.d.ts +139 -0
  434. package/types/ngwr-circular-text.d.ts +49 -0
  435. package/types/ngwr-click-spark.d.ts +52 -0
  436. package/types/ngwr-clipboard.d.ts +53 -0
  437. package/types/ngwr-collapse.d.ts +139 -0
  438. package/types/ngwr-color-picker.d.ts +302 -0
  439. package/types/ngwr-command-palette.d.ts +113 -0
  440. package/types/ngwr-compare.d.ts +55 -0
  441. package/types/ngwr-confetti.d.ts +70 -0
  442. package/types/ngwr-context-menu.d.ts +207 -0
  443. package/types/ngwr-cookie.d.ts +60 -0
  444. package/types/ngwr-counter.d.ts +182 -0
  445. package/types/ngwr-date-adapter-fns.d.ts +73 -0
  446. package/types/ngwr-date-adapter-luxon.d.ts +73 -0
  447. package/types/ngwr-date-adapter.d.ts +198 -0
  448. package/types/ngwr-date-picker.d.ts +117 -0
  449. package/types/ngwr-decrypt-text.d.ts +85 -0
  450. package/types/ngwr-density.d.ts +97 -0
  451. package/types/ngwr-descriptions.d.ts +41 -0
  452. package/types/ngwr-dialog.d.ts +210 -0
  453. package/types/ngwr-directives.d.ts +125 -0
  454. package/types/ngwr-divider.d.ts +73 -0
  455. package/types/ngwr-donut-chart.d.ts +53 -0
  456. package/types/ngwr-drag-drop.d.ts +83 -0
  457. package/types/ngwr-drawer.d.ts +155 -0
  458. package/types/ngwr-dropdown.d.ts +124 -0
  459. package/types/ngwr-empty.d.ts +38 -0
  460. package/types/ngwr-falling-text.d.ts +63 -0
  461. package/types/ngwr-file-upload.d.ts +94 -0
  462. package/types/ngwr-form.d.ts +95 -0
  463. package/types/ngwr-fuzzy-text.d.ts +74 -0
  464. package/types/ngwr-gauge.d.ts +39 -0
  465. package/types/ngwr-glitch-text.d.ts +31 -0
  466. package/types/ngwr-gradient-text.d.ts +46 -0
  467. package/types/ngwr-hotkey.d.ts +142 -0
  468. package/types/ngwr-i18n-en.d.ts +18 -0
  469. package/types/ngwr-i18n-ru.d.ts +6 -0
  470. package/types/ngwr-i18n.d.ts +336 -0
  471. package/types/ngwr-icon-adapters-feather.d.ts +44 -0
  472. package/types/ngwr-icon-adapters-lucide.d.ts +54 -0
  473. package/types/ngwr-icon.d.ts +180 -0
  474. package/types/ngwr-image-cropper.d.ts +110 -0
  475. package/types/ngwr-input-number.d.ts +77 -0
  476. package/types/ngwr-input-otp.d.ts +78 -0
  477. package/types/ngwr-input.d.ts +131 -0
  478. package/types/ngwr-keyboard.d.ts +34 -0
  479. package/types/ngwr-knob.d.ts +77 -0
  480. package/types/ngwr-layout.d.ts +89 -0
  481. package/types/ngwr-lightbox.d.ts +50 -0
  482. package/types/ngwr-line-chart.d.ts +90 -0
  483. package/types/ngwr-list.d.ts +71 -0
  484. package/types/ngwr-loading-bar.d.ts +79 -0
  485. package/types/ngwr-marquee.d.ts +95 -0
  486. package/types/ngwr-media.d.ts +74 -0
  487. package/types/ngwr-mention.d.ts +110 -0
  488. package/types/ngwr-meta.d.ts +188 -0
  489. package/types/ngwr-meter-group.d.ts +57 -0
  490. package/types/ngwr-overlay.d.ts +110 -0
  491. package/types/ngwr-page-header.d.ts +35 -0
  492. package/types/ngwr-pagination.d.ts +119 -0
  493. package/types/ngwr-pipes.d.ts +177 -0
  494. package/types/ngwr-platform.d.ts +38 -0
  495. package/types/ngwr-popconfirm.d.ts +79 -0
  496. package/types/ngwr-popover.d.ts +90 -0
  497. package/types/ngwr-progress.d.ts +33 -0
  498. package/types/ngwr-qr.d.ts +56 -0
  499. package/types/ngwr-radio.d.ts +120 -0
  500. package/types/ngwr-rating.d.ts +62 -0
  501. package/types/ngwr-result.d.ts +64 -0
  502. package/types/ngwr-rotating-text.d.ts +72 -0
  503. package/types/ngwr-scramble-text.d.ts +49 -0
  504. package/types/ngwr-scroll.d.ts +65 -0
  505. package/types/ngwr-segmented.d.ts +65 -0
  506. package/types/ngwr-select.d.ts +413 -0
  507. package/types/ngwr-shiny-text.d.ts +70 -0
  508. package/types/ngwr-sidebar.d.ts +83 -0
  509. package/types/ngwr-skeleton.d.ts +41 -0
  510. package/types/ngwr-slider.d.ts +86 -0
  511. package/types/ngwr-sparkline.d.ts +48 -0
  512. package/types/ngwr-speed-dial.d.ts +51 -0
  513. package/types/ngwr-spinner.d.ts +41 -0
  514. package/types/ngwr-splash-cursor.d.ts +94 -0
  515. package/types/ngwr-split-text.d.ts +83 -0
  516. package/types/ngwr-splitter.d.ts +52 -0
  517. package/types/ngwr-spotlight-card.d.ts +71 -0
  518. package/types/ngwr-squircle.d.ts +132 -0
  519. package/types/ngwr-star-border.d.ts +40 -0
  520. package/types/ngwr-statistic.d.ts +88 -0
  521. package/types/ngwr-stepper.d.ts +99 -0
  522. package/types/ngwr-storage.d.ts +178 -0
  523. package/types/ngwr-switch.d.ts +39 -0
  524. package/types/ngwr-table.d.ts +237 -0
  525. package/types/ngwr-tabs.d.ts +125 -0
  526. package/types/ngwr-textarea.d.ts +60 -0
  527. package/types/ngwr-theme.d.ts +124 -0
  528. package/types/ngwr-tilt-card.d.ts +63 -0
  529. package/types/ngwr-timeline.d.ts +40 -0
  530. package/types/ngwr-toast.d.ts +230 -0
  531. package/types/ngwr-toolbar.d.ts +30 -0
  532. package/types/ngwr-tree.d.ts +150 -0
  533. package/types/ngwr-typewriter.d.ts +84 -0
  534. package/types/ngwr-typography.d.ts +56 -0
  535. package/types/ngwr-utils.d.ts +447 -0
  536. package/types/ngwr-validators.d.ts +70 -0
  537. package/types/ngwr-version.d.ts +44 -0
  538. package/types/ngwr-virtual-scroll.d.ts +64 -0
  539. package/types/ngwr-waves.d.ts +71 -0
  540. package/types/ngwr-window.d.ts +437 -0
  541. package/typewriter/styles/_index.scss +33 -0
  542. package/typewriter/typewriter.scss +1 -0
  543. package/typography/styles/_index.scss +211 -0
  544. package/virtual-scroll/styles/_index.scss +27 -0
  545. package/virtual-scroll/virtual-scroll.scss +1 -0
  546. package/waves/styles/_index.scss +24 -0
  547. package/waves/waves.scss +1 -0
  548. package/window/styles/_index.scss +430 -0
  549. package/alert/index.d.ts +0 -32
  550. package/alert/styles/theming.scss +0 -26
  551. package/alert/styles/vars.scss +0 -11
  552. package/avatar/index.d.ts +0 -30
  553. package/button/index.d.ts +0 -45
  554. package/button/styles/vars.scss +0 -13
  555. package/cdk/index.d.ts +0 -24
  556. package/cdk/rxjs/index.d.ts +0 -40
  557. package/cdk/types/index.d.ts +0 -27
  558. package/checkbox/index.d.ts +0 -31
  559. package/checkbox/styles/vars.scss +0 -16
  560. package/dialog/index.d.ts +0 -193
  561. package/dialog/styles/vars.scss +0 -7
  562. package/divider/index.d.ts +0 -16
  563. package/dropdown/index.d.ts +0 -68
  564. package/dropdown/styles/vars.scss +0 -18
  565. package/fesm2022/ngwr-cdk-rxjs.mjs +0 -53
  566. package/fesm2022/ngwr-cdk-rxjs.mjs.map +0 -1
  567. package/fesm2022/ngwr-cdk-types.mjs +0 -44
  568. package/fesm2022/ngwr-cdk-types.mjs.map +0 -1
  569. package/fesm2022/ngwr-cdk-utils.mjs +0 -30
  570. package/fesm2022/ngwr-cdk-utils.mjs.map +0 -1
  571. package/fesm2022/ngwr-cdk.mjs +0 -46
  572. package/fesm2022/ngwr-cdk.mjs.map +0 -1
  573. package/fesm2022/ngwr-tag.mjs +0 -87
  574. package/fesm2022/ngwr-tag.mjs.map +0 -1
  575. package/form/index.d.ts +0 -28
  576. package/icon/index.d.ts +0 -830
  577. package/icon/styles/vars.scss +0 -3
  578. package/input/index.d.ts +0 -43
  579. package/input/styles/vars.scss +0 -17
  580. package/pagination/index.d.ts +0 -34
  581. package/pagination/styles/vars.scss +0 -14
  582. package/pipes/index.d.ts +0 -17
  583. package/progress/index.d.ts +0 -13
  584. package/progress/styles/theming.scss +0 -8
  585. package/progress/styles/vars.scss +0 -6
  586. package/qr/index.d.ts +0 -127
  587. package/select/index.d.ts +0 -121
  588. package/select/styles/vars.scss +0 -32
  589. package/skeleton/index.d.ts +0 -13
  590. package/spinner/index.d.ts +0 -23
  591. package/styles/animations.scss +0 -92
  592. package/styles/cdk.scss +0 -5
  593. package/styles/colors.scss +0 -72
  594. package/styles/grid.scss +0 -99
  595. package/styles/maps.scss +0 -31
  596. package/styles/reset.scss +0 -112
  597. package/styles/variables.scss +0 -72
  598. package/table/index.d.ts +0 -101
  599. package/table/styles/table-filter.scss +0 -202
  600. package/table/styles/table-sort.scss +0 -47
  601. package/table/styles/table.scss +0 -232
  602. package/table/styles/vars.scss +0 -21
  603. package/tag/index.d.ts +0 -24
  604. package/tag/styles/_index.scss +0 -32
  605. package/tag/styles/theming.scss +0 -21
  606. package/tag/styles/vars.scss +0 -12
  607. package/textarea/index.d.ts +0 -47
  608. package/textarea/styles/vars.scss +0 -17
  609. /package/{index.d.ts → types/ngwr.d.ts} +0 -0
@@ -0,0 +1,93 @@
1
+ // Baseline `:focus-visible` ring applied to interactive controls across the
2
+ // library. Component-specific focus styles still win via higher specificity;
3
+ // this is a safety net so every keyboard-reachable target has a visible
4
+ // focus indicator out of the box.
5
+
6
+ @mixin focus-ring {
7
+ outline: none;
8
+ box-shadow: 0 0 0 3px rgba(var(--wr-color-primary-rgb), 0.25);
9
+ }
10
+
11
+ // Tabs
12
+ .wr-tabs__tab:focus-visible {
13
+ @include focus-ring;
14
+ }
15
+
16
+ // Sidebar
17
+ .wr-sidebar__entry:focus-visible,
18
+ .wr-sidebar__item:focus-visible,
19
+ .wr-sidebar__group-toggle:focus-visible {
20
+ @include focus-ring;
21
+ }
22
+
23
+ // Anchor
24
+ .wr-anchor__link:focus-visible {
25
+ @include focus-ring;
26
+ }
27
+
28
+ // Collapse / accordion header
29
+ .wr-collapse__header:focus-visible {
30
+ @include focus-ring;
31
+ }
32
+
33
+ // Command palette options
34
+ .wr-command-palette__option:focus-visible,
35
+ .wr-command-palette__panel input:focus-visible {
36
+ @include focus-ring;
37
+ }
38
+
39
+ // Mention option rows
40
+ .wr-mention__option:focus-visible {
41
+ @include focus-ring;
42
+ }
43
+
44
+ // Segmented buttons
45
+ .wr-segmented__option:focus-visible {
46
+ @include focus-ring;
47
+ }
48
+
49
+ // Back-to-top
50
+ .wr-back-top:focus-visible {
51
+ @include focus-ring;
52
+ }
53
+
54
+ // Carousel nav + dots
55
+ .wr-carousel__nav:focus-visible,
56
+ .wr-carousel__dot:focus-visible {
57
+ @include focus-ring;
58
+ }
59
+
60
+ // Speed dial
61
+ .wr-speed-dial__trigger:focus-visible,
62
+ .wr-speed-dial__action:focus-visible {
63
+ @include focus-ring;
64
+ }
65
+
66
+ // Stepper step headers
67
+ .wr-stepper__step:focus-visible {
68
+ @include focus-ring;
69
+ }
70
+
71
+ // Toast close/copy
72
+ .wr-toast__close:focus-visible,
73
+ .wr-toast__copy:focus-visible {
74
+ @include focus-ring;
75
+ }
76
+
77
+ // Window chrome
78
+ .wr-window__chrome-action:focus-visible {
79
+ @include focus-ring;
80
+ }
81
+
82
+ // Date / time picker chrome buttons
83
+ .wr-date-picker__trigger:focus-visible,
84
+ .wr-time-picker__step:focus-visible {
85
+ @include focus-ring;
86
+ }
87
+
88
+ // Pagination ellipsis is non-interactive; page buttons inherit wr-btn focus.
89
+
90
+ // Dropdown menu items
91
+ .wr-dropdown-item:focus-visible {
92
+ @include focus-ring;
93
+ }
@@ -0,0 +1,5 @@
1
+ @forward 'colors';
2
+ @forward 'variables';
3
+ @forward 'dark';
4
+ @forward 'focus';
5
+ @forward 'mixins';
@@ -0,0 +1,57 @@
1
+ // Shared SCSS mixins.
2
+ //
3
+ // Available via:
4
+ // @use 'ngwr/theme/mixins' as wr;
5
+ // .thing { @include wr.smooth-br(0.625rem); }
6
+
7
+ /// Smooth border-radius — opts into the native `corner-shape: squircle`
8
+ /// CSS spec (Chrome 145+) when the browser supports it, otherwise
9
+ /// falls back to a plain `border-radius`.
10
+ ///
11
+ /// **Experimental.** `corner-shape` is a draft CSS specification; the
12
+ /// property name, value space, and metrics may change before it
13
+ /// stabilises. Components are free to swap this mixin out for plain
14
+ /// `border-radius` at any time. For a deterministic squircle that
15
+ /// works across browsers, prefer the `[wrSquircle]` directive — it
16
+ /// uses a `clip-path` superellipse instead of relying on `corner-shape`.
17
+ ///
18
+ /// `corner-shape: squircle` renders a continuous-curvature corner (iOS /
19
+ /// macOS style) instead of a circular arc. The squircle reads as
20
+ /// "less rounded" at the same numeric radius, so we bump the radius by
21
+ /// 1.85× under `@supports` to keep the perceived roundness consistent
22
+ /// across browsers — that ratio is the rough empirical match.
23
+ ///
24
+ /// Use this anywhere a soft rounded look matters (buttons, cards,
25
+ /// inputs, dialogs, dropdowns, tiles). Skip it for full circles
26
+ /// (`50%`) and pills (`999px` / `--wr-border-radius-pill`) — those are
27
+ /// already maximally curved, no smoothing to do.
28
+ ///
29
+ /// **Gotcha — shape="pill" variants.** If a component applies
30
+ /// `smooth-br($radius-var)` and a child rule overrides that var to a
31
+ /// pill value, the squircle math doesn't degenerate to a pill shape —
32
+ /// it draws a different (slightly inset) curve at huge radii. Reset
33
+ /// the corner type explicitly on the pill rule:
34
+ ///
35
+ /// ```scss
36
+ /// .wr-btn {
37
+ /// --wr-btn-radius: var(--wr-border-radius-base);
38
+ /// @include smooth-br(var(--wr-btn-radius));
39
+ /// }
40
+ /// .wr-btn--pill {
41
+ /// --wr-btn-radius: var(--wr-border-radius-pill);
42
+ /// corner-shape: round; // browsers without the prop ignore it
43
+ /// }
44
+ /// ```
45
+ ///
46
+ /// @example scss
47
+ /// .thing {
48
+ /// @include smooth-br(0.625rem);
49
+ /// }
50
+ @mixin smooth-br($br) {
51
+ border-radius: $br;
52
+
53
+ @supports (corner-shape: squircle) {
54
+ corner-shape: squircle;
55
+ border-radius: calc(#{$br} * 1.85);
56
+ }
57
+ }
@@ -0,0 +1,118 @@
1
+ // Design tokens exposed as CSS custom properties.
2
+ //
3
+ // These are the canonical knobs every component reads from. Consumers
4
+ // override them on `:root` (or any subtree) without touching SCSS.
5
+
6
+ :root {
7
+ // Border radius
8
+ --wr-border-radius-sm: 0.375rem;
9
+ --wr-border-radius-base: 0.625rem;
10
+ --wr-border-radius-lg: 1rem;
11
+ --wr-border-radius-pill: 50rem;
12
+
13
+ // Easing curves
14
+ --wr-ease-linear: linear;
15
+ --wr-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
16
+ --wr-ease-in: cubic-bezier(0.7, 0, 0.84, 0);
17
+ --wr-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
18
+ --wr-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
19
+
20
+ // Durations
21
+ --wr-duration-fast: 0.1s;
22
+ --wr-duration-base: 0.15s;
23
+ --wr-duration-slow: 0.3s;
24
+ --wr-duration-slower: 0.5s;
25
+
26
+ // Transition shorthands
27
+ --wr-transition-short: var(--wr-duration-fast) var(--wr-ease-out);
28
+ --wr-transition-base: var(--wr-duration-base) var(--wr-ease-linear);
29
+ --wr-transition-long: var(--wr-duration-slow) var(--wr-ease-out);
30
+
31
+ // Elevation
32
+ //
33
+ // Shared shadow recipes. Components reference these (directly, or as
34
+ // the default of their own `--wr-<component>-shadow` knob) so depth is
35
+ // consistent across the catalog and dark mode can strengthen every
36
+ // shadow in one place. Functional hairlines (switch knob, splitter
37
+ // grip, color-picker rings) stay local — they aid contrast, not depth.
38
+ --wr-shadow-xs: 0 1px 2px rgb(0 0 0 / 5%);
39
+ --wr-shadow-sm: 0 2px 8px rgb(0 0 0 / 15%);
40
+ --wr-shadow-overlay: 0 8px 24px rgb(0 0 0 / 12%), 0 2px 4px rgb(0 0 0 / 6%);
41
+ --wr-shadow-float: 0 8px 24px rgb(0 0 0 / 18%);
42
+ --wr-shadow-modal: 0 20px 48px rgb(0 0 0 / 25%);
43
+
44
+ // Z-index scale
45
+ //
46
+ // Overlay panels inside the CDK container inherit its stacking; these
47
+ // are for the lib's own fixed-position chrome.
48
+ --wr-z-overlay: 1000;
49
+ --wr-z-window: 1100;
50
+ --wr-z-top: 9999;
51
+
52
+ // Shared open-animation timing for every overlay panel
53
+ // (dropdown / context-menu / popover / popconfirm / tooltip). Components
54
+ // reference these so global timing tweaks land everywhere in one place.
55
+ --wr-overlay-duration: var(--wr-duration-base);
56
+ --wr-overlay-ease: var(--wr-ease-out);
57
+
58
+ // Typography
59
+ //
60
+ // The library only declares system-font fallback chains. Apps that ship
61
+ // their own typeface should override these on `:root` after loading the
62
+ // theme — e.g. `:root { --wr-font-family-base: 'Inter', ...; }`.
63
+ --wr-font-family-base:
64
+ system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
65
+ --wr-font-family-mono:
66
+ ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
67
+
68
+ // Font size scale (1rem = 16px)
69
+ --wr-text-xs: 0.75rem;
70
+ --wr-text-sm: 0.875rem;
71
+ --wr-text-base: 1rem;
72
+ --wr-text-lg: 1.125rem;
73
+ --wr-text-xl: 1.25rem;
74
+ --wr-text-2xl: 1.5rem;
75
+ --wr-text-3xl: 1.875rem;
76
+ --wr-text-4xl: 2.25rem;
77
+ --wr-text-5xl: 3rem;
78
+
79
+ // Font weight scale
80
+ --wr-font-weight-thin: 200;
81
+ --wr-font-weight-light: 300;
82
+ --wr-font-weight-regular: 400;
83
+ --wr-font-weight-medium: 500;
84
+ --wr-font-weight-semibold: 600;
85
+ --wr-font-weight-bold: 700;
86
+ --wr-font-weight-extrabold: 800;
87
+
88
+ // Line height (leading)
89
+ --wr-leading-none: 1;
90
+ --wr-leading-tight: 1.25;
91
+ --wr-leading-snug: 1.375;
92
+ --wr-leading-normal: 1.5;
93
+ --wr-leading-relaxed: 1.625;
94
+ --wr-leading-loose: 2;
95
+
96
+ // Letter spacing (tracking)
97
+ --wr-tracking-tighter: -0.05em;
98
+ --wr-tracking-tight: -0.025em;
99
+ --wr-tracking-normal: 0;
100
+ --wr-tracking-wide: 0.025em;
101
+ --wr-tracking-wider: 0.05em;
102
+ --wr-tracking-widest: 0.1em;
103
+ }
104
+
105
+ // Shared open animation for overlay panels. Every overlay component
106
+ // references this keyframe + the `--wr-overlay-*` tokens above so the
107
+ // open feel is consistent across dropdown / context-menu / popover /
108
+ // popconfirm / tooltip.
109
+ @keyframes wr-overlay-in {
110
+ from {
111
+ opacity: 0;
112
+ transform: scale(0.96);
113
+ }
114
+ to {
115
+ opacity: 1;
116
+ transform: scale(1);
117
+ }
118
+ }
@@ -0,0 +1,40 @@
1
+ // 3D mouse-tilt card. The transform is set imperatively by `[wrTilt]`,
2
+ // so this stylesheet just covers the card chrome + the optional glare
3
+ // overlay that the directive appends when `[glare]="true"`.
4
+
5
+ .wr-tilt-card {
6
+ display: block;
7
+ position: relative;
8
+ padding: 1.5rem;
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);
13
+ box-shadow: 0 1px 2px rgba(var(--wr-color-backdrop-rgb), 0.06);
14
+ // Card itself doesn't need overflow:hidden by default — the directive
15
+ // toggles overflow when glare is enabled. Authors can opt in.
16
+ transform-style: preserve-3d;
17
+ transition: transform 0.15s ease-out;
18
+ }
19
+
20
+ // Glare overlay (appended by `[wrTilt]` when `[glare]="true"`)
21
+ // Lives in this package so the visual lives with the card chrome.
22
+ .wr-tilt-glare {
23
+ position: absolute;
24
+ inset: 0;
25
+ pointer-events: none;
26
+ // Light surfaces: glare reads as a soft moving shade. Dark theme flips
27
+ // to the classic white sheen below.
28
+ background: radial-gradient(
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)),
31
+ transparent 60%
32
+ );
33
+ mix-blend-mode: multiply;
34
+ }
35
+
36
+ [data-theme='dark'] .wr-tilt-glare {
37
+ --wr-tilt-glare-color: rgb(255 255 255 / 25%);
38
+
39
+ mix-blend-mode: overlay;
40
+ }
@@ -0,0 +1 @@
1
+ @forward './styles';
@@ -0,0 +1,127 @@
1
+ @use '../../theme/styles' as theme;
2
+
3
+ .wr-timeline {
4
+ display: flex;
5
+ // Claim the full row even when nested in a flex-row demo wrapper.
6
+ flex: 1 1 100%;
7
+ width: 100%;
8
+ min-width: 0;
9
+ font-family: var(--wr-font-family-base);
10
+ color: var(--wr-color-dark);
11
+
12
+ &--vertical {
13
+ flex-direction: column;
14
+ gap: 1.25rem;
15
+ }
16
+
17
+ &--horizontal {
18
+ flex-direction: row;
19
+ gap: 2rem;
20
+ overflow-x: auto;
21
+ }
22
+ }
23
+
24
+ .wr-timeline-item {
25
+ position: relative;
26
+ display: flex;
27
+ align-items: flex-start;
28
+ gap: 0.75rem;
29
+ padding-bottom: 0.5rem;
30
+
31
+ &__dot {
32
+ flex: 0 0 auto;
33
+ width: 0.75rem;
34
+ height: 0.75rem;
35
+ // Centers the 12px dot on the 16px first text line (time or title).
36
+ margin-top: 0.125rem;
37
+ border-radius: 50%;
38
+ background: var(--wr-color-primary);
39
+ box-shadow: 0 0 0 2px var(--wr-color-white);
40
+ z-index: 1;
41
+ }
42
+
43
+ &--success &__dot {
44
+ background: var(--wr-color-success);
45
+ }
46
+
47
+ &--warning &__dot {
48
+ background: var(--wr-color-warning);
49
+ }
50
+
51
+ &--danger &__dot {
52
+ background: var(--wr-color-danger);
53
+ }
54
+
55
+ &--medium &__dot {
56
+ background: var(--wr-color-medium);
57
+ }
58
+
59
+ &__body {
60
+ flex: 1 1 auto;
61
+ min-width: 0;
62
+ }
63
+
64
+ &__time {
65
+ font-size: var(--wr-text-xs);
66
+ line-height: 1rem;
67
+ color: var(--wr-color-medium);
68
+ font-weight: var(--wr-font-weight-medium);
69
+ margin-bottom: 0.125rem;
70
+ }
71
+
72
+ &__title {
73
+ font-size: var(--wr-text-sm);
74
+ font-weight: var(--wr-font-weight-semibold);
75
+ line-height: var(--wr-leading-snug);
76
+ }
77
+
78
+ &__content {
79
+ margin-top: 0.25rem;
80
+ font-size: var(--wr-text-sm);
81
+ line-height: var(--wr-leading-relaxed);
82
+ color: var(--wr-color-dark);
83
+ }
84
+
85
+ // Vertical: connector line between dots.
86
+ .wr-timeline--vertical & {
87
+ &::before {
88
+ content: '';
89
+ position: absolute;
90
+ left: 0.34375rem;
91
+ top: 1rem;
92
+ bottom: -1.25rem;
93
+ width: 1.5px;
94
+ background: var(--wr-color-light);
95
+ }
96
+
97
+ &:last-child::before {
98
+ display: none;
99
+ }
100
+ }
101
+
102
+ // Horizontal: row layout with line through dots.
103
+ .wr-timeline--horizontal & {
104
+ flex-direction: column;
105
+ align-items: center;
106
+ text-align: center;
107
+ min-width: 8rem;
108
+
109
+ &::before {
110
+ content: '';
111
+ position: absolute;
112
+ top: 0.625rem;
113
+ left: 50%;
114
+ right: -2rem;
115
+ height: 1.5px;
116
+ background: var(--wr-color-light);
117
+ }
118
+
119
+ &:last-child::before {
120
+ display: none;
121
+ }
122
+
123
+ .wr-timeline-item__body {
124
+ margin-top: 0.5rem;
125
+ }
126
+ }
127
+ }
@@ -0,0 +1,263 @@
1
+ @use '../../theme/styles' as theme;
2
+
3
+ $toast-colors: (
4
+ info: primary,
5
+ success: success,
6
+ warning: warning,
7
+ danger: danger,
8
+ );
9
+
10
+ // Toast pane stays zero-sized so the CDK global wrapper around it doesn't
11
+ // swallow clicks on the rest of the page. The actual toast stack is rendered
12
+ // by `.wr-toast-host` below, which is `position: fixed` and therefore lays
13
+ // itself out against the viewport, not this pane.
14
+ .wr-toast-overlay {
15
+ pointer-events: none;
16
+ }
17
+
18
+ .wr-toast-host {
19
+ position: fixed;
20
+ display: flex;
21
+ flex-direction: column;
22
+ gap: 0.5rem;
23
+ padding: 1rem;
24
+ pointer-events: none;
25
+ max-width: 22rem;
26
+ width: 100%;
27
+
28
+ > * {
29
+ pointer-events: auto;
30
+ }
31
+
32
+ // Sonner-style stack
33
+ // Collapsed: every toast except the front one collapses behind it with a
34
+ // scale-down + tiny offset. Hovering the host expands them into the
35
+ // normal vertical list.
36
+ &--stack {
37
+ // Anchor for absolute children when collapsed.
38
+ position: fixed;
39
+ }
40
+
41
+ &--stack:not(.wr-toast-host--expanded) {
42
+ .wr-toast {
43
+ --wr-toast-i: var(--wr-toast-stack-index, 0);
44
+ position: absolute;
45
+ left: 1rem;
46
+ right: 1rem;
47
+ width: auto;
48
+ max-width: calc(100% - 2rem);
49
+ transition:
50
+ transform 240ms cubic-bezier(0.4, 0, 0.2, 1),
51
+ opacity 240ms ease,
52
+ box-shadow 240ms ease;
53
+ transform-origin: center top;
54
+ transform: translateY(calc(var(--wr-toast-i) * 8px)) scale(calc(1 - var(--wr-toast-i) * 0.05));
55
+ opacity: calc(1 - var(--wr-toast-i) * 0.3);
56
+ z-index: calc(100 - var(--wr-toast-i));
57
+
58
+ // Hide toasts more than 3 deep.
59
+ &:where([style*='--wr-toast-stack-index: 3']),
60
+ &:where([style*='--wr-toast-stack-index: 4']),
61
+ &:where([style*='--wr-toast-stack-index: 5']) {
62
+ opacity: 0;
63
+ pointer-events: none;
64
+ }
65
+ }
66
+ }
67
+
68
+ // Bottom-anchored hosts: stack grows UPWARD (newest at the bottom).
69
+ &--stack:not(.wr-toast-host--expanded).wr-toast-host--bottom,
70
+ &--stack:not(.wr-toast-host--expanded).wr-toast-host--bottom-start,
71
+ &--stack:not(.wr-toast-host--expanded).wr-toast-host--bottom-end {
72
+ .wr-toast {
73
+ transform-origin: center bottom;
74
+ transform: translateY(calc(var(--wr-toast-i) * -8px)) scale(calc(1 - var(--wr-toast-i) * 0.05));
75
+ }
76
+ }
77
+
78
+ &--stack.wr-toast-host--expanded .wr-toast {
79
+ transition:
80
+ transform 240ms cubic-bezier(0.4, 0, 0.2, 1),
81
+ opacity 240ms ease;
82
+ }
83
+
84
+ &--top {
85
+ top: 0;
86
+ left: 50%;
87
+ transform: translateX(-50%);
88
+ }
89
+ &--top-start {
90
+ top: 0;
91
+ left: 0;
92
+ }
93
+ &--top-end {
94
+ top: 0;
95
+ right: 0;
96
+ }
97
+ &--bottom {
98
+ bottom: 0;
99
+ left: 50%;
100
+ transform: translateX(-50%);
101
+ flex-direction: column-reverse;
102
+ }
103
+ &--bottom-start {
104
+ bottom: 0;
105
+ left: 0;
106
+ flex-direction: column-reverse;
107
+ }
108
+ &--bottom-end {
109
+ bottom: 0;
110
+ right: 0;
111
+ flex-direction: column-reverse;
112
+ }
113
+ }
114
+
115
+ .wr-toast {
116
+ --wr-toast-bg: var(--wr-color-white);
117
+ --wr-toast-border: var(--wr-color-light);
118
+ --wr-toast-accent: var(--wr-color-primary);
119
+ --wr-toast-title: var(--wr-color-dark);
120
+ --wr-toast-message: var(--wr-color-medium);
121
+
122
+ position: relative;
123
+ display: flex;
124
+ align-items: flex-start;
125
+ gap: 0.75rem;
126
+ padding: 0.75rem 0.875rem;
127
+ background: var(--wr-toast-bg);
128
+ border: 1px solid var(--wr-toast-border);
129
+ border-left: 3px solid var(--wr-toast-accent);
130
+ @include theme.smooth-br(var(--wr-border-radius-base));
131
+ box-shadow: var(--wr-shadow-overlay);
132
+ font-family: var(--wr-font-family-base);
133
+ animation: wr-toast-in 0.18s ease-out;
134
+ overflow: hidden;
135
+
136
+ &__body {
137
+ flex: 1 1 auto;
138
+ min-width: 0;
139
+ }
140
+
141
+ &__title {
142
+ margin: 0 0 0.125rem;
143
+ color: var(--wr-toast-title);
144
+ font-size: 0.875rem;
145
+ font-weight: 600;
146
+ line-height: 1.25rem;
147
+ }
148
+
149
+ &__message {
150
+ margin: 0;
151
+ color: var(--wr-toast-message);
152
+ font-size: 0.8125rem;
153
+ line-height: 1.125rem;
154
+ overflow-wrap: break-word;
155
+ }
156
+
157
+ &__actions {
158
+ flex: 0 0 auto;
159
+ display: inline-flex;
160
+ align-items: center;
161
+ gap: 0.125rem;
162
+ }
163
+
164
+ &__action {
165
+ appearance: none;
166
+ background: transparent;
167
+ border: 0;
168
+ padding: 0.125rem;
169
+ color: var(--wr-color-medium);
170
+ cursor: pointer;
171
+ border-radius: var(--wr-border-radius-sm);
172
+ transition:
173
+ color var(--wr-transition-base),
174
+ background var(--wr-transition-base);
175
+
176
+ --wr-icon-size: 0.875rem;
177
+
178
+ &:hover {
179
+ color: var(--wr-color-dark);
180
+ background: rgba(var(--wr-color-light-rgb), 0.5);
181
+ }
182
+ }
183
+
184
+ &__progress {
185
+ position: absolute;
186
+ bottom: 0;
187
+ left: 0;
188
+ height: 2px;
189
+ width: 100%;
190
+ transform-origin: left;
191
+ background: var(--wr-toast-accent);
192
+ animation: wr-toast-progress linear forwards;
193
+ animation-duration: var(--wr-toast-duration, 4000ms);
194
+ }
195
+
196
+ &:hover &__progress {
197
+ animation-play-state: paused;
198
+ }
199
+
200
+ @each $variant, $color in $toast-colors {
201
+ &--#{$variant} {
202
+ --wr-toast-accent: var(--wr-color-#{$color});
203
+ }
204
+ }
205
+ }
206
+
207
+ @keyframes wr-toast-in {
208
+ from {
209
+ opacity: 0;
210
+ transform: translateY(-0.5rem);
211
+ }
212
+ to {
213
+ opacity: 1;
214
+ transform: translateY(0);
215
+ }
216
+ }
217
+
218
+ @keyframes wr-toast-progress {
219
+ from {
220
+ transform: scaleX(1);
221
+ }
222
+ to {
223
+ transform: scaleX(0);
224
+ }
225
+ }
226
+
227
+ .wr-toast-host__close-all {
228
+ // Full bleed to match toast width so the cursor never leaves a hit
229
+ // region between toasts and button (was a source of expand/collapse
230
+ // flicker in stack mode).
231
+ align-self: stretch;
232
+ pointer-events: auto;
233
+ appearance: none;
234
+ background: var(--wr-color-white);
235
+ border: 1px solid var(--wr-color-light);
236
+ @include theme.smooth-br(var(--wr-border-radius-base));
237
+ padding: 0.375rem 0.75rem;
238
+ color: var(--wr-color-medium);
239
+ font-family: var(--wr-font-family-base);
240
+ font-size: 0.75rem;
241
+ font-weight: 500;
242
+ line-height: 1rem;
243
+ text-align: center;
244
+ cursor: pointer;
245
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
246
+ transition:
247
+ color var(--wr-transition-base),
248
+ background var(--wr-transition-base),
249
+ border-color var(--wr-transition-base);
250
+
251
+ &:hover {
252
+ color: var(--wr-color-dark);
253
+ border-color: var(--wr-color-medium);
254
+ }
255
+ }
256
+
257
+ // Bottom positions reverse so the close-all sits *above* the newest toast.
258
+ .wr-toast-host--bottom .wr-toast-host__close-all,
259
+ .wr-toast-host--bottom-start .wr-toast-host__close-all,
260
+ .wr-toast-host--bottom-end .wr-toast-host__close-all {
261
+ order: 99;
262
+ align-self: stretch;
263
+ }