@depup/angular__material 21.2.2-depup.19

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 (578) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +31 -0
  3. package/_index.scss +145 -0
  4. package/autocomplete/_autocomplete-theme.scss +76 -0
  5. package/autocomplete/_m2-autocomplete.scss +19 -0
  6. package/autocomplete/_m3-autocomplete.scss +26 -0
  7. package/badge/_badge-theme.scss +106 -0
  8. package/badge/_m2-badge.scss +73 -0
  9. package/badge/_m3-badge.scss +52 -0
  10. package/bottom-sheet/_bottom-sheet-theme.scss +76 -0
  11. package/bottom-sheet/_m2-bottom-sheet.scss +24 -0
  12. package/bottom-sheet/_m3-bottom-sheet.scss +25 -0
  13. package/button/_button-theme.scss +113 -0
  14. package/button/_fab-theme.scss +111 -0
  15. package/button/_icon-button-theme.scss +136 -0
  16. package/button/_m2-button.scss +194 -0
  17. package/button/_m2-fab.scss +101 -0
  18. package/button/_m2-icon-button.scss +59 -0
  19. package/button/_m3-button.scss +170 -0
  20. package/button/_m3-fab.scss +92 -0
  21. package/button/_m3-icon-button.scss +54 -0
  22. package/button-toggle/_button-toggle-theme.scss +93 -0
  23. package/button-toggle/_m2-button-toggle.scss +68 -0
  24. package/button-toggle/_m3-button-toggle.scss +72 -0
  25. package/card/_card-theme.scss +76 -0
  26. package/card/_m2-card.scss +39 -0
  27. package/card/_m3-card.scss +44 -0
  28. package/changes.json +10 -0
  29. package/checkbox/_checkbox-theme.scss +105 -0
  30. package/checkbox/_m2-checkbox.scss +78 -0
  31. package/checkbox/_m3-checkbox.scss +68 -0
  32. package/chips/_chips-theme.scss +115 -0
  33. package/chips/_m2-chip.scss +85 -0
  34. package/chips/_m3-chip.scss +81 -0
  35. package/core/_core-theme.scss +125 -0
  36. package/core/_core.scss +50 -0
  37. package/core/_m2-app.scss +24 -0
  38. package/core/_m3-app.scss +44 -0
  39. package/core/color/_all-color.scss +17 -0
  40. package/core/density/private/_all-density.scss +78 -0
  41. package/core/focus-indicators/_private.scss +126 -0
  42. package/core/m2/_index.scss +52 -0
  43. package/core/m2/_palette.scss +748 -0
  44. package/core/m2/_theming.scss +340 -0
  45. package/core/m2/_typography-utils.scss +81 -0
  46. package/core/m2/_typography.scss +388 -0
  47. package/core/option/_m2-optgroup.scss +21 -0
  48. package/core/option/_m2-option.scss +38 -0
  49. package/core/option/_m3-optgroup.scss +25 -0
  50. package/core/option/_m3-option.scss +37 -0
  51. package/core/option/_optgroup-theme.scss +76 -0
  52. package/core/option/_option-theme.scss +103 -0
  53. package/core/ripple/_m2-ripple.scss +17 -0
  54. package/core/ripple/_m3-ripple.scss +17 -0
  55. package/core/ripple/_ripple-theme.scss +75 -0
  56. package/core/ripple/_ripple.scss +56 -0
  57. package/core/selection/pseudo-checkbox/_m2-pseudo-checkbox.scss +32 -0
  58. package/core/selection/pseudo-checkbox/_m3-pseudo-checkbox.scss +34 -0
  59. package/core/selection/pseudo-checkbox/_pseudo-checkbox-common.scss +86 -0
  60. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +110 -0
  61. package/core/style/_checkbox-common.scss +11 -0
  62. package/core/style/_elevation.scss +208 -0
  63. package/core/style/_layout-common.scss +8 -0
  64. package/core/style/_private.scss +27 -0
  65. package/core/style/_sass-utils.scss +57 -0
  66. package/core/style/_validation.scss +52 -0
  67. package/core/style/_variables.scss +44 -0
  68. package/core/style/_vendor-prefixes.scss +56 -0
  69. package/core/theming/_all-theme.scss +168 -0
  70. package/core/theming/_color-api-backwards-compatibility.scss +159 -0
  71. package/core/theming/_config-validation.scss +174 -0
  72. package/core/theming/_definition.scss +141 -0
  73. package/core/theming/_inspection.scss +289 -0
  74. package/core/theming/_m2-inspection.scss +243 -0
  75. package/core/theming/_palettes.scss +1036 -0
  76. package/core/theming/_theming.scss +193 -0
  77. package/core/theming/_validation.scss +5 -0
  78. package/core/tokens/_classes.scss +398 -0
  79. package/core/tokens/_m2-utils.scss +25 -0
  80. package/core/tokens/_m3-tokens.scss +126 -0
  81. package/core/tokens/_m3-utils.scss +36 -0
  82. package/core/tokens/_system.scss +398 -0
  83. package/core/tokens/_token-utils.scss +119 -0
  84. package/core/tokens/m2/_index.scss +6 -0
  85. package/core/tokens/m2/_md-sys-color-internal.scss +11 -0
  86. package/core/tokens/m2/_md-sys-color.scss +123 -0
  87. package/core/tokens/m2/_md-sys-elevation.scss +10 -0
  88. package/core/tokens/m2/_md-sys-motion.scss +30 -0
  89. package/core/tokens/m2/_md-sys-shape.scss +16 -0
  90. package/core/tokens/m2/_md-sys-state.scss +8 -0
  91. package/core/tokens/m2/_md-sys-typescale.scss +68 -0
  92. package/core/tokens/m3/_index.scss +7 -0
  93. package/core/tokens/m3/_md-sys-color-internal.scss +11 -0
  94. package/core/tokens/m3/_md-sys-color.scss +118 -0
  95. package/core/tokens/m3/_md-sys-elevation.scss +15 -0
  96. package/core/tokens/m3/_md-sys-motion.scss +35 -0
  97. package/core/tokens/m3/_md-sys-shape.scss +21 -0
  98. package/core/tokens/m3/_md-sys-state.scss +13 -0
  99. package/core/tokens/m3/_md-sys-typescale-internal.scss +5 -0
  100. package/core/tokens/m3/_md-sys-typescale.scss +114 -0
  101. package/core/tokens/m3/_theme.scss +35 -0
  102. package/core/typography/_all-typography.scss +104 -0
  103. package/core/typography/_typography-utils.scss +31 -0
  104. package/core/typography/_typography.scss +269 -0
  105. package/core/typography/_versioning.scss +90 -0
  106. package/datepicker/_datepicker-theme.scss +132 -0
  107. package/datepicker/_m2-datepicker.scss +81 -0
  108. package/datepicker/_m3-datepicker.scss +74 -0
  109. package/dialog/_dialog-legacy-padding.scss +31 -0
  110. package/dialog/_dialog-theme.scss +76 -0
  111. package/dialog/_m2-dialog.scss +43 -0
  112. package/dialog/_m3-dialog.scss +47 -0
  113. package/divider/_divider-theme.scss +75 -0
  114. package/divider/_m2-divider.scss +17 -0
  115. package/divider/_m3-divider.scss +19 -0
  116. package/expansion/_expansion-theme.scss +76 -0
  117. package/expansion/_m2-expansion.scss +64 -0
  118. package/expansion/_m3-expansion.scss +61 -0
  119. package/fesm2022/_animation-chunk.mjs +22 -0
  120. package/fesm2022/_animation-chunk.mjs.map +1 -0
  121. package/fesm2022/_date-formats-chunk.mjs +86 -0
  122. package/fesm2022/_date-formats-chunk.mjs.map +1 -0
  123. package/fesm2022/_date-range-input-harness-chunk.mjs +322 -0
  124. package/fesm2022/_date-range-input-harness-chunk.mjs.map +1 -0
  125. package/fesm2022/_error-options-chunk.mjs +66 -0
  126. package/fesm2022/_error-options-chunk.mjs.map +1 -0
  127. package/fesm2022/_error-state-chunk.mjs +30 -0
  128. package/fesm2022/_error-state-chunk.mjs.map +1 -0
  129. package/fesm2022/_form-field-chunk.mjs +1351 -0
  130. package/fesm2022/_form-field-chunk.mjs.map +1 -0
  131. package/fesm2022/_icon-button-chunk.mjs +268 -0
  132. package/fesm2022/_icon-button-chunk.mjs.map +1 -0
  133. package/fesm2022/_icon-registry-chunk.mjs +368 -0
  134. package/fesm2022/_icon-registry-chunk.mjs.map +1 -0
  135. package/fesm2022/_input-harness-chunk.mjs +67 -0
  136. package/fesm2022/_input-harness-chunk.mjs.map +1 -0
  137. package/fesm2022/_input-value-accessor-chunk.mjs +6 -0
  138. package/fesm2022/_input-value-accessor-chunk.mjs.map +1 -0
  139. package/fesm2022/_internal-form-field-chunk.mjs +67 -0
  140. package/fesm2022/_internal-form-field-chunk.mjs.map +1 -0
  141. package/fesm2022/_line-chunk.mjs +99 -0
  142. package/fesm2022/_line-chunk.mjs.map +1 -0
  143. package/fesm2022/_option-chunk.mjs +385 -0
  144. package/fesm2022/_option-chunk.mjs.map +1 -0
  145. package/fesm2022/_option-harness-chunk.mjs +30 -0
  146. package/fesm2022/_option-harness-chunk.mjs.map +1 -0
  147. package/fesm2022/_option-module-chunk.mjs +48 -0
  148. package/fesm2022/_option-module-chunk.mjs.map +1 -0
  149. package/fesm2022/_pseudo-checkbox-chunk.mjs +88 -0
  150. package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -0
  151. package/fesm2022/_pseudo-checkbox-module-chunk.mjs +46 -0
  152. package/fesm2022/_pseudo-checkbox-module-chunk.mjs.map +1 -0
  153. package/fesm2022/_public-api-chunk.mjs +84 -0
  154. package/fesm2022/_public-api-chunk.mjs.map +1 -0
  155. package/fesm2022/_ripple-chunk.mjs +544 -0
  156. package/fesm2022/_ripple-chunk.mjs.map +1 -0
  157. package/fesm2022/_ripple-loader-chunk.mjs +144 -0
  158. package/fesm2022/_ripple-loader-chunk.mjs.map +1 -0
  159. package/fesm2022/_ripple-module-chunk.mjs +46 -0
  160. package/fesm2022/_ripple-module-chunk.mjs.map +1 -0
  161. package/fesm2022/_structural-styles-chunk.mjs +45 -0
  162. package/fesm2022/_structural-styles-chunk.mjs.map +1 -0
  163. package/fesm2022/_tooltip-chunk.mjs +848 -0
  164. package/fesm2022/_tooltip-chunk.mjs.map +1 -0
  165. package/fesm2022/autocomplete-testing.mjs +75 -0
  166. package/fesm2022/autocomplete-testing.mjs.map +1 -0
  167. package/fesm2022/autocomplete.mjs +1068 -0
  168. package/fesm2022/autocomplete.mjs.map +1 -0
  169. package/fesm2022/badge-testing.mjs +48 -0
  170. package/fesm2022/badge-testing.mjs.map +1 -0
  171. package/fesm2022/badge.mjs +357 -0
  172. package/fesm2022/badge.mjs.map +1 -0
  173. package/fesm2022/bottom-sheet-testing.mjs +17 -0
  174. package/fesm2022/bottom-sheet-testing.mjs.map +1 -0
  175. package/fesm2022/bottom-sheet.mjs +390 -0
  176. package/fesm2022/bottom-sheet.mjs.map +1 -0
  177. package/fesm2022/button-testing.mjs +81 -0
  178. package/fesm2022/button-testing.mjs.map +1 -0
  179. package/fesm2022/button-toggle-testing.mjs +87 -0
  180. package/fesm2022/button-toggle-testing.mjs.map +1 -0
  181. package/fesm2022/button-toggle.mjs +789 -0
  182. package/fesm2022/button-toggle.mjs.map +1 -0
  183. package/fesm2022/button.mjs +308 -0
  184. package/fesm2022/button.mjs.map +1 -0
  185. package/fesm2022/card-testing.mjs +29 -0
  186. package/fesm2022/card-testing.mjs.map +1 -0
  187. package/fesm2022/card.mjs +615 -0
  188. package/fesm2022/card.mjs.map +1 -0
  189. package/fesm2022/checkbox-testing.mjs +79 -0
  190. package/fesm2022/checkbox-testing.mjs.map +1 -0
  191. package/fesm2022/checkbox.mjs +551 -0
  192. package/fesm2022/checkbox.mjs.map +1 -0
  193. package/fesm2022/chips-testing.mjs +239 -0
  194. package/fesm2022/chips-testing.mjs.map +1 -0
  195. package/fesm2022/chips.mjs +2663 -0
  196. package/fesm2022/chips.mjs.map +1 -0
  197. package/fesm2022/core-testing.mjs +22 -0
  198. package/fesm2022/core-testing.mjs.map +1 -0
  199. package/fesm2022/core.mjs +408 -0
  200. package/fesm2022/core.mjs.map +1 -0
  201. package/fesm2022/datepicker-testing.mjs +26 -0
  202. package/fesm2022/datepicker-testing.mjs.map +1 -0
  203. package/fesm2022/datepicker.mjs +5015 -0
  204. package/fesm2022/datepicker.mjs.map +1 -0
  205. package/fesm2022/dialog-testing.mjs +123 -0
  206. package/fesm2022/dialog-testing.mjs.map +1 -0
  207. package/fesm2022/dialog.mjs +873 -0
  208. package/fesm2022/dialog.mjs.map +1 -0
  209. package/fesm2022/divider-testing.mjs +17 -0
  210. package/fesm2022/divider-testing.mjs.map +1 -0
  211. package/fesm2022/divider.mjs +132 -0
  212. package/fesm2022/divider.mjs.map +1 -0
  213. package/fesm2022/expansion-testing.mjs +87 -0
  214. package/fesm2022/expansion-testing.mjs.map +1 -0
  215. package/fesm2022/expansion.mjs +749 -0
  216. package/fesm2022/expansion.mjs.map +1 -0
  217. package/fesm2022/form-field-testing-control.mjs +24 -0
  218. package/fesm2022/form-field-testing-control.mjs.map +1 -0
  219. package/fesm2022/form-field-testing.mjs +135 -0
  220. package/fesm2022/form-field-testing.mjs.map +1 -0
  221. package/fesm2022/form-field.mjs +57 -0
  222. package/fesm2022/form-field.mjs.map +1 -0
  223. package/fesm2022/grid-list-testing.mjs +80 -0
  224. package/fesm2022/grid-list-testing.mjs.map +1 -0
  225. package/fesm2022/grid-list.mjs +604 -0
  226. package/fesm2022/grid-list.mjs.map +1 -0
  227. package/fesm2022/icon-testing.mjs +172 -0
  228. package/fesm2022/icon-testing.mjs.map +1 -0
  229. package/fesm2022/icon.mjs +366 -0
  230. package/fesm2022/icon.mjs.map +1 -0
  231. package/fesm2022/input-testing.mjs +73 -0
  232. package/fesm2022/input-testing.mjs.map +1 -0
  233. package/fesm2022/input.mjs +495 -0
  234. package/fesm2022/input.mjs.map +1 -0
  235. package/fesm2022/list-testing.mjs +295 -0
  236. package/fesm2022/list-testing.mjs.map +1 -0
  237. package/fesm2022/list.mjs +1604 -0
  238. package/fesm2022/list.mjs.map +1 -0
  239. package/fesm2022/material.mjs +4 -0
  240. package/fesm2022/material.mjs.map +1 -0
  241. package/fesm2022/menu-testing.mjs +174 -0
  242. package/fesm2022/menu-testing.mjs.map +1 -0
  243. package/fesm2022/menu.mjs +1421 -0
  244. package/fesm2022/menu.mjs.map +1 -0
  245. package/fesm2022/paginator-testing.mjs +69 -0
  246. package/fesm2022/paginator-testing.mjs.map +1 -0
  247. package/fesm2022/paginator.mjs +445 -0
  248. package/fesm2022/paginator.mjs.map +1 -0
  249. package/fesm2022/progress-bar-testing.mjs +20 -0
  250. package/fesm2022/progress-bar-testing.mjs.map +1 -0
  251. package/fesm2022/progress-bar.mjs +247 -0
  252. package/fesm2022/progress-bar.mjs.map +1 -0
  253. package/fesm2022/progress-spinner-testing.mjs +21 -0
  254. package/fesm2022/progress-spinner-testing.mjs.map +1 -0
  255. package/fesm2022/progress-spinner.mjs +258 -0
  256. package/fesm2022/progress-spinner.mjs.map +1 -0
  257. package/fesm2022/radio-testing.mjs +143 -0
  258. package/fesm2022/radio-testing.mjs.map +1 -0
  259. package/fesm2022/radio.mjs +751 -0
  260. package/fesm2022/radio.mjs.map +1 -0
  261. package/fesm2022/select-testing.mjs +92 -0
  262. package/fesm2022/select-testing.mjs.map +1 -0
  263. package/fesm2022/select.mjs +1181 -0
  264. package/fesm2022/select.mjs.map +1 -0
  265. package/fesm2022/sidenav-testing.mjs +80 -0
  266. package/fesm2022/sidenav-testing.mjs.map +1 -0
  267. package/fesm2022/sidenav.mjs +1151 -0
  268. package/fesm2022/sidenav.mjs.map +1 -0
  269. package/fesm2022/slide-toggle-testing.mjs +68 -0
  270. package/fesm2022/slide-toggle-testing.mjs.map +1 -0
  271. package/fesm2022/slide-toggle.mjs +403 -0
  272. package/fesm2022/slide-toggle.mjs.map +1 -0
  273. package/fesm2022/slider-testing.mjs +105 -0
  274. package/fesm2022/slider-testing.mjs.map +1 -0
  275. package/fesm2022/slider.mjs +1720 -0
  276. package/fesm2022/slider.mjs.map +1 -0
  277. package/fesm2022/snack-bar-testing.mjs +47 -0
  278. package/fesm2022/snack-bar-testing.mjs.map +1 -0
  279. package/fesm2022/snack-bar.mjs +820 -0
  280. package/fesm2022/snack-bar.mjs.map +1 -0
  281. package/fesm2022/sort-testing.mjs +55 -0
  282. package/fesm2022/sort-testing.mjs.map +1 -0
  283. package/fesm2022/sort.mjs +470 -0
  284. package/fesm2022/sort.mjs.map +1 -0
  285. package/fesm2022/stepper-testing.mjs +99 -0
  286. package/fesm2022/stepper-testing.mjs.map +1 -0
  287. package/fesm2022/stepper.mjs +900 -0
  288. package/fesm2022/stepper.mjs.map +1 -0
  289. package/fesm2022/table-testing.mjs +152 -0
  290. package/fesm2022/table-testing.mjs.map +1 -0
  291. package/fesm2022/table.mjs +1151 -0
  292. package/fesm2022/table.mjs.map +1 -0
  293. package/fesm2022/tabs-testing.mjs +144 -0
  294. package/fesm2022/tabs-testing.mjs.map +1 -0
  295. package/fesm2022/tabs.mjs +2435 -0
  296. package/fesm2022/tabs.mjs.map +1 -0
  297. package/fesm2022/timepicker-testing.mjs +128 -0
  298. package/fesm2022/timepicker-testing.mjs.map +1 -0
  299. package/fesm2022/timepicker.mjs +1284 -0
  300. package/fesm2022/timepicker.mjs.map +1 -0
  301. package/fesm2022/toolbar-testing.mjs +26 -0
  302. package/fesm2022/toolbar-testing.mjs.map +1 -0
  303. package/fesm2022/toolbar.mjs +182 -0
  304. package/fesm2022/toolbar.mjs.map +1 -0
  305. package/fesm2022/tooltip-testing.mjs +48 -0
  306. package/fesm2022/tooltip-testing.mjs.map +1 -0
  307. package/fesm2022/tooltip.mjs +58 -0
  308. package/fesm2022/tooltip.mjs.map +1 -0
  309. package/fesm2022/tree-testing.mjs +104 -0
  310. package/fesm2022/tree-testing.mjs.map +1 -0
  311. package/fesm2022/tree.mjs +681 -0
  312. package/fesm2022/tree.mjs.map +1 -0
  313. package/form-field/_form-field-theme.scss +96 -0
  314. package/form-field/_m2-form-field.scss +226 -0
  315. package/form-field/_m3-form-field.scss +137 -0
  316. package/grid-list/_grid-list-theme.scss +76 -0
  317. package/grid-list/_m2-grid-list.scss +21 -0
  318. package/grid-list/_m3-grid-list.scss +20 -0
  319. package/icon/_icon-theme.scss +109 -0
  320. package/icon/_m2-icon.scss +15 -0
  321. package/icon/_m3-icon.scss +21 -0
  322. package/input/_input-theme.scss +36 -0
  323. package/list/_list-theme.scss +201 -0
  324. package/list/_m2-list.scss +92 -0
  325. package/list/_m3-list.scss +93 -0
  326. package/menu/_m2-menu.scss +44 -0
  327. package/menu/_m3-menu.scss +42 -0
  328. package/menu/_menu-theme.scss +76 -0
  329. package/package.json +404 -0
  330. package/paginator/_m2-paginator.scss +69 -0
  331. package/paginator/_m3-paginator.scss +46 -0
  332. package/paginator/_paginator-theme.scss +76 -0
  333. package/prebuilt-themes/azure-blue.css +1 -0
  334. package/prebuilt-themes/cyan-orange.css +1 -0
  335. package/prebuilt-themes/deeppurple-amber.css +1 -0
  336. package/prebuilt-themes/indigo-pink.css +1 -0
  337. package/prebuilt-themes/magenta-violet.css +1 -0
  338. package/prebuilt-themes/pink-bluegrey.css +1 -0
  339. package/prebuilt-themes/purple-green.css +1 -0
  340. package/prebuilt-themes/rose-red.css +1 -0
  341. package/progress-bar/_m2-progress-bar.scss +36 -0
  342. package/progress-bar/_m3-progress-bar.scss +29 -0
  343. package/progress-bar/_progress-bar-theme.scss +93 -0
  344. package/progress-spinner/_m2-progress-spinner.scss +25 -0
  345. package/progress-spinner/_m3-progress-spinner.scss +27 -0
  346. package/progress-spinner/_progress-spinner-theme.scss +95 -0
  347. package/radio/_m2-radio.scss +67 -0
  348. package/radio/_m3-radio.scss +65 -0
  349. package/radio/_radio-theme.scss +102 -0
  350. package/schematics/collection.json +55 -0
  351. package/schematics/migration.json +15 -0
  352. package/schematics/ng-add/fonts/material-fonts.d.ts +11 -0
  353. package/schematics/ng-add/fonts/material-fonts.js +41 -0
  354. package/schematics/ng-add/fonts/material-fonts.js.map +1 -0
  355. package/schematics/ng-add/index.d.ts +17 -0
  356. package/schematics/ng-add/index.js +54 -0
  357. package/schematics/ng-add/index.js.map +1 -0
  358. package/schematics/ng-add/package-config.d.ts +12 -0
  359. package/schematics/ng-add/package-config.js +51 -0
  360. package/schematics/ng-add/package-config.js.map +1 -0
  361. package/schematics/ng-add/schema.d.ts +15 -0
  362. package/schematics/ng-add/schema.js +10 -0
  363. package/schematics/ng-add/schema.js.map +1 -0
  364. package/schematics/ng-add/schema.json +43 -0
  365. package/schematics/ng-add/setup-project.d.ts +15 -0
  366. package/schematics/ng-add/setup-project.js +36 -0
  367. package/schematics/ng-add/setup-project.js.map +1 -0
  368. package/schematics/ng-add/theming/create-theme.d.ts +9 -0
  369. package/schematics/ng-add/theming/create-theme.js +58 -0
  370. package/schematics/ng-add/theming/create-theme.js.map +1 -0
  371. package/schematics/ng-add/theming/theming.d.ts +11 -0
  372. package/schematics/ng-add/theming/theming.js +133 -0
  373. package/schematics/ng-add/theming/theming.js.map +1 -0
  374. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +27 -0
  375. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +99 -0
  376. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +38 -0
  377. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +118 -0
  378. package/schematics/ng-generate/address-form/index.d.ts +14 -0
  379. package/schematics/ng-generate/address-form/index.js +43 -0
  380. package/schematics/ng-generate/address-form/index.js.map +1 -0
  381. package/schematics/ng-generate/address-form/schema.d.ts +10 -0
  382. package/schematics/ng-generate/address-form/schema.js +10 -0
  383. package/schematics/ng-generate/address-form/schema.js.map +1 -0
  384. package/schematics/ng-generate/address-form/schema.json +100 -0
  385. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +21 -0
  386. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +26 -0
  387. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +36 -0
  388. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +56 -0
  389. package/schematics/ng-generate/dashboard/index.d.ts +14 -0
  390. package/schematics/ng-generate/dashboard/index.js +42 -0
  391. package/schematics/ng-generate/dashboard/index.js.map +1 -0
  392. package/schematics/ng-generate/dashboard/schema.d.ts +10 -0
  393. package/schematics/ng-generate/dashboard/schema.js +10 -0
  394. package/schematics/ng-generate/dashboard/schema.js.map +1 -0
  395. package/schematics/ng-generate/dashboard/schema.json +100 -0
  396. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +17 -0
  397. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +28 -0
  398. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +36 -0
  399. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +42 -0
  400. package/schematics/ng-generate/navigation/index.d.ts +14 -0
  401. package/schematics/ng-generate/navigation/index.js +42 -0
  402. package/schematics/ng-generate/navigation/index.js.map +1 -0
  403. package/schematics/ng-generate/navigation/schema.d.ts +10 -0
  404. package/schematics/ng-generate/navigation/schema.js +10 -0
  405. package/schematics/ng-generate/navigation/schema.js.map +1 -0
  406. package/schematics/ng-generate/navigation/schema.json +105 -0
  407. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__-datasource.ts.template +111 -0
  408. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +3 -0
  409. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +26 -0
  410. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +32 -0
  411. package/schematics/ng-generate/table/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +36 -0
  412. package/schematics/ng-generate/table/index.d.ts +14 -0
  413. package/schematics/ng-generate/table/index.js +40 -0
  414. package/schematics/ng-generate/table/index.js.map +1 -0
  415. package/schematics/ng-generate/table/schema.d.ts +10 -0
  416. package/schematics/ng-generate/table/schema.js +10 -0
  417. package/schematics/ng-generate/table/schema.js.map +1 -0
  418. package/schematics/ng-generate/table/schema.json +100 -0
  419. package/schematics/ng-generate/theme-color/index_bundled.js +6561 -0
  420. package/schematics/ng-generate/theme-color/index_bundled.js.map +6 -0
  421. package/schematics/ng-generate/theme-color/schema.json +55 -0
  422. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +4 -0
  423. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +22 -0
  424. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +32 -0
  425. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +93 -0
  426. package/schematics/ng-generate/tree/files/__path__/__name@dasherize@if-flat__/example-data.ts.template +47 -0
  427. package/schematics/ng-generate/tree/index.d.ts +14 -0
  428. package/schematics/ng-generate/tree/index.js +40 -0
  429. package/schematics/ng-generate/tree/index.js.map +1 -0
  430. package/schematics/ng-generate/tree/schema.d.ts +10 -0
  431. package/schematics/ng-generate/tree/schema.js +10 -0
  432. package/schematics/ng-generate/tree/schema.js.map +1 -0
  433. package/schematics/ng-generate/tree/schema.json +100 -0
  434. package/schematics/ng-update/index_bundled.js +204 -0
  435. package/schematics/ng-update/index_bundled.js.map +6 -0
  436. package/schematics/package.json +3 -0
  437. package/select/_m2-select.scss +49 -0
  438. package/select/_m3-select.scss +54 -0
  439. package/select/_select-theme.scss +99 -0
  440. package/sidenav/_m2-sidenav.scss +48 -0
  441. package/sidenav/_m3-sidenav.scss +26 -0
  442. package/sidenav/_sidenav-theme.scss +75 -0
  443. package/slide-toggle/_m2-slide-toggle.scss +134 -0
  444. package/slide-toggle/_m3-slide-toggle.scss +133 -0
  445. package/slide-toggle/_slide-toggle-theme.scss +119 -0
  446. package/slider/_m2-slider.scss +73 -0
  447. package/slider/_m3-slider.scss +69 -0
  448. package/slider/_slider-theme.scss +103 -0
  449. package/snack-bar/_m2-snack-bar.scss +24 -0
  450. package/snack-bar/_m3-snack-bar.scss +26 -0
  451. package/snack-bar/_snack-bar-theme.scss +77 -0
  452. package/sort/_m2-sort.scss +16 -0
  453. package/sort/_m3-sort.scss +20 -0
  454. package/sort/_sort-theme.scss +76 -0
  455. package/stepper/_m2-stepper.scss +65 -0
  456. package/stepper/_m3-stepper.scss +66 -0
  457. package/stepper/_stepper-theme.scss +102 -0
  458. package/table/_m2-table.scss +63 -0
  459. package/table/_m3-table.scss +52 -0
  460. package/table/_table-theme.scss +76 -0
  461. package/tabs/_m2-tabs.scss +68 -0
  462. package/tabs/_m3-tabs.scss +58 -0
  463. package/tabs/_tabs-theme.scss +131 -0
  464. package/timepicker/_m2-timepicker.scss +19 -0
  465. package/timepicker/_m3-timepicker.scss +21 -0
  466. package/timepicker/_timepicker-theme.scss +81 -0
  467. package/toolbar/_m2-toolbar.scss +43 -0
  468. package/toolbar/_m3-toolbar.scss +41 -0
  469. package/toolbar/_toolbar-theme.scss +114 -0
  470. package/tooltip/_m2-tooltip.scss +24 -0
  471. package/tooltip/_m3-tooltip.scss +25 -0
  472. package/tooltip/_tooltip-theme.scss +76 -0
  473. package/tree/_m2-tree.scss +30 -0
  474. package/tree/_m3-tree.scss +37 -0
  475. package/tree/_tree-theme.scss +76 -0
  476. package/types/_badge-chunk.d.ts +100 -0
  477. package/types/_button-toggle-chunk.d.ts +252 -0
  478. package/types/_date-adapter-chunk.d.ts +261 -0
  479. package/types/_date-range-input-harness-chunk.d.ts +284 -0
  480. package/types/_dialog-chunk.d.ts +336 -0
  481. package/types/_error-options-chunk.d.ts +17 -0
  482. package/types/_form-field-chunk.d.ts +375 -0
  483. package/types/_form-field-control-chunk.d.ts +64 -0
  484. package/types/_form-field-control-harness-chunk.d.ts +20 -0
  485. package/types/_form-field-module-chunk.d.ts +18 -0
  486. package/types/_icon-module-chunk.d.ts +162 -0
  487. package/types/_icon-registry-chunk.d.ts +271 -0
  488. package/types/_input-harness-chunk.d.ts +61 -0
  489. package/types/_line-chunk.d.ts +25 -0
  490. package/types/_list-option-types-chunk.d.ts +15 -0
  491. package/types/_option-chunk.d.ts +146 -0
  492. package/types/_option-harness-chunk.d.ts +35 -0
  493. package/types/_option-module-chunk.d.ts +13 -0
  494. package/types/_option-parent-chunk.d.ts +20 -0
  495. package/types/_paginator-chunk.d.ts +184 -0
  496. package/types/_palette-chunk.d.ts +4 -0
  497. package/types/_progress-spinner-chunk.d.ts +91 -0
  498. package/types/_pseudo-checkbox-module-chunk.d.ts +45 -0
  499. package/types/_ripple-chunk.d.ts +256 -0
  500. package/types/_ripple-loader-chunk.d.ts +48 -0
  501. package/types/_ripple-module-chunk.d.ts +11 -0
  502. package/types/_sort-chunk.d.ts +88 -0
  503. package/types/_sort-direction-chunk.d.ts +3 -0
  504. package/types/_tooltip-chunk.d.ts +315 -0
  505. package/types/autocomplete-testing.d.ts +53 -0
  506. package/types/autocomplete.d.ts +420 -0
  507. package/types/badge-testing.d.ts +36 -0
  508. package/types/badge.d.ts +14 -0
  509. package/types/bottom-sheet-testing.d.ts +26 -0
  510. package/types/bottom-sheet.d.ts +192 -0
  511. package/types/button-testing.d.ts +70 -0
  512. package/types/button-toggle-testing.d.ts +97 -0
  513. package/types/button-toggle.d.ts +16 -0
  514. package/types/button.d.ts +210 -0
  515. package/types/card-testing.d.ts +41 -0
  516. package/types/card.d.ts +156 -0
  517. package/types/checkbox-testing.d.ts +86 -0
  518. package/types/checkbox.d.ts +216 -0
  519. package/types/chips-testing.d.ts +270 -0
  520. package/types/chips.d.ts +993 -0
  521. package/types/core-testing.d.ts +32 -0
  522. package/types/core.d.ts +185 -0
  523. package/types/datepicker-testing.d.ts +25 -0
  524. package/types/datepicker.d.ts +1746 -0
  525. package/types/dialog-testing.d.ts +83 -0
  526. package/types/dialog.d.ts +84 -0
  527. package/types/divider-testing.d.ts +15 -0
  528. package/types/divider.d.ts +24 -0
  529. package/types/expansion-testing.d.ts +101 -0
  530. package/types/expansion.d.ts +258 -0
  531. package/types/form-field-testing-control.d.ts +13 -0
  532. package/types/form-field-testing.d.ts +127 -0
  533. package/types/form-field.d.ts +19 -0
  534. package/types/grid-list-testing.d.ts +82 -0
  535. package/types/grid-list.d.ts +207 -0
  536. package/types/icon-testing.d.ts +81 -0
  537. package/types/icon.d.ts +8 -0
  538. package/types/input-testing.d.ts +73 -0
  539. package/types/input.d.ts +208 -0
  540. package/types/list-testing.d.ts +354 -0
  541. package/types/list.d.ts +516 -0
  542. package/types/material.d.ts +3 -0
  543. package/types/menu-testing.d.ts +141 -0
  544. package/types/menu.d.ts +547 -0
  545. package/types/paginator-testing.d.ts +51 -0
  546. package/types/paginator.d.ts +36 -0
  547. package/types/progress-bar-testing.d.ts +24 -0
  548. package/types/progress-bar.d.ts +106 -0
  549. package/types/progress-spinner-testing.d.ts +28 -0
  550. package/types/progress-spinner.d.ts +13 -0
  551. package/types/radio-testing.d.ts +109 -0
  552. package/types/radio.d.ts +295 -0
  553. package/types/select-testing.d.ts +63 -0
  554. package/types/select.d.ts +448 -0
  555. package/types/sidenav-testing.d.ts +122 -0
  556. package/types/sidenav.d.ts +335 -0
  557. package/types/slide-toggle-testing.d.ts +66 -0
  558. package/types/slide-toggle.d.ts +151 -0
  559. package/types/slider-testing.d.ts +90 -0
  560. package/types/slider.d.ts +662 -0
  561. package/types/snack-bar-testing.d.ts +64 -0
  562. package/types/snack-bar.d.ts +328 -0
  563. package/types/sort-testing.d.ts +48 -0
  564. package/types/sort.d.ts +126 -0
  565. package/types/stepper-testing.d.ts +136 -0
  566. package/types/stepper.d.ts +225 -0
  567. package/types/table-testing.d.ts +174 -0
  568. package/types/table.d.ts +302 -0
  569. package/types/tabs-testing.d.ts +145 -0
  570. package/types/tabs.d.ts +890 -0
  571. package/types/timepicker-testing.d.ts +108 -0
  572. package/types/timepicker.d.ts +318 -0
  573. package/types/toolbar-testing.d.ts +33 -0
  574. package/types/toolbar.d.ts +44 -0
  575. package/types/tooltip-testing.d.ts +35 -0
  576. package/types/tooltip.d.ts +17 -0
  577. package/types/tree-testing.d.ts +119 -0
  578. package/types/tree.d.ts +233 -0
@@ -0,0 +1,100 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "SchematicsMaterialDashboard",
4
+ "title": "Material Dashboard Options Schema",
5
+ "type": "object",
6
+ "properties": {
7
+ "path": {
8
+ "type": "string",
9
+ "format": "path",
10
+ "$default": {
11
+ "$source": "workingDirectory"
12
+ },
13
+ "description": "The path to create the component.",
14
+ "visible": false
15
+ },
16
+ "project": {
17
+ "type": "string",
18
+ "description": "The name of the project.",
19
+ "$default": {
20
+ "$source": "projectName"
21
+ }
22
+ },
23
+ "name": {
24
+ "type": "string",
25
+ "description": "The name of the component.",
26
+ "$default": {
27
+ "$source": "argv",
28
+ "index": 0
29
+ },
30
+ "x-prompt": "What should be the name of the component?"
31
+ },
32
+ "inlineStyle": {
33
+ "description": "Specifies if the style will be in the ts file.",
34
+ "type": "boolean",
35
+ "alias": "s"
36
+ },
37
+ "inlineTemplate": {
38
+ "description": "Specifies if the template will be in the ts file.",
39
+ "type": "boolean",
40
+ "alias": "t"
41
+ },
42
+ "standalone": {
43
+ "description": "Whether the generated component is standalone.",
44
+ "type": "boolean"
45
+ },
46
+ "viewEncapsulation": {
47
+ "description": "Specifies the view encapsulation strategy.",
48
+ "enum": ["Emulated", "None"],
49
+ "type": "string",
50
+ "alias": "v"
51
+ },
52
+ "changeDetection": {
53
+ "description": "Specifies the change detection strategy.",
54
+ "enum": ["Default", "OnPush"],
55
+ "type": "string",
56
+ "default": "Default",
57
+ "alias": "c"
58
+ },
59
+ "prefix": {
60
+ "type": "string",
61
+ "format": "html-selector",
62
+ "description": "The prefix to apply to generated selectors.",
63
+ "alias": "p"
64
+ },
65
+ "style": {
66
+ "description": "The file extension to be used for style files.",
67
+ "type": "string"
68
+ },
69
+ "skipTests": {
70
+ "type": "boolean",
71
+ "description": "When true, does not generate a test file."
72
+ },
73
+ "flat": {
74
+ "type": "boolean",
75
+ "description": "Flag to indicate if a dir is created.",
76
+ "default": false
77
+ },
78
+ "skipImport": {
79
+ "type": "boolean",
80
+ "description": "Flag to skip the module import.",
81
+ "default": false
82
+ },
83
+ "selector": {
84
+ "type": "string",
85
+ "format": "html-selector",
86
+ "description": "The selector to use for the component."
87
+ },
88
+ "module": {
89
+ "type": "string",
90
+ "description": "Allows specification of the declaring module.",
91
+ "alias": "m"
92
+ },
93
+ "export": {
94
+ "type": "boolean",
95
+ "default": false,
96
+ "description": "Specifies if declaring module exports the component."
97
+ }
98
+ },
99
+ "required": ["name"]
100
+ }
@@ -0,0 +1,17 @@
1
+ .sidenav-container {
2
+ height: 100%;
3
+ }
4
+
5
+ .sidenav {
6
+ width: 200px;
7
+ }
8
+
9
+ .sidenav .mat-toolbar {
10
+ background: inherit;
11
+ }
12
+
13
+ .mat-toolbar.mat-primary {
14
+ position: sticky;
15
+ top: 0;
16
+ z-index: 1;
17
+ }
@@ -0,0 +1,28 @@
1
+ <mat-sidenav-container class="sidenav-container">
2
+ <mat-sidenav #drawer class="sidenav" fixedInViewport
3
+ [attr.role]="(isHandset$ | async) ? 'dialog' : 'navigation'"
4
+ [mode]="(isHandset$ | async) ? 'over' : 'side'"
5
+ [opened]="(isHandset$ | async) === false">
6
+ <mat-toolbar>Menu</mat-toolbar>
7
+ <mat-nav-list>
8
+ <a mat-list-item <%= routing ? 'routerLink="/"' : 'href="#"' %>>Link 1</a>
9
+ <a mat-list-item <%= routing ? 'routerLink="/"' : 'href="#"' %>>Link 2</a>
10
+ <a mat-list-item <%= routing ? 'routerLink="/"' : 'href="#"' %>>Link 3</a>
11
+ </mat-nav-list>
12
+ </mat-sidenav>
13
+ <mat-sidenav-content>
14
+ <mat-toolbar color="primary">
15
+ @if (isHandset$ | async) {
16
+ <button
17
+ type="button"
18
+ aria-label="Toggle sidenav"
19
+ matIconButton
20
+ (click)="drawer.toggle()">
21
+ <mat-icon aria-label="Side nav toggle icon">menu</mat-icon>
22
+ </button>
23
+ }
24
+ <span><%= project %></span>
25
+ </mat-toolbar>
26
+ <!-- Add Content Here -->
27
+ </mat-sidenav-content>
28
+ </mat-sidenav-container>
@@ -0,0 +1,36 @@
1
+ import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';<% if(!standalone) { %>
2
+ import { MatButtonModule } from '@angular/material/button';
3
+ import { MatIconModule } from '@angular/material/icon';
4
+ import { MatListModule } from '@angular/material/list';
5
+ import { MatSidenavModule } from '@angular/material/sidenav';
6
+ import { MatToolbarModule } from '@angular/material/toolbar';<% } %>
7
+
8
+ import { <%= classify(name) %>Component } from './<%= dasherize(name) %>.component';
9
+
10
+ describe('<%= classify(name) %>Component', () => {
11
+ let component: <%= classify(name) %>Component;
12
+ let fixture: ComponentFixture<<%= classify(name) %>Component>;<% if(standalone) { %>
13
+
14
+ beforeEach(waitForAsync(() => {
15
+ TestBed.configureTestingModule({
16
+ declarations: [<%= classify(name) %>Component],
17
+ imports: [
18
+ MatButtonModule,
19
+ MatIconModule,
20
+ MatListModule,
21
+ MatSidenavModule,
22
+ MatToolbarModule,
23
+ ]
24
+ });
25
+ }));<% } %>
26
+
27
+ beforeEach(() => {
28
+ fixture = TestBed.createComponent(<%= classify(name) %>Component);
29
+ component = fixture.componentInstance;
30
+ fixture.detectChanges();
31
+ });
32
+
33
+ it('should compile', () => {
34
+ expect(component).toBeTruthy();
35
+ });
36
+ });
@@ -0,0 +1,42 @@
1
+ import { Component, inject<% if(!!viewEncapsulation) { %>, ViewEncapsulation<% }%><% if(changeDetection !== 'Default') { %>, ChangeDetectionStrategy<% }%> } from '@angular/core';
2
+ import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';<% if(standalone) { %>
3
+ import { AsyncPipe } from '@angular/common';
4
+ import { MatToolbarModule } from '@angular/material/toolbar';
5
+ import { MatButtonModule } from '@angular/material/button';
6
+ import { MatSidenavModule } from '@angular/material/sidenav';
7
+ import { MatListModule } from '@angular/material/list';
8
+ import { MatIconModule } from '@angular/material/icon';<% } %>
9
+ import { Observable } from 'rxjs';
10
+ import { map, shareReplay } from 'rxjs/operators';
11
+
12
+ @Component({
13
+ selector: '<%= selector %>',<% if(inlineTemplate) { %>
14
+ template: `
15
+ <%= indentTextContent(resolvedFiles.template, 4) %>
16
+ `,<% } else { %>
17
+ templateUrl: './<%= dasherize(name) %>.component.html',<% } if(inlineStyle) { %>
18
+ styles: `
19
+ <%= indentTextContent(resolvedFiles.stylesheet, 4) %>
20
+ `<% } else { %>
21
+ styleUrl: './<%= dasherize(name) %>.component.<%= style %>'<% } %><% if(!!viewEncapsulation) { %>,
22
+ encapsulation: ViewEncapsulation.<%= viewEncapsulation %><% } if (changeDetection !== 'Default') { %>,
23
+ changeDetection: ChangeDetectionStrategy.<%= changeDetection %><% } %><% if(standalone) { %>,
24
+ imports: [
25
+ MatToolbarModule,
26
+ MatButtonModule,
27
+ MatSidenavModule,
28
+ MatListModule,
29
+ MatIconModule,
30
+ AsyncPipe,
31
+ ]<% } else { %>,
32
+ standalone: false<% } %>
33
+ })
34
+ export class <%= classify(name) %>Component {
35
+ private breakpointObserver = inject(BreakpointObserver);
36
+
37
+ isHandset$: Observable<boolean> = this.breakpointObserver.observe(Breakpoints.Handset)
38
+ .pipe(
39
+ map(result => result.matches),
40
+ shareReplay()
41
+ );
42
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
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://angular.dev/license
7
+ */
8
+ import { Rule } from '@angular-devkit/schematics';
9
+ import { Schema } from './schema';
10
+ /**
11
+ * Scaffolds a new navigation component.
12
+ * Internally it bootstraps the base component schematic
13
+ */
14
+ export default function (options: Schema): Rule;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.default = default_1;
11
+ const schematics_1 = require("@angular-devkit/schematics");
12
+ const schematics_2 = require("@angular/cdk/schematics");
13
+ /**
14
+ * Scaffolds a new navigation component.
15
+ * Internally it bootstraps the base component schematic
16
+ */
17
+ function default_1(options) {
18
+ return (0, schematics_1.chain)([
19
+ (0, schematics_2.buildComponent)({ ...options }, {
20
+ template: './__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template',
21
+ stylesheet: './__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template',
22
+ }),
23
+ options.skipImport ? (0, schematics_1.noop)() : addNavModulesToModule(options),
24
+ ]);
25
+ }
26
+ /**
27
+ * Adds the required modules to the relative module.
28
+ */
29
+ function addNavModulesToModule(options) {
30
+ return async (host) => {
31
+ const isStandalone = await (0, schematics_2.isStandaloneSchematic)(host, options);
32
+ if (!isStandalone) {
33
+ const modulePath = (await (0, schematics_2.findModuleFromOptions)(host, options));
34
+ (0, schematics_2.addModuleImportToModule)(host, modulePath, 'MatToolbarModule', '@angular/material/toolbar');
35
+ (0, schematics_2.addModuleImportToModule)(host, modulePath, 'MatButtonModule', '@angular/material/button');
36
+ (0, schematics_2.addModuleImportToModule)(host, modulePath, 'MatSidenavModule', '@angular/material/sidenav');
37
+ (0, schematics_2.addModuleImportToModule)(host, modulePath, 'MatIconModule', '@angular/material/icon');
38
+ (0, schematics_2.addModuleImportToModule)(host, modulePath, 'MatListModule', '@angular/material/list');
39
+ }
40
+ };
41
+ }
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAeH,4BAaC;AA1BD,2DAAmE;AACnE,wDAKiC;AAGjC;;;GAGG;AACH,mBAAyB,OAAe;IACtC,OAAO,IAAA,kBAAK,EAAC;QACX,IAAA,2BAAc,EACZ,EAAC,GAAG,OAAO,EAAC,EACZ;YACE,QAAQ,EACN,kFAAkF;YACpF,UAAU,EACR,uFAAuF;SAC1F,CACF;QACD,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,iBAAI,GAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC;KAC7D,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,OAAe;IAC5C,OAAO,KAAK,EAAE,IAAU,EAAE,EAAE;QAC1B,MAAM,YAAY,GAAG,MAAM,IAAA,kCAAqB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEhE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,UAAU,GAAG,CAAC,MAAM,IAAA,kCAAqB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAE,CAAC;YACjE,IAAA,oCAAuB,EAAC,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,2BAA2B,CAAC,CAAC;YAC3F,IAAA,oCAAuB,EAAC,IAAI,EAAE,UAAU,EAAE,iBAAiB,EAAE,0BAA0B,CAAC,CAAC;YACzF,IAAA,oCAAuB,EAAC,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,2BAA2B,CAAC,CAAC;YAC3F,IAAA,oCAAuB,EAAC,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,wBAAwB,CAAC,CAAC;YACrF,IAAA,oCAAuB,EAAC,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,wBAAwB,CAAC,CAAC;QACvF,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
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://angular.dev/license
7
+ */
8
+ import { Schema as ComponentSchema } from '@schematics/angular/component/schema';
9
+ export interface Schema extends ComponentSchema {
10
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.dev/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["schema.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG"}
@@ -0,0 +1,105 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "SchematicsMaterialNavigation",
4
+ "title": "Material Navigation Options Schema",
5
+ "type": "object",
6
+ "properties": {
7
+ "path": {
8
+ "type": "string",
9
+ "format": "path",
10
+ "$default": {
11
+ "$source": "workingDirectory"
12
+ },
13
+ "description": "The path to create the component.",
14
+ "visible": false
15
+ },
16
+ "project": {
17
+ "type": "string",
18
+ "description": "The name of the project.",
19
+ "$default": {
20
+ "$source": "projectName"
21
+ }
22
+ },
23
+ "name": {
24
+ "type": "string",
25
+ "description": "The name of the component.",
26
+ "$default": {
27
+ "$source": "argv",
28
+ "index": 0
29
+ },
30
+ "x-prompt": "What should be the name of the component?"
31
+ },
32
+ "inlineStyle": {
33
+ "description": "Specifies if the style will be in the ts file.",
34
+ "type": "boolean",
35
+ "alias": "s"
36
+ },
37
+ "inlineTemplate": {
38
+ "description": "Specifies if the template will be in the ts file.",
39
+ "type": "boolean",
40
+ "alias": "t"
41
+ },
42
+ "standalone": {
43
+ "description": "Whether the generated component is standalone.",
44
+ "type": "boolean"
45
+ },
46
+ "viewEncapsulation": {
47
+ "description": "Specifies the view encapsulation strategy.",
48
+ "enum": ["Emulated", "None"],
49
+ "type": "string",
50
+ "alias": "v"
51
+ },
52
+ "changeDetection": {
53
+ "description": "Specifies the change detection strategy.",
54
+ "enum": ["Default", "OnPush"],
55
+ "type": "string",
56
+ "default": "Default",
57
+ "alias": "c"
58
+ },
59
+ "prefix": {
60
+ "type": "string",
61
+ "format": "html-selector",
62
+ "description": "The prefix to apply to generated selectors.",
63
+ "alias": "p"
64
+ },
65
+ "style": {
66
+ "description": "The file extension to be used for style files.",
67
+ "type": "string"
68
+ },
69
+ "skipTests": {
70
+ "type": "boolean",
71
+ "description": "When true, does not generate a test file."
72
+ },
73
+ "flat": {
74
+ "type": "boolean",
75
+ "description": "Flag to indicate if a dir is created.",
76
+ "default": false
77
+ },
78
+ "skipImport": {
79
+ "type": "boolean",
80
+ "description": "Flag to skip the module import.",
81
+ "default": false
82
+ },
83
+ "selector": {
84
+ "type": "string",
85
+ "format": "html-selector",
86
+ "description": "The selector to use for the component."
87
+ },
88
+ "module": {
89
+ "type": "string",
90
+ "description": "Allows specification of the declaring module.",
91
+ "alias": "m"
92
+ },
93
+ "export": {
94
+ "type": "boolean",
95
+ "default": false,
96
+ "description": "Specifies if declaring module exports the component."
97
+ },
98
+ "routing": {
99
+ "type": "boolean",
100
+ "default": false,
101
+ "description": "Specifies whether Angular routing is enabled. This controls whether anchor elements use href or routerLink"
102
+ }
103
+ },
104
+ "required": ["name"]
105
+ }
@@ -0,0 +1,111 @@
1
+ import { DataSource } from '@angular/cdk/collections';
2
+ import { MatPaginator } from '@angular/material/paginator';
3
+ import { MatSort } from '@angular/material/sort';
4
+ import { map } from 'rxjs/operators';
5
+ import { Observable, of as observableOf, merge } from 'rxjs';
6
+
7
+ // TODO: Replace this with your own data model type
8
+ export interface <%= classify(name) %>Item {
9
+ name: string;
10
+ id: number;
11
+ }
12
+
13
+ // TODO: replace this with real data from your application
14
+ const EXAMPLE_DATA: <%= classify(name) %>Item[] = [
15
+ {id: 1, name: 'Hydrogen'},
16
+ {id: 2, name: 'Helium'},
17
+ {id: 3, name: 'Lithium'},
18
+ {id: 4, name: 'Beryllium'},
19
+ {id: 5, name: 'Boron'},
20
+ {id: 6, name: 'Carbon'},
21
+ {id: 7, name: 'Nitrogen'},
22
+ {id: 8, name: 'Oxygen'},
23
+ {id: 9, name: 'Fluorine'},
24
+ {id: 10, name: 'Neon'},
25
+ {id: 11, name: 'Sodium'},
26
+ {id: 12, name: 'Magnesium'},
27
+ {id: 13, name: 'Aluminum'},
28
+ {id: 14, name: 'Silicon'},
29
+ {id: 15, name: 'Phosphorus'},
30
+ {id: 16, name: 'Sulfur'},
31
+ {id: 17, name: 'Chlorine'},
32
+ {id: 18, name: 'Argon'},
33
+ {id: 19, name: 'Potassium'},
34
+ {id: 20, name: 'Calcium'},
35
+ ];
36
+
37
+ /**
38
+ * Data source for the <%= classify(name) %> view. This class should
39
+ * encapsulate all logic for fetching and manipulating the displayed data
40
+ * (including sorting, pagination, and filtering).
41
+ */
42
+ export class <%= classify(name) %>DataSource extends DataSource<<%= classify(name) %>Item> {
43
+ data: <%= classify(name) %>Item[] = EXAMPLE_DATA;
44
+ paginator: MatPaginator | undefined;
45
+ sort: MatSort | undefined;
46
+
47
+ constructor() {
48
+ super();
49
+ }
50
+
51
+ /**
52
+ * Connect this data source to the table. The table will only update when
53
+ * the returned stream emits new items.
54
+ * @returns A stream of the items to be rendered.
55
+ */
56
+ connect(): Observable<<%= classify(name) %>Item[]> {
57
+ if (this.paginator && this.sort) {
58
+ // Combine everything that affects the rendered data into one update
59
+ // stream for the data-table to consume.
60
+ return merge(observableOf(this.data), this.paginator.page, this.sort.sortChange)
61
+ .pipe(map(() => {
62
+ return this.getPagedData(this.getSortedData([...this.data ]));
63
+ }));
64
+ } else {
65
+ throw Error('Please set the paginator and sort on the data source before connecting.');
66
+ }
67
+ }
68
+
69
+ /**
70
+ * Called when the table is being destroyed. Use this function, to clean up
71
+ * any open connections or free any held resources that were set up during connect.
72
+ */
73
+ disconnect(): void {}
74
+
75
+ /**
76
+ * Paginate the data (client-side). If you're using server-side pagination,
77
+ * this would be replaced by requesting the appropriate data from the server.
78
+ */
79
+ private getPagedData(data: <%= classify(name) %>Item[]): <%= classify(name) %>Item[] {
80
+ if (this.paginator) {
81
+ const startIndex = this.paginator.pageIndex * this.paginator.pageSize;
82
+ return data.splice(startIndex, this.paginator.pageSize);
83
+ } else {
84
+ return data;
85
+ }
86
+ }
87
+
88
+ /**
89
+ * Sort the data (client-side). If you're using server-side sorting,
90
+ * this would be replaced by requesting the appropriate data from the server.
91
+ */
92
+ private getSortedData(data: <%= classify(name) %>Item[]): <%= classify(name) %>Item[] {
93
+ if (!this.sort || !this.sort.active || this.sort.direction === '') {
94
+ return data;
95
+ }
96
+
97
+ return data.sort((a, b) => {
98
+ const isAsc = this.sort?.direction === 'asc';
99
+ switch (this.sort?.active) {
100
+ case 'name': return compare(a.name, b.name, isAsc);
101
+ case 'id': return compare(+a.id, +b.id, isAsc);
102
+ default: return 0;
103
+ }
104
+ });
105
+ }
106
+ }
107
+
108
+ /** Simple sort comparator for example ID/Name columns (for client-side sorting). */
109
+ function compare(a: string | number, b: string | number, isAsc: boolean): number {
110
+ return (a < b ? -1 : 1) * (isAsc ? 1 : -1);
111
+ }
@@ -0,0 +1,26 @@
1
+ <div class="mat-elevation-z2">
2
+ <table mat-table class="full-width-table" matSort aria-label="Elements">
3
+ <!-- Id Column -->
4
+ <ng-container matColumnDef="id">
5
+ <th mat-header-cell *matHeaderCellDef mat-sort-header>Id</th>
6
+ <td mat-cell *matCellDef="let row">{{row.id}}</td>
7
+ </ng-container>
8
+
9
+ <!-- Name Column -->
10
+ <ng-container matColumnDef="name">
11
+ <th mat-header-cell *matHeaderCellDef mat-sort-header>Name</th>
12
+ <td mat-cell *matCellDef="let row">{{row.name}}</td>
13
+ </ng-container>
14
+
15
+ <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
16
+ <tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
17
+ </table>
18
+
19
+ <mat-paginator #paginator
20
+ [length]="dataSource.data.length"
21
+ [pageIndex]="0"
22
+ [pageSize]="10"
23
+ [pageSizeOptions]="[5, 10, 20]"
24
+ aria-label="Select page">
25
+ </mat-paginator>
26
+ </div>
@@ -0,0 +1,32 @@
1
+ import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';<% if(!standalone) { %>
2
+ import { MatPaginatorModule } from '@angular/material/paginator';
3
+ import { MatSortModule } from '@angular/material/sort';
4
+ import { MatTableModule } from '@angular/material/table';<% } %>
5
+
6
+ import { <%= classify(name) %>Component } from './<%= dasherize(name) %>.component';
7
+
8
+ describe('<%= classify(name) %>Component', () => {
9
+ let component: <%= classify(name) %>Component;
10
+ let fixture: ComponentFixture<<%= classify(name) %>Component>;<% if(!standalone) { %>
11
+
12
+ beforeEach(waitForAsync(() => {
13
+ TestBed.configureTestingModule({
14
+ declarations: [<%= classify(name) %>Component],
15
+ imports: [
16
+ MatPaginatorModule,
17
+ MatSortModule,
18
+ MatTableModule,
19
+ ]
20
+ });
21
+ }));<% } %>
22
+
23
+ beforeEach(() => {
24
+ fixture = TestBed.createComponent(<%= classify(name) %>Component);
25
+ component = fixture.componentInstance;
26
+ fixture.detectChanges();
27
+ });
28
+
29
+ it('should compile', () => {
30
+ expect(component).toBeTruthy();
31
+ });
32
+ });
@@ -0,0 +1,36 @@
1
+ import { AfterViewInit, Component, ViewChild<% if(!!viewEncapsulation) { %>, ViewEncapsulation<% }%><% if(changeDetection !== 'Default') { %>, ChangeDetectionStrategy<% }%> } from '@angular/core';
2
+ import { <% if(standalone) { %>MatTableModule, <% } %>MatTable } from '@angular/material/table';
3
+ import { <% if(standalone) { %>MatPaginatorModule, <% } %>MatPaginator } from '@angular/material/paginator';
4
+ import { <% if(standalone) { %>MatSortModule, <% } %>MatSort } from '@angular/material/sort';
5
+ import { <%= classify(name) %>DataSource, <%= classify(name) %>Item } from './<%= dasherize(name) %>-datasource';
6
+
7
+ @Component({
8
+ selector: '<%= selector %>',<% if(inlineTemplate) { %>
9
+ template: `
10
+ <%= indentTextContent(resolvedFiles.template, 4) %>
11
+ `,<% } else { %>
12
+ templateUrl: './<%= dasherize(name) %>.component.html',<% } if(inlineStyle) { %>
13
+ styles: `
14
+ <%= indentTextContent(resolvedFiles.stylesheet, 4) %>
15
+ `<% } else { %>
16
+ styleUrl: './<%= dasherize(name) %>.component.<%= style %>'<% } %><% if(!!viewEncapsulation) { %>,
17
+ encapsulation: ViewEncapsulation.<%= viewEncapsulation %><% } if (changeDetection !== 'Default') { %>,
18
+ changeDetection: ChangeDetectionStrategy.<%= changeDetection %><% } %><% if(standalone) { %>,
19
+ imports: [MatTableModule, MatPaginatorModule, MatSortModule]<% } else { %>,
20
+ standalone: false<% } %>
21
+ })
22
+ export class <%= classify(name) %>Component implements AfterViewInit {
23
+ @ViewChild(MatPaginator) paginator!: MatPaginator;
24
+ @ViewChild(MatSort) sort!: MatSort;
25
+ @ViewChild(MatTable) table!: MatTable<<%= classify(name) %>Item>;
26
+ dataSource = new <%= classify(name) %>DataSource();
27
+
28
+ /** Columns displayed in the table. Columns IDs can be added, removed, or reordered. */
29
+ displayedColumns = ['id', 'name'];
30
+
31
+ ngAfterViewInit(): void {
32
+ this.dataSource.sort = this.sort;
33
+ this.dataSource.paginator = this.paginator;
34
+ this.table.dataSource = this.dataSource;
35
+ }
36
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
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://angular.dev/license
7
+ */
8
+ import { Rule } from '@angular-devkit/schematics';
9
+ import { Schema } from './schema';
10
+ /**
11
+ * Scaffolds a new table component.
12
+ * Internally it bootstraps the base component schematic
13
+ */
14
+ export default function (options: Schema): Rule;