@ionic/core 8.0.0-dev.11711408410.14d71406 → 8.0.0-dev.11711498366.18f063ac

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 (622) hide show
  1. package/components/button.js +21 -7
  2. package/components/index6.js +3 -1
  3. package/components/ion-input-password-toggle.d.ts +11 -0
  4. package/components/ion-input-password-toggle.js +131 -0
  5. package/components/ion-input.js +28 -8
  6. package/components/ion-item-divider.js +2 -2
  7. package/components/ion-item-group.js +1 -1
  8. package/components/ion-item-option.js +2 -2
  9. package/components/ion-item-options.js +1 -1
  10. package/components/ion-item-sliding.js +1 -1
  11. package/components/ion-loading.js +2 -2
  12. package/components/ion-menu-button.js +3 -3
  13. package/components/ion-menu-toggle.js +2 -2
  14. package/components/ion-menu.js +2 -2
  15. package/components/ion-modal.js +3 -3
  16. package/components/ion-nav-link.js +1 -1
  17. package/components/ion-nav.js +1 -1
  18. package/components/ion-note.js +2 -2
  19. package/components/ion-picker-legacy.js +2 -2
  20. package/components/ion-progress-bar.js +1 -1
  21. package/components/ion-range.js +3 -3
  22. package/components/ion-refresher-content.js +3 -3
  23. package/components/ion-refresher.js +1 -1
  24. package/components/ion-reorder-group.js +1 -1
  25. package/components/ion-reorder.js +3 -3
  26. package/components/ion-router-link.js +2 -2
  27. package/components/ion-router-outlet.js +1 -1
  28. package/components/ion-row.js +2 -2
  29. package/components/ion-searchbar.js +6 -6
  30. package/components/ion-segment-button.js +3 -3
  31. package/components/ion-segment.js +2 -2
  32. package/components/ion-select-option.js +1 -1
  33. package/components/ion-select.js +3 -3
  34. package/components/ion-skeleton-text.js +2 -2
  35. package/components/ion-split-pane.js +2 -2
  36. package/components/ion-tab-bar.js +2 -2
  37. package/components/ion-tab-button.js +2 -2
  38. package/components/ion-tab.js +2 -2
  39. package/components/ion-tabs.js +1 -1
  40. package/components/ion-text.js +2 -2
  41. package/components/ion-textarea.js +2 -2
  42. package/components/ion-thumbnail.js +2 -2
  43. package/components/ion-title.js +2 -2
  44. package/components/ion-toast.js +2 -2
  45. package/components/ion-toggle.js +4 -4
  46. package/components/ion-toolbar.js +2 -2
  47. package/components/ionic-global.js +2 -2
  48. package/components/label.js +2 -2
  49. package/components/list-header.js +2 -2
  50. package/components/list.js +1 -1
  51. package/components/picker-column-option.js +2 -2
  52. package/components/picker-column2.js +2 -2
  53. package/components/popover.js +2 -2
  54. package/components/radio-group.js +1 -1
  55. package/components/radio.js +3 -3
  56. package/components/ripple-effect.js +1 -1
  57. package/components/select-popover.js +2 -2
  58. package/components/spinner.js +1 -1
  59. package/css/core.css +18 -0
  60. package/css/core.css.map +1 -1
  61. package/css/display.css +6 -0
  62. package/css/display.css.map +1 -1
  63. package/css/float-elements.css +6 -0
  64. package/css/float-elements.css.map +1 -1
  65. package/css/global.bundle.css +12 -0
  66. package/css/global.bundle.css.map +1 -1
  67. package/css/ionic-swiper.css +6 -0
  68. package/css/ionic-swiper.css.map +1 -1
  69. package/css/ionic.bundle.css.map +1 -1
  70. package/css/padding.css +6 -0
  71. package/css/padding.css.map +1 -1
  72. package/css/structure.css +6 -0
  73. package/css/structure.css.map +1 -1
  74. package/css/text-alignment.css +6 -0
  75. package/css/text-alignment.css.map +1 -1
  76. package/css/text-transformation.css +6 -0
  77. package/css/text-transformation.css.map +1 -1
  78. package/css/typography.css +6 -0
  79. package/css/typography.css.map +1 -1
  80. package/css/utils.bundle.css +30 -0
  81. package/css/utils.bundle.css.map +1 -1
  82. package/dist/cjs/{app-globals-98e49326.js → app-globals-c355ec99.js} +1 -1
  83. package/dist/cjs/{data-f2ccf911.js → data-7c73c8b9.js} +1 -1
  84. package/dist/cjs/{hardware-back-button-f66bce00.js → hardware-back-button-e79bd12c.js} +1 -1
  85. package/dist/cjs/{index-f52c6d38.js → index-073c7cdc.js} +4 -0
  86. package/dist/cjs/{index-91435ed0.js → index-193def18.js} +1 -1
  87. package/dist/cjs/{index-f5fcf972.js → index-f06d55a9.js} +2 -2
  88. package/dist/cjs/index.cjs.js +4 -4
  89. package/dist/cjs/{input-shims-837af288.js → input-shims-0c59e88a.js} +2 -2
  90. package/dist/cjs/{input.utils-01c2fa15.js → input.utils-ee49fd29.js} +1 -1
  91. package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
  92. package/dist/cjs/ion-action-sheet.cjs.entry.js +3 -3
  93. package/dist/cjs/ion-alert.cjs.entry.js +3 -3
  94. package/dist/cjs/ion-app_8.cjs.entry.js +11 -11
  95. package/dist/cjs/ion-avatar_3.cjs.entry.js +3 -3
  96. package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
  97. package/dist/cjs/ion-backdrop.cjs.entry.js +1 -1
  98. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
  99. package/dist/cjs/ion-button_2.cjs.entry.js +21 -7
  100. package/dist/cjs/ion-card_5.cjs.entry.js +1 -1
  101. package/dist/cjs/ion-checkbox.cjs.entry.js +1 -1
  102. package/dist/cjs/ion-chip.cjs.entry.js +1 -1
  103. package/dist/cjs/ion-col_3.cjs.entry.js +3 -3
  104. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
  105. package/dist/cjs/ion-datetime_3.cjs.entry.js +9 -9
  106. package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
  107. package/dist/cjs/ion-img.cjs.entry.js +1 -1
  108. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  109. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +92 -0
  110. package/dist/cjs/ion-input.cjs.entry.js +28 -9
  111. package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -6
  112. package/dist/cjs/ion-item_8.cjs.entry.js +14 -14
  113. package/dist/cjs/ion-loading.cjs.entry.js +5 -5
  114. package/dist/cjs/ion-menu_3.cjs.entry.js +11 -11
  115. package/dist/cjs/ion-modal.cjs.entry.js +7 -7
  116. package/dist/cjs/ion-nav_2.cjs.entry.js +3 -3
  117. package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -3
  118. package/dist/cjs/ion-picker-column.cjs.entry.js +1 -1
  119. package/dist/cjs/ion-popover.cjs.entry.js +5 -5
  120. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  121. package/dist/cjs/ion-radio_2.cjs.entry.js +5 -5
  122. package/dist/cjs/ion-range.cjs.entry.js +5 -5
  123. package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -6
  124. package/dist/cjs/ion-reorder_2.cjs.entry.js +6 -6
  125. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  126. package/dist/cjs/ion-route_4.cjs.entry.js +3 -3
  127. package/dist/cjs/ion-searchbar.cjs.entry.js +7 -7
  128. package/dist/cjs/ion-segment_2.cjs.entry.js +6 -6
  129. package/dist/cjs/ion-select_3.cjs.entry.js +9 -9
  130. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  131. package/dist/cjs/ion-split-pane.cjs.entry.js +3 -3
  132. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +5 -5
  133. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  134. package/dist/cjs/ion-text.cjs.entry.js +3 -3
  135. package/dist/cjs/ion-textarea.cjs.entry.js +4 -4
  136. package/dist/cjs/ion-toast.cjs.entry.js +5 -5
  137. package/dist/cjs/ion-toggle.cjs.entry.js +5 -5
  138. package/dist/cjs/{ionic-global-94d8021d.js → ionic-global-ceb32795.js} +2 -2
  139. package/dist/cjs/ionic.cjs.js +3 -3
  140. package/dist/cjs/loader.cjs.js +3 -3
  141. package/dist/cjs/{overlays-de847251.js → overlays-f770745f.js} +2 -2
  142. package/dist/cjs/{status-tap-3ef7ca2b.js → status-tap-8d40351a.js} +2 -2
  143. package/dist/collection/collection-manifest.json +1 -0
  144. package/dist/collection/components/accordion/accordion.ios.css +12 -0
  145. package/dist/collection/components/accordion/accordion.md.css +6 -0
  146. package/dist/collection/components/accordion-group/accordion-group.ios.css +12 -0
  147. package/dist/collection/components/accordion-group/accordion-group.md.css +18 -0
  148. package/dist/collection/components/action-sheet/action-sheet.ios.css +12 -0
  149. package/dist/collection/components/action-sheet/action-sheet.md.css +12 -0
  150. package/dist/collection/components/alert/alert.ios.css +18 -0
  151. package/dist/collection/components/alert/alert.md.css +18 -0
  152. package/dist/collection/components/avatar/avatar.ios.css +12 -0
  153. package/dist/collection/components/avatar/avatar.md.css +12 -0
  154. package/dist/collection/components/back-button/back-button.ios.css +12 -0
  155. package/dist/collection/components/back-button/back-button.md.css +12 -0
  156. package/dist/collection/components/backdrop/backdrop.ios.css +12 -0
  157. package/dist/collection/components/backdrop/backdrop.md.css +12 -0
  158. package/dist/collection/components/badge/badge.ios.css +12 -0
  159. package/dist/collection/components/badge/badge.md.css +12 -0
  160. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +12 -0
  161. package/dist/collection/components/breadcrumb/breadcrumb.md.css +12 -0
  162. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  163. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  164. package/dist/collection/components/button/button.ionic.css +565 -0
  165. package/dist/collection/components/button/button.ios.css +18 -0
  166. package/dist/collection/components/button/button.js +24 -10
  167. package/dist/collection/components/button/button.md.css +12 -0
  168. package/dist/collection/components/button/test/clear/button.e2e.js +6 -3
  169. package/dist/collection/components/button/test/shape/button.e2e.js +88 -0
  170. package/dist/collection/components/button/test/size/button.e2e.js +19 -1
  171. package/dist/collection/components/buttons/buttons.ios.css +18 -0
  172. package/dist/collection/components/buttons/buttons.md.css +18 -0
  173. package/dist/collection/components/card/card.ios.css +12 -0
  174. package/dist/collection/components/card/card.md.css +12 -0
  175. package/dist/collection/components/card-content/card-content.ios.css +12 -0
  176. package/dist/collection/components/card-content/card-content.md.css +12 -0
  177. package/dist/collection/components/card-header/card-header.ios.css +12 -0
  178. package/dist/collection/components/card-header/card-header.md.css +12 -0
  179. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  180. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  181. package/dist/collection/components/card-title/card-title.ios.css +12 -0
  182. package/dist/collection/components/card-title/card-title.md.css +12 -0
  183. package/dist/collection/components/checkbox/checkbox.ios.css +18 -0
  184. package/dist/collection/components/checkbox/checkbox.md.css +18 -0
  185. package/dist/collection/components/chip/chip.ios.css +6 -0
  186. package/dist/collection/components/chip/chip.md.css +6 -0
  187. package/dist/collection/components/col/col.css +12 -0
  188. package/dist/collection/components/content/content.css +6 -0
  189. package/dist/collection/components/datetime/datetime.ios.css +12 -0
  190. package/dist/collection/components/datetime/datetime.md.css +12 -0
  191. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  192. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  193. package/dist/collection/components/fab/fab.css +24 -0
  194. package/dist/collection/components/fab-button/fab-button.ios.css +12 -0
  195. package/dist/collection/components/fab-button/fab-button.md.css +12 -0
  196. package/dist/collection/components/fab-list/fab-list.css +12 -0
  197. package/dist/collection/components/footer/footer.ios.css +12 -0
  198. package/dist/collection/components/footer/footer.md.css +12 -0
  199. package/dist/collection/components/grid/grid.css +12 -0
  200. package/dist/collection/components/header/header.ios.css +12 -0
  201. package/dist/collection/components/header/header.md.css +12 -0
  202. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  203. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  204. package/dist/collection/components/input/input.ios.css +27 -0
  205. package/dist/collection/components/input/input.js +26 -5
  206. package/dist/collection/components/input/input.md.css +45 -0
  207. package/dist/collection/components/input-password-toggle/input-password-toggle.css +0 -0
  208. package/dist/collection/components/input-password-toggle/input-password-toggle.js +183 -0
  209. package/dist/collection/components/input-password-toggle/test/a11y/input-password-toggle.e2e.js +21 -0
  210. package/dist/collection/components/input-password-toggle/test/basic/input-password-toggle.e2e.js +38 -0
  211. package/dist/collection/components/input-password-toggle/test/input-password-toggle.spec.js +76 -0
  212. package/dist/collection/components/item/item.ios.css +12 -0
  213. package/dist/collection/components/item/item.md.css +24 -0
  214. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  215. package/dist/collection/components/item-divider/item-divider.js +2 -2
  216. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  217. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  218. package/dist/collection/components/item-group/item-group.js +1 -1
  219. package/dist/collection/components/item-group/item-group.md.css +12 -0
  220. package/dist/collection/components/item-option/item-option.ios.css +12 -0
  221. package/dist/collection/components/item-option/item-option.js +2 -2
  222. package/dist/collection/components/item-option/item-option.md.css +12 -0
  223. package/dist/collection/components/item-options/item-options.ios.css +18 -0
  224. package/dist/collection/components/item-options/item-options.js +1 -1
  225. package/dist/collection/components/item-options/item-options.md.css +18 -0
  226. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  227. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  228. package/dist/collection/components/label/label.ios.css +18 -0
  229. package/dist/collection/components/label/label.js +2 -2
  230. package/dist/collection/components/label/label.md.css +18 -0
  231. package/dist/collection/components/list/list.ios.css +18 -0
  232. package/dist/collection/components/list/list.js +1 -1
  233. package/dist/collection/components/list/list.md.css +18 -0
  234. package/dist/collection/components/list-header/list-header.ios.css +18 -0
  235. package/dist/collection/components/list-header/list-header.js +2 -2
  236. package/dist/collection/components/list-header/list-header.md.css +18 -0
  237. package/dist/collection/components/loading/loading.ios.css +12 -0
  238. package/dist/collection/components/loading/loading.js +2 -2
  239. package/dist/collection/components/loading/loading.md.css +12 -0
  240. package/dist/collection/components/menu/menu.ios.css +12 -0
  241. package/dist/collection/components/menu/menu.js +2 -2
  242. package/dist/collection/components/menu/menu.md.css +12 -0
  243. package/dist/collection/components/menu-button/menu-button.ios.css +12 -0
  244. package/dist/collection/components/menu-button/menu-button.js +2 -2
  245. package/dist/collection/components/menu-button/menu-button.md.css +12 -0
  246. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  247. package/dist/collection/components/modal/modal.ios.css +12 -0
  248. package/dist/collection/components/modal/modal.js +3 -3
  249. package/dist/collection/components/modal/modal.md.css +12 -0
  250. package/dist/collection/components/nav/nav.css +6 -0
  251. package/dist/collection/components/nav/nav.js +1 -1
  252. package/dist/collection/components/nav-link/nav-link.js +1 -1
  253. package/dist/collection/components/note/note.ios.css +12 -0
  254. package/dist/collection/components/note/note.js +2 -2
  255. package/dist/collection/components/note/note.md.css +12 -0
  256. package/dist/collection/components/picker/picker.ios.css +12 -0
  257. package/dist/collection/components/picker/picker.md.css +12 -0
  258. package/dist/collection/components/picker-column/picker-column.css +6 -0
  259. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  260. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  261. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  262. package/dist/collection/components/picker-legacy/picker.ios.css +12 -0
  263. package/dist/collection/components/picker-legacy/picker.js +2 -2
  264. package/dist/collection/components/picker-legacy/picker.md.css +12 -0
  265. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  266. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  267. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  268. package/dist/collection/components/popover/popover.ios.css +12 -0
  269. package/dist/collection/components/popover/popover.js +2 -2
  270. package/dist/collection/components/popover/popover.md.css +12 -0
  271. package/dist/collection/components/progress-bar/progress-bar.ios.css +6 -0
  272. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  273. package/dist/collection/components/progress-bar/progress-bar.md.css +6 -0
  274. package/dist/collection/components/radio/radio.ios.css +18 -0
  275. package/dist/collection/components/radio/radio.js +3 -3
  276. package/dist/collection/components/radio/radio.md.css +18 -0
  277. package/dist/collection/components/radio-group/radio-group.js +1 -1
  278. package/dist/collection/components/range/range.ios.css +12 -0
  279. package/dist/collection/components/range/range.js +3 -3
  280. package/dist/collection/components/range/range.md.css +12 -0
  281. package/dist/collection/components/refresher/refresher.ios.css +12 -0
  282. package/dist/collection/components/refresher/refresher.js +1 -1
  283. package/dist/collection/components/refresher/refresher.md.css +12 -0
  284. package/dist/collection/components/refresher-content/refresher-content.js +2 -2
  285. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  286. package/dist/collection/components/reorder/reorder.js +2 -2
  287. package/dist/collection/components/reorder/reorder.md.css +6 -0
  288. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  289. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  290. package/dist/collection/components/ripple-effect/ripple-effect.css +6 -0
  291. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  292. package/dist/collection/components/router-link/router-link.css +6 -0
  293. package/dist/collection/components/router-link/router-link.js +2 -2
  294. package/dist/collection/components/router-outlet/router-outlet.css +6 -0
  295. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  296. package/dist/collection/components/row/row.css +12 -0
  297. package/dist/collection/components/row/row.js +2 -2
  298. package/dist/collection/components/searchbar/searchbar.ios.css +12 -0
  299. package/dist/collection/components/searchbar/searchbar.js +8 -7
  300. package/dist/collection/components/searchbar/searchbar.md.css +12 -0
  301. package/dist/collection/components/segment/segment.ios.css +18 -0
  302. package/dist/collection/components/segment/segment.js +2 -2
  303. package/dist/collection/components/segment/segment.md.css +18 -0
  304. package/dist/collection/components/segment-button/segment-button.ios.css +12 -0
  305. package/dist/collection/components/segment-button/segment-button.js +3 -3
  306. package/dist/collection/components/segment-button/segment-button.md.css +12 -0
  307. package/dist/collection/components/select/select.ios.css +18 -0
  308. package/dist/collection/components/select/select.js +2 -2
  309. package/dist/collection/components/select/select.md.css +30 -0
  310. package/dist/collection/components/select-option/select-option.js +1 -1
  311. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  312. package/dist/collection/components/select-popover/select-popover.js +2 -2
  313. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  314. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  315. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  316. package/dist/collection/components/spinner/spinner.css +6 -0
  317. package/dist/collection/components/spinner/spinner.js +1 -1
  318. package/dist/collection/components/split-pane/split-pane.ios.css +18 -0
  319. package/dist/collection/components/split-pane/split-pane.js +2 -2
  320. package/dist/collection/components/split-pane/split-pane.md.css +18 -0
  321. package/dist/collection/components/tab/tab.js +2 -2
  322. package/dist/collection/components/tab-bar/tab-bar.ios.css +18 -0
  323. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  324. package/dist/collection/components/tab-bar/tab-bar.md.css +18 -0
  325. package/dist/collection/components/tab-button/tab-button.ios.css +12 -0
  326. package/dist/collection/components/tab-button/tab-button.js +2 -2
  327. package/dist/collection/components/tab-button/tab-button.md.css +12 -0
  328. package/dist/collection/components/tabs/tabs.css +6 -0
  329. package/dist/collection/components/tabs/tabs.js +1 -1
  330. package/dist/collection/components/text/text.css +6 -0
  331. package/dist/collection/components/text/text.js +2 -2
  332. package/dist/collection/components/textarea/textarea.ios.css +24 -0
  333. package/dist/collection/components/textarea/textarea.js +2 -2
  334. package/dist/collection/components/textarea/textarea.md.css +36 -0
  335. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  336. package/dist/collection/components/thumbnail/thumbnail.js +2 -2
  337. package/dist/collection/components/title/title.ios.css +6 -0
  338. package/dist/collection/components/title/title.js +2 -2
  339. package/dist/collection/components/title/title.md.css +6 -0
  340. package/dist/collection/components/toast/toast.ios.css +12 -0
  341. package/dist/collection/components/toast/toast.js +2 -2
  342. package/dist/collection/components/toast/toast.md.css +12 -0
  343. package/dist/collection/components/toggle/toggle.ios.css +18 -0
  344. package/dist/collection/components/toggle/toggle.js +3 -3
  345. package/dist/collection/components/toggle/toggle.md.css +18 -0
  346. package/dist/collection/components/toolbar/toolbar.ios.css +12 -0
  347. package/dist/collection/components/toolbar/toolbar.js +2 -2
  348. package/dist/collection/components/toolbar/toolbar.md.css +12 -0
  349. package/dist/collection/global/ionic-global.js +2 -2
  350. package/dist/docs.json +198 -11
  351. package/dist/esm/{app-globals-4194f7b0.js → app-globals-378c927e.js} +1 -1
  352. package/dist/esm/{data-735635b1.js → data-502c79ce.js} +1 -1
  353. package/dist/esm/{hardware-back-button-ff84501f.js → hardware-back-button-6d25372a.js} +1 -1
  354. package/dist/esm/{index-62041d9c.js → index-47afdf4f.js} +2 -2
  355. package/dist/esm/{index-4bbc4ca3.js → index-84145911.js} +1 -1
  356. package/dist/esm/{index-f7dc70ba.js → index-e2cf2ceb.js} +3 -1
  357. package/dist/esm/index.js +4 -4
  358. package/dist/esm/{input-shims-131a3f9f.js → input-shims-d80cf854.js} +2 -2
  359. package/dist/esm/{input.utils-41b26b54.js → input.utils-526678b9.js} +1 -1
  360. package/dist/esm/ion-accordion_2.entry.js +2 -2
  361. package/dist/esm/ion-action-sheet.entry.js +3 -3
  362. package/dist/esm/ion-alert.entry.js +3 -3
  363. package/dist/esm/ion-app_8.entry.js +11 -11
  364. package/dist/esm/ion-avatar_3.entry.js +3 -3
  365. package/dist/esm/ion-back-button.entry.js +2 -2
  366. package/dist/esm/ion-backdrop.entry.js +1 -1
  367. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  368. package/dist/esm/ion-button_2.entry.js +21 -7
  369. package/dist/esm/ion-card_5.entry.js +1 -1
  370. package/dist/esm/ion-checkbox.entry.js +1 -1
  371. package/dist/esm/ion-chip.entry.js +1 -1
  372. package/dist/esm/ion-col_3.entry.js +3 -3
  373. package/dist/esm/ion-datetime-button.entry.js +2 -2
  374. package/dist/esm/ion-datetime_3.entry.js +9 -9
  375. package/dist/esm/ion-fab_3.entry.js +2 -2
  376. package/dist/esm/ion-img.entry.js +1 -1
  377. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  378. package/dist/esm/ion-input-password-toggle.entry.js +88 -0
  379. package/dist/esm/ion-input.entry.js +28 -9
  380. package/dist/esm/ion-item-option_3.entry.js +6 -6
  381. package/dist/esm/ion-item_8.entry.js +14 -14
  382. package/dist/esm/ion-loading.entry.js +5 -5
  383. package/dist/esm/ion-menu_3.entry.js +11 -11
  384. package/dist/esm/ion-modal.entry.js +7 -7
  385. package/dist/esm/ion-nav_2.entry.js +3 -3
  386. package/dist/esm/ion-picker-column-option.entry.js +3 -3
  387. package/dist/esm/ion-picker-column.entry.js +1 -1
  388. package/dist/esm/ion-popover.entry.js +5 -5
  389. package/dist/esm/ion-progress-bar.entry.js +2 -2
  390. package/dist/esm/ion-radio_2.entry.js +5 -5
  391. package/dist/esm/ion-range.entry.js +5 -5
  392. package/dist/esm/ion-refresher_2.entry.js +6 -6
  393. package/dist/esm/ion-reorder_2.entry.js +6 -6
  394. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  395. package/dist/esm/ion-route_4.entry.js +3 -3
  396. package/dist/esm/ion-searchbar.entry.js +7 -7
  397. package/dist/esm/ion-segment_2.entry.js +6 -6
  398. package/dist/esm/ion-select_3.entry.js +9 -9
  399. package/dist/esm/ion-spinner.entry.js +2 -2
  400. package/dist/esm/ion-split-pane.entry.js +3 -3
  401. package/dist/esm/ion-tab-bar_2.entry.js +5 -5
  402. package/dist/esm/ion-tab_2.entry.js +3 -3
  403. package/dist/esm/ion-text.entry.js +3 -3
  404. package/dist/esm/ion-textarea.entry.js +4 -4
  405. package/dist/esm/ion-toast.entry.js +5 -5
  406. package/dist/esm/ion-toggle.entry.js +5 -5
  407. package/dist/esm/{ionic-global-d47e129d.js → ionic-global-a03b1588.js} +2 -2
  408. package/dist/esm/ionic.js +3 -3
  409. package/dist/esm/loader.js +3 -3
  410. package/dist/esm/{overlays-213b5a21.js → overlays-84f5c587.js} +2 -2
  411. package/dist/esm/{status-tap-8838c434.js → status-tap-a65b162a.js} +2 -2
  412. package/dist/esm-es5/app-globals-378c927e.js +4 -0
  413. package/dist/esm-es5/{data-735635b1.js → data-502c79ce.js} +1 -1
  414. package/dist/esm-es5/{hardware-back-button-ff84501f.js → hardware-back-button-6d25372a.js} +1 -1
  415. package/dist/esm-es5/{index-62041d9c.js → index-47afdf4f.js} +1 -1
  416. package/dist/esm-es5/{index-4bbc4ca3.js → index-84145911.js} +1 -1
  417. package/dist/esm-es5/{index-f7dc70ba.js → index-e2cf2ceb.js} +1 -1
  418. package/dist/esm-es5/index.js +1 -1
  419. package/dist/esm-es5/{input-shims-131a3f9f.js → input-shims-d80cf854.js} +1 -1
  420. package/dist/esm-es5/{input.utils-41b26b54.js → input.utils-526678b9.js} +1 -1
  421. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  422. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  423. package/dist/esm-es5/ion-alert.entry.js +1 -1
  424. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  425. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  426. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  427. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  428. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  429. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  430. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  431. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  432. package/dist/esm-es5/ion-chip.entry.js +1 -1
  433. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  434. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  435. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  436. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  437. package/dist/esm-es5/ion-img.entry.js +1 -1
  438. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  439. package/dist/esm-es5/ion-input-password-toggle.entry.js +4 -0
  440. package/dist/esm-es5/ion-input.entry.js +1 -1
  441. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  442. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  443. package/dist/esm-es5/ion-loading.entry.js +1 -1
  444. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  445. package/dist/esm-es5/ion-modal.entry.js +1 -1
  446. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  447. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  448. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  449. package/dist/esm-es5/ion-popover.entry.js +1 -1
  450. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  451. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  452. package/dist/esm-es5/ion-range.entry.js +1 -1
  453. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  454. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  455. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  456. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  457. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  458. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  459. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  460. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  461. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  462. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  463. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  464. package/dist/esm-es5/ion-text.entry.js +1 -1
  465. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  466. package/dist/esm-es5/ion-toast.entry.js +1 -1
  467. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  468. package/dist/esm-es5/{ionic-global-d47e129d.js → ionic-global-a03b1588.js} +1 -1
  469. package/dist/esm-es5/ionic.js +1 -1
  470. package/dist/esm-es5/loader.js +1 -1
  471. package/dist/esm-es5/{overlays-213b5a21.js → overlays-84f5c587.js} +1 -1
  472. package/dist/esm-es5/{status-tap-8838c434.js → status-tap-a65b162a.js} +1 -1
  473. package/dist/html.html-data.json +77 -0
  474. package/dist/ionic/index.esm.js +1 -1
  475. package/dist/ionic/ionic.esm.js +1 -1
  476. package/dist/ionic/ionic.js +1 -1
  477. package/dist/ionic/p-00017a0e.entry.js +4 -0
  478. package/dist/ionic/{p-3e9e667a.entry.js → p-0483cb18.entry.js} +1 -1
  479. package/dist/ionic/{p-3e47e61e.entry.js → p-0afb8cd7.entry.js} +1 -1
  480. package/dist/ionic/{p-09b71030.entry.js → p-0fc68641.entry.js} +1 -1
  481. package/dist/ionic/{p-f7a041dc.js → p-11f322f2.js} +1 -1
  482. package/dist/ionic/{p-23e053d0.system.entry.js → p-158f84ef.system.entry.js} +1 -1
  483. package/dist/ionic/{p-30aed000.system.entry.js → p-1a721859.system.entry.js} +1 -1
  484. package/dist/ionic/p-1a8de6fa.entry.js +4 -0
  485. package/dist/ionic/p-1e955a45.system.js +4 -0
  486. package/dist/ionic/{p-617a8c10.system.entry.js → p-1ed7baef.system.entry.js} +1 -1
  487. package/dist/ionic/{p-bb4431d3.entry.js → p-22c5142f.entry.js} +1 -1
  488. package/dist/ionic/p-2a31b1f5.system.js +4 -0
  489. package/dist/ionic/{p-df92bab7.system.js → p-2a6e67b4.system.js} +1 -1
  490. package/dist/ionic/{p-e399a113.entry.js → p-2ab228af.entry.js} +1 -1
  491. package/dist/ionic/{p-4c55c5ce.entry.js → p-31b66414.entry.js} +1 -1
  492. package/dist/ionic/p-31bf1d38.entry.js +4 -0
  493. package/dist/ionic/{p-c957dcbd.system.entry.js → p-3302a619.system.entry.js} +1 -1
  494. package/dist/ionic/{p-6d1854de.system.entry.js → p-33c1c033.system.entry.js} +1 -1
  495. package/dist/ionic/{p-197fca36.system.entry.js → p-348beae7.system.entry.js} +1 -1
  496. package/dist/ionic/{p-3ecd1809.entry.js → p-355f3434.entry.js} +1 -1
  497. package/dist/ionic/{p-605c456e.system.entry.js → p-35dc747b.system.entry.js} +1 -1
  498. package/dist/ionic/p-35e5e98a.system.entry.js +4 -0
  499. package/dist/ionic/{p-e7522003.js → p-368b5f57.js} +1 -1
  500. package/dist/ionic/{p-2fad37de.system.entry.js → p-379c62e1.system.entry.js} +1 -1
  501. package/dist/ionic/{p-16b3b748.system.js → p-37c9bc91.system.js} +1 -1
  502. package/dist/ionic/{p-98ced5a7.system.entry.js → p-3b14e7b9.system.entry.js} +1 -1
  503. package/dist/ionic/{p-e557901b.entry.js → p-3d14260a.entry.js} +1 -1
  504. package/dist/ionic/{p-b8df09fa.entry.js → p-3df045bd.entry.js} +1 -1
  505. package/dist/ionic/{p-dff73ffc.system.js → p-47883cab.system.js} +1 -1
  506. package/dist/ionic/{p-c7e3ef1f.js → p-487bee8d.js} +1 -1
  507. package/dist/ionic/{p-35b46c05.entry.js → p-49d23e05.entry.js} +1 -1
  508. package/dist/ionic/{p-bb01995b.entry.js → p-4e27762d.entry.js} +1 -1
  509. package/dist/ionic/{p-e62f29e0.system.entry.js → p-4f785e62.system.entry.js} +1 -1
  510. package/dist/ionic/{p-2c8cb8c0.system.entry.js → p-4faa6455.system.entry.js} +1 -1
  511. package/dist/ionic/{p-7d6993fa.entry.js → p-4fbe6e81.entry.js} +1 -1
  512. package/dist/ionic/{p-11f25a12.system.js → p-50cf70e8.system.js} +1 -1
  513. package/dist/ionic/p-525a9d5f.system.entry.js +4 -0
  514. package/dist/ionic/{p-62ad354a.system.entry.js → p-54cbb70e.system.entry.js} +1 -1
  515. package/dist/ionic/{p-4f30e4c3.system.entry.js → p-5589bb5b.system.entry.js} +1 -1
  516. package/dist/ionic/p-57963dea.entry.js +4 -0
  517. package/dist/ionic/{p-69e691df.system.entry.js → p-58d1ab91.system.entry.js} +1 -1
  518. package/dist/ionic/{p-de5f6929.system.entry.js → p-58df6e9f.system.entry.js} +1 -1
  519. package/dist/ionic/{p-5fed4c24.system.entry.js → p-5e0d356b.system.entry.js} +1 -1
  520. package/dist/ionic/p-602146d8.js +4 -0
  521. package/dist/ionic/{p-365d2cfe.system.entry.js → p-6117f6c5.system.entry.js} +1 -1
  522. package/dist/ionic/{p-6718dfd8.system.entry.js → p-61a87440.system.entry.js} +1 -1
  523. package/dist/ionic/{p-644df0cc.system.entry.js → p-64eb01cb.system.entry.js} +1 -1
  524. package/dist/ionic/{p-385c76dc.system.entry.js → p-66d0a048.system.entry.js} +1 -1
  525. package/dist/ionic/{p-af732189.system.js → p-66d55ac3.system.js} +2 -2
  526. package/dist/ionic/{p-0daf382b.system.entry.js → p-680448fe.system.entry.js} +1 -1
  527. package/dist/ionic/{p-c78731fc.system.js → p-6df8b089.system.js} +1 -1
  528. package/dist/ionic/{p-3ed32307.system.entry.js → p-707a9d71.system.entry.js} +1 -1
  529. package/dist/ionic/{p-322eb715.system.js → p-726f80e7.system.js} +1 -1
  530. package/dist/ionic/{p-ae3fdd38.entry.js → p-738714f4.entry.js} +1 -1
  531. package/dist/ionic/{p-52698131.entry.js → p-789f197c.entry.js} +1 -1
  532. package/dist/ionic/{p-7fefe43e.system.js → p-822696e5.system.js} +1 -1
  533. package/dist/ionic/{p-ae2c6708.system.entry.js → p-8244824f.system.entry.js} +2 -2
  534. package/dist/ionic/{p-29ceda88.js → p-832dae23.js} +1 -1
  535. package/dist/ionic/{p-cd94b05a.system.entry.js → p-83d220ee.system.entry.js} +1 -1
  536. package/dist/ionic/{p-57082094.entry.js → p-84549d94.entry.js} +1 -1
  537. package/dist/ionic/{p-23a3320b.js → p-86379b84.js} +1 -1
  538. package/dist/ionic/{p-57b76977.system.entry.js → p-89d25317.system.entry.js} +1 -1
  539. package/dist/ionic/{p-b0da0e7e.entry.js → p-8e8522e3.entry.js} +1 -1
  540. package/dist/ionic/{p-a68b1b19.entry.js → p-8ef1d644.entry.js} +1 -1
  541. package/dist/ionic/{p-7c6ba817.system.entry.js → p-91b79359.system.entry.js} +1 -1
  542. package/dist/ionic/{p-71784639.entry.js → p-929058ef.entry.js} +1 -1
  543. package/dist/ionic/{p-2a4641fb.system.entry.js → p-93c12309.system.entry.js} +1 -1
  544. package/dist/ionic/{p-d6788bde.system.entry.js → p-94a31caf.system.entry.js} +1 -1
  545. package/dist/ionic/{p-9a76dbbb.entry.js → p-96472d74.entry.js} +1 -1
  546. package/dist/ionic/{p-a5456295.entry.js → p-99bf116a.entry.js} +1 -1
  547. package/dist/ionic/{p-c1d0861e.entry.js → p-9c52644e.entry.js} +1 -1
  548. package/dist/ionic/p-9d6f10bd.entry.js +4 -0
  549. package/dist/ionic/p-9dccdc99.entry.js +4 -0
  550. package/dist/ionic/{p-84dd4f6c.system.entry.js → p-9f1b4c72.system.entry.js} +1 -1
  551. package/dist/ionic/{p-77cdf8f0.system.entry.js → p-a300b844.system.entry.js} +1 -1
  552. package/dist/ionic/{p-eab67c46.system.entry.js → p-a3d98f76.system.entry.js} +1 -1
  553. package/dist/ionic/p-a9e86436.system.entry.js +4 -0
  554. package/dist/ionic/{p-6770c46d.system.entry.js → p-ab45eca5.system.entry.js} +1 -1
  555. package/dist/ionic/{p-8cd83c08.system.entry.js → p-ae6a5ee1.system.entry.js} +1 -1
  556. package/dist/ionic/{p-8fbf7c49.entry.js → p-af5123f7.entry.js} +1 -1
  557. package/dist/ionic/p-b29b0043.system.entry.js +4 -0
  558. package/dist/ionic/{p-24cc69ab.entry.js → p-b4f2d31e.entry.js} +1 -1
  559. package/dist/ionic/{p-46e489c1.entry.js → p-b5c85b3c.entry.js} +1 -1
  560. package/dist/ionic/{p-4c6278ca.system.entry.js → p-b6ad1585.system.entry.js} +1 -1
  561. package/dist/ionic/{p-56dfd814.entry.js → p-b8df12bb.entry.js} +1 -1
  562. package/dist/ionic/{p-f9398178.entry.js → p-ba85f57a.entry.js} +1 -1
  563. package/dist/ionic/{p-b0bd2f28.system.entry.js → p-bc4f3bb5.system.entry.js} +1 -1
  564. package/dist/ionic/{p-3e8cfe35.system.entry.js → p-bd1a5533.system.entry.js} +1 -1
  565. package/dist/ionic/p-bfd648f6.entry.js +4 -0
  566. package/dist/ionic/{p-716cc857.entry.js → p-c0d40adb.entry.js} +1 -1
  567. package/dist/ionic/{p-d83f3852.system.entry.js → p-c11dbd56.system.entry.js} +1 -1
  568. package/dist/ionic/p-c33fe06e.entry.js +4 -0
  569. package/dist/ionic/{p-e86fef55.system.js → p-c47d0e2a.system.js} +1 -1
  570. package/dist/ionic/p-c5c7d271.entry.js +4 -0
  571. package/dist/ionic/{p-fe1345b7.js → p-ca958797.js} +1 -1
  572. package/dist/ionic/p-cbb46ee9.entry.js +4 -0
  573. package/dist/ionic/{p-cc1dabd2.system.entry.js → p-cf5829f5.system.entry.js} +1 -1
  574. package/dist/ionic/{p-afeebbc2.entry.js → p-d08ac146.entry.js} +1 -1
  575. package/dist/ionic/{p-57a4c6c3.js → p-d3498aab.js} +1 -1
  576. package/dist/ionic/{p-0507489e.system.entry.js → p-d74b5b06.system.entry.js} +1 -1
  577. package/dist/ionic/p-da2b833b.js +4 -0
  578. package/dist/ionic/{p-139e8ff1.js → p-db490c56.js} +1 -1
  579. package/dist/ionic/{p-2bc784c2.system.entry.js → p-db643807.system.entry.js} +1 -1
  580. package/dist/ionic/{p-45684f75.system.entry.js → p-dfbfcb53.system.entry.js} +1 -1
  581. package/dist/ionic/{p-820be1bf.entry.js → p-e03b9251.entry.js} +1 -1
  582. package/dist/ionic/{p-fea6e789.system.entry.js → p-e1403ca6.system.entry.js} +1 -1
  583. package/dist/ionic/{p-1126b6fb.entry.js → p-e30d6c34.entry.js} +1 -1
  584. package/dist/ionic/{p-ed454419.entry.js → p-e39ec17c.entry.js} +1 -1
  585. package/dist/ionic/{p-f85988bd.entry.js → p-e3b6bda8.entry.js} +1 -1
  586. package/dist/ionic/{p-ff93a0f3.entry.js → p-e6f26311.entry.js} +1 -1
  587. package/dist/ionic/{p-18d1e318.system.js → p-e78ab7a6.system.js} +1 -1
  588. package/dist/ionic/{p-1f04779e.entry.js → p-e85a8a81.entry.js} +1 -1
  589. package/dist/ionic/{p-226bdf0f.entry.js → p-ec637936.entry.js} +1 -1
  590. package/dist/ionic/{p-30b7a6a6.system.entry.js → p-ef61637a.system.entry.js} +2 -2
  591. package/dist/ionic/{p-6981ada8.entry.js → p-f02998b5.entry.js} +1 -1
  592. package/dist/ionic/{p-d2a65df9.js → p-f35f7d6c.js} +1 -1
  593. package/dist/ionic/{p-4e7a18b3.entry.js → p-fc174bf1.entry.js} +1 -1
  594. package/dist/ionic/p-fc9c5b84.system.js +4 -0
  595. package/dist/types/components/button/button.d.ts +6 -2
  596. package/dist/types/components/input/input.d.ts +6 -0
  597. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +37 -0
  598. package/dist/types/components/searchbar/searchbar.d.ts +0 -14
  599. package/dist/types/components.d.ts +51 -5
  600. package/hydrate/index.js +245 -114
  601. package/package.json +1 -1
  602. package/css/core.ionic.css +0 -13
  603. package/css/core.ionic.css.map +0 -1
  604. package/dist/collection/components/button/test/round/button.e2e.js +0 -52
  605. package/dist/esm-es5/app-globals-4194f7b0.js +0 -4
  606. package/dist/ionic/p-116239e0.system.entry.js +0 -4
  607. package/dist/ionic/p-13aa1338.entry.js +0 -4
  608. package/dist/ionic/p-24e9aa21.entry.js +0 -4
  609. package/dist/ionic/p-41908d5c.entry.js +0 -4
  610. package/dist/ionic/p-44d8d5c3.entry.js +0 -4
  611. package/dist/ionic/p-5919403e.js +0 -4
  612. package/dist/ionic/p-6087c7ac.system.entry.js +0 -4
  613. package/dist/ionic/p-70a396e0.entry.js +0 -4
  614. package/dist/ionic/p-831269de.js +0 -4
  615. package/dist/ionic/p-8fd110c6.entry.js +0 -4
  616. package/dist/ionic/p-ac1eb107.system.js +0 -4
  617. package/dist/ionic/p-b69db5bf.entry.js +0 -4
  618. package/dist/ionic/p-c8985963.system.js +0 -4
  619. package/dist/ionic/p-dfb6de03.system.js +0 -4
  620. package/dist/ionic/p-e4cd4316.system.entry.js +0 -4
  621. package/dist/ionic/p-f977c8c5.entry.js +0 -4
  622. package/dist/ionic/p-ff584ff5.entry.js +0 -4
@@ -0,0 +1,183 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { Host, h } from "@stencil/core";
5
+ import { printIonWarning } from "../../utils/logging/index";
6
+ import { createColorClasses } from "../../utils/theme";
7
+ import { eyeOff, eye } from "ionicons/icons";
8
+ import { getIonMode } from "../../global/ionic-global";
9
+ /**
10
+ * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
11
+ */
12
+ export class InputPasswordToggle {
13
+ constructor() {
14
+ this.togglePasswordVisibility = () => {
15
+ const { inputElRef } = this;
16
+ if (!inputElRef) {
17
+ return;
18
+ }
19
+ inputElRef.type = inputElRef.type === 'text' ? 'password' : 'text';
20
+ };
21
+ this.color = undefined;
22
+ this.showIcon = undefined;
23
+ this.hideIcon = undefined;
24
+ this.type = 'password';
25
+ }
26
+ /**
27
+ * Whenever the input type changes we need to re-run validation to ensure the password
28
+ * toggle is being used with the correct input type. If the application changes the type
29
+ * outside of this component we also need to re-render so the correct icon is shown.
30
+ */
31
+ onTypeChange(newValue) {
32
+ if (newValue !== 'text' && newValue !== 'password') {
33
+ printIonWarning(`ion-input-password-toggle only supports inputs of type "text" or "password". Input of type "${newValue}" is not compatible.`, this.el);
34
+ return;
35
+ }
36
+ }
37
+ connectedCallback() {
38
+ const { el } = this;
39
+ const inputElRef = (this.inputElRef = el.closest('ion-input'));
40
+ if (!inputElRef) {
41
+ printIonWarning('No ancestor ion-input found for ion-input-password-toggle. This component must be slotted inside of an ion-input.', el);
42
+ return;
43
+ }
44
+ /**
45
+ * Important: Set the type in connectedCallback because the default value
46
+ * of this.type may not always be accurate. Usually inputs have the "password" type
47
+ * but it is possible to have the input to initially have the "text" type. In that scenario
48
+ * the wrong icon will show briefly before switching to the correct icon. Setting the
49
+ * type here allows us to avoid that flicker.
50
+ */
51
+ this.type = inputElRef.type;
52
+ }
53
+ disconnectedCallback() {
54
+ this.inputElRef = null;
55
+ }
56
+ render() {
57
+ var _a, _b;
58
+ const { color, type } = this;
59
+ const mode = getIonMode(this);
60
+ const showPasswordIcon = (_a = this.showIcon) !== null && _a !== void 0 ? _a : eye;
61
+ const hidePasswordIcon = (_b = this.hideIcon) !== null && _b !== void 0 ? _b : eyeOff;
62
+ const isPasswordVisible = type === 'text';
63
+ return (h(Host, { key: '1cb075999e41c2fde3a3d6cafe6f37c9b5429299', class: createColorClasses(color, {
64
+ [mode]: true,
65
+ }) }, h("ion-button", { key: 'cfaaec221f530ecc475690b6508c2333e32ff609', mode: mode, color: color, fill: "clear", shape: "round", "aria-checked": isPasswordVisible ? 'true' : 'false', "aria-label": "show password", role: "switch", type: "button", onPointerDown: (ev) => {
66
+ /**
67
+ * This prevents mobile browsers from
68
+ * blurring the input when the password toggle
69
+ * button is activated.
70
+ */
71
+ ev.preventDefault();
72
+ }, onClick: this.togglePasswordVisibility }, h("ion-icon", { key: 'dc0fc5fe8df4df4c145e29b30e589f159aab9cd9', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
73
+ }
74
+ static get is() { return "ion-input-password-toggle"; }
75
+ static get encapsulation() { return "shadow"; }
76
+ static get originalStyleUrls() {
77
+ return {
78
+ "ios": ["input-password-toggle.scss"],
79
+ "md": ["input-password-toggle.scss"]
80
+ };
81
+ }
82
+ static get styleUrls() {
83
+ return {
84
+ "ios": ["input-password-toggle.css"],
85
+ "md": ["input-password-toggle.css"]
86
+ };
87
+ }
88
+ static get properties() {
89
+ return {
90
+ "color": {
91
+ "type": "string",
92
+ "mutable": false,
93
+ "complexType": {
94
+ "original": "Color",
95
+ "resolved": "\"danger\" | \"dark\" | \"light\" | \"medium\" | \"primary\" | \"secondary\" | \"success\" | \"tertiary\" | \"warning\" | string & Record<never, never> | undefined",
96
+ "references": {
97
+ "Color": {
98
+ "location": "import",
99
+ "path": "../../interface",
100
+ "id": "src/interface.d.ts::Color"
101
+ }
102
+ }
103
+ },
104
+ "required": false,
105
+ "optional": true,
106
+ "docs": {
107
+ "tags": [],
108
+ "text": "The color to use from your application's color palette.\nDefault options are: `\"primary\"`, `\"secondary\"`, `\"tertiary\"`, `\"success\"`, `\"warning\"`, `\"danger\"`, `\"light\"`, `\"medium\"`, and `\"dark\"`.\nFor more information on colors, see [theming](/docs/theming/basics)."
109
+ },
110
+ "attribute": "color",
111
+ "reflect": true
112
+ },
113
+ "showIcon": {
114
+ "type": "string",
115
+ "mutable": false,
116
+ "complexType": {
117
+ "original": "string",
118
+ "resolved": "string | undefined",
119
+ "references": {}
120
+ },
121
+ "required": false,
122
+ "optional": true,
123
+ "docs": {
124
+ "tags": [],
125
+ "text": "The icon that can be used to represent showing a password. If not set, the \"eye\" Ionicon will be used."
126
+ },
127
+ "attribute": "show-icon",
128
+ "reflect": false
129
+ },
130
+ "hideIcon": {
131
+ "type": "string",
132
+ "mutable": false,
133
+ "complexType": {
134
+ "original": "string",
135
+ "resolved": "string | undefined",
136
+ "references": {}
137
+ },
138
+ "required": false,
139
+ "optional": true,
140
+ "docs": {
141
+ "tags": [],
142
+ "text": "The icon that can be used to represent hiding a password. If not set, the \"eyeOff\" Ionicon will be used."
143
+ },
144
+ "attribute": "hide-icon",
145
+ "reflect": false
146
+ },
147
+ "type": {
148
+ "type": "string",
149
+ "mutable": true,
150
+ "complexType": {
151
+ "original": "TextFieldTypes",
152
+ "resolved": "\"date\" | \"datetime-local\" | \"email\" | \"month\" | \"number\" | \"password\" | \"search\" | \"tel\" | \"text\" | \"time\" | \"url\" | \"week\"",
153
+ "references": {
154
+ "TextFieldTypes": {
155
+ "location": "import",
156
+ "path": "../../interface",
157
+ "id": "src/interface.d.ts::TextFieldTypes"
158
+ }
159
+ }
160
+ },
161
+ "required": false,
162
+ "optional": false,
163
+ "docs": {
164
+ "tags": [{
165
+ "name": "internal",
166
+ "text": undefined
167
+ }],
168
+ "text": ""
169
+ },
170
+ "attribute": "type",
171
+ "reflect": false,
172
+ "defaultValue": "'password'"
173
+ }
174
+ };
175
+ }
176
+ static get elementRef() { return "el"; }
177
+ static get watchers() {
178
+ return [{
179
+ "propName": "type",
180
+ "methodName": "onTypeChange"
181
+ }];
182
+ }
183
+ }
@@ -0,0 +1,21 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import AxeBuilder from "@axe-core/playwright";
5
+ import { expect } from "@playwright/test";
6
+ import { configs, test } from "../../../../utils/test/playwright/index";
7
+ configs({ directions: ['ltr'] }).forEach(({ title, config }) => {
8
+ test.describe(title('input password toggle: a11y'), () => {
9
+ test('should not have accessibility violations', async ({ page }) => {
10
+ await page.setContent(`
11
+ <main>
12
+ <ion-input label="input" type="password">
13
+ <ion-input-password-toggle slot="end"></ion-input-password-toggle>
14
+ </ion-input>
15
+ </main>
16
+ `, config);
17
+ const results = await new AxeBuilder({ page }).analyze();
18
+ expect(results.violations).toEqual([]);
19
+ });
20
+ });
21
+ });
@@ -0,0 +1,38 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { expect } from "@playwright/test";
5
+ import { configs, test } from "../../../../utils/test/playwright/index";
6
+ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
7
+ test.describe(title('input password toggle: states'), () => {
8
+ test('should be hidden when inside of a readonly input', async ({ page }) => {
9
+ await page.setContent(`
10
+ <ion-input label="input" type="password" readonly="true">
11
+ <ion-input-password-toggle slot="end"></ion-input-password-toggle>
12
+ </ion-input>
13
+ `, config);
14
+ const inputPasswordToggle = page.locator('ion-input-password-toggle');
15
+ await expect(inputPasswordToggle).toBeHidden();
16
+ });
17
+ test('should be hidden when inside of a disabled input', async ({ page }) => {
18
+ await page.setContent(`
19
+ <ion-input label="input" type="password" disabled="true">
20
+ <ion-input-password-toggle slot="end"></ion-input-password-toggle>
21
+ </ion-input>
22
+ `, config);
23
+ const inputPasswordToggle = page.locator('ion-input-password-toggle');
24
+ await expect(inputPasswordToggle).toBeHidden();
25
+ });
26
+ });
27
+ test.describe(title('input password toggle: rendering'), () => {
28
+ test('should not have visual regressions', async ({ page }) => {
29
+ await page.setContent(`
30
+ <ion-input label="input" type="password">
31
+ <ion-input-password-toggle slot="end"></ion-input-password-toggle>
32
+ </ion-input>
33
+ `, config);
34
+ const inputPasswordToggle = page.locator('ion-input-password-toggle');
35
+ await expect(inputPasswordToggle).toHaveScreenshot(screenshot('input-password-toggle'));
36
+ });
37
+ });
38
+ });
@@ -0,0 +1,76 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { h } from "@stencil/core";
5
+ import { newSpecPage } from "@stencil/core/testing";
6
+ import { Input } from "../../input/input";
7
+ import { InputPasswordToggle } from "../input-password-toggle";
8
+ import { Button } from "../../button/button";
9
+ import { initialize } from "../../../global/ionic-global";
10
+ describe('input password toggle', () => {
11
+ it('should toggle input type when clicked', async () => {
12
+ const page = await newSpecPage({
13
+ components: [Input, InputPasswordToggle, Button],
14
+ template: () => (h("ion-input", { type: "password" }, h("ion-input-password-toggle", { slot: "end" }))),
15
+ });
16
+ const inputPasswordToggle = page.body.querySelector('ion-input-password-toggle');
17
+ const button = inputPasswordToggle.shadowRoot.querySelector('ion-button');
18
+ const input = page.body.querySelector('ion-input');
19
+ expect(input.type).toBe('password');
20
+ button.click();
21
+ await page.waitForChanges();
22
+ expect(input.type).toBe('text');
23
+ button.click();
24
+ await page.waitForChanges();
25
+ expect(input.type).toBe('password');
26
+ });
27
+ it('should render custom icons', async () => {
28
+ const page = await newSpecPage({
29
+ components: [Input, InputPasswordToggle, Button],
30
+ template: () => (h("ion-input", { type: "password" }, h("ion-input-password-toggle", { showIcon: "show", hideIcon: "hide", slot: "end" }))),
31
+ });
32
+ const inputPasswordToggle = page.body.querySelector('ion-input-password-toggle');
33
+ const button = inputPasswordToggle.shadowRoot.querySelector('ion-button');
34
+ const icon = inputPasswordToggle.shadowRoot.querySelector('ion-icon');
35
+ // Grab the attribute to test since we are not actually passing in a valid SVG
36
+ expect(icon.getAttribute('icon')).toBe('show');
37
+ button.click();
38
+ await page.waitForChanges();
39
+ expect(icon.getAttribute('icon')).toBe('hide');
40
+ });
41
+ it('changing the type on the input should update the icon used in password toggle', async () => {
42
+ const page = await newSpecPage({
43
+ components: [Input, InputPasswordToggle, Button],
44
+ template: () => (h("ion-input", { type: "password" }, h("ion-input-password-toggle", { showIcon: "show", hideIcon: "hide", slot: "end" }))),
45
+ });
46
+ const inputPasswordToggle = page.body.querySelector('ion-input-password-toggle');
47
+ const input = page.body.querySelector('ion-input');
48
+ const icon = inputPasswordToggle.shadowRoot.querySelector('ion-icon');
49
+ // Grab the attribute to test since we are not actually passing in a valid SVG
50
+ expect(icon.getAttribute('icon')).toBe('show');
51
+ input.type = 'text';
52
+ await page.waitForChanges();
53
+ expect(icon.getAttribute('icon')).toBe('hide');
54
+ input.type = 'password';
55
+ await page.waitForChanges();
56
+ expect(icon.getAttribute('icon')).toBe('show');
57
+ });
58
+ it('should inherit the mode and color to internal ionic components', async () => {
59
+ /**
60
+ * This initialize script tells Stencil how to determine the mode on components.
61
+ * This is required for any getIonMode internal logic to function properly in spec tests.
62
+ */
63
+ initialize();
64
+ const page = await newSpecPage({
65
+ components: [Input, InputPasswordToggle, Button],
66
+ template: () => (h("ion-input", { type: "password", color: "primary" }, h("ion-input-password-toggle", { slot: "end", mode: "ios", color: "danger" }))),
67
+ });
68
+ const inputPasswordToggle = page.body.querySelector('ion-input-password-toggle');
69
+ const button = inputPasswordToggle.shadowRoot.querySelector('ion-button');
70
+ await page.waitForChanges();
71
+ // mode is a virtual prop so we need to access it as an attribute
72
+ expect(button.getAttribute('mode')).toBe('ios');
73
+ // color is an actual prop so we can access the element property
74
+ expect(button.color).toBe('danger');
75
+ });
76
+ });
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
1
7
  /**
2
8
  * Convert a font size to a dynamic font size.
3
9
  * Fonts that participate in Dynamic Type should use
@@ -406,6 +412,12 @@ ion-ripple-effect {
406
412
  color: var(--ripple-color);
407
413
  }
408
414
 
415
+ /**
416
+ * Convert a pixels given value into rem
417
+ *
418
+ * @param pixels - Value in pixels to be converted (i.e. px)
419
+ * @param context (optional) - Baseline value
420
+ */
409
421
  /**
410
422
  * Convert a font size to a dynamic font size.
411
423
  * Fonts that participate in Dynamic Type should use
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
1
7
  /**
2
8
  * Convert a font size to a dynamic font size.
3
9
  * Fonts that participate in Dynamic Type should use
@@ -406,6 +412,12 @@ ion-ripple-effect {
406
412
  color: var(--ripple-color);
407
413
  }
408
414
 
415
+ /**
416
+ * Convert a pixels given value into rem
417
+ *
418
+ * @param pixels - Value in pixels to be converted (i.e. px)
419
+ * @param context (optional) - Baseline value
420
+ */
409
421
  /**
410
422
  * Convert a font size to a dynamic font size.
411
423
  * Fonts that participate in Dynamic Type should use
@@ -461,6 +473,12 @@ ion-ripple-effect {
461
473
  * }
462
474
  * }
463
475
  */
476
+ /**
477
+ * Convert a pixels given value into rem
478
+ *
479
+ * @param pixels - Value in pixels to be converted (i.e. px)
480
+ * @param context (optional) - Baseline value
481
+ */
464
482
  /**
465
483
  * Convert a font size to a dynamic font size.
466
484
  * Fonts that participate in Dynamic Type should use
@@ -516,6 +534,12 @@ ion-ripple-effect {
516
534
  * }
517
535
  * }
518
536
  */
537
+ /**
538
+ * Convert a pixels given value into rem
539
+ *
540
+ * @param pixels - Value in pixels to be converted (i.e. px)
541
+ * @param context (optional) - Baseline value
542
+ */
519
543
  /**
520
544
  * Convert a font size to a dynamic font size.
521
545
  * Fonts that participate in Dynamic Type should use
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
1
7
  /**
2
8
  * Convert a font size to a dynamic font size.
3
9
  * Fonts that participate in Dynamic Type should use
@@ -169,6 +175,12 @@
169
175
  overflow: hidden;
170
176
  }
171
177
 
178
+ /**
179
+ * Convert a pixels given value into rem
180
+ *
181
+ * @param pixels - Value in pixels to be converted (i.e. px)
182
+ * @param context (optional) - Baseline value
183
+ */
172
184
  /**
173
185
  * Convert a font size to a dynamic font size.
174
186
  * Fonts that participate in Dynamic Type should use
@@ -224,6 +236,12 @@
224
236
  * }
225
237
  * }
226
238
  */
239
+ /**
240
+ * Convert a pixels given value into rem
241
+ *
242
+ * @param pixels - Value in pixels to be converted (i.e. px)
243
+ * @param context (optional) - Baseline value
244
+ */
227
245
  /**
228
246
  * Convert a font size to a dynamic font size.
229
247
  * Fonts that participate in Dynamic Type should use
@@ -19,11 +19,11 @@ export class ItemDivider {
19
19
  }
20
20
  render() {
21
21
  const theme = getIonTheme(this);
22
- return (h(Host, { key: 'ee17a51b7daefd6be5d42e5b64685c4979d29ec0', class: createColorClasses(this.color, {
22
+ return (h(Host, { key: '625f9c93dc5d63da7d7116618e85e744c312c9f6', class: createColorClasses(this.color, {
23
23
  [theme]: true,
24
24
  'item-divider-sticky': this.sticky,
25
25
  item: true,
26
- }) }, h("slot", { key: '8366956b2cf3ca557a599a15b18bccd7261f3a64', name: "start" }), h("div", { key: 'a8707b99037252713ea68655b700c30b1d2071ad', class: "item-divider-inner" }, h("div", { key: '76cd58e8499fe69ccce6c31ab1aee10bc1c1c2f0', class: "item-divider-wrapper" }, h("slot", { key: 'f9e9c165c96d4ca7c6c887bccb236ed9979d414b' })), h("slot", { key: 'ce91f23f478fdb8c2fc963ebdf64ba3f939082f9', name: "end" }))));
26
+ }) }, h("slot", { key: '314ea0e81490d6bd606e2ac45019640ec34add9e', name: "start" }), h("div", { key: '0e27892adc6caf214265c1037e80ccc713a660a4', class: "item-divider-inner" }, h("div", { key: '2743000f5e7a8fcedf2f829ee46cb41dbea91e72', class: "item-divider-wrapper" }, h("slot", { key: '617526ad20379985a8fbe85caa650e03fcf574fb' })), h("slot", { key: '644746d28d7b03e01a9b2ba7a7d7b8947f64b226', name: "end" }))));
27
27
  }
28
28
  static get is() { return "ion-item-divider"; }
29
29
  static get encapsulation() { return "shadow"; }
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
1
7
  /**
2
8
  * Convert a font size to a dynamic font size.
3
9
  * Fonts that participate in Dynamic Type should use
@@ -169,6 +175,12 @@
169
175
  overflow: hidden;
170
176
  }
171
177
 
178
+ /**
179
+ * Convert a pixels given value into rem
180
+ *
181
+ * @param pixels - Value in pixels to be converted (i.e. px)
182
+ * @param context (optional) - Baseline value
183
+ */
172
184
  /**
173
185
  * Convert a font size to a dynamic font size.
174
186
  * Fonts that participate in Dynamic Type should use
@@ -224,6 +236,12 @@
224
236
  * }
225
237
  * }
226
238
  */
239
+ /**
240
+ * Convert a pixels given value into rem
241
+ *
242
+ * @param pixels - Value in pixels to be converted (i.e. px)
243
+ * @param context (optional) - Baseline value
244
+ */
227
245
  /**
228
246
  * Convert a font size to a dynamic font size.
229
247
  * Fonts that participate in Dynamic Type should use
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
1
7
  /**
2
8
  * Convert a font size to a dynamic font size.
3
9
  * Fonts that participate in Dynamic Type should use
@@ -57,6 +63,12 @@ ion-item-group {
57
63
  display: block;
58
64
  }
59
65
 
66
+ /**
67
+ * Convert a pixels given value into rem
68
+ *
69
+ * @param pixels - Value in pixels to be converted (i.e. px)
70
+ * @param context (optional) - Baseline value
71
+ */
60
72
  /**
61
73
  * Convert a font size to a dynamic font size.
62
74
  * Fonts that participate in Dynamic Type should use
@@ -10,7 +10,7 @@ import { getIonTheme } from "../../global/ionic-global";
10
10
  export class ItemGroup {
11
11
  render() {
12
12
  const theme = getIonTheme(this);
13
- return (h(Host, { key: '3acd6096c99f8a9ea7def2514288fe6452fec52d', role: "group", class: {
13
+ return (h(Host, { key: '387217ac3867bdc76d962ef53dbbde1d0eb43cd7', role: "group", class: {
14
14
  [theme]: true,
15
15
  // Used internally for styling
16
16
  [`item-group-${theme}`]: true,
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
1
7
  /**
2
8
  * Convert a font size to a dynamic font size.
3
9
  * Fonts that participate in Dynamic Type should use
@@ -57,6 +63,12 @@ ion-item-group {
57
63
  display: block;
58
64
  }
59
65
 
66
+ /**
67
+ * Convert a pixels given value into rem
68
+ *
69
+ * @param pixels - Value in pixels to be converted (i.e. px)
70
+ * @param context (optional) - Baseline value
71
+ */
60
72
  /**
61
73
  * Convert a font size to a dynamic font size.
62
74
  * Fonts that participate in Dynamic Type should use
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
1
7
  /**
2
8
  * Convert a font size to a dynamic font size.
3
9
  * Fonts that participate in Dynamic Type should use
@@ -174,6 +180,12 @@
174
180
  pointer-events: none;
175
181
  }
176
182
 
183
+ /**
184
+ * Convert a pixels given value into rem
185
+ *
186
+ * @param pixels - Value in pixels to be converted (i.e. px)
187
+ * @param context (optional) - Baseline value
188
+ */
177
189
  /**
178
190
  * Convert a font size to a dynamic font size.
179
191
  * Fonts that participate in Dynamic Type should use
@@ -45,12 +45,12 @@ export class ItemOption {
45
45
  href: this.href,
46
46
  target: this.target,
47
47
  };
48
- return (h(Host, { key: '2d96ef8cd2bff003c50a7a9bc87b4866d8a21ea3', onClick: this.onClick, class: createColorClasses(this.color, {
48
+ return (h(Host, { key: 'afac18b1ad280f873f76c49041d5710d0e7adc54', onClick: this.onClick, class: createColorClasses(this.color, {
49
49
  [theme]: true,
50
50
  'item-option-disabled': disabled,
51
51
  'item-option-expandable': expandable,
52
52
  'ion-activatable': true,
53
- }) }, h(TagType, Object.assign({ key: '329da03db6798aa9be407722154231f186dea0e4' }, attrs, { class: "button-native", part: "native", disabled: disabled }), h("span", { key: '02229dd15f8253a1118590d10d75d0667d1ee9b6', class: "button-inner" }, h("slot", { key: 'c2b4373dd16325895d096331ea0887f519988adb', name: "top" }), h("div", { key: 'a4f88e355df992ada63924cb080fe35aa89c10b2', class: "horizontal-wrapper" }, h("slot", { key: 'f51b05ff3812744fbc752cda10e86dd6dec9cd9c', name: "start" }), h("slot", { key: '7ee88f23e86e0fb8733786ffbeb182d7726c12f6', name: "icon-only" }), h("slot", { key: '7ae991f6f53df99dc3e5ee737ce33c0d170c9eb4' }), h("slot", { key: '488eb7b54775a367b0118d1bbef4e07ec4dc485f', name: "end" })), h("slot", { key: 'ff970c5877d79e6997b25de38d5ebd8afbe0aec6', name: "bottom" })), theme === 'md' && h("ion-ripple-effect", null))));
53
+ }) }, h(TagType, Object.assign({ key: '6dd63941993716374155cdbb4ba2665cf4e20f82' }, attrs, { class: "button-native", part: "native", disabled: disabled }), h("span", { key: '511a31527efad43e74b512c70b314b218439d2ec', class: "button-inner" }, h("slot", { key: '8d7dd33c218391817ec59399565f00423c6d5c1c', name: "top" }), h("div", { key: '1a49be28e08f82f61ae64819a809ffaacae3fab2', class: "horizontal-wrapper" }, h("slot", { key: 'ffa4859d7738305940d79a6020c74ee2a56b123e', name: "start" }), h("slot", { key: 'bc64fa31d19ae447cbad86a9569e069348d2ef5a', name: "icon-only" }), h("slot", { key: '1c2df529ecc65c5906b90a8c0eb050b9cdc26ae7' }), h("slot", { key: 'ef3f2596247bc40e841c8470052573fac014a258', name: "end" })), h("slot", { key: '1235903f302ef8f253579cadefce001453afbdb9', name: "bottom" })), theme === 'md' && h("ion-ripple-effect", null))));
54
54
  }
55
55
  static get is() { return "ion-item-option"; }
56
56
  static get encapsulation() { return "shadow"; }
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
1
7
  /**
2
8
  * Convert a font size to a dynamic font size.
3
9
  * Fonts that participate in Dynamic Type should use
@@ -174,6 +180,12 @@
174
180
  pointer-events: none;
175
181
  }
176
182
 
183
+ /**
184
+ * Convert a pixels given value into rem
185
+ *
186
+ * @param pixels - Value in pixels to be converted (i.e. px)
187
+ * @param context (optional) - Baseline value
188
+ */
177
189
  /**
178
190
  * Convert a font size to a dynamic font size.
179
191
  * Fonts that participate in Dynamic Type should use
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
1
7
  /**
2
8
  * Convert a font size to a dynamic font size.
3
9
  * Fonts that participate in Dynamic Type should use
@@ -158,6 +164,12 @@ ion-item-options {
158
164
  visibility: visible;
159
165
  }
160
166
 
167
+ /**
168
+ * Convert a pixels given value into rem
169
+ *
170
+ * @param pixels - Value in pixels to be converted (i.e. px)
171
+ * @param context (optional) - Baseline value
172
+ */
161
173
  /**
162
174
  * Convert a font size to a dynamic font size.
163
175
  * Fonts that participate in Dynamic Type should use
@@ -213,6 +225,12 @@ ion-item-options {
213
225
  * }
214
226
  * }
215
227
  */
228
+ /**
229
+ * Convert a pixels given value into rem
230
+ *
231
+ * @param pixels - Value in pixels to be converted (i.e. px)
232
+ * @param context (optional) - Baseline value
233
+ */
216
234
  /**
217
235
  * Convert a font size to a dynamic font size.
218
236
  * Fonts that participate in Dynamic Type should use
@@ -21,7 +21,7 @@ export class ItemOptions {
21
21
  render() {
22
22
  const theme = getIonTheme(this);
23
23
  const isEnd = isEndSide(this.side);
24
- return (h(Host, { key: 'a11edf1792a9e12c7f15c214a8969e741387d677', class: {
24
+ return (h(Host, { key: 'b3afa3261f85f19616974adade53617b2d8563e9', class: {
25
25
  [theme]: true,
26
26
  // Used internally for styling
27
27
  [`item-options-${theme}`]: true,