@angular/material 17.1.0 → 17.2.0-next.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 (312) hide show
  1. package/_index.scss +4 -4
  2. package/badge/_badge-theme.scss +30 -180
  3. package/badge/index.d.ts +11 -1
  4. package/button/_button-base.scss +50 -10
  5. package/button/_button-theme.scss +92 -51
  6. package/button/_fab-theme.scss +82 -15
  7. package/button/_icon-button-theme.scss +11 -4
  8. package/button-toggle/_button-toggle-theme.scss +26 -11
  9. package/checkbox/_checkbox-theme.scss +41 -23
  10. package/chips/_chips-theme.scss +25 -9
  11. package/core/_core-theme.scss +85 -38
  12. package/core/index.d.ts +7 -4
  13. package/core/mdc-helpers/_mdc-helpers.scss +0 -8
  14. package/core/option/_option-theme.scss +24 -10
  15. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +64 -24
  16. package/core/tokens/_token-utils.scss +22 -0
  17. package/core/tokens/m2/_index.scss +16 -0
  18. package/core/tokens/m2/mat/_badge.scss +27 -1
  19. package/core/tokens/m2/mat/_checkbox.scss +45 -0
  20. package/core/tokens/m2/mat/_dialog.scss +49 -0
  21. package/core/tokens/m2/mat/_fab-small.scss +95 -0
  22. package/core/tokens/m2/mat/_fab.scss +6 -1
  23. package/core/tokens/m2/mat/_filled-button.scss +17 -2
  24. package/core/tokens/m2/mat/_form-field.scss +15 -0
  25. package/core/tokens/m2/mat/_icon-button.scss +6 -1
  26. package/core/tokens/m2/mat/_outlined-button.scss +17 -2
  27. package/core/tokens/m2/mat/_protected-button.scss +17 -2
  28. package/core/tokens/m2/mat/_radio.scss +6 -1
  29. package/core/tokens/m2/mat/_stepper.scss +6 -1
  30. package/core/tokens/m2/mat/_text-button.scss +20 -2
  31. package/core/tokens/m2/mdc/_extended-fab.scss +3 -2
  32. package/core/tokens/m2/mdc/_fab-small.scss +90 -0
  33. package/core/tokens/m2/mdc/_fab.scss +0 -11
  34. package/core/tokens/m2/mdc/_filled-text-field.scss +8 -8
  35. package/core/tokens/m2/mdc/_icon-button.scss +15 -7
  36. package/core/tokens/m2/mdc/_outlined-text-field.scss +6 -6
  37. package/core/tokens/m2/mdc/_switch.scss +12 -3
  38. package/datepicker/_datepicker-theme.scss +25 -9
  39. package/dialog/_dialog-theme.scss +10 -0
  40. package/dialog/index.d.ts +28 -9
  41. package/esm2022/autocomplete/autocomplete-origin.mjs +4 -4
  42. package/esm2022/autocomplete/autocomplete-trigger.mjs +4 -4
  43. package/esm2022/autocomplete/autocomplete.mjs +4 -4
  44. package/esm2022/autocomplete/module.mjs +5 -5
  45. package/esm2022/badge/badge-module.mjs +9 -7
  46. package/esm2022/badge/badge.mjs +32 -6
  47. package/esm2022/badge/public-api.mjs +2 -2
  48. package/esm2022/bottom-sheet/bottom-sheet-container.mjs +4 -4
  49. package/esm2022/bottom-sheet/bottom-sheet-module.mjs +5 -5
  50. package/esm2022/bottom-sheet/bottom-sheet.mjs +4 -4
  51. package/esm2022/button/button-base.mjs +7 -7
  52. package/esm2022/button/button.mjs +10 -11
  53. package/esm2022/button/fab.mjs +18 -19
  54. package/esm2022/button/icon-button.mjs +10 -11
  55. package/esm2022/button/module.mjs +5 -5
  56. package/esm2022/button-toggle/button-toggle-module.mjs +5 -5
  57. package/esm2022/button-toggle/button-toggle.mjs +7 -7
  58. package/esm2022/card/card.mjs +43 -43
  59. package/esm2022/card/module.mjs +5 -5
  60. package/esm2022/checkbox/checkbox-required-validator.mjs +4 -4
  61. package/esm2022/checkbox/checkbox.mjs +7 -8
  62. package/esm2022/checkbox/module.mjs +9 -9
  63. package/esm2022/chips/chip-action.mjs +4 -4
  64. package/esm2022/chips/chip-edit-input.mjs +4 -4
  65. package/esm2022/chips/chip-grid.mjs +4 -4
  66. package/esm2022/chips/chip-icons.mjs +10 -10
  67. package/esm2022/chips/chip-input.mjs +4 -4
  68. package/esm2022/chips/chip-listbox.mjs +4 -4
  69. package/esm2022/chips/chip-option.mjs +4 -4
  70. package/esm2022/chips/chip-row.mjs +5 -6
  71. package/esm2022/chips/chip-set.mjs +4 -4
  72. package/esm2022/chips/chip.mjs +5 -6
  73. package/esm2022/chips/module.mjs +5 -5
  74. package/esm2022/core/common-behaviors/common-module.mjs +5 -5
  75. package/esm2022/core/common-behaviors/error-state.mjs +2 -4
  76. package/esm2022/core/datetime/index.mjs +9 -9
  77. package/esm2022/core/datetime/native-date-adapter.mjs +4 -4
  78. package/esm2022/core/error/error-options.mjs +7 -7
  79. package/esm2022/core/internal-form-field/internal-form-field.mjs +4 -4
  80. package/esm2022/core/line/line.mjs +8 -8
  81. package/esm2022/core/option/index.mjs +5 -5
  82. package/esm2022/core/option/optgroup.mjs +4 -4
  83. package/esm2022/core/option/option.mjs +4 -4
  84. package/esm2022/core/private/ripple-loader.mjs +4 -4
  85. package/esm2022/core/ripple/index.mjs +5 -5
  86. package/esm2022/core/ripple/ripple.mjs +5 -6
  87. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +5 -5
  88. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +5 -6
  89. package/esm2022/core/version.mjs +1 -1
  90. package/esm2022/datepicker/calendar-body.mjs +4 -4
  91. package/esm2022/datepicker/calendar.mjs +7 -7
  92. package/esm2022/datepicker/date-range-input-parts.mjs +10 -10
  93. package/esm2022/datepicker/date-range-input.mjs +4 -4
  94. package/esm2022/datepicker/date-range-picker.mjs +4 -4
  95. package/esm2022/datepicker/date-range-selection-strategy.mjs +4 -4
  96. package/esm2022/datepicker/date-selection-model.mjs +10 -10
  97. package/esm2022/datepicker/datepicker-actions.mjs +10 -10
  98. package/esm2022/datepicker/datepicker-base.mjs +7 -7
  99. package/esm2022/datepicker/datepicker-input-base.mjs +4 -4
  100. package/esm2022/datepicker/datepicker-input.mjs +4 -4
  101. package/esm2022/datepicker/datepicker-intl.mjs +4 -4
  102. package/esm2022/datepicker/datepicker-module.mjs +5 -5
  103. package/esm2022/datepicker/datepicker-toggle.mjs +7 -7
  104. package/esm2022/datepicker/datepicker.mjs +4 -4
  105. package/esm2022/datepicker/month-view.mjs +4 -4
  106. package/esm2022/datepicker/multi-year-view.mjs +4 -4
  107. package/esm2022/datepicker/year-view.mjs +4 -4
  108. package/esm2022/dialog/dialog-config.mjs +1 -3
  109. package/esm2022/dialog/dialog-container.mjs +17 -7
  110. package/esm2022/dialog/dialog-content-directives.mjs +49 -31
  111. package/esm2022/dialog/dialog-ref.mjs +3 -1
  112. package/esm2022/dialog/dialog.mjs +4 -4
  113. package/esm2022/dialog/module.mjs +5 -5
  114. package/esm2022/dialog/public-api.mjs +2 -2
  115. package/esm2022/divider/divider-module.mjs +5 -5
  116. package/esm2022/divider/divider.mjs +4 -4
  117. package/esm2022/expansion/accordion.mjs +4 -4
  118. package/esm2022/expansion/expansion-module.mjs +5 -5
  119. package/esm2022/expansion/expansion-panel-content.mjs +4 -4
  120. package/esm2022/expansion/expansion-panel-header.mjs +11 -12
  121. package/esm2022/expansion/expansion-panel.mjs +8 -9
  122. package/esm2022/form-field/directives/error.mjs +4 -4
  123. package/esm2022/form-field/directives/floating-label.mjs +4 -4
  124. package/esm2022/form-field/directives/hint.mjs +4 -4
  125. package/esm2022/form-field/directives/label.mjs +4 -4
  126. package/esm2022/form-field/directives/line-ripple.mjs +4 -4
  127. package/esm2022/form-field/directives/notched-outline.mjs +4 -4
  128. package/esm2022/form-field/directives/prefix.mjs +4 -4
  129. package/esm2022/form-field/directives/suffix.mjs +4 -4
  130. package/esm2022/form-field/form-field-control.mjs +4 -4
  131. package/esm2022/form-field/form-field.mjs +7 -8
  132. package/esm2022/form-field/module.mjs +5 -5
  133. package/esm2022/grid-list/grid-list-module.mjs +5 -5
  134. package/esm2022/grid-list/grid-list.mjs +4 -4
  135. package/esm2022/grid-list/grid-tile.mjs +16 -16
  136. package/esm2022/icon/icon-module.mjs +5 -5
  137. package/esm2022/icon/icon-registry.mjs +4 -4
  138. package/esm2022/icon/icon.mjs +4 -4
  139. package/esm2022/icon/testing/fake-icon-registry.mjs +8 -8
  140. package/esm2022/input/input.mjs +4 -4
  141. package/esm2022/input/module.mjs +5 -5
  142. package/esm2022/list/action-list.mjs +4 -4
  143. package/esm2022/list/list-base.mjs +8 -9
  144. package/esm2022/list/list-item-sections.mjs +19 -19
  145. package/esm2022/list/list-module.mjs +5 -5
  146. package/esm2022/list/list-option.mjs +4 -4
  147. package/esm2022/list/list.mjs +8 -9
  148. package/esm2022/list/nav-list.mjs +4 -4
  149. package/esm2022/list/selection-list.mjs +4 -4
  150. package/esm2022/list/subheader.mjs +4 -4
  151. package/esm2022/menu/menu-content.mjs +4 -4
  152. package/esm2022/menu/menu-item.mjs +4 -4
  153. package/esm2022/menu/menu-trigger.mjs +4 -4
  154. package/esm2022/menu/menu.mjs +4 -4
  155. package/esm2022/menu/module.mjs +5 -5
  156. package/esm2022/paginator/module.mjs +5 -5
  157. package/esm2022/paginator/paginator-intl.mjs +4 -4
  158. package/esm2022/paginator/paginator.mjs +4 -4
  159. package/esm2022/progress-bar/module.mjs +5 -5
  160. package/esm2022/progress-bar/progress-bar.mjs +5 -6
  161. package/esm2022/progress-spinner/module.mjs +5 -5
  162. package/esm2022/progress-spinner/progress-spinner.mjs +5 -6
  163. package/esm2022/radio/module.mjs +5 -5
  164. package/esm2022/radio/radio.mjs +9 -10
  165. package/esm2022/select/module.mjs +5 -5
  166. package/esm2022/select/select.mjs +7 -7
  167. package/esm2022/sidenav/drawer.mjs +11 -12
  168. package/esm2022/sidenav/sidenav-module.mjs +5 -5
  169. package/esm2022/sidenav/sidenav.mjs +10 -10
  170. package/esm2022/slide-toggle/module.mjs +9 -9
  171. package/esm2022/slide-toggle/slide-toggle-required-validator.mjs +4 -4
  172. package/esm2022/slide-toggle/slide-toggle.mjs +7 -8
  173. package/esm2022/slider/module.mjs +5 -5
  174. package/esm2022/slider/slider-input.mjs +7 -7
  175. package/esm2022/slider/slider-thumb.mjs +4 -4
  176. package/esm2022/slider/slider.mjs +5 -6
  177. package/esm2022/snack-bar/module.mjs +5 -5
  178. package/esm2022/snack-bar/simple-snack-bar.mjs +4 -4
  179. package/esm2022/snack-bar/snack-bar-container.mjs +4 -4
  180. package/esm2022/snack-bar/snack-bar-content.mjs +10 -10
  181. package/esm2022/snack-bar/snack-bar.mjs +4 -4
  182. package/esm2022/sort/sort-header-intl.mjs +4 -4
  183. package/esm2022/sort/sort-header.mjs +4 -4
  184. package/esm2022/sort/sort-module.mjs +5 -5
  185. package/esm2022/sort/sort.mjs +4 -4
  186. package/esm2022/stepper/step-content.mjs +4 -4
  187. package/esm2022/stepper/step-header.mjs +5 -5
  188. package/esm2022/stepper/step-label.mjs +4 -4
  189. package/esm2022/stepper/stepper-button.mjs +7 -7
  190. package/esm2022/stepper/stepper-icon.mjs +4 -4
  191. package/esm2022/stepper/stepper-intl.mjs +4 -4
  192. package/esm2022/stepper/stepper-module.mjs +5 -5
  193. package/esm2022/stepper/stepper.mjs +7 -7
  194. package/esm2022/table/cell.mjs +22 -22
  195. package/esm2022/table/module.mjs +5 -5
  196. package/esm2022/table/row.mjs +22 -22
  197. package/esm2022/table/table.mjs +7 -7
  198. package/esm2022/table/text-column.mjs +4 -4
  199. package/esm2022/tabs/module.mjs +5 -5
  200. package/esm2022/tabs/paginated-tab-header.mjs +5 -6
  201. package/esm2022/tabs/tab-body.mjs +7 -7
  202. package/esm2022/tabs/tab-content.mjs +4 -4
  203. package/esm2022/tabs/tab-group.mjs +5 -6
  204. package/esm2022/tabs/tab-header.mjs +5 -6
  205. package/esm2022/tabs/tab-label-wrapper.mjs +4 -4
  206. package/esm2022/tabs/tab-label.mjs +4 -4
  207. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +11 -12
  208. package/esm2022/tabs/tab.mjs +4 -4
  209. package/esm2022/toolbar/toolbar-module.mjs +5 -5
  210. package/esm2022/toolbar/toolbar.mjs +7 -7
  211. package/esm2022/tooltip/module.mjs +5 -5
  212. package/esm2022/tooltip/tooltip.mjs +8 -9
  213. package/esm2022/tree/node.mjs +10 -10
  214. package/esm2022/tree/outlet.mjs +4 -4
  215. package/esm2022/tree/padding.mjs +4 -4
  216. package/esm2022/tree/toggle.mjs +4 -4
  217. package/esm2022/tree/tree-module.mjs +5 -5
  218. package/esm2022/tree/tree.mjs +4 -4
  219. package/fesm2022/autocomplete.mjs +13 -13
  220. package/fesm2022/autocomplete.mjs.map +1 -1
  221. package/fesm2022/badge.mjs +38 -10
  222. package/fesm2022/badge.mjs.map +1 -1
  223. package/fesm2022/bottom-sheet.mjs +10 -10
  224. package/fesm2022/bottom-sheet.mjs.map +1 -1
  225. package/fesm2022/button-toggle.mjs +10 -10
  226. package/fesm2022/button-toggle.mjs.map +1 -1
  227. package/fesm2022/button.mjs +43 -44
  228. package/fesm2022/button.mjs.map +1 -1
  229. package/fesm2022/card.mjs +46 -46
  230. package/fesm2022/card.mjs.map +1 -1
  231. package/fesm2022/checkbox.mjs +17 -18
  232. package/fesm2022/checkbox.mjs.map +1 -1
  233. package/fesm2022/chips.mjs +41 -42
  234. package/fesm2022/chips.mjs.map +1 -1
  235. package/fesm2022/core.mjs +62 -65
  236. package/fesm2022/core.mjs.map +1 -1
  237. package/fesm2022/datepicker.mjs +82 -82
  238. package/fesm2022/datepicker.mjs.map +1 -1
  239. package/fesm2022/dialog.mjs +74 -46
  240. package/fesm2022/dialog.mjs.map +1 -1
  241. package/fesm2022/divider.mjs +7 -7
  242. package/fesm2022/divider.mjs.map +1 -1
  243. package/fesm2022/expansion.mjs +26 -27
  244. package/fesm2022/expansion.mjs.map +1 -1
  245. package/fesm2022/form-field.mjs +37 -38
  246. package/fesm2022/form-field.mjs.map +1 -1
  247. package/fesm2022/grid-list.mjs +22 -22
  248. package/fesm2022/grid-list.mjs.map +1 -1
  249. package/fesm2022/icon/testing.mjs +7 -7
  250. package/fesm2022/icon/testing.mjs.map +1 -1
  251. package/fesm2022/icon.mjs +10 -10
  252. package/fesm2022/icon.mjs.map +1 -1
  253. package/fesm2022/input.mjs +7 -7
  254. package/fesm2022/input.mjs.map +1 -1
  255. package/fesm2022/list.mjs +51 -52
  256. package/fesm2022/list.mjs.map +1 -1
  257. package/fesm2022/menu.mjs +16 -16
  258. package/fesm2022/menu.mjs.map +1 -1
  259. package/fesm2022/paginator.mjs +10 -10
  260. package/fesm2022/paginator.mjs.map +1 -1
  261. package/fesm2022/progress-bar.mjs +8 -9
  262. package/fesm2022/progress-bar.mjs.map +1 -1
  263. package/fesm2022/progress-spinner.mjs +8 -9
  264. package/fesm2022/progress-spinner.mjs.map +1 -1
  265. package/fesm2022/radio.mjs +12 -13
  266. package/fesm2022/radio.mjs.map +1 -1
  267. package/fesm2022/select.mjs +10 -10
  268. package/fesm2022/select.mjs.map +1 -1
  269. package/fesm2022/sidenav.mjs +23 -24
  270. package/fesm2022/sidenav.mjs.map +1 -1
  271. package/fesm2022/slide-toggle.mjs +17 -18
  272. package/fesm2022/slide-toggle.mjs.map +1 -1
  273. package/fesm2022/slider.mjs +17 -18
  274. package/fesm2022/slider.mjs.map +1 -1
  275. package/fesm2022/snack-bar.mjs +22 -22
  276. package/fesm2022/snack-bar.mjs.map +1 -1
  277. package/fesm2022/sort.mjs +13 -13
  278. package/fesm2022/sort.mjs.map +1 -1
  279. package/fesm2022/stepper.mjs +32 -32
  280. package/fesm2022/stepper.mjs.map +1 -1
  281. package/fesm2022/table.mjs +55 -55
  282. package/fesm2022/table.mjs.map +1 -1
  283. package/fesm2022/tabs.mjs +41 -42
  284. package/fesm2022/tabs.mjs.map +1 -1
  285. package/fesm2022/toolbar.mjs +10 -10
  286. package/fesm2022/toolbar.mjs.map +1 -1
  287. package/fesm2022/tooltip.mjs +11 -12
  288. package/fesm2022/tooltip.mjs.map +1 -1
  289. package/fesm2022/tree.mjs +25 -25
  290. package/fesm2022/tree.mjs.map +1 -1
  291. package/form-field/_form-field-theme.scss +31 -14
  292. package/icon/_icon-theme.scss +2 -2
  293. package/package.json +7 -7
  294. package/paginator/_paginator-theme.scss +10 -16
  295. package/prebuilt-themes/deeppurple-amber.css +1 -1
  296. package/prebuilt-themes/indigo-pink.css +1 -1
  297. package/prebuilt-themes/pink-bluegrey.css +1 -1
  298. package/prebuilt-themes/purple-green.css +1 -1
  299. package/progress-bar/_progress-bar-theme.scss +27 -9
  300. package/progress-spinner/_progress-spinner-theme.scss +38 -17
  301. package/radio/_radio-theme.scss +34 -18
  302. package/schematics/ng-add/index.js +2 -2
  303. package/schematics/ng-add/index.mjs +2 -2
  304. package/schematics/ng-add/setup-project.js +7 -75
  305. package/schematics/ng-add/setup-project.mjs +7 -75
  306. package/schematics/ng-generate/mdc-migration/index_bundled.js +122 -115
  307. package/schematics/ng-generate/mdc-migration/index_bundled.js.map +4 -4
  308. package/select/_select-theme.scss +24 -10
  309. package/slide-toggle/_slide-toggle-theme.scss +36 -16
  310. package/slider/_slider-theme.scss +28 -11
  311. package/stepper/_stepper-theme.scss +28 -7
  312. package/tabs/_tabs-theme.scss +32 -14
@@ -6900,6 +6900,12 @@ var ChangeDetectionStrategy;
6900
6900
  ChangeDetectionStrategy2[ChangeDetectionStrategy2["OnPush"] = 0] = "OnPush";
6901
6901
  ChangeDetectionStrategy2[ChangeDetectionStrategy2["Default"] = 1] = "Default";
6902
6902
  })(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));
6903
+ var InputFlags;
6904
+ (function(InputFlags2) {
6905
+ InputFlags2[InputFlags2["None"] = 0] = "None";
6906
+ InputFlags2[InputFlags2["SignalBased"] = 1] = "SignalBased";
6907
+ InputFlags2[InputFlags2["HasDecoratorInputTransform"] = 2] = "HasDecoratorInputTransform";
6908
+ })(InputFlags || (InputFlags = {}));
6903
6909
  var CUSTOM_ELEMENTS_SCHEMA = {
6904
6910
  name: "custom-elements"
6905
6911
  };
@@ -7256,12 +7262,13 @@ var BinaryOperator;
7256
7262
  BinaryOperator2[BinaryOperator2["Modulo"] = 8] = "Modulo";
7257
7263
  BinaryOperator2[BinaryOperator2["And"] = 9] = "And";
7258
7264
  BinaryOperator2[BinaryOperator2["Or"] = 10] = "Or";
7259
- BinaryOperator2[BinaryOperator2["BitwiseAnd"] = 11] = "BitwiseAnd";
7260
- BinaryOperator2[BinaryOperator2["Lower"] = 12] = "Lower";
7261
- BinaryOperator2[BinaryOperator2["LowerEquals"] = 13] = "LowerEquals";
7262
- BinaryOperator2[BinaryOperator2["Bigger"] = 14] = "Bigger";
7263
- BinaryOperator2[BinaryOperator2["BiggerEquals"] = 15] = "BiggerEquals";
7264
- BinaryOperator2[BinaryOperator2["NullishCoalesce"] = 16] = "NullishCoalesce";
7265
+ BinaryOperator2[BinaryOperator2["BitwiseOr"] = 11] = "BitwiseOr";
7266
+ BinaryOperator2[BinaryOperator2["BitwiseAnd"] = 12] = "BitwiseAnd";
7267
+ BinaryOperator2[BinaryOperator2["Lower"] = 13] = "Lower";
7268
+ BinaryOperator2[BinaryOperator2["LowerEquals"] = 14] = "LowerEquals";
7269
+ BinaryOperator2[BinaryOperator2["Bigger"] = 15] = "Bigger";
7270
+ BinaryOperator2[BinaryOperator2["BiggerEquals"] = 16] = "BiggerEquals";
7271
+ BinaryOperator2[BinaryOperator2["NullishCoalesce"] = 17] = "NullishCoalesce";
7265
7272
  })(BinaryOperator || (BinaryOperator = {}));
7266
7273
  function nullSafeIsEquivalent(base, other) {
7267
7274
  if (base == null || other == null) {
@@ -7334,6 +7341,9 @@ var Expression = class {
7334
7341
  and(rhs, sourceSpan) {
7335
7342
  return new BinaryOperatorExpr(BinaryOperator.And, this, rhs, null, sourceSpan);
7336
7343
  }
7344
+ bitwiseOr(rhs, sourceSpan, parens = true) {
7345
+ return new BinaryOperatorExpr(BinaryOperator.BitwiseOr, this, rhs, null, sourceSpan, parens);
7346
+ }
7337
7347
  bitwiseAnd(rhs, sourceSpan, parens = true) {
7338
7348
  return new BinaryOperatorExpr(BinaryOperator.BitwiseAnd, this, rhs, null, sourceSpan, parens);
7339
7349
  }
@@ -8925,6 +8935,12 @@ var Identifiers = _Identifiers;
8925
8935
  moduleName: CORE
8926
8936
  };
8927
8937
  })();
8938
+ (() => {
8939
+ _Identifiers.InputFlags = {
8940
+ name: "\u0275\u0275InputFlags",
8941
+ moduleName: CORE
8942
+ };
8943
+ })();
8928
8944
  (() => {
8929
8945
  _Identifiers.sanitizeHtml = { name: "\u0275\u0275sanitizeHtml", moduleName: CORE };
8930
8946
  })();
@@ -9518,6 +9534,9 @@ var AbstractEmitterVisitor = class {
9518
9534
  case BinaryOperator.And:
9519
9535
  opStr = "&&";
9520
9536
  break;
9537
+ case BinaryOperator.BitwiseOr:
9538
+ opStr = "|";
9539
+ break;
9521
9540
  case BinaryOperator.BitwiseAnd:
9522
9541
  opStr = "&";
9523
9542
  break;
@@ -10626,7 +10645,7 @@ function asLiteral(value) {
10626
10645
  }
10627
10646
  return literal(value, INFERRED_TYPE);
10628
10647
  }
10629
- function conditionallyCreateDirectiveBindingLiteral(map, keepDeclared) {
10648
+ function conditionallyCreateDirectiveBindingLiteral(map, forInputs) {
10630
10649
  const keys = Object.getOwnPropertyNames(map);
10631
10650
  if (keys.length === 0) {
10632
10651
  return null;
@@ -10646,12 +10665,25 @@ function conditionallyCreateDirectiveBindingLiteral(map, keepDeclared) {
10646
10665
  minifiedName = key;
10647
10666
  declaredName = value.classPropertyName;
10648
10667
  publicName = value.bindingPropertyName;
10649
- if (keepDeclared && (publicName !== declaredName || value.transformFunction != null)) {
10650
- const expressionKeys = [asLiteral(publicName), asLiteral(declaredName)];
10651
- if (value.transformFunction != null) {
10652
- expressionKeys.push(value.transformFunction);
10668
+ const differentDeclaringName = publicName !== declaredName;
10669
+ const hasDecoratorInputTransform = value.transformFunction !== null;
10670
+ let flags = null;
10671
+ if (value.isSignal) {
10672
+ flags = bitwiseOrInputFlagsExpr(InputFlags.SignalBased, flags);
10673
+ }
10674
+ if (hasDecoratorInputTransform) {
10675
+ flags = bitwiseOrInputFlagsExpr(InputFlags.HasDecoratorInputTransform, flags);
10676
+ }
10677
+ if (forInputs && (differentDeclaringName || hasDecoratorInputTransform || flags !== null)) {
10678
+ const flagsExpr = flags != null ? flags : importExpr(Identifiers.InputFlags).prop(InputFlags[InputFlags.None]);
10679
+ const result = [flagsExpr, asLiteral(publicName)];
10680
+ if (differentDeclaringName || hasDecoratorInputTransform) {
10681
+ result.push(asLiteral(declaredName));
10682
+ if (hasDecoratorInputTransform) {
10683
+ result.push(value.transformFunction);
10684
+ }
10653
10685
  }
10654
- expressionValue = literalArr(expressionKeys);
10686
+ expressionValue = literalArr(result);
10655
10687
  } else {
10656
10688
  expressionValue = asLiteral(publicName);
10657
10689
  }
@@ -10663,6 +10695,15 @@ function conditionallyCreateDirectiveBindingLiteral(map, keepDeclared) {
10663
10695
  };
10664
10696
  }));
10665
10697
  }
10698
+ function getInputFlagExpr(flag) {
10699
+ return importExpr(Identifiers.InputFlags).prop(InputFlags[flag]);
10700
+ }
10701
+ function bitwiseOrInputFlagsExpr(flag, expr) {
10702
+ if (expr === null) {
10703
+ return getInputFlagExpr(flag);
10704
+ }
10705
+ return getInputFlagExpr(flag).bitwiseOr(expr);
10706
+ }
10666
10707
  function trimTrailingNulls(parameters) {
10667
10708
  while (isNull(parameters[parameters.length - 1])) {
10668
10709
  parameters.pop();
@@ -13502,13 +13543,6 @@ var DeferTriggerKind;
13502
13543
  DeferTriggerKind2[DeferTriggerKind2["Interaction"] = 4] = "Interaction";
13503
13544
  DeferTriggerKind2[DeferTriggerKind2["Viewport"] = 5] = "Viewport";
13504
13545
  })(DeferTriggerKind || (DeferTriggerKind = {}));
13505
- var DerivedRepeaterVarIdentity;
13506
- (function(DerivedRepeaterVarIdentity2) {
13507
- DerivedRepeaterVarIdentity2[DerivedRepeaterVarIdentity2["First"] = 0] = "First";
13508
- DerivedRepeaterVarIdentity2[DerivedRepeaterVarIdentity2["Last"] = 1] = "Last";
13509
- DerivedRepeaterVarIdentity2[DerivedRepeaterVarIdentity2["Even"] = 2] = "Even";
13510
- DerivedRepeaterVarIdentity2[DerivedRepeaterVarIdentity2["Odd"] = 3] = "Odd";
13511
- })(DerivedRepeaterVarIdentity || (DerivedRepeaterVarIdentity = {}));
13512
13546
  var I18nContextKind;
13513
13547
  (function(I18nContextKind2) {
13514
13548
  I18nContextKind2[I18nContextKind2["RootI18n"] = 0] = "RootI18n";
@@ -13657,10 +13691,11 @@ function createClassMapOp(xref, expression, sourceSpan) {
13657
13691
  sourceSpan
13658
13692
  }, TRAIT_DEPENDS_ON_SLOT_CONTEXT), TRAIT_CONSUMES_VARS), NEW_OP);
13659
13693
  }
13660
- function createAttributeOp(target, name, expression, securityContext, isTextAttribute, isStructuralTemplateAttribute, templateKind, i18nMessage, sourceSpan) {
13694
+ function createAttributeOp(target, namespace, name, expression, securityContext, isTextAttribute, isStructuralTemplateAttribute, templateKind, i18nMessage, sourceSpan) {
13661
13695
  return __spreadValues(__spreadValues(__spreadValues({
13662
13696
  kind: OpKind.Attribute,
13663
13697
  target,
13698
+ namespace,
13664
13699
  name,
13665
13700
  expression,
13666
13701
  securityContext,
@@ -14313,27 +14348,6 @@ var ConditionalCaseExpr = class extends ExpressionBase {
14313
14348
  }
14314
14349
  }
14315
14350
  };
14316
- var DerivedRepeaterVarExpr = class extends ExpressionBase {
14317
- constructor(xref, identity) {
14318
- super();
14319
- this.xref = xref;
14320
- this.identity = identity;
14321
- this.kind = ExpressionKind.DerivedRepeaterVar;
14322
- }
14323
- transformInternalExpressions(transform2, flags) {
14324
- }
14325
- visitExpression(visitor, context) {
14326
- }
14327
- isEquivalent(e) {
14328
- return e instanceof DerivedRepeaterVarExpr && e.identity === this.identity && e.xref === this.xref;
14329
- }
14330
- isConstant() {
14331
- return false;
14332
- }
14333
- clone() {
14334
- return new DerivedRepeaterVarExpr(this.xref, this.identity);
14335
- }
14336
- };
14337
14351
  var ConstCollectedExpr = class extends ExpressionBase {
14338
14352
  constructor(expr) {
14339
14353
  super();
@@ -14933,11 +14947,12 @@ function createProjectionOp(xref, selector, i18nPlaceholder, sourceSpan) {
14933
14947
  sourceSpan
14934
14948
  }, NEW_OP), TRAIT_CONSUMES_SLOT);
14935
14949
  }
14936
- function createExtractedAttributeOp(target, bindingKind, name, expression, i18nContext, i18nMessage, securityContext) {
14950
+ function createExtractedAttributeOp(target, bindingKind, namespace, name, expression, i18nContext, i18nMessage, securityContext) {
14937
14951
  return __spreadValues({
14938
14952
  kind: OpKind.ExtractedAttribute,
14939
14953
  target,
14940
14954
  bindingKind,
14955
+ namespace,
14941
14956
  name,
14942
14957
  expression,
14943
14958
  i18nContext,
@@ -15316,6 +15331,7 @@ function extractAttributes(job) {
15316
15331
  createExtractedAttributeOp(
15317
15332
  op.target,
15318
15333
  bindingKind,
15334
+ null,
15319
15335
  op.name,
15320
15336
  null,
15321
15337
  null,
@@ -15332,6 +15348,7 @@ function extractAttributes(job) {
15332
15348
  OpList.insertBefore(createExtractedAttributeOp(
15333
15349
  op.target,
15334
15350
  BindingKind.Property,
15351
+ null,
15335
15352
  op.name,
15336
15353
  null,
15337
15354
  null,
@@ -15345,6 +15362,7 @@ function extractAttributes(job) {
15345
15362
  const extractedAttributeOp = createExtractedAttributeOp(
15346
15363
  op.target,
15347
15364
  BindingKind.Property,
15365
+ null,
15348
15366
  op.name,
15349
15367
  null,
15350
15368
  null,
@@ -15381,7 +15399,7 @@ function extractAttributeOp(unit, op, elements) {
15381
15399
  extractable && (extractable = op.isTextAttribute);
15382
15400
  }
15383
15401
  if (extractable) {
15384
- const extractedAttributeOp = createExtractedAttributeOp(op.target, op.isStructuralTemplateAttribute ? BindingKind.Template : BindingKind.Attribute, op.name, op.expression, op.i18nContext, op.i18nMessage, op.securityContext);
15402
+ const extractedAttributeOp = createExtractedAttributeOp(op.target, op.isStructuralTemplateAttribute ? BindingKind.Template : BindingKind.Attribute, op.namespace, op.name, op.expression, op.i18nContext, op.i18nMessage, op.securityContext);
15385
15403
  if (unit.job.kind === CompilationJobKind.Host) {
15386
15404
  unit.create.push(extractedAttributeOp);
15387
15405
  } else {
@@ -15420,7 +15438,8 @@ function specializeBindings(job) {
15420
15438
  const target = lookupElement$1(elements, op.target);
15421
15439
  target.nonBindable = true;
15422
15440
  } else {
15423
- OpList.replace(op, createAttributeOp(op.target, op.name, op.expression, op.securityContext, op.isTextAttribute, op.isStructuralTemplateAttribute, op.templateKind, op.i18nMessage, op.sourceSpan));
15441
+ const [namespace, name] = splitNsName(op.name);
15442
+ OpList.replace(op, createAttributeOp(op.target, namespace, name, op.expression, op.securityContext, op.isTextAttribute, op.isStructuralTemplateAttribute, op.templateKind, op.i18nMessage, op.sourceSpan));
15424
15443
  }
15425
15444
  break;
15426
15445
  case BindingKind.Property:
@@ -15552,6 +15571,7 @@ var BINARY_OPERATORS = /* @__PURE__ */ new Map([
15552
15571
  ["&&", BinaryOperator.And],
15553
15572
  [">", BinaryOperator.Bigger],
15554
15573
  [">=", BinaryOperator.BiggerEquals],
15574
+ ["|", BinaryOperator.BitwiseOr],
15555
15575
  ["&", BinaryOperator.BitwiseAnd],
15556
15576
  ["/", BinaryOperator.Divide],
15557
15577
  ["==", BinaryOperator.Equals],
@@ -15603,7 +15623,7 @@ function collectElementConsts(job) {
15603
15623
  if (op.kind === OpKind.ExtractedAttribute) {
15604
15624
  const attributes = allElementAttributes.get(op.target) || new ElementAttributes(job.compatibility);
15605
15625
  allElementAttributes.set(op.target, attributes);
15606
- attributes.add(op.bindingKind, op.name, op.expression, op.trustedValueFn);
15626
+ attributes.add(op.bindingKind, op.name, op.expression, op.namespace, op.trustedValueFn);
15607
15627
  OpList.remove(op);
15608
15628
  }
15609
15629
  }
@@ -15691,7 +15711,7 @@ var ElementAttributes = class {
15691
15711
  nameToValue.add(name);
15692
15712
  return false;
15693
15713
  }
15694
- add(kind, name, value, trustedValueFn) {
15714
+ add(kind, name, value, namespace, trustedValueFn) {
15695
15715
  var _a2;
15696
15716
  const allowDuplicates = this.compatibility === CompatibilityMode.TemplateDefinitionBuilder && (kind === BindingKind.Attribute || kind === BindingKind.ClassName || kind === BindingKind.StyleProperty);
15697
15717
  if (!allowDuplicates && this.isKnown(kind, name, value)) {
@@ -15704,7 +15724,7 @@ var ElementAttributes = class {
15704
15724
  this.projectAs = value.value.toString();
15705
15725
  }
15706
15726
  const array = this.arrayFor(kind);
15707
- array.push(...getAttributeNameLiterals$1(name));
15727
+ array.push(...getAttributeNameLiterals$1(namespace, name));
15708
15728
  if (kind === BindingKind.Attribute || kind === BindingKind.StyleProperty) {
15709
15729
  if (value === null) {
15710
15730
  throw Error("Attribute, i18n attribute, & style element attributes must have a value");
@@ -15726,15 +15746,10 @@ var ElementAttributes = class {
15726
15746
  return this.byKind.get(kind);
15727
15747
  }
15728
15748
  };
15729
- function getAttributeNameLiterals$1(name) {
15730
- const [attributeNamespace, attributeName] = splitNsName(name, false);
15731
- const nameLiteral = literal(attributeName);
15732
- if (attributeNamespace) {
15733
- return [
15734
- literal(0),
15735
- literal(attributeNamespace),
15736
- nameLiteral
15737
- ];
15749
+ function getAttributeNameLiterals$1(namespace, name) {
15750
+ const nameLiteral = literal(name);
15751
+ if (namespace) {
15752
+ return [literal(0), literal(namespace), nameLiteral];
15738
15753
  }
15739
15754
  return [nameLiteral];
15740
15755
  }
@@ -16497,7 +16512,7 @@ function parseHostStyleProperties(job) {
16497
16512
  if (op.name.startsWith(STYLE_DOT)) {
16498
16513
  op.bindingKind = BindingKind.StyleProperty;
16499
16514
  op.name = op.name.substring(STYLE_DOT.length);
16500
- if (isCssCustomProperty$1(op.name)) {
16515
+ if (!isCssCustomProperty$1(op.name)) {
16501
16516
  op.name = hyphenate$1(op.name);
16502
16517
  }
16503
16518
  const { property: property2, suffix } = parseProperty$1(op.name);
@@ -23087,13 +23102,13 @@ function parseExtractedStyles(job) {
23087
23102
  if (op.name === "style") {
23088
23103
  const parsedStyles = parse(op.expression.value);
23089
23104
  for (let i = 0; i < parsedStyles.length - 1; i += 2) {
23090
- OpList.insertBefore(createExtractedAttributeOp(op.target, BindingKind.StyleProperty, parsedStyles[i], literal(parsedStyles[i + 1]), null, null, SecurityContext.STYLE), op);
23105
+ OpList.insertBefore(createExtractedAttributeOp(op.target, BindingKind.StyleProperty, null, parsedStyles[i], literal(parsedStyles[i + 1]), null, null, SecurityContext.STYLE), op);
23091
23106
  }
23092
23107
  OpList.remove(op);
23093
23108
  } else if (op.name === "class") {
23094
23109
  const parsedClasses = op.expression.value.trim().split(/\s+/g);
23095
23110
  for (const parsedClass of parsedClasses) {
23096
- OpList.insertBefore(createExtractedAttributeOp(op.target, BindingKind.ClassName, parsedClass, null, null, null, SecurityContext.NONE), op);
23111
+ OpList.insertBefore(createExtractedAttributeOp(op.target, BindingKind.ClassName, null, parsedClass, null, null, null, SecurityContext.NONE), op);
23097
23112
  }
23098
23113
  OpList.remove(op);
23099
23114
  }
@@ -23405,9 +23420,7 @@ function namespaceMath() {
23405
23420
  return call(Identifiers.namespaceMathML, [], null);
23406
23421
  }
23407
23422
  function advance(delta, sourceSpan) {
23408
- return call(Identifiers.advance, [
23409
- literal(delta)
23410
- ], sourceSpan);
23423
+ return call(Identifiers.advance, delta > 1 ? [literal(delta)] : [], sourceSpan);
23411
23424
  }
23412
23425
  function reference(slot) {
23413
23426
  return importExpr(Identifiers.reference).callFn([
@@ -23551,10 +23564,13 @@ function property(name, expression, sanitizer, sourceSpan) {
23551
23564
  }
23552
23565
  return call(Identifiers.property, args, sourceSpan);
23553
23566
  }
23554
- function attribute(name, expression, sanitizer) {
23567
+ function attribute(name, expression, sanitizer, namespace) {
23555
23568
  const args = [literal(name), expression];
23556
- if (sanitizer !== null) {
23557
- args.push(sanitizer);
23569
+ if (sanitizer !== null || namespace !== null) {
23570
+ args.push(sanitizer != null ? sanitizer : literal(null));
23571
+ }
23572
+ if (namespace !== null) {
23573
+ args.push(literal(namespace));
23558
23574
  }
23559
23575
  return call(Identifiers.attribute, args, null);
23560
23576
  }
@@ -24065,7 +24081,7 @@ function reifyUpdateOperations(_unit, ops) {
24065
24081
  if (op.expression instanceof Interpolation) {
24066
24082
  OpList.replace(op, attributeInterpolate(op.name, op.expression.strings, op.expression.expressions, op.sanitizer, op.sourceSpan));
24067
24083
  } else {
24068
- OpList.replace(op, attribute(op.name, op.expression, op.sanitizer));
24084
+ OpList.replace(op, attribute(op.name, op.expression, op.sanitizer, op.namespace));
24069
24085
  }
24070
24086
  break;
24071
24087
  case OpKind.HostProperty:
@@ -24227,36 +24243,6 @@ function removeUnusedI18nAttributesOps(job) {
24227
24243
  }
24228
24244
  }
24229
24245
  }
24230
- function generateRepeaterDerivedVars(job) {
24231
- const repeaters = /* @__PURE__ */ new Map();
24232
- for (const unit of job.units) {
24233
- for (const op of unit.ops()) {
24234
- if (op.kind === OpKind.RepeaterCreate) {
24235
- repeaters.set(op.xref, op);
24236
- }
24237
- }
24238
- }
24239
- for (const unit of job.units) {
24240
- for (const op of unit.ops()) {
24241
- transformExpressionsInOp(op, (expr) => {
24242
- if (!(expr instanceof DerivedRepeaterVarExpr)) {
24243
- return expr;
24244
- }
24245
- const repeaterOp = repeaters.get(expr.xref);
24246
- switch (expr.identity) {
24247
- case DerivedRepeaterVarIdentity.First:
24248
- return new BinaryOperatorExpr(BinaryOperator.Identical, new LexicalReadExpr(repeaterOp.varNames.$index), literal(0));
24249
- case DerivedRepeaterVarIdentity.Last:
24250
- return new BinaryOperatorExpr(BinaryOperator.Identical, new LexicalReadExpr(repeaterOp.varNames.$index), new BinaryOperatorExpr(BinaryOperator.Minus, new LexicalReadExpr(repeaterOp.varNames.$count), literal(1)));
24251
- case DerivedRepeaterVarIdentity.Even:
24252
- return new BinaryOperatorExpr(BinaryOperator.Identical, new BinaryOperatorExpr(BinaryOperator.Modulo, new LexicalReadExpr(repeaterOp.varNames.$index), literal(2)), literal(0));
24253
- case DerivedRepeaterVarIdentity.Odd:
24254
- return new BinaryOperatorExpr(BinaryOperator.NotIdentical, new BinaryOperatorExpr(BinaryOperator.Modulo, new LexicalReadExpr(repeaterOp.varNames.$index), literal(2)), literal(0));
24255
- }
24256
- }, VisitorContextFlag.None);
24257
- }
24258
- }
24259
- }
24260
24246
  function resolveContexts(job) {
24261
24247
  for (const unit of job.units) {
24262
24248
  processLexicalScope$1(unit, unit.create);
@@ -25330,7 +25316,6 @@ var phases = [
25330
25316
  { kind: CompilationJobKind.Tmpl, fn: saveAndRestoreView },
25331
25317
  { kind: CompilationJobKind.Both, fn: deleteAnyCasts },
25332
25318
  { kind: CompilationJobKind.Both, fn: resolveDollarEvent },
25333
- { kind: CompilationJobKind.Tmpl, fn: generateRepeaterDerivedVars },
25334
25319
  { kind: CompilationJobKind.Tmpl, fn: generateTrackVariables },
25335
25320
  { kind: CompilationJobKind.Both, fn: resolveNames },
25336
25321
  { kind: CompilationJobKind.Tmpl, fn: resolveDeferTargetNames },
@@ -25679,6 +25664,9 @@ function ingestIfBlock(unit, ifBlock) {
25679
25664
  }
25680
25665
  function ingestSwitchBlock(unit, switchBlock) {
25681
25666
  var _a2;
25667
+ if (switchBlock.cases.length === 0) {
25668
+ return;
25669
+ }
25682
25670
  let firstXref = null;
25683
25671
  let firstSlotHandle = null;
25684
25672
  let conditions = [];
@@ -25823,21 +25811,37 @@ function ingestIcu(unit, icu) {
25823
25811
  function ingestForBlock(unit, forBlock) {
25824
25812
  var _a2, _b2, _c2;
25825
25813
  const repeaterView = unit.job.allocateView(unit.xref);
25826
- const createRepeaterAlias = (ident, repeaterVar) => {
25827
- repeaterView.aliases.add({
25828
- kind: SemanticVariableKind.Alias,
25829
- name: null,
25830
- identifier: ident,
25831
- expression: new DerivedRepeaterVarExpr(repeaterView.xref, repeaterVar)
25832
- });
25833
- };
25834
25814
  repeaterView.contextVariables.set(forBlock.item.name, forBlock.item.value);
25835
25815
  repeaterView.contextVariables.set(forBlock.contextVariables.$index.name, forBlock.contextVariables.$index.value);
25836
25816
  repeaterView.contextVariables.set(forBlock.contextVariables.$count.name, forBlock.contextVariables.$count.value);
25837
- createRepeaterAlias(forBlock.contextVariables.$first.name, DerivedRepeaterVarIdentity.First);
25838
- createRepeaterAlias(forBlock.contextVariables.$last.name, DerivedRepeaterVarIdentity.Last);
25839
- createRepeaterAlias(forBlock.contextVariables.$even.name, DerivedRepeaterVarIdentity.Even);
25840
- createRepeaterAlias(forBlock.contextVariables.$odd.name, DerivedRepeaterVarIdentity.Odd);
25817
+ const indexName = `\u0275${forBlock.contextVariables.$index.name}_${repeaterView.xref}`;
25818
+ const countName = `\u0275${forBlock.contextVariables.$count.name}_${repeaterView.xref}`;
25819
+ repeaterView.contextVariables.set(indexName, forBlock.contextVariables.$index.value);
25820
+ repeaterView.contextVariables.set(countName, forBlock.contextVariables.$count.value);
25821
+ repeaterView.aliases.add({
25822
+ kind: SemanticVariableKind.Alias,
25823
+ name: null,
25824
+ identifier: forBlock.contextVariables.$first.name,
25825
+ expression: new LexicalReadExpr(indexName).identical(literal(0))
25826
+ });
25827
+ repeaterView.aliases.add({
25828
+ kind: SemanticVariableKind.Alias,
25829
+ name: null,
25830
+ identifier: forBlock.contextVariables.$last.name,
25831
+ expression: new LexicalReadExpr(indexName).identical(new LexicalReadExpr(countName).minus(literal(1)))
25832
+ });
25833
+ repeaterView.aliases.add({
25834
+ kind: SemanticVariableKind.Alias,
25835
+ name: null,
25836
+ identifier: forBlock.contextVariables.$even.name,
25837
+ expression: new LexicalReadExpr(indexName).modulo(literal(2)).identical(literal(0))
25838
+ });
25839
+ repeaterView.aliases.add({
25840
+ kind: SemanticVariableKind.Alias,
25841
+ name: null,
25842
+ identifier: forBlock.contextVariables.$odd.name,
25843
+ expression: new LexicalReadExpr(indexName).modulo(literal(2)).notIdentical(literal(0))
25844
+ });
25841
25845
  const sourceSpan = convertSourceSpan(forBlock.trackBy.span, forBlock.sourceSpan);
25842
25846
  const track = convertAst(forBlock.trackBy, unit.job, sourceSpan);
25843
25847
  ingestNodes(repeaterView, forBlock.children);
@@ -26039,7 +26043,7 @@ function ingestTemplateBindings(unit, op, template2, templateKind) {
26039
26043
  }
26040
26044
  if (templateKind === TemplateKind.Structural && output.type !== 1) {
26041
26045
  const securityContext = domSchema.securityContext(NG_TEMPLATE_TAG_NAME$1, output.name, false);
26042
- unit.create.push(createExtractedAttributeOp(op.xref, BindingKind.Property, output.name, null, null, null, securityContext));
26046
+ unit.create.push(createExtractedAttributeOp(op.xref, BindingKind.Property, null, output.name, null, null, null, securityContext));
26043
26047
  }
26044
26048
  }
26045
26049
  if (bindings.some((b) => b == null ? void 0 : b.i18nMessage) !== null) {
@@ -26050,7 +26054,7 @@ function createTemplateBinding(view, xref, type, name, value, unit, securityCont
26050
26054
  const isTextBinding = typeof value === "string";
26051
26055
  if (templateKind === TemplateKind.Structural) {
26052
26056
  if (!isStructuralTemplateAttribute && (type === 0 || type === 2 || type === 3)) {
26053
- return createExtractedAttributeOp(xref, BindingKind.Property, name, null, null, i18nMessage, securityContext);
26057
+ return createExtractedAttributeOp(xref, BindingKind.Property, null, name, null, null, i18nMessage, securityContext);
26054
26058
  }
26055
26059
  if (!isTextBinding && (type === 1 || type === 4)) {
26056
26060
  return null;
@@ -28883,6 +28887,9 @@ var TemplateDefinitionBuilder = class {
28883
28887
  this.updateInstructionWithAdvance(containerIndex, block.branches[0].sourceSpan, Identifiers.conditional, paramsCallback);
28884
28888
  }
28885
28889
  visitSwitchBlock(block) {
28890
+ if (block.cases.length === 0) {
28891
+ return;
28892
+ }
28886
28893
  const caseData = block.cases.map((currentCase) => {
28887
28894
  const index2 = this.createEmbeddedTemplateFn(null, currentCase.children, "_Case", currentCase.sourceSpan, void 0, void 0, void 0, currentCase.i18n);
28888
28895
  const expression = currentCase.expression === null ? null : currentCase.expression.visit(this._valueConverter);
@@ -29210,7 +29217,7 @@ var TemplateDefinitionBuilder = class {
29210
29217
  if (delta < 1) {
29211
29218
  throw new Error("advance instruction can only go forwards");
29212
29219
  }
29213
- this.instructionFn(this._updateCodeFns, span, Identifiers.advance, [literal(delta)]);
29220
+ this.instructionFn(this._updateCodeFns, span, Identifiers.advance, delta > 1 ? [literal(delta)] : []);
29214
29221
  this._currentIndex = nodeIndex;
29215
29222
  }
29216
29223
  }
@@ -31292,7 +31299,7 @@ function convertDirectiveFacadeToMetadata(facade) {
31292
31299
  bindingPropertyName: ann.alias || field,
31293
31300
  classPropertyName: field,
31294
31301
  required: ann.required || false,
31295
- isSignal: false,
31302
+ isSignal: !!ann.isSignal,
31296
31303
  transformFunction: ann.transform != null ? new WrappedNodeExpr(ann.transform) : null
31297
31304
  };
31298
31305
  } else if (isOutput(ann)) {
@@ -31644,7 +31651,7 @@ function publishFacade(global) {
31644
31651
  const ng = global.ng || (global.ng = {});
31645
31652
  ng.\u0275compilerFacade = new CompilerFacadeImpl();
31646
31653
  }
31647
- var VERSION = new Version("17.1.0-next.5");
31654
+ var VERSION = new Version("17.1.0-rc.0");
31648
31655
  var _VisitorMode;
31649
31656
  (function(_VisitorMode2) {
31650
31657
  _VisitorMode2[_VisitorMode2["Extract"] = 0] = "Extract";
@@ -33598,7 +33605,7 @@ ${[...componentsToMigrate].join("\n")}`);
33598
33605
  * found in the LICENSE file at https://angular.io/license
33599
33606
  */
33600
33607
  /**
33601
- * @license Angular v17.1.0-next.5
33608
+ * @license Angular v17.1.0-rc.0
33602
33609
  * (c) 2010-2022 Google LLC. https://angular.io/
33603
33610
  * License: MIT
33604
33611
  */