@ionic/angular 9.0.6-dev.11790349282.1a877abd → 9.0.6-dev.11790776272.1d27d1bd

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 (345) hide show
  1. package/css/core.css +1 -1
  2. package/css/core.css.map +1 -1
  3. package/css/display.css +1 -1
  4. package/css/display.css.map +1 -1
  5. package/css/flex-utils.css +1 -1
  6. package/css/flex-utils.css.map +1 -1
  7. package/css/float-elements.css.map +1 -1
  8. package/css/global.bundle.css.map +1 -1
  9. package/css/ionic/bundle.ionic.css +1 -0
  10. package/css/ionic/bundle.ionic.css.map +1 -0
  11. package/css/ionic/core.ionic.css +1 -0
  12. package/css/ionic/core.ionic.css.map +1 -0
  13. package/css/ionic/global.bundle.ionic.css +1 -0
  14. package/css/ionic/global.bundle.ionic.css.map +1 -0
  15. package/css/ionic/ionic-swiper.ionic.css +1 -0
  16. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  17. package/css/ionic/link.ionic.css +1 -0
  18. package/css/ionic/link.ionic.css.map +1 -0
  19. package/css/ionic/structure.ionic.css +1 -0
  20. package/css/ionic/structure.ionic.css.map +1 -0
  21. package/css/ionic/typography.ionic.css +1 -0
  22. package/css/ionic/typography.ionic.css.map +1 -0
  23. package/css/ionic/utils.bundle.ionic.css +1 -0
  24. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  25. package/css/ionic-swiper.css +1 -1
  26. package/css/ionic-swiper.css.map +1 -1
  27. package/css/ionic.bundle.css +1 -1
  28. package/css/ionic.bundle.css.map +1 -1
  29. package/css/normalize.css.map +1 -1
  30. package/css/padding.css.map +1 -1
  31. package/css/palettes/dark.always.css.map +1 -1
  32. package/css/palettes/dark.class.css.map +1 -1
  33. package/css/palettes/dark.system.css.map +1 -1
  34. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  35. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  36. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  37. package/css/palettes/high-contrast.always.css.map +1 -1
  38. package/css/palettes/high-contrast.class.css.map +1 -1
  39. package/css/palettes/high-contrast.system.css.map +1 -1
  40. package/css/structure.css.map +1 -1
  41. package/css/text-alignment.css.map +1 -1
  42. package/css/text-transformation.css.map +1 -1
  43. package/css/typography.css.map +1 -1
  44. package/css/utils.bundle.css +1 -1
  45. package/css/utils.bundle.css.map +1 -1
  46. package/dist/common/directives/navigation/back-button.d.ts +1 -0
  47. package/dist/common/directives/navigation/back-button.js +15 -4
  48. package/dist/common/directives/navigation/back-button.js.map +1 -1
  49. package/dist/common/directives/navigation/nav.d.ts +2 -0
  50. package/dist/common/directives/navigation/nav.js +12 -4
  51. package/dist/common/directives/navigation/nav.js.map +1 -1
  52. package/dist/common/directives/navigation/router-outlet.d.ts +2 -0
  53. package/dist/common/directives/navigation/router-outlet.js +8 -2
  54. package/dist/common/directives/navigation/router-outlet.js.map +1 -1
  55. package/dist/common/index.d.ts +1 -1
  56. package/dist/common/index.js +1 -1
  57. package/dist/common/index.js.map +1 -1
  58. package/dist/common/overlays/modal.d.ts +9 -0
  59. package/dist/common/overlays/modal.js +14 -12
  60. package/dist/common/overlays/modal.js.map +1 -1
  61. package/dist/common/overlays/popover.d.ts +12 -1
  62. package/dist/common/overlays/popover.js +16 -13
  63. package/dist/common/overlays/popover.js.map +1 -1
  64. package/dist/common/utils/boolean-attribute.d.ts +19 -0
  65. package/dist/common/utils/boolean-attribute.js +31 -0
  66. package/dist/common/utils/boolean-attribute.js.map +1 -0
  67. package/dist/common/utils/proxy.d.ts +7 -0
  68. package/dist/common/utils/proxy.js +5 -0
  69. package/dist/common/utils/proxy.js.map +1 -1
  70. package/dist/lazy/directives/angular-component-lib/boolean-attribute.d.ts +35 -0
  71. package/dist/lazy/directives/angular-component-lib/boolean-attribute.js +43 -0
  72. package/dist/lazy/directives/angular-component-lib/boolean-attribute.js.map +1 -0
  73. package/dist/lazy/directives/proxies-list.d.ts +1 -1
  74. package/dist/lazy/directives/proxies-list.js +3 -0
  75. package/dist/lazy/directives/proxies-list.js.map +1 -1
  76. package/dist/lazy/directives/proxies.d.ts +262 -84
  77. package/dist/lazy/directives/proxies.js +342 -246
  78. package/dist/lazy/directives/proxies.js.map +1 -1
  79. package/dist/lazy/ionic-module.d.ts +1 -1
  80. package/dist/lazy/ionic-module.js +2 -2
  81. package/dist/standalone/directives/angular-component-lib/boolean-attribute.d.ts +35 -0
  82. package/dist/standalone/directives/angular-component-lib/boolean-attribute.js +43 -0
  83. package/dist/standalone/directives/angular-component-lib/boolean-attribute.js.map +1 -0
  84. package/dist/standalone/directives/checkbox.d.ts +5 -1
  85. package/dist/standalone/directives/checkbox.js +9 -6
  86. package/dist/standalone/directives/checkbox.js.map +1 -1
  87. package/dist/standalone/directives/datetime.d.ts +9 -0
  88. package/dist/standalone/directives/datetime.js +14 -12
  89. package/dist/standalone/directives/datetime.js.map +1 -1
  90. package/dist/standalone/directives/icon.d.ts +3 -0
  91. package/dist/standalone/directives/icon.js +19 -3
  92. package/dist/standalone/directives/icon.js.map +1 -1
  93. package/dist/standalone/directives/input-otp.d.ts +2 -0
  94. package/dist/standalone/directives/input-otp.js +7 -5
  95. package/dist/standalone/directives/input-otp.js.map +1 -1
  96. package/dist/standalone/directives/input.d.ts +10 -0
  97. package/dist/standalone/directives/input.js +15 -13
  98. package/dist/standalone/directives/input.js.map +1 -1
  99. package/dist/standalone/directives/ion-accordion-group.d.ts +5 -1
  100. package/dist/standalone/directives/ion-accordion-group.js +4 -3
  101. package/dist/standalone/directives/ion-accordion-group.js.map +1 -1
  102. package/dist/standalone/directives/ion-accordion.d.ts +3 -1
  103. package/dist/standalone/directives/ion-accordion.js +4 -3
  104. package/dist/standalone/directives/ion-accordion.js.map +1 -1
  105. package/dist/standalone/directives/ion-action-sheet.d.ts +6 -1
  106. package/dist/standalone/directives/ion-action-sheet.js +4 -3
  107. package/dist/standalone/directives/ion-action-sheet.js.map +1 -1
  108. package/dist/standalone/directives/ion-alert.d.ts +6 -1
  109. package/dist/standalone/directives/ion-alert.js +4 -3
  110. package/dist/standalone/directives/ion-alert.js.map +1 -1
  111. package/dist/standalone/directives/ion-app.d.ts +1 -1
  112. package/dist/standalone/directives/ion-app.js +3 -2
  113. package/dist/standalone/directives/ion-app.js.map +1 -1
  114. package/dist/standalone/directives/ion-avatar.d.ts +2 -1
  115. package/dist/standalone/directives/ion-avatar.js +5 -3
  116. package/dist/standalone/directives/ion-avatar.js.map +1 -1
  117. package/dist/standalone/directives/ion-backdrop.d.ts +4 -1
  118. package/dist/standalone/directives/ion-backdrop.js +4 -3
  119. package/dist/standalone/directives/ion-backdrop.js.map +1 -1
  120. package/dist/standalone/directives/ion-badge.d.ts +1 -1
  121. package/dist/standalone/directives/ion-badge.js +3 -3
  122. package/dist/standalone/directives/ion-badge.js.map +1 -1
  123. package/dist/standalone/directives/ion-breadcrumb.d.ts +4 -1
  124. package/dist/standalone/directives/ion-breadcrumb.js +4 -3
  125. package/dist/standalone/directives/ion-breadcrumb.js.map +1 -1
  126. package/dist/standalone/directives/ion-breadcrumbs.d.ts +1 -1
  127. package/dist/standalone/directives/ion-breadcrumbs.js +3 -3
  128. package/dist/standalone/directives/ion-breadcrumbs.js.map +1 -1
  129. package/dist/standalone/directives/ion-button.d.ts +3 -1
  130. package/dist/standalone/directives/ion-button.js +4 -3
  131. package/dist/standalone/directives/ion-button.js.map +1 -1
  132. package/dist/standalone/directives/ion-buttons.d.ts +2 -1
  133. package/dist/standalone/directives/ion-buttons.js +4 -3
  134. package/dist/standalone/directives/ion-buttons.js.map +1 -1
  135. package/dist/standalone/directives/ion-card-content.d.ts +1 -1
  136. package/dist/standalone/directives/ion-card-content.js +3 -3
  137. package/dist/standalone/directives/ion-card-content.js.map +1 -1
  138. package/dist/standalone/directives/ion-card-header.d.ts +2 -1
  139. package/dist/standalone/directives/ion-card-header.js +4 -3
  140. package/dist/standalone/directives/ion-card-header.js.map +1 -1
  141. package/dist/standalone/directives/ion-card-subtitle.d.ts +1 -1
  142. package/dist/standalone/directives/ion-card-subtitle.js +3 -3
  143. package/dist/standalone/directives/ion-card-subtitle.js.map +1 -1
  144. package/dist/standalone/directives/ion-card-title.d.ts +1 -1
  145. package/dist/standalone/directives/ion-card-title.js +3 -3
  146. package/dist/standalone/directives/ion-card-title.js.map +1 -1
  147. package/dist/standalone/directives/ion-card.d.ts +3 -1
  148. package/dist/standalone/directives/ion-card.js +4 -3
  149. package/dist/standalone/directives/ion-card.js.map +1 -1
  150. package/dist/standalone/directives/ion-chip.d.ts +3 -1
  151. package/dist/standalone/directives/ion-chip.js +4 -3
  152. package/dist/standalone/directives/ion-chip.js.map +1 -1
  153. package/dist/standalone/directives/ion-col.d.ts +1 -1
  154. package/dist/standalone/directives/ion-col.js +3 -3
  155. package/dist/standalone/directives/ion-col.js.map +1 -1
  156. package/dist/standalone/directives/ion-content.d.ts +6 -1
  157. package/dist/standalone/directives/ion-content.js +4 -3
  158. package/dist/standalone/directives/ion-content.js.map +1 -1
  159. package/dist/standalone/directives/ion-datetime-button.d.ts +2 -1
  160. package/dist/standalone/directives/ion-datetime-button.js +4 -3
  161. package/dist/standalone/directives/ion-datetime-button.js.map +1 -1
  162. package/dist/standalone/directives/ion-divider.d.ts +13 -0
  163. package/dist/standalone/directives/ion-divider.js +37 -0
  164. package/dist/standalone/directives/ion-divider.js.map +1 -0
  165. package/dist/standalone/directives/ion-fab-button.d.ts +5 -1
  166. package/dist/standalone/directives/ion-fab-button.js +4 -3
  167. package/dist/standalone/directives/ion-fab-button.js.map +1 -1
  168. package/dist/standalone/directives/ion-fab-list.d.ts +2 -1
  169. package/dist/standalone/directives/ion-fab-list.js +4 -3
  170. package/dist/standalone/directives/ion-fab-list.js.map +1 -1
  171. package/dist/standalone/directives/ion-fab.d.ts +3 -1
  172. package/dist/standalone/directives/ion-fab.js +4 -3
  173. package/dist/standalone/directives/ion-fab.js.map +1 -1
  174. package/dist/standalone/directives/ion-footer.d.ts +2 -1
  175. package/dist/standalone/directives/ion-footer.js +4 -3
  176. package/dist/standalone/directives/ion-footer.js.map +1 -1
  177. package/dist/standalone/directives/ion-gallery-item.d.ts +12 -0
  178. package/dist/standalone/directives/ion-gallery-item.js +36 -0
  179. package/dist/standalone/directives/ion-gallery-item.js.map +1 -0
  180. package/dist/standalone/directives/ion-gallery.d.ts +12 -0
  181. package/dist/standalone/directives/ion-gallery.js +36 -0
  182. package/dist/standalone/directives/ion-gallery.js.map +1 -0
  183. package/dist/standalone/directives/ion-grid.d.ts +2 -1
  184. package/dist/standalone/directives/ion-grid.js +4 -3
  185. package/dist/standalone/directives/ion-grid.js.map +1 -1
  186. package/dist/standalone/directives/ion-header.d.ts +3 -1
  187. package/dist/standalone/directives/ion-header.js +4 -3
  188. package/dist/standalone/directives/ion-header.js.map +1 -1
  189. package/dist/standalone/directives/ion-img.d.ts +1 -1
  190. package/dist/standalone/directives/ion-img.js +3 -3
  191. package/dist/standalone/directives/ion-img.js.map +1 -1
  192. package/dist/standalone/directives/ion-infinite-scroll-content.d.ts +1 -1
  193. package/dist/standalone/directives/ion-infinite-scroll-content.js +3 -3
  194. package/dist/standalone/directives/ion-infinite-scroll-content.js.map +1 -1
  195. package/dist/standalone/directives/ion-infinite-scroll.d.ts +3 -1
  196. package/dist/standalone/directives/ion-infinite-scroll.js +4 -3
  197. package/dist/standalone/directives/ion-infinite-scroll.js.map +1 -1
  198. package/dist/standalone/directives/ion-item-divider.d.ts +2 -1
  199. package/dist/standalone/directives/ion-item-divider.js +4 -3
  200. package/dist/standalone/directives/ion-item-divider.js.map +1 -1
  201. package/dist/standalone/directives/ion-item-group.d.ts +1 -1
  202. package/dist/standalone/directives/ion-item-group.js +4 -3
  203. package/dist/standalone/directives/ion-item-group.js.map +1 -1
  204. package/dist/standalone/directives/ion-item-option.d.ts +3 -1
  205. package/dist/standalone/directives/ion-item-option.js +4 -3
  206. package/dist/standalone/directives/ion-item-option.js.map +1 -1
  207. package/dist/standalone/directives/ion-item-options.d.ts +1 -1
  208. package/dist/standalone/directives/ion-item-options.js +3 -3
  209. package/dist/standalone/directives/ion-item-options.js.map +1 -1
  210. package/dist/standalone/directives/ion-item-sliding.d.ts +2 -1
  211. package/dist/standalone/directives/ion-item-sliding.js +4 -3
  212. package/dist/standalone/directives/ion-item-sliding.js.map +1 -1
  213. package/dist/standalone/directives/ion-item.d.ts +4 -1
  214. package/dist/standalone/directives/ion-item.js +4 -3
  215. package/dist/standalone/directives/ion-item.js.map +1 -1
  216. package/dist/standalone/directives/ion-label.d.ts +1 -1
  217. package/dist/standalone/directives/ion-label.js +3 -3
  218. package/dist/standalone/directives/ion-label.js.map +1 -1
  219. package/dist/standalone/directives/ion-list-header.d.ts +1 -1
  220. package/dist/standalone/directives/ion-list-header.js +3 -3
  221. package/dist/standalone/directives/ion-list-header.js.map +1 -1
  222. package/dist/standalone/directives/ion-list.d.ts +2 -1
  223. package/dist/standalone/directives/ion-list.js +4 -3
  224. package/dist/standalone/directives/ion-list.js.map +1 -1
  225. package/dist/standalone/directives/ion-loading.d.ts +7 -1
  226. package/dist/standalone/directives/ion-loading.js +4 -3
  227. package/dist/standalone/directives/ion-loading.js.map +1 -1
  228. package/dist/standalone/directives/ion-menu-button.d.ts +3 -1
  229. package/dist/standalone/directives/ion-menu-button.js +4 -3
  230. package/dist/standalone/directives/ion-menu-button.js.map +1 -1
  231. package/dist/standalone/directives/ion-menu-toggle.d.ts +2 -1
  232. package/dist/standalone/directives/ion-menu-toggle.js +4 -3
  233. package/dist/standalone/directives/ion-menu-toggle.js.map +1 -1
  234. package/dist/standalone/directives/ion-menu.d.ts +3 -1
  235. package/dist/standalone/directives/ion-menu.js +4 -3
  236. package/dist/standalone/directives/ion-menu.js.map +1 -1
  237. package/dist/standalone/directives/ion-nav-link.d.ts +1 -1
  238. package/dist/standalone/directives/ion-nav-link.js +3 -3
  239. package/dist/standalone/directives/ion-nav-link.js.map +1 -1
  240. package/dist/standalone/directives/ion-note.d.ts +1 -1
  241. package/dist/standalone/directives/ion-note.js +3 -3
  242. package/dist/standalone/directives/ion-note.js.map +1 -1
  243. package/dist/standalone/directives/ion-picker-column-option.d.ts +2 -1
  244. package/dist/standalone/directives/ion-picker-column-option.js +4 -3
  245. package/dist/standalone/directives/ion-picker-column-option.js.map +1 -1
  246. package/dist/standalone/directives/ion-picker-column.d.ts +2 -1
  247. package/dist/standalone/directives/ion-picker-column.js +4 -3
  248. package/dist/standalone/directives/ion-picker-column.js.map +1 -1
  249. package/dist/standalone/directives/ion-picker.d.ts +1 -1
  250. package/dist/standalone/directives/ion-picker.js +3 -3
  251. package/dist/standalone/directives/ion-picker.js.map +1 -1
  252. package/dist/standalone/directives/ion-progress-bar.d.ts +2 -1
  253. package/dist/standalone/directives/ion-progress-bar.js +4 -3
  254. package/dist/standalone/directives/ion-progress-bar.js.map +1 -1
  255. package/dist/standalone/directives/ion-radio.d.ts +2 -1
  256. package/dist/standalone/directives/ion-radio.js +4 -3
  257. package/dist/standalone/directives/ion-radio.js.map +1 -1
  258. package/dist/standalone/directives/ion-refresher-content.d.ts +1 -1
  259. package/dist/standalone/directives/ion-refresher-content.js +3 -3
  260. package/dist/standalone/directives/ion-refresher-content.js.map +1 -1
  261. package/dist/standalone/directives/ion-refresher.d.ts +2 -1
  262. package/dist/standalone/directives/ion-refresher.js +4 -3
  263. package/dist/standalone/directives/ion-refresher.js.map +1 -1
  264. package/dist/standalone/directives/ion-reorder-group.d.ts +2 -1
  265. package/dist/standalone/directives/ion-reorder-group.js +4 -3
  266. package/dist/standalone/directives/ion-reorder-group.js.map +1 -1
  267. package/dist/standalone/directives/ion-reorder.d.ts +1 -1
  268. package/dist/standalone/directives/ion-reorder.js +4 -3
  269. package/dist/standalone/directives/ion-reorder.js.map +1 -1
  270. package/dist/standalone/directives/ion-ripple-effect.d.ts +1 -1
  271. package/dist/standalone/directives/ion-ripple-effect.js +3 -3
  272. package/dist/standalone/directives/ion-ripple-effect.js.map +1 -1
  273. package/dist/standalone/directives/ion-row.d.ts +1 -1
  274. package/dist/standalone/directives/ion-row.js +4 -3
  275. package/dist/standalone/directives/ion-row.js.map +1 -1
  276. package/dist/standalone/directives/ion-segment-button.d.ts +2 -1
  277. package/dist/standalone/directives/ion-segment-button.js +4 -3
  278. package/dist/standalone/directives/ion-segment-button.js.map +1 -1
  279. package/dist/standalone/directives/ion-segment-view.d.ts +2 -0
  280. package/dist/standalone/directives/ion-segment-view.js +3 -2
  281. package/dist/standalone/directives/ion-segment-view.js.map +1 -1
  282. package/dist/standalone/directives/ion-select-modal.d.ts +3 -1
  283. package/dist/standalone/directives/ion-select-modal.js +4 -3
  284. package/dist/standalone/directives/ion-select-modal.js.map +1 -1
  285. package/dist/standalone/directives/ion-select-option.d.ts +2 -1
  286. package/dist/standalone/directives/ion-select-option.js +4 -3
  287. package/dist/standalone/directives/ion-select-option.js.map +1 -1
  288. package/dist/standalone/directives/ion-skeleton-text.d.ts +2 -1
  289. package/dist/standalone/directives/ion-skeleton-text.js +4 -3
  290. package/dist/standalone/directives/ion-skeleton-text.js.map +1 -1
  291. package/dist/standalone/directives/ion-spinner.d.ts +2 -1
  292. package/dist/standalone/directives/ion-spinner.js +4 -3
  293. package/dist/standalone/directives/ion-spinner.js.map +1 -1
  294. package/dist/standalone/directives/ion-split-pane.d.ts +2 -1
  295. package/dist/standalone/directives/ion-split-pane.js +4 -3
  296. package/dist/standalone/directives/ion-split-pane.js.map +1 -1
  297. package/dist/standalone/directives/ion-tab-bar.d.ts +2 -1
  298. package/dist/standalone/directives/ion-tab-bar.js +4 -3
  299. package/dist/standalone/directives/ion-tab-bar.js.map +1 -1
  300. package/dist/standalone/directives/ion-tab-button.d.ts +3 -1
  301. package/dist/standalone/directives/ion-tab-button.js +4 -3
  302. package/dist/standalone/directives/ion-tab-button.js.map +1 -1
  303. package/dist/standalone/directives/ion-tab.d.ts +1 -1
  304. package/dist/standalone/directives/ion-tab.js +3 -3
  305. package/dist/standalone/directives/ion-tab.js.map +1 -1
  306. package/dist/standalone/directives/ion-text.d.ts +1 -1
  307. package/dist/standalone/directives/ion-text.js +3 -3
  308. package/dist/standalone/directives/ion-text.js.map +1 -1
  309. package/dist/standalone/directives/ion-thumbnail.d.ts +1 -1
  310. package/dist/standalone/directives/ion-thumbnail.js +4 -3
  311. package/dist/standalone/directives/ion-thumbnail.js.map +1 -1
  312. package/dist/standalone/directives/ion-title.d.ts +1 -1
  313. package/dist/standalone/directives/ion-title.js +3 -3
  314. package/dist/standalone/directives/ion-title.js.map +1 -1
  315. package/dist/standalone/directives/ion-toast.d.ts +5 -1
  316. package/dist/standalone/directives/ion-toast.js +4 -3
  317. package/dist/standalone/directives/ion-toast.js.map +1 -1
  318. package/dist/standalone/directives/ion-toolbar.d.ts +1 -1
  319. package/dist/standalone/directives/ion-toolbar.js +3 -3
  320. package/dist/standalone/directives/ion-toolbar.js.map +1 -1
  321. package/dist/standalone/directives/proxies.d.ts +3 -0
  322. package/dist/standalone/directives/proxies.js +3 -0
  323. package/dist/standalone/directives/proxies.js.map +1 -1
  324. package/dist/standalone/directives/radio-group.d.ts +1 -0
  325. package/dist/standalone/directives/radio-group.js +13 -4
  326. package/dist/standalone/directives/radio-group.js.map +1 -1
  327. package/dist/standalone/directives/range.d.ts +5 -0
  328. package/dist/standalone/directives/range.js +10 -8
  329. package/dist/standalone/directives/range.js.map +1 -1
  330. package/dist/standalone/directives/searchbar.d.ts +4 -0
  331. package/dist/standalone/directives/searchbar.js +9 -7
  332. package/dist/standalone/directives/searchbar.js.map +1 -1
  333. package/dist/standalone/directives/segment.d.ts +4 -0
  334. package/dist/standalone/directives/segment.js +14 -4
  335. package/dist/standalone/directives/segment.js.map +1 -1
  336. package/dist/standalone/directives/select.d.ts +5 -1
  337. package/dist/standalone/directives/select.js +9 -5
  338. package/dist/standalone/directives/select.js.map +1 -1
  339. package/dist/standalone/directives/textarea.d.ts +8 -0
  340. package/dist/standalone/directives/textarea.js +13 -11
  341. package/dist/standalone/directives/textarea.js.map +1 -1
  342. package/dist/standalone/directives/toggle.d.ts +5 -1
  343. package/dist/standalone/directives/toggle.js +9 -6
  344. package/dist/standalone/directives/toggle.js.map +1 -1
  345. package/package.json +5 -2
@@ -32,7 +32,7 @@ export declare class IonicModule {
32
32
  */
33
33
  static forRoot(config?: IonicConfig & OptInAngularFeatures): ModuleWithProviders<IonicModule>;
34
34
  static ɵfac: i0.ɵɵFactoryDeclaration<IonicModule, never>;
35
- static ɵmod: i0.ɵɵNgModuleDeclaration<IonicModule, [typeof i1.IonAccordion, typeof i1.IonAccordionGroup, typeof i1.IonActionSheet, typeof i1.IonAlert, typeof i1.IonApp, typeof i1.IonAvatar, typeof i1.IonBackdrop, typeof i1.IonBadge, typeof i1.IonBreadcrumb, typeof i1.IonBreadcrumbs, typeof i1.IonButton, typeof i1.IonButtons, typeof i1.IonCard, typeof i1.IonCardContent, typeof i1.IonCardHeader, typeof i1.IonCardSubtitle, typeof i1.IonCardTitle, typeof i1.IonCheckbox, typeof i1.IonChip, typeof i1.IonCol, typeof i1.IonContent, typeof i1.IonDatetime, typeof i1.IonDatetimeButton, typeof i1.IonFab, typeof i1.IonFabButton, typeof i1.IonFabList, typeof i1.IonFooter, typeof i1.IonGrid, typeof i1.IonHeader, typeof i1.IonIcon, typeof i1.IonImg, typeof i1.IonInfiniteScroll, typeof i1.IonInfiniteScrollContent, typeof i1.IonInput, typeof i1.IonInputOtp, typeof i1.IonInputPasswordToggle, typeof i1.IonItem, typeof i1.IonItemDivider, typeof i1.IonItemGroup, typeof i1.IonItemOption, typeof i1.IonItemOptions, typeof i1.IonItemSliding, typeof i1.IonLabel, typeof i1.IonList, typeof i1.IonListHeader, typeof i1.IonLoading, typeof i1.IonMenu, typeof i1.IonMenuButton, typeof i1.IonMenuToggle, typeof i1.IonNavLink, typeof i1.IonNote, typeof i1.IonPicker, typeof i1.IonPickerColumn, typeof i1.IonPickerColumnOption, typeof i1.IonProgressBar, typeof i1.IonRadio, typeof i1.IonRadioGroup, typeof i1.IonRange, typeof i1.IonRefresher, typeof i1.IonRefresherContent, typeof i1.IonReorder, typeof i1.IonReorderGroup, typeof i1.IonRippleEffect, typeof i1.IonRow, typeof i1.IonSearchbar, typeof i1.IonSegment, typeof i1.IonSegmentButton, typeof i1.IonSegmentContent, typeof i1.IonSegmentView, typeof i1.IonSelect, typeof i1.IonSelectModal, typeof i1.IonSelectOption, typeof i1.IonSkeletonText, typeof i1.IonSpinner, typeof i1.IonSplitPane, typeof i1.IonTab, typeof i1.IonTabBar, typeof i1.IonTabButton, typeof i1.IonText, typeof i1.IonTextarea, typeof i1.IonThumbnail, typeof i1.IonTitle, typeof i1.IonToast, typeof i1.IonToggle, typeof i1.IonToolbar, typeof i2.IonModal, typeof i3.IonPopover, typeof i4.BooleanValueAccessorDirective, typeof i5.NumericValueAccessorDirective, typeof i6.SelectValueAccessorDirective, typeof i7.TextValueAccessorDirective, typeof i8.IonTabs, typeof i9.IonRouterOutlet, typeof i10.IonBackButton, typeof i11.IonNav, typeof i12.RouterLinkDelegateDirective, typeof i12.RouterLinkWithHrefDelegateDirective, typeof i13.IonMinValidator, typeof i14.IonMaxValidator], [typeof i15.CommonModule], [typeof i1.IonAccordion, typeof i1.IonAccordionGroup, typeof i1.IonActionSheet, typeof i1.IonAlert, typeof i1.IonApp, typeof i1.IonAvatar, typeof i1.IonBackdrop, typeof i1.IonBadge, typeof i1.IonBreadcrumb, typeof i1.IonBreadcrumbs, typeof i1.IonButton, typeof i1.IonButtons, typeof i1.IonCard, typeof i1.IonCardContent, typeof i1.IonCardHeader, typeof i1.IonCardSubtitle, typeof i1.IonCardTitle, typeof i1.IonCheckbox, typeof i1.IonChip, typeof i1.IonCol, typeof i1.IonContent, typeof i1.IonDatetime, typeof i1.IonDatetimeButton, typeof i1.IonFab, typeof i1.IonFabButton, typeof i1.IonFabList, typeof i1.IonFooter, typeof i1.IonGrid, typeof i1.IonHeader, typeof i1.IonIcon, typeof i1.IonImg, typeof i1.IonInfiniteScroll, typeof i1.IonInfiniteScrollContent, typeof i1.IonInput, typeof i1.IonInputOtp, typeof i1.IonInputPasswordToggle, typeof i1.IonItem, typeof i1.IonItemDivider, typeof i1.IonItemGroup, typeof i1.IonItemOption, typeof i1.IonItemOptions, typeof i1.IonItemSliding, typeof i1.IonLabel, typeof i1.IonList, typeof i1.IonListHeader, typeof i1.IonLoading, typeof i1.IonMenu, typeof i1.IonMenuButton, typeof i1.IonMenuToggle, typeof i1.IonNavLink, typeof i1.IonNote, typeof i1.IonPicker, typeof i1.IonPickerColumn, typeof i1.IonPickerColumnOption, typeof i1.IonProgressBar, typeof i1.IonRadio, typeof i1.IonRadioGroup, typeof i1.IonRange, typeof i1.IonRefresher, typeof i1.IonRefresherContent, typeof i1.IonReorder, typeof i1.IonReorderGroup, typeof i1.IonRippleEffect, typeof i1.IonRow, typeof i1.IonSearchbar, typeof i1.IonSegment, typeof i1.IonSegmentButton, typeof i1.IonSegmentContent, typeof i1.IonSegmentView, typeof i1.IonSelect, typeof i1.IonSelectModal, typeof i1.IonSelectOption, typeof i1.IonSkeletonText, typeof i1.IonSpinner, typeof i1.IonSplitPane, typeof i1.IonTab, typeof i1.IonTabBar, typeof i1.IonTabButton, typeof i1.IonText, typeof i1.IonTextarea, typeof i1.IonThumbnail, typeof i1.IonTitle, typeof i1.IonToast, typeof i1.IonToggle, typeof i1.IonToolbar, typeof i2.IonModal, typeof i3.IonPopover, typeof i4.BooleanValueAccessorDirective, typeof i5.NumericValueAccessorDirective, typeof i6.SelectValueAccessorDirective, typeof i7.TextValueAccessorDirective, typeof i8.IonTabs, typeof i9.IonRouterOutlet, typeof i10.IonBackButton, typeof i11.IonNav, typeof i12.RouterLinkDelegateDirective, typeof i12.RouterLinkWithHrefDelegateDirective, typeof i13.IonMinValidator, typeof i14.IonMaxValidator]>;
35
+ static ɵmod: i0.ɵɵNgModuleDeclaration<IonicModule, [typeof i1.IonAccordion, typeof i1.IonAccordionGroup, typeof i1.IonActionSheet, typeof i1.IonAlert, typeof i1.IonApp, typeof i1.IonAvatar, typeof i1.IonBackdrop, typeof i1.IonBadge, typeof i1.IonBreadcrumb, typeof i1.IonBreadcrumbs, typeof i1.IonButton, typeof i1.IonButtons, typeof i1.IonCard, typeof i1.IonCardContent, typeof i1.IonCardHeader, typeof i1.IonCardSubtitle, typeof i1.IonCardTitle, typeof i1.IonCheckbox, typeof i1.IonChip, typeof i1.IonCol, typeof i1.IonContent, typeof i1.IonDatetime, typeof i1.IonDatetimeButton, typeof i1.IonDivider, typeof i1.IonFab, typeof i1.IonFabButton, typeof i1.IonFabList, typeof i1.IonFooter, typeof i1.IonGallery, typeof i1.IonGalleryItem, typeof i1.IonGrid, typeof i1.IonHeader, typeof i1.IonIcon, typeof i1.IonImg, typeof i1.IonInfiniteScroll, typeof i1.IonInfiniteScrollContent, typeof i1.IonInput, typeof i1.IonInputOtp, typeof i1.IonInputPasswordToggle, typeof i1.IonItem, typeof i1.IonItemDivider, typeof i1.IonItemGroup, typeof i1.IonItemOption, typeof i1.IonItemOptions, typeof i1.IonItemSliding, typeof i1.IonLabel, typeof i1.IonList, typeof i1.IonListHeader, typeof i1.IonLoading, typeof i1.IonMenu, typeof i1.IonMenuButton, typeof i1.IonMenuToggle, typeof i1.IonNavLink, typeof i1.IonNote, typeof i1.IonPicker, typeof i1.IonPickerColumn, typeof i1.IonPickerColumnOption, typeof i1.IonProgressBar, typeof i1.IonRadio, typeof i1.IonRadioGroup, typeof i1.IonRange, typeof i1.IonRefresher, typeof i1.IonRefresherContent, typeof i1.IonReorder, typeof i1.IonReorderGroup, typeof i1.IonRippleEffect, typeof i1.IonRow, typeof i1.IonSearchbar, typeof i1.IonSegment, typeof i1.IonSegmentButton, typeof i1.IonSegmentContent, typeof i1.IonSegmentView, typeof i1.IonSelect, typeof i1.IonSelectModal, typeof i1.IonSelectOption, typeof i1.IonSkeletonText, typeof i1.IonSpinner, typeof i1.IonSplitPane, typeof i1.IonTab, typeof i1.IonTabBar, typeof i1.IonTabButton, typeof i1.IonText, typeof i1.IonTextarea, typeof i1.IonThumbnail, typeof i1.IonTitle, typeof i1.IonToast, typeof i1.IonToggle, typeof i1.IonToolbar, typeof i2.IonModal, typeof i3.IonPopover, typeof i4.BooleanValueAccessorDirective, typeof i5.NumericValueAccessorDirective, typeof i6.SelectValueAccessorDirective, typeof i7.TextValueAccessorDirective, typeof i8.IonTabs, typeof i9.IonRouterOutlet, typeof i10.IonBackButton, typeof i11.IonNav, typeof i12.RouterLinkDelegateDirective, typeof i12.RouterLinkWithHrefDelegateDirective, typeof i13.IonMinValidator, typeof i14.IonMaxValidator], [typeof i15.CommonModule], [typeof i1.IonAccordion, typeof i1.IonAccordionGroup, typeof i1.IonActionSheet, typeof i1.IonAlert, typeof i1.IonApp, typeof i1.IonAvatar, typeof i1.IonBackdrop, typeof i1.IonBadge, typeof i1.IonBreadcrumb, typeof i1.IonBreadcrumbs, typeof i1.IonButton, typeof i1.IonButtons, typeof i1.IonCard, typeof i1.IonCardContent, typeof i1.IonCardHeader, typeof i1.IonCardSubtitle, typeof i1.IonCardTitle, typeof i1.IonCheckbox, typeof i1.IonChip, typeof i1.IonCol, typeof i1.IonContent, typeof i1.IonDatetime, typeof i1.IonDatetimeButton, typeof i1.IonDivider, typeof i1.IonFab, typeof i1.IonFabButton, typeof i1.IonFabList, typeof i1.IonFooter, typeof i1.IonGallery, typeof i1.IonGalleryItem, typeof i1.IonGrid, typeof i1.IonHeader, typeof i1.IonIcon, typeof i1.IonImg, typeof i1.IonInfiniteScroll, typeof i1.IonInfiniteScrollContent, typeof i1.IonInput, typeof i1.IonInputOtp, typeof i1.IonInputPasswordToggle, typeof i1.IonItem, typeof i1.IonItemDivider, typeof i1.IonItemGroup, typeof i1.IonItemOption, typeof i1.IonItemOptions, typeof i1.IonItemSliding, typeof i1.IonLabel, typeof i1.IonList, typeof i1.IonListHeader, typeof i1.IonLoading, typeof i1.IonMenu, typeof i1.IonMenuButton, typeof i1.IonMenuToggle, typeof i1.IonNavLink, typeof i1.IonNote, typeof i1.IonPicker, typeof i1.IonPickerColumn, typeof i1.IonPickerColumnOption, typeof i1.IonProgressBar, typeof i1.IonRadio, typeof i1.IonRadioGroup, typeof i1.IonRange, typeof i1.IonRefresher, typeof i1.IonRefresherContent, typeof i1.IonReorder, typeof i1.IonReorderGroup, typeof i1.IonRippleEffect, typeof i1.IonRow, typeof i1.IonSearchbar, typeof i1.IonSegment, typeof i1.IonSegmentButton, typeof i1.IonSegmentContent, typeof i1.IonSegmentView, typeof i1.IonSelect, typeof i1.IonSelectModal, typeof i1.IonSelectOption, typeof i1.IonSkeletonText, typeof i1.IonSpinner, typeof i1.IonSplitPane, typeof i1.IonTab, typeof i1.IonTabBar, typeof i1.IonTabButton, typeof i1.IonText, typeof i1.IonTextarea, typeof i1.IonThumbnail, typeof i1.IonTitle, typeof i1.IonToast, typeof i1.IonToggle, typeof i1.IonToolbar, typeof i2.IonModal, typeof i3.IonPopover, typeof i4.BooleanValueAccessorDirective, typeof i5.NumericValueAccessorDirective, typeof i6.SelectValueAccessorDirective, typeof i7.TextValueAccessorDirective, typeof i8.IonTabs, typeof i9.IonRouterOutlet, typeof i10.IonBackButton, typeof i11.IonNav, typeof i12.RouterLinkDelegateDirective, typeof i12.RouterLinkWithHrefDelegateDirective, typeof i13.IonMinValidator, typeof i14.IonMaxValidator]>;
36
36
  static ɵinj: i0.ɵɵInjectorDeclaration<IonicModule>;
37
37
  }
38
38
  export {};
@@ -70,7 +70,7 @@ export class IonicModule {
70
70
  };
71
71
  }
72
72
  /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: IonicModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
73
- /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.0", ngImport: i0, type: IonicModule, declarations: [i1.IonAccordion, i1.IonAccordionGroup, i1.IonActionSheet, i1.IonAlert, i1.IonApp, i1.IonAvatar, i1.IonBackdrop, i1.IonBadge, i1.IonBreadcrumb, i1.IonBreadcrumbs, i1.IonButton, i1.IonButtons, i1.IonCard, i1.IonCardContent, i1.IonCardHeader, i1.IonCardSubtitle, i1.IonCardTitle, i1.IonCheckbox, i1.IonChip, i1.IonCol, i1.IonContent, i1.IonDatetime, i1.IonDatetimeButton, i1.IonFab, i1.IonFabButton, i1.IonFabList, i1.IonFooter, i1.IonGrid, i1.IonHeader, i1.IonIcon, i1.IonImg, i1.IonInfiniteScroll, i1.IonInfiniteScrollContent, i1.IonInput, i1.IonInputOtp, i1.IonInputPasswordToggle, i1.IonItem, i1.IonItemDivider, i1.IonItemGroup, i1.IonItemOption, i1.IonItemOptions, i1.IonItemSliding, i1.IonLabel, i1.IonList, i1.IonListHeader, i1.IonLoading, i1.IonMenu, i1.IonMenuButton, i1.IonMenuToggle, i1.IonNavLink, i1.IonNote, i1.IonPicker, i1.IonPickerColumn, i1.IonPickerColumnOption, i1.IonProgressBar, i1.IonRadio, i1.IonRadioGroup, i1.IonRange, i1.IonRefresher, i1.IonRefresherContent, i1.IonReorder, i1.IonReorderGroup, i1.IonRippleEffect, i1.IonRow, i1.IonSearchbar, i1.IonSegment, i1.IonSegmentButton, i1.IonSegmentContent, i1.IonSegmentView, i1.IonSelect, i1.IonSelectModal, i1.IonSelectOption, i1.IonSkeletonText, i1.IonSpinner, i1.IonSplitPane, i1.IonTab, i1.IonTabBar, i1.IonTabButton, i1.IonText, i1.IonTextarea, i1.IonThumbnail, i1.IonTitle, i1.IonToast, i1.IonToggle, i1.IonToolbar,
73
+ /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.0", ngImport: i0, type: IonicModule, declarations: [i1.IonAccordion, i1.IonAccordionGroup, i1.IonActionSheet, i1.IonAlert, i1.IonApp, i1.IonAvatar, i1.IonBackdrop, i1.IonBadge, i1.IonBreadcrumb, i1.IonBreadcrumbs, i1.IonButton, i1.IonButtons, i1.IonCard, i1.IonCardContent, i1.IonCardHeader, i1.IonCardSubtitle, i1.IonCardTitle, i1.IonCheckbox, i1.IonChip, i1.IonCol, i1.IonContent, i1.IonDatetime, i1.IonDatetimeButton, i1.IonDivider, i1.IonFab, i1.IonFabButton, i1.IonFabList, i1.IonFooter, i1.IonGallery, i1.IonGalleryItem, i1.IonGrid, i1.IonHeader, i1.IonIcon, i1.IonImg, i1.IonInfiniteScroll, i1.IonInfiniteScrollContent, i1.IonInput, i1.IonInputOtp, i1.IonInputPasswordToggle, i1.IonItem, i1.IonItemDivider, i1.IonItemGroup, i1.IonItemOption, i1.IonItemOptions, i1.IonItemSliding, i1.IonLabel, i1.IonList, i1.IonListHeader, i1.IonLoading, i1.IonMenu, i1.IonMenuButton, i1.IonMenuToggle, i1.IonNavLink, i1.IonNote, i1.IonPicker, i1.IonPickerColumn, i1.IonPickerColumnOption, i1.IonProgressBar, i1.IonRadio, i1.IonRadioGroup, i1.IonRange, i1.IonRefresher, i1.IonRefresherContent, i1.IonReorder, i1.IonReorderGroup, i1.IonRippleEffect, i1.IonRow, i1.IonSearchbar, i1.IonSegment, i1.IonSegmentButton, i1.IonSegmentContent, i1.IonSegmentView, i1.IonSelect, i1.IonSelectModal, i1.IonSelectOption, i1.IonSkeletonText, i1.IonSpinner, i1.IonSplitPane, i1.IonTab, i1.IonTabBar, i1.IonTabButton, i1.IonText, i1.IonTextarea, i1.IonThumbnail, i1.IonTitle, i1.IonToast, i1.IonToggle, i1.IonToolbar,
74
74
  // manual proxies
75
75
  IonModal,
76
76
  IonPopover,
@@ -88,7 +88,7 @@ export class IonicModule {
88
88
  RouterLinkWithHrefDelegateDirective,
89
89
  // validators
90
90
  IonMinValidator,
91
- IonMaxValidator], imports: [CommonModule], exports: [i1.IonAccordion, i1.IonAccordionGroup, i1.IonActionSheet, i1.IonAlert, i1.IonApp, i1.IonAvatar, i1.IonBackdrop, i1.IonBadge, i1.IonBreadcrumb, i1.IonBreadcrumbs, i1.IonButton, i1.IonButtons, i1.IonCard, i1.IonCardContent, i1.IonCardHeader, i1.IonCardSubtitle, i1.IonCardTitle, i1.IonCheckbox, i1.IonChip, i1.IonCol, i1.IonContent, i1.IonDatetime, i1.IonDatetimeButton, i1.IonFab, i1.IonFabButton, i1.IonFabList, i1.IonFooter, i1.IonGrid, i1.IonHeader, i1.IonIcon, i1.IonImg, i1.IonInfiniteScroll, i1.IonInfiniteScrollContent, i1.IonInput, i1.IonInputOtp, i1.IonInputPasswordToggle, i1.IonItem, i1.IonItemDivider, i1.IonItemGroup, i1.IonItemOption, i1.IonItemOptions, i1.IonItemSliding, i1.IonLabel, i1.IonList, i1.IonListHeader, i1.IonLoading, i1.IonMenu, i1.IonMenuButton, i1.IonMenuToggle, i1.IonNavLink, i1.IonNote, i1.IonPicker, i1.IonPickerColumn, i1.IonPickerColumnOption, i1.IonProgressBar, i1.IonRadio, i1.IonRadioGroup, i1.IonRange, i1.IonRefresher, i1.IonRefresherContent, i1.IonReorder, i1.IonReorderGroup, i1.IonRippleEffect, i1.IonRow, i1.IonSearchbar, i1.IonSegment, i1.IonSegmentButton, i1.IonSegmentContent, i1.IonSegmentView, i1.IonSelect, i1.IonSelectModal, i1.IonSelectOption, i1.IonSkeletonText, i1.IonSpinner, i1.IonSplitPane, i1.IonTab, i1.IonTabBar, i1.IonTabButton, i1.IonText, i1.IonTextarea, i1.IonThumbnail, i1.IonTitle, i1.IonToast, i1.IonToggle, i1.IonToolbar,
91
+ IonMaxValidator], imports: [CommonModule], exports: [i1.IonAccordion, i1.IonAccordionGroup, i1.IonActionSheet, i1.IonAlert, i1.IonApp, i1.IonAvatar, i1.IonBackdrop, i1.IonBadge, i1.IonBreadcrumb, i1.IonBreadcrumbs, i1.IonButton, i1.IonButtons, i1.IonCard, i1.IonCardContent, i1.IonCardHeader, i1.IonCardSubtitle, i1.IonCardTitle, i1.IonCheckbox, i1.IonChip, i1.IonCol, i1.IonContent, i1.IonDatetime, i1.IonDatetimeButton, i1.IonDivider, i1.IonFab, i1.IonFabButton, i1.IonFabList, i1.IonFooter, i1.IonGallery, i1.IonGalleryItem, i1.IonGrid, i1.IonHeader, i1.IonIcon, i1.IonImg, i1.IonInfiniteScroll, i1.IonInfiniteScrollContent, i1.IonInput, i1.IonInputOtp, i1.IonInputPasswordToggle, i1.IonItem, i1.IonItemDivider, i1.IonItemGroup, i1.IonItemOption, i1.IonItemOptions, i1.IonItemSliding, i1.IonLabel, i1.IonList, i1.IonListHeader, i1.IonLoading, i1.IonMenu, i1.IonMenuButton, i1.IonMenuToggle, i1.IonNavLink, i1.IonNote, i1.IonPicker, i1.IonPickerColumn, i1.IonPickerColumnOption, i1.IonProgressBar, i1.IonRadio, i1.IonRadioGroup, i1.IonRange, i1.IonRefresher, i1.IonRefresherContent, i1.IonReorder, i1.IonReorderGroup, i1.IonRippleEffect, i1.IonRow, i1.IonSearchbar, i1.IonSegment, i1.IonSegmentButton, i1.IonSegmentContent, i1.IonSegmentView, i1.IonSelect, i1.IonSelectModal, i1.IonSelectOption, i1.IonSkeletonText, i1.IonSpinner, i1.IonSplitPane, i1.IonTab, i1.IonTabBar, i1.IonTabButton, i1.IonText, i1.IonTextarea, i1.IonThumbnail, i1.IonTitle, i1.IonToast, i1.IonToggle, i1.IonToolbar,
92
92
  // manual proxies
93
93
  IonModal,
94
94
  IonPopover,
@@ -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/standalone/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"]}
@@ -9,7 +9,11 @@ export declare class IonCheckbox extends ValueAccessor {
9
9
  writeValue(value: boolean): void;
10
10
  handleIonChange(el: HTMLIonCheckboxElement | HTMLIonToggleElement): void;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<IonCheckbox, never>;
12
- static ɵcmp: i0.ɵɵComponentDeclaration<IonCheckbox, "ion-checkbox", never, { "checked": { "alias": "checked"; "required": false; }; "color": { "alias": "color"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "indeterminate": { "alias": "indeterminate"; "required": false; }; "justify": { "alias": "justify"; "required": false; }; "labelPlacement": { "alias": "labelPlacement"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "name": { "alias": "name"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, never, ["*"], true, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<IonCheckbox, "ion-checkbox", never, { "checked": { "alias": "checked"; "required": false; }; "color": { "alias": "color"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "indeterminate": { "alias": "indeterminate"; "required": false; }; "justify": { "alias": "justify"; "required": false; }; "labelPlacement": { "alias": "labelPlacement"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "name": { "alias": "name"; "required": false; }; "required": { "alias": "required"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, never, ["*"], true, never>;
13
+ static ngAcceptInputType_checked: boolean | string | null | undefined;
14
+ static ngAcceptInputType_disabled: boolean | string | null | undefined;
15
+ static ngAcceptInputType_indeterminate: boolean | string | null | undefined;
16
+ static ngAcceptInputType_required: boolean | string | null | undefined;
13
17
  }
14
18
  export declare interface IonCheckbox extends Components.IonCheckbox {
15
19
  /**
@@ -1,23 +1,26 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { ChangeDetectionStrategy, Component, HostListener, forwardRef, } from '@angular/core';
3
3
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import { ValueAccessor, setIonicClasses } from '@ionic/angular/common';
4
+ import { inputNames, setIonicClasses, ValueAccessor } from '@ionic/angular/common';
5
5
  import { defineCustomElement } from '@ionic/core/components/ion-checkbox.js';
6
+ import { nullableBooleanAttribute } from './angular-component-lib/boolean-attribute';
6
7
  import { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';
7
8
  import * as i0 from "@angular/core";
8
9
  const CHECKBOX_INPUTS = [
9
- 'checked',
10
+ { name: 'checked', transform: nullableBooleanAttribute },
10
11
  'color',
11
- 'disabled',
12
+ { name: 'disabled', transform: nullableBooleanAttribute },
12
13
  'errorText',
13
14
  'helperText',
14
- 'indeterminate',
15
+ { name: 'indeterminate', transform: nullableBooleanAttribute },
15
16
  'justify',
16
17
  'labelPlacement',
17
18
  'mode',
18
19
  'name',
20
+ { name: 'required', transform: nullableBooleanAttribute },
19
21
  'value',
20
22
  ];
23
+ const CHECKBOX_PROXY_INPUTS = inputNames(CHECKBOX_INPUTS);
21
24
  let IonCheckbox = class IonCheckbox extends ValueAccessor {
22
25
  z;
23
26
  el;
@@ -36,7 +39,7 @@ let IonCheckbox = class IonCheckbox extends ValueAccessor {
36
39
  this.handleValueChange(el, el.checked);
37
40
  }
38
41
  /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: IonCheckbox, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
39
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.0", type: IonCheckbox, isStandalone: true, selector: "ion-checkbox", inputs: { checked: "checked", color: "color", disabled: "disabled", errorText: "errorText", helperText: "helperText", indeterminate: "indeterminate", justify: "justify", labelPlacement: "labelPlacement", mode: "mode", name: "name", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [
42
+ /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "22.0.0", type: IonCheckbox, isStandalone: true, selector: "ion-checkbox", inputs: { checked: ["checked", "checked", nullableBooleanAttribute], color: "color", disabled: ["disabled", "disabled", nullableBooleanAttribute], errorText: "errorText", helperText: "helperText", indeterminate: ["indeterminate", "indeterminate", nullableBooleanAttribute], justify: "justify", labelPlacement: "labelPlacement", mode: "mode", name: "name", required: ["required", "required", nullableBooleanAttribute], value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [
40
43
  {
41
44
  provide: NG_VALUE_ACCESSOR,
42
45
  useExisting: forwardRef((() => IonCheckbox)),
@@ -47,7 +50,7 @@ let IonCheckbox = class IonCheckbox extends ValueAccessor {
47
50
  IonCheckbox = __decorate([
48
51
  ProxyCmp({
49
52
  defineCustomElementFn: defineCustomElement,
50
- inputs: CHECKBOX_INPUTS,
53
+ inputs: CHECKBOX_PROXY_INPUTS,
51
54
  })
52
55
  ], IonCheckbox);
53
56
  export { IonCheckbox };
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../../src/standalone/directives/checkbox.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,uBAAuB,EAEvB,SAAS,EAGT,YAAY,EAGZ,UAAU,GACX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAE7E,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;;AAEvE,MAAM,eAAe,GAAG;IACtB,SAAS;IACT,OAAO;IACP,UAAU;IACV,WAAW;IACX,YAAY;IACZ,eAAe;IACf,SAAS;IACT,gBAAgB;IAChB,MAAM;IACN,MAAM;IACN,OAAO;CACR,CAAC;AAqBK,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,aAAa;IAEe;IADjD,EAAE,CAAc;IAC1B,YAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAE,QAAkB;QACtF,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QADsC,MAAC,GAAD,CAAC,CAAQ;QAElE,CAAC,CAAC,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC;QAC1B,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,UAAU,CAAC,KAAc;QACvB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAC/D,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAGD,eAAe,CAAC,EAAiD;QAC/D,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;0HAjBU,WAAW;8GAAX,WAAW,6XATX;YACT;gBACE,OAAO,EAAE,iBAAiB;gBAC1B,WAAW,EAAE,UAAU,EAAC,GAAG,EAAE,CAAC,WAAW,EAAC;gBAC1C,KAAK,EAAE,IAAI;aACZ;SACF,iDATS,2BAA2B;;AAY1B,WAAW;IAnBvB,QAAQ,CAAC;QACR,qBAAqB,EAAE,mBAAmB;QAC1C,MAAM,EAAE,eAAe;KACxB,CAAC;GAgBW,WAAW,CAkBvB;;2FAlBY,WAAW;kBAfvB,SAAS;mBAAC;oBACT,QAAQ,EAAE,cAAc;oBACxB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,2BAA2B;oBACrC,uEAAuE;oBACvE,MAAM,EAAE,eAAe;oBACvB,SAAS,EAAE;wBACT;4BACE,OAAO,EAAE,iBAAiB;4BAC1B,WAAW,EAAE,UAAU,EAAC,GAAG,EAAE,YAAY,EAAC;4BAC1C,KAAK,EAAE,IAAI;yBACZ;qBACF;oBACD,UAAU,EAAE,IAAI;iBACjB;;sBAeE,YAAY;uBAAC,WAAW,EAAE,CAAC,eAAe,CAAC","sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Injector,\n NgZone,\n forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ValueAccessor, setIonicClasses } from '@ionic/angular/common';\nimport type { CheckboxChangeEventDetail, Components } from '@ionic/core/components';\nimport { defineCustomElement } from '@ionic/core/components/ion-checkbox.js';\n\nimport { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';\n\nconst CHECKBOX_INPUTS = [\n 'checked',\n 'color',\n 'disabled',\n 'errorText',\n 'helperText',\n 'indeterminate',\n 'justify',\n 'labelPlacement',\n 'mode',\n 'name',\n 'value',\n];\n\n@ProxyCmp({\n defineCustomElementFn: defineCustomElement,\n inputs: CHECKBOX_INPUTS,\n})\n@Component({\n selector: 'ion-checkbox',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: CHECKBOX_INPUTS,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => IonCheckbox),\n multi: true,\n },\n ],\n standalone: true,\n})\nexport class IonCheckbox extends ValueAccessor {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone, injector: Injector) {\n super(injector, r);\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']);\n }\n\n writeValue(value: boolean): void {\n this.elementRef.nativeElement.checked = this.lastValue = value;\n setIonicClasses(this.elementRef);\n }\n\n @HostListener('ionChange', ['$event.target'])\n handleIonChange(el: HTMLIonCheckboxElement | HTMLIonToggleElement): void {\n this.handleValueChange(el, el.checked);\n }\n}\n\nexport declare interface IonCheckbox extends Components.IonCheckbox {\n /**\n * Emitted when the checked property has changed\nas a result of a user action such as a click.\nThis event will not emit when programmatically\nsetting the checked property.\n */\n ionChange: EventEmitter<CustomEvent<CheckboxChangeEventDetail>>;\n /**\n * Emitted when the checkbox has focus.\n */\n ionFocus: EventEmitter<CustomEvent<void>>;\n /**\n * Emitted when the checkbox loses focus.\n */\n ionBlur: EventEmitter<CustomEvent<void>>;\n}\n"]}
1
+ {"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../../src/standalone/directives/checkbox.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,uBAAuB,EAEvB,SAAS,EAGT,YAAY,EAGZ,UAAU,GACX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAE7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;;AAEvE,MAAM,eAAe,GAAG;IACtB,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,wBAAwB,EAAE;IACxD,OAAO;IACP,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,wBAAwB,EAAE;IACzD,WAAW;IACX,YAAY;IACZ,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,wBAAwB,EAAE;IAC9D,SAAS;IACT,gBAAgB;IAChB,MAAM;IACN,MAAM;IACN,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,wBAAwB,EAAE;IACzD,OAAO;CACR,CAAC;AAEF,MAAM,qBAAqB,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;AAqBnD,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,aAAa;IAEe;IADjD,EAAE,CAAc;IAC1B,YAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAE,QAAkB;QACtF,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QADsC,MAAC,GAAD,CAAC,CAAQ;QAElE,CAAC,CAAC,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC;QAC1B,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,UAAU,CAAC,KAAc;QACvB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAC/D,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAGD,eAAe,CAAC,EAAiD;QAC/D,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;0HAjBU,WAAW;8GAAX,WAAW,0FAnCQ,wBAAwB,sDAEvB,wBAAwB,uGAGnB,wBAAwB,wHAK7B,wBAAwB,wGAgB5C;YACT;gBACE,OAAO,EAAE,iBAAiB;gBAC1B,WAAW,EAAE,UAAU,EAAC,GAAG,EAAE,CAAC,WAAW,EAAC;gBAC1C,KAAK,EAAE,IAAI;aACZ;SACF,iDATS,2BAA2B;;AAY1B,WAAW;IAnBvB,QAAQ,CAAC;QACR,qBAAqB,EAAE,mBAAmB;QAC1C,MAAM,EAAE,qBAAqB;KAC9B,CAAC;GAgBW,WAAW,CAkBvB;;2FAlBY,WAAW;kBAfvB,SAAS;mBAAC;oBACT,QAAQ,EAAE,cAAc;oBACxB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,2BAA2B;oBACrC,uEAAuE;oBACvE,MAAM,EAAE,eAAe;oBACvB,SAAS,EAAE;wBACT;4BACE,OAAO,EAAE,iBAAiB;4BAC1B,WAAW,EAAE,UAAU,EAAC,GAAG,EAAE,YAAY,EAAC;4BAC1C,KAAK,EAAE,IAAI;yBACZ;qBACF;oBACD,UAAU,EAAE,IAAI;iBACjB;;sBAeE,YAAY;uBAAC,WAAW,EAAE,CAAC,eAAe,CAAC","sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Injector,\n NgZone,\n forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { inputNames, setIonicClasses, ValueAccessor } from '@ionic/angular/common';\nimport type { CheckboxChangeEventDetail, Components } from '@ionic/core/components';\nimport { defineCustomElement } from '@ionic/core/components/ion-checkbox.js';\n\nimport { nullableBooleanAttribute } from './angular-component-lib/boolean-attribute';\nimport { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';\n\nconst CHECKBOX_INPUTS = [\n { name: 'checked', transform: nullableBooleanAttribute },\n 'color',\n { name: 'disabled', transform: nullableBooleanAttribute },\n 'errorText',\n 'helperText',\n { name: 'indeterminate', transform: nullableBooleanAttribute },\n 'justify',\n 'labelPlacement',\n 'mode',\n 'name',\n { name: 'required', transform: nullableBooleanAttribute },\n 'value',\n];\n\nconst CHECKBOX_PROXY_INPUTS = inputNames(CHECKBOX_INPUTS);\n\n@ProxyCmp({\n defineCustomElementFn: defineCustomElement,\n inputs: CHECKBOX_PROXY_INPUTS,\n})\n@Component({\n selector: 'ion-checkbox',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: CHECKBOX_INPUTS,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => IonCheckbox),\n multi: true,\n },\n ],\n standalone: true,\n})\nexport class IonCheckbox extends ValueAccessor {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone, injector: Injector) {\n super(injector, r);\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionChange', 'ionFocus', 'ionBlur']);\n }\n\n writeValue(value: boolean): void {\n this.elementRef.nativeElement.checked = this.lastValue = value;\n setIonicClasses(this.elementRef);\n }\n\n @HostListener('ionChange', ['$event.target'])\n handleIonChange(el: HTMLIonCheckboxElement | HTMLIonToggleElement): void {\n this.handleValueChange(el, el.checked);\n }\n}\n\nexport declare interface IonCheckbox extends Components.IonCheckbox {\n /**\n * Emitted when the checked property has changed\nas a result of a user action such as a click.\nThis event will not emit when programmatically\nsetting the checked property.\n */\n ionChange: EventEmitter<CustomEvent<CheckboxChangeEventDetail>>;\n /**\n * Emitted when the checkbox has focus.\n */\n ionFocus: EventEmitter<CustomEvent<void>>;\n /**\n * Emitted when the checkbox loses focus.\n */\n ionBlur: EventEmitter<CustomEvent<void>>;\n}\n"]}
@@ -9,6 +9,15 @@ export declare class IonDatetime extends ValueAccessor {
9
9
  handleIonChange(el: HTMLIonDatetimeElement): void;
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<IonDatetime, never>;
11
11
  static ɵcmp: i0.ɵɵComponentDeclaration<IonDatetime, "ion-datetime", never, { "cancelText": { "alias": "cancelText"; "required": false; }; "clearText": { "alias": "clearText"; "required": false; }; "color": { "alias": "color"; "required": false; }; "dayValues": { "alias": "dayValues"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "doneText": { "alias": "doneText"; "required": false; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; }; "formatOptions": { "alias": "formatOptions"; "required": false; }; "highlightedDates": { "alias": "highlightedDates"; "required": false; }; "hourCycle": { "alias": "hourCycle"; "required": false; }; "hourValues": { "alias": "hourValues"; "required": false; }; "isDateEnabled": { "alias": "isDateEnabled"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "max": { "alias": "max"; "required": false; }; "min": { "alias": "min"; "required": false; }; "minuteValues": { "alias": "minuteValues"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "monthValues": { "alias": "monthValues"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "name": { "alias": "name"; "required": false; }; "preferWheel": { "alias": "preferWheel"; "required": false; }; "presentation": { "alias": "presentation"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "showAdjacentDays": { "alias": "showAdjacentDays"; "required": false; }; "showClearButton": { "alias": "showClearButton"; "required": false; }; "showDefaultButtons": { "alias": "showDefaultButtons"; "required": false; }; "showDefaultTimeLabel": { "alias": "showDefaultTimeLabel"; "required": false; }; "showDefaultTitle": { "alias": "showDefaultTitle"; "required": false; }; "size": { "alias": "size"; "required": false; }; "titleSelectedDatesFormatter": { "alias": "titleSelectedDatesFormatter"; "required": false; }; "value": { "alias": "value"; "required": false; }; "yearValues": { "alias": "yearValues"; "required": false; }; }, {}, never, ["*"], true, never>;
12
+ static ngAcceptInputType_disabled: boolean | string | null | undefined;
13
+ static ngAcceptInputType_multiple: boolean | string | null | undefined;
14
+ static ngAcceptInputType_preferWheel: boolean | string | null | undefined;
15
+ static ngAcceptInputType_readonly: boolean | string | null | undefined;
16
+ static ngAcceptInputType_showAdjacentDays: boolean | string | null | undefined;
17
+ static ngAcceptInputType_showClearButton: boolean | string | null | undefined;
18
+ static ngAcceptInputType_showDefaultButtons: boolean | string | null | undefined;
19
+ static ngAcceptInputType_showDefaultTimeLabel: boolean | string | null | undefined;
20
+ static ngAcceptInputType_showDefaultTitle: boolean | string | null | undefined;
12
21
  }
13
22
  export declare interface IonDatetime extends Components.IonDatetime {
14
23
  /**
@@ -1,8 +1,9 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { ChangeDetectionStrategy, Component, HostListener, forwardRef, } from '@angular/core';
3
3
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import { ValueAccessor } from '@ionic/angular/common';
4
+ import { inputNames, ValueAccessor } from '@ionic/angular/common';
5
5
  import { defineCustomElement } from '@ionic/core/components/ion-datetime.js';
6
+ import { nullableBooleanAttribute } from './angular-component-lib/boolean-attribute';
6
7
  import { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';
7
8
  import * as i0 from "@angular/core";
8
9
  const DATETIME_INPUTS = [
@@ -10,7 +11,7 @@ const DATETIME_INPUTS = [
10
11
  'clearText',
11
12
  'color',
12
13
  'dayValues',
13
- 'disabled',
14
+ { name: 'disabled', transform: nullableBooleanAttribute },
14
15
  'doneText',
15
16
  'firstDayOfWeek',
16
17
  'formatOptions',
@@ -24,21 +25,22 @@ const DATETIME_INPUTS = [
24
25
  'minuteValues',
25
26
  'mode',
26
27
  'monthValues',
27
- 'multiple',
28
+ { name: 'multiple', transform: nullableBooleanAttribute },
28
29
  'name',
29
- 'preferWheel',
30
+ { name: 'preferWheel', transform: nullableBooleanAttribute },
30
31
  'presentation',
31
- 'readonly',
32
- 'showAdjacentDays',
33
- 'showClearButton',
34
- 'showDefaultButtons',
35
- 'showDefaultTimeLabel',
36
- 'showDefaultTitle',
32
+ { name: 'readonly', transform: nullableBooleanAttribute },
33
+ { name: 'showAdjacentDays', transform: nullableBooleanAttribute },
34
+ { name: 'showClearButton', transform: nullableBooleanAttribute },
35
+ { name: 'showDefaultButtons', transform: nullableBooleanAttribute },
36
+ { name: 'showDefaultTimeLabel', transform: nullableBooleanAttribute },
37
+ { name: 'showDefaultTitle', transform: nullableBooleanAttribute },
37
38
  'size',
38
39
  'titleSelectedDatesFormatter',
39
40
  'value',
40
41
  'yearValues',
41
42
  ];
43
+ const DATETIME_PROXY_INPUTS = inputNames(DATETIME_INPUTS);
42
44
  let IonDatetime = class IonDatetime extends ValueAccessor {
43
45
  z;
44
46
  el;
@@ -53,7 +55,7 @@ let IonDatetime = class IonDatetime extends ValueAccessor {
53
55
  this.handleValueChange(el, el.value);
54
56
  }
55
57
  /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: IonDatetime, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
56
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.0", type: IonDatetime, isStandalone: true, selector: "ion-datetime", inputs: { cancelText: "cancelText", clearText: "clearText", color: "color", dayValues: "dayValues", disabled: "disabled", doneText: "doneText", firstDayOfWeek: "firstDayOfWeek", formatOptions: "formatOptions", highlightedDates: "highlightedDates", hourCycle: "hourCycle", hourValues: "hourValues", isDateEnabled: "isDateEnabled", locale: "locale", max: "max", min: "min", minuteValues: "minuteValues", mode: "mode", monthValues: "monthValues", multiple: "multiple", name: "name", preferWheel: "preferWheel", presentation: "presentation", readonly: "readonly", showAdjacentDays: "showAdjacentDays", showClearButton: "showClearButton", showDefaultButtons: "showDefaultButtons", showDefaultTimeLabel: "showDefaultTimeLabel", showDefaultTitle: "showDefaultTitle", size: "size", titleSelectedDatesFormatter: "titleSelectedDatesFormatter", value: "value", yearValues: "yearValues" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [
58
+ /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "22.0.0", type: IonDatetime, isStandalone: true, selector: "ion-datetime", inputs: { cancelText: "cancelText", clearText: "clearText", color: "color", dayValues: "dayValues", disabled: ["disabled", "disabled", nullableBooleanAttribute], doneText: "doneText", firstDayOfWeek: "firstDayOfWeek", formatOptions: "formatOptions", highlightedDates: "highlightedDates", hourCycle: "hourCycle", hourValues: "hourValues", isDateEnabled: "isDateEnabled", locale: "locale", max: "max", min: "min", minuteValues: "minuteValues", mode: "mode", monthValues: "monthValues", multiple: ["multiple", "multiple", nullableBooleanAttribute], name: "name", preferWheel: ["preferWheel", "preferWheel", nullableBooleanAttribute], presentation: "presentation", readonly: ["readonly", "readonly", nullableBooleanAttribute], showAdjacentDays: ["showAdjacentDays", "showAdjacentDays", nullableBooleanAttribute], showClearButton: ["showClearButton", "showClearButton", nullableBooleanAttribute], showDefaultButtons: ["showDefaultButtons", "showDefaultButtons", nullableBooleanAttribute], showDefaultTimeLabel: ["showDefaultTimeLabel", "showDefaultTimeLabel", nullableBooleanAttribute], showDefaultTitle: ["showDefaultTitle", "showDefaultTitle", nullableBooleanAttribute], size: "size", titleSelectedDatesFormatter: "titleSelectedDatesFormatter", value: "value", yearValues: "yearValues" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [
57
59
  {
58
60
  provide: NG_VALUE_ACCESSOR,
59
61
  useExisting: forwardRef((() => IonDatetime)),
@@ -64,7 +66,7 @@ let IonDatetime = class IonDatetime extends ValueAccessor {
64
66
  IonDatetime = __decorate([
65
67
  ProxyCmp({
66
68
  defineCustomElementFn: defineCustomElement,
67
- inputs: DATETIME_INPUTS,
69
+ inputs: DATETIME_PROXY_INPUTS,
68
70
  methods: ['confirm', 'reset', 'cancel'],
69
71
  })
70
72
  ], IonDatetime);
@@ -1 +1 @@
1
- {"version":3,"file":"datetime.js","sourceRoot":"","sources":["../../../src/standalone/directives/datetime.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,uBAAuB,EAEvB,SAAS,EAGT,YAAY,EAGZ,UAAU,GACX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAE7E,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;;AAEvE,MAAM,eAAe,GAAG;IACtB,YAAY;IACZ,WAAW;IACX,OAAO;IACP,WAAW;IACX,UAAU;IACV,UAAU;IACV,gBAAgB;IAChB,eAAe;IACf,kBAAkB;IAClB,WAAW;IACX,YAAY;IACZ,eAAe;IACf,QAAQ;IACR,KAAK;IACL,KAAK;IACL,cAAc;IACd,MAAM;IACN,aAAa;IACb,UAAU;IACV,MAAM;IACN,aAAa;IACb,cAAc;IACd,UAAU;IACV,kBAAkB;IAClB,iBAAiB;IACjB,oBAAoB;IACpB,sBAAsB;IACtB,kBAAkB;IAClB,MAAM;IACN,6BAA6B;IAC7B,OAAO;IACP,YAAY;CACb,CAAC;AAsBK,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,aAAa;IAEe;IADjD,EAAE,CAAc;IAC1B,YAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAE,QAAkB;QACtF,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QADsC,MAAC,GAAD,CAAC,CAAQ;QAElE,CAAC,CAAC,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC;QAC1B,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;IACjF,CAAC;IAGD,eAAe,CAAC,EAA0B;QACxC,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;0HAZU,WAAW;8GAAX,WAAW,i/BATX;YACT;gBACE,OAAO,EAAE,iBAAiB;gBAC1B,WAAW,EAAE,UAAU,EAAC,GAAG,EAAE,CAAC,WAAW,EAAC;gBAC1C,KAAK,EAAE,IAAI;aACZ;SACF,iDATS,2BAA2B;;AAY1B,WAAW;IApBvB,QAAQ,CAAC;QACR,qBAAqB,EAAE,mBAAmB;QAC1C,MAAM,EAAE,eAAe;QACvB,OAAO,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC;KACxC,CAAC;GAgBW,WAAW,CAavB;;2FAbY,WAAW;kBAfvB,SAAS;mBAAC;oBACT,QAAQ,EAAE,cAAc;oBACxB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,2BAA2B;oBACrC,uEAAuE;oBACvE,MAAM,EAAE,eAAe;oBACvB,SAAS,EAAE;wBACT;4BACE,OAAO,EAAE,iBAAiB;4BAC1B,WAAW,EAAE,UAAU,EAAC,GAAG,EAAE,YAAY,EAAC;4BAC1C,KAAK,EAAE,IAAI;yBACZ;qBACF;oBACD,UAAU,EAAE,IAAI;iBACjB;;sBAUE,YAAY;uBAAC,WAAW,EAAE,CAAC,eAAe,CAAC","sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Injector,\n NgZone,\n forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ValueAccessor } from '@ionic/angular/common';\nimport type { DatetimeChangeEventDetail, Components } from '@ionic/core/components';\nimport { defineCustomElement } from '@ionic/core/components/ion-datetime.js';\n\nimport { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';\n\nconst DATETIME_INPUTS = [\n 'cancelText',\n 'clearText',\n 'color',\n 'dayValues',\n 'disabled',\n 'doneText',\n 'firstDayOfWeek',\n 'formatOptions',\n 'highlightedDates',\n 'hourCycle',\n 'hourValues',\n 'isDateEnabled',\n 'locale',\n 'max',\n 'min',\n 'minuteValues',\n 'mode',\n 'monthValues',\n 'multiple',\n 'name',\n 'preferWheel',\n 'presentation',\n 'readonly',\n 'showAdjacentDays',\n 'showClearButton',\n 'showDefaultButtons',\n 'showDefaultTimeLabel',\n 'showDefaultTitle',\n 'size',\n 'titleSelectedDatesFormatter',\n 'value',\n 'yearValues',\n];\n\n@ProxyCmp({\n defineCustomElementFn: defineCustomElement,\n inputs: DATETIME_INPUTS,\n methods: ['confirm', 'reset', 'cancel'],\n})\n@Component({\n selector: 'ion-datetime',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: DATETIME_INPUTS,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => IonDatetime),\n multi: true,\n },\n ],\n standalone: true,\n})\nexport class IonDatetime extends ValueAccessor {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone, injector: Injector) {\n super(injector, r);\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionCancel', 'ionChange', 'ionFocus', 'ionBlur']);\n }\n\n @HostListener('ionChange', ['$event.target'])\n handleIonChange(el: HTMLIonDatetimeElement): void {\n this.handleValueChange(el, el.value);\n }\n}\n\nexport declare interface IonDatetime extends Components.IonDatetime {\n /**\n * Emitted when the datetime selection was cancelled.\n */\n ionCancel: EventEmitter<CustomEvent<void>>;\n /**\n * Emitted when the value (selected date) has changed.\n */\n ionChange: EventEmitter<CustomEvent<DatetimeChangeEventDetail>>;\n /**\n * Emitted when the datetime has focus.\n */\n ionFocus: EventEmitter<CustomEvent<void>>;\n /**\n * Emitted when the datetime loses focus.\n */\n ionBlur: EventEmitter<CustomEvent<void>>;\n}\n"]}
1
+ {"version":3,"file":"datetime.js","sourceRoot":"","sources":["../../../src/standalone/directives/datetime.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Injector,\n NgZone,\n forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { inputNames, ValueAccessor } from '@ionic/angular/common';\nimport type { DatetimeChangeEventDetail, Components } from '@ionic/core/components';\nimport { defineCustomElement } from '@ionic/core/components/ion-datetime.js';\n\nimport { nullableBooleanAttribute } from './angular-component-lib/boolean-attribute';\nimport { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';\n\nconst DATETIME_INPUTS = [\n 'cancelText',\n 'clearText',\n 'color',\n 'dayValues',\n { name: 'disabled', transform: nullableBooleanAttribute },\n 'doneText',\n 'firstDayOfWeek',\n 'formatOptions',\n 'highlightedDates',\n 'hourCycle',\n 'hourValues',\n 'isDateEnabled',\n 'locale',\n 'max',\n 'min',\n 'minuteValues',\n 'mode',\n 'monthValues',\n { name: 'multiple', transform: nullableBooleanAttribute },\n 'name',\n { name: 'preferWheel', transform: nullableBooleanAttribute },\n 'presentation',\n { name: 'readonly', transform: nullableBooleanAttribute },\n { name: 'showAdjacentDays', transform: nullableBooleanAttribute },\n { name: 'showClearButton', transform: nullableBooleanAttribute },\n { name: 'showDefaultButtons', transform: nullableBooleanAttribute },\n { name: 'showDefaultTimeLabel', transform: nullableBooleanAttribute },\n { name: 'showDefaultTitle', transform: nullableBooleanAttribute },\n 'size',\n 'titleSelectedDatesFormatter',\n 'value',\n 'yearValues',\n];\n\nconst DATETIME_PROXY_INPUTS = inputNames(DATETIME_INPUTS);\n\n@ProxyCmp({\n defineCustomElementFn: defineCustomElement,\n inputs: DATETIME_PROXY_INPUTS,\n methods: ['confirm', 'reset', 'cancel'],\n})\n@Component({\n selector: 'ion-datetime',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: DATETIME_INPUTS,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => IonDatetime),\n multi: true,\n },\n ],\n standalone: true,\n})\nexport class IonDatetime extends ValueAccessor {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone, injector: Injector) {\n super(injector, r);\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionCancel', 'ionChange', 'ionFocus', 'ionBlur']);\n }\n\n @HostListener('ionChange', ['$event.target'])\n handleIonChange(el: HTMLIonDatetimeElement): void {\n this.handleValueChange(el, el.value);\n }\n}\n\nexport declare interface IonDatetime extends Components.IonDatetime {\n /**\n * Emitted when the datetime selection was cancelled.\n */\n ionCancel: EventEmitter<CustomEvent<void>>;\n /**\n * Emitted when the value (selected date) has changed.\n */\n ionChange: EventEmitter<CustomEvent<DatetimeChangeEventDetail>>;\n /**\n * Emitted when the datetime has focus.\n */\n ionFocus: EventEmitter<CustomEvent<void>>;\n /**\n * Emitted when the datetime loses focus.\n */\n ionBlur: EventEmitter<CustomEvent<void>>;\n}\n"]}
@@ -6,4 +6,7 @@ export declare class IonIcon {
6
6
  constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<IonIcon, never>;
8
8
  static ɵcmp: i0.ɵɵComponentDeclaration<IonIcon, "ion-icon", never, { "color": { "alias": "color"; "required": false; }; "flipRtl": { "alias": "flipRtl"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "ios": { "alias": "ios"; "required": false; }; "lazy": { "alias": "lazy"; "required": false; }; "md": { "alias": "md"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "name": { "alias": "name"; "required": false; }; "sanitize": { "alias": "sanitize"; "required": false; }; "size": { "alias": "size"; "required": false; }; "src": { "alias": "src"; "required": false; }; }, {}, never, ["*"], true, never>;
9
+ static ngAcceptInputType_flipRtl: boolean | string | null | undefined;
10
+ static ngAcceptInputType_lazy: boolean | string | null | undefined;
11
+ static ngAcceptInputType_sanitize: boolean | string | null | undefined;
9
12
  }
@@ -1,8 +1,24 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import { defineCustomElement as defineIonIcon } from 'ionicons/components/ion-icon.js';
4
+ import { nullableBooleanAttribute } from './angular-component-lib/boolean-attribute';
4
5
  import { ProxyCmp } from './angular-component-lib/utils';
5
6
  import * as i0 from "@angular/core";
7
+ const ICON_INPUTS = [
8
+ 'color',
9
+ { name: 'flipRtl', transform: nullableBooleanAttribute },
10
+ 'icon',
11
+ 'ios',
12
+ { name: 'lazy', transform: nullableBooleanAttribute },
13
+ 'md',
14
+ 'mode',
15
+ 'name',
16
+ { name: 'sanitize', transform: nullableBooleanAttribute },
17
+ 'size',
18
+ 'src',
19
+ ];
20
+ /* ProxyCmp only needs the names, and runs at runtime rather than through the Angular compiler. */
21
+ const ICON_PROXY_INPUTS = ICON_INPUTS.map((input) => (typeof input === 'string' ? input : input.name));
6
22
  let IonIcon = class IonIcon {
7
23
  z;
8
24
  el;
@@ -12,12 +28,12 @@ let IonIcon = class IonIcon {
12
28
  this.el = r.nativeElement;
13
29
  }
14
30
  /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: IonIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
15
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.0", type: IonIcon, isStandalone: true, selector: "ion-icon", inputs: { color: "color", flipRtl: "flipRtl", icon: "icon", ios: "ios", lazy: "lazy", md: "md", mode: "mode", name: "name", sanitize: "sanitize", size: "size", src: "src" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
31
+ /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "22.0.0", type: IonIcon, isStandalone: true, selector: "ion-icon", inputs: { color: "color", flipRtl: ["flipRtl", "flipRtl", nullableBooleanAttribute], icon: "icon", ios: "ios", lazy: ["lazy", "lazy", nullableBooleanAttribute], md: "md", mode: "mode", name: "name", sanitize: ["sanitize", "sanitize", nullableBooleanAttribute], size: "size", src: "src" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
16
32
  };
17
33
  IonIcon = __decorate([
18
34
  ProxyCmp({
19
35
  defineCustomElementFn: defineIonIcon,
20
- inputs: ['color', 'flipRtl', 'icon', 'ios', 'lazy', 'md', 'mode', 'name', 'sanitize', 'size', 'src'],
36
+ inputs: ICON_PROXY_INPUTS,
21
37
  })
22
38
  ], IonIcon);
23
39
  export { IonIcon };
@@ -28,7 +44,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImpor
28
44
  changeDetection: ChangeDetectionStrategy.OnPush,
29
45
  template: '<ng-content></ng-content>',
30
46
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
31
- inputs: ['color', 'flipRtl', 'icon', 'ios', 'lazy', 'md', 'mode', 'name', 'sanitize', 'size', 'src'],
47
+ inputs: ICON_INPUTS,
32
48
  standalone: true,
33
49
  }]
34
50
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
@@ -1 +1 @@
1
- {"version":3,"file":"icon.js","sourceRoot":"","sources":["../../../src/standalone/directives/icon.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,uBAAuB,EAAqB,SAAS,EAAsB,MAAM,eAAe,CAAC;AAC1G,OAAO,EAAE,mBAAmB,IAAI,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEvF,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;;AAclD,IAAM,OAAO,GAAb,MAAM,OAAO;IAEyC;IADjD,EAAE,CAAc;IAC1B,YAAY,CAAoB,EAAE,CAAa,EAAY,CAAS;QAAT,MAAC,GAAD,CAAC,CAAQ;QAClE,CAAC,CAAC,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC;IAC5B,CAAC;0HALU,OAAO;8GAAP,OAAO,kPALR,2BAA2B;;AAK1B,OAAO;IAZnB,QAAQ,CAAC;QACR,qBAAqB,EAAE,aAAa;QACpC,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC;KACrG,CAAC;GASW,OAAO,CAMnB;;2FANY,OAAO;kBARnB,SAAS;mBAAC;oBACT,QAAQ,EAAE,UAAU;oBACpB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,2BAA2B;oBACrC,uEAAuE;oBACvE,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC;oBACpG,UAAU,EAAE,IAAI;iBACjB","sourcesContent":["import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, NgZone } from '@angular/core';\nimport { defineCustomElement as defineIonIcon } from 'ionicons/components/ion-icon.js';\n\nimport { ProxyCmp } from './angular-component-lib/utils';\n\n@ProxyCmp({\n defineCustomElementFn: defineIonIcon,\n inputs: ['color', 'flipRtl', 'icon', 'ios', 'lazy', 'md', 'mode', 'name', 'sanitize', 'size', 'src'],\n})\n@Component({\n selector: 'ion-icon',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color', 'flipRtl', 'icon', 'ios', 'lazy', 'md', 'mode', 'name', 'sanitize', 'size', 'src'],\n standalone: true,\n})\nexport class IonIcon {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n"]}
1
+ {"version":3,"file":"icon.js","sourceRoot":"","sources":["../../../src/standalone/directives/icon.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,uBAAuB,EAAqB,SAAS,EAAsB,MAAM,eAAe,CAAC;AAC1G,OAAO,EAAE,mBAAmB,IAAI,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;;AAEzD,MAAM,WAAW,GAAG;IAClB,OAAO;IACP,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,wBAAwB,EAAE;IACxD,MAAM;IACN,KAAK;IACL,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,wBAAwB,EAAE;IACrD,IAAI;IACJ,MAAM;IACN,MAAM;IACN,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,wBAAwB,EAAE;IACzD,MAAM;IACN,KAAK;CACN,CAAC;AAEF,kGAAkG;AAClG,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAchG,IAAM,OAAO,GAAb,MAAM,OAAO;IAEyC;IADjD,EAAE,CAAc;IAC1B,YAAY,CAAoB,EAAE,CAAa,EAAY,CAAS;QAAT,MAAC,GAAD,CAAC,CAAQ;QAClE,CAAC,CAAC,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC;IAC5B,CAAC;0HALU,OAAO;8GAAP,OAAO,sGA3BY,wBAAwB,oDAG3B,wBAAwB,4EAIpB,wBAAwB,uDAe7C,2BAA2B;;AAK1B,OAAO;IAZnB,QAAQ,CAAC;QACR,qBAAqB,EAAE,aAAa;QACpC,MAAM,EAAE,iBAAiB;KAC1B,CAAC;GASW,OAAO,CAMnB;;2FANY,OAAO;kBARnB,SAAS;mBAAC;oBACT,QAAQ,EAAE,UAAU;oBACpB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,2BAA2B;oBACrC,uEAAuE;oBACvE,MAAM,EAAE,WAAW;oBACnB,UAAU,EAAE,IAAI;iBACjB","sourcesContent":["import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, NgZone } from '@angular/core';\nimport { defineCustomElement as defineIonIcon } from 'ionicons/components/ion-icon.js';\n\nimport { nullableBooleanAttribute } from './angular-component-lib/boolean-attribute';\nimport { ProxyCmp } from './angular-component-lib/utils';\n\nconst ICON_INPUTS = [\n 'color',\n { name: 'flipRtl', transform: nullableBooleanAttribute },\n 'icon',\n 'ios',\n { name: 'lazy', transform: nullableBooleanAttribute },\n 'md',\n 'mode',\n 'name',\n { name: 'sanitize', transform: nullableBooleanAttribute },\n 'size',\n 'src',\n];\n\n/* ProxyCmp only needs the names, and runs at runtime rather than through the Angular compiler. */\nconst ICON_PROXY_INPUTS = ICON_INPUTS.map((input) => (typeof input === 'string' ? input : input.name));\n\n@ProxyCmp({\n defineCustomElementFn: defineIonIcon,\n inputs: ICON_PROXY_INPUTS,\n})\n@Component({\n selector: 'ion-icon',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ICON_INPUTS,\n standalone: true,\n})\nexport class IonIcon {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n"]}
@@ -10,6 +10,8 @@ export declare class IonInputOtp extends ValueAccessor {
10
10
  registerOnChange(fn: (_: any) => void): void;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<IonInputOtp, never>;
12
12
  static ɵcmp: i0.ɵɵComponentDeclaration<IonInputOtp, "ion-input-otp", never, { "autocapitalize": { "alias": "autocapitalize"; "required": false; }; "color": { "alias": "color"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "fill": { "alias": "fill"; "required": false; }; "inputmode": { "alias": "inputmode"; "required": false; }; "length": { "alias": "length"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "separators": { "alias": "separators"; "required": false; }; "shape": { "alias": "shape"; "required": false; }; "size": { "alias": "size"; "required": false; }; "type": { "alias": "type"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, never, ["*"], true, never>;
13
+ static ngAcceptInputType_disabled: boolean | string | null | undefined;
14
+ static ngAcceptInputType_readonly: boolean | string | null | undefined;
13
15
  }
14
16
  export declare interface IonInputOtp extends Components.IonInputOtp {
15
17
  /**
@@ -1,25 +1,27 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { ChangeDetectionStrategy, Component, HostListener, forwardRef, } from '@angular/core';
3
3
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import { ValueAccessor } from '@ionic/angular/common';
4
+ import { inputNames, ValueAccessor } from '@ionic/angular/common';
5
5
  import { defineCustomElement } from '@ionic/core/components/ion-input-otp.js';
6
+ import { nullableBooleanAttribute } from './angular-component-lib/boolean-attribute';
6
7
  import { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';
7
8
  import * as i0 from "@angular/core";
8
9
  const INPUT_OTP_INPUTS = [
9
10
  'autocapitalize',
10
11
  'color',
11
- 'disabled',
12
+ { name: 'disabled', transform: nullableBooleanAttribute },
12
13
  'fill',
13
14
  'inputmode',
14
15
  'length',
15
16
  'pattern',
16
- 'readonly',
17
+ { name: 'readonly', transform: nullableBooleanAttribute },
17
18
  'separators',
18
19
  'shape',
19
20
  'size',
20
21
  'type',
21
22
  'value',
22
23
  ];
24
+ const INPUT_OTP_PROXY_INPUTS = inputNames(INPUT_OTP_INPUTS);
23
25
  let IonInputOtp = class IonInputOtp extends ValueAccessor {
24
26
  z;
25
27
  el;
@@ -49,7 +51,7 @@ let IonInputOtp = class IonInputOtp extends ValueAccessor {
49
51
  });
50
52
  }
51
53
  /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: IonInputOtp, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
52
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.0", type: IonInputOtp, isStandalone: true, selector: "ion-input-otp", inputs: { autocapitalize: "autocapitalize", color: "color", disabled: "disabled", fill: "fill", inputmode: "inputmode", length: "length", pattern: "pattern", readonly: "readonly", separators: "separators", shape: "shape", size: "size", type: "type", value: "value" }, host: { listeners: { "ionInput": "handleIonInput($event.target)" } }, providers: [
54
+ /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "22.0.0", type: IonInputOtp, isStandalone: true, selector: "ion-input-otp", inputs: { autocapitalize: "autocapitalize", color: "color", disabled: ["disabled", "disabled", nullableBooleanAttribute], fill: "fill", inputmode: "inputmode", length: "length", pattern: "pattern", readonly: ["readonly", "readonly", nullableBooleanAttribute], separators: "separators", shape: "shape", size: "size", type: "type", value: "value" }, host: { listeners: { "ionInput": "handleIonInput($event.target)" } }, providers: [
53
55
  {
54
56
  provide: NG_VALUE_ACCESSOR,
55
57
  useExisting: forwardRef((() => IonInputOtp)),
@@ -60,7 +62,7 @@ let IonInputOtp = class IonInputOtp extends ValueAccessor {
60
62
  IonInputOtp = __decorate([
61
63
  ProxyCmp({
62
64
  defineCustomElementFn: defineCustomElement,
63
- inputs: INPUT_OTP_INPUTS,
65
+ inputs: INPUT_OTP_PROXY_INPUTS,
64
66
  methods: ['setFocus'],
65
67
  })
66
68
  ], IonInputOtp);
@@ -1 +1 @@
1
- {"version":3,"file":"input-otp.js","sourceRoot":"","sources":["../../../src/standalone/directives/input-otp.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,uBAAuB,EAEvB,SAAS,EAGT,YAAY,EAGZ,UAAU,GACX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAOtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAE9E,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;;AAEvE,MAAM,gBAAgB,GAAG;IACvB,gBAAgB;IAChB,OAAO;IACP,UAAU;IACV,MAAM;IACN,WAAW;IACX,QAAQ;IACR,SAAS;IACT,UAAU;IACV,YAAY;IACZ,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;CACR,CAAC;AAsBK,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,aAAa;IAEe;IADjD,EAAE,CAAc;IAC1B,YAAY,CAAoB,EAAE,CAAa,EAAY,CAAS,EAAE,QAAkB;QACtF,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QADsC,MAAC,GAAD,CAAC,CAAQ;QAElE,CAAC,CAAC,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC;QAC1B,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAC/F,CAAC;IAGD,cAAc,CAAC,EAA0B;QACvC,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,gBAAgB,CAAC,EAAoB;QACnC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAa,EAAE,EAAE;YACvC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B;;;;mBAIG;gBACH,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,EAAE,CAAC,KAAK,CAAC,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;0HA3BU,WAAW;8GAAX,WAAW,8YATX;YACT;gBACE,OAAO,EAAE,iBAAiB;gBAC1B,WAAW,EAAE,UAAU,EAAC,GAAG,EAAE,CAAC,WAAW,EAAC;gBAC1C,KAAK,EAAE,IAAI;aACZ;SACF,iDATS,2BAA2B;;AAY1B,WAAW;IApBvB,QAAQ,CAAC;QACR,qBAAqB,EAAE,mBAAmB;QAC1C,MAAM,EAAE,gBAAgB;QACxB,OAAO,EAAE,CAAC,UAAU,CAAC;KACtB,CAAC;GAgBW,WAAW,CA4BvB;;2FA5BY,WAAW;kBAfvB,SAAS;mBAAC;oBACT,QAAQ,EAAE,eAAe;oBACzB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,2BAA2B;oBACrC,uEAAuE;oBACvE,MAAM,EAAE,gBAAgB;oBACxB,SAAS,EAAE;wBACT;4BACE,OAAO,EAAE,iBAAiB;4BAC1B,WAAW,EAAE,UAAU,EAAC,GAAG,EAAE,YAAY,EAAC;4BAC1C,KAAK,EAAE,IAAI;yBACZ;qBACF;oBACD,UAAU,EAAE,IAAI;iBACjB;;sBAUE,YAAY;uBAAC,UAAU,EAAE,CAAC,eAAe,CAAC","sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Injector,\n NgZone,\n forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ValueAccessor } from '@ionic/angular/common';\nimport type {\n InputOtpInputEventDetail as IIonInputOtpInputEventDetail,\n InputOtpChangeEventDetail as IIonInputOtpChangeEventDetail,\n InputOtpCompleteEventDetail as IIonInputOtpCompleteEventDetail,\n Components,\n} from '@ionic/core/components';\nimport { defineCustomElement } from '@ionic/core/components/ion-input-otp.js';\n\nimport { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';\n\nconst INPUT_OTP_INPUTS = [\n 'autocapitalize',\n 'color',\n 'disabled',\n 'fill',\n 'inputmode',\n 'length',\n 'pattern',\n 'readonly',\n 'separators',\n 'shape',\n 'size',\n 'type',\n 'value',\n];\n\n@ProxyCmp({\n defineCustomElementFn: defineCustomElement,\n inputs: INPUT_OTP_INPUTS,\n methods: ['setFocus'],\n})\n@Component({\n selector: 'ion-input-otp',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: INPUT_OTP_INPUTS,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => IonInputOtp),\n multi: true,\n },\n ],\n standalone: true,\n})\nexport class IonInputOtp extends ValueAccessor {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone, injector: Injector) {\n super(injector, r);\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionComplete', 'ionBlur', 'ionFocus']);\n }\n\n @HostListener('ionInput', ['$event.target'])\n handleIonInput(el: HTMLIonInputOtpElement): void {\n this.handleValueChange(el, el.value);\n }\n\n registerOnChange(fn: (_: any) => void): void {\n super.registerOnChange((value: string) => {\n if (this.type === 'number') {\n /**\n * If the input type is `number`, we need to convert the value to a number\n * when the value is not empty. If the value is empty, we want to treat\n * the value as null.\n */\n fn(value === '' ? null : parseFloat(value));\n } else {\n fn(value);\n }\n });\n }\n}\n\nexport declare interface IonInputOtp extends Components.IonInputOtp {\n /**\n * The `ionInput` event is fired each time the user modifies the input's value.\n * Unlike the `ionChange` event, the `ionInput` event is fired for each alteration\n * to the input's value. This typically happens for each keystroke as the user types.\n *\n * For elements that accept text input (`type=text`, `type=tel`, etc.), the interface\n * is [`InputEvent`](https://developer.mozilla.org/en-US/docs/Web/API/InputEvent); for others,\n * the interface is [`Event`](https://developer.mozilla.org/en-US/docs/Web/API/Event). If\n * the input is cleared on edit, the type is `null`.\n */\n ionInput: EventEmitter<CustomEvent<IIonInputOtpInputEventDetail>>;\n /**\n * The `ionChange` event is fired when the user modifies the input's value.\n * Unlike the `ionInput` event, the `ionChange` event is only fired when changes\n * are committed, not as the user types.\n *\n * The `ionChange` event fires when the `<ion-input-otp>` component loses\n * focus after its value has changed.\n *\n * This event will not emit when programmatically setting the `value` property.\n */\n ionChange: EventEmitter<CustomEvent<IIonInputOtpChangeEventDetail>>;\n /**\n * Emitted when all input boxes have been filled with valid values.\n */\n ionComplete: EventEmitter<CustomEvent<IIonInputOtpCompleteEventDetail>>;\n /**\n * Emitted when the input group loses focus.\n */\n ionBlur: EventEmitter<CustomEvent<FocusEvent>>;\n /**\n * Emitted when the input group has focus.\n */\n ionFocus: EventEmitter<CustomEvent<FocusEvent>>;\n}\n"]}
1
+ {"version":3,"file":"input-otp.js","sourceRoot":"","sources":["../../../src/standalone/directives/input-otp.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Injector,\n NgZone,\n forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { inputNames, ValueAccessor } from '@ionic/angular/common';\nimport type {\n InputOtpInputEventDetail as IIonInputOtpInputEventDetail,\n InputOtpChangeEventDetail as IIonInputOtpChangeEventDetail,\n InputOtpCompleteEventDetail as IIonInputOtpCompleteEventDetail,\n Components,\n} from '@ionic/core/components';\nimport { defineCustomElement } from '@ionic/core/components/ion-input-otp.js';\n\nimport { nullableBooleanAttribute } from './angular-component-lib/boolean-attribute';\nimport { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';\n\nconst INPUT_OTP_INPUTS = [\n 'autocapitalize',\n 'color',\n { name: 'disabled', transform: nullableBooleanAttribute },\n 'fill',\n 'inputmode',\n 'length',\n 'pattern',\n { name: 'readonly', transform: nullableBooleanAttribute },\n 'separators',\n 'shape',\n 'size',\n 'type',\n 'value',\n];\n\nconst INPUT_OTP_PROXY_INPUTS = inputNames(INPUT_OTP_INPUTS);\n\n@ProxyCmp({\n defineCustomElementFn: defineCustomElement,\n inputs: INPUT_OTP_PROXY_INPUTS,\n methods: ['setFocus'],\n})\n@Component({\n selector: 'ion-input-otp',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: INPUT_OTP_INPUTS,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => IonInputOtp),\n multi: true,\n },\n ],\n standalone: true,\n})\nexport class IonInputOtp extends ValueAccessor {\n protected el: HTMLElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone, injector: Injector) {\n super(injector, r);\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionComplete', 'ionBlur', 'ionFocus']);\n }\n\n @HostListener('ionInput', ['$event.target'])\n handleIonInput(el: HTMLIonInputOtpElement): void {\n this.handleValueChange(el, el.value);\n }\n\n registerOnChange(fn: (_: any) => void): void {\n super.registerOnChange((value: string) => {\n if (this.type === 'number') {\n /**\n * If the input type is `number`, we need to convert the value to a number\n * when the value is not empty. If the value is empty, we want to treat\n * the value as null.\n */\n fn(value === '' ? null : parseFloat(value));\n } else {\n fn(value);\n }\n });\n }\n}\n\nexport declare interface IonInputOtp extends Components.IonInputOtp {\n /**\n * The `ionInput` event is fired each time the user modifies the input's value.\n * Unlike the `ionChange` event, the `ionInput` event is fired for each alteration\n * to the input's value. This typically happens for each keystroke as the user types.\n *\n * For elements that accept text input (`type=text`, `type=tel`, etc.), the interface\n * is [`InputEvent`](https://developer.mozilla.org/en-US/docs/Web/API/InputEvent); for others,\n * the interface is [`Event`](https://developer.mozilla.org/en-US/docs/Web/API/Event). If\n * the input is cleared on edit, the type is `null`.\n */\n ionInput: EventEmitter<CustomEvent<IIonInputOtpInputEventDetail>>;\n /**\n * The `ionChange` event is fired when the user modifies the input's value.\n * Unlike the `ionInput` event, the `ionChange` event is only fired when changes\n * are committed, not as the user types.\n *\n * The `ionChange` event fires when the `<ion-input-otp>` component loses\n * focus after its value has changed.\n *\n * This event will not emit when programmatically setting the `value` property.\n */\n ionChange: EventEmitter<CustomEvent<IIonInputOtpChangeEventDetail>>;\n /**\n * Emitted when all input boxes have been filled with valid values.\n */\n ionComplete: EventEmitter<CustomEvent<IIonInputOtpCompleteEventDetail>>;\n /**\n * Emitted when the input group loses focus.\n */\n ionBlur: EventEmitter<CustomEvent<FocusEvent>>;\n /**\n * Emitted when the input group has focus.\n */\n ionFocus: EventEmitter<CustomEvent<FocusEvent>>;\n}\n"]}
@@ -10,6 +10,16 @@ export declare class IonInput extends ValueAccessor {
10
10
  registerOnChange(fn: (_: any) => void): void;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<IonInput, never>;
12
12
  static ɵcmp: i0.ɵɵComponentDeclaration<IonInput, "ion-input", never, { "accept": { "alias": "accept"; "required": false; }; "autocapitalize": { "alias": "autocapitalize"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "autocorrect": { "alias": "autocorrect"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "clearInput": { "alias": "clearInput"; "required": false; }; "clearOnEdit": { "alias": "clearOnEdit"; "required": false; }; "color": { "alias": "color"; "required": false; }; "counter": { "alias": "counter"; "required": false; }; "counterFormatter": { "alias": "counterFormatter"; "required": false; }; "debounce": { "alias": "debounce"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "enterkeyhint": { "alias": "enterkeyhint"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "fill": { "alias": "fill"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "inputmode": { "alias": "inputmode"; "required": false; }; "label": { "alias": "label"; "required": false; }; "labelPlacement": { "alias": "labelPlacement"; "required": false; }; "max": { "alias": "max"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "min": { "alias": "min"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "name": { "alias": "name"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "required": { "alias": "required"; "required": false; }; "shape": { "alias": "shape"; "required": false; }; "size": { "alias": "size"; "required": false; }; "spellcheck": { "alias": "spellcheck"; "required": false; }; "step": { "alias": "step"; "required": false; }; "type": { "alias": "type"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, never, ["*"], true, never>;
13
+ static ngAcceptInputType_autocorrect: boolean | string | null | undefined;
14
+ static ngAcceptInputType_autofocus: boolean | string | null | undefined;
15
+ static ngAcceptInputType_clearInput: boolean | string | null | undefined;
16
+ static ngAcceptInputType_clearOnEdit: boolean | string | null | undefined;
17
+ static ngAcceptInputType_counter: boolean | string | null | undefined;
18
+ static ngAcceptInputType_disabled: boolean | string | null | undefined;
19
+ static ngAcceptInputType_multiple: boolean | string | null | undefined;
20
+ static ngAcceptInputType_readonly: boolean | string | null | undefined;
21
+ static ngAcceptInputType_required: boolean | string | null | undefined;
22
+ static ngAcceptInputType_spellcheck: boolean | string | null | undefined;
13
23
  }
14
24
  export declare interface IonInput extends Components.IonInput {
15
25
  /**