@ionic/angular 9.0.4-dev.11789491273.11ab1c95 → 9.0.4-dev.11789496656.1690cf55

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 (199) hide show
  1. package/dist/common/directives/navigation/back-button.d.ts +1 -0
  2. package/dist/common/directives/navigation/back-button.js +15 -3
  3. package/dist/common/directives/navigation/back-button.js.map +1 -1
  4. package/dist/common/directives/navigation/nav.d.ts +2 -0
  5. package/dist/common/directives/navigation/nav.js +12 -3
  6. package/dist/common/directives/navigation/nav.js.map +1 -1
  7. package/dist/common/directives/navigation/router-outlet.d.ts +2 -0
  8. package/dist/common/directives/navigation/router-outlet.js +8 -2
  9. package/dist/common/directives/navigation/router-outlet.js.map +1 -1
  10. package/dist/common/overlays/modal.d.ts +9 -0
  11. package/dist/common/overlays/modal.js +14 -11
  12. package/dist/common/overlays/modal.js.map +1 -1
  13. package/dist/common/overlays/popover.d.ts +10 -0
  14. package/dist/common/overlays/popover.js +15 -12
  15. package/dist/common/overlays/popover.js.map +1 -1
  16. package/dist/common/utils/boolean-attribute.d.ts +24 -0
  17. package/dist/common/utils/boolean-attribute.js +36 -0
  18. package/dist/common/utils/boolean-attribute.js.map +1 -0
  19. package/dist/lazy/directives/angular-component-lib/boolean-attribute.d.ts +35 -0
  20. package/dist/lazy/directives/angular-component-lib/boolean-attribute.js +43 -0
  21. package/dist/lazy/directives/angular-component-lib/boolean-attribute.js.map +1 -0
  22. package/dist/lazy/directives/proxies.d.ts +144 -0
  23. package/dist/lazy/directives/proxies.js +115 -114
  24. package/dist/lazy/directives/proxies.js.map +1 -1
  25. package/dist/standalone/directives/angular-component-lib/boolean-attribute.d.ts +35 -0
  26. package/dist/standalone/directives/angular-component-lib/boolean-attribute.js +43 -0
  27. package/dist/standalone/directives/angular-component-lib/boolean-attribute.js.map +1 -0
  28. package/dist/standalone/directives/checkbox.d.ts +3 -0
  29. package/dist/standalone/directives/checkbox.js +8 -5
  30. package/dist/standalone/directives/checkbox.js.map +1 -1
  31. package/dist/standalone/directives/datetime.d.ts +9 -0
  32. package/dist/standalone/directives/datetime.js +14 -11
  33. package/dist/standalone/directives/datetime.js.map +1 -1
  34. package/dist/standalone/directives/icon.d.ts +3 -0
  35. package/dist/standalone/directives/icon.js +19 -3
  36. package/dist/standalone/directives/icon.js.map +1 -1
  37. package/dist/standalone/directives/input-otp.d.ts +2 -0
  38. package/dist/standalone/directives/input-otp.js +7 -4
  39. package/dist/standalone/directives/input-otp.js.map +1 -1
  40. package/dist/standalone/directives/input.d.ts +10 -0
  41. package/dist/standalone/directives/input.js +15 -12
  42. package/dist/standalone/directives/input.js.map +1 -1
  43. package/dist/standalone/directives/ion-accordion-group.d.ts +4 -0
  44. package/dist/standalone/directives/ion-accordion-group.js +3 -2
  45. package/dist/standalone/directives/ion-accordion-group.js.map +1 -1
  46. package/dist/standalone/directives/ion-accordion.d.ts +2 -0
  47. package/dist/standalone/directives/ion-accordion.js +3 -2
  48. package/dist/standalone/directives/ion-accordion.js.map +1 -1
  49. package/dist/standalone/directives/ion-action-sheet.d.ts +5 -0
  50. package/dist/standalone/directives/ion-action-sheet.js +3 -2
  51. package/dist/standalone/directives/ion-action-sheet.js.map +1 -1
  52. package/dist/standalone/directives/ion-alert.d.ts +5 -0
  53. package/dist/standalone/directives/ion-alert.js +3 -2
  54. package/dist/standalone/directives/ion-alert.js.map +1 -1
  55. package/dist/standalone/directives/ion-backdrop.d.ts +3 -0
  56. package/dist/standalone/directives/ion-backdrop.js +3 -2
  57. package/dist/standalone/directives/ion-backdrop.js.map +1 -1
  58. package/dist/standalone/directives/ion-breadcrumb.d.ts +3 -0
  59. package/dist/standalone/directives/ion-breadcrumb.js +3 -2
  60. package/dist/standalone/directives/ion-breadcrumb.js.map +1 -1
  61. package/dist/standalone/directives/ion-button.d.ts +2 -0
  62. package/dist/standalone/directives/ion-button.js +3 -2
  63. package/dist/standalone/directives/ion-button.js.map +1 -1
  64. package/dist/standalone/directives/ion-buttons.d.ts +1 -0
  65. package/dist/standalone/directives/ion-buttons.js +3 -2
  66. package/dist/standalone/directives/ion-buttons.js.map +1 -1
  67. package/dist/standalone/directives/ion-card-header.d.ts +1 -0
  68. package/dist/standalone/directives/ion-card-header.js +3 -2
  69. package/dist/standalone/directives/ion-card-header.js.map +1 -1
  70. package/dist/standalone/directives/ion-card.d.ts +2 -0
  71. package/dist/standalone/directives/ion-card.js +3 -2
  72. package/dist/standalone/directives/ion-card.js.map +1 -1
  73. package/dist/standalone/directives/ion-chip.d.ts +2 -0
  74. package/dist/standalone/directives/ion-chip.js +3 -2
  75. package/dist/standalone/directives/ion-chip.js.map +1 -1
  76. package/dist/standalone/directives/ion-content.d.ts +5 -0
  77. package/dist/standalone/directives/ion-content.js +3 -2
  78. package/dist/standalone/directives/ion-content.js.map +1 -1
  79. package/dist/standalone/directives/ion-datetime-button.d.ts +1 -0
  80. package/dist/standalone/directives/ion-datetime-button.js +3 -2
  81. package/dist/standalone/directives/ion-datetime-button.js.map +1 -1
  82. package/dist/standalone/directives/ion-fab-button.d.ts +4 -0
  83. package/dist/standalone/directives/ion-fab-button.js +3 -2
  84. package/dist/standalone/directives/ion-fab-button.js.map +1 -1
  85. package/dist/standalone/directives/ion-fab-list.d.ts +1 -0
  86. package/dist/standalone/directives/ion-fab-list.js +3 -2
  87. package/dist/standalone/directives/ion-fab-list.js.map +1 -1
  88. package/dist/standalone/directives/ion-fab.d.ts +2 -0
  89. package/dist/standalone/directives/ion-fab.js +3 -2
  90. package/dist/standalone/directives/ion-fab.js.map +1 -1
  91. package/dist/standalone/directives/ion-footer.d.ts +1 -0
  92. package/dist/standalone/directives/ion-footer.js +3 -2
  93. package/dist/standalone/directives/ion-footer.js.map +1 -1
  94. package/dist/standalone/directives/ion-grid.d.ts +1 -0
  95. package/dist/standalone/directives/ion-grid.js +3 -2
  96. package/dist/standalone/directives/ion-grid.js.map +1 -1
  97. package/dist/standalone/directives/ion-header.d.ts +1 -0
  98. package/dist/standalone/directives/ion-header.js +3 -2
  99. package/dist/standalone/directives/ion-header.js.map +1 -1
  100. package/dist/standalone/directives/ion-infinite-scroll.d.ts +1 -0
  101. package/dist/standalone/directives/ion-infinite-scroll.js +3 -2
  102. package/dist/standalone/directives/ion-infinite-scroll.js.map +1 -1
  103. package/dist/standalone/directives/ion-item-divider.d.ts +1 -0
  104. package/dist/standalone/directives/ion-item-divider.js +3 -2
  105. package/dist/standalone/directives/ion-item-divider.js.map +1 -1
  106. package/dist/standalone/directives/ion-item-option.d.ts +2 -0
  107. package/dist/standalone/directives/ion-item-option.js +3 -2
  108. package/dist/standalone/directives/ion-item-option.js.map +1 -1
  109. package/dist/standalone/directives/ion-item-sliding.d.ts +1 -0
  110. package/dist/standalone/directives/ion-item-sliding.js +3 -2
  111. package/dist/standalone/directives/ion-item-sliding.js.map +1 -1
  112. package/dist/standalone/directives/ion-item.d.ts +3 -0
  113. package/dist/standalone/directives/ion-item.js +3 -2
  114. package/dist/standalone/directives/ion-item.js.map +1 -1
  115. package/dist/standalone/directives/ion-list.d.ts +1 -0
  116. package/dist/standalone/directives/ion-list.js +3 -2
  117. package/dist/standalone/directives/ion-list.js.map +1 -1
  118. package/dist/standalone/directives/ion-loading.d.ts +6 -0
  119. package/dist/standalone/directives/ion-loading.js +3 -2
  120. package/dist/standalone/directives/ion-loading.js.map +1 -1
  121. package/dist/standalone/directives/ion-menu-button.d.ts +2 -0
  122. package/dist/standalone/directives/ion-menu-button.js +3 -2
  123. package/dist/standalone/directives/ion-menu-button.js.map +1 -1
  124. package/dist/standalone/directives/ion-menu-toggle.d.ts +1 -0
  125. package/dist/standalone/directives/ion-menu-toggle.js +3 -2
  126. package/dist/standalone/directives/ion-menu-toggle.js.map +1 -1
  127. package/dist/standalone/directives/ion-menu.d.ts +2 -0
  128. package/dist/standalone/directives/ion-menu.js +3 -2
  129. package/dist/standalone/directives/ion-menu.js.map +1 -1
  130. package/dist/standalone/directives/ion-picker-column-option.d.ts +1 -0
  131. package/dist/standalone/directives/ion-picker-column-option.js +3 -2
  132. package/dist/standalone/directives/ion-picker-column-option.js.map +1 -1
  133. package/dist/standalone/directives/ion-picker-column.d.ts +1 -0
  134. package/dist/standalone/directives/ion-picker-column.js +3 -2
  135. package/dist/standalone/directives/ion-picker-column.js.map +1 -1
  136. package/dist/standalone/directives/ion-progress-bar.d.ts +1 -0
  137. package/dist/standalone/directives/ion-progress-bar.js +3 -2
  138. package/dist/standalone/directives/ion-progress-bar.js.map +1 -1
  139. package/dist/standalone/directives/ion-radio.d.ts +1 -0
  140. package/dist/standalone/directives/ion-radio.js +3 -2
  141. package/dist/standalone/directives/ion-radio.js.map +1 -1
  142. package/dist/standalone/directives/ion-refresher.d.ts +1 -0
  143. package/dist/standalone/directives/ion-refresher.js +3 -2
  144. package/dist/standalone/directives/ion-refresher.js.map +1 -1
  145. package/dist/standalone/directives/ion-reorder-group.d.ts +1 -0
  146. package/dist/standalone/directives/ion-reorder-group.js +3 -2
  147. package/dist/standalone/directives/ion-reorder-group.js.map +1 -1
  148. package/dist/standalone/directives/ion-segment-button.d.ts +1 -0
  149. package/dist/standalone/directives/ion-segment-button.js +3 -2
  150. package/dist/standalone/directives/ion-segment-button.js.map +1 -1
  151. package/dist/standalone/directives/ion-segment-view.d.ts +2 -0
  152. package/dist/standalone/directives/ion-segment-view.js +3 -2
  153. package/dist/standalone/directives/ion-segment-view.js.map +1 -1
  154. package/dist/standalone/directives/ion-select-modal.d.ts +1 -0
  155. package/dist/standalone/directives/ion-select-modal.js +3 -2
  156. package/dist/standalone/directives/ion-select-modal.js.map +1 -1
  157. package/dist/standalone/directives/ion-select-option.d.ts +1 -0
  158. package/dist/standalone/directives/ion-select-option.js +3 -2
  159. package/dist/standalone/directives/ion-select-option.js.map +1 -1
  160. package/dist/standalone/directives/ion-skeleton-text.d.ts +1 -0
  161. package/dist/standalone/directives/ion-skeleton-text.js +3 -2
  162. package/dist/standalone/directives/ion-skeleton-text.js.map +1 -1
  163. package/dist/standalone/directives/ion-spinner.d.ts +1 -0
  164. package/dist/standalone/directives/ion-spinner.js +3 -2
  165. package/dist/standalone/directives/ion-spinner.js.map +1 -1
  166. package/dist/standalone/directives/ion-split-pane.d.ts +1 -0
  167. package/dist/standalone/directives/ion-split-pane.js +3 -2
  168. package/dist/standalone/directives/ion-split-pane.js.map +1 -1
  169. package/dist/standalone/directives/ion-tab-bar.d.ts +1 -0
  170. package/dist/standalone/directives/ion-tab-bar.js +3 -2
  171. package/dist/standalone/directives/ion-tab-bar.js.map +1 -1
  172. package/dist/standalone/directives/ion-tab-button.d.ts +2 -0
  173. package/dist/standalone/directives/ion-tab-button.js +3 -2
  174. package/dist/standalone/directives/ion-tab-button.js.map +1 -1
  175. package/dist/standalone/directives/ion-toast.d.ts +4 -0
  176. package/dist/standalone/directives/ion-toast.js +3 -2
  177. package/dist/standalone/directives/ion-toast.js.map +1 -1
  178. package/dist/standalone/directives/radio-group.d.ts +1 -0
  179. package/dist/standalone/directives/radio-group.js +13 -3
  180. package/dist/standalone/directives/radio-group.js.map +1 -1
  181. package/dist/standalone/directives/range.d.ts +5 -0
  182. package/dist/standalone/directives/range.js +10 -7
  183. package/dist/standalone/directives/range.js.map +1 -1
  184. package/dist/standalone/directives/searchbar.d.ts +4 -0
  185. package/dist/standalone/directives/searchbar.js +9 -6
  186. package/dist/standalone/directives/searchbar.js.map +1 -1
  187. package/dist/standalone/directives/segment.d.ts +4 -0
  188. package/dist/standalone/directives/segment.js +14 -3
  189. package/dist/standalone/directives/segment.js.map +1 -1
  190. package/dist/standalone/directives/select.d.ts +2 -0
  191. package/dist/standalone/directives/select.js +7 -4
  192. package/dist/standalone/directives/select.js.map +1 -1
  193. package/dist/standalone/directives/textarea.d.ts +8 -0
  194. package/dist/standalone/directives/textarea.js +13 -10
  195. package/dist/standalone/directives/textarea.js.map +1 -1
  196. package/dist/standalone/directives/toggle.d.ts +3 -0
  197. package/dist/standalone/directives/toggle.js +8 -5
  198. package/dist/standalone/directives/toggle.js.map +1 -1
  199. package/package.json +2 -2
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Transforms a value to a boolean so that boolean properties can be set by attribute presence,
3
+ * e.g. `<ion-modal handle>` instead of `<ion-modal [handle]="true">`.
4
+ *
5
+ * Strings are coerced the same way Angular's `booleanAttribute` coerces them, so `''` (a bare
6
+ * attribute) becomes `true` and `'false'` becomes `false`.
7
+ *
8
+ * Unlike Angular's `booleanAttribute`, `null` and `undefined` are passed through rather than
9
+ * coerced to `false`. Components frequently treat them as a state distinct from `false`, and both
10
+ * reach inputs routinely from the `async` pipe before its first emission and from form control
11
+ * values:
12
+ *
13
+ * ```tsx
14
+ * // `undefined` means "decide based on the mode", which is not the same as `false`
15
+ * const showDetail = detail !== undefined ? detail : mode === 'ios';
16
+ *
17
+ * // a strict comparison also behaves differently for `null` than it does for `false`
18
+ * const showHandle = handle !== false;
19
+ * ```
20
+ *
21
+ * Declared as a function rather than an arrow constant because Angular has to resolve input
22
+ * transforms statically when compiling a library in partial compilation mode.
23
+ */
24
+ export declare function nullableBooleanAttribute(value: boolean | string | null | undefined): boolean | null | undefined;
@@ -0,0 +1,36 @@
1
+ /*
2
+ * Duplicates `angular-component-lib/boolean-attribute.ts`, which the output
3
+ * target copies next to each generated proxies file and so is not reachable
4
+ * from here. `proxy.ts` duplicates `ProxyCmp` for the same reason. Refer to
5
+ * the TODO at the top of `proxy.ts`.
6
+ */
7
+ /**
8
+ * Transforms a value to a boolean so that boolean properties can be set by attribute presence,
9
+ * e.g. `<ion-modal handle>` instead of `<ion-modal [handle]="true">`.
10
+ *
11
+ * Strings are coerced the same way Angular's `booleanAttribute` coerces them, so `''` (a bare
12
+ * attribute) becomes `true` and `'false'` becomes `false`.
13
+ *
14
+ * Unlike Angular's `booleanAttribute`, `null` and `undefined` are passed through rather than
15
+ * coerced to `false`. Components frequently treat them as a state distinct from `false`, and both
16
+ * reach inputs routinely from the `async` pipe before its first emission and from form control
17
+ * values:
18
+ *
19
+ * ```tsx
20
+ * // `undefined` means "decide based on the mode", which is not the same as `false`
21
+ * const showDetail = detail !== undefined ? detail : mode === 'ios';
22
+ *
23
+ * // a strict comparison also behaves differently for `null` than it does for `false`
24
+ * const showHandle = handle !== false;
25
+ * ```
26
+ *
27
+ * Declared as a function rather than an arrow constant because Angular has to resolve input
28
+ * transforms statically when compiling a library in partial compilation mode.
29
+ */
30
+ export function nullableBooleanAttribute(value) {
31
+ if (value === null || value === undefined) {
32
+ return value;
33
+ }
34
+ return typeof value === 'boolean' ? value : value !== 'false';
35
+ }
36
+ //# sourceMappingURL=boolean-attribute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boolean-attribute.js","sourceRoot":"","sources":["../../../src/common/utils/boolean-attribute.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAA0C;IACjF,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC;AAChE,CAAC","sourcesContent":["/*\n * Duplicates `angular-component-lib/boolean-attribute.ts`, which the output\n * target copies next to each generated proxies file and so is not reachable\n * from here. `proxy.ts` duplicates `ProxyCmp` for the same reason. Refer to\n * the TODO at the top of `proxy.ts`.\n */\n\n/**\n * Transforms a value to a boolean so that boolean properties can be set by attribute presence,\n * e.g. `<ion-modal handle>` instead of `<ion-modal [handle]=\"true\">`.\n *\n * Strings are coerced the same way Angular's `booleanAttribute` coerces them, so `''` (a bare\n * attribute) becomes `true` and `'false'` becomes `false`.\n *\n * Unlike Angular's `booleanAttribute`, `null` and `undefined` are passed through rather than\n * coerced to `false`. Components frequently treat them as a state distinct from `false`, and both\n * reach inputs routinely from the `async` pipe before its first emission and from form control\n * values:\n *\n * ```tsx\n * // `undefined` means \"decide based on the mode\", which is not the same as `false`\n * const showDetail = detail !== undefined ? detail : mode === 'ios';\n *\n * // a strict comparison also behaves differently for `null` than it does for `false`\n * const showHandle = handle !== false;\n * ```\n *\n * Declared as a function rather than an arrow constant because Angular has to resolve input\n * transforms statically when compiling a library in partial compilation mode.\n */\nexport function nullableBooleanAttribute(value: boolean | string | null | undefined): boolean | null | undefined {\n if (value === null || value === undefined) {\n return value;\n }\n return typeof value === 'boolean' ? value : value !== 'false';\n}\n"]}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Transforms a value to a boolean so that boolean properties can be set by attribute presence,
3
+ * e.g. `<my-component disabled>` instead of `<my-component [disabled]="true">`.
4
+ *
5
+ * Strings are coerced the same way Angular's `booleanAttribute` coerces them, so `''` (a bare
6
+ * attribute) becomes `true` and `'false'` becomes `false`.
7
+ *
8
+ * Unlike Angular's `booleanAttribute`, `null` and `undefined` are passed through rather than
9
+ * coerced to `false`. Components frequently treat them as a state distinct from `false`:
10
+ *
11
+ * ```tsx
12
+ * // `undefined` means "decide based on the mode", which is not the same as `false`
13
+ * const showDetail = detail !== undefined ? detail : mode === 'ios';
14
+ *
15
+ * // a strict comparison also behaves differently for `null` than it does for `false`
16
+ * const showHandle = handle !== false;
17
+ * ```
18
+ *
19
+ * Both values reach inputs routinely in Angular templates, from the `async` pipe before its
20
+ * first emission and from form control values, so coercing them would change the behavior of
21
+ * bindings that work today.
22
+ *
23
+ * This is implemented here rather than imported from `@angular/core` so that consumers on
24
+ * Angular versions without `booleanAttribute` are unaffected by this file being generated.
25
+ *
26
+ * The parameter type is what Angular derives `ngAcceptInputType_*` from, so it decides which
27
+ * template bindings compile. Widening it to `unknown` would let any expression through.
28
+ *
29
+ * Declared as a function rather than an arrow constant because Angular has to resolve input
30
+ * transforms statically when compiling a library in partial compilation mode.
31
+ *
32
+ * This lives in its own file, separate from `utils.ts`, so that it carries no runtime imports.
33
+ * That keeps it independently type-checkable without pulling `rxjs` in for `proxyOutputs`.
34
+ */
35
+ export declare function nullableBooleanAttribute(value: boolean | string | null | undefined): boolean | null | undefined;
@@ -0,0 +1,43 @@
1
+ /* eslint-disable */
2
+ /* tslint:disable */
3
+ /**
4
+ * Transforms a value to a boolean so that boolean properties can be set by attribute presence,
5
+ * e.g. `<my-component disabled>` instead of `<my-component [disabled]="true">`.
6
+ *
7
+ * Strings are coerced the same way Angular's `booleanAttribute` coerces them, so `''` (a bare
8
+ * attribute) becomes `true` and `'false'` becomes `false`.
9
+ *
10
+ * Unlike Angular's `booleanAttribute`, `null` and `undefined` are passed through rather than
11
+ * coerced to `false`. Components frequently treat them as a state distinct from `false`:
12
+ *
13
+ * ```tsx
14
+ * // `undefined` means "decide based on the mode", which is not the same as `false`
15
+ * const showDetail = detail !== undefined ? detail : mode === 'ios';
16
+ *
17
+ * // a strict comparison also behaves differently for `null` than it does for `false`
18
+ * const showHandle = handle !== false;
19
+ * ```
20
+ *
21
+ * Both values reach inputs routinely in Angular templates, from the `async` pipe before its
22
+ * first emission and from form control values, so coercing them would change the behavior of
23
+ * bindings that work today.
24
+ *
25
+ * This is implemented here rather than imported from `@angular/core` so that consumers on
26
+ * Angular versions without `booleanAttribute` are unaffected by this file being generated.
27
+ *
28
+ * The parameter type is what Angular derives `ngAcceptInputType_*` from, so it decides which
29
+ * template bindings compile. Widening it to `unknown` would let any expression through.
30
+ *
31
+ * Declared as a function rather than an arrow constant because Angular has to resolve input
32
+ * transforms statically when compiling a library in partial compilation mode.
33
+ *
34
+ * This lives in its own file, separate from `utils.ts`, so that it carries no runtime imports.
35
+ * That keeps it independently type-checkable without pulling `rxjs` in for `proxyOutputs`.
36
+ */
37
+ export function nullableBooleanAttribute(value) {
38
+ if (value === null || value === undefined) {
39
+ return value;
40
+ }
41
+ return typeof value === 'boolean' ? value : value !== 'false';
42
+ }
43
+ //# sourceMappingURL=boolean-attribute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boolean-attribute.js","sourceRoot":"","sources":["../../../../src/lazy/directives/angular-component-lib/boolean-attribute.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,oBAAoB;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAA0C;IACjF,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC;AAChE,CAAC","sourcesContent":["/* eslint-disable */\n/* tslint:disable */\n\n/**\n * Transforms a value to a boolean so that boolean properties can be set by attribute presence,\n * e.g. `<my-component disabled>` instead of `<my-component [disabled]=\"true\">`.\n *\n * Strings are coerced the same way Angular's `booleanAttribute` coerces them, so `''` (a bare\n * attribute) becomes `true` and `'false'` becomes `false`.\n *\n * Unlike Angular's `booleanAttribute`, `null` and `undefined` are passed through rather than\n * coerced to `false`. Components frequently treat them as a state distinct from `false`:\n *\n * ```tsx\n * // `undefined` means \"decide based on the mode\", which is not the same as `false`\n * const showDetail = detail !== undefined ? detail : mode === 'ios';\n *\n * // a strict comparison also behaves differently for `null` than it does for `false`\n * const showHandle = handle !== false;\n * ```\n *\n * Both values reach inputs routinely in Angular templates, from the `async` pipe before its\n * first emission and from form control values, so coercing them would change the behavior of\n * bindings that work today.\n *\n * This is implemented here rather than imported from `@angular/core` so that consumers on\n * Angular versions without `booleanAttribute` are unaffected by this file being generated.\n *\n * The parameter type is what Angular derives `ngAcceptInputType_*` from, so it decides which\n * template bindings compile. Widening it to `unknown` would let any expression through.\n *\n * Declared as a function rather than an arrow constant because Angular has to resolve input\n * transforms statically when compiling a library in partial compilation mode.\n *\n * This lives in its own file, separate from `utils.ts`, so that it carries no runtime imports.\n * That keeps it independently type-checkable without pulling `rxjs` in for `proxyOutputs`.\n */\nexport function nullableBooleanAttribute(value: boolean | string | null | undefined): boolean | null | undefined {\n if (value === null || value === undefined) {\n return value;\n }\n return typeof value === 'boolean' ? value : value !== 'false';\n}\n"]}