@ionic/core 8.8.14-dev.11784238294.131cd99d → 8.8.14-dev.11784563563.137a903a

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 (476) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion-group.js +1 -1
  3. package/components/ion-accordion.js +1 -1
  4. package/components/ion-action-sheet.js +1 -1
  5. package/components/ion-alert.js +1 -1
  6. package/components/ion-app.js +1 -1
  7. package/components/ion-avatar.js +1 -1
  8. package/components/ion-back-button.js +1 -1
  9. package/components/ion-backdrop.js +1 -1
  10. package/components/ion-badge.js +1 -1
  11. package/components/ion-breadcrumb.js +1 -1
  12. package/components/ion-breadcrumbs.js +1 -1
  13. package/components/ion-button.js +1 -1
  14. package/components/ion-buttons.js +1 -1
  15. package/components/ion-card-content.js +1 -1
  16. package/components/ion-card-header.js +1 -1
  17. package/components/ion-card-subtitle.js +1 -1
  18. package/components/ion-card-title.js +1 -1
  19. package/components/ion-card.js +1 -1
  20. package/components/ion-checkbox.js +1 -1
  21. package/components/ion-chip.js +1 -1
  22. package/components/ion-col.js +1 -1
  23. package/components/ion-content.js +1 -1
  24. package/components/ion-datetime-button.js +1 -1
  25. package/components/ion-datetime.js +1 -1
  26. package/components/ion-fab-button.js +1 -1
  27. package/components/ion-fab-list.js +1 -1
  28. package/components/ion-fab.js +1 -1
  29. package/components/ion-footer.js +1 -1
  30. package/components/ion-grid.js +1 -1
  31. package/components/ion-header.js +1 -1
  32. package/components/ion-img.js +1 -1
  33. package/components/ion-infinite-scroll-content.js +1 -1
  34. package/components/ion-infinite-scroll.js +1 -1
  35. package/components/ion-input-otp.js +1 -1
  36. package/components/ion-input-password-toggle.js +1 -1
  37. package/components/ion-input.js +1 -1
  38. package/components/ion-item-divider.js +1 -1
  39. package/components/ion-item-group.js +1 -1
  40. package/components/ion-item-option.js +1 -1
  41. package/components/ion-item-options.js +1 -1
  42. package/components/ion-item-sliding.js +1 -1
  43. package/components/ion-item.js +1 -1
  44. package/components/ion-label.js +1 -1
  45. package/components/ion-list-header.js +1 -1
  46. package/components/ion-list.js +1 -1
  47. package/components/ion-loading.js +1 -1
  48. package/components/ion-menu-button.js +1 -1
  49. package/components/ion-menu-toggle.js +1 -1
  50. package/components/ion-menu.js +1 -1
  51. package/components/ion-modal.js +1 -1
  52. package/components/ion-nav.js +1 -1
  53. package/components/ion-note.js +1 -1
  54. package/components/ion-picker-column-option.js +1 -1
  55. package/components/ion-picker-column.js +1 -1
  56. package/components/ion-popover.js +1 -1
  57. package/components/ion-progress-bar.js +1 -1
  58. package/components/ion-radio-group.js +1 -1
  59. package/components/ion-radio.js +1 -1
  60. package/components/ion-range.js +1 -1
  61. package/components/ion-refresher-content.js +1 -1
  62. package/components/ion-refresher.js +1 -1
  63. package/components/ion-reorder-group.js +1 -1
  64. package/components/ion-reorder.js +1 -1
  65. package/components/ion-ripple-effect.js +1 -1
  66. package/components/ion-router-link.js +1 -1
  67. package/components/ion-router-outlet.js +1 -1
  68. package/components/ion-router.js +1 -1
  69. package/components/ion-row.js +1 -1
  70. package/components/ion-searchbar.js +1 -1
  71. package/components/ion-segment-button.js +1 -1
  72. package/components/ion-segment-content.js +1 -1
  73. package/components/ion-segment-view.js +1 -1
  74. package/components/ion-segment.js +1 -1
  75. package/components/ion-select-modal.js +1 -1
  76. package/components/ion-select-option.js +1 -1
  77. package/components/ion-select-popover.js +1 -1
  78. package/components/ion-select.js +1 -1
  79. package/components/ion-skeleton-text.js +1 -1
  80. package/components/ion-spinner.js +1 -1
  81. package/components/ion-split-pane.js +1 -1
  82. package/components/ion-tab-bar.js +1 -1
  83. package/components/ion-tab-button.js +1 -1
  84. package/components/ion-tab.js +1 -1
  85. package/components/ion-tabs.js +1 -1
  86. package/components/ion-text.js +1 -1
  87. package/components/ion-textarea.js +1 -1
  88. package/components/ion-thumbnail.js +1 -1
  89. package/components/ion-title.js +1 -1
  90. package/components/ion-toast.js +1 -1
  91. package/components/ion-toggle.js +1 -1
  92. package/components/ion-toolbar.js +1 -1
  93. package/components/{p-BLmJ0zRm.js → p-8cRBED2y.js} +1 -1
  94. package/components/{p-BSEgsdFI.js → p-B5Ia5kbJ.js} +1 -1
  95. package/components/p-BG9RNTmW.js +4 -0
  96. package/components/p-BSQPZ79H.js +4 -0
  97. package/components/p-BnTB62Lu.js +4 -0
  98. package/components/p-BwKpO3Is.js +4 -0
  99. package/components/p-CEktCi-l.js +4 -0
  100. package/components/{p-B60hm8Qv.js → p-CHdYfvVx.js} +1 -1
  101. package/components/{p-B9jFTlwE.js → p-CPa2WmW7.js} +1 -1
  102. package/components/{p-BnqQlm7c.js → p-CYhGN6l4.js} +1 -1
  103. package/components/{p-ryqmO0B-.js → p-CbJDPICP.js} +1 -1
  104. package/components/{p-rCa2eL0j.js → p-CtQ-1ZRt.js} +1 -1
  105. package/components/p-CwcD5kE9.js +4 -0
  106. package/components/{p--JUspHvy.js → p-CyFtf1Mm.js} +1 -1
  107. package/components/{p-DqZAXv2t.js → p-CzuRCorP.js} +1 -1
  108. package/components/{p-j5IxBIan.js → p-D-lHU3L1.js} +1 -1
  109. package/components/p-D1-tlI3U.js +4 -0
  110. package/components/p-D2D6VdCA.js +4 -0
  111. package/components/{p-BHrrc-3d.js → p-D355UF9s.js} +1 -1
  112. package/components/{p-5bE_Wz4Y.js → p-DEI720fP.js} +1 -1
  113. package/components/p-DK0D_QD_.js +4 -0
  114. package/components/p-DXTfY6aF.js +4 -0
  115. package/components/{p-Cfx4M1Bn.js → p-DfjhtfFw.js} +1 -1
  116. package/components/{p-CI3ncNZm.js → p-Dg1a5T1q.js} +1 -1
  117. package/components/{p-lE_JGpHD.js → p-Ds1Brlka.js} +1 -1
  118. package/components/p-Dtmv7Nm_.js +4 -0
  119. package/components/{p-BirPFsRD.js → p-Dy5czMtc.js} +1 -1
  120. package/components/p-FV45cfy9.js +4 -0
  121. package/components/p-LMGfIvTf.js +4 -0
  122. package/components/{p-CSZf8_j0.js → p-XX59Wsi5.js} +1 -1
  123. package/components/p-jOtMJMv8.js +4 -0
  124. package/components/p-xjzudrQv.js +4 -0
  125. package/dist/cjs/{app-globals-BlqrqKTN.js → app-globals-7VMuu6PT.js} +1 -1
  126. package/dist/cjs/config-DWdFbSNK.js +35 -0
  127. package/dist/cjs/index-Cueg3U4w.js +429 -0
  128. package/dist/cjs/{index-aC4x3Fk3.js → index-IPWmFzOn.js} +1 -1
  129. package/dist/cjs/index.cjs.js +7 -7
  130. package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
  131. package/dist/cjs/ion-action-sheet.cjs.entry.js +28 -8
  132. package/dist/cjs/ion-alert.cjs.entry.js +65 -26
  133. package/dist/cjs/ion-app_8.cjs.entry.js +24 -10
  134. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  135. package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
  136. package/dist/cjs/ion-backdrop.cjs.entry.js +1 -1
  137. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
  138. package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
  139. package/dist/cjs/ion-card_5.cjs.entry.js +1 -1
  140. package/dist/cjs/ion-checkbox.cjs.entry.js +1 -1
  141. package/dist/cjs/ion-chip.cjs.entry.js +1 -1
  142. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  143. package/dist/cjs/ion-datetime-button.cjs.entry.js +5 -11
  144. package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +13 -657
  145. package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
  146. package/dist/cjs/ion-img.cjs.entry.js +4 -2
  147. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +4 -3
  148. package/dist/cjs/ion-input-otp.cjs.entry.js +1 -1
  149. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +1 -1
  150. package/dist/cjs/ion-input.cjs.entry.js +5 -5
  151. package/dist/cjs/ion-item-option_3.cjs.entry.js +1 -1
  152. package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
  153. package/dist/cjs/ion-loading.cjs.entry.js +11 -6
  154. package/dist/cjs/ion-menu_3.cjs.entry.js +3 -3
  155. package/dist/cjs/ion-modal.cjs.entry.js +24 -33
  156. package/dist/cjs/ion-nav_2.cjs.entry.js +3 -116
  157. package/dist/cjs/ion-picker-column-option.cjs.entry.js +4 -10
  158. package/dist/cjs/ion-picker-column.cjs.entry.js +5 -11
  159. package/dist/cjs/ion-popover.cjs.entry.js +10 -6
  160. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  161. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
  162. package/dist/cjs/ion-range.cjs.entry.js +4 -4
  163. package/dist/cjs/ion-refresher_2.cjs.entry.js +7 -6
  164. package/dist/cjs/ion-reorder_2.cjs.entry.js +3 -3
  165. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  166. package/dist/cjs/ion-route_4.cjs.entry.js +19 -5
  167. package/dist/cjs/ion-searchbar.cjs.entry.js +6 -6
  168. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  169. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  170. package/dist/cjs/ion-segment_2.cjs.entry.js +5 -5
  171. package/dist/cjs/ion-select-modal.cjs.entry.js +85 -31
  172. package/dist/cjs/ion-select_3.cjs.entry.js +408 -50
  173. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  174. package/dist/cjs/ion-split-pane.cjs.entry.js +3 -3
  175. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +5 -5
  176. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  177. package/dist/cjs/ion-text.cjs.entry.js +3 -3
  178. package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
  179. package/dist/cjs/ion-toast.cjs.entry.js +7 -6
  180. package/dist/cjs/ion-toggle.cjs.entry.js +4 -4
  181. package/dist/cjs/{ionic-global-B-cA6LkY.js → ionic-global-CbxQmwkf.js} +2 -2
  182. package/dist/cjs/ionic.cjs.js +3 -3
  183. package/dist/cjs/loader.cjs.js +3 -3
  184. package/dist/cjs/overlay-control-label-D2sdL2O8.js +50 -0
  185. package/dist/cjs/{overlays-DdtIYQUH.js → overlays-DXnnHORC.js} +28 -32
  186. package/dist/cjs/select-option-render-DTF50t5r.js +124 -0
  187. package/dist/collection/collection-manifest.json +6 -10
  188. package/dist/collection/components/action-sheet/action-sheet.ios.css +229 -2
  189. package/dist/collection/components/action-sheet/action-sheet.js +24 -5
  190. package/dist/collection/components/action-sheet/action-sheet.md.css +175 -2
  191. package/dist/collection/components/alert/alert.ios.css +280 -10
  192. package/dist/collection/components/alert/alert.js +59 -21
  193. package/dist/collection/components/alert/alert.md.css +269 -20
  194. package/dist/collection/components/datetime/datetime.ios.css +42 -2
  195. package/dist/collection/components/datetime/datetime.js +10 -17
  196. package/dist/collection/components/datetime/datetime.md.css +42 -1
  197. package/dist/collection/components/datetime-button/datetime-button.ios.css +5 -0
  198. package/dist/collection/components/datetime-button/datetime-button.js +3 -10
  199. package/dist/collection/components/datetime-button/datetime-button.md.css +5 -0
  200. package/dist/collection/components/img/img.js +6 -1
  201. package/dist/collection/components/input/input.js +8 -8
  202. package/dist/collection/components/loading/loading.js +7 -3
  203. package/dist/collection/components/modal/gestures/sheet.js +0 -7
  204. package/dist/collection/components/modal/gestures/swipe-to-close.js +0 -7
  205. package/dist/collection/components/modal/modal.ios.css +0 -8
  206. package/dist/collection/components/modal/modal.js +23 -18
  207. package/dist/collection/components/modal/modal.md.css +0 -8
  208. package/dist/collection/components/nav/nav.js +4 -219
  209. package/dist/collection/components/picker-column/picker-column.css +3 -0
  210. package/dist/collection/components/picker-column/picker-column.js +4 -11
  211. package/dist/collection/components/picker-column-option/picker-column-option.js +3 -10
  212. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -1
  213. package/dist/collection/components/popover/popover.ios.css +15 -0
  214. package/dist/collection/components/popover/popover.js +7 -3
  215. package/dist/collection/components/popover/popover.md.css +15 -0
  216. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  217. package/dist/collection/components/radio/radio.js +4 -4
  218. package/dist/collection/components/range/range.js +3 -3
  219. package/dist/collection/components/refresher/refresher.js +1 -1
  220. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  221. package/dist/collection/components/reorder/reorder.js +1 -1
  222. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  223. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  224. package/dist/collection/components/route/route.js +1 -1
  225. package/dist/collection/components/router/utils/dom.js +22 -3
  226. package/dist/collection/components/router-link/router-link.js +2 -2
  227. package/dist/collection/components/router-outlet/router-outlet.js +38 -5
  228. package/dist/collection/components/row/row.js +1 -1
  229. package/dist/collection/components/searchbar/searchbar.js +9 -9
  230. package/dist/collection/components/segment/segment.js +2 -2
  231. package/dist/collection/components/segment-button/segment-button.js +2 -2
  232. package/dist/collection/components/segment-content/segment-content.js +1 -1
  233. package/dist/collection/components/segment-view/segment-view.js +2 -2
  234. package/dist/collection/components/select/select.ios.css +33 -0
  235. package/dist/collection/components/select/select.js +323 -16
  236. package/dist/collection/components/select/select.md.css +33 -0
  237. package/dist/collection/components/select-modal/select-modal.ios.css +219 -0
  238. package/dist/collection/components/select-modal/select-modal.js +79 -26
  239. package/dist/collection/components/select-modal/select-modal.md.css +165 -0
  240. package/dist/collection/components/select-option/select-option.js +67 -3
  241. package/dist/collection/components/select-popover/select-popover.ios.css +219 -0
  242. package/dist/collection/components/select-popover/select-popover.js +78 -26
  243. package/dist/collection/components/select-popover/select-popover.md.css +165 -0
  244. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  245. package/dist/collection/components/spinner/spinner.js +1 -1
  246. package/dist/collection/components/split-pane/split-pane.js +2 -2
  247. package/dist/collection/components/tab/tab.js +2 -2
  248. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  249. package/dist/collection/components/tab-button/tab-button.js +2 -2
  250. package/dist/collection/components/tabs/tabs.js +1 -1
  251. package/dist/collection/components/text/text.js +2 -2
  252. package/dist/collection/components/textarea/textarea.js +2 -2
  253. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  254. package/dist/collection/components/title/title.js +2 -2
  255. package/dist/collection/components/toast/toast.js +2 -2
  256. package/dist/collection/components/toggle/toggle.js +3 -3
  257. package/dist/collection/components/toolbar/toolbar.js +2 -2
  258. package/dist/collection/index.js +1 -1
  259. package/dist/collection/utils/overlay-control-label.js +45 -0
  260. package/dist/collection/utils/overlays.js +26 -30
  261. package/dist/collection/utils/platform.js +2 -2
  262. package/dist/collection/utils/sanitization/index.js +274 -18
  263. package/dist/collection/utils/select-option-render.js +119 -0
  264. package/dist/collection/utils/test/playwright/drag-element.js +0 -5
  265. package/dist/docs.json +556 -1272
  266. package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-DNgPBV1i.js} +1 -1
  267. package/dist/esm/config-BwKpO3Is.js +31 -0
  268. package/dist/esm/{index-Q6UPU0Ay.js → index-0f4UTH6Z.js} +1 -1
  269. package/dist/esm/{index-DV3sJJW8.js → index-AlrZKoWR.js} +1 -1
  270. package/dist/esm/index-DQSkZyOJ.js +424 -0
  271. package/dist/esm/index.js +5 -4
  272. package/dist/esm/ion-accordion_2.entry.js +2 -2
  273. package/dist/esm/ion-action-sheet.entry.js +28 -8
  274. package/dist/esm/ion-alert.entry.js +64 -25
  275. package/dist/esm/ion-app_8.entry.js +24 -10
  276. package/dist/esm/ion-avatar_3.entry.js +2 -2
  277. package/dist/esm/ion-back-button.entry.js +2 -2
  278. package/dist/esm/ion-backdrop.entry.js +1 -1
  279. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  280. package/dist/esm/ion-button_2.entry.js +1 -1
  281. package/dist/esm/ion-card_5.entry.js +1 -1
  282. package/dist/esm/ion-checkbox.entry.js +1 -1
  283. package/dist/esm/ion-chip.entry.js +1 -1
  284. package/dist/esm/ion-col_3.entry.js +2 -2
  285. package/dist/esm/ion-datetime-button.entry.js +5 -11
  286. package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +17 -659
  287. package/dist/esm/ion-fab_3.entry.js +2 -2
  288. package/dist/esm/ion-img.entry.js +5 -3
  289. package/dist/esm/ion-infinite-scroll_2.entry.js +3 -2
  290. package/dist/esm/ion-input-otp.entry.js +1 -1
  291. package/dist/esm/ion-input-password-toggle.entry.js +2 -2
  292. package/dist/esm/ion-input.entry.js +6 -6
  293. package/dist/esm/ion-item-option_3.entry.js +1 -1
  294. package/dist/esm/ion-item_8.entry.js +4 -4
  295. package/dist/esm/ion-loading.entry.js +10 -5
  296. package/dist/esm/ion-menu_3.entry.js +4 -4
  297. package/dist/esm/ion-modal.entry.js +24 -33
  298. package/dist/esm/ion-nav_2.entry.js +4 -117
  299. package/dist/esm/ion-picker-column-option.entry.js +4 -10
  300. package/dist/esm/ion-picker-column.entry.js +5 -11
  301. package/dist/esm/ion-popover.entry.js +10 -6
  302. package/dist/esm/ion-progress-bar.entry.js +2 -2
  303. package/dist/esm/ion-radio_2.entry.js +4 -4
  304. package/dist/esm/ion-range.entry.js +4 -4
  305. package/dist/esm/ion-refresher_2.entry.js +6 -5
  306. package/dist/esm/ion-reorder_2.entry.js +4 -4
  307. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  308. package/dist/esm/ion-route_4.entry.js +19 -5
  309. package/dist/esm/ion-searchbar.entry.js +7 -7
  310. package/dist/esm/ion-segment-content.entry.js +1 -1
  311. package/dist/esm/ion-segment-view.entry.js +2 -2
  312. package/dist/esm/ion-segment_2.entry.js +5 -5
  313. package/dist/esm/ion-select-modal.entry.js +85 -31
  314. package/dist/esm/ion-select_3.entry.js +411 -53
  315. package/dist/esm/ion-spinner.entry.js +2 -2
  316. package/dist/esm/ion-split-pane.entry.js +3 -3
  317. package/dist/esm/ion-tab-bar_2.entry.js +5 -5
  318. package/dist/esm/ion-tab_2.entry.js +3 -3
  319. package/dist/esm/ion-text.entry.js +3 -3
  320. package/dist/esm/ion-textarea.entry.js +3 -3
  321. package/dist/esm/ion-toast.entry.js +6 -5
  322. package/dist/esm/ion-toggle.entry.js +5 -5
  323. package/dist/esm/{ionic-global-Cp_eT4sZ.js → ionic-global-pMW1XhFZ.js} +2 -2
  324. package/dist/esm/ionic.js +3 -3
  325. package/dist/esm/loader.js +3 -3
  326. package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
  327. package/dist/esm/{overlays-Dg0q2_tJ.js → overlays-DVgWBV3s.js} +29 -33
  328. package/dist/esm/select-option-render-B8nWZRnd.js +122 -0
  329. package/dist/html.html-data.json +52 -80
  330. package/dist/ionic/index.esm.js +1 -1
  331. package/dist/ionic/ionic.esm.js +1 -1
  332. package/dist/ionic/{p-d889ff6d.entry.js → p-06cef0c6.entry.js} +1 -1
  333. package/dist/ionic/{p-c6e49f3f.entry.js → p-0be097d7.entry.js} +1 -1
  334. package/dist/ionic/{p-dfa8d673.entry.js → p-0e7de053.entry.js} +1 -1
  335. package/dist/ionic/p-129d3ed9.entry.js +4 -0
  336. package/dist/ionic/p-1d9e649a.entry.js +4 -0
  337. package/dist/ionic/p-2b3a2a38.entry.js +4 -0
  338. package/dist/ionic/{p-0fa9c382.entry.js → p-306b2e91.entry.js} +1 -1
  339. package/dist/ionic/{p-fabcce6c.entry.js → p-341032b3.entry.js} +1 -1
  340. package/dist/ionic/{p-37e720da.entry.js → p-34c8f2dc.entry.js} +1 -1
  341. package/dist/ionic/{p-e0be05c5.entry.js → p-3ce3a59d.entry.js} +1 -1
  342. package/dist/ionic/p-3d719e91.entry.js +4 -0
  343. package/dist/ionic/{p-3a7d1e91.entry.js → p-408afa6d.entry.js} +1 -1
  344. package/dist/ionic/{p-9a65ac7f.entry.js → p-426130ad.entry.js} +1 -1
  345. package/dist/ionic/p-5599e1e1.entry.js +4 -0
  346. package/dist/ionic/{p-75dc25ba.entry.js → p-567b25e9.entry.js} +1 -1
  347. package/dist/ionic/p-570a212e.entry.js +4 -0
  348. package/dist/ionic/{p-4858af1f.entry.js → p-656e8181.entry.js} +1 -1
  349. package/dist/ionic/p-686de5dc.entry.js +4 -0
  350. package/dist/ionic/{p-b6a7397c.entry.js → p-694aa5fc.entry.js} +1 -1
  351. package/dist/ionic/p-73d06afe.entry.js +4 -0
  352. package/dist/ionic/{p-34586ead.entry.js → p-79054426.entry.js} +1 -1
  353. package/dist/ionic/{p-9f1103ce.entry.js → p-79b2abe6.entry.js} +1 -1
  354. package/dist/ionic/p-7cb5cf53.entry.js +4 -0
  355. package/dist/ionic/{p-3353c229.entry.js → p-80b44b3c.entry.js} +1 -1
  356. package/dist/ionic/p-845eb5d5.entry.js +4 -0
  357. package/dist/ionic/p-88f33e44.entry.js +4 -0
  358. package/dist/ionic/p-89c9c057.entry.js +4 -0
  359. package/dist/ionic/{p-c4d8641b.entry.js → p-8c4bdd70.entry.js} +1 -1
  360. package/dist/ionic/{p-a3bdcae6.entry.js → p-8c898f59.entry.js} +1 -1
  361. package/dist/ionic/p-8cde6208.entry.js +4 -0
  362. package/dist/ionic/{p-5d1da0a2.entry.js → p-9366f06d.entry.js} +1 -1
  363. package/dist/ionic/p-9a29ba8c.entry.js +4 -0
  364. package/dist/ionic/{p-DV3sJJW8.js → p-AlrZKoWR.js} +1 -1
  365. package/dist/ionic/p-BDtODLZ4.js +4 -0
  366. package/dist/ionic/p-BSQPZ79H.js +4 -0
  367. package/dist/ionic/p-BwKpO3Is.js +4 -0
  368. package/dist/ionic/p-CGqbOURp.js +4 -0
  369. package/dist/ionic/{p-KjNvRoEp.js → p-D9iu80E_.js} +1 -1
  370. package/dist/ionic/p-DCOvXkOm.js +4 -0
  371. package/dist/ionic/p-DZigX5id.js +4 -0
  372. package/dist/ionic/p-DeSfrUWZ.js +4 -0
  373. package/dist/ionic/{p-84d5ce05.entry.js → p-a1448991.entry.js} +1 -1
  374. package/dist/ionic/{p-390ca786.entry.js → p-a256aeb6.entry.js} +1 -1
  375. package/dist/ionic/{p-8c8eee7d.entry.js → p-aeff523a.entry.js} +1 -1
  376. package/dist/ionic/{p-8eb8ee76.entry.js → p-b2f15bd0.entry.js} +1 -1
  377. package/dist/ionic/p-b7737b44.entry.js +4 -0
  378. package/dist/ionic/p-ba99d16b.entry.js +4 -0
  379. package/dist/ionic/{p-ef4c3bee.entry.js → p-cdfe2531.entry.js} +1 -1
  380. package/dist/ionic/p-cf68f89c.entry.js +4 -0
  381. package/dist/ionic/p-d183a4ba.entry.js +4 -0
  382. package/dist/ionic/p-d57560ff.entry.js +4 -0
  383. package/dist/ionic/p-d5be2815.entry.js +4 -0
  384. package/dist/ionic/{p-874b4bd8.entry.js → p-d6d91a44.entry.js} +1 -1
  385. package/dist/ionic/{p-4745f534.entry.js → p-e3842b54.entry.js} +1 -1
  386. package/dist/ionic/{p-3ae5f277.entry.js → p-e56b1836.entry.js} +1 -1
  387. package/dist/ionic/p-f09f9642.entry.js +4 -0
  388. package/dist/ionic/p-f2ae690a.entry.js +4 -0
  389. package/dist/ionic/{p-3a126bca.entry.js → p-f5b104d9.entry.js} +1 -1
  390. package/dist/ionic/p-f88310b9.entry.js +4 -0
  391. package/dist/ionic/p-fd4e56cd.entry.js +4 -0
  392. package/dist/types/components/img/img.d.ts +2 -0
  393. package/dist/types/components/input/input.d.ts +1 -1
  394. package/dist/types/components/modal/modal.d.ts +11 -4
  395. package/dist/types/components/nav/nav-interface.d.ts +0 -1
  396. package/dist/types/components/nav/nav.d.ts +2 -22
  397. package/dist/types/components/route/route.d.ts +1 -1
  398. package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
  399. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  400. package/dist/types/components/select/select-interface.d.ts +31 -0
  401. package/dist/types/components/select/select.d.ts +18 -0
  402. package/dist/types/components/select-option/select-option.d.ts +42 -1
  403. package/dist/types/components.d.ts +74 -311
  404. package/dist/types/index.d.ts +1 -1
  405. package/dist/types/interface.d.ts +0 -1
  406. package/dist/types/utils/config.d.ts +0 -8
  407. package/dist/types/utils/overlay-control-label.d.ts +32 -0
  408. package/dist/types/utils/overlays.d.ts +11 -9
  409. package/dist/types/utils/sanitization/index.d.ts +58 -2
  410. package/dist/types/utils/select-option-render.d.ts +53 -0
  411. package/hydrate/index.js +1355 -1261
  412. package/hydrate/index.mjs +1355 -1261
  413. package/package.json +37 -5
  414. package/components/ion-picker-legacy-column.d.ts +0 -11
  415. package/components/ion-picker-legacy-column.js +0 -4
  416. package/components/ion-picker-legacy.d.ts +0 -11
  417. package/components/ion-picker-legacy.js +0 -4
  418. package/components/p-BIPPbW0M.js +0 -4
  419. package/components/p-BUYFy35a.js +0 -4
  420. package/components/p-BWEZufiK.js +0 -4
  421. package/components/p-BjfgFSSR.js +0 -4
  422. package/components/p-BqpciLfi.js +0 -4
  423. package/components/p-BsPelv04.js +0 -4
  424. package/components/p-BsQPAqo9.js +0 -4
  425. package/components/p-CRNiQiYf.js +0 -4
  426. package/components/p-CU5rbWAW.js +0 -4
  427. package/components/p-DOFCbuQR.js +0 -4
  428. package/components/p-W5nO8mX_.js +0 -4
  429. package/components/p-k_E4tX5Z.js +0 -4
  430. package/components/p-nyXeHk23.js +0 -4
  431. package/dist/cjs/config-xninhj0J.js +0 -201
  432. package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
  433. package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
  434. package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
  435. package/dist/collection/components/picker-legacy/picker.ios.css +0 -300
  436. package/dist/collection/components/picker-legacy/picker.js +0 -890
  437. package/dist/collection/components/picker-legacy/picker.md.css +0 -287
  438. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -231
  439. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
  440. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -222
  441. package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
  442. package/dist/esm/config-DQCONYYp.js +0 -195
  443. package/dist/ionic/p-01f81ea5.entry.js +0 -4
  444. package/dist/ionic/p-06c232a4.entry.js +0 -4
  445. package/dist/ionic/p-0dc33652.entry.js +0 -4
  446. package/dist/ionic/p-20b1a044.entry.js +0 -4
  447. package/dist/ionic/p-21eb76d5.entry.js +0 -4
  448. package/dist/ionic/p-27d30585.entry.js +0 -4
  449. package/dist/ionic/p-2a05aa64.entry.js +0 -4
  450. package/dist/ionic/p-2bb2cb18.entry.js +0 -4
  451. package/dist/ionic/p-485fda23.entry.js +0 -4
  452. package/dist/ionic/p-4baa5b82.entry.js +0 -4
  453. package/dist/ionic/p-5018dfc8.entry.js +0 -4
  454. package/dist/ionic/p-50e1194a.entry.js +0 -4
  455. package/dist/ionic/p-5eb8e86d.entry.js +0 -4
  456. package/dist/ionic/p-65ebdf1b.entry.js +0 -4
  457. package/dist/ionic/p-6ebdbebe.entry.js +0 -4
  458. package/dist/ionic/p-8fce95d5.entry.js +0 -4
  459. package/dist/ionic/p-9f9db3a2.entry.js +0 -4
  460. package/dist/ionic/p-D-3ycHmd.js +0 -4
  461. package/dist/ionic/p-DzWaWHGc.js +0 -4
  462. package/dist/ionic/p-Nqf6uvGh.js +0 -4
  463. package/dist/ionic/p-SNAkTDfm.js +0 -4
  464. package/dist/ionic/p-a21add2f.entry.js +0 -4
  465. package/dist/ionic/p-c0fb8edd.entry.js +0 -4
  466. package/dist/ionic/p-c38b648e.entry.js +0 -4
  467. package/dist/ionic/p-ca2ab74d.entry.js +0 -4
  468. package/dist/ionic/p-e6a4bb56.entry.js +0 -4
  469. package/dist/ionic/p-ec090e0a.entry.js +0 -4
  470. package/dist/ionic/p-f386f6ae.entry.js +0 -4
  471. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
  472. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
  473. package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
  474. package/dist/types/components/picker-legacy/picker.d.ts +0 -158
  475. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  476. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{p as t,H as i,e,h as s,d as n,t as o}from"./p-CHqRYvYm.js";import{f as r}from"./p-Baq1XyAy.js";import{a,h as p,b as c}from"./p-cyNmxje6.js";import{g as h}from"./p-DiVJyqlX.js";import{b as l}from"./p-DOFCbuQR.js";const d=t(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.ionPickerColChange=e(this,"ionPickerColChange",7),this.optHeight=0,this.rotateFactor=0,this.scaleFactor=1,this.velocity=0,this.y=0,this.noAnimate=!0,this.colDidChange=!1}colChanged(){this.colDidChange=!0}async connectedCallback(){let t=0,i=.81;"ios"===l(this)&&(t=-.46,i=1),this.rotateFactor=t,this.scaleFactor=i,this.gesture=(await import("./p-Cl0B-RWe.js")).createGesture({el:this.el,gestureName:"picker-swipe",gesturePriority:100,threshold:0,passive:!1,onStart:t=>this.onStart(t),onMove:t=>this.onMove(t),onEnd:t=>this.onEnd(t)}),this.gesture.enable(),this.tmrId=setTimeout((()=>{this.noAnimate=!1,this.refresh(!0)}),250)}componentDidLoad(){this.onDomChange()}componentDidUpdate(){this.colDidChange&&(this.onDomChange(!0,!1),this.colDidChange=!1)}disconnectedCallback(){void 0!==this.rafId&&cancelAnimationFrame(this.rafId),this.tmrId&&clearTimeout(this.tmrId),this.gesture&&(this.gesture.destroy(),this.gesture=void 0)}emitColChange(){this.ionPickerColChange.emit(this.col)}setSelected(t,i){const e=t>-1?-t*this.optHeight:0;this.velocity=0,void 0!==this.rafId&&cancelAnimationFrame(this.rafId),this.update(e,i,!0),this.emitColChange()}update(t,i,e){if(!this.optsEl)return;let s=0,n=0;const{col:o,rotateFactor:r}=this,p=o.selectedIndex,c=o.selectedIndex=this.indexForY(-t),h=0===i?"":i+"ms",l=`scale(${this.scaleFactor})`,d=this.optsEl.children;for(let e=0;e<d.length;e++){const a=d[e],p=o.options[e],m=e*this.optHeight+t;let k="";if(0!==r){const t=m*r;Math.abs(t)<=90?(s=0,n=90,k=`rotateX(${t}deg) `):s=-9999}else n=0,s=m;const x=c===e;k+=`translate3d(0px,${s}px,${n}px) `,1===this.scaleFactor||x||(k+=l),this.noAnimate?(p.duration=0,a.style.transitionDuration=""):i!==p.duration&&(p.duration=i,a.style.transitionDuration=h),k!==p.transform&&(p.transform=k),a.style.transform=k,p.selected=x,x?a.classList.add(f):a.classList.remove(f)}this.col.prevSelected=p,e&&(this.y=t),this.lastIndex!==c&&(a(),this.lastIndex=c)}decelerate(){if(0!==this.velocity){this.velocity*=m,this.velocity=this.velocity>0?Math.max(this.velocity,1):Math.min(this.velocity,-1);let t=this.y+this.velocity;t>this.minY?(t=this.minY,this.velocity=0):t<this.maxY&&(t=this.maxY,this.velocity=0),this.update(t,0,!0),Math.round(t)%this.optHeight!=0||Math.abs(this.velocity)>1?this.rafId=requestAnimationFrame((()=>this.decelerate())):(this.velocity=0,this.emitColChange(),p())}else if(this.y%this.optHeight!=0){const t=Math.abs(this.y%this.optHeight);this.velocity=t>this.optHeight/2?1:-1,this.decelerate()}}indexForY(t){return Math.min(Math.max(Math.abs(Math.round(t/this.optHeight)),0),this.col.options.length-1)}onStart(t){t.event.cancelable&&t.event.preventDefault(),t.event.stopPropagation(),c(),void 0!==this.rafId&&cancelAnimationFrame(this.rafId);const i=this.col.options;let e=i.length-1,s=0;for(let t=0;t<i.length;t++)i[t].disabled||(e=Math.min(e,t),s=Math.max(s,t));this.minY=-e*this.optHeight,this.maxY=-s*this.optHeight}onMove(t){t.event.cancelable&&t.event.preventDefault(),t.event.stopPropagation();let i=this.y+t.deltaY;i>this.minY?(i=Math.pow(i,.8),this.bounceFrom=i):i<this.maxY?(i+=Math.pow(this.maxY-i,.9),this.bounceFrom=i):this.bounceFrom=0,this.update(i,0,!1)}onEnd(t){if(this.bounceFrom>0)return this.update(this.minY,100,!0),void this.emitColChange();if(this.bounceFrom<0)return this.update(this.maxY,100,!0),void this.emitColChange();if(this.velocity=r(-k,23*t.velocityY,k),0===this.velocity&&0===t.deltaY){const i=t.event.target.closest(".picker-opt");(null==i?void 0:i.hasAttribute("opt-index"))&&this.setSelected(parseInt(i.getAttribute("opt-index"),10),x)}else{if(this.y+=t.deltaY,Math.abs(t.velocityY)<.05){const i=t.deltaY>0,e=Math.abs(this.y)%this.optHeight/this.optHeight;i&&e>.5?this.velocity=-1*Math.abs(this.velocity):!i&&e<=.5&&(this.velocity=Math.abs(this.velocity))}this.decelerate()}}refresh(t,i){var e;let s=this.col.options.length-1,n=0;const o=this.col.options;for(let t=0;t<o.length;t++)o[t].disabled||(s=Math.min(s,t),n=Math.max(n,t));if(0!==this.velocity)return;const a=r(s,null!==(e=this.col.selectedIndex)&&void 0!==e?e:0,n);if(this.col.prevSelected!==a||t){const t=a*this.optHeight*-1,e=i?x:0;this.velocity=0,this.update(t,e,!0)}}onDomChange(t,i){const e=this.optsEl;e&&(this.optHeight=e.firstElementChild?e.firstElementChild.clientHeight:0),this.refresh(t,i)}render(){const t=this.col,i=l(this);return s(n,{key:"86125e95f18837dfd021db01777d72a1562d8ee3",class:Object.assign({[i]:!0,"picker-col":!0,"picker-opts-left":"left"===this.col.align,"picker-opts-right":"right"===this.col.align},h(t.cssClass)),style:{"max-width":this.col.columnWidth}},t.prefix&&s("div",{key:"b0f3d39e0bd128781066ffefb7a1e40d12a9e76d",class:"picker-prefix",style:{width:t.prefixWidth}},t.prefix),s("div",{key:"0b106ac4d56916eaaa7f09d1b68348b3754b7bba",class:"picker-opts",style:{maxWidth:t.optionsWidth},ref:t=>this.optsEl=t},t.options.map(((t,i)=>s("button",{"aria-label":t.ariaLabel,class:{"picker-opt":!0,"picker-opt-disabled":!!t.disabled},"opt-index":i},t.text)))),t.suffix&&s("div",{key:"00ff2f9dbb4561787e5a5223327c6a2a33f8362e",class:"picker-suffix",style:{width:t.suffixWidth}},t.suffix))}get el(){return this}static get watchers(){return{col:[{colChanged:0}]}}static get style(){return{ios:".picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}.picker-opt{inset-inline-start:0}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:20px;line-height:42px;pointer-events:none}.picker-opt{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-transform-origin:center center;transform-origin:center center;height:46px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:20px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}:host-context([dir=rtl]) .picker-opt{-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}[dir=rtl] .picker-opt{-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}@supports selector(:dir(rtl)){.picker-opt:dir(rtl){-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}}",md:".picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}.picker-opt{inset-inline-start:0}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:22px;line-height:42px;pointer-events:none}.picker-opt{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;height:43px;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:22px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}.picker-prefix,.picker-suffix,.picker-opt.picker-opt-selected{color:var(--ion-color-primary, #0054e9)}"}}},[32,"ion-picker-legacy-column",{col:[16]},void 0,{col:[{colChanged:0}]}]),f="picker-opt-selected",m=.97,k=90,x=150;function g(){"undefined"!=typeof customElements&&["ion-picker-legacy-column"].forEach((t=>{"ion-picker-legacy-column"===t&&(customElements.get(o(t))||customElements.define(o(t),d))}))}export{d as P,g as d}
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{c as o,l as i,m as t,n,o as e,q as r,f as d}from"./p-CHqRYvYm.js";const a=o=>l(o),s=(o,i)=>("string"==typeof o&&(i=o,o=void 0),a(o).includes(i)),l=(o=window)=>{if(void 0===o)return[];o.Ionic=o.Ionic||{};let i=o.Ionic.platforms;return null==i&&(i=o.Ionic.platforms=c(o),i.forEach((i=>o.document.documentElement.classList.add(`plt-${i}`)))),i},c=i=>{const t=o.get("platform");return Object.keys(j).filter((o=>{const n=null==t?void 0:t[o];return"function"==typeof n?n(i):j[o](i)}))},u=o=>!!h(o,/iPad/i)||!(!h(o,/Macintosh/i)||!p(o)),m=o=>h(o,/android|sink/i),p=o=>w(o,"(any-pointer:coarse)"),v=o=>f(o)||b(o),f=o=>!!(o.cordova||o.phonegap||o.PhoneGap),b=o=>{const i=o.Capacitor;return!!((null==i?void 0:i.isNative)||(null==i?void 0:i.isNativePlatform)&&i.isNativePlatform())},h=(o,i)=>i.test(o.navigator.userAgent),w=(o,i)=>{var t;return null===(t=o.matchMedia)||void 0===t?void 0:t.call(o,i).matches},j={ipad:u,iphone:o=>h(o,/iPhone/i),ios:o=>h(o,/iPhone|iPod/i)||u(o),android:m,phablet:o=>{const i=o.innerWidth,t=o.innerHeight,n=Math.min(i,t),e=Math.max(i,t);return n>390&&n<520&&e>620&&e<800},tablet:o=>{const i=o.innerWidth,t=o.innerHeight,n=Math.min(i,t),e=Math.max(i,t);return u(o)||(o=>m(o)&&!h(o,/mobile/i))(o)||n>460&&n<820&&e>780&&e<1400},cordova:f,capacitor:b,electron:o=>h(o,/electron/i),pwa:o=>{var i;return!(!(null===(i=o.matchMedia)||void 0===i?void 0:i.call(o,"(display-mode: standalone)").matches)&&!o.navigator.standalone)},mobile:p,mobileweb:o=>p(o)&&!v(o),desktop:o=>!p(o),hybrid:v};let O;const y=o=>o&&e(o)||O,g=(e={})=>{if("undefined"==typeof window)return;const a=window.document,c=window,u=c.Ionic=c.Ionic||{},m=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},i(c)),{persistConfig:!1}),u.config),t(c)),e);o.reset(m),o.getBoolean("persistConfig")&&n(c,m),l(c),u.config=o,u.mode=O=o.get("mode",a.documentElement.getAttribute("mode")||(s(c,"ios")?"ios":"md")),o.set("mode",O),a.documentElement.setAttribute("mode",O),a.documentElement.classList.add(O),o.getBoolean("_testing")&&o.set("animated",!1);const p=o=>{var i;return null===(i=o.tagName)||void 0===i?void 0:i.startsWith("ION-")},v=o=>["ios","md"].includes(o);r((o=>{for(;o;){const i=o.mode||o.getAttribute("mode");if(i){if(v(i))return i;p(o)&&d('Invalid ionic mode: "'+i+'", expected: "ios" or "md"')}o=o.parentElement}return O}))};export{s as a,y as b,a as g,g as i}
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{m as a}from"./p-BnqQlm7c.js";const t=async t=>{const s=await a.get(t);return!(!s||!await s.isActive())};export{t as u}
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{j as t}from"./p-CHqRYvYm.js";const n=n=>{try{if(n instanceof c)return n.value;if(!r()||"string"!=typeof n||""===n)return n;if(n.includes("onload="))return"";const t=document.createDocumentFragment(),s=document.createElement("div");t.appendChild(s),s.innerHTML=n,i.forEach((n=>{const r=t.querySelectorAll(n);for(let n=r.length-1;n>=0;n--){const s=r[n];s.parentNode?s.parentNode.removeChild(s):t.removeChild(s);const i=e(s);for(let t=0;t<i.length;t++)o(i[t])}}));const a=e(t);for(let t=0;t<a.length;t++)o(a[t]);const d=document.createElement("div");d.appendChild(t);const l=d.querySelector("div");return null!==l?l.innerHTML:d.innerHTML}catch(n){return t("sanitizeDOMString",n),""}},o=t=>{if(t.nodeType&&1!==t.nodeType)return;if("undefined"!=typeof NamedNodeMap&&!(t.attributes instanceof NamedNodeMap))return void t.remove();for(let n=t.attributes.length-1;n>=0;n--){const o=t.attributes.item(n),e=o.name;if(!s.includes(e.toLowerCase())){t.removeAttribute(e);continue}const r=o.value,i=t[e];(null!=r&&r.toLowerCase().includes("javascript:")||null!=i&&i.toLowerCase().includes("javascript:"))&&t.removeAttribute(e)}const n=e(t);for(let t=0;t<n.length;t++)o(n[t])},e=t=>null!=t.children?t.children:t.childNodes,r=()=>{var t;const n=window,o=null===(t=null==n?void 0:n.Ionic)||void 0===t?void 0:t.config;return!o||(o.get?o.get("sanitizerEnabled",!0):!0===o.sanitizerEnabled||void 0===o.sanitizerEnabled)},s=["class","id","href","src","name","slot"],i=["script","style","iframe","meta","link","object","embed"];class c{constructor(t){this.value=t}}const a=t=>{const n=window,o=n.Ionic;if(!o||!o.config||"Object"===o.config.constructor.name)return n.Ionic=n.Ionic||{},n.Ionic.config=Object.assign(Object.assign({},n.Ionic.config),t),n.Ionic.config},d=()=>{var t;const n=window,o=null===(t=null==n?void 0:n.Ionic)||void 0===t?void 0:t.config;return o?o.mode?o.mode:o.get("mode"):"md"},l=!1;export{l as E,c as I,n as a,d as g,a as s}
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{p as o,H as e,h as i,i as t,d as n,t as s}from"./p-CHqRYvYm.js";import{b as c}from"./p-DOFCbuQR.js";import{s as r}from"./p-BWEZufiK.js";import{g as a}from"./p-DiVJyqlX.js";import{d as l}from"./p-BHrrc-3d.js";import{d}from"./p-j5IxBIan.js";import{d as m}from"./p-ryqmO0B-.js";import{d as b}from"./p-CI3ncNZm.js";import{d as p}from"./p-BirPFsRD.js";import{d as h}from"./p-DqLB8yFQ.js";import{d as u}from"./p-B60hm8Qv.js";import{d as f}from"./p-CSZf8_j0.js";import{d as k}from"./p-5bE_Wz4Y.js";import{d as g}from"./p-lE_JGpHD.js";import{d as v}from"./p-rCa2eL0j.js";import{d as y}from"./p-Cfx4M1Bn.js";import{d as x}from"./p-BLmJ0zRm.js";const j=o(class extends e{constructor(o){super(),!1!==o&&this.__registerHost(),this.pendingEnterTarget=null,this.cancelText="Close",this.options=[]}closeModal(){const o=this.el.closest("ion-modal");o&&o.dismiss()}findOptionFromEvent(o){const{options:e}=this;return e.find((e=>e.value===o.target.value))}getValues(o){const{multiple:e,options:i}=this;if(e)return i.filter((o=>o.checked)).map((o=>o.value));const t=o?this.findOptionFromEvent(o):null;return t?t.value:void 0}callOptionHandler(o){const e=this.findOptionFromEvent(o),i=this.getValues(o);(null==e?void 0:e.handler)&&r(e.handler,i)}setChecked(o){const{multiple:e}=this,i=this.findOptionFromEvent(o);e&&i&&(i.checked=o.detail.checked)}renderRadioOptions(){const o=this.options.filter((o=>o.checked)).map((o=>o.value))[0];return i("ion-radio-group",{value:o,onIonChange:o=>this.callOptionHandler(o)},this.options.map((e=>i("ion-item",{lines:"none",class:Object.assign({"item-radio-checked":e.value===o},a(e.cssClass))},i("ion-radio",{value:e.value,disabled:e.disabled,justify:"start",labelPlacement:"end",onClick:()=>this.closeModal(),onKeyDown:o=>{"Enter"!==o.key||o.repeat||(this.pendingEnterTarget=o.currentTarget)},onKeyUp:o=>{if(" "===o.key)this.closeModal();else if("Enter"===o.key){const e=this.pendingEnterTarget===o.currentTarget;this.pendingEnterTarget=null,e&&this.closeModal()}}},e.text)))))}renderCheckboxOptions(){return this.options.map((o=>i("ion-item",{class:Object.assign({"item-checkbox-checked":o.checked},a(o.cssClass))},i("ion-checkbox",{value:o.value,disabled:o.disabled,checked:o.checked,justify:"start",labelPlacement:"end",onIonChange:o=>{this.setChecked(o),this.callOptionHandler(o),t(this)}},o.text))))}render(){return i(n,{key:"fda0bf6f93cd5ec9f3c64f88a52de849e0e140a2",class:c(this)},i("ion-header",{key:"27c0b17175a53db9ff159feeeb96451a3f011dab"},i("ion-toolbar",{key:"91a4155ebc317fbc9f1bb3e26a7e94754b953c9b"},void 0!==this.header&&i("ion-title",{key:"f6dae8e4e381f322cc90efefd9bb6ef81d4d2f3e"},this.header),i("ion-buttons",{key:"e7760532fb2e7e7385ed6e62097d92d96ff20148",slot:"end"},i("ion-button",{key:"4999b6fc46cba138186546dca67b7950855e6fb7",onClick:()=>this.closeModal()},this.cancelText)))),i("ion-content",{key:"c73f80a4bc25b9061ea65cf11e5d811c1a4d8704"},i("ion-list",{key:"b21905d15b36ad5eb45845e768918d2763cf48b1"},!0===this.multiple?this.renderCheckboxOptions():this.renderRadioOptions())))}get el(){return this}static get style(){return{ionic:'.sc-ion-select-modal-ionic-h{height:100%}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(container),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~="container"]{display:none}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(label),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~="label"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-modal-ionic{--inner-border-width:0}.item-radio-checked.sc-ion-select-modal-ionic{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-modal-ionic{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}',ios:'.sc-ion-select-modal-ios-h{height:100%}ion-item.sc-ion-select-modal-ios{--inner-padding-end:0}ion-radio.sc-ion-select-modal-ios::after{bottom:0;position:absolute;width:calc(100% - 0.9375rem - 16px);border-width:0px 0px 0.55px 0px;border-style:solid;border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));content:""}ion-radio.sc-ion-select-modal-ios::after{inset-inline-start:calc(0.9375rem + 16px)}',md:'.sc-ion-select-modal-md-h{height:100%}ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md::part(container),ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md [part~="container"]{display:none}ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md::part(label),ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md [part~="label"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-modal-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-modal-md{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-modal-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}'}}},[34,"ion-select-modal",{header:[1],cancelText:[1,"cancel-text"],multiple:[4],options:[16]}]);function E(){"undefined"!=typeof customElements&&["ion-select-modal","ion-button","ion-buttons","ion-checkbox","ion-content","ion-header","ion-icon","ion-item","ion-list","ion-radio","ion-radio-group","ion-ripple-effect","ion-title","ion-toolbar"].forEach((o=>{switch(o){case"ion-select-modal":customElements.get(s(o))||customElements.define(s(o),j);break;case"ion-button":customElements.get(s(o))||l();break;case"ion-buttons":customElements.get(s(o))||d();break;case"ion-checkbox":customElements.get(s(o))||m();break;case"ion-content":customElements.get(s(o))||b();break;case"ion-header":customElements.get(s(o))||p();break;case"ion-icon":customElements.get(s(o))||h();break;case"ion-item":customElements.get(s(o))||u();break;case"ion-list":customElements.get(s(o))||f();break;case"ion-radio":customElements.get(s(o))||k();break;case"ion-radio-group":customElements.get(s(o))||g();break;case"ion-ripple-effect":customElements.get(s(o))||v();break;case"ion-title":customElements.get(s(o))||y();break;case"ion-toolbar":customElements.get(s(o))||x()}}))}export{j as S,E as d}
@@ -1,201 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- 'use strict';
5
-
6
- var index = require('./index-Ct7gcRif.js');
7
-
8
- /**
9
- * Does a simple sanitization of all elements
10
- * in an untrusted string
11
- */
12
- const sanitizeDOMString = (untrustedString) => {
13
- try {
14
- if (untrustedString instanceof IonicSafeString) {
15
- return untrustedString.value;
16
- }
17
- if (!isSanitizerEnabled() || typeof untrustedString !== 'string' || untrustedString === '') {
18
- return untrustedString;
19
- }
20
- /**
21
- * onload is fired when appending to a document
22
- * fragment in Chrome. If a string
23
- * contains onload then we should not
24
- * attempt to add this to the fragment.
25
- */
26
- if (untrustedString.includes('onload=')) {
27
- return '';
28
- }
29
- /**
30
- * Create a document fragment
31
- * separate from the main DOM,
32
- * create a div to do our work in
33
- */
34
- const documentFragment = document.createDocumentFragment();
35
- const workingDiv = document.createElement('div');
36
- documentFragment.appendChild(workingDiv);
37
- workingDiv.innerHTML = untrustedString;
38
- /**
39
- * Remove any elements
40
- * that are blocked
41
- */
42
- blockedTags.forEach((blockedTag) => {
43
- const getElementsToRemove = documentFragment.querySelectorAll(blockedTag);
44
- for (let elementIndex = getElementsToRemove.length - 1; elementIndex >= 0; elementIndex--) {
45
- const element = getElementsToRemove[elementIndex];
46
- if (element.parentNode) {
47
- element.parentNode.removeChild(element);
48
- }
49
- else {
50
- documentFragment.removeChild(element);
51
- }
52
- /**
53
- * We still need to sanitize
54
- * the children of this element
55
- * as they are left behind
56
- */
57
- const childElements = getElementChildren(element);
58
- /* eslint-disable-next-line */
59
- for (let childIndex = 0; childIndex < childElements.length; childIndex++) {
60
- sanitizeElement(childElements[childIndex]);
61
- }
62
- }
63
- });
64
- /**
65
- * Go through remaining elements and remove
66
- * non-allowed attribs
67
- */
68
- // IE does not support .children on document fragments, only .childNodes
69
- const dfChildren = getElementChildren(documentFragment);
70
- /* eslint-disable-next-line */
71
- for (let childIndex = 0; childIndex < dfChildren.length; childIndex++) {
72
- sanitizeElement(dfChildren[childIndex]);
73
- }
74
- // Append document fragment to div
75
- const fragmentDiv = document.createElement('div');
76
- fragmentDiv.appendChild(documentFragment);
77
- // First child is always the div we did our work in
78
- const getInnerDiv = fragmentDiv.querySelector('div');
79
- return getInnerDiv !== null ? getInnerDiv.innerHTML : fragmentDiv.innerHTML;
80
- }
81
- catch (err) {
82
- index.printIonError('sanitizeDOMString', err);
83
- return '';
84
- }
85
- };
86
- /**
87
- * Clean up current element based on allowed attributes
88
- * and then recursively dig down into any child elements to
89
- * clean those up as well
90
- */
91
- // TODO(FW-2832): type (using Element triggers other type errors as well)
92
- const sanitizeElement = (element) => {
93
- // IE uses childNodes, so ignore nodes that are not elements
94
- if (element.nodeType && element.nodeType !== 1) {
95
- return;
96
- }
97
- /**
98
- * If attributes is not a NamedNodeMap
99
- * then we should remove the element entirely.
100
- * This helps avoid DOM Clobbering attacks where
101
- * attributes is overridden.
102
- */
103
- if (typeof NamedNodeMap !== 'undefined' && !(element.attributes instanceof NamedNodeMap)) {
104
- element.remove();
105
- return;
106
- }
107
- for (let i = element.attributes.length - 1; i >= 0; i--) {
108
- const attribute = element.attributes.item(i);
109
- const attributeName = attribute.name;
110
- // remove non-allowed attribs
111
- if (!allowedAttributes.includes(attributeName.toLowerCase())) {
112
- element.removeAttribute(attributeName);
113
- continue;
114
- }
115
- // clean up any allowed attribs
116
- // that attempt to do any JS funny-business
117
- const attributeValue = attribute.value;
118
- /**
119
- * We also need to check the property value
120
- * as javascript: can allow special characters
121
- * such as &Tab; and still be valid (i.e. java&Tab;script)
122
- */
123
- const propertyValue = element[attributeName];
124
- /* eslint-disable */
125
- if ((attributeValue != null && attributeValue.toLowerCase().includes('javascript:')) ||
126
- (propertyValue != null && propertyValue.toLowerCase().includes('javascript:'))) {
127
- element.removeAttribute(attributeName);
128
- }
129
- /* eslint-enable */
130
- }
131
- /**
132
- * Sanitize any nested children
133
- */
134
- const childElements = getElementChildren(element);
135
- /* eslint-disable-next-line */
136
- for (let i = 0; i < childElements.length; i++) {
137
- sanitizeElement(childElements[i]);
138
- }
139
- };
140
- /**
141
- * IE doesn't always support .children
142
- * so we revert to .childNodes instead
143
- */
144
- // TODO(FW-2832): type
145
- const getElementChildren = (el) => {
146
- return el.children != null ? el.children : el.childNodes;
147
- };
148
- const isSanitizerEnabled = () => {
149
- var _a;
150
- const win = window;
151
- const config = (_a = win === null || win === void 0 ? void 0 : win.Ionic) === null || _a === void 0 ? void 0 : _a.config;
152
- if (config) {
153
- if (config.get) {
154
- return config.get('sanitizerEnabled', true);
155
- }
156
- else {
157
- return config.sanitizerEnabled === true || config.sanitizerEnabled === undefined;
158
- }
159
- }
160
- return true;
161
- };
162
- const allowedAttributes = ['class', 'id', 'href', 'src', 'name', 'slot'];
163
- const blockedTags = ['script', 'style', 'iframe', 'meta', 'link', 'object', 'embed'];
164
- class IonicSafeString {
165
- constructor(value) {
166
- this.value = value;
167
- }
168
- }
169
-
170
- const setupConfig = (config) => {
171
- const win = window;
172
- const Ionic = win.Ionic;
173
- // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
174
- if (Ionic && Ionic.config && Ionic.config.constructor.name !== 'Object') {
175
- return;
176
- }
177
- win.Ionic = win.Ionic || {};
178
- win.Ionic.config = Object.assign(Object.assign({}, win.Ionic.config), config);
179
- return win.Ionic.config;
180
- };
181
- const getMode = () => {
182
- var _a;
183
- const win = window;
184
- const config = (_a = win === null || win === void 0 ? void 0 : win.Ionic) === null || _a === void 0 ? void 0 : _a.config;
185
- if (config) {
186
- if (config.mode) {
187
- return config.mode;
188
- }
189
- else {
190
- return config.get('mode');
191
- }
192
- }
193
- return 'md';
194
- };
195
- const ENABLE_HTML_CONTENT_DEFAULT = false;
196
-
197
- exports.ENABLE_HTML_CONTENT_DEFAULT = ENABLE_HTML_CONTENT_DEFAULT;
198
- exports.IonicSafeString = IonicSafeString;
199
- exports.getMode = getMode;
200
- exports.sanitizeDOMString = sanitizeDOMString;
201
- exports.setupConfig = setupConfig;
@@ -1,27 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { createAnimation } from "../../../utils/animation/animation";
5
- /**
6
- * iOS Picker Enter Animation
7
- */
8
- export const iosEnterAnimation = (baseEl) => {
9
- const baseAnimation = createAnimation();
10
- const backdropAnimation = createAnimation();
11
- const wrapperAnimation = createAnimation();
12
- backdropAnimation
13
- .addElement(baseEl.querySelector('ion-backdrop'))
14
- .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
15
- .beforeStyles({
16
- 'pointer-events': 'none',
17
- })
18
- .afterClearStyles(['pointer-events']);
19
- wrapperAnimation
20
- .addElement(baseEl.querySelector('.picker-wrapper'))
21
- .fromTo('transform', 'translateY(100%)', 'translateY(0%)');
22
- return baseAnimation
23
- .addElement(baseEl)
24
- .easing('cubic-bezier(.36,.66,.04,1)')
25
- .duration(400)
26
- .addAnimation([backdropAnimation, wrapperAnimation]);
27
- };
@@ -1,23 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { createAnimation } from "../../../utils/animation/animation";
5
- /**
6
- * iOS Picker Leave Animation
7
- */
8
- export const iosLeaveAnimation = (baseEl) => {
9
- const baseAnimation = createAnimation();
10
- const backdropAnimation = createAnimation();
11
- const wrapperAnimation = createAnimation();
12
- backdropAnimation
13
- .addElement(baseEl.querySelector('ion-backdrop'))
14
- .fromTo('opacity', 'var(--backdrop-opacity)', 0.01);
15
- wrapperAnimation
16
- .addElement(baseEl.querySelector('.picker-wrapper'))
17
- .fromTo('transform', 'translateY(0%)', 'translateY(100%)');
18
- return baseAnimation
19
- .addElement(baseEl)
20
- .easing('cubic-bezier(.36,.66,.04,1)')
21
- .duration(400)
22
- .addAnimation([backdropAnimation, wrapperAnimation]);
23
- };
@@ -1,300 +0,0 @@
1
- /**
2
- * Convert a font size to a dynamic font size.
3
- * Fonts that participate in Dynamic Type should use
4
- * dynamic font sizes.
5
- * @param size - The initial font size including the unit (i.e. px or pt)
6
- * @param unit (optional) - The unit to convert to. Use this if you want to
7
- * convert to a unit other than $baselineUnit.
8
- */
9
- /**
10
- * Convert a font size to a dynamic font size but impose
11
- * a maximum font size.
12
- * @param size - The initial font size including the unit (i.e. px or pt)
13
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
14
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
15
- * convert to a unit other than $baselineUnit.
16
- */
17
- /**
18
- * Convert a font size to a dynamic font size but impose
19
- * a minimum font size.
20
- * @param size - The initial font size including the unit (i.e. px or pt)
21
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
22
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
23
- * convert to a unit other than $baselineUnit.
24
- */
25
- /**
26
- * Convert a font size to a dynamic font size but impose
27
- * maximum and minimum font sizes.
28
- * @param size - The initial font size including the unit (i.e. px or pt)
29
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
30
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
31
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
32
- * convert to a unit other than $baselineUnit.
33
- */
34
- /**
35
- * A heuristic that applies CSS to tablet
36
- * viewports.
37
- *
38
- * Usage:
39
- * @include tablet-viewport() {
40
- * :host {
41
- * background-color: green;
42
- * }
43
- * }
44
- */
45
- /**
46
- * A heuristic that applies CSS to mobile
47
- * viewports (i.e. phones, not tablets).
48
- *
49
- * Usage:
50
- * @include mobile-viewport() {
51
- * :host {
52
- * background-color: blue;
53
- * }
54
- * }
55
- */
56
- :host {
57
- /**
58
- * @prop --background: Background of the picker
59
- * @prop --background-rgb: Background of the picker in rgb format
60
- *
61
- * @prop --border-radius: Border radius of the picker
62
- * @prop --border-color: Border color of the picker
63
- * @prop --border-width: Border width of the picker
64
- * @prop --border-style: Border style of the picker
65
- *
66
- * @prop --min-width: Minimum width of the picker
67
- * @prop --width: Width of the picker
68
- * @prop --max-width: Maximum width of the picker
69
- *
70
- * @prop --min-height: Minimum height of the picker
71
- * @prop --height: Height of the picker
72
- * @prop --max-height: Maximum height of the picker
73
- *
74
- * @prop --backdrop-opacity: Opacity of the backdrop
75
- */
76
- --border-radius: 0;
77
- --border-style: solid;
78
- --min-width: auto;
79
- --width: 100%;
80
- --max-width: 500px;
81
- --min-height: auto;
82
- --max-height: auto;
83
- -moz-osx-font-smoothing: grayscale;
84
- -webkit-font-smoothing: antialiased;
85
- top: 0;
86
- display: block;
87
- position: absolute;
88
- width: 100%;
89
- height: 100%;
90
- outline: none;
91
- font-family: var(--ion-font-family, inherit);
92
- contain: strict;
93
- user-select: none;
94
- z-index: 1001;
95
- }
96
- :host {
97
- inset-inline-start: 0;
98
- }
99
-
100
- :host(.overlay-hidden) {
101
- display: none;
102
- }
103
-
104
- .picker-wrapper {
105
- border-radius: var(--border-radius);
106
- left: 0;
107
- right: 0;
108
- bottom: 0;
109
- -webkit-margin-start: auto;
110
- margin-inline-start: auto;
111
- -webkit-margin-end: auto;
112
- margin-inline-end: auto;
113
- margin-top: auto;
114
- margin-bottom: auto;
115
- transform: translate3d(0, 100%, 0);
116
- display: flex;
117
- position: absolute;
118
- flex-direction: column;
119
- width: var(--width);
120
- min-width: var(--min-width);
121
- max-width: var(--max-width);
122
- height: var(--height);
123
- min-height: var(--min-height);
124
- max-height: var(--max-height);
125
- border-width: var(--border-width);
126
- border-style: var(--border-style);
127
- border-color: var(--border-color);
128
- background: var(--background);
129
- contain: strict;
130
- overflow: hidden;
131
- z-index: 10;
132
- }
133
-
134
- .picker-toolbar {
135
- width: 100%;
136
- background: transparent;
137
- contain: strict;
138
- z-index: 1;
139
- }
140
-
141
- .picker-button {
142
- border: 0;
143
- font-family: inherit;
144
- }
145
-
146
- .picker-button:active, .picker-button:focus {
147
- outline: none;
148
- }
149
-
150
- .picker-columns {
151
- display: flex;
152
- position: relative;
153
- justify-content: center;
154
- margin-bottom: var(--ion-safe-area-bottom, 0);
155
- contain: strict;
156
- overflow: hidden;
157
- }
158
-
159
- .picker-above-highlight,
160
- .picker-below-highlight {
161
- display: none;
162
- pointer-events: none;
163
- }
164
-
165
- /**
166
- * Convert a font size to a dynamic font size.
167
- * Fonts that participate in Dynamic Type should use
168
- * dynamic font sizes.
169
- * @param size - The initial font size including the unit (i.e. px or pt)
170
- * @param unit (optional) - The unit to convert to. Use this if you want to
171
- * convert to a unit other than $baselineUnit.
172
- */
173
- /**
174
- * Convert a font size to a dynamic font size but impose
175
- * a maximum font size.
176
- * @param size - The initial font size including the unit (i.e. px or pt)
177
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
178
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
179
- * convert to a unit other than $baselineUnit.
180
- */
181
- /**
182
- * Convert a font size to a dynamic font size but impose
183
- * a minimum font size.
184
- * @param size - The initial font size including the unit (i.e. px or pt)
185
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
186
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
187
- * convert to a unit other than $baselineUnit.
188
- */
189
- /**
190
- * Convert a font size to a dynamic font size but impose
191
- * maximum and minimum font sizes.
192
- * @param size - The initial font size including the unit (i.e. px or pt)
193
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
194
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
195
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
196
- * convert to a unit other than $baselineUnit.
197
- */
198
- /**
199
- * A heuristic that applies CSS to tablet
200
- * viewports.
201
- *
202
- * Usage:
203
- * @include tablet-viewport() {
204
- * :host {
205
- * background-color: green;
206
- * }
207
- * }
208
- */
209
- /**
210
- * A heuristic that applies CSS to mobile
211
- * viewports (i.e. phones, not tablets).
212
- *
213
- * Usage:
214
- * @include mobile-viewport() {
215
- * :host {
216
- * background-color: blue;
217
- * }
218
- * }
219
- */
220
- :host {
221
- --background: var(--ion-background-color, #fff);
222
- --border-width: 1px 0 0;
223
- --border-color: var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));
224
- --height: 260px;
225
- --backdrop-opacity: var(--ion-backdrop-opacity, 0.26);
226
- color: var(--ion-item-color, var(--ion-text-color, #000));
227
- }
228
-
229
- .picker-toolbar {
230
- display: flex;
231
- height: 44px;
232
- border-bottom: 0.55px solid var(--border-color);
233
- }
234
-
235
- .picker-toolbar-button {
236
- flex: 1;
237
- text-align: end;
238
- }
239
-
240
- .picker-toolbar-button:last-child .picker-button {
241
- font-weight: 600;
242
- }
243
-
244
- .picker-toolbar-button:first-child {
245
- font-weight: normal;
246
- text-align: start;
247
- }
248
-
249
- .picker-button,
250
- .picker-button.ion-activated {
251
- margin-left: 0;
252
- margin-right: 0;
253
- margin-top: 0;
254
- margin-bottom: 0;
255
- -webkit-padding-start: 1em;
256
- padding-inline-start: 1em;
257
- -webkit-padding-end: 1em;
258
- padding-inline-end: 1em;
259
- padding-top: 0;
260
- padding-bottom: 0;
261
- height: 44px;
262
- background: transparent;
263
- color: var(--ion-color-primary, #0054e9);
264
- font-size: 16px;
265
- }
266
-
267
- .picker-columns {
268
- height: 215px;
269
- perspective: 1000px;
270
- }
271
-
272
- .picker-above-highlight {
273
- top: 0;
274
- transform: translate3d(0, 0, 90px);
275
- display: block;
276
- position: absolute;
277
- width: 100%;
278
- height: 81px;
279
- border-bottom: 1px solid var(--border-color);
280
- background: linear-gradient(to bottom, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);
281
- z-index: 10;
282
- }
283
- .picker-above-highlight {
284
- inset-inline-start: 0;
285
- }
286
-
287
- .picker-below-highlight {
288
- top: 115px;
289
- transform: translate3d(0, 0, 90px);
290
- display: block;
291
- position: absolute;
292
- width: 100%;
293
- height: 119px;
294
- border-top: 1px solid var(--border-color);
295
- background: linear-gradient(to top, var(--background, var(--ion-background-color, #fff)) 30%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);
296
- z-index: 11;
297
- }
298
- .picker-below-highlight {
299
- inset-inline-start: 0;
300
- }