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
@@ -34,9 +34,9 @@
34
34
  }
35
35
 
36
36
  &__total {
37
- color: var(--wr-color-medium);
37
+ color: var(--wr-color-on-surface-muted);
38
38
  font-family: var(--wr-font-family-base);
39
- font-size: 0.8125rem;
39
+ font-size: var(--wr-text-sm);
40
40
  }
41
41
 
42
42
  &__nav {
@@ -61,7 +61,7 @@
61
61
  display: inline-flex;
62
62
  min-width: var(--wr-pagination-cell, 2rem);
63
63
  justify-content: center;
64
- color: var(--wr-color-medium);
64
+ color: var(--wr-color-on-surface-muted);
65
65
  user-select: none;
66
66
  }
67
67
 
@@ -71,9 +71,9 @@
71
71
  display: none;
72
72
  align-items: center;
73
73
  padding: 0 0.375rem;
74
- color: var(--wr-color-dark);
74
+ color: var(--wr-color-on-surface);
75
75
  font-family: var(--wr-font-family-base);
76
- font-size: 0.8125rem;
76
+ font-size: var(--wr-text-sm);
77
77
  font-variant-numeric: tabular-nums;
78
78
  white-space: nowrap;
79
79
  }
@@ -82,20 +82,7 @@
82
82
  min-width: 0;
83
83
  }
84
84
 
85
- // Size variants. `xs` and `xl` extend the button scale by overriding
86
- // its CSS custom properties on the strip — the button itself still
87
- // gets the closest built-in size (sm or lg) via [size] so its other
88
- // tokens stay consistent.
89
- &--xs {
90
- --wr-pagination-cell: 1.5rem;
91
-
92
- .wr-btn {
93
- --wr-btn-padding-x: 0.375rem;
94
- --wr-btn-font-size: 0.6875rem;
95
- --wr-btn-line-height: 0.875rem;
96
- --wr-btn-icon-size: 0.75rem;
97
- }
98
- }
85
+ // Size variants — set the cell size; each button gets the matching [size].
99
86
  &--sm {
100
87
  --wr-pagination-cell: 1.75rem;
101
88
  }
@@ -105,16 +92,6 @@
105
92
  &--lg {
106
93
  --wr-pagination-cell: 2.5rem;
107
94
  }
108
- &--xl {
109
- --wr-pagination-cell: 3rem;
110
-
111
- .wr-btn {
112
- --wr-btn-padding-x: 1rem;
113
- --wr-btn-font-size: 1.125rem;
114
- --wr-btn-line-height: 1.75rem;
115
- --wr-btn-icon-size: 1.25rem;
116
- }
117
- }
118
95
 
119
96
  // Shape variants. `rounded` is the default the buttons already render.
120
97
  // `square` flattens every cell for a tighter numeric grid — useful
@@ -6,11 +6,11 @@
6
6
  min-width: 14rem;
7
7
  max-width: 22rem;
8
8
  padding: 0.875rem 1rem;
9
- background: var(--wr-color-white);
10
- border: 1px solid var(--wr-color-light);
9
+ background: var(--wr-color-surface);
10
+ border: 1px solid var(--wr-color-outline);
11
11
  border-radius: var(--wr-border-radius-base);
12
12
  box-shadow: var(--wr-shadow-overlay);
13
- color: var(--wr-color-dark);
13
+ color: var(--wr-color-on-surface);
14
14
  font-family: var(--wr-font-family-base);
15
15
  animation: wr-overlay-in var(--wr-overlay-duration) var(--wr-overlay-ease);
16
16
  transform-origin: top left;
@@ -20,7 +20,7 @@
20
20
  .wr-popconfirm {
21
21
  &__message {
22
22
  margin: 0 0 0.625rem;
23
- font-size: 0.875rem;
23
+ font-size: var(--wr-text-sm);
24
24
  line-height: 1.25rem;
25
25
  }
26
26
 
@@ -6,12 +6,12 @@
6
6
  display: block;
7
7
  min-width: 8rem;
8
8
  max-width: 22rem;
9
- background: var(--wr-color-white);
10
- border: 1px solid var(--wr-color-light);
9
+ background: var(--wr-color-surface);
10
+ border: 1px solid var(--wr-color-outline);
11
11
  @include theme.smooth-br(var(--wr-border-radius-base));
12
12
  box-shadow: var(--wr-shadow-overlay);
13
13
  font-family: var(--wr-font-family-base);
14
- color: var(--wr-color-dark);
14
+ color: var(--wr-color-on-surface);
15
15
  animation: wr-overlay-in var(--wr-overlay-duration) var(--wr-overlay-ease);
16
16
  transform-origin: top left;
17
17
  }
@@ -32,13 +32,13 @@
32
32
  display: inline-block;
33
33
  max-width: 18rem;
34
34
  padding: 0.3125rem 0.5rem;
35
- background: var(--wr-color-dark);
35
+ background: var(--wr-color-on-surface);
36
36
  color: var(--wr-color-dark-contrast);
37
37
  border-radius: var(--wr-border-radius-sm);
38
38
  font-family: var(--wr-font-family-base);
39
- font-size: 0.75rem;
39
+ font-size: var(--wr-text-xs);
40
40
  line-height: 1rem;
41
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
41
+ box-shadow: var(--wr-shadow-overlay);
42
42
  animation: wr-overlay-in var(--wr-overlay-duration) var(--wr-overlay-ease);
43
43
  transform-origin: top left;
44
44
 
@@ -48,7 +48,7 @@
48
48
  position: absolute;
49
49
  width: 6px;
50
50
  height: 6px;
51
- background: var(--wr-color-dark);
51
+ background: var(--wr-color-on-surface);
52
52
  transform: rotate(45deg);
53
53
  }
54
54
  }
@@ -8,7 +8,7 @@
8
8
  // Defaults — color modifiers override the bar color.
9
9
  --wr-progress-height: 0.5rem;
10
10
  --wr-progress-radius: var(--wr-border-radius-pill);
11
- --wr-progress-track: rgba(var(--wr-color-light-rgb), 0.35);
11
+ --wr-progress-track: rgba(var(--wr-color-outline-rgb), 0.35);
12
12
  --wr-progress-bar: var(--wr-color-primary);
13
13
 
14
14
  // `flex: 1 1 100%` here would claim 100% basis on the flex MAIN axis —
@@ -0,0 +1,38 @@
1
+ .wr-pull-to-refresh {
2
+ display: block;
3
+ position: relative;
4
+ overflow-y: auto;
5
+ // Keep the browser's own pull-to-refresh / scroll-chaining out of the way.
6
+ overscroll-behavior-y: contain;
7
+ -webkit-overflow-scrolling: touch;
8
+ font-family: var(--wr-font-family-base);
9
+
10
+ // Revealed above the content as it is pulled down (absolute, so it never
11
+ // adds to the scroll height). Height tracks the live pull distance.
12
+ &__indicator {
13
+ position: absolute;
14
+ inset: 0 0 auto;
15
+ display: flex;
16
+ align-items: center;
17
+ justify-content: center;
18
+ overflow: hidden;
19
+ pointer-events: none;
20
+ color: var(--wr-color-on-surface-muted);
21
+ }
22
+
23
+ &__content {
24
+ min-height: 100%;
25
+ }
26
+
27
+ // Only while settling (not during the drag) so the indicator follows the
28
+ // finger 1:1, then eases back on release / completion.
29
+ &--animating {
30
+ .wr-pull-to-refresh__content {
31
+ transition: transform var(--wr-duration-base) var(--wr-ease-out);
32
+ }
33
+
34
+ .wr-pull-to-refresh__indicator {
35
+ transition: height var(--wr-duration-base) var(--wr-ease-out);
36
+ }
37
+ }
38
+ }
@@ -1,18 +1,20 @@
1
1
  @use '../../theme/styles' as theme;
2
2
 
3
3
  .wr-radio {
4
- --wr-radio-size: 1.125rem;
5
- --wr-radio-bg: var(--wr-color-white);
6
- --wr-radio-border: var(--wr-color-light);
4
+ --wr-radio-size: 1.125rem; // md (18px)
5
+ --wr-radio-font-size: var(--wr-text-sm);
6
+ --wr-radio-line-height: var(--wr-control-line-height-md);
7
+ --wr-radio-bg: var(--wr-color-surface);
8
+ --wr-radio-border: var(--wr-color-outline);
7
9
  --wr-radio-dot: transparent;
8
- --wr-radio-color: var(--wr-color-dark);
10
+ --wr-radio-color: var(--wr-color-on-surface);
9
11
 
10
12
  display: inline-flex;
11
13
  vertical-align: middle;
12
14
  color: var(--wr-radio-color);
13
15
  font-family: var(--wr-font-family-base);
14
- font-size: 0.875rem;
15
- line-height: 1.25rem;
16
+ font-size: var(--wr-radio-font-size);
17
+ line-height: var(--wr-radio-line-height);
16
18
 
17
19
  &__label {
18
20
  display: inline-flex;
@@ -52,8 +54,8 @@
52
54
 
53
55
  &::after {
54
56
  content: '';
55
- width: 0.5rem;
56
- height: 0.5rem;
57
+ width: calc(var(--wr-radio-size) - 0.625rem);
58
+ height: calc(var(--wr-radio-size) - 0.625rem);
57
59
  border-radius: 50%;
58
60
  background: var(--wr-radio-dot);
59
61
  transform: scale(0);
@@ -75,6 +77,19 @@
75
77
  opacity var(--wr-transition-base);
76
78
  }
77
79
 
80
+ // Sizes — dot, label font + line-height scale together.
81
+ &--sm {
82
+ --wr-radio-size: 1rem; // 16px
83
+ --wr-radio-font-size: var(--wr-text-xs);
84
+ --wr-radio-line-height: var(--wr-control-line-height-sm);
85
+ }
86
+
87
+ &--lg {
88
+ --wr-radio-size: 1.25rem; // 20px
89
+ --wr-radio-font-size: var(--wr-text-base);
90
+ --wr-radio-line-height: var(--wr-control-line-height-lg);
91
+ }
92
+
78
93
  &--has-icon &__dot::after {
79
94
  display: none;
80
95
  }
@@ -98,7 +113,7 @@
98
113
  }
99
114
 
100
115
  &--disabled {
101
- --wr-radio-color: var(--wr-color-medium);
116
+ --wr-radio-color: var(--wr-color-on-surface-muted);
102
117
  pointer-events: none;
103
118
  opacity: 0.6;
104
119
  }
@@ -3,7 +3,7 @@
3
3
  .wr-rating {
4
4
  --wr-rating-size: 1.25rem;
5
5
  --wr-rating-gap: 0.125rem;
6
- --wr-rating-empty: var(--wr-color-light);
6
+ --wr-rating-empty: var(--wr-color-outline);
7
7
  --wr-rating-filled: var(--wr-color-warning, #ffba00);
8
8
 
9
9
  display: inline-flex;
@@ -16,7 +16,7 @@
16
16
  outline: 0;
17
17
 
18
18
  &:focus-visible {
19
- box-shadow: 0 0 0 3px rgba(var(--wr-color-primary-rgb), 0.2);
19
+ @include theme.focus-ring;
20
20
  border-radius: var(--wr-border-radius-sm);
21
21
  }
22
22
  }
@@ -49,6 +49,17 @@
49
49
  transition: clip-path var(--wr-transition-base);
50
50
  }
51
51
 
52
+ // Sizes — scale the icon glyph + the gap between slots.
53
+ &--sm {
54
+ --wr-rating-size: 1rem; // 16px
55
+ --wr-rating-gap: 0.0625rem;
56
+ }
57
+
58
+ &--lg {
59
+ --wr-rating-size: 1.5rem; // 24px
60
+ --wr-rating-gap: 0.1875rem;
61
+ }
62
+
52
63
  &--readonly &__slot {
53
64
  cursor: default;
54
65
  }
@@ -13,7 +13,7 @@
13
13
  min-height: 100%;
14
14
  text-align: center;
15
15
  font-family: var(--wr-font-family-base);
16
- color: var(--wr-color-dark);
16
+ color: var(--wr-color-on-surface);
17
17
 
18
18
  &__icon {
19
19
  line-height: 0;
@@ -31,7 +31,7 @@
31
31
  margin: 0;
32
32
  max-width: 32rem;
33
33
  font-size: var(--wr-text-sm);
34
- color: var(--wr-color-medium);
34
+ color: var(--wr-color-on-surface-muted);
35
35
  line-height: var(--wr-leading-relaxed);
36
36
  }
37
37
 
@@ -64,6 +64,6 @@
64
64
  }
65
65
 
66
66
  &--empty &__icon {
67
- color: var(--wr-color-medium);
67
+ color: var(--wr-color-on-surface-muted);
68
68
  }
69
69
  }
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ /** compact|default|comfortable → sm|md|lg. `touch` is unchanged. */
10
+ const DENSITY_MAP = [
11
+ ['compact', 'sm'],
12
+ ['default', 'md'],
13
+ ['comfortable', 'lg'],
14
+ ];
15
+ const HTML_TRANSFORMS = [
16
+ // density — directive attribute, string form: wrDensity="compact" → "sm"
17
+ ...DENSITY_MAP.map(([from, to]) => ({
18
+ pattern: new RegExp(`(\\bwrDensity=")${from}(")`, 'g'),
19
+ replacement: `$1${to}$2`,
20
+ })),
21
+ // density — directive attribute, bound literal: [wrDensity]="'compact'" → "'sm'"
22
+ ...DENSITY_MAP.map(([from, to]) => ({
23
+ pattern: new RegExp(`(\\[wrDensity\\]=")'${from}'(")`, 'g'),
24
+ replacement: `$1'${to}'$2`,
25
+ })),
26
+ // density — selector form in templates: [data-wr-density='compact'] → 'sm'
27
+ ...DENSITY_MAP.map(([from, to]) => ({
28
+ pattern: new RegExp(`(data-wr-density=')${from}(')`, 'g'),
29
+ replacement: `$1${to}$2`,
30
+ })),
31
+ // pagination size — scoped to the element so other `size="xs"` attrs are untouched
32
+ { pattern: /(<wr-pagination\b[^>]*?\ssize=")xs(")/g, replacement: '$1sm$2' },
33
+ { pattern: /(<wr-pagination\b[^>]*?\ssize=")xl(")/g, replacement: '$1lg$2' },
34
+ ];
35
+ const TS_TRANSFORMS = [
36
+ // density — provideWrDensity({ defaultDensity: 'compact' }) → 'sm'
37
+ ...DENSITY_MAP.map(([from, to]) => ({
38
+ pattern: new RegExp(`(defaultDensity:\\s*['"])${from}(['"])`, 'g'),
39
+ replacement: `$1${to}$2`,
40
+ })),
41
+ ];
42
+ const SCSS_TRANSFORMS = [
43
+ // density — [data-wr-density='compact'] selector in stylesheets → 'sm'
44
+ ...DENSITY_MAP.map(([from, to]) => ({
45
+ pattern: new RegExp(`(data-wr-density=')${from}(')`, 'g'),
46
+ replacement: `$1${to}$2`,
47
+ })),
48
+ ];
49
+ /** Removed APIs to flag for manual migration (no safe automatic rewrite). */
50
+ const REMOVED_MARKERS = [
51
+ {
52
+ probe: /\bwrReveal\b/,
53
+ note: 'WrReveal directive removed — drop `wrReveal` + its [threshold]/[rootMargin]/[once]/[root] inputs',
54
+ },
55
+ {
56
+ probe: /<wr-scramble-text\b|\bWrScrambleText\b|ngwr\/scramble-text/,
57
+ note: 'WrScrambleText removed — use <wr-decrypt-text> or plain text',
58
+ },
59
+ ];
60
+ const IGNORE_DIRS = new Set(['node_modules', 'dist', '.git', '.cache', '.angular', 'coverage', '.next', '.nuxt']);
61
+ function ngUpdateV8() {
62
+ return (tree, context) => {
63
+ const summary = { html: 0, ts: 0, scss: 0 };
64
+ const warnings = [];
65
+ visit(tree, '/', filePath => {
66
+ const lower = filePath.toLowerCase();
67
+ const isHtml = lower.endsWith('.html');
68
+ const isTs = lower.endsWith('.ts');
69
+ const isScss = lower.endsWith('.scss') || lower.endsWith('.sass') || lower.endsWith('.css');
70
+ if (!isHtml && !isTs && !isScss)
71
+ return;
72
+ const original = tree.readText(filePath);
73
+ let next = original;
74
+ if (isHtml)
75
+ next = apply(next, HTML_TRANSFORMS);
76
+ if (isTs)
77
+ next = apply(next, TS_TRANSFORMS);
78
+ if (isScss)
79
+ next = apply(next, SCSS_TRANSFORMS);
80
+ if (next !== original) {
81
+ tree.overwrite(filePath, next);
82
+ if (isHtml)
83
+ summary.html += 1;
84
+ if (isTs)
85
+ summary.ts += 1;
86
+ if (isScss)
87
+ summary.scss += 1;
88
+ }
89
+ // Flag removed APIs (against the original — auto-fixes above don't touch them).
90
+ for (const { probe, note } of REMOVED_MARKERS) {
91
+ if (probe.test(original))
92
+ warnings.push(` ${filePath} — ${note}`);
93
+ }
94
+ });
95
+ context.logger.info(`ngwr v8 migration: rewrote ${summary.html} .html, ${summary.ts} .ts, ${summary.scss} stylesheet file(s) ` +
96
+ '(density compact/default/comfortable → sm/md/lg; pagination size xs/xl → sm/lg).');
97
+ if (warnings.length > 0) {
98
+ context.logger.warn(`\nngwr v8: ${warnings.length} usage(s) of REMOVED APIs need manual migration:\n${warnings.join('\n')}\n`);
99
+ }
100
+ context.logger.info('Verify the result with `git diff` — a few edge cases may need manual touch-up.');
101
+ return tree;
102
+ };
103
+ }
104
+ function apply(content, transforms) {
105
+ let next = content;
106
+ for (const { pattern, replacement } of transforms) {
107
+ next = next.replace(pattern, replacement);
108
+ }
109
+ return next;
110
+ }
111
+ function visit(tree, dir, visitor) {
112
+ const entry = tree.getDir(dir);
113
+ for (const file of entry.subfiles) {
114
+ visitor(`${dir === '/' ? '' : dir}/${file}`);
115
+ }
116
+ for (const sub of entry.subdirs) {
117
+ if (IGNORE_DIRS.has(sub))
118
+ continue;
119
+ visit(tree, `${dir === '/' ? '' : dir}/${sub}`, visitor);
120
+ }
121
+ }
122
+ exports.default = ngUpdateV8;
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ /**
10
+ * Match `value` / `[value]` / `[(value)]` inside a `<wr-checkbox …>` open tag.
11
+ * `[^>]*?` stays inside the tag (it can't cross `>`), so the rename never
12
+ * escapes the element it's scoped to.
13
+ *
14
+ * The tag anchor is `(?![-\w])`, NOT `\b`: a word boundary still matches at
15
+ * `<wr-checkbox-group`, whose own `value` IS its form model (it is the group's
16
+ * `FormValueControl`) and must be left alone — renaming it would break every
17
+ * bound group.
18
+ */
19
+ const CHECKBOX_TAG = String.raw `<wr-checkbox(?![-\w])[^>]*?\s`;
20
+ const HTML_TRANSFORMS = [
21
+ // <wr-checkbox … value="x"> → checkboxValue="x"
22
+ { pattern: new RegExp(`(${CHECKBOX_TAG})value=`, 'g'), replacement: '$1checkboxValue=' },
23
+ // <wr-checkbox … [value]="x"> → [checkboxValue]="x"
24
+ { pattern: new RegExp(`(${CHECKBOX_TAG})\\[value\\]=`, 'g'), replacement: '$1[checkboxValue]=' },
25
+ // <wr-checkbox … [(value)]="x"> → [(checkboxValue)]="x"
26
+ { pattern: new RegExp(`(${CHECKBOX_TAG})\\[\\(value\\)\\]=`, 'g'), replacement: '$1[(checkboxValue)]=' },
27
+ ];
28
+ const IGNORE_DIRS = new Set(['node_modules', 'dist', '.git', '.cache', '.angular', 'coverage', '.next', '.nuxt']);
29
+ function ngUpdateV9() {
30
+ return (tree, context) => {
31
+ let html = 0;
32
+ visit(tree, '/', filePath => {
33
+ const lower = filePath.toLowerCase();
34
+ // Inline templates live in .ts files too, so run the same element-scoped
35
+ // transforms there.
36
+ if (!lower.endsWith('.html') && !lower.endsWith('.ts'))
37
+ return;
38
+ const original = tree.readText(filePath);
39
+ const next = apply(original, HTML_TRANSFORMS);
40
+ if (next !== original) {
41
+ tree.overwrite(filePath, next);
42
+ html += 1;
43
+ }
44
+ });
45
+ context.logger.info(`ngwr v9 migration: rewrote ${html} file(s) (<wr-checkbox> value → checkboxValue).\n` +
46
+ 'The standalone checkbox is now a signal-forms FormCheckboxControl: its form value is the ' +
47
+ 'boolean `checked` model ([(checked)] / [formField] / [(ngModel)]), and the group-membership ' +
48
+ 'identity is `checkboxValue`.');
49
+ context.logger.info('Verify the result with `git diff` — a few edge cases may need manual touch-up.');
50
+ return tree;
51
+ };
52
+ }
53
+ function apply(content, transforms) {
54
+ let next = content;
55
+ for (const { pattern, replacement } of transforms) {
56
+ next = next.replace(pattern, replacement);
57
+ }
58
+ return next;
59
+ }
60
+ function visit(tree, dir, visitor) {
61
+ const entry = tree.getDir(dir);
62
+ for (const file of entry.subfiles) {
63
+ visitor(`${dir === '/' ? '' : dir}/${file}`);
64
+ }
65
+ for (const sub of entry.subdirs) {
66
+ if (IGNORE_DIRS.has(sub))
67
+ continue;
68
+ visit(tree, `${dir === '/' ? '' : dir}/${sub}`, visitor);
69
+ }
70
+ }
71
+ exports.default = ngUpdateV9;
@@ -5,6 +5,16 @@
5
5
  "version": "7.0.0",
6
6
  "description": "Rewrite the v6 entry-points consolidated in v7: wr-autocomplete/chips-input \u2192 wr-select; wr-time-picker/date-time-picker \u2192 wr-date-picker; wr-tooltip \u2192 wr-popover; wr-tree-select \u2192 wr-tree; wr-bottom-sheet \u2192 wr-drawer; wr-count-up(-text) \u2192 wr-counter; ngwr/tag \u2192 ngwr/badge; wr-image \u2192 wr-lightbox; wr-animated-text \u2192 wr-typewriter/wr-decrypt-text/wr-split-text (per mode). Touches .html, .ts, and .scss files.",
7
7
  "factory": "./migrations/v7/index#default"
8
+ },
9
+ "migration-v8": {
10
+ "version": "8.0.0",
11
+ "description": "Rename density values compact/default/comfortable \u2192 sm/md/lg (wrDensity, provideWrDensity defaultDensity, [data-wr-density]); pagination size xs/xl \u2192 sm/lg. Warns about removed APIs (WrReveal directive, WrScrambleText / ngwr/scramble-text) that need manual migration. Touches .html, .ts, and .scss files.",
12
+ "factory": "./migrations/v8/index#default"
13
+ },
14
+ "migration-v9": {
15
+ "version": "9.0.0",
16
+ "description": "Rename the <wr-checkbox> group-membership input value \u2192 checkboxValue (also [value] / [(value)]). The standalone checkbox is now a signal-forms FormCheckboxControl whose contract reserves `value` for the form value \u2014 its boolean state is the `checked` model. Touches .html and .ts files.",
17
+ "factory": "./migrations/v9/index#default"
8
18
  }
9
19
  }
10
20
  }
@@ -26,11 +26,11 @@ const DATE_ADAPTER_PROVIDER = {
26
26
  'date-fns': 'provideWrDateAdapter({ adapter: WrDateFnsAdapter })',
27
27
  luxon: 'provideWrDateAdapter({ adapter: WrLuxonAdapter })',
28
28
  };
29
- /** Density preset → `provideWrDensity(...)` call. */
29
+ /** Default density → `provideWrDensity(...)` call. */
30
30
  const DENSITY_PROVIDER = {
31
31
  none: null,
32
- comfortable: "provideWrDensity({ preset: 'comfortable' })",
33
- compact: "provideWrDensity({ preset: 'compact' })",
32
+ sm: "provideWrDensity({ defaultDensity: 'sm' })",
33
+ lg: "provideWrDensity({ defaultDensity: 'lg' })",
34
34
  };
35
35
  /** Theme preset → `provideWrTheme(...)` call. */
36
36
  const THEME_PROVIDER = {
@@ -41,16 +41,16 @@
41
41
  },
42
42
  "density": {
43
43
  "type": "string",
44
- "enum": ["none", "comfortable", "compact"],
44
+ "enum": ["none", "sm", "lg"],
45
45
  "default": "none",
46
- "description": "Density preset wired via `provideWrDensity()`. `none` uses lib defaults.",
46
+ "description": "Default density wired via `provideWrDensity()`. `none` uses lib defaults (md).",
47
47
  "x-prompt": {
48
- "message": "Pick a density preset",
48
+ "message": "Pick a default density",
49
49
  "type": "list",
50
50
  "items": [
51
- { "value": "none", "label": "None — use lib defaults" },
52
- { "value": "comfortable", "label": "Comfortable — relaxed spacing" },
53
- { "value": "compact", "label": "Compact — tight spacing" }
51
+ { "value": "none", "label": "None — use lib defaults (md)" },
52
+ { "value": "sm", "label": "sm — tight spacing" },
53
+ { "value": "lg", "label": "lg — relaxed spacing" }
54
54
  ]
55
55
  }
56
56
  },
@@ -58,7 +58,7 @@
58
58
  "type": "string",
59
59
  "enum": ["none", "light", "dark", "system"],
60
60
  "default": "none",
61
- "description": "Theme starter for `data-wr-theme` on `<html>`. `system` auto-switches via `prefers-color-scheme`.",
61
+ "description": "Theme starter for `data-theme` on `<html>`. `system` auto-switches via `prefers-color-scheme`.",
62
62
  "x-prompt": {
63
63
  "message": "Theme starter?",
64
64
  "type": "list",
@@ -29,7 +29,7 @@
29
29
  { "value": "toast", "label": "toast — global toast service" },
30
30
  { "value": "i18n", "label": "i18n — Transloco-class translation core" },
31
31
  { "value": "date-adapter", "label": "date-adapter — calendar / date-picker plumbing" },
32
- { "value": "density", "label": "density — comfortable / compact preset" },
32
+ { "value": "density", "label": "density — sm / md / lg scale" },
33
33
  { "value": "loading-bar", "label": "loading-bar — router-aware progress bar" },
34
34
  { "value": "cookie", "label": "cookie — wr cookie service" },
35
35
  { "value": "storage", "label": "storage — swappable engine + TTL" },